From edc06080abc347c8f6402940b5c6b45d66f869fa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 May 2025 06:30:59 +0000 Subject: [PATCH 1/8] Initial plan for issue From d8c6e9e4cbabd64794048dd26e0e1ed4302dcaa5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 May 2025 06:37:02 +0000 Subject: [PATCH 2/8] Initial planning for selective variable collection and mode import Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- yarn.lock | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index b5e6d6bbf..34b41fc69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3415,19 +3415,7 @@ dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-dismissable-layer@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz#883a48f5f938fa679427aa17fcba70c5494c6978" - integrity sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-escape-keydown" "1.0.3" - -"@radix-ui/react-dismissable-layer@1.0.5": +"@radix-ui/react-dismissable-layer@1.0.4", "@radix-ui/react-dismissable-layer@1.0.5": version "1.0.5" resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz" integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== @@ -18573,7 +18561,7 @@ react-window@^1.8.8: "@babel/runtime" "^7.0.0" memoize-one ">=3.1.1 <6" -react@^18.2.0: +react@^18, react@^18.2.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== From 6f7f92bce581ec4ed79b12890206be256308f7a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 May 2025 06:44:59 +0000 Subject: [PATCH 3/8] Implement selective variable collection and mode import functionality Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- .../app/components/ImportVariablesDialog.tsx | 177 ++++++++++++++++++ .../src/app/components/StylesDropdown.tsx | 33 +++- .../src/app/hooks/useImportVariables.tsx | 66 +++++++ .../src/app/store/useTokens.tsx | 25 +-- .../getAvailableVariableCollections.ts | 25 +++ .../src/plugin/asyncMessageHandlers/index.ts | 1 + .../src/plugin/controller.ts | 1 + .../src/plugin/pullVariables.ts | 57 ++++++ .../src/types/AsyncMessages.ts | 10 + .../src/types/PullVariablesOptions.ts | 3 + .../src/types/VariableCollectionSelection.ts | 15 ++ .../src/types/index.ts | 1 + 12 files changed, 389 insertions(+), 25 deletions(-) create mode 100644 packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx create mode 100644 packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx create mode 100644 packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts create mode 100644 packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts diff --git a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx new file mode 100644 index 000000000..3026a7b76 --- /dev/null +++ b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx @@ -0,0 +1,177 @@ +import React, { useState, useCallback, useEffect } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Button, Checkbox, Stack, Heading } from '@tokens-studio/ui'; +import Modal from './Modal'; +import Box from './Box'; +import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection'; + +type Props = { + isOpen: boolean; + onClose: () => void; + onConfirm: (selectedCollections: SelectedCollections, options: { useDimensions: boolean; useRem: boolean }) => void; + collections: VariableCollectionInfo[]; +}; + +export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, collections }: Props) { + const { t } = useTranslation(); + const [selectedCollections, setSelectedCollections] = useState({}); + const [useDimensions, setUseDimensions] = useState(false); + const [useRem, setUseRem] = useState(false); + + // Initialize all collections as selected with all modes selected by default + useEffect(() => { + if (collections.length > 0) { + const initialSelection: SelectedCollections = {}; + collections.forEach((collection) => { + initialSelection[collection.id] = { + name: collection.name, + selectedModes: collection.modes.map((mode) => mode.modeId), + }; + }); + setSelectedCollections(initialSelection); + } + }, [collections]); + + const handleCollectionToggle = useCallback((collectionId: string, collectionName: string, modes: { modeId: string; name: string }[]) => { + setSelectedCollections((prev) => { + const isCurrentlySelected = prev[collectionId]; + if (isCurrentlySelected) { + // Remove collection + const newSelection = { ...prev }; + delete newSelection[collectionId]; + return newSelection; + } else { + // Add collection with all modes selected + return { + ...prev, + [collectionId]: { + name: collectionName, + selectedModes: modes.map((mode) => mode.modeId), + }, + }; + } + }); + }, []); + + const handleModeToggle = useCallback((collectionId: string, modeId: string) => { + setSelectedCollections((prev) => { + const collection = prev[collectionId]; + if (!collection) return prev; + + const isCurrentlySelected = collection.selectedModes.includes(modeId); + const newSelectedModes = isCurrentlySelected + ? collection.selectedModes.filter((id) => id !== modeId) + : [...collection.selectedModes, modeId]; + + // If no modes are selected, remove the collection entirely + if (newSelectedModes.length === 0) { + const newSelection = { ...prev }; + delete newSelection[collectionId]; + return newSelection; + } + + return { + ...prev, + [collectionId]: { + ...collection, + selectedModes: newSelectedModes, + }, + }; + }); + }, []); + + const handleConfirm = useCallback(() => { + onConfirm(selectedCollections, { useDimensions, useRem }); + }, [selectedCollections, useDimensions, useRem, onConfirm]); + + const hasSelections = Object.keys(selectedCollections).length > 0; + + return ( + + + + + )} + > + + + Select which variable collections and modes to import. Sets will be created for each selected mode. + + + {/* Options */} + + Options + setUseDimensions(checked === true)} + id="useDimensions" + > + Convert numbers to dimensions + + setUseRem(checked === true)} + id="useRem" + > + Use rem for dimension values + + + + {/* Collections */} + + Variable Collections + {collections.map((collection) => { + const isCollectionSelected = !!selectedCollections[collection.id]; + const selectedModes = selectedCollections[collection.id]?.selectedModes || []; + const allModesSelected = isCollectionSelected && selectedModes.length === collection.modes.length; + + return ( + + + handleCollectionToggle(collection.id, collection.name, collection.modes)} + id={`collection-${collection.id}`} + > + {collection.name} + + + {isCollectionSelected && ( + + {collection.modes.map((mode) => ( + handleModeToggle(collection.id, mode.modeId)} + id={`mode-${collection.id}-${mode.modeId}`} + > + {mode.name} + + ))} + + )} + + + ); + })} + + + {!hasSelections && ( + + Please select at least one collection and mode to import. + + )} + + + ); +} \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx b/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx index 4309f10c0..2fff1afb1 100644 --- a/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx +++ b/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx @@ -4,23 +4,44 @@ import { useTranslation } from 'react-i18next'; import { DropdownMenu, Button } from '@tokens-studio/ui'; import useTokens from '../store/useTokens'; -import { activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors'; +import { activeTokenSetReadOnlySelector, editProhibitedSelector, themesListSelector } from '@/selectors'; import ManageStylesAndVariables from './ManageStylesAndVariables/ManageStylesAndVariables'; +import ImportVariablesDialog from './ImportVariablesDialog'; +import { useImportVariables } from '../hooks/useImportVariables'; +import { useIsProUser } from '../hooks/useIsProUser'; export default function StylesDropdown() { const editProhibited = useSelector(editProhibitedSelector); const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector); + const themes = useSelector(themesListSelector); + const proUser = useIsProUser(); const importDisabled = editProhibited || activeTokenSetReadOnly; - const { pullStyles, pullVariables } = useTokens(); + const { pullStyles } = useTokens(); const { t } = useTranslation(['tokens']); const [showModal, setShowModal] = React.useState(false); + const { + isDialogOpen, + collections, + isLoading, + openDialog, + closeDialog, + importVariables, + } = useImportVariables(); const handleOpenModal = useCallback(() => { setShowModal(true); }, [setShowModal]); + const handleImportVariables = useCallback(() => { + openDialog(); + }, [openDialog]); + + const handleConfirmImport = useCallback((selectedCollections, options) => { + importVariables(selectedCollections, options, themes, proUser); + }, [importVariables, themes, proUser]); + return ( <> @@ -33,12 +54,18 @@ export default function StylesDropdown() { {t('exportStylesAndVariables')} - {t('importVariables')} + {t('importVariables')} {t('importStyles')} {showModal && } + ); } diff --git a/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx b/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx new file mode 100644 index 000000000..87a556ac7 --- /dev/null +++ b/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx @@ -0,0 +1,66 @@ +import { useState, useCallback } from 'react'; +import { AsyncMessageChannel } from '@/AsyncMessageChannel'; +import { AsyncMessageTypes } from '@/types/AsyncMessages'; +import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection'; +import { ThemeObjectsList } from '@/types/ThemeObjectsList'; + +export function useImportVariables() { + const [isDialogOpen, setIsDialogOpen] = useState(false); + const [collections, setCollections] = useState([]); + const [isLoading, setIsLoading] = useState(false); + + const openDialog = useCallback(async () => { + setIsLoading(true); + try { + // Fetch available collections first + const response = await AsyncMessageChannel.ReactInstance.message({ + type: AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, + }); + + setCollections(response.collections); + setIsDialogOpen(true); + } catch (error) { + console.error('Error fetching variable collections:', error); + setCollections([]); + } finally { + setIsLoading(false); + } + }, []); + + const closeDialog = useCallback(() => { + setIsDialogOpen(false); + setCollections([]); + }, []); + + const importVariables = useCallback(async ( + selectedCollections: SelectedCollections, + options: { useDimensions: boolean; useRem: boolean }, + themes: ThemeObjectsList, + proUser: boolean + ) => { + try { + await AsyncMessageChannel.ReactInstance.message({ + type: AsyncMessageTypes.PULL_VARIABLES, + options: { + useDimensions: options.useDimensions, + useRem: options.useRem, + selectedCollections, + }, + themes, + proUser, + }); + closeDialog(); + } catch (error) { + console.error('Error importing variables:', error); + } + }, [closeDialog]); + + return { + isDialogOpen, + collections, + isLoading, + openDialog, + closeDialog, + importVariables, + }; +} \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx b/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx index d60092d01..0aa58e6a9 100644 --- a/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx +++ b/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx @@ -190,28 +190,9 @@ export default function useTokens() { }, [confirm]); const pullVariables = useCallback(async () => { - const userDecision = await confirm({ - text: 'Import variables', - description: 'Sets will be created for each variable mode.', - choices: [ - { key: 'useDimensions', label: 'Convert numbers to dimensions', enabled: false }, - { key: 'useRem', label: 'Use rem for dimension values', enabled: false }, - ], - confirmAction: 'Import', - }); - - if (userDecision) { - AsyncMessageChannel.ReactInstance.message({ - type: AsyncMessageTypes.PULL_VARIABLES, - options: { - useDimensions: userDecision.data.includes('useDimensions'), - useRem: userDecision.data.includes('useRem'), - }, - themes, - proUser, - }); - } - }, [confirm, themes, proUser]); + // This will be handled by the ImportVariablesDialog component + // The dialog will be opened by the component using the useImportVariables hook + }, []); const removeTokensByValue = useCallback((data: RemoveTokensByValueData) => { track('removeTokensByValue', { count: data.length }); diff --git a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts new file mode 100644 index 000000000..d742963cc --- /dev/null +++ b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts @@ -0,0 +1,25 @@ +import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel'; +import { AsyncMessageTypes } from '@/types/AsyncMessages'; +import type { VariableCollectionInfo } from '@/types/VariableCollectionSelection'; + +export const getAvailableVariableCollections: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS] = async (): Promise<{ + collections: VariableCollectionInfo[] +}> => { + try { + const allCollections = await figma.variables.getLocalVariableCollectionsAsync(); + + const collections: VariableCollectionInfo[] = allCollections.map((collection) => ({ + id: collection.id, + name: collection.name, + modes: collection.modes.map((mode) => ({ + modeId: mode.modeId, + name: mode.name, + })), + })); + + return { collections }; + } catch (error) { + console.error('Error getting variable collections:', error); + return { collections: [] }; + } +}; \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts index 1b2a858c5..81a421160 100644 --- a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts +++ b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts @@ -31,6 +31,7 @@ export * from './removeStyles'; export * from './setAuthData'; export * from './setNoneValuesOnNode'; export * from './getFigmaFonts'; +export * from './getAvailableVariableCollections'; export * from './setUsedEmail'; export * from './createLocalVariables'; export * from './createLocalVariablesWithoutModes'; diff --git a/packages/tokens-studio-for-figma/src/plugin/controller.ts b/packages/tokens-studio-for-figma/src/plugin/controller.ts index 76a811838..f611c2b24 100644 --- a/packages/tokens-studio-for-figma/src/plugin/controller.ts +++ b/packages/tokens-studio-for-figma/src/plugin/controller.ts @@ -60,6 +60,7 @@ AsyncMessageChannel.PluginInstance.handle( AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESOLVE_STYLE_INFO, asyncHandlers.resolveStyleInfo); AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_NONE_VALUES_ON_NODE, asyncHandlers.setNoneValuesOnNode); AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GET_FIGMA_FONTS, asyncHandlers.getFigmaFonts); +AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, asyncHandlers.getAvailableVariableCollections); AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, asyncHandlers.removeStylesWithoutConnection); AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_AUTH_DATA, asyncHandlers.setAuthData); AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_LOCAL_VARIABLES, asyncHandlers.createLocalVariables); diff --git a/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts b/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts index f2baf8d33..a0cf4f9fa 100644 --- a/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts +++ b/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts @@ -56,6 +56,15 @@ export default async function pullVariables(options: PullVariablesOptions, theme collectionsCache.set(variable.variableCollectionId, collection); } } + + // Filter collections and modes based on selectedCollections option + if (options.selectedCollections && collection) { + const selectedCollection = options.selectedCollections[collection.id]; + if (!selectedCollection) { + continue; // Skip this collection if it's not selected + } + } + if (collection) { collections.set(collection.name, collection); } @@ -65,6 +74,14 @@ export default async function pullVariables(options: PullVariablesOptions, theme switch (variable.resolvedType) { case 'COLOR': Object.entries(variable.valuesByMode).forEach(([mode, value]) => { + // Filter modes based on selectedCollections option + if (options.selectedCollections && collection) { + const selectedCollection = options.selectedCollections[collection.id]; + if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) { + return; // Skip this mode if it's not selected + } + } + let tokenValue; if (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') { @@ -88,6 +105,14 @@ export default async function pullVariables(options: PullVariablesOptions, theme break; case 'BOOLEAN': Object.entries(variable.valuesByMode).forEach(([mode, value]) => { + // Filter modes based on selectedCollections option + if (options.selectedCollections && collection) { + const selectedCollection = options.selectedCollections[collection.id]; + if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) { + return; // Skip this mode if it's not selected + } + } + const modeName = collection?.modes.find((m) => m.modeId === mode)?.name; let tokenValue; if (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') { @@ -108,6 +133,14 @@ export default async function pullVariables(options: PullVariablesOptions, theme break; case 'STRING': Object.entries(variable.valuesByMode).forEach(([mode, value]) => { + // Filter modes based on selectedCollections option + if (options.selectedCollections && collection) { + const selectedCollection = options.selectedCollections[collection.id]; + if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) { + return; // Skip this mode if it's not selected + } + } + const modeName = collection?.modes.find((m) => m.modeId === mode)?.name; let tokenValue; if (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') { @@ -128,6 +161,14 @@ export default async function pullVariables(options: PullVariablesOptions, theme break; case 'FLOAT': Object.entries(variable.valuesByMode).forEach(([mode, value]) => { + // Filter modes based on selectedCollections option + if (options.selectedCollections && collection) { + const selectedCollection = options.selectedCollections[collection.id]; + if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) { + return; // Skip this mode if it's not selected + } + } + let tokenValue: string | number = value as number; if (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') { const alias = figma.variables.getVariableById(value.id); @@ -184,7 +225,23 @@ export default async function pullVariables(options: PullVariablesOptions, theme // Process themes if pro user if (proUser) { await Promise.all(Array.from(collections.values()).map(async (collection) => { + // Filter collections based on selectedCollections option + if (options.selectedCollections) { + const selectedCollection = options.selectedCollections[collection.id]; + if (!selectedCollection) { + return; // Skip this collection if it's not selected + } + } + await Promise.all(collection.modes.map(async (mode) => { + // Filter modes based on selectedCollections option + if (options.selectedCollections) { + const selectedCollection = options.selectedCollections[collection.id]; + if (selectedCollection && !selectedCollection.selectedModes.includes(mode.modeId)) { + return; // Skip this mode if it's not selected + } + } + const collectionVariables = localVariables.filter((v) => v.variableCollectionId === collection.id); const variableReferences = collectionVariables.reduce((acc, variable) => ({ diff --git a/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts b/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts index 2ac2f0fa8..c4a35b39e 100644 --- a/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts +++ b/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts @@ -23,6 +23,7 @@ import { RenameVariableToken } from '@/app/store/models/reducers/tokenState'; import { UpdateTokenVariablePayload } from './payloads/UpdateTokenVariablePayload'; import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass'; import { ExportTokenSet } from './ExportTokenSet'; +import type { VariableCollectionInfo } from './VariableCollectionSelection'; export enum AsyncMessageTypes { // the below messages are going from UI to plugin @@ -73,6 +74,7 @@ export enum AsyncMessageTypes { UPDATE_VARIABLES = 'async/update-variables', SET_INITIAL_LOAD = 'async/set-initial-load', PREVIEW_REQUEST_STARTUP = 'async/preview-request-startup', + GET_AVAILABLE_VARIABLE_COLLECTIONS = 'async/get-available-variable-collections', } export type AsyncMessage = P & { type: T }; @@ -278,6 +280,12 @@ export type GetFigmaFontsMessage = AsyncMessage }>; + +export type GetAvailableVariableCollectionsMessage = AsyncMessage; +export type GetAvailableVariableCollectionsMessageResult = AsyncMessage; + export type RemoveStylesWithoutConnectionMessage = AsyncMessage; @@ -398,6 +406,7 @@ export type AsyncMessages = | ResolveStyleInfo | SetNoneValuesOnNodeAsyncMessage | GetFigmaFontsMessage + | GetAvailableVariableCollectionsMessage | SetAuthDataMessage | SetUsedEmailMessage | CreateLocalVariablesAsyncMessage @@ -446,6 +455,7 @@ export type AsyncMessageResults = | ResolveStyleInfoResult | SetNoneValuesOnNodeAsyncMessageResult | GetFigmaFontsMessageResult + | GetAvailableVariableCollectionsMessageResult | SetAuthDataMessageResult | SetUsedEmailMessageResult | CreateLocalVariablesAsyncMessageResult diff --git a/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts b/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts index 98c74caf4..226aaa1fa 100644 --- a/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts +++ b/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts @@ -1,4 +1,7 @@ +import type { SelectedCollections } from './VariableCollectionSelection'; + export type PullVariablesOptions = { useDimensions?: boolean; useRem?: boolean; + selectedCollections?: SelectedCollections; }; diff --git a/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts b/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts new file mode 100644 index 000000000..6d9f5a03e --- /dev/null +++ b/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts @@ -0,0 +1,15 @@ +export type VariableCollectionInfo = { + id: string; + name: string; + modes: { + modeId: string; + name: string; + }[]; +}; + +export type SelectedCollections = { + [collectionId: string]: { + name: string; + selectedModes: string[]; // array of modeIds + }; +}; \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/src/types/index.ts b/packages/tokens-studio-for-figma/src/types/index.ts index da3d38580..ba4c9e95d 100644 --- a/packages/tokens-studio-for-figma/src/types/index.ts +++ b/packages/tokens-studio-for-figma/src/types/index.ts @@ -12,3 +12,4 @@ export * from './ThemeObjectsList'; export * from './DeepTokensMap'; export * from './MapValuesToTokensResult'; export * from './ShowFormOptions'; +export * from './VariableCollectionSelection'; From 786568607cd6bbbaeffcd65fd7293fb5e014fb49 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 May 2025 06:48:05 +0000 Subject: [PATCH 4/8] Add comprehensive tests for selective variable import functionality Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- packages/tokens-studio-for-figma/clover.xml | 16446 +++++++ .../coverage-final.json | 1060 + .../lcov-report/base.css | 224 + .../lcov-report/block-navigation.js | 87 + .../lcov-report/favicon.png | Bin 0 -> 445 bytes .../lcov-report/index.html | 1796 + .../lcov-report/prettify.css | 1 + .../lcov-report/prettify.js | 2 + .../lcov-report/sort-arrow-sprite.png | Bin 0 -> 138 bytes .../lcov-report/sorter.js | 196 + .../src/AsyncMessageChannel.ts.html | 535 + .../src/AsyncMessageChannelPreview.ts.html | 1003 + .../src/app/assets/hints/images.ts.html | 88 + .../src/app/assets/hints/index.html | 116 + .../asyncMessageHandlers/getThemeInfo.ts.html | 148 + .../src/app/asyncMessageHandlers/index.html | 146 + .../app/asyncMessageHandlers/index.ts.html | 91 + .../app/asyncMessageHandlers/startup.tsx.html | 298 + .../components/Accordion/Accordion.tsx.html | 337 + .../Accordion/StyledContainer.tsx.html | 109 + .../src/app/components/Accordion/index.html | 146 + .../app/components/Accordion/index.ts.html | 94 + .../AddLicenseKey/AddLicenseKey.tsx.html | 553 + .../app/components/AddLicenseKey/index.html | 131 + .../components/AddLicenseKey/index.ts.html | 94 + .../app/components/AnnotationBuilder.tsx.html | 229 + .../src/app/components/App.tsx.html | 289 + .../AppContainer/AppContainer.tsx.html | 427 + .../AppContainer/ApplicationInitSteps.ts.html | 106 + .../app/components/AppContainer/index.html | 161 + .../app/components/AppContainer/index.ts.html | 88 + .../addLicenseFactory.ts.html | 184 + .../getLdFlagsFactory.ts.html | 205 + .../startupProcessSteps/index.html | 191 + .../startupProcessSteps/index.ts.html | 100 + .../pullTokensFactory.ts.html | 598 + .../savePluginDataFactory.ts.html | 214 + .../saveStorageInformationFactory.ts.html | 148 + .../AppContainer/useStartupProcess.ts.html | 283 + .../src/app/components/ApplySelector.tsx.html | 505 + .../src/app/components/AuthModal/index.html | 116 + .../app/components/AuthModal/index.tsx.html | 415 + .../BorderTokenDownShiftInput.tsx.html | 301 + .../app/components/BorderTokenForm.tsx.html | 517 + .../src/app/components/Box.tsx.html | 100 + .../app/components/BoxShadowInput.tsx.html | 628 + .../app/components/BranchSelector.tsx.html | 814 + .../BranchSwitchMenuRadioElement.tsx.html | 181 + .../BrokenReferenceIndicator.tsx.html | 154 + .../src/app/components/Callout.tsx.html | 214 + .../ChangeStateListingHeading.tsx.html | 277 + .../app/components/ChangedStateList.tsx.html | 397 + .../app/components/ChangedTokenItem.tsx.html | 268 + .../src/app/components/Changelog.tsx.html | 349 + .../ColorPicker/ColorPicker.tsx.html | 751 + .../src/app/components/ColorPicker/index.html | 131 + .../app/components/ColorPicker/index.ts.html | 91 + .../components/ColorPickerTrigger.tsx.html | 163 + .../app/components/ColorTokenForm.tsx.html | 1045 + .../components/CompositionTokenForm.tsx.html | 532 + .../src/app/components/ConfirmDialog.tsx.html | 505 + .../components/ConvertToDTCGModal.tsx.html | 292 + .../src/app/components/Count.tsx.html | 139 + .../DirtyStateBadgeWrapper.tsx.html | 121 + .../src/app/components/Divider.tsx.html | 100 + .../DownshiftInput/DownshiftInput.tsx.html | 1189 + .../DownshiftInput/MentionInput.tsx.html | 604 + .../StyledDownshiftInput.tsx.html | 562 + .../app/components/DownshiftInput/index.html | 161 + .../components/DownshiftInput/index.ts.html | 94 + .../ResolveDuplicateTokenGroup.tsx.html | 373 + .../components/DuplicateResolver/index.html | 116 + .../src/app/components/EditTokenForm.tsx.html | 2254 + .../components/EditTokenFormModal.tsx.html | 232 + .../ErrorFallback/ErrorFallback.tsx.html | 130 + .../app/components/ErrorFallback/index.html | 131 + .../components/ErrorFallback/index.ts.html | 88 + .../src/app/components/ErrorMessage.tsx.html | 118 + .../app/components/ErrorValidation.tsx.html | 103 + .../app/components/ExplainerModal.tsx.html | 145 + .../ExportProvider/MultiFilesExport.tsx.html | 346 + .../ExportProvider/SingleFileExport.tsx.html | 595 + .../app/components/ExportProvider/index.html | 131 + .../src/app/components/FigmaLoading.tsx.html | 313 + .../src/app/components/Flex/Flex.tsx.html | 142 + .../src/app/components/Flex/index.html | 131 + .../src/app/components/Flex/index.ts.html | 88 + .../src/app/components/Footer.tsx.html | 637 + .../IconToggleableDisclosure.tsx.html | 148 + .../components/ImportVariablesDialog.tsx.html | 613 + .../components/ImportedTokensDialog.tsx.html | 1174 + .../src/app/components/Initiator.tsx.html | 640 + .../src/app/components/Input.tsx.html | 811 + .../InspectSearchOptionDropdown.tsx.html | 256 + .../src/app/components/Inspector.tsx.html | 469 + .../components/InspectorDebugView.tsx.html | 340 + .../components/InspectorMultiView.tsx.html | 601 + .../InspectorResolvedToken.tsx.html | 589 + .../components/InspectorTokenGroup.tsx.html | 163 + .../components/InspectorTokenSingle.tsx.html | 655 + .../src/app/components/JSONEditor.tsx.html | 319 + .../src/app/components/Label.tsx.html | 196 + .../components/LanguageSelector/index.html | 116 + .../LanguageSelector/index.tsx.html | 208 + .../LaunchDarkly/LDProvider.tsx.html | 190 + .../app/components/LaunchDarkly/index.html | 146 + .../app/components/LaunchDarkly/index.ts.html | 91 + .../components/LaunchDarkly/useFlags.ts.html | 112 + .../src/app/components/Link.tsx.html | 148 + .../src/app/components/LoadingBar.tsx.html | 388 + .../app/components/LocalStorageItem.tsx.html | 367 + .../ExportSetsTab.tsx.html | 625 + .../ExportThemesTab.tsx.html | 478 + .../LabelledCheckbox.tsx.html | 133 + .../ManageStylesAndVariables.tsx.html | 466 + .../OptionsModal.tsx.html | 892 + .../StyledCard.tsx.html | 118 + .../ThemeDetails.tsx.html | 214 + .../docsLinks.tsx.html | 100 + .../ManageStylesAndVariables/index.html | 221 + .../CreateOrEditThemeForm.tsx.html | 730 + .../ManageThemesModal.tsx.html | 937 + .../SingleThemeEntry.tsx.html | 475 + ...edCreateOrEditThemeFormHeaderFlex.tsx.html | 112 + ...yledCreateOrEditThemeFormTabsFlex.tsx.html | 112 + .../ManageThemesModal/StyledForm.tsx.html | 100 + .../StyledNameInputBox.tsx.html | 112 + .../StyledThemeLabel.tsx.html | 166 + .../StyledThemeMetaLabel.tsx.html | 115 + .../ThemeGroupDropDownMenu.tsx.html | 349 + .../ThemeListGroupHeader.tsx.html | 496 + .../ThemeListItemContent.tsx.html | 265 + .../ThemeStyleManagementCategory.tsx.html | 484 + ...StyleManagementCategoryStyleEntry.tsx.html | 403 + .../ThemeStyleManagementForm.tsx.html | 721 + .../ThemeVariableManagement.tsx.html | 646 + .../ThemeVariableManagementEntry.tsx.html | 394 + .../TokenSetThemeItem.tsx.html | 388 + .../components/ManageThemesModal/index.html | 386 + .../ManageThemesModal/index.ts.html | 88 + .../src/app/components/Modal/Modal.tsx.html | 715 + .../app/components/Modal/ModalFooter.tsx.html | 169 + .../app/components/Modal/ModalHeader.tsx.html | 106 + .../src/app/components/Modal/index.html | 161 + .../src/app/components/Modal/index.ts.html | 94 + .../components/MoreButton/MoreButton.tsx.html | 730 + .../MoreButton/MoreButtonProperty.tsx.html | 211 + .../src/app/components/MoreButton/index.html | 146 + .../app/components/MoreButton/index.ts.html | 88 + .../MultiSelectCheckboxItem.tsx.html | 196 + .../components/MultiSelectDropdown.tsx.html | 226 + .../src/app/components/Navbar.tsx.html | 328 + .../NavbarUndoButton.tsx.html | 220 + .../components/NavbarUndoButton/index.html | 131 + .../components/NavbarUndoButton/index.ts.html | 88 + .../components/OnboardingExplainer.tsx.html | 241 + .../app/components/OnboardingFlow.tsx.html | 478 + .../src/app/components/PluginResizer.tsx.html | 151 + .../PresetProvider/DefaultPreset.tsx.html | 202 + .../PresetProvider/FilePreset.tsx.html | 367 + .../app/components/PresetProvider/index.html | 131 + .../src/app/components/ProBadge.tsx.html | 208 + .../src/app/components/PullDialog.tsx.html | 301 + .../src/app/components/PushDialog.tsx.html | 805 + .../PushDialogSupernovaConfirm.tsx.html | 184 + .../src/app/components/PushJSON.tsx.html | 343 + .../app/components/PushSettingForm.tsx.html | 271 + .../app/components/RemConfiguration.tsx.html | 577 + .../ResolvedBorderValueDisplay.tsx.html | 238 + .../ResolvedShadowValueDisplay.tsx.html | 238 + .../components/ResolvedTokenDisplay.tsx.html | 241 + .../ResolvedTypographyValueDisplay.tsx.html | 262 + .../ResolvingLoader/ResolvingLoader.tsx.html | 196 + .../app/components/ResolvingLoader/index.html | 131 + .../components/ResolvingLoader/index.ts.html | 94 + .../app/components/SecondScreen/index.html | 116 + .../components/SecondScreen/index.tsx.html | 559 + .../components/SecondScreenSync/index.html | 116 + .../SecondScreenSync/index.tsx.html | 442 + .../src/app/components/Select.tsx.html | 184 + .../app/components/Settings/Settings.tsx.html | 751 + .../src/app/components/Settings/index.html | 131 + .../src/app/components/Settings/index.ts.html | 94 + .../app/components/SettingsDropdown.tsx.html | 403 + .../SingleBoxShadowDownShiftInput.tsx.html | 283 + .../components/SingleBoxShadowInput.tsx.html | 892 + .../SingleCompositionTokenContent.tsx.html | 319 + .../SingleCompositionTokenForm.tsx.html | 526 + .../SingleTypographyDownShiftInput.tsx.html | 235 + .../src/app/components/Stack.tsx.html | 94 + .../src/app/components/StartScreen.tsx.html | 556 + .../src/app/components/StorageItem.tsx.html | 583 + .../app/components/StorageItemForm.tsx.html | 481 + .../StorageItemForm/ADOForm.tsx.html | 505 + .../StorageItemForm/BitbucketForm.tsx.html | 517 + .../StorageItemForm/GenericVersioned.tsx.html | 793 + .../StorageItemForm/GitForm.tsx.html | 571 + .../StorageItemForm/JSONBinForm.tsx.html | 454 + .../StorageItemForm/SupernovaForm.tsx.html | 481 + .../StorageItemForm/TokensStudioForm.tsx.html | 886 + .../StorageItemForm/URLForm.tsx.html | 433 + .../app/components/StorageItemForm/index.html | 236 + .../components/StorageItemForm/types.ts.html | 91 + .../StyledBrokenReferenceIndicator.tsx.html | 160 + .../src/app/components/StyledDiff.tsx.html | 148 + .../components/StyledDirtyStateBadge.tsx.html | 121 + .../StyledDragger/DragGrabber.tsx.html | 166 + .../StyledDragger/DragItem.tsx.html | 205 + .../StyledDragger/StyledBeforeFlex.tsx.html | 112 + .../StyledDragger/StyledCheckbox.tsx.html | 166 + .../StyledDragger/StyledDragButton.tsx.html | 244 + .../StyledDragger/StyledGrabber.tsx.html | 157 + .../app/components/StyledDragger/index.html | 191 + .../app/components/StyledInputSuffix.tsx.html | 172 + .../components/StyledInspectBadge.tsx.html | 112 + .../app/components/StyledStorageItem.tsx.html | 160 + .../app/components/StylesDropdown.tsx.html | 298 + .../src/app/components/SyncSettings.tsx.html | 685 + .../components/TabButton/TabButton.tsx.html | 373 + .../src/app/components/TabButton/index.html | 131 + .../app/components/TabButton/index.ts.html | 88 + .../src/app/components/Text.tsx.html | 112 + .../ThemeSelector/ThemeSelector.tsx.html | 541 + .../app/components/ThemeSelector/index.html | 131 + .../components/ThemeSelector/index.ts.html | 88 + .../app/components/ToggleEmptyButton.tsx.html | 169 + .../TokenButton/DragOverItem.tsx.html | 259 + .../TokenButton/DraggableWrapper.tsx.html | 382 + .../TokenButton/StyledTokenButton.tsx.html | 379 + .../TokenButton/TokenButton.tsx.html | 235 + .../TokenButton/TokenButtonContent.tsx.html | 325 + .../src/app/components/TokenButton/index.html | 191 + .../app/components/TokenButton/index.ts.html | 88 + .../src/app/components/TokenFilter.tsx.html | 349 + .../app/components/TokenFlowButton/index.html | 116 + .../components/TokenFlowButton/index.tsx.html | 295 + .../app/components/TokenFormatBadge.tsx.html | 181 + .../TokenGroup/StyledTokenGroup.tsx.html | 226 + .../StyledTokenGroupHeading.tsx.html | 286 + .../components/TokenGroup/TokenGroup.tsx.html | 379 + .../TokenGroup/TokenGroupHeading.tsx.html | 532 + .../src/app/components/TokenGroup/index.html | 176 + .../app/components/TokenGroup/index.tsx.html | 88 + .../src/app/components/TokenInput.tsx.html | 304 + .../src/app/components/TokenListing.tsx.html | 451 + .../components/TokenListingHeading.tsx.html | 376 + .../TokenSetItem/StyledWrapper.tsx.html | 121 + .../TokenSetItem/TokenSetItem.tsx.html | 739 + .../app/components/TokenSetItem/index.html | 146 + .../app/components/TokenSetItem/index.ts.html | 91 + .../TokenSetListItemContent.tsx.html | 352 + .../app/components/TokenSetSelector.tsx.html | 841 + .../src/app/components/TokenSetTree.tsx.html | 742 + .../TokenSetTree/StyledFolderButton.tsx.html | 163 + .../StyledFolderButtonChevronBox.tsx.html | 148 + .../TokenSetTree/StyledItem.tsx.html | 121 + .../TokenSetTree/TokenSetTreeContent.tsx.html | 355 + .../app/components/TokenSetTree/index.html | 161 + .../TokenSetTreeItemContent.tsx.html | 349 + .../TokenTooltip/AliasBadge.tsx.html | 148 + .../TokenTooltip/NotFoundBadge.tsx.html | 130 + .../SingleBorderValueDisplay.tsx.html | 136 + .../SingleColorValueDisplay.tsx.html | 172 + .../SingleCompositionValueDisplay.tsx.html | 148 + .../SingleShadowValueDisplay.tsx.html | 154 + .../SingleTypographyValueDisplay.tsx.html | 205 + .../TokenTooltip/TokenTooltip.tsx.html | 190 + .../TokenTooltip/TokenTooltipContent.tsx.html | 214 + .../TokenTooltipContentValue.tsx.html | 481 + .../TokenTooltip/TooltipProperty.tsx.html | 199 + .../app/components/TokenTooltip/index.html | 281 + .../app/components/TokenTooltip/index.ts.html | 88 + .../src/app/components/Tokens.tsx.html | 1012 + .../app/components/TokensBottomBar.tsx.html | 496 + .../src/app/components/ToolsDropdown.tsx.html | 241 + .../src/app/components/Tooltip.tsx.html | 94 + .../app/components/TypographyInput.tsx.html | 511 + .../src/app/components/WindowResizer.tsx.html | 241 + .../app/components/createAnnotation.tsx.html | 136 + .../app/components/createTokenObj.tsx.html | 409 + .../src/app/components/custom.d.ts.html | 97 + .../src/app/components/globalStyles.tsx.html | 409 + .../lcov-report/src/app/components/index.html | 1691 + .../components/inspector/NodeIcon.tsx.html | 280 + .../components/inspector/TokenNode.tsx.html | 208 + .../components/inspector/TokenNodes.tsx.html | 310 + .../src/app/components/inspector/index.html | 146 + .../components/modals/BulkRemapModal.tsx.html | 373 + .../modals/CreateBranchModal.tsx.html | 514 + .../modals/CreateStorageItemModal.tsx.html | 361 + .../modals/DuplicateTokenGroupModal.tsx.html | 553 + .../modals/EditStorageItemModal.tsx.html | 247 + .../components/modals/ExportModal.tsx.html | 199 + .../components/modals/PresetModal.tsx.html | 205 + .../modals/RenameTokenGroupModal.tsx.html | 418 + .../ResolveDuplicateTokensModal.tsx.html | 484 + .../src/app/components/modals/index.html | 236 + .../app/components/use-raised-shadow.ts.html | 169 + .../app/components/useMinimizeWindow.tsx.html | 181 + .../UndoableEnhancerState.ts.html | 253 + .../app/enhancers/undoableEnhancer/index.html | 161 + .../enhancers/undoableEnhancer/index.ts.html | 88 + .../undoableActionDefinitions.ts.html | 355 + .../undoableEnhancer/undoableEnhancer.ts.html | 217 + .../lcov-report/src/app/hooks/index.html | 281 + .../src/app/hooks/useActionsHistory.ts.html | 148 + .../src/app/hooks/useCanUndo.ts.html | 163 + .../src/app/hooks/useConfirm.tsx.html | 286 + .../src/app/hooks/useImportVariables.tsx.html | 280 + .../hooks/useIsGitMultiFileEnabled.ts.html | 136 + .../src/app/hooks/useIsProUser.ts.html | 130 + .../app/hooks/usePropertiesForType.ts.html | 820 + .../src/app/hooks/usePullDialog.tsx.html | 238 + .../src/app/hooks/usePushDialog.tsx.html | 256 + .../app/hooks/useReferenceTokenType.ts.html | 172 + .../app/hooks/useStorageSizeWarning.tsx.html | 193 + .../src/app/hooks/useTypeForProperty.ts.html | 193 + .../lcov-report/src/app/index.html | 146 + .../lcov-report/src/app/index.tsx.html | 139 + .../lcov-report/src/app/preview/index.html | 146 + .../src/app/preview/preview.tsx.html | 1591 + .../src/app/preview/previewUtils.ts.html | 220 + .../src/app/preview/usePreviewState.tsx.html | 277 + .../lcov-report/src/app/sentry.ts.html | 256 + .../lcov-report/src/app/store.ts.html | 193 + .../lcov-report/src/app/store/index.html | 176 + .../src/app/store/middlewares/index.html | 131 + .../src/app/store/middlewares/index.ts.html | 94 + .../app/store/middlewares/tokenState.ts.html | 181 + .../src/app/store/models/branchState.tsx.html | 139 + .../src/app/store/models/effects/index.html | 116 + .../models/effects/settingsState/index.html | 296 + .../effects/settingsState/index.ts.html | 121 + ...CreateStylesWithVariableReferences.ts.html | 121 + .../setIgnoreFirstPartForStyles.ts.html | 121 + .../setPrefixStylesWithThemeName.ts.html | 121 + ...tylesAndVariablesWithoutConnection.ts.html | 121 + ...etRenameExistingStylesAndVariables.ts.html | 121 + .../settingsState/setStyleTypography.ts.html | 121 + .../settingsState/setStylesColor.ts.html | 121 + .../settingsState/setStylesEffect.ts.html | 121 + .../settingsState/setVariablesBoolean.ts.html | 121 + .../settingsState/setVariablesColor.ts.html | 121 + .../settingsState/setVariablesNumber.ts.html | 121 + .../settingsState/setVariablesString.ts.html | 121 + .../assignStyleIdsToCurrentTheme.ts.html | 118 + .../tokenState/assignStyleIdsToTheme.ts.html | 118 + .../assignVariableIdsToTheme.ts.html | 118 + .../effects/tokenState/deleteTheme.ts.html | 118 + .../models/effects/tokenState/index.html | 356 + .../models/effects/tokenState/index.ts.html | 133 + .../removeStyleIdsFromThemes.ts.html | 118 + .../removeStyleNamesFromThemes.ts.html | 118 + .../removeVariableNamesFromThemes.ts.html | 118 + .../renameStyleIdsToCurrentTheme.ts.html | 118 + .../renameStyleNamesToCurrentTheme.ts.html | 118 + .../renameVariableIdsToTheme.ts.html | 118 + .../renameVariableNamesToThemes.ts.html | 118 + .../effects/tokenState/saveTheme.ts.html | 118 + .../effects/tokenState/setActiveTheme.ts.html | 109 + .../tokenState/setDefaultTokens.ts.html | 136 + .../effects/tokenState/setEmptyTokens.ts.html | 121 + .../tokenState/updateThemeGroupName.ts.html | 118 + .../updateCheckForChangesAtomic.ts.html | 112 + .../src/app/store/models/index.html | 206 + .../src/app/store/models/index.tsx.html | 133 + .../app/store/models/inspectState.tsx.html | 193 + .../models/reducers/settingsState/index.html | 311 + .../reducers/settingsState/index.ts.html | 124 + ...CreateStylesWithVariableReferences.ts.html | 109 + .../setIgnoreFirstPartForStyles.ts.html | 109 + .../setPrefixStylesWithThemeName.ts.html | 109 + ...tylesAndVariablesWithoutConnection.ts.html | 109 + ...etRenameExistingStylesAndVariables.ts.html | 109 + .../setShouldSwapStyles.tsx.html | 109 + .../settingsState/setStylesColor.ts.html | 109 + .../settingsState/setStylesEffect.ts.html | 109 + .../settingsState/setStylesTypography.ts.html | 109 + .../settingsState/setVariablesBoolean.ts.html | 109 + .../settingsState/setVariablesColor.ts.html | 109 + .../settingsState/setVariablesNumber.ts.html | 109 + .../settingsState/setVariablesString.ts.html | 109 + .../assignStyleIdsToCurrentTheme.ts.html | 169 + .../tokenState/assignStyleIdsToTheme.ts.html | 166 + .../assignVariableIdsToTheme.ts.html | 142 + .../reducers/tokenState/deleteTheme.ts.html | 133 + .../disconnectStyleFromTheme.ts.html | 196 + .../disconnectVariableFromTheme.ts.html | 184 + .../models/reducers/tokenState/index.html | 461 + .../models/reducers/tokenState/index.ts.html | 154 + .../removeStyleIdsFromThemes.ts.html | 151 + .../removeStyleNamesFromThemes.ts.html | 151 + .../removeVariableNamesFromThemes.ts.html | 148 + .../renameStyleIdsToCurrentTheme.ts.html | 175 + .../renameStyleNamesToCurrentTheme.ts.html | 172 + .../tokenState/renameTokenSet.ts.html | 166 + .../tokenState/renameTokenSetFolder.ts.html | 166 + .../renameVariableIdsToTheme.ts.html | 184 + .../renameVariableNamesToThemes.ts.html | 169 + .../reducers/tokenState/saveTheme.ts.html | 271 + .../tokenState/setActiveTheme.ts.html | 187 + .../tokenState/setDefaultTokens.ts.html | 100 + .../tokenState/setEmptyTokens.ts.html | 100 + .../reducers/tokenState/setTokenData.ts.html | 280 + .../tokenState/toggleManyTokenSets.ts.html | 178 + .../tokenState/toggleUsedTokenSet.ts.html | 139 + .../tokenState/updateThemeGroupName.ts.html | 205 + .../models/reducers/userState/index.html | 131 + .../models/reducers/userState/index.ts.html | 88 + .../userState/setLicenseStatus.ts.html | 112 + .../src/app/store/models/settings.tsx.html | 937 + .../src/app/store/models/tokenState.tsx.html | 2983 ++ .../src/app/store/models/uiState.tsx.html | 1495 + .../src/app/store/models/userState.ts.html | 490 + .../src/app/store/providers/ado/ado.tsx.html | 1033 + .../ado/getADOCreatePullRequestUrl.ts.html | 130 + .../src/app/store/providers/ado/index.html | 146 + .../src/app/store/providers/ado/index.ts.html | 91 + .../providers/bitbucket/bitbucket.tsx.html | 1069 + .../getBitbucketCreatePullRequestUrl.ts.html | 127 + .../app/store/providers/bitbucket/index.html | 146 + .../store/providers/bitbucket/index.ts.html | 91 + .../src/app/store/providers/file.tsx.html | 208 + .../app/store/providers/generic/index.html | 116 + .../generic/versionedStorage.ts.html | 997 + .../getRepositoryInformation.ts.html | 130 + .../getGithubCreatePullRequestUrl.ts.html | 127 + .../store/providers/github/github.tsx.html | 1069 + .../src/app/store/providers/github/index.html | 146 + .../app/store/providers/github/index.ts.html | 91 + .../getGitlabCreatePullRequestUrl.ts.html | 112 + .../store/providers/gitlab/gitlab.tsx.html | 1120 + .../src/app/store/providers/gitlab/index.html | 146 + .../app/store/providers/gitlab/index.ts.html | 91 + .../src/app/store/providers/index.html | 161 + .../src/app/store/providers/jsonbin.tsx.html | 817 + .../supernova/getSupernovaOpenCloud.ts.html | 97 + .../app/store/providers/supernova/index.html | 146 + .../store/providers/supernova/index.ts.html | 88 + .../providers/supernova/supernova.tsx.html | 709 + .../store/providers/tokens-studio/index.html | 131 + .../providers/tokens-studio/index.ts.html | 88 + .../tokens-studio/tokensStudio.tsx.html | 877 + .../src/app/store/providers/url.tsx.html | 391 + .../src/app/store/remoteTokens.tsx.html | 2164 + .../src/app/store/updateSources.tsx.html | 739 + .../src/app/store/useManageTokens.tsx.html | 859 + .../src/app/store/useStorage.tsx.html | 175 + .../src/app/store/useTokens.tsx.html | 2509 + .../src/app/store/utils/index.html | 131 + .../store/utils/updateAliasesInState.ts.html | 310 + .../src/app/store/utils/updateModify.ts.html | 169 + .../lcov-report/src/config/index.html | 146 + .../lcov-report/src/config/properties.js.html | 220 + .../src/config/tokenType.defs.json.d.ts.html | 100 + .../lcov-report/src/config/tokenTypes.js.html | 922 + .../src/constants/AliasRegex.ts.html | 106 + .../ApplyVariablesStyleOrder.ts.html | 97 + .../src/constants/BackgroundJobs.ts.html | 157 + .../src/constants/BoxShadowTypes.ts.html | 97 + .../src/constants/ColorModifierTypes.ts.html | 103 + .../src/constants/ColorSpaceTypes.ts.html | 103 + .../src/constants/DefaultWindowSize.ts.html | 97 + .../src/constants/Direction.ts.html | 103 + .../constants/DocumentationProperties.ts.html | 160 + .../src/constants/EditTokenFormStatus.ts.html | 100 + .../src/constants/ErrorMessages.ts.html | 151 + .../src/constants/ExportProviderType.ts.html | 97 + .../src/constants/InternalTokenGroup.ts.html | 91 + .../src/constants/LicenseStatus.ts.html | 106 + .../src/constants/LoadProviderType.ts.html | 97 + .../src/constants/ModalOptions.ts.html | 97 + .../src/constants/Properties.ts.html | 265 + .../constants/SharedPluginDataKeys.ts.html | 148 + .../SharedPluginDataNamespaces.ts.html | 94 + .../src/constants/StorageProviderType.ts.html | 121 + .../src/constants/StyleIdBackupKeys.ts.html | 100 + .../src/constants/StyleOptions.ts.html | 97 + .../src/constants/SystemFilenames.ts.html | 97 + .../lcov-report/src/constants/Tabs.ts.html | 112 + .../src/constants/TokenSetStatus.ts.html | 100 + .../src/constants/TokenTypes.ts.html | 211 + .../src/constants/UpdateMode.ts.html | 100 + .../src/constants/ValidNodeTypes.ts.html | 130 + .../src/constants/VariableTypes.ts.html | 148 + .../src/constants/defaultBaseFontSize.ts.html | 88 + .../lcov-report/src/constants/docUrls.ts.html | 94 + .../lcov-report/src/constants/index.html | 581 + .../src/constants/numberRegex.ts.html | 88 + .../src/context/AuthContext.tsx.html | 469 + .../src/context/DragControlsContext.tsx.html | 115 + .../src/context/ReorderContext.ts.html | 139 + .../src/context/TokensContext.ts.html | 115 + .../lcov-report/src/context/index.html | 176 + .../lcov-report/src/context/index.ts.html | 94 + .../figmaStorage/ActiveThemeProperty.ts.html | 124 + .../figmaStorage/ApiProvidersProperty.ts.html | 136 + .../src/figmaStorage/AuthDataProperty.ts.html | 115 + .../CheckForChangesProperty.ts.html | 115 + .../figmaStorage/ClientStorageCleanup.ts.html | 118 + .../ClientStorageProperty.ts.html | 247 + .../CollapsedTokenSetsProperty.ts.html | 127 + .../figmaStorage/FigmaStorageProperty.ts.html | 310 + .../src/figmaStorage/FileKeyProperty.ts.html | 115 + .../figmaStorage/InitialLoadProperty.ts.html | 103 + .../figmaStorage/IsCompressedProperty.ts.html | 115 + .../figmaStorage/LastOpenedProperty.ts.html | 109 + .../figmaStorage/LicenseKeyProperty.ts.html | 103 + ...oardingExplainerExportSetsProperty.ts.html | 103 + ...OnboardingExplainerInspectProperty.ts.html | 103 + .../OnboardingExplainerSetsProperty.ts.html | 103 + ...dingExplainerSyncProvidersProperty.ts.html | 103 + .../figmaStorage/StorageSizeManager.ts.html | 136 + .../figmaStorage/StorageTypeProperty.ts.html | 124 + .../src/figmaStorage/ThemesProperty.ts.html | 148 + .../figmaStorage/TokenFormatProperty.ts.html | 112 + .../figmaStorage/UiSettingsProperty.ts.html | 115 + .../figmaStorage/UpdatedAtProperty.ts.html | 109 + .../figmaStorage/UsedEmailProperty.ts.html | 94 + .../figmaStorage/UsedTokenSetProperty.ts.html | 121 + .../src/figmaStorage/UserIdProperty.ts.html | 103 + .../src/figmaStorage/ValuesProperty.ts.html | 139 + .../src/figmaStorage/VersionProperty.ts.html | 109 + .../lcov-report/src/figmaStorage/index.html | 536 + .../src/figmaStorage/index.ts.html | 157 + .../lcov-report/src/hooks/index.html | 221 + .../lcov-report/src/hooks/index.ts.html | 94 + .../src/hooks/useChangedState.ts.html | 247 + .../src/hooks/useDelayedFlag.ts.html | 163 + .../src/hooks/useFigmaFonts.tsx.html | 154 + .../src/hooks/useFigmaTheme.ts.html | 160 + .../src/hooks/useGetActiveState.ts.html | 163 + .../hooks/useProcess/CanceledError.ts.html | 100 + .../useProcess/ProcessCancelToken.ts.html | 154 + .../useProcess/ProcessStepStatus.ts.html | 106 + .../src/hooks/useProcess/index.html | 176 + .../src/hooks/useProcess/index.ts.html | 97 + .../src/hooks/useProcess/useProcess.ts.html | 376 + .../src/hooks/useSetNodeData.ts.html | 157 + .../lcov-report/src/hooks/useShortcut.ts.html | 157 + .../lcov-report/src/i18n/i18next.d.ts.html | 130 + .../lcov-report/src/i18n/index.html | 131 + .../lcov-report/src/i18n/index.ts.html | 292 + .../lcov-report/src/i18n/lang/en/index.html | 116 + .../src/i18n/lang/en/index.ts.html | 178 + .../lcov-report/src/i18n/lang/es/index.html | 116 + .../src/i18n/lang/es/index.ts.html | 178 + .../lcov-report/src/i18n/lang/fr/index.html | 116 + .../src/i18n/lang/fr/index.ts.html | 178 + .../lcov-report/src/i18n/lang/hi/index.html | 116 + .../src/i18n/lang/hi/index.ts.html | 178 + .../lcov-report/src/i18n/lang/nl/index.html | 116 + .../src/i18n/lang/nl/index.ts.html | 178 + .../lcov-report/src/i18n/lang/zh/index.html | 116 + .../src/i18n/lang/zh/index.ts.html | 178 + .../lcov-report/src/icons/index.html | 116 + .../lcov-report/src/icons/index.tsx.html | 502 + .../lcov-report/src/index.html | 176 + .../lcov-report/src/mocks/browser.ts.html | 100 + .../lcov-report/src/mocks/handlers.ts.html | 277 + .../lcov-report/src/mocks/index.html | 146 + .../lcov-report/src/mocks/server.ts.html | 103 + .../src/motion/ReorderGroup.tsx.html | 325 + .../src/motion/ReorderItem.tsx.html | 331 + .../lcov-report/src/motion/index.html | 131 + .../src/plugin/CanceledError.ts.html | 100 + .../src/plugin/NodeManager.ts.html | 397 + .../src/plugin/ProgressTracker.ts.html | 223 + .../plugin/ResolvedTypographyObject.ts.html | 118 + .../src/plugin/SharedDataHandler.ts.html | 235 + .../src/plugin/TokenFormatStoreClass.ts.html | 199 + .../src/plugin/TokenValueRetriever.ts.html | 460 + .../lcov-report/src/plugin/Worker.ts.html | 319 + .../applyAssetTokenValuesOnNode.ts.html | 124 + .../applyBackgroundBlurValuesOnNode.ts.html | 130 + .../applyBooleanTokenValuesOnNode.ts.html | 151 + .../applyBorderRadiusValuesOnNode.ts.html | 406 + .../plugin/applyBorderValuesOnNode.ts.html | 232 + .../applyBorderWidthValuesOnNode.ts.html | 280 + .../src/plugin/applyColorTokenOnNode.ts.html | 229 + .../applyDimensionTokenValuesOnNode.ts.html | 199 + .../applyNumberTokenValuesOnNode.ts.html | 187 + .../plugin/applyOpacityValuesOnNode.ts.html | 154 + .../plugin/applyPositionTokenOnNode.ts.html | 157 + .../plugin/applyRotationValuesOnNode.ts.html | 160 + .../plugin/applyShadowValuesOnNode.ts.html | 229 + .../plugin/applySizingValuesOnNode.ts.html | 400 + .../plugin/applySpacingValuesOnNode.ts.html | 577 + .../applyTextCharacterValuesOnNode.ts.html | 262 + .../plugin/applyTypographyTokenOnNode.ts.html | 409 + .../applySiblingStyle.ts.html | 373 + .../attachLocalStylesToTheme.ts.html | 298 + .../attachLocalVariablesToTheme.ts.html | 193 + .../bulkRemapTokens.ts.html | 262 + .../cancelOperation.ts.html | 121 + .../asyncMessageHandlers/changedTabs.ts.html | 115 + .../createAnnotation.ts.html | 106 + .../createLocalVariables.ts.html | 121 + .../createLocalVariablesWithoutModes.ts.html | 121 + .../asyncMessageHandlers/createStyles.ts.html | 184 + .../asyncMessageHandlers/credentials.ts.html | 109 + .../getAvailableVariableCollections.ts.html | 157 + .../getFigmaFonts.ts.html | 112 + .../getSiblingStyleId.ts.html | 271 + .../getThemeReferences.ts.html | 322 + .../asyncMessageHandlers/gotoNode.ts.html | 106 + .../plugin/asyncMessageHandlers/index.html | 836 + .../plugin/asyncMessageHandlers/index.ts.html | 217 + .../asyncMessageHandlers/notify.ts.html | 106 + .../asyncMessageHandlers/preview.ts.html | 121 + .../asyncMessageHandlers/pullStyles.ts.html | 106 + .../pullVariables.ts.html | 106 + .../asyncMessageHandlers/remapTokens.ts.html | 259 + .../removeSingleCredential.ts.html | 109 + .../asyncMessageHandlers/removeStyles.ts.html | 136 + .../removeStylesWithoutConnection.ts.html | 151 + .../removeTokensByValue.ts.html | 145 + .../asyncMessageHandlers/renameStyles.ts.html | 136 + .../renameVariables.ts.html | 106 + .../asyncMessageHandlers/resizeWindow.ts.html | 103 + .../resolveStyleInfo.ts.html | 214 + .../resolveVariableInfo.ts.html | 178 + .../asyncMessageHandlers/selectNodes.ts.html | 112 + .../asyncMessageHandlers/setAuthData.ts.html | 106 + .../setInitialLoad.ts.html | 106 + .../setLicenseKey.ts.html | 106 + .../asyncMessageHandlers/setNodeData.ts.html | 190 + .../setNoneValuesOnNode.ts.html | 244 + .../setOnboardingExplainerExportSets.ts.html | 106 + .../setOnboardingExplainerInspect.ts.html | 106 + .../setOnboardingExplainerSets.ts.html | 106 + ...etOnboardingExplainerSyncProviders.ts.html | 106 + .../setShowEmptyGroups.ts.html | 112 + .../setStorageType.ts.html | 106 + .../plugin/asyncMessageHandlers/setUi.ts.html | 217 + .../asyncMessageHandlers/setUsedEmail.ts.html | 106 + .../asyncMessageHandlers/swapStyles.ts.html | 241 + .../asyncMessageHandlers/update.ts.html | 277 + .../updateCheckForChanges.ts.html | 112 + .../updateVariables.ts.html | 106 + .../src/plugin/compareStyleWithToken.ts.html | 178 + .../lcov-report/src/plugin/controller.ts.html | 361 + .../createLocalVariablesInPlugin.ts.html | 343 + ...LocalVariablesWithoutModesInPlugin.ts.html | 376 + ...createNecessaryVariableCollections.ts.html | 208 + .../src/plugin/createVariableMode.ts.html | 145 + .../plugin/figmaTransforms/boxShadow.ts.html | 142 + .../src/plugin/figmaTransforms/colors.ts.html | 499 + .../convertFontFamilyToFigma.ts.html | 124 + .../plugin/figmaTransforms/fontWeight.ts.html | 169 + .../plugin/figmaTransforms/generic.ts.html | 142 + .../plugin/figmaTransforms/gradients.ts.html | 454 + .../src/plugin/figmaTransforms/index.html | 296 + .../figmaTransforms/letterSpacing.ts.html | 178 + .../plugin/figmaTransforms/lineHeight.ts.html | 190 + .../numberMatchesPercentage.ts.html | 94 + .../src/plugin/figmaTransforms/offset.ts.html | 103 + .../plugin/figmaTransforms/opacity.ts.html | 142 + .../plugin/figmaTransforms/textCase.ts.html | 199 + .../figmaTransforms/textDecoration.ts.html | 151 + .../getShadowBehindNodeFromEffect.ts.html | 106 + .../src/plugin/figmaUtils/index.html | 131 + .../effectStyleMatchesBoxShadowToken.ts.html | 226 + .../figmaUtils/styleMatchers/index.html | 161 + .../figmaUtils/styleMatchers/index.ts.html | 94 + .../paintStyleMatchesColorToken.ts.html | 151 + .../textStyleMatchesTypographyToken.ts.html | 331 + .../src/plugin/figmaUtils/styleUtils.ts.html | 304 + .../findCollectionAndModeIdForTheme.ts.html | 127 + .../src/plugin/generateTokensToCreate.ts.html | 166 + .../plugin/getAppliedStylesFromNode.ts.html | 487 + .../getAppliedVariablesFromNode.ts.html | 352 + .../src/plugin/getFigmaDashPattern.ts.html | 133 + .../plugin/getVariablesWithoutZombies.ts.html | 130 + .../lcov-report/src/plugin/helpers.ts.html | 424 + .../lcov-report/src/plugin/index.html | 1316 + .../plugin/mergeVariableReferences.ts.html | 196 + .../lcov-report/src/plugin/node.ts.html | 868 + .../lcov-report/src/plugin/notifiers.ts.html | 676 + .../src/plugin/performCodeGen.ts.html | 151 + .../lcov-report/src/plugin/pluginData.ts.html | 505 + .../plugin/processTextStyleProperty.ts.html | 268 + .../lcov-report/src/plugin/pullStyles.ts.html | 1210 + .../src/plugin/pullVariables.ts.html | 925 + .../src/plugin/removePluginDataByMap.ts.html | 199 + .../src/plugin/removeStylesFromPlugin.ts.html | 178 + .../src/plugin/removeValuesFromNode.ts.html | 832 + .../src/plugin/renameStylesFromPlugin.ts.html | 235 + .../plugin/renameVariablesFromPlugin.ts.html | 184 + .../lcov-report/src/plugin/rotateNode.ts.html | 256 + .../src/plugin/sendDocumentChange.ts.html | 121 + .../src/plugin/sendSelectionChange.ts.html | 148 + .../plugin/setBackgroundBlurOnTarget.ts.html | 172 + .../plugin/setBooleanValuesOnVariable.ts.html | 133 + .../setBorderColorValuesOnTarget.ts.html | 226 + .../plugin/setBorderValuesOnTarget.ts.html | 325 + .../src/plugin/setColorValuesOnTarget.ts.html | 481 + .../plugin/setColorValuesOnVariable.ts.html | 220 + .../plugin/setEffectValuesOnTarget.ts.html | 451 + .../src/plugin/setFontStyleOnTarget.ts.html | 298 + .../src/plugin/setImageValuesOnTarget.ts.html | 187 + .../plugin/setNumberValuesOnVariable.ts.html | 142 + .../plugin/setStringValuesOnVariable.ts.html | 127 + .../src/plugin/setTextValuesOnTarget.ts.html | 163 + .../src/plugin/setValuesOnNode.ts.html | 295 + .../src/plugin/setValuesOnVariable.ts.html | 406 + .../lcov-report/src/plugin/store.ts.html | 118 + ...nsformTypographyKeyToFigmaVariable.ts.html | 109 + ...ryApplyTypographyCompositeVariable.ts.html | 313 + .../plugin/unbindVariableFromTarget.ts.html | 121 + .../src/plugin/updateColorStyles.ts.html | 184 + .../src/plugin/updateEffectStyles.ts.html | 223 + .../src/plugin/updateNodes.ts.html | 274 + .../plugin/updatePluginDataAndNodes.ts.html | 316 + .../src/plugin/updateStyles.ts.html | 295 + .../src/plugin/updateTextStyles.ts.html | 190 + .../src/plugin/updateVariables.ts.html | 322 + .../plugin/updateVariablesFromPlugin.ts.html | 328 + .../plugin/updateVariablesToReference.ts.html | 163 + .../lcov-report/src/profiling/index.html | 131 + .../lcov-report/src/profiling/timing.ts.html | 202 + .../src/profiling/transaction.ts.html | 403 + .../activeApiProviderSelector.ts.html | 97 + .../src/selectors/activeTabSelector.ts.html | 106 + .../src/selectors/activeThemeSelector.ts.html | 106 + .../activeTokenSetReadOnlySelector.ts.html | 106 + .../selectors/activeTokenSetSelector.ts.html | 106 + .../selectors/activeTokensTabSelector.ts.html | 106 + .../aliasBaseFontSizeSelector.ts.html | 106 + .../selectors/allTokenSetsSelector.ts.html | 106 + .../selectors/apiProvidersSelector.ts.html | 106 + .../src/selectors/apiSelector.ts.html | 124 + .../selectors/backgroundJobsSelector.ts.html | 106 + .../selectors/baseFontSizeSelector.ts.html | 106 + .../src/selectors/branchSelector.ts.html | 94 + .../selectors/changedStateSelector.ts.html | 124 + .../src/selectors/changelogSelector.ts.html | 106 + .../src/selectors/collapsedSelector.ts.html | 106 + .../collapsedTokenSetsSelector.ts.html | 106 + .../collapsedTokenTypeObjSelector.ts.html | 106 + .../selectors/collapsedTokensSelector.ts.html | 106 + .../selectors/confirmStateSelector.ts.html | 124 + ...ylesWithVariableReferencesSelector.ts.html | 106 + .../src/selectors/displayTypeSelector.ts.html | 106 + .../selectors/editProhibitedSelector.ts.html | 97 + .../src/selectors/editTokenSelector.ts.html | 124 + .../src/selectors/figmaFontsSelector.ts.html | 106 + .../src/selectors/getClientEmail.ts.html | 97 + .../src/selectors/getEntitlements.ts.html | 97 + .../src/selectors/getLastopened.ts.html | 106 + .../hasUnsavedChangesSelector.ts.html | 106 + .../ignoreFirstPartForStylesSelector.ts.html | 106 + .../selectors/importedThemesSelector.ts.html | 124 + .../selectors/importedTokensSelector.ts.html | 124 + .../lcov-report/src/selectors/index.html | 1541 + .../lcov-report/src/selectors/index.ts.html | 316 + .../src/selectors/inspectDeepSelector.ts.html | 106 + .../selectors/inspectStateSelector.ts.html | 94 + .../isWaitingForBackgroundJobSelector.ts.html | 139 + .../src/selectors/languageSelector.ts.html | 106 + .../selectors/lastSyncedStateSelector.ts.html | 106 + .../selectors/licenseDetailsSelector.ts.html | 97 + .../selectors/licenseKeyErrorSelector.ts.html | 97 + .../src/selectors/licenseKeySelector.ts.html | 97 + .../selectors/licenseStatusSelector.ts.html | 97 + .../localApiStateBranchSelector.ts.html | 124 + .../selectors/localApiStateSelector.ts.html | 106 + .../mainNodeSelectionValuesSelector.ts.html | 124 + .../manageThemesModalOpenSelector.ts.html | 106 + .../src/selectors/planSelector.ts.html | 97 + .../prefixStylesWithThemeNameSelector.ts.html | 106 + .../src/selectors/projectURLSelector.ts.html | 106 + .../src/selectors/remoteDataSelector.ts.html | 124 + ...VariablesWithoutConnectionSelector.ts.html | 106 + ...ExistingStylesAndVariablesSelector.ts.html | 106 + .../src/selectors/rootStateSelector.ts.html | 94 + .../scrollPositionSetSelector.ts.html | 106 + .../selectors/secondScreenSelector.ts.html | 97 + .../sessionRecordingSelector.ts.html | 106 + .../selectors/settingsStateSelector.ts.html | 94 + .../selectors/showAutoSuggestSelector.ts.html | 106 + ...howConvertTokenFormatModalSelector.ts.html | 106 + .../selectors/showEditFormSelector.ts.html | 106 + .../selectors/showEmptyGroupsSelector.ts.html | 106 + .../selectors/showPullDialogSelector.ts.html | 106 + .../selectors/showPushDialogSelector.ts.html | 106 + .../src/selectors/storageTypeSelector.ts.html | 106 + .../storeTokenIdInJsonEditorSelector.ts.html | 106 + .../selectors/stringTokensSelector.ts.html | 106 + .../src/selectors/stylesColorSelector.ts.html | 106 + .../selectors/stylesEffectSelector.ts.html | 106 + .../stylesTypographySelector.ts.html | 106 + .../src/selectors/themeByIdSelector.ts.html | 127 + .../selectors/themeObjectsSelector.ts.html | 106 + .../selectors/themeOptionsSelector.ts.html | 124 + .../src/selectors/themesListSelector.ts.html | 106 + .../src/selectors/themesSizeSelector.ts.html | 121 + .../src/selectors/tokenFilterSelector.ts.html | 106 + .../src/selectors/tokenFormatSelector.ts.html | 106 + .../tokenSetMetadataSelector.ts.html | 97 + .../selectors/tokenSetStatusSelector.ts.html | 121 + .../src/selectors/tokenStateSelector.ts.html | 94 + .../src/selectors/tokenTypeSelector.ts.html | 106 + .../src/selectors/tokensSelector.ts.html | 124 + .../src/selectors/tokensSizeSelector.ts.html | 121 + .../selectors/tokensStudioPATSelector.ts.html | 121 + .../src/selectors/uiDisabledSelector.ts.html | 106 + .../src/selectors/uiStateSelector.ts.html | 94 + .../src/selectors/updateModeSelector.ts.html | 109 + .../src/selectors/usedEmailSelector.ts.html | 97 + .../selectors/usedTokenSetSelector.ts.html | 106 + .../src/selectors/userIdSelector.ts.html | 97 + .../src/selectors/userNameSelector.ts.html | 97 + .../src/selectors/userStateSelector.ts.html | 94 + .../variablesBooleanSelector.ts.html | 106 + .../selectors/variablesColorSelector.ts.html | 106 + .../selectors/variablesNumberSelector.ts.html | 106 + .../selectors/variablesStringSelector.ts.html | 106 + .../src/selectors/windowSizeSelector.ts.html | 97 + .../lcov-report/src/stitches.config.ts.html | 301 + .../src/storage/ADOTokenStorage.ts.html | 1435 + .../src/storage/BitbucketTokenStorage.ts.html | 1297 + .../src/storage/FileTokenStorage.ts.html | 508 + .../storage/GenericVersionedStorage.ts.html | 700 + .../src/storage/GitTokenStorage.ts.html | 484 + .../src/storage/GithubTokenStorage.ts.html | 1180 + .../src/storage/GitlabTokenStorage.ts.html | 1138 + .../src/storage/JSONBinTokenStorage.ts.html | 655 + .../src/storage/RemoteTokenStorage.ts.html | 472 + .../src/storage/SupernovaTokenStorage.ts.html | 592 + .../storage/TokensStudioTokenStorage.ts.html | 1546 + .../src/storage/UrlTokenStorage.ts.html | 373 + .../lcov-report/src/storage/index.html | 296 + .../lcov-report/src/storage/index.ts.html | 91 + .../schemas/complexSingleFileSchema.ts.html | 154 + .../src/storage/schemas/index.html | 206 + .../src/storage/schemas/index.ts.html | 100 + .../storage/schemas/multiFileSchema.ts.html | 106 + .../storage/schemas/singleFileSchema.ts.html | 130 + .../storage/schemas/singleTokenSchema.ts.html | 130 + .../storage/schemas/themeObjectSchema.ts.html | 136 + .../storage/schemas/tokensMapSchema.ts.html | 115 + .../createTokenInTokensStudio.ts.html | 217 + .../createTokenSetInTokensStudio.ts.html | 184 + .../deleteTokenSetFromTokensStudio.ts.html | 172 + .../duplicateTokenInTokensStudio.ts.html | 208 + .../graphql/createThemeGroupMutation.ts.html | 136 + .../graphql/createTokenMutation.ts.html | 112 + .../graphql/createTokenSetMutation.ts.html | 112 + .../graphql/deleteThemeGroupMutation.ts.html | 112 + .../graphql/deleteTokenMutation.ts.html | 112 + .../graphql/deleteTokenSetMutation.ts.html | 112 + .../graphql/getGeneratorQuery.ts.html | 121 + .../tokensStudio/graphql/getOrgsQuery.ts.html | 139 + .../graphql/getProjectDataQuery.ts.html | 181 + .../graphql/getTokenSetQuery.ts.html | 148 + .../storage/tokensStudio/graphql/index.html | 341 + .../tokensStudio/graphql/index.ts.html | 127 + .../graphql/tokenFragment.ts.html | 247 + .../graphql/updateThemeGroupMutation.ts.html | 136 + .../graphql/updateTokenMutation.ts.html | 109 + .../graphql/updateTokenSetMutation.ts.html | 130 + .../updateTokenSetOrderMutation.ts.html | 136 + .../src/storage/tokensStudio/index.html | 191 + .../src/storage/tokensStudio/index.ts.html | 97 + .../deleteTheme.ts.html | 172 + .../getThemeGroupsToUpdate.ts.html | 127 + .../index.html | 176 + .../index.ts.html | 460 + .../saveTheme.ts.html | 325 + .../updateThemeGroupName.ts.html | 151 + .../updateTokenSetInTokensStudio.ts.html | 190 + .../utils/compositionFields.ts.html | 145 + .../src/storage/tokensStudio/utils/index.html | 131 + .../storage/tokensStudio/utils/index.ts.html | 88 + .../lcov-report/src/stories/index.html | 116 + .../src/stories/tokensForStories.ts.html | 487 + .../lcov-report/src/supabase.ts.html | 724 + .../lcov-report/src/tokens/core.ts.html | 241 + .../lcov-report/src/tokens/dark.ts.html | 280 + .../lcov-report/src/tokens/index.html | 146 + .../lcov-report/src/tokens/light.ts.html | 280 + .../src/types/AsyncMessages.ts.html | 1513 + .../lcov-report/src/types/Auth.ts.html | 178 + .../src/types/ChangelogItem.ts.html | 118 + .../types/CompositionTokenProperty.ts.html | 115 + .../src/types/DeepTokensMap.ts.html | 100 + .../src/types/ExportTokenSet.ts.html | 103 + .../src/types/FigmaStyleMaps.ts.html | 100 + .../src/types/MapValuesToTokensResult.ts.html | 103 + .../lcov-report/src/types/Modifier.ts.html | 142 + .../lcov-report/src/types/NodeInfo.ts.html | 100 + .../src/types/NodeTokenRefMap.ts.html | 109 + .../src/types/NodeTokenRefValue.ts.html | 88 + .../src/types/OptionalPartial.ts.html | 100 + .../src/types/PullStylesOptions.ts.html | 100 + .../src/types/PullVariablesOptions.ts.html | 106 + .../src/types/RawVariableReferenceMap.ts.html | 88 + .../src/types/RemoteResponseData.ts.html | 157 + .../lcov-report/src/types/RootModel.ts.html | 133 + .../src/types/SecondScreen.ts.html | 154 + .../src/types/SelectionGroup.ts.html | 124 + .../src/types/SelectionValue.ts.html | 190 + .../src/types/ShowFormOptions.ts.html | 121 + .../lcov-report/src/types/StitchesCSS.ts.html | 115 + .../lcov-report/src/types/StorageType.ts.html | 616 + .../src/types/StoryblokStory.ts.html | 136 + .../lcov-report/src/types/StyleIdMap.ts.html | 91 + .../lcov-report/src/types/ThemeObject.ts.html | 139 + .../src/types/ThemeObjectsList.ts.html | 94 + .../lcov-report/src/types/TokenMap.ts.html | 94 + .../src/types/UpdateNodesSettings.ts.html | 100 + .../src/types/UpdateRemoteFunction.ts.html | 130 + .../src/types/UsedTokenSetsMap.ts.html | 94 + .../types/VariableCollectionSelection.ts.html | 127 + .../src/types/VariableReferenceMap.ts.html | 88 + .../lcov-report/src/types/index.html | 671 + .../lcov-report/src/types/index.ts.html | 130 + .../lcov-report/src/types/messages.tsx.html | 529 + .../payloads/DeleteTokenGroupPayload.ts.html | 100 + .../types/payloads/DeleteTokenPayload.ts.html | 112 + .../DuplicateTokenGroupPayload.ts.html | 106 + .../payloads/DuplicateTokenPayload.ts.html | 151 + .../payloads/RenameTokenGroupPayload.ts.html | 103 + .../payloads/RenameTokensAcrossSets.ts.html | 103 + .../payloads/SetTokenDataPayload.ts.html | 139 + .../SetTokensFromStylesPayload.ts.html | 124 + .../SetTokensFromVariablesPayload.ts.html | 127 + .../ToggleManyTokenSetsPayload.ts.html | 97 + .../payloads/UpdateDocumentPayload.ts.html | 100 + .../types/payloads/UpdateTokenPayload.ts.html | 283 + .../UpdateTokenVariablePayload.ts.html | 142 + .../lcov-report/src/types/payloads/index.html | 311 + .../src/types/payloads/index.ts.html | 118 + .../types/properties/PropertyObject.ts.html | 121 + .../src/types/properties/index.html | 131 + .../src/types/properties/index.ts.html | 88 + .../src/types/redux/ActionMeta.ts.html | 94 + .../src/types/redux/AnyAction.ts.html | 121 + .../types/redux/AnyInspectStateAction.ts.html | 115 + .../redux/AnySettingsStateAction.ts.html | 115 + .../types/redux/AnyTokenStateAction.ts.html | 115 + .../src/types/redux/AnyUiStateAction.ts.html | 115 + .../lcov-report/src/types/redux/index.html | 206 + .../lcov-report/src/types/redux/index.ts.html | 88 + .../src/types/tokens/AnyTokenList.ts.html | 94 + .../src/types/tokens/AnyTokenSet.ts.html | 94 + .../src/types/tokens/DeepKeyTokenMap.ts.html | 97 + .../src/types/tokens/EditTokenObject.ts.html | 256 + .../src/types/tokens/ImportToken.ts.html | 103 + .../src/types/tokens/SingleAssetToken.ts.html | 97 + .../types/tokens/SingleBooleanToken.ts.html | 97 + .../tokens/SingleBorderRadiusToken.ts.html | 97 + .../types/tokens/SingleBorderToken.ts.html | 106 + .../tokens/SingleBorderWidthToken.ts.html | 97 + .../types/tokens/SingleBoxShadowToken.ts.html | 115 + .../src/types/tokens/SingleColorToken.ts.html | 97 + .../tokens/SingleCompositionToken.ts.html | 106 + .../types/tokens/SingleDimensionToken.ts.html | 97 + .../tokens/SingleFontFamiliesToken.ts.html | 97 + .../types/tokens/SingleFontSizesToken.ts.html | 97 + .../tokens/SingleFontWeightsToken.ts.html | 97 + .../types/tokens/SingleGenericToken.ts.html | 169 + .../tokens/SingleLetterSpacingToken.ts.html | 97 + .../tokens/SingleLineHeightsToken.ts.html | 97 + .../types/tokens/SingleNumberToken.ts.html | 97 + .../types/tokens/SingleOpacityToken.ts.html | 97 + .../src/types/tokens/SingleOtherToken.ts.html | 97 + .../SingleParagraphSpacingToken.ts.html | 97 + .../types/tokens/SingleSizingToken.ts.html | 97 + .../types/tokens/SingleSpacingToken.ts.html | 97 + .../types/tokens/SingleTextCaseToken.ts.html | 100 + .../tokens/SingleTextDecorationToken.ts.html | 100 + .../src/types/tokens/SingleTextToken.ts.html | 100 + .../src/types/tokens/SingleToken.ts.html | 238 + .../tokens/SingleTypographyToken.ts.html | 124 + .../src/types/tokens/TokenToRename.ts.html | 97 + .../src/types/tokens/TokenTypeSchema.ts.html | 142 + .../src/types/tokens/TokenValues.ts.html | 103 + .../src/types/tokens/TokensStore.ts.html | 133 + .../types/tokens/TokensStoreValuesSet.ts.html | 118 + .../lcov-report/src/types/tokens/index.html | 656 + .../src/types/tokens/index.ts.html | 193 + .../lcov-report/src/types/userData.ts.html | 100 + .../lcov-report/src/types/valueTypes.ts.html | 124 + .../src/types/values/TokenBorderValue.ts.html | 100 + .../types/values/TokenBoxShadowValue.ts.html | 118 + .../types/values/TokenTextCaseValue.ts.html | 121 + .../values/TokenTextDecorationValue.ts.html | 88 + .../types/values/TokenTypographyValue.ts.html | 118 + .../lcov-report/src/types/values/index.html | 191 + .../src/types/values/index.ts.html | 100 + .../src/utils/TokenResolver.ts.html | 1087 + .../src/utils/addIdPropertyToTokens.ts.html | 199 + .../src/utils/addLicenseKey.ts.html | 232 + .../alias/checkCanReferenceVariable.tsx.html | 106 + .../src/utils/alias/checkIfAlias.tsx.html | 202 + .../utils/alias/checkIfContainsAlias.tsx.html | 106 + .../src/utils/alias/getAliasValue.ts.html | 631 + .../lcov-report/src/utils/alias/index.html | 176 + .../lcov-report/src/utils/alias/index.ts.html | 94 + .../lcov-report/src/utils/analytics.tsx.html | 196 + .../src/utils/annotations.tsx.html | 754 + .../src/utils/attemptOrFallback.ts.html | 109 + .../checkIfTokenCanCreateVariable.ts.html | 187 + .../src/utils/checkStorageSize.ts.html | 139 + .../src/utils/color/convertToRgb.ts.html | 238 + .../src/utils/color/darken.ts.html | 226 + .../utils/color/getColorSwatchStyle.ts.html | 94 + .../getReferenceTokensFromGradient.ts.html | 127 + .../lcov-report/src/utils/color/index.html | 236 + .../lcov-report/src/utils/color/index.ts.html | 97 + .../src/utils/color/isLightOrDark.ts.html | 124 + .../src/utils/color/lighten.ts.html | 220 + .../lcov-report/src/utils/color/mix.ts.html | 109 + .../src/utils/color/transparentize.ts.html | 103 + .../src/utils/compareLastSyncedState.ts.html | 178 + .../lcov-report/src/utils/convert.ts.html | 175 + .../utils/convertModifiedColorToHex.ts.html | 127 + .../utils/convertToDefaultProperty.ts.html | 247 + .../src/utils/convertToOrderObj.ts.html | 103 + .../src/utils/convertTokenNameToPath.ts.html | 124 + .../src/utils/convertTokenToFormat.ts.html | 157 + .../convertTokenTypeToVariableType.ts.html | 151 + .../src/utils/convertTokens.tsx.html | 634 + .../convertTokensObjectToResolved.ts.html | 199 + .../convertTokensToGroupedObject.ts.html | 244 + .../src/utils/convertTokensToObject.ts.html | 232 + .../convertVariableTypeToProperty.ts.html | 139 + .../lcov-report/src/utils/credentials.ts.html | 271 + .../src/utils/date/compareUpdatedAt.ts.html | 118 + .../lcov-report/src/utils/date/index.html | 131 + .../lcov-report/src/utils/date/index.ts.html | 88 + .../src/utils/detectFormat.tsx.html | 121 + .../ensureFolderIsTogether.ts.html | 148 + ...OrderableTargetIndexesInThemeList.tsx.html | 154 + .../src/utils/dragDropOrder/index.html | 146 + .../src/utils/dragDropOrder/index.ts.html | 91 + .../src/utils/error/handleReactError.ts.html | 103 + .../lcov-report/src/utils/error/index.html | 116 + .../lcov-report/src/utils/expand.ts.html | 175 + .../src/utils/fetchFeatureFlags.ts.html | 202 + .../src/utils/figma/goToNodeId.ts.html | 112 + .../lcov-report/src/utils/figma/index.html | 161 + .../lcov-report/src/utils/figma/index.ts.html | 94 + .../src/utils/figma/selectNodes.ts.html | 112 + .../utils/figma/updateLocalTokensData.ts.html | 265 + .../src/utils/figmaStorage/index.html | 131 + .../figmaStorage/readSharedPluginData.ts.html | 322 + .../writeSharedPluginData.ts.html | 496 + .../filterValidCompositionTokenTypes.ts.html | 100 + .../lcov-report/src/utils/findAll.ts.html | 154 + .../src/utils/findBoundVariable.ts.html | 142 + .../src/utils/findDifferentState.ts.html | 349 + .../src/utils/findReferences.tsx.html | 295 + .../lcov-report/src/utils/formatCount.ts.html | 145 + .../src/utils/formatNumber.ts.html | 103 + .../src/utils/formatTokens.ts.html | 319 + .../lcov-report/src/utils/fuzzySearch.ts.html | 157 + .../lcov-report/src/utils/generateId.ts.html | 109 + .../src/utils/getActiveTheme.ts.html | 112 + .../src/utils/getEffectStylesIdMap.ts.html | 103 + .../src/utils/getEffectStylesKeyMap.ts.html | 115 + .../src/utils/getLabelForProperty.tsx.html | 259 + .../src/utils/getLastOpened.ts.html | 133 + .../src/utils/getLicenseKey.ts.html | 157 + .../src/utils/getOnboardingExplainer.ts.html | 196 + .../src/utils/getPaintStylesIdMap.ts.html | 103 + .../src/utils/getPaintStylesKeyMap.ts.html | 115 + .../lcov-report/src/utils/getPathName.ts.html | 103 + .../src/utils/getProviderIcon.tsx.html | 196 + .../src/utils/getResolvedTextValue.ts.html | 175 + .../src/utils/getTextStylesIdMap.ts.html | 103 + .../src/utils/getTextStylesKeyMap.ts.html | 115 + .../src/utils/getTokenSetsOrder.ts.html | 163 + .../src/utils/getTokenTypeKey.ts.html | 103 + .../src/utils/getTokenValueKey.ts.html | 103 + .../src/utils/getUTF16StringSize.ts.html | 94 + .../src/utils/getUsedTokenSet.ts.html | 169 + .../src/utils/getValueWithReferences.ts.html | 301 + .../src/utils/getVariablesMap.ts.html | 109 + .../src/utils/hasTokenValues.ts.html | 100 + .../lcov-report/src/utils/hasTokens.ts.html | 100 + .../lcov-report/src/utils/index.html | 1691 + .../lcov-report/src/utils/is/index.html | 416 + .../lcov-report/src/utils/is/index.ts.html | 124 + .../src/utils/is/isColorToken.ts.html | 106 + .../utils/is/isCompositeBorderValue.ts.html | 148 + .../src/utils/is/isDocumentationType.ts.html | 100 + .../src/utils/is/isGitProvider.ts.html | 139 + .../src/utils/is/isMatchingStyle.ts.html | 112 + .../src/utils/is/isPartOfInstance.ts.html | 94 + .../src/utils/is/isPrimitiveValue.ts.html | 106 + .../src/utils/is/isPropertyType.ts.html | 100 + .../src/utils/is/isSingleBorderToken.ts.html | 175 + .../utils/is/isSingleBoxShadowToken.ts.html | 181 + .../utils/is/isSingleBoxShadowValue.ts.html | 154 + .../utils/is/isSingleCompositionToken.ts.html | 175 + .../isSingleInternalTokenValueObject.ts.html | 127 + .../src/utils/is/isSingleToken.ts.html | 115 + .../src/utils/is/isSingleTokenInJson.ts.html | 130 + .../utils/is/isSingleTokenValueObject.ts.html | 136 + .../utils/is/isSingleTypographyToken.ts.html | 175 + .../utils/is/isSingleTypographyValue.ts.html | 169 + .../src/utils/is/isTokenGroupWithType.ts.html | 160 + .../src/utils/is/isTokenType.ts.html | 100 + .../src/utils/isAliasReference.ts.html | 94 + .../src/utils/isAutoLayout.tsx.html | 88 + .../src/utils/isColorEqual.ts.html | 130 + .../src/utils/isEffectEqual.ts.html | 175 + .../lcov-report/src/utils/isEqual.ts.html | 379 + .../src/utils/isJSONString.ts.html | 109 + .../src/utils/isPaintEqual.ts.html | 238 + .../src/utils/isSameCredentials.ts.html | 226 + .../lcov-report/src/utils/lastIndexOf.ts.html | 109 + .../src/utils/ldUserFactory.ts.html | 127 + .../src/utils/mapThemeToVariableInfo.ts.html | 124 + .../src/utils/mapTokensToVariableInfo.ts.html | 127 + .../src/utils/matchStyleName.ts.html | 130 + .../src/utils/matchVariableName.ts.html | 112 + .../utils/math/checkAndEvaluateMath.ts.html | 346 + .../lcov-report/src/utils/math/index.html | 131 + .../lcov-report/src/utils/math/index.ts.html | 88 + .../lcov-report/src/utils/migrate.ts.html | 115 + .../lcov-report/src/utils/mixpanel.tsx.html | 94 + .../lcov-report/src/utils/modifyColor.ts.html | 193 + .../src/utils/motion/checkReorder.ts.html | 223 + .../lcov-report/src/utils/motion/index.html | 146 + .../src/utils/motion/index.ts.html | 91 + .../src/utils/motion/moveItem.ts.html | 124 + .../src/utils/normalizeVariableName.ts.html | 100 + .../lcov-report/src/utils/parseJson.ts.html | 100 + .../src/utils/parseTokenValues.ts.html | 199 + .../lcov-report/src/utils/plugin/index.html | 146 + .../src/utils/plugin/index.ts.html | 91 + .../lcov-report/src/utils/plugin/init.ts.html | 163 + .../src/utils/plugin/startup.ts.html | 283 + .../utils/removeIdPropertyFromTokens.ts.html | 124 + .../src/utils/removeLicense.ts.html | 166 + .../src/utils/removeTokenId.ts.html | 142 + .../src/utils/reorderItemInSet.ts.html | 94 + .../lcov-report/src/utils/setTokenKey.ts.html | 175 + .../sortSelectionValueByProperties.ts.html | 112 + .../lcov-report/src/utils/sortSets.ts.html | 142 + .../src/utils/splitIntoChunks.ts.html | 187 + .../lcov-report/src/utils/storyblok.ts.html | 211 + .../lcov-report/src/utils/string/index.html | 146 + .../src/utils/string/index.ts.html | 91 + .../src/utils/string/joinPath.ts.html | 106 + .../src/utils/string/slugify.ts.html | 118 + .../src/utils/string/ui/decodeBase64.ts.html | 115 + .../src/utils/string/ui/index.html | 131 + .../src/utils/string/ui/index.ts.html | 88 + .../src/utils/stringifyTokens.ts.html | 247 + .../src/utils/themeListToTree.ts.html | 280 + .../src/utils/tokenArrayGroupToMap.ts.html | 103 + .../src/utils/tokenHelpers.ts.html | 361 + .../utils/tokenset/applyTokenSetOrder.ts.html | 139 + ...leTargetIndexesInTokenSetTreeList.tsx.html | 142 + .../findParentIndexToInsertSet.ts.html | 145 + .../lcov-report/src/utils/tokenset/index.html | 221 + .../src/utils/tokenset/index.ts.html | 103 + .../tokenset/mapTokensToStyleInfo.ts.html | 172 + .../utils/tokenset/tokenSetListToList.ts.html | 127 + .../utils/tokenset/tokenSetListToTree.ts.html | 277 + .../tokenset/updateTokenSetsInState.ts.html | 418 + .../lcov-report/src/utils/transform.ts.html | 118 + .../src/utils/transformProviderName.tsx.html | 157 + .../lcov-report/src/utils/trimValue.ts.html | 139 + .../src/utils/tryApplyColorVariableId.ts.html | 223 + .../utils/tryApplyEffectVariableId.ts.html | 133 + .../src/utils/tryApplyVariableId.ts.html | 184 + .../src/utils/tryParseJson.ts.html | 109 + .../src/utils/trySetStyleId.ts.html | 247 + .../lcov-report/src/utils/types.d.ts.html | 112 + .../lcov-report/src/utils/uiSettings.ts.html | 535 + .../updateTokenPayloadToSingleToken.ts.html | 163 + .../src/utils/validateGroupName.ts.html | 526 + .../src/utils/validateLicense.ts.html | 178 + .../validateStudioTokensExtensions.ts.html | 148 + .../src/utils/waitForMessage.ts.html | 145 + .../lcov-report/src/wdyr.ts.html | 118 + packages/tokens-studio-for-figma/lcov.info | 37871 ++++++++++++++++ .../getAvailableVariableCollections.test.ts | 54 + .../src/plugin/pullVariables.test.ts | 70 + 1185 files changed, 334087 insertions(+) create mode 100644 packages/tokens-studio-for-figma/clover.xml create mode 100644 packages/tokens-studio-for-figma/coverage-final.json create mode 100644 packages/tokens-studio-for-figma/lcov-report/base.css create mode 100644 packages/tokens-studio-for-figma/lcov-report/block-navigation.js create mode 100644 packages/tokens-studio-for-figma/lcov-report/favicon.png create mode 100644 packages/tokens-studio-for-figma/lcov-report/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/prettify.css create mode 100644 packages/tokens-studio-for-figma/lcov-report/prettify.js create mode 100644 packages/tokens-studio-for-figma/lcov-report/sort-arrow-sprite.png create mode 100644 packages/tokens-studio-for-figma/lcov-report/sorter.js create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/icons/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/motion/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/stories/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html create mode 100644 packages/tokens-studio-for-figma/lcov.info create mode 100644 packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts diff --git a/packages/tokens-studio-for-figma/clover.xml b/packages/tokens-studio-for-figma/clover.xml new file mode 100644 index 000000000..a4b0a86a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/clover.xml @@ -0,0 +1,16446 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/tokens-studio-for-figma/coverage-final.json b/packages/tokens-studio-for-figma/coverage-final.json new file mode 100644 index 000000000..e6c022292 --- /dev/null +++ b/packages/tokens-studio-for-figma/coverage-final.json @@ -0,0 +1,1060 @@ +{"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannel.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannel.ts","statementMap":{"0":{"start":{"line":32,"column":54},"end":{"line":32,"column":83}},"1":{"start":{"line":34,"column":53},"end":{"line":34,"column":83}},"2":{"start":{"line":36,"column":62},"end":{"line":36,"column":64}},"3":{"start":{"line":38,"column":31},"end":{"line":38,"column":36}},"4":{"start":{"line":41,"column":4},"end":{"line":41,"column":43}},"5":{"start":{"line":45,"column":4},"end":{"line":54,"column":5}},"6":{"start":{"line":46,"column":23},"end":{"line":51,"column":7}},"7":{"start":{"line":47,"column":32},"end":{"line":47,"column":45}},"8":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"9":{"start":{"line":49,"column":10},"end":{"line":49,"column":44}},"10":{"start":{"line":52,"column":6},"end":{"line":52,"column":39}},"11":{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},"12":{"start":{"line":53,"column":19},"end":{"line":53,"column":52}},"13":{"start":{"line":56,"column":21},"end":{"line":61,"column":5}},"14":{"start":{"line":57,"column":30},"end":{"line":57,"column":64}},"15":{"start":{"line":58,"column":6},"end":{"line":60,"column":7}},"16":{"start":{"line":59,"column":8},"end":{"line":59,"column":56}},"17":{"start":{"line":62,"column":4},"end":{"line":62,"column":49}},"18":{"start":{"line":63,"column":4},"end":{"line":63,"column":65}},"19":{"start":{"line":63,"column":17},"end":{"line":63,"column":64}},"20":{"start":{"line":67,"column":4},"end":{"line":108,"column":7}},"21":{"start":{"line":69,"column":6},"end":{"line":73,"column":7}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":15}},"23":{"start":{"line":74,"column":22},"end":{"line":74,"column":116}},"24":{"start":{"line":75,"column":6},"end":{"line":107,"column":7}},"25":{"start":{"line":76,"column":8},"end":{"line":106,"column":9}},"26":{"start":{"line":79,"column":25},"end":{"line":79,"column":60}},"27":{"start":{"line":80,"column":26},"end":{"line":82,"column":40}},"28":{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},"29":{"start":{"line":85,"column":12},"end":{"line":88,"column":15}},"30":{"start":{"line":90,"column":12},"end":{"line":92,"column":20}},"31":{"start":{"line":95,"column":10},"end":{"line":95,"column":29}},"32":{"start":{"line":96,"column":10},"end":{"line":105,"column":11}},"33":{"start":{"line":97,"column":12},"end":{"line":100,"column":15}},"34":{"start":{"line":102,"column":12},"end":{"line":104,"column":20}},"35":{"start":{"line":115,"column":4},"end":{"line":115,"column":30}},"36":{"start":{"line":119,"column":22},"end":{"line":122,"column":6}},"37":{"start":{"line":123,"column":20},"end":{"line":135,"column":6}},"38":{"start":{"line":124,"column":6},"end":{"line":134,"column":9}},"39":{"start":{"line":125,"column":8},"end":{"line":132,"column":9}},"40":{"start":{"line":126,"column":10},"end":{"line":130,"column":11}},"41":{"start":{"line":127,"column":12},"end":{"line":127,"column":33}},"42":{"start":{"line":129,"column":12},"end":{"line":129,"column":30}},"43":{"start":{"line":131,"column":10},"end":{"line":131,"column":23}},"44":{"start":{"line":133,"column":8},"end":{"line":133,"column":25}},"45":{"start":{"line":136,"column":4},"end":{"line":143,"column":5}},"46":{"start":{"line":137,"column":6},"end":{"line":137,"column":55}},"47":{"start":{"line":139,"column":6},"end":{"line":142,"column":8}},"48":{"start":{"line":144,"column":4},"end":{"line":144,"column":19}},"49":{"start":{"line":148,"column":36},"end":{"line":148,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":40,"column":2},"end":{"line":40,"column":3}},"loc":{"start":{"line":40,"column":39},"end":{"line":42,"column":3}},"line":40},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":44,"column":106},"end":{"line":64,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":23},"end":{"line":46,"column":24}},"loc":{"start":{"line":46,"column":47},"end":{"line":51,"column":7}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":13},"end":{"line":53,"column":14}},"loc":{"start":{"line":53,"column":19},"end":{"line":53,"column":52}},"line":53},"4":{"name":"(anonymous_4)","decl":{"start":{"line":56,"column":21},"end":{"line":56,"column":22}},"loc":{"start":{"line":56,"column":76},"end":{"line":61,"column":5}},"line":56},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":11},"end":{"line":63,"column":12}},"loc":{"start":{"line":63,"column":17},"end":{"line":63,"column":64}},"line":63},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":2},"end":{"line":66,"column":3}},"loc":{"start":{"line":66,"column":19},"end":{"line":109,"column":3}},"line":66},"7":{"name":"(anonymous_7)","decl":{"start":{"line":67,"column":38},"end":{"line":67,"column":39}},"loc":{"start":{"line":67,"column":95},"end":{"line":108,"column":5}},"line":67},"8":{"name":"(anonymous_8)","decl":{"start":{"line":111,"column":2},"end":{"line":111,"column":3}},"loc":{"start":{"line":114,"column":4},"end":{"line":116,"column":3}},"line":114},"9":{"name":"(anonymous_9)","decl":{"start":{"line":118,"column":2},"end":{"line":118,"column":3}},"loc":{"start":{"line":118,"column":72},"end":{"line":145,"column":3}},"line":118},"10":{"name":"(anonymous_10)","decl":{"start":{"line":123,"column":81},"end":{"line":123,"column":82}},"loc":{"start":{"line":123,"column":102},"end":{"line":135,"column":5}},"line":123},"11":{"name":"(anonymous_11)","decl":{"start":{"line":124,"column":33},"end":{"line":124,"column":34}},"loc":{"start":{"line":124,"column":138},"end":{"line":134,"column":7}},"line":124}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":54,"column":5}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{},"end":{}}],"line":48},"2":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":93}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":37}},{"start":{"line":48,"column":42},"end":{"line":48,"column":57}},{"start":{"line":48,"column":61},"end":{"line":48,"column":92}}],"line":48},"3":{"loc":{"start":{"line":58,"column":6},"end":{"line":60,"column":7}},"type":"if","locations":[{"start":{"line":58,"column":6},"end":{"line":60,"column":7}},{"start":{},"end":{}}],"line":58},"4":{"loc":{"start":{"line":58,"column":10},"end":{"line":58,"column":91}},"type":"binary-expr","locations":[{"start":{"line":58,"column":10},"end":{"line":58,"column":35}},{"start":{"line":58,"column":40},"end":{"line":58,"column":55}},{"start":{"line":58,"column":59},"end":{"line":58,"column":90}}],"line":58},"5":{"loc":{"start":{"line":69,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":69},"6":{"loc":{"start":{"line":69,"column":10},"end":{"line":69,"column":83}},"type":"binary-expr","locations":[{"start":{"line":69,"column":10},"end":{"line":69,"column":14}},{"start":{"line":69,"column":18},"end":{"line":69,"column":25}},{"start":{"line":69,"column":29},"end":{"line":69,"column":41}},{"start":{"line":69,"column":45},"end":{"line":69,"column":83}}],"line":69},"7":{"loc":{"start":{"line":75,"column":6},"end":{"line":107,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":107,"column":7}},{"start":{},"end":{}}],"line":75},"8":{"loc":{"start":{"line":80,"column":26},"end":{"line":82,"column":40}},"type":"cond-expr","locations":[{"start":{"line":81,"column":14},"end":{"line":81,"column":51}},{"start":{"line":82,"column":14},"end":{"line":82,"column":40}}],"line":80},"9":{"loc":{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},"type":"if","locations":[{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},{"start":{"line":89,"column":17},"end":{"line":93,"column":11}}],"line":84},"10":{"loc":{"start":{"line":96,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":96,"column":10},"end":{"line":105,"column":11}},{"start":{"line":101,"column":17},"end":{"line":105,"column":11}}],"line":96},"11":{"loc":{"start":{"line":125,"column":8},"end":{"line":132,"column":9}},"type":"if","locations":[{"start":{"line":125,"column":8},"end":{"line":132,"column":9}},{"start":{},"end":{}}],"line":125},"12":{"loc":{"start":{"line":126,"column":10},"end":{"line":130,"column":11}},"type":"if","locations":[{"start":{"line":126,"column":10},"end":{"line":130,"column":11}},{"start":{"line":128,"column":17},"end":{"line":130,"column":11}}],"line":126},"13":{"loc":{"start":{"line":136,"column":4},"end":{"line":143,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":143,"column":5}},{"start":{"line":138,"column":11},"end":{"line":143,"column":5}}],"line":136},"14":{"loc":{"start":{"line":148,"column":36},"end":{"line":148,"column":111}},"type":"cond-expr","locations":[{"start":{"line":148,"column":63},"end":{"line":148,"column":82}},{"start":{"line":148,"column":85},"end":{"line":148,"column":111}}],"line":148}},"s":{"0":1,"1":1,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[1,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4d1c6362cfa59638072325195f7ac559cb027d95"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannelPreview.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannelPreview.ts","statementMap":{"0":{"start":{"line":33,"column":36},"end":{"line":33,"column":60}},"1":{"start":{"line":35,"column":22},"end":{"line":44,"column":1}},"2":{"start":{"line":36,"column":18},"end":{"line":36,"column":37}},"3":{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},"4":{"start":{"line":38,"column":4},"end":{"line":38,"column":21}},"5":{"start":{"line":40,"column":4},"end":{"line":42,"column":13}},"6":{"start":{"line":41,"column":6},"end":{"line":41,"column":29}},"7":{"start":{"line":46,"column":32},"end":{"line":48,"column":1}},"8":{"start":{"line":47,"column":2},"end":{"line":47,"column":45}},"9":{"start":{"line":50,"column":24},"end":{"line":52,"column":1}},"10":{"start":{"line":51,"column":2},"end":{"line":51,"column":38}},"11":{"start":{"line":54,"column":21},"end":{"line":66,"column":1}},"12":{"start":{"line":55,"column":2},"end":{"line":64,"column":3}},"13":{"start":{"line":56,"column":16},"end":{"line":56,"column":38}},"14":{"start":{"line":57,"column":4},"end":{"line":60,"column":5}},"15":{"start":{"line":58,"column":19},"end":{"line":58,"column":42}},"16":{"start":{"line":59,"column":6},"end":{"line":59,"column":18}},"17":{"start":{"line":62,"column":4},"end":{"line":62,"column":45}},"18":{"start":{"line":63,"column":4},"end":{"line":63,"column":16}},"19":{"start":{"line":65,"column":2},"end":{"line":65,"column":14}},"20":{"start":{"line":86,"column":61},"end":{"line":86,"column":97}},"21":{"start":{"line":88,"column":60},"end":{"line":88,"column":97}},"22":{"start":{"line":90,"column":62},"end":{"line":90,"column":64}},"23":{"start":{"line":92,"column":31},"end":{"line":92,"column":36}},"24":{"start":{"line":94,"column":46},"end":{"line":94,"column":50}},"25":{"start":{"line":96,"column":33},"end":{"line":96,"column":38}},"26":{"start":{"line":98,"column":35},"end":{"line":98,"column":39}},"27":{"start":{"line":100,"column":34},"end":{"line":100,"column":39}},"28":{"start":{"line":103,"column":4},"end":{"line":103,"column":43}},"29":{"start":{"line":104,"column":4},"end":{"line":110,"column":5}},"30":{"start":{"line":105,"column":6},"end":{"line":105,"column":44}},"31":{"start":{"line":106,"column":11},"end":{"line":110,"column":5}},"32":{"start":{"line":107,"column":6},"end":{"line":107,"column":45}},"33":{"start":{"line":109,"column":6},"end":{"line":109,"column":40}},"34":{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},"35":{"start":{"line":113,"column":6},"end":{"line":113,"column":28}},"36":{"start":{"line":117,"column":33},"end":{"line":119,"column":3}},"37":{"start":{"line":118,"column":4},"end":{"line":118,"column":65}},"38":{"start":{"line":121,"column":35},"end":{"line":123,"column":3}},"39":{"start":{"line":122,"column":4},"end":{"line":122,"column":70}},"40":{"start":{"line":126,"column":4},"end":{"line":126,"column":19}},"41":{"start":{"line":129,"column":90},"end":{"line":129,"column":95}},"42":{"start":{"line":130,"column":21},"end":{"line":135,"column":5}},"43":{"start":{"line":131,"column":30},"end":{"line":131,"column":55}},"44":{"start":{"line":132,"column":6},"end":{"line":134,"column":7}},"45":{"start":{"line":133,"column":8},"end":{"line":133,"column":49}},"46":{"start":{"line":137,"column":4},"end":{"line":137,"column":20}},"47":{"start":{"line":141,"column":4},"end":{"line":171,"column":5}},"48":{"start":{"line":143,"column":25},"end":{"line":143,"column":69}},"49":{"start":{"line":144,"column":8},"end":{"line":144,"column":41}},"50":{"start":{"line":145,"column":8},"end":{"line":145,"column":55}},"51":{"start":{"line":145,"column":21},"end":{"line":145,"column":54}},"52":{"start":{"line":149,"column":27},"end":{"line":151,"column":16}},"53":{"start":{"line":152,"column":25},"end":{"line":156,"column":9}},"54":{"start":{"line":155,"column":59},"end":{"line":155,"column":83}},"55":{"start":{"line":157,"column":8},"end":{"line":157,"column":53}},"56":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"57":{"start":{"line":159,"column":10},"end":{"line":159,"column":59}},"58":{"start":{"line":161,"column":8},"end":{"line":166,"column":10}},"59":{"start":{"line":162,"column":10},"end":{"line":162,"column":58}},"60":{"start":{"line":163,"column":10},"end":{"line":165,"column":11}},"61":{"start":{"line":164,"column":12},"end":{"line":164,"column":64}},"62":{"start":{"line":169,"column":8},"end":{"line":169,"column":20}},"63":{"start":{"line":175,"column":4},"end":{"line":188,"column":5}},"64":{"start":{"line":176,"column":6},"end":{"line":176,"column":52}},"65":{"start":{"line":177,"column":19},"end":{"line":177,"column":23}},"66":{"start":{"line":178,"column":6},"end":{"line":180,"column":9}},"67":{"start":{"line":179,"column":8},"end":{"line":179,"column":34}},"68":{"start":{"line":181,"column":6},"end":{"line":187,"column":9}},"69":{"start":{"line":182,"column":8},"end":{"line":182,"column":35}},"70":{"start":{"line":183,"column":8},"end":{"line":186,"column":17}},"71":{"start":{"line":184,"column":10},"end":{"line":184,"column":25}},"72":{"start":{"line":185,"column":10},"end":{"line":185,"column":42}},"73":{"start":{"line":190,"column":4},"end":{"line":194,"column":6}},"74":{"start":{"line":191,"column":6},"end":{"line":193,"column":7}},"75":{"start":{"line":192,"column":8},"end":{"line":192,"column":24}},"76":{"start":{"line":197,"column":27},"end":{"line":249,"column":3}},"77":{"start":{"line":199,"column":4},"end":{"line":210,"column":5}},"78":{"start":{"line":201,"column":6},"end":{"line":208,"column":7}},"79":{"start":{"line":202,"column":8},"end":{"line":206,"column":9}},"80":{"start":{"line":203,"column":10},"end":{"line":203,"column":74}},"81":{"start":{"line":205,"column":10},"end":{"line":205,"column":39}},"82":{"start":{"line":207,"column":8},"end":{"line":207,"column":15}},"83":{"start":{"line":209,"column":6},"end":{"line":209,"column":13}},"84":{"start":{"line":211,"column":20},"end":{"line":211,"column":114}},"85":{"start":{"line":212,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":213,"column":6},"end":{"line":217,"column":7}},"87":{"start":{"line":214,"column":8},"end":{"line":214,"column":72}},"88":{"start":{"line":216,"column":8},"end":{"line":216,"column":37}},"89":{"start":{"line":218,"column":6},"end":{"line":218,"column":13}},"90":{"start":{"line":220,"column":4},"end":{"line":248,"column":5}},"91":{"start":{"line":221,"column":6},"end":{"line":247,"column":7}},"92":{"start":{"line":224,"column":23},"end":{"line":224,"column":58}},"93":{"start":{"line":225,"column":24},"end":{"line":225,"column":99}},"94":{"start":{"line":227,"column":8},"end":{"line":236,"column":9}},"95":{"start":{"line":228,"column":10},"end":{"line":231,"column":13}},"96":{"start":{"line":232,"column":15},"end":{"line":236,"column":9}},"97":{"start":{"line":233,"column":10},"end":{"line":233,"column":103}},"98":{"start":{"line":235,"column":10},"end":{"line":235,"column":68}},"99":{"start":{"line":238,"column":8},"end":{"line":238,"column":27}},"100":{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},"101":{"start":{"line":240,"column":10},"end":{"line":243,"column":13}},"102":{"start":{"line":245,"column":10},"end":{"line":245,"column":62}},"103":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"104":{"start":{"line":253,"column":6},"end":{"line":253,"column":38}},"105":{"start":{"line":256,"column":4},"end":{"line":256,"column":59}},"106":{"start":{"line":260,"column":4},"end":{"line":260,"column":30}},"107":{"start":{"line":264,"column":22},"end":{"line":267,"column":6}},"108":{"start":{"line":268,"column":20},"end":{"line":282,"column":6}},"109":{"start":{"line":269,"column":6},"end":{"line":281,"column":8}},"110":{"start":{"line":271,"column":10},"end":{"line":278,"column":11}},"111":{"start":{"line":272,"column":12},"end":{"line":276,"column":13}},"112":{"start":{"line":273,"column":14},"end":{"line":273,"column":35}},"113":{"start":{"line":275,"column":14},"end":{"line":275,"column":32}},"114":{"start":{"line":277,"column":12},"end":{"line":277,"column":25}},"115":{"start":{"line":279,"column":10},"end":{"line":279,"column":27}},"116":{"start":{"line":283,"column":4},"end":{"line":303,"column":5}},"117":{"start":{"line":285,"column":8},"end":{"line":285,"column":81}},"118":{"start":{"line":286,"column":8},"end":{"line":286,"column":14}},"119":{"start":{"line":289,"column":8},"end":{"line":293,"column":9}},"120":{"start":{"line":290,"column":10},"end":{"line":290,"column":64}},"121":{"start":{"line":292,"column":10},"end":{"line":292,"column":62}},"122":{"start":{"line":294,"column":8},"end":{"line":294,"column":14}},"123":{"start":{"line":297,"column":8},"end":{"line":297,"column":64}},"124":{"start":{"line":298,"column":8},"end":{"line":298,"column":14}},"125":{"start":{"line":301,"column":8},"end":{"line":301,"column":14}},"126":{"start":{"line":304,"column":4},"end":{"line":304,"column":19}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":35,"column":22},"end":{"line":35,"column":23}},"loc":{"start":{"line":35,"column":53},"end":{"line":44,"column":1}},"line":35},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":15},"end":{"line":40,"column":16}},"loc":{"start":{"line":40,"column":21},"end":{"line":42,"column":5}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":32},"end":{"line":46,"column":33}},"loc":{"start":{"line":46,"column":51},"end":{"line":48,"column":1}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":24},"end":{"line":50,"column":25}},"loc":{"start":{"line":50,"column":43},"end":{"line":52,"column":1}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":21},"end":{"line":54,"column":22}},"loc":{"start":{"line":54,"column":32},"end":{"line":66,"column":1}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":102,"column":2},"end":{"line":102,"column":3}},"loc":{"start":{"line":102,"column":39},"end":{"line":115,"column":3}},"line":102},"6":{"name":"(anonymous_6)","decl":{"start":{"line":117,"column":33},"end":{"line":117,"column":34}},"loc":{"start":{"line":117,"column":42},"end":{"line":119,"column":3}},"line":117},"7":{"name":"(anonymous_7)","decl":{"start":{"line":121,"column":35},"end":{"line":121,"column":36}},"loc":{"start":{"line":121,"column":44},"end":{"line":123,"column":3}},"line":121},"8":{"name":"(anonymous_8)","decl":{"start":{"line":125,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":125,"column":17},"end":{"line":127,"column":3}},"line":125},"9":{"name":"(anonymous_9)","decl":{"start":{"line":129,"column":2},"end":{"line":129,"column":3}},"loc":{"start":{"line":129,"column":97},"end":{"line":138,"column":3}},"line":129},"10":{"name":"(anonymous_10)","decl":{"start":{"line":129,"column":79},"end":{"line":129,"column":80}},"loc":{"start":{"line":129,"column":90},"end":{"line":129,"column":95}},"line":129},"11":{"name":"(anonymous_11)","decl":{"start":{"line":130,"column":21},"end":{"line":130,"column":22}},"loc":{"start":{"line":130,"column":45},"end":{"line":135,"column":5}},"line":130},"12":{"name":"(anonymous_12)","decl":{"start":{"line":140,"column":2},"end":{"line":140,"column":3}},"loc":{"start":{"line":140,"column":106},"end":{"line":172,"column":3}},"line":140},"13":{"name":"(anonymous_13)","decl":{"start":{"line":145,"column":15},"end":{"line":145,"column":16}},"loc":{"start":{"line":145,"column":21},"end":{"line":145,"column":54}},"line":145},"14":{"name":"(anonymous_14)","decl":{"start":{"line":155,"column":10},"end":{"line":155,"column":11}},"loc":{"start":{"line":155,"column":59},"end":{"line":155,"column":83}},"line":155},"15":{"name":"(anonymous_15)","decl":{"start":{"line":161,"column":15},"end":{"line":161,"column":16}},"loc":{"start":{"line":161,"column":21},"end":{"line":166,"column":9}},"line":161},"16":{"name":"(anonymous_16)","decl":{"start":{"line":174,"column":2},"end":{"line":174,"column":3}},"loc":{"start":{"line":174,"column":37},"end":{"line":195,"column":3}},"line":174},"17":{"name":"(anonymous_17)","decl":{"start":{"line":178,"column":39},"end":{"line":178,"column":40}},"loc":{"start":{"line":178,"column":45},"end":{"line":180,"column":7}},"line":178},"18":{"name":"(anonymous_18)","decl":{"start":{"line":181,"column":40},"end":{"line":181,"column":41}},"loc":{"start":{"line":181,"column":46},"end":{"line":187,"column":7}},"line":181},"19":{"name":"(anonymous_19)","decl":{"start":{"line":183,"column":19},"end":{"line":183,"column":20}},"loc":{"start":{"line":183,"column":25},"end":{"line":186,"column":9}},"line":183},"20":{"name":"(anonymous_20)","decl":{"start":{"line":190,"column":11},"end":{"line":190,"column":12}},"loc":{"start":{"line":190,"column":17},"end":{"line":194,"column":5}},"line":190},"21":{"name":"(anonymous_21)","decl":{"start":{"line":197,"column":27},"end":{"line":197,"column":28}},"loc":{"start":{"line":197,"column":108},"end":{"line":249,"column":3}},"line":197},"22":{"name":"(anonymous_22)","decl":{"start":{"line":251,"column":2},"end":{"line":251,"column":3}},"loc":{"start":{"line":251,"column":19},"end":{"line":257,"column":3}},"line":251},"23":{"name":"(anonymous_23)","decl":{"start":{"line":259,"column":2},"end":{"line":259,"column":3}},"loc":{"start":{"line":259,"column":90},"end":{"line":261,"column":3}},"line":259},"24":{"name":"(anonymous_24)","decl":{"start":{"line":263,"column":2},"end":{"line":263,"column":3}},"loc":{"start":{"line":263,"column":72},"end":{"line":305,"column":3}},"line":263},"25":{"name":"(anonymous_25)","decl":{"start":{"line":268,"column":81},"end":{"line":268,"column":82}},"loc":{"start":{"line":268,"column":102},"end":{"line":282,"column":5}},"line":268},"26":{"name":"(anonymous_26)","decl":{"start":{"line":270,"column":8},"end":{"line":270,"column":9}},"loc":{"start":{"line":270,"column":113},"end":{"line":280,"column":9}},"line":270}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},{"start":{"line":39,"column":9},"end":{"line":43,"column":3}}],"line":37},"1":{"loc":{"start":{"line":37,"column":6},"end":{"line":37,"column":31}},"type":"binary-expr","locations":[{"start":{"line":37,"column":6},"end":{"line":37,"column":8}},{"start":{"line":37,"column":12},"end":{"line":37,"column":31}}],"line":37},"2":{"loc":{"start":{"line":57,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":57},"3":{"loc":{"start":{"line":104,"column":4},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":104,"column":4},"end":{"line":110,"column":5}},{"start":{"line":106,"column":11},"end":{"line":110,"column":5}}],"line":104},"4":{"loc":{"start":{"line":106,"column":11},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":11},"end":{"line":110,"column":5}},{"start":{"line":108,"column":11},"end":{"line":110,"column":5}}],"line":106},"5":{"loc":{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},{"start":{},"end":{}}],"line":112},"6":{"loc":{"start":{"line":129,"column":66},"end":{"line":129,"column":95}},"type":"default-arg","locations":[{"start":{"line":129,"column":79},"end":{"line":129,"column":95}}],"line":129},"7":{"loc":{"start":{"line":132,"column":6},"end":{"line":134,"column":7}},"type":"if","locations":[{"start":{"line":132,"column":6},"end":{"line":134,"column":7}},{"start":{},"end":{}}],"line":132},"8":{"loc":{"start":{"line":132,"column":10},"end":{"line":132,"column":93}},"type":"binary-expr","locations":[{"start":{"line":132,"column":10},"end":{"line":132,"column":35}},{"start":{"line":132,"column":40},"end":{"line":132,"column":55}},{"start":{"line":132,"column":59},"end":{"line":132,"column":92}}],"line":132},"9":{"loc":{"start":{"line":141,"column":4},"end":{"line":171,"column":5}},"type":"switch","locations":[{"start":{"line":142,"column":6},"end":{"line":146,"column":7}},{"start":{"line":147,"column":6},"end":{"line":147,"column":31}},{"start":{"line":148,"column":6},"end":{"line":167,"column":7}},{"start":{"line":168,"column":6},"end":{"line":170,"column":7}}],"line":141},"10":{"loc":{"start":{"line":149,"column":27},"end":{"line":151,"column":16}},"type":"cond-expr","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":86}},{"start":{"line":151,"column":12},"end":{"line":151,"column":16}}],"line":149},"11":{"loc":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},{"start":{},"end":{}}],"line":158},"12":{"loc":{"start":{"line":163,"column":10},"end":{"line":165,"column":11}},"type":"if","locations":[{"start":{"line":163,"column":10},"end":{"line":165,"column":11}},{"start":{},"end":{}}],"line":163},"13":{"loc":{"start":{"line":175,"column":4},"end":{"line":188,"column":5}},"type":"if","locations":[{"start":{"line":175,"column":4},"end":{"line":188,"column":5}},{"start":{},"end":{}}],"line":175},"14":{"loc":{"start":{"line":191,"column":6},"end":{"line":193,"column":7}},"type":"if","locations":[{"start":{"line":191,"column":6},"end":{"line":193,"column":7}},{"start":{},"end":{}}],"line":191},"15":{"loc":{"start":{"line":199,"column":4},"end":{"line":210,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":210,"column":5}},{"start":{},"end":{}}],"line":199},"16":{"loc":{"start":{"line":199,"column":8},"end":{"line":199,"column":81}},"type":"binary-expr","locations":[{"start":{"line":199,"column":8},"end":{"line":199,"column":12}},{"start":{"line":199,"column":16},"end":{"line":199,"column":23}},{"start":{"line":199,"column":27},"end":{"line":199,"column":39}},{"start":{"line":199,"column":43},"end":{"line":199,"column":81}}],"line":199},"17":{"loc":{"start":{"line":201,"column":6},"end":{"line":208,"column":7}},"type":"if","locations":[{"start":{"line":201,"column":6},"end":{"line":208,"column":7}},{"start":{},"end":{}}],"line":201},"18":{"loc":{"start":{"line":201,"column":10},"end":{"line":201,"column":67}},"type":"binary-expr","locations":[{"start":{"line":201,"column":10},"end":{"line":201,"column":28}},{"start":{"line":201,"column":32},"end":{"line":201,"column":67}}],"line":201},"19":{"loc":{"start":{"line":202,"column":8},"end":{"line":206,"column":9}},"type":"if","locations":[{"start":{"line":202,"column":8},"end":{"line":206,"column":9}},{"start":{"line":204,"column":15},"end":{"line":206,"column":9}}],"line":202},"20":{"loc":{"start":{"line":212,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":212,"column":4},"end":{"line":219,"column":5}},{"start":{},"end":{}}],"line":212},"21":{"loc":{"start":{"line":212,"column":8},"end":{"line":212,"column":61}},"type":"binary-expr","locations":[{"start":{"line":212,"column":8},"end":{"line":212,"column":43}},{"start":{"line":212,"column":47},"end":{"line":212,"column":61}}],"line":212},"22":{"loc":{"start":{"line":213,"column":6},"end":{"line":217,"column":7}},"type":"if","locations":[{"start":{"line":213,"column":6},"end":{"line":217,"column":7}},{"start":{"line":215,"column":13},"end":{"line":217,"column":7}}],"line":213},"23":{"loc":{"start":{"line":220,"column":4},"end":{"line":248,"column":5}},"type":"if","locations":[{"start":{"line":220,"column":4},"end":{"line":248,"column":5}},{"start":{},"end":{}}],"line":220},"24":{"loc":{"start":{"line":225,"column":24},"end":{"line":225,"column":99}},"type":"cond-expr","locations":[{"start":{"line":225,"column":33},"end":{"line":225,"column":70}},{"start":{"line":225,"column":73},"end":{"line":225,"column":99}}],"line":225},"25":{"loc":{"start":{"line":227,"column":8},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":227,"column":8},"end":{"line":236,"column":9}},{"start":{"line":232,"column":15},"end":{"line":236,"column":9}}],"line":227},"26":{"loc":{"start":{"line":232,"column":15},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":232,"column":15},"end":{"line":236,"column":9}},{"start":{"line":234,"column":15},"end":{"line":236,"column":9}}],"line":232},"27":{"loc":{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},{"start":{"line":244,"column":15},"end":{"line":246,"column":9}}],"line":239},"28":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{},"end":{}}],"line":252},"29":{"loc":{"start":{"line":252,"column":8},"end":{"line":252,"column":65}},"type":"binary-expr","locations":[{"start":{"line":252,"column":8},"end":{"line":252,"column":47}},{"start":{"line":252,"column":51},"end":{"line":252,"column":65}}],"line":252},"30":{"loc":{"start":{"line":271,"column":10},"end":{"line":278,"column":11}},"type":"if","locations":[{"start":{"line":271,"column":10},"end":{"line":278,"column":11}},{"start":{},"end":{}}],"line":271},"31":{"loc":{"start":{"line":272,"column":12},"end":{"line":276,"column":13}},"type":"if","locations":[{"start":{"line":272,"column":12},"end":{"line":276,"column":13}},{"start":{"line":274,"column":19},"end":{"line":276,"column":13}}],"line":272},"32":{"loc":{"start":{"line":283,"column":4},"end":{"line":303,"column":5}},"type":"switch","locations":[{"start":{"line":284,"column":6},"end":{"line":287,"column":7}},{"start":{"line":288,"column":6},"end":{"line":295,"column":7}},{"start":{"line":296,"column":6},"end":{"line":299,"column":7}},{"start":{"line":300,"column":6},"end":{"line":302,"column":7}}],"line":283},"33":{"loc":{"start":{"line":289,"column":8},"end":{"line":293,"column":9}},"type":"if","locations":[{"start":{"line":289,"column":8},"end":{"line":293,"column":9}},{"start":{"line":291,"column":15},"end":{"line":293,"column":9}}],"line":289}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":0,"9":1,"10":0,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":1,"21":1,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2,"30":1,"31":1,"32":0,"33":1,"34":2,"35":0,"36":2,"37":0,"38":2,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":2,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[1,1],"4":[0,1],"5":[0,2],"6":[0],"7":[0,0],"8":[0,0,0],"9":[0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0],"33":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c99e9b7ef7969fc2ae1243e5f4d6c8871bf86f20"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stitches.config.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stitches.config.ts","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":42,"column":2}},"1":{"start":{"line":46,"column":4},"end":{"line":46,"column":20}},"2":{"start":{"line":48,"column":23},"end":{"line":57,"column":2}},"3":{"start":{"line":59,"column":22},"end":{"line":68,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/supabase.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/supabase.ts","statementMap":{"0":{"start":{"line":10,"column":16},"end":{"line":10,"column":26}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":28}},"2":{"start":{"line":38,"column":4},"end":{"line":38,"column":25}},"3":{"start":{"line":39,"column":4},"end":{"line":39,"column":25}},"4":{"start":{"line":40,"column":4},"end":{"line":40,"column":45}},"5":{"start":{"line":41,"column":4},"end":{"line":41,"column":89}},"6":{"start":{"line":45,"column":47},"end":{"line":45,"column":49}},"7":{"start":{"line":46,"column":23},"end":{"line":46,"column":74}},"8":{"start":{"line":47,"column":4},"end":{"line":47,"column":57}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":51}},"10":{"start":{"line":49,"column":4},"end":{"line":49,"column":49}},"11":{"start":{"line":50,"column":4},"end":{"line":50,"column":19}},"12":{"start":{"line":54,"column":4},"end":{"line":57,"column":7}},"13":{"start":{"line":61,"column":21},"end":{"line":61,"column":58}},"14":{"start":{"line":62,"column":22},"end":{"line":65,"column":6}},"15":{"start":{"line":66,"column":4},"end":{"line":66,"column":21}},"16":{"start":{"line":70,"column":24},"end":{"line":70,"column":64}},"17":{"start":{"line":71,"column":27},"end":{"line":71,"column":46}},"18":{"start":{"line":72,"column":4},"end":{"line":72,"column":42}},"19":{"start":{"line":73,"column":20},"end":{"line":73,"column":66}},"20":{"start":{"line":74,"column":4},"end":{"line":74,"column":19}},"21":{"start":{"line":78,"column":4},"end":{"line":78,"column":21}},"22":{"start":{"line":79,"column":4},"end":{"line":79,"column":45}},"23":{"start":{"line":80,"column":4},"end":{"line":80,"column":42}},"24":{"start":{"line":81,"column":4},"end":{"line":81,"column":38}},"25":{"start":{"line":82,"column":4},"end":{"line":82,"column":48}},"26":{"start":{"line":83,"column":4},"end":{"line":83,"column":45}},"27":{"start":{"line":86,"column":4},"end":{"line":86,"column":45}},"28":{"start":{"line":87,"column":4},"end":{"line":107,"column":38}},"29":{"start":{"line":88,"column":25},"end":{"line":88,"column":46}},"30":{"start":{"line":89,"column":6},"end":{"line":106,"column":7}},"31":{"start":{"line":90,"column":32},"end":{"line":92,"column":10}},"32":{"start":{"line":93,"column":8},"end":{"line":105,"column":9}},"33":{"start":{"line":94,"column":10},"end":{"line":94,"column":36}},"34":{"start":{"line":95,"column":10},"end":{"line":98,"column":13}},"35":{"start":{"line":100,"column":10},"end":{"line":103,"column":13}},"36":{"start":{"line":104,"column":10},"end":{"line":104,"column":51}},"37":{"start":{"line":111,"column":16},"end":{"line":111,"column":43}},"38":{"start":{"line":112,"column":17},"end":{"line":112,"column":38}},"39":{"start":{"line":113,"column":4},"end":{"line":119,"column":5}},"40":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"41":{"start":{"line":116,"column":8},"end":{"line":116,"column":22}},"42":{"start":{"line":118,"column":6},"end":{"line":118,"column":20}},"43":{"start":{"line":121,"column":4},"end":{"line":121,"column":21}},"44":{"start":{"line":125,"column":4},"end":{"line":125,"column":21}},"45":{"start":{"line":126,"column":4},"end":{"line":126,"column":45}},"46":{"start":{"line":130,"column":23},"end":{"line":130,"column":44}},"47":{"start":{"line":131,"column":4},"end":{"line":150,"column":5}},"48":{"start":{"line":133,"column":30},"end":{"line":135,"column":8}},"49":{"start":{"line":137,"column":6},"end":{"line":143,"column":7}},"50":{"start":{"line":138,"column":8},"end":{"line":138,"column":23}},"51":{"start":{"line":141,"column":8},"end":{"line":141,"column":34}},"52":{"start":{"line":142,"column":8},"end":{"line":142,"column":23}},"53":{"start":{"line":144,"column":11},"end":{"line":150,"column":5}},"54":{"start":{"line":145,"column":6},"end":{"line":145,"column":21}},"55":{"start":{"line":146,"column":11},"end":{"line":150,"column":5}},"56":{"start":{"line":148,"column":6},"end":{"line":148,"column":32}},"57":{"start":{"line":149,"column":6},"end":{"line":149,"column":21}},"58":{"start":{"line":154,"column":4},"end":{"line":173,"column":5}},"59":{"start":{"line":155,"column":19},"end":{"line":159,"column":34}},"60":{"start":{"line":159,"column":23},"end":{"line":159,"column":33}},"61":{"start":{"line":161,"column":6},"end":{"line":163,"column":7}},"62":{"start":{"line":162,"column":8},"end":{"line":162,"column":43}},"63":{"start":{"line":165,"column":18},"end":{"line":165,"column":45}},"64":{"start":{"line":166,"column":23},"end":{"line":166,"column":81}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":36}},"66":{"start":{"line":170,"column":6},"end":{"line":170,"column":45}},"67":{"start":{"line":172,"column":6},"end":{"line":172,"column":35}},"68":{"start":{"line":177,"column":16},"end":{"line":177,"column":80}},"69":{"start":{"line":178,"column":4},"end":{"line":196,"column":5}},"70":{"start":{"line":179,"column":19},"end":{"line":183,"column":34}},"71":{"start":{"line":183,"column":23},"end":{"line":183,"column":33}},"72":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"73":{"start":{"line":186,"column":8},"end":{"line":186,"column":43}},"74":{"start":{"line":188,"column":18},"end":{"line":188,"column":45}},"75":{"start":{"line":189,"column":23},"end":{"line":189,"column":81}},"76":{"start":{"line":192,"column":6},"end":{"line":192,"column":36}},"77":{"start":{"line":193,"column":6},"end":{"line":193,"column":45}},"78":{"start":{"line":195,"column":6},"end":{"line":195,"column":35}},"79":{"start":{"line":207,"column":4},"end":{"line":207,"column":45}},"80":{"start":{"line":211,"column":17},"end":{"line":211,"column":104}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":37,"column":2},"end":{"line":37,"column":3}},"loc":{"start":{"line":37,"column":46},"end":{"line":42,"column":3}},"line":37},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":44,"column":75},"end":{"line":51,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":2},"end":{"line":53,"column":3}},"loc":{"start":{"line":53,"column":61},"end":{"line":58,"column":3}},"line":53},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":2},"end":{"line":60,"column":3}},"loc":{"start":{"line":60,"column":26},"end":{"line":67,"column":3}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":69,"column":24},"end":{"line":75,"column":3}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":41},"end":{"line":108,"column":3}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":87,"column":44},"end":{"line":87,"column":45}},"loc":{"start":{"line":87,"column":56},"end":{"line":107,"column":5}},"line":87},"7":{"name":"(anonymous_7)","decl":{"start":{"line":110,"column":2},"end":{"line":110,"column":3}},"loc":{"start":{"line":110,"column":37},"end":{"line":122,"column":3}},"line":110},"8":{"name":"(anonymous_8)","decl":{"start":{"line":124,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":124,"column":11},"end":{"line":127,"column":3}},"line":124},"9":{"name":"(anonymous_9)","decl":{"start":{"line":129,"column":2},"end":{"line":129,"column":3}},"loc":{"start":{"line":129,"column":78},"end":{"line":151,"column":3}},"line":129},"10":{"name":"(anonymous_10)","decl":{"start":{"line":153,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":153,"column":31},"end":{"line":174,"column":3}},"line":153},"11":{"name":"(anonymous_11)","decl":{"start":{"line":159,"column":14},"end":{"line":159,"column":15}},"loc":{"start":{"line":159,"column":23},"end":{"line":159,"column":33}},"line":159},"12":{"name":"(anonymous_12)","decl":{"start":{"line":176,"column":2},"end":{"line":176,"column":3}},"loc":{"start":{"line":176,"column":31},"end":{"line":197,"column":3}},"line":176},"13":{"name":"(anonymous_13)","decl":{"start":{"line":183,"column":14},"end":{"line":183,"column":15}},"loc":{"start":{"line":183,"column":23},"end":{"line":183,"column":33}},"line":183},"14":{"name":"(anonymous_14)","decl":{"start":{"line":206,"column":2},"end":{"line":206,"column":3}},"loc":{"start":{"line":206,"column":88},"end":{"line":208,"column":3}},"line":206}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":23},"end":{"line":46,"column":74}},"type":"binary-expr","locations":[{"start":{"line":46,"column":23},"end":{"line":46,"column":41}},{"start":{"line":46,"column":45},"end":{"line":46,"column":74}}],"line":46},"1":{"loc":{"start":{"line":47,"column":21},"end":{"line":47,"column":56}},"type":"binary-expr","locations":[{"start":{"line":47,"column":21},"end":{"line":47,"column":50}},{"start":{"line":47,"column":54},"end":{"line":47,"column":56}}],"line":47},"2":{"loc":{"start":{"line":89,"column":6},"end":{"line":106,"column":7}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":106,"column":7}},{"start":{},"end":{}}],"line":89},"3":{"loc":{"start":{"line":93,"column":8},"end":{"line":105,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":105,"column":9}},{"start":{"line":99,"column":15},"end":{"line":105,"column":9}}],"line":93},"4":{"loc":{"start":{"line":113,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":119,"column":5}},{"start":{},"end":{}}],"line":113},"5":{"loc":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"type":"if","locations":[{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},{"start":{},"end":{}}],"line":115},"6":{"loc":{"start":{"line":131,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":150,"column":5}},{"start":{"line":144,"column":11},"end":{"line":150,"column":5}}],"line":131},"7":{"loc":{"start":{"line":137,"column":6},"end":{"line":143,"column":7}},"type":"if","locations":[{"start":{"line":137,"column":6},"end":{"line":143,"column":7}},{"start":{"line":139,"column":13},"end":{"line":143,"column":7}}],"line":137},"8":{"loc":{"start":{"line":144,"column":11},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":144,"column":11},"end":{"line":150,"column":5}},{"start":{"line":146,"column":11},"end":{"line":150,"column":5}}],"line":144},"9":{"loc":{"start":{"line":146,"column":11},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":146,"column":11},"end":{"line":150,"column":5}},{"start":{},"end":{}}],"line":146},"10":{"loc":{"start":{"line":161,"column":6},"end":{"line":163,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":163,"column":7}},{"start":{},"end":{}}],"line":161},"11":{"loc":{"start":{"line":177,"column":37},"end":{"line":177,"column":78}},"type":"cond-expr","locations":[{"start":{"line":177,"column":50},"end":{"line":177,"column":60}},{"start":{"line":177,"column":63},"end":{"line":177,"column":78}}],"line":177},"12":{"loc":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"type":"if","locations":[{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},{"start":{},"end":{}}],"line":185},"13":{"loc":{"start":{"line":206,"column":24},"end":{"line":206,"column":69}},"type":"default-arg","locations":[{"start":{"line":206,"column":55},"end":{"line":206,"column":69}}],"line":206},"14":{"loc":{"start":{"line":211,"column":36},"end":{"line":211,"column":66}},"type":"binary-expr","locations":[{"start":{"line":211,"column":36},"end":{"line":211,"column":60}},{"start":{"line":211,"column":64},"end":{"line":211,"column":66}}],"line":211},"15":{"loc":{"start":{"line":211,"column":68},"end":{"line":211,"column":103}},"type":"binary-expr","locations":[{"start":{"line":211,"column":68},"end":{"line":211,"column":97}},{"start":{"line":211,"column":101},"end":{"line":211,"column":103}}],"line":211}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0],"14":[0,0],"15":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/wdyr.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/wdyr.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":11,"column":3}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/index.tsx","statementMap":{"0":{"start":{"line":12,"column":0},"end":{"line":12,"column":22}},"1":{"start":{"line":13,"column":0},"end":{"line":13,"column":19}},"2":{"start":{"line":15,"column":0},"end":{"line":15,"column":44}},"3":{"start":{"line":16,"column":0},"end":{"line":16,"column":103}},"4":{"start":{"line":18,"column":0},"end":{"line":18,"column":10}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/sentry.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/sentry.ts","statementMap":{"0":{"start":{"line":5,"column":12},"end":{"line":5,"column":34}},"1":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}},"2":{"start":{"line":9,"column":21},"end":{"line":9,"column":68}},"3":{"start":{"line":10,"column":20},"end":{"line":10,"column":64}},"4":{"start":{"line":12,"column":22},"end":{"line":16,"column":2}},"5":{"start":{"line":18,"column":27},"end":{"line":33,"column":1}},"6":{"start":{"line":19,"column":2},"end":{"line":32,"column":11}},"7":{"start":{"line":20,"column":4},"end":{"line":31,"column":5}},"8":{"start":{"line":21,"column":21},"end":{"line":21,"column":55}},"9":{"start":{"line":23,"column":6},"end":{"line":28,"column":7}},"10":{"start":{"line":24,"column":8},"end":{"line":27,"column":9}},"11":{"start":{"line":26,"column":10},"end":{"line":26,"column":46}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":62}},"13":{"start":{"line":35,"column":32},"end":{"line":57,"column":1}},"14":{"start":{"line":36,"column":2},"end":{"line":56,"column":3}},"15":{"start":{"line":40,"column":6},"end":{"line":51,"column":9}},"16":{"start":{"line":52,"column":6},"end":{"line":52,"column":36}},"17":{"start":{"line":53,"column":6},"end":{"line":53,"column":12}},"18":{"start":{"line":55,"column":6},"end":{"line":55,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":27},"end":{"line":18,"column":28}},"loc":{"start":{"line":18,"column":33},"end":{"line":33,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":13},"end":{"line":19,"column":14}},"loc":{"start":{"line":19,"column":19},"end":{"line":32,"column":3}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":32},"end":{"line":35,"column":33}},"loc":{"start":{"line":35,"column":38},"end":{"line":57,"column":1}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}},"type":"binary-expr","locations":[{"start":{"line":8,"column":17},"end":{"line":8,"column":49}},{"start":{"line":8,"column":53},"end":{"line":8,"column":56}}],"line":8},"1":{"loc":{"start":{"line":9,"column":21},"end":{"line":9,"column":68}},"type":"binary-expr","locations":[{"start":{"line":9,"column":21},"end":{"line":9,"column":61}},{"start":{"line":9,"column":65},"end":{"line":9,"column":68}}],"line":9},"2":{"loc":{"start":{"line":10,"column":20},"end":{"line":10,"column":64}},"type":"binary-expr","locations":[{"start":{"line":10,"column":20},"end":{"line":10,"column":59}},{"start":{"line":10,"column":63},"end":{"line":10,"column":64}}],"line":10},"3":{"loc":{"start":{"line":23,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":28,"column":7}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":24,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":27,"column":9}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":36,"column":2},"end":{"line":56,"column":3}},"type":"switch","locations":[{"start":{"line":37,"column":4},"end":{"line":37,"column":17}},{"start":{"line":38,"column":4},"end":{"line":38,"column":16}},{"start":{"line":39,"column":4},"end":{"line":53,"column":12}},{"start":{"line":54,"column":4},"end":{"line":55,"column":12}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store.ts","statementMap":{"0":{"start":{"line":14,"column":21},"end":{"line":24,"column":2}},"1":{"start":{"line":20,"column":23},"end":{"line":20,"column":32}},"2":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":17},"end":{"line":20,"column":18}},"loc":{"start":{"line":20,"column":23},"end":{"line":20,"column":32}},"line":20}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/assets/hints/images.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/assets/hints/images.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/getThemeInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/getThemeInfo.ts","statementMap":{"0":{"start":{"line":12,"column":91},"end":{"line":21,"column":1}},"1":{"start":{"line":13,"column":16},"end":{"line":13,"column":32}},"2":{"start":{"line":14,"column":22},"end":{"line":14,"column":48}},"3":{"start":{"line":15,"column":21},"end":{"line":15,"column":46}},"4":{"start":{"line":17,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":91},"end":{"line":12,"column":92}},"loc":{"start":{"line":12,"column":123},"end":{"line":21,"column":1}},"line":12}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/startup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/startup.tsx","statementMap":{"0":{"start":{"line":17,"column":20},"end":{"line":17,"column":43}},"1":{"start":{"line":19,"column":19},"end":{"line":54,"column":1}},"2":{"start":{"line":20,"column":30},"end":{"line":20,"column":67}},"3":{"start":{"line":21,"column":20},"end":{"line":21,"column":41}},"4":{"start":{"line":22,"column":16},"end":{"line":22,"column":36}},"5":{"start":{"line":23,"column":27},"end":{"line":23,"column":51}},"6":{"start":{"line":25,"column":2},"end":{"line":27,"column":53}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":83}},"8":{"start":{"line":29,"column":2},"end":{"line":37,"column":9}},"9":{"start":{"line":30,"column":4},"end":{"line":32,"column":7}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":31}},"11":{"start":{"line":34,"column":4},"end":{"line":36,"column":6}},"12":{"start":{"line":35,"column":6},"end":{"line":35,"column":93}},"13":{"start":{"line":40,"column":4},"end":{"line":46,"column":5}},"14":{"start":{"line":49,"column":2},"end":{"line":53,"column":19}},"15":{"start":{"line":56,"column":23},"end":{"line":71,"column":1}},"16":{"start":{"line":57,"column":20},"end":{"line":57,"column":50}},"17":{"start":{"line":61,"column":15},"end":{"line":61,"column":37}},"18":{"start":{"line":62,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":19},"end":{"line":19,"column":20}},"loc":{"start":{"line":19,"column":25},"end":{"line":54,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":13}},"loc":{"start":{"line":25,"column":18},"end":{"line":27,"column":3}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":12},"end":{"line":29,"column":13}},"loc":{"start":{"line":29,"column":18},"end":{"line":37,"column":3}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":72},"end":{"line":30,"column":73}},"loc":{"start":{"line":30,"column":97},"end":{"line":32,"column":5}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":11},"end":{"line":34,"column":12}},"loc":{"start":{"line":34,"column":17},"end":{"line":36,"column":5}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":75},"end":{"line":35,"column":76}},"loc":{"start":{"line":35,"column":81},"end":{"line":35,"column":83}},"line":35},"6":{"name":"(anonymous_6)","decl":{"start":{"line":56,"column":23},"end":{"line":56,"column":24}},"loc":{"start":{"line":56,"column":35},"end":{"line":71,"column":1}},"line":56}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":27},"end":{"line":26,"column":81}},"type":"binary-expr","locations":[{"start":{"line":26,"column":27},"end":{"line":26,"column":53}},{"start":{"line":26,"column":57},"end":{"line":26,"column":73}},{"start":{"line":26,"column":77},"end":{"line":26,"column":81}}],"line":26},"1":{"loc":{"start":{"line":40,"column":4},"end":{"line":46,"column":5}},"type":"cond-expr","locations":[{"start":{"line":40,"column":13},"end":{"line":40,"column":41}},{"start":{"line":41,"column":6},"end":{"line":45,"column":21}}],"line":40},"2":{"loc":{"start":{"line":49,"column":9},"end":{"line":53,"column":18}},"type":"cond-expr","locations":[{"start":{"line":50,"column":4},"end":{"line":52,"column":17}},{"start":{"line":53,"column":6},"end":{"line":53,"column":18}}],"line":49}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AnnotationBuilder.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AnnotationBuilder.tsx","statementMap":{"0":{"start":{"line":14,"column":16},"end":{"line":14,"column":43}},"1":{"start":{"line":15,"column":18},"end":{"line":15,"column":55}},"2":{"start":{"line":17,"column":31},"end":{"line":19,"column":15}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":70}},"4":{"start":{"line":21,"column":30},"end":{"line":23,"column":15}},"5":{"start":{"line":22,"column":4},"end":{"line":22,"column":69}},"6":{"start":{"line":25,"column":33},"end":{"line":27,"column":15}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":72}},"8":{"start":{"line":29,"column":32},"end":{"line":31,"column":15}},"9":{"start":{"line":30,"column":4},"end":{"line":30,"column":71}},"10":{"start":{"line":33,"column":2},"end":{"line":47,"column":11}}},"fnMap":{"0":{"name":"AnnotationBuilder","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":44},"end":{"line":48,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":49},"end":{"line":17,"column":50}},"loc":{"start":{"line":17,"column":55},"end":{"line":19,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":48},"end":{"line":21,"column":49}},"loc":{"start":{"line":21,"column":54},"end":{"line":23,"column":3}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":51},"end":{"line":25,"column":52}},"loc":{"start":{"line":25,"column":57},"end":{"line":27,"column":3}},"line":25},"4":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":50},"end":{"line":29,"column":51}},"loc":{"start":{"line":29,"column":56},"end":{"line":31,"column":3}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":9},"end":{"line":47,"column":10}},"type":"cond-expr","locations":[{"start":{"line":34,"column":4},"end":{"line":46,"column":10}},{"start":{"line":47,"column":6},"end":{"line":47,"column":10}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/App.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/App.tsx","statementMap":{"0":{"start":{"line":19,"column":20},"end":{"line":19,"column":50}},"1":{"start":{"line":21,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"App","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":12}},"loc":{"start":{"line":18,"column":15},"end":{"line":66,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":9},"end":{"line":31,"column":50}},"type":"binary-expr","locations":[{"start":{"line":31,"column":9},"end":{"line":31,"column":32}},{"start":{"line":31,"column":36},"end":{"line":31,"column":50}}],"line":31},"1":{"loc":{"start":{"line":50,"column":15},"end":{"line":50,"column":58}},"type":"binary-expr","locations":[{"start":{"line":50,"column":15},"end":{"line":50,"column":38}},{"start":{"line":50,"column":42},"end":{"line":50,"column":58}}],"line":50},"2":{"loc":{"start":{"line":51,"column":15},"end":{"line":51,"column":77}},"type":"binary-expr","locations":[{"start":{"line":51,"column":15},"end":{"line":51,"column":36}},{"start":{"line":51,"column":40},"end":{"line":51,"column":63}},{"start":{"line":51,"column":67},"end":{"line":51,"column":77}}],"line":51},"3":{"loc":{"start":{"line":52,"column":15},"end":{"line":52,"column":55}},"type":"binary-expr","locations":[{"start":{"line":52,"column":15},"end":{"line":52,"column":36}},{"start":{"line":52,"column":40},"end":{"line":52,"column":55}}],"line":52},"4":{"loc":{"start":{"line":54,"column":15},"end":{"line":54,"column":57}},"type":"binary-expr","locations":[{"start":{"line":54,"column":15},"end":{"line":54,"column":40}},{"start":{"line":54,"column":44},"end":{"line":54,"column":57}}],"line":54},"5":{"loc":{"start":{"line":55,"column":15},"end":{"line":55,"column":62}},"type":"binary-expr","locations":[{"start":{"line":55,"column":15},"end":{"line":55,"column":43}},{"start":{"line":55,"column":47},"end":{"line":55,"column":62}}],"line":55},"6":{"loc":{"start":{"line":56,"column":15},"end":{"line":56,"column":55}},"type":"binary-expr","locations":[{"start":{"line":56,"column":15},"end":{"line":56,"column":39}},{"start":{"line":56,"column":43},"end":{"line":56,"column":55}}],"line":56},"7":{"loc":{"start":{"line":58,"column":13},"end":{"line":58,"column":75}},"type":"binary-expr","locations":[{"start":{"line":58,"column":13},"end":{"line":58,"column":36}},{"start":{"line":58,"column":40},"end":{"line":58,"column":61}},{"start":{"line":58,"column":65},"end":{"line":58,"column":75}}],"line":58}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ApplySelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ApplySelector.tsx","statementMap":{"0":{"start":{"line":17,"column":57},"end":{"line":17,"column":100}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":42}},"2":{"start":{"line":20,"column":27},"end":{"line":20,"column":38}},"3":{"start":{"line":22,"column":62},"end":{"line":22,"column":94}},"4":{"start":{"line":24,"column":31},"end":{"line":26,"column":21}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":40}},"6":{"start":{"line":28,"column":26},"end":{"line":30,"column":21}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":35}},"8":{"start":{"line":32,"column":30},"end":{"line":34,"column":21}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":39}},"10":{"start":{"line":36,"column":38},"end":{"line":38,"column":40}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":87}},"12":{"start":{"line":40,"column":32},"end":{"line":42,"column":40}},"13":{"start":{"line":41,"column":4},"end":{"line":41,"column":81}},"14":{"start":{"line":44,"column":2},"end":{"line":139,"column":4}}},"fnMap":{"0":{"name":"ApplySelector","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":37}},"loc":{"start":{"line":16,"column":40},"end":{"line":140,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":49},"end":{"line":24,"column":50}},"loc":{"start":{"line":24,"column":55},"end":{"line":26,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":44},"end":{"line":28,"column":45}},"loc":{"start":{"line":28,"column":50},"end":{"line":30,"column":3}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":48},"end":{"line":32,"column":49}},"loc":{"start":{"line":32,"column":54},"end":{"line":34,"column":3}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":56},"end":{"line":36,"column":57}},"loc":{"start":{"line":36,"column":62},"end":{"line":38,"column":3}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":50},"end":{"line":40,"column":51}},"loc":{"start":{"line":40,"column":56},"end":{"line":42,"column":3}},"line":40}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenDownShiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenDownShiftInput.tsx","statementMap":{"0":{"start":{"line":28,"column":44},"end":{"line":28,"column":94}},"1":{"start":{"line":30,"column":2},"end":{"line":37,"column":36}},"2":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"3":{"start":{"line":32,"column":25},"end":{"line":32,"column":61}},"4":{"start":{"line":33,"column":6},"end":{"line":33,"column":61}},"5":{"start":{"line":35,"column":6},"end":{"line":35,"column":63}},"6":{"start":{"line":39,"column":43},"end":{"line":42,"column":3}},"7":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"8":{"start":{"line":43,"column":27},"end":{"line":43,"column":81}},"9":{"start":{"line":43,"column":47},"end":{"line":43,"column":72}},"10":{"start":{"line":45,"column":16},"end":{"line":45,"column":42}},"11":{"start":{"line":46,"column":31},"end":{"line":50,"column":3}},"12":{"start":{"line":52,"column":2},"end":{"line":71,"column":4}}},"fnMap":{"0":{"name":"BorderTokenDownShiftInput","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":49}},"loc":{"start":{"line":27,"column":3},"end":{"line":72,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":18},"end":{"line":30,"column":19}},"loc":{"start":{"line":30,"column":24},"end":{"line":37,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":41},"end":{"line":43,"column":42}},"loc":{"start":{"line":43,"column":47},"end":{"line":43,"column":72}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":67},"end":{"line":28,"column":93}},"type":"cond-expr","locations":[{"start":{"line":28,"column":75},"end":{"line":28,"column":88}},{"start":{"line":28,"column":91},"end":{"line":28,"column":93}}],"line":28},"1":{"loc":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":31},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":58}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":24}},{"start":{"line":31,"column":28},"end":{"line":31,"column":33}},{"start":{"line":31,"column":37},"end":{"line":31,"column":58}}],"line":31},"3":{"loc":{"start":{"line":33,"column":23},"end":{"line":33,"column":59}},"type":"cond-expr","locations":[{"start":{"line":33,"column":36},"end":{"line":33,"column":54}},{"start":{"line":33,"column":57},"end":{"line":33,"column":59}}],"line":33},"4":{"loc":{"start":{"line":35,"column":23},"end":{"line":35,"column":61}},"type":"cond-expr","locations":[{"start":{"line":35,"column":51},"end":{"line":35,"column":56}},{"start":{"line":35,"column":59},"end":{"line":35,"column":61}}],"line":35},"5":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"binary-expr","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":24}},{"start":{"line":65,"column":10},"end":{"line":65,"column":93}}],"line":64}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenForm.tsx","statementMap":{"0":{"start":{"line":18,"column":22},"end":{"line":22,"column":1}},"1":{"start":{"line":43,"column":15},"end":{"line":43,"column":27}},"2":{"start":{"line":44,"column":22},"end":{"line":44,"column":92}},"3":{"start":{"line":45,"column":26},"end":{"line":45,"column":67}},"4":{"start":{"line":46,"column":28},"end":{"line":46,"column":40}},"5":{"start":{"line":47,"column":16},"end":{"line":47,"column":42}},"6":{"start":{"line":48,"column":48},"end":{"line":48,"column":72}},"7":{"start":{"line":50,"column":24},"end":{"line":57,"column":41}},"8":{"start":{"line":51,"column":19},"end":{"line":51,"column":66}},"9":{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},"10":{"start":{"line":53,"column":25},"end":{"line":53,"column":73}},"11":{"start":{"line":53,"column":52},"end":{"line":53,"column":72}},"12":{"start":{"line":54,"column":6},"end":{"line":54,"column":61}},"13":{"start":{"line":54,"column":22},"end":{"line":54,"column":61}},"14":{"start":{"line":56,"column":4},"end":{"line":56,"column":16}},"15":{"start":{"line":59,"column":34},"end":{"line":59,"column":114}},"16":{"start":{"line":59,"column":58},"end":{"line":59,"column":94}},"17":{"start":{"line":60,"column":24},"end":{"line":65,"column":3}},"18":{"start":{"line":62,"column":6},"end":{"line":62,"column":60}},"19":{"start":{"line":67,"column":21},"end":{"line":73,"column":62}},"20":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"21":{"start":{"line":69,"column":6},"end":{"line":69,"column":52}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":50}},"23":{"start":{"line":72,"column":4},"end":{"line":72,"column":17}},"24":{"start":{"line":75,"column":2},"end":{"line":143,"column":4}},"25":{"start":{"line":98,"column":12},"end":{"line":116,"column":29}}},"fnMap":{"0":{"name":"BorderTokenForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":39}},"loc":{"start":{"line":42,"column":3},"end":{"line":144,"column":1}},"line":42},"1":{"name":"(anonymous_1)","decl":{"start":{"line":50,"column":64},"end":{"line":50,"column":65}},"loc":{"start":{"line":50,"column":70},"end":{"line":57,"column":3}},"line":50},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":45},"end":{"line":53,"column":46}},"loc":{"start":{"line":53,"column":52},"end":{"line":53,"column":72}},"line":53},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":52},"end":{"line":59,"column":53}},"loc":{"start":{"line":59,"column":58},"end":{"line":59,"column":94}},"line":59},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":4},"end":{"line":61,"column":5}},"loc":{"start":{"line":61,"column":23},"end":{"line":63,"column":5}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":67,"column":39},"end":{"line":67,"column":40}},"loc":{"start":{"line":67,"column":45},"end":{"line":73,"column":3}},"line":67},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":87},"end":{"line":97,"column":88}},"loc":{"start":{"line":98,"column":12},"end":{"line":116,"column":29}},"line":98}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":22},"end":{"line":44,"column":92}},"type":"binary-expr","locations":[{"start":{"line":44,"column":22},"end":{"line":44,"column":45}},{"start":{"line":44,"column":49},"end":{"line":44,"column":92}}],"line":44},"1":{"loc":{"start":{"line":45,"column":35},"end":{"line":45,"column":66}},"type":"cond-expr","locations":[{"start":{"line":45,"column":49},"end":{"line":45,"column":56}},{"start":{"line":45,"column":59},"end":{"line":45,"column":66}}],"line":45},"2":{"loc":{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":52},"3":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":35}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":14}},{"start":{"line":52,"column":18},"end":{"line":52,"column":35}}],"line":52},"4":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":61}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":61}},{"start":{},"end":{}}],"line":54},"5":{"loc":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":68},"6":{"loc":{"start":{"line":68,"column":8},"end":{"line":68,"column":71}},"type":"binary-expr","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":24}},{"start":{"line":68,"column":28},"end":{"line":68,"column":71}}],"line":68},"7":{"loc":{"start":{"line":69,"column":21},"end":{"line":69,"column":50}},"type":"binary-expr","locations":[{"start":{"line":69,"column":21},"end":{"line":69,"column":44}},{"start":{"line":69,"column":48},"end":{"line":69,"column":50}}],"line":69},"8":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":48}},"type":"cond-expr","locations":[{"start":{"line":71,"column":31},"end":{"line":71,"column":38}},{"start":{"line":71,"column":41},"end":{"line":71,"column":48}}],"line":71},"9":{"loc":{"start":{"line":79,"column":9},"end":{"line":93,"column":9}},"type":"cond-expr","locations":[{"start":{"line":80,"column":10},"end":{"line":85,"column":12}},{"start":{"line":87,"column":10},"end":{"line":92,"column":12}}],"line":79},"10":{"loc":{"start":{"line":95,"column":7},"end":{"line":141,"column":7}},"type":"cond-expr","locations":[{"start":{"line":96,"column":8},"end":{"line":118,"column":16}},{"start":{"line":120,"column":8},"end":{"line":140,"column":16}}],"line":95},"11":{"loc":{"start":{"line":95,"column":7},"end":{"line":95,"column":83}},"type":"binary-expr","locations":[{"start":{"line":95,"column":7},"end":{"line":95,"column":23}},{"start":{"line":95,"column":27},"end":{"line":95,"column":83}}],"line":95},"12":{"loc":{"start":{"line":97,"column":26},"end":{"line":97,"column":81}},"type":"binary-expr","locations":[{"start":{"line":97,"column":26},"end":{"line":97,"column":75}},{"start":{"line":97,"column":79},"end":{"line":97,"column":81}}],"line":97},"13":{"loc":{"start":{"line":102,"column":23},"end":{"line":102,"column":111}},"type":"cond-expr","locations":[{"start":{"line":102,"column":69},"end":{"line":102,"column":106}},{"start":{"line":102,"column":109},"end":{"line":102,"column":111}}],"line":102},"14":{"loc":{"start":{"line":110,"column":15},"end":{"line":115,"column":15}},"type":"binary-expr","locations":[{"start":{"line":110,"column":15},"end":{"line":110,"column":30}},{"start":{"line":110,"column":34},"end":{"line":110,"column":49}},{"start":{"line":111,"column":16},"end":{"line":114,"column":18}}],"line":110},"15":{"loc":{"start":{"line":112,"column":25},"end":{"line":112,"column":109}},"type":"binary-expr","locations":[{"start":{"line":112,"column":25},"end":{"line":112,"column":68}},{"start":{"line":112,"column":72},"end":{"line":112,"column":109}}],"line":112},"16":{"loc":{"start":{"line":122,"column":19},"end":{"line":122,"column":70}},"type":"cond-expr","locations":[{"start":{"line":122,"column":34},"end":{"line":122,"column":36}},{"start":{"line":122,"column":39},"end":{"line":122,"column":70}}],"line":122},"17":{"loc":{"start":{"line":135,"column":11},"end":{"line":139,"column":11}},"type":"binary-expr","locations":[{"start":{"line":135,"column":11},"end":{"line":135,"column":22}},{"start":{"line":136,"column":15},"end":{"line":136,"column":58}},{"start":{"line":137,"column":15},"end":{"line":137,"column":60}},{"start":{"line":138,"column":14},"end":{"line":138,"column":82}}],"line":135}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Box.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Box.tsx","statementMap":{"0":{"start":{"line":3,"column":12},"end":{"line":3,"column":29}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BoxShadowInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BoxShadowInput.tsx","statementMap":{"0":{"start":{"line":37,"column":15},"end":{"line":37,"column":27}},"1":{"start":{"line":38,"column":23},"end":{"line":38,"column":93}},"2":{"start":{"line":39,"column":26},"end":{"line":39,"column":67}},"3":{"start":{"line":40,"column":28},"end":{"line":40,"column":40}},"4":{"start":{"line":42,"column":21},"end":{"line":46,"column":12}},"5":{"start":{"line":43,"column":23},"end":{"line":43,"column":61}},"6":{"start":{"line":44,"column":4},"end":{"line":44,"column":24}},"7":{"start":{"line":45,"column":4},"end":{"line":45,"column":17}},"8":{"start":{"line":48,"column":24},"end":{"line":55,"column":41}},"9":{"start":{"line":49,"column":19},"end":{"line":49,"column":109}},"10":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"11":{"start":{"line":51,"column":25},"end":{"line":51,"column":73}},"12":{"start":{"line":51,"column":52},"end":{"line":51,"column":72}},"13":{"start":{"line":52,"column":6},"end":{"line":52,"column":40}},"14":{"start":{"line":52,"column":22},"end":{"line":52,"column":40}},"15":{"start":{"line":54,"column":4},"end":{"line":54,"column":16}},"16":{"start":{"line":57,"column":22},"end":{"line":61,"column":46}},"17":{"start":{"line":58,"column":4},"end":{"line":58,"column":144}},"18":{"start":{"line":58,"column":70},"end":{"line":58,"column":144}},"19":{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},"20":{"start":{"line":59,"column":53},"end":{"line":59,"column":84}},"21":{"start":{"line":60,"column":4},"end":{"line":60,"column":21}},"22":{"start":{"line":63,"column":20},"end":{"line":71,"column":53}},"23":{"start":{"line":64,"column":4},"end":{"line":70,"column":5}},"24":{"start":{"line":65,"column":6},"end":{"line":65,"column":78}},"25":{"start":{"line":66,"column":11},"end":{"line":70,"column":5}},"26":{"start":{"line":67,"column":6},"end":{"line":67,"column":74}},"27":{"start":{"line":68,"column":11},"end":{"line":70,"column":5}},"28":{"start":{"line":69,"column":6},"end":{"line":69,"column":84}},"29":{"start":{"line":73,"column":23},"end":{"line":77,"column":53}},"30":{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},"31":{"start":{"line":75,"column":6},"end":{"line":75,"column":88}},"32":{"start":{"line":75,"column":74},"end":{"line":75,"column":85}},"33":{"start":{"line":79,"column":2},"end":{"line":180,"column":4}},"34":{"start":{"line":121,"column":18},"end":{"line":132,"column":20}}},"fnMap":{"0":{"name":"BoxShadowInput","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":38}},"loc":{"start":{"line":36,"column":3},"end":{"line":181,"column":1}},"line":36},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":39},"end":{"line":42,"column":40}},"loc":{"start":{"line":42,"column":45},"end":{"line":46,"column":3}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":38},"end":{"line":48,"column":39}},"loc":{"start":{"line":48,"column":44},"end":{"line":55,"column":3}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":45},"end":{"line":51,"column":46}},"loc":{"start":{"line":51,"column":52},"end":{"line":51,"column":72}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":36},"end":{"line":57,"column":37}},"loc":{"start":{"line":57,"column":42},"end":{"line":61,"column":3}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":38},"end":{"line":63,"column":39}},"loc":{"start":{"line":63,"column":44},"end":{"line":71,"column":3}},"line":63},"6":{"name":"(anonymous_6)","decl":{"start":{"line":73,"column":41},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":60},"end":{"line":77,"column":3}},"line":73},"7":{"name":"(anonymous_7)","decl":{"start":{"line":75,"column":64},"end":{"line":75,"column":65}},"loc":{"start":{"line":75,"column":74},"end":{"line":75,"column":85}},"line":75},"8":{"name":"(anonymous_8)","decl":{"start":{"line":120,"column":32},"end":{"line":120,"column":33}},"loc":{"start":{"line":121,"column":18},"end":{"line":132,"column":20}},"line":121}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":23},"end":{"line":38,"column":93}},"type":"binary-expr","locations":[{"start":{"line":38,"column":23},"end":{"line":38,"column":46}},{"start":{"line":38,"column":50},"end":{"line":38,"column":93}}],"line":38},"1":{"loc":{"start":{"line":39,"column":35},"end":{"line":39,"column":66}},"type":"cond-expr","locations":[{"start":{"line":39,"column":49},"end":{"line":39,"column":56}},{"start":{"line":39,"column":59},"end":{"line":39,"column":66}}],"line":39},"2":{"loc":{"start":{"line":43,"column":23},"end":{"line":43,"column":61}},"type":"cond-expr","locations":[{"start":{"line":43,"column":44},"end":{"line":43,"column":51}},{"start":{"line":43,"column":54},"end":{"line":43,"column":61}}],"line":43},"3":{"loc":{"start":{"line":49,"column":34},"end":{"line":49,"column":108}},"type":"cond-expr","locations":[{"start":{"line":49,"column":80},"end":{"line":49,"column":103}},{"start":{"line":49,"column":106},"end":{"line":49,"column":108}}],"line":49},"4":{"loc":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":50},"5":{"loc":{"start":{"line":50,"column":8},"end":{"line":50,"column":35}},"type":"binary-expr","locations":[{"start":{"line":50,"column":8},"end":{"line":50,"column":14}},{"start":{"line":50,"column":18},"end":{"line":50,"column":35}}],"line":50},"6":{"loc":{"start":{"line":52,"column":6},"end":{"line":52,"column":40}},"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":52,"column":40}},{"start":{},"end":{}}],"line":52},"7":{"loc":{"start":{"line":58,"column":4},"end":{"line":58,"column":144}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":58,"column":144}},{"start":{},"end":{}}],"line":58},"8":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":68}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":51}},{"start":{"line":58,"column":55},"end":{"line":58,"column":68}}],"line":58},"9":{"loc":{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},{"start":{},"end":{}}],"line":59},"10":{"loc":{"start":{"line":64,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":70,"column":5}},{"start":{"line":66,"column":11},"end":{"line":70,"column":5}}],"line":64},"11":{"loc":{"start":{"line":66,"column":11},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":11},"end":{"line":70,"column":5}},{"start":{"line":68,"column":11},"end":{"line":70,"column":5}}],"line":66},"12":{"loc":{"start":{"line":66,"column":15},"end":{"line":66,"column":108}},"type":"binary-expr","locations":[{"start":{"line":66,"column":15},"end":{"line":66,"column":61}},{"start":{"line":66,"column":65},"end":{"line":66,"column":108}}],"line":66},"13":{"loc":{"start":{"line":68,"column":11},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":11},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":68},"14":{"loc":{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},{"start":{},"end":{}}],"line":74},"15":{"loc":{"start":{"line":74,"column":8},"end":{"line":74,"column":84}},"type":"binary-expr","locations":[{"start":{"line":74,"column":8},"end":{"line":74,"column":46}},{"start":{"line":74,"column":50},"end":{"line":74,"column":84}}],"line":74},"16":{"loc":{"start":{"line":84,"column":11},"end":{"line":112,"column":11}},"type":"cond-expr","locations":[{"start":{"line":85,"column":12},"end":{"line":102,"column":15}},{"start":{"line":104,"column":12},"end":{"line":111,"column":14}}],"line":84},"17":{"loc":{"start":{"line":117,"column":10},"end":{"line":176,"column":11}},"type":"cond-expr","locations":[{"start":{"line":118,"column":12},"end":{"line":145,"column":26}},{"start":{"line":147,"column":12},"end":{"line":175,"column":18}}],"line":117},"18":{"loc":{"start":{"line":119,"column":15},"end":{"line":144,"column":15}},"type":"cond-expr","locations":[{"start":{"line":120,"column":16},"end":{"line":133,"column":18}},{"start":{"line":135,"column":16},"end":{"line":143,"column":18}}],"line":119},"19":{"loc":{"start":{"line":152,"column":23},"end":{"line":152,"column":74}},"type":"cond-expr","locations":[{"start":{"line":152,"column":38},"end":{"line":152,"column":40}},{"start":{"line":152,"column":43},"end":{"line":152,"column":74}}],"line":152},"20":{"loc":{"start":{"line":164,"column":15},"end":{"line":174,"column":15}},"type":"binary-expr","locations":[{"start":{"line":165,"column":16},"end":{"line":165,"column":27}},{"start":{"line":166,"column":19},"end":{"line":166,"column":32}},{"start":{"line":167,"column":19},"end":{"line":167,"column":62}},{"start":{"line":168,"column":19},"end":{"line":168,"column":64}},{"start":{"line":170,"column":14},"end":{"line":173,"column":16}}],"line":164}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSelector.tsx","statementMap":{"0":{"start":{"line":38,"column":4},"end":{"line":50,"column":1}},"1":{"start":{"line":39,"column":19},"end":{"line":39,"column":102}},"2":{"start":{"line":39,"column":43},"end":{"line":39,"column":70}},"3":{"start":{"line":41,"column":2},"end":{"line":49,"column":4}},"4":{"start":{"line":53,"column":15},"end":{"line":53,"column":27}},"5":{"start":{"line":54,"column":22},"end":{"line":54,"column":34}},"6":{"start":{"line":55,"column":37},"end":{"line":55,"column":54}},"7":{"start":{"line":56,"column":19},"end":{"line":56,"column":42}},"8":{"start":{"line":57,"column":20},"end":{"line":57,"column":34}},"9":{"start":{"line":58,"column":29},"end":{"line":58,"column":41}},"10":{"start":{"line":60,"column":22},"end":{"line":60,"column":49}},"11":{"start":{"line":61,"column":24},"end":{"line":61,"column":58}},"12":{"start":{"line":62,"column":30},"end":{"line":62,"column":70}},"13":{"start":{"line":63,"column":18},"end":{"line":63,"column":42}},"14":{"start":{"line":64,"column":22},"end":{"line":64,"column":54}},"15":{"start":{"line":65,"column":23},"end":{"line":65,"column":56}},"16":{"start":{"line":66,"column":16},"end":{"line":66,"column":53}},"17":{"start":{"line":67,"column":44},"end":{"line":67,"column":73}},"18":{"start":{"line":68,"column":40},"end":{"line":68,"column":69}},"19":{"start":{"line":69,"column":66},"end":{"line":69,"column":81}},"20":{"start":{"line":70,"column":50},"end":{"line":70,"column":65}},"21":{"start":{"line":71,"column":25},"end":{"line":71,"column":42}},"22":{"start":{"line":73,"column":2},"end":{"line":75,"column":46}},"23":{"start":{"line":74,"column":4},"end":{"line":74,"column":42}},"24":{"start":{"line":77,"column":31},"end":{"line":88,"column":18}},"25":{"start":{"line":78,"column":26},"end":{"line":83,"column":6}},"26":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"27":{"start":{"line":85,"column":6},"end":{"line":85,"column":34}},"28":{"start":{"line":87,"column":4},"end":{"line":87,"column":16}},"29":{"start":{"line":90,"column":31},"end":{"line":95,"column":21}},"30":{"start":{"line":91,"column":4},"end":{"line":91,"column":52}},"31":{"start":{"line":92,"column":4},"end":{"line":92,"column":30}},"32":{"start":{"line":93,"column":4},"end":{"line":93,"column":42}},"33":{"start":{"line":94,"column":4},"end":{"line":94,"column":38}},"34":{"start":{"line":97,"column":30},"end":{"line":109,"column":3}},"35":{"start":{"line":99,"column":6},"end":{"line":99,"column":54}},"36":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"37":{"start":{"line":102,"column":8},"end":{"line":102,"column":27}},"38":{"start":{"line":105,"column":6},"end":{"line":105,"column":29}},"39":{"start":{"line":106,"column":6},"end":{"line":106,"column":40}},"40":{"start":{"line":111,"column":24},"end":{"line":128,"column":3}},"41":{"start":{"line":113,"column":6},"end":{"line":125,"column":7}},"42":{"start":{"line":114,"column":8},"end":{"line":114,"column":33}},"43":{"start":{"line":115,"column":8},"end":{"line":115,"column":60}},"44":{"start":{"line":116,"column":8},"end":{"line":116,"column":72}},"45":{"start":{"line":117,"column":8},"end":{"line":119,"column":11}},"46":{"start":{"line":120,"column":8},"end":{"line":123,"column":11}},"47":{"start":{"line":124,"column":8},"end":{"line":124,"column":114}},"48":{"start":{"line":130,"column":27},"end":{"line":142,"column":3}},"49":{"start":{"line":132,"column":6},"end":{"line":132,"column":30}},"50":{"start":{"line":133,"column":6},"end":{"line":139,"column":7}},"51":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"52":{"start":{"line":135,"column":10},"end":{"line":135,"column":38}},"53":{"start":{"line":138,"column":8},"end":{"line":138,"column":36}},"54":{"start":{"line":149,"column":37},"end":{"line":160,"column":3}},"55":{"start":{"line":151,"column":6},"end":{"line":151,"column":41}},"56":{"start":{"line":152,"column":6},"end":{"line":152,"column":31}},"57":{"start":{"line":153,"column":6},"end":{"line":157,"column":7}},"58":{"start":{"line":154,"column":8},"end":{"line":154,"column":103}},"59":{"start":{"line":155,"column":8},"end":{"line":155,"column":60}},"60":{"start":{"line":156,"column":8},"end":{"line":156,"column":72}},"61":{"start":{"line":162,"column":27},"end":{"line":164,"column":8}},"62":{"start":{"line":163,"column":4},"end":{"line":163,"column":39}},"63":{"start":{"line":166,"column":2},"end":{"line":242,"column":4}},"64":{"start":{"line":198,"column":20},"end":{"line":202,"column":22}},"65":{"start":{"line":219,"column":18},"end":{"line":224,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":38,"column":4},"end":{"line":38,"column":5}},"loc":{"start":{"line":38,"column":41},"end":{"line":50,"column":1}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":37},"end":{"line":39,"column":38}},"loc":{"start":{"line":39,"column":43},"end":{"line":39,"column":70}},"line":39},"2":{"name":"BranchSelector","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":38}},"loc":{"start":{"line":52,"column":41},"end":{"line":243,"column":1}},"line":52},"3":{"name":"(anonymous_3)","decl":{"start":{"line":73,"column":12},"end":{"line":73,"column":13}},"loc":{"start":{"line":73,"column":18},"end":{"line":75,"column":3}},"line":73},"4":{"name":"(anonymous_4)","decl":{"start":{"line":77,"column":49},"end":{"line":77,"column":50}},"loc":{"start":{"line":77,"column":61},"end":{"line":88,"column":3}},"line":77},"5":{"name":"(anonymous_5)","decl":{"start":{"line":90,"column":49},"end":{"line":90,"column":50}},"loc":{"start":{"line":90,"column":55},"end":{"line":95,"column":3}},"line":90},"6":{"name":"(anonymous_6)","decl":{"start":{"line":98,"column":4},"end":{"line":98,"column":5}},"loc":{"start":{"line":98,"column":30},"end":{"line":107,"column":5}},"line":98},"7":{"name":"(anonymous_7)","decl":{"start":{"line":112,"column":4},"end":{"line":112,"column":5}},"loc":{"start":{"line":112,"column":30},"end":{"line":126,"column":5}},"line":112},"8":{"name":"(anonymous_8)","decl":{"start":{"line":131,"column":4},"end":{"line":131,"column":5}},"loc":{"start":{"line":131,"column":30},"end":{"line":140,"column":5}},"line":131},"9":{"name":"(anonymous_9)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":44},"end":{"line":158,"column":5}},"line":150},"10":{"name":"(anonymous_10)","decl":{"start":{"line":162,"column":45},"end":{"line":162,"column":46}},"loc":{"start":{"line":162,"column":51},"end":{"line":164,"column":3}},"line":162},"11":{"name":"(anonymous_11)","decl":{"start":{"line":197,"column":46},"end":{"line":197,"column":47}},"loc":{"start":{"line":198,"column":20},"end":{"line":202,"column":22}},"line":198},"12":{"name":"(anonymous_12)","decl":{"start":{"line":218,"column":44},"end":{"line":218,"column":45}},"loc":{"start":{"line":219,"column":18},"end":{"line":224,"column":20}},"line":219}},"branchMap":{"0":{"loc":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":84},"1":{"loc":{"start":{"line":93,"column":19},"end":{"line":93,"column":40}},"type":"binary-expr","locations":[{"start":{"line":93,"column":19},"end":{"line":93,"column":32}},{"start":{"line":93,"column":36},"end":{"line":93,"column":40}}],"line":93},"2":{"loc":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},{"start":{},"end":{}}],"line":101},"3":{"loc":{"start":{"line":101,"column":10},"end":{"line":101,"column":54}},"type":"binary-expr","locations":[{"start":{"line":101,"column":10},"end":{"line":101,"column":20}},{"start":{"line":101,"column":25},"end":{"line":101,"column":53}}],"line":101},"4":{"loc":{"start":{"line":113,"column":6},"end":{"line":125,"column":7}},"type":"if","locations":[{"start":{"line":113,"column":6},"end":{"line":125,"column":7}},{"start":{},"end":{}}],"line":113},"5":{"loc":{"start":{"line":113,"column":10},"end":{"line":113,"column":64}},"type":"binary-expr","locations":[{"start":{"line":113,"column":10},"end":{"line":113,"column":32}},{"start":{"line":113,"column":36},"end":{"line":113,"column":64}}],"line":113},"6":{"loc":{"start":{"line":133,"column":6},"end":{"line":139,"column":7}},"type":"if","locations":[{"start":{"line":133,"column":6},"end":{"line":139,"column":7}},{"start":{"line":137,"column":13},"end":{"line":139,"column":7}}],"line":133},"7":{"loc":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},{"start":{},"end":{}}],"line":134},"8":{"loc":{"start":{"line":153,"column":6},"end":{"line":157,"column":7}},"type":"if","locations":[{"start":{"line":153,"column":6},"end":{"line":157,"column":7}},{"start":{},"end":{}}],"line":153},"9":{"loc":{"start":{"line":153,"column":10},"end":{"line":153,"column":64}},"type":"binary-expr","locations":[{"start":{"line":153,"column":10},"end":{"line":153,"column":32}},{"start":{"line":153,"column":36},"end":{"line":153,"column":64}}],"line":153},"10":{"loc":{"start":{"line":154,"column":41},"end":{"line":154,"column":101}},"type":"cond-expr","locations":[{"start":{"line":154,"column":69},"end":{"line":154,"column":77}},{"start":{"line":154,"column":80},"end":{"line":154,"column":101}}],"line":154},"11":{"loc":{"start":{"line":166,"column":9},"end":{"line":242,"column":3}},"type":"cond-expr","locations":[{"start":{"line":167,"column":4},"end":{"line":239,"column":7}},{"start":{"line":241,"column":4},"end":{"line":241,"column":11}}],"line":166},"12":{"loc":{"start":{"line":188,"column":17},"end":{"line":195,"column":17}},"type":"binary-expr","locations":[{"start":{"line":188,"column":17},"end":{"line":188,"column":27}},{"start":{"line":189,"column":18},"end":{"line":194,"column":38}}],"line":188},"13":{"loc":{"start":{"line":196,"column":17},"end":{"line":203,"column":20}},"type":"binary-expr","locations":[{"start":{"line":196,"column":17},"end":{"line":196,"column":48}},{"start":{"line":197,"column":21},"end":{"line":203,"column":20}}],"line":196},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":215,"column":13}},"type":"binary-expr","locations":[{"start":{"line":207,"column":13},"end":{"line":207,"column":23}},{"start":{"line":208,"column":14},"end":{"line":214,"column":17}}],"line":207},"15":{"loc":{"start":{"line":217,"column":15},"end":{"line":225,"column":18}},"type":"binary-expr","locations":[{"start":{"line":217,"column":15},"end":{"line":217,"column":46}},{"start":{"line":218,"column":19},"end":{"line":225,"column":18}}],"line":217},"16":{"loc":{"start":{"line":230,"column":7},"end":{"line":238,"column":7}},"type":"binary-expr","locations":[{"start":{"line":230,"column":7},"end":{"line":230,"column":31}},{"start":{"line":230,"column":35},"end":{"line":230,"column":46}},{"start":{"line":231,"column":8},"end":{"line":237,"column":10}}],"line":230}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSwitchMenuRadioElement.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSwitchMenuRadioElement.tsx","statementMap":{"0":{"start":{"line":11,"column":111},"end":{"line":32,"column":1}},"1":{"start":{"line":16,"column":19},"end":{"line":16,"column":92}},"2":{"start":{"line":16,"column":43},"end":{"line":16,"column":65}},"3":{"start":{"line":18,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":111},"end":{"line":11,"column":112}},"loc":{"start":{"line":15,"column":6},"end":{"line":32,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":37},"end":{"line":16,"column":38}},"loc":{"start":{"line":16,"column":43},"end":{"line":16,"column":65}},"line":16}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BrokenReferenceIndicator.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BrokenReferenceIndicator.tsx","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":55}},"1":{"start":{"line":13,"column":26},"end":{"line":15,"column":43}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":84}},"3":{"start":{"line":14,"column":45},"end":{"line":14,"column":66}},"4":{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"6":{"start":{"line":22,"column":2},"end":{"line":22,"column":14}}},"fnMap":{"0":{"name":"BrokenReferenceIndicator","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":48}},"loc":{"start":{"line":10,"column":67},"end":{"line":23,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":40},"end":{"line":13,"column":41}},"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":84}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":38},"end":{"line":14,"column":39}},"loc":{"start":{"line":14,"column":45},"end":{"line":14,"column":66}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Callout.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Callout.tsx","statementMap":{"0":{"start":{"line":20,"column":2},"end":{"line":42,"column":4}}},"fnMap":{"0":{"name":"Callout","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":31}},"loc":{"start":{"line":19,"column":10},"end":{"line":43,"column":1}},"line":19}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangeStateListingHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangeStateListingHeading.tsx","statementMap":{"0":{"start":{"line":19,"column":45},"end":{"line":37,"column":2}},"1":{"start":{"line":46,"column":25},"end":{"line":48,"column":25}},"2":{"start":{"line":47,"column":4},"end":{"line":47,"column":25}},"3":{"start":{"line":50,"column":2},"end":{"line":63,"column":4}}},"fnMap":{"0":{"name":"ChangeStateListingHeading","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":49}},"loc":{"start":{"line":45,"column":10},"end":{"line":64,"column":1}},"line":45},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":43},"end":{"line":46,"column":44}},"loc":{"start":{"line":46,"column":87},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":58,"column":38},"end":{"line":58,"column":95}},"type":"cond-expr","locations":[{"start":{"line":58,"column":52},"end":{"line":58,"column":73}},{"start":{"line":58,"column":76},"end":{"line":58,"column":95}}],"line":58},"1":{"loc":{"start":{"line":60,"column":9},"end":{"line":60,"column":41}},"type":"binary-expr","locations":[{"start":{"line":60,"column":9},"end":{"line":60,"column":14}},{"start":{"line":60,"column":18},"end":{"line":60,"column":41}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedStateList.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedStateList.tsx","statementMap":{"0":{"start":{"line":10,"column":49},"end":{"line":10,"column":66}},"1":{"start":{"line":11,"column":36},"end":{"line":11,"column":57}},"2":{"start":{"line":12,"column":16},"end":{"line":12,"column":42}},"3":{"start":{"line":13,"column":68},"end":{"line":13,"column":101}},"4":{"start":{"line":15,"column":23},"end":{"line":15,"column":76}},"5":{"start":{"line":17,"column":32},"end":{"line":32,"column":65}},"6":{"start":{"line":18,"column":4},"end":{"line":18,"column":24}},"7":{"start":{"line":19,"column":4},"end":{"line":31,"column":5}},"8":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":41}},"10":{"start":{"line":23,"column":38},"end":{"line":23,"column":99}},"11":{"start":{"line":24,"column":8},"end":{"line":24,"column":60}},"12":{"start":{"line":26,"column":6},"end":{"line":26,"column":31}},"13":{"start":{"line":27,"column":11},"end":{"line":31,"column":5}},"14":{"start":{"line":28,"column":6},"end":{"line":28,"column":98}},"15":{"start":{"line":28,"column":78},"end":{"line":28,"column":95}},"16":{"start":{"line":30,"column":6},"end":{"line":30,"column":77}},"17":{"start":{"line":34,"column":2},"end":{"line":101,"column":4}},"18":{"start":{"line":37,"column":8},"end":{"line":44,"column":14}},"19":{"start":{"line":41,"column":14},"end":{"line":41,"column":65}},"20":{"start":{"line":52,"column":16},"end":{"line":75,"column":24}}},"fnMap":{"0":{"name":"ChangedStateList","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":63},"end":{"line":102,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":50},"end":{"line":17,"column":51}},"loc":{"start":{"line":17,"column":112},"end":{"line":32,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":68},"end":{"line":28,"column":69}},"loc":{"start":{"line":28,"column":78},"end":{"line":28,"column":95}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":98},"end":{"line":36,"column":99}},"loc":{"start":{"line":37,"column":8},"end":{"line":44,"column":14}},"line":37},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":26},"end":{"line":40,"column":27}},"loc":{"start":{"line":41,"column":14},"end":{"line":41,"column":65}},"line":41},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":38},"end":{"line":51,"column":39}},"loc":{"start":{"line":52,"column":16},"end":{"line":75,"column":24}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":23},"end":{"line":15,"column":76}},"type":"cond-expr","locations":[{"start":{"line":15,"column":41},"end":{"line":15,"column":57}},{"start":{"line":15,"column":60},"end":{"line":15,"column":76}}],"line":15},"1":{"loc":{"start":{"line":19,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":31,"column":5}},{"start":{"line":27,"column":11},"end":{"line":31,"column":5}}],"line":19},"2":{"loc":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},{"start":{"line":22,"column":13},"end":{"line":25,"column":7}}],"line":20},"3":{"loc":{"start":{"line":27,"column":11},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":11},"end":{"line":31,"column":5}},{"start":{"line":29,"column":11},"end":{"line":31,"column":5}}],"line":27},"4":{"loc":{"start":{"line":36,"column":7},"end":{"line":45,"column":8}},"type":"binary-expr","locations":[{"start":{"line":36,"column":7},"end":{"line":36,"column":53}},{"start":{"line":36,"column":57},"end":{"line":45,"column":8}}],"line":36},"5":{"loc":{"start":{"line":39,"column":11},"end":{"line":43,"column":11}},"type":"binary-expr","locations":[{"start":{"line":39,"column":11},"end":{"line":39,"column":56}},{"start":{"line":39,"column":60},"end":{"line":39,"column":69}},{"start":{"line":40,"column":12},"end":{"line":42,"column":14}}],"line":39},"6":{"loc":{"start":{"line":47,"column":8},"end":{"line":79,"column":9}},"type":"binary-expr","locations":[{"start":{"line":47,"column":8},"end":{"line":47,"column":38}},{"start":{"line":48,"column":10},"end":{"line":78,"column":13}}],"line":47},"7":{"loc":{"start":{"line":50,"column":13},"end":{"line":77,"column":13}},"type":"binary-expr","locations":[{"start":{"line":50,"column":13},"end":{"line":50,"column":59}},{"start":{"line":51,"column":14},"end":{"line":76,"column":16}}],"line":50},"8":{"loc":{"start":{"line":62,"column":20},"end":{"line":66,"column":21}},"type":"binary-expr","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":49}},{"start":{"line":63,"column":20},"end":{"line":65,"column":33}}],"line":62},"9":{"loc":{"start":{"line":69,"column":20},"end":{"line":73,"column":21}},"type":"binary-expr","locations":[{"start":{"line":69,"column":21},"end":{"line":69,"column":47}},{"start":{"line":69,"column":51},"end":{"line":69,"column":80}},{"start":{"line":70,"column":20},"end":{"line":72,"column":33}}],"line":69},"10":{"loc":{"start":{"line":71,"column":23},"end":{"line":71,"column":104}},"type":"cond-expr","locations":[{"start":{"line":71,"column":52},"end":{"line":71,"column":76}},{"start":{"line":71,"column":79},"end":{"line":71,"column":104}}],"line":71},"11":{"loc":{"start":{"line":82,"column":8},"end":{"line":98,"column":9}},"type":"binary-expr","locations":[{"start":{"line":82,"column":9},"end":{"line":82,"column":45}},{"start":{"line":82,"column":49},"end":{"line":82,"column":111}},{"start":{"line":83,"column":10},"end":{"line":97,"column":13}}],"line":82},"12":{"loc":{"start":{"line":85,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":85,"column":13},"end":{"line":85,"column":61}},{"start":{"line":86,"column":14},"end":{"line":95,"column":22}}],"line":85}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedTokenItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedTokenItem.tsx","statementMap":{"0":{"start":{"line":13,"column":16},"end":{"line":13,"column":43}},"1":{"start":{"line":15,"column":2},"end":{"line":60,"column":4}}},"fnMap":{"0":{"name":"ChangedTokenItem","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":40}},"loc":{"start":{"line":12,"column":3},"end":{"line":61,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":24},"end":{"line":17,"column":72}},"type":"cond-expr","locations":[{"start":{"line":17,"column":56},"end":{"line":17,"column":61}},{"start":{"line":17,"column":64},"end":{"line":17,"column":72}}],"line":17},"1":{"loc":{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},"type":"binary-expr","locations":[{"start":{"line":20,"column":12},"end":{"line":20,"column":41}},{"start":{"line":20,"column":45},"end":{"line":20,"column":59}},{"start":{"line":20,"column":64},"end":{"line":20,"column":90}},{"start":{"line":21,"column":12},"end":{"line":33,"column":20}}],"line":20},"2":{"loc":{"start":{"line":24,"column":17},"end":{"line":28,"column":24}},"type":"cond-expr","locations":[{"start":{"line":25,"column":18},"end":{"line":27,"column":31}},{"start":{"line":28,"column":20},"end":{"line":28,"column":24}}],"line":24},"3":{"loc":{"start":{"line":26,"column":21},"end":{"line":26,"column":105}},"type":"cond-expr","locations":[{"start":{"line":26,"column":58},"end":{"line":26,"column":88}},{"start":{"line":26,"column":91},"end":{"line":26,"column":105}}],"line":26},"4":{"loc":{"start":{"line":30,"column":19},"end":{"line":30,"column":94}},"type":"cond-expr","locations":[{"start":{"line":30,"column":53},"end":{"line":30,"column":80}},{"start":{"line":30,"column":83},"end":{"line":30,"column":94}}],"line":30},"5":{"loc":{"start":{"line":36,"column":9},"end":{"line":50,"column":9}},"type":"binary-expr","locations":[{"start":{"line":36,"column":11},"end":{"line":36,"column":40}},{"start":{"line":36,"column":44},"end":{"line":36,"column":64}},{"start":{"line":36,"column":70},"end":{"line":36,"column":96}},{"start":{"line":36,"column":100},"end":{"line":36,"column":117}},{"start":{"line":37,"column":8},"end":{"line":49,"column":16}}],"line":36},"6":{"loc":{"start":{"line":40,"column":13},"end":{"line":44,"column":20}},"type":"cond-expr","locations":[{"start":{"line":41,"column":14},"end":{"line":43,"column":27}},{"start":{"line":44,"column":16},"end":{"line":44,"column":20}}],"line":40},"7":{"loc":{"start":{"line":52,"column":10},"end":{"line":56,"column":11}},"type":"binary-expr","locations":[{"start":{"line":52,"column":10},"end":{"line":52,"column":39}},{"start":{"line":53,"column":12},"end":{"line":55,"column":25}}],"line":52}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Changelog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Changelog.tsx","statementMap":{"0":{"start":{"line":11,"column":27},"end":{"line":14,"column":2}},"1":{"start":{"line":16,"column":20},"end":{"line":19,"column":2}},"2":{"start":{"line":22,"column":44},"end":{"line":22,"column":64}},"3":{"start":{"line":23,"column":20},"end":{"line":23,"column":50}},"4":{"start":{"line":24,"column":16},"end":{"line":24,"column":43}},"5":{"start":{"line":26,"column":34},"end":{"line":26,"column":51}},"6":{"start":{"line":28,"column":21},"end":{"line":30,"column":19}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":30}},"8":{"start":{"line":32,"column":21},"end":{"line":34,"column":19}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":30}},"10":{"start":{"line":36,"column":22},"end":{"line":38,"column":8}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":28}},"12":{"start":{"line":40,"column":2},"end":{"line":87,"column":4}},"13":{"start":{"line":45,"column":12},"end":{"line":65,"column":20}}},"fnMap":{"0":{"name":"Changelog","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":33}},"loc":{"start":{"line":21,"column":36},"end":{"line":88,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":39},"end":{"line":28,"column":40}},"loc":{"start":{"line":28,"column":45},"end":{"line":30,"column":3}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":39},"end":{"line":32,"column":40}},"loc":{"start":{"line":32,"column":45},"end":{"line":34,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":40},"end":{"line":36,"column":41}},"loc":{"start":{"line":36,"column":46},"end":{"line":38,"column":3}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":25},"end":{"line":44,"column":26}},"loc":{"start":{"line":45,"column":12},"end":{"line":65,"column":20}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":52},"end":{"line":41,"column":89}},"type":"binary-expr","locations":[{"start":{"line":41,"column":52},"end":{"line":41,"column":72}},{"start":{"line":41,"column":76},"end":{"line":41,"column":89}}],"line":41},"1":{"loc":{"start":{"line":51,"column":30},"end":{"line":51,"column":69}},"type":"cond-expr","locations":[{"start":{"line":51,"column":54},"end":{"line":51,"column":60}},{"start":{"line":51,"column":63},"end":{"line":51,"column":69}}],"line":51},"2":{"loc":{"start":{"line":53,"column":15},"end":{"line":53,"column":91}},"type":"binary-expr","locations":[{"start":{"line":53,"column":15},"end":{"line":53,"column":25}},{"start":{"line":53,"column":29},"end":{"line":53,"column":91}}],"line":53},"3":{"loc":{"start":{"line":56,"column":15},"end":{"line":64,"column":15}},"type":"binary-expr","locations":[{"start":{"line":56,"column":15},"end":{"line":56,"column":34}},{"start":{"line":57,"column":16},"end":{"line":63,"column":37}}],"line":56},"4":{"loc":{"start":{"line":62,"column":19},"end":{"line":62,"column":76}},"type":"cond-expr","locations":[{"start":{"line":62,"column":41},"end":{"line":62,"column":60}},{"start":{"line":62,"column":63},"end":{"line":62,"column":76}}],"line":62},"5":{"loc":{"start":{"line":73,"column":13},"end":{"line":77,"column":13}},"type":"binary-expr","locations":[{"start":{"line":73,"column":13},"end":{"line":73,"column":30}},{"start":{"line":74,"column":14},"end":{"line":76,"column":23}}],"line":73},"6":{"loc":{"start":{"line":78,"column":13},"end":{"line":82,"column":13}},"type":"binary-expr","locations":[{"start":{"line":78,"column":13},"end":{"line":78,"column":47}},{"start":{"line":79,"column":14},"end":{"line":81,"column":23}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPickerTrigger.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPickerTrigger.tsx","statementMap":{"0":{"start":{"line":4,"column":22},"end":{"line":11,"column":2}},"1":{"start":{"line":18,"column":101},"end":{"line":26,"column":1}},"2":{"start":{"line":21,"column":2},"end":{"line":25,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":101},"end":{"line":18,"column":102}},"loc":{"start":{"line":21,"column":2},"end":{"line":25,"column":4}},"line":21}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorTokenForm.tsx","statementMap":{"0":{"start":{"line":26,"column":21},"end":{"line":26,"column":24}},"1":{"start":{"line":47,"column":15},"end":{"line":47,"column":27}},"2":{"start":{"line":48,"column":16},"end":{"line":48,"column":42}},"3":{"start":{"line":49,"column":48},"end":{"line":49,"column":69}},"4":{"start":{"line":50,"column":54},"end":{"line":50,"column":75}},"5":{"start":{"line":51,"column":44},"end":{"line":51,"column":65}},"6":{"start":{"line":52,"column":20},"end":{"line":52,"column":34}},"7":{"start":{"line":54,"column":2},"end":{"line":58,"column":26}},"8":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"9":{"start":{"line":56,"column":6},"end":{"line":56,"column":29}},"10":{"start":{"line":60,"column":27},"end":{"line":67,"column":41}},"11":{"start":{"line":61,"column":4},"end":{"line":65,"column":5}},"12":{"start":{"line":62,"column":6},"end":{"line":64,"column":15}},"13":{"start":{"line":66,"column":4},"end":{"line":66,"column":16}},"14":{"start":{"line":69,"column":36},"end":{"line":71,"column":49}},"15":{"start":{"line":69,"column":57},"end":{"line":71,"column":10}},"16":{"start":{"line":73,"column":24},"end":{"line":93,"column":85}},"17":{"start":{"line":74,"column":4},"end":{"line":92,"column":5}},"18":{"start":{"line":75,"column":6},"end":{"line":87,"column":7}},"19":{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},"20":{"start":{"line":77,"column":31},"end":{"line":77,"column":94}},"21":{"start":{"line":78,"column":10},"end":{"line":80,"column":11}},"22":{"start":{"line":79,"column":12},"end":{"line":79,"column":162}},"23":{"start":{"line":81,"column":10},"end":{"line":83,"column":11}},"24":{"start":{"line":82,"column":12},"end":{"line":82,"column":195}},"25":{"start":{"line":84,"column":10},"end":{"line":84,"column":31}},"26":{"start":{"line":86,"column":8},"end":{"line":86,"column":29}},"27":{"start":{"line":88,"column":6},"end":{"line":88,"column":18}},"28":{"start":{"line":90,"column":6},"end":{"line":90,"column":23}},"29":{"start":{"line":91,"column":6},"end":{"line":91,"column":18}},"30":{"start":{"line":95,"column":23},"end":{"line":110,"column":85}},"31":{"start":{"line":96,"column":4},"end":{"line":108,"column":5}},"32":{"start":{"line":97,"column":6},"end":{"line":106,"column":7}},"33":{"start":{"line":98,"column":29},"end":{"line":98,"column":92}},"34":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"35":{"start":{"line":100,"column":10},"end":{"line":100,"column":174}},"36":{"start":{"line":102,"column":8},"end":{"line":104,"column":9}},"37":{"start":{"line":103,"column":10},"end":{"line":103,"column":207}},"38":{"start":{"line":105,"column":8},"end":{"line":105,"column":29}},"39":{"start":{"line":107,"column":6},"end":{"line":107,"column":27}},"40":{"start":{"line":109,"column":4},"end":{"line":109,"column":16}},"41":{"start":{"line":112,"column":34},"end":{"line":114,"column":23}},"42":{"start":{"line":113,"column":4},"end":{"line":113,"column":41}},"43":{"start":{"line":116,"column":37},"end":{"line":118,"column":26}},"44":{"start":{"line":117,"column":4},"end":{"line":117,"column":47}},"45":{"start":{"line":120,"column":33},"end":{"line":122,"column":39}},"46":{"start":{"line":121,"column":4},"end":{"line":121,"column":43}},"47":{"start":{"line":124,"column":29},"end":{"line":126,"column":31}},"48":{"start":{"line":125,"column":4},"end":{"line":125,"column":39}},"49":{"start":{"line":128,"column":20},"end":{"line":134,"column":26}},"50":{"start":{"line":129,"column":4},"end":{"line":133,"column":7}},"51":{"start":{"line":136,"column":23},"end":{"line":139,"column":31}},"52":{"start":{"line":137,"column":4},"end":{"line":137,"column":28}},"53":{"start":{"line":138,"column":4},"end":{"line":138,"column":30}},"54":{"start":{"line":141,"column":30},"end":{"line":148,"column":45}},"55":{"start":{"line":142,"column":4},"end":{"line":147,"column":5}},"56":{"start":{"line":143,"column":6},"end":{"line":146,"column":26}},"57":{"start":{"line":150,"column":31},"end":{"line":157,"column":45}},"58":{"start":{"line":151,"column":4},"end":{"line":156,"column":5}},"59":{"start":{"line":152,"column":6},"end":{"line":155,"column":26}},"60":{"start":{"line":159,"column":34},"end":{"line":166,"column":45}},"61":{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},"62":{"start":{"line":161,"column":6},"end":{"line":164,"column":9}},"63":{"start":{"line":168,"column":48},"end":{"line":175,"column":45}},"64":{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},"65":{"start":{"line":170,"column":6},"end":{"line":173,"column":9}},"66":{"start":{"line":177,"column":31},"end":{"line":184,"column":45}},"67":{"start":{"line":178,"column":4},"end":{"line":183,"column":5}},"68":{"start":{"line":179,"column":6},"end":{"line":182,"column":24}},"69":{"start":{"line":186,"column":36},"end":{"line":193,"column":45}},"70":{"start":{"line":187,"column":4},"end":{"line":192,"column":5}},"71":{"start":{"line":188,"column":6},"end":{"line":191,"column":24}},"72":{"start":{"line":195,"column":19},"end":{"line":195,"column":172}},"73":{"start":{"line":195,"column":39},"end":{"line":195,"column":150}},"74":{"start":{"line":197,"column":2},"end":{"line":319,"column":4}},"75":{"start":{"line":260,"column":79},"end":{"line":260,"column":168}},"76":{"start":{"line":266,"column":77},"end":{"line":266,"column":169}}},"fnMap":{"0":{"name":"ColorTokenForm","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":38}},"loc":{"start":{"line":46,"column":3},"end":{"line":320,"column":1}},"line":46},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":18},"end":{"line":54,"column":19}},"loc":{"start":{"line":54,"column":24},"end":{"line":58,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":60,"column":41},"end":{"line":60,"column":42}},"loc":{"start":{"line":60,"column":47},"end":{"line":67,"column":3}},"line":60},"3":{"name":"(anonymous_3)","decl":{"start":{"line":69,"column":50},"end":{"line":69,"column":51}},"loc":{"start":{"line":69,"column":57},"end":{"line":71,"column":10}},"line":69},"4":{"name":"(anonymous_4)","decl":{"start":{"line":73,"column":32},"end":{"line":73,"column":33}},"loc":{"start":{"line":73,"column":38},"end":{"line":93,"column":3}},"line":73},"5":{"name":"(anonymous_5)","decl":{"start":{"line":95,"column":31},"end":{"line":95,"column":32}},"loc":{"start":{"line":95,"column":37},"end":{"line":110,"column":3}},"line":95},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":46},"end":{"line":112,"column":47}},"loc":{"start":{"line":112,"column":52},"end":{"line":114,"column":3}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":116,"column":49},"end":{"line":116,"column":50}},"loc":{"start":{"line":116,"column":55},"end":{"line":118,"column":3}},"line":116},"8":{"name":"(anonymous_8)","decl":{"start":{"line":120,"column":45},"end":{"line":120,"column":46}},"loc":{"start":{"line":120,"column":64},"end":{"line":122,"column":3}},"line":120},"9":{"name":"(anonymous_9)","decl":{"start":{"line":124,"column":47},"end":{"line":124,"column":48}},"loc":{"start":{"line":124,"column":77},"end":{"line":126,"column":3}},"line":124},"10":{"name":"(anonymous_10)","decl":{"start":{"line":128,"column":32},"end":{"line":128,"column":33}},"loc":{"start":{"line":128,"column":38},"end":{"line":134,"column":3}},"line":128},"11":{"name":"(anonymous_11)","decl":{"start":{"line":136,"column":35},"end":{"line":136,"column":36}},"loc":{"start":{"line":136,"column":41},"end":{"line":139,"column":3}},"line":136},"12":{"name":"(anonymous_12)","decl":{"start":{"line":141,"column":42},"end":{"line":141,"column":43}},"loc":{"start":{"line":141,"column":65},"end":{"line":148,"column":3}},"line":141},"13":{"name":"(anonymous_13)","decl":{"start":{"line":150,"column":43},"end":{"line":150,"column":44}},"loc":{"start":{"line":150,"column":67},"end":{"line":157,"column":3}},"line":150},"14":{"name":"(anonymous_14)","decl":{"start":{"line":159,"column":46},"end":{"line":159,"column":47}},"loc":{"start":{"line":159,"column":83},"end":{"line":166,"column":3}},"line":159},"15":{"name":"(anonymous_15)","decl":{"start":{"line":168,"column":60},"end":{"line":168,"column":61}},"loc":{"start":{"line":168,"column":88},"end":{"line":175,"column":3}},"line":168},"16":{"name":"(anonymous_16)","decl":{"start":{"line":177,"column":43},"end":{"line":177,"column":44}},"loc":{"start":{"line":177,"column":65},"end":{"line":184,"column":3}},"line":177},"17":{"name":"(anonymous_17)","decl":{"start":{"line":186,"column":48},"end":{"line":186,"column":49}},"loc":{"start":{"line":186,"column":85},"end":{"line":193,"column":3}},"line":186},"18":{"name":"(anonymous_18)","decl":{"start":{"line":195,"column":33},"end":{"line":195,"column":34}},"loc":{"start":{"line":195,"column":39},"end":{"line":195,"column":150}},"line":195},"19":{"name":"(anonymous_19)","decl":{"start":{"line":260,"column":57},"end":{"line":260,"column":58}},"loc":{"start":{"line":260,"column":79},"end":{"line":260,"column":168}},"line":260},"20":{"name":"(anonymous_20)","decl":{"start":{"line":266,"column":54},"end":{"line":266,"column":55}},"loc":{"start":{"line":266,"column":77},"end":{"line":266,"column":169}},"line":266}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":55},"1":{"loc":{"start":{"line":61,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":61},"2":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":166}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":98}},{"start":{"line":61,"column":102},"end":{"line":61,"column":166}}],"line":61},"3":{"loc":{"start":{"line":62,"column":13},"end":{"line":64,"column":14}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":105}},{"start":{"line":64,"column":10},"end":{"line":64,"column":14}}],"line":62},"4":{"loc":{"start":{"line":69,"column":57},"end":{"line":71,"column":10}},"type":"cond-expr","locations":[{"start":{"line":70,"column":6},"end":{"line":70,"column":101}},{"start":{"line":71,"column":6},"end":{"line":71,"column":10}}],"line":69},"5":{"loc":{"start":{"line":75,"column":6},"end":{"line":87,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":87,"column":7}},{"start":{},"end":{}}],"line":75},"6":{"loc":{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},{"start":{},"end":{}}],"line":76},"7":{"loc":{"start":{"line":78,"column":10},"end":{"line":80,"column":11}},"type":"if","locations":[{"start":{"line":78,"column":10},"end":{"line":80,"column":11}},{"start":{},"end":{}}],"line":78},"8":{"loc":{"start":{"line":78,"column":14},"end":{"line":78,"column":148}},"type":"binary-expr","locations":[{"start":{"line":78,"column":14},"end":{"line":78,"column":57}},{"start":{"line":78,"column":61},"end":{"line":78,"column":103}},{"start":{"line":78,"column":107},"end":{"line":78,"column":148}}],"line":78},"9":{"loc":{"start":{"line":81,"column":10},"end":{"line":83,"column":11}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":83,"column":11}},{"start":{},"end":{}}],"line":81},"10":{"loc":{"start":{"line":81,"column":14},"end":{"line":81,"column":73}},"type":"binary-expr","locations":[{"start":{"line":81,"column":14},"end":{"line":81,"column":53}},{"start":{"line":81,"column":57},"end":{"line":81,"column":73}}],"line":81},"11":{"loc":{"start":{"line":96,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":96},"12":{"loc":{"start":{"line":97,"column":6},"end":{"line":106,"column":7}},"type":"if","locations":[{"start":{"line":97,"column":6},"end":{"line":106,"column":7}},{"start":{},"end":{}}],"line":97},"13":{"loc":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},{"start":{},"end":{}}],"line":99},"14":{"loc":{"start":{"line":99,"column":12},"end":{"line":99,"column":146}},"type":"binary-expr","locations":[{"start":{"line":99,"column":12},"end":{"line":99,"column":55}},{"start":{"line":99,"column":59},"end":{"line":99,"column":101}},{"start":{"line":99,"column":105},"end":{"line":99,"column":146}}],"line":99},"15":{"loc":{"start":{"line":102,"column":8},"end":{"line":104,"column":9}},"type":"if","locations":[{"start":{"line":102,"column":8},"end":{"line":104,"column":9}},{"start":{},"end":{}}],"line":102},"16":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":71}},"type":"binary-expr","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":51}},{"start":{"line":102,"column":55},"end":{"line":102,"column":71}}],"line":102},"17":{"loc":{"start":{"line":142,"column":4},"end":{"line":147,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":147,"column":5}},{"start":{},"end":{}}],"line":142},"18":{"loc":{"start":{"line":151,"column":4},"end":{"line":156,"column":5}},"type":"if","locations":[{"start":{"line":151,"column":4},"end":{"line":156,"column":5}},{"start":{},"end":{}}],"line":151},"19":{"loc":{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},{"start":{},"end":{}}],"line":160},"20":{"loc":{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},{"start":{},"end":{}}],"line":169},"21":{"loc":{"start":{"line":178,"column":4},"end":{"line":183,"column":5}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":183,"column":5}},{"start":{},"end":{}}],"line":178},"22":{"loc":{"start":{"line":187,"column":4},"end":{"line":192,"column":5}},"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":192,"column":5}},{"start":{},"end":{}}],"line":187},"23":{"loc":{"start":{"line":195,"column":59},"end":{"line":195,"column":149}},"type":"binary-expr","locations":[{"start":{"line":195,"column":59},"end":{"line":195,"column":122}},{"start":{"line":195,"column":126},"end":{"line":195,"column":149}}],"line":195},"24":{"loc":{"start":{"line":214,"column":7},"end":{"line":216,"column":7}},"type":"binary-expr","locations":[{"start":{"line":214,"column":7},"end":{"line":214,"column":22}},{"start":{"line":215,"column":8},"end":{"line":215,"column":89}}],"line":214},"25":{"loc":{"start":{"line":223,"column":10},"end":{"line":241,"column":11}},"type":"cond-expr","locations":[{"start":{"line":224,"column":12},"end":{"line":231,"column":14}},{"start":{"line":233,"column":12},"end":{"line":240,"column":14}}],"line":223},"26":{"loc":{"start":{"line":245,"column":8},"end":{"line":305,"column":9}},"type":"binary-expr","locations":[{"start":{"line":245,"column":8},"end":{"line":245,"column":21}},{"start":{"line":245,"column":25},"end":{"line":245,"column":34}},{"start":{"line":246,"column":10},"end":{"line":304,"column":13}}],"line":245},"27":{"loc":{"start":{"line":257,"column":77},"end":{"line":257,"column":165}},"type":"binary-expr","locations":[{"start":{"line":257,"column":77},"end":{"line":257,"column":140}},{"start":{"line":257,"column":144},"end":{"line":257,"column":165}}],"line":257},"28":{"loc":{"start":{"line":258,"column":103},"end":{"line":258,"column":191}},"type":"binary-expr","locations":[{"start":{"line":258,"column":103},"end":{"line":258,"column":166}},{"start":{"line":258,"column":170},"end":{"line":258,"column":191}}],"line":258},"29":{"loc":{"start":{"line":263,"column":78},"end":{"line":263,"column":168}},"type":"binary-expr","locations":[{"start":{"line":263,"column":78},"end":{"line":263,"column":142}},{"start":{"line":263,"column":146},"end":{"line":263,"column":168}}],"line":263},"30":{"loc":{"start":{"line":264,"column":75},"end":{"line":264,"column":165}},"type":"binary-expr","locations":[{"start":{"line":264,"column":75},"end":{"line":264,"column":139}},{"start":{"line":264,"column":143},"end":{"line":264,"column":165}}],"line":264},"31":{"loc":{"start":{"line":271,"column":14},"end":{"line":290,"column":15}},"type":"binary-expr","locations":[{"start":{"line":271,"column":14},"end":{"line":271,"column":104}},{"start":{"line":272,"column":16},"end":{"line":289,"column":19}}],"line":271},"32":{"loc":{"start":{"line":286,"column":19},"end":{"line":288,"column":19}},"type":"binary-expr","locations":[{"start":{"line":286,"column":19},"end":{"line":286,"column":37}},{"start":{"line":287,"column":20},"end":{"line":287,"column":140}}],"line":286},"33":{"loc":{"start":{"line":307,"column":7},"end":{"line":317,"column":7}},"type":"binary-expr","locations":[{"start":{"line":307,"column":8},"end":{"line":307,"column":53}},{"start":{"line":307,"column":57},"end":{"line":307,"column":114}},{"start":{"line":308,"column":8},"end":{"line":316,"column":14}}],"line":307},"34":{"loc":{"start":{"line":312,"column":11},"end":{"line":314,"column":18}},"type":"cond-expr","locations":[{"start":{"line":313,"column":12},"end":{"line":313,"column":68}},{"start":{"line":314,"column":14},"end":{"line":314,"column":18}}],"line":312}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0],"34":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/CompositionTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/CompositionTokenForm.tsx","statementMap":{"0":{"start":{"line":30,"column":15},"end":{"line":30,"column":27}},"1":{"start":{"line":31,"column":34},"end":{"line":31,"column":69}},"2":{"start":{"line":32,"column":28},"end":{"line":32,"column":49}},"3":{"start":{"line":33,"column":16},"end":{"line":33,"column":42}},"4":{"start":{"line":35,"column":25},"end":{"line":39,"column":8}},"5":{"start":{"line":36,"column":4},"end":{"line":38,"column":6}},"6":{"start":{"line":37,"column":6},"end":{"line":37,"column":57}},"7":{"start":{"line":41,"column":2},"end":{"line":47,"column":9}},"8":{"start":{"line":42,"column":45},"end":{"line":42,"column":47}},"9":{"start":{"line":43,"column":4},"end":{"line":45,"column":7}},"10":{"start":{"line":44,"column":6},"end":{"line":44,"column":71}},"11":{"start":{"line":46,"column":4},"end":{"line":46,"column":33}},"12":{"start":{"line":50,"column":29},"end":{"line":54,"column":35}},"13":{"start":{"line":51,"column":35},"end":{"line":51,"column":111}},"14":{"start":{"line":52,"column":4},"end":{"line":53,"column":113}},"15":{"start":{"line":52,"column":83},"end":{"line":52,"column":180}},"16":{"start":{"line":53,"column":19},"end":{"line":53,"column":109}},"17":{"start":{"line":56,"column":19},"end":{"line":63,"column":25}},"18":{"start":{"line":57,"column":35},"end":{"line":57,"column":111}},"19":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"20":{"start":{"line":59,"column":6},"end":{"line":59,"column":21}},"21":{"start":{"line":61,"column":4},"end":{"line":61,"column":64}},"22":{"start":{"line":62,"column":4},"end":{"line":62,"column":61}},"23":{"start":{"line":65,"column":22},"end":{"line":69,"column":25}},"24":{"start":{"line":66,"column":35},"end":{"line":66,"column":111}},"25":{"start":{"line":67,"column":100},"end":{"line":67,"column":122}},"26":{"start":{"line":68,"column":4},"end":{"line":68,"column":52}},"27":{"start":{"line":71,"column":25},"end":{"line":73,"column":8}},"28":{"start":{"line":72,"column":4},"end":{"line":72,"column":29}},"29":{"start":{"line":75,"column":24},"end":{"line":85,"column":40}},"30":{"start":{"line":76,"column":41},"end":{"line":76,"column":43}},"31":{"start":{"line":77,"column":35},"end":{"line":77,"column":111}},"32":{"start":{"line":78,"column":4},"end":{"line":80,"column":7}},"33":{"start":{"line":79,"column":6},"end":{"line":79,"column":66}},"34":{"start":{"line":81,"column":33},"end":{"line":82,"column":112}},"35":{"start":{"line":81,"column":105},"end":{"line":81,"column":208}},"36":{"start":{"line":82,"column":19},"end":{"line":82,"column":109}},"37":{"start":{"line":83,"column":4},"end":{"line":83,"column":29}},"38":{"start":{"line":84,"column":4},"end":{"line":84,"column":59}},"39":{"start":{"line":87,"column":2},"end":{"line":148,"column":4}},"40":{"start":{"line":125,"column":20},"end":{"line":140,"column":31}}},"fnMap":{"0":{"name":"CompositionTokenForm","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":44}},"loc":{"start":{"line":29,"column":3},"end":{"line":149,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":39},"end":{"line":35,"column":40}},"loc":{"start":{"line":36,"column":4},"end":{"line":38,"column":6}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":66},"end":{"line":36,"column":67}},"loc":{"start":{"line":37,"column":6},"end":{"line":37,"column":57}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":18},"end":{"line":41,"column":19}},"loc":{"start":{"line":41,"column":24},"end":{"line":47,"column":3}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":102},"end":{"line":43,"column":103}},"loc":{"start":{"line":43,"column":118},"end":{"line":45,"column":5}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":60},"end":{"line":50,"column":61}},"loc":{"start":{"line":50,"column":66},"end":{"line":54,"column":3}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":73},"end":{"line":52,"column":74}},"loc":{"start":{"line":52,"column":83},"end":{"line":52,"column":180}},"line":52},"7":{"name":"(anonymous_7)","decl":{"start":{"line":53,"column":11},"end":{"line":53,"column":12}},"loc":{"start":{"line":53,"column":19},"end":{"line":53,"column":109}},"line":53},"8":{"name":"(anonymous_8)","decl":{"start":{"line":56,"column":31},"end":{"line":56,"column":32}},"loc":{"start":{"line":56,"column":37},"end":{"line":63,"column":3}},"line":56},"9":{"name":"(anonymous_9)","decl":{"start":{"line":65,"column":34},"end":{"line":65,"column":35}},"loc":{"start":{"line":65,"column":56},"end":{"line":69,"column":3}},"line":65},"10":{"name":"(anonymous_10)","decl":{"start":{"line":71,"column":37},"end":{"line":71,"column":38}},"loc":{"start":{"line":71,"column":71},"end":{"line":73,"column":3}},"line":71},"11":{"name":"(anonymous_11)","decl":{"start":{"line":75,"column":42},"end":{"line":75,"column":43}},"loc":{"start":{"line":75,"column":72},"end":{"line":85,"column":3}},"line":75},"12":{"name":"(anonymous_12)","decl":{"start":{"line":78,"column":27},"end":{"line":78,"column":28}},"loc":{"start":{"line":78,"column":43},"end":{"line":80,"column":5}},"line":78},"13":{"name":"(anonymous_13)","decl":{"start":{"line":81,"column":95},"end":{"line":81,"column":96}},"loc":{"start":{"line":81,"column":105},"end":{"line":81,"column":208}},"line":81},"14":{"name":"(anonymous_14)","decl":{"start":{"line":82,"column":11},"end":{"line":82,"column":12}},"loc":{"start":{"line":82,"column":19},"end":{"line":82,"column":109}},"line":82},"15":{"name":"(anonymous_15)","decl":{"start":{"line":124,"column":57},"end":{"line":124,"column":58}},"loc":{"start":{"line":125,"column":20},"end":{"line":140,"column":31}},"line":125}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":16},"end":{"line":43,"column":92}},"type":"binary-expr","locations":[{"start":{"line":43,"column":16},"end":{"line":43,"column":39}},{"start":{"line":43,"column":43},"end":{"line":43,"column":92}}],"line":43},"1":{"loc":{"start":{"line":51,"column":35},"end":{"line":51,"column":111}},"type":"binary-expr","locations":[{"start":{"line":51,"column":35},"end":{"line":51,"column":58}},{"start":{"line":51,"column":62},"end":{"line":51,"column":111}}],"line":51},"2":{"loc":{"start":{"line":57,"column":35},"end":{"line":57,"column":111}},"type":"binary-expr","locations":[{"start":{"line":57,"column":35},"end":{"line":57,"column":58}},{"start":{"line":57,"column":62},"end":{"line":57,"column":111}}],"line":57},"3":{"loc":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":58},"4":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":101}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":101}}],"line":58},"5":{"loc":{"start":{"line":66,"column":35},"end":{"line":66,"column":111}},"type":"binary-expr","locations":[{"start":{"line":66,"column":35},"end":{"line":66,"column":58}},{"start":{"line":66,"column":62},"end":{"line":66,"column":111}}],"line":66},"6":{"loc":{"start":{"line":77,"column":35},"end":{"line":77,"column":111}},"type":"binary-expr","locations":[{"start":{"line":77,"column":35},"end":{"line":77,"column":58}},{"start":{"line":77,"column":62},"end":{"line":77,"column":111}}],"line":77},"7":{"loc":{"start":{"line":92,"column":19},"end":{"line":92,"column":75}},"type":"cond-expr","locations":[{"start":{"line":92,"column":27},"end":{"line":92,"column":52}},{"start":{"line":92,"column":55},"end":{"line":92,"column":75}}],"line":92},"8":{"loc":{"start":{"line":103,"column":12},"end":{"line":144,"column":13}},"type":"cond-expr","locations":[{"start":{"line":104,"column":14},"end":{"line":116,"column":16}},{"start":{"line":118,"column":14},"end":{"line":143,"column":29}}],"line":103}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConfirmDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConfirmDialog.tsx","statementMap":{"0":{"start":{"line":12,"column":7},"end":{"line":29,"column":1}},"1":{"start":{"line":17,"column":30},"end":{"line":19,"column":31}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":47}},"3":{"start":{"line":21,"column":2},"end":{"line":28,"column":4}},"4":{"start":{"line":32,"column":24},"end":{"line":32,"column":68}},"5":{"start":{"line":33,"column":21},"end":{"line":33,"column":64}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":18}},"7":{"start":{"line":37,"column":30},"end":{"line":37,"column":58}},"8":{"start":{"line":38,"column":38},"end":{"line":38,"column":56}},"9":{"start":{"line":40,"column":2},"end":{"line":42,"column":26}},"10":{"start":{"line":41,"column":4},"end":{"line":41,"column":22}},"11":{"start":{"line":44,"column":23},"end":{"line":63,"column":3}},"12":{"start":{"line":46,"column":6},"end":{"line":52,"column":7}},"13":{"start":{"line":47,"column":22},"end":{"line":47,"column":40}},"14":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"15":{"start":{"line":49,"column":10},"end":{"line":49,"column":33}},"16":{"start":{"line":51,"column":8},"end":{"line":51,"column":63}},"17":{"start":{"line":51,"column":49},"end":{"line":51,"column":60}},"18":{"start":{"line":53,"column":20},"end":{"line":53,"column":38}},"19":{"start":{"line":54,"column":6},"end":{"line":58,"column":7}},"20":{"start":{"line":55,"column":8},"end":{"line":55,"column":35}},"21":{"start":{"line":57,"column":8},"end":{"line":57,"column":56}},"22":{"start":{"line":57,"column":42},"end":{"line":57,"column":53}},"23":{"start":{"line":60,"column":6},"end":{"line":60,"column":22}},"24":{"start":{"line":65,"column":28},"end":{"line":67,"column":8}},"25":{"start":{"line":66,"column":4},"end":{"line":66,"column":38}},"26":{"start":{"line":69,"column":24},"end":{"line":76,"column":51}},"27":{"start":{"line":70,"column":4},"end":{"line":70,"column":27}},"28":{"start":{"line":71,"column":4},"end":{"line":75,"column":5}},"29":{"start":{"line":72,"column":6},"end":{"line":72,"column":28}},"30":{"start":{"line":74,"column":6},"end":{"line":74,"column":24}},"31":{"start":{"line":78,"column":2},"end":{"line":85,"column":75}},"32":{"start":{"line":79,"column":4},"end":{"line":79,"column":105}},"33":{"start":{"line":79,"column":30},"end":{"line":79,"column":105}},"34":{"start":{"line":79,"column":75},"end":{"line":79,"column":84}},"35":{"start":{"line":79,"column":97},"end":{"line":79,"column":102}},"36":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"37":{"start":{"line":81,"column":6},"end":{"line":81,"column":33}},"38":{"start":{"line":82,"column":11},"end":{"line":84,"column":5}},"39":{"start":{"line":83,"column":6},"end":{"line":83,"column":36}},"40":{"start":{"line":87,"column":26},"end":{"line":87,"column":60}},"41":{"start":{"line":89,"column":2},"end":{"line":138,"column":11}},"42":{"start":{"line":110,"column":18},"end":{"line":122,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":7},"end":{"line":12,"column":8}},"loc":{"start":{"line":16,"column":6},"end":{"line":29,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":48},"end":{"line":17,"column":49}},"loc":{"start":{"line":17,"column":54},"end":{"line":19,"column":3}},"line":17},"2":{"name":"ConfirmDialog","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":22}},"loc":{"start":{"line":31,"column":25},"end":{"line":139,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":18},"end":{"line":40,"column":19}},"loc":{"start":{"line":40,"column":24},"end":{"line":42,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":38},"end":{"line":61,"column":5}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":39},"end":{"line":51,"column":40}},"loc":{"start":{"line":51,"column":49},"end":{"line":51,"column":60}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":57,"column":32},"end":{"line":57,"column":33}},"loc":{"start":{"line":57,"column":42},"end":{"line":57,"column":53}},"line":57},"7":{"name":"(anonymous_7)","decl":{"start":{"line":60,"column":13},"end":{"line":60,"column":14}},"loc":{"start":{"line":60,"column":19},"end":{"line":60,"column":21}},"line":60},"8":{"name":"(anonymous_8)","decl":{"start":{"line":65,"column":46},"end":{"line":65,"column":47}},"loc":{"start":{"line":65,"column":94},"end":{"line":67,"column":3}},"line":65},"9":{"name":"(anonymous_9)","decl":{"start":{"line":69,"column":42},"end":{"line":69,"column":43}},"loc":{"start":{"line":69,"column":87},"end":{"line":76,"column":3}},"line":69},"10":{"name":"(anonymous_10)","decl":{"start":{"line":78,"column":18},"end":{"line":78,"column":19}},"loc":{"start":{"line":78,"column":24},"end":{"line":85,"column":3}},"line":78},"11":{"name":"(anonymous_11)","decl":{"start":{"line":79,"column":68},"end":{"line":79,"column":69}},"loc":{"start":{"line":79,"column":75},"end":{"line":79,"column":84}},"line":79},"12":{"name":"(anonymous_12)","decl":{"start":{"line":79,"column":90},"end":{"line":79,"column":91}},"loc":{"start":{"line":79,"column":97},"end":{"line":79,"column":102}},"line":79},"13":{"name":"(anonymous_13)","decl":{"start":{"line":109,"column":42},"end":{"line":109,"column":43}},"loc":{"start":{"line":110,"column":18},"end":{"line":122,"column":24}},"line":110}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":52,"column":7}},{"start":{},"end":{}}],"line":46},"1":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{},"end":{}}],"line":48},"2":{"loc":{"start":{"line":54,"column":6},"end":{"line":58,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":58,"column":7}},{"start":{"line":56,"column":13},"end":{"line":58,"column":7}}],"line":54},"3":{"loc":{"start":{"line":71,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":75,"column":5}},{"start":{"line":73,"column":11},"end":{"line":75,"column":5}}],"line":71},"4":{"loc":{"start":{"line":79,"column":4},"end":{"line":79,"column":105}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":79,"column":105}},{"start":{},"end":{}}],"line":79},"5":{"loc":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},{"start":{"line":82,"column":11},"end":{"line":84,"column":5}}],"line":80},"6":{"loc":{"start":{"line":82,"column":11},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":82,"column":11},"end":{"line":84,"column":5}},{"start":{},"end":{}}],"line":82},"7":{"loc":{"start":{"line":89,"column":9},"end":{"line":138,"column":10}},"type":"cond-expr","locations":[{"start":{"line":90,"column":4},"end":{"line":137,"column":12}},{"start":{"line":138,"column":6},"end":{"line":138,"column":10}}],"line":89},"8":{"loc":{"start":{"line":90,"column":42},"end":{"line":90,"column":81}},"type":"binary-expr","locations":[{"start":{"line":90,"column":42},"end":{"line":90,"column":60}},{"start":{"line":90,"column":64},"end":{"line":90,"column":81}}],"line":90},"9":{"loc":{"start":{"line":94,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":94,"column":13},"end":{"line":94,"column":38}},{"start":{"line":95,"column":14},"end":{"line":95,"column":59}}],"line":94},"10":{"loc":{"start":{"line":97,"column":13},"end":{"line":106,"column":20}},"type":"cond-expr","locations":[{"start":{"line":98,"column":14},"end":{"line":105,"column":16}},{"start":{"line":106,"column":16},"end":{"line":106,"column":20}}],"line":97},"11":{"loc":{"start":{"line":107,"column":13},"end":{"line":125,"column":20}},"type":"cond-expr","locations":[{"start":{"line":108,"column":14},"end":{"line":124,"column":22}},{"start":{"line":125,"column":16},"end":{"line":125,"column":20}}],"line":107},"12":{"loc":{"start":{"line":127,"column":50},"end":{"line":127,"column":85}},"type":"cond-expr","locations":[{"start":{"line":127,"column":68},"end":{"line":127,"column":77}},{"start":{"line":127,"column":80},"end":{"line":127,"column":85}}],"line":127},"13":{"loc":{"start":{"line":131,"column":43},"end":{"line":131,"column":81}},"type":"cond-expr","locations":[{"start":{"line":131,"column":61},"end":{"line":131,"column":69}},{"start":{"line":131,"column":72},"end":{"line":131,"column":81}}],"line":131}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConvertToDTCGModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConvertToDTCGModal.tsx","statementMap":{"0":{"start":{"line":21,"column":19},"end":{"line":21,"column":42}},"1":{"start":{"line":22,"column":38},"end":{"line":22,"column":86}},"2":{"start":{"line":23,"column":22},"end":{"line":23,"column":54}},"3":{"start":{"line":24,"column":25},"end":{"line":24,"column":42}},"4":{"start":{"line":25,"column":25},"end":{"line":25,"column":42}},"5":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"6":{"start":{"line":27,"column":22},"end":{"line":27,"column":54}},"7":{"start":{"line":29,"column":17},"end":{"line":29,"column":56}},"8":{"start":{"line":31,"column":22},"end":{"line":33,"column":24}},"9":{"start":{"line":32,"column":4},"end":{"line":32,"column":59}},"10":{"start":{"line":35,"column":24},"end":{"line":48,"column":49}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":101}},"12":{"start":{"line":37,"column":4},"end":{"line":37,"column":59}},"13":{"start":{"line":38,"column":4},"end":{"line":38,"column":67}},"14":{"start":{"line":38,"column":60},"end":{"line":38,"column":67}},"15":{"start":{"line":39,"column":4},"end":{"line":47,"column":7}},"16":{"start":{"line":50,"column":27},"end":{"line":50,"column":91}},"17":{"start":{"line":52,"column":2},"end":{"line":68,"column":4}}},"fnMap":{"0":{"name":"ConvertToDTCGModal","decl":{"start":{"line":20,"column":16},"end":{"line":20,"column":34}},"loc":{"start":{"line":20,"column":37},"end":{"line":69,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":40},"end":{"line":31,"column":41}},"loc":{"start":{"line":31,"column":46},"end":{"line":33,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":42},"end":{"line":35,"column":43}},"loc":{"start":{"line":35,"column":48},"end":{"line":48,"column":3}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":39},"end":{"line":36,"column":99}},"type":"cond-expr","locations":[{"start":{"line":36,"column":48},"end":{"line":36,"column":73}},{"start":{"line":36,"column":76},"end":{"line":36,"column":99}}],"line":36},"1":{"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":67}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":38,"column":67}},{"start":{},"end":{}}],"line":38},"2":{"loc":{"start":{"line":40,"column":17},"end":{"line":46,"column":7}},"type":"cond-expr","locations":[{"start":{"line":40,"column":26},"end":{"line":43,"column":7}},{"start":{"line":43,"column":10},"end":{"line":46,"column":7}}],"line":40},"3":{"loc":{"start":{"line":50,"column":27},"end":{"line":50,"column":91}},"type":"binary-expr","locations":[{"start":{"line":50,"column":27},"end":{"line":50,"column":37}},{"start":{"line":50,"column":41},"end":{"line":50,"column":91}}],"line":50},"4":{"loc":{"start":{"line":53,"column":18},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":27},"end":{"line":53,"column":51}},{"start":{"line":53,"column":54},"end":{"line":53,"column":74}}],"line":53},"5":{"loc":{"start":{"line":55,"column":27},"end":{"line":55,"column":72}},"type":"cond-expr","locations":[{"start":{"line":55,"column":36},"end":{"line":55,"column":54}},{"start":{"line":55,"column":57},"end":{"line":55,"column":72}}],"line":55},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":86}},"type":"cond-expr","locations":[{"start":{"line":57,"column":20},"end":{"line":57,"column":50}},{"start":{"line":57,"column":53},"end":{"line":57,"column":86}}],"line":57},"7":{"loc":{"start":{"line":61,"column":13},"end":{"line":61,"column":62}},"type":"cond-expr","locations":[{"start":{"line":61,"column":22},"end":{"line":61,"column":42}},{"start":{"line":61,"column":45},"end":{"line":61,"column":62}}],"line":61},"8":{"loc":{"start":{"line":65,"column":9},"end":{"line":65,"column":79}},"type":"binary-expr","locations":[{"start":{"line":65,"column":9},"end":{"line":65,"column":25}},{"start":{"line":65,"column":29},"end":{"line":65,"column":79}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Count.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Count.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":17,"column":4}}},"fnMap":{"0":{"name":"Count","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":21}},"loc":{"start":{"line":4,"column":53},"end":{"line":18,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DirtyStateBadgeWrapper.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DirtyStateBadgeWrapper.tsx","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}}},"fnMap":{"0":{"name":"DirtyStateBadgeWrapper","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":107},"end":{"line":12,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":7},"end":{"line":8,"column":41}},"type":"binary-expr","locations":[{"start":{"line":8,"column":7},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":41}}],"line":8}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Divider.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Divider.tsx","statementMap":{"0":{"start":{"line":3,"column":23},"end":{"line":5,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenForm.tsx","statementMap":{"0":{"start":{"line":47,"column":39},"end":{"line":47,"column":59}},"1":{"start":{"line":48,"column":27},"end":{"line":48,"column":32}},"2":{"start":{"line":58,"column":16},"end":{"line":58,"column":52}},"3":{"start":{"line":59,"column":25},"end":{"line":59,"column":60}},"4":{"start":{"line":60,"column":17},"end":{"line":60,"column":44}},"5":{"start":{"line":61,"column":20},"end":{"line":61,"column":50}},"6":{"start":{"line":62,"column":17},"end":{"line":62,"column":48}},"7":{"start":{"line":63,"column":52},"end":{"line":63,"column":94}},"8":{"start":{"line":66,"column":6},"end":{"line":66,"column":23}},"9":{"start":{"line":69,"column":6},"end":{"line":69,"column":17}},"10":{"start":{"line":70,"column":19},"end":{"line":70,"column":42}},"11":{"start":{"line":71,"column":28},"end":{"line":71,"column":63}},"12":{"start":{"line":72,"column":52},"end":{"line":72,"column":95}},"13":{"start":{"line":73,"column":22},"end":{"line":73,"column":34}},"14":{"start":{"line":74,"column":32},"end":{"line":80,"column":3}},"15":{"start":{"line":75,"column":10},"end":{"line":78,"column":83}},"16":{"start":{"line":81,"column":28},"end":{"line":86,"column":25}},"17":{"start":{"line":82,"column":4},"end":{"line":84,"column":5}},"18":{"start":{"line":83,"column":6},"end":{"line":83,"column":80}},"19":{"start":{"line":85,"column":4},"end":{"line":85,"column":16}},"20":{"start":{"line":88,"column":18},"end":{"line":103,"column":74}},"21":{"start":{"line":89,"column":4},"end":{"line":95,"column":5}},"22":{"start":{"line":94,"column":6},"end":{"line":94,"column":19}},"23":{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},"24":{"start":{"line":97,"column":6},"end":{"line":97,"column":18}},"25":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"26":{"start":{"line":100,"column":6},"end":{"line":100,"column":31}},"27":{"start":{"line":102,"column":4},"end":{"line":102,"column":72}},"28":{"start":{"line":105,"column":35},"end":{"line":115,"column":76}},"29":{"start":{"line":106,"column":22},"end":{"line":108,"column":54}},"30":{"start":{"line":107,"column":21},"end":{"line":107,"column":73}},"31":{"start":{"line":108,"column":19},"end":{"line":108,"column":53}},"32":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"33":{"start":{"line":111,"column":6},"end":{"line":111,"column":60}},"34":{"start":{"line":114,"column":4},"end":{"line":114,"column":21}},"35":{"start":{"line":117,"column":44},"end":{"line":123,"column":3}},"36":{"start":{"line":118,"column":10},"end":{"line":121,"column":68}},"37":{"start":{"line":119,"column":21},"end":{"line":119,"column":58}},"38":{"start":{"line":120,"column":21},"end":{"line":120,"column":62}},"39":{"start":{"line":121,"column":19},"end":{"line":121,"column":67}},"40":{"start":{"line":125,"column":25},"end":{"line":130,"column":25}},"41":{"start":{"line":126,"column":4},"end":{"line":128,"column":5}},"42":{"start":{"line":127,"column":6},"end":{"line":127,"column":90}},"43":{"start":{"line":129,"column":4},"end":{"line":129,"column":17}},"44":{"start":{"line":132,"column":37},"end":{"line":137,"column":25}},"45":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"46":{"start":{"line":134,"column":6},"end":{"line":134,"column":52}},"47":{"start":{"line":136,"column":4},"end":{"line":136,"column":17}},"48":{"start":{"line":139,"column":28},"end":{"line":152,"column":57}},"49":{"start":{"line":140,"column":33},"end":{"line":140,"column":100}},"50":{"start":{"line":140,"column":62},"end":{"line":140,"column":99}},"51":{"start":{"line":141,"column":4},"end":{"line":144,"column":5}},"52":{"start":{"line":143,"column":6},"end":{"line":143,"column":96}},"53":{"start":{"line":143,"column":46},"end":{"line":143,"column":94}},"54":{"start":{"line":145,"column":4},"end":{"line":150,"column":5}},"55":{"start":{"line":147,"column":6},"end":{"line":149,"column":8}},"56":{"start":{"line":148,"column":15},"end":{"line":148,"column":107}},"57":{"start":{"line":151,"column":4},"end":{"line":151,"column":17}},"58":{"start":{"line":154,"column":25},"end":{"line":157,"column":3}},"59":{"start":{"line":155,"column":10},"end":{"line":155,"column":68}},"60":{"start":{"line":159,"column":25},"end":{"line":166,"column":25}},"61":{"start":{"line":160,"column":4},"end":{"line":164,"column":5}},"62":{"start":{"line":161,"column":6},"end":{"line":163,"column":48}},"63":{"start":{"line":165,"column":4},"end":{"line":165,"column":17}},"64":{"start":{"line":168,"column":2},"end":{"line":190,"column":119}},"65":{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},"66":{"start":{"line":170,"column":6},"end":{"line":170,"column":62}},"67":{"start":{"line":172,"column":4},"end":{"line":177,"column":5}},"68":{"start":{"line":176,"column":6},"end":{"line":176,"column":68}},"69":{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},"70":{"start":{"line":179,"column":6},"end":{"line":179,"column":86}},"71":{"start":{"line":181,"column":4},"end":{"line":183,"column":5}},"72":{"start":{"line":182,"column":6},"end":{"line":182,"column":69}},"73":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"74":{"start":{"line":185,"column":6},"end":{"line":185,"column":72}},"75":{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},"76":{"start":{"line":188,"column":6},"end":{"line":188,"column":72}},"77":{"start":{"line":192,"column":23},"end":{"line":200,"column":3}},"78":{"start":{"line":194,"column":6},"end":{"line":194,"column":21}},"79":{"start":{"line":195,"column":6},"end":{"line":197,"column":7}},"80":{"start":{"line":196,"column":8},"end":{"line":196,"column":74}},"81":{"start":{"line":202,"column":27},"end":{"line":210,"column":3}},"82":{"start":{"line":204,"column":6},"end":{"line":204,"column":21}},"83":{"start":{"line":205,"column":6},"end":{"line":207,"column":7}},"84":{"start":{"line":206,"column":8},"end":{"line":206,"column":88}},"85":{"start":{"line":212,"column":21},"end":{"line":216,"column":48}},"86":{"start":{"line":213,"column":4},"end":{"line":215,"column":5}},"87":{"start":{"line":214,"column":6},"end":{"line":214,"column":63}},"88":{"start":{"line":218,"column":37},"end":{"line":226,"column":3}},"89":{"start":{"line":220,"column":6},"end":{"line":220,"column":21}},"90":{"start":{"line":221,"column":6},"end":{"line":223,"column":7}},"91":{"start":{"line":222,"column":8},"end":{"line":222,"column":89}},"92":{"start":{"line":222,"column":40},"end":{"line":222,"column":86}},"93":{"start":{"line":228,"column":34},"end":{"line":235,"column":3}},"94":{"start":{"line":230,"column":6},"end":{"line":232,"column":7}},"95":{"start":{"line":231,"column":8},"end":{"line":231,"column":95}},"96":{"start":{"line":231,"column":40},"end":{"line":231,"column":92}},"97":{"start":{"line":237,"column":38},"end":{"line":257,"column":3}},"98":{"start":{"line":239,"column":6},"end":{"line":254,"column":7}},"99":{"start":{"line":240,"column":8},"end":{"line":253,"column":9}},"100":{"start":{"line":241,"column":10},"end":{"line":247,"column":13}},"101":{"start":{"line":248,"column":15},"end":{"line":253,"column":9}},"102":{"start":{"line":249,"column":10},"end":{"line":249,"column":91}},"103":{"start":{"line":250,"column":10},"end":{"line":252,"column":13}},"104":{"start":{"line":259,"column":52},"end":{"line":269,"column":3}},"105":{"start":{"line":261,"column":6},"end":{"line":266,"column":7}},"106":{"start":{"line":262,"column":8},"end":{"line":265,"column":11}},"107":{"start":{"line":271,"column":29},"end":{"line":281,"column":3}},"108":{"start":{"line":273,"column":6},"end":{"line":278,"column":7}},"109":{"start":{"line":274,"column":8},"end":{"line":277,"column":11}},"110":{"start":{"line":283,"column":34},"end":{"line":296,"column":3}},"111":{"start":{"line":285,"column":6},"end":{"line":293,"column":7}},"112":{"start":{"line":286,"column":8},"end":{"line":292,"column":11}},"113":{"start":{"line":298,"column":48},"end":{"line":308,"column":3}},"114":{"start":{"line":300,"column":6},"end":{"line":305,"column":7}},"115":{"start":{"line":301,"column":8},"end":{"line":304,"column":11}},"116":{"start":{"line":310,"column":25},"end":{"line":320,"column":3}},"117":{"start":{"line":312,"column":6},"end":{"line":317,"column":7}},"118":{"start":{"line":313,"column":8},"end":{"line":316,"column":11}},"119":{"start":{"line":322,"column":28},"end":{"line":332,"column":25}},"120":{"start":{"line":323,"column":21},"end":{"line":323,"column":76}},"121":{"start":{"line":324,"column":4},"end":{"line":324,"column":28}},"122":{"start":{"line":325,"column":4},"end":{"line":331,"column":7}},"123":{"start":{"line":334,"column":34},"end":{"line":348,"column":3}},"124":{"start":{"line":336,"column":6},"end":{"line":345,"column":9}},"125":{"start":{"line":350,"column":37},"end":{"line":358,"column":3}},"126":{"start":{"line":352,"column":6},"end":{"line":355,"column":29}},"127":{"start":{"line":360,"column":34},"end":{"line":370,"column":3}},"128":{"start":{"line":362,"column":6},"end":{"line":367,"column":7}},"129":{"start":{"line":363,"column":8},"end":{"line":366,"column":11}},"130":{"start":{"line":372,"column":24},"end":{"line":379,"column":41}},"131":{"start":{"line":373,"column":4},"end":{"line":377,"column":5}},"132":{"start":{"line":374,"column":6},"end":{"line":376,"column":15}},"133":{"start":{"line":378,"column":4},"end":{"line":378,"column":16}},"134":{"start":{"line":382,"column":27},"end":{"line":516,"column":3}},"135":{"start":{"line":385,"column":4},"end":{"line":515,"column":5}},"136":{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},"137":{"start":{"line":388,"column":8},"end":{"line":388,"column":48}},"138":{"start":{"line":390,"column":27},"end":{"line":390,"column":43}},"139":{"start":{"line":391,"column":22},"end":{"line":394,"column":18}},"140":{"start":{"line":393,"column":20},"end":{"line":393,"column":28}},"141":{"start":{"line":395,"column":6},"end":{"line":514,"column":7}},"142":{"start":{"line":396,"column":8},"end":{"line":396,"column":118}},"143":{"start":{"line":397,"column":8},"end":{"line":404,"column":11}},"144":{"start":{"line":405,"column":13},"end":{"line":514,"column":7}},"145":{"start":{"line":406,"column":8},"end":{"line":414,"column":11}},"146":{"start":{"line":415,"column":8},"end":{"line":424,"column":9}},"147":{"start":{"line":416,"column":10},"end":{"line":423,"column":13}},"148":{"start":{"line":426,"column":8},"end":{"line":501,"column":9}},"149":{"start":{"line":427,"column":10},"end":{"line":427,"column":79}},"150":{"start":{"line":428,"column":36},"end":{"line":447,"column":11}},"151":{"start":{"line":448,"column":10},"end":{"line":453,"column":11}},"152":{"start":{"line":449,"column":12},"end":{"line":452,"column":15}},"153":{"start":{"line":454,"column":10},"end":{"line":463,"column":11}},"154":{"start":{"line":458,"column":12},"end":{"line":462,"column":15}},"155":{"start":{"line":464,"column":55},"end":{"line":464,"column":57}},"156":{"start":{"line":465,"column":10},"end":{"line":469,"column":13}},"157":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"158":{"start":{"line":466,"column":42},"end":{"line":466,"column":64}},"159":{"start":{"line":467,"column":14},"end":{"line":467,"column":56}},"160":{"start":{"line":470,"column":10},"end":{"line":475,"column":11}},"161":{"start":{"line":471,"column":12},"end":{"line":474,"column":15}},"162":{"start":{"line":476,"column":30},"end":{"line":480,"column":12}},"163":{"start":{"line":481,"column":10},"end":{"line":498,"column":11}},"164":{"start":{"line":482,"column":12},"end":{"line":487,"column":13}},"165":{"start":{"line":483,"column":54},"end":{"line":483,"column":143}},"166":{"start":{"line":485,"column":14},"end":{"line":485,"column":64}},"167":{"start":{"line":486,"column":14},"end":{"line":486,"column":71}},"168":{"start":{"line":488,"column":12},"end":{"line":490,"column":13}},"169":{"start":{"line":489,"column":14},"end":{"line":489,"column":89}},"170":{"start":{"line":491,"column":12},"end":{"line":494,"column":13}},"171":{"start":{"line":492,"column":14},"end":{"line":492,"column":77}},"172":{"start":{"line":493,"column":14},"end":{"line":493,"column":42}},"173":{"start":{"line":495,"column":12},"end":{"line":497,"column":13}},"174":{"start":{"line":496,"column":14},"end":{"line":496,"column":61}},"175":{"start":{"line":500,"column":10},"end":{"line":500,"column":50}},"176":{"start":{"line":502,"column":13},"end":{"line":514,"column":7}},"177":{"start":{"line":503,"column":8},"end":{"line":503,"column":111}},"178":{"start":{"line":504,"column":8},"end":{"line":513,"column":11}},"179":{"start":{"line":518,"column":35},"end":{"line":527,"column":85}},"180":{"start":{"line":519,"column":4},"end":{"line":522,"column":5}},"181":{"start":{"line":520,"column":6},"end":{"line":520,"column":63}},"182":{"start":{"line":521,"column":6},"end":{"line":521,"column":13}},"183":{"start":{"line":523,"column":4},"end":{"line":526,"column":5}},"184":{"start":{"line":524,"column":6},"end":{"line":524,"column":42}},"185":{"start":{"line":525,"column":6},"end":{"line":525,"column":46}},"186":{"start":{"line":529,"column":27},"end":{"line":532,"column":32}},"187":{"start":{"line":530,"column":4},"end":{"line":530,"column":23}},"188":{"start":{"line":531,"column":4},"end":{"line":531,"column":31}},"189":{"start":{"line":534,"column":29},"end":{"line":541,"column":3}},"190":{"start":{"line":536,"column":6},"end":{"line":538,"column":7}},"191":{"start":{"line":537,"column":8},"end":{"line":537,"column":35}},"192":{"start":{"line":543,"column":2},"end":{"line":543,"column":45}},"193":{"start":{"line":545,"column":22},"end":{"line":547,"column":16}},"194":{"start":{"line":546,"column":4},"end":{"line":546,"column":44}},"195":{"start":{"line":549,"column":35},"end":{"line":552,"column":8}},"196":{"start":{"line":550,"column":4},"end":{"line":550,"column":40}},"197":{"start":{"line":551,"column":4},"end":{"line":551,"column":49}},"198":{"start":{"line":551,"column":34},"end":{"line":551,"column":49}},"199":{"start":{"line":554,"column":26},"end":{"line":661,"column":3}},"200":{"start":{"line":555,"column":4},"end":{"line":555,"column":40}},"201":{"start":{"line":555,"column":28},"end":{"line":555,"column":40}},"202":{"start":{"line":557,"column":4},"end":{"line":660,"column":5}},"203":{"start":{"line":559,"column":8},"end":{"line":568,"column":10}},"204":{"start":{"line":571,"column":8},"end":{"line":582,"column":10}},"205":{"start":{"line":585,"column":8},"end":{"line":592,"column":10}},"206":{"start":{"line":595,"column":8},"end":{"line":606,"column":10}},"207":{"start":{"line":609,"column":8},"end":{"line":620,"column":10}},"208":{"start":{"line":623,"column":8},"end":{"line":658,"column":10}},"209":{"start":{"line":663,"column":2},"end":{"line":720,"column":4}}},"fnMap":{"0":{"name":"EditTokenForm","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":22}},"loc":{"start":{"line":57,"column":50},"end":{"line":721,"column":1}},"line":57},"1":{"name":"(anonymous_1)","decl":{"start":{"line":75,"column":4},"end":{"line":75,"column":5}},"loc":{"start":{"line":75,"column":10},"end":{"line":78,"column":83}},"line":75},"2":{"name":"(anonymous_2)","decl":{"start":{"line":81,"column":42},"end":{"line":81,"column":43}},"loc":{"start":{"line":81,"column":48},"end":{"line":86,"column":3}},"line":81},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":33}},"loc":{"start":{"line":88,"column":38},"end":{"line":103,"column":3}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":105,"column":49},"end":{"line":105,"column":50}},"loc":{"start":{"line":105,"column":55},"end":{"line":115,"column":3}},"line":105},"5":{"name":"(anonymous_5)","decl":{"start":{"line":107,"column":14},"end":{"line":107,"column":15}},"loc":{"start":{"line":107,"column":21},"end":{"line":107,"column":73}},"line":107},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":12},"end":{"line":108,"column":13}},"loc":{"start":{"line":108,"column":19},"end":{"line":108,"column":53}},"line":108},"7":{"name":"(anonymous_7)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":10},"end":{"line":121,"column":68}},"line":118},"8":{"name":"(anonymous_8)","decl":{"start":{"line":119,"column":14},"end":{"line":119,"column":15}},"loc":{"start":{"line":119,"column":21},"end":{"line":119,"column":58}},"line":119},"9":{"name":"(anonymous_9)","decl":{"start":{"line":120,"column":14},"end":{"line":120,"column":15}},"loc":{"start":{"line":120,"column":21},"end":{"line":120,"column":62}},"line":120},"10":{"name":"(anonymous_10)","decl":{"start":{"line":121,"column":12},"end":{"line":121,"column":13}},"loc":{"start":{"line":121,"column":19},"end":{"line":121,"column":67}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":125,"column":39},"end":{"line":125,"column":40}},"loc":{"start":{"line":125,"column":45},"end":{"line":130,"column":3}},"line":125},"12":{"name":"(anonymous_12)","decl":{"start":{"line":132,"column":51},"end":{"line":132,"column":52}},"loc":{"start":{"line":132,"column":57},"end":{"line":137,"column":3}},"line":132},"13":{"name":"(anonymous_13)","decl":{"start":{"line":139,"column":42},"end":{"line":139,"column":43}},"loc":{"start":{"line":139,"column":48},"end":{"line":152,"column":3}},"line":139},"14":{"name":"(anonymous_14)","decl":{"start":{"line":140,"column":55},"end":{"line":140,"column":56}},"loc":{"start":{"line":140,"column":62},"end":{"line":140,"column":99}},"line":140},"15":{"name":"(anonymous_15)","decl":{"start":{"line":143,"column":39},"end":{"line":143,"column":40}},"loc":{"start":{"line":143,"column":46},"end":{"line":143,"column":94}},"line":143},"16":{"name":"(anonymous_16)","decl":{"start":{"line":148,"column":8},"end":{"line":148,"column":9}},"loc":{"start":{"line":148,"column":15},"end":{"line":148,"column":107}},"line":148},"17":{"name":"(anonymous_17)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":10},"end":{"line":155,"column":68}},"line":155},"18":{"name":"(anonymous_18)","decl":{"start":{"line":159,"column":39},"end":{"line":159,"column":40}},"loc":{"start":{"line":159,"column":45},"end":{"line":166,"column":3}},"line":159},"19":{"name":"(anonymous_19)","decl":{"start":{"line":168,"column":18},"end":{"line":168,"column":19}},"loc":{"start":{"line":168,"column":24},"end":{"line":190,"column":3}},"line":168},"20":{"name":"(anonymous_20)","decl":{"start":{"line":193,"column":4},"end":{"line":193,"column":5}},"loc":{"start":{"line":193,"column":41},"end":{"line":198,"column":5}},"line":193},"21":{"name":"(anonymous_21)","decl":{"start":{"line":203,"column":4},"end":{"line":203,"column":5}},"loc":{"start":{"line":203,"column":11},"end":{"line":208,"column":5}},"line":203},"22":{"name":"(anonymous_22)","decl":{"start":{"line":212,"column":39},"end":{"line":212,"column":40}},"loc":{"start":{"line":212,"column":45},"end":{"line":216,"column":3}},"line":212},"23":{"name":"(anonymous_23)","decl":{"start":{"line":219,"column":4},"end":{"line":219,"column":5}},"loc":{"start":{"line":219,"column":47},"end":{"line":224,"column":5}},"line":219},"24":{"name":"(anonymous_24)","decl":{"start":{"line":222,"column":29},"end":{"line":222,"column":30}},"loc":{"start":{"line":222,"column":40},"end":{"line":222,"column":86}},"line":222},"25":{"name":"(anonymous_25)","decl":{"start":{"line":229,"column":4},"end":{"line":229,"column":5}},"loc":{"start":{"line":229,"column":40},"end":{"line":233,"column":5}},"line":229},"26":{"name":"(anonymous_26)","decl":{"start":{"line":231,"column":29},"end":{"line":231,"column":30}},"loc":{"start":{"line":231,"column":40},"end":{"line":231,"column":92}},"line":231},"27":{"name":"(anonymous_27)","decl":{"start":{"line":238,"column":4},"end":{"line":238,"column":5}},"loc":{"start":{"line":238,"column":41},"end":{"line":255,"column":5}},"line":238},"28":{"name":"(anonymous_28)","decl":{"start":{"line":260,"column":4},"end":{"line":260,"column":5}},"loc":{"start":{"line":260,"column":49},"end":{"line":267,"column":5}},"line":260},"29":{"name":"(anonymous_29)","decl":{"start":{"line":272,"column":4},"end":{"line":272,"column":5}},"loc":{"start":{"line":272,"column":60},"end":{"line":279,"column":5}},"line":272},"30":{"name":"(anonymous_30)","decl":{"start":{"line":284,"column":4},"end":{"line":284,"column":5}},"loc":{"start":{"line":284,"column":41},"end":{"line":294,"column":5}},"line":284},"31":{"name":"(anonymous_31)","decl":{"start":{"line":299,"column":4},"end":{"line":299,"column":5}},"loc":{"start":{"line":299,"column":49},"end":{"line":306,"column":5}},"line":299},"32":{"name":"(anonymous_32)","decl":{"start":{"line":311,"column":4},"end":{"line":311,"column":5}},"loc":{"start":{"line":311,"column":52},"end":{"line":318,"column":5}},"line":311},"33":{"name":"(anonymous_33)","decl":{"start":{"line":322,"column":46},"end":{"line":322,"column":47}},"loc":{"start":{"line":322,"column":52},"end":{"line":332,"column":3}},"line":322},"34":{"name":"(anonymous_34)","decl":{"start":{"line":335,"column":4},"end":{"line":335,"column":5}},"loc":{"start":{"line":335,"column":34},"end":{"line":346,"column":5}},"line":335},"35":{"name":"(anonymous_35)","decl":{"start":{"line":351,"column":4},"end":{"line":351,"column":5}},"loc":{"start":{"line":351,"column":31},"end":{"line":356,"column":5}},"line":351},"36":{"name":"(anonymous_36)","decl":{"start":{"line":361,"column":4},"end":{"line":361,"column":5}},"loc":{"start":{"line":361,"column":23},"end":{"line":368,"column":5}},"line":361},"37":{"name":"(anonymous_37)","decl":{"start":{"line":372,"column":38},"end":{"line":372,"column":39}},"loc":{"start":{"line":372,"column":44},"end":{"line":379,"column":3}},"line":372},"38":{"name":"(anonymous_38)","decl":{"start":{"line":382,"column":27},"end":{"line":382,"column":28}},"loc":{"start":{"line":384,"column":25},"end":{"line":516,"column":3}},"line":384},"39":{"name":"(anonymous_39)","decl":{"start":{"line":393,"column":13},"end":{"line":393,"column":14}},"loc":{"start":{"line":393,"column":20},"end":{"line":393,"column":28}},"line":393},"40":{"name":"(anonymous_40)","decl":{"start":{"line":465,"column":41},"end":{"line":465,"column":42}},"loc":{"start":{"line":465,"column":68},"end":{"line":469,"column":11}},"line":465},"41":{"name":"(anonymous_41)","decl":{"start":{"line":466,"column":31},"end":{"line":466,"column":32}},"loc":{"start":{"line":466,"column":42},"end":{"line":466,"column":64}},"line":466},"42":{"name":"(anonymous_42)","decl":{"start":{"line":483,"column":36},"end":{"line":483,"column":37}},"loc":{"start":{"line":483,"column":54},"end":{"line":483,"column":143}},"line":483},"43":{"name":"(anonymous_43)","decl":{"start":{"line":518,"column":53},"end":{"line":518,"column":54}},"loc":{"start":{"line":518,"column":59},"end":{"line":527,"column":3}},"line":518},"44":{"name":"(anonymous_44)","decl":{"start":{"line":529,"column":45},"end":{"line":529,"column":46}},"loc":{"start":{"line":529,"column":86},"end":{"line":532,"column":3}},"line":529},"45":{"name":"(anonymous_45)","decl":{"start":{"line":535,"column":4},"end":{"line":535,"column":5}},"loc":{"start":{"line":535,"column":26},"end":{"line":539,"column":5}},"line":535},"46":{"name":"(anonymous_46)","decl":{"start":{"line":545,"column":40},"end":{"line":545,"column":41}},"loc":{"start":{"line":545,"column":46},"end":{"line":547,"column":3}},"line":545},"47":{"name":"(anonymous_47)","decl":{"start":{"line":549,"column":53},"end":{"line":549,"column":54}},"loc":{"start":{"line":549,"column":82},"end":{"line":552,"column":3}},"line":549},"48":{"name":"(anonymous_48)","decl":{"start":{"line":554,"column":26},"end":{"line":554,"column":27}},"loc":{"start":{"line":554,"column":32},"end":{"line":661,"column":3}},"line":554}},"branchMap":{"0":{"loc":{"start":{"line":75,"column":10},"end":{"line":78,"column":83}},"type":"binary-expr","locations":[{"start":{"line":75,"column":10},"end":{"line":75,"column":57}},{"start":{"line":76,"column":10},"end":{"line":76,"column":49}},{"start":{"line":77,"column":11},"end":{"line":77,"column":51}},{"start":{"line":78,"column":11},"end":{"line":78,"column":82}}],"line":75},"1":{"loc":{"start":{"line":82,"column":4},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":82,"column":4},"end":{"line":84,"column":5}},{"start":{},"end":{}}],"line":82},"2":{"loc":{"start":{"line":89,"column":4},"end":{"line":95,"column":5}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":95,"column":5}},{"start":{},"end":{}}],"line":89},"3":{"loc":{"start":{"line":90,"column":6},"end":{"line":92,"column":106}},"type":"binary-expr","locations":[{"start":{"line":90,"column":6},"end":{"line":90,"column":56}},{"start":{"line":91,"column":9},"end":{"line":91,"column":32}},{"start":{"line":92,"column":10},"end":{"line":92,"column":52}},{"start":{"line":92,"column":56},"end":{"line":92,"column":105}}],"line":90},"4":{"loc":{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},{"start":{},"end":{}}],"line":96},"5":{"loc":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":99},"6":{"loc":{"start":{"line":102,"column":11},"end":{"line":102,"column":71}},"type":"binary-expr","locations":[{"start":{"line":102,"column":11},"end":{"line":102,"column":35}},{"start":{"line":102,"column":39},"end":{"line":102,"column":61}},{"start":{"line":102,"column":65},"end":{"line":102,"column":71}}],"line":102},"7":{"loc":{"start":{"line":107,"column":48},"end":{"line":107,"column":72}},"type":"binary-expr","locations":[{"start":{"line":107,"column":48},"end":{"line":107,"column":66}},{"start":{"line":107,"column":70},"end":{"line":107,"column":72}}],"line":107},"8":{"loc":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},{"start":{},"end":{}}],"line":110},"9":{"loc":{"start":{"line":126,"column":4},"end":{"line":128,"column":5}},"type":"if","locations":[{"start":{"line":126,"column":4},"end":{"line":128,"column":5}},{"start":{},"end":{}}],"line":126},"10":{"loc":{"start":{"line":127,"column":13},"end":{"line":127,"column":89}},"type":"binary-expr","locations":[{"start":{"line":127,"column":13},"end":{"line":127,"column":49}},{"start":{"line":127,"column":53},"end":{"line":127,"column":89}}],"line":127},"11":{"loc":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":133},"12":{"loc":{"start":{"line":141,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":141,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":141},"13":{"loc":{"start":{"line":141,"column":8},"end":{"line":141,"column":130}},"type":"binary-expr","locations":[{"start":{"line":141,"column":8},"end":{"line":141,"column":32}},{"start":{"line":141,"column":36},"end":{"line":141,"column":130}}],"line":141},"14":{"loc":{"start":{"line":145,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":150,"column":5}},{"start":{},"end":{}}],"line":145},"15":{"loc":{"start":{"line":148,"column":15},"end":{"line":148,"column":107}},"type":"binary-expr","locations":[{"start":{"line":148,"column":15},"end":{"line":148,"column":63}},{"start":{"line":148,"column":67},"end":{"line":148,"column":107}}],"line":148},"16":{"loc":{"start":{"line":160,"column":4},"end":{"line":164,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":164,"column":5}},{"start":{},"end":{}}],"line":160},"17":{"loc":{"start":{"line":161,"column":13},"end":{"line":163,"column":47}},"type":"binary-expr","locations":[{"start":{"line":161,"column":13},"end":{"line":161,"column":50}},{"start":{"line":162,"column":11},"end":{"line":162,"column":49}},{"start":{"line":163,"column":11},"end":{"line":163,"column":47}}],"line":161},"18":{"loc":{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},{"start":{},"end":{}}],"line":169},"19":{"loc":{"start":{"line":169,"column":8},"end":{"line":169,"column":110}},"type":"binary-expr","locations":[{"start":{"line":169,"column":9},"end":{"line":169,"column":63}},{"start":{"line":169,"column":67},"end":{"line":169,"column":81}},{"start":{"line":169,"column":86},"end":{"line":169,"column":110}}],"line":169},"20":{"loc":{"start":{"line":172,"column":4},"end":{"line":177,"column":5}},"type":"if","locations":[{"start":{"line":172,"column":4},"end":{"line":177,"column":5}},{"start":{},"end":{}}],"line":172},"21":{"loc":{"start":{"line":173,"column":6},"end":{"line":174,"column":42}},"type":"binary-expr","locations":[{"start":{"line":173,"column":7},"end":{"line":173,"column":61}},{"start":{"line":173,"column":65},"end":{"line":173,"column":79}},{"start":{"line":174,"column":9},"end":{"line":174,"column":42}}],"line":173},"22":{"loc":{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},{"start":{},"end":{}}],"line":178},"23":{"loc":{"start":{"line":178,"column":8},"end":{"line":178,"column":74}},"type":"binary-expr","locations":[{"start":{"line":178,"column":9},"end":{"line":178,"column":34}},{"start":{"line":178,"column":38},"end":{"line":178,"column":52}},{"start":{"line":178,"column":57},"end":{"line":178,"column":74}}],"line":178},"24":{"loc":{"start":{"line":181,"column":4},"end":{"line":183,"column":5}},"type":"if","locations":[{"start":{"line":181,"column":4},"end":{"line":183,"column":5}},{"start":{},"end":{}}],"line":181},"25":{"loc":{"start":{"line":181,"column":8},"end":{"line":181,"column":83}},"type":"binary-expr","locations":[{"start":{"line":181,"column":9},"end":{"line":181,"column":34}},{"start":{"line":181,"column":38},"end":{"line":181,"column":52}},{"start":{"line":181,"column":57},"end":{"line":181,"column":83}}],"line":181},"26":{"loc":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"type":"if","locations":[{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},{"start":{},"end":{}}],"line":184},"27":{"loc":{"start":{"line":184,"column":8},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":9},"end":{"line":184,"column":34}},{"start":{"line":184,"column":38},"end":{"line":184,"column":52}},{"start":{"line":184,"column":57},"end":{"line":184,"column":71}}],"line":184},"28":{"loc":{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},{"start":{},"end":{}}],"line":187},"29":{"loc":{"start":{"line":187,"column":8},"end":{"line":187,"column":71}},"type":"binary-expr","locations":[{"start":{"line":187,"column":9},"end":{"line":187,"column":34}},{"start":{"line":187,"column":38},"end":{"line":187,"column":52}},{"start":{"line":187,"column":57},"end":{"line":187,"column":71}}],"line":187},"30":{"loc":{"start":{"line":195,"column":6},"end":{"line":197,"column":7}},"type":"if","locations":[{"start":{"line":195,"column":6},"end":{"line":197,"column":7}},{"start":{},"end":{}}],"line":195},"31":{"loc":{"start":{"line":205,"column":6},"end":{"line":207,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":207,"column":7}},{"start":{},"end":{}}],"line":205},"32":{"loc":{"start":{"line":213,"column":4},"end":{"line":215,"column":5}},"type":"if","locations":[{"start":{"line":213,"column":4},"end":{"line":215,"column":5}},{"start":{},"end":{}}],"line":213},"33":{"loc":{"start":{"line":213,"column":8},"end":{"line":213,"column":81}},"type":"binary-expr","locations":[{"start":{"line":213,"column":8},"end":{"line":213,"column":55}},{"start":{"line":213,"column":59},"end":{"line":213,"column":81}}],"line":213},"34":{"loc":{"start":{"line":221,"column":6},"end":{"line":223,"column":7}},"type":"if","locations":[{"start":{"line":221,"column":6},"end":{"line":223,"column":7}},{"start":{},"end":{}}],"line":221},"35":{"loc":{"start":{"line":230,"column":6},"end":{"line":232,"column":7}},"type":"if","locations":[{"start":{"line":230,"column":6},"end":{"line":232,"column":7}},{"start":{},"end":{}}],"line":230},"36":{"loc":{"start":{"line":239,"column":6},"end":{"line":254,"column":7}},"type":"if","locations":[{"start":{"line":239,"column":6},"end":{"line":254,"column":7}},{"start":{},"end":{}}],"line":239},"37":{"loc":{"start":{"line":239,"column":10},"end":{"line":239,"column":107}},"type":"binary-expr","locations":[{"start":{"line":239,"column":10},"end":{"line":239,"column":59}},{"start":{"line":239,"column":63},"end":{"line":239,"column":107}}],"line":239},"38":{"loc":{"start":{"line":240,"column":8},"end":{"line":253,"column":9}},"type":"if","locations":[{"start":{"line":240,"column":8},"end":{"line":253,"column":9}},{"start":{"line":248,"column":15},"end":{"line":253,"column":9}}],"line":240},"39":{"loc":{"start":{"line":248,"column":15},"end":{"line":253,"column":9}},"type":"if","locations":[{"start":{"line":248,"column":15},"end":{"line":253,"column":9}},{"start":{},"end":{}}],"line":248},"40":{"loc":{"start":{"line":261,"column":6},"end":{"line":266,"column":7}},"type":"if","locations":[{"start":{"line":261,"column":6},"end":{"line":266,"column":7}},{"start":{},"end":{}}],"line":261},"41":{"loc":{"start":{"line":261,"column":10},"end":{"line":261,"column":107}},"type":"binary-expr","locations":[{"start":{"line":261,"column":10},"end":{"line":261,"column":59}},{"start":{"line":261,"column":63},"end":{"line":261,"column":107}}],"line":261},"42":{"loc":{"start":{"line":273,"column":6},"end":{"line":278,"column":7}},"type":"if","locations":[{"start":{"line":273,"column":6},"end":{"line":278,"column":7}},{"start":{},"end":{}}],"line":273},"43":{"loc":{"start":{"line":273,"column":10},"end":{"line":273,"column":101}},"type":"binary-expr","locations":[{"start":{"line":273,"column":10},"end":{"line":273,"column":59}},{"start":{"line":273,"column":63},"end":{"line":273,"column":101}}],"line":273},"44":{"loc":{"start":{"line":285,"column":6},"end":{"line":293,"column":7}},"type":"if","locations":[{"start":{"line":285,"column":6},"end":{"line":293,"column":7}},{"start":{},"end":{}}],"line":285},"45":{"loc":{"start":{"line":285,"column":10},"end":{"line":285,"column":103}},"type":"binary-expr","locations":[{"start":{"line":285,"column":10},"end":{"line":285,"column":55}},{"start":{"line":285,"column":59},"end":{"line":285,"column":103}}],"line":285},"46":{"loc":{"start":{"line":300,"column":6},"end":{"line":305,"column":7}},"type":"if","locations":[{"start":{"line":300,"column":6},"end":{"line":305,"column":7}},{"start":{},"end":{}}],"line":300},"47":{"loc":{"start":{"line":300,"column":10},"end":{"line":300,"column":103}},"type":"binary-expr","locations":[{"start":{"line":300,"column":10},"end":{"line":300,"column":55}},{"start":{"line":300,"column":59},"end":{"line":300,"column":103}}],"line":300},"48":{"loc":{"start":{"line":312,"column":6},"end":{"line":317,"column":7}},"type":"if","locations":[{"start":{"line":312,"column":6},"end":{"line":317,"column":7}},{"start":{},"end":{}}],"line":312},"49":{"loc":{"start":{"line":312,"column":10},"end":{"line":312,"column":93}},"type":"binary-expr","locations":[{"start":{"line":312,"column":10},"end":{"line":312,"column":55}},{"start":{"line":312,"column":59},"end":{"line":312,"column":93}}],"line":312},"50":{"loc":{"start":{"line":329,"column":25},"end":{"line":329,"column":80}},"type":"cond-expr","locations":[{"start":{"line":329,"column":60},"end":{"line":329,"column":68}},{"start":{"line":329,"column":71},"end":{"line":329,"column":80}}],"line":329},"51":{"loc":{"start":{"line":362,"column":6},"end":{"line":367,"column":7}},"type":"if","locations":[{"start":{"line":362,"column":6},"end":{"line":367,"column":7}},{"start":{},"end":{}}],"line":362},"52":{"loc":{"start":{"line":373,"column":4},"end":{"line":377,"column":5}},"type":"if","locations":[{"start":{"line":373,"column":4},"end":{"line":377,"column":5}},{"start":{},"end":{}}],"line":373},"53":{"loc":{"start":{"line":374,"column":13},"end":{"line":376,"column":14}},"type":"cond-expr","locations":[{"start":{"line":375,"column":10},"end":{"line":375,"column":80}},{"start":{"line":376,"column":10},"end":{"line":376,"column":14}}],"line":374},"54":{"loc":{"start":{"line":385,"column":4},"end":{"line":515,"column":5}},"type":"if","locations":[{"start":{"line":385,"column":4},"end":{"line":515,"column":5}},{"start":{},"end":{}}],"line":385},"55":{"loc":{"start":{"line":385,"column":8},"end":{"line":385,"column":42}},"type":"binary-expr","locations":[{"start":{"line":385,"column":8},"end":{"line":385,"column":25}},{"start":{"line":385,"column":29},"end":{"line":385,"column":34}},{"start":{"line":385,"column":38},"end":{"line":385,"column":42}}],"line":385},"56":{"loc":{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},"type":"if","locations":[{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},{"start":{},"end":{}}],"line":387},"57":{"loc":{"start":{"line":387,"column":10},"end":{"line":387,"column":81}},"type":"binary-expr","locations":[{"start":{"line":387,"column":10},"end":{"line":387,"column":48}},{"start":{"line":387,"column":52},"end":{"line":387,"column":81}}],"line":387},"58":{"loc":{"start":{"line":395,"column":6},"end":{"line":514,"column":7}},"type":"if","locations":[{"start":{"line":395,"column":6},"end":{"line":514,"column":7}},{"start":{"line":405,"column":13},"end":{"line":514,"column":7}}],"line":395},"59":{"loc":{"start":{"line":398,"column":23},"end":{"line":398,"column":88}},"type":"binary-expr","locations":[{"start":{"line":398,"column":23},"end":{"line":398,"column":52}},{"start":{"line":398,"column":56},"end":{"line":398,"column":88}}],"line":398},"60":{"loc":{"start":{"line":403,"column":14},"end":{"line":403,"column":48}},"type":"cond-expr","locations":[{"start":{"line":403,"column":28},"end":{"line":403,"column":43}},{"start":{"line":403,"column":46},"end":{"line":403,"column":48}}],"line":403},"61":{"loc":{"start":{"line":405,"column":13},"end":{"line":514,"column":7}},"type":"if","locations":[{"start":{"line":405,"column":13},"end":{"line":514,"column":7}},{"start":{"line":502,"column":13},"end":{"line":514,"column":7}}],"line":405},"62":{"loc":{"start":{"line":407,"column":23},"end":{"line":407,"column":88}},"type":"binary-expr","locations":[{"start":{"line":407,"column":23},"end":{"line":407,"column":52}},{"start":{"line":407,"column":56},"end":{"line":407,"column":88}}],"line":407},"63":{"loc":{"start":{"line":413,"column":14},"end":{"line":413,"column":48}},"type":"cond-expr","locations":[{"start":{"line":413,"column":28},"end":{"line":413,"column":43}},{"start":{"line":413,"column":46},"end":{"line":413,"column":48}}],"line":413},"64":{"loc":{"start":{"line":415,"column":8},"end":{"line":424,"column":9}},"type":"if","locations":[{"start":{"line":415,"column":8},"end":{"line":424,"column":9}},{"start":{},"end":{}}],"line":415},"65":{"loc":{"start":{"line":415,"column":12},"end":{"line":415,"column":92}},"type":"binary-expr","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":29}},{"start":{"line":415,"column":33},"end":{"line":415,"column":92}}],"line":415},"66":{"loc":{"start":{"line":418,"column":18},"end":{"line":418,"column":55}},"type":"binary-expr","locations":[{"start":{"line":418,"column":18},"end":{"line":418,"column":47}},{"start":{"line":418,"column":51},"end":{"line":418,"column":55}}],"line":418},"67":{"loc":{"start":{"line":422,"column":16},"end":{"line":422,"column":50}},"type":"cond-expr","locations":[{"start":{"line":422,"column":30},"end":{"line":422,"column":45}},{"start":{"line":422,"column":48},"end":{"line":422,"column":50}}],"line":422},"68":{"loc":{"start":{"line":426,"column":8},"end":{"line":501,"column":9}},"type":"if","locations":[{"start":{"line":426,"column":8},"end":{"line":501,"column":9}},{"start":{"line":499,"column":15},"end":{"line":501,"column":9}}],"line":426},"69":{"loc":{"start":{"line":426,"column":12},"end":{"line":426,"column":42}},"type":"binary-expr","locations":[{"start":{"line":426,"column":12},"end":{"line":426,"column":19}},{"start":{"line":426,"column":23},"end":{"line":426,"column":42}}],"line":426},"70":{"loc":{"start":{"line":448,"column":10},"end":{"line":453,"column":11}},"type":"if","locations":[{"start":{"line":448,"column":10},"end":{"line":453,"column":11}},{"start":{},"end":{}}],"line":448},"71":{"loc":{"start":{"line":448,"column":14},"end":{"line":448,"column":94}},"type":"binary-expr","locations":[{"start":{"line":448,"column":14},"end":{"line":448,"column":31}},{"start":{"line":448,"column":35},"end":{"line":448,"column":94}}],"line":448},"72":{"loc":{"start":{"line":454,"column":10},"end":{"line":463,"column":11}},"type":"if","locations":[{"start":{"line":454,"column":10},"end":{"line":463,"column":11}},{"start":{},"end":{}}],"line":454},"73":{"loc":{"start":{"line":455,"column":12},"end":{"line":456,"column":112}},"type":"binary-expr","locations":[{"start":{"line":455,"column":12},"end":{"line":455,"column":29}},{"start":{"line":456,"column":15},"end":{"line":456,"column":112}}],"line":455},"74":{"loc":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"type":"if","locations":[{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},{"start":{},"end":{}}],"line":466},"75":{"loc":{"start":{"line":470,"column":10},"end":{"line":475,"column":11}},"type":"if","locations":[{"start":{"line":470,"column":10},"end":{"line":475,"column":11}},{"start":{},"end":{}}],"line":470},"76":{"loc":{"start":{"line":481,"column":10},"end":{"line":498,"column":11}},"type":"if","locations":[{"start":{"line":481,"column":10},"end":{"line":498,"column":11}},{"start":{},"end":{}}],"line":481},"77":{"loc":{"start":{"line":481,"column":14},"end":{"line":481,"column":47}},"type":"binary-expr","locations":[{"start":{"line":481,"column":14},"end":{"line":481,"column":25}},{"start":{"line":481,"column":29},"end":{"line":481,"column":47}}],"line":481},"78":{"loc":{"start":{"line":482,"column":12},"end":{"line":487,"column":13}},"type":"if","locations":[{"start":{"line":482,"column":12},"end":{"line":487,"column":13}},{"start":{},"end":{}}],"line":482},"79":{"loc":{"start":{"line":488,"column":12},"end":{"line":490,"column":13}},"type":"if","locations":[{"start":{"line":488,"column":12},"end":{"line":490,"column":13}},{"start":{},"end":{}}],"line":488},"80":{"loc":{"start":{"line":491,"column":12},"end":{"line":494,"column":13}},"type":"if","locations":[{"start":{"line":491,"column":12},"end":{"line":494,"column":13}},{"start":{},"end":{}}],"line":491},"81":{"loc":{"start":{"line":495,"column":12},"end":{"line":497,"column":13}},"type":"if","locations":[{"start":{"line":495,"column":12},"end":{"line":497,"column":13}},{"start":{},"end":{}}],"line":495},"82":{"loc":{"start":{"line":502,"column":13},"end":{"line":514,"column":7}},"type":"if","locations":[{"start":{"line":502,"column":13},"end":{"line":514,"column":7}},{"start":{},"end":{}}],"line":502},"83":{"loc":{"start":{"line":505,"column":23},"end":{"line":505,"column":88}},"type":"binary-expr","locations":[{"start":{"line":505,"column":23},"end":{"line":505,"column":52}},{"start":{"line":505,"column":56},"end":{"line":505,"column":88}}],"line":505},"84":{"loc":{"start":{"line":512,"column":14},"end":{"line":512,"column":48}},"type":"cond-expr","locations":[{"start":{"line":512,"column":28},"end":{"line":512,"column":43}},{"start":{"line":512,"column":46},"end":{"line":512,"column":48}}],"line":512},"85":{"loc":{"start":{"line":519,"column":4},"end":{"line":522,"column":5}},"type":"if","locations":[{"start":{"line":519,"column":4},"end":{"line":522,"column":5}},{"start":{},"end":{}}],"line":519},"86":{"loc":{"start":{"line":519,"column":8},"end":{"line":519,"column":81}},"type":"binary-expr","locations":[{"start":{"line":519,"column":8},"end":{"line":519,"column":55}},{"start":{"line":519,"column":59},"end":{"line":519,"column":81}}],"line":519},"87":{"loc":{"start":{"line":523,"column":4},"end":{"line":526,"column":5}},"type":"if","locations":[{"start":{"line":523,"column":4},"end":{"line":526,"column":5}},{"start":{},"end":{}}],"line":523},"88":{"loc":{"start":{"line":523,"column":8},"end":{"line":523,"column":36}},"type":"binary-expr","locations":[{"start":{"line":523,"column":8},"end":{"line":523,"column":15}},{"start":{"line":523,"column":19},"end":{"line":523,"column":36}}],"line":523},"89":{"loc":{"start":{"line":536,"column":6},"end":{"line":538,"column":7}},"type":"if","locations":[{"start":{"line":536,"column":6},"end":{"line":538,"column":7}},{"start":{},"end":{}}],"line":536},"90":{"loc":{"start":{"line":536,"column":10},"end":{"line":536,"column":32}},"type":"binary-expr","locations":[{"start":{"line":536,"column":10},"end":{"line":536,"column":19}},{"start":{"line":536,"column":23},"end":{"line":536,"column":32}}],"line":536},"91":{"loc":{"start":{"line":551,"column":4},"end":{"line":551,"column":49}},"type":"if","locations":[{"start":{"line":551,"column":4},"end":{"line":551,"column":49}},{"start":{},"end":{}}],"line":551},"92":{"loc":{"start":{"line":555,"column":4},"end":{"line":555,"column":40}},"type":"if","locations":[{"start":{"line":555,"column":4},"end":{"line":555,"column":40}},{"start":{},"end":{}}],"line":555},"93":{"loc":{"start":{"line":557,"column":4},"end":{"line":660,"column":5}},"type":"switch","locations":[{"start":{"line":558,"column":6},"end":{"line":569,"column":7}},{"start":{"line":570,"column":6},"end":{"line":583,"column":7}},{"start":{"line":584,"column":6},"end":{"line":593,"column":7}},{"start":{"line":594,"column":6},"end":{"line":607,"column":7}},{"start":{"line":608,"column":6},"end":{"line":621,"column":7}},{"start":{"line":622,"column":6},"end":{"line":659,"column":7}}],"line":557},"94":{"loc":{"start":{"line":639,"column":13},"end":{"line":656,"column":13}},"type":"binary-expr","locations":[{"start":{"line":639,"column":13},"end":{"line":639,"column":58}},{"start":{"line":640,"column":14},"end":{"line":655,"column":20}}],"line":639},"95":{"loc":{"start":{"line":680,"column":9},"end":{"line":684,"column":9}},"type":"binary-expr","locations":[{"start":{"line":680,"column":9},"end":{"line":680,"column":45}},{"start":{"line":681,"column":10},"end":{"line":683,"column":17}}],"line":680},"96":{"loc":{"start":{"line":689,"column":19},"end":{"line":689,"column":55}},"type":"binary-expr","locations":[{"start":{"line":689,"column":19},"end":{"line":689,"column":49}},{"start":{"line":689,"column":53},"end":{"line":689,"column":55}}],"line":689},"97":{"loc":{"start":{"line":696,"column":9},"end":{"line":705,"column":9}},"type":"binary-expr","locations":[{"start":{"line":696,"column":9},"end":{"line":696,"column":67}},{"start":{"line":697,"column":10},"end":{"line":704,"column":16}}],"line":696},"98":{"loc":{"start":{"line":710,"column":28},"end":{"line":710,"column":47}},"type":"binary-expr","locations":[{"start":{"line":710,"column":28},"end":{"line":710,"column":36}},{"start":{"line":710,"column":40},"end":{"line":710,"column":47}}],"line":710},"99":{"loc":{"start":{"line":711,"column":13},"end":{"line":711,"column":84}},"type":"binary-expr","locations":[{"start":{"line":711,"column":13},"end":{"line":711,"column":69}},{"start":{"line":711,"column":73},"end":{"line":711,"column":84}}],"line":711},"100":{"loc":{"start":{"line":712,"column":13},"end":{"line":712,"column":80}},"type":"binary-expr","locations":[{"start":{"line":712,"column":13},"end":{"line":712,"column":67}},{"start":{"line":712,"column":71},"end":{"line":712,"column":80}}],"line":712},"101":{"loc":{"start":{"line":713,"column":13},"end":{"line":715,"column":31}},"type":"binary-expr","locations":[{"start":{"line":713,"column":13},"end":{"line":713,"column":69}},{"start":{"line":714,"column":17},"end":{"line":714,"column":71}},{"start":{"line":715,"column":17},"end":{"line":715,"column":31}}],"line":713}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0,0],"22":[0,0],"23":[0,0,0],"24":[0,0],"25":[0,0,0],"26":[0,0],"27":[0,0,0],"28":[0,0],"29":[0,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0,0,0,0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenFormModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenFormModal.tsx","statementMap":{"0":{"start":{"line":16,"column":94},"end":{"line":47,"column":1}},"1":{"start":{"line":17,"column":20},"end":{"line":17,"column":50}},"2":{"start":{"line":18,"column":26},"end":{"line":18,"column":62}},"3":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"4":{"start":{"line":21,"column":16},"end":{"line":21,"column":42}},"5":{"start":{"line":23,"column":22},"end":{"line":27,"column":33}},"6":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"7":{"start":{"line":25,"column":6},"end":{"line":25,"column":46}},"8":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"9":{"start":{"line":30,"column":4},"end":{"line":30,"column":16}},"10":{"start":{"line":33,"column":2},"end":{"line":46,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":94},"end":{"line":16,"column":95}},"loc":{"start":{"line":16,"column":118},"end":{"line":47,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":40},"end":{"line":23,"column":41}},"loc":{"start":{"line":23,"column":46},"end":{"line":27,"column":3}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24},"1":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":29},"2":{"loc":{"start":{"line":41,"column":13},"end":{"line":42,"column":106}},"type":"cond-expr","locations":[{"start":{"line":41,"column":63},"end":{"line":41,"column":76}},{"start":{"line":42,"column":10},"end":{"line":42,"column":106}}],"line":41},"3":{"loc":{"start":{"line":42,"column":10},"end":{"line":42,"column":106}},"type":"cond-expr","locations":[{"start":{"line":42,"column":63},"end":{"line":42,"column":82}},{"start":{"line":42,"column":85},"end":{"line":42,"column":106}}],"line":42}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorMessage.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorMessage.tsx","statementMap":{"0":{"start":{"line":3,"column":28},"end":{"line":11,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorValidation.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorValidation.tsx","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":6,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExplainerModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExplainerModal.tsx","statementMap":{"0":{"start":{"line":7,"column":26},"end":{"line":7,"column":47}},"1":{"start":{"line":8,"column":22},"end":{"line":8,"column":65}},"2":{"start":{"line":8,"column":46},"end":{"line":8,"column":60}},"3":{"start":{"line":9,"column":21},"end":{"line":9,"column":63}},"4":{"start":{"line":9,"column":45},"end":{"line":9,"column":58}},"5":{"start":{"line":10,"column":2},"end":{"line":19,"column":4}}},"fnMap":{"0":{"name":"ExplainerModal","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":30}},"loc":{"start":{"line":6,"column":108},"end":{"line":20,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":40},"end":{"line":8,"column":41}},"loc":{"start":{"line":8,"column":46},"end":{"line":8,"column":60}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":39},"end":{"line":9,"column":40}},"loc":{"start":{"line":9,"column":45},"end":{"line":9,"column":58}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/FigmaLoading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/FigmaLoading.tsx","statementMap":{"0":{"start":{"line":9,"column":28},"end":{"line":13,"column":2}},"1":{"start":{"line":15,"column":31},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":31},"end":{"line":23,"column":2}},"3":{"start":{"line":25,"column":28},"end":{"line":31,"column":2}},"4":{"start":{"line":42,"column":16},"end":{"line":42,"column":47}},"5":{"start":{"line":44,"column":2},"end":{"line":50,"column":3}},"6":{"start":{"line":45,"column":4},"end":{"line":49,"column":6}},"7":{"start":{"line":52,"column":2},"end":{"line":75,"column":4}}},"fnMap":{"0":{"name":"FigmaLoading","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":36}},"loc":{"start":{"line":41,"column":10},"end":{"line":76,"column":1}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":2},"end":{"line":50,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":50,"column":3}},{"start":{},"end":{}}],"line":44},"1":{"loc":{"start":{"line":67,"column":13},"end":{"line":67,"column":38}},"type":"binary-expr","locations":[{"start":{"line":67,"column":13},"end":{"line":67,"column":18}},{"start":{"line":67,"column":22},"end":{"line":67,"column":38}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Footer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Footer.tsx","statementMap":{"0":{"start":{"line":40,"column":22},"end":{"line":40,"column":54}},"1":{"start":{"line":41,"column":25},"end":{"line":41,"column":60}},"2":{"start":{"line":42,"column":24},"end":{"line":42,"column":58}},"3":{"start":{"line":43,"column":23},"end":{"line":43,"column":56}},"4":{"start":{"line":44,"column":21},"end":{"line":44,"column":52}},"5":{"start":{"line":45,"column":21},"end":{"line":45,"column":52}},"6":{"start":{"line":46,"column":21},"end":{"line":46,"column":52}},"7":{"start":{"line":47,"column":18},"end":{"line":47,"column":55}},"8":{"start":{"line":48,"column":56},"end":{"line":48,"column":73}},"9":{"start":{"line":49,"column":16},"end":{"line":49,"column":53}},"10":{"start":{"line":50,"column":22},"end":{"line":50,"column":54}},"11":{"start":{"line":51,"column":41},"end":{"line":51,"column":58}},"12":{"start":{"line":52,"column":30},"end":{"line":52,"column":37}},"13":{"start":{"line":54,"column":2},"end":{"line":59,"column":26}},"14":{"start":{"line":55,"column":21},"end":{"line":57,"column":13}},"15":{"start":{"line":56,"column":6},"end":{"line":56,"column":26}},"16":{"start":{"line":58,"column":4},"end":{"line":58,"column":41}},"17":{"start":{"line":58,"column":17},"end":{"line":58,"column":40}},"18":{"start":{"line":61,"column":30},"end":{"line":61,"column":81}},"19":{"start":{"line":61,"column":54},"end":{"line":61,"column":66}},"20":{"start":{"line":62,"column":30},"end":{"line":62,"column":137}},"21":{"start":{"line":62,"column":54},"end":{"line":62,"column":95}},"22":{"start":{"line":63,"column":27},"end":{"line":65,"column":45}},"23":{"start":{"line":64,"column":4},"end":{"line":64,"column":71}},"24":{"start":{"line":67,"column":27},"end":{"line":67,"column":50}},"25":{"start":{"line":69,"column":2},"end":{"line":183,"column":4}}},"fnMap":{"0":{"name":"Footer","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":30}},"loc":{"start":{"line":39,"column":33},"end":{"line":184,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":18},"end":{"line":54,"column":19}},"loc":{"start":{"line":54,"column":24},"end":{"line":59,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":33},"end":{"line":55,"column":34}},"loc":{"start":{"line":55,"column":39},"end":{"line":57,"column":5}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":11},"end":{"line":58,"column":12}},"loc":{"start":{"line":58,"column":17},"end":{"line":58,"column":40}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":48},"end":{"line":61,"column":49}},"loc":{"start":{"line":61,"column":54},"end":{"line":61,"column":66}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":48},"end":{"line":62,"column":49}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":95}},"line":62},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":39},"end":{"line":63,"column":40}},"loc":{"start":{"line":63,"column":45},"end":{"line":65,"column":3}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":81,"column":9},"end":{"line":90,"column":9}},"type":"binary-expr","locations":[{"start":{"line":81,"column":9},"end":{"line":81,"column":59}},{"start":{"line":81,"column":64},"end":{"line":81,"column":80}},{"start":{"line":81,"column":84},"end":{"line":81,"column":100}},{"start":{"line":82,"column":10},"end":{"line":89,"column":19}}],"line":81},"1":{"loc":{"start":{"line":88,"column":16},"end":{"line":88,"column":58}},"type":"cond-expr","locations":[{"start":{"line":88,"column":35},"end":{"line":88,"column":45}},{"start":{"line":88,"column":48},"end":{"line":88,"column":58}}],"line":88},"2":{"loc":{"start":{"line":91,"column":9},"end":{"line":127,"column":9}},"type":"binary-expr","locations":[{"start":{"line":91,"column":11},"end":{"line":91,"column":39}},{"start":{"line":91,"column":43},"end":{"line":91,"column":63}},{"start":{"line":91,"column":68},"end":{"line":91,"column":122}},{"start":{"line":92,"column":10},"end":{"line":126,"column":13}}],"line":91},"3":{"loc":{"start":{"line":118,"column":26},"end":{"line":118,"column":59}},"type":"binary-expr","locations":[{"start":{"line":118,"column":26},"end":{"line":118,"column":40}},{"start":{"line":118,"column":44},"end":{"line":118,"column":59}}],"line":118},"4":{"loc":{"start":{"line":128,"column":9},"end":{"line":154,"column":18}},"type":"cond-expr","locations":[{"start":{"line":135,"column":12},"end":{"line":153,"column":20}},{"start":{"line":154,"column":14},"end":{"line":154,"column":18}}],"line":128},"5":{"loc":{"start":{"line":128,"column":9},"end":{"line":133,"column":67}},"type":"binary-expr","locations":[{"start":{"line":128,"column":9},"end":{"line":128,"column":59}},{"start":{"line":129,"column":13},"end":{"line":129,"column":64}},{"start":{"line":130,"column":13},"end":{"line":130,"column":64}},{"start":{"line":131,"column":13},"end":{"line":131,"column":61}},{"start":{"line":132,"column":13},"end":{"line":132,"column":67}},{"start":{"line":133,"column":13},"end":{"line":133,"column":67}}],"line":128},"6":{"loc":{"start":{"line":136,"column":15},"end":{"line":143,"column":15}},"type":"binary-expr","locations":[{"start":{"line":136,"column":15},"end":{"line":136,"column":67}},{"start":{"line":137,"column":16},"end":{"line":142,"column":26}}],"line":136}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0,0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/IconToggleableDisclosure.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/IconToggleableDisclosure.tsx","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":19,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx","statementMap":{"0":{"start":{"line":16,"column":16},"end":{"line":16,"column":32}},"1":{"start":{"line":17,"column":56},"end":{"line":17,"column":89}},"2":{"start":{"line":18,"column":44},"end":{"line":18,"column":59}},"3":{"start":{"line":19,"column":30},"end":{"line":19,"column":45}},"4":{"start":{"line":22,"column":2},"end":{"line":33,"column":20}},"5":{"start":{"line":23,"column":4},"end":{"line":32,"column":5}},"6":{"start":{"line":24,"column":52},"end":{"line":24,"column":54}},"7":{"start":{"line":25,"column":6},"end":{"line":30,"column":9}},"8":{"start":{"line":26,"column":8},"end":{"line":29,"column":10}},"9":{"start":{"line":28,"column":56},"end":{"line":28,"column":67}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":47}},"11":{"start":{"line":35,"column":33},"end":{"line":54,"column":8}},"12":{"start":{"line":36,"column":4},"end":{"line":53,"column":7}},"13":{"start":{"line":37,"column":34},"end":{"line":37,"column":52}},"14":{"start":{"line":38,"column":6},"end":{"line":52,"column":7}},"15":{"start":{"line":40,"column":29},"end":{"line":40,"column":40}},"16":{"start":{"line":41,"column":8},"end":{"line":41,"column":42}},"17":{"start":{"line":42,"column":8},"end":{"line":42,"column":28}},"18":{"start":{"line":45,"column":8},"end":{"line":51,"column":10}},"19":{"start":{"line":49,"column":47},"end":{"line":49,"column":58}},"20":{"start":{"line":56,"column":27},"end":{"line":81,"column":8}},"21":{"start":{"line":57,"column":4},"end":{"line":80,"column":7}},"22":{"start":{"line":58,"column":25},"end":{"line":58,"column":43}},"23":{"start":{"line":59,"column":6},"end":{"line":59,"column":35}},"24":{"start":{"line":59,"column":23},"end":{"line":59,"column":35}},"25":{"start":{"line":61,"column":34},"end":{"line":61,"column":75}},"26":{"start":{"line":62,"column":31},"end":{"line":64,"column":47}},"27":{"start":{"line":63,"column":50},"end":{"line":63,"column":63}},"28":{"start":{"line":67,"column":6},"end":{"line":71,"column":7}},"29":{"start":{"line":68,"column":29},"end":{"line":68,"column":40}},"30":{"start":{"line":69,"column":8},"end":{"line":69,"column":42}},"31":{"start":{"line":70,"column":8},"end":{"line":70,"column":28}},"32":{"start":{"line":73,"column":6},"end":{"line":79,"column":8}},"33":{"start":{"line":83,"column":24},"end":{"line":85,"column":61}},"34":{"start":{"line":84,"column":4},"end":{"line":84,"column":62}},"35":{"start":{"line":87,"column":24},"end":{"line":87,"column":67}},"36":{"start":{"line":89,"column":2},"end":{"line":176,"column":4}},"37":{"start":{"line":116,"column":42},"end":{"line":116,"column":76}},"38":{"start":{"line":123,"column":42},"end":{"line":123,"column":69}},"39":{"start":{"line":134,"column":41},"end":{"line":134,"column":77}},"40":{"start":{"line":135,"column":34},"end":{"line":135,"column":89}},"41":{"start":{"line":136,"column":37},"end":{"line":136,"column":109}},"42":{"start":{"line":138,"column":12},"end":{"line":165,"column":14}},"43":{"start":{"line":143,"column":43},"end":{"line":143,"column":115}},"44":{"start":{"line":152,"column":24},"end":{"line":159,"column":35}},"45":{"start":{"line":155,"column":49},"end":{"line":155,"column":93}}},"fnMap":{"0":{"name":"ImportVariablesDialog","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":45}},"loc":{"start":{"line":15,"column":98},"end":{"line":177,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":12},"end":{"line":22,"column":13}},"loc":{"start":{"line":22,"column":18},"end":{"line":33,"column":3}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":26},"end":{"line":25,"column":27}},"loc":{"start":{"line":25,"column":42},"end":{"line":30,"column":7}},"line":25},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":46},"end":{"line":28,"column":47}},"loc":{"start":{"line":28,"column":56},"end":{"line":28,"column":67}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":35,"column":45},"end":{"line":35,"column":46}},"loc":{"start":{"line":35,"column":138},"end":{"line":54,"column":3}},"line":35},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":27},"end":{"line":36,"column":28}},"loc":{"start":{"line":36,"column":37},"end":{"line":53,"column":5}},"line":36},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":37},"end":{"line":49,"column":38}},"loc":{"start":{"line":49,"column":47},"end":{"line":49,"column":58}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":56,"column":39},"end":{"line":56,"column":40}},"loc":{"start":{"line":56,"column":81},"end":{"line":81,"column":3}},"line":56},"8":{"name":"(anonymous_8)","decl":{"start":{"line":57,"column":27},"end":{"line":57,"column":28}},"loc":{"start":{"line":57,"column":37},"end":{"line":80,"column":5}},"line":57},"9":{"name":"(anonymous_9)","decl":{"start":{"line":63,"column":42},"end":{"line":63,"column":43}},"loc":{"start":{"line":63,"column":50},"end":{"line":63,"column":63}},"line":63},"10":{"name":"(anonymous_10)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":83,"column":42},"end":{"line":85,"column":3}},"line":83},"11":{"name":"(anonymous_11)","decl":{"start":{"line":116,"column":29},"end":{"line":116,"column":30}},"loc":{"start":{"line":116,"column":42},"end":{"line":116,"column":76}},"line":116},"12":{"name":"(anonymous_12)","decl":{"start":{"line":123,"column":29},"end":{"line":123,"column":30}},"loc":{"start":{"line":123,"column":42},"end":{"line":123,"column":69}},"line":123},"13":{"name":"(anonymous_13)","decl":{"start":{"line":133,"column":27},"end":{"line":133,"column":28}},"loc":{"start":{"line":133,"column":43},"end":{"line":166,"column":11}},"line":133},"14":{"name":"(anonymous_14)","decl":{"start":{"line":143,"column":37},"end":{"line":143,"column":38}},"loc":{"start":{"line":143,"column":43},"end":{"line":143,"column":115}},"line":143},"15":{"name":"(anonymous_15)","decl":{"start":{"line":151,"column":44},"end":{"line":151,"column":45}},"loc":{"start":{"line":152,"column":24},"end":{"line":159,"column":35}},"line":152},"16":{"name":"(anonymous_16)","decl":{"start":{"line":155,"column":43},"end":{"line":155,"column":44}},"loc":{"start":{"line":155,"column":49},"end":{"line":155,"column":93}},"line":155}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":38,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":38,"column":6},"end":{"line":52,"column":7}},{"start":{"line":43,"column":13},"end":{"line":52,"column":7}}],"line":38},"2":{"loc":{"start":{"line":59,"column":6},"end":{"line":59,"column":35}},"type":"if","locations":[{"start":{"line":59,"column":6},"end":{"line":59,"column":35}},{"start":{},"end":{}}],"line":59},"3":{"loc":{"start":{"line":62,"column":31},"end":{"line":64,"column":47}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":64}},{"start":{"line":64,"column":10},"end":{"line":64,"column":47}}],"line":62},"4":{"loc":{"start":{"line":67,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":67},"5":{"loc":{"start":{"line":135,"column":34},"end":{"line":135,"column":89}},"type":"binary-expr","locations":[{"start":{"line":135,"column":34},"end":{"line":135,"column":83}},{"start":{"line":135,"column":87},"end":{"line":135,"column":89}}],"line":135},"6":{"loc":{"start":{"line":136,"column":37},"end":{"line":136,"column":109}},"type":"binary-expr","locations":[{"start":{"line":136,"column":37},"end":{"line":136,"column":57}},{"start":{"line":136,"column":61},"end":{"line":136,"column":109}}],"line":136},"7":{"loc":{"start":{"line":149,"column":19},"end":{"line":162,"column":19}},"type":"binary-expr","locations":[{"start":{"line":149,"column":19},"end":{"line":149,"column":39}},{"start":{"line":150,"column":20},"end":{"line":161,"column":28}}],"line":149},"8":{"loc":{"start":{"line":169,"column":9},"end":{"line":173,"column":9}},"type":"binary-expr","locations":[{"start":{"line":169,"column":9},"end":{"line":169,"column":23}},{"start":{"line":170,"column":10},"end":{"line":172,"column":16}}],"line":169}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportedTokensDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportedTokensDialog.tsx","statementMap":{"0":{"start":{"line":34,"column":16},"end":{"line":34,"column":53}},"1":{"start":{"line":35,"column":24},"end":{"line":37,"column":33}},"2":{"start":{"line":36,"column":4},"end":{"line":36,"column":30}},"3":{"start":{"line":39,"column":24},"end":{"line":41,"column":33}},"4":{"start":{"line":40,"column":4},"end":{"line":40,"column":30}},"5":{"start":{"line":43,"column":25},"end":{"line":43,"column":60}},"6":{"start":{"line":45,"column":21},"end":{"line":45,"column":188}},"7":{"start":{"line":45,"column":93},"end":{"line":45,"column":108}},"8":{"start":{"line":45,"column":165},"end":{"line":45,"column":184}},"9":{"start":{"line":46,"column":24},"end":{"line":46,"column":45}},"10":{"start":{"line":48,"column":2},"end":{"line":96,"column":4}},"11":{"start":{"line":100,"column":19},"end":{"line":100,"column":42}},"12":{"start":{"line":101,"column":71},"end":{"line":101,"column":88}},"13":{"start":{"line":102,"column":25},"end":{"line":102,"column":60}},"14":{"start":{"line":103,"column":17},"end":{"line":103,"column":48}},"15":{"start":{"line":104,"column":25},"end":{"line":104,"column":60}},"16":{"start":{"line":105,"column":25},"end":{"line":105,"column":60}},"17":{"start":{"line":106,"column":36},"end":{"line":106,"column":76}},"18":{"start":{"line":107,"column":44},"end":{"line":107,"column":88}},"19":{"start":{"line":108,"column":36},"end":{"line":108,"column":76}},"20":{"start":{"line":109,"column":44},"end":{"line":109,"column":88}},"21":{"start":{"line":111,"column":16},"end":{"line":111,"column":42}},"22":{"start":{"line":113,"column":36},"end":{"line":116,"column":39}},"23":{"start":{"line":114,"column":19},"end":{"line":114,"column":104}},"24":{"start":{"line":114,"column":58},"end":{"line":114,"column":103}},"25":{"start":{"line":115,"column":4},"end":{"line":115,"column":29}},"26":{"start":{"line":118,"column":31},"end":{"line":120,"column":31}},"27":{"start":{"line":119,"column":4},"end":{"line":119,"column":88}},"28":{"start":{"line":119,"column":48},"end":{"line":119,"column":85}},"29":{"start":{"line":122,"column":31},"end":{"line":135,"column":55}},"30":{"start":{"line":123,"column":30},"end":{"line":130,"column":7}},"31":{"start":{"line":123,"column":56},"end":{"line":130,"column":5}},"32":{"start":{"line":133,"column":4},"end":{"line":133,"column":48}},"33":{"start":{"line":134,"column":4},"end":{"line":134,"column":21}},"34":{"start":{"line":137,"column":31},"end":{"line":150,"column":59}},"35":{"start":{"line":138,"column":34},"end":{"line":145,"column":7}},"36":{"start":{"line":138,"column":64},"end":{"line":145,"column":5}},"37":{"start":{"line":148,"column":4},"end":{"line":148,"column":52}},"38":{"start":{"line":149,"column":4},"end":{"line":149,"column":25}},"39":{"start":{"line":152,"column":31},"end":{"line":207,"column":114}},"40":{"start":{"line":153,"column":34},"end":{"line":160,"column":7}},"41":{"start":{"line":153,"column":64},"end":{"line":160,"column":5}},"42":{"start":{"line":162,"column":30},"end":{"line":169,"column":7}},"43":{"start":{"line":162,"column":56},"end":{"line":169,"column":5}},"44":{"start":{"line":171,"column":4},"end":{"line":177,"column":5}},"45":{"start":{"line":172,"column":6},"end":{"line":176,"column":9}},"46":{"start":{"line":173,"column":36},"end":{"line":173,"column":109}},"47":{"start":{"line":173,"column":74},"end":{"line":173,"column":108}},"48":{"start":{"line":180,"column":4},"end":{"line":180,"column":71}},"49":{"start":{"line":182,"column":27},"end":{"line":182,"column":75}},"50":{"start":{"line":184,"column":34},"end":{"line":189,"column":29}},"51":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"52":{"start":{"line":186,"column":8},"end":{"line":186,"column":31}},"53":{"start":{"line":188,"column":6},"end":{"line":188,"column":17}},"54":{"start":{"line":191,"column":4},"end":{"line":201,"column":7}},"55":{"start":{"line":195,"column":52},"end":{"line":195,"column":74}},"56":{"start":{"line":196,"column":51},"end":{"line":196,"column":72}},"57":{"start":{"line":197,"column":53},"end":{"line":197,"column":76}},"58":{"start":{"line":198,"column":54},"end":{"line":198,"column":78}},"59":{"start":{"line":199,"column":56},"end":{"line":199,"column":82}},"60":{"start":{"line":203,"column":4},"end":{"line":203,"column":25}},"61":{"start":{"line":204,"column":4},"end":{"line":204,"column":21}},"62":{"start":{"line":205,"column":4},"end":{"line":205,"column":21}},"63":{"start":{"line":206,"column":4},"end":{"line":206,"column":25}},"64":{"start":{"line":209,"column":34},"end":{"line":221,"column":52}},"65":{"start":{"line":211,"column":4},"end":{"line":218,"column":7}},"66":{"start":{"line":219,"column":4},"end":{"line":219,"column":58}},"67":{"start":{"line":220,"column":4},"end":{"line":220,"column":79}},"68":{"start":{"line":220,"column":48},"end":{"line":220,"column":76}},"69":{"start":{"line":223,"column":34},"end":{"line":236,"column":54}},"70":{"start":{"line":225,"column":4},"end":{"line":232,"column":7}},"71":{"start":{"line":233,"column":4},"end":{"line":233,"column":58}},"72":{"start":{"line":235,"column":4},"end":{"line":235,"column":95}},"73":{"start":{"line":235,"column":60},"end":{"line":235,"column":92}},"74":{"start":{"line":238,"column":22},"end":{"line":240,"column":16}},"75":{"start":{"line":239,"column":4},"end":{"line":239,"column":46}},"76":{"start":{"line":243,"column":2},"end":{"line":246,"column":63}},"77":{"start":{"line":244,"column":4},"end":{"line":244,"column":43}},"78":{"start":{"line":245,"column":4},"end":{"line":245,"column":51}},"79":{"start":{"line":248,"column":2},"end":{"line":251,"column":63}},"80":{"start":{"line":249,"column":4},"end":{"line":249,"column":43}},"81":{"start":{"line":250,"column":4},"end":{"line":250,"column":51}},"82":{"start":{"line":253,"column":21},"end":{"line":253,"column":23}},"83":{"start":{"line":255,"column":2},"end":{"line":362,"column":4}},"84":{"start":{"line":291,"column":16},"end":{"line":298,"column":18}},"85":{"start":{"line":336,"column":16},"end":{"line":343,"column":18}}},"fnMap":{"0":{"name":"NewOrExistingToken","decl":{"start":{"line":21,"column":9},"end":{"line":21,"column":27}},"loc":{"start":{"line":33,"column":3},"end":{"line":97,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":42},"end":{"line":35,"column":43}},"loc":{"start":{"line":35,"column":48},"end":{"line":37,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":42},"end":{"line":39,"column":43}},"loc":{"start":{"line":39,"column":48},"end":{"line":41,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":66},"end":{"line":45,"column":67}},"loc":{"start":{"line":45,"column":93},"end":{"line":45,"column":108}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":147},"end":{"line":45,"column":148}},"loc":{"start":{"line":45,"column":165},"end":{"line":45,"column":184}},"line":45},"5":{"name":"ImportedTokensDialog","decl":{"start":{"line":99,"column":24},"end":{"line":99,"column":44}},"loc":{"start":{"line":99,"column":47},"end":{"line":363,"column":1}},"line":99},"6":{"name":"(anonymous_6)","decl":{"start":{"line":113,"column":54},"end":{"line":113,"column":55}},"loc":{"start":{"line":113,"column":72},"end":{"line":116,"column":3}},"line":113},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":40},"end":{"line":114,"column":41}},"loc":{"start":{"line":114,"column":58},"end":{"line":114,"column":103}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":118,"column":49},"end":{"line":118,"column":50}},"loc":{"start":{"line":118,"column":67},"end":{"line":120,"column":3}},"line":118},"9":{"name":"(anonymous_9)","decl":{"start":{"line":119,"column":34},"end":{"line":119,"column":35}},"loc":{"start":{"line":119,"column":48},"end":{"line":119,"column":85}},"line":119},"10":{"name":"(anonymous_10)","decl":{"start":{"line":122,"column":49},"end":{"line":122,"column":50}},"loc":{"start":{"line":122,"column":55},"end":{"line":135,"column":3}},"line":122},"11":{"name":"(anonymous_11)","decl":{"start":{"line":123,"column":44},"end":{"line":123,"column":45}},"loc":{"start":{"line":123,"column":56},"end":{"line":130,"column":5}},"line":123},"12":{"name":"(anonymous_12)","decl":{"start":{"line":137,"column":49},"end":{"line":137,"column":50}},"loc":{"start":{"line":137,"column":55},"end":{"line":150,"column":3}},"line":137},"13":{"name":"(anonymous_13)","decl":{"start":{"line":138,"column":52},"end":{"line":138,"column":53}},"loc":{"start":{"line":138,"column":64},"end":{"line":145,"column":5}},"line":138},"14":{"name":"(anonymous_14)","decl":{"start":{"line":152,"column":49},"end":{"line":152,"column":50}},"loc":{"start":{"line":152,"column":55},"end":{"line":207,"column":3}},"line":152},"15":{"name":"(anonymous_15)","decl":{"start":{"line":153,"column":52},"end":{"line":153,"column":53}},"loc":{"start":{"line":153,"column":64},"end":{"line":160,"column":5}},"line":153},"16":{"name":"(anonymous_16)","decl":{"start":{"line":162,"column":44},"end":{"line":162,"column":45}},"loc":{"start":{"line":162,"column":56},"end":{"line":169,"column":5}},"line":162},"17":{"name":"(anonymous_17)","decl":{"start":{"line":173,"column":25},"end":{"line":173,"column":26}},"loc":{"start":{"line":173,"column":36},"end":{"line":173,"column":109}},"line":173},"18":{"name":"(anonymous_18)","decl":{"start":{"line":173,"column":56},"end":{"line":173,"column":57}},"loc":{"start":{"line":173,"column":74},"end":{"line":173,"column":108}},"line":173},"19":{"name":"(anonymous_19)","decl":{"start":{"line":184,"column":56},"end":{"line":184,"column":57}},"loc":{"start":{"line":184,"column":72},"end":{"line":189,"column":5}},"line":184},"20":{"name":"(anonymous_20)","decl":{"start":{"line":195,"column":41},"end":{"line":195,"column":42}},"loc":{"start":{"line":195,"column":52},"end":{"line":195,"column":74}},"line":195},"21":{"name":"(anonymous_21)","decl":{"start":{"line":196,"column":40},"end":{"line":196,"column":41}},"loc":{"start":{"line":196,"column":51},"end":{"line":196,"column":72}},"line":196},"22":{"name":"(anonymous_22)","decl":{"start":{"line":197,"column":42},"end":{"line":197,"column":43}},"loc":{"start":{"line":197,"column":53},"end":{"line":197,"column":76}},"line":197},"23":{"name":"(anonymous_23)","decl":{"start":{"line":198,"column":43},"end":{"line":198,"column":44}},"loc":{"start":{"line":198,"column":54},"end":{"line":198,"column":78}},"line":198},"24":{"name":"(anonymous_24)","decl":{"start":{"line":199,"column":45},"end":{"line":199,"column":46}},"loc":{"start":{"line":199,"column":56},"end":{"line":199,"column":82}},"line":199},"25":{"name":"(anonymous_25)","decl":{"start":{"line":209,"column":52},"end":{"line":209,"column":53}},"loc":{"start":{"line":209,"column":68},"end":{"line":221,"column":3}},"line":209},"26":{"name":"(anonymous_26)","decl":{"start":{"line":220,"column":34},"end":{"line":220,"column":35}},"loc":{"start":{"line":220,"column":48},"end":{"line":220,"column":76}},"line":220},"27":{"name":"(anonymous_27)","decl":{"start":{"line":223,"column":52},"end":{"line":223,"column":53}},"loc":{"start":{"line":223,"column":68},"end":{"line":236,"column":3}},"line":223},"28":{"name":"(anonymous_28)","decl":{"start":{"line":235,"column":42},"end":{"line":235,"column":43}},"loc":{"start":{"line":235,"column":60},"end":{"line":235,"column":92}},"line":235},"29":{"name":"(anonymous_29)","decl":{"start":{"line":238,"column":40},"end":{"line":238,"column":41}},"loc":{"start":{"line":238,"column":46},"end":{"line":240,"column":3}},"line":238},"30":{"name":"(anonymous_30)","decl":{"start":{"line":243,"column":18},"end":{"line":243,"column":19}},"loc":{"start":{"line":243,"column":24},"end":{"line":246,"column":3}},"line":243},"31":{"name":"(anonymous_31)","decl":{"start":{"line":248,"column":18},"end":{"line":248,"column":19}},"loc":{"start":{"line":248,"column":24},"end":{"line":251,"column":3}},"line":248},"32":{"name":"(anonymous_32)","decl":{"start":{"line":290,"column":53},"end":{"line":290,"column":54}},"loc":{"start":{"line":291,"column":16},"end":{"line":298,"column":18}},"line":291},"33":{"name":"(anonymous_33)","decl":{"start":{"line":335,"column":53},"end":{"line":335,"column":54}},"loc":{"start":{"line":336,"column":16},"end":{"line":343,"column":18}},"line":336}},"branchMap":{"0":{"loc":{"start":{"line":52,"column":11},"end":{"line":52,"column":76}},"type":"binary-expr","locations":[{"start":{"line":52,"column":11},"end":{"line":52,"column":24}},{"start":{"line":52,"column":29},"end":{"line":52,"column":75}}],"line":52},"1":{"loc":{"start":{"line":66,"column":13},"end":{"line":66,"column":88}},"type":"cond-expr","locations":[{"start":{"line":66,"column":47},"end":{"line":66,"column":74}},{"start":{"line":66,"column":77},"end":{"line":66,"column":88}}],"line":66},"2":{"loc":{"start":{"line":68,"column":11},"end":{"line":81,"column":18}},"type":"cond-expr","locations":[{"start":{"line":69,"column":12},"end":{"line":80,"column":18}},{"start":{"line":81,"column":14},"end":{"line":81,"column":18}}],"line":68},"3":{"loc":{"start":{"line":79,"column":15},"end":{"line":79,"column":99}},"type":"cond-expr","locations":[{"start":{"line":79,"column":52},"end":{"line":79,"column":82}},{"start":{"line":79,"column":85},"end":{"line":79,"column":99}}],"line":79},"4":{"loc":{"start":{"line":83,"column":9},"end":{"line":89,"column":9}},"type":"binary-expr","locations":[{"start":{"line":83,"column":10},"end":{"line":83,"column":27}},{"start":{"line":83,"column":31},"end":{"line":83,"column":51}},{"start":{"line":84,"column":10},"end":{"line":88,"column":17}}],"line":83},"5":{"loc":{"start":{"line":87,"column":13},"end":{"line":87,"column":77}},"type":"cond-expr","locations":[{"start":{"line":87,"column":36},"end":{"line":87,"column":72}},{"start":{"line":87,"column":75},"end":{"line":87,"column":77}}],"line":87},"6":{"loc":{"start":{"line":124,"column":14},"end":{"line":124,"column":44}},"type":"binary-expr","locations":[{"start":{"line":124,"column":14},"end":{"line":124,"column":26}},{"start":{"line":124,"column":30},"end":{"line":124,"column":44}}],"line":124},"7":{"loc":{"start":{"line":139,"column":14},"end":{"line":139,"column":44}},"type":"binary-expr","locations":[{"start":{"line":139,"column":14},"end":{"line":139,"column":26}},{"start":{"line":139,"column":30},"end":{"line":139,"column":44}}],"line":139},"8":{"loc":{"start":{"line":154,"column":14},"end":{"line":154,"column":44}},"type":"binary-expr","locations":[{"start":{"line":154,"column":14},"end":{"line":154,"column":26}},{"start":{"line":154,"column":30},"end":{"line":154,"column":44}}],"line":154},"9":{"loc":{"start":{"line":163,"column":14},"end":{"line":163,"column":44}},"type":"binary-expr","locations":[{"start":{"line":163,"column":14},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":44}}],"line":163},"10":{"loc":{"start":{"line":171,"column":4},"end":{"line":177,"column":5}},"type":"if","locations":[{"start":{"line":171,"column":4},"end":{"line":177,"column":5}},{"start":{},"end":{}}],"line":171},"11":{"loc":{"start":{"line":171,"column":8},"end":{"line":171,"column":56}},"type":"binary-expr","locations":[{"start":{"line":171,"column":8},"end":{"line":171,"column":28}},{"start":{"line":171,"column":32},"end":{"line":171,"column":56}}],"line":171},"12":{"loc":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"type":"if","locations":[{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},{"start":{},"end":{}}],"line":185},"13":{"loc":{"start":{"line":185,"column":10},"end":{"line":185,"column":53}},"type":"binary-expr","locations":[{"start":{"line":185,"column":10},"end":{"line":185,"column":22}},{"start":{"line":185,"column":26},"end":{"line":185,"column":53}}],"line":185},"14":{"loc":{"start":{"line":260,"column":14},"end":{"line":260,"column":62}},"type":"binary-expr","locations":[{"start":{"line":260,"column":14},"end":{"line":260,"column":34}},{"start":{"line":260,"column":38},"end":{"line":260,"column":62}}],"line":260},"15":{"loc":{"start":{"line":275,"column":9},"end":{"line":319,"column":9}},"type":"binary-expr","locations":[{"start":{"line":275,"column":9},"end":{"line":275,"column":29}},{"start":{"line":276,"column":10},"end":{"line":318,"column":22}}],"line":275},"16":{"loc":{"start":{"line":302,"column":13},"end":{"line":316,"column":13}},"type":"binary-expr","locations":[{"start":{"line":302,"column":13},"end":{"line":302,"column":42}},{"start":{"line":303,"column":12},"end":{"line":315,"column":19}}],"line":302},"17":{"loc":{"start":{"line":320,"column":9},"end":{"line":359,"column":9}},"type":"binary-expr","locations":[{"start":{"line":320,"column":9},"end":{"line":320,"column":33}},{"start":{"line":321,"column":10},"end":{"line":358,"column":22}}],"line":320},"18":{"loc":{"start":{"line":346,"column":14},"end":{"line":357,"column":13}},"type":"binary-expr","locations":[{"start":{"line":346,"column":14},"end":{"line":346,"column":38}},{"start":{"line":348,"column":12},"end":{"line":356,"column":19}}],"line":346}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Initiator.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Initiator.tsx","statementMap":{"0":{"start":{"line":20,"column":21},"end":{"line":32,"column":1}},"1":{"start":{"line":21,"column":2},"end":{"line":30,"column":3}},"2":{"start":{"line":22,"column":16},"end":{"line":22,"column":38}},"3":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"4":{"start":{"line":24,"column":19},"end":{"line":24,"column":42}},"5":{"start":{"line":25,"column":6},"end":{"line":25,"column":18}},"6":{"start":{"line":28,"column":4},"end":{"line":28,"column":46}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":16}},"8":{"start":{"line":31,"column":2},"end":{"line":31,"column":14}},"9":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"10":{"start":{"line":36,"column":40},"end":{"line":36,"column":57}},"11":{"start":{"line":37,"column":29},"end":{"line":37,"column":41}},"12":{"start":{"line":39,"column":2},"end":{"line":182,"column":60}},"13":{"start":{"line":40,"column":27},"end":{"line":169,"column":5}},"14":{"start":{"line":45,"column":6},"end":{"line":168,"column":7}},"15":{"start":{"line":46,"column":34},"end":{"line":46,"column":44}},"16":{"start":{"line":47,"column":8},"end":{"line":167,"column":9}},"17":{"start":{"line":49,"column":80},"end":{"line":49,"column":93}},"18":{"start":{"line":50,"column":12},"end":{"line":50,"column":62}},"19":{"start":{"line":51,"column":12},"end":{"line":51,"column":48}},"20":{"start":{"line":52,"column":12},"end":{"line":65,"column":13}},"21":{"start":{"line":53,"column":49},"end":{"line":55,"column":20}},"22":{"start":{"line":54,"column":16},"end":{"line":54,"column":39}},"23":{"start":{"line":56,"column":52},"end":{"line":56,"column":110}},"24":{"start":{"line":57,"column":14},"end":{"line":57,"column":89}},"25":{"start":{"line":58,"column":19},"end":{"line":65,"column":13}},"26":{"start":{"line":60,"column":52},"end":{"line":60,"column":110}},"27":{"start":{"line":61,"column":14},"end":{"line":61,"column":89}},"28":{"start":{"line":64,"column":14},"end":{"line":64,"column":62}},"29":{"start":{"line":68,"column":12},"end":{"line":74,"column":13}},"30":{"start":{"line":69,"column":31},"end":{"line":69,"column":60}},"31":{"start":{"line":70,"column":44},"end":{"line":70,"column":111}},"32":{"start":{"line":70,"column":75},"end":{"line":70,"column":110}},"33":{"start":{"line":71,"column":14},"end":{"line":71,"column":73}},"34":{"start":{"line":73,"column":14},"end":{"line":73,"column":54}},"35":{"start":{"line":75,"column":12},"end":{"line":75,"column":18}},"36":{"start":{"line":78,"column":12},"end":{"line":78,"column":47}},"37":{"start":{"line":79,"column":12},"end":{"line":79,"column":50}},"38":{"start":{"line":80,"column":12},"end":{"line":80,"column":52}},"39":{"start":{"line":81,"column":12},"end":{"line":81,"column":60}},"40":{"start":{"line":82,"column":12},"end":{"line":82,"column":18}},"41":{"start":{"line":85,"column":31},"end":{"line":85,"column":44}},"42":{"start":{"line":86,"column":12},"end":{"line":91,"column":13}},"43":{"start":{"line":87,"column":14},"end":{"line":87,"column":55}},"44":{"start":{"line":88,"column":34},"end":{"line":88,"column":70}},"45":{"start":{"line":89,"column":14},"end":{"line":90,"column":61}},"46":{"start":{"line":89,"column":31},"end":{"line":89,"column":74}},"47":{"start":{"line":90,"column":19},"end":{"line":90,"column":61}},"48":{"start":{"line":92,"column":12},"end":{"line":92,"column":18}},"49":{"start":{"line":95,"column":12},"end":{"line":95,"column":91}},"50":{"start":{"line":96,"column":12},"end":{"line":96,"column":18}},"51":{"start":{"line":99,"column":12},"end":{"line":99,"column":59}},"52":{"start":{"line":100,"column":12},"end":{"line":100,"column":18}},"53":{"start":{"line":103,"column":12},"end":{"line":103,"column":70}},"54":{"start":{"line":104,"column":12},"end":{"line":104,"column":18}},"55":{"start":{"line":107,"column":12},"end":{"line":107,"column":68}},"56":{"start":{"line":108,"column":12},"end":{"line":108,"column":52}},"57":{"start":{"line":109,"column":12},"end":{"line":109,"column":18}},"58":{"start":{"line":112,"column":31},"end":{"line":112,"column":44}},"59":{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},"60":{"start":{"line":114,"column":14},"end":{"line":114,"column":37}},"61":{"start":{"line":115,"column":14},"end":{"line":115,"column":62}},"62":{"start":{"line":116,"column":14},"end":{"line":116,"column":57}},"63":{"start":{"line":118,"column":12},"end":{"line":118,"column":18}},"64":{"start":{"line":122,"column":39},"end":{"line":122,"column":52}},"65":{"start":{"line":123,"column":12},"end":{"line":126,"column":13}},"66":{"start":{"line":124,"column":14},"end":{"line":124,"column":65}},"67":{"start":{"line":125,"column":14},"end":{"line":125,"column":57}},"68":{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},"69":{"start":{"line":128,"column":14},"end":{"line":128,"column":65}},"70":{"start":{"line":130,"column":12},"end":{"line":130,"column":18}},"71":{"start":{"line":134,"column":12},"end":{"line":134,"column":82}},"72":{"start":{"line":135,"column":12},"end":{"line":135,"column":18}},"73":{"start":{"line":138,"column":12},"end":{"line":138,"column":57}},"74":{"start":{"line":139,"column":12},"end":{"line":139,"column":18}},"75":{"start":{"line":142,"column":12},"end":{"line":142,"column":61}},"76":{"start":{"line":143,"column":12},"end":{"line":143,"column":18}},"77":{"start":{"line":146,"column":12},"end":{"line":146,"column":41}},"78":{"start":{"line":147,"column":12},"end":{"line":147,"column":18}},"79":{"start":{"line":150,"column":12},"end":{"line":154,"column":15}},"80":{"start":{"line":155,"column":12},"end":{"line":155,"column":18}},"81":{"start":{"line":158,"column":12},"end":{"line":162,"column":15}},"82":{"start":{"line":163,"column":12},"end":{"line":163,"column":18}},"83":{"start":{"line":166,"column":12},"end":{"line":166,"column":18}},"84":{"start":{"line":170,"column":4},"end":{"line":179,"column":5}},"85":{"start":{"line":171,"column":23},"end":{"line":174,"column":7}},"86":{"start":{"line":172,"column":22},"end":{"line":172,"column":37}},"87":{"start":{"line":173,"column":8},"end":{"line":173,"column":59}},"88":{"start":{"line":175,"column":6},"end":{"line":175,"column":126}},"89":{"start":{"line":176,"column":6},"end":{"line":178,"column":8}},"90":{"start":{"line":177,"column":8},"end":{"line":177,"column":131}},"91":{"start":{"line":180,"column":4},"end":{"line":180,"column":38}},"92":{"start":{"line":181,"column":4},"end":{"line":181,"column":20}},"93":{"start":{"line":184,"column":2},"end":{"line":184,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":21},"end":{"line":20,"column":22}},"loc":{"start":{"line":20,"column":32},"end":{"line":32,"column":1}},"line":20},"1":{"name":"Initiator","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":25}},"loc":{"start":{"line":34,"column":28},"end":{"line":185,"column":1}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":12},"end":{"line":39,"column":13}},"loc":{"start":{"line":39,"column":18},"end":{"line":182,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":27},"end":{"line":40,"column":28}},"loc":{"start":{"line":44,"column":10},"end":{"line":169,"column":5}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":80},"end":{"line":53,"column":81}},"loc":{"start":{"line":54,"column":16},"end":{"line":54,"column":39}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":65},"end":{"line":70,"column":66}},"loc":{"start":{"line":70,"column":75},"end":{"line":70,"column":110}},"line":70},"6":{"name":"(anonymous_6)","decl":{"start":{"line":171,"column":23},"end":{"line":171,"column":24}},"loc":{"start":{"line":171,"column":30},"end":{"line":174,"column":7}},"line":171},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":13},"end":{"line":176,"column":14}},"loc":{"start":{"line":176,"column":19},"end":{"line":178,"column":7}},"line":176},"8":{"name":"(anonymous_8)","decl":{"start":{"line":181,"column":11},"end":{"line":181,"column":12}},"loc":{"start":{"line":181,"column":17},"end":{"line":181,"column":19}},"line":181}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":45,"column":6},"end":{"line":168,"column":7}},"type":"if","locations":[{"start":{"line":45,"column":6},"end":{"line":168,"column":7}},{"start":{},"end":{}}],"line":45},"2":{"loc":{"start":{"line":47,"column":8},"end":{"line":167,"column":9}},"type":"switch","locations":[{"start":{"line":48,"column":10},"end":{"line":76,"column":11}},{"start":{"line":77,"column":10},"end":{"line":83,"column":11}},{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},{"start":{"line":94,"column":10},"end":{"line":97,"column":11}},{"start":{"line":98,"column":10},"end":{"line":101,"column":11}},{"start":{"line":102,"column":10},"end":{"line":105,"column":11}},{"start":{"line":106,"column":10},"end":{"line":110,"column":11}},{"start":{"line":111,"column":10},"end":{"line":119,"column":11}},{"start":{"line":121,"column":10},"end":{"line":131,"column":11}},{"start":{"line":133,"column":10},"end":{"line":136,"column":11}},{"start":{"line":137,"column":10},"end":{"line":140,"column":11}},{"start":{"line":141,"column":10},"end":{"line":144,"column":11}},{"start":{"line":145,"column":10},"end":{"line":148,"column":11}},{"start":{"line":149,"column":10},"end":{"line":156,"column":11}},{"start":{"line":157,"column":10},"end":{"line":164,"column":11}},{"start":{"line":165,"column":10},"end":{"line":166,"column":18}}],"line":47},"3":{"loc":{"start":{"line":52,"column":12},"end":{"line":65,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":65,"column":13}},{"start":{"line":58,"column":19},"end":{"line":65,"column":13}}],"line":52},"4":{"loc":{"start":{"line":58,"column":19},"end":{"line":65,"column":13}},"type":"if","locations":[{"start":{"line":58,"column":19},"end":{"line":65,"column":13}},{"start":{"line":62,"column":19},"end":{"line":65,"column":13}}],"line":58},"5":{"loc":{"start":{"line":68,"column":12},"end":{"line":74,"column":13}},"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":74,"column":13}},{"start":{"line":72,"column":19},"end":{"line":74,"column":13}}],"line":68},"6":{"loc":{"start":{"line":86,"column":12},"end":{"line":91,"column":13}},"type":"if","locations":[{"start":{"line":86,"column":12},"end":{"line":91,"column":13}},{"start":{},"end":{}}],"line":86},"7":{"loc":{"start":{"line":88,"column":49},"end":{"line":88,"column":69}},"type":"binary-expr","locations":[{"start":{"line":88,"column":49},"end":{"line":88,"column":63}},{"start":{"line":88,"column":67},"end":{"line":88,"column":69}}],"line":88},"8":{"loc":{"start":{"line":89,"column":14},"end":{"line":90,"column":61}},"type":"if","locations":[{"start":{"line":89,"column":14},"end":{"line":90,"column":61}},{"start":{"line":90,"column":19},"end":{"line":90,"column":61}}],"line":89},"9":{"loc":{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},{"start":{},"end":{}}],"line":113},"10":{"loc":{"start":{"line":123,"column":12},"end":{"line":126,"column":13}},"type":"if","locations":[{"start":{"line":123,"column":12},"end":{"line":126,"column":13}},{"start":{},"end":{}}],"line":123},"11":{"loc":{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},{"start":{},"end":{}}],"line":127},"12":{"loc":{"start":{"line":170,"column":4},"end":{"line":179,"column":5}},"type":"if","locations":[{"start":{"line":170,"column":4},"end":{"line":179,"column":5}},{"start":{},"end":{}}],"line":170}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Input.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Input.tsx","statementMap":{"0":{"start":{"line":35,"column":19},"end":{"line":44,"column":2}},"1":{"start":{"line":46,"column":20},"end":{"line":83,"column":2}},"2":{"start":{"line":85,"column":21},"end":{"line":112,"column":2}},"3":{"start":{"line":114,"column":21},"end":{"line":147,"column":2}},"4":{"start":{"line":149,"column":20},"end":{"line":153,"column":2}},"5":{"start":{"line":155,"column":14},"end":{"line":239,"column":2}},"6":{"start":{"line":179,"column":26},"end":{"line":179,"column":47}},"7":{"start":{"line":180,"column":23},"end":{"line":180,"column":59}},"8":{"start":{"line":181,"column":21},"end":{"line":181,"column":45}},"9":{"start":{"line":183,"column":27},"end":{"line":189,"column":24}},"10":{"start":{"line":184,"column":4},"end":{"line":184,"column":23}},"11":{"start":{"line":185,"column":4},"end":{"line":185,"column":19}},"12":{"start":{"line":186,"column":4},"end":{"line":188,"column":5}},"13":{"start":{"line":187,"column":6},"end":{"line":187,"column":95}},"14":{"start":{"line":191,"column":2},"end":{"line":195,"column":32}},"15":{"start":{"line":192,"column":4},"end":{"line":194,"column":5}},"16":{"start":{"line":193,"column":6},"end":{"line":193,"column":35}},"17":{"start":{"line":197,"column":2},"end":{"line":238,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":155,"column":56},"end":{"line":155,"column":57}},"loc":{"start":{"line":177,"column":11},"end":{"line":239,"column":1}},"line":177},"1":{"name":"(anonymous_1)","decl":{"start":{"line":183,"column":39},"end":{"line":183,"column":40}},"loc":{"start":{"line":183,"column":83},"end":{"line":189,"column":3}},"line":183},"2":{"name":"(anonymous_2)","decl":{"start":{"line":191,"column":18},"end":{"line":191,"column":19}},"loc":{"start":{"line":191,"column":24},"end":{"line":195,"column":3}},"line":191}},"branchMap":{"0":{"loc":{"start":{"line":159,"column":2},"end":{"line":159,"column":12}},"type":"default-arg","locations":[{"start":{"line":159,"column":10},"end":{"line":159,"column":12}}],"line":159},"1":{"loc":{"start":{"line":160,"column":2},"end":{"line":160,"column":18}},"type":"default-arg","locations":[{"start":{"line":160,"column":13},"end":{"line":160,"column":18}}],"line":160},"2":{"loc":{"start":{"line":161,"column":2},"end":{"line":161,"column":17}},"type":"default-arg","locations":[{"start":{"line":161,"column":13},"end":{"line":161,"column":17}}],"line":161},"3":{"loc":{"start":{"line":162,"column":2},"end":{"line":162,"column":14}},"type":"default-arg","locations":[{"start":{"line":162,"column":10},"end":{"line":162,"column":14}}],"line":162},"4":{"loc":{"start":{"line":171,"column":2},"end":{"line":171,"column":13}},"type":"default-arg","locations":[{"start":{"line":171,"column":11},"end":{"line":171,"column":13}}],"line":171},"5":{"loc":{"start":{"line":173,"column":2},"end":{"line":173,"column":18}},"type":"default-arg","locations":[{"start":{"line":173,"column":16},"end":{"line":173,"column":18}}],"line":173},"6":{"loc":{"start":{"line":174,"column":2},"end":{"line":174,"column":18}},"type":"default-arg","locations":[{"start":{"line":174,"column":13},"end":{"line":174,"column":18}}],"line":174},"7":{"loc":{"start":{"line":175,"column":2},"end":{"line":175,"column":16}},"type":"default-arg","locations":[{"start":{"line":175,"column":9},"end":{"line":175,"column":16}}],"line":175},"8":{"loc":{"start":{"line":181,"column":21},"end":{"line":181,"column":45}},"type":"binary-expr","locations":[{"start":{"line":181,"column":21},"end":{"line":181,"column":29}},{"start":{"line":181,"column":33},"end":{"line":181,"column":45}}],"line":181},"9":{"loc":{"start":{"line":186,"column":4},"end":{"line":188,"column":5}},"type":"if","locations":[{"start":{"line":186,"column":4},"end":{"line":188,"column":5}},{"start":{},"end":{}}],"line":186},"10":{"loc":{"start":{"line":187,"column":32},"end":{"line":187,"column":94}},"type":"cond-expr","locations":[{"start":{"line":187,"column":75},"end":{"line":187,"column":81}},{"start":{"line":187,"column":84},"end":{"line":187,"column":94}}],"line":187},"11":{"loc":{"start":{"line":192,"column":4},"end":{"line":194,"column":5}},"type":"if","locations":[{"start":{"line":192,"column":4},"end":{"line":194,"column":5}},{"start":{},"end":{}}],"line":192},"12":{"loc":{"start":{"line":192,"column":8},"end":{"line":192,"column":57}},"type":"binary-expr","locations":[{"start":{"line":192,"column":8},"end":{"line":192,"column":17}},{"start":{"line":192,"column":21},"end":{"line":192,"column":33}},{"start":{"line":192,"column":37},"end":{"line":192,"column":57}}],"line":192},"13":{"loc":{"start":{"line":198,"column":46},"end":{"line":198,"column":64}},"type":"cond-expr","locations":[{"start":{"line":198,"column":53},"end":{"line":198,"column":59}},{"start":{"line":198,"column":62},"end":{"line":198,"column":64}}],"line":198},"14":{"loc":{"start":{"line":199,"column":7},"end":{"line":206,"column":7}},"type":"binary-expr","locations":[{"start":{"line":199,"column":8},"end":{"line":199,"column":15}},{"start":{"line":199,"column":19},"end":{"line":199,"column":26}},{"start":{"line":200,"column":8},"end":{"line":205,"column":16}}],"line":199},"15":{"loc":{"start":{"line":201,"column":11},"end":{"line":201,"column":24}},"type":"binary-expr","locations":[{"start":{"line":201,"column":11},"end":{"line":201,"column":16}},{"start":{"line":201,"column":20},"end":{"line":201,"column":24}}],"line":201},"16":{"loc":{"start":{"line":202,"column":11},"end":{"line":204,"column":18}},"type":"cond-expr","locations":[{"start":{"line":203,"column":12},"end":{"line":203,"column":54}},{"start":{"line":204,"column":14},"end":{"line":204,"column":18}}],"line":202},"17":{"loc":{"start":{"line":207,"column":64},"end":{"line":207,"column":82}},"type":"cond-expr","locations":[{"start":{"line":207,"column":71},"end":{"line":207,"column":77}},{"start":{"line":207,"column":80},"end":{"line":207,"column":82}}],"line":207},"18":{"loc":{"start":{"line":208,"column":9},"end":{"line":208,"column":58}},"type":"binary-expr","locations":[{"start":{"line":208,"column":9},"end":{"line":208,"column":17}},{"start":{"line":208,"column":21},"end":{"line":208,"column":58}}],"line":208},"19":{"loc":{"start":{"line":211,"column":15},"end":{"line":211,"column":46}},"type":"binary-expr","locations":[{"start":{"line":211,"column":15},"end":{"line":211,"column":23}},{"start":{"line":211,"column":27},"end":{"line":211,"column":30}},{"start":{"line":211,"column":34},"end":{"line":211,"column":46}}],"line":211},"20":{"loc":{"start":{"line":213,"column":20},"end":{"line":213,"column":41}},"type":"binary-expr","locations":[{"start":{"line":213,"column":20},"end":{"line":213,"column":28}},{"start":{"line":213,"column":32},"end":{"line":213,"column":41}}],"line":213},"21":{"loc":{"start":{"line":230,"column":9},"end":{"line":230,"column":42}},"type":"binary-expr","locations":[{"start":{"line":230,"column":9},"end":{"line":230,"column":17}},{"start":{"line":230,"column":21},"end":{"line":230,"column":42}}],"line":230},"22":{"loc":{"start":{"line":231,"column":9},"end":{"line":235,"column":9}},"type":"binary-expr","locations":[{"start":{"line":231,"column":9},"end":{"line":231,"column":17}},{"start":{"line":232,"column":10},"end":{"line":234,"column":25}}],"line":231},"23":{"loc":{"start":{"line":233,"column":25},"end":{"line":233,"column":74}},"type":"cond-expr","locations":[{"start":{"line":233,"column":32},"end":{"line":233,"column":50}},{"start":{"line":233,"column":53},"end":{"line":233,"column":74}}],"line":233}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectSearchOptionDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectSearchOptionDropdown.tsx","statementMap":{"0":{"start":{"line":12,"column":23},"end":{"line":12,"column":65}},"1":{"start":{"line":13,"column":19},"end":{"line":13,"column":42}},"2":{"start":{"line":15,"column":39},"end":{"line":17,"column":29}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":62}},"4":{"start":{"line":19,"column":41},"end":{"line":21,"column":29}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":64}},"6":{"start":{"line":23,"column":16},"end":{"line":23,"column":43}},"7":{"start":{"line":25,"column":2},"end":{"line":56,"column":4}}},"fnMap":{"0":{"name":"InspectSearchOptionDropdown","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":51}},"loc":{"start":{"line":11,"column":54},"end":{"line":57,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":57},"end":{"line":15,"column":58}},"loc":{"start":{"line":15,"column":79},"end":{"line":17,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":59},"end":{"line":19,"column":60}},"loc":{"start":{"line":19,"column":81},"end":{"line":21,"column":3}},"line":19}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Inspector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Inspector.tsx","statementMap":{"0":{"start":{"line":27,"column":40},"end":{"line":27,"column":63}},"1":{"start":{"line":28,"column":16},"end":{"line":28,"column":43}},"2":{"start":{"line":29,"column":50},"end":{"line":29,"column":76}},"3":{"start":{"line":30,"column":19},"end":{"line":30,"column":42}},"4":{"start":{"line":31,"column":17},"end":{"line":31,"column":44}},"5":{"start":{"line":32,"column":23},"end":{"line":32,"column":56}},"6":{"start":{"line":33,"column":22},"end":{"line":33,"column":54}},"7":{"start":{"line":35,"column":25},"end":{"line":37,"column":28}},"8":{"start":{"line":36,"column":4},"end":{"line":36,"column":74}},"9":{"start":{"line":39,"column":31},"end":{"line":44,"column":8}},"10":{"start":{"line":40,"column":4},"end":{"line":43,"column":5}},"11":{"start":{"line":41,"column":6},"end":{"line":41,"column":40}},"12":{"start":{"line":42,"column":6},"end":{"line":42,"column":27}},"13":{"start":{"line":47,"column":4},"end":{"line":51,"column":5}},"14":{"start":{"line":48,"column":20},"end":{"line":48,"column":82}},"15":{"start":{"line":49,"column":20},"end":{"line":49,"column":115}},"16":{"start":{"line":50,"column":15},"end":{"line":50,"column":27}},"17":{"start":{"line":54,"column":34},"end":{"line":56,"column":8}},"18":{"start":{"line":55,"column":4},"end":{"line":55,"column":44}},"19":{"start":{"line":58,"column":31},"end":{"line":58,"column":127}},"20":{"start":{"line":58,"column":55},"end":{"line":58,"column":101}},"21":{"start":{"line":60,"column":2},"end":{"line":125,"column":4}}},"fnMap":{"0":{"name":"Inspector","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":21},"end":{"line":126,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":39},"end":{"line":35,"column":40}},"loc":{"start":{"line":36,"column":4},"end":{"line":36,"column":74}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":49},"end":{"line":39,"column":50}},"loc":{"start":{"line":39,"column":78},"end":{"line":44,"column":3}},"line":39},"3":{"name":"renderInspectView","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":28}},"loc":{"start":{"line":46,"column":31},"end":{"line":52,"column":3}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":52},"end":{"line":54,"column":53}},"loc":{"start":{"line":54,"column":100},"end":{"line":56,"column":3}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":49},"end":{"line":58,"column":50}},"loc":{"start":{"line":58,"column":55},"end":{"line":58,"column":101}},"line":58}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":40},"1":{"loc":{"start":{"line":47,"column":4},"end":{"line":51,"column":5}},"type":"switch","locations":[{"start":{"line":48,"column":6},"end":{"line":48,"column":82}},{"start":{"line":49,"column":6},"end":{"line":49,"column":115}},{"start":{"line":50,"column":6},"end":{"line":50,"column":27}}],"line":47}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorDebugView.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorDebugView.tsx","statementMap":{"0":{"start":{"line":17,"column":19},"end":{"line":22,"column":2}},"1":{"start":{"line":25,"column":18},"end":{"line":25,"column":55}},"2":{"start":{"line":26,"column":28},"end":{"line":26,"column":39}},"3":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"4":{"start":{"line":28,"column":27},"end":{"line":41,"column":62}},"5":{"start":{"line":29,"column":26},"end":{"line":29,"column":62}},"6":{"start":{"line":30,"column":4},"end":{"line":30,"column":60}},"7":{"start":{"line":30,"column":23},"end":{"line":30,"column":60}},"8":{"start":{"line":31,"column":26},"end":{"line":31,"column":131}},"9":{"start":{"line":31,"column":65},"end":{"line":31,"column":115}},"10":{"start":{"line":32,"column":4},"end":{"line":39,"column":5}},"11":{"start":{"line":33,"column":6},"end":{"line":38,"column":9}},"12":{"start":{"line":40,"column":4},"end":{"line":40,"column":21}},"13":{"start":{"line":44,"column":4},"end":{"line":44,"column":138}},"14":{"start":{"line":44,"column":36},"end":{"line":44,"column":138}},"15":{"start":{"line":45,"column":4},"end":{"line":45,"column":226}},"16":{"start":{"line":48,"column":2},"end":{"line":84,"column":4}},"17":{"start":{"line":62,"column":42},"end":{"line":62,"column":96}},"18":{"start":{"line":64,"column":18},"end":{"line":73,"column":31}}},"fnMap":{"0":{"name":"InspectorDebugView","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":42}},"loc":{"start":{"line":24,"column":98},"end":{"line":85,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":39},"end":{"line":28,"column":40}},"loc":{"start":{"line":28,"column":76},"end":{"line":41,"column":3}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":55},"end":{"line":31,"column":56}},"loc":{"start":{"line":31,"column":65},"end":{"line":31,"column":115}},"line":31},"3":{"name":"renderBlankslate","decl":{"start":{"line":43,"column":11},"end":{"line":43,"column":27}},"loc":{"start":{"line":43,"column":30},"end":{"line":46,"column":3}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":24},"end":{"line":62,"column":25}},"loc":{"start":{"line":62,"column":42},"end":{"line":62,"column":96}},"line":62},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":21},"end":{"line":63,"column":22}},"loc":{"start":{"line":64,"column":18},"end":{"line":73,"column":31}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":60}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":60}},{"start":{},"end":{}}],"line":30},"1":{"loc":{"start":{"line":31,"column":65},"end":{"line":31,"column":115}},"type":"binary-expr","locations":[{"start":{"line":31,"column":65},"end":{"line":31,"column":91}},{"start":{"line":31,"column":95},"end":{"line":31,"column":115}}],"line":31},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":32},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":138}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":138}},{"start":{},"end":{}}],"line":44},"4":{"loc":{"start":{"line":45,"column":30},"end":{"line":45,"column":103}},"type":"cond-expr","locations":[{"start":{"line":45,"column":61},"end":{"line":45,"column":79}},{"start":{"line":45,"column":82},"end":{"line":45,"column":103}}],"line":45},"5":{"loc":{"start":{"line":45,"column":118},"end":{"line":45,"column":221}},"type":"cond-expr","locations":[{"start":{"line":45,"column":149},"end":{"line":45,"column":183}},{"start":{"line":45,"column":186},"end":{"line":45,"column":221}}],"line":45},"6":{"loc":{"start":{"line":58,"column":9},"end":{"line":81,"column":11}},"type":"cond-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":75,"column":20}},{"start":{"line":78,"column":12},"end":{"line":80,"column":20}}],"line":58},"7":{"loc":{"start":{"line":58,"column":9},"end":{"line":58,"column":99}},"type":"binary-expr","locations":[{"start":{"line":58,"column":9},"end":{"line":58,"column":37}},{"start":{"line":58,"column":41},"end":{"line":58,"column":99}}],"line":58},"8":{"loc":{"start":{"line":62,"column":42},"end":{"line":62,"column":96}},"type":"binary-expr","locations":[{"start":{"line":62,"column":42},"end":{"line":62,"column":74}},{"start":{"line":62,"column":78},"end":{"line":62,"column":96}}],"line":62},"9":{"loc":{"start":{"line":70,"column":23},"end":{"line":70,"column":78}},"type":"binary-expr","locations":[{"start":{"line":70,"column":23},"end":{"line":70,"column":48}},{"start":{"line":70,"column":52},"end":{"line":70,"column":78}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorMultiView.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorMultiView.tsx","statementMap":{"0":{"start":{"line":22,"column":16},"end":{"line":22,"column":43}},"1":{"start":{"line":24,"column":25},"end":{"line":28,"column":3}},"2":{"start":{"line":30,"column":23},"end":{"line":30,"column":65}},"3":{"start":{"line":31,"column":18},"end":{"line":31,"column":55}},"4":{"start":{"line":32,"column":55},"end":{"line":32,"column":66}},"5":{"start":{"line":33,"column":64},"end":{"line":33,"column":85}},"6":{"start":{"line":34,"column":19},"end":{"line":34,"column":42}},"7":{"start":{"line":36,"column":2},"end":{"line":38,"column":32}},"8":{"start":{"line":37,"column":4},"end":{"line":37,"column":48}},"9":{"start":{"line":40,"column":34},"end":{"line":49,"column":138}},"10":{"start":{"line":41,"column":17},"end":{"line":41,"column":40}},"11":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":139}},"13":{"start":{"line":43,"column":40},"end":{"line":43,"column":137}},"14":{"start":{"line":43,"column":79},"end":{"line":43,"column":113}},"15":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"16":{"start":{"line":46,"column":6},"end":{"line":46,"column":143}},"17":{"start":{"line":46,"column":41},"end":{"line":46,"column":140}},"18":{"start":{"line":46,"column":81},"end":{"line":46,"column":115}},"19":{"start":{"line":48,"column":4},"end":{"line":48,"column":98}},"20":{"start":{"line":48,"column":52},"end":{"line":48,"column":87}},"21":{"start":{"line":51,"column":33},"end":{"line":71,"column":31}},"22":{"start":{"line":52,"column":4},"end":{"line":70,"column":10}},"23":{"start":{"line":56,"column":6},"end":{"line":56,"column":60}},"24":{"start":{"line":56,"column":49},"end":{"line":56,"column":60}},"25":{"start":{"line":57,"column":6},"end":{"line":67,"column":7}},"26":{"start":{"line":58,"column":31},"end":{"line":58,"column":91}},"27":{"start":{"line":58,"column":68},"end":{"line":58,"column":90}},"28":{"start":{"line":60,"column":8},"end":{"line":64,"column":9}},"29":{"start":{"line":61,"column":10},"end":{"line":61,"column":72}},"30":{"start":{"line":63,"column":10},"end":{"line":63,"column":62}},"31":{"start":{"line":66,"column":8},"end":{"line":66,"column":36}},"32":{"start":{"line":69,"column":6},"end":{"line":69,"column":17}},"33":{"start":{"line":73,"column":23},"end":{"line":82,"column":81}},"34":{"start":{"line":74,"column":27},"end":{"line":79,"column":8}},"35":{"start":{"line":75,"column":21},"end":{"line":75,"column":85}},"36":{"start":{"line":76,"column":19},"end":{"line":76,"column":55}},"37":{"start":{"line":81,"column":4},"end":{"line":81,"column":40}},"38":{"start":{"line":84,"column":26},"end":{"line":90,"column":90}},"39":{"start":{"line":85,"column":4},"end":{"line":89,"column":6}},"40":{"start":{"line":88,"column":45},"end":{"line":88,"column":71}},"41":{"start":{"line":92,"column":26},"end":{"line":94,"column":16}},"42":{"start":{"line":93,"column":4},"end":{"line":93,"column":58}},"43":{"start":{"line":96,"column":24},"end":{"line":98,"column":43}},"44":{"start":{"line":97,"column":4},"end":{"line":97,"column":40}},"45":{"start":{"line":100,"column":30},"end":{"line":102,"column":8}},"46":{"start":{"line":101,"column":4},"end":{"line":101,"column":39}},"47":{"start":{"line":104,"column":30},"end":{"line":106,"column":8}},"48":{"start":{"line":105,"column":4},"end":{"line":105,"column":40}},"49":{"start":{"line":108,"column":2},"end":{"line":171,"column":4}},"50":{"start":{"line":152,"column":67},"end":{"line":152,"column":204}}},"fnMap":{"0":{"name":"InspectorMultiView","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":42}},"loc":{"start":{"line":21,"column":136},"end":{"line":172,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":18},"end":{"line":36,"column":19}},"loc":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":48},"end":{"line":40,"column":49}},"loc":{"start":{"line":40,"column":54},"end":{"line":49,"column":3}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":29},"end":{"line":43,"column":30}},"loc":{"start":{"line":43,"column":40},"end":{"line":43,"column":137}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":60},"end":{"line":43,"column":61}},"loc":{"start":{"line":43,"column":79},"end":{"line":43,"column":113}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":29},"end":{"line":46,"column":30}},"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":140}},"line":46},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":62},"end":{"line":46,"column":63}},"loc":{"start":{"line":46,"column":81},"end":{"line":46,"column":115}},"line":46},"7":{"name":"(anonymous_7)","decl":{"start":{"line":48,"column":41},"end":{"line":48,"column":42}},"loc":{"start":{"line":48,"column":52},"end":{"line":48,"column":87}},"line":48},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":47},"end":{"line":51,"column":48}},"loc":{"start":{"line":52,"column":4},"end":{"line":70,"column":10}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":55,"column":7},"end":{"line":55,"column":8}},"loc":{"start":{"line":55,"column":22},"end":{"line":70,"column":5}},"line":55},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":61},"end":{"line":58,"column":62}},"loc":{"start":{"line":58,"column":68},"end":{"line":58,"column":90}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":73,"column":41},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":47},"end":{"line":82,"column":3}},"line":73},"12":{"name":"(anonymous_12)","decl":{"start":{"line":75,"column":14},"end":{"line":75,"column":15}},"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":85}},"line":75},"13":{"name":"(anonymous_13)","decl":{"start":{"line":76,"column":11},"end":{"line":76,"column":12}},"loc":{"start":{"line":76,"column":19},"end":{"line":76,"column":55}},"line":76},"14":{"name":"(anonymous_14)","decl":{"start":{"line":84,"column":44},"end":{"line":84,"column":45}},"loc":{"start":{"line":84,"column":50},"end":{"line":90,"column":3}},"line":84},"15":{"name":"(anonymous_15)","decl":{"start":{"line":88,"column":38},"end":{"line":88,"column":39}},"loc":{"start":{"line":88,"column":45},"end":{"line":88,"column":71}},"line":88},"16":{"name":"(anonymous_16)","decl":{"start":{"line":92,"column":44},"end":{"line":92,"column":45}},"loc":{"start":{"line":92,"column":50},"end":{"line":94,"column":3}},"line":92},"17":{"name":"(anonymous_17)","decl":{"start":{"line":96,"column":42},"end":{"line":96,"column":43}},"loc":{"start":{"line":96,"column":48},"end":{"line":98,"column":3}},"line":96},"18":{"name":"(anonymous_18)","decl":{"start":{"line":100,"column":48},"end":{"line":100,"column":49}},"loc":{"start":{"line":100,"column":54},"end":{"line":102,"column":3}},"line":100},"19":{"name":"(anonymous_19)","decl":{"start":{"line":104,"column":48},"end":{"line":104,"column":49}},"loc":{"start":{"line":104,"column":54},"end":{"line":106,"column":3}},"line":104},"20":{"name":"(anonymous_20)","decl":{"start":{"line":152,"column":56},"end":{"line":152,"column":57}},"loc":{"start":{"line":152,"column":67},"end":{"line":152,"column":204}},"line":152}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":43,"column":40},"end":{"line":43,"column":137}},"type":"binary-expr","locations":[{"start":{"line":43,"column":40},"end":{"line":43,"column":114}},{"start":{"line":43,"column":118},"end":{"line":43,"column":137}}],"line":43},"2":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":140}},"type":"binary-expr","locations":[{"start":{"line":46,"column":41},"end":{"line":46,"column":116}},{"start":{"line":46,"column":120},"end":{"line":46,"column":140}}],"line":46},"4":{"loc":{"start":{"line":48,"column":11},"end":{"line":48,"column":97}},"type":"cond-expr","locations":[{"start":{"line":48,"column":27},"end":{"line":48,"column":88}},{"start":{"line":48,"column":91},"end":{"line":48,"column":97}}],"line":48},"5":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":60}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":60}},{"start":{},"end":{}}],"line":56},"6":{"loc":{"start":{"line":57,"column":6},"end":{"line":67,"column":7}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":67,"column":7}},{"start":{"line":65,"column":13},"end":{"line":67,"column":7}}],"line":57},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":64,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":64,"column":9}},{"start":{"line":62,"column":15},"end":{"line":64,"column":9}}],"line":60},"8":{"loc":{"start":{"line":86,"column":6},"end":{"line":88,"column":72}},"type":"cond-expr","locations":[{"start":{"line":87,"column":10},"end":{"line":87,"column":12}},{"start":{"line":88,"column":10},"end":{"line":88,"column":72}}],"line":86},"9":{"loc":{"start":{"line":110,"column":7},"end":{"line":143,"column":7}},"type":"binary-expr","locations":[{"start":{"line":110,"column":7},"end":{"line":110,"column":41}},{"start":{"line":111,"column":8},"end":{"line":142,"column":14}}],"line":110},"10":{"loc":{"start":{"line":150,"column":9},"end":{"line":162,"column":9}},"type":"cond-expr","locations":[{"start":{"line":151,"column":10},"end":{"line":153,"column":16}},{"start":{"line":155,"column":10},"end":{"line":161,"column":18}}],"line":150},"11":{"loc":{"start":{"line":156,"column":31},"end":{"line":156,"column":102}},"type":"cond-expr","locations":[{"start":{"line":156,"column":60},"end":{"line":156,"column":78}},{"start":{"line":156,"column":81},"end":{"line":156,"column":102}}],"line":156},"12":{"loc":{"start":{"line":156,"column":117},"end":{"line":156,"column":188}},"type":"cond-expr","locations":[{"start":{"line":156,"column":146},"end":{"line":156,"column":169}},{"start":{"line":156,"column":172},"end":{"line":156,"column":188}}],"line":156},"13":{"loc":{"start":{"line":158,"column":13},"end":{"line":160,"column":13}},"type":"binary-expr","locations":[{"start":{"line":158,"column":13},"end":{"line":158,"column":47}},{"start":{"line":159,"column":14},"end":{"line":159,"column":93}}],"line":158},"14":{"loc":{"start":{"line":164,"column":7},"end":{"line":169,"column":7}},"type":"binary-expr","locations":[{"start":{"line":164,"column":7},"end":{"line":164,"column":28}},{"start":{"line":165,"column":8},"end":{"line":168,"column":10}}],"line":164}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorResolvedToken.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorResolvedToken.tsx","statementMap":{"0":{"start":{"line":22,"column":16},"end":{"line":22,"column":43}},"1":{"start":{"line":24,"column":2},"end":{"line":43,"column":3}},"2":{"start":{"line":25,"column":4},"end":{"line":42,"column":6}},"3":{"start":{"line":44,"column":2},"end":{"line":167,"column":3}},"4":{"start":{"line":46,"column":6},"end":{"line":58,"column":8}},"5":{"start":{"line":61,"column":6},"end":{"line":73,"column":8}},"6":{"start":{"line":77,"column":6},"end":{"line":89,"column":8}},"7":{"start":{"line":92,"column":42},"end":{"line":92,"column":59}},"8":{"start":{"line":93,"column":6},"end":{"line":99,"column":7}},"9":{"start":{"line":94,"column":8},"end":{"line":98,"column":10}},"10":{"start":{"line":101,"column":6},"end":{"line":115,"column":8}},"11":{"start":{"line":119,"column":6},"end":{"line":131,"column":8}},"12":{"start":{"line":135,"column":6},"end":{"line":147,"column":8}},"13":{"start":{"line":151,"column":6},"end":{"line":165,"column":8}}},"fnMap":{"0":{"name":"InspectorResolvedToken","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":46}},"loc":{"start":{"line":21,"column":76},"end":{"line":168,"column":1}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":43,"column":3}},{"start":{},"end":{}}],"line":24},"1":{"loc":{"start":{"line":44,"column":2},"end":{"line":167,"column":3}},"type":"switch","locations":[{"start":{"line":45,"column":4},"end":{"line":59,"column":5}},{"start":{"line":60,"column":4},"end":{"line":74,"column":5}},{"start":{"line":76,"column":4},"end":{"line":90,"column":5}},{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},{"start":{"line":118,"column":4},"end":{"line":132,"column":5}},{"start":{"line":134,"column":4},"end":{"line":148,"column":5}},{"start":{"line":150,"column":4},"end":{"line":166,"column":5}}],"line":44},"2":{"loc":{"start":{"line":93,"column":6},"end":{"line":99,"column":7}},"type":"if","locations":[{"start":{"line":93,"column":6},"end":{"line":99,"column":7}},{"start":{},"end":{}}],"line":93}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenGroup.tsx","statementMap":{"0":{"start":{"line":10,"column":33},"end":{"line":10,"column":38}},"1":{"start":{"line":12,"column":2},"end":{"line":25,"column":4}},"2":{"start":{"line":23,"column":39},"end":{"line":23,"column":168}}},"fnMap":{"0":{"name":"InspectorTokenGroup","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":43}},"loc":{"start":{"line":9,"column":145},"end":{"line":26,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":22},"end":{"line":23,"column":23}},"loc":{"start":{"line":23,"column":39},"end":{"line":23,"column":168}},"line":23}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenSingle.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenSingle.tsx","statementMap":{"0":{"start":{"line":33,"column":41},"end":{"line":33,"column":52}},"1":{"start":{"line":34,"column":19},"end":{"line":34,"column":53}},"2":{"start":{"line":35,"column":23},"end":{"line":35,"column":70}},"3":{"start":{"line":36,"column":19},"end":{"line":36,"column":42}},"4":{"start":{"line":37,"column":42},"end":{"line":37,"column":77}},"5":{"start":{"line":38,"column":38},"end":{"line":38,"column":68}},"6":{"start":{"line":39,"column":34},"end":{"line":39,"column":64}},"7":{"start":{"line":40,"column":42},"end":{"line":40,"column":72}},"8":{"start":{"line":41,"column":24},"end":{"line":41,"column":55}},"9":{"start":{"line":43,"column":16},"end":{"line":43,"column":43}},"10":{"start":{"line":45,"column":25},"end":{"line":60,"column":54}},"11":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"12":{"start":{"line":47,"column":6},"end":{"line":47,"column":79}},"13":{"start":{"line":49,"column":26},"end":{"line":49,"column":68}},"14":{"start":{"line":50,"column":4},"end":{"line":58,"column":5}},"15":{"start":{"line":51,"column":6},"end":{"line":55,"column":7}},"16":{"start":{"line":52,"column":8},"end":{"line":54,"column":10}},"17":{"start":{"line":57,"column":6},"end":{"line":57,"column":96}},"18":{"start":{"line":59,"column":4},"end":{"line":59,"column":16}},"19":{"start":{"line":62,"column":2},"end":{"line":65,"column":43}},"20":{"start":{"line":63,"column":4},"end":{"line":63,"column":89}},"21":{"start":{"line":64,"column":4},"end":{"line":64,"column":131}},"22":{"start":{"line":64,"column":48},"end":{"line":64,"column":82}},"23":{"start":{"line":64,"column":109},"end":{"line":64,"column":131}},"24":{"start":{"line":67,"column":2},"end":{"line":69,"column":23}},"25":{"start":{"line":68,"column":4},"end":{"line":68,"column":50}},"26":{"start":{"line":71,"column":37},"end":{"line":73,"column":8}},"27":{"start":{"line":72,"column":4},"end":{"line":72,"column":57}},"28":{"start":{"line":75,"column":23},"end":{"line":77,"column":8}},"29":{"start":{"line":76,"column":4},"end":{"line":76,"column":27}},"30":{"start":{"line":79,"column":20},"end":{"line":82,"column":56}},"31":{"start":{"line":80,"column":4},"end":{"line":80,"column":75}},"32":{"start":{"line":81,"column":4},"end":{"line":81,"column":25}},"33":{"start":{"line":84,"column":22},"end":{"line":86,"column":8}},"34":{"start":{"line":85,"column":4},"end":{"line":85,"column":24}},"35":{"start":{"line":88,"column":19},"end":{"line":90,"column":8}},"36":{"start":{"line":89,"column":4},"end":{"line":89,"column":25}},"37":{"start":{"line":92,"column":27},"end":{"line":94,"column":36}},"38":{"start":{"line":93,"column":4},"end":{"line":93,"column":83}},"39":{"start":{"line":96,"column":2},"end":{"line":189,"column":4}}},"fnMap":{"0":{"name":"InspectorTokenSingle","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":44}},"loc":{"start":{"line":31,"column":3},"end":{"line":190,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":39},"end":{"line":45,"column":40}},"loc":{"start":{"line":45,"column":45},"end":{"line":60,"column":3}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":62,"column":18},"end":{"line":62,"column":19}},"loc":{"start":{"line":62,"column":24},"end":{"line":65,"column":3}},"line":62},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":29},"end":{"line":64,"column":30}},"loc":{"start":{"line":64,"column":48},"end":{"line":64,"column":82}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":67,"column":18},"end":{"line":67,"column":19}},"loc":{"start":{"line":67,"column":24},"end":{"line":69,"column":3}},"line":67},"5":{"name":"(anonymous_5)","decl":{"start":{"line":71,"column":55},"end":{"line":71,"column":56}},"loc":{"start":{"line":71,"column":82},"end":{"line":73,"column":3}},"line":71},"6":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":41},"end":{"line":75,"column":42}},"loc":{"start":{"line":75,"column":78},"end":{"line":77,"column":3}},"line":75},"7":{"name":"(anonymous_7)","decl":{"start":{"line":79,"column":38},"end":{"line":79,"column":39}},"loc":{"start":{"line":79,"column":44},"end":{"line":82,"column":3}},"line":79},"8":{"name":"(anonymous_8)","decl":{"start":{"line":84,"column":40},"end":{"line":84,"column":41}},"loc":{"start":{"line":84,"column":46},"end":{"line":86,"column":3}},"line":84},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":37},"end":{"line":88,"column":38}},"loc":{"start":{"line":88,"column":43},"end":{"line":90,"column":3}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":92,"column":45},"end":{"line":92,"column":46}},"loc":{"start":{"line":92,"column":51},"end":{"line":94,"column":3}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":46},"1":{"loc":{"start":{"line":50,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":50},"2":{"loc":{"start":{"line":51,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":55,"column":7}},{"start":{},"end":{}}],"line":51},"3":{"loc":{"start":{"line":64,"column":4},"end":{"line":64,"column":131}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":64,"column":131}},{"start":{},"end":{}}],"line":64},"4":{"loc":{"start":{"line":64,"column":8},"end":{"line":64,"column":107}},"type":"binary-expr","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":83}},{"start":{"line":64,"column":87},"end":{"line":64,"column":107}}],"line":64},"5":{"loc":{"start":{"line":123,"column":10},"end":{"line":123,"column":117}},"type":"binary-expr","locations":[{"start":{"line":123,"column":11},"end":{"line":123,"column":33}},{"start":{"line":123,"column":37},"end":{"line":123,"column":69}},{"start":{"line":123,"column":74},"end":{"line":123,"column":117}}],"line":123},"6":{"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":96}},"type":"binary-expr","locations":[{"start":{"line":126,"column":10},"end":{"line":126,"column":22}},{"start":{"line":126,"column":26},"end":{"line":126,"column":48}},{"start":{"line":126,"column":52},"end":{"line":126,"column":96}}],"line":126},"7":{"loc":{"start":{"line":128,"column":9},"end":{"line":130,"column":9}},"type":"binary-expr","locations":[{"start":{"line":128,"column":10},"end":{"line":128,"column":24}},{"start":{"line":128,"column":28},"end":{"line":128,"column":59}},{"start":{"line":128,"column":63},"end":{"line":128,"column":93}},{"start":{"line":129,"column":10},"end":{"line":129,"column":59}}],"line":128},"8":{"loc":{"start":{"line":139,"column":11},"end":{"line":139,"column":111}},"type":"binary-expr","locations":[{"start":{"line":139,"column":11},"end":{"line":139,"column":43}},{"start":{"line":139,"column":47},"end":{"line":139,"column":111}}],"line":139},"9":{"loc":{"start":{"line":140,"column":11},"end":{"line":140,"column":102}},"type":"binary-expr","locations":[{"start":{"line":140,"column":11},"end":{"line":140,"column":40}},{"start":{"line":140,"column":44},"end":{"line":140,"column":102}}],"line":140},"10":{"loc":{"start":{"line":143,"column":12},"end":{"line":152,"column":13}},"type":"binary-expr","locations":[{"start":{"line":143,"column":12},"end":{"line":143,"column":32}},{"start":{"line":144,"column":12},"end":{"line":151,"column":14}}],"line":143},"11":{"loc":{"start":{"line":156,"column":10},"end":{"line":184,"column":11}},"type":"binary-expr","locations":[{"start":{"line":156,"column":10},"end":{"line":156,"column":20}},{"start":{"line":157,"column":12},"end":{"line":183,"column":20}}],"line":156},"12":{"loc":{"start":{"line":157,"column":78},"end":{"line":157,"column":113}},"type":"binary-expr","locations":[{"start":{"line":157,"column":78},"end":{"line":157,"column":98}},{"start":{"line":157,"column":102},"end":{"line":157,"column":113}}],"line":157}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0,0],"7":[0,0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/JSONEditor.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/JSONEditor.tsx","statementMap":{"0":{"start":{"line":20,"column":25},"end":{"line":20,"column":60}},"1":{"start":{"line":21,"column":33},"end":{"line":21,"column":76}},"2":{"start":{"line":22,"column":28},"end":{"line":22,"column":66}},"3":{"start":{"line":23,"column":33},"end":{"line":23,"column":88}},"4":{"start":{"line":25,"column":31},"end":{"line":25,"column":42}},"5":{"start":{"line":26,"column":26},"end":{"line":26,"column":41}},"6":{"start":{"line":27,"column":17},"end":{"line":27,"column":28}},"7":{"start":{"line":29,"column":2},"end":{"line":35,"column":5}},"8":{"start":{"line":37,"column":31},"end":{"line":39,"column":20}},"9":{"start":{"line":38,"column":4},"end":{"line":38,"column":30}},"10":{"start":{"line":41,"column":29},"end":{"line":45,"column":38}},"11":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":37}},"13":{"start":{"line":47,"column":2},"end":{"line":47,"column":44}},"14":{"start":{"line":49,"column":2},"end":{"line":76,"column":4}}},"fnMap":{"0":{"name":"JSONEditor","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":19}},"loc":{"start":{"line":19,"column":10},"end":{"line":77,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":49},"end":{"line":37,"column":50}},"loc":{"start":{"line":37,"column":80},"end":{"line":39,"column":3}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":41,"column":47},"end":{"line":41,"column":48}},"loc":{"start":{"line":41,"column":73},"end":{"line":45,"column":3}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":17},"end":{"line":38,"column":28}},"type":"binary-expr","locations":[{"start":{"line":38,"column":17},"end":{"line":38,"column":22}},{"start":{"line":38,"column":26},"end":{"line":38,"column":28}}],"line":38},"1":{"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":38}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":21}},{"start":{"line":42,"column":25},"end":{"line":42,"column":38}}],"line":42},"3":{"loc":{"start":{"line":63,"column":15},"end":{"line":63,"column":51}},"type":"cond-expr","locations":[{"start":{"line":63,"column":29},"end":{"line":63,"column":38}},{"start":{"line":63,"column":41},"end":{"line":63,"column":51}}],"line":63},"4":{"loc":{"start":{"line":72,"column":20},"end":{"line":72,"column":86}},"type":"binary-expr","locations":[{"start":{"line":72,"column":20},"end":{"line":72,"column":34}},{"start":{"line":72,"column":38},"end":{"line":72,"column":60}},{"start":{"line":72,"column":64},"end":{"line":72,"column":86}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Label.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Label.tsx","statementMap":{"0":{"start":{"line":16,"column":22},"end":{"line":30,"column":4}},"1":{"start":{"line":32,"column":2},"end":{"line":36,"column":4}}},"fnMap":{"0":{"name":"Label","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":29}},"loc":{"start":{"line":15,"column":3},"end":{"line":37,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":18}},"type":"default-arg","locations":[{"start":{"line":8,"column":13},"end":{"line":8,"column":18}}],"line":8}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Link.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Link.tsx","statementMap":{"0":{"start":{"line":4,"column":19},"end":{"line":10,"column":2}},"1":{"start":{"line":18,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"Link","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":28}},"loc":{"start":{"line":17,"column":56},"end":{"line":21,"column":1}},"line":17}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LoadingBar.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LoadingBar.tsx","statementMap":{"0":{"start":{"line":14,"column":35},"end":{"line":29,"column":1}},"1":{"start":{"line":32,"column":25},"end":{"line":32,"column":60}},"2":{"start":{"line":33,"column":21},"end":{"line":33,"column":52}},"3":{"start":{"line":35,"column":26},"end":{"line":35,"column":109}},"4":{"start":{"line":35,"column":46},"end":{"line":35,"column":90}},"5":{"start":{"line":35,"column":75},"end":{"line":35,"column":89}},"6":{"start":{"line":36,"column":27},"end":{"line":40,"column":26}},"7":{"start":{"line":36,"column":47},"end":{"line":40,"column":7}},"8":{"start":{"line":37,"column":4},"end":{"line":39,"column":10}},"9":{"start":{"line":41,"column":36},"end":{"line":43,"column":24}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":39}},"11":{"start":{"line":44,"column":21},"end":{"line":49,"column":3}},"12":{"start":{"line":50,"column":25},"end":{"line":52,"column":26}},"13":{"start":{"line":50,"column":45},"end":{"line":52,"column":7}},"14":{"start":{"line":51,"column":4},"end":{"line":51,"column":37}},"15":{"start":{"line":53,"column":21},"end":{"line":55,"column":26}},"16":{"start":{"line":53,"column":41},"end":{"line":55,"column":7}},"17":{"start":{"line":54,"column":4},"end":{"line":54,"column":33}},"18":{"start":{"line":57,"column":23},"end":{"line":61,"column":8}},"19":{"start":{"line":58,"column":4},"end":{"line":60,"column":7}},"20":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"21":{"start":{"line":64,"column":4},"end":{"line":64,"column":16}},"22":{"start":{"line":67,"column":18},"end":{"line":67,"column":101}},"23":{"start":{"line":69,"column":2},"end":{"line":100,"column":4}}},"fnMap":{"0":{"name":"LoadingBar","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":34}},"loc":{"start":{"line":31,"column":37},"end":{"line":101,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":40},"end":{"line":35,"column":41}},"loc":{"start":{"line":35,"column":46},"end":{"line":35,"column":90}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":66},"end":{"line":35,"column":67}},"loc":{"start":{"line":35,"column":75},"end":{"line":35,"column":89}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":41},"end":{"line":36,"column":42}},"loc":{"start":{"line":36,"column":47},"end":{"line":40,"column":7}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":69},"end":{"line":36,"column":70}},"loc":{"start":{"line":37,"column":4},"end":{"line":39,"column":10}},"line":37},"5":{"name":"(anonymous_5)","decl":{"start":{"line":41,"column":50},"end":{"line":41,"column":51}},"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":39}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":39},"end":{"line":50,"column":40}},"loc":{"start":{"line":50,"column":45},"end":{"line":52,"column":7}},"line":50},"7":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":67},"end":{"line":50,"column":68}},"loc":{"start":{"line":51,"column":4},"end":{"line":51,"column":37}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":35},"end":{"line":53,"column":36}},"loc":{"start":{"line":53,"column":41},"end":{"line":55,"column":7}},"line":53},"9":{"name":"(anonymous_9)","decl":{"start":{"line":53,"column":63},"end":{"line":53,"column":64}},"loc":{"start":{"line":54,"column":4},"end":{"line":54,"column":33}},"line":54},"10":{"name":"(anonymous_10)","decl":{"start":{"line":57,"column":41},"end":{"line":57,"column":42}},"loc":{"start":{"line":57,"column":47},"end":{"line":61,"column":3}},"line":57}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":12},"end":{"line":39,"column":9}},"type":"cond-expr","locations":[{"start":{"line":38,"column":6},"end":{"line":38,"column":75}},{"start":{"line":39,"column":8},"end":{"line":39,"column":9}}],"line":37},"1":{"loc":{"start":{"line":38,"column":25},"end":{"line":38,"column":48}},"type":"binary-expr","locations":[{"start":{"line":38,"column":25},"end":{"line":38,"column":43}},{"start":{"line":38,"column":47},"end":{"line":38,"column":48}}],"line":38},"2":{"loc":{"start":{"line":38,"column":54},"end":{"line":38,"column":74}},"type":"binary-expr","locations":[{"start":{"line":38,"column":54},"end":{"line":38,"column":69}},{"start":{"line":38,"column":73},"end":{"line":38,"column":74}}],"line":38},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":47,"column":25}},"type":"binary-expr","locations":[{"start":{"line":46,"column":7},"end":{"line":46,"column":29}},{"start":{"line":46,"column":33},"end":{"line":46,"column":55}},{"start":{"line":47,"column":9},"end":{"line":47,"column":25}}],"line":46},"4":{"loc":{"start":{"line":51,"column":13},"end":{"line":51,"column":36}},"type":"binary-expr","locations":[{"start":{"line":51,"column":13},"end":{"line":51,"column":31}},{"start":{"line":51,"column":35},"end":{"line":51,"column":36}}],"line":51},"5":{"loc":{"start":{"line":54,"column":13},"end":{"line":54,"column":32}},"type":"binary-expr","locations":[{"start":{"line":54,"column":13},"end":{"line":54,"column":27}},{"start":{"line":54,"column":31},"end":{"line":54,"column":32}}],"line":54},"6":{"loc":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},{"start":{},"end":{}}],"line":63},"7":{"loc":{"start":{"line":67,"column":43},"end":{"line":67,"column":96}},"type":"binary-expr","locations":[{"start":{"line":67,"column":43},"end":{"line":67,"column":90}},{"start":{"line":67,"column":94},"end":{"line":67,"column":96}}],"line":67},"8":{"loc":{"start":{"line":76,"column":27},"end":{"line":76,"column":75}},"type":"cond-expr","locations":[{"start":{"line":76,"column":54},"end":{"line":76,"column":65}},{"start":{"line":76,"column":68},"end":{"line":76,"column":75}}],"line":76},"9":{"loc":{"start":{"line":80,"column":9},"end":{"line":97,"column":9}},"type":"binary-expr","locations":[{"start":{"line":80,"column":9},"end":{"line":80,"column":33}},{"start":{"line":81,"column":10},"end":{"line":96,"column":18}}],"line":80},"10":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":48}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":22}},{"start":{"line":83,"column":26},"end":{"line":83,"column":48}}],"line":83},"11":{"loc":{"start":{"line":84,"column":15},"end":{"line":86,"column":15}},"type":"binary-expr","locations":[{"start":{"line":84,"column":15},"end":{"line":84,"column":33}},{"start":{"line":84,"column":37},"end":{"line":84,"column":51}},{"start":{"line":85,"column":16},"end":{"line":85,"column":78}}],"line":84},"12":{"loc":{"start":{"line":90,"column":17},"end":{"line":92,"column":17}},"type":"binary-expr","locations":[{"start":{"line":90,"column":17},"end":{"line":90,"column":47}},{"start":{"line":91,"column":18},"end":{"line":91,"column":49}}],"line":90}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LocalStorageItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LocalStorageItem.tsx","statementMap":{"0":{"start":{"line":17,"column":25},"end":{"line":92,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":43}},"2":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"3":{"start":{"line":20,"column":22},"end":{"line":20,"column":54}},"4":{"start":{"line":21,"column":22},"end":{"line":21,"column":34}},"5":{"start":{"line":22,"column":29},"end":{"line":22,"column":41}},"6":{"start":{"line":24,"column":35},"end":{"line":32,"column":61}},"7":{"start":{"line":25,"column":4},"end":{"line":25,"column":79}},"8":{"start":{"line":27,"column":4},"end":{"line":30,"column":7}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":49}},"10":{"start":{"line":34,"column":32},"end":{"line":45,"column":67}},"11":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"12":{"start":{"line":36,"column":28},"end":{"line":39,"column":8}},"13":{"start":{"line":40,"column":6},"end":{"line":42,"column":7}},"14":{"start":{"line":41,"column":8},"end":{"line":41,"column":35}},"15":{"start":{"line":44,"column":4},"end":{"line":44,"column":16}},"16":{"start":{"line":47,"column":19},"end":{"line":47,"column":69}},"17":{"start":{"line":49,"column":2},"end":{"line":91,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":25},"end":{"line":17,"column":26}},"loc":{"start":{"line":17,"column":31},"end":{"line":92,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":53},"end":{"line":24,"column":54}},"loc":{"start":{"line":24,"column":59},"end":{"line":32,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":50},"end":{"line":34,"column":51}},"loc":{"start":{"line":34,"column":62},"end":{"line":45,"column":3}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":40,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":40,"column":6},"end":{"line":42,"column":7}},{"start":{},"end":{}}],"line":40},"2":{"loc":{"start":{"line":77,"column":9},"end":{"line":88,"column":9}},"type":"cond-expr","locations":[{"start":{"line":78,"column":10},"end":{"line":78,"column":39}},{"start":{"line":80,"column":10},"end":{"line":87,"column":19}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectCheckboxItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectCheckboxItem.tsx","statementMap":{"0":{"start":{"line":12,"column":121},"end":{"line":37,"column":1}},"1":{"start":{"line":17,"column":23},"end":{"line":19,"column":28}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":25}},"3":{"start":{"line":21,"column":2},"end":{"line":36,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":121},"end":{"line":12,"column":122}},"loc":{"start":{"line":16,"column":6},"end":{"line":37,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":41},"end":{"line":17,"column":42}},"loc":{"start":{"line":17,"column":47},"end":{"line":19,"column":3}},"line":17}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectDropdown.tsx","statementMap":{"0":{"start":{"line":13,"column":117},"end":{"line":47,"column":1}},"1":{"start":{"line":18,"column":15},"end":{"line":18,"column":27}},"2":{"start":{"line":19,"column":30},"end":{"line":19,"column":91}},"3":{"start":{"line":19,"column":50},"end":{"line":19,"column":73}},"4":{"start":{"line":21,"column":29},"end":{"line":29,"column":47}},"5":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"6":{"start":{"line":23,"column":31},"end":{"line":23,"column":84}},"7":{"start":{"line":23,"column":62},"end":{"line":23,"column":83}},"8":{"start":{"line":24,"column":6},"end":{"line":24,"column":49}},"9":{"start":{"line":26,"column":31},"end":{"line":26,"column":63}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":49}},"11":{"start":{"line":31,"column":2},"end":{"line":46,"column":4}},"12":{"start":{"line":41,"column":45},"end":{"line":41,"column":208}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":117},"end":{"line":13,"column":118}},"loc":{"start":{"line":17,"column":6},"end":{"line":47,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":44},"end":{"line":19,"column":45}},"loc":{"start":{"line":19,"column":50},"end":{"line":19,"column":73}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":47},"end":{"line":21,"column":48}},"loc":{"start":{"line":21,"column":73},"end":{"line":29,"column":3}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":52},"end":{"line":23,"column":53}},"loc":{"start":{"line":23,"column":62},"end":{"line":23,"column":83}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":24},"end":{"line":41,"column":25}},"loc":{"start":{"line":41,"column":45},"end":{"line":41,"column":208}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},{"start":{"line":25,"column":11},"end":{"line":28,"column":5}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Navbar.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Navbar.tsx","statementMap":{"0":{"start":{"line":23,"column":84},"end":{"line":79,"column":1}},"1":{"start":{"line":24,"column":19},"end":{"line":24,"column":28}},"2":{"start":{"line":25,"column":20},"end":{"line":25,"column":50}},"3":{"start":{"line":26,"column":19},"end":{"line":26,"column":42}},"4":{"start":{"line":27,"column":27},"end":{"line":27,"column":46}},"5":{"start":{"line":28,"column":16},"end":{"line":28,"column":42}},"6":{"start":{"line":29,"column":22},"end":{"line":29,"column":53}},"7":{"start":{"line":30,"column":26},"end":{"line":30,"column":62}},"8":{"start":{"line":31,"column":32},"end":{"line":31,"column":65}},"9":{"start":{"line":33,"column":23},"end":{"line":38,"column":3}},"10":{"start":{"line":35,"column":6},"end":{"line":35,"column":41}},"11":{"start":{"line":40,"column":27},"end":{"line":44,"column":35}},"12":{"start":{"line":41,"column":4},"end":{"line":41,"column":69}},"13":{"start":{"line":41,"column":39},"end":{"line":41,"column":69}},"14":{"start":{"line":42,"column":4},"end":{"line":42,"column":80}},"15":{"start":{"line":42,"column":49},"end":{"line":42,"column":80}},"16":{"start":{"line":43,"column":4},"end":{"line":43,"column":45}},"17":{"start":{"line":46,"column":31},"end":{"line":48,"column":24}},"18":{"start":{"line":47,"column":4},"end":{"line":47,"column":53}},"19":{"start":{"line":50,"column":2},"end":{"line":78,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":84},"end":{"line":23,"column":85}},"loc":{"start":{"line":23,"column":90},"end":{"line":79,"column":1}},"line":23},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":19},"end":{"line":36,"column":5}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":35},"end":{"line":40,"column":36}},"loc":{"start":{"line":40,"column":41},"end":{"line":44,"column":3}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":43},"end":{"line":46,"column":44}},"loc":{"start":{"line":46,"column":49},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":4},"end":{"line":41,"column":69}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":41,"column":69}},{"start":{},"end":{}}],"line":41},"1":{"loc":{"start":{"line":41,"column":8},"end":{"line":41,"column":37}},"type":"binary-expr","locations":[{"start":{"line":41,"column":8},"end":{"line":41,"column":12}},{"start":{"line":41,"column":16},"end":{"line":41,"column":37}}],"line":41},"2":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":80}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":80}},{"start":{},"end":{}}],"line":42},"3":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":47}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":12}},{"start":{"line":42,"column":16},"end":{"line":42,"column":47}}],"line":42},"4":{"loc":{"start":{"line":73,"column":10},"end":{"line":73,"column":173}},"type":"binary-expr","locations":[{"start":{"line":73,"column":11},"end":{"line":73,"column":22}},{"start":{"line":73,"column":26},"end":{"line":73,"column":42}},{"start":{"line":73,"column":47},"end":{"line":73,"column":173}}],"line":73}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingExplainer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingExplainer.tsx","statementMap":{"0":{"start":{"line":9,"column":29},"end":{"line":11,"column":2}},"1":{"start":{"line":13,"column":23},"end":{"line":17,"column":2}},"2":{"start":{"line":29,"column":16},"end":{"line":29,"column":43}},"3":{"start":{"line":30,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"OnboardingExplainer","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":43}},"loc":{"start":{"line":28,"column":78},"end":{"line":52,"column":1}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":14},"end":{"line":35,"column":5}},"type":"cond-expr","locations":[{"start":{"line":31,"column":38},"end":{"line":33,"column":5}},{"start":{"line":33,"column":8},"end":{"line":35,"column":5}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingFlow.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingFlow.tsx","statementMap":{"0":{"start":{"line":12,"column":19},"end":{"line":16,"column":2}},"1":{"start":{"line":18,"column":20},"end":{"line":21,"column":2}},"2":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"3":{"start":{"line":26,"column":6},"end":{"line":26,"column":56}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":56}},"5":{"start":{"line":30,"column":6},"end":{"line":30,"column":56}},"6":{"start":{"line":32,"column":6},"end":{"line":32,"column":56}},"7":{"start":{"line":34,"column":6},"end":{"line":34,"column":56}},"8":{"start":{"line":36,"column":6},"end":{"line":36,"column":16}},"9":{"start":{"line":41,"column":16},"end":{"line":41,"column":46}},"10":{"start":{"line":42,"column":25},"end":{"line":67,"column":3}},"11":{"start":{"line":69,"column":54},"end":{"line":69,"column":74}},"12":{"start":{"line":70,"column":34},"end":{"line":70,"column":51}},"13":{"start":{"line":72,"column":21},"end":{"line":72,"column":47}},"14":{"start":{"line":74,"column":21},"end":{"line":76,"column":19}},"15":{"start":{"line":75,"column":4},"end":{"line":75,"column":30}},"16":{"start":{"line":78,"column":21},"end":{"line":80,"column":19}},"17":{"start":{"line":79,"column":4},"end":{"line":79,"column":30}},"18":{"start":{"line":82,"column":22},"end":{"line":84,"column":8}},"19":{"start":{"line":83,"column":4},"end":{"line":83,"column":33}},"20":{"start":{"line":86,"column":2},"end":{"line":130,"column":4}},"21":{"start":{"line":90,"column":10},"end":{"line":110,"column":18}}},"fnMap":{"0":{"name":"fetchOnboardingImage","decl":{"start":{"line":23,"column":9},"end":{"line":23,"column":29}},"loc":{"start":{"line":23,"column":43},"end":{"line":38,"column":1}},"line":23},"1":{"name":"OnboardingFlow","decl":{"start":{"line":40,"column":24},"end":{"line":40,"column":38}},"loc":{"start":{"line":40,"column":41},"end":{"line":131,"column":1}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":74,"column":39},"end":{"line":74,"column":40}},"loc":{"start":{"line":74,"column":45},"end":{"line":76,"column":3}},"line":74},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":39},"end":{"line":78,"column":40}},"loc":{"start":{"line":78,"column":45},"end":{"line":80,"column":3}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":82,"column":40},"end":{"line":82,"column":41}},"loc":{"start":{"line":82,"column":46},"end":{"line":84,"column":3}},"line":82},"5":{"name":"(anonymous_5)","decl":{"start":{"line":89,"column":28},"end":{"line":89,"column":29}},"loc":{"start":{"line":90,"column":10},"end":{"line":110,"column":18}},"line":90}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"type":"switch","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":56}},{"start":{"line":27,"column":4},"end":{"line":28,"column":56}},{"start":{"line":29,"column":4},"end":{"line":30,"column":56}},{"start":{"line":31,"column":4},"end":{"line":32,"column":56}},{"start":{"line":33,"column":4},"end":{"line":34,"column":56}},{"start":{"line":35,"column":4},"end":{"line":36,"column":16}}],"line":24},"1":{"loc":{"start":{"line":87,"column":29},"end":{"line":87,"column":67}},"type":"binary-expr","locations":[{"start":{"line":87,"column":29},"end":{"line":87,"column":45}},{"start":{"line":87,"column":49},"end":{"line":87,"column":67}}],"line":87},"2":{"loc":{"start":{"line":96,"column":47},"end":{"line":96,"column":86}},"type":"cond-expr","locations":[{"start":{"line":96,"column":71},"end":{"line":96,"column":77}},{"start":{"line":96,"column":80},"end":{"line":96,"column":86}}],"line":96},"3":{"loc":{"start":{"line":101,"column":13},"end":{"line":109,"column":13}},"type":"binary-expr","locations":[{"start":{"line":101,"column":13},"end":{"line":101,"column":32}},{"start":{"line":102,"column":14},"end":{"line":108,"column":27}}],"line":101},"4":{"loc":{"start":{"line":112,"column":48},"end":{"line":112,"column":83}},"type":"cond-expr","locations":[{"start":{"line":112,"column":66},"end":{"line":112,"column":75}},{"start":{"line":112,"column":78},"end":{"line":112,"column":83}}],"line":112},"5":{"loc":{"start":{"line":113,"column":11},"end":{"line":117,"column":11}},"type":"binary-expr","locations":[{"start":{"line":113,"column":11},"end":{"line":113,"column":26}},{"start":{"line":114,"column":12},"end":{"line":116,"column":21}}],"line":113},"6":{"loc":{"start":{"line":118,"column":11},"end":{"line":126,"column":11}},"type":"cond-expr","locations":[{"start":{"line":119,"column":12},"end":{"line":121,"column":21}},{"start":{"line":123,"column":12},"end":{"line":125,"column":21}}],"line":118}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PluginResizer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PluginResizer.tsx","statementMap":{"0":{"start":{"line":11,"column":96},"end":{"line":21,"column":1}},"1":{"start":{"line":12,"column":46},"end":{"line":12,"column":65}},"2":{"start":{"line":14,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":96},"end":{"line":11,"column":97}},"loc":{"start":{"line":11,"column":114},"end":{"line":21,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":9},"end":{"line":20,"column":3}},"type":"cond-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":10}},{"start":{"line":19,"column":4},"end":{"line":19,"column":12}}],"line":14}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ProBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ProBadge.tsx","statementMap":{"0":{"start":{"line":6,"column":30},"end":{"line":23,"column":2}},"1":{"start":{"line":31,"column":20},"end":{"line":31,"column":34}},"2":{"start":{"line":32,"column":16},"end":{"line":32,"column":43}},"3":{"start":{"line":34,"column":15},"end":{"line":34,"column":129}},"4":{"start":{"line":36,"column":2},"end":{"line":40,"column":4}}},"fnMap":{"0":{"name":"ProBadge","decl":{"start":{"line":30,"column":24},"end":{"line":30,"column":32}},"loc":{"start":{"line":30,"column":63},"end":{"line":41,"column":1}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":7},"end":{"line":38,"column":52}},"type":"cond-expr","locations":[{"start":{"line":38,"column":30},"end":{"line":38,"column":38}},{"start":{"line":38,"column":41},"end":{"line":38,"column":52}}],"line":38},"1":{"loc":{"start":{"line":38,"column":7},"end":{"line":38,"column":27}},"type":"binary-expr","locations":[{"start":{"line":38,"column":7},"end":{"line":38,"column":16}},{"start":{"line":38,"column":20},"end":{"line":38,"column":27}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PullDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PullDialog.tsx","statementMap":{"0":{"start":{"line":15,"column":50},"end":{"line":15,"column":65}},"1":{"start":{"line":16,"column":22},"end":{"line":16,"column":54}},"2":{"start":{"line":18,"column":16},"end":{"line":18,"column":40}},"3":{"start":{"line":20,"column":30},"end":{"line":22,"column":17}},"4":{"start":{"line":21,"column":4},"end":{"line":21,"column":16}},"5":{"start":{"line":24,"column":22},"end":{"line":26,"column":16}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":15}},"7":{"start":{"line":28,"column":2},"end":{"line":70,"column":3}},"8":{"start":{"line":30,"column":6},"end":{"line":55,"column":8}},"9":{"start":{"line":58,"column":6},"end":{"line":65,"column":8}},"10":{"start":{"line":68,"column":6},"end":{"line":68,"column":18}}},"fnMap":{"0":{"name":"PullDialog","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":19}},"loc":{"start":{"line":14,"column":22},"end":{"line":71,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":48},"end":{"line":20,"column":49}},"loc":{"start":{"line":20,"column":54},"end":{"line":22,"column":3}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":40},"end":{"line":24,"column":41}},"loc":{"start":{"line":24,"column":46},"end":{"line":26,"column":3}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":2},"end":{"line":70,"column":3}},"type":"switch","locations":[{"start":{"line":29,"column":4},"end":{"line":56,"column":5}},{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},{"start":{"line":67,"column":4},"end":{"line":69,"column":5}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialog.tsx","statementMap":{"0":{"start":{"line":30,"column":50},"end":{"line":30,"column":65}},"1":{"start":{"line":31,"column":16},"end":{"line":31,"column":40}},"2":{"start":{"line":32,"column":24},"end":{"line":32,"column":58}},"3":{"start":{"line":33,"column":22},"end":{"line":33,"column":54}},"4":{"start":{"line":34,"column":44},"end":{"line":34,"column":62}},"5":{"start":{"line":35,"column":30},"end":{"line":35,"column":110}},"6":{"start":{"line":36,"column":36},"end":{"line":36,"column":73}},"7":{"start":{"line":38,"column":34},"end":{"line":40,"column":8}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":35}},"9":{"start":{"line":39,"column":15},"end":{"line":39,"column":35}},"10":{"start":{"line":42,"column":23},"end":{"line":79,"column":29}},"11":{"start":{"line":43,"column":23},"end":{"line":43,"column":25}},"12":{"start":{"line":44,"column":4},"end":{"line":77,"column":5}},"13":{"start":{"line":45,"column":6},"end":{"line":74,"column":7}},"14":{"start":{"line":47,"column":10},"end":{"line":51,"column":13}},"15":{"start":{"line":52,"column":10},"end":{"line":52,"column":16}},"16":{"start":{"line":54,"column":10},"end":{"line":58,"column":13}},"17":{"start":{"line":59,"column":10},"end":{"line":59,"column":16}},"18":{"start":{"line":61,"column":10},"end":{"line":61,"column":96}},"19":{"start":{"line":62,"column":10},"end":{"line":62,"column":16}},"20":{"start":{"line":65,"column":10},"end":{"line":70,"column":13}},"21":{"start":{"line":71,"column":10},"end":{"line":71,"column":16}},"22":{"start":{"line":73,"column":10},"end":{"line":73,"column":16}},"23":{"start":{"line":75,"column":11},"end":{"line":77,"column":5}},"24":{"start":{"line":76,"column":6},"end":{"line":76,"column":74}},"25":{"start":{"line":78,"column":4},"end":{"line":78,"column":24}},"26":{"start":{"line":81,"column":36},"end":{"line":86,"column":3}},"27":{"start":{"line":83,"column":6},"end":{"line":83,"column":28}},"28":{"start":{"line":88,"column":29},"end":{"line":93,"column":3}},"29":{"start":{"line":90,"column":6},"end":{"line":90,"column":36}},"30":{"start":{"line":95,"column":2},"end":{"line":100,"column":38}},"31":{"start":{"line":96,"column":4},"end":{"line":99,"column":5}},"32":{"start":{"line":97,"column":6},"end":{"line":97,"column":71}},"33":{"start":{"line":98,"column":6},"end":{"line":98,"column":81}},"34":{"start":{"line":102,"column":28},"end":{"line":106,"column":55}},"35":{"start":{"line":103,"column":4},"end":{"line":105,"column":5}},"36":{"start":{"line":104,"column":6},"end":{"line":104,"column":39}},"37":{"start":{"line":108,"column":29},"end":{"line":115,"column":3}},"38":{"start":{"line":110,"column":6},"end":{"line":112,"column":7}},"39":{"start":{"line":111,"column":8},"end":{"line":111,"column":28}},"40":{"start":{"line":117,"column":2},"end":{"line":117,"column":45}},"41":{"start":{"line":119,"column":2},"end":{"line":238,"column":3}},"42":{"start":{"line":122,"column":6},"end":{"line":187,"column":8}},"43":{"start":{"line":190,"column":6},"end":{"line":204,"column":8}},"44":{"start":{"line":207,"column":6},"end":{"line":233,"column":8}},"45":{"start":{"line":236,"column":6},"end":{"line":236,"column":18}}},"fnMap":{"0":{"name":"PushDialog","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":19}},"loc":{"start":{"line":29,"column":22},"end":{"line":239,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":52},"end":{"line":38,"column":53}},"loc":{"start":{"line":38,"column":79},"end":{"line":40,"column":3}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":37},"end":{"line":42,"column":38}},"loc":{"start":{"line":42,"column":43},"end":{"line":79,"column":3}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":82,"column":4},"end":{"line":82,"column":5}},"loc":{"start":{"line":82,"column":21},"end":{"line":84,"column":5}},"line":82},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":52},"end":{"line":91,"column":5}},"line":89},"5":{"name":"(anonymous_5)","decl":{"start":{"line":95,"column":18},"end":{"line":95,"column":19}},"loc":{"start":{"line":95,"column":24},"end":{"line":100,"column":3}},"line":95},"6":{"name":"(anonymous_6)","decl":{"start":{"line":102,"column":46},"end":{"line":102,"column":47}},"loc":{"start":{"line":102,"column":52},"end":{"line":106,"column":3}},"line":102},"7":{"name":"(anonymous_7)","decl":{"start":{"line":109,"column":4},"end":{"line":109,"column":5}},"loc":{"start":{"line":109,"column":30},"end":{"line":113,"column":5}},"line":109}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":45},"end":{"line":35,"column":109}},"type":"binary-expr","locations":[{"start":{"line":35,"column":46},"end":{"line":35,"column":102}},{"start":{"line":35,"column":107},"end":{"line":35,"column":109}}],"line":35},"1":{"loc":{"start":{"line":35,"column":46},"end":{"line":35,"column":102}},"type":"cond-expr","locations":[{"start":{"line":35,"column":77},"end":{"line":35,"column":97}},{"start":{"line":35,"column":100},"end":{"line":35,"column":102}}],"line":35},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":35}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":39,"column":35}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":77,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":77,"column":5}},{"start":{"line":75,"column":11},"end":{"line":77,"column":5}}],"line":44},"4":{"loc":{"start":{"line":44,"column":8},"end":{"line":44,"column":66}},"type":"binary-expr","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":21}},{"start":{"line":44,"column":25},"end":{"line":44,"column":46}},{"start":{"line":44,"column":50},"end":{"line":44,"column":66}}],"line":44},"5":{"loc":{"start":{"line":45,"column":6},"end":{"line":74,"column":7}},"type":"switch","locations":[{"start":{"line":46,"column":8},"end":{"line":52,"column":16}},{"start":{"line":53,"column":8},"end":{"line":59,"column":16}},{"start":{"line":60,"column":8},"end":{"line":63,"column":9}},{"start":{"line":64,"column":8},"end":{"line":71,"column":16}},{"start":{"line":72,"column":8},"end":{"line":73,"column":16}}],"line":45},"6":{"loc":{"start":{"line":75,"column":11},"end":{"line":77,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":11},"end":{"line":77,"column":5}},{"start":{},"end":{}}],"line":75},"7":{"loc":{"start":{"line":96,"column":4},"end":{"line":99,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":99,"column":5}},{"start":{},"end":{}}],"line":96},"8":{"loc":{"start":{"line":96,"column":8},"end":{"line":96,"column":75}},"type":"binary-expr","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":43}},{"start":{"line":96,"column":47},"end":{"line":96,"column":75}}],"line":96},"9":{"loc":{"start":{"line":97,"column":23},"end":{"line":97,"column":69}},"type":"binary-expr","locations":[{"start":{"line":97,"column":23},"end":{"line":97,"column":63}},{"start":{"line":97,"column":67},"end":{"line":97,"column":69}}],"line":97},"10":{"loc":{"start":{"line":98,"column":16},"end":{"line":98,"column":79}},"type":"binary-expr","locations":[{"start":{"line":98,"column":16},"end":{"line":98,"column":49}},{"start":{"line":98,"column":53},"end":{"line":98,"column":73}},{"start":{"line":98,"column":77},"end":{"line":98,"column":79}}],"line":98},"11":{"loc":{"start":{"line":103,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":4},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":103},"12":{"loc":{"start":{"line":103,"column":8},"end":{"line":103,"column":93}},"type":"binary-expr","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":64}},{"start":{"line":103,"column":69},"end":{"line":103,"column":82}},{"start":{"line":103,"column":86},"end":{"line":103,"column":92}}],"line":103},"13":{"loc":{"start":{"line":110,"column":6},"end":{"line":112,"column":7}},"type":"if","locations":[{"start":{"line":110,"column":6},"end":{"line":112,"column":7}},{"start":{},"end":{}}],"line":110},"14":{"loc":{"start":{"line":110,"column":10},"end":{"line":110,"column":81}},"type":"binary-expr","locations":[{"start":{"line":110,"column":10},"end":{"line":110,"column":45}},{"start":{"line":110,"column":50},"end":{"line":110,"column":63}},{"start":{"line":110,"column":67},"end":{"line":110,"column":80}}],"line":110},"15":{"loc":{"start":{"line":119,"column":2},"end":{"line":238,"column":3}},"type":"switch","locations":[{"start":{"line":120,"column":4},"end":{"line":120,"column":26}},{"start":{"line":121,"column":4},"end":{"line":188,"column":5}},{"start":{"line":189,"column":4},"end":{"line":205,"column":5}},{"start":{"line":206,"column":4},"end":{"line":234,"column":5}},{"start":{"line":235,"column":4},"end":{"line":237,"column":5}}],"line":119},"16":{"loc":{"start":{"line":138,"column":26},"end":{"line":138,"column":113}},"type":"binary-expr","locations":[{"start":{"line":138,"column":26},"end":{"line":138,"column":82}},{"start":{"line":138,"column":87},"end":{"line":138,"column":101}},{"start":{"line":138,"column":105},"end":{"line":138,"column":112}}],"line":138},"17":{"loc":{"start":{"line":158,"column":13},"end":{"line":174,"column":13}},"type":"binary-expr","locations":[{"start":{"line":158,"column":13},"end":{"line":158,"column":35}},{"start":{"line":158,"column":39},"end":{"line":158,"column":95}},{"start":{"line":159,"column":14},"end":{"line":173,"column":22}}],"line":158},"18":{"loc":{"start":{"line":175,"column":13},"end":{"line":182,"column":13}},"type":"binary-expr","locations":[{"start":{"line":175,"column":13},"end":{"line":175,"column":35}},{"start":{"line":176,"column":14},"end":{"line":181,"column":16}}],"line":175},"19":{"loc":{"start":{"line":183,"column":13},"end":{"line":183,"column":69}},"type":"binary-expr","locations":[{"start":{"line":183,"column":13},"end":{"line":183,"column":33}},{"start":{"line":183,"column":37},"end":{"line":183,"column":69}}],"line":183},"20":{"loc":{"start":{"line":184,"column":13},"end":{"line":184,"column":49}},"type":"binary-expr","locations":[{"start":{"line":184,"column":13},"end":{"line":184,"column":33}},{"start":{"line":184,"column":37},"end":{"line":184,"column":49}}],"line":184},"21":{"loc":{"start":{"line":196,"column":15},"end":{"line":196,"column":81}},"type":"binary-expr","locations":[{"start":{"line":196,"column":15},"end":{"line":196,"column":68}},{"start":{"line":196,"column":72},"end":{"line":196,"column":81}}],"line":196},"22":{"loc":{"start":{"line":197,"column":15},"end":{"line":197,"column":81}},"type":"binary-expr","locations":[{"start":{"line":197,"column":15},"end":{"line":197,"column":68}},{"start":{"line":197,"column":72},"end":{"line":197,"column":81}}],"line":197},"23":{"loc":{"start":{"line":198,"column":15},"end":{"line":198,"column":87}},"type":"binary-expr","locations":[{"start":{"line":198,"column":15},"end":{"line":198,"column":71}},{"start":{"line":198,"column":75},"end":{"line":198,"column":87}}],"line":198},"24":{"loc":{"start":{"line":199,"column":15},"end":{"line":199,"column":75}},"type":"binary-expr","locations":[{"start":{"line":199,"column":15},"end":{"line":199,"column":65}},{"start":{"line":199,"column":69},"end":{"line":199,"column":75}}],"line":199},"25":{"loc":{"start":{"line":200,"column":15},"end":{"line":200,"column":90}},"type":"binary-expr","locations":[{"start":{"line":200,"column":15},"end":{"line":200,"column":71}},{"start":{"line":200,"column":75},"end":{"line":200,"column":90}}],"line":200},"26":{"loc":{"start":{"line":216,"column":17},"end":{"line":216,"column":83}},"type":"binary-expr","locations":[{"start":{"line":216,"column":17},"end":{"line":216,"column":70}},{"start":{"line":216,"column":74},"end":{"line":216,"column":83}}],"line":216},"27":{"loc":{"start":{"line":217,"column":17},"end":{"line":217,"column":83}},"type":"binary-expr","locations":[{"start":{"line":217,"column":17},"end":{"line":217,"column":70}},{"start":{"line":217,"column":74},"end":{"line":217,"column":83}}],"line":217},"28":{"loc":{"start":{"line":218,"column":17},"end":{"line":218,"column":89}},"type":"binary-expr","locations":[{"start":{"line":218,"column":17},"end":{"line":218,"column":73}},{"start":{"line":218,"column":77},"end":{"line":218,"column":89}}],"line":218},"29":{"loc":{"start":{"line":219,"column":17},"end":{"line":219,"column":77}},"type":"binary-expr","locations":[{"start":{"line":219,"column":17},"end":{"line":219,"column":67}},{"start":{"line":219,"column":71},"end":{"line":219,"column":77}}],"line":219},"30":{"loc":{"start":{"line":220,"column":17},"end":{"line":220,"column":92}},"type":"binary-expr","locations":[{"start":{"line":220,"column":17},"end":{"line":220,"column":73}},{"start":{"line":220,"column":77},"end":{"line":220,"column":92}}],"line":220},"31":{"loc":{"start":{"line":225,"column":15},"end":{"line":229,"column":15}},"type":"cond-expr","locations":[{"start":{"line":226,"column":16},"end":{"line":226,"column":50}},{"start":{"line":228,"column":16},"end":{"line":228,"column":45}}],"line":225}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0,0],"15":[0,0,0,0,0],"16":[0,0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialogSupernovaConfirm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialogSupernovaConfirm.tsx","statementMap":{"0":{"start":{"line":13,"column":16},"end":{"line":13,"column":40}},"1":{"start":{"line":15,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"PushDialogSupernovaConfirm","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":35}},"loc":{"start":{"line":12,"column":64},"end":{"line":32,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":9},"end":{"line":28,"column":45}},"type":"binary-expr","locations":[{"start":{"line":28,"column":9},"end":{"line":28,"column":24}},{"start":{"line":28,"column":28},"end":{"line":28,"column":45}}],"line":28}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushJSON.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushJSON.tsx","statementMap":{"0":{"start":{"line":9,"column":26},"end":{"line":13,"column":2}},"1":{"start":{"line":16,"column":17},"end":{"line":16,"column":44}},"2":{"start":{"line":17,"column":17},"end":{"line":17,"column":48}},"3":{"start":{"line":18,"column":35},"end":{"line":18,"column":80}},"4":{"start":{"line":19,"column":36},"end":{"line":19,"column":57}},"5":{"start":{"line":20,"column":68},"end":{"line":20,"column":101}},"6":{"start":{"line":22,"column":32},"end":{"line":37,"column":52}},"7":{"start":{"line":23,"column":4},"end":{"line":23,"column":24}},"8":{"start":{"line":24,"column":4},"end":{"line":36,"column":5}},"9":{"start":{"line":25,"column":6},"end":{"line":30,"column":7}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":41}},"11":{"start":{"line":28,"column":38},"end":{"line":28,"column":86}},"12":{"start":{"line":29,"column":8},"end":{"line":29,"column":60}},"13":{"start":{"line":31,"column":6},"end":{"line":31,"column":31}},"14":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"15":{"start":{"line":33,"column":6},"end":{"line":33,"column":98}},"16":{"start":{"line":33,"column":78},"end":{"line":33,"column":95}},"17":{"start":{"line":35,"column":6},"end":{"line":35,"column":77}},"18":{"start":{"line":39,"column":2},"end":{"line":83,"column":4}},"19":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}}},"fnMap":{"0":{"name":"PushJSON","decl":{"start":{"line":15,"column":9},"end":{"line":15,"column":17}},"loc":{"start":{"line":15,"column":20},"end":{"line":84,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":50},"end":{"line":22,"column":51}},"loc":{"start":{"line":22,"column":112},"end":{"line":37,"column":3}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":68},"end":{"line":33,"column":69}},"loc":{"start":{"line":33,"column":78},"end":{"line":33,"column":95}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":72},"end":{"line":45,"column":73}},"loc":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":36,"column":5}},{"start":{"line":32,"column":11},"end":{"line":36,"column":5}}],"line":24},"1":{"loc":{"start":{"line":25,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":30,"column":7}},{"start":{"line":27,"column":13},"end":{"line":30,"column":7}}],"line":25},"2":{"loc":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":32},"3":{"loc":{"start":{"line":45,"column":7},"end":{"line":56,"column":8}},"type":"binary-expr","locations":[{"start":{"line":45,"column":7},"end":{"line":45,"column":40}},{"start":{"line":45,"column":44},"end":{"line":56,"column":8}}],"line":45},"4":{"loc":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":28}},{"start":{"line":47,"column":10},"end":{"line":54,"column":13}}],"line":46},"5":{"loc":{"start":{"line":49,"column":13},"end":{"line":53,"column":13}},"type":"binary-expr","locations":[{"start":{"line":49,"column":13},"end":{"line":49,"column":58}},{"start":{"line":49,"column":62},"end":{"line":49,"column":71}},{"start":{"line":50,"column":12},"end":{"line":52,"column":32}}],"line":49},"6":{"loc":{"start":{"line":58,"column":8},"end":{"line":68,"column":9}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":25}},{"start":{"line":59,"column":10},"end":{"line":67,"column":13}}],"line":58},"7":{"loc":{"start":{"line":61,"column":13},"end":{"line":66,"column":13}},"type":"binary-expr","locations":[{"start":{"line":61,"column":13},"end":{"line":61,"column":59}},{"start":{"line":62,"column":12},"end":{"line":65,"column":32}}],"line":61},"8":{"loc":{"start":{"line":71,"column":8},"end":{"line":80,"column":9}},"type":"binary-expr","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":38}},{"start":{"line":72,"column":10},"end":{"line":79,"column":13}}],"line":71},"9":{"loc":{"start":{"line":74,"column":13},"end":{"line":78,"column":13}},"type":"binary-expr","locations":[{"start":{"line":74,"column":13},"end":{"line":74,"column":61}},{"start":{"line":75,"column":12},"end":{"line":77,"column":32}}],"line":74}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushSettingForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushSettingForm.tsx","statementMap":{"0":{"start":{"line":22,"column":24},"end":{"line":22,"column":58}},"1":{"start":{"line":24,"column":30},"end":{"line":26,"column":33}},"2":{"start":{"line":25,"column":4},"end":{"line":25,"column":37}},"3":{"start":{"line":28,"column":16},"end":{"line":28,"column":40}},"4":{"start":{"line":30,"column":2},"end":{"line":59,"column":4}}},"fnMap":{"0":{"name":"PushSettingForm","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":24}},"loc":{"start":{"line":21,"column":10},"end":{"line":60,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":42},"end":{"line":24,"column":43}},"loc":{"start":{"line":24,"column":61},"end":{"line":26,"column":3}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":9},"end":{"line":59,"column":3}},"type":"cond-expr","locations":[{"start":{"line":30,"column":68},"end":{"line":30,"column":146}},{"start":{"line":31,"column":4},"end":{"line":58,"column":12}}],"line":30},"1":{"loc":{"start":{"line":37,"column":9},"end":{"line":37,"column":56}},"type":"cond-expr","locations":[{"start":{"line":37,"column":33},"end":{"line":37,"column":49}},{"start":{"line":37,"column":52},"end":{"line":37,"column":56}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/RemConfiguration.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/RemConfiguration.tsx","statementMap":{"0":{"start":{"line":22,"column":25},"end":{"line":162,"column":1}},"1":{"start":{"line":23,"column":28},"end":{"line":23,"column":66}},"2":{"start":{"line":24,"column":17},"end":{"line":24,"column":44}},"3":{"start":{"line":25,"column":23},"end":{"line":25,"column":56}},"4":{"start":{"line":26,"column":25},"end":{"line":26,"column":60}},"5":{"start":{"line":27,"column":19},"end":{"line":27,"column":42}},"6":{"start":{"line":28,"column":16},"end":{"line":28,"column":44}},"7":{"start":{"line":29,"column":42},"end":{"line":29,"column":63}},"8":{"start":{"line":30,"column":42},"end":{"line":30,"column":72}},"9":{"start":{"line":32,"column":29},"end":{"line":32,"column":90}},"10":{"start":{"line":32,"column":53},"end":{"line":32,"column":85}},"11":{"start":{"line":32,"column":79},"end":{"line":32,"column":84}},"12":{"start":{"line":34,"column":25},"end":{"line":39,"column":3}},"13":{"start":{"line":35,"column":10},"end":{"line":37,"column":5}},"14":{"start":{"line":41,"column":31},"end":{"line":58,"column":41}},"15":{"start":{"line":42,"column":38},"end":{"line":42,"column":86}},"16":{"start":{"line":43,"column":27},"end":{"line":43,"column":29}},"17":{"start":{"line":44,"column":4},"end":{"line":56,"column":5}},"18":{"start":{"line":45,"column":45},"end":{"line":47,"column":47}},"19":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"20":{"start":{"line":49,"column":8},"end":{"line":49,"column":30}},"21":{"start":{"line":50,"column":8},"end":{"line":50,"column":30}},"22":{"start":{"line":52,"column":8},"end":{"line":52,"column":77}},"23":{"start":{"line":53,"column":8},"end":{"line":53,"column":31}},"24":{"start":{"line":55,"column":6},"end":{"line":55,"column":44}},"25":{"start":{"line":57,"column":4},"end":{"line":57,"column":25}},"26":{"start":{"line":60,"column":35},"end":{"line":69,"column":3}},"27":{"start":{"line":62,"column":6},"end":{"line":62,"column":52}},"28":{"start":{"line":63,"column":28},"end":{"line":63,"column":64}},"29":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"30":{"start":{"line":65,"column":8},"end":{"line":65,"column":65}},"31":{"start":{"line":71,"column":37},"end":{"line":80,"column":3}},"32":{"start":{"line":73,"column":6},"end":{"line":73,"column":60}},"33":{"start":{"line":74,"column":28},"end":{"line":74,"column":72}},"34":{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},"35":{"start":{"line":76,"column":8},"end":{"line":76,"column":65}},"36":{"start":{"line":82,"column":2},"end":{"line":161,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":25},"end":{"line":22,"column":26}},"loc":{"start":{"line":22,"column":31},"end":{"line":162,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":47},"end":{"line":32,"column":48}},"loc":{"start":{"line":32,"column":53},"end":{"line":32,"column":85}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":69},"end":{"line":32,"column":70}},"loc":{"start":{"line":32,"column":79},"end":{"line":32,"column":84}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":10},"end":{"line":37,"column":5}},"line":35},"4":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":45},"end":{"line":41,"column":46}},"loc":{"start":{"line":41,"column":51},"end":{"line":58,"column":3}},"line":41},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":4},"end":{"line":61,"column":5}},"loc":{"start":{"line":61,"column":41},"end":{"line":67,"column":5}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":31},"end":{"line":78,"column":5}},"line":72}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":56,"column":5}},{"start":{},"end":{}}],"line":44},"1":{"loc":{"start":{"line":44,"column":8},"end":{"line":44,"column":102}},"type":"binary-expr","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":53}},{"start":{"line":44,"column":57},"end":{"line":44,"column":102}}],"line":44},"2":{"loc":{"start":{"line":45,"column":45},"end":{"line":47,"column":47}},"type":"cond-expr","locations":[{"start":{"line":46,"column":10},"end":{"line":46,"column":35}},{"start":{"line":47,"column":10},"end":{"line":47,"column":47}}],"line":45},"3":{"loc":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},{"start":{"line":51,"column":13},"end":{"line":54,"column":7}}],"line":48},"4":{"loc":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":64,"column":10},"end":{"line":64,"column":80}},"type":"binary-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":43}},{"start":{"line":64,"column":47},"end":{"line":64,"column":80}}],"line":64},"6":{"loc":{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},{"start":{},"end":{}}],"line":75},"7":{"loc":{"start":{"line":75,"column":10},"end":{"line":75,"column":80}},"type":"binary-expr","locations":[{"start":{"line":75,"column":10},"end":{"line":75,"column":43}},{"start":{"line":75,"column":47},"end":{"line":75,"column":80}}],"line":75},"8":{"loc":{"start":{"line":93,"column":11},"end":{"line":114,"column":11}},"type":"binary-expr","locations":[{"start":{"line":93,"column":11},"end":{"line":93,"column":44}},{"start":{"line":94,"column":12},"end":{"line":113,"column":18}}],"line":93},"9":{"loc":{"start":{"line":99,"column":33},"end":{"line":99,"column":73}},"type":"cond-expr","locations":[{"start":{"line":99,"column":48},"end":{"line":99,"column":59}},{"start":{"line":99,"column":62},"end":{"line":99,"column":73}}],"line":99},"10":{"loc":{"start":{"line":103,"column":55},"end":{"line":103,"column":100}},"type":"cond-expr","locations":[{"start":{"line":103,"column":70},"end":{"line":103,"column":81}},{"start":{"line":103,"column":84},"end":{"line":103,"column":100}}],"line":103},"11":{"loc":{"start":{"line":106,"column":15},"end":{"line":112,"column":15}},"type":"binary-expr","locations":[{"start":{"line":106,"column":15},"end":{"line":106,"column":27}},{"start":{"line":107,"column":16},"end":{"line":111,"column":18}}],"line":106},"12":{"loc":{"start":{"line":119,"column":26},"end":{"line":119,"column":71}},"type":"cond-expr","locations":[{"start":{"line":119,"column":62},"end":{"line":119,"column":66}},{"start":{"line":119,"column":69},"end":{"line":119,"column":71}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedBorderValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedBorderValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":27},"end":{"line":15,"column":2}},"1":{"start":{"line":17,"column":24},"end":{"line":19,"column":2}},"2":{"start":{"line":21,"column":109},"end":{"line":51,"column":1}},"3":{"start":{"line":22,"column":15},"end":{"line":22,"column":27}},"4":{"start":{"line":23,"column":16},"end":{"line":23,"column":42}},"5":{"start":{"line":24,"column":21},"end":{"line":28,"column":3}},"6":{"start":{"line":30,"column":2},"end":{"line":50,"column":4}},"7":{"start":{"line":37,"column":10},"end":{"line":37,"column":68}},"8":{"start":{"line":43,"column":10},"end":{"line":46,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":109},"end":{"line":21,"column":110}},"loc":{"start":{"line":21,"column":124},"end":{"line":51,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":37,"column":10},"end":{"line":37,"column":68}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":37},"end":{"line":42,"column":38}},"loc":{"start":{"line":43,"column":10},"end":{"line":46,"column":28}},"line":43}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedShadowValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedShadowValueDisplay.tsx","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":14,"column":2}},"1":{"start":{"line":16,"column":24},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":109},"end":{"line":51,"column":1}},"3":{"start":{"line":21,"column":15},"end":{"line":21,"column":27}},"4":{"start":{"line":23,"column":2},"end":{"line":50,"column":4}},"5":{"start":{"line":30,"column":10},"end":{"line":30,"column":75}},"6":{"start":{"line":36,"column":10},"end":{"line":46,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":109},"end":{"line":20,"column":110}},"loc":{"start":{"line":20,"column":126},"end":{"line":51,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":21},"end":{"line":29,"column":22}},"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":75}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":21},"end":{"line":35,"column":22}},"loc":{"start":{"line":36,"column":10},"end":{"line":46,"column":28}},"line":36}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTokenDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTokenDisplay.tsx","statementMap":{"0":{"start":{"line":18,"column":23},"end":{"line":20,"column":28}},"1":{"start":{"line":19,"column":5},"end":{"line":19,"column":49}},"2":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"3":{"start":{"line":23,"column":4},"end":{"line":27,"column":6}},"4":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"5":{"start":{"line":31,"column":4},"end":{"line":31,"column":123}},"6":{"start":{"line":31,"column":37},"end":{"line":31,"column":123}},"7":{"start":{"line":32,"column":4},"end":{"line":32,"column":90}},"8":{"start":{"line":35,"column":2},"end":{"line":41,"column":3}},"9":{"start":{"line":36,"column":4},"end":{"line":40,"column":6}},"10":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"11":{"start":{"line":44,"column":4},"end":{"line":44,"column":62}},"12":{"start":{"line":47,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"ResolvedTokenDisplay","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":44}},"loc":{"start":{"line":17,"column":3},"end":{"line":52,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":37},"end":{"line":18,"column":38}},"loc":{"start":{"line":19,"column":5},"end":{"line":19,"column":49}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":5},"end":{"line":19,"column":49}},"type":"cond-expr","locations":[{"start":{"line":19,"column":21},"end":{"line":19,"column":41}},{"start":{"line":19,"column":44},"end":{"line":19,"column":49}}],"line":19},"1":{"loc":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":22,"column":6},"end":{"line":22,"column":61}},"type":"binary-expr","locations":[{"start":{"line":22,"column":6},"end":{"line":22,"column":19}},{"start":{"line":22,"column":23},"end":{"line":22,"column":61}}],"line":22},"3":{"loc":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":30},"4":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":60}},"type":"binary-expr","locations":[{"start":{"line":30,"column":6},"end":{"line":30,"column":19}},{"start":{"line":30,"column":23},"end":{"line":30,"column":60}}],"line":30},"5":{"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":123}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":31,"column":123}},{"start":{},"end":{}}],"line":31},"6":{"loc":{"start":{"line":35,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":35},"7":{"loc":{"start":{"line":35,"column":6},"end":{"line":35,"column":57}},"type":"binary-expr","locations":[{"start":{"line":35,"column":6},"end":{"line":35,"column":19}},{"start":{"line":35,"column":23},"end":{"line":35,"column":57}}],"line":35},"8":{"loc":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":43},"9":{"loc":{"start":{"line":43,"column":6},"end":{"line":43,"column":74}},"type":"binary-expr","locations":[{"start":{"line":43,"column":6},"end":{"line":43,"column":38}},{"start":{"line":43,"column":42},"end":{"line":43,"column":74}}],"line":43}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTypographyValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTypographyValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":27},"end":{"line":15,"column":2}},"1":{"start":{"line":17,"column":24},"end":{"line":19,"column":2}},"2":{"start":{"line":21,"column":113},"end":{"line":59,"column":1}},"3":{"start":{"line":22,"column":15},"end":{"line":22,"column":27}},"4":{"start":{"line":24,"column":16},"end":{"line":24,"column":42}},"5":{"start":{"line":26,"column":21},"end":{"line":36,"column":3}},"6":{"start":{"line":38,"column":2},"end":{"line":58,"column":4}},"7":{"start":{"line":45,"column":10},"end":{"line":45,"column":76}},"8":{"start":{"line":51,"column":10},"end":{"line":54,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":113},"end":{"line":21,"column":114}},"loc":{"start":{"line":21,"column":128},"end":{"line":59,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":39},"end":{"line":44,"column":40}},"loc":{"start":{"line":45,"column":10},"end":{"line":45,"column":76}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":37},"end":{"line":50,"column":38}},"loc":{"start":{"line":51,"column":10},"end":{"line":54,"column":28}},"line":51}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Select.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Select.tsx","statementMap":{"0":{"start":{"line":5,"column":21},"end":{"line":15,"column":2}},"1":{"start":{"line":28,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"Select","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":30}},"loc":{"start":{"line":27,"column":35},"end":{"line":33,"column":1}},"line":27}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SettingsDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SettingsDropdown.tsx","statementMap":{"0":{"start":{"line":13,"column":24},"end":{"line":13,"column":58}},"1":{"start":{"line":14,"column":16},"end":{"line":14,"column":42}},"2":{"start":{"line":18,"column":6},"end":{"line":18,"column":49}},"3":{"start":{"line":22,"column":6},"end":{"line":22,"column":38}},"4":{"start":{"line":24,"column":31},"end":{"line":26,"column":41}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":39}},"6":{"start":{"line":28,"column":29},"end":{"line":30,"column":37}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":35}},"8":{"start":{"line":32,"column":33},"end":{"line":34,"column":45}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}},"10":{"start":{"line":36,"column":35},"end":{"line":38,"column":49}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":47}},"12":{"start":{"line":40,"column":2},"end":{"line":105,"column":4}}},"fnMap":{"0":{"name":"SettingsDropdown","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":40}},"loc":{"start":{"line":12,"column":43},"end":{"line":106,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":49},"end":{"line":24,"column":50}},"loc":{"start":{"line":24,"column":55},"end":{"line":26,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":47},"end":{"line":28,"column":48}},"loc":{"start":{"line":28,"column":53},"end":{"line":30,"column":3}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":51},"end":{"line":32,"column":52}},"loc":{"start":{"line":32,"column":57},"end":{"line":34,"column":3}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":53},"end":{"line":36,"column":54}},"loc":{"start":{"line":36,"column":59},"end":{"line":38,"column":3}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":11},"end":{"line":75,"column":18}},"type":"cond-expr","locations":[{"start":{"line":62,"column":12},"end":{"line":74,"column":40}},{"start":{"line":75,"column":14},"end":{"line":75,"column":18}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowDownShiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowDownShiftInput.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":42}},"1":{"start":{"line":28,"column":44},"end":{"line":28,"column":94}},"2":{"start":{"line":30,"column":2},"end":{"line":37,"column":36}},"3":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"4":{"start":{"line":32,"column":25},"end":{"line":32,"column":61}},"5":{"start":{"line":33,"column":6},"end":{"line":33,"column":61}},"6":{"start":{"line":35,"column":6},"end":{"line":35,"column":63}},"7":{"start":{"line":39,"column":46},"end":{"line":42,"column":3}},"8":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"9":{"start":{"line":43,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"SingleBoxShadowDownShiftInput","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":53}},"loc":{"start":{"line":26,"column":3},"end":{"line":66,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":18},"end":{"line":30,"column":19}},"loc":{"start":{"line":30,"column":24},"end":{"line":37,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":67},"end":{"line":28,"column":93}},"type":"cond-expr","locations":[{"start":{"line":28,"column":75},"end":{"line":28,"column":88}},{"start":{"line":28,"column":91},"end":{"line":28,"column":93}}],"line":28},"1":{"loc":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":31},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":58}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":24}},{"start":{"line":31,"column":28},"end":{"line":31,"column":33}},{"start":{"line":31,"column":37},"end":{"line":31,"column":58}}],"line":31},"3":{"loc":{"start":{"line":33,"column":23},"end":{"line":33,"column":59}},"type":"cond-expr","locations":[{"start":{"line":33,"column":36},"end":{"line":33,"column":54}},{"start":{"line":33,"column":57},"end":{"line":33,"column":59}}],"line":33},"4":{"loc":{"start":{"line":35,"column":23},"end":{"line":35,"column":61}},"type":"cond-expr","locations":[{"start":{"line":35,"column":51},"end":{"line":35,"column":56}},{"start":{"line":35,"column":59},"end":{"line":35,"column":61}}],"line":35},"5":{"loc":{"start":{"line":53,"column":19},"end":{"line":53,"column":75}},"type":"cond-expr","locations":[{"start":{"line":53,"column":38},"end":{"line":53,"column":55}},{"start":{"line":53,"column":58},"end":{"line":53,"column":75}}],"line":53},"6":{"loc":{"start":{"line":55,"column":8},"end":{"line":60,"column":9}},"type":"binary-expr","locations":[{"start":{"line":55,"column":8},"end":{"line":55,"column":24}},{"start":{"line":56,"column":11},"end":{"line":56,"column":24}},{"start":{"line":57,"column":10},"end":{"line":59,"column":31}}],"line":55}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowInput.tsx","statementMap":{"0":{"start":{"line":30,"column":22},"end":{"line":36,"column":1}},"1":{"start":{"line":38,"column":50},"end":{"line":40,"column":1}},"2":{"start":{"line":63,"column":15},"end":{"line":63,"column":27}},"3":{"start":{"line":64,"column":48},"end":{"line":64,"column":78}},"4":{"start":{"line":65,"column":16},"end":{"line":65,"column":42}},"5":{"start":{"line":66,"column":34},"end":{"line":66,"column":114}},"6":{"start":{"line":66,"column":58},"end":{"line":66,"column":94}},"7":{"start":{"line":68,"column":19},"end":{"line":80,"column":48}},"8":{"start":{"line":69,"column":4},"end":{"line":79,"column":5}},"9":{"start":{"line":70,"column":21},"end":{"line":70,"column":31}},"10":{"start":{"line":71,"column":6},"end":{"line":71,"column":73}},"11":{"start":{"line":72,"column":6},"end":{"line":72,"column":41}},"12":{"start":{"line":74,"column":6},"end":{"line":78,"column":9}},"13":{"start":{"line":82,"column":23},"end":{"line":95,"column":48}},"14":{"start":{"line":83,"column":4},"end":{"line":83,"column":100}},"15":{"start":{"line":83,"column":93},"end":{"line":83,"column":100}},"16":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"17":{"start":{"line":85,"column":21},"end":{"line":85,"column":31}},"18":{"start":{"line":86,"column":6},"end":{"line":86,"column":67}},"19":{"start":{"line":87,"column":6},"end":{"line":87,"column":41}},"20":{"start":{"line":89,"column":6},"end":{"line":93,"column":9}},"21":{"start":{"line":97,"column":51},"end":{"line":109,"column":48}},"22":{"start":{"line":98,"column":4},"end":{"line":108,"column":5}},"23":{"start":{"line":99,"column":21},"end":{"line":99,"column":31}},"24":{"start":{"line":100,"column":6},"end":{"line":100,"column":78}},"25":{"start":{"line":101,"column":6},"end":{"line":101,"column":41}},"26":{"start":{"line":103,"column":6},"end":{"line":107,"column":9}},"27":{"start":{"line":111,"column":33},"end":{"line":113,"column":34}},"28":{"start":{"line":112,"column":4},"end":{"line":112,"column":41}},"29":{"start":{"line":115,"column":24},"end":{"line":127,"column":48}},"30":{"start":{"line":116,"column":4},"end":{"line":126,"column":5}},"31":{"start":{"line":117,"column":21},"end":{"line":117,"column":31}},"32":{"start":{"line":118,"column":6},"end":{"line":118,"column":72}},"33":{"start":{"line":119,"column":6},"end":{"line":119,"column":41}},"34":{"start":{"line":121,"column":6},"end":{"line":125,"column":9}},"35":{"start":{"line":129,"column":25},"end":{"line":137,"column":37}},"36":{"start":{"line":130,"column":19},"end":{"line":130,"column":24}},"37":{"start":{"line":131,"column":4},"end":{"line":135,"column":5}},"38":{"start":{"line":132,"column":23},"end":{"line":132,"column":40}},"39":{"start":{"line":133,"column":6},"end":{"line":133,"column":34}},"40":{"start":{"line":134,"column":6},"end":{"line":134,"column":45}},"41":{"start":{"line":136,"column":4},"end":{"line":136,"column":41}},"42":{"start":{"line":139,"column":17},"end":{"line":139,"column":46}},"43":{"start":{"line":141,"column":23},"end":{"line":143,"column":23}},"44":{"start":{"line":142,"column":4},"end":{"line":142,"column":20}},"45":{"start":{"line":145,"column":14},"end":{"line":145,"column":48}},"46":{"start":{"line":151,"column":32},"end":{"line":186,"column":4}},"47":{"start":{"line":153,"column":46},"end":{"line":155,"column":5}},"48":{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},"49":{"start":{"line":158,"column":8},"end":{"line":158,"column":15}},"50":{"start":{"line":160,"column":24},"end":{"line":160,"column":34}},"51":{"start":{"line":161,"column":25},"end":{"line":161,"column":30}},"52":{"start":{"line":163,"column":6},"end":{"line":165,"column":7}},"53":{"start":{"line":164,"column":8},"end":{"line":164,"column":15}},"54":{"start":{"line":167,"column":32},"end":{"line":167,"column":68}},"55":{"start":{"line":169,"column":27},"end":{"line":169,"column":81}},"56":{"start":{"line":171,"column":27},"end":{"line":171,"column":52}},"57":{"start":{"line":173,"column":27},"end":{"line":173,"column":78}},"58":{"start":{"line":175,"column":6},"end":{"line":177,"column":7}},"59":{"start":{"line":176,"column":8},"end":{"line":176,"column":15}},"60":{"start":{"line":179,"column":6},"end":{"line":181,"column":7}},"61":{"start":{"line":180,"column":8},"end":{"line":180,"column":15}},"62":{"start":{"line":183,"column":6},"end":{"line":183,"column":36}},"63":{"start":{"line":184,"column":6},"end":{"line":184,"column":30}},"64":{"start":{"line":189,"column":33},"end":{"line":199,"column":4}},"65":{"start":{"line":196,"column":32},"end":{"line":198,"column":5}},"66":{"start":{"line":201,"column":2},"end":{"line":201,"column":18}},"67":{"start":{"line":205,"column":2},"end":{"line":268,"column":4}},"68":{"start":{"line":245,"column":12},"end":{"line":263,"column":15}}},"fnMap":{"0":{"name":"SingleBoxShadowInput","decl":{"start":{"line":42,"column":24},"end":{"line":42,"column":44}},"loc":{"start":{"line":62,"column":3},"end":{"line":269,"column":1}},"line":62},"1":{"name":"(anonymous_1)","decl":{"start":{"line":66,"column":52},"end":{"line":66,"column":53}},"loc":{"start":{"line":66,"column":58},"end":{"line":66,"column":94}},"line":66},"2":{"name":"(anonymous_2)","decl":{"start":{"line":68,"column":37},"end":{"line":68,"column":38}},"loc":{"start":{"line":68,"column":77},"end":{"line":80,"column":3}},"line":68},"3":{"name":"(anonymous_3)","decl":{"start":{"line":82,"column":41},"end":{"line":82,"column":42}},"loc":{"start":{"line":82,"column":71},"end":{"line":95,"column":3}},"line":82},"4":{"name":"(anonymous_4)","decl":{"start":{"line":97,"column":69},"end":{"line":97,"column":70}},"loc":{"start":{"line":97,"column":114},"end":{"line":109,"column":3}},"line":97},"5":{"name":"(anonymous_5)","decl":{"start":{"line":111,"column":51},"end":{"line":111,"column":52}},"loc":{"start":{"line":111,"column":110},"end":{"line":113,"column":3}},"line":111},"6":{"name":"(anonymous_6)","decl":{"start":{"line":115,"column":42},"end":{"line":115,"column":43}},"loc":{"start":{"line":115,"column":61},"end":{"line":127,"column":3}},"line":115},"7":{"name":"(anonymous_7)","decl":{"start":{"line":129,"column":43},"end":{"line":129,"column":44}},"loc":{"start":{"line":129,"column":86},"end":{"line":137,"column":3}},"line":129},"8":{"name":"(anonymous_8)","decl":{"start":{"line":141,"column":41},"end":{"line":141,"column":42}},"loc":{"start":{"line":141,"column":47},"end":{"line":143,"column":3}},"line":141},"9":{"name":"(anonymous_9)","decl":{"start":{"line":153,"column":13},"end":{"line":153,"column":14}},"loc":{"start":{"line":153,"column":46},"end":{"line":155,"column":5}},"line":153},"10":{"name":"(anonymous_10)","decl":{"start":{"line":156,"column":4},"end":{"line":156,"column":5}},"loc":{"start":{"line":156,"column":54},"end":{"line":185,"column":5}},"line":156},"11":{"name":"(anonymous_11)","decl":{"start":{"line":196,"column":13},"end":{"line":196,"column":14}},"loc":{"start":{"line":196,"column":32},"end":{"line":198,"column":5}},"line":196},"12":{"name":"(anonymous_12)","decl":{"start":{"line":244,"column":41},"end":{"line":244,"column":42}},"loc":{"start":{"line":245,"column":12},"end":{"line":263,"column":15}},"line":245}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":2},"end":{"line":44,"column":20}},"type":"default-arg","locations":[{"start":{"line":44,"column":15},"end":{"line":44,"column":20}}],"line":44},"1":{"loc":{"start":{"line":69,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":79,"column":5}},{"start":{"line":73,"column":11},"end":{"line":79,"column":5}}],"line":69},"2":{"loc":{"start":{"line":83,"column":4},"end":{"line":83,"column":100}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":100}},{"start":{},"end":{}}],"line":83},"3":{"loc":{"start":{"line":83,"column":8},"end":{"line":83,"column":91}},"type":"binary-expr","locations":[{"start":{"line":83,"column":8},"end":{"line":83,"column":47}},{"start":{"line":83,"column":51},"end":{"line":83,"column":91}}],"line":83},"4":{"loc":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},{"start":{"line":88,"column":11},"end":{"line":94,"column":5}}],"line":84},"5":{"loc":{"start":{"line":98,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":108,"column":5}},{"start":{"line":102,"column":11},"end":{"line":108,"column":5}}],"line":98},"6":{"loc":{"start":{"line":116,"column":4},"end":{"line":126,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":126,"column":5}},{"start":{"line":120,"column":11},"end":{"line":126,"column":5}}],"line":116},"7":{"loc":{"start":{"line":131,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":131},"8":{"loc":{"start":{"line":136,"column":27},"end":{"line":136,"column":39}},"type":"binary-expr","locations":[{"start":{"line":136,"column":27},"end":{"line":136,"column":33}},{"start":{"line":136,"column":37},"end":{"line":136,"column":39}}],"line":136},"9":{"loc":{"start":{"line":154,"column":17},"end":{"line":154,"column":79}},"type":"binary-expr","locations":[{"start":{"line":154,"column":17},"end":{"line":154,"column":51}},{"start":{"line":154,"column":55},"end":{"line":154,"column":79}}],"line":154},"10":{"loc":{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},{"start":{},"end":{}}],"line":157},"11":{"loc":{"start":{"line":163,"column":6},"end":{"line":165,"column":7}},"type":"if","locations":[{"start":{"line":163,"column":6},"end":{"line":165,"column":7}},{"start":{},"end":{}}],"line":163},"12":{"loc":{"start":{"line":175,"column":6},"end":{"line":177,"column":7}},"type":"if","locations":[{"start":{"line":175,"column":6},"end":{"line":177,"column":7}},{"start":{},"end":{}}],"line":175},"13":{"loc":{"start":{"line":175,"column":10},"end":{"line":175,"column":63}},"type":"binary-expr","locations":[{"start":{"line":175,"column":10},"end":{"line":175,"column":32}},{"start":{"line":175,"column":36},"end":{"line":175,"column":63}}],"line":175},"14":{"loc":{"start":{"line":179,"column":6},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":179,"column":6},"end":{"line":181,"column":7}},{"start":{},"end":{}}],"line":179},"15":{"loc":{"start":{"line":179,"column":10},"end":{"line":179,"column":63}},"type":"binary-expr","locations":[{"start":{"line":179,"column":10},"end":{"line":179,"column":32}},{"start":{"line":179,"column":36},"end":{"line":179,"column":63}}],"line":179},"16":{"loc":{"start":{"line":207,"column":68},"end":{"line":207,"column":86}},"type":"cond-expr","locations":[{"start":{"line":207,"column":81},"end":{"line":207,"column":82}},{"start":{"line":207,"column":85},"end":{"line":207,"column":86}}],"line":207},"17":{"loc":{"start":{"line":212,"column":9},"end":{"line":222,"column":9}},"type":"binary-expr","locations":[{"start":{"line":212,"column":9},"end":{"line":212,"column":19}},{"start":{"line":213,"column":10},"end":{"line":221,"column":16}}],"line":212},"18":{"loc":{"start":{"line":224,"column":44},"end":{"line":224,"column":82}},"type":"binary-expr","locations":[{"start":{"line":224,"column":44},"end":{"line":224,"column":60}},{"start":{"line":224,"column":64},"end":{"line":224,"column":82}}],"line":224},"19":{"loc":{"start":{"line":229,"column":9},"end":{"line":237,"column":9}},"type":"binary-expr","locations":[{"start":{"line":229,"column":9},"end":{"line":229,"column":19}},{"start":{"line":230,"column":10},"end":{"line":236,"column":12}}],"line":229},"20":{"loc":{"start":{"line":240,"column":74},"end":{"line":240,"column":97}},"type":"cond-expr","locations":[{"start":{"line":240,"column":87},"end":{"line":240,"column":91}},{"start":{"line":240,"column":94},"end":{"line":240,"column":97}}],"line":240},"21":{"loc":{"start":{"line":250,"column":18},"end":{"line":251,"column":69}},"type":"binary-expr","locations":[{"start":{"line":250,"column":18},"end":{"line":250,"column":65}},{"start":{"line":251,"column":21},"end":{"line":251,"column":69}}],"line":250},"22":{"loc":{"start":{"line":260,"column":15},"end":{"line":262,"column":15}},"type":"binary-expr","locations":[{"start":{"line":260,"column":15},"end":{"line":260,"column":30}},{"start":{"line":260,"column":34},"end":{"line":260,"column":49}},{"start":{"line":261,"column":16},"end":{"line":261,"column":106}}],"line":260},"23":{"loc":{"start":{"line":261,"column":36},"end":{"line":261,"column":77}},"type":"binary-expr","locations":[{"start":{"line":261,"column":36},"end":{"line":261,"column":53}},{"start":{"line":261,"column":57},"end":{"line":261,"column":77}}],"line":261}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenContent.tsx","statementMap":{"0":{"start":{"line":41,"column":22},"end":{"line":41,"column":53}},"1":{"start":{"line":42,"column":25},"end":{"line":42,"column":60}},"2":{"start":{"line":43,"column":33},"end":{"line":43,"column":76}},"3":{"start":{"line":44,"column":15},"end":{"line":44,"column":27}},"4":{"start":{"line":46,"column":26},"end":{"line":48,"column":28}},"5":{"start":{"line":47,"column":4},"end":{"line":47,"column":39}},"6":{"start":{"line":50,"column":2},"end":{"line":77,"column":4}}},"fnMap":{"0":{"name":"SingleCompositionTokenContent","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":45}},"loc":{"start":{"line":40,"column":10},"end":{"line":78,"column":1}},"line":40},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":38},"end":{"line":46,"column":39}},"loc":{"start":{"line":46,"column":85},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":20},"end":{"line":59,"column":62}},"type":"binary-expr","locations":[{"start":{"line":59,"column":20},"end":{"line":59,"column":35}},{"start":{"line":59,"column":39},"end":{"line":59,"column":62}}],"line":59}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenForm.tsx","statementMap":{"0":{"start":{"line":40,"column":23},"end":{"line":40,"column":51}},"1":{"start":{"line":41,"column":15},"end":{"line":41,"column":27}},"2":{"start":{"line":42,"column":16},"end":{"line":42,"column":42}},"3":{"start":{"line":44,"column":29},"end":{"line":59,"column":88}},"4":{"start":{"line":46,"column":41},"end":{"line":46,"column":43}},"5":{"start":{"line":47,"column":29},"end":{"line":47,"column":52}},"6":{"start":{"line":48,"column":4},"end":{"line":48,"column":51}},"7":{"start":{"line":49,"column":4},"end":{"line":51,"column":7}},"8":{"start":{"line":50,"column":6},"end":{"line":50,"column":64}},"9":{"start":{"line":52,"column":4},"end":{"line":52,"column":29}},"10":{"start":{"line":55,"column":4},"end":{"line":55,"column":59}},"11":{"start":{"line":56,"column":4},"end":{"line":56,"column":71}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":30}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":20}},"14":{"start":{"line":61,"column":33},"end":{"line":67,"column":3}},"15":{"start":{"line":63,"column":6},"end":{"line":63,"column":63}},"16":{"start":{"line":64,"column":6},"end":{"line":64,"column":32}},"17":{"start":{"line":69,"column":37},"end":{"line":72,"column":43}},"18":{"start":{"line":70,"column":4},"end":{"line":70,"column":69}},"19":{"start":{"line":71,"column":4},"end":{"line":71,"column":30}},"20":{"start":{"line":74,"column":23},"end":{"line":76,"column":26}},"21":{"start":{"line":75,"column":4},"end":{"line":75,"column":23}},"22":{"start":{"line":78,"column":23},"end":{"line":103,"column":3}},"23":{"start":{"line":79,"column":4},"end":{"line":102,"column":13}},"24":{"start":{"line":100,"column":47},"end":{"line":100,"column":174}},"25":{"start":{"line":105,"column":2},"end":{"line":146,"column":4}}},"fnMap":{"0":{"name":"SingleCompositionTokenForm","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":50}},"loc":{"start":{"line":39,"column":3},"end":{"line":147,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":41},"end":{"line":44,"column":42}},"loc":{"start":{"line":44,"column":66},"end":{"line":59,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":29},"end":{"line":49,"column":30}},"loc":{"start":{"line":49,"column":43},"end":{"line":51,"column":5}},"line":49},"3":{"name":"(anonymous_3)","decl":{"start":{"line":62,"column":4},"end":{"line":62,"column":5}},"loc":{"start":{"line":62,"column":37},"end":{"line":65,"column":5}},"line":62},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":55},"end":{"line":69,"column":56}},"loc":{"start":{"line":69,"column":82},"end":{"line":72,"column":3}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":74,"column":35},"end":{"line":74,"column":36}},"loc":{"start":{"line":74,"column":41},"end":{"line":76,"column":3}},"line":74},"6":{"name":"(anonymous_6)","decl":{"start":{"line":78,"column":23},"end":{"line":78,"column":24}},"loc":{"start":{"line":79,"column":4},"end":{"line":102,"column":13}},"line":79},"7":{"name":"(anonymous_7)","decl":{"start":{"line":100,"column":32},"end":{"line":100,"column":33}},"loc":{"start":{"line":100,"column":47},"end":{"line":100,"column":174}},"line":100}},"branchMap":{"0":{"loc":{"start":{"line":79,"column":19},"end":{"line":79,"column":51}},"type":"binary-expr","locations":[{"start":{"line":79,"column":19},"end":{"line":79,"column":27}},{"start":{"line":79,"column":31},"end":{"line":79,"column":51}}],"line":79},"1":{"loc":{"start":{"line":81,"column":15},"end":{"line":81,"column":47}},"type":"binary-expr","locations":[{"start":{"line":81,"column":15},"end":{"line":81,"column":23}},{"start":{"line":81,"column":27},"end":{"line":81,"column":47}}],"line":81},"2":{"loc":{"start":{"line":92,"column":21},"end":{"line":94,"column":16}},"type":"cond-expr","locations":[{"start":{"line":92,"column":32},"end":{"line":94,"column":11}},{"start":{"line":94,"column":14},"end":{"line":94,"column":16}}],"line":92},"3":{"loc":{"start":{"line":99,"column":9},"end":{"line":100,"column":175}},"type":"binary-expr","locations":[{"start":{"line":99,"column":9},"end":{"line":99,"column":30}},{"start":{"line":100,"column":17},"end":{"line":100,"column":175}}],"line":99},"4":{"loc":{"start":{"line":128,"column":14},"end":{"line":128,"column":78}},"type":"cond-expr","locations":[{"start":{"line":128,"column":41},"end":{"line":128,"column":58}},{"start":{"line":128,"column":61},"end":{"line":128,"column":78}}],"line":128}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleTypographyDownShiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleTypographyDownShiftInput.tsx","statementMap":{"0":{"start":{"line":26,"column":46},"end":{"line":28,"column":27}},"1":{"start":{"line":27,"column":4},"end":{"line":27,"column":39}},"2":{"start":{"line":30,"column":27},"end":{"line":30,"column":81}},"3":{"start":{"line":30,"column":47},"end":{"line":30,"column":72}},"4":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"5":{"start":{"line":34,"column":2},"end":{"line":49,"column":4}}},"fnMap":{"0":{"name":"SingleTypographyDownShiftInput","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":54}},"loc":{"start":{"line":25,"column":3},"end":{"line":50,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":64},"end":{"line":26,"column":65}},"loc":{"start":{"line":26,"column":91},"end":{"line":28,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":41},"end":{"line":30,"column":42}},"loc":{"start":{"line":30,"column":47},"end":{"line":30,"column":72}},"line":30}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Stack.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Stack.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StartScreen.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StartScreen.tsx","statementMap":{"0":{"start":{"line":22,"column":31},"end":{"line":25,"column":2}},"1":{"start":{"line":27,"column":20},"end":{"line":37,"column":2}},"2":{"start":{"line":40,"column":19},"end":{"line":40,"column":42}},"3":{"start":{"line":41,"column":16},"end":{"line":41,"column":47}},"4":{"start":{"line":43,"column":22},"end":{"line":43,"column":54}},"5":{"start":{"line":44,"column":23},"end":{"line":44,"column":56}},"6":{"start":{"line":46,"column":27},"end":{"line":50,"column":16}},"7":{"start":{"line":47,"column":4},"end":{"line":47,"column":34}},"8":{"start":{"line":48,"column":4},"end":{"line":48,"column":47}},"9":{"start":{"line":49,"column":4},"end":{"line":49,"column":41}},"10":{"start":{"line":52,"column":29},"end":{"line":56,"column":16}},"11":{"start":{"line":53,"column":4},"end":{"line":53,"column":36}},"12":{"start":{"line":54,"column":4},"end":{"line":54,"column":47}},"13":{"start":{"line":55,"column":4},"end":{"line":55,"column":43}},"14":{"start":{"line":58,"column":25},"end":{"line":72,"column":72}},"15":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"16":{"start":{"line":60,"column":6},"end":{"line":60,"column":13}},"17":{"start":{"line":62,"column":29},"end":{"line":62,"column":95}},"18":{"start":{"line":62,"column":54},"end":{"line":62,"column":94}},"19":{"start":{"line":63,"column":29},"end":{"line":68,"column":7}},"20":{"start":{"line":69,"column":4},"end":{"line":69,"column":49}},"21":{"start":{"line":70,"column":4},"end":{"line":70,"column":41}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":56}},"23":{"start":{"line":74,"column":2},"end":{"line":154,"column":4}}},"fnMap":{"0":{"name":"StartScreen","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":20}},"loc":{"start":{"line":39,"column":23},"end":{"line":155,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":45},"end":{"line":46,"column":46}},"loc":{"start":{"line":46,"column":51},"end":{"line":50,"column":3}},"line":46},"2":{"name":"(anonymous_2)","decl":{"start":{"line":52,"column":47},"end":{"line":52,"column":48}},"loc":{"start":{"line":52,"column":53},"end":{"line":56,"column":3}},"line":52},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":43},"end":{"line":58,"column":44}},"loc":{"start":{"line":58,"column":49},"end":{"line":72,"column":3}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":47},"end":{"line":62,"column":48}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":94}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":59},"1":{"loc":{"start":{"line":63,"column":29},"end":{"line":68,"column":7}},"type":"cond-expr","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":74}},{"start":{"line":65,"column":8},"end":{"line":68,"column":7}}],"line":63},"2":{"loc":{"start":{"line":119,"column":11},"end":{"line":138,"column":11}},"type":"cond-expr","locations":[{"start":{"line":120,"column":12},"end":{"line":128,"column":14}},{"start":{"line":130,"column":12},"end":{"line":137,"column":20}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItem.tsx","statementMap":{"0":{"start":{"line":25,"column":20},"end":{"line":164,"column":1}},"1":{"start":{"line":26,"column":38},"end":{"line":26,"column":59}},"2":{"start":{"line":27,"column":42},"end":{"line":27,"column":66}},"3":{"start":{"line":28,"column":22},"end":{"line":28,"column":54}},"4":{"start":{"line":29,"column":33},"end":{"line":29,"column":37}},"5":{"start":{"line":30,"column":17},"end":{"line":30,"column":57}},"6":{"start":{"line":31,"column":52},"end":{"line":31,"column":69}},"7":{"start":{"line":32,"column":22},"end":{"line":32,"column":34}},"8":{"start":{"line":33,"column":29},"end":{"line":33,"column":41}},"9":{"start":{"line":34,"column":19},"end":{"line":34,"column":42}},"10":{"start":{"line":36,"column":16},"end":{"line":36,"column":43}},"11":{"start":{"line":38,"column":26},"end":{"line":43,"column":18}},"12":{"start":{"line":39,"column":25},"end":{"line":41,"column":6}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":24}},"14":{"start":{"line":45,"column":19},"end":{"line":45,"column":101}},"15":{"start":{"line":45,"column":43},"end":{"line":45,"column":79}},"16":{"start":{"line":47,"column":23},"end":{"line":57,"column":100}},"17":{"start":{"line":48,"column":4},"end":{"line":56,"column":5}},"18":{"start":{"line":49,"column":6},"end":{"line":49,"column":27}},"19":{"start":{"line":50,"column":6},"end":{"line":50,"column":51}},"20":{"start":{"line":51,"column":6},"end":{"line":51,"column":81}},"21":{"start":{"line":52,"column":6},"end":{"line":55,"column":9}},"22":{"start":{"line":59,"column":24},"end":{"line":67,"column":35}},"23":{"start":{"line":60,"column":21},"end":{"line":60,"column":54}},"24":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"25":{"start":{"line":62,"column":6},"end":{"line":62,"column":27}},"26":{"start":{"line":64,"column":6},"end":{"line":64,"column":26}},"27":{"start":{"line":65,"column":6},"end":{"line":65,"column":46}},"28":{"start":{"line":69,"column":2},"end":{"line":163,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":49},"end":{"line":164,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":44},"end":{"line":38,"column":45}},"loc":{"start":{"line":38,"column":56},"end":{"line":43,"column":3}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":37},"end":{"line":45,"column":38}},"loc":{"start":{"line":45,"column":43},"end":{"line":45,"column":79}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":41},"end":{"line":47,"column":42}},"loc":{"start":{"line":47,"column":53},"end":{"line":57,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":42},"end":{"line":59,"column":43}},"loc":{"start":{"line":59,"column":54},"end":{"line":67,"column":3}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":17},"end":{"line":30,"column":57}},"type":"cond-expr","locations":[{"start":{"line":30,"column":39},"end":{"line":30,"column":50}},{"start":{"line":30,"column":53},"end":{"line":30,"column":57}}],"line":30},"1":{"loc":{"start":{"line":48,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":56,"column":5}},{"start":{},"end":{}}],"line":48},"2":{"loc":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},{"start":{"line":63,"column":11},"end":{"line":66,"column":5}}],"line":61},"3":{"loc":{"start":{"line":113,"column":15},"end":{"line":113,"column":39}},"type":"binary-expr","locations":[{"start":{"line":113,"column":15},"end":{"line":113,"column":21}},{"start":{"line":113,"column":25},"end":{"line":113,"column":39}}],"line":113},"4":{"loc":{"start":{"line":117,"column":9},"end":{"line":131,"column":9}},"type":"binary-expr","locations":[{"start":{"line":117,"column":9},"end":{"line":117,"column":19}},{"start":{"line":117,"column":23},"end":{"line":117,"column":33}},{"start":{"line":118,"column":10},"end":{"line":130,"column":16}}],"line":117},"5":{"loc":{"start":{"line":134,"column":9},"end":{"line":145,"column":9}},"type":"cond-expr","locations":[{"start":{"line":135,"column":10},"end":{"line":140,"column":18}},{"start":{"line":142,"column":10},"end":{"line":144,"column":19}}],"line":134},"6":{"loc":{"start":{"line":136,"column":13},"end":{"line":138,"column":13}},"type":"binary-expr","locations":[{"start":{"line":136,"column":13},"end":{"line":136,"column":71}},{"start":{"line":137,"column":14},"end":{"line":137,"column":43}}],"line":136}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm.tsx","statementMap":{"0":{"start":{"line":29,"column":2},"end":{"line":131,"column":3}},"1":{"start":{"line":32,"column":6},"end":{"line":41,"column":8}},"2":{"start":{"line":44,"column":6},"end":{"line":53,"column":8}},"3":{"start":{"line":56,"column":6},"end":{"line":65,"column":8}},"4":{"start":{"line":68,"column":6},"end":{"line":77,"column":8}},"5":{"start":{"line":80,"column":6},"end":{"line":89,"column":8}},"6":{"start":{"line":92,"column":6},"end":{"line":102,"column":8}},"7":{"start":{"line":105,"column":6},"end":{"line":114,"column":8}},"8":{"start":{"line":117,"column":6},"end":{"line":126,"column":8}},"9":{"start":{"line":129,"column":6},"end":{"line":129,"column":18}}},"fnMap":{"0":{"name":"StorageItemForm","decl":{"start":{"line":26,"column":24},"end":{"line":26,"column":39}},"loc":{"start":{"line":28,"column":10},"end":{"line":132,"column":1}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":2},"end":{"line":27,"column":15}},"type":"default-arg","locations":[{"start":{"line":27,"column":10},"end":{"line":27,"column":15}}],"line":27},"1":{"loc":{"start":{"line":29,"column":2},"end":{"line":131,"column":3}},"type":"switch","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":36}},{"start":{"line":31,"column":4},"end":{"line":42,"column":5}},{"start":{"line":43,"column":4},"end":{"line":54,"column":5}},{"start":{"line":55,"column":4},"end":{"line":66,"column":5}},{"start":{"line":67,"column":4},"end":{"line":78,"column":5}},{"start":{"line":79,"column":4},"end":{"line":90,"column":5}},{"start":{"line":91,"column":4},"end":{"line":103,"column":5}},{"start":{"line":104,"column":4},"end":{"line":115,"column":5}},{"start":{"line":116,"column":4},"end":{"line":127,"column":5}},{"start":{"line":128,"column":4},"end":{"line":130,"column":5}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0],"1":[0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledBrokenReferenceIndicator.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledBrokenReferenceIndicator.tsx","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":17,"column":2}},"1":{"start":{"line":20,"column":2},"end":{"line":24,"column":4}}},"fnMap":{"0":{"name":"StyledBrokenReferenceIndicator","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":54}},"loc":{"start":{"line":19,"column":57},"end":{"line":25,"column":1}},"line":19}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDiff.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDiff.tsx","statementMap":{"0":{"start":{"line":3,"column":26},"end":{"line":21,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDirtyStateBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDirtyStateBadge.tsx","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":12,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInputSuffix.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInputSuffix.tsx","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":8,"column":2}},"1":{"start":{"line":10,"column":33},"end":{"line":29,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInspectBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInspectBadge.tsx","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledStorageItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledStorageItem.tsx","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":25,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx","statementMap":{"0":{"start":{"line":14,"column":25},"end":{"line":14,"column":60}},"1":{"start":{"line":15,"column":33},"end":{"line":15,"column":76}},"2":{"start":{"line":16,"column":17},"end":{"line":16,"column":48}},"3":{"start":{"line":17,"column":18},"end":{"line":17,"column":32}},"4":{"start":{"line":18,"column":25},"end":{"line":18,"column":65}},"5":{"start":{"line":20,"column":25},"end":{"line":20,"column":36}},"6":{"start":{"line":21,"column":16},"end":{"line":21,"column":42}},"7":{"start":{"line":23,"column":36},"end":{"line":23,"column":57}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":26}},"9":{"start":{"line":33,"column":26},"end":{"line":35,"column":20}},"10":{"start":{"line":34,"column":4},"end":{"line":34,"column":23}},"11":{"start":{"line":37,"column":32},"end":{"line":39,"column":18}},"12":{"start":{"line":38,"column":4},"end":{"line":38,"column":17}},"13":{"start":{"line":41,"column":30},"end":{"line":43,"column":40}},"14":{"start":{"line":42,"column":4},"end":{"line":42,"column":67}},"15":{"start":{"line":45,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"StylesDropdown","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":38}},"loc":{"start":{"line":13,"column":41},"end":{"line":71,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":38},"end":{"line":33,"column":39}},"loc":{"start":{"line":33,"column":44},"end":{"line":35,"column":3}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":44},"end":{"line":37,"column":45}},"loc":{"start":{"line":37,"column":50},"end":{"line":39,"column":3}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":42},"end":{"line":41,"column":43}},"loc":{"start":{"line":41,"column":76},"end":{"line":43,"column":3}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":25},"end":{"line":18,"column":65}},"type":"binary-expr","locations":[{"start":{"line":18,"column":25},"end":{"line":18,"column":39}},{"start":{"line":18,"column":43},"end":{"line":18,"column":65}}],"line":18},"1":{"loc":{"start":{"line":57,"column":70},"end":{"line":57,"column":97}},"type":"binary-expr","locations":[{"start":{"line":57,"column":70},"end":{"line":57,"column":84}},{"start":{"line":57,"column":88},"end":{"line":57,"column":97}}],"line":57},"2":{"loc":{"start":{"line":62,"column":7},"end":{"line":62,"column":98}},"type":"binary-expr","locations":[{"start":{"line":62,"column":7},"end":{"line":62,"column":16}},{"start":{"line":62,"column":20},"end":{"line":62,"column":98}}],"line":62}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SyncSettings.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SyncSettings.tsx","statementMap":{"0":{"start":{"line":21,"column":21},"end":{"line":198,"column":1}},"1":{"start":{"line":22,"column":24},"end":{"line":22,"column":58}},"2":{"start":{"line":24,"column":16},"end":{"line":24,"column":43}},"3":{"start":{"line":26,"column":20},"end":{"line":65,"column":9}},"4":{"start":{"line":26,"column":34},"end":{"line":65,"column":3}},"5":{"start":{"line":67,"column":23},"end":{"line":67,"column":56}},"6":{"start":{"line":68,"column":19},"end":{"line":68,"column":42}},"7":{"start":{"line":70,"column":26},"end":{"line":70,"column":47}},"8":{"start":{"line":72,"column":28},"end":{"line":72,"column":45}},"9":{"start":{"line":74,"column":72},"end":{"line":74,"column":114}},"10":{"start":{"line":75,"column":76},"end":{"line":75,"column":97}},"11":{"start":{"line":76,"column":48},"end":{"line":76,"column":86}},"12":{"start":{"line":78,"column":27},"end":{"line":86,"column":3}},"13":{"start":{"line":80,"column":23},"end":{"line":80,"column":52}},"14":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"15":{"start":{"line":82,"column":8},"end":{"line":82,"column":51}},"16":{"start":{"line":88,"column":26},"end":{"line":96,"column":3}},"17":{"start":{"line":89,"column":23},"end":{"line":94,"column":5}},"18":{"start":{"line":90,"column":6},"end":{"line":90,"column":32}},"19":{"start":{"line":91,"column":6},"end":{"line":91,"column":50}},"20":{"start":{"line":92,"column":6},"end":{"line":92,"column":43}},"21":{"start":{"line":93,"column":6},"end":{"line":93,"column":33}},"22":{"start":{"line":98,"column":35},"end":{"line":101,"column":8}},"23":{"start":{"line":99,"column":4},"end":{"line":99,"column":43}},"24":{"start":{"line":100,"column":4},"end":{"line":100,"column":43}},"25":{"start":{"line":103,"column":30},"end":{"line":110,"column":3}},"26":{"start":{"line":104,"column":39},"end":{"line":108,"column":5}},"27":{"start":{"line":105,"column":6},"end":{"line":105,"column":21}},"28":{"start":{"line":106,"column":6},"end":{"line":106,"column":35}},"29":{"start":{"line":107,"column":6},"end":{"line":107,"column":41}},"30":{"start":{"line":112,"column":33},"end":{"line":114,"column":8}},"31":{"start":{"line":113,"column":4},"end":{"line":113,"column":42}},"32":{"start":{"line":116,"column":35},"end":{"line":118,"column":8}},"33":{"start":{"line":117,"column":4},"end":{"line":117,"column":44}},"34":{"start":{"line":120,"column":2},"end":{"line":197,"column":4}},"35":{"start":{"line":156,"column":22},"end":{"line":176,"column":30}},"36":{"start":{"line":187,"column":14},"end":{"line":191,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":21},"end":{"line":21,"column":22}},"loc":{"start":{"line":21,"column":27},"end":{"line":198,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":28},"end":{"line":26,"column":29}},"loc":{"start":{"line":26,"column":34},"end":{"line":65,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":79,"column":4},"end":{"line":79,"column":5}},"loc":{"start":{"line":79,"column":48},"end":{"line":84,"column":5}},"line":79},"3":{"name":"(anonymous_3)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":23},"end":{"line":94,"column":5}},"line":89},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":23},"end":{"line":89,"column":24}},"loc":{"start":{"line":89,"column":29},"end":{"line":94,"column":5}},"line":89},"5":{"name":"(anonymous_5)","decl":{"start":{"line":98,"column":53},"end":{"line":98,"column":54}},"loc":{"start":{"line":98,"column":88},"end":{"line":101,"column":3}},"line":98},"6":{"name":"(anonymous_6)","decl":{"start":{"line":104,"column":4},"end":{"line":104,"column":5}},"loc":{"start":{"line":104,"column":39},"end":{"line":108,"column":5}},"line":104},"7":{"name":"(anonymous_7)","decl":{"start":{"line":104,"column":39},"end":{"line":104,"column":40}},"loc":{"start":{"line":104,"column":45},"end":{"line":108,"column":5}},"line":104},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":51},"end":{"line":112,"column":52}},"loc":{"start":{"line":112,"column":57},"end":{"line":114,"column":3}},"line":112},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":53},"end":{"line":116,"column":54}},"loc":{"start":{"line":116,"column":59},"end":{"line":118,"column":3}},"line":116},"10":{"name":"(anonymous_10)","decl":{"start":{"line":155,"column":34},"end":{"line":155,"column":35}},"loc":{"start":{"line":156,"column":22},"end":{"line":176,"column":30}},"line":156},"11":{"name":"(anonymous_11)","decl":{"start":{"line":186,"column":57},"end":{"line":186,"column":58}},"loc":{"start":{"line":187,"column":14},"end":{"line":191,"column":16}},"line":187}},"branchMap":{"0":{"loc":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"type":"if","locations":[{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},{"start":{},"end":{}}],"line":81},"1":{"loc":{"start":{"line":122,"column":7},"end":{"line":129,"column":7}},"type":"binary-expr","locations":[{"start":{"line":122,"column":7},"end":{"line":122,"column":34}},{"start":{"line":123,"column":8},"end":{"line":128,"column":10}}],"line":122},"2":{"loc":{"start":{"line":130,"column":7},"end":{"line":137,"column":7}},"type":"binary-expr","locations":[{"start":{"line":130,"column":7},"end":{"line":130,"column":36}},{"start":{"line":131,"column":8},"end":{"line":136,"column":10}}],"line":130},"3":{"loc":{"start":{"line":164,"column":29},"end":{"line":164,"column":85}},"type":"binary-expr","locations":[{"start":{"line":164,"column":29},"end":{"line":164,"column":42}},{"start":{"line":164,"column":46},"end":{"line":164,"column":85}}],"line":164},"4":{"loc":{"start":{"line":186,"column":13},"end":{"line":192,"column":14}},"type":"binary-expr","locations":[{"start":{"line":186,"column":13},"end":{"line":186,"column":36}},{"start":{"line":186,"column":40},"end":{"line":192,"column":14}}],"line":186},"5":{"loc":{"start":{"line":188,"column":21},"end":{"line":188,"column":70}},"type":"binary-expr","locations":[{"start":{"line":188,"column":21},"end":{"line":188,"column":37}},{"start":{"line":188,"column":41},"end":{"line":188,"column":70}}],"line":188}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Text.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Text.tsx","statementMap":{"0":{"start":{"line":5,"column":30},"end":{"line":5,"column":35}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":49}}},"fnMap":{"0":{"name":"WrappedText","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":20}},"loc":{"start":{"line":4,"column":65},"end":{"line":7,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":10},"end":{"line":5,"column":25}},"type":"default-arg","locations":[{"start":{"line":5,"column":17},"end":{"line":5,"column":25}}],"line":5}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToggleEmptyButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToggleEmptyButton.tsx","statementMap":{"0":{"start":{"line":10,"column":26},"end":{"line":10,"column":62}},"1":{"start":{"line":11,"column":19},"end":{"line":11,"column":42}},"2":{"start":{"line":13,"column":16},"end":{"line":13,"column":42}},"3":{"start":{"line":15,"column":32},"end":{"line":17,"column":16}},"4":{"start":{"line":16,"column":4},"end":{"line":16,"column":49}},"5":{"start":{"line":19,"column":2},"end":{"line":27,"column":4}}},"fnMap":{"0":{"name":"ToggleEmptyButton","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":41}},"loc":{"start":{"line":9,"column":44},"end":{"line":28,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":50},"end":{"line":15,"column":51}},"loc":{"start":{"line":15,"column":56},"end":{"line":17,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":11},"end":{"line":22,"column":44}},"type":"cond-expr","locations":[{"start":{"line":22,"column":29},"end":{"line":22,"column":35}},{"start":{"line":22,"column":38},"end":{"line":22,"column":44}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFilter.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFilter.tsx","statementMap":{"0":{"start":{"line":12,"column":20},"end":{"line":30,"column":2}},"1":{"start":{"line":32,"column":20},"end":{"line":86,"column":1}},"2":{"start":{"line":33,"column":22},"end":{"line":33,"column":54}},"3":{"start":{"line":34,"column":40},"end":{"line":34,"column":67}},"4":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"5":{"start":{"line":36,"column":16},"end":{"line":36,"column":43}},"6":{"start":{"line":38,"column":20},"end":{"line":40,"column":9}},"7":{"start":{"line":39,"column":4},"end":{"line":39,"column":43}},"8":{"start":{"line":42,"column":23},"end":{"line":46,"column":17}},"9":{"start":{"line":43,"column":22},"end":{"line":43,"column":30}},"10":{"start":{"line":44,"column":4},"end":{"line":44,"column":26}},"11":{"start":{"line":45,"column":4},"end":{"line":45,"column":21}},"12":{"start":{"line":48,"column":34},"end":{"line":51,"column":24}},"13":{"start":{"line":49,"column":4},"end":{"line":49,"column":23}},"14":{"start":{"line":50,"column":4},"end":{"line":50,"column":40}},"15":{"start":{"line":53,"column":2},"end":{"line":85,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":32,"column":20},"end":{"line":32,"column":21}},"loc":{"start":{"line":32,"column":26},"end":{"line":86,"column":1}},"line":32},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":41},"end":{"line":38,"column":42}},"loc":{"start":{"line":38,"column":52},"end":{"line":40,"column":3}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":41},"end":{"line":42,"column":42}},"loc":{"start":{"line":42,"column":53},"end":{"line":46,"column":3}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":48,"column":52},"end":{"line":48,"column":53}},"loc":{"start":{"line":48,"column":58},"end":{"line":51,"column":3}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":73,"column":7},"end":{"line":83,"column":7}},"type":"binary-expr","locations":[{"start":{"line":73,"column":7},"end":{"line":73,"column":18}},{"start":{"line":74,"column":8},"end":{"line":82,"column":14}}],"line":73}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFormatBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFormatBadge.tsx","statementMap":{"0":{"start":{"line":15,"column":16},"end":{"line":15,"column":43}},"1":{"start":{"line":16,"column":22},"end":{"line":16,"column":54}},"2":{"start":{"line":17,"column":19},"end":{"line":17,"column":42}},"3":{"start":{"line":19,"column":17},"end":{"line":19,"column":56}},"4":{"start":{"line":21,"column":26},"end":{"line":23,"column":24}},"5":{"start":{"line":22,"column":4},"end":{"line":22,"column":58}},"6":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":266}},"8":{"start":{"line":29,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"TokenFormatBadge","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":32}},"loc":{"start":{"line":14,"column":79},"end":{"line":32,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":38},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":44},"end":{"line":23,"column":3}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":35},"end":{"line":14,"column":51}},"type":"default-arg","locations":[{"start":{"line":14,"column":46},"end":{"line":14,"column":51}}],"line":14},"1":{"loc":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},{"start":{},"end":{}}],"line":25},"2":{"loc":{"start":{"line":26,"column":11},"end":{"line":26,"column":265}},"type":"cond-expr","locations":[{"start":{"line":26,"column":20},"end":{"line":26,"column":139}},{"start":{"line":26,"column":142},"end":{"line":26,"column":265}}],"line":26},"3":{"loc":{"start":{"line":29,"column":9},"end":{"line":31,"column":3}},"type":"cond-expr","locations":[{"start":{"line":29,"column":18},"end":{"line":29,"column":161}},{"start":{"line":30,"column":4},"end":{"line":30,"column":158}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenInput.tsx","statementMap":{"0":{"start":{"line":6,"column":20},"end":{"line":22,"column":2}},"1":{"start":{"line":24,"column":14},"end":{"line":35,"column":2}},"2":{"start":{"line":37,"column":16},"end":{"line":40,"column":2}},"3":{"start":{"line":56,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"TokenInput","decl":{"start":{"line":53,"column":9},"end":{"line":53,"column":19}},"loc":{"start":{"line":55,"column":10},"end":{"line":71,"column":1}},"line":55}},"branchMap":{"0":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":24}},"type":"default-arg","locations":[{"start":{"line":54,"column":19},"end":{"line":54,"column":24}}],"line":54},"1":{"loc":{"start":{"line":54,"column":43},"end":{"line":54,"column":54}},"type":"default-arg","locations":[{"start":{"line":54,"column":52},"end":{"line":54,"column":54}}],"line":54},"2":{"loc":{"start":{"line":54,"column":69},"end":{"line":54,"column":85}},"type":"default-arg","locations":[{"start":{"line":54,"column":83},"end":{"line":54,"column":85}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0],"1":[0],"2":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListing.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListing.tsx","statementMap":{"0":{"start":{"line":23,"column":88},"end":{"line":113,"column":1}},"1":{"start":{"line":26,"column":26},"end":{"line":26,"column":62}},"2":{"start":{"line":27,"column":32},"end":{"line":27,"column":74}},"3":{"start":{"line":28,"column":20},"end":{"line":28,"column":50}},"4":{"start":{"line":29,"column":19},"end":{"line":29,"column":42}},"5":{"start":{"line":31,"column":19},"end":{"line":46,"column":3}},"6":{"start":{"line":33,"column":6},"end":{"line":33,"column":45}},"7":{"start":{"line":34,"column":19},"end":{"line":34,"column":45}},"8":{"start":{"line":35,"column":6},"end":{"line":43,"column":28}},"9":{"start":{"line":48,"column":22},"end":{"line":53,"column":3}},"10":{"start":{"line":50,"column":6},"end":{"line":50,"column":74}},"11":{"start":{"line":55,"column":28},"end":{"line":55,"column":96}},"12":{"start":{"line":55,"column":48},"end":{"line":55,"column":80}},"13":{"start":{"line":58,"column":32},"end":{"line":76,"column":3}},"14":{"start":{"line":60,"column":6},"end":{"line":60,"column":26}},"15":{"start":{"line":61,"column":6},"end":{"line":73,"column":7}},"16":{"start":{"line":62,"column":8},"end":{"line":62,"column":43}},"17":{"start":{"line":63,"column":32},"end":{"line":66,"column":14}},"18":{"start":{"line":64,"column":10},"end":{"line":64,"column":32}},"19":{"start":{"line":65,"column":10},"end":{"line":65,"column":21}},"20":{"start":{"line":67,"column":8},"end":{"line":67,"column":70}},"21":{"start":{"line":69,"column":8},"end":{"line":72,"column":11}},"22":{"start":{"line":78,"column":2},"end":{"line":78,"column":47}},"23":{"start":{"line":78,"column":35},"end":{"line":78,"column":47}},"24":{"start":{"line":80,"column":2},"end":{"line":112,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":88},"end":{"line":23,"column":89}},"loc":{"start":{"line":25,"column":6},"end":{"line":113,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":50},"end":{"line":44,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":4},"end":{"line":49,"column":5}},"loc":{"start":{"line":49,"column":43},"end":{"line":51,"column":5}},"line":49},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":42},"end":{"line":55,"column":43}},"loc":{"start":{"line":55,"column":48},"end":{"line":55,"column":80}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":4},"end":{"line":59,"column":5}},"loc":{"start":{"line":59,"column":48},"end":{"line":74,"column":5}},"line":59},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":99},"end":{"line":63,"column":100}},"loc":{"start":{"line":63,"column":113},"end":{"line":66,"column":9}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":19},"end":{"line":34,"column":45}},"type":"binary-expr","locations":[{"start":{"line":34,"column":19},"end":{"line":34,"column":30}},{"start":{"line":34,"column":34},"end":{"line":34,"column":45}}],"line":34},"1":{"loc":{"start":{"line":42,"column":15},"end":{"line":42,"column":78}},"type":"cond-expr","locations":[{"start":{"line":42,"column":60},"end":{"line":42,"column":63}},{"start":{"line":42,"column":66},"end":{"line":42,"column":78}}],"line":42},"2":{"loc":{"start":{"line":42,"column":15},"end":{"line":42,"column":57}},"type":"binary-expr","locations":[{"start":{"line":42,"column":15},"end":{"line":42,"column":40}},{"start":{"line":42,"column":44},"end":{"line":42,"column":57}}],"line":42},"3":{"loc":{"start":{"line":49,"column":7},"end":{"line":49,"column":16}},"type":"default-arg","locations":[{"start":{"line":49,"column":14},"end":{"line":49,"column":16}}],"line":49},"4":{"loc":{"start":{"line":61,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":73,"column":7}},{"start":{"line":68,"column":13},"end":{"line":73,"column":7}}],"line":61},"5":{"loc":{"start":{"line":78,"column":2},"end":{"line":78,"column":47}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":78,"column":47}},{"start":{},"end":{}}],"line":78},"6":{"loc":{"start":{"line":78,"column":6},"end":{"line":78,"column":33}},"type":"binary-expr","locations":[{"start":{"line":78,"column":6},"end":{"line":78,"column":13}},{"start":{"line":78,"column":17},"end":{"line":78,"column":33}}],"line":78},"7":{"loc":{"start":{"line":91,"column":7},"end":{"line":110,"column":7}},"type":"binary-expr","locations":[{"start":{"line":91,"column":7},"end":{"line":91,"column":13}},{"start":{"line":92,"column":8},"end":{"line":109,"column":22}}],"line":91},"8":{"loc":{"start":{"line":97,"column":23},"end":{"line":97,"column":87}},"type":"cond-expr","locations":[{"start":{"line":97,"column":71},"end":{"line":97,"column":77}},{"start":{"line":97,"column":80},"end":{"line":97,"column":87}}],"line":97}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListingHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListingHeading.tsx","statementMap":{"0":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"1":{"start":{"line":38,"column":20},"end":{"line":38,"column":34}},"2":{"start":{"line":40,"column":25},"end":{"line":40,"column":60}},"3":{"start":{"line":41,"column":33},"end":{"line":41,"column":76}},"4":{"start":{"line":43,"column":22},"end":{"line":43,"column":54}},"5":{"start":{"line":44,"column":28},"end":{"line":44,"column":83}},"6":{"start":{"line":44,"column":52},"end":{"line":44,"column":67}},"7":{"start":{"line":46,"column":34},"end":{"line":48,"column":29}},"8":{"start":{"line":47,"column":4},"end":{"line":47,"column":78}},"9":{"start":{"line":50,"column":16},"end":{"line":50,"column":42}},"10":{"start":{"line":52,"column":2},"end":{"line":96,"column":4}}},"fnMap":{"0":{"name":"TokenListingHeading","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":43}},"loc":{"start":{"line":36,"column":10},"end":{"line":97,"column":1}},"line":36},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":46},"end":{"line":44,"column":47}},"loc":{"start":{"line":44,"column":52},"end":{"line":44,"column":67}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":52},"end":{"line":46,"column":53}},"loc":{"start":{"line":46,"column":58},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":47,"column":36},"end":{"line":47,"column":76}},"type":"cond-expr","locations":[{"start":{"line":47,"column":61},"end":{"line":47,"column":67}},{"start":{"line":47,"column":70},"end":{"line":47,"column":76}}],"line":47},"1":{"loc":{"start":{"line":61,"column":55},"end":{"line":61,"column":112}},"type":"cond-expr","locations":[{"start":{"line":61,"column":69},"end":{"line":61,"column":90}},{"start":{"line":61,"column":93},"end":{"line":61,"column":112}}],"line":61},"2":{"loc":{"start":{"line":64,"column":9},"end":{"line":64,"column":69}},"type":"cond-expr","locations":[{"start":{"line":64,"column":17},"end":{"line":64,"column":62}},{"start":{"line":64,"column":65},"end":{"line":64,"column":69}}],"line":64},"3":{"loc":{"start":{"line":74,"column":9},"end":{"line":82,"column":9}},"type":"binary-expr","locations":[{"start":{"line":74,"column":9},"end":{"line":74,"column":26}},{"start":{"line":75,"column":10},"end":{"line":81,"column":12}}],"line":74},"4":{"loc":{"start":{"line":76,"column":18},"end":{"line":76,"column":70}},"type":"cond-expr","locations":[{"start":{"line":76,"column":43},"end":{"line":76,"column":55}},{"start":{"line":76,"column":58},"end":{"line":76,"column":70}}],"line":76},"5":{"loc":{"start":{"line":77,"column":21},"end":{"line":77,"column":79}},"type":"cond-expr","locations":[{"start":{"line":77,"column":46},"end":{"line":77,"column":61}},{"start":{"line":77,"column":64},"end":{"line":77,"column":79}}],"line":77},"6":{"loc":{"start":{"line":87,"column":20},"end":{"line":87,"column":85}},"type":"binary-expr","locations":[{"start":{"line":87,"column":20},"end":{"line":87,"column":34}},{"start":{"line":87,"column":38},"end":{"line":87,"column":60}},{"start":{"line":87,"column":65},"end":{"line":87,"column":70}},{"start":{"line":87,"column":74},"end":{"line":87,"column":84}}],"line":87}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetListItemContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetListItemContent.tsx","statementMap":{"0":{"start":{"line":30,"column":22},"end":{"line":30,"column":34}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":59}},"2":{"start":{"line":32,"column":25},"end":{"line":32,"column":60}},"3":{"start":{"line":33,"column":23},"end":{"line":33,"column":56}},"4":{"start":{"line":34,"column":25},"end":{"line":34,"column":60}},"5":{"start":{"line":35,"column":27},"end":{"line":35,"column":64}},"6":{"start":{"line":36,"column":28},"end":{"line":36,"column":66}},"7":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"8":{"start":{"line":39,"column":16},"end":{"line":39,"column":42}},"9":{"start":{"line":41,"column":22},"end":{"line":54,"column":66}},"10":{"start":{"line":42,"column":4},"end":{"line":53,"column":5}},"11":{"start":{"line":43,"column":6},"end":{"line":52,"column":7}},"12":{"start":{"line":44,"column":27},"end":{"line":44,"column":120}},"13":{"start":{"line":45,"column":8},"end":{"line":48,"column":9}},"14":{"start":{"line":46,"column":10},"end":{"line":46,"column":58}},"15":{"start":{"line":47,"column":10},"end":{"line":47,"column":53}},"16":{"start":{"line":50,"column":8},"end":{"line":50,"column":56}},"17":{"start":{"line":51,"column":8},"end":{"line":51,"column":51}},"18":{"start":{"line":56,"column":30},"end":{"line":58,"column":16}},"19":{"start":{"line":57,"column":4},"end":{"line":57,"column":58}},"20":{"start":{"line":60,"column":30},"end":{"line":62,"column":16}},"21":{"start":{"line":61,"column":4},"end":{"line":61,"column":58}},"22":{"start":{"line":64,"column":26},"end":{"line":66,"column":28}},"23":{"start":{"line":65,"column":4},"end":{"line":65,"column":39}},"24":{"start":{"line":68,"column":2},"end":{"line":88,"column":4}}},"fnMap":{"0":{"name":"TokenSetListItemContent","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":39}},"loc":{"start":{"line":29,"column":85},"end":{"line":89,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":34},"end":{"line":41,"column":35}},"loc":{"start":{"line":41,"column":59},"end":{"line":54,"column":3}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":42},"end":{"line":56,"column":43}},"loc":{"start":{"line":56,"column":84},"end":{"line":58,"column":3}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":42},"end":{"line":60,"column":43}},"loc":{"start":{"line":60,"column":68},"end":{"line":62,"column":3}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":64,"column":38},"end":{"line":64,"column":39}},"loc":{"start":{"line":64,"column":85},"end":{"line":66,"column":3}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":43,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":43,"column":6},"end":{"line":52,"column":7}},{"start":{"line":49,"column":13},"end":{"line":52,"column":7}}],"line":43},"2":{"loc":{"start":{"line":45,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":48,"column":9}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":73,"column":17},"end":{"line":75,"column":7}},"type":"binary-expr","locations":[{"start":{"line":73,"column":17},"end":{"line":73,"column":69}},{"start":{"line":74,"column":8},"end":{"line":74,"column":85}}],"line":73},"4":{"loc":{"start":{"line":74,"column":8},"end":{"line":74,"column":85}},"type":"cond-expr","locations":[{"start":{"line":74,"column":62},"end":{"line":74,"column":77}},{"start":{"line":74,"column":80},"end":{"line":74,"column":85}}],"line":74},"5":{"loc":{"start":{"line":81,"column":17},"end":{"line":81,"column":74}},"type":"binary-expr","locations":[{"start":{"line":81,"column":17},"end":{"line":81,"column":32}},{"start":{"line":81,"column":36},"end":{"line":81,"column":74}}],"line":81}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetSelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetSelector.tsx","statementMap":{"0":{"start":{"line":21,"column":16},"end":{"line":21,"column":42}},"1":{"start":{"line":23,"column":25},"end":{"line":27,"column":3}},"2":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"3":{"start":{"line":30,"column":25},"end":{"line":30,"column":60}},"4":{"start":{"line":31,"column":18},"end":{"line":31,"column":46}},"5":{"start":{"line":32,"column":19},"end":{"line":32,"column":42}},"6":{"start":{"line":33,"column":22},"end":{"line":33,"column":34}},"7":{"start":{"line":34,"column":22},"end":{"line":34,"column":54}},"8":{"start":{"line":36,"column":60},"end":{"line":36,"column":81}},"9":{"start":{"line":37,"column":66},"end":{"line":37,"column":87}},"10":{"start":{"line":38,"column":57},"end":{"line":38,"column":75}},"11":{"start":{"line":39,"column":48},"end":{"line":39,"column":66}},"12":{"start":{"line":40,"column":40},"end":{"line":40,"column":61}},"13":{"start":{"line":41,"column":23},"end":{"line":41,"column":73}},"14":{"start":{"line":41,"column":43},"end":{"line":41,"column":62}},"15":{"start":{"line":43,"column":2},"end":{"line":49,"column":31}},"16":{"start":{"line":44,"column":30},"end":{"line":47,"column":10}},"17":{"start":{"line":45,"column":6},"end":{"line":45,"column":19}},"18":{"start":{"line":46,"column":6},"end":{"line":46,"column":17}},"19":{"start":{"line":48,"column":4},"end":{"line":48,"column":61}},"20":{"start":{"line":51,"column":2},"end":{"line":53,"column":15}},"21":{"start":{"line":52,"column":4},"end":{"line":52,"column":36}},"22":{"start":{"line":55,"column":34},"end":{"line":61,"column":33}},"23":{"start":{"line":56,"column":4},"end":{"line":56,"column":23}},"24":{"start":{"line":57,"column":4},"end":{"line":57,"column":58}},"25":{"start":{"line":58,"column":4},"end":{"line":58,"column":60}},"26":{"start":{"line":59,"column":4},"end":{"line":59,"column":66}},"27":{"start":{"line":60,"column":4},"end":{"line":60,"column":36}},"28":{"start":{"line":63,"column":31},"end":{"line":73,"column":41}},"29":{"start":{"line":64,"column":4},"end":{"line":64,"column":31}},"30":{"start":{"line":66,"column":29},"end":{"line":69,"column":6}},"31":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"32":{"start":{"line":71,"column":6},"end":{"line":71,"column":51}},"33":{"start":{"line":75,"column":31},"end":{"line":81,"column":8}},"34":{"start":{"line":76,"column":4},"end":{"line":76,"column":31}},"35":{"start":{"line":77,"column":4},"end":{"line":77,"column":42}},"36":{"start":{"line":78,"column":4},"end":{"line":78,"column":33}},"37":{"start":{"line":79,"column":4},"end":{"line":79,"column":26}},"38":{"start":{"line":80,"column":4},"end":{"line":80,"column":38}},"39":{"start":{"line":83,"column":34},"end":{"line":89,"column":8}},"40":{"start":{"line":84,"column":28},"end":{"line":84,"column":73}},"41":{"start":{"line":85,"column":4},"end":{"line":85,"column":49}},"42":{"start":{"line":86,"column":4},"end":{"line":86,"column":33}},"43":{"start":{"line":87,"column":4},"end":{"line":87,"column":25}},"44":{"start":{"line":88,"column":4},"end":{"line":88,"column":38}},"45":{"start":{"line":91,"column":37},"end":{"line":104,"column":71}},"46":{"start":{"line":92,"column":4},"end":{"line":92,"column":23}},"47":{"start":{"line":93,"column":4},"end":{"line":100,"column":5}},"48":{"start":{"line":94,"column":6},"end":{"line":94,"column":62}},"49":{"start":{"line":95,"column":6},"end":{"line":95,"column":78}},"50":{"start":{"line":96,"column":11},"end":{"line":100,"column":5}},"51":{"start":{"line":97,"column":6},"end":{"line":97,"column":104}},"52":{"start":{"line":99,"column":6},"end":{"line":99,"column":110}},"53":{"start":{"line":101,"column":4},"end":{"line":101,"column":27}},"54":{"start":{"line":102,"column":4},"end":{"line":102,"column":36}},"55":{"start":{"line":103,"column":4},"end":{"line":103,"column":39}},"56":{"start":{"line":106,"column":24},"end":{"line":108,"column":16}},"57":{"start":{"line":107,"column":4},"end":{"line":107,"column":49}},"58":{"start":{"line":110,"column":26},"end":{"line":112,"column":16}},"59":{"start":{"line":111,"column":4},"end":{"line":111,"column":55}},"60":{"start":{"line":114,"column":23},"end":{"line":116,"column":28}},"61":{"start":{"line":115,"column":4},"end":{"line":115,"column":30}},"62":{"start":{"line":118,"column":33},"end":{"line":121,"column":8}},"63":{"start":{"line":119,"column":4},"end":{"line":119,"column":39}},"64":{"start":{"line":120,"column":4},"end":{"line":120,"column":36}},"65":{"start":{"line":123,"column":27},"end":{"line":125,"column":8}},"66":{"start":{"line":124,"column":4},"end":{"line":124,"column":52}},"67":{"start":{"line":127,"column":38},"end":{"line":129,"column":8}},"68":{"start":{"line":128,"column":4},"end":{"line":128,"column":36}},"69":{"start":{"line":131,"column":37},"end":{"line":133,"column":8}},"70":{"start":{"line":132,"column":4},"end":{"line":132,"column":35}},"71":{"start":{"line":135,"column":23},"end":{"line":137,"column":33}},"72":{"start":{"line":136,"column":4},"end":{"line":136,"column":69}},"73":{"start":{"line":139,"column":2},"end":{"line":251,"column":4}}},"fnMap":{"0":{"name":"TokenSetSelector","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":40}},"loc":{"start":{"line":20,"column":123},"end":{"line":252,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":37},"end":{"line":41,"column":38}},"loc":{"start":{"line":41,"column":43},"end":{"line":41,"column":62}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":18},"end":{"line":43,"column":19}},"loc":{"start":{"line":43,"column":24},"end":{"line":49,"column":3}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":74},"end":{"line":44,"column":75}},"loc":{"start":{"line":44,"column":88},"end":{"line":47,"column":5}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":18},"end":{"line":51,"column":19}},"loc":{"start":{"line":51,"column":24},"end":{"line":53,"column":3}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":52},"end":{"line":55,"column":53}},"loc":{"start":{"line":55,"column":93},"end":{"line":61,"column":3}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":49},"end":{"line":63,"column":50}},"loc":{"start":{"line":63,"column":77},"end":{"line":73,"column":3}},"line":63},"7":{"name":"(anonymous_7)","decl":{"start":{"line":75,"column":49},"end":{"line":75,"column":50}},"loc":{"start":{"line":75,"column":71},"end":{"line":81,"column":3}},"line":75},"8":{"name":"(anonymous_8)","decl":{"start":{"line":83,"column":52},"end":{"line":83,"column":53}},"loc":{"start":{"line":83,"column":74},"end":{"line":89,"column":3}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":55},"end":{"line":91,"column":56}},"loc":{"start":{"line":91,"column":96},"end":{"line":104,"column":3}},"line":91},"10":{"name":"(anonymous_10)","decl":{"start":{"line":106,"column":36},"end":{"line":106,"column":37}},"loc":{"start":{"line":106,"column":58},"end":{"line":108,"column":3}},"line":106},"11":{"name":"(anonymous_11)","decl":{"start":{"line":110,"column":38},"end":{"line":110,"column":39}},"loc":{"start":{"line":110,"column":44},"end":{"line":112,"column":3}},"line":110},"12":{"name":"(anonymous_12)","decl":{"start":{"line":114,"column":35},"end":{"line":114,"column":36}},"loc":{"start":{"line":114,"column":52},"end":{"line":116,"column":3}},"line":114},"13":{"name":"(anonymous_13)","decl":{"start":{"line":118,"column":45},"end":{"line":118,"column":46}},"loc":{"start":{"line":118,"column":51},"end":{"line":121,"column":3}},"line":118},"14":{"name":"(anonymous_14)","decl":{"start":{"line":123,"column":39},"end":{"line":123,"column":40}},"loc":{"start":{"line":123,"column":87},"end":{"line":125,"column":3}},"line":123},"15":{"name":"(anonymous_15)","decl":{"start":{"line":127,"column":50},"end":{"line":127,"column":51}},"loc":{"start":{"line":127,"column":56},"end":{"line":129,"column":3}},"line":127},"16":{"name":"(anonymous_16)","decl":{"start":{"line":131,"column":49},"end":{"line":131,"column":50}},"loc":{"start":{"line":131,"column":55},"end":{"line":133,"column":3}},"line":131},"17":{"name":"(anonymous_17)","decl":{"start":{"line":135,"column":35},"end":{"line":135,"column":36}},"loc":{"start":{"line":135,"column":61},"end":{"line":137,"column":3}},"line":135}},"branchMap":{"0":{"loc":{"start":{"line":68,"column":19},"end":{"line":68,"column":145}},"type":"cond-expr","locations":[{"start":{"line":68,"column":80},"end":{"line":68,"column":114}},{"start":{"line":68,"column":117},"end":{"line":68,"column":145}}],"line":68},"1":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":70},"2":{"loc":{"start":{"line":93,"column":4},"end":{"line":100,"column":5}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":100,"column":5}},{"start":{"line":96,"column":11},"end":{"line":100,"column":5}}],"line":93},"3":{"loc":{"start":{"line":96,"column":11},"end":{"line":100,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":11},"end":{"line":100,"column":5}},{"start":{"line":98,"column":11},"end":{"line":100,"column":5}}],"line":96},"4":{"loc":{"start":{"line":170,"column":20},"end":{"line":170,"column":62}},"type":"cond-expr","locations":[{"start":{"line":170,"column":34},"end":{"line":170,"column":48}},{"start":{"line":170,"column":51},"end":{"line":170,"column":62}}],"line":170},"5":{"loc":{"start":{"line":194,"column":18},"end":{"line":194,"column":55}},"type":"cond-expr","locations":[{"start":{"line":194,"column":32},"end":{"line":194,"column":41}},{"start":{"line":194,"column":44},"end":{"line":194,"column":55}}],"line":194},"6":{"loc":{"start":{"line":246,"column":9},"end":{"line":248,"column":9}},"type":"binary-expr","locations":[{"start":{"line":246,"column":9},"end":{"line":246,"column":40}},{"start":{"line":247,"column":8},"end":{"line":247,"column":87}}],"line":246}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree.tsx","statementMap":{"0":{"start":{"line":53,"column":17},"end":{"line":53,"column":44}},"1":{"start":{"line":54,"column":25},"end":{"line":54,"column":60}},"2":{"start":{"line":55,"column":23},"end":{"line":55,"column":56}},"3":{"start":{"line":56,"column":25},"end":{"line":56,"column":60}},"4":{"start":{"line":57,"column":20},"end":{"line":57,"column":59}},"5":{"start":{"line":58,"column":24},"end":{"line":58,"column":81}},"6":{"start":{"line":58,"column":38},"end":{"line":58,"column":67}},"7":{"start":{"line":59,"column":28},"end":{"line":59,"column":69}},"8":{"start":{"line":60,"column":22},"end":{"line":60,"column":54}},"9":{"start":{"line":62,"column":29},"end":{"line":62,"column":87}},"10":{"start":{"line":62,"column":49},"end":{"line":62,"column":73}},"11":{"start":{"line":64,"column":27},"end":{"line":95,"column":42}},"12":{"start":{"line":65,"column":52},"end":{"line":65,"column":69}},"13":{"start":{"line":66,"column":26},"end":{"line":66,"column":51}},"14":{"start":{"line":68,"column":4},"end":{"line":87,"column":7}},"15":{"start":{"line":69,"column":29},"end":{"line":69,"column":119}},"16":{"start":{"line":69,"column":58},"end":{"line":69,"column":118}},"17":{"start":{"line":71,"column":29},"end":{"line":71,"column":86}},"18":{"start":{"line":73,"column":6},"end":{"line":86,"column":7}},"19":{"start":{"line":75,"column":26},"end":{"line":75,"column":33}},"20":{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},"21":{"start":{"line":77,"column":10},"end":{"line":77,"column":67}},"22":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"23":{"start":{"line":81,"column":12},"end":{"line":81,"column":66}},"24":{"start":{"line":84,"column":10},"end":{"line":84,"column":70}},"25":{"start":{"line":89,"column":4},"end":{"line":94,"column":10}},"26":{"start":{"line":90,"column":24},"end":{"line":90,"column":78}},"27":{"start":{"line":91,"column":22},"end":{"line":94,"column":7}},"28":{"start":{"line":97,"column":2},"end":{"line":104,"column":81}},"29":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"30":{"start":{"line":99,"column":75},"end":{"line":99,"column":81}},"31":{"start":{"line":99,"column":101},"end":{"line":99,"column":105}},"32":{"start":{"line":100,"column":6},"end":{"line":100,"column":98}},"33":{"start":{"line":100,"column":65},"end":{"line":100,"column":71}},"34":{"start":{"line":100,"column":91},"end":{"line":100,"column":95}},"35":{"start":{"line":103,"column":4},"end":{"line":103,"column":31}},"36":{"start":{"line":106,"column":32},"end":{"line":135,"column":27}},"37":{"start":{"line":107,"column":4},"end":{"line":112,"column":5}},"38":{"start":{"line":108,"column":6},"end":{"line":110,"column":7}},"39":{"start":{"line":109,"column":8},"end":{"line":109,"column":31}},"40":{"start":{"line":111,"column":6},"end":{"line":111,"column":66}},"41":{"start":{"line":114,"column":22},"end":{"line":114,"column":114}},"42":{"start":{"line":114,"column":42},"end":{"line":114,"column":94}},"43":{"start":{"line":114,"column":107},"end":{"line":114,"column":113}},"44":{"start":{"line":115,"column":34},"end":{"line":117,"column":50}},"45":{"start":{"line":116,"column":30},"end":{"line":116,"column":58}},"46":{"start":{"line":117,"column":35},"end":{"line":117,"column":49}},"47":{"start":{"line":119,"column":4},"end":{"line":124,"column":5}},"48":{"start":{"line":120,"column":6},"end":{"line":120,"column":39}},"49":{"start":{"line":123,"column":6},"end":{"line":123,"column":18}},"50":{"start":{"line":126,"column":4},"end":{"line":132,"column":5}},"51":{"start":{"line":127,"column":6},"end":{"line":128,"column":41}},"52":{"start":{"line":131,"column":6},"end":{"line":131,"column":29}},"53":{"start":{"line":134,"column":4},"end":{"line":134,"column":17}},"54":{"start":{"line":137,"column":22},"end":{"line":160,"column":4}},"55":{"start":{"line":138,"column":4},"end":{"line":149,"column":7}},"56":{"start":{"line":138,"column":25},"end":{"line":149,"column":5}},"57":{"start":{"line":162,"column":24},"end":{"line":184,"column":44}},"58":{"start":{"line":163,"column":22},"end":{"line":177,"column":10}},"59":{"start":{"line":164,"column":20},"end":{"line":164,"column":58}},"60":{"start":{"line":164,"column":43},"end":{"line":164,"column":57}},"61":{"start":{"line":165,"column":6},"end":{"line":175,"column":7}},"62":{"start":{"line":167,"column":8},"end":{"line":167,"column":24}},"63":{"start":{"line":168,"column":32},"end":{"line":168,"column":60}},"64":{"start":{"line":169,"column":8},"end":{"line":174,"column":9}},"65":{"start":{"line":171,"column":10},"end":{"line":173,"column":14}},"66":{"start":{"line":172,"column":12},"end":{"line":172,"column":78}},"67":{"start":{"line":176,"column":6},"end":{"line":176,"column":17}},"68":{"start":{"line":179,"column":4},"end":{"line":179,"column":24}},"69":{"start":{"line":181,"column":4},"end":{"line":183,"column":32}},"70":{"start":{"line":182,"column":30},"end":{"line":182,"column":36}},"71":{"start":{"line":183,"column":25},"end":{"line":183,"column":29}},"72":{"start":{"line":186,"column":29},"end":{"line":203,"column":8}},"73":{"start":{"line":192,"column":29},"end":{"line":196,"column":5}},"74":{"start":{"line":197,"column":20},"end":{"line":197,"column":82}},"75":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"76":{"start":{"line":200,"column":6},"end":{"line":200,"column":66}},"77":{"start":{"line":202,"column":4},"end":{"line":202,"column":21}},"78":{"start":{"line":205,"column":2},"end":{"line":218,"column":4}}},"fnMap":{"0":{"name":"TokenSetTree","decl":{"start":{"line":50,"column":24},"end":{"line":50,"column":36}},"loc":{"start":{"line":52,"column":22},"end":{"line":219,"column":1}},"line":52},"1":{"name":"(anonymous_1)","decl":{"start":{"line":58,"column":32},"end":{"line":58,"column":33}},"loc":{"start":{"line":58,"column":38},"end":{"line":58,"column":67}},"line":58},"2":{"name":"(anonymous_2)","decl":{"start":{"line":62,"column":43},"end":{"line":62,"column":44}},"loc":{"start":{"line":62,"column":49},"end":{"line":62,"column":73}},"line":62},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":41},"end":{"line":64,"column":42}},"loc":{"start":{"line":64,"column":47},"end":{"line":95,"column":3}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":68,"column":35},"end":{"line":68,"column":36}},"loc":{"start":{"line":68,"column":62},"end":{"line":87,"column":5}},"line":68},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":47},"end":{"line":69,"column":48}},"loc":{"start":{"line":69,"column":58},"end":{"line":69,"column":118}},"line":69},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":14},"end":{"line":90,"column":15}},"loc":{"start":{"line":90,"column":24},"end":{"line":90,"column":78}},"line":90},"7":{"name":"(anonymous_7)","decl":{"start":{"line":91,"column":11},"end":{"line":91,"column":12}},"loc":{"start":{"line":91,"column":22},"end":{"line":94,"column":7}},"line":91},"8":{"name":"(anonymous_8)","decl":{"start":{"line":97,"column":18},"end":{"line":97,"column":19}},"loc":{"start":{"line":97,"column":24},"end":{"line":104,"column":3}},"line":97},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":59},"end":{"line":99,"column":60}},"loc":{"start":{"line":99,"column":75},"end":{"line":99,"column":81}},"line":99},"10":{"name":"(anonymous_10)","decl":{"start":{"line":99,"column":87},"end":{"line":99,"column":88}},"loc":{"start":{"line":99,"column":101},"end":{"line":99,"column":105}},"line":99},"11":{"name":"(anonymous_11)","decl":{"start":{"line":100,"column":49},"end":{"line":100,"column":50}},"loc":{"start":{"line":100,"column":65},"end":{"line":100,"column":71}},"line":100},"12":{"name":"(anonymous_12)","decl":{"start":{"line":100,"column":77},"end":{"line":100,"column":78}},"loc":{"start":{"line":100,"column":91},"end":{"line":100,"column":95}},"line":100},"13":{"name":"(anonymous_13)","decl":{"start":{"line":106,"column":44},"end":{"line":106,"column":45}},"loc":{"start":{"line":106,"column":64},"end":{"line":135,"column":3}},"line":106},"14":{"name":"(anonymous_14)","decl":{"start":{"line":114,"column":35},"end":{"line":114,"column":36}},"loc":{"start":{"line":114,"column":42},"end":{"line":114,"column":94}},"line":114},"15":{"name":"(anonymous_15)","decl":{"start":{"line":114,"column":100},"end":{"line":114,"column":101}},"loc":{"start":{"line":114,"column":107},"end":{"line":114,"column":113}},"line":114},"16":{"name":"(anonymous_16)","decl":{"start":{"line":116,"column":14},"end":{"line":116,"column":15}},"loc":{"start":{"line":116,"column":30},"end":{"line":116,"column":58}},"line":116},"17":{"name":"(anonymous_17)","decl":{"start":{"line":117,"column":11},"end":{"line":117,"column":12}},"loc":{"start":{"line":117,"column":35},"end":{"line":117,"column":49}},"line":117},"18":{"name":"(anonymous_18)","decl":{"start":{"line":119,"column":36},"end":{"line":119,"column":37}},"loc":{"start":{"line":120,"column":6},"end":{"line":120,"column":39}},"line":120},"19":{"name":"(anonymous_19)","decl":{"start":{"line":126,"column":35},"end":{"line":126,"column":36}},"loc":{"start":{"line":127,"column":6},"end":{"line":128,"column":41}},"line":127},"20":{"name":"(anonymous_20)","decl":{"start":{"line":137,"column":30},"end":{"line":137,"column":31}},"loc":{"start":{"line":138,"column":4},"end":{"line":149,"column":7}},"line":138},"21":{"name":"(anonymous_21)","decl":{"start":{"line":138,"column":14},"end":{"line":138,"column":15}},"loc":{"start":{"line":138,"column":25},"end":{"line":149,"column":5}},"line":138},"22":{"name":"(anonymous_22)","decl":{"start":{"line":162,"column":42},"end":{"line":162,"column":43}},"loc":{"start":{"line":162,"column":82},"end":{"line":184,"column":3}},"line":162},"23":{"name":"(anonymous_23)","decl":{"start":{"line":163,"column":58},"end":{"line":163,"column":59}},"loc":{"start":{"line":163,"column":73},"end":{"line":177,"column":5}},"line":163},"24":{"name":"(anonymous_24)","decl":{"start":{"line":164,"column":31},"end":{"line":164,"column":32}},"loc":{"start":{"line":164,"column":43},"end":{"line":164,"column":57}},"line":164},"25":{"name":"(anonymous_25)","decl":{"start":{"line":171,"column":41},"end":{"line":171,"column":42}},"loc":{"start":{"line":172,"column":12},"end":{"line":172,"column":78}},"line":172},"26":{"name":"(anonymous_26)","decl":{"start":{"line":182,"column":14},"end":{"line":182,"column":15}},"loc":{"start":{"line":182,"column":30},"end":{"line":182,"column":36}},"line":182},"27":{"name":"(anonymous_27)","decl":{"start":{"line":183,"column":11},"end":{"line":183,"column":12}},"loc":{"start":{"line":183,"column":25},"end":{"line":183,"column":29}},"line":183},"28":{"name":"(anonymous_28)","decl":{"start":{"line":186,"column":47},"end":{"line":186,"column":48}},"loc":{"start":{"line":191,"column":7},"end":{"line":203,"column":3}},"line":191}},"branchMap":{"0":{"loc":{"start":{"line":73,"column":6},"end":{"line":86,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":86,"column":7}},{"start":{},"end":{}}],"line":73},"1":{"loc":{"start":{"line":73,"column":10},"end":{"line":73,"column":53}},"type":"binary-expr","locations":[{"start":{"line":73,"column":10},"end":{"line":73,"column":35}},{"start":{"line":73,"column":39},"end":{"line":73,"column":53}}],"line":73},"2":{"loc":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},{"start":{},"end":{}}],"line":80},"3":{"loc":{"start":{"line":93,"column":20},"end":{"line":93,"column":79}},"type":"cond-expr","locations":[{"start":{"line":93,"column":34},"end":{"line":93,"column":67}},{"start":{"line":93,"column":70},"end":{"line":93,"column":79}}],"line":93},"4":{"loc":{"start":{"line":93,"column":34},"end":{"line":93,"column":67}},"type":"binary-expr","locations":[{"start":{"line":93,"column":34},"end":{"line":93,"column":62}},{"start":{"line":93,"column":66},"end":{"line":93,"column":67}}],"line":93},"5":{"loc":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":99},"6":{"loc":{"start":{"line":107,"column":4},"end":{"line":112,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":112,"column":5}},{"start":{},"end":{}}],"line":107},"7":{"loc":{"start":{"line":108,"column":6},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":108,"column":6},"end":{"line":110,"column":7}},{"start":{},"end":{}}],"line":108},"8":{"loc":{"start":{"line":114,"column":42},"end":{"line":114,"column":94}},"type":"binary-expr","locations":[{"start":{"line":114,"column":42},"end":{"line":114,"column":70}},{"start":{"line":114,"column":74},"end":{"line":114,"column":94}}],"line":114},"9":{"loc":{"start":{"line":119,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":124,"column":5}},{"start":{},"end":{}}],"line":119},"10":{"loc":{"start":{"line":126,"column":4},"end":{"line":132,"column":5}},"type":"if","locations":[{"start":{"line":126,"column":4},"end":{"line":132,"column":5}},{"start":{},"end":{}}],"line":126},"11":{"loc":{"start":{"line":127,"column":6},"end":{"line":128,"column":41}},"type":"binary-expr","locations":[{"start":{"line":127,"column":6},"end":{"line":127,"column":39}},{"start":{"line":128,"column":9},"end":{"line":128,"column":41}}],"line":127},"12":{"loc":{"start":{"line":146,"column":16},"end":{"line":146,"column":59}},"type":"binary-expr","locations":[{"start":{"line":146,"column":16},"end":{"line":146,"column":44}},{"start":{"line":146,"column":48},"end":{"line":146,"column":59}}],"line":146},"13":{"loc":{"start":{"line":147,"column":17},"end":{"line":147,"column":69}},"type":"binary-expr","locations":[{"start":{"line":147,"column":17},"end":{"line":147,"column":32}},{"start":{"line":147,"column":36},"end":{"line":147,"column":69}}],"line":147},"14":{"loc":{"start":{"line":165,"column":6},"end":{"line":175,"column":7}},"type":"if","locations":[{"start":{"line":165,"column":6},"end":{"line":175,"column":7}},{"start":{},"end":{}}],"line":165},"15":{"loc":{"start":{"line":169,"column":8},"end":{"line":174,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":174,"column":9}},{"start":{},"end":{}}],"line":169},"16":{"loc":{"start":{"line":169,"column":12},"end":{"line":169,"column":43}},"type":"binary-expr","locations":[{"start":{"line":169,"column":12},"end":{"line":169,"column":27}},{"start":{"line":169,"column":31},"end":{"line":169,"column":43}}],"line":169},"17":{"loc":{"start":{"line":172,"column":12},"end":{"line":172,"column":78}},"type":"binary-expr","locations":[{"start":{"line":172,"column":12},"end":{"line":172,"column":32}},{"start":{"line":172,"column":36},"end":{"line":172,"column":78}}],"line":172},"18":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},{"start":{},"end":{}}],"line":199}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTreeItemContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTreeItemContent.tsx","statementMap":{"0":{"start":{"line":35,"column":19},"end":{"line":35,"column":32}},"1":{"start":{"line":36,"column":22},"end":{"line":36,"column":53}},"2":{"start":{"line":37,"column":25},"end":{"line":37,"column":60}},"3":{"start":{"line":38,"column":25},"end":{"line":38,"column":60}},"4":{"start":{"line":39,"column":27},"end":{"line":39,"column":64}},"5":{"start":{"line":40,"column":28},"end":{"line":40,"column":66}},"6":{"start":{"line":42,"column":33},"end":{"line":42,"column":88}},"7":{"start":{"line":44,"column":22},"end":{"line":49,"column":38}},"8":{"start":{"line":45,"column":4},"end":{"line":48,"column":5}},"9":{"start":{"line":46,"column":6},"end":{"line":46,"column":54}},"10":{"start":{"line":47,"column":6},"end":{"line":47,"column":49}},"11":{"start":{"line":51,"column":30},"end":{"line":58,"column":22}},"12":{"start":{"line":52,"column":4},"end":{"line":57,"column":5}},"13":{"start":{"line":53,"column":6},"end":{"line":53,"column":55}},"14":{"start":{"line":55,"column":24},"end":{"line":55,"column":119}},"15":{"start":{"line":55,"column":49},"end":{"line":55,"column":99}},"16":{"start":{"line":55,"column":112},"end":{"line":55,"column":118}},"17":{"start":{"line":56,"column":6},"end":{"line":56,"column":80}},"18":{"start":{"line":60,"column":30},"end":{"line":62,"column":16}},"19":{"start":{"line":61,"column":4},"end":{"line":61,"column":58}},"20":{"start":{"line":64,"column":26},"end":{"line":66,"column":28}},"21":{"start":{"line":65,"column":4},"end":{"line":65,"column":39}},"22":{"start":{"line":68,"column":2},"end":{"line":87,"column":4}}},"fnMap":{"0":{"name":"TokenSetTreeItemContent","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":39}},"loc":{"start":{"line":34,"column":33},"end":{"line":88,"column":1}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":34},"end":{"line":44,"column":35}},"loc":{"start":{"line":44,"column":53},"end":{"line":49,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":42},"end":{"line":51,"column":43}},"loc":{"start":{"line":51,"column":83},"end":{"line":58,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":42},"end":{"line":55,"column":43}},"loc":{"start":{"line":55,"column":49},"end":{"line":55,"column":99}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":105},"end":{"line":55,"column":106}},"loc":{"start":{"line":55,"column":112},"end":{"line":55,"column":118}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":60,"column":42},"end":{"line":60,"column":43}},"loc":{"start":{"line":60,"column":68},"end":{"line":62,"column":3}},"line":60},"6":{"name":"(anonymous_6)","decl":{"start":{"line":64,"column":38},"end":{"line":64,"column":39}},"loc":{"start":{"line":64,"column":85},"end":{"line":66,"column":3}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":57,"column":5}},{"start":{"line":54,"column":11},"end":{"line":57,"column":5}}],"line":52},"2":{"loc":{"start":{"line":55,"column":49},"end":{"line":55,"column":99}},"type":"binary-expr","locations":[{"start":{"line":55,"column":49},"end":{"line":55,"column":76}},{"start":{"line":55,"column":80},"end":{"line":55,"column":99}}],"line":55},"3":{"loc":{"start":{"line":77,"column":20},"end":{"line":77,"column":86}},"type":"binary-expr","locations":[{"start":{"line":77,"column":20},"end":{"line":77,"column":43}},{"start":{"line":77,"column":47},"end":{"line":77,"column":86}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tokens.tsx","statementMap":{"0":{"start":{"line":34,"column":20},"end":{"line":82,"column":1}},"1":{"start":{"line":35,"column":28},"end":{"line":35,"column":48}},"2":{"start":{"line":36,"column":2},"end":{"line":38,"column":13}},"3":{"start":{"line":37,"column":4},"end":{"line":37,"column":18}},"4":{"start":{"line":40,"column":2},"end":{"line":81,"column":4}},"5":{"start":{"line":85,"column":17},"end":{"line":85,"column":44}},"6":{"start":{"line":86,"column":22},"end":{"line":86,"column":54}},"7":{"start":{"line":87,"column":25},"end":{"line":87,"column":60}},"8":{"start":{"line":88,"column":26},"end":{"line":88,"column":62}},"9":{"start":{"line":89,"column":23},"end":{"line":89,"column":56}},"10":{"start":{"line":90,"column":23},"end":{"line":90,"column":56}},"11":{"start":{"line":91,"column":23},"end":{"line":91,"column":56}},"12":{"start":{"line":92,"column":32},"end":{"line":92,"column":74}},"13":{"start":{"line":93,"column":28},"end":{"line":93,"column":66}},"14":{"start":{"line":94,"column":22},"end":{"line":94,"column":54}},"15":{"start":{"line":95,"column":28},"end":{"line":95,"column":66}},"16":{"start":{"line":96,"column":19},"end":{"line":96,"column":42}},"17":{"start":{"line":97,"column":50},"end":{"line":97,"column":70}},"18":{"start":{"line":98,"column":30},"end":{"line":98,"column":41}},"19":{"start":{"line":99,"column":19},"end":{"line":99,"column":53}},"20":{"start":{"line":101,"column":2},"end":{"line":105,"column":9}},"21":{"start":{"line":102,"column":4},"end":{"line":104,"column":5}},"22":{"start":{"line":103,"column":6},"end":{"line":103,"column":67}},"23":{"start":{"line":107,"column":2},"end":{"line":111,"column":23}},"24":{"start":{"line":108,"column":4},"end":{"line":110,"column":5}},"25":{"start":{"line":109,"column":6},"end":{"line":109,"column":70}},"26":{"start":{"line":113,"column":25},"end":{"line":116,"column":3}},"27":{"start":{"line":114,"column":10},"end":{"line":114,"column":100}},"28":{"start":{"line":118,"column":20},"end":{"line":118,"column":50}},"29":{"start":{"line":120,"column":28},"end":{"line":120,"column":63}},"30":{"start":{"line":122,"column":27},"end":{"line":125,"column":27}},"31":{"start":{"line":123,"column":4},"end":{"line":123,"column":19}},"32":{"start":{"line":124,"column":4},"end":{"line":124,"column":45}},"33":{"start":{"line":127,"column":25},"end":{"line":146,"column":43}},"34":{"start":{"line":128,"column":4},"end":{"line":144,"column":5}},"35":{"start":{"line":129,"column":21},"end":{"line":137,"column":8}},"36":{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},"37":{"start":{"line":131,"column":10},"end":{"line":131,"column":19}},"38":{"start":{"line":133,"column":8},"end":{"line":135,"column":9}},"39":{"start":{"line":134,"column":10},"end":{"line":134,"column":20}},"40":{"start":{"line":136,"column":8},"end":{"line":136,"column":17}},"41":{"start":{"line":138,"column":6},"end":{"line":143,"column":10}},"42":{"start":{"line":138,"column":66},"end":{"line":143,"column":7}},"43":{"start":{"line":145,"column":4},"end":{"line":145,"column":14}},"44":{"start":{"line":148,"column":42},"end":{"line":150,"column":24}},"45":{"start":{"line":149,"column":4},"end":{"line":149,"column":43}},"46":{"start":{"line":152,"column":70},"end":{"line":152,"column":118}},"47":{"start":{"line":154,"column":29},"end":{"line":159,"column":24}},"48":{"start":{"line":155,"column":4},"end":{"line":158,"column":5}},"49":{"start":{"line":156,"column":6},"end":{"line":156,"column":41}},"50":{"start":{"line":157,"column":6},"end":{"line":157,"column":47}},"51":{"start":{"line":161,"column":29},"end":{"line":163,"column":23}},"52":{"start":{"line":161,"column":50},"end":{"line":163,"column":3}},"53":{"start":{"line":165,"column":2},"end":{"line":170,"column":76}},"54":{"start":{"line":168,"column":4},"end":{"line":168,"column":19}},"55":{"start":{"line":169,"column":4},"end":{"line":169,"column":59}},"56":{"start":{"line":172,"column":2},"end":{"line":180,"column":72}},"57":{"start":{"line":175,"column":4},"end":{"line":179,"column":5}},"58":{"start":{"line":176,"column":6},"end":{"line":176,"column":53}},"59":{"start":{"line":178,"column":6},"end":{"line":178,"column":54}},"60":{"start":{"line":182,"column":2},"end":{"line":185,"column":42}},"61":{"start":{"line":183,"column":28},"end":{"line":183,"column":76}},"62":{"start":{"line":184,"column":4},"end":{"line":184,"column":63}},"63":{"start":{"line":187,"column":32},"end":{"line":191,"column":35}},"64":{"start":{"line":188,"column":4},"end":{"line":190,"column":5}},"65":{"start":{"line":189,"column":6},"end":{"line":189,"column":111}},"66":{"start":{"line":193,"column":2},"end":{"line":193,"column":29}},"67":{"start":{"line":193,"column":17},"end":{"line":193,"column":29}},"68":{"start":{"line":195,"column":2},"end":{"line":306,"column":4}},"69":{"start":{"line":286,"column":18},"end":{"line":294,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":34,"column":20},"end":{"line":34,"column":21}},"loc":{"start":{"line":34,"column":82},"end":{"line":82,"column":1}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":18},"end":{"line":36,"column":19}},"loc":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}},"line":36},"2":{"name":"Tokens","decl":{"start":{"line":84,"column":9},"end":{"line":84,"column":15}},"loc":{"start":{"line":84,"column":53},"end":{"line":307,"column":1}},"line":84},"3":{"name":"(anonymous_3)","decl":{"start":{"line":101,"column":18},"end":{"line":101,"column":19}},"loc":{"start":{"line":101,"column":24},"end":{"line":105,"column":3}},"line":101},"4":{"name":"(anonymous_4)","decl":{"start":{"line":103,"column":50},"end":{"line":103,"column":51}},"loc":{"start":{"line":103,"column":56},"end":{"line":103,"column":58}},"line":103},"5":{"name":"(anonymous_5)","decl":{"start":{"line":107,"column":18},"end":{"line":107,"column":19}},"loc":{"start":{"line":107,"column":24},"end":{"line":111,"column":3}},"line":107},"6":{"name":"(anonymous_6)","decl":{"start":{"line":114,"column":4},"end":{"line":114,"column":5}},"loc":{"start":{"line":114,"column":10},"end":{"line":114,"column":100}},"line":114},"7":{"name":"(anonymous_7)","decl":{"start":{"line":122,"column":45},"end":{"line":122,"column":46}},"loc":{"start":{"line":122,"column":62},"end":{"line":125,"column":3}},"line":122},"8":{"name":"(anonymous_8)","decl":{"start":{"line":127,"column":39},"end":{"line":127,"column":40}},"loc":{"start":{"line":127,"column":45},"end":{"line":146,"column":3}},"line":127},"9":{"name":"(anonymous_9)","decl":{"start":{"line":129,"column":76},"end":{"line":129,"column":77}},"loc":{"start":{"line":129,"column":86},"end":{"line":137,"column":7}},"line":129},"10":{"name":"(anonymous_10)","decl":{"start":{"line":138,"column":24},"end":{"line":138,"column":25}},"loc":{"start":{"line":138,"column":66},"end":{"line":143,"column":7}},"line":138},"11":{"name":"(anonymous_11)","decl":{"start":{"line":148,"column":60},"end":{"line":148,"column":61}},"loc":{"start":{"line":148,"column":66},"end":{"line":150,"column":3}},"line":148},"12":{"name":"(anonymous_12)","decl":{"start":{"line":154,"column":47},"end":{"line":154,"column":48}},"loc":{"start":{"line":154,"column":73},"end":{"line":159,"column":3}},"line":154},"13":{"name":"(anonymous_13)","decl":{"start":{"line":161,"column":43},"end":{"line":161,"column":44}},"loc":{"start":{"line":161,"column":50},"end":{"line":163,"column":3}},"line":161},"14":{"name":"(anonymous_14)","decl":{"start":{"line":165,"column":18},"end":{"line":165,"column":19}},"loc":{"start":{"line":165,"column":24},"end":{"line":170,"column":3}},"line":165},"15":{"name":"(anonymous_15)","decl":{"start":{"line":172,"column":18},"end":{"line":172,"column":19}},"loc":{"start":{"line":172,"column":24},"end":{"line":180,"column":3}},"line":172},"16":{"name":"(anonymous_16)","decl":{"start":{"line":182,"column":18},"end":{"line":182,"column":19}},"loc":{"start":{"line":182,"column":24},"end":{"line":185,"column":3}},"line":182},"17":{"name":"(anonymous_17)","decl":{"start":{"line":187,"column":50},"end":{"line":187,"column":51}},"loc":{"start":{"line":187,"column":72},"end":{"line":191,"column":3}},"line":187},"18":{"name":"(anonymous_18)","decl":{"start":{"line":283,"column":36},"end":{"line":283,"column":37}},"loc":{"start":{"line":286,"column":18},"end":{"line":294,"column":24}},"line":286}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":7},"end":{"line":79,"column":14}},"type":"cond-expr","locations":[{"start":{"line":43,"column":8},"end":{"line":78,"column":21}},{"start":{"line":79,"column":10},"end":{"line":79,"column":14}}],"line":42},"1":{"loc":{"start":{"line":102,"column":4},"end":{"line":104,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":104,"column":5}},{"start":{},"end":{}}],"line":102},"2":{"loc":{"start":{"line":108,"column":4},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":108,"column":4},"end":{"line":110,"column":5}},{"start":{},"end":{}}],"line":108},"3":{"loc":{"start":{"line":108,"column":8},"end":{"line":108,"column":96}},"type":"binary-expr","locations":[{"start":{"line":108,"column":8},"end":{"line":108,"column":25}},{"start":{"line":108,"column":29},"end":{"line":108,"column":45}},{"start":{"line":108,"column":49},"end":{"line":108,"column":96}}],"line":108},"4":{"loc":{"start":{"line":128,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":128},"5":{"loc":{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},"type":"if","locations":[{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},{"start":{},"end":{}}],"line":130},"6":{"loc":{"start":{"line":133,"column":8},"end":{"line":135,"column":9}},"type":"if","locations":[{"start":{"line":133,"column":8},"end":{"line":135,"column":9}},{"start":{},"end":{}}],"line":133},"7":{"loc":{"start":{"line":155,"column":4},"end":{"line":158,"column":5}},"type":"if","locations":[{"start":{"line":155,"column":4},"end":{"line":158,"column":5}},{"start":{},"end":{}}],"line":155},"8":{"loc":{"start":{"line":155,"column":8},"end":{"line":155,"column":40}},"type":"binary-expr","locations":[{"start":{"line":155,"column":8},"end":{"line":155,"column":22}},{"start":{"line":155,"column":26},"end":{"line":155,"column":40}}],"line":155},"9":{"loc":{"start":{"line":175,"column":4},"end":{"line":179,"column":5}},"type":"if","locations":[{"start":{"line":175,"column":4},"end":{"line":179,"column":5}},{"start":{"line":177,"column":11},"end":{"line":179,"column":5}}],"line":175},"10":{"loc":{"start":{"line":188,"column":4},"end":{"line":190,"column":5}},"type":"if","locations":[{"start":{"line":188,"column":4},"end":{"line":190,"column":5}},{"start":{},"end":{}}],"line":188},"11":{"loc":{"start":{"line":193,"column":2},"end":{"line":193,"column":29}},"type":"if","locations":[{"start":{"line":193,"column":2},"end":{"line":193,"column":29}},{"start":{},"end":{}}],"line":193},"12":{"loc":{"start":{"line":223,"column":21},"end":{"line":223,"column":77}},"type":"cond-expr","locations":[{"start":{"line":223,"column":40},"end":{"line":223,"column":58}},{"start":{"line":223,"column":61},"end":{"line":223,"column":77}}],"line":223},"13":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":11}},"type":"binary-expr","locations":[{"start":{"line":261,"column":11},"end":{"line":261,"column":27}},{"start":{"line":262,"column":12},"end":{"line":262,"column":78}}],"line":261},"14":{"loc":{"start":{"line":273,"column":13},"end":{"line":299,"column":13}},"type":"cond-expr","locations":[{"start":{"line":274,"column":14},"end":{"line":280,"column":20}},{"start":{"line":282,"column":14},"end":{"line":298,"column":20}}],"line":273},"15":{"loc":{"start":{"line":289,"column":29},"end":{"line":289,"column":48}},"type":"binary-expr","locations":[{"start":{"line":289,"column":29},"end":{"line":289,"column":41}},{"start":{"line":289,"column":45},"end":{"line":289,"column":48}}],"line":289},"16":{"loc":{"start":{"line":297,"column":17},"end":{"line":297,"column":87}},"type":"binary-expr","locations":[{"start":{"line":297,"column":17},"end":{"line":297,"column":29}},{"start":{"line":297,"column":33},"end":{"line":297,"column":87}}],"line":297},"17":{"loc":{"start":{"line":301,"column":11},"end":{"line":301,"column":57}},"type":"binary-expr","locations":[{"start":{"line":301,"column":11},"end":{"line":301,"column":32}},{"start":{"line":301,"column":36},"end":{"line":301,"column":57}}],"line":301}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokensBottomBar.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokensBottomBar.tsx","statementMap":{"0":{"start":{"line":31,"column":28},"end":{"line":31,"column":66}},"1":{"start":{"line":32,"column":23},"end":{"line":32,"column":56}},"2":{"start":{"line":33,"column":17},"end":{"line":33,"column":44}},"3":{"start":{"line":34,"column":80},"end":{"line":34,"column":110}},"4":{"start":{"line":36,"column":49},"end":{"line":38,"column":8}},"5":{"start":{"line":37,"column":4},"end":{"line":37,"column":46}},"6":{"start":{"line":40,"column":37},"end":{"line":42,"column":8}},"7":{"start":{"line":41,"column":4},"end":{"line":41,"column":45}},"8":{"start":{"line":44,"column":31},"end":{"line":44,"column":42}},"9":{"start":{"line":46,"column":24},"end":{"line":60,"column":3}},"10":{"start":{"line":47,"column":10},"end":{"line":58,"column":6}},"11":{"start":{"line":48,"column":31},"end":{"line":48,"column":46}},"12":{"start":{"line":49,"column":24},"end":{"line":49,"column":33}},"13":{"start":{"line":51,"column":6},"end":{"line":57,"column":9}},"14":{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},"15":{"start":{"line":53,"column":10},"end":{"line":53,"column":22}},"16":{"start":{"line":55,"column":8},"end":{"line":55,"column":34}},"17":{"start":{"line":56,"column":8},"end":{"line":56,"column":21}},"18":{"start":{"line":62,"column":25},"end":{"line":71,"column":51}},"19":{"start":{"line":63,"column":4},"end":{"line":70,"column":5}},"20":{"start":{"line":64,"column":27},"end":{"line":64,"column":50}},"21":{"start":{"line":65,"column":6},"end":{"line":65,"column":37}},"22":{"start":{"line":66,"column":6},"end":{"line":66,"column":29}},"23":{"start":{"line":67,"column":6},"end":{"line":67,"column":37}},"24":{"start":{"line":69,"column":6},"end":{"line":69,"column":63}},"25":{"start":{"line":73,"column":16},"end":{"line":73,"column":43}},"26":{"start":{"line":75,"column":2},"end":{"line":136,"column":4}}},"fnMap":{"0":{"name":"TokensBottomBar","decl":{"start":{"line":30,"column":24},"end":{"line":30,"column":39}},"loc":{"start":{"line":30,"column":64},"end":{"line":137,"column":1}},"line":30},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":67},"end":{"line":36,"column":68}},"loc":{"start":{"line":36,"column":73},"end":{"line":38,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":55},"end":{"line":40,"column":56}},"loc":{"start":{"line":40,"column":61},"end":{"line":42,"column":3}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":4},"end":{"line":47,"column":5}},"loc":{"start":{"line":47,"column":10},"end":{"line":58,"column":6}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":48},"end":{"line":58,"column":5}},"line":47},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":35},"end":{"line":51,"column":36}},"loc":{"start":{"line":51,"column":46},"end":{"line":57,"column":7}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":62,"column":37},"end":{"line":62,"column":38}},"loc":{"start":{"line":62,"column":43},"end":{"line":71,"column":3}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},{"start":{},"end":{}}],"line":52},"1":{"loc":{"start":{"line":80,"column":7},"end":{"line":128,"column":9}},"type":"cond-expr","locations":[{"start":{"line":81,"column":8},"end":{"line":97,"column":14}},{"start":{"line":100,"column":10},"end":{"line":127,"column":18}}],"line":80},"2":{"loc":{"start":{"line":114,"column":15},"end":{"line":123,"column":15}},"type":"binary-expr","locations":[{"start":{"line":114,"column":15},"end":{"line":114,"column":28}},{"start":{"line":115,"column":16},"end":{"line":122,"column":18}}],"line":114},"3":{"loc":{"start":{"line":129,"column":7},"end":{"line":134,"column":7}},"type":"binary-expr","locations":[{"start":{"line":129,"column":7},"end":{"line":129,"column":38}},{"start":{"line":130,"column":8},"end":{"line":133,"column":10}}],"line":129}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToolsDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToolsDropdown.tsx","statementMap":{"0":{"start":{"line":12,"column":25},"end":{"line":12,"column":60}},"1":{"start":{"line":14,"column":16},"end":{"line":14,"column":42}},"2":{"start":{"line":16,"column":48},"end":{"line":16,"column":69}},"3":{"start":{"line":17,"column":48},"end":{"line":17,"column":69}},"4":{"start":{"line":19,"column":33},"end":{"line":21,"column":8}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},"6":{"start":{"line":23,"column":33},"end":{"line":25,"column":8}},"7":{"start":{"line":24,"column":4},"end":{"line":24,"column":27}},"8":{"start":{"line":27,"column":32},"end":{"line":29,"column":8}},"9":{"start":{"line":28,"column":4},"end":{"line":28,"column":26}},"10":{"start":{"line":30,"column":32},"end":{"line":32,"column":8}},"11":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}},"12":{"start":{"line":34,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"ToolsDropdown","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":37}},"loc":{"start":{"line":11,"column":40},"end":{"line":52,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":45},"end":{"line":19,"column":46}},"loc":{"start":{"line":19,"column":51},"end":{"line":21,"column":3}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":45},"end":{"line":23,"column":46}},"loc":{"start":{"line":23,"column":51},"end":{"line":25,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":44},"end":{"line":27,"column":45}},"loc":{"start":{"line":27,"column":50},"end":{"line":29,"column":3}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":44},"end":{"line":30,"column":45}},"loc":{"start":{"line":30,"column":50},"end":{"line":32,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":48,"column":7},"end":{"line":48,"column":77}},"type":"binary-expr","locations":[{"start":{"line":48,"column":7},"end":{"line":48,"column":25}},{"start":{"line":48,"column":29},"end":{"line":48,"column":77}}],"line":48},"1":{"loc":{"start":{"line":49,"column":7},"end":{"line":49,"column":77}},"type":"binary-expr","locations":[{"start":{"line":49,"column":7},"end":{"line":49,"column":25}},{"start":{"line":49,"column":29},"end":{"line":49,"column":77}}],"line":49}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tooltip.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tooltip.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TypographyInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TypographyInput.tsx","statementMap":{"0":{"start":{"line":17,"column":19},"end":{"line":27,"column":1}},"1":{"start":{"line":48,"column":16},"end":{"line":48,"column":42}},"2":{"start":{"line":49,"column":15},"end":{"line":49,"column":27}},"3":{"start":{"line":50,"column":23},"end":{"line":50,"column":93}},"4":{"start":{"line":51,"column":26},"end":{"line":51,"column":67}},"5":{"start":{"line":52,"column":28},"end":{"line":52,"column":40}},"6":{"start":{"line":53,"column":29},"end":{"line":59,"column":41}},"7":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"8":{"start":{"line":55,"column":33},"end":{"line":55,"column":105}},"9":{"start":{"line":56,"column":6},"end":{"line":56,"column":40}},"10":{"start":{"line":58,"column":4},"end":{"line":58,"column":14}},"11":{"start":{"line":61,"column":24},"end":{"line":68,"column":41}},"12":{"start":{"line":62,"column":19},"end":{"line":62,"column":66}},"13":{"start":{"line":63,"column":4},"end":{"line":66,"column":5}},"14":{"start":{"line":64,"column":25},"end":{"line":64,"column":73}},"15":{"start":{"line":64,"column":52},"end":{"line":64,"column":72}},"16":{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},"17":{"start":{"line":65,"column":22},"end":{"line":65,"column":65}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":16}},"19":{"start":{"line":70,"column":21},"end":{"line":76,"column":66}},"20":{"start":{"line":71,"column":4},"end":{"line":73,"column":5}},"21":{"start":{"line":72,"column":6},"end":{"line":72,"column":56}},"22":{"start":{"line":74,"column":4},"end":{"line":74,"column":52}},"23":{"start":{"line":75,"column":4},"end":{"line":75,"column":17}},"24":{"start":{"line":78,"column":2},"end":{"line":141,"column":4}},"25":{"start":{"line":103,"column":12},"end":{"line":113,"column":14}}},"fnMap":{"0":{"name":"TypographyInput","decl":{"start":{"line":29,"column":24},"end":{"line":29,"column":39}},"loc":{"start":{"line":47,"column":3},"end":{"line":142,"column":1}},"line":47},"1":{"name":"(anonymous_1)","decl":{"start":{"line":53,"column":37},"end":{"line":53,"column":38}},"loc":{"start":{"line":53,"column":43},"end":{"line":59,"column":3}},"line":53},"2":{"name":"(anonymous_2)","decl":{"start":{"line":61,"column":68},"end":{"line":61,"column":69}},"loc":{"start":{"line":61,"column":74},"end":{"line":68,"column":3}},"line":61},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":45},"end":{"line":64,"column":46}},"loc":{"start":{"line":64,"column":52},"end":{"line":64,"column":72}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":39},"end":{"line":70,"column":40}},"loc":{"start":{"line":70,"column":45},"end":{"line":76,"column":3}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":102,"column":87},"end":{"line":102,"column":88}},"loc":{"start":{"line":103,"column":12},"end":{"line":113,"column":14}},"line":103}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":23},"end":{"line":50,"column":93}},"type":"binary-expr","locations":[{"start":{"line":50,"column":23},"end":{"line":50,"column":46}},{"start":{"line":50,"column":50},"end":{"line":50,"column":93}}],"line":50},"1":{"loc":{"start":{"line":51,"column":35},"end":{"line":51,"column":66}},"type":"cond-expr","locations":[{"start":{"line":51,"column":49},"end":{"line":51,"column":56}},{"start":{"line":51,"column":59},"end":{"line":51,"column":66}}],"line":51},"2":{"loc":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":54},"3":{"loc":{"start":{"line":55,"column":47},"end":{"line":55,"column":88}},"type":"binary-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":82}},{"start":{"line":55,"column":86},"end":{"line":55,"column":88}}],"line":55},"4":{"loc":{"start":{"line":63,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":63},"5":{"loc":{"start":{"line":63,"column":8},"end":{"line":63,"column":35}},"type":"binary-expr","locations":[{"start":{"line":63,"column":8},"end":{"line":63,"column":14}},{"start":{"line":63,"column":18},"end":{"line":63,"column":35}}],"line":63},"6":{"loc":{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},{"start":{},"end":{}}],"line":65},"7":{"loc":{"start":{"line":71,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":71},"8":{"loc":{"start":{"line":71,"column":8},"end":{"line":71,"column":71}},"type":"binary-expr","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":24}},{"start":{"line":71,"column":28},"end":{"line":71,"column":71}}],"line":71},"9":{"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":54}},"type":"binary-expr","locations":[{"start":{"line":72,"column":25},"end":{"line":72,"column":48}},{"start":{"line":72,"column":52},"end":{"line":72,"column":54}}],"line":72},"10":{"loc":{"start":{"line":74,"column":12},"end":{"line":74,"column":50}},"type":"cond-expr","locations":[{"start":{"line":74,"column":33},"end":{"line":74,"column":40}},{"start":{"line":74,"column":43},"end":{"line":74,"column":50}}],"line":74},"11":{"loc":{"start":{"line":83,"column":10},"end":{"line":97,"column":11}},"type":"cond-expr","locations":[{"start":{"line":84,"column":12},"end":{"line":89,"column":14}},{"start":{"line":91,"column":12},"end":{"line":96,"column":14}}],"line":83},"12":{"loc":{"start":{"line":100,"column":7},"end":{"line":139,"column":7}},"type":"cond-expr","locations":[{"start":{"line":101,"column":8},"end":{"line":115,"column":16}},{"start":{"line":117,"column":8},"end":{"line":138,"column":16}}],"line":100},"13":{"loc":{"start":{"line":100,"column":8},"end":{"line":100,"column":84}},"type":"binary-expr","locations":[{"start":{"line":100,"column":8},"end":{"line":100,"column":24}},{"start":{"line":100,"column":28},"end":{"line":100,"column":84}}],"line":100},"14":{"loc":{"start":{"line":102,"column":26},"end":{"line":102,"column":81}},"type":"binary-expr","locations":[{"start":{"line":102,"column":26},"end":{"line":102,"column":75}},{"start":{"line":102,"column":79},"end":{"line":102,"column":81}}],"line":102},"15":{"loc":{"start":{"line":106,"column":21},"end":{"line":106,"column":109}},"type":"cond-expr","locations":[{"start":{"line":106,"column":67},"end":{"line":106,"column":104}},{"start":{"line":106,"column":107},"end":{"line":106,"column":109}}],"line":106},"16":{"loc":{"start":{"line":119,"column":19},"end":{"line":119,"column":70}},"type":"cond-expr","locations":[{"start":{"line":119,"column":34},"end":{"line":119,"column":36}},{"start":{"line":119,"column":39},"end":{"line":119,"column":70}}],"line":119},"17":{"loc":{"start":{"line":132,"column":11},"end":{"line":137,"column":11}},"type":"binary-expr","locations":[{"start":{"line":132,"column":11},"end":{"line":132,"column":22}},{"start":{"line":132,"column":26},"end":{"line":132,"column":69}},{"start":{"line":132,"column":73},"end":{"line":132,"column":118}},{"start":{"line":133,"column":12},"end":{"line":136,"column":14}}],"line":132}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/WindowResizer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/WindowResizer.tsx","statementMap":{"0":{"start":{"line":10,"column":19},"end":{"line":10,"column":42}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":54}},"2":{"start":{"line":13,"column":30},"end":{"line":18,"column":11}},"3":{"start":{"line":15,"column":25},"end":{"line":15,"column":68}},"4":{"start":{"line":20,"column":27},"end":{"line":29,"column":46}},"5":{"start":{"line":21,"column":17},"end":{"line":24,"column":5}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":7}},"7":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"8":{"start":{"line":31,"column":17},"end":{"line":36,"column":24}},"9":{"start":{"line":32,"column":4},"end":{"line":35,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":57}},"11":{"start":{"line":34,"column":6},"end":{"line":34,"column":55}},"12":{"start":{"line":38,"column":15},"end":{"line":44,"column":25}},"13":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":45}},"15":{"start":{"line":41,"column":6},"end":{"line":41,"column":59}},"16":{"start":{"line":42,"column":6},"end":{"line":42,"column":46}},"17":{"start":{"line":47,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"WindowResizer","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":40},"end":{"line":52,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":6},"end":{"line":15,"column":7}},"loc":{"start":{"line":15,"column":25},"end":{"line":15,"column":68}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":45},"end":{"line":20,"column":46}},"loc":{"start":{"line":20,"column":66},"end":{"line":29,"column":3}},"line":20},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":35},"end":{"line":31,"column":36}},"loc":{"start":{"line":31,"column":47},"end":{"line":36,"column":3}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":33},"end":{"line":38,"column":34}},"loc":{"start":{"line":38,"column":45},"end":{"line":44,"column":3}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":32},"1":{"loc":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createAnnotation.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createAnnotation.tsx","statementMap":{"0":{"start":{"line":7,"column":25},"end":{"line":15,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":45}},"2":{"start":{"line":10,"column":2},"end":{"line":14,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":25},"end":{"line":7,"column":26}},"loc":{"start":{"line":7,"column":100},"end":{"line":15,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":58},"end":{"line":7,"column":95}},"type":"default-arg","locations":[{"start":{"line":7,"column":81},"end":{"line":7,"column":95}}],"line":7}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createTokenObj.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createTokenObj.tsx","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":52,"column":3}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":30}},"2":{"start":{"line":18,"column":6},"end":{"line":18,"column":32}},"3":{"start":{"line":21,"column":6},"end":{"line":21,"column":31}},"4":{"start":{"line":23,"column":6},"end":{"line":23,"column":35}},"5":{"start":{"line":25,"column":6},"end":{"line":25,"column":38}},"6":{"start":{"line":27,"column":6},"end":{"line":27,"column":37}},"7":{"start":{"line":29,"column":6},"end":{"line":29,"column":32}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":38}},"9":{"start":{"line":33,"column":6},"end":{"line":33,"column":37}},"10":{"start":{"line":35,"column":6},"end":{"line":35,"column":35}},"11":{"start":{"line":37,"column":6},"end":{"line":37,"column":37}},"12":{"start":{"line":39,"column":6},"end":{"line":39,"column":35}},"13":{"start":{"line":41,"column":6},"end":{"line":41,"column":39}},"14":{"start":{"line":43,"column":6},"end":{"line":43,"column":42}},"15":{"start":{"line":45,"column":6},"end":{"line":45,"column":36}},"16":{"start":{"line":47,"column":6},"end":{"line":47,"column":31}},"17":{"start":{"line":49,"column":6},"end":{"line":49,"column":30}},"18":{"start":{"line":51,"column":6},"end":{"line":51,"column":30}},"19":{"start":{"line":56,"column":20},"end":{"line":56,"column":105}},"20":{"start":{"line":57,"column":2},"end":{"line":60,"column":19}},"21":{"start":{"line":65,"column":2},"end":{"line":87,"column":3}},"22":{"start":{"line":66,"column":16},"end":{"line":85,"column":10}},"23":{"start":{"line":67,"column":33},"end":{"line":67,"column":38}},"24":{"start":{"line":68,"column":6},"end":{"line":72,"column":7}},"25":{"start":{"line":69,"column":8},"end":{"line":69,"column":87}},"26":{"start":{"line":71,"column":8},"end":{"line":71,"column":59}},"27":{"start":{"line":73,"column":6},"end":{"line":83,"column":7}},"28":{"start":{"line":74,"column":26},"end":{"line":74,"column":105}},"29":{"start":{"line":76,"column":8},"end":{"line":78,"column":9}},"30":{"start":{"line":77,"column":10},"end":{"line":77,"column":42}},"31":{"start":{"line":82,"column":8},"end":{"line":82,"column":84}},"32":{"start":{"line":84,"column":6},"end":{"line":84,"column":17}},"33":{"start":{"line":86,"column":4},"end":{"line":86,"column":15}},"34":{"start":{"line":88,"column":2},"end":{"line":88,"column":12}},"35":{"start":{"line":94,"column":19},"end":{"line":97,"column":3}},"36":{"start":{"line":98,"column":23},"end":{"line":98,"column":62}},"37":{"start":{"line":100,"column":2},"end":{"line":105,"column":5}},"38":{"start":{"line":101,"column":4},"end":{"line":104,"column":6}},"39":{"start":{"line":107,"column":2},"end":{"line":107,"column":34}}},"fnMap":{"0":{"name":"transformName","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":29}},"loc":{"start":{"line":11,"column":56},"end":{"line":53,"column":1}},"line":11},"1":{"name":"appendTypeToToken","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":33}},"loc":{"start":{"line":55,"column":106},"end":{"line":61,"column":1}},"line":55},"2":{"name":"createTokensObject","decl":{"start":{"line":64,"column":16},"end":{"line":64,"column":34}},"loc":{"start":{"line":64,"column":117},"end":{"line":89,"column":1}},"line":64},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":56},"end":{"line":66,"column":57}},"loc":{"start":{"line":66,"column":70},"end":{"line":85,"column":5}},"line":66},"4":{"name":"mappedTokens","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":28}},"loc":{"start":{"line":93,"column":73},"end":{"line":108,"column":1}},"line":93},"5":{"name":"(anonymous_5)","decl":{"start":{"line":100,"column":39},"end":{"line":100,"column":40}},"loc":{"start":{"line":100,"column":57},"end":{"line":105,"column":3}},"line":100}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":52,"column":3}},"type":"switch","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":17}},{"start":{"line":14,"column":4},"end":{"line":15,"column":30}},{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},{"start":{"line":17,"column":4},"end":{"line":18,"column":32}},{"start":{"line":19,"column":4},"end":{"line":19,"column":16}},{"start":{"line":20,"column":4},"end":{"line":21,"column":31}},{"start":{"line":22,"column":4},"end":{"line":23,"column":35}},{"start":{"line":24,"column":4},"end":{"line":25,"column":38}},{"start":{"line":26,"column":4},"end":{"line":27,"column":37}},{"start":{"line":28,"column":4},"end":{"line":29,"column":32}},{"start":{"line":30,"column":4},"end":{"line":31,"column":38}},{"start":{"line":32,"column":4},"end":{"line":33,"column":37}},{"start":{"line":34,"column":4},"end":{"line":35,"column":35}},{"start":{"line":36,"column":4},"end":{"line":37,"column":37}},{"start":{"line":38,"column":4},"end":{"line":39,"column":35}},{"start":{"line":40,"column":4},"end":{"line":41,"column":39}},{"start":{"line":42,"column":4},"end":{"line":43,"column":42}},{"start":{"line":44,"column":4},"end":{"line":45,"column":36}},{"start":{"line":46,"column":4},"end":{"line":47,"column":31}},{"start":{"line":48,"column":4},"end":{"line":49,"column":30}},{"start":{"line":50,"column":4},"end":{"line":51,"column":30}}],"line":12},"1":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":105}},"type":"cond-expr","locations":[{"start":{"line":56,"column":33},"end":{"line":56,"column":43}},{"start":{"line":56,"column":46},"end":{"line":56,"column":105}}],"line":56},"2":{"loc":{"start":{"line":64,"column":99},"end":{"line":64,"column":115}},"type":"default-arg","locations":[{"start":{"line":64,"column":113},"end":{"line":64,"column":115}}],"line":64},"3":{"loc":{"start":{"line":65,"column":2},"end":{"line":87,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":87,"column":3}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":73,"column":6},"end":{"line":83,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":83,"column":7}},{"start":{},"end":{}}],"line":73},"5":{"loc":{"start":{"line":73,"column":10},"end":{"line":73,"column":44}},"type":"binary-expr","locations":[{"start":{"line":73,"column":10},"end":{"line":73,"column":28}},{"start":{"line":73,"column":32},"end":{"line":73,"column":44}}],"line":73},"6":{"loc":{"start":{"line":74,"column":26},"end":{"line":74,"column":105}},"type":"cond-expr","locations":[{"start":{"line":74,"column":37},"end":{"line":74,"column":45}},{"start":{"line":74,"column":48},"end":{"line":74,"column":105}}],"line":74},"7":{"loc":{"start":{"line":76,"column":8},"end":{"line":78,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":78,"column":9}},{"start":{},"end":{}}],"line":76},"8":{"loc":{"start":{"line":102,"column":10},"end":{"line":102,"column":43}},"type":"binary-expr","locations":[{"start":{"line":102,"column":10},"end":{"line":102,"column":37}},{"start":{"line":102,"column":41},"end":{"line":102,"column":43}}],"line":102}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/custom.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/custom.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/globalStyles.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/globalStyles.tsx","statementMap":{"0":{"start":{"line":3,"column":28},"end":{"line":108,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/use-raised-shadow.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/use-raised-shadow.ts","statementMap":{"0":{"start":{"line":4,"column":23},"end":{"line":4,"column":52}},"1":{"start":{"line":7,"column":20},"end":{"line":7,"column":50}},"2":{"start":{"line":9,"column":2},"end":{"line":25,"column":25}},"3":{"start":{"line":10,"column":19},"end":{"line":10,"column":24}},"4":{"start":{"line":11,"column":4},"end":{"line":24,"column":7}},"5":{"start":{"line":12,"column":24},"end":{"line":12,"column":32}},"6":{"start":{"line":13,"column":6},"end":{"line":23,"column":7}},"7":{"start":{"line":14,"column":8},"end":{"line":14,"column":24}},"8":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":16,"column":10},"end":{"line":16,"column":61}},"10":{"start":{"line":19,"column":8},"end":{"line":19,"column":25}},"11":{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},"12":{"start":{"line":21,"column":10},"end":{"line":21,"column":45}},"13":{"start":{"line":27,"column":2},"end":{"line":27,"column":19}}},"fnMap":{"0":{"name":"useRaisedShadow","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":31}},"loc":{"start":{"line":6,"column":60},"end":{"line":28,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":12},"end":{"line":9,"column":13}},"loc":{"start":{"line":9,"column":18},"end":{"line":25,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":19},"end":{"line":11,"column":20}},"loc":{"start":{"line":11,"column":31},"end":{"line":24,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":23,"column":7}},{"start":{"line":18,"column":13},"end":{"line":23,"column":7}}],"line":13},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},{"start":{},"end":{}}],"line":15},"2":{"loc":{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/useMinimizeWindow.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/useMinimizeWindow.tsx","statementMap":{"0":{"start":{"line":7,"column":26},"end":{"line":30,"column":1}},"1":{"start":{"line":8,"column":19},"end":{"line":8,"column":42}},"2":{"start":{"line":9,"column":21},"end":{"line":9,"column":52}},"3":{"start":{"line":10,"column":52},"end":{"line":10,"column":73}},"4":{"start":{"line":12,"column":23},"end":{"line":20,"column":28}},"5":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"6":{"start":{"line":14,"column":6},"end":{"line":18,"column":9}},"7":{"start":{"line":22,"column":2},"end":{"line":24,"column":19}},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":65}},"9":{"start":{"line":23,"column":20},"end":{"line":23,"column":65}},"10":{"start":{"line":26,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":26},"end":{"line":7,"column":27}},"loc":{"start":{"line":7,"column":32},"end":{"line":30,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":41},"end":{"line":12,"column":42}},"loc":{"start":{"line":12,"column":47},"end":{"line":20,"column":3}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":18},"end":{"line":22,"column":19}},"loc":{"start":{"line":22,"column":24},"end":{"line":24,"column":3}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":65}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":65}},{"start":{},"end":{}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/Accordion.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/Accordion.tsx","statementMap":{"0":{"start":{"line":23,"column":24},"end":{"line":23,"column":42}},"1":{"start":{"line":24,"column":30},"end":{"line":24,"column":64}},"2":{"start":{"line":26,"column":23},"end":{"line":28,"column":14}},"3":{"start":{"line":27,"column":4},"end":{"line":27,"column":23}},"4":{"start":{"line":30,"column":2},"end":{"line":83,"column":4}}},"fnMap":{"0":{"name":"Accordion","decl":{"start":{"line":20,"column":16},"end":{"line":20,"column":25}},"loc":{"start":{"line":22,"column":10},"end":{"line":84,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":35},"end":{"line":26,"column":36}},"loc":{"start":{"line":26,"column":41},"end":{"line":28,"column":3}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":39},"end":{"line":24,"column":63}},"type":"binary-expr","locations":[{"start":{"line":24,"column":39},"end":{"line":24,"column":54}},{"start":{"line":24,"column":58},"end":{"line":24,"column":63}}],"line":24},"1":{"loc":{"start":{"line":41,"column":16},"end":{"line":41,"column":67}},"type":"cond-expr","locations":[{"start":{"line":41,"column":25},"end":{"line":41,"column":44}},{"start":{"line":41,"column":47},"end":{"line":41,"column":67}}],"line":41},"2":{"loc":{"start":{"line":60,"column":9},"end":{"line":80,"column":9}},"type":"binary-expr","locations":[{"start":{"line":60,"column":9},"end":{"line":60,"column":15}},{"start":{"line":61,"column":10},"end":{"line":79,"column":23}}],"line":60},"3":{"loc":{"start":{"line":69,"column":24},"end":{"line":71,"column":25}},"type":"cond-expr","locations":[{"start":{"line":69,"column":40},"end":{"line":71,"column":13}},{"start":{"line":71,"column":16},"end":{"line":71,"column":25}}],"line":69},"4":{"loc":{"start":{"line":76,"column":53},"end":{"line":76,"column":72}},"type":"binary-expr","locations":[{"start":{"line":76,"column":53},"end":{"line":76,"column":59}},{"start":{"line":76,"column":63},"end":{"line":76,"column":72}}],"line":76}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/StyledContainer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/StyledContainer.tsx","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":8,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/AddLicenseKey.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/AddLicenseKey.tsx","statementMap":{"0":{"start":{"line":26,"column":19},"end":{"line":26,"column":42}},"1":{"start":{"line":27,"column":22},"end":{"line":27,"column":53}},"2":{"start":{"line":28,"column":25},"end":{"line":28,"column":60}},"3":{"start":{"line":29,"column":26},"end":{"line":29,"column":62}},"4":{"start":{"line":30,"column":34},"end":{"line":30,"column":55}},"5":{"start":{"line":31,"column":22},"end":{"line":31,"column":34}},"6":{"start":{"line":32,"column":17},"end":{"line":32,"column":44}},"7":{"start":{"line":33,"column":19},"end":{"line":33,"column":32}},"8":{"start":{"line":34,"column":16},"end":{"line":34,"column":43}},"9":{"start":{"line":35,"column":34},"end":{"line":35,"column":48}},"10":{"start":{"line":37,"column":21},"end":{"line":39,"column":8}},"11":{"start":{"line":38,"column":4},"end":{"line":38,"column":33}},"12":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"13":{"start":{"line":41,"column":17},"end":{"line":51,"column":32}},"14":{"start":{"line":42,"column":4},"end":{"line":50,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":49,"column":8}},"16":{"start":{"line":53,"column":33},"end":{"line":59,"column":24}},"17":{"start":{"line":54,"column":4},"end":{"line":58,"column":5}},"18":{"start":{"line":55,"column":6},"end":{"line":57,"column":9}},"19":{"start":{"line":61,"column":20},"end":{"line":75,"column":69}},"20":{"start":{"line":62,"column":4},"end":{"line":74,"column":5}},"21":{"start":{"line":63,"column":6},"end":{"line":63,"column":53}},"22":{"start":{"line":65,"column":27},"end":{"line":69,"column":8}},"23":{"start":{"line":70,"column":6},"end":{"line":73,"column":7}},"24":{"start":{"line":71,"column":8},"end":{"line":71,"column":55}},"25":{"start":{"line":72,"column":8},"end":{"line":72,"column":33}},"26":{"start":{"line":77,"column":33},"end":{"line":80,"column":4}},"27":{"start":{"line":82,"column":2},"end":{"line":84,"column":20}},"28":{"start":{"line":83,"column":4},"end":{"line":83,"column":31}},"29":{"start":{"line":86,"column":2},"end":{"line":92,"column":54}},"30":{"start":{"line":87,"column":4},"end":{"line":91,"column":5}},"31":{"start":{"line":88,"column":6},"end":{"line":90,"column":8}},"32":{"start":{"line":94,"column":29},"end":{"line":96,"column":8}},"33":{"start":{"line":95,"column":4},"end":{"line":95,"column":42}},"34":{"start":{"line":98,"column":30},"end":{"line":102,"column":3}},"35":{"start":{"line":104,"column":33},"end":{"line":104,"column":108}},"36":{"start":{"line":106,"column":2},"end":{"line":155,"column":4}}},"fnMap":{"0":{"name":"AddLicenseKey","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":37}},"loc":{"start":{"line":25,"column":40},"end":{"line":156,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":33},"end":{"line":37,"column":34}},"loc":{"start":{"line":37,"column":39},"end":{"line":39,"column":3}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},"loc":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":29},"end":{"line":41,"column":30}},"loc":{"start":{"line":41,"column":41},"end":{"line":51,"column":3}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":45},"end":{"line":53,"column":46}},"loc":{"start":{"line":53,"column":51},"end":{"line":59,"column":3}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":32},"end":{"line":61,"column":33}},"loc":{"start":{"line":61,"column":44},"end":{"line":75,"column":3}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":82,"column":12},"end":{"line":82,"column":13}},"loc":{"start":{"line":82,"column":18},"end":{"line":84,"column":3}},"line":82},"7":{"name":"(anonymous_7)","decl":{"start":{"line":86,"column":12},"end":{"line":86,"column":13}},"loc":{"start":{"line":86,"column":18},"end":{"line":92,"column":3}},"line":86},"8":{"name":"(anonymous_8)","decl":{"start":{"line":94,"column":41},"end":{"line":94,"column":42}},"loc":{"start":{"line":94,"column":86},"end":{"line":96,"column":3}},"line":94}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":50,"column":5}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":54,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":54},"2":{"loc":{"start":{"line":62,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":74,"column":5}},{"start":{"line":64,"column":11},"end":{"line":74,"column":5}}],"line":62},"3":{"loc":{"start":{"line":70,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":70,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":70},"4":{"loc":{"start":{"line":87,"column":4},"end":{"line":91,"column":5}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":91,"column":5}},{"start":{},"end":{}}],"line":87},"5":{"loc":{"start":{"line":87,"column":8},"end":{"line":87,"column":47}},"type":"binary-expr","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":14}},{"start":{"line":87,"column":18},"end":{"line":87,"column":29}},{"start":{"line":87,"column":33},"end":{"line":87,"column":47}}],"line":87},"6":{"loc":{"start":{"line":98,"column":30},"end":{"line":102,"column":3}},"type":"binary-expr","locations":[{"start":{"line":98,"column":30},"end":{"line":98,"column":42}},{"start":{"line":99,"column":4},"end":{"line":101,"column":13}}],"line":98},"7":{"loc":{"start":{"line":104,"column":33},"end":{"line":104,"column":108}},"type":"binary-expr","locations":[{"start":{"line":104,"column":33},"end":{"line":104,"column":44}},{"start":{"line":104,"column":48},"end":{"line":104,"column":108}}],"line":104},"8":{"loc":{"start":{"line":112,"column":11},"end":{"line":116,"column":11}},"type":"binary-expr","locations":[{"start":{"line":112,"column":11},"end":{"line":112,"column":22}},{"start":{"line":112,"column":26},"end":{"line":112,"column":42}},{"start":{"line":113,"column":12},"end":{"line":115,"column":37}}],"line":112},"9":{"loc":{"start":{"line":130,"column":18},"end":{"line":130,"column":48}},"type":"cond-expr","locations":[{"start":{"line":130,"column":29},"end":{"line":130,"column":39}},{"start":{"line":130,"column":42},"end":{"line":130,"column":48}}],"line":130},"10":{"loc":{"start":{"line":136,"column":22},"end":{"line":136,"column":68}},"type":"cond-expr","locations":[{"start":{"line":136,"column":33},"end":{"line":136,"column":50}},{"start":{"line":136,"column":53},"end":{"line":136,"column":68}}],"line":136},"11":{"loc":{"start":{"line":141,"column":19},"end":{"line":141,"column":31}},"type":"binary-expr","locations":[{"start":{"line":141,"column":19},"end":{"line":141,"column":25}},{"start":{"line":141,"column":29},"end":{"line":141,"column":31}}],"line":141},"12":{"loc":{"start":{"line":143,"column":30},"end":{"line":143,"column":67}},"type":"cond-expr","locations":[{"start":{"line":143,"column":48},"end":{"line":143,"column":55}},{"start":{"line":143,"column":58},"end":{"line":143,"column":67}}],"line":143},"13":{"loc":{"start":{"line":145,"column":11},"end":{"line":149,"column":11}},"type":"binary-expr","locations":[{"start":{"line":145,"column":11},"end":{"line":145,"column":26}},{"start":{"line":146,"column":12},"end":{"line":148,"column":18}}],"line":145}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/AppContainer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/AppContainer.tsx","statementMap":{"0":{"start":{"line":34,"column":34},"end":{"line":40,"column":1}},"1":{"start":{"line":42,"column":28},"end":{"line":114,"column":2}},"2":{"start":{"line":43,"column":26},"end":{"line":43,"column":41}},"3":{"start":{"line":44,"column":19},"end":{"line":44,"column":42}},"4":{"start":{"line":45,"column":25},"end":{"line":45,"column":50}},"5":{"start":{"line":47,"column":52},"end":{"line":47,"column":66}},"6":{"start":{"line":49,"column":36},"end":{"line":57,"column":32}},"7":{"start":{"line":50,"column":4},"end":{"line":50,"column":40}},"8":{"start":{"line":51,"column":4},"end":{"line":51,"column":46}},"9":{"start":{"line":52,"column":4},"end":{"line":54,"column":7}},"10":{"start":{"line":56,"column":4},"end":{"line":56,"column":32}},"11":{"start":{"line":59,"column":31},"end":{"line":73,"column":22}},"12":{"start":{"line":60,"column":4},"end":{"line":72,"column":5}},"13":{"start":{"line":65,"column":6},"end":{"line":69,"column":7}},"14":{"start":{"line":66,"column":8},"end":{"line":66,"column":37}},"15":{"start":{"line":67,"column":13},"end":{"line":69,"column":7}},"16":{"start":{"line":68,"column":8},"end":{"line":68,"column":36}},"17":{"start":{"line":70,"column":11},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":34}},"19":{"start":{"line":75,"column":2},"end":{"line":77,"column":29}},"20":{"start":{"line":76,"column":4},"end":{"line":76,"column":27}},"21":{"start":{"line":79,"column":2},"end":{"line":85,"column":20}},"22":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"23":{"start":{"line":81,"column":6},"end":{"line":81,"column":46}},"24":{"start":{"line":83,"column":6},"end":{"line":83,"column":47}},"25":{"start":{"line":87,"column":2},"end":{"line":87,"column":17}},"26":{"start":{"line":90,"column":4},"end":{"line":110,"column":10}},"27":{"start":{"line":113,"column":2},"end":{"line":113,"column":92}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":42,"column":50},"end":{"line":42,"column":51}},"loc":{"start":{"line":42,"column":69},"end":{"line":114,"column":1}},"line":42},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":48},"end":{"line":49,"column":49}},"loc":{"start":{"line":49,"column":54},"end":{"line":57,"column":3}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":43},"end":{"line":59,"column":44}},"loc":{"start":{"line":59,"column":55},"end":{"line":73,"column":3}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":75,"column":12},"end":{"line":75,"column":13}},"loc":{"start":{"line":75,"column":18},"end":{"line":77,"column":3}},"line":75},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":12},"end":{"line":79,"column":13}},"loc":{"start":{"line":79,"column":18},"end":{"line":85,"column":3}},"line":79}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":11},"end":{"line":72,"column":5}}],"line":60},"1":{"loc":{"start":{"line":61,"column":6},"end":{"line":63,"column":68}},"type":"binary-expr","locations":[{"start":{"line":61,"column":6},"end":{"line":61,"column":32}},{"start":{"line":62,"column":9},"end":{"line":62,"column":66}},{"start":{"line":63,"column":9},"end":{"line":63,"column":68}}],"line":61},"2":{"loc":{"start":{"line":65,"column":6},"end":{"line":69,"column":7}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":69,"column":7}},{"start":{"line":67,"column":13},"end":{"line":69,"column":7}}],"line":65},"3":{"loc":{"start":{"line":67,"column":13},"end":{"line":69,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":13},"end":{"line":69,"column":7}},{"start":{},"end":{}}],"line":67},"4":{"loc":{"start":{"line":70,"column":11},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":11},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":70},"5":{"loc":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},{"start":{"line":82,"column":11},"end":{"line":84,"column":5}}],"line":80},"6":{"loc":{"start":{"line":93,"column":15},"end":{"line":93,"column":109}},"type":"cond-expr","locations":[{"start":{"line":93,"column":44},"end":{"line":93,"column":97}},{"start":{"line":93,"column":100},"end":{"line":93,"column":109}}],"line":93},"7":{"loc":{"start":{"line":103,"column":8},"end":{"line":103,"column":44}},"type":"binary-expr","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":26}},{"start":{"line":103,"column":30},"end":{"line":103,"column":44}}],"line":103}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/ApplicationInitSteps.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/ApplicationInitSteps.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/useStartupProcess.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/useStartupProcess.ts","statementMap":{"0":{"start":{"line":21,"column":24},"end":{"line":23,"column":2}},"1":{"start":{"line":22,"column":2},"end":{"line":22,"column":36}},"2":{"start":{"line":26,"column":19},"end":{"line":26,"column":32}},"3":{"start":{"line":27,"column":16},"end":{"line":27,"column":37}},"4":{"start":{"line":28,"column":19},"end":{"line":28,"column":42}},"5":{"start":{"line":29,"column":27},"end":{"line":29,"column":39}},"6":{"start":{"line":30,"column":27},"end":{"line":30,"column":39}},"7":{"start":{"line":31,"column":32},"end":{"line":31,"column":49}},"8":{"start":{"line":32,"column":16},"end":{"line":32,"column":26}},"9":{"start":{"line":34,"column":25},"end":{"line":57,"column":30}},"10":{"start":{"line":34,"column":73},"end":{"line":57,"column":3}},"11":{"start":{"line":59,"column":2},"end":{"line":63,"column":17}},"12":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"13":{"start":{"line":61,"column":6},"end":{"line":61,"column":40}},"14":{"start":{"line":65,"column":2},"end":{"line":65,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":46},"end":{"line":21,"column":47}},"loc":{"start":{"line":21,"column":59},"end":{"line":23,"column":1}},"line":21},"1":{"name":"useStartupProcess","decl":{"start":{"line":25,"column":16},"end":{"line":25,"column":33}},"loc":{"start":{"line":25,"column":58},"end":{"line":66,"column":1}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":66},"end":{"line":34,"column":67}},"loc":{"start":{"line":34,"column":73},"end":{"line":57,"column":3}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":12},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":18},"end":{"line":63,"column":3}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},{"start":{},"end":{}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":32,"column":4}},"1":{"start":{"line":10,"column":21},"end":{"line":10,"column":27}},"2":{"start":{"line":11,"column":25},"end":{"line":11,"column":31}},"3":{"start":{"line":12,"column":28},"end":{"line":12,"column":34}},"4":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"5":{"start":{"line":15,"column":21},"end":{"line":15,"column":55}},"6":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"7":{"start":{"line":17,"column":8},"end":{"line":17,"column":32}},"8":{"start":{"line":21,"column":4},"end":{"line":31,"column":5}},"9":{"start":{"line":22,"column":6},"end":{"line":28,"column":9}},"10":{"start":{"line":30,"column":6},"end":{"line":30,"column":68}}},"fnMap":{"0":{"name":"addLicenseFactory","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":33}},"loc":{"start":{"line":8,"column":78},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":21},"end":{"line":32,"column":3}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":111}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":28}},{"start":{"line":14,"column":32},"end":{"line":14,"column":56}},{"start":{"line":14,"column":62},"end":{"line":14,"column":73}},{"start":{"line":14,"column":77},"end":{"line":14,"column":110}}],"line":14},"2":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":39}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":25}},{"start":{"line":16,"column":29},"end":{"line":16,"column":39}}],"line":16},"4":{"loc":{"start":{"line":21,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":31,"column":5}},{"start":{"line":29,"column":11},"end":{"line":31,"column":5}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":39,"column":4}},"1":{"start":{"line":15,"column":21},"end":{"line":15,"column":27}},"2":{"start":{"line":16,"column":18},"end":{"line":16,"column":34}},"3":{"start":{"line":17,"column":17},"end":{"line":17,"column":36}},"4":{"start":{"line":18,"column":25},"end":{"line":18,"column":52}},"5":{"start":{"line":19,"column":23},"end":{"line":19,"column":48}},"6":{"start":{"line":20,"column":24},"end":{"line":20,"column":50}},"7":{"start":{"line":22,"column":4},"end":{"line":38,"column":5}},"8":{"start":{"line":23,"column":6},"end":{"line":23,"column":51}},"9":{"start":{"line":24,"column":6},"end":{"line":35,"column":7}},"10":{"start":{"line":25,"column":8},"end":{"line":30,"column":11}},"11":{"start":{"line":32,"column":8},"end":{"line":32,"column":27}},"12":{"start":{"line":33,"column":8},"end":{"line":33,"column":37}},"13":{"start":{"line":34,"column":8},"end":{"line":34,"column":38}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":36}}},"fnMap":{"0":{"name":"getLdFlagsFactory","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":33}},"loc":{"start":{"line":13,"column":119},"end":{"line":40,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":10}},"loc":{"start":{"line":14,"column":21},"end":{"line":39,"column":3}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":38,"column":5}},{"start":{"line":36,"column":11},"end":{"line":38,"column":5}}],"line":22},"1":{"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":34}},"type":"binary-expr","locations":[{"start":{"line":22,"column":8},"end":{"line":22,"column":20}},{"start":{"line":22,"column":24},"end":{"line":22,"column":34}}],"line":22},"2":{"loc":{"start":{"line":23,"column":26},"end":{"line":23,"column":47}},"type":"cond-expr","locations":[{"start":{"line":23,"column":33},"end":{"line":23,"column":38}},{"start":{"line":23,"column":41},"end":{"line":23,"column":47}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts","statementMap":{"0":{"start":{"line":27,"column":22},"end":{"line":27,"column":134}},"1":{"start":{"line":29,"column":39},"end":{"line":35,"column":3}},"2":{"start":{"line":30,"column":38},"end":{"line":33,"column":6}},"3":{"start":{"line":34,"column":4},"end":{"line":34,"column":37}},"4":{"start":{"line":37,"column":28},"end":{"line":117,"column":3}},"5":{"start":{"line":38,"column":18},"end":{"line":38,"column":34}},"6":{"start":{"line":39,"column":24},"end":{"line":39,"column":50}},"7":{"start":{"line":41,"column":4},"end":{"line":116,"column":5}},"8":{"start":{"line":42,"column":26},"end":{"line":44,"column":8}},"9":{"start":{"line":43,"column":8},"end":{"line":43,"column":48}},"10":{"start":{"line":46,"column":6},"end":{"line":109,"column":7}},"11":{"start":{"line":48,"column":8},"end":{"line":105,"column":9}},"12":{"start":{"line":49,"column":30},"end":{"line":49,"column":128}},"13":{"start":{"line":50,"column":10},"end":{"line":50,"column":88}},"14":{"start":{"line":51,"column":10},"end":{"line":53,"column":11}},"15":{"start":{"line":52,"column":12},"end":{"line":52,"column":75}},"16":{"start":{"line":55,"column":10},"end":{"line":63,"column":11}},"17":{"start":{"line":61,"column":29},"end":{"line":61,"column":83}},"18":{"start":{"line":62,"column":12},"end":{"line":62,"column":69}},"19":{"start":{"line":62,"column":26},"end":{"line":62,"column":69}},"20":{"start":{"line":65,"column":10},"end":{"line":65,"column":51}},"21":{"start":{"line":66,"column":10},"end":{"line":66,"column":57}},"22":{"start":{"line":68,"column":10},"end":{"line":68,"column":112}},"23":{"start":{"line":69,"column":10},"end":{"line":69,"column":101}},"24":{"start":{"line":71,"column":29},"end":{"line":78,"column":12}},"25":{"start":{"line":80,"column":10},"end":{"line":98,"column":11}},"26":{"start":{"line":82,"column":12},"end":{"line":86,"column":13}},"27":{"start":{"line":83,"column":14},"end":{"line":83,"column":88}},"28":{"start":{"line":84,"column":14},"end":{"line":84,"column":56}},"29":{"start":{"line":85,"column":14},"end":{"line":85,"column":21}},"30":{"start":{"line":88,"column":12},"end":{"line":95,"column":13}},"31":{"start":{"line":90,"column":14},"end":{"line":90,"column":67}},"32":{"start":{"line":91,"column":14},"end":{"line":91,"column":56}},"33":{"start":{"line":94,"column":14},"end":{"line":94,"column":57}},"34":{"start":{"line":97,"column":12},"end":{"line":97,"column":55}},"35":{"start":{"line":100,"column":10},"end":{"line":100,"column":29}},"36":{"start":{"line":101,"column":10},"end":{"line":101,"column":39}},"37":{"start":{"line":102,"column":10},"end":{"line":102,"column":52}},"38":{"start":{"line":103,"column":10},"end":{"line":103,"column":69}},"39":{"start":{"line":104,"column":10},"end":{"line":104,"column":88}},"40":{"start":{"line":108,"column":8},"end":{"line":108,"column":50}},"41":{"start":{"line":110,"column":11},"end":{"line":116,"column":5}},"42":{"start":{"line":111,"column":6},"end":{"line":111,"column":115}},"43":{"start":{"line":111,"column":45},"end":{"line":111,"column":115}},"44":{"start":{"line":112,"column":6},"end":{"line":112,"column":82}},"45":{"start":{"line":113,"column":26},"end":{"line":113,"column":70}},"46":{"start":{"line":114,"column":6},"end":{"line":115,"column":53}},"47":{"start":{"line":114,"column":23},"end":{"line":114,"column":66}},"48":{"start":{"line":115,"column":11},"end":{"line":115,"column":53}},"49":{"start":{"line":119,"column":2},"end":{"line":170,"column":4}},"50":{"start":{"line":120,"column":18},"end":{"line":120,"column":34}},"51":{"start":{"line":121,"column":24},"end":{"line":121,"column":50}},"52":{"start":{"line":122,"column":28},"end":{"line":132,"column":36}},"53":{"start":{"line":134,"column":25},"end":{"line":135,"column":112}},"54":{"start":{"line":135,"column":95},"end":{"line":135,"column":111}},"55":{"start":{"line":138,"column":4},"end":{"line":169,"column":5}},"56":{"start":{"line":140,"column":6},"end":{"line":140,"column":53}},"57":{"start":{"line":141,"column":11},"end":{"line":169,"column":5}},"58":{"start":{"line":142,"column":30},"end":{"line":142,"column":76}},"59":{"start":{"line":144,"column":6},"end":{"line":165,"column":7}},"60":{"start":{"line":152,"column":8},"end":{"line":152,"column":55}},"61":{"start":{"line":154,"column":8},"end":{"line":154,"column":117}},"62":{"start":{"line":154,"column":47},"end":{"line":154,"column":117}},"63":{"start":{"line":156,"column":8},"end":{"line":156,"column":84}},"64":{"start":{"line":158,"column":8},"end":{"line":164,"column":9}},"65":{"start":{"line":160,"column":10},"end":{"line":160,"column":58}},"66":{"start":{"line":163,"column":10},"end":{"line":163,"column":52}},"67":{"start":{"line":168,"column":6},"end":{"line":168,"column":48}}},"fnMap":{"0":{"name":"pullTokensFactory","decl":{"start":{"line":19,"column":16},"end":{"line":19,"column":33}},"loc":{"start":{"line":26,"column":2},"end":{"line":171,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":39},"end":{"line":29,"column":40}},"loc":{"start":{"line":29,"column":51},"end":{"line":35,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":28},"end":{"line":37,"column":29}},"loc":{"start":{"line":37,"column":85},"end":{"line":117,"column":3}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":57},"end":{"line":42,"column":58}},"loc":{"start":{"line":43,"column":8},"end":{"line":43,"column":48}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":119,"column":9},"end":{"line":119,"column":10}},"loc":{"start":{"line":119,"column":21},"end":{"line":170,"column":3}},"line":119},"5":{"name":"(anonymous_5)","decl":{"start":{"line":135,"column":84},"end":{"line":135,"column":85}},"loc":{"start":{"line":135,"column":95},"end":{"line":135,"column":111}},"line":135}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":22},"end":{"line":27,"column":134}},"type":"cond-expr","locations":[{"start":{"line":27,"column":63},"end":{"line":27,"column":113}},{"start":{"line":27,"column":116},"end":{"line":27,"column":134}}],"line":27},"1":{"loc":{"start":{"line":41,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":116,"column":5}},{"start":{"line":110,"column":11},"end":{"line":116,"column":5}}],"line":41},"2":{"loc":{"start":{"line":46,"column":6},"end":{"line":109,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":109,"column":7}},{"start":{"line":106,"column":13},"end":{"line":109,"column":7}}],"line":46},"3":{"loc":{"start":{"line":49,"column":30},"end":{"line":49,"column":128}},"type":"binary-expr","locations":[{"start":{"line":49,"column":30},"end":{"line":49,"column":56}},{"start":{"line":49,"column":60},"end":{"line":49,"column":85}},{"start":{"line":49,"column":89},"end":{"line":49,"column":128}}],"line":49},"4":{"loc":{"start":{"line":51,"column":10},"end":{"line":53,"column":11}},"type":"if","locations":[{"start":{"line":51,"column":10},"end":{"line":53,"column":11}},{"start":{},"end":{}}],"line":51},"5":{"loc":{"start":{"line":55,"column":10},"end":{"line":63,"column":11}},"type":"if","locations":[{"start":{"line":55,"column":10},"end":{"line":63,"column":11}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":56,"column":12},"end":{"line":59,"column":69}},"type":"binary-expr","locations":[{"start":{"line":56,"column":12},"end":{"line":56,"column":63}},{"start":{"line":57,"column":15},"end":{"line":57,"column":66}},{"start":{"line":58,"column":15},"end":{"line":58,"column":63}},{"start":{"line":59,"column":15},"end":{"line":59,"column":69}}],"line":56},"7":{"loc":{"start":{"line":62,"column":12},"end":{"line":62,"column":69}},"type":"if","locations":[{"start":{"line":62,"column":12},"end":{"line":62,"column":69}},{"start":{},"end":{}}],"line":62},"8":{"loc":{"start":{"line":68,"column":63},"end":{"line":68,"column":82}},"type":"binary-expr","locations":[{"start":{"line":68,"column":63},"end":{"line":68,"column":74}},{"start":{"line":68,"column":78},"end":{"line":68,"column":82}}],"line":68},"9":{"loc":{"start":{"line":69,"column":52},"end":{"line":69,"column":99}},"type":"binary-expr","locations":[{"start":{"line":69,"column":52},"end":{"line":69,"column":93}},{"start":{"line":69,"column":97},"end":{"line":69,"column":99}}],"line":69},"10":{"loc":{"start":{"line":80,"column":10},"end":{"line":98,"column":11}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":98,"column":11}},{"start":{"line":96,"column":17},"end":{"line":98,"column":11}}],"line":80},"11":{"loc":{"start":{"line":82,"column":12},"end":{"line":86,"column":13}},"type":"if","locations":[{"start":{"line":82,"column":12},"end":{"line":86,"column":13}},{"start":{},"end":{}}],"line":82},"12":{"loc":{"start":{"line":88,"column":12},"end":{"line":95,"column":13}},"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":95,"column":13}},{"start":{"line":92,"column":19},"end":{"line":95,"column":13}}],"line":88},"13":{"loc":{"start":{"line":110,"column":11},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":11},"end":{"line":116,"column":5}},{"start":{},"end":{}}],"line":110},"14":{"loc":{"start":{"line":111,"column":6},"end":{"line":111,"column":115}},"type":"if","locations":[{"start":{"line":111,"column":6},"end":{"line":111,"column":115}},{"start":{},"end":{}}],"line":111},"15":{"loc":{"start":{"line":114,"column":6},"end":{"line":115,"column":53}},"type":"if","locations":[{"start":{"line":114,"column":6},"end":{"line":115,"column":53}},{"start":{"line":115,"column":11},"end":{"line":115,"column":53}}],"line":114},"16":{"loc":{"start":{"line":134,"column":25},"end":{"line":135,"column":112}},"type":"binary-expr","locations":[{"start":{"line":134,"column":25},"end":{"line":134,"column":46}},{"start":{"line":135,"column":28},"end":{"line":135,"column":112}}],"line":134},"17":{"loc":{"start":{"line":135,"column":42},"end":{"line":135,"column":77}},"type":"binary-expr","locations":[{"start":{"line":135,"column":42},"end":{"line":135,"column":71}},{"start":{"line":135,"column":75},"end":{"line":135,"column":77}}],"line":135},"18":{"loc":{"start":{"line":138,"column":4},"end":{"line":169,"column":5}},"type":"if","locations":[{"start":{"line":138,"column":4},"end":{"line":169,"column":5}},{"start":{"line":141,"column":11},"end":{"line":169,"column":5}}],"line":138},"19":{"loc":{"start":{"line":138,"column":8},"end":{"line":138,"column":40}},"type":"binary-expr","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":23}},{"start":{"line":138,"column":27},"end":{"line":138,"column":40}}],"line":138},"20":{"loc":{"start":{"line":141,"column":11},"end":{"line":169,"column":5}},"type":"if","locations":[{"start":{"line":141,"column":11},"end":{"line":169,"column":5}},{"start":{"line":166,"column":11},"end":{"line":169,"column":5}}],"line":141},"21":{"loc":{"start":{"line":142,"column":30},"end":{"line":142,"column":76}},"type":"binary-expr","locations":[{"start":{"line":142,"column":30},"end":{"line":142,"column":67}},{"start":{"line":142,"column":71},"end":{"line":142,"column":76}}],"line":142},"22":{"loc":{"start":{"line":144,"column":6},"end":{"line":165,"column":7}},"type":"if","locations":[{"start":{"line":144,"column":6},"end":{"line":165,"column":7}},{"start":{"line":153,"column":13},"end":{"line":165,"column":7}}],"line":144},"23":{"loc":{"start":{"line":145,"column":8},"end":{"line":149,"column":9}},"type":"binary-expr","locations":[{"start":{"line":145,"column":8},"end":{"line":145,"column":24}},{"start":{"line":147,"column":10},"end":{"line":147,"column":25}},{"start":{"line":148,"column":13},"end":{"line":148,"column":28}},{"start":{"line":148,"column":33},"end":{"line":148,"column":70}}],"line":145},"24":{"loc":{"start":{"line":154,"column":8},"end":{"line":154,"column":117}},"type":"if","locations":[{"start":{"line":154,"column":8},"end":{"line":154,"column":117}},{"start":{},"end":{}}],"line":154},"25":{"loc":{"start":{"line":158,"column":8},"end":{"line":164,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":164,"column":9}},{"start":{"line":161,"column":15},"end":{"line":164,"column":9}}],"line":158}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0,0,0],"24":[0,0],"25":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":42,"column":4}},"1":{"start":{"line":8,"column":32},"end":{"line":8,"column":38}},"2":{"start":{"line":9,"column":4},"end":{"line":41,"column":5}},"3":{"start":{"line":11,"column":6},"end":{"line":17,"column":7}},"4":{"start":{"line":12,"column":8},"end":{"line":16,"column":11}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":50}},"6":{"start":{"line":21,"column":10},"end":{"line":21,"column":25}},"7":{"start":{"line":22,"column":23},"end":{"line":29,"column":7}},"8":{"start":{"line":30,"column":6},"end":{"line":30,"column":49}},"9":{"start":{"line":31,"column":6},"end":{"line":31,"column":62}},"10":{"start":{"line":32,"column":6},"end":{"line":32,"column":48}},"11":{"start":{"line":33,"column":6},"end":{"line":33,"column":56}},"12":{"start":{"line":34,"column":6},"end":{"line":34,"column":83}},"13":{"start":{"line":35,"column":6},"end":{"line":35,"column":95}},"14":{"start":{"line":36,"column":6},"end":{"line":36,"column":101}},"15":{"start":{"line":37,"column":6},"end":{"line":37,"column":89}},"16":{"start":{"line":38,"column":6},"end":{"line":38,"column":48}},"17":{"start":{"line":40,"column":6},"end":{"line":40,"column":40}}},"fnMap":{"0":{"name":"savePluginDataFactory","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":82},"end":{"line":43,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":21},"end":{"line":42,"column":3}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":41,"column":5}},{"start":{"line":39,"column":11},"end":{"line":41,"column":5}}],"line":9},"1":{"loc":{"start":{"line":11,"column":6},"end":{"line":17,"column":7}},"type":"if","locations":[{"start":{"line":11,"column":6},"end":{"line":17,"column":7}},{"start":{},"end":{}}],"line":11},"2":{"loc":{"start":{"line":31,"column":38},"end":{"line":31,"column":60}},"type":"binary-expr","locations":[{"start":{"line":31,"column":38},"end":{"line":31,"column":47}},{"start":{"line":31,"column":51},"end":{"line":31,"column":60}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":20,"column":4}},"1":{"start":{"line":11,"column":31},"end":{"line":11,"column":47}},"2":{"start":{"line":12,"column":22},"end":{"line":12,"column":52}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":53}},"4":{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},"5":{"start":{"line":16,"column":33},"end":{"line":16,"column":118}},"6":{"start":{"line":16,"column":62},"end":{"line":16,"column":117}},"7":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":73}}},"fnMap":{"0":{"name":"saveStorageInformationFactory","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":45}},"loc":{"start":{"line":9,"column":2},"end":{"line":21,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":10}},"loc":{"start":{"line":10,"column":21},"end":{"line":20,"column":3}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":48},"end":{"line":16,"column":49}},"loc":{"start":{"line":16,"column":62},"end":{"line":16,"column":117}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":22},"end":{"line":12,"column":52}},"type":"binary-expr","locations":[{"start":{"line":12,"column":22},"end":{"line":12,"column":46}},{"start":{"line":12,"column":50},"end":{"line":12,"column":52}}],"line":12},"1":{"loc":{"start":{"line":16,"column":62},"end":{"line":16,"column":117}},"type":"binary-expr","locations":[{"start":{"line":16,"column":62},"end":{"line":16,"column":98}},{"start":{"line":16,"column":102},"end":{"line":16,"column":117}}],"line":16},"2":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AuthModal/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AuthModal/index.tsx","statementMap":{"0":{"start":{"line":21,"column":6},"end":{"line":21,"column":15}},"1":{"start":{"line":22,"column":19},"end":{"line":22,"column":42}},"2":{"start":{"line":23,"column":26},"end":{"line":23,"column":62}},"3":{"start":{"line":24,"column":30},"end":{"line":24,"column":63}},"4":{"start":{"line":25,"column":20},"end":{"line":25,"column":50}},"5":{"start":{"line":27,"column":30},"end":{"line":30,"column":4}},"6":{"start":{"line":32,"column":23},"end":{"line":41,"column":3}},"7":{"start":{"line":34,"column":30},"end":{"line":34,"column":38}},"8":{"start":{"line":35,"column":6},"end":{"line":38,"column":9}},"9":{"start":{"line":43,"column":21},"end":{"line":47,"column":26}},"10":{"start":{"line":44,"column":4},"end":{"line":44,"column":75}},"11":{"start":{"line":45,"column":4},"end":{"line":45,"column":43}},"12":{"start":{"line":46,"column":4},"end":{"line":46,"column":21}},"13":{"start":{"line":49,"column":30},"end":{"line":55,"column":35}},"14":{"start":{"line":50,"column":4},"end":{"line":54,"column":5}},"15":{"start":{"line":51,"column":6},"end":{"line":51,"column":20}},"16":{"start":{"line":53,"column":6},"end":{"line":53,"column":21}},"17":{"start":{"line":57,"column":2},"end":{"line":109,"column":4}}},"fnMap":{"0":{"name":"AuthModal","decl":{"start":{"line":18,"column":24},"end":{"line":18,"column":33}},"loc":{"start":{"line":18,"column":36},"end":{"line":110,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":42},"end":{"line":39,"column":5}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":33},"end":{"line":43,"column":34}},"loc":{"start":{"line":43,"column":39},"end":{"line":47,"column":3}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":42},"end":{"line":49,"column":43}},"loc":{"start":{"line":49,"column":48},"end":{"line":55,"column":3}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":11},"end":{"line":28,"column":26}},"type":"binary-expr","locations":[{"start":{"line":28,"column":11},"end":{"line":28,"column":20}},{"start":{"line":28,"column":24},"end":{"line":28,"column":26}}],"line":28},"1":{"loc":{"start":{"line":44,"column":12},"end":{"line":44,"column":73}},"type":"cond-expr","locations":[{"start":{"line":44,"column":39},"end":{"line":44,"column":55}},{"start":{"line":44,"column":58},"end":{"line":44,"column":73}}],"line":44},"2":{"loc":{"start":{"line":50,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":11},"end":{"line":54,"column":5}}],"line":50},"3":{"loc":{"start":{"line":59,"column":13},"end":{"line":59,"column":60}},"type":"cond-expr","locations":[{"start":{"line":59,"column":40},"end":{"line":59,"column":48}},{"start":{"line":59,"column":51},"end":{"line":59,"column":60}}],"line":59},"4":{"loc":{"start":{"line":62,"column":14},"end":{"line":62,"column":42}},"type":"binary-expr","locations":[{"start":{"line":62,"column":14},"end":{"line":62,"column":33}},{"start":{"line":62,"column":37},"end":{"line":62,"column":42}}],"line":62},"5":{"loc":{"start":{"line":74,"column":11},"end":{"line":74,"column":58}},"type":"cond-expr","locations":[{"start":{"line":74,"column":38},"end":{"line":74,"column":46}},{"start":{"line":74,"column":49},"end":{"line":74,"column":58}}],"line":74},"6":{"loc":{"start":{"line":76,"column":9},"end":{"line":89,"column":9}},"type":"binary-expr","locations":[{"start":{"line":76,"column":9},"end":{"line":76,"column":33}},{"start":{"line":77,"column":10},"end":{"line":88,"column":13}}],"line":76},"7":{"loc":{"start":{"line":90,"column":9},"end":{"line":94,"column":9}},"type":"binary-expr","locations":[{"start":{"line":90,"column":9},"end":{"line":90,"column":34}},{"start":{"line":91,"column":8},"end":{"line":93,"column":17}}],"line":90}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/ColorPicker.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/ColorPicker.tsx","statementMap":{"0":{"start":{"line":32,"column":21},"end":{"line":34,"column":2}},"1":{"start":{"line":35,"column":21},"end":{"line":37,"column":2}},"2":{"start":{"line":38,"column":64},"end":{"line":41,"column":1}},"3":{"start":{"line":43,"column":16},"end":{"line":46,"column":1}},"4":{"start":{"line":44,"column":17},"end":{"line":44,"column":32}},"5":{"start":{"line":45,"column":2},"end":{"line":45,"column":64}},"6":{"start":{"line":48,"column":23},"end":{"line":61,"column":1}},"7":{"start":{"line":49,"column":2},"end":{"line":60,"column":3}},"8":{"start":{"line":50,"column":19},"end":{"line":50,"column":49}},"9":{"start":{"line":51,"column":4},"end":{"line":56,"column":6}},"10":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"11":{"start":{"line":59,"column":4},"end":{"line":59,"column":31}},"12":{"start":{"line":63,"column":23},"end":{"line":76,"column":1}},"13":{"start":{"line":64,"column":2},"end":{"line":75,"column":3}},"14":{"start":{"line":65,"column":19},"end":{"line":65,"column":49}},"15":{"start":{"line":66,"column":4},"end":{"line":71,"column":6}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":23}},"17":{"start":{"line":74,"column":4},"end":{"line":74,"column":31}},"18":{"start":{"line":78,"column":87},"end":{"line":220,"column":1}},"19":{"start":{"line":79,"column":36},"end":{"line":79,"column":66}},"20":{"start":{"line":80,"column":44},"end":{"line":80,"column":65}},"21":{"start":{"line":81,"column":26},"end":{"line":81,"column":69}},"22":{"start":{"line":82,"column":26},"end":{"line":82,"column":69}},"23":{"start":{"line":84,"column":29},"end":{"line":98,"column":3}},"24":{"start":{"line":86,"column":18},"end":{"line":91,"column":8}},"25":{"start":{"line":92,"column":6},"end":{"line":92,"column":35}},"26":{"start":{"line":93,"column":6},"end":{"line":93,"column":35}},"27":{"start":{"line":94,"column":6},"end":{"line":94,"column":28}},"28":{"start":{"line":95,"column":6},"end":{"line":95,"column":20}},"29":{"start":{"line":100,"column":37},"end":{"line":127,"column":3}},"30":{"start":{"line":102,"column":6},"end":{"line":124,"column":7}},"31":{"start":{"line":103,"column":20},"end":{"line":108,"column":10}},"32":{"start":{"line":109,"column":8},"end":{"line":109,"column":42}},"33":{"start":{"line":110,"column":8},"end":{"line":110,"column":37}},"34":{"start":{"line":111,"column":8},"end":{"line":111,"column":30}},"35":{"start":{"line":112,"column":8},"end":{"line":112,"column":22}},"36":{"start":{"line":113,"column":13},"end":{"line":124,"column":7}},"37":{"start":{"line":114,"column":20},"end":{"line":119,"column":10}},"38":{"start":{"line":120,"column":8},"end":{"line":120,"column":42}},"39":{"start":{"line":121,"column":8},"end":{"line":121,"column":37}},"40":{"start":{"line":122,"column":8},"end":{"line":122,"column":30}},"41":{"start":{"line":123,"column":8},"end":{"line":123,"column":22}},"42":{"start":{"line":129,"column":26},"end":{"line":132,"column":3}},"43":{"start":{"line":130,"column":52},"end":{"line":130,"column":118}},"44":{"start":{"line":134,"column":28},"end":{"line":137,"column":3}},"45":{"start":{"line":135,"column":52},"end":{"line":135,"column":118}},"46":{"start":{"line":139,"column":27},"end":{"line":142,"column":3}},"47":{"start":{"line":140,"column":52},"end":{"line":140,"column":118}},"48":{"start":{"line":144,"column":26},"end":{"line":147,"column":3}},"49":{"start":{"line":145,"column":52},"end":{"line":145,"column":118}},"50":{"start":{"line":149,"column":33},"end":{"line":152,"column":3}},"51":{"start":{"line":150,"column":52},"end":{"line":150,"column":118}},"52":{"start":{"line":154,"column":32},"end":{"line":157,"column":3}},"53":{"start":{"line":155,"column":52},"end":{"line":155,"column":118}},"54":{"start":{"line":159,"column":28},"end":{"line":162,"column":3}},"55":{"start":{"line":160,"column":52},"end":{"line":160,"column":118}},"56":{"start":{"line":164,"column":32},"end":{"line":166,"column":17}},"57":{"start":{"line":165,"column":4},"end":{"line":165,"column":81}},"58":{"start":{"line":168,"column":2},"end":{"line":174,"column":29}},"59":{"start":{"line":169,"column":4},"end":{"line":173,"column":5}},"60":{"start":{"line":170,"column":6},"end":{"line":170,"column":30}},"61":{"start":{"line":171,"column":6},"end":{"line":171,"column":37}},"62":{"start":{"line":172,"column":6},"end":{"line":172,"column":37}},"63":{"start":{"line":176,"column":2},"end":{"line":219,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":43,"column":16},"end":{"line":43,"column":17}},"loc":{"start":{"line":43,"column":54},"end":{"line":46,"column":1}},"line":43},"1":{"name":"(anonymous_1)","decl":{"start":{"line":48,"column":23},"end":{"line":48,"column":24}},"loc":{"start":{"line":48,"column":42},"end":{"line":61,"column":1}},"line":48},"2":{"name":"(anonymous_2)","decl":{"start":{"line":63,"column":23},"end":{"line":63,"column":24}},"loc":{"start":{"line":63,"column":42},"end":{"line":76,"column":1}},"line":63},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":87},"end":{"line":78,"column":88}},"loc":{"start":{"line":78,"column":124},"end":{"line":220,"column":1}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":31},"end":{"line":96,"column":5}},"line":85},"5":{"name":"(anonymous_5)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":66},"end":{"line":125,"column":5}},"line":101},"6":{"name":"(anonymous_6)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":52},"end":{"line":130,"column":118}},"line":130},"7":{"name":"(anonymous_7)","decl":{"start":{"line":135,"column":4},"end":{"line":135,"column":5}},"loc":{"start":{"line":135,"column":52},"end":{"line":135,"column":118}},"line":135},"8":{"name":"(anonymous_8)","decl":{"start":{"line":140,"column":4},"end":{"line":140,"column":5}},"loc":{"start":{"line":140,"column":52},"end":{"line":140,"column":118}},"line":140},"9":{"name":"(anonymous_9)","decl":{"start":{"line":145,"column":4},"end":{"line":145,"column":5}},"loc":{"start":{"line":145,"column":52},"end":{"line":145,"column":118}},"line":145},"10":{"name":"(anonymous_10)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":52},"end":{"line":150,"column":118}},"line":150},"11":{"name":"(anonymous_11)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":52},"end":{"line":155,"column":118}},"line":155},"12":{"name":"(anonymous_12)","decl":{"start":{"line":160,"column":4},"end":{"line":160,"column":5}},"loc":{"start":{"line":160,"column":52},"end":{"line":160,"column":118}},"line":160},"13":{"name":"(anonymous_13)","decl":{"start":{"line":164,"column":50},"end":{"line":164,"column":51}},"loc":{"start":{"line":164,"column":56},"end":{"line":166,"column":3}},"line":164},"14":{"name":"(anonymous_14)","decl":{"start":{"line":168,"column":18},"end":{"line":168,"column":19}},"loc":{"start":{"line":168,"column":24},"end":{"line":174,"column":3}},"line":168}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":30},"end":{"line":50,"column":48}},"type":"binary-expr","locations":[{"start":{"line":50,"column":30},"end":{"line":50,"column":35}},{"start":{"line":50,"column":39},"end":{"line":50,"column":48}}],"line":50},"1":{"loc":{"start":{"line":55,"column":9},"end":{"line":55,"column":57}},"type":"cond-expr","locations":[{"start":{"line":55,"column":29},"end":{"line":55,"column":53}},{"start":{"line":55,"column":56},"end":{"line":55,"column":57}}],"line":55},"2":{"loc":{"start":{"line":65,"column":30},"end":{"line":65,"column":48}},"type":"binary-expr","locations":[{"start":{"line":65,"column":30},"end":{"line":65,"column":35}},{"start":{"line":65,"column":39},"end":{"line":65,"column":48}}],"line":65},"3":{"loc":{"start":{"line":70,"column":9},"end":{"line":70,"column":57}},"type":"cond-expr","locations":[{"start":{"line":70,"column":29},"end":{"line":70,"column":53}},{"start":{"line":70,"column":56},"end":{"line":70,"column":57}}],"line":70},"4":{"loc":{"start":{"line":78,"column":90},"end":{"line":78,"column":107}},"type":"default-arg","locations":[{"start":{"line":78,"column":98},"end":{"line":78,"column":107}}],"line":78},"5":{"loc":{"start":{"line":102,"column":6},"end":{"line":124,"column":7}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":124,"column":7}},{"start":{"line":113,"column":13},"end":{"line":124,"column":7}}],"line":102},"6":{"loc":{"start":{"line":102,"column":10},"end":{"line":102,"column":104}},"type":"binary-expr","locations":[{"start":{"line":102,"column":10},"end":{"line":102,"column":22}},{"start":{"line":102,"column":26},"end":{"line":102,"column":38}},{"start":{"line":102,"column":42},"end":{"line":102,"column":54}},{"start":{"line":102,"column":59},"end":{"line":102,"column":71}},{"start":{"line":102,"column":75},"end":{"line":102,"column":103}}],"line":102},"7":{"loc":{"start":{"line":104,"column":15},"end":{"line":104,"column":42}},"type":"cond-expr","locations":[{"start":{"line":104,"column":30},"end":{"line":104,"column":33}},{"start":{"line":104,"column":36},"end":{"line":104,"column":42}}],"line":104},"8":{"loc":{"start":{"line":105,"column":17},"end":{"line":105,"column":44}},"type":"cond-expr","locations":[{"start":{"line":105,"column":32},"end":{"line":105,"column":35}},{"start":{"line":105,"column":38},"end":{"line":105,"column":44}}],"line":105},"9":{"loc":{"start":{"line":106,"column":16},"end":{"line":106,"column":43}},"type":"cond-expr","locations":[{"start":{"line":106,"column":31},"end":{"line":106,"column":34}},{"start":{"line":106,"column":37},"end":{"line":106,"column":43}}],"line":106},"10":{"loc":{"start":{"line":107,"column":17},"end":{"line":107,"column":44}},"type":"cond-expr","locations":[{"start":{"line":107,"column":32},"end":{"line":107,"column":35}},{"start":{"line":107,"column":38},"end":{"line":107,"column":44}}],"line":107},"11":{"loc":{"start":{"line":113,"column":13},"end":{"line":124,"column":7}},"type":"if","locations":[{"start":{"line":113,"column":13},"end":{"line":124,"column":7}},{"start":{},"end":{}}],"line":113},"12":{"loc":{"start":{"line":113,"column":17},"end":{"line":113,"column":111}},"type":"binary-expr","locations":[{"start":{"line":113,"column":17},"end":{"line":113,"column":29}},{"start":{"line":113,"column":33},"end":{"line":113,"column":45}},{"start":{"line":113,"column":49},"end":{"line":113,"column":61}},{"start":{"line":113,"column":66},"end":{"line":113,"column":78}},{"start":{"line":113,"column":82},"end":{"line":113,"column":110}}],"line":113},"13":{"loc":{"start":{"line":115,"column":15},"end":{"line":115,"column":42}},"type":"cond-expr","locations":[{"start":{"line":115,"column":30},"end":{"line":115,"column":33}},{"start":{"line":115,"column":36},"end":{"line":115,"column":42}}],"line":115},"14":{"loc":{"start":{"line":116,"column":23},"end":{"line":116,"column":50}},"type":"cond-expr","locations":[{"start":{"line":116,"column":38},"end":{"line":116,"column":41}},{"start":{"line":116,"column":44},"end":{"line":116,"column":50}}],"line":116},"15":{"loc":{"start":{"line":117,"column":22},"end":{"line":117,"column":49}},"type":"cond-expr","locations":[{"start":{"line":117,"column":37},"end":{"line":117,"column":40}},{"start":{"line":117,"column":43},"end":{"line":117,"column":49}}],"line":117},"16":{"loc":{"start":{"line":118,"column":17},"end":{"line":118,"column":44}},"type":"cond-expr","locations":[{"start":{"line":118,"column":32},"end":{"line":118,"column":35}},{"start":{"line":118,"column":38},"end":{"line":118,"column":44}}],"line":118},"17":{"loc":{"start":{"line":165,"column":17},"end":{"line":165,"column":79}},"type":"cond-expr","locations":[{"start":{"line":165,"column":48},"end":{"line":165,"column":62}},{"start":{"line":165,"column":65},"end":{"line":165,"column":79}}],"line":165},"18":{"loc":{"start":{"line":169,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":173,"column":5}},{"start":{},"end":{}}],"line":169},"19":{"loc":{"start":{"line":182,"column":9},"end":{"line":197,"column":9}},"type":"binary-expr","locations":[{"start":{"line":182,"column":9},"end":{"line":182,"column":37}},{"start":{"line":183,"column":8},"end":{"line":196,"column":16}}],"line":182},"20":{"loc":{"start":{"line":198,"column":9},"end":{"line":213,"column":9}},"type":"binary-expr","locations":[{"start":{"line":198,"column":9},"end":{"line":198,"column":37}},{"start":{"line":199,"column":8},"end":{"line":212,"column":16}}],"line":198},"21":{"loc":{"start":{"line":215,"column":11},"end":{"line":215,"column":61}},"type":"cond-expr","locations":[{"start":{"line":215,"column":42},"end":{"line":215,"column":50}},{"start":{"line":215,"column":53},"end":{"line":215,"column":61}}],"line":215}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/DownshiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/DownshiftInput.tsx","statementMap":{"0":{"start":{"line":52,"column":121},"end":{"line":368,"column":1}},"1":{"start":{"line":71,"column":48},"end":{"line":71,"column":69}},"2":{"start":{"line":72,"column":40},"end":{"line":72,"column":58}},"3":{"start":{"line":73,"column":54},"end":{"line":73,"column":91}},"4":{"start":{"line":74,"column":19},"end":{"line":74,"column":42}},"5":{"start":{"line":75,"column":21},"end":{"line":75,"column":52}},"6":{"start":{"line":76,"column":25},"end":{"line":76,"column":61}},"7":{"start":{"line":77,"column":23},"end":{"line":77,"column":55}},"8":{"start":{"line":78,"column":35},"end":{"line":78,"column":66}},"9":{"start":{"line":79,"column":30},"end":{"line":79,"column":71}},"10":{"start":{"line":80,"column":28},"end":{"line":80,"column":43}},"11":{"start":{"line":81,"column":30},"end":{"line":85,"column":12}},"12":{"start":{"line":82,"column":4},"end":{"line":82,"column":58}},"13":{"start":{"line":82,"column":43},"end":{"line":82,"column":58}},"14":{"start":{"line":83,"column":4},"end":{"line":83,"column":59}},"15":{"start":{"line":83,"column":42},"end":{"line":83,"column":59}},"16":{"start":{"line":84,"column":4},"end":{"line":84,"column":21}},"17":{"start":{"line":87,"column":2},"end":{"line":91,"column":9}},"18":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"19":{"start":{"line":89,"column":6},"end":{"line":89,"column":37}},"20":{"start":{"line":93,"column":2},"end":{"line":97,"column":43}},"21":{"start":{"line":94,"column":4},"end":{"line":96,"column":5}},"22":{"start":{"line":95,"column":6},"end":{"line":95,"column":22}},"23":{"start":{"line":99,"column":2},"end":{"line":104,"column":42}},"24":{"start":{"line":100,"column":4},"end":{"line":102,"column":5}},"25":{"start":{"line":101,"column":6},"end":{"line":101,"column":25}},"26":{"start":{"line":103,"column":4},"end":{"line":103,"column":57}},"27":{"start":{"line":106,"column":29},"end":{"line":126,"column":3}},"28":{"start":{"line":108,"column":62},"end":{"line":108,"column":64}},"29":{"start":{"line":109,"column":6},"end":{"line":119,"column":7}},"30":{"start":{"line":110,"column":8},"end":{"line":113,"column":13}},"31":{"start":{"line":111,"column":42},"end":{"line":111,"column":97}},"32":{"start":{"line":112,"column":12},"end":{"line":112,"column":91}},"33":{"start":{"line":115,"column":8},"end":{"line":118,"column":13}},"34":{"start":{"line":116,"column":42},"end":{"line":116,"column":142}},"35":{"start":{"line":117,"column":12},"end":{"line":117,"column":91}},"36":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"37":{"start":{"line":121,"column":8},"end":{"line":121,"column":134}},"38":{"start":{"line":121,"column":68},"end":{"line":121,"column":132}},"39":{"start":{"line":123,"column":6},"end":{"line":123,"column":35}},"40":{"start":{"line":128,"column":25},"end":{"line":140,"column":71}},"41":{"start":{"line":129,"column":47},"end":{"line":129,"column":49}},"42":{"start":{"line":130,"column":4},"end":{"line":132,"column":5}},"43":{"start":{"line":131,"column":6},"end":{"line":131,"column":91}},"44":{"start":{"line":131,"column":67},"end":{"line":131,"column":87}},"45":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"46":{"start":{"line":134,"column":6},"end":{"line":134,"column":154}},"47":{"start":{"line":134,"column":58},"end":{"line":134,"column":101}},"48":{"start":{"line":134,"column":125},"end":{"line":134,"column":152}},"49":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"50":{"start":{"line":137,"column":6},"end":{"line":137,"column":110}},"51":{"start":{"line":137,"column":69},"end":{"line":137,"column":108}},"52":{"start":{"line":139,"column":4},"end":{"line":139,"column":33}},"53":{"start":{"line":142,"column":29},"end":{"line":160,"column":8}},"54":{"start":{"line":144,"column":18},"end":{"line":144,"column":105}},"55":{"start":{"line":145,"column":4},"end":{"line":159,"column":6}},"56":{"start":{"line":149,"column":24},"end":{"line":149,"column":38}},"57":{"start":{"line":150,"column":12},"end":{"line":154,"column":14}},"58":{"start":{"line":162,"column":23},"end":{"line":172,"column":48}},"59":{"start":{"line":163,"column":4},"end":{"line":170,"column":5}},"60":{"start":{"line":164,"column":6},"end":{"line":169,"column":7}},"61":{"start":{"line":165,"column":8},"end":{"line":165,"column":87}},"62":{"start":{"line":166,"column":8},"end":{"line":166,"column":34}},"63":{"start":{"line":168,"column":8},"end":{"line":168,"column":36}},"64":{"start":{"line":171,"column":4},"end":{"line":171,"column":30}},"65":{"start":{"line":174,"column":34},"end":{"line":176,"column":8}},"66":{"start":{"line":175,"column":4},"end":{"line":175,"column":35}},"67":{"start":{"line":178,"column":34},"end":{"line":181,"column":47}},"68":{"start":{"line":179,"column":4},"end":{"line":180,"column":41}},"69":{"start":{"line":179,"column":64},"end":{"line":179,"column":107}},"70":{"start":{"line":180,"column":9},"end":{"line":180,"column":41}},"71":{"start":{"line":183,"column":24},"end":{"line":185,"column":8}},"72":{"start":{"line":184,"column":4},"end":{"line":184,"column":30}},"73":{"start":{"line":187,"column":20},"end":{"line":187,"column":50}},"74":{"start":{"line":189,"column":2},"end":{"line":367,"column":4}},"75":{"start":{"line":194,"column":8},"end":{"line":364,"column":14}},"76":{"start":{"line":274,"column":40},"end":{"line":274,"column":65}},"77":{"start":{"line":275,"column":26},"end":{"line":311,"column":28}},"78":{"start":{"line":296,"column":51},"end":{"line":296,"column":75}},"79":{"start":{"line":320,"column":52},"end":{"line":320,"column":73}},"80":{"start":{"line":321,"column":30},"end":{"line":346,"column":32}},"81":{"start":{"line":339,"column":55},"end":{"line":339,"column":82}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":52,"column":121},"end":{"line":52,"column":122}},"loc":{"start":{"line":70,"column":6},"end":{"line":368,"column":1}},"line":70},"1":{"name":"(anonymous_1)","decl":{"start":{"line":81,"column":63},"end":{"line":81,"column":64}},"loc":{"start":{"line":81,"column":69},"end":{"line":85,"column":3}},"line":81},"2":{"name":"(anonymous_2)","decl":{"start":{"line":87,"column":18},"end":{"line":87,"column":19}},"loc":{"start":{"line":87,"column":24},"end":{"line":91,"column":3}},"line":87},"3":{"name":"(anonymous_3)","decl":{"start":{"line":93,"column":18},"end":{"line":93,"column":19}},"loc":{"start":{"line":93,"column":24},"end":{"line":97,"column":3}},"line":93},"4":{"name":"(anonymous_4)","decl":{"start":{"line":99,"column":18},"end":{"line":99,"column":19}},"loc":{"start":{"line":99,"column":24},"end":{"line":104,"column":3}},"line":99},"5":{"name":"(anonymous_5)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":107,"column":10},"end":{"line":124,"column":5}},"line":107},"6":{"name":"(anonymous_6)","decl":{"start":{"line":111,"column":18},"end":{"line":111,"column":19}},"loc":{"start":{"line":111,"column":42},"end":{"line":111,"column":97}},"line":111},"7":{"name":"(anonymous_7)","decl":{"start":{"line":111,"column":104},"end":{"line":111,"column":105}},"loc":{"start":{"line":112,"column":12},"end":{"line":112,"column":91}},"line":112},"8":{"name":"(anonymous_8)","decl":{"start":{"line":116,"column":18},"end":{"line":116,"column":19}},"loc":{"start":{"line":116,"column":42},"end":{"line":116,"column":142}},"line":116},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":149},"end":{"line":116,"column":150}},"loc":{"start":{"line":117,"column":12},"end":{"line":117,"column":91}},"line":117},"10":{"name":"(anonymous_10)","decl":{"start":{"line":121,"column":44},"end":{"line":121,"column":45}},"loc":{"start":{"line":121,"column":68},"end":{"line":121,"column":132}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":128,"column":33},"end":{"line":128,"column":34}},"loc":{"start":{"line":128,"column":39},"end":{"line":140,"column":3}},"line":128},"12":{"name":"(anonymous_12)","decl":{"start":{"line":131,"column":57},"end":{"line":131,"column":58}},"loc":{"start":{"line":131,"column":67},"end":{"line":131,"column":87}},"line":131},"13":{"name":"(anonymous_13)","decl":{"start":{"line":134,"column":48},"end":{"line":134,"column":49}},"loc":{"start":{"line":134,"column":58},"end":{"line":134,"column":101}},"line":134},"14":{"name":"(anonymous_14)","decl":{"start":{"line":134,"column":107},"end":{"line":134,"column":108}},"loc":{"start":{"line":134,"column":125},"end":{"line":134,"column":152}},"line":134},"15":{"name":"(anonymous_15)","decl":{"start":{"line":137,"column":42},"end":{"line":137,"column":43}},"loc":{"start":{"line":137,"column":69},"end":{"line":137,"column":108}},"line":137},"16":{"name":"(anonymous_16)","decl":{"start":{"line":142,"column":41},"end":{"line":142,"column":42}},"loc":{"start":{"line":142,"column":78},"end":{"line":160,"column":3}},"line":142},"17":{"name":"(anonymous_17)","decl":{"start":{"line":148,"column":21},"end":{"line":148,"column":22}},"loc":{"start":{"line":148,"column":34},"end":{"line":155,"column":11}},"line":148},"18":{"name":"(anonymous_18)","decl":{"start":{"line":162,"column":35},"end":{"line":162,"column":36}},"loc":{"start":{"line":162,"column":58},"end":{"line":172,"column":3}},"line":162},"19":{"name":"(anonymous_19)","decl":{"start":{"line":174,"column":96},"end":{"line":174,"column":97}},"loc":{"start":{"line":174,"column":103},"end":{"line":176,"column":3}},"line":174},"20":{"name":"(anonymous_20)","decl":{"start":{"line":178,"column":52},"end":{"line":178,"column":53}},"loc":{"start":{"line":178,"column":58},"end":{"line":181,"column":3}},"line":178},"21":{"name":"(anonymous_21)","decl":{"start":{"line":183,"column":42},"end":{"line":183,"column":43}},"loc":{"start":{"line":183,"column":48},"end":{"line":185,"column":3}},"line":183},"22":{"name":"(anonymous_22)","decl":{"start":{"line":191,"column":7},"end":{"line":191,"column":8}},"loc":{"start":{"line":194,"column":8},"end":{"line":364,"column":14}},"line":194},"23":{"name":"(anonymous_23)","decl":{"start":{"line":273,"column":25},"end":{"line":273,"column":26}},"loc":{"start":{"line":273,"column":47},"end":{"line":312,"column":25}},"line":273},"24":{"name":"(anonymous_24)","decl":{"start":{"line":296,"column":45},"end":{"line":296,"column":46}},"loc":{"start":{"line":296,"column":51},"end":{"line":296,"column":75}},"line":296},"25":{"name":"(anonymous_25)","decl":{"start":{"line":319,"column":29},"end":{"line":319,"column":30}},"loc":{"start":{"line":319,"column":51},"end":{"line":347,"column":29}},"line":319},"26":{"name":"(anonymous_26)","decl":{"start":{"line":339,"column":49},"end":{"line":339,"column":50}},"loc":{"start":{"line":339,"column":55},"end":{"line":339,"column":82}},"line":339}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":2},"end":{"line":56,"column":21}},"type":"default-arg","locations":[{"start":{"line":56,"column":16},"end":{"line":56,"column":21}}],"line":56},"1":{"loc":{"start":{"line":82,"column":4},"end":{"line":82,"column":58}},"type":"if","locations":[{"start":{"line":82,"column":4},"end":{"line":82,"column":58}},{"start":{},"end":{}}],"line":82},"2":{"loc":{"start":{"line":83,"column":4},"end":{"line":83,"column":59}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":59}},{"start":{},"end":{}}],"line":83},"3":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":88},"4":{"loc":{"start":{"line":94,"column":4},"end":{"line":96,"column":5}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":96,"column":5}},{"start":{},"end":{}}],"line":94},"5":{"loc":{"start":{"line":100,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":102,"column":5}},{"start":{},"end":{}}],"line":100},"6":{"loc":{"start":{"line":109,"column":6},"end":{"line":119,"column":7}},"type":"if","locations":[{"start":{"line":109,"column":6},"end":{"line":119,"column":7}},{"start":{"line":114,"column":13},"end":{"line":119,"column":7}}],"line":109},"7":{"loc":{"start":{"line":116,"column":42},"end":{"line":116,"column":142}},"type":"binary-expr","locations":[{"start":{"line":116,"column":42},"end":{"line":116,"column":83}},{"start":{"line":116,"column":87},"end":{"line":116,"column":142}}],"line":116},"8":{"loc":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"type":"if","locations":[{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},{"start":{},"end":{}}],"line":120},"9":{"loc":{"start":{"line":130,"column":4},"end":{"line":132,"column":5}},"type":"if","locations":[{"start":{"line":130,"column":4},"end":{"line":132,"column":5}},{"start":{},"end":{}}],"line":130},"10":{"loc":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":133},"11":{"loc":{"start":{"line":133,"column":8},"end":{"line":133,"column":62}},"type":"binary-expr","locations":[{"start":{"line":133,"column":8},"end":{"line":133,"column":40}},{"start":{"line":133,"column":44},"end":{"line":133,"column":62}}],"line":133},"12":{"loc":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},{"start":{},"end":{}}],"line":136},"13":{"loc":{"start":{"line":163,"column":4},"end":{"line":170,"column":5}},"type":"if","locations":[{"start":{"line":163,"column":4},"end":{"line":170,"column":5}},{"start":{},"end":{}}],"line":163},"14":{"loc":{"start":{"line":164,"column":6},"end":{"line":169,"column":7}},"type":"if","locations":[{"start":{"line":164,"column":6},"end":{"line":169,"column":7}},{"start":{"line":167,"column":13},"end":{"line":169,"column":7}}],"line":164},"15":{"loc":{"start":{"line":165,"column":22},"end":{"line":165,"column":85}},"type":"cond-expr","locations":[{"start":{"line":165,"column":45},"end":{"line":165,"column":63}},{"start":{"line":165,"column":66},"end":{"line":165,"column":85}}],"line":165},"16":{"loc":{"start":{"line":179,"column":4},"end":{"line":180,"column":41}},"type":"if","locations":[{"start":{"line":179,"column":4},"end":{"line":180,"column":41}},{"start":{"line":180,"column":9},"end":{"line":180,"column":41}}],"line":179},"17":{"loc":{"start":{"line":179,"column":8},"end":{"line":179,"column":62}},"type":"binary-expr","locations":[{"start":{"line":179,"column":8},"end":{"line":179,"column":39}},{"start":{"line":179,"column":43},"end":{"line":179,"column":62}}],"line":179},"18":{"loc":{"start":{"line":187,"column":20},"end":{"line":187,"column":50}},"type":"binary-expr","locations":[{"start":{"line":187,"column":20},"end":{"line":187,"column":31}},{"start":{"line":187,"column":35},"end":{"line":187,"column":50}}],"line":187},"19":{"loc":{"start":{"line":196,"column":13},"end":{"line":196,"column":82}},"type":"cond-expr","locations":[{"start":{"line":196,"column":37},"end":{"line":196,"column":75}},{"start":{"line":196,"column":78},"end":{"line":196,"column":82}}],"line":196},"20":{"loc":{"start":{"line":196,"column":13},"end":{"line":196,"column":34}},"type":"binary-expr","locations":[{"start":{"line":196,"column":13},"end":{"line":196,"column":18}},{"start":{"line":196,"column":22},"end":{"line":196,"column":34}}],"line":196},"21":{"loc":{"start":{"line":197,"column":13},"end":{"line":197,"column":70}},"type":"cond-expr","locations":[{"start":{"line":197,"column":21},"end":{"line":197,"column":63}},{"start":{"line":197,"column":66},"end":{"line":197,"column":70}}],"line":197},"22":{"loc":{"start":{"line":200,"column":13},"end":{"line":202,"column":13}},"type":"binary-expr","locations":[{"start":{"line":200,"column":13},"end":{"line":200,"column":26}},{"start":{"line":200,"column":30},"end":{"line":200,"column":37}},{"start":{"line":201,"column":14},"end":{"line":201,"column":114}}],"line":200},"23":{"loc":{"start":{"line":203,"column":13},"end":{"line":203,"column":117}},"type":"binary-expr","locations":[{"start":{"line":203,"column":13},"end":{"line":203,"column":21}},{"start":{"line":203,"column":25},"end":{"line":203,"column":117}}],"line":203},"24":{"loc":{"start":{"line":217,"column":13},"end":{"line":362,"column":13}},"type":"binary-expr","locations":[{"start":{"line":217,"column":13},"end":{"line":217,"column":19}},{"start":{"line":218,"column":12},"end":{"line":361,"column":27}}],"line":217},"25":{"loc":{"start":{"line":251,"column":24},"end":{"line":260,"column":25}},"type":"binary-expr","locations":[{"start":{"line":251,"column":24},"end":{"line":251,"column":43}},{"start":{"line":252,"column":26},"end":{"line":259,"column":32}}],"line":251},"26":{"loc":{"start":{"line":271,"column":22},"end":{"line":314,"column":23}},"type":"binary-expr","locations":[{"start":{"line":271,"column":22},"end":{"line":271,"column":53}},{"start":{"line":271,"column":57},"end":{"line":271,"column":86}},{"start":{"line":272,"column":22},"end":{"line":313,"column":35}}],"line":271},"27":{"loc":{"start":{"line":281,"column":68},"end":{"line":281,"column":85}},"type":"binary-expr","locations":[{"start":{"line":281,"column":68},"end":{"line":281,"column":79}},{"start":{"line":281,"column":83},"end":{"line":281,"column":85}}],"line":281},"28":{"loc":{"start":{"line":298,"column":33},"end":{"line":302,"column":33}},"type":"binary-expr","locations":[{"start":{"line":298,"column":33},"end":{"line":298,"column":49}},{"start":{"line":299,"column":32},"end":{"line":301,"column":53}}],"line":298},"29":{"loc":{"start":{"line":304,"column":66},"end":{"line":304,"column":83}},"type":"binary-expr","locations":[{"start":{"line":304,"column":66},"end":{"line":304,"column":77}},{"start":{"line":304,"column":81},"end":{"line":304,"column":83}}],"line":304},"30":{"loc":{"start":{"line":317,"column":22},"end":{"line":349,"column":23}},"type":"binary-expr","locations":[{"start":{"line":317,"column":22},"end":{"line":317,"column":53}},{"start":{"line":317,"column":57},"end":{"line":317,"column":82}},{"start":{"line":318,"column":24},"end":{"line":348,"column":37}}],"line":317},"31":{"loc":{"start":{"line":327,"column":75},"end":{"line":327,"column":92}},"type":"binary-expr","locations":[{"start":{"line":327,"column":75},"end":{"line":327,"column":86}},{"start":{"line":327,"column":90},"end":{"line":327,"column":92}}],"line":327},"32":{"loc":{"start":{"line":342,"column":73},"end":{"line":342,"column":90}},"type":"binary-expr","locations":[{"start":{"line":342,"column":73},"end":{"line":342,"column":84}},{"start":{"line":342,"column":88},"end":{"line":342,"column":90}}],"line":342},"33":{"loc":{"start":{"line":352,"column":22},"end":{"line":356,"column":23}},"type":"binary-expr","locations":[{"start":{"line":352,"column":24},"end":{"line":352,"column":55}},{"start":{"line":352,"column":59},"end":{"line":352,"column":86}},{"start":{"line":352,"column":92},"end":{"line":352,"column":123}},{"start":{"line":352,"column":127},"end":{"line":352,"column":158}},{"start":{"line":353,"column":22},"end":{"line":355,"column":28}}],"line":352}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/MentionInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/MentionInput.tsx","statementMap":{"0":{"start":{"line":46,"column":19},"end":{"line":46,"column":27}},"1":{"start":{"line":62,"column":30},"end":{"line":62,"column":71}},"2":{"start":{"line":64,"column":22},"end":{"line":81,"column":62}},"3":{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},"4":{"start":{"line":66,"column":6},"end":{"line":72,"column":12}},"5":{"start":{"line":67,"column":40},"end":{"line":67,"column":66}},"6":{"start":{"line":68,"column":10},"end":{"line":68,"column":89}},"7":{"start":{"line":69,"column":35},"end":{"line":72,"column":9}},"8":{"start":{"line":74,"column":4},"end":{"line":80,"column":10}},"9":{"start":{"line":75,"column":38},"end":{"line":75,"column":109}},"10":{"start":{"line":76,"column":8},"end":{"line":76,"column":87}},"11":{"start":{"line":77,"column":33},"end":{"line":80,"column":7}},"12":{"start":{"line":83,"column":35},"end":{"line":85,"column":26}},"13":{"start":{"line":84,"column":4},"end":{"line":84,"column":66}},"14":{"start":{"line":87,"column":26},"end":{"line":91,"column":18}},"15":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"16":{"start":{"line":89,"column":6},"end":{"line":89,"column":19}},"17":{"start":{"line":93,"column":29},"end":{"line":108,"column":8}},"18":{"start":{"line":96,"column":18},"end":{"line":96,"column":113}},"19":{"start":{"line":97,"column":4},"end":{"line":107,"column":6}},"20":{"start":{"line":101,"column":10},"end":{"line":103,"column":23}},"21":{"start":{"line":110,"column":32},"end":{"line":145,"column":76}},"22":{"start":{"line":113,"column":26},"end":{"line":113,"column":136}},"23":{"start":{"line":113,"column":57},"end":{"line":113,"column":135}},"24":{"start":{"line":114,"column":4},"end":{"line":144,"column":6}},"25":{"start":{"line":147,"column":29},"end":{"line":150,"column":16}},"26":{"start":{"line":148,"column":4},"end":{"line":148,"column":23}},"27":{"start":{"line":149,"column":4},"end":{"line":149,"column":17}},"28":{"start":{"line":152,"column":2},"end":{"line":172,"column":4}},"29":{"start":{"line":169,"column":8},"end":{"line":169,"column":35}}},"fnMap":{"0":{"name":"MentionsInput","decl":{"start":{"line":48,"column":24},"end":{"line":48,"column":37}},"loc":{"start":{"line":61,"column":10},"end":{"line":173,"column":1}},"line":61},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":52},"end":{"line":64,"column":53}},"loc":{"start":{"line":64,"column":58},"end":{"line":81,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":67,"column":16},"end":{"line":67,"column":17}},"loc":{"start":{"line":67,"column":40},"end":{"line":67,"column":66}},"line":67},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":73},"end":{"line":67,"column":74}},"loc":{"start":{"line":68,"column":10},"end":{"line":68,"column":89}},"line":68},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":15},"end":{"line":69,"column":16}},"loc":{"start":{"line":69,"column":35},"end":{"line":72,"column":9}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":14},"end":{"line":75,"column":15}},"loc":{"start":{"line":75,"column":38},"end":{"line":75,"column":109}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":116},"end":{"line":75,"column":117}},"loc":{"start":{"line":76,"column":8},"end":{"line":76,"column":87}},"line":76},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":13},"end":{"line":77,"column":14}},"loc":{"start":{"line":77,"column":33},"end":{"line":80,"column":7}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":83,"column":53},"end":{"line":83,"column":54}},"loc":{"start":{"line":83,"column":75},"end":{"line":85,"column":3}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":87,"column":44},"end":{"line":87,"column":45}},"loc":{"start":{"line":87,"column":50},"end":{"line":91,"column":3}},"line":87},"10":{"name":"(anonymous_10)","decl":{"start":{"line":93,"column":47},"end":{"line":93,"column":48}},"loc":{"start":{"line":93,"column":84},"end":{"line":108,"column":3}},"line":93},"11":{"name":"(anonymous_11)","decl":{"start":{"line":99,"column":19},"end":{"line":99,"column":20}},"loc":{"start":{"line":101,"column":10},"end":{"line":103,"column":23}},"line":101},"12":{"name":"(anonymous_12)","decl":{"start":{"line":110,"column":50},"end":{"line":110,"column":51}},"loc":{"start":{"line":112,"column":7},"end":{"line":145,"column":3}},"line":112},"13":{"name":"(anonymous_13)","decl":{"start":{"line":113,"column":46},"end":{"line":113,"column":47}},"loc":{"start":{"line":113,"column":57},"end":{"line":113,"column":135}},"line":113},"14":{"name":"(anonymous_14)","decl":{"start":{"line":147,"column":47},"end":{"line":147,"column":48}},"loc":{"start":{"line":147,"column":96},"end":{"line":150,"column":3}},"line":147},"15":{"name":"(anonymous_15)","decl":{"start":{"line":168,"column":23},"end":{"line":168,"column":24}},"loc":{"start":{"line":169,"column":8},"end":{"line":169,"column":35}},"line":169}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":2},"end":{"line":49,"column":19}},"type":"default-arg","locations":[{"start":{"line":49,"column":14},"end":{"line":49,"column":19}}],"line":49},"1":{"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":16}},"type":"default-arg","locations":[{"start":{"line":50,"column":9},"end":{"line":50,"column":16}}],"line":50},"2":{"loc":{"start":{"line":60,"column":2},"end":{"line":60,"column":19}},"type":"default-arg","locations":[{"start":{"line":60,"column":14},"end":{"line":60,"column":19}}],"line":60},"3":{"loc":{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":75,"column":38},"end":{"line":75,"column":109}},"type":"binary-expr","locations":[{"start":{"line":75,"column":38},"end":{"line":75,"column":79}},{"start":{"line":75,"column":83},"end":{"line":75,"column":109}}],"line":75},"5":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":88},"6":{"loc":{"start":{"line":113,"column":57},"end":{"line":113,"column":135}},"type":"binary-expr","locations":[{"start":{"line":113,"column":57},"end":{"line":113,"column":98}},{"start":{"line":113,"column":102},"end":{"line":113,"column":135}}],"line":113},"7":{"loc":{"start":{"line":116,"column":13},"end":{"line":116,"column":53}},"type":"binary-expr","locations":[{"start":{"line":116,"column":14},"end":{"line":116,"column":37}},{"start":{"line":116,"column":42},"end":{"line":116,"column":53}}],"line":116},"8":{"loc":{"start":{"line":125,"column":36},"end":{"line":125,"column":61}},"type":"binary-expr","locations":[{"start":{"line":125,"column":36},"end":{"line":125,"column":55}},{"start":{"line":125,"column":59},"end":{"line":125,"column":61}}],"line":125},"9":{"loc":{"start":{"line":125,"column":63},"end":{"line":125,"column":74}},"type":"binary-expr","locations":[{"start":{"line":125,"column":63},"end":{"line":125,"column":68}},{"start":{"line":125,"column":72},"end":{"line":125,"column":74}}],"line":125},"10":{"loc":{"start":{"line":127,"column":15},"end":{"line":133,"column":15}},"type":"binary-expr","locations":[{"start":{"line":127,"column":15},"end":{"line":127,"column":28}},{"start":{"line":128,"column":16},"end":{"line":132,"column":34}}],"line":127},"11":{"loc":{"start":{"line":138,"column":13},"end":{"line":138,"column":182}},"type":"binary-expr","locations":[{"start":{"line":138,"column":13},"end":{"line":138,"column":29}},{"start":{"line":138,"column":33},"end":{"line":138,"column":182}}],"line":138},"12":{"loc":{"start":{"line":138,"column":77},"end":{"line":138,"column":157}},"type":"cond-expr","locations":[{"start":{"line":138,"column":100},"end":{"line":138,"column":152}},{"start":{"line":138,"column":155},"end":{"line":138,"column":157}}],"line":138},"13":{"loc":{"start":{"line":139,"column":57},"end":{"line":139,"column":82}},"type":"binary-expr","locations":[{"start":{"line":139,"column":57},"end":{"line":139,"column":76}},{"start":{"line":139,"column":80},"end":{"line":139,"column":82}}],"line":139},"14":{"loc":{"start":{"line":139,"column":84},"end":{"line":139,"column":95}},"type":"binary-expr","locations":[{"start":{"line":139,"column":84},"end":{"line":139,"column":89}},{"start":{"line":139,"column":93},"end":{"line":139,"column":95}}],"line":139},"15":{"loc":{"start":{"line":140,"column":13},"end":{"line":140,"column":111}},"type":"binary-expr","locations":[{"start":{"line":140,"column":13},"end":{"line":140,"column":26}},{"start":{"line":140,"column":30},"end":{"line":140,"column":111}}],"line":140},"16":{"loc":{"start":{"line":166,"column":17},"end":{"line":166,"column":54}},"type":"cond-expr","locations":[{"start":{"line":166,"column":29},"end":{"line":166,"column":31}},{"start":{"line":166,"column":34},"end":{"line":166,"column":54}}],"line":166}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/StyledDownshiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/StyledDownshiftInput.tsx","statementMap":{"0":{"start":{"line":20,"column":30},"end":{"line":32,"column":2}},"1":{"start":{"line":34,"column":26},"end":{"line":41,"column":2}},"2":{"start":{"line":43,"column":31},"end":{"line":59,"column":2}},"3":{"start":{"line":61,"column":26},"end":{"line":75,"column":2}},"4":{"start":{"line":77,"column":34},"end":{"line":80,"column":2}},"5":{"start":{"line":82,"column":31},"end":{"line":87,"column":2}},"6":{"start":{"line":89,"column":30},"end":{"line":106,"column":2}},"7":{"start":{"line":108,"column":26},"end":{"line":116,"column":2}},"8":{"start":{"line":118,"column":28},"end":{"line":129,"column":2}},"9":{"start":{"line":131,"column":103},"end":{"line":159,"column":1}},"10":{"start":{"line":142,"column":39},"end":{"line":150,"column":4}},"11":{"start":{"line":152,"column":2},"end":{"line":158,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":131,"column":103},"end":{"line":131,"column":104}},"loc":{"start":{"line":141,"column":6},"end":{"line":159,"column":1}},"line":141}},"branchMap":{"0":{"loc":{"start":{"line":145,"column":11},"end":{"line":145,"column":23}},"type":"binary-expr","locations":[{"start":{"line":145,"column":11},"end":{"line":145,"column":15}},{"start":{"line":145,"column":19},"end":{"line":145,"column":23}}],"line":145},"1":{"loc":{"start":{"line":146,"column":11},"end":{"line":146,"column":22}},"type":"binary-expr","locations":[{"start":{"line":146,"column":11},"end":{"line":146,"column":16}},{"start":{"line":146,"column":20},"end":{"line":146,"column":22}}],"line":146}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx","statementMap":{"0":{"start":{"line":17,"column":15},"end":{"line":17,"column":27}},"1":{"start":{"line":18,"column":2},"end":{"line":49,"column":4}},"2":{"start":{"line":32,"column":14},"end":{"line":36,"column":16}},"3":{"start":{"line":57,"column":33},"end":{"line":57,"column":38}},"4":{"start":{"line":58,"column":23},"end":{"line":58,"column":93}},"5":{"start":{"line":60,"column":2},"end":{"line":95,"column":4}},"6":{"start":{"line":85,"column":12},"end":{"line":90,"column":24}}},"fnMap":{"0":{"name":"ResolveDuplicateTokenSingle","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":36}},"loc":{"start":{"line":16,"column":72},"end":{"line":50,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":29},"end":{"line":31,"column":30}},"loc":{"start":{"line":32,"column":14},"end":{"line":36,"column":16}},"line":32},"2":{"name":"ResolveDuplicateTokenGroup","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":50}},"loc":{"start":{"line":56,"column":3},"end":{"line":96,"column":1}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":83,"column":26},"end":{"line":83,"column":27}},"loc":{"start":{"line":85,"column":12},"end":{"line":90,"column":24}},"line":85}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":145}},"type":"cond-expr","locations":[{"start":{"line":26,"column":97},"end":{"line":26,"column":133}},{"start":{"line":26,"column":136},"end":{"line":26,"column":145}}],"line":26},"1":{"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":93}},"type":"binary-expr","locations":[{"start":{"line":26,"column":19},"end":{"line":26,"column":50}},{"start":{"line":26,"column":54},"end":{"line":26,"column":93}}],"line":26},"2":{"loc":{"start":{"line":29,"column":9},"end":{"line":46,"column":9}},"type":"cond-expr","locations":[{"start":{"line":30,"column":10},"end":{"line":38,"column":18}},{"start":{"line":40,"column":10},"end":{"line":44,"column":13}}],"line":29},"3":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":69}},"type":"binary-expr","locations":[{"start":{"line":29,"column":10},"end":{"line":29,"column":39}},{"start":{"line":29,"column":43},"end":{"line":29,"column":69}}],"line":29},"4":{"loc":{"start":{"line":34,"column":23},"end":{"line":34,"column":105}},"type":"cond-expr","locations":[{"start":{"line":34,"column":52},"end":{"line":34,"column":93}},{"start":{"line":34,"column":96},"end":{"line":34,"column":105}}],"line":34},"5":{"loc":{"start":{"line":42,"column":13},"end":{"line":43,"column":78}},"type":"cond-expr","locations":[{"start":{"line":42,"column":47},"end":{"line":42,"column":83}},{"start":{"line":43,"column":16},"end":{"line":43,"column":78}}],"line":42},"6":{"loc":{"start":{"line":58,"column":49},"end":{"line":58,"column":91}},"type":"binary-expr","locations":[{"start":{"line":58,"column":49},"end":{"line":58,"column":86}},{"start":{"line":58,"column":90},"end":{"line":58,"column":91}}],"line":58},"7":{"loc":{"start":{"line":86,"column":43},"end":{"line":86,"column":123}},"type":"cond-expr","locations":[{"start":{"line":86,"column":100},"end":{"line":86,"column":109}},{"start":{"line":86,"column":112},"end":{"line":86,"column":123}}],"line":86}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/ErrorFallback.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/ErrorFallback.tsx","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"ErrorFallback","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":29}},"loc":{"start":{"line":6,"column":59},"end":{"line":15,"column":1}},"line":6}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/MultiFilesExport.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/MultiFilesExport.tsx","statementMap":{"0":{"start":{"line":21,"column":17},"end":{"line":21,"column":44}},"1":{"start":{"line":22,"column":17},"end":{"line":22,"column":48}},"2":{"start":{"line":23,"column":35},"end":{"line":23,"column":80}},"3":{"start":{"line":24,"column":15},"end":{"line":24,"column":27}},"4":{"start":{"line":26,"column":25},"end":{"line":37,"column":22}},"5":{"start":{"line":27,"column":46},"end":{"line":27,"column":48}},"6":{"start":{"line":28,"column":4},"end":{"line":30,"column":7}},"7":{"start":{"line":29,"column":6},"end":{"line":29,"column":64}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":82}},"9":{"start":{"line":32,"column":21},"end":{"line":34,"column":5}},"10":{"start":{"line":35,"column":4},"end":{"line":35,"column":86}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":21}},"12":{"start":{"line":39,"column":28},"end":{"line":51,"column":31}},"13":{"start":{"line":40,"column":16},"end":{"line":40,"column":27}},"14":{"start":{"line":41,"column":4},"end":{"line":43,"column":7}},"15":{"start":{"line":42,"column":6},"end":{"line":42,"column":27}},"16":{"start":{"line":44,"column":4},"end":{"line":47,"column":9}},"17":{"start":{"line":46,"column":8},"end":{"line":46,"column":38}},"18":{"start":{"line":48,"column":4},"end":{"line":48,"column":30}},"19":{"start":{"line":50,"column":4},"end":{"line":50,"column":14}},"20":{"start":{"line":53,"column":2},"end":{"line":86,"column":4}},"21":{"start":{"line":70,"column":12},"end":{"line":73,"column":20}}},"fnMap":{"0":{"name":"MultiFilesExport","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":40}},"loc":{"start":{"line":20,"column":61},"end":{"line":87,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":39},"end":{"line":26,"column":40}},"loc":{"start":{"line":26,"column":45},"end":{"line":37,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":84},"end":{"line":28,"column":85}},"loc":{"start":{"line":28,"column":102},"end":{"line":30,"column":5}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":46},"end":{"line":39,"column":47}},"loc":{"start":{"line":39,"column":52},"end":{"line":51,"column":3}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":44},"end":{"line":41,"column":45}},"loc":{"start":{"line":41,"column":62},"end":{"line":43,"column":5}},"line":41},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":13}},"loc":{"start":{"line":45,"column":25},"end":{"line":47,"column":7}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":69,"column":43},"end":{"line":69,"column":44}},"loc":{"start":{"line":70,"column":12},"end":{"line":73,"column":20}},"line":70}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/SingleFileExport.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/SingleFileExport.tsx","statementMap":{"0":{"start":{"line":22,"column":33},"end":{"line":22,"column":44}},"1":{"start":{"line":23,"column":50},"end":{"line":23,"column":71}},"2":{"start":{"line":24,"column":44},"end":{"line":24,"column":64}},"3":{"start":{"line":25,"column":50},"end":{"line":25,"column":71}},"4":{"start":{"line":26,"column":42},"end":{"line":26,"column":63}},"5":{"start":{"line":27,"column":52},"end":{"line":27,"column":73}},"6":{"start":{"line":28,"column":42},"end":{"line":28,"column":63}},"7":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"8":{"start":{"line":30,"column":17},"end":{"line":30,"column":48}},"9":{"start":{"line":32,"column":39},"end":{"line":34,"column":24}},"10":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}},"11":{"start":{"line":36,"column":36},"end":{"line":38,"column":21}},"12":{"start":{"line":37,"column":4},"end":{"line":37,"column":37}},"13":{"start":{"line":40,"column":38},"end":{"line":42,"column":24}},"14":{"start":{"line":41,"column":4},"end":{"line":41,"column":43}},"15":{"start":{"line":44,"column":35},"end":{"line":46,"column":20}},"16":{"start":{"line":45,"column":4},"end":{"line":45,"column":35}},"17":{"start":{"line":48,"column":40},"end":{"line":50,"column":25}},"18":{"start":{"line":49,"column":4},"end":{"line":49,"column":45}},"19":{"start":{"line":52,"column":35},"end":{"line":54,"column":20}},"20":{"start":{"line":53,"column":4},"end":{"line":53,"column":35}},"21":{"start":{"line":56,"column":28},"end":{"line":61,"column":113}},"22":{"start":{"line":57,"column":4},"end":{"line":59,"column":7}},"23":{"start":{"line":60,"column":4},"end":{"line":60,"column":14}},"24":{"start":{"line":63,"column":26},"end":{"line":65,"column":125}},"25":{"start":{"line":63,"column":46},"end":{"line":65,"column":4}},"26":{"start":{"line":67,"column":21},"end":{"line":76,"column":57}},"27":{"start":{"line":68,"column":24},"end":{"line":68,"column":51}},"28":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"29":{"start":{"line":70,"column":6},"end":{"line":70,"column":55}},"30":{"start":{"line":71,"column":6},"end":{"line":73,"column":9}},"31":{"start":{"line":75,"column":4},"end":{"line":75,"column":48}},"32":{"start":{"line":78,"column":2},"end":{"line":169,"column":4}}},"fnMap":{"0":{"name":"SingleFileExport","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":40}},"loc":{"start":{"line":21,"column":61},"end":{"line":170,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":57},"end":{"line":32,"column":58}},"loc":{"start":{"line":32,"column":63},"end":{"line":34,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":54},"end":{"line":36,"column":55}},"loc":{"start":{"line":36,"column":60},"end":{"line":38,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":56},"end":{"line":40,"column":57}},"loc":{"start":{"line":40,"column":62},"end":{"line":42,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":53},"end":{"line":44,"column":54}},"loc":{"start":{"line":44,"column":59},"end":{"line":46,"column":3}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":48,"column":58},"end":{"line":48,"column":59}},"loc":{"start":{"line":48,"column":64},"end":{"line":50,"column":3}},"line":48},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":53},"end":{"line":52,"column":54}},"loc":{"start":{"line":52,"column":59},"end":{"line":54,"column":3}},"line":52},"7":{"name":"(anonymous_7)","decl":{"start":{"line":56,"column":46},"end":{"line":56,"column":47}},"loc":{"start":{"line":56,"column":52},"end":{"line":61,"column":3}},"line":56},"8":{"name":"(anonymous_8)","decl":{"start":{"line":63,"column":40},"end":{"line":63,"column":41}},"loc":{"start":{"line":63,"column":46},"end":{"line":65,"column":4}},"line":63},"9":{"name":"(anonymous_9)","decl":{"start":{"line":67,"column":35},"end":{"line":67,"column":36}},"loc":{"start":{"line":67,"column":41},"end":{"line":76,"column":3}},"line":67}},"branchMap":{"0":{"loc":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},{"start":{},"end":{}}],"line":69}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/Flex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/Flex.tsx","statementMap":{"0":{"start":{"line":3,"column":20},"end":{"line":19,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LanguageSelector/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LanguageSelector/index.tsx","statementMap":{"0":{"start":{"line":11,"column":32},"end":{"line":41,"column":1}},"1":{"start":{"line":12,"column":16},"end":{"line":12,"column":44}},"2":{"start":{"line":13,"column":19},"end":{"line":13,"column":42}},"3":{"start":{"line":15,"column":22},"end":{"line":15,"column":51}},"4":{"start":{"line":16,"column":22},"end":{"line":16,"column":104}},"5":{"start":{"line":16,"column":36},"end":{"line":16,"column":88}},"6":{"start":{"line":16,"column":58},"end":{"line":16,"column":80}},"7":{"start":{"line":18,"column":28},"end":{"line":24,"column":3}},"8":{"start":{"line":20,"column":6},"end":{"line":20,"column":38}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":43}},"10":{"start":{"line":26,"column":2},"end":{"line":40,"column":4}},"11":{"start":{"line":33,"column":12},"end":{"line":35,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":32},"end":{"line":11,"column":33}},"loc":{"start":{"line":11,"column":38},"end":{"line":41,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":30},"end":{"line":16,"column":31}},"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":88}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":51},"end":{"line":16,"column":52}},"loc":{"start":{"line":16,"column":58},"end":{"line":16,"column":80}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":23},"end":{"line":22,"column":5}},"line":19},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":25},"end":{"line":32,"column":26}},"loc":{"start":{"line":33,"column":12},"end":{"line":35,"column":26}},"line":33}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/LDProvider.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/LDProvider.tsx","statementMap":{"0":{"start":{"line":11,"column":23},"end":{"line":11,"column":64}},"1":{"start":{"line":13,"column":33},"end":{"line":27,"column":1}},"2":{"start":{"line":14,"column":17},"end":{"line":14,"column":44}},"3":{"start":{"line":16,"column":21},"end":{"line":16,"column":52}},"4":{"start":{"line":18,"column":2},"end":{"line":26,"column":4}},"5":{"start":{"line":30,"column":2},"end":{"line":34,"column":4}},"6":{"start":{"line":31,"column":4},"end":{"line":33,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":33},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":68},"end":{"line":27,"column":1}},"line":13},"1":{"name":"withLDProviderWrapper","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":37}},"loc":{"start":{"line":29,"column":126},"end":{"line":35,"column":1}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":10}},"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":24}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":64}},"type":"binary-expr","locations":[{"start":{"line":11,"column":23},"end":{"line":11,"column":58}},{"start":{"line":11,"column":62},"end":{"line":11,"column":64}}],"line":11},"1":{"loc":{"start":{"line":22,"column":12},"end":{"line":22,"column":62}},"type":"cond-expr","locations":[{"start":{"line":22,"column":35},"end":{"line":22,"column":50}},{"start":{"line":22,"column":53},"end":{"line":22,"column":62}}],"line":22},"2":{"loc":{"start":{"line":22,"column":12},"end":{"line":22,"column":32}},"type":"binary-expr","locations":[{"start":{"line":22,"column":12},"end":{"line":22,"column":18}},{"start":{"line":22,"column":22},"end":{"line":22,"column":32}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/useFlags.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/useFlags.ts","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":9,"column":15}},"1":{"start":{"line":5,"column":4},"end":{"line":7,"column":7}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":7}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":70},"end":{"line":5,"column":71}},"loc":{"start":{"line":6,"column":6},"end":{"line":6,"column":18}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":24},"end":{"line":9,"column":15}},"type":"cond-expr","locations":[{"start":{"line":4,"column":4},"end":{"line":8,"column":3}},{"start":{"line":9,"column":4},"end":{"line":9,"column":15}}],"line":3}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx","statementMap":{"0":{"start":{"line":28,"column":19},"end":{"line":28,"column":42}},"1":{"start":{"line":29,"column":26},"end":{"line":31,"column":16}},"2":{"start":{"line":30,"column":4},"end":{"line":30,"column":61}},"3":{"start":{"line":32,"column":40},"end":{"line":32,"column":118}},"4":{"start":{"line":32,"column":74},"end":{"line":32,"column":117}},"5":{"start":{"line":34,"column":16},"end":{"line":34,"column":60}},"6":{"start":{"line":36,"column":16},"end":{"line":36,"column":37}},"7":{"start":{"line":38,"column":28},"end":{"line":40,"column":13}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":42}},"9":{"start":{"line":44,"column":6},"end":{"line":48,"column":4}},"10":{"start":{"line":50,"column":46},"end":{"line":50,"column":67}},"11":{"start":{"line":51,"column":58},"end":{"line":51,"column":76}},"12":{"start":{"line":53,"column":18},"end":{"line":53,"column":51}},"13":{"start":{"line":55,"column":29},"end":{"line":55,"column":62}},"14":{"start":{"line":57,"column":19},"end":{"line":57,"column":100}},"15":{"start":{"line":57,"column":39},"end":{"line":57,"column":77}},"16":{"start":{"line":59,"column":33},"end":{"line":62,"column":35}},"17":{"start":{"line":60,"column":4},"end":{"line":60,"column":32}},"18":{"start":{"line":61,"column":4},"end":{"line":61,"column":29}},"19":{"start":{"line":64,"column":31},"end":{"line":66,"column":8}},"20":{"start":{"line":65,"column":4},"end":{"line":65,"column":29}},"21":{"start":{"line":68,"column":31},"end":{"line":71,"column":17}},"22":{"start":{"line":69,"column":4},"end":{"line":69,"column":28}},"23":{"start":{"line":70,"column":4},"end":{"line":70,"column":41}},"24":{"start":{"line":73,"column":33},"end":{"line":87,"column":15}},"25":{"start":{"line":74,"column":4},"end":{"line":86,"column":6}},"26":{"start":{"line":80,"column":8},"end":{"line":84,"column":10}},"27":{"start":{"line":89,"column":30},"end":{"line":89,"column":128}},"28":{"start":{"line":89,"column":44},"end":{"line":89,"column":111}},"29":{"start":{"line":89,"column":73},"end":{"line":89,"column":110}},"30":{"start":{"line":91,"column":2},"end":{"line":106,"column":51}},"31":{"start":{"line":92,"column":4},"end":{"line":105,"column":5}},"32":{"start":{"line":93,"column":34},"end":{"line":93,"column":45}},"33":{"start":{"line":94,"column":58},"end":{"line":103,"column":32}},"34":{"start":{"line":95,"column":8},"end":{"line":101,"column":9}},"35":{"start":{"line":96,"column":27},"end":{"line":99,"column":29}},"36":{"start":{"line":100,"column":10},"end":{"line":100,"column":29}},"37":{"start":{"line":102,"column":8},"end":{"line":102,"column":19}},"38":{"start":{"line":104,"column":6},"end":{"line":104,"column":54}},"39":{"start":{"line":108,"column":2},"end":{"line":179,"column":4}}},"fnMap":{"0":{"name":"ExportSetsTab","decl":{"start":{"line":27,"column":24},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":160},"end":{"line":180,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":44},"end":{"line":29,"column":45}},"loc":{"start":{"line":29,"column":50},"end":{"line":31,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":52},"end":{"line":32,"column":53}},"loc":{"start":{"line":32,"column":74},"end":{"line":32,"column":117}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":42},"end":{"line":38,"column":43}},"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":42}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":33},"end":{"line":57,"column":34}},"loc":{"start":{"line":57,"column":39},"end":{"line":57,"column":77}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":51},"end":{"line":59,"column":52}},"loc":{"start":{"line":59,"column":57},"end":{"line":62,"column":3}},"line":59},"6":{"name":"(anonymous_6)","decl":{"start":{"line":64,"column":49},"end":{"line":64,"column":50}},"loc":{"start":{"line":64,"column":55},"end":{"line":66,"column":3}},"line":64},"7":{"name":"(anonymous_7)","decl":{"start":{"line":68,"column":49},"end":{"line":68,"column":50}},"loc":{"start":{"line":68,"column":55},"end":{"line":71,"column":3}},"line":68},"8":{"name":"(anonymous_8)","decl":{"start":{"line":73,"column":51},"end":{"line":73,"column":52}},"loc":{"start":{"line":74,"column":4},"end":{"line":86,"column":6}},"line":74},"9":{"name":"(anonymous_9)","decl":{"start":{"line":79,"column":14},"end":{"line":79,"column":15}},"loc":{"start":{"line":80,"column":8},"end":{"line":84,"column":10}},"line":80},"10":{"name":"(anonymous_10)","decl":{"start":{"line":89,"column":38},"end":{"line":89,"column":39}},"loc":{"start":{"line":89,"column":44},"end":{"line":89,"column":111}},"line":89},"11":{"name":"(anonymous_11)","decl":{"start":{"line":89,"column":64},"end":{"line":89,"column":65}},"loc":{"start":{"line":89,"column":73},"end":{"line":89,"column":110}},"line":89},"12":{"name":"(anonymous_12)","decl":{"start":{"line":91,"column":18},"end":{"line":91,"column":19}},"loc":{"start":{"line":91,"column":24},"end":{"line":106,"column":3}},"line":91},"13":{"name":"(anonymous_13)","decl":{"start":{"line":94,"column":108},"end":{"line":94,"column":109}},"loc":{"start":{"line":94,"column":149},"end":{"line":103,"column":7}},"line":94}},"branchMap":{"0":{"loc":{"start":{"line":92,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":92},"1":{"loc":{"start":{"line":95,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":101,"column":9}},{"start":{},"end":{}}],"line":95},"2":{"loc":{"start":{"line":113,"column":13},"end":{"line":130,"column":13}},"type":"cond-expr","locations":[{"start":{"line":114,"column":14},"end":{"line":121,"column":16}},{"start":{"line":123,"column":14},"end":{"line":129,"column":22}}],"line":113}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx","statementMap":{"0":{"start":{"line":16,"column":16},"end":{"line":16,"column":60}},"1":{"start":{"line":17,"column":17},"end":{"line":17,"column":48}},"2":{"start":{"line":18,"column":20},"end":{"line":18,"column":34}},"3":{"start":{"line":20,"column":22},"end":{"line":28,"column":14}},"4":{"start":{"line":21,"column":35},"end":{"line":26,"column":10}},"5":{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},"6":{"start":{"line":23,"column":8},"end":{"line":23,"column":33}},"7":{"start":{"line":25,"column":6},"end":{"line":25,"column":20}},"8":{"start":{"line":27,"column":4},"end":{"line":27,"column":24}},"9":{"start":{"line":30,"column":26},"end":{"line":30,"column":95}},"10":{"start":{"line":30,"column":46},"end":{"line":30,"column":84}},"11":{"start":{"line":30,"column":71},"end":{"line":30,"column":83}},"12":{"start":{"line":35,"column":28},"end":{"line":41,"column":41}},"13":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":71}},"15":{"start":{"line":37,"column":54},"end":{"line":37,"column":68}},"16":{"start":{"line":39,"column":6},"end":{"line":39,"column":54}},"17":{"start":{"line":43,"column":32},"end":{"line":49,"column":49}},"18":{"start":{"line":44,"column":4},"end":{"line":48,"column":5}},"19":{"start":{"line":45,"column":6},"end":{"line":45,"column":28}},"20":{"start":{"line":47,"column":6},"end":{"line":47,"column":57}},"21":{"start":{"line":47,"column":46},"end":{"line":47,"column":54}},"22":{"start":{"line":52,"column":4},"end":{"line":63,"column":6}},"23":{"start":{"line":58,"column":100},"end":{"line":58,"column":127}},"24":{"start":{"line":66,"column":2},"end":{"line":130,"column":4}},"25":{"start":{"line":113,"column":16},"end":{"line":116,"column":24}},"26":{"start":{"line":115,"column":44},"end":{"line":115,"column":65}},"27":{"start":{"line":115,"column":82},"end":{"line":115,"column":103}},"28":{"start":{"line":121,"column":50},"end":{"line":121,"column":71}}},"fnMap":{"0":{"name":"ExportThemesTab","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":39}},"loc":{"start":{"line":15,"column":156},"end":{"line":131,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":36},"end":{"line":20,"column":37}},"loc":{"start":{"line":20,"column":42},"end":{"line":28,"column":3}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":49},"end":{"line":21,"column":50}},"loc":{"start":{"line":21,"column":78},"end":{"line":26,"column":5}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":40},"end":{"line":30,"column":41}},"loc":{"start":{"line":30,"column":46},"end":{"line":30,"column":84}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":60},"end":{"line":30,"column":61}},"loc":{"start":{"line":30,"column":71},"end":{"line":30,"column":83}},"line":30},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":46},"end":{"line":35,"column":47}},"loc":{"start":{"line":35,"column":67},"end":{"line":41,"column":3}},"line":35},"6":{"name":"(anonymous_6)","decl":{"start":{"line":37,"column":46},"end":{"line":37,"column":47}},"loc":{"start":{"line":37,"column":54},"end":{"line":37,"column":68}},"line":37},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":50},"end":{"line":43,"column":51}},"loc":{"start":{"line":43,"column":56},"end":{"line":49,"column":3}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":46},"end":{"line":47,"column":54}},"line":47},"9":{"name":"createThemeRow","decl":{"start":{"line":51,"column":11},"end":{"line":51,"column":25}},"loc":{"start":{"line":51,"column":46},"end":{"line":64,"column":3}},"line":51},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":94},"end":{"line":58,"column":95}},"loc":{"start":{"line":58,"column":100},"end":{"line":58,"column":127}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":112,"column":31},"end":{"line":112,"column":32}},"loc":{"start":{"line":113,"column":16},"end":{"line":116,"column":24}},"line":113},"12":{"name":"(anonymous_12)","decl":{"start":{"line":115,"column":33},"end":{"line":115,"column":34}},"loc":{"start":{"line":115,"column":44},"end":{"line":115,"column":65}},"line":115},"13":{"name":"(anonymous_13)","decl":{"start":{"line":115,"column":71},"end":{"line":115,"column":72}},"loc":{"start":{"line":115,"column":82},"end":{"line":115,"column":103}},"line":115},"14":{"name":"(anonymous_14)","decl":{"start":{"line":121,"column":39},"end":{"line":121,"column":40}},"loc":{"start":{"line":121,"column":50},"end":{"line":121,"column":71}},"line":121}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},{"start":{},"end":{}}],"line":22},"1":{"loc":{"start":{"line":22,"column":10},"end":{"line":22,"column":54}},"type":"binary-expr","locations":[{"start":{"line":22,"column":10},"end":{"line":22,"column":21}},{"start":{"line":22,"column":25},"end":{"line":22,"column":54}}],"line":22},"2":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},{"start":{"line":38,"column":11},"end":{"line":40,"column":5}}],"line":36},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":48,"column":5}},{"start":{"line":46,"column":11},"end":{"line":48,"column":5}}],"line":44},"4":{"loc":{"start":{"line":68,"column":7},"end":{"line":128,"column":7}},"type":"cond-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":101,"column":21}},{"start":{"line":103,"column":8},"end":{"line":127,"column":21}}],"line":68},"5":{"loc":{"start":{"line":71,"column":13},"end":{"line":98,"column":13}},"type":"cond-expr","locations":[{"start":{"line":72,"column":14},"end":{"line":81,"column":17}},{"start":{"line":83,"column":14},"end":{"line":97,"column":17}}],"line":71},"6":{"loc":{"start":{"line":118,"column":15},"end":{"line":123,"column":22}},"type":"cond-expr","locations":[{"start":{"line":119,"column":16},"end":{"line":122,"column":24}},{"start":{"line":123,"column":18},"end":{"line":123,"column":22}}],"line":118}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":16,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":14,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":32},"end":{"line":4,"column":33}},"loc":{"start":{"line":7,"column":2},"end":{"line":14,"column":5}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx","statementMap":{"0":{"start":{"line":23,"column":16},"end":{"line":23,"column":60}},"1":{"start":{"line":25,"column":20},"end":{"line":25,"column":34}},"2":{"start":{"line":27,"column":40},"end":{"line":27,"column":60}},"3":{"start":{"line":28,"column":36},"end":{"line":28,"column":112}},"4":{"start":{"line":30,"column":18},"end":{"line":30,"column":51}},"5":{"start":{"line":31,"column":17},"end":{"line":31,"column":48}},"6":{"start":{"line":33,"column":46},"end":{"line":33,"column":103}},"7":{"start":{"line":33,"column":93},"end":{"line":33,"column":101}},"8":{"start":{"line":35,"column":42},"end":{"line":41,"column":5}},"9":{"start":{"line":36,"column":21},"end":{"line":39,"column":5}},"10":{"start":{"line":40,"column":4},"end":{"line":40,"column":20}},"11":{"start":{"line":45,"column":6},"end":{"line":45,"column":17}},"12":{"start":{"line":47,"column":28},"end":{"line":49,"column":8}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":25}},"14":{"start":{"line":51,"column":30},"end":{"line":54,"column":8}},"15":{"start":{"line":53,"column":4},"end":{"line":53,"column":26}},"16":{"start":{"line":56,"column":30},"end":{"line":65,"column":180}},"17":{"start":{"line":57,"column":4},"end":{"line":57,"column":24}},"18":{"start":{"line":58,"column":4},"end":{"line":64,"column":5}},"19":{"start":{"line":59,"column":6},"end":{"line":59,"column":50}},"20":{"start":{"line":60,"column":6},"end":{"line":60,"column":60}},"21":{"start":{"line":61,"column":11},"end":{"line":64,"column":5}},"22":{"start":{"line":62,"column":6},"end":{"line":62,"column":54}},"23":{"start":{"line":63,"column":6},"end":{"line":63,"column":59}},"24":{"start":{"line":66,"column":27},"end":{"line":66,"column":104}},"25":{"start":{"line":68,"column":26},"end":{"line":70,"column":8}},"26":{"start":{"line":69,"column":4},"end":{"line":69,"column":22}},"27":{"start":{"line":72,"column":22},"end":{"line":78,"column":33}},"28":{"start":{"line":73,"column":4},"end":{"line":77,"column":5}},"29":{"start":{"line":74,"column":6},"end":{"line":74,"column":28}},"30":{"start":{"line":76,"column":6},"end":{"line":76,"column":26}},"31":{"start":{"line":80,"column":28},"end":{"line":82,"column":8}},"32":{"start":{"line":81,"column":4},"end":{"line":81,"column":27}},"33":{"start":{"line":84,"column":2},"end":{"line":126,"column":4}},"34":{"start":{"line":113,"column":59},"end":{"line":113,"column":87}},"35":{"start":{"line":118,"column":57},"end":{"line":118,"column":83}}},"fnMap":{"0":{"name":"ManageStylesAndVariables","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":48}},"loc":{"start":{"line":22,"column":141},"end":{"line":127,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":82},"end":{"line":33,"column":83}},"loc":{"start":{"line":33,"column":93},"end":{"line":33,"column":101}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":87},"end":{"line":35,"column":88}},"loc":{"start":{"line":35,"column":96},"end":{"line":41,"column":3}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":46},"end":{"line":47,"column":47}},"loc":{"start":{"line":47,"column":52},"end":{"line":49,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":48},"end":{"line":51,"column":49}},"loc":{"start":{"line":51,"column":54},"end":{"line":54,"column":3}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":56,"column":48},"end":{"line":56,"column":49}},"loc":{"start":{"line":56,"column":60},"end":{"line":65,"column":3}},"line":56},"6":{"name":"(anonymous_6)","decl":{"start":{"line":68,"column":44},"end":{"line":68,"column":45}},"loc":{"start":{"line":68,"column":78},"end":{"line":70,"column":3}},"line":68},"7":{"name":"(anonymous_7)","decl":{"start":{"line":72,"column":40},"end":{"line":72,"column":41}},"loc":{"start":{"line":72,"column":46},"end":{"line":78,"column":3}},"line":72},"8":{"name":"(anonymous_8)","decl":{"start":{"line":80,"column":46},"end":{"line":80,"column":47}},"loc":{"start":{"line":80,"column":64},"end":{"line":82,"column":3}},"line":80},"9":{"name":"(anonymous_9)","decl":{"start":{"line":113,"column":53},"end":{"line":113,"column":54}},"loc":{"start":{"line":113,"column":59},"end":{"line":113,"column":87}},"line":113},"10":{"name":"(anonymous_10)","decl":{"start":{"line":118,"column":51},"end":{"line":118,"column":52}},"loc":{"start":{"line":118,"column":57},"end":{"line":118,"column":83}},"line":118}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":76},"end":{"line":28,"column":111}},"type":"cond-expr","locations":[{"start":{"line":28,"column":88},"end":{"line":28,"column":99}},{"start":{"line":28,"column":102},"end":{"line":28,"column":111}}],"line":28},"1":{"loc":{"start":{"line":58,"column":4},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":64,"column":5}},{"start":{"line":61,"column":11},"end":{"line":64,"column":5}}],"line":58},"2":{"loc":{"start":{"line":61,"column":11},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":11},"end":{"line":64,"column":5}},{"start":{},"end":{}}],"line":61},"3":{"loc":{"start":{"line":66,"column":27},"end":{"line":66,"column":104}},"type":"cond-expr","locations":[{"start":{"line":66,"column":53},"end":{"line":66,"column":76}},{"start":{"line":66,"column":79},"end":{"line":66,"column":104}}],"line":66},"4":{"loc":{"start":{"line":73,"column":4},"end":{"line":77,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":77,"column":5}},{"start":{"line":75,"column":11},"end":{"line":77,"column":5}}],"line":73},"5":{"loc":{"start":{"line":115,"column":65},"end":{"line":115,"column":94}},"type":"cond-expr","locations":[{"start":{"line":115,"column":77},"end":{"line":115,"column":82}},{"start":{"line":115,"column":85},"end":{"line":115,"column":94}}],"line":115},"6":{"loc":{"start":{"line":124,"column":28},"end":{"line":124,"column":52}},"type":"binary-expr","locations":[{"start":{"line":124,"column":28},"end":{"line":124,"column":37}},{"start":{"line":124,"column":41},"end":{"line":124,"column":52}}],"line":124}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/OptionsModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/OptionsModal.tsx","statementMap":{"0":{"start":{"line":32,"column":27},"end":{"line":34,"column":2}},"1":{"start":{"line":40,"column":57},"end":{"line":40,"column":119}},"2":{"start":{"line":41,"column":30},"end":{"line":41,"column":83}},"3":{"start":{"line":43,"column":40},"end":{"line":43,"column":85}},"4":{"start":{"line":44,"column":41},"end":{"line":44,"column":87}},"5":{"start":{"line":45,"column":50},"end":{"line":45,"column":105}},"6":{"start":{"line":47,"column":25},"end":{"line":47,"column":60}},"7":{"start":{"line":48,"column":26},"end":{"line":48,"column":62}},"8":{"start":{"line":49,"column":27},"end":{"line":49,"column":64}},"9":{"start":{"line":50,"column":26},"end":{"line":50,"column":62}},"10":{"start":{"line":51,"column":22},"end":{"line":51,"column":54}},"11":{"start":{"line":52,"column":27},"end":{"line":52,"column":64}},"12":{"start":{"line":53,"column":23},"end":{"line":53,"column":56}},"13":{"start":{"line":55,"column":19},"end":{"line":55,"column":42}},"14":{"start":{"line":57,"column":29},"end":{"line":62,"column":3}},"15":{"start":{"line":59,"column":6},"end":{"line":59,"column":61}},"16":{"start":{"line":64,"column":42},"end":{"line":69,"column":3}},"17":{"start":{"line":66,"column":6},"end":{"line":66,"column":62}},"18":{"start":{"line":71,"column":57},"end":{"line":76,"column":3}},"19":{"start":{"line":73,"column":6},"end":{"line":73,"column":71}},"20":{"start":{"line":78,"column":37},"end":{"line":83,"column":3}},"21":{"start":{"line":80,"column":6},"end":{"line":80,"column":69}},"22":{"start":{"line":85,"column":64},"end":{"line":90,"column":3}},"23":{"start":{"line":87,"column":6},"end":{"line":87,"column":78}},"24":{"start":{"line":92,"column":37},"end":{"line":99,"column":3}},"25":{"start":{"line":94,"column":6},"end":{"line":94,"column":51}},"26":{"start":{"line":96,"column":6},"end":{"line":96,"column":58}},"27":{"start":{"line":96,"column":17},"end":{"line":96,"column":58}},"28":{"start":{"line":101,"column":38},"end":{"line":106,"column":3}},"29":{"start":{"line":103,"column":6},"end":{"line":103,"column":52}},"30":{"start":{"line":107,"column":39},"end":{"line":112,"column":3}},"31":{"start":{"line":109,"column":6},"end":{"line":109,"column":53}},"32":{"start":{"line":113,"column":38},"end":{"line":118,"column":3}},"33":{"start":{"line":115,"column":6},"end":{"line":115,"column":52}},"34":{"start":{"line":119,"column":34},"end":{"line":126,"column":3}},"35":{"start":{"line":121,"column":6},"end":{"line":121,"column":48}},"36":{"start":{"line":123,"column":6},"end":{"line":123,"column":61}},"37":{"start":{"line":123,"column":17},"end":{"line":123,"column":61}},"38":{"start":{"line":127,"column":39},"end":{"line":132,"column":3}},"39":{"start":{"line":129,"column":6},"end":{"line":129,"column":53}},"40":{"start":{"line":133,"column":35},"end":{"line":138,"column":3}},"41":{"start":{"line":135,"column":6},"end":{"line":135,"column":49}},"42":{"start":{"line":140,"column":28},"end":{"line":142,"column":19}},"43":{"start":{"line":141,"column":4},"end":{"line":141,"column":18}},"44":{"start":{"line":144,"column":28},"end":{"line":146,"column":3}},"45":{"start":{"line":145,"column":4},"end":{"line":145,"column":27}},"46":{"start":{"line":148,"column":16},"end":{"line":148,"column":70}},"47":{"start":{"line":150,"column":2},"end":{"line":268,"column":4}},"48":{"start":{"line":158,"column":36},"end":{"line":158,"column":60}}},"fnMap":{"0":{"name":"OptionsModal","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":36}},"loc":{"start":{"line":39,"column":130},"end":{"line":269,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":29},"end":{"line":60,"column":5}},"line":58},"2":{"name":"(anonymous_2)","decl":{"start":{"line":65,"column":4},"end":{"line":65,"column":5}},"loc":{"start":{"line":65,"column":29},"end":{"line":67,"column":5}},"line":65},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":29},"end":{"line":74,"column":5}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":4},"end":{"line":79,"column":5}},"loc":{"start":{"line":79,"column":29},"end":{"line":81,"column":5}},"line":79},"5":{"name":"(anonymous_5)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":29},"end":{"line":88,"column":5}},"line":86},"6":{"name":"(anonymous_6)","decl":{"start":{"line":93,"column":4},"end":{"line":93,"column":5}},"loc":{"start":{"line":93,"column":29},"end":{"line":97,"column":5}},"line":93},"7":{"name":"(anonymous_7)","decl":{"start":{"line":102,"column":4},"end":{"line":102,"column":5}},"loc":{"start":{"line":102,"column":29},"end":{"line":104,"column":5}},"line":102},"8":{"name":"(anonymous_8)","decl":{"start":{"line":108,"column":4},"end":{"line":108,"column":5}},"loc":{"start":{"line":108,"column":29},"end":{"line":110,"column":5}},"line":108},"9":{"name":"(anonymous_9)","decl":{"start":{"line":114,"column":4},"end":{"line":114,"column":5}},"loc":{"start":{"line":114,"column":29},"end":{"line":116,"column":5}},"line":114},"10":{"name":"(anonymous_10)","decl":{"start":{"line":120,"column":4},"end":{"line":120,"column":5}},"loc":{"start":{"line":120,"column":29},"end":{"line":124,"column":5}},"line":120},"11":{"name":"(anonymous_11)","decl":{"start":{"line":128,"column":4},"end":{"line":128,"column":5}},"loc":{"start":{"line":128,"column":29},"end":{"line":130,"column":5}},"line":128},"12":{"name":"(anonymous_12)","decl":{"start":{"line":134,"column":4},"end":{"line":134,"column":5}},"loc":{"start":{"line":134,"column":29},"end":{"line":136,"column":5}},"line":134},"13":{"name":"(anonymous_13)","decl":{"start":{"line":140,"column":46},"end":{"line":140,"column":47}},"loc":{"start":{"line":140,"column":52},"end":{"line":142,"column":3}},"line":140},"14":{"name":"(anonymous_14)","decl":{"start":{"line":144,"column":28},"end":{"line":144,"column":29}},"loc":{"start":{"line":144,"column":46},"end":{"line":146,"column":3}},"line":144},"15":{"name":"(anonymous_15)","decl":{"start":{"line":158,"column":25},"end":{"line":158,"column":26}},"loc":{"start":{"line":158,"column":36},"end":{"line":158,"column":60}},"line":158}},"branchMap":{"0":{"loc":{"start":{"line":96,"column":6},"end":{"line":96,"column":58}},"type":"if","locations":[{"start":{"line":96,"column":6},"end":{"line":96,"column":58}},{"start":{},"end":{}}],"line":96},"1":{"loc":{"start":{"line":123,"column":6},"end":{"line":123,"column":61}},"type":"if","locations":[{"start":{"line":123,"column":6},"end":{"line":123,"column":61}},{"start":{},"end":{}}],"line":123}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/StyledCard.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/StyledCard.tsx","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":11,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx","statementMap":{"0":{"start":{"line":15,"column":28},"end":{"line":43,"column":1}},"1":{"start":{"line":16,"column":2},"end":{"line":42,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":28},"end":{"line":15,"column":29}},"loc":{"start":{"line":16,"column":2},"end":{"line":42,"column":10}},"line":16}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/docsLinks.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/docsLinks.tsx","statementMap":{"0":{"start":{"line":1,"column":25},"end":{"line":5,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx","statementMap":{"0":{"start":{"line":44,"column":104},"end":{"line":215,"column":1}},"1":{"start":{"line":47,"column":16},"end":{"line":47,"column":37}},"2":{"start":{"line":48,"column":36},"end":{"line":48,"column":64}},"3":{"start":{"line":49,"column":46},"end":{"line":49,"column":61}},"4":{"start":{"line":50,"column":27},"end":{"line":50,"column":53}},"5":{"start":{"line":51,"column":28},"end":{"line":53,"column":13}},"6":{"start":{"line":52,"column":4},"end":{"line":52,"column":42}},"7":{"start":{"line":54,"column":29},"end":{"line":54,"column":62}},"8":{"start":{"line":55,"column":17},"end":{"line":55,"column":48}},"9":{"start":{"line":56,"column":21},"end":{"line":56,"column":122}},"10":{"start":{"line":56,"column":36},"end":{"line":56,"column":110}},"11":{"start":{"line":56,"column":69},"end":{"line":56,"column":77}},"12":{"start":{"line":56,"column":90},"end":{"line":56,"column":107}},"13":{"start":{"line":57,"column":16},"end":{"line":57,"column":52}},"14":{"start":{"line":59,"column":26},"end":{"line":63,"column":44}},"15":{"start":{"line":60,"column":4},"end":{"line":62,"column":46}},"16":{"start":{"line":67,"column":6},"end":{"line":72,"column":4}},"17":{"start":{"line":74,"column":29},"end":{"line":80,"column":18}},"18":{"start":{"line":75,"column":4},"end":{"line":79,"column":5}},"19":{"start":{"line":76,"column":6},"end":{"line":76,"column":26}},"20":{"start":{"line":77,"column":6},"end":{"line":77,"column":26}},"21":{"start":{"line":78,"column":6},"end":{"line":78,"column":31}},"22":{"start":{"line":82,"column":33},"end":{"line":96,"column":15}},"23":{"start":{"line":83,"column":4},"end":{"line":95,"column":6}},"24":{"start":{"line":89,"column":8},"end":{"line":93,"column":10}},"25":{"start":{"line":98,"column":25},"end":{"line":100,"column":8}},"26":{"start":{"line":98,"column":49},"end":{"line":100,"column":3}},"27":{"start":{"line":102,"column":2},"end":{"line":214,"column":4}},"28":{"start":{"line":150,"column":24},"end":{"line":155,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":44,"column":104},"end":{"line":44,"column":105}},"loc":{"start":{"line":46,"column":6},"end":{"line":215,"column":1}},"line":46},"1":{"name":"(anonymous_1)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":37}},"loc":{"start":{"line":52,"column":4},"end":{"line":52,"column":42}},"line":52},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":29},"end":{"line":56,"column":30}},"loc":{"start":{"line":56,"column":36},"end":{"line":56,"column":110}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":62},"end":{"line":56,"column":63}},"loc":{"start":{"line":56,"column":69},"end":{"line":56,"column":77}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":56,"column":83},"end":{"line":56,"column":84}},"loc":{"start":{"line":56,"column":90},"end":{"line":56,"column":107}},"line":56},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":34},"end":{"line":59,"column":35}},"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":46}},"line":60},"6":{"name":"(anonymous_6)","decl":{"start":{"line":74,"column":41},"end":{"line":74,"column":42}},"loc":{"start":{"line":74,"column":87},"end":{"line":80,"column":3}},"line":74},"7":{"name":"(anonymous_7)","decl":{"start":{"line":82,"column":45},"end":{"line":82,"column":46}},"loc":{"start":{"line":83,"column":4},"end":{"line":95,"column":6}},"line":83},"8":{"name":"(anonymous_8)","decl":{"start":{"line":88,"column":14},"end":{"line":88,"column":15}},"loc":{"start":{"line":89,"column":8},"end":{"line":93,"column":10}},"line":89},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":43},"end":{"line":98,"column":44}},"loc":{"start":{"line":98,"column":49},"end":{"line":100,"column":3}},"line":98},"10":{"name":"(anonymous_10)","decl":{"start":{"line":149,"column":30},"end":{"line":149,"column":31}},"loc":{"start":{"line":150,"column":24},"end":{"line":155,"column":26}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":46}},"type":"cond-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":46}},{"start":{"line":62,"column":8},"end":{"line":62,"column":46}}],"line":60},"1":{"loc":{"start":{"line":75,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":75},"2":{"loc":{"start":{"line":129,"column":12},"end":{"line":171,"column":13}},"type":"cond-expr","locations":[{"start":{"line":130,"column":14},"end":{"line":140,"column":16}},{"start":{"line":142,"column":14},"end":{"line":170,"column":20}}],"line":129},"3":{"loc":{"start":{"line":144,"column":18},"end":{"line":168,"column":19}},"type":"cond-expr","locations":[{"start":{"line":145,"column":20},"end":{"line":157,"column":22}},{"start":{"line":159,"column":20},"end":{"line":167,"column":29}}],"line":144},"4":{"loc":{"start":{"line":187,"column":7},"end":{"line":193,"column":7}},"type":"binary-expr","locations":[{"start":{"line":187,"column":7},"end":{"line":187,"column":9}},{"start":{"line":189,"column":6},"end":{"line":192,"column":44}}],"line":187},"5":{"loc":{"start":{"line":195,"column":9},"end":{"line":203,"column":9}},"type":"binary-expr","locations":[{"start":{"line":195,"column":9},"end":{"line":195,"column":41}},{"start":{"line":196,"column":8},"end":{"line":202,"column":16}}],"line":195},"6":{"loc":{"start":{"line":204,"column":9},"end":{"line":211,"column":9}},"type":"binary-expr","locations":[{"start":{"line":204,"column":10},"end":{"line":204,"column":54}},{"start":{"line":204,"column":58},"end":{"line":204,"column":60}},{"start":{"line":205,"column":8},"end":{"line":210,"column":14}}],"line":204}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ManageThemesModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ManageThemesModal.tsx","statementMap":{"0":{"start":{"line":32,"column":27},"end":{"line":41,"column":2}},"1":{"start":{"line":43,"column":100},"end":{"line":284,"column":1}},"2":{"start":{"line":44,"column":19},"end":{"line":44,"column":42}},"3":{"start":{"line":45,"column":17},"end":{"line":45,"column":48}},"4":{"start":{"line":46,"column":22},"end":{"line":46,"column":54}},"5":{"start":{"line":47,"column":22},"end":{"line":47,"column":34}},"6":{"start":{"line":48,"column":48},"end":{"line":48,"column":81}},"7":{"start":{"line":49,"column":64},"end":{"line":49,"column":83}},"8":{"start":{"line":50,"column":23},"end":{"line":50,"column":51}},"9":{"start":{"line":51,"column":20},"end":{"line":51,"column":43}},"10":{"start":{"line":52,"column":16},"end":{"line":52,"column":42}},"11":{"start":{"line":54,"column":57},"end":{"line":64,"column":31}},"12":{"start":{"line":55,"column":24},"end":{"line":55,"column":71}},"13":{"start":{"line":55,"column":48},"end":{"line":55,"column":70}},"14":{"start":{"line":56,"column":4},"end":{"line":62,"column":5}},"15":{"start":{"line":57,"column":6},"end":{"line":61,"column":8}},"16":{"start":{"line":63,"column":4},"end":{"line":63,"column":14}},"17":{"start":{"line":66,"column":22},"end":{"line":68,"column":16}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":53}},"19":{"start":{"line":70,"column":34},"end":{"line":82,"column":23}},"20":{"start":{"line":71,"column":4},"end":{"line":81,"column":5}},"21":{"start":{"line":72,"column":24},"end":{"line":72,"column":71}},"22":{"start":{"line":73,"column":6},"end":{"line":77,"column":7}},"23":{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},"24":{"start":{"line":75,"column":10},"end":{"line":75,"column":69}},"25":{"start":{"line":78,"column":6},"end":{"line":78,"column":36}},"26":{"start":{"line":80,"column":6},"end":{"line":80,"column":43}},"27":{"start":{"line":84,"column":38},"end":{"line":86,"column":23}},"28":{"start":{"line":85,"column":4},"end":{"line":85,"column":41}},"29":{"start":{"line":88,"column":28},"end":{"line":97,"column":56}},"30":{"start":{"line":89,"column":4},"end":{"line":96,"column":5}},"31":{"start":{"line":90,"column":28},"end":{"line":90,"column":123}},"32":{"start":{"line":91,"column":6},"end":{"line":95,"column":7}},"33":{"start":{"line":92,"column":8},"end":{"line":92,"column":55}},"34":{"start":{"line":93,"column":8},"end":{"line":93,"column":57}},"35":{"start":{"line":94,"column":8},"end":{"line":94,"column":34}},"36":{"start":{"line":99,"column":27},"end":{"line":101,"column":8}},"37":{"start":{"line":100,"column":4},"end":{"line":100,"column":30}},"38":{"start":{"line":103,"column":23},"end":{"line":121,"column":70}},"39":{"start":{"line":104,"column":15},"end":{"line":104,"column":80}},"40":{"start":{"line":105,"column":4},"end":{"line":109,"column":5}},"41":{"start":{"line":106,"column":6},"end":{"line":106,"column":42}},"42":{"start":{"line":108,"column":6},"end":{"line":108,"column":40}},"43":{"start":{"line":110,"column":4},"end":{"line":119,"column":7}},"44":{"start":{"line":120,"column":4},"end":{"line":120,"column":30}},"45":{"start":{"line":123,"column":24},"end":{"line":145,"column":40}},"46":{"start":{"line":124,"column":23},"end":{"line":124,"column":25}},"47":{"start":{"line":125,"column":26},"end":{"line":136,"column":10}},"48":{"start":{"line":126,"column":6},"end":{"line":128,"column":7}},"49":{"start":{"line":127,"column":8},"end":{"line":127,"column":34}},"50":{"start":{"line":129,"column":6},"end":{"line":134,"column":7}},"51":{"start":{"line":130,"column":8},"end":{"line":133,"column":11}},"52":{"start":{"line":135,"column":6},"end":{"line":135,"column":17}},"53":{"start":{"line":137,"column":27},"end":{"line":137,"column":38}},"54":{"start":{"line":138,"column":4},"end":{"line":143,"column":7}},"55":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"56":{"start":{"line":140,"column":45},"end":{"line":140,"column":103}},"57":{"start":{"line":141,"column":8},"end":{"line":141,"column":37}},"58":{"start":{"line":144,"column":4},"end":{"line":144,"column":49}},"59":{"start":{"line":147,"column":29},"end":{"line":164,"column":8}},"60":{"start":{"line":153,"column":29},"end":{"line":157,"column":5}},"61":{"start":{"line":158,"column":20},"end":{"line":158,"column":82}},"62":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"63":{"start":{"line":161,"column":6},"end":{"line":161,"column":76}},"64":{"start":{"line":163,"column":4},"end":{"line":163,"column":21}},"65":{"start":{"line":166,"column":2},"end":{"line":170,"column":49}},"66":{"start":{"line":167,"column":4},"end":{"line":169,"column":5}},"67":{"start":{"line":168,"column":6},"end":{"line":168,"column":63}},"68":{"start":{"line":172,"column":32},"end":{"line":176,"column":8}},"69":{"start":{"line":173,"column":4},"end":{"line":175,"column":5}},"70":{"start":{"line":174,"column":6},"end":{"line":174,"column":65}},"71":{"start":{"line":178,"column":41},"end":{"line":178,"column":117}},"72":{"start":{"line":178,"column":55},"end":{"line":178,"column":91}},"73":{"start":{"line":180,"column":2},"end":{"line":283,"column":4}},"74":{"start":{"line":257,"column":14},"end":{"line":268,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":43,"column":100},"end":{"line":43,"column":101}},"loc":{"start":{"line":43,"column":106},"end":{"line":284,"column":1}},"line":43},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":65},"end":{"line":54,"column":66}},"loc":{"start":{"line":54,"column":71},"end":{"line":64,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":36},"end":{"line":55,"column":37}},"loc":{"start":{"line":55,"column":48},"end":{"line":55,"column":70}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":34},"end":{"line":66,"column":35}},"loc":{"start":{"line":66,"column":40},"end":{"line":68,"column":3}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":46},"end":{"line":70,"column":47}},"loc":{"start":{"line":70,"column":71},"end":{"line":82,"column":3}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":84,"column":50},"end":{"line":84,"column":51}},"loc":{"start":{"line":84,"column":56},"end":{"line":86,"column":3}},"line":84},"6":{"name":"(anonymous_6)","decl":{"start":{"line":88,"column":40},"end":{"line":88,"column":41}},"loc":{"start":{"line":88,"column":52},"end":{"line":97,"column":3}},"line":88},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":39},"end":{"line":99,"column":40}},"loc":{"start":{"line":99,"column":45},"end":{"line":101,"column":3}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":103,"column":35},"end":{"line":103,"column":36}},"loc":{"start":{"line":103,"column":59},"end":{"line":121,"column":3}},"line":103},"9":{"name":"(anonymous_9)","decl":{"start":{"line":123,"column":42},"end":{"line":123,"column":43}},"loc":{"start":{"line":123,"column":74},"end":{"line":145,"column":3}},"line":123},"10":{"name":"(anonymous_10)","decl":{"start":{"line":125,"column":66},"end":{"line":125,"column":67}},"loc":{"start":{"line":125,"column":81},"end":{"line":136,"column":5}},"line":125},"11":{"name":"(anonymous_11)","decl":{"start":{"line":138,"column":40},"end":{"line":138,"column":41}},"loc":{"start":{"line":138,"column":51},"end":{"line":143,"column":5}},"line":138},"12":{"name":"(anonymous_12)","decl":{"start":{"line":140,"column":34},"end":{"line":140,"column":35}},"loc":{"start":{"line":140,"column":45},"end":{"line":140,"column":103}},"line":140},"13":{"name":"(anonymous_13)","decl":{"start":{"line":147,"column":47},"end":{"line":147,"column":48}},"loc":{"start":{"line":152,"column":7},"end":{"line":164,"column":3}},"line":152},"14":{"name":"(anonymous_14)","decl":{"start":{"line":166,"column":12},"end":{"line":166,"column":13}},"loc":{"start":{"line":166,"column":18},"end":{"line":170,"column":3}},"line":166},"15":{"name":"(anonymous_15)","decl":{"start":{"line":172,"column":44},"end":{"line":172,"column":45}},"loc":{"start":{"line":172,"column":50},"end":{"line":176,"column":3}},"line":172},"16":{"name":"(anonymous_16)","decl":{"start":{"line":178,"column":49},"end":{"line":178,"column":50}},"loc":{"start":{"line":178,"column":55},"end":{"line":178,"column":91}},"line":178},"17":{"name":"(anonymous_17)","decl":{"start":{"line":256,"column":26},"end":{"line":256,"column":27}},"loc":{"start":{"line":257,"column":14},"end":{"line":268,"column":25}},"line":257}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":56,"column":4},"end":{"line":62,"column":5}},{"start":{},"end":{}}],"line":56},"1":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":66}},"type":"cond-expr","locations":[{"start":{"line":60,"column":33},"end":{"line":60,"column":61}},{"start":{"line":60,"column":64},"end":{"line":60,"column":66}}],"line":60},"2":{"loc":{"start":{"line":71,"column":4},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":81,"column":5}},{"start":{"line":79,"column":11},"end":{"line":81,"column":5}}],"line":71},"3":{"loc":{"start":{"line":71,"column":8},"end":{"line":71,"column":43}},"type":"binary-expr","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":13}},{"start":{"line":71,"column":17},"end":{"line":71,"column":43}}],"line":71},"4":{"loc":{"start":{"line":72,"column":24},"end":{"line":72,"column":71}},"type":"cond-expr","locations":[{"start":{"line":72,"column":55},"end":{"line":72,"column":60}},{"start":{"line":72,"column":63},"end":{"line":72,"column":71}}],"line":72},"5":{"loc":{"start":{"line":73,"column":6},"end":{"line":77,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":77,"column":7}},{"start":{},"end":{}}],"line":73},"6":{"loc":{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},"type":"if","locations":[{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},{"start":{},"end":{}}],"line":74},"7":{"loc":{"start":{"line":89,"column":4},"end":{"line":96,"column":5}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":96,"column":5}},{"start":{},"end":{}}],"line":89},"8":{"loc":{"start":{"line":91,"column":6},"end":{"line":95,"column":7}},"type":"if","locations":[{"start":{"line":91,"column":6},"end":{"line":95,"column":7}},{"start":{},"end":{}}],"line":91},"9":{"loc":{"start":{"line":104,"column":15},"end":{"line":104,"column":80}},"type":"cond-expr","locations":[{"start":{"line":104,"column":53},"end":{"line":104,"column":68}},{"start":{"line":104,"column":71},"end":{"line":104,"column":80}}],"line":104},"10":{"loc":{"start":{"line":105,"column":4},"end":{"line":109,"column":5}},"type":"if","locations":[{"start":{"line":105,"column":4},"end":{"line":109,"column":5}},{"start":{"line":107,"column":11},"end":{"line":109,"column":5}}],"line":105},"11":{"loc":{"start":{"line":114,"column":10},"end":{"line":114,"column":54}},"type":"cond-expr","locations":[{"start":{"line":114,"column":26},"end":{"line":114,"column":49}},{"start":{"line":114,"column":52},"end":{"line":114,"column":54}}],"line":114},"12":{"loc":{"start":{"line":126,"column":6},"end":{"line":128,"column":7}},"type":"if","locations":[{"start":{"line":126,"column":6},"end":{"line":128,"column":7}},{"start":{},"end":{}}],"line":126},"13":{"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":56}},"type":"binary-expr","locations":[{"start":{"line":126,"column":10},"end":{"line":126,"column":22}},{"start":{"line":126,"column":26},"end":{"line":126,"column":56}}],"line":126},"14":{"loc":{"start":{"line":129,"column":6},"end":{"line":134,"column":7}},"type":"if","locations":[{"start":{"line":129,"column":6},"end":{"line":134,"column":7}},{"start":{},"end":{}}],"line":129},"15":{"loc":{"start":{"line":129,"column":10},"end":{"line":129,"column":55}},"type":"binary-expr","locations":[{"start":{"line":129,"column":10},"end":{"line":129,"column":21}},{"start":{"line":129,"column":25},"end":{"line":129,"column":55}}],"line":129},"16":{"loc":{"start":{"line":132,"column":14},"end":{"line":132,"column":86}},"type":"cond-expr","locations":[{"start":{"line":132,"column":58},"end":{"line":132,"column":60}},{"start":{"line":132,"column":63},"end":{"line":132,"column":86}}],"line":132},"17":{"loc":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"type":"if","locations":[{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},{"start":{},"end":{}}],"line":140},"18":{"loc":{"start":{"line":140,"column":45},"end":{"line":140,"column":103}},"type":"binary-expr","locations":[{"start":{"line":140,"column":45},"end":{"line":140,"column":78}},{"start":{"line":140,"column":82},"end":{"line":140,"column":103}}],"line":140},"19":{"loc":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},{"start":{},"end":{}}],"line":160},"20":{"loc":{"start":{"line":167,"column":4},"end":{"line":169,"column":5}},"type":"if","locations":[{"start":{"line":167,"column":4},"end":{"line":169,"column":5}},{"start":{},"end":{}}],"line":167},"21":{"loc":{"start":{"line":173,"column":4},"end":{"line":175,"column":5}},"type":"if","locations":[{"start":{"line":173,"column":4},"end":{"line":175,"column":5}},{"start":{},"end":{}}],"line":173},"22":{"loc":{"start":{"line":189,"column":11},"end":{"line":198,"column":11}},"type":"binary-expr","locations":[{"start":{"line":189,"column":11},"end":{"line":189,"column":27}},{"start":{"line":190,"column":12},"end":{"line":197,"column":21}}],"line":189},"23":{"loc":{"start":{"line":199,"column":11},"end":{"line":231,"column":11}},"type":"binary-expr","locations":[{"start":{"line":199,"column":11},"end":{"line":199,"column":26}},{"start":{"line":200,"column":12},"end":{"line":230,"column":15}}],"line":199},"24":{"loc":{"start":{"line":202,"column":17},"end":{"line":211,"column":17}},"type":"binary-expr","locations":[{"start":{"line":202,"column":17},"end":{"line":202,"column":52}},{"start":{"line":203,"column":16},"end":{"line":210,"column":25}}],"line":202},"25":{"loc":{"start":{"line":237,"column":7},"end":{"line":243,"column":7}},"type":"binary-expr","locations":[{"start":{"line":237,"column":7},"end":{"line":237,"column":21}},{"start":{"line":237,"column":25},"end":{"line":237,"column":41}},{"start":{"line":238,"column":8},"end":{"line":242,"column":10}}],"line":237},"26":{"loc":{"start":{"line":244,"column":7},"end":{"line":273,"column":7}},"type":"binary-expr","locations":[{"start":{"line":244,"column":7},"end":{"line":244,"column":22}},{"start":{"line":244,"column":26},"end":{"line":244,"column":42}},{"start":{"line":245,"column":8},"end":{"line":272,"column":14}}],"line":244},"27":{"loc":{"start":{"line":259,"column":18},"end":{"line":266,"column":19}},"type":"cond-expr","locations":[{"start":{"line":260,"column":20},"end":{"line":260,"column":195}},{"start":{"line":262,"column":20},"end":{"line":265,"column":22}}],"line":259},"28":{"loc":{"start":{"line":259,"column":18},"end":{"line":259,"column":63}},"type":"binary-expr","locations":[{"start":{"line":259,"column":18},"end":{"line":259,"column":29}},{"start":{"line":259,"column":33},"end":{"line":259,"column":63}}],"line":259},"29":{"loc":{"start":{"line":263,"column":29},"end":{"line":263,"column":124}},"type":"cond-expr","locations":[{"start":{"line":263,"column":71},"end":{"line":263,"column":101}},{"start":{"line":263,"column":104},"end":{"line":263,"column":124}}],"line":263},"30":{"loc":{"start":{"line":274,"column":7},"end":{"line":281,"column":7}},"type":"binary-expr","locations":[{"start":{"line":274,"column":7},"end":{"line":274,"column":22}},{"start":{"line":275,"column":6},"end":{"line":280,"column":8}}],"line":274},"31":{"loc":{"start":{"line":276,"column":12},"end":{"line":276,"column":77}},"type":"cond-expr","locations":[{"start":{"line":276,"column":50},"end":{"line":276,"column":65}},{"start":{"line":276,"column":68},"end":{"line":276,"column":77}}],"line":276}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/SingleThemeEntry.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/SingleThemeEntry.tsx","statementMap":{"0":{"start":{"line":20,"column":25},"end":{"line":40,"column":2}},"1":{"start":{"line":42,"column":99},"end":{"line":130,"column":1}},"2":{"start":{"line":45,"column":22},"end":{"line":45,"column":54}},"3":{"start":{"line":46,"column":19},"end":{"line":46,"column":42}},"4":{"start":{"line":48,"column":24},"end":{"line":52,"column":13}},"5":{"start":{"line":49,"column":4},"end":{"line":51,"column":13}},"6":{"start":{"line":50,"column":30},"end":{"line":50,"column":64}},"7":{"start":{"line":54,"column":22},"end":{"line":56,"column":13}},"8":{"start":{"line":55,"column":4},"end":{"line":55,"column":59}},"9":{"start":{"line":58,"column":25},"end":{"line":60,"column":13}},"10":{"start":{"line":59,"column":4},"end":{"line":59,"column":62}},"11":{"start":{"line":62,"column":26},"end":{"line":64,"column":21}},"12":{"start":{"line":63,"column":4},"end":{"line":63,"column":18}},"13":{"start":{"line":66,"column":23},"end":{"line":74,"column":60}},"14":{"start":{"line":67,"column":27},"end":{"line":67,"column":38}},"15":{"start":{"line":68,"column":4},"end":{"line":72,"column":5}},"16":{"start":{"line":69,"column":6},"end":{"line":69,"column":39}},"17":{"start":{"line":71,"column":6},"end":{"line":71,"column":43}},"18":{"start":{"line":73,"column":4},"end":{"line":73,"column":84}},"19":{"start":{"line":76,"column":2},"end":{"line":129,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":42,"column":99},"end":{"line":42,"column":100}},"loc":{"start":{"line":44,"column":6},"end":{"line":130,"column":1}},"line":44},"1":{"name":"(anonymous_1)","decl":{"start":{"line":48,"column":32},"end":{"line":48,"column":33}},"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":13}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":14},"end":{"line":50,"column":15}},"loc":{"start":{"line":50,"column":30},"end":{"line":50,"column":64}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":54,"column":30},"end":{"line":54,"column":31}},"loc":{"start":{"line":55,"column":4},"end":{"line":55,"column":59}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":58,"column":33},"end":{"line":58,"column":34}},"loc":{"start":{"line":59,"column":4},"end":{"line":59,"column":62}},"line":59},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":38},"end":{"line":62,"column":39}},"loc":{"start":{"line":62,"column":44},"end":{"line":64,"column":3}},"line":62},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":35},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":41},"end":{"line":74,"column":3}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":18},"end":{"line":55,"column":51}},"type":"binary-expr","locations":[{"start":{"line":55,"column":18},"end":{"line":55,"column":45}},{"start":{"line":55,"column":49},"end":{"line":55,"column":51}}],"line":55},"1":{"loc":{"start":{"line":59,"column":18},"end":{"line":59,"column":54}},"type":"binary-expr","locations":[{"start":{"line":59,"column":18},"end":{"line":59,"column":48}},{"start":{"line":59,"column":52},"end":{"line":59,"column":54}}],"line":59},"2":{"loc":{"start":{"line":68,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":11},"end":{"line":72,"column":5}}],"line":68},"3":{"loc":{"start":{"line":97,"column":9},"end":{"line":103,"column":81}},"type":"cond-expr","locations":[{"start":{"line":98,"column":10},"end":{"line":102,"column":29}},{"start":{"line":103,"column":12},"end":{"line":103,"column":81}}],"line":97},"4":{"loc":{"start":{"line":101,"column":13},"end":{"line":101,"column":49}},"type":"cond-expr","locations":[{"start":{"line":101,"column":35},"end":{"line":101,"column":40}},{"start":{"line":101,"column":43},"end":{"line":101,"column":49}}],"line":101},"5":{"loc":{"start":{"line":104,"column":9},"end":{"line":110,"column":9}},"type":"binary-expr","locations":[{"start":{"line":104,"column":9},"end":{"line":104,"column":24}},{"start":{"line":105,"column":8},"end":{"line":109,"column":27}}],"line":104},"6":{"loc":{"start":{"line":108,"column":11},"end":{"line":108,"column":49}},"type":"cond-expr","locations":[{"start":{"line":108,"column":31},"end":{"line":108,"column":38}},{"start":{"line":108,"column":41},"end":{"line":108,"column":49}}],"line":108},"7":{"loc":{"start":{"line":111,"column":9},"end":{"line":117,"column":9}},"type":"binary-expr","locations":[{"start":{"line":111,"column":9},"end":{"line":111,"column":27}},{"start":{"line":112,"column":8},"end":{"line":116,"column":27}}],"line":111},"8":{"loc":{"start":{"line":115,"column":11},"end":{"line":115,"column":58}},"type":"cond-expr","locations":[{"start":{"line":115,"column":34},"end":{"line":115,"column":44}},{"start":{"line":115,"column":47},"end":{"line":115,"column":58}}],"line":115}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx","statementMap":{"0":{"start":{"line":4,"column":53},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx","statementMap":{"0":{"start":{"line":4,"column":51},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledForm.tsx","statementMap":{"0":{"start":{"line":3,"column":26},"end":{"line":5,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledNameInputBox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledNameInputBox.tsx","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeLabel.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeLabel.tsx","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":27,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":10,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx","statementMap":{"0":{"start":{"line":15,"column":105},"end":{"line":88,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":42}},"2":{"start":{"line":19,"column":28},"end":{"line":21,"column":16}},"3":{"start":{"line":20,"column":4},"end":{"line":20,"column":24}},"4":{"start":{"line":23,"column":25},"end":{"line":40,"column":43}},"5":{"start":{"line":23,"column":45},"end":{"line":40,"column":4}},"6":{"start":{"line":24,"column":25},"end":{"line":24,"column":59}},"7":{"start":{"line":24,"column":31},"end":{"line":24,"column":59}},"8":{"start":{"line":25,"column":4},"end":{"line":39,"column":6}},"9":{"start":{"line":42,"column":2},"end":{"line":87,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":105},"end":{"line":15,"column":106}},"loc":{"start":{"line":17,"column":6},"end":{"line":88,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":40},"end":{"line":19,"column":41}},"loc":{"start":{"line":19,"column":63},"end":{"line":21,"column":3}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":39},"end":{"line":23,"column":40}},"loc":{"start":{"line":23,"column":45},"end":{"line":40,"column":4}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":65},"end":{"line":23,"column":66}},"loc":{"start":{"line":23,"column":80},"end":{"line":40,"column":3}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":25},"end":{"line":24,"column":26}},"loc":{"start":{"line":24,"column":31},"end":{"line":24,"column":59}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":10},"end":{"line":62,"column":11}},"type":"cond-expr","locations":[{"start":{"line":47,"column":12},"end":{"line":49,"column":21}},{"start":{"line":51,"column":12},"end":{"line":61,"column":18}}],"line":46},"1":{"loc":{"start":{"line":72,"column":42},"end":{"line":72,"column":61}},"type":"binary-expr","locations":[{"start":{"line":72,"column":42},"end":{"line":72,"column":55}},{"start":{"line":72,"column":59},"end":{"line":72,"column":61}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx","statementMap":{"0":{"start":{"line":27,"column":19},"end":{"line":27,"column":42}},"1":{"start":{"line":28,"column":22},"end":{"line":28,"column":53}},"2":{"start":{"line":29,"column":25},"end":{"line":29,"column":60}},"3":{"start":{"line":30,"column":50},"end":{"line":30,"column":123}},"4":{"start":{"line":31,"column":26},"end":{"line":33,"column":28}},"5":{"start":{"line":32,"column":4},"end":{"line":32,"column":39}},"6":{"start":{"line":34,"column":54},"end":{"line":34,"column":78}},"7":{"start":{"line":36,"column":32},"end":{"line":38,"column":29}},"8":{"start":{"line":37,"column":4},"end":{"line":37,"column":32}},"9":{"start":{"line":39,"column":23},"end":{"line":42,"column":29}},"10":{"start":{"line":40,"column":4},"end":{"line":40,"column":35}},"11":{"start":{"line":41,"column":4},"end":{"line":41,"column":33}},"12":{"start":{"line":44,"column":23},"end":{"line":47,"column":35}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":74}},"14":{"start":{"line":46,"column":4},"end":{"line":46,"column":33}},"15":{"start":{"line":49,"column":24},"end":{"line":56,"column":56}},"16":{"start":{"line":50,"column":4},"end":{"line":55,"column":5}},"17":{"start":{"line":51,"column":6},"end":{"line":51,"column":21}},"18":{"start":{"line":52,"column":11},"end":{"line":55,"column":5}},"19":{"start":{"line":53,"column":6},"end":{"line":53,"column":26}},"20":{"start":{"line":54,"column":6},"end":{"line":54,"column":21}},"21":{"start":{"line":58,"column":32},"end":{"line":60,"column":8}},"22":{"start":{"line":59,"column":4},"end":{"line":59,"column":44}},"23":{"start":{"line":62,"column":2},"end":{"line":136,"column":4}}},"fnMap":{"0":{"name":"ThemeListGroupHeader","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":36}},"loc":{"start":{"line":26,"column":10},"end":{"line":137,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":38},"end":{"line":31,"column":39}},"loc":{"start":{"line":31,"column":85},"end":{"line":33,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":44},"end":{"line":36,"column":45}},"loc":{"start":{"line":36,"column":50},"end":{"line":38,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":35},"end":{"line":39,"column":36}},"loc":{"start":{"line":39,"column":41},"end":{"line":42,"column":3}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":41},"end":{"line":44,"column":42}},"loc":{"start":{"line":44,"column":47},"end":{"line":47,"column":3}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":42},"end":{"line":49,"column":43}},"loc":{"start":{"line":49,"column":88},"end":{"line":56,"column":3}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":58,"column":50},"end":{"line":58,"column":51}},"loc":{"start":{"line":58,"column":98},"end":{"line":60,"column":3}},"line":58}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":67},"end":{"line":30,"column":122}},"type":"cond-expr","locations":[{"start":{"line":30,"column":108},"end":{"line":30,"column":110}},{"start":{"line":30,"column":113},"end":{"line":30,"column":122}}],"line":30},"1":{"loc":{"start":{"line":50,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":55,"column":5}},{"start":{"line":52,"column":11},"end":{"line":55,"column":5}}],"line":50},"2":{"loc":{"start":{"line":52,"column":11},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":11},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":52},"3":{"loc":{"start":{"line":91,"column":9},"end":{"line":133,"column":9}},"type":"cond-expr","locations":[{"start":{"line":92,"column":10},"end":{"line":106,"column":13}},{"start":{"line":108,"column":10},"end":{"line":132,"column":13}}],"line":91}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListItemContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListItemContent.tsx","statementMap":{"0":{"start":{"line":20,"column":26},"end":{"line":22,"column":2}},"1":{"start":{"line":30,"column":22},"end":{"line":30,"column":53}},"2":{"start":{"line":31,"column":25},"end":{"line":31,"column":60}},"3":{"start":{"line":33,"column":26},"end":{"line":35,"column":28}},"4":{"start":{"line":34,"column":4},"end":{"line":34,"column":39}},"5":{"start":{"line":37,"column":2},"end":{"line":59,"column":4}}},"fnMap":{"0":{"name":"ThemeListItemContent","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":36}},"loc":{"start":{"line":29,"column":10},"end":{"line":60,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":38},"end":{"line":33,"column":39}},"loc":{"start":{"line":33,"column":85},"end":{"line":35,"column":3}},"line":33}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx","statementMap":{"0":{"start":{"line":24,"column":111},"end":{"line":133,"column":1}},"1":{"start":{"line":32,"column":33},"end":{"line":34,"column":9}},"2":{"start":{"line":33,"column":4},"end":{"line":33,"column":86}},"3":{"start":{"line":35,"column":46},"end":{"line":35,"column":68}},"4":{"start":{"line":36,"column":16},"end":{"line":36,"column":52}},"5":{"start":{"line":38,"column":24},"end":{"line":38,"column":71}},"6":{"start":{"line":38,"column":38},"end":{"line":38,"column":60}},"7":{"start":{"line":40,"column":26},"end":{"line":46,"column":37}},"8":{"start":{"line":41,"column":4},"end":{"line":45,"column":6}},"9":{"start":{"line":44,"column":41},"end":{"line":44,"column":46}},"10":{"start":{"line":48,"column":41},"end":{"line":50,"column":49}},"11":{"start":{"line":49,"column":4},"end":{"line":49,"column":46}},"12":{"start":{"line":52,"column":36},"end":{"line":58,"column":22}},"13":{"start":{"line":53,"column":4},"end":{"line":57,"column":6}},"14":{"start":{"line":55,"column":43},"end":{"line":55,"column":58}},"15":{"start":{"line":60,"column":2},"end":{"line":132,"column":4}},"16":{"start":{"line":120,"column":10},"end":{"line":128,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":111},"end":{"line":24,"column":112}},"loc":{"start":{"line":31,"column":6},"end":{"line":133,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":57},"end":{"line":32,"column":58}},"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":86}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":32},"end":{"line":38,"column":33}},"loc":{"start":{"line":38,"column":38},"end":{"line":38,"column":60}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":44},"end":{"line":40,"column":45}},"loc":{"start":{"line":40,"column":50},"end":{"line":46,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":28},"end":{"line":44,"column":29}},"loc":{"start":{"line":44,"column":41},"end":{"line":44,"column":46}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":48,"column":53},"end":{"line":48,"column":54}},"loc":{"start":{"line":48,"column":59},"end":{"line":50,"column":3}},"line":48},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":48},"end":{"line":52,"column":49}},"loc":{"start":{"line":52,"column":67},"end":{"line":58,"column":3}},"line":52},"7":{"name":"(anonymous_7)","decl":{"start":{"line":55,"column":32},"end":{"line":55,"column":33}},"loc":{"start":{"line":55,"column":43},"end":{"line":55,"column":58}},"line":55},"8":{"name":"(anonymous_8)","decl":{"start":{"line":119,"column":27},"end":{"line":119,"column":28}},"loc":{"start":{"line":120,"column":10},"end":{"line":128,"column":12}},"line":120}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":47}},"type":"cond-expr","locations":[{"start":{"line":43,"column":10},"end":{"line":43,"column":12}},{"start":{"line":44,"column":10},"end":{"line":44,"column":47}}],"line":42},"1":{"loc":{"start":{"line":54,"column":6},"end":{"line":56,"column":36}},"type":"cond-expr","locations":[{"start":{"line":55,"column":10},"end":{"line":55,"column":59}},{"start":{"line":56,"column":10},"end":{"line":56,"column":36}}],"line":54},"2":{"loc":{"start":{"line":69,"column":11},"end":{"line":69,"column":83}},"type":"cond-expr","locations":[{"start":{"line":69,"column":38},"end":{"line":69,"column":76}},{"start":{"line":69,"column":79},"end":{"line":69,"column":83}}],"line":69},"3":{"loc":{"start":{"line":84,"column":8},"end":{"line":113,"column":9}},"type":"binary-expr","locations":[{"start":{"line":84,"column":8},"end":{"line":84,"column":32}},{"start":{"line":85,"column":10},"end":{"line":112,"column":18}}],"line":84}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx","statementMap":{"0":{"start":{"line":26,"column":121},"end":{"line":106,"column":1}},"1":{"start":{"line":34,"column":32},"end":{"line":36,"column":32}},"2":{"start":{"line":35,"column":4},"end":{"line":35,"column":29}},"3":{"start":{"line":38,"column":27},"end":{"line":40,"column":40}},"4":{"start":{"line":39,"column":4},"end":{"line":39,"column":37}},"5":{"start":{"line":42,"column":2},"end":{"line":105,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":121},"end":{"line":26,"column":122}},"loc":{"start":{"line":33,"column":6},"end":{"line":106,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":44},"end":{"line":34,"column":45}},"loc":{"start":{"line":34,"column":50},"end":{"line":36,"column":3}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":39},"end":{"line":38,"column":40}},"loc":{"start":{"line":38,"column":45},"end":{"line":40,"column":3}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":57,"column":7},"end":{"line":57,"column":32}},"type":"binary-expr","locations":[{"start":{"line":57,"column":7},"end":{"line":57,"column":11}},{"start":{"line":57,"column":15},"end":{"line":57,"column":32}}],"line":57},"1":{"loc":{"start":{"line":88,"column":13},"end":{"line":90,"column":13}},"type":"binary-expr","locations":[{"start":{"line":88,"column":14},"end":{"line":88,"column":29}},{"start":{"line":88,"column":33},"end":{"line":88,"column":59}},{"start":{"line":89,"column":12},"end":{"line":89,"column":31}}],"line":88},"2":{"loc":{"start":{"line":91,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":91,"column":14},"end":{"line":91,"column":29}},{"start":{"line":91,"column":33},"end":{"line":91,"column":58}},{"start":{"line":92,"column":12},"end":{"line":95,"column":20}}],"line":91},"3":{"loc":{"start":{"line":97,"column":13},"end":{"line":99,"column":13}},"type":"binary-expr","locations":[{"start":{"line":97,"column":13},"end":{"line":97,"column":27}},{"start":{"line":98,"column":12},"end":{"line":98,"column":137}}],"line":97}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx","statementMap":{"0":{"start":{"line":26,"column":107},"end":{"line":212,"column":1}},"1":{"start":{"line":27,"column":42},"end":{"line":27,"column":76}},"2":{"start":{"line":28,"column":52},"end":{"line":28,"column":86}},"3":{"start":{"line":29,"column":19},"end":{"line":29,"column":42}},"4":{"start":{"line":30,"column":16},"end":{"line":32,"column":11}},"5":{"start":{"line":31,"column":4},"end":{"line":31,"column":32}},"6":{"start":{"line":33,"column":19},"end":{"line":33,"column":53}},"7":{"start":{"line":34,"column":20},"end":{"line":34,"column":47}},"8":{"start":{"line":36,"column":21},"end":{"line":50,"column":34}},"9":{"start":{"line":37,"column":4},"end":{"line":47,"column":5}},"10":{"start":{"line":38,"column":29},"end":{"line":38,"column":70}},"11":{"start":{"line":39,"column":30},"end":{"line":41,"column":14}},"12":{"start":{"line":42,"column":6},"end":{"line":46,"column":8}},"13":{"start":{"line":45,"column":18},"end":{"line":45,"column":79}},"14":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"15":{"start":{"line":52,"column":27},"end":{"line":72,"column":18}},"16":{"start":{"line":53,"column":4},"end":{"line":69,"column":5}},"17":{"start":{"line":54,"column":56},"end":{"line":54,"column":58}},"18":{"start":{"line":55,"column":52},"end":{"line":55,"column":54}},"19":{"start":{"line":56,"column":53},"end":{"line":56,"column":55}},"20":{"start":{"line":57,"column":22},"end":{"line":57,"column":48}},"21":{"start":{"line":58,"column":6},"end":{"line":66,"column":9}},"22":{"start":{"line":59,"column":8},"end":{"line":65,"column":9}},"23":{"start":{"line":60,"column":10},"end":{"line":60,"column":46}},"24":{"start":{"line":61,"column":15},"end":{"line":65,"column":9}},"25":{"start":{"line":62,"column":10},"end":{"line":62,"column":42}},"26":{"start":{"line":63,"column":15},"end":{"line":65,"column":9}},"27":{"start":{"line":64,"column":10},"end":{"line":64,"column":43}},"28":{"start":{"line":68,"column":6},"end":{"line":68,"column":45}},"29":{"start":{"line":71,"column":4},"end":{"line":71,"column":16}},"30":{"start":{"line":74,"column":28},"end":{"line":99,"column":44}},"31":{"start":{"line":75,"column":4},"end":{"line":98,"column":5}},"32":{"start":{"line":76,"column":6},"end":{"line":79,"column":9}},"33":{"start":{"line":80,"column":21},"end":{"line":86,"column":8}},"34":{"start":{"line":87,"column":6},"end":{"line":96,"column":7}},"35":{"start":{"line":88,"column":8},"end":{"line":91,"column":11}},"36":{"start":{"line":92,"column":8},"end":{"line":95,"column":11}},"37":{"start":{"line":97,"column":6},"end":{"line":97,"column":77}},"38":{"start":{"line":101,"column":32},"end":{"line":109,"column":34}},"39":{"start":{"line":102,"column":4},"end":{"line":108,"column":5}},"40":{"start":{"line":103,"column":6},"end":{"line":103,"column":43}},"41":{"start":{"line":104,"column":6},"end":{"line":107,"column":9}},"42":{"start":{"line":111,"column":40},"end":{"line":119,"column":34}},"43":{"start":{"line":112,"column":4},"end":{"line":118,"column":5}},"44":{"start":{"line":113,"column":6},"end":{"line":113,"column":54}},"45":{"start":{"line":114,"column":6},"end":{"line":117,"column":9}},"46":{"start":{"line":121,"column":38},"end":{"line":123,"column":25}},"47":{"start":{"line":122,"column":4},"end":{"line":122,"column":36}},"48":{"start":{"line":125,"column":39},"end":{"line":127,"column":25}},"49":{"start":{"line":126,"column":4},"end":{"line":126,"column":32}},"50":{"start":{"line":129,"column":40},"end":{"line":131,"column":25}},"51":{"start":{"line":130,"column":4},"end":{"line":130,"column":33}},"52":{"start":{"line":133,"column":2},"end":{"line":158,"column":21}},"53":{"start":{"line":134,"column":24},"end":{"line":136,"column":10}},"54":{"start":{"line":135,"column":6},"end":{"line":135,"column":60}},"55":{"start":{"line":135,"column":51},"end":{"line":135,"column":58}},"56":{"start":{"line":137,"column":4},"end":{"line":157,"column":5}},"57":{"start":{"line":138,"column":6},"end":{"line":156,"column":9}},"58":{"start":{"line":142,"column":30},"end":{"line":151,"column":11}},"59":{"start":{"line":143,"column":10},"end":{"line":150,"column":14}},"60":{"start":{"line":144,"column":33},"end":{"line":144,"column":96}},"61":{"start":{"line":144,"column":67},"end":{"line":144,"column":95}},"62":{"start":{"line":145,"column":12},"end":{"line":149,"column":15}},"63":{"start":{"line":152,"column":8},"end":{"line":152,"column":44}},"64":{"start":{"line":154,"column":8},"end":{"line":154,"column":27}},"65":{"start":{"line":155,"column":8},"end":{"line":155,"column":37}},"66":{"start":{"line":160,"column":2},"end":{"line":178,"column":25}},"67":{"start":{"line":161,"column":4},"end":{"line":177,"column":5}},"68":{"start":{"line":162,"column":24},"end":{"line":174,"column":12}},"69":{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},"70":{"start":{"line":165,"column":10},"end":{"line":171,"column":17}},"71":{"start":{"line":166,"column":12},"end":{"line":169,"column":14}},"72":{"start":{"line":170,"column":12},"end":{"line":170,"column":23}},"73":{"start":{"line":173,"column":8},"end":{"line":173,"column":19}},"74":{"start":{"line":175,"column":6},"end":{"line":175,"column":38}},"75":{"start":{"line":176,"column":6},"end":{"line":176,"column":33}},"76":{"start":{"line":180,"column":2},"end":{"line":182,"column":3}},"77":{"start":{"line":181,"column":4},"end":{"line":181,"column":16}},"78":{"start":{"line":184,"column":2},"end":{"line":211,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":107},"end":{"line":26,"column":108}},"loc":{"start":{"line":26,"column":119},"end":{"line":212,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":40},"end":{"line":30,"column":41}},"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":32}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":29},"end":{"line":36,"column":30}},"loc":{"start":{"line":36,"column":35},"end":{"line":50,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":8},"end":{"line":45,"column":9}},"loc":{"start":{"line":45,"column":18},"end":{"line":45,"column":79}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":35},"end":{"line":52,"column":36}},"loc":{"start":{"line":52,"column":41},"end":{"line":72,"column":3}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":22},"end":{"line":58,"column":23}},"loc":{"start":{"line":58,"column":49},"end":{"line":66,"column":7}},"line":58},"6":{"name":"(anonymous_6)","decl":{"start":{"line":74,"column":40},"end":{"line":74,"column":41}},"loc":{"start":{"line":74,"column":98},"end":{"line":99,"column":3}},"line":74},"7":{"name":"(anonymous_7)","decl":{"start":{"line":101,"column":44},"end":{"line":101,"column":45}},"loc":{"start":{"line":101,"column":63},"end":{"line":109,"column":3}},"line":101},"8":{"name":"(anonymous_8)","decl":{"start":{"line":111,"column":52},"end":{"line":111,"column":53}},"loc":{"start":{"line":111,"column":74},"end":{"line":119,"column":3}},"line":111},"9":{"name":"(anonymous_9)","decl":{"start":{"line":121,"column":50},"end":{"line":121,"column":51}},"loc":{"start":{"line":121,"column":56},"end":{"line":123,"column":3}},"line":121},"10":{"name":"(anonymous_10)","decl":{"start":{"line":125,"column":51},"end":{"line":125,"column":52}},"loc":{"start":{"line":125,"column":57},"end":{"line":127,"column":3}},"line":125},"11":{"name":"(anonymous_11)","decl":{"start":{"line":129,"column":52},"end":{"line":129,"column":53}},"loc":{"start":{"line":129,"column":58},"end":{"line":131,"column":3}},"line":129},"12":{"name":"(anonymous_12)","decl":{"start":{"line":133,"column":12},"end":{"line":133,"column":13}},"loc":{"start":{"line":133,"column":18},"end":{"line":158,"column":3}},"line":133},"13":{"name":"(anonymous_13)","decl":{"start":{"line":134,"column":69},"end":{"line":134,"column":70}},"loc":{"start":{"line":135,"column":6},"end":{"line":135,"column":60}},"line":135},"14":{"name":"(anonymous_14)","decl":{"start":{"line":135,"column":41},"end":{"line":135,"column":42}},"loc":{"start":{"line":135,"column":51},"end":{"line":135,"column":58}},"line":135},"15":{"name":"(anonymous_15)","decl":{"start":{"line":141,"column":14},"end":{"line":141,"column":15}},"loc":{"start":{"line":141,"column":38},"end":{"line":153,"column":7}},"line":141},"16":{"name":"(anonymous_16)","decl":{"start":{"line":142,"column":82},"end":{"line":142,"column":83}},"loc":{"start":{"line":143,"column":10},"end":{"line":150,"column":14}},"line":143},"17":{"name":"(anonymous_17)","decl":{"start":{"line":143,"column":74},"end":{"line":143,"column":75}},"loc":{"start":{"line":143,"column":102},"end":{"line":150,"column":11}},"line":143},"18":{"name":"(anonymous_18)","decl":{"start":{"line":144,"column":53},"end":{"line":144,"column":54}},"loc":{"start":{"line":144,"column":67},"end":{"line":144,"column":95}},"line":144},"19":{"name":"(anonymous_19)","decl":{"start":{"line":153,"column":15},"end":{"line":153,"column":16}},"loc":{"start":{"line":153,"column":24},"end":{"line":156,"column":7}},"line":153},"20":{"name":"(anonymous_20)","decl":{"start":{"line":160,"column":12},"end":{"line":160,"column":13}},"loc":{"start":{"line":160,"column":18},"end":{"line":178,"column":3}},"line":160},"21":{"name":"(anonymous_21)","decl":{"start":{"line":162,"column":86},"end":{"line":162,"column":87}},"loc":{"start":{"line":162,"column":115},"end":{"line":174,"column":7}},"line":162},"22":{"name":"(anonymous_22)","decl":{"start":{"line":165,"column":87},"end":{"line":165,"column":88}},"loc":{"start":{"line":165,"column":116},"end":{"line":171,"column":11}},"line":165}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":37},"1":{"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":70}},"type":"cond-expr","locations":[{"start":{"line":38,"column":65},"end":{"line":38,"column":66}},{"start":{"line":38,"column":69},"end":{"line":38,"column":70}}],"line":38},"2":{"loc":{"start":{"line":39,"column":30},"end":{"line":41,"column":14}},"type":"cond-expr","locations":[{"start":{"line":40,"column":10},"end":{"line":40,"column":20}},{"start":{"line":41,"column":10},"end":{"line":41,"column":14}}],"line":39},"3":{"loc":{"start":{"line":44,"column":8},"end":{"line":44,"column":41}},"type":"binary-expr","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":35}},{"start":{"line":44,"column":39},"end":{"line":44,"column":41}}],"line":44},"4":{"loc":{"start":{"line":53,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":53},"5":{"loc":{"start":{"line":59,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":65,"column":9}},{"start":{"line":61,"column":15},"end":{"line":65,"column":9}}],"line":59},"6":{"loc":{"start":{"line":61,"column":15},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":15},"end":{"line":65,"column":9}},{"start":{"line":63,"column":15},"end":{"line":65,"column":9}}],"line":61},"7":{"loc":{"start":{"line":63,"column":15},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":15},"end":{"line":65,"column":9}},{"start":{},"end":{}}],"line":63},"8":{"loc":{"start":{"line":75,"column":4},"end":{"line":98,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":98,"column":5}},{"start":{},"end":{}}],"line":75},"9":{"loc":{"start":{"line":87,"column":6},"end":{"line":96,"column":7}},"type":"if","locations":[{"start":{"line":87,"column":6},"end":{"line":96,"column":7}},{"start":{},"end":{}}],"line":87},"10":{"loc":{"start":{"line":102,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":102},"11":{"loc":{"start":{"line":112,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":118,"column":5}},{"start":{},"end":{}}],"line":112},"12":{"loc":{"start":{"line":137,"column":4},"end":{"line":157,"column":5}},"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":157,"column":5}},{"start":{},"end":{}}],"line":137},"13":{"loc":{"start":{"line":161,"column":4},"end":{"line":177,"column":5}},"type":"if","locations":[{"start":{"line":161,"column":4},"end":{"line":177,"column":5}},{"start":{},"end":{}}],"line":161},"14":{"loc":{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},{"start":{},"end":{}}],"line":163},"15":{"loc":{"start":{"line":180,"column":2},"end":{"line":182,"column":3}},"type":"if","locations":[{"start":{"line":180,"column":2},"end":{"line":182,"column":3}},{"start":{},"end":{}}],"line":180},"16":{"loc":{"start":{"line":188,"column":16},"end":{"line":188,"column":50}},"type":"binary-expr","locations":[{"start":{"line":188,"column":16},"end":{"line":188,"column":44}},{"start":{"line":188,"column":48},"end":{"line":188,"column":50}}],"line":188},"17":{"loc":{"start":{"line":195,"column":16},"end":{"line":195,"column":46}},"type":"binary-expr","locations":[{"start":{"line":195,"column":16},"end":{"line":195,"column":40}},{"start":{"line":195,"column":44},"end":{"line":195,"column":46}}],"line":195},"18":{"loc":{"start":{"line":202,"column":16},"end":{"line":202,"column":47}},"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":41}},{"start":{"line":202,"column":45},"end":{"line":202,"column":47}}],"line":202}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx","statementMap":{"0":{"start":{"line":26,"column":106},"end":{"line":187,"column":1}},"1":{"start":{"line":27,"column":16},"end":{"line":29,"column":11}},"2":{"start":{"line":28,"column":4},"end":{"line":28,"column":32}},"3":{"start":{"line":30,"column":17},"end":{"line":30,"column":44}},"4":{"start":{"line":31,"column":36},"end":{"line":33,"column":9}},"5":{"start":{"line":32,"column":4},"end":{"line":32,"column":89}},"6":{"start":{"line":34,"column":52},"end":{"line":34,"column":74}},"7":{"start":{"line":35,"column":58},"end":{"line":35,"column":127}},"8":{"start":{"line":36,"column":19},"end":{"line":36,"column":42}},"9":{"start":{"line":37,"column":26},"end":{"line":37,"column":101}},"10":{"start":{"line":37,"column":40},"end":{"line":37,"column":76}},"11":{"start":{"line":39,"column":2},"end":{"line":59,"column":14}},"12":{"start":{"line":40,"column":27},"end":{"line":40,"column":111}},"13":{"start":{"line":40,"column":100},"end":{"line":40,"column":110}},"14":{"start":{"line":41,"column":4},"end":{"line":58,"column":5}},"15":{"start":{"line":42,"column":6},"end":{"line":55,"column":9}},"16":{"start":{"line":46,"column":41},"end":{"line":50,"column":12}},"17":{"start":{"line":46,"column":147},"end":{"line":50,"column":10}},"18":{"start":{"line":51,"column":8},"end":{"line":51,"column":58}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":27}},"20":{"start":{"line":54,"column":8},"end":{"line":54,"column":37}},"21":{"start":{"line":57,"column":6},"end":{"line":57,"column":34}},"22":{"start":{"line":61,"column":26},"end":{"line":67,"column":42}},"23":{"start":{"line":62,"column":4},"end":{"line":66,"column":6}},"24":{"start":{"line":65,"column":43},"end":{"line":65,"column":48}},"25":{"start":{"line":69,"column":44},"end":{"line":77,"column":53}},"26":{"start":{"line":70,"column":4},"end":{"line":76,"column":5}},"27":{"start":{"line":71,"column":6},"end":{"line":71,"column":68}},"28":{"start":{"line":72,"column":6},"end":{"line":75,"column":9}},"29":{"start":{"line":79,"column":39},"end":{"line":85,"column":25}},"30":{"start":{"line":80,"column":4},"end":{"line":84,"column":6}},"31":{"start":{"line":82,"column":46},"end":{"line":82,"column":61}},"32":{"start":{"line":87,"column":35},"end":{"line":95,"column":34}},"33":{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},"34":{"start":{"line":89,"column":6},"end":{"line":89,"column":46}},"35":{"start":{"line":90,"column":6},"end":{"line":93,"column":9}},"36":{"start":{"line":97,"column":37},"end":{"line":118,"column":35}},"37":{"start":{"line":98,"column":4},"end":{"line":117,"column":5}},"38":{"start":{"line":99,"column":6},"end":{"line":102,"column":9}},"39":{"start":{"line":103,"column":21},"end":{"line":107,"column":9}},"40":{"start":{"line":103,"column":84},"end":{"line":107,"column":8}},"41":{"start":{"line":108,"column":6},"end":{"line":115,"column":7}},"42":{"start":{"line":109,"column":8},"end":{"line":111,"column":11}},"43":{"start":{"line":112,"column":8},"end":{"line":114,"column":11}},"44":{"start":{"line":116,"column":6},"end":{"line":116,"column":80}},"45":{"start":{"line":120,"column":2},"end":{"line":186,"column":4}},"46":{"start":{"line":175,"column":10},"end":{"line":182,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":106},"end":{"line":26,"column":107}},"loc":{"start":{"line":26,"column":118},"end":{"line":187,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":40},"end":{"line":27,"column":41}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":32}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":60},"end":{"line":31,"column":61}},"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":89}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":34},"end":{"line":37,"column":35}},"loc":{"start":{"line":37,"column":40},"end":{"line":37,"column":76}},"line":37},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":12},"end":{"line":39,"column":13}},"loc":{"start":{"line":39,"column":18},"end":{"line":59,"column":3}},"line":39},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":84},"end":{"line":40,"column":85}},"loc":{"start":{"line":40,"column":100},"end":{"line":40,"column":110}},"line":40},"6":{"name":"(anonymous_6)","decl":{"start":{"line":45,"column":14},"end":{"line":45,"column":15}},"loc":{"start":{"line":45,"column":38},"end":{"line":52,"column":7}},"line":45},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":118},"end":{"line":46,"column":119}},"loc":{"start":{"line":46,"column":147},"end":{"line":50,"column":10}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":15},"end":{"line":52,"column":16}},"loc":{"start":{"line":52,"column":24},"end":{"line":55,"column":7}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":61,"column":44},"end":{"line":61,"column":45}},"loc":{"start":{"line":61,"column":50},"end":{"line":67,"column":3}},"line":61},"10":{"name":"(anonymous_10)","decl":{"start":{"line":65,"column":30},"end":{"line":65,"column":31}},"loc":{"start":{"line":65,"column":43},"end":{"line":65,"column":48}},"line":65},"11":{"name":"(anonymous_11)","decl":{"start":{"line":69,"column":56},"end":{"line":69,"column":57}},"loc":{"start":{"line":69,"column":62},"end":{"line":77,"column":3}},"line":69},"12":{"name":"(anonymous_12)","decl":{"start":{"line":79,"column":51},"end":{"line":79,"column":52}},"loc":{"start":{"line":79,"column":70},"end":{"line":85,"column":3}},"line":79},"13":{"name":"(anonymous_13)","decl":{"start":{"line":82,"column":35},"end":{"line":82,"column":36}},"loc":{"start":{"line":82,"column":46},"end":{"line":82,"column":61}},"line":82},"14":{"name":"(anonymous_14)","decl":{"start":{"line":87,"column":47},"end":{"line":87,"column":48}},"loc":{"start":{"line":87,"column":66},"end":{"line":95,"column":3}},"line":87},"15":{"name":"(anonymous_15)","decl":{"start":{"line":97,"column":49},"end":{"line":97,"column":50}},"loc":{"start":{"line":97,"column":61},"end":{"line":118,"column":3}},"line":97},"16":{"name":"(anonymous_16)","decl":{"start":{"line":103,"column":72},"end":{"line":103,"column":73}},"loc":{"start":{"line":103,"column":84},"end":{"line":107,"column":8}},"line":103},"17":{"name":"(anonymous_17)","decl":{"start":{"line":174,"column":29},"end":{"line":174,"column":30}},"loc":{"start":{"line":175,"column":10},"end":{"line":182,"column":12}},"line":175}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":41},"end":{"line":40,"column":78}},"type":"binary-expr","locations":[{"start":{"line":40,"column":41},"end":{"line":40,"column":72}},{"start":{"line":40,"column":76},"end":{"line":40,"column":78}}],"line":40},"1":{"loc":{"start":{"line":41,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":58,"column":5}},{"start":{"line":56,"column":11},"end":{"line":58,"column":5}}],"line":41},"2":{"loc":{"start":{"line":46,"column":75},"end":{"line":46,"column":112}},"type":"binary-expr","locations":[{"start":{"line":46,"column":75},"end":{"line":46,"column":106}},{"start":{"line":46,"column":110},"end":{"line":46,"column":112}}],"line":46},"3":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":49}},"type":"cond-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":12}},{"start":{"line":65,"column":10},"end":{"line":65,"column":49}}],"line":63},"4":{"loc":{"start":{"line":70,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":76,"column":5}},{"start":{},"end":{}}],"line":70},"5":{"loc":{"start":{"line":81,"column":6},"end":{"line":83,"column":39}},"type":"cond-expr","locations":[{"start":{"line":82,"column":10},"end":{"line":82,"column":62}},{"start":{"line":83,"column":10},"end":{"line":83,"column":39}}],"line":81},"6":{"loc":{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":88},"7":{"loc":{"start":{"line":98,"column":4},"end":{"line":117,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":117,"column":5}},{"start":{},"end":{}}],"line":98},"8":{"loc":{"start":{"line":108,"column":6},"end":{"line":115,"column":7}},"type":"if","locations":[{"start":{"line":108,"column":6},"end":{"line":115,"column":7}},{"start":{},"end":{}}],"line":108},"9":{"loc":{"start":{"line":129,"column":11},"end":{"line":129,"column":87}},"type":"cond-expr","locations":[{"start":{"line":129,"column":40},"end":{"line":129,"column":80}},{"start":{"line":129,"column":83},"end":{"line":129,"column":87}}],"line":129},"10":{"loc":{"start":{"line":144,"column":8},"end":{"line":168,"column":9}},"type":"binary-expr","locations":[{"start":{"line":144,"column":8},"end":{"line":144,"column":34}},{"start":{"line":145,"column":10},"end":{"line":167,"column":16}}],"line":144}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx","statementMap":{"0":{"start":{"line":25,"column":111},"end":{"line":103,"column":1}},"1":{"start":{"line":32,"column":35},"end":{"line":34,"column":35}},"2":{"start":{"line":33,"column":4},"end":{"line":33,"column":32}},"3":{"start":{"line":36,"column":27},"end":{"line":38,"column":43}},"4":{"start":{"line":37,"column":4},"end":{"line":37,"column":40}},"5":{"start":{"line":40,"column":2},"end":{"line":102,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":111},"end":{"line":25,"column":112}},"loc":{"start":{"line":31,"column":6},"end":{"line":103,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":47},"end":{"line":32,"column":48}},"loc":{"start":{"line":32,"column":53},"end":{"line":34,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":36,"column":45},"end":{"line":38,"column":3}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":85,"column":13},"end":{"line":87,"column":13}},"type":"binary-expr","locations":[{"start":{"line":85,"column":14},"end":{"line":85,"column":32}},{"start":{"line":85,"column":36},"end":{"line":85,"column":60}},{"start":{"line":86,"column":12},"end":{"line":86,"column":31}}],"line":85},"1":{"loc":{"start":{"line":88,"column":13},"end":{"line":93,"column":13}},"type":"binary-expr","locations":[{"start":{"line":88,"column":14},"end":{"line":88,"column":32}},{"start":{"line":88,"column":36},"end":{"line":88,"column":59}},{"start":{"line":89,"column":12},"end":{"line":92,"column":20}}],"line":88},"2":{"loc":{"start":{"line":94,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":94,"column":13},"end":{"line":94,"column":30}},{"start":{"line":95,"column":12},"end":{"line":95,"column":143}}],"line":94}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0],"1":[0,0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx","statementMap":{"0":{"start":{"line":17,"column":29},"end":{"line":17,"column":58}},"1":{"start":{"line":18,"column":29},"end":{"line":22,"column":1}},"2":{"start":{"line":24,"column":100},"end":{"line":101,"column":1}},"3":{"start":{"line":27,"column":25},"end":{"line":29,"column":24}},"4":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"5":{"start":{"line":30,"column":16},"end":{"line":30,"column":42}},"6":{"start":{"line":32,"column":28},"end":{"line":39,"column":29}},"7":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"8":{"start":{"line":34,"column":6},"end":{"line":37,"column":9}},"9":{"start":{"line":41,"column":21},"end":{"line":49,"column":3}},"10":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"11":{"start":{"line":43,"column":6},"end":{"line":43,"column":23}},"12":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"13":{"start":{"line":46,"column":6},"end":{"line":46,"column":30}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":21}},"15":{"start":{"line":51,"column":2},"end":{"line":100,"column":4}},"16":{"start":{"line":57,"column":12},"end":{"line":66,"column":14}},"17":{"start":{"line":90,"column":14},"end":{"line":92,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":100},"end":{"line":24,"column":101}},"loc":{"start":{"line":26,"column":6},"end":{"line":101,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":33},"end":{"line":27,"column":34}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":40},"end":{"line":32,"column":41}},"loc":{"start":{"line":32,"column":60},"end":{"line":39,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":21},"end":{"line":41,"column":22}},"loc":{"start":{"line":41,"column":33},"end":{"line":49,"column":3}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":56,"column":50},"end":{"line":56,"column":51}},"loc":{"start":{"line":57,"column":12},"end":{"line":66,"column":14}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":88,"column":38},"end":{"line":88,"column":39}},"loc":{"start":{"line":90,"column":14},"end":{"line":92,"column":33}},"line":90}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"type":"binary-expr","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":22}},{"start":{"line":28,"column":26},"end":{"line":28,"column":49}}],"line":28},"1":{"loc":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},{"start":{},"end":{}}],"line":33},"2":{"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":42},"3":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"4":{"loc":{"start":{"line":54,"column":9},"end":{"line":68,"column":9}},"type":"binary-expr","locations":[{"start":{"line":54,"column":9},"end":{"line":54,"column":23}},{"start":{"line":56,"column":11},"end":{"line":67,"column":12}}],"line":54},"5":{"loc":{"start":{"line":70,"column":9},"end":{"line":97,"column":9}},"type":"binary-expr","locations":[{"start":{"line":70,"column":9},"end":{"line":70,"column":20}},{"start":{"line":71,"column":8},"end":{"line":96,"column":16}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/Modal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/Modal.tsx","statementMap":{"0":{"start":{"line":29,"column":19},"end":{"line":44,"column":2}},"1":{"start":{"line":46,"column":28},"end":{"line":77,"column":2}},"2":{"start":{"line":97,"column":22},"end":{"line":101,"column":13}},"3":{"start":{"line":98,"column":4},"end":{"line":100,"column":5}},"4":{"start":{"line":99,"column":6},"end":{"line":99,"column":14}},"5":{"start":{"line":103,"column":29},"end":{"line":112,"column":3}},"6":{"start":{"line":105,"column":6},"end":{"line":109,"column":7}},"7":{"start":{"line":106,"column":8},"end":{"line":108,"column":9}},"8":{"start":{"line":107,"column":10},"end":{"line":107,"column":18}},"9":{"start":{"line":114,"column":2},"end":{"line":209,"column":4}}},"fnMap":{"0":{"name":"Modal","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":21}},"loc":{"start":{"line":96,"column":15},"end":{"line":210,"column":1}},"line":96},"1":{"name":"(anonymous_1)","decl":{"start":{"line":97,"column":40},"end":{"line":97,"column":41}},"loc":{"start":{"line":97,"column":46},"end":{"line":101,"column":3}},"line":97},"2":{"name":"(anonymous_2)","decl":{"start":{"line":104,"column":4},"end":{"line":104,"column":5}},"loc":{"start":{"line":104,"column":14},"end":{"line":110,"column":5}},"line":104}},"branchMap":{"0":{"loc":{"start":{"line":88,"column":2},"end":{"line":88,"column":22}},"type":"default-arg","locations":[{"start":{"line":88,"column":17},"end":{"line":88,"column":22}}],"line":88},"1":{"loc":{"start":{"line":89,"column":2},"end":{"line":89,"column":19}},"type":"default-arg","locations":[{"start":{"line":89,"column":14},"end":{"line":89,"column":19}}],"line":89},"2":{"loc":{"start":{"line":90,"column":2},"end":{"line":90,"column":17}},"type":"default-arg","locations":[{"start":{"line":90,"column":12},"end":{"line":90,"column":17}}],"line":90},"3":{"loc":{"start":{"line":91,"column":2},"end":{"line":91,"column":14}},"type":"default-arg","locations":[{"start":{"line":91,"column":10},"end":{"line":91,"column":14}}],"line":91},"4":{"loc":{"start":{"line":92,"column":2},"end":{"line":92,"column":19}},"type":"default-arg","locations":[{"start":{"line":92,"column":14},"end":{"line":92,"column":19}}],"line":92},"5":{"loc":{"start":{"line":98,"column":4},"end":{"line":100,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":100,"column":5}},{"start":{},"end":{}}],"line":98},"6":{"loc":{"start":{"line":105,"column":6},"end":{"line":109,"column":7}},"type":"if","locations":[{"start":{"line":105,"column":6},"end":{"line":109,"column":7}},{"start":{},"end":{}}],"line":105},"7":{"loc":{"start":{"line":106,"column":8},"end":{"line":108,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":108,"column":9}},{"start":{},"end":{}}],"line":106},"8":{"loc":{"start":{"line":133,"column":13},"end":{"line":186,"column":13}},"type":"binary-expr","locations":[{"start":{"line":133,"column":14},"end":{"line":133,"column":23}},{"start":{"line":133,"column":27},"end":{"line":133,"column":32}},{"start":{"line":133,"column":36},"end":{"line":133,"column":45}},{"start":{"line":133,"column":49},"end":{"line":133,"column":53}},{"start":{"line":134,"column":14},"end":{"line":185,"column":22}}],"line":133},"9":{"loc":{"start":{"line":136,"column":25},"end":{"line":136,"column":56}},"type":"cond-expr","locations":[{"start":{"line":136,"column":37},"end":{"line":136,"column":44}},{"start":{"line":136,"column":47},"end":{"line":136,"column":56}}],"line":136},"10":{"loc":{"start":{"line":151,"column":17},"end":{"line":159,"column":17}},"type":"binary-expr","locations":[{"start":{"line":151,"column":17},"end":{"line":151,"column":26}},{"start":{"line":152,"column":18},"end":{"line":158,"column":20}}],"line":151},"11":{"loc":{"start":{"line":167,"column":19},"end":{"line":167,"column":44}},"type":"binary-expr","locations":[{"start":{"line":167,"column":19},"end":{"line":167,"column":23}},{"start":{"line":167,"column":27},"end":{"line":167,"column":44}}],"line":167},"12":{"loc":{"start":{"line":168,"column":19},"end":{"line":174,"column":19}},"type":"binary-expr","locations":[{"start":{"line":168,"column":19},"end":{"line":168,"column":24}},{"start":{"line":169,"column":20},"end":{"line":173,"column":35}}],"line":168},"13":{"loc":{"start":{"line":176,"column":17},"end":{"line":184,"column":17}},"type":"binary-expr","locations":[{"start":{"line":176,"column":17},"end":{"line":176,"column":26}},{"start":{"line":177,"column":18},"end":{"line":183,"column":20}}],"line":176},"14":{"loc":{"start":{"line":178,"column":29},"end":{"line":178,"column":48}},"type":"binary-expr","locations":[{"start":{"line":178,"column":29},"end":{"line":178,"column":40}},{"start":{"line":178,"column":44},"end":{"line":178,"column":48}}],"line":178},"15":{"loc":{"start":{"line":193,"column":39},"end":{"line":193,"column":56}},"type":"cond-expr","locations":[{"start":{"line":193,"column":48},"end":{"line":193,"column":52}},{"start":{"line":193,"column":55},"end":{"line":193,"column":56}}],"line":193},"16":{"loc":{"start":{"line":194,"column":30},"end":{"line":194,"column":119}},"type":"cond-expr","locations":[{"start":{"line":194,"column":64},"end":{"line":194,"column":115}},{"start":{"line":194,"column":118},"end":{"line":194,"column":119}}],"line":194},"17":{"loc":{"start":{"line":194,"column":30},"end":{"line":194,"column":61}},"type":"binary-expr","locations":[{"start":{"line":194,"column":30},"end":{"line":194,"column":36}},{"start":{"line":194,"column":40},"end":{"line":194,"column":61}}],"line":194},"18":{"loc":{"start":{"line":200,"column":13},"end":{"line":204,"column":13}},"type":"binary-expr","locations":[{"start":{"line":200,"column":13},"end":{"line":200,"column":21}},{"start":{"line":201,"column":14},"end":{"line":203,"column":28}}],"line":200}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalFooter.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalFooter.tsx","statementMap":{"0":{"start":{"line":3,"column":27},"end":{"line":28,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalHeader.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalHeader.tsx","statementMap":{"0":{"start":{"line":4,"column":27},"end":{"line":7,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButton.tsx","statementMap":{"0":{"start":{"line":30,"column":18},"end":{"line":36,"column":2}},"1":{"start":{"line":46,"column":93},"end":{"line":215,"column":1}},"2":{"start":{"line":51,"column":24},"end":{"line":51,"column":55}},"3":{"start":{"line":52,"column":22},"end":{"line":52,"column":38}},"4":{"start":{"line":53,"column":19},"end":{"line":53,"column":42}},"5":{"start":{"line":54,"column":25},"end":{"line":54,"column":60}},"6":{"start":{"line":55,"column":33},"end":{"line":55,"column":76}},"7":{"start":{"line":56,"column":25},"end":{"line":56,"column":60}},"8":{"start":{"line":57,"column":32},"end":{"line":57,"column":49}},"9":{"start":{"line":59,"column":18},"end":{"line":59,"column":60}},"10":{"start":{"line":61,"column":24},"end":{"line":64,"column":3}},"11":{"start":{"line":62,"column":10},"end":{"line":62,"column":60}},"12":{"start":{"line":66,"column":21},"end":{"line":66,"column":79}},"13":{"start":{"line":69,"column":28},"end":{"line":69,"column":96}},"14":{"start":{"line":69,"column":48},"end":{"line":69,"column":81}},"15":{"start":{"line":69,"column":73},"end":{"line":69,"column":80}},"16":{"start":{"line":71,"column":26},"end":{"line":73,"column":23}},"17":{"start":{"line":72,"column":4},"end":{"line":72,"column":76}},"18":{"start":{"line":75,"column":30},"end":{"line":77,"column":3}},"19":{"start":{"line":76,"column":4},"end":{"line":76,"column":19}},"20":{"start":{"line":79,"column":28},"end":{"line":86,"column":84}},"21":{"start":{"line":80,"column":4},"end":{"line":85,"column":7}},"22":{"start":{"line":88,"column":31},"end":{"line":90,"column":23}},"23":{"start":{"line":89,"column":4},"end":{"line":89,"column":91}},"24":{"start":{"line":93,"column":25},"end":{"line":100,"column":3}},"25":{"start":{"line":95,"column":6},"end":{"line":95,"column":76}},"26":{"start":{"line":96,"column":6},"end":{"line":96,"column":61}},"27":{"start":{"line":97,"column":6},"end":{"line":97,"column":69}},"28":{"start":{"line":102,"column":32},"end":{"line":110,"column":18}},"29":{"start":{"line":103,"column":46},"end":{"line":103,"column":48}},"30":{"start":{"line":104,"column":4},"end":{"line":108,"column":7}},"31":{"start":{"line":105,"column":6},"end":{"line":107,"column":7}},"32":{"start":{"line":106,"column":8},"end":{"line":106,"column":58}},"33":{"start":{"line":109,"column":4},"end":{"line":109,"column":75}},"34":{"start":{"line":112,"column":17},"end":{"line":112,"column":75}},"35":{"start":{"line":114,"column":22},"end":{"line":127,"column":3}},"36":{"start":{"line":116,"column":6},"end":{"line":116,"column":48}},"37":{"start":{"line":117,"column":39},"end":{"line":119,"column":7}},"38":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"39":{"start":{"line":121,"column":8},"end":{"line":121,"column":91}},"40":{"start":{"line":121,"column":44},"end":{"line":121,"column":89}},"41":{"start":{"line":124,"column":6},"end":{"line":124,"column":31}},"42":{"start":{"line":129,"column":27},"end":{"line":139,"column":3}},"43":{"start":{"line":131,"column":27},"end":{"line":131,"column":57}},"44":{"start":{"line":132,"column":6},"end":{"line":136,"column":7}},"45":{"start":{"line":133,"column":8},"end":{"line":133,"column":26}},"46":{"start":{"line":135,"column":8},"end":{"line":135,"column":35}},"47":{"start":{"line":141,"column":2},"end":{"line":214,"column":4}},"48":{"start":{"line":148,"column":48},"end":{"line":177,"column":11}},"49":{"start":{"line":159,"column":20},"end":{"line":164,"column":22}},"50":{"start":{"line":188,"column":18},"end":{"line":193,"column":20}},"51":{"start":{"line":205,"column":49},"end":{"line":205,"column":87}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":46,"column":93},"end":{"line":46,"column":94}},"loc":{"start":{"line":50,"column":6},"end":{"line":215,"column":1}},"line":50},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":4},"end":{"line":62,"column":5}},"loc":{"start":{"line":62,"column":10},"end":{"line":62,"column":60}},"line":62},"2":{"name":"(anonymous_2)","decl":{"start":{"line":69,"column":42},"end":{"line":69,"column":43}},"loc":{"start":{"line":69,"column":48},"end":{"line":69,"column":81}},"line":69},"3":{"name":"(anonymous_3)","decl":{"start":{"line":69,"column":66},"end":{"line":69,"column":67}},"loc":{"start":{"line":69,"column":73},"end":{"line":69,"column":80}},"line":69},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":44},"end":{"line":71,"column":45}},"loc":{"start":{"line":71,"column":50},"end":{"line":73,"column":3}},"line":71},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":30},"end":{"line":75,"column":31}},"loc":{"start":{"line":75,"column":64},"end":{"line":77,"column":3}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":79,"column":46},"end":{"line":79,"column":47}},"loc":{"start":{"line":79,"column":52},"end":{"line":86,"column":3}},"line":79},"7":{"name":"(anonymous_7)","decl":{"start":{"line":88,"column":49},"end":{"line":88,"column":50}},"loc":{"start":{"line":88,"column":55},"end":{"line":90,"column":3}},"line":88},"8":{"name":"(anonymous_8)","decl":{"start":{"line":94,"column":4},"end":{"line":94,"column":5}},"loc":{"start":{"line":94,"column":37},"end":{"line":98,"column":5}},"line":94},"9":{"name":"(anonymous_9)","decl":{"start":{"line":102,"column":46},"end":{"line":102,"column":47}},"loc":{"start":{"line":102,"column":52},"end":{"line":110,"column":3}},"line":102},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":23},"end":{"line":104,"column":24}},"loc":{"start":{"line":104,"column":37},"end":{"line":108,"column":5}},"line":104},"11":{"name":"(anonymous_11)","decl":{"start":{"line":115,"column":4},"end":{"line":115,"column":5}},"loc":{"start":{"line":115,"column":60},"end":{"line":125,"column":5}},"line":115},"12":{"name":"(anonymous_12)","decl":{"start":{"line":121,"column":34},"end":{"line":121,"column":35}},"loc":{"start":{"line":121,"column":44},"end":{"line":121,"column":89}},"line":121},"13":{"name":"(anonymous_13)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":52},"end":{"line":137,"column":5}},"line":130},"14":{"name":"(anonymous_14)","decl":{"start":{"line":148,"column":33},"end":{"line":148,"column":34}},"loc":{"start":{"line":148,"column":48},"end":{"line":177,"column":11}},"line":148},"15":{"name":"(anonymous_15)","decl":{"start":{"line":158,"column":48},"end":{"line":158,"column":49}},"loc":{"start":{"line":159,"column":20},"end":{"line":164,"column":22}},"line":159},"16":{"name":"(anonymous_16)","decl":{"start":{"line":187,"column":45},"end":{"line":187,"column":46}},"loc":{"start":{"line":188,"column":18},"end":{"line":193,"column":20}},"line":188},"17":{"name":"(anonymous_17)","decl":{"start":{"line":205,"column":38},"end":{"line":205,"column":39}},"loc":{"start":{"line":205,"column":49},"end":{"line":205,"column":87}},"line":205}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":18},"end":{"line":59,"column":60}},"type":"binary-expr","locations":[{"start":{"line":59,"column":18},"end":{"line":59,"column":33}},{"start":{"line":59,"column":37},"end":{"line":59,"column":60}}],"line":59},"1":{"loc":{"start":{"line":105,"column":6},"end":{"line":107,"column":7}},"type":"if","locations":[{"start":{"line":105,"column":6},"end":{"line":107,"column":7}},{"start":{},"end":{}}],"line":105},"2":{"loc":{"start":{"line":115,"column":38},"end":{"line":115,"column":55}},"type":"default-arg","locations":[{"start":{"line":115,"column":49},"end":{"line":115,"column":55}}],"line":115},"3":{"loc":{"start":{"line":118,"column":32},"end":{"line":118,"column":64}},"type":"cond-expr","locations":[{"start":{"line":118,"column":43},"end":{"line":118,"column":51}},{"start":{"line":118,"column":54},"end":{"line":118,"column":64}}],"line":118},"4":{"loc":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"type":"if","locations":[{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},{"start":{},"end":{}}],"line":120},"5":{"loc":{"start":{"line":132,"column":6},"end":{"line":136,"column":7}},"type":"if","locations":[{"start":{"line":132,"column":6},"end":{"line":136,"column":7}},{"start":{"line":134,"column":13},"end":{"line":136,"column":7}}],"line":132},"6":{"loc":{"start":{"line":132,"column":10},"end":{"line":132,"column":90}},"type":"binary-expr","locations":[{"start":{"line":132,"column":10},"end":{"line":132,"column":17}},{"start":{"line":132,"column":23},"end":{"line":132,"column":35}},{"start":{"line":132,"column":39},"end":{"line":132,"column":52}},{"start":{"line":132,"column":58},"end":{"line":132,"column":71}},{"start":{"line":132,"column":75},"end":{"line":132,"column":88}}],"line":132},"7":{"loc":{"start":{"line":148,"column":48},"end":{"line":177,"column":11}},"type":"cond-expr","locations":[{"start":{"line":149,"column":12},"end":{"line":168,"column":30}},{"start":{"line":170,"column":12},"end":{"line":176,"column":14}}],"line":148}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButtonProperty.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButtonProperty.tsx","statementMap":{"0":{"start":{"line":17,"column":101},"end":{"line":42,"column":1}},"1":{"start":{"line":20,"column":34},"end":{"line":20,"column":78}},"2":{"start":{"line":21,"column":19},"end":{"line":23,"column":48}},"3":{"start":{"line":22,"column":4},"end":{"line":22,"column":52}},"4":{"start":{"line":24,"column":22},"end":{"line":27,"column":35}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"6":{"start":{"line":26,"column":4},"end":{"line":26,"column":32}},"7":{"start":{"line":29,"column":2},"end":{"line":41,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":101},"end":{"line":17,"column":102}},"loc":{"start":{"line":19,"column":6},"end":{"line":42,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":33},"end":{"line":21,"column":34}},"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":52}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":40},"end":{"line":24,"column":41}},"loc":{"start":{"line":24,"column":52},"end":{"line":27,"column":3}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":28},"end":{"line":18,"column":44}},"type":"default-arg","locations":[{"start":{"line":18,"column":39},"end":{"line":18,"column":44}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx","statementMap":{"0":{"start":{"line":10,"column":25},"end":{"line":13,"column":2}},"1":{"start":{"line":15,"column":23},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":71},"end":{"line":24,"column":1}},"3":{"start":{"line":26,"column":101},"end":{"line":45,"column":1}},"4":{"start":{"line":27,"column":18},"end":{"line":27,"column":30}},"5":{"start":{"line":28,"column":25},"end":{"line":28,"column":44}},"6":{"start":{"line":30,"column":21},"end":{"line":32,"column":8}},"7":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"8":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"9":{"start":{"line":35,"column":4},"end":{"line":41,"column":6}},"10":{"start":{"line":44,"column":2},"end":{"line":44,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":101},"end":{"line":26,"column":102}},"loc":{"start":{"line":26,"column":107},"end":{"line":45,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":33},"end":{"line":30,"column":34}},"loc":{"start":{"line":30,"column":39},"end":{"line":32,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},{"start":{},"end":{}}],"line":34},"1":{"loc":{"start":{"line":34,"column":6},"end":{"line":34,"column":38}},"type":"binary-expr","locations":[{"start":{"line":34,"column":6},"end":{"line":34,"column":13}},{"start":{"line":34,"column":17},"end":{"line":34,"column":38}}],"line":34}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/DefaultPreset.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/DefaultPreset.tsx","statementMap":{"0":{"start":{"line":14,"column":19},"end":{"line":14,"column":42}},"1":{"start":{"line":15,"column":27},"end":{"line":19,"column":26}},"2":{"start":{"line":16,"column":4},"end":{"line":16,"column":25}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":43}},"4":{"start":{"line":18,"column":4},"end":{"line":18,"column":15}},"5":{"start":{"line":21,"column":2},"end":{"line":38,"column":4}}},"fnMap":{"0":{"name":"DefaultPreset","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":59},"end":{"line":39,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":45},"end":{"line":15,"column":46}},"loc":{"start":{"line":15,"column":51},"end":{"line":19,"column":3}},"line":15}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/FilePreset.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/FilePreset.tsx","statementMap":{"0":{"start":{"line":34,"column":23},"end":{"line":34,"column":56}},"1":{"start":{"line":35,"column":22},"end":{"line":35,"column":54}},"2":{"start":{"line":36,"column":26},"end":{"line":36,"column":62}},"3":{"start":{"line":37,"column":31},"end":{"line":37,"column":67}},"4":{"start":{"line":38,"column":45},"end":{"line":38,"column":62}},"5":{"start":{"line":40,"column":32},"end":{"line":43,"column":23}},"6":{"start":{"line":41,"column":4},"end":{"line":41,"column":38}},"7":{"start":{"line":42,"column":4},"end":{"line":42,"column":37}},"8":{"start":{"line":45,"column":37},"end":{"line":48,"column":28}},"9":{"start":{"line":46,"column":4},"end":{"line":46,"column":43}},"10":{"start":{"line":47,"column":4},"end":{"line":47,"column":42}},"11":{"start":{"line":50,"column":38},"end":{"line":55,"column":75}},"12":{"start":{"line":51,"column":22},"end":{"line":51,"column":34}},"13":{"start":{"line":53,"column":4},"end":{"line":53,"column":79}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":15}},"15":{"start":{"line":57,"column":2},"end":{"line":93,"column":4}}},"fnMap":{"0":{"name":"FilePreset","decl":{"start":{"line":33,"column":24},"end":{"line":33,"column":34}},"loc":{"start":{"line":33,"column":56},"end":{"line":94,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":50},"end":{"line":40,"column":51}},"loc":{"start":{"line":40,"column":56},"end":{"line":43,"column":3}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":55},"end":{"line":45,"column":56}},"loc":{"start":{"line":45,"column":61},"end":{"line":48,"column":3}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":56},"end":{"line":50,"column":57}},"loc":{"start":{"line":50,"column":110},"end":{"line":55,"column":3}},"line":50}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/ResolvingLoader.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/ResolvingLoader.tsx","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":10,"column":2}},"1":{"start":{"line":12,"column":36},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":100},"end":{"line":37,"column":1}},"3":{"start":{"line":21,"column":2},"end":{"line":36,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":100},"end":{"line":20,"column":101}},"loc":{"start":{"line":21,"column":2},"end":{"line":36,"column":9}},"line":21}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreen/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreen/index.tsx","statementMap":{"0":{"start":{"line":17,"column":31},"end":{"line":30,"column":2}},"1":{"start":{"line":32,"column":16},"end":{"line":36,"column":2}},"2":{"start":{"line":38,"column":27},"end":{"line":41,"column":2}},"3":{"start":{"line":44,"column":16},"end":{"line":44,"column":55}},"4":{"start":{"line":45,"column":20},"end":{"line":45,"column":53}},"5":{"start":{"line":46,"column":19},"end":{"line":46,"column":42}},"6":{"start":{"line":47,"column":33},"end":{"line":47,"column":42}},"7":{"start":{"line":49,"column":22},"end":{"line":51,"column":24}},"8":{"start":{"line":50,"column":4},"end":{"line":50,"column":42}},"9":{"start":{"line":53,"column":33},"end":{"line":56,"column":8}},"10":{"start":{"line":54,"column":4},"end":{"line":54,"column":32}},"11":{"start":{"line":55,"column":4},"end":{"line":55,"column":51}},"12":{"start":{"line":60,"column":2},"end":{"line":66,"column":3}},"13":{"start":{"line":61,"column":4},"end":{"line":61,"column":29}},"14":{"start":{"line":62,"column":9},"end":{"line":66,"column":3}},"15":{"start":{"line":63,"column":4},"end":{"line":63,"column":31}},"16":{"start":{"line":65,"column":4},"end":{"line":65,"column":30}},"17":{"start":{"line":68,"column":2},"end":{"line":157,"column":4}}},"fnMap":{"0":{"name":"SecondScreen","decl":{"start":{"line":43,"column":24},"end":{"line":43,"column":36}},"loc":{"start":{"line":43,"column":39},"end":{"line":158,"column":1}},"line":43},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":34},"end":{"line":49,"column":35}},"loc":{"start":{"line":49,"column":40},"end":{"line":51,"column":3}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":45},"end":{"line":53,"column":46}},"loc":{"start":{"line":53,"column":51},"end":{"line":56,"column":3}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":2},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":60,"column":2},"end":{"line":66,"column":3}},{"start":{"line":62,"column":9},"end":{"line":66,"column":3}}],"line":60},"1":{"loc":{"start":{"line":62,"column":9},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":62,"column":9},"end":{"line":66,"column":3}},{"start":{"line":64,"column":9},"end":{"line":66,"column":3}}],"line":62},"2":{"loc":{"start":{"line":62,"column":13},"end":{"line":62,"column":30}},"type":"binary-expr","locations":[{"start":{"line":62,"column":13},"end":{"line":62,"column":22}},{"start":{"line":62,"column":26},"end":{"line":62,"column":30}}],"line":62},"3":{"loc":{"start":{"line":84,"column":10},"end":{"line":152,"column":11}},"type":"cond-expr","locations":[{"start":{"line":85,"column":12},"end":{"line":144,"column":15}},{"start":{"line":147,"column":12},"end":{"line":151,"column":20}}],"line":84},"4":{"loc":{"start":{"line":110,"column":23},"end":{"line":110,"column":77}},"type":"cond-expr","locations":[{"start":{"line":110,"column":43},"end":{"line":110,"column":56}},{"start":{"line":110,"column":59},"end":{"line":110,"column":77}}],"line":110},"5":{"loc":{"start":{"line":110,"column":23},"end":{"line":110,"column":40}},"type":"binary-expr","locations":[{"start":{"line":110,"column":23},"end":{"line":110,"column":32}},{"start":{"line":110,"column":36},"end":{"line":110,"column":40}}],"line":110},"6":{"loc":{"start":{"line":111,"column":23},"end":{"line":111,"column":77}},"type":"cond-expr","locations":[{"start":{"line":111,"column":43},"end":{"line":111,"column":57}},{"start":{"line":111,"column":60},"end":{"line":111,"column":77}}],"line":111},"7":{"loc":{"start":{"line":111,"column":23},"end":{"line":111,"column":40}},"type":"binary-expr","locations":[{"start":{"line":111,"column":23},"end":{"line":111,"column":32}},{"start":{"line":111,"column":36},"end":{"line":111,"column":40}}],"line":111},"8":{"loc":{"start":{"line":114,"column":23},"end":{"line":114,"column":86}},"type":"cond-expr","locations":[{"start":{"line":114,"column":43},"end":{"line":114,"column":62}},{"start":{"line":114,"column":65},"end":{"line":114,"column":86}}],"line":114},"9":{"loc":{"start":{"line":114,"column":23},"end":{"line":114,"column":40}},"type":"binary-expr","locations":[{"start":{"line":114,"column":23},"end":{"line":114,"column":32}},{"start":{"line":114,"column":36},"end":{"line":114,"column":40}}],"line":114},"10":{"loc":{"start":{"line":119,"column":76},"end":{"line":119,"column":95}},"type":"binary-expr","locations":[{"start":{"line":119,"column":76},"end":{"line":119,"column":85}},{"start":{"line":119,"column":89},"end":{"line":119,"column":95}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreenSync/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreenSync/index.tsx","statementMap":{"0":{"start":{"line":15,"column":25},"end":{"line":15,"column":58}},"1":{"start":{"line":16,"column":19},"end":{"line":16,"column":42}},"2":{"start":{"line":17,"column":17},"end":{"line":17,"column":44}},"3":{"start":{"line":18,"column":22},"end":{"line":18,"column":54}},"4":{"start":{"line":19,"column":17},"end":{"line":19,"column":48}},"5":{"start":{"line":20,"column":24},"end":{"line":20,"column":57}},"6":{"start":{"line":21,"column":19},"end":{"line":21,"column":28}},"7":{"start":{"line":24,"column":2},"end":{"line":56,"column":50}},"8":{"start":{"line":25,"column":50},"end":{"line":25,"column":54}},"9":{"start":{"line":27,"column":4},"end":{"line":50,"column":5}},"10":{"start":{"line":28,"column":6},"end":{"line":49,"column":11}},"11":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"12":{"start":{"line":40,"column":14},"end":{"line":40,"column":75}},"13":{"start":{"line":45,"column":10},"end":{"line":48,"column":11}},"14":{"start":{"line":46,"column":12},"end":{"line":46,"column":31}},"15":{"start":{"line":47,"column":12},"end":{"line":47,"column":41}},"16":{"start":{"line":51,"column":4},"end":{"line":55,"column":6}},"17":{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},"18":{"start":{"line":53,"column":8},"end":{"line":53,"column":78}},"19":{"start":{"line":53,"column":29},"end":{"line":53,"column":78}},"20":{"start":{"line":59,"column":2},"end":{"line":80,"column":73}},"21":{"start":{"line":61,"column":6},"end":{"line":67,"column":34}},"22":{"start":{"line":70,"column":4},"end":{"line":79,"column":5}},"23":{"start":{"line":71,"column":19},"end":{"line":76,"column":8}},"24":{"start":{"line":78,"column":6},"end":{"line":78,"column":41}},"25":{"start":{"line":83,"column":24},"end":{"line":109,"column":28}},"26":{"start":{"line":84,"column":42},"end":{"line":84,"column":46}},"27":{"start":{"line":85,"column":4},"end":{"line":106,"column":5}},"28":{"start":{"line":86,"column":6},"end":{"line":92,"column":9}},"29":{"start":{"line":94,"column":6},"end":{"line":105,"column":9}},"30":{"start":{"line":95,"column":8},"end":{"line":104,"column":9}},"31":{"start":{"line":96,"column":10},"end":{"line":103,"column":11}},"32":{"start":{"line":97,"column":12},"end":{"line":97,"column":73}},"33":{"start":{"line":99,"column":12},"end":{"line":102,"column":13}},"34":{"start":{"line":100,"column":14},"end":{"line":100,"column":50}},"35":{"start":{"line":101,"column":14},"end":{"line":101,"column":45}},"36":{"start":{"line":108,"column":4},"end":{"line":108,"column":19}},"37":{"start":{"line":111,"column":2},"end":{"line":116,"column":22}},"38":{"start":{"line":112,"column":20},"end":{"line":112,"column":35}},"39":{"start":{"line":113,"column":4},"end":{"line":115,"column":6}},"40":{"start":{"line":114,"column":6},"end":{"line":114,"column":60}},"41":{"start":{"line":114,"column":19},"end":{"line":114,"column":60}},"42":{"start":{"line":118,"column":2},"end":{"line":118,"column":14}}},"fnMap":{"0":{"name":"SecondScreenSync","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":40}},"loc":{"start":{"line":14,"column":43},"end":{"line":119,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":13}},"loc":{"start":{"line":24,"column":18},"end":{"line":56,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":10},"end":{"line":38,"column":11}},"loc":{"start":{"line":38,"column":65},"end":{"line":42,"column":11}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":19},"end":{"line":44,"column":20}},"loc":{"start":{"line":44,"column":46},"end":{"line":49,"column":9}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":11},"end":{"line":51,"column":12}},"loc":{"start":{"line":51,"column":17},"end":{"line":55,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":12},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":18},"end":{"line":80,"column":3}},"line":59},"6":{"name":"updateRemoteData","decl":{"start":{"line":60,"column":19},"end":{"line":60,"column":35}},"loc":{"start":{"line":60,"column":65},"end":{"line":68,"column":5}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":83,"column":42},"end":{"line":109,"column":3}},"line":83},"8":{"name":"(anonymous_8)","decl":{"start":{"line":94,"column":24},"end":{"line":94,"column":25}},"loc":{"start":{"line":94,"column":42},"end":{"line":105,"column":7}},"line":94},"9":{"name":"(anonymous_9)","decl":{"start":{"line":111,"column":12},"end":{"line":111,"column":13}},"loc":{"start":{"line":111,"column":18},"end":{"line":116,"column":3}},"line":111},"10":{"name":"(anonymous_10)","decl":{"start":{"line":113,"column":11},"end":{"line":113,"column":12}},"loc":{"start":{"line":113,"column":17},"end":{"line":115,"column":5}},"line":113}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":50,"column":5}},{"start":{},"end":{}}],"line":27},"1":{"loc":{"start":{"line":27,"column":8},"end":{"line":27,"column":30}},"type":"binary-expr","locations":[{"start":{"line":27,"column":8},"end":{"line":27,"column":12}},{"start":{"line":27,"column":16},"end":{"line":27,"column":30}}],"line":27},"2":{"loc":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"type":"if","locations":[{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":39,"column":16},"end":{"line":39,"column":89}},"type":"binary-expr","locations":[{"start":{"line":39,"column":16},"end":{"line":39,"column":62}},{"start":{"line":39,"column":66},"end":{"line":39,"column":89}}],"line":39},"4":{"loc":{"start":{"line":45,"column":10},"end":{"line":48,"column":11}},"type":"if","locations":[{"start":{"line":45,"column":10},"end":{"line":48,"column":11}},{"start":{},"end":{}}],"line":45},"5":{"loc":{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},{"start":{},"end":{}}],"line":52},"6":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":78}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":78}},{"start":{},"end":{}}],"line":53},"7":{"loc":{"start":{"line":70,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":70},"8":{"loc":{"start":{"line":70,"column":8},"end":{"line":70,"column":30}},"type":"binary-expr","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":22}},{"start":{"line":70,"column":26},"end":{"line":70,"column":30}}],"line":70},"9":{"loc":{"start":{"line":85,"column":4},"end":{"line":106,"column":5}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":106,"column":5}},{"start":{},"end":{}}],"line":85},"10":{"loc":{"start":{"line":85,"column":8},"end":{"line":85,"column":30}},"type":"binary-expr","locations":[{"start":{"line":85,"column":8},"end":{"line":85,"column":12}},{"start":{"line":85,"column":16},"end":{"line":85,"column":30}}],"line":85},"11":{"loc":{"start":{"line":95,"column":8},"end":{"line":104,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":104,"column":9}},{"start":{},"end":{}}],"line":95},"12":{"loc":{"start":{"line":95,"column":12},"end":{"line":95,"column":46}},"type":"binary-expr","locations":[{"start":{"line":95,"column":12},"end":{"line":95,"column":35}},{"start":{"line":95,"column":39},"end":{"line":95,"column":46}}],"line":95},"13":{"loc":{"start":{"line":99,"column":12},"end":{"line":102,"column":13}},"type":"if","locations":[{"start":{"line":99,"column":12},"end":{"line":102,"column":13}},{"start":{},"end":{}}],"line":99},"14":{"loc":{"start":{"line":114,"column":6},"end":{"line":114,"column":60}},"type":"if","locations":[{"start":{"line":114,"column":6},"end":{"line":114,"column":60}},{"start":{},"end":{}}],"line":114}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/Settings.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/Settings.tsx","statementMap":{"0":{"start":{"line":29,"column":16},"end":{"line":29,"column":44}},"1":{"start":{"line":31,"column":25},"end":{"line":35,"column":3}},"2":{"start":{"line":37,"column":35},"end":{"line":37,"column":80}},"3":{"start":{"line":38,"column":18},"end":{"line":38,"column":46}},"4":{"start":{"line":39,"column":19},"end":{"line":39,"column":42}},"5":{"start":{"line":40,"column":20},"end":{"line":40,"column":57}},"6":{"start":{"line":41,"column":42},"end":{"line":41,"column":54}},"7":{"start":{"line":42,"column":24},"end":{"line":42,"column":34}},"8":{"start":{"line":44,"column":26},"end":{"line":70,"column":8}},"9":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"10":{"start":{"line":46,"column":6},"end":{"line":46,"column":72}},"11":{"start":{"line":49,"column":4},"end":{"line":49,"column":53}},"12":{"start":{"line":50,"column":4},"end":{"line":69,"column":5}},"13":{"start":{"line":52,"column":6},"end":{"line":62,"column":7}},"14":{"start":{"line":53,"column":17},"end":{"line":53,"column":43}},"15":{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},"16":{"start":{"line":56,"column":10},"end":{"line":56,"column":25}},"17":{"start":{"line":57,"column":10},"end":{"line":57,"column":42}},"18":{"start":{"line":59,"column":8},"end":{"line":59,"column":34}},"19":{"start":{"line":61,"column":8},"end":{"line":61,"column":66}},"20":{"start":{"line":64,"column":6},"end":{"line":68,"column":7}},"21":{"start":{"line":65,"column":8},"end":{"line":65,"column":22}},"22":{"start":{"line":67,"column":8},"end":{"line":67,"column":62}},"23":{"start":{"line":73,"column":2},"end":{"line":83,"column":5}},"24":{"start":{"line":75,"column":6},"end":{"line":80,"column":7}},"25":{"start":{"line":76,"column":19},"end":{"line":76,"column":39}},"26":{"start":{"line":77,"column":8},"end":{"line":77,"column":34}},"27":{"start":{"line":82,"column":4},"end":{"line":82,"column":19}},"28":{"start":{"line":85,"column":47},"end":{"line":91,"column":3}},"29":{"start":{"line":87,"column":6},"end":{"line":87,"column":69}},"30":{"start":{"line":88,"column":6},"end":{"line":88,"column":69}},"31":{"start":{"line":93,"column":26},"end":{"line":95,"column":16}},"32":{"start":{"line":94,"column":4},"end":{"line":94,"column":64}},"33":{"start":{"line":97,"column":28},"end":{"line":103,"column":16}},"34":{"start":{"line":98,"column":4},"end":{"line":98,"column":54}},"35":{"start":{"line":99,"column":4},"end":{"line":99,"column":60}},"36":{"start":{"line":100,"column":4},"end":{"line":100,"column":57}},"37":{"start":{"line":101,"column":4},"end":{"line":101,"column":63}},"38":{"start":{"line":102,"column":4},"end":{"line":102,"column":38}},"39":{"start":{"line":105,"column":2},"end":{"line":219,"column":4}}},"fnMap":{"0":{"name":"Settings","decl":{"start":{"line":28,"column":9},"end":{"line":28,"column":17}},"loc":{"start":{"line":28,"column":20},"end":{"line":220,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":44},"end":{"line":44,"column":45}},"loc":{"start":{"line":44,"column":77},"end":{"line":70,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":73,"column":12},"end":{"line":73,"column":13}},"loc":{"start":{"line":73,"column":18},"end":{"line":83,"column":3}},"line":73},"3":{"name":"getSessionId","decl":{"start":{"line":74,"column":19},"end":{"line":74,"column":31}},"loc":{"start":{"line":74,"column":34},"end":{"line":81,"column":5}},"line":74},"4":{"name":"(anonymous_4)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":29},"end":{"line":89,"column":5}},"line":86},"5":{"name":"(anonymous_5)","decl":{"start":{"line":93,"column":44},"end":{"line":93,"column":45}},"loc":{"start":{"line":93,"column":50},"end":{"line":95,"column":3}},"line":93},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":46},"end":{"line":97,"column":47}},"loc":{"start":{"line":97,"column":52},"end":{"line":103,"column":3}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":45,"column":8},"end":{"line":45,"column":60}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":15}},{"start":{"line":45,"column":19},"end":{"line":45,"column":60}}],"line":45},"2":{"loc":{"start":{"line":50,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":69,"column":5}},{"start":{"line":63,"column":11},"end":{"line":69,"column":5}}],"line":50},"3":{"loc":{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},{"start":{},"end":{}}],"line":54},"4":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":32}},"type":"binary-expr","locations":[{"start":{"line":59,"column":24},"end":{"line":59,"column":26}},{"start":{"line":59,"column":30},"end":{"line":59,"column":32}}],"line":59},"5":{"loc":{"start":{"line":77,"column":24},"end":{"line":77,"column":32}},"type":"binary-expr","locations":[{"start":{"line":77,"column":24},"end":{"line":77,"column":26}},{"start":{"line":77,"column":30},"end":{"line":77,"column":32}}],"line":77},"6":{"loc":{"start":{"line":110,"column":9},"end":{"line":114,"column":9}},"type":"binary-expr","locations":[{"start":{"line":110,"column":9},"end":{"line":110,"column":49}},{"start":{"line":111,"column":10},"end":{"line":113,"column":18}}],"line":110},"7":{"loc":{"start":{"line":141,"column":13},"end":{"line":151,"column":13}},"type":"binary-expr","locations":[{"start":{"line":141,"column":13},"end":{"line":141,"column":22}},{"start":{"line":142,"column":14},"end":{"line":150,"column":22}}],"line":141},"8":{"loc":{"start":{"line":200,"column":17},"end":{"line":206,"column":17}},"type":"binary-expr","locations":[{"start":{"line":200,"column":17},"end":{"line":200,"column":29}},{"start":{"line":201,"column":16},"end":{"line":205,"column":23}}],"line":200}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/ADOForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/ADOForm.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"1":{"start":{"line":28,"column":34},"end":{"line":28,"column":54}},"2":{"start":{"line":30,"column":21},"end":{"line":32,"column":8}},"3":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"4":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"5":{"start":{"line":34,"column":23},"end":{"line":58,"column":3}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":29}},"7":{"start":{"line":38,"column":24},"end":{"line":47,"column":8}},"8":{"start":{"line":48,"column":31},"end":{"line":48,"column":58}},"9":{"start":{"line":49,"column":6},"end":{"line":55,"column":7}},"10":{"start":{"line":50,"column":27},"end":{"line":53,"column":32}},"11":{"start":{"line":54,"column":8},"end":{"line":54,"column":29}},"12":{"start":{"line":60,"column":2},"end":{"line":139,"column":4}}},"fnMap":{"0":{"name":"ADOForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":31}},"loc":{"start":{"line":26,"column":10},"end":{"line":140,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":39},"end":{"line":30,"column":40}},"loc":{"start":{"line":30,"column":45},"end":{"line":32,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":17}},"loc":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":49},"end":{"line":56,"column":5}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":49,"column":6},"end":{"line":55,"column":7}},{"start":{},"end":{}}],"line":49},"1":{"loc":{"start":{"line":52,"column":22},"end":{"line":52,"column":72}},"type":"binary-expr","locations":[{"start":{"line":52,"column":22},"end":{"line":52,"column":54}},{"start":{"line":52,"column":58},"end":{"line":52,"column":72}}],"line":52},"2":{"loc":{"start":{"line":74,"column":19},"end":{"line":74,"column":39}},"type":"binary-expr","locations":[{"start":{"line":74,"column":19},"end":{"line":74,"column":33}},{"start":{"line":74,"column":37},"end":{"line":74,"column":39}}],"line":74},"3":{"loc":{"start":{"line":85,"column":28},"end":{"line":85,"column":45}},"type":"binary-expr","locations":[{"start":{"line":85,"column":28},"end":{"line":85,"column":39}},{"start":{"line":85,"column":43},"end":{"line":85,"column":45}}],"line":85},"4":{"loc":{"start":{"line":90,"column":19},"end":{"line":90,"column":38}},"type":"binary-expr","locations":[{"start":{"line":90,"column":19},"end":{"line":90,"column":32}},{"start":{"line":90,"column":36},"end":{"line":90,"column":38}}],"line":90},"5":{"loc":{"start":{"line":92,"column":18},"end":{"line":92,"column":48}},"type":"cond-expr","locations":[{"start":{"line":92,"column":29},"end":{"line":92,"column":39}},{"start":{"line":92,"column":42},"end":{"line":92,"column":48}}],"line":92},"6":{"loc":{"start":{"line":98,"column":22},"end":{"line":98,"column":68}},"type":"cond-expr","locations":[{"start":{"line":98,"column":33},"end":{"line":98,"column":50}},{"start":{"line":98,"column":53},"end":{"line":98,"column":68}}],"line":98},"7":{"loc":{"start":{"line":108,"column":28},"end":{"line":108,"column":43}},"type":"binary-expr","locations":[{"start":{"line":108,"column":28},"end":{"line":108,"column":37}},{"start":{"line":108,"column":41},"end":{"line":108,"column":43}}],"line":108},"8":{"loc":{"start":{"line":112,"column":54},"end":{"line":112,"column":73}},"type":"binary-expr","locations":[{"start":{"line":112,"column":54},"end":{"line":112,"column":67}},{"start":{"line":112,"column":71},"end":{"line":112,"column":73}}],"line":112},"9":{"loc":{"start":{"line":117,"column":19},"end":{"line":117,"column":40}},"type":"binary-expr","locations":[{"start":{"line":117,"column":19},"end":{"line":117,"column":34}},{"start":{"line":117,"column":38},"end":{"line":117,"column":40}}],"line":117},"10":{"loc":{"start":{"line":132,"column":60},"end":{"line":132,"column":90}},"type":"binary-expr","locations":[{"start":{"line":132,"column":60},"end":{"line":132,"column":74}},{"start":{"line":132,"column":78},"end":{"line":132,"column":90}}],"line":132},"11":{"loc":{"start":{"line":136,"column":9},"end":{"line":136,"column":101}},"type":"binary-expr","locations":[{"start":{"line":136,"column":9},"end":{"line":136,"column":19}},{"start":{"line":136,"column":23},"end":{"line":136,"column":101}}],"line":136}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/BitbucketForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/BitbucketForm.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"1":{"start":{"line":28,"column":34},"end":{"line":28,"column":54}},"2":{"start":{"line":30,"column":21},"end":{"line":32,"column":8}},"3":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"4":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"5":{"start":{"line":34,"column":23},"end":{"line":59,"column":3}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":29}},"7":{"start":{"line":38,"column":24},"end":{"line":48,"column":8}},"8":{"start":{"line":49,"column":31},"end":{"line":49,"column":58}},"9":{"start":{"line":50,"column":6},"end":{"line":56,"column":7}},"10":{"start":{"line":51,"column":27},"end":{"line":54,"column":32}},"11":{"start":{"line":55,"column":8},"end":{"line":55,"column":29}},"12":{"start":{"line":61,"column":2},"end":{"line":143,"column":4}}},"fnMap":{"0":{"name":"BitbucketForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":37}},"loc":{"start":{"line":26,"column":10},"end":{"line":144,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":39},"end":{"line":30,"column":40}},"loc":{"start":{"line":30,"column":45},"end":{"line":32,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":17}},"loc":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":49},"end":{"line":57,"column":5}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":6},"end":{"line":56,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":56,"column":7}},{"start":{},"end":{}}],"line":50},"1":{"loc":{"start":{"line":53,"column":22},"end":{"line":53,"column":72}},"type":"binary-expr","locations":[{"start":{"line":53,"column":22},"end":{"line":53,"column":54}},{"start":{"line":53,"column":58},"end":{"line":53,"column":72}}],"line":53},"2":{"loc":{"start":{"line":76,"column":28},"end":{"line":76,"column":45}},"type":"binary-expr","locations":[{"start":{"line":76,"column":28},"end":{"line":76,"column":39}},{"start":{"line":76,"column":43},"end":{"line":76,"column":45}}],"line":76},"3":{"loc":{"start":{"line":82,"column":19},"end":{"line":82,"column":40}},"type":"binary-expr","locations":[{"start":{"line":82,"column":19},"end":{"line":82,"column":34}},{"start":{"line":82,"column":38},"end":{"line":82,"column":40}}],"line":82},"4":{"loc":{"start":{"line":93,"column":19},"end":{"line":93,"column":38}},"type":"binary-expr","locations":[{"start":{"line":93,"column":19},"end":{"line":93,"column":32}},{"start":{"line":93,"column":36},"end":{"line":93,"column":38}}],"line":93},"5":{"loc":{"start":{"line":98,"column":18},"end":{"line":98,"column":48}},"type":"cond-expr","locations":[{"start":{"line":98,"column":29},"end":{"line":98,"column":39}},{"start":{"line":98,"column":42},"end":{"line":98,"column":48}}],"line":98},"6":{"loc":{"start":{"line":104,"column":22},"end":{"line":104,"column":68}},"type":"cond-expr","locations":[{"start":{"line":104,"column":33},"end":{"line":104,"column":50}},{"start":{"line":104,"column":53},"end":{"line":104,"column":68}}],"line":104},"7":{"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":43}},"type":"binary-expr","locations":[{"start":{"line":111,"column":28},"end":{"line":111,"column":37}},{"start":{"line":111,"column":41},"end":{"line":111,"column":43}}],"line":111},"8":{"loc":{"start":{"line":115,"column":28},"end":{"line":115,"column":47}},"type":"binary-expr","locations":[{"start":{"line":115,"column":28},"end":{"line":115,"column":41}},{"start":{"line":115,"column":45},"end":{"line":115,"column":47}}],"line":115},"9":{"loc":{"start":{"line":120,"column":19},"end":{"line":120,"column":40}},"type":"binary-expr","locations":[{"start":{"line":120,"column":19},"end":{"line":120,"column":34}},{"start":{"line":120,"column":38},"end":{"line":120,"column":40}}],"line":120},"10":{"loc":{"start":{"line":136,"column":60},"end":{"line":136,"column":90}},"type":"binary-expr","locations":[{"start":{"line":136,"column":60},"end":{"line":136,"column":74}},{"start":{"line":136,"column":78},"end":{"line":136,"column":90}}],"line":136},"11":{"loc":{"start":{"line":140,"column":9},"end":{"line":140,"column":101}},"type":"binary-expr","locations":[{"start":{"line":140,"column":9},"end":{"line":140,"column":19}},{"start":{"line":140,"column":23},"end":{"line":140,"column":101}}],"line":140}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GenericVersioned.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GenericVersioned.tsx","statementMap":{"0":{"start":{"line":38,"column":18},"end":{"line":50,"column":2}},"1":{"start":{"line":60,"column":16},"end":{"line":60,"column":43}},"2":{"start":{"line":61,"column":34},"end":{"line":61,"column":54}},"3":{"start":{"line":63,"column":21},"end":{"line":65,"column":8}},"4":{"start":{"line":64,"column":4},"end":{"line":64,"column":33}},"5":{"start":{"line":64,"column":26},"end":{"line":64,"column":31}},"6":{"start":{"line":67,"column":23},"end":{"line":84,"column":3}},"7":{"start":{"line":69,"column":6},"end":{"line":69,"column":29}},"8":{"start":{"line":70,"column":31},"end":{"line":70,"column":88}},"9":{"start":{"line":71,"column":6},"end":{"line":81,"column":7}},"10":{"start":{"line":72,"column":27},"end":{"line":76,"column":32}},"11":{"start":{"line":77,"column":8},"end":{"line":77,"column":29}},"12":{"start":{"line":80,"column":8},"end":{"line":80,"column":46}},"13":{"start":{"line":86,"column":28},"end":{"line":94,"column":3}},"14":{"start":{"line":87,"column":22},"end":{"line":92,"column":6}},"15":{"start":{"line":96,"column":15},"end":{"line":104,"column":38}},"16":{"start":{"line":98,"column":4},"end":{"line":102,"column":5}},"17":{"start":{"line":99,"column":26},"end":{"line":99,"column":64}},"18":{"start":{"line":100,"column":6},"end":{"line":100,"column":37}},"19":{"start":{"line":101,"column":6},"end":{"line":101,"column":25}},"20":{"start":{"line":103,"column":4},"end":{"line":103,"column":23}},"21":{"start":{"line":107,"column":18},"end":{"line":110,"column":3}},"22":{"start":{"line":108,"column":10},"end":{"line":108,"column":72}},"23":{"start":{"line":112,"column":23},"end":{"line":122,"column":3}},"24":{"start":{"line":114,"column":6},"end":{"line":119,"column":9}},"25":{"start":{"line":123,"column":25},"end":{"line":146,"column":3}},"26":{"start":{"line":126,"column":18},"end":{"line":126,"column":31}},"27":{"start":{"line":127,"column":24},"end":{"line":127,"column":32}},"28":{"start":{"line":129,"column":20},"end":{"line":129,"column":50}},"29":{"start":{"line":132,"column":27},"end":{"line":132,"column":41}},"30":{"start":{"line":135,"column":24},"end":{"line":138,"column":7}},"31":{"start":{"line":140,"column":6},"end":{"line":140,"column":33}},"32":{"start":{"line":142,"column":25},"end":{"line":142,"column":61}},"33":{"start":{"line":142,"column":47},"end":{"line":142,"column":60}},"34":{"start":{"line":143,"column":6},"end":{"line":143,"column":31}},"35":{"start":{"line":148,"column":22},"end":{"line":158,"column":3}},"36":{"start":{"line":150,"column":20},"end":{"line":150,"column":50}},"37":{"start":{"line":152,"column":29},"end":{"line":152,"column":41}},"38":{"start":{"line":153,"column":6},"end":{"line":153,"column":38}},"39":{"start":{"line":154,"column":25},"end":{"line":154,"column":68}},"40":{"start":{"line":154,"column":54},"end":{"line":154,"column":67}},"41":{"start":{"line":155,"column":6},"end":{"line":155,"column":31}},"42":{"start":{"line":160,"column":2},"end":{"line":235,"column":4}},"43":{"start":{"line":195,"column":12},"end":{"line":221,"column":18}}},"fnMap":{"0":{"name":"GenericVersionedForm","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":44}},"loc":{"start":{"line":59,"column":10},"end":{"line":236,"column":1}},"line":59},"1":{"name":"(anonymous_1)","decl":{"start":{"line":63,"column":33},"end":{"line":63,"column":34}},"loc":{"start":{"line":63,"column":39},"end":{"line":65,"column":3}},"line":63},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":16},"end":{"line":64,"column":17}},"loc":{"start":{"line":64,"column":26},"end":{"line":64,"column":31}},"line":64},"3":{"name":"(anonymous_3)","decl":{"start":{"line":68,"column":4},"end":{"line":68,"column":5}},"loc":{"start":{"line":68,"column":49},"end":{"line":82,"column":5}},"line":68},"4":{"name":"(anonymous_4)","decl":{"start":{"line":87,"column":4},"end":{"line":87,"column":5}},"loc":{"start":{"line":87,"column":22},"end":{"line":92,"column":6}},"line":87},"5":{"name":"(anonymous_5)","decl":{"start":{"line":96,"column":23},"end":{"line":96,"column":24}},"loc":{"start":{"line":96,"column":29},"end":{"line":104,"column":3}},"line":96},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":4},"end":{"line":108,"column":5}},"loc":{"start":{"line":108,"column":10},"end":{"line":108,"column":72}},"line":108},"7":{"name":"(anonymous_7)","decl":{"start":{"line":113,"column":4},"end":{"line":113,"column":5}},"loc":{"start":{"line":113,"column":29},"end":{"line":120,"column":5}},"line":113},"8":{"name":"(anonymous_8)","decl":{"start":{"line":124,"column":4},"end":{"line":124,"column":5}},"loc":{"start":{"line":124,"column":48},"end":{"line":144,"column":5}},"line":124},"9":{"name":"(anonymous_9)","decl":{"start":{"line":142,"column":40},"end":{"line":142,"column":41}},"loc":{"start":{"line":142,"column":47},"end":{"line":142,"column":60}},"line":142},"10":{"name":"(anonymous_10)","decl":{"start":{"line":149,"column":4},"end":{"line":149,"column":5}},"loc":{"start":{"line":149,"column":16},"end":{"line":156,"column":5}},"line":149},"11":{"name":"(anonymous_11)","decl":{"start":{"line":154,"column":47},"end":{"line":154,"column":48}},"loc":{"start":{"line":154,"column":54},"end":{"line":154,"column":67}},"line":154},"12":{"name":"(anonymous_12)","decl":{"start":{"line":194,"column":23},"end":{"line":194,"column":24}},"loc":{"start":{"line":195,"column":12},"end":{"line":221,"column":18}},"line":195}},"branchMap":{"0":{"loc":{"start":{"line":71,"column":6},"end":{"line":81,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":81,"column":7}},{"start":{"line":78,"column":13},"end":{"line":81,"column":7}}],"line":71},"1":{"loc":{"start":{"line":75,"column":22},"end":{"line":75,"column":72}},"type":"binary-expr","locations":[{"start":{"line":75,"column":22},"end":{"line":75,"column":54}},{"start":{"line":75,"column":58},"end":{"line":75,"column":72}}],"line":75},"2":{"loc":{"start":{"line":98,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":102,"column":5}},{"start":{},"end":{}}],"line":98},"3":{"loc":{"start":{"line":108,"column":15},"end":{"line":108,"column":45}},"type":"binary-expr","locations":[{"start":{"line":108,"column":15},"end":{"line":108,"column":39}},{"start":{"line":108,"column":43},"end":{"line":108,"column":45}}],"line":108},"4":{"loc":{"start":{"line":171,"column":50},"end":{"line":171,"column":67}},"type":"binary-expr","locations":[{"start":{"line":171,"column":50},"end":{"line":171,"column":61}},{"start":{"line":171,"column":65},"end":{"line":171,"column":67}}],"line":171},"5":{"loc":{"start":{"line":175,"column":28},"end":{"line":175,"column":43}},"type":"binary-expr","locations":[{"start":{"line":175,"column":28},"end":{"line":175,"column":37}},{"start":{"line":175,"column":41},"end":{"line":175,"column":43}}],"line":175},"6":{"loc":{"start":{"line":206,"column":24},"end":{"line":206,"column":54}},"type":"cond-expr","locations":[{"start":{"line":206,"column":35},"end":{"line":206,"column":45}},{"start":{"line":206,"column":48},"end":{"line":206,"column":54}}],"line":206},"7":{"loc":{"start":{"line":212,"column":28},"end":{"line":212,"column":74}},"type":"cond-expr","locations":[{"start":{"line":212,"column":39},"end":{"line":212,"column":56}},{"start":{"line":212,"column":59},"end":{"line":212,"column":74}}],"line":212},"8":{"loc":{"start":{"line":232,"column":9},"end":{"line":232,"column":101}},"type":"binary-expr","locations":[{"start":{"line":232,"column":9},"end":{"line":232,"column":19}},{"start":{"line":232,"column":23},"end":{"line":232,"column":101}}],"line":232}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GitForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GitForm.tsx","statementMap":{"0":{"start":{"line":31,"column":34},"end":{"line":31,"column":54}},"1":{"start":{"line":33,"column":21},"end":{"line":35,"column":8}},"2":{"start":{"line":34,"column":4},"end":{"line":34,"column":33}},"3":{"start":{"line":34,"column":26},"end":{"line":34,"column":31}},"4":{"start":{"line":37,"column":16},"end":{"line":37,"column":43}},"5":{"start":{"line":39,"column":23},"end":{"line":64,"column":3}},"6":{"start":{"line":41,"column":6},"end":{"line":41,"column":29}},"7":{"start":{"line":43,"column":24},"end":{"line":52,"column":8}},"8":{"start":{"line":54,"column":31},"end":{"line":54,"column":58}},"9":{"start":{"line":55,"column":6},"end":{"line":61,"column":7}},"10":{"start":{"line":56,"column":27},"end":{"line":59,"column":32}},"11":{"start":{"line":60,"column":8},"end":{"line":60,"column":29}},"12":{"start":{"line":66,"column":29},"end":{"line":66,"column":66}},"13":{"start":{"line":67,"column":27},"end":{"line":67,"column":119}},"14":{"start":{"line":68,"column":23},"end":{"line":68,"column":113}},"15":{"start":{"line":70,"column":2},"end":{"line":161,"column":4}}},"fnMap":{"0":{"name":"GitForm","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":31}},"loc":{"start":{"line":30,"column":10},"end":{"line":162,"column":1}},"line":30},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":39},"end":{"line":33,"column":40}},"loc":{"start":{"line":33,"column":45},"end":{"line":35,"column":3}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},"loc":{"start":{"line":34,"column":26},"end":{"line":34,"column":31}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":49},"end":{"line":62,"column":5}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":6},"end":{"line":61,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":61,"column":7}},{"start":{},"end":{}}],"line":55},"1":{"loc":{"start":{"line":58,"column":22},"end":{"line":58,"column":72}},"type":"binary-expr","locations":[{"start":{"line":58,"column":22},"end":{"line":58,"column":54}},{"start":{"line":58,"column":58},"end":{"line":58,"column":72}}],"line":58},"2":{"loc":{"start":{"line":67,"column":27},"end":{"line":67,"column":119}},"type":"cond-expr","locations":[{"start":{"line":67,"column":76},"end":{"line":67,"column":96}},{"start":{"line":67,"column":99},"end":{"line":67,"column":119}}],"line":67},"3":{"loc":{"start":{"line":68,"column":23},"end":{"line":68,"column":113}},"type":"cond-expr","locations":[{"start":{"line":68,"column":72},"end":{"line":68,"column":91}},{"start":{"line":68,"column":94},"end":{"line":68,"column":113}}],"line":68},"4":{"loc":{"start":{"line":89,"column":19},"end":{"line":89,"column":36}},"type":"binary-expr","locations":[{"start":{"line":89,"column":19},"end":{"line":89,"column":30}},{"start":{"line":89,"column":34},"end":{"line":89,"column":36}}],"line":89},"5":{"loc":{"start":{"line":101,"column":19},"end":{"line":101,"column":38}},"type":"binary-expr","locations":[{"start":{"line":101,"column":19},"end":{"line":101,"column":32}},{"start":{"line":101,"column":36},"end":{"line":101,"column":38}}],"line":101},"6":{"loc":{"start":{"line":103,"column":18},"end":{"line":103,"column":48}},"type":"cond-expr","locations":[{"start":{"line":103,"column":29},"end":{"line":103,"column":39}},{"start":{"line":103,"column":42},"end":{"line":103,"column":48}}],"line":103},"7":{"loc":{"start":{"line":109,"column":22},"end":{"line":109,"column":68}},"type":"cond-expr","locations":[{"start":{"line":109,"column":33},"end":{"line":109,"column":50}},{"start":{"line":109,"column":53},"end":{"line":109,"column":68}}],"line":109},"8":{"loc":{"start":{"line":117,"column":46},"end":{"line":117,"column":61}},"type":"binary-expr","locations":[{"start":{"line":117,"column":46},"end":{"line":117,"column":55}},{"start":{"line":117,"column":59},"end":{"line":117,"column":61}}],"line":117},"9":{"loc":{"start":{"line":121,"column":54},"end":{"line":121,"column":73}},"type":"binary-expr","locations":[{"start":{"line":121,"column":54},"end":{"line":121,"column":67}},{"start":{"line":121,"column":71},"end":{"line":121,"column":73}}],"line":121},"10":{"loc":{"start":{"line":129,"column":19},"end":{"line":129,"column":40}},"type":"binary-expr","locations":[{"start":{"line":129,"column":19},"end":{"line":129,"column":34}},{"start":{"line":129,"column":38},"end":{"line":129,"column":40}}],"line":129},"11":{"loc":{"start":{"line":142,"column":19},"end":{"line":142,"column":39}},"type":"binary-expr","locations":[{"start":{"line":142,"column":19},"end":{"line":142,"column":33}},{"start":{"line":142,"column":37},"end":{"line":142,"column":39}}],"line":142},"12":{"loc":{"start":{"line":154,"column":60},"end":{"line":154,"column":90}},"type":"binary-expr","locations":[{"start":{"line":154,"column":60},"end":{"line":154,"column":74}},{"start":{"line":154,"column":78},"end":{"line":154,"column":90}}],"line":154},"13":{"loc":{"start":{"line":158,"column":9},"end":{"line":158,"column":101}},"type":"binary-expr","locations":[{"start":{"line":158,"column":9},"end":{"line":158,"column":19}},{"start":{"line":158,"column":23},"end":{"line":158,"column":101}}],"line":158}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/JSONBinForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/JSONBinForm.tsx","statementMap":{"0":{"start":{"line":34,"column":16},"end":{"line":34,"column":43}},"1":{"start":{"line":35,"column":34},"end":{"line":35,"column":54}},"2":{"start":{"line":37,"column":21},"end":{"line":39,"column":8}},"3":{"start":{"line":38,"column":4},"end":{"line":38,"column":33}},"4":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"5":{"start":{"line":41,"column":23},"end":{"line":63,"column":3}},"6":{"start":{"line":43,"column":6},"end":{"line":43,"column":29}},"7":{"start":{"line":45,"column":24},"end":{"line":51,"column":8}},"8":{"start":{"line":52,"column":31},"end":{"line":52,"column":58}},"9":{"start":{"line":53,"column":6},"end":{"line":60,"column":7}},"10":{"start":{"line":54,"column":27},"end":{"line":58,"column":32}},"11":{"start":{"line":59,"column":8},"end":{"line":59,"column":29}},"12":{"start":{"line":65,"column":2},"end":{"line":122,"column":4}}},"fnMap":{"0":{"name":"JSONBinForm","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":35}},"loc":{"start":{"line":33,"column":10},"end":{"line":123,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":39},"end":{"line":37,"column":40}},"loc":{"start":{"line":37,"column":45},"end":{"line":39,"column":3}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},"loc":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":49},"end":{"line":61,"column":5}},"line":42}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":15}},"type":"default-arg","locations":[{"start":{"line":26,"column":10},"end":{"line":26,"column":15}}],"line":26},"1":{"loc":{"start":{"line":53,"column":6},"end":{"line":60,"column":7}},"type":"if","locations":[{"start":{"line":53,"column":6},"end":{"line":60,"column":7}},{"start":{},"end":{}}],"line":53},"2":{"loc":{"start":{"line":57,"column":22},"end":{"line":57,"column":72}},"type":"binary-expr","locations":[{"start":{"line":57,"column":22},"end":{"line":57,"column":54}},{"start":{"line":57,"column":58},"end":{"line":57,"column":72}}],"line":57},"3":{"loc":{"start":{"line":80,"column":19},"end":{"line":80,"column":36}},"type":"binary-expr","locations":[{"start":{"line":80,"column":19},"end":{"line":80,"column":30}},{"start":{"line":80,"column":34},"end":{"line":80,"column":36}}],"line":80},"4":{"loc":{"start":{"line":91,"column":19},"end":{"line":91,"column":38}},"type":"binary-expr","locations":[{"start":{"line":91,"column":19},"end":{"line":91,"column":32}},{"start":{"line":91,"column":36},"end":{"line":91,"column":38}}],"line":91},"5":{"loc":{"start":{"line":93,"column":18},"end":{"line":93,"column":48}},"type":"cond-expr","locations":[{"start":{"line":93,"column":29},"end":{"line":93,"column":39}},{"start":{"line":93,"column":42},"end":{"line":93,"column":48}}],"line":93},"6":{"loc":{"start":{"line":99,"column":22},"end":{"line":99,"column":68}},"type":"cond-expr","locations":[{"start":{"line":99,"column":33},"end":{"line":99,"column":50}},{"start":{"line":99,"column":53},"end":{"line":99,"column":68}}],"line":99},"7":{"loc":{"start":{"line":106,"column":36},"end":{"line":106,"column":62}},"type":"cond-expr","locations":[{"start":{"line":106,"column":44},"end":{"line":106,"column":57}},{"start":{"line":106,"column":60},"end":{"line":106,"column":62}}],"line":106},"8":{"loc":{"start":{"line":107,"column":46},"end":{"line":107,"column":61}},"type":"binary-expr","locations":[{"start":{"line":107,"column":46},"end":{"line":107,"column":55}},{"start":{"line":107,"column":59},"end":{"line":107,"column":61}}],"line":107},"9":{"loc":{"start":{"line":115,"column":60},"end":{"line":115,"column":90}},"type":"binary-expr","locations":[{"start":{"line":115,"column":60},"end":{"line":115,"column":74}},{"start":{"line":115,"column":78},"end":{"line":115,"column":90}}],"line":115},"10":{"loc":{"start":{"line":119,"column":9},"end":{"line":119,"column":101}},"type":"binary-expr","locations":[{"start":{"line":119,"column":9},"end":{"line":119,"column":19}},{"start":{"line":119,"column":23},"end":{"line":119,"column":101}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/SupernovaForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/SupernovaForm.tsx","statementMap":{"0":{"start":{"line":26,"column":18},"end":{"line":26,"column":55}},"1":{"start":{"line":27,"column":34},"end":{"line":27,"column":54}},"2":{"start":{"line":29,"column":21},"end":{"line":31,"column":8}},"3":{"start":{"line":30,"column":4},"end":{"line":30,"column":33}},"4":{"start":{"line":30,"column":26},"end":{"line":30,"column":31}},"5":{"start":{"line":33,"column":16},"end":{"line":33,"column":43}},"6":{"start":{"line":35,"column":23},"end":{"line":57,"column":3}},"7":{"start":{"line":37,"column":6},"end":{"line":37,"column":29}},"8":{"start":{"line":39,"column":24},"end":{"line":46,"column":8}},"9":{"start":{"line":47,"column":31},"end":{"line":47,"column":58}},"10":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"11":{"start":{"line":49,"column":27},"end":{"line":52,"column":32}},"12":{"start":{"line":53,"column":8},"end":{"line":53,"column":29}},"13":{"start":{"line":59,"column":30},"end":{"line":65,"column":3}},"14":{"start":{"line":62,"column":6},"end":{"line":62,"column":102}},"15":{"start":{"line":67,"column":2},"end":{"line":131,"column":4}}},"fnMap":{"0":{"name":"SupernovaForm","decl":{"start":{"line":23,"column":24},"end":{"line":23,"column":37}},"loc":{"start":{"line":25,"column":10},"end":{"line":132,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":39},"end":{"line":29,"column":40}},"loc":{"start":{"line":29,"column":45},"end":{"line":31,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":16},"end":{"line":30,"column":17}},"loc":{"start":{"line":30,"column":26},"end":{"line":30,"column":31}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":49},"end":{"line":55,"column":5}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":70},"end":{"line":63,"column":5}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},{"start":{},"end":{}}],"line":48},"1":{"loc":{"start":{"line":51,"column":22},"end":{"line":51,"column":72}},"type":"binary-expr","locations":[{"start":{"line":51,"column":22},"end":{"line":51,"column":54}},{"start":{"line":51,"column":58},"end":{"line":51,"column":72}}],"line":51},"2":{"loc":{"start":{"line":78,"column":50},"end":{"line":78,"column":67}},"type":"binary-expr","locations":[{"start":{"line":78,"column":50},"end":{"line":78,"column":61}},{"start":{"line":78,"column":65},"end":{"line":78,"column":67}}],"line":78},"3":{"loc":{"start":{"line":86,"column":19},"end":{"line":86,"column":38}},"type":"binary-expr","locations":[{"start":{"line":86,"column":19},"end":{"line":86,"column":32}},{"start":{"line":86,"column":36},"end":{"line":86,"column":38}}],"line":86},"4":{"loc":{"start":{"line":90,"column":18},"end":{"line":90,"column":48}},"type":"cond-expr","locations":[{"start":{"line":90,"column":29},"end":{"line":90,"column":39}},{"start":{"line":90,"column":42},"end":{"line":90,"column":48}}],"line":90},"5":{"loc":{"start":{"line":96,"column":22},"end":{"line":96,"column":68}},"type":"cond-expr","locations":[{"start":{"line":96,"column":33},"end":{"line":96,"column":50}},{"start":{"line":96,"column":53},"end":{"line":96,"column":68}}],"line":96},"6":{"loc":{"start":{"line":106,"column":19},"end":{"line":106,"column":47}},"type":"binary-expr","locations":[{"start":{"line":106,"column":19},"end":{"line":106,"column":41}},{"start":{"line":106,"column":45},"end":{"line":106,"column":47}}],"line":106},"7":{"loc":{"start":{"line":114,"column":49},"end":{"line":114,"column":69}},"type":"binary-expr","locations":[{"start":{"line":114,"column":49},"end":{"line":114,"column":63}},{"start":{"line":114,"column":67},"end":{"line":114,"column":69}}],"line":114},"8":{"loc":{"start":{"line":123,"column":22},"end":{"line":123,"column":98}},"type":"binary-expr","locations":[{"start":{"line":123,"column":22},"end":{"line":123,"column":36}},{"start":{"line":123,"column":40},"end":{"line":123,"column":52}},{"start":{"line":123,"column":56},"end":{"line":123,"column":79}},{"start":{"line":123,"column":83},"end":{"line":123,"column":98}}],"line":123},"9":{"loc":{"start":{"line":128,"column":9},"end":{"line":128,"column":101}},"type":"binary-expr","locations":[{"start":{"line":128,"column":9},"end":{"line":128,"column":19}},{"start":{"line":128,"column":23},"end":{"line":128,"column":101}}],"line":128}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/TokensStudioForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/TokensStudioForm.tsx","statementMap":{"0":{"start":{"line":30,"column":31},"end":{"line":33,"column":2}},"1":{"start":{"line":48,"column":16},"end":{"line":48,"column":43}},"2":{"start":{"line":49,"column":46},"end":{"line":49,"column":81}},"3":{"start":{"line":50,"column":32},"end":{"line":50,"column":66}},"4":{"start":{"line":51,"column":34},"end":{"line":51,"column":54}},"5":{"start":{"line":52,"column":38},"end":{"line":52,"column":58}},"6":{"start":{"line":53,"column":19},"end":{"line":53,"column":42}},"7":{"start":{"line":55,"column":21},"end":{"line":57,"column":8}},"8":{"start":{"line":56,"column":4},"end":{"line":56,"column":33}},"9":{"start":{"line":56,"column":26},"end":{"line":56,"column":31}},"10":{"start":{"line":59,"column":23},"end":{"line":81,"column":3}},"11":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"12":{"start":{"line":63,"column":24},"end":{"line":70,"column":8}},"13":{"start":{"line":71,"column":31},"end":{"line":71,"column":58}},"14":{"start":{"line":72,"column":6},"end":{"line":78,"column":7}},"15":{"start":{"line":73,"column":27},"end":{"line":76,"column":32}},"16":{"start":{"line":77,"column":8},"end":{"line":77,"column":29}},"17":{"start":{"line":83,"column":2},"end":{"line":87,"column":15}},"18":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"19":{"start":{"line":85,"column":6},"end":{"line":85,"column":27}},"20":{"start":{"line":89,"column":30},"end":{"line":91,"column":8}},"21":{"start":{"line":90,"column":4},"end":{"line":90,"column":25}},"22":{"start":{"line":93,"column":23},"end":{"line":110,"column":31}},"23":{"start":{"line":94,"column":4},"end":{"line":109,"column":5}},"24":{"start":{"line":95,"column":21},"end":{"line":99,"column":8}},"25":{"start":{"line":100,"column":21},"end":{"line":102,"column":8}},"26":{"start":{"line":103,"column":6},"end":{"line":106,"column":7}},"27":{"start":{"line":104,"column":8},"end":{"line":104,"column":69}},"28":{"start":{"line":105,"column":8},"end":{"line":105,"column":61}},"29":{"start":{"line":108,"column":6},"end":{"line":108,"column":95}},"30":{"start":{"line":112,"column":2},"end":{"line":116,"column":36}},"31":{"start":{"line":113,"column":4},"end":{"line":115,"column":5}},"32":{"start":{"line":114,"column":6},"end":{"line":114,"column":21}},"33":{"start":{"line":118,"column":21},"end":{"line":124,"column":3}},"34":{"start":{"line":119,"column":10},"end":{"line":122,"column":7}},"35":{"start":{"line":119,"column":33},"end":{"line":122,"column":5}},"36":{"start":{"line":126,"column":22},"end":{"line":131,"column":3}},"37":{"start":{"line":128,"column":6},"end":{"line":128,"column":53}},"38":{"start":{"line":133,"column":25},"end":{"line":141,"column":29}},"39":{"start":{"line":134,"column":4},"end":{"line":134,"column":28}},"40":{"start":{"line":134,"column":18},"end":{"line":134,"column":28}},"41":{"start":{"line":135,"column":28},"end":{"line":135,"column":74}},"42":{"start":{"line":135,"column":50},"end":{"line":135,"column":73}},"43":{"start":{"line":136,"column":4},"end":{"line":136,"column":36}},"44":{"start":{"line":136,"column":26},"end":{"line":136,"column":36}},"45":{"start":{"line":137,"column":4},"end":{"line":140,"column":8}},"46":{"start":{"line":137,"column":59},"end":{"line":140,"column":5}},"47":{"start":{"line":143,"column":22},"end":{"line":143,"column":75}},"48":{"start":{"line":143,"column":48},"end":{"line":143,"column":74}},"49":{"start":{"line":145,"column":26},"end":{"line":145,"column":88}},"50":{"start":{"line":145,"column":60},"end":{"line":145,"column":87}},"51":{"start":{"line":147,"column":26},"end":{"line":152,"column":3}},"52":{"start":{"line":149,"column":6},"end":{"line":149,"column":50}},"53":{"start":{"line":154,"column":2},"end":{"line":266,"column":4}},"54":{"start":{"line":228,"column":20},"end":{"line":230,"column":34}},"55":{"start":{"line":246,"column":20},"end":{"line":248,"column":34}}},"fnMap":{"0":{"name":"TokensStudioForm","decl":{"start":{"line":45,"column":24},"end":{"line":45,"column":40}},"loc":{"start":{"line":47,"column":10},"end":{"line":267,"column":1}},"line":47},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":39},"end":{"line":55,"column":40}},"loc":{"start":{"line":55,"column":45},"end":{"line":57,"column":3}},"line":55},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":17}},"loc":{"start":{"line":56,"column":26},"end":{"line":56,"column":31}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":49},"end":{"line":79,"column":5}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":83,"column":18},"end":{"line":83,"column":19}},"loc":{"start":{"line":83,"column":24},"end":{"line":87,"column":3}},"line":83},"5":{"name":"(anonymous_5)","decl":{"start":{"line":89,"column":48},"end":{"line":89,"column":49}},"loc":{"start":{"line":89,"column":54},"end":{"line":91,"column":3}},"line":89},"6":{"name":"(anonymous_6)","decl":{"start":{"line":93,"column":41},"end":{"line":93,"column":42}},"loc":{"start":{"line":93,"column":53},"end":{"line":110,"column":3}},"line":93},"7":{"name":"(anonymous_7)","decl":{"start":{"line":112,"column":12},"end":{"line":112,"column":13}},"loc":{"start":{"line":112,"column":18},"end":{"line":116,"column":3}},"line":112},"8":{"name":"(anonymous_8)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":10},"end":{"line":122,"column":7}},"line":119},"9":{"name":"(anonymous_9)","decl":{"start":{"line":119,"column":23},"end":{"line":119,"column":24}},"loc":{"start":{"line":119,"column":33},"end":{"line":122,"column":5}},"line":119},"10":{"name":"(anonymous_10)","decl":{"start":{"line":127,"column":4},"end":{"line":127,"column":5}},"loc":{"start":{"line":127,"column":23},"end":{"line":129,"column":5}},"line":127},"11":{"name":"(anonymous_11)","decl":{"start":{"line":133,"column":39},"end":{"line":133,"column":40}},"loc":{"start":{"line":133,"column":45},"end":{"line":141,"column":3}},"line":133},"12":{"name":"(anonymous_12)","decl":{"start":{"line":135,"column":41},"end":{"line":135,"column":42}},"loc":{"start":{"line":135,"column":50},"end":{"line":135,"column":73}},"line":135},"13":{"name":"(anonymous_13)","decl":{"start":{"line":137,"column":45},"end":{"line":137,"column":46}},"loc":{"start":{"line":137,"column":59},"end":{"line":140,"column":5}},"line":137},"14":{"name":"(anonymous_14)","decl":{"start":{"line":143,"column":39},"end":{"line":143,"column":40}},"loc":{"start":{"line":143,"column":48},"end":{"line":143,"column":74}},"line":143},"15":{"name":"(anonymous_15)","decl":{"start":{"line":145,"column":47},"end":{"line":145,"column":48}},"loc":{"start":{"line":145,"column":60},"end":{"line":145,"column":87}},"line":145},"16":{"name":"(anonymous_16)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":23},"end":{"line":150,"column":5}},"line":148},"17":{"name":"(anonymous_17)","decl":{"start":{"line":227,"column":35},"end":{"line":227,"column":36}},"loc":{"start":{"line":228,"column":20},"end":{"line":230,"column":34}},"line":228},"18":{"name":"(anonymous_18)","decl":{"start":{"line":245,"column":39},"end":{"line":245,"column":40}},"loc":{"start":{"line":246,"column":20},"end":{"line":248,"column":34}},"line":246}},"branchMap":{"0":{"loc":{"start":{"line":72,"column":6},"end":{"line":78,"column":7}},"type":"if","locations":[{"start":{"line":72,"column":6},"end":{"line":78,"column":7}},{"start":{},"end":{}}],"line":72},"1":{"loc":{"start":{"line":75,"column":22},"end":{"line":75,"column":72}},"type":"binary-expr","locations":[{"start":{"line":75,"column":22},"end":{"line":75,"column":54}},{"start":{"line":75,"column":58},"end":{"line":75,"column":72}}],"line":75},"2":{"loc":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":84},"3":{"loc":{"start":{"line":96,"column":14},"end":{"line":96,"column":68}},"type":"binary-expr","locations":[{"start":{"line":96,"column":14},"end":{"line":96,"column":48}},{"start":{"line":96,"column":52},"end":{"line":96,"column":68}}],"line":96},"4":{"loc":{"start":{"line":103,"column":6},"end":{"line":106,"column":7}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":106,"column":7}},{"start":{},"end":{}}],"line":103},"5":{"loc":{"start":{"line":103,"column":10},"end":{"line":103,"column":53}},"type":"binary-expr","locations":[{"start":{"line":103,"column":10},"end":{"line":103,"column":36}},{"start":{"line":103,"column":40},"end":{"line":103,"column":53}}],"line":103},"6":{"loc":{"start":{"line":113,"column":4},"end":{"line":115,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":115,"column":5}},{"start":{},"end":{}}],"line":113},"7":{"loc":{"start":{"line":134,"column":4},"end":{"line":134,"column":28}},"type":"if","locations":[{"start":{"line":134,"column":4},"end":{"line":134,"column":28}},{"start":{},"end":{}}],"line":134},"8":{"loc":{"start":{"line":136,"column":4},"end":{"line":136,"column":36}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":136,"column":36}},{"start":{},"end":{}}],"line":136},"9":{"loc":{"start":{"line":154,"column":9},"end":{"line":266,"column":3}},"type":"cond-expr","locations":[{"start":{"line":155,"column":4},"end":{"line":169,"column":12}},{"start":{"line":171,"column":4},"end":{"line":265,"column":11}}],"line":154},"10":{"loc":{"start":{"line":196,"column":50},"end":{"line":196,"column":67}},"type":"binary-expr","locations":[{"start":{"line":196,"column":50},"end":{"line":196,"column":61}},{"start":{"line":196,"column":65},"end":{"line":196,"column":67}}],"line":196},"11":{"loc":{"start":{"line":202,"column":19},"end":{"line":202,"column":38}},"type":"binary-expr","locations":[{"start":{"line":202,"column":19},"end":{"line":202,"column":32}},{"start":{"line":202,"column":36},"end":{"line":202,"column":38}}],"line":202},"12":{"loc":{"start":{"line":208,"column":18},"end":{"line":208,"column":48}},"type":"cond-expr","locations":[{"start":{"line":208,"column":29},"end":{"line":208,"column":39}},{"start":{"line":208,"column":42},"end":{"line":208,"column":48}}],"line":208},"13":{"loc":{"start":{"line":214,"column":22},"end":{"line":214,"column":68}},"type":"cond-expr","locations":[{"start":{"line":214,"column":33},"end":{"line":214,"column":50}},{"start":{"line":214,"column":53},"end":{"line":214,"column":68}}],"line":214},"14":{"loc":{"start":{"line":218,"column":11},"end":{"line":218,"column":64}},"type":"binary-expr","locations":[{"start":{"line":218,"column":11},"end":{"line":218,"column":25}},{"start":{"line":218,"column":29},"end":{"line":218,"column":64}}],"line":218},"15":{"loc":{"start":{"line":220,"column":9},"end":{"line":236,"column":9}},"type":"binary-expr","locations":[{"start":{"line":220,"column":9},"end":{"line":220,"column":31}},{"start":{"line":221,"column":10},"end":{"line":235,"column":18}}],"line":220},"16":{"loc":{"start":{"line":224,"column":29},"end":{"line":224,"column":47}},"type":"binary-expr","locations":[{"start":{"line":224,"column":29},"end":{"line":224,"column":41}},{"start":{"line":224,"column":45},"end":{"line":224,"column":47}}],"line":224},"17":{"loc":{"start":{"line":225,"column":39},"end":{"line":225,"column":85}},"type":"binary-expr","locations":[{"start":{"line":225,"column":39},"end":{"line":225,"column":57}},{"start":{"line":225,"column":61},"end":{"line":225,"column":85}}],"line":225},"18":{"loc":{"start":{"line":238,"column":9},"end":{"line":254,"column":9}},"type":"binary-expr","locations":[{"start":{"line":238,"column":9},"end":{"line":238,"column":35}},{"start":{"line":239,"column":10},"end":{"line":253,"column":18}}],"line":238},"19":{"loc":{"start":{"line":242,"column":29},"end":{"line":242,"column":44}},"type":"binary-expr","locations":[{"start":{"line":242,"column":29},"end":{"line":242,"column":38}},{"start":{"line":242,"column":42},"end":{"line":242,"column":44}}],"line":242},"20":{"loc":{"start":{"line":243,"column":39},"end":{"line":243,"column":83}},"type":"binary-expr","locations":[{"start":{"line":243,"column":39},"end":{"line":243,"column":61}},{"start":{"line":243,"column":65},"end":{"line":243,"column":83}}],"line":243},"21":{"loc":{"start":{"line":259,"column":60},"end":{"line":259,"column":90}},"type":"binary-expr","locations":[{"start":{"line":259,"column":60},"end":{"line":259,"column":74}},{"start":{"line":259,"column":78},"end":{"line":259,"column":90}}],"line":259},"22":{"loc":{"start":{"line":263,"column":9},"end":{"line":263,"column":101}},"type":"binary-expr","locations":[{"start":{"line":263,"column":9},"end":{"line":263,"column":19}},{"start":{"line":263,"column":23},"end":{"line":263,"column":101}}],"line":263}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/URLForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/URLForm.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"1":{"start":{"line":29,"column":34},"end":{"line":29,"column":55}},"2":{"start":{"line":31,"column":21},"end":{"line":33,"column":8}},"3":{"start":{"line":32,"column":4},"end":{"line":32,"column":33}},"4":{"start":{"line":32,"column":26},"end":{"line":32,"column":31}},"5":{"start":{"line":35,"column":23},"end":{"line":57,"column":3}},"6":{"start":{"line":37,"column":6},"end":{"line":37,"column":29}},"7":{"start":{"line":39,"column":24},"end":{"line":45,"column":8}},"8":{"start":{"line":46,"column":31},"end":{"line":46,"column":58}},"9":{"start":{"line":47,"column":6},"end":{"line":54,"column":7}},"10":{"start":{"line":48,"column":27},"end":{"line":52,"column":32}},"11":{"start":{"line":53,"column":8},"end":{"line":53,"column":29}},"12":{"start":{"line":59,"column":2},"end":{"line":115,"column":4}}},"fnMap":{"0":{"name":"URLForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":31}},"loc":{"start":{"line":26,"column":10},"end":{"line":116,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":39},"end":{"line":31,"column":40}},"loc":{"start":{"line":31,"column":45},"end":{"line":33,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":17}},"loc":{"start":{"line":32,"column":26},"end":{"line":32,"column":31}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":49},"end":{"line":55,"column":5}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":47,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":47,"column":6},"end":{"line":54,"column":7}},{"start":{},"end":{}}],"line":47},"1":{"loc":{"start":{"line":51,"column":22},"end":{"line":51,"column":72}},"type":"binary-expr","locations":[{"start":{"line":51,"column":22},"end":{"line":51,"column":54}},{"start":{"line":51,"column":58},"end":{"line":51,"column":72}}],"line":51},"2":{"loc":{"start":{"line":74,"column":19},"end":{"line":74,"column":36}},"type":"binary-expr","locations":[{"start":{"line":74,"column":19},"end":{"line":74,"column":30}},{"start":{"line":74,"column":34},"end":{"line":74,"column":36}}],"line":74},"3":{"loc":{"start":{"line":83,"column":46},"end":{"line":83,"column":61}},"type":"binary-expr","locations":[{"start":{"line":83,"column":46},"end":{"line":83,"column":55}},{"start":{"line":83,"column":59},"end":{"line":83,"column":61}}],"line":83},"4":{"loc":{"start":{"line":90,"column":19},"end":{"line":90,"column":38}},"type":"binary-expr","locations":[{"start":{"line":90,"column":19},"end":{"line":90,"column":32}},{"start":{"line":90,"column":36},"end":{"line":90,"column":38}}],"line":90},"5":{"loc":{"start":{"line":92,"column":18},"end":{"line":92,"column":48}},"type":"cond-expr","locations":[{"start":{"line":92,"column":29},"end":{"line":92,"column":39}},{"start":{"line":92,"column":42},"end":{"line":92,"column":48}}],"line":92},"6":{"loc":{"start":{"line":98,"column":22},"end":{"line":98,"column":68}},"type":"cond-expr","locations":[{"start":{"line":98,"column":33},"end":{"line":98,"column":50}},{"start":{"line":98,"column":53},"end":{"line":98,"column":68}}],"line":98},"7":{"loc":{"start":{"line":108,"column":60},"end":{"line":108,"column":90}},"type":"binary-expr","locations":[{"start":{"line":108,"column":60},"end":{"line":108,"column":74}},{"start":{"line":108,"column":78},"end":{"line":108,"column":90}}],"line":108},"8":{"loc":{"start":{"line":112,"column":9},"end":{"line":112,"column":101}},"type":"binary-expr","locations":[{"start":{"line":112,"column":9},"end":{"line":112,"column":19}},{"start":{"line":112,"column":23},"end":{"line":112,"column":101}}],"line":112}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/types.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/types.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragGrabber.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragGrabber.tsx","statementMap":{"0":{"start":{"line":13,"column":35},"end":{"line":18,"column":3}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":48}},"2":{"start":{"line":15,"column":23},"end":{"line":15,"column":48}},"3":{"start":{"line":20,"column":2},"end":{"line":26,"column":4}}},"fnMap":{"0":{"name":"DragGrabber","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":27}},"loc":{"start":{"line":12,"column":84},"end":{"line":27,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":15},"end":{"line":16,"column":5}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":39},"end":{"line":12,"column":57}},"type":"default-arg","locations":[{"start":{"line":12,"column":52},"end":{"line":12,"column":57}}],"line":12},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":48}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":48}},{"start":{},"end":{}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragItem.tsx","statementMap":{"0":{"start":{"line":16,"column":12},"end":{"line":16,"column":29}},"1":{"start":{"line":17,"column":20},"end":{"line":17,"column":38}},"2":{"start":{"line":18,"column":19},"end":{"line":18,"column":36}},"3":{"start":{"line":19,"column":25},"end":{"line":19,"column":60}},"4":{"start":{"line":20,"column":23},"end":{"line":20,"column":64}},"5":{"start":{"line":20,"column":38},"end":{"line":20,"column":50}},"6":{"start":{"line":22,"column":2},"end":{"line":39,"column":6}}},"fnMap":{"0":{"name":"DragItem","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":24}},"loc":{"start":{"line":15,"column":58},"end":{"line":40,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":31},"end":{"line":20,"column":32}},"loc":{"start":{"line":20,"column":38},"end":{"line":20,"column":50}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":9},"end":{"line":39,"column":5}},"type":"cond-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":33,"column":37}},{"start":{"line":36,"column":6},"end":{"line":38,"column":14}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledBeforeFlex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledBeforeFlex.tsx","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledCheckbox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledCheckbox.tsx","statementMap":{"0":{"start":{"line":4,"column":30},"end":{"line":27,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledDragButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledDragButton.tsx","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":53,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledGrabber.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledGrabber.tsx","statementMap":{"0":{"start":{"line":4,"column":29},"end":{"line":24,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/TabButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/TabButton.tsx","statementMap":{"0":{"start":{"line":21,"column":21},"end":{"line":57,"column":2}},"1":{"start":{"line":62,"column":18},"end":{"line":65,"column":33}},"2":{"start":{"line":63,"column":4},"end":{"line":63,"column":57}},"3":{"start":{"line":64,"column":4},"end":{"line":64,"column":19}},"4":{"start":{"line":67,"column":2},"end":{"line":95,"column":4}}},"fnMap":{"0":{"name":"TabButton","decl":{"start":{"line":59,"column":16},"end":{"line":59,"column":25}},"loc":{"start":{"line":61,"column":13},"end":{"line":96,"column":1}},"line":61},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":36},"end":{"line":62,"column":37}},"loc":{"start":{"line":62,"column":42},"end":{"line":65,"column":3}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":78,"column":41},"end":{"line":78,"column":54}},"type":"binary-expr","locations":[{"start":{"line":78,"column":41},"end":{"line":78,"column":48}},{"start":{"line":78,"column":52},"end":{"line":78,"column":54}}],"line":78},"1":{"loc":{"start":{"line":80,"column":11},"end":{"line":80,"column":41}},"type":"binary-expr","locations":[{"start":{"line":80,"column":11},"end":{"line":80,"column":24}},{"start":{"line":80,"column":28},"end":{"line":80,"column":41}}],"line":80},"2":{"loc":{"start":{"line":81,"column":11},"end":{"line":90,"column":11}},"type":"binary-expr","locations":[{"start":{"line":81,"column":11},"end":{"line":81,"column":16}},{"start":{"line":82,"column":10},"end":{"line":89,"column":16}}],"line":81},"3":{"loc":{"start":{"line":91,"column":11},"end":{"line":91,"column":37}},"type":"binary-expr","locations":[{"start":{"line":91,"column":11},"end":{"line":91,"column":22}},{"start":{"line":91,"column":26},"end":{"line":91,"column":37}}],"line":91}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/ThemeSelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/ThemeSelector.tsx","statementMap":{"0":{"start":{"line":21,"column":98},"end":{"line":152,"column":1}},"1":{"start":{"line":22,"column":20},"end":{"line":22,"column":34}},"2":{"start":{"line":23,"column":19},"end":{"line":23,"column":42}},"3":{"start":{"line":24,"column":16},"end":{"line":24,"column":42}},"4":{"start":{"line":25,"column":22},"end":{"line":25,"column":54}},"5":{"start":{"line":26,"column":26},"end":{"line":26,"column":59}},"6":{"start":{"line":27,"column":21},"end":{"line":27,"column":142}},"7":{"start":{"line":27,"column":36},"end":{"line":27,"column":121}},"8":{"start":{"line":27,"column":79},"end":{"line":27,"column":118}},"9":{"start":{"line":29,"column":27},"end":{"line":31,"column":16}},"10":{"start":{"line":30,"column":4},"end":{"line":30,"column":88}},"11":{"start":{"line":33,"column":28},"end":{"line":47,"column":46}},"12":{"start":{"line":34,"column":25},"end":{"line":34,"column":116}},"13":{"start":{"line":34,"column":57},"end":{"line":34,"column":80}},"14":{"start":{"line":35,"column":22},"end":{"line":35,"column":33}},"15":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"16":{"start":{"line":37,"column":6},"end":{"line":37,"column":37}},"17":{"start":{"line":39,"column":6},"end":{"line":39,"column":40}},"18":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"19":{"start":{"line":42,"column":6},"end":{"line":42,"column":46}},"20":{"start":{"line":44,"column":6},"end":{"line":44,"column":27}},"21":{"start":{"line":46,"column":4},"end":{"line":46,"column":95}},"22":{"start":{"line":49,"column":29},"end":{"line":51,"column":16}},"23":{"start":{"line":50,"column":4},"end":{"line":50,"column":52}},"24":{"start":{"line":53,"column":27},"end":{"line":63,"column":36}},"25":{"start":{"line":54,"column":4},"end":{"line":61,"column":5}},"26":{"start":{"line":55,"column":6},"end":{"line":55,"column":63}},"27":{"start":{"line":55,"column":49},"end":{"line":55,"column":63}},"28":{"start":{"line":56,"column":6},"end":{"line":59,"column":7}},"29":{"start":{"line":57,"column":28},"end":{"line":57,"column":104}},"30":{"start":{"line":57,"column":64},"end":{"line":57,"column":103}},"31":{"start":{"line":58,"column":8},"end":{"line":58,"column":59}},"32":{"start":{"line":60,"column":6},"end":{"line":60,"column":57}},"33":{"start":{"line":62,"column":4},"end":{"line":62,"column":18}},"34":{"start":{"line":65,"column":28},"end":{"line":82,"column":26}},"35":{"start":{"line":65,"column":70},"end":{"line":82,"column":4}},"36":{"start":{"line":66,"column":25},"end":{"line":66,"column":55}},"37":{"start":{"line":66,"column":31},"end":{"line":66,"column":55}},"38":{"start":{"line":67,"column":4},"end":{"line":81,"column":6}},"39":{"start":{"line":84,"column":32},"end":{"line":102,"column":67}},"40":{"start":{"line":85,"column":4},"end":{"line":101,"column":10}},"41":{"start":{"line":88,"column":33},"end":{"line":88,"column":212}},"42":{"start":{"line":88,"column":109},"end":{"line":88,"column":144}},"43":{"start":{"line":88,"column":184},"end":{"line":88,"column":210}},"44":{"start":{"line":89,"column":10},"end":{"line":98,"column":12}},"45":{"start":{"line":104,"column":2},"end":{"line":151,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":98},"end":{"line":21,"column":99}},"loc":{"start":{"line":21,"column":104},"end":{"line":152,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":29},"end":{"line":27,"column":30}},"loc":{"start":{"line":27,"column":36},"end":{"line":27,"column":121}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":68},"end":{"line":27,"column":69}},"loc":{"start":{"line":27,"column":79},"end":{"line":27,"column":118}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":39},"end":{"line":29,"column":40}},"loc":{"start":{"line":29,"column":45},"end":{"line":31,"column":3}},"line":29},"4":{"name":"(anonymous_4)","decl":{"start":{"line":33,"column":40},"end":{"line":33,"column":41}},"loc":{"start":{"line":33,"column":61},"end":{"line":47,"column":3}},"line":33},"5":{"name":"(anonymous_5)","decl":{"start":{"line":34,"column":46},"end":{"line":34,"column":47}},"loc":{"start":{"line":34,"column":57},"end":{"line":34,"column":80}},"line":34},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":41},"end":{"line":49,"column":42}},"loc":{"start":{"line":49,"column":47},"end":{"line":51,"column":3}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":53,"column":35},"end":{"line":53,"column":36}},"loc":{"start":{"line":53,"column":41},"end":{"line":63,"column":3}},"line":53},"8":{"name":"(anonymous_8)","decl":{"start":{"line":57,"column":49},"end":{"line":57,"column":50}},"loc":{"start":{"line":57,"column":64},"end":{"line":57,"column":103}},"line":57},"9":{"name":"(anonymous_9)","decl":{"start":{"line":65,"column":40},"end":{"line":65,"column":41}},"loc":{"start":{"line":65,"column":70},"end":{"line":82,"column":4}},"line":65},"10":{"name":"(anonymous_10)","decl":{"start":{"line":65,"column":81},"end":{"line":65,"column":82}},"loc":{"start":{"line":65,"column":103},"end":{"line":82,"column":3}},"line":65},"11":{"name":"(anonymous_11)","decl":{"start":{"line":66,"column":25},"end":{"line":66,"column":26}},"loc":{"start":{"line":66,"column":31},"end":{"line":66,"column":55}},"line":66},"12":{"name":"(anonymous_12)","decl":{"start":{"line":84,"column":40},"end":{"line":84,"column":41}},"loc":{"start":{"line":85,"column":4},"end":{"line":101,"column":10}},"line":85},"13":{"name":"(anonymous_13)","decl":{"start":{"line":87,"column":23},"end":{"line":87,"column":24}},"loc":{"start":{"line":87,"column":38},"end":{"line":99,"column":9}},"line":87},"14":{"name":"(anonymous_14)","decl":{"start":{"line":88,"column":97},"end":{"line":88,"column":98}},"loc":{"start":{"line":88,"column":109},"end":{"line":88,"column":144}},"line":88},"15":{"name":"(anonymous_15)","decl":{"start":{"line":88,"column":172},"end":{"line":88,"column":173}},"loc":{"start":{"line":88,"column":184},"end":{"line":88,"column":210}},"line":88}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":79},"end":{"line":27,"column":118}},"type":"binary-expr","locations":[{"start":{"line":27,"column":79},"end":{"line":27,"column":90}},{"start":{"line":27,"column":94},"end":{"line":27,"column":118}}],"line":27},"1":{"loc":{"start":{"line":34,"column":25},"end":{"line":34,"column":116}},"type":"binary-expr","locations":[{"start":{"line":34,"column":25},"end":{"line":34,"column":88}},{"start":{"line":34,"column":92},"end":{"line":34,"column":116}}],"line":34},"2":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},{"start":{"line":38,"column":11},"end":{"line":40,"column":5}}],"line":36},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":93}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":54}},{"start":{"line":36,"column":58},"end":{"line":36,"column":93}}],"line":36},"4":{"loc":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},{"start":{"line":43,"column":11},"end":{"line":45,"column":5}}],"line":41},"5":{"loc":{"start":{"line":54,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":54},"6":{"loc":{"start":{"line":55,"column":6},"end":{"line":55,"column":63}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":55,"column":63}},{"start":{},"end":{}}],"line":55},"7":{"loc":{"start":{"line":56,"column":6},"end":{"line":59,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":59,"column":7}},{"start":{},"end":{}}],"line":56},"8":{"loc":{"start":{"line":58,"column":15},"end":{"line":58,"column":58}},"type":"cond-expr","locations":[{"start":{"line":58,"column":29},"end":{"line":58,"column":46}},{"start":{"line":58,"column":49},"end":{"line":58,"column":58}}],"line":58},"9":{"loc":{"start":{"line":88,"column":33},"end":{"line":88,"column":212}},"type":"cond-expr","locations":[{"start":{"line":88,"column":74},"end":{"line":88,"column":146}},{"start":{"line":88,"column":149},"end":{"line":88,"column":212}}],"line":88},"10":{"loc":{"start":{"line":90,"column":12},"end":{"line":97,"column":13}},"type":"binary-expr","locations":[{"start":{"line":90,"column":12},"end":{"line":90,"column":37}},{"start":{"line":91,"column":14},"end":{"line":96,"column":40}}],"line":90},"11":{"loc":{"start":{"line":91,"column":62},"end":{"line":91,"column":137}},"type":"cond-expr","locations":[{"start":{"line":91,"column":110},"end":{"line":91,"column":132}},{"start":{"line":91,"column":135},"end":{"line":91,"column":137}}],"line":91},"12":{"loc":{"start":{"line":92,"column":69},"end":{"line":92,"column":152}},"type":"cond-expr","locations":[{"start":{"line":92,"column":110},"end":{"line":92,"column":140}},{"start":{"line":92,"column":143},"end":{"line":92,"column":152}}],"line":92},"13":{"loc":{"start":{"line":135,"column":13},"end":{"line":135,"column":72}},"type":"binary-expr","locations":[{"start":{"line":135,"column":13},"end":{"line":135,"column":23}},{"start":{"line":135,"column":27},"end":{"line":135,"column":72}}],"line":135},"14":{"loc":{"start":{"line":141,"column":11},"end":{"line":145,"column":11}},"type":"binary-expr","locations":[{"start":{"line":141,"column":11},"end":{"line":141,"column":39}},{"start":{"line":142,"column":10},"end":{"line":144,"column":35}}],"line":141}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DragOverItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DragOverItem.tsx","statementMap":{"0":{"start":{"line":14,"column":95},"end":{"line":58,"column":1}},"1":{"start":{"line":19,"column":22},"end":{"line":19,"column":54}},"2":{"start":{"line":21,"column":22},"end":{"line":23,"column":13}},"3":{"start":{"line":22,"column":4},"end":{"line":22,"column":88}},"4":{"start":{"line":25,"column":36},"end":{"line":27,"column":26}},"5":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"6":{"start":{"line":29,"column":27},"end":{"line":48,"column":55}},"7":{"start":{"line":30,"column":4},"end":{"line":45,"column":5}},"8":{"start":{"line":37,"column":30},"end":{"line":37,"column":59}},"9":{"start":{"line":38,"column":27},"end":{"line":38,"column":57}},"10":{"start":{"line":39,"column":35},"end":{"line":39,"column":87}},"11":{"start":{"line":40,"column":32},"end":{"line":40,"column":78}},"12":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"13":{"start":{"line":43,"column":8},"end":{"line":43,"column":20}},"14":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"15":{"start":{"line":50,"column":2},"end":{"line":57,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":95},"end":{"line":14,"column":96}},"loc":{"start":{"line":18,"column":6},"end":{"line":58,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":31}},"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":88}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":44},"end":{"line":25,"column":45}},"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":35},"end":{"line":29,"column":36}},"loc":{"start":{"line":29,"column":41},"end":{"line":48,"column":3}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":88}},"type":"binary-expr","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":14}},{"start":{"line":22,"column":18},"end":{"line":22,"column":88}}],"line":22},"1":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"type":"binary-expr","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":35}},{"start":{"line":26,"column":39},"end":{"line":26,"column":61}}],"line":26},"2":{"loc":{"start":{"line":30,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":30},"3":{"loc":{"start":{"line":31,"column":6},"end":{"line":35,"column":49}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":18}},{"start":{"line":32,"column":9},"end":{"line":32,"column":31}},{"start":{"line":33,"column":9},"end":{"line":33,"column":32}},{"start":{"line":34,"column":9},"end":{"line":34,"column":20}},{"start":{"line":35,"column":9},"end":{"line":35,"column":49}}],"line":31},"4":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":42},"5":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":89}},"type":"binary-expr","locations":[{"start":{"line":53,"column":9},"end":{"line":53,"column":25}},{"start":{"line":53,"column":29},"end":{"line":53,"column":54}},{"start":{"line":53,"column":59},"end":{"line":53,"column":89}}],"line":53},"6":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":90}},"type":"binary-expr","locations":[{"start":{"line":54,"column":9},"end":{"line":54,"column":25}},{"start":{"line":54,"column":29},"end":{"line":54,"column":55}},{"start":{"line":54,"column":60},"end":{"line":54,"column":90}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0,0],"4":[0,0],"5":[0,0,0],"6":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DraggableWrapper.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DraggableWrapper.tsx","statementMap":{"0":{"start":{"line":15,"column":99},"end":{"line":99,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":37}},"2":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"3":{"start":{"line":20,"column":25},"end":{"line":20,"column":60}},"4":{"start":{"line":22,"column":22},"end":{"line":24,"column":13}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":88}},"6":{"start":{"line":26,"column":21},"end":{"line":26,"column":97}},"7":{"start":{"line":26,"column":73},"end":{"line":26,"column":92}},"8":{"start":{"line":27,"column":26},"end":{"line":27,"column":102}},"9":{"start":{"line":27,"column":78},"end":{"line":27,"column":97}},"10":{"start":{"line":28,"column":26},"end":{"line":28,"column":102}},"11":{"start":{"line":28,"column":78},"end":{"line":28,"column":97}},"12":{"start":{"line":30,"column":26},"end":{"line":33,"column":30}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":24}},"14":{"start":{"line":32,"column":4},"end":{"line":32,"column":27}},"15":{"start":{"line":35,"column":24},"end":{"line":38,"column":24}},"16":{"start":{"line":36,"column":4},"end":{"line":36,"column":24}},"17":{"start":{"line":37,"column":4},"end":{"line":37,"column":27}},"18":{"start":{"line":40,"column":25},"end":{"line":44,"column":31}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":24}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":23}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"22":{"start":{"line":46,"column":21},"end":{"line":70,"column":60}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":24}},"24":{"start":{"line":49,"column":19},"end":{"line":49,"column":51}},"25":{"start":{"line":51,"column":43},"end":{"line":51,"column":47}},"26":{"start":{"line":52,"column":40},"end":{"line":52,"column":44}},"27":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"28":{"start":{"line":55,"column":6},"end":{"line":58,"column":9}},"29":{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},"30":{"start":{"line":56,"column":48},"end":{"line":56,"column":74}},"31":{"start":{"line":57,"column":8},"end":{"line":57,"column":64}},"32":{"start":{"line":57,"column":41},"end":{"line":57,"column":64}},"33":{"start":{"line":59,"column":6},"end":{"line":68,"column":7}},"34":{"start":{"line":60,"column":34},"end":{"line":60,"column":106}},"35":{"start":{"line":61,"column":20},"end":{"line":61,"column":47}},"36":{"start":{"line":62,"column":8},"end":{"line":62,"column":78}},"37":{"start":{"line":63,"column":26},"end":{"line":66,"column":9}},"38":{"start":{"line":67,"column":8},"end":{"line":67,"column":49}},"39":{"start":{"line":72,"column":23},"end":{"line":90,"column":4}},"40":{"start":{"line":72,"column":44},"end":{"line":81,"column":3}},"41":{"start":{"line":92,"column":2},"end":{"line":98,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":99},"end":{"line":15,"column":100}},"loc":{"start":{"line":17,"column":6},"end":{"line":99,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":30},"end":{"line":22,"column":31}},"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":88}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":33},"end":{"line":26,"column":34}},"loc":{"start":{"line":26,"column":73},"end":{"line":26,"column":92}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":38},"end":{"line":27,"column":39}},"loc":{"start":{"line":27,"column":78},"end":{"line":27,"column":97}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":38},"end":{"line":28,"column":39}},"loc":{"start":{"line":28,"column":78},"end":{"line":28,"column":97}},"line":28},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":38},"end":{"line":30,"column":39}},"loc":{"start":{"line":30,"column":78},"end":{"line":33,"column":3}},"line":30},"6":{"name":"(anonymous_6)","decl":{"start":{"line":35,"column":42},"end":{"line":35,"column":43}},"loc":{"start":{"line":35,"column":82},"end":{"line":38,"column":3}},"line":35},"7":{"name":"(anonymous_7)","decl":{"start":{"line":40,"column":43},"end":{"line":40,"column":44}},"loc":{"start":{"line":40,"column":83},"end":{"line":44,"column":3}},"line":40},"8":{"name":"(anonymous_8)","decl":{"start":{"line":46,"column":39},"end":{"line":46,"column":40}},"loc":{"start":{"line":46,"column":79},"end":{"line":70,"column":3}},"line":46},"9":{"name":"(anonymous_9)","decl":{"start":{"line":55,"column":37},"end":{"line":55,"column":38}},"loc":{"start":{"line":55,"column":57},"end":{"line":58,"column":7}},"line":55},"10":{"name":"(anonymous_10)","decl":{"start":{"line":72,"column":37},"end":{"line":72,"column":38}},"loc":{"start":{"line":72,"column":44},"end":{"line":81,"column":3}},"line":72}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":88}},"type":"binary-expr","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":14}},{"start":{"line":23,"column":18},"end":{"line":23,"column":88}}],"line":23},"1":{"loc":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":54},"2":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":65}},"type":"binary-expr","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":20}},{"start":{"line":54,"column":24},"end":{"line":54,"column":29}},{"start":{"line":54,"column":33},"end":{"line":54,"column":65}}],"line":54},"3":{"loc":{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},{"start":{},"end":{}}],"line":56},"4":{"loc":{"start":{"line":57,"column":8},"end":{"line":57,"column":64}},"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":64}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":59,"column":6},"end":{"line":68,"column":7}},"type":"if","locations":[{"start":{"line":59,"column":6},"end":{"line":68,"column":7}},{"start":{},"end":{}}],"line":59},"6":{"loc":{"start":{"line":59,"column":10},"end":{"line":59,"column":63}},"type":"binary-expr","locations":[{"start":{"line":59,"column":10},"end":{"line":59,"column":36}},{"start":{"line":59,"column":40},"end":{"line":59,"column":63}}],"line":59},"7":{"loc":{"start":{"line":60,"column":34},"end":{"line":60,"column":106}},"type":"cond-expr","locations":[{"start":{"line":60,"column":71},"end":{"line":60,"column":85}},{"start":{"line":60,"column":88},"end":{"line":60,"column":106}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/StyledTokenButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/StyledTokenButton.tsx","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":14,"column":2}},"1":{"start":{"line":16,"column":33},"end":{"line":98,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButton.tsx","statementMap":{"0":{"start":{"line":22,"column":94},"end":{"line":50,"column":1}},"1":{"start":{"line":31,"column":2},"end":{"line":49,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":94},"end":{"line":22,"column":95}},"loc":{"start":{"line":31,"column":2},"end":{"line":49,"column":21}},"line":31}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButtonContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButtonContent.tsx","statementMap":{"0":{"start":{"line":22,"column":24},"end":{"line":22,"column":49}},"1":{"start":{"line":23,"column":21},"end":{"line":23,"column":52}},"2":{"start":{"line":24,"column":22},"end":{"line":24,"column":54}},"3":{"start":{"line":25,"column":28},"end":{"line":25,"column":39}},"4":{"start":{"line":27,"column":23},"end":{"line":29,"column":58}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":66}},"6":{"start":{"line":31,"column":20},"end":{"line":40,"column":25}},"7":{"start":{"line":32,"column":15},"end":{"line":32,"column":19}},"8":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"9":{"start":{"line":34,"column":6},"end":{"line":34,"column":19}},"10":{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":20}},"12":{"start":{"line":39,"column":4},"end":{"line":39,"column":16}},"13":{"start":{"line":43,"column":22},"end":{"line":46,"column":18}},"14":{"start":{"line":44,"column":25},"end":{"line":44,"column":26}},"15":{"start":{"line":45,"column":4},"end":{"line":45,"column":72}},"16":{"start":{"line":48,"column":28},"end":{"line":51,"column":15}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":27}},"18":{"start":{"line":50,"column":4},"end":{"line":50,"column":19}},"19":{"start":{"line":53,"column":23},"end":{"line":70,"column":26}},"20":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"21":{"start":{"line":56,"column":8},"end":{"line":59,"column":10}},"22":{"start":{"line":62,"column":8},"end":{"line":64,"column":10}},"23":{"start":{"line":67,"column":8},"end":{"line":67,"column":18}},"24":{"start":{"line":72,"column":2},"end":{"line":79,"column":4}}},"fnMap":{"0":{"name":"TokenButtonContent","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":42}},"loc":{"start":{"line":21,"column":10},"end":{"line":80,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":31},"end":{"line":27,"column":32}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":66}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":34},"end":{"line":31,"column":35}},"loc":{"start":{"line":31,"column":40},"end":{"line":40,"column":3}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":36},"end":{"line":43,"column":37}},"loc":{"start":{"line":43,"column":42},"end":{"line":46,"column":3}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":46},"end":{"line":48,"column":47}},"loc":{"start":{"line":48,"column":94},"end":{"line":51,"column":3}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":37},"end":{"line":53,"column":38}},"loc":{"start":{"line":53,"column":43},"end":{"line":70,"column":3}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},{"start":{},"end":{}}],"line":33},"1":{"loc":{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},"type":"if","locations":[{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":45,"column":12},"end":{"line":45,"column":28}},"type":"binary-expr","locations":[{"start":{"line":45,"column":12},"end":{"line":45,"column":22}},{"start":{"line":45,"column":26},"end":{"line":45,"column":28}}],"line":45},"3":{"loc":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"type":"switch","locations":[{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},{"start":{"line":61,"column":6},"end":{"line":65,"column":7}},{"start":{"line":66,"column":6},"end":{"line":68,"column":7}}],"line":54},"4":{"loc":{"start":{"line":74,"column":75},"end":{"line":74,"column":123}},"type":"cond-expr","locations":[{"start":{"line":74,"column":103},"end":{"line":74,"column":114}},{"start":{"line":74,"column":117},"end":{"line":74,"column":123}}],"line":74},"5":{"loc":{"start":{"line":76,"column":32},"end":{"line":76,"column":71}},"type":"binary-expr","locations":[{"start":{"line":76,"column":32},"end":{"line":76,"column":41}},{"start":{"line":76,"column":45},"end":{"line":76,"column":71}}],"line":76}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFlowButton/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFlowButton/index.tsx","statementMap":{"0":{"start":{"line":18,"column":22},"end":{"line":18,"column":54}},"1":{"start":{"line":19,"column":26},"end":{"line":19,"column":59}},"2":{"start":{"line":20,"column":23},"end":{"line":20,"column":56}},"3":{"start":{"line":21,"column":23},"end":{"line":21,"column":56}},"4":{"start":{"line":22,"column":17},"end":{"line":22,"column":44}},"5":{"start":{"line":23,"column":22},"end":{"line":23,"column":53}},"6":{"start":{"line":24,"column":26},"end":{"line":24,"column":62}},"7":{"start":{"line":26,"column":32},"end":{"line":26,"column":47}},"8":{"start":{"line":28,"column":33},"end":{"line":54,"column":72}},"9":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"10":{"start":{"line":30,"column":4},"end":{"line":30,"column":32}},"11":{"start":{"line":31,"column":22},"end":{"line":31,"column":53}},"12":{"start":{"line":32,"column":4},"end":{"line":52,"column":5}},"13":{"start":{"line":33,"column":23},"end":{"line":45,"column":8}},"14":{"start":{"line":46,"column":6},"end":{"line":49,"column":7}},"15":{"start":{"line":47,"column":21},"end":{"line":47,"column":42}},"16":{"start":{"line":48,"column":8},"end":{"line":48,"column":75}},"17":{"start":{"line":51,"column":6},"end":{"line":51,"column":37}},"18":{"start":{"line":53,"column":4},"end":{"line":53,"column":22}},"19":{"start":{"line":56,"column":2},"end":{"line":69,"column":4}}},"fnMap":{"0":{"name":"TokenFlowButton","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":42},"end":{"line":70,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":45},"end":{"line":28,"column":46}},"loc":{"start":{"line":28,"column":57},"end":{"line":54,"column":3}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":6},"end":{"line":49,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":49,"column":7}},{"start":{},"end":{}}],"line":46},"1":{"loc":{"start":{"line":57,"column":4},"end":{"line":68,"column":14}},"type":"cond-expr","locations":[{"start":{"line":59,"column":8},"end":{"line":67,"column":10}},{"start":{"line":68,"column":10},"end":{"line":68,"column":14}}],"line":57},"2":{"loc":{"start":{"line":57,"column":5},"end":{"line":57,"column":36}},"type":"binary-expr","locations":[{"start":{"line":57,"column":5},"end":{"line":57,"column":16}},{"start":{"line":57,"column":20},"end":{"line":57,"column":36}}],"line":57}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroup.tsx","statementMap":{"0":{"start":{"line":3,"column":32},"end":{"line":18,"column":2}},"1":{"start":{"line":20,"column":37},"end":{"line":47,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":9,"column":2}},"1":{"start":{"line":11,"column":39},"end":{"line":20,"column":2}},"2":{"start":{"line":22,"column":50},"end":{"line":47,"column":2}},"3":{"start":{"line":49,"column":45},"end":{"line":67,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroup.tsx","statementMap":{"0":{"start":{"line":22,"column":86},"end":{"line":96,"column":1}},"1":{"start":{"line":25,"column":20},"end":{"line":25,"column":56}},"2":{"start":{"line":26,"column":22},"end":{"line":26,"column":54}},"3":{"start":{"line":28,"column":29},"end":{"line":42,"column":25}},"4":{"start":{"line":29,"column":4},"end":{"line":41,"column":6}},"5":{"start":{"line":30,"column":25},"end":{"line":30,"column":64}},"6":{"start":{"line":30,"column":52},"end":{"line":30,"column":53}},"7":{"start":{"line":31,"column":27},"end":{"line":31,"column":48}},"8":{"start":{"line":32,"column":21},"end":{"line":32,"column":31}},"9":{"start":{"line":34,"column":6},"end":{"line":40,"column":8}},"10":{"start":{"line":44,"column":22},"end":{"line":52,"column":37}},"11":{"start":{"line":45,"column":4},"end":{"line":51,"column":7}},"12":{"start":{"line":47,"column":7},"end":{"line":48,"column":35}},"13":{"start":{"line":47,"column":38},"end":{"line":48,"column":34}},"14":{"start":{"line":49,"column":22},"end":{"line":51,"column":5}},"15":{"start":{"line":54,"column":42},"end":{"line":54,"column":76}},"16":{"start":{"line":55,"column":44},"end":{"line":55,"column":78}},"17":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":16}},"19":{"start":{"line":60,"column":2},"end":{"line":95,"column":4}},"20":{"start":{"line":64,"column":10},"end":{"line":91,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":86},"end":{"line":22,"column":87}},"loc":{"start":{"line":24,"column":6},"end":{"line":96,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":43},"end":{"line":28,"column":44}},"loc":{"start":{"line":29,"column":4},"end":{"line":41,"column":6}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":36},"end":{"line":29,"column":37}},"loc":{"start":{"line":29,"column":55},"end":{"line":41,"column":5}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":45},"end":{"line":30,"column":46}},"loc":{"start":{"line":30,"column":52},"end":{"line":30,"column":53}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":30},"end":{"line":44,"column":31}},"loc":{"start":{"line":45,"column":4},"end":{"line":51,"column":7}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":30},"end":{"line":45,"column":31}},"loc":{"start":{"line":47,"column":7},"end":{"line":48,"column":35}},"line":47},"6":{"name":"(anonymous_6)","decl":{"start":{"line":47,"column":23},"end":{"line":47,"column":24}},"loc":{"start":{"line":47,"column":38},"end":{"line":48,"column":34}},"line":47},"7":{"name":"(anonymous_7)","decl":{"start":{"line":49,"column":11},"end":{"line":49,"column":12}},"loc":{"start":{"line":49,"column":22},"end":{"line":51,"column":5}},"line":49},"8":{"name":"(anonymous_8)","decl":{"start":{"line":63,"column":25},"end":{"line":63,"column":26}},"loc":{"start":{"line":64,"column":10},"end":{"line":91,"column":27}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":46},"end":{"line":23,"column":57}},"type":"default-arg","locations":[{"start":{"line":23,"column":53},"end":{"line":23,"column":57}}],"line":23},"1":{"loc":{"start":{"line":32,"column":21},"end":{"line":32,"column":31}},"type":"binary-expr","locations":[{"start":{"line":32,"column":21},"end":{"line":32,"column":25}},{"start":{"line":32,"column":29},"end":{"line":32,"column":31}}],"line":32},"2":{"loc":{"start":{"line":47,"column":38},"end":{"line":48,"column":34}},"type":"binary-expr","locations":[{"start":{"line":47,"column":39},"end":{"line":47,"column":73}},{"start":{"line":47,"column":77},"end":{"line":47,"column":122}},{"start":{"line":48,"column":9},"end":{"line":48,"column":34}}],"line":47},"3":{"loc":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":57},"4":{"loc":{"start":{"line":62,"column":37},"end":{"line":62,"column":92}},"type":"cond-expr","locations":[{"start":{"line":62,"column":72},"end":{"line":62,"column":83}},{"start":{"line":62,"column":86},"end":{"line":62,"column":92}}],"line":62},"5":{"loc":{"start":{"line":65,"column":13},"end":{"line":90,"column":13}},"type":"cond-expr","locations":[{"start":{"line":68,"column":16},"end":{"line":78,"column":40}},{"start":{"line":81,"column":14},"end":{"line":89,"column":16}}],"line":65},"6":{"loc":{"start":{"line":65,"column":13},"end":{"line":65,"column":73}},"type":"binary-expr","locations":[{"start":{"line":65,"column":13},"end":{"line":65,"column":43}},{"start":{"line":65,"column":47},"end":{"line":65,"column":73}}],"line":65},"7":{"loc":{"start":{"line":69,"column":123},"end":{"line":69,"column":146}},"type":"binary-expr","locations":[{"start":{"line":69,"column":123},"end":{"line":69,"column":134}},{"start":{"line":69,"column":138},"end":{"line":69,"column":146}}],"line":69}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroupHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroupHeading.tsx","statementMap":{"0":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"1":{"start":{"line":33,"column":25},"end":{"line":33,"column":60}},"2":{"start":{"line":34,"column":33},"end":{"line":34,"column":76}},"3":{"start":{"line":35,"column":28},"end":{"line":35,"column":66}},"4":{"start":{"line":36,"column":52},"end":{"line":36,"column":80}},"5":{"start":{"line":37,"column":68},"end":{"line":37,"column":98}},"6":{"start":{"line":38,"column":74},"end":{"line":38,"column":104}},"7":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"8":{"start":{"line":40,"column":19},"end":{"line":40,"column":42}},"9":{"start":{"line":41,"column":20},"end":{"line":41,"column":56}},"10":{"start":{"line":42,"column":33},"end":{"line":42,"column":44}},"11":{"start":{"line":43,"column":33},"end":{"line":43,"column":88}},"12":{"start":{"line":45,"column":18},"end":{"line":45,"column":87}},"13":{"start":{"line":47,"column":23},"end":{"line":49,"column":31}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":28}},"15":{"start":{"line":51,"column":23},"end":{"line":54,"column":12}},"16":{"start":{"line":52,"column":4},"end":{"line":52,"column":31}},"17":{"start":{"line":53,"column":4},"end":{"line":53,"column":39}},"18":{"start":{"line":56,"column":39},"end":{"line":63,"column":70}},"19":{"start":{"line":57,"column":4},"end":{"line":57,"column":23}},"20":{"start":{"line":58,"column":27},"end":{"line":58,"column":75}},"21":{"start":{"line":59,"column":4},"end":{"line":61,"column":7}},"22":{"start":{"line":62,"column":4},"end":{"line":62,"column":40}},"23":{"start":{"line":65,"column":40},"end":{"line":67,"column":8}},"24":{"start":{"line":66,"column":4},"end":{"line":66,"column":41}},"25":{"start":{"line":69,"column":43},"end":{"line":71,"column":8}},"26":{"start":{"line":70,"column":4},"end":{"line":70,"column":40}},"27":{"start":{"line":73,"column":46},"end":{"line":75,"column":8}},"28":{"start":{"line":74,"column":4},"end":{"line":74,"column":43}},"29":{"start":{"line":77,"column":26},"end":{"line":80,"column":12}},"30":{"start":{"line":78,"column":4},"end":{"line":78,"column":41}},"31":{"start":{"line":79,"column":4},"end":{"line":79,"column":42}},"32":{"start":{"line":82,"column":32},"end":{"line":84,"column":44}},"33":{"start":{"line":83,"column":4},"end":{"line":83,"column":130}},"34":{"start":{"line":83,"column":94},"end":{"line":83,"column":104}},"35":{"start":{"line":86,"column":28},"end":{"line":86,"column":101}},"36":{"start":{"line":86,"column":46},"end":{"line":86,"column":79}},"37":{"start":{"line":88,"column":2},"end":{"line":148,"column":4}}},"fnMap":{"0":{"name":"TokenGroupHeading","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":33}},"loc":{"start":{"line":31,"column":10},"end":{"line":149,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":41},"end":{"line":47,"column":42}},"loc":{"start":{"line":47,"column":47},"end":{"line":49,"column":3}},"line":47},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":41},"end":{"line":51,"column":42}},"loc":{"start":{"line":51,"column":47},"end":{"line":54,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":57},"end":{"line":56,"column":58}},"loc":{"start":{"line":56,"column":104},"end":{"line":63,"column":3}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":58},"end":{"line":65,"column":59}},"loc":{"start":{"line":65,"column":102},"end":{"line":67,"column":3}},"line":65},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":61},"end":{"line":69,"column":62}},"loc":{"start":{"line":69,"column":67},"end":{"line":71,"column":3}},"line":69},"6":{"name":"(anonymous_6)","decl":{"start":{"line":73,"column":64},"end":{"line":73,"column":65}},"loc":{"start":{"line":73,"column":70},"end":{"line":75,"column":3}},"line":73},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":44},"end":{"line":77,"column":45}},"loc":{"start":{"line":77,"column":50},"end":{"line":80,"column":3}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":82,"column":44},"end":{"line":82,"column":45}},"loc":{"start":{"line":82,"column":50},"end":{"line":84,"column":3}},"line":82},"9":{"name":"(anonymous_9)","decl":{"start":{"line":83,"column":87},"end":{"line":83,"column":88}},"loc":{"start":{"line":83,"column":94},"end":{"line":83,"column":104}},"line":83},"10":{"name":"(anonymous_10)","decl":{"start":{"line":86,"column":40},"end":{"line":86,"column":41}},"loc":{"start":{"line":86,"column":46},"end":{"line":86,"column":79}},"line":86}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":18},"end":{"line":45,"column":87}},"type":"binary-expr","locations":[{"start":{"line":45,"column":18},"end":{"line":45,"column":33}},{"start":{"line":45,"column":37},"end":{"line":45,"column":60}},{"start":{"line":45,"column":64},"end":{"line":45,"column":87}}],"line":45},"1":{"loc":{"start":{"line":83,"column":43},"end":{"line":83,"column":128}},"type":"cond-expr","locations":[{"start":{"line":83,"column":70},"end":{"line":83,"column":105}},{"start":{"line":83,"column":108},"end":{"line":83,"column":128}}],"line":83},"2":{"loc":{"start":{"line":98,"column":15},"end":{"line":98,"column":85}},"type":"cond-expr","locations":[{"start":{"line":98,"column":42},"end":{"line":98,"column":63}},{"start":{"line":98,"column":66},"end":{"line":98,"column":85}}],"line":98}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/index.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/StyledWrapper.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/StyledWrapper.tsx","statementMap":{"0":{"start":{"line":4,"column":29},"end":{"line":12,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/TokenSetItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/TokenSetItem.tsx","statementMap":{"0":{"start":{"line":56,"column":25},"end":{"line":56,"column":108}},"1":{"start":{"line":56,"column":59},"end":{"line":56,"column":99}},"2":{"start":{"line":57,"column":25},"end":{"line":57,"column":52}},"3":{"start":{"line":58,"column":16},"end":{"line":58,"column":42}},"4":{"start":{"line":60,"column":22},"end":{"line":62,"column":21}},"5":{"start":{"line":61,"column":4},"end":{"line":61,"column":18}},"6":{"start":{"line":64,"column":23},"end":{"line":66,"column":27}},"7":{"start":{"line":65,"column":4},"end":{"line":65,"column":24}},"8":{"start":{"line":68,"column":23},"end":{"line":70,"column":27}},"9":{"start":{"line":69,"column":4},"end":{"line":69,"column":24}},"10":{"start":{"line":72,"column":26},"end":{"line":74,"column":30}},"11":{"start":{"line":73,"column":4},"end":{"line":73,"column":27}},"12":{"start":{"line":76,"column":30},"end":{"line":78,"column":34}},"13":{"start":{"line":77,"column":4},"end":{"line":77,"column":31}},"14":{"start":{"line":80,"column":30},"end":{"line":82,"column":32}},"15":{"start":{"line":81,"column":4},"end":{"line":81,"column":30}},"16":{"start":{"line":84,"column":35},"end":{"line":89,"column":3}},"17":{"start":{"line":86,"column":6},"end":{"line":86,"column":48}},"18":{"start":{"line":86,"column":23},"end":{"line":86,"column":48}},"19":{"start":{"line":91,"column":29},"end":{"line":99,"column":36}},"20":{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},"21":{"start":{"line":93,"column":6},"end":{"line":93,"column":51}},"22":{"start":{"line":95,"column":4},"end":{"line":97,"column":5}},"23":{"start":{"line":96,"column":6},"end":{"line":96,"column":51}},"24":{"start":{"line":98,"column":4},"end":{"line":98,"column":51}},"25":{"start":{"line":101,"column":21},"end":{"line":109,"column":3}},"26":{"start":{"line":103,"column":6},"end":{"line":105,"column":7}},"27":{"start":{"line":104,"column":8},"end":{"line":104,"column":40}},"28":{"start":{"line":106,"column":6},"end":{"line":106,"column":26}},"29":{"start":{"line":111,"column":2},"end":{"line":217,"column":4}}},"fnMap":{"0":{"name":"TokenSetItem","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":28}},"loc":{"start":{"line":55,"column":22},"end":{"line":218,"column":1}},"line":55},"1":{"name":"(anonymous_1)","decl":{"start":{"line":56,"column":37},"end":{"line":56,"column":38}},"loc":{"start":{"line":56,"column":59},"end":{"line":56,"column":99}},"line":56},"2":{"name":"(anonymous_2)","decl":{"start":{"line":60,"column":34},"end":{"line":60,"column":35}},"loc":{"start":{"line":60,"column":40},"end":{"line":62,"column":3}},"line":60},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":35},"end":{"line":64,"column":36}},"loc":{"start":{"line":64,"column":41},"end":{"line":66,"column":3}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":68,"column":35},"end":{"line":68,"column":36}},"loc":{"start":{"line":68,"column":41},"end":{"line":70,"column":3}},"line":68},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":38},"end":{"line":72,"column":39}},"loc":{"start":{"line":72,"column":44},"end":{"line":74,"column":3}},"line":72},"6":{"name":"(anonymous_6)","decl":{"start":{"line":76,"column":42},"end":{"line":76,"column":43}},"loc":{"start":{"line":76,"column":48},"end":{"line":78,"column":3}},"line":76},"7":{"name":"(anonymous_7)","decl":{"start":{"line":80,"column":42},"end":{"line":80,"column":43}},"loc":{"start":{"line":80,"column":48},"end":{"line":82,"column":3}},"line":80},"8":{"name":"(anonymous_8)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":15},"end":{"line":87,"column":5}},"line":85},"9":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":41},"end":{"line":91,"column":42}},"loc":{"start":{"line":91,"column":47},"end":{"line":99,"column":3}},"line":91},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":4},"end":{"line":102,"column":5}},"loc":{"start":{"line":102,"column":66},"end":{"line":107,"column":5}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":42,"column":18}},"type":"default-arg","locations":[{"start":{"line":42,"column":13},"end":{"line":42,"column":18}}],"line":42},"1":{"loc":{"start":{"line":46,"column":2},"end":{"line":46,"column":21}},"type":"default-arg","locations":[{"start":{"line":46,"column":17},"end":{"line":46,"column":21}}],"line":46},"2":{"loc":{"start":{"line":48,"column":2},"end":{"line":48,"column":20}},"type":"default-arg","locations":[{"start":{"line":48,"column":15},"end":{"line":48,"column":20}}],"line":48},"3":{"loc":{"start":{"line":86,"column":6},"end":{"line":86,"column":48}},"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":86,"column":48}},{"start":{},"end":{}}],"line":86},"4":{"loc":{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":92},"5":{"loc":{"start":{"line":95,"column":4},"end":{"line":97,"column":5}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":97,"column":5}},{"start":{},"end":{}}],"line":95},"6":{"loc":{"start":{"line":103,"column":6},"end":{"line":105,"column":7}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":105,"column":7}},{"start":{},"end":{}}],"line":103},"7":{"loc":{"start":{"line":114,"column":9},"end":{"line":170,"column":9}},"type":"cond-expr","locations":[{"start":{"line":115,"column":10},"end":{"line":131,"column":32}},{"start":{"line":133,"column":10},"end":{"line":169,"column":32}}],"line":114},"8":{"loc":{"start":{"line":162,"column":17},"end":{"line":166,"column":17}},"type":"binary-expr","locations":[{"start":{"line":162,"column":17},"end":{"line":162,"column":46}},{"start":{"line":162,"column":50},"end":{"line":162,"column":69}},{"start":{"line":163,"column":18},"end":{"line":165,"column":25}}],"line":162},"9":{"loc":{"start":{"line":174,"column":13},"end":{"line":191,"column":13}},"type":"binary-expr","locations":[{"start":{"line":174,"column":13},"end":{"line":174,"column":24}},{"start":{"line":175,"column":14},"end":{"line":190,"column":17}}],"line":174},"10":{"loc":{"start":{"line":176,"column":44},"end":{"line":176,"column":69}},"type":"binary-expr","locations":[{"start":{"line":176,"column":44},"end":{"line":176,"column":52}},{"start":{"line":176,"column":56},"end":{"line":176,"column":69}}],"line":176},"11":{"loc":{"start":{"line":177,"column":44},"end":{"line":177,"column":66}},"type":"binary-expr","locations":[{"start":{"line":177,"column":44},"end":{"line":177,"column":52}},{"start":{"line":177,"column":56},"end":{"line":177,"column":66}}],"line":177},"12":{"loc":{"start":{"line":196,"column":9},"end":{"line":214,"column":9}},"type":"cond-expr","locations":[{"start":{"line":197,"column":10},"end":{"line":205,"column":20}},{"start":{"line":207,"column":10},"end":{"line":213,"column":12}}],"line":196}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButton.tsx","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":26,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx","statementMap":{"0":{"start":{"line":4,"column":44},"end":{"line":21,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledItem.tsx","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":12,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/TokenSetTreeContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/TokenSetTreeContent.tsx","statementMap":{"0":{"start":{"line":35,"column":45},"end":{"line":35,"column":94}},"1":{"start":{"line":39,"column":20},"end":{"line":39,"column":59}},"2":{"start":{"line":40,"column":19},"end":{"line":40,"column":42}},"3":{"start":{"line":42,"column":32},"end":{"line":44,"column":27}},"4":{"start":{"line":43,"column":4},"end":{"line":43,"column":130}},"5":{"start":{"line":43,"column":96},"end":{"line":43,"column":105}},"6":{"start":{"line":46,"column":22},"end":{"line":55,"column":47}},"7":{"start":{"line":47,"column":4},"end":{"line":54,"column":7}},"8":{"start":{"line":49,"column":6},"end":{"line":50,"column":95}},"9":{"start":{"line":49,"column":37},"end":{"line":50,"column":94}},"10":{"start":{"line":51,"column":22},"end":{"line":54,"column":5}},"11":{"start":{"line":53,"column":31},"end":{"line":53,"column":62}},"12":{"start":{"line":57,"column":2},"end":{"line":89,"column":4}},"13":{"start":{"line":60,"column":8},"end":{"line":86,"column":21}}},"fnMap":{"0":{"name":"TokenSetTreeContent","decl":{"start":{"line":33,"column":16},"end":{"line":33,"column":35}},"loc":{"start":{"line":38,"column":13},"end":{"line":90,"column":1}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":27},"end":{"line":35,"column":28}},"loc":{"start":{"line":35,"column":45},"end":{"line":35,"column":94}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":44},"end":{"line":42,"column":45}},"loc":{"start":{"line":42,"column":61},"end":{"line":44,"column":3}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":89},"end":{"line":43,"column":90}},"loc":{"start":{"line":43,"column":96},"end":{"line":43,"column":105}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":46,"column":30},"end":{"line":46,"column":31}},"loc":{"start":{"line":47,"column":4},"end":{"line":54,"column":7}},"line":47},"5":{"name":"(anonymous_5)","decl":{"start":{"line":47,"column":17},"end":{"line":47,"column":18}},"loc":{"start":{"line":49,"column":6},"end":{"line":50,"column":95}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":22},"end":{"line":49,"column":23}},"loc":{"start":{"line":49,"column":37},"end":{"line":50,"column":94}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":51,"column":11},"end":{"line":51,"column":12}},"loc":{"start":{"line":51,"column":22},"end":{"line":54,"column":5}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":25},"end":{"line":53,"column":26}},"loc":{"start":{"line":53,"column":31},"end":{"line":53,"column":62}},"line":53},"9":{"name":"(anonymous_9)","decl":{"start":{"line":59,"column":23},"end":{"line":59,"column":24}},"loc":{"start":{"line":60,"column":8},"end":{"line":86,"column":21}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":14},"end":{"line":35,"column":94}},"type":"default-arg","locations":[{"start":{"line":35,"column":27},"end":{"line":35,"column":94}}],"line":35},"1":{"loc":{"start":{"line":37,"column":2},"end":{"line":37,"column":23}},"type":"default-arg","locations":[{"start":{"line":37,"column":16},"end":{"line":37,"column":23}}],"line":37},"2":{"loc":{"start":{"line":43,"column":46},"end":{"line":43,"column":128}},"type":"cond-expr","locations":[{"start":{"line":43,"column":72},"end":{"line":43,"column":106}},{"start":{"line":43,"column":109},"end":{"line":43,"column":128}}],"line":43},"3":{"loc":{"start":{"line":49,"column":37},"end":{"line":50,"column":94}},"type":"binary-expr","locations":[{"start":{"line":49,"column":37},"end":{"line":49,"column":62}},{"start":{"line":50,"column":10},"end":{"line":50,"column":44}},{"start":{"line":50,"column":48},"end":{"line":50,"column":93}}],"line":49},"4":{"loc":{"start":{"line":63,"column":15},"end":{"line":83,"column":15}},"type":"binary-expr","locations":[{"start":{"line":63,"column":16},"end":{"line":63,"column":28}},{"start":{"line":64,"column":16},"end":{"line":82,"column":37}}],"line":63},"5":{"loc":{"start":{"line":67,"column":24},"end":{"line":67,"column":69}},"type":"cond-expr","locations":[{"start":{"line":67,"column":50},"end":{"line":67,"column":57}},{"start":{"line":67,"column":60},"end":{"line":67,"column":69}}],"line":67},"6":{"loc":{"start":{"line":69,"column":19},"end":{"line":73,"column":26}},"type":"cond-expr","locations":[{"start":{"line":70,"column":20},"end":{"line":72,"column":26}},{"start":{"line":73,"column":22},"end":{"line":73,"column":26}}],"line":69},"7":{"loc":{"start":{"line":77,"column":19},"end":{"line":81,"column":26}},"type":"cond-expr","locations":[{"start":{"line":78,"column":20},"end":{"line":80,"column":26}},{"start":{"line":81,"column":22},"end":{"line":81,"column":26}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/AliasBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/AliasBadge.tsx","statementMap":{"0":{"start":{"line":4,"column":25},"end":{"line":11,"column":2}},"1":{"start":{"line":18,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"AliasBadge","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":34}},"loc":{"start":{"line":17,"column":53},"end":{"line":21,"column":1}},"line":17}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/NotFoundBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/NotFoundBadge.tsx","statementMap":{"0":{"start":{"line":5,"column":25},"end":{"line":7,"column":2}},"1":{"start":{"line":10,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"NotFoundBadge","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":40},"end":{"line":15,"column":1}},"line":9}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx","statementMap":{"0":{"start":{"line":11,"column":107},"end":{"line":17,"column":1}},"1":{"start":{"line":12,"column":2},"end":{"line":16,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":107},"end":{"line":11,"column":108}},"loc":{"start":{"line":12,"column":2},"end":{"line":16,"column":10}},"line":12}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx","statementMap":{"0":{"start":{"line":14,"column":106},"end":{"line":29,"column":1}},"1":{"start":{"line":15,"column":2},"end":{"line":28,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":106},"end":{"line":14,"column":107}},"loc":{"start":{"line":15,"column":2},"end":{"line":28,"column":10}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":6},"end":{"line":24,"column":7}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":14}},{"start":{"line":19,"column":8},"end":{"line":23,"column":9}}],"line":18},"1":{"loc":{"start":{"line":19,"column":8},"end":{"line":23,"column":9}},"type":"cond-expr","locations":[{"start":{"line":20,"column":10},"end":{"line":20,"column":88}},{"start":{"line":22,"column":10},"end":{"line":22,"column":82}}],"line":19}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":112},"end":{"line":21,"column":1}},"1":{"start":{"line":13,"column":30},"end":{"line":13,"column":155}},"2":{"start":{"line":14,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":112},"end":{"line":12,"column":113}},"loc":{"start":{"line":12,"column":152},"end":{"line":21,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":30},"end":{"line":13,"column":155}},"type":"cond-expr","locations":[{"start":{"line":13,"column":136},"end":{"line":13,"column":149}},{"start":{"line":13,"column":152},"end":{"line":13,"column":155}}],"line":13},"1":{"loc":{"start":{"line":13,"column":31},"end":{"line":13,"column":132}},"type":"binary-expr","locations":[{"start":{"line":13,"column":31},"end":{"line":13,"column":64}},{"start":{"line":13,"column":68},"end":{"line":13,"column":101}},{"start":{"line":13,"column":105},"end":{"line":13,"column":132}}],"line":13},"2":{"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":81}},"type":"cond-expr","locations":[{"start":{"line":17,"column":70},"end":{"line":17,"column":75}},{"start":{"line":17,"column":78},"end":{"line":17,"column":81}}],"line":17},"3":{"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":67}},"type":"binary-expr","locations":[{"start":{"line":17,"column":13},"end":{"line":17,"column":38}},{"start":{"line":17,"column":42},"end":{"line":17,"column":67}}],"line":17},"4":{"loc":{"start":{"line":18,"column":21},"end":{"line":18,"column":80}},"type":"cond-expr","locations":[{"start":{"line":18,"column":49},"end":{"line":18,"column":58}},{"start":{"line":18,"column":61},"end":{"line":18,"column":80}}],"line":18}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":107},"end":{"line":23,"column":1}},"1":{"start":{"line":13,"column":2},"end":{"line":22,"column":8}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":107},"end":{"line":12,"column":108}},"loc":{"start":{"line":13,"column":2},"end":{"line":22,"column":8}},"line":13}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx","statementMap":{"0":{"start":{"line":11,"column":111},"end":{"line":40,"column":1}},"1":{"start":{"line":12,"column":2},"end":{"line":39,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":111},"end":{"line":11,"column":112}},"loc":{"start":{"line":12,"column":2},"end":{"line":39,"column":10}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":5},"end":{"line":17,"column":12}},"type":"cond-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":16,"column":8}},{"start":{"line":17,"column":8},"end":{"line":17,"column":12}}],"line":13}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltip.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltip.tsx","statementMap":{"0":{"start":{"line":12,"column":95},"end":{"line":35,"column":1}},"1":{"start":{"line":17,"column":23},"end":{"line":17,"column":56}},"2":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"3":{"start":{"line":20,"column":4},"end":{"line":20,"column":16}},"4":{"start":{"line":23,"column":2},"end":{"line":34,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":95},"end":{"line":12,"column":96}},"loc":{"start":{"line":15,"column":6},"end":{"line":35,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":19,"column":6},"end":{"line":19,"column":50}},"type":"binary-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":19,"column":15}},{"start":{"line":19,"column":19},"end":{"line":19,"column":50}}],"line":19},"2":{"loc":{"start":{"line":26,"column":13},"end":{"line":30,"column":7}},"type":"cond-expr","locations":[{"start":{"line":26,"column":28},"end":{"line":26,"column":30}},{"start":{"line":27,"column":8},"end":{"line":29,"column":10}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContent.tsx","statementMap":{"0":{"start":{"line":13,"column":102},"end":{"line":43,"column":1}},"1":{"start":{"line":14,"column":24},"end":{"line":14,"column":55}},"2":{"start":{"line":16,"column":26},"end":{"line":18,"column":43}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":84}},"4":{"start":{"line":17,"column":45},"end":{"line":17,"column":66}},"5":{"start":{"line":20,"column":2},"end":{"line":42,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":102},"end":{"line":13,"column":103}},"loc":{"start":{"line":13,"column":117},"end":{"line":43,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":40},"end":{"line":16,"column":41}},"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":84}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":38},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":45},"end":{"line":17,"column":66}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":9},"end":{"line":34,"column":51}},"type":"cond-expr","locations":[{"start":{"line":34,"column":27},"end":{"line":34,"column":44}},{"start":{"line":34,"column":47},"end":{"line":34,"column":51}}],"line":34},"1":{"loc":{"start":{"line":40,"column":7},"end":{"line":40,"column":111}},"type":"binary-expr","locations":[{"start":{"line":40,"column":7},"end":{"line":40,"column":24}},{"start":{"line":40,"column":28},"end":{"line":40,"column":111}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx","statementMap":{"0":{"start":{"line":27,"column":107},"end":{"line":132,"column":1}},"1":{"start":{"line":28,"column":15},"end":{"line":28,"column":27}},"2":{"start":{"line":29,"column":24},"end":{"line":29,"column":55}},"3":{"start":{"line":30,"column":28},"end":{"line":30,"column":39}},"4":{"start":{"line":31,"column":24},"end":{"line":36,"column":4}},"5":{"start":{"line":31,"column":45},"end":{"line":31,"column":141}},"6":{"start":{"line":38,"column":2},"end":{"line":45,"column":3}},"7":{"start":{"line":39,"column":4},"end":{"line":44,"column":6}},"8":{"start":{"line":47,"column":2},"end":{"line":66,"column":3}},"9":{"start":{"line":53,"column":4},"end":{"line":65,"column":6}},"10":{"start":{"line":56,"column":10},"end":{"line":62,"column":12}},"11":{"start":{"line":68,"column":2},"end":{"line":102,"column":3}},"12":{"start":{"line":69,"column":4},"end":{"line":86,"column":5}},"13":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"14":{"start":{"line":78,"column":12},"end":{"line":82,"column":14}},"15":{"start":{"line":88,"column":4},"end":{"line":101,"column":6}},"16":{"start":{"line":104,"column":2},"end":{"line":111,"column":3}},"17":{"start":{"line":105,"column":4},"end":{"line":110,"column":6}},"18":{"start":{"line":113,"column":2},"end":{"line":121,"column":3}},"19":{"start":{"line":114,"column":4},"end":{"line":120,"column":6}},"20":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"21":{"start":{"line":124,"column":4},"end":{"line":124,"column":76}},"22":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"23":{"start":{"line":128,"column":4},"end":{"line":128,"column":106}},"24":{"start":{"line":131,"column":2},"end":{"line":131,"column":79}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":107},"end":{"line":27,"column":108}},"loc":{"start":{"line":27,"column":143},"end":{"line":132,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":38},"end":{"line":31,"column":39}},"loc":{"start":{"line":31,"column":45},"end":{"line":31,"column":141}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":41},"end":{"line":55,"column":42}},"loc":{"start":{"line":56,"column":10},"end":{"line":62,"column":12}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":29},"end":{"line":77,"column":30}},"loc":{"start":{"line":78,"column":12},"end":{"line":82,"column":14}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":45},"end":{"line":31,"column":141}},"type":"cond-expr","locations":[{"start":{"line":31,"column":67},"end":{"line":31,"column":76}},{"start":{"line":31,"column":79},"end":{"line":31,"column":141}}],"line":31},"1":{"loc":{"start":{"line":38,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":38},"2":{"loc":{"start":{"line":47,"column":2},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":66,"column":3}},{"start":{},"end":{}}],"line":47},"3":{"loc":{"start":{"line":48,"column":4},"end":{"line":51,"column":44}},"type":"binary-expr","locations":[{"start":{"line":48,"column":5},"end":{"line":48,"column":18}},{"start":{"line":48,"column":22},"end":{"line":48,"column":41}},{"start":{"line":49,"column":7},"end":{"line":49,"column":40}},{"start":{"line":50,"column":7},"end":{"line":50,"column":36}},{"start":{"line":51,"column":7},"end":{"line":51,"column":44}}],"line":48},"4":{"loc":{"start":{"line":61,"column":27},"end":{"line":61,"column":125}},"type":"cond-expr","locations":[{"start":{"line":61,"column":49},"end":{"line":61,"column":54}},{"start":{"line":61,"column":57},"end":{"line":61,"column":125}}],"line":61},"5":{"loc":{"start":{"line":68,"column":2},"end":{"line":102,"column":3}},"type":"if","locations":[{"start":{"line":68,"column":2},"end":{"line":102,"column":3}},{"start":{},"end":{}}],"line":68},"6":{"loc":{"start":{"line":69,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":69},"7":{"loc":{"start":{"line":72,"column":11},"end":{"line":76,"column":18}},"type":"cond-expr","locations":[{"start":{"line":73,"column":12},"end":{"line":75,"column":14}},{"start":{"line":76,"column":14},"end":{"line":76,"column":18}}],"line":72},"8":{"loc":{"start":{"line":80,"column":21},"end":{"line":80,"column":103}},"type":"cond-expr","locations":[{"start":{"line":80,"column":50},"end":{"line":80,"column":91}},{"start":{"line":80,"column":94},"end":{"line":80,"column":103}}],"line":80},"9":{"loc":{"start":{"line":90,"column":9},"end":{"line":94,"column":16}},"type":"cond-expr","locations":[{"start":{"line":91,"column":10},"end":{"line":93,"column":12}},{"start":{"line":94,"column":12},"end":{"line":94,"column":16}}],"line":90},"10":{"loc":{"start":{"line":104,"column":2},"end":{"line":111,"column":3}},"type":"if","locations":[{"start":{"line":104,"column":2},"end":{"line":111,"column":3}},{"start":{},"end":{}}],"line":104},"11":{"loc":{"start":{"line":113,"column":2},"end":{"line":121,"column":3}},"type":"if","locations":[{"start":{"line":113,"column":2},"end":{"line":121,"column":3}},{"start":{},"end":{}}],"line":113},"12":{"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"type":"if","locations":[{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},{"start":{},"end":{}}],"line":123},"13":{"loc":{"start":{"line":123,"column":6},"end":{"line":123,"column":72}},"type":"binary-expr","locations":[{"start":{"line":123,"column":6},"end":{"line":123,"column":37}},{"start":{"line":123,"column":41},"end":{"line":123,"column":72}}],"line":123},"14":{"loc":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},{"start":{},"end":{}}],"line":127},"15":{"loc":{"start":{"line":127,"column":6},"end":{"line":127,"column":93}},"type":"binary-expr","locations":[{"start":{"line":127,"column":6},"end":{"line":127,"column":19}},{"start":{"line":127,"column":23},"end":{"line":127,"column":56}},{"start":{"line":127,"column":60},"end":{"line":127,"column":93}}],"line":127}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TooltipProperty.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TooltipProperty.tsx","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":37,"column":11}}},"fnMap":{"0":{"name":"TooltipProperty","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":80},"end":{"line":38,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":9},"end":{"line":37,"column":10}},"type":"cond-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":36,"column":12}},{"start":{"line":37,"column":6},"end":{"line":37,"column":10}}],"line":14},"1":{"loc":{"start":{"line":14,"column":9},"end":{"line":14,"column":77}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":37}},{"start":{"line":14,"column":41},"end":{"line":14,"column":77}}],"line":14},"2":{"loc":{"start":{"line":25,"column":7},"end":{"line":34,"column":7}},"type":"binary-expr","locations":[{"start":{"line":25,"column":8},"end":{"line":25,"column":13}},{"start":{"line":25,"column":17},"end":{"line":25,"column":45}},{"start":{"line":26,"column":8},"end":{"line":33,"column":16}}],"line":25},"3":{"loc":{"start":{"line":28,"column":11},"end":{"line":32,"column":11}},"type":"binary-expr","locations":[{"start":{"line":28,"column":11},"end":{"line":28,"column":39}},{"start":{"line":29,"column":12},"end":{"line":31,"column":18}}],"line":28},"4":{"loc":{"start":{"line":35,"column":7},"end":{"line":35,"column":176}},"type":"cond-expr","locations":[{"start":{"line":35,"column":133},"end":{"line":35,"column":169}},{"start":{"line":35,"column":172},"end":{"line":35,"column":176}}],"line":35},"5":{"loc":{"start":{"line":35,"column":7},"end":{"line":35,"column":130}},"type":"binary-expr","locations":[{"start":{"line":35,"column":7},"end":{"line":35,"column":43}},{"start":{"line":35,"column":47},"end":{"line":35,"column":93}},{"start":{"line":35,"column":97},"end":{"line":35,"column":130}}],"line":35}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/NodeIcon.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/NodeIcon.tsx","statementMap":{"0":{"start":{"line":22,"column":2},"end":{"line":49,"column":3}},"1":{"start":{"line":24,"column":6},"end":{"line":24,"column":56}},"2":{"start":{"line":25,"column":6},"end":{"line":25,"column":12}},"3":{"start":{"line":27,"column":6},"end":{"line":27,"column":57}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":12}},"5":{"start":{"line":30,"column":6},"end":{"line":30,"column":69}},"6":{"start":{"line":31,"column":6},"end":{"line":31,"column":12}},"7":{"start":{"line":33,"column":6},"end":{"line":33,"column":55}},"8":{"start":{"line":34,"column":6},"end":{"line":34,"column":12}},"9":{"start":{"line":36,"column":6},"end":{"line":36,"column":57}},"10":{"start":{"line":37,"column":6},"end":{"line":37,"column":12}},"11":{"start":{"line":39,"column":6},"end":{"line":39,"column":55}},"12":{"start":{"line":40,"column":6},"end":{"line":40,"column":12}},"13":{"start":{"line":42,"column":6},"end":{"line":42,"column":57}},"14":{"start":{"line":43,"column":6},"end":{"line":43,"column":12}},"15":{"start":{"line":45,"column":6},"end":{"line":45,"column":57}},"16":{"start":{"line":46,"column":6},"end":{"line":46,"column":12}},"17":{"start":{"line":48,"column":6},"end":{"line":48,"column":12}},"18":{"start":{"line":50,"column":2},"end":{"line":50,"column":25}},"19":{"start":{"line":50,"column":13},"end":{"line":50,"column":25}},"20":{"start":{"line":51,"column":2},"end":{"line":64,"column":4}}},"fnMap":{"0":{"name":"NodeIcon","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":32}},"loc":{"start":{"line":20,"column":103},"end":{"line":65,"column":1}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":41},"end":{"line":20,"column":51}},"type":"default-arg","locations":[{"start":{"line":20,"column":49},"end":{"line":20,"column":51}}],"line":20},"1":{"loc":{"start":{"line":20,"column":53},"end":{"line":20,"column":64}},"type":"default-arg","locations":[{"start":{"line":20,"column":62},"end":{"line":20,"column":64}}],"line":20},"2":{"loc":{"start":{"line":22,"column":2},"end":{"line":49,"column":3}},"type":"switch","locations":[{"start":{"line":23,"column":4},"end":{"line":25,"column":12}},{"start":{"line":26,"column":4},"end":{"line":28,"column":12}},{"start":{"line":29,"column":4},"end":{"line":31,"column":12}},{"start":{"line":32,"column":4},"end":{"line":34,"column":12}},{"start":{"line":35,"column":4},"end":{"line":37,"column":12}},{"start":{"line":38,"column":4},"end":{"line":40,"column":12}},{"start":{"line":41,"column":4},"end":{"line":43,"column":12}},{"start":{"line":44,"column":4},"end":{"line":46,"column":12}},{"start":{"line":47,"column":4},"end":{"line":48,"column":12}}],"line":22},"3":{"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":25}},"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":50,"column":25}},{"start":{},"end":{}}],"line":50}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0},"b":{"0":[0],"1":[0],"2":[0,0,0,0,0,0,0,0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNode.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNode.tsx","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":11,"column":10}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":19}},"2":{"start":{"line":13,"column":2},"end":{"line":40,"column":4}}},"fnMap":{"0":{"name":"TokenNode","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":33}},"loc":{"start":{"line":8,"column":64},"end":{"line":41,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},"loc":{"start":{"line":9,"column":41},"end":{"line":11,"column":3}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNodes.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNodes.tsx","statementMap":{"0":{"start":{"line":12,"column":20},"end":{"line":12,"column":22}},"1":{"start":{"line":13,"column":31},"end":{"line":13,"column":33}},"2":{"start":{"line":14,"column":26},"end":{"line":14,"column":27}},"3":{"start":{"line":17,"column":25},"end":{"line":20,"column":13}},"4":{"start":{"line":18,"column":20},"end":{"line":18,"column":45}},"5":{"start":{"line":18,"column":42},"end":{"line":18,"column":44}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":25}},"7":{"start":{"line":23,"column":4},"end":{"line":39,"column":27}},"8":{"start":{"line":37,"column":8},"end":{"line":37,"column":62}},"9":{"start":{"line":42,"column":2},"end":{"line":74,"column":4}}},"fnMap":{"0":{"name":"TokenNodes","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":34}},"loc":{"start":{"line":16,"column":69},"end":{"line":75,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":37},"end":{"line":17,"column":38}},"loc":{"start":{"line":17,"column":43},"end":{"line":20,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":30},"end":{"line":18,"column":31}},"loc":{"start":{"line":18,"column":42},"end":{"line":18,"column":44}},"line":18},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":18}},"loc":{"start":{"line":37,"column":8},"end":{"line":37,"column":62}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":41},"end":{"line":33,"column":106}},"type":"cond-expr","locations":[{"start":{"line":33,"column":81},"end":{"line":33,"column":99}},{"start":{"line":33,"column":102},"end":{"line":33,"column":106}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/BulkRemapModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/BulkRemapModal.tsx","statementMap":{"0":{"start":{"line":17,"column":32},"end":{"line":17,"column":50}},"1":{"start":{"line":18,"column":32},"end":{"line":18,"column":50}},"2":{"start":{"line":19,"column":56},"end":{"line":19,"column":77}},"3":{"start":{"line":20,"column":30},"end":{"line":20,"column":41}},"4":{"start":{"line":22,"column":22},"end":{"line":24,"column":15}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":14}},"6":{"start":{"line":26,"column":20},"end":{"line":30,"column":71}},"7":{"start":{"line":27,"column":23},"end":{"line":27,"column":87}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":56}},"9":{"start":{"line":29,"column":4},"end":{"line":29,"column":14}},"10":{"start":{"line":32,"column":30},"end":{"line":34,"column":8}},"11":{"start":{"line":33,"column":4},"end":{"line":33,"column":31}},"12":{"start":{"line":36,"column":30},"end":{"line":38,"column":8}},"13":{"start":{"line":37,"column":4},"end":{"line":37,"column":31}},"14":{"start":{"line":40,"column":36},"end":{"line":42,"column":27}},"15":{"start":{"line":41,"column":4},"end":{"line":41,"column":49}},"16":{"start":{"line":44,"column":2},"end":{"line":95,"column":4}}},"fnMap":{"0":{"name":"BulkRemapModal","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":38}},"loc":{"start":{"line":16,"column":67},"end":{"line":96,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":40},"end":{"line":22,"column":41}},"loc":{"start":{"line":22,"column":46},"end":{"line":24,"column":3}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":38},"end":{"line":26,"column":39}},"loc":{"start":{"line":26,"column":50},"end":{"line":30,"column":3}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":92},"end":{"line":32,"column":93}},"loc":{"start":{"line":32,"column":99},"end":{"line":34,"column":3}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":92},"end":{"line":36,"column":93}},"loc":{"start":{"line":36,"column":99},"end":{"line":38,"column":3}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":54},"end":{"line":40,"column":55}},"loc":{"start":{"line":40,"column":60},"end":{"line":42,"column":3}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":23},"end":{"line":27,"column":87}},"type":"cond-expr","locations":[{"start":{"line":27,"column":45},"end":{"line":27,"column":64}},{"start":{"line":27,"column":67},"end":{"line":27,"column":87}}],"line":27}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateBranchModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateBranchModal.tsx","statementMap":{"0":{"start":{"line":31,"column":6},"end":{"line":31,"column":23}},"1":{"start":{"line":33,"column":24},"end":{"line":33,"column":58}},"2":{"start":{"line":34,"column":18},"end":{"line":34,"column":42}},"3":{"start":{"line":35,"column":22},"end":{"line":35,"column":54}},"4":{"start":{"line":36,"column":23},"end":{"line":36,"column":56}},"5":{"start":{"line":38,"column":38},"end":{"line":38,"column":78}},"6":{"start":{"line":39,"column":38},"end":{"line":39,"column":68}},"7":{"start":{"line":40,"column":25},"end":{"line":40,"column":68}},"8":{"start":{"line":45,"column":2},"end":{"line":49,"column":9}},"9":{"start":{"line":46,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":47,"column":6},"end":{"line":47,"column":38}},"11":{"start":{"line":51,"column":28},"end":{"line":51,"column":92}},"12":{"start":{"line":51,"column":48},"end":{"line":51,"column":77}},"13":{"start":{"line":53,"column":23},"end":{"line":55,"column":18}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":70}},"15":{"start":{"line":57,"column":23},"end":{"line":99,"column":4}},"16":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"17":{"start":{"line":60,"column":23},"end":{"line":60,"column":33}},"18":{"start":{"line":62,"column":4},"end":{"line":62,"column":25}},"19":{"start":{"line":64,"column":4},"end":{"line":85,"column":5}},"20":{"start":{"line":69,"column":23},"end":{"line":69,"column":116}},"21":{"start":{"line":70,"column":23},"end":{"line":70,"column":83}},"22":{"start":{"line":71,"column":6},"end":{"line":80,"column":7}},"23":{"start":{"line":72,"column":8},"end":{"line":72,"column":42}},"24":{"start":{"line":73,"column":8},"end":{"line":77,"column":9}},"25":{"start":{"line":74,"column":10},"end":{"line":76,"column":13}},"26":{"start":{"line":79,"column":8},"end":{"line":79,"column":28}},"27":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"28":{"start":{"line":83,"column":8},"end":{"line":83,"column":62}},"29":{"start":{"line":101,"column":27},"end":{"line":101,"column":77}},"30":{"start":{"line":101,"column":51},"end":{"line":101,"column":65}},"31":{"start":{"line":103,"column":2},"end":{"line":142,"column":4}}},"fnMap":{"0":{"name":"CreateBranchModal","decl":{"start":{"line":26,"column":24},"end":{"line":26,"column":41}},"loc":{"start":{"line":28,"column":10},"end":{"line":143,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":18},"end":{"line":45,"column":19}},"loc":{"start":{"line":45,"column":24},"end":{"line":49,"column":3}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":15},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":21},"end":{"line":48,"column":5}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":42},"end":{"line":51,"column":43}},"loc":{"start":{"line":51,"column":48},"end":{"line":51,"column":77}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":41},"end":{"line":53,"column":42}},"loc":{"start":{"line":53,"column":85},"end":{"line":55,"column":3}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":57,"column":41},"end":{"line":57,"column":42}},"loc":{"start":{"line":57,"column":88},"end":{"line":86,"column":3}},"line":57},"6":{"name":"(anonymous_6)","decl":{"start":{"line":101,"column":45},"end":{"line":101,"column":46}},"loc":{"start":{"line":101,"column":51},"end":{"line":101,"column":65}},"line":101}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":64},"1":{"loc":{"start":{"line":65,"column":6},"end":{"line":66,"column":31}},"type":"binary-expr","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":34}},{"start":{"line":66,"column":9},"end":{"line":66,"column":31}}],"line":65},"2":{"loc":{"start":{"line":69,"column":91},"end":{"line":69,"column":115}},"type":"binary-expr","locations":[{"start":{"line":69,"column":91},"end":{"line":69,"column":102}},{"start":{"line":69,"column":106},"end":{"line":69,"column":115}}],"line":69},"3":{"loc":{"start":{"line":71,"column":6},"end":{"line":80,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":80,"column":7}},{"start":{"line":78,"column":13},"end":{"line":80,"column":7}}],"line":71},"4":{"loc":{"start":{"line":72,"column":26},"end":{"line":72,"column":40}},"type":"binary-expr","locations":[{"start":{"line":72,"column":26},"end":{"line":72,"column":34}},{"start":{"line":72,"column":38},"end":{"line":72,"column":40}}],"line":72},"5":{"loc":{"start":{"line":73,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":73},"6":{"loc":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":82},"7":{"loc":{"start":{"line":104,"column":46},"end":{"line":104,"column":96}},"type":"cond-expr","locations":[{"start":{"line":104,"column":65},"end":{"line":104,"column":82}},{"start":{"line":104,"column":85},"end":{"line":104,"column":96}}],"line":104},"8":{"loc":{"start":{"line":120,"column":12},"end":{"line":124,"column":13}},"type":"binary-expr","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":30}},{"start":{"line":121,"column":14},"end":{"line":123,"column":29}}],"line":120},"9":{"loc":{"start":{"line":130,"column":64},"end":{"line":130,"column":107}},"type":"binary-expr","locations":[{"start":{"line":130,"column":64},"end":{"line":130,"column":86}},{"start":{"line":130,"column":90},"end":{"line":130,"column":107}}],"line":130},"10":{"loc":{"start":{"line":134,"column":11},"end":{"line":138,"column":11}},"type":"binary-expr","locations":[{"start":{"line":134,"column":11},"end":{"line":134,"column":21}},{"start":{"line":135,"column":12},"end":{"line":137,"column":27}}],"line":134}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateStorageItemModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateStorageItemModal.tsx","statementMap":{"0":{"start":{"line":20,"column":33},"end":{"line":20,"column":50}},"1":{"start":{"line":21,"column":38},"end":{"line":21,"column":59}},"2":{"start":{"line":22,"column":42},"end":{"line":22,"column":66}},"3":{"start":{"line":24,"column":24},"end":{"line":38,"column":3}},"4":{"start":{"line":25,"column":17},"end":{"line":25,"column":49}},"5":{"start":{"line":26,"column":25},"end":{"line":36,"column":41}},"6":{"start":{"line":37,"column":4},"end":{"line":37,"column":53}},"7":{"start":{"line":40,"column":25},"end":{"line":40,"column":55}},"8":{"start":{"line":42,"column":38},"end":{"line":49,"column":3}},"9":{"start":{"line":44,"column":13},"end":{"line":46,"column":7}},"10":{"start":{"line":51,"column":31},"end":{"line":63,"column":3}},"11":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"12":{"start":{"line":54,"column":23},"end":{"line":54,"column":55}},"13":{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},"14":{"start":{"line":56,"column":8},"end":{"line":56,"column":20}},"15":{"start":{"line":58,"column":8},"end":{"line":58,"column":28}},"16":{"start":{"line":59,"column":8},"end":{"line":59,"column":48}},"17":{"start":{"line":65,"column":23},"end":{"line":70,"column":3}},"18":{"start":{"line":67,"column":6},"end":{"line":67,"column":72}},"19":{"start":{"line":72,"column":23},"end":{"line":77,"column":3}},"20":{"start":{"line":74,"column":6},"end":{"line":74,"column":35}},"21":{"start":{"line":79,"column":2},"end":{"line":91,"column":4}}},"fnMap":{"0":{"name":"CreateStorageItemModal","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":46}},"loc":{"start":{"line":19,"column":10},"end":{"line":92,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":25}},"loc":{"start":{"line":24,"column":66},"end":{"line":38,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":44,"column":6},"end":{"line":44,"column":7}},"loc":{"start":{"line":44,"column":13},"end":{"line":46,"column":7}},"line":44},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":52},"end":{"line":61,"column":5}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":66,"column":4},"end":{"line":66,"column":5}},"loc":{"start":{"line":66,"column":22},"end":{"line":68,"column":5}},"line":66},"5":{"name":"(anonymous_5)","decl":{"start":{"line":73,"column":4},"end":{"line":73,"column":5}},"loc":{"start":{"line":73,"column":46},"end":{"line":75,"column":5}},"line":73}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":25},"end":{"line":36,"column":41}},"type":"binary-expr","locations":[{"start":{"line":26,"column":25},"end":{"line":36,"column":22}},{"start":{"line":36,"column":26},"end":{"line":36,"column":41}}],"line":26},"1":{"loc":{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},{"start":{"line":57,"column":13},"end":{"line":60,"column":7}}],"line":55}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/DuplicateTokenGroupModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/DuplicateTokenGroupModal.tsx","statementMap":{"0":{"start":{"line":28,"column":17},"end":{"line":28,"column":44}},"1":{"start":{"line":29,"column":25},"end":{"line":29,"column":60}},"2":{"start":{"line":30,"column":52},"end":{"line":30,"column":94}},"3":{"start":{"line":31,"column":29},"end":{"line":31,"column":46}},"4":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"5":{"start":{"line":34,"column":35},"end":{"line":36,"column":8}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":40}},"7":{"start":{"line":38,"column":42},"end":{"line":46,"column":74}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":23}},"9":{"start":{"line":40,"column":4},"end":{"line":42,"column":7}},"10":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"11":{"start":{"line":44,"column":6},"end":{"line":44,"column":16}},"12":{"start":{"line":48,"column":16},"end":{"line":63,"column":81}},"13":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"14":{"start":{"line":50,"column":6},"end":{"line":50,"column":18}},"15":{"start":{"line":52,"column":4},"end":{"line":56,"column":5}},"16":{"start":{"line":53,"column":6},"end":{"line":55,"column":8}},"17":{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},"18":{"start":{"line":58,"column":6},"end":{"line":60,"column":8}},"19":{"start":{"line":62,"column":4},"end":{"line":62,"column":105}},"20":{"start":{"line":65,"column":23},"end":{"line":65,"column":29}},"21":{"start":{"line":67,"column":2},"end":{"line":155,"column":4}},"22":{"start":{"line":106,"column":84},"end":{"line":106,"column":92}},"23":{"start":{"line":109,"column":22},"end":{"line":122,"column":25}},"24":{"start":{"line":117,"column":28},"end":{"line":119,"column":48}},"25":{"start":{"line":129,"column":128},"end":{"line":129,"column":136}},"26":{"start":{"line":132,"column":20},"end":{"line":145,"column":23}},"27":{"start":{"line":140,"column":26},"end":{"line":142,"column":46}}},"fnMap":{"0":{"name":"DuplicateTokenGroupModal","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":48}},"loc":{"start":{"line":27,"column":10},"end":{"line":156,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":53},"end":{"line":34,"column":54}},"loc":{"start":{"line":34,"column":82},"end":{"line":36,"column":3}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":60},"end":{"line":38,"column":61}},"loc":{"start":{"line":38,"column":107},"end":{"line":46,"column":3}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":48,"column":24},"end":{"line":48,"column":25}},"loc":{"start":{"line":48,"column":30},"end":{"line":63,"column":3}},"line":48},"4":{"name":"(anonymous_4)","decl":{"start":{"line":106,"column":77},"end":{"line":106,"column":78}},"loc":{"start":{"line":106,"column":84},"end":{"line":106,"column":92}},"line":106},"5":{"name":"(anonymous_5)","decl":{"start":{"line":108,"column":70},"end":{"line":108,"column":71}},"loc":{"start":{"line":109,"column":22},"end":{"line":122,"column":25}},"line":109},"6":{"name":"(anonymous_6)","decl":{"start":{"line":116,"column":49},"end":{"line":116,"column":50}},"loc":{"start":{"line":117,"column":28},"end":{"line":119,"column":48}},"line":117},"7":{"name":"(anonymous_7)","decl":{"start":{"line":129,"column":121},"end":{"line":129,"column":122}},"loc":{"start":{"line":129,"column":128},"end":{"line":129,"column":136}},"line":129},"8":{"name":"(anonymous_8)","decl":{"start":{"line":131,"column":92},"end":{"line":131,"column":93}},"loc":{"start":{"line":132,"column":20},"end":{"line":145,"column":23}},"line":132},"9":{"name":"(anonymous_9)","decl":{"start":{"line":139,"column":47},"end":{"line":139,"column":48}},"loc":{"start":{"line":140,"column":26},"end":{"line":142,"column":46}},"line":140}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":43},"1":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49},"2":{"loc":{"start":{"line":52,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":56,"column":5}},{"start":{},"end":{}}],"line":52},"3":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":73}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":27}},{"start":{"line":52,"column":31},"end":{"line":52,"column":73}}],"line":52},"4":{"loc":{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":97,"column":9},"end":{"line":151,"column":9}},"type":"binary-expr","locations":[{"start":{"line":97,"column":9},"end":{"line":97,"column":22}},{"start":{"line":97,"column":26},"end":{"line":97,"column":37}},{"start":{"line":98,"column":10},"end":{"line":150,"column":25}}],"line":97},"6":{"loc":{"start":{"line":103,"column":44},"end":{"line":125,"column":15}},"type":"binary-expr","locations":[{"start":{"line":103,"column":44},"end":{"line":103,"column":72}},{"start":{"line":104,"column":16},"end":{"line":124,"column":19}}],"line":103},"7":{"loc":{"start":{"line":129,"column":51},"end":{"line":129,"column":148}},"type":"binary-expr","locations":[{"start":{"line":129,"column":51},"end":{"line":129,"column":75}},{"start":{"line":129,"column":79},"end":{"line":129,"column":148}}],"line":129},"8":{"loc":{"start":{"line":131,"column":19},"end":{"line":146,"column":20}},"type":"binary-expr","locations":[{"start":{"line":131,"column":19},"end":{"line":131,"column":43}},{"start":{"line":131,"column":47},"end":{"line":146,"column":20}}],"line":131}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/EditStorageItemModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/EditStorageItemModal.tsx","statementMap":{"0":{"start":{"line":20,"column":16},"end":{"line":20,"column":43}},"1":{"start":{"line":21,"column":38},"end":{"line":21,"column":95}},"2":{"start":{"line":22,"column":38},"end":{"line":22,"column":59}},"3":{"start":{"line":23,"column":33},"end":{"line":23,"column":50}},"4":{"start":{"line":24,"column":42},"end":{"line":24,"column":66}},"5":{"start":{"line":26,"column":23},"end":{"line":28,"column":18}},"6":{"start":{"line":27,"column":4},"end":{"line":27,"column":70}},"7":{"start":{"line":30,"column":23},"end":{"line":38,"column":37}},"8":{"start":{"line":31,"column":21},"end":{"line":31,"column":53}},"9":{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":18}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":26}},"12":{"start":{"line":36,"column":6},"end":{"line":36,"column":46}},"13":{"start":{"line":40,"column":2},"end":{"line":53,"column":4}}},"fnMap":{"0":{"name":"EditStorageItemModal","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":44}},"loc":{"start":{"line":19,"column":10},"end":{"line":54,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":41},"end":{"line":26,"column":42}},"loc":{"start":{"line":26,"column":59},"end":{"line":28,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":41},"end":{"line":30,"column":42}},"loc":{"start":{"line":30,"column":89},"end":{"line":38,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},{"start":{"line":34,"column":11},"end":{"line":37,"column":5}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ExportModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ExportModal.tsx","statementMap":{"0":{"start":{"line":13,"column":38},"end":{"line":13,"column":89}},"1":{"start":{"line":15,"column":27},"end":{"line":19,"column":8}},"2":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":26}},"4":{"start":{"line":21,"column":2},"end":{"line":37,"column":4}}},"fnMap":{"0":{"name":"ExportModal","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":35}},"loc":{"start":{"line":12,"column":56},"end":{"line":38,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":45},"end":{"line":15,"column":46}},"loc":{"start":{"line":15,"column":112},"end":{"line":19,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":31,"column":10},"end":{"line":33,"column":52}},"type":"cond-expr","locations":[{"start":{"line":32,"column":14},"end":{"line":32,"column":52}},{"start":{"line":33,"column":14},"end":{"line":33,"column":52}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/PresetModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/PresetModal.tsx","statementMap":{"0":{"start":{"line":13,"column":38},"end":{"line":13,"column":77}},"1":{"start":{"line":15,"column":28},"end":{"line":19,"column":8}},"2":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":30}},"4":{"start":{"line":21,"column":2},"end":{"line":39,"column":4}}},"fnMap":{"0":{"name":"PresetModal","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":35}},"loc":{"start":{"line":12,"column":56},"end":{"line":40,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":46},"end":{"line":15,"column":47}},"loc":{"start":{"line":15,"column":78},"end":{"line":19,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":32,"column":12},"end":{"line":34,"column":49}},"type":"cond-expr","locations":[{"start":{"line":33,"column":16},"end":{"line":33,"column":52}},{"start":{"line":34,"column":16},"end":{"line":34,"column":49}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/RenameTokenGroupModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/RenameTokenGroupModal.tsx","statementMap":{"0":{"start":{"line":27,"column":17},"end":{"line":27,"column":44}},"1":{"start":{"line":28,"column":25},"end":{"line":28,"column":60}},"2":{"start":{"line":29,"column":16},"end":{"line":29,"column":53}},"3":{"start":{"line":31,"column":16},"end":{"line":37,"column":62}},"4":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"5":{"start":{"line":33,"column":6},"end":{"line":33,"column":18}},"6":{"start":{"line":36,"column":4},"end":{"line":36,"column":83}},"7":{"start":{"line":39,"column":20},"end":{"line":39,"column":51}},"8":{"start":{"line":41,"column":2},"end":{"line":110,"column":4}},"9":{"start":{"line":78,"column":20},"end":{"line":85,"column":40}},"10":{"start":{"line":97,"column":22},"end":{"line":99,"column":42}}},"fnMap":{"0":{"name":"RenameTokenGroupModal","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":45}},"loc":{"start":{"line":26,"column":10},"end":{"line":111,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":25}},"loc":{"start":{"line":31,"column":30},"end":{"line":37,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":77,"column":53},"end":{"line":77,"column":54}},"loc":{"start":{"line":78,"column":20},"end":{"line":85,"column":40}},"line":78},"3":{"name":"(anonymous_3)","decl":{"start":{"line":96,"column":51},"end":{"line":96,"column":52}},"loc":{"start":{"line":97,"column":22},"end":{"line":99,"column":42}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":32},"1":{"loc":{"start":{"line":32,"column":8},"end":{"line":32,"column":38}},"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":27}},{"start":{"line":32,"column":31},"end":{"line":32,"column":38}}],"line":32},"2":{"loc":{"start":{"line":39,"column":22},"end":{"line":39,"column":50}},"type":"binary-expr","locations":[{"start":{"line":39,"column":22},"end":{"line":39,"column":41}},{"start":{"line":39,"column":45},"end":{"line":39,"column":50}}],"line":39},"3":{"loc":{"start":{"line":68,"column":9},"end":{"line":106,"column":9}},"type":"binary-expr","locations":[{"start":{"line":68,"column":9},"end":{"line":68,"column":19}},{"start":{"line":68,"column":23},"end":{"line":68,"column":28}},{"start":{"line":69,"column":10},"end":{"line":105,"column":25}}],"line":68},"4":{"loc":{"start":{"line":72,"column":44},"end":{"line":88,"column":15}},"type":"binary-expr","locations":[{"start":{"line":72,"column":44},"end":{"line":72,"column":84}},{"start":{"line":73,"column":16},"end":{"line":87,"column":19}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ResolveDuplicateTokensModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ResolveDuplicateTokensModal.tsx","statementMap":{"0":{"start":{"line":22,"column":17},"end":{"line":22,"column":44}},"1":{"start":{"line":23,"column":31},"end":{"line":23,"column":48}},"2":{"start":{"line":24,"column":16},"end":{"line":24,"column":42}},"3":{"start":{"line":25,"column":46},"end":{"line":28,"column":9}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":22}},"5":{"start":{"line":27,"column":4},"end":{"line":27,"column":15}},"6":{"start":{"line":30,"column":55},"end":{"line":64,"column":30}},"7":{"start":{"line":34,"column":31},"end":{"line":50,"column":10}},"8":{"start":{"line":35,"column":31},"end":{"line":35,"column":46}},"9":{"start":{"line":36,"column":31},"end":{"line":46,"column":12}},"10":{"start":{"line":37,"column":34},"end":{"line":37,"column":87}},"11":{"start":{"line":37,"column":65},"end":{"line":37,"column":86}},"12":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"13":{"start":{"line":39,"column":10},"end":{"line":42,"column":14}},"14":{"start":{"line":39,"column":75},"end":{"line":42,"column":11}},"15":{"start":{"line":45,"column":8},"end":{"line":45,"column":20}},"16":{"start":{"line":48,"column":6},"end":{"line":48,"column":38}},"17":{"start":{"line":49,"column":6},"end":{"line":49,"column":17}},"18":{"start":{"line":52,"column":21},"end":{"line":62,"column":58}},"19":{"start":{"line":53,"column":27},"end":{"line":53,"column":54}},"20":{"start":{"line":55,"column":36},"end":{"line":58,"column":12}},"21":{"start":{"line":56,"column":8},"end":{"line":56,"column":93}},"22":{"start":{"line":56,"column":69},"end":{"line":56,"column":81}},"23":{"start":{"line":57,"column":8},"end":{"line":57,"column":20}},"24":{"start":{"line":60,"column":6},"end":{"line":60,"column":43}},"25":{"start":{"line":61,"column":6},"end":{"line":61,"column":17}},"26":{"start":{"line":63,"column":4},"end":{"line":63,"column":86}},"27":{"start":{"line":66,"column":23},"end":{"line":75,"column":41}},"28":{"start":{"line":67,"column":40},"end":{"line":67,"column":56}},"29":{"start":{"line":68,"column":4},"end":{"line":74,"column":7}},"30":{"start":{"line":77,"column":42},"end":{"line":89,"column":58}},"31":{"start":{"line":78,"column":4},"end":{"line":78,"column":23}},"32":{"start":{"line":79,"column":70},"end":{"line":79,"column":72}},"33":{"start":{"line":80,"column":4},"end":{"line":85,"column":7}},"34":{"start":{"line":81,"column":6},"end":{"line":84,"column":9}},"35":{"start":{"line":82,"column":22},"end":{"line":82,"column":47}},"36":{"start":{"line":83,"column":8},"end":{"line":83,"column":60}},"37":{"start":{"line":86,"column":4},"end":{"line":86,"column":67}},"38":{"start":{"line":87,"column":4},"end":{"line":87,"column":38}},"39":{"start":{"line":88,"column":4},"end":{"line":88,"column":14}},"40":{"start":{"line":91,"column":21},"end":{"line":91,"column":25}},"41":{"start":{"line":93,"column":2},"end":{"line":132,"column":4}},"42":{"start":{"line":117,"column":72},"end":{"line":129,"column":16}},"43":{"start":{"line":121,"column":14},"end":{"line":126,"column":16}}},"fnMap":{"0":{"name":"ResolveDuplicateTokensModal","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":51}},"loc":{"start":{"line":21,"column":10},"end":{"line":133,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":138},"end":{"line":25,"column":139}},"loc":{"start":{"line":25,"column":156},"end":{"line":28,"column":3}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":5},"end":{"line":33,"column":6}},"loc":{"start":{"line":33,"column":11},"end":{"line":64,"column":3}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":58},"end":{"line":34,"column":59}},"loc":{"start":{"line":34,"column":76},"end":{"line":50,"column":5}},"line":34},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":55},"end":{"line":36,"column":56}},"loc":{"start":{"line":36,"column":72},"end":{"line":46,"column":7}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":37,"column":58},"end":{"line":37,"column":59}},"loc":{"start":{"line":37,"column":65},"end":{"line":37,"column":86}},"line":37},"6":{"name":"(anonymous_6)","decl":{"start":{"line":39,"column":51},"end":{"line":39,"column":52}},"loc":{"start":{"line":39,"column":75},"end":{"line":42,"column":11}},"line":39},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":60},"end":{"line":52,"column":61}},"loc":{"start":{"line":52,"column":124},"end":{"line":62,"column":5}},"line":52},"8":{"name":"(anonymous_8)","decl":{"start":{"line":55,"column":96},"end":{"line":55,"column":97}},"loc":{"start":{"line":55,"column":117},"end":{"line":58,"column":7}},"line":55},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":60},"end":{"line":56,"column":61}},"loc":{"start":{"line":56,"column":69},"end":{"line":56,"column":81}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":66,"column":35},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":46},"end":{"line":75,"column":3}},"line":66},"11":{"name":"(anonymous_11)","decl":{"start":{"line":77,"column":60},"end":{"line":77,"column":61}},"loc":{"start":{"line":77,"column":107},"end":{"line":89,"column":3}},"line":77},"12":{"name":"(anonymous_12)","decl":{"start":{"line":80,"column":52},"end":{"line":80,"column":53}},"loc":{"start":{"line":80,"column":75},"end":{"line":85,"column":5}},"line":80},"13":{"name":"(anonymous_13)","decl":{"start":{"line":81,"column":39},"end":{"line":81,"column":40}},"loc":{"start":{"line":81,"column":58},"end":{"line":84,"column":7}},"line":81},"14":{"name":"(anonymous_14)","decl":{"start":{"line":117,"column":45},"end":{"line":117,"column":46}},"loc":{"start":{"line":117,"column":72},"end":{"line":129,"column":16}},"line":117},"15":{"name":"(anonymous_15)","decl":{"start":{"line":120,"column":43},"end":{"line":120,"column":44}},"loc":{"start":{"line":121,"column":14},"end":{"line":126,"column":16}},"line":121}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},{"start":{},"end":{}}],"line":38},"1":{"loc":{"start":{"line":41,"column":35},"end":{"line":41,"column":79}},"type":"binary-expr","locations":[{"start":{"line":41,"column":35},"end":{"line":41,"column":74}},{"start":{"line":41,"column":78},"end":{"line":41,"column":79}}],"line":41},"2":{"loc":{"start":{"line":117,"column":72},"end":{"line":129,"column":16}},"type":"cond-expr","locations":[{"start":{"line":118,"column":10},"end":{"line":128,"column":18}},{"start":{"line":129,"column":12},"end":{"line":129,"column":16}}],"line":117}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts","statementMap":{"0":{"start":{"line":23,"column":64},"end":{"line":56,"column":1}},"1":{"start":{"line":28,"column":4},"end":{"line":31,"column":6}},"2":{"start":{"line":32,"column":4},"end":{"line":32,"column":52}},"3":{"start":{"line":33,"column":4},"end":{"line":33,"column":97}},"4":{"start":{"line":34,"column":4},"end":{"line":34,"column":48}},"5":{"start":{"line":37,"column":22},"end":{"line":40,"column":5}},"6":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"7":{"start":{"line":42,"column":28},"end":{"line":42,"column":71}},"8":{"start":{"line":43,"column":6},"end":{"line":43,"column":62}},"9":{"start":{"line":44,"column":6},"end":{"line":44,"column":94}},"10":{"start":{"line":46,"column":4},"end":{"line":46,"column":55}},"11":{"start":{"line":49,"column":22},"end":{"line":49,"column":82}},"12":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"13":{"start":{"line":51,"column":6},"end":{"line":51,"column":62}},"14":{"start":{"line":52,"column":6},"end":{"line":52,"column":113}},"15":{"start":{"line":54,"column":4},"end":{"line":54,"column":55}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":8},"end":{"line":27,"column":9}},"loc":{"start":{"line":27,"column":21},"end":{"line":35,"column":3}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":8},"end":{"line":36,"column":9}},"loc":{"start":{"line":36,"column":14},"end":{"line":47,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":9}},"loc":{"start":{"line":48,"column":14},"end":{"line":55,"column":3}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":41},"1":{"loc":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":50}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts","statementMap":{"0":{"start":{"line":16,"column":41},"end":{"line":90,"column":31}},"1":{"start":{"line":20,"column":6},"end":{"line":22,"column":16}},"2":{"start":{"line":21,"column":8},"end":{"line":21,"column":35}},"3":{"start":{"line":25,"column":6},"end":{"line":29,"column":9}},"4":{"start":{"line":32,"column":6},"end":{"line":45,"column":7}},"5":{"start":{"line":33,"column":8},"end":{"line":44,"column":11}},"6":{"start":{"line":52,"column":28},"end":{"line":52,"column":32}},"7":{"start":{"line":54,"column":6},"end":{"line":58,"column":9}},"8":{"start":{"line":61,"column":6},"end":{"line":65,"column":9}},"9":{"start":{"line":72,"column":28},"end":{"line":72,"column":32}},"10":{"start":{"line":74,"column":6},"end":{"line":78,"column":9}},"11":{"start":{"line":81,"column":6},"end":{"line":85,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":22},"end":{"line":19,"column":23}},"loc":{"start":{"line":20,"column":6},"end":{"line":22,"column":16}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":52},"end":{"line":20,"column":53}},"loc":{"start":{"line":21,"column":8},"end":{"line":21,"column":35}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":10},"end":{"line":24,"column":11}},"loc":{"start":{"line":24,"column":32},"end":{"line":30,"column":5}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":10},"end":{"line":31,"column":11}},"loc":{"start":{"line":31,"column":42},"end":{"line":46,"column":5}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":22},"end":{"line":52,"column":23}},"loc":{"start":{"line":52,"column":28},"end":{"line":52,"column":32}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":10},"end":{"line":53,"column":11}},"loc":{"start":{"line":53,"column":32},"end":{"line":59,"column":5}},"line":53},"6":{"name":"(anonymous_6)","decl":{"start":{"line":60,"column":10},"end":{"line":60,"column":11}},"loc":{"start":{"line":60,"column":37},"end":{"line":66,"column":5}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":72,"column":22},"end":{"line":72,"column":23}},"loc":{"start":{"line":72,"column":28},"end":{"line":72,"column":32}},"line":72},"8":{"name":"(anonymous_8)","decl":{"start":{"line":73,"column":10},"end":{"line":73,"column":11}},"loc":{"start":{"line":73,"column":32},"end":{"line":79,"column":5}},"line":73},"9":{"name":"(anonymous_9)","decl":{"start":{"line":80,"column":10},"end":{"line":80,"column":11}},"loc":{"start":{"line":80,"column":37},"end":{"line":86,"column":5}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":6},"end":{"line":22,"column":16}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":22,"column":8}},{"start":{"line":22,"column":12},"end":{"line":22,"column":16}}],"line":20},"1":{"loc":{"start":{"line":32,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":45,"column":7}},{"start":{},"end":{}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts","statementMap":{"0":{"start":{"line":13,"column":32},"end":{"line":44,"column":30}},"1":{"start":{"line":13,"column":57},"end":{"line":44,"column":1}},"2":{"start":{"line":14,"column":46},"end":{"line":23,"column":3}},"3":{"start":{"line":15,"column":27},"end":{"line":15,"column":92}},"4":{"start":{"line":15,"column":67},"end":{"line":15,"column":91}},"5":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"6":{"start":{"line":18,"column":23},"end":{"line":18,"column":83}},"7":{"start":{"line":19,"column":6},"end":{"line":19,"column":55}},"8":{"start":{"line":21,"column":22},"end":{"line":21,"column":44}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":21}},"10":{"start":{"line":24,"column":16},"end":{"line":24,"column":61}},"11":{"start":{"line":26,"column":2},"end":{"line":41,"column":5}},"12":{"start":{"line":27,"column":20},"end":{"line":27,"column":45}},"13":{"start":{"line":28,"column":24},"end":{"line":30,"column":67}},"14":{"start":{"line":31,"column":28},"end":{"line":31,"column":77}},"15":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"16":{"start":{"line":33,"column":31},"end":{"line":35,"column":8}},"17":{"start":{"line":34,"column":8},"end":{"line":34,"column":48}},"18":{"start":{"line":36,"column":6},"end":{"line":39,"column":7}},"19":{"start":{"line":37,"column":24},"end":{"line":37,"column":79}},"20":{"start":{"line":38,"column":8},"end":{"line":38,"column":82}},"21":{"start":{"line":43,"column":2},"end":{"line":43,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":33},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":57},"end":{"line":44,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":57},"end":{"line":13,"column":58}},"loc":{"start":{"line":13,"column":118},"end":{"line":44,"column":1}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":46},"end":{"line":14,"column":47}},"loc":{"start":{"line":14,"column":65},"end":{"line":23,"column":3}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":67},"end":{"line":15,"column":91}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":62},"end":{"line":26,"column":63}},"loc":{"start":{"line":26,"column":108},"end":{"line":41,"column":3}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":62},"end":{"line":33,"column":63}},"loc":{"start":{"line":34,"column":8},"end":{"line":34,"column":48}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":68}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":50}},{"start":{"line":16,"column":54},"end":{"line":16,"column":68}}],"line":16},"2":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":49}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":26}},{"start":{"line":16,"column":30},"end":{"line":16,"column":49}}],"line":16},"3":{"loc":{"start":{"line":28,"column":24},"end":{"line":30,"column":67}},"type":"cond-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":71}},{"start":{"line":30,"column":8},"end":{"line":30,"column":67}}],"line":28},"4":{"loc":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":32},"5":{"loc":{"start":{"line":36,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":36},"6":{"loc":{"start":{"line":37,"column":24},"end":{"line":37,"column":79}},"type":"cond-expr","locations":[{"start":{"line":37,"column":34},"end":{"line":37,"column":55}},{"start":{"line":37,"column":58},"end":{"line":37,"column":79}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useActionsHistory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useActionsHistory.ts","statementMap":{"0":{"start":{"line":5,"column":46},"end":{"line":5,"column":92}},"1":{"start":{"line":7,"column":31},"end":{"line":14,"column":8}},"2":{"start":{"line":11,"column":4},"end":{"line":13,"column":10}},"3":{"start":{"line":12,"column":6},"end":{"line":12,"column":62}},"4":{"start":{"line":16,"column":2},"end":{"line":18,"column":29}},"5":{"start":{"line":17,"column":4},"end":{"line":17,"column":79}},"6":{"start":{"line":20,"column":2},"end":{"line":20,"column":24}}},"fnMap":{"0":{"name":"useActionsHistory","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":33}},"loc":{"start":{"line":4,"column":36},"end":{"line":21,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":43},"end":{"line":7,"column":44}},"loc":{"start":{"line":7,"column":49},"end":{"line":14,"column":3}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":21},"end":{"line":13,"column":5}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":13}},"loc":{"start":{"line":16,"column":18},"end":{"line":18,"column":3}},"line":16}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useCanUndo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useCanUndo.ts","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":5,"column":47}},"1":{"start":{"line":7,"column":24},"end":{"line":18,"column":8}},"2":{"start":{"line":11,"column":4},"end":{"line":17,"column":10}},"3":{"start":{"line":13,"column":8},"end":{"line":14,"column":100}},"4":{"start":{"line":16,"column":6},"end":{"line":16,"column":30}},"5":{"start":{"line":20,"column":2},"end":{"line":23,"column":22}},"6":{"start":{"line":21,"column":4},"end":{"line":21,"column":72}},"7":{"start":{"line":22,"column":4},"end":{"line":22,"column":79}},"8":{"start":{"line":25,"column":2},"end":{"line":25,"column":17}}},"fnMap":{"0":{"name":"useCanUndo","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":29},"end":{"line":26,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":36},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":42},"end":{"line":18,"column":3}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":21},"end":{"line":17,"column":5}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":12},"end":{"line":20,"column":13}},"loc":{"start":{"line":20,"column":18},"end":{"line":23,"column":3}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":8},"end":{"line":14,"column":100}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":55}},{"start":{"line":14,"column":11},"end":{"line":14,"column":100}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useConfirm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useConfirm.tsx","statementMap":{"0":{"start":{"line":14,"column":70},"end":{"line":14,"column":78}},"1":{"start":{"line":17,"column":23},"end":{"line":17,"column":56}},"2":{"start":{"line":18,"column":19},"end":{"line":18,"column":42}},"3":{"start":{"line":20,"column":18},"end":{"line":46,"column":24}},"4":{"start":{"line":30,"column":8},"end":{"line":30,"column":12}},"5":{"start":{"line":32,"column":4},"end":{"line":41,"column":7}},"6":{"start":{"line":43,"column":4},"end":{"line":45,"column":7}},"7":{"start":{"line":44,"column":6},"end":{"line":44,"column":28}},"8":{"start":{"line":48,"column":23},"end":{"line":50,"column":24}},"9":{"start":{"line":49,"column":4},"end":{"line":49,"column":38}},"10":{"start":{"line":52,"column":19},"end":{"line":55,"column":20}},"11":{"start":{"line":53,"column":4},"end":{"line":53,"column":27}},"12":{"start":{"line":54,"column":4},"end":{"line":54,"column":19}},"13":{"start":{"line":57,"column":20},"end":{"line":60,"column":20}},"14":{"start":{"line":58,"column":4},"end":{"line":58,"column":44}},"15":{"start":{"line":59,"column":4},"end":{"line":59,"column":19}},"16":{"start":{"line":62,"column":2},"end":{"line":64,"column":52}},"17":{"start":{"line":62,"column":24},"end":{"line":64,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":70},"end":{"line":14,"column":71}},"loc":{"start":{"line":14,"column":76},"end":{"line":14,"column":78}},"line":14},"1":{"name":"useConfirm","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":19}},"loc":{"start":{"line":16,"column":31},"end":{"line":65,"column":1}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":30},"end":{"line":20,"column":31}},"loc":{"start":{"line":20,"column":54},"end":{"line":46,"column":3}},"line":20},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":50},"end":{"line":43,"column":51}},"loc":{"start":{"line":43,"column":59},"end":{"line":45,"column":5}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":35},"end":{"line":48,"column":36}},"loc":{"start":{"line":48,"column":41},"end":{"line":50,"column":3}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":52,"column":31},"end":{"line":52,"column":32}},"loc":{"start":{"line":52,"column":37},"end":{"line":55,"column":3}},"line":52},"6":{"name":"(anonymous_6)","decl":{"start":{"line":57,"column":32},"end":{"line":57,"column":33}},"loc":{"start":{"line":57,"column":45},"end":{"line":60,"column":3}},"line":57},"7":{"name":"(anonymous_7)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":24},"end":{"line":64,"column":3}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":22}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":16}},{"start":{"line":37,"column":20},"end":{"line":37,"column":22}}],"line":37},"1":{"loc":{"start":{"line":38,"column":15},"end":{"line":38,"column":28}},"type":"binary-expr","locations":[{"start":{"line":38,"column":15},"end":{"line":38,"column":22}},{"start":{"line":38,"column":26},"end":{"line":38,"column":28}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx","statementMap":{"0":{"start":{"line":8,"column":42},"end":{"line":8,"column":57}},"1":{"start":{"line":9,"column":40},"end":{"line":9,"column":78}},"2":{"start":{"line":10,"column":36},"end":{"line":10,"column":51}},"3":{"start":{"line":12,"column":21},"end":{"line":28,"column":8}},"4":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"5":{"start":{"line":14,"column":4},"end":{"line":27,"column":5}},"6":{"start":{"line":16,"column":23},"end":{"line":18,"column":8}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":43}},"8":{"start":{"line":21,"column":6},"end":{"line":21,"column":28}},"9":{"start":{"line":23,"column":6},"end":{"line":23,"column":67}},"10":{"start":{"line":24,"column":6},"end":{"line":24,"column":25}},"11":{"start":{"line":26,"column":6},"end":{"line":26,"column":26}},"12":{"start":{"line":30,"column":22},"end":{"line":33,"column":8}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"14":{"start":{"line":32,"column":4},"end":{"line":32,"column":23}},"15":{"start":{"line":35,"column":26},"end":{"line":56,"column":19}},"16":{"start":{"line":41,"column":4},"end":{"line":55,"column":5}},"17":{"start":{"line":42,"column":6},"end":{"line":51,"column":9}},"18":{"start":{"line":52,"column":6},"end":{"line":52,"column":20}},"19":{"start":{"line":54,"column":6},"end":{"line":54,"column":57}},"20":{"start":{"line":58,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"useImportVariables","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":34}},"loc":{"start":{"line":7,"column":37},"end":{"line":66,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":33},"end":{"line":12,"column":34}},"loc":{"start":{"line":12,"column":45},"end":{"line":28,"column":3}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":34},"end":{"line":30,"column":35}},"loc":{"start":{"line":30,"column":40},"end":{"line":33,"column":3}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":38},"end":{"line":35,"column":39}},"loc":{"start":{"line":40,"column":7},"end":{"line":56,"column":3}},"line":40}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsGitMultiFileEnabled.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsGitMultiFileEnabled.ts","statementMap":{"0":{"start":{"line":7,"column":14},"end":{"line":7,"column":38}},"1":{"start":{"line":9,"column":2},"end":{"line":16,"column":4}},"2":{"start":{"line":10,"column":10},"end":{"line":14,"column":47}}},"fnMap":{"0":{"name":"useIsGitMultiFileEnabled","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":40}},"loc":{"start":{"line":6,"column":43},"end":{"line":17,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":10},"end":{"line":14,"column":47}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":18},"end":{"line":14,"column":46}},"type":"binary-expr","locations":[{"start":{"line":10,"column":19},"end":{"line":10,"column":63}},{"start":{"line":11,"column":15},"end":{"line":11,"column":59}},{"start":{"line":12,"column":15},"end":{"line":12,"column":56}},{"start":{"line":13,"column":15},"end":{"line":13,"column":62}},{"start":{"line":14,"column":13},"end":{"line":14,"column":46}}],"line":10}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsProUser.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsProUser.ts","statementMap":{"0":{"start":{"line":8,"column":22},"end":{"line":8,"column":53}},"1":{"start":{"line":9,"column":26},"end":{"line":9,"column":62}},"2":{"start":{"line":10,"column":19},"end":{"line":10,"column":55}},"3":{"start":{"line":12,"column":2},"end":{"line":14,"column":47}},"4":{"start":{"line":13,"column":4},"end":{"line":13,"column":65}}},"fnMap":{"0":{"name":"useIsProUser","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":31},"end":{"line":15,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":17},"end":{"line":12,"column":18}},"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":65}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":65}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":44}},{"start":{"line":13,"column":48},"end":{"line":13,"column":65}}],"line":13},"1":{"loc":{"start":{"line":13,"column":12},"end":{"line":13,"column":43}},"type":"binary-expr","locations":[{"start":{"line":13,"column":12},"end":{"line":13,"column":23}},{"start":{"line":13,"column":27},"end":{"line":13,"column":43}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePropertiesForType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePropertiesForType.ts","statementMap":{"0":{"start":{"line":8,"column":26},"end":{"line":52,"column":1}},"1":{"start":{"line":9,"column":23},"end":{"line":9,"column":79}},"2":{"start":{"line":10,"column":19},"end":{"line":10,"column":39}},"3":{"start":{"line":11,"column":21},"end":{"line":48,"column":3}},"4":{"start":{"line":50,"column":2},"end":{"line":50,"column":105}},"5":{"start":{"line":51,"column":2},"end":{"line":51,"column":20}},"6":{"start":{"line":54,"column":25},"end":{"line":64,"column":52}},"7":{"start":{"line":67,"column":17},"end":{"line":67,"column":22}},"8":{"start":{"line":68,"column":2},"end":{"line":70,"column":3}},"9":{"start":{"line":69,"column":4},"end":{"line":69,"column":43}},"10":{"start":{"line":71,"column":2},"end":{"line":244,"column":30}},"11":{"start":{"line":72,"column":41},"end":{"line":72,"column":43}},"12":{"start":{"line":73,"column":4},"end":{"line":242,"column":5}},"13":{"start":{"line":75,"column":8},"end":{"line":90,"column":10}},"14":{"start":{"line":91,"column":8},"end":{"line":91,"column":14}},"15":{"start":{"line":93,"column":8},"end":{"line":108,"column":10}},"16":{"start":{"line":109,"column":8},"end":{"line":109,"column":14}},"17":{"start":{"line":111,"column":8},"end":{"line":126,"column":10}},"18":{"start":{"line":127,"column":8},"end":{"line":127,"column":14}},"19":{"start":{"line":129,"column":8},"end":{"line":129,"column":53}},"20":{"start":{"line":130,"column":8},"end":{"line":130,"column":14}},"21":{"start":{"line":132,"column":8},"end":{"line":132,"column":45}},"22":{"start":{"line":133,"column":8},"end":{"line":133,"column":14}},"23":{"start":{"line":135,"column":8},"end":{"line":144,"column":10}},"24":{"start":{"line":145,"column":8},"end":{"line":145,"column":14}},"25":{"start":{"line":148,"column":8},"end":{"line":158,"column":9}},"26":{"start":{"line":149,"column":10},"end":{"line":152,"column":13}},"27":{"start":{"line":154,"column":10},"end":{"line":157,"column":13}},"28":{"start":{"line":159,"column":8},"end":{"line":220,"column":10}},"29":{"start":{"line":222,"column":8},"end":{"line":227,"column":9}},"30":{"start":{"line":223,"column":10},"end":{"line":226,"column":13}},"31":{"start":{"line":228,"column":8},"end":{"line":228,"column":14}},"32":{"start":{"line":230,"column":8},"end":{"line":232,"column":10}},"33":{"start":{"line":233,"column":8},"end":{"line":233,"column":14}},"34":{"start":{"line":235,"column":8},"end":{"line":240,"column":9}},"35":{"start":{"line":236,"column":10},"end":{"line":239,"column":13}},"36":{"start":{"line":241,"column":8},"end":{"line":241,"column":14}},"37":{"start":{"line":243,"column":4},"end":{"line":243,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":26},"end":{"line":8,"column":27}},"loc":{"start":{"line":8,"column":60},"end":{"line":52,"column":1}},"line":8},"1":{"name":"usePropertiesForTokenType","decl":{"start":{"line":66,"column":16},"end":{"line":66,"column":41}},"loc":{"start":{"line":66,"column":108},"end":{"line":245,"column":1}},"line":66},"2":{"name":"(anonymous_2)","decl":{"start":{"line":71,"column":17},"end":{"line":71,"column":18}},"loc":{"start":{"line":71,"column":23},"end":{"line":244,"column":3}},"line":71}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":23},"end":{"line":9,"column":79}},"type":"binary-expr","locations":[{"start":{"line":9,"column":23},"end":{"line":9,"column":48}},{"start":{"line":9,"column":52},"end":{"line":9,"column":79}}],"line":9},"1":{"loc":{"start":{"line":10,"column":19},"end":{"line":10,"column":39}},"type":"cond-expr","locations":[{"start":{"line":10,"column":34},"end":{"line":10,"column":35}},{"start":{"line":10,"column":38},"end":{"line":10,"column":39}}],"line":10},"2":{"loc":{"start":{"line":68,"column":2},"end":{"line":70,"column":3}},"type":"if","locations":[{"start":{"line":68,"column":2},"end":{"line":70,"column":3}},{"start":{},"end":{}}],"line":68},"3":{"loc":{"start":{"line":68,"column":6},"end":{"line":68,"column":101}},"type":"binary-expr","locations":[{"start":{"line":68,"column":7},"end":{"line":68,"column":40}},{"start":{"line":68,"column":44},"end":{"line":68,"column":71}},{"start":{"line":68,"column":76},"end":{"line":68,"column":101}}],"line":68},"4":{"loc":{"start":{"line":73,"column":4},"end":{"line":242,"column":5}},"type":"switch","locations":[{"start":{"line":74,"column":6},"end":{"line":91,"column":14}},{"start":{"line":92,"column":6},"end":{"line":109,"column":14}},{"start":{"line":110,"column":6},"end":{"line":127,"column":14}},{"start":{"line":128,"column":6},"end":{"line":130,"column":14}},{"start":{"line":131,"column":6},"end":{"line":133,"column":14}},{"start":{"line":134,"column":6},"end":{"line":145,"column":14}},{"start":{"line":146,"column":6},"end":{"line":146,"column":32}},{"start":{"line":147,"column":6},"end":{"line":228,"column":14}},{"start":{"line":229,"column":6},"end":{"line":233,"column":14}},{"start":{"line":234,"column":6},"end":{"line":241,"column":14}}],"line":73},"5":{"loc":{"start":{"line":148,"column":8},"end":{"line":158,"column":9}},"type":"if","locations":[{"start":{"line":148,"column":8},"end":{"line":158,"column":9}},{"start":{"line":153,"column":15},"end":{"line":158,"column":9}}],"line":148},"6":{"loc":{"start":{"line":222,"column":8},"end":{"line":227,"column":9}},"type":"if","locations":[{"start":{"line":222,"column":8},"end":{"line":227,"column":9}},{"start":{},"end":{}}],"line":222},"7":{"loc":{"start":{"line":235,"column":8},"end":{"line":240,"column":9}},"type":"if","locations":[{"start":{"line":235,"column":8},"end":{"line":240,"column":9}},{"start":{},"end":{}}],"line":235}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0,0,0,0,0,0,0,0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePullDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePullDialog.tsx","statementMap":{"0":{"start":{"line":16,"column":72},"end":{"line":16,"column":80}},"1":{"start":{"line":18,"column":25},"end":{"line":18,"column":60}},"2":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"3":{"start":{"line":21,"column":60},"end":{"line":30,"column":16}},"4":{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":53}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":52}},"7":{"start":{"line":27,"column":4},"end":{"line":29,"column":7}},"8":{"start":{"line":28,"column":6},"end":{"line":28,"column":28}},"9":{"start":{"line":32,"column":26},"end":{"line":34,"column":16}},"10":{"start":{"line":33,"column":4},"end":{"line":33,"column":46}},"11":{"start":{"line":36,"column":19},"end":{"line":39,"column":23}},"12":{"start":{"line":37,"column":4},"end":{"line":37,"column":22}},"13":{"start":{"line":38,"column":4},"end":{"line":38,"column":27}},"14":{"start":{"line":41,"column":20},"end":{"line":44,"column":23}},"15":{"start":{"line":42,"column":4},"end":{"line":42,"column":22}},"16":{"start":{"line":43,"column":4},"end":{"line":43,"column":26}},"17":{"start":{"line":46,"column":2},"end":{"line":48,"column":78}},"18":{"start":{"line":46,"column":24},"end":{"line":48,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":72},"end":{"line":16,"column":73}},"loc":{"start":{"line":16,"column":78},"end":{"line":16,"column":80}},"line":16},"1":{"name":"usePullDialog","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":22}},"loc":{"start":{"line":17,"column":42},"end":{"line":49,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":72},"end":{"line":21,"column":73}},"loc":{"start":{"line":21,"column":88},"end":{"line":30,"column":3}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":55},"end":{"line":27,"column":56}},"loc":{"start":{"line":27,"column":64},"end":{"line":29,"column":5}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":38},"end":{"line":32,"column":39}},"loc":{"start":{"line":32,"column":44},"end":{"line":34,"column":3}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":31},"end":{"line":36,"column":32}},"loc":{"start":{"line":36,"column":37},"end":{"line":39,"column":3}},"line":36},"6":{"name":"(anonymous_6)","decl":{"start":{"line":41,"column":32},"end":{"line":41,"column":33}},"loc":{"start":{"line":41,"column":38},"end":{"line":44,"column":3}},"line":41},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":17},"end":{"line":46,"column":18}},"loc":{"start":{"line":46,"column":24},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},{"start":{"line":24,"column":11},"end":{"line":26,"column":5}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePushDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePushDialog.tsx","statementMap":{"0":{"start":{"line":22,"column":72},"end":{"line":22,"column":80}},"1":{"start":{"line":24,"column":25},"end":{"line":24,"column":60}},"2":{"start":{"line":25,"column":19},"end":{"line":25,"column":42}},"3":{"start":{"line":27,"column":52},"end":{"line":36,"column":16}},"4":{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},"5":{"start":{"line":29,"column":6},"end":{"line":29,"column":63}},"6":{"start":{"line":31,"column":6},"end":{"line":31,"column":74}},"7":{"start":{"line":33,"column":4},"end":{"line":35,"column":7}},"8":{"start":{"line":34,"column":6},"end":{"line":34,"column":28}},"9":{"start":{"line":38,"column":26},"end":{"line":40,"column":16}},"10":{"start":{"line":39,"column":4},"end":{"line":39,"column":57}},"11":{"start":{"line":42,"column":19},"end":{"line":45,"column":23}},"12":{"start":{"line":43,"column":4},"end":{"line":43,"column":22}},"13":{"start":{"line":44,"column":4},"end":{"line":44,"column":26}},"14":{"start":{"line":47,"column":20},"end":{"line":50,"column":16}},"15":{"start":{"line":48,"column":4},"end":{"line":48,"column":61}},"16":{"start":{"line":49,"column":4},"end":{"line":49,"column":53}},"17":{"start":{"line":52,"column":2},"end":{"line":54,"column":74}},"18":{"start":{"line":52,"column":24},"end":{"line":54,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":72},"end":{"line":22,"column":73}},"loc":{"start":{"line":22,"column":78},"end":{"line":22,"column":80}},"line":22},"1":{"name":"usePushDialog","decl":{"start":{"line":23,"column":9},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":42},"end":{"line":55,"column":1}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":64},"end":{"line":27,"column":65}},"loc":{"start":{"line":27,"column":90},"end":{"line":36,"column":3}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":55},"end":{"line":33,"column":56}},"loc":{"start":{"line":33,"column":64},"end":{"line":35,"column":5}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":38},"end":{"line":38,"column":39}},"loc":{"start":{"line":38,"column":44},"end":{"line":40,"column":3}},"line":38},"5":{"name":"(anonymous_5)","decl":{"start":{"line":42,"column":31},"end":{"line":42,"column":32}},"loc":{"start":{"line":42,"column":37},"end":{"line":45,"column":3}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":47,"column":32},"end":{"line":47,"column":33}},"loc":{"start":{"line":47,"column":81},"end":{"line":50,"column":3}},"line":47},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":17},"end":{"line":52,"column":18}},"loc":{"start":{"line":52,"column":24},"end":{"line":54,"column":3}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},{"start":{"line":30,"column":11},"end":{"line":32,"column":5}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useReferenceTokenType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useReferenceTokenType.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":28,"column":13}},"1":{"start":{"line":6,"column":4},"end":{"line":27,"column":5}},"2":{"start":{"line":8,"column":8},"end":{"line":8,"column":76}},"3":{"start":{"line":10,"column":8},"end":{"line":10,"column":77}},"4":{"start":{"line":12,"column":8},"end":{"line":12,"column":83}},"5":{"start":{"line":14,"column":8},"end":{"line":14,"column":82}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":82}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":80}},"8":{"start":{"line":20,"column":8},"end":{"line":20,"column":87}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":86}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":84}},"11":{"start":{"line":26,"column":8},"end":{"line":26,"column":22}}},"fnMap":{"0":{"name":"useReferenceTokenType","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":70},"end":{"line":29,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":18}},"loc":{"start":{"line":5,"column":23},"end":{"line":28,"column":3}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":27,"column":5}},"type":"switch","locations":[{"start":{"line":7,"column":6},"end":{"line":8,"column":76}},{"start":{"line":9,"column":6},"end":{"line":10,"column":77}},{"start":{"line":11,"column":6},"end":{"line":12,"column":83}},{"start":{"line":13,"column":6},"end":{"line":14,"column":82}},{"start":{"line":15,"column":6},"end":{"line":16,"column":82}},{"start":{"line":17,"column":6},"end":{"line":18,"column":80}},{"start":{"line":19,"column":6},"end":{"line":20,"column":87}},{"start":{"line":21,"column":6},"end":{"line":22,"column":86}},{"start":{"line":23,"column":6},"end":{"line":24,"column":84}},{"start":{"line":25,"column":6},"end":{"line":26,"column":22}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useStorageSizeWarning.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useStorageSizeWarning.tsx","statementMap":{"0":{"start":{"line":9,"column":22},"end":{"line":9,"column":34}},"1":{"start":{"line":10,"column":16},"end":{"line":10,"column":42}},"2":{"start":{"line":11,"column":19},"end":{"line":11,"column":42}},"3":{"start":{"line":13,"column":2},"end":{"line":35,"column":29}},"4":{"start":{"line":15,"column":6},"end":{"line":24,"column":8}},"5":{"start":{"line":27,"column":22},"end":{"line":31,"column":6}},"6":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"7":{"start":{"line":33,"column":6},"end":{"line":33,"column":51}}},"fnMap":{"0":{"name":"useStorageSizeWarning","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":37}},"loc":{"start":{"line":8,"column":40},"end":{"line":36,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":21},"end":{"line":13,"column":22}},"loc":{"start":{"line":13,"column":33},"end":{"line":35,"column":3}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useTypeForProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useTypeForProperty.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":35,"column":17}},"1":{"start":{"line":7,"column":4},"end":{"line":34,"column":5}},"2":{"start":{"line":10,"column":8},"end":{"line":10,"column":33}},"3":{"start":{"line":18,"column":8},"end":{"line":18,"column":34}},"4":{"start":{"line":23,"column":8},"end":{"line":23,"column":40}},"5":{"start":{"line":26,"column":8},"end":{"line":26,"column":32}},"6":{"start":{"line":31,"column":8},"end":{"line":31,"column":39}},"7":{"start":{"line":33,"column":8},"end":{"line":33,"column":24}}},"fnMap":{"0":{"name":"useTypeForProperty","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":61},"end":{"line":36,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"loc":{"start":{"line":6,"column":23},"end":{"line":35,"column":3}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":34,"column":5}},"type":"switch","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":28}},{"start":{"line":9,"column":6},"end":{"line":10,"column":33}},{"start":{"line":11,"column":6},"end":{"line":11,"column":34}},{"start":{"line":12,"column":6},"end":{"line":12,"column":38}},{"start":{"line":13,"column":6},"end":{"line":13,"column":40}},{"start":{"line":14,"column":6},"end":{"line":14,"column":33}},{"start":{"line":15,"column":6},"end":{"line":15,"column":34}},{"start":{"line":16,"column":6},"end":{"line":16,"column":36}},{"start":{"line":17,"column":6},"end":{"line":18,"column":34}},{"start":{"line":19,"column":6},"end":{"line":19,"column":42}},{"start":{"line":20,"column":6},"end":{"line":20,"column":43}},{"start":{"line":21,"column":6},"end":{"line":21,"column":45}},{"start":{"line":22,"column":6},"end":{"line":23,"column":40}},{"start":{"line":24,"column":6},"end":{"line":24,"column":34}},{"start":{"line":25,"column":6},"end":{"line":26,"column":32}},{"start":{"line":27,"column":6},"end":{"line":27,"column":37}},{"start":{"line":28,"column":6},"end":{"line":28,"column":38}},{"start":{"line":29,"column":6},"end":{"line":29,"column":39}},{"start":{"line":30,"column":6},"end":{"line":31,"column":39}},{"start":{"line":32,"column":6},"end":{"line":33,"column":24}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/preview.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/preview.tsx","statementMap":{"0":{"start":{"line":35,"column":20},"end":{"line":35,"column":43}},"1":{"start":{"line":37,"column":17},"end":{"line":41,"column":1}},"2":{"start":{"line":44,"column":36},"end":{"line":55,"column":1}},"3":{"start":{"line":58,"column":62},"end":{"line":88,"column":1}},"4":{"start":{"line":90,"column":20},"end":{"line":94,"column":1}},"5":{"start":{"line":96,"column":28},"end":{"line":104,"column":1}},"6":{"start":{"line":97,"column":20},"end":{"line":100,"column":4}},"7":{"start":{"line":102,"column":14},"end":{"line":102,"column":40}},"8":{"start":{"line":103,"column":2},"end":{"line":103,"column":45}},"9":{"start":{"line":106,"column":24},"end":{"line":186,"column":1}},"10":{"start":{"line":107,"column":28},"end":{"line":110,"column":29}},"11":{"start":{"line":111,"column":28},"end":{"line":111,"column":40}},"12":{"start":{"line":112,"column":31},"end":{"line":122,"column":23}},"13":{"start":{"line":113,"column":4},"end":{"line":121,"column":5}},"14":{"start":{"line":114,"column":6},"end":{"line":114,"column":22}},"15":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"16":{"start":{"line":116,"column":8},"end":{"line":116,"column":21}},"17":{"start":{"line":118,"column":6},"end":{"line":118,"column":20}},"18":{"start":{"line":120,"column":6},"end":{"line":120,"column":33}},"19":{"start":{"line":123,"column":26},"end":{"line":123,"column":41}},"20":{"start":{"line":125,"column":18},"end":{"line":125,"column":22}},"21":{"start":{"line":127,"column":32},"end":{"line":133,"column":26}},"22":{"start":{"line":128,"column":4},"end":{"line":128,"column":23}},"23":{"start":{"line":129,"column":20},"end":{"line":129,"column":37}},"24":{"start":{"line":130,"column":4},"end":{"line":130,"column":33}},"25":{"start":{"line":132,"column":4},"end":{"line":132,"column":18}},"26":{"start":{"line":135,"column":2},"end":{"line":185,"column":4}},"27":{"start":{"line":188,"column":32},"end":{"line":199,"column":1}},"28":{"start":{"line":189,"column":2},"end":{"line":198,"column":10}},"29":{"start":{"line":201,"column":28},"end":{"line":279,"column":1}},"30":{"start":{"line":204,"column":2},"end":{"line":208,"column":9}},"31":{"start":{"line":205,"column":4},"end":{"line":207,"column":7}},"32":{"start":{"line":209,"column":27},"end":{"line":211,"column":30}},"33":{"start":{"line":210,"column":4},"end":{"line":210,"column":44}},"34":{"start":{"line":212,"column":26},"end":{"line":212,"column":41}},"35":{"start":{"line":214,"column":2},"end":{"line":278,"column":4}},"36":{"start":{"line":281,"column":15},"end":{"line":285,"column":1}},"37":{"start":{"line":288,"column":22},"end":{"line":288,"column":108}},"38":{"start":{"line":289,"column":58},"end":{"line":289,"column":70}},"39":{"start":{"line":290,"column":19},"end":{"line":290,"column":42}},"40":{"start":{"line":291,"column":19},"end":{"line":291,"column":53}},"41":{"start":{"line":292,"column":18},"end":{"line":292,"column":46}},"42":{"start":{"line":297,"column":6},"end":{"line":297,"column":23}},"43":{"start":{"line":299,"column":2},"end":{"line":313,"column":9}},"44":{"start":{"line":300,"column":4},"end":{"line":306,"column":5}},"45":{"start":{"line":301,"column":6},"end":{"line":305,"column":7}},"46":{"start":{"line":302,"column":8},"end":{"line":302,"column":60}},"47":{"start":{"line":303,"column":13},"end":{"line":305,"column":7}},"48":{"start":{"line":304,"column":8},"end":{"line":304,"column":49}},"49":{"start":{"line":307,"column":4},"end":{"line":309,"column":5}},"50":{"start":{"line":308,"column":6},"end":{"line":308,"column":46}},"51":{"start":{"line":310,"column":4},"end":{"line":312,"column":5}},"52":{"start":{"line":311,"column":6},"end":{"line":311,"column":47}},"53":{"start":{"line":315,"column":2},"end":{"line":321,"column":43}},"54":{"start":{"line":316,"column":4},"end":{"line":320,"column":5}},"55":{"start":{"line":317,"column":6},"end":{"line":319,"column":9}},"56":{"start":{"line":323,"column":26},"end":{"line":325,"column":18}},"57":{"start":{"line":323,"column":48},"end":{"line":325,"column":3}},"58":{"start":{"line":324,"column":4},"end":{"line":324,"column":43}},"59":{"start":{"line":326,"column":27},"end":{"line":341,"column":3}},"60":{"start":{"line":327,"column":22},"end":{"line":339,"column":5}},"61":{"start":{"line":328,"column":6},"end":{"line":338,"column":7}},"62":{"start":{"line":329,"column":8},"end":{"line":329,"column":38}},"63":{"start":{"line":331,"column":24},"end":{"line":331,"column":95}},"64":{"start":{"line":332,"column":8},"end":{"line":337,"column":9}},"65":{"start":{"line":333,"column":10},"end":{"line":333,"column":39}},"66":{"start":{"line":334,"column":10},"end":{"line":336,"column":13}},"67":{"start":{"line":343,"column":33},"end":{"line":345,"column":8}},"68":{"start":{"line":344,"column":4},"end":{"line":344,"column":32}},"69":{"start":{"line":351,"column":4},"end":{"line":438,"column":12}},"70":{"start":{"line":383,"column":14},"end":{"line":389,"column":34}},"71":{"start":{"line":408,"column":14},"end":{"line":414,"column":34}},"72":{"start":{"line":441,"column":2},"end":{"line":499,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":96,"column":28},"end":{"line":96,"column":29}},"loc":{"start":{"line":96,"column":41},"end":{"line":104,"column":1}},"line":96},"1":{"name":"(anonymous_1)","decl":{"start":{"line":106,"column":24},"end":{"line":106,"column":25}},"loc":{"start":{"line":106,"column":95},"end":{"line":186,"column":1}},"line":106},"2":{"name":"(anonymous_2)","decl":{"start":{"line":112,"column":43},"end":{"line":112,"column":44}},"loc":{"start":{"line":112,"column":52},"end":{"line":122,"column":3}},"line":112},"3":{"name":"(anonymous_3)","decl":{"start":{"line":127,"column":44},"end":{"line":127,"column":45}},"loc":{"start":{"line":127,"column":79},"end":{"line":133,"column":3}},"line":127},"4":{"name":"(anonymous_4)","decl":{"start":{"line":188,"column":32},"end":{"line":188,"column":33}},"loc":{"start":{"line":189,"column":2},"end":{"line":198,"column":10}},"line":189},"5":{"name":"(anonymous_5)","decl":{"start":{"line":201,"column":28},"end":{"line":201,"column":29}},"loc":{"start":{"line":203,"column":143},"end":{"line":279,"column":1}},"line":203},"6":{"name":"(anonymous_6)","decl":{"start":{"line":204,"column":12},"end":{"line":204,"column":13}},"loc":{"start":{"line":204,"column":18},"end":{"line":208,"column":3}},"line":204},"7":{"name":"(anonymous_7)","decl":{"start":{"line":209,"column":39},"end":{"line":209,"column":40}},"loc":{"start":{"line":209,"column":45},"end":{"line":211,"column":3}},"line":209},"8":{"name":"PreviewApp","decl":{"start":{"line":287,"column":9},"end":{"line":287,"column":19}},"loc":{"start":{"line":287,"column":59},"end":{"line":500,"column":1}},"line":287},"9":{"name":"(anonymous_9)","decl":{"start":{"line":299,"column":12},"end":{"line":299,"column":13}},"loc":{"start":{"line":299,"column":18},"end":{"line":313,"column":3}},"line":299},"10":{"name":"(anonymous_10)","decl":{"start":{"line":315,"column":12},"end":{"line":315,"column":13}},"loc":{"start":{"line":315,"column":18},"end":{"line":321,"column":3}},"line":315},"11":{"name":"(anonymous_11)","decl":{"start":{"line":323,"column":38},"end":{"line":323,"column":39}},"loc":{"start":{"line":323,"column":48},"end":{"line":325,"column":3}},"line":323},"12":{"name":"(anonymous_12)","decl":{"start":{"line":323,"column":48},"end":{"line":323,"column":49}},"loc":{"start":{"line":323,"column":54},"end":{"line":325,"column":3}},"line":323},"13":{"name":"(anonymous_13)","decl":{"start":{"line":327,"column":4},"end":{"line":327,"column":5}},"loc":{"start":{"line":327,"column":22},"end":{"line":339,"column":5}},"line":327},"14":{"name":"(anonymous_14)","decl":{"start":{"line":327,"column":22},"end":{"line":327,"column":23}},"loc":{"start":{"line":327,"column":28},"end":{"line":339,"column":5}},"line":327},"15":{"name":"(anonymous_15)","decl":{"start":{"line":343,"column":45},"end":{"line":343,"column":46}},"loc":{"start":{"line":343,"column":51},"end":{"line":345,"column":3}},"line":343},"16":{"name":"(anonymous_16)","decl":{"start":{"line":382,"column":36},"end":{"line":382,"column":37}},"loc":{"start":{"line":383,"column":14},"end":{"line":389,"column":34}},"line":383},"17":{"name":"(anonymous_17)","decl":{"start":{"line":407,"column":58},"end":{"line":407,"column":59}},"loc":{"start":{"line":408,"column":14},"end":{"line":414,"column":34}},"line":408}},"branchMap":{"0":{"loc":{"start":{"line":107,"column":37},"end":{"line":110,"column":28}},"type":"binary-expr","locations":[{"start":{"line":107,"column":37},"end":{"line":110,"column":22}},{"start":{"line":110,"column":26},"end":{"line":110,"column":28}}],"line":107},"1":{"loc":{"start":{"line":110,"column":4},"end":{"line":110,"column":21}},"type":"binary-expr","locations":[{"start":{"line":110,"column":4},"end":{"line":110,"column":8}},{"start":{"line":110,"column":12},"end":{"line":110,"column":21}}],"line":110},"2":{"loc":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"type":"if","locations":[{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},{"start":{},"end":{}}],"line":115},"3":{"loc":{"start":{"line":159,"column":19},"end":{"line":159,"column":55}},"type":"cond-expr","locations":[{"start":{"line":159,"column":33},"end":{"line":159,"column":42}},{"start":{"line":159,"column":45},"end":{"line":159,"column":55}}],"line":159},"4":{"loc":{"start":{"line":173,"column":32},"end":{"line":173,"column":45}},"type":"cond-expr","locations":[{"start":{"line":173,"column":40},"end":{"line":173,"column":41}},{"start":{"line":173,"column":44},"end":{"line":173,"column":45}}],"line":173},"5":{"loc":{"start":{"line":173,"column":70},"end":{"line":173,"column":82}},"type":"binary-expr","locations":[{"start":{"line":173,"column":70},"end":{"line":173,"column":75}},{"start":{"line":173,"column":79},"end":{"line":173,"column":82}}],"line":173},"6":{"loc":{"start":{"line":179,"column":28},"end":{"line":179,"column":47}},"type":"binary-expr","locations":[{"start":{"line":179,"column":28},"end":{"line":179,"column":36}},{"start":{"line":179,"column":40},"end":{"line":179,"column":47}}],"line":179},"7":{"loc":{"start":{"line":202,"column":2},"end":{"line":202,"column":14}},"type":"default-arg","locations":[{"start":{"line":202,"column":11},"end":{"line":202,"column":14}}],"line":202},"8":{"loc":{"start":{"line":202,"column":16},"end":{"line":202,"column":30}},"type":"default-arg","locations":[{"start":{"line":202,"column":24},"end":{"line":202,"column":30}}],"line":202},"9":{"loc":{"start":{"line":202,"column":42},"end":{"line":202,"column":50}},"type":"default-arg","locations":[{"start":{"line":202,"column":48},"end":{"line":202,"column":50}}],"line":202},"10":{"loc":{"start":{"line":239,"column":11},"end":{"line":267,"column":11}},"type":"cond-expr","locations":[{"start":{"line":240,"column":12},"end":{"line":252,"column":14}},{"start":{"line":254,"column":12},"end":{"line":266,"column":14}}],"line":239},"11":{"loc":{"start":{"line":245,"column":25},"end":{"line":245,"column":56}},"type":"cond-expr","locations":[{"start":{"line":245,"column":39},"end":{"line":245,"column":46}},{"start":{"line":245,"column":49},"end":{"line":245,"column":56}}],"line":245},"12":{"loc":{"start":{"line":259,"column":25},"end":{"line":259,"column":56}},"type":"cond-expr","locations":[{"start":{"line":259,"column":39},"end":{"line":259,"column":46}},{"start":{"line":259,"column":49},"end":{"line":259,"column":56}}],"line":259},"13":{"loc":{"start":{"line":300,"column":4},"end":{"line":306,"column":5}},"type":"if","locations":[{"start":{"line":300,"column":4},"end":{"line":306,"column":5}},{"start":{},"end":{}}],"line":300},"14":{"loc":{"start":{"line":301,"column":6},"end":{"line":305,"column":7}},"type":"if","locations":[{"start":{"line":301,"column":6},"end":{"line":305,"column":7}},{"start":{"line":303,"column":13},"end":{"line":305,"column":7}}],"line":301},"15":{"loc":{"start":{"line":303,"column":13},"end":{"line":305,"column":7}},"type":"if","locations":[{"start":{"line":303,"column":13},"end":{"line":305,"column":7}},{"start":{},"end":{}}],"line":303},"16":{"loc":{"start":{"line":307,"column":4},"end":{"line":309,"column":5}},"type":"if","locations":[{"start":{"line":307,"column":4},"end":{"line":309,"column":5}},{"start":{},"end":{}}],"line":307},"17":{"loc":{"start":{"line":310,"column":4},"end":{"line":312,"column":5}},"type":"if","locations":[{"start":{"line":310,"column":4},"end":{"line":312,"column":5}},{"start":{},"end":{}}],"line":310},"18":{"loc":{"start":{"line":316,"column":4},"end":{"line":320,"column":5}},"type":"if","locations":[{"start":{"line":316,"column":4},"end":{"line":320,"column":5}},{"start":{},"end":{}}],"line":316},"19":{"loc":{"start":{"line":316,"column":8},"end":{"line":316,"column":54}},"type":"binary-expr","locations":[{"start":{"line":316,"column":8},"end":{"line":316,"column":25}},{"start":{"line":316,"column":29},"end":{"line":316,"column":54}}],"line":316},"20":{"loc":{"start":{"line":328,"column":6},"end":{"line":338,"column":7}},"type":"if","locations":[{"start":{"line":328,"column":6},"end":{"line":338,"column":7}},{"start":{"line":330,"column":13},"end":{"line":338,"column":7}}],"line":328},"21":{"loc":{"start":{"line":331,"column":24},"end":{"line":331,"column":95}},"type":"cond-expr","locations":[{"start":{"line":331,"column":50},"end":{"line":331,"column":67}},{"start":{"line":331,"column":70},"end":{"line":331,"column":95}}],"line":331},"22":{"loc":{"start":{"line":332,"column":8},"end":{"line":337,"column":9}},"type":"if","locations":[{"start":{"line":332,"column":8},"end":{"line":337,"column":9}},{"start":{},"end":{}}],"line":332},"23":{"loc":{"start":{"line":335,"column":20},"end":{"line":335,"column":70}},"type":"cond-expr","locations":[{"start":{"line":335,"column":46},"end":{"line":335,"column":50}},{"start":{"line":335,"column":53},"end":{"line":335,"column":70}}],"line":335},"24":{"loc":{"start":{"line":366,"column":7},"end":{"line":366,"column":123}},"type":"binary-expr","locations":[{"start":{"line":366,"column":7},"end":{"line":366,"column":27}},{"start":{"line":366,"column":31},"end":{"line":366,"column":123}}],"line":366},"25":{"loc":{"start":{"line":429,"column":31},"end":{"line":429,"column":71}},"type":"cond-expr","locations":[{"start":{"line":429,"column":45},"end":{"line":429,"column":57}},{"start":{"line":429,"column":60},"end":{"line":429,"column":71}}],"line":429},"26":{"loc":{"start":{"line":430,"column":27},"end":{"line":430,"column":67}},"type":"cond-expr","locations":[{"start":{"line":430,"column":41},"end":{"line":430,"column":53}},{"start":{"line":430,"column":56},"end":{"line":430,"column":67}}],"line":430},"27":{"loc":{"start":{"line":434,"column":47},"end":{"line":434,"column":87}},"type":"cond-expr","locations":[{"start":{"line":434,"column":61},"end":{"line":434,"column":73}},{"start":{"line":434,"column":76},"end":{"line":434,"column":87}}],"line":434},"28":{"loc":{"start":{"line":435,"column":11},"end":{"line":435,"column":53}},"type":"cond-expr","locations":[{"start":{"line":435,"column":25},"end":{"line":435,"column":36}},{"start":{"line":435,"column":39},"end":{"line":435,"column":53}}],"line":435},"29":{"loc":{"start":{"line":446,"column":7},"end":{"line":497,"column":7}},"type":"cond-expr","locations":[{"start":{"line":447,"column":8},"end":{"line":464,"column":11}},{"start":{"line":466,"column":8},"end":{"line":496,"column":11}}],"line":446},"30":{"loc":{"start":{"line":450,"column":20},"end":{"line":450,"column":67}},"type":"cond-expr","locations":[{"start":{"line":450,"column":33},"end":{"line":450,"column":39}},{"start":{"line":450,"column":42},"end":{"line":450,"column":67}}],"line":450},"31":{"loc":{"start":{"line":451,"column":19},"end":{"line":451,"column":65}},"type":"cond-expr","locations":[{"start":{"line":451,"column":32},"end":{"line":451,"column":38}},{"start":{"line":451,"column":41},"end":{"line":451,"column":65}}],"line":451},"32":{"loc":{"start":{"line":452,"column":17},"end":{"line":458,"column":25}},"type":"cond-expr","locations":[{"start":{"line":452,"column":30},"end":{"line":458,"column":13}},{"start":{"line":458,"column":16},"end":{"line":458,"column":25}}],"line":452}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0],"8":[0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/previewUtils.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/previewUtils.ts","statementMap":{"0":{"start":{"line":1,"column":32},"end":{"line":8,"column":1}},"1":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":20}},"4":{"start":{"line":7,"column":2},"end":{"line":7,"column":17}},"5":{"start":{"line":10,"column":36},"end":{"line":45,"column":1}},"6":{"start":{"line":11,"column":24},"end":{"line":11,"column":65}},"7":{"start":{"line":12,"column":17},"end":{"line":12,"column":53}},"8":{"start":{"line":14,"column":2},"end":{"line":41,"column":3}},"9":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"10":{"start":{"line":17,"column":8},"end":{"line":17,"column":43}},"11":{"start":{"line":20,"column":6},"end":{"line":20,"column":12}},"12":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"13":{"start":{"line":24,"column":8},"end":{"line":24,"column":40}},"14":{"start":{"line":27,"column":6},"end":{"line":27,"column":12}},"15":{"start":{"line":30,"column":26},"end":{"line":30,"column":51}},"16":{"start":{"line":31,"column":6},"end":{"line":35,"column":7}},"17":{"start":{"line":32,"column":8},"end":{"line":32,"column":40}},"18":{"start":{"line":33,"column":13},"end":{"line":35,"column":7}},"19":{"start":{"line":34,"column":8},"end":{"line":34,"column":43}},"20":{"start":{"line":36,"column":6},"end":{"line":36,"column":12}},"21":{"start":{"line":39,"column":6},"end":{"line":39,"column":12}},"22":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"23":{"start":{"line":43,"column":4},"end":{"line":43,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":32},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":38},"end":{"line":8,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":36},"end":{"line":10,"column":37}},"loc":{"start":{"line":10,"column":59},"end":{"line":45,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":2},"1":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},{"start":{},"end":{}}],"line":3},"2":{"loc":{"start":{"line":11,"column":24},"end":{"line":11,"column":65}},"type":"binary-expr","locations":[{"start":{"line":11,"column":24},"end":{"line":11,"column":59}},{"start":{"line":11,"column":63},"end":{"line":11,"column":65}}],"line":11},"3":{"loc":{"start":{"line":14,"column":2},"end":{"line":41,"column":3}},"type":"switch","locations":[{"start":{"line":15,"column":4},"end":{"line":21,"column":5}},{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},{"start":{"line":29,"column":4},"end":{"line":37,"column":5}},{"start":{"line":38,"column":4},"end":{"line":40,"column":5}}],"line":14},"4":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{},"end":{}}],"line":16},"5":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23},"6":{"loc":{"start":{"line":31,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":31,"column":6},"end":{"line":35,"column":7}},{"start":{"line":33,"column":13},"end":{"line":35,"column":7}}],"line":31},"7":{"loc":{"start":{"line":31,"column":10},"end":{"line":31,"column":43}},"type":"binary-expr","locations":[{"start":{"line":31,"column":10},"end":{"line":31,"column":32}},{"start":{"line":31,"column":36},"end":{"line":31,"column":43}}],"line":31},"8":{"loc":{"start":{"line":33,"column":13},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":13},"end":{"line":35,"column":7}},{"start":{},"end":{}}],"line":33},"9":{"loc":{"start":{"line":33,"column":17},"end":{"line":33,"column":50}},"type":"binary-expr","locations":[{"start":{"line":33,"column":17},"end":{"line":33,"column":40}},{"start":{"line":33,"column":44},"end":{"line":33,"column":50}}],"line":33},"10":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":42}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/usePreviewState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/usePreviewState.tsx","statementMap":{"0":{"start":{"line":5,"column":29},"end":{"line":19,"column":1}},"1":{"start":{"line":6,"column":17},"end":{"line":6,"column":67}},"2":{"start":{"line":7,"column":14},"end":{"line":7,"column":37}},"3":{"start":{"line":8,"column":30},"end":{"line":8,"column":68}},"4":{"start":{"line":9,"column":16},"end":{"line":9,"column":47}},"5":{"start":{"line":10,"column":21},"end":{"line":10,"column":54}},"6":{"start":{"line":12,"column":2},"end":{"line":18,"column":4}},"7":{"start":{"line":30,"column":26},"end":{"line":30,"column":58}},"8":{"start":{"line":32,"column":2},"end":{"line":50,"column":13}},"9":{"start":{"line":33,"column":32},"end":{"line":45,"column":5}},"10":{"start":{"line":34,"column":25},"end":{"line":34,"column":40}},"11":{"start":{"line":35,"column":25},"end":{"line":40,"column":12}},"12":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"13":{"start":{"line":37,"column":10},"end":{"line":37,"column":35}},"14":{"start":{"line":39,"column":8},"end":{"line":39,"column":19}},"15":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"16":{"start":{"line":43,"column":8},"end":{"line":43,"column":58}},"17":{"start":{"line":43,"column":28},"end":{"line":43,"column":55}},"18":{"start":{"line":47,"column":4},"end":{"line":47,"column":63}},"19":{"start":{"line":49,"column":4},"end":{"line":49,"column":79}},"20":{"start":{"line":49,"column":17},"end":{"line":49,"column":78}},"21":{"start":{"line":51,"column":21},"end":{"line":61,"column":8}},"22":{"start":{"line":52,"column":22},"end":{"line":52,"column":72}},"23":{"start":{"line":53,"column":4},"end":{"line":59,"column":7}},"24":{"start":{"line":54,"column":18},"end":{"line":54,"column":29}},"25":{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},"26":{"start":{"line":56,"column":8},"end":{"line":56,"column":42}},"27":{"start":{"line":58,"column":6},"end":{"line":58,"column":30}},"28":{"start":{"line":60,"column":4},"end":{"line":60,"column":54}},"29":{"start":{"line":63,"column":2},"end":{"line":63,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":29},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":35},"end":{"line":19,"column":1}},"line":5},"1":{"name":"usePreviewState","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":34},"end":{"line":64,"column":1}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":12},"end":{"line":32,"column":13}},"loc":{"start":{"line":32,"column":18},"end":{"line":50,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":32},"end":{"line":33,"column":33}},"loc":{"start":{"line":33,"column":38},"end":{"line":45,"column":5}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":35,"column":50},"end":{"line":35,"column":51}},"loc":{"start":{"line":35,"column":63},"end":{"line":40,"column":7}},"line":35},"5":{"name":"(anonymous_5)","decl":{"start":{"line":43,"column":16},"end":{"line":43,"column":17}},"loc":{"start":{"line":43,"column":28},"end":{"line":43,"column":55}},"line":43},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":11},"end":{"line":49,"column":12}},"loc":{"start":{"line":49,"column":17},"end":{"line":49,"column":78}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":51,"column":33},"end":{"line":51,"column":34}},"loc":{"start":{"line":51,"column":47},"end":{"line":61,"column":3}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":34},"end":{"line":53,"column":35}},"loc":{"start":{"line":53,"column":41},"end":{"line":59,"column":5}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":14},"end":{"line":7,"column":37}},"type":"binary-expr","locations":[{"start":{"line":7,"column":14},"end":{"line":7,"column":31}},{"start":{"line":7,"column":35},"end":{"line":7,"column":37}}],"line":7},"1":{"loc":{"start":{"line":8,"column":30},"end":{"line":8,"column":68}},"type":"binary-expr","locations":[{"start":{"line":8,"column":30},"end":{"line":8,"column":62}},{"start":{"line":8,"column":66},"end":{"line":8,"column":68}}],"line":8},"2":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":47}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":47}}],"line":9},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":36},"4":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":42},"5":{"loc":{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":56,"column":16},"end":{"line":56,"column":41}},"type":"cond-expr","locations":[{"start":{"line":56,"column":30},"end":{"line":56,"column":36}},{"start":{"line":56,"column":39},"end":{"line":56,"column":41}}],"line":56}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/remoteTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/remoteTokens.tsx","statementMap":{"0":{"start":{"line":50,"column":19},"end":{"line":50,"column":42}},"1":{"start":{"line":51,"column":14},"end":{"line":51,"column":38}},"2":{"start":{"line":52,"column":17},"end":{"line":52,"column":44}},"3":{"start":{"line":53,"column":17},"end":{"line":53,"column":48}},"4":{"start":{"line":54,"column":20},"end":{"line":54,"column":50}},"5":{"start":{"line":55,"column":46},"end":{"line":55,"column":61}},"6":{"start":{"line":57,"column":29},"end":{"line":57,"column":41}},"7":{"start":{"line":58,"column":77},"end":{"line":58,"column":89}},"8":{"start":{"line":59,"column":118},"end":{"line":59,"column":146}},"9":{"start":{"line":68,"column":6},"end":{"line":68,"column":17}},"10":{"start":{"line":77,"column":6},"end":{"line":77,"column":17}},"11":{"start":{"line":85,"column":6},"end":{"line":85,"column":20}},"12":{"start":{"line":88,"column":6},"end":{"line":88,"column":20}},"13":{"start":{"line":94,"column":6},"end":{"line":94,"column":23}},"14":{"start":{"line":102,"column":6},"end":{"line":102,"column":14}},"15":{"start":{"line":103,"column":32},"end":{"line":103,"column":40}},"16":{"start":{"line":104,"column":44},"end":{"line":104,"column":53}},"17":{"start":{"line":106,"column":21},"end":{"line":295,"column":3}},"18":{"start":{"line":115,"column":6},"end":{"line":115,"column":32}},"19":{"start":{"line":116,"column":59},"end":{"line":116,"column":63}},"20":{"start":{"line":117,"column":6},"end":{"line":157,"column":7}},"21":{"start":{"line":119,"column":10},"end":{"line":119,"column":60}},"22":{"start":{"line":120,"column":10},"end":{"line":120,"column":16}},"23":{"start":{"line":123,"column":10},"end":{"line":123,"column":76}},"24":{"start":{"line":124,"column":10},"end":{"line":124,"column":16}},"25":{"start":{"line":127,"column":10},"end":{"line":127,"column":73}},"26":{"start":{"line":128,"column":10},"end":{"line":128,"column":16}},"27":{"start":{"line":131,"column":10},"end":{"line":131,"column":76}},"28":{"start":{"line":132,"column":10},"end":{"line":132,"column":16}},"29":{"start":{"line":135,"column":10},"end":{"line":135,"column":73}},"30":{"start":{"line":136,"column":10},"end":{"line":136,"column":16}},"31":{"start":{"line":139,"column":10},"end":{"line":139,"column":70}},"32":{"start":{"line":140,"column":10},"end":{"line":140,"column":16}},"33":{"start":{"line":143,"column":10},"end":{"line":143,"column":56}},"34":{"start":{"line":144,"column":10},"end":{"line":144,"column":16}},"35":{"start":{"line":147,"column":10},"end":{"line":147,"column":62}},"36":{"start":{"line":148,"column":10},"end":{"line":148,"column":16}},"37":{"start":{"line":151,"column":10},"end":{"line":151,"column":65}},"38":{"start":{"line":152,"column":10},"end":{"line":152,"column":70}},"39":{"start":{"line":153,"column":10},"end":{"line":153,"column":16}},"40":{"start":{"line":156,"column":10},"end":{"line":156,"column":45}},"41":{"start":{"line":158,"column":6},"end":{"line":252,"column":7}},"42":{"start":{"line":159,"column":8},"end":{"line":163,"column":11}},"43":{"start":{"line":164,"column":8},"end":{"line":164,"column":51}},"44":{"start":{"line":165,"column":40},"end":{"line":169,"column":9}},"45":{"start":{"line":170,"column":8},"end":{"line":170,"column":72}},"46":{"start":{"line":171,"column":8},"end":{"line":176,"column":9}},"47":{"start":{"line":172,"column":10},"end":{"line":175,"column":11}},"48":{"start":{"line":173,"column":27},"end":{"line":173,"column":38}},"49":{"start":{"line":174,"column":12},"end":{"line":174,"column":55}},"50":{"start":{"line":177,"column":8},"end":{"line":251,"column":9}},"51":{"start":{"line":178,"column":31},"end":{"line":178,"column":36}},"52":{"start":{"line":179,"column":10},"end":{"line":185,"column":11}},"53":{"start":{"line":180,"column":12},"end":{"line":183,"column":15}},"54":{"start":{"line":184,"column":12},"end":{"line":184,"column":56}},"55":{"start":{"line":186,"column":10},"end":{"line":250,"column":11}},"56":{"start":{"line":187,"column":12},"end":{"line":223,"column":13}},"57":{"start":{"line":189,"column":16},"end":{"line":189,"column":22}},"58":{"start":{"line":192,"column":16},"end":{"line":192,"column":22}},"59":{"start":{"line":195,"column":16},"end":{"line":198,"column":19}},"60":{"start":{"line":199,"column":16},"end":{"line":199,"column":22}},"61":{"start":{"line":202,"column":16},"end":{"line":202,"column":22}},"62":{"start":{"line":205,"column":16},"end":{"line":208,"column":19}},"63":{"start":{"line":209,"column":16},"end":{"line":209,"column":22}},"64":{"start":{"line":212,"column":16},"end":{"line":212,"column":22}},"65":{"start":{"line":215,"column":16},"end":{"line":215,"column":22}},"66":{"start":{"line":218,"column":16},"end":{"line":218,"column":98}},"67":{"start":{"line":219,"column":16},"end":{"line":219,"column":22}},"68":{"start":{"line":222,"column":16},"end":{"line":222,"column":22}},"69":{"start":{"line":224,"column":48},"end":{"line":224,"column":71}},"70":{"start":{"line":226,"column":35},"end":{"line":233,"column":18}},"71":{"start":{"line":228,"column":16},"end":{"line":230,"column":17}},"72":{"start":{"line":228,"column":49},"end":{"line":228,"column":78}},"73":{"start":{"line":229,"column":18},"end":{"line":229,"column":46}},"74":{"start":{"line":231,"column":16},"end":{"line":231,"column":27}},"75":{"start":{"line":235,"column":12},"end":{"line":245,"column":13}},"76":{"start":{"line":236,"column":14},"end":{"line":242,"column":17}},"77":{"start":{"line":244,"column":14},"end":{"line":244,"column":82}},"78":{"start":{"line":246,"column":12},"end":{"line":249,"column":15}},"79":{"start":{"line":253,"column":6},"end":{"line":271,"column":7}},"80":{"start":{"line":254,"column":8},"end":{"line":268,"column":9}},"81":{"start":{"line":255,"column":27},"end":{"line":255,"column":64}},"82":{"start":{"line":256,"column":30},"end":{"line":256,"column":104}},"83":{"start":{"line":256,"column":84},"end":{"line":256,"column":100}},"84":{"start":{"line":257,"column":29},"end":{"line":257,"column":66}},"85":{"start":{"line":258,"column":30},"end":{"line":258,"column":41}},"86":{"start":{"line":259,"column":10},"end":{"line":265,"column":13}},"87":{"start":{"line":267,"column":10},"end":{"line":267,"column":70}},"88":{"start":{"line":270,"column":8},"end":{"line":270,"column":25}},"89":{"start":{"line":273,"column":6},"end":{"line":273,"column":46}},"90":{"start":{"line":274,"column":6},"end":{"line":274,"column":24}},"91":{"start":{"line":275,"column":6},"end":{"line":275,"column":24}},"92":{"start":{"line":297,"column":32},"end":{"line":361,"column":3}},"93":{"start":{"line":299,"column":6},"end":{"line":299,"column":69}},"94":{"start":{"line":300,"column":6},"end":{"line":300,"column":49}},"95":{"start":{"line":301,"column":6},"end":{"line":301,"column":43}},"96":{"start":{"line":302,"column":6},"end":{"line":302,"column":51}},"97":{"start":{"line":303,"column":6},"end":{"line":303,"column":71}},"98":{"start":{"line":304,"column":47},"end":{"line":304,"column":51}},"99":{"start":{"line":305,"column":6},"end":{"line":333,"column":7}},"100":{"start":{"line":307,"column":10},"end":{"line":307,"column":56}},"101":{"start":{"line":308,"column":10},"end":{"line":308,"column":16}},"102":{"start":{"line":311,"column":10},"end":{"line":311,"column":56}},"103":{"start":{"line":312,"column":10},"end":{"line":312,"column":16}},"104":{"start":{"line":315,"column":10},"end":{"line":315,"column":59}},"105":{"start":{"line":316,"column":10},"end":{"line":316,"column":16}},"106":{"start":{"line":319,"column":10},"end":{"line":319,"column":53}},"107":{"start":{"line":320,"column":10},"end":{"line":320,"column":16}},"108":{"start":{"line":323,"column":10},"end":{"line":323,"column":59}},"109":{"start":{"line":324,"column":10},"end":{"line":324,"column":16}},"110":{"start":{"line":327,"column":10},"end":{"line":327,"column":62}},"111":{"start":{"line":328,"column":10},"end":{"line":328,"column":70}},"112":{"start":{"line":329,"column":10},"end":{"line":329,"column":16}},"113":{"start":{"line":332,"column":10},"end":{"line":332,"column":50}},"114":{"start":{"line":334,"column":6},"end":{"line":339,"column":7}},"115":{"start":{"line":335,"column":8},"end":{"line":338,"column":10}},"116":{"start":{"line":340,"column":6},"end":{"line":344,"column":7}},"117":{"start":{"line":341,"column":8},"end":{"line":343,"column":10}},"118":{"start":{"line":345,"column":6},"end":{"line":348,"column":8}},"119":{"start":{"line":363,"column":21},"end":{"line":430,"column":3}},"120":{"start":{"line":365,"column":23},"end":{"line":365,"column":84}},"121":{"start":{"line":367,"column":6},"end":{"line":394,"column":7}},"122":{"start":{"line":369,"column":10},"end":{"line":369,"column":68}},"123":{"start":{"line":370,"column":10},"end":{"line":370,"column":16}},"124":{"start":{"line":373,"column":10},"end":{"line":373,"column":57}},"125":{"start":{"line":374,"column":10},"end":{"line":374,"column":16}},"126":{"start":{"line":377,"column":10},"end":{"line":377,"column":60}},"127":{"start":{"line":378,"column":10},"end":{"line":378,"column":16}},"128":{"start":{"line":381,"column":10},"end":{"line":381,"column":54}},"129":{"start":{"line":382,"column":10},"end":{"line":382,"column":16}},"130":{"start":{"line":385,"column":10},"end":{"line":385,"column":60}},"131":{"start":{"line":386,"column":10},"end":{"line":386,"column":16}},"132":{"start":{"line":389,"column":10},"end":{"line":389,"column":63}},"133":{"start":{"line":390,"column":10},"end":{"line":390,"column":16}},"134":{"start":{"line":393,"column":10},"end":{"line":393,"column":45}},"135":{"start":{"line":395,"column":6},"end":{"line":414,"column":7}},"136":{"start":{"line":396,"column":8},"end":{"line":411,"column":9}},"137":{"start":{"line":397,"column":27},"end":{"line":397,"column":53}},"138":{"start":{"line":398,"column":30},"end":{"line":398,"column":93}},"139":{"start":{"line":398,"column":73},"end":{"line":398,"column":89}},"140":{"start":{"line":399,"column":29},"end":{"line":399,"column":55}},"141":{"start":{"line":400,"column":30},"end":{"line":400,"column":41}},"142":{"start":{"line":401,"column":10},"end":{"line":408,"column":13}},"143":{"start":{"line":410,"column":10},"end":{"line":410,"column":80}},"144":{"start":{"line":413,"column":8},"end":{"line":413,"column":25}},"145":{"start":{"line":415,"column":6},"end":{"line":417,"column":7}},"146":{"start":{"line":416,"column":8},"end":{"line":416,"column":61}},"147":{"start":{"line":432,"column":29},"end":{"line":533,"column":3}},"148":{"start":{"line":434,"column":47},"end":{"line":434,"column":51}},"149":{"start":{"line":435,"column":6},"end":{"line":498,"column":7}},"150":{"start":{"line":437,"column":10},"end":{"line":451,"column":11}},"151":{"start":{"line":438,"column":12},"end":{"line":438,"column":63}},"152":{"start":{"line":440,"column":23},"end":{"line":440,"column":58}},"153":{"start":{"line":441,"column":12},"end":{"line":446,"column":13}},"154":{"start":{"line":442,"column":14},"end":{"line":442,"column":34}},"155":{"start":{"line":443,"column":14},"end":{"line":445,"column":16}},"156":{"start":{"line":447,"column":12},"end":{"line":450,"column":14}},"157":{"start":{"line":452,"column":10},"end":{"line":452,"column":16}},"158":{"start":{"line":455,"column":10},"end":{"line":465,"column":11}},"159":{"start":{"line":456,"column":12},"end":{"line":456,"column":72}},"160":{"start":{"line":458,"column":23},"end":{"line":458,"column":74}},"161":{"start":{"line":459,"column":12},"end":{"line":464,"column":13}},"162":{"start":{"line":460,"column":14},"end":{"line":460,"column":34}},"163":{"start":{"line":461,"column":14},"end":{"line":463,"column":16}},"164":{"start":{"line":466,"column":10},"end":{"line":466,"column":16}},"165":{"start":{"line":469,"column":10},"end":{"line":469,"column":63}},"166":{"start":{"line":470,"column":10},"end":{"line":470,"column":16}},"167":{"start":{"line":473,"column":10},"end":{"line":473,"column":63}},"168":{"start":{"line":474,"column":10},"end":{"line":474,"column":16}},"169":{"start":{"line":477,"column":10},"end":{"line":477,"column":66}},"170":{"start":{"line":478,"column":10},"end":{"line":478,"column":16}},"171":{"start":{"line":481,"column":10},"end":{"line":481,"column":60}},"172":{"start":{"line":482,"column":10},"end":{"line":482,"column":16}},"173":{"start":{"line":485,"column":10},"end":{"line":485,"column":57}},"174":{"start":{"line":486,"column":10},"end":{"line":486,"column":16}},"175":{"start":{"line":489,"column":10},"end":{"line":489,"column":66}},"176":{"start":{"line":490,"column":10},"end":{"line":490,"column":16}},"177":{"start":{"line":493,"column":10},"end":{"line":493,"column":69}},"178":{"start":{"line":494,"column":10},"end":{"line":494,"column":16}},"179":{"start":{"line":497,"column":10},"end":{"line":497,"column":45}},"180":{"start":{"line":499,"column":6},"end":{"line":504,"column":7}},"181":{"start":{"line":500,"column":8},"end":{"line":503,"column":10}},"182":{"start":{"line":505,"column":6},"end":{"line":512,"column":7}},"183":{"start":{"line":506,"column":8},"end":{"line":506,"column":81}},"184":{"start":{"line":507,"column":8},"end":{"line":507,"column":75}},"185":{"start":{"line":508,"column":8},"end":{"line":508,"column":103}},"186":{"start":{"line":509,"column":8},"end":{"line":511,"column":10}},"187":{"start":{"line":513,"column":6},"end":{"line":516,"column":8}},"188":{"start":{"line":535,"column":23},"end":{"line":561,"column":3}},"189":{"start":{"line":537,"column":29},"end":{"line":537,"column":34}},"190":{"start":{"line":538,"column":6},"end":{"line":557,"column":7}},"191":{"start":{"line":540,"column":10},"end":{"line":540,"column":79}},"192":{"start":{"line":541,"column":10},"end":{"line":541,"column":16}},"193":{"start":{"line":544,"column":10},"end":{"line":544,"column":79}},"194":{"start":{"line":545,"column":10},"end":{"line":545,"column":16}},"195":{"start":{"line":548,"column":10},"end":{"line":548,"column":82}},"196":{"start":{"line":549,"column":10},"end":{"line":549,"column":16}},"197":{"start":{"line":552,"column":10},"end":{"line":552,"column":76}},"198":{"start":{"line":553,"column":10},"end":{"line":553,"column":16}},"199":{"start":{"line":556,"column":10},"end":{"line":556,"column":45}},"200":{"start":{"line":558,"column":6},"end":{"line":558,"column":30}},"201":{"start":{"line":563,"column":24},"end":{"line":579,"column":3}},"202":{"start":{"line":565,"column":6},"end":{"line":576,"column":7}},"203":{"start":{"line":567,"column":10},"end":{"line":567,"column":46}},"204":{"start":{"line":569,"column":10},"end":{"line":569,"column":46}},"205":{"start":{"line":571,"column":10},"end":{"line":571,"column":49}},"206":{"start":{"line":573,"column":10},"end":{"line":573,"column":43}},"207":{"start":{"line":575,"column":10},"end":{"line":575,"column":22}},"208":{"start":{"line":581,"column":25},"end":{"line":586,"column":8}},"209":{"start":{"line":582,"column":4},"end":{"line":585,"column":7}},"210":{"start":{"line":588,"column":41},"end":{"line":625,"column":3}},"211":{"start":{"line":598,"column":6},"end":{"line":598,"column":46}},"212":{"start":{"line":599,"column":6},"end":{"line":599,"column":81}},"213":{"start":{"line":601,"column":6},"end":{"line":621,"column":7}},"214":{"start":{"line":602,"column":27},"end":{"line":602,"column":69}},"215":{"start":{"line":603,"column":8},"end":{"line":618,"column":9}},"216":{"start":{"line":604,"column":31},"end":{"line":607,"column":11}},"217":{"start":{"line":608,"column":10},"end":{"line":613,"column":13}},"218":{"start":{"line":614,"column":10},"end":{"line":617,"column":13}},"219":{"start":{"line":619,"column":8},"end":{"line":619,"column":76}},"220":{"start":{"line":620,"column":8},"end":{"line":620,"column":26}},"221":{"start":{"line":622,"column":6},"end":{"line":622,"column":18}},"222":{"start":{"line":627,"column":28},"end":{"line":667,"column":3}},"223":{"start":{"line":629,"column":22},"end":{"line":629,"column":27}},"224":{"start":{"line":630,"column":6},"end":{"line":662,"column":7}},"225":{"start":{"line":632,"column":10},"end":{"line":632,"column":28}},"226":{"start":{"line":633,"column":10},"end":{"line":633,"column":16}},"227":{"start":{"line":636,"column":10},"end":{"line":636,"column":28}},"228":{"start":{"line":637,"column":10},"end":{"line":637,"column":16}},"229":{"start":{"line":640,"column":10},"end":{"line":640,"column":64}},"230":{"start":{"line":641,"column":10},"end":{"line":641,"column":16}},"231":{"start":{"line":644,"column":10},"end":{"line":644,"column":28}},"232":{"start":{"line":645,"column":10},"end":{"line":645,"column":16}},"233":{"start":{"line":648,"column":10},"end":{"line":648,"column":64}},"234":{"start":{"line":649,"column":10},"end":{"line":649,"column":16}},"235":{"start":{"line":652,"column":10},"end":{"line":652,"column":28}},"236":{"start":{"line":653,"column":10},"end":{"line":653,"column":16}},"237":{"start":{"line":656,"column":10},"end":{"line":656,"column":28}},"238":{"start":{"line":657,"column":10},"end":{"line":657,"column":16}},"239":{"start":{"line":660,"column":10},"end":{"line":660,"column":28}},"240":{"start":{"line":661,"column":10},"end":{"line":661,"column":16}},"241":{"start":{"line":663,"column":6},"end":{"line":663,"column":53}},"242":{"start":{"line":664,"column":6},"end":{"line":664,"column":23}},"243":{"start":{"line":669,"column":2},"end":{"line":692,"column":4}},"244":{"start":{"line":670,"column":11},"end":{"line":680,"column":5}}},"fnMap":{"0":{"name":"useRemoteTokens","decl":{"start":{"line":49,"column":24},"end":{"line":49,"column":39}},"loc":{"start":{"line":49,"column":42},"end":{"line":693,"column":1}},"line":49},"1":{"name":"(anonymous_1)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":114,"column":29},"end":{"line":276,"column":5}},"line":114},"2":{"name":"(anonymous_2)","decl":{"start":{"line":227,"column":48},"end":{"line":227,"column":49}},"loc":{"start":{"line":227,"column":62},"end":{"line":232,"column":15}},"line":227},"3":{"name":"(anonymous_3)","decl":{"start":{"line":228,"column":38},"end":{"line":228,"column":39}},"loc":{"start":{"line":228,"column":49},"end":{"line":228,"column":78}},"line":228},"4":{"name":"(anonymous_4)","decl":{"start":{"line":256,"column":70},"end":{"line":256,"column":71}},"loc":{"start":{"line":256,"column":84},"end":{"line":256,"column":100}},"line":256},"5":{"name":"(anonymous_5)","decl":{"start":{"line":298,"column":4},"end":{"line":298,"column":5}},"loc":{"start":{"line":298,"column":47},"end":{"line":349,"column":5}},"line":298},"6":{"name":"(anonymous_6)","decl":{"start":{"line":364,"column":4},"end":{"line":364,"column":5}},"loc":{"start":{"line":364,"column":114},"end":{"line":418,"column":5}},"line":364},"7":{"name":"(anonymous_7)","decl":{"start":{"line":398,"column":59},"end":{"line":398,"column":60}},"loc":{"start":{"line":398,"column":73},"end":{"line":398,"column":89}},"line":398},"8":{"name":"(anonymous_8)","decl":{"start":{"line":433,"column":4},"end":{"line":433,"column":5}},"loc":{"start":{"line":433,"column":88},"end":{"line":517,"column":5}},"line":433},"9":{"name":"(anonymous_9)","decl":{"start":{"line":536,"column":4},"end":{"line":536,"column":5}},"loc":{"start":{"line":536,"column":80},"end":{"line":559,"column":5}},"line":536},"10":{"name":"(anonymous_10)","decl":{"start":{"line":564,"column":4},"end":{"line":564,"column":5}},"loc":{"start":{"line":564,"column":47},"end":{"line":577,"column":5}},"line":564},"11":{"name":"(anonymous_11)","decl":{"start":{"line":581,"column":37},"end":{"line":581,"column":38}},"loc":{"start":{"line":581,"column":56},"end":{"line":586,"column":3}},"line":581},"12":{"name":"(anonymous_12)","decl":{"start":{"line":589,"column":4},"end":{"line":589,"column":5}},"loc":{"start":{"line":597,"column":10},"end":{"line":623,"column":5}},"line":597},"13":{"name":"(anonymous_13)","decl":{"start":{"line":628,"column":4},"end":{"line":628,"column":5}},"loc":{"start":{"line":628,"column":71},"end":{"line":665,"column":5}},"line":628},"14":{"name":"(anonymous_14)","decl":{"start":{"line":670,"column":4},"end":{"line":670,"column":5}},"loc":{"start":{"line":670,"column":11},"end":{"line":680,"column":5}},"line":670}},"branchMap":{"0":{"loc":{"start":{"line":108,"column":6},"end":{"line":108,"column":19}},"type":"default-arg","locations":[{"start":{"line":108,"column":16},"end":{"line":108,"column":19}}],"line":108},"1":{"loc":{"start":{"line":113,"column":6},"end":{"line":113,"column":31}},"type":"default-arg","locations":[{"start":{"line":113,"column":26},"end":{"line":113,"column":31}}],"line":113},"2":{"loc":{"start":{"line":117,"column":6},"end":{"line":157,"column":7}},"type":"switch","locations":[{"start":{"line":118,"column":8},"end":{"line":121,"column":9}},{"start":{"line":122,"column":8},"end":{"line":125,"column":9}},{"start":{"line":126,"column":8},"end":{"line":129,"column":9}},{"start":{"line":130,"column":8},"end":{"line":133,"column":9}},{"start":{"line":134,"column":8},"end":{"line":137,"column":9}},{"start":{"line":138,"column":8},"end":{"line":141,"column":9}},{"start":{"line":142,"column":8},"end":{"line":145,"column":9}},{"start":{"line":146,"column":8},"end":{"line":149,"column":9}},{"start":{"line":150,"column":8},"end":{"line":154,"column":9}},{"start":{"line":155,"column":8},"end":{"line":156,"column":45}}],"line":117},"3":{"loc":{"start":{"line":158,"column":6},"end":{"line":252,"column":7}},"type":"if","locations":[{"start":{"line":158,"column":6},"end":{"line":252,"column":7}},{"start":{},"end":{}}],"line":158},"4":{"loc":{"start":{"line":171,"column":8},"end":{"line":176,"column":9}},"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":176,"column":9}},{"start":{},"end":{}}],"line":171},"5":{"loc":{"start":{"line":172,"column":10},"end":{"line":175,"column":11}},"type":"if","locations":[{"start":{"line":172,"column":10},"end":{"line":175,"column":11}},{"start":{},"end":{}}],"line":172},"6":{"loc":{"start":{"line":177,"column":8},"end":{"line":251,"column":9}},"type":"if","locations":[{"start":{"line":177,"column":8},"end":{"line":251,"column":9}},{"start":{},"end":{}}],"line":177},"7":{"loc":{"start":{"line":177,"column":12},"end":{"line":177,"column":116}},"type":"binary-expr","locations":[{"start":{"line":177,"column":12},"end":{"line":177,"column":38}},{"start":{"line":177,"column":42},"end":{"line":177,"column":77}},{"start":{"line":177,"column":81},"end":{"line":177,"column":116}}],"line":177},"8":{"loc":{"start":{"line":179,"column":10},"end":{"line":185,"column":11}},"type":"if","locations":[{"start":{"line":179,"column":10},"end":{"line":185,"column":11}},{"start":{},"end":{}}],"line":179},"9":{"loc":{"start":{"line":186,"column":10},"end":{"line":250,"column":11}},"type":"if","locations":[{"start":{"line":186,"column":10},"end":{"line":250,"column":11}},{"start":{},"end":{}}],"line":186},"10":{"loc":{"start":{"line":186,"column":14},"end":{"line":186,"column":58}},"type":"binary-expr","locations":[{"start":{"line":186,"column":14},"end":{"line":186,"column":28}},{"start":{"line":186,"column":32},"end":{"line":186,"column":58}}],"line":186},"11":{"loc":{"start":{"line":187,"column":12},"end":{"line":223,"column":13}},"type":"switch","locations":[{"start":{"line":188,"column":14},"end":{"line":190,"column":15}},{"start":{"line":191,"column":14},"end":{"line":193,"column":15}},{"start":{"line":194,"column":14},"end":{"line":200,"column":15}},{"start":{"line":201,"column":14},"end":{"line":203,"column":15}},{"start":{"line":204,"column":14},"end":{"line":210,"column":15}},{"start":{"line":211,"column":14},"end":{"line":213,"column":15}},{"start":{"line":214,"column":14},"end":{"line":216,"column":15}},{"start":{"line":217,"column":14},"end":{"line":220,"column":15}},{"start":{"line":221,"column":14},"end":{"line":222,"column":22}}],"line":187},"12":{"loc":{"start":{"line":197,"column":22},"end":{"line":197,"column":85}},"type":"cond-expr","locations":[{"start":{"line":197,"column":45},"end":{"line":197,"column":80}},{"start":{"line":197,"column":83},"end":{"line":197,"column":85}}],"line":197},"13":{"loc":{"start":{"line":207,"column":22},"end":{"line":207,"column":88}},"type":"cond-expr","locations":[{"start":{"line":207,"column":46},"end":{"line":207,"column":83}},{"start":{"line":207,"column":86},"end":{"line":207,"column":88}}],"line":207},"14":{"loc":{"start":{"line":218,"column":56},"end":{"line":218,"column":96}},"type":"binary-expr","locations":[{"start":{"line":218,"column":56},"end":{"line":218,"column":90}},{"start":{"line":218,"column":94},"end":{"line":218,"column":96}}],"line":218},"15":{"loc":{"start":{"line":224,"column":48},"end":{"line":224,"column":71}},"type":"binary-expr","locations":[{"start":{"line":224,"column":48},"end":{"line":224,"column":65}},{"start":{"line":224,"column":69},"end":{"line":224,"column":71}}],"line":224},"16":{"loc":{"start":{"line":226,"column":35},"end":{"line":233,"column":18}},"type":"cond-expr","locations":[{"start":{"line":227,"column":16},"end":{"line":232,"column":46}},{"start":{"line":233,"column":16},"end":{"line":233,"column":18}}],"line":226},"17":{"loc":{"start":{"line":228,"column":16},"end":{"line":230,"column":17}},"type":"if","locations":[{"start":{"line":228,"column":16},"end":{"line":230,"column":17}},{"start":{},"end":{}}],"line":228},"18":{"loc":{"start":{"line":235,"column":12},"end":{"line":245,"column":13}},"type":"if","locations":[{"start":{"line":235,"column":12},"end":{"line":245,"column":13}},{"start":{},"end":{}}],"line":235},"19":{"loc":{"start":{"line":235,"column":16},"end":{"line":235,"column":51}},"type":"binary-expr","locations":[{"start":{"line":235,"column":16},"end":{"line":235,"column":33}},{"start":{"line":235,"column":37},"end":{"line":235,"column":51}}],"line":235},"20":{"loc":{"start":{"line":240,"column":30},"end":{"line":240,"column":48}},"type":"binary-expr","locations":[{"start":{"line":240,"column":30},"end":{"line":240,"column":42}},{"start":{"line":240,"column":46},"end":{"line":240,"column":48}}],"line":240},"21":{"loc":{"start":{"line":244,"column":56},"end":{"line":244,"column":80}},"type":"binary-expr","locations":[{"start":{"line":244,"column":56},"end":{"line":244,"column":74}},{"start":{"line":244,"column":78},"end":{"line":244,"column":80}}],"line":244},"22":{"loc":{"start":{"line":254,"column":8},"end":{"line":268,"column":9}},"type":"if","locations":[{"start":{"line":254,"column":8},"end":{"line":268,"column":9}},{"start":{"line":266,"column":15},"end":{"line":268,"column":9}}],"line":254},"23":{"loc":{"start":{"line":305,"column":6},"end":{"line":333,"column":7}},"type":"switch","locations":[{"start":{"line":306,"column":8},"end":{"line":309,"column":9}},{"start":{"line":310,"column":8},"end":{"line":313,"column":9}},{"start":{"line":314,"column":8},"end":{"line":317,"column":9}},{"start":{"line":318,"column":8},"end":{"line":321,"column":9}},{"start":{"line":322,"column":8},"end":{"line":325,"column":9}},{"start":{"line":326,"column":8},"end":{"line":330,"column":9}},{"start":{"line":331,"column":8},"end":{"line":332,"column":50}}],"line":305},"24":{"loc":{"start":{"line":334,"column":6},"end":{"line":339,"column":7}},"type":"if","locations":[{"start":{"line":334,"column":6},"end":{"line":339,"column":7}},{"start":{},"end":{}}],"line":334},"25":{"loc":{"start":{"line":340,"column":6},"end":{"line":344,"column":7}},"type":"if","locations":[{"start":{"line":340,"column":6},"end":{"line":344,"column":7}},{"start":{},"end":{}}],"line":340},"26":{"loc":{"start":{"line":364,"column":11},"end":{"line":364,"column":109}},"type":"default-arg","locations":[{"start":{"line":364,"column":107},"end":{"line":364,"column":109}}],"line":364},"27":{"loc":{"start":{"line":364,"column":13},"end":{"line":364,"column":26}},"type":"default-arg","locations":[{"start":{"line":364,"column":23},"end":{"line":364,"column":26}}],"line":364},"28":{"loc":{"start":{"line":365,"column":23},"end":{"line":365,"column":84}},"type":"binary-expr","locations":[{"start":{"line":365,"column":23},"end":{"line":365,"column":44}},{"start":{"line":365,"column":48},"end":{"line":365,"column":84}}],"line":365},"29":{"loc":{"start":{"line":367,"column":6},"end":{"line":394,"column":7}},"type":"switch","locations":[{"start":{"line":368,"column":8},"end":{"line":371,"column":9}},{"start":{"line":372,"column":8},"end":{"line":375,"column":9}},{"start":{"line":376,"column":8},"end":{"line":379,"column":9}},{"start":{"line":380,"column":8},"end":{"line":383,"column":9}},{"start":{"line":384,"column":8},"end":{"line":387,"column":9}},{"start":{"line":388,"column":8},"end":{"line":391,"column":9}},{"start":{"line":392,"column":8},"end":{"line":393,"column":45}}],"line":367},"30":{"loc":{"start":{"line":396,"column":8},"end":{"line":411,"column":9}},"type":"if","locations":[{"start":{"line":396,"column":8},"end":{"line":411,"column":9}},{"start":{"line":409,"column":15},"end":{"line":411,"column":9}}],"line":396},"31":{"loc":{"start":{"line":415,"column":6},"end":{"line":417,"column":7}},"type":"if","locations":[{"start":{"line":415,"column":6},"end":{"line":417,"column":7}},{"start":{},"end":{}}],"line":415},"32":{"loc":{"start":{"line":415,"column":10},"end":{"line":415,"column":62}},"type":"binary-expr","locations":[{"start":{"line":415,"column":10},"end":{"line":415,"column":27}},{"start":{"line":415,"column":31},"end":{"line":415,"column":62}}],"line":415},"33":{"loc":{"start":{"line":435,"column":6},"end":{"line":498,"column":7}},"type":"switch","locations":[{"start":{"line":436,"column":8},"end":{"line":453,"column":9}},{"start":{"line":454,"column":8},"end":{"line":467,"column":9}},{"start":{"line":468,"column":8},"end":{"line":471,"column":9}},{"start":{"line":472,"column":8},"end":{"line":475,"column":9}},{"start":{"line":476,"column":8},"end":{"line":479,"column":9}},{"start":{"line":480,"column":8},"end":{"line":483,"column":9}},{"start":{"line":484,"column":8},"end":{"line":487,"column":9}},{"start":{"line":488,"column":8},"end":{"line":491,"column":9}},{"start":{"line":492,"column":8},"end":{"line":495,"column":9}},{"start":{"line":496,"column":8},"end":{"line":497,"column":45}}],"line":435},"34":{"loc":{"start":{"line":437,"column":10},"end":{"line":451,"column":11}},"type":"if","locations":[{"start":{"line":437,"column":10},"end":{"line":451,"column":11}},{"start":{"line":439,"column":17},"end":{"line":451,"column":11}}],"line":437},"35":{"loc":{"start":{"line":441,"column":12},"end":{"line":446,"column":13}},"type":"if","locations":[{"start":{"line":441,"column":12},"end":{"line":446,"column":13}},{"start":{},"end":{}}],"line":441},"36":{"loc":{"start":{"line":455,"column":10},"end":{"line":465,"column":11}},"type":"if","locations":[{"start":{"line":455,"column":10},"end":{"line":465,"column":11}},{"start":{"line":457,"column":17},"end":{"line":465,"column":11}}],"line":455},"37":{"loc":{"start":{"line":459,"column":12},"end":{"line":464,"column":13}},"type":"if","locations":[{"start":{"line":459,"column":12},"end":{"line":464,"column":13}},{"start":{},"end":{}}],"line":459},"38":{"loc":{"start":{"line":499,"column":6},"end":{"line":504,"column":7}},"type":"if","locations":[{"start":{"line":499,"column":6},"end":{"line":504,"column":7}},{"start":{},"end":{}}],"line":499},"39":{"loc":{"start":{"line":505,"column":6},"end":{"line":512,"column":7}},"type":"if","locations":[{"start":{"line":505,"column":6},"end":{"line":512,"column":7}},{"start":{},"end":{}}],"line":505},"40":{"loc":{"start":{"line":538,"column":6},"end":{"line":557,"column":7}},"type":"switch","locations":[{"start":{"line":539,"column":8},"end":{"line":542,"column":9}},{"start":{"line":543,"column":8},"end":{"line":546,"column":9}},{"start":{"line":547,"column":8},"end":{"line":550,"column":9}},{"start":{"line":551,"column":8},"end":{"line":554,"column":9}},{"start":{"line":555,"column":8},"end":{"line":556,"column":45}}],"line":538},"41":{"loc":{"start":{"line":565,"column":6},"end":{"line":576,"column":7}},"type":"switch","locations":[{"start":{"line":566,"column":8},"end":{"line":567,"column":46}},{"start":{"line":568,"column":8},"end":{"line":569,"column":46}},{"start":{"line":570,"column":8},"end":{"line":571,"column":49}},{"start":{"line":572,"column":8},"end":{"line":573,"column":43}},{"start":{"line":574,"column":8},"end":{"line":575,"column":22}}],"line":565},"42":{"loc":{"start":{"line":601,"column":6},"end":{"line":621,"column":7}},"type":"if","locations":[{"start":{"line":601,"column":6},"end":{"line":621,"column":7}},{"start":{},"end":{}}],"line":601},"43":{"loc":{"start":{"line":603,"column":8},"end":{"line":618,"column":9}},"type":"if","locations":[{"start":{"line":603,"column":8},"end":{"line":618,"column":9}},{"start":{},"end":{}}],"line":603},"44":{"loc":{"start":{"line":606,"column":12},"end":{"line":606,"column":80}},"type":"binary-expr","locations":[{"start":{"line":606,"column":12},"end":{"line":606,"column":46}},{"start":{"line":606,"column":50},"end":{"line":606,"column":80}}],"line":606},"45":{"loc":{"start":{"line":611,"column":25},"end":{"line":611,"column":42}},"type":"binary-expr","locations":[{"start":{"line":611,"column":25},"end":{"line":611,"column":36}},{"start":{"line":611,"column":40},"end":{"line":611,"column":42}}],"line":611},"46":{"loc":{"start":{"line":612,"column":26},"end":{"line":612,"column":44}},"type":"binary-expr","locations":[{"start":{"line":612,"column":26},"end":{"line":612,"column":38}},{"start":{"line":612,"column":42},"end":{"line":612,"column":44}}],"line":612},"47":{"loc":{"start":{"line":628,"column":11},"end":{"line":628,"column":48}},"type":"default-arg","locations":[{"start":{"line":628,"column":45},"end":{"line":628,"column":48}}],"line":628},"48":{"loc":{"start":{"line":630,"column":6},"end":{"line":662,"column":7}},"type":"switch","locations":[{"start":{"line":631,"column":8},"end":{"line":634,"column":9}},{"start":{"line":635,"column":8},"end":{"line":638,"column":9}},{"start":{"line":639,"column":8},"end":{"line":642,"column":9}},{"start":{"line":643,"column":8},"end":{"line":646,"column":9}},{"start":{"line":647,"column":8},"end":{"line":650,"column":9}},{"start":{"line":651,"column":8},"end":{"line":654,"column":9}},{"start":{"line":655,"column":8},"end":{"line":658,"column":9}},{"start":{"line":659,"column":8},"end":{"line":661,"column":16}}],"line":630}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0],"1":[0],"2":[0,0,0,0,0,0,0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0,0,0,0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0,0,0,0,0,0],"24":[0,0],"25":[0,0],"26":[0],"27":[0],"28":[0,0],"29":[0,0,0,0,0,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0,0,0,0,0,0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0,0,0,0],"41":[0,0,0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0],"48":[0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/updateSources.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/updateSources.tsx","statementMap":{"0":{"start":{"line":65,"column":2},"end":{"line":65,"column":23}},"1":{"start":{"line":65,"column":16},"end":{"line":65,"column":23}},"2":{"start":{"line":66,"column":19},"end":{"line":66,"column":46}},"3":{"start":{"line":67,"column":22},"end":{"line":67,"column":85}},"4":{"start":{"line":67,"column":65},"end":{"line":67,"column":81}},"5":{"start":{"line":68,"column":21},"end":{"line":68,"column":47}},"6":{"start":{"line":69,"column":22},"end":{"line":69,"column":33}},"7":{"start":{"line":70,"column":2},"end":{"line":126,"column":3}},"8":{"start":{"line":72,"column":6},"end":{"line":72,"column":40}},"9":{"start":{"line":73,"column":6},"end":{"line":81,"column":9}},"10":{"start":{"line":82,"column":6},"end":{"line":84,"column":9}},"11":{"start":{"line":86,"column":6},"end":{"line":86,"column":12}},"12":{"start":{"line":89,"column":6},"end":{"line":89,"column":47}},"13":{"start":{"line":90,"column":6},"end":{"line":98,"column":9}},"14":{"start":{"line":100,"column":6},"end":{"line":102,"column":9}},"15":{"start":{"line":104,"column":6},"end":{"line":104,"column":12}},"16":{"start":{"line":107,"column":6},"end":{"line":107,"column":12}},"17":{"start":{"line":110,"column":6},"end":{"line":110,"column":12}},"18":{"start":{"line":113,"column":6},"end":{"line":113,"column":12}},"19":{"start":{"line":116,"column":6},"end":{"line":116,"column":12}},"20":{"start":{"line":119,"column":6},"end":{"line":119,"column":12}},"21":{"start":{"line":122,"column":6},"end":{"line":122,"column":12}},"22":{"start":{"line":125,"column":6},"end":{"line":125,"column":72}},"23":{"start":{"line":152,"column":2},"end":{"line":163,"column":3}},"24":{"start":{"line":153,"column":4},"end":{"line":162,"column":7}},"25":{"start":{"line":165,"column":23},"end":{"line":167,"column":10}},"26":{"start":{"line":172,"column":2},"end":{"line":189,"column":3}},"27":{"start":{"line":173,"column":4},"end":{"line":188,"column":5}},"28":{"start":{"line":174,"column":6},"end":{"line":174,"column":56}},"29":{"start":{"line":175,"column":6},"end":{"line":175,"column":56}},"30":{"start":{"line":177,"column":6},"end":{"line":180,"column":9}},"31":{"start":{"line":182,"column":6},"end":{"line":185,"column":9}},"32":{"start":{"line":187,"column":6},"end":{"line":187,"column":70}},"33":{"start":{"line":191,"column":22},"end":{"line":194,"column":4}},"34":{"start":{"line":195,"column":2},"end":{"line":217,"column":5}},"35":{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},"36":{"start":{"line":214,"column":6},"end":{"line":214,"column":60}},"37":{"start":{"line":215,"column":6},"end":{"line":215,"column":27}}},"fnMap":{"0":{"name":"updateRemoteTokens","decl":{"start":{"line":55,"column":15},"end":{"line":55,"column":33}},"loc":{"start":{"line":64,"column":30},"end":{"line":127,"column":1}},"line":64},"1":{"name":"(anonymous_1)","decl":{"start":{"line":67,"column":51},"end":{"line":67,"column":52}},"loc":{"start":{"line":67,"column":65},"end":{"line":67,"column":81}},"line":67},"2":{"name":"updateTokensOnSources","decl":{"start":{"line":129,"column":30},"end":{"line":129,"column":51}},"loc":{"start":{"line":151,"column":33},"end":{"line":218,"column":1}},"line":151},"3":{"name":"(anonymous_3)","decl":{"start":{"line":212,"column":10},"end":{"line":212,"column":11}},"loc":{"start":{"line":212,"column":22},"end":{"line":217,"column":3}},"line":212}},"branchMap":{"0":{"loc":{"start":{"line":65,"column":2},"end":{"line":65,"column":23}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":65,"column":23}},{"start":{},"end":{}}],"line":65},"1":{"loc":{"start":{"line":70,"column":2},"end":{"line":126,"column":3}},"type":"switch","locations":[{"start":{"line":71,"column":4},"end":{"line":87,"column":5}},{"start":{"line":88,"column":4},"end":{"line":105,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":109,"column":4},"end":{"line":111,"column":5}},{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},{"start":{"line":124,"column":4},"end":{"line":125,"column":72}}],"line":70},"2":{"loc":{"start":{"line":137,"column":2},"end":{"line":137,"column":27}},"type":"default-arg","locations":[{"start":{"line":137,"column":23},"end":{"line":137,"column":27}}],"line":137},"3":{"loc":{"start":{"line":152,"column":2},"end":{"line":163,"column":3}},"type":"if","locations":[{"start":{"line":152,"column":2},"end":{"line":163,"column":3}},{"start":{},"end":{}}],"line":152},"4":{"loc":{"start":{"line":152,"column":6},"end":{"line":152,"column":70}},"type":"binary-expr","locations":[{"start":{"line":152,"column":6},"end":{"line":152,"column":17}},{"start":{"line":152,"column":21},"end":{"line":152,"column":29}},{"start":{"line":152,"column":33},"end":{"line":152,"column":51}},{"start":{"line":152,"column":55},"end":{"line":152,"column":70}}],"line":152},"5":{"loc":{"start":{"line":165,"column":23},"end":{"line":167,"column":10}},"type":"cond-expr","locations":[{"start":{"line":166,"column":6},"end":{"line":166,"column":76}},{"start":{"line":167,"column":6},"end":{"line":167,"column":10}}],"line":165},"6":{"loc":{"start":{"line":172,"column":2},"end":{"line":189,"column":3}},"type":"if","locations":[{"start":{"line":172,"column":2},"end":{"line":189,"column":3}},{"start":{},"end":{}}],"line":172},"7":{"loc":{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},"type":"if","locations":[{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},{"start":{},"end":{}}],"line":213}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0,0,0],"2":[0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useManageTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useManageTokens.tsx","statementMap":{"0":{"start":{"line":56,"column":16},"end":{"line":56,"column":37}},"1":{"start":{"line":57,"column":19},"end":{"line":57,"column":42}},"2":{"start":{"line":58,"column":22},"end":{"line":58,"column":34}},"3":{"start":{"line":59,"column":37},"end":{"line":59,"column":48}},"4":{"start":{"line":62,"column":6},"end":{"line":62,"column":25}},"5":{"start":{"line":64,"column":26},"end":{"line":92,"column":56}},"6":{"start":{"line":67,"column":8},"end":{"line":67,"column":12}},"7":{"start":{"line":68,"column":4},"end":{"line":71,"column":7}},"8":{"start":{"line":74,"column":25},"end":{"line":74,"column":29}},"9":{"start":{"line":75,"column":4},"end":{"line":90,"column":5}},"10":{"start":{"line":76,"column":6},"end":{"line":85,"column":31}},"11":{"start":{"line":86,"column":6},"end":{"line":89,"column":7}},"12":{"start":{"line":87,"column":8},"end":{"line":87,"column":89}},"13":{"start":{"line":88,"column":8},"end":{"line":88,"column":86}},"14":{"start":{"line":91,"column":4},"end":{"line":91,"column":68}},"15":{"start":{"line":94,"column":28},"end":{"line":122,"column":65}},"16":{"start":{"line":97,"column":8},"end":{"line":97,"column":12}},"17":{"start":{"line":98,"column":4},"end":{"line":101,"column":7}},"18":{"start":{"line":103,"column":25},"end":{"line":103,"column":29}},"19":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"20":{"start":{"line":107,"column":6},"end":{"line":107,"column":46}},"21":{"start":{"line":110,"column":4},"end":{"line":120,"column":5}},"22":{"start":{"line":111,"column":6},"end":{"line":119,"column":31}},"23":{"start":{"line":121,"column":4},"end":{"line":121,"column":70}},"24":{"start":{"line":124,"column":31},"end":{"line":131,"column":40}},"25":{"start":{"line":125,"column":4},"end":{"line":128,"column":7}},"26":{"start":{"line":129,"column":4},"end":{"line":129,"column":25}},"27":{"start":{"line":130,"column":4},"end":{"line":130,"column":67}},"28":{"start":{"line":133,"column":28},"end":{"line":161,"column":46}},"29":{"start":{"line":134,"column":30},"end":{"line":134,"column":32}},"30":{"start":{"line":135,"column":4},"end":{"line":139,"column":5}},"31":{"start":{"line":136,"column":6},"end":{"line":138,"column":9}},"32":{"start":{"line":141,"column":29},"end":{"line":147,"column":6}},"33":{"start":{"line":148,"column":4},"end":{"line":160,"column":5}},"34":{"start":{"line":149,"column":6},"end":{"line":152,"column":9}},"35":{"start":{"line":153,"column":6},"end":{"line":153,"column":24}},"36":{"start":{"line":154,"column":6},"end":{"line":156,"column":7}},"37":{"start":{"line":155,"column":8},"end":{"line":155,"column":37}},"38":{"start":{"line":157,"column":6},"end":{"line":157,"column":66}},"39":{"start":{"line":158,"column":6},"end":{"line":158,"column":77}},"40":{"start":{"line":159,"column":6},"end":{"line":159,"column":80}},"41":{"start":{"line":163,"column":22},"end":{"line":179,"column":58}},"42":{"start":{"line":164,"column":29},"end":{"line":169,"column":6}},"43":{"start":{"line":170,"column":4},"end":{"line":178,"column":5}},"44":{"start":{"line":171,"column":29},"end":{"line":171,"column":69}},"45":{"start":{"line":172,"column":6},"end":{"line":175,"column":9}},"46":{"start":{"line":176,"column":6},"end":{"line":176,"column":63}},"47":{"start":{"line":177,"column":6},"end":{"line":177,"column":71}},"48":{"start":{"line":181,"column":27},"end":{"line":200,"column":56}},"49":{"start":{"line":182,"column":29},"end":{"line":188,"column":6}},"50":{"start":{"line":189,"column":4},"end":{"line":199,"column":5}},"51":{"start":{"line":190,"column":6},"end":{"line":193,"column":9}},"52":{"start":{"line":194,"column":6},"end":{"line":197,"column":9}},"53":{"start":{"line":195,"column":37},"end":{"line":195,"column":46}},"54":{"start":{"line":196,"column":8},"end":{"line":196,"column":60}},"55":{"start":{"line":198,"column":6},"end":{"line":198,"column":71}},"56":{"start":{"line":202,"column":22},"end":{"line":218,"column":52}},"57":{"start":{"line":203,"column":27},"end":{"line":203,"column":67}},"58":{"start":{"line":204,"column":19},"end":{"line":204,"column":51}},"59":{"start":{"line":205,"column":4},"end":{"line":207,"column":7}},"60":{"start":{"line":208,"column":27},"end":{"line":208,"column":55}},"61":{"start":{"line":209,"column":27},"end":{"line":214,"column":9}},"62":{"start":{"line":210,"column":25},"end":{"line":210,"column":78}},"63":{"start":{"line":211,"column":31},"end":{"line":214,"column":7}},"64":{"start":{"line":215,"column":4},"end":{"line":215,"column":71}},"65":{"start":{"line":216,"column":4},"end":{"line":216,"column":68}},"66":{"start":{"line":217,"column":4},"end":{"line":217,"column":26}},"67":{"start":{"line":220,"column":25},"end":{"line":228,"column":52}},"68":{"start":{"line":221,"column":27},"end":{"line":221,"column":67}},"69":{"start":{"line":223,"column":4},"end":{"line":223,"column":97}},"70":{"start":{"line":224,"column":4},"end":{"line":226,"column":7}},"71":{"start":{"line":227,"column":4},"end":{"line":227,"column":72}},"72":{"start":{"line":230,"column":33},"end":{"line":234,"column":29}},"73":{"start":{"line":231,"column":4},"end":{"line":233,"column":7}},"74":{"start":{"line":236,"column":31},"end":{"line":253,"column":45}},"75":{"start":{"line":237,"column":4},"end":{"line":252,"column":7}},"76":{"start":{"line":238,"column":6},"end":{"line":238,"column":104}},"77":{"start":{"line":240,"column":31},"end":{"line":240,"column":88}},"78":{"start":{"line":241,"column":27},"end":{"line":241,"column":76}},"79":{"start":{"line":243,"column":6},"end":{"line":245,"column":7}},"80":{"start":{"line":244,"column":8},"end":{"line":244,"column":70}},"81":{"start":{"line":247,"column":6},"end":{"line":249,"column":7}},"82":{"start":{"line":248,"column":8},"end":{"line":248,"column":68}},"83":{"start":{"line":251,"column":6},"end":{"line":251,"column":79}},"84":{"start":{"line":255,"column":2},"end":{"line":257,"column":191}},"85":{"start":{"line":255,"column":24},"end":{"line":257,"column":3}}},"fnMap":{"0":{"name":"useManageTokens","decl":{"start":{"line":55,"column":24},"end":{"line":55,"column":39}},"loc":{"start":{"line":55,"column":42},"end":{"line":258,"column":1}},"line":55},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":38},"end":{"line":64,"column":39}},"loc":{"start":{"line":64,"column":75},"end":{"line":92,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":94,"column":40},"end":{"line":94,"column":41}},"loc":{"start":{"line":94,"column":79},"end":{"line":122,"column":3}},"line":94},"3":{"name":"(anonymous_3)","decl":{"start":{"line":124,"column":43},"end":{"line":124,"column":44}},"loc":{"start":{"line":124,"column":82},"end":{"line":131,"column":3}},"line":124},"4":{"name":"(anonymous_4)","decl":{"start":{"line":133,"column":40},"end":{"line":133,"column":41}},"loc":{"start":{"line":133,"column":76},"end":{"line":161,"column":3}},"line":133},"5":{"name":"(anonymous_5)","decl":{"start":{"line":163,"column":34},"end":{"line":163,"column":35}},"loc":{"start":{"line":163,"column":72},"end":{"line":179,"column":3}},"line":163},"6":{"name":"(anonymous_6)","decl":{"start":{"line":181,"column":39},"end":{"line":181,"column":40}},"loc":{"start":{"line":181,"column":109},"end":{"line":200,"column":3}},"line":181},"7":{"name":"(anonymous_7)","decl":{"start":{"line":194,"column":26},"end":{"line":194,"column":27}},"loc":{"start":{"line":194,"column":41},"end":{"line":197,"column":7}},"line":194},"8":{"name":"(anonymous_8)","decl":{"start":{"line":202,"column":34},"end":{"line":202,"column":35}},"loc":{"start":{"line":202,"column":118},"end":{"line":218,"column":3}},"line":202},"9":{"name":"(anonymous_9)","decl":{"start":{"line":210,"column":14},"end":{"line":210,"column":15}},"loc":{"start":{"line":210,"column":25},"end":{"line":210,"column":78}},"line":210},"10":{"name":"(anonymous_10)","decl":{"start":{"line":211,"column":11},"end":{"line":211,"column":12}},"loc":{"start":{"line":211,"column":31},"end":{"line":214,"column":7}},"line":211},"11":{"name":"(anonymous_11)","decl":{"start":{"line":220,"column":37},"end":{"line":220,"column":38}},"loc":{"start":{"line":220,"column":91},"end":{"line":228,"column":3}},"line":220},"12":{"name":"(anonymous_12)","decl":{"start":{"line":230,"column":45},"end":{"line":230,"column":46}},"loc":{"start":{"line":230,"column":124},"end":{"line":234,"column":3}},"line":230},"13":{"name":"(anonymous_13)","decl":{"start":{"line":236,"column":43},"end":{"line":236,"column":44}},"loc":{"start":{"line":236,"column":195},"end":{"line":253,"column":3}},"line":236},"14":{"name":"(anonymous_14)","decl":{"start":{"line":237,"column":49},"end":{"line":237,"column":50}},"loc":{"start":{"line":237,"column":55},"end":{"line":252,"column":5}},"line":237},"15":{"name":"(anonymous_15)","decl":{"start":{"line":255,"column":17},"end":{"line":255,"column":18}},"loc":{"start":{"line":255,"column":24},"end":{"line":257,"column":3}},"line":255}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":55},"end":{"line":66,"column":82}},"type":"default-arg","locations":[{"start":{"line":66,"column":78},"end":{"line":66,"column":82}}],"line":66},"1":{"loc":{"start":{"line":75,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":75},"2":{"loc":{"start":{"line":86,"column":6},"end":{"line":89,"column":7}},"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":89,"column":7}},{"start":{},"end":{}}],"line":86},"3":{"loc":{"start":{"line":96,"column":46},"end":{"line":96,"column":73}},"type":"default-arg","locations":[{"start":{"line":96,"column":69},"end":{"line":96,"column":73}}],"line":96},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":106},"5":{"loc":{"start":{"line":110,"column":4},"end":{"line":120,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":120,"column":5}},{"start":{},"end":{}}],"line":110},"6":{"loc":{"start":{"line":135,"column":4},"end":{"line":139,"column":5}},"type":"if","locations":[{"start":{"line":135,"column":4},"end":{"line":139,"column":5}},{"start":{},"end":{}}],"line":135},"7":{"loc":{"start":{"line":135,"column":8},"end":{"line":135,"column":155}},"type":"binary-expr","locations":[{"start":{"line":135,"column":8},"end":{"line":135,"column":53}},{"start":{"line":135,"column":57},"end":{"line":135,"column":66}},{"start":{"line":135,"column":70},"end":{"line":135,"column":155}}],"line":135},"8":{"loc":{"start":{"line":148,"column":4},"end":{"line":160,"column":5}},"type":"if","locations":[{"start":{"line":148,"column":4},"end":{"line":160,"column":5}},{"start":{},"end":{}}],"line":148},"9":{"loc":{"start":{"line":154,"column":6},"end":{"line":156,"column":7}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":156,"column":7}},{"start":{},"end":{}}],"line":154},"10":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":101}},"type":"binary-expr","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":46}},{"start":{"line":154,"column":50},"end":{"line":154,"column":101}}],"line":154},"11":{"loc":{"start":{"line":170,"column":4},"end":{"line":178,"column":5}},"type":"if","locations":[{"start":{"line":170,"column":4},"end":{"line":178,"column":5}},{"start":{},"end":{}}],"line":170},"12":{"loc":{"start":{"line":189,"column":4},"end":{"line":199,"column":5}},"type":"if","locations":[{"start":{"line":189,"column":4},"end":{"line":199,"column":5}},{"start":{},"end":{}}],"line":189},"13":{"loc":{"start":{"line":208,"column":27},"end":{"line":208,"column":55}},"type":"binary-expr","locations":[{"start":{"line":208,"column":27},"end":{"line":208,"column":49}},{"start":{"line":208,"column":53},"end":{"line":208,"column":55}}],"line":208},"14":{"loc":{"start":{"line":210,"column":25},"end":{"line":210,"column":78}},"type":"binary-expr","locations":[{"start":{"line":210,"column":25},"end":{"line":210,"column":55}},{"start":{"line":210,"column":59},"end":{"line":210,"column":78}}],"line":210},"15":{"loc":{"start":{"line":240,"column":31},"end":{"line":240,"column":88}},"type":"binary-expr","locations":[{"start":{"line":240,"column":31},"end":{"line":240,"column":52}},{"start":{"line":240,"column":56},"end":{"line":240,"column":88}}],"line":240},"16":{"loc":{"start":{"line":241,"column":27},"end":{"line":241,"column":76}},"type":"binary-expr","locations":[{"start":{"line":241,"column":27},"end":{"line":241,"column":44}},{"start":{"line":241,"column":48},"end":{"line":241,"column":76}}],"line":241},"17":{"loc":{"start":{"line":243,"column":6},"end":{"line":245,"column":7}},"type":"if","locations":[{"start":{"line":243,"column":6},"end":{"line":245,"column":7}},{"start":{},"end":{}}],"line":243},"18":{"loc":{"start":{"line":247,"column":6},"end":{"line":249,"column":7}},"type":"if","locations":[{"start":{"line":247,"column":6},"end":{"line":249,"column":7}},{"start":{},"end":{}}],"line":247}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useStorage.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useStorage.tsx","statementMap":{"0":{"start":{"line":14,"column":19},"end":{"line":14,"column":42}},"1":{"start":{"line":16,"column":25},"end":{"line":27,"column":16}},"2":{"start":{"line":20,"column":4},"end":{"line":25,"column":5}},"3":{"start":{"line":21,"column":6},"end":{"line":24,"column":9}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"5":{"start":{"line":29,"column":2},"end":{"line":29,"column":28}}},"fnMap":{"0":{"name":"useStorage","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":37},"end":{"line":30,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":37},"end":{"line":16,"column":38}},"loc":{"start":{"line":19,"column":31},"end":{"line":27,"column":3}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},"type":"default-arg","locations":[{"start":{"line":18,"column":26},"end":{"line":18,"column":31}}],"line":18},"1":{"loc":{"start":{"line":20,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":25,"column":5}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx","statementMap":{"0":{"start":{"line":53,"column":39},"end":{"line":53,"column":59}},"1":{"start":{"line":61,"column":19},"end":{"line":61,"column":42}},"2":{"start":{"line":62,"column":25},"end":{"line":62,"column":60}},"3":{"start":{"line":63,"column":21},"end":{"line":63,"column":52}},"4":{"start":{"line":64,"column":17},"end":{"line":64,"column":44}},"5":{"start":{"line":65,"column":17},"end":{"line":65,"column":48}},"6":{"start":{"line":66,"column":19},"end":{"line":66,"column":62}},"7":{"start":{"line":67,"column":35},"end":{"line":67,"column":80}},"8":{"start":{"line":68,"column":22},"end":{"line":68,"column":49}},"9":{"start":{"line":69,"column":16},"end":{"line":69,"column":37}},"10":{"start":{"line":70,"column":24},"end":{"line":70,"column":49}},"11":{"start":{"line":71,"column":24},"end":{"line":71,"column":87}},"12":{"start":{"line":71,"column":38},"end":{"line":71,"column":72}},"13":{"start":{"line":72,"column":18},"end":{"line":72,"column":32}},"14":{"start":{"line":73,"column":28},"end":{"line":79,"column":3}},"15":{"start":{"line":80,"column":22},"end":{"line":80,"column":33}},"16":{"start":{"line":83,"column":24},"end":{"line":86,"column":3}},"17":{"start":{"line":84,"column":46},"end":{"line":84,"column":83}},"18":{"start":{"line":84,"column":67},"end":{"line":84,"column":82}},"19":{"start":{"line":89,"column":18},"end":{"line":92,"column":3}},"20":{"start":{"line":90,"column":58},"end":{"line":90,"column":93}},"21":{"start":{"line":95,"column":29},"end":{"line":122,"column":3}},"22":{"start":{"line":104,"column":10},"end":{"line":104,"column":14}},"23":{"start":{"line":105,"column":24},"end":{"line":105,"column":81}},"24":{"start":{"line":106,"column":6},"end":{"line":117,"column":9}},"25":{"start":{"line":125,"column":26},"end":{"line":130,"column":3}},"26":{"start":{"line":126,"column":10},"end":{"line":126,"column":75}},"27":{"start":{"line":133,"column":27},"end":{"line":139,"column":3}},"28":{"start":{"line":135,"column":6},"end":{"line":135,"column":27}},"29":{"start":{"line":136,"column":6},"end":{"line":136,"column":49}},"30":{"start":{"line":142,"column":23},"end":{"line":159,"column":51}},"31":{"start":{"line":143,"column":4},"end":{"line":143,"column":27}},"32":{"start":{"line":144,"column":4},"end":{"line":158,"column":5}},"33":{"start":{"line":145,"column":6},"end":{"line":154,"column":9}},"34":{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},"35":{"start":{"line":152,"column":10},"end":{"line":152,"column":47}},"36":{"start":{"line":157,"column":6},"end":{"line":157,"column":43}},"37":{"start":{"line":162,"column":21},"end":{"line":190,"column":15}},"38":{"start":{"line":163,"column":25},"end":{"line":172,"column":6}},"39":{"start":{"line":174,"column":4},"end":{"line":189,"column":5}},"40":{"start":{"line":175,"column":6},"end":{"line":179,"column":9}},"41":{"start":{"line":181,"column":6},"end":{"line":188,"column":9}},"42":{"start":{"line":192,"column":24},"end":{"line":195,"column":8}},"43":{"start":{"line":197,"column":30},"end":{"line":204,"column":8}},"44":{"start":{"line":198,"column":4},"end":{"line":198,"column":57}},"45":{"start":{"line":200,"column":4},"end":{"line":203,"column":7}},"46":{"start":{"line":206,"column":22},"end":{"line":221,"column":3}},"47":{"start":{"line":208,"column":6},"end":{"line":208,"column":49}},"48":{"start":{"line":210,"column":6},"end":{"line":218,"column":10}},"49":{"start":{"line":210,"column":58},"end":{"line":218,"column":8}},"50":{"start":{"line":223,"column":26},"end":{"line":235,"column":3}},"51":{"start":{"line":225,"column":6},"end":{"line":225,"column":53}},"52":{"start":{"line":227,"column":6},"end":{"line":232,"column":10}},"53":{"start":{"line":227,"column":62},"end":{"line":232,"column":8}},"54":{"start":{"line":238,"column":21},"end":{"line":250,"column":3}},"55":{"start":{"line":240,"column":6},"end":{"line":240,"column":48}},"56":{"start":{"line":242,"column":6},"end":{"line":247,"column":10}},"57":{"start":{"line":242,"column":58},"end":{"line":247,"column":8}},"58":{"start":{"line":252,"column":29},"end":{"line":349,"column":3}},"59":{"start":{"line":265,"column":26},"end":{"line":296,"column":8}},"60":{"start":{"line":297,"column":6},"end":{"line":346,"column":7}},"61":{"start":{"line":298,"column":8},"end":{"line":306,"column":9}},"62":{"start":{"line":300,"column":53},"end":{"line":300,"column":142}},"63":{"start":{"line":302,"column":10},"end":{"line":304,"column":12}},"64":{"start":{"line":303,"column":50},"end":{"line":303,"column":146}},"65":{"start":{"line":305,"column":10},"end":{"line":305,"column":67}},"66":{"start":{"line":307,"column":8},"end":{"line":326,"column":9}},"67":{"start":{"line":308,"column":10},"end":{"line":308,"column":79}},"68":{"start":{"line":309,"column":33},"end":{"line":309,"column":61}},"69":{"start":{"line":310,"column":50},"end":{"line":310,"column":52}},"70":{"start":{"line":311,"column":10},"end":{"line":319,"column":29}},"71":{"start":{"line":312,"column":12},"end":{"line":317,"column":13}},"72":{"start":{"line":313,"column":14},"end":{"line":316,"column":17}},"73":{"start":{"line":318,"column":12},"end":{"line":318,"column":25}},"74":{"start":{"line":321,"column":25},"end":{"line":324,"column":12}},"75":{"start":{"line":325,"column":10},"end":{"line":325,"column":83}},"76":{"start":{"line":328,"column":8},"end":{"line":345,"column":9}},"77":{"start":{"line":329,"column":10},"end":{"line":329,"column":76}},"78":{"start":{"line":330,"column":33},"end":{"line":330,"column":61}},"79":{"start":{"line":331,"column":33},"end":{"line":336,"column":15}},"80":{"start":{"line":332,"column":31},"end":{"line":332,"column":89}},"81":{"start":{"line":333,"column":37},"end":{"line":336,"column":13}},"82":{"start":{"line":338,"column":37},"end":{"line":343,"column":12}},"83":{"start":{"line":344,"column":10},"end":{"line":344,"column":104}},"84":{"start":{"line":352,"column":44},"end":{"line":419,"column":3}},"85":{"start":{"line":354,"column":33},"end":{"line":354,"column":136}},"86":{"start":{"line":355,"column":6},"end":{"line":355,"column":38}},"87":{"start":{"line":355,"column":31},"end":{"line":355,"column":38}},"88":{"start":{"line":357,"column":6},"end":{"line":360,"column":9}},"89":{"start":{"line":362,"column":31},"end":{"line":364,"column":40}},"90":{"start":{"line":363,"column":25},"end":{"line":363,"column":62}},"91":{"start":{"line":364,"column":27},"end":{"line":364,"column":39}},"92":{"start":{"line":366,"column":6},"end":{"line":369,"column":7}},"93":{"start":{"line":367,"column":8},"end":{"line":367,"column":91}},"94":{"start":{"line":368,"column":8},"end":{"line":368,"column":15}},"95":{"start":{"line":371,"column":30},"end":{"line":374,"column":12}},"96":{"start":{"line":372,"column":8},"end":{"line":372,"column":34}},"97":{"start":{"line":373,"column":8},"end":{"line":373,"column":19}},"98":{"start":{"line":376,"column":30},"end":{"line":376,"column":71}},"99":{"start":{"line":378,"column":23},"end":{"line":378,"column":70}},"100":{"start":{"line":379,"column":34},"end":{"line":381,"column":7}},"101":{"start":{"line":380,"column":19},"end":{"line":380,"column":95}},"102":{"start":{"line":383,"column":29},"end":{"line":393,"column":12}},"103":{"start":{"line":384,"column":29},"end":{"line":388,"column":40}},"104":{"start":{"line":388,"column":30},"end":{"line":388,"column":39}},"105":{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},"106":{"start":{"line":390,"column":10},"end":{"line":390,"column":25}},"107":{"start":{"line":392,"column":8},"end":{"line":392,"column":19}},"108":{"start":{"line":395,"column":6},"end":{"line":400,"column":10}},"109":{"start":{"line":395,"column":66},"end":{"line":400,"column":8}},"110":{"start":{"line":402,"column":6},"end":{"line":414,"column":9}},"111":{"start":{"line":416,"column":6},"end":{"line":416,"column":68}},"112":{"start":{"line":421,"column":41},"end":{"line":526,"column":3}},"113":{"start":{"line":423,"column":33},"end":{"line":423,"column":138}},"114":{"start":{"line":424,"column":6},"end":{"line":424,"column":38}},"115":{"start":{"line":424,"column":31},"end":{"line":424,"column":38}},"116":{"start":{"line":426,"column":6},"end":{"line":429,"column":9}},"117":{"start":{"line":431,"column":32},"end":{"line":431,"column":33}},"118":{"start":{"line":433,"column":28},"end":{"line":433,"column":68}},"119":{"start":{"line":435,"column":52},"end":{"line":435,"column":54}},"120":{"start":{"line":437,"column":51},"end":{"line":446,"column":24}},"121":{"start":{"line":438,"column":8},"end":{"line":444,"column":9}},"122":{"start":{"line":439,"column":10},"end":{"line":443,"column":13}},"123":{"start":{"line":440,"column":12},"end":{"line":442,"column":13}},"124":{"start":{"line":441,"column":14},"end":{"line":441,"column":57}},"125":{"start":{"line":445,"column":8},"end":{"line":445,"column":19}},"126":{"start":{"line":448,"column":6},"end":{"line":493,"column":7}},"127":{"start":{"line":449,"column":30},"end":{"line":449,"column":74}},"128":{"start":{"line":449,"column":53},"end":{"line":449,"column":73}},"129":{"start":{"line":451,"column":8},"end":{"line":492,"column":9}},"130":{"start":{"line":452,"column":31},"end":{"line":452,"column":62}},"131":{"start":{"line":453,"column":35},"end":{"line":453,"column":68}},"132":{"start":{"line":455,"column":10},"end":{"line":491,"column":11}},"133":{"start":{"line":456,"column":36},"end":{"line":456,"column":89}},"134":{"start":{"line":457,"column":30},"end":{"line":457,"column":77}},"135":{"start":{"line":459,"column":42},"end":{"line":461,"column":13}},"136":{"start":{"line":460,"column":25},"end":{"line":460,"column":101}},"137":{"start":{"line":463,"column":35},"end":{"line":474,"column":18}},"138":{"start":{"line":464,"column":35},"end":{"line":468,"column":46}},"139":{"start":{"line":468,"column":36},"end":{"line":468,"column":45}},"140":{"start":{"line":469,"column":14},"end":{"line":471,"column":15}},"141":{"start":{"line":469,"column":55},"end":{"line":469,"column":79}},"142":{"start":{"line":470,"column":16},"end":{"line":470,"column":31}},"143":{"start":{"line":473,"column":14},"end":{"line":473,"column":25}},"144":{"start":{"line":476,"column":12},"end":{"line":476,"column":57}},"145":{"start":{"line":478,"column":39},"end":{"line":484,"column":15}},"146":{"start":{"line":478,"column":99},"end":{"line":484,"column":14}},"147":{"start":{"line":486,"column":12},"end":{"line":486,"column":68}},"148":{"start":{"line":488,"column":12},"end":{"line":488,"column":144}},"149":{"start":{"line":490,"column":12},"end":{"line":490,"column":128}},"150":{"start":{"line":495,"column":6},"end":{"line":507,"column":9}},"151":{"start":{"line":509,"column":6},"end":{"line":521,"column":7}},"152":{"start":{"line":510,"column":47},"end":{"line":513,"column":11}},"153":{"start":{"line":514,"column":41},"end":{"line":517,"column":10}},"154":{"start":{"line":518,"column":8},"end":{"line":520,"column":9}},"155":{"start":{"line":519,"column":10},"end":{"line":519,"column":63}},"156":{"start":{"line":523,"column":6},"end":{"line":523,"column":68}},"157":{"start":{"line":528,"column":33},"end":{"line":541,"column":3}},"158":{"start":{"line":530,"column":6},"end":{"line":530,"column":56}},"159":{"start":{"line":532,"column":33},"end":{"line":537,"column":8}},"160":{"start":{"line":538,"column":6},"end":{"line":538,"column":100}},"161":{"start":{"line":543,"column":33},"end":{"line":555,"column":3}},"162":{"start":{"line":545,"column":6},"end":{"line":545,"column":35}},"163":{"start":{"line":547,"column":33},"end":{"line":551,"column":8}},"164":{"start":{"line":552,"column":6},"end":{"line":552,"column":80}},"165":{"start":{"line":557,"column":30},"end":{"line":577,"column":3}},"166":{"start":{"line":559,"column":22},"end":{"line":559,"column":55}},"167":{"start":{"line":560,"column":27},"end":{"line":560,"column":65}},"168":{"start":{"line":561,"column":26},"end":{"line":566,"column":9}},"169":{"start":{"line":562,"column":23},"end":{"line":562,"column":87}},"170":{"start":{"line":563,"column":21},"end":{"line":563,"column":57}},"171":{"start":{"line":568,"column":6},"end":{"line":568,"column":48}},"172":{"start":{"line":570,"column":6},"end":{"line":574,"column":9}},"173":{"start":{"line":579,"column":33},"end":{"line":603,"column":14}},"174":{"start":{"line":580,"column":23},"end":{"line":600,"column":42}},"175":{"start":{"line":581,"column":32},"end":{"line":597,"column":28}},"176":{"start":{"line":582,"column":30},"end":{"line":582,"column":90}},"177":{"start":{"line":585,"column":8},"end":{"line":589,"column":9}},"178":{"start":{"line":587,"column":10},"end":{"line":587,"column":39}},"179":{"start":{"line":588,"column":10},"end":{"line":588,"column":42}},"180":{"start":{"line":590,"column":8},"end":{"line":594,"column":9}},"181":{"start":{"line":591,"column":10},"end":{"line":593,"column":11}},"182":{"start":{"line":592,"column":12},"end":{"line":592,"column":23}},"183":{"start":{"line":595,"column":8},"end":{"line":595,"column":28}},"184":{"start":{"line":596,"column":8},"end":{"line":596,"column":19}},"185":{"start":{"line":598,"column":6},"end":{"line":598,"column":50}},"186":{"start":{"line":599,"column":6},"end":{"line":599,"column":24}},"187":{"start":{"line":602,"column":4},"end":{"line":602,"column":22}},"188":{"start":{"line":605,"column":26},"end":{"line":629,"column":63}},"189":{"start":{"line":606,"column":4},"end":{"line":609,"column":7}},"190":{"start":{"line":610,"column":37},"end":{"line":610,"column":61}},"191":{"start":{"line":611,"column":33},"end":{"line":626,"column":5}},"192":{"start":{"line":615,"column":23},"end":{"line":615,"column":35}},"193":{"start":{"line":616,"column":10},"end":{"line":618,"column":11}},"194":{"start":{"line":617,"column":12},"end":{"line":617,"column":77}},"195":{"start":{"line":621,"column":18},"end":{"line":625,"column":8}},"196":{"start":{"line":627,"column":4},"end":{"line":627,"column":83}},"197":{"start":{"line":628,"column":4},"end":{"line":628,"column":68}},"198":{"start":{"line":631,"column":34},"end":{"line":676,"column":3}},"199":{"start":{"line":633,"column":36},"end":{"line":637,"column":34}},"200":{"start":{"line":638,"column":6},"end":{"line":638,"column":41}},"201":{"start":{"line":638,"column":34},"end":{"line":638,"column":41}},"202":{"start":{"line":640,"column":6},"end":{"line":643,"column":9}},"203":{"start":{"line":644,"column":6},"end":{"line":671,"column":8}},"204":{"start":{"line":648,"column":25},"end":{"line":648,"column":37}},"205":{"start":{"line":649,"column":12},"end":{"line":662,"column":13}},"206":{"start":{"line":650,"column":14},"end":{"line":660,"column":17}},"207":{"start":{"line":661,"column":14},"end":{"line":661,"column":79}},"208":{"start":{"line":665,"column":20},"end":{"line":670,"column":10}},"209":{"start":{"line":672,"column":6},"end":{"line":672,"column":70}},"210":{"start":{"line":673,"column":6},"end":{"line":673,"column":24}},"211":{"start":{"line":678,"column":36},"end":{"line":724,"column":3}},"212":{"start":{"line":680,"column":36},"end":{"line":684,"column":36}},"213":{"start":{"line":685,"column":6},"end":{"line":685,"column":41}},"214":{"start":{"line":685,"column":34},"end":{"line":685,"column":41}},"215":{"start":{"line":687,"column":6},"end":{"line":690,"column":9}},"216":{"start":{"line":691,"column":35},"end":{"line":718,"column":7}},"217":{"start":{"line":695,"column":25},"end":{"line":695,"column":37}},"218":{"start":{"line":696,"column":12},"end":{"line":709,"column":13}},"219":{"start":{"line":697,"column":14},"end":{"line":707,"column":17}},"220":{"start":{"line":708,"column":14},"end":{"line":708,"column":79}},"221":{"start":{"line":712,"column":20},"end":{"line":717,"column":10}},"222":{"start":{"line":719,"column":6},"end":{"line":719,"column":85}},"223":{"start":{"line":720,"column":6},"end":{"line":720,"column":70}},"224":{"start":{"line":721,"column":6},"end":{"line":721,"column":24}},"225":{"start":{"line":726,"column":35},"end":{"line":743,"column":3}},"226":{"start":{"line":728,"column":6},"end":{"line":728,"column":53}},"227":{"start":{"line":730,"column":21},"end":{"line":738,"column":9}},"228":{"start":{"line":730,"column":84},"end":{"line":738,"column":8}},"229":{"start":{"line":740,"column":6},"end":{"line":740,"column":79}},"230":{"start":{"line":745,"column":35},"end":{"line":752,"column":8}},"231":{"start":{"line":746,"column":4},"end":{"line":746,"column":38}},"232":{"start":{"line":748,"column":4},"end":{"line":751,"column":8}},"233":{"start":{"line":748,"column":67},"end":{"line":751,"column":6}},"234":{"start":{"line":754,"column":2},"end":{"line":807,"column":4}},"235":{"start":{"line":755,"column":11},"end":{"line":780,"column":5}}},"fnMap":{"0":{"name":"useTokens","decl":{"start":{"line":60,"column":24},"end":{"line":60,"column":33}},"loc":{"start":{"line":60,"column":36},"end":{"line":808,"column":1}},"line":60},"1":{"name":"(anonymous_1)","decl":{"start":{"line":71,"column":32},"end":{"line":71,"column":33}},"loc":{"start":{"line":71,"column":38},"end":{"line":71,"column":72}},"line":71},"2":{"name":"(anonymous_2)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":46},"end":{"line":84,"column":83}},"line":84},"3":{"name":"(anonymous_3)","decl":{"start":{"line":84,"column":60},"end":{"line":84,"column":61}},"loc":{"start":{"line":84,"column":67},"end":{"line":84,"column":82}},"line":84},"4":{"name":"(anonymous_4)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":58},"end":{"line":90,"column":93}},"line":90},"5":{"name":"(anonymous_5)","decl":{"start":{"line":96,"column":4},"end":{"line":96,"column":5}},"loc":{"start":{"line":96,"column":41},"end":{"line":118,"column":5}},"line":96},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":4},"end":{"line":126,"column":5}},"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":75}},"line":126},"7":{"name":"(anonymous_7)","decl":{"start":{"line":134,"column":4},"end":{"line":134,"column":5}},"loc":{"start":{"line":134,"column":27},"end":{"line":137,"column":5}},"line":134},"8":{"name":"(anonymous_8)","decl":{"start":{"line":142,"column":35},"end":{"line":142,"column":36}},"loc":{"start":{"line":142,"column":41},"end":{"line":159,"column":3}},"line":142},"9":{"name":"(anonymous_9)","decl":{"start":{"line":149,"column":14},"end":{"line":149,"column":15}},"loc":{"start":{"line":149,"column":26},"end":{"line":154,"column":7}},"line":149},"10":{"name":"(anonymous_10)","decl":{"start":{"line":162,"column":33},"end":{"line":162,"column":34}},"loc":{"start":{"line":162,"column":45},"end":{"line":190,"column":3}},"line":162},"11":{"name":"(anonymous_11)","decl":{"start":{"line":192,"column":36},"end":{"line":192,"column":37}},"loc":{"start":{"line":192,"column":48},"end":{"line":195,"column":3}},"line":192},"12":{"name":"(anonymous_12)","decl":{"start":{"line":197,"column":42},"end":{"line":197,"column":43}},"loc":{"start":{"line":197,"column":77},"end":{"line":204,"column":3}},"line":197},"13":{"name":"(anonymous_13)","decl":{"start":{"line":207,"column":4},"end":{"line":207,"column":5}},"loc":{"start":{"line":207,"column":112},"end":{"line":219,"column":5}},"line":207},"14":{"name":"(anonymous_14)","decl":{"start":{"line":210,"column":46},"end":{"line":210,"column":47}},"loc":{"start":{"line":210,"column":58},"end":{"line":218,"column":8}},"line":210},"15":{"name":"(anonymous_15)","decl":{"start":{"line":224,"column":4},"end":{"line":224,"column":5}},"loc":{"start":{"line":224,"column":87},"end":{"line":233,"column":5}},"line":224},"16":{"name":"(anonymous_16)","decl":{"start":{"line":227,"column":50},"end":{"line":227,"column":51}},"loc":{"start":{"line":227,"column":62},"end":{"line":232,"column":8}},"line":227},"17":{"name":"(anonymous_17)","decl":{"start":{"line":239,"column":4},"end":{"line":239,"column":5}},"loc":{"start":{"line":239,"column":78},"end":{"line":248,"column":5}},"line":239},"18":{"name":"(anonymous_18)","decl":{"start":{"line":242,"column":46},"end":{"line":242,"column":47}},"loc":{"start":{"line":242,"column":58},"end":{"line":247,"column":8}},"line":242},"19":{"name":"(anonymous_19)","decl":{"start":{"line":253,"column":4},"end":{"line":253,"column":5}},"loc":{"start":{"line":263,"column":10},"end":{"line":347,"column":5}},"line":263},"20":{"name":"(anonymous_20)","decl":{"start":{"line":300,"column":35},"end":{"line":300,"column":36}},"loc":{"start":{"line":300,"column":53},"end":{"line":300,"column":142}},"line":300},"21":{"name":"(anonymous_21)","decl":{"start":{"line":303,"column":31},"end":{"line":303,"column":32}},"loc":{"start":{"line":303,"column":50},"end":{"line":303,"column":146}},"line":303},"22":{"name":"(anonymous_22)","decl":{"start":{"line":311,"column":29},"end":{"line":311,"column":30}},"loc":{"start":{"line":311,"column":40},"end":{"line":319,"column":11}},"line":311},"23":{"name":"(anonymous_23)","decl":{"start":{"line":332,"column":20},"end":{"line":332,"column":21}},"loc":{"start":{"line":332,"column":31},"end":{"line":332,"column":89}},"line":332},"24":{"name":"(anonymous_24)","decl":{"start":{"line":333,"column":17},"end":{"line":333,"column":18}},"loc":{"start":{"line":333,"column":37},"end":{"line":336,"column":13}},"line":333},"25":{"name":"(anonymous_25)","decl":{"start":{"line":353,"column":4},"end":{"line":353,"column":5}},"loc":{"start":{"line":353,"column":46},"end":{"line":417,"column":5}},"line":353},"26":{"name":"(anonymous_26)","decl":{"start":{"line":363,"column":16},"end":{"line":363,"column":17}},"loc":{"start":{"line":363,"column":25},"end":{"line":363,"column":62}},"line":363},"27":{"name":"(anonymous_27)","decl":{"start":{"line":364,"column":13},"end":{"line":364,"column":14}},"loc":{"start":{"line":364,"column":27},"end":{"line":364,"column":39}},"line":364},"28":{"name":"(anonymous_28)","decl":{"start":{"line":371,"column":50},"end":{"line":371,"column":51}},"loc":{"start":{"line":371,"column":64},"end":{"line":374,"column":7}},"line":371},"29":{"name":"(anonymous_29)","decl":{"start":{"line":380,"column":8},"end":{"line":380,"column":9}},"loc":{"start":{"line":380,"column":19},"end":{"line":380,"column":95}},"line":380},"30":{"name":"(anonymous_30)","decl":{"start":{"line":383,"column":56},"end":{"line":383,"column":57}},"loc":{"start":{"line":383,"column":86},"end":{"line":393,"column":7}},"line":383},"31":{"name":"(anonymous_31)","decl":{"start":{"line":388,"column":15},"end":{"line":388,"column":16}},"loc":{"start":{"line":388,"column":30},"end":{"line":388,"column":39}},"line":388},"32":{"name":"(anonymous_32)","decl":{"start":{"line":395,"column":54},"end":{"line":395,"column":55}},"loc":{"start":{"line":395,"column":66},"end":{"line":400,"column":8}},"line":395},"33":{"name":"(anonymous_33)","decl":{"start":{"line":422,"column":4},"end":{"line":422,"column":5}},"loc":{"start":{"line":422,"column":40},"end":{"line":524,"column":5}},"line":422},"34":{"name":"(anonymous_34)","decl":{"start":{"line":437,"column":65},"end":{"line":437,"column":66}},"loc":{"start":{"line":437,"column":81},"end":{"line":446,"column":7}},"line":437},"35":{"name":"(anonymous_35)","decl":{"start":{"line":439,"column":59},"end":{"line":439,"column":60}},"loc":{"start":{"line":439,"column":68},"end":{"line":443,"column":11}},"line":439},"36":{"name":"(anonymous_36)","decl":{"start":{"line":449,"column":42},"end":{"line":449,"column":43}},"loc":{"start":{"line":449,"column":53},"end":{"line":449,"column":73}},"line":449},"37":{"name":"(anonymous_37)","decl":{"start":{"line":460,"column":14},"end":{"line":460,"column":15}},"loc":{"start":{"line":460,"column":25},"end":{"line":460,"column":101}},"line":460},"38":{"name":"(anonymous_38)","decl":{"start":{"line":463,"column":64},"end":{"line":463,"column":65}},"loc":{"start":{"line":463,"column":94},"end":{"line":474,"column":13}},"line":463},"39":{"name":"(anonymous_39)","decl":{"start":{"line":468,"column":21},"end":{"line":468,"column":22}},"loc":{"start":{"line":468,"column":36},"end":{"line":468,"column":45}},"line":468},"40":{"name":"(anonymous_40)","decl":{"start":{"line":469,"column":44},"end":{"line":469,"column":45}},"loc":{"start":{"line":469,"column":55},"end":{"line":469,"column":79}},"line":469},"41":{"name":"(anonymous_41)","decl":{"start":{"line":478,"column":87},"end":{"line":478,"column":88}},"loc":{"start":{"line":478,"column":99},"end":{"line":484,"column":14}},"line":478},"42":{"name":"(anonymous_42)","decl":{"start":{"line":529,"column":4},"end":{"line":529,"column":5}},"loc":{"start":{"line":529,"column":71},"end":{"line":539,"column":5}},"line":529},"43":{"name":"(anonymous_43)","decl":{"start":{"line":544,"column":4},"end":{"line":544,"column":5}},"loc":{"start":{"line":544,"column":41},"end":{"line":553,"column":5}},"line":544},"44":{"name":"(anonymous_44)","decl":{"start":{"line":558,"column":4},"end":{"line":558,"column":5}},"loc":{"start":{"line":558,"column":39},"end":{"line":575,"column":5}},"line":558},"45":{"name":"(anonymous_45)","decl":{"start":{"line":562,"column":16},"end":{"line":562,"column":17}},"loc":{"start":{"line":562,"column":23},"end":{"line":562,"column":87}},"line":562},"46":{"name":"(anonymous_46)","decl":{"start":{"line":563,"column":13},"end":{"line":563,"column":14}},"loc":{"start":{"line":563,"column":21},"end":{"line":563,"column":57}},"line":563},"47":{"name":"(anonymous_47)","decl":{"start":{"line":579,"column":45},"end":{"line":579,"column":46}},"loc":{"start":{"line":579,"column":51},"end":{"line":603,"column":3}},"line":579},"48":{"name":"(anonymous_48)","decl":{"start":{"line":580,"column":53},"end":{"line":580,"column":54}},"loc":{"start":{"line":580,"column":95},"end":{"line":600,"column":5}},"line":580},"49":{"name":"(anonymous_49)","decl":{"start":{"line":581,"column":49},"end":{"line":581,"column":50}},"loc":{"start":{"line":581,"column":69},"end":{"line":597,"column":7}},"line":581},"50":{"name":"(anonymous_50)","decl":{"start":{"line":605,"column":38},"end":{"line":605,"column":39}},"loc":{"start":{"line":605,"column":50},"end":{"line":629,"column":3}},"line":605},"51":{"name":"(anonymous_51)","decl":{"start":{"line":614,"column":23},"end":{"line":614,"column":24}},"loc":{"start":{"line":614,"column":54},"end":{"line":619,"column":9}},"line":614},"52":{"name":"(anonymous_52)","decl":{"start":{"line":621,"column":6},"end":{"line":621,"column":7}},"loc":{"start":{"line":621,"column":18},"end":{"line":625,"column":8}},"line":621},"53":{"name":"(anonymous_53)","decl":{"start":{"line":632,"column":4},"end":{"line":632,"column":5}},"loc":{"start":{"line":632,"column":46},"end":{"line":674,"column":5}},"line":632},"54":{"name":"(anonymous_54)","decl":{"start":{"line":647,"column":25},"end":{"line":647,"column":26}},"loc":{"start":{"line":647,"column":56},"end":{"line":663,"column":11}},"line":647},"55":{"name":"(anonymous_55)","decl":{"start":{"line":665,"column":8},"end":{"line":665,"column":9}},"loc":{"start":{"line":665,"column":20},"end":{"line":670,"column":10}},"line":665},"56":{"name":"(anonymous_56)","decl":{"start":{"line":679,"column":4},"end":{"line":679,"column":5}},"loc":{"start":{"line":679,"column":40},"end":{"line":722,"column":5}},"line":679},"57":{"name":"(anonymous_57)","decl":{"start":{"line":694,"column":25},"end":{"line":694,"column":26}},"loc":{"start":{"line":694,"column":56},"end":{"line":710,"column":11}},"line":694},"58":{"name":"(anonymous_58)","decl":{"start":{"line":712,"column":8},"end":{"line":712,"column":9}},"loc":{"start":{"line":712,"column":20},"end":{"line":717,"column":10}},"line":712},"59":{"name":"(anonymous_59)","decl":{"start":{"line":727,"column":4},"end":{"line":727,"column":5}},"loc":{"start":{"line":727,"column":51},"end":{"line":741,"column":5}},"line":727},"60":{"name":"(anonymous_60)","decl":{"start":{"line":730,"column":72},"end":{"line":730,"column":73}},"loc":{"start":{"line":730,"column":84},"end":{"line":738,"column":8}},"line":730},"61":{"name":"(anonymous_61)","decl":{"start":{"line":745,"column":47},"end":{"line":745,"column":48}},"loc":{"start":{"line":745,"column":94},"end":{"line":752,"column":3}},"line":745},"62":{"name":"(anonymous_62)","decl":{"start":{"line":748,"column":55},"end":{"line":748,"column":56}},"loc":{"start":{"line":748,"column":67},"end":{"line":751,"column":6}},"line":748},"63":{"name":"(anonymous_63)","decl":{"start":{"line":755,"column":4},"end":{"line":755,"column":5}},"loc":{"start":{"line":755,"column":11},"end":{"line":780,"column":5}},"line":755}},"branchMap":{"0":{"loc":{"start":{"line":98,"column":8},"end":{"line":98,"column":32}},"type":"default-arg","locations":[{"start":{"line":98,"column":27},"end":{"line":98,"column":32}}],"line":98},"1":{"loc":{"start":{"line":99,"column":8},"end":{"line":99,"column":28}},"type":"default-arg","locations":[{"start":{"line":99,"column":24},"end":{"line":99,"column":28}}],"line":99},"2":{"loc":{"start":{"line":100,"column":8},"end":{"line":100,"column":32}},"type":"default-arg","locations":[{"start":{"line":100,"column":27},"end":{"line":100,"column":32}}],"line":100},"3":{"loc":{"start":{"line":101,"column":8},"end":{"line":101,"column":28}},"type":"default-arg","locations":[{"start":{"line":101,"column":23},"end":{"line":101,"column":28}}],"line":101},"4":{"loc":{"start":{"line":102,"column":8},"end":{"line":102,"column":33}},"type":"default-arg","locations":[{"start":{"line":102,"column":28},"end":{"line":102,"column":33}}],"line":102},"5":{"loc":{"start":{"line":103,"column":8},"end":{"line":103,"column":28}},"type":"default-arg","locations":[{"start":{"line":103,"column":23},"end":{"line":103,"column":28}}],"line":103},"6":{"loc":{"start":{"line":105,"column":24},"end":{"line":105,"column":81}},"type":"cond-expr","locations":[{"start":{"line":105,"column":43},"end":{"line":105,"column":62}},{"start":{"line":105,"column":65},"end":{"line":105,"column":81}}],"line":105},"7":{"loc":{"start":{"line":144,"column":4},"end":{"line":158,"column":5}},"type":"if","locations":[{"start":{"line":144,"column":4},"end":{"line":158,"column":5}},{"start":{"line":155,"column":11},"end":{"line":158,"column":5}}],"line":144},"8":{"loc":{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},"type":"if","locations":[{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},{"start":{},"end":{}}],"line":150},"9":{"loc":{"start":{"line":150,"column":12},"end":{"line":150,"column":35}},"type":"binary-expr","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":18}},{"start":{"line":150,"column":22},"end":{"line":150,"column":35}}],"line":150},"10":{"loc":{"start":{"line":174,"column":4},"end":{"line":189,"column":5}},"type":"if","locations":[{"start":{"line":174,"column":4},"end":{"line":189,"column":5}},{"start":{},"end":{}}],"line":174},"11":{"loc":{"start":{"line":174,"column":8},"end":{"line":174,"column":84}},"type":"binary-expr","locations":[{"start":{"line":174,"column":8},"end":{"line":174,"column":20}},{"start":{"line":174,"column":24},"end":{"line":174,"column":56}},{"start":{"line":174,"column":60},"end":{"line":174,"column":84}}],"line":174},"12":{"loc":{"start":{"line":224,"column":45},"end":{"line":224,"column":82}},"type":"default-arg","locations":[{"start":{"line":224,"column":62},"end":{"line":224,"column":82}}],"line":224},"13":{"loc":{"start":{"line":246,"column":20},"end":{"line":246,"column":58}},"type":"binary-expr","locations":[{"start":{"line":246,"column":20},"end":{"line":246,"column":35}},{"start":{"line":246,"column":39},"end":{"line":246,"column":58}}],"line":246},"14":{"loc":{"start":{"line":297,"column":6},"end":{"line":346,"column":7}},"type":"if","locations":[{"start":{"line":297,"column":6},"end":{"line":346,"column":7}},{"start":{},"end":{}}],"line":297},"15":{"loc":{"start":{"line":297,"column":10},"end":{"line":297,"column":43}},"type":"binary-expr","locations":[{"start":{"line":297,"column":10},"end":{"line":297,"column":21}},{"start":{"line":297,"column":25},"end":{"line":297,"column":43}}],"line":297},"16":{"loc":{"start":{"line":298,"column":8},"end":{"line":306,"column":9}},"type":"if","locations":[{"start":{"line":298,"column":8},"end":{"line":306,"column":9}},{"start":{},"end":{}}],"line":298},"17":{"loc":{"start":{"line":299,"column":10},"end":{"line":300,"column":143}},"type":"binary-expr","locations":[{"start":{"line":299,"column":10},"end":{"line":299,"column":41}},{"start":{"line":300,"column":13},"end":{"line":300,"column":143}}],"line":299},"18":{"loc":{"start":{"line":307,"column":8},"end":{"line":326,"column":9}},"type":"if","locations":[{"start":{"line":307,"column":8},"end":{"line":326,"column":9}},{"start":{},"end":{}}],"line":307},"19":{"loc":{"start":{"line":309,"column":33},"end":{"line":309,"column":61}},"type":"binary-expr","locations":[{"start":{"line":309,"column":33},"end":{"line":309,"column":55}},{"start":{"line":309,"column":59},"end":{"line":309,"column":61}}],"line":309},"20":{"loc":{"start":{"line":312,"column":12},"end":{"line":317,"column":13}},"type":"if","locations":[{"start":{"line":312,"column":12},"end":{"line":317,"column":13}},{"start":{},"end":{}}],"line":312},"21":{"loc":{"start":{"line":312,"column":16},"end":{"line":312,"column":74}},"type":"binary-expr","locations":[{"start":{"line":312,"column":16},"end":{"line":312,"column":51}},{"start":{"line":312,"column":55},"end":{"line":312,"column":74}}],"line":312},"22":{"loc":{"start":{"line":328,"column":8},"end":{"line":345,"column":9}},"type":"if","locations":[{"start":{"line":328,"column":8},"end":{"line":345,"column":9}},{"start":{},"end":{}}],"line":328},"23":{"loc":{"start":{"line":330,"column":33},"end":{"line":330,"column":61}},"type":"binary-expr","locations":[{"start":{"line":330,"column":33},"end":{"line":330,"column":55}},{"start":{"line":330,"column":59},"end":{"line":330,"column":61}}],"line":330},"24":{"loc":{"start":{"line":332,"column":31},"end":{"line":332,"column":89}},"type":"binary-expr","locations":[{"start":{"line":332,"column":31},"end":{"line":332,"column":66}},{"start":{"line":332,"column":70},"end":{"line":332,"column":89}}],"line":332},"25":{"loc":{"start":{"line":354,"column":33},"end":{"line":354,"column":136}},"type":"binary-expr","locations":[{"start":{"line":354,"column":34},"end":{"line":354,"column":59}},{"start":{"line":354,"column":63},"end":{"line":354,"column":83}},{"start":{"line":354,"column":87},"end":{"line":354,"column":108}},{"start":{"line":354,"column":113},"end":{"line":354,"column":136}}],"line":354},"26":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":38}},"type":"if","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":38}},{"start":{},"end":{}}],"line":355},"27":{"loc":{"start":{"line":366,"column":6},"end":{"line":369,"column":7}},"type":"if","locations":[{"start":{"line":366,"column":6},"end":{"line":369,"column":7}},{"start":{},"end":{}}],"line":366},"28":{"loc":{"start":{"line":380,"column":19},"end":{"line":380,"column":95}},"type":"binary-expr","locations":[{"start":{"line":380,"column":19},"end":{"line":380,"column":42}},{"start":{"line":380,"column":46},"end":{"line":380,"column":95}}],"line":380},"29":{"loc":{"start":{"line":385,"column":10},"end":{"line":385,"column":74}},"type":"binary-expr","locations":[{"start":{"line":385,"column":10},"end":{"line":385,"column":35}},{"start":{"line":385,"column":39},"end":{"line":385,"column":74}}],"line":385},"30":{"loc":{"start":{"line":386,"column":10},"end":{"line":386,"column":64}},"type":"binary-expr","locations":[{"start":{"line":386,"column":10},"end":{"line":386,"column":30}},{"start":{"line":386,"column":34},"end":{"line":386,"column":64}}],"line":386},"31":{"loc":{"start":{"line":387,"column":10},"end":{"line":387,"column":70}},"type":"binary-expr","locations":[{"start":{"line":387,"column":10},"end":{"line":387,"column":31}},{"start":{"line":387,"column":35},"end":{"line":387,"column":70}}],"line":387},"32":{"loc":{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},"type":"if","locations":[{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},{"start":{},"end":{}}],"line":389},"33":{"loc":{"start":{"line":423,"column":33},"end":{"line":423,"column":138}},"type":"binary-expr","locations":[{"start":{"line":423,"column":34},"end":{"line":423,"column":59}},{"start":{"line":423,"column":63},"end":{"line":423,"column":83}},{"start":{"line":423,"column":87},"end":{"line":423,"column":108}},{"start":{"line":423,"column":113},"end":{"line":423,"column":138}}],"line":423},"34":{"loc":{"start":{"line":424,"column":6},"end":{"line":424,"column":38}},"type":"if","locations":[{"start":{"line":424,"column":6},"end":{"line":424,"column":38}},{"start":{},"end":{}}],"line":424},"35":{"loc":{"start":{"line":438,"column":8},"end":{"line":444,"column":9}},"type":"if","locations":[{"start":{"line":438,"column":8},"end":{"line":444,"column":9}},{"start":{},"end":{}}],"line":438},"36":{"loc":{"start":{"line":440,"column":12},"end":{"line":442,"column":13}},"type":"if","locations":[{"start":{"line":440,"column":12},"end":{"line":442,"column":13}},{"start":{},"end":{}}],"line":440},"37":{"loc":{"start":{"line":440,"column":16},"end":{"line":440,"column":79}},"type":"binary-expr","locations":[{"start":{"line":440,"column":16},"end":{"line":440,"column":43}},{"start":{"line":440,"column":47},"end":{"line":440,"column":79}}],"line":440},"38":{"loc":{"start":{"line":451,"column":8},"end":{"line":492,"column":9}},"type":"if","locations":[{"start":{"line":451,"column":8},"end":{"line":492,"column":9}},{"start":{},"end":{}}],"line":451},"39":{"loc":{"start":{"line":455,"column":10},"end":{"line":491,"column":11}},"type":"if","locations":[{"start":{"line":455,"column":10},"end":{"line":491,"column":11}},{"start":{"line":489,"column":17},"end":{"line":491,"column":11}}],"line":455},"40":{"loc":{"start":{"line":460,"column":25},"end":{"line":460,"column":101}},"type":"binary-expr","locations":[{"start":{"line":460,"column":25},"end":{"line":460,"column":48}},{"start":{"line":460,"column":52},"end":{"line":460,"column":101}}],"line":460},"41":{"loc":{"start":{"line":465,"column":16},"end":{"line":465,"column":80}},"type":"binary-expr","locations":[{"start":{"line":465,"column":16},"end":{"line":465,"column":41}},{"start":{"line":465,"column":45},"end":{"line":465,"column":80}}],"line":465},"42":{"loc":{"start":{"line":466,"column":16},"end":{"line":466,"column":70}},"type":"binary-expr","locations":[{"start":{"line":466,"column":16},"end":{"line":466,"column":36}},{"start":{"line":466,"column":40},"end":{"line":466,"column":70}}],"line":466},"43":{"loc":{"start":{"line":467,"column":16},"end":{"line":467,"column":76}},"type":"binary-expr","locations":[{"start":{"line":467,"column":16},"end":{"line":467,"column":37}},{"start":{"line":467,"column":41},"end":{"line":467,"column":76}}],"line":467},"44":{"loc":{"start":{"line":469,"column":14},"end":{"line":471,"column":15}},"type":"if","locations":[{"start":{"line":469,"column":14},"end":{"line":471,"column":15}},{"start":{},"end":{}}],"line":469},"45":{"loc":{"start":{"line":469,"column":18},"end":{"line":469,"column":80}},"type":"binary-expr","locations":[{"start":{"line":469,"column":18},"end":{"line":469,"column":30}},{"start":{"line":469,"column":34},"end":{"line":469,"column":80}}],"line":469},"46":{"loc":{"start":{"line":509,"column":6},"end":{"line":521,"column":7}},"type":"if","locations":[{"start":{"line":509,"column":6},"end":{"line":521,"column":7}},{"start":{},"end":{}}],"line":509},"47":{"loc":{"start":{"line":518,"column":8},"end":{"line":520,"column":9}},"type":"if","locations":[{"start":{"line":518,"column":8},"end":{"line":520,"column":9}},{"start":{},"end":{}}],"line":518},"48":{"loc":{"start":{"line":582,"column":30},"end":{"line":582,"column":90}},"type":"binary-expr","locations":[{"start":{"line":582,"column":30},"end":{"line":582,"column":84}},{"start":{"line":582,"column":88},"end":{"line":582,"column":90}}],"line":582},"49":{"loc":{"start":{"line":585,"column":8},"end":{"line":589,"column":9}},"type":"if","locations":[{"start":{"line":585,"column":8},"end":{"line":589,"column":9}},{"start":{},"end":{}}],"line":585},"50":{"loc":{"start":{"line":585,"column":12},"end":{"line":585,"column":95}},"type":"binary-expr","locations":[{"start":{"line":585,"column":12},"end":{"line":585,"column":58}},{"start":{"line":585,"column":62},"end":{"line":585,"column":95}}],"line":585},"51":{"loc":{"start":{"line":585,"column":13},"end":{"line":585,"column":40}},"type":"binary-expr","locations":[{"start":{"line":585,"column":13},"end":{"line":585,"column":34}},{"start":{"line":585,"column":38},"end":{"line":585,"column":40}}],"line":585},"52":{"loc":{"start":{"line":590,"column":8},"end":{"line":594,"column":9}},"type":"if","locations":[{"start":{"line":590,"column":8},"end":{"line":594,"column":9}},{"start":{},"end":{}}],"line":590},"53":{"loc":{"start":{"line":590,"column":12},"end":{"line":590,"column":93}},"type":"binary-expr","locations":[{"start":{"line":590,"column":12},"end":{"line":590,"column":47}},{"start":{"line":590,"column":51},"end":{"line":590,"column":93}}],"line":590},"54":{"loc":{"start":{"line":591,"column":10},"end":{"line":593,"column":11}},"type":"if","locations":[{"start":{"line":591,"column":10},"end":{"line":593,"column":11}},{"start":{},"end":{}}],"line":591},"55":{"loc":{"start":{"line":616,"column":10},"end":{"line":618,"column":11}},"type":"if","locations":[{"start":{"line":616,"column":10},"end":{"line":618,"column":11}},{"start":{},"end":{}}],"line":616},"56":{"loc":{"start":{"line":633,"column":36},"end":{"line":637,"column":34}},"type":"binary-expr","locations":[{"start":{"line":633,"column":37},"end":{"line":633,"column":62}},{"start":{"line":634,"column":13},"end":{"line":634,"column":36}},{"start":{"line":635,"column":13},"end":{"line":635,"column":37}},{"start":{"line":636,"column":13},"end":{"line":636,"column":37}},{"start":{"line":637,"column":11},"end":{"line":637,"column":34}}],"line":633},"57":{"loc":{"start":{"line":638,"column":6},"end":{"line":638,"column":41}},"type":"if","locations":[{"start":{"line":638,"column":6},"end":{"line":638,"column":41}},{"start":{},"end":{}}],"line":638},"58":{"loc":{"start":{"line":649,"column":12},"end":{"line":662,"column":13}},"type":"if","locations":[{"start":{"line":649,"column":12},"end":{"line":662,"column":13}},{"start":{},"end":{}}],"line":649},"59":{"loc":{"start":{"line":680,"column":36},"end":{"line":684,"column":36}},"type":"binary-expr","locations":[{"start":{"line":680,"column":37},"end":{"line":680,"column":62}},{"start":{"line":681,"column":13},"end":{"line":681,"column":36}},{"start":{"line":682,"column":13},"end":{"line":682,"column":37}},{"start":{"line":683,"column":13},"end":{"line":683,"column":37}},{"start":{"line":684,"column":11},"end":{"line":684,"column":36}}],"line":680},"60":{"loc":{"start":{"line":685,"column":6},"end":{"line":685,"column":41}},"type":"if","locations":[{"start":{"line":685,"column":6},"end":{"line":685,"column":41}},{"start":{},"end":{}}],"line":685},"61":{"loc":{"start":{"line":696,"column":12},"end":{"line":709,"column":13}},"type":"if","locations":[{"start":{"line":696,"column":12},"end":{"line":709,"column":13}},{"start":{},"end":{}}],"line":696}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0,0,0,0],"57":[0,0],"58":[0,0],"59":[0,0,0,0,0],"60":[0,0],"61":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/index.ts","statementMap":{"0":{"start":{"line":3,"column":27},"end":{"line":3,"column":49}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/tokenState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/tokenState.ts","statementMap":{"0":{"start":{"line":4,"column":45},"end":{"line":14,"column":1}},"1":{"start":{"line":16,"column":36},"end":{"line":32,"column":1}},"2":{"start":{"line":16,"column":47},"end":{"line":32,"column":1}},"3":{"start":{"line":16,"column":57},"end":{"line":32,"column":1}},"4":{"start":{"line":17,"column":20},"end":{"line":17,"column":36}},"5":{"start":{"line":18,"column":2},"end":{"line":18,"column":15}},"6":{"start":{"line":19,"column":20},"end":{"line":19,"column":36}},"7":{"start":{"line":21,"column":2},"end":{"line":31,"column":3}},"8":{"start":{"line":25,"column":4},"end":{"line":30,"column":7}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":36},"end":{"line":16,"column":37}},"loc":{"start":{"line":16,"column":47},"end":{"line":32,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":47},"end":{"line":16,"column":48}},"loc":{"start":{"line":16,"column":57},"end":{"line":32,"column":1}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":57},"end":{"line":16,"column":58}},"loc":{"start":{"line":16,"column":69},"end":{"line":32,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":21},"1":{"loc":{"start":{"line":22,"column":4},"end":{"line":23,"column":67}},"type":"binary-expr","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":73}},{"start":{"line":23,"column":9},"end":{"line":23,"column":67}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/branchState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/branchState.tsx","statementMap":{"0":{"start":{"line":8,"column":27},"end":{"line":18,"column":2}},"1":{"start":{"line":13,"column":45},"end":{"line":16,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":45},"end":{"line":16,"column":5}},"line":13}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/index.tsx","statementMap":{"0":{"start":{"line":9,"column":33},"end":{"line":16,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/inspectState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/inspectState.tsx","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":36,"column":2}},"1":{"start":{"line":17,"column":51},"end":{"line":20,"column":5}},"2":{"start":{"line":21,"column":52},"end":{"line":26,"column":5}},"3":{"start":{"line":24,"column":49},"end":{"line":24,"column":63}},"4":{"start":{"line":27,"column":62},"end":{"line":30,"column":5}},"5":{"start":{"line":31,"column":64},"end":{"line":34,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":23},"end":{"line":17,"column":24}},"loc":{"start":{"line":17,"column":51},"end":{"line":20,"column":5}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":26},"end":{"line":21,"column":27}},"loc":{"start":{"line":21,"column":52},"end":{"line":26,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":38},"end":{"line":24,"column":39}},"loc":{"start":{"line":24,"column":49},"end":{"line":24,"column":63}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":32},"end":{"line":27,"column":33}},"loc":{"start":{"line":27,"column":62},"end":{"line":30,"column":5}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":34},"end":{"line":31,"column":35}},"loc":{"start":{"line":31,"column":64},"end":{"line":34,"column":5}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":22},"end":{"line":25,"column":41}},"type":"cond-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":24,"column":64}},{"start":{"line":25,"column":10},"end":{"line":25,"column":41}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/settings.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/settings.tsx","statementMap":{"0":{"start":{"line":58,"column":14},"end":{"line":63,"column":1}},"1":{"start":{"line":59,"column":2},"end":{"line":62,"column":5}},"2":{"start":{"line":65,"column":24},"end":{"line":284,"column":2}},"3":{"start":{"line":101,"column":6},"end":{"line":104,"column":7}},"4":{"start":{"line":103,"column":8},"end":{"line":103,"column":22}},"5":{"start":{"line":106,"column":6},"end":{"line":109,"column":8}},"6":{"start":{"line":112,"column":6},"end":{"line":115,"column":8}},"7":{"start":{"line":118,"column":6},"end":{"line":121,"column":8}},"8":{"start":{"line":124,"column":6},"end":{"line":131,"column":8}},"9":{"start":{"line":134,"column":6},"end":{"line":134,"column":32}},"10":{"start":{"line":135,"column":6},"end":{"line":142,"column":8}},"11":{"start":{"line":146,"column":6},"end":{"line":146,"column":76}},"12":{"start":{"line":148,"column":6},"end":{"line":151,"column":7}},"13":{"start":{"line":150,"column":8},"end":{"line":150,"column":22}},"14":{"start":{"line":153,"column":6},"end":{"line":156,"column":8}},"15":{"start":{"line":159,"column":6},"end":{"line":162,"column":8}},"16":{"start":{"line":165,"column":6},"end":{"line":168,"column":8}},"17":{"start":{"line":171,"column":6},"end":{"line":171,"column":19}},"18":{"start":{"line":172,"column":6},"end":{"line":172,"column":19}},"19":{"start":{"line":175,"column":6},"end":{"line":178,"column":8}},"20":{"start":{"line":181,"column":6},"end":{"line":184,"column":8}},"21":{"start":{"line":187,"column":6},"end":{"line":190,"column":8}},"22":{"start":{"line":193,"column":6},"end":{"line":196,"column":8}},"23":{"start":{"line":199,"column":6},"end":{"line":202,"column":8}},"24":{"start":{"line":205,"column":6},"end":{"line":208,"column":8}},"25":{"start":{"line":211,"column":6},"end":{"line":214,"column":8}},"26":{"start":{"line":217,"column":6},"end":{"line":220,"column":8}},"27":{"start":{"line":223,"column":18},"end":{"line":283,"column":3}},"28":{"start":{"line":225,"column":6},"end":{"line":225,"column":38}},"29":{"start":{"line":226,"column":6},"end":{"line":226,"column":32}},"30":{"start":{"line":229,"column":6},"end":{"line":233,"column":9}},"31":{"start":{"line":236,"column":6},"end":{"line":240,"column":9}},"32":{"start":{"line":243,"column":6},"end":{"line":243,"column":32}},"33":{"start":{"line":246,"column":6},"end":{"line":246,"column":32}},"34":{"start":{"line":249,"column":6},"end":{"line":249,"column":32}},"35":{"start":{"line":252,"column":6},"end":{"line":252,"column":32}},"36":{"start":{"line":255,"column":6},"end":{"line":255,"column":32}},"37":{"start":{"line":258,"column":6},"end":{"line":258,"column":32}},"38":{"start":{"line":261,"column":6},"end":{"line":261,"column":32}},"39":{"start":{"line":264,"column":6},"end":{"line":264,"column":32}},"40":{"start":{"line":267,"column":6},"end":{"line":267,"column":32}},"41":{"start":{"line":270,"column":6},"end":{"line":270,"column":32}},"42":{"start":{"line":273,"column":6},"end":{"line":273,"column":32}},"43":{"start":{"line":276,"column":6},"end":{"line":276,"column":32}},"44":{"start":{"line":280,"column":8},"end":{"line":280,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":58,"column":14},"end":{"line":58,"column":15}},"loc":{"start":{"line":58,"column":40},"end":{"line":63,"column":1}},"line":58},"1":{"name":"(anonymous_1)","decl":{"start":{"line":100,"column":4},"end":{"line":100,"column":5}},"loc":{"start":{"line":100,"column":49},"end":{"line":110,"column":5}},"line":100},"2":{"name":"(anonymous_2)","decl":{"start":{"line":111,"column":4},"end":{"line":111,"column":5}},"loc":{"start":{"line":111,"column":44},"end":{"line":116,"column":5}},"line":111},"3":{"name":"(anonymous_3)","decl":{"start":{"line":117,"column":4},"end":{"line":117,"column":5}},"loc":{"start":{"line":117,"column":40},"end":{"line":122,"column":5}},"line":117},"4":{"name":"(anonymous_4)","decl":{"start":{"line":123,"column":4},"end":{"line":123,"column":5}},"loc":{"start":{"line":123,"column":69},"end":{"line":132,"column":5}},"line":123},"5":{"name":"(anonymous_5)","decl":{"start":{"line":133,"column":4},"end":{"line":133,"column":5}},"loc":{"start":{"line":133,"column":101},"end":{"line":143,"column":5}},"line":133},"6":{"name":"(anonymous_6)","decl":{"start":{"line":144,"column":4},"end":{"line":144,"column":5}},"loc":{"start":{"line":144,"column":49},"end":{"line":157,"column":5}},"line":144},"7":{"name":"(anonymous_7)","decl":{"start":{"line":158,"column":4},"end":{"line":158,"column":5}},"loc":{"start":{"line":158,"column":44},"end":{"line":163,"column":5}},"line":158},"8":{"name":"(anonymous_8)","decl":{"start":{"line":164,"column":4},"end":{"line":164,"column":5}},"loc":{"start":{"line":164,"column":49},"end":{"line":169,"column":5}},"line":164},"9":{"name":"(anonymous_9)","decl":{"start":{"line":170,"column":4},"end":{"line":170,"column":5}},"loc":{"start":{"line":170,"column":31},"end":{"line":173,"column":5}},"line":170},"10":{"name":"(anonymous_10)","decl":{"start":{"line":174,"column":4},"end":{"line":174,"column":5}},"loc":{"start":{"line":174,"column":46},"end":{"line":179,"column":5}},"line":174},"11":{"name":"(anonymous_11)","decl":{"start":{"line":180,"column":4},"end":{"line":180,"column":5}},"loc":{"start":{"line":180,"column":45},"end":{"line":185,"column":5}},"line":180},"12":{"name":"(anonymous_12)","decl":{"start":{"line":186,"column":4},"end":{"line":186,"column":5}},"loc":{"start":{"line":186,"column":47},"end":{"line":191,"column":5}},"line":186},"13":{"name":"(anonymous_13)","decl":{"start":{"line":192,"column":4},"end":{"line":192,"column":5}},"loc":{"start":{"line":192,"column":86},"end":{"line":197,"column":5}},"line":192},"14":{"name":"(anonymous_14)","decl":{"start":{"line":198,"column":4},"end":{"line":198,"column":5}},"loc":{"start":{"line":198,"column":49},"end":{"line":203,"column":5}},"line":198},"15":{"name":"(anonymous_15)","decl":{"start":{"line":204,"column":4},"end":{"line":204,"column":5}},"loc":{"start":{"line":204,"column":51},"end":{"line":209,"column":5}},"line":204},"16":{"name":"(anonymous_16)","decl":{"start":{"line":210,"column":4},"end":{"line":210,"column":5}},"loc":{"start":{"line":210,"column":48},"end":{"line":215,"column":5}},"line":210},"17":{"name":"(anonymous_17)","decl":{"start":{"line":216,"column":4},"end":{"line":216,"column":5}},"loc":{"start":{"line":216,"column":65},"end":{"line":221,"column":5}},"line":216},"18":{"name":"(anonymous_18)","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":12}},"loc":{"start":{"line":223,"column":18},"end":{"line":283,"column":3}},"line":223},"19":{"name":"(anonymous_19)","decl":{"start":{"line":224,"column":17},"end":{"line":224,"column":18}},"loc":{"start":{"line":224,"column":49},"end":{"line":227,"column":5}},"line":224},"20":{"name":"(anonymous_20)","decl":{"start":{"line":228,"column":19},"end":{"line":228,"column":20}},"loc":{"start":{"line":228,"column":32},"end":{"line":234,"column":5}},"line":228},"21":{"name":"(anonymous_21)","decl":{"start":{"line":235,"column":29},"end":{"line":235,"column":30}},"loc":{"start":{"line":235,"column":42},"end":{"line":241,"column":5}},"line":235},"22":{"name":"(anonymous_22)","decl":{"start":{"line":242,"column":25},"end":{"line":242,"column":26}},"loc":{"start":{"line":242,"column":49},"end":{"line":244,"column":5}},"line":242},"23":{"name":"(anonymous_23)","decl":{"start":{"line":245,"column":27},"end":{"line":245,"column":28}},"loc":{"start":{"line":245,"column":51},"end":{"line":247,"column":5}},"line":245},"24":{"name":"(anonymous_24)","decl":{"start":{"line":248,"column":19},"end":{"line":248,"column":20}},"loc":{"start":{"line":248,"column":43},"end":{"line":250,"column":5}},"line":248},"25":{"name":"(anonymous_25)","decl":{"start":{"line":251,"column":21},"end":{"line":251,"column":22}},"loc":{"start":{"line":251,"column":45},"end":{"line":253,"column":5}},"line":251},"26":{"name":"(anonymous_26)","decl":{"start":{"line":254,"column":23},"end":{"line":254,"column":24}},"loc":{"start":{"line":254,"column":47},"end":{"line":256,"column":5}},"line":254},"27":{"name":"(anonymous_27)","decl":{"start":{"line":257,"column":38},"end":{"line":257,"column":39}},"loc":{"start":{"line":257,"column":62},"end":{"line":259,"column":5}},"line":257},"28":{"name":"(anonymous_28)","decl":{"start":{"line":260,"column":20},"end":{"line":260,"column":21}},"loc":{"start":{"line":260,"column":44},"end":{"line":262,"column":5}},"line":260},"29":{"name":"(anonymous_29)","decl":{"start":{"line":263,"column":19},"end":{"line":263,"column":20}},"loc":{"start":{"line":263,"column":43},"end":{"line":265,"column":5}},"line":263},"30":{"name":"(anonymous_30)","decl":{"start":{"line":266,"column":25},"end":{"line":266,"column":26}},"loc":{"start":{"line":266,"column":49},"end":{"line":268,"column":5}},"line":266},"31":{"name":"(anonymous_31)","decl":{"start":{"line":269,"column":21},"end":{"line":269,"column":22}},"loc":{"start":{"line":269,"column":45},"end":{"line":271,"column":5}},"line":269},"32":{"name":"(anonymous_32)","decl":{"start":{"line":272,"column":26},"end":{"line":272,"column":27}},"loc":{"start":{"line":272,"column":50},"end":{"line":274,"column":5}},"line":272},"33":{"name":"(anonymous_33)","decl":{"start":{"line":275,"column":41},"end":{"line":275,"column":42}},"loc":{"start":{"line":275,"column":65},"end":{"line":277,"column":5}},"line":275},"34":{"name":"(anonymous_34)","decl":{"start":{"line":279,"column":48},"end":{"line":279,"column":49}},"loc":{"start":{"line":280,"column":8},"end":{"line":280,"column":24}},"line":280}},"branchMap":{"0":{"loc":{"start":{"line":101,"column":6},"end":{"line":104,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":104,"column":7}},{"start":{},"end":{}}],"line":101},"1":{"loc":{"start":{"line":127,"column":23},"end":{"line":127,"column":59}},"type":"binary-expr","locations":[{"start":{"line":127,"column":23},"end":{"line":127,"column":50}},{"start":{"line":127,"column":54},"end":{"line":127,"column":59}}],"line":127},"2":{"loc":{"start":{"line":148,"column":6},"end":{"line":151,"column":7}},"type":"if","locations":[{"start":{"line":148,"column":6},"end":{"line":151,"column":7}},{"start":{},"end":{}}],"line":148},"3":{"loc":{"start":{"line":238,"column":15},"end":{"line":238,"column":55}},"type":"cond-expr","locations":[{"start":{"line":238,"column":37},"end":{"line":238,"column":39}},{"start":{"line":238,"column":42},"end":{"line":238,"column":55}}],"line":238},"4":{"loc":{"start":{"line":239,"column":16},"end":{"line":239,"column":57}},"type":"cond-expr","locations":[{"start":{"line":239,"column":38},"end":{"line":239,"column":40}},{"start":{"line":239,"column":43},"end":{"line":239,"column":57}}],"line":239}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/tokenState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/tokenState.tsx","statementMap":{"0":{"start":{"line":92,"column":26},"end":{"line":966,"column":2}},"1":{"start":{"line":113,"column":6},"end":{"line":113,"column":43}},"2":{"start":{"line":114,"column":6},"end":{"line":114,"column":17}},"3":{"start":{"line":136,"column":45},"end":{"line":139,"column":5}},"4":{"start":{"line":140,"column":45},"end":{"line":143,"column":5}},"5":{"start":{"line":144,"column":50},"end":{"line":147,"column":5}},"6":{"start":{"line":149,"column":6},"end":{"line":152,"column":8}},"7":{"start":{"line":154,"column":55},"end":{"line":161,"column":5}},"8":{"start":{"line":162,"column":49},"end":{"line":165,"column":5}},"9":{"start":{"line":166,"column":57},"end":{"line":169,"column":5}},"10":{"start":{"line":170,"column":51},"end":{"line":173,"column":5}},"11":{"start":{"line":174,"column":65},"end":{"line":180,"column":5}},"12":{"start":{"line":182,"column":6},"end":{"line":185,"column":7}},"13":{"start":{"line":183,"column":8},"end":{"line":183,"column":64}},"14":{"start":{"line":184,"column":8},"end":{"line":184,"column":21}},"15":{"start":{"line":187,"column":6},"end":{"line":187,"column":57}},"16":{"start":{"line":190,"column":6},"end":{"line":193,"column":7}},"17":{"start":{"line":191,"column":8},"end":{"line":191,"column":64}},"18":{"start":{"line":192,"column":8},"end":{"line":192,"column":21}},"19":{"start":{"line":194,"column":22},"end":{"line":194,"column":64}},"20":{"start":{"line":195,"column":6},"end":{"line":199,"column":9}},"21":{"start":{"line":197,"column":45},"end":{"line":197,"column":84}},"22":{"start":{"line":201,"column":45},"end":{"line":201,"column":146}},"23":{"start":{"line":201,"column":99},"end":{"line":201,"column":144}},"24":{"start":{"line":202,"column":50},"end":{"line":205,"column":5}},"25":{"start":{"line":207,"column":24},"end":{"line":207,"column":26}},"26":{"start":{"line":208,"column":6},"end":{"line":210,"column":9}},"27":{"start":{"line":209,"column":8},"end":{"line":209,"column":63}},"28":{"start":{"line":211,"column":6},"end":{"line":214,"column":8}},"29":{"start":{"line":216,"column":75},"end":{"line":219,"column":5}},"30":{"start":{"line":220,"column":37},"end":{"line":226,"column":5}},"31":{"start":{"line":228,"column":27},"end":{"line":228,"column":45}},"32":{"start":{"line":229,"column":6},"end":{"line":229,"column":37}},"33":{"start":{"line":230,"column":21},"end":{"line":230,"column":79}},"34":{"start":{"line":231,"column":6},"end":{"line":237,"column":8}},"35":{"start":{"line":240,"column":6},"end":{"line":243,"column":8}},"36":{"start":{"line":245,"column":68},"end":{"line":248,"column":5}},"37":{"start":{"line":250,"column":44},"end":{"line":250,"column":46}},"38":{"start":{"line":252,"column":28},"end":{"line":252,"column":87}},"39":{"start":{"line":252,"column":66},"end":{"line":252,"column":86}},"40":{"start":{"line":253,"column":6},"end":{"line":257,"column":7}},"41":{"start":{"line":254,"column":8},"end":{"line":256,"column":10}},"42":{"start":{"line":259,"column":6},"end":{"line":265,"column":8}},"43":{"start":{"line":269,"column":46},"end":{"line":269,"column":86}},"44":{"start":{"line":270,"column":6},"end":{"line":278,"column":9}},"45":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"46":{"start":{"line":272,"column":10},"end":{"line":272,"column":39}},"47":{"start":{"line":274,"column":35},"end":{"line":274,"column":98}},"48":{"start":{"line":274,"column":76},"end":{"line":274,"column":97}},"49":{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},"50":{"start":{"line":276,"column":10},"end":{"line":276,"column":111}},"51":{"start":{"line":280,"column":6},"end":{"line":283,"column":8}},"52":{"start":{"line":287,"column":46},"end":{"line":287,"column":86}},"53":{"start":{"line":288,"column":6},"end":{"line":297,"column":9}},"54":{"start":{"line":289,"column":35},"end":{"line":289,"column":98}},"55":{"start":{"line":289,"column":76},"end":{"line":289,"column":97}},"56":{"start":{"line":290,"column":8},"end":{"line":296,"column":9}},"57":{"start":{"line":291,"column":10},"end":{"line":295,"column":12}},"58":{"start":{"line":299,"column":6},"end":{"line":302,"column":8}},"59":{"start":{"line":305,"column":46},"end":{"line":305,"column":48}},"60":{"start":{"line":306,"column":6},"end":{"line":344,"column":9}},"61":{"start":{"line":307,"column":8},"end":{"line":343,"column":9}},"62":{"start":{"line":308,"column":37},"end":{"line":308,"column":102}},"63":{"start":{"line":308,"column":77},"end":{"line":308,"column":101}},"64":{"start":{"line":309,"column":10},"end":{"line":327,"column":11}},"65":{"start":{"line":310,"column":35},"end":{"line":310,"column":62}},"66":{"start":{"line":311,"column":12},"end":{"line":325,"column":30}},"67":{"start":{"line":326,"column":12},"end":{"line":326,"column":49}},"68":{"start":{"line":328,"column":15},"end":{"line":343,"column":9}},"69":{"start":{"line":329,"column":37},"end":{"line":329,"column":102}},"70":{"start":{"line":329,"column":77},"end":{"line":329,"column":101}},"71":{"start":{"line":330,"column":10},"end":{"line":342,"column":11}},"72":{"start":{"line":331,"column":29},"end":{"line":340,"column":13}},"73":{"start":{"line":341,"column":12},"end":{"line":341,"column":87}},"74":{"start":{"line":346,"column":6},"end":{"line":352,"column":8}},"75":{"start":{"line":357,"column":46},"end":{"line":357,"column":48}},"76":{"start":{"line":358,"column":51},"end":{"line":358,"column":53}},"77":{"start":{"line":359,"column":50},"end":{"line":359,"column":52}},"78":{"start":{"line":362,"column":23},"end":{"line":362,"column":32}},"79":{"start":{"line":363,"column":6},"end":{"line":369,"column":9}},"80":{"start":{"line":364,"column":8},"end":{"line":368,"column":11}},"81":{"start":{"line":365,"column":10},"end":{"line":367,"column":11}},"82":{"start":{"line":366,"column":12},"end":{"line":366,"column":44}},"83":{"start":{"line":372,"column":6},"end":{"line":397,"column":9}},"84":{"start":{"line":373,"column":8},"end":{"line":396,"column":11}},"85":{"start":{"line":374,"column":27},"end":{"line":374,"column":51}},"86":{"start":{"line":375,"column":10},"end":{"line":395,"column":11}},"87":{"start":{"line":376,"column":12},"end":{"line":391,"column":13}},"88":{"start":{"line":377,"column":52},"end":{"line":377,"column":78}},"89":{"start":{"line":378,"column":49},"end":{"line":378,"column":72}},"90":{"start":{"line":379,"column":14},"end":{"line":386,"column":15}},"91":{"start":{"line":380,"column":16},"end":{"line":380,"column":43}},"92":{"start":{"line":382,"column":16},"end":{"line":385,"column":19}},"93":{"start":{"line":388,"column":35},"end":{"line":388,"column":47}},"94":{"start":{"line":389,"column":14},"end":{"line":389,"column":53}},"95":{"start":{"line":390,"column":14},"end":{"line":390,"column":47}},"96":{"start":{"line":394,"column":12},"end":{"line":394,"column":34}},"97":{"start":{"line":399,"column":6},"end":{"line":405,"column":22}},"98":{"start":{"line":409,"column":49},"end":{"line":409,"column":51}},"99":{"start":{"line":410,"column":54},"end":{"line":410,"column":56}},"100":{"start":{"line":411,"column":53},"end":{"line":411,"column":55}},"101":{"start":{"line":414,"column":6},"end":{"line":440,"column":9}},"102":{"start":{"line":415,"column":8},"end":{"line":439,"column":11}},"103":{"start":{"line":417,"column":10},"end":{"line":438,"column":11}},"104":{"start":{"line":418,"column":29},"end":{"line":418,"column":90}},"105":{"start":{"line":418,"column":68},"end":{"line":418,"column":89}},"106":{"start":{"line":420,"column":12},"end":{"line":435,"column":13}},"107":{"start":{"line":421,"column":52},"end":{"line":421,"column":78}},"108":{"start":{"line":422,"column":49},"end":{"line":422,"column":72}},"109":{"start":{"line":423,"column":14},"end":{"line":432,"column":15}},"110":{"start":{"line":427,"column":16},"end":{"line":427,"column":43}},"111":{"start":{"line":429,"column":37},"end":{"line":429,"column":49}},"112":{"start":{"line":430,"column":16},"end":{"line":430,"column":55}},"113":{"start":{"line":431,"column":16},"end":{"line":431,"column":49}},"114":{"start":{"line":434,"column":14},"end":{"line":434,"column":36}},"115":{"start":{"line":437,"column":12},"end":{"line":437,"column":34}},"116":{"start":{"line":441,"column":6},"end":{"line":447,"column":22}},"117":{"start":{"line":450,"column":25},"end":{"line":450,"column":64}},"118":{"start":{"line":451,"column":20},"end":{"line":451,"column":93}},"119":{"start":{"line":451,"column":67},"end":{"line":451,"column":92}},"120":{"start":{"line":452,"column":23},"end":{"line":452,"column":53}},"121":{"start":{"line":453,"column":6},"end":{"line":456,"column":23}},"122":{"start":{"line":457,"column":6},"end":{"line":463,"column":8}},"123":{"start":{"line":466,"column":23},"end":{"line":472,"column":7}},"124":{"start":{"line":470,"column":69},"end":{"line":470,"column":93}},"125":{"start":{"line":474,"column":6},"end":{"line":474,"column":22}},"126":{"start":{"line":477,"column":14},"end":{"line":477,"column":15}},"127":{"start":{"line":478,"column":23},"end":{"line":497,"column":7}},"128":{"start":{"line":485,"column":16},"end":{"line":492,"column":17}},"129":{"start":{"line":486,"column":18},"end":{"line":489,"column":19}},"130":{"start":{"line":487,"column":20},"end":{"line":487,"column":27}},"131":{"start":{"line":488,"column":20},"end":{"line":488,"column":32}},"132":{"start":{"line":490,"column":18},"end":{"line":490,"column":25}},"133":{"start":{"line":491,"column":18},"end":{"line":491,"column":31}},"134":{"start":{"line":493,"column":16},"end":{"line":493,"column":48}},"135":{"start":{"line":495,"column":60},"end":{"line":495,"column":84}},"136":{"start":{"line":499,"column":6},"end":{"line":499,"column":22}},"137":{"start":{"line":502,"column":23},"end":{"line":510,"column":7}},"138":{"start":{"line":507,"column":23},"end":{"line":507,"column":92}},"139":{"start":{"line":512,"column":6},"end":{"line":512,"column":22}},"140":{"start":{"line":518,"column":10},"end":{"line":518,"column":14}},"141":{"start":{"line":519,"column":29},"end":{"line":519,"column":55}},"142":{"start":{"line":520,"column":36},"end":{"line":530,"column":24}},"143":{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},"144":{"start":{"line":522,"column":36},"end":{"line":522,"column":41}},"145":{"start":{"line":523,"column":31},"end":{"line":523,"column":71}},"146":{"start":{"line":524,"column":10},"end":{"line":527,"column":12}},"147":{"start":{"line":529,"column":8},"end":{"line":529,"column":21}},"148":{"start":{"line":532,"column":23},"end":{"line":538,"column":7}},"149":{"start":{"line":539,"column":6},"end":{"line":539,"column":36}},"150":{"start":{"line":545,"column":10},"end":{"line":545,"column":14}},"151":{"start":{"line":546,"column":33},"end":{"line":548,"column":7}},"152":{"start":{"line":547,"column":19},"end":{"line":547,"column":78}},"153":{"start":{"line":549,"column":28},"end":{"line":556,"column":8}},"154":{"start":{"line":550,"column":34},"end":{"line":550,"column":39}},"155":{"start":{"line":551,"column":41},"end":{"line":551,"column":77}},"156":{"start":{"line":552,"column":8},"end":{"line":555,"column":10}},"157":{"start":{"line":558,"column":24},"end":{"line":565,"column":12}},"158":{"start":{"line":559,"column":8},"end":{"line":563,"column":9}},"159":{"start":{"line":560,"column":10},"end":{"line":560,"column":62}},"160":{"start":{"line":562,"column":10},"end":{"line":562,"column":39}},"161":{"start":{"line":564,"column":8},"end":{"line":564,"column":19}},"162":{"start":{"line":567,"column":6},"end":{"line":570,"column":8}},"163":{"start":{"line":572,"column":68},"end":{"line":575,"column":5}},"164":{"start":{"line":576,"column":55},"end":{"line":579,"column":5}},"165":{"start":{"line":580,"column":77},"end":{"line":583,"column":5}},"166":{"start":{"line":584,"column":54},"end":{"line":587,"column":5}},"167":{"start":{"line":588,"column":52},"end":{"line":591,"column":5}},"168":{"start":{"line":596,"column":25},"end":{"line":599,"column":7}},"169":{"start":{"line":600,"column":6},"end":{"line":603,"column":22}},"170":{"start":{"line":605,"column":35},"end":{"line":612,"column":5}},"171":{"start":{"line":613,"column":67},"end":{"line":616,"column":5}},"172":{"start":{"line":617,"column":70},"end":{"line":620,"column":5}},"173":{"start":{"line":624,"column":10},"end":{"line":624,"column":14}},"174":{"start":{"line":625,"column":46},"end":{"line":625,"column":48}},"175":{"start":{"line":626,"column":6},"end":{"line":638,"column":9}},"176":{"start":{"line":627,"column":8},"end":{"line":637,"column":9}},"177":{"start":{"line":628,"column":37},"end":{"line":628,"column":115}},"178":{"start":{"line":628,"column":77},"end":{"line":628,"column":114}},"179":{"start":{"line":629,"column":10},"end":{"line":636,"column":11}},"180":{"start":{"line":630,"column":35},"end":{"line":630,"column":62}},"181":{"start":{"line":631,"column":12},"end":{"line":634,"column":30}},"182":{"start":{"line":635,"column":12},"end":{"line":635,"column":49}},"183":{"start":{"line":640,"column":6},"end":{"line":646,"column":8}},"184":{"start":{"line":649,"column":42},"end":{"line":649,"column":44}},"185":{"start":{"line":650,"column":46},"end":{"line":650,"column":48}},"186":{"start":{"line":652,"column":6},"end":{"line":668,"column":9}},"187":{"start":{"line":653,"column":30},"end":{"line":653,"column":104}},"188":{"start":{"line":653,"column":55},"end":{"line":653,"column":103}},"189":{"start":{"line":655,"column":8},"end":{"line":667,"column":9}},"190":{"start":{"line":656,"column":10},"end":{"line":664,"column":11}},"191":{"start":{"line":657,"column":12},"end":{"line":663,"column":15}},"192":{"start":{"line":666,"column":10},"end":{"line":666,"column":32}},"193":{"start":{"line":670,"column":6},"end":{"line":676,"column":8}},"194":{"start":{"line":678,"column":100},"end":{"line":682,"column":5}},"195":{"start":{"line":685,"column":26},"end":{"line":965,"column":3}},"196":{"start":{"line":687,"column":6},"end":{"line":689,"column":7}},"197":{"start":{"line":688,"column":8},"end":{"line":688,"column":95}},"198":{"start":{"line":691,"column":6},"end":{"line":693,"column":7}},"199":{"start":{"line":692,"column":8},"end":{"line":692,"column":101}},"200":{"start":{"line":695,"column":6},"end":{"line":722,"column":7}},"201":{"start":{"line":696,"column":25},"end":{"line":696,"column":68}},"202":{"start":{"line":697,"column":8},"end":{"line":721,"column":9}},"203":{"start":{"line":698,"column":29},"end":{"line":709,"column":12}},"204":{"start":{"line":699,"column":12},"end":{"line":707,"column":13}},"205":{"start":{"line":700,"column":14},"end":{"line":706,"column":31}},"206":{"start":{"line":708,"column":12},"end":{"line":708,"column":25}},"207":{"start":{"line":711,"column":25},"end":{"line":711,"column":68}},"208":{"start":{"line":713,"column":10},"end":{"line":720,"column":13}},"209":{"start":{"line":725,"column":6},"end":{"line":725,"column":71}},"210":{"start":{"line":727,"column":6},"end":{"line":742,"column":7}},"211":{"start":{"line":728,"column":25},"end":{"line":728,"column":68}},"212":{"start":{"line":729,"column":8},"end":{"line":741,"column":9}},"213":{"start":{"line":730,"column":25},"end":{"line":730,"column":80}},"214":{"start":{"line":730,"column":52},"end":{"line":730,"column":79}},"215":{"start":{"line":731,"column":25},"end":{"line":731,"column":64}},"216":{"start":{"line":733,"column":10},"end":{"line":740,"column":13}},"217":{"start":{"line":745,"column":6},"end":{"line":745,"column":71}},"218":{"start":{"line":748,"column":6},"end":{"line":748,"column":71}},"219":{"start":{"line":751,"column":6},"end":{"line":751,"column":71}},"220":{"start":{"line":753,"column":6},"end":{"line":759,"column":7}},"221":{"start":{"line":754,"column":8},"end":{"line":758,"column":11}},"222":{"start":{"line":762,"column":6},"end":{"line":762,"column":71}},"223":{"start":{"line":765,"column":6},"end":{"line":765,"column":71}},"224":{"start":{"line":768,"column":6},"end":{"line":768,"column":71}},"225":{"start":{"line":770,"column":6},"end":{"line":776,"column":7}},"226":{"start":{"line":771,"column":8},"end":{"line":775,"column":11}},"227":{"start":{"line":779,"column":6},"end":{"line":779,"column":71}},"228":{"start":{"line":781,"column":6},"end":{"line":787,"column":7}},"229":{"start":{"line":782,"column":8},"end":{"line":786,"column":11}},"230":{"start":{"line":790,"column":6},"end":{"line":790,"column":71}},"231":{"start":{"line":792,"column":6},"end":{"line":801,"column":7}},"232":{"start":{"line":793,"column":8},"end":{"line":800,"column":11}},"233":{"start":{"line":796,"column":43},"end":{"line":799,"column":11}},"234":{"start":{"line":805,"column":6},"end":{"line":805,"column":61}},"235":{"start":{"line":807,"column":6},"end":{"line":809,"column":7}},"236":{"start":{"line":808,"column":8},"end":{"line":808,"column":45}},"237":{"start":{"line":812,"column":6},"end":{"line":812,"column":66}},"238":{"start":{"line":815,"column":6},"end":{"line":815,"column":66}},"239":{"start":{"line":818,"column":6},"end":{"line":818,"column":66}},"240":{"start":{"line":821,"column":6},"end":{"line":821,"column":71}},"241":{"start":{"line":823,"column":6},"end":{"line":828,"column":7}},"242":{"start":{"line":824,"column":8},"end":{"line":827,"column":11}},"243":{"start":{"line":831,"column":6},"end":{"line":831,"column":71}},"244":{"start":{"line":833,"column":6},"end":{"line":838,"column":7}},"245":{"start":{"line":834,"column":8},"end":{"line":837,"column":11}},"246":{"start":{"line":841,"column":6},"end":{"line":841,"column":25}},"247":{"start":{"line":846,"column":10},"end":{"line":846,"column":14}},"248":{"start":{"line":848,"column":29},"end":{"line":848,"column":70}},"249":{"start":{"line":849,"column":6},"end":{"line":856,"column":11}},"250":{"start":{"line":850,"column":27},"end":{"line":850,"column":86}},"251":{"start":{"line":852,"column":10},"end":{"line":855,"column":13}},"252":{"start":{"line":859,"column":6},"end":{"line":861,"column":7}},"253":{"start":{"line":860,"column":8},"end":{"line":860,"column":53}},"254":{"start":{"line":864,"column":35},"end":{"line":864,"column":39}},"255":{"start":{"line":866,"column":6},"end":{"line":866,"column":62}},"256":{"start":{"line":869,"column":23},"end":{"line":869,"column":70}},"257":{"start":{"line":870,"column":21},"end":{"line":870,"column":48}},"258":{"start":{"line":871,"column":6},"end":{"line":871,"column":29}},"259":{"start":{"line":871,"column":22},"end":{"line":871,"column":29}},"260":{"start":{"line":872,"column":6},"end":{"line":944,"column":7}},"261":{"start":{"line":873,"column":27},"end":{"line":873,"column":72}},"262":{"start":{"line":874,"column":27},"end":{"line":874,"column":72}},"263":{"start":{"line":877,"column":8},"end":{"line":879,"column":9}},"264":{"start":{"line":878,"column":10},"end":{"line":878,"column":56}},"265":{"start":{"line":882,"column":8},"end":{"line":884,"column":9}},"266":{"start":{"line":883,"column":10},"end":{"line":883,"column":75}},"267":{"start":{"line":886,"column":8},"end":{"line":941,"column":10}},"268":{"start":{"line":890,"column":14},"end":{"line":897,"column":16}},"269":{"start":{"line":893,"column":18},"end":{"line":893,"column":39}},"270":{"start":{"line":894,"column":18},"end":{"line":894,"column":29}},"271":{"start":{"line":898,"column":14},"end":{"line":898,"column":107}},"272":{"start":{"line":899,"column":14},"end":{"line":899,"column":91}},"273":{"start":{"line":900,"column":14},"end":{"line":900,"column":73}},"274":{"start":{"line":901,"column":14},"end":{"line":901,"column":73}},"275":{"start":{"line":906,"column":37},"end":{"line":906,"column":97}},"276":{"start":{"line":907,"column":37},"end":{"line":907,"column":97}},"277":{"start":{"line":910,"column":12},"end":{"line":913,"column":15}},"278":{"start":{"line":915,"column":12},"end":{"line":939,"column":15}},"279":{"start":{"line":943,"column":8},"end":{"line":943,"column":52}},"280":{"start":{"line":947,"column":45},"end":{"line":947,"column":100}},"281":{"start":{"line":949,"column":6},"end":{"line":949,"column":59}},"282":{"start":{"line":951,"column":6},"end":{"line":962,"column":7}},"283":{"start":{"line":952,"column":8},"end":{"line":961,"column":9}},"284":{"start":{"line":953,"column":26},"end":{"line":953,"column":44}},"285":{"start":{"line":954,"column":25},"end":{"line":954,"column":65}},"286":{"start":{"line":956,"column":10},"end":{"line":960,"column":13}},"287":{"start":{"line":964,"column":84},"end":{"line":964,"column":108}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":112,"column":96},"end":{"line":112,"column":97}},"loc":{"start":{"line":112,"column":116},"end":{"line":115,"column":5}},"line":112},"1":{"name":"(anonymous_1)","decl":{"start":{"line":136,"column":19},"end":{"line":136,"column":20}},"loc":{"start":{"line":136,"column":45},"end":{"line":139,"column":5}},"line":136},"2":{"name":"(anonymous_2)","decl":{"start":{"line":140,"column":19},"end":{"line":140,"column":20}},"loc":{"start":{"line":140,"column":45},"end":{"line":143,"column":5}},"line":140},"3":{"name":"(anonymous_3)","decl":{"start":{"line":144,"column":21},"end":{"line":144,"column":22}},"loc":{"start":{"line":144,"column":50},"end":{"line":147,"column":5}},"line":144},"4":{"name":"(anonymous_4)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":47},"end":{"line":153,"column":5}},"line":148},"5":{"name":"(anonymous_5)","decl":{"start":{"line":154,"column":25},"end":{"line":154,"column":26}},"loc":{"start":{"line":154,"column":55},"end":{"line":161,"column":5}},"line":154},"6":{"name":"(anonymous_6)","decl":{"start":{"line":162,"column":23},"end":{"line":162,"column":24}},"loc":{"start":{"line":162,"column":49},"end":{"line":165,"column":5}},"line":162},"7":{"name":"(anonymous_7)","decl":{"start":{"line":166,"column":21},"end":{"line":166,"column":22}},"loc":{"start":{"line":166,"column":57},"end":{"line":169,"column":5}},"line":166},"8":{"name":"(anonymous_8)","decl":{"start":{"line":170,"column":15},"end":{"line":170,"column":16}},"loc":{"start":{"line":170,"column":51},"end":{"line":173,"column":5}},"line":170},"9":{"name":"(anonymous_9)","decl":{"start":{"line":174,"column":21},"end":{"line":174,"column":22}},"loc":{"start":{"line":174,"column":65},"end":{"line":180,"column":5}},"line":174},"10":{"name":"(anonymous_10)","decl":{"start":{"line":181,"column":17},"end":{"line":181,"column":18}},"loc":{"start":{"line":181,"column":54},"end":{"line":188,"column":5}},"line":181},"11":{"name":"(anonymous_11)","decl":{"start":{"line":189,"column":23},"end":{"line":189,"column":24}},"loc":{"start":{"line":189,"column":80},"end":{"line":200,"column":5}},"line":189},"12":{"name":"(anonymous_12)","decl":{"start":{"line":197,"column":34},"end":{"line":197,"column":35}},"loc":{"start":{"line":197,"column":45},"end":{"line":197,"column":84}},"line":197},"13":{"name":"(anonymous_13)","decl":{"start":{"line":201,"column":20},"end":{"line":201,"column":21}},"loc":{"start":{"line":201,"column":45},"end":{"line":201,"column":146}},"line":201},"14":{"name":"(anonymous_14)","decl":{"start":{"line":201,"column":75},"end":{"line":201,"column":76}},"loc":{"start":{"line":201,"column":99},"end":{"line":201,"column":144}},"line":201},"15":{"name":"(anonymous_15)","decl":{"start":{"line":202,"column":24},"end":{"line":202,"column":25}},"loc":{"start":{"line":202,"column":50},"end":{"line":205,"column":5}},"line":202},"16":{"name":"(anonymous_16)","decl":{"start":{"line":206,"column":22},"end":{"line":206,"column":23}},"loc":{"start":{"line":206,"column":49},"end":{"line":215,"column":5}},"line":206},"17":{"name":"(anonymous_17)","decl":{"start":{"line":208,"column":19},"end":{"line":208,"column":20}},"loc":{"start":{"line":208,"column":28},"end":{"line":210,"column":7}},"line":208},"18":{"name":"(anonymous_18)","decl":{"start":{"line":216,"column":25},"end":{"line":216,"column":26}},"loc":{"start":{"line":216,"column":75},"end":{"line":219,"column":5}},"line":216},"19":{"name":"(anonymous_19)","decl":{"start":{"line":220,"column":25},"end":{"line":220,"column":26}},"loc":{"start":{"line":220,"column":37},"end":{"line":226,"column":5}},"line":220},"20":{"name":"(anonymous_20)","decl":{"start":{"line":227,"column":4},"end":{"line":227,"column":5}},"loc":{"start":{"line":227,"column":32},"end":{"line":238,"column":5}},"line":227},"21":{"name":"(anonymous_21)","decl":{"start":{"line":239,"column":4},"end":{"line":239,"column":5}},"loc":{"start":{"line":239,"column":50},"end":{"line":244,"column":5}},"line":239},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":15},"end":{"line":245,"column":16}},"loc":{"start":{"line":245,"column":68},"end":{"line":248,"column":5}},"line":245},"23":{"name":"(anonymous_23)","decl":{"start":{"line":249,"column":17},"end":{"line":249,"column":18}},"loc":{"start":{"line":249,"column":54},"end":{"line":266,"column":5}},"line":249},"24":{"name":"(anonymous_24)","decl":{"start":{"line":252,"column":59},"end":{"line":252,"column":60}},"loc":{"start":{"line":252,"column":66},"end":{"line":252,"column":86}},"line":252},"25":{"name":"(anonymous_25)","decl":{"start":{"line":267,"column":26},"end":{"line":267,"column":27}},"loc":{"start":{"line":267,"column":68},"end":{"line":284,"column":5}},"line":267},"26":{"name":"(anonymous_26)","decl":{"start":{"line":270,"column":19},"end":{"line":270,"column":20}},"loc":{"start":{"line":270,"column":30},"end":{"line":278,"column":7}},"line":270},"27":{"name":"(anonymous_27)","decl":{"start":{"line":274,"column":69},"end":{"line":274,"column":70}},"loc":{"start":{"line":274,"column":76},"end":{"line":274,"column":97}},"line":274},"28":{"name":"(anonymous_28)","decl":{"start":{"line":285,"column":24},"end":{"line":285,"column":25}},"loc":{"start":{"line":285,"column":64},"end":{"line":303,"column":5}},"line":285},"29":{"name":"(anonymous_29)","decl":{"start":{"line":288,"column":19},"end":{"line":288,"column":20}},"loc":{"start":{"line":288,"column":30},"end":{"line":297,"column":7}},"line":288},"30":{"name":"(anonymous_30)","decl":{"start":{"line":289,"column":69},"end":{"line":289,"column":70}},"loc":{"start":{"line":289,"column":76},"end":{"line":289,"column":97}},"line":289},"31":{"name":"(anonymous_31)","decl":{"start":{"line":304,"column":20},"end":{"line":304,"column":21}},"loc":{"start":{"line":304,"column":60},"end":{"line":353,"column":5}},"line":304},"32":{"name":"(anonymous_32)","decl":{"start":{"line":306,"column":40},"end":{"line":306,"column":41}},"loc":{"start":{"line":306,"column":54},"end":{"line":344,"column":7}},"line":306},"33":{"name":"(anonymous_33)","decl":{"start":{"line":308,"column":70},"end":{"line":308,"column":71}},"loc":{"start":{"line":308,"column":77},"end":{"line":308,"column":101}},"line":308},"34":{"name":"(anonymous_34)","decl":{"start":{"line":329,"column":70},"end":{"line":329,"column":71}},"loc":{"start":{"line":329,"column":77},"end":{"line":329,"column":101}},"line":329},"35":{"name":"(anonymous_35)","decl":{"start":{"line":356,"column":25},"end":{"line":356,"column":26}},"loc":{"start":{"line":356,"column":92},"end":{"line":406,"column":5}},"line":356},"36":{"name":"(anonymous_36)","decl":{"start":{"line":363,"column":42},"end":{"line":363,"column":43}},"loc":{"start":{"line":363,"column":56},"end":{"line":369,"column":7}},"line":363},"37":{"name":"(anonymous_37)","decl":{"start":{"line":364,"column":25},"end":{"line":364,"column":26}},"loc":{"start":{"line":364,"column":36},"end":{"line":368,"column":9}},"line":364},"38":{"name":"(anonymous_38)","decl":{"start":{"line":372,"column":44},"end":{"line":372,"column":45}},"loc":{"start":{"line":372,"column":56},"end":{"line":397,"column":7}},"line":372},"39":{"name":"(anonymous_39)","decl":{"start":{"line":373,"column":23},"end":{"line":373,"column":24}},"loc":{"start":{"line":373,"column":34},"end":{"line":396,"column":9}},"line":373},"40":{"name":"(anonymous_40)","decl":{"start":{"line":408,"column":28},"end":{"line":408,"column":29}},"loc":{"start":{"line":408,"column":101},"end":{"line":448,"column":5}},"line":408},"41":{"name":"(anonymous_41)","decl":{"start":{"line":414,"column":47},"end":{"line":414,"column":48}},"loc":{"start":{"line":414,"column":59},"end":{"line":440,"column":7}},"line":414},"42":{"name":"(anonymous_42)","decl":{"start":{"line":415,"column":23},"end":{"line":415,"column":24}},"loc":{"start":{"line":415,"column":34},"end":{"line":439,"column":9}},"line":415},"43":{"name":"(anonymous_43)","decl":{"start":{"line":418,"column":61},"end":{"line":418,"column":62}},"loc":{"start":{"line":418,"column":68},"end":{"line":418,"column":89}},"line":418},"44":{"name":"(anonymous_44)","decl":{"start":{"line":449,"column":15},"end":{"line":449,"column":16}},"loc":{"start":{"line":449,"column":52},"end":{"line":464,"column":5}},"line":449},"45":{"name":"(anonymous_45)","decl":{"start":{"line":451,"column":56},"end":{"line":451,"column":57}},"loc":{"start":{"line":451,"column":67},"end":{"line":451,"column":92}},"line":451},"46":{"name":"(anonymous_46)","decl":{"start":{"line":465,"column":17},"end":{"line":465,"column":18}},"loc":{"start":{"line":465,"column":54},"end":{"line":475,"column":5}},"line":465},"47":{"name":"(anonymous_47)","decl":{"start":{"line":470,"column":58},"end":{"line":470,"column":59}},"loc":{"start":{"line":470,"column":69},"end":{"line":470,"column":93}},"line":470},"48":{"name":"(anonymous_48)","decl":{"start":{"line":476,"column":27},"end":{"line":476,"column":28}},"loc":{"start":{"line":476,"column":64},"end":{"line":500,"column":5}},"line":476},"49":{"name":"(anonymous_49)","decl":{"start":{"line":484,"column":49},"end":{"line":484,"column":50}},"loc":{"start":{"line":484,"column":60},"end":{"line":494,"column":15}},"line":484},"50":{"name":"(anonymous_50)","decl":{"start":{"line":495,"column":49},"end":{"line":495,"column":50}},"loc":{"start":{"line":495,"column":60},"end":{"line":495,"column":84}},"line":495},"51":{"name":"(anonymous_51)","decl":{"start":{"line":501,"column":22},"end":{"line":501,"column":23}},"loc":{"start":{"line":501,"column":64},"end":{"line":513,"column":5}},"line":501},"52":{"name":"(anonymous_52)","decl":{"start":{"line":507,"column":12},"end":{"line":507,"column":13}},"loc":{"start":{"line":507,"column":23},"end":{"line":507,"column":92}},"line":507},"53":{"name":"(anonymous_53)","decl":{"start":{"line":515,"column":22},"end":{"line":515,"column":23}},"loc":{"start":{"line":515,"column":64},"end":{"line":540,"column":5}},"line":515},"54":{"name":"(anonymous_54)","decl":{"start":{"line":520,"column":55},"end":{"line":520,"column":56}},"loc":{"start":{"line":520,"column":66},"end":{"line":530,"column":7}},"line":520},"55":{"name":"(anonymous_55)","decl":{"start":{"line":542,"column":25},"end":{"line":542,"column":26}},"loc":{"start":{"line":542,"column":70},"end":{"line":571,"column":5}},"line":542},"56":{"name":"(anonymous_56)","decl":{"start":{"line":547,"column":8},"end":{"line":547,"column":9}},"loc":{"start":{"line":547,"column":19},"end":{"line":547,"column":78}},"line":547},"57":{"name":"(anonymous_57)","decl":{"start":{"line":549,"column":51},"end":{"line":549,"column":52}},"loc":{"start":{"line":549,"column":62},"end":{"line":556,"column":7}},"line":549},"58":{"name":"(anonymous_58)","decl":{"start":{"line":558,"column":87},"end":{"line":558,"column":88}},"loc":{"start":{"line":558,"column":101},"end":{"line":565,"column":7}},"line":558},"59":{"name":"(anonymous_59)","decl":{"start":{"line":572,"column":23},"end":{"line":572,"column":24}},"loc":{"start":{"line":572,"column":68},"end":{"line":575,"column":5}},"line":572},"60":{"name":"(anonymous_60)","decl":{"start":{"line":576,"column":27},"end":{"line":576,"column":28}},"loc":{"start":{"line":576,"column":55},"end":{"line":579,"column":5}},"line":576},"61":{"name":"(anonymous_61)","decl":{"start":{"line":580,"column":30},"end":{"line":580,"column":31}},"loc":{"start":{"line":580,"column":77},"end":{"line":583,"column":5}},"line":580},"62":{"name":"(anonymous_62)","decl":{"start":{"line":584,"column":27},"end":{"line":584,"column":28}},"loc":{"start":{"line":584,"column":54},"end":{"line":587,"column":5}},"line":584},"63":{"name":"(anonymous_63)","decl":{"start":{"line":588,"column":24},"end":{"line":588,"column":25}},"loc":{"start":{"line":588,"column":52},"end":{"line":591,"column":5}},"line":588},"64":{"name":"(anonymous_64)","decl":{"start":{"line":592,"column":21},"end":{"line":592,"column":22}},"loc":{"start":{"line":595,"column":21},"end":{"line":604,"column":5}},"line":595},"65":{"name":"(anonymous_65)","decl":{"start":{"line":605,"column":23},"end":{"line":605,"column":24}},"loc":{"start":{"line":605,"column":35},"end":{"line":612,"column":5}},"line":605},"66":{"name":"(anonymous_66)","decl":{"start":{"line":613,"column":19},"end":{"line":613,"column":20}},"loc":{"start":{"line":613,"column":67},"end":{"line":616,"column":5}},"line":613},"67":{"name":"(anonymous_67)","decl":{"start":{"line":617,"column":20},"end":{"line":617,"column":21}},"loc":{"start":{"line":617,"column":70},"end":{"line":620,"column":5}},"line":617},"68":{"name":"(anonymous_68)","decl":{"start":{"line":621,"column":27},"end":{"line":621,"column":28}},"loc":{"start":{"line":621,"column":75},"end":{"line":647,"column":5}},"line":621},"69":{"name":"(anonymous_69)","decl":{"start":{"line":626,"column":40},"end":{"line":626,"column":41}},"loc":{"start":{"line":626,"column":54},"end":{"line":638,"column":7}},"line":626},"70":{"name":"(anonymous_70)","decl":{"start":{"line":628,"column":70},"end":{"line":628,"column":71}},"loc":{"start":{"line":628,"column":77},"end":{"line":628,"column":114}},"line":628},"71":{"name":"(anonymous_71)","decl":{"start":{"line":648,"column":28},"end":{"line":648,"column":29}},"loc":{"start":{"line":648,"column":77},"end":{"line":677,"column":5}},"line":648},"72":{"name":"(anonymous_72)","decl":{"start":{"line":652,"column":21},"end":{"line":652,"column":22}},"loc":{"start":{"line":652,"column":32},"end":{"line":668,"column":7}},"line":652},"73":{"name":"(anonymous_73)","decl":{"start":{"line":653,"column":48},"end":{"line":653,"column":49}},"loc":{"start":{"line":653,"column":55},"end":{"line":653,"column":103}},"line":653},"74":{"name":"(anonymous_74)","decl":{"start":{"line":678,"column":23},"end":{"line":678,"column":24}},"loc":{"start":{"line":678,"column":100},"end":{"line":682,"column":5}},"line":678},"75":{"name":"(anonymous_75)","decl":{"start":{"line":685,"column":11},"end":{"line":685,"column":12}},"loc":{"start":{"line":685,"column":26},"end":{"line":965,"column":3}},"line":685},"76":{"name":"(anonymous_76)","decl":{"start":{"line":686,"column":4},"end":{"line":686,"column":5}},"loc":{"start":{"line":686,"column":54},"end":{"line":723,"column":5}},"line":686},"77":{"name":"(anonymous_77)","decl":{"start":{"line":698,"column":42},"end":{"line":698,"column":43}},"loc":{"start":{"line":698,"column":53},"end":{"line":709,"column":11}},"line":698},"78":{"name":"(anonymous_78)","decl":{"start":{"line":724,"column":4},"end":{"line":724,"column":5}},"loc":{"start":{"line":724,"column":56},"end":{"line":743,"column":5}},"line":724},"79":{"name":"(anonymous_79)","decl":{"start":{"line":730,"column":41},"end":{"line":730,"column":42}},"loc":{"start":{"line":730,"column":52},"end":{"line":730,"column":79}},"line":730},"80":{"name":"(anonymous_80)","decl":{"start":{"line":744,"column":4},"end":{"line":744,"column":5}},"loc":{"start":{"line":744,"column":28},"end":{"line":746,"column":5}},"line":744},"81":{"name":"(anonymous_81)","decl":{"start":{"line":747,"column":4},"end":{"line":747,"column":5}},"loc":{"start":{"line":747,"column":23},"end":{"line":749,"column":5}},"line":747},"82":{"name":"(anonymous_82)","decl":{"start":{"line":750,"column":4},"end":{"line":750,"column":5}},"loc":{"start":{"line":750,"column":41},"end":{"line":760,"column":5}},"line":750},"83":{"name":"(anonymous_83)","decl":{"start":{"line":761,"column":4},"end":{"line":761,"column":5}},"loc":{"start":{"line":761,"column":24},"end":{"line":763,"column":5}},"line":761},"84":{"name":"(anonymous_84)","decl":{"start":{"line":764,"column":4},"end":{"line":764,"column":5}},"loc":{"start":{"line":764,"column":26},"end":{"line":766,"column":5}},"line":764},"85":{"name":"(anonymous_85)","decl":{"start":{"line":767,"column":4},"end":{"line":767,"column":5}},"loc":{"start":{"line":767,"column":74},"end":{"line":777,"column":5}},"line":767},"86":{"name":"(anonymous_86)","decl":{"start":{"line":778,"column":4},"end":{"line":778,"column":5}},"loc":{"start":{"line":778,"column":44},"end":{"line":788,"column":5}},"line":778},"87":{"name":"(anonymous_87)","decl":{"start":{"line":789,"column":4},"end":{"line":789,"column":5}},"loc":{"start":{"line":789,"column":48},"end":{"line":802,"column":5}},"line":789},"88":{"name":"(anonymous_88)","decl":{"start":{"line":796,"column":25},"end":{"line":796,"column":26}},"loc":{"start":{"line":796,"column":43},"end":{"line":799,"column":11}},"line":796},"89":{"name":"(anonymous_89)","decl":{"start":{"line":803,"column":4},"end":{"line":803,"column":5}},"loc":{"start":{"line":803,"column":47},"end":{"line":810,"column":5}},"line":803},"90":{"name":"(anonymous_90)","decl":{"start":{"line":811,"column":4},"end":{"line":811,"column":5}},"loc":{"start":{"line":811,"column":25},"end":{"line":813,"column":5}},"line":811},"91":{"name":"(anonymous_91)","decl":{"start":{"line":814,"column":4},"end":{"line":814,"column":5}},"loc":{"start":{"line":814,"column":26},"end":{"line":816,"column":5}},"line":814},"92":{"name":"(anonymous_92)","decl":{"start":{"line":817,"column":4},"end":{"line":817,"column":5}},"loc":{"start":{"line":817,"column":26},"end":{"line":819,"column":5}},"line":817},"93":{"name":"(anonymous_93)","decl":{"start":{"line":820,"column":4},"end":{"line":820,"column":5}},"loc":{"start":{"line":820,"column":62},"end":{"line":829,"column":5}},"line":820},"94":{"name":"(anonymous_94)","decl":{"start":{"line":830,"column":4},"end":{"line":830,"column":5}},"loc":{"start":{"line":830,"column":56},"end":{"line":839,"column":5}},"line":830},"95":{"name":"(anonymous_95)","decl":{"start":{"line":840,"column":4},"end":{"line":840,"column":5}},"loc":{"start":{"line":840,"column":48},"end":{"line":842,"column":5}},"line":840},"96":{"name":"(anonymous_96)","decl":{"start":{"line":843,"column":4},"end":{"line":843,"column":5}},"loc":{"start":{"line":843,"column":63},"end":{"line":857,"column":5}},"line":843},"97":{"name":"(anonymous_97)","decl":{"start":{"line":850,"column":16},"end":{"line":850,"column":17}},"loc":{"start":{"line":850,"column":27},"end":{"line":850,"column":86}},"line":850},"98":{"name":"(anonymous_98)","decl":{"start":{"line":851,"column":17},"end":{"line":851,"column":18}},"loc":{"start":{"line":851,"column":35},"end":{"line":856,"column":9}},"line":851},"99":{"name":"(anonymous_99)","decl":{"start":{"line":858,"column":4},"end":{"line":858,"column":5}},"loc":{"start":{"line":858,"column":63},"end":{"line":862,"column":5}},"line":858},"100":{"name":"(anonymous_100)","decl":{"start":{"line":863,"column":4},"end":{"line":863,"column":5}},"loc":{"start":{"line":863,"column":63},"end":{"line":867,"column":5}},"line":863},"101":{"name":"(anonymous_101)","decl":{"start":{"line":868,"column":4},"end":{"line":868,"column":5}},"loc":{"start":{"line":868,"column":64},"end":{"line":945,"column":5}},"line":868},"102":{"name":"(anonymous_102)","decl":{"start":{"line":889,"column":27},"end":{"line":889,"column":28}},"loc":{"start":{"line":889,"column":52},"end":{"line":902,"column":13}},"line":889},"103":{"name":"(anonymous_103)","decl":{"start":{"line":892,"column":67},"end":{"line":892,"column":68}},"loc":{"start":{"line":892,"column":88},"end":{"line":895,"column":17}},"line":892},"104":{"name":"(anonymous_104)","decl":{"start":{"line":904,"column":10},"end":{"line":904,"column":11}},"loc":{"start":{"line":904,"column":16},"end":{"line":940,"column":11}},"line":904},"105":{"name":"(anonymous_105)","decl":{"start":{"line":946,"column":4},"end":{"line":946,"column":5}},"loc":{"start":{"line":946,"column":56},"end":{"line":963,"column":5}},"line":946},"106":{"name":"(anonymous_106)","decl":{"start":{"line":964,"column":64},"end":{"line":964,"column":65}},"loc":{"start":{"line":964,"column":84},"end":{"line":964,"column":108}},"line":964}},"branchMap":{"0":{"loc":{"start":{"line":159,"column":10},"end":{"line":159,"column":114}},"type":"cond-expr","locations":[{"start":{"line":159,"column":67},"end":{"line":159,"column":90}},{"start":{"line":159,"column":93},"end":{"line":159,"column":114}}],"line":159},"1":{"loc":{"start":{"line":176,"column":20},"end":{"line":176,"column":60}},"type":"binary-expr","locations":[{"start":{"line":176,"column":20},"end":{"line":176,"column":38}},{"start":{"line":176,"column":42},"end":{"line":176,"column":60}}],"line":176},"2":{"loc":{"start":{"line":177,"column":14},"end":{"line":177,"column":41}},"type":"binary-expr","locations":[{"start":{"line":177,"column":14},"end":{"line":177,"column":25}},{"start":{"line":177,"column":29},"end":{"line":177,"column":41}}],"line":177},"3":{"loc":{"start":{"line":178,"column":19},"end":{"line":178,"column":56}},"type":"binary-expr","locations":[{"start":{"line":178,"column":19},"end":{"line":178,"column":35}},{"start":{"line":178,"column":39},"end":{"line":178,"column":56}}],"line":178},"4":{"loc":{"start":{"line":179,"column":14},"end":{"line":179,"column":91}},"type":"binary-expr","locations":[{"start":{"line":179,"column":14},"end":{"line":179,"column":52}},{"start":{"line":179,"column":56},"end":{"line":179,"column":91}}],"line":179},"5":{"loc":{"start":{"line":179,"column":36},"end":{"line":179,"column":51}},"type":"binary-expr","locations":[{"start":{"line":179,"column":36},"end":{"line":179,"column":45}},{"start":{"line":179,"column":49},"end":{"line":179,"column":51}}],"line":179},"6":{"loc":{"start":{"line":182,"column":6},"end":{"line":185,"column":7}},"type":"if","locations":[{"start":{"line":182,"column":6},"end":{"line":185,"column":7}},{"start":{},"end":{}}],"line":182},"7":{"loc":{"start":{"line":190,"column":6},"end":{"line":193,"column":7}},"type":"if","locations":[{"start":{"line":190,"column":6},"end":{"line":193,"column":7}},{"start":{},"end":{}}],"line":190},"8":{"loc":{"start":{"line":201,"column":99},"end":{"line":201,"column":144}},"type":"cond-expr","locations":[{"start":{"line":201,"column":118},"end":{"line":201,"column":122}},{"start":{"line":201,"column":125},"end":{"line":201,"column":144}}],"line":201},"9":{"loc":{"start":{"line":253,"column":6},"end":{"line":257,"column":7}},"type":"if","locations":[{"start":{"line":253,"column":6},"end":{"line":257,"column":7}},{"start":{},"end":{}}],"line":253},"10":{"loc":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},{"start":{},"end":{}}],"line":271},"11":{"loc":{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},"type":"if","locations":[{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},{"start":{},"end":{}}],"line":275},"12":{"loc":{"start":{"line":290,"column":8},"end":{"line":296,"column":9}},"type":"if","locations":[{"start":{"line":290,"column":8},"end":{"line":296,"column":9}},{"start":{},"end":{}}],"line":290},"13":{"loc":{"start":{"line":307,"column":8},"end":{"line":343,"column":9}},"type":"if","locations":[{"start":{"line":307,"column":8},"end":{"line":343,"column":9}},{"start":{"line":328,"column":15},"end":{"line":343,"column":9}}],"line":307},"14":{"loc":{"start":{"line":309,"column":10},"end":{"line":327,"column":11}},"type":"if","locations":[{"start":{"line":309,"column":10},"end":{"line":327,"column":11}},{"start":{},"end":{}}],"line":309},"15":{"loc":{"start":{"line":328,"column":15},"end":{"line":343,"column":9}},"type":"if","locations":[{"start":{"line":328,"column":15},"end":{"line":343,"column":9}},{"start":{},"end":{}}],"line":328},"16":{"loc":{"start":{"line":330,"column":10},"end":{"line":342,"column":11}},"type":"if","locations":[{"start":{"line":330,"column":10},"end":{"line":342,"column":11}},{"start":{},"end":{}}],"line":330},"17":{"loc":{"start":{"line":365,"column":10},"end":{"line":367,"column":11}},"type":"if","locations":[{"start":{"line":365,"column":10},"end":{"line":367,"column":11}},{"start":{},"end":{}}],"line":365},"18":{"loc":{"start":{"line":375,"column":10},"end":{"line":395,"column":11}},"type":"if","locations":[{"start":{"line":375,"column":10},"end":{"line":395,"column":11}},{"start":{"line":392,"column":17},"end":{"line":395,"column":11}}],"line":375},"19":{"loc":{"start":{"line":376,"column":12},"end":{"line":391,"column":13}},"type":"if","locations":[{"start":{"line":376,"column":12},"end":{"line":391,"column":13}},{"start":{"line":387,"column":19},"end":{"line":391,"column":13}}],"line":376},"20":{"loc":{"start":{"line":377,"column":52},"end":{"line":377,"column":78}},"type":"binary-expr","locations":[{"start":{"line":377,"column":52},"end":{"line":377,"column":72}},{"start":{"line":377,"column":76},"end":{"line":377,"column":78}}],"line":377},"21":{"loc":{"start":{"line":378,"column":49},"end":{"line":378,"column":72}},"type":"binary-expr","locations":[{"start":{"line":378,"column":49},"end":{"line":378,"column":66}},{"start":{"line":378,"column":70},"end":{"line":378,"column":72}}],"line":378},"22":{"loc":{"start":{"line":379,"column":14},"end":{"line":386,"column":15}},"type":"if","locations":[{"start":{"line":379,"column":14},"end":{"line":386,"column":15}},{"start":{"line":381,"column":21},"end":{"line":386,"column":15}}],"line":379},"23":{"loc":{"start":{"line":417,"column":10},"end":{"line":438,"column":11}},"type":"if","locations":[{"start":{"line":417,"column":10},"end":{"line":438,"column":11}},{"start":{"line":436,"column":17},"end":{"line":438,"column":11}}],"line":417},"24":{"loc":{"start":{"line":420,"column":12},"end":{"line":435,"column":13}},"type":"if","locations":[{"start":{"line":420,"column":12},"end":{"line":435,"column":13}},{"start":{"line":433,"column":19},"end":{"line":435,"column":13}}],"line":420},"25":{"loc":{"start":{"line":421,"column":52},"end":{"line":421,"column":78}},"type":"binary-expr","locations":[{"start":{"line":421,"column":52},"end":{"line":421,"column":72}},{"start":{"line":421,"column":76},"end":{"line":421,"column":78}}],"line":421},"26":{"loc":{"start":{"line":422,"column":49},"end":{"line":422,"column":72}},"type":"binary-expr","locations":[{"start":{"line":422,"column":49},"end":{"line":422,"column":66}},{"start":{"line":422,"column":70},"end":{"line":422,"column":72}}],"line":422},"27":{"loc":{"start":{"line":423,"column":14},"end":{"line":432,"column":15}},"type":"if","locations":[{"start":{"line":423,"column":14},"end":{"line":432,"column":15}},{"start":{"line":428,"column":21},"end":{"line":432,"column":15}}],"line":423},"28":{"loc":{"start":{"line":424,"column":16},"end":{"line":425,"column":85}},"type":"binary-expr","locations":[{"start":{"line":424,"column":16},"end":{"line":424,"column":52}},{"start":{"line":425,"column":19},"end":{"line":425,"column":85}}],"line":424},"29":{"loc":{"start":{"line":450,"column":25},"end":{"line":450,"column":64}},"type":"cond-expr","locations":[{"start":{"line":450,"column":40},"end":{"line":450,"column":52}},{"start":{"line":450,"column":55},"end":{"line":450,"column":64}}],"line":450},"30":{"loc":{"start":{"line":483,"column":12},"end":{"line":495,"column":85}},"type":"cond-expr","locations":[{"start":{"line":484,"column":16},"end":{"line":494,"column":16}},{"start":{"line":495,"column":16},"end":{"line":495,"column":85}}],"line":483},"31":{"loc":{"start":{"line":485,"column":16},"end":{"line":492,"column":17}},"type":"if","locations":[{"start":{"line":485,"column":16},"end":{"line":492,"column":17}},{"start":{},"end":{}}],"line":485},"32":{"loc":{"start":{"line":486,"column":18},"end":{"line":489,"column":19}},"type":"if","locations":[{"start":{"line":486,"column":18},"end":{"line":489,"column":19}},{"start":{},"end":{}}],"line":486},"33":{"loc":{"start":{"line":507,"column":25},"end":{"line":507,"column":91}},"type":"binary-expr","locations":[{"start":{"line":507,"column":25},"end":{"line":507,"column":63}},{"start":{"line":507,"column":67},"end":{"line":507,"column":91}}],"line":507},"34":{"loc":{"start":{"line":519,"column":29},"end":{"line":519,"column":55}},"type":"binary-expr","locations":[{"start":{"line":519,"column":29},"end":{"line":519,"column":49}},{"start":{"line":519,"column":53},"end":{"line":519,"column":55}}],"line":519},"35":{"loc":{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},"type":"if","locations":[{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},{"start":{},"end":{}}],"line":521},"36":{"loc":{"start":{"line":521,"column":12},"end":{"line":521,"column":71}},"type":"binary-expr","locations":[{"start":{"line":521,"column":12},"end":{"line":521,"column":48}},{"start":{"line":521,"column":52},"end":{"line":521,"column":71}}],"line":521},"37":{"loc":{"start":{"line":547,"column":19},"end":{"line":547,"column":78}},"type":"binary-expr","locations":[{"start":{"line":547,"column":19},"end":{"line":547,"column":55}},{"start":{"line":547,"column":59},"end":{"line":547,"column":78}}],"line":547},"38":{"loc":{"start":{"line":559,"column":8},"end":{"line":563,"column":9}},"type":"if","locations":[{"start":{"line":559,"column":8},"end":{"line":563,"column":9}},{"start":{"line":561,"column":15},"end":{"line":563,"column":9}}],"line":559},"39":{"loc":{"start":{"line":627,"column":8},"end":{"line":637,"column":9}},"type":"if","locations":[{"start":{"line":627,"column":8},"end":{"line":637,"column":9}},{"start":{},"end":{}}],"line":627},"40":{"loc":{"start":{"line":628,"column":77},"end":{"line":628,"column":114}},"type":"binary-expr","locations":[{"start":{"line":628,"column":77},"end":{"line":628,"column":95}},{"start":{"line":628,"column":99},"end":{"line":628,"column":114}}],"line":628},"41":{"loc":{"start":{"line":629,"column":10},"end":{"line":636,"column":11}},"type":"if","locations":[{"start":{"line":629,"column":10},"end":{"line":636,"column":11}},{"start":{},"end":{}}],"line":629},"42":{"loc":{"start":{"line":653,"column":55},"end":{"line":653,"column":103}},"type":"binary-expr","locations":[{"start":{"line":653,"column":55},"end":{"line":653,"column":78}},{"start":{"line":653,"column":82},"end":{"line":653,"column":103}}],"line":653},"43":{"loc":{"start":{"line":655,"column":8},"end":{"line":667,"column":9}},"type":"if","locations":[{"start":{"line":655,"column":8},"end":{"line":667,"column":9}},{"start":{"line":665,"column":15},"end":{"line":667,"column":9}}],"line":655},"44":{"loc":{"start":{"line":656,"column":10},"end":{"line":664,"column":11}},"type":"if","locations":[{"start":{"line":656,"column":10},"end":{"line":664,"column":11}},{"start":{},"end":{}}],"line":656},"45":{"loc":{"start":{"line":687,"column":6},"end":{"line":689,"column":7}},"type":"if","locations":[{"start":{"line":687,"column":6},"end":{"line":689,"column":7}},{"start":{},"end":{}}],"line":687},"46":{"loc":{"start":{"line":687,"column":10},"end":{"line":687,"column":61}},"type":"binary-expr","locations":[{"start":{"line":687,"column":10},"end":{"line":687,"column":25}},{"start":{"line":687,"column":29},"end":{"line":687,"column":61}}],"line":687},"47":{"loc":{"start":{"line":691,"column":6},"end":{"line":693,"column":7}},"type":"if","locations":[{"start":{"line":691,"column":6},"end":{"line":693,"column":7}},{"start":{},"end":{}}],"line":691},"48":{"loc":{"start":{"line":691,"column":10},"end":{"line":691,"column":78}},"type":"binary-expr","locations":[{"start":{"line":691,"column":10},"end":{"line":691,"column":30}},{"start":{"line":691,"column":34},"end":{"line":691,"column":78}}],"line":691},"49":{"loc":{"start":{"line":695,"column":6},"end":{"line":722,"column":7}},"type":"if","locations":[{"start":{"line":695,"column":6},"end":{"line":722,"column":7}},{"start":{},"end":{}}],"line":695},"50":{"loc":{"start":{"line":695,"column":10},"end":{"line":695,"column":103}},"type":"binary-expr","locations":[{"start":{"line":695,"column":10},"end":{"line":695,"column":30}},{"start":{"line":695,"column":34},"end":{"line":695,"column":103}}],"line":695},"51":{"loc":{"start":{"line":697,"column":8},"end":{"line":721,"column":9}},"type":"if","locations":[{"start":{"line":697,"column":8},"end":{"line":721,"column":9}},{"start":{},"end":{}}],"line":697},"52":{"loc":{"start":{"line":699,"column":12},"end":{"line":707,"column":13}},"type":"if","locations":[{"start":{"line":699,"column":12},"end":{"line":707,"column":13}},{"start":{},"end":{}}],"line":699},"53":{"loc":{"start":{"line":727,"column":6},"end":{"line":742,"column":7}},"type":"if","locations":[{"start":{"line":727,"column":6},"end":{"line":742,"column":7}},{"start":{},"end":{}}],"line":727},"54":{"loc":{"start":{"line":729,"column":8},"end":{"line":741,"column":9}},"type":"if","locations":[{"start":{"line":729,"column":8},"end":{"line":741,"column":9}},{"start":{},"end":{}}],"line":729},"55":{"loc":{"start":{"line":753,"column":6},"end":{"line":759,"column":7}},"type":"if","locations":[{"start":{"line":753,"column":6},"end":{"line":759,"column":7}},{"start":{},"end":{}}],"line":753},"56":{"loc":{"start":{"line":770,"column":6},"end":{"line":776,"column":7}},"type":"if","locations":[{"start":{"line":770,"column":6},"end":{"line":776,"column":7}},{"start":{},"end":{}}],"line":770},"57":{"loc":{"start":{"line":781,"column":6},"end":{"line":787,"column":7}},"type":"if","locations":[{"start":{"line":781,"column":6},"end":{"line":787,"column":7}},{"start":{},"end":{}}],"line":781},"58":{"loc":{"start":{"line":792,"column":6},"end":{"line":801,"column":7}},"type":"if","locations":[{"start":{"line":792,"column":6},"end":{"line":801,"column":7}},{"start":{},"end":{}}],"line":792},"59":{"loc":{"start":{"line":807,"column":6},"end":{"line":809,"column":7}},"type":"if","locations":[{"start":{"line":807,"column":6},"end":{"line":809,"column":7}},{"start":{},"end":{}}],"line":807},"60":{"loc":{"start":{"line":823,"column":6},"end":{"line":828,"column":7}},"type":"if","locations":[{"start":{"line":823,"column":6},"end":{"line":828,"column":7}},{"start":{},"end":{}}],"line":823},"61":{"loc":{"start":{"line":833,"column":6},"end":{"line":838,"column":7}},"type":"if","locations":[{"start":{"line":833,"column":6},"end":{"line":838,"column":7}},{"start":{},"end":{}}],"line":833},"62":{"loc":{"start":{"line":848,"column":29},"end":{"line":848,"column":70}},"type":"binary-expr","locations":[{"start":{"line":848,"column":29},"end":{"line":848,"column":64}},{"start":{"line":848,"column":68},"end":{"line":848,"column":70}}],"line":848},"63":{"loc":{"start":{"line":850,"column":27},"end":{"line":850,"column":86}},"type":"binary-expr","locations":[{"start":{"line":850,"column":27},"end":{"line":850,"column":63}},{"start":{"line":850,"column":67},"end":{"line":850,"column":86}}],"line":850},"64":{"loc":{"start":{"line":859,"column":6},"end":{"line":861,"column":7}},"type":"if","locations":[{"start":{"line":859,"column":6},"end":{"line":861,"column":7}},{"start":{},"end":{}}],"line":859},"65":{"loc":{"start":{"line":871,"column":6},"end":{"line":871,"column":29}},"type":"if","locations":[{"start":{"line":871,"column":6},"end":{"line":871,"column":29}},{"start":{},"end":{}}],"line":871},"66":{"loc":{"start":{"line":877,"column":8},"end":{"line":879,"column":9}},"type":"if","locations":[{"start":{"line":877,"column":8},"end":{"line":879,"column":9}},{"start":{},"end":{}}],"line":877},"67":{"loc":{"start":{"line":882,"column":8},"end":{"line":884,"column":9}},"type":"if","locations":[{"start":{"line":882,"column":8},"end":{"line":884,"column":9}},{"start":{},"end":{}}],"line":882},"68":{"loc":{"start":{"line":916,"column":22},"end":{"line":916,"column":83}},"type":"cond-expr","locations":[{"start":{"line":916,"column":49},"end":{"line":916,"column":76}},{"start":{"line":916,"column":79},"end":{"line":916,"column":83}}],"line":916},"69":{"loc":{"start":{"line":925,"column":29},"end":{"line":925,"column":88}},"type":"binary-expr","locations":[{"start":{"line":925,"column":29},"end":{"line":925,"column":60}},{"start":{"line":925,"column":64},"end":{"line":925,"column":88}}],"line":925},"70":{"loc":{"start":{"line":930,"column":34},"end":{"line":930,"column":88}},"type":"binary-expr","locations":[{"start":{"line":930,"column":34},"end":{"line":930,"column":53}},{"start":{"line":930,"column":57},"end":{"line":930,"column":88}}],"line":930},"71":{"loc":{"start":{"line":951,"column":6},"end":{"line":962,"column":7}},"type":"if","locations":[{"start":{"line":951,"column":6},"end":{"line":962,"column":7}},{"start":{},"end":{}}],"line":951}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/uiState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/uiState.tsx","statementMap":{"0":{"start":{"line":96,"column":42},"end":{"line":104,"column":1}},"1":{"start":{"line":106,"column":23},"end":{"line":470,"column":2}},"2":{"start":{"line":156,"column":63},"end":{"line":159,"column":5}},"3":{"start":{"line":160,"column":95},"end":{"line":163,"column":5}},"4":{"start":{"line":164,"column":57},"end":{"line":167,"column":5}},"5":{"start":{"line":168,"column":51},"end":{"line":171,"column":5}},"6":{"start":{"line":187,"column":10},"end":{"line":200,"column":5}},"7":{"start":{"line":201,"column":49},"end":{"line":204,"column":5}},"8":{"start":{"line":205,"column":32},"end":{"line":208,"column":5}},"9":{"start":{"line":209,"column":44},"end":{"line":212,"column":5}},"10":{"start":{"line":213,"column":53},"end":{"line":216,"column":5}},"11":{"start":{"line":217,"column":48},"end":{"line":220,"column":5}},"12":{"start":{"line":222,"column":6},"end":{"line":222,"column":46}},"13":{"start":{"line":224,"column":6},"end":{"line":227,"column":8}},"14":{"start":{"line":229,"column":60},"end":{"line":232,"column":5}},"15":{"start":{"line":233,"column":66},"end":{"line":236,"column":5}},"16":{"start":{"line":237,"column":38},"end":{"line":240,"column":5}},"17":{"start":{"line":242,"column":6},"end":{"line":245,"column":8}},"18":{"start":{"line":248,"column":6},"end":{"line":253,"column":8}},"19":{"start":{"line":251,"column":10},"end":{"line":251,"column":27}},"20":{"start":{"line":256,"column":6},"end":{"line":259,"column":8}},"21":{"start":{"line":262,"column":6},"end":{"line":265,"column":8}},"22":{"start":{"line":268,"column":6},"end":{"line":271,"column":8}},"23":{"start":{"line":274,"column":6},"end":{"line":277,"column":8}},"24":{"start":{"line":280,"column":6},"end":{"line":283,"column":8}},"25":{"start":{"line":286,"column":6},"end":{"line":289,"column":8}},"26":{"start":{"line":292,"column":6},"end":{"line":295,"column":8}},"27":{"start":{"line":298,"column":6},"end":{"line":301,"column":8}},"28":{"start":{"line":304,"column":6},"end":{"line":307,"column":8}},"29":{"start":{"line":310,"column":6},"end":{"line":313,"column":8}},"30":{"start":{"line":316,"column":6},"end":{"line":319,"column":8}},"31":{"start":{"line":322,"column":6},"end":{"line":325,"column":8}},"32":{"start":{"line":328,"column":6},"end":{"line":331,"column":8}},"33":{"start":{"line":334,"column":6},"end":{"line":337,"column":8}},"34":{"start":{"line":340,"column":6},"end":{"line":343,"column":8}},"35":{"start":{"line":346,"column":6},"end":{"line":349,"column":8}},"36":{"start":{"line":352,"column":6},"end":{"line":355,"column":8}},"37":{"start":{"line":358,"column":6},"end":{"line":373,"column":8}},"38":{"start":{"line":361,"column":10},"end":{"line":370,"column":11}},"39":{"start":{"line":362,"column":12},"end":{"line":369,"column":14}},"40":{"start":{"line":371,"column":10},"end":{"line":371,"column":21}},"41":{"start":{"line":376,"column":6},"end":{"line":390,"column":8}},"42":{"start":{"line":379,"column":10},"end":{"line":387,"column":11}},"43":{"start":{"line":380,"column":40},"end":{"line":380,"column":81}},"44":{"start":{"line":381,"column":12},"end":{"line":386,"column":14}},"45":{"start":{"line":388,"column":10},"end":{"line":388,"column":21}},"46":{"start":{"line":393,"column":6},"end":{"line":396,"column":8}},"47":{"start":{"line":399,"column":6},"end":{"line":402,"column":8}},"48":{"start":{"line":405,"column":6},"end":{"line":408,"column":8}},"49":{"start":{"line":411,"column":6},"end":{"line":414,"column":8}},"50":{"start":{"line":416,"column":51},"end":{"line":419,"column":5}},"51":{"start":{"line":420,"column":47},"end":{"line":423,"column":5}},"52":{"start":{"line":425,"column":26},"end":{"line":469,"column":3}},"53":{"start":{"line":427,"column":6},"end":{"line":429,"column":9}},"54":{"start":{"line":428,"column":8},"end":{"line":428,"column":46}},"55":{"start":{"line":432,"column":6},"end":{"line":435,"column":9}},"56":{"start":{"line":438,"column":6},"end":{"line":441,"column":9}},"57":{"start":{"line":444,"column":6},"end":{"line":447,"column":9}},"58":{"start":{"line":450,"column":6},"end":{"line":453,"column":9}},"59":{"start":{"line":456,"column":38},"end":{"line":456,"column":64}},"60":{"start":{"line":458,"column":6},"end":{"line":461,"column":9}},"61":{"start":{"line":464,"column":6},"end":{"line":467,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":156,"column":36},"end":{"line":156,"column":37}},"loc":{"start":{"line":156,"column":63},"end":{"line":159,"column":5}},"line":156},"1":{"name":"(anonymous_1)","decl":{"start":{"line":160,"column":23},"end":{"line":160,"column":24}},"loc":{"start":{"line":160,"column":95},"end":{"line":163,"column":5}},"line":160},"2":{"name":"(anonymous_2)","decl":{"start":{"line":164,"column":23},"end":{"line":164,"column":24}},"loc":{"start":{"line":164,"column":57},"end":{"line":167,"column":5}},"line":164},"3":{"name":"(anonymous_3)","decl":{"start":{"line":168,"column":24},"end":{"line":168,"column":25}},"loc":{"start":{"line":168,"column":51},"end":{"line":171,"column":5}},"line":168},"4":{"name":"(anonymous_4)","decl":{"start":{"line":172,"column":20},"end":{"line":172,"column":21}},"loc":{"start":{"line":187,"column":10},"end":{"line":200,"column":5}},"line":187},"5":{"name":"(anonymous_5)","decl":{"start":{"line":201,"column":23},"end":{"line":201,"column":24}},"loc":{"start":{"line":201,"column":49},"end":{"line":204,"column":5}},"line":201},"6":{"name":"(anonymous_6)","decl":{"start":{"line":205,"column":20},"end":{"line":205,"column":21}},"loc":{"start":{"line":205,"column":32},"end":{"line":208,"column":5}},"line":205},"7":{"name":"(anonymous_7)","decl":{"start":{"line":209,"column":17},"end":{"line":209,"column":18}},"loc":{"start":{"line":209,"column":44},"end":{"line":212,"column":5}},"line":209},"8":{"name":"(anonymous_8)","decl":{"start":{"line":213,"column":18},"end":{"line":213,"column":19}},"loc":{"start":{"line":213,"column":53},"end":{"line":216,"column":5}},"line":213},"9":{"name":"(anonymous_9)","decl":{"start":{"line":217,"column":21},"end":{"line":217,"column":22}},"loc":{"start":{"line":217,"column":48},"end":{"line":220,"column":5}},"line":217},"10":{"name":"(anonymous_10)","decl":{"start":{"line":221,"column":20},"end":{"line":221,"column":21}},"loc":{"start":{"line":221,"column":50},"end":{"line":228,"column":5}},"line":221},"11":{"name":"(anonymous_11)","decl":{"start":{"line":229,"column":24},"end":{"line":229,"column":25}},"loc":{"start":{"line":229,"column":60},"end":{"line":232,"column":5}},"line":229},"12":{"name":"(anonymous_12)","decl":{"start":{"line":233,"column":32},"end":{"line":233,"column":33}},"loc":{"start":{"line":233,"column":66},"end":{"line":236,"column":5}},"line":233},"13":{"name":"(anonymous_13)","decl":{"start":{"line":237,"column":26},"end":{"line":237,"column":27}},"loc":{"start":{"line":237,"column":38},"end":{"line":240,"column":5}},"line":237},"14":{"name":"(anonymous_14)","decl":{"start":{"line":241,"column":4},"end":{"line":241,"column":5}},"loc":{"start":{"line":241,"column":40},"end":{"line":246,"column":5}},"line":241},"15":{"name":"(anonymous_15)","decl":{"start":{"line":247,"column":4},"end":{"line":247,"column":5}},"loc":{"start":{"line":247,"column":37},"end":{"line":254,"column":5}},"line":247},"16":{"name":"(anonymous_16)","decl":{"start":{"line":250,"column":52},"end":{"line":250,"column":53}},"loc":{"start":{"line":251,"column":10},"end":{"line":251,"column":27}},"line":251},"17":{"name":"(anonymous_17)","decl":{"start":{"line":255,"column":4},"end":{"line":255,"column":5}},"loc":{"start":{"line":255,"column":21},"end":{"line":260,"column":5}},"line":255},"18":{"name":"(anonymous_18)","decl":{"start":{"line":261,"column":4},"end":{"line":261,"column":5}},"loc":{"start":{"line":261,"column":39},"end":{"line":266,"column":5}},"line":261},"19":{"name":"(anonymous_19)","decl":{"start":{"line":267,"column":4},"end":{"line":267,"column":5}},"loc":{"start":{"line":267,"column":56},"end":{"line":272,"column":5}},"line":267},"20":{"name":"(anonymous_20)","decl":{"start":{"line":273,"column":4},"end":{"line":273,"column":5}},"loc":{"start":{"line":273,"column":42},"end":{"line":278,"column":5}},"line":273},"21":{"name":"(anonymous_21)","decl":{"start":{"line":279,"column":4},"end":{"line":279,"column":5}},"loc":{"start":{"line":279,"column":44},"end":{"line":284,"column":5}},"line":279},"22":{"name":"(anonymous_22)","decl":{"start":{"line":285,"column":4},"end":{"line":285,"column":5}},"loc":{"start":{"line":285,"column":55},"end":{"line":290,"column":5}},"line":285},"23":{"name":"(anonymous_23)","decl":{"start":{"line":291,"column":4},"end":{"line":291,"column":5}},"loc":{"start":{"line":291,"column":66},"end":{"line":296,"column":5}},"line":291},"24":{"name":"(anonymous_24)","decl":{"start":{"line":297,"column":4},"end":{"line":297,"column":5}},"loc":{"start":{"line":297,"column":62},"end":{"line":302,"column":5}},"line":297},"25":{"name":"(anonymous_25)","decl":{"start":{"line":303,"column":4},"end":{"line":303,"column":5}},"loc":{"start":{"line":303,"column":62},"end":{"line":308,"column":5}},"line":303},"26":{"name":"(anonymous_26)","decl":{"start":{"line":309,"column":4},"end":{"line":309,"column":5}},"loc":{"start":{"line":309,"column":42},"end":{"line":314,"column":5}},"line":309},"27":{"name":"(anonymous_27)","decl":{"start":{"line":315,"column":4},"end":{"line":315,"column":5}},"loc":{"start":{"line":315,"column":56},"end":{"line":320,"column":5}},"line":315},"28":{"name":"(anonymous_28)","decl":{"start":{"line":321,"column":4},"end":{"line":321,"column":5}},"loc":{"start":{"line":321,"column":62},"end":{"line":326,"column":5}},"line":321},"29":{"name":"(anonymous_29)","decl":{"start":{"line":327,"column":4},"end":{"line":327,"column":5}},"loc":{"start":{"line":327,"column":65},"end":{"line":332,"column":5}},"line":327},"30":{"name":"(anonymous_30)","decl":{"start":{"line":333,"column":4},"end":{"line":333,"column":5}},"loc":{"start":{"line":333,"column":59},"end":{"line":338,"column":5}},"line":333},"31":{"name":"(anonymous_31)","decl":{"start":{"line":339,"column":4},"end":{"line":339,"column":5}},"loc":{"start":{"line":339,"column":43},"end":{"line":344,"column":5}},"line":339},"32":{"name":"(anonymous_32)","decl":{"start":{"line":345,"column":4},"end":{"line":345,"column":5}},"loc":{"start":{"line":345,"column":58},"end":{"line":350,"column":5}},"line":345},"33":{"name":"(anonymous_33)","decl":{"start":{"line":351,"column":4},"end":{"line":351,"column":5}},"loc":{"start":{"line":351,"column":27},"end":{"line":356,"column":5}},"line":351},"34":{"name":"(anonymous_34)","decl":{"start":{"line":357,"column":4},"end":{"line":357,"column":5}},"loc":{"start":{"line":357,"column":52},"end":{"line":374,"column":5}},"line":357},"35":{"name":"(anonymous_35)","decl":{"start":{"line":360,"column":49},"end":{"line":360,"column":50}},"loc":{"start":{"line":360,"column":58},"end":{"line":372,"column":9}},"line":360},"36":{"name":"(anonymous_36)","decl":{"start":{"line":375,"column":4},"end":{"line":375,"column":5}},"loc":{"start":{"line":375,"column":62},"end":{"line":391,"column":5}},"line":375},"37":{"name":"(anonymous_37)","decl":{"start":{"line":378,"column":49},"end":{"line":378,"column":50}},"loc":{"start":{"line":378,"column":58},"end":{"line":389,"column":9}},"line":378},"38":{"name":"(anonymous_38)","decl":{"start":{"line":392,"column":4},"end":{"line":392,"column":5}},"loc":{"start":{"line":392,"column":51},"end":{"line":397,"column":5}},"line":392},"39":{"name":"(anonymous_39)","decl":{"start":{"line":398,"column":4},"end":{"line":398,"column":5}},"loc":{"start":{"line":398,"column":65},"end":{"line":403,"column":5}},"line":398},"40":{"name":"(anonymous_40)","decl":{"start":{"line":404,"column":4},"end":{"line":404,"column":5}},"loc":{"start":{"line":404,"column":42},"end":{"line":409,"column":5}},"line":404},"41":{"name":"(anonymous_41)","decl":{"start":{"line":410,"column":4},"end":{"line":410,"column":5}},"loc":{"start":{"line":410,"column":30},"end":{"line":415,"column":5}},"line":410},"42":{"name":"(anonymous_42)","decl":{"start":{"line":416,"column":24},"end":{"line":416,"column":25}},"loc":{"start":{"line":416,"column":51},"end":{"line":419,"column":5}},"line":416},"43":{"name":"(anonymous_43)","decl":{"start":{"line":420,"column":21},"end":{"line":420,"column":22}},"loc":{"start":{"line":420,"column":47},"end":{"line":423,"column":5}},"line":420},"44":{"name":"(anonymous_44)","decl":{"start":{"line":425,"column":11},"end":{"line":425,"column":12}},"loc":{"start":{"line":425,"column":26},"end":{"line":469,"column":3}},"line":425},"45":{"name":"(anonymous_45)","decl":{"start":{"line":426,"column":19},"end":{"line":426,"column":20}},"loc":{"start":{"line":426,"column":32},"end":{"line":430,"column":5}},"line":426},"46":{"name":"(anonymous_46)","decl":{"start":{"line":427,"column":30},"end":{"line":427,"column":31}},"loc":{"start":{"line":427,"column":42},"end":{"line":429,"column":7}},"line":427},"47":{"name":"(anonymous_47)","decl":{"start":{"line":431,"column":32},"end":{"line":431,"column":33}},"loc":{"start":{"line":431,"column":45},"end":{"line":436,"column":5}},"line":431},"48":{"name":"(anonymous_48)","decl":{"start":{"line":437,"column":38},"end":{"line":437,"column":39}},"loc":{"start":{"line":437,"column":51},"end":{"line":442,"column":5}},"line":437},"49":{"name":"(anonymous_49)","decl":{"start":{"line":443,"column":41},"end":{"line":443,"column":42}},"loc":{"start":{"line":443,"column":54},"end":{"line":448,"column":5}},"line":443},"50":{"name":"(anonymous_50)","decl":{"start":{"line":449,"column":35},"end":{"line":449,"column":36}},"loc":{"start":{"line":449,"column":48},"end":{"line":454,"column":5}},"line":449},"51":{"name":"(anonymous_51)","decl":{"start":{"line":455,"column":18},"end":{"line":455,"column":19}},"loc":{"start":{"line":455,"column":37},"end":{"line":462,"column":5}},"line":455},"52":{"name":"(anonymous_52)","decl":{"start":{"line":463,"column":4},"end":{"line":463,"column":5}},"loc":{"start":{"line":463,"column":62},"end":{"line":468,"column":5}},"line":463}},"branchMap":{"0":{"loc":{"start":{"line":194,"column":23},"end":{"line":194,"column":78}},"type":"binary-expr","locations":[{"start":{"line":194,"column":23},"end":{"line":194,"column":41}},{"start":{"line":194,"column":45},"end":{"line":194,"column":78}}],"line":194},"1":{"loc":{"start":{"line":195,"column":22},"end":{"line":195,"column":75}},"type":"binary-expr","locations":[{"start":{"line":195,"column":22},"end":{"line":195,"column":39}},{"start":{"line":195,"column":43},"end":{"line":195,"column":75}}],"line":195},"2":{"loc":{"start":{"line":348,"column":25},"end":{"line":348,"column":75}},"type":"cond-expr","locations":[{"start":{"line":348,"column":43},"end":{"line":348,"column":65}},{"start":{"line":348,"column":68},"end":{"line":348,"column":75}}],"line":348},"3":{"loc":{"start":{"line":361,"column":10},"end":{"line":370,"column":11}},"type":"if","locations":[{"start":{"line":361,"column":10},"end":{"line":370,"column":11}},{"start":{},"end":{}}],"line":361},"4":{"loc":{"start":{"line":364,"column":18},"end":{"line":366,"column":20}},"type":"cond-expr","locations":[{"start":{"line":364,"column":48},"end":{"line":366,"column":15}},{"start":{"line":366,"column":18},"end":{"line":366,"column":20}}],"line":364},"5":{"loc":{"start":{"line":367,"column":30},"end":{"line":367,"column":53}},"type":"binary-expr","locations":[{"start":{"line":367,"column":30},"end":{"line":367,"column":48}},{"start":{"line":367,"column":52},"end":{"line":367,"column":53}}],"line":367},"6":{"loc":{"start":{"line":368,"column":27},"end":{"line":368,"column":46}},"type":"binary-expr","locations":[{"start":{"line":368,"column":27},"end":{"line":368,"column":41}},{"start":{"line":368,"column":45},"end":{"line":368,"column":46}}],"line":368},"7":{"loc":{"start":{"line":379,"column":10},"end":{"line":387,"column":11}},"type":"if","locations":[{"start":{"line":379,"column":10},"end":{"line":387,"column":11}},{"start":{},"end":{}}],"line":379},"8":{"loc":{"start":{"line":380,"column":41},"end":{"line":380,"column":64}},"type":"binary-expr","locations":[{"start":{"line":380,"column":41},"end":{"line":380,"column":59}},{"start":{"line":380,"column":63},"end":{"line":380,"column":64}}],"line":380},"9":{"loc":{"start":{"line":383,"column":27},"end":{"line":383,"column":65}},"type":"binary-expr","locations":[{"start":{"line":383,"column":27},"end":{"line":383,"column":46}},{"start":{"line":383,"column":50},"end":{"line":383,"column":65}}],"line":383},"10":{"loc":{"start":{"line":385,"column":27},"end":{"line":385,"column":64}},"type":"binary-expr","locations":[{"start":{"line":385,"column":27},"end":{"line":385,"column":41}},{"start":{"line":385,"column":45},"end":{"line":385,"column":64}}],"line":385},"11":{"loc":{"start":{"line":466,"column":25},"end":{"line":466,"column":86}},"type":"cond-expr","locations":[{"start":{"line":466,"column":43},"end":{"line":466,"column":76}},{"start":{"line":466,"column":79},"end":{"line":466,"column":86}}],"line":466}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/userState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/userState.ts","statementMap":{"0":{"start":{"line":37,"column":25},"end":{"line":135,"column":2}},"1":{"start":{"line":55,"column":6},"end":{"line":58,"column":8}},"2":{"start":{"line":61,"column":6},"end":{"line":64,"column":8}},"3":{"start":{"line":67,"column":6},"end":{"line":70,"column":8}},"4":{"start":{"line":73,"column":6},"end":{"line":76,"column":8}},"5":{"start":{"line":79,"column":6},"end":{"line":82,"column":8}},"6":{"start":{"line":85,"column":6},"end":{"line":88,"column":8}},"7":{"start":{"line":91,"column":6},"end":{"line":94,"column":8}},"8":{"start":{"line":97,"column":6},"end":{"line":100,"column":8}},"9":{"start":{"line":104,"column":26},"end":{"line":134,"column":3}},"10":{"start":{"line":106,"column":51},"end":{"line":106,"column":70}},"11":{"start":{"line":108,"column":6},"end":{"line":113,"column":7}},"12":{"start":{"line":109,"column":26},"end":{"line":109,"column":65}},"13":{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},"14":{"start":{"line":111,"column":10},"end":{"line":111,"column":102}},"15":{"start":{"line":115,"column":6},"end":{"line":118,"column":9}},"16":{"start":{"line":120,"column":6},"end":{"line":123,"column":9}},"17":{"start":{"line":125,"column":6},"end":{"line":125,"column":46}},"18":{"start":{"line":126,"column":6},"end":{"line":126,"column":50}},"19":{"start":{"line":127,"column":6},"end":{"line":127,"column":52}},"20":{"start":{"line":128,"column":6},"end":{"line":132,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":45},"end":{"line":59,"column":5}},"line":54},"1":{"name":"(anonymous_1)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":40},"end":{"line":65,"column":5}},"line":60},"2":{"name":"(anonymous_2)","decl":{"start":{"line":66,"column":4},"end":{"line":66,"column":5}},"loc":{"start":{"line":66,"column":54},"end":{"line":71,"column":5}},"line":66},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":53},"end":{"line":77,"column":5}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":78,"column":4},"end":{"line":78,"column":5}},"loc":{"start":{"line":78,"column":56},"end":{"line":83,"column":5}},"line":78},"5":{"name":"(anonymous_5)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":54},"end":{"line":89,"column":5}},"line":84},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":44},"end":{"line":95,"column":5}},"line":90},"7":{"name":"(anonymous_7)","decl":{"start":{"line":96,"column":4},"end":{"line":96,"column":5}},"loc":{"start":{"line":96,"column":54},"end":{"line":101,"column":5}},"line":96},"8":{"name":"(anonymous_8)","decl":{"start":{"line":104,"column":11},"end":{"line":104,"column":12}},"loc":{"start":{"line":104,"column":26},"end":{"line":134,"column":3}},"line":104},"9":{"name":"(anonymous_9)","decl":{"start":{"line":105,"column":22},"end":{"line":105,"column":23}},"loc":{"start":{"line":105,"column":52},"end":{"line":133,"column":5}},"line":105}},"branchMap":{"0":{"loc":{"start":{"line":108,"column":6},"end":{"line":113,"column":7}},"type":"if","locations":[{"start":{"line":108,"column":6},"end":{"line":113,"column":7}},{"start":{},"end":{}}],"line":108},"1":{"loc":{"start":{"line":108,"column":10},"end":{"line":108,"column":37}},"type":"binary-expr","locations":[{"start":{"line":108,"column":10},"end":{"line":108,"column":20}},{"start":{"line":108,"column":24},"end":{"line":108,"column":37}}],"line":108},"2":{"loc":{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},{"start":{},"end":{}}],"line":110}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/updateCheckForChangesAtomic.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/updateCheckForChangesAtomic.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"updateCheckForChangesAtomic","decl":{"start":{"line":4,"column":22},"end":{"line":4,"column":49}},"loc":{"start":{"line":4,"column":76},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setCreateStylesWithVariableReferences","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":53}},"loc":{"start":{"line":5,"column":56},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setIgnoreFirstPartForStyles","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":43}},"loc":{"start":{"line":5,"column":46},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setPrefixStylesWithThemeName","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":44}},"loc":{"start":{"line":5,"column":47},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setRemoveStylesAndVariablesWithoutConnection","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":60}},"loc":{"start":{"line":5,"column":63},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setRenameExistingStylesAndVariables","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":51}},"loc":{"start":{"line":5,"column":54},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStyleTypography.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStyleTypography.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setStylesTypography","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":35}},"loc":{"start":{"line":5,"column":38},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesColor.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setStylesColor","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":33},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesEffect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesEffect.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setStylesEffect","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":31}},"loc":{"start":{"line":5,"column":34},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesBoolean.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesBoolean.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesBoolean","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":35}},"loc":{"start":{"line":5,"column":38},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesColor.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesColor","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":33}},"loc":{"start":{"line":5,"column":36},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesNumber.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesNumber.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesNumber","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":37},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesString.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesString.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesString","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":37},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"assignStyleIdsToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":83},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"assignStyleIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":76},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"assignVariableIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":79},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/deleteTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/deleteTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"deleteTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":27}},"loc":{"start":{"line":4,"column":66},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"removeStyleIdsFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":79},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"removeStyleNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"loc":{"start":{"line":4,"column":81},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"removeVariableNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":45}},"loc":{"start":{"line":4,"column":84},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameStyleIdsToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":83},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameStyleNamesToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":85},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameVariableIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":79},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameVariableNamesToThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":82},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/saveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/saveTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"saveTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":25}},"loc":{"start":{"line":4,"column":64},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setActiveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setActiveTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":110}}},"fnMap":{"0":{"name":"setActiveTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":30}},"loc":{"start":{"line":4,"column":69},"end":{"line":8,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":78},"end":{"line":7,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setDefaultTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setDefaultTokens.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":16,"column":4}},"1":{"start":{"line":10,"column":4},"end":{"line":15,"column":7}}},"fnMap":{"0":{"name":"setDefaultTokens","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":32}},"loc":{"start":{"line":8,"column":71},"end":{"line":17,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":21},"end":{"line":16,"column":3}},"line":9}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setEmptyTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setEmptyTokens.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setEmptyTokens","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":30}},"loc":{"start":{"line":4,"column":69},"end":{"line":12,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":11,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/updateThemeGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/updateThemeGroupName.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"updateThemeGroupName","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":36}},"loc":{"start":{"line":4,"column":75},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setCreateStylesWithVariableReferences","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":53}},"loc":{"start":{"line":3,"column":109},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setIgnoreFirstPartForStyles","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":99},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setPrefixStylesWithThemeName","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":44}},"loc":{"start":{"line":3,"column":100},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setRemoveStylesAndVariablesWithoutConnection","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":60}},"loc":{"start":{"line":3,"column":116},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setRenameExistingStylesAndVariables","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":51}},"loc":{"start":{"line":3,"column":107},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setShouldSwapStyles","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":76},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesColor.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setStylesColor","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":86},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesEffect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesEffect.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setStylesEffect","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":87},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesTypography.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesTypography.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setStylesTypography","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":91},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesBoolean","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":91},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesColor.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesColor","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":89},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesNumber.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesNumber.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesNumber","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":90},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesString.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesString.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesString","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":90},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":46}},"1":{"start":{"line":7,"column":33},"end":{"line":7,"column":46}},"2":{"start":{"line":9,"column":24},"end":{"line":9,"column":41}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":107}},"4":{"start":{"line":10,"column":54},"end":{"line":10,"column":96}},"5":{"start":{"line":10,"column":81},"end":{"line":10,"column":95}},"6":{"start":{"line":11,"column":2},"end":{"line":22,"column":5}},"7":{"start":{"line":13,"column":24},"end":{"line":14,"column":84}},"8":{"start":{"line":13,"column":53},"end":{"line":14,"column":83}},"9":{"start":{"line":13,"column":122},"end":{"line":14,"column":82}},"10":{"start":{"line":14,"column":43},"end":{"line":14,"column":63}},"11":{"start":{"line":15,"column":29},"end":{"line":15,"column":87}},"12":{"start":{"line":15,"column":64},"end":{"line":15,"column":86}},"13":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"14":{"start":{"line":17,"column":6},"end":{"line":20,"column":9}},"15":{"start":{"line":24,"column":2},"end":{"line":27,"column":4}}},"fnMap":{"0":{"name":"assignStyleIdsToCurrentTheme","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":44}},"loc":{"start":{"line":5,"column":214},"end":{"line":28,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":43},"end":{"line":10,"column":44}},"loc":{"start":{"line":10,"column":54},"end":{"line":10,"column":96}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":74},"end":{"line":10,"column":75}},"loc":{"start":{"line":10,"column":81},"end":{"line":10,"column":95}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":35},"end":{"line":11,"column":36}},"loc":{"start":{"line":11,"column":61},"end":{"line":22,"column":3}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":42},"end":{"line":13,"column":43}},"loc":{"start":{"line":13,"column":53},"end":{"line":14,"column":83}},"line":13},"5":{"name":"(anonymous_5)","decl":{"start":{"line":13,"column":98},"end":{"line":13,"column":99}},"loc":{"start":{"line":13,"column":122},"end":{"line":14,"column":82}},"line":13},"6":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":36},"end":{"line":14,"column":37}},"loc":{"start":{"line":14,"column":43},"end":{"line":14,"column":63}},"line":14},"7":{"name":"(anonymous_7)","decl":{"start":{"line":15,"column":52},"end":{"line":15,"column":53}},"loc":{"start":{"line":15,"column":64},"end":{"line":15,"column":86}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":46}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":7,"column":46}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":13,"column":122},"end":{"line":14,"column":82}},"type":"binary-expr","locations":[{"start":{"line":13,"column":122},"end":{"line":13,"column":155}},{"start":{"line":14,"column":11},"end":{"line":14,"column":82}}],"line":13},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},{"start":{},"end":{}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts","statementMap":{"0":{"start":{"line":11,"column":27},"end":{"line":11,"column":77}},"1":{"start":{"line":11,"column":62},"end":{"line":11,"column":76}},"2":{"start":{"line":12,"column":2},"end":{"line":15,"column":17}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":17}},"4":{"start":{"line":17,"column":24},"end":{"line":17,"column":41}},"5":{"start":{"line":18,"column":2},"end":{"line":21,"column":5}},"6":{"start":{"line":23,"column":2},"end":{"line":26,"column":4}}},"fnMap":{"0":{"name":"assignStyleIdsToTheme","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":84},"end":{"line":27,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":50},"end":{"line":11,"column":51}},"loc":{"start":{"line":11,"column":62},"end":{"line":11,"column":76}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":15,"column":17}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":15,"column":17}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":14,"column":83}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":27}},{"start":{"line":14,"column":7},"end":{"line":14,"column":83}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":14,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":13,"column":5}},"2":{"start":{"line":15,"column":2},"end":{"line":18,"column":4}}},"fnMap":{"0":{"name":"assignVariableIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":120},"end":{"line":19,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":41},"end":{"line":5,"column":42}},"loc":{"start":{"line":6,"column":4},"end":{"line":13,"column":5}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":10},"end":{"line":12,"column":7}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":31}},{"start":{"line":8,"column":35},"end":{"line":12,"column":7}}],"line":8}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/deleteTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/deleteTheme.ts","statementMap":{"0":{"start":{"line":4,"column":25},"end":{"line":4,"column":42}},"1":{"start":{"line":5,"column":2},"end":{"line":9,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"3":{"start":{"line":7,"column":6},"end":{"line":7,"column":35}},"4":{"start":{"line":11,"column":2},"end":{"line":15,"column":4}},"5":{"start":{"line":13,"column":43},"end":{"line":13,"column":63}}},"fnMap":{"0":{"name":"deleteTheme","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":27}},"loc":{"start":{"line":3,"column":76},"end":{"line":16,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":38},"end":{"line":5,"column":39}},"loc":{"start":{"line":5,"column":49},"end":{"line":9,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":32},"end":{"line":13,"column":33}},"loc":{"start":{"line":13,"column":43},"end":{"line":13,"column":63}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},{"start":{},"end":{}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts","statementMap":{"0":{"start":{"line":10,"column":27},"end":{"line":10,"column":77}},"1":{"start":{"line":10,"column":62},"end":{"line":10,"column":76}},"2":{"start":{"line":11,"column":2},"end":{"line":16,"column":17}},"3":{"start":{"line":15,"column":60},"end":{"line":15,"column":120}},"4":{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},"5":{"start":{"line":18,"column":24},"end":{"line":18,"column":41}},"6":{"start":{"line":19,"column":16},"end":{"line":19,"column":46}},"7":{"start":{"line":20,"column":38},"end":{"line":20,"column":72}},"8":{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":49}},"10":{"start":{"line":24,"column":4},"end":{"line":26,"column":7}},"11":{"start":{"line":25,"column":6},"end":{"line":25,"column":46}},"12":{"start":{"line":28,"column":2},"end":{"line":31,"column":5}},"13":{"start":{"line":33,"column":2},"end":{"line":36,"column":4}}},"fnMap":{"0":{"name":"disconnectStyleFromTheme","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"loc":{"start":{"line":8,"column":87},"end":{"line":37,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":50},"end":{"line":10,"column":51}},"loc":{"start":{"line":10,"column":62},"end":{"line":10,"column":76}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":50},"end":{"line":15,"column":51}},"loc":{"start":{"line":15,"column":60},"end":{"line":15,"column":120}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":21},"end":{"line":24,"column":22}},"loc":{"start":{"line":24,"column":30},"end":{"line":26,"column":5}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":16,"column":17}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":16,"column":17}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":15,"column":123}},"type":"binary-expr","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":27}},{"start":{"line":13,"column":7},"end":{"line":13,"column":60}},{"start":{"line":14,"column":8},"end":{"line":14,"column":36}},{"start":{"line":14,"column":40},"end":{"line":14,"column":108}},{"start":{"line":15,"column":8},"end":{"line":15,"column":31}},{"start":{"line":15,"column":35},"end":{"line":15,"column":122}}],"line":12},"2":{"loc":{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},{"start":{"line":23,"column":9},"end":{"line":27,"column":3}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts","statementMap":{"0":{"start":{"line":9,"column":27},"end":{"line":9,"column":77}},"1":{"start":{"line":9,"column":62},"end":{"line":9,"column":76}},"2":{"start":{"line":10,"column":2},"end":{"line":13,"column":17}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":17}},"4":{"start":{"line":15,"column":24},"end":{"line":15,"column":41}},"5":{"start":{"line":16,"column":41},"end":{"line":16,"column":111}},"6":{"start":{"line":17,"column":2},"end":{"line":23,"column":3}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":52}},"8":{"start":{"line":20,"column":4},"end":{"line":22,"column":7}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":49}},"10":{"start":{"line":24,"column":2},"end":{"line":27,"column":5}},"11":{"start":{"line":29,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"disconnectVariableFromTheme","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":43}},"loc":{"start":{"line":8,"column":90},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":50},"end":{"line":9,"column":51}},"loc":{"start":{"line":9,"column":62},"end":{"line":9,"column":76}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":21},"end":{"line":20,"column":22}},"loc":{"start":{"line":20,"column":30},"end":{"line":22,"column":5}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":13,"column":17}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":13,"column":17}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":12,"column":63}},"type":"binary-expr","locations":[{"start":{"line":11,"column":4},"end":{"line":11,"column":27}},{"start":{"line":12,"column":7},"end":{"line":12,"column":63}}],"line":11},"2":{"loc":{"start":{"line":16,"column":47},"end":{"line":16,"column":108}},"type":"binary-expr","locations":[{"start":{"line":16,"column":47},"end":{"line":16,"column":102}},{"start":{"line":16,"column":106},"end":{"line":16,"column":108}}],"line":16},"3":{"loc":{"start":{"line":17,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":23,"column":3}},{"start":{"line":19,"column":9},"end":{"line":23,"column":3}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts","statementMap":{"0":{"start":{"line":4,"column":24},"end":{"line":4,"column":41}},"1":{"start":{"line":5,"column":2},"end":{"line":16,"column":5}},"2":{"start":{"line":6,"column":26},"end":{"line":6,"column":53}},"3":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"4":{"start":{"line":8,"column":6},"end":{"line":10,"column":9}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":66}},"6":{"start":{"line":9,"column":40},"end":{"line":9,"column":66}},"7":{"start":{"line":12,"column":4},"end":{"line":15,"column":6}},"8":{"start":{"line":18,"column":2},"end":{"line":21,"column":4}}},"fnMap":{"0":{"name":"removeStyleIdsFromThemes","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":92},"end":{"line":22,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":35},"end":{"line":16,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":44},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":64},"end":{"line":10,"column":7}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":66}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":66}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":41}},"1":{"start":{"line":6,"column":2},"end":{"line":17,"column":5}},"2":{"start":{"line":7,"column":26},"end":{"line":7,"column":60}},"3":{"start":{"line":8,"column":4},"end":{"line":12,"column":5}},"4":{"start":{"line":9,"column":6},"end":{"line":11,"column":9}},"5":{"start":{"line":10,"column":8},"end":{"line":10,"column":52}},"6":{"start":{"line":10,"column":26},"end":{"line":10,"column":52}},"7":{"start":{"line":13,"column":4},"end":{"line":16,"column":6}},"8":{"start":{"line":18,"column":2},"end":{"line":21,"column":4}}},"fnMap":{"0":{"name":"removeStyleNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"loc":{"start":{"line":4,"column":104},"end":{"line":22,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":35},"end":{"line":17,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":44},"end":{"line":9,"column":45}},"loc":{"start":{"line":9,"column":55},"end":{"line":11,"column":7}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":12,"column":5}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":83}},"type":"binary-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":66}},{"start":{"line":8,"column":70},"end":{"line":8,"column":83}}],"line":8},"2":{"loc":{"start":{"line":10,"column":8},"end":{"line":10,"column":52}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":52}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":20},"end":{"line":16,"column":4}},"1":{"start":{"line":6,"column":26},"end":{"line":6,"column":63}},"2":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"3":{"start":{"line":8,"column":6},"end":{"line":10,"column":9}},"4":{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},"5":{"start":{"line":9,"column":26},"end":{"line":9,"column":52}},"6":{"start":{"line":12,"column":4},"end":{"line":15,"column":6}},"7":{"start":{"line":17,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"removeVariableNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":45}},"loc":{"start":{"line":4,"column":107},"end":{"line":21,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":37},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":48},"end":{"line":16,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":44},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":55},"end":{"line":10,"column":7}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":7,"column":8},"end":{"line":7,"column":83}},"type":"binary-expr","locations":[{"start":{"line":7,"column":8},"end":{"line":7,"column":66}},{"start":{"line":7,"column":70},"end":{"line":7,"column":83}}],"line":7},"2":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":41}},"1":{"start":{"line":6,"column":26},"end":{"line":9,"column":8}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":37}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":15}},"4":{"start":{"line":10,"column":2},"end":{"line":24,"column":5}},"5":{"start":{"line":11,"column":26},"end":{"line":11,"column":53}},"6":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"7":{"start":{"line":13,"column":6},"end":{"line":18,"column":9}},"8":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":15,"column":10},"end":{"line":15,"column":75}},"10":{"start":{"line":16,"column":10},"end":{"line":16,"column":40}},"11":{"start":{"line":20,"column":4},"end":{"line":23,"column":6}},"12":{"start":{"line":26,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"renameStyleIdsToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":137},"end":{"line":30,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":72},"end":{"line":6,"column":73}},"loc":{"start":{"line":6,"column":87},"end":{"line":9,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":35},"end":{"line":24,"column":3}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":44},"end":{"line":13,"column":45}},"loc":{"start":{"line":13,"column":68},"end":{"line":18,"column":7}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":14,"column":12},"end":{"line":14,"column":66}},"type":"binary-expr","locations":[{"start":{"line":14,"column":12},"end":{"line":14,"column":38}},{"start":{"line":14,"column":42},"end":{"line":14,"column":66}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":41}},"1":{"start":{"line":6,"column":26},"end":{"line":9,"column":8}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":37}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":15}},"4":{"start":{"line":10,"column":2},"end":{"line":24,"column":5}},"5":{"start":{"line":11,"column":26},"end":{"line":11,"column":60}},"6":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"7":{"start":{"line":13,"column":6},"end":{"line":18,"column":9}},"8":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":15,"column":10},"end":{"line":15,"column":67}},"10":{"start":{"line":16,"column":10},"end":{"line":16,"column":36}},"11":{"start":{"line":20,"column":4},"end":{"line":23,"column":6}},"12":{"start":{"line":25,"column":2},"end":{"line":28,"column":4}}},"fnMap":{"0":{"name":"renameStyleNamesToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":119},"end":{"line":29,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":72},"end":{"line":6,"column":73}},"loc":{"start":{"line":6,"column":87},"end":{"line":9,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":35},"end":{"line":24,"column":3}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":44},"end":{"line":13,"column":45}},"loc":{"start":{"line":13,"column":55},"end":{"line":18,"column":7}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},{"start":{},"end":{}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSet.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":60}},"2":{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},"3":{"start":{"line":19,"column":2},"end":{"line":26,"column":4}},"4":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}}},"fnMap":{"0":{"name":"renameTokenSet","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":30}},"loc":{"start":{"line":10,"column":77},"end":{"line":27,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":13,"column":36}},"type":"binary-expr","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":52}},{"start":{"line":13,"column":7},"end":{"line":13,"column":36}}],"line":12},"2":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"type":"cond-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":34}},{"start":{"line":24,"column":10},"end":{"line":24,"column":29}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":62}},"2":{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},"3":{"start":{"line":19,"column":2},"end":{"line":26,"column":4}},"4":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}}},"fnMap":{"0":{"name":"renameTokenSetFolder","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":36}},"loc":{"start":{"line":10,"column":83},"end":{"line":27,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":13,"column":36}},"type":"binary-expr","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":52}},{"start":{"line":13,"column":7},"end":{"line":13,"column":36}}],"line":12},"2":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"type":"cond-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":87}},{"start":{"line":24,"column":10},"end":{"line":24,"column":29}}],"line":22},"3":{"loc":{"start":{"line":22,"column":6},"end":{"line":22,"column":81}},"type":"binary-expr","locations":[{"start":{"line":22,"column":6},"end":{"line":22,"column":41}},{"start":{"line":22,"column":45},"end":{"line":22,"column":81}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":9,"column":24},"end":{"line":9,"column":41}},"1":{"start":{"line":10,"column":27},"end":{"line":10,"column":65}},"2":{"start":{"line":11,"column":2},"end":{"line":11,"column":80}},"3":{"start":{"line":11,"column":36},"end":{"line":11,"column":78}},"4":{"start":{"line":12,"column":2},"end":{"line":27,"column":5}},"5":{"start":{"line":13,"column":26},"end":{"line":13,"column":56}},"6":{"start":{"line":14,"column":4},"end":{"line":22,"column":5}},"7":{"start":{"line":15,"column":6},"end":{"line":21,"column":9}},"8":{"start":{"line":16,"column":27},"end":{"line":16,"column":52}},"9":{"start":{"line":17,"column":8},"end":{"line":20,"column":9}},"10":{"start":{"line":18,"column":10},"end":{"line":18,"column":65}},"11":{"start":{"line":19,"column":10},"end":{"line":19,"column":36}},"12":{"start":{"line":23,"column":4},"end":{"line":26,"column":6}},"13":{"start":{"line":29,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"renameVariableIdsToTheme","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"loc":{"start":{"line":8,"column":111},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":36},"end":{"line":11,"column":78}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":35},"end":{"line":27,"column":3}},"line":12},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":44},"end":{"line":15,"column":45}},"loc":{"start":{"line":15,"column":67},"end":{"line":21,"column":7}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":17,"column":8},"end":{"line":20,"column":9}},"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":20,"column":9}},{"start":{},"end":{}}],"line":17},"2":{"loc":{"start":{"line":17,"column":12},"end":{"line":17,"column":69}},"type":"binary-expr","locations":[{"start":{"line":17,"column":12},"end":{"line":17,"column":22}},{"start":{"line":17,"column":26},"end":{"line":17,"column":69}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts","statementMap":{"0":{"start":{"line":5,"column":26},"end":{"line":8,"column":8}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":37}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":15}},"3":{"start":{"line":9,"column":20},"end":{"line":23,"column":4}},"4":{"start":{"line":10,"column":39},"end":{"line":10,"column":69}},"5":{"start":{"line":11,"column":4},"end":{"line":18,"column":5}},"6":{"start":{"line":12,"column":6},"end":{"line":17,"column":9}},"7":{"start":{"line":13,"column":8},"end":{"line":16,"column":9}},"8":{"start":{"line":14,"column":10},"end":{"line":14,"column":93}},"9":{"start":{"line":15,"column":10},"end":{"line":15,"column":49}},"10":{"start":{"line":19,"column":4},"end":{"line":22,"column":6}},"11":{"start":{"line":24,"column":2},"end":{"line":27,"column":4}}},"fnMap":{"0":{"name":"renameVariableNamesToThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":116},"end":{"line":28,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":72},"end":{"line":5,"column":73}},"loc":{"start":{"line":5,"column":87},"end":{"line":8,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":37},"end":{"line":9,"column":38}},"loc":{"start":{"line":9,"column":48},"end":{"line":23,"column":3}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":57},"end":{"line":12,"column":58}},"loc":{"start":{"line":12,"column":68},"end":{"line":17,"column":7}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":13,"column":8},"end":{"line":16,"column":9}},"type":"if","locations":[{"start":{"line":13,"column":8},"end":{"line":16,"column":9}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/saveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/saveTheme.ts","statementMap":{"0":{"start":{"line":19,"column":21},"end":{"line":19,"column":29}},"1":{"start":{"line":20,"column":18},"end":{"line":20,"column":53}},"2":{"start":{"line":21,"column":24},"end":{"line":21,"column":74}},"3":{"start":{"line":22,"column":28},"end":{"line":25,"column":3}},"4":{"start":{"line":24,"column":31},"end":{"line":24,"column":65}},"5":{"start":{"line":26,"column":27},"end":{"line":26,"column":82}},"6":{"start":{"line":26,"column":61},"end":{"line":26,"column":81}},"7":{"start":{"line":27,"column":21},"end":{"line":27,"column":83}},"8":{"start":{"line":29,"column":24},"end":{"line":29,"column":41}},"9":{"start":{"line":30,"column":2},"end":{"line":37,"column":5}},"10":{"start":{"line":39,"column":25},"end":{"line":39,"column":42}},"11":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"12":{"start":{"line":41,"column":4},"end":{"line":45,"column":7}},"13":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"14":{"start":{"line":43,"column":8},"end":{"line":43,"column":37}},"15":{"start":{"line":47,"column":4},"end":{"line":47,"column":70}},"16":{"start":{"line":49,"column":32},"end":{"line":52,"column":3}},"17":{"start":{"line":54,"column":2},"end":{"line":59,"column":3}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":83}},"19":{"start":{"line":61,"column":2},"end":{"line":61,"column":19}}},"fnMap":{"0":{"name":"saveTheme","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":25}},"loc":{"start":{"line":18,"column":72},"end":{"line":62,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":14},"end":{"line":24,"column":15}},"loc":{"start":{"line":24,"column":31},"end":{"line":24,"column":65}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":50},"end":{"line":26,"column":51}},"loc":{"start":{"line":26,"column":61},"end":{"line":26,"column":81}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":40},"end":{"line":41,"column":41}},"loc":{"start":{"line":41,"column":51},"end":{"line":45,"column":5}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":18},"end":{"line":20,"column":53}},"type":"binary-expr","locations":[{"start":{"line":20,"column":18},"end":{"line":20,"column":25}},{"start":{"line":20,"column":29},"end":{"line":20,"column":53}}],"line":20},"1":{"loc":{"start":{"line":27,"column":21},"end":{"line":27,"column":83}},"type":"cond-expr","locations":[{"start":{"line":27,"column":45},"end":{"line":27,"column":61}},{"start":{"line":27,"column":64},"end":{"line":27,"column":83}}],"line":27},"2":{"loc":{"start":{"line":34,"column":27},"end":{"line":34,"column":86}},"type":"binary-expr","locations":[{"start":{"line":34,"column":27},"end":{"line":34,"column":80}},{"start":{"line":34,"column":84},"end":{"line":34,"column":86}}],"line":34},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":48}},"type":"cond-expr","locations":[{"start":{"line":36,"column":22},"end":{"line":36,"column":43}},{"start":{"line":36,"column":46},"end":{"line":36,"column":48}}],"line":36},"4":{"loc":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":9},"end":{"line":48,"column":3}}],"line":40},"5":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":42},"6":{"loc":{"start":{"line":47,"column":19},"end":{"line":47,"column":58}},"type":"binary-expr","locations":[{"start":{"line":47,"column":19},"end":{"line":47,"column":30}},{"start":{"line":47,"column":34},"end":{"line":47,"column":58}}],"line":47},"7":{"loc":{"start":{"line":54,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":54},"8":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":33}},"type":"binary-expr","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":19}},{"start":{"line":54,"column":23},"end":{"line":54,"column":33}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setActiveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setActiveTheme.ts","statementMap":{"0":{"start":{"line":8,"column":32},"end":{"line":8,"column":121}},"1":{"start":{"line":8,"column":63},"end":{"line":8,"column":120}},"2":{"start":{"line":8,"column":105},"end":{"line":8,"column":119}},"3":{"start":{"line":10,"column":60},"end":{"line":10,"column":62}},"4":{"start":{"line":11,"column":2},"end":{"line":17,"column":5}},"5":{"start":{"line":12,"column":4},"end":{"line":16,"column":7}},"6":{"start":{"line":13,"column":6},"end":{"line":15,"column":7}},"7":{"start":{"line":14,"column":8},"end":{"line":14,"column":45}},"8":{"start":{"line":18,"column":27},"end":{"line":28,"column":5}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":76}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":43}},"11":{"start":{"line":29,"column":2},"end":{"line":33,"column":4}}},"fnMap":{"0":{"name":"setActiveTheme","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":30}},"loc":{"start":{"line":6,"column":155},"end":{"line":34,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":52},"end":{"line":8,"column":53}},"loc":{"start":{"line":8,"column":63},"end":{"line":8,"column":120}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":98},"end":{"line":8,"column":99}},"loc":{"start":{"line":8,"column":105},"end":{"line":8,"column":119}},"line":8},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":32},"end":{"line":11,"column":33}},"loc":{"start":{"line":11,"column":43},"end":{"line":17,"column":3}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":52},"end":{"line":12,"column":53}},"loc":{"start":{"line":12,"column":76},"end":{"line":16,"column":5}},"line":12},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":36},"end":{"line":20,"column":37}},"loc":{"start":{"line":21,"column":8},"end":{"line":21,"column":76}},"line":21},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":36},"end":{"line":25,"column":37}},"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":43}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":15,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":15,"column":7}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":18,"column":27},"end":{"line":28,"column":5}},"type":"cond-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":23,"column":5}},{"start":{"line":24,"column":6},"end":{"line":28,"column":5}}],"line":18},"2":{"loc":{"start":{"line":21,"column":19},"end":{"line":21,"column":75}},"type":"binary-expr","locations":[{"start":{"line":21,"column":19},"end":{"line":21,"column":48}},{"start":{"line":21,"column":52},"end":{"line":21,"column":75}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setDefaultTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setDefaultTokens.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":15}}},"fnMap":{"0":{"name":"setDefaultTokens","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":64},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setEmptyTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setEmptyTokens.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":15}}},"fnMap":{"0":{"name":"setEmptyTokens","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":62},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setTokenData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setTokenData.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":17}},"2":{"start":{"line":16,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":52}},"4":{"start":{"line":19,"column":4},"end":{"line":19,"column":46}},"5":{"start":{"line":22,"column":21},"end":{"line":22,"column":89}},"6":{"start":{"line":23,"column":21},"end":{"line":23,"column":89}},"7":{"start":{"line":25,"column":32},"end":{"line":25,"column":51}},"8":{"start":{"line":26,"column":24},"end":{"line":28,"column":3}},"9":{"start":{"line":27,"column":44},"end":{"line":27,"column":115}},"10":{"start":{"line":29,"column":25},"end":{"line":29,"column":44}},"11":{"start":{"line":30,"column":2},"end":{"line":34,"column":5}},"12":{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},"13":{"start":{"line":31,"column":37},"end":{"line":31,"column":57}},"14":{"start":{"line":32,"column":6},"end":{"line":32,"column":35}},"15":{"start":{"line":36,"column":22},"end":{"line":36,"column":113}},"16":{"start":{"line":39,"column":26},"end":{"line":39,"column":160}},"17":{"start":{"line":43,"column":2},"end":{"line":64,"column":4}},"18":{"start":{"line":47,"column":51},"end":{"line":54,"column":5}},"19":{"start":{"line":51,"column":33},"end":{"line":51,"column":110}}},"fnMap":{"0":{"name":"setTokenData","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":28}},"loc":{"start":{"line":11,"column":90},"end":{"line":65,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":30},"end":{"line":27,"column":31}},"loc":{"start":{"line":27,"column":44},"end":{"line":27,"column":115}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":47},"end":{"line":30,"column":48}},"loc":{"start":{"line":30,"column":73},"end":{"line":34,"column":3}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":30},"end":{"line":31,"column":31}},"loc":{"start":{"line":31,"column":37},"end":{"line":31,"column":57}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":47,"column":39},"end":{"line":47,"column":40}},"loc":{"start":{"line":47,"column":51},"end":{"line":54,"column":5}},"line":47},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":10},"end":{"line":51,"column":11}},"loc":{"start":{"line":51,"column":33},"end":{"line":51,"column":110}},"line":51}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":20,"column":3}},{"start":{"line":18,"column":9},"end":{"line":20,"column":3}}],"line":16},"2":{"loc":{"start":{"line":22,"column":21},"end":{"line":22,"column":89}},"type":"cond-expr","locations":[{"start":{"line":22,"column":38},"end":{"line":22,"column":70}},{"start":{"line":22,"column":73},"end":{"line":22,"column":89}}],"line":22},"3":{"loc":{"start":{"line":23,"column":21},"end":{"line":23,"column":89}},"type":"cond-expr","locations":[{"start":{"line":23,"column":38},"end":{"line":23,"column":70}},{"start":{"line":23,"column":73},"end":{"line":23,"column":89}}],"line":23},"4":{"loc":{"start":{"line":27,"column":55},"end":{"line":27,"column":114}},"type":"binary-expr","locations":[{"start":{"line":27,"column":55},"end":{"line":27,"column":87}},{"start":{"line":27,"column":91},"end":{"line":27,"column":114}}],"line":27},"5":{"loc":{"start":{"line":30,"column":17},"end":{"line":30,"column":37}},"type":"binary-expr","locations":[{"start":{"line":30,"column":17},"end":{"line":30,"column":31}},{"start":{"line":30,"column":35},"end":{"line":30,"column":37}}],"line":30},"6":{"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":76}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":58}},{"start":{"line":31,"column":62},"end":{"line":31,"column":76}}],"line":31},"8":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":113}},"type":"cond-expr","locations":[{"start":{"line":36,"column":54},"end":{"line":36,"column":68}},{"start":{"line":36,"column":71},"end":{"line":36,"column":113}}],"line":36},"9":{"loc":{"start":{"line":39,"column":26},"end":{"line":39,"column":160}},"type":"cond-expr","locations":[{"start":{"line":39,"column":53},"end":{"line":39,"column":136}},{"start":{"line":39,"column":139},"end":{"line":39,"column":160}}],"line":39},"10":{"loc":{"start":{"line":47,"column":13},"end":{"line":47,"column":33}},"type":"binary-expr","locations":[{"start":{"line":47,"column":13},"end":{"line":47,"column":27}},{"start":{"line":47,"column":31},"end":{"line":47,"column":33}}],"line":47},"11":{"loc":{"start":{"line":51,"column":33},"end":{"line":51,"column":110}},"type":"binary-expr","locations":[{"start":{"line":51,"column":33},"end":{"line":51,"column":72}},{"start":{"line":51,"column":76},"end":{"line":51,"column":110}}],"line":51},"12":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":37}},"type":"binary-expr","locations":[{"start":{"line":55,"column":17},"end":{"line":55,"column":31}},{"start":{"line":55,"column":35},"end":{"line":55,"column":37}}],"line":55},"13":{"loc":{"start":{"line":56,"column":8},"end":{"line":60,"column":7}},"type":"cond-expr","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":10}},{"start":{"line":58,"column":8},"end":{"line":60,"column":7}}],"line":56},"14":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":97}},"type":"cond-expr","locations":[{"start":{"line":59,"column":56},"end":{"line":59,"column":64}},{"start":{"line":59,"column":67},"end":{"line":59,"column":97}}],"line":59},"15":{"loc":{"start":{"line":61,"column":18},"end":{"line":61,"column":100}},"type":"cond-expr","locations":[{"start":{"line":61,"column":50},"end":{"line":61,"column":84}},{"start":{"line":61,"column":87},"end":{"line":61,"column":100}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts","statementMap":{"0":{"start":{"line":6,"column":30},"end":{"line":9,"column":3}},"1":{"start":{"line":8,"column":30},"end":{"line":8,"column":59}},"2":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":12,"column":4},"end":{"line":19,"column":6}},"4":{"start":{"line":17,"column":59},"end":{"line":17,"column":93}},"5":{"start":{"line":22,"column":2},"end":{"line":30,"column":4}},"6":{"start":{"line":27,"column":57},"end":{"line":27,"column":92}}},"fnMap":{"0":{"name":"toggleManyTokenSets","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":35}},"loc":{"start":{"line":5,"column":101},"end":{"line":31,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":14},"end":{"line":8,"column":15}},"loc":{"start":{"line":8,"column":30},"end":{"line":8,"column":59}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":44},"end":{"line":17,"column":45}},"loc":{"start":{"line":17,"column":59},"end":{"line":17,"column":93}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":42},"end":{"line":27,"column":43}},"loc":{"start":{"line":27,"column":57},"end":{"line":27,"column":92}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":17,"column":4}}},"fnMap":{"0":{"name":"toggleUsedTokenSet","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"loc":{"start":{"line":4,"column":84},"end":{"line":18,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":18},"end":{"line":15,"column":33}},"type":"cond-expr","locations":[{"start":{"line":14,"column":10},"end":{"line":14,"column":32}},{"start":{"line":15,"column":10},"end":{"line":15,"column":33}}],"line":13}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts","statementMap":{"0":{"start":{"line":6,"column":42},"end":{"line":6,"column":44}},"1":{"start":{"line":7,"column":2},"end":{"line":26,"column":5}},"2":{"start":{"line":8,"column":4},"end":{"line":25,"column":5}},"3":{"start":{"line":9,"column":6},"end":{"line":12,"column":9}},"4":{"start":{"line":13,"column":11},"end":{"line":25,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"6":{"start":{"line":15,"column":8},"end":{"line":18,"column":11}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":27}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":34}},"9":{"start":{"line":24,"column":6},"end":{"line":24,"column":32}},"10":{"start":{"line":28,"column":25},"end":{"line":28,"column":42}},"11":{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},"12":{"start":{"line":30,"column":4},"end":{"line":30,"column":92}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":42}},"14":{"start":{"line":33,"column":32},"end":{"line":37,"column":3}},"15":{"start":{"line":39,"column":2},"end":{"line":39,"column":19}}},"fnMap":{"0":{"name":"updateThemeGroupName","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":36}},"loc":{"start":{"line":5,"column":112},"end":{"line":40,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":23},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":34},"end":{"line":26,"column":3}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":25,"column":5}},{"start":{"line":13,"column":11},"end":{"line":25,"column":5}}],"line":8},"1":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":66}},"type":"binary-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":49}},{"start":{"line":8,"column":53},"end":{"line":8,"column":66}}],"line":8},"2":{"loc":{"start":{"line":11,"column":12},"end":{"line":11,"column":55}},"type":"cond-expr","locations":[{"start":{"line":11,"column":27},"end":{"line":11,"column":50}},{"start":{"line":11,"column":53},"end":{"line":11,"column":55}}],"line":11},"3":{"loc":{"start":{"line":13,"column":11},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":11},"end":{"line":25,"column":5}},{"start":{"line":23,"column":11},"end":{"line":25,"column":5}}],"line":13},"4":{"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":88}},"type":"binary-expr","locations":[{"start":{"line":13,"column":15},"end":{"line":13,"column":56}},{"start":{"line":13,"column":60},"end":{"line":13,"column":88}}],"line":13},"5":{"loc":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},{"start":{"line":19,"column":13},"end":{"line":22,"column":7}}],"line":14},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":30,"column":19},"end":{"line":30,"column":59}},"type":"binary-expr","locations":[{"start":{"line":30,"column":19},"end":{"line":30,"column":31}},{"start":{"line":30,"column":35},"end":{"line":30,"column":59}}],"line":30}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/setLicenseStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/setLicenseStatus.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":4}}},"fnMap":{"0":{"name":"setLicenseStatus","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":32}},"loc":{"start":{"line":4,"column":86},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/file.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/file.tsx","statementMap":{"0":{"start":{"line":8,"column":20},"end":{"line":8,"column":34}},"1":{"start":{"line":10,"column":31},"end":{"line":15,"column":17}},"2":{"start":{"line":11,"column":26},"end":{"line":11,"column":53}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":51}},"4":{"start":{"line":13,"column":19},"end":{"line":13,"column":51}},"5":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"6":{"start":{"line":17,"column":40},"end":{"line":34,"column":4}},"7":{"start":{"line":18,"column":20},"end":{"line":18,"column":47}},"8":{"start":{"line":19,"column":4},"end":{"line":30,"column":5}},"9":{"start":{"line":20,"column":22},"end":{"line":20,"column":46}},"10":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"11":{"start":{"line":22,"column":8},"end":{"line":22,"column":23}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":30}},"13":{"start":{"line":26,"column":6},"end":{"line":29,"column":8}},"14":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"15":{"start":{"line":36,"column":2},"end":{"line":40,"column":5}},"16":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}}},"fnMap":{"0":{"name":"useFile","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":31}},"loc":{"start":{"line":7,"column":34},"end":{"line":41,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":43},"end":{"line":10,"column":44}},"loc":{"start":{"line":10,"column":64},"end":{"line":15,"column":3}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":52},"end":{"line":17,"column":53}},"loc":{"start":{"line":17,"column":115},"end":{"line":32,"column":3}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":18}},"loc":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":51}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":51}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/getRepositoryInformation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/getRepositoryInformation.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":23}},"1":{"start":{"line":3,"column":16},"end":{"line":3,"column":18}},"2":{"start":{"line":5,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":6,"column":19},"end":{"line":6,"column":40}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":45}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":25}},"6":{"start":{"line":11,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"getRepositoryInformation","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":40}},"loc":{"start":{"line":1,"column":104},"end":{"line":15,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":5,"column":6},"end":{"line":5,"column":50}},"type":"binary-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":5,"column":16}},{"start":{"line":5,"column":20},"end":{"line":5,"column":50}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/jsonbin.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/jsonbin.tsx","statementMap":{"0":{"start":{"line":26,"column":25},"end":{"line":26,"column":32}},"1":{"start":{"line":27,"column":2},"end":{"line":70,"column":3}},"2":{"start":{"line":28,"column":4},"end":{"line":28,"column":72}},"3":{"start":{"line":28,"column":24},"end":{"line":28,"column":72}},"4":{"start":{"line":30,"column":20},"end":{"line":30,"column":55}},"5":{"start":{"line":32,"column":20},"end":{"line":40,"column":5}},"6":{"start":{"line":42,"column":4},"end":{"line":66,"column":5}},"7":{"start":{"line":43,"column":27},"end":{"line":43,"column":51}},"8":{"start":{"line":44,"column":6},"end":{"line":51,"column":7}},"9":{"start":{"line":45,"column":8},"end":{"line":45,"column":83}},"10":{"start":{"line":46,"column":8},"end":{"line":46,"column":74}},"11":{"start":{"line":47,"column":8},"end":{"line":50,"column":10}},"12":{"start":{"line":53,"column":25},"end":{"line":53,"column":102}},"13":{"start":{"line":54,"column":6},"end":{"line":63,"column":7}},"14":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"15":{"start":{"line":56,"column":10},"end":{"line":56,"column":25}},"16":{"start":{"line":62,"column":8},"end":{"line":62,"column":101}},"17":{"start":{"line":64,"column":11},"end":{"line":66,"column":5}},"18":{"start":{"line":65,"column":6},"end":{"line":65,"column":21}},"19":{"start":{"line":68,"column":4},"end":{"line":68,"column":79}},"20":{"start":{"line":69,"column":4},"end":{"line":69,"column":45}},"21":{"start":{"line":72,"column":2},"end":{"line":72,"column":14}},"22":{"start":{"line":76,"column":19},"end":{"line":76,"column":42}},"23":{"start":{"line":77,"column":29},"end":{"line":77,"column":41}},"24":{"start":{"line":78,"column":17},"end":{"line":78,"column":44}},"25":{"start":{"line":79,"column":17},"end":{"line":79,"column":48}},"26":{"start":{"line":80,"column":22},"end":{"line":80,"column":54}},"27":{"start":{"line":81,"column":24},"end":{"line":81,"column":57}},"28":{"start":{"line":82,"column":35},"end":{"line":82,"column":80}},"29":{"start":{"line":84,"column":27},"end":{"line":121,"column":32}},"30":{"start":{"line":85,"column":41},"end":{"line":85,"column":48}},"31":{"start":{"line":86,"column":22},"end":{"line":86,"column":46}},"32":{"start":{"line":87,"column":4},"end":{"line":119,"column":5}},"33":{"start":{"line":88,"column":21},"end":{"line":88,"column":78}},"34":{"start":{"line":90,"column":6},"end":{"line":115,"column":7}},"35":{"start":{"line":91,"column":8},"end":{"line":101,"column":11}},"36":{"start":{"line":102,"column":8},"end":{"line":111,"column":11}},"37":{"start":{"line":112,"column":8},"end":{"line":112,"column":70}},"38":{"start":{"line":114,"column":8},"end":{"line":114,"column":34}},"39":{"start":{"line":117,"column":6},"end":{"line":117,"column":83}},"40":{"start":{"line":118,"column":6},"end":{"line":118,"column":23}},"41":{"start":{"line":120,"column":4},"end":{"line":120,"column":16}},"42":{"start":{"line":124,"column":32},"end":{"line":174,"column":16}},"43":{"start":{"line":127,"column":8},"end":{"line":127,"column":15}},"44":{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},"45":{"start":{"line":129,"column":6},"end":{"line":132,"column":8}},"46":{"start":{"line":134,"column":4},"end":{"line":173,"column":5}},"47":{"start":{"line":135,"column":22},"end":{"line":135,"column":57}},"48":{"start":{"line":136,"column":19},"end":{"line":136,"column":43}},"49":{"start":{"line":137,"column":6},"end":{"line":137,"column":68}},"50":{"start":{"line":139,"column":6},"end":{"line":148,"column":9}},"51":{"start":{"line":149,"column":6},"end":{"line":154,"column":7}},"52":{"start":{"line":150,"column":8},"end":{"line":153,"column":10}},"53":{"start":{"line":155,"column":6},"end":{"line":163,"column":7}},"54":{"start":{"line":156,"column":8},"end":{"line":156,"column":53}},"55":{"start":{"line":157,"column":8},"end":{"line":162,"column":10}},"56":{"start":{"line":164,"column":6},"end":{"line":164,"column":64}},"57":{"start":{"line":165,"column":6},"end":{"line":165,"column":18}},"58":{"start":{"line":167,"column":6},"end":{"line":167,"column":74}},"59":{"start":{"line":168,"column":6},"end":{"line":168,"column":31}},"60":{"start":{"line":169,"column":6},"end":{"line":172,"column":8}},"61":{"start":{"line":176,"column":32},"end":{"line":233,"column":4}},"62":{"start":{"line":179,"column":8},"end":{"line":179,"column":15}},"63":{"start":{"line":180,"column":4},"end":{"line":185,"column":5}},"64":{"start":{"line":181,"column":6},"end":{"line":184,"column":8}},"65":{"start":{"line":187,"column":20},"end":{"line":193,"column":6}},"66":{"start":{"line":194,"column":4},"end":{"line":199,"column":5}},"67":{"start":{"line":195,"column":6},"end":{"line":198,"column":8}},"68":{"start":{"line":200,"column":4},"end":{"line":225,"column":5}},"69":{"start":{"line":201,"column":6},"end":{"line":203,"column":9}},"70":{"start":{"line":204,"column":6},"end":{"line":209,"column":9}},"71":{"start":{"line":210,"column":6},"end":{"line":216,"column":9}},"72":{"start":{"line":217,"column":6},"end":{"line":221,"column":9}},"73":{"start":{"line":222,"column":38},"end":{"line":222,"column":177}},"74":{"start":{"line":223,"column":6},"end":{"line":223,"column":70}},"75":{"start":{"line":224,"column":6},"end":{"line":224,"column":21}},"76":{"start":{"line":226,"column":4},"end":{"line":226,"column":19}},"77":{"start":{"line":235,"column":2},"end":{"line":243,"column":5}},"78":{"start":{"line":235,"column":24},"end":{"line":239,"column":3}}},"fnMap":{"0":{"name":"updateJSONBinTokens","decl":{"start":{"line":23,"column":22},"end":{"line":23,"column":41}},"loc":{"start":{"line":25,"column":32},"end":{"line":73,"column":1}},"line":25},"1":{"name":"useJSONbin","decl":{"start":{"line":75,"column":16},"end":{"line":75,"column":26}},"loc":{"start":{"line":75,"column":29},"end":{"line":244,"column":1}},"line":75},"2":{"name":"(anonymous_2)","decl":{"start":{"line":84,"column":39},"end":{"line":84,"column":40}},"loc":{"start":{"line":84,"column":140},"end":{"line":121,"column":3}},"line":84},"3":{"name":"(anonymous_3)","decl":{"start":{"line":124,"column":44},"end":{"line":124,"column":45}},"loc":{"start":{"line":124,"column":175},"end":{"line":174,"column":3}},"line":124},"4":{"name":"(anonymous_4)","decl":{"start":{"line":176,"column":44},"end":{"line":176,"column":45}},"loc":{"start":{"line":176,"column":181},"end":{"line":227,"column":3}},"line":176},"5":{"name":"(anonymous_5)","decl":{"start":{"line":235,"column":17},"end":{"line":235,"column":18}},"loc":{"start":{"line":235,"column":24},"end":{"line":239,"column":3}},"line":235}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":38},"end":{"line":24,"column":57}},"type":"default-arg","locations":[{"start":{"line":24,"column":53},"end":{"line":24,"column":57}}],"line":24},"1":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":72}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":72}},{"start":{},"end":{}}],"line":28},"2":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":22}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":11}},{"start":{"line":28,"column":15},"end":{"line":28,"column":22}}],"line":28},"3":{"loc":{"start":{"line":37,"column":19},"end":{"line":37,"column":56}},"type":"binary-expr","locations":[{"start":{"line":37,"column":19},"end":{"line":37,"column":28}},{"start":{"line":37,"column":32},"end":{"line":37,"column":56}}],"line":37},"4":{"loc":{"start":{"line":42,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":66,"column":5}},{"start":{"line":64,"column":11},"end":{"line":66,"column":5}}],"line":42},"5":{"loc":{"start":{"line":44,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":51,"column":7}},{"start":{},"end":{}}],"line":44},"6":{"loc":{"start":{"line":53,"column":62},"end":{"line":53,"column":101}},"type":"binary-expr","locations":[{"start":{"line":53,"column":62},"end":{"line":53,"column":95}},{"start":{"line":53,"column":99},"end":{"line":53,"column":101}}],"line":53},"7":{"loc":{"start":{"line":54,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":63,"column":7}},{"start":{"line":58,"column":13},"end":{"line":63,"column":7}}],"line":54},"8":{"loc":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},{"start":{},"end":{}}],"line":55},"9":{"loc":{"start":{"line":64,"column":11},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":11},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":64},"10":{"loc":{"start":{"line":90,"column":6},"end":{"line":115,"column":7}},"type":"if","locations":[{"start":{"line":90,"column":6},"end":{"line":115,"column":7}},{"start":{},"end":{}}],"line":90},"11":{"loc":{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},{"start":{},"end":{}}],"line":128},"12":{"loc":{"start":{"line":128,"column":8},"end":{"line":128,"column":22}},"type":"binary-expr","locations":[{"start":{"line":128,"column":8},"end":{"line":128,"column":11}},{"start":{"line":128,"column":15},"end":{"line":128,"column":22}}],"line":128},"13":{"loc":{"start":{"line":149,"column":6},"end":{"line":154,"column":7}},"type":"if","locations":[{"start":{"line":149,"column":6},"end":{"line":154,"column":7}},{"start":{},"end":{}}],"line":149},"14":{"loc":{"start":{"line":155,"column":6},"end":{"line":163,"column":7}},"type":"if","locations":[{"start":{"line":155,"column":6},"end":{"line":163,"column":7}},{"start":{},"end":{}}],"line":155},"15":{"loc":{"start":{"line":155,"column":10},"end":{"line":155,"column":40}},"type":"binary-expr","locations":[{"start":{"line":155,"column":10},"end":{"line":155,"column":24}},{"start":{"line":155,"column":28},"end":{"line":155,"column":40}}],"line":155},"16":{"loc":{"start":{"line":180,"column":4},"end":{"line":185,"column":5}},"type":"if","locations":[{"start":{"line":180,"column":4},"end":{"line":185,"column":5}},{"start":{},"end":{}}],"line":180},"17":{"loc":{"start":{"line":180,"column":8},"end":{"line":180,"column":22}},"type":"binary-expr","locations":[{"start":{"line":180,"column":8},"end":{"line":180,"column":11}},{"start":{"line":180,"column":15},"end":{"line":180,"column":22}}],"line":180},"18":{"loc":{"start":{"line":194,"column":4},"end":{"line":199,"column":5}},"type":"if","locations":[{"start":{"line":194,"column":4},"end":{"line":199,"column":5}},{"start":{},"end":{}}],"line":194},"19":{"loc":{"start":{"line":200,"column":4},"end":{"line":225,"column":5}},"type":"if","locations":[{"start":{"line":200,"column":4},"end":{"line":225,"column":5}},{"start":{},"end":{}}],"line":200}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/url.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/url.tsx","statementMap":{"0":{"start":{"line":20,"column":19},"end":{"line":20,"column":42}},"1":{"start":{"line":21,"column":22},"end":{"line":21,"column":54}},"2":{"start":{"line":22,"column":24},"end":{"line":22,"column":57}},"3":{"start":{"line":24,"column":31},"end":{"line":26,"column":8}},"4":{"start":{"line":25,"column":4},"end":{"line":25,"column":51}},"5":{"start":{"line":29,"column":28},"end":{"line":95,"column":4}},"6":{"start":{"line":32,"column":8},"end":{"line":32,"column":15}},"7":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"8":{"start":{"line":34,"column":6},"end":{"line":37,"column":8}},"9":{"start":{"line":39,"column":20},"end":{"line":39,"column":49}},"10":{"start":{"line":41,"column":4},"end":{"line":88,"column":5}},"11":{"start":{"line":42,"column":22},"end":{"line":42,"column":46}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":41}},"13":{"start":{"line":44,"column":6},"end":{"line":49,"column":7}},"14":{"start":{"line":45,"column":8},"end":{"line":48,"column":10}},"15":{"start":{"line":50,"column":6},"end":{"line":80,"column":7}},"16":{"start":{"line":51,"column":8},"end":{"line":60,"column":11}},"17":{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},"18":{"start":{"line":63,"column":10},"end":{"line":68,"column":13}},"19":{"start":{"line":69,"column":10},"end":{"line":73,"column":13}},"20":{"start":{"line":74,"column":42},"end":{"line":74,"column":181}},"21":{"start":{"line":75,"column":10},"end":{"line":75,"column":74}},"22":{"start":{"line":76,"column":10},"end":{"line":76,"column":54}},"23":{"start":{"line":77,"column":10},"end":{"line":77,"column":25}},"24":{"start":{"line":79,"column":8},"end":{"line":79,"column":66}},"25":{"start":{"line":82,"column":6},"end":{"line":82,"column":70}},"26":{"start":{"line":83,"column":6},"end":{"line":83,"column":33}},"27":{"start":{"line":84,"column":6},"end":{"line":87,"column":8}},"28":{"start":{"line":89,"column":4},"end":{"line":89,"column":16}},"29":{"start":{"line":97,"column":2},"end":{"line":101,"column":5}},"30":{"start":{"line":97,"column":24},"end":{"line":99,"column":3}}},"fnMap":{"0":{"name":"useURL","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":30}},"loc":{"start":{"line":19,"column":33},"end":{"line":102,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":43},"end":{"line":24,"column":44}},"loc":{"start":{"line":25,"column":4},"end":{"line":25,"column":51}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":40},"end":{"line":29,"column":41}},"loc":{"start":{"line":29,"column":111},"end":{"line":90,"column":3}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":97,"column":17},"end":{"line":97,"column":18}},"loc":{"start":{"line":97,"column":24},"end":{"line":99,"column":3}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},{"start":{},"end":{}}],"line":33},"1":{"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":22}},"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":11}},{"start":{"line":33,"column":15},"end":{"line":33,"column":22}}],"line":33},"2":{"loc":{"start":{"line":44,"column":6},"end":{"line":49,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":49,"column":7}},{"start":{},"end":{}}],"line":44},"3":{"loc":{"start":{"line":50,"column":6},"end":{"line":80,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":80,"column":7}},{"start":{},"end":{}}],"line":50},"4":{"loc":{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},{"start":{},"end":{}}],"line":62}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/ado.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/ado.tsx","statementMap":{"0":{"start":{"line":28,"column":22},"end":{"line":316,"column":1}},"1":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"2":{"start":{"line":30,"column":17},"end":{"line":30,"column":48}},"3":{"start":{"line":31,"column":24},"end":{"line":31,"column":76}},"4":{"start":{"line":32,"column":22},"end":{"line":32,"column":54}},"5":{"start":{"line":33,"column":23},"end":{"line":33,"column":56}},"6":{"start":{"line":34,"column":35},"end":{"line":34,"column":80}},"7":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"8":{"start":{"line":36,"column":20},"end":{"line":36,"column":34}},"9":{"start":{"line":37,"column":22},"end":{"line":37,"column":34}},"10":{"start":{"line":38,"column":42},"end":{"line":38,"column":57}},"11":{"start":{"line":40,"column":31},"end":{"line":46,"column":17}},"12":{"start":{"line":41,"column":26},"end":{"line":41,"column":54}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"14":{"start":{"line":42,"column":26},"end":{"line":42,"column":69}},"15":{"start":{"line":43,"column":4},"end":{"line":43,"column":67}},"16":{"start":{"line":43,"column":24},"end":{"line":43,"column":67}},"17":{"start":{"line":44,"column":4},"end":{"line":44,"column":51}},"18":{"start":{"line":44,"column":19},"end":{"line":44,"column":51}},"19":{"start":{"line":45,"column":4},"end":{"line":45,"column":25}},"20":{"start":{"line":48,"column":24},"end":{"line":54,"column":15}},"21":{"start":{"line":49,"column":26},"end":{"line":52,"column":6}},"22":{"start":{"line":53,"column":4},"end":{"line":53,"column":25}},"23":{"start":{"line":56,"column":26},"end":{"line":131,"column":4}},"24":{"start":{"line":57,"column":20},"end":{"line":57,"column":49}},"25":{"start":{"line":59,"column":4},"end":{"line":59,"column":54}},"26":{"start":{"line":61,"column":25},"end":{"line":61,"column":74}},"27":{"start":{"line":62,"column":4},"end":{"line":117,"column":5}},"28":{"start":{"line":63,"column":46},"end":{"line":63,"column":58}},"29":{"start":{"line":64,"column":6},"end":{"line":116,"column":7}},"30":{"start":{"line":65,"column":8},"end":{"line":65,"column":61}},"31":{"start":{"line":65,"column":26},"end":{"line":65,"column":61}},"32":{"start":{"line":66,"column":25},"end":{"line":68,"column":9}},"33":{"start":{"line":69,"column":8},"end":{"line":76,"column":11}},"34":{"start":{"line":78,"column":8},"end":{"line":78,"column":104}},"35":{"start":{"line":79,"column":8},"end":{"line":79,"column":74}},"36":{"start":{"line":80,"column":8},"end":{"line":86,"column":11}},"37":{"start":{"line":87,"column":8},"end":{"line":91,"column":11}},"38":{"start":{"line":92,"column":25},"end":{"line":92,"column":54}},"39":{"start":{"line":93,"column":8},"end":{"line":93,"column":51}},"40":{"start":{"line":94,"column":40},"end":{"line":94,"column":110}},"41":{"start":{"line":95,"column":8},"end":{"line":95,"column":72}},"42":{"start":{"line":96,"column":8},"end":{"line":96,"column":41}},"43":{"start":{"line":98,"column":8},"end":{"line":102,"column":10}},"44":{"start":{"line":104,"column":8},"end":{"line":104,"column":26}},"45":{"start":{"line":105,"column":8},"end":{"line":105,"column":47}},"46":{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},"47":{"start":{"line":107,"column":10},"end":{"line":110,"column":12}},"48":{"start":{"line":112,"column":8},"end":{"line":115,"column":10}},"49":{"start":{"line":119,"column":4},"end":{"line":122,"column":6}},"50":{"start":{"line":133,"column":28},"end":{"line":138,"column":38}},"51":{"start":{"line":134,"column":20},"end":{"line":134,"column":49}},"52":{"start":{"line":135,"column":4},"end":{"line":135,"column":71}},"53":{"start":{"line":135,"column":45},"end":{"line":135,"column":71}},"54":{"start":{"line":136,"column":27},"end":{"line":136,"column":51}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":59}},"56":{"start":{"line":140,"column":28},"end":{"line":176,"column":4}},"57":{"start":{"line":141,"column":20},"end":{"line":141,"column":49}},"58":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"59":{"start":{"line":143,"column":6},"end":{"line":143,"column":40}},"60":{"start":{"line":145,"column":4},"end":{"line":145,"column":71}},"61":{"start":{"line":145,"column":45},"end":{"line":145,"column":71}},"62":{"start":{"line":147,"column":4},"end":{"line":147,"column":59}},"63":{"start":{"line":149,"column":4},"end":{"line":171,"column":5}},"64":{"start":{"line":150,"column":22},"end":{"line":150,"column":46}},"65":{"start":{"line":151,"column":6},"end":{"line":156,"column":7}},"66":{"start":{"line":152,"column":8},"end":{"line":155,"column":10}},"67":{"start":{"line":157,"column":6},"end":{"line":164,"column":7}},"68":{"start":{"line":159,"column":29},"end":{"line":159,"column":127}},"69":{"start":{"line":160,"column":8},"end":{"line":163,"column":10}},"70":{"start":{"line":166,"column":6},"end":{"line":166,"column":30}},"71":{"start":{"line":167,"column":6},"end":{"line":170,"column":8}},"72":{"start":{"line":172,"column":4},"end":{"line":172,"column":16}},"73":{"start":{"line":178,"column":28},"end":{"line":245,"column":4}},"74":{"start":{"line":179,"column":4},"end":{"line":236,"column":5}},"75":{"start":{"line":180,"column":22},"end":{"line":180,"column":51}},"76":{"start":{"line":181,"column":23},"end":{"line":181,"column":52}},"77":{"start":{"line":182,"column":6},"end":{"line":182,"column":49}},"78":{"start":{"line":183,"column":6},"end":{"line":188,"column":7}},"79":{"start":{"line":184,"column":8},"end":{"line":187,"column":10}},"80":{"start":{"line":190,"column":6},"end":{"line":190,"column":39}},"81":{"start":{"line":192,"column":22},"end":{"line":192,"column":46}},"82":{"start":{"line":193,"column":6},"end":{"line":198,"column":7}},"83":{"start":{"line":194,"column":8},"end":{"line":197,"column":10}},"84":{"start":{"line":199,"column":6},"end":{"line":227,"column":7}},"85":{"start":{"line":200,"column":8},"end":{"line":225,"column":9}},"86":{"start":{"line":205,"column":31},"end":{"line":205,"column":52}},"87":{"start":{"line":206,"column":10},"end":{"line":224,"column":11}},"88":{"start":{"line":207,"column":33},"end":{"line":207,"column":100}},"89":{"start":{"line":208,"column":12},"end":{"line":214,"column":15}},"90":{"start":{"line":215,"column":12},"end":{"line":219,"column":15}},"91":{"start":{"line":220,"column":44},"end":{"line":220,"column":128}},"92":{"start":{"line":221,"column":12},"end":{"line":221,"column":76}},"93":{"start":{"line":222,"column":12},"end":{"line":222,"column":58}},"94":{"start":{"line":223,"column":12},"end":{"line":223,"column":49}},"95":{"start":{"line":226,"column":8},"end":{"line":226,"column":23}},"96":{"start":{"line":228,"column":6},"end":{"line":228,"column":44}},"97":{"start":{"line":230,"column":6},"end":{"line":230,"column":70}},"98":{"start":{"line":231,"column":6},"end":{"line":231,"column":30}},"99":{"start":{"line":232,"column":6},"end":{"line":235,"column":8}},"100":{"start":{"line":247,"column":31},"end":{"line":288,"column":3}},"101":{"start":{"line":249,"column":29},"end":{"line":249,"column":49}},"102":{"start":{"line":250,"column":31},"end":{"line":250,"column":53}},"103":{"start":{"line":252,"column":6},"end":{"line":254,"column":7}},"104":{"start":{"line":253,"column":8},"end":{"line":253,"column":71}},"105":{"start":{"line":255,"column":19},"end":{"line":255,"column":51}},"106":{"start":{"line":257,"column":6},"end":{"line":272,"column":7}},"107":{"start":{"line":258,"column":8},"end":{"line":261,"column":11}},"108":{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},"109":{"start":{"line":263,"column":10},"end":{"line":263,"column":51}},"110":{"start":{"line":267,"column":8},"end":{"line":267,"column":110}},"111":{"start":{"line":268,"column":8},"end":{"line":271,"column":10}},"112":{"start":{"line":273,"column":6},"end":{"line":278,"column":8}},"113":{"start":{"line":290,"column":27},"end":{"line":294,"column":28}},"114":{"start":{"line":291,"column":20},"end":{"line":291,"column":49}},"115":{"start":{"line":292,"column":21},"end":{"line":292,"column":50}},"116":{"start":{"line":293,"column":4},"end":{"line":293,"column":20}},"117":{"start":{"line":296,"column":26},"end":{"line":299,"column":28}},"118":{"start":{"line":297,"column":20},"end":{"line":297,"column":49}},"119":{"start":{"line":298,"column":4},"end":{"line":298,"column":51}},"120":{"start":{"line":301,"column":2},"end":{"line":315,"column":5}},"121":{"start":{"line":301,"column":30},"end":{"line":308,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":28,"column":22},"end":{"line":28,"column":23}},"loc":{"start":{"line":28,"column":28},"end":{"line":316,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":49},"end":{"line":40,"column":50}},"loc":{"start":{"line":40,"column":78},"end":{"line":46,"column":3}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":42},"end":{"line":48,"column":43}},"loc":{"start":{"line":48,"column":54},"end":{"line":54,"column":3}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":44},"end":{"line":56,"column":45}},"loc":{"start":{"line":56,"column":135},"end":{"line":123,"column":3}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":133,"column":46},"end":{"line":133,"column":47}},"loc":{"start":{"line":133,"column":122},"end":{"line":138,"column":3}},"line":133},"5":{"name":"(anonymous_5)","decl":{"start":{"line":140,"column":46},"end":{"line":140,"column":47}},"loc":{"start":{"line":140,"column":158},"end":{"line":173,"column":3}},"line":140},"6":{"name":"(anonymous_6)","decl":{"start":{"line":178,"column":46},"end":{"line":178,"column":47}},"loc":{"start":{"line":178,"column":110},"end":{"line":237,"column":3}},"line":178},"7":{"name":"(anonymous_7)","decl":{"start":{"line":248,"column":4},"end":{"line":248,"column":5}},"loc":{"start":{"line":248,"column":67},"end":{"line":279,"column":5}},"line":248},"8":{"name":"(anonymous_8)","decl":{"start":{"line":290,"column":45},"end":{"line":290,"column":46}},"loc":{"start":{"line":290,"column":80},"end":{"line":294,"column":3}},"line":290},"9":{"name":"(anonymous_9)","decl":{"start":{"line":296,"column":44},"end":{"line":296,"column":45}},"loc":{"start":{"line":296,"column":109},"end":{"line":299,"column":3}},"line":296},"10":{"name":"(anonymous_10)","decl":{"start":{"line":301,"column":23},"end":{"line":301,"column":24}},"loc":{"start":{"line":301,"column":30},"end":{"line":308,"column":3}},"line":301}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":67}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":43,"column":67}},{"start":{},"end":{}}],"line":43},"2":{"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":51}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":51}},{"start":{},"end":{}}],"line":44},"3":{"loc":{"start":{"line":62,"column":4},"end":{"line":117,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":117,"column":5}},{"start":{},"end":{}}],"line":62},"4":{"loc":{"start":{"line":65,"column":8},"end":{"line":65,"column":61}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":61}},{"start":{},"end":{}}],"line":65},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":106,"column":12},"end":{"line":106,"column":43}},"type":"binary-expr","locations":[{"start":{"line":106,"column":12},"end":{"line":106,"column":30}},{"start":{"line":106,"column":34},"end":{"line":106,"column":43}}],"line":106},"7":{"loc":{"start":{"line":135,"column":4},"end":{"line":135,"column":71}},"type":"if","locations":[{"start":{"line":135,"column":4},"end":{"line":135,"column":71}},{"start":{},"end":{}}],"line":135},"8":{"loc":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":142},"9":{"loc":{"start":{"line":145,"column":4},"end":{"line":145,"column":71}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":145,"column":71}},{"start":{},"end":{}}],"line":145},"10":{"loc":{"start":{"line":151,"column":6},"end":{"line":156,"column":7}},"type":"if","locations":[{"start":{"line":151,"column":6},"end":{"line":156,"column":7}},{"start":{},"end":{}}],"line":151},"11":{"loc":{"start":{"line":157,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":164,"column":7}},{"start":{},"end":{}}],"line":157},"12":{"loc":{"start":{"line":159,"column":64},"end":{"line":159,"column":126}},"type":"binary-expr","locations":[{"start":{"line":159,"column":64},"end":{"line":159,"column":95}},{"start":{"line":159,"column":99},"end":{"line":159,"column":126}}],"line":159},"13":{"loc":{"start":{"line":183,"column":6},"end":{"line":188,"column":7}},"type":"if","locations":[{"start":{"line":183,"column":6},"end":{"line":188,"column":7}},{"start":{},"end":{}}],"line":183},"14":{"loc":{"start":{"line":193,"column":6},"end":{"line":198,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":198,"column":7}},{"start":{},"end":{}}],"line":193},"15":{"loc":{"start":{"line":199,"column":6},"end":{"line":227,"column":7}},"type":"if","locations":[{"start":{"line":199,"column":6},"end":{"line":227,"column":7}},{"start":{},"end":{}}],"line":199},"16":{"loc":{"start":{"line":200,"column":8},"end":{"line":225,"column":9}},"type":"if","locations":[{"start":{"line":200,"column":8},"end":{"line":225,"column":9}},{"start":{},"end":{}}],"line":200},"17":{"loc":{"start":{"line":201,"column":10},"end":{"line":203,"column":98}},"type":"binary-expr","locations":[{"start":{"line":201,"column":10},"end":{"line":201,"column":42}},{"start":{"line":202,"column":13},"end":{"line":202,"column":45}},{"start":{"line":203,"column":13},"end":{"line":203,"column":98}}],"line":201},"18":{"loc":{"start":{"line":203,"column":22},"end":{"line":203,"column":76}},"type":"binary-expr","locations":[{"start":{"line":203,"column":22},"end":{"line":203,"column":53}},{"start":{"line":203,"column":57},"end":{"line":203,"column":76}}],"line":203},"19":{"loc":{"start":{"line":206,"column":10},"end":{"line":224,"column":11}},"type":"if","locations":[{"start":{"line":206,"column":10},"end":{"line":224,"column":11}},{"start":{},"end":{}}],"line":206},"20":{"loc":{"start":{"line":252,"column":6},"end":{"line":254,"column":7}},"type":"if","locations":[{"start":{"line":252,"column":6},"end":{"line":254,"column":7}},{"start":{},"end":{}}],"line":252},"21":{"loc":{"start":{"line":257,"column":6},"end":{"line":272,"column":7}},"type":"if","locations":[{"start":{"line":257,"column":6},"end":{"line":272,"column":7}},{"start":{"line":265,"column":13},"end":{"line":272,"column":7}}],"line":257},"22":{"loc":{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},"type":"if","locations":[{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},{"start":{},"end":{}}],"line":262},"23":{"loc":{"start":{"line":275,"column":16},"end":{"line":275,"column":37}},"type":"binary-expr","locations":[{"start":{"line":275,"column":16},"end":{"line":275,"column":27}},{"start":{"line":275,"column":31},"end":{"line":275,"column":37}}],"line":275},"24":{"loc":{"start":{"line":276,"column":16},"end":{"line":276,"column":37}},"type":"binary-expr","locations":[{"start":{"line":276,"column":16},"end":{"line":276,"column":27}},{"start":{"line":276,"column":31},"end":{"line":276,"column":37}}],"line":276}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":10,"column":70},"end":{"line":15,"column":122}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":122}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":70},"end":{"line":10,"column":71}},"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":122}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":18},"end":{"line":15,"column":46}},"type":"binary-expr","locations":[{"start":{"line":15,"column":18},"end":{"line":15,"column":27}},{"start":{"line":15,"column":31},"end":{"line":15,"column":46}}],"line":15}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/bitbucket.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/bitbucket.tsx","statementMap":{"0":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"1":{"start":{"line":30,"column":22},"end":{"line":30,"column":54}},"2":{"start":{"line":32,"column":17},"end":{"line":32,"column":48}},"3":{"start":{"line":33,"column":24},"end":{"line":33,"column":58}},"4":{"start":{"line":34,"column":23},"end":{"line":34,"column":56}},"5":{"start":{"line":35,"column":35},"end":{"line":35,"column":80}},"6":{"start":{"line":36,"column":20},"end":{"line":36,"column":34}},"7":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"8":{"start":{"line":38,"column":22},"end":{"line":38,"column":34}},"9":{"start":{"line":39,"column":42},"end":{"line":39,"column":57}},"10":{"start":{"line":41,"column":31},"end":{"line":57,"column":3}},"11":{"start":{"line":43,"column":29},"end":{"line":43,"column":50}},"12":{"start":{"line":44,"column":28},"end":{"line":50,"column":7}},"13":{"start":{"line":51,"column":6},"end":{"line":51,"column":71}},"14":{"start":{"line":51,"column":28},"end":{"line":51,"column":71}},"15":{"start":{"line":52,"column":6},"end":{"line":52,"column":69}},"16":{"start":{"line":52,"column":26},"end":{"line":52,"column":69}},"17":{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},"18":{"start":{"line":53,"column":21},"end":{"line":53,"column":53}},"19":{"start":{"line":54,"column":6},"end":{"line":54,"column":27}},"20":{"start":{"line":59,"column":24},"end":{"line":65,"column":15}},"21":{"start":{"line":60,"column":26},"end":{"line":63,"column":6}},"22":{"start":{"line":64,"column":4},"end":{"line":64,"column":25}},"23":{"start":{"line":67,"column":32},"end":{"line":140,"column":4}},"24":{"start":{"line":68,"column":20},"end":{"line":68,"column":49}},"25":{"start":{"line":70,"column":4},"end":{"line":70,"column":54}},"26":{"start":{"line":72,"column":25},"end":{"line":72,"column":74}},"27":{"start":{"line":73,"column":4},"end":{"line":121,"column":5}},"28":{"start":{"line":74,"column":46},"end":{"line":74,"column":58}},"29":{"start":{"line":75,"column":6},"end":{"line":120,"column":7}},"30":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"31":{"start":{"line":76,"column":26},"end":{"line":76,"column":61}},"32":{"start":{"line":77,"column":25},"end":{"line":79,"column":9}},"33":{"start":{"line":80,"column":8},"end":{"line":84,"column":56}},"34":{"start":{"line":85,"column":8},"end":{"line":85,"column":110}},"35":{"start":{"line":86,"column":8},"end":{"line":86,"column":74}},"36":{"start":{"line":87,"column":8},"end":{"line":93,"column":11}},"37":{"start":{"line":94,"column":8},"end":{"line":98,"column":11}},"38":{"start":{"line":99,"column":40},"end":{"line":99,"column":110}},"39":{"start":{"line":100,"column":8},"end":{"line":100,"column":72}},"40":{"start":{"line":101,"column":8},"end":{"line":101,"column":41}},"41":{"start":{"line":102,"column":8},"end":{"line":106,"column":10}},"42":{"start":{"line":108,"column":8},"end":{"line":108,"column":26}},"43":{"start":{"line":109,"column":8},"end":{"line":109,"column":53}},"44":{"start":{"line":110,"column":8},"end":{"line":115,"column":9}},"45":{"start":{"line":111,"column":10},"end":{"line":114,"column":12}},"46":{"start":{"line":116,"column":8},"end":{"line":119,"column":10}},"47":{"start":{"line":123,"column":4},"end":{"line":128,"column":6}},"48":{"start":{"line":142,"column":28},"end":{"line":152,"column":3}},"49":{"start":{"line":146,"column":22},"end":{"line":146,"column":64}},"50":{"start":{"line":147,"column":6},"end":{"line":147,"column":73}},"51":{"start":{"line":147,"column":47},"end":{"line":147,"column":73}},"52":{"start":{"line":148,"column":29},"end":{"line":148,"column":53}},"53":{"start":{"line":149,"column":6},"end":{"line":149,"column":61}},"54":{"start":{"line":154,"column":34},"end":{"line":186,"column":3}},"55":{"start":{"line":156,"column":22},"end":{"line":156,"column":51}},"56":{"start":{"line":157,"column":6},"end":{"line":157,"column":73}},"57":{"start":{"line":157,"column":47},"end":{"line":157,"column":73}},"58":{"start":{"line":159,"column":28},"end":{"line":159,"column":49}},"59":{"start":{"line":161,"column":6},"end":{"line":163,"column":9}},"60":{"start":{"line":165,"column":6},"end":{"line":182,"column":7}},"61":{"start":{"line":166,"column":24},"end":{"line":166,"column":48}},"62":{"start":{"line":167,"column":8},"end":{"line":172,"column":9}},"63":{"start":{"line":168,"column":10},"end":{"line":171,"column":12}},"64":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"65":{"start":{"line":174,"column":10},"end":{"line":174,"column":25}},"66":{"start":{"line":177,"column":8},"end":{"line":177,"column":32}},"67":{"start":{"line":178,"column":8},"end":{"line":181,"column":10}},"68":{"start":{"line":183,"column":6},"end":{"line":183,"column":18}},"69":{"start":{"line":189,"column":34},"end":{"line":261,"column":3}},"70":{"start":{"line":191,"column":6},"end":{"line":248,"column":7}},"71":{"start":{"line":192,"column":24},"end":{"line":192,"column":53}},"72":{"start":{"line":193,"column":28},"end":{"line":193,"column":57}},"73":{"start":{"line":194,"column":8},"end":{"line":194,"column":54}},"74":{"start":{"line":195,"column":8},"end":{"line":200,"column":9}},"75":{"start":{"line":196,"column":10},"end":{"line":199,"column":12}},"76":{"start":{"line":202,"column":30},"end":{"line":202,"column":51}},"77":{"start":{"line":203,"column":8},"end":{"line":203,"column":58}},"78":{"start":{"line":205,"column":24},"end":{"line":205,"column":48}},"79":{"start":{"line":206,"column":8},"end":{"line":211,"column":9}},"80":{"start":{"line":207,"column":10},"end":{"line":210,"column":12}},"81":{"start":{"line":212,"column":8},"end":{"line":239,"column":9}},"82":{"start":{"line":213,"column":10},"end":{"line":237,"column":11}},"83":{"start":{"line":218,"column":33},"end":{"line":218,"column":54}},"84":{"start":{"line":219,"column":12},"end":{"line":236,"column":13}},"85":{"start":{"line":220,"column":35},"end":{"line":220,"column":102}},"86":{"start":{"line":221,"column":14},"end":{"line":226,"column":17}},"87":{"start":{"line":227,"column":14},"end":{"line":231,"column":17}},"88":{"start":{"line":232,"column":46},"end":{"line":232,"column":130}},"89":{"start":{"line":233,"column":14},"end":{"line":233,"column":78}},"90":{"start":{"line":234,"column":14},"end":{"line":234,"column":60}},"91":{"start":{"line":235,"column":14},"end":{"line":235,"column":57}},"92":{"start":{"line":238,"column":10},"end":{"line":238,"column":25}},"93":{"start":{"line":240,"column":8},"end":{"line":240,"column":52}},"94":{"start":{"line":242,"column":8},"end":{"line":242,"column":78}},"95":{"start":{"line":243,"column":8},"end":{"line":243,"column":32}},"96":{"start":{"line":244,"column":8},"end":{"line":247,"column":10}},"97":{"start":{"line":263,"column":37},"end":{"line":292,"column":3}},"98":{"start":{"line":265,"column":19},"end":{"line":265,"column":57}},"99":{"start":{"line":266,"column":6},"end":{"line":279,"column":7}},"100":{"start":{"line":267,"column":8},"end":{"line":270,"column":11}},"101":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"102":{"start":{"line":272,"column":10},"end":{"line":272,"column":51}},"103":{"start":{"line":275,"column":8},"end":{"line":278,"column":10}},"104":{"start":{"line":280,"column":6},"end":{"line":285,"column":8}},"105":{"start":{"line":294,"column":33},"end":{"line":300,"column":3}},"106":{"start":{"line":296,"column":22},"end":{"line":296,"column":51}},"107":{"start":{"line":297,"column":6},"end":{"line":297,"column":37}},"108":{"start":{"line":302,"column":32},"end":{"line":308,"column":3}},"109":{"start":{"line":304,"column":22},"end":{"line":304,"column":51}},"110":{"start":{"line":305,"column":6},"end":{"line":305,"column":53}},"111":{"start":{"line":310,"column":2},"end":{"line":327,"column":4}},"112":{"start":{"line":311,"column":11},"end":{"line":318,"column":5}}},"fnMap":{"0":{"name":"useBitbucket","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":31},"end":{"line":328,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":70},"end":{"line":55,"column":5}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":36},"end":{"line":59,"column":37}},"loc":{"start":{"line":59,"column":48},"end":{"line":65,"column":3}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":44},"end":{"line":67,"column":45}},"loc":{"start":{"line":67,"column":141},"end":{"line":129,"column":3}},"line":67},"4":{"name":"(anonymous_4)","decl":{"start":{"line":143,"column":4},"end":{"line":143,"column":5}},"loc":{"start":{"line":145,"column":115},"end":{"line":150,"column":5}},"line":145},"5":{"name":"(anonymous_5)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":122},"end":{"line":184,"column":5}},"line":155},"6":{"name":"(anonymous_6)","decl":{"start":{"line":190,"column":4},"end":{"line":190,"column":5}},"loc":{"start":{"line":190,"column":74},"end":{"line":249,"column":5}},"line":190},"7":{"name":"(anonymous_7)","decl":{"start":{"line":264,"column":4},"end":{"line":264,"column":5}},"loc":{"start":{"line":264,"column":73},"end":{"line":286,"column":5}},"line":264},"8":{"name":"(anonymous_8)","decl":{"start":{"line":295,"column":4},"end":{"line":295,"column":5}},"loc":{"start":{"line":295,"column":45},"end":{"line":298,"column":5}},"line":295},"9":{"name":"(anonymous_9)","decl":{"start":{"line":303,"column":4},"end":{"line":303,"column":5}},"loc":{"start":{"line":303,"column":75},"end":{"line":306,"column":5}},"line":303},"10":{"name":"(anonymous_10)","decl":{"start":{"line":311,"column":4},"end":{"line":311,"column":5}},"loc":{"start":{"line":311,"column":11},"end":{"line":318,"column":5}},"line":311}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":34}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":13}},{"start":{"line":46,"column":17},"end":{"line":46,"column":34}}],"line":46},"1":{"loc":{"start":{"line":47,"column":8},"end":{"line":47,"column":33}},"type":"binary-expr","locations":[{"start":{"line":47,"column":8},"end":{"line":47,"column":12}},{"start":{"line":47,"column":16},"end":{"line":47,"column":33}}],"line":47},"2":{"loc":{"start":{"line":48,"column":8},"end":{"line":48,"column":29}},"type":"binary-expr","locations":[{"start":{"line":48,"column":8},"end":{"line":48,"column":23}},{"start":{"line":48,"column":27},"end":{"line":48,"column":29}}],"line":48},"3":{"loc":{"start":{"line":51,"column":6},"end":{"line":51,"column":71}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":51,"column":71}},{"start":{},"end":{}}],"line":51},"4":{"loc":{"start":{"line":52,"column":6},"end":{"line":52,"column":69}},"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":52,"column":69}},{"start":{},"end":{}}],"line":52},"5":{"loc":{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},"type":"if","locations":[{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},{"start":{},"end":{}}],"line":53},"6":{"loc":{"start":{"line":73,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":121,"column":5}},{"start":{},"end":{}}],"line":73},"7":{"loc":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},{"start":{},"end":{}}],"line":76},"8":{"loc":{"start":{"line":110,"column":8},"end":{"line":115,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":8},"end":{"line":115,"column":9}},{"start":{},"end":{}}],"line":110},"9":{"loc":{"start":{"line":110,"column":12},"end":{"line":110,"column":92}},"type":"binary-expr","locations":[{"start":{"line":110,"column":12},"end":{"line":110,"column":30}},{"start":{"line":110,"column":34},"end":{"line":110,"column":92}}],"line":110},"10":{"loc":{"start":{"line":147,"column":6},"end":{"line":147,"column":73}},"type":"if","locations":[{"start":{"line":147,"column":6},"end":{"line":147,"column":73}},{"start":{},"end":{}}],"line":147},"11":{"loc":{"start":{"line":157,"column":6},"end":{"line":157,"column":73}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":157,"column":73}},{"start":{},"end":{}}],"line":157},"12":{"loc":{"start":{"line":167,"column":8},"end":{"line":172,"column":9}},"type":"if","locations":[{"start":{"line":167,"column":8},"end":{"line":172,"column":9}},{"start":{},"end":{}}],"line":167},"13":{"loc":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},{"start":{},"end":{}}],"line":173},"14":{"loc":{"start":{"line":195,"column":8},"end":{"line":200,"column":9}},"type":"if","locations":[{"start":{"line":195,"column":8},"end":{"line":200,"column":9}},{"start":{},"end":{}}],"line":195},"15":{"loc":{"start":{"line":195,"column":12},"end":{"line":195,"column":47}},"type":"binary-expr","locations":[{"start":{"line":195,"column":12},"end":{"line":195,"column":24}},{"start":{"line":195,"column":28},"end":{"line":195,"column":47}}],"line":195},"16":{"loc":{"start":{"line":206,"column":8},"end":{"line":211,"column":9}},"type":"if","locations":[{"start":{"line":206,"column":8},"end":{"line":211,"column":9}},{"start":{},"end":{}}],"line":206},"17":{"loc":{"start":{"line":212,"column":8},"end":{"line":239,"column":9}},"type":"if","locations":[{"start":{"line":212,"column":8},"end":{"line":239,"column":9}},{"start":{},"end":{}}],"line":212},"18":{"loc":{"start":{"line":213,"column":10},"end":{"line":237,"column":11}},"type":"if","locations":[{"start":{"line":213,"column":10},"end":{"line":237,"column":11}},{"start":{},"end":{}}],"line":213},"19":{"loc":{"start":{"line":214,"column":12},"end":{"line":216,"column":100}},"type":"binary-expr","locations":[{"start":{"line":214,"column":12},"end":{"line":214,"column":44}},{"start":{"line":215,"column":15},"end":{"line":215,"column":47}},{"start":{"line":216,"column":15},"end":{"line":216,"column":100}}],"line":214},"20":{"loc":{"start":{"line":216,"column":24},"end":{"line":216,"column":78}},"type":"binary-expr","locations":[{"start":{"line":216,"column":24},"end":{"line":216,"column":55}},{"start":{"line":216,"column":59},"end":{"line":216,"column":78}}],"line":216},"21":{"loc":{"start":{"line":219,"column":12},"end":{"line":236,"column":13}},"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":236,"column":13}},{"start":{},"end":{}}],"line":219},"22":{"loc":{"start":{"line":266,"column":6},"end":{"line":279,"column":7}},"type":"if","locations":[{"start":{"line":266,"column":6},"end":{"line":279,"column":7}},{"start":{"line":274,"column":13},"end":{"line":279,"column":7}}],"line":266},"23":{"loc":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},{"start":{},"end":{}}],"line":271},"24":{"loc":{"start":{"line":282,"column":16},"end":{"line":282,"column":37}},"type":"binary-expr","locations":[{"start":{"line":282,"column":16},"end":{"line":282,"column":27}},{"start":{"line":282,"column":31},"end":{"line":282,"column":37}}],"line":282},"25":{"loc":{"start":{"line":283,"column":16},"end":{"line":283,"column":37}},"type":"binary-expr","locations":[{"start":{"line":283,"column":16},"end":{"line":283,"column":27}},{"start":{"line":283,"column":31},"end":{"line":283,"column":37}}],"line":283}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":11,"column":18},"end":{"line":11,"column":70}},"1":{"start":{"line":13,"column":2},"end":{"line":13,"column":65}}},"fnMap":{"0":{"name":"getBitbucketCreatePullRequestUrl","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":48}},"loc":{"start":{"line":10,"column":3},"end":{"line":14,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":70}},"type":"cond-expr","locations":[{"start":{"line":11,"column":40},"end":{"line":11,"column":44}},{"start":{"line":11,"column":47},"end":{"line":11,"column":70}}],"line":11},"1":{"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":37}},"type":"binary-expr","locations":[{"start":{"line":11,"column":18},"end":{"line":11,"column":22}},{"start":{"line":11,"column":26},"end":{"line":11,"column":37}}],"line":11}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/generic/versionedStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/generic/versionedStorage.ts","statementMap":{"0":{"start":{"line":39,"column":42},"end":{"line":39,"column":80}},"1":{"start":{"line":41,"column":2},"end":{"line":110,"column":3}},"2":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"3":{"start":{"line":42,"column":13},"end":{"line":42,"column":69}},"4":{"start":{"line":45,"column":4},"end":{"line":45,"column":68}},"5":{"start":{"line":45,"column":56},"end":{"line":45,"column":68}},"6":{"start":{"line":47,"column":20},"end":{"line":47,"column":76}},"7":{"start":{"line":48,"column":26},"end":{"line":48,"column":45}},"8":{"start":{"line":49,"column":20},"end":{"line":57,"column":5}},"9":{"start":{"line":59,"column":4},"end":{"line":82,"column":5}},"10":{"start":{"line":60,"column":27},"end":{"line":60,"column":51}},"11":{"start":{"line":62,"column":6},"end":{"line":71,"column":7}},"12":{"start":{"line":64,"column":29},"end":{"line":64,"column":97}},"13":{"start":{"line":65,"column":8},"end":{"line":65,"column":92}},"14":{"start":{"line":66,"column":8},"end":{"line":66,"column":70}},"15":{"start":{"line":67,"column":8},"end":{"line":70,"column":10}},"16":{"start":{"line":73,"column":25},"end":{"line":73,"column":102}},"17":{"start":{"line":75,"column":6},"end":{"line":81,"column":7}},"18":{"start":{"line":76,"column":8},"end":{"line":76,"column":101}},"19":{"start":{"line":77,"column":8},"end":{"line":80,"column":10}},"20":{"start":{"line":86,"column":20},"end":{"line":86,"column":77}},"21":{"start":{"line":88,"column":4},"end":{"line":93,"column":5}},"22":{"start":{"line":89,"column":6},"end":{"line":92,"column":8}},"23":{"start":{"line":96,"column":4},"end":{"line":96,"column":88}},"24":{"start":{"line":97,"column":4},"end":{"line":97,"column":52}},"25":{"start":{"line":98,"column":4},"end":{"line":101,"column":6}},"26":{"start":{"line":104,"column":4},"end":{"line":104,"column":88}},"27":{"start":{"line":105,"column":4},"end":{"line":105,"column":55}},"28":{"start":{"line":106,"column":4},"end":{"line":109,"column":6}},"29":{"start":{"line":114,"column":19},"end":{"line":114,"column":42}},"30":{"start":{"line":115,"column":29},"end":{"line":115,"column":41}},"31":{"start":{"line":116,"column":17},"end":{"line":116,"column":44}},"32":{"start":{"line":117,"column":17},"end":{"line":117,"column":48}},"33":{"start":{"line":118,"column":22},"end":{"line":118,"column":54}},"34":{"start":{"line":119,"column":24},"end":{"line":119,"column":57}},"35":{"start":{"line":120,"column":35},"end":{"line":120,"column":80}},"36":{"start":{"line":122,"column":43},"end":{"line":163,"column":3}},"37":{"start":{"line":128,"column":10},"end":{"line":128,"column":17}},"38":{"start":{"line":129,"column":24},"end":{"line":129,"column":48}},"39":{"start":{"line":130,"column":21},"end":{"line":130,"column":97}},"40":{"start":{"line":131,"column":6},"end":{"line":158,"column":7}},"41":{"start":{"line":132,"column":8},"end":{"line":143,"column":11}},"42":{"start":{"line":144,"column":8},"end":{"line":154,"column":11}},"43":{"start":{"line":155,"column":8},"end":{"line":155,"column":43}},"44":{"start":{"line":157,"column":8},"end":{"line":157,"column":34}},"45":{"start":{"line":159,"column":6},"end":{"line":159,"column":83}},"46":{"start":{"line":160,"column":6},"end":{"line":160,"column":18}},"47":{"start":{"line":166,"column":48},"end":{"line":218,"column":3}},"48":{"start":{"line":172,"column":10},"end":{"line":172,"column":17}},"49":{"start":{"line":173,"column":6},"end":{"line":173,"column":27}},"50":{"start":{"line":173,"column":15},"end":{"line":173,"column":27}},"51":{"start":{"line":174,"column":6},"end":{"line":215,"column":7}},"52":{"start":{"line":175,"column":24},"end":{"line":175,"column":80}},"53":{"start":{"line":176,"column":21},"end":{"line":176,"column":45}},"54":{"start":{"line":177,"column":8},"end":{"line":177,"column":43}},"55":{"start":{"line":179,"column":8},"end":{"line":189,"column":11}},"56":{"start":{"line":190,"column":8},"end":{"line":197,"column":9}},"57":{"start":{"line":191,"column":10},"end":{"line":191,"column":108}},"58":{"start":{"line":192,"column":10},"end":{"line":192,"column":40}},"59":{"start":{"line":193,"column":10},"end":{"line":196,"column":12}},"60":{"start":{"line":198,"column":8},"end":{"line":208,"column":9}},"61":{"start":{"line":199,"column":10},"end":{"line":199,"column":55}},"62":{"start":{"line":200,"column":10},"end":{"line":207,"column":12}},"63":{"start":{"line":209,"column":8},"end":{"line":209,"column":66}},"64":{"start":{"line":210,"column":8},"end":{"line":210,"column":20}},"65":{"start":{"line":212,"column":8},"end":{"line":212,"column":106}},"66":{"start":{"line":213,"column":8},"end":{"line":213,"column":35}},"67":{"start":{"line":214,"column":8},"end":{"line":214,"column":20}},"68":{"start":{"line":220,"column":41},"end":{"line":294,"column":3}},"69":{"start":{"line":226,"column":10},"end":{"line":226,"column":17}},"70":{"start":{"line":227,"column":6},"end":{"line":227,"column":27}},"71":{"start":{"line":227,"column":15},"end":{"line":227,"column":27}},"72":{"start":{"line":230,"column":24},"end":{"line":230,"column":48}},"73":{"start":{"line":231,"column":21},"end":{"line":231,"column":97}},"74":{"start":{"line":233,"column":6},"end":{"line":238,"column":7}},"75":{"start":{"line":234,"column":8},"end":{"line":237,"column":10}},"76":{"start":{"line":240,"column":22},"end":{"line":240,"column":74}},"77":{"start":{"line":242,"column":6},"end":{"line":247,"column":7}},"78":{"start":{"line":243,"column":8},"end":{"line":246,"column":10}},"79":{"start":{"line":248,"column":6},"end":{"line":289,"column":7}},"80":{"start":{"line":249,"column":8},"end":{"line":256,"column":11}},"81":{"start":{"line":257,"column":8},"end":{"line":267,"column":11}},"82":{"start":{"line":268,"column":8},"end":{"line":274,"column":11}},"83":{"start":{"line":275,"column":8},"end":{"line":281,"column":11}},"84":{"start":{"line":282,"column":40},"end":{"line":286,"column":9}},"85":{"start":{"line":287,"column":8},"end":{"line":287,"column":72}},"86":{"start":{"line":288,"column":8},"end":{"line":288,"column":23}},"87":{"start":{"line":291,"column":6},"end":{"line":291,"column":21}},"88":{"start":{"line":296,"column":2},"end":{"line":303,"column":4}},"89":{"start":{"line":297,"column":11},"end":{"line":301,"column":5}}},"fnMap":{"0":{"name":"updateGenericVersionedTokens","decl":{"start":{"line":31,"column":22},"end":{"line":31,"column":50}},"loc":{"start":{"line":38,"column":90},"end":{"line":111,"column":1}},"line":38},"1":{"name":"useGenericVersionedStorage","decl":{"start":{"line":113,"column":16},"end":{"line":113,"column":42}},"loc":{"start":{"line":113,"column":45},"end":{"line":304,"column":1}},"line":113},"2":{"name":"(anonymous_2)","decl":{"start":{"line":123,"column":4},"end":{"line":123,"column":5}},"loc":{"start":{"line":125,"column":9},"end":{"line":161,"column":5}},"line":125},"3":{"name":"(anonymous_3)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":169,"column":45},"end":{"line":216,"column":5}},"line":169},"4":{"name":"(anonymous_4)","decl":{"start":{"line":221,"column":4},"end":{"line":221,"column":5}},"loc":{"start":{"line":223,"column":45},"end":{"line":292,"column":5}},"line":223},"5":{"name":"(anonymous_5)","decl":{"start":{"line":297,"column":4},"end":{"line":297,"column":5}},"loc":{"start":{"line":297,"column":11},"end":{"line":301,"column":5}},"line":297}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":2},"end":{"line":36,"column":21}},"type":"default-arg","locations":[{"start":{"line":36,"column":17},"end":{"line":36,"column":21}}],"line":36},"1":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":45,"column":4},"end":{"line":45,"column":68}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":68}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":54,"column":19},"end":{"line":54,"column":56}},"type":"binary-expr","locations":[{"start":{"line":54,"column":19},"end":{"line":54,"column":28}},{"start":{"line":54,"column":32},"end":{"line":54,"column":56}}],"line":54},"4":{"loc":{"start":{"line":59,"column":4},"end":{"line":82,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":82,"column":5}},{"start":{},"end":{}}],"line":59},"5":{"loc":{"start":{"line":62,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":62},"6":{"loc":{"start":{"line":64,"column":29},"end":{"line":64,"column":97}},"type":"binary-expr","locations":[{"start":{"line":64,"column":29},"end":{"line":64,"column":55}},{"start":{"line":64,"column":59},"end":{"line":64,"column":97}}],"line":64},"7":{"loc":{"start":{"line":73,"column":62},"end":{"line":73,"column":101}},"type":"binary-expr","locations":[{"start":{"line":73,"column":62},"end":{"line":73,"column":95}},{"start":{"line":73,"column":99},"end":{"line":73,"column":101}}],"line":73},"8":{"loc":{"start":{"line":75,"column":6},"end":{"line":81,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":81,"column":7}},{"start":{},"end":{}}],"line":75},"9":{"loc":{"start":{"line":88,"column":4},"end":{"line":93,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":93,"column":5}},{"start":{},"end":{}}],"line":88},"10":{"loc":{"start":{"line":131,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":131,"column":6},"end":{"line":158,"column":7}},{"start":{},"end":{}}],"line":131},"11":{"loc":{"start":{"line":173,"column":6},"end":{"line":173,"column":27}},"type":"if","locations":[{"start":{"line":173,"column":6},"end":{"line":173,"column":27}},{"start":{},"end":{}}],"line":173},"12":{"loc":{"start":{"line":190,"column":8},"end":{"line":197,"column":9}},"type":"if","locations":[{"start":{"line":190,"column":8},"end":{"line":197,"column":9}},{"start":{},"end":{}}],"line":190},"13":{"loc":{"start":{"line":198,"column":8},"end":{"line":208,"column":9}},"type":"if","locations":[{"start":{"line":198,"column":8},"end":{"line":208,"column":9}},{"start":{},"end":{}}],"line":198},"14":{"loc":{"start":{"line":198,"column":12},"end":{"line":198,"column":42}},"type":"binary-expr","locations":[{"start":{"line":198,"column":12},"end":{"line":198,"column":26}},{"start":{"line":198,"column":30},"end":{"line":198,"column":42}}],"line":198},"15":{"loc":{"start":{"line":227,"column":6},"end":{"line":227,"column":27}},"type":"if","locations":[{"start":{"line":227,"column":6},"end":{"line":227,"column":27}},{"start":{},"end":{}}],"line":227},"16":{"loc":{"start":{"line":233,"column":6},"end":{"line":238,"column":7}},"type":"if","locations":[{"start":{"line":233,"column":6},"end":{"line":238,"column":7}},{"start":{},"end":{}}],"line":233},"17":{"loc":{"start":{"line":242,"column":6},"end":{"line":247,"column":7}},"type":"if","locations":[{"start":{"line":242,"column":6},"end":{"line":247,"column":7}},{"start":{},"end":{}}],"line":242},"18":{"loc":{"start":{"line":248,"column":6},"end":{"line":289,"column":7}},"type":"if","locations":[{"start":{"line":248,"column":6},"end":{"line":289,"column":7}},{"start":{},"end":{}}],"line":248}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":9,"column":14},"end":{"line":9,"column":63}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":44}},"2":{"start":{"line":13,"column":2},"end":{"line":13,"column":57}}},"fnMap":{"0":{"name":"getGithubCreatePullRequestUrl","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":45}},"loc":{"start":{"line":8,"column":3},"end":{"line":14,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":14},"end":{"line":9,"column":63}},"type":"cond-expr","locations":[{"start":{"line":9,"column":36},"end":{"line":9,"column":40}},{"start":{"line":9,"column":43},"end":{"line":9,"column":63}}],"line":9},"1":{"loc":{"start":{"line":9,"column":14},"end":{"line":9,"column":33}},"type":"binary-expr","locations":[{"start":{"line":9,"column":14},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":33}}],"line":9}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/github.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/github.tsx","statementMap":{"0":{"start":{"line":30,"column":17},"end":{"line":30,"column":44}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":54}},"2":{"start":{"line":32,"column":17},"end":{"line":32,"column":48}},"3":{"start":{"line":33,"column":24},"end":{"line":33,"column":58}},"4":{"start":{"line":34,"column":23},"end":{"line":34,"column":56}},"5":{"start":{"line":35,"column":35},"end":{"line":35,"column":80}},"6":{"start":{"line":36,"column":20},"end":{"line":36,"column":34}},"7":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"8":{"start":{"line":38,"column":22},"end":{"line":38,"column":34}},"9":{"start":{"line":39,"column":42},"end":{"line":39,"column":57}},"10":{"start":{"line":41,"column":31},"end":{"line":49,"column":17}},"11":{"start":{"line":42,"column":27},"end":{"line":42,"column":48}},"12":{"start":{"line":43,"column":26},"end":{"line":43,"column":142}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":69}},"14":{"start":{"line":45,"column":26},"end":{"line":45,"column":69}},"15":{"start":{"line":46,"column":4},"end":{"line":46,"column":67}},"16":{"start":{"line":46,"column":24},"end":{"line":46,"column":67}},"17":{"start":{"line":47,"column":4},"end":{"line":47,"column":51}},"18":{"start":{"line":47,"column":19},"end":{"line":47,"column":51}},"19":{"start":{"line":48,"column":4},"end":{"line":48,"column":25}},"20":{"start":{"line":51,"column":24},"end":{"line":57,"column":15}},"21":{"start":{"line":52,"column":26},"end":{"line":55,"column":6}},"22":{"start":{"line":56,"column":4},"end":{"line":56,"column":25}},"23":{"start":{"line":59,"column":29},"end":{"line":134,"column":4}},"24":{"start":{"line":60,"column":20},"end":{"line":60,"column":49}},"25":{"start":{"line":61,"column":4},"end":{"line":61,"column":54}},"26":{"start":{"line":62,"column":25},"end":{"line":62,"column":74}},"27":{"start":{"line":63,"column":4},"end":{"line":115,"column":5}},"28":{"start":{"line":64,"column":46},"end":{"line":64,"column":58}},"29":{"start":{"line":65,"column":6},"end":{"line":114,"column":7}},"30":{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},"31":{"start":{"line":66,"column":26},"end":{"line":66,"column":61}},"32":{"start":{"line":67,"column":25},"end":{"line":69,"column":9}},"33":{"start":{"line":70,"column":8},"end":{"line":77,"column":11}},"34":{"start":{"line":78,"column":26},"end":{"line":78,"column":54}},"35":{"start":{"line":79,"column":8},"end":{"line":79,"column":107}},"36":{"start":{"line":80,"column":8},"end":{"line":80,"column":111}},"37":{"start":{"line":81,"column":8},"end":{"line":87,"column":11}},"38":{"start":{"line":88,"column":8},"end":{"line":92,"column":11}},"39":{"start":{"line":93,"column":40},"end":{"line":93,"column":110}},"40":{"start":{"line":94,"column":8},"end":{"line":94,"column":72}},"41":{"start":{"line":95,"column":8},"end":{"line":95,"column":41}},"42":{"start":{"line":96,"column":8},"end":{"line":100,"column":10}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":26}},"44":{"start":{"line":103,"column":8},"end":{"line":103,"column":50}},"45":{"start":{"line":104,"column":8},"end":{"line":109,"column":9}},"46":{"start":{"line":105,"column":10},"end":{"line":108,"column":12}},"47":{"start":{"line":110,"column":8},"end":{"line":113,"column":10}},"48":{"start":{"line":117,"column":4},"end":{"line":122,"column":6}},"49":{"start":{"line":136,"column":28},"end":{"line":143,"column":38}},"50":{"start":{"line":139,"column":20},"end":{"line":139,"column":62}},"51":{"start":{"line":140,"column":4},"end":{"line":140,"column":71}},"52":{"start":{"line":140,"column":45},"end":{"line":140,"column":71}},"53":{"start":{"line":141,"column":27},"end":{"line":141,"column":51}},"54":{"start":{"line":142,"column":4},"end":{"line":142,"column":59}},"55":{"start":{"line":145,"column":31},"end":{"line":183,"column":4}},"56":{"start":{"line":146,"column":20},"end":{"line":146,"column":49}},"57":{"start":{"line":147,"column":4},"end":{"line":147,"column":71}},"58":{"start":{"line":147,"column":45},"end":{"line":147,"column":71}},"59":{"start":{"line":149,"column":26},"end":{"line":149,"column":47}},"60":{"start":{"line":151,"column":4},"end":{"line":153,"column":7}},"61":{"start":{"line":155,"column":4},"end":{"line":178,"column":5}},"62":{"start":{"line":156,"column":22},"end":{"line":156,"column":46}},"63":{"start":{"line":157,"column":6},"end":{"line":162,"column":7}},"64":{"start":{"line":158,"column":8},"end":{"line":161,"column":10}},"65":{"start":{"line":163,"column":6},"end":{"line":172,"column":7}},"66":{"start":{"line":165,"column":29},"end":{"line":165,"column":127}},"67":{"start":{"line":166,"column":26},"end":{"line":166,"column":54}},"68":{"start":{"line":167,"column":8},"end":{"line":171,"column":10}},"69":{"start":{"line":174,"column":6},"end":{"line":177,"column":8}},"70":{"start":{"line":179,"column":4},"end":{"line":179,"column":16}},"71":{"start":{"line":186,"column":31},"end":{"line":258,"column":4}},"72":{"start":{"line":187,"column":4},"end":{"line":247,"column":5}},"73":{"start":{"line":188,"column":22},"end":{"line":188,"column":51}},"74":{"start":{"line":189,"column":26},"end":{"line":189,"column":55}},"75":{"start":{"line":190,"column":6},"end":{"line":190,"column":52}},"76":{"start":{"line":191,"column":6},"end":{"line":196,"column":7}},"77":{"start":{"line":192,"column":8},"end":{"line":195,"column":10}},"78":{"start":{"line":198,"column":28},"end":{"line":198,"column":49}},"79":{"start":{"line":199,"column":6},"end":{"line":199,"column":56}},"80":{"start":{"line":201,"column":22},"end":{"line":201,"column":46}},"81":{"start":{"line":202,"column":6},"end":{"line":207,"column":7}},"82":{"start":{"line":203,"column":8},"end":{"line":206,"column":10}},"83":{"start":{"line":208,"column":6},"end":{"line":238,"column":7}},"84":{"start":{"line":209,"column":8},"end":{"line":236,"column":9}},"85":{"start":{"line":214,"column":31},"end":{"line":214,"column":52}},"86":{"start":{"line":215,"column":10},"end":{"line":235,"column":11}},"87":{"start":{"line":216,"column":30},"end":{"line":216,"column":58}},"88":{"start":{"line":217,"column":33},"end":{"line":217,"column":100}},"89":{"start":{"line":218,"column":12},"end":{"line":224,"column":15}},"90":{"start":{"line":225,"column":12},"end":{"line":229,"column":15}},"91":{"start":{"line":230,"column":44},"end":{"line":230,"column":130}},"92":{"start":{"line":231,"column":12},"end":{"line":231,"column":76}},"93":{"start":{"line":232,"column":12},"end":{"line":232,"column":58}},"94":{"start":{"line":233,"column":12},"end":{"line":233,"column":93}},"95":{"start":{"line":234,"column":12},"end":{"line":234,"column":52}},"96":{"start":{"line":237,"column":8},"end":{"line":237,"column":23}},"97":{"start":{"line":239,"column":6},"end":{"line":239,"column":47}},"98":{"start":{"line":241,"column":6},"end":{"line":241,"column":73}},"99":{"start":{"line":242,"column":6},"end":{"line":242,"column":30}},"100":{"start":{"line":243,"column":6},"end":{"line":246,"column":8}},"101":{"start":{"line":260,"column":34},"end":{"line":286,"column":4}},"102":{"start":{"line":261,"column":17},"end":{"line":261,"column":52}},"103":{"start":{"line":262,"column":4},"end":{"line":275,"column":5}},"104":{"start":{"line":263,"column":6},"end":{"line":266,"column":9}},"105":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"106":{"start":{"line":268,"column":8},"end":{"line":268,"column":49}},"107":{"start":{"line":271,"column":6},"end":{"line":274,"column":8}},"108":{"start":{"line":276,"column":4},"end":{"line":281,"column":6}},"109":{"start":{"line":288,"column":30},"end":{"line":291,"column":28}},"110":{"start":{"line":289,"column":20},"end":{"line":289,"column":49}},"111":{"start":{"line":290,"column":4},"end":{"line":290,"column":35}},"112":{"start":{"line":293,"column":29},"end":{"line":296,"column":28}},"113":{"start":{"line":294,"column":20},"end":{"line":294,"column":49}},"114":{"start":{"line":295,"column":4},"end":{"line":295,"column":51}},"115":{"start":{"line":298,"column":37},"end":{"line":309,"column":28}},"116":{"start":{"line":299,"column":20},"end":{"line":299,"column":49}},"117":{"start":{"line":300,"column":4},"end":{"line":308,"column":5}},"118":{"start":{"line":301,"column":24},"end":{"line":301,"column":52}},"119":{"start":{"line":302,"column":6},"end":{"line":304,"column":7}},"120":{"start":{"line":303,"column":8},"end":{"line":303,"column":20}},"121":{"start":{"line":305,"column":6},"end":{"line":305,"column":19}},"122":{"start":{"line":307,"column":6},"end":{"line":307,"column":19}},"123":{"start":{"line":311,"column":2},"end":{"line":327,"column":5}},"124":{"start":{"line":311,"column":24},"end":{"line":319,"column":3}}},"fnMap":{"0":{"name":"useGitHub","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":25}},"loc":{"start":{"line":29,"column":28},"end":{"line":328,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":43},"end":{"line":41,"column":44}},"loc":{"start":{"line":41,"column":106},"end":{"line":49,"column":3}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":37}},"loc":{"start":{"line":51,"column":48},"end":{"line":57,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":41},"end":{"line":59,"column":42}},"loc":{"start":{"line":59,"column":135},"end":{"line":123,"column":3}},"line":59},"4":{"name":"(anonymous_4)","decl":{"start":{"line":136,"column":40},"end":{"line":136,"column":41}},"loc":{"start":{"line":138,"column":110},"end":{"line":143,"column":3}},"line":138},"5":{"name":"(anonymous_5)","decl":{"start":{"line":145,"column":43},"end":{"line":145,"column":44}},"loc":{"start":{"line":145,"column":158},"end":{"line":180,"column":3}},"line":145},"6":{"name":"(anonymous_6)","decl":{"start":{"line":186,"column":43},"end":{"line":186,"column":44}},"loc":{"start":{"line":186,"column":110},"end":{"line":248,"column":3}},"line":186},"7":{"name":"(anonymous_7)","decl":{"start":{"line":260,"column":46},"end":{"line":260,"column":47}},"loc":{"start":{"line":260,"column":112},"end":{"line":282,"column":3}},"line":260},"8":{"name":"(anonymous_8)","decl":{"start":{"line":288,"column":42},"end":{"line":288,"column":43}},"loc":{"start":{"line":288,"column":80},"end":{"line":291,"column":3}},"line":288},"9":{"name":"(anonymous_9)","decl":{"start":{"line":293,"column":41},"end":{"line":293,"column":42}},"loc":{"start":{"line":293,"column":109},"end":{"line":296,"column":3}},"line":293},"10":{"name":"(anonymous_10)","decl":{"start":{"line":298,"column":49},"end":{"line":298,"column":50}},"loc":{"start":{"line":298,"column":105},"end":{"line":309,"column":3}},"line":298},"11":{"name":"(anonymous_11)","decl":{"start":{"line":311,"column":17},"end":{"line":311,"column":18}},"loc":{"start":{"line":311,"column":24},"end":{"line":319,"column":3}},"line":311}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":65},"end":{"line":43,"column":91}},"type":"binary-expr","locations":[{"start":{"line":43,"column":65},"end":{"line":43,"column":70}},{"start":{"line":43,"column":74},"end":{"line":43,"column":91}}],"line":43},"1":{"loc":{"start":{"line":43,"column":93},"end":{"line":43,"column":118}},"type":"binary-expr","locations":[{"start":{"line":43,"column":93},"end":{"line":43,"column":97}},{"start":{"line":43,"column":101},"end":{"line":43,"column":118}}],"line":43},"2":{"loc":{"start":{"line":43,"column":120},"end":{"line":43,"column":141}},"type":"binary-expr","locations":[{"start":{"line":43,"column":120},"end":{"line":43,"column":135}},{"start":{"line":43,"column":139},"end":{"line":43,"column":141}}],"line":43},"3":{"loc":{"start":{"line":45,"column":4},"end":{"line":45,"column":69}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":69}},{"start":{},"end":{}}],"line":45},"4":{"loc":{"start":{"line":46,"column":4},"end":{"line":46,"column":67}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":46,"column":67}},{"start":{},"end":{}}],"line":46},"5":{"loc":{"start":{"line":47,"column":4},"end":{"line":47,"column":51}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":47,"column":51}},{"start":{},"end":{}}],"line":47},"6":{"loc":{"start":{"line":63,"column":4},"end":{"line":115,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":115,"column":5}},{"start":{},"end":{}}],"line":63},"7":{"loc":{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},{"start":{},"end":{}}],"line":66},"8":{"loc":{"start":{"line":80,"column":76},"end":{"line":80,"column":106}},"type":"cond-expr","locations":[{"start":{"line":80,"column":88},"end":{"line":80,"column":101}},{"start":{"line":80,"column":104},"end":{"line":80,"column":106}}],"line":80},"9":{"loc":{"start":{"line":104,"column":8},"end":{"line":109,"column":9}},"type":"if","locations":[{"start":{"line":104,"column":8},"end":{"line":109,"column":9}},{"start":{},"end":{}}],"line":104},"10":{"loc":{"start":{"line":104,"column":12},"end":{"line":104,"column":92}},"type":"binary-expr","locations":[{"start":{"line":104,"column":12},"end":{"line":104,"column":30}},{"start":{"line":104,"column":34},"end":{"line":104,"column":92}}],"line":104},"11":{"loc":{"start":{"line":140,"column":4},"end":{"line":140,"column":71}},"type":"if","locations":[{"start":{"line":140,"column":4},"end":{"line":140,"column":71}},{"start":{},"end":{}}],"line":140},"12":{"loc":{"start":{"line":147,"column":4},"end":{"line":147,"column":71}},"type":"if","locations":[{"start":{"line":147,"column":4},"end":{"line":147,"column":71}},{"start":{},"end":{}}],"line":147},"13":{"loc":{"start":{"line":157,"column":6},"end":{"line":162,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":162,"column":7}},{"start":{},"end":{}}],"line":157},"14":{"loc":{"start":{"line":163,"column":6},"end":{"line":172,"column":7}},"type":"if","locations":[{"start":{"line":163,"column":6},"end":{"line":172,"column":7}},{"start":{},"end":{}}],"line":163},"15":{"loc":{"start":{"line":165,"column":64},"end":{"line":165,"column":126}},"type":"binary-expr","locations":[{"start":{"line":165,"column":64},"end":{"line":165,"column":95}},{"start":{"line":165,"column":99},"end":{"line":165,"column":126}}],"line":165},"16":{"loc":{"start":{"line":191,"column":6},"end":{"line":196,"column":7}},"type":"if","locations":[{"start":{"line":191,"column":6},"end":{"line":196,"column":7}},{"start":{},"end":{}}],"line":191},"17":{"loc":{"start":{"line":191,"column":10},"end":{"line":191,"column":45}},"type":"binary-expr","locations":[{"start":{"line":191,"column":10},"end":{"line":191,"column":22}},{"start":{"line":191,"column":26},"end":{"line":191,"column":45}}],"line":191},"18":{"loc":{"start":{"line":202,"column":6},"end":{"line":207,"column":7}},"type":"if","locations":[{"start":{"line":202,"column":6},"end":{"line":207,"column":7}},{"start":{},"end":{}}],"line":202},"19":{"loc":{"start":{"line":208,"column":6},"end":{"line":238,"column":7}},"type":"if","locations":[{"start":{"line":208,"column":6},"end":{"line":238,"column":7}},{"start":{},"end":{}}],"line":208},"20":{"loc":{"start":{"line":209,"column":8},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":209,"column":8},"end":{"line":236,"column":9}},{"start":{},"end":{}}],"line":209},"21":{"loc":{"start":{"line":210,"column":10},"end":{"line":212,"column":98}},"type":"binary-expr","locations":[{"start":{"line":210,"column":10},"end":{"line":210,"column":42}},{"start":{"line":211,"column":13},"end":{"line":211,"column":45}},{"start":{"line":212,"column":13},"end":{"line":212,"column":98}}],"line":210},"22":{"loc":{"start":{"line":212,"column":22},"end":{"line":212,"column":76}},"type":"binary-expr","locations":[{"start":{"line":212,"column":22},"end":{"line":212,"column":53}},{"start":{"line":212,"column":57},"end":{"line":212,"column":76}}],"line":212},"23":{"loc":{"start":{"line":215,"column":10},"end":{"line":235,"column":11}},"type":"if","locations":[{"start":{"line":215,"column":10},"end":{"line":235,"column":11}},{"start":{},"end":{}}],"line":215},"24":{"loc":{"start":{"line":233,"column":58},"end":{"line":233,"column":88}},"type":"cond-expr","locations":[{"start":{"line":233,"column":70},"end":{"line":233,"column":83}},{"start":{"line":233,"column":86},"end":{"line":233,"column":88}}],"line":233},"25":{"loc":{"start":{"line":262,"column":4},"end":{"line":275,"column":5}},"type":"if","locations":[{"start":{"line":262,"column":4},"end":{"line":275,"column":5}},{"start":{"line":270,"column":11},"end":{"line":275,"column":5}}],"line":262},"26":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{},"end":{}}],"line":267},"27":{"loc":{"start":{"line":278,"column":14},"end":{"line":278,"column":35}},"type":"binary-expr","locations":[{"start":{"line":278,"column":14},"end":{"line":278,"column":25}},{"start":{"line":278,"column":29},"end":{"line":278,"column":35}}],"line":278},"28":{"loc":{"start":{"line":279,"column":14},"end":{"line":279,"column":35}},"type":"binary-expr","locations":[{"start":{"line":279,"column":14},"end":{"line":279,"column":25}},{"start":{"line":279,"column":29},"end":{"line":279,"column":35}}],"line":279},"29":{"loc":{"start":{"line":302,"column":6},"end":{"line":304,"column":7}},"type":"if","locations":[{"start":{"line":302,"column":6},"end":{"line":304,"column":7}},{"start":{},"end":{}}],"line":302},"30":{"loc":{"start":{"line":302,"column":10},"end":{"line":302,"column":75}},"type":"binary-expr","locations":[{"start":{"line":302,"column":10},"end":{"line":302,"column":19}},{"start":{"line":302,"column":23},"end":{"line":302,"column":40}},{"start":{"line":302,"column":44},"end":{"line":302,"column":75}}],"line":302}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":6,"column":18},"end":{"line":6,"column":46}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":49}}},"fnMap":{"0":{"name":"getGitlabCreatePullRequestUrl","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":45}},"loc":{"start":{"line":5,"column":2},"end":{"line":9,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":46}},"type":"binary-expr","locations":[{"start":{"line":6,"column":18},"end":{"line":6,"column":22}},{"start":{"line":6,"column":26},"end":{"line":6,"column":46}}],"line":6}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/gitlab.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/gitlab.tsx","statementMap":{"0":{"start":{"line":31,"column":29},"end":{"line":42,"column":1}},"1":{"start":{"line":34,"column":6},"end":{"line":34,"column":13}},"2":{"start":{"line":35,"column":27},"end":{"line":35,"column":74}},"3":{"start":{"line":37,"column":24},"end":{"line":37,"column":136}},"4":{"start":{"line":38,"column":2},"end":{"line":38,"column":51}},"5":{"start":{"line":38,"column":16},"end":{"line":38,"column":51}},"6":{"start":{"line":39,"column":2},"end":{"line":39,"column":49}},"7":{"start":{"line":39,"column":14},"end":{"line":39,"column":49}},"8":{"start":{"line":40,"column":2},"end":{"line":40,"column":49}},"9":{"start":{"line":40,"column":17},"end":{"line":40,"column":49}},"10":{"start":{"line":41,"column":2},"end":{"line":41,"column":41}},"11":{"start":{"line":45,"column":17},"end":{"line":45,"column":44}},"12":{"start":{"line":46,"column":17},"end":{"line":46,"column":48}},"13":{"start":{"line":47,"column":24},"end":{"line":47,"column":79}},"14":{"start":{"line":48,"column":23},"end":{"line":48,"column":56}},"15":{"start":{"line":49,"column":22},"end":{"line":49,"column":54}},"16":{"start":{"line":50,"column":35},"end":{"line":50,"column":80}},"17":{"start":{"line":51,"column":20},"end":{"line":51,"column":34}},"18":{"start":{"line":52,"column":19},"end":{"line":52,"column":42}},"19":{"start":{"line":54,"column":22},"end":{"line":54,"column":34}},"20":{"start":{"line":55,"column":42},"end":{"line":55,"column":57}},"21":{"start":{"line":57,"column":31},"end":{"line":57,"column":61}},"22":{"start":{"line":59,"column":24},"end":{"line":65,"column":15}},"23":{"start":{"line":60,"column":26},"end":{"line":63,"column":6}},"24":{"start":{"line":64,"column":4},"end":{"line":64,"column":25}},"25":{"start":{"line":67,"column":29},"end":{"line":145,"column":4}},"26":{"start":{"line":68,"column":20},"end":{"line":68,"column":66}},"27":{"start":{"line":70,"column":4},"end":{"line":70,"column":54}},"28":{"start":{"line":72,"column":25},"end":{"line":72,"column":74}},"29":{"start":{"line":73,"column":4},"end":{"line":128,"column":5}},"30":{"start":{"line":74,"column":46},"end":{"line":74,"column":58}},"31":{"start":{"line":75,"column":6},"end":{"line":127,"column":7}},"32":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"33":{"start":{"line":76,"column":26},"end":{"line":76,"column":61}},"34":{"start":{"line":77,"column":25},"end":{"line":79,"column":9}},"35":{"start":{"line":80,"column":8},"end":{"line":87,"column":11}},"36":{"start":{"line":88,"column":33},"end":{"line":88,"column":68}},"37":{"start":{"line":89,"column":8},"end":{"line":89,"column":107}},"38":{"start":{"line":90,"column":8},"end":{"line":90,"column":137}},"39":{"start":{"line":91,"column":8},"end":{"line":97,"column":11}},"40":{"start":{"line":98,"column":8},"end":{"line":102,"column":11}},"41":{"start":{"line":103,"column":25},"end":{"line":103,"column":54}},"42":{"start":{"line":104,"column":8},"end":{"line":104,"column":51}},"43":{"start":{"line":105,"column":40},"end":{"line":105,"column":110}},"44":{"start":{"line":106,"column":8},"end":{"line":106,"column":72}},"45":{"start":{"line":107,"column":8},"end":{"line":107,"column":41}},"46":{"start":{"line":108,"column":8},"end":{"line":113,"column":10}},"47":{"start":{"line":115,"column":8},"end":{"line":115,"column":26}},"48":{"start":{"line":116,"column":8},"end":{"line":116,"column":50}},"49":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"50":{"start":{"line":118,"column":10},"end":{"line":121,"column":12}},"51":{"start":{"line":123,"column":8},"end":{"line":126,"column":10}},"52":{"start":{"line":129,"column":4},"end":{"line":132,"column":6}},"53":{"start":{"line":147,"column":28},"end":{"line":154,"column":49}},"54":{"start":{"line":150,"column":20},"end":{"line":150,"column":66}},"55":{"start":{"line":151,"column":4},"end":{"line":151,"column":71}},"56":{"start":{"line":151,"column":45},"end":{"line":151,"column":71}},"57":{"start":{"line":152,"column":27},"end":{"line":152,"column":51}},"58":{"start":{"line":153,"column":4},"end":{"line":153,"column":59}},"59":{"start":{"line":156,"column":31},"end":{"line":190,"column":58}},"60":{"start":{"line":157,"column":20},"end":{"line":157,"column":66}},"61":{"start":{"line":158,"column":4},"end":{"line":158,"column":71}},"62":{"start":{"line":158,"column":45},"end":{"line":158,"column":71}},"63":{"start":{"line":159,"column":4},"end":{"line":161,"column":7}},"64":{"start":{"line":163,"column":4},"end":{"line":188,"column":5}},"65":{"start":{"line":164,"column":22},"end":{"line":164,"column":46}},"66":{"start":{"line":165,"column":6},"end":{"line":170,"column":7}},"67":{"start":{"line":166,"column":8},"end":{"line":169,"column":10}},"68":{"start":{"line":172,"column":6},"end":{"line":181,"column":7}},"69":{"start":{"line":174,"column":29},"end":{"line":174,"column":127}},"70":{"start":{"line":175,"column":33},"end":{"line":175,"column":68}},"71":{"start":{"line":176,"column":8},"end":{"line":180,"column":10}},"72":{"start":{"line":183,"column":6},"end":{"line":183,"column":30}},"73":{"start":{"line":184,"column":6},"end":{"line":187,"column":8}},"74":{"start":{"line":189,"column":4},"end":{"line":189,"column":16}},"75":{"start":{"line":192,"column":31},"end":{"line":267,"column":4}},"76":{"start":{"line":193,"column":4},"end":{"line":253,"column":5}},"77":{"start":{"line":194,"column":22},"end":{"line":194,"column":68}},"78":{"start":{"line":195,"column":26},"end":{"line":195,"column":55}},"79":{"start":{"line":196,"column":6},"end":{"line":196,"column":52}},"80":{"start":{"line":198,"column":6},"end":{"line":203,"column":7}},"81":{"start":{"line":199,"column":8},"end":{"line":202,"column":10}},"82":{"start":{"line":205,"column":6},"end":{"line":205,"column":43}},"83":{"start":{"line":207,"column":22},"end":{"line":207,"column":46}},"84":{"start":{"line":208,"column":6},"end":{"line":213,"column":7}},"85":{"start":{"line":209,"column":8},"end":{"line":212,"column":10}},"86":{"start":{"line":214,"column":6},"end":{"line":244,"column":7}},"87":{"start":{"line":215,"column":8},"end":{"line":242,"column":9}},"88":{"start":{"line":220,"column":31},"end":{"line":220,"column":52}},"89":{"start":{"line":221,"column":10},"end":{"line":241,"column":11}},"90":{"start":{"line":222,"column":37},"end":{"line":222,"column":72}},"91":{"start":{"line":223,"column":33},"end":{"line":223,"column":100}},"92":{"start":{"line":224,"column":12},"end":{"line":230,"column":15}},"93":{"start":{"line":231,"column":12},"end":{"line":235,"column":15}},"94":{"start":{"line":236,"column":44},"end":{"line":236,"column":130}},"95":{"start":{"line":237,"column":12},"end":{"line":237,"column":76}},"96":{"start":{"line":238,"column":12},"end":{"line":238,"column":58}},"97":{"start":{"line":239,"column":12},"end":{"line":239,"column":119}},"98":{"start":{"line":240,"column":12},"end":{"line":240,"column":52}},"99":{"start":{"line":243,"column":8},"end":{"line":243,"column":23}},"100":{"start":{"line":245,"column":6},"end":{"line":245,"column":47}},"101":{"start":{"line":247,"column":6},"end":{"line":247,"column":73}},"102":{"start":{"line":248,"column":6},"end":{"line":248,"column":32}},"103":{"start":{"line":249,"column":6},"end":{"line":252,"column":8}},"104":{"start":{"line":269,"column":34},"end":{"line":303,"column":4}},"105":{"start":{"line":270,"column":27},"end":{"line":270,"column":47}},"106":{"start":{"line":271,"column":29},"end":{"line":271,"column":51}},"107":{"start":{"line":272,"column":4},"end":{"line":274,"column":5}},"108":{"start":{"line":273,"column":6},"end":{"line":273,"column":69}},"109":{"start":{"line":275,"column":17},"end":{"line":275,"column":52}},"110":{"start":{"line":277,"column":4},"end":{"line":292,"column":5}},"111":{"start":{"line":278,"column":6},"end":{"line":281,"column":9}},"112":{"start":{"line":282,"column":6},"end":{"line":284,"column":7}},"113":{"start":{"line":283,"column":8},"end":{"line":283,"column":49}},"114":{"start":{"line":287,"column":6},"end":{"line":287,"column":108}},"115":{"start":{"line":288,"column":6},"end":{"line":291,"column":8}},"116":{"start":{"line":293,"column":4},"end":{"line":298,"column":6}},"117":{"start":{"line":305,"column":30},"end":{"line":308,"column":39}},"118":{"start":{"line":306,"column":20},"end":{"line":306,"column":66}},"119":{"start":{"line":307,"column":4},"end":{"line":307,"column":35}},"120":{"start":{"line":310,"column":29},"end":{"line":313,"column":39}},"121":{"start":{"line":311,"column":20},"end":{"line":311,"column":66}},"122":{"start":{"line":312,"column":4},"end":{"line":312,"column":51}},"123":{"start":{"line":315,"column":37},"end":{"line":326,"column":39}},"124":{"start":{"line":316,"column":20},"end":{"line":316,"column":66}},"125":{"start":{"line":317,"column":4},"end":{"line":325,"column":5}},"126":{"start":{"line":318,"column":31},"end":{"line":318,"column":66}},"127":{"start":{"line":319,"column":6},"end":{"line":321,"column":7}},"128":{"start":{"line":320,"column":8},"end":{"line":320,"column":20}},"129":{"start":{"line":322,"column":6},"end":{"line":322,"column":19}},"130":{"start":{"line":324,"column":6},"end":{"line":324,"column":19}},"131":{"start":{"line":328,"column":2},"end":{"line":344,"column":5}},"132":{"start":{"line":328,"column":24},"end":{"line":336,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":29},"end":{"line":31,"column":30}},"loc":{"start":{"line":31,"column":87},"end":{"line":42,"column":1}},"line":31},"1":{"name":"useGitLab","decl":{"start":{"line":44,"column":16},"end":{"line":44,"column":25}},"loc":{"start":{"line":44,"column":28},"end":{"line":345,"column":1}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":36},"end":{"line":59,"column":37}},"loc":{"start":{"line":59,"column":48},"end":{"line":65,"column":3}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":41},"end":{"line":67,"column":42}},"loc":{"start":{"line":67,"column":135},"end":{"line":133,"column":3}},"line":67},"4":{"name":"(anonymous_4)","decl":{"start":{"line":147,"column":40},"end":{"line":147,"column":41}},"loc":{"start":{"line":149,"column":81},"end":{"line":154,"column":3}},"line":149},"5":{"name":"(anonymous_5)","decl":{"start":{"line":156,"column":43},"end":{"line":156,"column":44}},"loc":{"start":{"line":156,"column":158},"end":{"line":190,"column":3}},"line":156},"6":{"name":"(anonymous_6)","decl":{"start":{"line":192,"column":43},"end":{"line":192,"column":44}},"loc":{"start":{"line":192,"column":110},"end":{"line":254,"column":3}},"line":192},"7":{"name":"(anonymous_7)","decl":{"start":{"line":269,"column":46},"end":{"line":269,"column":47}},"loc":{"start":{"line":269,"column":112},"end":{"line":299,"column":3}},"line":269},"8":{"name":"(anonymous_8)","decl":{"start":{"line":305,"column":42},"end":{"line":305,"column":43}},"loc":{"start":{"line":305,"column":80},"end":{"line":308,"column":3}},"line":305},"9":{"name":"(anonymous_9)","decl":{"start":{"line":310,"column":41},"end":{"line":310,"column":42}},"loc":{"start":{"line":310,"column":115},"end":{"line":313,"column":3}},"line":310},"10":{"name":"(anonymous_10)","decl":{"start":{"line":315,"column":49},"end":{"line":315,"column":50}},"loc":{"start":{"line":315,"column":105},"end":{"line":326,"column":3}},"line":315},"11":{"name":"(anonymous_11)","decl":{"start":{"line":328,"column":17},"end":{"line":328,"column":18}},"loc":{"start":{"line":328,"column":24},"end":{"line":336,"column":3}},"line":328}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":92},"end":{"line":37,"column":105}},"type":"binary-expr","locations":[{"start":{"line":37,"column":92},"end":{"line":37,"column":99}},{"start":{"line":37,"column":103},"end":{"line":37,"column":105}}],"line":37},"1":{"loc":{"start":{"line":38,"column":2},"end":{"line":38,"column":51}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":38,"column":51}},{"start":{},"end":{}}],"line":38},"2":{"loc":{"start":{"line":39,"column":2},"end":{"line":39,"column":49}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":39,"column":49}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":40,"column":49}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":40,"column":49}},{"start":{},"end":{}}],"line":40},"4":{"loc":{"start":{"line":73,"column":4},"end":{"line":128,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":128,"column":5}},{"start":{},"end":{}}],"line":73},"5":{"loc":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},{"start":{},"end":{}}],"line":76},"6":{"loc":{"start":{"line":90,"column":76},"end":{"line":90,"column":132}},"type":"cond-expr","locations":[{"start":{"line":90,"column":95},"end":{"line":90,"column":127}},{"start":{"line":90,"column":130},"end":{"line":90,"column":132}}],"line":90},"7":{"loc":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},{"start":{},"end":{}}],"line":117},"8":{"loc":{"start":{"line":151,"column":4},"end":{"line":151,"column":71}},"type":"if","locations":[{"start":{"line":151,"column":4},"end":{"line":151,"column":71}},{"start":{},"end":{}}],"line":151},"9":{"loc":{"start":{"line":158,"column":4},"end":{"line":158,"column":71}},"type":"if","locations":[{"start":{"line":158,"column":4},"end":{"line":158,"column":71}},{"start":{},"end":{}}],"line":158},"10":{"loc":{"start":{"line":165,"column":6},"end":{"line":170,"column":7}},"type":"if","locations":[{"start":{"line":165,"column":6},"end":{"line":170,"column":7}},{"start":{},"end":{}}],"line":165},"11":{"loc":{"start":{"line":172,"column":6},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":172,"column":6},"end":{"line":181,"column":7}},{"start":{},"end":{}}],"line":172},"12":{"loc":{"start":{"line":174,"column":64},"end":{"line":174,"column":126}},"type":"binary-expr","locations":[{"start":{"line":174,"column":64},"end":{"line":174,"column":95}},{"start":{"line":174,"column":99},"end":{"line":174,"column":126}}],"line":174},"13":{"loc":{"start":{"line":179,"column":14},"end":{"line":179,"column":70}},"type":"cond-expr","locations":[{"start":{"line":179,"column":33},"end":{"line":179,"column":65}},{"start":{"line":179,"column":68},"end":{"line":179,"column":70}}],"line":179},"14":{"loc":{"start":{"line":198,"column":6},"end":{"line":203,"column":7}},"type":"if","locations":[{"start":{"line":198,"column":6},"end":{"line":203,"column":7}},{"start":{},"end":{}}],"line":198},"15":{"loc":{"start":{"line":198,"column":10},"end":{"line":198,"column":45}},"type":"binary-expr","locations":[{"start":{"line":198,"column":10},"end":{"line":198,"column":22}},{"start":{"line":198,"column":26},"end":{"line":198,"column":45}}],"line":198},"16":{"loc":{"start":{"line":208,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":208,"column":6},"end":{"line":213,"column":7}},{"start":{},"end":{}}],"line":208},"17":{"loc":{"start":{"line":214,"column":6},"end":{"line":244,"column":7}},"type":"if","locations":[{"start":{"line":214,"column":6},"end":{"line":244,"column":7}},{"start":{},"end":{}}],"line":214},"18":{"loc":{"start":{"line":215,"column":8},"end":{"line":242,"column":9}},"type":"if","locations":[{"start":{"line":215,"column":8},"end":{"line":242,"column":9}},{"start":{},"end":{}}],"line":215},"19":{"loc":{"start":{"line":216,"column":10},"end":{"line":218,"column":98}},"type":"binary-expr","locations":[{"start":{"line":216,"column":10},"end":{"line":216,"column":42}},{"start":{"line":217,"column":13},"end":{"line":217,"column":45}},{"start":{"line":218,"column":13},"end":{"line":218,"column":98}}],"line":216},"20":{"loc":{"start":{"line":218,"column":22},"end":{"line":218,"column":76}},"type":"binary-expr","locations":[{"start":{"line":218,"column":22},"end":{"line":218,"column":53}},{"start":{"line":218,"column":57},"end":{"line":218,"column":76}}],"line":218},"21":{"loc":{"start":{"line":221,"column":10},"end":{"line":241,"column":11}},"type":"if","locations":[{"start":{"line":221,"column":10},"end":{"line":241,"column":11}},{"start":{},"end":{}}],"line":221},"22":{"loc":{"start":{"line":239,"column":58},"end":{"line":239,"column":114}},"type":"cond-expr","locations":[{"start":{"line":239,"column":77},"end":{"line":239,"column":109}},{"start":{"line":239,"column":112},"end":{"line":239,"column":114}}],"line":239},"23":{"loc":{"start":{"line":272,"column":4},"end":{"line":274,"column":5}},"type":"if","locations":[{"start":{"line":272,"column":4},"end":{"line":274,"column":5}},{"start":{},"end":{}}],"line":272},"24":{"loc":{"start":{"line":277,"column":4},"end":{"line":292,"column":5}},"type":"if","locations":[{"start":{"line":277,"column":4},"end":{"line":292,"column":5}},{"start":{"line":285,"column":11},"end":{"line":292,"column":5}}],"line":277},"25":{"loc":{"start":{"line":282,"column":6},"end":{"line":284,"column":7}},"type":"if","locations":[{"start":{"line":282,"column":6},"end":{"line":284,"column":7}},{"start":{},"end":{}}],"line":282},"26":{"loc":{"start":{"line":295,"column":14},"end":{"line":295,"column":35}},"type":"binary-expr","locations":[{"start":{"line":295,"column":14},"end":{"line":295,"column":25}},{"start":{"line":295,"column":29},"end":{"line":295,"column":35}}],"line":295},"27":{"loc":{"start":{"line":296,"column":14},"end":{"line":296,"column":35}},"type":"binary-expr","locations":[{"start":{"line":296,"column":14},"end":{"line":296,"column":25}},{"start":{"line":296,"column":29},"end":{"line":296,"column":35}}],"line":296},"28":{"loc":{"start":{"line":319,"column":6},"end":{"line":321,"column":7}},"type":"if","locations":[{"start":{"line":319,"column":6},"end":{"line":321,"column":7}},{"start":{},"end":{}}],"line":319},"29":{"loc":{"start":{"line":319,"column":10},"end":{"line":319,"column":113}},"type":"binary-expr","locations":[{"start":{"line":319,"column":10},"end":{"line":319,"column":28}},{"start":{"line":319,"column":32},"end":{"line":319,"column":52}},{"start":{"line":319,"column":56},"end":{"line":319,"column":113}}],"line":319}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/getSupernovaOpenCloud.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/getSupernovaOpenCloud.ts","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":3,"column":45}}},"fnMap":{"0":{"name":"getSupernovaOpenCloud","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":37}},"loc":{"start":{"line":2,"column":63},"end":{"line":4,"column":1}},"line":2}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":9},"end":{"line":3,"column":44}},"type":"binary-expr","locations":[{"start":{"line":3,"column":9},"end":{"line":3,"column":12}},{"start":{"line":3,"column":16},"end":{"line":3,"column":44}}],"line":3}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/supernova.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/supernova.tsx","statementMap":{"0":{"start":{"line":30,"column":17},"end":{"line":30,"column":44}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":54}},"2":{"start":{"line":32,"column":17},"end":{"line":32,"column":48}},"3":{"start":{"line":33,"column":23},"end":{"line":33,"column":56}},"4":{"start":{"line":34,"column":35},"end":{"line":34,"column":80}},"5":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"6":{"start":{"line":36,"column":24},"end":{"line":36,"column":58}},"7":{"start":{"line":37,"column":42},"end":{"line":37,"column":57}},"8":{"start":{"line":39,"column":31},"end":{"line":42,"column":8}},"9":{"start":{"line":40,"column":26},"end":{"line":40,"column":109}},"10":{"start":{"line":41,"column":4},"end":{"line":41,"column":25}},"11":{"start":{"line":44,"column":32},"end":{"line":117,"column":3}},"12":{"start":{"line":46,"column":22},"end":{"line":46,"column":57}},"13":{"start":{"line":48,"column":6},"end":{"line":48,"column":56}},"14":{"start":{"line":49,"column":27},"end":{"line":49,"column":76}},"15":{"start":{"line":50,"column":6},"end":{"line":114,"column":7}},"16":{"start":{"line":51,"column":8},"end":{"line":106,"column":9}},"17":{"start":{"line":52,"column":27},"end":{"line":54,"column":11}},"18":{"start":{"line":55,"column":10},"end":{"line":64,"column":12}},"19":{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},"20":{"start":{"line":66,"column":10},"end":{"line":66,"column":54}},"21":{"start":{"line":67,"column":10},"end":{"line":73,"column":13}},"22":{"start":{"line":74,"column":10},"end":{"line":78,"column":13}},"23":{"start":{"line":79,"column":42},"end":{"line":79,"column":112}},"24":{"start":{"line":80,"column":10},"end":{"line":80,"column":74}},"25":{"start":{"line":81,"column":10},"end":{"line":81,"column":43}},"26":{"start":{"line":82,"column":10},"end":{"line":87,"column":12}},"27":{"start":{"line":89,"column":10},"end":{"line":89,"column":28}},"28":{"start":{"line":91,"column":10},"end":{"line":101,"column":11}},"29":{"start":{"line":92,"column":34},"end":{"line":92,"column":64}},"30":{"start":{"line":93,"column":12},"end":{"line":98,"column":13}},"31":{"start":{"line":94,"column":14},"end":{"line":97,"column":16}},"32":{"start":{"line":100,"column":12},"end":{"line":100,"column":29}},"33":{"start":{"line":102,"column":10},"end":{"line":105,"column":12}},"34":{"start":{"line":108,"column":8},"end":{"line":113,"column":10}},"35":{"start":{"line":119,"column":34},"end":{"line":148,"column":4}},"36":{"start":{"line":120,"column":20},"end":{"line":120,"column":49}},"37":{"start":{"line":122,"column":4},"end":{"line":144,"column":5}},"38":{"start":{"line":123,"column":22},"end":{"line":123,"column":46}},"39":{"start":{"line":124,"column":6},"end":{"line":129,"column":7}},"40":{"start":{"line":125,"column":8},"end":{"line":128,"column":10}},"41":{"start":{"line":130,"column":6},"end":{"line":138,"column":7}},"42":{"start":{"line":132,"column":29},"end":{"line":132,"column":127}},"43":{"start":{"line":134,"column":8},"end":{"line":137,"column":10}},"44":{"start":{"line":140,"column":6},"end":{"line":143,"column":8}},"45":{"start":{"line":145,"column":4},"end":{"line":145,"column":16}},"46":{"start":{"line":151,"column":34},"end":{"line":164,"column":3}},"47":{"start":{"line":153,"column":6},"end":{"line":161,"column":7}},"48":{"start":{"line":154,"column":8},"end":{"line":154,"column":61}},"49":{"start":{"line":156,"column":8},"end":{"line":156,"column":87}},"50":{"start":{"line":157,"column":8},"end":{"line":160,"column":10}},"51":{"start":{"line":166,"column":37},"end":{"line":197,"column":3}},"52":{"start":{"line":168,"column":19},"end":{"line":168,"column":57}},"53":{"start":{"line":169,"column":6},"end":{"line":174,"column":7}},"54":{"start":{"line":170,"column":8},"end":{"line":173,"column":10}},"55":{"start":{"line":175,"column":6},"end":{"line":188,"column":7}},"56":{"start":{"line":176,"column":8},"end":{"line":179,"column":11}},"57":{"start":{"line":180,"column":8},"end":{"line":182,"column":9}},"58":{"start":{"line":181,"column":10},"end":{"line":181,"column":51}},"59":{"start":{"line":184,"column":8},"end":{"line":187,"column":10}},"60":{"start":{"line":189,"column":6},"end":{"line":194,"column":8}},"61":{"start":{"line":199,"column":2},"end":{"line":207,"column":4}},"62":{"start":{"line":200,"column":11},"end":{"line":205,"column":5}}},"fnMap":{"0":{"name":"useSupernova","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":28}},"loc":{"start":{"line":29,"column":31},"end":{"line":208,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":43},"end":{"line":39,"column":44}},"loc":{"start":{"line":39,"column":78},"end":{"line":42,"column":3}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":101},"end":{"line":115,"column":5}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":119,"column":46},"end":{"line":119,"column":47}},"loc":{"start":{"line":119,"column":123},"end":{"line":146,"column":3}},"line":119},"4":{"name":"(anonymous_4)","decl":{"start":{"line":152,"column":4},"end":{"line":152,"column":5}},"loc":{"start":{"line":152,"column":74},"end":{"line":162,"column":5}},"line":152},"5":{"name":"(anonymous_5)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":167,"column":73},"end":{"line":195,"column":5}},"line":167},"6":{"name":"(anonymous_6)","decl":{"start":{"line":200,"column":4},"end":{"line":200,"column":5}},"loc":{"start":{"line":200,"column":11},"end":{"line":205,"column":5}},"line":200}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":6},"end":{"line":114,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":114,"column":7}},{"start":{"line":107,"column":13},"end":{"line":114,"column":7}}],"line":50},"1":{"loc":{"start":{"line":93,"column":12},"end":{"line":98,"column":13}},"type":"if","locations":[{"start":{"line":93,"column":12},"end":{"line":98,"column":13}},{"start":{},"end":{}}],"line":93},"2":{"loc":{"start":{"line":124,"column":6},"end":{"line":129,"column":7}},"type":"if","locations":[{"start":{"line":124,"column":6},"end":{"line":129,"column":7}},{"start":{},"end":{}}],"line":124},"3":{"loc":{"start":{"line":130,"column":6},"end":{"line":138,"column":7}},"type":"if","locations":[{"start":{"line":130,"column":6},"end":{"line":138,"column":7}},{"start":{},"end":{}}],"line":130},"4":{"loc":{"start":{"line":132,"column":64},"end":{"line":132,"column":126}},"type":"binary-expr","locations":[{"start":{"line":132,"column":64},"end":{"line":132,"column":95}},{"start":{"line":132,"column":99},"end":{"line":132,"column":126}}],"line":132},"5":{"loc":{"start":{"line":169,"column":6},"end":{"line":174,"column":7}},"type":"if","locations":[{"start":{"line":169,"column":6},"end":{"line":174,"column":7}},{"start":{},"end":{}}],"line":169},"6":{"loc":{"start":{"line":175,"column":6},"end":{"line":188,"column":7}},"type":"if","locations":[{"start":{"line":175,"column":6},"end":{"line":188,"column":7}},{"start":{"line":183,"column":13},"end":{"line":188,"column":7}}],"line":175},"7":{"loc":{"start":{"line":180,"column":8},"end":{"line":182,"column":9}},"type":"if","locations":[{"start":{"line":180,"column":8},"end":{"line":182,"column":9}},{"start":{},"end":{}}],"line":180},"8":{"loc":{"start":{"line":191,"column":16},"end":{"line":191,"column":37}},"type":"binary-expr","locations":[{"start":{"line":191,"column":16},"end":{"line":191,"column":27}},{"start":{"line":191,"column":31},"end":{"line":191,"column":37}}],"line":191},"9":{"loc":{"start":{"line":192,"column":16},"end":{"line":192,"column":37}},"type":"binary-expr","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":27}},{"start":{"line":192,"column":31},"end":{"line":192,"column":37}}],"line":192}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/tokensStudio.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/tokensStudio.tsx","statementMap":{"0":{"start":{"line":52,"column":25},"end":{"line":60,"column":1}},"1":{"start":{"line":53,"column":2},"end":{"line":56,"column":3}},"2":{"start":{"line":54,"column":4},"end":{"line":54,"column":98}},"3":{"start":{"line":55,"column":4},"end":{"line":55,"column":31}},"4":{"start":{"line":58,"column":2},"end":{"line":58,"column":76}},"5":{"start":{"line":59,"column":2},"end":{"line":59,"column":29}},"6":{"start":{"line":62,"column":34},"end":{"line":73,"column":1}},"7":{"start":{"line":65,"column":24},"end":{"line":65,"column":49}},"8":{"start":{"line":67,"column":2},"end":{"line":72,"column":5}},"9":{"start":{"line":76,"column":17},"end":{"line":76,"column":44}},"10":{"start":{"line":77,"column":22},"end":{"line":77,"column":54}},"11":{"start":{"line":78,"column":17},"end":{"line":78,"column":48}},"12":{"start":{"line":79,"column":23},"end":{"line":79,"column":56}},"13":{"start":{"line":80,"column":35},"end":{"line":80,"column":80}},"14":{"start":{"line":81,"column":19},"end":{"line":81,"column":42}},"15":{"start":{"line":82,"column":24},"end":{"line":82,"column":58}},"16":{"start":{"line":83,"column":42},"end":{"line":83,"column":57}},"17":{"start":{"line":85,"column":31},"end":{"line":88,"column":8}},"18":{"start":{"line":86,"column":26},"end":{"line":86,"column":51}},"19":{"start":{"line":87,"column":4},"end":{"line":87,"column":25}},"20":{"start":{"line":90,"column":35},"end":{"line":162,"column":3}},"21":{"start":{"line":92,"column":22},"end":{"line":92,"column":57}},"22":{"start":{"line":94,"column":6},"end":{"line":94,"column":56}},"23":{"start":{"line":95,"column":27},"end":{"line":95,"column":76}},"24":{"start":{"line":96,"column":6},"end":{"line":148,"column":7}},"25":{"start":{"line":97,"column":8},"end":{"line":140,"column":9}},"26":{"start":{"line":98,"column":27},"end":{"line":100,"column":11}},"27":{"start":{"line":101,"column":10},"end":{"line":110,"column":12}},"28":{"start":{"line":111,"column":10},"end":{"line":111,"column":93}},"29":{"start":{"line":112,"column":10},"end":{"line":112,"column":54}},"30":{"start":{"line":113,"column":10},"end":{"line":119,"column":13}},"31":{"start":{"line":120,"column":10},"end":{"line":124,"column":13}},"32":{"start":{"line":125,"column":42},"end":{"line":125,"column":112}},"33":{"start":{"line":126,"column":10},"end":{"line":126,"column":74}},"34":{"start":{"line":127,"column":10},"end":{"line":127,"column":43}},"35":{"start":{"line":128,"column":10},"end":{"line":133,"column":12}},"36":{"start":{"line":135,"column":10},"end":{"line":135,"column":28}},"37":{"start":{"line":136,"column":10},"end":{"line":139,"column":12}},"38":{"start":{"line":142,"column":8},"end":{"line":147,"column":10}},"39":{"start":{"line":164,"column":37},"end":{"line":195,"column":3}},"40":{"start":{"line":166,"column":22},"end":{"line":166,"column":51}},"41":{"start":{"line":168,"column":6},"end":{"line":191,"column":7}},"42":{"start":{"line":169,"column":24},"end":{"line":169,"column":48}},"43":{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},"44":{"start":{"line":171,"column":10},"end":{"line":174,"column":12}},"45":{"start":{"line":176,"column":8},"end":{"line":185,"column":9}},"46":{"start":{"line":177,"column":31},"end":{"line":180,"column":11}},"47":{"start":{"line":181,"column":10},"end":{"line":184,"column":12}},"48":{"start":{"line":187,"column":8},"end":{"line":190,"column":10}},"49":{"start":{"line":192,"column":6},"end":{"line":192,"column":18}},"50":{"start":{"line":197,"column":37},"end":{"line":229,"column":3}},"51":{"start":{"line":199,"column":6},"end":{"line":226,"column":7}},"52":{"start":{"line":200,"column":24},"end":{"line":200,"column":53}},"53":{"start":{"line":201,"column":21},"end":{"line":201,"column":45}},"54":{"start":{"line":203,"column":8},"end":{"line":205,"column":9}},"55":{"start":{"line":204,"column":10},"end":{"line":204,"column":46}},"56":{"start":{"line":206,"column":8},"end":{"line":211,"column":11}},"57":{"start":{"line":212,"column":8},"end":{"line":212,"column":54}},"58":{"start":{"line":213,"column":8},"end":{"line":218,"column":10}},"59":{"start":{"line":220,"column":8},"end":{"line":220,"column":61}},"60":{"start":{"line":221,"column":8},"end":{"line":221,"column":91}},"61":{"start":{"line":222,"column":8},"end":{"line":225,"column":10}},"62":{"start":{"line":231,"column":40},"end":{"line":253,"column":3}},"63":{"start":{"line":233,"column":19},"end":{"line":233,"column":60}},"64":{"start":{"line":234,"column":6},"end":{"line":239,"column":7}},"65":{"start":{"line":235,"column":8},"end":{"line":238,"column":10}},"66":{"start":{"line":241,"column":6},"end":{"line":244,"column":9}},"67":{"start":{"line":245,"column":6},"end":{"line":250,"column":8}},"68":{"start":{"line":255,"column":2},"end":{"line":263,"column":4}},"69":{"start":{"line":256,"column":11},"end":{"line":261,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":52,"column":25},"end":{"line":52,"column":26}},"loc":{"start":{"line":52,"column":63},"end":{"line":60,"column":1}},"line":52},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":34},"end":{"line":62,"column":35}},"loc":{"start":{"line":64,"column":26},"end":{"line":73,"column":1}},"line":64},"2":{"name":"useTokensStudio","decl":{"start":{"line":75,"column":16},"end":{"line":75,"column":31}},"loc":{"start":{"line":75,"column":34},"end":{"line":264,"column":1}},"line":75},"3":{"name":"(anonymous_3)","decl":{"start":{"line":85,"column":43},"end":{"line":85,"column":44}},"loc":{"start":{"line":85,"column":81},"end":{"line":88,"column":3}},"line":85},"4":{"name":"(anonymous_4)","decl":{"start":{"line":91,"column":4},"end":{"line":91,"column":5}},"loc":{"start":{"line":91,"column":104},"end":{"line":149,"column":5}},"line":91},"5":{"name":"(anonymous_5)","decl":{"start":{"line":165,"column":4},"end":{"line":165,"column":5}},"loc":{"start":{"line":165,"column":84},"end":{"line":193,"column":5}},"line":165},"6":{"name":"(anonymous_6)","decl":{"start":{"line":198,"column":4},"end":{"line":198,"column":5}},"loc":{"start":{"line":198,"column":77},"end":{"line":227,"column":5}},"line":198},"7":{"name":"(anonymous_7)","decl":{"start":{"line":232,"column":4},"end":{"line":232,"column":5}},"loc":{"start":{"line":232,"column":76},"end":{"line":251,"column":5}},"line":232},"8":{"name":"(anonymous_8)","decl":{"start":{"line":256,"column":4},"end":{"line":256,"column":5}},"loc":{"start":{"line":256,"column":11},"end":{"line":261,"column":5}},"line":256}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":2},"end":{"line":56,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":56,"column":3}},{"start":{},"end":{}}],"line":53},"1":{"loc":{"start":{"line":96,"column":6},"end":{"line":148,"column":7}},"type":"if","locations":[{"start":{"line":96,"column":6},"end":{"line":148,"column":7}},{"start":{"line":141,"column":13},"end":{"line":148,"column":7}}],"line":96},"2":{"loc":{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},"type":"if","locations":[{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},{"start":{},"end":{}}],"line":170},"3":{"loc":{"start":{"line":176,"column":8},"end":{"line":185,"column":9}},"type":"if","locations":[{"start":{"line":176,"column":8},"end":{"line":185,"column":9}},{"start":{},"end":{}}],"line":176},"4":{"loc":{"start":{"line":179,"column":12},"end":{"line":179,"column":74}},"type":"binary-expr","locations":[{"start":{"line":179,"column":12},"end":{"line":179,"column":43}},{"start":{"line":179,"column":47},"end":{"line":179,"column":74}}],"line":179},"5":{"loc":{"start":{"line":203,"column":8},"end":{"line":205,"column":9}},"type":"if","locations":[{"start":{"line":203,"column":8},"end":{"line":205,"column":9}},{"start":{},"end":{}}],"line":203},"6":{"loc":{"start":{"line":203,"column":12},"end":{"line":203,"column":46}},"type":"binary-expr","locations":[{"start":{"line":203,"column":12},"end":{"line":203,"column":17}},{"start":{"line":203,"column":21},"end":{"line":203,"column":46}}],"line":203},"7":{"loc":{"start":{"line":217,"column":20},"end":{"line":217,"column":39}},"type":"binary-expr","locations":[{"start":{"line":217,"column":20},"end":{"line":217,"column":33}},{"start":{"line":217,"column":37},"end":{"line":217,"column":39}}],"line":217},"8":{"loc":{"start":{"line":234,"column":6},"end":{"line":239,"column":7}},"type":"if","locations":[{"start":{"line":234,"column":6},"end":{"line":239,"column":7}},{"start":{},"end":{}}],"line":234},"9":{"loc":{"start":{"line":234,"column":10},"end":{"line":234,"column":44}},"type":"binary-expr","locations":[{"start":{"line":234,"column":10},"end":{"line":234,"column":15}},{"start":{"line":234,"column":19},"end":{"line":234,"column":44}}],"line":234},"10":{"loc":{"start":{"line":247,"column":16},"end":{"line":247,"column":37}},"type":"binary-expr","locations":[{"start":{"line":247,"column":16},"end":{"line":247,"column":27}},{"start":{"line":247,"column":31},"end":{"line":247,"column":37}}],"line":247},"11":{"loc":{"start":{"line":248,"column":16},"end":{"line":248,"column":37}},"type":"binary-expr","locations":[{"start":{"line":248,"column":16},"end":{"line":248,"column":27}},{"start":{"line":248,"column":31},"end":{"line":248,"column":37}}],"line":248}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateAliasesInState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateAliasesInState.ts","statementMap":{"0":{"start":{"line":7,"column":32},"end":{"line":7,"column":34}},"1":{"start":{"line":8,"column":24},"end":{"line":73,"column":3}},"2":{"start":{"line":10,"column":24},"end":{"line":67,"column":8}},"3":{"start":{"line":11,"column":8},"end":{"line":66,"column":9}},"4":{"start":{"line":13,"column":27},"end":{"line":13,"column":52}},"5":{"start":{"line":15,"column":10},"end":{"line":17,"column":11}},"6":{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},"7":{"start":{"line":16,"column":44},"end":{"line":16,"column":66}},"8":{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},"9":{"start":{"line":21,"column":34},"end":{"line":24,"column":19}},"10":{"start":{"line":21,"column":60},"end":{"line":24,"column":18}},"11":{"start":{"line":22,"column":14},"end":{"line":22,"column":81}},"12":{"start":{"line":23,"column":14},"end":{"line":23,"column":23}},"13":{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},"14":{"start":{"line":27,"column":14},"end":{"line":27,"column":68}},"15":{"start":{"line":27,"column":46},"end":{"line":27,"column":68}},"16":{"start":{"line":30,"column":12},"end":{"line":33,"column":29}},"17":{"start":{"line":37,"column":10},"end":{"line":51,"column":11}},"18":{"start":{"line":38,"column":34},"end":{"line":41,"column":18}},"19":{"start":{"line":39,"column":14},"end":{"line":39,"column":81}},"20":{"start":{"line":40,"column":14},"end":{"line":40,"column":23}},"21":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"22":{"start":{"line":44,"column":14},"end":{"line":44,"column":68}},"23":{"start":{"line":44,"column":46},"end":{"line":44,"column":68}},"24":{"start":{"line":47,"column":12},"end":{"line":50,"column":29}},"25":{"start":{"line":53,"column":27},"end":{"line":53,"column":99}},"26":{"start":{"line":54,"column":10},"end":{"line":56,"column":11}},"27":{"start":{"line":55,"column":12},"end":{"line":55,"column":66}},"28":{"start":{"line":55,"column":44},"end":{"line":55,"column":66}},"29":{"start":{"line":59,"column":10},"end":{"line":62,"column":27}},"30":{"start":{"line":64,"column":10},"end":{"line":64,"column":27}},"31":{"start":{"line":65,"column":10},"end":{"line":65,"column":23}},"32":{"start":{"line":69,"column":6},"end":{"line":69,"column":27}},"33":{"start":{"line":70,"column":6},"end":{"line":70,"column":17}},"34":{"start":{"line":74,"column":2},"end":{"line":74,"column":40}}},"fnMap":{"0":{"name":"updateAliasesInState","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":36}},"loc":{"start":{"line":6,"column":96},"end":{"line":75,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":28},"end":{"line":71,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":48},"end":{"line":10,"column":49}},"loc":{"start":{"line":10,"column":59},"end":{"line":67,"column":7}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":53},"end":{"line":21,"column":54}},"loc":{"start":{"line":21,"column":60},"end":{"line":24,"column":18}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":118},"end":{"line":21,"column":119}},"loc":{"start":{"line":21,"column":133},"end":{"line":24,"column":13}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":105},"end":{"line":38,"column":106}},"loc":{"start":{"line":38,"column":120},"end":{"line":41,"column":13}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":10},"end":{"line":17,"column":11}},"type":"if","locations":[{"start":{"line":15,"column":10},"end":{"line":17,"column":11}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},"type":"if","locations":[{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},{"start":{},"end":{}}],"line":16},"2":{"loc":{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},"type":"if","locations":[{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},{"start":{},"end":{}}],"line":20},"3":{"loc":{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":27,"column":14},"end":{"line":27,"column":68}},"type":"if","locations":[{"start":{"line":27,"column":14},"end":{"line":27,"column":68}},{"start":{},"end":{}}],"line":27},"5":{"loc":{"start":{"line":37,"column":10},"end":{"line":51,"column":11}},"type":"if","locations":[{"start":{"line":37,"column":10},"end":{"line":51,"column":11}},{"start":{},"end":{}}],"line":37},"6":{"loc":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"type":"if","locations":[{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},{"start":{},"end":{}}],"line":43},"7":{"loc":{"start":{"line":44,"column":14},"end":{"line":44,"column":68}},"type":"if","locations":[{"start":{"line":44,"column":14},"end":{"line":44,"column":68}},{"start":{},"end":{}}],"line":44},"8":{"loc":{"start":{"line":54,"column":10},"end":{"line":56,"column":11}},"type":"if","locations":[{"start":{"line":54,"column":10},"end":{"line":56,"column":11}},{"start":{},"end":{}}],"line":54},"9":{"loc":{"start":{"line":55,"column":12},"end":{"line":55,"column":66}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":55,"column":66}},{"start":{},"end":{}}],"line":55}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateModify.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateModify.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":107}},"1":{"start":{"line":5,"column":94},"end":{"line":5,"column":107}},"2":{"start":{"line":7,"column":22},"end":{"line":7,"column":66}},"3":{"start":{"line":8,"column":2},"end":{"line":16,"column":3}},"4":{"start":{"line":9,"column":4},"end":{"line":15,"column":28}},"5":{"start":{"line":10,"column":6},"end":{"line":13,"column":8}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":20}},"7":{"start":{"line":18,"column":2},"end":{"line":27,"column":19}}},"fnMap":{"0":{"name":"updateModify","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":70},"end":{"line":28,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":102},"end":{"line":9,"column":103}},"loc":{"start":{"line":9,"column":138},"end":{"line":15,"column":5}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":107}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":107}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":5,"column":6},"end":{"line":5,"column":92}},"type":"binary-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":5,"column":43}},{"start":{"line":5,"column":47},"end":{"line":5,"column":92}}],"line":5},"2":{"loc":{"start":{"line":8,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":8},"3":{"loc":{"start":{"line":8,"column":6},"end":{"line":8,"column":143}},"type":"binary-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":42}},{"start":{"line":8,"column":46},"end":{"line":8,"column":90}},{"start":{"line":8,"column":94},"end":{"line":8,"column":143}}],"line":8},"4":{"loc":{"start":{"line":24,"column":12},"end":{"line":24,"column":61}},"type":"binary-expr","locations":[{"start":{"line":24,"column":12},"end":{"line":24,"column":25}},{"start":{"line":24,"column":29},"end":{"line":24,"column":61}}],"line":24}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/properties.js": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/properties.js","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenType.defs.json.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenType.defs.json.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenTypes.js": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenTypes.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":278,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/AliasRegex.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/AliasRegex.ts","statementMap":{"0":{"start":{"line":2,"column":36},"end":{"line":2,"column":62}},"1":{"start":{"line":5,"column":26},"end":{"line":5,"column":72}},"2":{"start":{"line":7,"column":32},"end":{"line":7,"column":52}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ApplyVariablesStyleOrder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ApplyVariablesStyleOrder.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BackgroundJobs.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BackgroundJobs.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BoxShadowTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BoxShadowTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorModifierTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorModifierTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorSpaceTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorSpaceTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DefaultWindowSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DefaultWindowSize.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":4,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Direction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Direction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DocumentationProperties.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DocumentationProperties.ts","statementMap":{"0":{"start":{"line":4,"column":57},"end":{"line":25,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/EditTokenFormStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/EditTokenFormStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ErrorMessages.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ErrorMessages.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ExportProviderType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ExportProviderType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/InternalTokenGroup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/InternalTokenGroup.ts","statementMap":{"0":{"start":{"line":1,"column":40},"end":{"line":1,"column":66}},"1":{"start":{"line":2,"column":46},"end":{"line":2,"column":56}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LicenseStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LicenseStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LoadProviderType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LoadProviderType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ModalOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ModalOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Properties.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Properties.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataKeys.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataKeys.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":21,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataNamespaces.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataNamespaces.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StorageProviderType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StorageProviderType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleIdBackupKeys.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleIdBackupKeys.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":5,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SystemFilenames.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SystemFilenames.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Tabs.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Tabs.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenSetStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenSetStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"df9f738bbc7decdd2826b08b73ce28747ce293ef"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenTypes.ts","statementMap":{"0":{"start":{"line":29,"column":47},"end":{"line":42,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"611b47a0cfc82ab1f170da507a79d4132357dc83"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/UpdateMode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/UpdateMode.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ValidNodeTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ValidNodeTypes.ts","statementMap":{"0":{"start":{"line":1,"column":42},"end":{"line":15,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/VariableTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/VariableTypes.ts","statementMap":{"0":{"start":{"line":3,"column":42},"end":{"line":21,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/defaultBaseFontSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/defaultBaseFontSize.ts","statementMap":{"0":{"start":{"line":1,"column":35},"end":{"line":1,"column":39}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/docUrls.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/docUrls.ts","statementMap":{"0":{"start":{"line":1,"column":23},"end":{"line":3,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/numberRegex.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/numberRegex.ts","statementMap":{"0":{"start":{"line":1,"column":27},"end":{"line":1,"column":44}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/AuthContext.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/AuthContext.tsx","statementMap":{"0":{"start":{"line":11,"column":28},"end":{"line":19,"column":1}},"1":{"start":{"line":21,"column":20},"end":{"line":21,"column":71}},"2":{"start":{"line":23,"column":28},"end":{"line":118,"column":1}},"3":{"start":{"line":30,"column":34},"end":{"line":30,"column":65}},"4":{"start":{"line":31,"column":36},"end":{"line":31,"column":48}},"5":{"start":{"line":32,"column":46},"end":{"line":32,"column":61}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":22}},"7":{"start":{"line":37,"column":4},"end":{"line":40,"column":7}},"8":{"start":{"line":44,"column":4},"end":{"line":44,"column":22}},"9":{"start":{"line":45,"column":4},"end":{"line":45,"column":22}},"10":{"start":{"line":46,"column":4},"end":{"line":46,"column":34}},"11":{"start":{"line":48,"column":4},"end":{"line":51,"column":7}},"12":{"start":{"line":54,"column":16},"end":{"line":69,"column":8}},"13":{"start":{"line":55,"column":4},"end":{"line":55,"column":28}},"14":{"start":{"line":56,"column":28},"end":{"line":56,"column":60}},"15":{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},"16":{"start":{"line":58,"column":6},"end":{"line":58,"column":57}},"17":{"start":{"line":60,"column":6},"end":{"line":60,"column":36}},"18":{"start":{"line":61,"column":6},"end":{"line":61,"column":24}},"19":{"start":{"line":62,"column":6},"end":{"line":65,"column":9}},"20":{"start":{"line":68,"column":4},"end":{"line":68,"column":29}},"21":{"start":{"line":71,"column":17},"end":{"line":86,"column":8}},"22":{"start":{"line":72,"column":4},"end":{"line":72,"column":28}},"23":{"start":{"line":73,"column":28},"end":{"line":73,"column":61}},"24":{"start":{"line":74,"column":4},"end":{"line":83,"column":5}},"25":{"start":{"line":75,"column":6},"end":{"line":75,"column":57}},"26":{"start":{"line":77,"column":6},"end":{"line":77,"column":37}},"27":{"start":{"line":78,"column":6},"end":{"line":78,"column":24}},"28":{"start":{"line":79,"column":6},"end":{"line":82,"column":9}},"29":{"start":{"line":85,"column":4},"end":{"line":85,"column":29}},"30":{"start":{"line":88,"column":2},"end":{"line":102,"column":22}},"31":{"start":{"line":90,"column":6},"end":{"line":96,"column":9}},"32":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"33":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"34":{"start":{"line":94,"column":10},"end":{"line":94,"column":25}},"35":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"36":{"start":{"line":100,"column":6},"end":{"line":100,"column":35}},"37":{"start":{"line":104,"column":23},"end":{"line":115,"column":3}},"38":{"start":{"line":105,"column":11},"end":{"line":113,"column":5}},"39":{"start":{"line":117,"column":2},"end":{"line":117,"column":86}},"40":{"start":{"line":120,"column":16},"end":{"line":126,"column":1}},"41":{"start":{"line":121,"column":18},"end":{"line":121,"column":41}},"42":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"43":{"start":{"line":123,"column":4},"end":{"line":123,"column":73}},"44":{"start":{"line":125,"column":2},"end":{"line":125,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":10}},"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":17}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":10},"end":{"line":14,"column":11}},"loc":{"start":{"line":14,"column":16},"end":{"line":14,"column":18}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":17}},"loc":{"start":{"line":15,"column":22},"end":{"line":15,"column":24}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":17}},"loc":{"start":{"line":18,"column":22},"end":{"line":18,"column":24}},"line":18},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":28},"end":{"line":23,"column":29}},"loc":{"start":{"line":29,"column":6},"end":{"line":118,"column":1}},"line":29},"5":{"name":"handleLogin","decl":{"start":{"line":34,"column":11},"end":{"line":34,"column":22}},"loc":{"start":{"line":34,"column":39},"end":{"line":41,"column":3}},"line":34},"6":{"name":"handleLogout","decl":{"start":{"line":43,"column":11},"end":{"line":43,"column":23}},"loc":{"start":{"line":43,"column":26},"end":{"line":52,"column":3}},"line":43},"7":{"name":"(anonymous_7)","decl":{"start":{"line":54,"column":28},"end":{"line":54,"column":29}},"loc":{"start":{"line":54,"column":59},"end":{"line":69,"column":3}},"line":54},"8":{"name":"(anonymous_8)","decl":{"start":{"line":71,"column":29},"end":{"line":71,"column":30}},"loc":{"start":{"line":71,"column":61},"end":{"line":86,"column":3}},"line":71},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":12},"end":{"line":88,"column":13}},"loc":{"start":{"line":88,"column":18},"end":{"line":102,"column":3}},"line":88},"10":{"name":"checkAuthData","decl":{"start":{"line":89,"column":19},"end":{"line":89,"column":32}},"loc":{"start":{"line":89,"column":49},"end":{"line":97,"column":5}},"line":89},"11":{"name":"(anonymous_11)","decl":{"start":{"line":90,"column":38},"end":{"line":90,"column":39}},"loc":{"start":{"line":90,"column":67},"end":{"line":96,"column":7}},"line":90},"12":{"name":"(anonymous_12)","decl":{"start":{"line":105,"column":4},"end":{"line":105,"column":5}},"loc":{"start":{"line":105,"column":11},"end":{"line":113,"column":5}},"line":105},"13":{"name":"(anonymous_13)","decl":{"start":{"line":120,"column":16},"end":{"line":120,"column":17}},"loc":{"start":{"line":120,"column":22},"end":{"line":126,"column":1}},"line":120}},"branchMap":{"0":{"loc":{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},{"start":{"line":59,"column":11},"end":{"line":66,"column":5}}],"line":57},"1":{"loc":{"start":{"line":58,"column":19},"end":{"line":58,"column":55}},"type":"binary-expr","locations":[{"start":{"line":58,"column":19},"end":{"line":58,"column":28}},{"start":{"line":58,"column":32},"end":{"line":58,"column":55}}],"line":58},"2":{"loc":{"start":{"line":74,"column":4},"end":{"line":83,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":83,"column":5}},{"start":{"line":76,"column":11},"end":{"line":83,"column":5}}],"line":74},"3":{"loc":{"start":{"line":75,"column":19},"end":{"line":75,"column":55}},"type":"binary-expr","locations":[{"start":{"line":75,"column":19},"end":{"line":75,"column":28}},{"start":{"line":75,"column":32},"end":{"line":75,"column":55}}],"line":75},"4":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":93,"column":15},"end":{"line":95,"column":9}}],"line":91},"5":{"loc":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":99},"6":{"loc":{"start":{"line":106,"column":12},"end":{"line":106,"column":34}},"type":"binary-expr","locations":[{"start":{"line":106,"column":12},"end":{"line":106,"column":26}},{"start":{"line":106,"column":30},"end":{"line":106,"column":34}}],"line":106},"7":{"loc":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},{"start":{},"end":{}}],"line":122}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/DragControlsContext.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/DragControlsContext.tsx","statementMap":{"0":{"start":{"line":8,"column":35},"end":{"line":10,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/ReorderContext.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/ReorderContext.ts","statementMap":{"0":{"start":{"line":16,"column":30},"end":{"line":18,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/TokensContext.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/TokensContext.ts","statementMap":{"0":{"start":{"line":8,"column":29},"end":{"line":10,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ActiveThemeProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ActiveThemeProperty.ts","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":13,"column":1}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"2":{"start":{"line":10,"column":13},"end":{"line":12,"column":11}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":13},"end":{"line":12,"column":11}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":64},"end":{"line":10,"column":65}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}},"type":"cond-expr","locations":[{"start":{"line":11,"column":12},"end":{"line":11,"column":29}},{"start":{"line":11,"column":32},"end":{"line":11,"column":34}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ApiProvidersProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ApiProvidersProperty.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":17,"column":1}},"1":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"2":{"start":{"line":11,"column":19},"end":{"line":11,"column":69}},"3":{"start":{"line":12,"column":4},"end":{"line":12,"column":45}},"4":{"start":{"line":12,"column":31},"end":{"line":12,"column":45}},"5":{"start":{"line":13,"column":4},"end":{"line":15,"column":7}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":16},"end":{"line":16,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":40},"end":{"line":13,"column":41}},"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":31}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":19},"end":{"line":11,"column":69}},"type":"binary-expr","locations":[{"start":{"line":11,"column":19},"end":{"line":11,"column":63}},{"start":{"line":11,"column":67},"end":{"line":11,"column":69}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":45}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":45}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/AuthDataProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/AuthDataProperty.ts","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"2":{"start":{"line":9,"column":16},"end":{"line":9,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":48}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CheckForChangesProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CheckForChangesProperty.ts","statementMap":{"0":{"start":{"line":5,"column":39},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":31},"end":{"line":8,"column":44}},"2":{"start":{"line":9,"column":13},"end":{"line":9,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":8,"column":44}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":29}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageCleanup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageCleanup.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":2,"column":52}},"1":{"start":{"line":4,"column":22},"end":{"line":4,"column":68}},"2":{"start":{"line":4,"column":43},"end":{"line":4,"column":67}},"3":{"start":{"line":6,"column":26},"end":{"line":6,"column":85}},"4":{"start":{"line":6,"column":54},"end":{"line":6,"column":84}},"5":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":47}}},"fnMap":{"0":{"name":"cleanupOldTokenPrefixes","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":69},"end":{"line":11,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":34},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":43},"end":{"line":4,"column":67}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":45},"end":{"line":6,"column":46}},"loc":{"start":{"line":6,"column":54},"end":{"line":6,"column":84}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageProperty.ts","statementMap":{"0":{"start":{"line":6,"column":23},"end":{"line":6,"column":38}},"1":{"start":{"line":8,"column":37},"end":{"line":54,"column":1}},"2":{"start":{"line":10,"column":24},"end":{"line":10,"column":80}},"3":{"start":{"line":12,"column":20},"end":{"line":12,"column":45}},"4":{"start":{"line":13,"column":4},"end":{"line":17,"column":5}},"5":{"start":{"line":14,"column":23},"end":{"line":14,"column":59}},"6":{"start":{"line":15,"column":6},"end":{"line":15,"column":120}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":19}},"8":{"start":{"line":18,"column":24},"end":{"line":18,"column":46}},"9":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":45}},"11":{"start":{"line":24,"column":4},"end":{"line":24,"column":60}},"12":{"start":{"line":27,"column":4},"end":{"line":52,"column":5}},"13":{"start":{"line":28,"column":25},"end":{"line":28,"column":64}},"14":{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},"15":{"start":{"line":30,"column":8},"end":{"line":30,"column":26}},"16":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"17":{"start":{"line":33,"column":8},"end":{"line":33,"column":20}},"18":{"start":{"line":36,"column":27},"end":{"line":36,"column":58}},"19":{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},"20":{"start":{"line":38,"column":8},"end":{"line":38,"column":20}},"21":{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},"22":{"start":{"line":42,"column":23},"end":{"line":42,"column":47}},"23":{"start":{"line":44,"column":8},"end":{"line":44,"column":22}},"24":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"25":{"start":{"line":47,"column":8},"end":{"line":47,"column":20}},"26":{"start":{"line":50,"column":6},"end":{"line":50,"column":67}},"27":{"start":{"line":51,"column":6},"end":{"line":51,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":59},"end":{"line":25,"column":3}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":26},"end":{"line":53,"column":3}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":24},"end":{"line":10,"column":80}},"type":"cond-expr","locations":[{"start":{"line":10,"column":48},"end":{"line":10,"column":51}},{"start":{"line":10,"column":54},"end":{"line":10,"column":80}}],"line":10},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":17,"column":5}},{"start":{},"end":{}}],"line":13},"2":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":20},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},{"start":{},"end":{}}],"line":32},"5":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CollapsedTokenSetsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CollapsedTokenSetsProperty.ts","statementMap":{"0":{"start":{"line":6,"column":42},"end":{"line":14,"column":1}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"2":{"start":{"line":10,"column":13},"end":{"line":13,"column":8}},"3":{"start":{"line":11,"column":24},"end":{"line":11,"column":54}},"4":{"start":{"line":12,"column":4},"end":{"line":12,"column":57}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":13},"end":{"line":13,"column":8}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":41},"end":{"line":10,"column":42}},"loc":{"start":{"line":10,"column":47},"end":{"line":13,"column":3}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":24},"end":{"line":11,"column":54}},"type":"cond-expr","locations":[{"start":{"line":11,"column":32},"end":{"line":11,"column":49}},{"start":{"line":11,"column":52},"end":{"line":11,"column":54}}],"line":11},"1":{"loc":{"start":{"line":12,"column":11},"end":{"line":12,"column":56}},"type":"cond-expr","locations":[{"start":{"line":12,"column":40},"end":{"line":12,"column":51}},{"start":{"line":12,"column":54},"end":{"line":12,"column":56}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FigmaStorageProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FigmaStorageProperty.ts","statementMap":{"0":{"start":{"line":10,"column":44},"end":{"line":10,"column":75}},"1":{"start":{"line":14,"column":70},"end":{"line":14,"column":94}},"2":{"start":{"line":14,"column":81},"end":{"line":14,"column":94}},"3":{"start":{"line":16,"column":73},"end":{"line":16,"column":105}},"4":{"start":{"line":16,"column":84},"end":{"line":16,"column":105}},"5":{"start":{"line":24,"column":4},"end":{"line":24,"column":35}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":19}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":46}},"8":{"start":{"line":26,"column":19},"end":{"line":26,"column":46}},"9":{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},"10":{"start":{"line":27,"column":15},"end":{"line":27,"column":34}},"11":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"12":{"start":{"line":38,"column":20},"end":{"line":38,"column":64}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":60}},"14":{"start":{"line":42,"column":4},"end":{"line":49,"column":5}},"15":{"start":{"line":43,"column":23},"end":{"line":43,"column":42}},"16":{"start":{"line":44,"column":24},"end":{"line":44,"column":35}},"17":{"start":{"line":45,"column":18},"end":{"line":45,"column":45}},"18":{"start":{"line":47,"column":20},"end":{"line":47,"column":68}},"19":{"start":{"line":48,"column":6},"end":{"line":48,"column":60}},"20":{"start":{"line":51,"column":4},"end":{"line":51,"column":16}},"21":{"start":{"line":61,"column":4},"end":{"line":64,"column":5}},"22":{"start":{"line":62,"column":6},"end":{"line":62,"column":103}},"23":{"start":{"line":63,"column":6},"end":{"line":63,"column":13}},"24":{"start":{"line":66,"column":4},"end":{"line":73,"column":5}},"25":{"start":{"line":67,"column":23},"end":{"line":67,"column":42}},"26":{"start":{"line":68,"column":24},"end":{"line":68,"column":35}},"27":{"start":{"line":69,"column":18},"end":{"line":69,"column":45}},"28":{"start":{"line":71,"column":26},"end":{"line":71,"column":76}},"29":{"start":{"line":72,"column":6},"end":{"line":72,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":70},"end":{"line":14,"column":71}},"loc":{"start":{"line":14,"column":81},"end":{"line":14,"column":94}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":73},"end":{"line":16,"column":74}},"loc":{"start":{"line":16,"column":84},"end":{"line":16,"column":105}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":23,"column":4},"end":{"line":28,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":36,"column":90},"end":{"line":52,"column":3}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":2},"end":{"line":60,"column":3}},"loc":{"start":{"line":60,"column":89},"end":{"line":74,"column":3}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":46}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":46}},{"start":{},"end":{}}],"line":26},"1":{"loc":{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},{"start":{},"end":{}}],"line":27},"2":{"loc":{"start":{"line":36,"column":20},"end":{"line":36,"column":47}},"type":"default-arg","locations":[{"start":{"line":36,"column":37},"end":{"line":36,"column":47}}],"line":36},"3":{"loc":{"start":{"line":36,"column":49},"end":{"line":36,"column":69}},"type":"default-arg","locations":[{"start":{"line":36,"column":64},"end":{"line":36,"column":69}}],"line":36},"4":{"loc":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":37},"5":{"loc":{"start":{"line":39,"column":13},"end":{"line":39,"column":59}},"type":"cond-expr","locations":[{"start":{"line":39,"column":21},"end":{"line":39,"column":52}},{"start":{"line":39,"column":55},"end":{"line":39,"column":59}}],"line":39},"6":{"loc":{"start":{"line":42,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":42},"7":{"loc":{"start":{"line":48,"column":13},"end":{"line":48,"column":59}},"type":"cond-expr","locations":[{"start":{"line":48,"column":21},"end":{"line":48,"column":52}},{"start":{"line":48,"column":55},"end":{"line":48,"column":59}}],"line":48},"8":{"loc":{"start":{"line":60,"column":38},"end":{"line":60,"column":65}},"type":"default-arg","locations":[{"start":{"line":60,"column":55},"end":{"line":60,"column":65}}],"line":60},"9":{"loc":{"start":{"line":60,"column":67},"end":{"line":60,"column":87}},"type":"default-arg","locations":[{"start":{"line":60,"column":82},"end":{"line":60,"column":87}}],"line":60},"10":{"loc":{"start":{"line":61,"column":4},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":64,"column":5}},{"start":{},"end":{}}],"line":61},"11":{"loc":{"start":{"line":62,"column":51},"end":{"line":62,"column":101}},"type":"cond-expr","locations":[{"start":{"line":62,"column":59},"end":{"line":62,"column":94}},{"start":{"line":62,"column":97},"end":{"line":62,"column":101}}],"line":62},"12":{"loc":{"start":{"line":66,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":66},"13":{"loc":{"start":{"line":71,"column":26},"end":{"line":71,"column":76}},"type":"cond-expr","locations":[{"start":{"line":71,"column":34},"end":{"line":71,"column":69}},{"start":{"line":71,"column":72},"end":{"line":71,"column":76}}],"line":71}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FileKeyProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FileKeyProperty.ts","statementMap":{"0":{"start":{"line":5,"column":31},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":13},"end":{"line":8,"column":18}},"2":{"start":{"line":9,"column":13},"end":{"line":9,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":18}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":18}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/InitialLoadProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/InitialLoadProperty.ts","statementMap":{"0":{"start":{"line":3,"column":35},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/IsCompressedProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/IsCompressedProperty.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":13},"end":{"line":8,"column":26}},"2":{"start":{"line":9,"column":21},"end":{"line":9,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":26}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":21},"end":{"line":9,"column":37}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LastOpenedProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LastOpenedProperty.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":8,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":26}},"2":{"start":{"line":7,"column":13},"end":{"line":7,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":26}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":32}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LicenseKeyProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LicenseKeyProperty.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts","statementMap":{"0":{"start":{"line":3,"column":53},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerInspectProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerInspectProperty.ts","statementMap":{"0":{"start":{"line":3,"column":50},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSetsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSetsProperty.ts","statementMap":{"0":{"start":{"line":3,"column":47},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts","statementMap":{"0":{"start":{"line":3,"column":56},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageSizeManager.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageSizeManager.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":3,"column":49}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":52}},"2":{"start":{"line":8,"column":22},"end":{"line":8,"column":68}},"3":{"start":{"line":8,"column":43},"end":{"line":8,"column":67}},"4":{"start":{"line":9,"column":18},"end":{"line":9,"column":19}},"5":{"start":{"line":10,"column":2},"end":{"line":15,"column":3}},"6":{"start":{"line":11,"column":18},"end":{"line":11,"column":57}},"7":{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":55}},"9":{"start":{"line":16,"column":2},"end":{"line":16,"column":19}}},"fnMap":{"0":{"name":"getStorageSize","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":36}},"loc":{"start":{"line":5,"column":56},"end":{"line":17,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":34},"end":{"line":8,"column":35}},"loc":{"start":{"line":8,"column":43},"end":{"line":8,"column":67}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageTypeProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageTypeProperty.ts","statementMap":{"0":{"start":{"line":8,"column":35},"end":{"line":13,"column":1}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":71}},"2":{"start":{"line":12,"column":13},"end":{"line":12,"column":45}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":71}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":13},"end":{"line":12,"column":45}},"line":12}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ThemesProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ThemesProperty.ts","statementMap":{"0":{"start":{"line":8,"column":30},"end":{"line":21,"column":1}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"2":{"start":{"line":12,"column":27},"end":{"line":20,"column":8}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"4":{"start":{"line":13,"column":16},"end":{"line":13,"column":26}},"5":{"start":{"line":14,"column":4},"end":{"line":17,"column":5}},"6":{"start":{"line":15,"column":26},"end":{"line":15,"column":56}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":59}},"8":{"start":{"line":18,"column":25},"end":{"line":18,"column":51}},"9":{"start":{"line":19,"column":4},"end":{"line":19,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":27},"end":{"line":20,"column":8}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":63},"end":{"line":12,"column":64}},"loc":{"start":{"line":12,"column":69},"end":{"line":20,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":17,"column":5}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":15,"column":26},"end":{"line":15,"column":56}},"type":"cond-expr","locations":[{"start":{"line":15,"column":34},"end":{"line":15,"column":51}},{"start":{"line":15,"column":54},"end":{"line":15,"column":56}}],"line":15},"3":{"loc":{"start":{"line":16,"column":13},"end":{"line":16,"column":58}},"type":"cond-expr","locations":[{"start":{"line":16,"column":42},"end":{"line":16,"column":53}},{"start":{"line":16,"column":56},"end":{"line":16,"column":58}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/TokenFormatProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/TokenFormatProperty.ts","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UiSettingsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UiSettingsProperty.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"2":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":62}},{"start":{"line":9,"column":66},"end":{"line":9,"column":68}}],"line":9}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UpdatedAtProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UpdatedAtProperty.ts","statementMap":{"0":{"start":{"line":5,"column":33},"end":{"line":8,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedEmailProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedEmailProperty.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":103}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedTokenSetProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedTokenSetProperty.ts","statementMap":{"0":{"start":{"line":7,"column":36},"end":{"line":12,"column":1}},"1":{"start":{"line":10,"column":13},"end":{"line":10,"column":34}},"2":{"start":{"line":11,"column":13},"end":{"line":11,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":13},"end":{"line":10,"column":34}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":38}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":38}},"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":32}},{"start":{"line":11,"column":36},"end":{"line":11,"column":38}}],"line":11}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UserIdProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UserIdProperty.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ValuesProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ValuesProperty.ts","statementMap":{"0":{"start":{"line":8,"column":30},"end":{"line":18,"column":1}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"2":{"start":{"line":12,"column":27},"end":{"line":17,"column":8}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"4":{"start":{"line":13,"column":16},"end":{"line":13,"column":26}},"5":{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},"6":{"start":{"line":14,"column":23},"end":{"line":14,"column":48}},"7":{"start":{"line":15,"column":25},"end":{"line":15,"column":51}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":27},"end":{"line":17,"column":8}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":75},"end":{"line":12,"column":76}},"loc":{"start":{"line":12,"column":81},"end":{"line":17,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},{"start":{},"end":{}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/VersionProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/VersionProperty.ts","statementMap":{"0":{"start":{"line":5,"column":31},"end":{"line":8,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useChangedState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useChangedState.ts","statementMap":{"0":{"start":{"line":16,"column":21},"end":{"line":16,"column":52}},"1":{"start":{"line":17,"column":17},"end":{"line":17,"column":44}},"2":{"start":{"line":18,"column":17},"end":{"line":18,"column":48}},"3":{"start":{"line":19,"column":22},"end":{"line":19,"column":54}},"4":{"start":{"line":20,"column":26},"end":{"line":20,"column":62}},"5":{"start":{"line":21,"column":22},"end":{"line":21,"column":54}},"6":{"start":{"line":22,"column":19},"end":{"line":22,"column":32}},"7":{"start":{"line":24,"column":27},"end":{"line":31,"column":47}},"8":{"start":{"line":25,"column":26},"end":{"line":25,"column":45}},"9":{"start":{"line":26,"column":4},"end":{"line":30,"column":7}},"10":{"start":{"line":33,"column":27},"end":{"line":43,"column":47}},"11":{"start":{"line":34,"column":26},"end":{"line":34,"column":45}},"12":{"start":{"line":35,"column":4},"end":{"line":42,"column":6}},"13":{"start":{"line":45,"column":21},"end":{"line":51,"column":73}},"14":{"start":{"line":46,"column":23},"end":{"line":46,"column":92}},"15":{"start":{"line":48,"column":4},"end":{"line":48,"column":58}},"16":{"start":{"line":50,"column":4},"end":{"line":50,"column":22}},"17":{"start":{"line":53,"column":2},"end":{"line":53,"column":60}}},"fnMap":{"0":{"name":"useChangedState","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":31}},"loc":{"start":{"line":15,"column":34},"end":{"line":54,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":35},"end":{"line":24,"column":36}},"loc":{"start":{"line":24,"column":41},"end":{"line":31,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":35},"end":{"line":33,"column":36}},"loc":{"start":{"line":33,"column":41},"end":{"line":43,"column":3}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":29},"end":{"line":45,"column":30}},"loc":{"start":{"line":45,"column":35},"end":{"line":51,"column":3}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":16},"end":{"line":29,"column":91}},"type":"cond-expr","locations":[{"start":{"line":29,"column":69},"end":{"line":29,"column":86}},{"start":{"line":29,"column":89},"end":{"line":29,"column":91}}],"line":29},"1":{"loc":{"start":{"line":39,"column":18},"end":{"line":39,"column":93}},"type":"cond-expr","locations":[{"start":{"line":39,"column":71},"end":{"line":39,"column":88}},{"start":{"line":39,"column":91},"end":{"line":39,"column":93}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useDelayedFlag.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useDelayedFlag.ts","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":4,"column":41}},"1":{"start":{"line":6,"column":2},"end":{"line":23,"column":46}},"2":{"start":{"line":7,"column":4},"end":{"line":21,"column":5}},"3":{"start":{"line":8,"column":6},"end":{"line":20,"column":7}},"4":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"5":{"start":{"line":10,"column":28},"end":{"line":10,"column":68}},"6":{"start":{"line":10,"column":45},"end":{"line":10,"column":58}},"7":{"start":{"line":11,"column":10},"end":{"line":11,"column":47}},"8":{"start":{"line":11,"column":23},"end":{"line":11,"column":46}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":22}},"10":{"start":{"line":14,"column":13},"end":{"line":20,"column":7}},"11":{"start":{"line":15,"column":8},"end":{"line":18,"column":9}},"12":{"start":{"line":16,"column":28},"end":{"line":16,"column":69}},"13":{"start":{"line":16,"column":45},"end":{"line":16,"column":59}},"14":{"start":{"line":17,"column":10},"end":{"line":17,"column":47}},"15":{"start":{"line":17,"column":23},"end":{"line":17,"column":46}},"16":{"start":{"line":19,"column":8},"end":{"line":19,"column":23}},"17":{"start":{"line":22,"column":4},"end":{"line":22,"column":20}},"18":{"start":{"line":25,"column":2},"end":{"line":25,"column":14}}},"fnMap":{"0":{"name":"useDelayedFlag","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":99},"end":{"line":26,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":12},"end":{"line":6,"column":13}},"loc":{"start":{"line":6,"column":18},"end":{"line":23,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":39},"end":{"line":10,"column":40}},"loc":{"start":{"line":10,"column":45},"end":{"line":10,"column":58}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":17},"end":{"line":11,"column":18}},"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":46}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":39},"end":{"line":16,"column":40}},"loc":{"start":{"line":16,"column":45},"end":{"line":16,"column":59}},"line":16},"5":{"name":"(anonymous_5)","decl":{"start":{"line":17,"column":17},"end":{"line":17,"column":18}},"loc":{"start":{"line":17,"column":23},"end":{"line":17,"column":46}},"line":17},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":11},"end":{"line":22,"column":12}},"loc":{"start":{"line":22,"column":17},"end":{"line":22,"column":19}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":31},"end":{"line":3,"column":44}},"type":"default-arg","locations":[{"start":{"line":3,"column":39},"end":{"line":3,"column":44}}],"line":3},"1":{"loc":{"start":{"line":3,"column":46},"end":{"line":3,"column":59}},"type":"default-arg","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":59}}],"line":3},"2":{"loc":{"start":{"line":3,"column":61},"end":{"line":3,"column":78}},"type":"default-arg","locations":[{"start":{"line":3,"column":73},"end":{"line":3,"column":78}}],"line":3},"3":{"loc":{"start":{"line":3,"column":80},"end":{"line":3,"column":97}},"type":"default-arg","locations":[{"start":{"line":3,"column":93},"end":{"line":3,"column":97}}],"line":3},"4":{"loc":{"start":{"line":7,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":21,"column":5}},{"start":{},"end":{}}],"line":7},"5":{"loc":{"start":{"line":8,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":8,"column":6},"end":{"line":20,"column":7}},{"start":{"line":14,"column":13},"end":{"line":20,"column":7}}],"line":8},"6":{"loc":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},{"start":{},"end":{}}],"line":9},"7":{"loc":{"start":{"line":14,"column":13},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":13},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":14},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":18,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":18,"column":9}},{"start":{},"end":{}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaFonts.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaFonts.tsx","statementMap":{"0":{"start":{"line":8,"column":19},"end":{"line":8,"column":42}},"1":{"start":{"line":11,"column":24},"end":{"line":16,"column":24}},"2":{"start":{"line":12,"column":23},"end":{"line":14,"column":6}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"4":{"start":{"line":18,"column":2},"end":{"line":22,"column":5}},"5":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"fnMap":{"0":{"name":"useFigmaFonts","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":40},"end":{"line":23,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":36},"end":{"line":11,"column":37}},"loc":{"start":{"line":11,"column":48},"end":{"line":16,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":17},"end":{"line":18,"column":18}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}},"line":18}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaTheme.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":4,"column":55}},"1":{"start":{"line":6,"column":2},"end":{"line":22,"column":9}},"2":{"start":{"line":7,"column":26},"end":{"line":7,"column":67}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":55}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":27}},"5":{"start":{"line":11,"column":21},"end":{"line":14,"column":6}},"6":{"start":{"line":12,"column":25},"end":{"line":12,"column":61}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":33}},"8":{"start":{"line":16,"column":4},"end":{"line":19,"column":7}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":39}},"10":{"start":{"line":21,"column":17},"end":{"line":21,"column":38}},"11":{"start":{"line":24,"column":2},"end":{"line":24,"column":25}}},"fnMap":{"0":{"name":"useFigmaTheme","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":32},"end":{"line":25,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":12},"end":{"line":6,"column":13}},"loc":{"start":{"line":6,"column":18},"end":{"line":22,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":42},"end":{"line":11,"column":43}},"loc":{"start":{"line":11,"column":48},"end":{"line":14,"column":5}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":17},"end":{"line":21,"column":38}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":26},"end":{"line":7,"column":67}},"type":"binary-expr","locations":[{"start":{"line":7,"column":26},"end":{"line":7,"column":61}},{"start":{"line":7,"column":65},"end":{"line":7,"column":67}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useGetActiveState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useGetActiveState.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":25,"column":5}},"1":{"start":{"line":10,"column":24},"end":{"line":10,"column":29}},"2":{"start":{"line":11,"column":4},"end":{"line":16,"column":5}},"3":{"start":{"line":15,"column":6},"end":{"line":15,"column":19}},"4":{"start":{"line":17,"column":4},"end":{"line":24,"column":6}},"5":{"start":{"line":21,"column":8},"end":{"line":22,"column":62}}},"fnMap":{"0":{"name":"useGetActiveState","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":33}},"loc":{"start":{"line":8,"column":107},"end":{"line":26,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":21},"end":{"line":9,"column":22}},"loc":{"start":{"line":9,"column":43},"end":{"line":25,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":25},"end":{"line":19,"column":26}},"loc":{"start":{"line":21,"column":8},"end":{"line":22,"column":62}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":13,"column":27}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":27}},{"start":{"line":13,"column":9},"end":{"line":13,"column":27}}],"line":12},"2":{"loc":{"start":{"line":18,"column":6},"end":{"line":23,"column":8}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":52}},{"start":{"line":19,"column":9},"end":{"line":23,"column":8}}],"line":18},"3":{"loc":{"start":{"line":21,"column":8},"end":{"line":22,"column":62}},"type":"binary-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":32}},{"start":{"line":22,"column":11},"end":{"line":22,"column":62}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useSetNodeData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useSetNodeData.ts","statementMap":{"0":{"start":{"line":11,"column":16},"end":{"line":11,"column":37}},"1":{"start":{"line":13,"column":22},"end":{"line":21,"column":13}},"2":{"start":{"line":14,"column":21},"end":{"line":14,"column":60}},"3":{"start":{"line":15,"column":4},"end":{"line":20,"column":7}},"4":{"start":{"line":23,"column":2},"end":{"line":23,"column":21}}},"fnMap":{"0":{"name":"useSetNodeData","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":38}},"loc":{"start":{"line":10,"column":41},"end":{"line":24,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":34},"end":{"line":13,"column":35}},"loc":{"start":{"line":13,"column":96},"end":{"line":21,"column":3}},"line":13}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useShortcut.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useShortcut.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":4,"column":43}},"1":{"start":{"line":7,"column":2},"end":{"line":9,"column":5}},"2":{"start":{"line":11,"column":2},"end":{"line":23,"column":5}},"3":{"start":{"line":12,"column":15},"end":{"line":12,"column":29}},"4":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":68}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":29}},"7":{"start":{"line":19,"column":4},"end":{"line":22,"column":6}},"8":{"start":{"line":20,"column":22},"end":{"line":20,"column":49}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":59}},"10":{"start":{"line":21,"column":24},"end":{"line":21,"column":59}}},"fnMap":{"0":{"name":"useShortcut","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":27}},"loc":{"start":{"line":6,"column":84},"end":{"line":24,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":12},"end":{"line":11,"column":13}},"loc":{"start":{"line":11,"column":18},"end":{"line":23,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":11},"end":{"line":19,"column":12}},"loc":{"start":{"line":19,"column":17},"end":{"line":22,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":21,"column":59}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":59}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/CanceledError.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/CanceledError.ts","statementMap":{"0":{"start":{"line":3,"column":4},"end":{"line":3,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":2},"end":{"line":2,"column":3}},"loc":{"start":{"line":2,"column":16},"end":{"line":4,"column":3}},"line":2}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessCancelToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessCancelToken.ts","statementMap":{"0":{"start":{"line":4,"column":14},"end":{"line":4,"column":24}},"1":{"start":{"line":6,"column":63},"end":{"line":8,"column":3}},"2":{"start":{"line":11,"column":4},"end":{"line":11,"column":55}},"3":{"start":{"line":11,"column":49},"end":{"line":11,"column":53}},"4":{"start":{"line":15,"column":4},"end":{"line":15,"column":40}},"5":{"start":{"line":16,"column":4},"end":{"line":21,"column":6}},"6":{"start":{"line":17,"column":22},"end":{"line":17,"column":60}},"7":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"8":{"start":{"line":19,"column":8},"end":{"line":19,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":18},"end":{"line":12,"column":3}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":11,"column":49},"end":{"line":11,"column":53}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":47},"end":{"line":22,"column":3}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":11},"end":{"line":16,"column":12}},"loc":{"start":{"line":16,"column":17},"end":{"line":21,"column":5}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessStepStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessStepStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/useProcess.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/useProcess.ts","statementMap":{"0":{"start":{"line":14,"column":40},"end":{"line":14,"column":64}},"1":{"start":{"line":15,"column":44},"end":{"line":15,"column":95}},"2":{"start":{"line":16,"column":22},"end":{"line":16,"column":65}},"3":{"start":{"line":16,"column":36},"end":{"line":16,"column":60}},"4":{"start":{"line":18,"column":21},"end":{"line":22,"column":41}},"5":{"start":{"line":19,"column":4},"end":{"line":21,"column":47}},"6":{"start":{"line":24,"column":18},"end":{"line":54,"column":26}},"7":{"start":{"line":25,"column":36},"end":{"line":25,"column":38}},"8":{"start":{"line":27,"column":4},"end":{"line":53,"column":5}},"9":{"start":{"line":28,"column":6},"end":{"line":28,"column":50}},"10":{"start":{"line":29,"column":19},"end":{"line":29,"column":62}},"11":{"start":{"line":29,"column":43},"end":{"line":29,"column":61}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":63}},"13":{"start":{"line":30,"column":17},"end":{"line":30,"column":63}},"14":{"start":{"line":32,"column":6},"end":{"line":45,"column":9}},"15":{"start":{"line":34,"column":10},"end":{"line":36,"column":14}},"16":{"start":{"line":35,"column":12},"end":{"line":35,"column":40}},"17":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"18":{"start":{"line":39,"column":12},"end":{"line":39,"column":31}},"19":{"start":{"line":40,"column":12},"end":{"line":40,"column":64}},"20":{"start":{"line":41,"column":12},"end":{"line":41,"column":57}},"21":{"start":{"line":47,"column":6},"end":{"line":47,"column":47}},"22":{"start":{"line":49,"column":6},"end":{"line":49,"column":49}},"23":{"start":{"line":50,"column":6},"end":{"line":50,"column":16}},"24":{"start":{"line":52,"column":6},"end":{"line":52,"column":36}},"25":{"start":{"line":52,"column":30},"end":{"line":52,"column":34}},"26":{"start":{"line":56,"column":16},"end":{"line":63,"column":22}},"27":{"start":{"line":57,"column":4},"end":{"line":62,"column":5}},"28":{"start":{"line":58,"column":22},"end":{"line":58,"column":30}},"29":{"start":{"line":59,"column":6},"end":{"line":59,"column":26}},"30":{"start":{"line":60,"column":6},"end":{"line":60,"column":47}},"31":{"start":{"line":61,"column":6},"end":{"line":61,"column":25}},"32":{"start":{"line":65,"column":15},"end":{"line":73,"column":35}},"33":{"start":{"line":66,"column":29},"end":{"line":66,"column":78}},"34":{"start":{"line":66,"column":58},"end":{"line":66,"column":77}},"35":{"start":{"line":67,"column":4},"end":{"line":72,"column":5}},"36":{"start":{"line":68,"column":23},"end":{"line":68,"column":50}},"37":{"start":{"line":69,"column":6},"end":{"line":69,"column":35}},"38":{"start":{"line":70,"column":6},"end":{"line":70,"column":47}},"39":{"start":{"line":71,"column":6},"end":{"line":71,"column":34}},"40":{"start":{"line":75,"column":16},"end":{"line":78,"column":8}},"41":{"start":{"line":76,"column":4},"end":{"line":76,"column":25}},"42":{"start":{"line":77,"column":4},"end":{"line":77,"column":45}},"43":{"start":{"line":80,"column":2},"end":{"line":96,"column":5}},"44":{"start":{"line":80,"column":24},"end":{"line":88,"column":3}}},"fnMap":{"0":{"name":"useProcess","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":26}},"loc":{"start":{"line":13,"column":79},"end":{"line":97,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":30},"end":{"line":16,"column":31}},"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":60}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":29},"end":{"line":18,"column":30}},"loc":{"start":{"line":19,"column":4},"end":{"line":21,"column":47}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":30},"end":{"line":24,"column":31}},"loc":{"start":{"line":24,"column":60},"end":{"line":54,"column":3}},"line":24},"4":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":30},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":43},"end":{"line":29,"column":61}},"line":29},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":26},"end":{"line":33,"column":27}},"loc":{"start":{"line":33,"column":47},"end":{"line":37,"column":9}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":34,"column":50},"end":{"line":34,"column":51}},"loc":{"start":{"line":34,"column":56},"end":{"line":36,"column":11}},"line":34},"7":{"name":"(anonymous_7)","decl":{"start":{"line":37,"column":17},"end":{"line":37,"column":18}},"loc":{"start":{"line":37,"column":26},"end":{"line":43,"column":9}},"line":37},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":22},"end":{"line":52,"column":23}},"loc":{"start":{"line":52,"column":30},"end":{"line":52,"column":34}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":28},"end":{"line":56,"column":29}},"loc":{"start":{"line":56,"column":40},"end":{"line":63,"column":3}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":65,"column":27},"end":{"line":65,"column":28}},"loc":{"start":{"line":65,"column":39},"end":{"line":73,"column":3}},"line":65},"11":{"name":"(anonymous_11)","decl":{"start":{"line":66,"column":45},"end":{"line":66,"column":46}},"loc":{"start":{"line":66,"column":58},"end":{"line":66,"column":77}},"line":66},"12":{"name":"(anonymous_12)","decl":{"start":{"line":75,"column":28},"end":{"line":75,"column":29}},"loc":{"start":{"line":75,"column":34},"end":{"line":78,"column":3}},"line":75},"13":{"name":"(anonymous_13)","decl":{"start":{"line":80,"column":17},"end":{"line":80,"column":18}},"loc":{"start":{"line":80,"column":24},"end":{"line":88,"column":3}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":21,"column":47}},"type":"binary-expr","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":16}},{"start":{"line":20,"column":7},"end":{"line":20,"column":50}},{"start":{"line":21,"column":7},"end":{"line":21,"column":47}}],"line":19},"1":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":63}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":30,"column":63}},{"start":{},"end":{}}],"line":30},"2":{"loc":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},{"start":{},"end":{}}],"line":38},"3":{"loc":{"start":{"line":38,"column":14},"end":{"line":38,"column":49}},"type":"binary-expr","locations":[{"start":{"line":38,"column":14},"end":{"line":38,"column":17}},{"start":{"line":38,"column":21},"end":{"line":38,"column":49}}],"line":38},"4":{"loc":{"start":{"line":57,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":62,"column":5}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":67,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":67},"6":{"loc":{"start":{"line":67,"column":8},"end":{"line":67,"column":68}},"type":"binary-expr","locations":[{"start":{"line":67,"column":8},"end":{"line":67,"column":29}},{"start":{"line":67,"column":33},"end":{"line":67,"column":68}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/i18next.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/i18next.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/index.ts","statementMap":{"0":{"start":{"line":11,"column":14},"end":{"line":11,"column":44}},"1":{"start":{"line":13,"column":26},"end":{"line":13,"column":166}},"2":{"start":{"line":15,"column":25},"end":{"line":22,"column":1}},"3":{"start":{"line":27,"column":25},"end":{"line":50,"column":2}},"4":{"start":{"line":52,"column":28},"end":{"line":69,"column":4}},"5":{"start":{"line":61,"column":47},"end":{"line":61,"column":97}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":61,"column":36},"end":{"line":61,"column":37}},"loc":{"start":{"line":61,"column":45},"end":{"line":61,"column":99}},"line":61}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":28},"end":{"line":61,"column":111}},"type":"cond-expr","locations":[{"start":{"line":61,"column":36},"end":{"line":61,"column":99}},{"start":{"line":61,"column":102},"end":{"line":61,"column":111}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/en/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/en/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/es/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/es/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/fr/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/fr/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/hi/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/hi/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/nl/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/nl/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/zh/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/zh/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/icons/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/icons/index.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/browser.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/browser.ts","statementMap":{"0":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/handlers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/handlers.ts","statementMap":{"0":{"start":{"line":4,"column":42},"end":{"line":4,"column":88}},"1":{"start":{"line":5,"column":42},"end":{"line":5,"column":86}},"2":{"start":{"line":6,"column":49},"end":{"line":6,"column":91}},"3":{"start":{"line":8,"column":45},"end":{"line":8,"column":58}},"4":{"start":{"line":9,"column":49},"end":{"line":9,"column":63}},"5":{"start":{"line":11,"column":37},"end":{"line":11,"column":61}},"6":{"start":{"line":12,"column":36},"end":{"line":12,"column":58}},"7":{"start":{"line":14,"column":37},"end":{"line":22,"column":2}},"8":{"start":{"line":15,"column":17},"end":{"line":15,"column":51}},"9":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"10":{"start":{"line":18,"column":4},"end":{"line":18,"column":79}},"11":{"start":{"line":21,"column":2},"end":{"line":21,"column":77}},"12":{"start":{"line":24,"column":42},"end":{"line":38,"column":2}},"13":{"start":{"line":25,"column":21},"end":{"line":25,"column":59}},"14":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"15":{"start":{"line":28,"column":4},"end":{"line":28,"column":78}},"16":{"start":{"line":30,"column":2},"end":{"line":37,"column":4}},"17":{"start":{"line":40,"column":40},"end":{"line":54,"column":2}},"18":{"start":{"line":41,"column":25},"end":{"line":41,"column":59}},"19":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"20":{"start":{"line":43,"column":4},"end":{"line":43,"column":77}},"21":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"22":{"start":{"line":46,"column":4},"end":{"line":51,"column":6}},"23":{"start":{"line":53,"column":2},"end":{"line":53,"column":15}},"24":{"start":{"line":56,"column":24},"end":{"line":64,"column":1}},"25":{"start":{"line":63,"column":79},"end":{"line":63,"column":132}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":45},"end":{"line":14,"column":46}},"loc":{"start":{"line":14,"column":64},"end":{"line":22,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":50},"end":{"line":24,"column":51}},"loc":{"start":{"line":24,"column":69},"end":{"line":38,"column":1}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":48},"end":{"line":40,"column":49}},"loc":{"start":{"line":40,"column":67},"end":{"line":54,"column":1}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":63,"column":60},"end":{"line":63,"column":61}},"loc":{"start":{"line":63,"column":79},"end":{"line":63,"column":132}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":27},"2":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":42},"3":{"loc":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},{"start":{},"end":{}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/server.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/server.ts","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":6,"column":46}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderGroup.tsx","statementMap":{"0":{"start":{"line":21,"column":2},"end":{"line":21,"column":20}},"1":{"start":{"line":25,"column":2},"end":{"line":25,"column":37}},"2":{"start":{"line":37,"column":20},"end":{"line":37,"column":29}},"3":{"start":{"line":39,"column":31},"end":{"line":39,"column":33}},"4":{"start":{"line":40,"column":23},"end":{"line":40,"column":36}},"5":{"start":{"line":42,"column":18},"end":{"line":67,"column":55}},"6":{"start":{"line":42,"column":59},"end":{"line":67,"column":3}},"7":{"start":{"line":45,"column":6},"end":{"line":51,"column":7}},"8":{"start":{"line":47,"column":38},"end":{"line":47,"column":59}},"9":{"start":{"line":49,"column":8},"end":{"line":49,"column":48}},"10":{"start":{"line":50,"column":8},"end":{"line":50,"column":31}},"11":{"start":{"line":54,"column":6},"end":{"line":54,"column":39}},"12":{"start":{"line":54,"column":32},"end":{"line":54,"column":39}},"13":{"start":{"line":56,"column":23},"end":{"line":56,"column":90}},"14":{"start":{"line":58,"column":6},"end":{"line":65,"column":7}},"15":{"start":{"line":59,"column":8},"end":{"line":59,"column":36}},"16":{"start":{"line":60,"column":8},"end":{"line":64,"column":10}},"17":{"start":{"line":63,"column":31},"end":{"line":63,"column":59}},"18":{"start":{"line":69,"column":2},"end":{"line":71,"column":5}},"19":{"start":{"line":70,"column":4},"end":{"line":70,"column":33}},"20":{"start":{"line":73,"column":2},"end":{"line":79,"column":4}}},"fnMap":{"0":{"name":"getValue","decl":{"start":{"line":20,"column":9},"end":{"line":20,"column":17}},"loc":{"start":{"line":20,"column":40},"end":{"line":22,"column":1}},"line":20},"1":{"name":"compareMin","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":19}},"loc":{"start":{"line":24,"column":55},"end":{"line":26,"column":1}},"line":24},"2":{"name":"ReorderGroup","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":28}},"loc":{"start":{"line":36,"column":2},"end":{"line":80,"column":1}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":52},"end":{"line":42,"column":53}},"loc":{"start":{"line":42,"column":59},"end":{"line":67,"column":3}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":18},"end":{"line":44,"column":19}},"loc":{"start":{"line":44,"column":37},"end":{"line":52,"column":5}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":47,"column":27},"end":{"line":47,"column":28}},"loc":{"start":{"line":47,"column":38},"end":{"line":47,"column":59}},"line":47},"6":{"name":"(anonymous_6)","decl":{"start":{"line":53,"column":17},"end":{"line":53,"column":18}},"loc":{"start":{"line":53,"column":43},"end":{"line":66,"column":5}},"line":53},"7":{"name":"(anonymous_7)","decl":{"start":{"line":63,"column":20},"end":{"line":63,"column":21}},"loc":{"start":{"line":63,"column":31},"end":{"line":63,"column":59}},"line":63},"8":{"name":"(anonymous_8)","decl":{"start":{"line":69,"column":12},"end":{"line":69,"column":13}},"loc":{"start":{"line":69,"column":18},"end":{"line":71,"column":3}},"line":69}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":45,"column":6},"end":{"line":51,"column":7}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":46,"column":8},"end":{"line":47,"column":67}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":14}},{"start":{"line":47,"column":11},"end":{"line":47,"column":67}}],"line":46},"2":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":39}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":39}},{"start":{},"end":{}}],"line":54},"3":{"loc":{"start":{"line":56,"column":24},"end":{"line":56,"column":60}},"type":"binary-expr","locations":[{"start":{"line":56,"column":24},"end":{"line":56,"column":44}},{"start":{"line":56,"column":48},"end":{"line":56,"column":60}}],"line":56},"4":{"loc":{"start":{"line":58,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":58,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderItem.tsx","statementMap":{"0":{"start":{"line":20,"column":2},"end":{"line":20,"column":69}},"1":{"start":{"line":33,"column":20},"end":{"line":33,"column":29}},"2":{"start":{"line":35,"column":18},"end":{"line":35,"column":44}},"3":{"start":{"line":36,"column":46},"end":{"line":36,"column":54}},"4":{"start":{"line":38,"column":16},"end":{"line":41,"column":3}},"5":{"start":{"line":43,"column":17},"end":{"line":43,"column":109}},"6":{"start":{"line":43,"column":75},"end":{"line":43,"column":107}},"7":{"start":{"line":45,"column":25},"end":{"line":45,"column":49}},"8":{"start":{"line":47,"column":21},"end":{"line":53,"column":47}},"9":{"start":{"line":48,"column":25},"end":{"line":48,"column":37}},"10":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"11":{"start":{"line":50,"column":6},"end":{"line":50,"column":60}},"12":{"start":{"line":52,"column":4},"end":{"line":52,"column":34}},"13":{"start":{"line":55,"column":30},"end":{"line":57,"column":8}},"14":{"start":{"line":56,"column":4},"end":{"line":56,"column":38}},"15":{"start":{"line":59,"column":2},"end":{"line":61,"column":16}},"16":{"start":{"line":60,"column":4},"end":{"line":60,"column":49}},"17":{"start":{"line":63,"column":2},"end":{"line":81,"column":4}}},"fnMap":{"0":{"name":"useDefaultMotionValue","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":30}},"loc":{"start":{"line":17,"column":69},"end":{"line":21,"column":1}},"line":17},"1":{"name":"ReorderItem","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":27}},"loc":{"start":{"line":32,"column":2},"end":{"line":82,"column":1}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":50},"end":{"line":43,"column":51}},"loc":{"start":{"line":43,"column":75},"end":{"line":43,"column":107}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":39},"end":{"line":47,"column":40}},"loc":{"start":{"line":47,"column":113},"end":{"line":53,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":48},"end":{"line":55,"column":49}},"loc":{"start":{"line":55,"column":67},"end":{"line":57,"column":3}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":12},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":18},"end":{"line":61,"column":3}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":43},"end":{"line":17,"column":67}},"type":"default-arg","locations":[{"start":{"line":17,"column":66},"end":{"line":17,"column":67}}],"line":17},"1":{"loc":{"start":{"line":20,"column":9},"end":{"line":20,"column":68}},"type":"cond-expr","locations":[{"start":{"line":20,"column":32},"end":{"line":20,"column":37}},{"start":{"line":20,"column":40},"end":{"line":20,"column":68}}],"line":20},"2":{"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":17}},"type":"default-arg","locations":[{"start":{"line":29,"column":13},"end":{"line":29,"column":17}}],"line":29},"3":{"loc":{"start":{"line":43,"column":75},"end":{"line":43,"column":107}},"type":"cond-expr","locations":[{"start":{"line":43,"column":96},"end":{"line":43,"column":97}},{"start":{"line":43,"column":100},"end":{"line":43,"column":107}}],"line":43},"4":{"loc":{"start":{"line":43,"column":75},"end":{"line":43,"column":93}},"type":"binary-expr","locations":[{"start":{"line":43,"column":75},"end":{"line":43,"column":82}},{"start":{"line":43,"column":86},"end":{"line":43,"column":93}}],"line":43},"5":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/CanceledError.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/CanceledError.ts","statementMap":{"0":{"start":{"line":3,"column":4},"end":{"line":3,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":2},"end":{"line":2,"column":3}},"loc":{"start":{"line":2,"column":16},"end":{"line":4,"column":3}},"line":2}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/NodeManager.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/NodeManager.ts","statementMap":{"0":{"start":{"line":18,"column":43},"end":{"line":18,"column":47}},"1":{"start":{"line":21,"column":4},"end":{"line":29,"column":7}},"2":{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},"3":{"start":{"line":23,"column":8},"end":{"line":25,"column":30}},"4":{"start":{"line":24,"column":22},"end":{"line":24,"column":27}},"5":{"start":{"line":25,"column":23},"end":{"line":25,"column":28}},"6":{"start":{"line":27,"column":8},"end":{"line":27,"column":14}},"7":{"start":{"line":33,"column":4},"end":{"line":33,"column":33}},"8":{"start":{"line":34,"column":17},"end":{"line":34,"column":38}},"9":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},"10":{"start":{"line":35,"column":15},"end":{"line":35,"column":27}},"11":{"start":{"line":36,"column":4},"end":{"line":40,"column":6}},"12":{"start":{"line":48,"column":20},"end":{"line":48,"column":85}},"13":{"start":{"line":49,"column":41},"end":{"line":49,"column":50}},"14":{"start":{"line":50,"column":45},"end":{"line":50,"column":47}},"15":{"start":{"line":53,"column":4},"end":{"line":53,"column":33}},"16":{"start":{"line":55,"column":34},"end":{"line":55,"column":38}},"17":{"start":{"line":56,"column":36},"end":{"line":56,"column":38}},"18":{"start":{"line":57,"column":4},"end":{"line":65,"column":5}},"19":{"start":{"line":58,"column":6},"end":{"line":58,"column":40}},"20":{"start":{"line":59,"column":11},"end":{"line":65,"column":5}},"21":{"start":{"line":60,"column":6},"end":{"line":60,"column":87}},"22":{"start":{"line":61,"column":11},"end":{"line":65,"column":5}},"23":{"start":{"line":62,"column":6},"end":{"line":62,"column":94}},"24":{"start":{"line":64,"column":6},"end":{"line":64,"column":80}},"25":{"start":{"line":67,"column":4},"end":{"line":75,"column":7}},"26":{"start":{"line":77,"column":4},"end":{"line":92,"column":9}},"27":{"start":{"line":78,"column":6},"end":{"line":90,"column":7}},"28":{"start":{"line":78,"column":27},"end":{"line":78,"column":28}},"29":{"start":{"line":79,"column":8},"end":{"line":89,"column":12}},"30":{"start":{"line":80,"column":23},"end":{"line":80,"column":47}},"31":{"start":{"line":82,"column":10},"end":{"line":86,"column":13}},"32":{"start":{"line":87,"column":10},"end":{"line":87,"column":25}},"33":{"start":{"line":88,"column":10},"end":{"line":88,"column":38}},"34":{"start":{"line":91,"column":6},"end":{"line":91,"column":34}},"35":{"start":{"line":93,"column":4},"end":{"line":93,"column":33}},"36":{"start":{"line":95,"column":4},"end":{"line":98,"column":7}},"37":{"start":{"line":100,"column":4},"end":{"line":100,"column":25}},"38":{"start":{"line":104,"column":34},"end":{"line":104,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":20,"column":34},"end":{"line":30,"column":3}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":29},"end":{"line":21,"column":30}},"loc":{"start":{"line":21,"column":38},"end":{"line":29,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":22},"end":{"line":24,"column":27}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":17},"end":{"line":25,"column":18}},"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":28}},"line":25},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":2},"end":{"line":32,"column":3}},"loc":{"start":{"line":32,"column":68},"end":{"line":41,"column":3}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":47,"column":5},"end":{"line":101,"column":3}},"line":47},"6":{"name":"(anonymous_6)","decl":{"start":{"line":77,"column":21},"end":{"line":77,"column":22}},"loc":{"start":{"line":77,"column":33},"end":{"line":92,"column":5}},"line":77},"7":{"name":"(anonymous_7)","decl":{"start":{"line":79,"column":44},"end":{"line":79,"column":45}},"loc":{"start":{"line":79,"column":56},"end":{"line":89,"column":9}},"line":79}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},{"start":{"line":26,"column":13},"end":{"line":28,"column":7}}],"line":22},"1":{"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":57,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":65,"column":5}},{"start":{"line":59,"column":11},"end":{"line":65,"column":5}}],"line":57},"3":{"loc":{"start":{"line":59,"column":11},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":11},"end":{"line":65,"column":5}},{"start":{"line":61,"column":11},"end":{"line":65,"column":5}}],"line":59},"4":{"loc":{"start":{"line":61,"column":11},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":11},"end":{"line":65,"column":5}},{"start":{"line":63,"column":11},"end":{"line":65,"column":5}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ProgressTracker.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ProgressTracker.ts","statementMap":{"0":{"start":{"line":8,"column":21},"end":{"line":8,"column":22}},"1":{"start":{"line":10,"column":26},"end":{"line":10,"column":27}},"2":{"start":{"line":12,"column":33},"end":{"line":12,"column":34}},"3":{"start":{"line":14,"column":31},"end":{"line":14,"column":32}},"4":{"start":{"line":17,"column":4},"end":{"line":17,"column":24}},"5":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":22}},"7":{"start":{"line":24,"column":4},"end":{"line":24,"column":27}},"8":{"start":{"line":25,"column":4},"end":{"line":25,"column":34}},"9":{"start":{"line":26,"column":4},"end":{"line":26,"column":31}},"10":{"start":{"line":27,"column":4},"end":{"line":27,"column":41}},"11":{"start":{"line":31,"column":4},"end":{"line":31,"column":28}},"12":{"start":{"line":35,"column":4},"end":{"line":44,"column":5}},"13":{"start":{"line":36,"column":6},"end":{"line":41,"column":9}},"14":{"start":{"line":42,"column":6},"end":{"line":42,"column":43}},"15":{"start":{"line":43,"column":6},"end":{"line":43,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":16,"column":54},"end":{"line":21,"column":3}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":20},"end":{"line":28,"column":3}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":2},"end":{"line":30,"column":3}},"loc":{"start":{"line":30,"column":16},"end":{"line":32,"column":3}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":29},"end":{"line":45,"column":3}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":52}},"type":"default-arg","locations":[{"start":{"line":16,"column":48},"end":{"line":16,"column":52}}],"line":16},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":35,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":35},"3":{"loc":{"start":{"line":40,"column":53},"end":{"line":40,"column":76}},"type":"binary-expr","locations":[{"start":{"line":40,"column":53},"end":{"line":40,"column":71}},{"start":{"line":40,"column":75},"end":{"line":40,"column":76}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ResolvedTypographyObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ResolvedTypographyObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/SharedDataHandler.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/SharedDataHandler.ts","statementMap":{"0":{"start":{"line":8,"column":4},"end":{"line":8,"column":24}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":56}},"2":{"start":{"line":16,"column":18},"end":{"line":16,"column":63}},"3":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"4":{"start":{"line":18,"column":6},"end":{"line":18,"column":66}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":17}},"6":{"start":{"line":24,"column":17},"end":{"line":24,"column":32}},"7":{"start":{"line":25,"column":43},"end":{"line":25,"column":45}},"8":{"start":{"line":26,"column":4},"end":{"line":41,"column":7}},"9":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"10":{"start":{"line":28,"column":22},"end":{"line":28,"column":41}},"11":{"start":{"line":29,"column":8},"end":{"line":38,"column":9}},"12":{"start":{"line":30,"column":10},"end":{"line":37,"column":11}},"13":{"start":{"line":33,"column":32},"end":{"line":33,"column":77}},"14":{"start":{"line":34,"column":12},"end":{"line":34,"column":38}},"15":{"start":{"line":36,"column":12},"end":{"line":36,"column":30}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":18}},"17":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"18":{"start":{"line":46,"column":4},"end":{"line":46,"column":64}},"19":{"start":{"line":50,"column":39},"end":{"line":50,"column":95}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":26},"end":{"line":9,"column":3}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":23},"end":{"line":13,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":15,"column":93},"end":{"line":21,"column":3}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":42},"end":{"line":43,"column":3}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":17},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":26},"end":{"line":41,"column":5}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":45,"column":50},"end":{"line":47,"column":3}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":14},"end":{"line":18,"column":54}},"type":"cond-expr","locations":[{"start":{"line":18,"column":28},"end":{"line":18,"column":46}},{"start":{"line":18,"column":49},"end":{"line":18,"column":54}}],"line":18},"2":{"loc":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":27},"3":{"loc":{"start":{"line":29,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":33,"column":32},"end":{"line":33,"column":77}},"type":"cond-expr","locations":[{"start":{"line":33,"column":51},"end":{"line":33,"column":57}},{"start":{"line":33,"column":60},"end":{"line":33,"column":77}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenFormatStoreClass.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenFormatStoreClass.ts","statementMap":{"0":{"start":{"line":6,"column":36},"end":{"line":9,"column":1}},"1":{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},"2":{"start":{"line":22,"column":4},"end":{"line":22,"column":31}},"3":{"start":{"line":23,"column":4},"end":{"line":23,"column":45}},"4":{"start":{"line":24,"column":4},"end":{"line":24,"column":44}},"5":{"start":{"line":27,"column":21},"end":{"line":32,"column":3}},"6":{"start":{"line":28,"column":4},"end":{"line":28,"column":25}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":81}},"8":{"start":{"line":30,"column":4},"end":{"line":30,"column":78}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":99}},"10":{"start":{"line":34,"column":21},"end":{"line":34,"column":38}},"11":{"start":{"line":34,"column":27},"end":{"line":34,"column":38}},"12":{"start":{"line":37,"column":27},"end":{"line":37,"column":54}},"13":{"start":{"line":38,"column":40},"end":{"line":38,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":20,"column":16},"end":{"line":25,"column":3}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":21},"end":{"line":27,"column":22}},"loc":{"start":{"line":27,"column":53},"end":{"line":32,"column":3}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":21},"end":{"line":34,"column":22}},"loc":{"start":{"line":34,"column":27},"end":{"line":34,"column":38}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":25},"end":{"line":29,"column":80}},"type":"cond-expr","locations":[{"start":{"line":29,"column":62},"end":{"line":29,"column":70}},{"start":{"line":29,"column":73},"end":{"line":29,"column":80}}],"line":29},"1":{"loc":{"start":{"line":30,"column":24},"end":{"line":30,"column":77}},"type":"cond-expr","locations":[{"start":{"line":30,"column":61},"end":{"line":30,"column":68}},{"start":{"line":30,"column":71},"end":{"line":30,"column":77}}],"line":30},"2":{"loc":{"start":{"line":31,"column":31},"end":{"line":31,"column":98}},"type":"cond-expr","locations":[{"start":{"line":31,"column":68},"end":{"line":31,"column":82}},{"start":{"line":31,"column":85},"end":{"line":31,"column":98}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenValueRetriever.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenValueRetriever.ts","statementMap":{"0":{"start":{"line":23,"column":33},"end":{"line":25,"column":17}},"1":{"start":{"line":27,"column":30},"end":{"line":27,"column":90}},"2":{"start":{"line":27,"column":78},"end":{"line":27,"column":79}},"3":{"start":{"line":28,"column":49},"end":{"line":28,"column":120}},"4":{"start":{"line":28,"column":108},"end":{"line":28,"column":109}},"5":{"start":{"line":30,"column":4},"end":{"line":30,"column":69}},"6":{"start":{"line":50,"column":4},"end":{"line":50,"column":91}},"7":{"start":{"line":51,"column":4},"end":{"line":51,"column":61}},"8":{"start":{"line":52,"column":4},"end":{"line":52,"column":81}},"9":{"start":{"line":53,"column":4},"end":{"line":53,"column":56}},"10":{"start":{"line":54,"column":4},"end":{"line":54,"column":62}},"11":{"start":{"line":55,"column":4},"end":{"line":55,"column":46}},"12":{"start":{"line":56,"column":4},"end":{"line":56,"column":73}},"13":{"start":{"line":58,"column":4},"end":{"line":72,"column":8}},"14":{"start":{"line":59,"column":25},"end":{"line":59,"column":60}},"15":{"start":{"line":61,"column":72},"end":{"line":61,"column":109}},"16":{"start":{"line":63,"column":22},"end":{"line":63,"column":159}},"17":{"start":{"line":64,"column":37},"end":{"line":64,"column":135}},"18":{"start":{"line":66,"column":6},"end":{"line":71,"column":9}},"19":{"start":{"line":76,"column":4},"end":{"line":76,"column":38}},"20":{"start":{"line":81,"column":24},"end":{"line":81,"column":50}},"21":{"start":{"line":82,"column":29},"end":{"line":82,"column":111}},"22":{"start":{"line":83,"column":30},"end":{"line":83,"column":74}},"23":{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},"24":{"start":{"line":85,"column":6},"end":{"line":85,"column":62}},"25":{"start":{"line":86,"column":6},"end":{"line":86,"column":22}},"26":{"start":{"line":88,"column":27},"end":{"line":88,"column":159}},"27":{"start":{"line":89,"column":4},"end":{"line":89,"column":38}},"28":{"start":{"line":89,"column":25},"end":{"line":89,"column":38}},"29":{"start":{"line":90,"column":4},"end":{"line":102,"column":5}},"30":{"start":{"line":91,"column":6},"end":{"line":101,"column":7}},"31":{"start":{"line":92,"column":30},"end":{"line":92,"column":92}},"32":{"start":{"line":93,"column":8},"end":{"line":97,"column":9}},"33":{"start":{"line":94,"column":10},"end":{"line":94,"column":70}},"34":{"start":{"line":95,"column":10},"end":{"line":95,"column":35}},"35":{"start":{"line":96,"column":10},"end":{"line":96,"column":26}},"36":{"start":{"line":99,"column":8},"end":{"line":99,"column":51}},"37":{"start":{"line":100,"column":8},"end":{"line":100,"column":26}},"38":{"start":{"line":104,"column":4},"end":{"line":104,"column":44}},"39":{"start":{"line":104,"column":32},"end":{"line":104,"column":44}},"40":{"start":{"line":105,"column":4},"end":{"line":105,"column":16}},"41":{"start":{"line":109,"column":4},"end":{"line":109,"column":23}},"42":{"start":{"line":113,"column":4},"end":{"line":113,"column":77}},"43":{"start":{"line":113,"column":39},"end":{"line":113,"column":77}},"44":{"start":{"line":114,"column":4},"end":{"line":114,"column":41}},"45":{"start":{"line":114,"column":21},"end":{"line":114,"column":41}},"46":{"start":{"line":115,"column":4},"end":{"line":115,"column":65}},"47":{"start":{"line":115,"column":33},"end":{"line":115,"column":65}},"48":{"start":{"line":116,"column":4},"end":{"line":116,"column":59}},"49":{"start":{"line":116,"column":30},"end":{"line":116,"column":59}},"50":{"start":{"line":117,"column":4},"end":{"line":117,"column":63}},"51":{"start":{"line":117,"column":30},"end":{"line":117,"column":63}},"52":{"start":{"line":118,"column":4},"end":{"line":118,"column":81}},"53":{"start":{"line":118,"column":39},"end":{"line":118,"column":81}},"54":{"start":{"line":119,"column":4},"end":{"line":119,"column":101}},"55":{"start":{"line":119,"column":49},"end":{"line":119,"column":101}},"56":{"start":{"line":123,"column":35},"end":{"line":123,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":3}},"loc":{"start":{"line":22,"column":68},"end":{"line":31,"column":3}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":71},"end":{"line":27,"column":72}},"loc":{"start":{"line":27,"column":78},"end":{"line":27,"column":79}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":101},"end":{"line":28,"column":102}},"loc":{"start":{"line":28,"column":108},"end":{"line":28,"column":109}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":49,"column":5},"end":{"line":73,"column":3}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":58,"column":50},"end":{"line":58,"column":51}},"loc":{"start":{"line":58,"column":61},"end":{"line":72,"column":5}},"line":58},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":75,"column":32},"end":{"line":77,"column":3}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":79,"column":55},"end":{"line":106,"column":3}},"line":79},"7":{"name":"(anonymous_7)","decl":{"start":{"line":108,"column":2},"end":{"line":108,"column":3}},"loc":{"start":{"line":108,"column":21},"end":{"line":110,"column":3}},"line":108},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":3}},"loc":{"start":{"line":112,"column":22},"end":{"line":120,"column":3}},"line":112}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":33},"end":{"line":25,"column":17}},"type":"cond-expr","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":47}},{"start":{"line":25,"column":8},"end":{"line":25,"column":17}}],"line":23},"1":{"loc":{"start":{"line":23,"column":33},"end":{"line":23,"column":97}},"type":"binary-expr","locations":[{"start":{"line":23,"column":33},"end":{"line":23,"column":62}},{"start":{"line":23,"column":66},"end":{"line":23,"column":97}}],"line":23},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":36}},"type":"default-arg","locations":[{"start":{"line":38,"column":31},"end":{"line":38,"column":36}}],"line":38},"3":{"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":46}},"type":"default-arg","locations":[{"start":{"line":39,"column":41},"end":{"line":39,"column":46}}],"line":39},"4":{"loc":{"start":{"line":40,"column":4},"end":{"line":40,"column":85}},"type":"default-arg","locations":[{"start":{"line":40,"column":37},"end":{"line":40,"column":85}}],"line":40},"5":{"loc":{"start":{"line":50,"column":27},"end":{"line":50,"column":90}},"type":"cond-expr","locations":[{"start":{"line":50,"column":68},"end":{"line":50,"column":83}},{"start":{"line":50,"column":86},"end":{"line":50,"column":90}}],"line":50},"6":{"loc":{"start":{"line":53,"column":27},"end":{"line":53,"column":55}},"type":"binary-expr","locations":[{"start":{"line":53,"column":27},"end":{"line":53,"column":42}},{"start":{"line":53,"column":46},"end":{"line":53,"column":55}}],"line":53},"7":{"loc":{"start":{"line":54,"column":30},"end":{"line":54,"column":61}},"type":"binary-expr","locations":[{"start":{"line":54,"column":30},"end":{"line":54,"column":48}},{"start":{"line":54,"column":52},"end":{"line":54,"column":61}}],"line":54},"8":{"loc":{"start":{"line":63,"column":22},"end":{"line":63,"column":159}},"type":"binary-expr","locations":[{"start":{"line":63,"column":22},"end":{"line":63,"column":61}},{"start":{"line":63,"column":65},"end":{"line":63,"column":123}},{"start":{"line":63,"column":127},"end":{"line":63,"column":159}}],"line":63},"9":{"loc":{"start":{"line":64,"column":37},"end":{"line":64,"column":135}},"type":"cond-expr","locations":[{"start":{"line":64,"column":79},"end":{"line":64,"column":96}},{"start":{"line":64,"column":99},"end":{"line":64,"column":135}}],"line":64},"10":{"loc":{"start":{"line":70,"column":27},"end":{"line":70,"column":79}},"type":"cond-expr","locations":[{"start":{"line":70,"column":37},"end":{"line":70,"column":59}},{"start":{"line":70,"column":62},"end":{"line":70,"column":79}}],"line":70},"11":{"loc":{"start":{"line":82,"column":29},"end":{"line":82,"column":111}},"type":"binary-expr","locations":[{"start":{"line":82,"column":29},"end":{"line":82,"column":69}},{"start":{"line":82,"column":73},"end":{"line":82,"column":111}}],"line":82},"12":{"loc":{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},{"start":{},"end":{}}],"line":84},"13":{"loc":{"start":{"line":88,"column":27},"end":{"line":88,"column":159}},"type":"binary-expr","locations":[{"start":{"line":88,"column":27},"end":{"line":88,"column":65}},{"start":{"line":88,"column":70},"end":{"line":88,"column":158}}],"line":88},"14":{"loc":{"start":{"line":88,"column":70},"end":{"line":88,"column":158}},"type":"cond-expr","locations":[{"start":{"line":88,"column":89},"end":{"line":88,"column":151}},{"start":{"line":88,"column":154},"end":{"line":88,"column":158}}],"line":88},"15":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":38}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":38}},{"start":{},"end":{}}],"line":89},"16":{"loc":{"start":{"line":90,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":102,"column":5}},{"start":{},"end":{}}],"line":90},"17":{"loc":{"start":{"line":90,"column":8},"end":{"line":90,"column":64}},"type":"binary-expr","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":26}},{"start":{"line":90,"column":30},"end":{"line":90,"column":64}}],"line":90},"18":{"loc":{"start":{"line":93,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":97,"column":9}},{"start":{},"end":{}}],"line":93},"19":{"loc":{"start":{"line":104,"column":4},"end":{"line":104,"column":44}},"type":"if","locations":[{"start":{"line":104,"column":4},"end":{"line":104,"column":44}},{"start":{},"end":{}}],"line":104},"20":{"loc":{"start":{"line":113,"column":4},"end":{"line":113,"column":77}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":113,"column":77}},{"start":{},"end":{}}],"line":113},"21":{"loc":{"start":{"line":114,"column":4},"end":{"line":114,"column":41}},"type":"if","locations":[{"start":{"line":114,"column":4},"end":{"line":114,"column":41}},{"start":{},"end":{}}],"line":114},"22":{"loc":{"start":{"line":115,"column":4},"end":{"line":115,"column":65}},"type":"if","locations":[{"start":{"line":115,"column":4},"end":{"line":115,"column":65}},{"start":{},"end":{}}],"line":115},"23":{"loc":{"start":{"line":116,"column":4},"end":{"line":116,"column":59}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":116,"column":59}},{"start":{},"end":{}}],"line":116},"24":{"loc":{"start":{"line":117,"column":4},"end":{"line":117,"column":63}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":117,"column":63}},{"start":{},"end":{}}],"line":117},"25":{"loc":{"start":{"line":118,"column":4},"end":{"line":118,"column":81}},"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":118,"column":81}},{"start":{},"end":{}}],"line":118},"26":{"loc":{"start":{"line":119,"column":4},"end":{"line":119,"column":101}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":119,"column":101}},{"start":{},"end":{}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/Worker.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/Worker.ts","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"1":{"start":{"line":12,"column":30},"end":{"line":12,"column":39}},"2":{"start":{"line":14,"column":20},"end":{"line":14,"column":38}},"3":{"start":{"line":16,"column":60},"end":{"line":16,"column":64}},"4":{"start":{"line":18,"column":17},"end":{"line":44,"column":3}},"5":{"start":{"line":19,"column":23},"end":{"line":19,"column":24}},"6":{"start":{"line":21,"column":41},"end":{"line":21,"column":50}},"7":{"start":{"line":24,"column":4},"end":{"line":37,"column":5}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":29}},"9":{"start":{"line":26,"column":6},"end":{"line":31,"column":10}},"10":{"start":{"line":27,"column":8},"end":{"line":30,"column":11}},"11":{"start":{"line":28,"column":10},"end":{"line":28,"column":60}},"12":{"start":{"line":29,"column":10},"end":{"line":29,"column":20}},"13":{"start":{"line":33,"column":6},"end":{"line":33,"column":24}},"14":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"15":{"start":{"line":35,"column":8},"end":{"line":35,"column":14}},"16":{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},"17":{"start":{"line":40,"column":6},"end":{"line":40,"column":48}},"18":{"start":{"line":43,"column":4},"end":{"line":43,"column":32}},"19":{"start":{"line":46,"column":20},"end":{"line":57,"column":3}},"20":{"start":{"line":47,"column":4},"end":{"line":47,"column":26}},"21":{"start":{"line":48,"column":15},"end":{"line":48,"column":31}},"22":{"start":{"line":49,"column":20},"end":{"line":54,"column":6}},"23":{"start":{"line":50,"column":6},"end":{"line":52,"column":9}},"24":{"start":{"line":51,"column":8},"end":{"line":51,"column":33}},"25":{"start":{"line":53,"column":6},"end":{"line":53,"column":48}},"26":{"start":{"line":55,"column":4},"end":{"line":55,"column":30}},"27":{"start":{"line":56,"column":4},"end":{"line":56,"column":19}},"28":{"start":{"line":59,"column":18},"end":{"line":63,"column":3}},"29":{"start":{"line":60,"column":4},"end":{"line":60,"column":22}},"30":{"start":{"line":61,"column":4},"end":{"line":61,"column":46}},"31":{"start":{"line":62,"column":4},"end":{"line":62,"column":38}},"32":{"start":{"line":65,"column":17},"end":{"line":67,"column":3}},"33":{"start":{"line":66,"column":4},"end":{"line":66,"column":46}},"34":{"start":{"line":69,"column":16},"end":{"line":74,"column":3}},"35":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"36":{"start":{"line":71,"column":6},"end":{"line":71,"column":35}},"37":{"start":{"line":72,"column":6},"end":{"line":72,"column":28}},"38":{"start":{"line":77,"column":29},"end":{"line":77,"column":41}},"39":{"start":{"line":78,"column":0},"end":{"line":78,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":17},"end":{"line":18,"column":18}},"loc":{"start":{"line":18,"column":29},"end":{"line":44,"column":3}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":31},"end":{"line":26,"column":32}},"loc":{"start":{"line":26,"column":44},"end":{"line":31,"column":7}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":23},"end":{"line":27,"column":24}},"loc":{"start":{"line":27,"column":35},"end":{"line":30,"column":9}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":20},"end":{"line":46,"column":21}},"loc":{"start":{"line":46,"column":61},"end":{"line":57,"column":3}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":49,"column":35},"end":{"line":49,"column":36}},"loc":{"start":{"line":49,"column":49},"end":{"line":54,"column":5}},"line":49},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":36},"end":{"line":50,"column":37}},"loc":{"start":{"line":50,"column":42},"end":{"line":52,"column":7}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":59,"column":18},"end":{"line":59,"column":19}},"loc":{"start":{"line":59,"column":24},"end":{"line":63,"column":3}},"line":59},"7":{"name":"(anonymous_7)","decl":{"start":{"line":65,"column":17},"end":{"line":65,"column":18}},"loc":{"start":{"line":65,"column":23},"end":{"line":67,"column":3}},"line":65},"8":{"name":"(anonymous_8)","decl":{"start":{"line":69,"column":16},"end":{"line":69,"column":17}},"loc":{"start":{"line":69,"column":22},"end":{"line":74,"column":3}},"line":69}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},{"start":{},"end":{}}],"line":34},"1":{"loc":{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":39},"2":{"loc":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyAssetTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyAssetTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":11,"column":4},"end":{"line":11,"column":64}}},"fnMap":{"0":{"name":"applyAssetTokenValuesOnNode","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":49}},"loc":{"start":{"line":9,"column":2},"end":{"line":13,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":73}},"type":"binary-expr","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":18}},{"start":{"line":10,"column":22},"end":{"line":10,"column":54}},{"start":{"line":10,"column":58},"end":{"line":10,"column":73}}],"line":10}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBackgroundBlurValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBackgroundBlurValuesOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":92}}},"fnMap":{"0":{"name":"applyBackgroundBlurValuesOnNode","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":53}},"loc":{"start":{"line":11,"column":2},"end":{"line":15,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":114}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":23}},{"start":{"line":12,"column":27},"end":{"line":12,"column":71}},{"start":{"line":12,"column":75},"end":{"line":12,"column":114}}],"line":12}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBooleanTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBooleanTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"1":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"2":{"start":{"line":17,"column":6},"end":{"line":17,"column":26}},"3":{"start":{"line":18,"column":11},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":27}}},"fnMap":{"0":{"name":"applyBooleanTokenValuesOnNode","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":51}},"loc":{"start":{"line":9,"column":2},"end":{"line":22,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":14,"column":68}},"type":"binary-expr","locations":[{"start":{"line":11,"column":4},"end":{"line":11,"column":21}},{"start":{"line":12,"column":7},"end":{"line":12,"column":44}},{"start":{"line":13,"column":7},"end":{"line":13,"column":45}},{"start":{"line":14,"column":7},"end":{"line":14,"column":68}}],"line":11},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":11},"end":{"line":20,"column":5}}],"line":16},"3":{"loc":{"start":{"line":18,"column":11},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":11},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderRadiusValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderRadiusValuesOnNode.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":106,"column":3}},"1":{"start":{"line":17,"column":4},"end":{"line":65,"column":5}},"2":{"start":{"line":22,"column":37},"end":{"line":22,"column":75}},"3":{"start":{"line":23,"column":6},"end":{"line":64,"column":7}},"4":{"start":{"line":25,"column":10},"end":{"line":36,"column":11}},"5":{"start":{"line":26,"column":12},"end":{"line":35,"column":13}},"6":{"start":{"line":34,"column":14},"end":{"line":34,"column":108}},"7":{"start":{"line":37,"column":10},"end":{"line":37,"column":16}},"8":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"9":{"start":{"line":40,"column":12},"end":{"line":40,"column":113}},"10":{"start":{"line":41,"column":12},"end":{"line":41,"column":114}},"11":{"start":{"line":42,"column":12},"end":{"line":42,"column":117}},"12":{"start":{"line":43,"column":12},"end":{"line":43,"column":116}},"13":{"start":{"line":45,"column":10},"end":{"line":45,"column":16}},"14":{"start":{"line":47,"column":10},"end":{"line":52,"column":11}},"15":{"start":{"line":48,"column":12},"end":{"line":48,"column":113}},"16":{"start":{"line":49,"column":12},"end":{"line":49,"column":114}},"17":{"start":{"line":50,"column":12},"end":{"line":50,"column":117}},"18":{"start":{"line":51,"column":12},"end":{"line":51,"column":116}},"19":{"start":{"line":53,"column":10},"end":{"line":53,"column":16}},"20":{"start":{"line":55,"column":10},"end":{"line":60,"column":11}},"21":{"start":{"line":56,"column":12},"end":{"line":56,"column":113}},"22":{"start":{"line":57,"column":12},"end":{"line":57,"column":114}},"23":{"start":{"line":58,"column":12},"end":{"line":58,"column":117}},"24":{"start":{"line":59,"column":12},"end":{"line":59,"column":116}},"25":{"start":{"line":61,"column":10},"end":{"line":61,"column":16}},"26":{"start":{"line":63,"column":10},"end":{"line":63,"column":16}},"27":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"28":{"start":{"line":72,"column":6},"end":{"line":74,"column":7}},"29":{"start":{"line":73,"column":8},"end":{"line":73,"column":110}},"30":{"start":{"line":76,"column":4},"end":{"line":85,"column":5}},"31":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"32":{"start":{"line":83,"column":8},"end":{"line":83,"column":112}},"33":{"start":{"line":86,"column":4},"end":{"line":95,"column":5}},"34":{"start":{"line":92,"column":6},"end":{"line":94,"column":7}},"35":{"start":{"line":93,"column":8},"end":{"line":93,"column":118}},"36":{"start":{"line":96,"column":4},"end":{"line":105,"column":5}},"37":{"start":{"line":102,"column":6},"end":{"line":104,"column":7}},"38":{"start":{"line":103,"column":8},"end":{"line":103,"column":116}}},"fnMap":{"0":{"name":"applyBorderRadiusValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":51}},"loc":{"start":{"line":12,"column":2},"end":{"line":107,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":106,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":106,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":38}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":29}},{"start":{"line":15,"column":7},"end":{"line":15,"column":38}}],"line":14},"2":{"loc":{"start":{"line":17,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":18,"column":6},"end":{"line":20,"column":46}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":48}},{"start":{"line":19,"column":9},"end":{"line":19,"column":49}},{"start":{"line":20,"column":9},"end":{"line":20,"column":46}}],"line":18},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":64,"column":7}},"type":"switch","locations":[{"start":{"line":24,"column":8},"end":{"line":37,"column":16}},{"start":{"line":38,"column":8},"end":{"line":45,"column":16}},{"start":{"line":46,"column":8},"end":{"line":53,"column":16}},{"start":{"line":54,"column":8},"end":{"line":61,"column":16}},{"start":{"line":62,"column":8},"end":{"line":63,"column":16}}],"line":23},"5":{"loc":{"start":{"line":25,"column":10},"end":{"line":36,"column":11}},"type":"if","locations":[{"start":{"line":25,"column":10},"end":{"line":36,"column":11}},{"start":{},"end":{}}],"line":25},"6":{"loc":{"start":{"line":26,"column":12},"end":{"line":35,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":35,"column":13}},{"start":{},"end":{}}],"line":26},"7":{"loc":{"start":{"line":28,"column":16},"end":{"line":31,"column":90}},"type":"binary-expr","locations":[{"start":{"line":28,"column":17},"end":{"line":28,"column":83}},{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},{"start":{"line":30,"column":20},"end":{"line":30,"column":90}},{"start":{"line":31,"column":20},"end":{"line":31,"column":89}}],"line":28},"8":{"loc":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"type":"if","locations":[{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},{"start":{},"end":{}}],"line":39},"9":{"loc":{"start":{"line":47,"column":10},"end":{"line":52,"column":11}},"type":"if","locations":[{"start":{"line":47,"column":10},"end":{"line":52,"column":11}},{"start":{},"end":{}}],"line":47},"10":{"loc":{"start":{"line":55,"column":10},"end":{"line":60,"column":11}},"type":"if","locations":[{"start":{"line":55,"column":10},"end":{"line":60,"column":11}},{"start":{},"end":{}}],"line":55},"11":{"loc":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},{"start":{},"end":{}}],"line":66},"12":{"loc":{"start":{"line":67,"column":6},"end":{"line":70,"column":53}},"type":"binary-expr","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":29}},{"start":{"line":68,"column":9},"end":{"line":68,"column":58}},{"start":{"line":69,"column":9},"end":{"line":69,"column":56}},{"start":{"line":70,"column":9},"end":{"line":70,"column":53}}],"line":67},"13":{"loc":{"start":{"line":72,"column":6},"end":{"line":74,"column":7}},"type":"if","locations":[{"start":{"line":72,"column":6},"end":{"line":74,"column":7}},{"start":{},"end":{}}],"line":72},"14":{"loc":{"start":{"line":76,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":76},"15":{"loc":{"start":{"line":77,"column":6},"end":{"line":80,"column":54}},"type":"binary-expr","locations":[{"start":{"line":77,"column":6},"end":{"line":77,"column":30}},{"start":{"line":78,"column":9},"end":{"line":78,"column":59}},{"start":{"line":79,"column":9},"end":{"line":79,"column":57}},{"start":{"line":80,"column":9},"end":{"line":80,"column":54}}],"line":77},"16":{"loc":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":82},"17":{"loc":{"start":{"line":86,"column":4},"end":{"line":95,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":95,"column":5}},{"start":{},"end":{}}],"line":86},"18":{"loc":{"start":{"line":87,"column":6},"end":{"line":90,"column":57}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":33}},{"start":{"line":88,"column":9},"end":{"line":88,"column":62}},{"start":{"line":89,"column":9},"end":{"line":89,"column":60}},{"start":{"line":90,"column":9},"end":{"line":90,"column":57}}],"line":87},"19":{"loc":{"start":{"line":92,"column":6},"end":{"line":94,"column":7}},"type":"if","locations":[{"start":{"line":92,"column":6},"end":{"line":94,"column":7}},{"start":{},"end":{}}],"line":92},"20":{"loc":{"start":{"line":96,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":96},"21":{"loc":{"start":{"line":97,"column":6},"end":{"line":100,"column":56}},"type":"binary-expr","locations":[{"start":{"line":97,"column":6},"end":{"line":97,"column":32}},{"start":{"line":98,"column":9},"end":{"line":98,"column":61}},{"start":{"line":99,"column":9},"end":{"line":99,"column":59}},{"start":{"line":100,"column":9},"end":{"line":100,"column":56}}],"line":97},"22":{"loc":{"start":{"line":102,"column":6},"end":{"line":104,"column":7}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":104,"column":7}},{"start":{},"end":{}}],"line":102}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0,0,0,0],"5":[0,0],"6":[0,0],"7":[0,0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0,0,0],"16":[0,0],"17":[0,0],"18":[0,0,0,0],"19":[0,0],"20":[0,0],"21":[0,0,0,0],"22":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":74}},"2":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":84}},"4":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":88}},"6":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"7":{"start":{"line":24,"column":4},"end":{"line":24,"column":90}},"8":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"9":{"start":{"line":27,"column":4},"end":{"line":27,"column":86}},"10":{"start":{"line":31,"column":2},"end":{"line":37,"column":3}},"11":{"start":{"line":32,"column":4},"end":{"line":36,"column":7}},"12":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"13":{"start":{"line":41,"column":4},"end":{"line":47,"column":5}},"14":{"start":{"line":42,"column":6},"end":{"line":46,"column":9}}},"fnMap":{"0":{"name":"applyBorderValuesOnNode","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":39}},"loc":{"start":{"line":12,"column":2},"end":{"line":49,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":60}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":19}},{"start":{"line":14,"column":23},"end":{"line":14,"column":60}}],"line":14},"2":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":66}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":22}},{"start":{"line":17,"column":26},"end":{"line":17,"column":66}}],"line":17},"4":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":20},"5":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":70}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":24}},{"start":{"line":20,"column":28},"end":{"line":20,"column":70}}],"line":20},"6":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{},"end":{}}],"line":23},"7":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":72}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":25}},{"start":{"line":23,"column":29},"end":{"line":23,"column":72}}],"line":23},"8":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"9":{"loc":{"start":{"line":26,"column":6},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":23}},{"start":{"line":26,"column":27},"end":{"line":26,"column":68}}],"line":26},"10":{"loc":{"start":{"line":31,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":31},"11":{"loc":{"start":{"line":31,"column":6},"end":{"line":31,"column":94}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":19}},{"start":{"line":31,"column":23},"end":{"line":31,"column":56}},{"start":{"line":31,"column":60},"end":{"line":31,"column":94}}],"line":31},"12":{"loc":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},{"start":{},"end":{}}],"line":40},"13":{"loc":{"start":{"line":40,"column":6},"end":{"line":40,"column":89}},"type":"binary-expr","locations":[{"start":{"line":40,"column":6},"end":{"line":40,"column":47}},{"start":{"line":40,"column":51},"end":{"line":40,"column":89}}],"line":40},"14":{"loc":{"start":{"line":41,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":41},"15":{"loc":{"start":{"line":41,"column":8},"end":{"line":41,"column":45}},"type":"binary-expr","locations":[{"start":{"line":41,"column":8},"end":{"line":41,"column":25}},{"start":{"line":41,"column":29},"end":{"line":41,"column":45}}],"line":41}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderWidthValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderWidthValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":28,"column":3}},"1":{"start":{"line":27,"column":4},"end":{"line":27,"column":96}},"2":{"start":{"line":30,"column":2},"end":{"line":37,"column":3}},"3":{"start":{"line":36,"column":4},"end":{"line":36,"column":105}},"4":{"start":{"line":39,"column":2},"end":{"line":46,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":111}},"6":{"start":{"line":48,"column":2},"end":{"line":55,"column":3}},"7":{"start":{"line":54,"column":4},"end":{"line":54,"column":114}},"8":{"start":{"line":57,"column":2},"end":{"line":64,"column":3}},"9":{"start":{"line":63,"column":4},"end":{"line":63,"column":108}}},"fnMap":{"0":{"name":"applyBorderWidthValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":50}},"loc":{"start":{"line":12,"column":2},"end":{"line":65,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":25,"column":5}},"type":"binary-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":26}},{"start":{"line":16,"column":7},"end":{"line":16,"column":48}},{"start":{"line":17,"column":7},"end":{"line":17,"column":46}},{"start":{"line":18,"column":7},"end":{"line":18,"column":43}},{"start":{"line":20,"column":7},"end":{"line":25,"column":5}}],"line":15},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":24,"column":79}},"type":"binary-expr","locations":[{"start":{"line":21,"column":7},"end":{"line":21,"column":74}},{"start":{"line":22,"column":10},"end":{"line":22,"column":79}},{"start":{"line":23,"column":10},"end":{"line":23,"column":80}},{"start":{"line":24,"column":10},"end":{"line":24,"column":78}}],"line":21},"3":{"loc":{"start":{"line":30,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":30},"4":{"loc":{"start":{"line":31,"column":4},"end":{"line":34,"column":80}},"type":"binary-expr","locations":[{"start":{"line":31,"column":4},"end":{"line":31,"column":29}},{"start":{"line":32,"column":7},"end":{"line":32,"column":51}},{"start":{"line":33,"column":7},"end":{"line":33,"column":49}},{"start":{"line":34,"column":7},"end":{"line":34,"column":80}}],"line":31},"5":{"loc":{"start":{"line":39,"column":2},"end":{"line":46,"column":3}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":46,"column":3}},{"start":{},"end":{}}],"line":39},"6":{"loc":{"start":{"line":40,"column":4},"end":{"line":43,"column":84}},"type":"binary-expr","locations":[{"start":{"line":40,"column":4},"end":{"line":40,"column":31}},{"start":{"line":41,"column":7},"end":{"line":41,"column":53}},{"start":{"line":42,"column":7},"end":{"line":42,"column":51}},{"start":{"line":43,"column":7},"end":{"line":43,"column":84}}],"line":40},"7":{"loc":{"start":{"line":48,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":48,"column":2},"end":{"line":55,"column":3}},{"start":{},"end":{}}],"line":48},"8":{"loc":{"start":{"line":49,"column":4},"end":{"line":52,"column":86}},"type":"binary-expr","locations":[{"start":{"line":49,"column":4},"end":{"line":49,"column":32}},{"start":{"line":50,"column":7},"end":{"line":50,"column":54}},{"start":{"line":51,"column":7},"end":{"line":51,"column":52}},{"start":{"line":52,"column":7},"end":{"line":52,"column":86}}],"line":49},"9":{"loc":{"start":{"line":57,"column":2},"end":{"line":64,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":64,"column":3}},{"start":{},"end":{}}],"line":57},"10":{"loc":{"start":{"line":58,"column":4},"end":{"line":61,"column":82}},"type":"binary-expr","locations":[{"start":{"line":58,"column":4},"end":{"line":58,"column":30}},{"start":{"line":59,"column":7},"end":{"line":59,"column":52}},{"start":{"line":60,"column":7},"end":{"line":60,"column":50}},{"start":{"line":61,"column":7},"end":{"line":61,"column":82}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0],"10":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyColorTokenOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyColorTokenOnNode.ts","statementMap":{"0":{"start":{"line":11,"column":20},"end":{"line":11,"column":29}},"1":{"start":{"line":12,"column":21},"end":{"line":12,"column":32}},"2":{"start":{"line":13,"column":2},"end":{"line":47,"column":3}},"3":{"start":{"line":20,"column":26},"end":{"line":20,"column":67}},"4":{"start":{"line":21,"column":26},"end":{"line":21,"column":48}},"5":{"start":{"line":24,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":25,"column":31},"end":{"line":25,"column":53}},"7":{"start":{"line":26,"column":28},"end":{"line":26,"column":77}},"8":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"9":{"start":{"line":28,"column":8},"end":{"line":38,"column":9}},"10":{"start":{"line":30,"column":10},"end":{"line":30,"column":45}},"11":{"start":{"line":31,"column":10},"end":{"line":31,"column":53}},"12":{"start":{"line":32,"column":15},"end":{"line":38,"column":9}},"13":{"start":{"line":37,"column":10},"end":{"line":37,"column":69}},"14":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":45,"column":9}}},"fnMap":{"0":{"name":"applyColorTokenOnNode","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":43}},"loc":{"start":{"line":10,"column":116},"end":{"line":48,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":18,"column":78}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":14}},{"start":{"line":15,"column":7},"end":{"line":15,"column":37}},{"start":{"line":16,"column":7},"end":{"line":16,"column":22}},{"start":{"line":17,"column":7},"end":{"line":17,"column":16}},{"start":{"line":18,"column":7},"end":{"line":18,"column":78}}],"line":14},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":27},"4":{"loc":{"start":{"line":28,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":38,"column":9}},{"start":{"line":32,"column":15},"end":{"line":38,"column":9}}],"line":28},"5":{"loc":{"start":{"line":32,"column":15},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":15},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":32},"6":{"loc":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},{"start":{},"end":{}}],"line":42},"7":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":102}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":24}},{"start":{"line":42,"column":29},"end":{"line":42,"column":44}},{"start":{"line":42,"column":48},"end":{"line":42,"column":101}}],"line":42}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyDimensionTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyDimensionTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":37,"column":3}},"1":{"start":{"line":18,"column":4},"end":{"line":36,"column":5}},"2":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"3":{"start":{"line":20,"column":8},"end":{"line":20,"column":43}},"4":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":93}},"6":{"start":{"line":26,"column":11},"end":{"line":36,"column":5}},"7":{"start":{"line":27,"column":6},"end":{"line":35,"column":7}},"8":{"start":{"line":33,"column":21},"end":{"line":33,"column":85}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":32}}},"fnMap":{"0":{"name":"applyDimensionTokenValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":53}},"loc":{"start":{"line":12,"column":2},"end":{"line":38,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":41}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":43}},{"start":{"line":15,"column":7},"end":{"line":15,"column":44}},{"start":{"line":16,"column":7},"end":{"line":16,"column":41}}],"line":14},"2":{"loc":{"start":{"line":18,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":36,"column":5}},{"start":{"line":26,"column":11},"end":{"line":36,"column":5}}],"line":18},"3":{"loc":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},{"start":{},"end":{}}],"line":19},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":26,"column":11},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":11},"end":{"line":36,"column":5}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":27,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":35,"column":7}},{"start":{},"end":{}}],"line":27},"7":{"loc":{"start":{"line":29,"column":10},"end":{"line":30,"column":71}},"type":"binary-expr","locations":[{"start":{"line":29,"column":11},"end":{"line":29,"column":66}},{"start":{"line":30,"column":14},"end":{"line":30,"column":70}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyNumberTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyNumberTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":33,"column":3}},"1":{"start":{"line":14,"column":4},"end":{"line":32,"column":5}},"2":{"start":{"line":15,"column":6},"end":{"line":17,"column":7}},"3":{"start":{"line":16,"column":8},"end":{"line":16,"column":43}},"4":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"5":{"start":{"line":20,"column":8},"end":{"line":20,"column":90}},"6":{"start":{"line":22,"column":11},"end":{"line":32,"column":5}},"7":{"start":{"line":23,"column":6},"end":{"line":31,"column":7}},"8":{"start":{"line":29,"column":21},"end":{"line":29,"column":82}},"9":{"start":{"line":30,"column":8},"end":{"line":30,"column":32}}},"fnMap":{"0":{"name":"applyNumberTokenValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":50}},"loc":{"start":{"line":12,"column":2},"end":{"line":34,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":115}},"type":"binary-expr","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":42}},{"start":{"line":13,"column":46},"end":{"line":13,"column":80}},{"start":{"line":13,"column":84},"end":{"line":13,"column":115}}],"line":13},"2":{"loc":{"start":{"line":14,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":32,"column":5}},{"start":{"line":22,"column":11},"end":{"line":32,"column":5}}],"line":14},"3":{"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":7}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":17,"column":7}},{"start":{},"end":{}}],"line":15},"4":{"loc":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},{"start":{},"end":{}}],"line":19},"5":{"loc":{"start":{"line":22,"column":11},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":11},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":22},"6":{"loc":{"start":{"line":23,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":31,"column":7}},{"start":{},"end":{}}],"line":23},"7":{"loc":{"start":{"line":25,"column":10},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":25,"column":11},"end":{"line":25,"column":63}},{"start":{"line":26,"column":14},"end":{"line":26,"column":67}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyOpacityValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyOpacityValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},"1":{"start":{"line":21,"column":4},"end":{"line":21,"column":83}}},"fnMap":{"0":{"name":"applyOpacityValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":46}},"loc":{"start":{"line":12,"column":2},"end":{"line":23,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":19,"column":65}},"type":"binary-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":21}},{"start":{"line":16,"column":7},"end":{"line":16,"column":44}},{"start":{"line":17,"column":7},"end":{"line":17,"column":42}},{"start":{"line":18,"column":7},"end":{"line":18,"column":39}},{"start":{"line":19,"column":7},"end":{"line":19,"column":65}}],"line":15}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyPositionTokenOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyPositionTokenOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":23,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"2":{"start":{"line":16,"column":16},"end":{"line":16,"column":75}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":17}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"5":{"start":{"line":20,"column":16},"end":{"line":20,"column":75}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":17}}},"fnMap":{"0":{"name":"applyPositionTokenOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":46}},"loc":{"start":{"line":12,"column":2},"end":{"line":24,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":23,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":84}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":30}},{"start":{"line":14,"column":34},"end":{"line":14,"column":54}},{"start":{"line":14,"column":58},"end":{"line":14,"column":84}}],"line":14},"2":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":15},"3":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":69}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":39}},{"start":{"line":15,"column":43},"end":{"line":15,"column":69}}],"line":15},"4":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":19},"5":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":69}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":39}},{"start":{"line":19,"column":43},"end":{"line":19,"column":69}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyRotationValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyRotationValuesOnNode.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":24,"column":3}},"1":{"start":{"line":22,"column":21},"end":{"line":22,"column":86}},"2":{"start":{"line":23,"column":4},"end":{"line":23,"column":31}}},"fnMap":{"0":{"name":"applyRotationValuesOnNode","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":47}},"loc":{"start":{"line":13,"column":2},"end":{"line":25,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":24,"column":3}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":16,"column":4},"end":{"line":20,"column":40}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":28}},{"start":{"line":17,"column":7},"end":{"line":17,"column":27}},{"start":{"line":18,"column":7},"end":{"line":18,"column":45}},{"start":{"line":19,"column":7},"end":{"line":19,"column":33}},{"start":{"line":20,"column":7},"end":{"line":20,"column":40}}],"line":16}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyShadowValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyShadowValuesOnNode.ts","statementMap":{"0":{"start":{"line":16,"column":2},"end":{"line":47,"column":3}},"1":{"start":{"line":17,"column":26},"end":{"line":17,"column":72}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},"3":{"start":{"line":18,"column":24},"end":{"line":18,"column":31}},"4":{"start":{"line":19,"column":26},"end":{"line":19,"column":48}},"5":{"start":{"line":22,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":23,"column":6},"end":{"line":39,"column":7}},"7":{"start":{"line":24,"column":33},"end":{"line":24,"column":57}},"8":{"start":{"line":25,"column":30},"end":{"line":25,"column":81}},"9":{"start":{"line":26,"column":8},"end":{"line":38,"column":9}},"10":{"start":{"line":27,"column":10},"end":{"line":37,"column":11}},"11":{"start":{"line":29,"column":12},"end":{"line":29,"column":47}},"12":{"start":{"line":30,"column":12},"end":{"line":30,"column":55}},"13":{"start":{"line":31,"column":17},"end":{"line":37,"column":11}},"14":{"start":{"line":36,"column":12},"end":{"line":36,"column":71}},"15":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"16":{"start":{"line":43,"column":6},"end":{"line":45,"column":7}},"17":{"start":{"line":44,"column":8},"end":{"line":44,"column":68}}},"fnMap":{"0":{"name":"applyShadowValuesOnNode","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":45}},"loc":{"start":{"line":15,"column":2},"end":{"line":48,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":84}},"type":"binary-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":23}},{"start":{"line":16,"column":27},"end":{"line":16,"column":66}},{"start":{"line":16,"column":70},"end":{"line":16,"column":84}}],"line":16},"2":{"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},{"start":{},"end":{}}],"line":18},"3":{"loc":{"start":{"line":22,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":22},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":26,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":27,"column":10},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":27,"column":10},"end":{"line":37,"column":11}},{"start":{"line":31,"column":17},"end":{"line":37,"column":11}}],"line":27},"7":{"loc":{"start":{"line":31,"column":17},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":31,"column":17},"end":{"line":37,"column":11}},{"start":{},"end":{}}],"line":31},"8":{"loc":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":104}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":24}},{"start":{"line":42,"column":29},"end":{"line":42,"column":44}},{"start":{"line":42,"column":48},"end":{"line":42,"column":103}}],"line":42},"10":{"loc":{"start":{"line":43,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":43,"column":6},"end":{"line":45,"column":7}},{"start":{},"end":{}}],"line":43}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySizingValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySizingValuesOnNode.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":29,"column":3}},"1":{"start":{"line":27,"column":17},"end":{"line":27,"column":78}},"2":{"start":{"line":28,"column":4},"end":{"line":28,"column":28}},"3":{"start":{"line":32,"column":2},"end":{"line":40,"column":3}},"4":{"start":{"line":39,"column":4},"end":{"line":39,"column":91}},"5":{"start":{"line":43,"column":2},"end":{"line":51,"column":3}},"6":{"start":{"line":50,"column":4},"end":{"line":50,"column":91}},"7":{"start":{"line":54,"column":2},"end":{"line":104,"column":3}},"8":{"start":{"line":62,"column":4},"end":{"line":70,"column":5}},"9":{"start":{"line":69,"column":6},"end":{"line":69,"column":86}},"10":{"start":{"line":73,"column":4},"end":{"line":81,"column":5}},"11":{"start":{"line":80,"column":6},"end":{"line":80,"column":86}},"12":{"start":{"line":84,"column":4},"end":{"line":92,"column":5}},"13":{"start":{"line":91,"column":6},"end":{"line":91,"column":88}},"14":{"start":{"line":95,"column":4},"end":{"line":103,"column":5}},"15":{"start":{"line":102,"column":6},"end":{"line":102,"column":88}}},"fnMap":{"0":{"name":"applySizingValuesOnNode","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":45}},"loc":{"start":{"line":14,"column":2},"end":{"line":105,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},"type":"binary-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":20}},{"start":{"line":19,"column":7},"end":{"line":19,"column":43}},{"start":{"line":20,"column":7},"end":{"line":20,"column":41}},{"start":{"line":21,"column":7},"end":{"line":21,"column":38}},{"start":{"line":22,"column":7},"end":{"line":25,"column":5}}],"line":18},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":24,"column":64}},"type":"binary-expr","locations":[{"start":{"line":23,"column":7},"end":{"line":23,"column":59}},{"start":{"line":24,"column":10},"end":{"line":24,"column":63}}],"line":23},"3":{"loc":{"start":{"line":32,"column":2},"end":{"line":40,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":40,"column":3}},{"start":{},"end":{}}],"line":32},"4":{"loc":{"start":{"line":33,"column":4},"end":{"line":37,"column":61}},"type":"binary-expr","locations":[{"start":{"line":33,"column":4},"end":{"line":33,"column":20}},{"start":{"line":34,"column":7},"end":{"line":34,"column":42}},{"start":{"line":35,"column":7},"end":{"line":35,"column":40}},{"start":{"line":36,"column":7},"end":{"line":36,"column":37}},{"start":{"line":37,"column":7},"end":{"line":37,"column":61}}],"line":33},"5":{"loc":{"start":{"line":43,"column":2},"end":{"line":51,"column":3}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":51,"column":3}},{"start":{},"end":{}}],"line":43},"6":{"loc":{"start":{"line":44,"column":4},"end":{"line":48,"column":63}},"type":"binary-expr","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":20}},{"start":{"line":45,"column":7},"end":{"line":45,"column":43}},{"start":{"line":46,"column":7},"end":{"line":46,"column":41}},{"start":{"line":47,"column":7},"end":{"line":47,"column":38}},{"start":{"line":48,"column":7},"end":{"line":48,"column":63}}],"line":44},"7":{"loc":{"start":{"line":54,"column":2},"end":{"line":104,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":104,"column":3}},{"start":{},"end":{}}],"line":54},"8":{"loc":{"start":{"line":55,"column":4},"end":{"line":59,"column":118}},"type":"binary-expr","locations":[{"start":{"line":55,"column":4},"end":{"line":55,"column":28}},{"start":{"line":56,"column":7},"end":{"line":56,"column":27}},{"start":{"line":57,"column":7},"end":{"line":57,"column":33}},{"start":{"line":58,"column":8},"end":{"line":58,"column":26}},{"start":{"line":59,"column":10},"end":{"line":59,"column":21}},{"start":{"line":59,"column":25},"end":{"line":59,"column":56}},{"start":{"line":59,"column":60},"end":{"line":59,"column":87}},{"start":{"line":59,"column":91},"end":{"line":59,"column":116}}],"line":55},"9":{"loc":{"start":{"line":62,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":62},"10":{"loc":{"start":{"line":63,"column":6},"end":{"line":67,"column":69}},"type":"binary-expr","locations":[{"start":{"line":63,"column":6},"end":{"line":63,"column":24}},{"start":{"line":64,"column":9},"end":{"line":64,"column":47}},{"start":{"line":65,"column":9},"end":{"line":65,"column":45}},{"start":{"line":66,"column":9},"end":{"line":66,"column":42}},{"start":{"line":67,"column":9},"end":{"line":67,"column":69}}],"line":63},"11":{"loc":{"start":{"line":73,"column":4},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":81,"column":5}},{"start":{},"end":{}}],"line":73},"12":{"loc":{"start":{"line":74,"column":6},"end":{"line":78,"column":69}},"type":"binary-expr","locations":[{"start":{"line":74,"column":6},"end":{"line":74,"column":24}},{"start":{"line":75,"column":9},"end":{"line":75,"column":47}},{"start":{"line":76,"column":9},"end":{"line":76,"column":45}},{"start":{"line":77,"column":9},"end":{"line":77,"column":42}},{"start":{"line":78,"column":9},"end":{"line":78,"column":69}}],"line":74},"13":{"loc":{"start":{"line":84,"column":4},"end":{"line":92,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":92,"column":5}},{"start":{},"end":{}}],"line":84},"14":{"loc":{"start":{"line":85,"column":6},"end":{"line":89,"column":71}},"type":"binary-expr","locations":[{"start":{"line":85,"column":6},"end":{"line":85,"column":25}},{"start":{"line":86,"column":9},"end":{"line":86,"column":48}},{"start":{"line":87,"column":9},"end":{"line":87,"column":46}},{"start":{"line":88,"column":9},"end":{"line":88,"column":43}},{"start":{"line":89,"column":9},"end":{"line":89,"column":71}}],"line":85},"15":{"loc":{"start":{"line":95,"column":4},"end":{"line":103,"column":5}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":103,"column":5}},{"start":{},"end":{}}],"line":95},"16":{"loc":{"start":{"line":96,"column":6},"end":{"line":100,"column":71}},"type":"binary-expr","locations":[{"start":{"line":96,"column":6},"end":{"line":96,"column":25}},{"start":{"line":97,"column":9},"end":{"line":97,"column":48}},{"start":{"line":98,"column":9},"end":{"line":98,"column":46}},{"start":{"line":99,"column":9},"end":{"line":99,"column":43}},{"start":{"line":100,"column":9},"end":{"line":100,"column":71}}],"line":96}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0,0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0],"8":[0,0,0,0,0,0,0,0],"9":[0,0],"10":[0,0,0,0,0],"11":[0,0],"12":[0,0,0,0,0],"13":[0,0],"14":[0,0,0,0,0],"15":[0,0],"16":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySpacingValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySpacingValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":59,"column":3}},"1":{"start":{"line":20,"column":30},"end":{"line":20,"column":63}},"2":{"start":{"line":21,"column":20},"end":{"line":21,"column":83}},"3":{"start":{"line":22,"column":4},"end":{"line":58,"column":5}},"4":{"start":{"line":24,"column":8},"end":{"line":36,"column":9}},"5":{"start":{"line":32,"column":10},"end":{"line":32,"column":37}},"6":{"start":{"line":33,"column":10},"end":{"line":33,"column":38}},"7":{"start":{"line":34,"column":10},"end":{"line":34,"column":36}},"8":{"start":{"line":35,"column":10},"end":{"line":35,"column":39}},"9":{"start":{"line":37,"column":8},"end":{"line":37,"column":14}},"10":{"start":{"line":39,"column":8},"end":{"line":39,"column":96}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":98}},"12":{"start":{"line":41,"column":8},"end":{"line":41,"column":99}},"13":{"start":{"line":42,"column":8},"end":{"line":42,"column":97}},"14":{"start":{"line":43,"column":8},"end":{"line":43,"column":14}},"15":{"start":{"line":45,"column":8},"end":{"line":45,"column":96}},"16":{"start":{"line":46,"column":8},"end":{"line":46,"column":98}},"17":{"start":{"line":47,"column":8},"end":{"line":47,"column":99}},"18":{"start":{"line":48,"column":8},"end":{"line":48,"column":97}},"19":{"start":{"line":49,"column":8},"end":{"line":49,"column":14}},"20":{"start":{"line":51,"column":8},"end":{"line":51,"column":96}},"21":{"start":{"line":52,"column":8},"end":{"line":52,"column":98}},"22":{"start":{"line":53,"column":8},"end":{"line":53,"column":99}},"23":{"start":{"line":54,"column":8},"end":{"line":54,"column":97}},"24":{"start":{"line":55,"column":8},"end":{"line":55,"column":14}},"25":{"start":{"line":57,"column":8},"end":{"line":57,"column":14}},"26":{"start":{"line":60,"column":2},"end":{"line":76,"column":3}},"27":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"28":{"start":{"line":72,"column":32},"end":{"line":72,"column":105}},"29":{"start":{"line":73,"column":6},"end":{"line":73,"column":43}},"30":{"start":{"line":74,"column":6},"end":{"line":74,"column":44}},"31":{"start":{"line":77,"column":2},"end":{"line":93,"column":3}},"32":{"start":{"line":83,"column":4},"end":{"line":92,"column":5}},"33":{"start":{"line":89,"column":30},"end":{"line":89,"column":101}},"34":{"start":{"line":90,"column":6},"end":{"line":90,"column":40}},"35":{"start":{"line":91,"column":6},"end":{"line":91,"column":43}},"36":{"start":{"line":95,"column":2},"end":{"line":109,"column":3}},"37":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"38":{"start":{"line":102,"column":6},"end":{"line":102,"column":51}},"39":{"start":{"line":103,"column":11},"end":{"line":105,"column":5}},"40":{"start":{"line":104,"column":6},"end":{"line":104,"column":41}},"41":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"42":{"start":{"line":107,"column":6},"end":{"line":107,"column":93}},"43":{"start":{"line":111,"column":2},"end":{"line":120,"column":3}},"44":{"start":{"line":117,"column":4},"end":{"line":119,"column":5}},"45":{"start":{"line":118,"column":6},"end":{"line":118,"column":107}},"46":{"start":{"line":122,"column":2},"end":{"line":131,"column":3}},"47":{"start":{"line":128,"column":4},"end":{"line":130,"column":5}},"48":{"start":{"line":129,"column":6},"end":{"line":129,"column":91}},"49":{"start":{"line":132,"column":2},"end":{"line":141,"column":3}},"50":{"start":{"line":138,"column":4},"end":{"line":140,"column":5}},"51":{"start":{"line":139,"column":6},"end":{"line":139,"column":95}},"52":{"start":{"line":143,"column":2},"end":{"line":152,"column":3}},"53":{"start":{"line":149,"column":4},"end":{"line":151,"column":5}},"54":{"start":{"line":150,"column":6},"end":{"line":150,"column":97}},"55":{"start":{"line":154,"column":2},"end":{"line":163,"column":3}},"56":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"57":{"start":{"line":161,"column":6},"end":{"line":161,"column":93}}},"fnMap":{"0":{"name":"applySpacingValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":46}},"loc":{"start":{"line":12,"column":2},"end":{"line":164,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":39}},"type":"binary-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":25}},{"start":{"line":16,"column":7},"end":{"line":16,"column":44}},{"start":{"line":17,"column":7},"end":{"line":17,"column":42}},{"start":{"line":18,"column":7},"end":{"line":18,"column":39}}],"line":15},"2":{"loc":{"start":{"line":22,"column":4},"end":{"line":58,"column":5}},"type":"switch","locations":[{"start":{"line":23,"column":6},"end":{"line":37,"column":14}},{"start":{"line":38,"column":6},"end":{"line":43,"column":14}},{"start":{"line":44,"column":6},"end":{"line":49,"column":14}},{"start":{"line":50,"column":6},"end":{"line":55,"column":14}},{"start":{"line":56,"column":6},"end":{"line":57,"column":14}}],"line":22},"3":{"loc":{"start":{"line":24,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":36,"column":9}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":26,"column":12},"end":{"line":29,"column":78}},"type":"binary-expr","locations":[{"start":{"line":26,"column":13},"end":{"line":26,"column":72}},{"start":{"line":27,"column":16},"end":{"line":27,"column":76}},{"start":{"line":28,"column":16},"end":{"line":28,"column":74}},{"start":{"line":29,"column":16},"end":{"line":29,"column":77}}],"line":26},"5":{"loc":{"start":{"line":60,"column":2},"end":{"line":76,"column":3}},"type":"if","locations":[{"start":{"line":60,"column":2},"end":{"line":76,"column":3}},{"start":{},"end":{}}],"line":60},"6":{"loc":{"start":{"line":61,"column":4},"end":{"line":64,"column":49}},"type":"binary-expr","locations":[{"start":{"line":61,"column":4},"end":{"line":61,"column":25}},{"start":{"line":62,"column":7},"end":{"line":62,"column":54}},{"start":{"line":63,"column":7},"end":{"line":63,"column":52}},{"start":{"line":64,"column":7},"end":{"line":64,"column":49}}],"line":61},"7":{"loc":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},{"start":{},"end":{}}],"line":66},"8":{"loc":{"start":{"line":68,"column":8},"end":{"line":69,"column":83}},"type":"binary-expr","locations":[{"start":{"line":68,"column":9},"end":{"line":68,"column":78}},{"start":{"line":69,"column":12},"end":{"line":69,"column":82}}],"line":68},"9":{"loc":{"start":{"line":77,"column":2},"end":{"line":93,"column":3}},"type":"if","locations":[{"start":{"line":77,"column":2},"end":{"line":93,"column":3}},{"start":{},"end":{}}],"line":77},"10":{"loc":{"start":{"line":78,"column":4},"end":{"line":81,"column":47}},"type":"binary-expr","locations":[{"start":{"line":78,"column":4},"end":{"line":78,"column":24}},{"start":{"line":79,"column":7},"end":{"line":79,"column":52}},{"start":{"line":80,"column":7},"end":{"line":80,"column":50}},{"start":{"line":81,"column":7},"end":{"line":81,"column":47}}],"line":78},"11":{"loc":{"start":{"line":83,"column":4},"end":{"line":92,"column":5}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":92,"column":5}},{"start":{},"end":{}}],"line":83},"12":{"loc":{"start":{"line":85,"column":8},"end":{"line":86,"column":82}},"type":"binary-expr","locations":[{"start":{"line":85,"column":9},"end":{"line":85,"column":75}},{"start":{"line":86,"column":12},"end":{"line":86,"column":81}}],"line":85},"13":{"loc":{"start":{"line":95,"column":2},"end":{"line":109,"column":3}},"type":"if","locations":[{"start":{"line":95,"column":2},"end":{"line":109,"column":3}},{"start":{},"end":{}}],"line":95},"14":{"loc":{"start":{"line":96,"column":4},"end":{"line":99,"column":43}},"type":"binary-expr","locations":[{"start":{"line":96,"column":4},"end":{"line":96,"column":25}},{"start":{"line":97,"column":7},"end":{"line":97,"column":48}},{"start":{"line":98,"column":7},"end":{"line":98,"column":46}},{"start":{"line":99,"column":7},"end":{"line":99,"column":43}}],"line":96},"15":{"loc":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},{"start":{"line":103,"column":11},"end":{"line":105,"column":5}}],"line":101},"16":{"loc":{"start":{"line":103,"column":11},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":11},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":103},"17":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":106},"18":{"loc":{"start":{"line":111,"column":2},"end":{"line":120,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":120,"column":3}},{"start":{},"end":{}}],"line":111},"19":{"loc":{"start":{"line":112,"column":4},"end":{"line":115,"column":50}},"type":"binary-expr","locations":[{"start":{"line":112,"column":4},"end":{"line":112,"column":32}},{"start":{"line":113,"column":7},"end":{"line":113,"column":55}},{"start":{"line":114,"column":7},"end":{"line":114,"column":53}},{"start":{"line":115,"column":7},"end":{"line":115,"column":50}}],"line":112},"20":{"loc":{"start":{"line":117,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":119,"column":5}},{"start":{},"end":{}}],"line":117},"21":{"loc":{"start":{"line":122,"column":2},"end":{"line":131,"column":3}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":131,"column":3}},{"start":{},"end":{}}],"line":122},"22":{"loc":{"start":{"line":123,"column":4},"end":{"line":126,"column":42}},"type":"binary-expr","locations":[{"start":{"line":123,"column":4},"end":{"line":123,"column":24}},{"start":{"line":124,"column":7},"end":{"line":124,"column":47}},{"start":{"line":125,"column":7},"end":{"line":125,"column":45}},{"start":{"line":126,"column":7},"end":{"line":126,"column":42}}],"line":123},"23":{"loc":{"start":{"line":128,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":128},"24":{"loc":{"start":{"line":132,"column":2},"end":{"line":141,"column":3}},"type":"if","locations":[{"start":{"line":132,"column":2},"end":{"line":141,"column":3}},{"start":{},"end":{}}],"line":132},"25":{"loc":{"start":{"line":133,"column":4},"end":{"line":136,"column":44}},"type":"binary-expr","locations":[{"start":{"line":133,"column":4},"end":{"line":133,"column":26}},{"start":{"line":134,"column":7},"end":{"line":134,"column":49}},{"start":{"line":135,"column":7},"end":{"line":135,"column":47}},{"start":{"line":136,"column":7},"end":{"line":136,"column":44}}],"line":133},"26":{"loc":{"start":{"line":138,"column":4},"end":{"line":140,"column":5}},"type":"if","locations":[{"start":{"line":138,"column":4},"end":{"line":140,"column":5}},{"start":{},"end":{}}],"line":138},"27":{"loc":{"start":{"line":143,"column":2},"end":{"line":152,"column":3}},"type":"if","locations":[{"start":{"line":143,"column":2},"end":{"line":152,"column":3}},{"start":{},"end":{}}],"line":143},"28":{"loc":{"start":{"line":144,"column":4},"end":{"line":147,"column":45}},"type":"binary-expr","locations":[{"start":{"line":144,"column":4},"end":{"line":144,"column":27}},{"start":{"line":145,"column":7},"end":{"line":145,"column":50}},{"start":{"line":146,"column":7},"end":{"line":146,"column":48}},{"start":{"line":147,"column":7},"end":{"line":147,"column":45}}],"line":144},"29":{"loc":{"start":{"line":149,"column":4},"end":{"line":151,"column":5}},"type":"if","locations":[{"start":{"line":149,"column":4},"end":{"line":151,"column":5}},{"start":{},"end":{}}],"line":149},"30":{"loc":{"start":{"line":154,"column":2},"end":{"line":163,"column":3}},"type":"if","locations":[{"start":{"line":154,"column":2},"end":{"line":163,"column":3}},{"start":{},"end":{}}],"line":154},"31":{"loc":{"start":{"line":155,"column":4},"end":{"line":158,"column":43}},"type":"binary-expr","locations":[{"start":{"line":155,"column":4},"end":{"line":155,"column":25}},{"start":{"line":156,"column":7},"end":{"line":156,"column":48}},{"start":{"line":157,"column":7},"end":{"line":157,"column":46}},{"start":{"line":158,"column":7},"end":{"line":158,"column":43}}],"line":155},"32":{"loc":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},{"start":{},"end":{}}],"line":160}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0,0,0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0,0],"20":[0,0],"21":[0,0],"22":[0,0,0,0],"23":[0,0],"24":[0,0],"25":[0,0,0,0],"26":[0,0],"27":[0,0],"28":[0,0,0,0],"29":[0,0],"30":[0,0],"31":[0,0,0,0],"32":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTextCharacterValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTextCharacterValuesOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"2":{"start":{"line":14,"column":6},"end":{"line":14,"column":47}},"3":{"start":{"line":17,"column":20},"end":{"line":17,"column":113}},"4":{"start":{"line":18,"column":6},"end":{"line":18,"column":38}},"5":{"start":{"line":23,"column":2},"end":{"line":33,"column":3}},"6":{"start":{"line":29,"column":4},"end":{"line":32,"column":5}},"7":{"start":{"line":30,"column":6},"end":{"line":30,"column":47}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":36}},"9":{"start":{"line":35,"column":2},"end":{"line":42,"column":3}},"10":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"11":{"start":{"line":37,"column":6},"end":{"line":37,"column":47}},"12":{"start":{"line":39,"column":20},"end":{"line":39,"column":98}},"13":{"start":{"line":40,"column":6},"end":{"line":40,"column":38}},"14":{"start":{"line":45,"column":2},"end":{"line":50,"column":3}},"15":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"16":{"start":{"line":47,"column":6},"end":{"line":47,"column":47}},"17":{"start":{"line":48,"column":6},"end":{"line":48,"column":49}},"18":{"start":{"line":53,"column":2},"end":{"line":58,"column":3}},"19":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"20":{"start":{"line":55,"column":6},"end":{"line":55,"column":47}},"21":{"start":{"line":56,"column":6},"end":{"line":56,"column":51}}},"fnMap":{"0":{"name":"applyTextCharacterValuesOnNode","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":52}},"loc":{"start":{"line":10,"column":2},"end":{"line":59,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":13},"2":{"loc":{"start":{"line":13,"column":8},"end":{"line":13,"column":61}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":28}},{"start":{"line":13,"column":32},"end":{"line":13,"column":61}}],"line":13},"3":{"loc":{"start":{"line":17,"column":20},"end":{"line":17,"column":113}},"type":"cond-expr","locations":[{"start":{"line":17,"column":60},"end":{"line":17,"column":93}},{"start":{"line":17,"column":96},"end":{"line":17,"column":113}}],"line":17},"4":{"loc":{"start":{"line":23,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":24,"column":4},"end":{"line":27,"column":39}},"type":"binary-expr","locations":[{"start":{"line":24,"column":4},"end":{"line":24,"column":24}},{"start":{"line":25,"column":7},"end":{"line":25,"column":36}},{"start":{"line":26,"column":7},"end":{"line":26,"column":38}},{"start":{"line":27,"column":7},"end":{"line":27,"column":39}}],"line":24},"6":{"loc":{"start":{"line":29,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":35,"column":2},"end":{"line":42,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":42,"column":3}},{"start":{},"end":{}}],"line":35},"8":{"loc":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":36},"9":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":61}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":28}},{"start":{"line":36,"column":32},"end":{"line":36,"column":61}}],"line":36},"10":{"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":98}},"type":"cond-expr","locations":[{"start":{"line":39,"column":55},"end":{"line":39,"column":83}},{"start":{"line":39,"column":86},"end":{"line":39,"column":98}}],"line":39},"11":{"loc":{"start":{"line":45,"column":2},"end":{"line":50,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":50,"column":3}},{"start":{},"end":{}}],"line":45},"12":{"loc":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":46},"13":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":61}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":28}},{"start":{"line":46,"column":32},"end":{"line":46,"column":61}}],"line":46},"14":{"loc":{"start":{"line":53,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":58,"column":3}},{"start":{},"end":{}}],"line":53},"15":{"loc":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":54},"16":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":61}},"type":"binary-expr","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":28}},{"start":{"line":54,"column":32},"end":{"line":54,"column":61}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTypographyTokenOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTypographyTokenOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":64}},"2":{"start":{"line":15,"column":2},"end":{"line":15,"column":19}},"3":{"start":{"line":19,"column":2},"end":{"line":43,"column":4}},"4":{"start":{"line":47,"column":21},"end":{"line":47,"column":47}},"5":{"start":{"line":49,"column":2},"end":{"line":63,"column":4}},"6":{"start":{"line":72,"column":2},"end":{"line":72,"column":38}},"7":{"start":{"line":72,"column":31},"end":{"line":72,"column":38}},"8":{"start":{"line":74,"column":24},"end":{"line":74,"column":96}},"9":{"start":{"line":75,"column":24},"end":{"line":75,"column":46}},"10":{"start":{"line":78,"column":2},"end":{"line":87,"column":3}},"11":{"start":{"line":79,"column":29},"end":{"line":79,"column":51}},"12":{"start":{"line":80,"column":26},"end":{"line":80,"column":80}},"13":{"start":{"line":81,"column":4},"end":{"line":86,"column":5}},"14":{"start":{"line":82,"column":6},"end":{"line":82,"column":41}},"15":{"start":{"line":83,"column":6},"end":{"line":83,"column":49}},"16":{"start":{"line":84,"column":11},"end":{"line":86,"column":5}},"17":{"start":{"line":85,"column":6},"end":{"line":85,"column":65}},"18":{"start":{"line":90,"column":2},"end":{"line":90,"column":86}},"19":{"start":{"line":90,"column":79},"end":{"line":90,"column":86}},"20":{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},"21":{"start":{"line":93,"column":4},"end":{"line":93,"column":63}},"22":{"start":{"line":94,"column":4},"end":{"line":94,"column":11}},"23":{"start":{"line":98,"column":30},"end":{"line":98,"column":75}},"24":{"start":{"line":99,"column":22},"end":{"line":99,"column":61}},"25":{"start":{"line":102,"column":2},"end":{"line":107,"column":5}}},"fnMap":{"0":{"name":"formatValue","decl":{"start":{"line":11,"column":9},"end":{"line":11,"column":20}},"loc":{"start":{"line":11,"column":53},"end":{"line":16,"column":1}},"line":11},"1":{"name":"buildResolvedValueObject","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":33}},"loc":{"start":{"line":18,"column":65},"end":{"line":44,"column":1}},"line":18},"2":{"name":"buildValueObject","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":25}},"loc":{"start":{"line":46,"column":59},"end":{"line":64,"column":1}},"line":46},"3":{"name":"applyTypographyTokenOnNode","decl":{"start":{"line":66,"column":22},"end":{"line":66,"column":48}},"loc":{"start":{"line":71,"column":2},"end":{"line":108,"column":1}},"line":71}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":13,"column":18},"end":{"line":13,"column":62}},"type":"cond-expr","locations":[{"start":{"line":13,"column":42},"end":{"line":13,"column":47}},{"start":{"line":13,"column":50},"end":{"line":13,"column":62}}],"line":13},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":46}},"type":"binary-expr","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":23}},{"start":{"line":22,"column":11},"end":{"line":22,"column":48}},{"start":{"line":23,"column":11},"end":{"line":23,"column":46}}],"line":21},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":28,"column":46}},"type":"binary-expr","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":22}},{"start":{"line":27,"column":11},"end":{"line":27,"column":47}},{"start":{"line":28,"column":11},"end":{"line":28,"column":46}}],"line":26},"4":{"loc":{"start":{"line":31,"column":6},"end":{"line":33,"column":46}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":22}},{"start":{"line":32,"column":11},"end":{"line":32,"column":47}},{"start":{"line":33,"column":11},"end":{"line":33,"column":46}}],"line":31},"5":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":95}},"type":"binary-expr","locations":[{"start":{"line":36,"column":6},"end":{"line":36,"column":20}},{"start":{"line":36,"column":24},"end":{"line":36,"column":58}},{"start":{"line":36,"column":62},"end":{"line":36,"column":95}}],"line":36},"6":{"loc":{"start":{"line":38,"column":31},"end":{"line":38,"column":91}},"type":"binary-expr","locations":[{"start":{"line":38,"column":31},"end":{"line":38,"column":49}},{"start":{"line":38,"column":53},"end":{"line":38,"column":91}}],"line":38},"7":{"loc":{"start":{"line":39,"column":34},"end":{"line":39,"column":100}},"type":"binary-expr","locations":[{"start":{"line":39,"column":34},"end":{"line":39,"column":55}},{"start":{"line":39,"column":59},"end":{"line":39,"column":100}}],"line":39},"8":{"loc":{"start":{"line":40,"column":33},"end":{"line":40,"column":97}},"type":"binary-expr","locations":[{"start":{"line":40,"column":33},"end":{"line":40,"column":53}},{"start":{"line":40,"column":57},"end":{"line":40,"column":97}}],"line":40},"9":{"loc":{"start":{"line":41,"column":26},"end":{"line":41,"column":76}},"type":"binary-expr","locations":[{"start":{"line":41,"column":26},"end":{"line":41,"column":39}},{"start":{"line":41,"column":43},"end":{"line":41,"column":76}}],"line":41},"10":{"loc":{"start":{"line":42,"column":32},"end":{"line":42,"column":94}},"type":"binary-expr","locations":[{"start":{"line":42,"column":32},"end":{"line":42,"column":51}},{"start":{"line":42,"column":55},"end":{"line":42,"column":94}}],"line":42},"11":{"loc":{"start":{"line":47,"column":21},"end":{"line":47,"column":47}},"type":"binary-expr","locations":[{"start":{"line":47,"column":21},"end":{"line":47,"column":41}},{"start":{"line":47,"column":45},"end":{"line":47,"column":47}}],"line":47},"12":{"loc":{"start":{"line":50,"column":16},"end":{"line":50,"column":107}},"type":"cond-expr","locations":[{"start":{"line":50,"column":56},"end":{"line":50,"column":83}},{"start":{"line":50,"column":86},"end":{"line":50,"column":107}}],"line":50},"13":{"loc":{"start":{"line":51,"column":16},"end":{"line":51,"column":105}},"type":"cond-expr","locations":[{"start":{"line":51,"column":55},"end":{"line":51,"column":81}},{"start":{"line":51,"column":84},"end":{"line":51,"column":105}}],"line":51},"14":{"loc":{"start":{"line":52,"column":16},"end":{"line":52,"column":105}},"type":"cond-expr","locations":[{"start":{"line":52,"column":55},"end":{"line":52,"column":81}},{"start":{"line":52,"column":84},"end":{"line":52,"column":105}}],"line":52},"15":{"loc":{"start":{"line":53,"column":14},"end":{"line":53,"column":97}},"type":"cond-expr","locations":[{"start":{"line":53,"column":51},"end":{"line":53,"column":75}},{"start":{"line":53,"column":78},"end":{"line":53,"column":97}}],"line":53},"16":{"loc":{"start":{"line":54,"column":19},"end":{"line":54,"column":115}},"type":"cond-expr","locations":[{"start":{"line":54,"column":60},"end":{"line":54,"column":88}},{"start":{"line":54,"column":91},"end":{"line":54,"column":115}}],"line":54},"17":{"loc":{"start":{"line":55,"column":22},"end":{"line":57,"column":35}},"type":"cond-expr","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":39}},{"start":{"line":57,"column":8},"end":{"line":57,"column":35}}],"line":55},"18":{"loc":{"start":{"line":58,"column":21},"end":{"line":60,"column":34}},"type":"cond-expr","locations":[{"start":{"line":59,"column":8},"end":{"line":59,"column":38}},{"start":{"line":60,"column":8},"end":{"line":60,"column":34}}],"line":58},"19":{"loc":{"start":{"line":61,"column":14},"end":{"line":61,"column":95}},"type":"cond-expr","locations":[{"start":{"line":61,"column":50},"end":{"line":61,"column":73}},{"start":{"line":61,"column":76},"end":{"line":61,"column":95}}],"line":61},"20":{"loc":{"start":{"line":62,"column":20},"end":{"line":62,"column":119}},"type":"cond-expr","locations":[{"start":{"line":62,"column":62},"end":{"line":62,"column":91}},{"start":{"line":62,"column":94},"end":{"line":62,"column":119}}],"line":62},"21":{"loc":{"start":{"line":72,"column":2},"end":{"line":72,"column":38}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":72,"column":38}},{"start":{},"end":{}}],"line":72},"22":{"loc":{"start":{"line":74,"column":24},"end":{"line":74,"column":96}},"type":"cond-expr","locations":[{"start":{"line":74,"column":42},"end":{"line":74,"column":89}},{"start":{"line":74,"column":92},"end":{"line":74,"column":96}}],"line":74},"23":{"loc":{"start":{"line":78,"column":2},"end":{"line":87,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":87,"column":3}},{"start":{},"end":{}}],"line":78},"24":{"loc":{"start":{"line":78,"column":6},"end":{"line":78,"column":87}},"type":"binary-expr","locations":[{"start":{"line":78,"column":6},"end":{"line":78,"column":22}},{"start":{"line":78,"column":26},"end":{"line":78,"column":39}},{"start":{"line":78,"column":43},"end":{"line":78,"column":87}}],"line":78},"25":{"loc":{"start":{"line":81,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":81,"column":4},"end":{"line":86,"column":5}},{"start":{"line":84,"column":11},"end":{"line":86,"column":5}}],"line":81},"26":{"loc":{"start":{"line":81,"column":8},"end":{"line":81,"column":106}},"type":"binary-expr","locations":[{"start":{"line":81,"column":8},"end":{"line":81,"column":21}},{"start":{"line":81,"column":25},"end":{"line":81,"column":106}}],"line":81},"27":{"loc":{"start":{"line":84,"column":11},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":11},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":84},"28":{"loc":{"start":{"line":84,"column":15},"end":{"line":84,"column":87}},"type":"binary-expr","locations":[{"start":{"line":84,"column":15},"end":{"line":84,"column":28}},{"start":{"line":84,"column":32},"end":{"line":84,"column":87}}],"line":84},"29":{"loc":{"start":{"line":90,"column":2},"end":{"line":90,"column":86}},"type":"if","locations":[{"start":{"line":90,"column":2},"end":{"line":90,"column":86}},{"start":{},"end":{}}],"line":90},"30":{"loc":{"start":{"line":90,"column":6},"end":{"line":90,"column":77}},"type":"binary-expr","locations":[{"start":{"line":90,"column":6},"end":{"line":90,"column":21}},{"start":{"line":90,"column":26},"end":{"line":90,"column":76}}],"line":90},"31":{"loc":{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},"type":"if","locations":[{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},{"start":{},"end":{}}],"line":92},"32":{"loc":{"start":{"line":92,"column":6},"end":{"line":92,"column":117}},"type":"binary-expr","locations":[{"start":{"line":92,"column":6},"end":{"line":92,"column":21}},{"start":{"line":92,"column":25},"end":{"line":92,"column":38}},{"start":{"line":92,"column":42},"end":{"line":92,"column":86}},{"start":{"line":92,"column":90},"end":{"line":92,"column":117}}],"line":92}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0,0],"4":[0,0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/compareStyleWithToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/compareStyleWithToken.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":29,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"2":{"start":{"line":16,"column":24},"end":{"line":16,"column":29}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":55}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"5":{"start":{"line":20,"column":24},"end":{"line":20,"column":29}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":73}},"7":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"8":{"start":{"line":24,"column":24},"end":{"line":24,"column":29}},"9":{"start":{"line":25,"column":6},"end":{"line":25,"column":74}},"10":{"start":{"line":28,"column":4},"end":{"line":28,"column":46}},"11":{"start":{"line":30,"column":2},"end":{"line":30,"column":15}}},"fnMap":{"0":{"name":"compareStyleValueWithTokenValue","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":55}},"loc":{"start":{"line":13,"column":11},"end":{"line":31,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":66}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":30}},{"start":{"line":15,"column":34},"end":{"line":15,"column":66}}],"line":15},"2":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":19},"3":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":70}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},{"start":{"line":19,"column":33},"end":{"line":19,"column":70}}],"line":19},"4":{"loc":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":23,"column":8},"end":{"line":23,"column":72}},"type":"binary-expr","locations":[{"start":{"line":23,"column":8},"end":{"line":23,"column":31}},{"start":{"line":23,"column":35},"end":{"line":23,"column":72}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/controller.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/controller.ts","statementMap":{"0":{"start":{"line":11,"column":0},"end":{"line":11,"column":45}},"1":{"start":{"line":12,"column":0},"end":{"line":12,"column":100}},"2":{"start":{"line":13,"column":0},"end":{"line":13,"column":101}},"3":{"start":{"line":14,"column":0},"end":{"line":17,"column":2}},"4":{"start":{"line":18,"column":0},"end":{"line":18,"column":108}},"5":{"start":{"line":19,"column":0},"end":{"line":22,"column":2}},"6":{"start":{"line":23,"column":0},"end":{"line":26,"column":2}},"7":{"start":{"line":28,"column":0},"end":{"line":31,"column":2}},"8":{"start":{"line":32,"column":0},"end":{"line":35,"column":2}},"9":{"start":{"line":36,"column":0},"end":{"line":36,"column":102}},"10":{"start":{"line":37,"column":0},"end":{"line":37,"column":119}},"11":{"start":{"line":38,"column":0},"end":{"line":38,"column":101}},"12":{"start":{"line":39,"column":0},"end":{"line":39,"column":110}},"13":{"start":{"line":40,"column":0},"end":{"line":40,"column":95}},"14":{"start":{"line":41,"column":0},"end":{"line":41,"column":101}},"15":{"start":{"line":42,"column":0},"end":{"line":42,"column":99}},"16":{"start":{"line":43,"column":0},"end":{"line":43,"column":105}},"17":{"start":{"line":44,"column":0},"end":{"line":44,"column":90}},"18":{"start":{"line":45,"column":0},"end":{"line":45,"column":103}},"19":{"start":{"line":46,"column":0},"end":{"line":46,"column":109}},"20":{"start":{"line":47,"column":0},"end":{"line":47,"column":117}},"21":{"start":{"line":48,"column":0},"end":{"line":48,"column":89}},"22":{"start":{"line":49,"column":0},"end":{"line":49,"column":111}},"23":{"start":{"line":50,"column":0},"end":{"line":50,"column":103}},"24":{"start":{"line":51,"column":0},"end":{"line":51,"column":103}},"25":{"start":{"line":52,"column":0},"end":{"line":52,"column":103}},"26":{"start":{"line":53,"column":0},"end":{"line":53,"column":90}},"27":{"start":{"line":54,"column":0},"end":{"line":54,"column":106}},"28":{"start":{"line":55,"column":0},"end":{"line":55,"column":108}},"29":{"start":{"line":56,"column":0},"end":{"line":59,"column":2}},"30":{"start":{"line":60,"column":0},"end":{"line":60,"column":112}},"31":{"start":{"line":61,"column":0},"end":{"line":61,"column":120}},"32":{"start":{"line":62,"column":0},"end":{"line":62,"column":106}},"33":{"start":{"line":63,"column":0},"end":{"line":63,"column":143}},"34":{"start":{"line":64,"column":0},"end":{"line":64,"column":139}},"35":{"start":{"line":65,"column":0},"end":{"line":65,"column":102}},"36":{"start":{"line":66,"column":0},"end":{"line":66,"column":120}},"37":{"start":{"line":67,"column":0},"end":{"line":67,"column":146}},"38":{"start":{"line":68,"column":0},"end":{"line":68,"column":118}},"39":{"start":{"line":69,"column":0},"end":{"line":72,"column":2}},"40":{"start":{"line":73,"column":0},"end":{"line":73,"column":109}},"41":{"start":{"line":74,"column":0},"end":{"line":74,"column":109}},"42":{"start":{"line":75,"column":0},"end":{"line":75,"column":104}},"43":{"start":{"line":76,"column":0},"end":{"line":76,"column":122}},"44":{"start":{"line":78,"column":0},"end":{"line":80,"column":3}},"45":{"start":{"line":79,"column":2},"end":{"line":79,"column":23}},"46":{"start":{"line":82,"column":0},"end":{"line":84,"column":3}},"47":{"start":{"line":83,"column":2},"end":{"line":83,"column":24}},"48":{"start":{"line":86,"column":0},"end":{"line":88,"column":3}},"49":{"start":{"line":87,"column":2},"end":{"line":87,"column":28}},"50":{"start":{"line":90,"column":0},"end":{"line":90,"column":85}},"51":{"start":{"line":90,"column":62},"end":{"line":90,"column":83}},"52":{"start":{"line":92,"column":0},"end":{"line":92,"column":7}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":78,"column":18},"end":{"line":78,"column":19}},"loc":{"start":{"line":78,"column":24},"end":{"line":80,"column":1}},"line":78},"1":{"name":"(anonymous_1)","decl":{"start":{"line":82,"column":28},"end":{"line":82,"column":29}},"loc":{"start":{"line":82,"column":34},"end":{"line":84,"column":1}},"line":82},"2":{"name":"(anonymous_2)","decl":{"start":{"line":86,"column":27},"end":{"line":86,"column":28}},"loc":{"start":{"line":86,"column":59},"end":{"line":88,"column":1}},"line":86},"3":{"name":"(anonymous_3)","decl":{"start":{"line":90,"column":29},"end":{"line":90,"column":30}},"loc":{"start":{"line":90,"column":62},"end":{"line":90,"column":83}},"line":90}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesInPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesInPlugin.ts","statementMap":{"0":{"start":{"line":30,"column":20},"end":{"line":32,"column":4}},"1":{"start":{"line":33,"column":31},"end":{"line":33,"column":101}},"2":{"start":{"line":33,"column":66},"end":{"line":33,"column":100}},"3":{"start":{"line":34,"column":70},"end":{"line":34,"column":72}},"4":{"start":{"line":35,"column":61},"end":{"line":35,"column":63}},"5":{"start":{"line":36,"column":59},"end":{"line":36,"column":61}},"6":{"start":{"line":37,"column":37},"end":{"line":37,"column":39}},"7":{"start":{"line":38,"column":37},"end":{"line":38,"column":81}},"8":{"start":{"line":39,"column":47},"end":{"line":39,"column":100}},"9":{"start":{"line":41,"column":34},"end":{"line":41,"column":35}},"10":{"start":{"line":43,"column":23},"end":{"line":43,"column":135}},"11":{"start":{"line":44,"column":2},"end":{"line":72,"column":3}},"12":{"start":{"line":45,"column":26},"end":{"line":45,"column":76}},"13":{"start":{"line":46,"column":24},"end":{"line":46,"column":98}},"14":{"start":{"line":48,"column":4},"end":{"line":66,"column":8}},"15":{"start":{"line":49,"column":37},"end":{"line":49,"column":120}},"16":{"start":{"line":51,"column":6},"end":{"line":51,"column":41}},"17":{"start":{"line":51,"column":34},"end":{"line":51,"column":41}},"18":{"start":{"line":53,"column":29},"end":{"line":55,"column":8}},"19":{"start":{"line":56,"column":6},"end":{"line":56,"column":74}},"20":{"start":{"line":57,"column":6},"end":{"line":64,"column":7}},"21":{"start":{"line":58,"column":8},"end":{"line":62,"column":10}},"22":{"start":{"line":63,"column":8},"end":{"line":63,"column":116}},"23":{"start":{"line":65,"column":6},"end":{"line":65,"column":50}},"24":{"start":{"line":68,"column":30},"end":{"line":68,"column":117}},"25":{"start":{"line":71,"column":4},"end":{"line":71,"column":104}},"26":{"start":{"line":74,"column":2},"end":{"line":74,"column":81}},"27":{"start":{"line":75,"column":46},"end":{"line":75,"column":99}},"28":{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},"29":{"start":{"line":78,"column":4},"end":{"line":78,"column":42}},"30":{"start":{"line":80,"column":4},"end":{"line":80,"column":186}},"31":{"start":{"line":82,"column":2},"end":{"line":85,"column":4}}},"fnMap":{"0":{"name":"createLocalVariablesInPlugin","decl":{"start":{"line":28,"column":30},"end":{"line":28,"column":58}},"loc":{"start":{"line":28,"column":149},"end":{"line":86,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":55},"end":{"line":33,"column":56}},"loc":{"start":{"line":33,"column":66},"end":{"line":33,"column":100}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":47},"end":{"line":48,"column":48}},"loc":{"start":{"line":48,"column":64},"end":{"line":66,"column":5}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":23},"end":{"line":43,"column":135}},"type":"binary-expr","locations":[{"start":{"line":43,"column":23},"end":{"line":43,"column":49}},{"start":{"line":43,"column":53},"end":{"line":43,"column":77}},{"start":{"line":43,"column":81},"end":{"line":43,"column":106}},{"start":{"line":43,"column":110},"end":{"line":43,"column":135}}],"line":43},"1":{"loc":{"start":{"line":44,"column":2},"end":{"line":72,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":72,"column":3}},{"start":{},"end":{}}],"line":44},"2":{"loc":{"start":{"line":44,"column":6},"end":{"line":44,"column":66}},"type":"binary-expr","locations":[{"start":{"line":44,"column":6},"end":{"line":44,"column":19}},{"start":{"line":44,"column":23},"end":{"line":44,"column":37}},{"start":{"line":44,"column":41},"end":{"line":44,"column":66}}],"line":44},"3":{"loc":{"start":{"line":49,"column":69},"end":{"line":49,"column":94}},"type":"binary-expr","locations":[{"start":{"line":49,"column":69},"end":{"line":49,"column":80}},{"start":{"line":49,"column":84},"end":{"line":49,"column":94}}],"line":49},"4":{"loc":{"start":{"line":51,"column":6},"end":{"line":51,"column":41}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":51,"column":41}},{"start":{},"end":{}}],"line":51},"5":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":32}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":21}},{"start":{"line":51,"column":25},"end":{"line":51,"column":32}}],"line":51},"6":{"loc":{"start":{"line":57,"column":6},"end":{"line":64,"column":7}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":64,"column":7}},{"start":{},"end":{}}],"line":57},"7":{"loc":{"start":{"line":74,"column":31},"end":{"line":74,"column":80}},"type":"binary-expr","locations":[{"start":{"line":74,"column":31},"end":{"line":74,"column":75}},{"start":{"line":74,"column":79},"end":{"line":74,"column":80}}],"line":74},"8":{"loc":{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},"type":"if","locations":[{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},{"start":{"line":79,"column":9},"end":{"line":81,"column":3}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesWithoutModesInPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesWithoutModesInPlugin.ts","statementMap":{"0":{"start":{"line":27,"column":70},"end":{"line":27,"column":72}},"1":{"start":{"line":28,"column":61},"end":{"line":28,"column":63}},"2":{"start":{"line":29,"column":59},"end":{"line":29,"column":61}},"3":{"start":{"line":30,"column":37},"end":{"line":30,"column":39}},"4":{"start":{"line":31,"column":37},"end":{"line":31,"column":80}},"5":{"start":{"line":32,"column":47},"end":{"line":32,"column":99}},"6":{"start":{"line":34,"column":34},"end":{"line":34,"column":35}},"7":{"start":{"line":36,"column":23},"end":{"line":36,"column":135}},"8":{"start":{"line":37,"column":2},"end":{"line":83,"column":3}},"9":{"start":{"line":38,"column":38},"end":{"line":49,"column":27}},"10":{"start":{"line":39,"column":6},"end":{"line":47,"column":7}},"11":{"start":{"line":40,"column":8},"end":{"line":46,"column":11}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":17}},"13":{"start":{"line":51,"column":27},"end":{"line":51,"column":61}},"14":{"start":{"line":51,"column":53},"end":{"line":51,"column":60}},"15":{"start":{"line":53,"column":26},"end":{"line":56,"column":30}},"16":{"start":{"line":54,"column":6},"end":{"line":54,"column":32}},"17":{"start":{"line":55,"column":6},"end":{"line":55,"column":17}},"18":{"start":{"line":58,"column":24},"end":{"line":58,"column":107}},"19":{"start":{"line":60,"column":4},"end":{"line":80,"column":8}},"20":{"start":{"line":61,"column":6},"end":{"line":79,"column":7}},"21":{"start":{"line":62,"column":39},"end":{"line":62,"column":101}},"22":{"start":{"line":64,"column":8},"end":{"line":64,"column":43}},"23":{"start":{"line":64,"column":36},"end":{"line":64,"column":43}},"24":{"start":{"line":66,"column":31},"end":{"line":68,"column":10}},"25":{"start":{"line":69,"column":8},"end":{"line":69,"column":76}},"26":{"start":{"line":70,"column":8},"end":{"line":77,"column":9}},"27":{"start":{"line":71,"column":10},"end":{"line":75,"column":12}},"28":{"start":{"line":76,"column":10},"end":{"line":76,"column":118}},"29":{"start":{"line":78,"column":8},"end":{"line":78,"column":52}},"30":{"start":{"line":81,"column":30},"end":{"line":81,"column":79}},"31":{"start":{"line":82,"column":4},"end":{"line":82,"column":104}},"32":{"start":{"line":85,"column":2},"end":{"line":85,"column":81}},"33":{"start":{"line":86,"column":46},"end":{"line":86,"column":112}},"34":{"start":{"line":88,"column":2},"end":{"line":92,"column":3}},"35":{"start":{"line":89,"column":4},"end":{"line":89,"column":42}},"36":{"start":{"line":91,"column":4},"end":{"line":91,"column":186}},"37":{"start":{"line":93,"column":2},"end":{"line":96,"column":4}}},"fnMap":{"0":{"name":"createLocalVariablesWithoutModesInPlugin","decl":{"start":{"line":25,"column":30},"end":{"line":25,"column":70}},"loc":{"start":{"line":25,"column":166},"end":{"line":97,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":58},"end":{"line":38,"column":59}},"loc":{"start":{"line":38,"column":104},"end":{"line":49,"column":5}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":44},"end":{"line":51,"column":45}},"loc":{"start":{"line":51,"column":53},"end":{"line":51,"column":60}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":46},"end":{"line":53,"column":47}},"loc":{"start":{"line":53,"column":60},"end":{"line":56,"column":5}},"line":53},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":39},"end":{"line":60,"column":40}},"loc":{"start":{"line":60,"column":77},"end":{"line":80,"column":5}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":23},"end":{"line":36,"column":135}},"type":"binary-expr","locations":[{"start":{"line":36,"column":23},"end":{"line":36,"column":49}},{"start":{"line":36,"column":53},"end":{"line":36,"column":77}},{"start":{"line":36,"column":81},"end":{"line":36,"column":106}},{"start":{"line":36,"column":110},"end":{"line":36,"column":135}}],"line":36},"1":{"loc":{"start":{"line":37,"column":2},"end":{"line":83,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":83,"column":3}},{"start":{},"end":{}}],"line":37},"2":{"loc":{"start":{"line":39,"column":6},"end":{"line":47,"column":7}},"type":"if","locations":[{"start":{"line":39,"column":6},"end":{"line":47,"column":7}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":61,"column":6},"end":{"line":79,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":79,"column":7}},{"start":{},"end":{}}],"line":61},"4":{"loc":{"start":{"line":64,"column":8},"end":{"line":64,"column":43}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":43}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":64,"column":12},"end":{"line":64,"column":34}},"type":"binary-expr","locations":[{"start":{"line":64,"column":12},"end":{"line":64,"column":23}},{"start":{"line":64,"column":27},"end":{"line":64,"column":34}}],"line":64},"6":{"loc":{"start":{"line":70,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":70},"7":{"loc":{"start":{"line":85,"column":31},"end":{"line":85,"column":80}},"type":"binary-expr","locations":[{"start":{"line":85,"column":31},"end":{"line":85,"column":75}},{"start":{"line":85,"column":79},"end":{"line":85,"column":80}}],"line":85},"8":{"loc":{"start":{"line":88,"column":2},"end":{"line":92,"column":3}},"type":"if","locations":[{"start":{"line":88,"column":2},"end":{"line":92,"column":3}},{"start":{"line":90,"column":9},"end":{"line":92,"column":3}}],"line":88}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createNecessaryVariableCollections.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createNecessaryVariableCollections.ts","statementMap":{"0":{"start":{"line":6,"column":25},"end":{"line":6,"column":81}},"1":{"start":{"line":7,"column":38},"end":{"line":7,"column":97}},"2":{"start":{"line":7,"column":63},"end":{"line":7,"column":96}},"3":{"start":{"line":9,"column":2},"end":{"line":40,"column":9}},"4":{"start":{"line":10,"column":29},"end":{"line":10,"column":68}},"5":{"start":{"line":11,"column":31},"end":{"line":13,"column":36}},"6":{"start":{"line":11,"column":56},"end":{"line":11,"column":92}},"7":{"start":{"line":12,"column":35},"end":{"line":13,"column":35}},"8":{"start":{"line":15,"column":4},"end":{"line":33,"column":5}},"9":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"10":{"start":{"line":19,"column":8},"end":{"line":19,"column":51}},"11":{"start":{"line":22,"column":19},"end":{"line":22,"column":127}},"12":{"start":{"line":22,"column":56},"end":{"line":22,"column":126}},"13":{"start":{"line":24,"column":6},"end":{"line":30,"column":7}},"14":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"15":{"start":{"line":26,"column":10},"end":{"line":26,"column":72}},"16":{"start":{"line":29,"column":8},"end":{"line":29,"column":66}},"17":{"start":{"line":31,"column":6},"end":{"line":31,"column":35}},"18":{"start":{"line":32,"column":6},"end":{"line":32,"column":17}},"19":{"start":{"line":35,"column":26},"end":{"line":35,"column":84}},"20":{"start":{"line":37,"column":4},"end":{"line":37,"column":79}},"21":{"start":{"line":38,"column":4},"end":{"line":38,"column":28}},"22":{"start":{"line":39,"column":4},"end":{"line":39,"column":15}}},"fnMap":{"0":{"name":"createNecessaryVariableCollections","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":56}},"loc":{"start":{"line":5,"column":140},"end":{"line":41,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":52},"end":{"line":7,"column":53}},"loc":{"start":{"line":7,"column":63},"end":{"line":7,"column":96}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":66},"end":{"line":9,"column":67}},"loc":{"start":{"line":9,"column":89},"end":{"line":40,"column":3}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":40},"end":{"line":11,"column":41}},"loc":{"start":{"line":11,"column":56},"end":{"line":11,"column":92}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":27},"end":{"line":12,"column":28}},"loc":{"start":{"line":12,"column":35},"end":{"line":13,"column":35}},"line":12},"5":{"name":"(anonymous_5)","decl":{"start":{"line":22,"column":49},"end":{"line":22,"column":50}},"loc":{"start":{"line":22,"column":56},"end":{"line":22,"column":126}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":29},"end":{"line":10,"column":68}},"type":"binary-expr","locations":[{"start":{"line":10,"column":29},"end":{"line":10,"column":47}},{"start":{"line":10,"column":51},"end":{"line":10,"column":68}}],"line":10},"1":{"loc":{"start":{"line":11,"column":31},"end":{"line":13,"column":36}},"type":"binary-expr","locations":[{"start":{"line":11,"column":31},"end":{"line":11,"column":93}},{"start":{"line":12,"column":7},"end":{"line":13,"column":36}}],"line":11},"2":{"loc":{"start":{"line":12,"column":35},"end":{"line":13,"column":35}},"type":"binary-expr","locations":[{"start":{"line":12,"column":35},"end":{"line":12,"column":76}},{"start":{"line":13,"column":7},"end":{"line":13,"column":35}}],"line":12},"3":{"loc":{"start":{"line":15,"column":4},"end":{"line":33,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":33,"column":5}},{"start":{},"end":{}}],"line":15},"4":{"loc":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":18},"5":{"loc":{"start":{"line":22,"column":56},"end":{"line":22,"column":126}},"type":"binary-expr","locations":[{"start":{"line":22,"column":56},"end":{"line":22,"column":94}},{"start":{"line":22,"column":98},"end":{"line":22,"column":126}}],"line":22},"6":{"loc":{"start":{"line":24,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":24,"column":6},"end":{"line":30,"column":7}},{"start":{"line":28,"column":13},"end":{"line":30,"column":7}}],"line":24},"7":{"loc":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},{"start":{},"end":{}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createVariableMode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createVariableMode.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":36}},"2":{"start":{"line":7,"column":4},"end":{"line":17,"column":5}},"3":{"start":{"line":8,"column":20},"end":{"line":8,"column":64}},"4":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"5":{"start":{"line":10,"column":30},"end":{"line":10,"column":49}},"6":{"start":{"line":11,"column":8},"end":{"line":11,"column":125}},"7":{"start":{"line":13,"column":8},"end":{"line":13,"column":51}},"8":{"start":{"line":16,"column":6},"end":{"line":16,"column":21}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":12}}},"fnMap":{"0":{"name":"createVariableMode","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":42}},"loc":{"start":{"line":3,"column":89},"end":{"line":20,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":17,"column":5}},{"start":{"line":15,"column":11},"end":{"line":17,"column":5}}],"line":7},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"type":"if","locations":[{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},{"start":{"line":12,"column":13},"end":{"line":14,"column":7}}],"line":9},"2":{"loc":{"start":{"line":11,"column":72},"end":{"line":11,"column":104}},"type":"cond-expr","locations":[{"start":{"line":11,"column":88},"end":{"line":11,"column":95}},{"start":{"line":11,"column":98},"end":{"line":11,"column":104}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/findCollectionAndModeIdForTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/findCollectionAndModeIdForTheme.ts","statementMap":{"0":{"start":{"line":3,"column":29},"end":{"line":3,"column":84}},"1":{"start":{"line":3,"column":57},"end":{"line":3,"column":83}},"2":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":36}},"4":{"start":{"line":9,"column":17},"end":{"line":9,"column":74}},"5":{"start":{"line":9,"column":54},"end":{"line":9,"column":73}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":26}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":32}}},"fnMap":{"0":{"name":"findCollectionAndModeIdForTheme","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":47}},"loc":{"start":{"line":2,"column":181},"end":{"line":14,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":49},"end":{"line":3,"column":50}},"loc":{"start":{"line":3,"column":57},"end":{"line":3,"column":83}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":47},"end":{"line":9,"column":48}},"loc":{"start":{"line":9,"column":54},"end":{"line":9,"column":73}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/generateTokensToCreate.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/generateTokensToCreate.ts","statementMap":{"0":{"start":{"line":20,"column":27},"end":{"line":22,"column":34}},"1":{"start":{"line":21,"column":32},"end":{"line":21,"column":117}},"2":{"start":{"line":22,"column":25},"end":{"line":22,"column":33}},"3":{"start":{"line":23,"column":19},"end":{"line":23,"column":115}},"4":{"start":{"line":24,"column":2},"end":{"line":26,"column":4}},"5":{"start":{"line":25,"column":16},"end":{"line":25,"column":145}}},"fnMap":{"0":{"name":"generateTokensToCreate","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":38}},"loc":{"start":{"line":18,"column":3},"end":{"line":27,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":12},"end":{"line":21,"column":13}},"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":117}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":9},"end":{"line":22,"column":10}},"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":33}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":16},"end":{"line":25,"column":145}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":20}},"type":"default-arg","locations":[{"start":{"line":12,"column":18},"end":{"line":12,"column":20}}],"line":12},"1":{"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":117}},"type":"binary-expr","locations":[{"start":{"line":21,"column":32},"end":{"line":21,"column":65}},{"start":{"line":21,"column":70},"end":{"line":21,"column":87}},{"start":{"line":21,"column":91},"end":{"line":21,"column":116}}],"line":21},"2":{"loc":{"start":{"line":25,"column":16},"end":{"line":25,"column":145}},"type":"binary-expr","locations":[{"start":{"line":25,"column":17},"end":{"line":25,"column":40}},{"start":{"line":25,"column":44},"end":{"line":25,"column":93}},{"start":{"line":25,"column":98},"end":{"line":25,"column":145}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0,0],"2":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedStylesFromNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedStylesFromNode.ts","statementMap":{"0":{"start":{"line":20,"column":40},"end":{"line":20,"column":42}},"1":{"start":{"line":22,"column":21},"end":{"line":22,"column":69}},"2":{"start":{"line":23,"column":2},"end":{"line":42,"column":3}},"3":{"start":{"line":24,"column":18},"end":{"line":24,"column":38}},"4":{"start":{"line":25,"column":47},"end":{"line":25,"column":69}},"5":{"start":{"line":26,"column":4},"end":{"line":36,"column":5}},"6":{"start":{"line":27,"column":26},"end":{"line":27,"column":37}},"7":{"start":{"line":28,"column":16},"end":{"line":28,"column":29}},"8":{"start":{"line":29,"column":6},"end":{"line":31,"column":9}},"9":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":62}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":25}},"12":{"start":{"line":37,"column":27},"end":{"line":37,"column":96}},"13":{"start":{"line":37,"column":71},"end":{"line":37,"column":85}},"14":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"15":{"start":{"line":39,"column":32},"end":{"line":39,"column":96}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":90}},"17":{"start":{"line":44,"column":2},"end":{"line":44,"column":21}},"18":{"start":{"line":48,"column":40},"end":{"line":48,"column":42}},"19":{"start":{"line":49,"column":2},"end":{"line":84,"column":3}},"20":{"start":{"line":50,"column":29},"end":{"line":50,"column":53}},"21":{"start":{"line":51,"column":23},"end":{"line":51,"column":71}},"22":{"start":{"line":52,"column":4},"end":{"line":83,"column":5}},"23":{"start":{"line":52,"column":59},"end":{"line":52,"column":122}},"24":{"start":{"line":53,"column":22},"end":{"line":53,"column":52}},"25":{"start":{"line":55,"column":45},"end":{"line":67,"column":8}},"26":{"start":{"line":56,"column":27},"end":{"line":56,"column":73}},"27":{"start":{"line":57,"column":50},"end":{"line":57,"column":75}},"28":{"start":{"line":59,"column":8},"end":{"line":59,"column":61}},"29":{"start":{"line":60,"column":8},"end":{"line":60,"column":75}},"30":{"start":{"line":61,"column":8},"end":{"line":61,"column":45}},"31":{"start":{"line":62,"column":8},"end":{"line":62,"column":45}},"32":{"start":{"line":63,"column":8},"end":{"line":63,"column":46}},"33":{"start":{"line":64,"column":8},"end":{"line":64,"column":53}},"34":{"start":{"line":66,"column":8},"end":{"line":66,"column":28}},"35":{"start":{"line":69,"column":6},"end":{"line":82,"column":7}},"36":{"start":{"line":70,"column":31},"end":{"line":73,"column":20}},"37":{"start":{"line":72,"column":28},"end":{"line":72,"column":42}},"38":{"start":{"line":75,"column":44},"end":{"line":79,"column":9}},"39":{"start":{"line":81,"column":8},"end":{"line":81,"column":38}},"40":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"41":{"start":{"line":87,"column":29},"end":{"line":87,"column":51}},"42":{"start":{"line":88,"column":4},"end":{"line":88,"column":75}},"43":{"start":{"line":91,"column":2},"end":{"line":94,"column":3}},"44":{"start":{"line":92,"column":29},"end":{"line":92,"column":53}},"45":{"start":{"line":93,"column":4},"end":{"line":93,"column":77}},"46":{"start":{"line":96,"column":2},"end":{"line":131,"column":3}},"47":{"start":{"line":97,"column":29},"end":{"line":97,"column":51}},"48":{"start":{"line":98,"column":23},"end":{"line":98,"column":74}},"49":{"start":{"line":100,"column":4},"end":{"line":130,"column":5}},"50":{"start":{"line":101,"column":25},"end":{"line":101,"column":51}},"51":{"start":{"line":102,"column":25},"end":{"line":102,"column":51}},"52":{"start":{"line":103,"column":25},"end":{"line":103,"column":83}},"53":{"start":{"line":104,"column":23},"end":{"line":104,"column":53}},"54":{"start":{"line":105,"column":28},"end":{"line":105,"column":92}},"55":{"start":{"line":106,"column":31},"end":{"line":106,"column":69}},"56":{"start":{"line":107,"column":30},"end":{"line":107,"column":67}},"57":{"start":{"line":108,"column":23},"end":{"line":108,"column":77}},"58":{"start":{"line":109,"column":29},"end":{"line":109,"column":95}},"59":{"start":{"line":111,"column":18},"end":{"line":121,"column":7}},"60":{"start":{"line":123,"column":29},"end":{"line":126,"column":18}},"61":{"start":{"line":125,"column":26},"end":{"line":125,"column":40}},"62":{"start":{"line":128,"column":26},"end":{"line":128,"column":91}},"63":{"start":{"line":129,"column":6},"end":{"line":129,"column":36}},"64":{"start":{"line":133,"column":2},"end":{"line":133,"column":21}}},"fnMap":{"0":{"name":"getStyleFromNode","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":25}},"loc":{"start":{"line":19,"column":118},"end":{"line":45,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":58},"end":{"line":37,"column":59}},"loc":{"start":{"line":37,"column":71},"end":{"line":37,"column":85}},"line":37},"2":{"name":"getAppliedStylesFromNode","decl":{"start":{"line":47,"column":24},"end":{"line":47,"column":48}},"loc":{"start":{"line":47,"column":83},"end":{"line":134,"column":1}},"line":47},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":47},"end":{"line":52,"column":48}},"loc":{"start":{"line":52,"column":59},"end":{"line":52,"column":122}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":57},"end":{"line":55,"column":58}},"loc":{"start":{"line":55,"column":69},"end":{"line":67,"column":7}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":15},"end":{"line":72,"column":16}},"loc":{"start":{"line":72,"column":28},"end":{"line":72,"column":42}},"line":72},"6":{"name":"(anonymous_6)","decl":{"start":{"line":125,"column":13},"end":{"line":125,"column":14}},"loc":{"start":{"line":125,"column":26},"end":{"line":125,"column":40}},"line":125}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":2},"end":{"line":42,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":42,"column":3}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":26,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":36,"column":5}},{"start":{"line":32,"column":11},"end":{"line":36,"column":5}}],"line":26},"2":{"loc":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":32},"3":{"loc":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":38},"4":{"loc":{"start":{"line":39,"column":32},"end":{"line":39,"column":96}},"type":"cond-expr","locations":[{"start":{"line":39,"column":56},"end":{"line":39,"column":71}},{"start":{"line":39,"column":74},"end":{"line":39,"column":96}}],"line":39},"5":{"loc":{"start":{"line":49,"column":2},"end":{"line":84,"column":3}},"type":"if","locations":[{"start":{"line":49,"column":2},"end":{"line":84,"column":3}},{"start":{},"end":{}}],"line":49},"6":{"loc":{"start":{"line":52,"column":4},"end":{"line":83,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":83,"column":5}},{"start":{},"end":{}}],"line":52},"7":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":123}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":18}},{"start":{"line":52,"column":22},"end":{"line":52,"column":123}}],"line":52},"8":{"loc":{"start":{"line":52,"column":59},"end":{"line":52,"column":122}},"type":"binary-expr","locations":[{"start":{"line":52,"column":59},"end":{"line":52,"column":88}},{"start":{"line":52,"column":92},"end":{"line":52,"column":122}}],"line":52},"9":{"loc":{"start":{"line":64,"column":30},"end":{"line":64,"column":52}},"type":"binary-expr","locations":[{"start":{"line":64,"column":30},"end":{"line":64,"column":47}},{"start":{"line":64,"column":51},"end":{"line":64,"column":52}}],"line":64},"10":{"loc":{"start":{"line":69,"column":6},"end":{"line":82,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":82,"column":7}},{"start":{},"end":{}}],"line":69},"11":{"loc":{"start":{"line":76,"column":17},"end":{"line":76,"column":58}},"type":"cond-expr","locations":[{"start":{"line":76,"column":38},"end":{"line":76,"column":45}},{"start":{"line":76,"column":48},"end":{"line":76,"column":58}}],"line":76},"12":{"loc":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},{"start":{},"end":{}}],"line":86},"13":{"loc":{"start":{"line":91,"column":2},"end":{"line":94,"column":3}},"type":"if","locations":[{"start":{"line":91,"column":2},"end":{"line":94,"column":3}},{"start":{},"end":{}}],"line":91},"14":{"loc":{"start":{"line":96,"column":2},"end":{"line":131,"column":3}},"type":"if","locations":[{"start":{"line":96,"column":2},"end":{"line":131,"column":3}},{"start":{},"end":{}}],"line":96},"15":{"loc":{"start":{"line":100,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":100}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedVariablesFromNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedVariablesFromNode.ts","statementMap":{"0":{"start":{"line":13,"column":46},"end":{"line":13,"column":48}},"1":{"start":{"line":14,"column":2},"end":{"line":86,"column":3}},"2":{"start":{"line":15,"column":4},"end":{"line":85,"column":7}},"3":{"start":{"line":16,"column":6},"end":{"line":42,"column":7}},"4":{"start":{"line":17,"column":27},"end":{"line":17,"column":61}},"5":{"start":{"line":18,"column":8},"end":{"line":41,"column":9}},"6":{"start":{"line":19,"column":27},"end":{"line":19,"column":70}},"7":{"start":{"line":20,"column":10},"end":{"line":40,"column":11}},"8":{"start":{"line":21,"column":26},"end":{"line":21,"column":43}},"9":{"start":{"line":22,"column":58},"end":{"line":22,"column":80}},"10":{"start":{"line":23,"column":12},"end":{"line":34,"column":13}},"11":{"start":{"line":24,"column":34},"end":{"line":24,"column":48}},"12":{"start":{"line":25,"column":24},"end":{"line":25,"column":40}},"13":{"start":{"line":26,"column":14},"end":{"line":31,"column":17}},"14":{"start":{"line":33,"column":14},"end":{"line":33,"column":36}},"15":{"start":{"line":35,"column":12},"end":{"line":39,"column":15}},"16":{"start":{"line":43,"column":6},"end":{"line":70,"column":7}},"17":{"start":{"line":44,"column":27},"end":{"line":44,"column":63}},"18":{"start":{"line":46,"column":8},"end":{"line":69,"column":9}},"19":{"start":{"line":47,"column":27},"end":{"line":47,"column":70}},"20":{"start":{"line":48,"column":10},"end":{"line":68,"column":11}},"21":{"start":{"line":49,"column":26},"end":{"line":49,"column":45}},"22":{"start":{"line":50,"column":58},"end":{"line":50,"column":80}},"23":{"start":{"line":51,"column":12},"end":{"line":62,"column":13}},"24":{"start":{"line":52,"column":34},"end":{"line":52,"column":48}},"25":{"start":{"line":53,"column":24},"end":{"line":53,"column":40}},"26":{"start":{"line":54,"column":14},"end":{"line":59,"column":17}},"27":{"start":{"line":61,"column":14},"end":{"line":61,"column":36}},"28":{"start":{"line":63,"column":12},"end":{"line":67,"column":15}},"29":{"start":{"line":71,"column":6},"end":{"line":84,"column":7}},"30":{"start":{"line":72,"column":27},"end":{"line":72,"column":35}},"31":{"start":{"line":73,"column":8},"end":{"line":83,"column":9}},"32":{"start":{"line":74,"column":27},"end":{"line":74,"column":70}},"33":{"start":{"line":75,"column":10},"end":{"line":82,"column":11}},"34":{"start":{"line":76,"column":12},"end":{"line":81,"column":15}},"35":{"start":{"line":88,"column":2},"end":{"line":88,"column":24}}},"fnMap":{"0":{"name":"getAppliedVariablesFromNode","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":51}},"loc":{"start":{"line":12,"column":89},"end":{"line":89,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":48},"end":{"line":15,"column":49}},"loc":{"start":{"line":15,"column":66},"end":{"line":85,"column":5}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":86,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":86,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":77}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":30}},{"start":{"line":14,"column":34},"end":{"line":14,"column":54}},{"start":{"line":14,"column":58},"end":{"line":14,"column":77}}],"line":14},"2":{"loc":{"start":{"line":16,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":42,"column":7}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":68}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":25}},{"start":{"line":16,"column":29},"end":{"line":16,"column":44}},{"start":{"line":16,"column":48},"end":{"line":16,"column":68}}],"line":16},"4":{"loc":{"start":{"line":18,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":18,"column":8},"end":{"line":41,"column":9}},{"start":{},"end":{}}],"line":18},"5":{"loc":{"start":{"line":20,"column":10},"end":{"line":40,"column":11}},"type":"if","locations":[{"start":{"line":20,"column":10},"end":{"line":40,"column":11}},{"start":{},"end":{}}],"line":20},"6":{"loc":{"start":{"line":23,"column":12},"end":{"line":34,"column":13}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":34,"column":13}},{"start":{"line":32,"column":19},"end":{"line":34,"column":13}}],"line":23},"7":{"loc":{"start":{"line":43,"column":6},"end":{"line":70,"column":7}},"type":"if","locations":[{"start":{"line":43,"column":6},"end":{"line":70,"column":7}},{"start":{},"end":{}}],"line":43},"8":{"loc":{"start":{"line":43,"column":10},"end":{"line":43,"column":51}},"type":"binary-expr","locations":[{"start":{"line":43,"column":10},"end":{"line":43,"column":27}},{"start":{"line":43,"column":31},"end":{"line":43,"column":51}}],"line":43},"9":{"loc":{"start":{"line":46,"column":8},"end":{"line":69,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":69,"column":9}},{"start":{},"end":{}}],"line":46},"10":{"loc":{"start":{"line":48,"column":10},"end":{"line":68,"column":11}},"type":"if","locations":[{"start":{"line":48,"column":10},"end":{"line":68,"column":11}},{"start":{},"end":{}}],"line":48},"11":{"loc":{"start":{"line":48,"column":14},"end":{"line":48,"column":82}},"type":"binary-expr","locations":[{"start":{"line":48,"column":14},"end":{"line":48,"column":22}},{"start":{"line":48,"column":26},"end":{"line":48,"column":43}},{"start":{"line":48,"column":47},"end":{"line":48,"column":82}}],"line":48},"12":{"loc":{"start":{"line":51,"column":12},"end":{"line":62,"column":13}},"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":62,"column":13}},{"start":{"line":60,"column":19},"end":{"line":62,"column":13}}],"line":51},"13":{"loc":{"start":{"line":71,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":71},"14":{"loc":{"start":{"line":71,"column":10},"end":{"line":71,"column":46}},"type":"binary-expr","locations":[{"start":{"line":71,"column":10},"end":{"line":71,"column":31}},{"start":{"line":71,"column":35},"end":{"line":71,"column":46}}],"line":71},"15":{"loc":{"start":{"line":73,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":83,"column":9}},{"start":{},"end":{}}],"line":73},"16":{"loc":{"start":{"line":73,"column":12},"end":{"line":73,"column":56}},"type":"binary-expr","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":22}},{"start":{"line":73,"column":26},"end":{"line":73,"column":56}}],"line":73},"17":{"loc":{"start":{"line":75,"column":10},"end":{"line":82,"column":11}},"type":"if","locations":[{"start":{"line":75,"column":10},"end":{"line":82,"column":11}},{"start":{},"end":{}}],"line":75},"18":{"loc":{"start":{"line":80,"column":18},"end":{"line":80,"column":82}},"type":"binary-expr","locations":[{"start":{"line":80,"column":18},"end":{"line":80,"column":29}},{"start":{"line":80,"column":33},"end":{"line":80,"column":82}}],"line":80}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getFigmaDashPattern.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getFigmaDashPattern.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":15,"column":3}},"1":{"start":{"line":4,"column":6},"end":{"line":4,"column":20}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":20}},"3":{"start":{"line":8,"column":6},"end":{"line":8,"column":20}},"4":{"start":{"line":10,"column":6},"end":{"line":10,"column":20}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":21}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":22}}},"fnMap":{"0":{"name":"getFigmaDashPattern","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":43}},"loc":{"start":{"line":1,"column":65},"end":{"line":16,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":15,"column":3}},"type":"switch","locations":[{"start":{"line":3,"column":4},"end":{"line":4,"column":20}},{"start":{"line":5,"column":4},"end":{"line":6,"column":20}},{"start":{"line":7,"column":4},"end":{"line":8,"column":20}},{"start":{"line":9,"column":4},"end":{"line":10,"column":20}},{"start":{"line":11,"column":4},"end":{"line":12,"column":21}},{"start":{"line":13,"column":4},"end":{"line":14,"column":22}}],"line":2}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getVariablesWithoutZombies.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getVariablesWithoutZombies.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":8,"column":27},"end":{"line":8,"column":73}},"2":{"start":{"line":9,"column":39},"end":{"line":9,"column":166}},"3":{"start":{"line":9,"column":119},"end":{"line":9,"column":165}},"4":{"start":{"line":9,"column":151},"end":{"line":9,"column":164}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":115}},"6":{"start":{"line":10,"column":47},"end":{"line":10,"column":113}},"7":{"start":{"line":12,"column":4},"end":{"line":12,"column":55}},"8":{"start":{"line":13,"column":4},"end":{"line":13,"column":14}}},"fnMap":{"0":{"name":"getVariablesWithoutZombies","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":48}},"loc":{"start":{"line":6,"column":72},"end":{"line":15,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":102},"end":{"line":9,"column":103}},"loc":{"start":{"line":9,"column":119},"end":{"line":9,"column":165}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":135},"end":{"line":9,"column":136}},"loc":{"start":{"line":9,"column":151},"end":{"line":9,"column":164}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":10,"column":33},"end":{"line":10,"column":34}},"loc":{"start":{"line":10,"column":47},"end":{"line":10,"column":113}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":20},"end":{"line":12,"column":53}},"type":"binary-expr","locations":[{"start":{"line":12,"column":20},"end":{"line":12,"column":34}},{"start":{"line":12,"column":38},"end":{"line":12,"column":53}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/helpers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/helpers.ts","statementMap":{"0":{"start":{"line":15,"column":15},"end":{"line":15,"column":29}},"1":{"start":{"line":17,"column":2},"end":{"line":27,"column":3}},"2":{"start":{"line":18,"column":15},"end":{"line":18,"column":42}},"3":{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},"4":{"start":{"line":20,"column":6},"end":{"line":20,"column":41}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":18}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":48}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":39}},"8":{"start":{"line":29,"column":2},"end":{"line":29,"column":16}},"9":{"start":{"line":33,"column":16},"end":{"line":33,"column":30}},"10":{"start":{"line":35,"column":2},"end":{"line":45,"column":3}},"11":{"start":{"line":36,"column":16},"end":{"line":36,"column":54}},"12":{"start":{"line":37,"column":4},"end":{"line":41,"column":5}},"13":{"start":{"line":38,"column":6},"end":{"line":38,"column":43}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":75}},"15":{"start":{"line":43,"column":4},"end":{"line":43,"column":49}},"16":{"start":{"line":44,"column":4},"end":{"line":44,"column":41}},"17":{"start":{"line":47,"column":2},"end":{"line":47,"column":17}},"18":{"start":{"line":59,"column":2},"end":{"line":112,"column":3}},"19":{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},"20":{"start":{"line":69,"column":6},"end":{"line":69,"column":83}},"21":{"start":{"line":90,"column":6},"end":{"line":90,"column":65}},"22":{"start":{"line":93,"column":6},"end":{"line":93,"column":71}},"23":{"start":{"line":95,"column":6},"end":{"line":95,"column":88}},"24":{"start":{"line":98,"column":6},"end":{"line":98,"column":85}},"25":{"start":{"line":100,"column":6},"end":{"line":100,"column":79}},"26":{"start":{"line":102,"column":6},"end":{"line":102,"column":48}},"27":{"start":{"line":104,"column":6},"end":{"line":104,"column":54}},"28":{"start":{"line":106,"column":6},"end":{"line":106,"column":60}},"29":{"start":{"line":109,"column":6},"end":{"line":109,"column":71}},"30":{"start":{"line":111,"column":6},"end":{"line":111,"column":19}}},"fnMap":{"0":{"name":"getUserId","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":34},"end":{"line":30,"column":1}},"line":14},"1":{"name":"getFileKey","decl":{"start":{"line":32,"column":22},"end":{"line":32,"column":32}},"loc":{"start":{"line":32,"column":35},"end":{"line":48,"column":1}},"line":32},"2":{"name":"transformValue","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":30}},"loc":{"start":{"line":58,"column":116},"end":{"line":113,"column":1}},"line":58}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},{"start":{"line":21,"column":11},"end":{"line":23,"column":5}}],"line":19},"1":{"loc":{"start":{"line":37,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":41,"column":5}},{"start":{"line":39,"column":11},"end":{"line":41,"column":5}}],"line":37},"2":{"loc":{"start":{"line":58,"column":82},"end":{"line":58,"column":114}},"type":"default-arg","locations":[{"start":{"line":58,"column":109},"end":{"line":58,"column":114}}],"line":58},"3":{"loc":{"start":{"line":59,"column":2},"end":{"line":112,"column":3}},"type":"switch","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":32}},{"start":{"line":61,"column":4},"end":{"line":61,"column":35}},{"start":{"line":62,"column":4},"end":{"line":62,"column":37}},{"start":{"line":63,"column":4},"end":{"line":63,"column":38}},{"start":{"line":64,"column":4},"end":{"line":65,"column":65}},{"start":{"line":66,"column":4},"end":{"line":66,"column":17}},{"start":{"line":67,"column":4},"end":{"line":67,"column":18}},{"start":{"line":68,"column":4},"end":{"line":69,"column":83}},{"start":{"line":70,"column":4},"end":{"line":70,"column":26}},{"start":{"line":71,"column":4},"end":{"line":71,"column":24}},{"start":{"line":72,"column":4},"end":{"line":72,"column":31}},{"start":{"line":73,"column":4},"end":{"line":73,"column":32}},{"start":{"line":74,"column":4},"end":{"line":74,"column":35}},{"start":{"line":75,"column":4},"end":{"line":75,"column":34}},{"start":{"line":76,"column":4},"end":{"line":76,"column":19}},{"start":{"line":77,"column":4},"end":{"line":77,"column":29}},{"start":{"line":78,"column":4},"end":{"line":78,"column":27}},{"start":{"line":79,"column":4},"end":{"line":79,"column":22}},{"start":{"line":80,"column":4},"end":{"line":80,"column":24}},{"start":{"line":81,"column":4},"end":{"line":81,"column":25}},{"start":{"line":82,"column":4},"end":{"line":82,"column":23}},{"start":{"line":83,"column":4},"end":{"line":83,"column":23}},{"start":{"line":84,"column":4},"end":{"line":84,"column":28}},{"start":{"line":85,"column":4},"end":{"line":85,"column":27}},{"start":{"line":86,"column":4},"end":{"line":86,"column":21}},{"start":{"line":87,"column":4},"end":{"line":87,"column":20}},{"start":{"line":88,"column":4},"end":{"line":88,"column":21}},{"start":{"line":89,"column":4},"end":{"line":90,"column":65}},{"start":{"line":91,"column":4},"end":{"line":91,"column":23}},{"start":{"line":92,"column":4},"end":{"line":93,"column":71}},{"start":{"line":94,"column":4},"end":{"line":95,"column":88}},{"start":{"line":96,"column":4},"end":{"line":96,"column":23}},{"start":{"line":97,"column":4},"end":{"line":98,"column":85}},{"start":{"line":99,"column":4},"end":{"line":100,"column":79}},{"start":{"line":101,"column":4},"end":{"line":102,"column":48}},{"start":{"line":103,"column":4},"end":{"line":104,"column":54}},{"start":{"line":105,"column":4},"end":{"line":106,"column":60}},{"start":{"line":107,"column":4},"end":{"line":107,"column":22}},{"start":{"line":108,"column":4},"end":{"line":109,"column":71}},{"start":{"line":110,"column":4},"end":{"line":111,"column":19}}],"line":59}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/mergeVariableReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/mergeVariableReferences.ts","statementMap":{"0":{"start":{"line":9,"column":25},"end":{"line":9,"column":59}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":29}},"2":{"start":{"line":12,"column":2},"end":{"line":20,"column":5}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":48}},"4":{"start":{"line":13,"column":41},"end":{"line":13,"column":48}},"5":{"start":{"line":14,"column":4},"end":{"line":19,"column":7}},"6":{"start":{"line":17,"column":6},"end":{"line":17,"column":43}},"7":{"start":{"line":17,"column":36},"end":{"line":17,"column":43}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":43}},"9":{"start":{"line":21,"column":2},"end":{"line":29,"column":5}},"10":{"start":{"line":22,"column":4},"end":{"line":22,"column":48}},"11":{"start":{"line":22,"column":41},"end":{"line":22,"column":48}},"12":{"start":{"line":23,"column":4},"end":{"line":28,"column":7}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":43}},"14":{"start":{"line":26,"column":36},"end":{"line":26,"column":43}},"15":{"start":{"line":27,"column":6},"end":{"line":27,"column":43}},"16":{"start":{"line":30,"column":2},"end":{"line":34,"column":5}},"17":{"start":{"line":31,"column":27},"end":{"line":31,"column":61}},"18":{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},"19":{"start":{"line":32,"column":39},"end":{"line":32,"column":46}},"20":{"start":{"line":33,"column":4},"end":{"line":33,"column":48}},"21":{"start":{"line":36,"column":2},"end":{"line":36,"column":19}}},"fnMap":{"0":{"name":"mergeVariableReferencesWithLocalVariables","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":63}},"loc":{"start":{"line":8,"column":153},"end":{"line":37,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":17},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":28},"end":{"line":20,"column":3}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":59},"end":{"line":14,"column":60}},"loc":{"start":{"line":14,"column":88},"end":{"line":19,"column":5}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":20},"end":{"line":21,"column":21}},"loc":{"start":{"line":21,"column":31},"end":{"line":29,"column":3}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":59},"end":{"line":23,"column":60}},"loc":{"start":{"line":23,"column":88},"end":{"line":28,"column":5}},"line":23},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":25},"end":{"line":30,"column":26}},"loc":{"start":{"line":30,"column":39},"end":{"line":34,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":64},"end":{"line":8,"column":90}},"type":"default-arg","locations":[{"start":{"line":8,"column":88},"end":{"line":8,"column":90}}],"line":8},"1":{"loc":{"start":{"line":8,"column":92},"end":{"line":8,"column":121}},"type":"default-arg","locations":[{"start":{"line":8,"column":119},"end":{"line":8,"column":121}}],"line":8},"2":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":48}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":48}},{"start":{},"end":{}}],"line":13},"3":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":43}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":43}},{"start":{},"end":{}}],"line":17},"4":{"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":48}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":48}},{"start":{},"end":{}}],"line":22},"5":{"loc":{"start":{"line":26,"column":6},"end":{"line":26,"column":43}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":43}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},{"start":{},"end":{}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/node.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/node.ts","statementMap":{"0":{"start":{"line":24,"column":2},"end":{"line":35,"column":3}},"1":{"start":{"line":26,"column":6},"end":{"line":26,"column":20}},"2":{"start":{"line":28,"column":6},"end":{"line":28,"column":27}},"3":{"start":{"line":30,"column":6},"end":{"line":30,"column":24}},"4":{"start":{"line":32,"column":6},"end":{"line":32,"column":21}},"5":{"start":{"line":34,"column":6},"end":{"line":34,"column":21}},"6":{"start":{"line":38,"column":26},"end":{"line":44,"column":2}},"7":{"start":{"line":56,"column":23},"end":{"line":98,"column":8}},"8":{"start":{"line":57,"column":26},"end":{"line":57,"column":49}},"9":{"start":{"line":59,"column":4},"end":{"line":59,"column":35}},"10":{"start":{"line":59,"column":24},"end":{"line":59,"column":35}},"11":{"start":{"line":60,"column":4},"end":{"line":95,"column":5}},"12":{"start":{"line":62,"column":6},"end":{"line":92,"column":7}},"13":{"start":{"line":63,"column":25},"end":{"line":63,"column":77}},"14":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"15":{"start":{"line":65,"column":10},"end":{"line":65,"column":244}},"16":{"start":{"line":67,"column":13},"end":{"line":92,"column":7}},"17":{"start":{"line":68,"column":8},"end":{"line":75,"column":11}},"18":{"start":{"line":70,"column":10},"end":{"line":70,"column":46}},"19":{"start":{"line":72,"column":10},"end":{"line":74,"column":11}},"20":{"start":{"line":73,"column":12},"end":{"line":73,"column":42}},"21":{"start":{"line":76,"column":13},"end":{"line":92,"column":7}},"22":{"start":{"line":78,"column":8},"end":{"line":78,"column":92}},"23":{"start":{"line":79,"column":13},"end":{"line":92,"column":7}},"24":{"start":{"line":86,"column":8},"end":{"line":86,"column":52}},"25":{"start":{"line":88,"column":8},"end":{"line":88,"column":39}},"26":{"start":{"line":91,"column":8},"end":{"line":91,"column":83}},"27":{"start":{"line":94,"column":6},"end":{"line":94,"column":31}},"28":{"start":{"line":97,"column":4},"end":{"line":97,"column":15}},"29":{"start":{"line":99,"column":2},"end":{"line":99,"column":22}},"30":{"start":{"line":105,"column":22},"end":{"line":105,"column":64}},"31":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"32":{"start":{"line":108,"column":4},"end":{"line":108,"column":23}},"33":{"start":{"line":110,"column":2},"end":{"line":110,"column":49}},"34":{"start":{"line":123,"column":2},"end":{"line":171,"column":3}},"35":{"start":{"line":124,"column":25},"end":{"line":124,"column":77}},"36":{"start":{"line":125,"column":24},"end":{"line":125,"column":51}},"37":{"start":{"line":126,"column":17},"end":{"line":126,"column":19}},"38":{"start":{"line":127,"column":35},"end":{"line":127,"column":37}},"39":{"start":{"line":128,"column":20},"end":{"line":128,"column":38}},"40":{"start":{"line":129,"column":19},"end":{"line":129,"column":38}},"41":{"start":{"line":131,"column":4},"end":{"line":145,"column":5}},"42":{"start":{"line":132,"column":6},"end":{"line":132,"column":73}},"43":{"start":{"line":133,"column":6},"end":{"line":133,"column":73}},"44":{"start":{"line":135,"column":6},"end":{"line":135,"column":74}},"45":{"start":{"line":136,"column":6},"end":{"line":136,"column":74}},"46":{"start":{"line":139,"column":6},"end":{"line":141,"column":7}},"47":{"start":{"line":140,"column":8},"end":{"line":140,"column":75}},"48":{"start":{"line":142,"column":6},"end":{"line":144,"column":7}},"49":{"start":{"line":143,"column":8},"end":{"line":143,"column":75}},"50":{"start":{"line":147,"column":24},"end":{"line":147,"column":72}},"51":{"start":{"line":148,"column":20},"end":{"line":148,"column":58}},"52":{"start":{"line":149,"column":22},"end":{"line":149,"column":62}},"53":{"start":{"line":150,"column":28},"end":{"line":150,"column":148}},"54":{"start":{"line":151,"column":31},"end":{"line":151,"column":80}},"55":{"start":{"line":152,"column":24},"end":{"line":152,"column":66}},"56":{"start":{"line":153,"column":4},"end":{"line":168,"column":5}},"57":{"start":{"line":154,"column":26},"end":{"line":157,"column":12}},"58":{"start":{"line":155,"column":8},"end":{"line":155,"column":91}},"59":{"start":{"line":156,"column":8},"end":{"line":156,"column":19}},"60":{"start":{"line":158,"column":6},"end":{"line":167,"column":8}},"61":{"start":{"line":170,"column":4},"end":{"line":170,"column":43}},"62":{"start":{"line":172,"column":2},"end":{"line":172,"column":14}},"63":{"start":{"line":177,"column":2},"end":{"line":177,"column":43}},"64":{"start":{"line":181,"column":2},"end":{"line":181,"column":71}},"65":{"start":{"line":185,"column":2},"end":{"line":185,"column":83}},"66":{"start":{"line":189,"column":2},"end":{"line":189,"column":89}},"67":{"start":{"line":193,"column":2},"end":{"line":193,"column":77}},"68":{"start":{"line":197,"column":15},"end":{"line":197,"column":36}},"69":{"start":{"line":198,"column":2},"end":{"line":205,"column":3}},"70":{"start":{"line":203,"column":4},"end":{"line":203,"column":41}},"71":{"start":{"line":204,"column":4},"end":{"line":204,"column":49}},"72":{"start":{"line":209,"column":16},"end":{"line":211,"column":54}},"73":{"start":{"line":210,"column":4},"end":{"line":210,"column":52}},"74":{"start":{"line":212,"column":2},"end":{"line":212,"column":38}},"75":{"start":{"line":217,"column":2},"end":{"line":230,"column":3}},"76":{"start":{"line":218,"column":26},"end":{"line":218,"column":56}},"77":{"start":{"line":219,"column":54},"end":{"line":219,"column":56}},"78":{"start":{"line":220,"column":4},"end":{"line":229,"column":5}},"79":{"start":{"line":221,"column":6},"end":{"line":226,"column":9}},"80":{"start":{"line":222,"column":32},"end":{"line":222,"column":50}},"81":{"start":{"line":223,"column":8},"end":{"line":223,"column":100}},"82":{"start":{"line":223,"column":43},"end":{"line":223,"column":100}},"83":{"start":{"line":224,"column":8},"end":{"line":224,"column":104}},"84":{"start":{"line":224,"column":43},"end":{"line":224,"column":104}},"85":{"start":{"line":225,"column":8},"end":{"line":225,"column":83}},"86":{"start":{"line":227,"column":62},"end":{"line":227,"column":68}},"87":{"start":{"line":228,"column":6},"end":{"line":228,"column":79}},"88":{"start":{"line":231,"column":2},"end":{"line":247,"column":3}},"89":{"start":{"line":233,"column":26},"end":{"line":233,"column":61}},"90":{"start":{"line":234,"column":4},"end":{"line":245,"column":5}},"91":{"start":{"line":235,"column":6},"end":{"line":244,"column":7}},"92":{"start":{"line":236,"column":8},"end":{"line":239,"column":9}},"93":{"start":{"line":237,"column":39},"end":{"line":237,"column":132}},"94":{"start":{"line":238,"column":10},"end":{"line":238,"column":52}},"95":{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},"96":{"start":{"line":241,"column":39},"end":{"line":241,"column":132}},"97":{"start":{"line":242,"column":10},"end":{"line":242,"column":52}},"98":{"start":{"line":246,"column":4},"end":{"line":246,"column":91}},"99":{"start":{"line":248,"column":2},"end":{"line":250,"column":3}},"100":{"start":{"line":249,"column":4},"end":{"line":249,"column":94}},"101":{"start":{"line":251,"column":2},"end":{"line":253,"column":3}},"102":{"start":{"line":252,"column":4},"end":{"line":252,"column":96}},"103":{"start":{"line":254,"column":2},"end":{"line":256,"column":3}},"104":{"start":{"line":255,"column":4},"end":{"line":255,"column":95}},"105":{"start":{"line":257,"column":2},"end":{"line":259,"column":3}},"106":{"start":{"line":258,"column":4},"end":{"line":258,"column":97}},"107":{"start":{"line":260,"column":2},"end":{"line":260,"column":16}}},"fnMap":{"0":{"name":"returnValueToLookFor","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":36}},"loc":{"start":{"line":23,"column":50},"end":{"line":36,"column":1}},"line":23},"1":{"name":"mapValuesToTokens","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":33}},"loc":{"start":{"line":55,"column":127},"end":{"line":100,"column":1}},"line":55},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":78},"end":{"line":56,"column":79}},"loc":{"start":{"line":56,"column":107},"end":{"line":98,"column":3}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":68,"column":52},"end":{"line":68,"column":53}},"loc":{"start":{"line":68,"column":75},"end":{"line":75,"column":9}},"line":68},"4":{"name":"getSavedStorageType","decl":{"start":{"line":102,"column":22},"end":{"line":102,"column":41}},"loc":{"start":{"line":102,"column":66},"end":{"line":111,"column":1}},"line":102},"5":{"name":"getTokenData","decl":{"start":{"line":113,"column":22},"end":{"line":113,"column":34}},"loc":{"start":{"line":122,"column":10},"end":{"line":173,"column":1}},"line":122},"6":{"name":"(anonymous_6)","decl":{"start":{"line":154,"column":86},"end":{"line":154,"column":87}},"loc":{"start":{"line":154,"column":115},"end":{"line":157,"column":7}},"line":154},"7":{"name":"saveStorageType","decl":{"start":{"line":176,"column":22},"end":{"line":176,"column":37}},"loc":{"start":{"line":176,"column":60},"end":{"line":178,"column":1}},"line":176},"8":{"name":"saveOnboardingExplainerSets","decl":{"start":{"line":180,"column":22},"end":{"line":180,"column":49}},"loc":{"start":{"line":180,"column":84},"end":{"line":182,"column":1}},"line":180},"9":{"name":"saveOnboardingExplainerExportSets","decl":{"start":{"line":184,"column":22},"end":{"line":184,"column":55}},"loc":{"start":{"line":184,"column":96},"end":{"line":186,"column":1}},"line":184},"10":{"name":"saveOnboardingExplainerSyncProviders","decl":{"start":{"line":188,"column":22},"end":{"line":188,"column":58}},"loc":{"start":{"line":188,"column":102},"end":{"line":190,"column":1}},"line":188},"11":{"name":"saveOnboardingExplainerInspect","decl":{"start":{"line":192,"column":22},"end":{"line":192,"column":52}},"loc":{"start":{"line":192,"column":90},"end":{"line":194,"column":1}},"line":192},"12":{"name":"goToNode","decl":{"start":{"line":196,"column":16},"end":{"line":196,"column":24}},"loc":{"start":{"line":196,"column":37},"end":{"line":206,"column":1}},"line":196},"13":{"name":"selectNodes","decl":{"start":{"line":208,"column":16},"end":{"line":208,"column":27}},"loc":{"start":{"line":208,"column":43},"end":{"line":213,"column":1}},"line":208},"14":{"name":"(anonymous_14)","decl":{"start":{"line":209,"column":59},"end":{"line":209,"column":60}},"loc":{"start":{"line":210,"column":4},"end":{"line":210,"column":52}},"line":210},"15":{"name":"destructureTokenForAlias","decl":{"start":{"line":216,"column":16},"end":{"line":216,"column":40}},"loc":{"start":{"line":216,"column":134},"end":{"line":261,"column":1}},"line":216},"16":{"name":"(anonymous_16)","decl":{"start":{"line":221,"column":54},"end":{"line":221,"column":55}},"loc":{"start":{"line":221,"column":77},"end":{"line":226,"column":7}},"line":221}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":2},"end":{"line":35,"column":3}},"type":"switch","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":20}},{"start":{"line":27,"column":4},"end":{"line":28,"column":27}},{"start":{"line":29,"column":4},"end":{"line":30,"column":24}},{"start":{"line":31,"column":4},"end":{"line":32,"column":21}},{"start":{"line":33,"column":4},"end":{"line":34,"column":21}}],"line":24},"1":{"loc":{"start":{"line":59,"column":4},"end":{"line":59,"column":35}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":59,"column":35}},{"start":{},"end":{}}],"line":59},"2":{"loc":{"start":{"line":60,"column":4},"end":{"line":95,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":95,"column":5}},{"start":{"line":93,"column":11},"end":{"line":95,"column":5}}],"line":60},"3":{"loc":{"start":{"line":62,"column":6},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":92,"column":7}},{"start":{"line":67,"column":13},"end":{"line":92,"column":7}}],"line":62},"4":{"loc":{"start":{"line":62,"column":10},"end":{"line":62,"column":106}},"type":"binary-expr","locations":[{"start":{"line":62,"column":10},"end":{"line":62,"column":50}},{"start":{"line":62,"column":54},"end":{"line":62,"column":106}}],"line":62},"5":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},{"start":{},"end":{}}],"line":64},"6":{"loc":{"start":{"line":65,"column":21},"end":{"line":65,"column":243}},"type":"cond-expr","locations":[{"start":{"line":65,"column":64},"end":{"line":65,"column":155}},{"start":{"line":65,"column":158},"end":{"line":65,"column":243}}],"line":65},"7":{"loc":{"start":{"line":67,"column":13},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":13},"end":{"line":92,"column":7}},{"start":{"line":76,"column":13},"end":{"line":92,"column":7}}],"line":67},"8":{"loc":{"start":{"line":72,"column":10},"end":{"line":74,"column":11}},"type":"if","locations":[{"start":{"line":72,"column":10},"end":{"line":74,"column":11}},{"start":{},"end":{}}],"line":72},"9":{"loc":{"start":{"line":72,"column":14},"end":{"line":72,"column":143}},"type":"binary-expr","locations":[{"start":{"line":72,"column":14},"end":{"line":72,"column":39}},{"start":{"line":72,"column":43},"end":{"line":72,"column":88}},{"start":{"line":72,"column":92},"end":{"line":72,"column":108}},{"start":{"line":72,"column":112},"end":{"line":72,"column":143}}],"line":72},"10":{"loc":{"start":{"line":76,"column":13},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":76,"column":13},"end":{"line":92,"column":7}},{"start":{"line":79,"column":13},"end":{"line":92,"column":7}}],"line":76},"11":{"loc":{"start":{"line":78,"column":19},"end":{"line":78,"column":91}},"type":"cond-expr","locations":[{"start":{"line":78,"column":47},"end":{"line":78,"column":72}},{"start":{"line":78,"column":75},"end":{"line":78,"column":91}}],"line":78},"12":{"loc":{"start":{"line":79,"column":13},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":79,"column":13},"end":{"line":92,"column":7}},{"start":{"line":89,"column":13},"end":{"line":92,"column":7}}],"line":79},"13":{"loc":{"start":{"line":80,"column":8},"end":{"line":84,"column":34}},"type":"binary-expr","locations":[{"start":{"line":80,"column":8},"end":{"line":80,"column":48}},{"start":{"line":81,"column":11},"end":{"line":81,"column":51}},{"start":{"line":82,"column":11},"end":{"line":82,"column":50}},{"start":{"line":83,"column":11},"end":{"line":83,"column":41}},{"start":{"line":83,"column":45},"end":{"line":83,"column":70}},{"start":{"line":84,"column":11},"end":{"line":84,"column":34}}],"line":80},"14":{"loc":{"start":{"line":91,"column":19},"end":{"line":91,"column":82}},"type":"binary-expr","locations":[{"start":{"line":91,"column":19},"end":{"line":91,"column":59}},{"start":{"line":91,"column":63},"end":{"line":91,"column":82}}],"line":91},"15":{"loc":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"type":"if","locations":[{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},{"start":{},"end":{}}],"line":107},"16":{"loc":{"start":{"line":124,"column":25},"end":{"line":124,"column":77}},"type":"binary-expr","locations":[{"start":{"line":124,"column":25},"end":{"line":124,"column":68}},{"start":{"line":124,"column":72},"end":{"line":124,"column":77}}],"line":124},"17":{"loc":{"start":{"line":131,"column":4},"end":{"line":145,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":145,"column":5}},{"start":{"line":134,"column":11},"end":{"line":145,"column":5}}],"line":131},"18":{"loc":{"start":{"line":132,"column":15},"end":{"line":132,"column":72}},"type":"binary-expr","locations":[{"start":{"line":132,"column":15},"end":{"line":132,"column":66}},{"start":{"line":132,"column":70},"end":{"line":132,"column":72}}],"line":132},"19":{"loc":{"start":{"line":133,"column":15},"end":{"line":133,"column":72}},"type":"binary-expr","locations":[{"start":{"line":133,"column":15},"end":{"line":133,"column":66}},{"start":{"line":133,"column":70},"end":{"line":133,"column":72}}],"line":133},"20":{"loc":{"start":{"line":135,"column":15},"end":{"line":135,"column":73}},"type":"binary-expr","locations":[{"start":{"line":135,"column":15},"end":{"line":135,"column":67}},{"start":{"line":135,"column":71},"end":{"line":135,"column":73}}],"line":135},"21":{"loc":{"start":{"line":136,"column":15},"end":{"line":136,"column":73}},"type":"binary-expr","locations":[{"start":{"line":136,"column":15},"end":{"line":136,"column":67}},{"start":{"line":136,"column":71},"end":{"line":136,"column":73}}],"line":136},"22":{"loc":{"start":{"line":139,"column":6},"end":{"line":141,"column":7}},"type":"if","locations":[{"start":{"line":139,"column":6},"end":{"line":141,"column":7}},{"start":{},"end":{}}],"line":139},"23":{"loc":{"start":{"line":140,"column":17},"end":{"line":140,"column":74}},"type":"binary-expr","locations":[{"start":{"line":140,"column":17},"end":{"line":140,"column":68}},{"start":{"line":140,"column":72},"end":{"line":140,"column":74}}],"line":140},"24":{"loc":{"start":{"line":142,"column":6},"end":{"line":144,"column":7}},"type":"if","locations":[{"start":{"line":142,"column":6},"end":{"line":144,"column":7}},{"start":{},"end":{}}],"line":142},"25":{"loc":{"start":{"line":143,"column":17},"end":{"line":143,"column":74}},"type":"binary-expr","locations":[{"start":{"line":143,"column":17},"end":{"line":143,"column":68}},{"start":{"line":143,"column":72},"end":{"line":143,"column":74}}],"line":143},"26":{"loc":{"start":{"line":147,"column":24},"end":{"line":147,"column":72}},"type":"binary-expr","locations":[{"start":{"line":147,"column":24},"end":{"line":147,"column":66}},{"start":{"line":147,"column":70},"end":{"line":147,"column":72}}],"line":147},"27":{"loc":{"start":{"line":150,"column":28},"end":{"line":150,"column":148}},"type":"binary-expr","locations":[{"start":{"line":150,"column":28},"end":{"line":150,"column":89}},{"start":{"line":150,"column":93},"end":{"line":150,"column":139}},{"start":{"line":150,"column":143},"end":{"line":150,"column":148}}],"line":150},"28":{"loc":{"start":{"line":153,"column":4},"end":{"line":168,"column":5}},"type":"if","locations":[{"start":{"line":153,"column":4},"end":{"line":168,"column":5}},{"start":{},"end":{}}],"line":153},"29":{"loc":{"start":{"line":155,"column":19},"end":{"line":155,"column":90}},"type":"cond-expr","locations":[{"start":{"line":155,"column":53},"end":{"line":155,"column":76}},{"start":{"line":155,"column":79},"end":{"line":155,"column":90}}],"line":155},"30":{"loc":{"start":{"line":162,"column":19},"end":{"line":162,"column":34}},"type":"binary-expr","locations":[{"start":{"line":162,"column":19},"end":{"line":162,"column":28}},{"start":{"line":162,"column":32},"end":{"line":162,"column":34}}],"line":162},"31":{"loc":{"start":{"line":163,"column":17},"end":{"line":163,"column":30}},"type":"binary-expr","locations":[{"start":{"line":163,"column":17},"end":{"line":163,"column":24}},{"start":{"line":163,"column":28},"end":{"line":163,"column":30}}],"line":163},"32":{"loc":{"start":{"line":198,"column":2},"end":{"line":205,"column":3}},"type":"if","locations":[{"start":{"line":198,"column":2},"end":{"line":205,"column":3}},{"start":{},"end":{}}],"line":198},"33":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":31}},"type":"binary-expr","locations":[{"start":{"line":199,"column":4},"end":{"line":199,"column":8}},{"start":{"line":200,"column":7},"end":{"line":200,"column":27}},{"start":{"line":201,"column":7},"end":{"line":201,"column":31}}],"line":199},"34":{"loc":{"start":{"line":210,"column":4},"end":{"line":210,"column":52}},"type":"binary-expr","locations":[{"start":{"line":210,"column":4},"end":{"line":210,"column":24}},{"start":{"line":210,"column":28},"end":{"line":210,"column":52}}],"line":210},"35":{"loc":{"start":{"line":217,"column":2},"end":{"line":230,"column":3}},"type":"if","locations":[{"start":{"line":217,"column":2},"end":{"line":230,"column":3}},{"start":{},"end":{}}],"line":217},"36":{"loc":{"start":{"line":217,"column":6},"end":{"line":217,"column":34}},"type":"binary-expr","locations":[{"start":{"line":217,"column":6},"end":{"line":217,"column":12}},{"start":{"line":217,"column":16},"end":{"line":217,"column":34}}],"line":217},"37":{"loc":{"start":{"line":220,"column":4},"end":{"line":229,"column":5}},"type":"if","locations":[{"start":{"line":220,"column":4},"end":{"line":229,"column":5}},{"start":{},"end":{}}],"line":220},"38":{"loc":{"start":{"line":223,"column":8},"end":{"line":223,"column":100}},"type":"if","locations":[{"start":{"line":223,"column":8},"end":{"line":223,"column":100}},{"start":{},"end":{}}],"line":223},"39":{"loc":{"start":{"line":224,"column":8},"end":{"line":224,"column":104}},"type":"if","locations":[{"start":{"line":224,"column":8},"end":{"line":224,"column":104}},{"start":{},"end":{}}],"line":224},"40":{"loc":{"start":{"line":231,"column":2},"end":{"line":247,"column":3}},"type":"if","locations":[{"start":{"line":231,"column":2},"end":{"line":247,"column":3}},{"start":{},"end":{}}],"line":231},"41":{"loc":{"start":{"line":231,"column":6},"end":{"line":231,"column":75}},"type":"binary-expr","locations":[{"start":{"line":231,"column":6},"end":{"line":231,"column":12}},{"start":{"line":231,"column":16},"end":{"line":231,"column":29}},{"start":{"line":231,"column":33},"end":{"line":231,"column":52}},{"start":{"line":231,"column":56},"end":{"line":231,"column":75}}],"line":231},"42":{"loc":{"start":{"line":234,"column":4},"end":{"line":245,"column":5}},"type":"if","locations":[{"start":{"line":234,"column":4},"end":{"line":245,"column":5}},{"start":{},"end":{}}],"line":234},"43":{"loc":{"start":{"line":234,"column":8},"end":{"line":234,"column":66}},"type":"binary-expr","locations":[{"start":{"line":234,"column":8},"end":{"line":234,"column":21}},{"start":{"line":234,"column":25},"end":{"line":234,"column":66}}],"line":234},"44":{"loc":{"start":{"line":235,"column":6},"end":{"line":244,"column":7}},"type":"if","locations":[{"start":{"line":235,"column":6},"end":{"line":244,"column":7}},{"start":{},"end":{}}],"line":235},"45":{"loc":{"start":{"line":236,"column":8},"end":{"line":239,"column":9}},"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":239,"column":9}},{"start":{},"end":{}}],"line":236},"46":{"loc":{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},{"start":{},"end":{}}],"line":240},"47":{"loc":{"start":{"line":246,"column":30},"end":{"line":246,"column":87}},"type":"cond-expr","locations":[{"start":{"line":246,"column":51},"end":{"line":246,"column":54}},{"start":{"line":246,"column":57},"end":{"line":246,"column":87}}],"line":246},"48":{"loc":{"start":{"line":248,"column":2},"end":{"line":250,"column":3}},"type":"if","locations":[{"start":{"line":248,"column":2},"end":{"line":250,"column":3}},{"start":{},"end":{}}],"line":248},"49":{"loc":{"start":{"line":248,"column":6},"end":{"line":248,"column":32}},"type":"binary-expr","locations":[{"start":{"line":248,"column":6},"end":{"line":248,"column":12}},{"start":{"line":248,"column":16},"end":{"line":248,"column":32}}],"line":248},"50":{"loc":{"start":{"line":249,"column":30},"end":{"line":249,"column":90}},"type":"cond-expr","locations":[{"start":{"line":249,"column":51},"end":{"line":249,"column":54}},{"start":{"line":249,"column":57},"end":{"line":249,"column":90}}],"line":249},"51":{"loc":{"start":{"line":251,"column":2},"end":{"line":253,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":253,"column":3}},{"start":{},"end":{}}],"line":251},"52":{"loc":{"start":{"line":251,"column":6},"end":{"line":251,"column":34}},"type":"binary-expr","locations":[{"start":{"line":251,"column":6},"end":{"line":251,"column":12}},{"start":{"line":251,"column":16},"end":{"line":251,"column":34}}],"line":251},"53":{"loc":{"start":{"line":252,"column":30},"end":{"line":252,"column":92}},"type":"cond-expr","locations":[{"start":{"line":252,"column":51},"end":{"line":252,"column":54}},{"start":{"line":252,"column":57},"end":{"line":252,"column":92}}],"line":252},"54":{"loc":{"start":{"line":254,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":254,"column":2},"end":{"line":256,"column":3}},{"start":{},"end":{}}],"line":254},"55":{"loc":{"start":{"line":254,"column":6},"end":{"line":254,"column":33}},"type":"binary-expr","locations":[{"start":{"line":254,"column":6},"end":{"line":254,"column":12}},{"start":{"line":254,"column":16},"end":{"line":254,"column":33}}],"line":254},"56":{"loc":{"start":{"line":255,"column":30},"end":{"line":255,"column":91}},"type":"cond-expr","locations":[{"start":{"line":255,"column":51},"end":{"line":255,"column":54}},{"start":{"line":255,"column":57},"end":{"line":255,"column":91}}],"line":255},"57":{"loc":{"start":{"line":257,"column":2},"end":{"line":259,"column":3}},"type":"if","locations":[{"start":{"line":257,"column":2},"end":{"line":259,"column":3}},{"start":{},"end":{}}],"line":257},"58":{"loc":{"start":{"line":257,"column":6},"end":{"line":257,"column":35}},"type":"binary-expr","locations":[{"start":{"line":257,"column":6},"end":{"line":257,"column":12}},{"start":{"line":257,"column":16},"end":{"line":257,"column":35}}],"line":257},"59":{"loc":{"start":{"line":258,"column":30},"end":{"line":258,"column":93}},"type":"cond-expr","locations":[{"start":{"line":258,"column":51},"end":{"line":258,"column":54}},{"start":{"line":258,"column":57},"end":{"line":258,"column":93}}],"line":258}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0,0,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/notifiers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/notifiers.ts","statementMap":{"0":{"start":{"line":18,"column":2},"end":{"line":18,"column":26}},"1":{"start":{"line":22,"column":2},"end":{"line":26,"column":5}},"2":{"start":{"line":30,"column":2},"end":{"line":30,"column":30}},"3":{"start":{"line":34,"column":2},"end":{"line":36,"column":5}},"4":{"start":{"line":48,"column":2},"end":{"line":53,"column":5}},"5":{"start":{"line":119,"column":2},"end":{"line":153,"column":5}},"6":{"start":{"line":154,"column":2},"end":{"line":157,"column":5}},"7":{"start":{"line":161,"column":2},"end":{"line":161,"column":70}},"8":{"start":{"line":165,"column":2},"end":{"line":165,"column":60}},"9":{"start":{"line":172,"column":2},"end":{"line":176,"column":5}},"10":{"start":{"line":180,"column":2},"end":{"line":180,"column":64}},"11":{"start":{"line":184,"column":2},"end":{"line":188,"column":5}},"12":{"start":{"line":192,"column":2},"end":{"line":196,"column":5}}},"fnMap":{"0":{"name":"notifyUI","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":24}},"loc":{"start":{"line":17,"column":66},"end":{"line":19,"column":1}},"line":17},"1":{"name":"notifyToUI","decl":{"start":{"line":21,"column":16},"end":{"line":21,"column":26}},"loc":{"start":{"line":21,"column":79},"end":{"line":27,"column":1}},"line":21},"2":{"name":"postToUI","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":24}},"loc":{"start":{"line":29,"column":49},"end":{"line":31,"column":1}},"line":29},"3":{"name":"notifyNoSelection","decl":{"start":{"line":33,"column":16},"end":{"line":33,"column":33}},"loc":{"start":{"line":33,"column":36},"end":{"line":37,"column":1}},"line":33},"4":{"name":"notifySelection","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":31}},"loc":{"start":{"line":47,"column":3},"end":{"line":54,"column":1}},"line":47},"5":{"name":"notifyUISettings","decl":{"start":{"line":87,"column":16},"end":{"line":87,"column":32}},"loc":{"start":{"line":118,"column":2},"end":{"line":158,"column":1}},"line":118},"6":{"name":"notifyAPIProviders","decl":{"start":{"line":160,"column":16},"end":{"line":160,"column":34}},"loc":{"start":{"line":160,"column":72},"end":{"line":162,"column":1}},"line":160},"7":{"name":"notifyStyleValues","decl":{"start":{"line":164,"column":16},"end":{"line":164,"column":33}},"loc":{"start":{"line":164,"column":80},"end":{"line":166,"column":1}},"line":164},"8":{"name":"notifyVariableValues","decl":{"start":{"line":168,"column":16},"end":{"line":168,"column":36}},"loc":{"start":{"line":171,"column":2},"end":{"line":177,"column":1}},"line":171},"9":{"name":"notifySetTokens","decl":{"start":{"line":179,"column":16},"end":{"line":179,"column":31}},"loc":{"start":{"line":179,"column":52},"end":{"line":181,"column":1}},"line":179},"10":{"name":"notifyException","decl":{"start":{"line":183,"column":16},"end":{"line":183,"column":31}},"loc":{"start":{"line":183,"column":58},"end":{"line":189,"column":1}},"line":183},"11":{"name":"trackFromPlugin","decl":{"start":{"line":191,"column":16},"end":{"line":191,"column":31}},"loc":{"start":{"line":191,"column":58},"end":{"line":197,"column":1}},"line":191}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":77}},"type":"default-arg","locations":[{"start":{"line":21,"column":75},"end":{"line":21,"column":77}}],"line":21},"1":{"loc":{"start":{"line":108,"column":4},"end":{"line":108,"column":23}},"type":"default-arg","locations":[{"start":{"line":108,"column":19},"end":{"line":108,"column":23}}],"line":108},"2":{"loc":{"start":{"line":183,"column":47},"end":{"line":183,"column":56}},"type":"default-arg","locations":[{"start":{"line":183,"column":54},"end":{"line":183,"column":56}}],"line":183},"3":{"loc":{"start":{"line":191,"column":47},"end":{"line":191,"column":56}},"type":"default-arg","locations":[{"start":{"line":191,"column":54},"end":{"line":191,"column":56}}],"line":191}},"s":{"0":0,"1":0,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":7,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":7,"9":0,"10":0,"11":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f09719774110a0611d01830a4dfc36b93ecba787"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/performCodeGen.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/performCodeGen.ts","statementMap":{"0":{"start":{"line":4,"column":20},"end":{"line":4,"column":43}},"1":{"start":{"line":6,"column":15},"end":{"line":13,"column":15}},"2":{"start":{"line":8,"column":20},"end":{"line":8,"column":65}},"3":{"start":{"line":10,"column":6},"end":{"line":10,"column":42}},"4":{"start":{"line":12,"column":19},"end":{"line":12,"column":20}},"5":{"start":{"line":15,"column":2},"end":{"line":21,"column":4}}},"fnMap":{"0":{"name":"performCodeGen","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":60},"end":{"line":22,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":18},"end":{"line":11,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":13}},"loc":{"start":{"line":12,"column":19},"end":{"line":12,"column":20}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":13},"end":{"line":10,"column":41}},"type":"binary-expr","locations":[{"start":{"line":10,"column":13},"end":{"line":10,"column":18}},{"start":{"line":10,"column":22},"end":{"line":10,"column":41}}],"line":10},"1":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":56}},"type":"cond-expr","locations":[{"start":{"line":18,"column":26},"end":{"line":18,"column":49}},{"start":{"line":18,"column":52},"end":{"line":18,"column":56}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pluginData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pluginData.ts","statementMap":{"0":{"start":{"line":16,"column":26},"end":{"line":68,"column":8}},"1":{"start":{"line":17,"column":49},"end":{"line":17,"column":53}},"2":{"start":{"line":19,"column":4},"end":{"line":30,"column":7}},"3":{"start":{"line":20,"column":23},"end":{"line":20,"column":84}},"4":{"start":{"line":20,"column":42},"end":{"line":20,"column":83}},"5":{"start":{"line":21,"column":6},"end":{"line":29,"column":7}},"6":{"start":{"line":22,"column":8},"end":{"line":22,"column":48}},"7":{"start":{"line":24,"column":25},"end":{"line":24,"column":72}},"8":{"start":{"line":26,"column":8},"end":{"line":28,"column":11}},"9":{"start":{"line":33,"column":27},"end":{"line":33,"column":65}},"10":{"start":{"line":34,"column":4},"end":{"line":48,"column":7}},"11":{"start":{"line":36,"column":29},"end":{"line":36,"column":140}},"12":{"start":{"line":36,"column":48},"end":{"line":36,"column":139}},"13":{"start":{"line":36,"column":105},"end":{"line":36,"column":138}},"14":{"start":{"line":37,"column":6},"end":{"line":47,"column":7}},"15":{"start":{"line":38,"column":25},"end":{"line":38,"column":82}},"16":{"start":{"line":39,"column":8},"end":{"line":46,"column":11}},"17":{"start":{"line":51,"column":24},"end":{"line":51,"column":59}},"18":{"start":{"line":52,"column":4},"end":{"line":66,"column":7}},"19":{"start":{"line":54,"column":29},"end":{"line":54,"column":137}},"20":{"start":{"line":54,"column":48},"end":{"line":54,"column":136}},"21":{"start":{"line":54,"column":102},"end":{"line":54,"column":135}},"22":{"start":{"line":55,"column":6},"end":{"line":65,"column":7}},"23":{"start":{"line":56,"column":25},"end":{"line":56,"column":79}},"24":{"start":{"line":57,"column":8},"end":{"line":64,"column":11}},"25":{"start":{"line":67,"column":4},"end":{"line":67,"column":15}},"26":{"start":{"line":70,"column":2},"end":{"line":70,"column":25}},"27":{"start":{"line":74,"column":34},"end":{"line":92,"column":8}},"28":{"start":{"line":76,"column":24},"end":{"line":76,"column":59}},"29":{"start":{"line":77,"column":4},"end":{"line":81,"column":7}},"30":{"start":{"line":78,"column":6},"end":{"line":80,"column":9}},"31":{"start":{"line":84,"column":27},"end":{"line":84,"column":65}},"32":{"start":{"line":85,"column":4},"end":{"line":89,"column":7}},"33":{"start":{"line":86,"column":6},"end":{"line":88,"column":9}},"34":{"start":{"line":90,"column":4},"end":{"line":90,"column":26}},"35":{"start":{"line":91,"column":4},"end":{"line":91,"column":15}},"36":{"start":{"line":93,"column":2},"end":{"line":93,"column":33}},"37":{"start":{"line":104,"column":50},"end":{"line":104,"column":52}},"38":{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},"39":{"start":{"line":109,"column":4},"end":{"line":109,"column":97}},"40":{"start":{"line":109,"column":35},"end":{"line":109,"column":97}},"41":{"start":{"line":110,"column":4},"end":{"line":110,"column":82}},"42":{"start":{"line":112,"column":24},"end":{"line":112,"column":58}},"43":{"start":{"line":113,"column":2},"end":{"line":113,"column":102}},"44":{"start":{"line":114,"column":2},"end":{"line":114,"column":69}},"45":{"start":{"line":118,"column":2},"end":{"line":132,"column":6}},"46":{"start":{"line":119,"column":4},"end":{"line":131,"column":5}},"47":{"start":{"line":120,"column":6},"end":{"line":120,"column":49}},"48":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"49":{"start":{"line":122,"column":8},"end":{"line":122,"column":40}},"50":{"start":{"line":125,"column":6},"end":{"line":130,"column":9}},"51":{"start":{"line":126,"column":8},"end":{"line":126,"column":52}},"52":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"53":{"start":{"line":128,"column":10},"end":{"line":128,"column":43}},"54":{"start":{"line":136,"column":2},"end":{"line":139,"column":6}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":51}},"56":{"start":{"line":138,"column":4},"end":{"line":138,"column":36}}},"fnMap":{"0":{"name":"transformPluginDataToSelectionValues","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":52}},"loc":{"start":{"line":15,"column":102},"end":{"line":71,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":62},"end":{"line":16,"column":63}},"loc":{"start":{"line":16,"column":77},"end":{"line":68,"column":3}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":35},"end":{"line":19,"column":36}},"loc":{"start":{"line":19,"column":53},"end":{"line":30,"column":5}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":32},"end":{"line":20,"column":33}},"loc":{"start":{"line":20,"column":42},"end":{"line":20,"column":83}},"line":20},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":27},"end":{"line":34,"column":28}},"loc":{"start":{"line":34,"column":41},"end":{"line":48,"column":5}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":38},"end":{"line":36,"column":39}},"loc":{"start":{"line":36,"column":48},"end":{"line":36,"column":139}},"line":36},"6":{"name":"(anonymous_6)","decl":{"start":{"line":36,"column":95},"end":{"line":36,"column":96}},"loc":{"start":{"line":36,"column":105},"end":{"line":36,"column":138}},"line":36},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":25}},"loc":{"start":{"line":52,"column":35},"end":{"line":66,"column":5}},"line":52},"8":{"name":"(anonymous_8)","decl":{"start":{"line":54,"column":38},"end":{"line":54,"column":39}},"loc":{"start":{"line":54,"column":48},"end":{"line":54,"column":136}},"line":54},"9":{"name":"(anonymous_9)","decl":{"start":{"line":54,"column":92},"end":{"line":54,"column":93}},"loc":{"start":{"line":54,"column":102},"end":{"line":54,"column":135}},"line":54},"10":{"name":"transformPluginDataToMainNodeSelectionValues","decl":{"start":{"line":73,"column":16},"end":{"line":73,"column":60}},"loc":{"start":{"line":73,"column":110},"end":{"line":94,"column":1}},"line":73},"11":{"name":"(anonymous_11)","decl":{"start":{"line":74,"column":70},"end":{"line":74,"column":71}},"loc":{"start":{"line":74,"column":85},"end":{"line":92,"column":3}},"line":74},"12":{"name":"(anonymous_12)","decl":{"start":{"line":77,"column":24},"end":{"line":77,"column":25}},"loc":{"start":{"line":77,"column":35},"end":{"line":81,"column":5}},"line":77},"13":{"name":"(anonymous_13)","decl":{"start":{"line":85,"column":27},"end":{"line":85,"column":28}},"loc":{"start":{"line":85,"column":38},"end":{"line":89,"column":5}},"line":85},"14":{"name":"sendPluginValues","decl":{"start":{"line":102,"column":22},"end":{"line":102,"column":38}},"loc":{"start":{"line":102,"column":179},"end":{"line":115,"column":1}},"line":102},"15":{"name":"removePluginData","decl":{"start":{"line":117,"column":22},"end":{"line":117,"column":38}},"loc":{"start":{"line":117,"column":176},"end":{"line":133,"column":1}},"line":117},"16":{"name":"(anonymous_16)","decl":{"start":{"line":118,"column":31},"end":{"line":118,"column":32}},"loc":{"start":{"line":118,"column":47},"end":{"line":132,"column":3}},"line":118},"17":{"name":"(anonymous_17)","decl":{"start":{"line":125,"column":40},"end":{"line":125,"column":41}},"loc":{"start":{"line":125,"column":50},"end":{"line":130,"column":7}},"line":125},"18":{"name":"setNonePluginData","decl":{"start":{"line":135,"column":22},"end":{"line":135,"column":39}},"loc":{"start":{"line":135,"column":119},"end":{"line":140,"column":1}},"line":135},"19":{"name":"(anonymous_19)","decl":{"start":{"line":136,"column":31},"end":{"line":136,"column":32}},"loc":{"start":{"line":136,"column":47},"end":{"line":139,"column":3}},"line":136}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":42},"end":{"line":20,"column":83}},"type":"binary-expr","locations":[{"start":{"line":20,"column":42},"end":{"line":20,"column":59}},{"start":{"line":20,"column":63},"end":{"line":20,"column":83}}],"line":20},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":29,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":29,"column":7}},{"start":{"line":23,"column":13},"end":{"line":29,"column":7}}],"line":21},"2":{"loc":{"start":{"line":36,"column":48},"end":{"line":36,"column":139}},"type":"binary-expr","locations":[{"start":{"line":36,"column":48},"end":{"line":36,"column":75}},{"start":{"line":36,"column":79},"end":{"line":36,"column":139}}],"line":36},"3":{"loc":{"start":{"line":37,"column":6},"end":{"line":47,"column":7}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":47,"column":7}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":54,"column":48},"end":{"line":54,"column":136}},"type":"binary-expr","locations":[{"start":{"line":54,"column":48},"end":{"line":54,"column":72}},{"start":{"line":54,"column":76},"end":{"line":54,"column":136}}],"line":54},"5":{"loc":{"start":{"line":55,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},"type":"if","locations":[{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},{"start":{},"end":{}}],"line":108},"7":{"loc":{"start":{"line":108,"column":6},"end":{"line":108,"column":47}},"type":"binary-expr","locations":[{"start":{"line":108,"column":6},"end":{"line":108,"column":26}},{"start":{"line":108,"column":30},"end":{"line":108,"column":47}}],"line":108},"8":{"loc":{"start":{"line":109,"column":4},"end":{"line":109,"column":97}},"type":"if","locations":[{"start":{"line":109,"column":4},"end":{"line":109,"column":97}},{"start":{},"end":{}}],"line":109},"9":{"loc":{"start":{"line":113,"column":37},"end":{"line":113,"column":58}},"type":"binary-expr","locations":[{"start":{"line":113,"column":37},"end":{"line":113,"column":52}},{"start":{"line":113,"column":56},"end":{"line":113,"column":58}}],"line":113},"10":{"loc":{"start":{"line":117,"column":53},"end":{"line":117,"column":78}},"type":"default-arg","locations":[{"start":{"line":117,"column":74},"end":{"line":117,"column":78}}],"line":117},"11":{"loc":{"start":{"line":119,"column":4},"end":{"line":131,"column":5}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":131,"column":5}},{"start":{"line":124,"column":11},"end":{"line":131,"column":5}}],"line":119},"12":{"loc":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"type":"if","locations":[{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},{"start":{},"end":{}}],"line":121},"13":{"loc":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"type":"if","locations":[{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},{"start":{},"end":{}}],"line":127}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/processTextStyleProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/processTextStyleProperty.ts","statementMap":{"0":{"start":{"line":16,"column":25},"end":{"line":16,"column":92}},"1":{"start":{"line":17,"column":2},"end":{"line":41,"column":3}},"2":{"start":{"line":18,"column":21},"end":{"line":18,"column":89}},"3":{"start":{"line":18,"column":48},"end":{"line":18,"column":88}},"4":{"start":{"line":19,"column":4},"end":{"line":40,"column":5}},"5":{"start":{"line":20,"column":29},"end":{"line":20,"column":62}},"6":{"start":{"line":23,"column":28},"end":{"line":30,"column":14}},"7":{"start":{"line":24,"column":8},"end":{"line":24,"column":32}},"8":{"start":{"line":24,"column":19},"end":{"line":24,"column":32}},"9":{"start":{"line":25,"column":27},"end":{"line":28,"column":50}},"10":{"start":{"line":25,"column":78},"end":{"line":28,"column":42}},"11":{"start":{"line":29,"column":8},"end":{"line":29,"column":34}},"12":{"start":{"line":33,"column":6},"end":{"line":39,"column":7}},"13":{"start":{"line":34,"column":8},"end":{"line":38,"column":10}},"14":{"start":{"line":44,"column":21},"end":{"line":44,"column":58}},"15":{"start":{"line":45,"column":27},"end":{"line":45,"column":95}},"16":{"start":{"line":47,"column":18},"end":{"line":47,"column":35}},"17":{"start":{"line":48,"column":2},"end":{"line":54,"column":3}},"18":{"start":{"line":49,"column":4},"end":{"line":53,"column":5}},"19":{"start":{"line":50,"column":6},"end":{"line":50,"column":48}},"20":{"start":{"line":51,"column":11},"end":{"line":53,"column":5}},"21":{"start":{"line":52,"column":6},"end":{"line":52,"column":48}},"22":{"start":{"line":56,"column":2},"end":{"line":60,"column":4}}},"fnMap":{"0":{"name":"processTextStyleProperty","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":40}},"loc":{"start":{"line":14,"column":22},"end":{"line":61,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":41},"end":{"line":18,"column":42}},"loc":{"start":{"line":18,"column":48},"end":{"line":18,"column":88}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":85},"end":{"line":23,"column":86}},"loc":{"start":{"line":23,"column":111},"end":{"line":30,"column":7}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":67},"end":{"line":25,"column":68}},"loc":{"start":{"line":25,"column":78},"end":{"line":28,"column":42}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":19,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":19},"2":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":26}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":16}},{"start":{"line":19,"column":20},"end":{"line":19,"column":26}}],"line":19},"3":{"loc":{"start":{"line":24,"column":8},"end":{"line":24,"column":32}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":32}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":25,"column":27},"end":{"line":28,"column":50}},"type":"cond-expr","locations":[{"start":{"line":25,"column":53},"end":{"line":28,"column":43}},{"start":{"line":28,"column":46},"end":{"line":28,"column":50}}],"line":25},"5":{"loc":{"start":{"line":25,"column":78},"end":{"line":28,"column":42}},"type":"binary-expr","locations":[{"start":{"line":25,"column":78},"end":{"line":25,"column":103}},{"start":{"line":26,"column":13},"end":{"line":26,"column":27}},{"start":{"line":27,"column":13},"end":{"line":27,"column":28}},{"start":{"line":28,"column":13},"end":{"line":28,"column":42}}],"line":25},"6":{"loc":{"start":{"line":29,"column":15},"end":{"line":29,"column":33}},"type":"binary-expr","locations":[{"start":{"line":29,"column":15},"end":{"line":29,"column":25}},{"start":{"line":29,"column":29},"end":{"line":29,"column":33}}],"line":29},"7":{"loc":{"start":{"line":33,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":33},"8":{"loc":{"start":{"line":36,"column":17},"end":{"line":36,"column":108}},"type":"cond-expr","locations":[{"start":{"line":36,"column":59},"end":{"line":36,"column":78}},{"start":{"line":36,"column":81},"end":{"line":36,"column":108}}],"line":36},"9":{"loc":{"start":{"line":45,"column":27},"end":{"line":45,"column":95}},"type":"cond-expr","locations":[{"start":{"line":45,"column":46},"end":{"line":45,"column":74}},{"start":{"line":45,"column":77},"end":{"line":45,"column":95}}],"line":45},"10":{"loc":{"start":{"line":48,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":48,"column":2},"end":{"line":54,"column":3}},{"start":{},"end":{}}],"line":48},"11":{"loc":{"start":{"line":49,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":53,"column":5}},{"start":{"line":51,"column":11},"end":{"line":53,"column":5}}],"line":49},"12":{"loc":{"start":{"line":51,"column":11},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":11},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":51}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullStyles.ts","statementMap":{"0":{"start":{"line":23,"column":17},"end":{"line":23,"column":37}},"1":{"start":{"line":25,"column":37},"end":{"line":25,"column":39}},"2":{"start":{"line":26,"column":41},"end":{"line":26,"column":43}},"3":{"start":{"line":27,"column":38},"end":{"line":27,"column":40}},"4":{"start":{"line":28,"column":43},"end":{"line":28,"column":45}},"5":{"start":{"line":29,"column":42},"end":{"line":29,"column":44}},"6":{"start":{"line":30,"column":42},"end":{"line":30,"column":44}},"7":{"start":{"line":31,"column":40},"end":{"line":31,"column":42}},"8":{"start":{"line":32,"column":44},"end":{"line":32,"column":46}},"9":{"start":{"line":33,"column":47},"end":{"line":33,"column":49}},"10":{"start":{"line":34,"column":31},"end":{"line":34,"column":33}},"11":{"start":{"line":35,"column":39},"end":{"line":35,"column":41}},"12":{"start":{"line":36,"column":45},"end":{"line":36,"column":47}},"13":{"start":{"line":37,"column":2},"end":{"line":76,"column":3}},"14":{"start":{"line":38,"column":4},"end":{"line":75,"column":6}},"15":{"start":{"line":41,"column":27},"end":{"line":41,"column":52}},"16":{"start":{"line":43,"column":24},"end":{"line":43,"column":39}},"17":{"start":{"line":44,"column":53},"end":{"line":44,"column":75}},"18":{"start":{"line":45,"column":10},"end":{"line":47,"column":11}},"19":{"start":{"line":46,"column":12},"end":{"line":46,"column":56}},"20":{"start":{"line":48,"column":10},"end":{"line":61,"column":11}},"21":{"start":{"line":49,"column":32},"end":{"line":49,"column":43}},"22":{"start":{"line":50,"column":22},"end":{"line":50,"column":35}},"23":{"start":{"line":51,"column":12},"end":{"line":56,"column":15}},"24":{"start":{"line":57,"column":17},"end":{"line":61,"column":11}},"25":{"start":{"line":58,"column":12},"end":{"line":58,"column":68}},"26":{"start":{"line":60,"column":12},"end":{"line":60,"column":31}},"27":{"start":{"line":62,"column":33},"end":{"line":65,"column":22}},"28":{"start":{"line":64,"column":30},"end":{"line":64,"column":44}},"29":{"start":{"line":67,"column":10},"end":{"line":73,"column":19}},"30":{"start":{"line":78,"column":2},"end":{"line":305,"column":3}},"31":{"start":{"line":79,"column":35},"end":{"line":79,"column":37}},"32":{"start":{"line":80,"column":41},"end":{"line":80,"column":43}},"33":{"start":{"line":81,"column":41},"end":{"line":81,"column":43}},"34":{"start":{"line":82,"column":42},"end":{"line":82,"column":44}},"35":{"start":{"line":83,"column":41},"end":{"line":83,"column":43}},"36":{"start":{"line":84,"column":46},"end":{"line":84,"column":48}},"37":{"start":{"line":85,"column":36},"end":{"line":85,"column":38}},"38":{"start":{"line":86,"column":48},"end":{"line":86,"column":50}},"39":{"start":{"line":88,"column":28},"end":{"line":88,"column":54}},"40":{"start":{"line":89,"column":27},"end":{"line":89,"column":61}},"41":{"start":{"line":91,"column":4},"end":{"line":100,"column":7}},"42":{"start":{"line":92,"column":6},"end":{"line":92,"column":84}},"43":{"start":{"line":92,"column":50},"end":{"line":92,"column":84}},"44":{"start":{"line":93,"column":6},"end":{"line":93,"column":44}},"45":{"start":{"line":94,"column":6},"end":{"line":94,"column":44}},"46":{"start":{"line":95,"column":6},"end":{"line":95,"column":114}},"47":{"start":{"line":95,"column":65},"end":{"line":95,"column":114}},"48":{"start":{"line":96,"column":6},"end":{"line":96,"column":110}},"49":{"start":{"line":96,"column":63},"end":{"line":96,"column":110}},"50":{"start":{"line":97,"column":6},"end":{"line":97,"column":49}},"51":{"start":{"line":98,"column":6},"end":{"line":98,"column":82}},"52":{"start":{"line":98,"column":49},"end":{"line":98,"column":82}},"53":{"start":{"line":99,"column":6},"end":{"line":99,"column":106}},"54":{"start":{"line":99,"column":61},"end":{"line":99,"column":106}},"55":{"start":{"line":102,"column":4},"end":{"line":111,"column":7}},"56":{"start":{"line":102,"column":52},"end":{"line":111,"column":5}},"57":{"start":{"line":110,"column":17},"end":{"line":110,"column":33}},"58":{"start":{"line":113,"column":35},"end":{"line":115,"column":5}},"59":{"start":{"line":114,"column":19},"end":{"line":114,"column":89}},"60":{"start":{"line":114,"column":38},"end":{"line":114,"column":82}},"61":{"start":{"line":117,"column":4},"end":{"line":126,"column":7}},"62":{"start":{"line":117,"column":54},"end":{"line":126,"column":5}},"63":{"start":{"line":125,"column":17},"end":{"line":125,"column":59}},"64":{"start":{"line":128,"column":4},"end":{"line":150,"column":7}},"65":{"start":{"line":129,"column":28},"end":{"line":130,"column":40}},"66":{"start":{"line":129,"column":60},"end":{"line":130,"column":39}},"67":{"start":{"line":132,"column":6},"end":{"line":138,"column":7}},"68":{"start":{"line":133,"column":8},"end":{"line":137,"column":10}},"69":{"start":{"line":140,"column":6},"end":{"line":149,"column":8}},"70":{"start":{"line":148,"column":14},"end":{"line":148,"column":24}},"71":{"start":{"line":152,"column":4},"end":{"line":173,"column":7}},"72":{"start":{"line":152,"column":68},"end":{"line":152,"column":79}},"73":{"start":{"line":153,"column":28},"end":{"line":153,"column":97}},"74":{"start":{"line":153,"column":60},"end":{"line":153,"column":96}},"75":{"start":{"line":155,"column":6},"end":{"line":161,"column":7}},"76":{"start":{"line":156,"column":8},"end":{"line":160,"column":10}},"77":{"start":{"line":163,"column":6},"end":{"line":172,"column":8}},"78":{"start":{"line":171,"column":14},"end":{"line":171,"column":24}},"79":{"start":{"line":175,"column":4},"end":{"line":184,"column":7}},"80":{"start":{"line":175,"column":59},"end":{"line":184,"column":5}},"81":{"start":{"line":183,"column":17},"end":{"line":183,"column":33}},"82":{"start":{"line":186,"column":4},"end":{"line":192,"column":10}},"83":{"start":{"line":187,"column":22},"end":{"line":187,"column":27}},"84":{"start":{"line":188,"column":27},"end":{"line":192,"column":7}},"85":{"start":{"line":194,"column":4},"end":{"line":203,"column":7}},"86":{"start":{"line":194,"column":56},"end":{"line":203,"column":5}},"87":{"start":{"line":202,"column":17},"end":{"line":202,"column":62}},"88":{"start":{"line":205,"column":4},"end":{"line":209,"column":8}},"89":{"start":{"line":205,"column":43},"end":{"line":209,"column":5}},"90":{"start":{"line":211,"column":4},"end":{"line":215,"column":8}},"91":{"start":{"line":211,"column":55},"end":{"line":215,"column":5}},"92":{"start":{"line":217,"column":4},"end":{"line":304,"column":7}},"93":{"start":{"line":218,"column":26},"end":{"line":225,"column":7}},"94":{"start":{"line":223,"column":18},"end":{"line":223,"column":52}},"95":{"start":{"line":227,"column":30},"end":{"line":234,"column":7}},"96":{"start":{"line":232,"column":18},"end":{"line":232,"column":104}},"97":{"start":{"line":236,"column":30},"end":{"line":243,"column":7}},"98":{"start":{"line":241,"column":18},"end":{"line":241,"column":84}},"99":{"start":{"line":244,"column":28},"end":{"line":251,"column":7}},"100":{"start":{"line":249,"column":18},"end":{"line":249,"column":56}},"101":{"start":{"line":252,"column":33},"end":{"line":259,"column":7}},"102":{"start":{"line":257,"column":18},"end":{"line":257,"column":90}},"103":{"start":{"line":260,"column":36},"end":{"line":269,"column":8}},"104":{"start":{"line":261,"column":8},"end":{"line":267,"column":9}},"105":{"start":{"line":262,"column":38},"end":{"line":262,"column":117}},"106":{"start":{"line":262,"column":65},"end":{"line":262,"column":116}},"107":{"start":{"line":263,"column":10},"end":{"line":266,"column":11}},"108":{"start":{"line":264,"column":35},"end":{"line":264,"column":79}},"109":{"start":{"line":265,"column":12},"end":{"line":265,"column":46}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":62}},"111":{"start":{"line":270,"column":35},"end":{"line":272,"column":7}},"112":{"start":{"line":271,"column":36},"end":{"line":271,"column":88}},"113":{"start":{"line":273,"column":28},"end":{"line":275,"column":7}},"114":{"start":{"line":274,"column":36},"end":{"line":274,"column":98}},"115":{"start":{"line":276,"column":34},"end":{"line":278,"column":7}},"116":{"start":{"line":277,"column":36},"end":{"line":277,"column":110}},"117":{"start":{"line":280,"column":18},"end":{"line":290,"column":7}},"118":{"start":{"line":292,"column":29},"end":{"line":295,"column":18}},"119":{"start":{"line":294,"column":26},"end":{"line":294,"column":40}},"120":{"start":{"line":297,"column":46},"end":{"line":297,"column":111}},"121":{"start":{"line":299,"column":6},"end":{"line":301,"column":7}},"122":{"start":{"line":300,"column":8},"end":{"line":300,"column":52}},"123":{"start":{"line":303,"column":6},"end":{"line":303,"column":25}},"124":{"start":{"line":307,"column":2},"end":{"line":348,"column":3}},"125":{"start":{"line":308,"column":4},"end":{"line":347,"column":6}},"126":{"start":{"line":311,"column":27},"end":{"line":311,"column":113}},"127":{"start":{"line":311,"column":59},"end":{"line":311,"column":112}},"128":{"start":{"line":313,"column":31},"end":{"line":313,"column":66}},"129":{"start":{"line":314,"column":34},"end":{"line":314,"column":61}},"130":{"start":{"line":316,"column":49},"end":{"line":327,"column":12}},"131":{"start":{"line":317,"column":54},"end":{"line":317,"column":79}},"132":{"start":{"line":319,"column":12},"end":{"line":319,"column":61}},"133":{"start":{"line":320,"column":12},"end":{"line":320,"column":75}},"134":{"start":{"line":321,"column":12},"end":{"line":321,"column":45}},"135":{"start":{"line":322,"column":12},"end":{"line":322,"column":45}},"136":{"start":{"line":323,"column":12},"end":{"line":323,"column":46}},"137":{"start":{"line":324,"column":12},"end":{"line":324,"column":53}},"138":{"start":{"line":326,"column":12},"end":{"line":326,"column":32}},"139":{"start":{"line":329,"column":10},"end":{"line":329,"column":36}},"140":{"start":{"line":329,"column":24},"end":{"line":329,"column":36}},"141":{"start":{"line":331,"column":33},"end":{"line":334,"column":22}},"142":{"start":{"line":333,"column":30},"end":{"line":333,"column":44}},"143":{"start":{"line":336,"column":50},"end":{"line":340,"column":11}},"144":{"start":{"line":341,"column":10},"end":{"line":343,"column":11}},"145":{"start":{"line":342,"column":12},"end":{"line":342,"column":56}},"146":{"start":{"line":345,"column":10},"end":{"line":345,"column":29}},"147":{"start":{"line":350,"column":23},"end":{"line":363,"column":3}},"148":{"start":{"line":367,"column":24},"end":{"line":372,"column":7}},"149":{"start":{"line":368,"column":3},"end":{"line":370,"column":4}},"150":{"start":{"line":369,"column":5},"end":{"line":369,"column":22}},"151":{"start":{"line":371,"column":3},"end":{"line":371,"column":14}},"152":{"start":{"line":374,"column":1},"end":{"line":374,"column":35}}},"fnMap":{"0":{"name":"pullStyles","decl":{"start":{"line":22,"column":30},"end":{"line":22,"column":40}},"loc":{"start":{"line":22,"column":86},"end":{"line":375,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":16},"end":{"line":41,"column":17}},"loc":{"start":{"line":41,"column":27},"end":{"line":41,"column":52}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":13},"end":{"line":42,"column":14}},"loc":{"start":{"line":42,"column":24},"end":{"line":74,"column":9}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":17},"end":{"line":64,"column":18}},"loc":{"start":{"line":64,"column":30},"end":{"line":64,"column":44}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":91,"column":28},"end":{"line":91,"column":29}},"loc":{"start":{"line":91,"column":39},"end":{"line":100,"column":5}},"line":91},"5":{"name":"(anonymous_5)","decl":{"start":{"line":102,"column":36},"end":{"line":102,"column":37}},"loc":{"start":{"line":102,"column":52},"end":{"line":111,"column":5}},"line":102},"6":{"name":"(anonymous_6)","decl":{"start":{"line":110,"column":6},"end":{"line":110,"column":7}},"loc":{"start":{"line":110,"column":17},"end":{"line":110,"column":33}},"line":110},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":6},"end":{"line":114,"column":7}},"loc":{"start":{"line":114,"column":19},"end":{"line":114,"column":89}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":114,"column":31},"end":{"line":114,"column":32}},"loc":{"start":{"line":114,"column":38},"end":{"line":114,"column":82}},"line":114},"9":{"name":"(anonymous_9)","decl":{"start":{"line":117,"column":38},"end":{"line":117,"column":39}},"loc":{"start":{"line":117,"column":54},"end":{"line":126,"column":5}},"line":117},"10":{"name":"(anonymous_10)","decl":{"start":{"line":125,"column":6},"end":{"line":125,"column":7}},"loc":{"start":{"line":125,"column":17},"end":{"line":125,"column":59}},"line":125},"11":{"name":"(anonymous_11)","decl":{"start":{"line":128,"column":45},"end":{"line":128,"column":46}},"loc":{"start":{"line":128,"column":60},"end":{"line":150,"column":5}},"line":128},"12":{"name":"(anonymous_12)","decl":{"start":{"line":129,"column":49},"end":{"line":129,"column":50}},"loc":{"start":{"line":129,"column":60},"end":{"line":130,"column":39}},"line":129},"13":{"name":"(anonymous_13)","decl":{"start":{"line":148,"column":8},"end":{"line":148,"column":9}},"loc":{"start":{"line":148,"column":14},"end":{"line":148,"column":24}},"line":148},"14":{"name":"(anonymous_14)","decl":{"start":{"line":152,"column":58},"end":{"line":152,"column":59}},"loc":{"start":{"line":152,"column":68},"end":{"line":152,"column":79}},"line":152},"15":{"name":"(anonymous_15)","decl":{"start":{"line":152,"column":87},"end":{"line":152,"column":88}},"loc":{"start":{"line":152,"column":108},"end":{"line":173,"column":5}},"line":152},"16":{"name":"(anonymous_16)","decl":{"start":{"line":153,"column":49},"end":{"line":153,"column":50}},"loc":{"start":{"line":153,"column":60},"end":{"line":153,"column":96}},"line":153},"17":{"name":"(anonymous_17)","decl":{"start":{"line":171,"column":8},"end":{"line":171,"column":9}},"loc":{"start":{"line":171,"column":14},"end":{"line":171,"column":24}},"line":171},"18":{"name":"(anonymous_18)","decl":{"start":{"line":175,"column":43},"end":{"line":175,"column":44}},"loc":{"start":{"line":175,"column":59},"end":{"line":184,"column":5}},"line":175},"19":{"name":"(anonymous_19)","decl":{"start":{"line":183,"column":6},"end":{"line":183,"column":7}},"loc":{"start":{"line":183,"column":17},"end":{"line":183,"column":33}},"line":183},"20":{"name":"(anonymous_20)","decl":{"start":{"line":187,"column":12},"end":{"line":187,"column":13}},"loc":{"start":{"line":187,"column":22},"end":{"line":187,"column":27}},"line":187},"21":{"name":"(anonymous_21)","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":12}},"loc":{"start":{"line":188,"column":27},"end":{"line":192,"column":7}},"line":188},"22":{"name":"(anonymous_22)","decl":{"start":{"line":194,"column":40},"end":{"line":194,"column":41}},"loc":{"start":{"line":194,"column":56},"end":{"line":203,"column":5}},"line":194},"23":{"name":"(anonymous_23)","decl":{"start":{"line":202,"column":6},"end":{"line":202,"column":7}},"loc":{"start":{"line":202,"column":17},"end":{"line":202,"column":62}},"line":202},"24":{"name":"(anonymous_24)","decl":{"start":{"line":205,"column":31},"end":{"line":205,"column":32}},"loc":{"start":{"line":205,"column":43},"end":{"line":209,"column":5}},"line":205},"25":{"name":"(anonymous_25)","decl":{"start":{"line":211,"column":43},"end":{"line":211,"column":44}},"loc":{"start":{"line":211,"column":55},"end":{"line":215,"column":5}},"line":211},"26":{"name":"(anonymous_26)","decl":{"start":{"line":217,"column":37},"end":{"line":217,"column":38}},"loc":{"start":{"line":217,"column":48},"end":{"line":304,"column":5}},"line":217},"27":{"name":"(anonymous_27)","decl":{"start":{"line":223,"column":10},"end":{"line":223,"column":11}},"loc":{"start":{"line":223,"column":18},"end":{"line":223,"column":52}},"line":223},"28":{"name":"(anonymous_28)","decl":{"start":{"line":232,"column":10},"end":{"line":232,"column":11}},"loc":{"start":{"line":232,"column":18},"end":{"line":232,"column":104}},"line":232},"29":{"name":"(anonymous_29)","decl":{"start":{"line":241,"column":10},"end":{"line":241,"column":11}},"loc":{"start":{"line":241,"column":18},"end":{"line":241,"column":84}},"line":241},"30":{"name":"(anonymous_30)","decl":{"start":{"line":249,"column":10},"end":{"line":249,"column":11}},"loc":{"start":{"line":249,"column":18},"end":{"line":249,"column":56}},"line":249},"31":{"name":"(anonymous_31)","decl":{"start":{"line":257,"column":10},"end":{"line":257,"column":11}},"loc":{"start":{"line":257,"column":18},"end":{"line":257,"column":90}},"line":257},"32":{"name":"(anonymous_32)","decl":{"start":{"line":260,"column":58},"end":{"line":260,"column":59}},"loc":{"start":{"line":260,"column":86},"end":{"line":269,"column":7}},"line":260},"33":{"name":"(anonymous_33)","decl":{"start":{"line":262,"column":58},"end":{"line":262,"column":59}},"loc":{"start":{"line":262,"column":65},"end":{"line":262,"column":116}},"line":262},"34":{"name":"(anonymous_34)","decl":{"start":{"line":271,"column":8},"end":{"line":271,"column":9}},"loc":{"start":{"line":271,"column":36},"end":{"line":271,"column":88}},"line":271},"35":{"name":"(anonymous_35)","decl":{"start":{"line":274,"column":8},"end":{"line":274,"column":9}},"loc":{"start":{"line":274,"column":36},"end":{"line":274,"column":98}},"line":274},"36":{"name":"(anonymous_36)","decl":{"start":{"line":277,"column":8},"end":{"line":277,"column":9}},"loc":{"start":{"line":277,"column":36},"end":{"line":277,"column":110}},"line":277},"37":{"name":"(anonymous_37)","decl":{"start":{"line":294,"column":13},"end":{"line":294,"column":14}},"loc":{"start":{"line":294,"column":26},"end":{"line":294,"column":40}},"line":294},"38":{"name":"(anonymous_38)","decl":{"start":{"line":311,"column":16},"end":{"line":311,"column":17}},"loc":{"start":{"line":311,"column":27},"end":{"line":311,"column":113}},"line":311},"39":{"name":"(anonymous_39)","decl":{"start":{"line":311,"column":47},"end":{"line":311,"column":48}},"loc":{"start":{"line":311,"column":59},"end":{"line":311,"column":112}},"line":311},"40":{"name":"(anonymous_40)","decl":{"start":{"line":312,"column":13},"end":{"line":312,"column":14}},"loc":{"start":{"line":312,"column":24},"end":{"line":346,"column":9}},"line":312},"41":{"name":"(anonymous_41)","decl":{"start":{"line":316,"column":69},"end":{"line":316,"column":70}},"loc":{"start":{"line":316,"column":81},"end":{"line":327,"column":11}},"line":316},"42":{"name":"(anonymous_42)","decl":{"start":{"line":333,"column":17},"end":{"line":333,"column":18}},"loc":{"start":{"line":333,"column":30},"end":{"line":333,"column":44}},"line":333},"43":{"name":"(anonymous_43)","decl":{"start":{"line":367,"column":74},"end":{"line":367,"column":75}},"loc":{"start":{"line":367,"column":97},"end":{"line":372,"column":2}},"line":367}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":2},"end":{"line":76,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":76,"column":3}},{"start":{},"end":{}}],"line":37},"1":{"loc":{"start":{"line":45,"column":10},"end":{"line":47,"column":11}},"type":"if","locations":[{"start":{"line":45,"column":10},"end":{"line":47,"column":11}},{"start":{},"end":{}}],"line":45},"2":{"loc":{"start":{"line":48,"column":10},"end":{"line":61,"column":11}},"type":"if","locations":[{"start":{"line":48,"column":10},"end":{"line":61,"column":11}},{"start":{"line":57,"column":17},"end":{"line":61,"column":11}}],"line":48},"3":{"loc":{"start":{"line":57,"column":17},"end":{"line":61,"column":11}},"type":"if","locations":[{"start":{"line":57,"column":17},"end":{"line":61,"column":11}},{"start":{"line":59,"column":17},"end":{"line":61,"column":11}}],"line":57},"4":{"loc":{"start":{"line":67,"column":17},"end":{"line":73,"column":18}},"type":"cond-expr","locations":[{"start":{"line":68,"column":14},"end":{"line":72,"column":13}},{"start":{"line":73,"column":14},"end":{"line":73,"column":18}}],"line":67},"5":{"loc":{"start":{"line":78,"column":2},"end":{"line":305,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":305,"column":3}},{"start":{},"end":{}}],"line":78},"6":{"loc":{"start":{"line":92,"column":6},"end":{"line":92,"column":84}},"type":"if","locations":[{"start":{"line":92,"column":6},"end":{"line":92,"column":84}},{"start":{},"end":{}}],"line":92},"7":{"loc":{"start":{"line":95,"column":6},"end":{"line":95,"column":114}},"type":"if","locations":[{"start":{"line":95,"column":6},"end":{"line":95,"column":114}},{"start":{},"end":{}}],"line":95},"8":{"loc":{"start":{"line":96,"column":6},"end":{"line":96,"column":110}},"type":"if","locations":[{"start":{"line":96,"column":6},"end":{"line":96,"column":110}},{"start":{},"end":{}}],"line":96},"9":{"loc":{"start":{"line":98,"column":6},"end":{"line":98,"column":82}},"type":"if","locations":[{"start":{"line":98,"column":6},"end":{"line":98,"column":82}},{"start":{},"end":{}}],"line":98},"10":{"loc":{"start":{"line":99,"column":6},"end":{"line":99,"column":106}},"type":"if","locations":[{"start":{"line":99,"column":6},"end":{"line":99,"column":106}},{"start":{},"end":{}}],"line":99},"11":{"loc":{"start":{"line":114,"column":38},"end":{"line":114,"column":82}},"type":"binary-expr","locations":[{"start":{"line":114,"column":38},"end":{"line":114,"column":59}},{"start":{"line":114,"column":63},"end":{"line":114,"column":82}}],"line":114},"12":{"loc":{"start":{"line":129,"column":60},"end":{"line":130,"column":39}},"type":"binary-expr","locations":[{"start":{"line":129,"column":60},"end":{"line":129,"column":97}},{"start":{"line":130,"column":4},"end":{"line":130,"column":39}}],"line":129},"13":{"loc":{"start":{"line":132,"column":6},"end":{"line":138,"column":7}},"type":"if","locations":[{"start":{"line":132,"column":6},"end":{"line":138,"column":7}},{"start":{},"end":{}}],"line":132},"14":{"loc":{"start":{"line":155,"column":6},"end":{"line":161,"column":7}},"type":"if","locations":[{"start":{"line":155,"column":6},"end":{"line":161,"column":7}},{"start":{},"end":{}}],"line":155},"15":{"loc":{"start":{"line":232,"column":18},"end":{"line":232,"column":104}},"type":"binary-expr","locations":[{"start":{"line":232,"column":18},"end":{"line":232,"column":66}},{"start":{"line":232,"column":70},"end":{"line":232,"column":104}}],"line":232},"16":{"loc":{"start":{"line":261,"column":8},"end":{"line":267,"column":9}},"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":267,"column":9}},{"start":{},"end":{}}],"line":261},"17":{"loc":{"start":{"line":263,"column":10},"end":{"line":266,"column":11}},"type":"if","locations":[{"start":{"line":263,"column":10},"end":{"line":266,"column":11}},{"start":{},"end":{}}],"line":263},"18":{"loc":{"start":{"line":299,"column":6},"end":{"line":301,"column":7}},"type":"if","locations":[{"start":{"line":299,"column":6},"end":{"line":301,"column":7}},{"start":{},"end":{}}],"line":299},"19":{"loc":{"start":{"line":307,"column":2},"end":{"line":348,"column":3}},"type":"if","locations":[{"start":{"line":307,"column":2},"end":{"line":348,"column":3}},{"start":{},"end":{}}],"line":307},"20":{"loc":{"start":{"line":324,"column":34},"end":{"line":324,"column":52}},"type":"binary-expr","locations":[{"start":{"line":324,"column":34},"end":{"line":324,"column":47}},{"start":{"line":324,"column":51},"end":{"line":324,"column":52}}],"line":324},"21":{"loc":{"start":{"line":329,"column":10},"end":{"line":329,"column":36}},"type":"if","locations":[{"start":{"line":329,"column":10},"end":{"line":329,"column":36}},{"start":{},"end":{}}],"line":329},"22":{"loc":{"start":{"line":337,"column":19},"end":{"line":337,"column":60}},"type":"cond-expr","locations":[{"start":{"line":337,"column":40},"end":{"line":337,"column":47}},{"start":{"line":337,"column":50},"end":{"line":337,"column":60}}],"line":337},"23":{"loc":{"start":{"line":341,"column":10},"end":{"line":343,"column":11}},"type":"if","locations":[{"start":{"line":341,"column":10},"end":{"line":343,"column":11}},{"start":{},"end":{}}],"line":341},"24":{"loc":{"start":{"line":368,"column":3},"end":{"line":370,"column":4}},"type":"if","locations":[{"start":{"line":368,"column":3},"end":{"line":370,"column":4}},{"start":{},"end":{}}],"line":368}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts","statementMap":{"0":{"start":{"line":12,"column":42},"end":{"line":12,"column":44}},"1":{"start":{"line":13,"column":44},"end":{"line":13,"column":46}},"2":{"start":{"line":14,"column":43},"end":{"line":14,"column":45}},"3":{"start":{"line":15,"column":43},"end":{"line":15,"column":45}},"4":{"start":{"line":16,"column":46},"end":{"line":16,"column":48}},"5":{"start":{"line":18,"column":16},"end":{"line":18,"column":18}},"6":{"start":{"line":19,"column":2},"end":{"line":29,"column":3}},"7":{"start":{"line":20,"column":23},"end":{"line":20,"column":71}},"8":{"start":{"line":21,"column":21},"end":{"line":21,"column":49}},"9":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"10":{"start":{"line":23,"column":32},"end":{"line":25,"column":43}},"11":{"start":{"line":27,"column":6},"end":{"line":27,"column":75}},"12":{"start":{"line":31,"column":25},"end":{"line":31,"column":59}},"13":{"start":{"line":33,"column":22},"end":{"line":37,"column":6}},"14":{"start":{"line":40,"column":27},"end":{"line":44,"column":6}},"15":{"start":{"line":46,"column":2},"end":{"line":212,"column":3}},"16":{"start":{"line":47,"column":21},"end":{"line":47,"column":72}},"17":{"start":{"line":48,"column":4},"end":{"line":58,"column":5}},"18":{"start":{"line":49,"column":29},"end":{"line":49,"column":112}},"19":{"start":{"line":50,"column":6},"end":{"line":57,"column":7}},"20":{"start":{"line":51,"column":8},"end":{"line":55,"column":10}},"21":{"start":{"line":54,"column":53},"end":{"line":54,"column":93}},"22":{"start":{"line":56,"column":8},"end":{"line":56,"column":72}},"23":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"24":{"start":{"line":62,"column":33},"end":{"line":62,"column":75}},"25":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"26":{"start":{"line":64,"column":8},"end":{"line":64,"column":17}},"27":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"28":{"start":{"line":69,"column":6},"end":{"line":69,"column":51}},"29":{"start":{"line":72,"column":25},"end":{"line":72,"column":61}},"30":{"start":{"line":73,"column":4},"end":{"line":211,"column":5}},"31":{"start":{"line":74,"column":6},"end":{"line":208,"column":7}},"32":{"start":{"line":76,"column":10},"end":{"line":104,"column":13}},"33":{"start":{"line":78,"column":12},"end":{"line":83,"column":13}},"34":{"start":{"line":79,"column":41},"end":{"line":79,"column":83}},"35":{"start":{"line":80,"column":14},"end":{"line":82,"column":15}},"36":{"start":{"line":81,"column":16},"end":{"line":81,"column":23}},"37":{"start":{"line":87,"column":12},"end":{"line":92,"column":13}},"38":{"start":{"line":88,"column":28},"end":{"line":88,"column":69}},"39":{"start":{"line":89,"column":14},"end":{"line":89,"column":66}},"40":{"start":{"line":91,"column":14},"end":{"line":91,"column":56}},"41":{"start":{"line":94,"column":29},"end":{"line":94,"column":83}},"42":{"start":{"line":94,"column":59},"end":{"line":94,"column":76}},"43":{"start":{"line":95,"column":12},"end":{"line":103,"column":13}},"44":{"start":{"line":96,"column":14},"end":{"line":102,"column":17}},"45":{"start":{"line":105,"column":10},"end":{"line":105,"column":16}},"46":{"start":{"line":107,"column":10},"end":{"line":132,"column":13}},"47":{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},"48":{"start":{"line":110,"column":41},"end":{"line":110,"column":83}},"49":{"start":{"line":111,"column":14},"end":{"line":113,"column":15}},"50":{"start":{"line":112,"column":16},"end":{"line":112,"column":23}},"51":{"start":{"line":116,"column":29},"end":{"line":116,"column":83}},"52":{"start":{"line":116,"column":59},"end":{"line":116,"column":76}},"53":{"start":{"line":118,"column":12},"end":{"line":123,"column":13}},"54":{"start":{"line":119,"column":28},"end":{"line":119,"column":69}},"55":{"start":{"line":120,"column":14},"end":{"line":120,"column":66}},"56":{"start":{"line":122,"column":14},"end":{"line":122,"column":49}},"57":{"start":{"line":125,"column":12},"end":{"line":131,"column":15}},"58":{"start":{"line":133,"column":10},"end":{"line":133,"column":16}},"59":{"start":{"line":135,"column":10},"end":{"line":160,"column":13}},"60":{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},"61":{"start":{"line":138,"column":41},"end":{"line":138,"column":83}},"62":{"start":{"line":139,"column":14},"end":{"line":141,"column":15}},"63":{"start":{"line":140,"column":16},"end":{"line":140,"column":23}},"64":{"start":{"line":144,"column":29},"end":{"line":144,"column":83}},"65":{"start":{"line":144,"column":59},"end":{"line":144,"column":76}},"66":{"start":{"line":146,"column":12},"end":{"line":151,"column":13}},"67":{"start":{"line":147,"column":28},"end":{"line":147,"column":69}},"68":{"start":{"line":148,"column":14},"end":{"line":148,"column":66}},"69":{"start":{"line":150,"column":14},"end":{"line":150,"column":33}},"70":{"start":{"line":153,"column":12},"end":{"line":159,"column":15}},"71":{"start":{"line":161,"column":10},"end":{"line":161,"column":16}},"72":{"start":{"line":163,"column":10},"end":{"line":204,"column":13}},"73":{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},"74":{"start":{"line":166,"column":41},"end":{"line":166,"column":83}},"75":{"start":{"line":167,"column":14},"end":{"line":169,"column":15}},"76":{"start":{"line":168,"column":16},"end":{"line":168,"column":23}},"77":{"start":{"line":172,"column":46},"end":{"line":172,"column":61}},"78":{"start":{"line":173,"column":12},"end":{"line":184,"column":13}},"79":{"start":{"line":174,"column":28},"end":{"line":174,"column":69}},"80":{"start":{"line":175,"column":14},"end":{"line":175,"column":66}},"81":{"start":{"line":176,"column":19},"end":{"line":184,"column":13}},"82":{"start":{"line":177,"column":14},"end":{"line":183,"column":15}},"83":{"start":{"line":178,"column":16},"end":{"line":178,"column":107}},"84":{"start":{"line":179,"column":21},"end":{"line":183,"column":15}},"85":{"start":{"line":180,"column":16},"end":{"line":180,"column":66}},"86":{"start":{"line":182,"column":16},"end":{"line":182,"column":59}},"87":{"start":{"line":185,"column":29},"end":{"line":185,"column":83}},"88":{"start":{"line":185,"column":59},"end":{"line":185,"column":76}},"89":{"start":{"line":187,"column":12},"end":{"line":203,"column":13}},"90":{"start":{"line":188,"column":14},"end":{"line":194,"column":17}},"91":{"start":{"line":196,"column":14},"end":{"line":202,"column":17}},"92":{"start":{"line":205,"column":10},"end":{"line":205,"column":16}},"93":{"start":{"line":207,"column":10},"end":{"line":207,"column":16}},"94":{"start":{"line":210,"column":6},"end":{"line":210,"column":77}},"95":{"start":{"line":214,"column":23},"end":{"line":220,"column":3}},"96":{"start":{"line":224,"column":43},"end":{"line":224,"column":45}},"97":{"start":{"line":226,"column":2},"end":{"line":266,"column":3}},"98":{"start":{"line":227,"column":4},"end":{"line":265,"column":8}},"99":{"start":{"line":229,"column":6},"end":{"line":234,"column":7}},"100":{"start":{"line":230,"column":35},"end":{"line":230,"column":77}},"101":{"start":{"line":231,"column":8},"end":{"line":233,"column":9}},"102":{"start":{"line":232,"column":10},"end":{"line":232,"column":17}},"103":{"start":{"line":236,"column":6},"end":{"line":264,"column":10}},"104":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"105":{"start":{"line":239,"column":37},"end":{"line":239,"column":79}},"106":{"start":{"line":240,"column":10},"end":{"line":242,"column":11}},"107":{"start":{"line":241,"column":12},"end":{"line":241,"column":19}},"108":{"start":{"line":245,"column":36},"end":{"line":245,"column":106}},"109":{"start":{"line":245,"column":65},"end":{"line":245,"column":105}},"110":{"start":{"line":247,"column":35},"end":{"line":250,"column":15}},"111":{"start":{"line":247,"column":82},"end":{"line":250,"column":9}},"112":{"start":{"line":252,"column":8},"end":{"line":263,"column":11}},"113":{"start":{"line":268,"column":2},"end":{"line":279,"column":3}},"114":{"start":{"line":269,"column":28},"end":{"line":274,"column":10}},"115":{"start":{"line":270,"column":6},"end":{"line":272,"column":7}},"116":{"start":{"line":271,"column":8},"end":{"line":271,"column":25}},"117":{"start":{"line":273,"column":6},"end":{"line":273,"column":17}},"118":{"start":{"line":275,"column":4},"end":{"line":275,"column":58}},"119":{"start":{"line":277,"column":4},"end":{"line":277,"column":54}},"120":{"start":{"line":278,"column":4},"end":{"line":278,"column":29}}},"fnMap":{"0":{"name":"pullVariables","decl":{"start":{"line":10,"column":30},"end":{"line":10,"column":43}},"loc":{"start":{"line":10,"column":134},"end":{"line":280,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":42},"end":{"line":54,"column":43}},"loc":{"start":{"line":54,"column":53},"end":{"line":54,"column":93}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":76,"column":56},"end":{"line":76,"column":57}},"loc":{"start":{"line":76,"column":75},"end":{"line":104,"column":11}},"line":76},"3":{"name":"(anonymous_3)","decl":{"start":{"line":94,"column":52},"end":{"line":94,"column":53}},"loc":{"start":{"line":94,"column":59},"end":{"line":94,"column":76}},"line":94},"4":{"name":"(anonymous_4)","decl":{"start":{"line":107,"column":56},"end":{"line":107,"column":57}},"loc":{"start":{"line":107,"column":75},"end":{"line":132,"column":11}},"line":107},"5":{"name":"(anonymous_5)","decl":{"start":{"line":116,"column":52},"end":{"line":116,"column":53}},"loc":{"start":{"line":116,"column":59},"end":{"line":116,"column":76}},"line":116},"6":{"name":"(anonymous_6)","decl":{"start":{"line":135,"column":56},"end":{"line":135,"column":57}},"loc":{"start":{"line":135,"column":75},"end":{"line":160,"column":11}},"line":135},"7":{"name":"(anonymous_7)","decl":{"start":{"line":144,"column":52},"end":{"line":144,"column":53}},"loc":{"start":{"line":144,"column":59},"end":{"line":144,"column":76}},"line":144},"8":{"name":"(anonymous_8)","decl":{"start":{"line":163,"column":56},"end":{"line":163,"column":57}},"loc":{"start":{"line":163,"column":75},"end":{"line":204,"column":11}},"line":163},"9":{"name":"(anonymous_9)","decl":{"start":{"line":185,"column":52},"end":{"line":185,"column":53}},"loc":{"start":{"line":185,"column":59},"end":{"line":185,"column":76}},"line":185},"10":{"name":"(anonymous_10)","decl":{"start":{"line":227,"column":59},"end":{"line":227,"column":60}},"loc":{"start":{"line":227,"column":81},"end":{"line":265,"column":5}},"line":227},"11":{"name":"(anonymous_11)","decl":{"start":{"line":236,"column":45},"end":{"line":236,"column":46}},"loc":{"start":{"line":236,"column":61},"end":{"line":264,"column":7}},"line":236},"12":{"name":"(anonymous_12)","decl":{"start":{"line":245,"column":58},"end":{"line":245,"column":59}},"loc":{"start":{"line":245,"column":65},"end":{"line":245,"column":105}},"line":245},"13":{"name":"(anonymous_13)","decl":{"start":{"line":247,"column":62},"end":{"line":247,"column":63}},"loc":{"start":{"line":247,"column":82},"end":{"line":250,"column":9}},"line":247},"14":{"name":"(anonymous_14)","decl":{"start":{"line":269,"column":78},"end":{"line":269,"column":79}},"loc":{"start":{"line":269,"column":101},"end":{"line":274,"column":5}},"line":269}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":23,"column":32},"end":{"line":25,"column":43}},"type":"cond-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":24,"column":31}},{"start":{"line":25,"column":10},"end":{"line":25,"column":43}}],"line":23},"3":{"loc":{"start":{"line":27,"column":16},"end":{"line":27,"column":74}},"type":"cond-expr","locations":[{"start":{"line":27,"column":44},"end":{"line":27,"column":69}},{"start":{"line":27,"column":72},"end":{"line":27,"column":74}}],"line":27},"4":{"loc":{"start":{"line":48,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":48},"5":{"loc":{"start":{"line":50,"column":6},"end":{"line":57,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":57,"column":7}},{"start":{},"end":{}}],"line":50},"6":{"loc":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":61},"7":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":49}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":35}},{"start":{"line":61,"column":39},"end":{"line":61,"column":49}}],"line":61},"8":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":68},"10":{"loc":{"start":{"line":74,"column":6},"end":{"line":208,"column":7}},"type":"switch","locations":[{"start":{"line":75,"column":8},"end":{"line":105,"column":16}},{"start":{"line":106,"column":8},"end":{"line":133,"column":16}},{"start":{"line":134,"column":8},"end":{"line":161,"column":16}},{"start":{"line":162,"column":8},"end":{"line":205,"column":16}},{"start":{"line":206,"column":8},"end":{"line":207,"column":16}}],"line":74},"11":{"loc":{"start":{"line":78,"column":12},"end":{"line":83,"column":13}},"type":"if","locations":[{"start":{"line":78,"column":12},"end":{"line":83,"column":13}},{"start":{},"end":{}}],"line":78},"12":{"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":57}},"type":"binary-expr","locations":[{"start":{"line":78,"column":16},"end":{"line":78,"column":43}},{"start":{"line":78,"column":47},"end":{"line":78,"column":57}}],"line":78},"13":{"loc":{"start":{"line":80,"column":14},"end":{"line":82,"column":15}},"type":"if","locations":[{"start":{"line":80,"column":14},"end":{"line":82,"column":15}},{"start":{},"end":{}}],"line":80},"14":{"loc":{"start":{"line":80,"column":18},"end":{"line":80,"column":88}},"type":"binary-expr","locations":[{"start":{"line":80,"column":18},"end":{"line":80,"column":36}},{"start":{"line":80,"column":40},"end":{"line":80,"column":88}}],"line":80},"15":{"loc":{"start":{"line":87,"column":12},"end":{"line":92,"column":13}},"type":"if","locations":[{"start":{"line":87,"column":12},"end":{"line":92,"column":13}},{"start":{"line":90,"column":19},"end":{"line":92,"column":13}}],"line":87},"16":{"loc":{"start":{"line":87,"column":16},"end":{"line":87,"column":95}},"type":"binary-expr","locations":[{"start":{"line":87,"column":16},"end":{"line":87,"column":41}},{"start":{"line":87,"column":45},"end":{"line":87,"column":60}},{"start":{"line":87,"column":64},"end":{"line":87,"column":95}}],"line":87},"17":{"loc":{"start":{"line":95,"column":12},"end":{"line":103,"column":13}},"type":"if","locations":[{"start":{"line":95,"column":12},"end":{"line":103,"column":13}},{"start":{},"end":{}}],"line":95},"18":{"loc":{"start":{"line":101,"column":20},"end":{"line":101,"column":85}},"type":"cond-expr","locations":[{"start":{"line":101,"column":43},"end":{"line":101,"column":80}},{"start":{"line":101,"column":83},"end":{"line":101,"column":85}}],"line":101},"19":{"loc":{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},"type":"if","locations":[{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},{"start":{},"end":{}}],"line":109},"20":{"loc":{"start":{"line":109,"column":16},"end":{"line":109,"column":57}},"type":"binary-expr","locations":[{"start":{"line":109,"column":16},"end":{"line":109,"column":43}},{"start":{"line":109,"column":47},"end":{"line":109,"column":57}}],"line":109},"21":{"loc":{"start":{"line":111,"column":14},"end":{"line":113,"column":15}},"type":"if","locations":[{"start":{"line":111,"column":14},"end":{"line":113,"column":15}},{"start":{},"end":{}}],"line":111},"22":{"loc":{"start":{"line":111,"column":18},"end":{"line":111,"column":88}},"type":"binary-expr","locations":[{"start":{"line":111,"column":18},"end":{"line":111,"column":36}},{"start":{"line":111,"column":40},"end":{"line":111,"column":88}}],"line":111},"23":{"loc":{"start":{"line":118,"column":12},"end":{"line":123,"column":13}},"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":123,"column":13}},{"start":{"line":121,"column":19},"end":{"line":123,"column":13}}],"line":118},"24":{"loc":{"start":{"line":118,"column":16},"end":{"line":118,"column":95}},"type":"binary-expr","locations":[{"start":{"line":118,"column":16},"end":{"line":118,"column":41}},{"start":{"line":118,"column":45},"end":{"line":118,"column":60}},{"start":{"line":118,"column":64},"end":{"line":118,"column":95}}],"line":118},"25":{"loc":{"start":{"line":130,"column":18},"end":{"line":130,"column":83}},"type":"cond-expr","locations":[{"start":{"line":130,"column":41},"end":{"line":130,"column":78}},{"start":{"line":130,"column":81},"end":{"line":130,"column":83}}],"line":130},"26":{"loc":{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},"type":"if","locations":[{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},{"start":{},"end":{}}],"line":137},"27":{"loc":{"start":{"line":137,"column":16},"end":{"line":137,"column":57}},"type":"binary-expr","locations":[{"start":{"line":137,"column":16},"end":{"line":137,"column":43}},{"start":{"line":137,"column":47},"end":{"line":137,"column":57}}],"line":137},"28":{"loc":{"start":{"line":139,"column":14},"end":{"line":141,"column":15}},"type":"if","locations":[{"start":{"line":139,"column":14},"end":{"line":141,"column":15}},{"start":{},"end":{}}],"line":139},"29":{"loc":{"start":{"line":139,"column":18},"end":{"line":139,"column":88}},"type":"binary-expr","locations":[{"start":{"line":139,"column":18},"end":{"line":139,"column":36}},{"start":{"line":139,"column":40},"end":{"line":139,"column":88}}],"line":139},"30":{"loc":{"start":{"line":146,"column":12},"end":{"line":151,"column":13}},"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":151,"column":13}},{"start":{"line":149,"column":19},"end":{"line":151,"column":13}}],"line":146},"31":{"loc":{"start":{"line":146,"column":16},"end":{"line":146,"column":95}},"type":"binary-expr","locations":[{"start":{"line":146,"column":16},"end":{"line":146,"column":41}},{"start":{"line":146,"column":45},"end":{"line":146,"column":60}},{"start":{"line":146,"column":64},"end":{"line":146,"column":95}}],"line":146},"32":{"loc":{"start":{"line":158,"column":18},"end":{"line":158,"column":83}},"type":"cond-expr","locations":[{"start":{"line":158,"column":41},"end":{"line":158,"column":78}},{"start":{"line":158,"column":81},"end":{"line":158,"column":83}}],"line":158},"33":{"loc":{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},"type":"if","locations":[{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},{"start":{},"end":{}}],"line":165},"34":{"loc":{"start":{"line":165,"column":16},"end":{"line":165,"column":57}},"type":"binary-expr","locations":[{"start":{"line":165,"column":16},"end":{"line":165,"column":43}},{"start":{"line":165,"column":47},"end":{"line":165,"column":57}}],"line":165},"35":{"loc":{"start":{"line":167,"column":14},"end":{"line":169,"column":15}},"type":"if","locations":[{"start":{"line":167,"column":14},"end":{"line":169,"column":15}},{"start":{},"end":{}}],"line":167},"36":{"loc":{"start":{"line":167,"column":18},"end":{"line":167,"column":88}},"type":"binary-expr","locations":[{"start":{"line":167,"column":18},"end":{"line":167,"column":36}},{"start":{"line":167,"column":40},"end":{"line":167,"column":88}}],"line":167},"37":{"loc":{"start":{"line":173,"column":12},"end":{"line":184,"column":13}},"type":"if","locations":[{"start":{"line":173,"column":12},"end":{"line":184,"column":13}},{"start":{"line":176,"column":19},"end":{"line":184,"column":13}}],"line":173},"38":{"loc":{"start":{"line":173,"column":16},"end":{"line":173,"column":95}},"type":"binary-expr","locations":[{"start":{"line":173,"column":16},"end":{"line":173,"column":41}},{"start":{"line":173,"column":45},"end":{"line":173,"column":60}},{"start":{"line":173,"column":64},"end":{"line":173,"column":95}}],"line":173},"39":{"loc":{"start":{"line":176,"column":19},"end":{"line":184,"column":13}},"type":"if","locations":[{"start":{"line":176,"column":19},"end":{"line":184,"column":13}},{"start":{},"end":{}}],"line":176},"40":{"loc":{"start":{"line":177,"column":14},"end":{"line":183,"column":15}},"type":"if","locations":[{"start":{"line":177,"column":14},"end":{"line":183,"column":15}},{"start":{"line":179,"column":21},"end":{"line":183,"column":15}}],"line":177},"41":{"loc":{"start":{"line":179,"column":21},"end":{"line":183,"column":15}},"type":"if","locations":[{"start":{"line":179,"column":21},"end":{"line":183,"column":15}},{"start":{"line":181,"column":21},"end":{"line":183,"column":15}}],"line":179},"42":{"loc":{"start":{"line":187,"column":12},"end":{"line":203,"column":13}},"type":"if","locations":[{"start":{"line":187,"column":12},"end":{"line":203,"column":13}},{"start":{"line":195,"column":19},"end":{"line":203,"column":13}}],"line":187},"43":{"loc":{"start":{"line":187,"column":16},"end":{"line":187,"column":55}},"type":"binary-expr","locations":[{"start":{"line":187,"column":16},"end":{"line":187,"column":37}},{"start":{"line":187,"column":41},"end":{"line":187,"column":55}}],"line":187},"44":{"loc":{"start":{"line":193,"column":20},"end":{"line":193,"column":85}},"type":"cond-expr","locations":[{"start":{"line":193,"column":43},"end":{"line":193,"column":80}},{"start":{"line":193,"column":83},"end":{"line":193,"column":85}}],"line":193},"45":{"loc":{"start":{"line":201,"column":20},"end":{"line":201,"column":85}},"type":"cond-expr","locations":[{"start":{"line":201,"column":43},"end":{"line":201,"column":80}},{"start":{"line":201,"column":83},"end":{"line":201,"column":85}}],"line":201},"46":{"loc":{"start":{"line":226,"column":2},"end":{"line":266,"column":3}},"type":"if","locations":[{"start":{"line":226,"column":2},"end":{"line":266,"column":3}},{"start":{},"end":{}}],"line":226},"47":{"loc":{"start":{"line":229,"column":6},"end":{"line":234,"column":7}},"type":"if","locations":[{"start":{"line":229,"column":6},"end":{"line":234,"column":7}},{"start":{},"end":{}}],"line":229},"48":{"loc":{"start":{"line":231,"column":8},"end":{"line":233,"column":9}},"type":"if","locations":[{"start":{"line":231,"column":8},"end":{"line":233,"column":9}},{"start":{},"end":{}}],"line":231},"49":{"loc":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},{"start":{},"end":{}}],"line":238},"50":{"loc":{"start":{"line":240,"column":10},"end":{"line":242,"column":11}},"type":"if","locations":[{"start":{"line":240,"column":10},"end":{"line":242,"column":11}},{"start":{},"end":{}}],"line":240},"51":{"loc":{"start":{"line":240,"column":14},"end":{"line":240,"column":91}},"type":"binary-expr","locations":[{"start":{"line":240,"column":14},"end":{"line":240,"column":32}},{"start":{"line":240,"column":36},"end":{"line":240,"column":91}}],"line":240},"52":{"loc":{"start":{"line":270,"column":6},"end":{"line":272,"column":7}},"type":"if","locations":[{"start":{"line":270,"column":6},"end":{"line":272,"column":7}},{"start":{},"end":{}}],"line":270}},"s":{"0":7,"1":7,"2":7,"3":7,"4":7,"5":7,"6":7,"7":2,"8":2,"9":2,"10":2,"11":2,"12":7,"13":7,"14":7,"15":7,"16":42,"17":42,"18":7,"19":7,"20":7,"21":28,"22":7,"23":42,"24":12,"25":12,"26":6,"27":36,"28":36,"29":36,"30":36,"31":36,"32":6,"33":24,"34":4,"35":4,"36":2,"37":22,"38":0,"39":0,"40":22,"41":22,"42":53,"43":22,"44":22,"45":6,"46":6,"47":24,"48":4,"49":4,"50":2,"51":22,"52":53,"53":22,"54":0,"55":0,"56":22,"57":22,"58":6,"59":6,"60":24,"61":4,"62":4,"63":2,"64":22,"65":53,"66":22,"67":0,"68":0,"69":22,"70":22,"71":6,"72":18,"73":72,"74":12,"75":12,"76":6,"77":66,"78":66,"79":0,"80":0,"81":66,"82":66,"83":24,"84":42,"85":12,"86":30,"87":66,"88":159,"89":66,"90":36,"91":30,"92":18,"93":0,"94":0,"95":7,"96":7,"97":7,"98":1,"99":1,"100":0,"101":0,"102":0,"103":1,"104":4,"105":0,"106":0,"107":0,"108":4,"109":24,"110":4,"111":0,"112":4,"113":7,"114":7,"115":35,"116":24,"117":35,"118":7,"119":0,"120":0},"f":{"0":7,"1":28,"2":24,"3":53,"4":24,"5":53,"6":24,"7":53,"8":72,"9":159,"10":1,"11":4,"12":24,"13":0,"14":35},"b":{"0":[2,5],"1":[2,0],"2":[2,0],"3":[2,0],"4":[7,35],"5":[7,0],"6":[12,30],"7":[42,12],"8":[6,6],"9":[36,0],"10":[6,6,6,18,0],"11":[4,20],"12":[24,4],"13":[2,2],"14":[4,4],"15":[0,22],"16":[22,22,0],"17":[22,0],"18":[0,22],"19":[4,20],"20":[24,4],"21":[2,2],"22":[4,4],"23":[0,22],"24":[22,0,0],"25":[0,22],"26":[4,20],"27":[24,4],"28":[2,2],"29":[4,4],"30":[0,22],"31":[22,0,0],"32":[0,22],"33":[12,60],"34":[72,12],"35":[6,6],"36":[12,12],"37":[0,66],"38":[66,0,0],"39":[66,0],"40":[24,42],"41":[12,30],"42":[36,30],"43":[66,42],"44":[0,36],"45":[0,30],"46":[1,6],"47":[0,1],"48":[0,0],"49":[0,4],"50":[0,0],"51":[0,0],"52":[24,11]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7b49191d63eee44e45112b28907636a1c3079d0b"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removePluginDataByMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removePluginDataByMap.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":19,"column":5}},"1":{"start":{"line":21,"column":18},"end":{"line":21,"column":77}},"2":{"start":{"line":22,"column":39},"end":{"line":22,"column":48}},"3":{"start":{"line":23,"column":2},"end":{"line":32,"column":5}},"4":{"start":{"line":24,"column":4},"end":{"line":31,"column":8}},"5":{"start":{"line":25,"column":6},"end":{"line":25,"column":34}},"6":{"start":{"line":26,"column":6},"end":{"line":26,"column":49}},"7":{"start":{"line":27,"column":6},"end":{"line":27,"column":38}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":21}},"9":{"start":{"line":30,"column":6},"end":{"line":30,"column":34}},"10":{"start":{"line":33,"column":2},"end":{"line":33,"column":30}},"11":{"start":{"line":34,"column":2},"end":{"line":37,"column":5}}},"fnMap":{"0":{"name":"removePluginDataByMap","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":43}},"loc":{"start":{"line":10,"column":140},"end":{"line":38,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":46},"end":{"line":32,"column":3}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":40},"end":{"line":24,"column":41}},"loc":{"start":{"line":24,"column":52},"end":{"line":31,"column":5}},"line":24}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeStylesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeStylesFromPlugin.ts","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":9,"column":51}},"1":{"start":{"line":10,"column":22},"end":{"line":10,"column":49}},"2":{"start":{"line":11,"column":21},"end":{"line":11,"column":47}},"3":{"start":{"line":12,"column":20},"end":{"line":12,"column":68}},"4":{"start":{"line":14,"column":20},"end":{"line":16,"column":4}},"5":{"start":{"line":17,"column":31},"end":{"line":21,"column":47}},"6":{"start":{"line":18,"column":23},"end":{"line":20,"column":5}},"7":{"start":{"line":19,"column":29},"end":{"line":19,"column":90}},"8":{"start":{"line":21,"column":28},"end":{"line":21,"column":46}},"9":{"start":{"line":22,"column":20},"end":{"line":22,"column":98}},"10":{"start":{"line":22,"column":56},"end":{"line":22,"column":97}},"11":{"start":{"line":24,"column":22},"end":{"line":29,"column":6}},"12":{"start":{"line":25,"column":23},"end":{"line":25,"column":85}},"13":{"start":{"line":25,"column":52},"end":{"line":25,"column":84}},"14":{"start":{"line":27,"column":6},"end":{"line":27,"column":29}},"15":{"start":{"line":28,"column":6},"end":{"line":28,"column":30}},"16":{"start":{"line":30,"column":2},"end":{"line":30,"column":21}}},"fnMap":{"0":{"name":"removeStylesFromPlugin","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":52}},"loc":{"start":{"line":8,"column":80},"end":{"line":31,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":23},"end":{"line":20,"column":5}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":6},"end":{"line":19,"column":7}},"loc":{"start":{"line":19,"column":29},"end":{"line":19,"column":90}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":9},"end":{"line":21,"column":10}},"loc":{"start":{"line":21,"column":28},"end":{"line":21,"column":46}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":45},"end":{"line":22,"column":46}},"loc":{"start":{"line":22,"column":56},"end":{"line":22,"column":97}},"line":22},"5":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":13}},"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":85}},"line":25},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":38},"end":{"line":25,"column":39}},"loc":{"start":{"line":25,"column":52},"end":{"line":25,"column":84}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":10}},"loc":{"start":{"line":26,"column":28},"end":{"line":29,"column":5}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":29},"end":{"line":19,"column":90}},"type":"binary-expr","locations":[{"start":{"line":19,"column":29},"end":{"line":19,"column":54}},{"start":{"line":19,"column":58},"end":{"line":19,"column":90}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeValuesFromNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeValuesFromNode.ts","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":7,"column":3}},"1":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":9,"column":44},"end":{"line":9,"column":53}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":22}},"4":{"start":{"line":16,"column":2},"end":{"line":248,"column":3}},"5":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"6":{"start":{"line":19,"column":25},"end":{"line":19,"column":35}},"7":{"start":{"line":20,"column":26},"end":{"line":20,"column":37}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":36}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":41}},"10":{"start":{"line":24,"column":6},"end":{"line":24,"column":12}},"11":{"start":{"line":26,"column":6},"end":{"line":31,"column":7}},"12":{"start":{"line":27,"column":25},"end":{"line":27,"column":35}},"13":{"start":{"line":28,"column":26},"end":{"line":28,"column":37}},"14":{"start":{"line":29,"column":8},"end":{"line":29,"column":35}},"15":{"start":{"line":30,"column":8},"end":{"line":30,"column":41}},"16":{"start":{"line":32,"column":6},"end":{"line":32,"column":12}},"17":{"start":{"line":34,"column":6},"end":{"line":41,"column":7}},"18":{"start":{"line":40,"column":8},"end":{"line":40,"column":30}},"19":{"start":{"line":42,"column":6},"end":{"line":42,"column":12}},"20":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"21":{"start":{"line":45,"column":8},"end":{"line":45,"column":31}},"22":{"start":{"line":47,"column":6},"end":{"line":47,"column":12}},"23":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"24":{"start":{"line":50,"column":8},"end":{"line":50,"column":32}},"25":{"start":{"line":52,"column":6},"end":{"line":52,"column":12}},"26":{"start":{"line":54,"column":6},"end":{"line":56,"column":7}},"27":{"start":{"line":55,"column":8},"end":{"line":55,"column":35}},"28":{"start":{"line":57,"column":6},"end":{"line":57,"column":12}},"29":{"start":{"line":59,"column":6},"end":{"line":61,"column":7}},"30":{"start":{"line":60,"column":8},"end":{"line":60,"column":34}},"31":{"start":{"line":62,"column":6},"end":{"line":62,"column":12}},"32":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"33":{"start":{"line":65,"column":8},"end":{"line":65,"column":30}},"34":{"start":{"line":67,"column":6},"end":{"line":67,"column":12}},"35":{"start":{"line":69,"column":6},"end":{"line":71,"column":7}},"36":{"start":{"line":70,"column":8},"end":{"line":70,"column":30}},"37":{"start":{"line":72,"column":6},"end":{"line":72,"column":12}},"38":{"start":{"line":74,"column":6},"end":{"line":76,"column":7}},"39":{"start":{"line":75,"column":8},"end":{"line":75,"column":30}},"40":{"start":{"line":77,"column":6},"end":{"line":77,"column":12}},"41":{"start":{"line":79,"column":6},"end":{"line":81,"column":7}},"42":{"start":{"line":80,"column":8},"end":{"line":80,"column":30}},"43":{"start":{"line":82,"column":6},"end":{"line":82,"column":12}},"44":{"start":{"line":84,"column":6},"end":{"line":86,"column":7}},"45":{"start":{"line":85,"column":8},"end":{"line":85,"column":30}},"46":{"start":{"line":87,"column":6},"end":{"line":87,"column":12}},"47":{"start":{"line":89,"column":6},"end":{"line":91,"column":7}},"48":{"start":{"line":90,"column":8},"end":{"line":90,"column":86}},"49":{"start":{"line":90,"column":55},"end":{"line":90,"column":84}},"50":{"start":{"line":92,"column":6},"end":{"line":92,"column":12}},"51":{"start":{"line":94,"column":6},"end":{"line":96,"column":7}},"52":{"start":{"line":95,"column":8},"end":{"line":95,"column":90}},"53":{"start":{"line":95,"column":55},"end":{"line":95,"column":88}},"54":{"start":{"line":97,"column":6},"end":{"line":97,"column":12}},"55":{"start":{"line":99,"column":6},"end":{"line":101,"column":7}},"56":{"start":{"line":100,"column":8},"end":{"line":100,"column":32}},"57":{"start":{"line":102,"column":6},"end":{"line":102,"column":12}},"58":{"start":{"line":104,"column":6},"end":{"line":113,"column":7}},"59":{"start":{"line":112,"column":8},"end":{"line":112,"column":25}},"60":{"start":{"line":114,"column":6},"end":{"line":114,"column":12}},"61":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"62":{"start":{"line":117,"column":8},"end":{"line":117,"column":24}},"63":{"start":{"line":119,"column":6},"end":{"line":119,"column":12}},"64":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"65":{"start":{"line":122,"column":8},"end":{"line":122,"column":26}},"66":{"start":{"line":124,"column":6},"end":{"line":124,"column":12}},"67":{"start":{"line":126,"column":6},"end":{"line":132,"column":7}},"68":{"start":{"line":127,"column":8},"end":{"line":127,"column":29}},"69":{"start":{"line":128,"column":8},"end":{"line":128,"column":30}},"70":{"start":{"line":129,"column":8},"end":{"line":129,"column":28}},"71":{"start":{"line":130,"column":8},"end":{"line":130,"column":31}},"72":{"start":{"line":131,"column":8},"end":{"line":131,"column":29}},"73":{"start":{"line":133,"column":6},"end":{"line":133,"column":12}},"74":{"start":{"line":135,"column":6},"end":{"line":137,"column":7}},"75":{"start":{"line":136,"column":8},"end":{"line":136,"column":28}},"76":{"start":{"line":138,"column":6},"end":{"line":138,"column":12}},"77":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"78":{"start":{"line":141,"column":8},"end":{"line":141,"column":30}},"79":{"start":{"line":143,"column":6},"end":{"line":143,"column":12}},"80":{"start":{"line":145,"column":6},"end":{"line":147,"column":7}},"81":{"start":{"line":146,"column":8},"end":{"line":146,"column":31}},"82":{"start":{"line":148,"column":6},"end":{"line":148,"column":12}},"83":{"start":{"line":150,"column":6},"end":{"line":152,"column":7}},"84":{"start":{"line":151,"column":8},"end":{"line":151,"column":29}},"85":{"start":{"line":153,"column":6},"end":{"line":153,"column":12}},"86":{"start":{"line":155,"column":6},"end":{"line":158,"column":7}},"87":{"start":{"line":156,"column":8},"end":{"line":156,"column":29}},"88":{"start":{"line":157,"column":8},"end":{"line":157,"column":30}},"89":{"start":{"line":159,"column":6},"end":{"line":159,"column":12}},"90":{"start":{"line":161,"column":6},"end":{"line":164,"column":7}},"91":{"start":{"line":162,"column":8},"end":{"line":162,"column":28}},"92":{"start":{"line":163,"column":8},"end":{"line":163,"column":31}},"93":{"start":{"line":165,"column":6},"end":{"line":165,"column":12}},"94":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"95":{"start":{"line":168,"column":8},"end":{"line":168,"column":29}},"96":{"start":{"line":170,"column":6},"end":{"line":170,"column":12}},"97":{"start":{"line":172,"column":6},"end":{"line":174,"column":7}},"98":{"start":{"line":173,"column":8},"end":{"line":173,"column":24}},"99":{"start":{"line":175,"column":6},"end":{"line":175,"column":12}},"100":{"start":{"line":177,"column":6},"end":{"line":179,"column":7}},"101":{"start":{"line":178,"column":8},"end":{"line":178,"column":26}},"102":{"start":{"line":180,"column":6},"end":{"line":182,"column":7}},"103":{"start":{"line":181,"column":8},"end":{"line":181,"column":30}},"104":{"start":{"line":183,"column":6},"end":{"line":185,"column":7}},"105":{"start":{"line":184,"column":8},"end":{"line":184,"column":34}},"106":{"start":{"line":186,"column":6},"end":{"line":186,"column":12}},"107":{"start":{"line":188,"column":6},"end":{"line":191,"column":7}},"108":{"start":{"line":189,"column":8},"end":{"line":189,"column":33}},"109":{"start":{"line":190,"column":8},"end":{"line":190,"column":39}},"110":{"start":{"line":192,"column":6},"end":{"line":194,"column":7}},"111":{"start":{"line":193,"column":8},"end":{"line":193,"column":34}},"112":{"start":{"line":195,"column":6},"end":{"line":195,"column":12}},"113":{"start":{"line":197,"column":6},"end":{"line":200,"column":7}},"114":{"start":{"line":198,"column":8},"end":{"line":198,"column":35}},"115":{"start":{"line":199,"column":8},"end":{"line":199,"column":39}},"116":{"start":{"line":201,"column":6},"end":{"line":203,"column":7}},"117":{"start":{"line":202,"column":8},"end":{"line":202,"column":34}},"118":{"start":{"line":204,"column":6},"end":{"line":204,"column":12}},"119":{"start":{"line":206,"column":6},"end":{"line":209,"column":7}},"120":{"start":{"line":207,"column":8},"end":{"line":207,"column":36}},"121":{"start":{"line":208,"column":8},"end":{"line":208,"column":39}},"122":{"start":{"line":210,"column":6},"end":{"line":212,"column":7}},"123":{"start":{"line":211,"column":8},"end":{"line":211,"column":34}},"124":{"start":{"line":213,"column":6},"end":{"line":213,"column":12}},"125":{"start":{"line":215,"column":6},"end":{"line":218,"column":7}},"126":{"start":{"line":216,"column":8},"end":{"line":216,"column":34}},"127":{"start":{"line":217,"column":8},"end":{"line":217,"column":39}},"128":{"start":{"line":219,"column":6},"end":{"line":221,"column":7}},"129":{"start":{"line":220,"column":8},"end":{"line":220,"column":34}},"130":{"start":{"line":222,"column":6},"end":{"line":222,"column":12}},"131":{"start":{"line":224,"column":6},"end":{"line":226,"column":7}},"132":{"start":{"line":225,"column":8},"end":{"line":225,"column":28}},"133":{"start":{"line":227,"column":6},"end":{"line":227,"column":12}},"134":{"start":{"line":229,"column":6},"end":{"line":231,"column":7}},"135":{"start":{"line":230,"column":8},"end":{"line":230,"column":37}},"136":{"start":{"line":232,"column":6},"end":{"line":232,"column":12}},"137":{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},"138":{"start":{"line":235,"column":8},"end":{"line":235,"column":29}},"139":{"start":{"line":237,"column":6},"end":{"line":244,"column":7}},"140":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"141":{"start":{"line":239,"column":27},"end":{"line":239,"column":37}},"142":{"start":{"line":240,"column":28},"end":{"line":240,"column":39}},"143":{"start":{"line":241,"column":10},"end":{"line":241,"column":32}},"144":{"start":{"line":242,"column":10},"end":{"line":242,"column":43}},"145":{"start":{"line":245,"column":6},"end":{"line":245,"column":12}},"146":{"start":{"line":247,"column":6},"end":{"line":247,"column":12}}},"fnMap":{"0":{"name":"removeStrokeIfEmptySides","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":33}},"loc":{"start":{"line":4,"column":40},"end":{"line":12,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":33},"end":{"line":9,"column":34}},"loc":{"start":{"line":9,"column":44},"end":{"line":9,"column":53}},"line":9},"2":{"name":"removeValuesFromNode","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":44}},"loc":{"start":{"line":14,"column":79},"end":{"line":249,"column":1}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":90,"column":43},"end":{"line":90,"column":44}},"loc":{"start":{"line":90,"column":55},"end":{"line":90,"column":84}},"line":90},"4":{"name":"(anonymous_4)","decl":{"start":{"line":95,"column":43},"end":{"line":95,"column":44}},"loc":{"start":{"line":95,"column":55},"end":{"line":95,"column":88}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":248,"column":3}},"type":"switch","locations":[{"start":{"line":17,"column":4},"end":{"line":24,"column":12}},{"start":{"line":25,"column":4},"end":{"line":32,"column":12}},{"start":{"line":33,"column":4},"end":{"line":42,"column":12}},{"start":{"line":43,"column":4},"end":{"line":47,"column":12}},{"start":{"line":48,"column":4},"end":{"line":52,"column":12}},{"start":{"line":53,"column":4},"end":{"line":57,"column":12}},{"start":{"line":58,"column":4},"end":{"line":62,"column":12}},{"start":{"line":63,"column":4},"end":{"line":67,"column":12}},{"start":{"line":68,"column":4},"end":{"line":72,"column":12}},{"start":{"line":73,"column":4},"end":{"line":77,"column":12}},{"start":{"line":78,"column":4},"end":{"line":82,"column":12}},{"start":{"line":83,"column":4},"end":{"line":87,"column":12}},{"start":{"line":88,"column":4},"end":{"line":92,"column":12}},{"start":{"line":93,"column":4},"end":{"line":97,"column":12}},{"start":{"line":98,"column":4},"end":{"line":102,"column":12}},{"start":{"line":103,"column":4},"end":{"line":114,"column":12}},{"start":{"line":115,"column":4},"end":{"line":119,"column":12}},{"start":{"line":120,"column":4},"end":{"line":124,"column":12}},{"start":{"line":125,"column":4},"end":{"line":133,"column":12}},{"start":{"line":134,"column":4},"end":{"line":138,"column":12}},{"start":{"line":139,"column":4},"end":{"line":143,"column":12}},{"start":{"line":144,"column":4},"end":{"line":148,"column":12}},{"start":{"line":149,"column":4},"end":{"line":153,"column":12}},{"start":{"line":154,"column":4},"end":{"line":159,"column":12}},{"start":{"line":160,"column":4},"end":{"line":165,"column":12}},{"start":{"line":166,"column":4},"end":{"line":170,"column":12}},{"start":{"line":171,"column":4},"end":{"line":175,"column":12}},{"start":{"line":176,"column":4},"end":{"line":186,"column":12}},{"start":{"line":187,"column":4},"end":{"line":195,"column":12}},{"start":{"line":196,"column":4},"end":{"line":204,"column":12}},{"start":{"line":205,"column":4},"end":{"line":213,"column":12}},{"start":{"line":214,"column":4},"end":{"line":222,"column":12}},{"start":{"line":223,"column":4},"end":{"line":227,"column":12}},{"start":{"line":228,"column":4},"end":{"line":232,"column":12}},{"start":{"line":233,"column":4},"end":{"line":245,"column":12}},{"start":{"line":246,"column":4},"end":{"line":247,"column":12}}],"line":16},"2":{"loc":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},{"start":{},"end":{}}],"line":18},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":31,"column":7}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":34,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":34,"column":6},"end":{"line":41,"column":7}},{"start":{},"end":{}}],"line":34},"5":{"loc":{"start":{"line":35,"column":8},"end":{"line":38,"column":36}},"type":"binary-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":30}},{"start":{"line":36,"column":11},"end":{"line":36,"column":51}},{"start":{"line":37,"column":11},"end":{"line":37,"column":42}},{"start":{"line":38,"column":11},"end":{"line":38,"column":36}}],"line":35},"6":{"loc":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},{"start":{},"end":{}}],"line":44},"7":{"loc":{"start":{"line":44,"column":10},"end":{"line":44,"column":78}},"type":"binary-expr","locations":[{"start":{"line":44,"column":10},"end":{"line":44,"column":33}},{"start":{"line":44,"column":37},"end":{"line":44,"column":78}}],"line":44},"8":{"loc":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},{"start":{},"end":{}}],"line":49},"9":{"loc":{"start":{"line":49,"column":10},"end":{"line":49,"column":80}},"type":"binary-expr","locations":[{"start":{"line":49,"column":10},"end":{"line":49,"column":34}},{"start":{"line":49,"column":38},"end":{"line":49,"column":80}}],"line":49},"10":{"loc":{"start":{"line":54,"column":6},"end":{"line":56,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":56,"column":7}},{"start":{},"end":{}}],"line":54},"11":{"loc":{"start":{"line":54,"column":10},"end":{"line":54,"column":86}},"type":"binary-expr","locations":[{"start":{"line":54,"column":10},"end":{"line":54,"column":37}},{"start":{"line":54,"column":41},"end":{"line":54,"column":86}}],"line":54},"12":{"loc":{"start":{"line":59,"column":6},"end":{"line":61,"column":7}},"type":"if","locations":[{"start":{"line":59,"column":6},"end":{"line":61,"column":7}},{"start":{},"end":{}}],"line":59},"13":{"loc":{"start":{"line":59,"column":10},"end":{"line":59,"column":84}},"type":"binary-expr","locations":[{"start":{"line":59,"column":10},"end":{"line":59,"column":36}},{"start":{"line":59,"column":40},"end":{"line":59,"column":84}}],"line":59},"14":{"loc":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":64},"15":{"loc":{"start":{"line":64,"column":10},"end":{"line":64,"column":76}},"type":"binary-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":32}},{"start":{"line":64,"column":36},"end":{"line":64,"column":76}}],"line":64},"16":{"loc":{"start":{"line":69,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":69},"17":{"loc":{"start":{"line":69,"column":10},"end":{"line":69,"column":79}},"type":"binary-expr","locations":[{"start":{"line":69,"column":10},"end":{"line":69,"column":35}},{"start":{"line":69,"column":39},"end":{"line":69,"column":79}}],"line":69},"18":{"loc":{"start":{"line":74,"column":6},"end":{"line":76,"column":7}},"type":"if","locations":[{"start":{"line":74,"column":6},"end":{"line":76,"column":7}},{"start":{},"end":{}}],"line":74},"19":{"loc":{"start":{"line":74,"column":10},"end":{"line":74,"column":81}},"type":"binary-expr","locations":[{"start":{"line":74,"column":10},"end":{"line":74,"column":37}},{"start":{"line":74,"column":41},"end":{"line":74,"column":81}}],"line":74},"20":{"loc":{"start":{"line":79,"column":6},"end":{"line":81,"column":7}},"type":"if","locations":[{"start":{"line":79,"column":6},"end":{"line":81,"column":7}},{"start":{},"end":{}}],"line":79},"21":{"loc":{"start":{"line":79,"column":10},"end":{"line":79,"column":82}},"type":"binary-expr","locations":[{"start":{"line":79,"column":10},"end":{"line":79,"column":38}},{"start":{"line":79,"column":42},"end":{"line":79,"column":82}}],"line":79},"22":{"loc":{"start":{"line":84,"column":6},"end":{"line":86,"column":7}},"type":"if","locations":[{"start":{"line":84,"column":6},"end":{"line":86,"column":7}},{"start":{},"end":{}}],"line":84},"23":{"loc":{"start":{"line":84,"column":10},"end":{"line":84,"column":80}},"type":"binary-expr","locations":[{"start":{"line":84,"column":10},"end":{"line":84,"column":36}},{"start":{"line":84,"column":40},"end":{"line":84,"column":80}}],"line":84},"24":{"loc":{"start":{"line":89,"column":6},"end":{"line":91,"column":7}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":91,"column":7}},{"start":{},"end":{}}],"line":89},"25":{"loc":{"start":{"line":89,"column":10},"end":{"line":89,"column":66}},"type":"binary-expr","locations":[{"start":{"line":89,"column":10},"end":{"line":89,"column":27}},{"start":{"line":89,"column":31},"end":{"line":89,"column":66}}],"line":89},"26":{"loc":{"start":{"line":94,"column":6},"end":{"line":96,"column":7}},"type":"if","locations":[{"start":{"line":94,"column":6},"end":{"line":96,"column":7}},{"start":{},"end":{}}],"line":94},"27":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":66}},"type":"binary-expr","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":27}},{"start":{"line":94,"column":31},"end":{"line":94,"column":66}}],"line":94},"28":{"loc":{"start":{"line":99,"column":6},"end":{"line":101,"column":7}},"type":"if","locations":[{"start":{"line":99,"column":6},"end":{"line":101,"column":7}},{"start":{},"end":{}}],"line":99},"29":{"loc":{"start":{"line":99,"column":10},"end":{"line":99,"column":86}},"type":"binary-expr","locations":[{"start":{"line":99,"column":10},"end":{"line":99,"column":37}},{"start":{"line":99,"column":41},"end":{"line":99,"column":86}}],"line":99},"30":{"loc":{"start":{"line":104,"column":6},"end":{"line":113,"column":7}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":113,"column":7}},{"start":{},"end":{}}],"line":104},"31":{"loc":{"start":{"line":105,"column":8},"end":{"line":110,"column":36}},"type":"binary-expr","locations":[{"start":{"line":105,"column":8},"end":{"line":105,"column":25}},{"start":{"line":106,"column":11},"end":{"line":106,"column":46}},{"start":{"line":107,"column":11},"end":{"line":107,"column":33}},{"start":{"line":108,"column":11},"end":{"line":108,"column":42}},{"start":{"line":109,"column":11},"end":{"line":109,"column":37}},{"start":{"line":110,"column":11},"end":{"line":110,"column":36}}],"line":105},"32":{"loc":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"type":"if","locations":[{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},{"start":{},"end":{}}],"line":116},"33":{"loc":{"start":{"line":116,"column":10},"end":{"line":116,"column":62}},"type":"binary-expr","locations":[{"start":{"line":116,"column":10},"end":{"line":116,"column":25}},{"start":{"line":116,"column":29},"end":{"line":116,"column":62}}],"line":116},"34":{"loc":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"type":"if","locations":[{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},{"start":{},"end":{}}],"line":121},"35":{"loc":{"start":{"line":121,"column":10},"end":{"line":121,"column":66}},"type":"binary-expr","locations":[{"start":{"line":121,"column":10},"end":{"line":121,"column":27}},{"start":{"line":121,"column":31},"end":{"line":121,"column":66}}],"line":121},"36":{"loc":{"start":{"line":126,"column":6},"end":{"line":132,"column":7}},"type":"if","locations":[{"start":{"line":126,"column":6},"end":{"line":132,"column":7}},{"start":{},"end":{}}],"line":126},"37":{"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":74}},"type":"binary-expr","locations":[{"start":{"line":126,"column":10},"end":{"line":126,"column":31}},{"start":{"line":126,"column":35},"end":{"line":126,"column":74}}],"line":126},"38":{"loc":{"start":{"line":135,"column":6},"end":{"line":137,"column":7}},"type":"if","locations":[{"start":{"line":135,"column":6},"end":{"line":137,"column":7}},{"start":{},"end":{}}],"line":135},"39":{"loc":{"start":{"line":135,"column":10},"end":{"line":135,"column":72}},"type":"binary-expr","locations":[{"start":{"line":135,"column":10},"end":{"line":135,"column":30}},{"start":{"line":135,"column":34},"end":{"line":135,"column":72}}],"line":135},"40":{"loc":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"type":"if","locations":[{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},{"start":{},"end":{}}],"line":140},"41":{"loc":{"start":{"line":140,"column":10},"end":{"line":140,"column":76}},"type":"binary-expr","locations":[{"start":{"line":140,"column":10},"end":{"line":140,"column":32}},{"start":{"line":140,"column":36},"end":{"line":140,"column":76}}],"line":140},"42":{"loc":{"start":{"line":145,"column":6},"end":{"line":147,"column":7}},"type":"if","locations":[{"start":{"line":145,"column":6},"end":{"line":147,"column":7}},{"start":{},"end":{}}],"line":145},"43":{"loc":{"start":{"line":145,"column":10},"end":{"line":145,"column":78}},"type":"binary-expr","locations":[{"start":{"line":145,"column":10},"end":{"line":145,"column":33}},{"start":{"line":145,"column":37},"end":{"line":145,"column":78}}],"line":145},"44":{"loc":{"start":{"line":150,"column":6},"end":{"line":152,"column":7}},"type":"if","locations":[{"start":{"line":150,"column":6},"end":{"line":152,"column":7}},{"start":{},"end":{}}],"line":150},"45":{"loc":{"start":{"line":150,"column":10},"end":{"line":150,"column":74}},"type":"binary-expr","locations":[{"start":{"line":150,"column":10},"end":{"line":150,"column":31}},{"start":{"line":150,"column":35},"end":{"line":150,"column":74}}],"line":150},"46":{"loc":{"start":{"line":155,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":155,"column":6},"end":{"line":158,"column":7}},{"start":{},"end":{}}],"line":155},"47":{"loc":{"start":{"line":155,"column":10},"end":{"line":155,"column":74}},"type":"binary-expr","locations":[{"start":{"line":155,"column":10},"end":{"line":155,"column":31}},{"start":{"line":155,"column":35},"end":{"line":155,"column":74}}],"line":155},"48":{"loc":{"start":{"line":161,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":164,"column":7}},{"start":{},"end":{}}],"line":161},"49":{"loc":{"start":{"line":161,"column":10},"end":{"line":161,"column":72}},"type":"binary-expr","locations":[{"start":{"line":161,"column":10},"end":{"line":161,"column":30}},{"start":{"line":161,"column":34},"end":{"line":161,"column":72}}],"line":161},"50":{"loc":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"type":"if","locations":[{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},{"start":{},"end":{}}],"line":167},"51":{"loc":{"start":{"line":167,"column":10},"end":{"line":167,"column":74}},"type":"binary-expr","locations":[{"start":{"line":167,"column":10},"end":{"line":167,"column":31}},{"start":{"line":167,"column":35},"end":{"line":167,"column":74}}],"line":167},"52":{"loc":{"start":{"line":172,"column":6},"end":{"line":174,"column":7}},"type":"if","locations":[{"start":{"line":172,"column":6},"end":{"line":174,"column":7}},{"start":{},"end":{}}],"line":172},"53":{"loc":{"start":{"line":172,"column":10},"end":{"line":172,"column":62}},"type":"binary-expr","locations":[{"start":{"line":172,"column":10},"end":{"line":172,"column":25}},{"start":{"line":172,"column":29},"end":{"line":172,"column":62}}],"line":172},"54":{"loc":{"start":{"line":177,"column":6},"end":{"line":179,"column":7}},"type":"if","locations":[{"start":{"line":177,"column":6},"end":{"line":179,"column":7}},{"start":{},"end":{}}],"line":177},"55":{"loc":{"start":{"line":177,"column":10},"end":{"line":177,"column":66}},"type":"binary-expr","locations":[{"start":{"line":177,"column":10},"end":{"line":177,"column":27}},{"start":{"line":177,"column":31},"end":{"line":177,"column":66}}],"line":177},"56":{"loc":{"start":{"line":180,"column":6},"end":{"line":182,"column":7}},"type":"if","locations":[{"start":{"line":180,"column":6},"end":{"line":182,"column":7}},{"start":{},"end":{}}],"line":180},"57":{"loc":{"start":{"line":180,"column":10},"end":{"line":180,"column":76}},"type":"binary-expr","locations":[{"start":{"line":180,"column":10},"end":{"line":180,"column":32}},{"start":{"line":180,"column":36},"end":{"line":180,"column":76}}],"line":180},"58":{"loc":{"start":{"line":183,"column":6},"end":{"line":185,"column":7}},"type":"if","locations":[{"start":{"line":183,"column":6},"end":{"line":185,"column":7}},{"start":{},"end":{}}],"line":183},"59":{"loc":{"start":{"line":183,"column":10},"end":{"line":183,"column":74}},"type":"binary-expr","locations":[{"start":{"line":183,"column":10},"end":{"line":183,"column":31}},{"start":{"line":183,"column":35},"end":{"line":183,"column":74}}],"line":183},"60":{"loc":{"start":{"line":188,"column":6},"end":{"line":191,"column":7}},"type":"if","locations":[{"start":{"line":188,"column":6},"end":{"line":191,"column":7}},{"start":{},"end":{}}],"line":188},"61":{"loc":{"start":{"line":188,"column":10},"end":{"line":188,"column":82}},"type":"binary-expr","locations":[{"start":{"line":188,"column":10},"end":{"line":188,"column":35}},{"start":{"line":188,"column":39},"end":{"line":188,"column":82}}],"line":188},"62":{"loc":{"start":{"line":192,"column":6},"end":{"line":194,"column":7}},"type":"if","locations":[{"start":{"line":192,"column":6},"end":{"line":194,"column":7}},{"start":{},"end":{}}],"line":192},"63":{"loc":{"start":{"line":192,"column":10},"end":{"line":192,"column":74}},"type":"binary-expr","locations":[{"start":{"line":192,"column":10},"end":{"line":192,"column":31}},{"start":{"line":192,"column":35},"end":{"line":192,"column":74}}],"line":192},"64":{"loc":{"start":{"line":197,"column":6},"end":{"line":200,"column":7}},"type":"if","locations":[{"start":{"line":197,"column":6},"end":{"line":200,"column":7}},{"start":{},"end":{}}],"line":197},"65":{"loc":{"start":{"line":197,"column":10},"end":{"line":197,"column":86}},"type":"binary-expr","locations":[{"start":{"line":197,"column":10},"end":{"line":197,"column":37}},{"start":{"line":197,"column":41},"end":{"line":197,"column":86}}],"line":197},"66":{"loc":{"start":{"line":201,"column":6},"end":{"line":203,"column":7}},"type":"if","locations":[{"start":{"line":201,"column":6},"end":{"line":203,"column":7}},{"start":{},"end":{}}],"line":201},"67":{"loc":{"start":{"line":201,"column":10},"end":{"line":201,"column":74}},"type":"binary-expr","locations":[{"start":{"line":201,"column":10},"end":{"line":201,"column":31}},{"start":{"line":201,"column":35},"end":{"line":201,"column":74}}],"line":201},"68":{"loc":{"start":{"line":206,"column":6},"end":{"line":209,"column":7}},"type":"if","locations":[{"start":{"line":206,"column":6},"end":{"line":209,"column":7}},{"start":{},"end":{}}],"line":206},"69":{"loc":{"start":{"line":206,"column":10},"end":{"line":206,"column":88}},"type":"binary-expr","locations":[{"start":{"line":206,"column":10},"end":{"line":206,"column":38}},{"start":{"line":206,"column":42},"end":{"line":206,"column":88}}],"line":206},"70":{"loc":{"start":{"line":210,"column":6},"end":{"line":212,"column":7}},"type":"if","locations":[{"start":{"line":210,"column":6},"end":{"line":212,"column":7}},{"start":{},"end":{}}],"line":210},"71":{"loc":{"start":{"line":210,"column":10},"end":{"line":210,"column":74}},"type":"binary-expr","locations":[{"start":{"line":210,"column":10},"end":{"line":210,"column":31}},{"start":{"line":210,"column":35},"end":{"line":210,"column":74}}],"line":210},"72":{"loc":{"start":{"line":215,"column":6},"end":{"line":218,"column":7}},"type":"if","locations":[{"start":{"line":215,"column":6},"end":{"line":218,"column":7}},{"start":{},"end":{}}],"line":215},"73":{"loc":{"start":{"line":215,"column":10},"end":{"line":215,"column":84}},"type":"binary-expr","locations":[{"start":{"line":215,"column":10},"end":{"line":215,"column":36}},{"start":{"line":215,"column":40},"end":{"line":215,"column":84}}],"line":215},"74":{"loc":{"start":{"line":219,"column":6},"end":{"line":221,"column":7}},"type":"if","locations":[{"start":{"line":219,"column":6},"end":{"line":221,"column":7}},{"start":{},"end":{}}],"line":219},"75":{"loc":{"start":{"line":219,"column":10},"end":{"line":219,"column":74}},"type":"binary-expr","locations":[{"start":{"line":219,"column":10},"end":{"line":219,"column":31}},{"start":{"line":219,"column":35},"end":{"line":219,"column":74}}],"line":219},"76":{"loc":{"start":{"line":224,"column":6},"end":{"line":226,"column":7}},"type":"if","locations":[{"start":{"line":224,"column":6},"end":{"line":226,"column":7}},{"start":{},"end":{}}],"line":224},"77":{"loc":{"start":{"line":224,"column":10},"end":{"line":224,"column":66}},"type":"binary-expr","locations":[{"start":{"line":224,"column":10},"end":{"line":224,"column":27}},{"start":{"line":224,"column":31},"end":{"line":224,"column":66}}],"line":224},"78":{"loc":{"start":{"line":229,"column":6},"end":{"line":231,"column":7}},"type":"if","locations":[{"start":{"line":229,"column":6},"end":{"line":231,"column":7}},{"start":{},"end":{}}],"line":229},"79":{"loc":{"start":{"line":229,"column":10},"end":{"line":229,"column":80}},"type":"binary-expr","locations":[{"start":{"line":229,"column":10},"end":{"line":229,"column":34}},{"start":{"line":229,"column":38},"end":{"line":229,"column":80}}],"line":229},"80":{"loc":{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},"type":"if","locations":[{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},{"start":{},"end":{}}],"line":234},"81":{"loc":{"start":{"line":237,"column":6},"end":{"line":244,"column":7}},"type":"if","locations":[{"start":{"line":237,"column":6},"end":{"line":244,"column":7}},{"start":{},"end":{}}],"line":237},"82":{"loc":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},{"start":{},"end":{}}],"line":238}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0,0,0,0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameStylesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameStylesFromPlugin.ts","statementMap":{"0":{"start":{"line":12,"column":50},"end":{"line":16,"column":4}},"1":{"start":{"line":17,"column":20},"end":{"line":17,"column":68}},"2":{"start":{"line":19,"column":20},"end":{"line":21,"column":4}},"3":{"start":{"line":23,"column":31},"end":{"line":23,"column":234}},"4":{"start":{"line":23,"column":66},"end":{"line":23,"column":190}},"5":{"start":{"line":23,"column":134},"end":{"line":23,"column":189}},"6":{"start":{"line":23,"column":215},"end":{"line":23,"column":233}},"7":{"start":{"line":24,"column":31},"end":{"line":24,"column":33}},"8":{"start":{"line":25,"column":31},"end":{"line":25,"column":33}},"9":{"start":{"line":28,"column":2},"end":{"line":39,"column":5}},"10":{"start":{"line":29,"column":4},"end":{"line":33,"column":53}},"11":{"start":{"line":30,"column":50},"end":{"line":30,"column":94}},"12":{"start":{"line":31,"column":50},"end":{"line":31,"column":97}},"13":{"start":{"line":32,"column":45},"end":{"line":32,"column":91}},"14":{"start":{"line":34,"column":4},"end":{"line":38,"column":53}},"15":{"start":{"line":35,"column":50},"end":{"line":35,"column":94}},"16":{"start":{"line":36,"column":50},"end":{"line":36,"column":97}},"17":{"start":{"line":37,"column":45},"end":{"line":37,"column":91}},"18":{"start":{"line":40,"column":22},"end":{"line":47,"column":46}},"19":{"start":{"line":40,"column":50},"end":{"line":47,"column":4}},"20":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"21":{"start":{"line":42,"column":20},"end":{"line":42,"column":74}},"22":{"start":{"line":42,"column":53},"end":{"line":42,"column":73}},"23":{"start":{"line":43,"column":6},"end":{"line":43,"column":39}},"24":{"start":{"line":44,"column":6},"end":{"line":44,"column":18}},"25":{"start":{"line":46,"column":4},"end":{"line":46,"column":17}},"26":{"start":{"line":47,"column":29},"end":{"line":47,"column":45}},"27":{"start":{"line":49,"column":2},"end":{"line":49,"column":21}}},"fnMap":{"0":{"name":"renameStylesFromPlugin","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":52}},"loc":{"start":{"line":11,"column":2},"end":{"line":50,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":55},"end":{"line":23,"column":56}},"loc":{"start":{"line":23,"column":66},"end":{"line":23,"column":190}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":111},"end":{"line":23,"column":112}},"loc":{"start":{"line":23,"column":134},"end":{"line":23,"column":189}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":196},"end":{"line":23,"column":197}},"loc":{"start":{"line":23,"column":215},"end":{"line":23,"column":233}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":25},"end":{"line":28,"column":26}},"loc":{"start":{"line":28,"column":36},"end":{"line":39,"column":3}},"line":28},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":39},"end":{"line":30,"column":40}},"loc":{"start":{"line":30,"column":50},"end":{"line":30,"column":94}},"line":30},"6":{"name":"(anonymous_6)","decl":{"start":{"line":31,"column":39},"end":{"line":31,"column":40}},"loc":{"start":{"line":31,"column":50},"end":{"line":31,"column":97}},"line":31},"7":{"name":"(anonymous_7)","decl":{"start":{"line":32,"column":39},"end":{"line":32,"column":40}},"loc":{"start":{"line":32,"column":45},"end":{"line":32,"column":91}},"line":32},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":39},"end":{"line":35,"column":40}},"loc":{"start":{"line":35,"column":50},"end":{"line":35,"column":94}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":36,"column":50},"end":{"line":36,"column":97}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":37,"column":39},"end":{"line":37,"column":40}},"loc":{"start":{"line":37,"column":45},"end":{"line":37,"column":91}},"line":37},"11":{"name":"(anonymous_11)","decl":{"start":{"line":40,"column":39},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":50},"end":{"line":47,"column":4}},"line":40},"12":{"name":"(anonymous_12)","decl":{"start":{"line":40,"column":68},"end":{"line":40,"column":69}},"loc":{"start":{"line":40,"column":85},"end":{"line":47,"column":3}},"line":40},"13":{"name":"(anonymous_13)","decl":{"start":{"line":42,"column":43},"end":{"line":42,"column":44}},"loc":{"start":{"line":42,"column":53},"end":{"line":42,"column":73}},"line":42},"14":{"name":"(anonymous_14)","decl":{"start":{"line":47,"column":10},"end":{"line":47,"column":11}},"loc":{"start":{"line":47,"column":29},"end":{"line":47,"column":45}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":134},"end":{"line":23,"column":189}},"type":"binary-expr","locations":[{"start":{"line":23,"column":134},"end":{"line":23,"column":153}},{"start":{"line":23,"column":157},"end":{"line":23,"column":189}}],"line":23},"1":{"loc":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":41}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameVariablesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameVariablesFromPlugin.ts","statementMap":{"0":{"start":{"line":7,"column":20},"end":{"line":9,"column":4}},"1":{"start":{"line":10,"column":22},"end":{"line":10,"column":45}},"2":{"start":{"line":11,"column":31},"end":{"line":30,"column":4}},"3":{"start":{"line":12,"column":41},"end":{"line":12,"column":43}},"4":{"start":{"line":13,"column":40},"end":{"line":18,"column":10}},"5":{"start":{"line":14,"column":6},"end":{"line":16,"column":7}},"6":{"start":{"line":15,"column":8},"end":{"line":15,"column":66}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":17}},"8":{"start":{"line":19,"column":4},"end":{"line":25,"column":7}},"9":{"start":{"line":20,"column":23},"end":{"line":20,"column":46}},"10":{"start":{"line":21,"column":6},"end":{"line":24,"column":7}},"11":{"start":{"line":22,"column":8},"end":{"line":22,"column":59}},"12":{"start":{"line":23,"column":8},"end":{"line":23,"column":46}},"13":{"start":{"line":26,"column":4},"end":{"line":29,"column":6}},"14":{"start":{"line":32,"column":2},"end":{"line":32,"column":30}}},"fnMap":{"0":{"name":"renameVariablesFromPlugin","decl":{"start":{"line":6,"column":30},"end":{"line":6,"column":55}},"loc":{"start":{"line":6,"column":81},"end":{"line":33,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":42},"end":{"line":11,"column":43}},"loc":{"start":{"line":11,"column":53},"end":{"line":30,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":74},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":90},"end":{"line":18,"column":5}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":40},"end":{"line":19,"column":41}},"loc":{"start":{"line":19,"column":56},"end":{"line":25,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":6},"end":{"line":16,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":16,"column":7}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":24,"column":7}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/rotateNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/rotateNode.ts","statementMap":{"0":{"start":{"line":1,"column":31},"end":{"line":25,"column":1}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":21}},"3":{"start":{"line":7,"column":6},"end":{"line":7,"column":30}},"4":{"start":{"line":10,"column":11},"end":{"line":10,"column":12}},"5":{"start":{"line":11,"column":11},"end":{"line":11,"column":12}},"6":{"start":{"line":13,"column":2},"end":{"line":16,"column":3}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":43}},"8":{"start":{"line":15,"column":4},"end":{"line":15,"column":43}},"9":{"start":{"line":18,"column":13},"end":{"line":18,"column":19}},"10":{"start":{"line":19,"column":13},"end":{"line":19,"column":19}},"11":{"start":{"line":21,"column":13},"end":{"line":21,"column":27}},"12":{"start":{"line":22,"column":13},"end":{"line":22,"column":28}},"13":{"start":{"line":24,"column":2},"end":{"line":24,"column":26}},"14":{"start":{"line":27,"column":33},"end":{"line":35,"column":1}},"15":{"start":{"line":28,"column":17},"end":{"line":28,"column":38}},"16":{"start":{"line":29,"column":2},"end":{"line":34,"column":3}},"17":{"start":{"line":30,"column":4},"end":{"line":30,"column":22}},"18":{"start":{"line":31,"column":30},"end":{"line":31,"column":54}},"19":{"start":{"line":32,"column":4},"end":{"line":32,"column":34}},"20":{"start":{"line":33,"column":4},"end":{"line":33,"column":35}},"21":{"start":{"line":37,"column":26},"end":{"line":57,"column":1}},"22":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"23":{"start":{"line":39,"column":4},"end":{"line":39,"column":32}},"24":{"start":{"line":41,"column":2},"end":{"line":56,"column":3}},"25":{"start":{"line":42,"column":18},"end":{"line":42,"column":41}},"26":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"27":{"start":{"line":44,"column":19},"end":{"line":44,"column":40}},"28":{"start":{"line":46,"column":4},"end":{"line":46,"column":26}},"29":{"start":{"line":48,"column":4},"end":{"line":55,"column":5}},"30":{"start":{"line":49,"column":19},"end":{"line":49,"column":139}},"31":{"start":{"line":51,"column":19},"end":{"line":51,"column":140}},"32":{"start":{"line":53,"column":6},"end":{"line":53,"column":20}},"33":{"start":{"line":54,"column":6},"end":{"line":54,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":31},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":52},"end":{"line":25,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":33},"end":{"line":27,"column":34}},"loc":{"start":{"line":27,"column":54},"end":{"line":35,"column":1}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":26},"end":{"line":37,"column":27}},"loc":{"start":{"line":37,"column":62},"end":{"line":57,"column":1}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":13},"2":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":101}},"type":"binary-expr","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":17}},{"start":{"line":13,"column":21},"end":{"line":13,"column":57}},{"start":{"line":13,"column":61},"end":{"line":13,"column":101}}],"line":13},"3":{"loc":{"start":{"line":29,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":34,"column":3}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":29,"column":6},"end":{"line":29,"column":62}},"type":"binary-expr","locations":[{"start":{"line":29,"column":6},"end":{"line":29,"column":12}},{"start":{"line":29,"column":16},"end":{"line":29,"column":34}},{"start":{"line":29,"column":38},"end":{"line":29,"column":62}}],"line":29},"5":{"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},{"start":{},"end":{}}],"line":38},"6":{"loc":{"start":{"line":41,"column":2},"end":{"line":56,"column":3}},"type":"if","locations":[{"start":{"line":41,"column":2},"end":{"line":56,"column":3}},{"start":{},"end":{}}],"line":41},"7":{"loc":{"start":{"line":41,"column":6},"end":{"line":41,"column":52}},"type":"binary-expr","locations":[{"start":{"line":41,"column":6},"end":{"line":41,"column":24}},{"start":{"line":41,"column":28},"end":{"line":41,"column":52}}],"line":41},"8":{"loc":{"start":{"line":48,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":48}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendDocumentChange.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendDocumentChange.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":11}},"2":{"start":{"line":7,"column":24},"end":{"line":7,"column":156}},"3":{"start":{"line":7,"column":65},"end":{"line":7,"column":128}},"4":{"start":{"line":7,"column":146},"end":{"line":7,"column":155}},"5":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":11}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":30}}},"fnMap":{"0":{"name":"sendDocumentChange","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":69},"end":{"line":12,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":53},"end":{"line":7,"column":54}},"loc":{"start":{"line":7,"column":65},"end":{"line":7,"column":128}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":134},"end":{"line":7,"column":135}},"loc":{"start":{"line":7,"column":146},"end":{"line":7,"column":155}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":136}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":40}},{"start":{"line":4,"column":44},"end":{"line":4,"column":95}},{"start":{"line":4,"column":99},"end":{"line":4,"column":136}}],"line":4},"2":{"loc":{"start":{"line":7,"column":65},"end":{"line":7,"column":128}},"type":"binary-expr","locations":[{"start":{"line":7,"column":65},"end":{"line":7,"column":91}},{"start":{"line":7,"column":95},"end":{"line":7,"column":128}}],"line":7},"3":{"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendSelectionChange.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendSelectionChange.ts","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":13,"column":123}},"1":{"start":{"line":14,"column":33},"end":{"line":14,"column":67}},"2":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":24}},"4":{"start":{"line":18,"column":4},"end":{"line":18,"column":16}},"5":{"start":{"line":20,"column":2},"end":{"line":20,"column":97}}},"fnMap":{"0":{"name":"sendSelectionChange","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":41}},"loc":{"start":{"line":7,"column":78},"end":{"line":21,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":16},"end":{"line":13,"column":123}},"type":"cond-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":120}},{"start":{"line":13,"column":6},"end":{"line":13,"column":123}}],"line":9},"1":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":33}},{"start":{"line":9,"column":37},"end":{"line":9,"column":68}}],"line":9},"2":{"loc":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBackgroundBlurOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBackgroundBlurOnTarget.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":28,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":25,"column":5}},"2":{"start":{"line":11,"column":34},"end":{"line":11,"column":105}},"3":{"start":{"line":11,"column":71},"end":{"line":11,"column":104}},"4":{"start":{"line":12,"column":23},"end":{"line":12,"column":42}},"5":{"start":{"line":13,"column":37},"end":{"line":17,"column":7}},"6":{"start":{"line":19,"column":6},"end":{"line":23,"column":7}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":94}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":36}},"9":{"start":{"line":24,"column":6},"end":{"line":24,"column":34}},"10":{"start":{"line":27,"column":4},"end":{"line":27,"column":44}}},"fnMap":{"0":{"name":"setBackgroundBlurOnTarget","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":49}},"loc":{"start":{"line":8,"column":2},"end":{"line":29,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":59},"end":{"line":11,"column":60}},"loc":{"start":{"line":11,"column":71},"end":{"line":11,"column":104}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":25,"column":5}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":19,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":23,"column":7}},{"start":{"line":21,"column":13},"end":{"line":23,"column":7}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBooleanValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBooleanValuesOnVariable.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":15,"column":3}},"1":{"start":{"line":5,"column":34},"end":{"line":5,"column":61}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":156}},"3":{"start":{"line":6,"column":149},"end":{"line":6,"column":156}},"4":{"start":{"line":8,"column":21},"end":{"line":8,"column":37}},"5":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"6":{"start":{"line":11,"column":6},"end":{"line":11,"column":47}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":54}}},"fnMap":{"0":{"name":"setBooleanValuesOnVariable","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":50}},"loc":{"start":{"line":3,"column":100},"end":{"line":16,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":156}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":156}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":6,"column":8},"end":{"line":6,"column":147}},"type":"binary-expr","locations":[{"start":{"line":6,"column":8},"end":{"line":6,"column":43}},{"start":{"line":6,"column":47},"end":{"line":6,"column":147}}],"line":6},"2":{"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":146}},"type":"binary-expr","locations":[{"start":{"line":6,"column":49},"end":{"line":6,"column":91}},{"start":{"line":6,"column":95},"end":{"line":6,"column":146}}],"line":6},"3":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderColorValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderColorValuesOnTarget.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":46,"column":3}},"1":{"start":{"line":18,"column":4},"end":{"line":45,"column":5}},"2":{"start":{"line":19,"column":28},"end":{"line":19,"column":64}},"3":{"start":{"line":20,"column":28},"end":{"line":20,"column":50}},"4":{"start":{"line":21,"column":6},"end":{"line":38,"column":7}},"5":{"start":{"line":23,"column":33},"end":{"line":23,"column":57}},"6":{"start":{"line":24,"column":30},"end":{"line":24,"column":81}},"7":{"start":{"line":25,"column":8},"end":{"line":37,"column":9}},"8":{"start":{"line":26,"column":10},"end":{"line":36,"column":11}},"9":{"start":{"line":28,"column":12},"end":{"line":28,"column":47}},"10":{"start":{"line":29,"column":12},"end":{"line":29,"column":55}},"11":{"start":{"line":30,"column":17},"end":{"line":36,"column":11}},"12":{"start":{"line":35,"column":12},"end":{"line":35,"column":71}},"13":{"start":{"line":40,"column":6},"end":{"line":44,"column":7}},"14":{"start":{"line":41,"column":8},"end":{"line":43,"column":11}}},"fnMap":{"0":{"name":"setBorderColorValuesOnTarget","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":50}},"loc":{"start":{"line":16,"column":10},"end":{"line":47,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":46,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":46,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":38,"column":7}},{"start":{},"end":{}}],"line":21},"3":{"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":43}},"type":"binary-expr","locations":[{"start":{"line":21,"column":10},"end":{"line":21,"column":23}},{"start":{"line":21,"column":27},"end":{"line":21,"column":43}}],"line":21},"4":{"loc":{"start":{"line":25,"column":8},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":37,"column":9}},{"start":{},"end":{}}],"line":25},"5":{"loc":{"start":{"line":26,"column":10},"end":{"line":36,"column":11}},"type":"if","locations":[{"start":{"line":26,"column":10},"end":{"line":36,"column":11}},{"start":{"line":30,"column":17},"end":{"line":36,"column":11}}],"line":26},"6":{"loc":{"start":{"line":30,"column":17},"end":{"line":36,"column":11}},"type":"if","locations":[{"start":{"line":30,"column":17},"end":{"line":36,"column":11}},{"start":{},"end":{}}],"line":30},"7":{"loc":{"start":{"line":40,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":40,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":40},"8":{"loc":{"start":{"line":40,"column":10},"end":{"line":40,"column":106}},"type":"binary-expr","locations":[{"start":{"line":40,"column":10},"end":{"line":40,"column":26}},{"start":{"line":40,"column":31},"end":{"line":40,"column":46}},{"start":{"line":40,"column":50},"end":{"line":40,"column":105}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderValuesOnTarget.ts","statementMap":{"0":{"start":{"line":14,"column":20},"end":{"line":14,"column":25}},"1":{"start":{"line":15,"column":27},"end":{"line":15,"column":32}},"2":{"start":{"line":16,"column":2},"end":{"line":79,"column":3}},"3":{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},"4":{"start":{"line":24,"column":6},"end":{"line":24,"column":87}},"5":{"start":{"line":26,"column":4},"end":{"line":34,"column":5}},"6":{"start":{"line":33,"column":6},"end":{"line":33,"column":90}},"7":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"8":{"start":{"line":42,"column":6},"end":{"line":42,"column":92}},"9":{"start":{"line":44,"column":4},"end":{"line":52,"column":5}},"10":{"start":{"line":51,"column":6},"end":{"line":51,"column":93}},"11":{"start":{"line":53,"column":4},"end":{"line":61,"column":5}},"12":{"start":{"line":60,"column":6},"end":{"line":60,"column":91}},"13":{"start":{"line":63,"column":4},"end":{"line":76,"column":5}},"14":{"start":{"line":64,"column":27},"end":{"line":64,"column":33}},"15":{"start":{"line":65,"column":6},"end":{"line":74,"column":7}},"16":{"start":{"line":67,"column":10},"end":{"line":67,"column":34}},"17":{"start":{"line":68,"column":10},"end":{"line":68,"column":16}},"18":{"start":{"line":70,"column":10},"end":{"line":70,"column":107}},"19":{"start":{"line":71,"column":10},"end":{"line":71,"column":16}},"20":{"start":{"line":73,"column":10},"end":{"line":73,"column":16}},"21":{"start":{"line":75,"column":6},"end":{"line":75,"column":42}},"22":{"start":{"line":78,"column":4},"end":{"line":78,"column":49}}},"fnMap":{"0":{"name":"setBorderValuesOnTarget","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":53}},"loc":{"start":{"line":13,"column":2},"end":{"line":80,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":22,"column":67}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":30}},{"start":{"line":19,"column":9},"end":{"line":19,"column":37}},{"start":{"line":20,"column":9},"end":{"line":20,"column":32}},{"start":{"line":21,"column":9},"end":{"line":21,"column":14}},{"start":{"line":22,"column":9},"end":{"line":22,"column":67}}],"line":18},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":27,"column":6},"end":{"line":31,"column":70}},"type":"binary-expr","locations":[{"start":{"line":27,"column":6},"end":{"line":27,"column":33}},{"start":{"line":28,"column":9},"end":{"line":28,"column":37}},{"start":{"line":29,"column":9},"end":{"line":29,"column":32}},{"start":{"line":30,"column":9},"end":{"line":30,"column":23}},{"start":{"line":31,"column":9},"end":{"line":31,"column":70}}],"line":27},"4":{"loc":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":35},"5":{"loc":{"start":{"line":36,"column":6},"end":{"line":40,"column":72}},"type":"binary-expr","locations":[{"start":{"line":36,"column":6},"end":{"line":36,"column":35}},{"start":{"line":37,"column":9},"end":{"line":37,"column":37}},{"start":{"line":38,"column":9},"end":{"line":38,"column":32}},{"start":{"line":39,"column":9},"end":{"line":39,"column":25}},{"start":{"line":40,"column":9},"end":{"line":40,"column":72}}],"line":36},"6":{"loc":{"start":{"line":44,"column":4},"end":{"line":52,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":52,"column":5}},{"start":{},"end":{}}],"line":44},"7":{"loc":{"start":{"line":45,"column":6},"end":{"line":49,"column":73}},"type":"binary-expr","locations":[{"start":{"line":45,"column":6},"end":{"line":45,"column":36}},{"start":{"line":46,"column":9},"end":{"line":46,"column":37}},{"start":{"line":47,"column":9},"end":{"line":47,"column":32}},{"start":{"line":48,"column":9},"end":{"line":48,"column":26}},{"start":{"line":49,"column":9},"end":{"line":49,"column":73}}],"line":45},"8":{"loc":{"start":{"line":53,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":53},"9":{"loc":{"start":{"line":54,"column":6},"end":{"line":58,"column":71}},"type":"binary-expr","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":34}},{"start":{"line":55,"column":9},"end":{"line":55,"column":37}},{"start":{"line":56,"column":9},"end":{"line":56,"column":32}},{"start":{"line":57,"column":9},"end":{"line":57,"column":24}},{"start":{"line":58,"column":9},"end":{"line":58,"column":71}}],"line":54},"10":{"loc":{"start":{"line":63,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":76,"column":5}},{"start":{},"end":{}}],"line":63},"11":{"loc":{"start":{"line":63,"column":8},"end":{"line":63,"column":92}},"type":"binary-expr","locations":[{"start":{"line":63,"column":8},"end":{"line":63,"column":36}},{"start":{"line":63,"column":40},"end":{"line":63,"column":65}},{"start":{"line":63,"column":69},"end":{"line":63,"column":92}}],"line":63},"12":{"loc":{"start":{"line":65,"column":6},"end":{"line":74,"column":7}},"type":"switch","locations":[{"start":{"line":66,"column":8},"end":{"line":68,"column":16}},{"start":{"line":69,"column":8},"end":{"line":71,"column":16}},{"start":{"line":72,"column":8},"end":{"line":73,"column":16}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0,0,0,0],"4":[0,0],"5":[0,0,0,0,0],"6":[0,0],"7":[0,0,0,0,0],"8":[0,0],"9":[0,0,0,0,0],"10":[0,0],"11":[0,0,0],"12":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnTarget.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":11,"column":54}},"1":{"start":{"line":14,"column":29},"end":{"line":20,"column":1}},"2":{"start":{"line":15,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":75}},"4":{"start":{"line":16,"column":48},"end":{"line":16,"column":75}},"5":{"start":{"line":17,"column":4},"end":{"line":17,"column":72}},"6":{"start":{"line":17,"column":46},"end":{"line":17,"column":72}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":78}},"8":{"start":{"line":18,"column":50},"end":{"line":18,"column":78}},"9":{"start":{"line":22,"column":31},"end":{"line":59,"column":1}},"10":{"start":{"line":23,"column":25},"end":{"line":25,"column":19}},"11":{"start":{"line":26,"column":47},"end":{"line":26,"column":91}},"12":{"start":{"line":28,"column":19},"end":{"line":28,"column":66}},"13":{"start":{"line":29,"column":36},"end":{"line":29,"column":49}},"14":{"start":{"line":31,"column":49},"end":{"line":31,"column":75}},"15":{"start":{"line":32,"column":2},"end":{"line":52,"column":3}},"16":{"start":{"line":33,"column":28},"end":{"line":33,"column":68}},"17":{"start":{"line":35,"column":4},"end":{"line":51,"column":5}},"18":{"start":{"line":36,"column":6},"end":{"line":50,"column":10}},"19":{"start":{"line":37,"column":40},"end":{"line":37,"column":117}},"20":{"start":{"line":38,"column":8},"end":{"line":48,"column":9}},"21":{"start":{"line":39,"column":10},"end":{"line":47,"column":12}},"22":{"start":{"line":49,"column":8},"end":{"line":49,"column":20}},"23":{"start":{"line":53,"column":34},"end":{"line":57,"column":3}},"24":{"start":{"line":58,"column":2},"end":{"line":58,"column":18}},"25":{"start":{"line":70,"column":42},"end":{"line":70,"column":131}},"26":{"start":{"line":71,"column":2},"end":{"line":131,"column":3}},"27":{"start":{"line":72,"column":26},"end":{"line":72,"column":63}},"28":{"start":{"line":73,"column":4},"end":{"line":73,"column":68}},"29":{"start":{"line":73,"column":61},"end":{"line":73,"column":68}},"30":{"start":{"line":74,"column":28},"end":{"line":74,"column":47}},"31":{"start":{"line":75,"column":26},"end":{"line":75,"column":87}},"32":{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},"33":{"start":{"line":77,"column":46},"end":{"line":77,"column":53}},"34":{"start":{"line":78,"column":38},"end":{"line":78,"column":42}},"35":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"36":{"start":{"line":80,"column":6},"end":{"line":80,"column":47}},"37":{"start":{"line":81,"column":11},"end":{"line":85,"column":5}},"38":{"start":{"line":82,"column":6},"end":{"line":82,"column":46}},"39":{"start":{"line":83,"column":11},"end":{"line":85,"column":5}},"40":{"start":{"line":84,"column":6},"end":{"line":84,"column":48}},"41":{"start":{"line":87,"column":4},"end":{"line":124,"column":5}},"42":{"start":{"line":88,"column":28},"end":{"line":88,"column":72}},"43":{"start":{"line":89,"column":23},"end":{"line":89,"column":73}},"44":{"start":{"line":90,"column":6},"end":{"line":90,"column":65}},"45":{"start":{"line":93,"column":40},"end":{"line":93,"column":45}},"46":{"start":{"line":95,"column":40},"end":{"line":95,"column":122}},"47":{"start":{"line":96,"column":38},"end":{"line":96,"column":119}},"48":{"start":{"line":98,"column":6},"end":{"line":104,"column":7}},"49":{"start":{"line":99,"column":8},"end":{"line":103,"column":9}},"50":{"start":{"line":100,"column":10},"end":{"line":100,"column":129}},"51":{"start":{"line":102,"column":10},"end":{"line":102,"column":69}},"52":{"start":{"line":109,"column":28},"end":{"line":109,"column":72}},"53":{"start":{"line":110,"column":27},"end":{"line":110,"column":54}},"54":{"start":{"line":112,"column":6},"end":{"line":123,"column":7}},"55":{"start":{"line":114,"column":8},"end":{"line":119,"column":9}},"56":{"start":{"line":115,"column":10},"end":{"line":115,"column":72}},"57":{"start":{"line":117,"column":37},"end":{"line":117,"column":147}},"58":{"start":{"line":118,"column":10},"end":{"line":118,"column":55}},"59":{"start":{"line":121,"column":8},"end":{"line":121,"column":62}},"60":{"start":{"line":122,"column":8},"end":{"line":122,"column":67}},"61":{"start":{"line":125,"column":4},"end":{"line":127,"column":5}},"62":{"start":{"line":126,"column":6},"end":{"line":126,"column":39}},"63":{"start":{"line":128,"column":4},"end":{"line":128,"column":22}},"64":{"start":{"line":130,"column":4},"end":{"line":130,"column":44}}},"fnMap":{"0":{"name":"hasModifier","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":20}},"loc":{"start":{"line":10,"column":41},"end":{"line":12,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":29},"end":{"line":14,"column":30}},"loc":{"start":{"line":14,"column":71},"end":{"line":20,"column":1}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":32}},"loc":{"start":{"line":22,"column":63},"end":{"line":59,"column":1}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":72},"end":{"line":36,"column":73}},"loc":{"start":{"line":36,"column":95},"end":{"line":50,"column":7}},"line":36},"4":{"name":"setColorValuesOnTarget","decl":{"start":{"line":61,"column":30},"end":{"line":61,"column":52}},"loc":{"start":{"line":68,"column":3},"end":{"line":132,"column":1}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":62}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":20}},{"start":{"line":15,"column":24},"end":{"line":15,"column":62}}],"line":15},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":75}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":75}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":46}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":24}},{"start":{"line":16,"column":28},"end":{"line":16,"column":46}}],"line":16},"4":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":72}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":72}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":44}},"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":23}},{"start":{"line":17,"column":27},"end":{"line":17,"column":44}}],"line":17},"6":{"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":78}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":78}},{"start":{},"end":{}}],"line":18},"7":{"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":48}},"type":"binary-expr","locations":[{"start":{"line":18,"column":8},"end":{"line":18,"column":25}},{"start":{"line":18,"column":29},"end":{"line":18,"column":48}}],"line":18},"8":{"loc":{"start":{"line":23,"column":25},"end":{"line":25,"column":19}},"type":"cond-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":24}},{"start":{"line":25,"column":6},"end":{"line":25,"column":19}}],"line":23},"9":{"loc":{"start":{"line":23,"column":25},"end":{"line":23,"column":80}},"type":"binary-expr","locations":[{"start":{"line":23,"column":25},"end":{"line":23,"column":58}},{"start":{"line":23,"column":62},"end":{"line":23,"column":80}}],"line":23},"10":{"loc":{"start":{"line":32,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":52,"column":3}},{"start":{},"end":{}}],"line":32},"11":{"loc":{"start":{"line":35,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":35},"12":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":51}},"type":"binary-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":21}},{"start":{"line":35,"column":25},"end":{"line":35,"column":51}}],"line":35},"13":{"loc":{"start":{"line":38,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":48,"column":9}},{"start":{},"end":{}}],"line":38},"14":{"loc":{"start":{"line":70,"column":42},"end":{"line":70,"column":131}},"type":"binary-expr","locations":[{"start":{"line":70,"column":42},"end":{"line":70,"column":103}},{"start":{"line":70,"column":107},"end":{"line":70,"column":131}}],"line":70},"15":{"loc":{"start":{"line":73,"column":4},"end":{"line":73,"column":68}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":73,"column":68}},{"start":{},"end":{}}],"line":73},"16":{"loc":{"start":{"line":73,"column":8},"end":{"line":73,"column":59}},"type":"binary-expr","locations":[{"start":{"line":73,"column":8},"end":{"line":73,"column":44}},{"start":{"line":73,"column":48},"end":{"line":73,"column":59}}],"line":73},"17":{"loc":{"start":{"line":74,"column":28},"end":{"line":74,"column":47}},"type":"binary-expr","locations":[{"start":{"line":74,"column":28},"end":{"line":74,"column":41}},{"start":{"line":74,"column":45},"end":{"line":74,"column":47}}],"line":74},"18":{"loc":{"start":{"line":75,"column":26},"end":{"line":75,"column":87}},"type":"binary-expr","locations":[{"start":{"line":75,"column":26},"end":{"line":75,"column":36}},{"start":{"line":75,"column":40},"end":{"line":75,"column":87}}],"line":75},"19":{"loc":{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},{"start":{},"end":{}}],"line":77},"20":{"loc":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},{"start":{"line":81,"column":11},"end":{"line":85,"column":5}}],"line":79},"21":{"loc":{"start":{"line":79,"column":8},"end":{"line":79,"column":46}},"type":"binary-expr","locations":[{"start":{"line":79,"column":8},"end":{"line":79,"column":24}},{"start":{"line":79,"column":28},"end":{"line":79,"column":46}}],"line":79},"22":{"loc":{"start":{"line":80,"column":22},"end":{"line":80,"column":46}},"type":"binary-expr","locations":[{"start":{"line":80,"column":22},"end":{"line":80,"column":38}},{"start":{"line":80,"column":42},"end":{"line":80,"column":46}}],"line":80},"23":{"loc":{"start":{"line":81,"column":11},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":81,"column":11},"end":{"line":85,"column":5}},{"start":{"line":83,"column":11},"end":{"line":85,"column":5}}],"line":81},"24":{"loc":{"start":{"line":81,"column":15},"end":{"line":81,"column":83}},"type":"binary-expr","locations":[{"start":{"line":81,"column":15},"end":{"line":81,"column":30}},{"start":{"line":81,"column":34},"end":{"line":81,"column":51}},{"start":{"line":81,"column":55},"end":{"line":81,"column":83}}],"line":81},"25":{"loc":{"start":{"line":82,"column":22},"end":{"line":82,"column":45}},"type":"binary-expr","locations":[{"start":{"line":82,"column":22},"end":{"line":82,"column":37}},{"start":{"line":82,"column":41},"end":{"line":82,"column":45}}],"line":82},"26":{"loc":{"start":{"line":83,"column":11},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":83,"column":11},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":83},"27":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":55}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":32}},{"start":{"line":83,"column":36},"end":{"line":83,"column":55}}],"line":83},"28":{"loc":{"start":{"line":84,"column":22},"end":{"line":84,"column":47}},"type":"binary-expr","locations":[{"start":{"line":84,"column":22},"end":{"line":84,"column":39}},{"start":{"line":84,"column":43},"end":{"line":84,"column":47}}],"line":84},"29":{"loc":{"start":{"line":87,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":124,"column":5}},{"start":{"line":91,"column":11},"end":{"line":124,"column":5}}],"line":87},"30":{"loc":{"start":{"line":95,"column":40},"end":{"line":95,"column":122}},"type":"binary-expr","locations":[{"start":{"line":95,"column":40},"end":{"line":95,"column":80}},{"start":{"line":95,"column":84},"end":{"line":95,"column":122}}],"line":95},"31":{"loc":{"start":{"line":98,"column":6},"end":{"line":104,"column":7}},"type":"if","locations":[{"start":{"line":98,"column":6},"end":{"line":104,"column":7}},{"start":{},"end":{}}],"line":98},"32":{"loc":{"start":{"line":98,"column":10},"end":{"line":98,"column":128}},"type":"binary-expr","locations":[{"start":{"line":98,"column":10},"end":{"line":98,"column":35}},{"start":{"line":98,"column":39},"end":{"line":98,"column":62}},{"start":{"line":98,"column":66},"end":{"line":98,"column":97}},{"start":{"line":98,"column":101},"end":{"line":98,"column":128}}],"line":98},"33":{"loc":{"start":{"line":110,"column":27},"end":{"line":110,"column":54}},"type":"binary-expr","locations":[{"start":{"line":110,"column":27},"end":{"line":110,"column":40}},{"start":{"line":110,"column":44},"end":{"line":110,"column":54}}],"line":110},"34":{"loc":{"start":{"line":112,"column":6},"end":{"line":123,"column":7}},"type":"if","locations":[{"start":{"line":112,"column":6},"end":{"line":123,"column":7}},{"start":{},"end":{}}],"line":112},"35":{"loc":{"start":{"line":114,"column":8},"end":{"line":119,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":119,"column":9}},{"start":{"line":116,"column":15},"end":{"line":119,"column":9}}],"line":114},"36":{"loc":{"start":{"line":117,"column":57},"end":{"line":117,"column":146}},"type":"cond-expr","locations":[{"start":{"line":117,"column":92},"end":{"line":117,"column":104}},{"start":{"line":117,"column":107},"end":{"line":117,"column":146}}],"line":117},"37":{"loc":{"start":{"line":117,"column":107},"end":{"line":117,"column":146}},"type":"binary-expr","locations":[{"start":{"line":117,"column":107},"end":{"line":117,"column":126}},{"start":{"line":117,"column":130},"end":{"line":117,"column":140}},{"start":{"line":117,"column":144},"end":{"line":117,"column":146}}],"line":117},"38":{"loc":{"start":{"line":125,"column":4},"end":{"line":127,"column":5}},"type":"if","locations":[{"start":{"line":125,"column":4},"end":{"line":127,"column":5}},{"start":{},"end":{}}],"line":125},"39":{"loc":{"start":{"line":125,"column":8},"end":{"line":125,"column":46}},"type":"binary-expr","locations":[{"start":{"line":125,"column":8},"end":{"line":125,"column":19}},{"start":{"line":125,"column":23},"end":{"line":125,"column":46}}],"line":125}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0,0],"38":[0,0],"39":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnVariable.ts","statementMap":{"0":{"start":{"line":7,"column":29},"end":{"line":7,"column":81}},"1":{"start":{"line":7,"column":46},"end":{"line":7,"column":81}},"2":{"start":{"line":9,"column":2},"end":{"line":14,"column":4}},"3":{"start":{"line":18,"column":2},"end":{"line":19,"column":120}},"4":{"start":{"line":23,"column":2},"end":{"line":44,"column":3}},"5":{"start":{"line":24,"column":31},"end":{"line":24,"column":57}},"6":{"start":{"line":25,"column":34},"end":{"line":25,"column":61}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":142}},"8":{"start":{"line":26,"column":135},"end":{"line":26,"column":142}},"9":{"start":{"line":28,"column":26},"end":{"line":28,"column":136}},"10":{"start":{"line":29,"column":21},"end":{"line":29,"column":121}},"11":{"start":{"line":31,"column":4},"end":{"line":39,"column":5}},"12":{"start":{"line":32,"column":6},"end":{"line":38,"column":7}},"13":{"start":{"line":37,"column":8},"end":{"line":37,"column":15}},"14":{"start":{"line":41,"column":4},"end":{"line":41,"column":45}},"15":{"start":{"line":43,"column":4},"end":{"line":43,"column":52}}},"fnMap":{"0":{"name":"normalizeFigmaColor","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":35}},"loc":{"start":{"line":6,"column":99},"end":{"line":15,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":29},"end":{"line":7,"column":30}},"loc":{"start":{"line":7,"column":46},"end":{"line":7,"column":81}},"line":7},"2":{"name":"isFigmaColorObject","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":27}},"loc":{"start":{"line":17,"column":61},"end":{"line":20,"column":1}},"line":17},"3":{"name":"setColorValuesOnVariable","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":48}},"loc":{"start":{"line":22,"column":98},"end":{"line":45,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":9},"end":{"line":19,"column":119}},"type":"binary-expr","locations":[{"start":{"line":18,"column":9},"end":{"line":18,"column":32}},{"start":{"line":18,"column":36},"end":{"line":18,"column":46}},{"start":{"line":18,"column":50},"end":{"line":18,"column":60}},{"start":{"line":18,"column":64},"end":{"line":18,"column":74}},{"start":{"line":18,"column":78},"end":{"line":18,"column":88}},{"start":{"line":19,"column":7},"end":{"line":19,"column":32}},{"start":{"line":19,"column":36},"end":{"line":19,"column":61}},{"start":{"line":19,"column":65},"end":{"line":19,"column":90}},{"start":{"line":19,"column":94},"end":{"line":19,"column":119}}],"line":18},"1":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":142}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":142}},{"start":{},"end":{}}],"line":26},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":133}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":30}},{"start":{"line":26,"column":34},"end":{"line":26,"column":133}}],"line":26},"3":{"loc":{"start":{"line":26,"column":36},"end":{"line":26,"column":132}},"type":"binary-expr","locations":[{"start":{"line":26,"column":36},"end":{"line":26,"column":77}},{"start":{"line":26,"column":81},"end":{"line":26,"column":132}}],"line":26},"4":{"loc":{"start":{"line":28,"column":26},"end":{"line":28,"column":136}},"type":"cond-expr","locations":[{"start":{"line":28,"column":70},"end":{"line":28,"column":112}},{"start":{"line":28,"column":115},"end":{"line":28,"column":136}}],"line":28},"5":{"loc":{"start":{"line":29,"column":21},"end":{"line":29,"column":121}},"type":"cond-expr","locations":[{"start":{"line":29,"column":49},"end":{"line":29,"column":94}},{"start":{"line":29,"column":97},"end":{"line":29,"column":121}}],"line":29},"6":{"loc":{"start":{"line":31,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":73}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":41}},{"start":{"line":31,"column":45},"end":{"line":31,"column":73}}],"line":31},"8":{"loc":{"start":{"line":32,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":38,"column":7}},{"start":{},"end":{}}],"line":32},"9":{"loc":{"start":{"line":32,"column":10},"end":{"line":35,"column":43}},"type":"binary-expr","locations":[{"start":{"line":32,"column":11},"end":{"line":32,"column":41}},{"start":{"line":33,"column":12},"end":{"line":33,"column":42}},{"start":{"line":34,"column":12},"end":{"line":34,"column":42}},{"start":{"line":35,"column":12},"end":{"line":35,"column":42}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setEffectValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setEffectValuesOnTarget.ts","statementMap":{"0":{"start":{"line":20,"column":2},"end":{"line":29,"column":3}},"1":{"start":{"line":22,"column":6},"end":{"line":22,"column":54}},"2":{"start":{"line":24,"column":6},"end":{"line":24,"column":54}},"3":{"start":{"line":26,"column":6},"end":{"line":26,"column":53}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":48}},"5":{"start":{"line":42,"column":42},"end":{"line":42,"column":131}},"6":{"start":{"line":44,"column":32},"end":{"line":44,"column":64}},"7":{"start":{"line":45,"column":22},"end":{"line":45,"column":27}},"8":{"start":{"line":47,"column":23},"end":{"line":61,"column":3}},"9":{"start":{"line":62,"column":2},"end":{"line":77,"column":3}},"10":{"start":{"line":63,"column":4},"end":{"line":74,"column":5}},"11":{"start":{"line":64,"column":6},"end":{"line":73,"column":7}},"12":{"start":{"line":65,"column":32},"end":{"line":65,"column":103}},"13":{"start":{"line":66,"column":8},"end":{"line":72,"column":9}},"14":{"start":{"line":67,"column":32},"end":{"line":67,"column":138}},"15":{"start":{"line":68,"column":10},"end":{"line":71,"column":12}},"16":{"start":{"line":76,"column":4},"end":{"line":76,"column":21}},"17":{"start":{"line":78,"column":2},"end":{"line":78,"column":16}},"18":{"start":{"line":87,"column":2},"end":{"line":121,"column":3}},"19":{"start":{"line":88,"column":26},"end":{"line":88,"column":63}},"20":{"start":{"line":89,"column":4},"end":{"line":89,"column":53}},"21":{"start":{"line":89,"column":46},"end":{"line":89,"column":53}},"22":{"start":{"line":90,"column":35},"end":{"line":90,"column":48}},"23":{"start":{"line":91,"column":48},"end":{"line":91,"column":114}},"24":{"start":{"line":92,"column":4},"end":{"line":92,"column":53}},"25":{"start":{"line":92,"column":46},"end":{"line":92,"column":53}},"26":{"start":{"line":94,"column":4},"end":{"line":113,"column":5}},"27":{"start":{"line":95,"column":27},"end":{"line":100,"column":9}},"28":{"start":{"line":96,"column":26},"end":{"line":98,"column":10}},"29":{"start":{"line":99,"column":8},"end":{"line":99,"column":25}},"30":{"start":{"line":102,"column":6},"end":{"line":102,"column":92}},"31":{"start":{"line":102,"column":52},"end":{"line":102,"column":92}},"32":{"start":{"line":103,"column":11},"end":{"line":113,"column":5}},"33":{"start":{"line":104,"column":6},"end":{"line":112,"column":7}},"34":{"start":{"line":105,"column":26},"end":{"line":107,"column":10}},"35":{"start":{"line":108,"column":8},"end":{"line":110,"column":10}},"36":{"start":{"line":111,"column":8},"end":{"line":111,"column":26}},"37":{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},"38":{"start":{"line":116,"column":6},"end":{"line":116,"column":39}},"39":{"start":{"line":119,"column":4},"end":{"line":119,"column":45}},"40":{"start":{"line":120,"column":4},"end":{"line":120,"column":21}}},"fnMap":{"0":{"name":"transformShadowKeyToFigmaVariable","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":42}},"loc":{"start":{"line":19,"column":85},"end":{"line":30,"column":1}},"line":19},"1":{"name":"tryApplyCompositeVariable","decl":{"start":{"line":32,"column":15},"end":{"line":32,"column":40}},"loc":{"start":{"line":39,"column":3},"end":{"line":79,"column":1}},"line":39},"2":{"name":"setEffectValuesOnTarget","decl":{"start":{"line":81,"column":30},"end":{"line":81,"column":53}},"loc":{"start":{"line":86,"column":2},"end":{"line":122,"column":1}},"line":86},"3":{"name":"(anonymous_3)","decl":{"start":{"line":95,"column":55},"end":{"line":95,"column":56}},"loc":{"start":{"line":95,"column":71},"end":{"line":100,"column":7}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":29,"column":3}},"type":"switch","locations":[{"start":{"line":21,"column":4},"end":{"line":22,"column":54}},{"start":{"line":23,"column":4},"end":{"line":24,"column":54}},{"start":{"line":25,"column":4},"end":{"line":26,"column":53}},{"start":{"line":27,"column":4},"end":{"line":28,"column":48}}],"line":20},"1":{"loc":{"start":{"line":42,"column":42},"end":{"line":42,"column":131}},"type":"binary-expr","locations":[{"start":{"line":42,"column":42},"end":{"line":42,"column":103}},{"start":{"line":42,"column":107},"end":{"line":42,"column":131}}],"line":42},"2":{"loc":{"start":{"line":58,"column":16},"end":{"line":58,"column":43}},"type":"binary-expr","locations":[{"start":{"line":58,"column":16},"end":{"line":58,"column":31}},{"start":{"line":58,"column":35},"end":{"line":58,"column":43}}],"line":58},"3":{"loc":{"start":{"line":60,"column":7},"end":{"line":60,"column":139}},"type":"cond-expr","locations":[{"start":{"line":60,"column":60},"end":{"line":60,"column":134}},{"start":{"line":60,"column":137},"end":{"line":60,"column":139}}],"line":60},"4":{"loc":{"start":{"line":60,"column":7},"end":{"line":60,"column":57}},"type":"binary-expr","locations":[{"start":{"line":60,"column":7},"end":{"line":60,"column":34}},{"start":{"line":60,"column":38},"end":{"line":60,"column":57}}],"line":60},"5":{"loc":{"start":{"line":64,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":64},"6":{"loc":{"start":{"line":64,"column":10},"end":{"line":64,"column":107}},"type":"binary-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":40}},{"start":{"line":64,"column":44},"end":{"line":64,"column":72}},{"start":{"line":64,"column":76},"end":{"line":64,"column":107}}],"line":64},"7":{"loc":{"start":{"line":66,"column":8},"end":{"line":72,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":72,"column":9}},{"start":{},"end":{}}],"line":66},"8":{"loc":{"start":{"line":85,"column":2},"end":{"line":85,"column":28}},"type":"default-arg","locations":[{"start":{"line":85,"column":19},"end":{"line":85,"column":28}}],"line":85},"9":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":53}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":53}},{"start":{},"end":{}}],"line":89},"10":{"loc":{"start":{"line":92,"column":4},"end":{"line":92,"column":53}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":92,"column":53}},{"start":{},"end":{}}],"line":92},"11":{"loc":{"start":{"line":94,"column":4},"end":{"line":113,"column":5}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":113,"column":5}},{"start":{"line":103,"column":11},"end":{"line":113,"column":5}}],"line":94},"12":{"loc":{"start":{"line":102,"column":6},"end":{"line":102,"column":92}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":102,"column":92}},{"start":{},"end":{}}],"line":102},"13":{"loc":{"start":{"line":102,"column":10},"end":{"line":102,"column":50}},"type":"binary-expr","locations":[{"start":{"line":102,"column":10},"end":{"line":102,"column":29}},{"start":{"line":102,"column":33},"end":{"line":102,"column":50}}],"line":102},"14":{"loc":{"start":{"line":103,"column":11},"end":{"line":113,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":11},"end":{"line":113,"column":5}},{"start":{},"end":{}}],"line":103},"15":{"loc":{"start":{"line":104,"column":6},"end":{"line":112,"column":7}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":112,"column":7}},{"start":{},"end":{}}],"line":104},"16":{"loc":{"start":{"line":104,"column":10},"end":{"line":104,"column":50}},"type":"binary-expr","locations":[{"start":{"line":104,"column":10},"end":{"line":104,"column":29}},{"start":{"line":104,"column":33},"end":{"line":104,"column":50}}],"line":104},"17":{"loc":{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},"type":"if","locations":[{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},{"start":{},"end":{}}],"line":115},"18":{"loc":{"start":{"line":115,"column":8},"end":{"line":115,"column":46}},"type":"binary-expr","locations":[{"start":{"line":115,"column":8},"end":{"line":115,"column":19}},{"start":{"line":115,"column":23},"end":{"line":115,"column":46}}],"line":115}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setFontStyleOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setFontStyleOnTarget.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":6,"column":38}},"1":{"start":{"line":6,"column":31},"end":{"line":6,"column":38}},"2":{"start":{"line":9,"column":6},"end":{"line":9,"column":11}},"3":{"start":{"line":11,"column":17},"end":{"line":11,"column":106}},"4":{"start":{"line":12,"column":16},"end":{"line":12,"column":104}},"5":{"start":{"line":14,"column":2},"end":{"line":70,"column":3}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":49}},"7":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"8":{"start":{"line":17,"column":6},"end":{"line":20,"column":8}},"9":{"start":{"line":23,"column":28},"end":{"line":23,"column":45}},"10":{"start":{"line":24,"column":28},"end":{"line":24,"column":78}},"11":{"start":{"line":25,"column":65},"end":{"line":25,"column":67}},"12":{"start":{"line":26,"column":4},"end":{"line":41,"column":7}},"13":{"start":{"line":27,"column":35},"end":{"line":27,"column":83}},"14":{"start":{"line":28,"column":6},"end":{"line":40,"column":7}},"15":{"start":{"line":29,"column":8},"end":{"line":34,"column":11}},"16":{"start":{"line":30,"column":10},"end":{"line":33,"column":13}},"17":{"start":{"line":36,"column":8},"end":{"line":39,"column":11}},"18":{"start":{"line":43,"column":21},"end":{"line":43,"column":26}},"19":{"start":{"line":45,"column":4},"end":{"line":66,"column":5}},"20":{"start":{"line":45,"column":17},"end":{"line":45,"column":18}},"21":{"start":{"line":46,"column":22},"end":{"line":46,"column":27}},"22":{"start":{"line":47,"column":6},"end":{"line":61,"column":11}},"23":{"start":{"line":50,"column":10},"end":{"line":56,"column":11}},"24":{"start":{"line":51,"column":12},"end":{"line":54,"column":14}},"25":{"start":{"line":55,"column":12},"end":{"line":55,"column":29}},"26":{"start":{"line":60,"column":10},"end":{"line":60,"column":28}},"27":{"start":{"line":62,"column":6},"end":{"line":65,"column":7}},"28":{"start":{"line":63,"column":8},"end":{"line":63,"column":27}},"29":{"start":{"line":64,"column":8},"end":{"line":64,"column":14}},"30":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"31":{"start":{"line":68,"column":6},"end":{"line":68,"column":86}}},"fnMap":{"0":{"name":"setFontStyleOnTarget","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":42}},"loc":{"start":{"line":5,"column":200},"end":{"line":71,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":29},"end":{"line":26,"column":30}},"loc":{"start":{"line":26,"column":54},"end":{"line":41,"column":5}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":32},"end":{"line":29,"column":33}},"loc":{"start":{"line":29,"column":52},"end":{"line":34,"column":9}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":14},"end":{"line":49,"column":15}},"loc":{"start":{"line":49,"column":20},"end":{"line":57,"column":9}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":15},"end":{"line":59,"column":16}},"loc":{"start":{"line":59,"column":21},"end":{"line":61,"column":9}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":38}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":38}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":11,"column":17},"end":{"line":11,"column":106}},"type":"binary-expr","locations":[{"start":{"line":11,"column":17},"end":{"line":11,"column":39}},{"start":{"line":11,"column":44},"end":{"line":11,"column":105}}],"line":11},"2":{"loc":{"start":{"line":11,"column":44},"end":{"line":11,"column":105}},"type":"cond-expr","locations":[{"start":{"line":11,"column":78},"end":{"line":11,"column":100}},{"start":{"line":11,"column":103},"end":{"line":11,"column":105}}],"line":11},"3":{"loc":{"start":{"line":12,"column":16},"end":{"line":12,"column":104}},"type":"binary-expr","locations":[{"start":{"line":12,"column":16},"end":{"line":12,"column":38}},{"start":{"line":12,"column":43},"end":{"line":12,"column":103}}],"line":12},"4":{"loc":{"start":{"line":12,"column":43},"end":{"line":12,"column":103}},"type":"cond-expr","locations":[{"start":{"line":12,"column":77},"end":{"line":12,"column":98}},{"start":{"line":12,"column":101},"end":{"line":12,"column":103}}],"line":12},"5":{"loc":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},{"start":{},"end":{}}],"line":16},"6":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":32}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":18}},{"start":{"line":16,"column":22},"end":{"line":16,"column":32}}],"line":16},"7":{"loc":{"start":{"line":28,"column":6},"end":{"line":40,"column":7}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":40,"column":7}},{"start":{"line":35,"column":13},"end":{"line":40,"column":7}}],"line":28},"8":{"loc":{"start":{"line":50,"column":10},"end":{"line":56,"column":11}},"type":"if","locations":[{"start":{"line":50,"column":10},"end":{"line":56,"column":11}},{"start":{},"end":{}}],"line":50},"9":{"loc":{"start":{"line":62,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":62},"10":{"loc":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setImageValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setImageValuesOnTarget.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":33,"column":3}},"1":{"start":{"line":9,"column":35},"end":{"line":9,"column":40}},"2":{"start":{"line":10,"column":4},"end":{"line":26,"column":5}},"3":{"start":{"line":11,"column":31},"end":{"line":16,"column":10}},"4":{"start":{"line":12,"column":28},"end":{"line":12,"column":50}},"5":{"start":{"line":14,"column":10},"end":{"line":14,"column":60}},"6":{"start":{"line":15,"column":10},"end":{"line":15,"column":22}},"7":{"start":{"line":17,"column":6},"end":{"line":25,"column":7}},"8":{"start":{"line":18,"column":22},"end":{"line":18,"column":73}},"9":{"start":{"line":19,"column":25},"end":{"line":23,"column":18}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":34}},"11":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"12":{"start":{"line":29,"column":6},"end":{"line":29,"column":39}},"13":{"start":{"line":32,"column":4},"end":{"line":32,"column":44}}},"fnMap":{"0":{"name":"setImageValuesOnTarget","decl":{"start":{"line":4,"column":30},"end":{"line":4,"column":52}},"loc":{"start":{"line":7,"column":2},"end":{"line":34,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":14},"end":{"line":12,"column":15}},"loc":{"start":{"line":12,"column":28},"end":{"line":12,"column":50}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":15},"end":{"line":13,"column":16}},"loc":{"start":{"line":13,"column":21},"end":{"line":16,"column":9}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":10,"column":8},"end":{"line":10,"column":57}},"type":"binary-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":25}},{"start":{"line":10,"column":29},"end":{"line":10,"column":57}}],"line":10},"2":{"loc":{"start":{"line":17,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":28},"4":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":46}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":19}},{"start":{"line":28,"column":23},"end":{"line":28,"column":46}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setNumberValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setNumberValuesOnVariable.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":65}},"3":{"start":{"line":8,"column":34},"end":{"line":8,"column":61}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":155}},"5":{"start":{"line":9,"column":148},"end":{"line":9,"column":155}},"6":{"start":{"line":11,"column":21},"end":{"line":11,"column":26}},"7":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":47}},"9":{"start":{"line":17,"column":4},"end":{"line":17,"column":80}}},"fnMap":{"0":{"name":"setNumberValuesOnVariable","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"loc":{"start":{"line":3,"column":99},"end":{"line":19,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":155}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":155}},{"start":{},"end":{}}],"line":9},"2":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":146}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":43}},{"start":{"line":9,"column":47},"end":{"line":9,"column":146}}],"line":9},"3":{"loc":{"start":{"line":9,"column":49},"end":{"line":9,"column":145}},"type":"binary-expr","locations":[{"start":{"line":9,"column":49},"end":{"line":9,"column":90}},{"start":{"line":9,"column":94},"end":{"line":9,"column":145}}],"line":9},"4":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setStringValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setStringValuesOnVariable.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":5,"column":34},"end":{"line":5,"column":61}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":142}},"3":{"start":{"line":6,"column":135},"end":{"line":6,"column":142}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":44}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":53}}},"fnMap":{"0":{"name":"setStringValuesOnVariable","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"loc":{"start":{"line":3,"column":99},"end":{"line":14,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":142}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":142}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":6,"column":8},"end":{"line":6,"column":133}},"type":"binary-expr","locations":[{"start":{"line":6,"column":8},"end":{"line":6,"column":30}},{"start":{"line":6,"column":34},"end":{"line":6,"column":133}}],"line":6},"2":{"loc":{"start":{"line":6,"column":36},"end":{"line":6,"column":132}},"type":"binary-expr","locations":[{"start":{"line":6,"column":36},"end":{"line":6,"column":77}},{"start":{"line":6,"column":81},"end":{"line":6,"column":132}}],"line":6},"3":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setTextValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setTextValuesOnTarget.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":25,"column":3}},"1":{"start":{"line":11,"column":26},"end":{"line":11,"column":63}},"2":{"start":{"line":12,"column":4},"end":{"line":12,"column":53}},"3":{"start":{"line":12,"column":46},"end":{"line":12,"column":53}},"4":{"start":{"line":13,"column":35},"end":{"line":13,"column":48}},"5":{"start":{"line":14,"column":52},"end":{"line":14,"column":118}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"7":{"start":{"line":15,"column":46},"end":{"line":15,"column":53}},"8":{"start":{"line":17,"column":4},"end":{"line":22,"column":5}},"9":{"start":{"line":18,"column":6},"end":{"line":20,"column":9}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":83}},"11":{"start":{"line":21,"column":50},"end":{"line":21,"column":83}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":66}}},"fnMap":{"0":{"name":"setTextValuesOnTarget","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":43}},"loc":{"start":{"line":9,"column":2},"end":{"line":26,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":29}},"type":"default-arg","locations":[{"start":{"line":8,"column":25},"end":{"line":8,"column":29}}],"line":8},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":53}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":53}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},{"start":{},"end":{}}],"line":15},"3":{"loc":{"start":{"line":17,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":17},"4":{"loc":{"start":{"line":21,"column":6},"end":{"line":21,"column":83}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":83}},{"start":{},"end":{}}],"line":21},"5":{"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":48}},"type":"binary-expr","locations":[{"start":{"line":21,"column":10},"end":{"line":21,"column":33}},{"start":{"line":21,"column":37},"end":{"line":21,"column":48}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnNode.ts","statementMap":{"0":{"start":{"line":36,"column":2},"end":{"line":69,"column":3}},"1":{"start":{"line":37,"column":4},"end":{"line":66,"column":5}},"2":{"start":{"line":43,"column":6},"end":{"line":48,"column":9}},"3":{"start":{"line":44,"column":8},"end":{"line":47,"column":9}},"4":{"start":{"line":45,"column":10},"end":{"line":45,"column":56}},"5":{"start":{"line":46,"column":10},"end":{"line":46,"column":29}},"6":{"start":{"line":49,"column":6},"end":{"line":49,"column":70}},"7":{"start":{"line":50,"column":6},"end":{"line":50,"column":76}},"8":{"start":{"line":51,"column":6},"end":{"line":51,"column":70}},"9":{"start":{"line":52,"column":6},"end":{"line":52,"column":78}},"10":{"start":{"line":53,"column":6},"end":{"line":53,"column":75}},"11":{"start":{"line":54,"column":6},"end":{"line":54,"column":71}},"12":{"start":{"line":55,"column":6},"end":{"line":55,"column":70}},"13":{"start":{"line":56,"column":6},"end":{"line":56,"column":71}},"14":{"start":{"line":57,"column":6},"end":{"line":57,"column":72}},"15":{"start":{"line":58,"column":6},"end":{"line":58,"column":54}},"16":{"start":{"line":59,"column":6},"end":{"line":59,"column":71}},"17":{"start":{"line":60,"column":6},"end":{"line":60,"column":73}},"18":{"start":{"line":61,"column":6},"end":{"line":61,"column":60}},"19":{"start":{"line":62,"column":6},"end":{"line":62,"column":78}},"20":{"start":{"line":63,"column":6},"end":{"line":63,"column":75}},"21":{"start":{"line":64,"column":6},"end":{"line":64,"column":62}},"22":{"start":{"line":65,"column":6},"end":{"line":65,"column":63}},"23":{"start":{"line":68,"column":4},"end":{"line":68,"column":49}}},"fnMap":{"0":{"name":"setValuesOnNode","decl":{"start":{"line":25,"column":30},"end":{"line":25,"column":45}},"loc":{"start":{"line":35,"column":3},"end":{"line":70,"column":1}},"line":35},"1":{"name":"(anonymous_1)","decl":{"start":{"line":43,"column":37},"end":{"line":43,"column":38}},"loc":{"start":{"line":43,"column":55},"end":{"line":48,"column":7}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":2},"end":{"line":29,"column":36}},"type":"default-arg","locations":[{"start":{"line":29,"column":17},"end":{"line":29,"column":36}}],"line":29},"1":{"loc":{"start":{"line":37,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":37},"2":{"loc":{"start":{"line":38,"column":6},"end":{"line":41,"column":35}},"type":"binary-expr","locations":[{"start":{"line":38,"column":6},"end":{"line":38,"column":31}},{"start":{"line":39,"column":9},"end":{"line":39,"column":40}},{"start":{"line":40,"column":9},"end":{"line":40,"column":31}},{"start":{"line":41,"column":9},"end":{"line":41,"column":35}}],"line":38},"3":{"loc":{"start":{"line":44,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":47,"column":9}},{"start":{},"end":{}}],"line":44}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnVariable.ts","statementMap":{"0":{"start":{"line":25,"column":49},"end":{"line":25,"column":51}},"1":{"start":{"line":26,"column":63},"end":{"line":26,"column":65}},"2":{"start":{"line":27,"column":40},"end":{"line":27,"column":42}},"3":{"start":{"line":28,"column":2},"end":{"line":100,"column":3}},"4":{"start":{"line":29,"column":4},"end":{"line":97,"column":8}},"5":{"start":{"line":30,"column":27},"end":{"line":30,"column":82}},"6":{"start":{"line":34,"column":23},"end":{"line":34,"column":191}},"7":{"start":{"line":34,"column":52},"end":{"line":34,"column":118}},"8":{"start":{"line":36,"column":6},"end":{"line":96,"column":7}},"9":{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},"10":{"start":{"line":39,"column":10},"end":{"line":39,"column":49}},"11":{"start":{"line":40,"column":10},"end":{"line":40,"column":37}},"12":{"start":{"line":42,"column":8},"end":{"line":48,"column":9}},"13":{"start":{"line":49,"column":8},"end":{"line":49,"column":55}},"14":{"start":{"line":51,"column":8},"end":{"line":81,"column":9}},"15":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"16":{"start":{"line":54,"column":14},"end":{"line":54,"column":70}},"17":{"start":{"line":56,"column":12},"end":{"line":56,"column":18}},"18":{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},"19":{"start":{"line":59,"column":14},"end":{"line":59,"column":68}},"20":{"start":{"line":61,"column":12},"end":{"line":61,"column":18}},"21":{"start":{"line":63,"column":26},"end":{"line":63,"column":45}},"22":{"start":{"line":64,"column":12},"end":{"line":67,"column":13}},"23":{"start":{"line":65,"column":39},"end":{"line":65,"column":92}},"24":{"start":{"line":66,"column":14},"end":{"line":66,"column":82}},"25":{"start":{"line":68,"column":12},"end":{"line":68,"column":18}},"26":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"27":{"start":{"line":72,"column":14},"end":{"line":72,"column":69}},"28":{"start":{"line":75,"column":19},"end":{"line":77,"column":13}},"29":{"start":{"line":76,"column":14},"end":{"line":76,"column":72}},"30":{"start":{"line":78,"column":12},"end":{"line":78,"column":18}},"31":{"start":{"line":80,"column":12},"end":{"line":80,"column":18}},"32":{"start":{"line":82,"column":41},"end":{"line":82,"column":43}},"33":{"start":{"line":83,"column":8},"end":{"line":87,"column":9}},"34":{"start":{"line":84,"column":10},"end":{"line":84,"column":105}},"35":{"start":{"line":86,"column":10},"end":{"line":86,"column":71}},"36":{"start":{"line":88,"column":8},"end":{"line":88,"column":50}},"37":{"start":{"line":89,"column":8},"end":{"line":95,"column":9}},"38":{"start":{"line":90,"column":10},"end":{"line":94,"column":13}},"39":{"start":{"line":99,"column":4},"end":{"line":99,"column":58}},"40":{"start":{"line":102,"column":2},"end":{"line":106,"column":4}}},"fnMap":{"0":{"name":"setValuesOnVariable","decl":{"start":{"line":17,"column":30},"end":{"line":17,"column":49}},"loc":{"start":{"line":24,"column":2},"end":{"line":107,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":33},"end":{"line":29,"column":34}},"loc":{"start":{"line":29,"column":50},"end":{"line":97,"column":5}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":45},"end":{"line":34,"column":46}},"loc":{"start":{"line":34,"column":52},"end":{"line":34,"column":118}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":22}},"type":"default-arg","locations":[{"start":{"line":23,"column":17},"end":{"line":23,"column":22}}],"line":23},"1":{"loc":{"start":{"line":34,"column":23},"end":{"line":34,"column":191}},"type":"binary-expr","locations":[{"start":{"line":34,"column":23},"end":{"line":34,"column":119}},{"start":{"line":34,"column":123},"end":{"line":34,"column":191}}],"line":34},"2":{"loc":{"start":{"line":34,"column":52},"end":{"line":34,"column":118}},"type":"binary-expr","locations":[{"start":{"line":34,"column":53},"end":{"line":34,"column":79}},{"start":{"line":34,"column":83},"end":{"line":34,"column":92}},{"start":{"line":34,"column":97},"end":{"line":34,"column":118}}],"line":34},"3":{"loc":{"start":{"line":36,"column":6},"end":{"line":96,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":96,"column":7}},{"start":{},"end":{}}],"line":36},"4":{"loc":{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},{"start":{},"end":{}}],"line":38},"5":{"loc":{"start":{"line":38,"column":12},"end":{"line":38,"column":56}},"type":"binary-expr","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":40}},{"start":{"line":38,"column":44},"end":{"line":38,"column":56}}],"line":38},"6":{"loc":{"start":{"line":42,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":48,"column":9}},{"start":{},"end":{}}],"line":42},"7":{"loc":{"start":{"line":49,"column":31},"end":{"line":49,"column":54}},"type":"binary-expr","locations":[{"start":{"line":49,"column":31},"end":{"line":49,"column":48}},{"start":{"line":49,"column":52},"end":{"line":49,"column":54}}],"line":49},"8":{"loc":{"start":{"line":51,"column":8},"end":{"line":81,"column":9}},"type":"switch","locations":[{"start":{"line":52,"column":10},"end":{"line":56,"column":18}},{"start":{"line":57,"column":10},"end":{"line":61,"column":18}},{"start":{"line":62,"column":10},"end":{"line":69,"column":11}},{"start":{"line":70,"column":10},"end":{"line":78,"column":18}},{"start":{"line":79,"column":10},"end":{"line":80,"column":18}}],"line":51},"9":{"loc":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},{"start":{},"end":{}}],"line":53},"10":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":77}},"type":"binary-expr","locations":[{"start":{"line":53,"column":16},"end":{"line":53,"column":47}},{"start":{"line":53,"column":51},"end":{"line":53,"column":77}}],"line":53},"11":{"loc":{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},"type":"if","locations":[{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},{"start":{},"end":{}}],"line":58},"12":{"loc":{"start":{"line":58,"column":16},"end":{"line":58,"column":77}},"type":"binary-expr","locations":[{"start":{"line":58,"column":16},"end":{"line":58,"column":47}},{"start":{"line":58,"column":51},"end":{"line":58,"column":77}}],"line":58},"13":{"loc":{"start":{"line":64,"column":12},"end":{"line":67,"column":13}},"type":"if","locations":[{"start":{"line":64,"column":12},"end":{"line":67,"column":13}},{"start":{},"end":{}}],"line":64},"14":{"loc":{"start":{"line":64,"column":16},"end":{"line":64,"column":65}},"type":"binary-expr","locations":[{"start":{"line":64,"column":16},"end":{"line":64,"column":41}},{"start":{"line":64,"column":45},"end":{"line":64,"column":65}}],"line":64},"15":{"loc":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},{"start":{"line":75,"column":19},"end":{"line":77,"column":13}}],"line":71},"16":{"loc":{"start":{"line":71,"column":16},"end":{"line":71,"column":77}},"type":"binary-expr","locations":[{"start":{"line":71,"column":16},"end":{"line":71,"column":47}},{"start":{"line":71,"column":51},"end":{"line":71,"column":77}}],"line":71},"17":{"loc":{"start":{"line":75,"column":19},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":75,"column":19},"end":{"line":77,"column":13}},{"start":{},"end":{}}],"line":75},"18":{"loc":{"start":{"line":75,"column":23},"end":{"line":75,"column":91}},"type":"binary-expr","locations":[{"start":{"line":75,"column":23},"end":{"line":75,"column":61}},{"start":{"line":75,"column":65},"end":{"line":75,"column":91}}],"line":75},"19":{"loc":{"start":{"line":83,"column":8},"end":{"line":87,"column":9}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":87,"column":9}},{"start":{"line":85,"column":15},"end":{"line":87,"column":9}}],"line":83},"20":{"loc":{"start":{"line":83,"column":12},"end":{"line":83,"column":72}},"type":"binary-expr","locations":[{"start":{"line":83,"column":12},"end":{"line":83,"column":26}},{"start":{"line":83,"column":30},"end":{"line":83,"column":72}}],"line":83},"21":{"loc":{"start":{"line":89,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":89,"column":8},"end":{"line":95,"column":9}},{"start":{},"end":{}}],"line":89},"22":{"loc":{"start":{"line":89,"column":12},"end":{"line":89,"column":53}},"type":"binary-expr","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":17}},{"start":{"line":89,"column":21},"end":{"line":89,"column":53}}],"line":89}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/store.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/store.ts","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/transformTypographyKeyToFigmaVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/transformTypographyKeyToFigmaVariable.ts","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":4,"column":4},"end":{"line":4,"column":70}},"2":{"start":{"line":4,"column":50},"end":{"line":4,"column":70}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":23}},"4":{"start":{"line":7,"column":2},"end":{"line":7,"column":42}}},"fnMap":{"0":{"name":"transformTypographyKeyToFigmaVariable","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":53}},"loc":{"start":{"line":1,"column":122},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":3},"1":{"loc":{"start":{"line":3,"column":6},"end":{"line":3,"column":45}},"type":"binary-expr","locations":[{"start":{"line":3,"column":6},"end":{"line":3,"column":26}},{"start":{"line":3,"column":30},"end":{"line":3,"column":45}}],"line":3},"2":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":70}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":70}},{"start":{},"end":{}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/tryApplyTypographyCompositeVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/tryApplyTypographyCompositeVariable.ts","statementMap":{"0":{"start":{"line":19,"column":45},"end":{"line":19,"column":71}},"1":{"start":{"line":20,"column":40},"end":{"line":20,"column":117}},"2":{"start":{"line":21,"column":18},"end":{"line":21,"column":39}},"3":{"start":{"line":22,"column":42},"end":{"line":22,"column":163}},"4":{"start":{"line":24,"column":2},"end":{"line":24,"column":40}},"5":{"start":{"line":24,"column":33},"end":{"line":24,"column":40}},"6":{"start":{"line":26,"column":2},"end":{"line":75,"column":3}},"7":{"start":{"line":28,"column":4},"end":{"line":72,"column":5}},"8":{"start":{"line":28,"column":85},"end":{"line":28,"column":116}},"9":{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},"10":{"start":{"line":29,"column":38},"end":{"line":29,"column":45}},"11":{"start":{"line":30,"column":40},"end":{"line":30,"column":45}},"12":{"start":{"line":31,"column":6},"end":{"line":56,"column":7}},"13":{"start":{"line":32,"column":32},"end":{"line":32,"column":137}},"14":{"start":{"line":33,"column":20},"end":{"line":33,"column":87}},"15":{"start":{"line":37,"column":8},"end":{"line":45,"column":9}},"16":{"start":{"line":38,"column":37},"end":{"line":38,"column":83}},"17":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"18":{"start":{"line":40,"column":34},"end":{"line":40,"column":141}},"19":{"start":{"line":40,"column":97},"end":{"line":40,"column":140}},"20":{"start":{"line":41,"column":12},"end":{"line":43,"column":13}},"21":{"start":{"line":42,"column":14},"end":{"line":42,"column":55}},"22":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"23":{"start":{"line":47,"column":10},"end":{"line":47,"column":90}},"24":{"start":{"line":47,"column":47},"end":{"line":47,"column":90}},"25":{"start":{"line":48,"column":10},"end":{"line":54,"column":11}},"26":{"start":{"line":49,"column":12},"end":{"line":49,"column":58}},"27":{"start":{"line":50,"column":12},"end":{"line":50,"column":47}},"28":{"start":{"line":53,"column":12},"end":{"line":53,"column":79}},"29":{"start":{"line":58,"column":6},"end":{"line":71,"column":7}},"30":{"start":{"line":60,"column":8},"end":{"line":70,"column":9}},"31":{"start":{"line":61,"column":10},"end":{"line":63,"column":11}},"32":{"start":{"line":62,"column":12},"end":{"line":62,"column":130}},"33":{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},"34":{"start":{"line":65,"column":47},"end":{"line":65,"column":90}},"35":{"start":{"line":66,"column":35},"end":{"line":66,"column":96}},"36":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"37":{"start":{"line":68,"column":12},"end":{"line":68,"column":51}},"38":{"start":{"line":74,"column":4},"end":{"line":74,"column":21}}},"fnMap":{"0":{"name":"tryApplyTypographyCompositeVariable","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":57}},"loc":{"start":{"line":16,"column":3},"end":{"line":76,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":66},"end":{"line":28,"column":67}},"loc":{"start":{"line":28,"column":85},"end":{"line":28,"column":116}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":87},"end":{"line":40,"column":88}},"loc":{"start":{"line":40,"column":97},"end":{"line":40,"column":140}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":42},"end":{"line":22,"column":163}},"type":"binary-expr","locations":[{"start":{"line":22,"column":43},"end":{"line":22,"column":50}},{"start":{"line":22,"column":54},"end":{"line":22,"column":115}},{"start":{"line":22,"column":121},"end":{"line":22,"column":129}},{"start":{"line":22,"column":133},"end":{"line":22,"column":162}}],"line":22},"1":{"loc":{"start":{"line":24,"column":2},"end":{"line":24,"column":40}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":24,"column":40}},{"start":{},"end":{}}],"line":24},"2":{"loc":{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},{"start":{},"end":{}}],"line":29},"3":{"loc":{"start":{"line":31,"column":6},"end":{"line":56,"column":7}},"type":"if","locations":[{"start":{"line":31,"column":6},"end":{"line":56,"column":7}},{"start":{},"end":{}}],"line":31},"4":{"loc":{"start":{"line":31,"column":10},"end":{"line":31,"column":154}},"type":"binary-expr","locations":[{"start":{"line":31,"column":10},"end":{"line":31,"column":64}},{"start":{"line":31,"column":68},"end":{"line":31,"column":119}},{"start":{"line":31,"column":123},"end":{"line":31,"column":154}}],"line":31},"5":{"loc":{"start":{"line":37,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":45,"column":9}},{"start":{},"end":{}}],"line":37},"6":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":51}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":32}},{"start":{"line":37,"column":36},"end":{"line":37,"column":51}}],"line":37},"7":{"loc":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"type":"if","locations":[{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},{"start":{},"end":{}}],"line":39},"8":{"loc":{"start":{"line":40,"column":35},"end":{"line":40,"column":78}},"type":"binary-expr","locations":[{"start":{"line":40,"column":35},"end":{"line":40,"column":72}},{"start":{"line":40,"column":76},"end":{"line":40,"column":78}}],"line":40},"9":{"loc":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},{"start":{},"end":{}}],"line":46},"10":{"loc":{"start":{"line":47,"column":10},"end":{"line":47,"column":90}},"type":"if","locations":[{"start":{"line":47,"column":10},"end":{"line":47,"column":90}},{"start":{},"end":{}}],"line":47},"11":{"loc":{"start":{"line":58,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":58,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":58},"12":{"loc":{"start":{"line":60,"column":8},"end":{"line":70,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":70,"column":9}},{"start":{"line":64,"column":15},"end":{"line":70,"column":9}}],"line":60},"13":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":72}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":40}},{"start":{"line":60,"column":44},"end":{"line":60,"column":72}}],"line":60},"14":{"loc":{"start":{"line":61,"column":10},"end":{"line":63,"column":11}},"type":"if","locations":[{"start":{"line":61,"column":10},"end":{"line":63,"column":11}},{"start":{},"end":{}}],"line":61},"15":{"loc":{"start":{"line":61,"column":14},"end":{"line":61,"column":86}},"type":"binary-expr","locations":[{"start":{"line":61,"column":14},"end":{"line":61,"column":34}},{"start":{"line":61,"column":39},"end":{"line":61,"column":60}},{"start":{"line":61,"column":64},"end":{"line":61,"column":85}}],"line":61},"16":{"loc":{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},"type":"if","locations":[{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},{"start":{},"end":{}}],"line":65},"17":{"loc":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"type":"if","locations":[{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},{"start":{},"end":{}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/unbindVariableFromTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/unbindVariableFromTarget.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"1":{"start":{"line":5,"column":22},"end":{"line":5,"column":40}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":101}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":28}},"4":{"start":{"line":8,"column":4},"end":{"line":8,"column":23}},"5":{"start":{"line":11,"column":2},"end":{"line":11,"column":21}}},"fnMap":{"0":{"name":"unbindVariableFromTarget","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":46}},"loc":{"start":{"line":3,"column":132},"end":{"line":12,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":6,"column":60},"end":{"line":6,"column":84}},"type":"binary-expr","locations":[{"start":{"line":6,"column":60},"end":{"line":6,"column":72}},{"start":{"line":6,"column":76},"end":{"line":6,"column":84}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateColorStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateColorStyles.ts","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":9,"column":44}},"1":{"start":{"line":10,"column":24},"end":{"line":10,"column":46}},"2":{"start":{"line":11,"column":50},"end":{"line":11,"column":52}},"3":{"start":{"line":13,"column":2},"end":{"line":31,"column":6}},"4":{"start":{"line":14,"column":4},"end":{"line":30,"column":5}},"5":{"start":{"line":15,"column":20},"end":{"line":15,"column":52}},"6":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"7":{"start":{"line":17,"column":8},"end":{"line":17,"column":32}},"8":{"start":{"line":19,"column":6},"end":{"line":19,"column":45}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":88}},"10":{"start":{"line":21,"column":11},"end":{"line":30,"column":5}},"11":{"start":{"line":22,"column":20},"end":{"line":22,"column":50}},"12":{"start":{"line":23,"column":6},"end":{"line":23,"column":45}},"13":{"start":{"line":24,"column":6},"end":{"line":24,"column":88}},"14":{"start":{"line":25,"column":11},"end":{"line":30,"column":5}},"15":{"start":{"line":26,"column":20},"end":{"line":26,"column":44}},"16":{"start":{"line":27,"column":6},"end":{"line":27,"column":30}},"17":{"start":{"line":28,"column":6},"end":{"line":28,"column":45}},"18":{"start":{"line":29,"column":6},"end":{"line":29,"column":88}},"19":{"start":{"line":32,"column":2},"end":{"line":32,"column":25}}},"fnMap":{"0":{"name":"updateColorStyles","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":166},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":36},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":53},"end":{"line":31,"column":3}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":122},"end":{"line":8,"column":142}},"type":"default-arg","locations":[{"start":{"line":8,"column":137},"end":{"line":8,"column":142}}],"line":8},"1":{"loc":{"start":{"line":8,"column":144},"end":{"line":8,"column":164}},"type":"default-arg","locations":[{"start":{"line":8,"column":159},"end":{"line":8,"column":164}}],"line":8},"2":{"loc":{"start":{"line":14,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":30,"column":5}},{"start":{"line":21,"column":11},"end":{"line":30,"column":5}}],"line":14},"3":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{},"end":{}}],"line":16},"4":{"loc":{"start":{"line":21,"column":11},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":11},"end":{"line":30,"column":5}},{"start":{"line":25,"column":11},"end":{"line":30,"column":5}}],"line":21},"5":{"loc":{"start":{"line":25,"column":11},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":11},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateEffectStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateEffectStyles.ts","statementMap":{"0":{"start":{"line":19,"column":30},"end":{"line":19,"column":52}},"1":{"start":{"line":20,"column":31},"end":{"line":20,"column":54}},"2":{"start":{"line":21,"column":50},"end":{"line":21,"column":52}},"3":{"start":{"line":23,"column":2},"end":{"line":43,"column":6}},"4":{"start":{"line":24,"column":4},"end":{"line":42,"column":5}},"5":{"start":{"line":25,"column":26},"end":{"line":25,"column":65}},"6":{"start":{"line":26,"column":6},"end":{"line":28,"column":7}},"7":{"start":{"line":27,"column":8},"end":{"line":27,"column":38}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":51}},"9":{"start":{"line":30,"column":6},"end":{"line":30,"column":75}},"10":{"start":{"line":31,"column":11},"end":{"line":42,"column":5}},"11":{"start":{"line":32,"column":26},"end":{"line":32,"column":63}},"12":{"start":{"line":33,"column":6},"end":{"line":33,"column":51}},"13":{"start":{"line":35,"column":6},"end":{"line":35,"column":75}},"14":{"start":{"line":36,"column":11},"end":{"line":42,"column":5}},"15":{"start":{"line":37,"column":20},"end":{"line":37,"column":45}},"16":{"start":{"line":38,"column":6},"end":{"line":38,"column":30}},"17":{"start":{"line":39,"column":6},"end":{"line":39,"column":45}},"18":{"start":{"line":41,"column":6},"end":{"line":41,"column":69}},"19":{"start":{"line":45,"column":2},"end":{"line":45,"column":25}}},"fnMap":{"0":{"name":"updateEffectStyles","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":48}},"loc":{"start":{"line":18,"column":3},"end":{"line":46,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":37},"end":{"line":23,"column":38}},"loc":{"start":{"line":23,"column":54},"end":{"line":43,"column":3}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":22}},"type":"default-arg","locations":[{"start":{"line":11,"column":17},"end":{"line":11,"column":22}}],"line":11},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":22}},"type":"default-arg","locations":[{"start":{"line":12,"column":17},"end":{"line":12,"column":22}}],"line":12},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":42,"column":5}},{"start":{"line":31,"column":11},"end":{"line":42,"column":5}}],"line":24},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":28,"column":7}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":31,"column":11},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":11},"end":{"line":42,"column":5}},{"start":{"line":36,"column":11},"end":{"line":42,"column":5}}],"line":31},"5":{"loc":{"start":{"line":36,"column":11},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":11},"end":{"line":42,"column":5}},{"start":{},"end":{}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateNodes.ts","statementMap":{"0":{"start":{"line":17,"column":27},"end":{"line":17,"column":41}},"1":{"start":{"line":19,"column":2},"end":{"line":27,"column":5}},"2":{"start":{"line":29,"column":18},"end":{"line":29,"column":72}},"3":{"start":{"line":30,"column":39},"end":{"line":30,"column":48}},"4":{"start":{"line":32,"column":17},"end":{"line":32,"column":55}},"5":{"start":{"line":34,"column":2},"end":{"line":56,"column":5}},"6":{"start":{"line":35,"column":4},"end":{"line":55,"column":6}},"7":{"start":{"line":37,"column":8},"end":{"line":53,"column":9}},"8":{"start":{"line":38,"column":30},"end":{"line":38,"column":77}},"9":{"start":{"line":39,"column":30},"end":{"line":39,"column":70}},"10":{"start":{"line":40,"column":10},"end":{"line":47,"column":12}},"11":{"start":{"line":49,"column":10},"end":{"line":49,"column":38}},"12":{"start":{"line":51,"column":10},"end":{"line":51,"column":25}},"13":{"start":{"line":52,"column":10},"end":{"line":52,"column":38}},"14":{"start":{"line":57,"column":2},"end":{"line":57,"column":30}},"15":{"start":{"line":59,"column":2},"end":{"line":62,"column":5}}},"fnMap":{"0":{"name":"updateNodes","decl":{"start":{"line":12,"column":22},"end":{"line":12,"column":33}},"loc":{"start":{"line":15,"column":2},"end":{"line":63,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},"loc":{"start":{"line":34,"column":53},"end":{"line":56,"column":3}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":29},"end":{"line":36,"column":30}},"loc":{"start":{"line":36,"column":41},"end":{"line":54,"column":7}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":27},"end":{"line":17,"column":41}},"type":"binary-expr","locations":[{"start":{"line":17,"column":27},"end":{"line":17,"column":35}},{"start":{"line":17,"column":39},"end":{"line":17,"column":41}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updatePluginDataAndNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updatePluginDataAndNodes.ts","statementMap":{"0":{"start":{"line":19,"column":27},"end":{"line":19,"column":41}},"1":{"start":{"line":21,"column":20},"end":{"line":21,"column":53}},"2":{"start":{"line":22,"column":2},"end":{"line":30,"column":5}},"3":{"start":{"line":32,"column":18},"end":{"line":32,"column":77}},"4":{"start":{"line":33,"column":39},"end":{"line":33,"column":48}},"5":{"start":{"line":35,"column":2},"end":{"line":70,"column":5}},"6":{"start":{"line":36,"column":4},"end":{"line":69,"column":8}},"7":{"start":{"line":37,"column":6},"end":{"line":68,"column":7}},"8":{"start":{"line":38,"column":8},"end":{"line":51,"column":12}},"9":{"start":{"line":39,"column":28},"end":{"line":39,"column":49}},"10":{"start":{"line":40,"column":10},"end":{"line":50,"column":11}},"11":{"start":{"line":42,"column":14},"end":{"line":42,"column":106}},"12":{"start":{"line":43,"column":14},"end":{"line":43,"column":20}},"13":{"start":{"line":45,"column":14},"end":{"line":45,"column":81}},"14":{"start":{"line":46,"column":14},"end":{"line":46,"column":20}},"15":{"start":{"line":48,"column":14},"end":{"line":48,"column":66}},"16":{"start":{"line":49,"column":14},"end":{"line":49,"column":20}},"17":{"start":{"line":52,"column":28},"end":{"line":52,"column":76}},"18":{"start":{"line":53,"column":29},"end":{"line":53,"column":70}},"19":{"start":{"line":55,"column":8},"end":{"line":62,"column":10}},"20":{"start":{"line":64,"column":8},"end":{"line":64,"column":36}},"21":{"start":{"line":66,"column":8},"end":{"line":66,"column":23}},"22":{"start":{"line":67,"column":8},"end":{"line":67,"column":36}},"23":{"start":{"line":71,"column":2},"end":{"line":71,"column":30}},"24":{"start":{"line":73,"column":2},"end":{"line":76,"column":5}}},"fnMap":{"0":{"name":"updatePluginDataAndNodes","decl":{"start":{"line":15,"column":22},"end":{"line":15,"column":46}},"loc":{"start":{"line":17,"column":134},"end":{"line":77,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":16},"end":{"line":35,"column":17}},"loc":{"start":{"line":35,"column":26},"end":{"line":70,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":40},"end":{"line":36,"column":41}},"loc":{"start":{"line":36,"column":52},"end":{"line":69,"column":5}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":58},"end":{"line":38,"column":59}},"loc":{"start":{"line":38,"column":82},"end":{"line":51,"column":9}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":27},"end":{"line":19,"column":41}},"type":"binary-expr","locations":[{"start":{"line":19,"column":27},"end":{"line":19,"column":35}},{"start":{"line":19,"column":39},"end":{"line":19,"column":41}}],"line":19},"1":{"loc":{"start":{"line":40,"column":10},"end":{"line":50,"column":11}},"type":"switch","locations":[{"start":{"line":41,"column":12},"end":{"line":43,"column":20}},{"start":{"line":44,"column":12},"end":{"line":46,"column":20}},{"start":{"line":47,"column":12},"end":{"line":49,"column":20}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateStyles.ts","statementMap":{"0":{"start":{"line":21,"column":20},"end":{"line":23,"column":4}},"1":{"start":{"line":24,"column":23},"end":{"line":26,"column":14}},"2":{"start":{"line":25,"column":23},"end":{"line":25,"column":87}},"3":{"start":{"line":25,"column":72},"end":{"line":25,"column":86}},"4":{"start":{"line":28,"column":22},"end":{"line":41,"column":34}},"5":{"start":{"line":30,"column":24},"end":{"line":30,"column":168}},"6":{"start":{"line":30,"column":70},"end":{"line":30,"column":167}},"7":{"start":{"line":30,"column":131},"end":{"line":30,"column":166}},"8":{"start":{"line":32,"column":19},"end":{"line":32,"column":94}},"9":{"start":{"line":33,"column":18},"end":{"line":33,"column":96}},"10":{"start":{"line":34,"column":17},"end":{"line":34,"column":66}},"11":{"start":{"line":35,"column":4},"end":{"line":40,"column":62}},"12":{"start":{"line":41,"column":23},"end":{"line":41,"column":33}},"13":{"start":{"line":43,"column":22},"end":{"line":46,"column":5}},"14":{"start":{"line":43,"column":48},"end":{"line":43,"column":83}},"15":{"start":{"line":47,"column":21},"end":{"line":50,"column":5}},"16":{"start":{"line":47,"column":47},"end":{"line":47,"column":87}},"17":{"start":{"line":51,"column":23},"end":{"line":54,"column":5}},"18":{"start":{"line":51,"column":49},"end":{"line":51,"column":89}},"19":{"start":{"line":56,"column":2},"end":{"line":56,"column":62}},"20":{"start":{"line":56,"column":52},"end":{"line":56,"column":62}},"21":{"start":{"line":58,"column":22},"end":{"line":64,"column":53}},"22":{"start":{"line":64,"column":23},"end":{"line":64,"column":52}},"23":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"24":{"start":{"line":66,"column":4},"end":{"line":66,"column":114}},"25":{"start":{"line":69,"column":2},"end":{"line":69,"column":21}}},"fnMap":{"0":{"name":"updateStyles","decl":{"start":{"line":14,"column":30},"end":{"line":14,"column":42}},"loc":{"start":{"line":19,"column":35},"end":{"line":70,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":13}},"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":87}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":65},"end":{"line":25,"column":66}},"loc":{"start":{"line":25,"column":72},"end":{"line":25,"column":86}},"line":25},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":33},"end":{"line":28,"column":34}},"loc":{"start":{"line":28,"column":44},"end":{"line":41,"column":3}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":59},"end":{"line":30,"column":60}},"loc":{"start":{"line":30,"column":70},"end":{"line":30,"column":167}},"line":30},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":115},"end":{"line":30,"column":116}},"loc":{"start":{"line":30,"column":131},"end":{"line":30,"column":166}},"line":30},"6":{"name":"(anonymous_6)","decl":{"start":{"line":41,"column":12},"end":{"line":41,"column":13}},"loc":{"start":{"line":41,"column":23},"end":{"line":41,"column":33}},"line":41},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":41},"end":{"line":43,"column":42}},"loc":{"start":{"line":43,"column":48},"end":{"line":43,"column":83}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":47,"column":40},"end":{"line":47,"column":41}},"loc":{"start":{"line":47,"column":47},"end":{"line":47,"column":87}},"line":47},"9":{"name":"(anonymous_9)","decl":{"start":{"line":51,"column":42},"end":{"line":51,"column":43}},"loc":{"start":{"line":51,"column":49},"end":{"line":51,"column":89}},"line":51},"10":{"name":"(anonymous_10)","decl":{"start":{"line":64,"column":10},"end":{"line":64,"column":11}},"loc":{"start":{"line":64,"column":23},"end":{"line":64,"column":52}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":17,"column":22}},"type":"default-arg","locations":[{"start":{"line":17,"column":17},"end":{"line":17,"column":22}}],"line":17},"1":{"loc":{"start":{"line":30,"column":24},"end":{"line":30,"column":168}},"type":"binary-expr","locations":[{"start":{"line":30,"column":24},"end":{"line":30,"column":37}},{"start":{"line":30,"column":41},"end":{"line":30,"column":168}}],"line":30},"2":{"loc":{"start":{"line":32,"column":19},"end":{"line":32,"column":94}},"type":"cond-expr","locations":[{"start":{"line":32,"column":71},"end":{"line":32,"column":87}},{"start":{"line":32,"column":90},"end":{"line":32,"column":94}}],"line":32},"3":{"loc":{"start":{"line":32,"column":19},"end":{"line":32,"column":68}},"type":"binary-expr","locations":[{"start":{"line":32,"column":19},"end":{"line":32,"column":53}},{"start":{"line":32,"column":57},"end":{"line":32,"column":68}}],"line":32},"4":{"loc":{"start":{"line":33,"column":18},"end":{"line":33,"column":96}},"type":"cond-expr","locations":[{"start":{"line":33,"column":91},"end":{"line":33,"column":92}},{"start":{"line":33,"column":95},"end":{"line":33,"column":96}}],"line":33},"5":{"loc":{"start":{"line":33,"column":18},"end":{"line":33,"column":88}},"type":"binary-expr","locations":[{"start":{"line":33,"column":18},"end":{"line":33,"column":52}},{"start":{"line":33,"column":56},"end":{"line":33,"column":88}}],"line":33},"6":{"loc":{"start":{"line":38,"column":13},"end":{"line":38,"column":123}},"type":"cond-expr","locations":[{"start":{"line":38,"column":47},"end":{"line":38,"column":109}},{"start":{"line":38,"column":112},"end":{"line":38,"column":123}}],"line":38},"7":{"loc":{"start":{"line":39,"column":15},"end":{"line":39,"column":103}},"type":"cond-expr","locations":[{"start":{"line":39,"column":52},"end":{"line":39,"column":98}},{"start":{"line":39,"column":101},"end":{"line":39,"column":103}}],"line":39},"8":{"loc":{"start":{"line":56,"column":2},"end":{"line":56,"column":62}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":56,"column":62}},{"start":{},"end":{}}],"line":56},"9":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":50}},"type":"binary-expr","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":18}},{"start":{"line":56,"column":22},"end":{"line":56,"column":33}},{"start":{"line":56,"column":37},"end":{"line":56,"column":50}}],"line":56},"10":{"loc":{"start":{"line":59,"column":8},"end":{"line":59,"column":127}},"type":"cond-expr","locations":[{"start":{"line":59,"column":33},"end":{"line":59,"column":122}},{"start":{"line":59,"column":125},"end":{"line":59,"column":127}}],"line":59},"11":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":147}},"type":"cond-expr","locations":[{"start":{"line":60,"column":32},"end":{"line":60,"column":142}},{"start":{"line":60,"column":145},"end":{"line":60,"column":147}}],"line":60},"12":{"loc":{"start":{"line":61,"column":8},"end":{"line":63,"column":12}},"type":"cond-expr","locations":[{"start":{"line":61,"column":34},"end":{"line":63,"column":7}},{"start":{"line":63,"column":10},"end":{"line":63,"column":12}}],"line":61},"13":{"loc":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},{"start":{},"end":{}}],"line":65},"14":{"loc":{"start":{"line":65,"column":6},"end":{"line":65,"column":56}},"type":"binary-expr","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":40}},{"start":{"line":65,"column":44},"end":{"line":65,"column":56}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateTextStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateTextStyles.ts","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":10,"column":48}},"1":{"start":{"line":11,"column":29},"end":{"line":11,"column":50}},"2":{"start":{"line":12,"column":50},"end":{"line":12,"column":52}},"3":{"start":{"line":14,"column":2},"end":{"line":32,"column":6}},"4":{"start":{"line":15,"column":4},"end":{"line":31,"column":5}},"5":{"start":{"line":16,"column":24},"end":{"line":16,"column":61}},"6":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":36}},"8":{"start":{"line":20,"column":6},"end":{"line":20,"column":49}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":71}},"10":{"start":{"line":22,"column":11},"end":{"line":31,"column":5}},"11":{"start":{"line":23,"column":24},"end":{"line":23,"column":59}},"12":{"start":{"line":24,"column":6},"end":{"line":24,"column":49}},"13":{"start":{"line":25,"column":6},"end":{"line":25,"column":71}},"14":{"start":{"line":26,"column":11},"end":{"line":31,"column":5}},"15":{"start":{"line":27,"column":20},"end":{"line":27,"column":43}},"16":{"start":{"line":28,"column":6},"end":{"line":28,"column":30}},"17":{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},"18":{"start":{"line":30,"column":6},"end":{"line":30,"column":67}},"19":{"start":{"line":34,"column":2},"end":{"line":34,"column":25}}},"fnMap":{"0":{"name":"updateTextStyles","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":46}},"loc":{"start":{"line":8,"column":191},"end":{"line":35,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":35},"end":{"line":14,"column":36}},"loc":{"start":{"line":14,"column":52},"end":{"line":32,"column":3}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":147},"end":{"line":8,"column":167}},"type":"default-arg","locations":[{"start":{"line":8,"column":162},"end":{"line":8,"column":167}}],"line":8},"1":{"loc":{"start":{"line":8,"column":169},"end":{"line":8,"column":189}},"type":"default-arg","locations":[{"start":{"line":8,"column":184},"end":{"line":8,"column":189}}],"line":8},"2":{"loc":{"start":{"line":15,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":31,"column":5}},{"start":{"line":22,"column":11},"end":{"line":31,"column":5}}],"line":15},"3":{"loc":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},{"start":{},"end":{}}],"line":17},"4":{"loc":{"start":{"line":22,"column":11},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":11},"end":{"line":31,"column":5}},{"start":{"line":26,"column":11},"end":{"line":31,"column":5}}],"line":22},"5":{"loc":{"start":{"line":26,"column":11},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":11},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariables.ts","statementMap":{"0":{"start":{"line":30,"column":25},"end":{"line":35,"column":4}},"1":{"start":{"line":43,"column":32},"end":{"line":45,"column":60}},"2":{"start":{"line":45,"column":19},"end":{"line":45,"column":59}},"3":{"start":{"line":47,"column":45},"end":{"line":47,"column":47}},"4":{"start":{"line":48,"column":2},"end":{"line":52,"column":5}},"5":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"6":{"start":{"line":50,"column":6},"end":{"line":50,"column":78}},"7":{"start":{"line":54,"column":22},"end":{"line":61,"column":3}},"8":{"start":{"line":62,"column":37},"end":{"line":62,"column":39}},"9":{"start":{"line":65,"column":2},"end":{"line":72,"column":3}},"10":{"start":{"line":66,"column":4},"end":{"line":71,"column":9}},"11":{"start":{"line":67,"column":28},"end":{"line":67,"column":93}},"12":{"start":{"line":69,"column":8},"end":{"line":69,"column":44}},"13":{"start":{"line":70,"column":8},"end":{"line":70,"column":26}},"14":{"start":{"line":74,"column":2},"end":{"line":78,"column":4}}},"fnMap":{"0":{"name":"updateVariables","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":45}},"loc":{"start":{"line":29,"column":24},"end":{"line":79,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":13}},"loc":{"start":{"line":45,"column":19},"end":{"line":45,"column":59}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":25},"end":{"line":48,"column":26}},"loc":{"start":{"line":48,"column":36},"end":{"line":52,"column":3}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":14},"end":{"line":67,"column":15}},"loc":{"start":{"line":67,"column":28},"end":{"line":67,"column":93}},"line":67},"4":{"name":"(anonymous_4)","decl":{"start":{"line":68,"column":15},"end":{"line":68,"column":16}},"loc":{"start":{"line":68,"column":29},"end":{"line":71,"column":7}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49},"1":{"loc":{"start":{"line":65,"column":2},"end":{"line":72,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":72,"column":3}},{"start":{},"end":{}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesFromPlugin.ts","statementMap":{"0":{"start":{"line":14,"column":20},"end":{"line":16,"column":4}},"1":{"start":{"line":17,"column":22},"end":{"line":17,"column":45}},"2":{"start":{"line":18,"column":28},"end":{"line":21,"column":8}},"3":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"4":{"start":{"line":20,"column":4},"end":{"line":20,"column":15}},"5":{"start":{"line":23,"column":2},"end":{"line":80,"column":5}},"6":{"start":{"line":24,"column":4},"end":{"line":79,"column":5}},"7":{"start":{"line":26,"column":32},"end":{"line":26,"column":96}},"8":{"start":{"line":30,"column":6},"end":{"line":78,"column":7}},"9":{"start":{"line":31,"column":25},"end":{"line":31,"column":85}},"10":{"start":{"line":32,"column":8},"end":{"line":77,"column":9}},"11":{"start":{"line":33,"column":10},"end":{"line":76,"column":11}},"12":{"start":{"line":35,"column":45},"end":{"line":35,"column":47}},"13":{"start":{"line":36,"column":12},"end":{"line":40,"column":13}},"14":{"start":{"line":37,"column":14},"end":{"line":37,"column":113}},"15":{"start":{"line":39,"column":14},"end":{"line":39,"column":77}},"16":{"start":{"line":41,"column":38},"end":{"line":41,"column":96}},"17":{"start":{"line":42,"column":12},"end":{"line":47,"column":13}},"18":{"start":{"line":43,"column":14},"end":{"line":46,"column":17}},"19":{"start":{"line":49,"column":12},"end":{"line":75,"column":13}},"20":{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},"21":{"start":{"line":52,"column":18},"end":{"line":52,"column":88}},"22":{"start":{"line":54,"column":16},"end":{"line":54,"column":22}},"23":{"start":{"line":56,"column":16},"end":{"line":58,"column":17}},"24":{"start":{"line":57,"column":18},"end":{"line":57,"column":90}},"25":{"start":{"line":59,"column":16},"end":{"line":59,"column":22}},"26":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"27":{"start":{"line":62,"column":18},"end":{"line":62,"column":89}},"28":{"start":{"line":64,"column":16},"end":{"line":64,"column":22}},"29":{"start":{"line":71,"column":16},"end":{"line":71,"column":95}},"30":{"start":{"line":72,"column":16},"end":{"line":72,"column":22}},"31":{"start":{"line":74,"column":16},"end":{"line":74,"column":22}}},"fnMap":{"0":{"name":"updateVariablesFromPlugin","decl":{"start":{"line":13,"column":30},"end":{"line":13,"column":55}},"loc":{"start":{"line":13,"column":93},"end":{"line":81,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":111},"end":{"line":18,"column":112}},"loc":{"start":{"line":18,"column":126},"end":{"line":21,"column":3}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":27},"end":{"line":23,"column":28}},"loc":{"start":{"line":23,"column":38},"end":{"line":80,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":8},"end":{"line":26,"column":9}},"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":96}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":24},"1":{"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":96}},"type":"binary-expr","locations":[{"start":{"line":26,"column":32},"end":{"line":26,"column":65}},{"start":{"line":26,"column":69},"end":{"line":26,"column":96}}],"line":26},"2":{"loc":{"start":{"line":30,"column":6},"end":{"line":78,"column":7}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":78,"column":7}},{"start":{},"end":{}}],"line":30},"3":{"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":78}},"type":"binary-expr","locations":[{"start":{"line":30,"column":10},"end":{"line":30,"column":56}},{"start":{"line":30,"column":60},"end":{"line":30,"column":78}}],"line":30},"4":{"loc":{"start":{"line":32,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":32},"5":{"loc":{"start":{"line":33,"column":10},"end":{"line":76,"column":11}},"type":"if","locations":[{"start":{"line":33,"column":10},"end":{"line":76,"column":11}},{"start":{"line":48,"column":17},"end":{"line":76,"column":11}}],"line":33},"6":{"loc":{"start":{"line":36,"column":12},"end":{"line":40,"column":13}},"type":"if","locations":[{"start":{"line":36,"column":12},"end":{"line":40,"column":13}},{"start":{"line":38,"column":19},"end":{"line":40,"column":13}}],"line":36},"7":{"loc":{"start":{"line":36,"column":16},"end":{"line":36,"column":80}},"type":"binary-expr","locations":[{"start":{"line":36,"column":16},"end":{"line":36,"column":32}},{"start":{"line":36,"column":36},"end":{"line":36,"column":80}}],"line":36},"8":{"loc":{"start":{"line":42,"column":12},"end":{"line":47,"column":13}},"type":"if","locations":[{"start":{"line":42,"column":12},"end":{"line":47,"column":13}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":49,"column":12},"end":{"line":75,"column":13}},"type":"switch","locations":[{"start":{"line":50,"column":14},"end":{"line":54,"column":22}},{"start":{"line":55,"column":14},"end":{"line":59,"column":22}},{"start":{"line":60,"column":14},"end":{"line":64,"column":22}},{"start":{"line":65,"column":14},"end":{"line":65,"column":37}},{"start":{"line":66,"column":14},"end":{"line":66,"column":40}},{"start":{"line":67,"column":14},"end":{"line":67,"column":44}},{"start":{"line":68,"column":14},"end":{"line":68,"column":43}},{"start":{"line":69,"column":14},"end":{"line":69,"column":38}},{"start":{"line":70,"column":14},"end":{"line":72,"column":22}},{"start":{"line":73,"column":14},"end":{"line":74,"column":22}}],"line":49},"10":{"loc":{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},"type":"if","locations":[{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},{"start":{},"end":{}}],"line":51},"11":{"loc":{"start":{"line":56,"column":16},"end":{"line":58,"column":17}},"type":"if","locations":[{"start":{"line":56,"column":16},"end":{"line":58,"column":17}},{"start":{},"end":{}}],"line":56},"12":{"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"type":"if","locations":[{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},{"start":{},"end":{}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0,0,0,0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesToReference.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesToReference.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":4,"column":41}},"1":{"start":{"line":5,"column":2},"end":{"line":24,"column":6}},"2":{"start":{"line":6,"column":30},"end":{"line":6,"column":81}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":35}},"4":{"start":{"line":7,"column":28},"end":{"line":7,"column":35}},"5":{"start":{"line":9,"column":4},"end":{"line":13,"column":5}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},"7":{"start":{"line":12,"column":6},"end":{"line":12,"column":49}},"8":{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},"9":{"start":{"line":14,"column":19},"end":{"line":14,"column":26}},"10":{"start":{"line":15,"column":4},"end":{"line":23,"column":5}},"11":{"start":{"line":16,"column":6},"end":{"line":19,"column":9}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":52}},"13":{"start":{"line":22,"column":6},"end":{"line":22,"column":78}},"14":{"start":{"line":25,"column":2},"end":{"line":25,"column":26}}},"fnMap":{"0":{"name":"updateVariablesToReference","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":56}},"loc":{"start":{"line":3,"column":169},"end":{"line":26,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":52},"end":{"line":5,"column":53}},"loc":{"start":{"line":5,"column":77},"end":{"line":24,"column":3}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":35}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":35}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},{"start":{},"end":{}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/applySiblingStyle.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/applySiblingStyle.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":95,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":92,"column":5}},"2":{"start":{"line":11,"column":35},"end":{"line":11,"column":118}},"3":{"start":{"line":12,"column":35},"end":{"line":12,"column":118}},"4":{"start":{"line":14,"column":10},"end":{"line":16,"column":11}},"5":{"start":{"line":15,"column":12},"end":{"line":15,"column":50}},"6":{"start":{"line":17,"column":10},"end":{"line":19,"column":11}},"7":{"start":{"line":18,"column":12},"end":{"line":18,"column":50}},"8":{"start":{"line":22,"column":10},"end":{"line":35,"column":11}},"9":{"start":{"line":23,"column":35},"end":{"line":23,"column":116}},"10":{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},"11":{"start":{"line":25,"column":14},"end":{"line":25,"column":48}},"12":{"start":{"line":28,"column":12},"end":{"line":34,"column":15}},"13":{"start":{"line":29,"column":37},"end":{"line":29,"column":111}},"14":{"start":{"line":31,"column":14},"end":{"line":33,"column":15}},"15":{"start":{"line":32,"column":16},"end":{"line":32,"column":85}},"16":{"start":{"line":37,"column":10},"end":{"line":50,"column":11}},"17":{"start":{"line":38,"column":35},"end":{"line":38,"column":116}},"18":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"19":{"start":{"line":40,"column":14},"end":{"line":40,"column":48}},"20":{"start":{"line":43,"column":12},"end":{"line":49,"column":15}},"21":{"start":{"line":44,"column":37},"end":{"line":44,"column":111}},"22":{"start":{"line":46,"column":14},"end":{"line":48,"column":15}},"23":{"start":{"line":47,"column":16},"end":{"line":47,"column":85}},"24":{"start":{"line":52,"column":8},"end":{"line":52,"column":14}},"25":{"start":{"line":68,"column":33},"end":{"line":68,"column":139}},"26":{"start":{"line":69,"column":35},"end":{"line":69,"column":145}},"27":{"start":{"line":70,"column":35},"end":{"line":70,"column":145}},"28":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"29":{"start":{"line":72,"column":12},"end":{"line":72,"column":46}},"30":{"start":{"line":74,"column":10},"end":{"line":76,"column":11}},"31":{"start":{"line":75,"column":12},"end":{"line":75,"column":50}},"32":{"start":{"line":77,"column":10},"end":{"line":79,"column":11}},"33":{"start":{"line":78,"column":12},"end":{"line":78,"column":50}},"34":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"35":{"start":{"line":81,"column":12},"end":{"line":81,"column":122}},"36":{"start":{"line":81,"column":59},"end":{"line":81,"column":119}},"37":{"start":{"line":84,"column":8},"end":{"line":84,"column":14}},"38":{"start":{"line":87,"column":8},"end":{"line":87,"column":118}},"39":{"start":{"line":87,"column":55},"end":{"line":87,"column":115}},"40":{"start":{"line":88,"column":8},"end":{"line":88,"column":14}},"41":{"start":{"line":91,"column":8},"end":{"line":91,"column":14}},"42":{"start":{"line":94,"column":4},"end":{"line":94,"column":25}}},"fnMap":{"0":{"name":"applySiblingStyleId","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":41}},"loc":{"start":{"line":5,"column":129},"end":{"line":96,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":64},"end":{"line":28,"column":65}},"loc":{"start":{"line":28,"column":83},"end":{"line":34,"column":13}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":64},"end":{"line":43,"column":65}},"loc":{"start":{"line":43,"column":83},"end":{"line":49,"column":13}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":81,"column":48},"end":{"line":81,"column":49}},"loc":{"start":{"line":81,"column":59},"end":{"line":81,"column":119}},"line":81},"4":{"name":"(anonymous_4)","decl":{"start":{"line":87,"column":44},"end":{"line":87,"column":45}},"loc":{"start":{"line":87,"column":55},"end":{"line":87,"column":115}},"line":87}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":92,"column":5}},"type":"switch","locations":[{"start":{"line":9,"column":6},"end":{"line":52,"column":14}},{"start":{"line":55,"column":6},"end":{"line":55,"column":21}},{"start":{"line":56,"column":6},"end":{"line":56,"column":18}},{"start":{"line":57,"column":6},"end":{"line":57,"column":21}},{"start":{"line":58,"column":6},"end":{"line":58,"column":18}},{"start":{"line":59,"column":6},"end":{"line":59,"column":23}},{"start":{"line":60,"column":6},"end":{"line":60,"column":20}},{"start":{"line":61,"column":6},"end":{"line":61,"column":23}},{"start":{"line":62,"column":6},"end":{"line":62,"column":22}},{"start":{"line":63,"column":6},"end":{"line":63,"column":27}},{"start":{"line":64,"column":6},"end":{"line":64,"column":19}},{"start":{"line":65,"column":6},"end":{"line":65,"column":21}},{"start":{"line":66,"column":6},"end":{"line":84,"column":14}},{"start":{"line":86,"column":6},"end":{"line":88,"column":14}},{"start":{"line":90,"column":6},"end":{"line":91,"column":14}}],"line":7},"1":{"loc":{"start":{"line":14,"column":10},"end":{"line":16,"column":11}},"type":"if","locations":[{"start":{"line":14,"column":10},"end":{"line":16,"column":11}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":17,"column":10},"end":{"line":19,"column":11}},"type":"if","locations":[{"start":{"line":17,"column":10},"end":{"line":19,"column":11}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":22,"column":10},"end":{"line":35,"column":11}},"type":"if","locations":[{"start":{"line":22,"column":10},"end":{"line":35,"column":11}},{"start":{"line":27,"column":17},"end":{"line":35,"column":11}}],"line":22},"4":{"loc":{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":31,"column":14},"end":{"line":33,"column":15}},"type":"if","locations":[{"start":{"line":31,"column":14},"end":{"line":33,"column":15}},{"start":{},"end":{}}],"line":31},"6":{"loc":{"start":{"line":37,"column":10},"end":{"line":50,"column":11}},"type":"if","locations":[{"start":{"line":37,"column":10},"end":{"line":50,"column":11}},{"start":{"line":42,"column":17},"end":{"line":50,"column":11}}],"line":37},"7":{"loc":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"type":"if","locations":[{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},{"start":{},"end":{}}],"line":39},"8":{"loc":{"start":{"line":46,"column":14},"end":{"line":48,"column":15}},"type":"if","locations":[{"start":{"line":46,"column":14},"end":{"line":48,"column":15}},{"start":{},"end":{}}],"line":46},"9":{"loc":{"start":{"line":68,"column":33},"end":{"line":68,"column":139}},"type":"binary-expr","locations":[{"start":{"line":68,"column":33},"end":{"line":68,"column":54}},{"start":{"line":68,"column":58},"end":{"line":68,"column":139}}],"line":68},"10":{"loc":{"start":{"line":69,"column":35},"end":{"line":69,"column":145}},"type":"binary-expr","locations":[{"start":{"line":69,"column":35},"end":{"line":69,"column":58}},{"start":{"line":69,"column":62},"end":{"line":69,"column":145}}],"line":69},"11":{"loc":{"start":{"line":70,"column":35},"end":{"line":70,"column":145}},"type":"binary-expr","locations":[{"start":{"line":70,"column":35},"end":{"line":70,"column":58}},{"start":{"line":70,"column":62},"end":{"line":70,"column":145}}],"line":70},"12":{"loc":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"type":"if","locations":[{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},{"start":{},"end":{}}],"line":71},"13":{"loc":{"start":{"line":74,"column":10},"end":{"line":76,"column":11}},"type":"if","locations":[{"start":{"line":74,"column":10},"end":{"line":76,"column":11}},{"start":{},"end":{}}],"line":74},"14":{"loc":{"start":{"line":77,"column":10},"end":{"line":79,"column":11}},"type":"if","locations":[{"start":{"line":77,"column":10},"end":{"line":79,"column":11}},{"start":{},"end":{}}],"line":77},"15":{"loc":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},{"start":{},"end":{}}],"line":80},"16":{"loc":{"start":{"line":80,"column":14},"end":{"line":80,"column":139}},"type":"binary-expr","locations":[{"start":{"line":80,"column":14},"end":{"line":80,"column":117}},{"start":{"line":80,"column":121},"end":{"line":80,"column":139}}],"line":80}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts","statementMap":{"0":{"start":{"line":12,"column":117},"end":{"line":71,"column":1}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":9}},"2":{"start":{"line":16,"column":31},"end":{"line":16,"column":71}},"3":{"start":{"line":17,"column":35},"end":{"line":17,"column":69}},"4":{"start":{"line":18,"column":36},"end":{"line":18,"column":71}},"5":{"start":{"line":20,"column":24},"end":{"line":20,"column":46}},"6":{"start":{"line":21,"column":29},"end":{"line":21,"column":50}},"7":{"start":{"line":22,"column":31},"end":{"line":22,"column":54}},"8":{"start":{"line":25,"column":47},"end":{"line":25,"column":49}},"9":{"start":{"line":26,"column":2},"end":{"line":30,"column":5}},"10":{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":91}},"12":{"start":{"line":33,"column":28},"end":{"line":39,"column":6}},"13":{"start":{"line":40,"column":2},"end":{"line":42,"column":5}},"14":{"start":{"line":41,"column":4},"end":{"line":41,"column":42}},"15":{"start":{"line":45,"column":17},"end":{"line":45,"column":62}},"16":{"start":{"line":46,"column":16},"end":{"line":46,"column":48}},"17":{"start":{"line":47,"column":2},"end":{"line":65,"column":5}},"18":{"start":{"line":48,"column":17},"end":{"line":48,"column":66}},"19":{"start":{"line":49,"column":4},"end":{"line":64,"column":5}},"20":{"start":{"line":50,"column":25},"end":{"line":50,"column":48}},"21":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"22":{"start":{"line":52,"column":8},"end":{"line":52,"column":57}},"23":{"start":{"line":54,"column":11},"end":{"line":64,"column":5}},"24":{"start":{"line":55,"column":24},"end":{"line":55,"column":52}},"25":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"26":{"start":{"line":57,"column":8},"end":{"line":57,"column":56}},"27":{"start":{"line":59,"column":11},"end":{"line":64,"column":5}},"28":{"start":{"line":60,"column":26},"end":{"line":60,"column":56}},"29":{"start":{"line":61,"column":6},"end":{"line":63,"column":7}},"30":{"start":{"line":62,"column":8},"end":{"line":62,"column":58}},"31":{"start":{"line":67,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":117},"end":{"line":12,"column":118}},"loc":{"start":{"line":12,"column":132},"end":{"line":71,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":50},"end":{"line":26,"column":51}},"loc":{"start":{"line":26,"column":78},"end":{"line":30,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":59},"end":{"line":40,"column":60}},"loc":{"start":{"line":41,"column":4},"end":{"line":41,"column":42}},"line":41},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":34},"end":{"line":47,"column":35}},"loc":{"start":{"line":47,"column":45},"end":{"line":65,"column":3}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":69}},"type":"binary-expr","locations":[{"start":{"line":16,"column":36},"end":{"line":16,"column":63}},{"start":{"line":16,"column":67},"end":{"line":16,"column":69}}],"line":16},"1":{"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},{"start":{},"end":{}}],"line":27},"2":{"loc":{"start":{"line":28,"column":63},"end":{"line":28,"column":89}},"type":"binary-expr","locations":[{"start":{"line":28,"column":63},"end":{"line":28,"column":83}},{"start":{"line":28,"column":87},"end":{"line":28,"column":89}}],"line":28},"3":{"loc":{"start":{"line":33,"column":28},"end":{"line":39,"column":6}},"type":"cond-expr","locations":[{"start":{"line":34,"column":6},"end":{"line":34,"column":70}},{"start":{"line":35,"column":6},"end":{"line":39,"column":6}}],"line":33},"4":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":53}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":46}},{"start":{"line":36,"column":49},"end":{"line":36,"column":53}}],"line":36},"5":{"loc":{"start":{"line":37,"column":6},"end":{"line":37,"column":62}},"type":"cond-expr","locations":[{"start":{"line":37,"column":34},"end":{"line":37,"column":55}},{"start":{"line":37,"column":58},"end":{"line":37,"column":62}}],"line":37},"6":{"loc":{"start":{"line":38,"column":6},"end":{"line":38,"column":59}},"type":"cond-expr","locations":[{"start":{"line":38,"column":31},"end":{"line":38,"column":52}},{"start":{"line":38,"column":55},"end":{"line":38,"column":59}}],"line":38},"7":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":62}},"type":"cond-expr","locations":[{"start":{"line":45,"column":45},"end":{"line":45,"column":55}},{"start":{"line":45,"column":58},"end":{"line":45,"column":62}}],"line":45},"8":{"loc":{"start":{"line":46,"column":16},"end":{"line":46,"column":48}},"type":"cond-expr","locations":[{"start":{"line":46,"column":43},"end":{"line":46,"column":44}},{"start":{"line":46,"column":47},"end":{"line":46,"column":48}}],"line":46},"9":{"loc":{"start":{"line":49,"column":4},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":64,"column":5}},{"start":{"line":54,"column":11},"end":{"line":64,"column":5}}],"line":49},"10":{"loc":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},{"start":{},"end":{}}],"line":51},"11":{"loc":{"start":{"line":54,"column":11},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":11},"end":{"line":64,"column":5}},{"start":{"line":59,"column":11},"end":{"line":64,"column":5}}],"line":54},"12":{"loc":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},{"start":{},"end":{}}],"line":56},"13":{"loc":{"start":{"line":59,"column":11},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":11},"end":{"line":64,"column":5}},{"start":{},"end":{}}],"line":59},"14":{"loc":{"start":{"line":61,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":63,"column":7}},{"start":{},"end":{}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":123},"end":{"line":36,"column":1}},"1":{"start":{"line":6,"column":28},"end":{"line":6,"column":31}},"2":{"start":{"line":7,"column":30},"end":{"line":7,"column":75}},"3":{"start":{"line":8,"column":21},"end":{"line":8,"column":94}},"4":{"start":{"line":8,"column":54},"end":{"line":8,"column":93}},"5":{"start":{"line":9,"column":15},"end":{"line":9,"column":67}},"6":{"start":{"line":9,"column":45},"end":{"line":9,"column":66}},"7":{"start":{"line":10,"column":28},"end":{"line":15,"column":3}},"8":{"start":{"line":13,"column":21},"end":{"line":13,"column":62}},"9":{"start":{"line":14,"column":25},"end":{"line":14,"column":50}},"10":{"start":{"line":16,"column":2},"end":{"line":32,"column":3}},"11":{"start":{"line":17,"column":58},"end":{"line":17,"column":60}},"12":{"start":{"line":18,"column":39},"end":{"line":18,"column":80}},"13":{"start":{"line":19,"column":4},"end":{"line":24,"column":7}},"14":{"start":{"line":20,"column":23},"end":{"line":20,"column":77}},"15":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"16":{"start":{"line":22,"column":8},"end":{"line":22,"column":57}},"17":{"start":{"line":25,"column":4},"end":{"line":31,"column":6}},"18":{"start":{"line":33,"column":2},"end":{"line":35,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":123},"end":{"line":5,"column":124}},"loc":{"start":{"line":5,"column":138},"end":{"line":36,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":54},"end":{"line":8,"column":93}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":38},"end":{"line":9,"column":39}},"loc":{"start":{"line":9,"column":45},"end":{"line":9,"column":66}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":14},"end":{"line":13,"column":15}},"loc":{"start":{"line":13,"column":21},"end":{"line":13,"column":62}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":11},"end":{"line":14,"column":12}},"loc":{"start":{"line":14,"column":25},"end":{"line":14,"column":50}},"line":14},"5":{"name":"(anonymous_5)","decl":{"start":{"line":19,"column":39},"end":{"line":19,"column":40}},"loc":{"start":{"line":19,"column":50},"end":{"line":24,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":67},"end":{"line":8,"column":92}},"type":"binary-expr","locations":[{"start":{"line":8,"column":67},"end":{"line":8,"column":78}},{"start":{"line":8,"column":82},"end":{"line":8,"column":92}}],"line":8},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":16},"2":{"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":24}},"type":"binary-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":16}},{"start":{"line":16,"column":20},"end":{"line":16,"column":24}}],"line":16},"3":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts","statementMap":{"0":{"start":{"line":12,"column":97},"end":{"line":59,"column":1}},"1":{"start":{"line":14,"column":2},"end":{"line":58,"column":3}},"2":{"start":{"line":15,"column":33},"end":{"line":15,"column":36}},"3":{"start":{"line":16,"column":24},"end":{"line":16,"column":102}},"4":{"start":{"line":17,"column":22},"end":{"line":17,"column":55}},"5":{"start":{"line":18,"column":4},"end":{"line":26,"column":7}},"6":{"start":{"line":28,"column":20},"end":{"line":28,"column":79}},"7":{"start":{"line":29,"column":41},"end":{"line":29,"column":50}},"8":{"start":{"line":30,"column":25},"end":{"line":30,"column":48}},"9":{"start":{"line":32,"column":4},"end":{"line":47,"column":7}},"10":{"start":{"line":33,"column":6},"end":{"line":46,"column":10}},"11":{"start":{"line":34,"column":8},"end":{"line":43,"column":11}},"12":{"start":{"line":35,"column":28},"end":{"line":35,"column":55}},"13":{"start":{"line":37,"column":26},"end":{"line":37,"column":103}},"14":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"15":{"start":{"line":39,"column":29},"end":{"line":39,"column":60}},"16":{"start":{"line":40,"column":30},"end":{"line":40,"column":54}},"17":{"start":{"line":41,"column":12},"end":{"line":41,"column":64}},"18":{"start":{"line":44,"column":8},"end":{"line":44,"column":23}},"19":{"start":{"line":45,"column":8},"end":{"line":45,"column":36}},"20":{"start":{"line":49,"column":4},"end":{"line":49,"column":32}},"21":{"start":{"line":51,"column":4},"end":{"line":54,"column":7}},"22":{"start":{"line":55,"column":4},"end":{"line":55,"column":32}},"23":{"start":{"line":57,"column":4},"end":{"line":57,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":97},"end":{"line":12,"column":98}},"loc":{"start":{"line":12,"column":112},"end":{"line":59,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":24},"end":{"line":32,"column":25}},"loc":{"start":{"line":32,"column":46},"end":{"line":47,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":42},"end":{"line":33,"column":43}},"loc":{"start":{"line":33,"column":54},"end":{"line":46,"column":7}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":39},"end":{"line":34,"column":40}},"loc":{"start":{"line":34,"column":57},"end":{"line":43,"column":9}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":103}},"type":"cond-expr","locations":[{"start":{"line":37,"column":38},"end":{"line":37,"column":76}},{"start":{"line":37,"column":79},"end":{"line":37,"column":103}}],"line":37},"1":{"loc":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/cancelOperation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/cancelOperation.ts","statementMap":{"0":{"start":{"line":7,"column":96},"end":{"line":12,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":25}},"2":{"start":{"line":9,"column":2},"end":{"line":11,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":96},"end":{"line":7,"column":97}},"loc":{"start":{"line":7,"column":108},"end":{"line":12,"column":1}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/changedTabs.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/changedTabs.ts","statementMap":{"0":{"start":{"line":6,"column":88},"end":{"line":10,"column":1}},"1":{"start":{"line":7,"column":38},"end":{"line":7,"column":41}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":60}},"3":{"start":{"line":9,"column":2},"end":{"line":9,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":88},"end":{"line":6,"column":89}},"loc":{"start":{"line":6,"column":103},"end":{"line":10,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createAnnotation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createAnnotation.ts","statementMap":{"0":{"start":{"line":5,"column":98},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":98},"end":{"line":5,"column":99}},"loc":{"start":{"line":5,"column":113},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariables.ts","statementMap":{"0":{"start":{"line":6,"column":107},"end":{"line":12,"column":1}},"1":{"start":{"line":7,"column":17},"end":{"line":7,"column":97}},"2":{"start":{"line":8,"column":2},"end":{"line":11,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":107},"end":{"line":6,"column":108}},"loc":{"start":{"line":6,"column":122},"end":{"line":12,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts","statementMap":{"0":{"start":{"line":6,"column":133},"end":{"line":12,"column":1}},"1":{"start":{"line":7,"column":17},"end":{"line":7,"column":107}},"2":{"start":{"line":8,"column":2},"end":{"line":11,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":133},"end":{"line":6,"column":134}},"loc":{"start":{"line":6,"column":148},"end":{"line":12,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createStyles.ts","statementMap":{"0":{"start":{"line":7,"column":90},"end":{"line":33,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":28,"column":3}},"2":{"start":{"line":11,"column":8},"end":{"line":11,"column":72}},"3":{"start":{"line":12,"column":4},"end":{"line":20,"column":7}},"4":{"start":{"line":21,"column":21},"end":{"line":21,"column":90}},"5":{"start":{"line":23,"column":4},"end":{"line":25,"column":6}},"6":{"start":{"line":27,"column":4},"end":{"line":27,"column":21}},"7":{"start":{"line":30,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":90},"end":{"line":7,"column":91}},"loc":{"start":{"line":7,"column":105},"end":{"line":33,"column":1}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/credentials.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/credentials.ts","statementMap":{"0":{"start":{"line":5,"column":87},"end":{"line":8,"column":1}},"1":{"start":{"line":6,"column":25},"end":{"line":6,"column":28}},"2":{"start":{"line":7,"column":2},"end":{"line":7,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":87},"end":{"line":5,"column":88}},"loc":{"start":{"line":5,"column":102},"end":{"line":8,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts","statementMap":{"0":{"start":{"line":5,"column":130},"end":{"line":25,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":24,"column":3}},"2":{"start":{"line":9,"column":27},"end":{"line":9,"column":83}},"3":{"start":{"line":11,"column":50},"end":{"line":18,"column":7}},"4":{"start":{"line":11,"column":86},"end":{"line":18,"column":5}},"5":{"start":{"line":14,"column":45},"end":{"line":17,"column":7}},"6":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},"7":{"start":{"line":22,"column":4},"end":{"line":22,"column":64}},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":130},"end":{"line":5,"column":131}},"loc":{"start":{"line":7,"column":6},"end":{"line":25,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":69},"end":{"line":11,"column":70}},"loc":{"start":{"line":11,"column":86},"end":{"line":18,"column":5}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":34},"end":{"line":14,"column":35}},"loc":{"start":{"line":14,"column":45},"end":{"line":17,"column":7}},"line":14}},"branchMap":{},"s":{"0":1,"1":2,"2":2,"3":1,"4":2,"5":3,"6":1,"7":1,"8":1},"f":{"0":2,"1":2,"2":3},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8afeedfbc5e32b474fb15c239f42bf0253498952"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getFigmaFonts.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getFigmaFonts.ts","statementMap":{"0":{"start":{"line":4,"column":93},"end":{"line":9,"column":1}},"1":{"start":{"line":5,"column":25},"end":{"line":5,"column":62}},"2":{"start":{"line":6,"column":2},"end":{"line":8,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":93},"end":{"line":4,"column":94}},"loc":{"start":{"line":4,"column":105},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts","statementMap":{"0":{"start":{"line":3,"column":25},"end":{"line":3,"column":27}},"1":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":16}},"3":{"start":{"line":12,"column":28},"end":{"line":12,"column":61}},"4":{"start":{"line":14,"column":20},"end":{"line":14,"column":47}},"5":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":51}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":16}},"8":{"start":{"line":22,"column":19},"end":{"line":22,"column":105}},"9":{"start":{"line":22,"column":72},"end":{"line":22,"column":104}},"10":{"start":{"line":23,"column":2},"end":{"line":60,"column":3}},"11":{"start":{"line":24,"column":28},"end":{"line":24,"column":57}},"12":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"13":{"start":{"line":28,"column":6},"end":{"line":28,"column":67}},"14":{"start":{"line":29,"column":6},"end":{"line":29,"column":18}},"15":{"start":{"line":32,"column":24},"end":{"line":32,"column":39}},"16":{"start":{"line":35,"column":4},"end":{"line":49,"column":5}},"17":{"start":{"line":36,"column":6},"end":{"line":36,"column":44}},"18":{"start":{"line":40,"column":28},"end":{"line":40,"column":73}},"19":{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},"20":{"start":{"line":42,"column":8},"end":{"line":46,"column":11}},"21":{"start":{"line":43,"column":10},"end":{"line":45,"column":51}},"22":{"start":{"line":44,"column":29},"end":{"line":44,"column":46}},"23":{"start":{"line":45,"column":25},"end":{"line":45,"column":49}},"24":{"start":{"line":47,"column":8},"end":{"line":47,"column":46}},"25":{"start":{"line":51,"column":23},"end":{"line":51,"column":56}},"26":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"27":{"start":{"line":55,"column":6},"end":{"line":55,"column":81}},"28":{"start":{"line":56,"column":6},"end":{"line":56,"column":18}},"29":{"start":{"line":59,"column":4},"end":{"line":59,"column":25}},"30":{"start":{"line":61,"column":2},"end":{"line":61,"column":14}}},"fnMap":{"0":{"name":"getNewStyleId","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":35}},"loc":{"start":{"line":6,"column":124},"end":{"line":62,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":57},"end":{"line":22,"column":58}},"loc":{"start":{"line":22,"column":72},"end":{"line":22,"column":104}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":50},"end":{"line":42,"column":51}},"loc":{"start":{"line":42,"column":63},"end":{"line":46,"column":9}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":18},"end":{"line":44,"column":19}},"loc":{"start":{"line":44,"column":29},"end":{"line":44,"column":46}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":19},"end":{"line":45,"column":20}},"loc":{"start":{"line":45,"column":25},"end":{"line":45,"column":49}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":16},"2":{"loc":{"start":{"line":23,"column":2},"end":{"line":60,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":60,"column":3}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":27},"4":{"loc":{"start":{"line":35,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":49,"column":5}},{"start":{"line":37,"column":11},"end":{"line":49,"column":5}}],"line":35},"5":{"loc":{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},{"start":{},"end":{}}],"line":41},"6":{"loc":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getThemeReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getThemeReferences.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":10,"column":42}},"1":{"start":{"line":12,"column":20},"end":{"line":14,"column":4}},"2":{"start":{"line":16,"column":52},"end":{"line":16,"column":61}},"3":{"start":{"line":17,"column":59},"end":{"line":17,"column":68}},"4":{"start":{"line":19,"column":23},"end":{"line":19,"column":124}},"5":{"start":{"line":19,"column":59},"end":{"line":19,"column":123}},"6":{"start":{"line":19,"column":108},"end":{"line":19,"column":122}},"7":{"start":{"line":21,"column":26},"end":{"line":21,"column":113}},"8":{"start":{"line":23,"column":2},"end":{"line":34,"column":5}},"9":{"start":{"line":24,"column":4},"end":{"line":28,"column":7}},"10":{"start":{"line":25,"column":6},"end":{"line":27,"column":7}},"11":{"start":{"line":26,"column":8},"end":{"line":26,"column":55}},"12":{"start":{"line":29,"column":4},"end":{"line":33,"column":7}},"13":{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},"14":{"start":{"line":31,"column":8},"end":{"line":31,"column":49}},"15":{"start":{"line":37,"column":43},"end":{"line":39,"column":100}},"16":{"start":{"line":37,"column":71},"end":{"line":38,"column":62}},"17":{"start":{"line":38,"column":29},"end":{"line":38,"column":61}},"18":{"start":{"line":39,"column":20},"end":{"line":39,"column":92}},"19":{"start":{"line":39,"column":55},"end":{"line":39,"column":91}},"20":{"start":{"line":42,"column":45},"end":{"line":43,"column":98}},"21":{"start":{"line":42,"column":80},"end":{"line":43,"column":97}},"22":{"start":{"line":43,"column":30},"end":{"line":43,"column":96}},"23":{"start":{"line":45,"column":2},"end":{"line":51,"column":5}},"24":{"start":{"line":46,"column":4},"end":{"line":50,"column":7}},"25":{"start":{"line":47,"column":6},"end":{"line":49,"column":7}},"26":{"start":{"line":48,"column":8},"end":{"line":48,"column":55}},"27":{"start":{"line":54,"column":25},"end":{"line":54,"column":59}},"28":{"start":{"line":56,"column":2},"end":{"line":61,"column":5}},"29":{"start":{"line":57,"column":35},"end":{"line":57,"column":71}},"30":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"31":{"start":{"line":59,"column":6},"end":{"line":59,"column":72}},"32":{"start":{"line":63,"column":23},"end":{"line":63,"column":51}},"33":{"start":{"line":64,"column":22},"end":{"line":64,"column":49}},"34":{"start":{"line":65,"column":21},"end":{"line":65,"column":47}},"35":{"start":{"line":66,"column":22},"end":{"line":66,"column":70}},"36":{"start":{"line":69,"column":2},"end":{"line":74,"column":5}},"37":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"38":{"start":{"line":71,"column":34},"end":{"line":71,"column":67}},"39":{"start":{"line":72,"column":6},"end":{"line":72,"column":62}},"40":{"start":{"line":76,"column":2},"end":{"line":78,"column":4}}},"fnMap":{"0":{"name":"getThemeReferences","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":40}},"loc":{"start":{"line":9,"column":78},"end":{"line":79,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":48},"end":{"line":19,"column":49}},"loc":{"start":{"line":19,"column":59},"end":{"line":19,"column":123}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":101},"end":{"line":19,"column":102}},"loc":{"start":{"line":19,"column":108},"end":{"line":19,"column":122}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":24},"end":{"line":23,"column":25}},"loc":{"start":{"line":23,"column":35},"end":{"line":34,"column":3}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":65},"end":{"line":24,"column":66}},"loc":{"start":{"line":24,"column":90},"end":{"line":28,"column":5}},"line":24},"5":{"name":"(anonymous_5)","decl":{"start":{"line":29,"column":62},"end":{"line":29,"column":63}},"loc":{"start":{"line":29,"column":84},"end":{"line":33,"column":5}},"line":29},"6":{"name":"(anonymous_6)","decl":{"start":{"line":37,"column":60},"end":{"line":37,"column":61}},"loc":{"start":{"line":37,"column":71},"end":{"line":38,"column":62}},"line":37},"7":{"name":"(anonymous_7)","decl":{"start":{"line":38,"column":12},"end":{"line":38,"column":13}},"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":61}},"line":38},"8":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":10}},"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":92}},"line":39},"9":{"name":"(anonymous_9)","decl":{"start":{"line":39,"column":46},"end":{"line":39,"column":47}},"loc":{"start":{"line":39,"column":55},"end":{"line":39,"column":91}},"line":39},"10":{"name":"(anonymous_10)","decl":{"start":{"line":42,"column":69},"end":{"line":42,"column":70}},"loc":{"start":{"line":42,"column":80},"end":{"line":43,"column":97}},"line":42},"11":{"name":"(anonymous_11)","decl":{"start":{"line":43,"column":10},"end":{"line":43,"column":11}},"loc":{"start":{"line":43,"column":30},"end":{"line":43,"column":96}},"line":43},"12":{"name":"(anonymous_12)","decl":{"start":{"line":45,"column":46},"end":{"line":45,"column":47}},"loc":{"start":{"line":45,"column":57},"end":{"line":51,"column":3}},"line":45},"13":{"name":"(anonymous_13)","decl":{"start":{"line":46,"column":65},"end":{"line":46,"column":66}},"loc":{"start":{"line":46,"column":90},"end":{"line":50,"column":5}},"line":46},"14":{"name":"(anonymous_14)","decl":{"start":{"line":56,"column":25},"end":{"line":56,"column":26}},"loc":{"start":{"line":56,"column":39},"end":{"line":61,"column":3}},"line":56},"15":{"name":"(anonymous_15)","decl":{"start":{"line":69,"column":22},"end":{"line":69,"column":23}},"loc":{"start":{"line":69,"column":33},"end":{"line":74,"column":3}},"line":69}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":26},"end":{"line":21,"column":113}},"type":"cond-expr","locations":[{"start":{"line":21,"column":81},"end":{"line":21,"column":101}},{"start":{"line":21,"column":104},"end":{"line":21,"column":113}}],"line":21},"1":{"loc":{"start":{"line":21,"column":26},"end":{"line":21,"column":78}},"type":"binary-expr","locations":[{"start":{"line":21,"column":26},"end":{"line":21,"column":51}},{"start":{"line":21,"column":55},"end":{"line":21,"column":78}}],"line":21},"2":{"loc":{"start":{"line":24,"column":19},"end":{"line":24,"column":55}},"type":"binary-expr","locations":[{"start":{"line":24,"column":19},"end":{"line":24,"column":49}},{"start":{"line":24,"column":53},"end":{"line":24,"column":55}}],"line":24},"3":{"loc":{"start":{"line":25,"column":6},"end":{"line":27,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":27,"column":7}},{"start":{},"end":{}}],"line":25},"4":{"loc":{"start":{"line":29,"column":19},"end":{"line":29,"column":52}},"type":"binary-expr","locations":[{"start":{"line":29,"column":19},"end":{"line":29,"column":46}},{"start":{"line":29,"column":50},"end":{"line":29,"column":52}}],"line":29},"5":{"loc":{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},{"start":{},"end":{}}],"line":30},"6":{"loc":{"start":{"line":46,"column":19},"end":{"line":46,"column":55}},"type":"binary-expr","locations":[{"start":{"line":46,"column":19},"end":{"line":46,"column":49}},{"start":{"line":46,"column":53},"end":{"line":46,"column":55}}],"line":46},"7":{"loc":{"start":{"line":47,"column":6},"end":{"line":49,"column":7}},"type":"if","locations":[{"start":{"line":47,"column":6},"end":{"line":49,"column":7}},{"start":{},"end":{}}],"line":47},"8":{"loc":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":58},"9":{"loc":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/gotoNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/gotoNode.ts","statementMap":{"0":{"start":{"line":5,"column":82},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":19}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":82},"end":{"line":5,"column":83}},"loc":{"start":{"line":5,"column":97},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/notify.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/notify.ts","statementMap":{"0":{"start":{"line":5,"column":77},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":77},"end":{"line":5,"column":78}},"loc":{"start":{"line":5,"column":92},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/preview.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/preview.ts","statementMap":{"0":{"start":{"line":5,"column":109},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":17},"end":{"line":6,"column":32}},"2":{"start":{"line":8,"column":2},"end":{"line":11,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":109},"end":{"line":5,"column":110}},"loc":{"start":{"line":5,"column":121},"end":{"line":12,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullStyles.ts","statementMap":{"0":{"start":{"line":5,"column":86},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":86},"end":{"line":5,"column":87}},"loc":{"start":{"line":5,"column":101},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullVariables.ts","statementMap":{"0":{"start":{"line":5,"column":92},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":92},"end":{"line":5,"column":93}},"loc":{"start":{"line":5,"column":107},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/remapTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/remapTokens.ts","statementMap":{"0":{"start":{"line":12,"column":88},"end":{"line":58,"column":1}},"1":{"start":{"line":13,"column":2},"end":{"line":57,"column":3}},"2":{"start":{"line":16,"column":8},"end":{"line":16,"column":11}},"3":{"start":{"line":17,"column":24},"end":{"line":17,"column":86}},"4":{"start":{"line":18,"column":22},"end":{"line":18,"column":55}},"5":{"start":{"line":19,"column":4},"end":{"line":27,"column":7}},"6":{"start":{"line":29,"column":20},"end":{"line":29,"column":79}},"7":{"start":{"line":30,"column":41},"end":{"line":30,"column":50}},"8":{"start":{"line":32,"column":4},"end":{"line":46,"column":7}},"9":{"start":{"line":33,"column":6},"end":{"line":45,"column":10}},"10":{"start":{"line":34,"column":8},"end":{"line":42,"column":11}},"11":{"start":{"line":35,"column":10},"end":{"line":37,"column":11}},"12":{"start":{"line":36,"column":12},"end":{"line":36,"column":19}},"13":{"start":{"line":38,"column":10},"end":{"line":41,"column":11}},"14":{"start":{"line":39,"column":30},"end":{"line":39,"column":53}},"15":{"start":{"line":40,"column":12},"end":{"line":40,"column":64}},"16":{"start":{"line":43,"column":8},"end":{"line":43,"column":23}},"17":{"start":{"line":44,"column":8},"end":{"line":44,"column":36}},"18":{"start":{"line":48,"column":4},"end":{"line":48,"column":32}},"19":{"start":{"line":50,"column":4},"end":{"line":53,"column":7}},"20":{"start":{"line":54,"column":4},"end":{"line":54,"column":32}},"21":{"start":{"line":56,"column":4},"end":{"line":56,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":88},"end":{"line":12,"column":89}},"loc":{"start":{"line":12,"column":103},"end":{"line":58,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":24},"end":{"line":32,"column":25}},"loc":{"start":{"line":32,"column":46},"end":{"line":46,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":42},"end":{"line":33,"column":43}},"loc":{"start":{"line":33,"column":54},"end":{"line":45,"column":7}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":35},"end":{"line":34,"column":36}},"loc":{"start":{"line":34,"column":59},"end":{"line":42,"column":9}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":10},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":35,"column":10},"end":{"line":37,"column":11}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":35,"column":14},"end":{"line":35,"column":65}},"type":"binary-expr","locations":[{"start":{"line":35,"column":14},"end":{"line":35,"column":45}},{"start":{"line":35,"column":49},"end":{"line":35,"column":65}}],"line":35},"2":{"loc":{"start":{"line":38,"column":10},"end":{"line":41,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":41,"column":11}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeSingleCredential.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeSingleCredential.ts","statementMap":{"0":{"start":{"line":5,"column":111},"end":{"line":8,"column":1}},"1":{"start":{"line":6,"column":22},"end":{"line":6,"column":25}},"2":{"start":{"line":7,"column":2},"end":{"line":7,"column":45}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":111},"end":{"line":5,"column":112}},"loc":{"start":{"line":5,"column":126},"end":{"line":8,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStyles.ts","statementMap":{"0":{"start":{"line":5,"column":90},"end":{"line":17,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":12,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":9,"column":6}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":21}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":90},"end":{"line":5,"column":91}},"loc":{"start":{"line":5,"column":105},"end":{"line":17,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts","statementMap":{"0":{"start":{"line":4,"column":126},"end":{"line":22,"column":1}},"1":{"start":{"line":5,"column":2},"end":{"line":21,"column":3}},"2":{"start":{"line":6,"column":16},"end":{"line":6,"column":17}},"3":{"start":{"line":7,"column":24},"end":{"line":11,"column":40}},"4":{"start":{"line":11,"column":25},"end":{"line":11,"column":39}},"5":{"start":{"line":12,"column":4},"end":{"line":17,"column":7}},"6":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"7":{"start":{"line":14,"column":8},"end":{"line":14,"column":23}},"8":{"start":{"line":15,"column":8},"end":{"line":15,"column":19}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":43}},"10":{"start":{"line":20,"column":4},"end":{"line":20,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":126},"end":{"line":4,"column":127}},"loc":{"start":{"line":4,"column":141},"end":{"line":22,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":12},"end":{"line":11,"column":13}},"loc":{"start":{"line":11,"column":25},"end":{"line":11,"column":39}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":35},"end":{"line":17,"column":5}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeTokensByValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeTokensByValue.ts","statementMap":{"0":{"start":{"line":7,"column":106},"end":{"line":20,"column":1}},"1":{"start":{"line":8,"column":63},"end":{"line":8,"column":65}},"2":{"start":{"line":10,"column":2},"end":{"line":15,"column":5}},"3":{"start":{"line":11,"column":4},"end":{"line":14,"column":8}},"4":{"start":{"line":12,"column":24},"end":{"line":12,"column":50}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":82}},"6":{"start":{"line":13,"column":21},"end":{"line":13,"column":82}},"7":{"start":{"line":17,"column":2},"end":{"line":17,"column":87}},"8":{"start":{"line":17,"column":28},"end":{"line":17,"column":87}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":106},"end":{"line":7,"column":107}},"loc":{"start":{"line":7,"column":121},"end":{"line":20,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":29},"end":{"line":10,"column":30}},"loc":{"start":{"line":10,"column":40},"end":{"line":15,"column":3}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":35},"end":{"line":14,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":82}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":82}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":17,"column":2},"end":{"line":17,"column":87}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":17,"column":87}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameStyles.ts","statementMap":{"0":{"start":{"line":5,"column":90},"end":{"line":17,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":12,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":9,"column":6}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":21}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":90},"end":{"line":5,"column":91}},"loc":{"start":{"line":5,"column":105},"end":{"line":17,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameVariables.ts","statementMap":{"0":{"start":{"line":5,"column":96},"end":{"line":7,"column":2}},"1":{"start":{"line":5,"column":112},"end":{"line":7,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":96},"end":{"line":5,"column":97}},"loc":{"start":{"line":5,"column":112},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resizeWindow.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resizeWindow.ts","statementMap":{"0":{"start":{"line":4,"column":90},"end":{"line":6,"column":1}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":90},"end":{"line":4,"column":91}},"loc":{"start":{"line":4,"column":105},"end":{"line":6,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts","statementMap":{"0":{"start":{"line":4,"column":99},"end":{"line":43,"column":1}},"1":{"start":{"line":5,"column":25},"end":{"line":9,"column":3}},"2":{"start":{"line":11,"column":25},"end":{"line":38,"column":3}},"3":{"start":{"line":13,"column":28},"end":{"line":13,"column":60}},"4":{"start":{"line":14,"column":6},"end":{"line":25,"column":7}},"5":{"start":{"line":15,"column":8},"end":{"line":24,"column":9}},"6":{"start":{"line":16,"column":30},"end":{"line":16,"column":81}},"7":{"start":{"line":17,"column":10},"end":{"line":21,"column":12}},"8":{"start":{"line":23,"column":10},"end":{"line":23,"column":29}},"9":{"start":{"line":27,"column":25},"end":{"line":27,"column":72}},"10":{"start":{"line":27,"column":56},"end":{"line":27,"column":71}},"11":{"start":{"line":28,"column":6},"end":{"line":34,"column":7}},"12":{"start":{"line":29,"column":8},"end":{"line":33,"column":10}},"13":{"start":{"line":36,"column":6},"end":{"line":36,"column":20}},"14":{"start":{"line":40,"column":2},"end":{"line":42,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":99},"end":{"line":4,"column":100}},"loc":{"start":{"line":4,"column":114},"end":{"line":43,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":21},"end":{"line":12,"column":22}},"loc":{"start":{"line":12,"column":35},"end":{"line":37,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":45},"end":{"line":27,"column":46}},"loc":{"start":{"line":27,"column":56},"end":{"line":27,"column":71}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":28,"column":6},"end":{"line":34,"column":7}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":34,"column":7}},{"start":{},"end":{}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts","statementMap":{"0":{"start":{"line":9,"column":105},"end":{"line":31,"column":1}},"1":{"start":{"line":10,"column":27},"end":{"line":10,"column":50}},"2":{"start":{"line":11,"column":63},"end":{"line":11,"column":65}},"3":{"start":{"line":12,"column":2},"end":{"line":27,"column":6}},"4":{"start":{"line":13,"column":4},"end":{"line":26,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":17,"column":8}},"6":{"start":{"line":19,"column":23},"end":{"line":19,"column":81}},"7":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"8":{"start":{"line":21,"column":8},"end":{"line":24,"column":10}},"9":{"start":{"line":28,"column":2},"end":{"line":30,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":105},"end":{"line":9,"column":106}},"loc":{"start":{"line":9,"column":120},"end":{"line":31,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":40},"end":{"line":12,"column":41}},"loc":{"start":{"line":12,"column":62},"end":{"line":27,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":26,"column":5}},{"start":{"line":18,"column":11},"end":{"line":26,"column":5}}],"line":13},"1":{"loc":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/selectNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/selectNodes.ts","statementMap":{"0":{"start":{"line":7,"column":88},"end":{"line":9,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":88},"end":{"line":7,"column":89}},"loc":{"start":{"line":7,"column":103},"end":{"line":9,"column":1}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setAuthData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setAuthData.ts","statementMap":{"0":{"start":{"line":5,"column":89},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":89},"end":{"line":5,"column":90}},"loc":{"start":{"line":5,"column":104},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setInitialLoad.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setInitialLoad.ts","statementMap":{"0":{"start":{"line":5,"column":95},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":95},"end":{"line":5,"column":96}},"loc":{"start":{"line":5,"column":110},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setLicenseKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setLicenseKey.ts","statementMap":{"0":{"start":{"line":5,"column":93},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":93},"end":{"line":5,"column":94}},"loc":{"start":{"line":5,"column":108},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNodeData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNodeData.ts","statementMap":{"0":{"start":{"line":9,"column":89},"end":{"line":35,"column":1}},"1":{"start":{"line":10,"column":2},"end":{"line":34,"column":3}},"2":{"start":{"line":11,"column":4},"end":{"line":31,"column":5}},"3":{"start":{"line":12,"column":24},"end":{"line":12,"column":56}},"4":{"start":{"line":13,"column":20},"end":{"line":13,"column":47}},"5":{"start":{"line":16,"column":10},"end":{"line":16,"column":74}},"6":{"start":{"line":18,"column":6},"end":{"line":25,"column":9}},"7":{"start":{"line":27,"column":6},"end":{"line":29,"column":9}},"8":{"start":{"line":30,"column":6},"end":{"line":30,"column":28}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":89},"end":{"line":9,"column":90}},"loc":{"start":{"line":9,"column":104},"end":{"line":35,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":107},"end":{"line":53,"column":1}},"1":{"start":{"line":13,"column":57},"end":{"line":13,"column":59}},"2":{"start":{"line":15,"column":2},"end":{"line":19,"column":5}},"3":{"start":{"line":16,"column":4},"end":{"line":18,"column":7}},"4":{"start":{"line":17,"column":6},"end":{"line":17,"column":104}},"5":{"start":{"line":20,"column":2},"end":{"line":28,"column":5}},"6":{"start":{"line":30,"column":18},"end":{"line":30,"column":77}},"7":{"start":{"line":31,"column":39},"end":{"line":31,"column":48}},"8":{"start":{"line":33,"column":2},"end":{"line":44,"column":5}},"9":{"start":{"line":34,"column":4},"end":{"line":43,"column":8}},"10":{"start":{"line":35,"column":6},"end":{"line":40,"column":9}},"11":{"start":{"line":36,"column":29},"end":{"line":36,"column":54}},"12":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"13":{"start":{"line":38,"column":10},"end":{"line":38,"column":66}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":21}},"15":{"start":{"line":42,"column":6},"end":{"line":42,"column":34}},"16":{"start":{"line":46,"column":2},"end":{"line":46,"column":30}},"17":{"start":{"line":48,"column":2},"end":{"line":51,"column":5}},"18":{"start":{"line":52,"column":2},"end":{"line":52,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":107},"end":{"line":12,"column":108}},"loc":{"start":{"line":12,"column":122},"end":{"line":53,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":26},"end":{"line":15,"column":27}},"loc":{"start":{"line":15,"column":37},"end":{"line":19,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":25}},"loc":{"start":{"line":16,"column":36},"end":{"line":18,"column":5}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":40},"end":{"line":33,"column":41}},"loc":{"start":{"line":33,"column":60},"end":{"line":44,"column":3}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":40},"end":{"line":34,"column":41}},"loc":{"start":{"line":34,"column":52},"end":{"line":43,"column":5}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":19},"end":{"line":35,"column":20}},"loc":{"start":{"line":35,"column":34},"end":{"line":40,"column":7}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":26},"end":{"line":17,"column":103}},"type":"cond-expr","locations":[{"start":{"line":17,"column":46},"end":{"line":17,"column":84}},{"start":{"line":17,"column":87},"end":{"line":17,"column":103}}],"line":17},"1":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},{"start":{},"end":{}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts","statementMap":{"0":{"start":{"line":5,"column":130},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":77}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":130},"end":{"line":5,"column":131}},"loc":{"start":{"line":5,"column":145},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts","statementMap":{"0":{"start":{"line":5,"column":124},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":71}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":124},"end":{"line":5,"column":125}},"loc":{"start":{"line":5,"column":139},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts","statementMap":{"0":{"start":{"line":5,"column":118},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":118},"end":{"line":5,"column":119}},"loc":{"start":{"line":5,"column":133},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts","statementMap":{"0":{"start":{"line":5,"column":136},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":83}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":136},"end":{"line":5,"column":137}},"loc":{"start":{"line":5,"column":151},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts","statementMap":{"0":{"start":{"line":5,"column":104},"end":{"line":9,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":104},"end":{"line":5,"column":105}},"loc":{"start":{"line":5,"column":119},"end":{"line":9,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setStorageType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setStorageType.ts","statementMap":{"0":{"start":{"line":5,"column":95},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":95},"end":{"line":5,"column":96}},"loc":{"start":{"line":5,"column":110},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUi.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUi.ts","statementMap":{"0":{"start":{"line":8,"column":76},"end":{"line":44,"column":1}},"1":{"start":{"line":9,"column":16},"end":{"line":9,"column":62}},"2":{"start":{"line":10,"column":17},"end":{"line":10,"column":65}},"3":{"start":{"line":11,"column":2},"end":{"line":38,"column":5}},"4":{"start":{"line":39,"column":2},"end":{"line":39,"column":33}},"5":{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},"6":{"start":{"line":41,"column":4},"end":{"line":41,"column":40}},"7":{"start":{"line":42,"column":4},"end":{"line":42,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":76},"end":{"line":8,"column":77}},"loc":{"start":{"line":8,"column":91},"end":{"line":44,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":62}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":62}}],"line":9},"1":{"loc":{"start":{"line":10,"column":17},"end":{"line":10,"column":65}},"type":"binary-expr","locations":[{"start":{"line":10,"column":17},"end":{"line":10,"column":37}},{"start":{"line":10,"column":41},"end":{"line":10,"column":65}}],"line":10},"2":{"loc":{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},{"start":{},"end":{}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUsedEmail.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUsedEmail.ts","statementMap":{"0":{"start":{"line":5,"column":91},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":91},"end":{"line":5,"column":92}},"loc":{"start":{"line":5,"column":106},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":32},"end":{"line":6,"column":49}},"type":"binary-expr","locations":[{"start":{"line":6,"column":32},"end":{"line":6,"column":41}},{"start":{"line":6,"column":45},"end":{"line":6,"column":49}}],"line":6}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/swapStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/swapStyles.ts","statementMap":{"0":{"start":{"line":7,"column":32},"end":{"line":7,"column":34}},"1":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"2":{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},"3":{"start":{"line":10,"column":38},"end":{"line":10,"column":83}},"4":{"start":{"line":11,"column":6},"end":{"line":11,"column":12}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":85}},"6":{"start":{"line":13,"column":39},"end":{"line":13,"column":85}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":12}},"8":{"start":{"line":16,"column":6},"end":{"line":16,"column":77}},"9":{"start":{"line":16,"column":44},"end":{"line":16,"column":75}},"10":{"start":{"line":17,"column":6},"end":{"line":17,"column":12}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":51}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":12}},"13":{"start":{"line":22,"column":2},"end":{"line":22,"column":18}},"14":{"start":{"line":27,"column":23},"end":{"line":27,"column":122}},"15":{"start":{"line":27,"column":48},"end":{"line":27,"column":102}},"16":{"start":{"line":27,"column":87},"end":{"line":27,"column":101}},"17":{"start":{"line":27,"column":115},"end":{"line":27,"column":121}},"18":{"start":{"line":29,"column":32},"end":{"line":36,"column":25}},"19":{"start":{"line":30,"column":4},"end":{"line":34,"column":5}},"20":{"start":{"line":31,"column":6},"end":{"line":33,"column":9}},"21":{"start":{"line":32,"column":8},"end":{"line":32,"column":70}},"22":{"start":{"line":35,"column":4},"end":{"line":35,"column":15}},"23":{"start":{"line":39,"column":22},"end":{"line":44,"column":22}},"24":{"start":{"line":40,"column":4},"end":{"line":42,"column":7}},"25":{"start":{"line":41,"column":6},"end":{"line":41,"column":31}},"26":{"start":{"line":43,"column":4},"end":{"line":43,"column":15}},"27":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"28":{"start":{"line":46,"column":4},"end":{"line":46,"column":11}},"29":{"start":{"line":49,"column":2},"end":{"line":51,"column":5}},"30":{"start":{"line":50,"column":4},"end":{"line":50,"column":81}}},"fnMap":{"0":{"name":"getRootNode","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":20}},"loc":{"start":{"line":6,"column":45},"end":{"line":23,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":34},"end":{"line":16,"column":35}},"loc":{"start":{"line":16,"column":44},"end":{"line":16,"column":75}},"line":16},"2":{"name":"swapStyles","decl":{"start":{"line":26,"column":22},"end":{"line":26,"column":32}},"loc":{"start":{"line":26,"column":120},"end":{"line":52,"column":1}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":37},"end":{"line":27,"column":38}},"loc":{"start":{"line":27,"column":48},"end":{"line":27,"column":102}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":27,"column":80},"end":{"line":27,"column":81}},"loc":{"start":{"line":27,"column":87},"end":{"line":27,"column":101}},"line":27},"5":{"name":"(anonymous_5)","decl":{"start":{"line":27,"column":108},"end":{"line":27,"column":109}},"loc":{"start":{"line":27,"column":115},"end":{"line":27,"column":121}},"line":27},"6":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":46},"end":{"line":29,"column":47}},"loc":{"start":{"line":29,"column":62},"end":{"line":36,"column":3}},"line":29},"7":{"name":"(anonymous_7)","decl":{"start":{"line":31,"column":58},"end":{"line":31,"column":59}},"loc":{"start":{"line":31,"column":84},"end":{"line":33,"column":7}},"line":31},"8":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":67},"end":{"line":39,"column":68}},"loc":{"start":{"line":39,"column":98},"end":{"line":44,"column":3}},"line":39},"9":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":35},"end":{"line":40,"column":36}},"loc":{"start":{"line":40,"column":48},"end":{"line":42,"column":5}},"line":40},"10":{"name":"(anonymous_10)","decl":{"start":{"line":49,"column":34},"end":{"line":49,"column":35}},"loc":{"start":{"line":49,"column":45},"end":{"line":51,"column":3}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"type":"switch","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":12}},{"start":{"line":12,"column":4},"end":{"line":14,"column":12}},{"start":{"line":15,"column":4},"end":{"line":17,"column":12}},{"start":{"line":18,"column":4},"end":{"line":20,"column":12}}],"line":8},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},"type":"if","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":85}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":85}},{"start":{},"end":{}}],"line":13},"3":{"loc":{"start":{"line":30,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":30},"4":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":45},"5":{"loc":{"start":{"line":45,"column":6},"end":{"line":45,"column":71}},"type":"binary-expr","locations":[{"start":{"line":45,"column":6},"end":{"line":45,"column":29}},{"start":{"line":45,"column":33},"end":{"line":45,"column":55}},{"start":{"line":45,"column":59},"end":{"line":45,"column":71}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/update.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/update.ts","statementMap":{"0":{"start":{"line":13,"column":77},"end":{"line":64,"column":1}},"1":{"start":{"line":14,"column":39},"end":{"line":14,"column":41}},"2":{"start":{"line":15,"column":2},"end":{"line":30,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":29,"column":7}},"4":{"start":{"line":31,"column":2},"end":{"line":59,"column":3}},"5":{"start":{"line":34,"column":8},"end":{"line":34,"column":72}},"6":{"start":{"line":35,"column":4},"end":{"line":43,"column":7}},"7":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"8":{"start":{"line":47,"column":6},"end":{"line":47,"column":58}},"9":{"start":{"line":50,"column":4},"end":{"line":52,"column":7}},"10":{"start":{"line":54,"column":4},"end":{"line":54,"column":49}},"11":{"start":{"line":55,"column":30},"end":{"line":55,"column":126}},"12":{"start":{"line":56,"column":4},"end":{"line":58,"column":5}},"13":{"start":{"line":57,"column":6},"end":{"line":57,"column":77}},"14":{"start":{"line":61,"column":2},"end":{"line":63,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":77},"end":{"line":13,"column":78}},"loc":{"start":{"line":13,"column":92},"end":{"line":64,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":30,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":30,"column":3}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":38}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":21}},{"start":{"line":15,"column":25},"end":{"line":15,"column":38}}],"line":15},"2":{"loc":{"start":{"line":24,"column":23},"end":{"line":24,"column":51}},"type":"binary-expr","locations":[{"start":{"line":24,"column":23},"end":{"line":24,"column":42}},{"start":{"line":24,"column":46},"end":{"line":24,"column":51}}],"line":24},"3":{"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":63}},"type":"binary-expr","locations":[{"start":{"line":26,"column":19},"end":{"line":26,"column":34}},{"start":{"line":26,"column":38},"end":{"line":26,"column":63}}],"line":26},"4":{"loc":{"start":{"line":31,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":31},"5":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":46},"6":{"loc":{"start":{"line":56,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":56,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":56},"7":{"loc":{"start":{"line":56,"column":8},"end":{"line":56,"column":91}},"type":"binary-expr","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":23}},{"start":{"line":56,"column":27},"end":{"line":56,"column":37}},{"start":{"line":56,"column":41},"end":{"line":56,"column":70}},{"start":{"line":56,"column":74},"end":{"line":56,"column":91}}],"line":56}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts","statementMap":{"0":{"start":{"line":6,"column":110},"end":{"line":9,"column":1}},"1":{"start":{"line":7,"column":18},"end":{"line":7,"column":36}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":106}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":110},"end":{"line":6,"column":111}},"loc":{"start":{"line":6,"column":125},"end":{"line":9,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateVariables.ts","statementMap":{"0":{"start":{"line":5,"column":96},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":47}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":96},"end":{"line":5,"column":97}},"loc":{"start":{"line":5,"column":111},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/boxShadow.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/boxShadow.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"1":{"start":{"line":6,"column":6},"end":{"line":6,"column":28}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":27}},"3":{"start":{"line":13,"column":2},"end":{"line":18,"column":3}},"4":{"start":{"line":15,"column":6},"end":{"line":15,"column":41}},"5":{"start":{"line":17,"column":6},"end":{"line":17,"column":40}}},"fnMap":{"0":{"name":"convertBoxShadowTypeToFigma","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":59},"end":{"line":10,"column":1}},"line":3},"1":{"name":"convertBoxShadowTypeFromFigma","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":45}},"loc":{"start":{"line":12,"column":61},"end":{"line":19,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"type":"switch","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":28}},{"start":{"line":7,"column":4},"end":{"line":8,"column":27}}],"line":4},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":18,"column":3}},"type":"switch","locations":[{"start":{"line":14,"column":4},"end":{"line":15,"column":41}},{"start":{"line":16,"column":4},"end":{"line":17,"column":40}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/colors.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/colors.ts","statementMap":{"0":{"start":{"line":13,"column":12},"end":{"line":13,"column":37}},"1":{"start":{"line":14,"column":12},"end":{"line":14,"column":39}},"2":{"start":{"line":15,"column":12},"end":{"line":15,"column":38}},"3":{"start":{"line":16,"column":12},"end":{"line":16,"column":60}},"4":{"start":{"line":18,"column":19},"end":{"line":25,"column":3}},"5":{"start":{"line":28,"column":2},"end":{"line":32,"column":5}},"6":{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},"7":{"start":{"line":30,"column":6},"end":{"line":30,"column":31}},"8":{"start":{"line":34,"column":2},"end":{"line":34,"column":33}},"9":{"start":{"line":38,"column":12},"end":{"line":38,"column":25}},"10":{"start":{"line":39,"column":10},"end":{"line":39,"column":23}},"11":{"start":{"line":40,"column":10},"end":{"line":40,"column":23}},"12":{"start":{"line":41,"column":12},"end":{"line":41,"column":32}},"13":{"start":{"line":44,"column":2},"end":{"line":44,"column":11}},"14":{"start":{"line":45,"column":2},"end":{"line":45,"column":11}},"15":{"start":{"line":47,"column":12},"end":{"line":47,"column":41}},"16":{"start":{"line":48,"column":12},"end":{"line":48,"column":50}},"17":{"start":{"line":49,"column":12},"end":{"line":49,"column":21}},"18":{"start":{"line":50,"column":10},"end":{"line":50,"column":11}},"19":{"start":{"line":51,"column":10},"end":{"line":51,"column":11}},"20":{"start":{"line":52,"column":10},"end":{"line":52,"column":11}},"21":{"start":{"line":54,"column":2},"end":{"line":78,"column":3}},"22":{"start":{"line":55,"column":4},"end":{"line":55,"column":10}},"23":{"start":{"line":56,"column":4},"end":{"line":56,"column":10}},"24":{"start":{"line":57,"column":4},"end":{"line":57,"column":10}},"25":{"start":{"line":58,"column":9},"end":{"line":78,"column":3}},"26":{"start":{"line":59,"column":4},"end":{"line":59,"column":10}},"27":{"start":{"line":60,"column":4},"end":{"line":60,"column":10}},"28":{"start":{"line":61,"column":4},"end":{"line":61,"column":10}},"29":{"start":{"line":62,"column":9},"end":{"line":78,"column":3}},"30":{"start":{"line":63,"column":4},"end":{"line":63,"column":10}},"31":{"start":{"line":64,"column":4},"end":{"line":64,"column":10}},"32":{"start":{"line":65,"column":4},"end":{"line":65,"column":10}},"33":{"start":{"line":66,"column":9},"end":{"line":78,"column":3}},"34":{"start":{"line":67,"column":4},"end":{"line":67,"column":10}},"35":{"start":{"line":68,"column":4},"end":{"line":68,"column":10}},"36":{"start":{"line":69,"column":4},"end":{"line":69,"column":10}},"37":{"start":{"line":70,"column":9},"end":{"line":78,"column":3}},"38":{"start":{"line":71,"column":4},"end":{"line":71,"column":10}},"39":{"start":{"line":72,"column":4},"end":{"line":72,"column":10}},"40":{"start":{"line":73,"column":4},"end":{"line":73,"column":10}},"41":{"start":{"line":74,"column":9},"end":{"line":78,"column":3}},"42":{"start":{"line":75,"column":4},"end":{"line":75,"column":10}},"43":{"start":{"line":76,"column":4},"end":{"line":76,"column":10}},"44":{"start":{"line":77,"column":4},"end":{"line":77,"column":10}},"45":{"start":{"line":79,"column":2},"end":{"line":79,"column":32}},"46":{"start":{"line":80,"column":2},"end":{"line":80,"column":32}},"47":{"start":{"line":81,"column":2},"end":{"line":81,"column":32}},"48":{"start":{"line":83,"column":2},"end":{"line":83,"column":22}},"49":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"50":{"start":{"line":93,"column":2},"end":{"line":121,"column":3}},"51":{"start":{"line":94,"column":22},"end":{"line":94,"column":98}},"52":{"start":{"line":98,"column":8},"end":{"line":98,"column":35}},"53":{"start":{"line":99,"column":4},"end":{"line":101,"column":6}},"54":{"start":{"line":102,"column":4},"end":{"line":102,"column":24}},"55":{"start":{"line":103,"column":9},"end":{"line":121,"column":3}},"56":{"start":{"line":104,"column":22},"end":{"line":104,"column":89}},"57":{"start":{"line":105,"column":27},"end":{"line":105,"column":48}},"58":{"start":{"line":108,"column":8},"end":{"line":108,"column":35}},"59":{"start":{"line":109,"column":4},"end":{"line":111,"column":6}},"60":{"start":{"line":112,"column":4},"end":{"line":112,"column":24}},"61":{"start":{"line":116,"column":14},"end":{"line":116,"column":41}},"62":{"start":{"line":117,"column":4},"end":{"line":119,"column":6}},"63":{"start":{"line":120,"column":4},"end":{"line":120,"column":28}},"64":{"start":{"line":123,"column":2},"end":{"line":126,"column":4}},"65":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"66":{"start":{"line":131,"column":4},"end":{"line":131,"column":32}},"67":{"start":{"line":133,"column":2},"end":{"line":133,"column":49}},"68":{"start":{"line":137,"column":2},"end":{"line":137,"column":60}}},"fnMap":{"0":{"name":"RGBAToHexA","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":26}},"loc":{"start":{"line":12,"column":120},"end":{"line":35,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":19},"end":{"line":28,"column":20}},"loc":{"start":{"line":28,"column":32},"end":{"line":32,"column":3}},"line":28},"2":{"name":"hslaToRgba","decl":{"start":{"line":37,"column":16},"end":{"line":37,"column":26}},"loc":{"start":{"line":37,"column":49},"end":{"line":84,"column":1}},"line":37},"3":{"name":"roundToTwo","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":19}},"loc":{"start":{"line":86,"column":33},"end":{"line":88,"column":1}},"line":86},"4":{"name":"convertToFigmaColor","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":35}},"loc":{"start":{"line":90,"column":51},"end":{"line":127,"column":1}},"line":90},"5":{"name":"convertFigmaColorToHex","decl":{"start":{"line":129,"column":16},"end":{"line":129,"column":38}},"loc":{"start":{"line":129,"column":84},"end":{"line":134,"column":1}},"line":129},"6":{"name":"convertFigmaPaintToHex","decl":{"start":{"line":136,"column":16},"end":{"line":136,"column":38}},"loc":{"start":{"line":136,"column":66},"end":{"line":138,"column":1}},"line":136}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":29},"1":{"loc":{"start":{"line":41,"column":12},"end":{"line":41,"column":32}},"type":"binary-expr","locations":[{"start":{"line":41,"column":12},"end":{"line":41,"column":27}},{"start":{"line":41,"column":31},"end":{"line":41,"column":32}}],"line":41},"2":{"loc":{"start":{"line":54,"column":2},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":78,"column":3}},{"start":{"line":58,"column":9},"end":{"line":78,"column":3}}],"line":54},"3":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":22}},"type":"binary-expr","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":12}},{"start":{"line":54,"column":16},"end":{"line":54,"column":22}}],"line":54},"4":{"loc":{"start":{"line":58,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":58,"column":9},"end":{"line":78,"column":3}},{"start":{"line":62,"column":9},"end":{"line":78,"column":3}}],"line":58},"5":{"loc":{"start":{"line":58,"column":13},"end":{"line":58,"column":31}},"type":"binary-expr","locations":[{"start":{"line":58,"column":13},"end":{"line":58,"column":20}},{"start":{"line":58,"column":24},"end":{"line":58,"column":31}}],"line":58},"6":{"loc":{"start":{"line":62,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":62,"column":9},"end":{"line":78,"column":3}},{"start":{"line":66,"column":9},"end":{"line":78,"column":3}}],"line":62},"7":{"loc":{"start":{"line":62,"column":13},"end":{"line":62,"column":32}},"type":"binary-expr","locations":[{"start":{"line":62,"column":13},"end":{"line":62,"column":21}},{"start":{"line":62,"column":25},"end":{"line":62,"column":32}}],"line":62},"8":{"loc":{"start":{"line":66,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":9},"end":{"line":78,"column":3}},{"start":{"line":70,"column":9},"end":{"line":78,"column":3}}],"line":66},"9":{"loc":{"start":{"line":66,"column":13},"end":{"line":66,"column":32}},"type":"binary-expr","locations":[{"start":{"line":66,"column":13},"end":{"line":66,"column":21}},{"start":{"line":66,"column":25},"end":{"line":66,"column":32}}],"line":66},"10":{"loc":{"start":{"line":70,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":9},"end":{"line":78,"column":3}},{"start":{"line":74,"column":9},"end":{"line":78,"column":3}}],"line":70},"11":{"loc":{"start":{"line":70,"column":13},"end":{"line":70,"column":32}},"type":"binary-expr","locations":[{"start":{"line":70,"column":13},"end":{"line":70,"column":21}},{"start":{"line":70,"column":25},"end":{"line":70,"column":32}}],"line":70},"12":{"loc":{"start":{"line":74,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":74,"column":9},"end":{"line":78,"column":3}},{"start":{},"end":{}}],"line":74},"13":{"loc":{"start":{"line":74,"column":13},"end":{"line":74,"column":32}},"type":"binary-expr","locations":[{"start":{"line":74,"column":13},"end":{"line":74,"column":21}},{"start":{"line":74,"column":25},"end":{"line":74,"column":32}}],"line":74},"14":{"loc":{"start":{"line":93,"column":2},"end":{"line":121,"column":3}},"type":"if","locations":[{"start":{"line":93,"column":2},"end":{"line":121,"column":3}},{"start":{"line":103,"column":9},"end":{"line":121,"column":3}}],"line":93},"15":{"loc":{"start":{"line":97,"column":15},"end":{"line":97,"column":20}},"type":"default-arg","locations":[{"start":{"line":97,"column":19},"end":{"line":97,"column":20}}],"line":97},"16":{"loc":{"start":{"line":103,"column":9},"end":{"line":121,"column":3}},"type":"if","locations":[{"start":{"line":103,"column":9},"end":{"line":121,"column":3}},{"start":{"line":113,"column":9},"end":{"line":121,"column":3}}],"line":103},"17":{"loc":{"start":{"line":107,"column":15},"end":{"line":107,"column":20}},"type":"default-arg","locations":[{"start":{"line":107,"column":19},"end":{"line":107,"column":20}}],"line":107},"18":{"loc":{"start":{"line":115,"column":15},"end":{"line":115,"column":20}},"type":"default-arg","locations":[{"start":{"line":115,"column":19},"end":{"line":115,"column":20}}],"line":115},"19":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{},"end":{}}],"line":130}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0],"16":[0,0],"17":[0],"18":[0],"19":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":2,"column":38}},"1":{"start":{"line":3,"column":2},"end":{"line":12,"column":3}},"2":{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},"3":{"start":{"line":5,"column":27},"end":{"line":5,"column":49}},"4":{"start":{"line":6,"column":6},"end":{"line":6,"column":57}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":23}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}},"7":{"start":{"line":11,"column":4},"end":{"line":11,"column":23}}},"fnMap":{"0":{"name":"convertFontFamilyToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":40}},"loc":{"start":{"line":1,"column":90},"end":{"line":13,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":56},"end":{"line":1,"column":88}},"type":"default-arg","locations":[{"start":{"line":1,"column":83},"end":{"line":1,"column":88}}],"line":1},"1":{"loc":{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/fontWeight.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/fontWeight.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":19}},"2":{"start":{"line":6,"column":2},"end":{"line":27,"column":3}},"3":{"start":{"line":8,"column":6},"end":{"line":8,"column":34}},"4":{"start":{"line":10,"column":6},"end":{"line":10,"column":72}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":23}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":35}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":24}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":76}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":22}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":68}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":32}},"12":{"start":{"line":26,"column":6},"end":{"line":26,"column":21}}},"fnMap":{"0":{"name":"convertFontWeightToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":40}},"loc":{"start":{"line":1,"column":100},"end":{"line":28,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":56},"end":{"line":1,"column":88}},"type":"default-arg","locations":[{"start":{"line":1,"column":83},"end":{"line":1,"column":88}}],"line":1},"1":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2},"2":{"loc":{"start":{"line":6,"column":2},"end":{"line":27,"column":3}},"type":"switch","locations":[{"start":{"line":7,"column":4},"end":{"line":8,"column":34}},{"start":{"line":9,"column":4},"end":{"line":10,"column":72}},{"start":{"line":11,"column":4},"end":{"line":12,"column":23}},{"start":{"line":13,"column":4},"end":{"line":14,"column":35}},{"start":{"line":15,"column":4},"end":{"line":16,"column":24}},{"start":{"line":17,"column":4},"end":{"line":18,"column":76}},{"start":{"line":19,"column":4},"end":{"line":20,"column":22}},{"start":{"line":21,"column":4},"end":{"line":22,"column":68}},{"start":{"line":23,"column":4},"end":{"line":24,"column":32}},{"start":{"line":25,"column":4},"end":{"line":26,"column":21}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/generic.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/generic.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":29}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":45}},"2":{"start":{"line":12,"column":2},"end":{"line":17,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":58}},"5":{"start":{"line":16,"column":4},"end":{"line":16,"column":63}},"6":{"start":{"line":18,"column":2},"end":{"line":18,"column":27}}},"fnMap":{"0":{"name":"convertNumberToFigma","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":52},"end":{"line":5,"column":1}},"line":3},"1":{"name":"fakeZeroForFigma","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":32}},"loc":{"start":{"line":7,"column":48},"end":{"line":9,"column":1}},"line":7},"2":{"name":"convertTypographyNumberToFigma","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":46}},"loc":{"start":{"line":11,"column":84},"end":{"line":19,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":9},"end":{"line":8,"column":44}},"type":"cond-expr","locations":[{"start":{"line":8,"column":31},"end":{"line":8,"column":36}},{"start":{"line":8,"column":39},"end":{"line":8,"column":44}}],"line":8},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":82}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":31}},{"start":{"line":12,"column":36},"end":{"line":12,"column":56}},{"start":{"line":12,"column":60},"end":{"line":12,"column":81}}],"line":12},"3":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/gradients.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/gradients.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":6,"column":56}},"1":{"start":{"line":10,"column":47},"end":{"line":10,"column":52}},"2":{"start":{"line":11,"column":30},"end":{"line":13,"column":15}},"3":{"start":{"line":12,"column":19},"end":{"line":12,"column":97}},"4":{"start":{"line":14,"column":25},"end":{"line":14,"column":90}},"5":{"start":{"line":15,"column":21},"end":{"line":15,"column":69}},"6":{"start":{"line":16,"column":21},"end":{"line":16,"column":61}},"7":{"start":{"line":17,"column":2},"end":{"line":17,"column":74}},"8":{"start":{"line":20,"column":25},"end":{"line":23,"column":1}},"9":{"start":{"line":21,"column":30},"end":{"line":21,"column":45}},"10":{"start":{"line":22,"column":2},"end":{"line":22,"column":90}},"11":{"start":{"line":27,"column":16},"end":{"line":27,"column":112}},"12":{"start":{"line":27,"column":103},"end":{"line":27,"column":111}},"13":{"start":{"line":30,"column":14},"end":{"line":30,"column":17}},"14":{"start":{"line":31,"column":2},"end":{"line":68,"column":3}},"15":{"start":{"line":32,"column":4},"end":{"line":32,"column":52}},"16":{"start":{"line":33,"column":4},"end":{"line":33,"column":18}},"17":{"start":{"line":34,"column":9},"end":{"line":68,"column":3}},"18":{"start":{"line":35,"column":4},"end":{"line":35,"column":59}},"19":{"start":{"line":36,"column":4},"end":{"line":36,"column":18}},"20":{"start":{"line":37,"column":9},"end":{"line":68,"column":3}},"21":{"start":{"line":38,"column":22},"end":{"line":38,"column":49}},"22":{"start":{"line":39,"column":4},"end":{"line":39,"column":18}},"23":{"start":{"line":40,"column":4},"end":{"line":67,"column":5}},"24":{"start":{"line":42,"column":8},"end":{"line":42,"column":20}},"25":{"start":{"line":43,"column":8},"end":{"line":43,"column":14}},"26":{"start":{"line":45,"column":8},"end":{"line":45,"column":20}},"27":{"start":{"line":46,"column":8},"end":{"line":46,"column":14}},"28":{"start":{"line":48,"column":8},"end":{"line":48,"column":18}},"29":{"start":{"line":49,"column":8},"end":{"line":49,"column":14}},"30":{"start":{"line":51,"column":8},"end":{"line":51,"column":19}},"31":{"start":{"line":52,"column":8},"end":{"line":52,"column":14}},"32":{"start":{"line":54,"column":8},"end":{"line":54,"column":20}},"33":{"start":{"line":55,"column":8},"end":{"line":55,"column":14}},"34":{"start":{"line":57,"column":8},"end":{"line":57,"column":20}},"35":{"start":{"line":58,"column":8},"end":{"line":58,"column":14}},"36":{"start":{"line":60,"column":8},"end":{"line":60,"column":20}},"37":{"start":{"line":61,"column":8},"end":{"line":61,"column":14}},"38":{"start":{"line":63,"column":8},"end":{"line":63,"column":19}},"39":{"start":{"line":64,"column":8},"end":{"line":64,"column":14}},"40":{"start":{"line":66,"column":8},"end":{"line":66,"column":14}},"41":{"start":{"line":70,"column":18},"end":{"line":70,"column":31}},"42":{"start":{"line":71,"column":14},"end":{"line":71,"column":39}},"43":{"start":{"line":73,"column":27},"end":{"line":73,"column":56}},"44":{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},"45":{"start":{"line":76,"column":4},"end":{"line":76,"column":58}},"46":{"start":{"line":79,"column":14},"end":{"line":79,"column":27}},"47":{"start":{"line":80,"column":14},"end":{"line":80,"column":27}},"48":{"start":{"line":82,"column":14},"end":{"line":82,"column":15}},"49":{"start":{"line":84,"column":24},"end":{"line":84,"column":52}},"50":{"start":{"line":85,"column":2},"end":{"line":85,"column":24}},"51":{"start":{"line":92,"column":20},"end":{"line":92,"column":31}},"52":{"start":{"line":93,"column":20},"end":{"line":93,"column":31}},"53":{"start":{"line":97,"column":13},"end":{"line":97,"column":52}},"54":{"start":{"line":98,"column":13},"end":{"line":98,"column":52}},"55":{"start":{"line":100,"column":31},"end":{"line":104,"column":4}},"56":{"start":{"line":106,"column":34},"end":{"line":106,"column":66}},"57":{"start":{"line":108,"column":24},"end":{"line":117,"column":19}},"58":{"start":{"line":109,"column":26},"end":{"line":109,"column":41}},"59":{"start":{"line":110,"column":31},"end":{"line":110,"column":68}},"60":{"start":{"line":111,"column":26},"end":{"line":111,"column":31}},"61":{"start":{"line":112,"column":4},"end":{"line":112,"column":30}},"62":{"start":{"line":113,"column":4},"end":{"line":116,"column":6}},"63":{"start":{"line":119,"column":2},"end":{"line":122,"column":4}}},"fnMap":{"0":{"name":"convertDegreeToNumber","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":37}},"loc":{"start":{"line":5,"column":68},"end":{"line":7,"column":1}},"line":5},"1":{"name":"convertFigmaGradientToString","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":44}},"loc":{"start":{"line":9,"column":67},"end":{"line":18,"column":1}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":19},"end":{"line":12,"column":97}},"line":12},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":25},"end":{"line":20,"column":26}},"loc":{"start":{"line":20,"column":52},"end":{"line":23,"column":1}},"line":20},"4":{"name":"convertStringToFigmaGradient","decl":{"start":{"line":26,"column":16},"end":{"line":26,"column":44}},"loc":{"start":{"line":26,"column":60},"end":{"line":123,"column":1}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":27,"column":96},"end":{"line":27,"column":97}},"loc":{"start":{"line":27,"column":103},"end":{"line":27,"column":111}},"line":27},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":34},"end":{"line":108,"column":35}},"loc":{"start":{"line":108,"column":52},"end":{"line":117,"column":3}},"line":108}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":47}},"type":"default-arg","locations":[{"start":{"line":20,"column":45},"end":{"line":20,"column":47}}],"line":20},"1":{"loc":{"start":{"line":31,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":68,"column":3}},{"start":{"line":34,"column":9},"end":{"line":68,"column":3}}],"line":31},"2":{"loc":{"start":{"line":34,"column":9},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":9},"end":{"line":68,"column":3}},{"start":{"line":37,"column":9},"end":{"line":68,"column":3}}],"line":34},"3":{"loc":{"start":{"line":37,"column":9},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":9},"end":{"line":68,"column":3}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":40,"column":4},"end":{"line":67,"column":5}},"type":"switch","locations":[{"start":{"line":41,"column":6},"end":{"line":43,"column":14}},{"start":{"line":44,"column":6},"end":{"line":46,"column":14}},{"start":{"line":47,"column":6},"end":{"line":49,"column":14}},{"start":{"line":50,"column":6},"end":{"line":52,"column":14}},{"start":{"line":53,"column":6},"end":{"line":55,"column":14}},{"start":{"line":56,"column":6},"end":{"line":58,"column":14}},{"start":{"line":59,"column":6},"end":{"line":61,"column":14}},{"start":{"line":62,"column":6},"end":{"line":64,"column":14}},{"start":{"line":65,"column":6},"end":{"line":66,"column":14}}],"line":40},"5":{"loc":{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},"type":"if","locations":[{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},{"start":{},"end":{}}],"line":74},"6":{"loc":{"start":{"line":115,"column":16},"end":{"line":115,"column":92}},"type":"cond-expr","locations":[{"start":{"line":115,"column":35},"end":{"line":115,"column":69}},{"start":{"line":115,"column":72},"end":{"line":115,"column":92}}],"line":115}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0,0,0,0,0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/letterSpacing.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/letterSpacing.ts","statementMap":{"0":{"start":{"line":6,"column":44},"end":{"line":6,"column":48}},"1":{"start":{"line":7,"column":16},"end":{"line":7,"column":37}},"2":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"3":{"start":{"line":9,"column":4},"end":{"line":12,"column":6}},"4":{"start":{"line":13,"column":9},"end":{"line":21,"column":3}},"5":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"6":{"start":{"line":15,"column":6},"end":{"line":15,"column":65}},"7":{"start":{"line":17,"column":4},"end":{"line":20,"column":6}},"8":{"start":{"line":22,"column":2},"end":{"line":22,"column":23}},"9":{"start":{"line":26,"column":26},"end":{"line":26,"column":36}},"10":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"11":{"start":{"line":28,"column":4},"end":{"line":28,"column":35}},"12":{"start":{"line":30,"column":2},"end":{"line":30,"column":27}}},"fnMap":{"0":{"name":"convertLetterSpacingToFigma","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":43}},"loc":{"start":{"line":5,"column":151},"end":{"line":23,"column":1}},"line":5},"1":{"name":"convertFigmaToLetterSpacing","decl":{"start":{"line":25,"column":16},"end":{"line":25,"column":43}},"loc":{"start":{"line":25,"column":88},"end":{"line":31,"column":1}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":86},"end":{"line":5,"column":118}},"type":"default-arg","locations":[{"start":{"line":5,"column":113},"end":{"line":5,"column":118}}],"line":5},"1":{"loc":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},{"start":{"line":13,"column":9},"end":{"line":21,"column":3}}],"line":8},"2":{"loc":{"start":{"line":13,"column":9},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":9},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":13},"3":{"loc":{"start":{"line":13,"column":13},"end":{"line":13,"column":110}},"type":"binary-expr","locations":[{"start":{"line":13,"column":13},"end":{"line":13,"column":37}},{"start":{"line":13,"column":41},"end":{"line":13,"column":61}},{"start":{"line":13,"column":65},"end":{"line":13,"column":85}},{"start":{"line":13,"column":89},"end":{"line":13,"column":110}}],"line":13},"4":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":14},"5":{"loc":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":27}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/lineHeight.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/lineHeight.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":4,"column":42}},"1":{"start":{"line":5,"column":16},"end":{"line":5,"column":37}},"2":{"start":{"line":6,"column":18},"end":{"line":6,"column":35}},"3":{"start":{"line":7,"column":2},"end":{"line":24,"column":3}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":65}},"6":{"start":{"line":11,"column":4},"end":{"line":14,"column":6}},"7":{"start":{"line":15,"column":9},"end":{"line":24,"column":3}},"8":{"start":{"line":16,"column":4},"end":{"line":19,"column":6}},"9":{"start":{"line":21,"column":4},"end":{"line":23,"column":6}},"10":{"start":{"line":25,"column":2},"end":{"line":25,"column":20}},"11":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"12":{"start":{"line":30,"column":4},"end":{"line":30,"column":40}},"13":{"start":{"line":31,"column":4},"end":{"line":33,"column":3}},"14":{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},"15":{"start":{"line":34,"column":2},"end":{"line":34,"column":16}}},"fnMap":{"0":{"name":"convertLineHeightToFigma","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":145},"end":{"line":26,"column":1}},"line":3},"1":{"name":"convertFigmaToLineHeight","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":40}},"loc":{"start":{"line":28,"column":82},"end":{"line":35,"column":1}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":83},"end":{"line":3,"column":115}},"type":"default-arg","locations":[{"start":{"line":3,"column":110},"end":{"line":3,"column":115}}],"line":3},"1":{"loc":{"start":{"line":7,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":24,"column":3}},{"start":{"line":15,"column":9},"end":{"line":24,"column":3}}],"line":7},"2":{"loc":{"start":{"line":7,"column":6},"end":{"line":7,"column":99}},"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":26}},{"start":{"line":7,"column":30},"end":{"line":7,"column":50}},{"start":{"line":7,"column":54},"end":{"line":7,"column":74}},{"start":{"line":7,"column":78},"end":{"line":7,"column":99}}],"line":7},"3":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":8},"4":{"loc":{"start":{"line":15,"column":9},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":9},"end":{"line":24,"column":3}},{"start":{"line":20,"column":9},"end":{"line":24,"column":3}}],"line":15},"5":{"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":87}},"type":"binary-expr","locations":[{"start":{"line":15,"column":13},"end":{"line":15,"column":43}},{"start":{"line":15,"column":47},"end":{"line":15,"column":87}}],"line":15},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/numberMatchesPercentage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/numberMatchesPercentage.ts","statementMap":{"0":{"start":{"line":3,"column":39},"end":{"line":3,"column":145}},"1":{"start":{"line":3,"column":58},"end":{"line":3,"column":145}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":39},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":58},"end":{"line":3,"column":145}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":66},"end":{"line":3,"column":144}},"type":"binary-expr","locations":[{"start":{"line":3,"column":66},"end":{"line":3,"column":96}},{"start":{"line":3,"column":100},"end":{"line":3,"column":144}}],"line":3}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/offset.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/offset.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":5,"column":4}}},"fnMap":{"0":{"name":"convertOffsetToFigma","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":93},"end":{"line":6,"column":1}},"line":1}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/opacity.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/opacity.ts","statementMap":{"0":{"start":{"line":3,"column":18},"end":{"line":3,"column":39}},"1":{"start":{"line":5,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":6,"column":25},"end":{"line":6,"column":56}},"3":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":26}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":30}},"6":{"start":{"line":14,"column":23},"end":{"line":14,"column":36}},"7":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":30}},"9":{"start":{"line":18,"column":2},"end":{"line":18,"column":22}}},"fnMap":{"0":{"name":"convertOpacityToFigma","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":97},"end":{"line":19,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},{"start":{},"end":{}}],"line":7},"2":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":15},"3":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":72}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":30}},{"start":{"line":15,"column":34},"end":{"line":15,"column":51}},{"start":{"line":15,"column":55},"end":{"line":15,"column":72}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textCase.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textCase.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":20,"column":3}},"1":{"start":{"line":5,"column":6},"end":{"line":5,"column":21}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":21}},"3":{"start":{"line":11,"column":6},"end":{"line":11,"column":21}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":38}},"5":{"start":{"line":17,"column":6},"end":{"line":17,"column":45}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":24}},"7":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"8":{"start":{"line":26,"column":6},"end":{"line":26,"column":25}},"9":{"start":{"line":28,"column":6},"end":{"line":28,"column":25}},"10":{"start":{"line":30,"column":6},"end":{"line":30,"column":26}},"11":{"start":{"line":32,"column":6},"end":{"line":32,"column":26}},"12":{"start":{"line":34,"column":6},"end":{"line":34,"column":33}},"13":{"start":{"line":36,"column":6},"end":{"line":36,"column":20}}},"fnMap":{"0":{"name":"convertTextCaseToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":64},"end":{"line":21,"column":1}},"line":1},"1":{"name":"convertFigmaToTextCase","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":38}},"loc":{"start":{"line":23,"column":54},"end":{"line":38,"column":1}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":20,"column":3}},"type":"switch","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":21}},{"start":{"line":4,"column":4},"end":{"line":5,"column":21}},{"start":{"line":6,"column":4},"end":{"line":6,"column":21}},{"start":{"line":7,"column":4},"end":{"line":8,"column":21}},{"start":{"line":9,"column":4},"end":{"line":9,"column":22}},{"start":{"line":10,"column":4},"end":{"line":11,"column":21}},{"start":{"line":12,"column":4},"end":{"line":12,"column":22}},{"start":{"line":13,"column":4},"end":{"line":14,"column":38}},{"start":{"line":15,"column":4},"end":{"line":15,"column":26}},{"start":{"line":16,"column":4},"end":{"line":17,"column":45}},{"start":{"line":18,"column":4},"end":{"line":19,"column":24}}],"line":2},"1":{"loc":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"type":"switch","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":25}},{"start":{"line":27,"column":4},"end":{"line":28,"column":25}},{"start":{"line":29,"column":4},"end":{"line":30,"column":26}},{"start":{"line":31,"column":4},"end":{"line":32,"column":26}},{"start":{"line":33,"column":4},"end":{"line":34,"column":33}},{"start":{"line":35,"column":4},"end":{"line":36,"column":20}}],"line":24}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0],"1":[0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textDecoration.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textDecoration.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":10,"column":3}},"1":{"start":{"line":4,"column":6},"end":{"line":4,"column":25}},"2":{"start":{"line":7,"column":6},"end":{"line":7,"column":29}},"3":{"start":{"line":9,"column":6},"end":{"line":9,"column":20}},"4":{"start":{"line":14,"column":2},"end":{"line":21,"column":3}},"5":{"start":{"line":16,"column":6},"end":{"line":16,"column":25}},"6":{"start":{"line":18,"column":6},"end":{"line":18,"column":28}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":20}}},"fnMap":{"0":{"name":"convertTextDecorationToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":60},"end":{"line":11,"column":1}},"line":1},"1":{"name":"convertFigmaToTextDecoration","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":44}},"loc":{"start":{"line":13,"column":60},"end":{"line":22,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":10,"column":3}},"type":"switch","locations":[{"start":{"line":3,"column":4},"end":{"line":4,"column":25}},{"start":{"line":5,"column":4},"end":{"line":5,"column":24}},{"start":{"line":6,"column":4},"end":{"line":7,"column":29}},{"start":{"line":8,"column":4},"end":{"line":9,"column":20}}],"line":2},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":21,"column":3}},"type":"switch","locations":[{"start":{"line":15,"column":4},"end":{"line":16,"column":25}},{"start":{"line":17,"column":4},"end":{"line":18,"column":28}},{"start":{"line":19,"column":4},"end":{"line":20,"column":20}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":28}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":28}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":39}},"4":{"start":{"line":6,"column":2},"end":{"line":6,"column":15}}},"fnMap":{"0":{"name":"getShadowBehindNodeFromEffect","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":62},"end":{"line":7,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":28}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":2,"column":28}},{"start":{},"end":{}}],"line":2},"1":{"loc":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},{"start":{},"end":{}}],"line":3}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleUtils.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleUtils.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":30}},"2":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":28}},"4":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":30}},"6":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":21,"column":4},"end":{"line":21,"column":28}},"8":{"start":{"line":23,"column":2},"end":{"line":23,"column":19}},"9":{"start":{"line":27,"column":2},"end":{"line":37,"column":5}},"10":{"start":{"line":28,"column":4},"end":{"line":35,"column":5}},"11":{"start":{"line":29,"column":6},"end":{"line":34,"column":7}},"12":{"start":{"line":30,"column":28},"end":{"line":30,"column":53}},"13":{"start":{"line":31,"column":8},"end":{"line":31,"column":27}},"14":{"start":{"line":33,"column":8},"end":{"line":33,"column":19}},"15":{"start":{"line":36,"column":4},"end":{"line":36,"column":15}},"16":{"start":{"line":46,"column":18},"end":{"line":46,"column":80}},"17":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"18":{"start":{"line":48,"column":18},"end":{"line":48,"column":45}},"19":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"20":{"start":{"line":50,"column":6},"end":{"line":50,"column":28}},"21":{"start":{"line":53,"column":2},"end":{"line":53,"column":39}},"22":{"start":{"line":61,"column":18},"end":{"line":61,"column":80}},"23":{"start":{"line":62,"column":2},"end":{"line":62,"column":53}},"24":{"start":{"line":67,"column":2},"end":{"line":67,"column":87}},"25":{"start":{"line":72,"column":2},"end":{"line":72,"column":51}}},"fnMap":{"0":{"name":"getStyleId","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":26}},"loc":{"start":{"line":10,"column":63},"end":{"line":24,"column":1}},"line":10},"1":{"name":"getStyleIdFromBackup","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":29}},"loc":{"start":{"line":26,"column":65},"end":{"line":38,"column":1}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":54},"end":{"line":27,"column":55}},"loc":{"start":{"line":27,"column":63},"end":{"line":37,"column":3}},"line":27},"3":{"name":"getNonLocalStyle","decl":{"start":{"line":40,"column":16},"end":{"line":40,"column":32}},"loc":{"start":{"line":44,"column":28},"end":{"line":54,"column":1}},"line":44},"4":{"name":"getLocalStyle","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":29}},"loc":{"start":{"line":60,"column":28},"end":{"line":63,"column":1}},"line":60},"5":{"name":"setStyleIdBackup","decl":{"start":{"line":65,"column":16},"end":{"line":65,"column":32}},"loc":{"start":{"line":65,"column":85},"end":{"line":68,"column":1}},"line":65},"6":{"name":"clearStyleIdBackup","decl":{"start":{"line":70,"column":16},"end":{"line":70,"column":34}},"loc":{"start":{"line":70,"column":70},"end":{"line":73,"column":1}},"line":70}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":80}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":38}},{"start":{"line":11,"column":42},"end":{"line":11,"column":80}}],"line":11},"2":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":14},"3":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":76}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":21}},{"start":{"line":14,"column":25},"end":{"line":14,"column":36}},{"start":{"line":14,"column":40},"end":{"line":14,"column":76}}],"line":14},"4":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":80}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":23}},{"start":{"line":17,"column":27},"end":{"line":17,"column":38}},{"start":{"line":17,"column":42},"end":{"line":17,"column":80}}],"line":17},"6":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":20},"7":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":90}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":26}},{"start":{"line":20,"column":30},"end":{"line":20,"column":50}},{"start":{"line":20,"column":54},"end":{"line":20,"column":90}}],"line":20},"8":{"loc":{"start":{"line":28,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":28},"9":{"loc":{"start":{"line":46,"column":18},"end":{"line":46,"column":80}},"type":"binary-expr","locations":[{"start":{"line":46,"column":18},"end":{"line":46,"column":39}},{"start":{"line":46,"column":43},"end":{"line":46,"column":80}}],"line":46},"10":{"loc":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},{"start":{},"end":{}}],"line":47},"11":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49},"12":{"loc":{"start":{"line":61,"column":18},"end":{"line":61,"column":80}},"type":"binary-expr","locations":[{"start":{"line":61,"column":18},"end":{"line":61,"column":39}},{"start":{"line":61,"column":43},"end":{"line":61,"column":80}}],"line":61},"13":{"loc":{"start":{"line":67,"column":47},"end":{"line":67,"column":85}},"type":"cond-expr","locations":[{"start":{"line":67,"column":57},"end":{"line":67,"column":80}},{"start":{"line":67,"column":83},"end":{"line":67,"column":85}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts","statementMap":{"0":{"start":{"line":10,"column":32},"end":{"line":10,"column":64}},"1":{"start":{"line":11,"column":22},"end":{"line":11,"column":27}},"2":{"start":{"line":12,"column":2},"end":{"line":28,"column":4}},"3":{"start":{"line":36,"column":2},"end":{"line":45,"column":3}},"4":{"start":{"line":37,"column":30},"end":{"line":37,"column":95}},"5":{"start":{"line":38,"column":25},"end":{"line":38,"column":44}},"6":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"7":{"start":{"line":40,"column":6},"end":{"line":43,"column":9}},"8":{"start":{"line":41,"column":28},"end":{"line":41,"column":95}},"9":{"start":{"line":42,"column":8},"end":{"line":42,"column":55}},"10":{"start":{"line":46,"column":2},"end":{"line":46,"column":15}}},"fnMap":{"0":{"name":"convertBoxShadowToFigmaEffect","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":38}},"loc":{"start":{"line":9,"column":97},"end":{"line":29,"column":1}},"line":9},"1":{"name":"effectStyleMatchesBoxShadowToken","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":48}},"loc":{"start":{"line":35,"column":2},"end":{"line":47,"column":1}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":32},"end":{"line":40,"column":33}},"loc":{"start":{"line":40,"column":54},"end":{"line":43,"column":7}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"type":"binary-expr","locations":[{"start":{"line":26,"column":16},"end":{"line":26,"column":31}},{"start":{"line":26,"column":35},"end":{"line":26,"column":43}}],"line":26},"1":{"loc":{"start":{"line":36,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":36,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":36},"2":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":55}},"type":"binary-expr","locations":[{"start":{"line":36,"column":6},"end":{"line":36,"column":17}},{"start":{"line":36,"column":21},"end":{"line":36,"column":55}}],"line":36},"3":{"loc":{"start":{"line":37,"column":30},"end":{"line":37,"column":95}},"type":"cond-expr","locations":[{"start":{"line":37,"column":62},"end":{"line":37,"column":76}},{"start":{"line":37,"column":79},"end":{"line":37,"column":95}}],"line":37},"4":{"loc":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":6,"column":50}},"1":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":8,"column":31},"end":{"line":8,"column":62}},"3":{"start":{"line":9,"column":35},"end":{"line":9,"column":68}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":48}},"5":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"6":{"start":{"line":13,"column":49},"end":{"line":13,"column":89}},"7":{"start":{"line":14,"column":38},"end":{"line":18,"column":5}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":48}},"9":{"start":{"line":21,"column":2},"end":{"line":21,"column":15}}},"fnMap":{"0":{"name":"paintStyleMatchesColorToken","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":43}},"loc":{"start":{"line":5,"column":100},"end":{"line":22,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":21},"end":{"line":6,"column":50}},"type":"binary-expr","locations":[{"start":{"line":6,"column":21},"end":{"line":6,"column":42}},{"start":{"line":6,"column":46},"end":{"line":6,"column":50}}],"line":6},"1":{"loc":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":7},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":17}},"2":{"start":{"line":23,"column":6},"end":{"line":23,"column":21}},"3":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":17}},"5":{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":17}},"7":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"8":{"start":{"line":32,"column":4},"end":{"line":32,"column":17}},"9":{"start":{"line":35,"column":26},"end":{"line":35,"column":89}},"10":{"start":{"line":36,"column":2},"end":{"line":48,"column":3}},"11":{"start":{"line":37,"column":22},"end":{"line":37,"column":26}},"12":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":80}},"14":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"15":{"start":{"line":42,"column":6},"end":{"line":42,"column":19}},"16":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"17":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"18":{"start":{"line":46,"column":6},"end":{"line":46,"column":19}},"19":{"start":{"line":50,"column":29},"end":{"line":50,"column":97}},"20":{"start":{"line":51,"column":2},"end":{"line":58,"column":3}},"21":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"22":{"start":{"line":56,"column":6},"end":{"line":56,"column":19}},"23":{"start":{"line":59,"column":2},"end":{"line":64,"column":3}},"24":{"start":{"line":63,"column":4},"end":{"line":63,"column":17}},"25":{"start":{"line":65,"column":2},"end":{"line":70,"column":3}},"26":{"start":{"line":69,"column":4},"end":{"line":69,"column":17}},"27":{"start":{"line":72,"column":24},"end":{"line":72,"column":82}},"28":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"29":{"start":{"line":74,"column":4},"end":{"line":74,"column":17}},"30":{"start":{"line":77,"column":30},"end":{"line":77,"column":100}},"31":{"start":{"line":78,"column":2},"end":{"line":80,"column":3}},"32":{"start":{"line":79,"column":4},"end":{"line":79,"column":17}},"33":{"start":{"line":81,"column":2},"end":{"line":81,"column":14}}},"fnMap":{"0":{"name":"textStyleMatchesTypographyToken","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":47}},"loc":{"start":{"line":8,"column":2},"end":{"line":82,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":9,"column":55}},"type":"binary-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":16}},{"start":{"line":9,"column":20},"end":{"line":9,"column":55}}],"line":9},"2":{"loc":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},{"start":{},"end":{}}],"line":25},"3":{"loc":{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},{"start":{},"end":{}}],"line":28},"4":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":31},"5":{"loc":{"start":{"line":31,"column":6},"end":{"line":31,"column":106}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":28}},{"start":{"line":31,"column":32},"end":{"line":31,"column":106}}],"line":31},"6":{"loc":{"start":{"line":36,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":36,"column":2},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}],"line":36},"7":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":38},"8":{"loc":{"start":{"line":38,"column":8},"end":{"line":38,"column":98}},"type":"binary-expr","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":23}},{"start":{"line":38,"column":27},"end":{"line":38,"column":58}},{"start":{"line":38,"column":62},"end":{"line":38,"column":98}}],"line":38},"9":{"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":79}},"type":"binary-expr","locations":[{"start":{"line":39,"column":20},"end":{"line":39,"column":45}},{"start":{"line":39,"column":49},"end":{"line":39,"column":79}}],"line":39},"10":{"loc":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":41},"11":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{},"end":{}}],"line":44},"12":{"loc":{"start":{"line":44,"column":13},"end":{"line":44,"column":84}},"type":"binary-expr","locations":[{"start":{"line":44,"column":13},"end":{"line":44,"column":44}},{"start":{"line":44,"column":48},"end":{"line":44,"column":84}}],"line":44},"13":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"14":{"loc":{"start":{"line":45,"column":8},"end":{"line":45,"column":114}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":58}},{"start":{"line":45,"column":62},"end":{"line":45,"column":114}}],"line":45},"15":{"loc":{"start":{"line":51,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":58,"column":3}},{"start":{},"end":{}}],"line":51},"16":{"loc":{"start":{"line":52,"column":4},"end":{"line":53,"column":66}},"type":"binary-expr","locations":[{"start":{"line":52,"column":4},"end":{"line":52,"column":61}},{"start":{"line":53,"column":7},"end":{"line":53,"column":66}}],"line":52},"17":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":55},"18":{"loc":{"start":{"line":55,"column":8},"end":{"line":55,"column":104}},"type":"binary-expr","locations":[{"start":{"line":55,"column":9},"end":{"line":55,"column":34}},{"start":{"line":55,"column":38},"end":{"line":55,"column":66}},{"start":{"line":55,"column":71},"end":{"line":55,"column":104}}],"line":55},"19":{"loc":{"start":{"line":59,"column":2},"end":{"line":64,"column":3}},"type":"if","locations":[{"start":{"line":59,"column":2},"end":{"line":64,"column":3}},{"start":{},"end":{}}],"line":59},"20":{"loc":{"start":{"line":60,"column":4},"end":{"line":61,"column":104}},"type":"binary-expr","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":34}},{"start":{"line":61,"column":7},"end":{"line":61,"column":104}}],"line":60},"21":{"loc":{"start":{"line":65,"column":2},"end":{"line":70,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":70,"column":3}},{"start":{},"end":{}}],"line":65},"22":{"loc":{"start":{"line":66,"column":4},"end":{"line":67,"column":101}},"type":"binary-expr","locations":[{"start":{"line":66,"column":4},"end":{"line":66,"column":33}},{"start":{"line":67,"column":7},"end":{"line":67,"column":101}}],"line":66},"23":{"loc":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"type":"if","locations":[{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},{"start":{},"end":{}}],"line":73},"24":{"loc":{"start":{"line":78,"column":2},"end":{"line":80,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":80,"column":3}},{"start":{},"end":{}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/timing.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/timing.ts","statementMap":{"0":{"start":{"line":11,"column":20},"end":{"line":25,"column":1}},"1":{"start":{"line":12,"column":16},"end":{"line":12,"column":33}},"2":{"start":{"line":13,"column":17},"end":{"line":13,"column":21}},"3":{"start":{"line":14,"column":14},"end":{"line":14,"column":31}},"4":{"start":{"line":16,"column":2},"end":{"line":24,"column":4}},"5":{"start":{"line":27,"column":25},"end":{"line":39,"column":1}},"6":{"start":{"line":28,"column":16},"end":{"line":28,"column":33}},"7":{"start":{"line":29,"column":17},"end":{"line":29,"column":27}},"8":{"start":{"line":30,"column":14},"end":{"line":30,"column":31}},"9":{"start":{"line":31,"column":2},"end":{"line":38,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":20},"end":{"line":11,"column":21}},"loc":{"start":{"line":11,"column":56},"end":{"line":25,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":25},"end":{"line":27,"column":26}},"loc":{"start":{"line":27,"column":75},"end":{"line":39,"column":1}},"line":27}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/transaction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/transaction.ts","statementMap":{"0":{"start":{"line":6,"column":11},"end":{"line":6,"column":15}},"1":{"start":{"line":7,"column":22},"end":{"line":7,"column":37}},"2":{"start":{"line":9,"column":22},"end":{"line":17,"column":1}},"3":{"start":{"line":10,"column":2},"end":{"line":16,"column":3}},"4":{"start":{"line":13,"column":6},"end":{"line":13,"column":38}},"5":{"start":{"line":15,"column":6},"end":{"line":15,"column":19}},"6":{"start":{"line":40,"column":31},"end":{"line":68,"column":1}},"7":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"8":{"start":{"line":43,"column":4},"end":{"line":43,"column":16}},"9":{"start":{"line":46,"column":22},"end":{"line":46,"column":59}},"10":{"start":{"line":48,"column":2},"end":{"line":48,"column":72}},"11":{"start":{"line":48,"column":44},"end":{"line":48,"column":70}},"12":{"start":{"line":49,"column":15},"end":{"line":49,"column":85}},"13":{"start":{"line":53,"column":2},"end":{"line":64,"column":3}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":24}},"15":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"16":{"start":{"line":56,"column":6},"end":{"line":56,"column":46}},"17":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"18":{"start":{"line":60,"column":4},"end":{"line":60,"column":34}},"19":{"start":{"line":61,"column":4},"end":{"line":61,"column":14}},"20":{"start":{"line":63,"column":4},"end":{"line":63,"column":18}},"21":{"start":{"line":66,"column":2},"end":{"line":66,"column":23}},"22":{"start":{"line":67,"column":2},"end":{"line":67,"column":16}},"23":{"start":{"line":70,"column":31},"end":{"line":106,"column":1}},"24":{"start":{"line":72,"column":2},"end":{"line":74,"column":3}},"25":{"start":{"line":73,"column":4},"end":{"line":73,"column":16}},"26":{"start":{"line":76,"column":22},"end":{"line":76,"column":65}},"27":{"start":{"line":77,"column":23},"end":{"line":77,"column":59}},"28":{"start":{"line":80,"column":2},"end":{"line":103,"column":3}},"29":{"start":{"line":82,"column":17},"end":{"line":85,"column":6}},"30":{"start":{"line":87,"column":4},"end":{"line":100,"column":5}},"31":{"start":{"line":88,"column":6},"end":{"line":88,"column":26}},"32":{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},"33":{"start":{"line":91,"column":8},"end":{"line":91,"column":49}},"34":{"start":{"line":94,"column":6},"end":{"line":94,"column":25}},"35":{"start":{"line":96,"column":6},"end":{"line":96,"column":36}},"36":{"start":{"line":97,"column":6},"end":{"line":97,"column":16}},"37":{"start":{"line":99,"column":6},"end":{"line":99,"column":20}},"38":{"start":{"line":102,"column":4},"end":{"line":102,"column":18}},"39":{"start":{"line":105,"column":2},"end":{"line":105,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":28},"end":{"line":17,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":31},"end":{"line":40,"column":32}},"loc":{"start":{"line":40,"column":97},"end":{"line":68,"column":1}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":33},"end":{"line":48,"column":34}},"loc":{"start":{"line":48,"column":44},"end":{"line":48,"column":70}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":70,"column":31},"end":{"line":70,"column":32}},"loc":{"start":{"line":70,"column":97},"end":{"line":106,"column":1}},"line":70}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":16,"column":3}},"type":"switch","locations":[{"start":{"line":11,"column":4},"end":{"line":11,"column":22}},{"start":{"line":12,"column":4},"end":{"line":13,"column":38}},{"start":{"line":14,"column":4},"end":{"line":15,"column":19}}],"line":10},"1":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":55},"3":{"loc":{"start":{"line":72,"column":2},"end":{"line":74,"column":3}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":74,"column":3}},{"start":{},"end":{}}],"line":72},"4":{"loc":{"start":{"line":80,"column":2},"end":{"line":103,"column":3}},"type":"if","locations":[{"start":{"line":80,"column":2},"end":{"line":103,"column":3}},{"start":{"line":101,"column":9},"end":{"line":103,"column":3}}],"line":80},"5":{"loc":{"start":{"line":80,"column":6},"end":{"line":80,"column":33}},"type":"binary-expr","locations":[{"start":{"line":80,"column":6},"end":{"line":80,"column":17}},{"start":{"line":80,"column":21},"end":{"line":80,"column":33}}],"line":80},"6":{"loc":{"start":{"line":82,"column":18},"end":{"line":82,"column":45}},"type":"binary-expr","locations":[{"start":{"line":82,"column":18},"end":{"line":82,"column":30}},{"start":{"line":82,"column":34},"end":{"line":82,"column":45}}],"line":82},"7":{"loc":{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},{"start":{},"end":{}}],"line":90}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeApiProviderSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeApiProviderSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":4,"column":104}},"1":{"start":{"line":4,"column":84},"end":{"line":4,"column":103}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":73},"end":{"line":4,"column":74}},"loc":{"start":{"line":4,"column":84},"end":{"line":4,"column":103}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTabSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTabSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeThemeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeThemeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetReadOnlySelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetReadOnlySelector.ts","statementMap":{"0":{"start":{"line":4,"column":46},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":44},"end":{"line":6,"column":87}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":44},"end":{"line":6,"column":87}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":18},"end":{"line":6,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":43}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokensTabSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokensTabSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/aliasBaseFontSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/aliasBaseFontSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/allTokenSetsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/allTokenSetsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":18},"end":{"line":6,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":48}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiProvidersSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiProvidersSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiSelector.ts","statementMap":{"0":{"start":{"line":5,"column":27},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":22}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/backgroundJobsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/backgroundJobsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/baseFontSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/baseFontSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/branchSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/branchSelector.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":3,"column":69}},"1":{"start":{"line":3,"column":52},"end":{"line":3,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":52},"end":{"line":3,"column":69}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changedStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changedStateSelector.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changelogSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changelogSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenSetsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenSetsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":42},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":37}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenTypeObjSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenTypeObjSelector.ts","statementMap":{"0":{"start":{"line":4,"column":45},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokensSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/confirmStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/confirmStateSelector.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/createStylesWithVariableReferencesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/createStylesWithVariableReferencesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":58},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":53}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/displayTypeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/displayTypeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editProhibitedSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editProhibitedSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":4,"column":105}},"1":{"start":{"line":4,"column":84},"end":{"line":4,"column":104}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":73},"end":{"line":4,"column":74}},"loc":{"start":{"line":4,"column":84},"end":{"line":4,"column":104}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editTokenSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editTokenSelector.ts","statementMap":{"0":{"start":{"line":5,"column":33},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/figmaFontsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/figmaFontsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getClientEmail.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getClientEmail.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":4,"column":113}},"1":{"start":{"line":4,"column":80},"end":{"line":4,"column":112}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":69},"end":{"line":4,"column":70}},"loc":{"start":{"line":4,"column":80},"end":{"line":4,"column":112}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getEntitlements.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getEntitlements.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":4,"column":115}},"1":{"start":{"line":4,"column":81},"end":{"line":4,"column":114}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":70},"end":{"line":4,"column":71}},"loc":{"start":{"line":4,"column":81},"end":{"line":4,"column":114}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getLastopened.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getLastopened.ts","statementMap":{"0":{"start":{"line":4,"column":29},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/hasUnsavedChangesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/hasUnsavedChangesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/ignoreFirstPartForStylesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/ignoreFirstPartForStylesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":48},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedThemesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedThemesSelector.ts","statementMap":{"0":{"start":{"line":5,"column":38},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedTokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedTokensSelector.ts","statementMap":{"0":{"start":{"line":5,"column":38},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectDeepSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectDeepSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":36},"end":{"line":3,"column":76}},"1":{"start":{"line":3,"column":58},"end":{"line":3,"column":76}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":36},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":58},"end":{"line":3,"column":76}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/isWaitingForBackgroundJobSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/isWaitingForBackgroundJobSelector.ts","statementMap":{"0":{"start":{"line":6,"column":33},"end":{"line":6,"column":79}},"1":{"start":{"line":6,"column":76},"end":{"line":6,"column":79}},"2":{"start":{"line":8,"column":49},"end":{"line":18,"column":1}},"3":{"start":{"line":12,"column":20},"end":{"line":12,"column":57}},"4":{"start":{"line":12,"column":39},"end":{"line":12,"column":56}},"5":{"start":{"line":13,"column":4},"end":{"line":16,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":33},"end":{"line":6,"column":34}},"loc":{"start":{"line":6,"column":76},"end":{"line":6,"column":79}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":18},"end":{"line":17,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":30},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":39},"end":{"line":12,"column":56}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":11},"end":{"line":16,"column":14}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":25}},{"start":{"line":15,"column":10},"end":{"line":15,"column":17}},{"start":{"line":15,"column":21},"end":{"line":15,"column":79}},{"start":{"line":16,"column":9},"end":{"line":16,"column":14}}],"line":13},"1":{"loc":{"start":{"line":15,"column":22},"end":{"line":15,"column":49}},"type":"binary-expr","locations":[{"start":{"line":15,"column":22},"end":{"line":15,"column":44}},{"start":{"line":15,"column":48},"end":{"line":15,"column":49}}],"line":15},"2":{"loc":{"start":{"line":15,"column":55},"end":{"line":15,"column":78}},"type":"binary-expr","locations":[{"start":{"line":15,"column":55},"end":{"line":15,"column":73}},{"start":{"line":15,"column":77},"end":{"line":15,"column":78}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/languageSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/languageSelector.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/lastSyncedStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/lastSyncedStateSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseDetailsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseDetailsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":4,"column":104}},"1":{"start":{"line":4,"column":83},"end":{"line":4,"column":103}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":72},"end":{"line":4,"column":73}},"loc":{"start":{"line":4,"column":83},"end":{"line":4,"column":103}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeyErrorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeyErrorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":4,"column":103}},"1":{"start":{"line":4,"column":84},"end":{"line":4,"column":102}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":73},"end":{"line":4,"column":74}},"loc":{"start":{"line":4,"column":84},"end":{"line":4,"column":102}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeySelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeySelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":4,"column":96}},"1":{"start":{"line":4,"column":79},"end":{"line":4,"column":95}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":68},"end":{"line":4,"column":69}},"loc":{"start":{"line":4,"column":79},"end":{"line":4,"column":95}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseStatusSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseStatusSelector.ts","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":4,"column":102}},"1":{"start":{"line":4,"column":82},"end":{"line":4,"column":101}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":71},"end":{"line":4,"column":72}},"loc":{"start":{"line":4,"column":82},"end":{"line":4,"column":101}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateBranchSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateBranchSelector.ts","statementMap":{"0":{"start":{"line":5,"column":43},"end":{"line":13,"column":1}},"1":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"2":{"start":{"line":9,"column":6},"end":{"line":9,"column":24}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":11},"end":{"line":12,"column":3}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateSelector.ts","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":32}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/mainNodeSelectionValuesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/mainNodeSelectionValuesSelector.ts","statementMap":{"0":{"start":{"line":5,"column":47},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":42}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/manageThemesModalOpenSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/manageThemesModalOpenSelector.ts","statementMap":{"0":{"start":{"line":4,"column":45},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/planSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/planSelector.ts","statementMap":{"0":{"start":{"line":4,"column":28},"end":{"line":4,"column":99}},"1":{"start":{"line":4,"column":73},"end":{"line":4,"column":98}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":62},"end":{"line":4,"column":63}},"loc":{"start":{"line":4,"column":73},"end":{"line":4,"column":98}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/prefixStylesWithThemeNameSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/prefixStylesWithThemeNameSelector.ts","statementMap":{"0":{"start":{"line":4,"column":49},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":44}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/projectURLSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/projectURLSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/remoteDataSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/remoteDataSelector.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":29}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts","statementMap":{"0":{"start":{"line":4,"column":65},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":60}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/renameExistingStylesAndVariablesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/renameExistingStylesAndVariablesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":56},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":51}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/rootStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/rootStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":60}},"1":{"start":{"line":3,"column":55},"end":{"line":3,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":33},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":55},"end":{"line":3,"column":60}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/scrollPositionSetSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/scrollPositionSetSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/secondScreenSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/secondScreenSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":4,"column":105}},"1":{"start":{"line":4,"column":79},"end":{"line":4,"column":104}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":68},"end":{"line":4,"column":69}},"loc":{"start":{"line":4,"column":79},"end":{"line":4,"column":104}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/sessionRecordingSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/sessionRecordingSelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/settingsStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/settingsStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":3,"column":73}},"1":{"start":{"line":3,"column":59},"end":{"line":3,"column":73}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":59},"end":{"line":3,"column":73}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showAutoSuggestSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showAutoSuggestSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showConvertTokenFormatModalSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showConvertTokenFormatModalSelector.ts","statementMap":{"0":{"start":{"line":4,"column":51},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":46}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEditFormSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEditFormSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEmptyGroupsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEmptyGroupsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPullDialogSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPullDialogSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPushDialogSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPushDialogSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storageTypeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storageTypeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storeTokenIdInJsonEditorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storeTokenIdInJsonEditorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":48},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stringTokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stringTokensSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesColorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesColorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesEffectSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesEffectSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesTypographySelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesTypographySelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeByIdSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeByIdSelector.ts","statementMap":{"0":{"start":{"line":5,"column":19},"end":{"line":5,"column":55}},"1":{"start":{"line":5,"column":53},"end":{"line":5,"column":55}},"2":{"start":{"line":6,"column":33},"end":{"line":14,"column":1}},"3":{"start":{"line":10,"column":4},"end":{"line":12,"column":14}},"4":{"start":{"line":11,"column":6},"end":{"line":11,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":19},"end":{"line":5,"column":20}},"loc":{"start":{"line":5,"column":53},"end":{"line":5,"column":55}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":14}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":17}},"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":21}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":14}},"type":"binary-expr","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":6}},{"start":{"line":12,"column":10},"end":{"line":12,"column":14}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeObjectsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeObjectsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeOptionsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeOptionsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":4},"end":{"line":11,"column":7}},"2":{"start":{"line":7,"column":62},"end":{"line":11,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":7}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":36},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":62},"end":{"line":11,"column":5}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesListSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesListSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"2":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":27},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFilterSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFilterSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFormatSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFormatSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetMetadataSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetMetadataSelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":4,"column":109}},"1":{"start":{"line":4,"column":86},"end":{"line":4,"column":108}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":75},"end":{"line":4,"column":76}},"loc":{"start":{"line":4,"column":86},"end":{"line":4,"column":108}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetStatusSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetStatusSelector.ts","statementMap":{"0":{"start":{"line":6,"column":38},"end":{"line":12,"column":1}},"1":{"start":{"line":8,"column":42},"end":{"line":8,"column":50}},"2":{"start":{"line":10,"column":4},"end":{"line":10,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":42},"end":{"line":8,"column":50}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":56}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":56}},"type":"binary-expr","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},{"start":{"line":10,"column":33},"end":{"line":10,"column":56}}],"line":10}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":3,"column":72}},"1":{"start":{"line":3,"column":56},"end":{"line":3,"column":72}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":34},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":56},"end":{"line":3,"column":72}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenTypeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenTypeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSelector.ts","statementMap":{"0":{"start":{"line":5,"column":30},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":25}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"2":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":27},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensStudioPATSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensStudioPATSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":17},"end":{"line":6,"column":42}},"2":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":17},"end":{"line":6,"column":42}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":27},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiDisabledSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiDisabledSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":3,"column":66}},"1":{"start":{"line":3,"column":53},"end":{"line":3,"column":66}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":31},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":53},"end":{"line":3,"column":66}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/updateModeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/updateModeSelector.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":8,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":48}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":48}},"type":"binary-expr","locations":[{"start":{"line":7,"column":13},"end":{"line":7,"column":29}},{"start":{"line":7,"column":33},"end":{"line":7,"column":48}}],"line":7}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedEmailSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedEmailSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":4,"column":94}},"1":{"start":{"line":4,"column":78},"end":{"line":4,"column":93}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":67},"end":{"line":4,"column":68}},"loc":{"start":{"line":4,"column":78},"end":{"line":4,"column":93}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedTokenSetSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedTokenSetSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userIdSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userIdSelector.ts","statementMap":{"0":{"start":{"line":4,"column":30},"end":{"line":4,"column":88}},"1":{"start":{"line":4,"column":75},"end":{"line":4,"column":87}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":64},"end":{"line":4,"column":65}},"loc":{"start":{"line":4,"column":75},"end":{"line":4,"column":87}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userNameSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userNameSelector.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":4,"column":92}},"1":{"start":{"line":4,"column":77},"end":{"line":4,"column":91}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":66},"end":{"line":4,"column":67}},"loc":{"start":{"line":4,"column":77},"end":{"line":4,"column":91}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":70}},"1":{"start":{"line":3,"column":55},"end":{"line":3,"column":70}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":33},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":55},"end":{"line":3,"column":70}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesBooleanSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesBooleanSelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesColorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesColorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesNumberSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesNumberSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesStringSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesStringSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/windowSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/windowSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":4,"column":98}},"1":{"start":{"line":4,"column":83},"end":{"line":4,"column":97}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":72},"end":{"line":4,"column":73}},"loc":{"start":{"line":4,"column":83},"end":{"line":4,"column":97}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/ADOTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/ADOTokenStorage.ts","statementMap":{"0":{"start":{"line":15,"column":19},"end":{"line":15,"column":36}},"1":{"start":{"line":70,"column":4},"end":{"line":70,"column":44}},"2":{"start":{"line":71,"column":4},"end":{"line":71,"column":25}},"3":{"start":{"line":72,"column":4},"end":{"line":72,"column":31}},"4":{"start":{"line":73,"column":4},"end":{"line":73,"column":53}},"5":{"start":{"line":74,"column":4},"end":{"line":74,"column":25}},"6":{"start":{"line":78,"column":4},"end":{"line":78,"column":25}},"7":{"start":{"line":91,"column":24},"end":{"line":93,"column":18}},"8":{"start":{"line":92,"column":69},"end":{"line":92,"column":93}},"9":{"start":{"line":94,"column":18},"end":{"line":94,"column":133}},"10":{"start":{"line":95,"column":16},"end":{"line":105,"column":5}},"11":{"start":{"line":106,"column":4},"end":{"line":106,"column":15}},"12":{"start":{"line":110,"column":4},"end":{"line":110,"column":83}},"13":{"start":{"line":110,"column":70},"end":{"line":110,"column":83}},"14":{"start":{"line":112,"column":23},"end":{"line":121,"column":6}},"15":{"start":{"line":122,"column":4},"end":{"line":122,"column":26}},"16":{"start":{"line":126,"column":4},"end":{"line":139,"column":5}},"17":{"start":{"line":127,"column":23},"end":{"line":134,"column":8}},"18":{"start":{"line":135,"column":6},"end":{"line":135,"column":35}},"19":{"start":{"line":137,"column":6},"end":{"line":137,"column":21}},"20":{"start":{"line":138,"column":6},"end":{"line":138,"column":37}},"21":{"start":{"line":143,"column":4},"end":{"line":157,"column":5}},"22":{"start":{"line":144,"column":23},"end":{"line":152,"column":8}},"23":{"start":{"line":153,"column":6},"end":{"line":153,"column":35}},"24":{"start":{"line":155,"column":6},"end":{"line":155,"column":21}},"25":{"start":{"line":156,"column":6},"end":{"line":156,"column":37}},"26":{"start":{"line":161,"column":22},"end":{"line":161,"column":42}},"27":{"start":{"line":162,"column":30},"end":{"line":162,"column":32}},"28":{"start":{"line":163,"column":4},"end":{"line":167,"column":5}},"29":{"start":{"line":164,"column":6},"end":{"line":166,"column":7}},"30":{"start":{"line":165,"column":8},"end":{"line":165,"column":62}},"31":{"start":{"line":168,"column":4},"end":{"line":168,"column":20}},"32":{"start":{"line":172,"column":22},"end":{"line":172,"column":59}},"33":{"start":{"line":173,"column":4},"end":{"line":180,"column":5}},"34":{"start":{"line":174,"column":23},"end":{"line":178,"column":8}},"35":{"start":{"line":179,"column":6},"end":{"line":179,"column":50}},"36":{"start":{"line":181,"column":4},"end":{"line":181,"column":17}},"37":{"start":{"line":185,"column":22},"end":{"line":185,"column":42}},"38":{"start":{"line":186,"column":21},"end":{"line":186,"column":60}},"39":{"start":{"line":187,"column":4},"end":{"line":191,"column":5}},"40":{"start":{"line":188,"column":6},"end":{"line":190,"column":7}},"41":{"start":{"line":189,"column":8},"end":{"line":189,"column":66}},"42":{"start":{"line":192,"column":25},"end":{"line":192,"column":65}},"43":{"start":{"line":193,"column":4},"end":{"line":193,"column":102}},"44":{"start":{"line":197,"column":4},"end":{"line":203,"column":6}},"45":{"start":{"line":207,"column":4},"end":{"line":223,"column":5}},"46":{"start":{"line":210,"column":23},"end":{"line":218,"column":8}},"47":{"start":{"line":219,"column":6},"end":{"line":219,"column":35}},"48":{"start":{"line":221,"column":6},"end":{"line":221,"column":21}},"49":{"start":{"line":222,"column":6},"end":{"line":222,"column":16}},"50":{"start":{"line":227,"column":4},"end":{"line":243,"column":5}},"51":{"start":{"line":228,"column":23},"end":{"line":238,"column":8}},"52":{"start":{"line":239,"column":6},"end":{"line":239,"column":35}},"53":{"start":{"line":241,"column":6},"end":{"line":241,"column":21}},"54":{"start":{"line":242,"column":6},"end":{"line":242,"column":37}},"55":{"start":{"line":247,"column":4},"end":{"line":339,"column":5}},"56":{"start":{"line":248,"column":6},"end":{"line":300,"column":7}},"57":{"start":{"line":249,"column":26},"end":{"line":249,"column":47}},"58":{"start":{"line":250,"column":26},"end":{"line":254,"column":18}},"59":{"start":{"line":251,"column":30},"end":{"line":251,"column":58}},"60":{"start":{"line":253,"column":12},"end":{"line":253,"column":65}},"61":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"62":{"start":{"line":256,"column":31},"end":{"line":256,"column":41}},"63":{"start":{"line":258,"column":33},"end":{"line":267,"column":9}},"64":{"start":{"line":260,"column":24},"end":{"line":260,"column":48}},"65":{"start":{"line":261,"column":37},"end":{"line":261,"column":78}},"66":{"start":{"line":262,"column":12},"end":{"line":264,"column":13}},"67":{"start":{"line":263,"column":14},"end":{"line":263,"column":43}},"68":{"start":{"line":265,"column":12},"end":{"line":265,"column":24}},"69":{"start":{"line":268,"column":8},"end":{"line":299,"column":12}},"70":{"start":{"line":269,"column":27},"end":{"line":269,"column":43}},"71":{"start":{"line":270,"column":10},"end":{"line":296,"column":11}},"72":{"start":{"line":271,"column":25},"end":{"line":271,"column":96}},"73":{"start":{"line":272,"column":12},"end":{"line":278,"column":13}},"74":{"start":{"line":273,"column":14},"end":{"line":277,"column":48}},"75":{"start":{"line":280,"column":12},"end":{"line":295,"column":13}},"76":{"start":{"line":281,"column":14},"end":{"line":287,"column":15}},"77":{"start":{"line":282,"column":16},"end":{"line":286,"column":52}},"78":{"start":{"line":289,"column":14},"end":{"line":294,"column":56}},"79":{"start":{"line":298,"column":10},"end":{"line":298,"column":22}},"80":{"start":{"line":302,"column":25},"end":{"line":302,"column":45}},"81":{"start":{"line":303,"column":41},"end":{"line":303,"column":97}},"82":{"start":{"line":305,"column":6},"end":{"line":330,"column":7}},"83":{"start":{"line":306,"column":53},"end":{"line":306,"column":84}},"84":{"start":{"line":308,"column":8},"end":{"line":329,"column":10}},"85":{"start":{"line":322,"column":12},"end":{"line":322,"column":65}},"86":{"start":{"line":323,"column":99},"end":{"line":328,"column":11}},"87":{"start":{"line":331,"column":6},"end":{"line":333,"column":7}},"88":{"start":{"line":332,"column":8},"end":{"line":332,"column":18}},"89":{"start":{"line":334,"column":6},"end":{"line":336,"column":8}},"90":{"start":{"line":338,"column":6},"end":{"line":338,"column":21}},"91":{"start":{"line":340,"column":4},"end":{"line":340,"column":14}},"92":{"start":{"line":347,"column":28},"end":{"line":358,"column":32}},"93":{"start":{"line":358,"column":21},"end":{"line":358,"column":31}},"94":{"start":{"line":360,"column":4},"end":{"line":363,"column":5}},"95":{"start":{"line":361,"column":27},"end":{"line":361,"column":88}},"96":{"start":{"line":362,"column":6},"end":{"line":362,"column":36}},"97":{"start":{"line":365,"column":27},"end":{"line":365,"column":61}},"98":{"start":{"line":367,"column":27},"end":{"line":388,"column":6}},"99":{"start":{"line":389,"column":4},"end":{"line":389,"column":26}},"100":{"start":{"line":393,"column":24},"end":{"line":393,"column":82}},"101":{"start":{"line":394,"column":22},"end":{"line":394,"column":43}},"102":{"start":{"line":395,"column":27},"end":{"line":395,"column":62}},"103":{"start":{"line":395,"column":47},"end":{"line":395,"column":55}},"104":{"start":{"line":396,"column":37},"end":{"line":409,"column":8}},"105":{"start":{"line":398,"column":30},"end":{"line":398,"column":70}},"106":{"start":{"line":399,"column":8},"end":{"line":408,"column":11}},"107":{"start":{"line":412,"column":29},"end":{"line":412,"column":55}},"108":{"start":{"line":413,"column":4},"end":{"line":415,"column":5}},"109":{"start":{"line":414,"column":6},"end":{"line":414,"column":65}},"110":{"start":{"line":417,"column":4},"end":{"line":440,"column":5}},"111":{"start":{"line":418,"column":24},"end":{"line":418,"column":109}},"112":{"start":{"line":418,"column":49},"end":{"line":418,"column":77}},"113":{"start":{"line":418,"column":94},"end":{"line":418,"column":102}},"114":{"start":{"line":419,"column":28},"end":{"line":420,"column":52}},"115":{"start":{"line":419,"column":59},"end":{"line":419,"column":134}},"116":{"start":{"line":419,"column":98},"end":{"line":419,"column":133}},"117":{"start":{"line":420,"column":32},"end":{"line":420,"column":50}},"118":{"start":{"line":421,"column":31},"end":{"line":429,"column":8}},"119":{"start":{"line":422,"column":30},"end":{"line":422,"column":70}},"120":{"start":{"line":423,"column":8},"end":{"line":428,"column":11}},"121":{"start":{"line":430,"column":22},"end":{"line":430,"column":71}},"122":{"start":{"line":432,"column":23},"end":{"line":437,"column":8}},"123":{"start":{"line":439,"column":6},"end":{"line":439,"column":24}},"124":{"start":{"line":442,"column":21},"end":{"line":447,"column":6}},"125":{"start":{"line":448,"column":4},"end":{"line":448,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":59,"column":2},"end":{"line":59,"column":3}},"loc":{"start":{"line":69,"column":5},"end":{"line":75,"column":3}},"line":69},"1":{"name":"(anonymous_1)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":35},"end":{"line":79,"column":3}},"line":77},"2":{"name":"(anonymous_2)","decl":{"start":{"line":81,"column":2},"end":{"line":81,"column":3}},"loc":{"start":{"line":90,"column":34},"end":{"line":107,"column":3}},"line":90},"3":{"name":"(anonymous_3)","decl":{"start":{"line":92,"column":46},"end":{"line":92,"column":47}},"loc":{"start":{"line":92,"column":69},"end":{"line":92,"column":93}},"line":92},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":109,"column":44},"end":{"line":123,"column":3}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":125,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":125,"column":109},"end":{"line":140,"column":3}},"line":125},"6":{"name":"(anonymous_6)","decl":{"start":{"line":142,"column":2},"end":{"line":142,"column":3}},"loc":{"start":{"line":142,"column":45},"end":{"line":158,"column":3}},"line":142},"7":{"name":"(anonymous_7)","decl":{"start":{"line":160,"column":2},"end":{"line":160,"column":3}},"loc":{"start":{"line":160,"column":31},"end":{"line":169,"column":3}},"line":160},"8":{"name":"(anonymous_8)","decl":{"start":{"line":171,"column":2},"end":{"line":171,"column":3}},"loc":{"start":{"line":171,"column":92},"end":{"line":182,"column":3}},"line":171},"9":{"name":"(anonymous_9)","decl":{"start":{"line":184,"column":2},"end":{"line":184,"column":3}},"loc":{"start":{"line":184,"column":76},"end":{"line":194,"column":3}},"line":184},"10":{"name":"(anonymous_10)","decl":{"start":{"line":196,"column":2},"end":{"line":196,"column":3}},"loc":{"start":{"line":196,"column":60},"end":{"line":204,"column":3}},"line":196},"11":{"name":"(anonymous_11)","decl":{"start":{"line":206,"column":2},"end":{"line":206,"column":3}},"loc":{"start":{"line":206,"column":64},"end":{"line":224,"column":3}},"line":206},"12":{"name":"(anonymous_12)","decl":{"start":{"line":226,"column":2},"end":{"line":226,"column":3}},"loc":{"start":{"line":226,"column":88},"end":{"line":244,"column":3}},"line":226},"13":{"name":"(anonymous_13)","decl":{"start":{"line":246,"column":2},"end":{"line":246,"column":3}},"loc":{"start":{"line":246,"column":90},"end":{"line":341,"column":3}},"line":246},"14":{"name":"(anonymous_14)","decl":{"start":{"line":251,"column":19},"end":{"line":251,"column":20}},"loc":{"start":{"line":251,"column":30},"end":{"line":251,"column":58}},"line":251},"15":{"name":"(anonymous_15)","decl":{"start":{"line":252,"column":16},"end":{"line":252,"column":17}},"loc":{"start":{"line":253,"column":12},"end":{"line":253,"column":65}},"line":253},"16":{"name":"(anonymous_16)","decl":{"start":{"line":259,"column":24},"end":{"line":259,"column":25}},"loc":{"start":{"line":259,"column":44},"end":{"line":266,"column":11}},"line":259},"17":{"name":"(anonymous_17)","decl":{"start":{"line":268,"column":75},"end":{"line":268,"column":76}},"loc":{"start":{"line":268,"column":99},"end":{"line":299,"column":9}},"line":268},"18":{"name":"(anonymous_18)","decl":{"start":{"line":321,"column":42},"end":{"line":321,"column":43}},"loc":{"start":{"line":322,"column":12},"end":{"line":322,"column":65}},"line":322},"19":{"name":"(anonymous_19)","decl":{"start":{"line":323,"column":76},"end":{"line":323,"column":77}},"loc":{"start":{"line":323,"column":99},"end":{"line":328,"column":11}},"line":323},"20":{"name":"(anonymous_20)","decl":{"start":{"line":343,"column":2},"end":{"line":343,"column":3}},"loc":{"start":{"line":345,"column":53},"end":{"line":390,"column":3}},"line":345},"21":{"name":"(anonymous_21)","decl":{"start":{"line":358,"column":12},"end":{"line":358,"column":13}},"loc":{"start":{"line":358,"column":21},"end":{"line":358,"column":31}},"line":358},"22":{"name":"(anonymous_22)","decl":{"start":{"line":392,"column":2},"end":{"line":392,"column":3}},"loc":{"start":{"line":392,"column":153},"end":{"line":449,"column":3}},"line":392},"23":{"name":"(anonymous_23)","decl":{"start":{"line":395,"column":38},"end":{"line":395,"column":39}},"loc":{"start":{"line":395,"column":47},"end":{"line":395,"column":55}},"line":395},"24":{"name":"(anonymous_24)","decl":{"start":{"line":397,"column":11},"end":{"line":397,"column":12}},"loc":{"start":{"line":397,"column":32},"end":{"line":409,"column":7}},"line":397},"25":{"name":"(anonymous_25)","decl":{"start":{"line":418,"column":38},"end":{"line":418,"column":39}},"loc":{"start":{"line":418,"column":49},"end":{"line":418,"column":77}},"line":418},"26":{"name":"(anonymous_26)","decl":{"start":{"line":418,"column":85},"end":{"line":418,"column":86}},"loc":{"start":{"line":418,"column":94},"end":{"line":418,"column":102}},"line":418},"27":{"name":"(anonymous_27)","decl":{"start":{"line":419,"column":45},"end":{"line":419,"column":46}},"loc":{"start":{"line":419,"column":59},"end":{"line":419,"column":134}},"line":419},"28":{"name":"(anonymous_28)","decl":{"start":{"line":419,"column":88},"end":{"line":419,"column":89}},"loc":{"start":{"line":419,"column":98},"end":{"line":419,"column":133}},"line":419},"29":{"name":"(anonymous_29)","decl":{"start":{"line":420,"column":13},"end":{"line":420,"column":14}},"loc":{"start":{"line":420,"column":32},"end":{"line":420,"column":50}},"line":420},"30":{"name":"(anonymous_30)","decl":{"start":{"line":421,"column":49},"end":{"line":421,"column":50}},"loc":{"start":{"line":421,"column":59},"end":{"line":429,"column":7}},"line":421}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":13},"end":{"line":60,"column":24}},"type":"default-arg","locations":[{"start":{"line":60,"column":22},"end":{"line":60,"column":24}}],"line":60},"1":{"loc":{"start":{"line":65,"column":4},"end":{"line":65,"column":33}},"type":"default-arg","locations":[{"start":{"line":65,"column":27},"end":{"line":65,"column":33}}],"line":65},"2":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":18}},"type":"default-arg","locations":[{"start":{"line":89,"column":13},"end":{"line":89,"column":18}}],"line":89},"3":{"loc":{"start":{"line":91,"column":24},"end":{"line":93,"column":18}},"type":"cond-expr","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":111}},{"start":{"line":93,"column":8},"end":{"line":93,"column":18}}],"line":91},"4":{"loc":{"start":{"line":94,"column":31},"end":{"line":94,"column":63}},"type":"cond-expr","locations":[{"start":{"line":94,"column":43},"end":{"line":94,"column":58}},{"start":{"line":94,"column":61},"end":{"line":94,"column":63}}],"line":94},"5":{"loc":{"start":{"line":110,"column":4},"end":{"line":110,"column":83}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":110,"column":83}},{"start":{},"end":{}}],"line":110},"6":{"loc":{"start":{"line":110,"column":8},"end":{"line":110,"column":68}},"type":"binary-expr","locations":[{"start":{"line":110,"column":8},"end":{"line":110,"column":36}},{"start":{"line":110,"column":40},"end":{"line":110,"column":68}}],"line":110},"7":{"loc":{"start":{"line":125,"column":24},"end":{"line":125,"column":48}},"type":"default-arg","locations":[{"start":{"line":125,"column":41},"end":{"line":125,"column":48}}],"line":125},"8":{"loc":{"start":{"line":164,"column":6},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":164,"column":6},"end":{"line":166,"column":7}},{"start":{},"end":{}}],"line":164},"9":{"loc":{"start":{"line":171,"column":44},"end":{"line":171,"column":72}},"type":"default-arg","locations":[{"start":{"line":171,"column":61},"end":{"line":171,"column":72}}],"line":171},"10":{"loc":{"start":{"line":173,"column":4},"end":{"line":180,"column":5}},"type":"if","locations":[{"start":{"line":173,"column":4},"end":{"line":180,"column":5}},{"start":{},"end":{}}],"line":173},"11":{"loc":{"start":{"line":179,"column":13},"end":{"line":179,"column":49}},"type":"binary-expr","locations":[{"start":{"line":179,"column":13},"end":{"line":179,"column":40}},{"start":{"line":179,"column":44},"end":{"line":179,"column":49}}],"line":179},"12":{"loc":{"start":{"line":188,"column":6},"end":{"line":190,"column":7}},"type":"if","locations":[{"start":{"line":188,"column":6},"end":{"line":190,"column":7}},{"start":{},"end":{}}],"line":188},"13":{"loc":{"start":{"line":192,"column":25},"end":{"line":192,"column":65}},"type":"binary-expr","locations":[{"start":{"line":192,"column":25},"end":{"line":192,"column":50}},{"start":{"line":192,"column":54},"end":{"line":192,"column":65}}],"line":192},"14":{"loc":{"start":{"line":193,"column":11},"end":{"line":193,"column":101}},"type":"cond-expr","locations":[{"start":{"line":193,"column":32},"end":{"line":193,"column":68}},{"start":{"line":193,"column":71},"end":{"line":193,"column":101}}],"line":193},"15":{"loc":{"start":{"line":206,"column":24},"end":{"line":206,"column":48}},"type":"default-arg","locations":[{"start":{"line":206,"column":39},"end":{"line":206,"column":48}}],"line":206},"16":{"loc":{"start":{"line":233,"column":14},"end":{"line":236,"column":11}},"type":"binary-expr","locations":[{"start":{"line":233,"column":14},"end":{"line":233,"column":25}},{"start":{"line":233,"column":29},"end":{"line":236,"column":11}}],"line":233},"17":{"loc":{"start":{"line":248,"column":6},"end":{"line":300,"column":7}},"type":"if","locations":[{"start":{"line":248,"column":6},"end":{"line":300,"column":7}},{"start":{},"end":{}}],"line":248},"18":{"loc":{"start":{"line":250,"column":26},"end":{"line":254,"column":18}},"type":"binary-expr","locations":[{"start":{"line":250,"column":26},"end":{"line":254,"column":12}},{"start":{"line":254,"column":16},"end":{"line":254,"column":18}}],"line":250},"19":{"loc":{"start":{"line":253,"column":12},"end":{"line":253,"column":65}},"type":"cond-expr","locations":[{"start":{"line":253,"column":33},"end":{"line":253,"column":61}},{"start":{"line":253,"column":64},"end":{"line":253,"column":65}}],"line":253},"20":{"loc":{"start":{"line":253,"column":13},"end":{"line":253,"column":29}},"type":"binary-expr","locations":[{"start":{"line":253,"column":13},"end":{"line":253,"column":19}},{"start":{"line":253,"column":23},"end":{"line":253,"column":29}}],"line":253},"21":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"if","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},{"start":{},"end":{}}],"line":256},"22":{"loc":{"start":{"line":262,"column":12},"end":{"line":264,"column":13}},"type":"if","locations":[{"start":{"line":262,"column":12},"end":{"line":264,"column":13}},{"start":{},"end":{}}],"line":262},"23":{"loc":{"start":{"line":270,"column":10},"end":{"line":296,"column":11}},"type":"if","locations":[{"start":{"line":270,"column":10},"end":{"line":296,"column":11}},{"start":{},"end":{}}],"line":270},"24":{"loc":{"start":{"line":272,"column":12},"end":{"line":278,"column":13}},"type":"if","locations":[{"start":{"line":272,"column":12},"end":{"line":278,"column":13}},{"start":{},"end":{}}],"line":272},"25":{"loc":{"start":{"line":272,"column":16},"end":{"line":272,"column":77}},"type":"binary-expr","locations":[{"start":{"line":272,"column":16},"end":{"line":272,"column":47}},{"start":{"line":272,"column":51},"end":{"line":272,"column":77}}],"line":272},"26":{"loc":{"start":{"line":280,"column":12},"end":{"line":295,"column":13}},"type":"if","locations":[{"start":{"line":280,"column":12},"end":{"line":295,"column":13}},{"start":{},"end":{}}],"line":280},"27":{"loc":{"start":{"line":281,"column":14},"end":{"line":287,"column":15}},"type":"if","locations":[{"start":{"line":281,"column":14},"end":{"line":287,"column":15}},{"start":{},"end":{}}],"line":281},"28":{"loc":{"start":{"line":305,"column":6},"end":{"line":330,"column":7}},"type":"if","locations":[{"start":{"line":305,"column":6},"end":{"line":330,"column":7}},{"start":{},"end":{}}],"line":305},"29":{"loc":{"start":{"line":306,"column":16},"end":{"line":306,"column":28}},"type":"default-arg","locations":[{"start":{"line":306,"column":26},"end":{"line":306,"column":28}}],"line":306},"30":{"loc":{"start":{"line":314,"column":14},"end":{"line":320,"column":16}},"type":"cond-expr","locations":[{"start":{"line":314,"column":26},"end":{"line":320,"column":11}},{"start":{"line":320,"column":14},"end":{"line":320,"column":16}}],"line":314},"31":{"loc":{"start":{"line":327,"column":18},"end":{"line":327,"column":58}},"type":"cond-expr","locations":[{"start":{"line":327,"column":45},"end":{"line":327,"column":53}},{"start":{"line":327,"column":56},"end":{"line":327,"column":58}}],"line":327},"32":{"loc":{"start":{"line":331,"column":6},"end":{"line":333,"column":7}},"type":"if","locations":[{"start":{"line":331,"column":6},"end":{"line":333,"column":7}},{"start":{},"end":{}}],"line":331},"33":{"loc":{"start":{"line":344,"column":21},"end":{"line":344,"column":56}},"type":"default-arg","locations":[{"start":{"line":344,"column":37},"end":{"line":344,"column":56}}],"line":344},"34":{"loc":{"start":{"line":360,"column":4},"end":{"line":363,"column":5}},"type":"if","locations":[{"start":{"line":360,"column":4},"end":{"line":363,"column":5}},{"start":{},"end":{}}],"line":360},"35":{"loc":{"start":{"line":361,"column":27},"end":{"line":361,"column":88}},"type":"binary-expr","locations":[{"start":{"line":361,"column":27},"end":{"line":361,"column":50}},{"start":{"line":361,"column":54},"end":{"line":361,"column":88}}],"line":361},"36":{"loc":{"start":{"line":372,"column":25},"end":{"line":372,"column":54}},"type":"binary-expr","locations":[{"start":{"line":372,"column":25},"end":{"line":372,"column":39}},{"start":{"line":372,"column":43},"end":{"line":372,"column":54}}],"line":372},"37":{"loc":{"start":{"line":392,"column":98},"end":{"line":392,"column":133}},"type":"default-arg","locations":[{"start":{"line":392,"column":128},"end":{"line":392,"column":133}}],"line":392},"38":{"loc":{"start":{"line":395,"column":27},"end":{"line":395,"column":62}},"type":"binary-expr","locations":[{"start":{"line":395,"column":27},"end":{"line":395,"column":56}},{"start":{"line":395,"column":60},"end":{"line":395,"column":62}}],"line":395},"39":{"loc":{"start":{"line":398,"column":30},"end":{"line":398,"column":70}},"type":"cond-expr","locations":[{"start":{"line":398,"column":53},"end":{"line":398,"column":57}},{"start":{"line":398,"column":60},"end":{"line":398,"column":70}}],"line":398},"40":{"loc":{"start":{"line":400,"column":22},"end":{"line":400,"column":95}},"type":"cond-expr","locations":[{"start":{"line":400,"column":63},"end":{"line":400,"column":78}},{"start":{"line":400,"column":81},"end":{"line":400,"column":95}}],"line":400},"41":{"loc":{"start":{"line":413,"column":4},"end":{"line":415,"column":5}},"type":"if","locations":[{"start":{"line":413,"column":4},"end":{"line":415,"column":5}},{"start":{},"end":{}}],"line":413},"42":{"loc":{"start":{"line":417,"column":4},"end":{"line":440,"column":5}},"type":"if","locations":[{"start":{"line":417,"column":4},"end":{"line":440,"column":5}},{"start":{},"end":{}}],"line":417},"43":{"loc":{"start":{"line":418,"column":24},"end":{"line":418,"column":109}},"type":"binary-expr","locations":[{"start":{"line":418,"column":24},"end":{"line":418,"column":103}},{"start":{"line":418,"column":107},"end":{"line":418,"column":109}}],"line":418},"44":{"loc":{"start":{"line":419,"column":98},"end":{"line":419,"column":133}},"type":"binary-expr","locations":[{"start":{"line":419,"column":98},"end":{"line":419,"column":106}},{"start":{"line":419,"column":110},"end":{"line":419,"column":133}}],"line":419},"45":{"loc":{"start":{"line":420,"column":32},"end":{"line":420,"column":50}},"type":"binary-expr","locations":[{"start":{"line":420,"column":32},"end":{"line":420,"column":44}},{"start":{"line":420,"column":48},"end":{"line":420,"column":50}}],"line":420},"46":{"loc":{"start":{"line":422,"column":30},"end":{"line":422,"column":70}},"type":"cond-expr","locations":[{"start":{"line":422,"column":53},"end":{"line":422,"column":57}},{"start":{"line":422,"column":60},"end":{"line":422,"column":70}}],"line":422}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/BitbucketTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/BitbucketTokenStorage.ts","statementMap":{"0":{"start":{"line":31,"column":4},"end":{"line":31,"column":56}},"1":{"start":{"line":32,"column":4},"end":{"line":34,"column":6}},"2":{"start":{"line":36,"column":4},"end":{"line":42,"column":7}},"3":{"start":{"line":48,"column":21},"end":{"line":51,"column":6}},"4":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"5":{"start":{"line":54,"column":6},"end":{"line":54,"column":25}},"6":{"start":{"line":58,"column":4},"end":{"line":58,"column":75}},"7":{"start":{"line":58,"column":50},"end":{"line":58,"column":61}},"8":{"start":{"line":75,"column":4},"end":{"line":111,"column":5}},"9":{"start":{"line":76,"column":27},"end":{"line":79,"column":8}},"10":{"start":{"line":81,"column":31},"end":{"line":81,"column":52}},"11":{"start":{"line":82,"column":27},"end":{"line":84,"column":7}},"12":{"start":{"line":83,"column":40},"end":{"line":83,"column":77}},"13":{"start":{"line":86,"column":6},"end":{"line":94,"column":7}},"14":{"start":{"line":93,"column":8},"end":{"line":93,"column":60}},"15":{"start":{"line":96,"column":24},"end":{"line":105,"column":8}},"16":{"start":{"line":107,"column":6},"end":{"line":107,"column":38}},"17":{"start":{"line":109,"column":6},"end":{"line":109,"column":25}},"18":{"start":{"line":110,"column":6},"end":{"line":110,"column":19}},"19":{"start":{"line":118,"column":24},"end":{"line":118,"column":74}},"20":{"start":{"line":119,"column":4},"end":{"line":119,"column":51}},"21":{"start":{"line":119,"column":38},"end":{"line":119,"column":51}},"22":{"start":{"line":120,"column":4},"end":{"line":128,"column":5}},"23":{"start":{"line":121,"column":23},"end":{"line":121,"column":82}},"24":{"start":{"line":122,"column":25},"end":{"line":122,"column":53}},"25":{"start":{"line":124,"column":23},"end":{"line":124,"column":60}},"26":{"start":{"line":125,"column":6},"end":{"line":125,"column":24}},"27":{"start":{"line":127,"column":6},"end":{"line":127,"column":19}},"28":{"start":{"line":145,"column":30},"end":{"line":145,"column":32}},"29":{"start":{"line":146,"column":37},"end":{"line":146,"column":57}},"30":{"start":{"line":148,"column":4},"end":{"line":176,"column":5}},"31":{"start":{"line":149,"column":23},"end":{"line":154,"column":8}},"32":{"start":{"line":156,"column":6},"end":{"line":158,"column":7}},"33":{"start":{"line":157,"column":8},"end":{"line":157,"column":81}},"34":{"start":{"line":160,"column":19},"end":{"line":160,"column":40}},"35":{"start":{"line":161,"column":6},"end":{"line":173,"column":7}},"36":{"start":{"line":162,"column":26},"end":{"line":162,"column":88}},"37":{"start":{"line":162,"column":60},"end":{"line":162,"column":87}},"38":{"start":{"line":163,"column":8},"end":{"line":163,"column":54}},"39":{"start":{"line":166,"column":34},"end":{"line":170,"column":9}},"40":{"start":{"line":168,"column":35},"end":{"line":168,"column":67}},"41":{"start":{"line":169,"column":43},"end":{"line":169,"column":108}},"42":{"start":{"line":172,"column":8},"end":{"line":172,"column":65}},"43":{"start":{"line":175,"column":6},"end":{"line":175,"column":38}},"44":{"start":{"line":178,"column":4},"end":{"line":178,"column":24}},"45":{"start":{"line":182,"column":21},"end":{"line":187,"column":6}},"46":{"start":{"line":189,"column":4},"end":{"line":191,"column":5}},"47":{"start":{"line":190,"column":6},"end":{"line":190,"column":79}},"48":{"start":{"line":193,"column":17},"end":{"line":193,"column":38}},"49":{"start":{"line":195,"column":4},"end":{"line":195,"column":16}},"50":{"start":{"line":199,"column":27},"end":{"line":199,"column":66}},"51":{"start":{"line":201,"column":4},"end":{"line":288,"column":5}},"52":{"start":{"line":202,"column":18},"end":{"line":202,"column":132}},"53":{"start":{"line":205,"column":6},"end":{"line":235,"column":7}},"54":{"start":{"line":206,"column":25},"end":{"line":206,"column":54}},"55":{"start":{"line":208,"column":8},"end":{"line":234,"column":10}},"56":{"start":{"line":224,"column":55},"end":{"line":224,"column":108}},"57":{"start":{"line":228,"column":63},"end":{"line":233,"column":11}},"58":{"start":{"line":238,"column":6},"end":{"line":280,"column":7}},"59":{"start":{"line":239,"column":26},"end":{"line":239,"column":69}},"60":{"start":{"line":241,"column":33},"end":{"line":248,"column":9}},"61":{"start":{"line":242,"column":39},"end":{"line":247,"column":38}},"62":{"start":{"line":247,"column":27},"end":{"line":247,"column":37}},"63":{"start":{"line":250,"column":8},"end":{"line":279,"column":11}},"64":{"start":{"line":251,"column":27},"end":{"line":251,"column":43}},"65":{"start":{"line":252,"column":27},"end":{"line":252,"column":85}},"66":{"start":{"line":253,"column":21},"end":{"line":253,"column":77}},"67":{"start":{"line":254,"column":10},"end":{"line":254,"column":43}},"68":{"start":{"line":255,"column":25},"end":{"line":255,"column":70}},"69":{"start":{"line":257,"column":10},"end":{"line":263,"column":11}},"70":{"start":{"line":258,"column":12},"end":{"line":262,"column":14}},"71":{"start":{"line":265,"column":10},"end":{"line":271,"column":11}},"72":{"start":{"line":266,"column":12},"end":{"line":270,"column":14}},"73":{"start":{"line":273,"column":10},"end":{"line":278,"column":12}},"74":{"start":{"line":282,"column":6},"end":{"line":284,"column":8}},"75":{"start":{"line":286,"column":6},"end":{"line":286,"column":32}},"76":{"start":{"line":287,"column":6},"end":{"line":287,"column":16}},"77":{"start":{"line":325,"column":31},"end":{"line":325,"column":41}},"78":{"start":{"line":327,"column":17},"end":{"line":327,"column":31}},"79":{"start":{"line":329,"column":27},"end":{"line":329,"column":66}},"80":{"start":{"line":330,"column":37},"end":{"line":330,"column":39}},"81":{"start":{"line":332,"column":4},"end":{"line":355,"column":5}},"82":{"start":{"line":333,"column":6},"end":{"line":354,"column":7}},"83":{"start":{"line":334,"column":20},"end":{"line":334,"column":113}},"84":{"start":{"line":335,"column":30},"end":{"line":335,"column":73}},"85":{"start":{"line":337,"column":59},"end":{"line":337,"column":61}},"86":{"start":{"line":338,"column":8},"end":{"line":345,"column":9}},"87":{"start":{"line":339,"column":10},"end":{"line":344,"column":13}},"88":{"start":{"line":340,"column":12},"end":{"line":343,"column":13}},"89":{"start":{"line":341,"column":35},"end":{"line":341,"column":65}},"90":{"start":{"line":342,"column":14},"end":{"line":342,"column":53}},"91":{"start":{"line":347,"column":31},"end":{"line":347,"column":49}},"92":{"start":{"line":349,"column":8},"end":{"line":351,"column":10}},"93":{"start":{"line":350,"column":24},"end":{"line":350,"column":87}},"94":{"start":{"line":361,"column":4},"end":{"line":367,"column":7}},"95":{"start":{"line":362,"column":6},"end":{"line":362,"column":33}},"96":{"start":{"line":366,"column":6},"end":{"line":366,"column":33}},"97":{"start":{"line":369,"column":4},"end":{"line":371,"column":7}},"98":{"start":{"line":370,"column":6},"end":{"line":370,"column":47}},"99":{"start":{"line":373,"column":21},"end":{"line":379,"column":6}},"100":{"start":{"line":381,"column":4},"end":{"line":381,"column":20}},"101":{"start":{"line":390,"column":21},"end":{"line":401,"column":6}},"102":{"start":{"line":402,"column":4},"end":{"line":402,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":30,"column":2},"end":{"line":30,"column":3}},"loc":{"start":{"line":30,"column":102},"end":{"line":43,"column":3}},"line":30},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":50},"end":{"line":59,"column":3}},"line":47},"2":{"name":"(anonymous_2)","decl":{"start":{"line":58,"column":38},"end":{"line":58,"column":39}},"loc":{"start":{"line":58,"column":50},"end":{"line":58,"column":61}},"line":58},"3":{"name":"(anonymous_3)","decl":{"start":{"line":74,"column":2},"end":{"line":74,"column":3}},"loc":{"start":{"line":74,"column":61},"end":{"line":112,"column":3}},"line":74},"4":{"name":"(anonymous_4)","decl":{"start":{"line":83,"column":8},"end":{"line":83,"column":9}},"loc":{"start":{"line":83,"column":40},"end":{"line":83,"column":77}},"line":83},"5":{"name":"(anonymous_5)","decl":{"start":{"line":117,"column":2},"end":{"line":117,"column":3}},"loc":{"start":{"line":117,"column":44},"end":{"line":129,"column":3}},"line":117},"6":{"name":"(anonymous_6)","decl":{"start":{"line":144,"column":2},"end":{"line":144,"column":3}},"loc":{"start":{"line":144,"column":83},"end":{"line":179,"column":3}},"line":144},"7":{"name":"(anonymous_7)","decl":{"start":{"line":162,"column":45},"end":{"line":162,"column":46}},"loc":{"start":{"line":162,"column":60},"end":{"line":162,"column":87}},"line":162},"8":{"name":"(anonymous_8)","decl":{"start":{"line":168,"column":20},"end":{"line":168,"column":21}},"loc":{"start":{"line":168,"column":35},"end":{"line":168,"column":67}},"line":168},"9":{"name":"(anonymous_9)","decl":{"start":{"line":169,"column":17},"end":{"line":169,"column":18}},"loc":{"start":{"line":169,"column":43},"end":{"line":169,"column":108}},"line":169},"10":{"name":"(anonymous_10)","decl":{"start":{"line":181,"column":2},"end":{"line":181,"column":3}},"loc":{"start":{"line":181,"column":73},"end":{"line":196,"column":3}},"line":181},"11":{"name":"(anonymous_11)","decl":{"start":{"line":198,"column":2},"end":{"line":198,"column":3}},"loc":{"start":{"line":198,"column":90},"end":{"line":289,"column":3}},"line":198},"12":{"name":"(anonymous_12)","decl":{"start":{"line":224,"column":44},"end":{"line":224,"column":45}},"loc":{"start":{"line":224,"column":55},"end":{"line":224,"column":108}},"line":224},"13":{"name":"(anonymous_13)","decl":{"start":{"line":228,"column":40},"end":{"line":228,"column":41}},"loc":{"start":{"line":228,"column":63},"end":{"line":233,"column":11}},"line":228},"14":{"name":"(anonymous_14)","decl":{"start":{"line":242,"column":24},"end":{"line":242,"column":25}},"loc":{"start":{"line":242,"column":39},"end":{"line":247,"column":38}},"line":242},"15":{"name":"(anonymous_15)","decl":{"start":{"line":247,"column":18},"end":{"line":247,"column":19}},"loc":{"start":{"line":247,"column":27},"end":{"line":247,"column":37}},"line":247},"16":{"name":"(anonymous_16)","decl":{"start":{"line":250,"column":36},"end":{"line":250,"column":37}},"loc":{"start":{"line":250,"column":60},"end":{"line":279,"column":9}},"line":250},"17":{"name":"(anonymous_17)","decl":{"start":{"line":322,"column":2},"end":{"line":322,"column":3}},"loc":{"start":{"line":324,"column":31},"end":{"line":382,"column":3}},"line":324},"18":{"name":"(anonymous_18)","decl":{"start":{"line":339,"column":32},"end":{"line":339,"column":33}},"loc":{"start":{"line":339,"column":42},"end":{"line":344,"column":11}},"line":339},"19":{"name":"(anonymous_19)","decl":{"start":{"line":350,"column":10},"end":{"line":350,"column":11}},"loc":{"start":{"line":350,"column":24},"end":{"line":350,"column":87}},"line":350},"20":{"name":"(anonymous_20)","decl":{"start":{"line":361,"column":34},"end":{"line":361,"column":35}},"loc":{"start":{"line":361,"column":55},"end":{"line":367,"column":5}},"line":361},"21":{"name":"(anonymous_21)","decl":{"start":{"line":369,"column":29},"end":{"line":369,"column":30}},"loc":{"start":{"line":369,"column":43},"end":{"line":371,"column":5}},"line":369},"22":{"name":"(anonymous_22)","decl":{"start":{"line":384,"column":2},"end":{"line":384,"column":3}},"loc":{"start":{"line":389,"column":22},"end":{"line":403,"column":3}},"line":389}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":18},"end":{"line":38,"column":45}},"type":"binary-expr","locations":[{"start":{"line":38,"column":18},"end":{"line":38,"column":31}},{"start":{"line":38,"column":35},"end":{"line":38,"column":45}}],"line":38},"1":{"loc":{"start":{"line":41,"column":15},"end":{"line":41,"column":40}},"type":"binary-expr","locations":[{"start":{"line":41,"column":15},"end":{"line":41,"column":27}},{"start":{"line":41,"column":31},"end":{"line":41,"column":40}}],"line":41},"2":{"loc":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":53},"3":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":35}},"type":"binary-expr","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":17}},{"start":{"line":53,"column":21},"end":{"line":53,"column":35}}],"line":53},"4":{"loc":{"start":{"line":81,"column":31},"end":{"line":81,"column":52}},"type":"binary-expr","locations":[{"start":{"line":81,"column":31},"end":{"line":81,"column":37}},{"start":{"line":81,"column":41},"end":{"line":81,"column":52}}],"line":81},"5":{"loc":{"start":{"line":86,"column":6},"end":{"line":94,"column":7}},"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":94,"column":7}},{"start":{},"end":{}}],"line":86},"6":{"loc":{"start":{"line":87,"column":8},"end":{"line":91,"column":36}},"type":"binary-expr","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":26}},{"start":{"line":88,"column":11},"end":{"line":88,"column":36}},{"start":{"line":89,"column":11},"end":{"line":89,"column":24}},{"start":{"line":90,"column":11},"end":{"line":90,"column":31}},{"start":{"line":91,"column":11},"end":{"line":91,"column":36}}],"line":87},"7":{"loc":{"start":{"line":119,"column":4},"end":{"line":119,"column":51}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":119,"column":51}},{"start":{},"end":{}}],"line":119},"8":{"loc":{"start":{"line":124,"column":26},"end":{"line":124,"column":59}},"type":"binary-expr","locations":[{"start":{"line":124,"column":26},"end":{"line":124,"column":48}},{"start":{"line":124,"column":52},"end":{"line":124,"column":59}}],"line":124},"9":{"loc":{"start":{"line":156,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":156,"column":6},"end":{"line":158,"column":7}},{"start":{},"end":{}}],"line":156},"10":{"loc":{"start":{"line":161,"column":6},"end":{"line":173,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":173,"column":7}},{"start":{},"end":{}}],"line":161},"11":{"loc":{"start":{"line":161,"column":10},"end":{"line":161,"column":51}},"type":"binary-expr","locations":[{"start":{"line":161,"column":10},"end":{"line":161,"column":21}},{"start":{"line":161,"column":25},"end":{"line":161,"column":51}}],"line":161},"12":{"loc":{"start":{"line":175,"column":20},"end":{"line":175,"column":37}},"type":"binary-expr","locations":[{"start":{"line":175,"column":20},"end":{"line":175,"column":29}},{"start":{"line":175,"column":33},"end":{"line":175,"column":37}}],"line":175},"13":{"loc":{"start":{"line":189,"column":4},"end":{"line":191,"column":5}},"type":"if","locations":[{"start":{"line":189,"column":4},"end":{"line":191,"column":5}},{"start":{},"end":{}}],"line":189},"14":{"loc":{"start":{"line":205,"column":6},"end":{"line":235,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":235,"column":7}},{"start":{},"end":{}}],"line":205},"15":{"loc":{"start":{"line":212,"column":18},"end":{"line":212,"column":40}},"type":"binary-expr","locations":[{"start":{"line":212,"column":18},"end":{"line":212,"column":34}},{"start":{"line":212,"column":38},"end":{"line":212,"column":40}}],"line":212},"16":{"loc":{"start":{"line":214,"column":14},"end":{"line":222,"column":16}},"type":"cond-expr","locations":[{"start":{"line":215,"column":14},"end":{"line":221,"column":13}},{"start":{"line":222,"column":14},"end":{"line":222,"column":16}}],"line":214},"17":{"loc":{"start":{"line":238,"column":6},"end":{"line":280,"column":7}},"type":"if","locations":[{"start":{"line":238,"column":6},"end":{"line":280,"column":7}},{"start":{},"end":{}}],"line":238},"18":{"loc":{"start":{"line":252,"column":27},"end":{"line":252,"column":85}},"type":"cond-expr","locations":[{"start":{"line":252,"column":56},"end":{"line":252,"column":60}},{"start":{"line":252,"column":63},"end":{"line":252,"column":85}}],"line":252},"19":{"loc":{"start":{"line":257,"column":10},"end":{"line":263,"column":11}},"type":"if","locations":[{"start":{"line":257,"column":10},"end":{"line":263,"column":11}},{"start":{},"end":{}}],"line":257},"20":{"loc":{"start":{"line":265,"column":10},"end":{"line":271,"column":11}},"type":"if","locations":[{"start":{"line":265,"column":10},"end":{"line":271,"column":11}},{"start":{},"end":{}}],"line":265},"21":{"loc":{"start":{"line":332,"column":4},"end":{"line":355,"column":5}},"type":"if","locations":[{"start":{"line":332,"column":4},"end":{"line":355,"column":5}},{"start":{},"end":{}}],"line":332},"22":{"loc":{"start":{"line":332,"column":8},"end":{"line":332,"column":72}},"type":"binary-expr","locations":[{"start":{"line":332,"column":8},"end":{"line":332,"column":41}},{"start":{"line":332,"column":45},"end":{"line":332,"column":72}}],"line":332},"23":{"loc":{"start":{"line":338,"column":8},"end":{"line":345,"column":9}},"type":"if","locations":[{"start":{"line":338,"column":8},"end":{"line":345,"column":9}},{"start":{},"end":{}}],"line":338},"24":{"loc":{"start":{"line":340,"column":12},"end":{"line":343,"column":13}},"type":"if","locations":[{"start":{"line":340,"column":12},"end":{"line":343,"column":13}},{"start":{},"end":{}}],"line":340},"25":{"loc":{"start":{"line":340,"column":16},"end":{"line":340,"column":73}},"type":"binary-expr","locations":[{"start":{"line":340,"column":16},"end":{"line":340,"column":43}},{"start":{"line":340,"column":47},"end":{"line":340,"column":73}}],"line":340},"26":{"loc":{"start":{"line":350,"column":24},"end":{"line":350,"column":87}},"type":"binary-expr","locations":[{"start":{"line":350,"column":24},"end":{"line":350,"column":58}},{"start":{"line":350,"column":62},"end":{"line":350,"column":87}}],"line":350}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/FileTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/FileTokenStorage.ts","statementMap":{"0":{"start":{"line":20,"column":34},"end":{"line":22,"column":3}},"1":{"start":{"line":25,"column":4},"end":{"line":25,"column":12}},"2":{"start":{"line":26,"column":4},"end":{"line":26,"column":23}},"3":{"start":{"line":30,"column":4},"end":{"line":30,"column":39}},"4":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"5":{"start":{"line":35,"column":4},"end":{"line":134,"column":5}},"6":{"start":{"line":36,"column":6},"end":{"line":90,"column":7}},"7":{"start":{"line":37,"column":26},"end":{"line":40,"column":12}},"8":{"start":{"line":37,"column":66},"end":{"line":37,"column":107}},"9":{"start":{"line":39,"column":12},"end":{"line":39,"column":121}},"10":{"start":{"line":42,"column":29},"end":{"line":56,"column":11}},"11":{"start":{"line":42,"column":53},"end":{"line":56,"column":10}},"12":{"start":{"line":43,"column":25},"end":{"line":43,"column":41}},"13":{"start":{"line":44,"column":10},"end":{"line":44,"column":34}},"14":{"start":{"line":45,"column":10},"end":{"line":55,"column":12}},"15":{"start":{"line":46,"column":32},"end":{"line":46,"column":55}},"16":{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},"17":{"start":{"line":48,"column":37},"end":{"line":48,"column":60}},"18":{"start":{"line":49,"column":39},"end":{"line":49,"column":91}},"19":{"start":{"line":50,"column":14},"end":{"line":52,"column":15}},"20":{"start":{"line":51,"column":16},"end":{"line":51,"column":47}},"21":{"start":{"line":54,"column":12},"end":{"line":54,"column":26}},"22":{"start":{"line":58,"column":33},"end":{"line":58,"column":64}},"23":{"start":{"line":59,"column":8},"end":{"line":89,"column":12}},"24":{"start":{"line":60,"column":41},"end":{"line":60,"column":57}},"25":{"start":{"line":61,"column":10},"end":{"line":87,"column":11}},"26":{"start":{"line":62,"column":25},"end":{"line":62,"column":113}},"27":{"start":{"line":63,"column":12},"end":{"line":69,"column":13}},"28":{"start":{"line":64,"column":14},"end":{"line":68,"column":48}},"29":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"30":{"start":{"line":72,"column":14},"end":{"line":76,"column":16}},"31":{"start":{"line":79,"column":12},"end":{"line":86,"column":13}},"32":{"start":{"line":80,"column":14},"end":{"line":85,"column":56}},"33":{"start":{"line":88,"column":10},"end":{"line":88,"column":22}},"34":{"start":{"line":91,"column":6},"end":{"line":131,"column":7}},"35":{"start":{"line":92,"column":23},"end":{"line":92,"column":39}},"36":{"start":{"line":93,"column":8},"end":{"line":93,"column":41}},"37":{"start":{"line":94,"column":8},"end":{"line":130,"column":11}},"38":{"start":{"line":95,"column":10},"end":{"line":129,"column":12}},"39":{"start":{"line":96,"column":27},"end":{"line":96,"column":50}},"40":{"start":{"line":98,"column":12},"end":{"line":127,"column":13}},"41":{"start":{"line":99,"column":37},"end":{"line":99,"column":55}},"42":{"start":{"line":100,"column":39},"end":{"line":100,"column":99}},"43":{"start":{"line":101,"column":14},"end":{"line":123,"column":15}},"44":{"start":{"line":102,"column":61},"end":{"line":102,"column":82}},"45":{"start":{"line":103,"column":16},"end":{"line":122,"column":19}},"46":{"start":{"line":116,"column":93},"end":{"line":121,"column":19}},"47":{"start":{"line":124,"column":14},"end":{"line":126,"column":17}},"48":{"start":{"line":128,"column":12},"end":{"line":128,"column":24}},"49":{"start":{"line":133,"column":6},"end":{"line":133,"column":21}},"50":{"start":{"line":135,"column":4},"end":{"line":135,"column":14}},"51":{"start":{"line":139,"column":4},"end":{"line":139,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":31},"end":{"line":27,"column":3}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":29,"column":27},"end":{"line":32,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":90},"end":{"line":136,"column":3}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":56},"end":{"line":37,"column":57}},"loc":{"start":{"line":37,"column":66},"end":{"line":37,"column":107}},"line":37},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},"loc":{"start":{"line":39,"column":12},"end":{"line":39,"column":121}},"line":39},"5":{"name":"(anonymous_5)","decl":{"start":{"line":42,"column":43},"end":{"line":42,"column":44}},"loc":{"start":{"line":42,"column":53},"end":{"line":56,"column":10}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":42,"column":65},"end":{"line":42,"column":66}},"loc":{"start":{"line":42,"column":78},"end":{"line":56,"column":9}},"line":42},"7":{"name":"(anonymous_7)","decl":{"start":{"line":45,"column":26},"end":{"line":45,"column":27}},"loc":{"start":{"line":45,"column":38},"end":{"line":55,"column":11}},"line":45},"8":{"name":"(anonymous_8)","decl":{"start":{"line":59,"column":75},"end":{"line":59,"column":76}},"loc":{"start":{"line":59,"column":99},"end":{"line":89,"column":9}},"line":59},"9":{"name":"(anonymous_9)","decl":{"start":{"line":94,"column":92},"end":{"line":94,"column":93}},"loc":{"start":{"line":94,"column":105},"end":{"line":130,"column":9}},"line":94},"10":{"name":"(anonymous_10)","decl":{"start":{"line":95,"column":26},"end":{"line":95,"column":27}},"loc":{"start":{"line":95,"column":38},"end":{"line":129,"column":11}},"line":95},"11":{"name":"(anonymous_11)","decl":{"start":{"line":116,"column":70},"end":{"line":116,"column":71}},"loc":{"start":{"line":116,"column":93},"end":{"line":121,"column":19}},"line":116},"12":{"name":"(anonymous_12)","decl":{"start":{"line":138,"column":2},"end":{"line":138,"column":3}},"loc":{"start":{"line":138,"column":41},"end":{"line":140,"column":3}},"line":138}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":6},"end":{"line":90,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":90,"column":7}},{"start":{},"end":{}}],"line":36},"1":{"loc":{"start":{"line":36,"column":10},"end":{"line":36,"column":62}},"type":"binary-expr","locations":[{"start":{"line":36,"column":10},"end":{"line":36,"column":37}},{"start":{"line":36,"column":41},"end":{"line":36,"column":62}}],"line":36},"2":{"loc":{"start":{"line":39,"column":12},"end":{"line":39,"column":121}},"type":"cond-expr","locations":[{"start":{"line":39,"column":61},"end":{"line":39,"column":117}},{"start":{"line":39,"column":120},"end":{"line":39,"column":121}}],"line":39},"3":{"loc":{"start":{"line":39,"column":13},"end":{"line":39,"column":57}},"type":"binary-expr","locations":[{"start":{"line":39,"column":13},"end":{"line":39,"column":33}},{"start":{"line":39,"column":37},"end":{"line":39,"column":57}}],"line":39},"4":{"loc":{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},"type":"if","locations":[{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},{"start":{},"end":{}}],"line":47},"5":{"loc":{"start":{"line":47,"column":16},"end":{"line":47,"column":56}},"type":"binary-expr","locations":[{"start":{"line":47,"column":16},"end":{"line":47,"column":27}},{"start":{"line":47,"column":31},"end":{"line":47,"column":56}}],"line":47},"6":{"loc":{"start":{"line":50,"column":14},"end":{"line":52,"column":15}},"type":"if","locations":[{"start":{"line":50,"column":14},"end":{"line":52,"column":15}},{"start":{},"end":{}}],"line":50},"7":{"loc":{"start":{"line":61,"column":10},"end":{"line":87,"column":11}},"type":"if","locations":[{"start":{"line":61,"column":10},"end":{"line":87,"column":11}},{"start":{},"end":{}}],"line":61},"8":{"loc":{"start":{"line":63,"column":12},"end":{"line":69,"column":13}},"type":"if","locations":[{"start":{"line":63,"column":12},"end":{"line":69,"column":13}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":16},"end":{"line":63,"column":77}},"type":"binary-expr","locations":[{"start":{"line":63,"column":16},"end":{"line":63,"column":47}},{"start":{"line":63,"column":51},"end":{"line":63,"column":77}}],"line":63},"10":{"loc":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},{"start":{},"end":{}}],"line":71},"11":{"loc":{"start":{"line":79,"column":12},"end":{"line":86,"column":13}},"type":"if","locations":[{"start":{"line":79,"column":12},"end":{"line":86,"column":13}},{"start":{},"end":{}}],"line":79},"12":{"loc":{"start":{"line":91,"column":6},"end":{"line":131,"column":7}},"type":"if","locations":[{"start":{"line":91,"column":6},"end":{"line":131,"column":7}},{"start":{},"end":{}}],"line":91},"13":{"loc":{"start":{"line":98,"column":12},"end":{"line":127,"column":13}},"type":"if","locations":[{"start":{"line":98,"column":12},"end":{"line":127,"column":13}},{"start":{},"end":{}}],"line":98},"14":{"loc":{"start":{"line":98,"column":16},"end":{"line":98,"column":46}},"type":"binary-expr","locations":[{"start":{"line":98,"column":16},"end":{"line":98,"column":22}},{"start":{"line":98,"column":26},"end":{"line":98,"column":46}}],"line":98},"15":{"loc":{"start":{"line":101,"column":14},"end":{"line":123,"column":15}},"type":"if","locations":[{"start":{"line":101,"column":14},"end":{"line":123,"column":15}},{"start":{},"end":{}}],"line":101},"16":{"loc":{"start":{"line":102,"column":24},"end":{"line":102,"column":36}},"type":"default-arg","locations":[{"start":{"line":102,"column":34},"end":{"line":102,"column":36}}],"line":102},"17":{"loc":{"start":{"line":107,"column":26},"end":{"line":107,"column":63}},"type":"cond-expr","locations":[{"start":{"line":107,"column":51},"end":{"line":107,"column":58}},{"start":{"line":107,"column":61},"end":{"line":107,"column":63}}],"line":107},"18":{"loc":{"start":{"line":109,"column":22},"end":{"line":115,"column":24}},"type":"cond-expr","locations":[{"start":{"line":109,"column":34},"end":{"line":115,"column":19}},{"start":{"line":115,"column":22},"end":{"line":115,"column":24}}],"line":109},"19":{"loc":{"start":{"line":120,"column":26},"end":{"line":120,"column":66}},"type":"cond-expr","locations":[{"start":{"line":120,"column":53},"end":{"line":120,"column":61}},{"start":{"line":120,"column":64},"end":{"line":120,"column":66}}],"line":120}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0],"17":[0,0],"18":[0,0],"19":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GenericVersionedStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GenericVersionedStorage.ts","statementMap":{"0":{"start":{"line":12,"column":31},"end":{"line":17,"column":2}},"1":{"start":{"line":34,"column":23},"end":{"line":34,"column":143}},"2":{"start":{"line":34,"column":106},"end":{"line":34,"column":143}},"3":{"start":{"line":34,"column":125},"end":{"line":34,"column":142}},"4":{"start":{"line":52,"column":35},"end":{"line":58,"column":15}},"5":{"start":{"line":60,"column":4},"end":{"line":74,"column":5}},"6":{"start":{"line":62,"column":8},"end":{"line":62,"column":23}},"7":{"start":{"line":63,"column":8},"end":{"line":63,"column":25}},"8":{"start":{"line":64,"column":8},"end":{"line":64,"column":14}},"9":{"start":{"line":66,"column":8},"end":{"line":66,"column":23}},"10":{"start":{"line":67,"column":8},"end":{"line":67,"column":14}},"11":{"start":{"line":69,"column":8},"end":{"line":69,"column":24}},"12":{"start":{"line":70,"column":8},"end":{"line":70,"column":14}},"13":{"start":{"line":72,"column":8},"end":{"line":72,"column":41}},"14":{"start":{"line":73,"column":8},"end":{"line":73,"column":21}},"15":{"start":{"line":76,"column":21},"end":{"line":86,"column":6}},"16":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"17":{"start":{"line":89,"column":6},"end":{"line":89,"column":39}},"18":{"start":{"line":91,"column":4},"end":{"line":93,"column":5}},"19":{"start":{"line":92,"column":6},"end":{"line":92,"column":29}},"20":{"start":{"line":94,"column":4},"end":{"line":94,"column":17}},"21":{"start":{"line":98,"column":4},"end":{"line":98,"column":12}},"22":{"start":{"line":99,"column":4},"end":{"line":99,"column":19}},"23":{"start":{"line":100,"column":4},"end":{"line":100,"column":21}},"24":{"start":{"line":101,"column":4},"end":{"line":104,"column":7}},"25":{"start":{"line":108,"column":4},"end":{"line":128,"column":6}},"26":{"start":{"line":122,"column":110},"end":{"line":127,"column":7}},"27":{"start":{"line":132,"column":21},"end":{"line":140,"column":6}},"28":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"29":{"start":{"line":143,"column":6},"end":{"line":143,"column":39}},"30":{"start":{"line":145,"column":4},"end":{"line":153,"column":5}},"31":{"start":{"line":146,"column":29},"end":{"line":146,"column":50}},"32":{"start":{"line":147,"column":31},"end":{"line":147,"column":90}},"33":{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},"34":{"start":{"line":149,"column":37},"end":{"line":149,"column":93}},"35":{"start":{"line":150,"column":8},"end":{"line":150,"column":107}},"36":{"start":{"line":151,"column":8},"end":{"line":151,"column":77}},"37":{"start":{"line":156,"column":4},"end":{"line":156,"column":14}},"38":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"39":{"start":{"line":161,"column":6},"end":{"line":161,"column":101}},"40":{"start":{"line":164,"column":45},"end":{"line":169,"column":5}},"41":{"start":{"line":170,"column":4},"end":{"line":182,"column":7}},"42":{"start":{"line":171,"column":6},"end":{"line":181,"column":7}},"43":{"start":{"line":172,"column":8},"end":{"line":175,"column":10}},"44":{"start":{"line":176,"column":13},"end":{"line":181,"column":7}},"45":{"start":{"line":177,"column":8},"end":{"line":180,"column":10}},"46":{"start":{"line":184,"column":21},"end":{"line":193,"column":6}},"47":{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},"48":{"start":{"line":196,"column":6},"end":{"line":196,"column":39}},"49":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"50":{"start":{"line":200,"column":6},"end":{"line":200,"column":18}},"51":{"start":{"line":203,"column":4},"end":{"line":203,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":34,"column":23},"end":{"line":34,"column":24}},"loc":{"start":{"line":34,"column":106},"end":{"line":34,"column":143}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":118},"end":{"line":34,"column":119}},"loc":{"start":{"line":34,"column":125},"end":{"line":34,"column":142}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":3}},"loc":{"start":{"line":51,"column":5},"end":{"line":95,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":97,"column":2},"end":{"line":97,"column":3}},"loc":{"start":{"line":97,"column":111},"end":{"line":105,"column":3}},"line":97},"4":{"name":"(anonymous_4)","decl":{"start":{"line":107,"column":2},"end":{"line":107,"column":3}},"loc":{"start":{"line":107,"column":121},"end":{"line":129,"column":3}},"line":107},"5":{"name":"(anonymous_5)","decl":{"start":{"line":122,"column":87},"end":{"line":122,"column":88}},"loc":{"start":{"line":122,"column":110},"end":{"line":127,"column":7}},"line":122},"6":{"name":"(anonymous_6)","decl":{"start":{"line":131,"column":2},"end":{"line":131,"column":3}},"loc":{"start":{"line":131,"column":79},"end":{"line":157,"column":3}},"line":131},"7":{"name":"(anonymous_7)","decl":{"start":{"line":159,"column":2},"end":{"line":159,"column":3}},"loc":{"start":{"line":159,"column":94},"end":{"line":204,"column":3}},"line":159},"8":{"name":"(anonymous_8)","decl":{"start":{"line":170,"column":18},"end":{"line":170,"column":19}},"loc":{"start":{"line":170,"column":28},"end":{"line":182,"column":5}},"line":170}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":96},"end":{"line":49,"column":143}},"type":"default-arg","locations":[{"start":{"line":49,"column":141},"end":{"line":49,"column":143}}],"line":49},"1":{"loc":{"start":{"line":60,"column":4},"end":{"line":74,"column":5}},"type":"switch","locations":[{"start":{"line":61,"column":6},"end":{"line":64,"column":14}},{"start":{"line":65,"column":6},"end":{"line":67,"column":14}},{"start":{"line":68,"column":6},"end":{"line":70,"column":14}},{"start":{"line":71,"column":6},"end":{"line":73,"column":21}}],"line":60},"2":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":88},"3":{"loc":{"start":{"line":91,"column":4},"end":{"line":93,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":93,"column":5}},{"start":{},"end":{}}],"line":91},"4":{"loc":{"start":{"line":97,"column":62},"end":{"line":97,"column":109}},"type":"default-arg","locations":[{"start":{"line":97,"column":107},"end":{"line":97,"column":109}}],"line":97},"5":{"loc":{"start":{"line":112,"column":14},"end":{"line":112,"column":32}},"type":"binary-expr","locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":26}},{"start":{"line":112,"column":30},"end":{"line":112,"column":32}}],"line":112},"6":{"loc":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":142},"7":{"loc":{"start":{"line":145,"column":4},"end":{"line":153,"column":5}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":153,"column":5}},{"start":{},"end":{}}],"line":145},"8":{"loc":{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},"type":"if","locations":[{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},{"start":{},"end":{}}],"line":148},"9":{"loc":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},{"start":{},"end":{}}],"line":160},"10":{"loc":{"start":{"line":171,"column":6},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":171,"column":6},"end":{"line":181,"column":7}},{"start":{"line":176,"column":13},"end":{"line":181,"column":7}}],"line":171},"11":{"loc":{"start":{"line":173,"column":14},"end":{"line":173,"column":38}},"type":"binary-expr","locations":[{"start":{"line":173,"column":14},"end":{"line":173,"column":32}},{"start":{"line":173,"column":36},"end":{"line":173,"column":38}}],"line":173},"12":{"loc":{"start":{"line":176,"column":13},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":176,"column":13},"end":{"line":181,"column":7}},{"start":{},"end":{}}],"line":176},"13":{"loc":{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},"type":"if","locations":[{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},{"start":{},"end":{}}],"line":195},"14":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},{"start":{},"end":{}}],"line":199}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitTokenStorage.ts","statementMap":{"0":{"start":{"line":37,"column":29},"end":{"line":37,"column":35}},"1":{"start":{"line":39,"column":27},"end":{"line":39,"column":29}},"2":{"start":{"line":41,"column":42},"end":{"line":41,"column":51}},"3":{"start":{"line":43,"column":34},"end":{"line":45,"column":3}},"4":{"start":{"line":47,"column":43},"end":{"line":47,"column":52}},"5":{"start":{"line":56,"column":4},"end":{"line":56,"column":12}},"6":{"start":{"line":57,"column":4},"end":{"line":57,"column":25}},"7":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"8":{"start":{"line":59,"column":4},"end":{"line":59,"column":33}},"9":{"start":{"line":60,"column":4},"end":{"line":60,"column":27}},"10":{"start":{"line":61,"column":4},"end":{"line":61,"column":29}},"11":{"start":{"line":65,"column":4},"end":{"line":65,"column":25}},"12":{"start":{"line":66,"column":4},"end":{"line":66,"column":16}},"13":{"start":{"line":70,"column":4},"end":{"line":70,"column":31}},"14":{"start":{"line":71,"column":4},"end":{"line":71,"column":16}},"15":{"start":{"line":75,"column":4},"end":{"line":75,"column":39}},"16":{"start":{"line":76,"column":4},"end":{"line":76,"column":16}},"17":{"start":{"line":80,"column":4},"end":{"line":80,"column":40}},"18":{"start":{"line":81,"column":4},"end":{"line":81,"column":16}},"19":{"start":{"line":95,"column":21},"end":{"line":95,"column":47}},"20":{"start":{"line":96,"column":4},"end":{"line":96,"column":39}},"21":{"start":{"line":96,"column":26},"end":{"line":96,"column":39}},"22":{"start":{"line":98,"column":51},"end":{"line":98,"column":53}},"23":{"start":{"line":99,"column":4},"end":{"line":125,"column":5}},"24":{"start":{"line":100,"column":6},"end":{"line":111,"column":18}},"25":{"start":{"line":102,"column":10},"end":{"line":108,"column":11}},"26":{"start":{"line":103,"column":12},"end":{"line":103,"column":39}},"27":{"start":{"line":104,"column":17},"end":{"line":108,"column":11}},"28":{"start":{"line":105,"column":12},"end":{"line":105,"column":63}},"29":{"start":{"line":106,"column":17},"end":{"line":108,"column":11}},"30":{"start":{"line":107,"column":12},"end":{"line":107,"column":69}},"31":{"start":{"line":109,"column":10},"end":{"line":109,"column":21}},"32":{"start":{"line":112,"column":11},"end":{"line":125,"column":5}},"33":{"start":{"line":113,"column":6},"end":{"line":121,"column":9}},"34":{"start":{"line":114,"column":8},"end":{"line":120,"column":9}},"35":{"start":{"line":115,"column":10},"end":{"line":115,"column":104}},"36":{"start":{"line":116,"column":15},"end":{"line":120,"column":9}},"37":{"start":{"line":117,"column":10},"end":{"line":117,"column":117}},"38":{"start":{"line":118,"column":15},"end":{"line":120,"column":9}},"39":{"start":{"line":119,"column":10},"end":{"line":119,"column":119}},"40":{"start":{"line":124,"column":6},"end":{"line":124,"column":68}},"41":{"start":{"line":126,"column":4},"end":{"line":131,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":3}},"loc":{"start":{"line":55,"column":4},"end":{"line":62,"column":3}},"line":55},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":2},"end":{"line":64,"column":3}},"loc":{"start":{"line":64,"column":38},"end":{"line":67,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":69,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":69,"column":34},"end":{"line":72,"column":3}},"line":69},"3":{"name":"(anonymous_3)","decl":{"start":{"line":74,"column":2},"end":{"line":74,"column":3}},"loc":{"start":{"line":74,"column":27},"end":{"line":77,"column":3}},"line":74},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":79,"column":28},"end":{"line":82,"column":3}},"line":79},"5":{"name":"(anonymous_5)","decl":{"start":{"line":94,"column":2},"end":{"line":94,"column":3}},"loc":{"start":{"line":94,"column":107},"end":{"line":132,"column":3}},"line":94},"6":{"name":"(anonymous_6)","decl":{"start":{"line":101,"column":45},"end":{"line":101,"column":46}},"loc":{"start":{"line":101,"column":60},"end":{"line":110,"column":9}},"line":101},"7":{"name":"(anonymous_7)","decl":{"start":{"line":113,"column":20},"end":{"line":113,"column":21}},"loc":{"start":{"line":113,"column":30},"end":{"line":121,"column":7}},"line":113}},"branchMap":{"0":{"loc":{"start":{"line":96,"column":4},"end":{"line":96,"column":39}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":96,"column":39}},{"start":{},"end":{}}],"line":96},"1":{"loc":{"start":{"line":99,"column":4},"end":{"line":125,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":125,"column":5}},{"start":{"line":112,"column":11},"end":{"line":125,"column":5}}],"line":99},"2":{"loc":{"start":{"line":102,"column":10},"end":{"line":108,"column":11}},"type":"if","locations":[{"start":{"line":102,"column":10},"end":{"line":108,"column":11}},{"start":{"line":104,"column":17},"end":{"line":108,"column":11}}],"line":102},"3":{"loc":{"start":{"line":104,"column":17},"end":{"line":108,"column":11}},"type":"if","locations":[{"start":{"line":104,"column":17},"end":{"line":108,"column":11}},{"start":{"line":106,"column":17},"end":{"line":108,"column":11}}],"line":104},"4":{"loc":{"start":{"line":105,"column":30},"end":{"line":105,"column":47}},"type":"binary-expr","locations":[{"start":{"line":105,"column":30},"end":{"line":105,"column":41}},{"start":{"line":105,"column":45},"end":{"line":105,"column":47}}],"line":105},"5":{"loc":{"start":{"line":106,"column":17},"end":{"line":108,"column":11}},"type":"if","locations":[{"start":{"line":106,"column":17},"end":{"line":108,"column":11}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":107,"column":33},"end":{"line":107,"column":52}},"type":"binary-expr","locations":[{"start":{"line":107,"column":33},"end":{"line":107,"column":46}},{"start":{"line":107,"column":50},"end":{"line":107,"column":52}}],"line":107},"7":{"loc":{"start":{"line":112,"column":11},"end":{"line":125,"column":5}},"type":"if","locations":[{"start":{"line":112,"column":11},"end":{"line":125,"column":5}},{"start":{"line":122,"column":11},"end":{"line":125,"column":5}}],"line":112},"8":{"loc":{"start":{"line":114,"column":8},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":120,"column":9}},{"start":{"line":116,"column":15},"end":{"line":120,"column":9}}],"line":114},"9":{"loc":{"start":{"line":116,"column":15},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":116,"column":15},"end":{"line":120,"column":9}},{"start":{"line":118,"column":15},"end":{"line":120,"column":9}}],"line":116},"10":{"loc":{"start":{"line":118,"column":15},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":118,"column":15},"end":{"line":120,"column":9}},{"start":{},"end":{}}],"line":118},"11":{"loc":{"start":{"line":128,"column":6},"end":{"line":128,"column":54}},"type":"binary-expr","locations":[{"start":{"line":128,"column":6},"end":{"line":128,"column":31}},{"start":{"line":128,"column":35},"end":{"line":128,"column":54}}],"line":128}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GithubTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GithubTokenStorage.ts","statementMap":{"0":{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},"1":{"start":{"line":34,"column":6},"end":{"line":34,"column":22}},"2":{"start":{"line":36,"column":6},"end":{"line":36,"column":22}},"3":{"start":{"line":41,"column":36},"end":{"line":44,"column":1}},"4":{"start":{"line":55,"column":4},"end":{"line":55,"column":46}},"5":{"start":{"line":56,"column":4},"end":{"line":58,"column":6}},"6":{"start":{"line":61,"column":39},"end":{"line":61,"column":95}},"7":{"start":{"line":62,"column":4},"end":{"line":65,"column":32}},"8":{"start":{"line":69,"column":4},"end":{"line":74,"column":7}},"9":{"start":{"line":80,"column":4},"end":{"line":85,"column":5}},"10":{"start":{"line":81,"column":23},"end":{"line":81,"column":48}},"11":{"start":{"line":82,"column":21},"end":{"line":82,"column":74}},"12":{"start":{"line":82,"column":47},"end":{"line":82,"column":73}},"13":{"start":{"line":83,"column":6},"end":{"line":83,"column":71}},"14":{"start":{"line":83,"column":19},"end":{"line":83,"column":71}},"15":{"start":{"line":84,"column":6},"end":{"line":84,"column":31}},"16":{"start":{"line":88,"column":19},"end":{"line":88,"column":81}},"17":{"start":{"line":89,"column":40},"end":{"line":95,"column":6}},"18":{"start":{"line":97,"column":4},"end":{"line":101,"column":5}},"19":{"start":{"line":98,"column":24},"end":{"line":98,"column":91}},"20":{"start":{"line":98,"column":72},"end":{"line":98,"column":90}},"21":{"start":{"line":99,"column":6},"end":{"line":99,"column":75}},"22":{"start":{"line":99,"column":22},"end":{"line":99,"column":75}},"23":{"start":{"line":100,"column":6},"end":{"line":100,"column":27}},"24":{"start":{"line":105,"column":4},"end":{"line":107,"column":5}},"25":{"start":{"line":106,"column":6},"end":{"line":106,"column":50}},"26":{"start":{"line":109,"column":4},"end":{"line":109,"column":52}},"27":{"start":{"line":113,"column":21},"end":{"line":113,"column":46}},"28":{"start":{"line":114,"column":4},"end":{"line":114,"column":50}},"29":{"start":{"line":114,"column":37},"end":{"line":114,"column":48}},"30":{"start":{"line":118,"column":4},"end":{"line":134,"column":5}},"31":{"start":{"line":119,"column":24},"end":{"line":119,"column":56}},"32":{"start":{"line":120,"column":21},"end":{"line":120,"column":43}},"33":{"start":{"line":121,"column":27},"end":{"line":126,"column":8}},"34":{"start":{"line":127,"column":24},"end":{"line":129,"column":8}},"35":{"start":{"line":130,"column":6},"end":{"line":130,"column":34}},"36":{"start":{"line":132,"column":6},"end":{"line":132,"column":25}},"37":{"start":{"line":133,"column":6},"end":{"line":133,"column":19}},"38":{"start":{"line":138,"column":4},"end":{"line":138,"column":83}},"39":{"start":{"line":138,"column":70},"end":{"line":138,"column":83}},"40":{"start":{"line":139,"column":24},"end":{"line":139,"column":78}},"41":{"start":{"line":140,"column":4},"end":{"line":140,"column":46}},"42":{"start":{"line":140,"column":33},"end":{"line":140,"column":46}},"43":{"start":{"line":141,"column":4},"end":{"line":151,"column":5}},"44":{"start":{"line":142,"column":23},"end":{"line":147,"column":8}},"45":{"start":{"line":148,"column":6},"end":{"line":148,"column":24}},"46":{"start":{"line":150,"column":6},"end":{"line":150,"column":19}},"47":{"start":{"line":155,"column":4},"end":{"line":274,"column":5}},"48":{"start":{"line":156,"column":29},"end":{"line":156,"column":68}},"49":{"start":{"line":157,"column":23},"end":{"line":167,"column":8}},"50":{"start":{"line":170,"column":6},"end":{"line":267,"column":7}},"51":{"start":{"line":171,"column":29},"end":{"line":171,"column":78}},"52":{"start":{"line":172,"column":29},"end":{"line":178,"column":10}},"53":{"start":{"line":179,"column":8},"end":{"line":236,"column":9}},"54":{"start":{"line":180,"column":28},"end":{"line":184,"column":12}},"55":{"start":{"line":181,"column":12},"end":{"line":181,"column":40}},"56":{"start":{"line":183,"column":12},"end":{"line":183,"column":65}},"57":{"start":{"line":185,"column":35},"end":{"line":197,"column":13}},"58":{"start":{"line":186,"column":12},"end":{"line":196,"column":38}},"59":{"start":{"line":198,"column":10},"end":{"line":235,"column":14}},"60":{"start":{"line":199,"column":29},"end":{"line":199,"column":45}},"61":{"start":{"line":200,"column":12},"end":{"line":233,"column":13}},"62":{"start":{"line":205,"column":31},"end":{"line":205,"column":99}},"63":{"start":{"line":206,"column":25},"end":{"line":206,"column":81}},"64":{"start":{"line":207,"column":14},"end":{"line":207,"column":47}},"65":{"start":{"line":208,"column":29},"end":{"line":208,"column":100}},"66":{"start":{"line":211,"column":14},"end":{"line":217,"column":15}},"67":{"start":{"line":212,"column":16},"end":{"line":216,"column":18}},"68":{"start":{"line":219,"column":14},"end":{"line":225,"column":15}},"69":{"start":{"line":220,"column":16},"end":{"line":224,"column":18}},"70":{"start":{"line":227,"column":14},"end":{"line":232,"column":16}},"71":{"start":{"line":234,"column":12},"end":{"line":234,"column":24}},"72":{"start":{"line":237,"column":13},"end":{"line":267,"column":7}},"73":{"start":{"line":238,"column":21},"end":{"line":238,"column":55}},"74":{"start":{"line":239,"column":8},"end":{"line":263,"column":9}},"75":{"start":{"line":240,"column":25},"end":{"line":240,"column":64}},"76":{"start":{"line":241,"column":10},"end":{"line":262,"column":12}},"77":{"start":{"line":255,"column":14},"end":{"line":255,"column":67}},"78":{"start":{"line":256,"column":101},"end":{"line":261,"column":13}},"79":{"start":{"line":264,"column":8},"end":{"line":266,"column":10}},"80":{"start":{"line":269,"column":6},"end":{"line":269,"column":16}},"81":{"start":{"line":272,"column":6},"end":{"line":272,"column":32}},"82":{"start":{"line":273,"column":6},"end":{"line":273,"column":16}},"83":{"start":{"line":278,"column":21},"end":{"line":291,"column":6}},"84":{"start":{"line":292,"column":4},"end":{"line":292,"column":22}},"85":{"start":{"line":296,"column":4},"end":{"line":340,"column":5}},"86":{"start":{"line":297,"column":23},"end":{"line":302,"column":8}},"87":{"start":{"line":304,"column":6},"end":{"line":335,"column":7}},"88":{"start":{"line":305,"column":38},"end":{"line":313,"column":10}},"89":{"start":{"line":308,"column":45},"end":{"line":312,"column":11}},"90":{"start":{"line":315,"column":8},"end":{"line":334,"column":9}},"91":{"start":{"line":316,"column":31},"end":{"line":321,"column":12}},"92":{"start":{"line":323,"column":10},"end":{"line":333,"column":11}},"93":{"start":{"line":324,"column":30},"end":{"line":328,"column":14}},"94":{"start":{"line":325,"column":14},"end":{"line":325,"column":42}},"95":{"start":{"line":327,"column":14},"end":{"line":327,"column":67}},"96":{"start":{"line":330,"column":34},"end":{"line":331,"column":95}},"97":{"start":{"line":330,"column":65},"end":{"line":330,"column":166}},"98":{"start":{"line":330,"column":104},"end":{"line":330,"column":165}},"99":{"start":{"line":331,"column":38},"end":{"line":331,"column":93}},"100":{"start":{"line":332,"column":12},"end":{"line":332,"column":114}},"101":{"start":{"line":337,"column":6},"end":{"line":337,"column":87}},"102":{"start":{"line":339,"column":6},"end":{"line":339,"column":87}},"103":{"start":{"line":344,"column":4},"end":{"line":363,"column":5}},"104":{"start":{"line":345,"column":29},"end":{"line":345,"column":68}},"105":{"start":{"line":346,"column":23},"end":{"line":352,"column":8}},"106":{"start":{"line":354,"column":6},"end":{"line":357,"column":7}},"107":{"start":{"line":355,"column":29},"end":{"line":355,"column":78}},"108":{"start":{"line":356,"column":8},"end":{"line":356,"column":28}},"109":{"start":{"line":358,"column":6},"end":{"line":358,"column":31}},"110":{"start":{"line":361,"column":6},"end":{"line":361,"column":32}},"111":{"start":{"line":362,"column":6},"end":{"line":362,"column":16}}},"fnMap":{"0":{"name":"getTreeMode","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":27}},"loc":{"start":{"line":31,"column":59},"end":{"line":38,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":3}},"loc":{"start":{"line":54,"column":4},"end":{"line":66,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":68,"column":2},"end":{"line":68,"column":3}},"loc":{"start":{"line":68,"column":30},"end":{"line":75,"column":3}},"line":68},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":52},"end":{"line":110,"column":3}},"line":77},"4":{"name":"(anonymous_4)","decl":{"start":{"line":82,"column":36},"end":{"line":82,"column":37}},"loc":{"start":{"line":82,"column":47},"end":{"line":82,"column":73}},"line":82},"5":{"name":"(anonymous_5)","decl":{"start":{"line":98,"column":62},"end":{"line":98,"column":63}},"loc":{"start":{"line":98,"column":72},"end":{"line":98,"column":90}},"line":98},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":3}},"loc":{"start":{"line":112,"column":31},"end":{"line":115,"column":3}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":25},"end":{"line":114,"column":26}},"loc":{"start":{"line":114,"column":37},"end":{"line":114,"column":48}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":117,"column":2},"end":{"line":117,"column":3}},"loc":{"start":{"line":117,"column":61},"end":{"line":135,"column":3}},"line":117},"9":{"name":"(anonymous_9)","decl":{"start":{"line":137,"column":2},"end":{"line":137,"column":3}},"loc":{"start":{"line":137,"column":44},"end":{"line":152,"column":3}},"line":137},"10":{"name":"(anonymous_10)","decl":{"start":{"line":154,"column":2},"end":{"line":154,"column":3}},"loc":{"start":{"line":154,"column":90},"end":{"line":275,"column":3}},"line":154},"11":{"name":"(anonymous_11)","decl":{"start":{"line":180,"column":58},"end":{"line":180,"column":59}},"loc":{"start":{"line":181,"column":12},"end":{"line":181,"column":40}},"line":181},"12":{"name":"(anonymous_12)","decl":{"start":{"line":182,"column":18},"end":{"line":182,"column":19}},"loc":{"start":{"line":183,"column":12},"end":{"line":183,"column":65}},"line":183},"13":{"name":"(anonymous_13)","decl":{"start":{"line":185,"column":67},"end":{"line":185,"column":68}},"loc":{"start":{"line":186,"column":12},"end":{"line":196,"column":38}},"line":186},"14":{"name":"(anonymous_14)","decl":{"start":{"line":198,"column":77},"end":{"line":198,"column":78}},"loc":{"start":{"line":198,"column":101},"end":{"line":235,"column":11}},"line":198},"15":{"name":"(anonymous_15)","decl":{"start":{"line":254,"column":46},"end":{"line":254,"column":47}},"loc":{"start":{"line":255,"column":14},"end":{"line":255,"column":67}},"line":255},"16":{"name":"(anonymous_16)","decl":{"start":{"line":256,"column":78},"end":{"line":256,"column":79}},"loc":{"start":{"line":256,"column":101},"end":{"line":261,"column":13}},"line":256},"17":{"name":"(anonymous_17)","decl":{"start":{"line":277,"column":2},"end":{"line":277,"column":3}},"loc":{"start":{"line":277,"column":206},"end":{"line":293,"column":3}},"line":277},"18":{"name":"(anonymous_18)","decl":{"start":{"line":295,"column":2},"end":{"line":295,"column":3}},"loc":{"start":{"line":295,"column":146},"end":{"line":341,"column":3}},"line":295},"19":{"name":"(anonymous_19)","decl":{"start":{"line":308,"column":34},"end":{"line":308,"column":35}},"loc":{"start":{"line":308,"column":45},"end":{"line":312,"column":11}},"line":308},"20":{"name":"(anonymous_20)","decl":{"start":{"line":324,"column":60},"end":{"line":324,"column":61}},"loc":{"start":{"line":325,"column":14},"end":{"line":325,"column":42}},"line":325},"21":{"name":"(anonymous_21)","decl":{"start":{"line":326,"column":20},"end":{"line":326,"column":21}},"loc":{"start":{"line":327,"column":14},"end":{"line":327,"column":67}},"line":327},"22":{"name":"(anonymous_22)","decl":{"start":{"line":330,"column":51},"end":{"line":330,"column":52}},"loc":{"start":{"line":330,"column":65},"end":{"line":330,"column":166}},"line":330},"23":{"name":"(anonymous_23)","decl":{"start":{"line":330,"column":94},"end":{"line":330,"column":95}},"loc":{"start":{"line":330,"column":104},"end":{"line":330,"column":165}},"line":330},"24":{"name":"(anonymous_24)","decl":{"start":{"line":331,"column":19},"end":{"line":331,"column":20}},"loc":{"start":{"line":331,"column":38},"end":{"line":331,"column":93}},"line":331},"25":{"name":"(anonymous_25)","decl":{"start":{"line":343,"column":2},"end":{"line":343,"column":3}},"loc":{"start":{"line":343,"column":47},"end":{"line":364,"column":3}},"line":343}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},"type":"switch","locations":[{"start":{"line":33,"column":4},"end":{"line":34,"column":22}},{"start":{"line":35,"column":4},"end":{"line":36,"column":22}}],"line":32},"1":{"loc":{"start":{"line":64,"column":15},"end":{"line":64,"column":40}},"type":"binary-expr","locations":[{"start":{"line":64,"column":15},"end":{"line":64,"column":27}},{"start":{"line":64,"column":31},"end":{"line":64,"column":40}}],"line":64},"2":{"loc":{"start":{"line":80,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":80},"3":{"loc":{"start":{"line":83,"column":6},"end":{"line":83,"column":71}},"type":"if","locations":[{"start":{"line":83,"column":6},"end":{"line":83,"column":71}},{"start":{},"end":{}}],"line":83},"4":{"loc":{"start":{"line":88,"column":19},"end":{"line":88,"column":81}},"type":"cond-expr","locations":[{"start":{"line":88,"column":40},"end":{"line":88,"column":76}},{"start":{"line":88,"column":79},"end":{"line":88,"column":81}}],"line":88},"5":{"loc":{"start":{"line":97,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":97,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":97},"6":{"loc":{"start":{"line":99,"column":6},"end":{"line":99,"column":75}},"type":"if","locations":[{"start":{"line":99,"column":6},"end":{"line":99,"column":75}},{"start":{},"end":{}}],"line":99},"7":{"loc":{"start":{"line":105,"column":4},"end":{"line":107,"column":5}},"type":"if","locations":[{"start":{"line":105,"column":4},"end":{"line":107,"column":5}},{"start":{},"end":{}}],"line":105},"8":{"loc":{"start":{"line":119,"column":33},"end":{"line":119,"column":54}},"type":"binary-expr","locations":[{"start":{"line":119,"column":33},"end":{"line":119,"column":39}},{"start":{"line":119,"column":43},"end":{"line":119,"column":54}}],"line":119},"9":{"loc":{"start":{"line":138,"column":4},"end":{"line":138,"column":83}},"type":"if","locations":[{"start":{"line":138,"column":4},"end":{"line":138,"column":83}},{"start":{},"end":{}}],"line":138},"10":{"loc":{"start":{"line":138,"column":8},"end":{"line":138,"column":68}},"type":"binary-expr","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":36}},{"start":{"line":138,"column":40},"end":{"line":138,"column":68}}],"line":138},"11":{"loc":{"start":{"line":140,"column":4},"end":{"line":140,"column":46}},"type":"if","locations":[{"start":{"line":140,"column":4},"end":{"line":140,"column":46}},{"start":{},"end":{}}],"line":140},"12":{"loc":{"start":{"line":170,"column":6},"end":{"line":267,"column":7}},"type":"if","locations":[{"start":{"line":170,"column":6},"end":{"line":267,"column":7}},{"start":{"line":237,"column":13},"end":{"line":267,"column":7}}],"line":170},"13":{"loc":{"start":{"line":179,"column":8},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":236,"column":9}},{"start":{},"end":{}}],"line":179},"14":{"loc":{"start":{"line":179,"column":12},"end":{"line":179,"column":61}},"type":"binary-expr","locations":[{"start":{"line":179,"column":12},"end":{"line":179,"column":24}},{"start":{"line":179,"column":28},"end":{"line":179,"column":61}}],"line":179},"15":{"loc":{"start":{"line":183,"column":12},"end":{"line":183,"column":65}},"type":"cond-expr","locations":[{"start":{"line":183,"column":33},"end":{"line":183,"column":61}},{"start":{"line":183,"column":64},"end":{"line":183,"column":65}}],"line":183},"16":{"loc":{"start":{"line":183,"column":13},"end":{"line":183,"column":29}},"type":"binary-expr","locations":[{"start":{"line":183,"column":13},"end":{"line":183,"column":19}},{"start":{"line":183,"column":23},"end":{"line":183,"column":29}}],"line":183},"17":{"loc":{"start":{"line":186,"column":12},"end":{"line":196,"column":38}},"type":"cond-expr","locations":[{"start":{"line":186,"column":28},"end":{"line":196,"column":14}},{"start":{"line":196,"column":17},"end":{"line":196,"column":38}}],"line":186},"18":{"loc":{"start":{"line":189,"column":20},"end":{"line":189,"column":115}},"type":"cond-expr","locations":[{"start":{"line":189,"column":63},"end":{"line":189,"column":76}},{"start":{"line":189,"column":79},"end":{"line":189,"column":115}}],"line":189},"19":{"loc":{"start":{"line":200,"column":12},"end":{"line":233,"column":13}},"type":"if","locations":[{"start":{"line":200,"column":12},"end":{"line":233,"column":13}},{"start":{},"end":{}}],"line":200},"20":{"loc":{"start":{"line":201,"column":14},"end":{"line":203,"column":50}},"type":"binary-expr","locations":[{"start":{"line":201,"column":14},"end":{"line":201,"column":18}},{"start":{"line":202,"column":17},"end":{"line":202,"column":34}},{"start":{"line":203,"column":17},"end":{"line":203,"column":50}}],"line":201},"21":{"loc":{"start":{"line":205,"column":31},"end":{"line":205,"column":99}},"type":"cond-expr","locations":[{"start":{"line":205,"column":65},"end":{"line":205,"column":69}},{"start":{"line":205,"column":72},"end":{"line":205,"column":99}}],"line":205},"22":{"loc":{"start":{"line":211,"column":14},"end":{"line":217,"column":15}},"type":"if","locations":[{"start":{"line":211,"column":14},"end":{"line":217,"column":15}},{"start":{},"end":{}}],"line":211},"23":{"loc":{"start":{"line":219,"column":14},"end":{"line":225,"column":15}},"type":"if","locations":[{"start":{"line":219,"column":14},"end":{"line":225,"column":15}},{"start":{},"end":{}}],"line":219},"24":{"loc":{"start":{"line":237,"column":13},"end":{"line":267,"column":7}},"type":"if","locations":[{"start":{"line":237,"column":13},"end":{"line":267,"column":7}},{"start":{},"end":{}}],"line":237},"25":{"loc":{"start":{"line":239,"column":8},"end":{"line":263,"column":9}},"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":263,"column":9}},{"start":{},"end":{}}],"line":239},"26":{"loc":{"start":{"line":245,"column":20},"end":{"line":245,"column":40}},"type":"binary-expr","locations":[{"start":{"line":245,"column":20},"end":{"line":245,"column":34}},{"start":{"line":245,"column":38},"end":{"line":245,"column":40}}],"line":245},"27":{"loc":{"start":{"line":247,"column":16},"end":{"line":253,"column":18}},"type":"cond-expr","locations":[{"start":{"line":247,"column":35},"end":{"line":253,"column":13}},{"start":{"line":253,"column":16},"end":{"line":253,"column":18}}],"line":247},"28":{"loc":{"start":{"line":304,"column":6},"end":{"line":335,"column":7}},"type":"if","locations":[{"start":{"line":304,"column":6},"end":{"line":335,"column":7}},{"start":{},"end":{}}],"line":304},"29":{"loc":{"start":{"line":315,"column":8},"end":{"line":334,"column":9}},"type":"if","locations":[{"start":{"line":315,"column":8},"end":{"line":334,"column":9}},{"start":{},"end":{}}],"line":315},"30":{"loc":{"start":{"line":323,"column":10},"end":{"line":333,"column":11}},"type":"if","locations":[{"start":{"line":323,"column":10},"end":{"line":333,"column":11}},{"start":{},"end":{}}],"line":323},"31":{"loc":{"start":{"line":327,"column":14},"end":{"line":327,"column":67}},"type":"cond-expr","locations":[{"start":{"line":327,"column":35},"end":{"line":327,"column":63}},{"start":{"line":327,"column":66},"end":{"line":327,"column":67}}],"line":327},"32":{"loc":{"start":{"line":327,"column":15},"end":{"line":327,"column":31}},"type":"binary-expr","locations":[{"start":{"line":327,"column":15},"end":{"line":327,"column":21}},{"start":{"line":327,"column":25},"end":{"line":327,"column":31}}],"line":327},"33":{"loc":{"start":{"line":330,"column":104},"end":{"line":330,"column":165}},"type":"binary-expr","locations":[{"start":{"line":330,"column":104},"end":{"line":330,"column":117}},{"start":{"line":330,"column":121},"end":{"line":330,"column":165}}],"line":330},"34":{"loc":{"start":{"line":331,"column":38},"end":{"line":331,"column":93}},"type":"binary-expr","locations":[{"start":{"line":331,"column":38},"end":{"line":331,"column":87}},{"start":{"line":331,"column":91},"end":{"line":331,"column":93}}],"line":331},"35":{"loc":{"start":{"line":354,"column":6},"end":{"line":357,"column":7}},"type":"if","locations":[{"start":{"line":354,"column":6},"end":{"line":357,"column":7}},{"start":{},"end":{}}],"line":354}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitlabTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitlabTokenStorage.ts","statementMap":{"0":{"start":{"line":25,"column":39},"end":{"line":25,"column":43}},"1":{"start":{"line":27,"column":37},"end":{"line":27,"column":41}},"2":{"start":{"line":45,"column":4},"end":{"line":45,"column":43}},"3":{"start":{"line":47,"column":4},"end":{"line":47,"column":55}},"4":{"start":{"line":48,"column":4},"end":{"line":51,"column":7}},"5":{"start":{"line":52,"column":4},"end":{"line":52,"column":25}},"6":{"start":{"line":53,"column":4},"end":{"line":53,"column":53}},"7":{"start":{"line":57,"column":21},"end":{"line":61,"column":6}},"8":{"start":{"line":62,"column":4},"end":{"line":68,"column":5}},"9":{"start":{"line":63,"column":22},"end":{"line":63,"column":101}},"10":{"start":{"line":63,"column":45},"end":{"line":63,"column":97}},"11":{"start":{"line":64,"column":6},"end":{"line":67,"column":7}},"12":{"start":{"line":65,"column":8},"end":{"line":65,"column":36}},"13":{"start":{"line":66,"column":8},"end":{"line":66,"column":44}},"14":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"15":{"start":{"line":71,"column":6},"end":{"line":71,"column":48}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":16}},"17":{"start":{"line":77,"column":4},"end":{"line":77,"column":68}},"18":{"start":{"line":77,"column":25},"end":{"line":77,"column":68}},"19":{"start":{"line":78,"column":21},"end":{"line":78,"column":73}},"20":{"start":{"line":79,"column":4},"end":{"line":79,"column":49}},"21":{"start":{"line":79,"column":36},"end":{"line":79,"column":47}},"22":{"start":{"line":83,"column":4},"end":{"line":83,"column":68}},"23":{"start":{"line":83,"column":25},"end":{"line":83,"column":68}},"24":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"25":{"start":{"line":85,"column":23},"end":{"line":89,"column":7}},"26":{"start":{"line":90,"column":6},"end":{"line":90,"column":29}},"27":{"start":{"line":92,"column":6},"end":{"line":92,"column":25}},"28":{"start":{"line":93,"column":6},"end":{"line":93,"column":19}},"29":{"start":{"line":98,"column":4},"end":{"line":98,"column":83}},"30":{"start":{"line":98,"column":70},"end":{"line":98,"column":83}},"31":{"start":{"line":99,"column":4},"end":{"line":99,"column":68}},"32":{"start":{"line":99,"column":25},"end":{"line":99,"column":68}},"33":{"start":{"line":101,"column":24},"end":{"line":101,"column":71}},"34":{"start":{"line":102,"column":4},"end":{"line":110,"column":5}},"35":{"start":{"line":103,"column":6},"end":{"line":103,"column":71}},"36":{"start":{"line":103,"column":58},"end":{"line":103,"column":71}},"37":{"start":{"line":104,"column":32},"end":{"line":106,"column":8}},"38":{"start":{"line":107,"column":6},"end":{"line":107,"column":94}},"39":{"start":{"line":109,"column":6},"end":{"line":109,"column":23}},"40":{"start":{"line":111,"column":4},"end":{"line":111,"column":17}},"41":{"start":{"line":115,"column":18},"end":{"line":119,"column":6}},"42":{"start":{"line":121,"column":45},"end":{"line":121,"column":47}},"43":{"start":{"line":122,"column":24},"end":{"line":127,"column":10}},"44":{"start":{"line":123,"column":18},"end":{"line":123,"column":68}},"45":{"start":{"line":124,"column":6},"end":{"line":124,"column":35}},"46":{"start":{"line":124,"column":21},"end":{"line":124,"column":35}},"47":{"start":{"line":125,"column":6},"end":{"line":125,"column":31}},"48":{"start":{"line":126,"column":6},"end":{"line":126,"column":17}},"49":{"start":{"line":129,"column":4},"end":{"line":137,"column":5}},"50":{"start":{"line":130,"column":25},"end":{"line":130,"column":72}},"51":{"start":{"line":130,"column":46},"end":{"line":130,"column":71}},"52":{"start":{"line":131,"column":28},"end":{"line":131,"column":76}},"53":{"start":{"line":131,"column":49},"end":{"line":131,"column":75}},"54":{"start":{"line":133,"column":6},"end":{"line":136,"column":7}},"55":{"start":{"line":134,"column":28},"end":{"line":134,"column":45}},"56":{"start":{"line":135,"column":8},"end":{"line":135,"column":75}},"57":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"58":{"start":{"line":140,"column":6},"end":{"line":149,"column":7}},"59":{"start":{"line":141,"column":8},"end":{"line":146,"column":10}},"60":{"start":{"line":148,"column":8},"end":{"line":148,"column":61}},"61":{"start":{"line":154,"column":4},"end":{"line":154,"column":63}},"62":{"start":{"line":154,"column":25},"end":{"line":154,"column":63}},"63":{"start":{"line":156,"column":4},"end":{"line":241,"column":5}},"64":{"start":{"line":157,"column":6},"end":{"line":206,"column":7}},"65":{"start":{"line":158,"column":22},"end":{"line":162,"column":10}},"66":{"start":{"line":164,"column":26},"end":{"line":168,"column":10}},"67":{"start":{"line":165,"column":10},"end":{"line":165,"column":37}},"68":{"start":{"line":167,"column":10},"end":{"line":167,"column":63}},"69":{"start":{"line":170,"column":33},"end":{"line":172,"column":11}},"70":{"start":{"line":171,"column":10},"end":{"line":171,"column":96}},"71":{"start":{"line":174,"column":8},"end":{"line":205,"column":12}},"72":{"start":{"line":175,"column":27},"end":{"line":175,"column":43}},"73":{"start":{"line":176,"column":10},"end":{"line":202,"column":11}},"74":{"start":{"line":177,"column":25},"end":{"line":177,"column":111}},"75":{"start":{"line":178,"column":27},"end":{"line":178,"column":72}},"76":{"start":{"line":180,"column":12},"end":{"line":186,"column":13}},"77":{"start":{"line":181,"column":14},"end":{"line":185,"column":16}},"78":{"start":{"line":188,"column":12},"end":{"line":194,"column":13}},"79":{"start":{"line":189,"column":14},"end":{"line":193,"column":16}},"80":{"start":{"line":196,"column":12},"end":{"line":201,"column":14}},"81":{"start":{"line":204,"column":10},"end":{"line":204,"column":22}},"82":{"start":{"line":208,"column":19},"end":{"line":208,"column":106}},"83":{"start":{"line":209,"column":25},"end":{"line":209,"column":76}},"84":{"start":{"line":211,"column":6},"end":{"line":235,"column":7}},"85":{"start":{"line":212,"column":23},"end":{"line":212,"column":68}},"86":{"start":{"line":213,"column":8},"end":{"line":234,"column":10}},"87":{"start":{"line":227,"column":12},"end":{"line":227,"column":65}},"88":{"start":{"line":228,"column":99},"end":{"line":233,"column":11}},"89":{"start":{"line":236,"column":6},"end":{"line":238,"column":8}},"90":{"start":{"line":240,"column":6},"end":{"line":240,"column":25}},"91":{"start":{"line":242,"column":4},"end":{"line":242,"column":14}},"92":{"start":{"line":246,"column":4},"end":{"line":246,"column":63}},"93":{"start":{"line":246,"column":25},"end":{"line":246,"column":63}},"94":{"start":{"line":248,"column":21},"end":{"line":248,"column":47}},"95":{"start":{"line":249,"column":21},"end":{"line":249,"column":106}},"96":{"start":{"line":250,"column":25},"end":{"line":250,"column":90}},"97":{"start":{"line":252,"column":4},"end":{"line":255,"column":5}},"98":{"start":{"line":253,"column":27},"end":{"line":253,"column":67}},"99":{"start":{"line":254,"column":6},"end":{"line":254,"column":52}},"100":{"start":{"line":257,"column":17},"end":{"line":261,"column":6}},"101":{"start":{"line":263,"column":4},"end":{"line":276,"column":5}},"102":{"start":{"line":265,"column":6},"end":{"line":273,"column":7}},"103":{"start":{"line":266,"column":8},"end":{"line":272,"column":10}},"104":{"start":{"line":275,"column":6},"end":{"line":275,"column":52}},"105":{"start":{"line":278,"column":40},"end":{"line":281,"column":6}},"106":{"start":{"line":279,"column":21},"end":{"line":279,"column":86}},"107":{"start":{"line":279,"column":41},"end":{"line":279,"column":63}},"108":{"start":{"line":280,"column":6},"end":{"line":280,"column":43}},"109":{"start":{"line":284,"column":22},"end":{"line":286,"column":31}},"110":{"start":{"line":285,"column":24},"end":{"line":285,"column":51}},"111":{"start":{"line":286,"column":21},"end":{"line":286,"column":30}},"112":{"start":{"line":288,"column":26},"end":{"line":290,"column":5}},"113":{"start":{"line":289,"column":20},"end":{"line":289,"column":77}},"114":{"start":{"line":289,"column":59},"end":{"line":289,"column":76}},"115":{"start":{"line":292,"column":4},"end":{"line":299,"column":5}},"116":{"start":{"line":293,"column":6},"end":{"line":298,"column":8}},"117":{"start":{"line":294,"column":41},"end":{"line":297,"column":9}},"118":{"start":{"line":301,"column":4},"end":{"line":313,"column":5}},"119":{"start":{"line":302,"column":6},"end":{"line":307,"column":8}},"120":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"121":{"start":{"line":310,"column":8},"end":{"line":310,"column":77}},"122":{"start":{"line":312,"column":6},"end":{"line":312,"column":25}},"123":{"start":{"line":315,"column":4},"end":{"line":317,"column":5}},"124":{"start":{"line":316,"column":6},"end":{"line":316,"column":64}},"125":{"start":{"line":318,"column":4},"end":{"line":318,"column":16}},"126":{"start":{"line":322,"column":4},"end":{"line":322,"column":63}},"127":{"start":{"line":322,"column":25},"end":{"line":322,"column":63}},"128":{"start":{"line":324,"column":4},"end":{"line":349,"column":5}},"129":{"start":{"line":325,"column":6},"end":{"line":341,"column":7}},"130":{"start":{"line":326,"column":22},"end":{"line":330,"column":10}},"131":{"start":{"line":331,"column":26},"end":{"line":335,"column":10}},"132":{"start":{"line":332,"column":10},"end":{"line":332,"column":37}},"133":{"start":{"line":334,"column":10},"end":{"line":334,"column":63}},"134":{"start":{"line":337,"column":21},"end":{"line":337,"column":114}},"135":{"start":{"line":338,"column":23},"end":{"line":338,"column":102}},"136":{"start":{"line":339,"column":30},"end":{"line":339,"column":79}},"137":{"start":{"line":340,"column":8},"end":{"line":340,"column":37}},"138":{"start":{"line":342,"column":19},"end":{"line":342,"column":103}},"139":{"start":{"line":343,"column":21},"end":{"line":343,"column":100}},"140":{"start":{"line":344,"column":28},"end":{"line":344,"column":77}},"141":{"start":{"line":345,"column":6},"end":{"line":345,"column":35}},"142":{"start":{"line":347,"column":6},"end":{"line":347,"column":32}},"143":{"start":{"line":348,"column":6},"end":{"line":348,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":37,"column":2},"end":{"line":37,"column":3}},"loc":{"start":{"line":44,"column":4},"end":{"line":54,"column":3}},"line":44},"1":{"name":"(anonymous_1)","decl":{"start":{"line":56,"column":2},"end":{"line":56,"column":3}},"loc":{"start":{"line":56,"column":33},"end":{"line":74,"column":3}},"line":56},"2":{"name":"(anonymous_2)","decl":{"start":{"line":63,"column":38},"end":{"line":63,"column":39}},"loc":{"start":{"line":63,"column":45},"end":{"line":63,"column":97}},"line":63},"3":{"name":"(anonymous_3)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":31},"end":{"line":80,"column":3}},"line":76},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":24},"end":{"line":79,"column":25}},"loc":{"start":{"line":79,"column":36},"end":{"line":79,"column":47}},"line":79},"5":{"name":"(anonymous_5)","decl":{"start":{"line":82,"column":2},"end":{"line":82,"column":3}},"loc":{"start":{"line":82,"column":61},"end":{"line":95,"column":3}},"line":82},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":2},"end":{"line":97,"column":3}},"loc":{"start":{"line":97,"column":44},"end":{"line":112,"column":3}},"line":97},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":2},"end":{"line":114,"column":3}},"loc":{"start":{"line":114,"column":83},"end":{"line":151,"column":3}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":122,"column":37},"end":{"line":122,"column":38}},"loc":{"start":{"line":122,"column":78},"end":{"line":127,"column":5}},"line":122},"9":{"name":"(anonymous_9)","decl":{"start":{"line":130,"column":36},"end":{"line":130,"column":37}},"loc":{"start":{"line":130,"column":46},"end":{"line":130,"column":71}},"line":130},"10":{"name":"(anonymous_10)","decl":{"start":{"line":131,"column":39},"end":{"line":131,"column":40}},"loc":{"start":{"line":131,"column":49},"end":{"line":131,"column":75}},"line":131},"11":{"name":"(anonymous_11)","decl":{"start":{"line":153,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":153,"column":90},"end":{"line":243,"column":3}},"line":153},"12":{"name":"(anonymous_12)","decl":{"start":{"line":164,"column":39},"end":{"line":164,"column":40}},"loc":{"start":{"line":165,"column":10},"end":{"line":165,"column":37}},"line":165},"13":{"name":"(anonymous_13)","decl":{"start":{"line":166,"column":16},"end":{"line":166,"column":17}},"loc":{"start":{"line":167,"column":10},"end":{"line":167,"column":63}},"line":167},"14":{"name":"(anonymous_14)","decl":{"start":{"line":170,"column":65},"end":{"line":170,"column":66}},"loc":{"start":{"line":171,"column":10},"end":{"line":171,"column":96}},"line":171},"15":{"name":"(anonymous_15)","decl":{"start":{"line":174,"column":75},"end":{"line":174,"column":76}},"loc":{"start":{"line":174,"column":99},"end":{"line":205,"column":9}},"line":174},"16":{"name":"(anonymous_16)","decl":{"start":{"line":226,"column":44},"end":{"line":226,"column":45}},"loc":{"start":{"line":227,"column":12},"end":{"line":227,"column":65}},"line":227},"17":{"name":"(anonymous_17)","decl":{"start":{"line":228,"column":76},"end":{"line":228,"column":77}},"loc":{"start":{"line":228,"column":99},"end":{"line":233,"column":11}},"line":228},"18":{"name":"(anonymous_18)","decl":{"start":{"line":245,"column":2},"end":{"line":245,"column":3}},"loc":{"start":{"line":245,"column":146},"end":{"line":319,"column":3}},"line":245},"19":{"name":"(anonymous_19)","decl":{"start":{"line":278,"column":70},"end":{"line":278,"column":71}},"loc":{"start":{"line":278,"column":95},"end":{"line":281,"column":5}},"line":278},"20":{"name":"(anonymous_20)","decl":{"start":{"line":279,"column":31},"end":{"line":279,"column":32}},"loc":{"start":{"line":279,"column":41},"end":{"line":279,"column":63}},"line":279},"21":{"name":"(anonymous_21)","decl":{"start":{"line":285,"column":14},"end":{"line":285,"column":15}},"loc":{"start":{"line":285,"column":24},"end":{"line":285,"column":51}},"line":285},"22":{"name":"(anonymous_22)","decl":{"start":{"line":286,"column":11},"end":{"line":286,"column":12}},"loc":{"start":{"line":286,"column":21},"end":{"line":286,"column":30}},"line":286},"23":{"name":"(anonymous_23)","decl":{"start":{"line":289,"column":6},"end":{"line":289,"column":7}},"loc":{"start":{"line":289,"column":20},"end":{"line":289,"column":77}},"line":289},"24":{"name":"(anonymous_24)","decl":{"start":{"line":289,"column":49},"end":{"line":289,"column":50}},"loc":{"start":{"line":289,"column":59},"end":{"line":289,"column":76}},"line":289},"25":{"name":"(anonymous_25)","decl":{"start":{"line":294,"column":26},"end":{"line":294,"column":27}},"loc":{"start":{"line":294,"column":41},"end":{"line":297,"column":9}},"line":294},"26":{"name":"(anonymous_26)","decl":{"start":{"line":321,"column":2},"end":{"line":321,"column":3}},"loc":{"start":{"line":321,"column":59},"end":{"line":350,"column":3}},"line":321},"27":{"name":"(anonymous_27)","decl":{"start":{"line":331,"column":39},"end":{"line":331,"column":40}},"loc":{"start":{"line":332,"column":10},"end":{"line":332,"column":37}},"line":332},"28":{"name":"(anonymous_28)","decl":{"start":{"line":333,"column":16},"end":{"line":333,"column":17}},"loc":{"start":{"line":334,"column":10},"end":{"line":334,"column":63}},"line":334}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":19}},"type":"default-arg","locations":[{"start":{"line":42,"column":13},"end":{"line":42,"column":19}}],"line":42},"1":{"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":33}},"type":"default-arg","locations":[{"start":{"line":43,"column":27},"end":{"line":43,"column":33}}],"line":43},"2":{"loc":{"start":{"line":50,"column":12},"end":{"line":50,"column":37}},"type":"binary-expr","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":37}}],"line":50},"3":{"loc":{"start":{"line":62,"column":4},"end":{"line":68,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":68,"column":5}},{"start":{},"end":{}}],"line":62},"4":{"loc":{"start":{"line":64,"column":6},"end":{"line":67,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":67,"column":7}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":70},"6":{"loc":{"start":{"line":77,"column":4},"end":{"line":77,"column":68}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":77,"column":68}},{"start":{},"end":{}}],"line":77},"7":{"loc":{"start":{"line":83,"column":4},"end":{"line":83,"column":68}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":68}},{"start":{},"end":{}}],"line":83},"8":{"loc":{"start":{"line":88,"column":17},"end":{"line":88,"column":38}},"type":"binary-expr","locations":[{"start":{"line":88,"column":17},"end":{"line":88,"column":23}},{"start":{"line":88,"column":27},"end":{"line":88,"column":38}}],"line":88},"9":{"loc":{"start":{"line":98,"column":4},"end":{"line":98,"column":83}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":98,"column":83}},{"start":{},"end":{}}],"line":98},"10":{"loc":{"start":{"line":98,"column":8},"end":{"line":98,"column":68}},"type":"binary-expr","locations":[{"start":{"line":98,"column":8},"end":{"line":98,"column":36}},{"start":{"line":98,"column":40},"end":{"line":98,"column":68}}],"line":98},"11":{"loc":{"start":{"line":99,"column":4},"end":{"line":99,"column":68}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":99,"column":68}},{"start":{},"end":{}}],"line":99},"12":{"loc":{"start":{"line":103,"column":6},"end":{"line":103,"column":71}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":103,"column":71}},{"start":{},"end":{}}],"line":103},"13":{"loc":{"start":{"line":103,"column":10},"end":{"line":103,"column":56}},"type":"binary-expr","locations":[{"start":{"line":103,"column":10},"end":{"line":103,"column":22}},{"start":{"line":103,"column":26},"end":{"line":103,"column":56}}],"line":103},"14":{"loc":{"start":{"line":124,"column":6},"end":{"line":124,"column":35}},"type":"if","locations":[{"start":{"line":124,"column":6},"end":{"line":124,"column":35}},{"start":{},"end":{}}],"line":124},"15":{"loc":{"start":{"line":133,"column":6},"end":{"line":136,"column":7}},"type":"if","locations":[{"start":{"line":133,"column":6},"end":{"line":136,"column":7}},{"start":{},"end":{}}],"line":133},"16":{"loc":{"start":{"line":133,"column":10},"end":{"line":133,"column":37}},"type":"binary-expr","locations":[{"start":{"line":133,"column":10},"end":{"line":133,"column":20}},{"start":{"line":133,"column":24},"end":{"line":133,"column":37}}],"line":133},"17":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{},"end":{}}],"line":139},"18":{"loc":{"start":{"line":154,"column":4},"end":{"line":154,"column":63}},"type":"if","locations":[{"start":{"line":154,"column":4},"end":{"line":154,"column":63}},{"start":{},"end":{}}],"line":154},"19":{"loc":{"start":{"line":157,"column":6},"end":{"line":206,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":206,"column":7}},{"start":{},"end":{}}],"line":157},"20":{"loc":{"start":{"line":167,"column":10},"end":{"line":167,"column":63}},"type":"cond-expr","locations":[{"start":{"line":167,"column":31},"end":{"line":167,"column":59}},{"start":{"line":167,"column":62},"end":{"line":167,"column":63}}],"line":167},"21":{"loc":{"start":{"line":167,"column":11},"end":{"line":167,"column":27}},"type":"binary-expr","locations":[{"start":{"line":167,"column":11},"end":{"line":167,"column":17}},{"start":{"line":167,"column":21},"end":{"line":167,"column":27}}],"line":167},"22":{"loc":{"start":{"line":176,"column":10},"end":{"line":202,"column":11}},"type":"if","locations":[{"start":{"line":176,"column":10},"end":{"line":202,"column":11}},{"start":{},"end":{}}],"line":176},"23":{"loc":{"start":{"line":176,"column":14},"end":{"line":176,"column":74}},"type":"binary-expr","locations":[{"start":{"line":176,"column":14},"end":{"line":176,"column":45}},{"start":{"line":176,"column":49},"end":{"line":176,"column":74}}],"line":176},"24":{"loc":{"start":{"line":180,"column":12},"end":{"line":186,"column":13}},"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":186,"column":13}},{"start":{},"end":{}}],"line":180},"25":{"loc":{"start":{"line":188,"column":12},"end":{"line":194,"column":13}},"type":"if","locations":[{"start":{"line":188,"column":12},"end":{"line":194,"column":13}},{"start":{},"end":{}}],"line":188},"26":{"loc":{"start":{"line":209,"column":25},"end":{"line":209,"column":76}},"type":"cond-expr","locations":[{"start":{"line":209,"column":52},"end":{"line":209,"column":56}},{"start":{"line":209,"column":59},"end":{"line":209,"column":76}}],"line":209},"27":{"loc":{"start":{"line":211,"column":6},"end":{"line":235,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":6},"end":{"line":235,"column":7}},{"start":{},"end":{}}],"line":211},"28":{"loc":{"start":{"line":217,"column":18},"end":{"line":217,"column":38}},"type":"binary-expr","locations":[{"start":{"line":217,"column":18},"end":{"line":217,"column":32}},{"start":{"line":217,"column":36},"end":{"line":217,"column":38}}],"line":217},"29":{"loc":{"start":{"line":219,"column":14},"end":{"line":225,"column":16}},"type":"cond-expr","locations":[{"start":{"line":219,"column":33},"end":{"line":225,"column":11}},{"start":{"line":225,"column":14},"end":{"line":225,"column":16}}],"line":219},"30":{"loc":{"start":{"line":246,"column":4},"end":{"line":246,"column":63}},"type":"if","locations":[{"start":{"line":246,"column":4},"end":{"line":246,"column":63}},{"start":{},"end":{}}],"line":246},"31":{"loc":{"start":{"line":249,"column":21},"end":{"line":249,"column":106}},"type":"cond-expr","locations":[{"start":{"line":249,"column":51},"end":{"line":249,"column":94}},{"start":{"line":249,"column":97},"end":{"line":249,"column":106}}],"line":249},"32":{"loc":{"start":{"line":250,"column":25},"end":{"line":250,"column":90}},"type":"cond-expr","locations":[{"start":{"line":250,"column":55},"end":{"line":250,"column":64}},{"start":{"line":250,"column":67},"end":{"line":250,"column":90}}],"line":250},"33":{"loc":{"start":{"line":252,"column":4},"end":{"line":255,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":255,"column":5}},{"start":{},"end":{}}],"line":252},"34":{"loc":{"start":{"line":252,"column":8},"end":{"line":252,"column":56}},"type":"binary-expr","locations":[{"start":{"line":252,"column":8},"end":{"line":252,"column":26}},{"start":{"line":252,"column":30},"end":{"line":252,"column":56}}],"line":252},"35":{"loc":{"start":{"line":253,"column":27},"end":{"line":253,"column":67}},"type":"binary-expr","locations":[{"start":{"line":253,"column":27},"end":{"line":253,"column":52}},{"start":{"line":253,"column":56},"end":{"line":253,"column":67}}],"line":253},"36":{"loc":{"start":{"line":265,"column":6},"end":{"line":273,"column":7}},"type":"if","locations":[{"start":{"line":265,"column":6},"end":{"line":273,"column":7}},{"start":{},"end":{}}],"line":265},"37":{"loc":{"start":{"line":279,"column":21},"end":{"line":279,"column":86}},"type":"cond-expr","locations":[{"start":{"line":279,"column":67},"end":{"line":279,"column":75}},{"start":{"line":279,"column":78},"end":{"line":279,"column":86}}],"line":279},"38":{"loc":{"start":{"line":292,"column":4},"end":{"line":299,"column":5}},"type":"if","locations":[{"start":{"line":292,"column":4},"end":{"line":299,"column":5}},{"start":{},"end":{}}],"line":292},"39":{"loc":{"start":{"line":292,"column":8},"end":{"line":292,"column":64}},"type":"binary-expr","locations":[{"start":{"line":292,"column":8},"end":{"line":292,"column":32}},{"start":{"line":292,"column":36},"end":{"line":292,"column":64}}],"line":292},"40":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{},"end":{}}],"line":309},"41":{"loc":{"start":{"line":309,"column":10},"end":{"line":309,"column":122}},"type":"binary-expr","locations":[{"start":{"line":309,"column":10},"end":{"line":309,"column":29}},{"start":{"line":309,"column":33},"end":{"line":309,"column":122}}],"line":309},"42":{"loc":{"start":{"line":315,"column":4},"end":{"line":317,"column":5}},"type":"if","locations":[{"start":{"line":315,"column":4},"end":{"line":317,"column":5}},{"start":{},"end":{}}],"line":315},"43":{"loc":{"start":{"line":322,"column":4},"end":{"line":322,"column":63}},"type":"if","locations":[{"start":{"line":322,"column":4},"end":{"line":322,"column":63}},{"start":{},"end":{}}],"line":322},"44":{"loc":{"start":{"line":325,"column":6},"end":{"line":341,"column":7}},"type":"if","locations":[{"start":{"line":325,"column":6},"end":{"line":341,"column":7}},{"start":{},"end":{}}],"line":325},"45":{"loc":{"start":{"line":334,"column":10},"end":{"line":334,"column":63}},"type":"cond-expr","locations":[{"start":{"line":334,"column":31},"end":{"line":334,"column":59}},{"start":{"line":334,"column":62},"end":{"line":334,"column":63}}],"line":334},"46":{"loc":{"start":{"line":334,"column":11},"end":{"line":334,"column":27}},"type":"binary-expr","locations":[{"start":{"line":334,"column":11},"end":{"line":334,"column":17}},{"start":{"line":334,"column":21},"end":{"line":334,"column":27}}],"line":334},"47":{"loc":{"start":{"line":339,"column":39},"end":{"line":339,"column":78}},"type":"binary-expr","locations":[{"start":{"line":339,"column":39},"end":{"line":339,"column":72}},{"start":{"line":339,"column":76},"end":{"line":339,"column":78}}],"line":339},"48":{"loc":{"start":{"line":340,"column":15},"end":{"line":340,"column":36}},"type":"binary-expr","locations":[{"start":{"line":340,"column":15},"end":{"line":340,"column":28}},{"start":{"line":340,"column":32},"end":{"line":340,"column":36}}],"line":340},"49":{"loc":{"start":{"line":344,"column":37},"end":{"line":344,"column":76}},"type":"binary-expr","locations":[{"start":{"line":344,"column":37},"end":{"line":344,"column":70}},{"start":{"line":344,"column":74},"end":{"line":344,"column":76}}],"line":344},"50":{"loc":{"start":{"line":345,"column":13},"end":{"line":345,"column":34}},"type":"binary-expr","locations":[{"start":{"line":345,"column":13},"end":{"line":345,"column":26}},{"start":{"line":345,"column":30},"end":{"line":345,"column":34}}],"line":345}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/JSONBinTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/JSONBinTokenStorage.ts","statementMap":{"0":{"start":{"line":24,"column":22},"end":{"line":27,"column":2}},"1":{"start":{"line":39,"column":21},"end":{"line":57,"column":6}},"2":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"3":{"start":{"line":60,"column":6},"end":{"line":60,"column":39}},"4":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"5":{"start":{"line":64,"column":6},"end":{"line":64,"column":29}},"6":{"start":{"line":67,"column":4},"end":{"line":67,"column":17}},"7":{"start":{"line":71,"column":4},"end":{"line":71,"column":12}},"8":{"start":{"line":72,"column":4},"end":{"line":72,"column":17}},"9":{"start":{"line":73,"column":4},"end":{"line":73,"column":25}},"10":{"start":{"line":75,"column":4},"end":{"line":75,"column":40}},"11":{"start":{"line":76,"column":4},"end":{"line":76,"column":67}},"12":{"start":{"line":77,"column":4},"end":{"line":77,"column":60}},"13":{"start":{"line":83,"column":4},"end":{"line":106,"column":6}},"14":{"start":{"line":100,"column":105},"end":{"line":105,"column":7}},"15":{"start":{"line":110,"column":21},"end":{"line":119,"column":6}},"16":{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},"17":{"start":{"line":122,"column":6},"end":{"line":122,"column":39}},"18":{"start":{"line":125,"column":4},"end":{"line":137,"column":5}},"19":{"start":{"line":126,"column":29},"end":{"line":126,"column":50}},"20":{"start":{"line":127,"column":31},"end":{"line":129,"column":39}},"21":{"start":{"line":130,"column":6},"end":{"line":133,"column":7}},"22":{"start":{"line":131,"column":28},"end":{"line":131,"column":71}},"23":{"start":{"line":132,"column":8},"end":{"line":132,"column":59}},"24":{"start":{"line":134,"column":6},"end":{"line":136,"column":8}},"25":{"start":{"line":138,"column":4},"end":{"line":138,"column":14}},"26":{"start":{"line":142,"column":36},"end":{"line":149,"column":5}},"27":{"start":{"line":150,"column":4},"end":{"line":167,"column":7}},"28":{"start":{"line":151,"column":6},"end":{"line":166,"column":7}},"29":{"start":{"line":152,"column":8},"end":{"line":155,"column":10}},"30":{"start":{"line":156,"column":13},"end":{"line":166,"column":7}},"31":{"start":{"line":157,"column":8},"end":{"line":160,"column":10}},"32":{"start":{"line":161,"column":13},"end":{"line":166,"column":7}},"33":{"start":{"line":162,"column":8},"end":{"line":165,"column":10}},"34":{"start":{"line":169,"column":21},"end":{"line":178,"column":6}},"35":{"start":{"line":180,"column":4},"end":{"line":182,"column":5}},"36":{"start":{"line":181,"column":6},"end":{"line":181,"column":39}},"37":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"38":{"start":{"line":185,"column":6},"end":{"line":185,"column":18}},"39":{"start":{"line":188,"column":4},"end":{"line":188,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":38,"column":5},"end":{"line":68,"column":3}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":70,"column":2},"end":{"line":70,"column":3}},"loc":{"start":{"line":70,"column":42},"end":{"line":78,"column":3}},"line":70},"2":{"name":"(anonymous_2)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":98},"end":{"line":107,"column":3}},"line":80},"3":{"name":"(anonymous_3)","decl":{"start":{"line":100,"column":82},"end":{"line":100,"column":83}},"loc":{"start":{"line":100,"column":105},"end":{"line":105,"column":7}},"line":100},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":109,"column":107},"end":{"line":139,"column":3}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":141,"column":2},"end":{"line":141,"column":3}},"loc":{"start":{"line":141,"column":89},"end":{"line":189,"column":3}},"line":141},"6":{"name":"(anonymous_6)","decl":{"start":{"line":150,"column":18},"end":{"line":150,"column":19}},"loc":{"start":{"line":150,"column":28},"end":{"line":167,"column":5}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":59},"1":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":63},"2":{"loc":{"start":{"line":87,"column":14},"end":{"line":87,"column":32}},"type":"binary-expr","locations":[{"start":{"line":87,"column":14},"end":{"line":87,"column":26}},{"start":{"line":87,"column":30},"end":{"line":87,"column":32}}],"line":87},"3":{"loc":{"start":{"line":93,"column":19},"end":{"line":93,"column":73}},"type":"binary-expr","locations":[{"start":{"line":93,"column":19},"end":{"line":93,"column":42}},{"start":{"line":93,"column":46},"end":{"line":93,"column":58}},{"start":{"line":93,"column":62},"end":{"line":93,"column":73}}],"line":93},"4":{"loc":{"start":{"line":94,"column":21},"end":{"line":94,"column":92}},"type":"binary-expr","locations":[{"start":{"line":94,"column":21},"end":{"line":94,"column":46}},{"start":{"line":94,"column":50},"end":{"line":94,"column":64}},{"start":{"line":94,"column":68},"end":{"line":94,"column":92}}],"line":94},"5":{"loc":{"start":{"line":95,"column":14},"end":{"line":97,"column":16}},"type":"cond-expr","locations":[{"start":{"line":95,"column":46},"end":{"line":97,"column":11}},{"start":{"line":97,"column":14},"end":{"line":97,"column":16}}],"line":95},"6":{"loc":{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},"type":"if","locations":[{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},{"start":{},"end":{}}],"line":121},"7":{"loc":{"start":{"line":125,"column":4},"end":{"line":137,"column":5}},"type":"if","locations":[{"start":{"line":125,"column":4},"end":{"line":137,"column":5}},{"start":{},"end":{}}],"line":125},"8":{"loc":{"start":{"line":130,"column":6},"end":{"line":133,"column":7}},"type":"if","locations":[{"start":{"line":130,"column":6},"end":{"line":133,"column":7}},{"start":{},"end":{}}],"line":130},"9":{"loc":{"start":{"line":151,"column":6},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":151,"column":6},"end":{"line":166,"column":7}},{"start":{"line":156,"column":13},"end":{"line":166,"column":7}}],"line":151},"10":{"loc":{"start":{"line":153,"column":14},"end":{"line":153,"column":38}},"type":"binary-expr","locations":[{"start":{"line":153,"column":14},"end":{"line":153,"column":32}},{"start":{"line":153,"column":36},"end":{"line":153,"column":38}}],"line":153},"11":{"loc":{"start":{"line":156,"column":13},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":156,"column":13},"end":{"line":166,"column":7}},{"start":{"line":161,"column":13},"end":{"line":166,"column":7}}],"line":156},"12":{"loc":{"start":{"line":158,"column":14},"end":{"line":158,"column":40}},"type":"binary-expr","locations":[{"start":{"line":158,"column":14},"end":{"line":158,"column":34}},{"start":{"line":158,"column":38},"end":{"line":158,"column":40}}],"line":158},"13":{"loc":{"start":{"line":161,"column":13},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":13},"end":{"line":166,"column":7}},{"start":{},"end":{}}],"line":161},"14":{"loc":{"start":{"line":180,"column":4},"end":{"line":182,"column":5}},"type":"if","locations":[{"start":{"line":180,"column":4},"end":{"line":182,"column":5}},{"start":{},"end":{}}],"line":180},"15":{"loc":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"type":"if","locations":[{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},{"start":{},"end":{}}],"line":184}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/RemoteTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/RemoteTokenStorage.ts","statementMap":{"0":{"start":{"line":58,"column":54},"end":{"line":58,"column":56}},"1":{"start":{"line":62,"column":28},"end":{"line":62,"column":107}},"2":{"start":{"line":63,"column":4},"end":{"line":70,"column":7}},"3":{"start":{"line":64,"column":6},"end":{"line":69,"column":9}},"4":{"start":{"line":73,"column":4},"end":{"line":77,"column":7}},"5":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"6":{"start":{"line":80,"column":6},"end":{"line":84,"column":9}},"7":{"start":{"line":87,"column":4},"end":{"line":87,"column":42}},"8":{"start":{"line":91,"column":51},"end":{"line":94,"column":5}},"9":{"start":{"line":98,"column":18},"end":{"line":98,"column":35}},"10":{"start":{"line":100,"column":4},"end":{"line":123,"column":5}},"11":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"12":{"start":{"line":102,"column":8},"end":{"line":102,"column":20}},"13":{"start":{"line":104,"column":6},"end":{"line":118,"column":9}},"14":{"start":{"line":105,"column":8},"end":{"line":117,"column":9}},"15":{"start":{"line":106,"column":10},"end":{"line":106,"column":55}},"16":{"start":{"line":107,"column":15},"end":{"line":117,"column":9}},"17":{"start":{"line":108,"column":10},"end":{"line":111,"column":12}},"18":{"start":{"line":112,"column":15},"end":{"line":117,"column":9}},"19":{"start":{"line":113,"column":10},"end":{"line":116,"column":12}},"20":{"start":{"line":119,"column":6},"end":{"line":122,"column":8}},"21":{"start":{"line":124,"column":4},"end":{"line":127,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":104},"end":{"line":88,"column":3}},"line":57},"1":{"name":"(anonymous_1)","decl":{"start":{"line":63,"column":44},"end":{"line":63,"column":45}},"loc":{"start":{"line":63,"column":66},"end":{"line":70,"column":5}},"line":63},"2":{"name":"(anonymous_2)","decl":{"start":{"line":90,"column":2},"end":{"line":90,"column":3}},"loc":{"start":{"line":90,"column":72},"end":{"line":128,"column":3}},"line":90},"3":{"name":"(anonymous_3)","decl":{"start":{"line":104,"column":20},"end":{"line":104,"column":21}},"loc":{"start":{"line":104,"column":30},"end":{"line":118,"column":7}},"line":104}},"branchMap":{"0":{"loc":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":79},"1":{"loc":{"start":{"line":79,"column":8},"end":{"line":79,"column":43}},"type":"binary-expr","locations":[{"start":{"line":79,"column":8},"end":{"line":79,"column":26}},{"start":{"line":79,"column":30},"end":{"line":79,"column":43}}],"line":79},"2":{"loc":{"start":{"line":100,"column":4},"end":{"line":123,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":123,"column":5}},{"start":{},"end":{}}],"line":100},"3":{"loc":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},{"start":{},"end":{}}],"line":101},"4":{"loc":{"start":{"line":105,"column":8},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":117,"column":9}},{"start":{"line":107,"column":15},"end":{"line":117,"column":9}}],"line":105},"5":{"loc":{"start":{"line":107,"column":15},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":15},"end":{"line":117,"column":9}},{"start":{"line":112,"column":15},"end":{"line":117,"column":9}}],"line":107},"6":{"loc":{"start":{"line":112,"column":15},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":112,"column":15},"end":{"line":117,"column":9}},{"start":{},"end":{}}],"line":112}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/SupernovaTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/SupernovaTokenStorage.ts","statementMap":{"0":{"start":{"line":25,"column":4},"end":{"line":25,"column":12}},"1":{"start":{"line":27,"column":22},"end":{"line":27,"column":34}},"2":{"start":{"line":28,"column":22},"end":{"line":28,"column":51}},"3":{"start":{"line":29,"column":20},"end":{"line":29,"column":103}},"4":{"start":{"line":30,"column":4},"end":{"line":42,"column":5}},"5":{"start":{"line":31,"column":6},"end":{"line":33,"column":8}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":81}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":94}},"8":{"start":{"line":39,"column":6},"end":{"line":39,"column":27}},"9":{"start":{"line":40,"column":6},"end":{"line":40,"column":29}},"10":{"start":{"line":41,"column":6},"end":{"line":41,"column":92}},"11":{"start":{"line":46,"column":4},"end":{"line":90,"column":5}},"12":{"start":{"line":48,"column":23},"end":{"line":48,"column":53}},"13":{"start":{"line":51,"column":6},"end":{"line":57,"column":7}},"14":{"start":{"line":52,"column":26},"end":{"line":52,"column":69}},"15":{"start":{"line":53,"column":8},"end":{"line":53,"column":31}},"16":{"start":{"line":56,"column":8},"end":{"line":56,"column":18}},"17":{"start":{"line":58,"column":6},"end":{"line":84,"column":8}},"18":{"start":{"line":74,"column":52},"end":{"line":74,"column":105}},"19":{"start":{"line":78,"column":61},"end":{"line":83,"column":9}},"20":{"start":{"line":86,"column":6},"end":{"line":86,"column":27}},"21":{"start":{"line":87,"column":6},"end":{"line":89,"column":8}},"22":{"start":{"line":96,"column":21},"end":{"line":96,"column":51}},"23":{"start":{"line":97,"column":23},"end":{"line":99,"column":12}},"24":{"start":{"line":100,"column":4},"end":{"line":111,"column":7}},"25":{"start":{"line":101,"column":6},"end":{"line":110,"column":7}},"26":{"start":{"line":102,"column":8},"end":{"line":102,"column":75}},"27":{"start":{"line":103,"column":13},"end":{"line":110,"column":7}},"28":{"start":{"line":104,"column":8},"end":{"line":104,"column":42}},"29":{"start":{"line":105,"column":13},"end":{"line":110,"column":7}},"30":{"start":{"line":106,"column":8},"end":{"line":109,"column":10}},"31":{"start":{"line":113,"column":22},"end":{"line":113,"column":46}},"32":{"start":{"line":114,"column":24},"end":{"line":125,"column":5}},"33":{"start":{"line":127,"column":19},"end":{"line":127,"column":44}},"34":{"start":{"line":128,"column":4},"end":{"line":128,"column":46}},"35":{"start":{"line":129,"column":4},"end":{"line":129,"column":16}},"36":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"37":{"start":{"line":134,"column":6},"end":{"line":134,"column":44}},"38":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"39":{"start":{"line":137,"column":6},"end":{"line":137,"column":48}},"40":{"start":{"line":139,"column":4},"end":{"line":141,"column":5}},"41":{"start":{"line":140,"column":6},"end":{"line":140,"column":49}},"42":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"43":{"start":{"line":143,"column":6},"end":{"line":143,"column":52}},"44":{"start":{"line":145,"column":4},"end":{"line":145,"column":49}},"45":{"start":{"line":153,"column":4},"end":{"line":166,"column":5}},"46":{"start":{"line":154,"column":27},"end":{"line":154,"column":83}},"47":{"start":{"line":155,"column":34},"end":{"line":155,"column":69}},"48":{"start":{"line":156,"column":6},"end":{"line":161,"column":7}},"49":{"start":{"line":157,"column":8},"end":{"line":160,"column":10}},"50":{"start":{"line":164,"column":6},"end":{"line":164,"column":37}},"51":{"start":{"line":165,"column":6},"end":{"line":165,"column":25}},"52":{"start":{"line":167,"column":4},"end":{"line":167,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":60},"end":{"line":43,"column":3}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":45,"column":90},"end":{"line":91,"column":3}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":74,"column":41},"end":{"line":74,"column":42}},"loc":{"start":{"line":74,"column":52},"end":{"line":74,"column":105}},"line":74},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":38},"end":{"line":78,"column":39}},"loc":{"start":{"line":78,"column":61},"end":{"line":83,"column":9}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":93,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":93,"column":82},"end":{"line":130,"column":3}},"line":93},"5":{"name":"(anonymous_5)","decl":{"start":{"line":100,"column":18},"end":{"line":100,"column":19}},"loc":{"start":{"line":100,"column":28},"end":{"line":111,"column":5}},"line":100},"6":{"name":"(anonymous_6)","decl":{"start":{"line":132,"column":2},"end":{"line":132,"column":3}},"loc":{"start":{"line":132,"column":54},"end":{"line":146,"column":3}},"line":132},"7":{"name":"(anonymous_7)","decl":{"start":{"line":148,"column":2},"end":{"line":148,"column":3}},"loc":{"start":{"line":151,"column":5},"end":{"line":168,"column":3}},"line":151}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":42,"column":5}},{"start":{"line":34,"column":11},"end":{"line":42,"column":5}}],"line":30},"1":{"loc":{"start":{"line":30,"column":8},"end":{"line":30,"column":93}},"type":"binary-expr","locations":[{"start":{"line":30,"column":8},"end":{"line":30,"column":28}},{"start":{"line":30,"column":33},"end":{"line":30,"column":40}},{"start":{"line":30,"column":45},"end":{"line":30,"column":66}},{"start":{"line":30,"column":70},"end":{"line":30,"column":91}}],"line":30},"2":{"loc":{"start":{"line":36,"column":29},"end":{"line":36,"column":80}},"type":"cond-expr","locations":[{"start":{"line":36,"column":39},"end":{"line":36,"column":51}},{"start":{"line":36,"column":54},"end":{"line":36,"column":80}}],"line":36},"3":{"loc":{"start":{"line":38,"column":28},"end":{"line":38,"column":93}},"type":"cond-expr","locations":[{"start":{"line":38,"column":38},"end":{"line":38,"column":64}},{"start":{"line":38,"column":67},"end":{"line":38,"column":93}}],"line":38},"4":{"loc":{"start":{"line":62,"column":16},"end":{"line":62,"column":37}},"type":"binary-expr","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":31}},{"start":{"line":62,"column":35},"end":{"line":62,"column":37}}],"line":62},"5":{"loc":{"start":{"line":64,"column":12},"end":{"line":72,"column":14}},"type":"cond-expr","locations":[{"start":{"line":65,"column":12},"end":{"line":71,"column":11}},{"start":{"line":72,"column":12},"end":{"line":72,"column":14}}],"line":64},"6":{"loc":{"start":{"line":101,"column":6},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":110,"column":7}},{"start":{"line":103,"column":13},"end":{"line":110,"column":7}}],"line":101},"7":{"loc":{"start":{"line":102,"column":34},"end":{"line":102,"column":58}},"type":"binary-expr","locations":[{"start":{"line":102,"column":34},"end":{"line":102,"column":52}},{"start":{"line":102,"column":56},"end":{"line":102,"column":58}}],"line":102},"8":{"loc":{"start":{"line":103,"column":13},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":103,"column":13},"end":{"line":110,"column":7}},{"start":{"line":105,"column":13},"end":{"line":110,"column":7}}],"line":103},"9":{"loc":{"start":{"line":105,"column":13},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":105,"column":13},"end":{"line":110,"column":7}},{"start":{},"end":{}}],"line":105},"10":{"loc":{"start":{"line":107,"column":14},"end":{"line":107,"column":40}},"type":"binary-expr","locations":[{"start":{"line":107,"column":14},"end":{"line":107,"column":34}},{"start":{"line":107,"column":38},"end":{"line":107,"column":40}}],"line":107},"11":{"loc":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":133},"12":{"loc":{"start":{"line":133,"column":8},"end":{"line":133,"column":78}},"type":"binary-expr","locations":[{"start":{"line":133,"column":8},"end":{"line":133,"column":42}},{"start":{"line":133,"column":46},"end":{"line":133,"column":78}}],"line":133},"13":{"loc":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},{"start":{},"end":{}}],"line":136},"14":{"loc":{"start":{"line":136,"column":8},"end":{"line":136,"column":86}},"type":"binary-expr","locations":[{"start":{"line":136,"column":8},"end":{"line":136,"column":46}},{"start":{"line":136,"column":50},"end":{"line":136,"column":86}}],"line":136},"15":{"loc":{"start":{"line":139,"column":4},"end":{"line":141,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":141,"column":5}},{"start":{},"end":{}}],"line":139},"16":{"loc":{"start":{"line":139,"column":8},"end":{"line":139,"column":88}},"type":"binary-expr","locations":[{"start":{"line":139,"column":8},"end":{"line":139,"column":47}},{"start":{"line":139,"column":51},"end":{"line":139,"column":88}}],"line":139},"17":{"loc":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":142},"18":{"loc":{"start":{"line":142,"column":8},"end":{"line":142,"column":94}},"type":"binary-expr","locations":[{"start":{"line":142,"column":8},"end":{"line":142,"column":50}},{"start":{"line":142,"column":54},"end":{"line":142,"column":94}}],"line":142},"19":{"loc":{"start":{"line":156,"column":6},"end":{"line":161,"column":7}},"type":"if","locations":[{"start":{"line":156,"column":6},"end":{"line":161,"column":7}},{"start":{},"end":{}}],"line":156},"20":{"loc":{"start":{"line":156,"column":10},"end":{"line":156,"column":45}},"type":"binary-expr","locations":[{"start":{"line":156,"column":10},"end":{"line":156,"column":22}},{"start":{"line":156,"column":26},"end":{"line":156,"column":45}}],"line":156}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/TokensStudioTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/TokensStudioTokenStorage.ts","statementMap":{"0":{"start":{"line":29,"column":23},"end":{"line":29,"column":29}},"1":{"start":{"line":31,"column":19},"end":{"line":35,"column":2}},"2":{"start":{"line":31,"column":39},"end":{"line":35,"column":2}},"3":{"start":{"line":51,"column":2},"end":{"line":123,"column":3}},"4":{"start":{"line":52,"column":17},"end":{"line":59,"column":6}},"5":{"start":{"line":61,"column":4},"end":{"line":63,"column":5}},"6":{"start":{"line":62,"column":6},"end":{"line":62,"column":18}},"7":{"start":{"line":65,"column":22},"end":{"line":65,"column":76}},"8":{"start":{"line":66,"column":27},"end":{"line":66,"column":61}},"9":{"start":{"line":69,"column":4},"end":{"line":71,"column":5}},"10":{"start":{"line":70,"column":6},"end":{"line":70,"column":182}},"11":{"start":{"line":73,"column":23},"end":{"line":81,"column":5}},"12":{"start":{"line":75,"column":8},"end":{"line":75,"column":39}},"13":{"start":{"line":75,"column":28},"end":{"line":75,"column":39}},"14":{"start":{"line":76,"column":8},"end":{"line":76,"column":77}},"15":{"start":{"line":77,"column":8},"end":{"line":77,"column":93}},"16":{"start":{"line":78,"column":8},"end":{"line":78,"column":19}},"17":{"start":{"line":84,"column":26},"end":{"line":86,"column":39}},"18":{"start":{"line":85,"column":23},"end":{"line":85,"column":75}},"19":{"start":{"line":86,"column":25},"end":{"line":86,"column":38}},"20":{"start":{"line":88,"column":17},"end":{"line":88,"column":39}},"21":{"start":{"line":89,"column":24},"end":{"line":89,"column":81}},"22":{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},"23":{"start":{"line":92,"column":6},"end":{"line":115,"column":9}},"24":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"25":{"start":{"line":94,"column":10},"end":{"line":94,"column":17}},"26":{"start":{"line":97,"column":46},"end":{"line":112,"column":12}},"27":{"start":{"line":98,"column":30},"end":{"line":98,"column":37}},"28":{"start":{"line":100,"column":38},"end":{"line":100,"column":62}},"29":{"start":{"line":102,"column":12},"end":{"line":111,"column":14}},"30":{"start":{"line":114,"column":8},"end":{"line":114,"column":45}},"31":{"start":{"line":118,"column":4},"end":{"line":118,"column":52}},"32":{"start":{"line":120,"column":4},"end":{"line":120,"column":31}},"33":{"start":{"line":121,"column":4},"end":{"line":121,"column":46}},"34":{"start":{"line":122,"column":4},"end":{"line":122,"column":16}},"35":{"start":{"line":140,"column":4},"end":{"line":140,"column":12}},"36":{"start":{"line":141,"column":4},"end":{"line":141,"column":17}},"37":{"start":{"line":142,"column":4},"end":{"line":142,"column":23}},"38":{"start":{"line":143,"column":4},"end":{"line":143,"column":25}},"39":{"start":{"line":144,"column":4},"end":{"line":144,"column":37}},"40":{"start":{"line":145,"column":4},"end":{"line":145,"column":27}},"41":{"start":{"line":146,"column":4},"end":{"line":146,"column":36}},"42":{"start":{"line":150,"column":4},"end":{"line":150,"column":17}},"43":{"start":{"line":151,"column":4},"end":{"line":151,"column":23}},"44":{"start":{"line":152,"column":4},"end":{"line":152,"column":25}},"45":{"start":{"line":153,"column":4},"end":{"line":153,"column":37}},"46":{"start":{"line":157,"column":49},"end":{"line":157,"column":51}},"47":{"start":{"line":158,"column":35},"end":{"line":158,"column":37}},"48":{"start":{"line":159,"column":49},"end":{"line":159,"column":51}},"49":{"start":{"line":161,"column":4},"end":{"line":180,"column":5}},"50":{"start":{"line":162,"column":26},"end":{"line":162,"column":80}},"51":{"start":{"line":164,"column":6},"end":{"line":164,"column":35}},"52":{"start":{"line":165,"column":6},"end":{"line":165,"column":41}},"53":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"54":{"start":{"line":168,"column":8},"end":{"line":168,"column":55}},"55":{"start":{"line":171,"column":6},"end":{"line":173,"column":7}},"56":{"start":{"line":172,"column":8},"end":{"line":172,"column":59}},"57":{"start":{"line":176,"column":6},"end":{"line":176,"column":76}},"58":{"start":{"line":176,"column":26},"end":{"line":176,"column":76}},"59":{"start":{"line":177,"column":6},"end":{"line":179,"column":8}},"60":{"start":{"line":181,"column":4},"end":{"line":207,"column":5}},"61":{"start":{"line":183,"column":54},"end":{"line":188,"column":9}},"62":{"start":{"line":183,"column":104},"end":{"line":188,"column":7}},"63":{"start":{"line":190,"column":6},"end":{"line":196,"column":7}},"64":{"start":{"line":191,"column":8},"end":{"line":195,"column":11}},"65":{"start":{"line":198,"column":6},"end":{"line":204,"column":7}},"66":{"start":{"line":199,"column":8},"end":{"line":203,"column":11}},"67":{"start":{"line":206,"column":6},"end":{"line":206,"column":27}},"68":{"start":{"line":208,"column":4},"end":{"line":210,"column":6}},"69":{"start":{"line":220,"column":4},"end":{"line":220,"column":61}},"70":{"start":{"line":221,"column":4},"end":{"line":221,"column":28}},"71":{"start":{"line":235,"column":4},"end":{"line":240,"column":7}},"72":{"start":{"line":242,"column":4},"end":{"line":244,"column":5}},"73":{"start":{"line":243,"column":6},"end":{"line":243,"column":45}},"74":{"start":{"line":246,"column":4},"end":{"line":246,"column":77}},"75":{"start":{"line":250,"column":4},"end":{"line":278,"column":5}},"76":{"start":{"line":251,"column":6},"end":{"line":253,"column":7}},"77":{"start":{"line":252,"column":8},"end":{"line":252,"column":40}},"78":{"start":{"line":255,"column":27},"end":{"line":265,"column":8}},"79":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"80":{"start":{"line":268,"column":8},"end":{"line":268,"column":44}},"81":{"start":{"line":271,"column":6},"end":{"line":271,"column":49}},"82":{"start":{"line":272,"column":6},"end":{"line":272,"column":71}},"83":{"start":{"line":274,"column":6},"end":{"line":274,"column":26}},"84":{"start":{"line":276,"column":6},"end":{"line":276,"column":33}},"85":{"start":{"line":277,"column":6},"end":{"line":277,"column":68}},"86":{"start":{"line":282,"column":4},"end":{"line":310,"column":5}},"87":{"start":{"line":283,"column":27},"end":{"line":294,"column":8}},"88":{"start":{"line":296,"column":6},"end":{"line":298,"column":7}},"89":{"start":{"line":297,"column":8},"end":{"line":297,"column":44}},"90":{"start":{"line":300,"column":6},"end":{"line":300,"column":49}},"91":{"start":{"line":301,"column":6},"end":{"line":301,"column":73}},"92":{"start":{"line":303,"column":6},"end":{"line":303,"column":26}},"93":{"start":{"line":305,"column":6},"end":{"line":305,"column":33}},"94":{"start":{"line":306,"column":6},"end":{"line":308,"column":9}},"95":{"start":{"line":309,"column":6},"end":{"line":309,"column":68}},"96":{"start":{"line":314,"column":4},"end":{"line":340,"column":5}},"97":{"start":{"line":315,"column":6},"end":{"line":317,"column":7}},"98":{"start":{"line":316,"column":8},"end":{"line":316,"column":40}},"99":{"start":{"line":319,"column":27},"end":{"line":327,"column":8}},"100":{"start":{"line":329,"column":6},"end":{"line":331,"column":7}},"101":{"start":{"line":330,"column":8},"end":{"line":330,"column":44}},"102":{"start":{"line":333,"column":6},"end":{"line":333,"column":49}},"103":{"start":{"line":334,"column":6},"end":{"line":334,"column":75}},"104":{"start":{"line":336,"column":6},"end":{"line":336,"column":26}},"105":{"start":{"line":338,"column":6},"end":{"line":338,"column":33}},"106":{"start":{"line":339,"column":6},"end":{"line":339,"column":68}},"107":{"start":{"line":344,"column":4},"end":{"line":365,"column":5}},"108":{"start":{"line":345,"column":27},"end":{"line":352,"column":8}},"109":{"start":{"line":354,"column":6},"end":{"line":356,"column":7}},"110":{"start":{"line":355,"column":8},"end":{"line":355,"column":44}},"111":{"start":{"line":358,"column":6},"end":{"line":358,"column":55}},"112":{"start":{"line":359,"column":6},"end":{"line":359,"column":79}},"113":{"start":{"line":361,"column":6},"end":{"line":361,"column":26}},"114":{"start":{"line":363,"column":6},"end":{"line":363,"column":33}},"115":{"start":{"line":364,"column":6},"end":{"line":364,"column":74}},"116":{"start":{"line":369,"column":4},"end":{"line":394,"column":5}},"117":{"start":{"line":370,"column":27},"end":{"line":381,"column":8}},"118":{"start":{"line":383,"column":6},"end":{"line":385,"column":7}},"119":{"start":{"line":384,"column":8},"end":{"line":384,"column":44}},"120":{"start":{"line":387,"column":6},"end":{"line":387,"column":51}},"121":{"start":{"line":388,"column":6},"end":{"line":388,"column":75}},"122":{"start":{"line":390,"column":6},"end":{"line":390,"column":26}},"123":{"start":{"line":392,"column":6},"end":{"line":392,"column":33}},"124":{"start":{"line":393,"column":6},"end":{"line":393,"column":70}},"125":{"start":{"line":398,"column":4},"end":{"line":423,"column":5}},"126":{"start":{"line":399,"column":27},"end":{"line":410,"column":8}},"127":{"start":{"line":412,"column":6},"end":{"line":414,"column":7}},"128":{"start":{"line":413,"column":8},"end":{"line":413,"column":44}},"129":{"start":{"line":416,"column":6},"end":{"line":416,"column":51}},"130":{"start":{"line":417,"column":6},"end":{"line":417,"column":75}},"131":{"start":{"line":419,"column":6},"end":{"line":419,"column":26}},"132":{"start":{"line":421,"column":6},"end":{"line":421,"column":33}},"133":{"start":{"line":422,"column":6},"end":{"line":422,"column":70}},"134":{"start":{"line":427,"column":4},"end":{"line":449,"column":5}},"135":{"start":{"line":428,"column":27},"end":{"line":436,"column":8}},"136":{"start":{"line":438,"column":6},"end":{"line":440,"column":7}},"137":{"start":{"line":439,"column":8},"end":{"line":439,"column":44}},"138":{"start":{"line":442,"column":6},"end":{"line":442,"column":51}},"139":{"start":{"line":443,"column":6},"end":{"line":443,"column":77}},"140":{"start":{"line":445,"column":6},"end":{"line":445,"column":26}},"141":{"start":{"line":447,"column":6},"end":{"line":447,"column":33}},"142":{"start":{"line":448,"column":6},"end":{"line":448,"column":70}},"143":{"start":{"line":453,"column":29},"end":{"line":453,"column":51}},"144":{"start":{"line":454,"column":4},"end":{"line":454,"column":27}},"145":{"start":{"line":455,"column":4},"end":{"line":455,"column":36}},"146":{"start":{"line":457,"column":4},"end":{"line":485,"column":5}},"147":{"start":{"line":458,"column":48},"end":{"line":458,"column":63}},"148":{"start":{"line":460,"column":6},"end":{"line":484,"column":7}},"149":{"start":{"line":462,"column":10},"end":{"line":462,"column":65}},"150":{"start":{"line":463,"column":10},"end":{"line":463,"column":16}},"151":{"start":{"line":465,"column":10},"end":{"line":465,"column":65}},"152":{"start":{"line":466,"column":10},"end":{"line":466,"column":16}},"153":{"start":{"line":468,"column":10},"end":{"line":468,"column":65}},"154":{"start":{"line":469,"column":10},"end":{"line":469,"column":16}},"155":{"start":{"line":471,"column":10},"end":{"line":471,"column":70}},"156":{"start":{"line":472,"column":10},"end":{"line":472,"column":16}},"157":{"start":{"line":474,"column":10},"end":{"line":474,"column":67}},"158":{"start":{"line":475,"column":10},"end":{"line":475,"column":16}},"159":{"start":{"line":477,"column":10},"end":{"line":477,"column":67}},"160":{"start":{"line":478,"column":10},"end":{"line":478,"column":16}},"161":{"start":{"line":480,"column":10},"end":{"line":480,"column":67}},"162":{"start":{"line":481,"column":10},"end":{"line":481,"column":16}},"163":{"start":{"line":483,"column":10},"end":{"line":483,"column":74}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":19},"end":{"line":31,"column":20}},"loc":{"start":{"line":31,"column":39},"end":{"line":35,"column":2}},"line":31},"1":{"name":"getProjectData","decl":{"start":{"line":50,"column":15},"end":{"line":50,"column":29}},"loc":{"start":{"line":50,"column":99},"end":{"line":124,"column":1}},"line":50},"2":{"name":"(anonymous_2)","decl":{"start":{"line":74,"column":6},"end":{"line":74,"column":7}},"loc":{"start":{"line":74,"column":25},"end":{"line":79,"column":7}},"line":74},"3":{"name":"(anonymous_3)","decl":{"start":{"line":85,"column":12},"end":{"line":85,"column":13}},"loc":{"start":{"line":85,"column":23},"end":{"line":85,"column":75}},"line":85},"4":{"name":"(anonymous_4)","decl":{"start":{"line":86,"column":11},"end":{"line":86,"column":12}},"loc":{"start":{"line":86,"column":25},"end":{"line":86,"column":38}},"line":86},"5":{"name":"(anonymous_5)","decl":{"start":{"line":92,"column":26},"end":{"line":92,"column":27}},"loc":{"start":{"line":92,"column":56},"end":{"line":115,"column":7}},"line":92},"6":{"name":"(anonymous_6)","decl":{"start":{"line":98,"column":19},"end":{"line":98,"column":20}},"loc":{"start":{"line":98,"column":30},"end":{"line":98,"column":37}},"line":98},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":15},"end":{"line":99,"column":16}},"loc":{"start":{"line":99,"column":26},"end":{"line":112,"column":11}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":139,"column":2},"end":{"line":139,"column":3}},"loc":{"start":{"line":139,"column":57},"end":{"line":147,"column":3}},"line":139},"9":{"name":"(anonymous_9)","decl":{"start":{"line":149,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":149,"column":63},"end":{"line":154,"column":3}},"line":149},"10":{"name":"(anonymous_10)","decl":{"start":{"line":156,"column":2},"end":{"line":156,"column":3}},"loc":{"start":{"line":156,"column":90},"end":{"line":211,"column":3}},"line":156},"11":{"name":"(anonymous_11)","decl":{"start":{"line":183,"column":81},"end":{"line":183,"column":82}},"loc":{"start":{"line":183,"column":104},"end":{"line":188,"column":7}},"line":183},"12":{"name":"(anonymous_12)","decl":{"start":{"line":213,"column":2},"end":{"line":213,"column":3}},"loc":{"start":{"line":219,"column":22},"end":{"line":222,"column":3}},"line":219},"13":{"name":"(anonymous_13)","decl":{"start":{"line":224,"column":2},"end":{"line":224,"column":3}},"loc":{"start":{"line":234,"column":5},"end":{"line":247,"column":3}},"line":234},"14":{"name":"(anonymous_14)","decl":{"start":{"line":249,"column":2},"end":{"line":249,"column":3}},"loc":{"start":{"line":249,"column":77},"end":{"line":279,"column":3}},"line":249},"15":{"name":"(anonymous_15)","decl":{"start":{"line":281,"column":2},"end":{"line":281,"column":3}},"loc":{"start":{"line":281,"column":77},"end":{"line":311,"column":3}},"line":281},"16":{"name":"(anonymous_16)","decl":{"start":{"line":313,"column":2},"end":{"line":313,"column":3}},"loc":{"start":{"line":313,"column":77},"end":{"line":341,"column":3}},"line":313},"17":{"name":"(anonymous_17)","decl":{"start":{"line":343,"column":2},"end":{"line":343,"column":3}},"loc":{"start":{"line":343,"column":82},"end":{"line":366,"column":3}},"line":343},"18":{"name":"(anonymous_18)","decl":{"start":{"line":368,"column":2},"end":{"line":368,"column":3}},"loc":{"start":{"line":368,"column":79},"end":{"line":395,"column":3}},"line":368},"19":{"name":"(anonymous_19)","decl":{"start":{"line":397,"column":2},"end":{"line":397,"column":3}},"loc":{"start":{"line":397,"column":79},"end":{"line":424,"column":3}},"line":397},"20":{"name":"(anonymous_20)","decl":{"start":{"line":426,"column":2},"end":{"line":426,"column":3}},"loc":{"start":{"line":426,"column":79},"end":{"line":450,"column":3}},"line":426},"21":{"name":"(anonymous_21)","decl":{"start":{"line":452,"column":2},"end":{"line":452,"column":3}},"loc":{"start":{"line":452,"column":31},"end":{"line":486,"column":3}},"line":452}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":8},"end":{"line":32,"column":62}},"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":42}},{"start":{"line":32,"column":46},"end":{"line":32,"column":62}}],"line":32},"1":{"loc":{"start":{"line":61,"column":4},"end":{"line":63,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":63,"column":5}},{"start":{},"end":{}}],"line":61},"2":{"loc":{"start":{"line":69,"column":4},"end":{"line":71,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":71,"column":5}},{"start":{},"end":{}}],"line":69},"3":{"loc":{"start":{"line":75,"column":8},"end":{"line":75,"column":39}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":39}},{"start":{},"end":{}}],"line":75},"4":{"loc":{"start":{"line":85,"column":23},"end":{"line":85,"column":75}},"type":"cond-expr","locations":[{"start":{"line":85,"column":69},"end":{"line":85,"column":70}},{"start":{"line":85,"column":73},"end":{"line":85,"column":75}}],"line":85},"5":{"loc":{"start":{"line":85,"column":25},"end":{"line":85,"column":42}},"type":"binary-expr","locations":[{"start":{"line":85,"column":25},"end":{"line":85,"column":37}},{"start":{"line":85,"column":41},"end":{"line":85,"column":42}}],"line":85},"6":{"loc":{"start":{"line":85,"column":48},"end":{"line":85,"column":65}},"type":"binary-expr","locations":[{"start":{"line":85,"column":48},"end":{"line":85,"column":60}},{"start":{"line":85,"column":64},"end":{"line":85,"column":65}}],"line":85},"7":{"loc":{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},{"start":{},"end":{}}],"line":91},"8":{"loc":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},{"start":{},"end":{}}],"line":93},"9":{"loc":{"start":{"line":109,"column":34},"end":{"line":109,"column":71}},"type":"binary-expr","locations":[{"start":{"line":109,"column":34},"end":{"line":109,"column":58}},{"start":{"line":109,"column":62},"end":{"line":109,"column":71}}],"line":109},"10":{"loc":{"start":{"line":110,"column":28},"end":{"line":110,"column":59}},"type":"binary-expr","locations":[{"start":{"line":110,"column":28},"end":{"line":110,"column":46}},{"start":{"line":110,"column":50},"end":{"line":110,"column":59}}],"line":110},"11":{"loc":{"start":{"line":165,"column":15},"end":{"line":165,"column":40}},"type":"binary-expr","locations":[{"start":{"line":165,"column":15},"end":{"line":165,"column":34}},{"start":{"line":165,"column":38},"end":{"line":165,"column":40}}],"line":165},"12":{"loc":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"type":"if","locations":[{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},{"start":{},"end":{}}],"line":167},"13":{"loc":{"start":{"line":171,"column":6},"end":{"line":173,"column":7}},"type":"if","locations":[{"start":{"line":171,"column":6},"end":{"line":173,"column":7}},{"start":{},"end":{}}],"line":171},"14":{"loc":{"start":{"line":176,"column":6},"end":{"line":176,"column":76}},"type":"if","locations":[{"start":{"line":176,"column":6},"end":{"line":176,"column":76}},{"start":{},"end":{}}],"line":176},"15":{"loc":{"start":{"line":178,"column":22},"end":{"line":178,"column":109}},"type":"cond-expr","locations":[{"start":{"line":178,"column":39},"end":{"line":178,"column":63}},{"start":{"line":178,"column":66},"end":{"line":178,"column":109}}],"line":178},"16":{"loc":{"start":{"line":181,"column":4},"end":{"line":207,"column":5}},"type":"if","locations":[{"start":{"line":181,"column":4},"end":{"line":207,"column":5}},{"start":{},"end":{}}],"line":181},"17":{"loc":{"start":{"line":190,"column":6},"end":{"line":196,"column":7}},"type":"if","locations":[{"start":{"line":190,"column":6},"end":{"line":196,"column":7}},{"start":{},"end":{}}],"line":190},"18":{"loc":{"start":{"line":198,"column":6},"end":{"line":204,"column":7}},"type":"if","locations":[{"start":{"line":198,"column":6},"end":{"line":204,"column":7}},{"start":{},"end":{}}],"line":198},"19":{"loc":{"start":{"line":242,"column":4},"end":{"line":244,"column":5}},"type":"if","locations":[{"start":{"line":242,"column":4},"end":{"line":244,"column":5}},{"start":{},"end":{}}],"line":242},"20":{"loc":{"start":{"line":251,"column":6},"end":{"line":253,"column":7}},"type":"if","locations":[{"start":{"line":251,"column":6},"end":{"line":253,"column":7}},{"start":{},"end":{}}],"line":251},"21":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{},"end":{}}],"line":267},"22":{"loc":{"start":{"line":289,"column":18},"end":{"line":289,"column":43}},"type":"binary-expr","locations":[{"start":{"line":289,"column":18},"end":{"line":289,"column":30}},{"start":{"line":289,"column":34},"end":{"line":289,"column":43}}],"line":289},"23":{"loc":{"start":{"line":296,"column":6},"end":{"line":298,"column":7}},"type":"if","locations":[{"start":{"line":296,"column":6},"end":{"line":298,"column":7}},{"start":{},"end":{}}],"line":296},"24":{"loc":{"start":{"line":306,"column":73},"end":{"line":306,"column":98}},"type":"binary-expr","locations":[{"start":{"line":306,"column":73},"end":{"line":306,"column":85}},{"start":{"line":306,"column":89},"end":{"line":306,"column":98}}],"line":306},"25":{"loc":{"start":{"line":315,"column":6},"end":{"line":317,"column":7}},"type":"if","locations":[{"start":{"line":315,"column":6},"end":{"line":317,"column":7}},{"start":{},"end":{}}],"line":315},"26":{"loc":{"start":{"line":329,"column":6},"end":{"line":331,"column":7}},"type":"if","locations":[{"start":{"line":329,"column":6},"end":{"line":331,"column":7}},{"start":{},"end":{}}],"line":329},"27":{"loc":{"start":{"line":354,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":354,"column":6},"end":{"line":356,"column":7}},{"start":{},"end":{}}],"line":354},"28":{"loc":{"start":{"line":383,"column":6},"end":{"line":385,"column":7}},"type":"if","locations":[{"start":{"line":383,"column":6},"end":{"line":385,"column":7}},{"start":{},"end":{}}],"line":383},"29":{"loc":{"start":{"line":404,"column":16},"end":{"line":404,"column":57}},"type":"binary-expr","locations":[{"start":{"line":404,"column":16},"end":{"line":404,"column":28}},{"start":{"line":404,"column":32},"end":{"line":404,"column":57}}],"line":404},"30":{"loc":{"start":{"line":412,"column":6},"end":{"line":414,"column":7}},"type":"if","locations":[{"start":{"line":412,"column":6},"end":{"line":414,"column":7}},{"start":{},"end":{}}],"line":412},"31":{"loc":{"start":{"line":438,"column":6},"end":{"line":440,"column":7}},"type":"if","locations":[{"start":{"line":438,"column":6},"end":{"line":440,"column":7}},{"start":{},"end":{}}],"line":438},"32":{"loc":{"start":{"line":460,"column":6},"end":{"line":484,"column":7}},"type":"switch","locations":[{"start":{"line":461,"column":8},"end":{"line":463,"column":16}},{"start":{"line":464,"column":8},"end":{"line":466,"column":16}},{"start":{"line":467,"column":8},"end":{"line":469,"column":16}},{"start":{"line":470,"column":8},"end":{"line":472,"column":16}},{"start":{"line":473,"column":8},"end":{"line":475,"column":16}},{"start":{"line":476,"column":8},"end":{"line":478,"column":16}},{"start":{"line":479,"column":8},"end":{"line":481,"column":16}},{"start":{"line":482,"column":8},"end":{"line":483,"column":74}}],"line":460}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/UrlTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/UrlTokenStorage.ts","statementMap":{"0":{"start":{"line":24,"column":4},"end":{"line":24,"column":12}},"1":{"start":{"line":25,"column":4},"end":{"line":25,"column":19}},"2":{"start":{"line":26,"column":4},"end":{"line":26,"column":25}},"3":{"start":{"line":30,"column":4},"end":{"line":47,"column":6}},"4":{"start":{"line":41,"column":88},"end":{"line":46,"column":7}},"5":{"start":{"line":51,"column":26},"end":{"line":53,"column":10}},"6":{"start":{"line":55,"column":20},"end":{"line":58,"column":5}},"7":{"start":{"line":60,"column":21},"end":{"line":63,"column":6}},"8":{"start":{"line":65,"column":4},"end":{"line":88,"column":5}},"9":{"start":{"line":66,"column":29},"end":{"line":66,"column":50}},"10":{"start":{"line":67,"column":31},"end":{"line":67,"column":84}},"11":{"start":{"line":69,"column":6},"end":{"line":72,"column":7}},"12":{"start":{"line":70,"column":31},"end":{"line":70,"column":63}},"13":{"start":{"line":71,"column":8},"end":{"line":71,"column":58}},"14":{"start":{"line":75,"column":41},"end":{"line":75,"column":101}},"15":{"start":{"line":76,"column":6},"end":{"line":84,"column":7}},"16":{"start":{"line":77,"column":31},"end":{"line":77,"column":62}},"17":{"start":{"line":78,"column":60},"end":{"line":78,"column":74}},"18":{"start":{"line":79,"column":8},"end":{"line":83,"column":11}},"19":{"start":{"line":85,"column":6},"end":{"line":87,"column":8}},"20":{"start":{"line":90,"column":4},"end":{"line":90,"column":14}},"21":{"start":{"line":94,"column":4},"end":{"line":94,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":43},"end":{"line":27,"column":3}},"line":23},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":29,"column":73},"end":{"line":48,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":41,"column":65},"end":{"line":41,"column":66}},"loc":{"start":{"line":41,"column":88},"end":{"line":46,"column":7}},"line":41},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":50,"column":90},"end":{"line":91,"column":3}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":93,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":93,"column":41},"end":{"line":95,"column":3}},"line":93}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":14},"end":{"line":34,"column":32}},"type":"binary-expr","locations":[{"start":{"line":34,"column":14},"end":{"line":34,"column":26}},{"start":{"line":34,"column":30},"end":{"line":34,"column":32}}],"line":34},"1":{"loc":{"start":{"line":39,"column":14},"end":{"line":39,"column":34}},"type":"binary-expr","locations":[{"start":{"line":39,"column":14},"end":{"line":39,"column":28}},{"start":{"line":39,"column":32},"end":{"line":39,"column":34}}],"line":39},"2":{"loc":{"start":{"line":51,"column":26},"end":{"line":53,"column":10}},"type":"cond-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":57}},{"start":{"line":53,"column":8},"end":{"line":53,"column":10}}],"line":51},"3":{"loc":{"start":{"line":65,"column":4},"end":{"line":88,"column":5}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":88,"column":5}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":69,"column":6},"end":{"line":72,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":72,"column":7}},{"start":{},"end":{}}],"line":69},"5":{"loc":{"start":{"line":76,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":76},"6":{"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":28}},"type":"default-arg","locations":[{"start":{"line":78,"column":26},"end":{"line":78,"column":28}}],"line":78},"7":{"loc":{"start":{"line":78,"column":30},"end":{"line":78,"column":44}},"type":"default-arg","locations":[{"start":{"line":78,"column":42},"end":{"line":78,"column":44}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0],"7":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/complexSingleFileSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/complexSingleFileSchema.ts","statementMap":{"0":{"start":{"line":19,"column":75},"end":{"line":23,"column":2}},"1":{"start":{"line":20,"column":3},"end":{"line":22,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":82},"end":{"line":19,"column":83}},"loc":{"start":{"line":20,"column":3},"end":{"line":22,"column":44}},"line":20}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/multiFileSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/multiFileSchema.ts","statementMap":{"0":{"start":{"line":5,"column":31},"end":{"line":7,"column":3}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleFileSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleFileSchema.ts","statementMap":{"0":{"start":{"line":7,"column":32},"end":{"line":15,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleTokenSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleTokenSchema.ts","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":7,"column":16}},"1":{"start":{"line":9,"column":29},"end":{"line":13,"column":16}},"2":{"start":{"line":15,"column":33},"end":{"line":15,"column":76}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/themeObjectSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/themeObjectSchema.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":17,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/tokensMapSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/tokensMapSchema.ts","statementMap":{"0":{"start":{"line":8,"column":64},"end":{"line":10,"column":2}},"1":{"start":{"line":9,"column":2},"end":{"line":9,"column":84}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":71},"end":{"line":8,"column":72}},"loc":{"start":{"line":9,"column":2},"end":{"line":9,"column":84}},"line":9}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":19},"end":{"line":18,"column":62}},"1":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"2":{"start":{"line":21,"column":4},"end":{"line":21,"column":43}},"3":{"start":{"line":24,"column":19},"end":{"line":30,"column":18}},"4":{"start":{"line":32,"column":17},"end":{"line":32,"column":40}},"5":{"start":{"line":33,"column":18},"end":{"line":33,"column":57}},"6":{"start":{"line":35,"column":2},"end":{"line":43,"column":5}}},"fnMap":{"0":{"name":"createTokenInTokensStudio","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":47}},"loc":{"start":{"line":17,"column":37},"end":{"line":44,"column":1}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenSetInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenSetInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":21},"end":{"line":18,"column":68}},"1":{"start":{"line":20,"column":2},"end":{"line":32,"column":5}},"2":{"start":{"line":25,"column":6},"end":{"line":30,"column":9}}},"fnMap":{"0":{"name":"createTokenSetInTokensStudio","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":50}},"loc":{"start":{"line":17,"column":40},"end":{"line":33,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":21},"end":{"line":24,"column":22}},"loc":{"start":{"line":24,"column":27},"end":{"line":31,"column":5}},"line":24}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":2},"end":{"line":28,"column":5}},"1":{"start":{"line":24,"column":31},"end":{"line":24,"column":75}},"2":{"start":{"line":25,"column":6},"end":{"line":25,"column":36}},"3":{"start":{"line":26,"column":6},"end":{"line":26,"column":42}}},"fnMap":{"0":{"name":"deleteTokenSetFromTokensStudio","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":52}},"loc":{"start":{"line":17,"column":42},"end":{"line":29,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":27,"column":5}},"line":23}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":20},"end":{"line":26,"column":26}},"1":{"start":{"line":28,"column":20},"end":{"line":28,"column":47}},"2":{"start":{"line":30,"column":2},"end":{"line":40,"column":3}},"3":{"start":{"line":31,"column":28},"end":{"line":31,"column":47}},"4":{"start":{"line":32,"column":31},"end":{"line":32,"column":62}},"5":{"start":{"line":33,"column":27},"end":{"line":33,"column":78}},"6":{"start":{"line":35,"column":4},"end":{"line":39,"column":7}}},"fnMap":{"0":{"name":"duplicateTokenInTokensStudio","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":50}},"loc":{"start":{"line":17,"column":37},"end":{"line":41,"column":1}},"line":17}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":2},"end":{"line":34,"column":5}},"1":{"start":{"line":24,"column":31},"end":{"line":24,"column":75}},"2":{"start":{"line":25,"column":6},"end":{"line":25,"column":44}},"3":{"start":{"line":27,"column":6},"end":{"line":32,"column":9}}},"fnMap":{"0":{"name":"updateTokenSetInTokensStudio","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":50}},"loc":{"start":{"line":17,"column":40},"end":{"line":35,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":33,"column":5}},"line":23}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts","statementMap":{"0":{"start":{"line":3,"column":43},"end":{"line":17,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenMutation.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenSetMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenSetMutation.ts","statementMap":{"0":{"start":{"line":3,"column":41},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts","statementMap":{"0":{"start":{"line":3,"column":43},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenMutation.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts","statementMap":{"0":{"start":{"line":3,"column":41},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getGeneratorQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getGeneratorQuery.ts","statementMap":{"0":{"start":{"line":1,"column":35},"end":{"line":12,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getOrgsQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getOrgsQuery.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":18,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getProjectDataQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getProjectDataQuery.ts","statementMap":{"0":{"start":{"line":3,"column":38},"end":{"line":32,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getTokenSetQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getTokenSetQuery.ts","statementMap":{"0":{"start":{"line":3,"column":35},"end":{"line":21,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/tokenFragment.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/tokenFragment.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":54,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts","statementMap":{"0":{"start":{"line":3,"column":43},"end":{"line":17,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenMutation.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":8,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts","statementMap":{"0":{"start":{"line":3,"column":41},"end":{"line":15,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts","statementMap":{"0":{"start":{"line":3,"column":47},"end":{"line":17,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts","statementMap":{"0":{"start":{"line":10,"column":27},"end":{"line":29,"column":1}},"1":{"start":{"line":11,"column":31},"end":{"line":11,"column":37}},"2":{"start":{"line":13,"column":62},"end":{"line":13,"column":64}},"3":{"start":{"line":14,"column":38},"end":{"line":14,"column":40}},"4":{"start":{"line":16,"column":25},"end":{"line":16,"column":80}},"5":{"start":{"line":16,"column":52},"end":{"line":16,"column":72}},"6":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"7":{"start":{"line":19,"column":27},"end":{"line":19,"column":81}},"8":{"start":{"line":19,"column":56},"end":{"line":19,"column":80}},"9":{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":67}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":45}},"12":{"start":{"line":28,"column":2},"end":{"line":28,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":27},"end":{"line":10,"column":28}},"loc":{"start":{"line":10,"column":70},"end":{"line":29,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":41},"end":{"line":16,"column":42}},"loc":{"start":{"line":16,"column":52},"end":{"line":16,"column":72}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":41},"end":{"line":19,"column":42}},"loc":{"start":{"line":19,"column":56},"end":{"line":19,"column":80}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},{"start":{"line":23,"column":11},"end":{"line":25,"column":5}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts","statementMap":{"0":{"start":{"line":3,"column":38},"end":{"line":14,"column":1}},"1":{"start":{"line":4,"column":64},"end":{"line":4,"column":66}},"2":{"start":{"line":6,"column":2},"end":{"line":11,"column":5}},"3":{"start":{"line":7,"column":4},"end":{"line":10,"column":5}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":80}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":51}},"6":{"start":{"line":13,"column":2},"end":{"line":13,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":38},"end":{"line":3,"column":39}},"loc":{"start":{"line":3,"column":68},"end":{"line":14,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"loc":{"start":{"line":6,"column":28},"end":{"line":11,"column":3}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":8,"column":41},"end":{"line":8,"column":79}},"type":"binary-expr","locations":[{"start":{"line":8,"column":41},"end":{"line":8,"column":73}},{"start":{"line":8,"column":77},"end":{"line":8,"column":79}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts","statementMap":{"0":{"start":{"line":25,"column":6},"end":{"line":25,"column":15}},"1":{"start":{"line":28,"column":6},"end":{"line":28,"column":15}},"2":{"start":{"line":30,"column":42},"end":{"line":30,"column":46}},"3":{"start":{"line":31,"column":62},"end":{"line":31,"column":64}},"4":{"start":{"line":32,"column":38},"end":{"line":32,"column":40}},"5":{"start":{"line":34,"column":2},"end":{"line":69,"column":3}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":68}},"7":{"start":{"line":37,"column":6},"end":{"line":37,"column":12}},"8":{"start":{"line":40,"column":33},"end":{"line":44,"column":8}},"9":{"start":{"line":45,"column":6},"end":{"line":45,"column":55}},"10":{"start":{"line":46,"column":6},"end":{"line":46,"column":67}},"11":{"start":{"line":47,"column":6},"end":{"line":47,"column":67}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":12}},"13":{"start":{"line":51,"column":33},"end":{"line":55,"column":8}},"14":{"start":{"line":56,"column":6},"end":{"line":56,"column":67}},"15":{"start":{"line":57,"column":6},"end":{"line":57,"column":67}},"16":{"start":{"line":58,"column":6},"end":{"line":58,"column":12}},"17":{"start":{"line":66,"column":6},"end":{"line":66,"column":59}},"18":{"start":{"line":67,"column":6},"end":{"line":67,"column":12}},"19":{"start":{"line":71,"column":2},"end":{"line":94,"column":3}},"20":{"start":{"line":72,"column":22},"end":{"line":82,"column":5}},"21":{"start":{"line":74,"column":46},"end":{"line":81,"column":7}},"22":{"start":{"line":85,"column":4},"end":{"line":87,"column":5}},"23":{"start":{"line":86,"column":6},"end":{"line":86,"column":45}},"24":{"start":{"line":89,"column":4},"end":{"line":93,"column":7}},"25":{"start":{"line":96,"column":2},"end":{"line":112,"column":3}},"26":{"start":{"line":97,"column":4},"end":{"line":111,"column":7}},"27":{"start":{"line":114,"column":2},"end":{"line":124,"column":3}},"28":{"start":{"line":115,"column":4},"end":{"line":123,"column":5}},"29":{"start":{"line":116,"column":6},"end":{"line":122,"column":9}}},"fnMap":{"0":{"name":"updateThemeGroupsInTokensStudio","decl":{"start":{"line":18,"column":22},"end":{"line":18,"column":53}},"loc":{"start":{"line":22,"column":43},"end":{"line":125,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":74,"column":34},"end":{"line":74,"column":35}},"loc":{"start":{"line":74,"column":46},"end":{"line":81,"column":7}},"line":74}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":2},"end":{"line":69,"column":3}},"type":"switch","locations":[{"start":{"line":35,"column":4},"end":{"line":38,"column":5}},{"start":{"line":39,"column":4},"end":{"line":49,"column":5}},{"start":{"line":50,"column":4},"end":{"line":59,"column":5}},{"start":{"line":60,"column":4},"end":{"line":60,"column":54}},{"start":{"line":61,"column":4},"end":{"line":61,"column":47}},{"start":{"line":62,"column":4},"end":{"line":62,"column":51}},{"start":{"line":63,"column":4},"end":{"line":63,"column":44}},{"start":{"line":64,"column":4},"end":{"line":64,"column":50}},{"start":{"line":65,"column":4},"end":{"line":67,"column":12}},{"start":{"line":68,"column":4},"end":{"line":68,"column":12}}],"line":34},"1":{"loc":{"start":{"line":85,"column":4},"end":{"line":87,"column":5}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":87,"column":5}},{"start":{},"end":{}}],"line":85},"2":{"loc":{"start":{"line":96,"column":2},"end":{"line":112,"column":3}},"type":"if","locations":[{"start":{"line":96,"column":2},"end":{"line":112,"column":3}},{"start":{},"end":{}}],"line":96},"3":{"loc":{"start":{"line":114,"column":2},"end":{"line":124,"column":3}},"type":"if","locations":[{"start":{"line":114,"column":2},"end":{"line":124,"column":3}},{"start":{},"end":{}}],"line":114}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts","statementMap":{"0":{"start":{"line":10,"column":25},"end":{"line":80,"column":1}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":12}},"2":{"start":{"line":17,"column":27},"end":{"line":22,"column":8}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":62}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":15}},"6":{"start":{"line":23,"column":26},"end":{"line":28,"column":8}},"7":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":62}},"9":{"start":{"line":27,"column":4},"end":{"line":27,"column":15}},"10":{"start":{"line":30,"column":42},"end":{"line":30,"column":46}},"11":{"start":{"line":31,"column":62},"end":{"line":31,"column":64}},"12":{"start":{"line":32,"column":40},"end":{"line":32,"column":42}},"13":{"start":{"line":34,"column":22},"end":{"line":34,"column":74}},"14":{"start":{"line":34,"column":51},"end":{"line":34,"column":73}},"15":{"start":{"line":36,"column":2},"end":{"line":38,"column":3}},"16":{"start":{"line":37,"column":4},"end":{"line":37,"column":77}},"17":{"start":{"line":40,"column":2},"end":{"line":77,"column":3}},"18":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"19":{"start":{"line":44,"column":6},"end":{"line":44,"column":75}},"20":{"start":{"line":47,"column":6},"end":{"line":47,"column":34}},"21":{"start":{"line":51,"column":30},"end":{"line":51,"column":54}},"22":{"start":{"line":53,"column":4},"end":{"line":76,"column":5}},"23":{"start":{"line":54,"column":26},"end":{"line":54,"column":49}},"24":{"start":{"line":55,"column":44},"end":{"line":55,"column":46}},"25":{"start":{"line":56,"column":6},"end":{"line":62,"column":7}},"26":{"start":{"line":58,"column":8},"end":{"line":58,"column":55}},"27":{"start":{"line":61,"column":8},"end":{"line":61,"column":36}},"28":{"start":{"line":65,"column":39},"end":{"line":65,"column":69}},"29":{"start":{"line":66,"column":6},"end":{"line":70,"column":7}},"30":{"start":{"line":67,"column":8},"end":{"line":67,"column":57}},"31":{"start":{"line":69,"column":8},"end":{"line":69,"column":48}},"32":{"start":{"line":72,"column":6},"end":{"line":72,"column":67}},"33":{"start":{"line":75,"column":6},"end":{"line":75,"column":75}},"34":{"start":{"line":79,"column":2},"end":{"line":79,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":25},"end":{"line":10,"column":26}},"loc":{"start":{"line":10,"column":79},"end":{"line":80,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":45},"end":{"line":17,"column":46}},"loc":{"start":{"line":17,"column":61},"end":{"line":22,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":43},"end":{"line":23,"column":44}},"loc":{"start":{"line":23,"column":59},"end":{"line":28,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":37},"end":{"line":34,"column":38}},"loc":{"start":{"line":34,"column":51},"end":{"line":34,"column":73}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":19,"column":30},"end":{"line":19,"column":52}},"type":"binary-expr","locations":[{"start":{"line":19,"column":30},"end":{"line":19,"column":46}},{"start":{"line":19,"column":50},"end":{"line":19,"column":52}}],"line":19},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":25,"column":30},"end":{"line":25,"column":52}},"type":"binary-expr","locations":[{"start":{"line":25,"column":30},"end":{"line":25,"column":46}},{"start":{"line":25,"column":50},"end":{"line":25,"column":52}}],"line":25},"4":{"loc":{"start":{"line":36,"column":2},"end":{"line":38,"column":3}},"type":"if","locations":[{"start":{"line":36,"column":2},"end":{"line":38,"column":3}},{"start":{},"end":{}}],"line":36},"5":{"loc":{"start":{"line":40,"column":2},"end":{"line":77,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":77,"column":3}},{"start":{"line":49,"column":9},"end":{"line":77,"column":3}}],"line":40},"6":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":45,"column":11},"end":{"line":48,"column":5}}],"line":42},"7":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":40}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":13}},{"start":{"line":42,"column":17},"end":{"line":42,"column":40}}],"line":42},"8":{"loc":{"start":{"line":53,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":76,"column":5}},{"start":{"line":73,"column":11},"end":{"line":76,"column":5}}],"line":53},"9":{"loc":{"start":{"line":56,"column":6},"end":{"line":62,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":62,"column":7}},{"start":{"line":59,"column":13},"end":{"line":62,"column":7}}],"line":56},"10":{"loc":{"start":{"line":66,"column":6},"end":{"line":70,"column":7}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":70,"column":7}},{"start":{"line":68,"column":13},"end":{"line":70,"column":7}}],"line":66}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts","statementMap":{"0":{"start":{"line":9,"column":36},"end":{"line":22,"column":1}},"1":{"start":{"line":10,"column":28},"end":{"line":10,"column":34}},"2":{"start":{"line":12,"column":2},"end":{"line":21,"column":7}},"3":{"start":{"line":13,"column":23},"end":{"line":13,"column":46}},"4":{"start":{"line":15,"column":6},"end":{"line":20,"column":7}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":88}},"6":{"start":{"line":17,"column":8},"end":{"line":19,"column":11}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":36},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":88},"end":{"line":22,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":12},"end":{"line":13,"column":13}},"loc":{"start":{"line":13,"column":23},"end":{"line":13,"column":46}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":24},"end":{"line":21,"column":5}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":16,"column":46},"end":{"line":16,"column":87}},"type":"binary-expr","locations":[{"start":{"line":16,"column":46},"end":{"line":16,"column":81}},{"start":{"line":16,"column":85},"end":{"line":16,"column":87}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/compositionFields.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/compositionFields.ts","statementMap":{"0":{"start":{"line":3,"column":46},"end":{"line":9,"column":1}},"1":{"start":{"line":12,"column":41},"end":{"line":17,"column":1}},"2":{"start":{"line":13,"column":17},"end":{"line":15,"column":15}},"3":{"start":{"line":14,"column":22},"end":{"line":14,"column":82}},"4":{"start":{"line":16,"column":2},"end":{"line":16,"column":16}},"5":{"start":{"line":20,"column":33},"end":{"line":20,"column":70}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":41},"end":{"line":12,"column":42}},"loc":{"start":{"line":12,"column":84},"end":{"line":17,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":12},"end":{"line":14,"column":13}},"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":82}},"line":14}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stories/tokensForStories.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stories/tokensForStories.ts","statementMap":{"0":{"start":{"line":3,"column":32},"end":{"line":134,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/core.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/core.ts","statementMap":{"0":{"start":{"line":3,"column":21},"end":{"line":6,"column":1}},"1":{"start":{"line":8,"column":21},"end":{"line":12,"column":1}},"2":{"start":{"line":14,"column":21},"end":{"line":27,"column":1}},"3":{"start":{"line":29,"column":21},"end":{"line":39,"column":1}},"4":{"start":{"line":41,"column":27},"end":{"line":44,"column":1}},"5":{"start":{"line":46,"column":25},"end":{"line":52,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/dark.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/dark.ts","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":56,"column":1}},"1":{"start":{"line":58,"column":23},"end":{"line":65,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/light.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/light.ts","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":56,"column":1}},"1":{"start":{"line":58,"column":23},"end":{"line":65,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"052cff7fbc9226e362f10b4e3fc0484437475623"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Auth.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Auth.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ChangelogItem.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ChangelogItem.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/CompositionTokenProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/CompositionTokenProperty.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/DeepTokensMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/DeepTokensMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ExportTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ExportTokenSet.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/FigmaStyleMaps.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/FigmaStyleMaps.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/MapValuesToTokensResult.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/MapValuesToTokensResult.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Modifier.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Modifier.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeInfo.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/OptionalPartial.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/OptionalPartial.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullStylesOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullStylesOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RawVariableReferenceMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RawVariableReferenceMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RemoteResponseData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RemoteResponseData.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RootModel.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RootModel.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SecondScreen.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SecondScreen.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionGroup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionGroup.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ShowFormOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ShowFormOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StitchesCSS.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StitchesCSS.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StorageType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StorageType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StoryblokStory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StoryblokStory.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StyleIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StyleIdMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObjectsList.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObjectsList.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/TokenMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/TokenMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateNodesSettings.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateNodesSettings.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateRemoteFunction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateRemoteFunction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UsedTokenSetsMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UsedTokenSetsMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableReferenceMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableReferenceMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/messages.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/messages.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e192597f1ccf92df3f051992f0eca8271809355b"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/userData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/userData.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/valueTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/valueTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenGroupPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenGroupPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenGroupPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenGroupPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokenGroupPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokenGroupPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokensAcrossSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokensAcrossSets.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokenDataPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokenDataPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromStylesPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromStylesPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromVariablesPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromVariablesPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/ToggleManyTokenSetsPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/ToggleManyTokenSetsPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateDocumentPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateDocumentPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenVariablePayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenVariablePayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/PropertyObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/PropertyObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/ActionMeta.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/ActionMeta.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyInspectStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyInspectStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnySettingsStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnySettingsStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyTokenStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyTokenStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyUiStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyUiStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenList.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenList.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenSet.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/DeepKeyTokenMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/DeepKeyTokenMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/EditTokenObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/EditTokenObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/ImportToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/ImportToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleAssetToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleAssetToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBooleanToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBooleanToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderRadiusToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderRadiusToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderWidthToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderWidthToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBoxShadowToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBoxShadowToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleColorToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleColorToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleCompositionToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleCompositionToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleDimensionToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleDimensionToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontFamiliesToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontFamiliesToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontSizesToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontSizesToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontWeightsToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontWeightsToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleGenericToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleGenericToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLetterSpacingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLetterSpacingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLineHeightsToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLineHeightsToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleNumberToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleNumberToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOpacityToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOpacityToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOtherToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOtherToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleParagraphSpacingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleParagraphSpacingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSizingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSizingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSpacingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSpacingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextCaseToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextCaseToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextDecorationToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextDecorationToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTypographyToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTypographyToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenToRename.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenToRename.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenTypeSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenTypeSchema.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenValues.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenValues.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStore.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStore.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStoreValuesSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStoreValuesSet.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBorderValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBorderValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBoxShadowValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBoxShadowValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextCaseValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextCaseValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextDecorationValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextDecorationValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTypographyValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTypographyValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/TokenResolver.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/TokenResolver.ts","statementMap":{"0":{"start":{"line":21,"column":4},"end":{"line":21,"column":25}},"1":{"start":{"line":22,"column":4},"end":{"line":22,"column":30}},"2":{"start":{"line":23,"column":4},"end":{"line":23,"column":26}},"3":{"start":{"line":25,"column":4},"end":{"line":25,"column":28}},"4":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"5":{"start":{"line":31,"column":6},"end":{"line":31,"column":43}},"6":{"start":{"line":37,"column":4},"end":{"line":37,"column":25}},"7":{"start":{"line":38,"column":4},"end":{"line":38,"column":30}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":26}},"9":{"start":{"line":40,"column":4},"end":{"line":40,"column":28}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":37}},"11":{"start":{"line":47,"column":55},"end":{"line":47,"column":57}},"12":{"start":{"line":49,"column":4},"end":{"line":58,"column":5}},"13":{"start":{"line":50,"column":28},"end":{"line":50,"column":57}},"14":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"15":{"start":{"line":52,"column":8},"end":{"line":52,"column":45}},"16":{"start":{"line":54,"column":6},"end":{"line":57,"column":37}},"17":{"start":{"line":60,"column":4},"end":{"line":60,"column":26}},"18":{"start":{"line":64,"column":18},"end":{"line":64,"column":51}},"19":{"start":{"line":65,"column":25},"end":{"line":65,"column":43}},"20":{"start":{"line":68,"column":26},"end":{"line":68,"column":33}},"21":{"start":{"line":69,"column":30},"end":{"line":69,"column":44}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":116}},"23":{"start":{"line":77,"column":4},"end":{"line":106,"column":5}},"24":{"start":{"line":78,"column":33},"end":{"line":78,"column":122}},"25":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"26":{"start":{"line":82,"column":8},"end":{"line":82,"column":58}},"27":{"start":{"line":86,"column":23},"end":{"line":86,"column":55}},"28":{"start":{"line":89,"column":6},"end":{"line":103,"column":7}},"29":{"start":{"line":90,"column":8},"end":{"line":97,"column":9}},"30":{"start":{"line":92,"column":10},"end":{"line":96,"column":13}},"31":{"start":{"line":99,"column":8},"end":{"line":102,"column":11}},"32":{"start":{"line":105,"column":6},"end":{"line":105,"column":22}},"33":{"start":{"line":109,"column":4},"end":{"line":109,"column":23}},"34":{"start":{"line":114,"column":20},"end":{"line":114,"column":43}},"35":{"start":{"line":117,"column":4},"end":{"line":122,"column":5}},"36":{"start":{"line":118,"column":26},"end":{"line":118,"column":48}},"37":{"start":{"line":119,"column":6},"end":{"line":121,"column":7}},"38":{"start":{"line":120,"column":8},"end":{"line":120,"column":27}},"39":{"start":{"line":127,"column":4},"end":{"line":259,"column":5}},"40":{"start":{"line":128,"column":25},"end":{"line":128,"column":71}},"41":{"start":{"line":130,"column":45},"end":{"line":130,"column":56}},"42":{"start":{"line":134,"column":6},"end":{"line":225,"column":7}},"43":{"start":{"line":135,"column":21},"end":{"line":135,"column":43}},"44":{"start":{"line":138,"column":8},"end":{"line":144,"column":9}},"45":{"start":{"line":139,"column":10},"end":{"line":143,"column":40}},"46":{"start":{"line":147,"column":27},"end":{"line":147,"column":31}},"47":{"start":{"line":148,"column":31},"end":{"line":148,"column":35}},"48":{"start":{"line":151,"column":8},"end":{"line":168,"column":9}},"49":{"start":{"line":152,"column":24},"end":{"line":152,"column":54}},"50":{"start":{"line":153,"column":10},"end":{"line":153,"column":43}},"51":{"start":{"line":154,"column":10},"end":{"line":154,"column":36}},"52":{"start":{"line":154,"column":30},"end":{"line":154,"column":36}},"53":{"start":{"line":156,"column":34},"end":{"line":156,"column":55}},"54":{"start":{"line":157,"column":30},"end":{"line":157,"column":64}},"55":{"start":{"line":159,"column":10},"end":{"line":167,"column":11}},"56":{"start":{"line":160,"column":40},"end":{"line":160,"column":149}},"57":{"start":{"line":162,"column":12},"end":{"line":164,"column":13}},"58":{"start":{"line":163,"column":14},"end":{"line":163,"column":87}},"59":{"start":{"line":166,"column":12},"end":{"line":166,"column":18}},"60":{"start":{"line":174,"column":29},"end":{"line":174,"column":52}},"61":{"start":{"line":175,"column":29},"end":{"line":175,"column":57}},"62":{"start":{"line":176,"column":41},"end":{"line":176,"column":63}},"63":{"start":{"line":177,"column":8},"end":{"line":177,"column":53}},"64":{"start":{"line":179,"column":8},"end":{"line":224,"column":9}},"65":{"start":{"line":181,"column":10},"end":{"line":183,"column":11}},"66":{"start":{"line":182,"column":12},"end":{"line":182,"column":59}},"67":{"start":{"line":185,"column":40},"end":{"line":185,"column":67}},"68":{"start":{"line":186,"column":10},"end":{"line":186,"column":50}},"69":{"start":{"line":188,"column":37},"end":{"line":188,"column":136}},"70":{"start":{"line":189,"column":10},"end":{"line":191,"column":11}},"71":{"start":{"line":190,"column":12},"end":{"line":190,"column":89}},"72":{"start":{"line":194,"column":10},"end":{"line":198,"column":11}},"73":{"start":{"line":195,"column":12},"end":{"line":197,"column":42}},"74":{"start":{"line":201,"column":10},"end":{"line":205,"column":11}},"75":{"start":{"line":202,"column":12},"end":{"line":202,"column":81}},"76":{"start":{"line":203,"column":17},"end":{"line":205,"column":11}},"77":{"start":{"line":204,"column":12},"end":{"line":204,"column":50}},"78":{"start":{"line":208,"column":44},"end":{"line":208,"column":94}},"79":{"start":{"line":209,"column":10},"end":{"line":223,"column":11}},"80":{"start":{"line":210,"column":39},"end":{"line":210,"column":107}},"81":{"start":{"line":211,"column":32},"end":{"line":211,"column":122}},"82":{"start":{"line":213,"column":12},"end":{"line":217,"column":13}},"83":{"start":{"line":214,"column":14},"end":{"line":214,"column":39}},"84":{"start":{"line":216,"column":14},"end":{"line":216,"column":191}},"85":{"start":{"line":220,"column":12},"end":{"line":222,"column":42}},"86":{"start":{"line":229,"column":6},"end":{"line":250,"column":7}},"87":{"start":{"line":232,"column":27},"end":{"line":232,"column":119}},"88":{"start":{"line":233,"column":8},"end":{"line":237,"column":9}},"89":{"start":{"line":234,"column":10},"end":{"line":234,"column":32}},"90":{"start":{"line":236,"column":10},"end":{"line":236,"column":86}},"91":{"start":{"line":240,"column":27},"end":{"line":240,"column":43}},"92":{"start":{"line":242,"column":37},"end":{"line":242,"column":64}},"93":{"start":{"line":247,"column":8},"end":{"line":249,"column":38}},"94":{"start":{"line":253,"column":6},"end":{"line":255,"column":7}},"95":{"start":{"line":254,"column":8},"end":{"line":254,"column":46}},"96":{"start":{"line":258,"column":6},"end":{"line":258,"column":55}},"97":{"start":{"line":262,"column":4},"end":{"line":288,"column":5}},"98":{"start":{"line":263,"column":35},"end":{"line":263,"column":37}},"99":{"start":{"line":265,"column":28},"end":{"line":265,"column":33}},"100":{"start":{"line":266,"column":6},"end":{"line":274,"column":7}},"101":{"start":{"line":268,"column":29},"end":{"line":268,"column":103}},"102":{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},"103":{"start":{"line":270,"column":10},"end":{"line":270,"column":33}},"104":{"start":{"line":273,"column":8},"end":{"line":273,"column":47}},"105":{"start":{"line":277,"column":28},"end":{"line":279,"column":35}},"106":{"start":{"line":281,"column":6},"end":{"line":283,"column":7}},"107":{"start":{"line":282,"column":8},"end":{"line":282,"column":46}},"108":{"start":{"line":285,"column":6},"end":{"line":285,"column":62}},"109":{"start":{"line":287,"column":6},"end":{"line":287,"column":27}},"110":{"start":{"line":291,"column":4},"end":{"line":322,"column":5}},"111":{"start":{"line":292,"column":53},"end":{"line":292,"column":55}},"112":{"start":{"line":294,"column":28},"end":{"line":294,"column":33}},"113":{"start":{"line":295,"column":6},"end":{"line":309,"column":7}},"114":{"start":{"line":296,"column":8},"end":{"line":308,"column":9}},"115":{"start":{"line":297,"column":37},"end":{"line":297,"column":82}},"116":{"start":{"line":298,"column":32},"end":{"line":298,"column":120}},"117":{"start":{"line":300,"column":10},"end":{"line":302,"column":11}},"118":{"start":{"line":301,"column":12},"end":{"line":301,"column":35}},"119":{"start":{"line":304,"column":10},"end":{"line":306,"column":11}},"120":{"start":{"line":305,"column":12},"end":{"line":305,"column":35}},"121":{"start":{"line":307,"column":10},"end":{"line":307,"column":52}},"122":{"start":{"line":311,"column":28},"end":{"line":311,"column":140}},"123":{"start":{"line":313,"column":6},"end":{"line":315,"column":7}},"124":{"start":{"line":314,"column":8},"end":{"line":314,"column":46}},"125":{"start":{"line":319,"column":6},"end":{"line":319,"column":62}},"126":{"start":{"line":321,"column":6},"end":{"line":321,"column":27}},"127":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"128":{"start":{"line":328,"column":4},"end":{"line":328,"column":40}},"129":{"start":{"line":332,"column":29},"end":{"line":332,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":20,"column":37},"end":{"line":26,"column":3}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":29,"column":35},"end":{"line":33,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":36,"column":70},"end":{"line":43,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":46,"column":58},"end":{"line":61,"column":3}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":63,"column":53},"end":{"line":72,"column":3}},"line":63},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":75,"column":129},"end":{"line":110,"column":3}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":3}},"loc":{"start":{"line":112,"column":118},"end":{"line":325,"column":3}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":327,"column":2},"end":{"line":327,"column":3}},"loc":{"start":{"line":327,"column":57},"end":{"line":329,"column":3}},"line":327}},"branchMap":{"0":{"loc":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},{"start":{},"end":{}}],"line":51},"1":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":89}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":49}},{"start":{"line":51,"column":53},"end":{"line":51,"column":89}}],"line":51},"2":{"loc":{"start":{"line":71,"column":11},"end":{"line":71,"column":115}},"type":"binary-expr","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":27}},{"start":{"line":71,"column":31},"end":{"line":71,"column":54}},{"start":{"line":71,"column":60},"end":{"line":71,"column":83}},{"start":{"line":71,"column":87},"end":{"line":71,"column":114}}],"line":71},"3":{"loc":{"start":{"line":75,"column":50},"end":{"line":75,"column":93}},"type":"default-arg","locations":[{"start":{"line":75,"column":84},"end":{"line":75,"column":93}}],"line":75},"4":{"loc":{"start":{"line":77,"column":4},"end":{"line":106,"column":5}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":106,"column":5}},{"start":{},"end":{}}],"line":77},"5":{"loc":{"start":{"line":78,"column":33},"end":{"line":78,"column":122}},"type":"cond-expr","locations":[{"start":{"line":78,"column":75},"end":{"line":78,"column":108}},{"start":{"line":78,"column":111},"end":{"line":78,"column":122}}],"line":78},"6":{"loc":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"type":"if","locations":[{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},{"start":{},"end":{}}],"line":81},"7":{"loc":{"start":{"line":89,"column":6},"end":{"line":103,"column":7}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":103,"column":7}},{"start":{},"end":{}}],"line":89},"8":{"loc":{"start":{"line":89,"column":10},"end":{"line":89,"column":96}},"type":"binary-expr","locations":[{"start":{"line":89,"column":10},"end":{"line":89,"column":35}},{"start":{"line":89,"column":39},"end":{"line":89,"column":84}},{"start":{"line":89,"column":88},"end":{"line":89,"column":96}}],"line":89},"9":{"loc":{"start":{"line":90,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":97,"column":9}},{"start":{},"end":{}}],"line":90},"10":{"loc":{"start":{"line":95,"column":19},"end":{"line":95,"column":169}},"type":"binary-expr","locations":[{"start":{"line":95,"column":19},"end":{"line":95,"column":156}},{"start":{"line":95,"column":160},"end":{"line":95,"column":169}}],"line":95},"11":{"loc":{"start":{"line":112,"column":47},"end":{"line":112,"column":90}},"type":"default-arg","locations":[{"start":{"line":112,"column":81},"end":{"line":112,"column":90}}],"line":112},"12":{"loc":{"start":{"line":114,"column":20},"end":{"line":114,"column":43}},"type":"binary-expr","locations":[{"start":{"line":114,"column":20},"end":{"line":114,"column":30}},{"start":{"line":114,"column":34},"end":{"line":114,"column":43}}],"line":114},"13":{"loc":{"start":{"line":117,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":122,"column":5}},{"start":{},"end":{}}],"line":117},"14":{"loc":{"start":{"line":117,"column":8},"end":{"line":117,"column":41}},"type":"binary-expr","locations":[{"start":{"line":117,"column":8},"end":{"line":117,"column":15}},{"start":{"line":117,"column":19},"end":{"line":117,"column":41}}],"line":117},"15":{"loc":{"start":{"line":119,"column":6},"end":{"line":121,"column":7}},"type":"if","locations":[{"start":{"line":119,"column":6},"end":{"line":121,"column":7}},{"start":{},"end":{}}],"line":119},"16":{"loc":{"start":{"line":127,"column":4},"end":{"line":259,"column":5}},"type":"if","locations":[{"start":{"line":127,"column":4},"end":{"line":259,"column":5}},{"start":{},"end":{}}],"line":127},"17":{"loc":{"start":{"line":128,"column":25},"end":{"line":128,"column":71}},"type":"binary-expr","locations":[{"start":{"line":128,"column":25},"end":{"line":128,"column":65}},{"start":{"line":128,"column":69},"end":{"line":128,"column":71}}],"line":128},"18":{"loc":{"start":{"line":138,"column":8},"end":{"line":144,"column":9}},"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":144,"column":9}},{"start":{},"end":{}}],"line":138},"19":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":36}},"type":"if","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":36}},{"start":{},"end":{}}],"line":154},"20":{"loc":{"start":{"line":159,"column":10},"end":{"line":167,"column":11}},"type":"if","locations":[{"start":{"line":159,"column":10},"end":{"line":167,"column":11}},{"start":{"line":165,"column":17},"end":{"line":167,"column":11}}],"line":159},"21":{"loc":{"start":{"line":159,"column":14},"end":{"line":159,"column":46}},"type":"binary-expr","locations":[{"start":{"line":159,"column":14},"end":{"line":159,"column":25}},{"start":{"line":159,"column":29},"end":{"line":159,"column":46}}],"line":159},"22":{"loc":{"start":{"line":162,"column":12},"end":{"line":164,"column":13}},"type":"if","locations":[{"start":{"line":162,"column":12},"end":{"line":164,"column":13}},{"start":{},"end":{}}],"line":162},"23":{"loc":{"start":{"line":162,"column":16},"end":{"line":162,"column":110}},"type":"binary-expr","locations":[{"start":{"line":162,"column":16},"end":{"line":162,"column":61}},{"start":{"line":162,"column":65},"end":{"line":162,"column":110}}],"line":162},"24":{"loc":{"start":{"line":179,"column":8},"end":{"line":224,"column":9}},"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":224,"column":9}},{"start":{"line":206,"column":15},"end":{"line":224,"column":9}}],"line":179},"25":{"loc":{"start":{"line":181,"column":10},"end":{"line":183,"column":11}},"type":"if","locations":[{"start":{"line":181,"column":10},"end":{"line":183,"column":11}},{"start":{},"end":{}}],"line":181},"26":{"loc":{"start":{"line":181,"column":14},"end":{"line":181,"column":122}},"type":"binary-expr","locations":[{"start":{"line":181,"column":14},"end":{"line":181,"column":45}},{"start":{"line":181,"column":50},"end":{"line":181,"column":86}},{"start":{"line":181,"column":90},"end":{"line":181,"column":121}}],"line":181},"27":{"loc":{"start":{"line":189,"column":10},"end":{"line":191,"column":11}},"type":"if","locations":[{"start":{"line":189,"column":10},"end":{"line":191,"column":11}},{"start":{},"end":{}}],"line":189},"28":{"loc":{"start":{"line":194,"column":10},"end":{"line":198,"column":11}},"type":"if","locations":[{"start":{"line":194,"column":10},"end":{"line":198,"column":11}},{"start":{},"end":{}}],"line":194},"29":{"loc":{"start":{"line":201,"column":10},"end":{"line":205,"column":11}},"type":"if","locations":[{"start":{"line":201,"column":10},"end":{"line":205,"column":11}},{"start":{"line":203,"column":17},"end":{"line":205,"column":11}}],"line":201},"30":{"loc":{"start":{"line":201,"column":14},"end":{"line":201,"column":142}},"type":"binary-expr","locations":[{"start":{"line":201,"column":14},"end":{"line":201,"column":44}},{"start":{"line":201,"column":49},"end":{"line":201,"column":93}},{"start":{"line":201,"column":97},"end":{"line":201,"column":141}}],"line":201},"31":{"loc":{"start":{"line":203,"column":17},"end":{"line":205,"column":11}},"type":"if","locations":[{"start":{"line":203,"column":17},"end":{"line":205,"column":11}},{"start":{},"end":{}}],"line":203},"32":{"loc":{"start":{"line":209,"column":10},"end":{"line":223,"column":11}},"type":"if","locations":[{"start":{"line":209,"column":10},"end":{"line":223,"column":11}},{"start":{"line":218,"column":17},"end":{"line":223,"column":11}}],"line":209},"33":{"loc":{"start":{"line":209,"column":14},"end":{"line":209,"column":97}},"type":"binary-expr","locations":[{"start":{"line":209,"column":14},"end":{"line":209,"column":39}},{"start":{"line":209,"column":43},"end":{"line":209,"column":97}}],"line":209},"34":{"loc":{"start":{"line":213,"column":12},"end":{"line":217,"column":13}},"type":"if","locations":[{"start":{"line":213,"column":12},"end":{"line":217,"column":13}},{"start":{"line":215,"column":19},"end":{"line":217,"column":13}}],"line":213},"35":{"loc":{"start":{"line":216,"column":27},"end":{"line":216,"column":190}},"type":"cond-expr","locations":[{"start":{"line":216,"column":134},"end":{"line":216,"column":176}},{"start":{"line":216,"column":179},"end":{"line":216,"column":190}}],"line":216},"36":{"loc":{"start":{"line":216,"column":28},"end":{"line":216,"column":130}},"type":"binary-expr","locations":[{"start":{"line":216,"column":28},"end":{"line":216,"column":58}},{"start":{"line":216,"column":63},"end":{"line":216,"column":94}},{"start":{"line":216,"column":98},"end":{"line":216,"column":129}}],"line":216},"37":{"loc":{"start":{"line":229,"column":6},"end":{"line":250,"column":7}},"type":"if","locations":[{"start":{"line":229,"column":6},"end":{"line":250,"column":7}},{"start":{"line":238,"column":13},"end":{"line":250,"column":7}}],"line":229},"38":{"loc":{"start":{"line":229,"column":10},"end":{"line":229,"column":108}},"type":"binary-expr","locations":[{"start":{"line":229,"column":11},"end":{"line":229,"column":41}},{"start":{"line":229,"column":45},"end":{"line":229,"column":75}},{"start":{"line":229,"column":80},"end":{"line":229,"column":108}}],"line":229},"39":{"loc":{"start":{"line":233,"column":8},"end":{"line":237,"column":9}},"type":"if","locations":[{"start":{"line":233,"column":8},"end":{"line":237,"column":9}},{"start":{"line":235,"column":15},"end":{"line":237,"column":9}}],"line":233},"40":{"loc":{"start":{"line":248,"column":66},"end":{"line":248,"column":119}},"type":"cond-expr","locations":[{"start":{"line":248,"column":89},"end":{"line":248,"column":114}},{"start":{"line":248,"column":117},"end":{"line":248,"column":119}}],"line":248},"41":{"loc":{"start":{"line":248,"column":126},"end":{"line":248,"column":215}},"type":"cond-expr","locations":[{"start":{"line":248,"column":179},"end":{"line":248,"column":210}},{"start":{"line":248,"column":213},"end":{"line":248,"column":215}}],"line":248},"42":{"loc":{"start":{"line":253,"column":6},"end":{"line":255,"column":7}},"type":"if","locations":[{"start":{"line":253,"column":6},"end":{"line":255,"column":7}},{"start":{},"end":{}}],"line":253},"43":{"loc":{"start":{"line":262,"column":4},"end":{"line":288,"column":5}},"type":"if","locations":[{"start":{"line":262,"column":4},"end":{"line":288,"column":5}},{"start":{},"end":{}}],"line":262},"44":{"loc":{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},"type":"if","locations":[{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},{"start":{},"end":{}}],"line":269},"45":{"loc":{"start":{"line":278,"column":67},"end":{"line":278,"column":109}},"type":"cond-expr","locations":[{"start":{"line":278,"column":85},"end":{"line":278,"column":104}},{"start":{"line":278,"column":107},"end":{"line":278,"column":109}}],"line":278},"46":{"loc":{"start":{"line":281,"column":6},"end":{"line":283,"column":7}},"type":"if","locations":[{"start":{"line":281,"column":6},"end":{"line":283,"column":7}},{"start":{},"end":{}}],"line":281},"47":{"loc":{"start":{"line":291,"column":4},"end":{"line":322,"column":5}},"type":"if","locations":[{"start":{"line":291,"column":4},"end":{"line":322,"column":5}},{"start":{},"end":{}}],"line":291},"48":{"loc":{"start":{"line":291,"column":8},"end":{"line":291,"column":63}},"type":"binary-expr","locations":[{"start":{"line":291,"column":8},"end":{"line":291,"column":39}},{"start":{"line":291,"column":43},"end":{"line":291,"column":63}}],"line":291},"49":{"loc":{"start":{"line":296,"column":8},"end":{"line":308,"column":9}},"type":"if","locations":[{"start":{"line":296,"column":8},"end":{"line":308,"column":9}},{"start":{},"end":{}}],"line":296},"50":{"loc":{"start":{"line":300,"column":10},"end":{"line":302,"column":11}},"type":"if","locations":[{"start":{"line":300,"column":10},"end":{"line":302,"column":11}},{"start":{},"end":{}}],"line":300},"51":{"loc":{"start":{"line":304,"column":10},"end":{"line":306,"column":11}},"type":"if","locations":[{"start":{"line":304,"column":10},"end":{"line":306,"column":11}},{"start":{},"end":{}}],"line":304},"52":{"loc":{"start":{"line":304,"column":14},"end":{"line":304,"column":83}},"type":"binary-expr","locations":[{"start":{"line":304,"column":14},"end":{"line":304,"column":53}},{"start":{"line":304,"column":57},"end":{"line":304,"column":83}}],"line":304},"53":{"loc":{"start":{"line":311,"column":67},"end":{"line":311,"column":109}},"type":"cond-expr","locations":[{"start":{"line":311,"column":85},"end":{"line":311,"column":104}},{"start":{"line":311,"column":107},"end":{"line":311,"column":109}}],"line":311},"54":{"loc":{"start":{"line":313,"column":6},"end":{"line":315,"column":7}},"type":"if","locations":[{"start":{"line":313,"column":6},"end":{"line":315,"column":7}},{"start":{},"end":{}}],"line":313}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0],"37":[0,0],"38":[0,0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addIdPropertyToTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addIdPropertyToTokens.ts","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":35,"column":8}},"1":{"start":{"line":7,"column":25},"end":{"line":32,"column":6}},"2":{"start":{"line":8,"column":6},"end":{"line":30,"column":7}},"3":{"start":{"line":9,"column":38},"end":{"line":9,"column":75}},"4":{"start":{"line":10,"column":30},"end":{"line":16,"column":9}},"5":{"start":{"line":17,"column":8},"end":{"line":29,"column":10}},"6":{"start":{"line":31,"column":6},"end":{"line":31,"column":19}},"7":{"start":{"line":33,"column":4},"end":{"line":33,"column":28}},"8":{"start":{"line":34,"column":4},"end":{"line":34,"column":15}},"9":{"start":{"line":37,"column":2},"end":{"line":37,"column":18}}},"fnMap":{"0":{"name":"addIdPropertyToTokens","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":45}},"loc":{"start":{"line":5,"column":84},"end":{"line":38,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":79},"end":{"line":6,"column":80}},"loc":{"start":{"line":6,"column":100},"end":{"line":35,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":33},"end":{"line":7,"column":34}},"loc":{"start":{"line":7,"column":44},"end":{"line":32,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":8,"column":6},"end":{"line":30,"column":7}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":20,"column":14},"end":{"line":28,"column":16}},"type":"cond-expr","locations":[{"start":{"line":20,"column":57},"end":{"line":28,"column":11}},{"start":{"line":28,"column":14},"end":{"line":28,"column":16}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addLicenseKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addLicenseKey.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":13,"column":63}},"1":{"start":{"line":15,"column":31},"end":{"line":15,"column":35}},"2":{"start":{"line":16,"column":26},"end":{"line":16,"column":33}},"3":{"start":{"line":20,"column":6},"end":{"line":20,"column":50}},"4":{"start":{"line":22,"column":2},"end":{"line":47,"column":3}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":61}},"6":{"start":{"line":24,"column":4},"end":{"line":24,"column":46}},"7":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"8":{"start":{"line":26,"column":6},"end":{"line":26,"column":85}},"9":{"start":{"line":30,"column":4},"end":{"line":30,"column":50}},"10":{"start":{"line":31,"column":4},"end":{"line":35,"column":7}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":64}},"12":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":47}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":44}},"15":{"start":{"line":43,"column":4},"end":{"line":46,"column":7}},"16":{"start":{"line":48,"column":2},"end":{"line":48,"column":40}}},"fnMap":{"0":{"name":"addLicenseKey","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":35}},"loc":{"start":{"line":12,"column":3},"end":{"line":49,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":47,"column":3}},{"start":{"line":28,"column":9},"end":{"line":47,"column":3}}],"line":22},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{},"end":{}}],"line":25},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/analytics.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/analytics.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":31}},"2":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":12,"column":4},"end":{"line":12,"column":31}},"4":{"start":{"line":14,"column":4},"end":{"line":19,"column":7}},"5":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":30}},"7":{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},"8":{"start":{"line":31,"column":4},"end":{"line":35,"column":7}}},"fnMap":{"0":{"name":"track","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":21}},"loc":{"start":{"line":4,"column":47},"end":{"line":8,"column":1}},"line":4},"1":{"name":"identify","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":112},"end":{"line":21,"column":1}},"line":10},"2":{"name":"setUserData","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":27}},"loc":{"start":{"line":23,"column":61},"end":{"line":27,"column":1}},"line":23},"3":{"name":"initializeAnalytics","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":35}},"loc":{"start":{"line":29,"column":38},"end":{"line":37,"column":1}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":36},"end":{"line":4,"column":45}},"type":"default-arg","locations":[{"start":{"line":4,"column":43},"end":{"line":4,"column":45}}],"line":4},"1":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5},"2":{"loc":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":11},"3":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":50}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":39}},{"start":{"line":11,"column":43},"end":{"line":11,"column":50}}],"line":11},"4":{"loc":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":24,"column":6},"end":{"line":24,"column":63}},"type":"binary-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":39}},{"start":{"line":24,"column":43},"end":{"line":24,"column":63}}],"line":24},"6":{"loc":{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},{"start":{},"end":{}}],"line":30}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/annotations.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/annotations.tsx","statementMap":{"0":{"start":{"line":7,"column":13},"end":{"line":7,"column":15}},"1":{"start":{"line":8,"column":18},"end":{"line":8,"column":20}},"2":{"start":{"line":9,"column":18},"end":{"line":9,"column":61}},"3":{"start":{"line":10,"column":19},"end":{"line":10,"column":59}},"4":{"start":{"line":11,"column":17},"end":{"line":11,"column":43}},"5":{"start":{"line":12,"column":21},"end":{"line":12,"column":48}},"6":{"start":{"line":13,"column":20},"end":{"line":13,"column":40}},"7":{"start":{"line":14,"column":19},"end":{"line":14,"column":45}},"8":{"start":{"line":15,"column":20},"end":{"line":15,"column":48}},"9":{"start":{"line":21,"column":2},"end":{"line":21,"column":62}},"10":{"start":{"line":21,"column":28},"end":{"line":21,"column":62}},"11":{"start":{"line":23,"column":2},"end":{"line":45,"column":3}},"12":{"start":{"line":24,"column":4},"end":{"line":44,"column":5}},"13":{"start":{"line":25,"column":6},"end":{"line":38,"column":7}},"14":{"start":{"line":26,"column":8},"end":{"line":37,"column":9}},"15":{"start":{"line":29,"column":12},"end":{"line":29,"column":30}},"16":{"start":{"line":30,"column":12},"end":{"line":30,"column":18}},"17":{"start":{"line":32,"column":12},"end":{"line":32,"column":78}},"18":{"start":{"line":33,"column":12},"end":{"line":33,"column":18}},"19":{"start":{"line":35,"column":12},"end":{"line":35,"column":30}},"20":{"start":{"line":36,"column":12},"end":{"line":36,"column":18}},"21":{"start":{"line":39,"column":6},"end":{"line":39,"column":26}},"22":{"start":{"line":40,"column":6},"end":{"line":40,"column":26}},"23":{"start":{"line":41,"column":6},"end":{"line":43,"column":33}},"24":{"start":{"line":47,"column":2},"end":{"line":50,"column":4}},"25":{"start":{"line":54,"column":10},"end":{"line":54,"column":11}},"26":{"start":{"line":55,"column":10},"end":{"line":55,"column":11}},"27":{"start":{"line":58,"column":33},"end":{"line":58,"column":79}},"28":{"start":{"line":60,"column":2},"end":{"line":78,"column":3}},"29":{"start":{"line":62,"column":6},"end":{"line":62,"column":60}},"30":{"start":{"line":63,"column":6},"end":{"line":63,"column":56}},"31":{"start":{"line":64,"column":6},"end":{"line":64,"column":12}},"32":{"start":{"line":66,"column":6},"end":{"line":66,"column":60}},"33":{"start":{"line":67,"column":6},"end":{"line":67,"column":62}},"34":{"start":{"line":68,"column":6},"end":{"line":68,"column":12}},"35":{"start":{"line":70,"column":6},"end":{"line":70,"column":60}},"36":{"start":{"line":71,"column":6},"end":{"line":71,"column":61}},"37":{"start":{"line":72,"column":6},"end":{"line":72,"column":12}},"38":{"start":{"line":75,"column":6},"end":{"line":75,"column":55}},"39":{"start":{"line":76,"column":6},"end":{"line":76,"column":62}},"40":{"start":{"line":77,"column":6},"end":{"line":77,"column":12}},"41":{"start":{"line":80,"column":2},"end":{"line":80,"column":28}},"42":{"start":{"line":87,"column":2},"end":{"line":120,"column":7}},"43":{"start":{"line":88,"column":23},"end":{"line":88,"column":55}},"44":{"start":{"line":90,"column":19},"end":{"line":90,"column":38}},"45":{"start":{"line":91,"column":6},"end":{"line":91,"column":37}},"46":{"start":{"line":92,"column":6},"end":{"line":92,"column":44}},"47":{"start":{"line":93,"column":6},"end":{"line":93,"column":39}},"48":{"start":{"line":94,"column":6},"end":{"line":94,"column":72}},"49":{"start":{"line":95,"column":6},"end":{"line":95,"column":42}},"50":{"start":{"line":96,"column":6},"end":{"line":96,"column":42}},"51":{"start":{"line":98,"column":23},"end":{"line":98,"column":41}},"52":{"start":{"line":99,"column":24},"end":{"line":99,"column":42}},"53":{"start":{"line":100,"column":6},"end":{"line":100,"column":57}},"54":{"start":{"line":101,"column":6},"end":{"line":101,"column":57}},"55":{"start":{"line":102,"column":6},"end":{"line":102,"column":64}},"56":{"start":{"line":104,"column":6},"end":{"line":117,"column":7}},"57":{"start":{"line":105,"column":8},"end":{"line":105,"column":39}},"58":{"start":{"line":106,"column":8},"end":{"line":106,"column":39}},"59":{"start":{"line":107,"column":8},"end":{"line":107,"column":46}},"60":{"start":{"line":108,"column":8},"end":{"line":108,"column":65}},"61":{"start":{"line":109,"column":8},"end":{"line":109,"column":35}},"62":{"start":{"line":111,"column":8},"end":{"line":111,"column":38}},"63":{"start":{"line":112,"column":8},"end":{"line":112,"column":40}},"64":{"start":{"line":113,"column":8},"end":{"line":113,"column":64}},"65":{"start":{"line":114,"column":8},"end":{"line":114,"column":47}},"66":{"start":{"line":115,"column":8},"end":{"line":115,"column":35}},"67":{"start":{"line":116,"column":8},"end":{"line":116,"column":36}},"68":{"start":{"line":119,"column":6},"end":{"line":119,"column":29}},"69":{"start":{"line":124,"column":20},"end":{"line":124,"column":50}},"70":{"start":{"line":127,"column":15},"end":{"line":127,"column":34}},"71":{"start":{"line":128,"column":2},"end":{"line":128,"column":86}},"72":{"start":{"line":129,"column":2},"end":{"line":129,"column":18}},"73":{"start":{"line":130,"column":2},"end":{"line":130,"column":28}},"74":{"start":{"line":131,"column":2},"end":{"line":131,"column":67}},"75":{"start":{"line":132,"column":2},"end":{"line":132,"column":69}},"76":{"start":{"line":135,"column":15},"end":{"line":135,"column":34}},"77":{"start":{"line":136,"column":2},"end":{"line":136,"column":31}},"78":{"start":{"line":137,"column":2},"end":{"line":137,"column":90}},"79":{"start":{"line":138,"column":2},"end":{"line":138,"column":35}},"80":{"start":{"line":139,"column":2},"end":{"line":139,"column":52}},"81":{"start":{"line":140,"column":2},"end":{"line":140,"column":58}},"82":{"start":{"line":141,"column":2},"end":{"line":141,"column":24}},"83":{"start":{"line":142,"column":2},"end":{"line":142,"column":36}},"84":{"start":{"line":143,"column":2},"end":{"line":143,"column":67}},"85":{"start":{"line":144,"column":2},"end":{"line":144,"column":32}},"86":{"start":{"line":147,"column":2},"end":{"line":147,"column":67}},"87":{"start":{"line":150,"column":19},"end":{"line":150,"column":59}},"88":{"start":{"line":151,"column":2},"end":{"line":151,"column":22}},"89":{"start":{"line":152,"column":2},"end":{"line":152,"column":22}},"90":{"start":{"line":155,"column":2},"end":{"line":155,"column":49}},"91":{"start":{"line":158,"column":22},"end":{"line":158,"column":41}},"92":{"start":{"line":159,"column":2},"end":{"line":159,"column":33}},"93":{"start":{"line":160,"column":2},"end":{"line":160,"column":25}},"94":{"start":{"line":161,"column":2},"end":{"line":161,"column":35}},"95":{"start":{"line":162,"column":2},"end":{"line":162,"column":36}},"96":{"start":{"line":164,"column":16},"end":{"line":164,"column":36}},"97":{"start":{"line":165,"column":2},"end":{"line":170,"column":4}},"98":{"start":{"line":171,"column":2},"end":{"line":171,"column":59}},"99":{"start":{"line":172,"column":2},"end":{"line":172,"column":25}},"100":{"start":{"line":173,"column":2},"end":{"line":173,"column":40}},"101":{"start":{"line":174,"column":2},"end":{"line":186,"column":3}},"102":{"start":{"line":176,"column":6},"end":{"line":176,"column":27}},"103":{"start":{"line":177,"column":6},"end":{"line":177,"column":12}},"104":{"start":{"line":179,"column":6},"end":{"line":179,"column":27}},"105":{"start":{"line":180,"column":6},"end":{"line":180,"column":12}},"106":{"start":{"line":182,"column":6},"end":{"line":182,"column":26}},"107":{"start":{"line":183,"column":6},"end":{"line":183,"column":12}},"108":{"start":{"line":185,"column":6},"end":{"line":185,"column":12}},"109":{"start":{"line":188,"column":20},"end":{"line":188,"column":67}},"110":{"start":{"line":191,"column":2},"end":{"line":194,"column":3}},"111":{"start":{"line":192,"column":4},"end":{"line":192,"column":86}},"112":{"start":{"line":193,"column":4},"end":{"line":193,"column":46}},"113":{"start":{"line":195,"column":2},"end":{"line":195,"column":34}},"114":{"start":{"line":196,"column":2},"end":{"line":196,"column":33}},"115":{"start":{"line":199,"column":2},"end":{"line":205,"column":3}},"116":{"start":{"line":200,"column":4},"end":{"line":200,"column":27}},"117":{"start":{"line":201,"column":4},"end":{"line":201,"column":34}},"118":{"start":{"line":203,"column":4},"end":{"line":203,"column":34}},"119":{"start":{"line":204,"column":4},"end":{"line":204,"column":27}},"120":{"start":{"line":208,"column":2},"end":{"line":208,"column":38}},"121":{"start":{"line":212,"column":20},"end":{"line":215,"column":3}},"122":{"start":{"line":213,"column":4},"end":{"line":213,"column":41}},"123":{"start":{"line":214,"column":4},"end":{"line":214,"column":42}},"124":{"start":{"line":217,"column":2},"end":{"line":222,"column":3}},"125":{"start":{"line":218,"column":4},"end":{"line":218,"column":58}},"126":{"start":{"line":218,"column":27},"end":{"line":218,"column":56}},"127":{"start":{"line":220,"column":4},"end":{"line":220,"column":21}},"128":{"start":{"line":221,"column":4},"end":{"line":221,"column":78}}},"fnMap":{"0":{"name":"getParentSelection","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":27}},"loc":{"start":{"line":20,"column":2},"end":{"line":51,"column":1}},"line":20},"1":{"name":"calcPosition","decl":{"start":{"line":53,"column":9},"end":{"line":53,"column":21}},"loc":{"start":{"line":53,"column":83},"end":{"line":81,"column":1}},"line":53},"2":{"name":"createProperties","decl":{"start":{"line":83,"column":9},"end":{"line":83,"column":25}},"loc":{"start":{"line":86,"column":2},"end":{"line":121,"column":1}},"line":86},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":12},"end":{"line":88,"column":13}},"loc":{"start":{"line":88,"column":23},"end":{"line":88,"column":55}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":13},"end":{"line":89,"column":14}},"loc":{"start":{"line":89,"column":31},"end":{"line":120,"column":5}},"line":89},"5":{"name":"createAnno","decl":{"start":{"line":123,"column":9},"end":{"line":123,"column":19}},"loc":{"start":{"line":123,"column":66},"end":{"line":209,"column":1}},"line":123},"6":{"name":"createAnnotation","decl":{"start":{"line":211,"column":22},"end":{"line":211,"column":38}},"loc":{"start":{"line":211,"column":85},"end":{"line":223,"column":1}},"line":211},"7":{"name":"(anonymous_7)","decl":{"start":{"line":212,"column":20},"end":{"line":212,"column":21}},"loc":{"start":{"line":212,"column":32},"end":{"line":215,"column":3}},"line":212},"8":{"name":"(anonymous_8)","decl":{"start":{"line":218,"column":21},"end":{"line":218,"column":22}},"loc":{"start":{"line":218,"column":27},"end":{"line":218,"column":56}},"line":218}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":84},"end":{"line":17,"column":119}},"type":"default-arg","locations":[{"start":{"line":17,"column":95},"end":{"line":17,"column":119}}],"line":17},"1":{"loc":{"start":{"line":21,"column":2},"end":{"line":21,"column":62}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":21,"column":62}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":23,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":35}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":21}},{"start":{"line":23,"column":25},"end":{"line":23,"column":35}}],"line":23},"4":{"loc":{"start":{"line":24,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":25,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":38,"column":7}},{"start":{},"end":{}}],"line":25},"6":{"loc":{"start":{"line":26,"column":8},"end":{"line":37,"column":9}},"type":"switch","locations":[{"start":{"line":27,"column":10},"end":{"line":27,"column":29}},{"start":{"line":28,"column":10},"end":{"line":30,"column":18}},{"start":{"line":31,"column":10},"end":{"line":33,"column":18}},{"start":{"line":34,"column":10},"end":{"line":36,"column":18}}],"line":26},"7":{"loc":{"start":{"line":41,"column":13},"end":{"line":43,"column":32}},"type":"cond-expr","locations":[{"start":{"line":42,"column":10},"end":{"line":42,"column":71}},{"start":{"line":43,"column":10},"end":{"line":43,"column":32}}],"line":41},"8":{"loc":{"start":{"line":60,"column":2},"end":{"line":78,"column":3}},"type":"switch","locations":[{"start":{"line":61,"column":4},"end":{"line":64,"column":12}},{"start":{"line":65,"column":4},"end":{"line":68,"column":12}},{"start":{"line":69,"column":4},"end":{"line":72,"column":12}},{"start":{"line":73,"column":4},"end":{"line":77,"column":12}}],"line":60},"9":{"loc":{"start":{"line":104,"column":6},"end":{"line":117,"column":7}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":117,"column":7}},{"start":{"line":110,"column":13},"end":{"line":117,"column":7}}],"line":104},"10":{"loc":{"start":{"line":128,"column":20},"end":{"line":128,"column":85}},"type":"cond-expr","locations":[{"start":{"line":128,"column":60},"end":{"line":128,"column":70}},{"start":{"line":128,"column":73},"end":{"line":128,"column":85}}],"line":128},"11":{"loc":{"start":{"line":174,"column":2},"end":{"line":186,"column":3}},"type":"switch","locations":[{"start":{"line":175,"column":4},"end":{"line":177,"column":12}},{"start":{"line":178,"column":4},"end":{"line":180,"column":12}},{"start":{"line":181,"column":4},"end":{"line":183,"column":12}},{"start":{"line":184,"column":4},"end":{"line":185,"column":12}}],"line":174},"12":{"loc":{"start":{"line":191,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":191,"column":2},"end":{"line":194,"column":3}},{"start":{},"end":{}}],"line":191},"13":{"loc":{"start":{"line":199,"column":2},"end":{"line":205,"column":3}},"type":"if","locations":[{"start":{"line":199,"column":2},"end":{"line":205,"column":3}},{"start":{"line":202,"column":9},"end":{"line":205,"column":3}}],"line":199}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/attemptOrFallback.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/attemptOrFallback.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":16}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":23}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":20}}},"fnMap":{"0":{"name":"attemptOrFallback","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":63},"end":{"line":8,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkIfTokenCanCreateVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkIfTokenCanCreateVariable.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":32,"column":3}},"1":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"2":{"start":{"line":17,"column":6},"end":{"line":17,"column":49}},"3":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"4":{"start":{"line":21,"column":6},"end":{"line":21,"column":19}},"5":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":19}},"7":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":19}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"10":{"start":{"line":33,"column":2},"end":{"line":33,"column":15}}},"fnMap":{"0":{"name":"checkIfTokenCanCreateVariable","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":53}},"loc":{"start":{"line":6,"column":121},"end":{"line":34,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":8,"column":4},"end":{"line":13,"column":103}},"type":"binary-expr","locations":[{"start":{"line":8,"column":5},"end":{"line":8,"column":36}},{"start":{"line":8,"column":40},"end":{"line":8,"column":63}},{"start":{"line":9,"column":8},"end":{"line":9,"column":60}},{"start":{"line":9,"column":64},"end":{"line":9,"column":88}},{"start":{"line":10,"column":8},"end":{"line":10,"column":72}},{"start":{"line":10,"column":76},"end":{"line":10,"column":100}},{"start":{"line":11,"column":8},"end":{"line":11,"column":41}},{"start":{"line":11,"column":45},"end":{"line":11,"column":70}},{"start":{"line":12,"column":8},"end":{"line":12,"column":46}},{"start":{"line":12,"column":50},"end":{"line":12,"column":82}},{"start":{"line":12,"column":86},"end":{"line":12,"column":110}},{"start":{"line":13,"column":8},"end":{"line":13,"column":46}},{"start":{"line":13,"column":50},"end":{"line":13,"column":74}},{"start":{"line":13,"column":78},"end":{"line":13,"column":102}}],"line":8},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":121}},"type":"binary-expr","locations":[{"start":{"line":16,"column":9},"end":{"line":16,"column":48}},{"start":{"line":16,"column":52},"end":{"line":16,"column":85}},{"start":{"line":16,"column":90},"end":{"line":16,"column":121}}],"line":16},"4":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":20},"5":{"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":119}},"type":"binary-expr","locations":[{"start":{"line":20,"column":8},"end":{"line":20,"column":39}},{"start":{"line":20,"column":43},"end":{"line":20,"column":74}},{"start":{"line":20,"column":78},"end":{"line":20,"column":119}}],"line":20},"6":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24},"7":{"loc":{"start":{"line":24,"column":8},"end":{"line":24,"column":107}},"type":"binary-expr","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":46}},{"start":{"line":24,"column":50},"end":{"line":24,"column":81}},{"start":{"line":24,"column":85},"end":{"line":24,"column":107}}],"line":24},"8":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":28},"9":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":150}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":38}},{"start":{"line":28,"column":42},"end":{"line":28,"column":75}},{"start":{"line":28,"column":79},"end":{"line":28,"column":110}},{"start":{"line":28,"column":114},"end":{"line":28,"column":150}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkStorageSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkStorageSize.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":6,"column":28},"end":{"line":6,"column":50}},"2":{"start":{"line":7,"column":27},"end":{"line":7,"column":59}},"3":{"start":{"line":10,"column":24},"end":{"line":10,"column":58}},"4":{"start":{"line":11,"column":21},"end":{"line":11,"column":39}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":39}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":13}}},"fnMap":{"0":{"name":"checkStorageSize","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":32}},"loc":{"start":{"line":4,"column":54},"end":{"line":18,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/compareLastSyncedState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/compareLastSyncedState.ts","statementMap":{"0":{"start":{"line":19,"column":22},"end":{"line":19,"column":68}},"1":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"2":{"start":{"line":22,"column":4},"end":{"line":22,"column":17}},"3":{"start":{"line":25,"column":32},"end":{"line":25,"column":118}},"4":{"start":{"line":27,"column":2},"end":{"line":30,"column":4}}},"fnMap":{"0":{"name":"compareLastSyncedState","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":38}},"loc":{"start":{"line":18,"column":2},"end":{"line":31,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convert.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convert.ts","statementMap":{"0":{"start":{"line":12,"column":38},"end":{"line":19,"column":2}},"1":{"start":{"line":12,"column":74},"end":{"line":19,"column":1}},"2":{"start":{"line":27,"column":41},"end":{"line":30,"column":6}},"3":{"start":{"line":27,"column":100},"end":{"line":30,"column":6}},"4":{"start":{"line":28,"column":2},"end":{"line":28,"column":96}},"5":{"start":{"line":29,"column":2},"end":{"line":29,"column":13}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":38},"end":{"line":12,"column":39}},"loc":{"start":{"line":12,"column":74},"end":{"line":19,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":41},"end":{"line":27,"column":42}},"loc":{"start":{"line":27,"column":100},"end":{"line":30,"column":6}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":114},"end":{"line":27,"column":115}},"loc":{"start":{"line":27,"column":130},"end":{"line":30,"column":1}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":65},"end":{"line":27,"column":95}},"type":"default-arg","locations":[{"start":{"line":27,"column":90},"end":{"line":27,"column":95}}],"line":27},"1":{"loc":{"start":{"line":28,"column":11},"end":{"line":28,"column":39}},"type":"binary-expr","locations":[{"start":{"line":28,"column":11},"end":{"line":28,"column":33}},{"start":{"line":28,"column":37},"end":{"line":28,"column":39}}],"line":28},"2":{"loc":{"start":{"line":28,"column":41},"end":{"line":28,"column":94}},"type":"cond-expr","locations":[{"start":{"line":28,"column":57},"end":{"line":28,"column":86}},{"start":{"line":28,"column":89},"end":{"line":28,"column":94}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertModifiedColorToHex.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertModifiedColorToHex.ts","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":6,"column":31}},"1":{"start":{"line":7,"column":2},"end":{"line":13,"column":3}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":53}},"3":{"start":{"line":9,"column":33},"end":{"line":9,"column":57}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":71}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}}},"fnMap":{"0":{"name":"convertModifiedColorToHex","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":41}},"loc":{"start":{"line":5,"column":86},"end":{"line":14,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToDefaultProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToDefaultProperty.ts","statementMap":{"0":{"start":{"line":4,"column":21},"end":{"line":4,"column":23}},"1":{"start":{"line":5,"column":2},"end":{"line":52,"column":3}},"2":{"start":{"line":16,"column":6},"end":{"line":16,"column":34}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":12}},"4":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":12}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":29}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":12}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":36}},"9":{"start":{"line":32,"column":6},"end":{"line":32,"column":12}},"10":{"start":{"line":34,"column":6},"end":{"line":34,"column":37}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":12}},"12":{"start":{"line":37,"column":6},"end":{"line":37,"column":34}},"13":{"start":{"line":38,"column":6},"end":{"line":38,"column":12}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":36}},"15":{"start":{"line":41,"column":6},"end":{"line":41,"column":12}},"16":{"start":{"line":44,"column":6},"end":{"line":44,"column":36}},"17":{"start":{"line":45,"column":6},"end":{"line":45,"column":12}},"18":{"start":{"line":47,"column":6},"end":{"line":47,"column":27}},"19":{"start":{"line":48,"column":6},"end":{"line":48,"column":12}},"20":{"start":{"line":50,"column":6},"end":{"line":50,"column":22}},"21":{"start":{"line":51,"column":6},"end":{"line":51,"column":12}},"22":{"start":{"line":53,"column":2},"end":{"line":53,"column":14}}},"fnMap":{"0":{"name":"convertToDefaultProperty","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":67},"end":{"line":54,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":52,"column":3}},"type":"switch","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":26}},{"start":{"line":7,"column":4},"end":{"line":7,"column":27}},{"start":{"line":8,"column":4},"end":{"line":8,"column":27}},{"start":{"line":9,"column":4},"end":{"line":9,"column":32}},{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},{"start":{"line":11,"column":4},"end":{"line":11,"column":38}},{"start":{"line":12,"column":4},"end":{"line":12,"column":31}},{"start":{"line":13,"column":4},"end":{"line":13,"column":32}},{"start":{"line":14,"column":4},"end":{"line":14,"column":34}},{"start":{"line":15,"column":4},"end":{"line":17,"column":12}},{"start":{"line":18,"column":4},"end":{"line":18,"column":40}},{"start":{"line":19,"column":4},"end":{"line":19,"column":41}},{"start":{"line":20,"column":4},"end":{"line":20,"column":43}},{"start":{"line":21,"column":4},"end":{"line":23,"column":12}},{"start":{"line":24,"column":4},"end":{"line":26,"column":12}},{"start":{"line":27,"column":4},"end":{"line":27,"column":35}},{"start":{"line":28,"column":4},"end":{"line":28,"column":36}},{"start":{"line":29,"column":4},"end":{"line":29,"column":37}},{"start":{"line":30,"column":4},"end":{"line":32,"column":12}},{"start":{"line":33,"column":4},"end":{"line":35,"column":12}},{"start":{"line":36,"column":4},"end":{"line":38,"column":12}},{"start":{"line":39,"column":4},"end":{"line":41,"column":12}},{"start":{"line":42,"column":4},"end":{"line":42,"column":23}},{"start":{"line":43,"column":4},"end":{"line":45,"column":12}},{"start":{"line":46,"column":4},"end":{"line":48,"column":12}},{"start":{"line":49,"column":4},"end":{"line":51,"column":12}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToOrderObj.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToOrderObj.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":5,"column":9}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":21}},"2":{"start":{"line":4,"column":4},"end":{"line":4,"column":15}}},"fnMap":{"0":{"name":"convertToOrderObj","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":65},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":59},"end":{"line":2,"column":60}},"loc":{"start":{"line":2,"column":80},"end":{"line":5,"column":3}},"line":2}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenNameToPath.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenNameToPath.ts","statementMap":{"0":{"start":{"line":2,"column":19},"end":{"line":2,"column":73}},"1":{"start":{"line":2,"column":61},"end":{"line":2,"column":72}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":19}},"4":{"start":{"line":6,"column":21},"end":{"line":6,"column":39}},"5":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":37}},"7":{"start":{"line":12,"column":2},"end":{"line":12,"column":20}}},"fnMap":{"0":{"name":"convertTokenNameToPath","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":93},"end":{"line":13,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":51},"end":{"line":2,"column":52}},"loc":{"start":{"line":2,"column":61},"end":{"line":2,"column":72}},"line":2}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":53},"end":{"line":1,"column":81}},"type":"default-arg","locations":[{"start":{"line":1,"column":77},"end":{"line":1,"column":81}}],"line":1},"1":{"loc":{"start":{"line":1,"column":83},"end":{"line":1,"column":91}},"type":"default-arg","locations":[{"start":{"line":1,"column":90},"end":{"line":1,"column":91}}],"line":1},"2":{"loc":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenToFormat.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenToFormat.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":48}},"1":{"start":{"line":4,"column":30},"end":{"line":4,"column":48}},"2":{"start":{"line":7,"column":6},"end":{"line":7,"column":11}},"3":{"start":{"line":8,"column":2},"end":{"line":14,"column":3}},"4":{"start":{"line":9,"column":26},"end":{"line":9,"column":28}},"5":{"start":{"line":10,"column":4},"end":{"line":12,"column":7}},"6":{"start":{"line":11,"column":6},"end":{"line":11,"column":53}},"7":{"start":{"line":13,"column":4},"end":{"line":13,"column":25}},"8":{"start":{"line":15,"column":2},"end":{"line":15,"column":51}},"9":{"start":{"line":15,"column":38},"end":{"line":15,"column":51}},"10":{"start":{"line":16,"column":22},"end":{"line":21,"column":3}},"11":{"start":{"line":22,"column":2},"end":{"line":22,"column":38}},"12":{"start":{"line":23,"column":2},"end":{"line":23,"column":21}}},"fnMap":{"0":{"name":"convertTokenToFormat","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":64},"end":{"line":24,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":34},"end":{"line":10,"column":35}},"loc":{"start":{"line":10,"column":50},"end":{"line":12,"column":5}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":44},"end":{"line":3,"column":62}},"type":"default-arg","locations":[{"start":{"line":3,"column":57},"end":{"line":3,"column":62}}],"line":3},"1":{"loc":{"start":{"line":4,"column":2},"end":{"line":4,"column":48}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":4,"column":48}},{"start":{},"end":{}}],"line":4},"2":{"loc":{"start":{"line":8,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":8},"3":{"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":51}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":51}},{"start":{},"end":{}}],"line":15},"4":{"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":59}},"type":"cond-expr","locations":[{"start":{"line":18,"column":16},"end":{"line":18,"column":54}},{"start":{"line":18,"column":57},"end":{"line":18,"column":59}}],"line":18},"5":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":56}},"type":"cond-expr","locations":[{"start":{"line":19,"column":15},"end":{"line":19,"column":51}},{"start":{"line":19,"column":54},"end":{"line":19,"column":56}}],"line":19},"6":{"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":77}},"type":"cond-expr","locations":[{"start":{"line":20,"column":22},"end":{"line":20,"column":72}},{"start":{"line":20,"column":75},"end":{"line":20,"column":77}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenTypeToVariableType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenTypeToVariableType.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":7,"column":19}},"2":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"3":{"start":{"line":12,"column":6},"end":{"line":12,"column":21}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":23}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":22}},"6":{"start":{"line":20,"column":6},"end":{"line":20,"column":21}}},"fnMap":{"0":{"name":"convertTokenTypeToVariableType","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":120},"end":{"line":22,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":6,"column":6},"end":{"line":6,"column":67}},"type":"binary-expr","locations":[{"start":{"line":6,"column":6},"end":{"line":6,"column":38}},{"start":{"line":6,"column":42},"end":{"line":6,"column":67}}],"line":6},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"type":"switch","locations":[{"start":{"line":11,"column":4},"end":{"line":12,"column":21}},{"start":{"line":13,"column":4},"end":{"line":14,"column":23}},{"start":{"line":15,"column":4},"end":{"line":15,"column":34}},{"start":{"line":16,"column":4},"end":{"line":16,"column":33}},{"start":{"line":17,"column":4},"end":{"line":18,"column":22}},{"start":{"line":19,"column":4},"end":{"line":20,"column":21}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokens.tsx","statementMap":{"0":{"start":{"line":83,"column":2},"end":{"line":160,"column":3}},"1":{"start":{"line":84,"column":4},"end":{"line":84,"column":46}},"2":{"start":{"line":85,"column":4},"end":{"line":85,"column":57}},"3":{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},"4":{"start":{"line":88,"column":6},"end":{"line":88,"column":81}},"5":{"start":{"line":90,"column":4},"end":{"line":98,"column":5}},"6":{"start":{"line":91,"column":6},"end":{"line":91,"column":51}},"7":{"start":{"line":92,"column":6},"end":{"line":92,"column":64}},"8":{"start":{"line":94,"column":6},"end":{"line":94,"column":57}},"9":{"start":{"line":95,"column":6},"end":{"line":97,"column":7}},"10":{"start":{"line":96,"column":8},"end":{"line":96,"column":66}},"11":{"start":{"line":99,"column":9},"end":{"line":160,"column":3}},"12":{"start":{"line":105,"column":4},"end":{"line":105,"column":46}},"13":{"start":{"line":106,"column":4},"end":{"line":109,"column":11}},"14":{"start":{"line":107,"column":6},"end":{"line":107,"column":106}},"15":{"start":{"line":108,"column":6},"end":{"line":108,"column":17}},"16":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"17":{"start":{"line":111,"column":6},"end":{"line":111,"column":81}},"18":{"start":{"line":113,"column":4},"end":{"line":118,"column":5}},"19":{"start":{"line":114,"column":6},"end":{"line":114,"column":51}},"20":{"start":{"line":115,"column":6},"end":{"line":115,"column":64}},"21":{"start":{"line":117,"column":6},"end":{"line":117,"column":71}},"22":{"start":{"line":119,"column":9},"end":{"line":160,"column":3}},"23":{"start":{"line":122,"column":23},"end":{"line":122,"column":28}},"24":{"start":{"line":123,"column":4},"end":{"line":123,"column":20}},"25":{"start":{"line":125,"column":4},"end":{"line":130,"column":5}},"26":{"start":{"line":126,"column":72},"end":{"line":126,"column":77}},"27":{"start":{"line":127,"column":6},"end":{"line":127,"column":55}},"28":{"start":{"line":128,"column":6},"end":{"line":128,"column":36}},"29":{"start":{"line":129,"column":6},"end":{"line":129,"column":43}},"30":{"start":{"line":132,"column":4},"end":{"line":153,"column":5}},"31":{"start":{"line":133,"column":6},"end":{"line":152,"column":9}},"32":{"start":{"line":134,"column":27},"end":{"line":146,"column":10}},"33":{"start":{"line":137,"column":42},"end":{"line":137,"column":43}},"34":{"start":{"line":147,"column":8},"end":{"line":151,"column":9}},"35":{"start":{"line":148,"column":10},"end":{"line":148,"column":63}},"36":{"start":{"line":149,"column":15},"end":{"line":151,"column":9}},"37":{"start":{"line":150,"column":10},"end":{"line":150,"column":45}},"38":{"start":{"line":156,"column":4},"end":{"line":159,"column":6}},"39":{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},"40":{"start":{"line":163,"column":4},"end":{"line":163,"column":61}},"41":{"start":{"line":166,"column":2},"end":{"line":166,"column":55}},"42":{"start":{"line":170,"column":19},"end":{"line":174,"column":4}},"43":{"start":{"line":177,"column":2},"end":{"line":182,"column":5}},"44":{"start":{"line":178,"column":4},"end":{"line":178,"column":47}},"45":{"start":{"line":178,"column":27},"end":{"line":178,"column":47}},"46":{"start":{"line":179,"column":4},"end":{"line":179,"column":59}},"47":{"start":{"line":179,"column":33},"end":{"line":179,"column":59}},"48":{"start":{"line":180,"column":4},"end":{"line":180,"column":45}},"49":{"start":{"line":180,"column":26},"end":{"line":180,"column":45}},"50":{"start":{"line":181,"column":4},"end":{"line":181,"column":17}}},"fnMap":{"0":{"name":"checkForTokens","decl":{"start":{"line":49,"column":9},"end":{"line":49,"column":23}},"loc":{"start":{"line":73,"column":99},"end":{"line":167,"column":1}},"line":73},"1":{"name":"(anonymous_1)","decl":{"start":{"line":106,"column":91},"end":{"line":106,"column":92}},"loc":{"start":{"line":106,"column":112},"end":{"line":109,"column":5}},"line":106},"2":{"name":"(anonymous_2)","decl":{"start":{"line":133,"column":43},"end":{"line":133,"column":44}},"loc":{"start":{"line":133,"column":61},"end":{"line":152,"column":7}},"line":133},"3":{"name":"(anonymous_3)","decl":{"start":{"line":137,"column":35},"end":{"line":137,"column":36}},"loc":{"start":{"line":137,"column":42},"end":{"line":137,"column":43}},"line":137},"4":{"name":"convertToTokenArray","decl":{"start":{"line":169,"column":24},"end":{"line":169,"column":43}},"loc":{"start":{"line":169,"column":76},"end":{"line":183,"column":1}},"line":169},"5":{"name":"(anonymous_5)","decl":{"start":{"line":177,"column":35},"end":{"line":177,"column":36}},"loc":{"start":{"line":177,"column":46},"end":{"line":182,"column":3}},"line":177}},"branchMap":{"0":{"loc":{"start":{"line":52,"column":2},"end":{"line":52,"column":13}},"type":"default-arg","locations":[{"start":{"line":52,"column":9},"end":{"line":52,"column":13}}],"line":52},"1":{"loc":{"start":{"line":53,"column":2},"end":{"line":53,"column":26}},"type":"default-arg","locations":[{"start":{"line":53,"column":21},"end":{"line":53,"column":26}}],"line":53},"2":{"loc":{"start":{"line":54,"column":2},"end":{"line":54,"column":26}},"type":"default-arg","locations":[{"start":{"line":54,"column":21},"end":{"line":54,"column":26}}],"line":54},"3":{"loc":{"start":{"line":55,"column":2},"end":{"line":55,"column":22}},"type":"default-arg","locations":[{"start":{"line":55,"column":17},"end":{"line":55,"column":22}}],"line":55},"4":{"loc":{"start":{"line":56,"column":2},"end":{"line":56,"column":27}},"type":"default-arg","locations":[{"start":{"line":56,"column":22},"end":{"line":56,"column":27}}],"line":56},"5":{"loc":{"start":{"line":57,"column":2},"end":{"line":57,"column":22}},"type":"default-arg","locations":[{"start":{"line":57,"column":17},"end":{"line":57,"column":22}}],"line":57},"6":{"loc":{"start":{"line":59,"column":2},"end":{"line":59,"column":16}},"type":"default-arg","locations":[{"start":{"line":59,"column":15},"end":{"line":59,"column":16}}],"line":59},"7":{"loc":{"start":{"line":60,"column":2},"end":{"line":60,"column":22}},"type":"default-arg","locations":[{"start":{"line":60,"column":21},"end":{"line":60,"column":22}}],"line":60},"8":{"loc":{"start":{"line":83,"column":2},"end":{"line":160,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":160,"column":3}},{"start":{"line":99,"column":9},"end":{"line":160,"column":3}}],"line":83},"9":{"loc":{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},{"start":{},"end":{}}],"line":87},"10":{"loc":{"start":{"line":87,"column":8},"end":{"line":87,"column":108}},"type":"binary-expr","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":46}},{"start":{"line":87,"column":50},"end":{"line":87,"column":108}}],"line":87},"11":{"loc":{"start":{"line":90,"column":4},"end":{"line":98,"column":5}},"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":98,"column":5}},{"start":{"line":93,"column":11},"end":{"line":98,"column":5}}],"line":90},"12":{"loc":{"start":{"line":90,"column":8},"end":{"line":90,"column":55}},"type":"binary-expr","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":40}},{"start":{"line":90,"column":44},"end":{"line":90,"column":55}}],"line":90},"13":{"loc":{"start":{"line":95,"column":6},"end":{"line":97,"column":7}},"type":"if","locations":[{"start":{"line":95,"column":6},"end":{"line":97,"column":7}},{"start":{},"end":{}}],"line":95},"14":{"loc":{"start":{"line":95,"column":10},"end":{"line":95,"column":81}},"type":"binary-expr","locations":[{"start":{"line":95,"column":10},"end":{"line":95,"column":57}},{"start":{"line":95,"column":61},"end":{"line":95,"column":81}}],"line":95},"15":{"loc":{"start":{"line":99,"column":9},"end":{"line":160,"column":3}},"type":"if","locations":[{"start":{"line":99,"column":9},"end":{"line":160,"column":3}},{"start":{"line":119,"column":9},"end":{"line":160,"column":3}}],"line":99},"16":{"loc":{"start":{"line":100,"column":4},"end":{"line":103,"column":33}},"type":"binary-expr","locations":[{"start":{"line":100,"column":4},"end":{"line":100,"column":34}},{"start":{"line":101,"column":7},"end":{"line":101,"column":36}},{"start":{"line":102,"column":7},"end":{"line":102,"column":38}},{"start":{"line":103,"column":7},"end":{"line":103,"column":33}}],"line":100},"17":{"loc":{"start":{"line":107,"column":17},"end":{"line":107,"column":105}},"type":"cond-expr","locations":[{"start":{"line":107,"column":69},"end":{"line":107,"column":99}},{"start":{"line":107,"column":102},"end":{"line":107,"column":105}}],"line":107},"18":{"loc":{"start":{"line":107,"column":17},"end":{"line":107,"column":66}},"type":"binary-expr","locations":[{"start":{"line":107,"column":17},"end":{"line":107,"column":46}},{"start":{"line":107,"column":50},"end":{"line":107,"column":66}}],"line":107},"19":{"loc":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},{"start":{},"end":{}}],"line":110},"20":{"loc":{"start":{"line":110,"column":8},"end":{"line":110,"column":108}},"type":"binary-expr","locations":[{"start":{"line":110,"column":8},"end":{"line":110,"column":46}},{"start":{"line":110,"column":50},"end":{"line":110,"column":108}}],"line":110},"21":{"loc":{"start":{"line":113,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":118,"column":5}},{"start":{"line":116,"column":11},"end":{"line":118,"column":5}}],"line":113},"22":{"loc":{"start":{"line":113,"column":8},"end":{"line":113,"column":55}},"type":"binary-expr","locations":[{"start":{"line":113,"column":8},"end":{"line":113,"column":40}},{"start":{"line":113,"column":44},"end":{"line":113,"column":55}}],"line":113},"23":{"loc":{"start":{"line":119,"column":9},"end":{"line":160,"column":3}},"type":"if","locations":[{"start":{"line":119,"column":9},"end":{"line":160,"column":3}},{"start":{"line":154,"column":9},"end":{"line":160,"column":3}}],"line":119},"24":{"loc":{"start":{"line":125,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":125,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":125},"25":{"loc":{"start":{"line":132,"column":4},"end":{"line":153,"column":5}},"type":"if","locations":[{"start":{"line":132,"column":4},"end":{"line":153,"column":5}},{"start":{},"end":{}}],"line":132},"26":{"loc":{"start":{"line":132,"column":8},"end":{"line":132,"column":68}},"type":"binary-expr","locations":[{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},{"start":{"line":132,"column":47},"end":{"line":132,"column":68}}],"line":132},"27":{"loc":{"start":{"line":147,"column":8},"end":{"line":151,"column":9}},"type":"if","locations":[{"start":{"line":147,"column":8},"end":{"line":151,"column":9}},{"start":{"line":149,"column":15},"end":{"line":151,"column":9}}],"line":147},"28":{"loc":{"start":{"line":147,"column":12},"end":{"line":147,"column":26}},"type":"binary-expr","locations":[{"start":{"line":147,"column":12},"end":{"line":147,"column":16}},{"start":{"line":147,"column":20},"end":{"line":147,"column":26}}],"line":147},"29":{"loc":{"start":{"line":149,"column":15},"end":{"line":151,"column":9}},"type":"if","locations":[{"start":{"line":149,"column":15},"end":{"line":151,"column":9}},{"start":{},"end":{}}],"line":149},"30":{"loc":{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},"type":"if","locations":[{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},{"start":{},"end":{}}],"line":162},"31":{"loc":{"start":{"line":162,"column":6},"end":{"line":162,"column":83}},"type":"binary-expr","locations":[{"start":{"line":162,"column":6},"end":{"line":162,"column":37}},{"start":{"line":162,"column":41},"end":{"line":162,"column":62}},{"start":{"line":162,"column":66},"end":{"line":162,"column":83}}],"line":162},"32":{"loc":{"start":{"line":178,"column":4},"end":{"line":178,"column":47}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":178,"column":47}},{"start":{},"end":{}}],"line":178},"33":{"loc":{"start":{"line":179,"column":4},"end":{"line":179,"column":59}},"type":"if","locations":[{"start":{"line":179,"column":4},"end":{"line":179,"column":59}},{"start":{},"end":{}}],"line":179},"34":{"loc":{"start":{"line":180,"column":4},"end":{"line":180,"column":45}},"type":"if","locations":[{"start":{"line":180,"column":4},"end":{"line":180,"column":45}},{"start":{},"end":{}}],"line":180}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0,0],"32":[0,0],"33":[0,0],"34":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensObjectToResolved.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensObjectToResolved.ts","statementMap":{"0":{"start":{"line":24,"column":17},"end":{"line":24,"column":41}},"1":{"start":{"line":26,"column":17},"end":{"line":32,"column":3}},"2":{"start":{"line":31,"column":51},"end":{"line":31,"column":85}},"3":{"start":{"line":34,"column":19},"end":{"line":34,"column":57}},"4":{"start":{"line":36,"column":17},"end":{"line":36,"column":78}},"5":{"start":{"line":37,"column":2},"end":{"line":37,"column":16}}},"fnMap":{"0":{"name":"convertTokensObjectToResolved","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":53}},"loc":{"start":{"line":22,"column":2},"end":{"line":38,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":36},"end":{"line":31,"column":37}},"loc":{"start":{"line":31,"column":51},"end":{"line":31,"column":85}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":25}},"type":"default-arg","locations":[{"start":{"line":12,"column":23},"end":{"line":12,"column":25}}],"line":12},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":13,"column":29}},"type":"default-arg","locations":[{"start":{"line":13,"column":27},"end":{"line":13,"column":29}}],"line":13},"2":{"loc":{"start":{"line":14,"column":2},"end":{"line":21,"column":3}},"type":"default-arg","locations":[{"start":{"line":14,"column":32},"end":{"line":21,"column":3}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToGroupedObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToGroupedObject.ts","statementMap":{"0":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"1":{"start":{"line":17,"column":2},"end":{"line":50,"column":9}},"2":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"3":{"start":{"line":19,"column":6},"end":{"line":19,"column":72}},"4":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":17}},"6":{"start":{"line":24,"column":16},"end":{"line":24,"column":25}},"7":{"start":{"line":25,"column":26},"end":{"line":25,"column":72}},"8":{"start":{"line":26,"column":4},"end":{"line":26,"column":30}},"9":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"10":{"start":{"line":28,"column":6},"end":{"line":28,"column":90}},"11":{"start":{"line":30,"column":6},"end":{"line":30,"column":39}},"12":{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},"13":{"start":{"line":34,"column":6},"end":{"line":34,"column":36}},"14":{"start":{"line":36,"column":4},"end":{"line":36,"column":42}},"15":{"start":{"line":37,"column":4},"end":{"line":37,"column":53}},"16":{"start":{"line":38,"column":4},"end":{"line":48,"column":5}},"17":{"start":{"line":44,"column":23},"end":{"line":44,"column":50}},"18":{"start":{"line":45,"column":6},"end":{"line":45,"column":44}},"19":{"start":{"line":47,"column":6},"end":{"line":47,"column":42}},"20":{"start":{"line":49,"column":4},"end":{"line":49,"column":15}},"21":{"start":{"line":52,"column":2},"end":{"line":52,"column":18}}},"fnMap":{"0":{"name":"convertTokensToGroupedObject","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":52}},"loc":{"start":{"line":15,"column":2},"end":{"line":53,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":27},"end":{"line":17,"column":28}},"loc":{"start":{"line":17,"column":43},"end":{"line":50,"column":3}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":66}},"type":"binary-expr","locations":[{"start":{"line":18,"column":8},"end":{"line":18,"column":41}},{"start":{"line":18,"column":45},"end":{"line":18,"column":66}}],"line":18},"2":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{},"end":{}}],"line":21},"3":{"loc":{"start":{"line":21,"column":8},"end":{"line":21,"column":79}},"type":"binary-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":30}},{"start":{"line":21,"column":34},"end":{"line":21,"column":79}}],"line":21},"4":{"loc":{"start":{"line":24,"column":16},"end":{"line":24,"column":25}},"type":"binary-expr","locations":[{"start":{"line":24,"column":16},"end":{"line":24,"column":19}},{"start":{"line":24,"column":23},"end":{"line":24,"column":25}}],"line":24},"5":{"loc":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},{"start":{"line":29,"column":11},"end":{"line":31,"column":5}}],"line":27},"6":{"loc":{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":33},"7":{"loc":{"start":{"line":38,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":48,"column":5}},{"start":{"line":46,"column":11},"end":{"line":48,"column":5}}],"line":38},"8":{"loc":{"start":{"line":39,"column":6},"end":{"line":42,"column":77}},"type":"binary-expr","locations":[{"start":{"line":39,"column":7},"end":{"line":39,"column":33}},{"start":{"line":39,"column":37},"end":{"line":39,"column":81}},{"start":{"line":40,"column":10},"end":{"line":40,"column":32}},{"start":{"line":40,"column":36},"end":{"line":40,"column":80}},{"start":{"line":41,"column":10},"end":{"line":41,"column":37}},{"start":{"line":41,"column":41},"end":{"line":41,"column":86}},{"start":{"line":42,"column":10},"end":{"line":42,"column":32}},{"start":{"line":42,"column":36},"end":{"line":42,"column":76}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToObject.ts","statementMap":{"0":{"start":{"line":9,"column":19},"end":{"line":46,"column":8}},"1":{"start":{"line":10,"column":46},"end":{"line":10,"column":48}},"2":{"start":{"line":11,"column":4},"end":{"line":43,"column":7}},"3":{"start":{"line":12,"column":28},"end":{"line":12,"column":52}},"4":{"start":{"line":13,"column":29},"end":{"line":13,"column":84}},"5":{"start":{"line":16,"column":44},"end":{"line":16,"column":58}},"6":{"start":{"line":19,"column":6},"end":{"line":42,"column":7}},"7":{"start":{"line":21,"column":69},"end":{"line":21,"column":85}},"8":{"start":{"line":24,"column":8},"end":{"line":24,"column":92}},"9":{"start":{"line":27,"column":8},"end":{"line":27,"column":75}},"10":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"11":{"start":{"line":30,"column":10},"end":{"line":30,"column":83}},"12":{"start":{"line":32,"column":8},"end":{"line":32,"column":73}},"13":{"start":{"line":35,"column":8},"end":{"line":35,"column":69}},"14":{"start":{"line":36,"column":8},"end":{"line":36,"column":70}},"15":{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},"16":{"start":{"line":39,"column":10},"end":{"line":39,"column":78}},"17":{"start":{"line":41,"column":8},"end":{"line":41,"column":68}},"18":{"start":{"line":44,"column":4},"end":{"line":44,"column":29}},"19":{"start":{"line":45,"column":4},"end":{"line":45,"column":15}},"20":{"start":{"line":48,"column":2},"end":{"line":48,"column":18}}},"fnMap":{"0":{"name":"convertTokensToObject","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":119},"end":{"line":49,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":85},"end":{"line":9,"column":86}},"loc":{"start":{"line":9,"column":106},"end":{"line":46,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":17}},"loc":{"start":{"line":11,"column":27},"end":{"line":43,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":42,"column":7}},{"start":{"line":33,"column":13},"end":{"line":42,"column":7}}],"line":19},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},{"start":{},"end":{}}],"line":29},"2":{"loc":{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertVariableTypeToProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertVariableTypeToProperty.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":6,"column":6},"end":{"line":6,"column":40}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":49}},"3":{"start":{"line":10,"column":6},"end":{"line":10,"column":50}},"4":{"start":{"line":12,"column":6},"end":{"line":12,"column":52}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":53}},"6":{"start":{"line":16,"column":6},"end":{"line":16,"column":40}}},"fnMap":{"0":{"name":"convertVariableTypeToProperty","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":53}},"loc":{"start":{"line":3,"column":88},"end":{"line":18,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":17,"column":3}},"type":"switch","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":40}},{"start":{"line":7,"column":4},"end":{"line":8,"column":49}},{"start":{"line":9,"column":4},"end":{"line":10,"column":50}},{"start":{"line":11,"column":4},"end":{"line":12,"column":52}},{"start":{"line":13,"column":4},"end":{"line":14,"column":53}},{"start":{"line":15,"column":4},"end":{"line":16,"column":40}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/credentials.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/credentials.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":44,"column":3}},"1":{"start":{"line":10,"column":17},"end":{"line":10,"column":50}},"2":{"start":{"line":11,"column":54},"end":{"line":11,"column":56}},"3":{"start":{"line":12,"column":4},"end":{"line":38,"column":5}},"4":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"5":{"start":{"line":15,"column":29},"end":{"line":15,"column":31}},"6":{"start":{"line":17,"column":6},"end":{"line":21,"column":7}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":99}},"8":{"start":{"line":18,"column":62},"end":{"line":18,"column":97}},"9":{"start":{"line":20,"column":8},"end":{"line":20,"column":93}},"10":{"start":{"line":20,"column":62},"end":{"line":20,"column":91}},"11":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"12":{"start":{"line":24,"column":8},"end":{"line":24,"column":63}},"13":{"start":{"line":27,"column":6},"end":{"line":32,"column":7}},"14":{"start":{"line":28,"column":8},"end":{"line":31,"column":11}},"15":{"start":{"line":34,"column":6},"end":{"line":37,"column":9}},"16":{"start":{"line":39,"column":4},"end":{"line":39,"column":56}},"17":{"start":{"line":40,"column":25},"end":{"line":40,"column":58}},"18":{"start":{"line":41,"column":4},"end":{"line":41,"column":43}},"19":{"start":{"line":43,"column":4},"end":{"line":43,"column":78}},"20":{"start":{"line":48,"column":2},"end":{"line":61,"column":3}},"21":{"start":{"line":49,"column":17},"end":{"line":49,"column":50}},"22":{"start":{"line":50,"column":54},"end":{"line":50,"column":56}},"23":{"start":{"line":51,"column":4},"end":{"line":55,"column":5}},"24":{"start":{"line":52,"column":6},"end":{"line":54,"column":8}},"25":{"start":{"line":53,"column":25},"end":{"line":53,"column":65}},"26":{"start":{"line":53,"column":82},"end":{"line":53,"column":83}},"27":{"start":{"line":56,"column":4},"end":{"line":56,"column":56}},"28":{"start":{"line":57,"column":25},"end":{"line":57,"column":58}},"29":{"start":{"line":58,"column":4},"end":{"line":58,"column":43}},"30":{"start":{"line":60,"column":4},"end":{"line":60,"column":78}}},"fnMap":{"0":{"name":"updateCredentials","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":39}},"loc":{"start":{"line":8,"column":73},"end":{"line":45,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":55},"end":{"line":18,"column":56}},"loc":{"start":{"line":18,"column":62},"end":{"line":18,"column":97}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":55},"end":{"line":20,"column":56}},"loc":{"start":{"line":20,"column":62},"end":{"line":20,"column":91}},"line":20},"3":{"name":"removeSingleCredential","decl":{"start":{"line":47,"column":22},"end":{"line":47,"column":44}},"loc":{"start":{"line":47,"column":78},"end":{"line":62,"column":1}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":17},"end":{"line":53,"column":18}},"loc":{"start":{"line":53,"column":25},"end":{"line":53,"column":65}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":75},"end":{"line":53,"column":76}},"loc":{"start":{"line":53,"column":82},"end":{"line":53,"column":83}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":38,"column":5}},{"start":{"line":33,"column":11},"end":{"line":38,"column":5}}],"line":12},"1":{"loc":{"start":{"line":17,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":21,"column":7}},{"start":{"line":19,"column":13},"end":{"line":21,"column":7}}],"line":17},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":27,"column":6},"end":{"line":32,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":32,"column":7}},{"start":{},"end":{}}],"line":27},"4":{"loc":{"start":{"line":27,"column":10},"end":{"line":27,"column":42}},"type":"binary-expr","locations":[{"start":{"line":27,"column":10},"end":{"line":27,"column":15}},{"start":{"line":27,"column":19},"end":{"line":27,"column":42}}],"line":27},"5":{"loc":{"start":{"line":30,"column":22},"end":{"line":30,"column":58}},"type":"binary-expr","locations":[{"start":{"line":30,"column":22},"end":{"line":30,"column":40}},{"start":{"line":30,"column":44},"end":{"line":30,"column":58}}],"line":30},"6":{"loc":{"start":{"line":36,"column":20},"end":{"line":36,"column":56}},"type":"binary-expr","locations":[{"start":{"line":36,"column":20},"end":{"line":36,"column":38}},{"start":{"line":36,"column":42},"end":{"line":36,"column":56}}],"line":36},"7":{"loc":{"start":{"line":41,"column":23},"end":{"line":41,"column":41}},"type":"binary-expr","locations":[{"start":{"line":41,"column":23},"end":{"line":41,"column":35}},{"start":{"line":41,"column":39},"end":{"line":41,"column":41}}],"line":41},"8":{"loc":{"start":{"line":51,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":51},"9":{"loc":{"start":{"line":53,"column":25},"end":{"line":53,"column":65}},"type":"cond-expr","locations":[{"start":{"line":53,"column":57},"end":{"line":53,"column":61}},{"start":{"line":53,"column":64},"end":{"line":53,"column":65}}],"line":53},"10":{"loc":{"start":{"line":58,"column":23},"end":{"line":58,"column":41}},"type":"binary-expr","locations":[{"start":{"line":58,"column":23},"end":{"line":58,"column":35}},{"start":{"line":58,"column":39},"end":{"line":58,"column":41}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/detectFormat.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/detectFormat.tsx","statementMap":{"0":{"start":{"line":5,"column":28},"end":{"line":5,"column":50}},"1":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":66}},"3":{"start":{"line":7,"column":19},"end":{"line":7,"column":66}},"4":{"start":{"line":8,"column":4},"end":{"line":8,"column":35}},"5":{"start":{"line":10,"column":2},"end":{"line":10,"column":66}},"6":{"start":{"line":10,"column":17},"end":{"line":10,"column":66}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":35}}},"fnMap":{"0":{"name":"detectFormat","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":65},"end":{"line":12,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":66}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":66}},{"start":{},"end":{}}],"line":7},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":66}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":10,"column":66}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/expand.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/expand.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":29,"column":9}},"1":{"start":{"line":16,"column":4},"end":{"line":26,"column":5}},"2":{"start":{"line":18,"column":30},"end":{"line":18,"column":32}},"3":{"start":{"line":19,"column":6},"end":{"line":19,"column":50}},"4":{"start":{"line":20,"column":6},"end":{"line":20,"column":75}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":42}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":29}},"7":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}}},"fnMap":{"0":{"name":"expand","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"loc":{"start":{"line":14,"column":52},"end":{"line":30,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":46},"end":{"line":15,"column":47}},"loc":{"start":{"line":15,"column":67},"end":{"line":29,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":26,"column":5}},{"start":{"line":24,"column":11},"end":{"line":26,"column":5}}],"line":16},"1":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":58}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":31}},{"start":{"line":16,"column":35},"end":{"line":16,"column":58}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fetchFeatureFlags.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fetchFeatureFlags.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":9,"column":4},"end":{"line":11,"column":8}},"2":{"start":{"line":10,"column":6},"end":{"line":10,"column":18}},"3":{"start":{"line":14,"column":2},"end":{"line":37,"column":3}},"4":{"start":{"line":17,"column":8},"end":{"line":17,"column":86}},"5":{"start":{"line":18,"column":61},"end":{"line":22,"column":5}},"6":{"start":{"line":23,"column":4},"end":{"line":25,"column":7}},"7":{"start":{"line":24,"column":6},"end":{"line":24,"column":41}},"8":{"start":{"line":26,"column":27},"end":{"line":26,"column":68}},"9":{"start":{"line":27,"column":19},"end":{"line":30,"column":6}},"10":{"start":{"line":31,"column":4},"end":{"line":31,"column":34}},"11":{"start":{"line":32,"column":21},"end":{"line":32,"column":38}},"12":{"start":{"line":33,"column":28},"end":{"line":35,"column":5}},"13":{"start":{"line":34,"column":53},"end":{"line":34,"column":77}},"14":{"start":{"line":36,"column":4},"end":{"line":36,"column":27}},"15":{"start":{"line":38,"column":2},"end":{"line":38,"column":14}}},"fnMap":{"0":{"name":"fetchFeatureFlags","decl":{"start":{"line":7,"column":30},"end":{"line":7,"column":47}},"loc":{"start":{"line":7,"column":68},"end":{"line":39,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":77},"end":{"line":9,"column":78}},"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":18}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":26},"end":{"line":23,"column":27}},"loc":{"start":{"line":23,"column":43},"end":{"line":25,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":35},"end":{"line":34,"column":36}},"loc":{"start":{"line":34,"column":53},"end":{"line":34,"column":77}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":44}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":25}},{"start":{"line":14,"column":29},"end":{"line":14,"column":44}}],"line":14},"3":{"loc":{"start":{"line":19,"column":12},"end":{"line":19,"column":22}},"type":"binary-expr","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":16}},{"start":{"line":19,"column":20},"end":{"line":19,"column":22}}],"line":19},"4":{"loc":{"start":{"line":20,"column":13},"end":{"line":20,"column":30}},"type":"binary-expr","locations":[{"start":{"line":20,"column":13},"end":{"line":20,"column":24}},{"start":{"line":20,"column":28},"end":{"line":20,"column":30}}],"line":20},"5":{"loc":{"start":{"line":26,"column":27},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":26,"column":27},"end":{"line":26,"column":62}},{"start":{"line":26,"column":66},"end":{"line":26,"column":68}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/filterValidCompositionTokenTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/filterValidCompositionTokenTypes.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":182}},"1":{"start":{"line":4,"column":37},"end":{"line":4,"column":180}}},"fnMap":{"0":{"name":"filterValidCompositionTokenTypes","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":48}},"loc":{"start":{"line":3,"column":81},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":27},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":37},"end":{"line":4,"column":180}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findAll.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findAll.ts","statementMap":{"0":{"start":{"line":4,"column":17},"end":{"line":4,"column":46}},"1":{"start":{"line":5,"column":28},"end":{"line":11,"column":5}},"2":{"start":{"line":12,"column":2},"end":{"line":21,"column":5}},"3":{"start":{"line":13,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":14,"column":6},"end":{"line":19,"column":8}},"5":{"start":{"line":22,"column":2},"end":{"line":22,"column":18}}},"fnMap":{"0":{"name":"findAll","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":23}},"loc":{"start":{"line":3,"column":117},"end":{"line":23,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":17}},"loc":{"start":{"line":12,"column":26},"end":{"line":21,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":52},"end":{"line":3,"column":71}},"type":"default-arg","locations":[{"start":{"line":3,"column":66},"end":{"line":3,"column":71}}],"line":3},"1":{"loc":{"start":{"line":3,"column":73},"end":{"line":3,"column":103}},"type":"default-arg","locations":[{"start":{"line":3,"column":98},"end":{"line":3,"column":103}}],"line":3},"2":{"loc":{"start":{"line":4,"column":17},"end":{"line":4,"column":46}},"type":"cond-expr","locations":[{"start":{"line":4,"column":31},"end":{"line":4,"column":41}},{"start":{"line":4,"column":44},"end":{"line":4,"column":46}}],"line":4},"3":{"loc":{"start":{"line":5,"column":28},"end":{"line":11,"column":5}},"type":"cond-expr","locations":[{"start":{"line":6,"column":6},"end":{"line":6,"column":8}},{"start":{"line":7,"column":6},"end":{"line":11,"column":5}}],"line":5},"4":{"loc":{"start":{"line":13,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findBoundVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findBoundVariable.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":18,"column":4}},"1":{"start":{"line":10,"column":4},"end":{"line":16,"column":5}},"2":{"start":{"line":11,"column":23},"end":{"line":11,"column":99}},"3":{"start":{"line":11,"column":50},"end":{"line":11,"column":98}},"4":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"5":{"start":{"line":13,"column":31},"end":{"line":13,"column":64}},"6":{"start":{"line":14,"column":8},"end":{"line":14,"column":42}},"7":{"start":{"line":17,"column":4},"end":{"line":17,"column":28}}},"fnMap":{"0":{"name":"findBoundVariable","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":33}},"loc":{"start":{"line":8,"column":39},"end":{"line":19,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":37},"end":{"line":18,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":43},"end":{"line":11,"column":44}},"loc":{"start":{"line":11,"column":50},"end":{"line":11,"column":98}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findDifferentState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findDifferentState.ts","statementMap":{"0":{"start":{"line":17,"column":45},"end":{"line":17,"column":47}},"1":{"start":{"line":18,"column":2},"end":{"line":52,"column":5}},"2":{"start":{"line":19,"column":37},"end":{"line":19,"column":39}},"3":{"start":{"line":20,"column":41},"end":{"line":20,"column":43}},"4":{"start":{"line":21,"column":41},"end":{"line":21,"column":43}},"5":{"start":{"line":23,"column":4},"end":{"line":42,"column":7}},"6":{"start":{"line":24,"column":23},"end":{"line":24,"column":85}},"7":{"start":{"line":24,"column":63},"end":{"line":24,"column":84}},"8":{"start":{"line":25,"column":6},"end":{"line":41,"column":7}},"9":{"start":{"line":26,"column":8},"end":{"line":31,"column":9}},"10":{"start":{"line":27,"column":44},"end":{"line":27,"column":56}},"11":{"start":{"line":28,"column":10},"end":{"line":28,"column":49}},"12":{"start":{"line":29,"column":10},"end":{"line":29,"column":45}},"13":{"start":{"line":30,"column":10},"end":{"line":30,"column":43}},"14":{"start":{"line":32,"column":8},"end":{"line":38,"column":9}},"15":{"start":{"line":33,"column":10},"end":{"line":37,"column":13}},"16":{"start":{"line":40,"column":8},"end":{"line":40,"column":56}},"17":{"start":{"line":44,"column":4},"end":{"line":49,"column":7}},"18":{"start":{"line":45,"column":23},"end":{"line":45,"column":88}},"19":{"start":{"line":45,"column":66},"end":{"line":45,"column":87}},"20":{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},"21":{"start":{"line":47,"column":8},"end":{"line":47,"column":63}},"22":{"start":{"line":50,"column":31},"end":{"line":50,"column":81}},"23":{"start":{"line":51,"column":4},"end":{"line":51,"column":49}},"24":{"start":{"line":55,"column":2},"end":{"line":60,"column":5}},"25":{"start":{"line":56,"column":30},"end":{"line":56,"column":82}},"26":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"27":{"start":{"line":58,"column":6},"end":{"line":58,"column":92}},"28":{"start":{"line":58,"column":53},"end":{"line":58,"column":87}},"29":{"start":{"line":62,"column":39},"end":{"line":62,"column":41}},"30":{"start":{"line":63,"column":35},"end":{"line":63,"column":37}},"31":{"start":{"line":64,"column":39},"end":{"line":64,"column":41}},"32":{"start":{"line":65,"column":2},"end":{"line":74,"column":5}},"33":{"start":{"line":66,"column":21},"end":{"line":66,"column":68}},"34":{"start":{"line":66,"column":50},"end":{"line":66,"column":67}},"35":{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},"36":{"start":{"line":68,"column":6},"end":{"line":70,"column":7}},"37":{"start":{"line":69,"column":8},"end":{"line":69,"column":63}},"38":{"start":{"line":72,"column":6},"end":{"line":72,"column":54}},"39":{"start":{"line":76,"column":2},"end":{"line":80,"column":5}},"40":{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},"41":{"start":{"line":77,"column":41},"end":{"line":77,"column":58}},"42":{"start":{"line":78,"column":6},"end":{"line":78,"column":61}},"43":{"start":{"line":82,"column":2},"end":{"line":87,"column":4}},"44":{"start":{"line":84,"column":63},"end":{"line":84,"column":80}}},"fnMap":{"0":{"name":"findDifferentState","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":34}},"loc":{"start":{"line":16,"column":114},"end":{"line":88,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":47},"end":{"line":18,"column":48}},"loc":{"start":{"line":18,"column":71},"end":{"line":52,"column":3}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":19},"end":{"line":23,"column":20}},"loc":{"start":{"line":23,"column":30},"end":{"line":42,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":56},"end":{"line":24,"column":57}},"loc":{"start":{"line":24,"column":63},"end":{"line":24,"column":84}},"line":24},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":40},"end":{"line":44,"column":41}},"loc":{"start":{"line":44,"column":51},"end":{"line":49,"column":5}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":59},"end":{"line":45,"column":60}},"loc":{"start":{"line":45,"column":66},"end":{"line":45,"column":87}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":55,"column":43},"end":{"line":55,"column":44}},"loc":{"start":{"line":55,"column":67},"end":{"line":60,"column":3}},"line":55},"7":{"name":"(anonymous_7)","decl":{"start":{"line":58,"column":41},"end":{"line":58,"column":42}},"loc":{"start":{"line":58,"column":53},"end":{"line":58,"column":87}},"line":58},"8":{"name":"(anonymous_8)","decl":{"start":{"line":65,"column":30},"end":{"line":65,"column":31}},"loc":{"start":{"line":65,"column":41},"end":{"line":74,"column":3}},"line":65},"9":{"name":"(anonymous_9)","decl":{"start":{"line":66,"column":43},"end":{"line":66,"column":44}},"loc":{"start":{"line":66,"column":50},"end":{"line":66,"column":67}},"line":66},"10":{"name":"(anonymous_10)","decl":{"start":{"line":76,"column":27},"end":{"line":76,"column":28}},"loc":{"start":{"line":76,"column":38},"end":{"line":80,"column":3}},"line":76},"11":{"name":"(anonymous_11)","decl":{"start":{"line":77,"column":34},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":41},"end":{"line":77,"column":58}},"line":77},"12":{"name":"(anonymous_12)","decl":{"start":{"line":84,"column":46},"end":{"line":84,"column":47}},"loc":{"start":{"line":84,"column":63},"end":{"line":84,"column":80}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":41,"column":7}},{"start":{"line":39,"column":13},"end":{"line":41,"column":7}}],"line":25},"1":{"loc":{"start":{"line":26,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":31,"column":9}},{"start":{},"end":{}}],"line":26},"2":{"loc":{"start":{"line":32,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":32},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},{"start":{},"end":{}}],"line":46},"4":{"loc":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},{"start":{"line":71,"column":11},"end":{"line":73,"column":5}}],"line":67},"6":{"loc":{"start":{"line":68,"column":6},"end":{"line":70,"column":7}},"type":"if","locations":[{"start":{"line":68,"column":6},"end":{"line":70,"column":7}},{"start":{},"end":{}}],"line":68},"7":{"loc":{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":77},"8":{"loc":{"start":{"line":86,"column":14},"end":{"line":86,"column":96}},"type":"cond-expr","locations":[{"start":{"line":86,"column":68},"end":{"line":86,"column":89}},{"start":{"line":86,"column":92},"end":{"line":86,"column":96}}],"line":86}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findReferences.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findReferences.tsx","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":3,"column":25}},"1":{"start":{"line":4,"column":22},"end":{"line":4,"column":25}},"2":{"start":{"line":6,"column":30},"end":{"line":17,"column":1}},"3":{"start":{"line":7,"column":18},"end":{"line":7,"column":58}},"4":{"start":{"line":8,"column":2},"end":{"line":15,"column":3}},"5":{"start":{"line":9,"column":4},"end":{"line":14,"column":7}},"6":{"start":{"line":10,"column":6},"end":{"line":12,"column":7}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":46}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"9":{"start":{"line":16,"column":2},"end":{"line":16,"column":14}},"10":{"start":{"line":19,"column":36},"end":{"line":19,"column":106}},"11":{"start":{"line":19,"column":60},"end":{"line":19,"column":106}},"12":{"start":{"line":21,"column":38},"end":{"line":31,"column":1}},"13":{"start":{"line":22,"column":21},"end":{"line":22,"column":47}},"14":{"start":{"line":24,"column":2},"end":{"line":29,"column":3}},"15":{"start":{"line":25,"column":4},"end":{"line":28,"column":7}},"16":{"start":{"line":26,"column":6},"end":{"line":26,"column":45}},"17":{"start":{"line":26,"column":34},"end":{"line":26,"column":45}},"18":{"start":{"line":27,"column":6},"end":{"line":27,"column":19}},"19":{"start":{"line":30,"column":2},"end":{"line":30,"column":12}},"20":{"start":{"line":33,"column":33},"end":{"line":48,"column":1}},"21":{"start":{"line":34,"column":2},"end":{"line":45,"column":3}},"22":{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},"23":{"start":{"line":36,"column":25},"end":{"line":36,"column":68}},"24":{"start":{"line":37,"column":21},"end":{"line":37,"column":31}},"25":{"start":{"line":38,"column":6},"end":{"line":40,"column":9}},"26":{"start":{"line":39,"column":8},"end":{"line":39,"column":56}},"27":{"start":{"line":41,"column":6},"end":{"line":41,"column":22}},"28":{"start":{"line":44,"column":4},"end":{"line":44,"column":78}},"29":{"start":{"line":47,"column":2},"end":{"line":47,"column":20}},"30":{"start":{"line":50,"column":33},"end":{"line":70,"column":1}},"31":{"start":{"line":51,"column":25},"end":{"line":51,"column":27}},"32":{"start":{"line":52,"column":14},"end":{"line":52,"column":15}},"33":{"start":{"line":53,"column":19},"end":{"line":53,"column":20}},"34":{"start":{"line":54,"column":2},"end":{"line":67,"column":3}},"35":{"start":{"line":54,"column":15},"end":{"line":54,"column":16}},"36":{"start":{"line":55,"column":4},"end":{"line":60,"column":5}},"37":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"38":{"start":{"line":57,"column":8},"end":{"line":57,"column":23}},"39":{"start":{"line":59,"column":6},"end":{"line":59,"column":17}},"40":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"41":{"start":{"line":62,"column":6},"end":{"line":62,"column":17}},"42":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"43":{"start":{"line":64,"column":8},"end":{"line":64,"column":60}},"44":{"start":{"line":69,"column":2},"end":{"line":69,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":30},"end":{"line":6,"column":31}},"loc":{"start":{"line":6,"column":54},"end":{"line":17,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":23},"end":{"line":9,"column":24}},"loc":{"start":{"line":9,"column":33},"end":{"line":14,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":36},"end":{"line":19,"column":37}},"loc":{"start":{"line":19,"column":60},"end":{"line":19,"column":106}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":38},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":86},"end":{"line":31,"column":1}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":25,"column":29},"end":{"line":25,"column":30}},"loc":{"start":{"line":25,"column":38},"end":{"line":28,"column":5}},"line":25},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":33},"end":{"line":33,"column":34}},"loc":{"start":{"line":33,"column":91},"end":{"line":48,"column":1}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":25},"end":{"line":38,"column":26}},"loc":{"start":{"line":38,"column":40},"end":{"line":40,"column":7}},"line":38},"7":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":33},"end":{"line":50,"column":34}},"loc":{"start":{"line":50,"column":57},"end":{"line":70,"column":1}},"line":50}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":15,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":15,"column":3}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":12,"column":7}},"type":"if","locations":[{"start":{"line":10,"column":6},"end":{"line":12,"column":7}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":24,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":26,"column":45}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":45}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},{"start":{},"end":{}}],"line":35},"5":{"loc":{"start":{"line":55,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},{"start":{},"end":{}}],"line":56},"7":{"loc":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":61},"8":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":52}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":39}},{"start":{"line":61,"column":43},"end":{"line":61,"column":52}}],"line":61},"9":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":63},"10":{"loc":{"start":{"line":69,"column":22},"end":{"line":69,"column":60}},"type":"binary-expr","locations":[{"start":{"line":69,"column":22},"end":{"line":69,"column":54}},{"start":{"line":69,"column":58},"end":{"line":69,"column":60}}],"line":69}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatCount.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatCount.ts","statementMap":{"0":{"start":{"line":6,"column":27},"end":{"line":20,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":18,"column":3}},"2":{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},"3":{"start":{"line":10,"column":6},"end":{"line":10,"column":32}},"4":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":18}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":43}},"7":{"start":{"line":19,"column":2},"end":{"line":19,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":27},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":54},"end":{"line":20,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":18,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},{"start":{},"end":{}}],"line":9},"2":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatNumber.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatNumber.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":41}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}}},"fnMap":{"0":{"name":"formatNumber","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":28}},"loc":{"start":{"line":1,"column":50},"end":{"line":6,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatTokens.ts","statementMap":{"0":{"start":{"line":34,"column":26},"end":{"line":34,"column":65}},"1":{"start":{"line":35,"column":19},"end":{"line":35,"column":21}},"2":{"start":{"line":36,"column":2},"end":{"line":75,"column":5}},"3":{"start":{"line":37,"column":4},"end":{"line":74,"column":7}},"4":{"start":{"line":38,"column":44},"end":{"line":38,"column":91}},"5":{"start":{"line":40,"column":32},"end":{"line":40,"column":70}},"6":{"start":{"line":42,"column":6},"end":{"line":45,"column":7}},"7":{"start":{"line":43,"column":26},"end":{"line":43,"column":78}},"8":{"start":{"line":44,"column":8},"end":{"line":44,"column":114}},"9":{"start":{"line":46,"column":6},"end":{"line":73,"column":7}},"10":{"start":{"line":52,"column":8},"end":{"line":70,"column":9}},"11":{"start":{"line":53,"column":32},"end":{"line":53,"column":75}},"12":{"start":{"line":53,"column":59},"end":{"line":53,"column":74}},"13":{"start":{"line":54,"column":10},"end":{"line":64,"column":11}},"14":{"start":{"line":55,"column":12},"end":{"line":61,"column":13}},"15":{"start":{"line":56,"column":14},"end":{"line":56,"column":112}},"16":{"start":{"line":58,"column":31},"end":{"line":58,"column":59}},"17":{"start":{"line":59,"column":39},"end":{"line":59,"column":75}},"18":{"start":{"line":60,"column":14},"end":{"line":60,"column":118}},"19":{"start":{"line":63,"column":12},"end":{"line":63,"column":110}},"20":{"start":{"line":66,"column":27},"end":{"line":66,"column":57}},"21":{"start":{"line":67,"column":35},"end":{"line":67,"column":71}},"22":{"start":{"line":69,"column":10},"end":{"line":69,"column":114}},"23":{"start":{"line":72,"column":8},"end":{"line":72,"column":106}},"24":{"start":{"line":77,"column":2},"end":{"line":77,"column":43}}},"fnMap":{"0":{"name":"formatTokens","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":36}},"loc":{"start":{"line":33,"column":12},"end":{"line":78,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":20},"end":{"line":36,"column":21}},"loc":{"start":{"line":36,"column":34},"end":{"line":75,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":30},"end":{"line":37,"column":31}},"loc":{"start":{"line":37,"column":41},"end":{"line":74,"column":5}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":52},"end":{"line":53,"column":53}},"loc":{"start":{"line":53,"column":59},"end":{"line":53,"column":74}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":26}},"type":"default-arg","locations":[{"start":{"line":26,"column":21},"end":{"line":26,"column":26}}],"line":26},"1":{"loc":{"start":{"line":27,"column":2},"end":{"line":27,"column":22}},"type":"default-arg","locations":[{"start":{"line":27,"column":18},"end":{"line":27,"column":22}}],"line":27},"2":{"loc":{"start":{"line":28,"column":2},"end":{"line":28,"column":26}},"type":"default-arg","locations":[{"start":{"line":28,"column":21},"end":{"line":28,"column":26}}],"line":28},"3":{"loc":{"start":{"line":29,"column":2},"end":{"line":29,"column":22}},"type":"default-arg","locations":[{"start":{"line":29,"column":17},"end":{"line":29,"column":22}}],"line":29},"4":{"loc":{"start":{"line":30,"column":2},"end":{"line":30,"column":27}},"type":"default-arg","locations":[{"start":{"line":30,"column":22},"end":{"line":30,"column":27}}],"line":30},"5":{"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":22}},"type":"default-arg","locations":[{"start":{"line":31,"column":17},"end":{"line":31,"column":22}}],"line":31},"6":{"loc":{"start":{"line":32,"column":2},"end":{"line":32,"column":34}},"type":"default-arg","locations":[{"start":{"line":32,"column":29},"end":{"line":32,"column":34}}],"line":32},"7":{"loc":{"start":{"line":34,"column":26},"end":{"line":34,"column":65}},"type":"cond-expr","locations":[{"start":{"line":34,"column":45},"end":{"line":34,"column":49}},{"start":{"line":34,"column":52},"end":{"line":34,"column":65}}],"line":34},"8":{"loc":{"start":{"line":42,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":45,"column":7}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":44,"column":22},"end":{"line":44,"column":83}},"type":"cond-expr","locations":[{"start":{"line":44,"column":40},"end":{"line":44,"column":71}},{"start":{"line":44,"column":74},"end":{"line":44,"column":83}}],"line":44},"10":{"loc":{"start":{"line":46,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":73,"column":7}},{"start":{"line":71,"column":13},"end":{"line":73,"column":7}}],"line":46},"11":{"loc":{"start":{"line":47,"column":8},"end":{"line":50,"column":61}},"type":"binary-expr","locations":[{"start":{"line":47,"column":9},"end":{"line":47,"column":45}},{"start":{"line":47,"column":49},"end":{"line":47,"column":65}},{"start":{"line":48,"column":12},"end":{"line":48,"column":48}},{"start":{"line":48,"column":52},"end":{"line":48,"column":64}},{"start":{"line":49,"column":12},"end":{"line":49,"column":49}},{"start":{"line":49,"column":53},"end":{"line":49,"column":70}},{"start":{"line":50,"column":12},"end":{"line":50,"column":44}},{"start":{"line":50,"column":48},"end":{"line":50,"column":60}}],"line":47},"12":{"loc":{"start":{"line":52,"column":8},"end":{"line":70,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":70,"column":9}},{"start":{"line":65,"column":15},"end":{"line":70,"column":9}}],"line":52},"13":{"loc":{"start":{"line":54,"column":10},"end":{"line":64,"column":11}},"type":"if","locations":[{"start":{"line":54,"column":10},"end":{"line":64,"column":11}},{"start":{"line":62,"column":17},"end":{"line":64,"column":11}}],"line":54},"14":{"loc":{"start":{"line":55,"column":12},"end":{"line":61,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":61,"column":13}},{"start":{"line":57,"column":19},"end":{"line":61,"column":13}}],"line":55},"15":{"loc":{"start":{"line":56,"column":28},"end":{"line":56,"column":91}},"type":"cond-expr","locations":[{"start":{"line":56,"column":46},"end":{"line":56,"column":78}},{"start":{"line":56,"column":81},"end":{"line":56,"column":91}}],"line":56},"16":{"loc":{"start":{"line":60,"column":28},"end":{"line":60,"column":91}},"type":"cond-expr","locations":[{"start":{"line":60,"column":46},"end":{"line":60,"column":78}},{"start":{"line":60,"column":81},"end":{"line":60,"column":91}}],"line":60},"17":{"loc":{"start":{"line":63,"column":26},"end":{"line":63,"column":89}},"type":"cond-expr","locations":[{"start":{"line":63,"column":44},"end":{"line":63,"column":76}},{"start":{"line":63,"column":79},"end":{"line":63,"column":89}}],"line":63},"18":{"loc":{"start":{"line":69,"column":24},"end":{"line":69,"column":87}},"type":"cond-expr","locations":[{"start":{"line":69,"column":42},"end":{"line":69,"column":74}},{"start":{"line":69,"column":77},"end":{"line":69,"column":87}}],"line":69},"19":{"loc":{"start":{"line":72,"column":22},"end":{"line":72,"column":85}},"type":"cond-expr","locations":[{"start":{"line":72,"column":40},"end":{"line":72,"column":72}},{"start":{"line":72,"column":75},"end":{"line":72,"column":85}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0,0,0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fuzzySearch.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fuzzySearch.ts","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":30}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":28}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":17}},"4":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":31}},"6":{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":14,"column":9},"end":{"line":22,"column":3}},"8":{"start":{"line":14,"column":22},"end":{"line":14,"column":23}},"9":{"start":{"line":14,"column":29},"end":{"line":14,"column":30}},"10":{"start":{"line":15,"column":16},"end":{"line":15,"column":36}},"11":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"12":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"13":{"start":{"line":18,"column":8},"end":{"line":18,"column":23}},"14":{"start":{"line":21,"column":4},"end":{"line":21,"column":17}},"15":{"start":{"line":23,"column":2},"end":{"line":23,"column":14}}},"fnMap":{"0":{"name":"fuzzySearch","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":70},"end":{"line":24,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/generateId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/generateId.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":23}},"1":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"3":{"start":{"line":4,"column":22},"end":{"line":4,"column":64}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":64}},"5":{"start":{"line":7,"column":2},"end":{"line":7,"column":22}}},"fnMap":{"0":{"name":"generateId","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":26}},"loc":{"start":{"line":1,"column":116},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":40},"end":{"line":1,"column":114}},"type":"default-arg","locations":[{"start":{"line":1,"column":50},"end":{"line":1,"column":114}}],"line":1}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getActiveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getActiveTheme.ts","statementMap":{"0":{"start":{"line":4,"column":22},"end":{"line":4,"column":54}},"1":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":23}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":12}}},"fnMap":{"0":{"name":"getActiveTheme","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":81},"end":{"line":9,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesIdMap.ts","statementMap":{"0":{"start":{"line":2,"column":23},"end":{"line":2,"column":51}},"1":{"start":{"line":3,"column":30},"end":{"line":3,"column":60}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":76}},"3":{"start":{"line":4,"column":34},"end":{"line":4,"column":74}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":29}}},"fnMap":{"0":{"name":"getEffectStylesIdMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":36}},"loc":{"start":{"line":1,"column":39},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":23},"end":{"line":4,"column":24}},"loc":{"start":{"line":4,"column":34},"end":{"line":4,"column":74}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesKeyMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesKeyMap.ts","statementMap":{"0":{"start":{"line":2,"column":23},"end":{"line":2,"column":51}},"1":{"start":{"line":3,"column":31},"end":{"line":3,"column":61}},"2":{"start":{"line":4,"column":2},"end":{"line":8,"column":5}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":70}},"4":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":56}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":30}}},"fnMap":{"0":{"name":"getEffectStylesKeyMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":37}},"loc":{"start":{"line":1,"column":40},"end":{"line":10,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":23},"end":{"line":4,"column":24}},"loc":{"start":{"line":4,"column":34},"end":{"line":8,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLabelForProperty.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLabelForProperty.tsx","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":57,"column":3}},"1":{"start":{"line":10,"column":6},"end":{"line":10,"column":30}},"2":{"start":{"line":13,"column":6},"end":{"line":13,"column":35}},"3":{"start":{"line":16,"column":6},"end":{"line":16,"column":32}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":38}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":36}},"7":{"start":{"line":28,"column":6},"end":{"line":28,"column":30}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":20}},"9":{"start":{"line":34,"column":6},"end":{"line":34,"column":22}},"10":{"start":{"line":37,"column":6},"end":{"line":37,"column":21}},"11":{"start":{"line":40,"column":6},"end":{"line":40,"column":21}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":28}},"13":{"start":{"line":46,"column":6},"end":{"line":46,"column":28}},"14":{"start":{"line":49,"column":6},"end":{"line":49,"column":27}},"15":{"start":{"line":52,"column":6},"end":{"line":52,"column":29}},"16":{"start":{"line":55,"column":6},"end":{"line":55,"column":17}}},"fnMap":{"0":{"name":"getLabelForProperty","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":35}},"loc":{"start":{"line":7,"column":78},"end":{"line":58,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":57,"column":3}},"type":"switch","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},{"start":{"line":36,"column":4},"end":{"line":38,"column":5}},{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{"line":48,"column":4},"end":{"line":50,"column":5}},{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},{"start":{"line":54,"column":4},"end":{"line":56,"column":5}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLastOpened.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLastOpened.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":7,"column":48}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":47}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":52}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":47}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":13}},"6":{"start":{"line":15,"column":2},"end":{"line":15,"column":14}}},"fnMap":{"0":{"name":"getLastOpened","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":63},"end":{"line":16,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":11},"end":{"line":7,"column":47}},"type":"binary-expr","locations":[{"start":{"line":7,"column":11},"end":{"line":7,"column":42}},{"start":{"line":7,"column":46},"end":{"line":7,"column":47}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLicenseKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLicenseKey.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":23,"column":3}},"1":{"start":{"line":9,"column":16},"end":{"line":9,"column":90}},"2":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"3":{"start":{"line":11,"column":6},"end":{"line":11,"column":30}},"4":{"start":{"line":14,"column":24},"end":{"line":14,"column":40}},"5":{"start":{"line":15,"column":4},"end":{"line":17,"column":6}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":24}},"7":{"start":{"line":20,"column":4},"end":{"line":22,"column":6}}},"fnMap":{"0":{"name":"getLicenseKey","decl":{"start":{"line":7,"column":30},"end":{"line":7,"column":43}},"loc":{"start":{"line":7,"column":99},"end":{"line":24,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getOnboardingExplainer.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getOnboardingExplainer.ts","statementMap":{"0":{"start":{"line":5,"column":13},"end":{"line":10,"column":1}},"1":{"start":{"line":11,"column":24},"end":{"line":11,"column":25}},"2":{"start":{"line":14,"column":2},"end":{"line":34,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":53}},"4":{"start":{"line":17,"column":4},"end":{"line":27,"column":5}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":72}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":84}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":90}},"8":{"start":{"line":21,"column":6},"end":{"line":21,"column":78}},"9":{"start":{"line":23,"column":6},"end":{"line":23,"column":56}},"10":{"start":{"line":24,"column":6},"end":{"line":24,"column":62}},"11":{"start":{"line":25,"column":6},"end":{"line":25,"column":65}},"12":{"start":{"line":26,"column":6},"end":{"line":26,"column":59}},"13":{"start":{"line":29,"column":4},"end":{"line":29,"column":62}},"14":{"start":{"line":30,"column":4},"end":{"line":30,"column":54}},"15":{"start":{"line":31,"column":4},"end":{"line":31,"column":60}},"16":{"start":{"line":32,"column":4},"end":{"line":32,"column":63}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":57}},"18":{"start":{"line":36,"column":2},"end":{"line":36,"column":14}}},"fnMap":{"0":{"name":"getOnboardingExplainer","decl":{"start":{"line":13,"column":30},"end":{"line":13,"column":52}},"loc":{"start":{"line":13,"column":55},"end":{"line":37,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":16},"end":{"line":16,"column":52}},"type":"binary-expr","locations":[{"start":{"line":16,"column":16},"end":{"line":16,"column":47}},{"start":{"line":16,"column":51},"end":{"line":16,"column":52}}],"line":16},"1":{"loc":{"start":{"line":17,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":27,"column":5}},{"start":{"line":22,"column":11},"end":{"line":27,"column":5}}],"line":17},"2":{"loc":{"start":{"line":18,"column":18},"end":{"line":18,"column":71}},"type":"binary-expr","locations":[{"start":{"line":18,"column":18},"end":{"line":18,"column":62}},{"start":{"line":18,"column":66},"end":{"line":18,"column":71}}],"line":18},"3":{"loc":{"start":{"line":19,"column":24},"end":{"line":19,"column":83}},"type":"binary-expr","locations":[{"start":{"line":19,"column":24},"end":{"line":19,"column":74}},{"start":{"line":19,"column":78},"end":{"line":19,"column":83}}],"line":19},"4":{"loc":{"start":{"line":20,"column":27},"end":{"line":20,"column":89}},"type":"binary-expr","locations":[{"start":{"line":20,"column":27},"end":{"line":20,"column":80}},{"start":{"line":20,"column":84},"end":{"line":20,"column":89}}],"line":20},"5":{"loc":{"start":{"line":21,"column":21},"end":{"line":21,"column":77}},"type":"binary-expr","locations":[{"start":{"line":21,"column":21},"end":{"line":21,"column":68}},{"start":{"line":21,"column":72},"end":{"line":21,"column":77}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesIdMap.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":2,"column":44}},"1":{"start":{"line":3,"column":23},"end":{"line":3,"column":52}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":63}},"3":{"start":{"line":4,"column":28},"end":{"line":4,"column":61}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":22}}},"fnMap":{"0":{"name":"getPaintStylesIdMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":35}},"loc":{"start":{"line":1,"column":38},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":28},"end":{"line":4,"column":61}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesKeyMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesKeyMap.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":2,"column":44}},"1":{"start":{"line":3,"column":24},"end":{"line":3,"column":53}},"2":{"start":{"line":4,"column":2},"end":{"line":8,"column":5}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":70}},"4":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":49}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":23}}},"fnMap":{"0":{"name":"getPaintStylesKeyMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":36}},"loc":{"start":{"line":1,"column":39},"end":{"line":10,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":28},"end":{"line":8,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPathName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPathName.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":40}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":26}}},"fnMap":{"0":{"name":"getPathName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":27}},"loc":{"start":{"line":1,"column":41},"end":{"line":6,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getProviderIcon.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getProviderIcon.tsx","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":36,"column":3}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":26}},"2":{"start":{"line":17,"column":6},"end":{"line":17,"column":27}},"3":{"start":{"line":19,"column":6},"end":{"line":19,"column":32}},"4":{"start":{"line":21,"column":6},"end":{"line":21,"column":28}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":25}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":31}},"7":{"start":{"line":27,"column":6},"end":{"line":27,"column":29}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":31}},"9":{"start":{"line":31,"column":6},"end":{"line":31,"column":29}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":34}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":18}}},"fnMap":{"0":{"name":"getProviderIcon","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":63},"end":{"line":37,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":36,"column":3}},"type":"switch","locations":[{"start":{"line":14,"column":4},"end":{"line":15,"column":26}},{"start":{"line":16,"column":4},"end":{"line":17,"column":27}},{"start":{"line":18,"column":4},"end":{"line":19,"column":32}},{"start":{"line":20,"column":4},"end":{"line":21,"column":28}},{"start":{"line":22,"column":4},"end":{"line":23,"column":25}},{"start":{"line":24,"column":4},"end":{"line":25,"column":31}},{"start":{"line":26,"column":4},"end":{"line":27,"column":29}},{"start":{"line":28,"column":4},"end":{"line":29,"column":31}},{"start":{"line":30,"column":4},"end":{"line":31,"column":29}},{"start":{"line":32,"column":4},"end":{"line":33,"column":34}},{"start":{"line":34,"column":4},"end":{"line":35,"column":18}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getResolvedTextValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getResolvedTextValue.ts","statementMap":{"0":{"start":{"line":5,"column":28},"end":{"line":5,"column":30}},"1":{"start":{"line":6,"column":2},"end":{"line":28,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},"3":{"start":{"line":8,"column":20},"end":{"line":13,"column":12}},"4":{"start":{"line":9,"column":34},"end":{"line":11,"column":14}},"5":{"start":{"line":10,"column":10},"end":{"line":10,"column":51}},"6":{"start":{"line":12,"column":8},"end":{"line":12,"column":65}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":36}},"8":{"start":{"line":16,"column":20},"end":{"line":18,"column":12}},"9":{"start":{"line":17,"column":8},"end":{"line":17,"column":49}},"10":{"start":{"line":19,"column":6},"end":{"line":19,"column":36}},"11":{"start":{"line":21,"column":9},"end":{"line":28,"column":3}},"12":{"start":{"line":22,"column":18},"end":{"line":24,"column":10}},"13":{"start":{"line":23,"column":6},"end":{"line":23,"column":40}},"14":{"start":{"line":25,"column":4},"end":{"line":25,"column":34}},"15":{"start":{"line":26,"column":9},"end":{"line":28,"column":3}},"16":{"start":{"line":27,"column":4},"end":{"line":27,"column":30}},"17":{"start":{"line":29,"column":2},"end":{"line":29,"column":21}}},"fnMap":{"0":{"name":"getResolvedTextValue","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":65},"end":{"line":30,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":54},"end":{"line":8,"column":55}},"loc":{"start":{"line":8,"column":74},"end":{"line":13,"column":7}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":77},"end":{"line":9,"column":78}},"loc":{"start":{"line":10,"column":10},"end":{"line":10,"column":51}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":70},"end":{"line":16,"column":71}},"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":49}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":68},"end":{"line":22,"column":69}},"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":40}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":28,"column":3}},{"start":{"line":21,"column":9},"end":{"line":28,"column":3}}],"line":6},"1":{"loc":{"start":{"line":6,"column":6},"end":{"line":6,"column":82}},"type":"binary-expr","locations":[{"start":{"line":6,"column":6},"end":{"line":6,"column":42}},{"start":{"line":6,"column":46},"end":{"line":6,"column":82}}],"line":6},"2":{"loc":{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},{"start":{"line":15,"column":11},"end":{"line":20,"column":5}}],"line":7},"3":{"loc":{"start":{"line":21,"column":9},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":9},"end":{"line":28,"column":3}},{"start":{"line":26,"column":9},"end":{"line":28,"column":3}}],"line":21},"4":{"loc":{"start":{"line":26,"column":9},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":9},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"5":{"loc":{"start":{"line":26,"column":13},"end":{"line":26,"column":79}},"type":"binary-expr","locations":[{"start":{"line":26,"column":13},"end":{"line":26,"column":44}},{"start":{"line":26,"column":48},"end":{"line":26,"column":79}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesIdMap.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":47}},"1":{"start":{"line":3,"column":27},"end":{"line":3,"column":55}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":71}},"3":{"start":{"line":4,"column":32},"end":{"line":4,"column":69}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":26}}},"fnMap":{"0":{"name":"getTextStylesIdMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":37},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":21},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":32},"end":{"line":4,"column":69}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesKeyMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesKeyMap.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":47}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":56}},"2":{"start":{"line":4,"column":2},"end":{"line":8,"column":5}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":70}},"4":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":53}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":27}}},"fnMap":{"0":{"name":"getTextStylesKeyMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":35}},"loc":{"start":{"line":1,"column":38},"end":{"line":10,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":21},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":32},"end":{"line":8,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenSetsOrder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenSetsOrder.ts","statementMap":{"0":{"start":{"line":12,"column":32},"end":{"line":12,"column":51}},"1":{"start":{"line":13,"column":23},"end":{"line":13,"column":145}},"2":{"start":{"line":13,"column":61},"end":{"line":13,"column":144}},"3":{"start":{"line":14,"column":22},"end":{"line":16,"column":50}},"4":{"start":{"line":15,"column":21},"end":{"line":15,"column":48}},"5":{"start":{"line":16,"column":20},"end":{"line":16,"column":49}},"6":{"start":{"line":18,"column":2},"end":{"line":21,"column":3}},"7":{"start":{"line":19,"column":4},"end":{"line":19,"column":65}},"8":{"start":{"line":20,"column":4},"end":{"line":20,"column":38}},"9":{"start":{"line":23,"column":25},"end":{"line":23,"column":58}},"10":{"start":{"line":25,"column":2},"end":{"line":25,"column":55}}},"fnMap":{"0":{"name":"getTokenSetsOrder","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":33}},"loc":{"start":{"line":11,"column":80},"end":{"line":26,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":52},"end":{"line":13,"column":53}},"loc":{"start":{"line":13,"column":61},"end":{"line":13,"column":144}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":12},"end":{"line":15,"column":13}},"loc":{"start":{"line":15,"column":21},"end":{"line":15,"column":48}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":10},"end":{"line":16,"column":11}},"loc":{"start":{"line":16,"column":20},"end":{"line":16,"column":49}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":61},"end":{"line":13,"column":144}},"type":"binary-expr","locations":[{"start":{"line":13,"column":61},"end":{"line":13,"column":101}},{"start":{"line":13,"column":105},"end":{"line":13,"column":144}}],"line":13},"1":{"loc":{"start":{"line":18,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenTypeKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenTypeKey.ts","statementMap":{"0":{"start":{"line":4,"column":14},"end":{"line":4,"column":38}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":71}}},"fnMap":{"0":{"name":"getTokenTypeKey","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":76},"end":{"line":6,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":32},"end":{"line":3,"column":66}},"type":"default-arg","locations":[{"start":{"line":3,"column":61},"end":{"line":3,"column":66}}],"line":3},"1":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":70}},"type":"cond-expr","locations":[{"start":{"line":5,"column":52},"end":{"line":5,"column":64}},{"start":{"line":5,"column":67},"end":{"line":5,"column":70}}],"line":5},"2":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":49}},"type":"binary-expr","locations":[{"start":{"line":5,"column":9},"end":{"line":5,"column":26}},{"start":{"line":5,"column":30},"end":{"line":5,"column":49}}],"line":5}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenValueKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenValueKey.ts","statementMap":{"0":{"start":{"line":4,"column":14},"end":{"line":4,"column":39}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":71}}},"fnMap":{"0":{"name":"getTokenValueKey","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":77},"end":{"line":6,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":33},"end":{"line":3,"column":67}},"type":"default-arg","locations":[{"start":{"line":3,"column":62},"end":{"line":3,"column":67}}],"line":3},"1":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":70}},"type":"cond-expr","locations":[{"start":{"line":5,"column":52},"end":{"line":5,"column":64}},{"start":{"line":5,"column":67},"end":{"line":5,"column":70}}],"line":5},"2":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":49}},"type":"binary-expr","locations":[{"start":{"line":5,"column":9},"end":{"line":5,"column":26}},{"start":{"line":5,"column":30},"end":{"line":5,"column":49}}],"line":5}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUTF16StringSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUTF16StringSize.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":24}}},"fnMap":{"0":{"name":"getUTF16StringSize","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":56},"end":{"line":3,"column":1}},"line":1}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUsedTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUsedTokenSet.ts","statementMap":{"0":{"start":{"line":7,"column":24},"end":{"line":7,"column":57}},"1":{"start":{"line":8,"column":47},"end":{"line":8,"column":49}},"2":{"start":{"line":9,"column":2},"end":{"line":26,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":23,"column":6}},"4":{"start":{"line":15,"column":36},"end":{"line":15,"column":56}},"5":{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},"6":{"start":{"line":19,"column":12},"end":{"line":19,"column":46}},"7":{"start":{"line":25,"column":4},"end":{"line":25,"column":32}},"8":{"start":{"line":27,"column":2},"end":{"line":27,"column":14}}},"fnMap":{"0":{"name":"getUsedTokenSet","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":74},"end":{"line":28,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":6},"end":{"line":15,"column":7}},"loc":{"start":{"line":15,"column":36},"end":{"line":15,"column":56}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":6},"end":{"line":16,"column":7}},"loc":{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":20},"end":{"line":18,"column":21}},"loc":{"start":{"line":19,"column":12},"end":{"line":19,"column":46}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getValueWithReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getValueWithReferences.ts","statementMap":{"0":{"start":{"line":7,"column":14},"end":{"line":7,"column":27}},"1":{"start":{"line":25,"column":2},"end":{"line":37,"column":3}},"2":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"3":{"start":{"line":27,"column":6},"end":{"line":27,"column":23}},"4":{"start":{"line":29,"column":4},"end":{"line":36,"column":5}},"5":{"start":{"line":30,"column":31},"end":{"line":30,"column":52}},"6":{"start":{"line":31,"column":34},"end":{"line":31,"column":54}},"7":{"start":{"line":32,"column":25},"end":{"line":32,"column":99}},"8":{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":25}},"10":{"start":{"line":38,"column":2},"end":{"line":38,"column":25}},"11":{"start":{"line":47,"column":2},"end":{"line":54,"column":3}},"12":{"start":{"line":48,"column":4},"end":{"line":53,"column":36}},"13":{"start":{"line":49,"column":21},"end":{"line":49,"column":56}},"14":{"start":{"line":51,"column":6},"end":{"line":51,"column":102}},"15":{"start":{"line":52,"column":6},"end":{"line":52,"column":17}},"16":{"start":{"line":55,"column":2},"end":{"line":55,"column":111}},"17":{"start":{"line":59,"column":2},"end":{"line":61,"column":3}},"18":{"start":{"line":60,"column":4},"end":{"line":60,"column":23}},"19":{"start":{"line":63,"column":2},"end":{"line":69,"column":3}},"20":{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},"21":{"start":{"line":65,"column":23},"end":{"line":65,"column":62}},"22":{"start":{"line":66,"column":6},"end":{"line":66,"column":99}},"23":{"start":{"line":66,"column":48},"end":{"line":66,"column":97}},"24":{"start":{"line":68,"column":4},"end":{"line":68,"column":111}},"25":{"start":{"line":71,"column":2},"end":{"line":71,"column":62}}},"fnMap":{"0":{"name":"getSimpleValue","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":122},"end":{"line":39,"column":1}},"line":6},"1":{"name":"getComplexValue","decl":{"start":{"line":41,"column":9},"end":{"line":41,"column":24}},"loc":{"start":{"line":45,"column":2},"end":{"line":56,"column":1}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":48},"end":{"line":48,"column":49}},"loc":{"start":{"line":48,"column":69},"end":{"line":53,"column":5}},"line":48},"3":{"name":"getValueWithReferences","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":38}},"loc":{"start":{"line":58,"column":88},"end":{"line":72,"column":1}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":66,"column":29},"end":{"line":66,"column":30}},"loc":{"start":{"line":66,"column":48},"end":{"line":66,"column":97}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":25,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":25},"1":{"loc":{"start":{"line":25,"column":6},"end":{"line":25,"column":75}},"type":"binary-expr","locations":[{"start":{"line":25,"column":6},"end":{"line":25,"column":34}},{"start":{"line":25,"column":38},"end":{"line":25,"column":75}}],"line":25},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":29,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":36,"column":5}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":32,"column":25},"end":{"line":32,"column":99}},"type":"cond-expr","locations":[{"start":{"line":32,"column":61},"end":{"line":32,"column":77}},{"start":{"line":32,"column":80},"end":{"line":32,"column":99}}],"line":32},"5":{"loc":{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},{"start":{},"end":{}}],"line":33},"6":{"loc":{"start":{"line":47,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":54,"column":3}},{"start":{},"end":{}}],"line":47},"7":{"loc":{"start":{"line":59,"column":2},"end":{"line":61,"column":3}},"type":"if","locations":[{"start":{"line":59,"column":2},"end":{"line":61,"column":3}},{"start":{},"end":{}}],"line":59},"8":{"loc":{"start":{"line":63,"column":2},"end":{"line":69,"column":3}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":69,"column":3}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":6},"end":{"line":63,"column":159}},"type":"binary-expr","locations":[{"start":{"line":63,"column":6},"end":{"line":63,"column":42}},{"start":{"line":63,"column":46},"end":{"line":63,"column":82}},{"start":{"line":63,"column":86},"end":{"line":63,"column":123}},{"start":{"line":63,"column":127},"end":{"line":63,"column":159}}],"line":63},"10":{"loc":{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},{"start":{},"end":{}}],"line":64}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getVariablesMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getVariablesMap.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":9}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":25}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":15}}},"fnMap":{"0":{"name":"getVariablesMap","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":40},"end":{"line":8,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":79},"end":{"line":4,"column":80}},"loc":{"start":{"line":4,"column":94},"end":{"line":7,"column":3}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokenValues.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokenValues.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":71}},"1":{"start":{"line":4,"column":53},"end":{"line":4,"column":69}}},"fnMap":{"0":{"name":"hasTokenValues","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":69},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":42},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":53},"end":{"line":4,"column":69}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":23},"end":{"line":4,"column":35}},"type":"binary-expr","locations":[{"start":{"line":4,"column":23},"end":{"line":4,"column":29}},{"start":{"line":4,"column":33},"end":{"line":4,"column":35}}],"line":4}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokens.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":53}},"1":{"start":{"line":4,"column":44},"end":{"line":4,"column":51}}},"fnMap":{"0":{"name":"hasTokens","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":25}},"loc":{"start":{"line":3,"column":48},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":33},"end":{"line":4,"column":34}},"loc":{"start":{"line":4,"column":44},"end":{"line":4,"column":51}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAliasReference.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAliasReference.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":78}}},"fnMap":{"0":{"name":"isVariableWithAliasReference","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":87},"end":{"line":3,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":9},"end":{"line":2,"column":77}},"type":"binary-expr","locations":[{"start":{"line":2,"column":9},"end":{"line":2,"column":32}},{"start":{"line":2,"column":36},"end":{"line":2,"column":47}},{"start":{"line":2,"column":51},"end":{"line":2,"column":77}}],"line":2}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAutoLayout.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAutoLayout.tsx","statementMap":{"0":{"start":{"line":1,"column":28},"end":{"line":1,"column":111}},"1":{"start":{"line":1,"column":49},"end":{"line":1,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":28},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":49},"end":{"line":1,"column":111}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":49},"end":{"line":1,"column":111}},"type":"binary-expr","locations":[{"start":{"line":1,"column":49},"end":{"line":1,"column":69}},{"start":{"line":1,"column":73},"end":{"line":1,"column":111}}],"line":1}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isColorEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isColorEqual.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":14,"column":75}}},"fnMap":{"0":{"name":"isColorEqual","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":28}},"loc":{"start":{"line":3,"column":57},"end":{"line":15,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEffectEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEffectEqual.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":28,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":27,"column":5}},"2":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"3":{"start":{"line":10,"column":8},"end":{"line":19,"column":10}},"4":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"5":{"start":{"line":25,"column":8},"end":{"line":25,"column":49}},"6":{"start":{"line":29,"column":2},"end":{"line":29,"column":15}}},"fnMap":{"0":{"name":"isEffectEqual","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":66},"end":{"line":30,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":24}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":13}},{"start":{"line":4,"column":17},"end":{"line":4,"column":24}}],"line":4},"2":{"loc":{"start":{"line":5,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":27,"column":5}},{"start":{},"end":{}}],"line":5},"3":{"loc":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":6},"4":{"loc":{"start":{"line":7,"column":8},"end":{"line":8,"column":79}},"type":"binary-expr","locations":[{"start":{"line":7,"column":9},"end":{"line":7,"column":39}},{"start":{"line":7,"column":43},"end":{"line":7,"column":73}},{"start":{"line":8,"column":12},"end":{"line":8,"column":43}},{"start":{"line":8,"column":47},"end":{"line":8,"column":78}}],"line":7},"5":{"loc":{"start":{"line":11,"column":10},"end":{"line":16,"column":52}},"type":"binary-expr","locations":[{"start":{"line":11,"column":10},"end":{"line":11,"column":52}},{"start":{"line":12,"column":13},"end":{"line":12,"column":50}},{"start":{"line":13,"column":13},"end":{"line":13,"column":50}},{"start":{"line":14,"column":13},"end":{"line":14,"column":46}},{"start":{"line":15,"column":13},"end":{"line":15,"column":46}},{"start":{"line":16,"column":13},"end":{"line":16,"column":52}}],"line":11},"6":{"loc":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},{"start":{},"end":{}}],"line":21},"7":{"loc":{"start":{"line":22,"column":8},"end":{"line":23,"column":75}},"type":"binary-expr","locations":[{"start":{"line":22,"column":9},"end":{"line":22,"column":43}},{"start":{"line":22,"column":47},"end":{"line":22,"column":81}},{"start":{"line":23,"column":12},"end":{"line":23,"column":41}},{"start":{"line":23,"column":45},"end":{"line":23,"column":74}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0,0,0,0,0],"6":[0,0],"7":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEqual.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":11,"column":4},"end":{"line":11,"column":16}},"2":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":16}},"4":{"start":{"line":19,"column":2},"end":{"line":24,"column":3}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":17}},"6":{"start":{"line":26,"column":2},"end":{"line":29,"column":3}},"7":{"start":{"line":28,"column":4},"end":{"line":28,"column":17}},"8":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"9":{"start":{"line":32,"column":4},"end":{"line":32,"column":17}},"10":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":41}},"12":{"start":{"line":39,"column":2},"end":{"line":41,"column":3}},"13":{"start":{"line":40,"column":4},"end":{"line":40,"column":65}},"14":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"15":{"start":{"line":44,"column":4},"end":{"line":44,"column":42}},"16":{"start":{"line":47,"column":2},"end":{"line":47,"column":47}},"17":{"start":{"line":52,"column":2},"end":{"line":52,"column":49}},"18":{"start":{"line":56,"column":14},"end":{"line":56,"column":27}},"19":{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},"20":{"start":{"line":59,"column":4},"end":{"line":59,"column":17}},"21":{"start":{"line":62,"column":2},"end":{"line":66,"column":3}},"22":{"start":{"line":62,"column":15},"end":{"line":62,"column":16}},"23":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"24":{"start":{"line":64,"column":6},"end":{"line":64,"column":19}},"25":{"start":{"line":68,"column":2},"end":{"line":68,"column":14}},"26":{"start":{"line":75,"column":16},"end":{"line":75,"column":35}},"27":{"start":{"line":76,"column":16},"end":{"line":76,"column":35}},"28":{"start":{"line":77,"column":14},"end":{"line":77,"column":26}},"29":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"30":{"start":{"line":80,"column":4},"end":{"line":80,"column":17}},"31":{"start":{"line":83,"column":2},"end":{"line":95,"column":3}},"32":{"start":{"line":83,"column":15},"end":{"line":83,"column":16}},"33":{"start":{"line":84,"column":17},"end":{"line":84,"column":25}},"34":{"start":{"line":86,"column":4},"end":{"line":94,"column":5}},"35":{"start":{"line":93,"column":6},"end":{"line":93,"column":19}},"36":{"start":{"line":97,"column":2},"end":{"line":97,"column":14}}},"fnMap":{"0":{"name":"isEqual","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":59},"end":{"line":48,"column":1}},"line":9},"1":{"name":"compareNativeSubtypes","decl":{"start":{"line":50,"column":9},"end":{"line":50,"column":30}},"loc":{"start":{"line":50,"column":57},"end":{"line":53,"column":1}},"line":50},"2":{"name":"compareArrays","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":53},"end":{"line":69,"column":1}},"line":55},"3":{"name":"compareObjects","decl":{"start":{"line":74,"column":9},"end":{"line":74,"column":23}},"loc":{"start":{"line":74,"column":50},"end":{"line":98,"column":1}},"line":74}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":15},"2":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":44}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":23}},{"start":{"line":15,"column":27},"end":{"line":15,"column":44}}],"line":15},"3":{"loc":{"start":{"line":19,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":24,"column":3}},{"start":{},"end":{}}],"line":19},"4":{"loc":{"start":{"line":20,"column":4},"end":{"line":21,"column":59}},"type":"binary-expr","locations":[{"start":{"line":20,"column":4},"end":{"line":20,"column":35}},{"start":{"line":21,"column":7},"end":{"line":21,"column":59}}],"line":20},"5":{"loc":{"start":{"line":26,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":35},"8":{"loc":{"start":{"line":39,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":39},"9":{"loc":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":43},"10":{"loc":{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},"type":"if","locations":[{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},{"start":{},"end":{}}],"line":58},"11":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":63},"12":{"loc":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"type":"if","locations":[{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},{"start":{},"end":{}}],"line":79},"13":{"loc":{"start":{"line":86,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":86},"14":{"loc":{"start":{"line":88,"column":8},"end":{"line":90,"column":46}},"type":"binary-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":35}},{"start":{"line":89,"column":11},"end":{"line":89,"column":28}},{"start":{"line":90,"column":11},"end":{"line":90,"column":46}}],"line":88}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isJSONString.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isJSONString.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":20}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":17}},"3":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}}},"fnMap":{"0":{"name":"IsJSONString","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":36}},"loc":{"start":{"line":1,"column":50},"end":{"line":8,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isPaintEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isPaintEqual.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":49,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":47,"column":5}},"2":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"3":{"start":{"line":7,"column":8},"end":{"line":19,"column":10}},"4":{"start":{"line":22,"column":6},"end":{"line":46,"column":7}},"5":{"start":{"line":23,"column":8},"end":{"line":45,"column":10}},"6":{"start":{"line":26,"column":12},"end":{"line":37,"column":113}},"7":{"start":{"line":40,"column":12},"end":{"line":40,"column":56}},"8":{"start":{"line":43,"column":12},"end":{"line":43,"column":56}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":17}},"10":{"start":{"line":50,"column":2},"end":{"line":50,"column":27}}},"fnMap":{"0":{"name":"isPaintEqual","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":28}},"loc":{"start":{"line":3,"column":61},"end":{"line":51,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":40},"end":{"line":25,"column":41}},"loc":{"start":{"line":26,"column":12},"end":{"line":37,"column":113}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":47},"end":{"line":39,"column":48}},"loc":{"start":{"line":40,"column":12},"end":{"line":40,"column":56}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":47},"end":{"line":42,"column":48}},"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":56}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":49,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":22}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":12}},{"start":{"line":4,"column":16},"end":{"line":4,"column":22}}],"line":4},"2":{"loc":{"start":{"line":5,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":5},"3":{"loc":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":6},"4":{"loc":{"start":{"line":6,"column":10},"end":{"line":6,"column":60}},"type":"binary-expr","locations":[{"start":{"line":6,"column":10},"end":{"line":6,"column":33}},{"start":{"line":6,"column":37},"end":{"line":6,"column":60}}],"line":6},"5":{"loc":{"start":{"line":8,"column":10},"end":{"line":18,"column":78}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":43}},{"start":{"line":18,"column":13},"end":{"line":18,"column":78}}],"line":8},"6":{"loc":{"start":{"line":22,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":46,"column":7}},{"start":{},"end":{}}],"line":22},"7":{"loc":{"start":{"line":22,"column":10},"end":{"line":22,"column":80}},"type":"binary-expr","locations":[{"start":{"line":22,"column":10},"end":{"line":22,"column":43}},{"start":{"line":22,"column":47},"end":{"line":22,"column":80}}],"line":22},"8":{"loc":{"start":{"line":24,"column":10},"end":{"line":44,"column":12}},"type":"binary-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":24,"column":69}},{"start":{"line":25,"column":13},"end":{"line":38,"column":12}},{"start":{"line":39,"column":13},"end":{"line":41,"column":12}},{"start":{"line":42,"column":13},"end":{"line":44,"column":12}}],"line":24},"9":{"loc":{"start":{"line":26,"column":12},"end":{"line":37,"column":113}},"type":"binary-expr","locations":[{"start":{"line":26,"column":12},"end":{"line":26,"column":66}},{"start":{"line":37,"column":17},"end":{"line":37,"column":113}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isSameCredentials.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isSameCredentials.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":55}},"2":{"start":{"line":13,"column":2},"end":{"line":44,"column":3}},"3":{"start":{"line":18,"column":6},"end":{"line":23,"column":8}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":84}},"5":{"start":{"line":31,"column":6},"end":{"line":36,"column":8}},"6":{"start":{"line":38,"column":6},"end":{"line":41,"column":8}},"7":{"start":{"line":43,"column":6},"end":{"line":43,"column":19}}},"fnMap":{"0":{"name":"isSameCredentials","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":26}},"loc":{"start":{"line":7,"column":11},"end":{"line":45,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":9,"column":97}},"type":"binary-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":51}},{"start":{"line":9,"column":55},"end":{"line":9,"column":76}},{"start":{"line":9,"column":80},"end":{"line":9,"column":97}}],"line":9},"2":{"loc":{"start":{"line":13,"column":2},"end":{"line":44,"column":3}},"type":"switch","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":36}},{"start":{"line":15,"column":4},"end":{"line":15,"column":36}},{"start":{"line":16,"column":4},"end":{"line":16,"column":33}},{"start":{"line":17,"column":4},"end":{"line":24,"column":5}},{"start":{"line":25,"column":4},"end":{"line":25,"column":55}},{"start":{"line":26,"column":4},"end":{"line":26,"column":37}},{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},{"start":{"line":30,"column":4},"end":{"line":36,"column":8}},{"start":{"line":37,"column":4},"end":{"line":41,"column":8}},{"start":{"line":42,"column":4},"end":{"line":43,"column":19}}],"line":13},"3":{"loc":{"start":{"line":19,"column":8},"end":{"line":22,"column":46}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":35}},{"start":{"line":20,"column":11},"end":{"line":20,"column":50}},{"start":{"line":21,"column":11},"end":{"line":21,"column":50}},{"start":{"line":22,"column":11},"end":{"line":22,"column":46}}],"line":19},"4":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":83}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":40}},{"start":{"line":28,"column":44},"end":{"line":28,"column":83}}],"line":28},"5":{"loc":{"start":{"line":32,"column":8},"end":{"line":35,"column":80}},"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":35}},{"start":{"line":33,"column":11},"end":{"line":33,"column":50}},{"start":{"line":34,"column":11},"end":{"line":34,"column":64}},{"start":{"line":35,"column":11},"end":{"line":35,"column":80}}],"line":32},"6":{"loc":{"start":{"line":39,"column":8},"end":{"line":40,"column":50}},"type":"binary-expr","locations":[{"start":{"line":39,"column":8},"end":{"line":39,"column":35}},{"start":{"line":40,"column":11},"end":{"line":40,"column":50}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0,0,0,0,0,0,0,0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/lastIndexOf.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/lastIndexOf.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":2,"column":17},"end":{"line":2,"column":33}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":17}},"4":{"start":{"line":7,"column":2},"end":{"line":7,"column":12}}},"fnMap":{"0":{"name":"lastIndexOf","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":27}},"loc":{"start":{"line":1,"column":103},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},{"start":{},"end":{}}],"line":3}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/ldUserFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/ldUserFactory.ts","statementMap":{"0":{"start":{"line":2,"column":59},"end":{"line":4,"column":3}},"1":{"start":{"line":5,"column":2},"end":{"line":7,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":39}},"3":{"start":{"line":9,"column":2},"end":{"line":13,"column":4}}},"fnMap":{"0":{"name":"ldUserFactory","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":102},"end":{"line":14,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":41},"end":{"line":7,"column":3}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":10},"end":{"line":3,"column":20}},"type":"binary-expr","locations":[{"start":{"line":3,"column":10},"end":{"line":3,"column":14}},{"start":{"line":3,"column":18},"end":{"line":3,"column":20}}],"line":3}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapThemeToVariableInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapThemeToVariableInfo.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},"1":{"start":{"line":5,"column":14},"end":{"line":5,"column":24}},"2":{"start":{"line":6,"column":2},"end":{"line":12,"column":9}},"3":{"start":{"line":7,"column":4},"end":{"line":10,"column":6}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":15}}},"fnMap":{"0":{"name":"mapThemeToVariableInfo","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":74},"end":{"line":13,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":100},"end":{"line":6,"column":101}},"loc":{"start":{"line":6,"column":134},"end":{"line":12,"column":3}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":6,"column":24},"end":{"line":6,"column":61}},"type":"binary-expr","locations":[{"start":{"line":6,"column":24},"end":{"line":6,"column":55}},{"start":{"line":6,"column":59},"end":{"line":6,"column":61}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapTokensToVariableInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapTokensToVariableInfo.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":13,"column":21}}},"fnMap":{"0":{"name":"mapTokensToVariableInfo","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":39}},"loc":{"start":{"line":7,"column":118},"end":{"line":14,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":165}},"type":"cond-expr","locations":[{"start":{"line":10,"column":82},"end":{"line":10,"column":151}},{"start":{"line":10,"column":154},"end":{"line":10,"column":165}}],"line":10},"1":{"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":78}},"type":"binary-expr","locations":[{"start":{"line":10,"column":12},"end":{"line":10,"column":43}},{"start":{"line":10,"column":47},"end":{"line":10,"column":78}}],"line":10},"2":{"loc":{"start":{"line":12,"column":16},"end":{"line":12,"column":66}},"type":"binary-expr","locations":[{"start":{"line":12,"column":16},"end":{"line":12,"column":60}},{"start":{"line":12,"column":64},"end":{"line":12,"column":66}}],"line":12}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchStyleName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchStyleName.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"matchStyleName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":30}},"loc":{"start":{"line":6,"column":2},"end":{"line":15,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":11,"column":36}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":35}},{"start":{"line":9,"column":7},"end":{"line":9,"column":36}},{"start":{"line":10,"column":7},"end":{"line":10,"column":38}},{"start":{"line":11,"column":7},"end":{"line":11,"column":36}}],"line":8}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchVariableName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchVariableName.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":8,"column":4}}},"fnMap":{"0":{"name":"matchVariableName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":33}},"loc":{"start":{"line":5,"column":2},"end":{"line":9,"column":1}},"line":5}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/migrate.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/migrate.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":7,"column":28}},"2":{"start":{"line":9,"column":2},"end":{"line":9,"column":25}}},"fnMap":{"0":{"name":"migrate","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":5,"column":10},"end":{"line":10,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},{"start":{},"end":{}}],"line":6}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mixpanel.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mixpanel.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/modifyColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/modifyColor.ts","statementMap":{"0":{"start":{"line":10,"column":16},"end":{"line":10,"column":36}},"1":{"start":{"line":11,"column":22},"end":{"line":11,"column":27}},"2":{"start":{"line":12,"column":2},"end":{"line":35,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":30,"column":5}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":88}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":14}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":87}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":14}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":102}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":14}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":70}},"11":{"start":{"line":25,"column":8},"end":{"line":25,"column":14}},"12":{"start":{"line":28,"column":8},"end":{"line":28,"column":30}},"13":{"start":{"line":29,"column":8},"end":{"line":29,"column":14}},"14":{"start":{"line":31,"column":4},"end":{"line":31,"column":53}},"15":{"start":{"line":32,"column":4},"end":{"line":32,"column":67}},"16":{"start":{"line":34,"column":4},"end":{"line":34,"column":21}}},"fnMap":{"0":{"name":"modifyColor","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":27}},"loc":{"start":{"line":9,"column":72},"end":{"line":36,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":30,"column":5}},"type":"switch","locations":[{"start":{"line":14,"column":6},"end":{"line":16,"column":14}},{"start":{"line":17,"column":6},"end":{"line":19,"column":14}},{"start":{"line":20,"column":6},"end":{"line":22,"column":14}},{"start":{"line":23,"column":6},"end":{"line":26,"column":7}},{"start":{"line":27,"column":6},"end":{"line":29,"column":14}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0},"b":{"0":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/normalizeVariableName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/normalizeVariableName.ts","statementMap":{"0":{"start":{"line":2,"column":19},"end":{"line":2,"column":61}},"1":{"start":{"line":2,"column":49},"end":{"line":2,"column":60}},"2":{"start":{"line":3,"column":33},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":32}}},"fnMap":{"0":{"name":"normalizeVariableName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":37}},"loc":{"start":{"line":1,"column":52},"end":{"line":5,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":39},"end":{"line":2,"column":40}},"loc":{"start":{"line":2,"column":49},"end":{"line":2,"column":60}},"line":2}},"branchMap":{},"s":{"0":36,"1":36,"2":36,"3":36},"f":{"0":36,"1":36},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a22b8ecda48e57c100d59ebb324912e2809ee56a"} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseJson.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseJson.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":69}}},"fnMap":{"0":{"name":"parseJson","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":51},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseTokenValues.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseTokenValues.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":12,"column":6}},"2":{"start":{"line":18,"column":24},"end":{"line":35,"column":8}},"3":{"start":{"line":19,"column":24},"end":{"line":19,"column":32}},"4":{"start":{"line":21,"column":4},"end":{"line":24,"column":5}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":41}},"6":{"start":{"line":23,"column":6},"end":{"line":23,"column":18}},"7":{"start":{"line":26,"column":4},"end":{"line":32,"column":5}},"8":{"start":{"line":27,"column":6},"end":{"line":27,"column":38}},"9":{"start":{"line":29,"column":31},"end":{"line":29,"column":75}},"10":{"start":{"line":30,"column":6},"end":{"line":30,"column":46}},"11":{"start":{"line":31,"column":6},"end":{"line":31,"column":18}},"12":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"13":{"start":{"line":37,"column":2},"end":{"line":37,"column":43}}},"fnMap":{"0":{"name":"parseTokenValues","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":40}},"loc":{"start":{"line":7,"column":102},"end":{"line":38,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":80},"end":{"line":18,"column":81}},"loc":{"start":{"line":18,"column":109},"end":{"line":35,"column":3}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":24,"column":5}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeIdPropertyFromTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeIdPropertyFromTokens.ts","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":10,"column":8}},"1":{"start":{"line":7,"column":25},"end":{"line":7,"column":71}},"2":{"start":{"line":7,"column":44},"end":{"line":7,"column":70}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":28}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":15}},"5":{"start":{"line":12,"column":2},"end":{"line":12,"column":18}}},"fnMap":{"0":{"name":"removeIdPropertyFromTokens","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":50}},"loc":{"start":{"line":5,"column":90},"end":{"line":13,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":79},"end":{"line":6,"column":80}},"loc":{"start":{"line":6,"column":100},"end":{"line":10,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":33},"end":{"line":7,"column":34}},"loc":{"start":{"line":7,"column":44},"end":{"line":7,"column":70}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeLicense.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeLicense.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":26,"column":3}},"1":{"start":{"line":6,"column":27},"end":{"line":10,"column":5}},"2":{"start":{"line":11,"column":16},"end":{"line":11,"column":92}},"3":{"start":{"line":12,"column":4},"end":{"line":15,"column":5}},"4":{"start":{"line":13,"column":18},"end":{"line":13,"column":34}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":21}},"6":{"start":{"line":17,"column":24},"end":{"line":17,"column":40}},"7":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"8":{"start":{"line":22,"column":4},"end":{"line":22,"column":19}},"9":{"start":{"line":23,"column":4},"end":{"line":25,"column":6}}},"fnMap":{"0":{"name":"removeLicense","decl":{"start":{"line":1,"column":30},"end":{"line":1,"column":43}},"loc":{"start":{"line":4,"column":45},"end":{"line":27,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeTokenId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeTokenId.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":52}},"2":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"3":{"start":{"line":7,"column":6},"end":{"line":7,"column":50}},"4":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":33}},"6":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":29}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":15}}},"fnMap":{"0":{"name":"removeTokenId","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":94},"end":{"line":19,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":77}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":23}},{"start":{"line":4,"column":27},"end":{"line":4,"column":39}},{"start":{"line":4,"column":43},"end":{"line":4,"column":77}}],"line":4},"2":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},{"start":{},"end":{}}],"line":6},"3":{"loc":{"start":{"line":6,"column":20},"end":{"line":6,"column":62}},"type":"binary-expr","locations":[{"start":{"line":6,"column":20},"end":{"line":6,"column":56}},{"start":{"line":6,"column":60},"end":{"line":6,"column":62}}],"line":6},"4":{"loc":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":11},"5":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":63}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":39}},{"start":{"line":11,"column":43},"end":{"line":11,"column":63}}],"line":11},"6":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":15},"7":{"loc":{"start":{"line":15,"column":18},"end":{"line":15,"column":41}},"type":"binary-expr","locations":[{"start":{"line":15,"column":18},"end":{"line":15,"column":35}},{"start":{"line":15,"column":39},"end":{"line":15,"column":41}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/reorderItemInSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/reorderItemInSet.ts","statementMap":{},"fnMap":{"0":{"name":"reorderItemInSet","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":35},"end":{"line":3,"column":1}},"line":1}},"branchMap":{},"s":{},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/setTokenKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/setTokenKey.ts","statementMap":{"0":{"start":{"line":14,"column":17},"end":{"line":14,"column":63}},"1":{"start":{"line":16,"column":2},"end":{"line":27,"column":3}},"2":{"start":{"line":17,"column":4},"end":{"line":17,"column":42}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":28}},"5":{"start":{"line":22,"column":22},"end":{"line":22,"column":60}},"6":{"start":{"line":23,"column":4},"end":{"line":23,"column":31}},"7":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":34}},"9":{"start":{"line":29,"column":2},"end":{"line":29,"column":15}}},"fnMap":{"0":{"name":"setTokenKey","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":27}},"loc":{"start":{"line":13,"column":180},"end":{"line":30,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":27,"column":3}},{"start":{"line":21,"column":9},"end":{"line":27,"column":3}}],"line":16},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":22,"column":22},"end":{"line":22,"column":60}},"type":"binary-expr","locations":[{"start":{"line":22,"column":22},"end":{"line":22,"column":42}},{"start":{"line":22,"column":46},"end":{"line":22,"column":60}}],"line":22},"3":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSelectionValueByProperties.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSelectionValueByProperties.ts","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":6,"column":48}},"1":{"start":{"line":7,"column":2},"end":{"line":8,"column":60}},"2":{"start":{"line":7,"column":64},"end":{"line":7,"column":133}},"3":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}}},"fnMap":{"0":{"name":"sortSelectionValueByProperties","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":46}},"loc":{"start":{"line":5,"column":70},"end":{"line":9,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":54},"end":{"line":7,"column":55}},"loc":{"start":{"line":7,"column":64},"end":{"line":7,"column":133}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":10}},"loc":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}},"line":8}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0,"2":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSets.ts","statementMap":{"0":{"start":{"line":7,"column":18},"end":{"line":7,"column":54}},"1":{"start":{"line":8,"column":18},"end":{"line":8,"column":54}},"2":{"start":{"line":11,"column":2},"end":{"line":11,"column":36}},"3":{"start":{"line":11,"column":27},"end":{"line":11,"column":36}},"4":{"start":{"line":14,"column":2},"end":{"line":14,"column":130}},"5":{"start":{"line":14,"column":120},"end":{"line":14,"column":130}},"6":{"start":{"line":15,"column":2},"end":{"line":15,"column":129}},"7":{"start":{"line":15,"column":120},"end":{"line":15,"column":129}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":11}}},"fnMap":{"0":{"name":"sortSets","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":24}},"loc":{"start":{"line":5,"column":73},"end":{"line":19,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":18},"end":{"line":7,"column":54}},"type":"binary-expr","locations":[{"start":{"line":7,"column":18},"end":{"line":7,"column":27}},{"start":{"line":7,"column":31},"end":{"line":7,"column":54}}],"line":7},"1":{"loc":{"start":{"line":8,"column":18},"end":{"line":8,"column":54}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":27}},{"start":{"line":8,"column":31},"end":{"line":8,"column":54}}],"line":8},"2":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":36}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":11,"column":36}},{"start":{},"end":{}}],"line":11},"3":{"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":130}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":14,"column":130}},{"start":{},"end":{}}],"line":14},"4":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":118}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":41}},{"start":{"line":14,"column":46},"end":{"line":14,"column":80}},{"start":{"line":14,"column":84},"end":{"line":14,"column":117}}],"line":14},"5":{"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":129}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":129}},{"start":{},"end":{}}],"line":15},"6":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":118}},"type":"binary-expr","locations":[{"start":{"line":15,"column":7},"end":{"line":15,"column":41}},{"start":{"line":15,"column":45},"end":{"line":15,"column":78}},{"start":{"line":15,"column":83},"end":{"line":15,"column":118}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/splitIntoChunks.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/splitIntoChunks.ts","statementMap":{"0":{"start":{"line":8,"column":27},"end":{"line":8,"column":29}},"1":{"start":{"line":9,"column":21},"end":{"line":9,"column":23}},"2":{"start":{"line":10,"column":22},"end":{"line":10,"column":23}},"3":{"start":{"line":11,"column":19},"end":{"line":11,"column":43}},"4":{"start":{"line":14,"column":2},"end":{"line":26,"column":3}},"5":{"start":{"line":14,"column":15},"end":{"line":14,"column":16}},"6":{"start":{"line":15,"column":17},"end":{"line":15,"column":23}},"7":{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},"8":{"start":{"line":19,"column":6},"end":{"line":19,"column":32}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":26}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":24}},"11":{"start":{"line":23,"column":6},"end":{"line":23,"column":27}},"12":{"start":{"line":24,"column":6},"end":{"line":24,"column":25}},"13":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"14":{"start":{"line":30,"column":4},"end":{"line":30,"column":30}},"15":{"start":{"line":33,"column":2},"end":{"line":33,"column":16}}},"fnMap":{"0":{"name":"splitIntoChunks","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":31}},"loc":{"start":{"line":7,"column":73},"end":{"line":34,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},{"start":{"line":22,"column":11},"end":{"line":25,"column":5}}],"line":18},"1":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/storyblok.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/storyblok.ts","statementMap":{"0":{"start":{"line":4,"column":20},"end":{"line":12,"column":4}},"1":{"start":{"line":13,"column":51},"end":{"line":13,"column":80}},"2":{"start":{"line":14,"column":2},"end":{"line":14,"column":83}},"3":{"start":{"line":18,"column":2},"end":{"line":41,"column":3}},"4":{"start":{"line":19,"column":18},"end":{"line":19,"column":52}},"5":{"start":{"line":20,"column":26},"end":{"line":20,"column":58}},"6":{"start":{"line":21,"column":21},"end":{"line":32,"column":5}},"7":{"start":{"line":34,"column":16},"end":{"line":36,"column":5}},"8":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"9":{"start":{"line":38,"column":22},"end":{"line":38,"column":72}},"10":{"start":{"line":38,"column":50},"end":{"line":38,"column":70}},"11":{"start":{"line":39,"column":6},"end":{"line":39,"column":28}}},"fnMap":{"0":{"name":"formatDate","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":26}},"loc":{"start":{"line":3,"column":49},"end":{"line":15,"column":1}},"line":3},"1":{"name":"fetchChangelog","decl":{"start":{"line":17,"column":30},"end":{"line":17,"column":44}},"loc":{"start":{"line":17,"column":140},"end":{"line":42,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":38},"end":{"line":38,"column":39}},"loc":{"start":{"line":38,"column":50},"end":{"line":38,"column":70}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":18,"column":73}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":40}},{"start":{"line":18,"column":44},"end":{"line":18,"column":73}}],"line":18},"2":{"loc":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/stringifyTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/stringifyTokens.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":10,"column":28},"end":{"line":10,"column":81}},"2":{"start":{"line":11,"column":4},"end":{"line":11,"column":80}},"3":{"start":{"line":13,"column":2},"end":{"line":13,"column":34}},"4":{"start":{"line":21,"column":19},"end":{"line":21,"column":21}},"5":{"start":{"line":22,"column":2},"end":{"line":51,"column":5}},"6":{"start":{"line":23,"column":26},"end":{"line":23,"column":50}},"7":{"start":{"line":24,"column":42},"end":{"line":24,"column":97}},"8":{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},"9":{"start":{"line":26,"column":68},"end":{"line":26,"column":84}},"10":{"start":{"line":27,"column":39},"end":{"line":27,"column":67}},"11":{"start":{"line":29,"column":6},"end":{"line":29,"column":86}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":70}},"13":{"start":{"line":31,"column":6},"end":{"line":31,"column":82}},"14":{"start":{"line":32,"column":6},"end":{"line":36,"column":7}},"15":{"start":{"line":33,"column":8},"end":{"line":33,"column":32}},"16":{"start":{"line":34,"column":8},"end":{"line":34,"column":33}},"17":{"start":{"line":35,"column":8},"end":{"line":35,"column":39}},"18":{"start":{"line":37,"column":6},"end":{"line":37,"column":30}},"19":{"start":{"line":38,"column":6},"end":{"line":38,"column":62}},"20":{"start":{"line":40,"column":39},"end":{"line":40,"column":55}},"21":{"start":{"line":41,"column":6},"end":{"line":41,"column":63}},"22":{"start":{"line":42,"column":6},"end":{"line":42,"column":65}},"23":{"start":{"line":43,"column":6},"end":{"line":43,"column":77}},"24":{"start":{"line":44,"column":6},"end":{"line":48,"column":7}},"25":{"start":{"line":45,"column":8},"end":{"line":45,"column":32}},"26":{"start":{"line":46,"column":8},"end":{"line":46,"column":33}},"27":{"start":{"line":47,"column":8},"end":{"line":47,"column":39}},"28":{"start":{"line":49,"column":6},"end":{"line":49,"column":62}},"29":{"start":{"line":53,"column":2},"end":{"line":53,"column":43}}},"fnMap":{"0":{"name":"getGroupTypeName","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":32}},"loc":{"start":{"line":8,"column":80},"end":{"line":14,"column":1}},"line":8},"1":{"name":"stringifyTokens","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":39}},"loc":{"start":{"line":20,"column":10},"end":{"line":54,"column":1}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":34},"end":{"line":22,"column":35}},"loc":{"start":{"line":22,"column":45},"end":{"line":51,"column":3}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},{"start":{"line":39,"column":11},"end":{"line":50,"column":5}}],"line":25},"2":{"loc":{"start":{"line":32,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":36,"column":7}},{"start":{},"end":{}}],"line":32},"3":{"loc":{"start":{"line":44,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":48,"column":7}},{"start":{},"end":{}}],"line":44}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/themeListToTree.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/themeListToTree.ts","statementMap":{"0":{"start":{"line":17,"column":15},"end":{"line":63,"column":8}},"1":{"start":{"line":18,"column":24},"end":{"line":22,"column":5}},"2":{"start":{"line":19,"column":16},"end":{"line":21,"column":91}},"3":{"start":{"line":24,"column":4},"end":{"line":61,"column":5}},"4":{"start":{"line":25,"column":6},"end":{"line":34,"column":9}},"5":{"start":{"line":35,"column":6},"end":{"line":44,"column":9}},"6":{"start":{"line":46,"column":29},"end":{"line":50,"column":14}},"7":{"start":{"line":47,"column":18},"end":{"line":49,"column":96}},"8":{"start":{"line":51,"column":6},"end":{"line":60,"column":9}},"9":{"start":{"line":62,"column":4},"end":{"line":62,"column":15}},"10":{"start":{"line":64,"column":2},"end":{"line":64,"column":14}}},"fnMap":{"0":{"name":"themeListToTree","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":31}},"loc":{"start":{"line":16,"column":57},"end":{"line":65,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":40},"end":{"line":17,"column":41}},"loc":{"start":{"line":17,"column":55},"end":{"line":63,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":6},"end":{"line":19,"column":7}},"loc":{"start":{"line":19,"column":16},"end":{"line":21,"column":91}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":8},"end":{"line":47,"column":9}},"loc":{"start":{"line":47,"column":18},"end":{"line":49,"column":96}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":16},"end":{"line":21,"column":91}},"type":"binary-expr","locations":[{"start":{"line":19,"column":16},"end":{"line":19,"column":28}},{"start":{"line":20,"column":13},"end":{"line":20,"column":47}},{"start":{"line":20,"column":51},"end":{"line":20,"column":74}},{"start":{"line":21,"column":14},"end":{"line":21,"column":48}},{"start":{"line":21,"column":52},"end":{"line":21,"column":89}}],"line":19},"1":{"loc":{"start":{"line":24,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":61,"column":5}},{"start":{"line":45,"column":11},"end":{"line":61,"column":5}}],"line":24},"2":{"loc":{"start":{"line":27,"column":15},"end":{"line":27,"column":54}},"type":"binary-expr","locations":[{"start":{"line":27,"column":15},"end":{"line":27,"column":26}},{"start":{"line":27,"column":30},"end":{"line":27,"column":54}}],"line":27},"3":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":52}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":24}},{"start":{"line":28,"column":28},"end":{"line":28,"column":52}}],"line":28},"4":{"loc":{"start":{"line":30,"column":14},"end":{"line":30,"column":53}},"type":"binary-expr","locations":[{"start":{"line":30,"column":14},"end":{"line":30,"column":25}},{"start":{"line":30,"column":29},"end":{"line":30,"column":53}}],"line":30},"5":{"loc":{"start":{"line":32,"column":15},"end":{"line":32,"column":54}},"type":"binary-expr","locations":[{"start":{"line":32,"column":15},"end":{"line":32,"column":26}},{"start":{"line":32,"column":30},"end":{"line":32,"column":54}}],"line":32},"6":{"loc":{"start":{"line":39,"column":16},"end":{"line":39,"column":55}},"type":"binary-expr","locations":[{"start":{"line":39,"column":16},"end":{"line":39,"column":27}},{"start":{"line":39,"column":31},"end":{"line":39,"column":55}}],"line":39},"7":{"loc":{"start":{"line":40,"column":17},"end":{"line":40,"column":56}},"type":"binary-expr","locations":[{"start":{"line":40,"column":17},"end":{"line":40,"column":28}},{"start":{"line":40,"column":32},"end":{"line":40,"column":56}}],"line":40},"8":{"loc":{"start":{"line":47,"column":18},"end":{"line":49,"column":96}},"type":"binary-expr","locations":[{"start":{"line":47,"column":18},"end":{"line":47,"column":38}},{"start":{"line":48,"column":15},"end":{"line":48,"column":49}},{"start":{"line":48,"column":53},"end":{"line":48,"column":79}},{"start":{"line":49,"column":16},"end":{"line":49,"column":50}},{"start":{"line":49,"column":54},"end":{"line":49,"column":94}}],"line":47},"9":{"loc":{"start":{"line":55,"column":16},"end":{"line":55,"column":55}},"type":"binary-expr","locations":[{"start":{"line":55,"column":16},"end":{"line":55,"column":27}},{"start":{"line":55,"column":31},"end":{"line":55,"column":55}}],"line":55},"10":{"loc":{"start":{"line":56,"column":17},"end":{"line":56,"column":56}},"type":"binary-expr","locations":[{"start":{"line":56,"column":17},"end":{"line":56,"column":28}},{"start":{"line":56,"column":32},"end":{"line":56,"column":56}}],"line":56}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0],"9":[0,0],"10":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenArrayGroupToMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenArrayGroupToMap.ts","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":4,"column":109}},"1":{"start":{"line":4,"column":87},"end":{"line":4,"column":106}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":25}}},"fnMap":{"0":{"name":"tokenArrayGroupToMap","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":59},"end":{"line":6,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":75},"end":{"line":4,"column":76}},"loc":{"start":{"line":4,"column":87},"end":{"line":4,"column":106}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenHelpers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenHelpers.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":29,"column":43}},"1":{"start":{"line":16,"column":25},"end":{"line":16,"column":69}},"2":{"start":{"line":16,"column":48},"end":{"line":16,"column":68}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":34}},"4":{"start":{"line":17,"column":23},"end":{"line":17,"column":34}},"5":{"start":{"line":19,"column":4},"end":{"line":27,"column":7}},"6":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"7":{"start":{"line":22,"column":8},"end":{"line":22,"column":31}},"8":{"start":{"line":24,"column":13},"end":{"line":26,"column":7}},"9":{"start":{"line":25,"column":8},"end":{"line":25,"column":31}},"10":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}},"11":{"start":{"line":33,"column":2},"end":{"line":35,"column":33}},"12":{"start":{"line":34,"column":21},"end":{"line":34,"column":61}},"13":{"start":{"line":35,"column":23},"end":{"line":35,"column":31}},"14":{"start":{"line":44,"column":56},"end":{"line":49,"column":3}},"15":{"start":{"line":52,"column":22},"end":{"line":54,"column":60}},"16":{"start":{"line":52,"column":74},"end":{"line":54,"column":60}},"17":{"start":{"line":56,"column":2},"end":{"line":91,"column":26}},"18":{"start":{"line":57,"column":22},"end":{"line":57,"column":43}},"19":{"start":{"line":58,"column":4},"end":{"line":89,"column":7}},"20":{"start":{"line":59,"column":28},"end":{"line":59,"column":80}},"21":{"start":{"line":59,"column":58},"end":{"line":59,"column":79}},"22":{"start":{"line":60,"column":28},"end":{"line":60,"column":55}},"23":{"start":{"line":61,"column":23},"end":{"line":64,"column":22}},"24":{"start":{"line":66,"column":6},"end":{"line":88,"column":7}},"25":{"start":{"line":68,"column":8},"end":{"line":68,"column":36}},"26":{"start":{"line":69,"column":13},"end":{"line":88,"column":7}},"27":{"start":{"line":78,"column":8},"end":{"line":84,"column":26}},"28":{"start":{"line":87,"column":8},"end":{"line":87,"column":47}},"29":{"start":{"line":90,"column":4},"end":{"line":90,"column":24}}},"fnMap":{"0":{"name":"getOverallConfig","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":32}},"loc":{"start":{"line":14,"column":82},"end":{"line":30,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":31},"end":{"line":15,"column":32}},"loc":{"start":{"line":15,"column":49},"end":{"line":29,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":37},"end":{"line":16,"column":38}},"loc":{"start":{"line":16,"column":48},"end":{"line":16,"column":68}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":59},"end":{"line":19,"column":60}},"loc":{"start":{"line":19,"column":83},"end":{"line":27,"column":5}},"line":19},"4":{"name":"getEnabledTokenSets","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":35}},"loc":{"start":{"line":32,"column":69},"end":{"line":36,"column":1}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":34,"column":12},"end":{"line":34,"column":13}},"loc":{"start":{"line":34,"column":21},"end":{"line":34,"column":61}},"line":34},"6":{"name":"(anonymous_6)","decl":{"start":{"line":35,"column":9},"end":{"line":35,"column":10}},"loc":{"start":{"line":35,"column":23},"end":{"line":35,"column":31}},"line":35},"7":{"name":"mergeTokenGroups","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":32}},"loc":{"start":{"line":43,"column":17},"end":{"line":92,"column":1}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":22},"end":{"line":52,"column":23}},"loc":{"start":{"line":52,"column":74},"end":{"line":54,"column":60}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":31},"end":{"line":56,"column":32}},"loc":{"start":{"line":56,"column":58},"end":{"line":91,"column":3}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":22},"end":{"line":58,"column":23}},"loc":{"start":{"line":58,"column":33},"end":{"line":89,"column":5}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":51},"end":{"line":59,"column":52}},"loc":{"start":{"line":59,"column":58},"end":{"line":59,"column":79}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":34}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":34}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},{"start":{"line":24,"column":13},"end":{"line":26,"column":7}}],"line":21},"2":{"loc":{"start":{"line":24,"column":13},"end":{"line":26,"column":7}},"type":"if","locations":[{"start":{"line":24,"column":13},"end":{"line":26,"column":7}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":24,"column":17},"end":{"line":24,"column":93}},"type":"binary-expr","locations":[{"start":{"line":24,"column":17},"end":{"line":24,"column":49}},{"start":{"line":24,"column":53},"end":{"line":24,"column":93}}],"line":24},"4":{"loc":{"start":{"line":32,"column":36},"end":{"line":32,"column":67}},"type":"default-arg","locations":[{"start":{"line":32,"column":65},"end":{"line":32,"column":67}}],"line":32},"5":{"loc":{"start":{"line":40,"column":2},"end":{"line":40,"column":33}},"type":"default-arg","locations":[{"start":{"line":40,"column":31},"end":{"line":40,"column":33}}],"line":40},"6":{"loc":{"start":{"line":41,"column":2},"end":{"line":41,"column":38}},"type":"default-arg","locations":[{"start":{"line":41,"column":36},"end":{"line":41,"column":38}}],"line":41},"7":{"loc":{"start":{"line":52,"column":74},"end":{"line":54,"column":60}},"type":"binary-expr","locations":[{"start":{"line":52,"column":74},"end":{"line":52,"column":107}},{"start":{"line":53,"column":7},"end":{"line":53,"column":37}},{"start":{"line":54,"column":7},"end":{"line":54,"column":60}}],"line":52},"8":{"loc":{"start":{"line":57,"column":22},"end":{"line":57,"column":43}},"type":"binary-expr","locations":[{"start":{"line":57,"column":22},"end":{"line":57,"column":37}},{"start":{"line":57,"column":41},"end":{"line":57,"column":43}}],"line":57},"9":{"loc":{"start":{"line":66,"column":6},"end":{"line":88,"column":7}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":88,"column":7}},{"start":{"line":69,"column":13},"end":{"line":88,"column":7}}],"line":66},"10":{"loc":{"start":{"line":69,"column":13},"end":{"line":88,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":13},"end":{"line":88,"column":7}},{"start":{"line":85,"column":13},"end":{"line":88,"column":7}}],"line":69},"11":{"loc":{"start":{"line":70,"column":8},"end":{"line":75,"column":41}},"type":"binary-expr","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":43}},{"start":{"line":71,"column":11},"end":{"line":71,"column":29}},{"start":{"line":72,"column":11},"end":{"line":72,"column":50}},{"start":{"line":73,"column":11},"end":{"line":73,"column":45}},{"start":{"line":74,"column":11},"end":{"line":74,"column":46}},{"start":{"line":75,"column":11},"end":{"line":75,"column":41}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0],"5":[0],"6":[0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transform.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transform.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":8,"column":71}}},"fnMap":{"0":{"name":"transform","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":18}},"loc":{"start":{"line":7,"column":98},"end":{"line":9,"column":1}},"line":7}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transformProviderName.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transformProviderName.tsx","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":24,"column":1}},"1":{"start":{"line":4,"column":2},"end":{"line":23,"column":3}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":26}},"3":{"start":{"line":8,"column":6},"end":{"line":8,"column":22}},"4":{"start":{"line":10,"column":6},"end":{"line":10,"column":22}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":32}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":19}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":19}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":25}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":36}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":72},"end":{"line":24,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":23,"column":3}},"type":"switch","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":26}},{"start":{"line":7,"column":4},"end":{"line":8,"column":22}},{"start":{"line":9,"column":4},"end":{"line":10,"column":22}},{"start":{"line":11,"column":4},"end":{"line":12,"column":32}},{"start":{"line":13,"column":4},"end":{"line":14,"column":19}},{"start":{"line":15,"column":4},"end":{"line":16,"column":19}},{"start":{"line":17,"column":4},"end":{"line":18,"column":25}},{"start":{"line":19,"column":4},"end":{"line":20,"column":36}},{"start":{"line":21,"column":4},"end":{"line":22,"column":22}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trimValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trimValue.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":11,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":10,"column":31}},"2":{"start":{"line":6,"column":6},"end":{"line":9,"column":12}},"3":{"start":{"line":7,"column":8},"end":{"line":7,"column":43}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":19}},"5":{"start":{"line":11,"column":4},"end":{"line":16,"column":3}},"6":{"start":{"line":12,"column":4},"end":{"line":15,"column":11}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":41}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":17}},"9":{"start":{"line":17,"column":2},"end":{"line":17,"column":33}}},"fnMap":{"0":{"name":"trimValue","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":85},"end":{"line":18,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":21},"end":{"line":5,"column":22}},"loc":{"start":{"line":6,"column":6},"end":{"line":9,"column":12}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":58},"end":{"line":6,"column":59}},"loc":{"start":{"line":6,"column":81},"end":{"line":9,"column":7}},"line":6},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":64},"end":{"line":12,"column":65}},"loc":{"start":{"line":12,"column":87},"end":{"line":15,"column":5}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyColorVariableId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyColorVariableId.ts","statementMap":{"0":{"start":{"line":12,"column":45},"end":{"line":12,"column":71}},"1":{"start":{"line":13,"column":30},"end":{"line":13,"column":113}},"2":{"start":{"line":14,"column":17},"end":{"line":14,"column":41}},"3":{"start":{"line":16,"column":2},"end":{"line":16,"column":51}},"4":{"start":{"line":16,"column":38},"end":{"line":16,"column":51}},"5":{"start":{"line":18,"column":19},"end":{"line":18,"column":79}},"6":{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},"7":{"start":{"line":19,"column":17},"end":{"line":19,"column":30}},"8":{"start":{"line":21,"column":2},"end":{"line":44,"column":3}},"9":{"start":{"line":22,"column":37},"end":{"line":22,"column":83}},"10":{"start":{"line":23,"column":4},"end":{"line":28,"column":5}},"11":{"start":{"line":24,"column":24},"end":{"line":24,"column":43}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":111}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":31}},"14":{"start":{"line":27,"column":6},"end":{"line":27,"column":67}},"15":{"start":{"line":29,"column":4},"end":{"line":34,"column":5}},"16":{"start":{"line":30,"column":25},"end":{"line":30,"column":46}},"17":{"start":{"line":31,"column":6},"end":{"line":31,"column":113}},"18":{"start":{"line":32,"column":6},"end":{"line":32,"column":34}},"19":{"start":{"line":33,"column":6},"end":{"line":33,"column":69}},"20":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"21":{"start":{"line":37,"column":24},"end":{"line":37,"column":44}},"22":{"start":{"line":38,"column":6},"end":{"line":38,"column":111}},"23":{"start":{"line":39,"column":6},"end":{"line":39,"column":32}},"24":{"start":{"line":40,"column":6},"end":{"line":40,"column":68}},"25":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"26":{"start":{"line":45,"column":2},"end":{"line":45,"column":15}}},"fnMap":{"0":{"name":"tryApplyColorVariableId","decl":{"start":{"line":11,"column":22},"end":{"line":11,"column":45}},"loc":{"start":{"line":11,"column":114},"end":{"line":46,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":51}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":16,"column":51}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":36}},"type":"binary-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":12}},{"start":{"line":16,"column":16},"end":{"line":16,"column":36}}],"line":16},"2":{"loc":{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},{"start":{},"end":{}}],"line":19},"3":{"loc":{"start":{"line":23,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":23,"column":8},"end":{"line":23,"column":45}},"type":"binary-expr","locations":[{"start":{"line":23,"column":8},"end":{"line":23,"column":24}},{"start":{"line":23,"column":28},"end":{"line":23,"column":45}}],"line":23},"5":{"loc":{"start":{"line":25,"column":62},"end":{"line":25,"column":90}},"type":"binary-expr","locations":[{"start":{"line":25,"column":62},"end":{"line":25,"column":74}},{"start":{"line":25,"column":78},"end":{"line":25,"column":90}}],"line":25},"6":{"loc":{"start":{"line":29,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":49}},"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":26}},{"start":{"line":29,"column":30},"end":{"line":29,"column":49}}],"line":29},"8":{"loc":{"start":{"line":31,"column":63},"end":{"line":31,"column":92}},"type":"binary-expr","locations":[{"start":{"line":31,"column":63},"end":{"line":31,"column":76}},{"start":{"line":31,"column":80},"end":{"line":31,"column":92}}],"line":31},"9":{"loc":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":36},"10":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":47}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":25}},{"start":{"line":36,"column":29},"end":{"line":36,"column":47}}],"line":36},"11":{"loc":{"start":{"line":38,"column":62},"end":{"line":38,"column":90}},"type":"binary-expr","locations":[{"start":{"line":38,"column":62},"end":{"line":38,"column":74}},{"start":{"line":38,"column":78},"end":{"line":38,"column":90}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyEffectVariableId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyEffectVariableId.ts","statementMap":{"0":{"start":{"line":5,"column":45},"end":{"line":5,"column":71}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"2":{"start":{"line":6,"column":91},"end":{"line":6,"column":104}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":68}},"4":{"start":{"line":10,"column":2},"end":{"line":14,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":80}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":28}},"7":{"start":{"line":15,"column":2},"end":{"line":15,"column":15}}},"fnMap":{"0":{"name":"tryApplyEffectVariableId","decl":{"start":{"line":4,"column":22},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":78},"end":{"line":16,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},{"start":{},"end":{}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyVariableId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyVariableId.ts","statementMap":{"0":{"start":{"line":5,"column":45},"end":{"line":5,"column":71}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"2":{"start":{"line":6,"column":91},"end":{"line":6,"column":104}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":79}},"4":{"start":{"line":10,"column":2},"end":{"line":31,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":30,"column":5}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":44}},"7":{"start":{"line":13,"column":6},"end":{"line":27,"column":7}},"8":{"start":{"line":14,"column":32},"end":{"line":14,"column":71}},"9":{"start":{"line":15,"column":28},"end":{"line":15,"column":59}},"10":{"start":{"line":16,"column":8},"end":{"line":23,"column":9}},"11":{"start":{"line":18,"column":26},"end":{"line":18,"column":32}},"12":{"start":{"line":19,"column":32},"end":{"line":19,"column":53}},"13":{"start":{"line":20,"column":26},"end":{"line":20,"column":73}},"14":{"start":{"line":22,"column":10},"end":{"line":22,"column":25}},"15":{"start":{"line":26,"column":8},"end":{"line":26,"column":47}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":30}},"17":{"start":{"line":32,"column":2},"end":{"line":32,"column":15}}},"fnMap":{"0":{"name":"tryApplyVariableId","decl":{"start":{"line":4,"column":22},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":106},"end":{"line":33,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":30}},"type":"binary-expr","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":14}},{"start":{"line":10,"column":18},"end":{"line":10,"column":30}}],"line":10},"3":{"loc":{"start":{"line":13,"column":6},"end":{"line":27,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":27,"column":7}},{"start":{},"end":{}}],"line":13},"4":{"loc":{"start":{"line":16,"column":8},"end":{"line":23,"column":9}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":23,"column":9}},{"start":{},"end":{}}],"line":16},"5":{"loc":{"start":{"line":16,"column":12},"end":{"line":16,"column":104}},"type":"binary-expr","locations":[{"start":{"line":16,"column":12},"end":{"line":16,"column":43}},{"start":{"line":16,"column":47},"end":{"line":16,"column":82}},{"start":{"line":16,"column":86},"end":{"line":16,"column":104}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryParseJson.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryParseJson.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":23}},"3":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}}},"fnMap":{"0":{"name":"tryParseJson","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":28}},"loc":{"start":{"line":1,"column":63},"end":{"line":8,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trySetStyleId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trySetStyleId.ts","statementMap":{"0":{"start":{"line":7,"column":45},"end":{"line":7,"column":71}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":104}},"2":{"start":{"line":8,"column":91},"end":{"line":8,"column":104}},"3":{"start":{"line":9,"column":2},"end":{"line":52,"column":3}},"4":{"start":{"line":11,"column":26},"end":{"line":11,"column":63}},"5":{"start":{"line":12,"column":26},"end":{"line":23,"column":6}},"6":{"start":{"line":13,"column":25},"end":{"line":13,"column":52}},"7":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"8":{"start":{"line":15,"column":8},"end":{"line":15,"column":31}},"9":{"start":{"line":16,"column":13},"end":{"line":22,"column":7}},"10":{"start":{"line":17,"column":8},"end":{"line":21,"column":13}},"11":{"start":{"line":18,"column":33},"end":{"line":18,"column":56}},"12":{"start":{"line":20,"column":12},"end":{"line":20,"column":28}},"13":{"start":{"line":24,"column":4},"end":{"line":24,"column":37}},"14":{"start":{"line":24,"column":24},"end":{"line":24,"column":37}},"15":{"start":{"line":25,"column":4},"end":{"line":34,"column":5}},"16":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"17":{"start":{"line":27,"column":6},"end":{"line":33,"column":8}},"18":{"start":{"line":36,"column":4},"end":{"line":39,"column":5}},"19":{"start":{"line":37,"column":6},"end":{"line":37,"column":41}},"20":{"start":{"line":38,"column":6},"end":{"line":38,"column":112}},"21":{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},"22":{"start":{"line":42,"column":6},"end":{"line":42,"column":39}},"23":{"start":{"line":43,"column":6},"end":{"line":43,"column":108}},"24":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"25":{"start":{"line":47,"column":6},"end":{"line":47,"column":41}},"26":{"start":{"line":48,"column":6},"end":{"line":48,"column":112}},"27":{"start":{"line":51,"column":4},"end":{"line":51,"column":51}},"28":{"start":{"line":53,"column":2},"end":{"line":53,"column":15}}},"fnMap":{"0":{"name":"trySetStyleId","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":35}},"loc":{"start":{"line":6,"column":86},"end":{"line":54,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":52},"end":{"line":12,"column":53}},"loc":{"start":{"line":12,"column":73},"end":{"line":23,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":17}},"loc":{"start":{"line":18,"column":33},"end":{"line":18,"column":56}},"line":18},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":17},"end":{"line":19,"column":18}},"loc":{"start":{"line":19,"column":23},"end":{"line":21,"column":11}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":104}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":8,"column":104}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},{"start":{"line":16,"column":13},"end":{"line":22,"column":7}}],"line":14},"2":{"loc":{"start":{"line":16,"column":13},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":13},"end":{"line":22,"column":7}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":24,"column":4},"end":{"line":24,"column":37}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":24,"column":37}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":25},"5":{"loc":{"start":{"line":25,"column":8},"end":{"line":25,"column":48}},"type":"binary-expr","locations":[{"start":{"line":25,"column":8},"end":{"line":25,"column":23}},{"start":{"line":25,"column":27},"end":{"line":25,"column":48}}],"line":25},"6":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":102}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":42}},{"start":{"line":28,"column":47},"end":{"line":28,"column":60}},{"start":{"line":28,"column":64},"end":{"line":28,"column":101}}],"line":28},"7":{"loc":{"start":{"line":36,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":36},"8":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":52}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":25}},{"start":{"line":36,"column":29},"end":{"line":36,"column":52}}],"line":36},"9":{"loc":{"start":{"line":38,"column":13},"end":{"line":38,"column":111}},"type":"binary-expr","locations":[{"start":{"line":38,"column":13},"end":{"line":38,"column":49}},{"start":{"line":38,"column":54},"end":{"line":38,"column":67}},{"start":{"line":38,"column":71},"end":{"line":38,"column":110}}],"line":38},"10":{"loc":{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":41},"11":{"loc":{"start":{"line":41,"column":8},"end":{"line":41,"column":48}},"type":"binary-expr","locations":[{"start":{"line":41,"column":8},"end":{"line":41,"column":23}},{"start":{"line":41,"column":27},"end":{"line":41,"column":48}}],"line":41},"12":{"loc":{"start":{"line":43,"column":13},"end":{"line":43,"column":107}},"type":"binary-expr","locations":[{"start":{"line":43,"column":13},"end":{"line":43,"column":47}},{"start":{"line":43,"column":52},"end":{"line":43,"column":65}},{"start":{"line":43,"column":69},"end":{"line":43,"column":106}}],"line":43},"13":{"loc":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":46},"14":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":52}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":25}},{"start":{"line":46,"column":29},"end":{"line":46,"column":52}}],"line":46},"15":{"loc":{"start":{"line":48,"column":13},"end":{"line":48,"column":111}},"type":"binary-expr","locations":[{"start":{"line":48,"column":13},"end":{"line":48,"column":49}},{"start":{"line":48,"column":54},"end":{"line":48,"column":67}},{"start":{"line":48,"column":71},"end":{"line":48,"column":110}}],"line":48}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0],"15":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/types.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/types.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/uiSettings.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/uiSettings.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":44,"column":3}},"1":{"start":{"line":11,"column":17},"end":{"line":11,"column":48}},"2":{"start":{"line":12,"column":4},"end":{"line":41,"column":7}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":78}},"4":{"start":{"line":48,"column":32},"end":{"line":48,"column":51}},"5":{"start":{"line":49,"column":2},"end":{"line":148,"column":3}},"6":{"start":{"line":50,"column":17},"end":{"line":50,"column":48}},"7":{"start":{"line":81,"column":4},"end":{"line":144,"column":5}},"8":{"start":{"line":82,"column":6},"end":{"line":82,"column":32}},"9":{"start":{"line":83,"column":6},"end":{"line":83,"column":34}},"10":{"start":{"line":84,"column":6},"end":{"line":84,"column":39}},"11":{"start":{"line":85,"column":6},"end":{"line":85,"column":98}},"12":{"start":{"line":86,"column":6},"end":{"line":86,"column":54}},"13":{"start":{"line":87,"column":6},"end":{"line":87,"column":89}},"14":{"start":{"line":88,"column":6},"end":{"line":88,"column":95}},"15":{"start":{"line":89,"column":6},"end":{"line":89,"column":187}},"16":{"start":{"line":90,"column":6},"end":{"line":90,"column":108}},"17":{"start":{"line":91,"column":6},"end":{"line":91,"column":95}},"18":{"start":{"line":92,"column":6},"end":{"line":92,"column":101}},"19":{"start":{"line":93,"column":6},"end":{"line":93,"column":98}},"20":{"start":{"line":94,"column":6},"end":{"line":94,"column":98}},"21":{"start":{"line":95,"column":6},"end":{"line":95,"column":87}},"22":{"start":{"line":96,"column":6},"end":{"line":96,"column":101}},"23":{"start":{"line":97,"column":6},"end":{"line":97,"column":89}},"24":{"start":{"line":98,"column":6},"end":{"line":98,"column":126}},"25":{"start":{"line":99,"column":6},"end":{"line":99,"column":155}},"26":{"start":{"line":100,"column":6},"end":{"line":100,"column":129}},"27":{"start":{"line":101,"column":6},"end":{"line":101,"column":150}},"28":{"start":{"line":102,"column":6},"end":{"line":102,"column":177}},"29":{"start":{"line":103,"column":6},"end":{"line":103,"column":104}},"30":{"start":{"line":104,"column":6},"end":{"line":104,"column":119}},"31":{"start":{"line":105,"column":6},"end":{"line":105,"column":87}},"32":{"start":{"line":106,"column":6},"end":{"line":106,"column":102}},"33":{"start":{"line":107,"column":6},"end":{"line":107,"column":102}},"34":{"start":{"line":108,"column":6},"end":{"line":108,"column":126}},"35":{"start":{"line":109,"column":6},"end":{"line":109,"column":66}},"36":{"start":{"line":110,"column":6},"end":{"line":139,"column":8}},"37":{"start":{"line":141,"column":6},"end":{"line":143,"column":7}},"38":{"start":{"line":142,"column":8},"end":{"line":142,"column":35}},"39":{"start":{"line":146,"column":4},"end":{"line":146,"column":23}},"40":{"start":{"line":147,"column":4},"end":{"line":147,"column":78}},"41":{"start":{"line":149,"column":2},"end":{"line":149,"column":18}}},"fnMap":{"0":{"name":"updateUISettings","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":38}},"loc":{"start":{"line":9,"column":75},"end":{"line":45,"column":1}},"line":9},"1":{"name":"getUISettings","decl":{"start":{"line":47,"column":22},"end":{"line":47,"column":35}},"loc":{"start":{"line":47,"column":75},"end":{"line":150,"column":1}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":24},"end":{"line":13,"column":77}},"type":"binary-expr","locations":[{"start":{"line":13,"column":24},"end":{"line":13,"column":51}},{"start":{"line":13,"column":55},"end":{"line":13,"column":77}}],"line":13},"1":{"loc":{"start":{"line":14,"column":13},"end":{"line":14,"column":44}},"type":"binary-expr","locations":[{"start":{"line":14,"column":13},"end":{"line":14,"column":29}},{"start":{"line":14,"column":33},"end":{"line":14,"column":44}}],"line":14},"2":{"loc":{"start":{"line":15,"column":16},"end":{"line":15,"column":53}},"type":"binary-expr","locations":[{"start":{"line":15,"column":16},"end":{"line":15,"column":35}},{"start":{"line":15,"column":39},"end":{"line":15,"column":53}}],"line":15},"3":{"loc":{"start":{"line":16,"column":14},"end":{"line":16,"column":47}},"type":"binary-expr","locations":[{"start":{"line":16,"column":14},"end":{"line":16,"column":31}},{"start":{"line":16,"column":35},"end":{"line":16,"column":47}}],"line":16},"4":{"loc":{"start":{"line":17,"column":23},"end":{"line":17,"column":74}},"type":"binary-expr","locations":[{"start":{"line":17,"column":23},"end":{"line":17,"column":49}},{"start":{"line":17,"column":53},"end":{"line":17,"column":74}}],"line":17},"5":{"loc":{"start":{"line":18,"column":18},"end":{"line":18,"column":59}},"type":"binary-expr","locations":[{"start":{"line":18,"column":18},"end":{"line":18,"column":39}},{"start":{"line":18,"column":43},"end":{"line":18,"column":59}}],"line":18},"6":{"loc":{"start":{"line":19,"column":20},"end":{"line":19,"column":65}},"type":"binary-expr","locations":[{"start":{"line":19,"column":20},"end":{"line":19,"column":43}},{"start":{"line":19,"column":47},"end":{"line":19,"column":65}}],"line":19},"7":{"loc":{"start":{"line":20,"column":22},"end":{"line":20,"column":71}},"type":"binary-expr","locations":[{"start":{"line":20,"column":22},"end":{"line":20,"column":47}},{"start":{"line":20,"column":51},"end":{"line":20,"column":71}}],"line":20},"8":{"loc":{"start":{"line":21,"column":38},"end":{"line":21,"column":119}},"type":"binary-expr","locations":[{"start":{"line":21,"column":38},"end":{"line":21,"column":79}},{"start":{"line":21,"column":83},"end":{"line":21,"column":119}}],"line":21},"9":{"loc":{"start":{"line":22,"column":26},"end":{"line":22,"column":83}},"type":"binary-expr","locations":[{"start":{"line":22,"column":26},"end":{"line":22,"column":55}},{"start":{"line":22,"column":59},"end":{"line":22,"column":83}}],"line":22},"10":{"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":101}},"type":"binary-expr","locations":[{"start":{"line":23,"column":32},"end":{"line":23,"column":67}},{"start":{"line":23,"column":71},"end":{"line":23,"column":101}}],"line":23},"11":{"loc":{"start":{"line":24,"column":42},"end":{"line":24,"column":131}},"type":"binary-expr","locations":[{"start":{"line":24,"column":42},"end":{"line":24,"column":87}},{"start":{"line":24,"column":91},"end":{"line":24,"column":131}}],"line":24},"12":{"loc":{"start":{"line":25,"column":33},"end":{"line":25,"column":104}},"type":"binary-expr","locations":[{"start":{"line":25,"column":33},"end":{"line":25,"column":69}},{"start":{"line":25,"column":73},"end":{"line":25,"column":104}}],"line":25},"13":{"loc":{"start":{"line":26,"column":40},"end":{"line":26,"column":125}},"type":"binary-expr","locations":[{"start":{"line":26,"column":40},"end":{"line":26,"column":83}},{"start":{"line":26,"column":87},"end":{"line":26,"column":125}}],"line":26},"14":{"loc":{"start":{"line":27,"column":49},"end":{"line":27,"column":152}},"type":"binary-expr","locations":[{"start":{"line":27,"column":49},"end":{"line":27,"column":101}},{"start":{"line":27,"column":105},"end":{"line":27,"column":152}}],"line":27},"15":{"loc":{"start":{"line":28,"column":24},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":28,"column":24},"end":{"line":28,"column":51}},{"start":{"line":28,"column":55},"end":{"line":28,"column":77}}],"line":28},"16":{"loc":{"start":{"line":29,"column":22},"end":{"line":29,"column":71}},"type":"binary-expr","locations":[{"start":{"line":29,"column":22},"end":{"line":29,"column":47}},{"start":{"line":29,"column":51},"end":{"line":29,"column":71}}],"line":29},"17":{"loc":{"start":{"line":30,"column":23},"end":{"line":30,"column":74}},"type":"binary-expr","locations":[{"start":{"line":30,"column":23},"end":{"line":30,"column":49}},{"start":{"line":30,"column":53},"end":{"line":30,"column":74}}],"line":30},"18":{"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":74}},"type":"binary-expr","locations":[{"start":{"line":31,"column":23},"end":{"line":31,"column":49}},{"start":{"line":31,"column":53},"end":{"line":31,"column":74}}],"line":31},"19":{"loc":{"start":{"line":32,"column":19},"end":{"line":32,"column":62}},"type":"binary-expr","locations":[{"start":{"line":32,"column":19},"end":{"line":32,"column":41}},{"start":{"line":32,"column":45},"end":{"line":32,"column":62}}],"line":32},"20":{"loc":{"start":{"line":33,"column":20},"end":{"line":33,"column":65}},"type":"binary-expr","locations":[{"start":{"line":33,"column":20},"end":{"line":33,"column":43}},{"start":{"line":33,"column":47},"end":{"line":33,"column":65}}],"line":33},"21":{"loc":{"start":{"line":34,"column":24},"end":{"line":34,"column":77}},"type":"binary-expr","locations":[{"start":{"line":34,"column":24},"end":{"line":34,"column":51}},{"start":{"line":34,"column":55},"end":{"line":34,"column":77}}],"line":34},"22":{"loc":{"start":{"line":35,"column":19},"end":{"line":35,"column":62}},"type":"binary-expr","locations":[{"start":{"line":35,"column":19},"end":{"line":35,"column":41}},{"start":{"line":35,"column":45},"end":{"line":35,"column":62}}],"line":35},"23":{"loc":{"start":{"line":36,"column":24},"end":{"line":36,"column":77}},"type":"binary-expr","locations":[{"start":{"line":36,"column":24},"end":{"line":36,"column":51}},{"start":{"line":36,"column":55},"end":{"line":36,"column":77}}],"line":36},"24":{"loc":{"start":{"line":37,"column":20},"end":{"line":37,"column":65}},"type":"binary-expr","locations":[{"start":{"line":37,"column":20},"end":{"line":37,"column":43}},{"start":{"line":37,"column":47},"end":{"line":37,"column":65}}],"line":37},"25":{"loc":{"start":{"line":38,"column":25},"end":{"line":38,"column":80}},"type":"binary-expr","locations":[{"start":{"line":38,"column":25},"end":{"line":38,"column":53}},{"start":{"line":38,"column":57},"end":{"line":38,"column":80}}],"line":38},"26":{"loc":{"start":{"line":39,"column":32},"end":{"line":39,"column":101}},"type":"binary-expr","locations":[{"start":{"line":39,"column":32},"end":{"line":39,"column":67}},{"start":{"line":39,"column":71},"end":{"line":39,"column":101}}],"line":39},"27":{"loc":{"start":{"line":40,"column":19},"end":{"line":40,"column":62}},"type":"binary-expr","locations":[{"start":{"line":40,"column":19},"end":{"line":40,"column":41}},{"start":{"line":40,"column":45},"end":{"line":40,"column":62}}],"line":40},"28":{"loc":{"start":{"line":47,"column":36},"end":{"line":47,"column":49}},"type":"default-arg","locations":[{"start":{"line":47,"column":45},"end":{"line":47,"column":49}}],"line":47},"29":{"loc":{"start":{"line":81,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":81,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":81},"30":{"loc":{"start":{"line":82,"column":14},"end":{"line":82,"column":31}},"type":"binary-expr","locations":[{"start":{"line":82,"column":14},"end":{"line":82,"column":24}},{"start":{"line":82,"column":28},"end":{"line":82,"column":31}}],"line":82},"31":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":33}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":26}},{"start":{"line":83,"column":30},"end":{"line":83,"column":33}}],"line":83},"32":{"loc":{"start":{"line":84,"column":17},"end":{"line":84,"column":38}},"type":"binary-expr","locations":[{"start":{"line":84,"column":17},"end":{"line":84,"column":30}},{"start":{"line":84,"column":34},"end":{"line":84,"column":38}}],"line":84},"33":{"loc":{"start":{"line":85,"column":24},"end":{"line":85,"column":97}},"type":"cond-expr","locations":[{"start":{"line":85,"column":70},"end":{"line":85,"column":74}},{"start":{"line":85,"column":77},"end":{"line":85,"column":97}}],"line":85},"34":{"loc":{"start":{"line":86,"column":19},"end":{"line":86,"column":53}},"type":"binary-expr","locations":[{"start":{"line":86,"column":19},"end":{"line":86,"column":34}},{"start":{"line":86,"column":38},"end":{"line":86,"column":53}}],"line":86},"35":{"loc":{"start":{"line":87,"column":21},"end":{"line":87,"column":88}},"type":"cond-expr","locations":[{"start":{"line":87,"column":64},"end":{"line":87,"column":68}},{"start":{"line":87,"column":71},"end":{"line":87,"column":88}}],"line":87},"36":{"loc":{"start":{"line":88,"column":23},"end":{"line":88,"column":94}},"type":"cond-expr","locations":[{"start":{"line":88,"column":68},"end":{"line":88,"column":72}},{"start":{"line":88,"column":75},"end":{"line":88,"column":94}}],"line":88},"37":{"loc":{"start":{"line":89,"column":39},"end":{"line":89,"column":186}},"type":"cond-expr","locations":[{"start":{"line":89,"column":100},"end":{"line":89,"column":148}},{"start":{"line":89,"column":151},"end":{"line":89,"column":186}}],"line":89},"38":{"loc":{"start":{"line":90,"column":27},"end":{"line":90,"column":107}},"type":"cond-expr","locations":[{"start":{"line":90,"column":76},"end":{"line":90,"column":81}},{"start":{"line":90,"column":84},"end":{"line":90,"column":107}}],"line":90},"39":{"loc":{"start":{"line":91,"column":23},"end":{"line":91,"column":94}},"type":"cond-expr","locations":[{"start":{"line":91,"column":68},"end":{"line":91,"column":72}},{"start":{"line":91,"column":75},"end":{"line":91,"column":94}}],"line":91},"40":{"loc":{"start":{"line":92,"column":25},"end":{"line":92,"column":100}},"type":"cond-expr","locations":[{"start":{"line":92,"column":72},"end":{"line":92,"column":76}},{"start":{"line":92,"column":79},"end":{"line":92,"column":100}}],"line":92},"41":{"loc":{"start":{"line":93,"column":24},"end":{"line":93,"column":97}},"type":"cond-expr","locations":[{"start":{"line":93,"column":70},"end":{"line":93,"column":74}},{"start":{"line":93,"column":77},"end":{"line":93,"column":97}}],"line":93},"42":{"loc":{"start":{"line":94,"column":24},"end":{"line":94,"column":97}},"type":"cond-expr","locations":[{"start":{"line":94,"column":70},"end":{"line":94,"column":74}},{"start":{"line":94,"column":77},"end":{"line":94,"column":97}}],"line":94},"43":{"loc":{"start":{"line":95,"column":20},"end":{"line":95,"column":86}},"type":"cond-expr","locations":[{"start":{"line":95,"column":62},"end":{"line":95,"column":67}},{"start":{"line":95,"column":70},"end":{"line":95,"column":86}}],"line":95},"44":{"loc":{"start":{"line":96,"column":25},"end":{"line":96,"column":100}},"type":"cond-expr","locations":[{"start":{"line":96,"column":72},"end":{"line":96,"column":76}},{"start":{"line":96,"column":79},"end":{"line":96,"column":100}}],"line":96},"45":{"loc":{"start":{"line":97,"column":21},"end":{"line":97,"column":88}},"type":"cond-expr","locations":[{"start":{"line":97,"column":64},"end":{"line":97,"column":68}},{"start":{"line":97,"column":71},"end":{"line":97,"column":88}}],"line":97},"46":{"loc":{"start":{"line":98,"column":33},"end":{"line":98,"column":125}},"type":"cond-expr","locations":[{"start":{"line":98,"column":88},"end":{"line":98,"column":93}},{"start":{"line":98,"column":96},"end":{"line":98,"column":125}}],"line":98},"47":{"loc":{"start":{"line":99,"column":43},"end":{"line":99,"column":154}},"type":"cond-expr","locations":[{"start":{"line":99,"column":108},"end":{"line":99,"column":112}},{"start":{"line":99,"column":115},"end":{"line":99,"column":154}}],"line":99},"48":{"loc":{"start":{"line":100,"column":34},"end":{"line":100,"column":128}},"type":"cond-expr","locations":[{"start":{"line":100,"column":90},"end":{"line":100,"column":95}},{"start":{"line":100,"column":98},"end":{"line":100,"column":128}}],"line":100},"49":{"loc":{"start":{"line":101,"column":41},"end":{"line":101,"column":149}},"type":"cond-expr","locations":[{"start":{"line":101,"column":104},"end":{"line":101,"column":109}},{"start":{"line":101,"column":112},"end":{"line":101,"column":149}}],"line":101},"50":{"loc":{"start":{"line":102,"column":50},"end":{"line":102,"column":176}},"type":"cond-expr","locations":[{"start":{"line":102,"column":122},"end":{"line":102,"column":127}},{"start":{"line":102,"column":130},"end":{"line":102,"column":176}}],"line":102},"51":{"loc":{"start":{"line":103,"column":21},"end":{"line":103,"column":103}},"type":"cond-expr","locations":[{"start":{"line":103,"column":64},"end":{"line":103,"column":83}},{"start":{"line":103,"column":86},"end":{"line":103,"column":103}}],"line":103},"52":{"loc":{"start":{"line":104,"column":26},"end":{"line":104,"column":118}},"type":"cond-expr","locations":[{"start":{"line":104,"column":74},"end":{"line":104,"column":93}},{"start":{"line":104,"column":96},"end":{"line":104,"column":118}}],"line":104},"53":{"loc":{"start":{"line":105,"column":20},"end":{"line":105,"column":86}},"type":"cond-expr","locations":[{"start":{"line":105,"column":62},"end":{"line":105,"column":67}},{"start":{"line":105,"column":70},"end":{"line":105,"column":86}}],"line":105},"54":{"loc":{"start":{"line":106,"column":25},"end":{"line":106,"column":101}},"type":"cond-expr","locations":[{"start":{"line":106,"column":72},"end":{"line":106,"column":77}},{"start":{"line":106,"column":80},"end":{"line":106,"column":101}}],"line":106},"55":{"loc":{"start":{"line":107,"column":25},"end":{"line":107,"column":101}},"type":"cond-expr","locations":[{"start":{"line":107,"column":72},"end":{"line":107,"column":77}},{"start":{"line":107,"column":80},"end":{"line":107,"column":101}}],"line":107},"56":{"loc":{"start":{"line":108,"column":33},"end":{"line":108,"column":125}},"type":"cond-expr","locations":[{"start":{"line":108,"column":88},"end":{"line":108,"column":93}},{"start":{"line":108,"column":96},"end":{"line":108,"column":125}}],"line":108},"57":{"loc":{"start":{"line":109,"column":20},"end":{"line":109,"column":65}},"type":"binary-expr","locations":[{"start":{"line":109,"column":20},"end":{"line":109,"column":36}},{"start":{"line":109,"column":40},"end":{"line":109,"column":65}}],"line":109},"58":{"loc":{"start":{"line":141,"column":6},"end":{"line":143,"column":7}},"type":"if","locations":[{"start":{"line":141,"column":6},"end":{"line":143,"column":7}},{"start":{},"end":{}}],"line":141}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/updateTokenPayloadToSingleToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/updateTokenPayloadToSingleToken.ts","statementMap":{"0":{"start":{"line":9,"column":32},"end":{"line":9,"column":71}},"1":{"start":{"line":11,"column":2},"end":{"line":25,"column":19}}},"fnMap":{"0":{"name":"updateTokenPayloadToSingleToken","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":47}},"loc":{"start":{"line":8,"column":15},"end":{"line":26,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":28}},"type":"cond-expr","locations":[{"start":{"line":18,"column":17},"end":{"line":18,"column":23}},{"start":{"line":18,"column":26},"end":{"line":18,"column":28}}],"line":18},"1":{"loc":{"start":{"line":22,"column":8},"end":{"line":24,"column":10}},"type":"cond-expr","locations":[{"start":{"line":22,"column":30},"end":{"line":24,"column":5}},{"start":{"line":24,"column":8},"end":{"line":24,"column":10}}],"line":22}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateGroupName.ts","statementMap":{"0":{"start":{"line":12,"column":21},"end":{"line":15,"column":1}},"1":{"start":{"line":13,"column":20},"end":{"line":13,"column":35}},"2":{"start":{"line":14,"column":2},"end":{"line":14,"column":42}},"3":{"start":{"line":17,"column":30},"end":{"line":32,"column":1}},"4":{"start":{"line":18,"column":27},"end":{"line":18,"column":42}},"5":{"start":{"line":19,"column":27},"end":{"line":19,"column":42}},"6":{"start":{"line":22,"column":22},"end":{"line":22,"column":31}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":5}},"8":{"start":{"line":25,"column":4},"end":{"line":28,"column":5}},"9":{"start":{"line":26,"column":25},"end":{"line":26,"column":93}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":34}},"11":{"start":{"line":31,"column":2},"end":{"line":31,"column":33}},"12":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"13":{"start":{"line":36,"column":4},"end":{"line":36,"column":46}},"14":{"start":{"line":38,"column":25},"end":{"line":43,"column":7}},"15":{"start":{"line":39,"column":23},"end":{"line":39,"column":76}},"16":{"start":{"line":40,"column":29},"end":{"line":43,"column":5}},"17":{"start":{"line":45,"column":36},"end":{"line":47,"column":4}},"18":{"start":{"line":46,"column":4},"end":{"line":46,"column":57}},"19":{"start":{"line":46,"column":32},"end":{"line":46,"column":56}},"20":{"start":{"line":49,"column":33},"end":{"line":49,"column":88}},"21":{"start":{"line":50,"column":31},"end":{"line":57,"column":4}},"22":{"start":{"line":52,"column":25},"end":{"line":52,"column":77}},"23":{"start":{"line":52,"column":52},"end":{"line":52,"column":76}},"24":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"25":{"start":{"line":54,"column":6},"end":{"line":54,"column":54}},"26":{"start":{"line":56,"column":4},"end":{"line":56,"column":17}},"27":{"start":{"line":59,"column":27},"end":{"line":59,"column":233}},"28":{"start":{"line":59,"column":62},"end":{"line":59,"column":232}},"29":{"start":{"line":59,"column":98},"end":{"line":59,"column":115}},"30":{"start":{"line":59,"column":170},"end":{"line":59,"column":231}},"31":{"start":{"line":60,"column":2},"end":{"line":60,"column":98}},"32":{"start":{"line":60,"column":68},"end":{"line":60,"column":85}},"33":{"start":{"line":62,"column":33},"end":{"line":62,"column":149}},"34":{"start":{"line":62,"column":91},"end":{"line":62,"column":148}},"35":{"start":{"line":64,"column":2},"end":{"line":69,"column":3}},"36":{"start":{"line":65,"column":4},"end":{"line":68,"column":6}},"37":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"38":{"start":{"line":71,"column":4},"end":{"line":74,"column":6}},"39":{"start":{"line":76,"column":2},"end":{"line":76,"column":14}},"40":{"start":{"line":84,"column":2},"end":{"line":86,"column":3}},"41":{"start":{"line":85,"column":4},"end":{"line":85,"column":46}},"42":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"43":{"start":{"line":88,"column":4},"end":{"line":88,"column":16}},"44":{"start":{"line":90,"column":29},"end":{"line":90,"column":132}},"45":{"start":{"line":90,"column":71},"end":{"line":90,"column":130}},"46":{"start":{"line":91,"column":24},"end":{"line":98,"column":4}},"47":{"start":{"line":92,"column":30},"end":{"line":92,"column":35}},"48":{"start":{"line":93,"column":37},"end":{"line":93,"column":73}},"49":{"start":{"line":94,"column":4},"end":{"line":97,"column":6}},"50":{"start":{"line":100,"column":20},"end":{"line":107,"column":8}},"51":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"52":{"start":{"line":102,"column":6},"end":{"line":102,"column":52}},"53":{"start":{"line":104,"column":6},"end":{"line":104,"column":29}},"54":{"start":{"line":106,"column":4},"end":{"line":106,"column":15}},"55":{"start":{"line":109,"column":29},"end":{"line":122,"column":8}},"56":{"start":{"line":110,"column":4},"end":{"line":119,"column":5}},"57":{"start":{"line":111,"column":38},"end":{"line":111,"column":55}},"58":{"start":{"line":112,"column":40},"end":{"line":112,"column":54}},"59":{"start":{"line":114,"column":30},"end":{"line":114,"column":242}},"60":{"start":{"line":114,"column":68},"end":{"line":114,"column":241}},"61":{"start":{"line":114,"column":107},"end":{"line":114,"column":124}},"62":{"start":{"line":114,"column":179},"end":{"line":114,"column":240}},"63":{"start":{"line":115,"column":6},"end":{"line":115,"column":101}},"64":{"start":{"line":115,"column":71},"end":{"line":115,"column":88}},"65":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"66":{"start":{"line":117,"column":8},"end":{"line":117,"column":40}},"67":{"start":{"line":121,"column":4},"end":{"line":121,"column":15}},"68":{"start":{"line":124,"column":67},"end":{"line":132,"column":8}},"69":{"start":{"line":125,"column":35},"end":{"line":125,"column":100}},"70":{"start":{"line":126,"column":30},"end":{"line":126,"column":132}},"71":{"start":{"line":126,"column":74},"end":{"line":126,"column":131}},"72":{"start":{"line":127,"column":4},"end":{"line":129,"column":5}},"73":{"start":{"line":128,"column":6},"end":{"line":128,"column":48}},"74":{"start":{"line":131,"column":4},"end":{"line":131,"column":15}},"75":{"start":{"line":134,"column":2},"end":{"line":139,"column":3}},"76":{"start":{"line":135,"column":4},"end":{"line":138,"column":6}},"77":{"start":{"line":140,"column":2},"end":{"line":145,"column":3}},"78":{"start":{"line":141,"column":4},"end":{"line":144,"column":6}},"79":{"start":{"line":146,"column":2},"end":{"line":146,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":21},"end":{"line":12,"column":22}},"loc":{"start":{"line":12,"column":31},"end":{"line":15,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":30},"end":{"line":17,"column":31}},"loc":{"start":{"line":17,"column":64},"end":{"line":32,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":18}},"loc":{"start":{"line":24,"column":28},"end":{"line":29,"column":3}},"line":24},"3":{"name":"validateRenameGroupName","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":39}},"loc":{"start":{"line":34,"column":80},"end":{"line":77,"column":1}},"line":34},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":12},"end":{"line":39,"column":13}},"loc":{"start":{"line":39,"column":23},"end":{"line":39,"column":76}},"line":39},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":10}},"loc":{"start":{"line":40,"column":29},"end":{"line":43,"column":5}},"line":40},"6":{"name":"(anonymous_6)","decl":{"start":{"line":45,"column":58},"end":{"line":45,"column":59}},"loc":{"start":{"line":46,"column":4},"end":{"line":46,"column":57}},"line":46},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":25},"end":{"line":46,"column":26}},"loc":{"start":{"line":46,"column":32},"end":{"line":46,"column":56}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":50,"column":50},"end":{"line":50,"column":51}},"loc":{"start":{"line":50,"column":61},"end":{"line":57,"column":3}},"line":50},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":45},"end":{"line":52,"column":46}},"loc":{"start":{"line":52,"column":52},"end":{"line":52,"column":76}},"line":52},"10":{"name":"(anonymous_10)","decl":{"start":{"line":59,"column":55},"end":{"line":59,"column":56}},"loc":{"start":{"line":59,"column":62},"end":{"line":59,"column":232}},"line":59},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":91},"end":{"line":59,"column":92}},"loc":{"start":{"line":59,"column":98},"end":{"line":59,"column":115}},"line":59},"12":{"name":"(anonymous_12)","decl":{"start":{"line":59,"column":163},"end":{"line":59,"column":164}},"loc":{"start":{"line":59,"column":170},"end":{"line":59,"column":231}},"line":59},"13":{"name":"(anonymous_13)","decl":{"start":{"line":60,"column":58},"end":{"line":60,"column":59}},"loc":{"start":{"line":60,"column":68},"end":{"line":60,"column":85}},"line":60},"14":{"name":"(anonymous_14)","decl":{"start":{"line":62,"column":80},"end":{"line":62,"column":81}},"loc":{"start":{"line":62,"column":91},"end":{"line":62,"column":148}},"line":62},"15":{"name":"validateDuplicateGroupName","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":42}},"loc":{"start":{"line":83,"column":9},"end":{"line":147,"column":1}},"line":83},"16":{"name":"(anonymous_16)","decl":{"start":{"line":90,"column":59},"end":{"line":90,"column":60}},"loc":{"start":{"line":90,"column":71},"end":{"line":90,"column":130}},"line":90},"17":{"name":"(anonymous_17)","decl":{"start":{"line":91,"column":47},"end":{"line":91,"column":48}},"loc":{"start":{"line":91,"column":58},"end":{"line":98,"column":3}},"line":91},"18":{"name":"(anonymous_18)","decl":{"start":{"line":100,"column":77},"end":{"line":100,"column":78}},"loc":{"start":{"line":100,"column":91},"end":{"line":107,"column":3}},"line":100},"19":{"name":"(anonymous_19)","decl":{"start":{"line":109,"column":59},"end":{"line":109,"column":60}},"loc":{"start":{"line":109,"column":76},"end":{"line":122,"column":3}},"line":109},"20":{"name":"(anonymous_20)","decl":{"start":{"line":114,"column":61},"end":{"line":114,"column":62}},"loc":{"start":{"line":114,"column":68},"end":{"line":114,"column":241}},"line":114},"21":{"name":"(anonymous_21)","decl":{"start":{"line":114,"column":100},"end":{"line":114,"column":101}},"loc":{"start":{"line":114,"column":107},"end":{"line":114,"column":124}},"line":114},"22":{"name":"(anonymous_22)","decl":{"start":{"line":114,"column":172},"end":{"line":114,"column":173}},"loc":{"start":{"line":114,"column":179},"end":{"line":114,"column":240}},"line":114},"23":{"name":"(anonymous_23)","decl":{"start":{"line":115,"column":61},"end":{"line":115,"column":62}},"loc":{"start":{"line":115,"column":71},"end":{"line":115,"column":88}},"line":115},"24":{"name":"(anonymous_24)","decl":{"start":{"line":124,"column":92},"end":{"line":124,"column":93}},"loc":{"start":{"line":124,"column":119},"end":{"line":132,"column":3}},"line":124},"25":{"name":"(anonymous_25)","decl":{"start":{"line":126,"column":63},"end":{"line":126,"column":64}},"loc":{"start":{"line":126,"column":74},"end":{"line":126,"column":131}},"line":126}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":25},"1":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":39,"column":23},"end":{"line":39,"column":76}},"type":"binary-expr","locations":[{"start":{"line":39,"column":23},"end":{"line":39,"column":53}},{"start":{"line":39,"column":57},"end":{"line":39,"column":76}}],"line":39},"3":{"loc":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":53},"4":{"loc":{"start":{"line":59,"column":62},"end":{"line":59,"column":232}},"type":"binary-expr","locations":[{"start":{"line":59,"column":63},"end":{"line":59,"column":127}},{"start":{"line":59,"column":132},"end":{"line":59,"column":232}}],"line":59},"5":{"loc":{"start":{"line":59,"column":170},"end":{"line":59,"column":231}},"type":"binary-expr","locations":[{"start":{"line":59,"column":170},"end":{"line":59,"column":187}},{"start":{"line":59,"column":191},"end":{"line":59,"column":208}},{"start":{"line":59,"column":212},"end":{"line":59,"column":231}}],"line":59},"6":{"loc":{"start":{"line":62,"column":33},"end":{"line":62,"column":149}},"type":"binary-expr","locations":[{"start":{"line":62,"column":34},"end":{"line":62,"column":53}},{"start":{"line":62,"column":58},"end":{"line":62,"column":149}}],"line":62},"7":{"loc":{"start":{"line":64,"column":2},"end":{"line":69,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":69,"column":3}},{"start":{},"end":{}}],"line":64},"8":{"loc":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},{"start":{},"end":{}}],"line":70},"9":{"loc":{"start":{"line":84,"column":2},"end":{"line":86,"column":3}},"type":"if","locations":[{"start":{"line":84,"column":2},"end":{"line":86,"column":3}},{"start":{},"end":{}}],"line":84},"10":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{},"end":{}}],"line":87},"11":{"loc":{"start":{"line":90,"column":71},"end":{"line":90,"column":130}},"type":"binary-expr","locations":[{"start":{"line":90,"column":71},"end":{"line":90,"column":107}},{"start":{"line":90,"column":111},"end":{"line":90,"column":130}}],"line":90},"12":{"loc":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},{"start":{"line":103,"column":11},"end":{"line":105,"column":5}}],"line":101},"13":{"loc":{"start":{"line":110,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":119,"column":5}},{"start":{},"end":{}}],"line":110},"14":{"loc":{"start":{"line":114,"column":68},"end":{"line":114,"column":241}},"type":"binary-expr","locations":[{"start":{"line":114,"column":69},"end":{"line":114,"column":136}},{"start":{"line":114,"column":141},"end":{"line":114,"column":241}}],"line":114},"15":{"loc":{"start":{"line":114,"column":179},"end":{"line":114,"column":240}},"type":"binary-expr","locations":[{"start":{"line":114,"column":179},"end":{"line":114,"column":196}},{"start":{"line":114,"column":200},"end":{"line":114,"column":217}},{"start":{"line":114,"column":221},"end":{"line":114,"column":240}}],"line":114},"16":{"loc":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"type":"if","locations":[{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},{"start":{},"end":{}}],"line":116},"17":{"loc":{"start":{"line":127,"column":4},"end":{"line":129,"column":5}},"type":"if","locations":[{"start":{"line":127,"column":4},"end":{"line":129,"column":5}},{"start":{},"end":{}}],"line":127},"18":{"loc":{"start":{"line":134,"column":2},"end":{"line":139,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":139,"column":3}},{"start":{},"end":{}}],"line":134},"19":{"loc":{"start":{"line":140,"column":2},"end":{"line":145,"column":3}},"type":"if","locations":[{"start":{"line":140,"column":2},"end":{"line":145,"column":3}},{"start":{},"end":{}}],"line":140}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateLicense.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateLicense.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":30,"column":3}},"1":{"start":{"line":10,"column":16},"end":{"line":14,"column":5}},"2":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":30}},"4":{"start":{"line":20,"column":24},"end":{"line":20,"column":40}},"5":{"start":{"line":21,"column":4},"end":{"line":23,"column":6}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":19}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":31}},"8":{"start":{"line":27,"column":4},"end":{"line":29,"column":6}}},"fnMap":{"0":{"name":"validateLicense","decl":{"start":{"line":4,"column":30},"end":{"line":4,"column":45}},"loc":{"start":{"line":8,"column":93},"end":{"line":31,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":47}},"type":"cond-expr","locations":[{"start":{"line":12,"column":19},"end":{"line":12,"column":42}},{"start":{"line":12,"column":45},"end":{"line":12,"column":47}}],"line":12},"1":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateStudioTokensExtensions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateStudioTokensExtensions.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":7,"column":34},"end":{"line":14,"column":10}},"2":{"start":{"line":8,"column":24},"end":{"line":8,"column":74}},"3":{"start":{"line":9,"column":6},"end":{"line":11,"column":7}},"4":{"start":{"line":10,"column":8},"end":{"line":10,"column":30}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":20}},"6":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":35}},"8":{"start":{"line":20,"column":2},"end":{"line":20,"column":19}}},"fnMap":{"0":{"name":"validateStudioTokensExtensions","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":54}},"loc":{"start":{"line":5,"column":100},"end":{"line":21,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":94},"end":{"line":7,"column":95}},"loc":{"start":{"line":7,"column":109},"end":{"line":14,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":8,"column":25},"end":{"line":8,"column":70}},"type":"binary-expr","locations":[{"start":{"line":8,"column":25},"end":{"line":8,"column":64}},{"start":{"line":8,"column":68},"end":{"line":8,"column":70}}],"line":8},"2":{"loc":{"start":{"line":9,"column":6},"end":{"line":11,"column":7}},"type":"if","locations":[{"start":{"line":9,"column":6},"end":{"line":11,"column":7}},{"start":{},"end":{}}],"line":9},"3":{"loc":{"start":{"line":9,"column":10},"end":{"line":9,"column":58}},"type":"binary-expr","locations":[{"start":{"line":9,"column":10},"end":{"line":9,"column":19}},{"start":{"line":9,"column":23},"end":{"line":9,"column":58}}],"line":9},"4":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},{"start":{},"end":{}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/waitForMessage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/waitForMessage.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":19,"column":5}},"1":{"start":{"line":11,"column":20},"end":{"line":16,"column":5}},"2":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"3":{"start":{"line":13,"column":8},"end":{"line":13,"column":55}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":71}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":48}}},"fnMap":{"0":{"name":"waitForMessage","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":117},"end":{"line":20,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":52},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":61},"end":{"line":19,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":20},"end":{"line":11,"column":21}},"loc":{"start":{"line":11,"column":38},"end":{"line":16,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkCanReferenceVariable.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkCanReferenceVariable.tsx","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":6,"column":122}}},"fnMap":{"0":{"name":"checkCanReferenceVariable","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":41}},"loc":{"start":{"line":5,"column":137},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":9},"end":{"line":6,"column":121}},"type":"binary-expr","locations":[{"start":{"line":6,"column":9},"end":{"line":6,"column":69}},{"start":{"line":6,"column":73},"end":{"line":6,"column":121}}],"line":6}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfAlias.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfAlias.tsx","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":37,"column":3}},"1":{"start":{"line":10,"column":21},"end":{"line":10,"column":26}},"2":{"start":{"line":11,"column":4},"end":{"line":28,"column":5}},"3":{"start":{"line":12,"column":6},"end":{"line":12,"column":52}},"4":{"start":{"line":13,"column":11},"end":{"line":28,"column":5}},"5":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"6":{"start":{"line":19,"column":8},"end":{"line":19,"column":68}},"7":{"start":{"line":21,"column":27},"end":{"line":21,"column":83}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":144}},"9":{"start":{"line":22,"column":48},"end":{"line":22,"column":142}},"10":{"start":{"line":22,"column":91},"end":{"line":22,"column":141}},"11":{"start":{"line":24,"column":11},"end":{"line":28,"column":5}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":18}},"13":{"start":{"line":27,"column":6},"end":{"line":27,"column":69}},"14":{"start":{"line":31,"column":4},"end":{"line":34,"column":5}},"15":{"start":{"line":32,"column":25},"end":{"line":32,"column":56}},"16":{"start":{"line":33,"column":6},"end":{"line":33,"column":32}},"17":{"start":{"line":36,"column":4},"end":{"line":36,"column":120}},"18":{"start":{"line":38,"column":2},"end":{"line":38,"column":15}}},"fnMap":{"0":{"name":"checkIfAlias","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":28}},"loc":{"start":{"line":8,"column":98},"end":{"line":39,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":37},"end":{"line":22,"column":38}},"loc":{"start":{"line":22,"column":48},"end":{"line":22,"column":142}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":74},"end":{"line":22,"column":75}},"loc":{"start":{"line":22,"column":91},"end":{"line":22,"column":141}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":58},"end":{"line":8,"column":87}},"type":"default-arg","locations":[{"start":{"line":8,"column":85},"end":{"line":8,"column":87}}],"line":8},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":28,"column":5}},{"start":{"line":13,"column":11},"end":{"line":28,"column":5}}],"line":11},"2":{"loc":{"start":{"line":13,"column":11},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":11},"end":{"line":28,"column":5}},{"start":{"line":24,"column":11},"end":{"line":28,"column":5}}],"line":13},"3":{"loc":{"start":{"line":14,"column":6},"end":{"line":16,"column":41}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":42}},{"start":{"line":15,"column":9},"end":{"line":15,"column":45}},{"start":{"line":16,"column":9},"end":{"line":16,"column":41}}],"line":14},"4":{"loc":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},{"start":{"line":20,"column":13},"end":{"line":23,"column":7}}],"line":18},"5":{"loc":{"start":{"line":21,"column":27},"end":{"line":21,"column":83}},"type":"cond-expr","locations":[{"start":{"line":21,"column":56},"end":{"line":21,"column":67}},{"start":{"line":21,"column":70},"end":{"line":21,"column":83}}],"line":21},"6":{"loc":{"start":{"line":24,"column":11},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":11},"end":{"line":28,"column":5}},{"start":{"line":26,"column":11},"end":{"line":28,"column":5}}],"line":24},"7":{"loc":{"start":{"line":31,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":31},"8":{"loc":{"start":{"line":36,"column":49},"end":{"line":36,"column":95}},"type":"cond-expr","locations":[{"start":{"line":36,"column":77},"end":{"line":36,"column":87}},{"start":{"line":36,"column":90},"end":{"line":36,"column":95}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfContainsAlias.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfContainsAlias.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":27}},"1":{"start":{"line":5,"column":14},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":2},"end":{"line":6,"column":63}}},"fnMap":{"0":{"name":"checkIfContainsAlias","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":36}},"loc":{"start":{"line":4,"column":83},"end":{"line":7,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":27}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":27}},{"start":{},"end":{}}],"line":5}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/getAliasValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/getAliasValue.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"1":{"start":{"line":24,"column":4},"end":{"line":24,"column":23}},"2":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"3":{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},"4":{"start":{"line":29,"column":2},"end":{"line":29,"column":26}},"5":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"6":{"start":{"line":38,"column":4},"end":{"line":38,"column":29}},"7":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"8":{"start":{"line":41,"column":24},"end":{"line":41,"column":49}},"9":{"start":{"line":42,"column":21},"end":{"line":42,"column":54}},"10":{"start":{"line":43,"column":4},"end":{"line":43,"column":54}},"11":{"start":{"line":45,"column":2},"end":{"line":45,"column":15}},"12":{"start":{"line":55,"column":66},"end":{"line":55,"column":89}},"13":{"start":{"line":56,"column":2},"end":{"line":176,"column":3}},"14":{"start":{"line":57,"column":45},"end":{"line":57,"column":120}},"15":{"start":{"line":58,"column":4},"end":{"line":130,"column":5}},"16":{"start":{"line":59,"column":33},"end":{"line":120,"column":8}},"17":{"start":{"line":60,"column":8},"end":{"line":118,"column":9}},"18":{"start":{"line":62,"column":10},"end":{"line":66,"column":11}},"19":{"start":{"line":63,"column":12},"end":{"line":63,"column":57}},"20":{"start":{"line":65,"column":12},"end":{"line":65,"column":45}},"21":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"22":{"start":{"line":68,"column":12},"end":{"line":68,"column":95}},"23":{"start":{"line":70,"column":42},"end":{"line":70,"column":74}},"24":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"25":{"start":{"line":72,"column":12},"end":{"line":72,"column":100}},"26":{"start":{"line":75,"column":37},"end":{"line":75,"column":61}},"27":{"start":{"line":76,"column":60},"end":{"line":76,"column":84}},"28":{"start":{"line":77,"column":41},"end":{"line":77,"column":69}},"29":{"start":{"line":78,"column":57},"end":{"line":78,"column":89}},"30":{"start":{"line":79,"column":49},"end":{"line":79,"column":77}},"31":{"start":{"line":80,"column":29},"end":{"line":84,"column":11}},"32":{"start":{"line":81,"column":19},"end":{"line":83,"column":58}},"33":{"start":{"line":86,"column":10},"end":{"line":88,"column":11}},"34":{"start":{"line":87,"column":12},"end":{"line":87,"column":80}},"35":{"start":{"line":90,"column":10},"end":{"line":100,"column":11}},"36":{"start":{"line":95,"column":30},"end":{"line":95,"column":40}},"37":{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},"38":{"start":{"line":97,"column":36},"end":{"line":97,"column":106}},"39":{"start":{"line":98,"column":14},"end":{"line":98,"column":85}},"40":{"start":{"line":102,"column":10},"end":{"line":117,"column":11}},"41":{"start":{"line":110,"column":34},"end":{"line":110,"column":86}},"42":{"start":{"line":111,"column":12},"end":{"line":116,"column":14}},"43":{"start":{"line":119,"column":8},"end":{"line":119,"column":19}},"44":{"start":{"line":122,"column":6},"end":{"line":125,"column":9}},"45":{"start":{"line":123,"column":34},"end":{"line":123,"column":59}},"46":{"start":{"line":124,"column":8},"end":{"line":124,"column":103}},"47":{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},"48":{"start":{"line":128,"column":8},"end":{"line":128,"column":29}},"49":{"start":{"line":131,"column":4},"end":{"line":172,"column":5}},"50":{"start":{"line":132,"column":34},"end":{"line":132,"column":63}},"51":{"start":{"line":133,"column":6},"end":{"line":171,"column":7}},"52":{"start":{"line":134,"column":35},"end":{"line":134,"column":70}},"53":{"start":{"line":135,"column":8},"end":{"line":135,"column":78}},"54":{"start":{"line":135,"column":52},"end":{"line":135,"column":78}},"55":{"start":{"line":136,"column":25},"end":{"line":136,"column":57}},"56":{"start":{"line":137,"column":8},"end":{"line":169,"column":9}},"57":{"start":{"line":145,"column":10},"end":{"line":162,"column":11}},"58":{"start":{"line":149,"column":12},"end":{"line":161,"column":15}},"59":{"start":{"line":163,"column":10},"end":{"line":168,"column":13}},"60":{"start":{"line":170,"column":8},"end":{"line":170,"column":24}},"61":{"start":{"line":174,"column":4},"end":{"line":174,"column":90}},"62":{"start":{"line":175,"column":4},"end":{"line":175,"column":16}},"63":{"start":{"line":178,"column":2},"end":{"line":180,"column":3}},"64":{"start":{"line":179,"column":4},"end":{"line":179,"column":47}},"65":{"start":{"line":181,"column":2},"end":{"line":181,"column":23}}},"fnMap":{"0":{"name":"getReturnedValue","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":25}},"loc":{"start":{"line":16,"column":64},"end":{"line":30,"column":1}},"line":16},"1":{"name":"replaceAliasWithResolvedReference","decl":{"start":{"line":32,"column":9},"end":{"line":32,"column":42}},"loc":{"start":{"line":36,"column":2},"end":{"line":46,"column":1}},"line":36},"2":{"name":"getAliasValue","decl":{"start":{"line":48,"column":16},"end":{"line":48,"column":29}},"loc":{"start":{"line":53,"column":119},"end":{"line":182,"column":1}},"line":53},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":65},"end":{"line":59,"column":66}},"loc":{"start":{"line":59,"column":74},"end":{"line":120,"column":7}},"line":59},"4":{"name":"(anonymous_4)","decl":{"start":{"line":81,"column":12},"end":{"line":81,"column":13}},"loc":{"start":{"line":81,"column":19},"end":{"line":83,"column":58}},"line":81},"5":{"name":"(anonymous_5)","decl":{"start":{"line":122,"column":30},"end":{"line":122,"column":31}},"loc":{"start":{"line":122,"column":52},"end":{"line":125,"column":7}},"line":122}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":22,"column":43}},"type":"binary-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":29}},{"start":{"line":19,"column":7},"end":{"line":19,"column":38}},{"start":{"line":20,"column":8},"end":{"line":20,"column":45}},{"start":{"line":21,"column":9},"end":{"line":21,"column":46}},{"start":{"line":22,"column":9},"end":{"line":22,"column":42}}],"line":18},"2":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":40},"5":{"loc":{"start":{"line":40,"column":6},"end":{"line":40,"column":71}},"type":"binary-expr","locations":[{"start":{"line":40,"column":6},"end":{"line":40,"column":11}},{"start":{"line":40,"column":16},"end":{"line":40,"column":41}},{"start":{"line":40,"column":45},"end":{"line":40,"column":70}}],"line":40},"6":{"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":28}},"type":"default-arg","locations":[{"start":{"line":50,"column":26},"end":{"line":50,"column":28}}],"line":50},"7":{"loc":{"start":{"line":51,"column":2},"end":{"line":51,"column":28}},"type":"default-arg","locations":[{"start":{"line":51,"column":24},"end":{"line":51,"column":28}}],"line":51},"8":{"loc":{"start":{"line":52,"column":2},"end":{"line":52,"column":27}},"type":"default-arg","locations":[{"start":{"line":52,"column":26},"end":{"line":52,"column":27}}],"line":52},"9":{"loc":{"start":{"line":57,"column":45},"end":{"line":57,"column":120}},"type":"cond-expr","locations":[{"start":{"line":57,"column":81},"end":{"line":57,"column":113}},{"start":{"line":57,"column":116},"end":{"line":57,"column":120}}],"line":57},"10":{"loc":{"start":{"line":58,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":58},"11":{"loc":{"start":{"line":60,"column":8},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":118,"column":9}},{"start":{},"end":{}}],"line":60},"12":{"loc":{"start":{"line":62,"column":10},"end":{"line":66,"column":11}},"type":"if","locations":[{"start":{"line":62,"column":10},"end":{"line":66,"column":11}},{"start":{"line":64,"column":17},"end":{"line":66,"column":11}}],"line":62},"13":{"loc":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"type":"if","locations":[{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},{"start":{},"end":{}}],"line":67},"14":{"loc":{"start":{"line":67,"column":14},"end":{"line":67,"column":100}},"type":"binary-expr","locations":[{"start":{"line":67,"column":15},"end":{"line":67,"column":40}},{"start":{"line":67,"column":44},"end":{"line":67,"column":72}},{"start":{"line":67,"column":77},"end":{"line":67,"column":100}}],"line":67},"15":{"loc":{"start":{"line":68,"column":19},"end":{"line":68,"column":94}},"type":"cond-expr","locations":[{"start":{"line":68,"column":53},"end":{"line":68,"column":75}},{"start":{"line":68,"column":78},"end":{"line":68,"column":94}}],"line":68},"16":{"loc":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"type":"if","locations":[{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},{"start":{},"end":{}}],"line":71},"17":{"loc":{"start":{"line":81,"column":19},"end":{"line":83,"column":58}},"type":"binary-expr","locations":[{"start":{"line":81,"column":19},"end":{"line":81,"column":43}},{"start":{"line":82,"column":17},"end":{"line":82,"column":50}},{"start":{"line":83,"column":17},"end":{"line":83,"column":58}}],"line":81},"18":{"loc":{"start":{"line":86,"column":10},"end":{"line":88,"column":11}},"type":"if","locations":[{"start":{"line":86,"column":10},"end":{"line":88,"column":11}},{"start":{},"end":{}}],"line":86},"19":{"loc":{"start":{"line":90,"column":10},"end":{"line":100,"column":11}},"type":"if","locations":[{"start":{"line":90,"column":10},"end":{"line":100,"column":11}},{"start":{},"end":{}}],"line":90},"20":{"loc":{"start":{"line":91,"column":12},"end":{"line":93,"column":71}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":36}},{"start":{"line":92,"column":15},"end":{"line":92,"column":58}},{"start":{"line":93,"column":15},"end":{"line":93,"column":71}}],"line":91},"21":{"loc":{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},"type":"if","locations":[{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},{"start":{},"end":{}}],"line":96},"22":{"loc":{"start":{"line":96,"column":16},"end":{"line":96,"column":66}},"type":"binary-expr","locations":[{"start":{"line":96,"column":16},"end":{"line":96,"column":41}},{"start":{"line":96,"column":45},"end":{"line":96,"column":66}}],"line":96},"23":{"loc":{"start":{"line":102,"column":10},"end":{"line":117,"column":11}},"type":"if","locations":[{"start":{"line":102,"column":10},"end":{"line":117,"column":11}},{"start":{},"end":{}}],"line":102},"24":{"loc":{"start":{"line":103,"column":12},"end":{"line":108,"column":106}},"type":"binary-expr","locations":[{"start":{"line":103,"column":12},"end":{"line":103,"column":56}},{"start":{"line":104,"column":15},"end":{"line":104,"column":39}},{"start":{"line":105,"column":15},"end":{"line":105,"column":66}},{"start":{"line":106,"column":15},"end":{"line":106,"column":50}},{"start":{"line":107,"column":15},"end":{"line":107,"column":69}},{"start":{"line":108,"column":15},"end":{"line":108,"column":106}}],"line":103},"25":{"loc":{"start":{"line":112,"column":14},"end":{"line":112,"column":115}},"type":"binary-expr","locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":81}},{"start":{"line":112,"column":85},"end":{"line":112,"column":115}}],"line":112},"26":{"loc":{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},"type":"if","locations":[{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},{"start":{},"end":{}}],"line":127},"27":{"loc":{"start":{"line":131,"column":4},"end":{"line":172,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":172,"column":5}},{"start":{},"end":{}}],"line":131},"28":{"loc":{"start":{"line":131,"column":8},"end":{"line":131,"column":58}},"type":"binary-expr","locations":[{"start":{"line":131,"column":8},"end":{"line":131,"column":21}},{"start":{"line":131,"column":25},"end":{"line":131,"column":58}}],"line":131},"29":{"loc":{"start":{"line":133,"column":6},"end":{"line":171,"column":7}},"type":"if","locations":[{"start":{"line":133,"column":6},"end":{"line":171,"column":7}},{"start":{},"end":{}}],"line":133},"30":{"loc":{"start":{"line":135,"column":8},"end":{"line":135,"column":78}},"type":"if","locations":[{"start":{"line":135,"column":8},"end":{"line":135,"column":78}},{"start":{},"end":{}}],"line":135},"31":{"loc":{"start":{"line":137,"column":8},"end":{"line":169,"column":9}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":169,"column":9}},{"start":{},"end":{}}],"line":137},"32":{"loc":{"start":{"line":138,"column":10},"end":{"line":143,"column":32}},"type":"binary-expr","locations":[{"start":{"line":138,"column":10},"end":{"line":138,"column":35}},{"start":{"line":139,"column":13},"end":{"line":139,"column":38}},{"start":{"line":140,"column":13},"end":{"line":140,"column":58}},{"start":{"line":141,"column":13},"end":{"line":141,"column":21}},{"start":{"line":142,"column":13},"end":{"line":142,"column":24}},{"start":{"line":143,"column":13},"end":{"line":143,"column":32}}],"line":138},"33":{"loc":{"start":{"line":145,"column":10},"end":{"line":162,"column":11}},"type":"if","locations":[{"start":{"line":145,"column":10},"end":{"line":162,"column":11}},{"start":{},"end":{}}],"line":145},"34":{"loc":{"start":{"line":146,"column":12},"end":{"line":147,"column":81}},"type":"binary-expr","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":90}},{"start":{"line":147,"column":15},"end":{"line":147,"column":81}}],"line":146},"35":{"loc":{"start":{"line":153,"column":16},"end":{"line":160,"column":23}},"type":"binary-expr","locations":[{"start":{"line":153,"column":16},"end":{"line":160,"column":17}},{"start":{"line":160,"column":21},"end":{"line":160,"column":23}}],"line":153},"36":{"loc":{"start":{"line":178,"column":2},"end":{"line":180,"column":3}},"type":"if","locations":[{"start":{"line":178,"column":2},"end":{"line":180,"column":3}},{"start":{},"end":{}}],"line":178},"37":{"loc":{"start":{"line":178,"column":6},"end":{"line":178,"column":56}},"type":"binary-expr","locations":[{"start":{"line":178,"column":6},"end":{"line":178,"column":19}},{"start":{"line":178,"column":23},"end":{"line":178,"column":56}}],"line":178}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0],"7":[0],"8":[0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0,0,0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/convertToRgb.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/convertToRgb.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":48,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":19}},"3":{"start":{"line":10,"column":21},"end":{"line":10,"column":56}},"4":{"start":{"line":11,"column":22},"end":{"line":11,"column":39}},"5":{"start":{"line":12,"column":22},"end":{"line":12,"column":39}},"6":{"start":{"line":13,"column":24},"end":{"line":13,"column":29}},"7":{"start":{"line":15,"column":4},"end":{"line":44,"column":5}},"8":{"start":{"line":16,"column":26},"end":{"line":16,"column":84}},"9":{"start":{"line":16,"column":79},"end":{"line":16,"column":83}},"10":{"start":{"line":17,"column":26},"end":{"line":17,"column":84}},"11":{"start":{"line":17,"column":79},"end":{"line":17,"column":83}},"12":{"start":{"line":18,"column":6},"end":{"line":22,"column":7}},"13":{"start":{"line":19,"column":8},"end":{"line":21,"column":11}},"14":{"start":{"line":20,"column":10},"end":{"line":20,"column":69}},"15":{"start":{"line":23,"column":6},"end":{"line":41,"column":7}},"16":{"start":{"line":24,"column":8},"end":{"line":40,"column":11}},"17":{"start":{"line":25,"column":32},"end":{"line":25,"column":37}},"18":{"start":{"line":26,"column":31},"end":{"line":26,"column":77}},"19":{"start":{"line":27,"column":39},"end":{"line":27,"column":67}},"20":{"start":{"line":31,"column":22},"end":{"line":31,"column":25}},"21":{"start":{"line":32,"column":10},"end":{"line":37,"column":11}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":61}},"23":{"start":{"line":34,"column":12},"end":{"line":34,"column":65}},"24":{"start":{"line":36,"column":12},"end":{"line":36,"column":82}},"25":{"start":{"line":36,"column":72},"end":{"line":36,"column":80}},"26":{"start":{"line":38,"column":20},"end":{"line":38,"column":48}},"27":{"start":{"line":39,"column":10},"end":{"line":39,"column":105}},"28":{"start":{"line":43,"column":6},"end":{"line":43,"column":37}},"29":{"start":{"line":45,"column":4},"end":{"line":45,"column":25}},"30":{"start":{"line":47,"column":4},"end":{"line":47,"column":21}},"31":{"start":{"line":50,"column":2},"end":{"line":50,"column":15}}},"fnMap":{"0":{"name":"convertToRgb","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"loc":{"start":{"line":5,"column":52},"end":{"line":51,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":72},"end":{"line":16,"column":73}},"loc":{"start":{"line":16,"column":79},"end":{"line":16,"column":83}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":72},"end":{"line":17,"column":73}},"loc":{"start":{"line":17,"column":79},"end":{"line":17,"column":83}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":28},"end":{"line":19,"column":29}},"loc":{"start":{"line":19,"column":39},"end":{"line":21,"column":9}},"line":19},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":28},"end":{"line":24,"column":29}},"loc":{"start":{"line":24,"column":39},"end":{"line":40,"column":9}},"line":24},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":65},"end":{"line":36,"column":66}},"loc":{"start":{"line":36,"column":72},"end":{"line":36,"column":80}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":22,"column":7}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":41,"column":7}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":32,"column":10},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":32,"column":10},"end":{"line":37,"column":11}},{"start":{"line":35,"column":17},"end":{"line":37,"column":11}}],"line":32},"4":{"loc":{"start":{"line":34,"column":20},"end":{"line":34,"column":64}},"type":"binary-expr","locations":[{"start":{"line":34,"column":20},"end":{"line":34,"column":57}},{"start":{"line":34,"column":61},"end":{"line":34,"column":64}}],"line":34},"5":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":33}},"type":"default-arg","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":33}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/darken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/darken.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":46,"column":3}},"1":{"start":{"line":7,"column":24},"end":{"line":7,"column":35}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":34}},"3":{"start":{"line":9,"column":24},"end":{"line":9,"column":71}},"4":{"start":{"line":10,"column":27},"end":{"line":10,"column":71}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":39}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":36}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":19}},"8":{"start":{"line":16,"column":24},"end":{"line":16,"column":35}},"9":{"start":{"line":17,"column":25},"end":{"line":17,"column":34}},"10":{"start":{"line":18,"column":27},"end":{"line":18,"column":71}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":19}},"13":{"start":{"line":23,"column":24},"end":{"line":23,"column":38}},"14":{"start":{"line":24,"column":21},"end":{"line":24,"column":74}},"15":{"start":{"line":25,"column":23},"end":{"line":25,"column":76}},"16":{"start":{"line":26,"column":22},"end":{"line":26,"column":75}},"17":{"start":{"line":27,"column":6},"end":{"line":27,"column":36}},"18":{"start":{"line":28,"column":6},"end":{"line":28,"column":38}},"19":{"start":{"line":29,"column":6},"end":{"line":29,"column":37}},"20":{"start":{"line":30,"column":6},"end":{"line":30,"column":23}},"21":{"start":{"line":34,"column":21},"end":{"line":34,"column":70}},"22":{"start":{"line":35,"column":23},"end":{"line":35,"column":72}},"23":{"start":{"line":36,"column":22},"end":{"line":36,"column":71}},"24":{"start":{"line":37,"column":6},"end":{"line":37,"column":34}},"25":{"start":{"line":38,"column":6},"end":{"line":38,"column":36}},"26":{"start":{"line":39,"column":6},"end":{"line":39,"column":35}},"27":{"start":{"line":40,"column":6},"end":{"line":40,"column":19}},"28":{"start":{"line":44,"column":6},"end":{"line":44,"column":34}}},"fnMap":{"0":{"name":"darken","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":82},"end":{"line":47,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":46,"column":3}},"type":"switch","locations":[{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},{"start":{"line":15,"column":4},"end":{"line":21,"column":5}},{"start":{"line":22,"column":4},"end":{"line":31,"column":5}},{"start":{"line":33,"column":4},"end":{"line":41,"column":5}},{"start":{"line":43,"column":4},"end":{"line":45,"column":5}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0},"b":{"0":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getColorSwatchStyle.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getColorSwatchStyle.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":110}}},"fnMap":{"0":{"name":"getColorSwatchStyle","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":35}},"loc":{"start":{"line":1,"column":56},"end":{"line":3,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":9},"end":{"line":2,"column":109}},"type":"cond-expr","locations":[{"start":{"line":2,"column":36},"end":{"line":2,"column":80}},{"start":{"line":2,"column":83},"end":{"line":2,"column":109}}],"line":2}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getReferenceTokensFromGradient.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getReferenceTokensFromGradient.ts","statementMap":{"0":{"start":{"line":1,"column":46},"end":{"line":14,"column":1}},"1":{"start":{"line":2,"column":26},"end":{"line":2,"column":94}},"2":{"start":{"line":3,"column":36},"end":{"line":11,"column":8}},"3":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":44}},"5":{"start":{"line":8,"column":6},"end":{"line":8,"column":63}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":15}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":46},"end":{"line":1,"column":47}},"loc":{"start":{"line":1,"column":78},"end":{"line":14,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":59},"end":{"line":3,"column":60}},"loc":{"start":{"line":3,"column":92},"end":{"line":11,"column":3}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":48}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":26}},{"start":{"line":5,"column":30},"end":{"line":5,"column":48}}],"line":5},"2":{"loc":{"start":{"line":8,"column":15},"end":{"line":8,"column":61}},"type":"cond-expr","locations":[{"start":{"line":8,"column":25},"end":{"line":8,"column":56}},{"start":{"line":8,"column":59},"end":{"line":8,"column":61}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/isLightOrDark.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/isLightOrDark.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":19}},"2":{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},"3":{"start":{"line":9,"column":4},"end":{"line":9,"column":58}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":19}}},"fnMap":{"0":{"name":"lightOrDark","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":27}},"loc":{"start":{"line":4,"column":43},"end":{"line":13,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":9,"column":11},"end":{"line":9,"column":57}},"type":"cond-expr","locations":[{"start":{"line":9,"column":41},"end":{"line":9,"column":48}},{"start":{"line":9,"column":51},"end":{"line":9,"column":57}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/lighten.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/lighten.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":44,"column":3}},"1":{"start":{"line":7,"column":24},"end":{"line":7,"column":35}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":40}},"3":{"start":{"line":9,"column":24},"end":{"line":9,"column":71}},"4":{"start":{"line":10,"column":27},"end":{"line":10,"column":73}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":39}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":36}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":19}},"8":{"start":{"line":16,"column":24},"end":{"line":16,"column":35}},"9":{"start":{"line":17,"column":25},"end":{"line":17,"column":40}},"10":{"start":{"line":18,"column":27},"end":{"line":18,"column":73}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":19}},"13":{"start":{"line":23,"column":24},"end":{"line":23,"column":38}},"14":{"start":{"line":24,"column":21},"end":{"line":24,"column":80}},"15":{"start":{"line":25,"column":23},"end":{"line":25,"column":82}},"16":{"start":{"line":26,"column":22},"end":{"line":26,"column":81}},"17":{"start":{"line":27,"column":6},"end":{"line":27,"column":36}},"18":{"start":{"line":28,"column":6},"end":{"line":28,"column":38}},"19":{"start":{"line":29,"column":6},"end":{"line":29,"column":37}},"20":{"start":{"line":30,"column":6},"end":{"line":30,"column":23}},"21":{"start":{"line":33,"column":21},"end":{"line":33,"column":76}},"22":{"start":{"line":34,"column":23},"end":{"line":34,"column":78}},"23":{"start":{"line":35,"column":22},"end":{"line":35,"column":77}},"24":{"start":{"line":36,"column":6},"end":{"line":36,"column":34}},"25":{"start":{"line":37,"column":6},"end":{"line":37,"column":36}},"26":{"start":{"line":38,"column":6},"end":{"line":38,"column":35}},"27":{"start":{"line":39,"column":6},"end":{"line":39,"column":19}},"28":{"start":{"line":42,"column":6},"end":{"line":42,"column":35}}},"fnMap":{"0":{"name":"lighten","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":23}},"loc":{"start":{"line":4,"column":83},"end":{"line":45,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":44,"column":3}},"type":"switch","locations":[{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},{"start":{"line":15,"column":4},"end":{"line":21,"column":5}},{"start":{"line":22,"column":4},"end":{"line":31,"column":5}},{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},{"start":{"line":41,"column":4},"end":{"line":43,"column":5}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0},"b":{"0":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/mix.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/mix.ts","statementMap":{"0":{"start":{"line":5,"column":19},"end":{"line":5,"column":59}},"1":{"start":{"line":7,"column":2},"end":{"line":7,"column":84}}},"fnMap":{"0":{"name":"mix","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":19}},"loc":{"start":{"line":4,"column":96},"end":{"line":8,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/transparentize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/transparentize.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":57}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":15}}},"fnMap":{"0":{"name":"transparentize","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":61},"end":{"line":6,"column":1}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/compareUpdatedAt.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/compareUpdatedAt.ts","statementMap":{"0":{"start":{"line":2,"column":18},"end":{"line":2,"column":50}},"1":{"start":{"line":3,"column":18},"end":{"line":3,"column":50}},"2":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":26}},"4":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":18}},"6":{"start":{"line":10,"column":2},"end":{"line":10,"column":24}}},"fnMap":{"0":{"name":"compareUpdatedAt","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":115},"end":{"line":11,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/ensureFolderIsTogether.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/ensureFolderIsTogether.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":8,"column":26},"end":{"line":8,"column":73}},"2":{"start":{"line":8,"column":52},"end":{"line":8,"column":72}},"3":{"start":{"line":9,"column":22},"end":{"line":9,"column":73}},"4":{"start":{"line":9,"column":52},"end":{"line":9,"column":72}},"5":{"start":{"line":10,"column":18},"end":{"line":10,"column":43}},"6":{"start":{"line":11,"column":24},"end":{"line":11,"column":84}},"7":{"start":{"line":11,"column":51},"end":{"line":11,"column":83}},"8":{"start":{"line":12,"column":4},"end":{"line":17,"column":7}},"9":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"10":{"start":{"line":14,"column":32},"end":{"line":14,"column":82}},"11":{"start":{"line":14,"column":62},"end":{"line":14,"column":81}},"12":{"start":{"line":15,"column":8},"end":{"line":15,"column":82}},"13":{"start":{"line":20,"column":2},"end":{"line":20,"column":19}}},"fnMap":{"0":{"name":"ensureFolderIsTogether","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":117},"end":{"line":21,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":42},"end":{"line":8,"column":43}},"loc":{"start":{"line":8,"column":52},"end":{"line":8,"column":72}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":42},"end":{"line":9,"column":43}},"loc":{"start":{"line":9,"column":52},"end":{"line":9,"column":72}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":11,"column":51},"end":{"line":11,"column":83}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":40},"end":{"line":17,"column":5}},"line":12},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":52},"end":{"line":14,"column":53}},"loc":{"start":{"line":14,"column":62},"end":{"line":14,"column":81}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":77}},"2":{"start":{"line":6,"column":66},"end":{"line":6,"column":75}},"3":{"start":{"line":8,"column":19},"end":{"line":11,"column":4}},"4":{"start":{"line":9,"column":4},"end":{"line":10,"column":41}},"5":{"start":{"line":13,"column":27},"end":{"line":21,"column":4}},"6":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"7":{"start":{"line":15,"column":28},"end":{"line":17,"column":11}},"8":{"start":{"line":16,"column":8},"end":{"line":16,"column":71}},"9":{"start":{"line":18,"column":6},"end":{"line":18,"column":49}},"10":{"start":{"line":20,"column":4},"end":{"line":20,"column":31}},"11":{"start":{"line":22,"column":2},"end":{"line":22,"column":26}}},"fnMap":{"0":{"name":"findOrderableTargetIndexesInThemeList","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":124},"end":{"line":23,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":52},"end":{"line":6,"column":53}},"loc":{"start":{"line":6,"column":66},"end":{"line":6,"column":75}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":32},"end":{"line":8,"column":33}},"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":41}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":40},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":50},"end":{"line":21,"column":3}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":41},"end":{"line":15,"column":42}},"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":71}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":41}},"type":"binary-expr","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":24}},{"start":{"line":10,"column":7},"end":{"line":10,"column":41}}],"line":9},"2":{"loc":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":14},"3":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":71}},"type":"cond-expr","locations":[{"start":{"line":16,"column":54},"end":{"line":16,"column":63}},{"start":{"line":16,"column":66},"end":{"line":16,"column":71}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/error/handleReactError.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/error/handleReactError.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":23}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":33}}},"fnMap":{"0":{"name":"handleReactError","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":45},"end":{"line":6,"column":1}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/goToNodeId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/goToNodeId.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"goToNodeId","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":39},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/selectNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/selectNodes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"selectNodes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":27}},"loc":{"start":{"line":4,"column":43},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/updateLocalTokensData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/updateLocalTokensData.ts","statementMap":{"0":{"start":{"line":30,"column":2},"end":{"line":30,"column":43}},"1":{"start":{"line":32,"column":2},"end":{"line":54,"column":3}},"2":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}},"3":{"start":{"line":36,"column":26},"end":{"line":36,"column":69}},"4":{"start":{"line":37,"column":26},"end":{"line":37,"column":108}},"5":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":39,"column":6},"end":{"line":39,"column":49}},"7":{"start":{"line":43,"column":26},"end":{"line":43,"column":69}},"8":{"start":{"line":44,"column":26},"end":{"line":44,"column":108}},"9":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"10":{"start":{"line":46,"column":6},"end":{"line":46,"column":49}},"11":{"start":{"line":49,"column":20},"end":{"line":49,"column":38}},"12":{"start":{"line":51,"column":4},"end":{"line":51,"column":83}},"13":{"start":{"line":52,"column":4},"end":{"line":52,"column":83}},"14":{"start":{"line":53,"column":4},"end":{"line":53,"column":112}},"15":{"start":{"line":55,"column":2},"end":{"line":55,"column":58}},"16":{"start":{"line":56,"column":2},"end":{"line":56,"column":51}},"17":{"start":{"line":57,"column":2},"end":{"line":57,"column":55}},"18":{"start":{"line":58,"column":2},"end":{"line":58,"column":69}},"19":{"start":{"line":59,"column":2},"end":{"line":59,"column":55}}},"fnMap":{"0":{"name":"updateLocalTokensData","decl":{"start":{"line":29,"column":22},"end":{"line":29,"column":43}},"loc":{"start":{"line":29,"column":62},"end":{"line":60,"column":1}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":54,"column":3}},{"start":{"line":48,"column":9},"end":{"line":54,"column":3}}],"line":32},"1":{"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":108}},"type":"binary-expr","locations":[{"start":{"line":37,"column":26},"end":{"line":37,"column":40}},{"start":{"line":37,"column":44},"end":{"line":37,"column":108}}],"line":37},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":38},"3":{"loc":{"start":{"line":44,"column":26},"end":{"line":44,"column":108}},"type":"binary-expr","locations":[{"start":{"line":44,"column":26},"end":{"line":44,"column":40}},{"start":{"line":44,"column":44},"end":{"line":44,"column":108}}],"line":44},"4":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/readSharedPluginData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/readSharedPluginData.ts","statementMap":{"0":{"start":{"line":2,"column":24},"end":{"line":2,"column":31}},"1":{"start":{"line":5,"column":28},"end":{"line":5,"column":37}},"2":{"start":{"line":28,"column":2},"end":{"line":31,"column":3}},"3":{"start":{"line":29,"column":18},"end":{"line":29,"column":59}},"4":{"start":{"line":30,"column":4},"end":{"line":30,"column":25}},"5":{"start":{"line":34,"column":18},"end":{"line":34,"column":44}},"6":{"start":{"line":35,"column":20},"end":{"line":35,"column":65}},"7":{"start":{"line":37,"column":2},"end":{"line":74,"column":3}},"8":{"start":{"line":38,"column":4},"end":{"line":73,"column":5}},"9":{"start":{"line":40,"column":23},"end":{"line":40,"column":67}},"10":{"start":{"line":42,"column":6},"end":{"line":46,"column":7}},"11":{"start":{"line":44,"column":22},"end":{"line":44,"column":63}},"12":{"start":{"line":45,"column":8},"end":{"line":45,"column":29}},"13":{"start":{"line":48,"column":6},"end":{"line":66,"column":7}},"14":{"start":{"line":50,"column":30},"end":{"line":53,"column":10}},"15":{"start":{"line":51,"column":27},"end":{"line":51,"column":61}},"16":{"start":{"line":52,"column":10},"end":{"line":52,"column":64}},"17":{"start":{"line":56,"column":23},"end":{"line":56,"column":55}},"18":{"start":{"line":59,"column":8},"end":{"line":62,"column":9}},"19":{"start":{"line":59,"column":35},"end":{"line":59,"column":41}},"20":{"start":{"line":60,"column":10},"end":{"line":60,"column":58}},"21":{"start":{"line":61,"column":10},"end":{"line":61,"column":22}},"22":{"start":{"line":65,"column":8},"end":{"line":65,"column":31}},"23":{"start":{"line":68,"column":6},"end":{"line":68,"column":73}},"24":{"start":{"line":69,"column":6},"end":{"line":69,"column":18}},"25":{"start":{"line":71,"column":6},"end":{"line":71,"column":52}},"26":{"start":{"line":72,"column":6},"end":{"line":72,"column":18}},"27":{"start":{"line":77,"column":16},"end":{"line":77,"column":57}},"28":{"start":{"line":78,"column":2},"end":{"line":78,"column":23}}},"fnMap":{"0":{"name":"readSharedPluginData","decl":{"start":{"line":22,"column":22},"end":{"line":22,"column":42}},"loc":{"start":{"line":26,"column":26},"end":{"line":79,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":50,"column":69},"end":{"line":50,"column":70}},"loc":{"start":{"line":50,"column":79},"end":{"line":53,"column":9}},"line":50},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":24},"end":{"line":59,"column":25}},"loc":{"start":{"line":59,"column":35},"end":{"line":59,"column":41}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":2},"end":{"line":25,"column":29}},"type":"default-arg","locations":[{"start":{"line":25,"column":19},"end":{"line":25,"column":29}}],"line":25},"1":{"loc":{"start":{"line":28,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":28},"2":{"loc":{"start":{"line":30,"column":11},"end":{"line":30,"column":24}},"type":"binary-expr","locations":[{"start":{"line":30,"column":11},"end":{"line":30,"column":16}},{"start":{"line":30,"column":20},"end":{"line":30,"column":24}}],"line":30},"3":{"loc":{"start":{"line":37,"column":2},"end":{"line":74,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":74,"column":3}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":42,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":46,"column":7}},{"start":{},"end":{}}],"line":42},"5":{"loc":{"start":{"line":45,"column":15},"end":{"line":45,"column":28}},"type":"binary-expr","locations":[{"start":{"line":45,"column":15},"end":{"line":45,"column":20}},{"start":{"line":45,"column":24},"end":{"line":45,"column":28}}],"line":45},"6":{"loc":{"start":{"line":48,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":48,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":48},"7":{"loc":{"start":{"line":48,"column":10},"end":{"line":48,"column":55}},"type":"binary-expr","locations":[{"start":{"line":48,"column":10},"end":{"line":48,"column":37}},{"start":{"line":48,"column":41},"end":{"line":48,"column":55}}],"line":48},"8":{"loc":{"start":{"line":59,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":62,"column":9}},{"start":{},"end":{}}],"line":59},"9":{"loc":{"start":{"line":78,"column":9},"end":{"line":78,"column":22}},"type":"binary-expr","locations":[{"start":{"line":78,"column":9},"end":{"line":78,"column":14}},{"start":{"line":78,"column":18},"end":{"line":78,"column":22}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/writeSharedPluginData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/writeSharedPluginData.ts","statementMap":{"0":{"start":{"line":5,"column":23},"end":{"line":5,"column":32}},"1":{"start":{"line":8,"column":24},"end":{"line":8,"column":31}},"2":{"start":{"line":11,"column":28},"end":{"line":11,"column":37}},"3":{"start":{"line":35,"column":2},"end":{"line":61,"column":3}},"4":{"start":{"line":37,"column":4},"end":{"line":37,"column":50}},"5":{"start":{"line":40,"column":20},"end":{"line":40,"column":46}},"6":{"start":{"line":41,"column":4},"end":{"line":41,"column":54}},"7":{"start":{"line":44,"column":4},"end":{"line":58,"column":5}},"8":{"start":{"line":45,"column":24},"end":{"line":45,"column":69}},"9":{"start":{"line":46,"column":6},"end":{"line":55,"column":7}},"10":{"start":{"line":47,"column":25},"end":{"line":47,"column":69}},"11":{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},"12":{"start":{"line":50,"column":10},"end":{"line":53,"column":11}},"13":{"start":{"line":50,"column":23},"end":{"line":50,"column":24}},"14":{"start":{"line":51,"column":29},"end":{"line":51,"column":63}},"15":{"start":{"line":52,"column":12},"end":{"line":52,"column":63}},"16":{"start":{"line":60,"column":4},"end":{"line":60,"column":11}},"17":{"start":{"line":63,"column":2},"end":{"line":66,"column":3}},"18":{"start":{"line":64,"column":4},"end":{"line":64,"column":53}},"19":{"start":{"line":65,"column":4},"end":{"line":65,"column":11}},"20":{"start":{"line":69,"column":21},"end":{"line":69,"column":46}},"21":{"start":{"line":71,"column":2},"end":{"line":136,"column":3}},"22":{"start":{"line":73,"column":20},"end":{"line":73,"column":46}},"23":{"start":{"line":74,"column":4},"end":{"line":74,"column":86}},"24":{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},"25":{"start":{"line":80,"column":4},"end":{"line":94,"column":5}},"26":{"start":{"line":81,"column":24},"end":{"line":81,"column":69}},"27":{"start":{"line":82,"column":6},"end":{"line":91,"column":7}},"28":{"start":{"line":83,"column":25},"end":{"line":83,"column":69}},"29":{"start":{"line":84,"column":8},"end":{"line":90,"column":9}},"30":{"start":{"line":86,"column":10},"end":{"line":89,"column":11}},"31":{"start":{"line":86,"column":23},"end":{"line":86,"column":24}},"32":{"start":{"line":87,"column":29},"end":{"line":87,"column":63}},"33":{"start":{"line":88,"column":12},"end":{"line":88,"column":63}},"34":{"start":{"line":97,"column":19},"end":{"line":97,"column":57}},"35":{"start":{"line":98,"column":22},"end":{"line":98,"column":35}},"36":{"start":{"line":101,"column":20},"end":{"line":101,"column":46}},"37":{"start":{"line":102,"column":4},"end":{"line":109,"column":6}},"38":{"start":{"line":112,"column":4},"end":{"line":115,"column":5}},"39":{"start":{"line":112,"column":17},"end":{"line":112,"column":18}},"40":{"start":{"line":113,"column":23},"end":{"line":113,"column":57}},"41":{"start":{"line":114,"column":6},"end":{"line":114,"column":64}},"42":{"start":{"line":118,"column":4},"end":{"line":118,"column":50}},"43":{"start":{"line":121,"column":4},"end":{"line":135,"column":5}},"44":{"start":{"line":122,"column":24},"end":{"line":122,"column":69}},"45":{"start":{"line":123,"column":6},"end":{"line":132,"column":7}},"46":{"start":{"line":124,"column":25},"end":{"line":124,"column":69}},"47":{"start":{"line":125,"column":8},"end":{"line":131,"column":9}},"48":{"start":{"line":127,"column":10},"end":{"line":130,"column":11}},"49":{"start":{"line":127,"column":23},"end":{"line":127,"column":32}},"50":{"start":{"line":128,"column":29},"end":{"line":128,"column":63}},"51":{"start":{"line":129,"column":12},"end":{"line":129,"column":63}}},"fnMap":{"0":{"name":"writeSharedPluginData","decl":{"start":{"line":29,"column":22},"end":{"line":29,"column":43}},"loc":{"start":{"line":34,"column":17},"end":{"line":137,"column":1}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":2},"end":{"line":33,"column":29}},"type":"default-arg","locations":[{"start":{"line":33,"column":19},"end":{"line":33,"column":29}}],"line":33},"1":{"loc":{"start":{"line":35,"column":2},"end":{"line":61,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":61,"column":3}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":46,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":55,"column":7}},{"start":{},"end":{}}],"line":46},"3":{"loc":{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},{"start":{},"end":{}}],"line":48},"4":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":57}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":39}},{"start":{"line":48,"column":43},"end":{"line":48,"column":57}}],"line":48},"5":{"loc":{"start":{"line":63,"column":2},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":66,"column":3}},{"start":{},"end":{}}],"line":63},"6":{"loc":{"start":{"line":71,"column":2},"end":{"line":136,"column":3}},"type":"if","locations":[{"start":{"line":71,"column":2},"end":{"line":136,"column":3}},{"start":{"line":95,"column":9},"end":{"line":136,"column":3}}],"line":71},"7":{"loc":{"start":{"line":82,"column":6},"end":{"line":91,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":91,"column":7}},{"start":{},"end":{}}],"line":82},"8":{"loc":{"start":{"line":84,"column":8},"end":{"line":90,"column":9}},"type":"if","locations":[{"start":{"line":84,"column":8},"end":{"line":90,"column":9}},{"start":{},"end":{}}],"line":84},"9":{"loc":{"start":{"line":84,"column":12},"end":{"line":84,"column":57}},"type":"binary-expr","locations":[{"start":{"line":84,"column":12},"end":{"line":84,"column":39}},{"start":{"line":84,"column":43},"end":{"line":84,"column":57}}],"line":84},"10":{"loc":{"start":{"line":123,"column":6},"end":{"line":132,"column":7}},"type":"if","locations":[{"start":{"line":123,"column":6},"end":{"line":132,"column":7}},{"start":{},"end":{}}],"line":123},"11":{"loc":{"start":{"line":125,"column":8},"end":{"line":131,"column":9}},"type":"if","locations":[{"start":{"line":125,"column":8},"end":{"line":131,"column":9}},{"start":{},"end":{}}],"line":125},"12":{"loc":{"start":{"line":125,"column":12},"end":{"line":125,"column":87}},"type":"binary-expr","locations":[{"start":{"line":125,"column":12},"end":{"line":125,"column":39}},{"start":{"line":125,"column":43},"end":{"line":125,"column":57}},{"start":{"line":125,"column":61},"end":{"line":125,"column":87}}],"line":125}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isColorToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isColorToken.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":46}},"1":{"start":{"line":5,"column":33},"end":{"line":5,"column":46}},"2":{"start":{"line":6,"column":2},"end":{"line":6,"column":41}}},"fnMap":{"0":{"name":"isColorToken","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":82},"end":{"line":7,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":46}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":46}},{"start":{},"end":{}}],"line":5}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isCompositeBorderValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isCompositeBorderValue.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":20,"column":4}},"1":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}}},"fnMap":{"0":{"name":"isCompositeBorderValue","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":116},"end":{"line":21,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":19,"column":5}},"type":"binary-expr","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":9}},{"start":{"line":9,"column":6},"end":{"line":18,"column":8}}],"line":7},"1":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":46}},"type":"cond-expr","locations":[{"start":{"line":9,"column":31},"end":{"line":9,"column":36}},{"start":{"line":9,"column":39},"end":{"line":9,"column":46}}],"line":9},"2":{"loc":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}},"type":"binary-expr","locations":[{"start":{"line":12,"column":8},"end":{"line":12,"column":9}},{"start":{"line":12,"column":13},"end":{"line":12,"column":34}},{"start":{"line":14,"column":10},"end":{"line":14,"column":22}},{"start":{"line":15,"column":13},"end":{"line":15,"column":25}},{"start":{"line":16,"column":13},"end":{"line":16,"column":25}}],"line":12}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isDocumentationType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isDocumentationType.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":112}}},"fnMap":{"0":{"name":"isDocumentationType","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":63},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isGitProvider.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isGitProvider.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":17,"column":4}}},"fnMap":{"0":{"name":"isGitProvider","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":29}},"loc":{"start":{"line":11,"column":60},"end":{"line":18,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":16,"column":58}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":49}},{"start":{"line":14,"column":7},"end":{"line":14,"column":55}},{"start":{"line":15,"column":7},"end":{"line":15,"column":55}},{"start":{"line":16,"column":7},"end":{"line":16,"column":58}}],"line":13}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isMatchingStyle.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isMatchingStyle.ts","statementMap":{"0":{"start":{"line":5,"column":20},"end":{"line":5,"column":68}},"1":{"start":{"line":5,"column":56},"end":{"line":5,"column":67}},"2":{"start":{"line":6,"column":22},"end":{"line":6,"column":41}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":35}}},"fnMap":{"0":{"name":"isMatchingStyle","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":31}},"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":46},"end":{"line":5,"column":47}},"loc":{"start":{"line":5,"column":56},"end":{"line":5,"column":67}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPartOfInstance.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPartOfInstance.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":32}}},"fnMap":{"0":{"name":"isPartOfInstance","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":49},"end":{"line":3,"column":1}},"line":1}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPrimitiveValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPrimitiveValue.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":4}}},"fnMap":{"0":{"name":"isPrimitiveValue","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":94},"end":{"line":7,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":32}},"type":"binary-expr","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},{"start":{"line":4,"column":7},"end":{"line":4,"column":33}},{"start":{"line":5,"column":7},"end":{"line":5,"column":32}}],"line":3}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPropertyType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPropertyType.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":59}}},"fnMap":{"0":{"name":"isPropertyType","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":80},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBorderToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBorderToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":19,"column":4}},"5":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":46}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"isSingleBorderToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":35}},"loc":{"start":{"line":11,"column":30},"end":{"line":20,"column":1}},"line":11},"1":{"name":"isSingleBorderTokenInJSON","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":41}},"loc":{"start":{"line":22,"column":105},"end":{"line":30,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":45}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":10},"end":{"line":18,"column":50}},{"start":{"line":18,"column":54},"end":{"line":18,"column":94}}],"line":16},"3":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":25,"column":4},"end":{"line":25,"column":57}},{"start":{"line":26,"column":8},"end":{"line":26,"column":60}},{"start":{"line":27,"column":10},"end":{"line":27,"column":62}},{"start":{"line":28,"column":11},"end":{"line":28,"column":75}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":20,"column":4}},"5":{"start":{"line":24,"column":2},"end":{"line":24,"column":46}},"6":{"start":{"line":24,"column":33},"end":{"line":24,"column":46}},"7":{"start":{"line":25,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"isSingleBoxShadowToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":38}},"loc":{"start":{"line":11,"column":33},"end":{"line":21,"column":1}},"line":11},"1":{"name":"isSingleBoxShadowTokenInJSON","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":44}},"loc":{"start":{"line":23,"column":111},"end":{"line":32,"column":1}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":19,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":49}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":9},"end":{"line":18,"column":44}},{"start":{"line":19,"column":10},"end":{"line":19,"column":50}},{"start":{"line":19,"column":54},"end":{"line":19,"column":94}}],"line":16},"3":{"loc":{"start":{"line":24,"column":2},"end":{"line":24,"column":46}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":24,"column":46}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":26,"column":4},"end":{"line":30,"column":77}},"type":"binary-expr","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},{"start":{"line":27,"column":8},"end":{"line":27,"column":60}},{"start":{"line":28,"column":9},"end":{"line":28,"column":56}},{"start":{"line":29,"column":10},"end":{"line":29,"column":62}},{"start":{"line":30,"column":11},"end":{"line":30,"column":75}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0,0],"3":[0,0],"4":[0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowValue.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":22,"column":4}},"1":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}}},"fnMap":{"0":{"name":"isSingleBoxShadowValue","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":38}},"loc":{"start":{"line":6,"column":119},"end":{"line":23,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":15},"end":{"line":13,"column":16}},"loc":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":21,"column":5}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":9}},{"start":{"line":10,"column":6},"end":{"line":10,"column":31}},{"start":{"line":11,"column":9},"end":{"line":20,"column":8}}],"line":8},"1":{"loc":{"start":{"line":11,"column":11},"end":{"line":11,"column":49}},"type":"cond-expr","locations":[{"start":{"line":11,"column":34},"end":{"line":11,"column":39}},{"start":{"line":11,"column":42},"end":{"line":11,"column":49}}],"line":11},"2":{"loc":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},"type":"binary-expr","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":9}},{"start":{"line":14,"column":13},"end":{"line":14,"column":34}},{"start":{"line":15,"column":12},"end":{"line":15,"column":23}},{"start":{"line":15,"column":27},"end":{"line":15,"column":39}},{"start":{"line":17,"column":10},"end":{"line":17,"column":47}},{"start":{"line":18,"column":13},"end":{"line":18,"column":51}}],"line":14}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleCompositionToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleCompositionToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":19,"column":4}},"5":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":46}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"isSingleCompositionToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"loc":{"start":{"line":11,"column":35},"end":{"line":20,"column":1}},"line":11},"1":{"name":"isSingleCompositionTokenInJSON","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":46}},"loc":{"start":{"line":22,"column":109},"end":{"line":30,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":50}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":10},"end":{"line":18,"column":50}},{"start":{"line":18,"column":54},"end":{"line":18,"column":94}}],"line":16},"3":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":25,"column":4},"end":{"line":25,"column":62}},{"start":{"line":26,"column":8},"end":{"line":26,"column":60}},{"start":{"line":27,"column":10},"end":{"line":27,"column":62}},{"start":{"line":28,"column":11},"end":{"line":28,"column":75}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleInternalTokenValueObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleInternalTokenValueObject.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":13,"column":4}}},"fnMap":{"0":{"name":"isSingleInternalTokenValueObject","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":48}},"loc":{"start":{"line":3,"column":119},"end":{"line":14,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":12,"column":5}},"type":"binary-expr","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":9}},{"start":{"line":6,"column":7},"end":{"line":6,"column":32}},{"start":{"line":7,"column":7},"end":{"line":7,"column":23}},{"start":{"line":9,"column":6},"end":{"line":9,"column":40}},{"start":{"line":10,"column":9},"end":{"line":10,"column":29}},{"start":{"line":11,"column":9},"end":{"line":11,"column":80}}],"line":5},"1":{"loc":{"start":{"line":11,"column":11},"end":{"line":11,"column":79}},"type":"binary-expr","locations":[{"start":{"line":11,"column":11},"end":{"line":11,"column":42}},{"start":{"line":11,"column":47},"end":{"line":11,"column":52}},{"start":{"line":11,"column":56},"end":{"line":11,"column":78}}],"line":11}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleToken.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":4}}},"fnMap":{"0":{"name":"isSingleToken","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":78},"end":{"line":10,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":22}},"type":"binary-expr","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":9}},{"start":{"line":6,"column":7},"end":{"line":6,"column":32}},{"start":{"line":7,"column":7},"end":{"line":7,"column":23}},{"start":{"line":8,"column":7},"end":{"line":8,"column":22}}],"line":5}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenInJson.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenInJson.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"isSingleTokenInJSON","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":87},"end":{"line":15,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":13,"column":5}},"type":"binary-expr","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":9}},{"start":{"line":7,"column":7},"end":{"line":7,"column":32}},{"start":{"line":8,"column":7},"end":{"line":8,"column":41}},{"start":{"line":10,"column":6},"end":{"line":10,"column":61}},{"start":{"line":11,"column":9},"end":{"line":11,"column":50}},{"start":{"line":12,"column":9},"end":{"line":12,"column":140}}],"line":6},"1":{"loc":{"start":{"line":12,"column":11},"end":{"line":12,"column":139}},"type":"binary-expr","locations":[{"start":{"line":12,"column":11},"end":{"line":12,"column":63}},{"start":{"line":12,"column":68},"end":{"line":12,"column":73}},{"start":{"line":12,"column":77},"end":{"line":12,"column":138}}],"line":12}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenValueObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenValueObject.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":16,"column":4}}},"fnMap":{"0":{"name":"isSingleTokenValueObject","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":40}},"loc":{"start":{"line":6,"column":111},"end":{"line":17,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":9}},{"start":{"line":9,"column":7},"end":{"line":9,"column":32}},{"start":{"line":10,"column":7},"end":{"line":10,"column":41}},{"start":{"line":12,"column":6},"end":{"line":12,"column":61}},{"start":{"line":13,"column":9},"end":{"line":13,"column":50}},{"start":{"line":14,"column":9},"end":{"line":14,"column":140}}],"line":8},"1":{"loc":{"start":{"line":14,"column":11},"end":{"line":14,"column":139}},"type":"binary-expr","locations":[{"start":{"line":14,"column":11},"end":{"line":14,"column":63}},{"start":{"line":14,"column":68},"end":{"line":14,"column":73}},{"start":{"line":14,"column":77},"end":{"line":14,"column":138}}],"line":14}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":19,"column":4}},"5":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":46}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"isSingleTypographyToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":39}},"loc":{"start":{"line":11,"column":34},"end":{"line":20,"column":1}},"line":11},"1":{"name":"isSingleTypographyTokenInJSON","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":45}},"loc":{"start":{"line":22,"column":113},"end":{"line":30,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":49}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":10},"end":{"line":18,"column":50}},{"start":{"line":18,"column":54},"end":{"line":18,"column":94}}],"line":16},"3":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":25,"column":4},"end":{"line":25,"column":61}},{"start":{"line":26,"column":8},"end":{"line":26,"column":60}},{"start":{"line":27,"column":10},"end":{"line":27,"column":62}},{"start":{"line":28,"column":11},"end":{"line":28,"column":75}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyValue.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":27,"column":4}},"1":{"start":{"line":13,"column":8},"end":{"line":24,"column":9}}},"fnMap":{"0":{"name":"isSingleTypographyValue","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":39}},"loc":{"start":{"line":5,"column":121},"end":{"line":28,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":15},"end":{"line":12,"column":16}},"loc":{"start":{"line":13,"column":8},"end":{"line":24,"column":9}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":26,"column":5}},"type":"binary-expr","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":9}},{"start":{"line":9,"column":6},"end":{"line":9,"column":31}},{"start":{"line":10,"column":9},"end":{"line":25,"column":8}}],"line":7},"1":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":49}},"type":"cond-expr","locations":[{"start":{"line":10,"column":34},"end":{"line":10,"column":39}},{"start":{"line":10,"column":42},"end":{"line":10,"column":49}}],"line":10},"2":{"loc":{"start":{"line":13,"column":8},"end":{"line":24,"column":9}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":9}},{"start":{"line":13,"column":13},"end":{"line":13,"column":34}},{"start":{"line":15,"column":10},"end":{"line":15,"column":27}},{"start":{"line":16,"column":13},"end":{"line":16,"column":30}},{"start":{"line":17,"column":13},"end":{"line":17,"column":28}},{"start":{"line":18,"column":13},"end":{"line":18,"column":30}},{"start":{"line":19,"column":13},"end":{"line":19,"column":33}},{"start":{"line":20,"column":13},"end":{"line":20,"column":36}},{"start":{"line":21,"column":13},"end":{"line":21,"column":35}},{"start":{"line":22,"column":13},"end":{"line":22,"column":28}},{"start":{"line":23,"column":13},"end":{"line":23,"column":34}}],"line":13}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0,0,0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenGroupWithType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenGroupWithType.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":24,"column":4}}},"fnMap":{"0":{"name":"isTokenGroupWithType","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":36}},"loc":{"start":{"line":16,"column":79},"end":{"line":25,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":23,"column":58}},"type":"binary-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":9}},{"start":{"line":19,"column":7},"end":{"line":19,"column":32}},{"start":{"line":21,"column":8},"end":{"line":21,"column":45}},{"start":{"line":21,"column":50},"end":{"line":21,"column":84}},{"start":{"line":21,"column":88},"end":{"line":21,"column":140}},{"start":{"line":21,"column":144},"end":{"line":21,"column":206}},{"start":{"line":22,"column":7},"end":{"line":22,"column":40}},{"start":{"line":23,"column":7},"end":{"line":23,"column":58}}],"line":18}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenType.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":59}}},"fnMap":{"0":{"name":"isTokenType","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":27}},"loc":{"start":{"line":3,"column":77},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/checkAndEvaluateMath.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/checkAndEvaluateMath.ts","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":27}},"1":{"start":{"line":14,"column":0},"end":{"line":14,"column":108}},"2":{"start":{"line":14,"column":76},"end":{"line":14,"column":107}},"3":{"start":{"line":23,"column":0},"end":{"line":23,"column":101}},"4":{"start":{"line":23,"column":75},"end":{"line":23,"column":100}},"5":{"start":{"line":32,"column":0},"end":{"line":32,"column":103}},"6":{"start":{"line":32,"column":75},"end":{"line":32,"column":102}},"7":{"start":{"line":41,"column":0},"end":{"line":49,"column":2}},"8":{"start":{"line":42,"column":13},"end":{"line":42,"column":27}},"9":{"start":{"line":44,"column":2},"end":{"line":48,"column":4}},"10":{"start":{"line":45,"column":19},"end":{"line":45,"column":85}},"11":{"start":{"line":46,"column":14},"end":{"line":46,"column":62}},"12":{"start":{"line":46,"column":43},"end":{"line":46,"column":58}},"13":{"start":{"line":47,"column":4},"end":{"line":47,"column":13}},"14":{"start":{"line":52,"column":0},"end":{"line":54,"column":2}},"15":{"start":{"line":53,"column":2},"end":{"line":53,"column":23}},"16":{"start":{"line":59,"column":2},"end":{"line":63,"column":3}},"17":{"start":{"line":60,"column":4},"end":{"line":60,"column":43}},"18":{"start":{"line":62,"column":4},"end":{"line":62,"column":16}},"19":{"start":{"line":65,"column":22},"end":{"line":65,"column":64}},"20":{"start":{"line":67,"column":21},"end":{"line":67,"column":25}},"21":{"start":{"line":70,"column":2},"end":{"line":73,"column":3}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":72}},"23":{"start":{"line":72,"column":4},"end":{"line":72,"column":28}},"24":{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},"25":{"start":{"line":78,"column":4},"end":{"line":78,"column":51}},"26":{"start":{"line":80,"column":4},"end":{"line":80,"column":16}},"27":{"start":{"line":82,"column":2},"end":{"line":86,"column":3}},"28":{"start":{"line":83,"column":4},"end":{"line":83,"column":82}},"29":{"start":{"line":85,"column":4},"end":{"line":85,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":27},"end":{"line":14,"column":28}},"loc":{"start":{"line":14,"column":76},"end":{"line":14,"column":107}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":24},"end":{"line":23,"column":25}},"loc":{"start":{"line":23,"column":75},"end":{"line":23,"column":100}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":24},"end":{"line":32,"column":25}},"loc":{"start":{"line":32,"column":75},"end":{"line":32,"column":102}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":33},"end":{"line":41,"column":34}},"loc":{"start":{"line":41,"column":61},"end":{"line":49,"column":1}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":9},"end":{"line":44,"column":10}},"loc":{"start":{"line":44,"column":24},"end":{"line":48,"column":3}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":28},"end":{"line":46,"column":29}},"loc":{"start":{"line":46,"column":43},"end":{"line":46,"column":58}},"line":46},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":26},"end":{"line":52,"column":27}},"loc":{"start":{"line":52,"column":62},"end":{"line":54,"column":1}},"line":52},"7":{"name":"checkAndEvaluateMath","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":36}},"loc":{"start":{"line":56,"column":51},"end":{"line":87,"column":1}},"line":56}},"branchMap":{"0":{"loc":{"start":{"line":70,"column":2},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":2},"end":{"line":73,"column":3}},{"start":{},"end":{}}],"line":70},"1":{"loc":{"start":{"line":70,"column":6},"end":{"line":70,"column":50}},"type":"binary-expr","locations":[{"start":{"line":70,"column":6},"end":{"line":70,"column":17}},{"start":{"line":70,"column":21},"end":{"line":70,"column":50}}],"line":70},"2":{"loc":{"start":{"line":83,"column":11},"end":{"line":83,"column":81}},"type":"cond-expr","locations":[{"start":{"line":83,"column":18},"end":{"line":83,"column":39}},{"start":{"line":83,"column":42},"end":{"line":83,"column":81}}],"line":83}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/checkReorder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/checkReorder.ts","statementMap":{"0":{"start":{"line":10,"column":59},"end":{"line":10,"column":64}},"1":{"start":{"line":12,"column":2},"end":{"line":12,"column":30}},"2":{"start":{"line":12,"column":17},"end":{"line":12,"column":30}},"3":{"start":{"line":14,"column":16},"end":{"line":14,"column":63}},"4":{"start":{"line":14,"column":42},"end":{"line":14,"column":62}},"5":{"start":{"line":16,"column":2},"end":{"line":16,"column":33}},"6":{"start":{"line":16,"column":20},"end":{"line":16,"column":33}},"7":{"start":{"line":18,"column":21},"end":{"line":18,"column":42}},"8":{"start":{"line":19,"column":18},"end":{"line":19,"column":36}},"9":{"start":{"line":21,"column":2},"end":{"line":28,"column":3}},"10":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":99}},"12":{"start":{"line":24,"column":64},"end":{"line":24,"column":91}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":114}},"14":{"start":{"line":26,"column":79},"end":{"line":26,"column":106}},"15":{"start":{"line":29,"column":19},"end":{"line":29,"column":35}},"16":{"start":{"line":31,"column":2},"end":{"line":33,"column":17}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":17}},"18":{"start":{"line":35,"column":15},"end":{"line":35,"column":27}},"19":{"start":{"line":36,"column":29},"end":{"line":36,"column":44}},"20":{"start":{"line":37,"column":25},"end":{"line":37,"column":81}},"21":{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},"22":{"start":{"line":42,"column":4},"end":{"line":42,"column":45}},"23":{"start":{"line":45,"column":2},"end":{"line":45,"column":15}}},"fnMap":{"0":{"name":"checkReorder","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"loc":{"start":{"line":11,"column":17},"end":{"line":46,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":45},"end":{"line":10,"column":46}},"loc":{"start":{"line":10,"column":59},"end":{"line":10,"column":64}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":32},"end":{"line":14,"column":33}},"loc":{"start":{"line":14,"column":42},"end":{"line":14,"column":62}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":44},"end":{"line":24,"column":45}},"loc":{"start":{"line":24,"column":64},"end":{"line":24,"column":91}},"line":24},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":59},"end":{"line":26,"column":60}},"loc":{"start":{"line":26,"column":79},"end":{"line":26,"column":106}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":65}},"type":"default-arg","locations":[{"start":{"line":10,"column":35},"end":{"line":10,"column":65}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":30}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":30}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":33}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":16,"column":33}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":18,"column":21},"end":{"line":18,"column":42}},"type":"cond-expr","locations":[{"start":{"line":18,"column":36},"end":{"line":18,"column":37}},{"start":{"line":18,"column":40},"end":{"line":18,"column":42}}],"line":18},"4":{"loc":{"start":{"line":21,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":21},"5":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":11},"end":{"line":27,"column":5}}],"line":23},"6":{"loc":{"start":{"line":24,"column":18},"end":{"line":24,"column":98}},"type":"binary-expr","locations":[{"start":{"line":24,"column":18},"end":{"line":24,"column":92}},{"start":{"line":24,"column":96},"end":{"line":24,"column":98}}],"line":24},"7":{"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":113}},"type":"binary-expr","locations":[{"start":{"line":26,"column":18},"end":{"line":26,"column":107}},{"start":{"line":26,"column":111},"end":{"line":26,"column":113}}],"line":26},"8":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":17}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":17}},{"start":{},"end":{}}],"line":31},"9":{"loc":{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},{"start":{},"end":{}}],"line":38},"10":{"loc":{"start":{"line":39,"column":4},"end":{"line":40,"column":77}},"type":"binary-expr","locations":[{"start":{"line":39,"column":5},"end":{"line":39,"column":21}},{"start":{"line":39,"column":25},"end":{"line":39,"column":66}},{"start":{"line":40,"column":14},"end":{"line":40,"column":31}},{"start":{"line":40,"column":35},"end":{"line":40,"column":76}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/moveItem.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/moveItem.ts","statementMap":{"0":{"start":{"line":3,"column":21},"end":{"line":3,"column":71}},"1":{"start":{"line":5,"column":2},"end":{"line":10,"column":3}},"2":{"start":{"line":6,"column":21},"end":{"line":6,"column":65}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":43}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":34}},"5":{"start":{"line":12,"column":2},"end":{"line":12,"column":13}}},"fnMap":{"0":{"name":"moveItem","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":24}},"loc":{"start":{"line":2,"column":79},"end":{"line":13,"column":1}},"line":2}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":21},"end":{"line":3,"column":71}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":59}},{"start":{"line":3,"column":62},"end":{"line":3,"column":71}}],"line":3},"1":{"loc":{"start":{"line":5,"column":2},"end":{"line":10,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":10,"column":3}},{"start":{},"end":{}}],"line":5},"2":{"loc":{"start":{"line":5,"column":6},"end":{"line":5,"column":48}},"type":"binary-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":5,"column":21}},{"start":{"line":5,"column":25},"end":{"line":5,"column":48}}],"line":5},"3":{"loc":{"start":{"line":6,"column":21},"end":{"line":6,"column":65}},"type":"cond-expr","locations":[{"start":{"line":6,"column":35},"end":{"line":6,"column":55}},{"start":{"line":6,"column":58},"end":{"line":6,"column":65}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/init.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/init.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":25,"column":5}},"1":{"start":{"line":9,"column":4},"end":{"line":13,"column":7}},"2":{"start":{"line":15,"column":4},"end":{"line":18,"column":7}},"3":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"4":{"start":{"line":21,"column":6},"end":{"line":21,"column":26}},"5":{"start":{"line":24,"column":4},"end":{"line":24,"column":14}}},"fnMap":{"0":{"name":"init","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":26}},"loc":{"start":{"line":7,"column":29},"end":{"line":26,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":25}},"loc":{"start":{"line":8,"column":42},"end":{"line":23,"column":3}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":11},"end":{"line":23,"column":12}},"loc":{"start":{"line":23,"column":20},"end":{"line":25,"column":3}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":61}},"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":34}},{"start":{"line":11,"column":38},"end":{"line":11,"column":61}}],"line":11},"1":{"loc":{"start":{"line":12,"column":14},"end":{"line":12,"column":64}},"type":"binary-expr","locations":[{"start":{"line":12,"column":14},"end":{"line":12,"column":36}},{"start":{"line":12,"column":40},"end":{"line":12,"column":64}}],"line":12},"2":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/startup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/startup.ts","statementMap":{"0":{"start":{"line":29,"column":6},"end":{"line":43,"column":4}},"1":{"start":{"line":45,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"startup","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":29}},"loc":{"start":{"line":13,"column":32},"end":{"line":66,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":17},"end":{"line":53,"column":37}},"type":"binary-expr","locations":[{"start":{"line":53,"column":17},"end":{"line":53,"column":28}},{"start":{"line":53,"column":32},"end":{"line":53,"column":37}}],"line":53},"1":{"loc":{"start":{"line":54,"column":20},"end":{"line":57,"column":12}},"type":"cond-expr","locations":[{"start":{"line":54,"column":37},"end":{"line":57,"column":5}},{"start":{"line":57,"column":8},"end":{"line":57,"column":12}}],"line":54},"2":{"loc":{"start":{"line":58,"column":10},"end":{"line":62,"column":12}},"type":"cond-expr","locations":[{"start":{"line":58,"column":30},"end":{"line":62,"column":5}},{"start":{"line":62,"column":8},"end":{"line":62,"column":12}}],"line":58}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/joinPath.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/joinPath.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":6,"column":15}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":48}}},"fnMap":{"0":{"name":"joinPath","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":24}},"loc":{"start":{"line":3,"column":45},"end":{"line":7,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":48}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/slugify.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/slugify.ts","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":10,"column":26}}},"fnMap":{"0":{"name":"slugify","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":23}},"loc":{"start":{"line":2,"column":38},"end":{"line":11,"column":1}},"line":2}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/decodeBase64.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/decodeBase64.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":2,"column":27}},"1":{"start":{"line":3,"column":21},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":38}},"3":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":5,"column":15},"end":{"line":5,"column":16}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":34}},"6":{"start":{"line":8,"column":18},"end":{"line":8,"column":35}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":31}}},"fnMap":{"0":{"name":"decodeBase64","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":28}},"loc":{"start":{"line":1,"column":45},"end":{"line":10,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/applyTokenSetOrder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/applyTokenSetOrder.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":21}},"2":{"start":{"line":8,"column":2},"end":{"line":17,"column":4}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":49}},"4":{"start":{"line":11,"column":23},"end":{"line":11,"column":49}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":53}},"6":{"start":{"line":12,"column":44},"end":{"line":12,"column":53}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":54}},"8":{"start":{"line":13,"column":44},"end":{"line":13,"column":54}},"9":{"start":{"line":14,"column":6},"end":{"line":14,"column":74}},"10":{"start":{"line":14,"column":46},"end":{"line":14,"column":74}},"11":{"start":{"line":15,"column":6},"end":{"line":15,"column":42}}},"fnMap":{"0":{"name":"applyTokenSetOrder","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":152},"end":{"line":18,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},"loc":{"start":{"line":9,"column":45},"end":{"line":16,"column":5}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":79}},"type":"default-arg","locations":[{"start":{"line":3,"column":77},"end":{"line":3,"column":79}}],"line":3},"1":{"loc":{"start":{"line":3,"column":81},"end":{"line":3,"column":150}},"type":"default-arg","locations":[{"start":{"line":3,"column":146},"end":{"line":3,"column":150}}],"line":3},"2":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":4},"3":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":56}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":31}},{"start":{"line":4,"column":35},"end":{"line":4,"column":56}}],"line":4},"4":{"loc":{"start":{"line":10,"column":23},"end":{"line":10,"column":49}},"type":"binary-expr","locations":[{"start":{"line":10,"column":23},"end":{"line":10,"column":43}},{"start":{"line":10,"column":47},"end":{"line":10,"column":49}}],"line":10},"5":{"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":49}},"type":"binary-expr","locations":[{"start":{"line":11,"column":23},"end":{"line":11,"column":43}},{"start":{"line":11,"column":47},"end":{"line":11,"column":49}}],"line":11},"6":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":53}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":53}},{"start":{},"end":{}}],"line":12},"7":{"loc":{"start":{"line":12,"column":10},"end":{"line":12,"column":42}},"type":"binary-expr","locations":[{"start":{"line":12,"column":10},"end":{"line":12,"column":25}},{"start":{"line":12,"column":29},"end":{"line":12,"column":42}}],"line":12},"8":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":54}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":54}},{"start":{},"end":{}}],"line":13},"9":{"loc":{"start":{"line":13,"column":10},"end":{"line":13,"column":42}},"type":"binary-expr","locations":[{"start":{"line":13,"column":10},"end":{"line":13,"column":23}},{"start":{"line":13,"column":27},"end":{"line":13,"column":42}}],"line":13},"10":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":74}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":74}},{"start":{},"end":{}}],"line":14},"11":{"loc":{"start":{"line":14,"column":10},"end":{"line":14,"column":44}},"type":"binary-expr","locations":[{"start":{"line":14,"column":10},"end":{"line":14,"column":25}},{"start":{"line":14,"column":29},"end":{"line":14,"column":44}}],"line":14},"12":{"loc":{"start":{"line":14,"column":53},"end":{"line":14,"column":73}},"type":"cond-expr","locations":[{"start":{"line":14,"column":67},"end":{"line":14,"column":69}},{"start":{"line":14,"column":72},"end":{"line":14,"column":73}}],"line":14},"13":{"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":41}},"type":"cond-expr","locations":[{"start":{"line":15,"column":35},"end":{"line":15,"column":37}},{"start":{"line":15,"column":40},"end":{"line":15,"column":41}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx","statementMap":{"0":{"start":{"line":5,"column":19},"end":{"line":8,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":7,"column":41}},"2":{"start":{"line":9,"column":27},"end":{"line":17,"column":4}},"3":{"start":{"line":10,"column":4},"end":{"line":15,"column":5}},"4":{"start":{"line":11,"column":28},"end":{"line":13,"column":11}},"5":{"start":{"line":12,"column":8},"end":{"line":12,"column":71}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":49}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":31}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":26}}},"fnMap":{"0":{"name":"findOrderableTargetIndexesInTokenSetTreeList","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":60}},"loc":{"start":{"line":4,"column":131},"end":{"line":19,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":32},"end":{"line":5,"column":33}},"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":41}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":40},"end":{"line":9,"column":41}},"loc":{"start":{"line":9,"column":50},"end":{"line":17,"column":3}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":71}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":41}},"type":"binary-expr","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":24}},{"start":{"line":7,"column":7},"end":{"line":7,"column":41}}],"line":6},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":71}},"type":"cond-expr","locations":[{"start":{"line":12,"column":54},"end":{"line":12,"column":63}},{"start":{"line":12,"column":66},"end":{"line":12,"column":71}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findParentIndexToInsertSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findParentIndexToInsertSet.ts","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":17,"column":54}},"1":{"start":{"line":5,"column":26},"end":{"line":5,"column":43}},"2":{"start":{"line":6,"column":23},"end":{"line":6,"column":45}},"3":{"start":{"line":7,"column":31},"end":{"line":7,"column":90}},"4":{"start":{"line":7,"column":63},"end":{"line":7,"column":89}},"5":{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},"6":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"7":{"start":{"line":10,"column":8},"end":{"line":13,"column":10}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":45}}},"fnMap":{"0":{"name":"findParentIndexToInsertSet","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":42}},"loc":{"start":{"line":3,"column":103},"end":{"line":20,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":71},"end":{"line":4,"column":72}},"loc":{"start":{"line":4,"column":92},"end":{"line":17,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":52},"end":{"line":7,"column":53}},"loc":{"start":{"line":7,"column":63},"end":{"line":7,"column":89}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"type":"if","locations":[{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/mapTokensToStyleInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/mapTokensToStyleInfo.ts","statementMap":{"0":{"start":{"line":12,"column":7},"end":{"line":12,"column":9}},"1":{"start":{"line":14,"column":18},"end":{"line":14,"column":40}},"2":{"start":{"line":15,"column":2},"end":{"line":26,"column":5}},"3":{"start":{"line":16,"column":4},"end":{"line":25,"column":7}},"4":{"start":{"line":17,"column":24},"end":{"line":17,"column":58}},"5":{"start":{"line":18,"column":29},"end":{"line":18,"column":88}},"6":{"start":{"line":19,"column":6},"end":{"line":24,"column":7}},"7":{"start":{"line":20,"column":8},"end":{"line":23,"column":10}},"8":{"start":{"line":28,"column":2},"end":{"line":28,"column":13}}},"fnMap":{"0":{"name":"mapTokensToStyleInfo","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":36}},"loc":{"start":{"line":8,"column":2},"end":{"line":29,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":18},"end":{"line":15,"column":19}},"loc":{"start":{"line":15,"column":33},"end":{"line":26,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":19},"end":{"line":16,"column":20}},"loc":{"start":{"line":16,"column":30},"end":{"line":25,"column":5}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":24,"column":7}},{"start":{},"end":{}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToList.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToList.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":13,"column":6}},"1":{"start":{"line":5,"column":30},"end":{"line":13,"column":3}}},"fnMap":{"0":{"name":"tokenSetListToList","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"loc":{"start":{"line":4,"column":64},"end":{"line":14,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":19},"end":{"line":5,"column":20}},"loc":{"start":{"line":5,"column":30},"end":{"line":13,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToTree.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToTree.ts","statementMap":{"0":{"start":{"line":14,"column":15},"end":{"line":60,"column":8}},"1":{"start":{"line":15,"column":17},"end":{"line":15,"column":32}},"2":{"start":{"line":16,"column":23},"end":{"line":16,"column":73}},"3":{"start":{"line":17,"column":24},"end":{"line":17,"column":73}},"4":{"start":{"line":17,"column":48},"end":{"line":17,"column":72}},"5":{"start":{"line":19,"column":4},"end":{"line":35,"column":5}},"6":{"start":{"line":20,"column":30},"end":{"line":20,"column":51}},"7":{"start":{"line":21,"column":6},"end":{"line":34,"column":9}},"8":{"start":{"line":22,"column":22},"end":{"line":22,"column":31}},"9":{"start":{"line":23,"column":8},"end":{"line":33,"column":9}},"10":{"start":{"line":23,"column":32},"end":{"line":23,"column":107}},"11":{"start":{"line":24,"column":10},"end":{"line":32,"column":13}},"12":{"start":{"line":37,"column":4},"end":{"line":58,"column":5}},"13":{"start":{"line":38,"column":29},"end":{"line":38,"column":96}},"14":{"start":{"line":38,"column":50},"end":{"line":38,"column":88}},"15":{"start":{"line":39,"column":6},"end":{"line":47,"column":9}},"16":{"start":{"line":49,"column":6},"end":{"line":57,"column":9}},"17":{"start":{"line":59,"column":4},"end":{"line":59,"column":15}},"18":{"start":{"line":63,"column":2},"end":{"line":63,"column":14}}},"fnMap":{"0":{"name":"tokenSetListToTree","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":52},"end":{"line":64,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":40},"end":{"line":14,"column":41}},"loc":{"start":{"line":14,"column":55},"end":{"line":60,"column":3}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":38},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":48},"end":{"line":17,"column":72}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":31}},"loc":{"start":{"line":21,"column":52},"end":{"line":34,"column":7}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":22},"end":{"line":23,"column":23}},"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":107}},"line":23},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":40},"end":{"line":38,"column":41}},"loc":{"start":{"line":38,"column":50},"end":{"line":38,"column":88}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":23},"end":{"line":16,"column":73}},"type":"cond-expr","locations":[{"start":{"line":16,"column":41},"end":{"line":16,"column":68}},{"start":{"line":16,"column":71},"end":{"line":16,"column":73}}],"line":16},"1":{"loc":{"start":{"line":19,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":19},"2":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":44}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":25}},{"start":{"line":19,"column":29},"end":{"line":19,"column":44}}],"line":19},"3":{"loc":{"start":{"line":23,"column":8},"end":{"line":33,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":33,"column":9}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":107}},"type":"binary-expr","locations":[{"start":{"line":23,"column":32},"end":{"line":23,"column":91}},{"start":{"line":23,"column":95},"end":{"line":23,"column":107}}],"line":23},"5":{"loc":{"start":{"line":37,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":58,"column":5}},{"start":{"line":48,"column":11},"end":{"line":58,"column":5}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/updateTokenSetsInState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/updateTokenSetsInState.ts","statementMap":{"0":{"start":{"line":13,"column":27},"end":{"line":13,"column":44}},"1":{"start":{"line":14,"column":27},"end":{"line":14,"column":52}},"2":{"start":{"line":15,"column":18},"end":{"line":30,"column":8}},"3":{"start":{"line":16,"column":4},"end":{"line":28,"column":5}},"4":{"start":{"line":17,"column":22},"end":{"line":17,"column":45}},"5":{"start":{"line":18,"column":6},"end":{"line":25,"column":7}},"6":{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},"7":{"start":{"line":20,"column":10},"end":{"line":20,"column":49}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":26}},"9":{"start":{"line":24,"column":8},"end":{"line":24,"column":35}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":34}},"11":{"start":{"line":29,"column":4},"end":{"line":29,"column":15}},"12":{"start":{"line":32,"column":2},"end":{"line":35,"column":5}},"13":{"start":{"line":33,"column":21},"end":{"line":33,"column":101}},"14":{"start":{"line":34,"column":4},"end":{"line":34,"column":64}},"15":{"start":{"line":37,"column":27},"end":{"line":37,"column":47}},"16":{"start":{"line":38,"column":2},"end":{"line":47,"column":3}},"17":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"18":{"start":{"line":40,"column":34},"end":{"line":40,"column":44}},"19":{"start":{"line":41,"column":6},"end":{"line":41,"column":45}},"20":{"start":{"line":43,"column":6},"end":{"line":43,"column":30}},"21":{"start":{"line":45,"column":9},"end":{"line":47,"column":3}},"22":{"start":{"line":46,"column":4},"end":{"line":46,"column":69}},"23":{"start":{"line":49,"column":25},"end":{"line":49,"column":50}},"24":{"start":{"line":50,"column":19},"end":{"line":50,"column":36}},"25":{"start":{"line":51,"column":2},"end":{"line":62,"column":3}},"26":{"start":{"line":52,"column":33},"end":{"line":52,"column":61}},"27":{"start":{"line":53,"column":4},"end":{"line":53,"column":105}},"28":{"start":{"line":54,"column":4},"end":{"line":61,"column":8}},"29":{"start":{"line":54,"column":44},"end":{"line":61,"column":5}},"30":{"start":{"line":64,"column":2},"end":{"line":82,"column":3}},"31":{"start":{"line":65,"column":4},"end":{"line":69,"column":7}},"32":{"start":{"line":66,"column":29},"end":{"line":66,"column":86}},"33":{"start":{"line":67,"column":6},"end":{"line":67,"column":62}},"34":{"start":{"line":68,"column":6},"end":{"line":68,"column":49}},"35":{"start":{"line":70,"column":4},"end":{"line":81,"column":7}},"36":{"start":{"line":71,"column":34},"end":{"line":71,"column":64}},"37":{"start":{"line":72,"column":6},"end":{"line":76,"column":9}},"38":{"start":{"line":73,"column":31},"end":{"line":73,"column":93}},"39":{"start":{"line":74,"column":8},"end":{"line":74,"column":74}},"40":{"start":{"line":75,"column":8},"end":{"line":75,"column":56}},"41":{"start":{"line":77,"column":6},"end":{"line":80,"column":8}},"42":{"start":{"line":84,"column":2},"end":{"line":95,"column":3}},"43":{"start":{"line":85,"column":4},"end":{"line":94,"column":7}},"44":{"start":{"line":86,"column":6},"end":{"line":86,"column":55}},"45":{"start":{"line":87,"column":6},"end":{"line":93,"column":10}},"46":{"start":{"line":87,"column":46},"end":{"line":93,"column":7}},"47":{"start":{"line":97,"column":24},"end":{"line":97,"column":51}},"48":{"start":{"line":98,"column":24},"end":{"line":98,"column":81}},"49":{"start":{"line":98,"column":71},"end":{"line":98,"column":79}},"50":{"start":{"line":99,"column":20},"end":{"line":99,"column":22}},"51":{"start":{"line":100,"column":2},"end":{"line":102,"column":5}},"52":{"start":{"line":100,"column":39},"end":{"line":100,"column":45}},"53":{"start":{"line":100,"column":65},"end":{"line":100,"column":69}},"54":{"start":{"line":101,"column":4},"end":{"line":101,"column":60}},"55":{"start":{"line":104,"column":2},"end":{"line":110,"column":4}}},"fnMap":{"0":{"name":"updateTokenSetsInState","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":38}},"loc":{"start":{"line":12,"column":14},"end":{"line":111,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":80},"end":{"line":15,"column":81}},"loc":{"start":{"line":15,"column":108},"end":{"line":30,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":23},"end":{"line":32,"column":24}},"loc":{"start":{"line":32,"column":35},"end":{"line":35,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":54,"column":32},"end":{"line":54,"column":33}},"loc":{"start":{"line":54,"column":44},"end":{"line":61,"column":5}},"line":54},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":29},"end":{"line":65,"column":30}},"loc":{"start":{"line":65,"column":56},"end":{"line":69,"column":5}},"line":65},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":32},"end":{"line":70,"column":33}},"loc":{"start":{"line":70,"column":43},"end":{"line":81,"column":5}},"line":70},"6":{"name":"(anonymous_6)","decl":{"start":{"line":72,"column":31},"end":{"line":72,"column":32}},"loc":{"start":{"line":72,"column":58},"end":{"line":76,"column":7}},"line":72},"7":{"name":"(anonymous_7)","decl":{"start":{"line":85,"column":25},"end":{"line":85,"column":26}},"loc":{"start":{"line":85,"column":37},"end":{"line":94,"column":5}},"line":85},"8":{"name":"(anonymous_8)","decl":{"start":{"line":87,"column":34},"end":{"line":87,"column":35}},"loc":{"start":{"line":87,"column":46},"end":{"line":93,"column":7}},"line":87},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":55},"end":{"line":98,"column":56}},"loc":{"start":{"line":98,"column":71},"end":{"line":98,"column":79}},"line":98},"10":{"name":"(anonymous_10)","decl":{"start":{"line":100,"column":23},"end":{"line":100,"column":24}},"loc":{"start":{"line":100,"column":39},"end":{"line":100,"column":45}},"line":100},"11":{"name":"(anonymous_11)","decl":{"start":{"line":100,"column":51},"end":{"line":100,"column":52}},"loc":{"start":{"line":100,"column":65},"end":{"line":100,"column":69}},"line":100},"12":{"name":"(anonymous_12)","decl":{"start":{"line":100,"column":79},"end":{"line":100,"column":80}},"loc":{"start":{"line":100,"column":88},"end":{"line":102,"column":3}},"line":100}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":28,"column":5}},{"start":{"line":26,"column":11},"end":{"line":28,"column":5}}],"line":16},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":25,"column":7}},{"start":{"line":23,"column":13},"end":{"line":25,"column":7}}],"line":18},"2":{"loc":{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},{"start":{},"end":{}}],"line":19},"3":{"loc":{"start":{"line":33,"column":21},"end":{"line":33,"column":101}},"type":"cond-expr","locations":[{"start":{"line":33,"column":43},"end":{"line":33,"column":52}},{"start":{"line":33,"column":55},"end":{"line":33,"column":101}}],"line":33},"4":{"loc":{"start":{"line":34,"column":44},"end":{"line":34,"column":61}},"type":"binary-expr","locations":[{"start":{"line":34,"column":44},"end":{"line":34,"column":55}},{"start":{"line":34,"column":59},"end":{"line":34,"column":61}}],"line":34},"5":{"loc":{"start":{"line":38,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":47,"column":3}},{"start":{"line":45,"column":9},"end":{"line":47,"column":3}}],"line":38},"6":{"loc":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},{"start":{"line":42,"column":11},"end":{"line":44,"column":5}}],"line":39},"7":{"loc":{"start":{"line":45,"column":9},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":9},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":45},"8":{"loc":{"start":{"line":51,"column":2},"end":{"line":62,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":62,"column":3}},{"start":{},"end":{}}],"line":51},"9":{"loc":{"start":{"line":64,"column":2},"end":{"line":82,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":82,"column":3}},{"start":{},"end":{}}],"line":64},"10":{"loc":{"start":{"line":66,"column":29},"end":{"line":66,"column":86}},"type":"binary-expr","locations":[{"start":{"line":66,"column":29},"end":{"line":66,"column":59}},{"start":{"line":66,"column":63},"end":{"line":66,"column":86}}],"line":66},"11":{"loc":{"start":{"line":73,"column":31},"end":{"line":73,"column":93}},"type":"binary-expr","locations":[{"start":{"line":73,"column":31},"end":{"line":73,"column":66}},{"start":{"line":73,"column":70},"end":{"line":73,"column":93}}],"line":73},"12":{"loc":{"start":{"line":84,"column":2},"end":{"line":95,"column":3}},"type":"if","locations":[{"start":{"line":84,"column":2},"end":{"line":95,"column":3}},{"start":{},"end":{}}],"line":84}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} +} diff --git a/packages/tokens-studio-for-figma/lcov-report/base.css b/packages/tokens-studio-for-figma/lcov-report/base.css new file mode 100644 index 000000000..f418035b4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/packages/tokens-studio-for-figma/lcov-report/block-navigation.js b/packages/tokens-studio-for-figma/lcov-report/block-navigation.js new file mode 100644 index 000000000..cc1213023 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/packages/tokens-studio-for-figma/lcov-report/favicon.png b/packages/tokens-studio-for-figma/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 1.07% + Statements + 146/13611 +
+ + +
+ 0.95% + Branches + 86/9016 +
+ + +
+ 0.71% + Functions + 23/3200 +
+ + +
+ 1.07% + Lines + 139/12924 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
10.64%28/2633.59%5/1393.7%2/5410.76%28/260
src/app +
+
0%0/270%0/140%0/40%0/27
src/app/assets/hints +
+
0%0/00%0/00%0/00%0/0
src/app/asyncMessageHandlers +
+
0%0/240%0/70%0/80%0/24
src/app/components +
+
0%0/21170%0/14770%0/5680%0/2012
src/app/components/Accordion +
+
0%0/60%0/100%0/20%0/6
src/app/components/AddLicenseKey +
+
0%0/370%0/300%0/90%0/36
src/app/components/AppContainer +
+
0%0/430%0/190%0/90%0/42
src/app/components/AppContainer/startupProcessSteps +
+
0%0/1210%0/870%0/150%0/116
src/app/components/AuthModal +
+
0%0/180%0/160%0/40%0/18
src/app/components/ColorPicker +
+
0%0/640%0/490%0/150%0/64
src/app/components/DownshiftInput +
+
0%0/1240%0/1080%0/440%0/115
src/app/components/DuplicateResolver +
+
0%0/70%0/160%0/40%0/7
src/app/components/ErrorFallback +
+
0%0/1100%0/00%0/10%0/1
src/app/components/ExportProvider +
+
0%0/550%0/20%0/170%0/54
src/app/components/Flex +
+
0%0/1100%0/0100%0/00%0/1
src/app/components/LanguageSelector +
+
0%0/12100%0/00%0/50%0/10
src/app/components/LaunchDarkly +
+
0%0/100%0/80%0/50%0/10
src/app/components/ManageStylesAndVariables +
+
0%0/1600%0/380%0/580%0/148
src/app/components/ManageThemesModal +
+
0%0/3430%0/2090%0/1120%0/327
src/app/components/Modal +
+
0%0/120%0/360%0/30%0/12
src/app/components/MoreButton +
+
0%0/600%0/190%0/210%0/57
src/app/components/NavbarUndoButton +
+
0%0/110%0/40%0/20%0/11
src/app/components/PresetProvider +
+
0%0/22100%0/00%0/60%0/22
src/app/components/ResolvingLoader +
+
0%0/4100%0/00%0/10%0/4
src/app/components/SecondScreen +
+
0%0/180%0/220%0/30%0/18
src/app/components/SecondScreenSync +
+
0%0/430%0/300%0/110%0/41
src/app/components/Settings +
+
0%0/400%0/180%0/70%0/40
src/app/components/StorageItemForm +
+
0%0/1840%0/2010%0/570%0/167
src/app/components/StyledDragger +
+
0%0/150%0/50%0/40%0/13
src/app/components/TabButton +
+
0%0/50%0/80%0/20%0/5
src/app/components/ThemeSelector +
+
0%0/460%0/300%0/160%0/37
src/app/components/TokenButton +
+
0%0/870%0/490%0/220%0/81
src/app/components/TokenFlowButton +
+
0%0/200%0/60%0/20%0/20
src/app/components/TokenGroup +
+
0%0/650%0/230%0/200%0/61
src/app/components/TokenSetItem +
+
0%0/310%0/240%0/110%0/29
src/app/components/TokenSetTree +
+
0%0/170%0/150%0/100%0/15
src/app/components/TokenTooltip +
+
0%0/520%0/770%0/160%0/50
src/app/components/inspector +
+
0%0/340%0/150%0/70%0/32
src/app/components/modals +
+
0%0/1780%0/740%0/560%0/173
src/app/enhancers/undoableEnhancer +
+
0%0/500%0/220%0/190%0/48
src/app/hooks +
+
0%0/1670%0/760%0/490%0/164
src/app/preview +
+
0%0/1270%0/1010%0/290%0/124
src/app/store +
+
0%0/6110%0/3310%0/1010%0/590
src/app/store/middlewares +
+
0%0/100%0/40%0/30%0/8
src/app/store/models +
+
0%0/4250%0/1860%0/2110%0/413
src/app/store/models/effects +
+
0%0/1100%0/00%0/10%0/1
src/app/store/models/effects/settingsState +
+
0%0/24100%0/00%0/240%0/24
src/app/store/models/effects/tokenState +
+
0%0/32100%0/00%0/320%0/32
src/app/store/models/reducers/settingsState +
+
0%0/13100%0/00%0/130%0/13
src/app/store/models/reducers/tokenState +
+
0%0/2240%0/1580%0/770%0/207
src/app/store/models/reducers/userState +
+
0%0/1100%0/00%0/10%0/1
src/app/store/providers +
+
0%0/1340%0/570%0/150%0/129
src/app/store/providers/ado +
+
0%0/1240%0/530%0/120%0/117
src/app/store/providers/bitbucket +
+
0%0/1150%0/570%0/120%0/109
src/app/store/providers/generic +
+
0%0/900%0/370%0/60%0/86
src/app/store/providers/github +
+
0%0/1280%0/680%0/130%0/121
src/app/store/providers/gitlab +
+
0%0/1350%0/640%0/130%0/128
src/app/store/providers/supernova +
+
0%0/640%0/220%0/80%0/64
src/app/store/providers/tokens-studio +
+
0%0/700%0/240%0/90%0/70
src/app/store/utils +
+
0%0/430%0/310%0/80%0/37
src/config +
+
0%0/1100%0/0100%0/00%0/1
src/constants +
+
6.66%1/15100%0/0100%0/06.66%1/15
src/context +
+
0%0/480%0/160%0/140%0/48
src/figmaStorage +
+
0%0/1450%0/640%0/430%0/134
src/hooks +
+
0%0/770%0/320%0/260%0/70
src/hooks/useProcess +
+
0%0/550%0/170%0/190%0/48
src/i18n +
+
0%0/60%0/20%0/10%0/6
src/i18n/lang/en +
+
0%0/00%0/00%0/00%0/0
src/i18n/lang/es +
+
0%0/00%0/00%0/00%0/0
src/i18n/lang/fr +
+
0%0/00%0/00%0/00%0/0
src/i18n/lang/hi +
+
0%0/00%0/00%0/00%0/0
src/i18n/lang/nl +
+
0%0/00%0/00%0/00%0/0
src/i18n/lang/zh +
+
0%0/00%0/00%0/00%0/0
src/icons +
+
0%0/00%0/00%0/00%0/0
src/mocks +
+
0%0/280%0/80%0/40%0/28
src/motion +
+
0%0/390%0/200%0/150%0/36
src/plugin +
+
4.93%104/21084.17%81/19404.69%16/3414.98%99/1987
src/plugin/asyncMessageHandlers +
+
2.07%9/4340%0/1902.75%3/1091.93%8/413
src/plugin/figmaTransforms +
+
0%0/2310%0/1510%0/320%0/229
src/plugin/figmaUtils +
+
0%0/310%0/360%0/80%0/30
src/plugin/figmaUtils/styleMatchers +
+
0%0/550%0/680%0/50%0/55
src/profiling +
+
0%0/500%0/170%0/60%0/49
src/selectors +
+
0%0/2040%0/160%0/1040%0/178
src/storage +
+
0%0/9320%0/5860%0/1850%0/889
src/storage/schemas +
+
0%0/10100%0/00%0/20%0/10
src/storage/tokensStudio +
+
0%0/250%0/20%0/80%0/25
src/storage/tokensStudio/graphql +
+
0%0/15100%0/0100%0/00%0/15
src/storage/tokensStudio/updateThemeGroupsInTokensStudio +
+
0%0/920%0/500%0/140%0/89
src/storage/tokensStudio/utils +
+
0%0/6100%0/00%0/20%0/6
src/stories +
+
0%0/1100%0/0100%0/00%0/1
src/tokens +
+
0%0/10100%0/0100%0/00%0/10
src/types +
+
0%0/00%0/00%0/00%0/0
src/types/payloads +
+
0%0/00%0/00%0/00%0/0
src/types/properties +
+
0%0/00%0/00%0/00%0/0
src/types/redux +
+
0%0/00%0/00%0/00%0/0
src/types/tokens +
+
0%0/00%0/00%0/00%0/0
src/types/values +
+
0%0/00%0/00%0/00%0/0
src/utils +
+
0.27%4/14410%0/11480.74%2/2670.22%3/1363
src/utils/alias +
+
0%0/890%0/1100%0/110%0/85
src/utils/color +
+
0%0/1080%0/330%0/140%0/105
src/utils/date +
+
0%0/70%0/40%0/10%0/7
src/utils/dragDropOrder +
+
0%0/260%0/120%0/110%0/21
src/utils/error +
+
0%0/2100%0/00%0/10%0/2
src/utils/figma +
+
0%0/220%0/100%0/30%0/22
src/utils/figmaStorage +
+
0%0/810%0/450%0/40%0/76
src/utils/is +
+
0%0/560%0/1380%0/280%0/46
src/utils/math +
+
0%0/300%0/60%0/80%0/26
src/utils/motion +
+
0%0/300%0/310%0/60%0/25
src/utils/plugin +
+
0%0/80%0/120%0/40%0/8
src/utils/string +
+
0%0/3100%0/00%0/30%0/3
src/utils/string/ui +
+
0%0/8100%0/00%0/10%0/7
src/utils/tokenset +
+
0%0/1170%0/760%0/330%0/104
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/prettify.css b/packages/tokens-studio-for-figma/lcov-report/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/packages/tokens-studio-for-figma/lcov-report/prettify.js b/packages/tokens-studio-for-figma/lcov-report/prettify.js new file mode 100644 index 000000000..b3225238f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/packages/tokens-studio-for-figma/lcov-report/sort-arrow-sprite.png b/packages/tokens-studio-for-figma/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/packages/tokens-studio-for-figma/lcov-report/sorter.js b/packages/tokens-studio-for-figma/lcov-report/sorter.js new file mode 100644 index 000000000..2bb296a8c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html new file mode 100644 index 000000000..be4dc50e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html @@ -0,0 +1,535 @@ + + + + + + Code coverage report for src/AsyncMessageChannel.ts + + + + + + + + + +
+
+

All files / src AsyncMessageChannel.ts

+
+ +
+ 12% + Statements + 6/50 +
+ + +
+ 2.94% + Branches + 1/34 +
+ + +
+ 8.33% + Functions + 1/12 +
+ + +
+ 12.5% + Lines + 6/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +  +2x +  +2x +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  + 
import hash from 'object-hash';
+import {
+  AsyncMessageResults, AsyncMessageResultsMap, AsyncMessages, AsyncMessagesMap, AsyncMessageTypes,
+} from './types/AsyncMessages';
+ 
+import { AsyncMessageChannelPreview } from './AsyncMessageChannelPreview';
+ 
+// credits goes to https://github.com/microsoft/TypeScript/issues/23182#issuecomment-379091887
+type IsTypeOnlyObject<Obj extends Record<PropertyKey, unknown>> = [keyof Obj] extends ['type'] ? true : false;
+ 
+type IncomingMessageEvent<Message = unknown> = {
+  data: {
+    pluginMessage: {
+      id: string
+      message: Message
+    } | {
+      id: string
+      error: unknown
+    }
+  }
+};
+ 
+export type AsyncMessageChannelHandlers = {
+  [K in AsyncMessageTypes]: (incoming: AsyncMessagesMap[K]) => Promise<
+  IsTypeOnlyObject<AsyncMessageResultsMap[K]> extends true
+    ? void
+    : Omit<AsyncMessageResultsMap[K], 'type'>
+  >
+};
+ 
+class AsyncMessageChannel {
+  public static PluginInstance: AsyncMessageChannel = new AsyncMessageChannel(true);
+ 
+  public static ReactInstance: AsyncMessageChannel = new AsyncMessageChannel(false);
+ 
+  protected $handlers: Partial<AsyncMessageChannelHandlers> = {};
+ 
+  protected isInFigmaSandbox = false;
+ 
+  constructor(inFigmaSandbox: boolean) {
+    this.isInFigmaSandbox = inFigmaSandbox;
+  }
+ 
+  public attachMessageListener<Message>(callback: (msg: Message) => void | false | Promise<void | false>) {
+    if (this.isInFigmaSandbox) {
+      const listener = async (msg: Message) => {
+        const possiblePromise = callback(msg);
+        if (possiblePromise === false || (possiblePromise && await possiblePromise === false)) {
+          figma.ui.off('message', listener);
+        }
+      };
+      figma.ui.on('message', listener);
+      return () => figma.ui.off('message', listener);
+    }
+ 
+    const listener = async (event: { data: { pluginMessage: Message } }) => {
+      const possiblePromise = callback(event.data.pluginMessage);
+      if (possiblePromise === false || (possiblePromise && await possiblePromise === false)) {
+        window.removeEventListener('message', listener);
+      }
+    };
+    window.addEventListener('message', listener);
+    return () => window.removeEventListener('message', listener);
+  }
+ 
+  public connect() {
+    return this.attachMessageListener(async (msg: { id?: string; message?: AsyncMessages }) => {
+      // This appears to be related to the monaco editor being opened. It appears to post a message to the window message event listener with no data.
+      if (!msg || !msg.id || !msg.message || !msg.message.type.startsWith('async/')) {
+        // eslint-disable-next-line no-console
+        // console.warn('Invalid message received', msg);
+        return;
+      }
+      const handler = this.$handlers[msg.message.type] as AsyncMessageChannelHandlers[AsyncMessageTypes] | undefined;
+      if (handler) {
+        try {
+          // @README need to cast to any to make this work
+          // it causes a complex type which can not be resolved due to its depth
+          const result = await (handler as any)(msg.message);
+          const payload = result
+            ? { ...result, type: msg.message.type }
+            : { type: msg.message.type };
+ 
+          if (this.isInFigmaSandbox) {
+            figma.ui.postMessage({
+              id: msg.id,
+              message: payload,
+            });
+          } else {
+            parent.postMessage({
+              pluginMessage: { id: msg.id, message: payload },
+            }, '*');
+          }
+        } catch (err) {
+          console.error(err);
+          if (this.isInFigmaSandbox) {
+            figma.ui.postMessage({
+              id: msg.id,
+              error: err,
+            });
+          } else {
+            parent.postMessage({
+              pluginMessage: { id: msg.id, error: err },
+            }, '*');
+          }
+        }
+      }
+    });
+  }
+ 
+  public handle<T extends AsyncMessageTypes>(
+    type: T,
+    fn: AsyncMessageChannelHandlers[T],
+  ) {
+    this.$handlers[type] = fn;
+  }
+ 
+  public async message<Message extends AsyncMessages>(message: Message) {
+    const messageId = hash({
+      message,
+      datetime: Date.now(),
+    });
+    const promise = new Promise<AsyncMessageResults & { type: Message['type'] }>((resolve, reject) => {
+      this.attachMessageListener((msg: IncomingMessageEvent<AsyncMessageResults & { type: Message['type'] }>['data']['pluginMessage']) => {
+        if (msg.id === messageId) {
+          if ('message' in msg) {
+            resolve(msg.message);
+          } else {
+            reject(msg.error);
+          }
+          return false;
+        }
+        return undefined;
+      });
+    });
+    if (this.isInFigmaSandbox) {
+      figma.ui.postMessage({ id: messageId, message });
+    } else {
+      parent.postMessage(
+        { pluginMessage: { id: messageId, message } },
+        '*',
+      );
+    }
+    return promise;
+  }
+}
+ 
+const ExportedAsyncMessageChannel = !process.env.PREVIEW_ENV ? AsyncMessageChannel : AsyncMessageChannelPreview;
+ 
+export { ExportedAsyncMessageChannel as AsyncMessageChannel };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html new file mode 100644 index 000000000..fc0cdf63c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html @@ -0,0 +1,1003 @@ + + + + + + Code coverage report for src/AsyncMessageChannelPreview.ts + + + + + + + + + +
+
+

All files / src AsyncMessageChannelPreview.ts

+
+ +
+ 17.32% + Statements + 22/127 +
+ + +
+ 5.4% + Branches + 4/74 +
+ + +
+ 3.7% + Functions + 1/27 +
+ + +
+ 17.46% + Lines + 22/126 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +  +2x +  +2x +  +2x +  +2x +  +2x +  +2x +  +  +2x +2x +1x +1x +  +  +1x +  +  +2x +  +  +  +  +2x +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import hash from 'object-hash';
+import {
+  AsyncMessageResults,
+  AsyncMessageResultsMap,
+  AsyncMessages,
+  AsyncMessagesMap,
+  AsyncMessageTypes,
+} from './types/AsyncMessages';
+ 
+// credits goes to https://github.com/microsoft/TypeScript/issues/23182#issuecomment-379091887
+type IsTypeOnlyObject<Obj extends Record<PropertyKey, unknown>> = [keyof Obj] extends ['type'] ? true : false;
+ 
+type IncomingMessageEvent<Message = unknown> = {
+  data: {
+    pluginMessage:
+    | {
+      id: string;
+      message: Message;
+    }
+    | {
+      id: string;
+      error: unknown;
+    };
+  };
+};
+ 
+export type AsyncMessageChannelHandlers = {
+  [K in AsyncMessageTypes]: (
+    incoming: AsyncMessagesMap[K],
+  ) => Promise<IsTypeOnlyObject<AsyncMessageResultsMap[K]> extends true ? void : Omit<AsyncMessageResultsMap[K], 'type'>>;
+};
+ 
+export const WEBSOCKET_SERVER_URL = 'ws://localhost:9001/ws';
+ 
+const sendWsMessage = <Message>(ws, msg: Message) => {
+  const message = JSON.stringify(msg);
+  if (ws && ws.readyState === 1) {
+    ws.send(message);
+  } else {
+    setTimeout(() => {
+      sendWsMessage(ws, msg);
+    }, 1000);
+  }
+};
+ 
+const sendMessageToController = (pluginMessage) => {
+  parent.postMessage({ pluginMessage }, '*');
+};
+ 
+const sendMessageToUi = (pluginMessage) => {
+  figma.ui.postMessage(pluginMessage);
+};
+ 
+const parseWsEvent = (event) => {
+  try {
+    const msg = JSON.parse(event.data);
+    if (msg.src === 'server') {
+      const temp = JSON.parse(msg.message);
+      return temp;
+    }
+  } catch (err) {
+    console.warn('not a valid message', err);
+    return null;
+  }
+  return null;
+};
+ 
+enum Environment {
+  PLUGIN = 'PLUGIN',
+  UI = 'UI',
+  BROWSER = 'BROWSER',
+}
+ 
+enum WebSocketsSource {
+  browser = 'browser',
+  ui = 'ui',
+  figma = 'figma',
+}
+ 
+enum PreviewEnvVar {
+  browser = 'browser',
+  figma = 'figma',
+}
+ 
+export class AsyncMessageChannelPreview {
+  public static PluginInstance: AsyncMessageChannelPreview = new AsyncMessageChannelPreview(true);
+ 
+  public static ReactInstance: AsyncMessageChannelPreview = new AsyncMessageChannelPreview(false);
+ 
+  protected $handlers: Partial<AsyncMessageChannelHandlers> = {};
+ 
+  protected isInFigmaSandbox = false;
+ 
+  protected environment: Environment | null = null;
+ 
+  protected isPreview: boolean = false;
+ 
+  protected ws: WebSocket | null = null;
+ 
+  public isWsConnected: boolean = false;
+ 
+  constructor(inFigmaSandbox: boolean) {
+    this.isInFigmaSandbox = inFigmaSandbox;
+    if (inFigmaSandbox) {
+      this.environment = Environment.PLUGIN;
+    } else Iif (process.env.PREVIEW_ENV === PreviewEnvVar.browser) {
+      this.environment = Environment.BROWSER;
+    } else {
+      this.environment = Environment.UI;
+    }
+ 
+    Iif (process.env.PREVIEW_ENV) {
+      this.isPreview = true;
+    }
+  }
+ 
+  private sendMessageToBrowser = (msg) => {
+    sendWsMessage(this.ws, { ...msg, src: WebSocketsSource.ui });
+  };
+ 
+  private sendMessageFromBrowser = (msg) => {
+    sendWsMessage(this.ws, { ...msg, src: WebSocketsSource.browser });
+  };
+ 
+  public getWs() {
+    return this.ws;
+  }
+ 
+  private listenerFactory<Message>(callback, removeEventListener, parseEvent = (event) => event) {
+    const listener = async (msg: Message) => {
+      const possiblePromise = callback(parseEvent(msg));
+      if (possiblePromise === false || (possiblePromise && (await possiblePromise) === false)) {
+        removeEventListener('message', listener);
+      }
+    };
+ 
+    return listener;
+  }
+ 
+  public attachMessageListener<Message>(callback: (msg: Message) => void | false | Promise<void | false>) {
+    switch (this.environment) {
+      case Environment.PLUGIN: {
+        const listener = this.listenerFactory(callback, figma.ui.off);
+        figma.ui.on('message', listener);
+        return () => figma.ui.off('message', listener);
+      }
+      case Environment.BROWSER:
+      case Environment.UI: {
+        const wsListener = this.isPreview
+          ? this.listenerFactory(callback, this.ws?.removeEventListener, parseWsEvent)
+          : null;
+        const listener = this.listenerFactory(
+          callback,
+          window.removeEventListener,
+          (event: { data: { pluginMessage: Message } }) => event.data.pluginMessage,
+        );
+        window.addEventListener('message', listener);
+        if (wsListener) {
+          this.ws?.addEventListener('message', wsListener);
+        }
+        return () => {
+          window.removeEventListener('message', listener);
+          if (wsListener) {
+            this.ws?.removeEventListener('message', wsListener);
+          }
+        };
+      }
+      default: {
+        return null;
+      }
+    }
+  }
+ 
+  private startWebSocketConnection() {
+    if (this.ws === null) {
+      this.ws = new WebSocket(WEBSOCKET_SERVER_URL);
+      const self = this;
+      this.ws.addEventListener('open', () => {
+        self.isWsConnected = true;
+      });
+      this.ws.addEventListener('close', () => {
+        self.isWsConnected = false;
+        setTimeout(() => {
+          self.ws = null;
+          this.startWebSocketConnection();
+        }, 5000);
+      });
+    }
+ 
+    return () => {
+      if (this.ws) {
+        this.ws.close();
+      }
+    };
+  }
+ 
+  private onMessageEvent = async (msg: { id?: string; message?: AsyncMessages; src?: WebSocketsSource }) => {
+    // This appears to be related to the monaco editor being opened. It appears to post a message to the window message event listener with no data.
+    if (!msg || !msg.id || !msg.message || !msg.message.type.startsWith('async/')) {
+      // eslint-disable-next-line no-console
+      if ((msg as any)?.type && this.environment === Environment.UI) {
+        if (msg.src !== WebSocketsSource.browser) {
+          this.sendMessageToBrowser({ ...msg, src: WebSocketsSource.ui });
+        } else {
+          sendMessageToController(msg);
+        }
+        return;
+      }
+      return;
+    }
+    const handler = this.$handlers[msg.message.type] as AsyncMessageChannelHandlers[AsyncMessageTypes] | undefined;
+    if (this.environment === Environment.UI && this.isPreview) {
+      if (msg.src !== WebSocketsSource.browser) {
+        this.sendMessageToBrowser({ ...msg, src: WebSocketsSource.ui });
+      } else {
+        sendMessageToController(msg);
+      }
+      return;
+    }
+    if (handler) {
+      try {
+        // @README need to cast to any to make this work
+        // it causes a complex type which can not be resolved due to its depth
+        const result = await (handler as any)(msg.message);
+        const payload = result ? { ...result, type: msg.message.type } : { type: msg.message.type };
+ 
+        if (this.isInFigmaSandbox) {
+          sendMessageToUi({
+            id: msg.id,
+            message: payload,
+          });
+        } else if (this.environment === Environment.BROWSER) {
+          this.sendMessageFromBrowser({ id: msg.id, message: payload, src: WebSocketsSource.browser });
+        } else {
+          sendMessageToController({ id: msg.id, message: payload });
+        }
+      } catch (err) {
+        console.error(err);
+        if (this.isInFigmaSandbox) {
+          sendMessageToUi({
+            id: msg.id,
+            error: err,
+          });
+        } else {
+          sendMessageToController({ id: msg.id, error: err });
+        }
+      }
+    }
+  };
+ 
+  public connect() {
+    if (this.environment !== Environment.PLUGIN && this.isPreview) {
+      this.startWebSocketConnection();
+    }
+ 
+    return this.attachMessageListener(this.onMessageEvent);
+  }
+ 
+  public handle<T extends AsyncMessageTypes>(type: T, fn: AsyncMessageChannelHandlers[T]) {
+    this.$handlers[type] = fn;
+  }
+ 
+  public async message<Message extends AsyncMessages>(message: Message) {
+    const messageId = hash({
+      message,
+      datetime: Date.now(),
+    });
+    const promise = new Promise<AsyncMessageResults & { type: Message['type'] }>((resolve, reject) => {
+      this.attachMessageListener(
+        (msg: IncomingMessageEvent<AsyncMessageResults & { type: Message['type'] }>['data']['pluginMessage']) => {
+          if (msg?.id === messageId) {
+            if ('message' in msg) {
+              resolve(msg.message);
+            } else {
+              reject(msg.error);
+            }
+            return false;
+          }
+          return undefined;
+        },
+      );
+    });
+    switch (this.environment) {
+      case Environment.PLUGIN: {
+        sendMessageToUi({ id: messageId, message, src: WebSocketsSource.figma });
+        break;
+      }
+      case Environment.UI: {
+        if (this.isPreview) {
+          this.sendMessageToBrowser({ id: messageId, message });
+        } else {
+          sendMessageToController({ id: messageId, message });
+        }
+        break;
+      }
+      case Environment.BROWSER: {
+        this.sendMessageFromBrowser({ id: messageId, message });
+        break;
+      }
+      default: {
+        break;
+      }
+    }
+    return promise;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html new file mode 100644 index 000000000..29edd4045 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/assets/hints/images.ts + + + + + + + + + +
+
+

All files / src/app/assets/hints images.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
declare module '*.png';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html new file mode 100644 index 000000000..14340b98d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/assets/hints + + + + + + + + + +
+
+

All files src/app/assets/hints

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
images.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html new file mode 100644 index 000000000..cc37af82b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/asyncMessageHandlers/getThemeInfo.ts + + + + + + + + + +
+
+

All files / src/app/asyncMessageHandlers getThemeInfo.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { store } from '@/app/store';
+import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { activeThemeSelector, themesListSelector } from '@/selectors';
+import { ThemeObjectsList } from '@/types';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+interface ThemeInfo {
+  activeTheme: Record<string, string>;
+  themes: ThemeObjectsList;
+}
+ 
+export const getThemeInfo: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_THEME_INFO] = async (): Promise<ThemeInfo> => {
+  const state = store.getState();
+  const activeTheme = activeThemeSelector(state);
+  const themesList = themesListSelector(state);
+ 
+  return {
+    activeTheme,
+    themes: themesList,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html new file mode 100644 index 000000000..ee8a4a9a2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/asyncMessageHandlers + + + + + + + + + +
+
+

All files src/app/asyncMessageHandlers

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
getThemeInfo.ts +
+
0%0/5100%0/00%0/10%0/5
index.ts +
+
0%0/00%0/00%0/00%0/0
startup.tsx +
+
0%0/190%0/70%0/70%0/19
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html new file mode 100644 index 000000000..b87f0f26e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/asyncMessageHandlers/index.ts + + + + + + + + + +
+
+

All files / src/app/asyncMessageHandlers index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './getThemeInfo';
+export * from './startup';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html new file mode 100644 index 000000000..838115740 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/app/asyncMessageHandlers/startup.tsx + + + + + + + + + +
+
+

All files / src/app/asyncMessageHandlers startup.tsx

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useEffect, useState } from 'react';
+import { createRoot } from 'react-dom/client';
+import * as Sentry from '@sentry/react';
+import { Provider, useStore } from 'react-redux';
+import i18next from 'i18next';
+import * as Tooltip from '@radix-ui/react-tooltip';
+ 
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes, StartupMessage } from '@/types/AsyncMessages';
+import { ErrorFallback } from '../components/ErrorFallback';
+import { RootState, store } from '../store';
+import { AppContainer } from '../components/AppContainer';
+import PreviewApp from '../preview/preview';
+import FigmaLoading from '../components/FigmaLoading';
+ 
+// eslint-disable-next-line
+const PREVIEW_ENV = process.env.PREVIEW_ENV;
+ 
+const StartupApp = () => {
+  const [params, setParams] = useState<StartupMessage | null>(null);
+  const rootStore = useStore<RootState>();
+  const state = rootStore.getState();
+  const fallbackLanguage = state.settings?.language;
+ 
+  useEffect(() => {
+    i18next.changeLanguage(params?.settings?.language || fallbackLanguage || 'en');
+  }, [params?.settings?.language, fallbackLanguage]);
+ 
+  useEffect(() => {
+    AsyncMessageChannel.ReactInstance.handle(AsyncMessageTypes.STARTUP, async (startupParams) => {
+      setParams(startupParams);
+    });
+ 
+    return () => {
+      AsyncMessageChannel.ReactInstance.handle(AsyncMessageTypes.STARTUP, (() => {}) as any);
+    };
+  }, []);
+ 
+  const appContainer = (
+    params ? <AppContainer {...params} /> : (
+      <FigmaLoading
+        isLoading
+      >
+        <span />
+      </FigmaLoading>
+    )
+  );
+ 
+  return PREVIEW_ENV ? (
+    <PreviewApp>
+      {appContainer}
+    </PreviewApp>
+  ) : appContainer;
+};
+ 
+export const startup = async () => {
+  const container = document.getElementById('app');
+ 
+  // Side effect from first load
+ 
+  const root = createRoot(container!);
+  root.render(
+    <Sentry.ErrorBoundary fallback={ErrorFallback}>
+      <Provider store={store}>
+        <Tooltip.Provider>
+          <StartupApp />
+        </Tooltip.Provider>
+      </Provider>
+    </Sentry.ErrorBoundary>,
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html new file mode 100644 index 000000000..0e79556f2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for src/app/components/Accordion/Accordion.tsx + + + + + + + + + +
+
+

All files / src/app/components/Accordion Accordion.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  PropsWithChildren, ReactNode, useCallback, useState,
+} from 'react';
+import { motion, AnimatePresence, useReducedMotion } from 'framer-motion';
+import { Box, IconButton, Stack } from '@tokens-studio/ui';
+import type { StitchesCSS } from '@/types';
+import { StyledContainer } from './StyledContainer';
+import { IconChevronDown, IconChevronRight } from '@/icons';
+import { Flex } from '../Flex';
+ 
+type Props = PropsWithChildren<{
+  label: ReactNode
+  extra?: ReactNode
+  css?: StitchesCSS
+  disabled?: boolean
+  isOpenByDefault?: boolean
+  height?: string | number
+}>;
+ 
+export function Accordion({
+  css, label, extra, disabled, isOpenByDefault, height, children,
+}: Props) {
+  const reducedMotion = useReducedMotion();
+  const [isOpen, setIsOpen] = useState(isOpenByDefault ?? false);
+ 
+  const handleToggle = useCallback(() => {
+    setIsOpen(!isOpen);
+  }, [isOpen]);
+ 
+  return (
+    <StyledContainer css={css}>
+      <Box css={{
+        gridColumn: '1',
+        gridRow: '1',
+      }}
+      >
+        <IconButton
+          data-testid="accordion-toggle"
+          size="small"
+          variant="invisible"
+          icon={isOpen ? <IconChevronDown /> : <IconChevronRight />}
+          disabled={disabled}
+          onClick={handleToggle}
+        />
+      </Box>
+      <Stack css={{
+        gridRow: '1',
+        gridColumn: '2',
+        justifyContent: 'space-between',
+        alignItems: 'center',
+        minHeight: '100%',
+      }}
+      >
+        <Box>{label}</Box>
+        <Flex css={{ height: 0, alignItems: 'center' }}>
+          {extra}
+        </Flex>
+      </Stack>
+      <AnimatePresence>
+        {isOpen && (
+          <motion.div
+            style={{
+              overflow: 'hidden',
+              gridColumn: '2',
+              gridRow: '2',
+            }}
+            key="content"
+            data-testid="accordion-content"
+            transition={reducedMotion ? {
+              duration: 0,
+            } : undefined}
+            initial={{ opacity: 0, height: 0 }}
+            exit={{ opacity: 0, height: 0 }}
+            animate={{ opacity: 1, height: 'auto' }}
+          >
+            <Box css={{ paddingTop: '$4', maxHeight: height || 'inherit', overflowY: 'scroll' }}>
+              {children}
+            </Box>
+          </motion.div>
+        )}
+      </AnimatePresence>
+    </StyledContainer>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html new file mode 100644 index 000000000..7a79f8877 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/components/Accordion/StyledContainer.tsx + + + + + + + + + +
+
+

All files / src/app/components/Accordion StyledContainer.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledContainer = styled('div', {
+  display: 'grid',
+  gap: '0 $3',
+  gridTemplateColumns: 'auto 1fr',
+  alignItems: 'start',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html new file mode 100644 index 000000000..209aac45a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/components/Accordion + + + + + + + + + +
+
+

All files src/app/components/Accordion

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Accordion.tsx +
+
0%0/50%0/100%0/20%0/5
StyledContainer.tsx +
+
0%0/1100%0/0100%0/00%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html new file mode 100644 index 000000000..da60f997e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/Accordion/index.ts + + + + + + + + + +
+
+

All files / src/app/components/Accordion index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { Accordion } from './Accordion';
+ 
+export default Accordion;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html new file mode 100644 index 000000000..8a05e3e61 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html @@ -0,0 +1,553 @@ + + + + + + Code coverage report for src/app/components/AddLicenseKey/AddLicenseKey.tsx + + + + + + + + + +
+
+

All files / src/app/components/AddLicenseKey AddLicenseKey.tsx

+
+ +
+ 0% + Statements + 0/37 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/label-has-associated-control */
+import React, {
+  useCallback, useEffect, useState,
+} from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useLDClient } from 'launchdarkly-react-client-sdk';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Heading, TextInput, Box, Stack, IconButton,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { licenseKeySelector } from '@/selectors/licenseKeySelector';
+import { styled } from '@/stitches.config';
+import { Dispatch } from '@/app/store';
+import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
+import useConfirm from '@/app/hooks/useConfirm';
+import { AddLicenseSource } from '@/app/store/models/userState';
+import ProBadge from '../ProBadge';
+import { userIdSelector } from '@/selectors/userIdSelector';
+import { licenseDetailsSelector } from '@/selectors';
+import { ldUserFactory } from '@/utils/ldUserFactory';
+import { ErrorMessage } from '../ErrorMessage';
+import { addLicenseKey } from '@/utils/addLicenseKey';
+ 
+export default function AddLicenseKey() {
+  const dispatch = useDispatch<Dispatch>();
+  const existingKey = useSelector(licenseKeySelector);
+  const licenseDetails = useSelector(licenseDetailsSelector);
+  const licenseKeyError = useSelector(licenseKeyErrorSelector);
+  const [newKey, setLicenseKey] = useState(existingKey);
+  const { confirm } = useConfirm();
+  const userId = useSelector(userIdSelector);
+  const ldClient = useLDClient();
+  const { t } = useTranslation(['licence']);
+  const [isMasked, setIsMasked] = useState(true);
+ 
+  const toggleMask = useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const addKey = useCallback(async () => {
+    if (newKey) {
+      await addLicenseKey(
+        dispatch,
+        { key: newKey, source: AddLicenseSource.UI },
+        {
+          userId,
+        },
+      );
+    }
+  }, [newKey, dispatch, userId]);
+ 
+  const removeAccessToFeatures = useCallback(() => {
+    if (userId) {
+      ldClient?.identify({
+        key: userId,
+      });
+    }
+  }, [userId, ldClient]);
+ 
+  const removeKey = useCallback(async () => {
+    if (licenseKeyError) {
+      dispatch.userState.removeLicenseKey(undefined);
+    } else {
+      const confirmation = await confirm({
+        text: t('confirmRemove') as string,
+        description: t('keepLicenseSafe'),
+        confirmAction: t('removeKey') as string,
+      });
+      if (confirmation) {
+        dispatch.userState.removeLicenseKey(undefined);
+        removeAccessToFeatures();
+      }
+    }
+  }, [t, dispatch, confirm, removeAccessToFeatures, licenseKeyError]);
+ 
+  const ManageSubscriptionLink = styled('a', {
+    color: '$accentDefault',
+    fontSize: '$xsmall',
+  });
+ 
+  useEffect(() => {
+    setLicenseKey(existingKey);
+  }, [existingKey]);
+ 
+  useEffect(() => {
+    if (userId && existingKey && licenseDetails) {
+      ldClient?.identify(
+        ldUserFactory(userId, licenseDetails.plan, licenseDetails.entitlements, licenseDetails.clientEmail),
+      );
+    }
+  }, [userId, ldClient, existingKey, licenseDetails]);
+ 
+  const onLicenseKeyChange = useCallback((ev: React.ChangeEvent<HTMLInputElement>) => {
+    setLicenseKey(ev.target.value.trim());
+  }, []);
+ 
+  const addLicenseKeyButton = !existingKey && (
+    <Button onClick={addKey} disabled={existingKey === newKey}>
+      {t('addLicenseKey')}
+    </Button>
+  );
+ 
+  const removeLicenseKeyButton = existingKey && <Button onClick={removeKey}>{t('removeLicenseKey')}</Button>;
+ 
+  return (
+    <Stack direction="column" gap={3} css={{ padding: '0 $4' }}>
+      <Stack direction="row" gap={2} align="center" justify="between">
+        <Heading size="medium">{t('licenseKey')}</Heading>
+        <Stack direction="row" gap={2} align="center">
+          <ProBadge campaign="add-license-key" />
+          {existingKey && !licenseKeyError && (
+            <ManageSubscriptionLink href="https://account.tokens.studio" target="_blank">
+              {t('manageSubscription')}
+            </ManageSubscriptionLink>
+          )}
+        </Stack>
+      </Stack>
+      <Stack
+        direction="row"
+        gap={2}
+        css={{
+          display: 'flex',
+          alignItems: 'flex-end',
+          width: '100%',
+        }}
+      >
+        <Box css={{ flexGrow: 1 }}>
+          <TextInput
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+            name="license-key"
+            data-testid="settings-license-key-input"
+            value={newKey || ''}
+            onChange={onLicenseKeyChange}
+            validationStatus={licenseKeyError ? 'error' : undefined}
+          />
+          {licenseKeyError && (
+            <Box css={{ paddingTop: '$2' }}>
+              <ErrorMessage>{licenseKeyError}</ErrorMessage>
+            </Box>
+          )}
+        </Box>
+        {addLicenseKeyButton}
+        {removeLicenseKeyButton}
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html new file mode 100644 index 000000000..5077c5bd0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/AddLicenseKey + + + + + + + + + +
+
+

All files src/app/components/AddLicenseKey

+
+ +
+ 0% + Statements + 0/37 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AddLicenseKey.tsx +
+
0%0/370%0/300%0/90%0/36
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html new file mode 100644 index 000000000..22e8bef7d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/AddLicenseKey/index.ts + + + + + + + + + +
+
+

All files / src/app/components/AddLicenseKey index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import AddLicenseKey from './AddLicenseKey';
+ 
+export { AddLicenseKey };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html new file mode 100644 index 000000000..cfba057e4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for src/app/components/AnnotationBuilder.tsx + + + + + + + + + +
+
+

All files / src/app/components AnnotationBuilder.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { IconButton } from '@tokens-studio/ui';
+import { uiStateSelector } from '@/selectors';
+import createAnnotation from './createAnnotation';
+import Stack from './Stack';
+import Text from './Text';
+import Box from './Box';
+import { isEqual } from '@/utils/isEqual';
+import { Direction } from '@/constants/Direction';
+ 
+export default function AnnotationBuilder() {
+  const { t } = useTranslation(['inspect']);
+  const uiState = useSelector(uiStateSelector, isEqual);
+ 
+  const createAnnotationLeft = React.useCallback(() => {
+    createAnnotation(uiState.mainNodeSelectionValues, Direction.LEFT);
+  }, [uiState]);
+ 
+  const createAnnotationTop = React.useCallback(() => {
+    createAnnotation(uiState.mainNodeSelectionValues, Direction.TOP);
+  }, [uiState]);
+ 
+  const createAnnotationBottom = React.useCallback(() => {
+    createAnnotation(uiState.mainNodeSelectionValues, Direction.BOTTOM);
+  }, [uiState]);
+ 
+  const createAnnotationRight = React.useCallback(() => {
+    createAnnotation(uiState.mainNodeSelectionValues, Direction.RIGHT);
+  }, [uiState]);
+ 
+  return Object.entries(uiState.mainNodeSelectionValues).length > 0 ? (
+    <Box css={{ borderBottom: '1px solid $borderMuted', paddingBottom: '$4', marginBottom: '$4' }}>
+      <Stack direction="row" align="center" justify="between">
+        <Text bold>{t('addAnnotation')}</Text>
+        <Stack direction="row" align="center" gap={2}>
+          <IconButton onClick={createAnnotationLeft} icon="←" />
+          <Stack direction="column" gap={2}>
+            <IconButton onClick={createAnnotationTop} icon="↑" />
+            <IconButton onClick={createAnnotationBottom} icon="↓" />
+          </Stack>
+          <IconButton onClick={createAnnotationRight} icon="→" />
+        </Stack>
+      </Stack>
+    </Box>
+  ) : null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html new file mode 100644 index 000000000..90c767ed2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html @@ -0,0 +1,289 @@ + + + + + + Code coverage report for src/app/components/App.tsx + + + + + + + + + +
+
+

All files / src/app/components App.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { IconoirProvider } from 'iconoir-react';
+import Settings from './Settings';
+import Inspector from './Inspector';
+import Tokens from './Tokens';
+import StartScreen from './StartScreen';
+import Navbar from './Navbar';
+import FigmaLoading from './FigmaLoading';
+import SecondSceen from './SecondScreen';
+import Footer from './Footer';
+import Box from './Box';
+import { activeTabSelector } from '@/selectors';
+import PluginResizerWrapper from './PluginResizer';
+import LoadingBar from './LoadingBar';
+import { ConvertToDTCGModal } from './ConvertToDTCGModal';
+ 
+function App() {
+  const activeTab = useSelector(activeTabSelector);
+ 
+  return (
+    <Box css={{ isolation: 'isolate' }}>
+      <IconoirProvider
+        iconProps={{
+          color: '$fgDefault',
+          strokeWidth: 1.5,
+          width: '1rem',
+          height: '1rem',
+        }}
+      >
+        {activeTab !== 'loading' && <LoadingBar />}
+        <PluginResizerWrapper>
+          <Box
+            css={{
+              display: 'flex',
+              flexDirection: 'column',
+              height: '100%',
+              overflow: 'hidden',
+            }}
+          >
+            <Box
+              css={{
+                display: 'flex',
+                flexDirection: 'column',
+                flexGrow: 1,
+                height: '100%',
+                overflow: 'hidden',
+              }}
+            >
+              {activeTab === 'loading' && <FigmaLoading />}
+              {activeTab !== 'start' && activeTab !== 'loading' && <Navbar />}
+              {activeTab === 'start' && <StartScreen />}
+              <Tokens isActive={activeTab === 'tokens'} />
+              {activeTab === 'inspector' && <Inspector />}
+              {activeTab === 'secondscreen' && <SecondSceen />}
+              {activeTab === 'settings' && <Settings />}
+            </Box>
+            {activeTab !== 'loading' && activeTab !== 'start' && <Footer />}
+          </Box>
+ 
+        </PluginResizerWrapper>
+        <ConvertToDTCGModal />
+      </IconoirProvider>
+    </Box>
+  );
+}
+ 
+export default App;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html new file mode 100644 index 000000000..336d8d41f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html @@ -0,0 +1,427 @@ + + + + + + Code coverage report for src/app/components/AppContainer/AppContainer.tsx + + + + + + + + + +
+
+

All files / src/app/components/AppContainer AppContainer.tsx

+
+ +
+ 0% + Statements + 0/28 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useEffect, useState } from 'react';
+import { useDispatch } from 'react-redux';
+import App from '../App';
+import FigmaLoading from '../FigmaLoading';
+import { AsyncMessageTypes, StartupMessage } from '@/types/AsyncMessages';
+import type { Dispatch } from '@/app/store';
+import { Tabs } from '@/constants/Tabs';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { useStartupProcess } from './useStartupProcess';
+import { ProcessStepStatus } from '@/hooks';
+import { withLDProviderWrapper } from '../LaunchDarkly';
+import { ApplicationInitSteps } from './ApplicationInitSteps';
+import ConfirmDialog from '../ConfirmDialog';
+import WindowResizer from '../WindowResizer';
+import ImportedTokensDialog from '../ImportedTokensDialog';
+import PushDialog from '../PushDialog';
+import Changelog from '../Changelog';
+import OnboardingFlow from '../OnboardingFlow';
+import { Initiator } from '../Initiator';
+import { globalStyles } from '../globalStyles';
+import { AuthContextProvider } from '@/context/AuthContext';
+import SecondScreenSync from '../SecondScreenSync';
+import AuthModal from '../AuthModal';
+import PullDialog from '../PullDialog';
+import { useFigmaTheme } from '@/hooks/useFigmaTheme';
+import Box from '../Box';
+import { darkThemeMode, lightThemeMode } from '@/stitches.config';
+ 
+type Props = StartupMessage & {
+  // @README only for unit testing purposes
+  startupProcess?: ReturnType<typeof useStartupProcess>;
+};
+ 
+const applicationInitStepLabels = {
+  [ApplicationInitSteps.SAVE_PLUGIN_DATA]: 'Receiving local data',
+  [ApplicationInitSteps.ADD_LICENSE]: 'Verifying license',
+  [ApplicationInitSteps.GET_LD_FLAGS]: 'Initializing LaunchDarkly',
+  [ApplicationInitSteps.SAVE_STORAGE_INFORMATION]: 'Checking storage type',
+  [ApplicationInitSteps.PULL_TOKENS]: 'Fetching (remote) tokens',
+};
+ 
+export const AppContainer = withLDProviderWrapper((params: Props) => {
+  const { isDarkTheme } = useFigmaTheme();
+  const dispatch = useDispatch<Dispatch>();
+  const startupProcess = useStartupProcess(params);
+ 
+  const [showLoadingScreen, setShowLoadingScreen] = useState(true);
+ 
+  const handleCancelLoadingScreen = useCallback(() => {
+    startupProcess.cancelToken.cancel();
+    dispatch.uiState.setActiveTab(Tabs.START);
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.CANCEL_OPERATION,
+    });
+ 
+    setShowLoadingScreen(false);
+  }, [dispatch, startupProcess]);
+ 
+  const handlePerformStartup = useCallback(async () => {
+    if (
+      !startupProcess.isComplete
+      && startupProcess.currentStatus !== ProcessStepStatus.FAILED
+      && startupProcess.currentStatus !== ProcessStepStatus.CANCELED
+    ) {
+      if (startupProcess.currentStep === null) {
+        await startupProcess.start();
+      } else if (startupProcess.currentStatus === ProcessStepStatus.DONE) {
+        await startupProcess.next();
+      }
+    } else if (startupProcess.isComplete) {
+      setShowLoadingScreen(false);
+    }
+  }, [startupProcess]);
+ 
+  useEffect(() => {
+    handlePerformStartup();
+  }, [handlePerformStartup]);
+ 
+  useEffect(() => {
+    if (isDarkTheme) {
+      document.body.className = darkThemeMode;
+    } else {
+      document.body.className = lightThemeMode;
+    }
+  }, [isDarkTheme]);
+ 
+  globalStyles();
+ 
+  const appContent = (
+    <Box css={{ backgroundColor: '$bgDefault', color: '$fgDefault' }}>
+      <FigmaLoading
+        isLoading={showLoadingScreen}
+        label={startupProcess.currentStep ? applicationInitStepLabels[startupProcess.currentStep] : undefined}
+        onCancel={handleCancelLoadingScreen}
+      >
+        <App />
+      </FigmaLoading>
+      <Initiator />
+      <ConfirmDialog />
+      <ImportedTokensDialog />
+      <PushDialog />
+      {
+        !showLoadingScreen && <PullDialog />
+      }
+      <WindowResizer />
+      <OnboardingFlow />
+      <Changelog />
+      <SecondScreenSync />
+      <AuthModal />
+    </Box>
+  );
+ 
+  return <AuthContextProvider authData={params.authData}>{appContent}</AuthContextProvider>;
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html new file mode 100644 index 000000000..e2f34a535 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/app/components/AppContainer/ApplicationInitSteps.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer ApplicationInitSteps.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
export enum ApplicationInitSteps {
+  SAVE_PLUGIN_DATA = 'save-plugin-data',
+  ADD_LICENSE = 'add-license',
+  GET_LD_FLAGS = 'get-ld-flags',
+  SAVE_STORAGE_INFORMATION = 'save-storage-information',
+  PULL_TOKENS = 'pull-tokens',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html new file mode 100644 index 000000000..b971f4473 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/app/components/AppContainer + + + + + + + + + +
+
+

All files src/app/components/AppContainer

+
+ +
+ 0% + Statements + 0/43 +
+ + +
+ 0% + Branches + 0/19 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/42 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AppContainer.tsx +
+
0%0/280%0/170%0/50%0/28
ApplicationInitSteps.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
useStartupProcess.ts +
+
0%0/150%0/20%0/40%0/14
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html new file mode 100644 index 000000000..10c70633d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/AppContainer/index.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './AppContainer';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html new file mode 100644 index 000000000..9e8246337 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer/startupProcessSteps addLicenseFactory.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { Dispatch } from '@/app/store';
+import { AddLicenseSource } from '@/app/store/models/userState';
+import { LicenseStatus } from '@/constants/LicenseStatus';
+import type { StartupMessage } from '@/types/AsyncMessages';
+import { addLicenseKey } from '@/utils/addLicenseKey';
+import getLicenseKey from '@/utils/getLicenseKey';
+ 
+export function addLicenseFactory(dispatch: Dispatch, params: StartupMessage) {
+  return async () => {
+    const { user } = params;
+    let { licenseKey } = params;
+    const { initialLoad } = params;
+ 
+    if ((licenseKey === null || licenseKey === undefined) && (initialLoad && initialLoad.toString() !== 'true')) {
+      const result = await getLicenseKey(user!.figmaId);
+      if ('key' in result && result.key) {
+        licenseKey = result.key;
+      }
+    }
+ 
+    if (licenseKey) {
+      await addLicenseKey(dispatch, {
+        key: licenseKey,
+        source: AddLicenseSource.INITAL_LOAD,
+      }, {
+        userId: user!.figmaId,
+        userName: user!.name,
+      });
+    } else {
+      dispatch.userState.setLicenseStatus(LicenseStatus.NO_LICENSE);
+    }
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html new file mode 100644 index 000000000..bacd9d63a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer/startupProcessSteps getLdFlagsFactory.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Store } from 'redux';
+import * as Sentry from '@sentry/react';
+import type { LDClient } from 'launchdarkly-js-client-sdk';
+import { RootState } from '@/app/store';
+import { entitlementsSelector } from '@/selectors/getEntitlements';
+import { licenseKeySelector } from '@/selectors/licenseKeySelector';
+import { planSelector } from '@/selectors/planSelector';
+import type { StartupMessage } from '@/types/AsyncMessages';
+import { setUserData } from '@/utils/analytics';
+import { clientEmailSelector } from '@/selectors/getClientEmail';
+import { ldUserFactory } from '@/utils/ldUserFactory';
+ 
+export function getLdFlagsFactory(store: Store<RootState>, ldClientPromise: Promise<LDClient>, params: StartupMessage) {
+  return async () => {
+    const { user } = params;
+    const state = store.getState();
+    const plan = planSelector(state);
+    const entitlements = entitlementsSelector(state);
+    const licenseKey = licenseKeySelector(state);
+    const clientEmail = clientEmailSelector(state);
+ 
+    if (user?.userId && licenseKey) {
+      setUserData({ plan: plan ? 'pro' : 'free' });
+      try {
+        await (await ldClientPromise)?.identify(ldUserFactory(
+          user.userId,
+          plan,
+          entitlements,
+          clientEmail,
+        ));
+      } catch (err) {
+        console.error(err);
+        Sentry.captureException(err);
+        setUserData({ plan: 'free' });
+      }
+    } else {
+      setUserData({ plan: 'free' });
+    }
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html new file mode 100644 index 000000000..f36fe48a0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps + + + + + + + + + +
+
+

All files src/app/components/AppContainer/startupProcessSteps

+
+ +
+ 0% + Statements + 0/121 +
+ + +
+ 0% + Branches + 0/87 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/116 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
addLicenseFactory.ts +
+
0%0/110%0/120%0/20%0/11
getLdFlagsFactory.ts +
+
0%0/150%0/60%0/20%0/15
index.ts +
+
0%0/00%0/00%0/00%0/0
pullTokensFactory.ts +
+
0%0/680%0/570%0/60%0/64
savePluginDataFactory.ts +
+
0%0/180%0/60%0/20%0/18
saveStorageInformationFactory.ts +
+
0%0/90%0/60%0/30%0/8
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html new file mode 100644 index 000000000..87c22fdfa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps/index.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer/startupProcessSteps index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export * from './savePluginDataFactory';
+export * from './addLicenseFactory';
+export * from './getLdFlagsFactory';
+export * from './saveStorageInformationFactory';
+export * from './pullTokensFactory';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html new file mode 100644 index 000000000..a8fd8365e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html @@ -0,0 +1,598 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer/startupProcessSteps pullTokensFactory.ts

+
+ +
+ 0% + Statements + 0/68 +
+ + +
+ 0% + Branches + 0/57 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as Sentry from '@sentry/react';
+import type { LDFlagSet } from 'launchdarkly-js-client-sdk';
+import { Store } from 'redux';
+import { INTERNAL_THEMES_NO_GROUP } from '../../../../constants/InternalTokenGroup';
+import type { StartupMessage } from '@/types/AsyncMessages';
+import type { Dispatch, RootState } from '@/app/store';
+import { Tabs } from '@/constants/Tabs';
+import { storageTypeSelector } from '@/selectors';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import useConfirm from '@/app/hooks/useConfirm';
+import isSameCredentials from '@/utils/isSameCredentials';
+import { track } from '@/utils/analytics';
+import { hasTokenValues } from '@/utils/hasTokenValues';
+import { notifyToUI } from '@/plugin/notifiers';
+import type useRemoteTokens from '@/app/store/remoteTokens';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { isGitProvider } from '@/utils/is';
+ 
+export function pullTokensFactory(
+  store: Store<RootState>,
+  dispatch: Dispatch,
+  flags: LDFlagSet,
+  params: StartupMessage,
+  useConfirmResult: ReturnType<typeof useConfirm>,
+  useRemoteTokensResult: ReturnType<typeof useRemoteTokens>,
+) {
+  const activeTheme = typeof params.activeTheme === 'string' ? { [INTERNAL_THEMES_NO_GROUP]: params.activeTheme } : params.activeTheme;
+ 
+  const askUserIfRecoverLocalChanges = async () => {
+    const shouldRecoverLocalChanges = await useConfirmResult.confirm({
+      text: 'Recover local changes?',
+      description: 'You have local changes unsaved to the remote storage.',
+    });
+    return shouldRecoverLocalChanges;
+  };
+ 
+  const getApiCredentials = async (shouldPull: boolean, isRemoteStorage: boolean) => {
+    const state = store.getState();
+    const storageType = storageTypeSelector(state);
+ 
+    if (isRemoteStorage) {
+      const matchingSet = params.localApiProviders?.find((provider) => (
+        isSameCredentials(provider, storageType)
+      ));
+ 
+      if (matchingSet) {
+        // found API credentials
+        try {
+          const isMultifile = isGitProvider(matchingSet) && 'filePath' in matchingSet && !matchingSet.filePath.endsWith('.json');
+          track('Fetched from remote', { provider: matchingSet.provider, isMultifile });
+          if (!matchingSet.internalId) {
+            track('missingInternalId', { provider: matchingSet.provider });
+          }
+ 
+          if (
+            matchingSet.provider === StorageProviderType.GITHUB
+            || matchingSet.provider === StorageProviderType.GITLAB
+            || matchingSet.provider === StorageProviderType.ADO
+            || matchingSet.provider === StorageProviderType.BITBUCKET
+          ) {
+            const branches = await useRemoteTokensResult.fetchBranches(matchingSet);
+            if (branches) dispatch.branchState.setBranches(branches);
+          }
+ 
+          dispatch.uiState.setApiData(matchingSet);
+          dispatch.uiState.setLocalApiState(matchingSet);
+          // we don't want to update nodes if we're pulling from remote
+          dispatch.tokenState.setActiveTheme({ newActiveTheme: activeTheme || null, shouldUpdateNodes: false });
+          dispatch.tokenState.setCollapsedTokenSets(params.localTokenData?.collapsedTokenSets || []);
+ 
+          const remoteData = await useRemoteTokensResult.pullTokens({
+            context: matchingSet,
+            featureFlags: flags,
+            activeTheme,
+            usedTokenSet: params.localTokenData?.usedTokenSet,
+            collapsedTokenSets: params.localTokenData?.collapsedTokenSets,
+            updateLocalTokens: shouldPull,
+          });
+ 
+          if (shouldPull) {
+            // If there's no data stored on the remote, show a message - e.g. file doesn't exist.
+            if (!remoteData) {
+              notifyToUI('Failed to fetch tokens from remote storage', { error: true });
+              dispatch.uiState.setActiveTab(Tabs.START);
+              return;
+            }
+ 
+            if (remoteData?.status === 'failure') {
+              // If we have some error reading tokens, we let the user know - e.g. schema validation doesn't pass.
+              notifyToUI(remoteData.errorMessage, { error: true });
+              dispatch.uiState.setActiveTab(Tabs.START);
+            } else {
+              // If we succeeded we can move on to show the tokens screen
+              dispatch.uiState.setActiveTab(Tabs.TOKENS);
+            }
+          } else {
+            dispatch.uiState.setActiveTab(Tabs.TOKENS);
+          }
+        } catch (err) {
+          console.error(err);
+          Sentry.captureException(err);
+          dispatch.uiState.setActiveTab(Tabs.START);
+          dispatch.uiState.completeJob(BackgroundJobs.UI_PULLTOKENS);
+          notifyToUI('Failed to fetch tokens, check your credentials', { error: true });
+        }
+      } else {
+        // no API credentials available for storage type
+        dispatch.uiState.setActiveTab(Tabs.START);
+      }
+    } else if (params.localTokenData) {
+      if (params.localTokenData.tokenFormat) dispatch.tokenState.setTokenFormat(params.localTokenData.tokenFormat);
+      dispatch.tokenState.setTokenData({ ...params.localTokenData, activeTheme });
+      const existTokens = hasTokenValues(params.localTokenData.values);
+      if (existTokens) dispatch.uiState.setActiveTab(Tabs.TOKENS);
+      else dispatch.uiState.setActiveTab(Tabs.START);
+    }
+  };
+ 
+  return async () => {
+    const state = store.getState();
+    const storageType = storageTypeSelector(state);
+    const isRemoteStorage = [
+      StorageProviderType.ADO,
+      StorageProviderType.GITHUB,
+      StorageProviderType.GITLAB,
+      StorageProviderType.BITBUCKET,
+      StorageProviderType.JSONBIN,
+      StorageProviderType.GENERIC_VERSIONED_STORAGE,
+      StorageProviderType.URL,
+      StorageProviderType.SUPERNOVA,
+      StorageProviderType.TOKENS_STUDIO,
+    ].includes(storageType.provider);
+ 
+    const hasLocalData = params.localTokenData
+                         && Object.values(params.localTokenData?.values ?? {}).some((value) => value.length > 0);
+ 
+    // Check if storage is remote and local data is empty
+    if (isRemoteStorage && !hasLocalData) {
+      // Pull tokens from remote since local data is empty
+      await getApiCredentials(true, isRemoteStorage);
+    } else if (params.localTokenData) {
+      const checkForChanges = params.localTokenData.checkForChanges ?? false;
+ 
+      if (
+        !checkForChanges
+        || (
+          isRemoteStorage
+          && checkForChanges && (!await askUserIfRecoverLocalChanges())
+        )
+      ) {
+        // get API credentials
+        await getApiCredentials(true, isRemoteStorage);
+      } else {
+        if (params.localTokenData.tokenFormat) dispatch.tokenState.setTokenFormat(params.localTokenData.tokenFormat);
+        // User confirmed to recover local changes
+        dispatch.tokenState.setTokenData({ ...params.localTokenData, activeTheme });
+ 
+        if (hasLocalData) {
+          // local tokens found
+          await getApiCredentials(false, isRemoteStorage);
+        } else {
+          // no local tokens - go to start
+          dispatch.uiState.setActiveTab(Tabs.START);
+        }
+      }
+    } else {
+      // no local token values - go to start tab
+      dispatch.uiState.setActiveTab(Tabs.START);
+    }
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html new file mode 100644 index 000000000..31599d50b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer/startupProcessSteps savePluginDataFactory.ts

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { Dispatch } from '@/app/store';
+import type { StartupMessage } from '@/types/AsyncMessages';
+import { identify, track } from '@/utils/analytics';
+import * as pjs from '../../../../../package.json';
+ 
+export function savePluginDataFactory(dispatch: Dispatch, params: StartupMessage) {
+  return async () => {
+    const { user, usedEmail } = params;
+    if (user) {
+      // initiate analytics
+      if (user.userId) {
+        identify({
+          userId: user.userId,
+          figmaId: user.userId,
+          name: user.name,
+        });
+      }
+      track('Launched', { version: pjs.version });
+      const {
+        width, height, showEmptyGroups, ...rest
+      } = params.settings;
+      const settings = {
+        uiWindow: {
+          width,
+          height,
+          isMinimized: false,
+        },
+        ...rest,
+      };
+      dispatch.userState.setUserId(user.figmaId);
+      dispatch.userState.setUsedEmail(usedEmail ?? undefined);
+      dispatch.userState.setUserName(user.name);
+      dispatch.uiState.setLastOpened(params.lastOpened);
+      dispatch.uiState.setOnboardingExplainerSets(params.onboardingExplainer.sets);
+      dispatch.uiState.setOnboardingExplainerExportSets(params.onboardingExplainer.exportSets);
+      dispatch.uiState.setOnboardingExplainerSyncProviders(params.onboardingExplainer.syncProviders);
+      dispatch.uiState.setOnboardingExplainerInspect(params.onboardingExplainer.inspect);
+      dispatch.settings.setUISettings(settings);
+    } else {
+      throw new Error('User not found');
+    }
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html new file mode 100644 index 000000000..6e845c820 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer/startupProcessSteps saveStorageInformationFactory.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import useStorage from '@/app/store/useStorage';
+import type { Dispatch } from '@/app/store';
+import type { StartupMessage } from '@/types/AsyncMessages';
+ 
+export function saveStorageInformationFactory(
+  dispatch: Dispatch,
+  params: StartupMessage,
+  useStorageResult: ReturnType<typeof useStorage>,
+) {
+  return async () => {
+    const { setStorageType } = useStorageResult;
+    const providers = params.localApiProviders ?? [];
+    setStorageType({ provider: params.storageType });
+    dispatch.uiState.setAPIProviders(providers);
+    // Find first valid Tokens Studio provider and use its secret as PAT
+    const tokensStudioProvider = providers.find((provider) => provider.provider === 'tokensstudio' && provider.secret);
+    if (tokensStudioProvider?.secret) {
+      dispatch.userState.setTokensStudioPAT(tokensStudioProvider.secret);
+    }
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html new file mode 100644 index 000000000..f21995c38 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/app/components/AppContainer/useStartupProcess.ts + + + + + + + + + +
+
+

All files / src/app/components/AppContainer useStartupProcess.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  useEffect,
+  useMemo,
+} from 'react';
+import { useDispatch, useStore } from 'react-redux';
+import { useLDClient } from 'launchdarkly-react-client-sdk';
+import { LDClient } from 'launchdarkly-js-client-sdk';
+import { StartupMessage } from '@/types/AsyncMessages';
+import { useProcess } from '@/hooks';
+import { ApplicationInitSteps } from './ApplicationInitSteps';
+import { Dispatch, RootState } from '@/app/store';
+import {
+  addLicenseFactory, savePluginDataFactory, getLdFlagsFactory, saveStorageInformationFactory, pullTokensFactory,
+} from './startupProcessSteps';
+import useStorage from '@/app/store/useStorage';
+import { useFlags } from '../LaunchDarkly';
+import useConfirm from '@/app/hooks/useConfirm';
+import useRemoteTokens from '@/app/store/remoteTokens';
+ 
+let ldClientPromiseResolver: (client: LDClient) => void;
+const ldClientPromise = new Promise<LDClient>((resolve) => {
+  ldClientPromiseResolver = resolve;
+});
+ 
+export function useStartupProcess(params: StartupMessage) {
+  const ldClient = useLDClient();
+  const store = useStore<RootState>();
+  const dispatch = useDispatch<Dispatch>();
+  const useStorageResult = useStorage();
+  const useConfirmResult = useConfirm();
+  const useRemoteTokensResult = useRemoteTokens();
+  const flags = useFlags();
+ 
+  const startupProcess = useProcess<ApplicationInitSteps>(useMemo(() => ([
+    {
+      key: ApplicationInitSteps.SAVE_PLUGIN_DATA,
+      fn: savePluginDataFactory(dispatch, params),
+    },
+    {
+      key: ApplicationInitSteps.ADD_LICENSE,
+      fn: addLicenseFactory(dispatch, params),
+    },
+    {
+      key: ApplicationInitSteps.GET_LD_FLAGS,
+      fn: getLdFlagsFactory(store, ldClientPromise, params),
+    },
+    {
+      key: ApplicationInitSteps.SAVE_STORAGE_INFORMATION,
+      fn: saveStorageInformationFactory(dispatch, params, useStorageResult),
+    },
+    {
+      key: ApplicationInitSteps.PULL_TOKENS,
+      fn: pullTokensFactory(store, dispatch, flags, params, useConfirmResult, useRemoteTokensResult),
+    },
+  // disabling as we don't want some of those deps to trigger the process
+  // eslint-disable-next-line react-hooks/exhaustive-deps
+  ]), [params, store, flags]));
+ 
+  useEffect(() => {
+    if (ldClient) {
+      ldClientPromiseResolver(ldClient);
+    }
+  }, [ldClient]);
+ 
+  return startupProcess;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html new file mode 100644 index 000000000..63f6b8b85 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html @@ -0,0 +1,505 @@ + + + + + + Code coverage report for src/app/components/ApplySelector.tsx + + + + + + + + + +
+
+

All files / src/app/components ApplySelector.tsx

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import React from 'react';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, DropdownMenu, Stack,
+} from '@tokens-studio/ui';
+import { Check } from 'iconoir-react';
+import { Dispatch } from '../store';
+import IconChevronDown from '@/icons/chevrondown.svg';
+import { settingsStateSelector } from '@/selectors';
+import { isEqual } from '@/utils/isEqual';
+import { UpdateMode } from '@/constants/UpdateMode';
+import useTokens from '../store/useTokens';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+ 
+export default function ApplySelector() {
+  const { updateMode, applyVariablesStylesOrRawValue } = useSelector(settingsStateSelector, isEqual);
+  const { t } = useTranslation(['tokens']);
+ 
+  const { handleUpdate } = useTokens();
+ 
+  const { setUpdateMode, setApplyVariablesStyleOrRawValue } = useDispatch<Dispatch>().settings;
+ 
+  const handleApplySelection = React.useCallback(() => {
+    setUpdateMode(UpdateMode.SELECTION);
+  }, [setUpdateMode]);
+ 
+  const handleApplyPage = React.useCallback(() => {
+    setUpdateMode(UpdateMode.PAGE);
+  }, [setUpdateMode]);
+ 
+  const handleApplyDocument = React.useCallback(() => {
+    setUpdateMode(UpdateMode.DOCUMENT);
+  }, [setUpdateMode]);
+ 
+  const handlePreferVariablesStyles = React.useCallback(() => {
+    setApplyVariablesStyleOrRawValue(ApplyVariablesStylesOrRawValues.VARIABLES_STYLES);
+  }, [setApplyVariablesStyleOrRawValue]);
+ 
+  const handlePreferRawValues = React.useCallback(() => {
+    setApplyVariablesStyleOrRawValue(ApplyVariablesStylesOrRawValues.RAW_VALUES);
+  }, [setApplyVariablesStyleOrRawValue]);
+ 
+  return (
+    <Stack direction="row">
+      <Button
+        data-testid="update-button"
+        variant="primary"
+        size="small"
+        css={{
+          borderTopRightRadius: 0,
+          borderBottomRightRadius: 0,
+          borderRightColor: 'transparent',
+        }}
+        onClick={handleUpdate}
+      >
+        {t('applyTo.button')}
+        {' '}
+        {updateMode}
+      </Button>
+      <DropdownMenu>
+        <DropdownMenu.Trigger
+          asChild
+          data-testid="apply-selector"
+        >
+          <Button
+            variant="primary"
+            size="small"
+            css={{
+              borderTopLeftRadius: 0,
+              borderBottomLeftRadius: 0,
+              borderLeftColor: 'rgba(255, 255, 255, 0.2)',
+              width: '$controlSmall',
+              justifyContent: 'center',
+            }}
+          >
+            <IconChevronDown />
+          </Button>
+        </DropdownMenu.Trigger>
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content side="top" css={{ maxWidth: '350px' }}>
+            <DropdownMenu.Label>{t('applyTo.applyCurrentTokensTo')}</DropdownMenu.Label>
+            <DropdownMenu.RadioGroup value={updateMode}>
+              <DropdownMenu.RadioItem
+                data-testid="apply-to-selection"
+                value={UpdateMode.SELECTION}
+                onSelect={handleApplySelection}
+              >
+                <DropdownMenu.ItemIndicator>
+                  <Check />
+                </DropdownMenu.ItemIndicator>
+                {t('applyTo.selection.title')}
+              </DropdownMenu.RadioItem>
+              <DropdownMenu.RadioItem data-testid="apply-to-page" value={UpdateMode.PAGE} onSelect={handleApplyPage}>
+                <DropdownMenu.ItemIndicator>
+                  <Check />
+                </DropdownMenu.ItemIndicator>
+                {t('applyTo.page.title')}
+              </DropdownMenu.RadioItem>
+              <DropdownMenu.RadioItem
+                data-testid="apply-to-document"
+                value={UpdateMode.DOCUMENT}
+                onSelect={handleApplyDocument}
+              >
+                <DropdownMenu.ItemIndicator>
+                  <Check />
+                </DropdownMenu.ItemIndicator>
+                {t('applyTo.document.title')}
+              </DropdownMenu.RadioItem>
+            </DropdownMenu.RadioGroup>
+            <DropdownMenu.Separator />
+            <DropdownMenu.Label>{t('applyTo.applyCurrentTokensAs')}</DropdownMenu.Label>
+            <DropdownMenu.RadioGroup value={applyVariablesStylesOrRawValue}>
+              <DropdownMenu.RadioItem
+                data-testid="apply-variables-styles"
+                value={ApplyVariablesStylesOrRawValues.VARIABLES_STYLES}
+                onSelect={handlePreferVariablesStyles}
+              >
+                <DropdownMenu.ItemIndicator>
+                  <Check />
+                </DropdownMenu.ItemIndicator>
+                {t('applyTo.variablesStyles.title')}
+              </DropdownMenu.RadioItem>
+              <DropdownMenu.RadioItem
+                data-testid="apply-raw-values"
+                value={ApplyVariablesStylesOrRawValues.RAW_VALUES}
+                onSelect={handlePreferRawValues}
+              >
+                <DropdownMenu.ItemIndicator>
+                  <Check />
+                </DropdownMenu.ItemIndicator>
+                {t('applyTo.rawValues.title')}
+              </DropdownMenu.RadioItem>
+            </DropdownMenu.RadioGroup>
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html new file mode 100644 index 000000000..b1142ce0f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/components/AuthModal + + + + + + + + + +
+
+

All files src/app/components/AuthModal

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/180%0/160%0/40%0/18
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html new file mode 100644 index 000000000..2c8edc97c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html @@ -0,0 +1,415 @@ + + + + + + Code coverage report for src/app/components/AuthModal/index.tsx + + + + + + + + + +
+
+

All files / src/app/components/AuthModal index.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { ChangeEvent, useCallback, useState } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import {
+  Box, Button, Label, Stack, TextInput, Link, Text,
+} from '@tokens-studio/ui';
+import { ChevronLeftIcon } from '@radix-ui/react-icons';
+import { useAuth } from '@/context/AuthContext';
+import { secondScreenSelector } from '@/selectors/secondScreenSelector';
+import Modal from '../Modal';
+import { Dispatch } from '@/app/store';
+import { usedEmailSelector } from '@/selectors/usedEmailSelector';
+ 
+enum AuthModes {
+  LOGIN = 'login',
+  SIGNUP = 'signup',
+}
+ 
+export default function AuthModal() {
+  const {
+    user, authInProgress, logIn, signUp, authError, setAuthError,
+  } = useAuth();
+  const dispatch = useDispatch<Dispatch>();
+  const [mode, setMode] = useState<AuthModes>(AuthModes.LOGIN);
+  const secondScreenEnabled = useSelector(secondScreenSelector);
+  const usedEmail = useSelector(usedEmailSelector);
+ 
+  const [values, setValues] = React.useState({
+    email: usedEmail || '',
+    password: '',
+  });
+ 
+  const handleChange = useCallback(
+    (e: ChangeEvent<HTMLInputElement>) => {
+      const { name, value } = e.target;
+      setValues({
+        ...values,
+        [name]: value,
+      });
+    },
+    [setValues, values],
+  );
+ 
+  const onCtaClick = useCallback(() => {
+    setMode(mode === AuthModes.LOGIN ? AuthModes.SIGNUP : AuthModes.LOGIN);
+    setValues({ email: '', password: '' });
+    setAuthError('');
+  }, [mode, setAuthError]);
+ 
+  const onSubmitButtonClick = useCallback(() => {
+    if (mode === 'login') {
+      logIn(values);
+    } else {
+      signUp(values);
+    }
+  }, [mode, logIn, signUp, values]);
+ 
+  return (
+    <Modal
+      title={mode === AuthModes.LOGIN ? 'Log in' : 'Sign up'}
+      showClose
+      close={dispatch.uiState.toggleSecondScreen}
+      isOpen={secondScreenEnabled && !user}
+    >
+      <Stack direction="column" align="start" gap={5}>
+        <Label css={{ width: '100%' }}>
+          Email
+          <TextInput name="email" type="email" value={values.email} onChange={handleChange} />
+        </Label>
+        <Label css={{ width: '100%' }}>
+          Password
+          <TextInput name="password" type="password" value={values.password} onChange={handleChange} />
+        </Label>
+        <Button loading={authInProgress} variant="primary" onClick={onSubmitButtonClick}>
+          {mode === AuthModes.LOGIN ? 'Log in' : 'Sign up'}
+        </Button>
+        {mode === AuthModes.LOGIN && (
+          <>
+            <Box css={{ display: 'flex', gap: '$3', alignItems: 'center' }}>
+              <Text>Do not have an account ?</Text>
+              <Button size="small" onClick={onCtaClick}>
+                Sign up here
+              </Button>
+ 
+            </Box>
+            <Box css={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
+              <Link target="_blank" href={`${process.env.SECOND_SCREEN_APP_URL}/password-recovery`} rel="noreferrer">Forgot password ?</Link>
+            </Box>
+          </>
+        )}
+        {mode === AuthModes.SIGNUP && (
+        <Button icon={<ChevronLeftIcon />} size="small" variant="invisible" onClick={onCtaClick}>
+          Back to login
+        </Button>
+        )}
+ 
+        <Box
+          css={{
+            display: 'flex',
+            color: '$dangerFg',
+            fontSize: '$xsmall',
+            width: '100%',
+            justifyContent: 'center',
+          }}
+        >
+          {authError}
+        </Box>
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html new file mode 100644 index 000000000..5db92f933 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/app/components/BorderTokenDownShiftInput.tsx + + + + + + + + + +
+
+

All files / src/app/components BorderTokenDownShiftInput.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import DownshiftInput from './DownshiftInput';
+import { getLabelForProperty } from '@/utils/getLabelForProperty';
+import { getAliasValue } from '@/utils/alias';
+import { ColorPickerTrigger } from './ColorPickerTrigger';
+ 
+export default function BorderTokenDownShiftInput({
+  name,
+  value,
+  type,
+  resolvedTokens,
+  handleChange,
+  setInputValue,
+  handleToggleInputHelper,
+  onSubmit,
+}: {
+  name: string;
+  value: string;
+  type: string;
+  resolvedTokens: ResolveTokenValuesResult[];
+  handleChange: (property: string, value: string) => void;
+  setInputValue: (newInputValue: string, property: string) => void;
+  handleToggleInputHelper?: () => void;
+  onSubmit: () => void;
+}) {
+  const [resolvedColor, setResolvedColor] = React.useState<string>(value ? String(value) : '');
+ 
+  React.useEffect(() => {
+    if (name === 'color' && value && value.startsWith('{')) {
+      const aliasValue = getAliasValue(value, resolvedTokens);
+      setResolvedColor(aliasValue ? String(aliasValue) : '');
+    } else {
+      setResolvedColor(typeof value === 'string' ? value : '');
+    }
+  }, [value, resolvedTokens, name]);
+ 
+  const handleBorderDownShiftInputChange = React.useCallback(
+    (newInputValue: string) => setInputValue(newInputValue, name),
+    [name, setInputValue],
+  );
+  const getIconComponent = React.useMemo(() => getLabelForProperty(name), [name]);
+ 
+  const { t } = useTranslation(['tokens']);
+  const mapTypeToPlaceHolder = {
+    color: t('forms.border.color'),
+    width: t('forms.border.width'),
+    style: 'solid | dashed',
+  };
+ 
+  return (
+    <DownshiftInput
+      name={name}
+      value={value}
+      type={type}
+      label={getIconComponent}
+      inlineLabel
+      resolvedTokens={resolvedTokens}
+      handleChange={handleChange}
+      setInputValue={handleBorderDownShiftInputChange}
+      placeholder={mapTypeToPlaceHolder[name as keyof typeof mapTypeToPlaceHolder] as unknown as string}
+      prefix={
+        name === 'color' && (
+          <ColorPickerTrigger onClick={handleToggleInputHelper} background={resolvedColor} />
+        )
+      }
+      suffix
+      onSubmit={onSubmit}
+    />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html new file mode 100644 index 000000000..27cbb114b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html @@ -0,0 +1,517 @@ + + + + + + Code coverage report for src/app/components/BorderTokenForm.tsx + + + + + + + + + +
+
+

All files / src/app/components BorderTokenForm.tsx

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/39 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useState } from 'react';
+import { useUIDSeed } from 'react-uid';
+import get from 'just-safe-get';
+import { TokensIcon, LinkBreak2Icon } from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import { IconButton, Heading } from '@tokens-studio/ui';
+import { EditTokenObject, SingleBorderToken } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import Stack from './Stack';
+import BorderTokenDownShiftInput from './BorderTokenDownShiftInput';
+import ColorPicker from './ColorPicker';
+import DownshiftInput from './DownshiftInput';
+import ResolvedTokenDisplay from './ResolvedTokenDisplay';
+import { checkIfContainsAlias } from '@/utils/alias';
+import { findReferences } from '@/utils/findReferences';
+ 
+const propertyTypes = {
+  color: TokenTypes.COLOR,
+  width: TokenTypes.BORDER_WIDTH,
+  style: 'strokeStyle',
+};
+ 
+export default function BorderTokenForm({
+  internalEditToken,
+  resolvedTokens,
+  handleBorderValueChange,
+  handleBorderValueDownShiftInputChange,
+  handleBorderAliasValueChange,
+  handleDownShiftInputChange,
+  setBorderValue,
+  onSubmit,
+}: {
+  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.BORDER }>;
+  resolvedTokens: ResolveTokenValuesResult[];
+  handleBorderValueChange: (newInputValue: string, property: string) => void;
+  handleBorderValueDownShiftInputChange: (newInputValue: string, property: string) => void;
+  handleBorderAliasValueChange: (property: string, value: string) => void;
+  handleDownShiftInputChange: (newInputValue: string) => void;
+  setBorderValue: (newBorderValue: SingleBorderToken['value']) => void;
+  onSubmit: () => void;
+}) {
+  const seed = useUIDSeed();
+  const isAliasMode = internalEditToken.value && typeof internalEditToken.value === 'string';
+  const [mode, setMode] = useState(isAliasMode ? 'alias' : 'input');
+  const [alias, setAlias] = useState('');
+  const { t } = useTranslation(['tokens']);
+  const [inputHelperOpen, setInputHelperOpen] = useState<boolean>(false);
+ 
+  const selectedToken = React.useMemo<SingleBorderToken | null>(() => {
+    const search = findReferences(String(internalEditToken.value));
+    if (search && search.length > 0) {
+      const foundToken = resolvedTokens.find((t) => t.name === search[0]);
+      if (foundToken) return foundToken as SingleBorderToken;
+    }
+    return null;
+  }, [internalEditToken, resolvedTokens]);
+ 
+  const handleToggleInputHelper = React.useCallback(() => setInputHelperOpen(!inputHelperOpen), [inputHelperOpen]);
+  const onColorChange = React.useCallback(
+    (color: string) => {
+      handleBorderValueDownShiftInputChange(color, 'color');
+    },
+    [handleBorderValueDownShiftInputChange],
+  );
+ 
+  const handleMode = React.useCallback(() => {
+    if (mode === 'alias' && typeof internalEditToken.value === 'string') {
+      setBorderValue(selectedToken?.rawValue ?? {});
+    }
+    setMode(mode === 'input' ? 'alias' : 'input');
+    setAlias('');
+  }, [mode, selectedToken, internalEditToken, setBorderValue]);
+ 
+  return (
+    <Stack direction="column" gap={2}>
+      <Stack direction="row" gap={2} justify="between" align="center">
+        <Heading>{t('value')}</Heading>
+        {mode === 'input' ? (
+          <IconButton
+            tooltip={t('reference-mode')}
+            data-testid="mode-change-button"
+            onClick={handleMode}
+            icon={<TokensIcon />}
+          />
+        ) : (
+          <IconButton
+            tooltip={t('input-mode')}
+            data-testid="mode-change-button"
+            onClick={handleMode}
+            icon={<LinkBreak2Icon />}
+          />
+        )}
+      </Stack>
+      {mode === 'input' && internalEditToken.schema.schemas.value.type === 'object' ? (
+        <Stack gap={2} direction="column">
+          {Object.entries(internalEditToken.schema.schemas.value.properties ?? {}).map(([key], keyIndex) => (
+            <React.Fragment key={`border-input-fragment-${seed(keyIndex)}`}>
+              <BorderTokenDownShiftInput
+                name={key}
+                key={`border-input-${seed(keyIndex)}`}
+                value={typeof internalEditToken.value === 'object' ? get(internalEditToken.value, key, '') : ''}
+                type={propertyTypes[key as keyof typeof propertyTypes]}
+                resolvedTokens={resolvedTokens}
+                handleChange={handleBorderValueChange}
+                setInputValue={handleBorderValueDownShiftInputChange}
+                handleToggleInputHelper={handleToggleInputHelper}
+                onSubmit={onSubmit}
+              />
+              {inputHelperOpen && key === 'color' && (
+                <ColorPicker
+                  value={typeof internalEditToken.value === 'object' && get(internalEditToken.value, key, '')}
+                  onChange={onColorChange}
+                />
+              )}
+            </React.Fragment>
+          ))}
+        </Stack>
+      ) : (
+        <Stack direction="column" gap={2}>
+          <DownshiftInput
+            value={!isAliasMode ? '' : String(internalEditToken.value)}
+            type={internalEditToken.type}
+            label={internalEditToken.schema.property}
+            inlineLabel
+            resolvedTokens={resolvedTokens}
+            initialName={internalEditToken.initialName}
+            handleChange={handleBorderAliasValueChange}
+            setInputValue={handleDownShiftInputChange}
+            placeholder={t('valueOrAlias')}
+            suffix
+            onSubmit={onSubmit}
+          />
+ 
+          {isAliasMode
+            && typeof internalEditToken.value === 'string'
+            && checkIfContainsAlias(internalEditToken.value) && (
+              <ResolvedTokenDisplay alias={alias} selectedToken={selectedToken} />
+          )}
+        </Stack>
+      )}
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html new file mode 100644 index 000000000..03d0223d1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/components/Box.tsx + + + + + + + + + +
+
+

All files / src/app/components Box.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+const Box = styled('div', {});
+ 
+export default Box;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html new file mode 100644 index 000000000..90bdca59c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html @@ -0,0 +1,628 @@ + + + + + + Code coverage report for src/app/components/BoxShadowInput.tsx + + + + + + + + + +
+
+

All files / src/app/components BoxShadowInput.tsx

+
+ +
+ 0% + Statements + 0/35 +
+ + +
+ 0% + Branches + 0/45 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useState } from 'react';
+import compact from 'just-compact';
+import { HTML5Backend } from 'react-dnd-html5-backend';
+import { DndProvider } from 'react-dnd';
+import { TokensIcon, LinkBreak2Icon } from '@radix-ui/react-icons';
+import { useUIDSeed } from 'react-uid';
+import { IconButton, Heading } from '@tokens-studio/ui';
+import { checkIfContainsAlias } from '@/utils/alias';
+import { findReferences } from '@/utils/findReferences';
+import IconPlus from '@/icons/plus.svg';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import Box from './Box';
+import ResolvedTokenDisplay from './ResolvedTokenDisplay';
+import DownshiftInput from './DownshiftInput';
+import { TokenBoxshadowValue } from '@/types/values';
+import { TokenTypes } from '@/constants/TokenTypes';
+import SingleBoxShadowInput, { newTokenValue } from './SingleBoxShadowInput';
+import { EditTokenObject } from '@/types/tokens';
+ 
+type EditTokenType = Extract<EditTokenObject, { type: TokenTypes.BOX_SHADOW }>;
+ 
+export default function BoxShadowInput({
+  resolvedTokens,
+  internalEditToken,
+  handleBoxShadowValueChange,
+  handleBoxShadowAliasValueChange,
+  handleDownShiftInputChange,
+  onSubmit,
+}: {
+  resolvedTokens: ResolveTokenValuesResult[];
+  internalEditToken: EditTokenType;
+  handleBoxShadowValueChange: (shadow: TokenBoxshadowValue | TokenBoxshadowValue[]) => void;
+  handleBoxShadowAliasValueChange: (property: string, value: string) => void;
+  handleDownShiftInputChange: (newInputValue: string) => void;
+  onSubmit: () => void
+}) {
+  const seed = useUIDSeed();
+  const isAliasMode = (internalEditToken.value && typeof internalEditToken.value === 'string');
+  const [mode, setMode] = useState(isAliasMode ? 'alias' : 'input');
+  const [alias, setAlias] = useState('');
+ 
+  const handleMode = React.useCallback(() => {
+    const changeMode = (mode === 'input') ? 'alias' : 'input';
+    setMode(changeMode);
+    setAlias('');
+  }, [mode]);
+ 
+  const selectedToken = React.useMemo(() => {
+    const search = findReferences(typeof internalEditToken.value === 'string' ? internalEditToken.value : '');
+    if (search && search.length > 0) {
+      const foundToken = resolvedTokens.find((t) => t.name === search[0]);
+      if (foundToken) return foundToken;
+    }
+    return null;
+  }, [internalEditToken, resolvedTokens]);
+ 
+  const mappedItems = React.useMemo(() => {
+    if (typeof internalEditToken.value === 'string' && selectedToken) return selectedToken.value as TokenBoxshadowValue | TokenBoxshadowValue[];
+    if (typeof internalEditToken.value !== 'string') return internalEditToken.value;
+    return undefined;
+  }, [internalEditToken.value, selectedToken]);
+ 
+  const addShadow = React.useCallback(() => {
+    if (Array.isArray(internalEditToken.value)) {
+      handleBoxShadowValueChange([...internalEditToken.value, newTokenValue]);
+    } else if (typeof internalEditToken.value === 'undefined' || typeof internalEditToken.value === 'string') {
+      handleBoxShadowValueChange(compact([newTokenValue, newTokenValue]));
+    } else if (typeof internalEditToken.value !== 'string') {
+      handleBoxShadowValueChange(compact([internalEditToken.value, newTokenValue]));
+    }
+  }, [internalEditToken, handleBoxShadowValueChange]);
+ 
+  const removeShadow = React.useCallback((index: number) => {
+    if (Array.isArray(internalEditToken.value) && internalEditToken.value.length > 1) {
+      handleBoxShadowValueChange(internalEditToken.value.filter((_, i) => i !== index));
+    }
+  }, [internalEditToken, handleBoxShadowValueChange]);
+ 
+  return (
+    <div>
+      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
+        <Heading size="small">Shadow</Heading>
+        <Box css={{ display: 'flex' }}>
+          {mode === 'input' ? (
+            <>
+              <IconButton
+                tooltip="Reference mode"
+                data-testid="mode-change-button"
+                onClick={handleMode}
+                icon={<TokensIcon />}
+                variant="invisible"
+                size="small"
+              />
+              <IconButton
+                tooltip="Add another shadow"
+                data-testid="button-shadow-add-multiple"
+                onClick={addShadow}
+                icon={<IconPlus />}
+                variant="invisible"
+                size="small"
+              />
+            </>
+          ) : (
+            <IconButton
+              tooltip="Input mode"
+              data-testid="mode-change-button"
+              onClick={handleMode}
+              icon={<LinkBreak2Icon />}
+              variant="invisible"
+              size="small"
+            />
+          )}
+        </Box>
+      </Box>
+      <Box css={{ display: 'flex', flexDirection: 'column', gap: '$4' }}>
+        {
+          mode === 'input' ? (
+            <DndProvider backend={HTML5Backend}>
+              {Array.isArray(mappedItems) ? (
+                mappedItems.map((token, index) => (
+                  <SingleBoxShadowInput
+                    isMultiple
+                    value={mappedItems}
+                    handleBoxShadowValueChange={handleBoxShadowValueChange}
+                    shadowItem={token}
+                    index={index}
+                    id={String(index)}
+                    key={`single-shadow-${seed(index)}`}
+                    onRemove={removeShadow}
+                    resolvedTokens={resolvedTokens}
+                    onSubmit={onSubmit}
+                  />
+                ))
+              ) : (
+                <SingleBoxShadowInput
+                  handleBoxShadowValueChange={handleBoxShadowValueChange}
+                  index={0}
+                  value={mappedItems}
+                  shadowItem={mappedItems}
+                  onRemove={removeShadow}
+                  resolvedTokens={resolvedTokens}
+                  onSubmit={onSubmit}
+                />
+              )}
+            </DndProvider>
+          ) : (
+            <Box css={{
+              display: 'flex', flexDirection: 'column', gap: '$2',
+            }}
+            >
+              <DownshiftInput
+                value={!isAliasMode ? '' : String(internalEditToken.value)}
+                type={internalEditToken.type}
+                label={TokenTypes.BOX_SHADOW}
+                inlineLabel
+                resolvedTokens={resolvedTokens}
+                initialName={internalEditToken.initialName}
+                handleChange={handleBoxShadowAliasValueChange}
+                setInputValue={handleDownShiftInputChange}
+                placeholder="Value or {alias}"
+                suffix
+                onSubmit={onSubmit}
+              />
+              {(
+                isAliasMode
+                && selectedToken
+                && typeof internalEditToken.value === 'string'
+                && checkIfContainsAlias(internalEditToken.value)
+              ) && (
+              <ResolvedTokenDisplay
+                alias={alias}
+                selectedToken={selectedToken}
+              />
+              )}
+            </Box>
+          )
+        }
+      </Box>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html new file mode 100644 index 000000000..3a11b38a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html @@ -0,0 +1,814 @@ + + + + + + Code coverage report for src/app/components/BranchSelector.tsx + + + + + + + + + +
+
+

All files / src/app/components BranchSelector.tsx

+
+ +
+ 0% + Statements + 0/66 +
+ + +
+ 0% + Branches + 0/35 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useEffect, useState } from 'react';
+import { useSelector, useDispatch } from 'react-redux';
+import { ChevronRightIcon } from '@radix-ui/react-icons';
+import { GitBranchIcon } from '@primer/octicons-react';
+import { useUIDSeed } from 'react-uid';
+import { useTranslation } from 'react-i18next';
+import { Button, DropdownMenu } from '@tokens-studio/ui';
+import {
+  branchSelector,
+  localApiStateBranchSelector,
+  apiSelector,
+  usedTokenSetSelector,
+  localApiStateSelector,
+  activeThemeSelector,
+} from '@/selectors';
+import useRemoteTokens from '../store/remoteTokens';
+import useConfirm from '@/app/hooks/useConfirm';
+import useStorage from '@/app/store/useStorage';
+import CreateBranchModal from './modals/CreateBranchModal';
+import { Dispatch } from '../store';
+import { BranchSwitchMenuRadioElement } from './BranchSwitchMenuRadioElement';
+import { isGitProvider } from '@/utils/is';
+import ProBadge from './ProBadge';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { StorageTypeCredentials } from '@/types/StorageType';
+import { track } from '@/utils/analytics';
+import { useChangedState } from '@/hooks/useChangedState';
+import { useIsProUser } from '../hooks/useIsProUser';
+ 
+const BranchSwitchMenuItemElement: React.FC<
+React.PropsWithChildren<
+React.PropsWithChildren<{
+  branch: string;
+  createNewBranchFrom: (branch: string) => void;
+}>
+>
+> = ({ branch, createNewBranchFrom }) => {
+  const onSelect = React.useCallback(() => createNewBranchFrom(branch), [branch, createNewBranchFrom]);
+ 
+  return (
+    <DropdownMenu.Item
+      data-testid={`branch-selector-create-branch-from-branch-${branch}`}
+      onSelect={onSelect}
+      css={{ position: 'relative' }}
+    >
+      {branch}
+    </DropdownMenu.Item>
+  );
+};
+ 
+export default function BranchSelector() {
+  const seed = useUIDSeed();
+  const { confirm } = useConfirm();
+  const { pullTokens, pushTokens } = useRemoteTokens();
+  const dispatch = useDispatch<Dispatch>();
+  const isProUser = useIsProUser();
+  const { setStorageType } = useStorage();
+ 
+  const branchState = useSelector(branchSelector);
+  const localApiState = useSelector(localApiStateSelector);
+  const localApiStateBranch = useSelector(localApiStateBranchSelector);
+  const apiData = useSelector(apiSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const { t } = useTranslation(['branch', 'licence']);
+  const [currentBranch, setCurrentBranch] = useState(localApiStateBranch);
+  const [startBranch, setStartBranch] = useState<string | null>(null);
+  const [createBranchModalVisible, setCreateBranchModalVisible] = useState(false);
+  const [isCurrentChanges, setIsCurrentChanges] = useState(false);
+  const { hasChanges } = useChangedState();
+ 
+  useEffect(() => {
+    setCurrentBranch(localApiStateBranch);
+  }, [localApiStateBranch, setCurrentBranch]);
+ 
+  const askUserIfPushChanges = React.useCallback(async () => {
+    const confirmResult = await confirm({
+      text: t('unSavedChanges') as string,
+      description: t('ifYouCreate') as string,
+      confirmAction: t('discardChanges') as string,
+      cancelAction: t('cancel') as string,
+    });
+    if (confirmResult) {
+      return confirmResult.result;
+    }
+    return null;
+  }, [confirm, t]);
+ 
+  const createBranchByChange = React.useCallback(() => {
+    track('Create new branch from current changes');
+    setIsCurrentChanges(true);
+    setStartBranch(currentBranch ?? null);
+    setCreateBranchModalVisible(true);
+  }, [currentBranch]);
+ 
+  const createNewBranchFrom = React.useCallback(
+    async (branch: string) => {
+      track('Create new branch from specific branch');
+ 
+      if (hasChanges && (await askUserIfPushChanges())) {
+        await pushTokens();
+      }
+ 
+      setStartBranch(branch);
+      setCreateBranchModalVisible(true);
+    },
+    [hasChanges, askUserIfPushChanges, pushTokens],
+  );
+ 
+  const changeAndPull = React.useCallback(
+    async (branch: string) => {
+      if (isGitProvider(apiData) && isGitProvider(localApiState)) {
+        setCurrentBranch(branch);
+        dispatch.uiState.setApiData({ ...apiData, branch });
+        dispatch.uiState.setLocalApiState({ ...localApiState, branch });
+        await pullTokens({
+          context: { ...apiData, branch }, usedTokenSet, activeTheme, updateLocalTokens: true,
+        });
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: { ...apiData, branch },
+        });
+        setStorageType({ provider: { ...apiData, branch } as StorageTypeCredentials, shouldSetInDocument: true });
+      }
+    },
+    [apiData, localApiState, pullTokens, usedTokenSet, activeTheme, dispatch],
+  );
+ 
+  const onBranchSelected = React.useCallback(
+    async (branch: string) => {
+      track('Branch changed');
+      if (hasChanges) {
+        if (await askUserIfPushChanges()) {
+          await changeAndPull(branch);
+        }
+      } else {
+        await changeAndPull(branch);
+      }
+    },
+    [hasChanges, askUserIfPushChanges, changeAndPull],
+  );
+ 
+  // @params
+  /*
+   ** branch: branch name which is just created.
+   ** branches: a list of branch names before new branch is created.
+   */
+  const onCreateBranchModalSuccess = React.useCallback(
+    (branch: string, branches: string[]) => {
+      setCreateBranchModalVisible(false);
+      setCurrentBranch(branch);
+      if (isGitProvider(apiData) && isGitProvider(localApiState)) {
+        dispatch.branchState.setBranches(branches.includes(branch) ? branches : [...branches, branch]);
+        dispatch.uiState.setApiData({ ...apiData, branch });
+        dispatch.uiState.setLocalApiState({ ...localApiState, branch });
+      }
+    },
+    [dispatch, apiData, localApiState],
+  );
+ 
+  const handleCloseModal = React.useCallback(() => {
+    setCreateBranchModalVisible(false);
+  }, []);
+ 
+  return currentBranch ? (
+    <>
+      <DropdownMenu>
+        <DropdownMenu.Trigger asChild data-testid="branch-selector-menu-trigger">
+          <Button size="small" variant="invisible" icon={<GitBranchIcon />}>
+            {currentBranch}
+          </Button>
+        </DropdownMenu.Trigger>
+ 
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content side="top" sideOffset={0} className="content scroll-container" css={{ maxWidth: '70vw' }}>
+            <DropdownMenu.Sub>
+              <DropdownMenu.SubTrigger
+                data-testid="branch-selector-create-new-branch-trigger"
+                disabled={!isProUser}
+              >
+                {t('createNewBranch')}
+                <DropdownMenu.TrailingVisual>
+                  <ChevronRightIcon />
+                </DropdownMenu.TrailingVisual>
+              </DropdownMenu.SubTrigger>
+              <DropdownMenu.SubContent>
+                {hasChanges && (
+                  <DropdownMenu.Item
+                    data-testid="branch-selector-create-new-branch-from-current-change"
+                    onSelect={createBranchByChange}
+                  >
+                    {t('currentChanges')}
+                  </DropdownMenu.Item>
+                )}
+                {branchState.branches.length > 0
+                  && branchState.branches.map((branch, index) => (
+                    <BranchSwitchMenuItemElement
+                      key={seed(index)}
+                      branch={branch}
+                      createNewBranchFrom={createNewBranchFrom}
+                    />
+                  ))}
+              </DropdownMenu.SubContent>
+            </DropdownMenu.Sub>
+            <DropdownMenu.Separator />
+            {!isProUser && (
+              <>
+                <DropdownMenu.Item css={{ display: 'flex', justifyContent: 'space-between' }}>
+                  <span>{t('upgradeToPro', { ns: 'licence' })}</span>
+                  <ProBadge campaign="branch-selector" compact />
+                </DropdownMenu.Item>
+                <DropdownMenu.Separator />
+              </>
+            )}
+            <DropdownMenu.RadioGroup value={currentBranch}>
+              {branchState.branches.length > 0
+                && branchState.branches.map((branch, index) => (
+                  <BranchSwitchMenuRadioElement
+                    disabled={!isProUser}
+                    key={`radio_${seed(index)}`}
+                    branch={branch}
+                    branchSelected={onBranchSelected}
+                  />
+                ))}
+            </DropdownMenu.RadioGroup>
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+      {createBranchModalVisible && startBranch && (
+        <CreateBranchModal
+          isOpen={createBranchModalVisible}
+          onClose={handleCloseModal}
+          onSuccess={onCreateBranchModalSuccess}
+          startBranch={startBranch}
+          isCurrentChanges={isCurrentChanges}
+        />
+      )}
+    </>
+  ) : (
+    <div />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html new file mode 100644 index 000000000..353dc2c39 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/app/components/BranchSwitchMenuRadioElement.tsx + + + + + + + + + +
+
+

All files / src/app/components BranchSwitchMenuRadioElement.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Check } from 'iconoir-react';
+import { DropdownMenu } from '@tokens-studio/ui';
+ 
+type Props = {
+  branch: string;
+  branchSelected: (branch: string) => void;
+  disabled?: boolean;
+};
+ 
+export const BranchSwitchMenuRadioElement: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  disabled,
+  branch,
+  branchSelected,
+}) => {
+  const onSelect = React.useCallback(() => branchSelected(branch), [branch, branchSelected]);
+ 
+  return (
+    <DropdownMenu.RadioItem
+      disabled={disabled}
+      data-testid={`branch-switch-menu-radio-element-${branch}`}
+      value={branch}
+      onSelect={onSelect}
+      css={{ position: 'relative' }}
+    >
+      <DropdownMenu.ItemIndicator>
+        <Check data-testid="branch-switch-menu-check-icon" />
+      </DropdownMenu.ItemIndicator>
+      {branch}
+    </DropdownMenu.RadioItem>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html new file mode 100644 index 000000000..2b43437d4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/app/components/BrokenReferenceIndicator.tsx + + + + + + + + + +
+
+

All files / src/app/components BrokenReferenceIndicator.tsx

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { SingleToken } from '@/types/tokens';
+import { TokensContext } from '@/context';
+import StyledBrokenReferenceIndicator from './StyledBrokenReferenceIndicator';
+ 
+type Props = {
+  token: SingleToken;
+};
+ 
+export default function BrokenReferenceIndicator({ token }: Props) {
+  const tokensContext = React.useContext(TokensContext);
+ 
+  const failedToResolve = React.useMemo(() => (
+    tokensContext.resolvedTokens.find((t) => t.name === token.name)?.failedToResolve
+  ), [token, tokensContext.resolvedTokens]);
+ 
+  if (failedToResolve) {
+    return (
+      <StyledBrokenReferenceIndicator />
+    );
+  }
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html new file mode 100644 index 000000000..c60e5e37a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/app/components/Callout.tsx + + + + + + + + + +
+
+

All files / src/app/components Callout.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
+import { Box, Button, Heading } from '@tokens-studio/ui';
+import Stack from './Stack';
+import Text from './Text';
+ 
+type Props = {
+  id: string
+  heading: React.ReactNode
+  description: React.ReactNode
+  action: {
+    text: React.ReactNode
+    onClick: React.ComponentProps<typeof Button>['onClick']
+  }
+};
+ 
+export default function Callout({
+  heading, description, action, id,
+}: Props) {
+  return (
+    <Box css={{
+      backgroundColor: '$dangerBg', border: '1px solid', borderColor: '$dangerBorder', padding: '$5', borderRadius: '$small',
+    }}
+    >
+      <Stack direction="row" gap={4}>
+        <Box css={{ color: '$dangerFg', marginTop: '$3' }}>
+          <ExclamationTriangleIcon />
+        </Box>
+        <Stack direction="column" gap={4}>
+          <Stack align="start" direction="column" gap={2}>
+            <Heading>{heading}</Heading>
+            <Text muted size="xsmall">{description}</Text>
+          </Stack>
+          <Box>
+            <Button data-testid={id} size="small" variant="primary" onClick={action.onClick}>
+              {action.text}
+            </Button>
+          </Box>
+        </Stack>
+      </Stack>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html new file mode 100644 index 000000000..7334eea32 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/app/components/ChangeStateListingHeading.tsx + + + + + + + + + +
+
+

All files / src/app/components ChangeStateListingHeading.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Heading } from '@tokens-studio/ui';
+import {
+  IconCollapseArrow, IconExpandArrow,
+} from '@/icons';
+import Box from './Box';
+import Stack from './Stack';
+import { Count } from './Count';
+import { styled } from '@/stitches.config';
+ 
+type Props = {
+  isCollapsed: boolean;
+  count?: number;
+  label: string;
+  set: string;
+  onCollapse: (e: React.MouseEvent<HTMLButtonElement>, key: string) => void;
+};
+ 
+const StyledChangedStateGroupHeadingButton = styled('button', {
+  display: 'flex',
+  alignItems: 'center',
+  width: '100%',
+  height: '100%',
+  padding: '$2',
+  gap: '$2',
+  '&:hover, &:focus': {
+    backgroundColor: '$bgSubtle',
+    outline: 'none',
+  },
+  variants: {
+    isCollapsed: {
+      true: {
+        opacity: 0.5,
+      },
+    },
+  },
+});
+ 
+export default function ChangeStateListingHeading({
+  isCollapsed,
+  count,
+  label,
+  set,
+  onCollapse,
+}: Props) {
+  const handleCollapse = React.useCallback((e: React.MouseEvent<HTMLButtonElement>) => {
+    onCollapse(e, label);
+  }, [onCollapse, label]);
+ 
+  return (
+    <Stack direction="row" align="center" justify="between" gap={4} css={{ position: 'relative' }}>
+      <StyledChangedStateGroupHeadingButton
+        isCollapsed={isCollapsed}
+        type="button"
+        onClick={handleCollapse}
+        data-testid={`changestatelisting-${set}-collapse-button`}
+      >
+        <Box css={{ padding: '$2' }}>{isCollapsed ? <IconCollapseArrow /> : <IconExpandArrow />}</Box>
+        <Heading size="medium">{label}</Heading>
+        {count && <Count count={count} />}
+      </StyledChangedStateGroupHeadingButton>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html new file mode 100644 index 000000000..6f3567b05 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html @@ -0,0 +1,397 @@ + + + + + + Code coverage report for src/app/components/ChangedStateList.tsx + + + + + + + + + +
+
+

All files / src/app/components ChangedStateList.tsx

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 0% + Branches + 0/29 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { Box, Stack, Text } from '@tokens-studio/ui';
+import ChangeStateListingHeading from './ChangeStateListingHeading';
+import ChangedTokenItem from './ChangedTokenItem';
+import { StyledDiff } from './StyledDiff';
+import { useChangedState } from '@/hooks/useChangedState';
+ 
+function ChangedStateList({ type }: { type: 'push' | 'pull' }) {
+  const { changedPullState, changedPushState } = useChangedState();
+  const [collapsed, setCollapsed] = React.useState(false);
+  const { t } = useTranslation(['tokens']);
+  const [collapsedChangedStateList, setCollapsedChangedStateList] = React.useState<Array<string>>([]);
+ 
+  const changedState = type === 'push' ? changedPushState : changedPullState;
+ 
+  const handleSetIntCollapsed = React.useCallback((e: React.MouseEvent<HTMLButtonElement>, tokenSet: string) => {
+    e.stopPropagation();
+    if (e.altKey) {
+      if (collapsed) {
+        setCollapsedChangedStateList([]);
+      } else {
+        const collapsedStateSetList = [...Object.keys(changedState.tokens), '$themes', '$metadata'];
+        setCollapsedChangedStateList(collapsedStateSetList);
+      }
+      setCollapsed(!collapsed);
+    } else if (collapsedChangedStateList.includes(tokenSet)) {
+      setCollapsedChangedStateList(collapsedChangedStateList.filter((item) => item !== tokenSet));
+    } else {
+      setCollapsedChangedStateList([...collapsedChangedStateList, tokenSet]);
+    }
+  }, [collapsedChangedStateList, changedState.tokens, collapsed]);
+ 
+  return (
+    <Stack direction="column" gap={1} css={{ padding: '$4', width: '100%' }}>
+      {Object.entries(changedState.tokens).length > 0 && Object.entries(changedState.tokens)?.map(([tokenSet, tokenList]) => (
+        <Box key={tokenSet} css={{ maxWidth: '100%' }}>
+          <ChangeStateListingHeading count={tokenList.length} onCollapse={handleSetIntCollapsed} set={tokenSet} label={tokenSet} isCollapsed={collapsedChangedStateList.includes(tokenSet)} />
+          {!collapsedChangedStateList.includes(tokenSet) && tokenList && (
+            tokenList.map((token) => (
+              <ChangedTokenItem key={token.name} token={token} />
+            ))
+          )}
+        </Box>
+      ))}
+      {
+        changedState.themes.length > 0 && (
+          <>
+            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$themes" label="$themes" isCollapsed={collapsedChangedStateList.includes('$themes')} />
+            {!collapsedChangedStateList.includes('$themes') && (
+              changedState.themes.map((theme) => (
+                <Stack
+                  direction="row"
+                  justify="between"
+                  align="center"
+                  gap={3}
+                  css={{ padding: '$1 $4' }}
+                  key={theme.id}
+                >
+                  <Text bold size="small">{theme.name}</Text>
+                  {
+                    theme.importType === 'REMOVE' && (
+                    <StyledDiff type="danger">
+                      {t('configurationRemoved')}
+                    </StyledDiff>
+                    )
+                  }
+                  {
+                    (theme.importType === 'NEW' || theme.importType === 'UPDATE') && (
+                    <StyledDiff type="success">
+                      {theme.importType === 'NEW' ? t('configuration-added') : t('configurationChanged') }
+                    </StyledDiff>
+                    )
+                  }
+                </Stack>
+              ))
+            )}
+          </>
+        )
+      }
+      {
+        (changedState.metadata?.tokenSetOrder && Object.entries(changedState.metadata.tokenSetOrder).length > 0) && (
+          <>
+            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$metadata" label="$metadata" isCollapsed={collapsedChangedStateList.includes('$metadata')} />
+            {!collapsedChangedStateList.includes('$metadata') && (
+              <Stack
+                direction="row"
+                justify="end"
+                align="end"
+                css={{ padding: '$1 $4' }}
+              >
+                <StyledDiff type="danger">
+                  {t('configurationChanged')}
+                </StyledDiff>
+              </Stack>
+            )}
+          </>
+        )
+      }
+    </Stack>
+  );
+}
+ 
+export default ChangedStateList;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html new file mode 100644 index 000000000..b736bc7ef --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/app/components/ChangedTokenItem.tsx + + + + + + + + + +
+
+

All files / src/app/components ChangedTokenItem.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/21 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import Stack from './Stack';
+import Text from './Text';
+import { ImportToken } from '@/types/tokens';
+import { StyledDiff } from './StyledDiff';
+ 
+export default function ChangedTokenItem({
+  token,
+}: {
+  token: ImportToken;
+}) {
+  const { t } = useTranslation(['general']);
+ 
+  return (
+    <Stack direction="row" justify="between" css={{ padding: '$2 0' }}>
+      <Stack direction={token.importType === 'REMOVE' ? 'row' : 'column'} gap={1} justify="between" css={{ width: '100%' }}>
+        <Text bold size="small" css={{ wordBreak: 'break-word' }}>{token.name}</Text>
+        {
+          ((token.importType === 'UPDATE' && token.oldValue) || token.importType === 'NEW') && (
+            <Stack direction="row" align="center" justify="between" gap={3}>
+              <Text size="small">{t('value')}</Text>
+              <Stack direction="row" align="center" gap={1} css={{ maxWidth: '60%' }}>
+                {token.oldValue ? (
+                  <StyledDiff type="danger">
+                    {typeof token.oldValue === 'object' ? JSON.stringify(token.oldValue) : token.oldValue}
+                  </StyledDiff>
+                ) : null}
+                <StyledDiff type="success">
+                  {typeof token.value === 'object' ? JSON.stringify(token.value) : token.value}
+                </StyledDiff>
+              </Stack>
+            </Stack>
+          )
+        }
+        {((token.importType === 'UPDATE' && token.oldDescription) || (token.importType === 'NEW' && token.description)) && (
+        <Stack direction="row" align="start" justify="between" gap={1}>
+          <Text size="small">{t('description')}</Text>
+          <Stack direction="column" align="end" gap={1} css={{ maxWidth: '60%' }}>
+            {token.oldDescription ? (
+              <StyledDiff type="danger">
+                {token.oldDescription}
+              </StyledDiff>
+            ) : null}
+            <StyledDiff type="success">
+              {token.description}
+            </StyledDiff>
+          </Stack>
+        </Stack>
+        )}
+        {
+          token.importType === 'REMOVE' && (
+            <StyledDiff type="danger">
+              {t('removed')}
+            </StyledDiff>
+          )
+        }
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html new file mode 100644 index 000000000..e09486ab8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/app/components/Changelog.tsx + + + + + + + + + +
+
+

All files / src/app/components Changelog.tsx

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { Button, Heading } from '@tokens-studio/ui';
+import Text from './Text';
+import Modal from './Modal';
+import { changelogSelector } from '@/selectors';
+import Stack from './Stack';
+import { styled } from '@/stitches.config';
+ 
+const StyledReadMoreLink = styled('a', {
+  color: '$accentDefault',
+  fontSize: '$xsmall',
+});
+ 
+const StyledImage = styled('img', {
+  marginBottom: '$4',
+  borderRadius: '$medium',
+});
+ 
+export default function Changelog() {
+  const [changelogOpen, setChangelogOpen] = React.useState(true);
+  const changelog = useSelector(changelogSelector);
+  const { t } = useTranslation(['general']);
+ 
+  const [activeIndex, setIndex] = React.useState(0);
+ 
+  const handleNext = React.useCallback(() => {
+    setIndex(activeIndex + 1);
+  }, [activeIndex]);
+ 
+  const handlePrev = React.useCallback(() => {
+    setIndex(activeIndex - 1);
+  }, [activeIndex]);
+ 
+  const handleClose = React.useCallback(() => {
+    setChangelogOpen(false);
+  }, []);
+ 
+  return (
+    <Modal title={t('changelog')} showClose isOpen={changelog.length > 0 && changelogOpen} close={handleClose}>
+      <Stack direction="column" gap={4}>
+        <div>
+          {changelog.map((item, index) => (
+            <Stack
+              // eslint-disable-next-line no-underscore-dangle
+              key={item._uid}
+              direction="column"
+              gap={2}
+              align="start"
+              css={{ display: index === activeIndex ? 'flex' : 'none' }}
+            >
+              {item.image && <StyledImage src={item.image.filename} alt={item.image.alt} />}
+              <Heading>{item.title}</Heading>
+              <Text size="small">{item.excerpt}</Text>
+              {item.read_more_link && (
+                <StyledReadMoreLink
+                  target="_blank"
+                  rel="noreferrer"
+                  href={item.read_more_link}
+                >
+                  {item.read_more_text ? item.read_more_text : t('readMore')}
+                </StyledReadMoreLink>
+              )}
+            </Stack>
+          ))}
+        </div>
+        <Stack direction="row" gap={2} justify="between">
+          <Button data-testid="button-changelog-close" onClick={handleClose} variant="secondary">
+            {t('close')}
+          </Button>
+          <Stack direction="row" justify="between" gap={2}>
+            {activeIndex !== 0 && (
+              <Button data-testid="button-changelog-prev" onClick={handlePrev} variant="secondary">
+                {t('previous')}
+              </Button>
+            )}
+            {changelog.length > activeIndex + 1 && (
+              <Button data-testid="button-changelog-next" variant="primary" onClick={handleNext}>
+                {t('next')}
+              </Button>
+            )}
+          </Stack>
+        </Stack>
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html new file mode 100644 index 000000000..a25e561ba --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html @@ -0,0 +1,751 @@ + + + + + + Code coverage report for src/app/components/ColorPicker/ColorPicker.tsx + + + + + + + + + +
+
+

All files / src/app/components/ColorPicker ColorPicker.tsx

+
+ +
+ 0% + Statements + 0/64 +
+ + +
+ 0% + Branches + 0/49 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { RgbaColorPicker, RgbaColor } from 'react-colorful';
+import { parseToRgb, parseToHsl, toColorString } from 'polished';
+import { Button } from '@tokens-studio/ui';
+import Input from '../Input';
+import Stack from '../Stack';
+ 
+enum InputMode {
+  RGBA = 'rgba',
+  HSLA = 'hsla',
+}
+ 
+type Rgba = {
+  r: number;
+  g: number;
+  b: number;
+  a: number;
+};
+ 
+type Hsla = {
+  h: number;
+  s: number;
+  l: number;
+  a: number;
+};
+ 
+type Props = {
+  value?: string;
+  onChange: (color: string) => void;
+};
+ 
+const DEFAULT_RGBA = Object.freeze({
+  r: 0, g: 0, b: 0, a: 1,
+});
+const DEFAULT_HSLA = Object.freeze({
+  h: 0, s: 0, l: 0, a: 1,
+});
+const PROPS: Omit<React.ComponentProps<typeof Input>, 'name'> = {
+  full: true,
+  type: 'number',
+};
+ 
+const roundTo = (input: number, precision: number) => {
+  const factor = 10 ** precision;
+  return Math.round((input + Number.EPSILON) * factor) / factor;
+};
+ 
+const hexToRgbaColor = (value: string) => {
+  try {
+    const parsed = parseToRgb(value || '#000000');
+    return {
+      r: Math.round(parsed.red),
+      g: Math.round(parsed.green),
+      b: Math.round(parsed.blue),
+      a: 'alpha' in parsed ? roundTo(parsed.alpha, 2) : 1,
+    };
+  } catch (err) {
+    console.error(err);
+    return { ...DEFAULT_RGBA };
+  }
+};
+ 
+const hexToHslaColor = (value: string) => {
+  try {
+    const parsed = parseToHsl(value || '#000000');
+    return {
+      h: Math.round(parsed.hue),
+      s: Math.round(parsed.saturation * 100),
+      l: Math.round(parsed.lightness * 100),
+      a: 'alpha' in parsed ? roundTo(parsed.alpha, 2) : 1,
+    };
+  } catch (err) {
+    console.error(err);
+    return { ...DEFAULT_HSLA };
+  }
+};
+ 
+const ColorPicker: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value = '#000000', onChange }) => {
+  const [inputMode, setInputMode] = React.useState(InputMode.RGBA);
+  const [internalValue, setInternalValue] = React.useState(value);
+  const [rgba, setRgba] = React.useState<Rgba>(hexToRgbaColor(value));
+  const [hsla, setHsla] = React.useState<Hsla>(hexToHslaColor(value));
+ 
+  const handlePickerChange = React.useCallback(
+    (inputValue: RgbaColor) => {
+      const hex = toColorString({
+        red: inputValue.r,
+        green: inputValue.g,
+        blue: inputValue.b,
+        alpha: inputValue.a,
+      });
+      setHsla(hexToHslaColor(hex));
+      setRgba(hexToRgbaColor(hex));
+      setInternalValue(hex);
+      onChange(hex);
+    },
+    [onChange],
+  );
+ 
+  const handleColorPartValueChange = React.useCallback(
+    (part: keyof typeof rgba | keyof typeof hsla, val: number) => {
+      if (part === 'r' || part === 'g' || part === 'b' || (part === 'a' && inputMode === InputMode.RGBA)) {
+        const hex = toColorString({
+          red: part === 'r' ? val : rgba.r,
+          green: part === 'g' ? val : rgba.g,
+          blue: part === 'b' ? val : rgba.b,
+          alpha: part === 'a' ? val : rgba.a,
+        });
+        setRgba({ ...rgba, [part]: val });
+        setHsla(hexToHslaColor(hex));
+        setInternalValue(hex);
+        onChange(hex);
+      } else if (part === 'h' || part === 's' || part === 'l' || (part === 'a' && inputMode === InputMode.HSLA)) {
+        const hex = toColorString({
+          hue: part === 'h' ? val : hsla.h,
+          saturation: (part === 's' ? val : hsla.s) / 100,
+          lightness: (part === 'l' ? val : hsla.l) / 100,
+          alpha: part === 'a' ? val : hsla.a,
+        });
+        setHsla({ ...hsla, [part]: val });
+        setRgba(hexToRgbaColor(hex));
+        setInternalValue(hex);
+        onChange(hex);
+      }
+    },
+    [rgba, hsla, inputMode, onChange],
+  );
+ 
+  const handleRedChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('r', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleGreenChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('g', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleBlueChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('b', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleHueChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('h', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleSaturationChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('s', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleLightnessChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('l', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleAlphaChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('a', event.currentTarget.valueAsNumber),
+    [handleColorPartValueChange],
+  );
+ 
+  const handleInputModeToggle = React.useCallback(() => {
+    setInputMode(inputMode === InputMode.RGBA ? InputMode.HSLA : InputMode.RGBA);
+  }, [inputMode]);
+ 
+  React.useEffect(() => {
+    if (value !== internalValue) {
+      setInternalValue(value);
+      setRgba(hexToRgbaColor(value));
+      setHsla(hexToHslaColor(value));
+    }
+  }, [value, internalValue]);
+ 
+  return (
+    <Stack direction="column" gap={1} css={{ marginTop: '$2' }}>
+      <div className="color-picker">
+        <RgbaColorPicker color={rgba} onChange={handlePickerChange} />
+      </div>
+      <Stack direction="row" gap={1}>
+        {inputMode === InputMode.RGBA && (
+        <Stack direction="row" gap={1}>
+          <Input {...PROPS} min={0} max={255} name="r" value={rgba.r} onChange={handleRedChange} />
+          <Input {...PROPS} min={0} max={255} name="g" value={rgba.g} onChange={handleGreenChange} />
+          <Input {...PROPS} min={0} max={255} name="b" value={rgba.b} onChange={handleBlueChange} />
+          <Input
+            {...PROPS}
+            min={0}
+            max={1}
+            step="0.01"
+            name="a"
+            value={rgba.a}
+            onChange={handleAlphaChange}
+          />
+        </Stack>
+        )}
+        {inputMode === InputMode.HSLA && (
+        <Stack direction="row" gap={1}>
+          <Input {...PROPS} min={0} max={360} name="h" value={hsla.h} onChange={handleHueChange} />
+          <Input {...PROPS} min={0} max={100} name="s" value={hsla.s} onChange={handleSaturationChange} />
+          <Input {...PROPS} min={0} max={100} name="l" value={hsla.l} onChange={handleLightnessChange} />
+          <Input
+            {...PROPS}
+            step="0.01"
+            min={0}
+            max={1}
+            name="a"
+            value={hsla.a}
+            onChange={handleAlphaChange}
+          />
+        </Stack>
+        )}
+        <Button variant="secondary" size="small" onClick={handleInputModeToggle}>
+          {inputMode === InputMode.RGBA ? 'RGB(A)' : 'HSL(A)'}
+        </Button>
+      </Stack>
+    </Stack>
+  );
+};
+ 
+export default ColorPicker;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html new file mode 100644 index 000000000..d7ef518a8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/ColorPicker + + + + + + + + + +
+
+

All files src/app/components/ColorPicker

+
+ +
+ 0% + Statements + 0/64 +
+ + +
+ 0% + Branches + 0/49 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ColorPicker.tsx +
+
0%0/640%0/490%0/150%0/64
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html new file mode 100644 index 000000000..ed11c60cc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/components/ColorPicker/index.ts + + + + + + + + + +
+
+

All files / src/app/components/ColorPicker index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
// eslint-disable-next-line
+export { default } from './ColorPicker';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html new file mode 100644 index 000000000..bfe30f82e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/app/components/ColorPickerTrigger.tsx + + + + + + + + + +
+
+

All files / src/app/components ColorPickerTrigger.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { styled } from '@/stitches.config';
+ 
+const TriggerButton = styled('button', {
+  width: '$5',
+  height: '$5',
+  borderRadius: '$small',
+  border: '1px solid $borderMuted',
+  cursor: 'pointer',
+  fontSize: 0,
+});
+ 
+type Props = {
+  onClick?: () => void;
+  background: string | undefined;
+};
+ 
+export const ColorPickerTrigger: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  onClick, background,
+}) => (
+  <TriggerButton
+    type="button"
+    css={{ background }}
+    onClick={onClick}
+  />
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html new file mode 100644 index 000000000..7d2466592 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html @@ -0,0 +1,1045 @@ + + + + + + Code coverage report for src/app/components/ColorTokenForm.tsx + + + + + + + + + +
+
+

All files / src/app/components ColorTokenForm.tsx

+
+ +
+ 0% + Statements + 0/77 +
+ + +
+ 0% + Branches + 0/74 +
+ + +
+ 0% + Functions + 0/21 +
+ + +
+ 0% + Lines + 0/75 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useUIDSeed } from 'react-uid';
+import { useTranslation } from 'react-i18next';
+import {
+  IconButton, Heading, Select,
+} from '@tokens-studio/ui';
+import IconPlus from '@/icons/plus.svg';
+import IconMinus from '@/icons/minus.svg';
+import { EditTokenObject } from '@/types/tokens';
+import Box from './Box';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import DownshiftInput from './DownshiftInput';
+import ColorPicker from './ColorPicker';
+import { checkIfContainsAlias, getAliasValue } from '@/utils/alias';
+import { getLabelForProperty } from '@/utils/getLabelForProperty';
+import { ColorModifier, MixModifier } from '@/types/Modifier';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
+import { modifyColor } from '@/utils/modifyColor';
+import { convertModifiedColorToHex } from '@/utils/convertModifiedColorToHex';
+import { ColorPickerTrigger } from './ColorPickerTrigger';
+import ProBadge from './ProBadge';
+import { useIsProUser } from '../hooks/useIsProUser';
+ 
+const defaultValue = '0';
+ 
+export default function ColorTokenForm({
+  internalEditToken,
+  resolvedTokens,
+  resolvedValue,
+  handleColorChange,
+  handleColorDownShiftInputChange,
+  handleColorModifyChange,
+  handleRemoveColorModify,
+  onSubmit,
+}: {
+  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.COLOR }>;
+  resolvedTokens: ResolveTokenValuesResult[];
+  resolvedValue: ReturnType<typeof getAliasValue>
+  handleColorChange: (property: string, value: string) => void;
+  handleColorDownShiftInputChange: (newInputValue: string) => void;
+  handleColorModifyChange: (newModify: ColorModifier) => void;
+  handleRemoveColorModify: () => void;
+  onSubmit: () => void
+}) {
+  const seed = useUIDSeed();
+  const { t } = useTranslation(['tokens']);
+  const [inputHelperOpen, setInputHelperOpen] = React.useState(false);
+  const [inputMixHelperOpen, setInputMixHelperOpen] = React.useState(false);
+  const [modifyVisible, setModifyVisible] = React.useState(false);
+  const isProUser = useIsProUser();
+ 
+  React.useEffect(() => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      setModifyVisible(true);
+    }
+  }, [internalEditToken]);
+ 
+  const resolvedMixValue = React.useMemo(() => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX && internalEditToken?.$extensions?.['studio.tokens']?.modify?.color) {
+      return typeof internalEditToken?.$extensions?.['studio.tokens']?.modify?.color === 'string'
+        ? getAliasValue(internalEditToken?.$extensions?.['studio.tokens']?.modify?.color, resolvedTokens)
+        : null;
+    }
+    return null;
+  }, [internalEditToken, resolvedTokens]);
+ 
+  const resolvedModifyAmountValue = React.useMemo(() => (internalEditToken?.$extensions?.['studio.tokens']?.modify?.value
+    ? getAliasValue(internalEditToken?.$extensions?.['studio.tokens']?.modify?.value, resolvedTokens)
+    : null), [internalEditToken, resolvedTokens]);
+ 
+  const modifiedColor = useMemo(() => {
+    try {
+      if (resolvedValue) {
+        if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+          const modifierType = internalEditToken?.$extensions?.['studio.tokens']?.modify?.type;
+          if (modifierType === ColorModifierTypes.LIGHTEN || modifierType === ColorModifierTypes.DARKEN || modifierType === ColorModifierTypes.ALPHA) {
+            return modifyColor(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue) });
+          }
+          if (modifierType === ColorModifierTypes.MIX && resolvedMixValue) {
+            return modifyColor(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue), color: String(resolvedMixValue) });
+          }
+          return resolvedValue;
+        }
+        return resolvedValue;
+      }
+      return null;
+    } catch (e) {
+      console.error(e);
+      return null;
+    }
+  }, [internalEditToken, resolvedValue, resolvedMixValue, resolvedModifyAmountValue]);
+ 
+  const displayColor = useMemo(() => {
+    if (resolvedValue) {
+      if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+        const modifierType = internalEditToken?.$extensions?.['studio.tokens']?.modify?.type;
+        if (modifierType === ColorModifierTypes.LIGHTEN || modifierType === ColorModifierTypes.DARKEN || modifierType === ColorModifierTypes.ALPHA) {
+          return convertModifiedColorToHex(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue) });
+        }
+        if (modifierType === ColorModifierTypes.MIX && resolvedMixValue) {
+          return convertModifiedColorToHex(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue), color: String(resolvedMixValue) });
+        }
+        return resolvedValue;
+      }
+      return resolvedValue;
+    }
+    return null;
+  }, [internalEditToken, resolvedValue, resolvedMixValue, resolvedModifyAmountValue]);
+ 
+  const handleToggleInputHelper = useCallback(() => {
+    setInputHelperOpen(!inputHelperOpen);
+  }, [inputHelperOpen]);
+ 
+  const handleToggleMixInputHelper = useCallback(() => {
+    setInputMixHelperOpen(!inputMixHelperOpen);
+  }, [inputMixHelperOpen]);
+ 
+  const handleColorValueChange = useCallback((color: string) => {
+    handleColorDownShiftInputChange(color);
+  }, [handleColorDownShiftInputChange]);
+ 
+  const handleModifyChange = React.useCallback((newModify: ColorModifier) => {
+    handleColorModifyChange(newModify);
+  }, [handleColorModifyChange]);
+ 
+  const addModify = useCallback(() => {
+    handleModifyChange({
+      type: ColorModifierTypes.LIGHTEN,
+      value: defaultValue,
+      space: ColorSpaceTypes.LCH,
+    });
+  }, [handleModifyChange]);
+ 
+  const removeModify = useCallback(() => {
+    setModifyVisible(false);
+    handleRemoveColorModify();
+  }, [handleRemoveColorModify]);
+ 
+  const onOperationSelected = useCallback((operation: string) => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      handleModifyChange({
+        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
+        type: operation,
+      } as ColorModifier);
+    }
+  }, [internalEditToken, handleModifyChange]);
+ 
+  const onColorSpaceSelected = useCallback((colorSpace: string) => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      handleModifyChange({
+        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
+        space: colorSpace,
+      } as ColorModifier);
+    }
+  }, [internalEditToken, handleModifyChange]);
+ 
+  const handleModifyValueChange = useCallback((property: string, value: string) => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      handleModifyChange({
+        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
+        value: value.replace(',', '.'),
+      });
+    }
+  }, [internalEditToken, handleModifyChange]);
+ 
+  const handleModifyValueDownShiftInputChange = useCallback((newModifyValue: string) => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      handleModifyChange({
+        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
+        value: newModifyValue,
+      });
+    }
+  }, [internalEditToken, handleModifyChange]);
+ 
+  const handleMixColorChange = useCallback((mixColor: string) => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      handleModifyChange({
+        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
+        color: mixColor,
+      } as MixModifier);
+    }
+  }, [internalEditToken, handleModifyChange]);
+ 
+  const handleMixColorInputChange = useCallback((property: string, value: string) => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
+      handleModifyChange({
+        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
+        color: value,
+      } as MixModifier);
+    }
+  }, [internalEditToken, handleModifyChange]);
+ 
+  const getLabel = React.useMemo(() => getLabelForProperty(internalEditToken?.$extensions?.['studio.tokens']?.modify?.type || `${t('tokens.amount')}`), [internalEditToken]);
+ 
+  return (
+    <>
+      <DownshiftInput
+        value={internalEditToken.value}
+        type={TokenTypes.COLOR}
+        label={internalEditToken.schema?.property}
+        resolvedTokens={resolvedTokens}
+        initialName={internalEditToken.initialName}
+        handleChange={handleColorChange}
+        setInputValue={handleColorDownShiftInputChange}
+        placeholder="#000000, hsla(), rgba() or {alias}"
+        prefix={(
+          <ColorPickerTrigger onClick={handleToggleInputHelper} background={String(resolvedValue)} />
+        )}
+        suffix
+        onSubmit={onSubmit}
+      />
+      {inputHelperOpen && (
+        <ColorPicker value={internalEditToken.value} onChange={handleColorValueChange} />
+      )}
+      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
+        <Box css={{ display: 'flex', gap: '$3', alignItems: 'center' }}>
+          <Heading size="small">{t('modify')}</Heading>
+          <ProBadge campaign="modify-color" compact />
+        </Box>
+        {
+          !modifyVisible ? (
+            <IconButton
+              tooltip={t('addNewModifier')}
+              data-testid="button-add-new-modify"
+              onClick={addModify}
+              disabled={!isProUser}
+              icon={<IconPlus />}
+              variant="invisible"
+            />
+          ) : (
+            <IconButton
+              tooltip={t('removeModifier')}
+              data-testid="button-remove=modify"
+              onClick={removeModify}
+              disabled={!isProUser}
+              icon={<IconMinus />}
+              variant="invisible"
+            />
+          )
+        }
+      </Box>
+      {
+        modifyVisible && isProUser && (
+          <>
+            <Box css={{
+              display: 'flex',
+              justifyContent: 'space-between',
+              alignItems: 'center',
+              gap: '$3',
+              '& > .relative ': {
+                flex: '2',
+              },
+            }}
+            >
+              <Select data-testid="colortokenform-operation-selector" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.type || 'Choose an operation'} onValueChange={onOperationSelected}>
+                <Select.Trigger data-testid="colortokenform-operation-button" label="Operation" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.type || 'Choose an operation'} />
+                <Select.Content>
+                  {Object.values(ColorModifierTypes).map((operation, index) => <Select.Item key={`operation-${seed(index)}`} value={operation}>{operation}</Select.Item>)}
+                </Select.Content>
+              </Select>
+              <Select data-testid="colortokenform-colorspace-selector" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.space || 'Choose a color space'} onValueChange={onColorSpaceSelected}>
+                <Select.Trigger css={{ flexGrow: 1 }} label="Space" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.space || 'Choose a color space'} />
+                <Select.Content>
+                  {Object.values(ColorSpaceTypes).map((colorSpace, index) => <Select.Item key={`colorspace-${seed(index)}`} value={colorSpace}>{colorSpace}</Select.Item>)}
+                </Select.Content>
+              </Select>
+            </Box>
+            {
+              internalEditToken?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX && (
+                <>
+                  <DownshiftInput
+                    value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.color}
+                    type={TokenTypes.COLOR}
+                    resolvedTokens={resolvedTokens}
+                    handleChange={handleMixColorInputChange}
+                    setInputValue={handleMixColorChange}
+                    placeholder="#000000, hsla(), rgba() or {alias}"
+                    prefix={(
+                      <ColorPickerTrigger onClick={handleToggleMixInputHelper} background={String(resolvedMixValue)} />
+                    )}
+                    suffix
+                    onSubmit={onSubmit}
+                  />
+                  {inputMixHelperOpen && (
+                    <ColorPicker value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.color} onChange={handleMixColorChange} />
+                  )}
+                </>
+              )
+            }
+            <DownshiftInput
+              value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.value}
+              type={TokenTypes.OTHER}
+              resolvedTokens={resolvedTokens}
+              handleChange={handleModifyValueChange}
+              setInputValue={handleModifyValueDownShiftInputChange}
+              placeholder={t('value0to1OrAlias')}
+              suffix
+              label={getLabel}
+              inlineLabel
+              onSubmit={onSubmit}
+            />
+          </>
+        )
+      }
+      {(checkIfContainsAlias(internalEditToken.value) || internalEditToken?.$extensions?.['studio.tokens']?.modify) && (
+        <Box css={{
+          display: 'flex', gap: '$3', background: '$bgSubtle', color: '$fgMuted', padding: '$3', borderRadius: '$2',
+        }}
+        >
+          {internalEditToken.type === 'color' ? (
+            <ColorPickerTrigger background={String(displayColor)} />
+          ) : null}
+          {String(modifiedColor)}
+        </Box>
+      )}
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html new file mode 100644 index 000000000..cc0777064 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html @@ -0,0 +1,532 @@ + + + + + + Code coverage report for src/app/components/CompositionTokenForm.tsx + + + + + + + + + +
+
+

All files / src/app/components CompositionTokenForm.tsx

+
+ +
+ 0% + Statements + 0/41 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useUIDSeed } from 'react-uid';
+import { useTranslation } from 'react-i18next';
+import { IconButton, Heading } from '@tokens-studio/ui';
+import IconPlus from '@/icons/plus.svg';
+import { Properties } from '@/constants/Properties';
+import { EditTokenObject } from '@/types/tokens';
+import Box from './Box';
+import SingleCompositionTokenForm from './SingleCompositionTokenForm';
+import { CompositionTokenProperty } from '@/types/CompositionTokenProperty';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { filterValidCompositionTokenTypes } from '@/utils/filterValidCompositionTokenTypes';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { ReorderGroup } from '@/motion/ReorderGroup';
+import { SingleCompositionTokenContent } from './SingleCompositionTokenContent';
+import { DragItem } from './StyledDragger/DragItem';
+ 
+export default function CompositionTokenForm({
+  internalEditToken,
+  setTokenValue,
+  resolvedTokens,
+  onSubmit,
+}: {
+  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.COMPOSITION }>;
+  setTokenValue: (newTokenValue: NodeTokenRefMap) => void;
+  resolvedTokens: ResolveTokenValuesResult[];
+  onSubmit: () => void
+}) {
+  const seed = useUIDSeed();
+  const [orderObj, setOrderObj] = React.useState<NodeTokenRefMap>({});
+  const [error, setError] = React.useState(false);
+  const { t } = useTranslation(['tokens']);
+ 
+  const propertiesMenu = React.useMemo(() => (
+    filterValidCompositionTokenTypes(Object.keys(Properties)).map((key: string) => (
+      String(Properties[key as CompositionTokenProperty])
+    ))
+  ), []);
+ 
+  React.useEffect(() => {
+    const defaultOrderObj: NodeTokenRefMap = {};
+    Object.keys(internalEditToken.value || internalEditToken.schema.schemas.value.properties).forEach((key, index) => {
+      defaultOrderObj[key as CompositionTokenProperty] = String(index);
+    });
+    setOrderObj(defaultOrderObj);
+  }, []);
+ 
+  // keep order of the properties in composition token
+  const arrangedTokenValue = React.useMemo<NodeTokenRefMap>(() => {
+    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
+    return Object.assign({}, ...Object.keys(internalEditTokenValue).sort((a, b) => Number(orderObj[a as CompositionTokenProperty]) - Number(orderObj[b as CompositionTokenProperty]))
+      .map((x) => ({ [x as CompositionTokenProperty]: internalEditTokenValue[x as CompositionTokenProperty] })));
+  }, [internalEditToken, orderObj]);
+ 
+  const addToken = useCallback(() => {
+    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
+    if (internalEditTokenValue.hasOwnProperty('') || Object.keys(internalEditTokenValue).length === 0) {
+      setError(true);
+    }
+    internalEditTokenValue['' as CompositionTokenProperty] = '';
+    setTokenValue(internalEditTokenValue as NodeTokenRefMap);
+  }, [internalEditToken]);
+ 
+  const removeToken = useCallback((property: string) => {
+    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
+    const { [property as keyof typeof internalEditTokenValue]: removeProperty, ...newTokenValue } = internalEditTokenValue;
+    setTokenValue(newTokenValue as NodeTokenRefMap);
+  }, [internalEditToken]);
+ 
+  const handleOrderObj = useCallback((newOrderObj: NodeTokenRefMap) => {
+    setOrderObj(newOrderObj);
+  }, []);
+ 
+  const handleReorder = React.useCallback((reorderedItems: string[]) => {
+    const newOrderObj: NodeTokenRefMap = {};
+    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
+    reorderedItems.forEach((key, index) => {
+      newOrderObj[key as keyof typeof Properties] = String(index);
+    });
+    const rearrangedTokenValue = Object.assign({}, ...Object.keys(internalEditTokenValue).sort((a, b) => Number(newOrderObj[a as CompositionTokenProperty]) - Number(newOrderObj[b as CompositionTokenProperty]))
+      .map((x) => ({ [x as CompositionTokenProperty]: internalEditTokenValue[x as CompositionTokenProperty] })));
+    setOrderObj(newOrderObj);
+    setTokenValue(rearrangedTokenValue as NodeTokenRefMap);
+  }, [internalEditToken, setTokenValue]);
+ 
+  return (
+    <div>
+      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
+        <Heading size="small">{t('tokens')}</Heading>
+        <IconButton
+          tooltip={error ? t('chooseAPropertyFirst') : t('addAnotherStyle')}
+          data-testid="button-style-add-multiple"
+          onClick={addToken}
+          icon={<IconPlus />}
+          disabled={error}
+          size="small"
+          variant="invisible"
+        />
+      </Box>
+      <Box css={{ display: 'flex', flexDirection: 'column', gap: '$4' }}>
+        {
+            Object.entries(arrangedTokenValue).length < 1 ? (
+              <SingleCompositionTokenForm
+                index={0}
+                property=""
+                propertyValue=""
+                tokenValue={arrangedTokenValue}
+                properties={propertiesMenu}
+                resolvedTokens={resolvedTokens}
+                setTokenValue={setTokenValue}
+                onRemove={removeToken}
+                setOrderObj={handleOrderObj}
+                setError={setError}
+                onSubmit={onSubmit}
+              />
+            ) : (
+              <ReorderGroup
+                layoutScroll
+                values={Object.keys(arrangedTokenValue)}
+                onReorder={handleReorder}
+              >
+                {
+                  Object.entries(arrangedTokenValue).map(([property, propertyValue], index) => (
+                    <DragItem<string> key={property} item={property}>
+                      <SingleCompositionTokenContent
+                        key={`single-style-${seed(index)}`}
+                        index={index}
+                        property={property}
+                        propertyValue={propertyValue}
+                        tokenValue={arrangedTokenValue}
+                        properties={propertiesMenu}
+                        resolvedTokens={resolvedTokens}
+                        setTokenValue={setTokenValue}
+                        onRemove={removeToken}
+                        setOrderObj={handleOrderObj}
+                        setError={setError}
+                        onSubmit={onSubmit}
+                      />
+                    </DragItem>
+                  ))
+                }
+              </ReorderGroup>
+            )
+          }
+      </Box>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html new file mode 100644 index 000000000..afa16b29f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html @@ -0,0 +1,505 @@ + + + + + + Code coverage report for src/app/components/ConfirmDialog.tsx + + + + + + + + + +
+
+

All files / src/app/components ConfirmDialog.tsx

+
+ +
+ 0% + Statements + 0/43 +
+ + +
+ 0% + Branches + 0/28 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import {
+  Button, Box, Text, Checkbox, Label, TextInput, Stack,
+} from '@tokens-studio/ui';
+import useConfirm from '../hooks/useConfirm';
+import Modal from './Modal';
+ 
+const ChoiceCheckbox: React.FC<React.PropsWithChildren<React.PropsWithChildren<{
+  checked?: boolean
+  choice: { key: string; unique?: boolean; enabled?: boolean }
+  onCheckedChange: (key: string, unique?: boolean) => void
+}>>> = ({
+  checked,
+  choice,
+  onCheckedChange,
+}) => {
+  const handleCheckedChange = React.useCallback(() => {
+    onCheckedChange(choice.key, choice.unique);
+  }, [choice, onCheckedChange]);
+ 
+  return (
+    <Checkbox
+      checked={!!checked}
+      defaultChecked={choice.enabled}
+      id={choice.key}
+      onCheckedChange={handleCheckedChange}
+    />
+  );
+};
+ 
+function ConfirmDialog() {
+  const confirmButton = React.useRef<HTMLButtonElement | null>(null);
+  const firstInput = React.useRef<HTMLInputElement | null>(null);
+  const {
+    onConfirm, onCancel, confirmState,
+  } = useConfirm();
+  const [chosen, setChosen] = React.useState<string[]>([]);
+  const [inputValue, setInputValue] = React.useState('');
+ 
+  React.useEffect(() => {
+    setInputValue('');
+  }, [confirmState.show]);
+ 
+  const toggleChosen = React.useCallback(
+    (id: string, unique?: boolean) => {
+      if (unique) {
+        const index = chosen.indexOf(id);
+        if (index === -1) {
+          return setChosen([id]);
+        }
+        return setChosen(chosen.filter((item) => item !== id));
+      }
+      const index = chosen.indexOf(id);
+      if (index === -1) {
+        setChosen([...chosen, id]);
+      } else {
+        setChosen(chosen.filter((item) => item !== id));
+      }
+ 
+      return () => {};
+    },
+    [chosen],
+  );
+ 
+  const handleInputChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
+    setInputValue(event.target.value);
+  }, []);
+ 
+  const handleConfirm = React.useCallback((event: React.FormEvent<HTMLFormElement>) => {
+    event.preventDefault();
+    if (confirmState.input) {
+      onConfirm(inputValue);
+    } else {
+      onConfirm(chosen);
+    }
+  }, [chosen, inputValue, confirmState, onConfirm]);
+ 
+  React.useEffect(() => {
+    if (confirmState.choices) setChosen(confirmState.choices.filter((c) => c.enabled).map((c) => c.key));
+    if (firstInput.current) {
+      firstInput.current.focus();
+    } else if (confirmButton.current) {
+      confirmButton.current.focus();
+    }
+  }, [confirmState.show, confirmButton, confirmState.choices, firstInput]);
+ 
+  const isDangerVariant = confirmState?.variant === 'danger';
+ 
+  return confirmState.show ? (
+    <Modal isOpen close={onCancel} title={confirmState?.text && confirmState.text}>
+      <form id={confirmState.formId} onSubmit={handleConfirm}>
+        <Stack direction="column" justify="start" gap={4}>
+          <Stack direction="column" gap={4}>
+            {confirmState?.description && (
+              <Text muted>{confirmState.description}</Text>
+            )}
+            {confirmState?.input ? (
+              <TextInput
+                id="input"
+                type={confirmState.input.type}
+                value={inputValue}
+                onChange={handleInputChange}
+                ref={firstInput}
+                required
+              />
+            ) : null}
+            {confirmState?.choices?.length ? (
+              <Stack direction="column" align="start" gap={2}>
+                {confirmState.choices.map((choice) => (
+                  <Box
+                    css={{ display: 'flex', alignItems: 'center', flexDirection: 'row' }}
+                    key={choice.key}
+                  >
+                    <ChoiceCheckbox
+                      checked={chosen.includes(choice.key)}
+                      choice={choice}
+                      onCheckedChange={toggleChosen}
+                    />
+                    <Label css={{ paddingLeft: '$3' }} htmlFor={choice.key}>
+                      {choice.label}
+                    </Label>
+                  </Box>
+                ))}
+              </Stack>
+            ) : null}
+          </Stack>
+          <Stack direction="row" gap={3} justify={isDangerVariant ? 'between' : 'end'}>
+            <Button variant="secondary" onClick={onCancel}>
+              {confirmState?.cancelAction}
+            </Button>
+            <Button type="submit" variant={isDangerVariant ? 'danger' : 'primary'} ref={confirmButton}>
+              {confirmState?.confirmAction}
+            </Button>
+          </Stack>
+        </Stack>
+      </form>
+    </Modal>
+  ) : null;
+}
+export default ConfirmDialog;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html new file mode 100644 index 000000000..5f22a58e3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/app/components/ConvertToDTCGModal.tsx + + + + + + + + + +
+
+

All files / src/app/components ConvertToDTCGModal.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  Box, Button, Link, Stack,
+} from '@tokens-studio/ui';
+import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import Modal from './Modal';
+import { Dispatch } from '../store';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
+import { useChangedState } from '@/hooks/useChangedState';
+import { ErrorMessage } from './ErrorMessage';
+import { showConvertTokenFormatModalSelector } from '@/selectors/showConvertTokenFormatModalSelector';
+import useRemoteTokens from '../store/remoteTokens';
+import w3cConvertImage from '@/app/assets/hints/w3cformat.png';
+import legacyConvertImage from '@/app/assets/hints/legacyformat.png';
+import { storageTypeSelector } from '@/selectors';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export function ConvertToDTCGModal() {
+  const dispatch = useDispatch<Dispatch>();
+  const showConvertTokenFormatModal = useSelector(showConvertTokenFormatModalSelector);
+  const tokenFormat = useSelector(tokenFormatSelector);
+  const { hasChanges } = useChangedState();
+  const { pushTokens } = useRemoteTokens();
+  const { t } = useTranslation(['storage']);
+  const storageType = useSelector(storageTypeSelector);
+ 
+  const isDTCG = tokenFormat === TokenFormatOptions.DTCG;
+ 
+  const handleClose = React.useCallback(() => {
+    dispatch.uiState.setShowConvertTokenFormatModal(false);
+  }, [dispatch.uiState]);
+ 
+  const handleConvert = React.useCallback(() => {
+    dispatch.tokenState.setTokenFormat(isDTCG ? TokenFormatOptions.Legacy : TokenFormatOptions.DTCG);
+    dispatch.uiState.setShowConvertTokenFormatModal(false);
+    if (storageType.provider === StorageProviderType.LOCAL) return;
+    pushTokens({
+      overrides: isDTCG ? {
+        branch: 'w3c-dtcg-conversion-revert',
+        commitMessage: 'Revert conversion to W3C DTCG format',
+      } : {
+        branch: 'w3c-dtcg-conversion',
+        commitMessage: 'Convert to W3C DTCG format, read more at https://docs.tokens.studio/convert-to-dtcg-format',
+      },
+    });
+  }, [dispatch, pushTokens, isDTCG, storageType]);
+ 
+  const hasRemoteChanges = hasChanges && storageType.provider !== StorageProviderType.LOCAL;
+ 
+  return (
+    <Modal title={isDTCG ? t('w3cformatmodaltitle') : t('w3cconverttitle')} isOpen={showConvertTokenFormatModal} close={handleClose} showClose>
+      <Stack direction="column" align="start" gap={4} css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
+        <Box as="img" src={isDTCG ? legacyConvertImage : w3cConvertImage} css={{ borderRadius: '$small' }} />
+        <Box>
+          {isDTCG ? t('w3cformatmodaldescription') : t('legacyformatmodaldescription')}
+        </Box>
+        <Stack gap={4} align="center">
+          <Button variant="primary" onClick={handleConvert} disabled={hasRemoteChanges}>
+            {isDTCG ? t('converttolegacy') : t('converttow3c')}
+          </Button>
+          <Link href="https://docs.tokens.studio/manage-settings/token-format" target="_blank">{t('readmoreformat')}</Link>
+        </Stack>
+        {hasRemoteChanges && <ErrorMessage>{t('pushfirsterror')}</ErrorMessage>}
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html new file mode 100644 index 000000000..9fec3757a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/app/components/Count.tsx + + + + + + + + + +
+
+

All files / src/app/components Count.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import Box from './Box';
+ 
+export function Count({ count }: { count: number; }) {
+  return (
+    <Box
+      css={{
+        backgroundColor: '$bgSubtle',
+        color: '$fgMuted',
+        borderRadius: '$full',
+        padding: '$2 $3',
+      }}
+    >
+      {count}
+ 
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html new file mode 100644 index 000000000..6cd034b80 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/components/DirtyStateBadgeWrapper.tsx + + + + + + + + + +
+
+

All files / src/app/components DirtyStateBadgeWrapper.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { Box } from '@tokens-studio/ui';
+import React from 'react';
+import { StyledDirtyStateBadge } from './StyledDirtyStateBadge';
+ 
+export function DirtyStateBadgeWrapper({ badge, children }: { badge: boolean, children: React.ReactNode }) {
+  return (
+    <Box css={{ position: 'relative' }}>
+      {badge && <StyledDirtyStateBadge />}
+      {children}
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html new file mode 100644 index 000000000..843ed18df --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/components/Divider.tsx + + + + + + + + + +
+
+

All files / src/app/components Divider.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const Divider = styled('div', {
+  borderBottom: '1px solid $borderMuted',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html new file mode 100644 index 000000000..89d067227 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html @@ -0,0 +1,1189 @@ + + + + + + Code coverage report for src/app/components/DownshiftInput/DownshiftInput.tsx + + + + + + + + + +
+
+

All files / src/app/components/DownshiftInput DownshiftInput.tsx

+
+ +
+ 0% + Statements + 0/82 +
+ + +
+ 0% + Branches + 0/73 +
+ + +
+ 0% + Functions + 0/27 +
+ + +
+ 0% + Lines + 0/74 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import Downshift from 'downshift';
+import { useSelector, useDispatch } from 'react-redux';
+import {
+  Box, Stack, Tooltip, Text, IconButton,
+} from '@tokens-studio/ui';
+import * as Popover from '@radix-ui/react-popover';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { Dispatch } from '@/app/store';
+import { StyledIconDisclosure } from '../StyledInputSuffix';
+import { SingleToken } from '@/types/tokens';
+import { StyledPrefix } from '../Input';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { Properties } from '@/constants/Properties';
+import { isDocumentationType } from '@/utils/is/isDocumentationType';
+import { useReferenceTokenType } from '@/app/hooks/useReferenceTokenType';
+import { ErrorValidation } from '../ErrorValidation';
+import useFigmaFonts from '@/hooks/useFigmaFonts';
+import { figmaFontsSelector } from '@/selectors';
+import {
+  StyledButton,
+  StyledDownshiftInput,
+  StyledList, StyledItem, StyledItemColor, StyledItemColorDiv, StyledItemName, StyledItemValue, StyledPart,
+} from './StyledDownshiftInput';
+import fuzzySearch from '@/utils/fuzzySearch';
+import MentionsInput from './MentionInput';
+import getResolvedText from '@/utils/getResolvedTextValue';
+import { getColorSwatchStyle } from '@/utils/color/getColorSwatchStyle';
+ 
+type SearchField = 'Tokens' | 'Fonts' | 'Weights';
+ 
+interface DownShiftProps {
+  name?: string;
+  type: string;
+  label?: React.ReactElement | string;
+  inlineLabel?: boolean;
+  error?: string;
+  value?: string;
+  initialName?: string;
+  placeholder?: string;
+  prefix?: React.ReactNode;
+  suffix?: boolean;
+  resolvedTokens: ResolveTokenValuesResult[];
+  externalFontFamily?: string;
+  isComposition?: boolean;
+  setInputValue(value: string): void;
+  handleChange: (property: string, value: string) => void;
+  handleBlur?: () => void;
+  onSubmit?: () => void
+}
+ 
+export const DownshiftInput: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<DownShiftProps>>> = ({
+  name,
+  type,
+  label,
+  inlineLabel = false,
+  error,
+  value,
+  initialName,
+  prefix,
+  suffix,
+  placeholder,
+  isComposition,
+  setInputValue,
+  resolvedTokens,
+  externalFontFamily,
+  handleChange,
+  handleBlur,
+  onSubmit,
+}) => {
+  const [showAutoSuggest, setShowAutoSuggest] = React.useState(false);
+  const [searchInput, setSearchInput] = React.useState('');
+  const [currentSearchField, setCurrentSearchField] = React.useState<SearchField>('Tokens');
+  const dispatch = useDispatch<Dispatch>();
+  const figmaFonts = useSelector(figmaFontsSelector);
+  const searchInputRef = React.useRef<HTMLInputElement>(null);
+  const windowHeight = React.useRef(window.innerHeight);
+  const downShiftContainerHeight = (windowHeight.current / 10) * 3;
+  const referenceTokenTypes = useReferenceTokenType(type as TokenTypes);
+  const { getFigmaFonts } = useFigmaFonts();
+  const externalSearchField = useMemo<SearchField | undefined>(() => {
+    if (type === TokenTypes.FONT_FAMILIES) return 'Fonts';
+    if (type === TokenTypes.FONT_WEIGHTS) return 'Weights';
+    return undefined;
+  }, [type]);
+ 
+  React.useEffect(() => {
+    if (searchInputRef.current) {
+      searchInputRef.current.focus();
+    }
+  }, []);
+ 
+  React.useEffect(() => {
+    if (externalSearchField === 'Fonts') {
+      getFigmaFonts();
+    }
+  }, [externalSearchField, getFigmaFonts]);
+ 
+  React.useEffect(() => {
+    if (!showAutoSuggest) {
+      setSearchInput('');
+    }
+    dispatch.uiState.setShowAutoSuggest(showAutoSuggest);
+  }, [showAutoSuggest, dispatch.uiState]);
+ 
+  const filteredTokenItems = useMemo(
+    () => {
+      let initialFilteredValues: ResolveTokenValuesResult[] = [];
+      if (isDocumentationType(type as Properties)) {
+        initialFilteredValues = resolvedTokens
+          .filter((token: SingleToken) => token.name.toLowerCase() !== initialName?.toLowerCase()).sort((a, b) => (
+            a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
+          ));
+      } else {
+        initialFilteredValues = resolvedTokens
+          .filter((token: SingleToken) => referenceTokenTypes.includes(token?.type) && token.name.toLowerCase() !== initialName?.toLowerCase()).sort((a, b) => (
+            a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
+          ));
+      }
+      if (searchInput) {
+        return initialFilteredValues.filter((token: SingleToken) => fuzzySearch(searchInput.toLowerCase(), token.name.toLowerCase()));
+      }
+      return initialFilteredValues;
+    },
+    [resolvedTokens, type, initialName, referenceTokenTypes, searchInput],
+  );
+ 
+  const filteredValues = useMemo(() => {
+    let initialFilteredValues: Array<string> = [];
+    if (currentSearchField === 'Fonts') {
+      initialFilteredValues = [...new Set(figmaFonts.map((font) => font.fontName.family))];
+    }
+    if (currentSearchField === 'Weights' && externalFontFamily) {
+      initialFilteredValues = figmaFonts.filter((font) => font.fontName.family === externalFontFamily).map((selectedFont) => selectedFont.fontName.style);
+    }
+    if (searchInput) {
+      return initialFilteredValues.filter((filteredValue: string) => fuzzySearch(searchInput, filteredValue));
+    }
+    return initialFilteredValues;
+  }, [figmaFonts, currentSearchField, externalFontFamily, searchInput]);
+ 
+  const getHighlightedText = useCallback((text: string, highlight: string) => {
+    // Split on highlight term and include term into parts, ignore case
+    const parts = text.split(new RegExp(`(${highlight.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')})`, 'gi'));
+    return (
+      (
+        <span>
+          {parts.map((part, i) => {
+            const key = `${part}-${i}`;
+            return (
+              <StyledPart key={key} matches={part === highlight}>
+                {part}
+              </StyledPart>
+            );
+          })}
+          {' '}
+        </span>
+      )
+    );
+  }, []);
+    // eslint-enable react/no-array-index-key
+  const handleSelect = useCallback((selectedItem: any) => {
+    if (selectedItem) {
+      if (currentSearchField === 'Tokens') {
+        setInputValue(value?.includes('$') ? `$${selectedItem}` : `{${selectedItem}}`);
+        setShowAutoSuggest(false);
+      } else {
+        setInputValue(selectedItem);
+      }
+    }
+    setShowAutoSuggest(false);
+  }, [setInputValue, value, currentSearchField]);
+ 
+  const handleSearchInputChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>((e) => {
+    setSearchInput(e.target.value);
+  }, []);
+ 
+  const handleChangeSearchField = React.useCallback(() => {
+    if (currentSearchField === 'Tokens' && externalSearchField) setCurrentSearchField(externalSearchField);
+    else setCurrentSearchField('Tokens');
+  }, [currentSearchField, externalSearchField]);
+ 
+  const handleOnFocus = React.useCallback(() => {
+    setShowAutoSuggest(false);
+  }, []);
+ 
+  const hasPrefix = inlineLabel || Boolean(prefix);
+ 
+  return (
+    <Downshift onSelect={handleSelect} isOpen={showAutoSuggest}>
+      {({
+        highlightedIndex, getItemProps, getInputProps,
+      }) => (
+        <div style={{ position: 'relative' }}>
+          <Stack direction="row" justify="between" align="center" css={{ marginBottom: '$1' }}>
+            {label && !inlineLabel ? <Text size="small" bold>{label}</Text> : null}
+            {error ? <ErrorValidation>{error}</ErrorValidation> : null}
+          </Stack>
+          <Box css={{ display: 'flex', position: 'relative', width: '100%' }} className="input">
+            {!!inlineLabel && !prefix && (
+              <Tooltip label={name}><StyledPrefix isText css={{ height: 'auto' }}>{label}</StyledPrefix></Tooltip>
+            )}
+            {!!prefix && <StyledPrefix isComposition={isComposition} css={{ height: 'auto' }}>{prefix}</StyledPrefix>}
+            <MentionsInput
+              name={name}
+              type={type}
+              value={value}
+              initialName={initialName}
+              placeholder={placeholder}
+              resolvedTokens={resolvedTokens}
+              handleChange={handleChange}
+              handleBlur={handleBlur}
+              handleOnFocus={handleOnFocus}
+              onSubmit={onSubmit}
+              hasPrefix={hasPrefix}
+            />
+            {suffix && (
+            <Popover.Root open={showAutoSuggest} onOpenChange={setShowAutoSuggest}>
+              <Popover.Trigger asChild>
+                <IconButton
+                  data-testid="downshift-input-suffix-button"
+                  icon={<StyledIconDisclosure />}
+                  size="small"
+                  css={{
+                    borderTopLeftRadius: 0, borderBottomLeftRadius: 0, boxShadow: 'none', height: 'auto',
+                  }}
+                />
+              </Popover.Trigger>
+              {/* Using Anchor to control the width of the popover to match the parent input */}
+              <Popover.Anchor style={{
+                position: 'absolute', left: 0, right: 0, height: '100%', pointerEvents: 'none',
+              }}
+              />
+              <Popover.Portal>
+                <Popover.Content side="bottom" align="end" sideOffset={4} style={{ pointerEvents: 'all', width: 'var(--radix-popover-trigger-width)' }}>
+                  <Box
+                    css={{
+                      backgroundColor: '$bgCanvas',
+                      border: '1px solid',
+                      borderColor: '$borderSubtle',
+                      borderRadius: '$medium',
+                      boxShadow: '$contextMenu',
+                    }}
+                  >
+                    <Box
+                      css={{
+                        display: 'flex', flexDirection: 'column', gap: '$3', padding: '$3', borderBottom: '1px solid $borderSubtle',
+                      }}
+                    >
+                      {
+                        externalSearchField && (
+                          <Box css={{ display: 'flex', gap: '$3' }}>
+                            <StyledButton isFocused={currentSearchField === 'Tokens'} onClick={handleChangeSearchField}>
+                              Tokens
+                            </StyledButton>
+                            <StyledButton isFocused={currentSearchField !== 'Tokens'} onClick={handleChangeSearchField}>
+                              {externalSearchField}
+                            </StyledButton>
+                          </Box>
+                        )
+                      }
+                      <StyledDownshiftInput
+                        inputRef={searchInputRef}
+                        value={searchInput}
+                        onChange={handleSearchInputChange}
+                        getInputProps={getInputProps}
+                        data-testid="downshift-search-input"
+                      />
+                    </Box>
+                    {
+                      currentSearchField === 'Tokens' && filteredTokenItems.length > 0 && (
+                      <StyledList className="content scroll-container" height={Math.min(downShiftContainerHeight, 30 * filteredTokenItems.length)} width="100%" itemCount={filteredTokenItems.length} itemSize={30}>
+                        {({ index, style }) => {
+                          const token = filteredTokenItems[index];
+                          return (
+                            <Tooltip
+                              side="bottom"
+                              label={(
+                                <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
+                                  <StyledItemName css={{ color: '$tooltipFg' }}>
+                                    {getHighlightedText(token.name, searchInput || '')}
+                                  </StyledItemName>
+                                  <StyledItemValue css={{ color: '$tooltipFgMuted' }}>
+                                    <span>{getResolvedText(token)}</span>
+                                  </StyledItemValue>
+                                </Stack>
+                              )}
+                            >
+                              <StyledItem
+                                data-testid="downshift-input-item"
+                                className="dropdown-item"
+                                {...getItemProps({ key: token.name, index, item: token.name })}
+                                isFocused={highlightedIndex === index}
+                                style={style}
+                              // eslint-disable-next-line react/jsx-no-bind
+                                onMouseDown={() => handleSelect(token.name)}
+                              >
+                                {type === 'color' && (
+                                <StyledItemColorDiv>
+                                  <StyledItemColor style={getColorSwatchStyle(token.value.toString())} />
+                                </StyledItemColorDiv>
+                                )}
+                                <StyledItemName truncate>
+                                  {getHighlightedText(token.name, searchInput || '')}
+                                </StyledItemName>
+                                <StyledItemValue truncate>
+                                  <span>{getResolvedText(token)}</span>
+                                </StyledItemValue>
+                              </StyledItem>
+                            </Tooltip>
+                          );
+                        }}
+                      </StyledList>
+                      )
+                    }
+                    {
+                      currentSearchField !== 'Tokens' && filteredValues.length > 0 && (
+                        <StyledList className="content scroll-container" height={Math.min(downShiftContainerHeight, 30 * filteredValues.length)} width="100%" itemCount={filteredValues.length} itemSize={30}>
+                            {({ index, style }) => {
+                              const filteredValue = filteredValues[index];
+                              return (
+                                <Tooltip
+                                  side="bottom"
+                                  label={(
+                                    <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
+                                      <StyledItemValue css={{ color: '$tooltipFg' }}>
+                                        {getHighlightedText(filteredValue, searchInput || '')}
+                                      </StyledItemValue>
+                                    </Stack>
+                              )}
+                                >
+                                  <StyledItem
+                                    data-testid="downshift-input-item"
+                                    className="dropdown-item"
+                                    {...getItemProps({ key: value, index, item: value })}
+                                    isFocused={highlightedIndex === index}
+                                    style={style}
+                                  // eslint-disable-next-line react/jsx-no-bind
+                                    onMouseDown={() => handleSelect(filteredValue)}
+                                  >
+                                    <StyledItemName truncate>
+                                      {getHighlightedText(filteredValue, searchInput || '')}
+                                    </StyledItemName>
+                                  </StyledItem>
+                                </Tooltip>
+                              );
+                            }}
+                        </StyledList>
+                      )
+                    }
+                    {
+                      ((currentSearchField !== 'Tokens' && filteredValues.length === 0) || (currentSearchField === 'Tokens' && filteredTokenItems.length === 0)) && (
+                      <Box css={{ padding: '$3', color: '$fgMuted', fontSize: '$small' }}>
+                        No suggestions found
+                      </Box>
+                      )
+                    }
+                  </Box>
+                </Popover.Content>
+              </Popover.Portal>
+            </Popover.Root>
+            )}
+          </Box>
+        </div>
+      )}
+    </Downshift>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html new file mode 100644 index 000000000..fa47b2659 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html @@ -0,0 +1,604 @@ + + + + + + Code coverage report for src/app/components/DownshiftInput/MentionInput.tsx + + + + + + + + + +
+
+

All files / src/app/components/DownshiftInput MentionInput.tsx

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/31 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo } from 'react';
+import Mentions from 'rc-mentions';
+import {
+  Stack,
+  Tooltip,
+} from '@tokens-studio/ui';
+import { SingleToken } from '@/types/tokens';
+import { useReferenceTokenType } from '@/app/hooks/useReferenceTokenType';
+ 
+// Styles
+import {
+  StyledItem, StyledItemColor, StyledItemColorDiv, StyledItemName, StyledItemValue, StyledPart,
+} from './StyledDownshiftInput';
+import './mentions.css';
+ 
+// Utils
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { isDocumentationType } from '@/utils/is/isDocumentationType';
+import getResolvedTextValue from '@/utils/getResolvedTextValue';
+import { getColorSwatchStyle } from '@/utils/color/getColorSwatchStyle';
+ 
+// Constants
+import { Properties } from '@/constants/Properties';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export interface SuggestionDataItem {
+  id: string;
+  display: string;
+}
+ 
+interface Props {
+  autoFocus?: boolean;
+  name?: string;
+  type: string;
+  value?: string;
+  initialName?: string;
+  placeholder?: string;
+  resolvedTokens: ResolveTokenValuesResult[];
+  handleChange: (property: string, value: string) => void;
+  handleBlur?: () => void;
+  handleOnFocus?: React.FocusEventHandler<HTMLTextAreaElement>;
+  onSubmit?: () => void;
+  hasPrefix?: boolean;
+}
+ 
+const { Option } = Mentions;
+ 
+export default function MentionsInput({
+  autoFocus = false,
+  name = 'value',
+  type,
+  value,
+  initialName,
+  placeholder,
+  resolvedTokens,
+  handleChange,
+  handleBlur,
+  handleOnFocus,
+  onSubmit,
+  hasPrefix = false,
+}: Props) {
+  const referenceTokenTypes = useReferenceTokenType(type as TokenTypes);
+ 
+  const mentionData = useMemo<SuggestionDataItem[]>(() => {
+    if (isDocumentationType(type as Properties)) {
+      return resolvedTokens
+        .filter((token: SingleToken) => token.name !== initialName).sort((a, b) => (
+          a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
+        )).map((resolvedToken) => ({
+          id: `${resolvedToken.name}}`,
+          display: resolvedToken.name,
+        }));
+    }
+    return resolvedTokens
+      .filter((token: SingleToken) => referenceTokenTypes.includes(token?.type) && token.name !== initialName).sort((a, b) => (
+        a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
+      )).map((resolvedToken) => ({
+        id: `${resolvedToken.name}}`,
+        display: resolvedToken.name,
+      }));
+  }, [initialName, resolvedTokens, referenceTokenTypes, type]);
+ 
+  const handleMentionInputChange = React.useCallback((newValue: string) => {
+    handleChange(name, newValue.replace(/}(?=\s)[^{}]*}/gi, '}'));
+  }, [handleChange, name]);
+ 
+  const handleInputBlur = React.useCallback(() => {
+    if (handleBlur) {
+      handleBlur();
+    }
+  }, [handleBlur]);
+ 
+  const getHighlightedText = React.useCallback((text: string, highlight: string) => {
+    // Note that the highlight might be numeric, hence we cast it to a string
+    // Split on highlight term and include term into parts, ignore case
+    const parts = text.split(new RegExp(`(${String(highlight).replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')})`, 'gi'));
+    return (
+      <span>
+        {parts.map((part, i) => (
+          // eslint-disable-next-line react/no-array-index-key
+          <StyledPart key={i} matches={part.toLowerCase() === String(highlight).toLowerCase()}>
+            {part}
+          </StyledPart>
+        ))}
+        {' '}
+      </span>
+    );
+  }, []);
+ 
+  const renderMentionListItem = React.useCallback((
+    suggestion: SuggestionDataItem,
+  ) => {
+    const resolvedToken = resolvedTokens.find((token) => referenceTokenTypes.includes(token?.type) && token.name === suggestion.display);
+    return (
+      <Option
+        key={(suggestion.id as string) || 'not-found'}
+        value={suggestion.id as string}
+        className="mentions-item"
+      >
+        <Tooltip
+          side="bottom"
+          label={(
+            <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
+              <StyledItemName css={{ color: '$tooltipFg' }}>
+                {getHighlightedText(resolvedToken?.name ?? '', value || '')}
+              </StyledItemName>
+              {resolvedToken && (
+                <StyledItemValue css={{ color: '$tooltipFgMuted' }}>
+                  <span>
+                    {getResolvedTextValue(resolvedToken)}
+                  </span>
+                </StyledItemValue>
+              )}
+            </Stack>
+          )}
+        >
+          <StyledItem className="dropdown-item">
+            {type === 'color' && <StyledItemColorDiv><StyledItemColor style={resolvedToken?.value ? getColorSwatchStyle(resolvedToken?.value.toString()) : {}} /></StyledItemColorDiv>}
+            <StyledItemName truncate>{getHighlightedText(resolvedToken?.name ?? '', value || '')}</StyledItemName>
+            {resolvedToken && <StyledItemValue truncate>{getResolvedTextValue(resolvedToken)}</StyledItemValue>}
+          </StyledItem>
+        </Tooltip>
+      </Option>
+    );
+  }, [resolvedTokens, type, getHighlightedText, referenceTokenTypes, value]);
+ 
+  const handleEnterKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLTextAreaElement>) => {
+    e.preventDefault();
+    onSubmit?.();
+  }, [onSubmit]);
+ 
+  return (
+    <Mentions
+      autoSize
+      name={name}
+      value={value}
+      placeholder={placeholder}
+      prefix={['{']}
+      placement="bottom"
+      autoFocus={autoFocus}
+      onChange={handleMentionInputChange}
+      onBlur={handleInputBlur}
+      onFocus={handleOnFocus}
+      onPressEnter={handleEnterKeyDown}
+      data-testid={`mention-input-${name}`}
+      className={hasPrefix ? '' : 'mentions-no-prefix'}
+    >
+      {mentionData.map((item) => (
+        renderMentionListItem(item)
+      ))}
+    </Mentions>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html new file mode 100644 index 000000000..5fba3415d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html @@ -0,0 +1,562 @@ + + + + + + Code coverage report for src/app/components/DownshiftInput/StyledDownshiftInput.tsx + + + + + + + + + +
+
+

All files / src/app/components/DownshiftInput StyledDownshiftInput.tsx

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { ComponentType } from 'react';
+import type { GetInputPropsOptions } from 'downshift';
+import { FixedSizeList as List } from 'react-window';
+import { TextInput } from '@tokens-studio/ui';
+import { styled } from '@/stitches.config';
+ 
+type Props = {
+  type?: string;
+  name?: string;
+  value?: string;
+  placeholder?: string;
+  suffix?: React.ReactNode;
+  inputRef: React.RefObject<HTMLInputElement>;
+  dataCy?: string;
+  getInputProps: <T>(options?: T) => T & GetInputPropsOptions;
+  onChange?: React.ChangeEventHandler<HTMLInputElement>;
+  onBlur?: React.ChangeEventHandler<HTMLInputElement>;
+};
+ 
+export const StyledDropdown = styled('div', {
+  position: 'absolute',
+  zIndex: '10',
+  width: '100%',
+  maxHeight: '30vh',
+  borderBottomLeftRadius: '$medium',
+  borderBottomRightRadius: '$medium',
+  overflowY: 'auto',
+  backgroundColor: '$bgDefault',
+  cursor: 'pointer',
+  boxShadow: '$contextMenu',
+  padding: '$3',
+});
+ 
+export const StyledList = styled(List as ComponentType<any>, {
+  zIndex: '10',
+  maxHeight: '30vh',
+  overflowY: 'auto',
+  backgroundColor: '$bgCanvas',
+  cursor: 'pointer',
+  padding: '$2',
+});
+ 
+export const StyledItemValue = styled('div', {
+  fontSize: '$xxsmall',
+  color: '$fgDefault',
+  fontWeight: '$normal',
+  textAlign: 'right',
+  flex: '1 0 auto',
+  variants: {
+    truncate: {
+      true: {
+        maxWidth: '50%',
+        overflow: 'hidden',
+        textOverflow: 'ellipsis',
+        textWrap: 'nowrap',
+      },
+    },
+  },
+});
+ 
+export const StyledItem = styled('div', {
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'space-between',
+  padding: '$2 $3',
+  fontSize: '$xxsmall',
+  variants: {
+    isFocused: {
+      true: {
+        borderRadius: '0 !important',
+        backgroundColor: '$bgSubtle',
+      },
+    },
+  },
+});
+ 
+export const StyledItemColorDiv = styled('div', {
+  flexShrink: 0,
+  marginRight: '$2',
+});
+ 
+export const StyledItemColor = styled('div', {
+  width: '20px',
+  height: '20px',
+  borderRadius: '$medium',
+  border: '1px solid $borderMuted',
+});
+ 
+export const StyledItemName = styled('div', {
+  fontSize: '$xsmall',
+  color: '$fgDefault',
+  fontWeight: '$sansBold',
+  flex: '1 1 auto',
+  lineHeight: '1.4',
+  wordBreak: 'break-word',
+  marginRight: '$2',
+  variants: {
+    truncate: {
+      true: {
+        overflow: 'hidden',
+        textOverflow: 'ellipsis',
+        textWrap: 'nowrap',
+      },
+    },
+  },
+});
+ 
+export const StyledPart = styled('span', {
+  variants: {
+    matches: {
+      true: {
+        fontWeight: '$sansSemibold',
+      },
+    },
+  },
+});
+ 
+export const StyledButton = styled('button', {
+  padding: '$2 $3',
+  fontSize: '$xsmall',
+ 
+  variants: {
+    isFocused: {
+      false: {
+        color: '$fgDisabled',
+      },
+    },
+  },
+});
+ 
+export const StyledDownshiftInput: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  type,
+  name,
+  value,
+  placeholder,
+  inputRef,
+  dataCy,
+  onChange,
+  onBlur,
+  getInputProps,
+}) => {
+  const { ref, size, ...inputProps } = getInputProps({
+    ref: inputRef,
+    name,
+    label: type || null,
+    value: value || '',
+    placeholder,
+    onChange,
+    onBlur,
+  });
+ 
+  return (
+    <TextInput
+      ref={ref as React.MutableRefObject<HTMLInputElement>}
+      data-testid={dataCy}
+      {...inputProps}
+    />
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html new file mode 100644 index 000000000..0c049d919 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/app/components/DownshiftInput + + + + + + + + + +
+
+

All files src/app/components/DownshiftInput

+
+ +
+ 0% + Statements + 0/124 +
+ + +
+ 0% + Branches + 0/108 +
+ + +
+ 0% + Functions + 0/44 +
+ + +
+ 0% + Lines + 0/115 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DownshiftInput.tsx +
+
0%0/820%0/730%0/270%0/74
MentionInput.tsx +
+
0%0/300%0/310%0/160%0/29
StyledDownshiftInput.tsx +
+
0%0/120%0/40%0/10%0/12
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html new file mode 100644 index 000000000..631b2faf0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/DownshiftInput/index.ts + + + + + + + + + +
+
+

All files / src/app/components/DownshiftInput index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { DownshiftInput } from './DownshiftInput';
+ 
+export default DownshiftInput;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html new file mode 100644 index 000000000..2303cf6a4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx + + + + + + + + + +
+
+

All files / src/app/components/DuplicateResolver ResolveDuplicateTokenGroup.tsx

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useUIDSeed } from 'react-uid';
+import {
+  Heading, RadioGroup, RadioIndicator, RadioItem, RadioItemBefore,
+  Stack,
+  Text,
+  Tooltip,
+} from '@tokens-studio/ui';
+import { SingleToken } from '@/types/tokens';
+import Box from '../Box';
+import { TokenTooltipContentValue } from '../TokenTooltip/TokenTooltipContentValue';
+import { isSingleBoxShadowToken } from '@/utils/is';
+import { SingleShadowValueDisplay } from '../TokenTooltip/SingleShadowValueDisplay';
+import { TokenBoxshadowValue } from '@/types/values';
+ 
+function ResolveDuplicateTokenSingle({ token }: { token: SingleToken }) {
+  const seed = useUIDSeed();
+  return (
+    <Tooltip label={`Type: ${token.type}`}>
+      <Box
+        css={{
+          background: '$bgSubtle',
+          fontSize: '$small',
+          padding: '$2 $3',
+          borderRadius: '$small',
+          border: (typeof token.value === 'string' && (token.value as string).startsWith('#')) ? `1px solid ${token.value as string}` : undefined,
+        }}
+      >
+        {(isSingleBoxShadowToken(token) && Array.isArray(token.value)) ? (
+          <Stack direction="column" align="start" gap={3} wrap>
+            {token.value.map((t, index) => (
+              <SingleShadowValueDisplay
+                key={seed(t)}
+                value={Array.isArray(token.value) ? token.value[index] as TokenBoxshadowValue : undefined}
+                resolvedValue={t as TokenBoxshadowValue}
+              />
+            ))}
+          </Stack>
+        ) : (
+          <>
+            {/* Comment to avoid nested ternary warning */}
+            {typeof token.value === 'string' ? <Text>{token.value as string}</Text>
+              : <TokenTooltipContentValue token={token} ignoreResolvedValue />}
+          </>
+ 
+        )}
+      </Box>
+    </Tooltip>
+  );
+}
+ 
+export default function ResolveDuplicateTokenGroup({
+  setName, group, onRadioClick, selectedTokens,
+}: {
+  setName: string, group: [string, SingleToken[]], onRadioClick: (value: string) => void, selectedTokens: { [key: string]: { [key: string]: number | string } }
+}) {
+  const [groupKey, groupValue] = group;
+  const checkedToken = `${setName}:${groupKey}:${selectedTokens?.[setName]?.[groupKey] || 0}`;
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        flexDirection: 'column',
+        justifyContent: 'space-between',
+        marginBottom: '$3',
+      }}
+      key={`${groupKey}`}
+    >
+      <Stack direction="row" css={{ marginBottom: '$4' }}>
+        <Heading size="small">
+          <Box as="span" css={{ minWidth: '$9', display: 'inline-flex' }}>Token</Box>
+          {groupKey}
+        </Heading>
+      </Stack>
+      <Stack direction="row">
+        <Heading size="small" css={{ minWidth: '$9' }}>Value</Heading>
+        <RadioGroup
+          onValueChange={onRadioClick}
+          value={checkedToken}
+          css={{ gap: '$3' }}
+        >
+          {groupValue.map((uniqueToken, i) => (
+            // eslint-disable-next-line react/no-array-index-key
+            <RadioItem key={`${uniqueToken.name}-${i}`} value={`${setName}:${uniqueToken.name}:${i}`} css={{ alignItems: 'center' }}>
+              <RadioItemBefore data-state={checkedToken === `${setName}:${uniqueToken.name}:${i}` ? 'checked' : 'unchecked'} css={{ flexShrink: 0 }}>
+                <RadioIndicator />
+              </RadioItemBefore>
+              <ResolveDuplicateTokenSingle token={uniqueToken} />
+            </RadioItem>
+          ))}
+        </RadioGroup>
+      </Stack>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html new file mode 100644 index 000000000..d31ae0518 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/components/DuplicateResolver + + + + + + + + + +
+
+

All files src/app/components/DuplicateResolver

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ResolveDuplicateTokenGroup.tsx +
+
0%0/70%0/160%0/40%0/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html new file mode 100644 index 000000000..fb0aef2e5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html @@ -0,0 +1,2254 @@ + + + + + + Code coverage report for src/app/components/EditTokenForm.tsx + + + + + + + + + +
+
+

All files / src/app/components EditTokenForm.tsx

+
+ +
+ 0% + Statements + 0/210 +
+ + +
+ 0% + Branches + 0/222 +
+ + +
+ 0% + Functions + 0/49 +
+ + +
+ 0% + Lines + 0/203 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Heading, Textarea, Label, Stack,
+} from '@tokens-studio/ui';
+import { track } from '@/utils/analytics';
+import { useShortcut } from '@/hooks/useShortcut';
+import { Dispatch } from '../store';
+import useManageTokens from '../store/useManageTokens';
+import CompositionTokenForm from './CompositionTokenForm';
+import Input from './Input';
+import Text from './Text';
+import useConfirm from '../hooks/useConfirm';
+import useTokens from '../store/useTokens';
+import {
+  EditTokenObject,
+  SingleBorderToken,
+  SingleBoxShadowToken,
+  SingleDimensionToken,
+  SingleToken,
+  SingleTypographyToken,
+} from '@/types/tokens';
+import { checkIfAlias, checkIfContainsAlias, getAliasValue } from '@/utils/alias';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import {
+  activeTokenSetSelector, editTokenSelector, themesListSelector, tokensSelector,
+} from '@/selectors';
+import { TokenTypes } from '@/constants/TokenTypes';
+import TypographyInput from './TypographyInput';
+import DownshiftInput from './DownshiftInput';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { UpdateMode } from '@/constants/UpdateMode';
+import trimValue from '@/utils/trimValue';
+import BoxShadowInput from './BoxShadowInput';
+import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import { StyleOptions } from '@/constants/StyleOptions';
+import BorderTokenForm from './BorderTokenForm';
+import Box from './Box';
+import ColorTokenForm from './ColorTokenForm';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { ColorModifier } from '@/types/Modifier';
+import { MultiSelectDropdown } from './MultiSelectDropdown';
+import { tokenTypesToCreateVariable } from '@/constants/VariableTypes';
+import { ModalOptions } from '@/constants/ModalOptions';
+ 
+let lastUsedRenameOption: UpdateMode = UpdateMode.SELECTION;
+let lastUsedRenameStyles = false;
+ 
+type Props = {
+  resolvedTokens: ResolveTokenValuesResult[];
+};
+ 
+type Choice = { key: string; label: string; enabled?: boolean; unique?: boolean };
+ 
+// @TODO this needs to be reviewed from a typings perspective + performance
+function EditTokenForm({ resolvedTokens }: Props) {
+  const { t } = useTranslation(['tokens', 'errors']);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const tokens = useSelector(tokensSelector);
+  const editToken = useSelector(editTokenSelector);
+  const themes = useSelector(themesListSelector);
+  const [selectedTokenSets, setSelectedTokenSets] = React.useState<string[]>([activeTokenSet]);
+  const {
+    editSingleToken, createSingleToken, duplicateSingleToken, renameTokensAcrossSets,
+  } = useManageTokens();
+  const {
+    remapToken, renameStylesFromTokens, renameVariablesFromToken, updateVariablesFromToken,
+  } = useTokens();
+  const dispatch = useDispatch<Dispatch>();
+  const [error, setError] = React.useState<string | null>(null);
+  const [internalEditToken, setInternalEditToken] = React.useState<typeof editToken>(editToken);
+  const { confirm } = useConfirm();
+  const isValidDimensionToken = React.useMemo(
+    () => internalEditToken.type === TokenTypes.DIMENSION
+      && (internalEditToken.value?.endsWith('px')
+        || internalEditToken.value?.endsWith('rem')
+        || checkIfAlias(internalEditToken as SingleDimensionToken, resolvedTokens)),
+    [internalEditToken, resolvedTokens, checkIfAlias],
+  );
+  const isValidColorToken = React.useMemo(() => {
+    if (internalEditToken?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX) {
+      return !!internalEditToken?.$extensions?.['studio.tokens']?.modify?.color;
+    }
+    return true;
+  }, [internalEditToken]);
+ 
+  const isValid = React.useMemo(() => {
+    if (
+      internalEditToken?.type === TokenTypes.COMPOSITION
+      && internalEditToken.value
+      && (internalEditToken.value.hasOwnProperty('') || Object.keys(internalEditToken.value).length === 0)
+    ) {
+      return false;
+    }
+    if (internalEditToken.type === TokenTypes.DIMENSION) {
+      return true;
+    }
+    if (internalEditToken.type === TokenTypes.COLOR) {
+      return isValidColorToken;
+    }
+    return internalEditToken?.value && internalEditToken.name && !error;
+  }, [internalEditToken, error, isValidColorToken, isValidDimensionToken]);
+ 
+  const hasNameThatExistsAlready = React.useMemo(() => {
+    const editToken = resolvedTokens
+      .filter((t) => selectedTokenSets.includes(t.internal__Parent ?? ''))
+      .find((t) => t.name === internalEditToken?.name);
+ 
+    if (editToken) {
+      editToken.description = internalEditToken.description;
+    }
+ 
+    return editToken;
+  }, [internalEditToken, resolvedTokens, activeTokenSet, selectedTokenSets]);
+ 
+  const hasAnotherTokenThatStartsWithName = React.useMemo(
+    () => resolvedTokens
+      .filter((t) => t.internal__Parent === activeTokenSet)
+      .filter((t) => t.name !== internalEditToken?.initialName)
+      .find((t) => t.name.startsWith(`${internalEditToken?.name}.`)),
+    [internalEditToken, resolvedTokens, activeTokenSet],
+  );
+ 
+  const hasCurlyBraces = React.useMemo(() => {
+    if (internalEditToken?.name) {
+      return internalEditToken.name.includes('{') || internalEditToken.name.includes('}');
+    }
+    return false;
+  }, [internalEditToken]);
+ 
+  const hasDollarForFirstCharacter = React.useMemo(() => {
+    if (internalEditToken?.name) {
+      return internalEditToken.name.startsWith('$');
+    }
+    return false;
+  }, [internalEditToken]);
+ 
+  const hasPriorTokenName = React.useMemo(() => {
+    const tokensWithSameParent = resolvedTokens.filter((t) => t.internal__Parent === activeTokenSet);
+    if (internalEditToken.status && [EditTokenFormStatus.CREATE, EditTokenFormStatus.DUPLICATE].includes(internalEditToken.status)) {
+      // If we are creating a new token, disallow naming it as a prefix of an existing token
+      return tokensWithSameParent.find((t) => internalEditToken.name?.startsWith(`${t.name}.`));
+    }
+    if (internalEditToken?.status === EditTokenFormStatus.EDIT) {
+      // If we are editing a token, only disallow the name if it's prefix matches another token and it is not the token we are currently editing
+      return tokensWithSameParent.find(
+        (t) => internalEditToken.name?.startsWith(`${t.name}.`) && internalEditToken.initialName !== t.name,
+      );
+    }
+    return false;
+  }, [internalEditToken, resolvedTokens, activeTokenSet]);
+ 
+  const nameWasChanged = React.useMemo(
+    () => internalEditToken?.initialName !== internalEditToken?.name,
+    [internalEditToken],
+  );
+ 
+  const hasEmptyGroups = React.useMemo(() => {
+    if (internalEditToken?.name) {
+      return internalEditToken.name.includes('..')
+        || internalEditToken.name.startsWith('.')
+        || internalEditToken.name.endsWith('.');
+    }
+    return false;
+  }, [internalEditToken]);
+ 
+  React.useEffect(() => {
+    if ((internalEditToken?.status !== EditTokenFormStatus.EDIT || nameWasChanged) && hasNameThatExistsAlready) {
+      setError(t('tokenNamesMustBeUnique', { ns: 'errors' }));
+    }
+    if (
+      (internalEditToken?.status !== EditTokenFormStatus.EDIT || nameWasChanged)
+      && hasAnotherTokenThatStartsWithName
+    ) {
+      setError(t('mustNotUseNameOfAnotherGroup', { ns: 'errors' }));
+    }
+    if ((internalEditToken?.status || nameWasChanged) && hasPriorTokenName) {
+      setError(t('cantCreateGroupThatSharesNameWithExistingToken', { ns: 'errors' }));
+    }
+    if ((internalEditToken?.status || nameWasChanged) && hasDollarForFirstCharacter) {
+      setError(t('tokenNamesCantStartWithDollar', { ns: 'errors' }));
+    }
+    if ((internalEditToken?.status || nameWasChanged) && hasCurlyBraces) {
+      setError(t('tokenNamesCantContainCurlyBraces', { ns: 'errors' }));
+    }
+    if ((internalEditToken?.status || nameWasChanged) && hasEmptyGroups) {
+      setError(t('tokenNamesCantContainEmptyGroups', { ns: 'errors' }));
+    }
+  }, [internalEditToken, hasNameThatExistsAlready, nameWasChanged, hasAnotherTokenThatStartsWithName, hasEmptyGroups]);
+ 
+  const handleChange = React.useCallback(
+    (property: string, value: string) => {
+      setError(null);
+      if (internalEditToken) {
+        setInternalEditToken({ ...internalEditToken, [property]: value });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleNameChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>(
+    (e) => {
+      setError(null);
+      if (internalEditToken) {
+        setInternalEditToken({ ...internalEditToken, [e.target.name]: e.target.value });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleBlur = React.useCallback(() => {
+    if (internalEditToken.type === TokenTypes.DIMENSION && !isValidDimensionToken) {
+      setError(t('valueMustIncludePxOrRem', { ns: 'errors' }));
+    }
+  }, [internalEditToken, isValidDimensionToken]);
+ 
+  const handleBoxShadowValueChange = React.useCallback(
+    (shadow: SingleBoxShadowToken['value']) => {
+      setError(null);
+      if (internalEditToken?.type === TokenTypes.BOX_SHADOW) {
+        setInternalEditToken((prev) => ({ ...prev, value: shadow } as typeof editToken));
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleCompositionChange = React.useCallback(
+    (newTokenValue: NodeTokenRefMap) => {
+      if (internalEditToken?.type === TokenTypes.COMPOSITION) {
+        setInternalEditToken((prev) => ({ ...prev, value: newTokenValue } as EditTokenObject));
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleTypographyValueChange = React.useCallback(
+    (property: string, value: string) => {
+      if (internalEditToken?.type === TokenTypes.TYPOGRAPHY && typeof internalEditToken?.value !== 'string') {
+        if (value) {
+          setInternalEditToken({
+            ...internalEditToken,
+            value: {
+              ...internalEditToken.value,
+              [property]: value,
+            },
+          });
+        } else if (internalEditToken.value) {
+          delete internalEditToken.value[property as keyof typeof internalEditToken.value];
+          setInternalEditToken({
+            ...internalEditToken,
+          });
+        }
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleTypographyValueDownShiftInputChange = React.useCallback(
+    (newInputValue: string, property: string) => {
+      if (internalEditToken?.type === TokenTypes.TYPOGRAPHY && typeof internalEditToken?.value !== 'string') {
+        setInternalEditToken({
+          ...internalEditToken,
+          value: { ...internalEditToken.value, [property]: newInputValue },
+        });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const setTypographyValue = React.useCallback(
+    (newTypographyValue: SingleTypographyToken['value']) => {
+      if (internalEditToken?.type === TokenTypes.TYPOGRAPHY && typeof newTypographyValue === 'object') {
+        setInternalEditToken({
+          ...internalEditToken,
+          value: { ...newTypographyValue },
+        });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleBorderValueChange = React.useCallback(
+    (property: string, value: string) => {
+      if (internalEditToken?.type === TokenTypes.BORDER && typeof internalEditToken?.value !== 'string') {
+        setInternalEditToken({
+          ...internalEditToken,
+          value: {
+            ...internalEditToken.value,
+            [property]: value,
+          },
+        });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const handleBorderValueDownShiftInputChange = React.useCallback(
+    (newInputValue: string, property: string) => {
+      if (internalEditToken?.type === TokenTypes.BORDER && typeof internalEditToken?.value !== 'string') {
+        setInternalEditToken({
+          ...internalEditToken,
+          value: { ...internalEditToken.value, [property]: newInputValue },
+        });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const setBorderValue = React.useCallback(
+    (newBorderValue: SingleBorderToken['value']) => {
+      if (internalEditToken?.type === TokenTypes.BORDER && typeof newBorderValue === 'object') {
+        setInternalEditToken({
+          ...internalEditToken,
+          value: { ...newBorderValue },
+        });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const removeColorModify = React.useCallback(() => {
+    const newValue = { ...internalEditToken.$extensions?.['studio.tokens'] };
+    delete newValue?.modify;
+    setInternalEditToken({
+      ...internalEditToken,
+      $extensions: {
+        ...internalEditToken.$extensions,
+        'studio.tokens': Object.keys(newValue).length > 0 ? newValue : undefined,
+      } as SingleToken['$extensions'],
+    });
+  }, [internalEditToken]);
+ 
+  const handleColorModifyChange = React.useCallback(
+    (newModify: ColorModifier) => {
+      setInternalEditToken({
+        ...internalEditToken,
+        $extensions: {
+          ...internalEditToken.$extensions,
+          'studio.tokens': {
+            ...internalEditToken.$extensions?.['studio.tokens'],
+            modify: newModify,
+          },
+        } as SingleToken['$extensions'],
+      });
+    },
+    [internalEditToken],
+  );
+ 
+  const handleDownShiftInputChange = React.useCallback(
+    (newInputValue: string) => {
+      setInternalEditToken({
+        ...internalEditToken,
+        value: newInputValue,
+      } as typeof editToken);
+    },
+    [internalEditToken],
+  );
+ 
+  const handleDescriptionChange = React.useCallback(
+    (value: string) => {
+      if (internalEditToken) {
+        setInternalEditToken({
+          ...internalEditToken,
+          description: value,
+        });
+      }
+    },
+    [internalEditToken],
+  );
+ 
+  const resolvedValue = React.useMemo(() => {
+    if (internalEditToken) {
+      return typeof internalEditToken?.value === 'string'
+        ? getAliasValue(internalEditToken as SingleToken, resolvedTokens, false)
+        : null;
+    }
+    return null;
+  }, [internalEditToken, resolvedTokens]);
+ 
+  // @TODO update to useCallback
+  const submitTokenValue = async ({
+    type, value, name, $extensions,
+  }: EditTokenObject) => {
+    if (internalEditToken && value && name) {
+      let oldName: string | undefined;
+      if (internalEditToken.initialName !== name && internalEditToken.initialName) {
+        oldName = internalEditToken.initialName;
+      }
+      const trimmedValue = trimValue(value);
+      const newName = name
+        .split('/')
+        .map((n) => n.trim())
+        .join('.');
+      if (internalEditToken.status === EditTokenFormStatus.CREATE) {
+        track('Create token', { type: internalEditToken.type, isModifier: !!$extensions?.['studio.tokens']?.modify });
+        createSingleToken({
+          description: internalEditToken.description ?? internalEditToken.oldDescription,
+          parent: activeTokenSet,
+          name: newName,
+          type,
+          value: trimmedValue as SingleToken['value'],
+          ...($extensions ? { $extensions } : {}),
+        });
+      } else if (internalEditToken.status === EditTokenFormStatus.EDIT) {
+        editSingleToken({
+          description: internalEditToken.description ?? internalEditToken.oldDescription,
+          parent: activeTokenSet,
+          name: newName,
+          oldName,
+          type,
+          value: trimmedValue as SingleToken['value'],
+          ...($extensions ? { $extensions } : {}),
+        });
+        if (themes.length > 0 && tokenTypesToCreateVariable.includes(internalEditToken.type)) {
+          updateVariablesFromToken({
+            parent: activeTokenSet,
+            name: internalEditToken.initialName ?? name,
+            type,
+            value: resolvedValue,
+            rawValue: internalEditToken.value,
+            ...($extensions ? { $extensions } : {}),
+          });
+        }
+        // When users change token names the applied tokens on layers are still pointing to the old name, ask user to remap
+        if (oldName && oldName !== newName) {
+          track('Edit token', { renamed: true, type: internalEditToken.type });
+          const choices: Choice[] = [
+            {
+              key: UpdateMode.SELECTION,
+              label: 'Selection',
+              unique: true,
+              enabled: UpdateMode.SELECTION === lastUsedRenameOption,
+            },
+            {
+              key: UpdateMode.PAGE,
+              label: 'Page',
+              unique: true,
+              enabled: UpdateMode.PAGE === lastUsedRenameOption,
+            },
+            {
+              key: UpdateMode.DOCUMENT,
+              label: 'Document',
+              unique: true,
+              enabled: UpdateMode.DOCUMENT === lastUsedRenameOption,
+            },
+          ];
+          if (themes.length > 0 && tokenTypesToCreateVariable.includes(internalEditToken.type)) {
+            choices.push({
+              key: ModalOptions.RENAME_VARIABLE,
+              label: 'Rename variable',
+            });
+          }
+          if (
+            themes.length > 0
+            && [TokenTypes.COLOR, TokenTypes.TYPOGRAPHY, TokenTypes.BOX_SHADOW].includes(internalEditToken.type)
+          ) {
+            choices.push({
+              key: StyleOptions.RENAME,
+              label: 'Rename style',
+              enabled: lastUsedRenameStyles,
+            });
+          }
+          const tokenSetsContainsSameToken: string[] = [];
+          Object.entries(tokens).forEach(([tokenSet, tokenList]) => {
+            if (tokenList.find((token) => token.name === oldName)) {
+              tokenSetsContainsSameToken.push(tokenSet);
+            }
+          });
+          if (tokenSetsContainsSameToken.length > 1) {
+            choices.push({
+              key: ModalOptions.RENAME_ACROSS_SETS,
+              label: 'Rename in other sets',
+            });
+          }
+          const confirmData = await confirm({
+            text: `Remap all tokens that use ${oldName} to ${newName}?`,
+            description: 'This will change all layers that used the old token name. This could take a while.',
+            choices,
+          });
+          if (confirmData && confirmData.result) {
+            if (
+              confirmData.data.some((data: string) => [UpdateMode.DOCUMENT, UpdateMode.PAGE, UpdateMode.SELECTION].includes(data as UpdateMode))
+            ) {
+              remapToken(oldName, newName, confirmData.data[0]);
+              lastUsedRenameOption = confirmData.data[0] as UpdateMode;
+            }
+            if (confirmData.data.includes(ModalOptions.RENAME_ACROSS_SETS)) {
+              renameTokensAcrossSets(oldName, newName, type, tokenSetsContainsSameToken);
+            }
+            if (confirmData.data.includes(StyleOptions.RENAME)) {
+              renameStylesFromTokens([{ oldName, newName }], activeTokenSet);
+              lastUsedRenameStyles = true;
+            }
+            if (confirmData.data.includes(ModalOptions.RENAME_VARIABLE)) {
+              renameVariablesFromToken({ oldName, newName });
+            }
+          }
+        } else {
+          track('Edit token', { renamed: false });
+        }
+      } else if (internalEditToken.status === EditTokenFormStatus.DUPLICATE) {
+        oldName = internalEditToken.initialName?.slice(0, internalEditToken.initialName?.lastIndexOf('-copy'));
+        duplicateSingleToken({
+          description: internalEditToken.description ?? internalEditToken.oldDescription,
+          parent: activeTokenSet,
+          newName,
+          oldName,
+          type,
+          value: trimmedValue as SingleToken['value'],
+          tokenSets: selectedTokenSets,
+          ...($extensions ? { $extensions } : {}),
+        });
+      }
+    }
+  };
+ 
+  const checkAndSubmitTokenValue = React.useCallback(() => {
+    if (internalEditToken.type === TokenTypes.DIMENSION && !isValidDimensionToken) {
+      setError(t('valueMustIncludePxOrRem', { ns: 'errors' }));
+      return;
+    }
+    if (isValid && internalEditToken) {
+      submitTokenValue(internalEditToken);
+      dispatch.uiState.setShowEditForm(false);
+    }
+  }, [dispatch, isValid, internalEditToken, submitTokenValue, isValidDimensionToken]);
+ 
+  const handleFormSubmit = React.useCallback((e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    checkAndSubmitTokenValue();
+  }, [checkAndSubmitTokenValue]);
+ 
+  const handleSaveShortcut = React.useCallback(
+    (e: KeyboardEvent) => {
+      if (e.metaKey || e.ctrlKey) {
+        checkAndSubmitTokenValue();
+      }
+    },
+    [checkAndSubmitTokenValue],
+  );
+ 
+  useShortcut(['Enter'], handleSaveShortcut);
+ 
+  const handleReset = React.useCallback(() => {
+    dispatch.uiState.setShowEditForm(false);
+  }, [dispatch]);
+ 
+  const handleSelectedItemChange = React.useCallback((selectedItems: string[]) => {
+    setSelectedTokenSets(selectedItems);
+    if (selectedItems.length > 0) setError(null);
+  }, []);
+ 
+  const renderTokenForm = () => {
+    if (!internalEditToken) return null;
+ 
+    switch (internalEditToken.type) {
+      case TokenTypes.BOX_SHADOW: {
+        return (
+          <BoxShadowInput
+            handleBoxShadowValueChange={handleBoxShadowValueChange}
+            handleBoxShadowAliasValueChange={handleChange}
+            resolvedTokens={resolvedTokens}
+            internalEditToken={internalEditToken}
+            handleDownShiftInputChange={handleDownShiftInputChange}
+            onSubmit={checkAndSubmitTokenValue}
+          />
+        );
+      }
+      case TokenTypes.TYPOGRAPHY: {
+        return (
+          <TypographyInput
+            internalEditToken={internalEditToken}
+            handleTypographyValueChange={handleTypographyValueChange}
+            handleTypographyAliasValueChange={handleChange}
+            resolvedTokens={resolvedTokens}
+            handleTypographyValueDownShiftInputChange={handleTypographyValueDownShiftInputChange}
+            handleDownShiftInputChange={handleDownShiftInputChange}
+            setTypographyValue={setTypographyValue}
+            onSubmit={checkAndSubmitTokenValue}
+          />
+        );
+      }
+      case TokenTypes.COMPOSITION: {
+        return (
+          <CompositionTokenForm
+            internalEditToken={internalEditToken}
+            setTokenValue={handleCompositionChange}
+            resolvedTokens={resolvedTokens}
+            onSubmit={checkAndSubmitTokenValue}
+          />
+        );
+      }
+      case TokenTypes.BORDER: {
+        return (
+          <BorderTokenForm
+            internalEditToken={internalEditToken}
+            resolvedTokens={resolvedTokens}
+            handleBorderValueChange={handleBorderValueChange}
+            handleBorderValueDownShiftInputChange={handleBorderValueDownShiftInputChange}
+            handleBorderAliasValueChange={handleChange}
+            handleDownShiftInputChange={handleDownShiftInputChange}
+            setBorderValue={setBorderValue}
+            onSubmit={checkAndSubmitTokenValue}
+          />
+        );
+      }
+      case TokenTypes.COLOR: {
+        return (
+          <ColorTokenForm
+            internalEditToken={internalEditToken}
+            resolvedTokens={resolvedTokens}
+            resolvedValue={resolvedValue}
+            handleColorChange={handleChange}
+            handleColorDownShiftInputChange={handleDownShiftInputChange}
+            handleColorModifyChange={handleColorModifyChange}
+            handleRemoveColorModify={removeColorModify}
+            onSubmit={checkAndSubmitTokenValue}
+          />
+        );
+      }
+      default: {
+        return (
+          <div>
+            <DownshiftInput
+              value={internalEditToken.value}
+              type={internalEditToken.type}
+              label={internalEditToken.schema?.property}
+              resolvedTokens={resolvedTokens}
+              initialName={internalEditToken.initialName}
+              handleChange={handleChange}
+              handleBlur={handleBlur}
+              setInputValue={handleDownShiftInputChange}
+              placeholder="Value or {alias}"
+              suffix
+              onSubmit={checkAndSubmitTokenValue}
+            />
+ 
+            {checkIfContainsAlias(internalEditToken.value) && (
+              <Box
+                css={{
+                  display: 'flex',
+                  padding: '$3',
+                  marginTop: '$3',
+                  fontFamily: '$mono',
+                  color: '$fgMuted',
+                  backgroundColor: '$bgSubtle',
+                  borderColor: '$borderSubtle',
+                  borderRadius: '$medium',
+                  fontSize: '$xxs',
+                  alignItems: 'center',
+                }}
+              >
+                {resolvedValue?.toString()}
+              </Box>
+            )}
+          </div>
+        );
+      }
+    }
+  };
+ 
+  return (
+    <form onSubmit={handleFormSubmit}>
+      <Stack gap={3} direction="column" justify="start">
+        <Input
+          required
+          full
+          label={t('name')}
+          value={internalEditToken?.name}
+          onChange={handleNameChange}
+          type="text"
+          autofocus
+          name="name"
+          error={error}
+          placeholder={t('uniqueName')}
+        />
+        {renderTokenForm()}
+ 
+        {internalEditToken?.schema?.explainer && (
+          <Text muted size="small">
+            {internalEditToken.schema.explainer}
+          </Text>
+        )}
+        <Box>
+          <Heading size="small">{t('description')}</Heading>
+          <Textarea
+            key="description"
+            value={internalEditToken?.description || ''}
+            placeholder={t('optionalDescription')}
+            onChange={handleDescriptionChange}
+            rows={3}
+            css={{ fontSize: '$xsmall', padding: '$3' }}
+          />
+        </Box>
+        {internalEditToken.status === EditTokenFormStatus.DUPLICATE && (
+          <Box>
+            <Label>{t('set', { ns: 'general' })}</Label>
+            <MultiSelectDropdown
+              menuItems={Object.keys(tokens)}
+              selectedItems={selectedTokenSets}
+              handleSelectedItemChange={handleSelectedItemChange}
+            />
+          </Box>
+        )}
+        <Stack direction="row" justify="end" gap={3}>
+          <Button variant="secondary" type="button" onClick={handleReset}>
+            {t('cancel')}
+          </Button>
+          <Button disabled={!isValid || !!error} variant="primary" type="submit">
+            {internalEditToken?.status === EditTokenFormStatus.CREATE && t('create')}
+            {internalEditToken?.status === EditTokenFormStatus.EDIT && t('save')}
+            {internalEditToken?.status !== EditTokenFormStatus.CREATE
+              && internalEditToken?.status !== EditTokenFormStatus.EDIT
+              && t('duplicate')}
+          </Button>
+        </Stack>
+      </Stack>
+    </form>
+  );
+}
+ 
+export default EditTokenForm;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html new file mode 100644 index 000000000..351e69eab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/app/components/EditTokenFormModal.tsx + + + + + + + + + +
+
+

All files / src/app/components EditTokenFormModal.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { useDispatch, useSelector } from 'react-redux';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { Dispatch } from '../store';
+import EditTokenForm from './EditTokenForm';
+import Modal from './Modal';
+import { editTokenSelector } from '@/selectors';
+import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import { showAutoSuggestSelector } from '@/selectors/showAutoSuggestSelector';
+ 
+type Props = {
+  resolvedTokens: ResolveTokenValuesResult[];
+};
+ 
+const EditTokenFormModal: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ resolvedTokens }) => {
+  const editToken = useSelector(editTokenSelector);
+  const showAutoSuggest = useSelector(showAutoSuggestSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleReset = React.useCallback(() => {
+    if (!showAutoSuggest) {
+      dispatch.uiState.setShowEditForm(false);
+    }
+  }, [dispatch, showAutoSuggest]);
+ 
+  if (!editToken) {
+    return null;
+  }
+ 
+  return (
+    <Modal
+      compact
+      size="large"
+      isOpen
+      modal={false}
+      close={handleReset}
+      // eslint-disable-next-line no-nested-ternary
+      title={editToken.status === EditTokenFormStatus.CREATE ? t('newToken')
+        : editToken.status === EditTokenFormStatus.DUPLICATE ? t('duplicateToken') : editToken.initialName}
+    >
+      <EditTokenForm resolvedTokens={resolvedTokens} />
+    </Modal>
+  );
+};
+ 
+export default EditTokenFormModal;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html new file mode 100644 index 000000000..0f72d9715 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/app/components/ErrorFallback/ErrorFallback.tsx + + + + + + + + + +
+
+

All files / src/app/components/ErrorFallback ErrorFallback.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Heading } from '@tokens-studio/ui';
+import Stack from '../Stack';
+import Text from '../Text';
+ 
+export function ErrorFallback({ error }: { error: Error }) {
+  return (
+    <Stack direction="column" align="center" gap={4} justify="center" css={{ padding: '$4', height: '100%', textAlign: 'center' }}>
+      <Heading>An unexpected error has occured</Heading>
+      <Stack direction="column" gap={3}>
+        <Text size="xsmall" muted>{error.message}</Text>
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html new file mode 100644 index 000000000..69ff5a198 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/ErrorFallback + + + + + + + + + +
+
+

All files src/app/components/ErrorFallback

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ErrorFallback.tsx +
+
0%0/1100%0/00%0/10%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html new file mode 100644 index 000000000..4d8fd744b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/ErrorFallback/index.ts + + + + + + + + + +
+
+

All files / src/app/components/ErrorFallback index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './ErrorFallback';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html new file mode 100644 index 000000000..1c4f25414 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/components/ErrorMessage.tsx + + + + + + + + + +
+
+

All files / src/app/components ErrorMessage.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const ErrorMessage = styled('div', {
+  backgroundColor: '$dangerBg',
+  border: '1px solid $dangerBorder',
+  color: '$dangerFg',
+  borderRadius: '$small',
+  padding: '$4',
+  fontSize: '$xs',
+  fontWeight: '$sansBold',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html new file mode 100644 index 000000000..564c1ea6f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/app/components/ErrorValidation.tsx + + + + + + + + + +
+
+

All files / src/app/components ErrorValidation.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const ErrorValidation = styled('div', {
+  color: '$dangerFg',
+  fontWeight: '$sansBold',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html new file mode 100644 index 000000000..90fdd3897 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/app/components/ExplainerModal.tsx + + + + + + + + + +
+
+

All files / src/app/components ExplainerModal.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { HelpCircle } from 'iconoir-react';
+import { IconButton, Stack } from '@tokens-studio/ui';
+import React from 'react';
+import Modal from './Modal';
+ 
+export function ExplainerModal({ title, children, ...props }: { title: string, children: React.ReactNode }) {
+  const [open, setOpen] = React.useState(false);
+  const handleClose = React.useCallback(() => setOpen(false), []);
+  const handleOpen = React.useCallback(() => setOpen(true), []);
+  return (
+    <>
+      <Modal title={title} isOpen={open} close={handleClose} {...props} showClose>
+        <Stack direction="column" align="start" gap={4} css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
+          {children}
+        </Stack>
+      </Modal>
+      <IconButton icon={<HelpCircle />} variant="invisible" size="small" onClick={handleOpen} />
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html new file mode 100644 index 000000000..d076463a0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html @@ -0,0 +1,346 @@ + + + + + + Code coverage report for src/app/components/ExportProvider/MultiFilesExport.tsx + + + + + + + + + +
+
+

All files / src/app/components/ExportProvider MultiFilesExport.tsx

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { useUIDSeed } from 'react-uid';
+import JSZip from 'jszip';
+import { saveAs } from 'file-saver';
+import { Button, Heading } from '@tokens-studio/ui';
+import convertTokensToObject from '@/utils/convertTokensToObject';
+import Stack from '../Stack';
+import { IconFile } from '@/icons';
+import {
+  tokensSelector, themesListSelector, storeTokenIdInJsonEditorSelector,
+} from '@/selectors';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { track } from '@/utils/analytics';
+ 
+type Props = {
+  onClose: () => void;
+};
+ 
+export default function MultiFilesExport({ onClose }: Props) {
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const seed = useUIDSeed();
+ 
+  const filesChangeset = React.useMemo(() => {
+    const changeObj: Record<string, string> = {};
+    Object.entries(convertTokensToObject(tokens, storeTokenIdInJsonEditor)).forEach(([key, value]) => {
+      changeObj[`${key}.json`] = JSON.stringify(value, null, 2);
+    });
+    changeObj[`${SystemFilenames.THEMES}.json`] = JSON.stringify(themes, null, 2);
+    const metadata = {
+      tokenSetOrder: Object.keys(tokens),
+    };
+    changeObj[`${SystemFilenames.METADATA}.json`] = JSON.stringify(metadata, null, 2);
+    return changeObj;
+  }, [tokens, themes]);
+ 
+  const downLoadDataAsZip = React.useCallback(() => {
+    const zip = new JSZip();
+    Object.entries(filesChangeset)?.forEach(([key, value]) => {
+      zip.file(key, value);
+    });
+    zip.generateAsync({ type: 'blob' })
+      .then((content) => {
+        saveAs(content, 'tokens.zip');
+      });
+    track('Export directory');
+ 
+    onClose();
+  }, [filesChangeset, onClose]);
+ 
+  return (
+    <Stack direction="column" gap={4}>
+      <Heading size="small">Preview</Heading>
+      <Stack
+        direction="column"
+        gap={3}
+        className="content scroll-container"
+        css={{
+          border: '1px solid',
+          borderColor: '$borderSubtle',
+          padding: '$4',
+          borderRadius: '$small',
+          maxHeight: '200px',
+        }}
+      >
+        {
+          Object.keys(filesChangeset)?.map((key, index) => (
+            <Stack direction="row" align="start" gap={3} css={{ fontSize: '$xsmall' }} key={seed(index)}>
+              <IconFile />
+              {key}
+            </Stack>
+          ))
+        }
+      </Stack>
+      <Stack width="full" direction="row" justify="end" gap={4}>
+        <Button variant="secondary" onClick={onClose}>
+          Cancel
+        </Button>
+        <Button variant="primary" onClick={downLoadDataAsZip}>
+          Export
+        </Button>
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html new file mode 100644 index 000000000..eca3bd20f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html @@ -0,0 +1,595 @@ + + + + + + Code coverage report for src/app/components/ExportProvider/SingleFileExport.tsx + + + + + + + + + +
+
+

All files / src/app/components/ExportProvider SingleFileExport.tsx

+
+ +
+ 0% + Statements + 0/33 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/10 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import set from 'set-value';
+import {
+  Button, Heading, Textarea, Checkbox,
+} from '@tokens-studio/ui';
+import useTokens from '@/app/store/useTokens';
+import {
+  themesListSelector, tokensSelector,
+} from '@/selectors';
+import Label from '../Label';
+import Box from '../Box';
+import Stack from '../Stack';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { track } from '@/utils/analytics';
+ 
+type Props = {
+  onClose: () => void
+};
+ 
+export default function SingleFileExport({ onClose }: Props) {
+  const { getFormattedTokens } = useTokens();
+  const [includeAllTokens, setIncludeAllTokens] = React.useState(false);
+  const [includeParent, setIncludeParent] = React.useState(true);
+  const [expandTypography, setExpandTypography] = React.useState(false);
+  const [expandShadow, setExpandShadow] = React.useState(false);
+  const [expandComposition, setExpandComposition] = React.useState(false);
+  const [expandBorder, setExpandBorder] = React.useState(false);
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+ 
+  const handleToggleIncludeAllTokens = React.useCallback(() => {
+    setIncludeAllTokens(!includeAllTokens);
+  }, [includeAllTokens]);
+ 
+  const handleToggleIncludeParent = React.useCallback(() => {
+    setIncludeParent(!includeParent);
+  }, [includeParent]);
+ 
+  const handleToggleExpandTypograhy = React.useCallback(() => {
+    setExpandTypography(!expandTypography);
+  }, [expandTypography]);
+ 
+  const handleToggleExpandShadow = React.useCallback(() => {
+    setExpandShadow(!expandShadow);
+  }, [expandShadow]);
+ 
+  const handleToggleExpandComposition = React.useCallback(() => {
+    setExpandComposition(!expandComposition);
+  }, [expandComposition]);
+ 
+  const handleToggleExpandBorder = React.useCallback(() => {
+    setExpandBorder(!expandBorder);
+  }, [expandBorder]);
+ 
+  const handleClickExport = React.useCallback(() => {
+    track('Export file', {
+      includeParent, includeAllTokens, expandComposition, expandShadow, expandTypography, expandBorder,
+    });
+    onClose();
+  }, [expandComposition, expandShadow, expandTypography, expandBorder, includeAllTokens, includeParent, onClose]);
+ 
+  const formattedTokens = React.useMemo(() => getFormattedTokens({
+    includeAllTokens, includeParent, expandTypography, expandShadow, expandComposition, expandBorder,
+  }), [includeAllTokens, includeParent, expandTypography, expandShadow, expandComposition, expandBorder, getFormattedTokens]);
+ 
+  const exportData = React.useMemo(() => {
+    const returnValue = JSON.parse(formattedTokens);
+    if (includeAllTokens) {
+      set(returnValue, SystemFilenames.THEMES, themes);
+      set(returnValue, SystemFilenames.METADATA, {
+        tokenSetOrder: Object.keys(tokens),
+      });
+    }
+    return JSON.stringify(returnValue, null, 2);
+  }, [formattedTokens, tokens, themes, includeAllTokens]);
+ 
+  return (
+    <Stack gap={4} direction="column">
+      <Box css={{ display: 'flex', flexDirection: 'column', gap: 5 }}>
+        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
+          <Checkbox
+            id="includeAllTokens"
+            checked={includeAllTokens}
+            defaultChecked={includeAllTokens}
+            onCheckedChange={handleToggleIncludeAllTokens}
+          />
+          <Label htmlFor="includeAllTokens">All token sets</Label>
+        </Box>
+        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
+          <Checkbox
+            disabled={includeAllTokens}
+            id="includeParent"
+            checked={includeParent}
+            defaultChecked={includeParent}
+            onCheckedChange={handleToggleIncludeParent}
+          />
+          <Label disabled={includeAllTokens} htmlFor="includeParent">
+            Include parent key
+          </Label>
+        </Box>
+      </Box>
+      <Box css={{ display: 'flex', flexDirection: 'column', gap: 5 }}>
+        <Heading size="small">Options</Heading>
+        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
+          <Checkbox
+            id="expandTypography"
+            checked={expandTypography}
+            defaultChecked={expandTypography}
+            onCheckedChange={handleToggleExpandTypograhy}
+          />
+          <Label htmlFor="expandTypography">Expand Typography</Label>
+        </Box>
+        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
+          <Checkbox
+            id="expandShadow"
+            checked={expandShadow}
+            defaultChecked={expandShadow}
+            onCheckedChange={handleToggleExpandShadow}
+          />
+          <Label htmlFor="expandShadow">Expand Shadows</Label>
+        </Box>
+        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
+          <Checkbox
+            id="expandComposition"
+            checked={expandComposition}
+            defaultChecked={expandComposition}
+            onCheckedChange={handleToggleExpandComposition}
+          />
+          <Label htmlFor="expandComposition">Expand Composition</Label>
+        </Box>
+        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
+          <Checkbox
+            id="expandBorder"
+            checked={expandBorder}
+            defaultChecked={expandBorder}
+            onCheckedChange={handleToggleExpandBorder}
+          />
+          <Label htmlFor="expandBorder">Expand Border</Label>
+        </Box>
+      </Box>
+      <Heading size="small">Preview</Heading>
+      <Textarea
+        rows={10}
+        disabled
+        value={exportData}
+        css={{
+          fontFamily: '$mono',
+          fontSize: '$xxsmall',
+          lineHeight: '140%',
+        }}
+      />
+      <Stack width="full" direction="row" justify="end" gap={4}>
+        <Button variant="secondary" onClick={onClose}>
+          Cancel
+        </Button>
+        <Button
+          as="a"
+          href={`data:text/json;charset=utf-8,${encodeURIComponent(exportData)}`}
+          // @ts-ignore Exception to allow setting the download prop here
+          download="tokens.json"
+          variant="primary"
+          onClick={handleClickExport}
+        >
+          Export
+        </Button>
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html new file mode 100644 index 000000000..b55d9b744 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/ExportProvider + + + + + + + + + +
+
+

All files src/app/components/ExportProvider

+
+ +
+ 0% + Statements + 0/55 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/17 +
+ + +
+ 0% + Lines + 0/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
MultiFilesExport.tsx +
+
0%0/22100%0/00%0/70%0/22
SingleFileExport.tsx +
+
0%0/330%0/20%0/100%0/32
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html new file mode 100644 index 000000000..c8e6c4083 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html @@ -0,0 +1,313 @@ + + + + + + Code coverage report for src/app/components/FigmaLoading.tsx + + + + + + + + + +
+
+

All files / src/app/components FigmaLoading.tsx

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { PropsWithChildren } from 'react';
+import { useTranslation } from 'react-i18next';
+import { Box, Spinner, Stack } from '@tokens-studio/ui';
+import TokensStudioIcon from '@/icons/tokensstudio.svg';
+import TokensStudioWord from '@/icons/tokensstudio-word.svg';
+import * as pjs from '../../../package.json';
+import { styled } from '@/stitches.config';
+ 
+const StyledLoadingScreen = styled(Stack, {
+  background: '$loadingScreenBg',
+  height: '100vh',
+  color: '$loadingScreenFg',
+});
+ 
+const StyledTokensStudioIcon = styled(TokensStudioIcon, {
+  width: '150px',
+  height: '125px',
+});
+ 
+const StyledTokensStudioWord = styled(TokensStudioWord, {
+  width: '200px',
+  height: '25px',
+});
+ 
+const StyledLoadingButton = styled('button', {
+  textDecoration: 'underline',
+  color: '$loadingScreenFgMuted',
+  '&:hover, &:focus': {
+    color: '$loadingScreenFg',
+  },
+});
+ 
+type Props = PropsWithChildren<{
+  isLoading?: boolean
+  label?: string
+  onCancel?: () => void
+}>;
+ 
+export default function FigmaLoading({
+  isLoading, label, onCancel, children,
+}: Props) {
+  const { t } = useTranslation(['startScreen']);
+ 
+  if (!isLoading) {
+    return (
+      <Box>
+        {children}
+      </Box>
+    );
+  }
+ 
+  return (
+    <StyledLoadingScreen data-testid="figmaloading" justify="center" direction="column" gap={4} className="content scroll-container">
+      <Stack direction="column" gap={4} align="center">
+        <Stack direction="column" gap={4} align="center">
+          <StyledTokensStudioIcon />
+          <StyledTokensStudioWord />
+        </Stack>
+        <Stack direction="column" gap={4} align="center" css={{ color: '$loadingScreenFgMuted' }}>
+          {t('version')}
+          {' '}
+          {pjs.version}
+        </Stack>
+        <Stack direction="row" gap={4} justify="center" align="center">
+          <Spinner onAccent />
+          <Stack direction="column" gap={4} justify="center" align="center">
+            {label ?? t('loadingWait')}
+          </Stack>
+        </Stack>
+        <Stack direction="row" gap={4}>
+          <StyledLoadingButton type="button" onClick={onCancel}>{t('cancel')}</StyledLoadingButton>
+        </Stack>
+      </Stack>
+    </StyledLoadingScreen>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html new file mode 100644 index 000000000..cbbb733dc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/app/components/Flex/Flex.tsx + + + + + + + + + +
+
+

All files / src/app/components/Flex Flex.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const Flex = styled('div', {
+  display: 'flex',
+  variants: {
+    justifyContent: {
+      center: { justifyContent: 'center' },
+      start: { justifyContent: 'flex-start' },
+      end: { justifyContent: 'flex-end' },
+      between: { justifyContent: 'space-between' },
+      around: { justifyContent: 'space-around' },
+    },
+    alignItems: {
+      center: { alignItems: 'center' },
+      start: { alignItems: 'flex-start' },
+      end: { alignItems: 'flex-end' },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html new file mode 100644 index 000000000..e5c38c4c7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/Flex + + + + + + + + + +
+
+

All files src/app/components/Flex

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Flex.tsx +
+
0%0/1100%0/0100%0/00%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html new file mode 100644 index 000000000..97918ebad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/Flex/index.ts + + + + + + + + + +
+
+

All files / src/app/components/Flex index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export { Flex } from './Flex';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html new file mode 100644 index 000000000..57ed3d616 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html @@ -0,0 +1,637 @@ + + + + + + Code coverage report for src/app/components/Footer.tsx + + + + + + + + + +
+
+

All files / src/app/components Footer.tsx

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useSelector } from 'react-redux';
+import { DownloadIcon, UploadIcon } from '@primer/octicons-react';
+import { useTranslation } from 'react-i18next';
+import { Button, IconButton } from '@tokens-studio/ui';
+import { WarningTriangleSolid } from 'iconoir-react';
+import * as pjs from '../../../package.json';
+import Box from './Box';
+import Stack from './Stack';
+import BranchSelector from './BranchSelector';
+import useRemoteTokens from '../store/remoteTokens';
+import {
+  localApiStateSelector,
+  editProhibitedSelector,
+  storageTypeSelector,
+  usedTokenSetSelector,
+  projectURLSelector,
+  activeThemeSelector,
+  uiStateSelector,
+  tokensSizeSelector,
+  themesSizeSelector,
+} from '@/selectors';
+import DocsIcon from '@/icons/docs.svg';
+import RefreshIcon from '@/icons/refresh.svg';
+import FeedbackIcon from '@/icons/feedback.svg';
+import Tooltip from './Tooltip';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { isGitProvider } from '@/utils/is';
+import IconLibrary from '@/icons/library.svg';
+import ProBadge from './ProBadge';
+import { transformProviderName } from '@/utils/transformProviderName';
+import { DirtyStateBadgeWrapper } from './DirtyStateBadgeWrapper';
+import { useChangedState } from '@/hooks/useChangedState';
+import { docUrls } from '@/constants/docUrls';
+import { TokenFormatBadge } from './TokenFormatBadge';
+import { isEqual } from '@/utils/isEqual';
+import { useStorageSizeWarning } from '../hooks/useStorageSizeWarning';
+ 
+export default function Footer() {
+  const storageType = useSelector(storageTypeSelector);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const localApiState = useSelector(localApiStateSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const tokensSize = useSelector(tokensSizeSelector);
+  const themesSize = useSelector(themesSizeSelector);
+  const projectURL = useSelector(projectURLSelector);
+  const uiState = useSelector(uiStateSelector, isEqual);
+  const { pullTokens, pushTokens, checkRemoteChange } = useRemoteTokens();
+  const { t } = useTranslation(['footer', 'licence']);
+  const activeTheme = useSelector(activeThemeSelector);
+  const { hasChanges: hasLocalChange } = useChangedState();
+  const { hasRemoteChange } = uiState;
+ 
+  React.useEffect(() => {
+    const interval = setInterval(() => {
+      checkRemoteChange();
+    }, 60000);
+    return () => clearInterval(interval);
+  }, [checkRemoteChange]);
+ 
+  const onPushButtonClicked = React.useCallback(() => pushTokens(), [pushTokens]);
+  const onPullButtonClicked = React.useCallback(() => pullTokens({ usedTokenSet, activeTheme }), [pullTokens, usedTokenSet, activeTheme]);
+  const handlePullTokens = useCallback(() => {
+    pullTokens({ usedTokenSet, activeTheme, updateLocalTokens: true });
+  }, [pullTokens, usedTokenSet, activeTheme]);
+ 
+  const handleBadgeClick = useStorageSizeWarning();
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        alignItems: 'center',
+        justifyContent: 'space-between',
+        flexShrink: 0,
+        padding: '$3',
+        borderTop: '1px solid $borderMuted',
+      }}
+    >
+      <Stack direction="row" align="center" gap={2}>
+        {storageType.provider === StorageProviderType.LOCAL && (tokensSize > 100 || themesSize > 100) && (
+          <Button
+            icon={<WarningTriangleSolid />}
+            size="small"
+            variant="invisible"
+            onClick={handleBadgeClick}
+          >
+            {`${tokensSize > 100 ? tokensSize : themesSize} KB`}
+          </Button>
+        )}
+        {((isGitProvider(localApiState) && localApiState.branch) || storageType.provider === StorageProviderType.SUPERNOVA) && (
+          <>
+            <BranchSelector />
+            <TokenFormatBadge />
+            <DirtyStateBadgeWrapper badge={hasRemoteChange}>
+              <IconButton
+                data-testid="footer-pull-button"
+                icon={<DownloadIcon />}
+                onClick={onPullButtonClicked}
+                variant="invisible"
+                size="small"
+                tooltipSide="top"
+                tooltip={
+                  t('pullFrom', {
+                    provider: transformProviderName(storageType.provider),
+                  }) as string
+                }
+              />
+            </DirtyStateBadgeWrapper>
+            <DirtyStateBadgeWrapper badge={hasLocalChange}>
+              <IconButton
+                data-testid="footer-push-button"
+                icon={<UploadIcon />}
+                onClick={onPushButtonClicked}
+                variant="invisible"
+                size="small"
+                tooltipSide="top"
+                disabled={editProhibited || !hasLocalChange}
+                tooltip={
+                  t('pushTo', {
+                    provider: transformProviderName(storageType.provider),
+                  }) as string
+                }
+              />
+            </DirtyStateBadgeWrapper>
+          </>
+        )}
+        {storageType.provider !== StorageProviderType.LOCAL
+          && storageType.provider !== StorageProviderType.GITHUB
+          && storageType.provider !== StorageProviderType.GITLAB
+          && storageType.provider !== StorageProviderType.ADO
+          && storageType.provider !== StorageProviderType.BITBUCKET
+          && storageType.provider !== StorageProviderType.SUPERNOVA
+          ? (
+            <Stack align="center" direction="row" gap={2}>
+              {storageType.provider === StorageProviderType.JSONBIN && (
+                <Tooltip label={t('goTo', {
+                  provider: transformProviderName(storageType.provider),
+                }) as string}
+                >
+                  <IconButton icon={<IconLibrary />} href={projectURL} />
+                </Tooltip>
+              )}
+              <IconButton
+                tooltip={t('pullFrom', {
+                  provider: transformProviderName(storageType.provider),
+                }) as string}
+                onClick={handlePullTokens}
+                variant="invisible"
+                size="small"
+                icon={<RefreshIcon />}
+              />
+            </Stack>
+          ) : null}
+      </Stack>
+      <Stack direction="row" gap={4} align="center">
+        <Box css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
+          <a href="https://tokens.studio/changelog" target="_blank" rel="noreferrer">{`V ${pjs.version}`}</a>
+        </Box>
+        <Stack direction="row" gap={1}>
+          <ProBadge campaign="footer" />
+          <IconButton
+            as="a"
+            href={docUrls.root}
+            icon={<DocsIcon />}
+            variant="invisible"
+            size="small"
+            tooltip={t('docs') as string}
+            target="_blank"
+          />
+          <IconButton
+            as="a"
+            href="https://tokensstudio.featurebase.app/?b=65971b8c143e3c7207d29602"
+            icon={<FeedbackIcon />}
+            variant="invisible"
+            size="small"
+            tooltip={t('feedback') as string}
+            target="_blank"
+          />
+        </Stack>
+      </Stack>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html new file mode 100644 index 000000000..d8aba3141 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/IconToggleableDisclosure.tsx + + + + + + + + + +
+
+

All files / src/app/components IconToggleableDisclosure.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+import IconDisclosure from '@/icons/disclosure.svg';
+ 
+const IconToggleableDisclosure = styled(
+  IconDisclosure,
+  {
+    transition: 'transform 0.2s ease-in-out',
+    variants: {
+      open: {
+        true: {
+          transform: 'rotate(0deg)',
+        },
+        false: {
+          transform: 'rotate(180deg)',
+        },
+      },
+    },
+  },
+);
+ 
+export default IconToggleableDisclosure;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html new file mode 100644 index 000000000..a717382ed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html @@ -0,0 +1,613 @@ + + + + + + Code coverage report for src/app/components/ImportVariablesDialog.tsx + + + + + + + + + +
+
+

All files / src/app/components ImportVariablesDialog.tsx

+
+ +
+ 0% + Statements + 0/46 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/17 +
+ + +
+ 0% + Lines + 0/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useState, useCallback, useEffect } from 'react';
+import { useTranslation } from 'react-i18next';
+import { Button, Checkbox, Stack, Heading } from '@tokens-studio/ui';
+import Modal from './Modal';
+import Box from './Box';
+import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection';
+ 
+type Props = {
+  isOpen: boolean;
+  onClose: () => void;
+  onConfirm: (selectedCollections: SelectedCollections, options: { useDimensions: boolean; useRem: boolean }) => void;
+  collections: VariableCollectionInfo[];
+};
+ 
+export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, collections }: Props) {
+  const { t } = useTranslation();
+  const [selectedCollections, setSelectedCollections] = useState<SelectedCollections>({});
+  const [useDimensions, setUseDimensions] = useState(false);
+  const [useRem, setUseRem] = useState(false);
+ 
+  // Initialize all collections as selected with all modes selected by default
+  useEffect(() => {
+    if (collections.length > 0) {
+      const initialSelection: SelectedCollections = {};
+      collections.forEach((collection) => {
+        initialSelection[collection.id] = {
+          name: collection.name,
+          selectedModes: collection.modes.map((mode) => mode.modeId),
+        };
+      });
+      setSelectedCollections(initialSelection);
+    }
+  }, [collections]);
+ 
+  const handleCollectionToggle = useCallback((collectionId: string, collectionName: string, modes: { modeId: string; name: string }[]) => {
+    setSelectedCollections((prev) => {
+      const isCurrentlySelected = prev[collectionId];
+      if (isCurrentlySelected) {
+        // Remove collection
+        const newSelection = { ...prev };
+        delete newSelection[collectionId];
+        return newSelection;
+      } else {
+        // Add collection with all modes selected
+        return {
+          ...prev,
+          [collectionId]: {
+            name: collectionName,
+            selectedModes: modes.map((mode) => mode.modeId),
+          },
+        };
+      }
+    });
+  }, []);
+ 
+  const handleModeToggle = useCallback((collectionId: string, modeId: string) => {
+    setSelectedCollections((prev) => {
+      const collection = prev[collectionId];
+      if (!collection) return prev;
+ 
+      const isCurrentlySelected = collection.selectedModes.includes(modeId);
+      const newSelectedModes = isCurrentlySelected
+        ? collection.selectedModes.filter((id) => id !== modeId)
+        : [...collection.selectedModes, modeId];
+ 
+      // If no modes are selected, remove the collection entirely
+      if (newSelectedModes.length === 0) {
+        const newSelection = { ...prev };
+        delete newSelection[collectionId];
+        return newSelection;
+      }
+ 
+      return {
+        ...prev,
+        [collectionId]: {
+          ...collection,
+          selectedModes: newSelectedModes,
+        },
+      };
+    });
+  }, []);
+ 
+  const handleConfirm = useCallback(() => {
+    onConfirm(selectedCollections, { useDimensions, useRem });
+  }, [selectedCollections, useDimensions, useRem, onConfirm]);
+ 
+  const hasSelections = Object.keys(selectedCollections).length > 0;
+ 
+  return (
+    <Modal
+      title="Import variables"
+      showClose
+      isOpen={isOpen}
+      close={onClose}
+      footer={(
+        <Stack direction="row" gap={4} justify="between">
+          <Button variant="secondary" onClick={onClose}>
+            Cancel
+          </Button>
+          <Button variant="primary" disabled={!hasSelections} onClick={handleConfirm}>
+            Import
+          </Button>
+        </Stack>
+      )}
+    >
+      <Stack direction="column" gap={4} css={{ padding: '$4' }}>
+        <Box css={{ fontSize: '$small', color: '$fgMuted' }}>
+          Select which variable collections and modes to import. Sets will be created for each selected mode.
+        </Box>
+ 
+        {/* Options */}
+        <Stack direction="column" gap={2}>
+          <Heading size="small">Options</Heading>
+          <Checkbox
+            checked={useDimensions}
+            onCheckedChange={(checked) => setUseDimensions(checked === true)}
+            id="useDimensions"
+          >
+            Convert numbers to dimensions
+          </Checkbox>
+          <Checkbox
+            checked={useRem}
+            onCheckedChange={(checked) => setUseRem(checked === true)}
+            id="useRem"
+          >
+            Use rem for dimension values
+          </Checkbox>
+        </Stack>
+ 
+        {/* Collections */}
+        <Stack direction="column" gap={3}>
+          <Heading size="small">Variable Collections</Heading>
+          {collections.map((collection) => {
+            const isCollectionSelected = !!selectedCollections[collection.id];
+            const selectedModes = selectedCollections[collection.id]?.selectedModes || [];
+            const allModesSelected = isCollectionSelected && selectedModes.length === collection.modes.length;
+ 
+            return (
+              <Box key={collection.id} css={{ borderLeft: '2px solid $borderMuted', paddingLeft: '$3' }}>
+                <Stack direction="column" gap={2}>
+                  <Checkbox
+                    checked={isCollectionSelected}
+                    onCheckedChange={() => handleCollectionToggle(collection.id, collection.name, collection.modes)}
+                    id={`collection-${collection.id}`}
+                  >
+                    <strong>{collection.name}</strong>
+                  </Checkbox>
+                  
+                  {isCollectionSelected && (
+                    <Stack direction="column" gap={1} css={{ marginLeft: '$4' }}>
+                      {collection.modes.map((mode) => (
+                        <Checkbox
+                          key={mode.modeId}
+                          checked={selectedModes.includes(mode.modeId)}
+                          onCheckedChange={() => handleModeToggle(collection.id, mode.modeId)}
+                          id={`mode-${collection.id}-${mode.modeId}`}
+                        >
+                          {mode.name}
+                        </Checkbox>
+                      ))}
+                    </Stack>
+                  )}
+                </Stack>
+              </Box>
+            );
+          })}
+        </Stack>
+ 
+        {!hasSelections && (
+          <Box css={{ padding: '$3', backgroundColor: '$dangerBg', color: '$dangerFg', borderRadius: '$small' }}>
+            Please select at least one collection and mode to import.
+          </Box>
+        )}
+      </Stack>
+    </Modal>
+  );
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html new file mode 100644 index 000000000..3cedfe826 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html @@ -0,0 +1,1174 @@ + + + + + + Code coverage report for src/app/components/ImportedTokensDialog.tsx + + + + + + + + + +
+
+

All files / src/app/components ImportedTokensDialog.tsx

+
+ +
+ 0% + Statements + 0/86 +
+ + +
+ 0% + Branches + 0/39 +
+ + +
+ 0% + Functions + 0/34 +
+ + +
+ 0% + Lines + 0/75 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { IconButton, Button } from '@tokens-studio/ui';
+import Modal from './Modal';
+import { Dispatch } from '../store';
+import useManageTokens from '../store/useManageTokens';
+import {
+  activeTokenSetSelector, importedTokensSelector, importedThemesSelector, themesListSelector,
+} from '@/selectors';
+import Stack from './Stack';
+import AddIcon from '@/icons/add.svg';
+import TrashIcon from '@/icons/trash.svg';
+import Box from './Box';
+import { ImportToken } from '@/types/tokens';
+import Text from './Text';
+import Accordion from './Accordion';
+import { Count } from './Count';
+import { track } from '@/utils/analytics';
+ 
+function NewOrExistingToken({
+  token,
+  updateAction,
+  removeToken,
+  updateToken,
+  index,
+}: {
+  token: ImportToken;
+  updateAction: string;
+  index: number;
+  removeToken: (token: ImportToken, index: number) => void;
+  updateToken: (token: ImportToken, index: number) => void;
+}) {
+  const { t } = useTranslation(['general', 'tokens']);
+  const onRemoveToken = React.useCallback(() => {
+    removeToken(token, index);
+  }, [removeToken, token, index]);
+ 
+  const onUpdateToken = React.useCallback(() => {
+    updateToken(token, index);
+  }, [updateToken, token, index]);
+ 
+  const importedTokens = useSelector(importedTokensSelector);
+ 
+  const allParents = [...new Set([...importedTokens.newTokens.map((newToken: ImportToken) => newToken.parent), ...importedTokens.updatedTokens.map((updatedToken) => updatedToken.parent)])];
+  const isMultiParent = allParents.length > 1;
+ 
+  return (
+    <Stack direction="row" justify="between">
+      <Stack direction="column" gap={1}>
+        <Stack direction="row" gap={2}>
+          {isMultiParent && (<Text size="small" muted>{token.parent}</Text>)}
+          <Text bold size="small">{token.name}</Text>
+        </Stack>
+        <Stack direction="row" align="center" gap={1}>
+          <Box css={{
+            padding: '$2',
+            wordBreak: 'break-all',
+            fontWeight: '$sansBold',
+            borderRadius: '$small',
+            fontSize: '$xsmall',
+            backgroundColor: '$successBg',
+            color: '$successFg',
+          }}
+          >
+            {typeof token.value === 'object' ? JSON.stringify(token.value) : token.value}
+          </Box>
+          {token.oldValue ? (
+            <Box css={{
+              padding: '$2',
+              wordBreak: 'break-all',
+              fontWeight: '$sansBold',
+              borderRadius: '$small',
+              fontSize: '$xsmall',
+              backgroundColor: '$dangerBg',
+              color: '$dangerFg',
+            }}
+            >
+              {typeof token.oldValue === 'object' ? JSON.stringify(token.oldValue) : token.oldValue}
+            </Box>
+          ) : null}
+        </Stack>
+        {(token.description || token.oldDescription) && (
+          <Text size="small">
+            {token.description}
+            {' '}
+            {token.oldDescription ? ` (before: ${token.oldDescription})` : ''}
+          </Text>
+        )}
+      </Stack>
+      <Stack direction="row" align="center" gap={1}>
+        <IconButton variant="invisible" size="small" data-testid="imported-tokens-dialog-update-button" tooltip={updateAction} icon={<AddIcon />} onClick={onUpdateToken} />
+        <IconButton variant="invisible" size="small" data-testid="imported-tokens-dialog-remove-button" tooltip={t('ignore')} icon={<TrashIcon />} onClick={onRemoveToken} />
+      </Stack>
+    </Stack>
+  );
+}
+ 
+export default function ImportedTokensDialog() {
+  const dispatch = useDispatch<Dispatch>();
+  const { editSingleToken, createSingleToken, importMultipleTokens } = useManageTokens();
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const themes = useSelector(themesListSelector);
+  const importedTokens = useSelector(importedTokensSelector);
+  const importedThemes = useSelector(importedThemesSelector);
+  const [newThemes, setNewThemes] = React.useState(importedThemes.newThemes);
+  const [updatedThemes, setUpdatedThemes] = React.useState(importedThemes.updatedThemes);
+  const [newTokens, setNewTokens] = React.useState(importedTokens.newTokens);
+  const [updatedTokens, setUpdatedTokens] = React.useState(importedTokens.updatedTokens);
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleIgnoreExistingToken = React.useCallback((token, index) => {
+    const tokens = updatedTokens.filter((updatedToken) => updatedTokens.indexOf(updatedToken) !== index);
+    setUpdatedTokens(tokens);
+  }, [setUpdatedTokens, updatedTokens]);
+ 
+  const handleIgnoreNewToken = React.useCallback((token, index) => {
+    setNewTokens(newTokens.filter((newToken) => newTokens.indexOf(newToken) !== index));
+  }, [setNewTokens, newTokens]);
+ 
+  const handleCreateAllClick = React.useCallback(() => {
+    const multipleNewTokens = newTokens.map((token) => ({
+      parent: token.parent || activeTokenSet,
+      name: token.name,
+      value: token.value,
+      type: token.type,
+      description: token.description,
+      shouldUpdateDocument: false,
+    }));
+ 
+    // Create new Tokens
+    importMultipleTokens({ multipleNewTokens });
+    setNewTokens([]);
+  }, [activeTokenSet, importMultipleTokens, newTokens]);
+ 
+  const handleUpdateAllClick = React.useCallback(() => {
+    const multipleUpdatedTokens = updatedTokens.map((token) => ({
+      parent: token.parent || activeTokenSet,
+      name: token.name,
+      value: token.value,
+      type: token.type,
+      description: token.description,
+      shouldUpdateDocument: false,
+    }));
+ 
+    // Update all existing tokens
+    importMultipleTokens({ multipleUpdatedTokens });
+    setUpdatedTokens([]);
+  }, [updatedTokens, importMultipleTokens, activeTokenSet]);
+ 
+  const handleImportAllClick = React.useCallback(() => {
+    const multipleUpdatedTokens = updatedTokens.map((token) => ({
+      parent: token.parent || activeTokenSet,
+      name: token.name,
+      value: token.value,
+      type: token.type,
+      description: token.description,
+      shouldUpdateDocument: false,
+    }));
+ 
+    const multipleNewTokens = newTokens.map((token) => ({
+      parent: token.parent || activeTokenSet,
+      name: token.name,
+      value: token.value,
+      type: token.type,
+      description: token.description,
+      shouldUpdateDocument: false,
+    }));
+ 
+    if (newThemes.length > 0 || updatedThemes.length > 0) {
+      dispatch.tokenState.setThemes([
+        ...themes.filter((theme) => !updatedThemes.some((updatedTheme) => updatedTheme.group === theme.group)),
+        ...newThemes,
+        ...updatedThemes,
+      ]);
+    }
+ 
+    // Update all existing tokens, and create new ones
+    importMultipleTokens({ multipleUpdatedTokens, multipleNewTokens });
+ 
+    const combinedTokens = [...multipleUpdatedTokens, ...multipleNewTokens];
+ 
+    const uniqueCollectionCount = combinedTokens.reduce((acc, token) => {
+      if (token.parent && !acc.includes(token.parent)) {
+        acc.push(token.parent);
+      }
+      return acc;
+    }, [] as string[]).length;
+ 
+    track('Import variables', {
+      totalCount: multipleUpdatedTokens.length + multipleNewTokens.length,
+      updatedCount: multipleUpdatedTokens.length,
+      newCount: multipleNewTokens.length,
+      colorTokens: combinedTokens.filter((token) => token.type === 'color').length,
+      textTokens: combinedTokens.filter((token) => token.type === 'text').length,
+      numberTokens: combinedTokens.filter((token) => token.type === 'number').length,
+      booleanTokens: combinedTokens.filter((token) => token.type === 'boolean').length,
+      dimensionTokens: combinedTokens.filter((token) => token.type === 'dimension').length,
+      collectionCount: uniqueCollectionCount,
+    });
+ 
+    setUpdatedTokens([]);
+    setNewTokens([]);
+    setNewThemes([]);
+    setUpdatedThemes([]);
+  }, [activeTokenSet, importMultipleTokens, newTokens, updatedTokens, themes, newThemes, updatedThemes, dispatch]);
+ 
+  const handleCreateSingleClick = React.useCallback((token: any) => {
+    // Create new tokens according to styles
+    createSingleToken({
+      parent: activeTokenSet,
+      name: token.name,
+      value: token.value,
+      type: token.type,
+      description: token.description,
+      shouldUpdateDocument: false,
+    });
+    track('Import single variable', { type: token.type });
+    setNewTokens(newTokens.filter((newToken) => newToken.name !== token.name));
+  }, [newTokens, activeTokenSet, createSingleToken]);
+ 
+  const handleUpdateSingleClick = React.useCallback((token: any) => {
+    // Go through each token that needs to be updated
+    editSingleToken({
+      parent: activeTokenSet,
+      name: token.name,
+      value: token.value,
+      type: token.type,
+      description: token.description,
+      shouldUpdateDocument: false,
+    });
+    track('Update single variable', { type: token.type });
+ 
+    setUpdatedTokens(updatedTokens.filter((updatedToken) => updatedToken.name !== token.name));
+  }, [updatedTokens, editSingleToken, activeTokenSet]);
+ 
+  const handleClose = React.useCallback(() => {
+    dispatch.tokenState.resetImportedTokens();
+  }, [dispatch]);
+ 
+  // If the imported tokens change, update the state
+  React.useEffect(() => {
+    setNewTokens(importedTokens.newTokens);
+    setUpdatedTokens(importedTokens.updatedTokens);
+  }, [importedTokens.newTokens, importedTokens.updatedTokens]);
+ 
+  React.useEffect(() => {
+    setNewThemes(importedThemes.newThemes);
+    setUpdatedThemes(importedThemes.updatedThemes);
+  }, [importedThemes.newThemes, importedThemes.updatedThemes]);
+ 
+  const ListLength = 50;
+ 
+  return (
+    <Modal
+      title={t('importVariables', { ns: 'tokens' })}
+      size="large"
+      showClose
+      isOpen={newTokens.length > 0 || updatedTokens.length > 0}
+      close={handleClose}
+      stickyFooter
+      footer={(
+        <Stack direction="row" justify="end" gap={2}>
+          <Button variant="secondary" data-testid="button-import-close" onClick={handleClose}>
+            {t('cancel')}
+          </Button>
+          <Button variant="primary" data-testid="button-import-all" onClick={handleImportAllClick}>
+            {t('importAll')}
+          </Button>
+        </Stack>
+      )}
+    >
+      <Stack direction="column" gap={6}>
+        {newTokens.length > 0 && (
+          <Accordion
+            label={t('newTokens', { ns: 'tokens' })}
+            isOpenByDefault
+            extra={(
+              <Stack direction="row" gap={2} align="center">
+                <Count count={newTokens.length} />
+                {' '}
+                <Button variant="secondary" data-testid="button-import-create-all" onClick={handleCreateAllClick}>
+                  {t('createAll', { ns: 'tokens' })}
+                </Button>
+              </Stack>
+            )}
+          >
+            {
+              newTokens.slice(0, ListLength - 1).map((token, index) => (
+                <NewOrExistingToken
+                  key={token.parent + token.name}
+                  index={index}
+                  token={token}
+                  updateAction="Create New"
+                  removeToken={handleIgnoreNewToken}
+                  updateToken={handleCreateSingleClick}
+                />
+              ))
+}
+            {' '}
+            {newTokens.length > ListLength && (
+            <Text
+              css={{ marginBlockStart: '$3' }}
+              size="small"
+            >
+              ...
+              {' '}
+              {t('and', { ns: 'general' })}
+              {' '}
+              {newTokens.length - ListLength}
+              {' '}
+              {t('more', { ns: 'general' })}
+ 
+            </Text>
+            )}
+ 
+          </Accordion>
+        )}
+        {updatedTokens.length > 0 && (
+          <Accordion
+            label={t('existingTokens', { ns: 'tokens' })}
+            isOpenByDefault
+            extra={(
+              <Stack direction="row" gap={2} align="center">
+                <Count count={updatedTokens.length} />
+                {' '}
+                <Button variant="secondary" data-testid="button-import-update-all" onClick={handleUpdateAllClick}>
+                  {t('updateAll')}
+                </Button>
+              </Stack>
+            )}
+          >
+            {
+              updatedTokens.slice(0, ListLength).map((token, index) => (
+                <NewOrExistingToken
+                  key={token.parent + token.name}
+                  token={token}
+                  index={index}
+                  updateAction="Update Existing"
+                  removeToken={handleIgnoreExistingToken}
+                  updateToken={handleUpdateSingleClick}
+                />
+              ))
+            }
+            { updatedTokens.length > 4 && (
+ 
+            <Text css={{ marginBlockStart: '$3' }} size="small">
+              ...
+              {' '}
+              {t('and', { ns: 'general' })}
+              {' '}
+              {updatedTokens.length - ListLength}
+              {' '}
+              {t('more', { ns: 'general' })}
+            </Text>
+            )}
+          </Accordion>
+        )}
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html new file mode 100644 index 000000000..8fb5b3344 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html @@ -0,0 +1,640 @@ + + + + + + Code coverage report for src/app/components/Initiator.tsx + + + + + + + + + +
+
+

All files / src/app/components Initiator.tsx

+
+ +
+ 0% + Statements + 0/94 +
+ + +
+ 0% + Branches + 0/40 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/92 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as Sentry from '@sentry/react';
+import { useEffect } from 'react';
+import { useDispatch } from 'react-redux';
+import { MessageFromPluginTypes, PostToUIMessage } from '@/types/messages';
+import useRemoteTokens from '../store/remoteTokens';
+import { Dispatch } from '../store';
+import useStorage from '../store/useStorage';
+import { sortSelectionValueByProperties } from '@/utils/sortSelectionValueByProperties';
+import { convertToOrderObj } from '@/utils/convertToOrderObj';
+import { Properties } from '@/constants/Properties';
+import { Tabs } from '@/constants/Tabs';
+import { hasTokenValues } from '@/utils/hasTokenValues';
+import { track } from '@/utils/analytics';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageChannelPreview } from '@/AsyncMessageChannelPreview';
+ 
+// @README this component is not the "Initiator" anymore - as it is named
+// but solely acts as the interface between the plugin and the UI
+ 
+const parseWsEvent = (event) => {
+  try {
+    const msg = JSON.parse(event.data);
+    if (msg.src === 'server') {
+      const temp = JSON.parse(msg.message);
+      return temp;
+    }
+  } catch (err) {
+    console.error('not a valid message', err);
+    return null;
+  }
+  return null;
+};
+ 
+export function Initiator() {
+  const dispatch = useDispatch<Dispatch>();
+  const { pullTokens, fetchBranches } = useRemoteTokens();
+  const { setStorageType } = useStorage();
+ 
+  useEffect(() => {
+    const onMessageEvent = async (event: {
+      data: {
+        pluginMessage: PostToUIMessage;
+      };
+    }) => {
+      if (event.data.pluginMessage) {
+        const { pluginMessage } = event.data;
+        switch (pluginMessage.type) {
+          case MessageFromPluginTypes.SELECTION: {
+            const { selectionValues, mainNodeSelectionValues, selectedNodes } = pluginMessage;
+            dispatch.uiState.setSelectedLayers(selectedNodes);
+            dispatch.uiState.setDisabled(false);
+            if (mainNodeSelectionValues.length > 1) {
+              const allMainNodeSelectionValues = mainNodeSelectionValues.reduce((acc, crr) => (
+                Object.assign(acc, crr)
+              ), {});
+              const sortedMainNodeSelectionValues = sortSelectionValueByProperties(allMainNodeSelectionValues);
+              dispatch.uiState.setMainNodeSelectionValues(sortedMainNodeSelectionValues);
+            } else if (mainNodeSelectionValues.length > 0) {
+              // When only one node is selected, we can set the state
+              const sortedMainNodeSelectionValues = sortSelectionValueByProperties(mainNodeSelectionValues[0]);
+              dispatch.uiState.setMainNodeSelectionValues(sortedMainNodeSelectionValues);
+            } else {
+              // When only one is selected and it doesn't contain any tokens, reset.
+              dispatch.uiState.setMainNodeSelectionValues({});
+            }
+ 
+            // Selection values are all tokens across all layers, used in Multi Inspector.
+            if (selectionValues) {
+              const orderObj = convertToOrderObj(Properties);
+              const sortedSelectionValues = selectionValues.sort((a, b) => orderObj[a.type] - orderObj[b.type]);
+              dispatch.uiState.setSelectionValues(sortedSelectionValues);
+            } else {
+              dispatch.uiState.resetSelectionValues();
+            }
+            break;
+          }
+          case MessageFromPluginTypes.NO_SELECTION: {
+            dispatch.uiState.setDisabled(true);
+            dispatch.uiState.setSelectedLayers(0);
+            dispatch.uiState.resetSelectionValues();
+            dispatch.uiState.setMainNodeSelectionValues({});
+            break;
+          }
+          case MessageFromPluginTypes.SET_TOKENS: {
+            const { values } = pluginMessage;
+            if (values) {
+              dispatch.tokenState.setTokenData(values);
+              const existTokens = hasTokenValues(values?.values ?? {});
+              if (existTokens) dispatch.uiState.setActiveTab(Tabs.TOKENS);
+              else dispatch.uiState.setActiveTab(Tabs.START);
+            }
+            break;
+          }
+          case MessageFromPluginTypes.NOTIFY_EXCEPTION: {
+            Sentry.captureException({ error: pluginMessage.error, ...pluginMessage.opts });
+            break;
+          }
+          case MessageFromPluginTypes.TRACK_FROM_PLUGIN: {
+            track(pluginMessage.title, pluginMessage.opts);
+            break;
+          }
+          case MessageFromPluginTypes.API_PROVIDERS: {
+            dispatch.uiState.setAPIProviders(pluginMessage.providers);
+            break;
+          }
+          case MessageFromPluginTypes.UI_SETTINGS: {
+            dispatch.settings.setUISettings(pluginMessage.settings);
+            dispatch.settings.triggerWindowChange();
+            break;
+          }
+          case MessageFromPluginTypes.STYLES: {
+            const { values } = pluginMessage;
+            if (values) {
+              track('Import styles');
+              dispatch.tokenState.setTokensFromStyles(values);
+              dispatch.uiState.setActiveTab(Tabs.TOKENS);
+            }
+            break;
+          }
+ 
+          case MessageFromPluginTypes.VARIABLES: {
+            const { values, themes } = pluginMessage;
+            if (values) {
+              dispatch.tokenState.setTokensFromVariables(values);
+              dispatch.uiState.setActiveTab(Tabs.TOKENS);
+            }
+            if (themes) {
+              dispatch.tokenState.setThemesFromVariables(themes);
+            }
+            break;
+          }
+ 
+          case MessageFromPluginTypes.SHOW_EMPTY_GROUPS: {
+            dispatch.uiState.toggleShowEmptyGroups(pluginMessage.showEmptyGroups);
+            break;
+          }
+          case MessageFromPluginTypes.START_JOB: {
+            dispatch.uiState.startJob(pluginMessage.job);
+            break;
+          }
+          case MessageFromPluginTypes.COMPLETE_JOB: {
+            dispatch.uiState.completeJob(pluginMessage.name);
+            break;
+          }
+          case MessageFromPluginTypes.CLEAR_JOBS: {
+            dispatch.uiState.clearJobs();
+            break;
+          }
+          case MessageFromPluginTypes.ADD_JOB_TASKS: {
+            dispatch.uiState.addJobTasks({
+              name: pluginMessage.name,
+              count: pluginMessage.count,
+              expectedTimePerTask: pluginMessage.expectedTimePerTask,
+            });
+            break;
+          }
+          case MessageFromPluginTypes.COMPLETE_JOB_TASKS: {
+            dispatch.uiState.completeJobTasks({
+              name: pluginMessage.name,
+              count: pluginMessage.count,
+              timePerTask: pluginMessage.timePerTask,
+            });
+            break;
+          }
+          default:
+            break;
+        }
+      }
+    };
+    if (process.env.PREVIEW_ENV === 'browser') {
+      const listener = (e) => {
+        const event = parseWsEvent(e);
+        onMessageEvent({ data: { pluginMessage: event } });
+      };
+      (AsyncMessageChannel as typeof AsyncMessageChannelPreview).ReactInstance.getWs()?.addEventListener('message', listener);
+      return () => {
+        (AsyncMessageChannel as typeof AsyncMessageChannelPreview).ReactInstance.getWs()?.removeEventListener('message', listener);
+      };
+    }
+    window.onmessage = onMessageEvent;
+    return () => {};
+  }, [dispatch, pullTokens, fetchBranches, setStorageType]);
+ 
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html new file mode 100644 index 000000000..a220973a6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html @@ -0,0 +1,811 @@ + + + + + + Code coverage report for src/app/components/Input.tsx + + + + + + + + + +
+
+

All files / src/app/components Input.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/43 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { styled } from '@/stitches.config';
+import IconVisibility from '@/icons/visibilityon.svg';
+import IconVisibilityOff from '@/icons/visibilityoff.svg';
+import type { StitchesCSS } from '@/types';
+import Box from './Box';
+import Stack from './Stack';
+import { ErrorValidation } from './ErrorValidation';
+ 
+type Props = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> & {
+  form?: string;
+  name?: string;
+  inputRef?: React.MutableRefObject<HTMLInputElement | null>;
+  error?: string | null;
+  required?: boolean;
+  autofocus?: boolean;
+  tabindex?: number | null;
+  label?: string | null;
+  full?: boolean;
+  value?: string | number;
+  defaultValue?: string | number;
+  type?: string;
+  custom?: string;
+  placeholder?: string;
+  prefix?: React.ReactNode;
+  suffix?: React.ReactNode;
+  step?: string;
+  isMasked?: boolean;
+  onChange?: React.ChangeEventHandler<HTMLInputElement>;
+  disabled?: boolean;
+  size?: 'small' | 'large';
+  css?: StitchesCSS
+};
+ 
+const StyledIcon = styled('div', {
+  width: '20px',
+  height: '20px',
+  marginRight: '4px',
+  marginLeft: '4px',
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'center',
+  cursor: 'pointer',
+});
+ 
+const StyledInput = styled('input', {
+  padding: '0 $3',
+  flexGrow: 1,
+  width: '100%',
+  backgroundColor: '$bgDefault',
+  border: '1px solid $borderMuted',
+  fontSize: '$xsmall',
+  borderRadius: '$small',
+  position: 'relative',
+ 
+  '&:focus-within': {
+    boxShadow: '$focus',
+  },
+ 
+  variants: {
+    size: {
+      small: {
+        height: '$controlSmall',
+      },
+      large: {
+        height: '$controlLarge',
+      },
+    },
+    hasSuffix: {
+      true: {
+        borderTopRightRadius: 0,
+        borderBottomRightRadius: 0,
+        borderRight: 0,
+      },
+    },
+    hasPrefix: {
+      true: {
+        borderTopLeftRadius: 0,
+        borderBottomLeftRadius: 0,
+      },
+    },
+  },
+});
+ 
+const StyledSuffix = styled('button', {
+  backgroundColor: '$bgDefault',
+  border: '1px solid $borderMuted',
+  borderTopLeftRadius: 0,
+  borderBottomLeftRadius: 0,
+  borderLeft: 0,
+  display: 'flex',
+  alignItems: 'center',
+ 
+  '&:focus': {
+    outline: 'none',
+    backgroundColor: '$accentDefault',
+    color: '$fgOnEmphasis',
+  },
+ 
+  variants: {
+    size: {
+      small: {
+        width: '$controlSmall',
+        height: '$controlSmall',
+      },
+      large: {
+        width: '$controlLarge',
+        height: '$controlLarge',
+      },
+    },
+  },
+});
+ 
+const StyledPrefix = styled('div', {
+  padding: '0 $3',
+  height: '$controlSmall',
+  flexShrink: 0,
+  border: '1px solid $borderMuted',
+  borderRadius: '$small',
+  borderTopRightRadius: 0,
+  borderBottomRightRadius: 0,
+  borderRight: 0,
+  backgroundColor: '$bgDefault',
+  display: 'flex',
+  alignItems: 'center',
+  fontSize: '$xsmall',
+  color: '$fgMuted',
+ 
+  '&:focus': {
+    outline: 'none',
+    boxShadow: 'none',
+    backgroundColor: '$bgSubtle',
+  },
+ 
+  variants: {
+    isText: {
+      true: {
+        minWidth: '60px',
+      },
+    },
+    isComposition: {
+      true: {
+        padding: '0',
+      },
+    },
+  },
+});
+ 
+const StyledLabel = styled('label', {
+  display: 'block',
+  fontWeight: '$sansBold',
+  fontSize: '$small',
+});
+ 
+const Input = React.forwardRef<HTMLInputElement, Props>(({
+  form,
+  name,
+  autofocus,
+  error = '',
+  required = false,
+  tabindex = null,
+  label = null,
+  full,
+  onChange,
+  value,
+  defaultValue,
+  type,
+  prefix,
+  suffix,
+  step,
+  custom = '',
+  inputRef,
+  placeholder = '',
+  isMasked = false,
+  size = 'small',
+  ...inputProps
+}, ref) => {
+  // if isMasked is true, then we need to handle toggle visibility
+  const [show, setShow] = React.useState(false);
+  const htmlInputRef = React.useRef<HTMLInputElement>(null);
+  const reifiedRef = inputRef || htmlInputRef;
+ 
+  const handleVisibility = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {
+    e.preventDefault();
+    setShow(!show);
+    if (reifiedRef?.current?.type) {
+      reifiedRef.current.type = reifiedRef?.current?.type === 'password' ? 'text' : 'password';
+    }
+  }, [show, reifiedRef]);
+ 
+  React.useEffect(() => {
+    if (autofocus && htmlInputRef && htmlInputRef.current) {
+      htmlInputRef.current.focus();
+    }
+  }, [autofocus, htmlInputRef]);
+ 
+  return (
+    <StyledLabel htmlFor={name} css={{ width: full ? '100%' : '' }}>
+      {(!!label || !!error) && (
+        <Stack direction="row" justify="between" align="center" css={{ marginBottom: '$1' }}>
+          {label || null}
+          {error ? (
+            <ErrorValidation>{error}</ErrorValidation>
+          ) : null}
+        </Stack>
+      )}
+      <Box css={{ display: 'flex', position: 'relative', width: full ? '100%' : '' }} className="input">
+        {!!prefix && <StyledPrefix>{prefix}</StyledPrefix>}
+        <StyledInput
+          form={form}
+          ref={inputRef || ref || htmlInputRef}
+          spellCheck={false}
+          tabIndex={tabindex ?? undefined}
+          type={type}
+          value={value}
+          defaultValue={defaultValue}
+          name={name}
+          onChange={onChange}
+          required={required}
+          autoFocus={autofocus}
+          step={step}
+          data-custom={custom}
+          placeholder={placeholder}
+          hasPrefix={!!prefix}
+          hasSuffix={!!isMasked}
+          size={size}
+          data-testid={`input-${name}`}
+          {...inputProps}
+        />
+        {!!suffix && <span>{suffix}</span>}
+        {isMasked && (
+          <StyledSuffix type="button" onClick={handleVisibility}>
+            <StyledIcon>{show ? <IconVisibility /> : <IconVisibilityOff />}</StyledIcon>
+          </StyledSuffix>
+        )}
+      </Box>
+    </StyledLabel>
+  );
+});
+ 
+export default Input;
+export { StyledInput, StyledPrefix, StyledSuffix };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html new file mode 100644 index 000000000..25ef99f08 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/app/components/InspectSearchOptionDropdown.tsx + + + + + + + + + +
+
+

All files / src/app/components InspectSearchOptionDropdown.tsx

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { Check } from 'iconoir-react';
+import { useDispatch, useSelector } from 'react-redux';
+import { DropdownMenu, IconButton } from '@tokens-studio/ui';
+import { inspectStateSelector } from '@/selectors';
+import { Dispatch } from '../store';
+import { isEqual } from '@/utils/isEqual';
+import { IconSettings } from '@/icons';
+ 
+export default function InspectSearchOptionDropdown() {
+  const inspectState = useSelector(inspectStateSelector, isEqual);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const handleIsShowBrokenReferences = React.useCallback((checked: boolean) => {
+    dispatch.inspectState.toggleShowBrokenReferences(checked);
+  }, [dispatch.inspectState]);
+ 
+  const handleIsShowResolvedReferences = React.useCallback((checked: boolean) => {
+    dispatch.inspectState.toggleShowResolvedReferences(checked);
+  }, [dispatch.inspectState]);
+ 
+  const { t } = useTranslation(['inspect']);
+ 
+  return (
+    <DropdownMenu>
+      <DropdownMenu.Trigger asChild data-testid="inspect-search-option-dropdown">
+        <IconButton icon={<IconSettings />} variant="invisible" tooltip="Options" tooltipSide="bottom" />
+      </DropdownMenu.Trigger>
+ 
+      <DropdownMenu.Portal>
+        <DropdownMenu.Content>
+          <DropdownMenu.CheckboxItem
+            data-testid="show-broken-references"
+            checked={inspectState.isShowBrokenReferences}
+            onCheckedChange={handleIsShowBrokenReferences}
+          >
+            <DropdownMenu.ItemIndicator>
+              <Check />
+            </DropdownMenu.ItemIndicator>
+            {t('showBrokenReferences')}
+          </DropdownMenu.CheckboxItem>
+          <DropdownMenu.CheckboxItem
+            data-testid="show-resolved-references"
+            checked={inspectState.isShowResolvedReferences}
+            onCheckedChange={handleIsShowResolvedReferences}
+          >
+            <DropdownMenu.ItemIndicator>
+              <Check />
+            </DropdownMenu.ItemIndicator>
+            {t('showResolvedReferences')}
+          </DropdownMenu.CheckboxItem>
+        </DropdownMenu.Content>
+      </DropdownMenu.Portal>
+    </DropdownMenu>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html new file mode 100644 index 000000000..004e1cea6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html @@ -0,0 +1,469 @@ + + + + + + Code coverage report for src/app/components/Inspector.tsx + + + + + + + + + +
+
+

All files / src/app/components Inspector.tsx

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Checkbox, TextInput, ToggleGroup, Tooltip,
+} from '@tokens-studio/ui';
+import { Search } from 'iconoir-react';
+import Box from './Box';
+import InspectorDebugView from './InspectorDebugView';
+import InspectorMultiView from './InspectorMultiView';
+import IconDebug from '@/icons/debug.svg';
+import IconInspect from '@/icons/multiinspect.svg';
+import { Dispatch } from '../store';
+import Label from './Label';
+import { mergeTokenGroups } from '@/utils/tokenHelpers';
+import { track } from '@/utils/analytics';
+import {
+  inspectDeepSelector,
+  tokensSelector,
+  usedTokenSetSelector,
+} from '@/selectors';
+import InspectSearchOptionDropdown from './InspectSearchOptionDropdown';
+import Stack from './Stack';
+import { defaultTokenResolver } from '@/utils/TokenResolver';
+ 
+function Inspector() {
+  const [inspectView, setInspectView] = React.useState('multi');
+  const { t } = useTranslation(['inspect']);
+  const [searchInputValue, setSearchInputValue] = React.useState<string>('');
+  const dispatch = useDispatch<Dispatch>();
+  const tokens = useSelector(tokensSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const inspectDeep = useSelector(inspectDeepSelector);
+  // TODO: Put this into state in a performant way
+  const resolvedTokens = React.useMemo(() => (
+    defaultTokenResolver.setTokens(mergeTokenGroups(tokens, usedTokenSet))
+  ), [tokens, usedTokenSet]);
+ 
+  const handleSetInspectView = React.useCallback((view: 'multi' | 'debug') => {
+    if (view) {
+      track('setInspectView', { view });
+      setInspectView(view);
+    }
+  }, []);
+ 
+  function renderInspectView() {
+    switch (inspectView) {
+      case 'debug': return <InspectorDebugView resolvedTokens={resolvedTokens} />;
+      case 'multi': return <InspectorMultiView resolvedTokens={resolvedTokens} tokenToSearch={searchInputValue} />;
+      default: return null;
+    }
+  }
+ 
+  const handleSearchInputChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
+    setSearchInputValue(event.target.value);
+  }, []);
+ 
+  const handleSetInspectDeep = React.useCallback(() => dispatch.settings.setInspectDeep(!inspectDeep), [dispatch, inspectDeep]);
+ 
+  return (
+    <Box css={{
+      gap: '$2', flexGrow: 1, display: 'flex', flexDirection: 'column', height: '100%', overflow: 'hidden',
+    }}
+    >
+      <Box css={{
+        display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', gap: '$2', padding: '$2', borderBottom: '1px solid $borderMuted',
+      }}
+      >
+        <Box
+          css={{
+            display: 'flex',
+            flexDirection: 'row',
+            alignItems: 'center',
+            gap: '$3',
+          }}
+        >
+          <TextInput
+            value={searchInputValue}
+            onChange={handleSearchInputChange}
+            type="text"
+            placeholder={`${t('search')}…`}
+            leadingVisual={<Search />}
+          />
+        </Box>
+        <Stack direction="row" align="center" gap={2}>
+          <Stack direction="row" align="center">
+            <Checkbox
+              checked={inspectDeep}
+              id="inspectDeep"
+              onCheckedChange={handleSetInspectDeep}
+            />
+            <Tooltip label={t('scansSelected') as string} side="bottom">
+              <Label htmlFor="inspectDeep">
+                <Box css={{
+                  fontWeight: '$sansBold', fontSize: '$xsmall', padding: '$2',
+                }}
+                >
+                  {t('deepInspect')}
+                </Box>
+              </Label>
+            </Tooltip>
+          </Stack>
+          <InspectSearchOptionDropdown />
+          <ToggleGroup
+            size="small"
+            type="single"
+            value={inspectView}
+            onValueChange={handleSetInspectView}
+          >
+            {/* Disabling tooltip for now due to https://github.com/radix-ui/primitives/issues/602
+            <ToggleGroup.Item value="multi" tooltip={t('inspectLayers') as string} tooltipSide="bottom"> */}
+            <ToggleGroup.Item value="multi">
+              <IconInspect />
+            </ToggleGroup.Item>
+            {/* Disabling tooltip for now due to https://github.com/radix-ui/primitives/issues/602
+              <ToggleGroup.Item value="debug" tooltip={t('debugAndAnnotate') as string} tooltipSide="bottom"> */}
+            <ToggleGroup.Item value="debug">
+              <IconDebug />
+            </ToggleGroup.Item>
+          </ToggleGroup>
+        </Stack>
+      </Box>
+      {renderInspectView()}
+    </Box>
+  );
+}
+ 
+export default Inspector;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html new file mode 100644 index 000000000..a562d5708 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html @@ -0,0 +1,340 @@ + + + + + + Code coverage report for src/app/components/InspectorDebugView.tsx + + + + + + + + + +
+
+

All files / src/app/components InspectorDebugView.tsx

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { EmptyState } from '@tokens-studio/ui';
+import Box from './Box';
+import AnnotationBuilder from './AnnotationBuilder';
+import { SingleToken } from '@/types/tokens';
+import useTokens from '../store/useTokens';
+import { uiStateSelector } from '@/selectors';
+import Stack from './Stack';
+import { isEqual } from '@/utils/isEqual';
+import { StyledInspectBadge } from './StyledInspectBadge';
+import Text from './Text';
+import { StyleIdBackupKeys } from '@/constants/StyleIdBackupKeys';
+import { styled } from '@/stitches.config';
+ 
+const StyledCode = styled('code', {
+  display: 'flex',
+  alignItems: 'center',
+  flexWrap: 'wrap',
+  gap: '$3',
+});
+ 
+export default function InspectorDebugView({ resolvedTokens }: { resolvedTokens: SingleToken[] }) {
+  const uiState = useSelector(uiStateSelector, isEqual);
+  const { getTokenValue } = useTokens();
+  const { t } = useTranslation(['inspect']);
+  const getResolvedValue = useCallback((property: string, value: string) => {
+    const resolvedToken = getTokenValue(value, resolvedTokens);
+    if (resolvedToken) return JSON.stringify(resolvedToken);
+    const resolvedValue = uiState.selectionValues.find((item) => item.category === property && item.value === value)?.resolvedValue;
+    if (resolvedValue) {
+      return JSON.stringify({
+        value: resolvedValue,
+        type: property,
+        name: value,
+        rawValue: resolvedValue,
+      });
+    }
+    return undefined;
+  }, [getTokenValue, resolvedTokens, uiState.selectionValues]);
+ 
+  function renderBlankslate() {
+    if (uiState.selectedLayers > 1) return <EmptyState title={t('moreThan1Layer.title')} description={t('moreThan1Layer.description')} />;
+    return <EmptyState title={uiState.selectedLayers === 1 ? t('noTokensFound') : t('noLayersSelected')} description={uiState.selectedLayers === 1 ? t('selectedLayerContainsNoTokens') : t('selectALayerToSeeAppliedTokens')} />;
+  }
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex', flexDirection: 'column', flexGrow: 1, padding: '$4',
+      }}
+      className="content scroll-container"
+    >
+      <Stack direction="column" css={{ flexGrow: 1 }}>
+        <AnnotationBuilder />
+ 
+        {uiState.selectedLayers === 1 && Object.entries(uiState.mainNodeSelectionValues).length > 0
+          ? (
+            <Stack direction="column" gap={5}>
+              {Object.entries(uiState.mainNodeSelectionValues)
+                .filter(([key, value]) => !StyleIdBackupKeys.includes(key) && value !== 'delete')
+                .map(([property, value]) => (
+                  <StyledCode key={property}>
+                    <Text bold>
+                      {property}
+                      {': '}
+                    </Text>
+                    <StyledInspectBadge>
+                      {typeof value === 'string' && value.split('.').join('-')}
+                    </StyledInspectBadge>
+                    <Text size="xsmall" muted css={{ wordBreak: 'break-all' }}>{`/* ${getResolvedValue(property, value)} */`}</Text>
+                  </StyledCode>
+                ))}
+            </Stack>
+          )
+          : (
+            <Stack direction="column" gap={4} css={{ padding: '$5', margin: 'auto' }}>
+              {renderBlankslate()}
+            </Stack>
+          )}
+      </Stack>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html new file mode 100644 index 000000000..9dd8b3b40 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html @@ -0,0 +1,601 @@ + + + + + + Code coverage report for src/app/components/InspectorMultiView.tsx + + + + + + + + + +
+
+

All files / src/app/components InspectorMultiView.tsx

+
+ +
+ 0% + Statements + 0/51 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/21 +
+ + +
+ 0% + Lines + 0/44 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector, useDispatch } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Box, Checkbox, Label, Stack, Button, EmptyState,
+} from '@tokens-studio/ui';
+import { Dispatch } from '../store';
+import useTokens from '../store/useTokens';
+import InspectorTokenGroup from './InspectorTokenGroup';
+import { SingleToken } from '@/types/tokens';
+import { inspectStateSelector, uiStateSelector } from '@/selectors';
+import { isEqual } from '@/utils/isEqual';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { Properties } from '@/constants/Properties';
+import { SelectionGroup } from '@/types';
+import { NodeInfo } from '@/types/NodeInfo';
+import { StyleIdBackupKeys } from '@/constants/StyleIdBackupKeys';
+import OnboardingExplainer from './OnboardingExplainer';
+import BulkRemapModal from './modals/BulkRemapModal';
+ 
+export default function InspectorMultiView({ resolvedTokens, tokenToSearch }: { resolvedTokens: SingleToken[], tokenToSearch: string }) {
+  const { t } = useTranslation(['inspect']);
+ 
+  const onboardingData = {
+    title: t('inspect'),
+    text: t('inspectOnboard'),
+    url: 'https://docs.tokens.studio/debug/inspect-tokens?ref=onboarding_explainer_inspect',
+  };
+ 
+  const inspectState = useSelector(inspectStateSelector, isEqual);
+  const uiState = useSelector(uiStateSelector, isEqual);
+  const { removeTokensByValue, setNoneValuesOnNode } = useTokens();
+  const [bulkRemapModalVisible, setShowBulkRemapModalVisible] = React.useState(false);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  React.useEffect(() => {
+    dispatch.inspectState.setSelectedTokens([]);
+  }, [uiState.selectionValues]);
+ 
+  const filteredSelectionValues = React.useMemo(() => {
+    let result = uiState.selectionValues;
+    if (!inspectState.isShowBrokenReferences) {
+      result = result.filter((token) => resolvedTokens.find((resolvedToken) => resolvedToken.name === token.value) || token.resolvedValue);
+    }
+    if (!inspectState.isShowResolvedReferences) {
+      result = result.filter((token) => (!resolvedTokens.find((resolvedToken) => resolvedToken.name === token.value) && !token.resolvedValue));
+    }
+    return tokenToSearch ? result.filter((token) => token.value.includes(tokenToSearch)) : result;
+  }, [uiState.selectionValues, inspectState.isShowBrokenReferences, inspectState.isShowResolvedReferences, resolvedTokens, tokenToSearch]);
+ 
+  const groupedSelectionValues = React.useMemo(() => (
+    filteredSelectionValues.reduce<Partial<
+    Record<TokenTypes, SelectionGroup[]>
+    & Record<Properties, SelectionGroup[]>
+    >>((acc, curr) => {
+      if (StyleIdBackupKeys.includes(curr.type)) return acc;
+      if (acc[curr.category]) {
+        const sameValueIndex = acc[curr.category]!.findIndex((v) => v.value === curr.value);
+ 
+        if (sameValueIndex > -1) {
+          acc[curr.category]![sameValueIndex].nodes.push(...curr.nodes);
+        } else {
+          acc[curr.category] = [...acc[curr.category]!, curr];
+        }
+      } else {
+        acc[curr.category] = [curr];
+      }
+ 
+      return acc;
+    }, {})
+  ), [filteredSelectionValues]);
+ 
+  const removeTokens = React.useCallback(() => {
+    const valuesToRemove = uiState.selectionValues
+      .filter((v) => inspectState.selectedTokens.includes(`${v.category}-${v.value}`))
+      .map((v) => ({ nodes: v.nodes, property: v.type })) as ({
+      property: Properties;
+      nodes: NodeInfo[];
+    }[]);
+ 
+    removeTokensByValue(valuesToRemove);
+  }, [inspectState.selectedTokens, removeTokensByValue, uiState.selectionValues]);
+ 
+  const handleSelectAll = React.useCallback(() => {
+    dispatch.inspectState.setSelectedTokens(
+      inspectState.selectedTokens.length === filteredSelectionValues.length
+        ? []
+        : filteredSelectionValues.map((v) => `${v.category}-${v.value}`),
+    );
+  }, [dispatch.inspectState, inspectState.selectedTokens.length, filteredSelectionValues]);
+ 
+  const closeOnboarding = React.useCallback(() => {
+    dispatch.uiState.setOnboardingExplainerInspect(false);
+  }, [dispatch]);
+ 
+  const setNoneValues = React.useCallback(() => {
+    setNoneValuesOnNode(resolvedTokens);
+  }, [setNoneValuesOnNode, resolvedTokens]);
+ 
+  const handleShowBulkRemap = React.useCallback(() => {
+    setShowBulkRemapModalVisible(true);
+  }, []);
+ 
+  const handleHideBulkRemap = React.useCallback(() => {
+    setShowBulkRemapModalVisible(false);
+  }, []);
+ 
+  return (
+    <>
+      {uiState.selectionValues.length > 0 && (
+        <Box css={{
+          display: 'inline-flex', paddingInline: '$4', rowGap: '$3', justifyContent: 'space-between',
+        }}
+        >
+          <Box css={{
+            display: 'flex', alignItems: 'center', gap: '$3', fontSize: '$small', flexBasis: '80px', flexShrink: 0,
+          }}
+          >
+            <Checkbox
+              checked={inspectState.selectedTokens.length === uiState.selectionValues.length}
+              id="selectAll"
+              onCheckedChange={handleSelectAll}
+            />
+            <Label htmlFor="selectAll" css={{ fontSize: '$small', fontWeight: '$sansBold', whiteSpace: 'nowrap' }}>
+              {t('selectAll')}
+            </Label>
+          </Box>
+          <Box css={{
+            display: 'flex', flexDirection: 'row', flexWrap: 'wrap', justifyContent: 'flex-end', gap: '$3',
+          }}
+          >
+            <Button size="small" onClick={handleShowBulkRemap} variant="secondary">
+              {t('bulkRemap')}
+            </Button>
+            <Button size="small" onClick={setNoneValues} disabled={inspectState.selectedTokens.length === 0} variant="secondary">
+              {t('setToNone')}
+            </Button>
+            <Button size="small" onClick={removeTokens} disabled={inspectState.selectedTokens.length === 0} variant="danger">
+              {t('removeSelected')}
+            </Button>
+          </Box>
+        </Box>
+      )}
+      <Box
+        css={{
+          display: 'flex', flexDirection: 'column', flexGrow: 1, padding: '$4',
+        }}
+        className="content scroll-container"
+      >
+        {uiState.selectionValues.length > 0 ? (
+          <Box css={{ display: 'flex', flexDirection: 'column', gap: '$1' }}>
+            {Object.entries(groupedSelectionValues).map((group) => <InspectorTokenGroup key={`inspect-group-${group[0]}`} group={group as [Properties, SelectionGroup[]]} resolvedTokens={resolvedTokens} />)}
+          </Box>
+        ) : (
+          <Stack direction="column" gap={4} css={{ padding: '$5', margin: 'auto' }}>
+            <EmptyState title={uiState.selectedLayers > 0 ? t('noTokensFound') : t('noLayersSelected')} description={uiState.selectedLayers > 0 ? t('noLayersWithTokens') : t('selectLayer')} />
+            {/* FIXME: Use selectors - this rerenders */}
+            {uiState.onboardingExplainerInspect && (
+              <OnboardingExplainer data={onboardingData} closeOnboarding={closeOnboarding} />
+            )}
+          </Stack>
+        )}
+      </Box>
+      {bulkRemapModalVisible && (
+        <BulkRemapModal
+          isOpen={bulkRemapModalVisible}
+          onClose={handleHideBulkRemap}
+        />
+      )}
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html new file mode 100644 index 000000000..b8d21fa90 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html @@ -0,0 +1,589 @@ + + + + + + Code coverage report for src/app/components/InspectorResolvedToken.tsx + + + + + + + + + +
+
+

All files / src/app/components InspectorResolvedToken.tsx

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import Box from './Box';
+import Tooltip from './Tooltip';
+import IconBrokenLink from '@/icons/brokenlink.svg';
+import IconShadow from '@/icons/shadow.svg';
+import IconComposition from '@/icons/composition.svg';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { IconBorder, IconImage } from '@/icons';
+import { SingleToken } from '@/types/tokens';
+import { TokenTooltip } from './TokenTooltip';
+import { TokenTypographyValue, TokenBoxshadowValue, TokenBorderValue } from '@/types/values';
+ 
+type Props = {
+  name: string;
+  value: SingleToken['value']
+  rawValue?: Partial<Record<TokenTypes, string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | TokenBoxshadowValue[]>>
+  type: string;
+};
+ 
+export default function InspectorResolvedToken({ token }: { token: Props }) {
+  const { t } = useTranslation(['inspect']);
+  // TODO: Introduce shared component for token tooltips
+  if (!token) {
+    return (
+      <Tooltip label={t('tokenNotFound')} side="bottom">
+        <Box
+          css={{
+            width: '24px',
+            height: '24px',
+            borderRadius: '100%',
+            border: '1px solid $borderMuted',
+            backgroundColor: '$bgSubtle',
+            display: 'flex',
+            alignItems: 'center',
+            justifyContent: 'center',
+          }}
+        >
+          <IconBrokenLink />
+        </Box>
+      </Tooltip>
+    );
+  }
+  switch (token?.type) {
+    case TokenTypes.COLOR: {
+      return (
+        <Box
+          css={{
+            background: String(token.value),
+            width: '24px',
+            height: '24px',
+            borderRadius: '100%',
+            border: '1px solid $borderMuted',
+            fontSize: 0,
+            flexShrink: 0,
+          }}
+        />
+      );
+    }
+    case TokenTypes.TYPOGRAPHY: {
+      return (
+        <Box
+          css={{
+            background: '$bgSubtle',
+            fontSize: '$small',
+            padding: '$2 $3',
+            borderRadius: '$small',
+            width: '40px',
+          }}
+        >
+          aA
+        </Box>
+      );
+    }
+    // TODO: Show shadow preview
+    case TokenTypes.BOX_SHADOW: {
+      return (
+        <Box
+          css={{
+            background: '$bgSubtle',
+            fontSize: '$small',
+            padding: '$2 $3',
+            borderRadius: '$small',
+            width: '40px',
+          }}
+        >
+          <IconShadow />
+        </Box>
+      );
+    }
+    case TokenTypes.COMPOSITION: {
+      let compositionToken: SingleToken = {} as SingleToken;
+      if (token.rawValue) {
+        compositionToken = {
+          name: token.name,
+          type: token.type,
+          value: token.rawValue,
+        };
+      }
+ 
+      return (
+        <TokenTooltip token={compositionToken}>
+          <Box
+            css={{
+              background: '$bgSubtle',
+              fontSize: '$small',
+              padding: '$2 $3',
+              borderRadius: '$small',
+              width: '40px',
+            }}
+          >
+            <IconComposition />
+          </Box>
+        </TokenTooltip>
+      );
+    }
+ 
+    case TokenTypes.ASSET: {
+      return (
+        <Box
+          css={{
+            background: '$bgSubtle',
+            fontSize: '$small',
+            padding: '$2 $3',
+            borderRadius: '$small',
+            width: '40px',
+          }}
+        >
+          <IconImage />
+        </Box>
+      );
+    }
+ 
+    case TokenTypes.BORDER: {
+      return (
+        <Box
+          css={{
+            background: '$bgSubtle',
+            fontSize: '$small',
+            padding: '$2 $3',
+            borderRadius: '$small',
+            width: '40px',
+          }}
+        >
+          <IconBorder />
+        </Box>
+      );
+    }
+ 
+    default: {
+      return (
+        <Box
+          css={{
+            background: '$bgSubtle',
+            fontSize: '$small',
+            padding: '$2 $3',
+            borderRadius: '$small',
+            width: '40px',
+            fontFamily: '$mono',
+            overflow: 'hidden',
+          }}
+        >
+          {String(token.value)}
+        </Box>
+      );
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html new file mode 100644 index 000000000..4e2f19b3d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/app/components/InspectorTokenGroup.tsx + + + + + + + + + +
+
+

All files / src/app/components InspectorTokenGroup.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Heading } from '@tokens-studio/ui';
+import { SingleToken } from '@/types/tokens';
+import Box from './Box';
+import InspectorTokenSingle from './InspectorTokenSingle';
+import { Properties } from '@/constants/Properties';
+import { SelectionGroup } from '@/types';
+ 
+export default function InspectorTokenGroup({ group, resolvedTokens }: { group: [Properties, SelectionGroup[]], resolvedTokens: SingleToken[] }) {
+  const [groupKey, groupValue] = group;
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        flexDirection: 'column',
+        justifyContent: 'space-between',
+        marginBottom: '$3',
+      }}
+      key={`${groupKey}`}
+    >
+      <Heading size="small">{groupKey}</Heading>
+      {groupValue.map((uniqueToken) => <InspectorTokenSingle key={`${uniqueToken.category}-${uniqueToken.value}`} token={uniqueToken} resolvedTokens={resolvedTokens} />)}
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html new file mode 100644 index 000000000..faa0c8639 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html @@ -0,0 +1,655 @@ + + + + + + Code coverage report for src/app/components/InspectorTokenSingle.tsx + + + + + + + + + +
+
+

All files / src/app/components InspectorTokenSingle.tsx

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { ValueNoneIcon } from '@radix-ui/react-icons';
+import { shallowEqual, useDispatch, useSelector } from 'react-redux';
+import { IconButton, Button, Checkbox } from '@tokens-studio/ui';
+import { SingleToken } from '@/types/tokens';
+import Box from './Box';
+import useTokens from '../store/useTokens';
+import InspectorResolvedToken from './InspectorResolvedToken';
+import { Dispatch } from '../store';
+import { SelectionGroup } from '@/types';
+import IconToggleableDisclosure from '@/app/components/IconToggleableDisclosure';
+import TokenNodes from './inspector/TokenNodes';
+import { inspectStateSelector } from '@/selectors';
+import { useTypeForProperty } from '../hooks/useTypeForProperty';
+import DownshiftInput from './DownshiftInput';
+import Modal from './Modal';
+import Stack from './Stack';
+import { IconBrokenLink, IconVariable } from '@/icons';
+import StyleIcon from '@/icons/style.svg';
+import Tooltip from './Tooltip';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { TokensContext } from '@/context';
+ 
+export default function InspectorTokenSingle({
+  token,
+  resolvedTokens,
+}: {
+  token: SelectionGroup;
+  resolvedTokens: SingleToken[];
+}) {
+  // If token has the resolvedValue property, that means it is the style not a token
+  const { handleRemap, getTokenValue } = useTokens();
+  const property = useTypeForProperty(token.category);
+  const inspectState = useSelector(inspectStateSelector, shallowEqual);
+  const dispatch = useDispatch<Dispatch>();
+  const [newTokenName, setNewTokenName] = React.useState<string>(token.value);
+  const [showDialog, setShowDialog] = React.useState<boolean>(false);
+  const [isChecked, setChecked] = React.useState<boolean>(false);
+  const [isBrokenLink, setIsBrokenLink] = React.useState<boolean>(false);
+  const tokensContext = React.useContext(TokensContext);
+ 
+  const { t } = useTranslation(['inspect']);
+ 
+  const tokenToDisplay = React.useMemo(() => {
+    if (token.resolvedValue) {
+      return { name: token.value, value: token.resolvedValue, type: property };
+    }
+    const resolvedToken = getTokenValue(token.value, resolvedTokens);
+    if (resolvedToken) {
+      if (resolvedToken.type === TokenTypes.COMPOSITION) {
+        return {
+          name: resolvedToken.name, value: resolvedToken.value, rawValue: resolvedToken.rawValue, type: resolvedToken.type,
+        };
+      }
+ 
+      return { name: resolvedToken.name, value: resolvedToken.value, type: resolvedToken.type };
+    }
+    return null;
+  }, [token, property, getTokenValue, resolvedTokens]);
+ 
+  React.useEffect(() => {
+    setChecked(inspectState.selectedTokens.includes(`${token.category}-${token.value}`));
+    if (!resolvedTokens.find((resolvedToken) => resolvedToken.name === token.value) && !token.resolvedValue) setIsBrokenLink(true);
+  }, [inspectState.selectedTokens, token]);
+ 
+  React.useEffect(() => {
+    tokensContext.resolvedTokens = resolvedTokens;
+  }, [resolvedTokens]);
+ 
+  const handleDownShiftInputChange = React.useCallback((newInputValue: string) => {
+    setNewTokenName(newInputValue.replace(/[{}$]/g, ''));
+  }, []);
+ 
+  const handleChange = React.useCallback((property: string, value: string) => {
+    setNewTokenName(value);
+  }, []);
+ 
+  const onConfirm = React.useCallback(() => {
+    handleRemap(token.category, token.value, newTokenName, resolvedTokens);
+    setShowDialog(false);
+  }, [token, handleRemap, newTokenName, resolvedTokens]);
+ 
+  const handleClick = React.useCallback(() => {
+    setShowDialog(true);
+  }, []);
+ 
+  const onCancel = React.useCallback(() => {
+    setShowDialog(false);
+  }, []);
+ 
+  const onCheckedChanged = React.useCallback(() => {
+    dispatch.inspectState.toggleSelectedTokens(`${token.category}-${token.value}`);
+  }, [token, dispatch.inspectState]);
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        flexDirection: 'row',
+        justifyContent: 'space-between',
+        width: '100%',
+        paddingTop: '$2',
+        paddingBottom: '$2',
+      }}
+      data-testid={`inspector-token-single-${token.category}`}
+    >
+      <Box
+        css={{
+          display: 'flex',
+          flexDirection: 'row',
+          alignItems: 'center',
+          gap: '$4',
+        }}
+      >
+        <Checkbox
+          style={{ flexShrink: 0 }}
+          checked={isChecked}
+          id={`${token.category}-${token.value}`}
+          onCheckedChange={onCheckedChanged}
+        />
+        {
+          (token.value === 'none' || tokenToDisplay?.value === 'none') && <ValueNoneIcon style={{ flexShrink: 0 }} />
+        }
+        {
+          isBrokenLink && token.value !== 'none' && <IconBrokenLink style={{ flexShrink: 0 }} />
+        }
+        {(tokenToDisplay && tokenToDisplay.value !== 'none' && tokenToDisplay.name !== 'none') && (
+          <InspectorResolvedToken token={tokenToDisplay} />
+        )}
+        <Box
+          css={{
+            display: 'flex',
+            flexDirection: 'row',
+            alignItems: 'center',
+            gap: '$1',
+          }}
+        >
+          {token.appliedType === 'variable' && <Tooltip label={t('appliedVariable')}><IconVariable /></Tooltip>}
+          {token.appliedType === 'style' && <Tooltip label={t('appliedStyle')}><StyleIcon /></Tooltip>}
+          <Box css={{ fontSize: '$small' }}>{token.value}</Box>
+          {
+            !token.resolvedValue && (
+            <IconButton
+              tooltip={t('changeToAnotherToken')}
+              data-testid="button-token-remap"
+              onClick={handleClick}
+              icon={<IconToggleableDisclosure />}
+              size="small"
+              variant="invisible"
+            />
+            )
+          }
+        </Box>
+        {
+          showDialog && (
+            <Modal modal={false} title={t('chooseANewTokenForValue', { value: tokenToDisplay?.name || token.value })} size="large" isOpen close={onCancel}>
+              <form
+                onSubmit={onConfirm}
+              >
+                <Stack direction="column" gap={4}>
+                  <DownshiftInput
+                    value={newTokenName}
+                    type={property}
+                    resolvedTokens={resolvedTokens}
+                    handleChange={handleChange}
+                    setInputValue={handleDownShiftInputChange}
+                    placeholder={t('chooseANewToken')}
+                    suffix
+                    onSubmit={onConfirm}
+                  />
+ 
+                  <Stack direction="row" gap={4} justify="between">
+                    <Button variant="secondary" onClick={onCancel}>
+                      {t('cancel')}
+                    </Button>
+                    <Button type="submit" variant="primary">
+                      {t('remap')}
+                    </Button>
+                  </Stack>
+                </Stack>
+              </form>
+            </Modal>
+          )
+        }
+      </Box>
+      <TokenNodes nodes={token.nodes} />
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html new file mode 100644 index 000000000..e55dace9d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/app/components/JSONEditor.tsx + + + + + + + + + +
+
+

All files / src/app/components JSONEditor.tsx

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import Editor, { useMonaco } from '@monaco-editor/react';
+import Box from './Box';
+import { useShortcut } from '@/hooks/useShortcut';
+import { activeApiProviderSelector, activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors';
+import useTokens from '../store/useTokens';
+import { useFigmaTheme } from '@/hooks/useFigmaTheme';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+type Props = {
+  stringTokens: string;
+  handleChange: (tokens: string) => void;
+};
+ 
+function JSONEditor({
+  stringTokens,
+  handleChange,
+}: Props) {
+  const editProhibited = useSelector(editProhibitedSelector);
+  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
+  const activeApiProvider = useSelector(activeApiProviderSelector);
+  const isTokensStudioProvider = activeApiProvider === StorageProviderType.TOKENS_STUDIO;
+ 
+  const { handleJSONUpdate } = useTokens();
+  const { isDarkTheme } = useFigmaTheme();
+  const monaco = useMonaco();
+ 
+  monaco?.languages.json.jsonDefaults.setDiagnosticsOptions({
+    schemas: [{
+      fileMatch: ['*'],
+      uri: 'https://schemas.tokens.studio/latest/tokens-schema.json',
+    }],
+    enableSchemaRequest: true,
+  });
+ 
+  const handleJsonEditChange = React.useCallback((value: string | undefined) => {
+    handleChange(value ?? '');
+  }, [handleChange]);
+ 
+  const handleSaveShortcut = React.useCallback((event: KeyboardEvent) => {
+    if (event.metaKey || event.ctrlKey) {
+      handleJSONUpdate(stringTokens);
+    }
+  }, [handleJSONUpdate, stringTokens]);
+ 
+  useShortcut(['KeyS'], handleSaveShortcut);
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        flexDirection: 'column',
+        flexGrow: 1,
+        height: '100%',
+        position: 'relative',
+      }}
+    >
+      <Editor
+        language="json"
+        onChange={handleJsonEditChange}
+        value={stringTokens}
+        theme={isDarkTheme ? 'vs-dark' : 'vs-light'}
+        options={{
+          minimap: {
+            enabled: false,
+          },
+          lineNumbers: 'on',
+          fontSize: 11,
+          wordWrap: 'on',
+          contextmenu: false,
+          readOnly: editProhibited || activeTokenSetReadOnly || isTokensStudioProvider,
+        }}
+      />
+    </Box>
+  );
+}
+export default JSONEditor;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html new file mode 100644 index 000000000..cd7ad8103 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/app/components/Label.tsx + + + + + + + + + +
+
+

All files / src/app/components Label.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { ReactNode } from 'react';
+import { styled } from '@/stitches.config';
+import type { StitchesCSS } from '@/types';
+ 
+export default function Label({
+  htmlFor,
+  children,
+  disabled = false,
+  css,
+}: {
+  htmlFor: string;
+  children: ReactNode;
+  disabled?: boolean;
+  css?: StitchesCSS;
+}) {
+  const StyledLabel = styled('label', {
+    fontSize: '$small',
+    lineHeight: 1,
+    userSelect: 'none',
+    variants: {
+      isDisabled: {
+        true: {
+          color: '$fgDisabled',
+        },
+        false: {
+          color: '$fgDefault',
+        },
+      },
+    },
+  });
+ 
+  return (
+    <StyledLabel isDisabled={disabled} css={css} htmlFor={htmlFor}>
+      {children}
+    </StyledLabel>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html new file mode 100644 index 000000000..fc4b677ab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/components/LanguageSelector + + + + + + + + + +
+
+

All files src/app/components/LanguageSelector

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/12100%0/00%0/50%0/10
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html new file mode 100644 index 000000000..28696cc82 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/app/components/LanguageSelector/index.tsx + + + + + + + + + +
+
+

All files / src/app/components/LanguageSelector index.tsx

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import React, { useMemo } from 'react';
+import { Label, Select, Stack } from '@tokens-studio/ui';
+import { useTranslation } from 'react-i18next';
+import { Dispatch } from '@/app/store';
+ 
+import { languages } from '@/i18n';
+import { languageSelector } from '@/selectors';
+import { track } from '@/utils/analytics';
+ 
+export const LanguageSelector = () => {
+  const { t } = useTranslation(['settings']);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const currentLang = useSelector(languageSelector);
+  const displayLang = useMemo(() => languages.find((l) => l.code === currentLang)?.title, [currentLang]);
+ 
+  const handleValueChange = React.useCallback(
+    (value: string) => {
+      track('setLanguage', { value });
+      dispatch.settings.setLanguage(value);
+    },
+    [dispatch.settings],
+  );
+ 
+  return (
+    <Stack direction="row" justify="between" align="center" gap={4} css={{ width: '100%' }}>
+      <Label>{t('language')}</Label>
+      <Select value={currentLang} onValueChange={handleValueChange}>
+        <Select.Trigger value={displayLang} data-testid="choose-language" />
+        <Select.Content>
+          {languages.map((lang) => (
+            <Select.Item key={lang.code} value={lang.code}>
+              {lang.title}
+            </Select.Item>
+          ))}
+        </Select.Content>
+      </Select>
+    </Stack>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html new file mode 100644 index 000000000..c582de7bc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/app/components/LaunchDarkly/LDProvider.tsx + + + + + + + + + +
+
+

All files / src/app/components/LaunchDarkly LDProvider.tsx

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { LDProvider } from 'launchdarkly-react-client-sdk';
+import { useSelector } from 'react-redux';
+import { userIdSelector } from '@/selectors/userIdSelector';
+import { licenseKeySelector } from '@/selectors/licenseKeySelector';
+ 
+interface LDProviderProps {
+  children: JSX.Element;
+}
+ 
+const ldClientSideId = process.env.LAUNCHDARKLY_SDK_CLIENT || '';
+ 
+export const LDProviderWrapper = ({ children }: LDProviderProps) => {
+  const userId = useSelector(userIdSelector);
+  // @README we only want to set-up LD if there is a license key to reduce the amount of API calls
+  const licenseKey = useSelector(licenseKeySelector);
+ 
+  return (
+    <LDProvider
+      deferInitialization
+      clientSideID={ldClientSideId}
+      user={userId && licenseKey ? { key: userId } : undefined}
+    >
+      {children}
+    </LDProvider>
+  );
+};
+ 
+export function withLDProviderWrapper<P>(Component: React.ComponentType<React.PropsWithChildren<React.PropsWithChildren<P>>>) {
+  return (props: P) => (
+    <LDProviderWrapper>
+      <Component {...props} />
+    </LDProviderWrapper>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html new file mode 100644 index 000000000..124a926f7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/components/LaunchDarkly + + + + + + + + + +
+
+

All files src/app/components/LaunchDarkly

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
LDProvider.tsx +
+
0%0/70%0/60%0/30%0/7
index.ts +
+
0%0/00%0/00%0/00%0/0
useFlags.ts +
+
0%0/30%0/20%0/20%0/3
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html new file mode 100644 index 000000000..f11998020 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/components/LaunchDarkly/index.ts + + + + + + + + + +
+
+

All files / src/app/components/LaunchDarkly index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './useFlags';
+export * from './LDProvider';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html new file mode 100644 index 000000000..ba5a52aa7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/LaunchDarkly/useFlags.ts + + + + + + + + + +
+
+

All files / src/app/components/LaunchDarkly useFlags.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { useFlags as useFlagsRaw } from 'launchdarkly-react-client-sdk';
+ 
+export const useFlags = process.env.LAUNCHDARKLY_FLAGS
+  ? () => (
+    Object.fromEntries(process.env.LAUNCHDARKLY_FLAGS!.split(',').map((flag) => (
+      [flag, true]
+    )))
+  )
+  : useFlagsRaw;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html new file mode 100644 index 000000000..0c2e7840b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/Link.tsx + + + + + + + + + +
+
+

All files / src/app/components Link.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { styled } from '@/stitches.config';
+ 
+const StyledLink = styled('a', {
+  color: '$accentDefault',
+  textDecoration: 'none',
+  ':hover': {
+    textDecoration: 'underline',
+  },
+});
+ 
+type Props = {
+  href: string
+  children: React.ReactNode
+};
+ 
+export default function Link({ href, children }: Props) {
+  return (
+    <StyledLink href={href} target="_blank" rel="noreferrer">{children}</StyledLink>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html new file mode 100644 index 000000000..a8d60b401 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for src/app/components/LoadingBar.tsx + + + + + + + + + +
+
+

All files / src/app/components LoadingBar.tsx

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/28 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import get from 'just-safe-get';
+import { useSelector } from 'react-redux';
+import {
+  Box, Button, Spinner, Stack, Text,
+} from '@tokens-studio/ui';
+import { useDelayedFlag } from '@/hooks';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { backgroundJobsSelector, windowSizeSelector } from '@/selectors';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { formatNumber } from '@/utils/formatNumber';
+// TODO : i18n needs some refactoring
+export const backgroundJobTitles = {
+  [BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA]: 'Finding nodes...',
+  [BackgroundJobs.PLUGIN_UPDATENODES]: 'Updating nodes...',
+  [BackgroundJobs.PLUGIN_UPDATEPLUGINDATA]: 'Updating plugin data...',
+  [BackgroundJobs.UI_PULLTOKENS]: 'Fetching remote tokens...',
+  [BackgroundJobs.UI_APPLYNODEVALUE]: 'Applying node value...',
+  [BackgroundJobs.UI_EDITSINGLETOKEN]: 'Updating token...',
+  [BackgroundJobs.UI_CREATESINGLETOKEN]: 'Creating token...',
+  [BackgroundJobs.UI_DELETETOKENGROUP]: 'Deleting token...',
+  [BackgroundJobs.UI_DUPLICATETOKEN]: 'Duplicating token...',
+  [BackgroundJobs.UI_REDOING]: 'Redoing action...',
+  [BackgroundJobs.UI_UNDOING]: 'Undoing action...',
+  [BackgroundJobs.UI_ATTACHING_LOCAL_STYLES]: 'Attaching local styles to theme...',
+  [BackgroundJobs.UI_CREATEVARIABLES]: 'Creating variables...',
+  [BackgroundJobs.UI_CREATE_STYLES]: 'Creating styles...',
+};
+ 
+export default function LoadingBar() {
+  const backgroundJobs = useSelector(backgroundJobsSelector);
+  const windowSize = useSelector(windowSizeSelector);
+ 
+  const hasInfiniteJobs = React.useMemo(() => backgroundJobs.some((job) => job.isInfinite), [backgroundJobs]);
+  const expectedWaitTime = React.useMemo(() => backgroundJobs.reduce((time, job) => (
+    time + (job.totalTasks ? (
+      (job.totalTasks - (job.completedTasks ?? 0)) * (job.timePerTask ?? 0)
+    ) : 0)
+  ), 0), [backgroundJobs]);
+  const expectedWaitTimeInSeconds = React.useMemo(() => (
+    Math.round(expectedWaitTime / 1000)
+  ), [expectedWaitTime]);
+  const shouldShow = useDelayedFlag(
+    !(
+      (!backgroundJobs.length || expectedWaitTime < 100)
+      && !hasInfiniteJobs
+    ),
+  );
+  const completedTasks = React.useMemo(() => backgroundJobs.reduce((total, job) => (
+    total + (job.completedTasks ?? 0)
+  ), 0), [backgroundJobs]);
+  const totalTasks = React.useMemo(() => backgroundJobs.reduce((total, job) => (
+    total + (job.totalTasks ?? 0)
+  ), 0), [backgroundJobs]);
+ 
+  const handleCancel = React.useCallback(() => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.CANCEL_OPERATION,
+    });
+  }, []);
+ 
+  if (!shouldShow) {
+    return null;
+  }
+ 
+  const message = get(backgroundJobTitles, backgroundJobs[backgroundJobs.length - 1]?.name ?? '', '');
+ 
+  return (
+    <Box css={{ position: 'fixed', width: '100%', zIndex: 20 }} data-testid="loadingBar">
+      <Stack
+        direction="row"
+        align="center"
+        gap={2}
+        css={{
+          backgroundColor: !windowSize?.isMinimized ? '$bgSubtle' : 'unset', padding: '$2', borderRadius: '$small', margin: '$2',
+        }}
+      >
+        <Spinner />
+        {!windowSize?.isMinimized && (
+          <Stack direction="row" align="center" justify="between" css={{ flexGrow: 1 }}>
+            <Text size="xsmall" bold>
+              {message || 'Hold on, updating...'}
+              {completedTasks > 0 && totalTasks > 0 && (
+                ` ${formatNumber(completedTasks)}/${formatNumber(totalTasks)}`
+              )}
+            </Text>
+            <Stack direction="row" align="center" gap={1}>
+              <Text size="xsmall" muted>
+                {expectedWaitTimeInSeconds >= 1 && (
+                  `${expectedWaitTimeInSeconds}s`
+                )}
+              </Text>
+              <Button variant="invisible" size="small" onClick={handleCancel}>Cancel</Button>
+            </Stack>
+          </Stack>
+        )}
+      </Stack>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html new file mode 100644 index 000000000..43cd7b018 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html @@ -0,0 +1,367 @@ + + + + + + Code coverage report for src/app/components/LocalStorageItem.tsx + + + + + + + + + +
+
+

All files / src/app/components LocalStorageItem.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Box, Text,
+} from '@tokens-studio/ui';
+import { useDispatch, useSelector } from 'react-redux';
+ 
+import { IconFile } from '@/icons';
+import { StyledStorageItem } from './StyledStorageItem';
+import { Dispatch } from '../store';
+import useStorage from '../store/useStorage';
+import { storageTypeSelector } from '@/selectors';
+import useConfirm from '../hooks/useConfirm';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { TokenFormatBadge } from './TokenFormatBadge';
+ 
+const LocalStorageItem = () => {
+  const { t } = useTranslation(['storage']);
+  const dispatch = useDispatch<Dispatch>();
+  const storageType = useSelector(storageTypeSelector);
+  const { confirm } = useConfirm();
+  const { setStorageType } = useStorage();
+ 
+  const handleSubmitLocalStorage = React.useCallback(() => {
+    dispatch.uiState.setLocalApiState({ provider: StorageProviderType.LOCAL });
+    // setStorageProvider(StorageProviderType.LOCAL);
+    setStorageType({
+      provider: { provider: StorageProviderType.LOCAL },
+      shouldSetInDocument: true,
+    });
+    dispatch.tokenState.setEditProhibited(false);
+  }, [dispatch.tokenState, dispatch.uiState, setStorageType]);
+ 
+  const handleSetLocalStorage = React.useCallback(async () => {
+    if (storageType?.provider !== StorageProviderType.LOCAL) {
+      const confirmResult = await confirm({
+        text: t('setToDocumentStorage') as string,
+        description: t('youCanAlwaysGoBack') as string,
+      });
+      if (confirmResult) {
+        handleSubmitLocalStorage();
+      }
+    }
+    return null;
+  }, [confirm, handleSubmitLocalStorage, storageType?.provider, t]);
+ 
+  const isActive = storageType.provider === StorageProviderType.LOCAL;
+ 
+  return (
+    <StyledStorageItem active={isActive}>
+      <Box
+        css={{
+          alignItems: 'center',
+          flexDirection: 'row',
+          flexGrow: '1',
+          display: 'flex',
+          overflow: 'hidden',
+          gap: '$3',
+        }}
+      >
+        <Box>
+          <IconFile />
+        </Box>
+        <Box>
+          <Box css={{ fontSize: '$small', fontWeight: '$sansBold' }}>{t('localDocument')}</Box>
+          <Text muted size="xsmall">Tokens will be stored on this Figma file</Text>
+        </Box>
+      </Box>
+      <Box
+        css={{
+          marginRight: '$2',
+          minHeight: '$controlSmall',
+          display: 'flex',
+          alignItems: 'center',
+        }}
+      >
+        {isActive ? (
+          <TokenFormatBadge extended />
+        ) : (
+          <Button
+            data-testid="button-storage-item-apply"
+            size="small"
+            variant="secondary"
+            onClick={handleSetLocalStorage}
+          >
+            {t('apply')}
+          </Button>
+        )}
+      </Box>
+    </StyledStorageItem>
+  );
+};
+ 
+export default LocalStorageItem;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html new file mode 100644 index 000000000..799bf70be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html @@ -0,0 +1,625 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables ExportSetsTab.tsx

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { FileDirectoryIcon } from '@primer/octicons-react';
+import {
+  Tabs, Stack, Heading, Button,
+} from '@tokens-studio/ui';
+import React, { useMemo } from 'react';
+import { useDispatch, useSelector, useStore } from 'react-redux';
+import { useForm, Controller } from 'react-hook-form';
+import { useTranslation } from 'react-i18next';
+ 
+import Modal from '../Modal';
+import { TokenSetTreeContent } from '../TokenSetTree/TokenSetTreeContent';
+import { StyledCard } from './StyledCard';
+ 
+import { ExplainerModal } from '../ExplainerModal';
+import OnboardingExplainer from '../OnboardingExplainer';
+import { Dispatch } from '../../store';
+ 
+import { allTokenSetsSelector, usedTokenSetSelector } from '@/selectors';
+import { docsLinks } from './docsLinks';
+import { RootState } from '@/app/store';
+import { tokenSetListToTree, TreeItem } from '@/utils/tokenset';
+import { TokenSetThemeItem } from '../ManageThemesModal/TokenSetThemeItem';
+import { FormValues } from '../ManageThemesModal/CreateOrEditThemeForm';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { ExportTokenSet } from '@/types/ExportTokenSet';
+ 
+export default function ExportSetsTab({ selectedSets, setSelectedSets }: { selectedSets: ExportTokenSet[], setSelectedSets: (sets: ExportTokenSet[]) => void }) {
+  const dispatch = useDispatch<Dispatch>();
+  const closeOnboarding = React.useCallback(() => {
+    dispatch.uiState.setOnboardingExplainerExportSets(false);
+  }, [dispatch]);
+  const onboardingExplainerExportSets = useSelector((state: RootState) => state.uiState.onboardingExplainerExportSets);
+ 
+  const { t } = useTranslation(['manageStylesAndVariables']);
+ 
+  const store = useStore<RootState>();
+ 
+  const selectedTokenSets = React.useMemo(() => (
+    usedTokenSetSelector(store.getState())
+  ), [store]);
+ 
+  const {
+    control, getValues, reset,
+  } = useForm<FormValues>({
+    defaultValues: {
+      tokenSets: { ...selectedTokenSets },
+    },
+  });
+ 
+  const [showChangeSets, setShowChangeSets] = React.useState(false);
+  const [previousSetSelection, setPreviousSetSelection] = React.useState({});
+ 
+  const allSets = useSelector(allTokenSetsSelector);
+ 
+  const availableTokenSets = useSelector(allTokenSetsSelector);
+ 
+  const setsTree = React.useMemo(() => tokenSetListToTree(availableTokenSets), [availableTokenSets]);
+ 
+  const handleCancelChangeSets = React.useCallback(() => {
+    reset(previousSetSelection);
+    setShowChangeSets(false);
+  }, [previousSetSelection, reset]);
+ 
+  const handleSaveChangeSets = React.useCallback(() => {
+    setShowChangeSets(false);
+  }, []);
+ 
+  const handleShowChangeSets = React.useCallback(() => {
+    setShowChangeSets(true);
+    setPreviousSetSelection(getValues());
+  }, [getValues]);
+ 
+  const TokenSetThemeItemInput = React.useCallback((props: React.PropsWithChildren<{ item: TreeItem }>) => (
+    <Controller
+      name="tokenSets"
+      control={control}
+      // this is the only way to do this
+      // eslint-disable-next-line
+      render={({ field }) => (
+        <TokenSetThemeItem
+          {...props}
+          value={field.value}
+          onChange={field.onChange}
+        />
+      )}
+    />
+  ), [control]);
+ 
+  const selectedEnabledSets = useMemo(() => selectedSets.filter((set) => set.status === TokenSetStatus.ENABLED), [selectedSets]);
+ 
+  React.useEffect(() => {
+    if (!showChangeSets) {
+      const currentSelectedSets = getValues();
+      const internalSelectedTokenSets: ExportTokenSet[] = Object.keys(currentSelectedSets.tokenSets).reduce((acc: ExportTokenSet[], curr: string) => {
+        if (currentSelectedSets.tokenSets[curr] !== TokenSetStatus.DISABLED) {
+          const tokenSet = {
+            set: curr,
+            status: currentSelectedSets.tokenSets[curr],
+          } as ExportTokenSet;
+          acc.push(tokenSet);
+        }
+        return acc;
+      }, [] as ExportTokenSet[]);
+      setSelectedSets([...internalSelectedTokenSets]);
+    }
+  }, [showChangeSets, getValues, setSelectedSets]);
+ 
+  return (
+    <Tabs.Content value="useSets">
+      <StyledCard>
+        <Stack direction="column" align="start" gap={6}>
+          <Stack direction="column" align="start" gap={4}>
+            {onboardingExplainerExportSets ? (
+              <OnboardingExplainer
+                data={{
+                  text: t('exportSetsTab.intro'),
+                  title: t('exportSetsTab.confirmSets'),
+                  url: docsLinks.stylesAndVariables,
+                }}
+                closeOnboarding={closeOnboarding}
+              />
+            ) : (
+              <Stack direction="row" align="center" gap={2}>
+                <Heading>{t('exportSetsTab.confirmSets')}</Heading>
+                <ExplainerModal title={t('exportSetsTab.confirmSets')}>
+                  {t('exportSetsTab.intro')}
+                  {/* Commenting out until we have those docs ready <Link target="_blank" href={docsLinks.stylesAndVariables}>{`${t('generic.learnMore')} – ${t('docs.stylesAndVariables')}`}</Link> */}
+                </ExplainerModal>
+              </Stack>
+            )}
+          </Stack>
+          <Stack direction="row" align="start" gap={2}>
+            <FileDirectoryIcon size="small" />
+            <span>
+              {selectedEnabledSets.length}
+              {' of '}
+              {allSets.length}
+              {' '}
+              {t('exportSetsTab.setsSelectedForExport')}
+            </span>
+          </Stack>
+          <Button variant="secondary" size="small" onClick={handleShowChangeSets}>{t('actions.changeSets')}</Button>
+        </Stack>
+      </StyledCard>
+      <Modal
+        size="fullscreen"
+        full
+        compact
+        isOpen={showChangeSets}
+        close={handleCancelChangeSets}
+        backArrow
+        title="Styles and Variables / Export Sets"
+        footer={(
+          <Stack direction="row" gap={4} justify="between">
+            <Button variant="secondary" onClick={handleCancelChangeSets}>
+              {t('actions.cancel')}
+            </Button>
+            <Button variant="primary" onClick={handleSaveChangeSets}>
+              {t('actions.confirm')}
+            </Button>
+          </Stack>
+          )}
+      >
+        <Heading>
+          {t('exportSetsTab.changeSetsHeading')}
+        </Heading>
+        {/* Commenting until we have docs <Link target="_blank" href={docsLinks.sets}>{`${t('generic.learnMore')} – ${t('docs.referenceOnlyMode')}`}</Link> */}
+        <Stack
+          direction="column"
+          gap={1}
+          css={{
+            marginBlockStart: '$4',
+          }}
+        >
+          <TokenSetTreeContent items={setsTree} renderItemContent={TokenSetThemeItemInput} keyPosition="end" />
+        </Stack>
+      </Modal>
+    </Tabs.Content>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html new file mode 100644 index 000000000..d6381be6a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html @@ -0,0 +1,478 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables ExportThemesTab.tsx

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import {
+  Button, Heading, Tabs, Box, Stack, Checkbox, Label,
+} from '@tokens-studio/ui';
+import { useTranslation } from 'react-i18next';
+import { StyledCard } from './StyledCard';
+import {
+  themesListSelector,
+} from '@/selectors';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+import { ThemeObject } from '@/types';
+import { LabelledCheckbox } from './LabelledCheckbox';
+ 
+export default function ExportThemesTab({ selectedThemes, setSelectedThemes }: { selectedThemes: string[], setSelectedThemes: (themes: string[]) => void }) {
+  const { t } = useTranslation(['manageStylesAndVariables']);
+  const themes = useSelector(themesListSelector);
+  const isProUser = useIsProUser();
+ 
+  const ThemeGroups = React.useMemo(() => {
+    const uniqueGroups: string[] = themes.reduce((unique: string[], theme) => {
+      if (theme.group && !unique.includes(theme.group)) {
+        unique.push(theme.group);
+      }
+      return unique;
+    }, []);
+    return uniqueGroups;
+  }, [themes]);
+ 
+  const ungroupedThemes = React.useMemo(() => themes.filter((theme) => !theme.group), [themes]);
+ 
+  // TODO: Remeber selected themes in document storage
+  // Reloading the plugin shouldn't forget the selected themes
+ 
+  const handleSelectTheme = React.useCallback((themeId: string) => {
+    if (selectedThemes.includes(themeId)) {
+      setSelectedThemes(selectedThemes.filter((id) => id !== themeId));
+    } else {
+      setSelectedThemes([...selectedThemes, themeId]);
+    }
+  }, [selectedThemes, setSelectedThemes]);
+ 
+  const handleSelectAllThemes = React.useCallback(() => {
+    if (selectedThemes.length === themes.length) {
+      setSelectedThemes([]);
+    } else {
+      setSelectedThemes(themes.map((theme) => theme.id));
+    }
+  }, [themes, selectedThemes, setSelectedThemes]);
+ 
+  function createThemeRow(theme: ThemeObject) {
+    return (
+      <Stack
+        gap={3}
+        key={theme.id}
+      >
+        {/* eslint-disable-next-line react/jsx-no-bind */}
+        <LabelledCheckbox id={theme.id} checked={selectedThemes.includes(theme.id)} onChange={() => handleSelectTheme(theme.id)} label={theme.name} />
+        {/* TODO: Add theme details */}
+        {/* <ThemeDetails /> */}
+        {/* <IconButton variant="invisible" size="small" tooltip="Details" icon={<ChevronRightIcon />} /> */}
+      </Stack>
+    );
+  }
+ 
+  return (
+    <Tabs.Content value="useThemes">
+      {themes.length === 0 ? (
+        <StyledCard>
+          <Stack direction="column" align="start" gap={4}>
+            {isProUser ? (
+              <>
+                <Heading size="medium">{t('exportThemesTab.headingPro')}</Heading>
+                <p>{t('exportThemesTab.introPro')}</p>
+                {/* Commenting out until we have docs <Link target="_blank" href={docsLinks.themes}>
+                  {' '}
+                  {t('generic.learnMore')}
+                  {' – '}
+                  {t('generic.themes')}
+                </Link> */}
+              </>
+            ) : (
+              <>
+                <Heading size="medium">{t('exportThemesTab.headingBasic')}</Heading>
+                <p>{t('exportThemesTab.introBasic')}</p>
+                {/* Commenting out until we have docs <Link target="_blank" href={docsLinks.themes}>
+                  {t('generic.learnMore')}
+                  {' – '}
+                  {t('generic.themes')}
+                </Link> */}
+                <Box css={{
+                  alignSelf: 'flex-end',
+                }}
+                >
+                  <Button variant="secondary" size="small">{t('actions.getPRO')}</Button>
+                </Box>
+              </>
+            )}
+          </Stack>
+ 
+        </StyledCard>
+      ) : (
+        <StyledCard>
+          <Stack direction="column" align="start" gap={4}>
+            <Heading>{t('exportThemesTab.confirmThemes')}</Heading>
+            <p>{t('exportThemesTab.combinationsOfSetsMakeThemes')}</p>
+            <Stack direction="column" width="full" gap={4}>
+              <Stack direction="row" gap={3} align="center">
+                <Checkbox id="check-all-themes" checked={selectedThemes.length === themes.length} onCheckedChange={handleSelectAllThemes} />
+                <Label htmlFor="check-all-themes">{t('generic.selectAll')}</Label>
+              </Stack>
+              {ThemeGroups.map((group) => (
+                <Stack direction="column" gap={2}>
+                  <Heading size="small">{group}</Heading>
+                  {themes.filter((theme) => theme.group === group).map((theme) => createThemeRow(theme))}
+                </Stack>
+              ))}
+              {ungroupedThemes.length ? (
+                <Stack direction="column" gap={2}>
+                  <Heading size="small">{t('generic.noGroup')}</Heading>
+                  {ungroupedThemes.map((theme) => createThemeRow(theme))}
+                </Stack>
+              ) : null}
+            </Stack>
+          </Stack>
+ 
+        </StyledCard>
+      )}
+    </Tabs.Content>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html new file mode 100644 index 000000000..941ee693d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables LabelledCheckbox.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Checkbox, Label, Stack } from '@tokens-studio/ui';
+ 
+export const LabelledCheckbox = ({
+  label, id, checked, onChange, name,
+}: { label: string; id: string; checked: boolean; onChange: any, name?: string }) => (
+  <>
+    {/* TODO, checkbox needs the name prop from the DS pr */}
+    {/* @ts-ignore next-line */}
+    <Stack direction="row" gap={2} css={{ alignItems: 'center' }}>
+      <Checkbox name={name} id={id} checked={checked} onCheckedChange={onChange} />
+      <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor={id}>{label}</Label>
+    </Stack>
+  </>
+ 
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html new file mode 100644 index 000000000..29f5c4aa5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html @@ -0,0 +1,466 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables ManageStylesAndVariables.tsx

+
+ +
+ 0% + Statements + 0/36 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Stack, Tabs,
+} from '@tokens-studio/ui';
+import {
+  ChevronLeftIcon, SlidersIcon,
+} from '@primer/octicons-react';
+import { useSelector } from 'react-redux';
+import { StyledProBadge } from '../ProBadge';
+import Modal from '../Modal';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+ 
+import OptionsModal from './OptionsModal';
+import useTokens from '@/app/store/useTokens';
+import ExportSetsTab from './ExportSetsTab';
+import ExportThemesTab from './ExportThemesTab';
+import { allTokenSetsSelector, themesListSelector } from '@/selectors';
+import { ExportTokenSet } from '@/types/ExportTokenSet';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+export default function ManageStylesAndVariables({ showModal, setShowModal }: { showModal: boolean, setShowModal: (show: boolean) => void }) {
+  const { t } = useTranslation(['manageStylesAndVariables']);
+ 
+  const isProUser = useIsProUser();
+ 
+  const [showOptions, setShowOptions] = React.useState(true);
+  const [activeTab, setActiveTab] = React.useState<'useThemes' | 'useSets'>(isProUser ? 'useThemes' : 'useSets');
+ 
+  const allSets = useSelector(allTokenSetsSelector);
+  const themes = useSelector(themesListSelector);
+ 
+  const [selectedThemes, setSelectedThemes] = React.useState<string[]>(themes.map((theme) => theme.id));
+ 
+  const [selectedSets, setSelectedSets] = React.useState<ExportTokenSet[]>(allSets.map((set) => {
+    const tokenSet = {
+      set,
+      status: TokenSetStatus.ENABLED,
+    };
+    return tokenSet;
+  }));
+ 
+  const {
+    createVariablesFromSets, createVariablesFromThemes, createStylesFromSelectedTokenSets, createStylesFromSelectedThemes,
+  } = useTokens();
+ 
+  const handleShowOptions = React.useCallback(() => {
+    setShowOptions(true);
+  }, []);
+ 
+  const handleCancelOptions = React.useCallback(() => {
+    // DO NOT SAVE THE OPTIONS
+    setShowOptions(false);
+  }, []);
+ 
+  const handleExportToFigma = React.useCallback(async () => {
+    setShowModal(false);
+    if (activeTab === 'useSets') {
+      await createVariablesFromSets(selectedSets);
+      await createStylesFromSelectedTokenSets(selectedSets);
+    } else if (activeTab === 'useThemes') {
+      await createVariablesFromThemes(selectedThemes);
+      await createStylesFromSelectedThemes(selectedThemes);
+    }
+  }, [setShowModal, activeTab, selectedThemes, selectedSets, createVariablesFromSets, createStylesFromSelectedTokenSets, createVariablesFromThemes, createStylesFromSelectedThemes]);
+  const canExportToFigma = activeTab === 'useSets' ? selectedSets.length > 0 : selectedThemes.length > 0;
+ 
+  const handleTabChange = React.useCallback((tab: 'useThemes' | 'useSets') => {
+    setActiveTab(tab);
+  }, []);
+ 
+  const handleClose = React.useCallback(() => {
+    if (showOptions) {
+      setShowOptions(false);
+    } else {
+      setShowModal(false);
+    }
+  }, [setShowModal, showOptions]);
+ 
+  const onInteractOutside = React.useCallback((event: Event) => {
+    event.preventDefault();
+  }, []);
+ 
+  return (
+    <>
+      <Modal
+        size="fullscreen"
+        title={t('modalTitle')}
+        showClose
+        isOpen={showModal}
+        close={handleClose}
+        onInteractOutside={onInteractOutside}
+        footer={(
+          <Stack direction="row" gap={4} justify="between">
+            <Button variant="invisible" id="manageStyles-button-close" onClick={handleClose} icon={<ChevronLeftIcon />}>
+              {t('actions.cancel')}
+            </Button>
+            <Stack direction="row" gap={4}>
+              <Button variant="secondary" icon={<SlidersIcon />} id="manageStyles-button-options" onClick={handleShowOptions}>
+                {t('actions.options')}
+              </Button>
+              <Button variant="primary" id="pullDialog-button-override" onClick={handleExportToFigma} disabled={!canExportToFigma}>
+                {t('actions.export')}
+              </Button>
+            </Stack>
+          </Stack>
+  )}
+        stickyFooter
+      >
+        <Tabs defaultValue={activeTab}>
+          <Tabs.List>
+            {/* eslint-disable-next-line react/jsx-no-bind */}
+            <Tabs.Trigger value="useThemes" onClick={() => handleTabChange('useThemes')}>
+              {t('tabs.exportThemes')}
+              <StyledProBadge css={{ marginInlineStart: '$2' }}>{isProUser ? 'PRO' : 'Get PRO'}</StyledProBadge>
+            </Tabs.Trigger>
+            {/* eslint-disable-next-line react/jsx-no-bind */}
+            <Tabs.Trigger value="useSets" onClick={() => handleTabChange('useSets')}>{t('tabs.exportSets')}</Tabs.Trigger>
+          </Tabs.List>
+          <ExportThemesTab selectedThemes={selectedThemes} setSelectedThemes={setSelectedThemes} />
+          <ExportSetsTab selectedSets={selectedSets} setSelectedSets={setSelectedSets} />
+        </Tabs>
+      </Modal>
+      <OptionsModal isOpen={showModal && showOptions} title={t('optionsModalTitle')} closeAction={handleCancelOptions} />
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html new file mode 100644 index 000000000..b7e8c50b0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html @@ -0,0 +1,892 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/OptionsModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables OptionsModal.tsx

+
+ +
+ 0% + Statements + 0/49 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import {
+  Stack, Label, Box, Button, Switch, Text,
+} from '@tokens-studio/ui';
+import { styled } from '@stitches/react';
+import {
+  ChevronLeftIcon,
+} from '@primer/octicons-react';
+import { useDispatch, useSelector } from 'react-redux';
+import { Modal } from '../Modal/Modal';
+import { LabelledCheckbox } from './LabelledCheckbox';
+import { ExplainerModal } from '../ExplainerModal';
+import {
+  ignoreFirstPartForStylesSelector,
+  prefixStylesWithThemeNameSelector,
+  createStylesWithVariableReferencesSelector,
+  removeStylesAndVariablesWithoutConnectionSelector,
+  renameExistingStylesAndVariablesSelector,
+  variablesColorSelector,
+  variablesNumberSelector,
+  variablesBooleanSelector,
+  variablesStringSelector,
+  stylesColorSelector,
+  stylesEffectSelector,
+  stylesTypographySelector,
+} from '@/selectors';
+import ignoreFirstPartImage from '@/app/assets/hints/ignoreFirstPartForStyles.png';
+import prefixStylesImage from '@/app/assets/hints/prefixStyles.png';
+import { Dispatch } from '../../store';
+ 
+const StyledCheckboxGrid = styled(Box, {
+  display: 'grid', gridTemplateColumns: 'min-content 1fr', gridGap: '$3', alignItems: 'center',
+});
+ 
+// TODO: expose types from @tokens-studio/ui/checkbox
+type CheckedState = boolean | 'indeterminate';
+ 
+export default function OptionsModal({ isOpen, title, closeAction }: { isOpen: boolean, title: string, closeAction: () => void }) {
+  const rulesRemoveStylesAndVariablesWithoutConnection = useSelector(removeStylesAndVariablesWithoutConnectionSelector);
+  const rulesRenameExisting = useSelector(renameExistingStylesAndVariablesSelector);
+ 
+  const rulesIgnoreFirstPartForStyles = useSelector(ignoreFirstPartForStylesSelector);
+  const rulesPrefixStylesWithThemeName = useSelector(prefixStylesWithThemeNameSelector);
+  const rulesCreateStylesWithVariableReferences = useSelector(createStylesWithVariableReferencesSelector);
+ 
+  const variablesColor = useSelector(variablesColorSelector);
+  const variablesNumber = useSelector(variablesNumberSelector);
+  const variablesBoolean = useSelector(variablesBooleanSelector);
+  const variablesString = useSelector(variablesStringSelector);
+  const stylesColor = useSelector(stylesColorSelector);
+  const stylesTypography = useSelector(stylesTypographySelector);
+  const stylesEffect = useSelector(stylesEffectSelector);
+ 
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const handleIgnoreChange = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setIgnoreFirstPartForStyles(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handlePrefixWithThemeNameChange = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setPrefixStylesWithThemeName(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handleCreateStylesWithVariableReferencesChange = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setCreateStylesWithVariableReferences(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handleRenameExistingChange = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setRenameExistingStylesAndVariables(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handleRemoveStylesAndVariablesWithoutConnectionChange = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setRemoveStylesAndVariablesWithoutConnection(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handleExportVariablesColor = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setVariablesColor(!!state);
+      // color can be created *either* styles or variables, we dont want both. if we're setting this to true, disable the other one
+      if (state) dispatch.settings.setStylesColor(!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handleExportVariablesNumber = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setVariablesNumber(!!state);
+    },
+    [dispatch.settings],
+  );
+  const handleExportVariablesBoolean = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setVariablesBoolean(!!state);
+    },
+    [dispatch.settings],
+  );
+  const handleExportVariablesString = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setVariablesString(!!state);
+    },
+    [dispatch.settings],
+  );
+  const handleExportStylesColor = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setStylesColor(!!state);
+      // color can be created *either* styles or variables, we dont want both. if we're setting this to true, disable the other one
+      if (state) dispatch.settings.setVariablesColor(!state);
+    },
+    [dispatch.settings],
+  );
+  const handleExportStylesTypography = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setStylesTypography(!!state);
+    },
+    [dispatch.settings],
+  );
+  const handleExportStylesEffect = React.useCallback(
+    (state: CheckedState) => {
+      dispatch.settings.setStylesEffect(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const handleSaveOptions = React.useCallback(() => {
+    closeAction();
+  }, [closeAction]);
+ 
+  const onInteractOutside = (event: Event) => {
+    event.preventDefault();
+  };
+ 
+  const { t } = useTranslation(['manageStylesAndVariables', 'tokens']);
+ 
+  return (
+    <Modal
+      size="fullscreen"
+      title={title}
+      backArrow
+      isOpen={isOpen}
+      close={closeAction}
+      /* eslint-disable-next-line react/jsx-no-bind */
+      onInteractOutside={(event) => onInteractOutside(event)}
+      footer={(
+        <Stack direction="row" justify="between" gap={4}>
+          <Button variant="invisible" id="manageStyles-button-close" onClick={closeAction} icon={<ChevronLeftIcon />}>
+            {t('actions.cancel')}
+          </Button>
+ 
+          <Button variant="primary" id="pullDialog-button-overwrite" onClick={handleSaveOptions}>
+            {t('actions.confirm')}
+          </Button>
+ 
+        </Stack>
+)}
+      stickyFooter
+    >
+      <Stack direction="column" align="start" gap={4}>
+        <Stack direction="column" align="start" gap={3}>
+          <Text>{t('options.intro')}</Text>
+          {/* Commenting out until we have docs <Link target="_blank" href="https://docs.tokens.studio/">{`${t('generic.learnMore')} – ${t('docs.exportToFigmaOptions')}`}</Link> */}
+        </Stack>
+        <form>
+          <Stack direction="column" gap={6}>
+            <Box>
+              <Text bold css={{ fontSize: '$medium', marginBottom: '$2' }}>{t('options.createAndUpdate')}</Text>
+              <Box css={{
+                width: '100%', display: 'grid', gridTemplateColumns: '1fr 1px 1fr', columnGap: '$5',
+              }}
+              >
+                <Stack direction="column" gap={3}>
+                  <Text css={{ fontWeight: '$sansMedium' }}>{t('generic.variables')}</Text>
+                  <LabelledCheckbox id="variablesColor" onChange={handleExportVariablesColor} checked={!!variablesColor} label={t('variables.color')} />
+                  <LabelledCheckbox id="variablesString" onChange={handleExportVariablesString} checked={!!variablesString} label={t('variables.string')} />
+                  <LabelledCheckbox id="variablesNumber" onChange={handleExportVariablesNumber} checked={!!variablesNumber} label={t('variables.number')} />
+                  <LabelledCheckbox id="variablesBoolean" onChange={handleExportVariablesBoolean} checked={!!variablesBoolean} label={t('variables.boolean')} />
+                </Stack>
+                <Box css={{ alignSelf: 'stretch', width: '1px', border: '1px solid $colors$borderSubtle' }} />
+                <Stack direction="column" gap={3}>
+                  <Text css={{ fontWeight: '$sansMedium' }}>{t('generic.styles')}</Text>
+                  <LabelledCheckbox id="styleColor" onChange={handleExportStylesColor} checked={!!stylesColor} label={t('styles.color')} />
+                  <LabelledCheckbox id="stylesTypography" onChange={handleExportStylesTypography} checked={!!stylesTypography} label={t('styles.typography')} />
+                  <LabelledCheckbox id="stylesEffect" onChange={handleExportStylesEffect} checked={!!stylesEffect} label={t('styles.effects')} />
+                </Stack>
+              </Box>
+            </Box>
+            <StyledCheckboxGrid>
+              <Text bold css={{ fontSize: '$medium', gridColumnStart: 1, gridColumnEnd: 4 }}>{t('options.tokensExportedToFigmaShould')}</Text>
+              <Switch
+                data-testid="ignoreFirstPartForStyles"
+                id="ignoreFirstPartForStyles"
+                checked={!!rulesIgnoreFirstPartForStyles}
+                defaultChecked={rulesIgnoreFirstPartForStyles}
+                onCheckedChange={handleIgnoreChange}
+              />
+              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="ignoreFirstPartForStyles">{t('options.ignorePrefix')}</Label>
+              <ExplainerModal title={t('options.ignorePrefix')}>
+                <Box as="img" src={ignoreFirstPartImage} css={{ borderRadius: '$small' }} />
+                <Box>{t('options.ignorePrefixExplanation')}</Box>
+              </ExplainerModal>
+ 
+              <Switch
+                data-testid="prefixStylesWithThemeName"
+                id="prefixStylesWithThemeName"
+                checked={!!rulesPrefixStylesWithThemeName}
+                defaultChecked={rulesPrefixStylesWithThemeName}
+                onCheckedChange={handlePrefixWithThemeNameChange}
+              />
+              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="prefixStylesWithThemeName">{t('options.prefixStyles')}</Label>
+              <ExplainerModal title={t('options.prefixStyles')}>
+                <Box as="img" src={prefixStylesImage} css={{ borderRadius: '$small' }} />
+                <Box>{t('options.prefixStylesExplanation')}</Box>
+              </ExplainerModal>
+ 
+              <Switch
+                data-testid="createStylesWithVariableReferences"
+                id="createStylesWithVariableReferences"
+                checked={!!rulesCreateStylesWithVariableReferences}
+                defaultChecked={rulesCreateStylesWithVariableReferences}
+                onCheckedChange={handleCreateStylesWithVariableReferencesChange}
+              />
+              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="createStylesWithVariableReferences">{t('options.createStylesWithVariableReferences')}</Label>
+              <ExplainerModal title={t('options.createStylesWithVariableReferences')}>
+                <Box>{t('options.createStylesWithVariableReferencesExplanation')}</Box>
+              </ExplainerModal>
+              <Switch
+                data-testid="renameExisting"
+                id="renameExisting"
+                checked={!!rulesRenameExisting}
+                defaultChecked={rulesRenameExisting}
+                onCheckedChange={handleRenameExistingChange}
+              />
+              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="renameExisting">{t('options.renameExisting')}</Label>
+              <ExplainerModal title={t('options.renameExisting')}>
+                <Box>{t('options.renameExistingExplanation')}</Box>
+              </ExplainerModal>
+              <Switch
+                data-testid="removeWithoutConnection"
+                id="removeWithoutConnection"
+                checked={!!rulesRemoveStylesAndVariablesWithoutConnection}
+                defaultChecked={rulesRemoveStylesAndVariablesWithoutConnection}
+                onCheckedChange={handleRemoveStylesAndVariablesWithoutConnectionChange}
+              />
+              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="removeWithoutConnection">{t('options.removeWithoutConnection')}</Label>
+              <ExplainerModal title={t('options.removeWithoutConnection')}>
+                <Box>{t('options.removeWithoutConnectionExplanation')}</Box>
+              </ExplainerModal>
+            </StyledCheckboxGrid>
+          </Stack>
+        </form>
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html new file mode 100644 index 000000000..6df2d32b1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/StyledCard.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables StyledCard.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import { Box } from '@tokens-studio/ui';
+import { styled } from '@stitches/react';
+ 
+export const StyledCard = styled(Box, {
+  borderRadius: '$medium',
+  border: '1px solid $colors$borderSubtle',
+  padding: '$4',
+  display: 'flex',
+  flexDirection: 'column',
+  marginBlock: '$4',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html new file mode 100644 index 000000000..675606027 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/ThemeDetails.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables ThemeDetails.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Stack, Label } from '@tokens-studio/ui';
+import {
+  DiffAddedIcon, DiffRemovedIcon, PencilIcon, AlertFillIcon,
+} from '@primer/octicons-react';
+/*
+ 
+This component is not needed at the moment,
+but it will be used in the future to show the theme details in the theme list.
+ 
+@TODO: Add a custom hook to get the theme details from the theme object
+ 
+*/
+ 
+export const ThemeDetails = () => (
+  <Stack
+    direction="row"
+    gap={4}
+    css={{
+      label: {
+        display: 'inline-flex',
+        flexDirection: 'row',
+      },
+    }}
+  >
+    <Label css={{ color: '$successFg', fontSize: '$xxsmall' }}>
+      <DiffAddedIcon size="small" />
+      9999
+    </Label>
+    <Label css={{ color: '$dangerFg', fontSize: '$xxsmall' }}>
+      <DiffRemovedIcon size="small" />
+      9999
+    </Label>
+    <Label css={{ color: '$accentEmphasis', fontSize: '$xxsmall' }}>
+      <PencilIcon size="small" />
+      9999
+    </Label>
+    <Label css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
+      <AlertFillIcon size="small" />
+      9999
+    </Label>
+  </Stack>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html new file mode 100644 index 000000000..f0d6955f1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables/docsLinks.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageStylesAndVariables docsLinks.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export const docsLinks = {
+  stylesAndVariables: 'https://docs.tokens.studio/',
+  themes: 'https://docs.tokens.studio/',
+  sets: 'https://docs.tokens.studio/',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html new file mode 100644 index 000000000..8790b6890 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for src/app/components/ManageStylesAndVariables + + + + + + + + + +
+
+

All files src/app/components/ManageStylesAndVariables

+
+ +
+ 0% + Statements + 0/160 +
+ + +
+ 0% + Branches + 0/38 +
+ + +
+ 0% + Functions + 0/58 +
+ + +
+ 0% + Lines + 0/148 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ExportSetsTab.tsx +
+
0%0/400%0/60%0/140%0/36
ExportThemesTab.tsx +
+
0%0/290%0/140%0/150%0/24
LabelledCheckbox.tsx +
+
0%0/2100%0/00%0/10%0/2
ManageStylesAndVariables.tsx +
+
0%0/360%0/140%0/110%0/35
OptionsModal.tsx +
+
0%0/490%0/40%0/160%0/47
StyledCard.tsx +
+
0%0/1100%0/0100%0/00%0/1
ThemeDetails.tsx +
+
0%0/2100%0/00%0/10%0/2
docsLinks.tsx +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html new file mode 100644 index 000000000..0daa3892d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html @@ -0,0 +1,730 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal CreateOrEditThemeForm.tsx

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo, useState } from 'react';
+import { useForm, Controller } from 'react-hook-form';
+import { useSelector, useStore } from 'react-redux';
+import {
+  Box, Button, IconButton, Stack,
+} from '@tokens-studio/ui';
+import { NavArrowLeft } from 'iconoir-react';
+import { useTranslation } from 'react-i18next';
+import { allTokenSetsSelector, themesListSelector, usedTokenSetSelector } from '@/selectors';
+import { StyledNameInputBox } from './StyledNameInputBox';
+import { StyledCreateOrEditThemeFormHeaderFlex } from './StyledCreateOrEditThemeFormHeaderFlex';
+import { tokenSetListToTree, tokenSetListToList, TreeItem } from '@/utils/tokenset';
+import { useIsGitMultiFileEnabled } from '@/app/hooks/useIsGitMultiFileEnabled';
+import { TokenSetThemeItem } from './TokenSetThemeItem';
+import { StyledForm } from './StyledForm';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { RootState } from '@/app/store';
+import { IconPlus } from '@/icons';
+import { StyledCreateOrEditThemeFormTabsFlex } from './StyledCreateOrEditThemeFormTabsFlex';
+import Input from '../Input';
+import { TabButton } from '../TabButton';
+import { ThemeStyleManagementForm } from './ThemeStyleManagementForm';
+import { TokenSetTreeContent } from '../TokenSetTree/TokenSetTreeContent';
+import { ThemeGroupDropDownMenu } from './ThemeGroupDropDownMenu';
+ 
+export type FormValues = {
+  name: string
+  group?: string
+  tokenSets: Record<string, TokenSetStatus>
+};
+ 
+export enum ThemeFormTabs {
+  SETS = 'sets',
+  STYLES_VARIABLES = 'Styles & Variables',
+}
+ 
+type Props = {
+  id?: string
+  defaultValues?: Partial<FormValues>
+  onSubmit: (values: FormValues) => void
+  onCancel: () => void
+};
+ 
+export const CreateOrEditThemeForm: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  id, defaultValues, onSubmit, onCancel,
+}) => {
+  const store = useStore<RootState>();
+  const [activeTab, setActiveTab] = useState(ThemeFormTabs.SETS);
+  const [showGroupInput, setShowGroupInput] = useState(false);
+  const githubMfsEnabled = useIsGitMultiFileEnabled();
+  const selectedTokenSets = useMemo(() => (
+    usedTokenSetSelector(store.getState())
+  ), [store]);
+  const availableTokenSets = useSelector(allTokenSetsSelector);
+  const themes = useSelector(themesListSelector);
+  const groupNames = useMemo(() => ([...new Set(themes.filter((t) => t?.group).map((t) => t.group as string))]), [themes]);
+  const { t } = useTranslation(['tokens', 'errors']);
+ 
+  const treeOrListItems = useMemo(() => (
+    githubMfsEnabled
+      ? tokenSetListToTree(availableTokenSets)
+      : tokenSetListToList(availableTokenSets)
+  ), [githubMfsEnabled, availableTokenSets]);
+ 
+  const {
+    register, handleSubmit, control, resetField,
+  } = useForm<FormValues>({
+    defaultValues: {
+      tokenSets: { ...selectedTokenSets },
+      ...defaultValues,
+    },
+  });
+ 
+  const handleGroupKeyDown = useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {
+    if (e.key === 'Escape') {
+      e.stopPropagation();
+      resetField('group');
+      setShowGroupInput(false);
+    }
+  }, [resetField]);
+ 
+  const TokenSetThemeItemInput = useCallback((props: React.PropsWithChildren<{ item: TreeItem }>) => (
+    <Controller
+      name="tokenSets"
+      control={control}
+      // this is the only way to do this
+      // eslint-disable-next-line
+      render={({ field }) => (
+        <TokenSetThemeItem
+          {...props}
+          value={field.value}
+          onChange={field.onChange}
+        />
+      )}
+    />
+  ), [control]);
+ 
+  const handleAddGroup = React.useCallback(() => [
+    setShowGroupInput(true),
+  ], []);
+ 
+  return (
+    <StyledForm id="form-create-or-edit-theme" onSubmit={handleSubmit(onSubmit)}>
+      <StyledNameInputBox css={{
+        width: '100%', position: 'sticky', top: 0, zIndex: 2,
+      }}
+      >
+        <StyledCreateOrEditThemeFormHeaderFlex>
+          <IconButton
+            tooltip={t('returnToOverview')}
+            data-testid="button-return-to-overview"
+            icon={<NavArrowLeft />}
+            size="small"
+            variant="invisible"
+            onClick={onCancel}
+          />
+          <Stack
+            direction="row"
+            align="center"
+            gap={1}
+            css={{
+              width: '100%',
+              paddingBlock: '$4',
+              justifyContent: 'space-evenly',
+            }}
+          >
+            <Stack direction="row" gap={1} align="center">
+              {
+            showGroupInput ? (
+              <Input
+                full
+                autofocus
+                data-testid="create-or-edit-theme-form--group--name"
+                {...register('group')}
+                placeholder={t('addGroup')}
+                onKeyDown={handleGroupKeyDown}
+                css={{
+                  display: 'flex',
+                }}
+              />
+            ) : (
+              <Box css={{ width: '100%' }}>
+                {
+                  groupNames.length > 0 ? (
+                    <Controller
+                      name="group"
+                      control={control}
+                      // eslint-disable-next-line
+                      render={({ field }) => (
+                        <ThemeGroupDropDownMenu
+                          availableGroups={groupNames}
+                          selectedGroup={field.value}
+                          onChange={field.onChange}
+                          addGroup={handleAddGroup}
+                        />
+                      )}
+                    />
+                  ) : (
+                    <Button
+                      data-testid="button-manage-themes-modal-new-group"
+                      variant="secondary"
+                      icon={<IconPlus />}
+                      onClick={handleAddGroup}
+                      size="small"
+                    >
+                      {t('addGroup')}
+                    </Button>
+                  )
+                }
+              </Box>
+            )
+          }
+              <Box css={{ margin: '0 $3' }}>/</Box>
+            </Stack>
+            <Stack direction="row" gap={1} align="center" css={{ flexGrow: 1 }}>
+              <Input
+                full
+                data-testid="create-or-edit-theme-form--input--name"
+                {...register('name', { required: true })}
+                placeholder={t('themeName')}
+              />
+            </Stack>
+          </Stack>
+ 
+        </StyledCreateOrEditThemeFormHeaderFlex>
+      </StyledNameInputBox>
+      {id && (
+ 
+      <StyledCreateOrEditThemeFormTabsFlex>
+        <TabButton name={ThemeFormTabs.SETS} activeTab={activeTab} label={t('sets.title')} onSwitch={setActiveTab} small />
+        <TabButton name={ThemeFormTabs.STYLES_VARIABLES} activeTab={activeTab} label={t('stylesAndVariables')} onSwitch={setActiveTab} small />
+      </StyledCreateOrEditThemeFormTabsFlex>
+      )}
+      <Stack direction="column" gap={1}>
+        {activeTab === ThemeFormTabs.SETS && (
+        <Stack direction="column" gap={1} css={{ padding: '$3 $4 $3' }}>
+          <TokenSetTreeContent
+            items={treeOrListItems}
+            renderItemContent={TokenSetThemeItemInput}
+            keyPosition="end"
+          />
+        </Stack>
+        )}
+        {(activeTab === ThemeFormTabs.STYLES_VARIABLES && id) && (
+        <Box css={{ padding: '$3' }}>
+          <Box css={{ padding: '$1', marginBottom: '$2' }}>
+            {t('stylesVarMultiDimensionalThemesWarning')}
+          </Box>
+          <ThemeStyleManagementForm id={id} />
+        </Box>
+        )}
+      </Stack>
+    </StyledForm>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html new file mode 100644 index 000000000..a0637416a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html @@ -0,0 +1,937 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ManageThemesModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ManageThemesModal.tsx

+
+ +
+ 0% + Statements + 0/75 +
+ + +
+ 0% + Branches + 0/66 +
+ + +
+ 0% + Functions + 0/18 +
+ + +
+ 0% + Lines + 0/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useMemo, useState, useRef, useEffect,
+} from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import omit from 'just-omit';
+import debounce from 'lodash.debounce';
+import { Button, EmptyState } from '@tokens-studio/ui';
+import { styled } from '@stitches/react';
+import { useTranslation } from 'react-i18next';
+import { activeThemeSelector, themesListSelector } from '@/selectors';
+import Modal from '../Modal';
+import { Dispatch } from '@/app/store';
+import Stack from '../Stack';
+import IconPlus from '@/icons/plus.svg';
+import { CreateOrEditThemeForm, FormValues } from './CreateOrEditThemeForm';
+import { ThemeObject, ThemeObjectsList } from '@/types';
+import Box from '../Box';
+import { track } from '@/utils/analytics';
+import useConfirm from '@/app/hooks/useConfirm';
+import { ThemeListItemContent } from './ThemeListItemContent';
+import { DragItem } from '../StyledDragger/DragItem';
+import { ReorderGroup } from '@/motion/ReorderGroup';
+import { ThemeListGroupHeader } from './ThemeListGroupHeader';
+import { INTERNAL_THEMES_NO_GROUP, INTERNAL_THEMES_NO_GROUP_LABEL } from '@/constants/InternalTokenGroup';
+import { TreeItem, themeListToTree } from '@/utils/themeListToTree';
+import { ItemData } from '@/context';
+import { checkReorder } from '@/utils/motion';
+import { ensureFolderIsTogether, findOrderableTargetIndexesInThemeList } from '@/utils/dragDropOrder';
+ 
+type Props = unknown;
+ 
+const StyledReorderGroup = styled(ReorderGroup, {
+  display: 'grid',
+  gridTemplateColumns: '1fr',
+  gridAutoFlow: 'row',
+  '> li > button': {
+    display: 'grid',
+    gridTemplateColumns: 'auto 1fr min-content',
+    gridAutoFlow: 'column',
+  },
+});
+ 
+export const ManageThemesModal: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = () => {
+  const dispatch = useDispatch<Dispatch>();
+  const themes = useSelector(themesListSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const { confirm } = useConfirm();
+  const [themeEditorOpen, setThemeEditorOpen] = useState<boolean | string>(false);
+  const [themeListScrollPosition, setThemeListScrollPosition] = useState<number>(0);
+  const themeListRef = useRef<HTMLDivElement>(null);
+  const treeItems = themeListToTree(themes);
+  const { t } = useTranslation(['tokens']);
+ 
+  const themeEditorDefaultValues: Partial<ThemeObject> = useMemo(() => {
+    const themeObject = themes.find(({ id }) => id === themeEditorOpen);
+    if (themeObject) {
+      return {
+        name: themeObject.name,
+        tokenSets: themeObject.selectedTokenSets,
+        ...(themeObject?.group ? { group: themeObject.group } : {}),
+      };
+    }
+    return {};
+  }, [themes, themeEditorOpen]);
+ 
+  const handleClose = useCallback(() => {
+    dispatch.uiState.setManageThemesModalOpen(false);
+  }, [dispatch]);
+ 
+  const handleToggleThemeEditor = useCallback((theme?: ThemeObject) => {
+    if (theme && typeof theme !== 'boolean') {
+      const nextState = theme.id === themeEditorOpen ? false : theme.id;
+      if (nextState) {
+        if (themeListRef.current) {
+          setThemeListScrollPosition(themeListRef.current.scrollTop);
+        }
+      }
+      setThemeEditorOpen(nextState);
+    } else {
+      setThemeEditorOpen(!themeEditorOpen);
+    }
+  }, [themeEditorOpen]);
+ 
+  const handleToggleOpenThemeEditor = useCallback(() => {
+    setThemeEditorOpen(!themeEditorOpen);
+  }, [themeEditorOpen]);
+ 
+  const handleDeleteTheme = useCallback(async () => {
+    if (typeof themeEditorOpen === 'string') {
+      const confirmDelete = await confirm({ text: t('confirmDeleteTheme'), confirmAction: t('delete'), variant: 'danger' });
+      if (confirmDelete) {
+        track('Delete theme', { id: themeEditorOpen });
+        dispatch.tokenState.deleteTheme(themeEditorOpen);
+        setThemeEditorOpen(false);
+      }
+    }
+  }, [confirm, dispatch.tokenState, t, themeEditorOpen]);
+ 
+  const handleCancelEdit = useCallback(() => {
+    setThemeEditorOpen(false);
+  }, []);
+ 
+  const handleSubmit = useCallback((values: FormValues) => {
+    const id = typeof themeEditorOpen === 'string' ? themeEditorOpen : undefined;
+    if (id) {
+      track('Edit theme', { id, values });
+    } else {
+      track('Create theme', { values });
+    }
+    dispatch.tokenState.saveTheme({
+      id,
+      name: values.name,
+      selectedTokenSets: values.tokenSets,
+      ...(values?.group ? { group: values.group } : {}),
+      meta: {
+        oldName: themeEditorDefaultValues?.name,
+        oldGroup: themeEditorDefaultValues?.group,
+      },
+    });
+    setThemeEditorOpen(false);
+  }, [themeEditorOpen, dispatch.tokenState, themeEditorDefaultValues]);
+ 
+  const handleReorder = React.useCallback((reorderedItems: TreeItem[]) => {
+    let currentGroup = '';
+    const updatedThemes = reorderedItems.reduce<ThemeObjectsList>((acc, curr) => {
+      if (!curr.isLeaf && typeof curr.value === 'string') {
+        currentGroup = curr.value;
+      }
+      if (curr.isLeaf && typeof curr.value === 'object') {
+        acc.push({
+          ...omit(curr.value, 'group'),
+          ...(currentGroup === INTERNAL_THEMES_NO_GROUP ? {} : { group: currentGroup }),
+        });
+      }
+      return acc;
+    }, []);
+    const newActiveTheme = activeTheme;
+    Object.keys(newActiveTheme).forEach((group) => {
+      // check whether the activeTheme is still belong to the group
+      if (updatedThemes.findIndex((theme) => theme.id === activeTheme?.[group] && theme.group === group) < 0) {
+        delete newActiveTheme[group];
+      }
+    });
+    dispatch.tokenState.setThemes(updatedThemes);
+  }, [dispatch.tokenState, activeTheme]);
+ 
+  const handleCheckReorder = React.useCallback((
+    order: ItemData<typeof treeItems[number]>[],
+    value: typeof treeItems[number],
+    offset: number,
+    velocity: number,
+  ) => {
+    const availableIndexes = findOrderableTargetIndexesInThemeList(
+      velocity,
+      value,
+      order,
+    );
+    let nextOrder = checkReorder(order, value, offset, velocity, availableIndexes);
+    // ensure folders stay together
+    if (!value.isLeaf) {
+      nextOrder = ensureFolderIsTogether<TreeItem>(value, order, nextOrder);
+    }
+    return nextOrder;
+  }, []);
+ 
+  useEffect(() => {
+    if (themeListRef.current) {
+      themeListRef.current.scrollTop = themeListScrollPosition;
+    }
+  }, [themeEditorOpen, themeListScrollPosition]);
+ 
+  const handleThemeListScroll = useCallback(() => {
+    if (themeListRef.current) {
+      setThemeListScrollPosition(themeListRef.current.scrollTop);
+    }
+  }, []);
+ 
+  const debouncedHandleThemeListScroll = useMemo(() => debounce(handleThemeListScroll, 200), [handleThemeListScroll]);
+ 
+  return (
+    <Modal
+      isOpen
+      full
+      title={t('themes')}
+      stickyFooter
+      showClose
+      footer={(
+        <Stack gap={2} direction="row" justify="end">
+          {!themeEditorOpen && (
+            <Button
+              data-testid="button-manage-themes-modal-new-theme"
+              variant="secondary"
+              icon={<IconPlus />}
+              onClick={handleToggleOpenThemeEditor}
+            >
+              {t('newTheme')}
+            </Button>
+          )}
+          {themeEditorOpen && (
+            <>
+              <Box css={{ marginRight: 'auto' }}>
+                {typeof themeEditorOpen === 'string' && (
+                <Button
+                  data-testid="button-manage-themes-modal-delete-theme"
+                  variant="danger"
+                  type="submit"
+                  onClick={handleDeleteTheme}
+                >
+                  {t('delete')}
+                </Button>
+                )}
+              </Box>
+              <Stack direction="row" gap={4}>
+                <Button
+                  data-testid="button-manage-themes-modal-cancel"
+                  variant="secondary"
+                  onClick={handleToggleOpenThemeEditor}
+                >
+                  {t('cancel')}
+                </Button>
+                <Button
+                  data-testid="button-manage-themes-modal-save-theme"
+                  variant="primary"
+                  type="submit"
+                  form="form-create-or-edit-theme"
+                >
+                  {t('saveTheme')}
+                </Button>
+              </Stack>
+            </>
+          )}
+        </Stack>
+      )}
+      close={handleClose}
+      scrollContainerRef={themeListRef}
+    >
+      {!themes.length && !themeEditorOpen && (
+        <EmptyState
+          css={{ padding: '$8 $4' }}
+          title={t('manageThemesModal.emptyTitle')}
+          description={t('manageThemesModal.emptyDescription')}
+        />
+      )}
+      {!!themes.length && !themeEditorOpen && (
+        <Box
+          css={{ padding: '$3 $2 $3 0' }}
+          onScroll={debouncedHandleThemeListScroll}
+        >
+          <StyledReorderGroup
+            layoutScroll
+            values={treeItems}
+            onReorder={handleReorder}
+            checkReorder={handleCheckReorder as (order: ItemData<unknown>[], value: unknown, offset: number, velocity: number) => ItemData<unknown>[]}
+          >
+            {
+            treeItems.map((item) => (
+              <DragItem<TreeItem> key={item.key} item={item}>
+                {
+                  item.isLeaf && typeof item.value === 'object' ? (
+                    <ThemeListItemContent item={item.value} isActive={activeTheme?.[item.parent as string] === item.value.id} onOpen={handleToggleThemeEditor} groupName={item.parent as string} />
+                  ) : (
+                    <ThemeListGroupHeader
+                      label={item.value === INTERNAL_THEMES_NO_GROUP ? INTERNAL_THEMES_NO_GROUP_LABEL : item.value as string}
+                      groupName={item.value as string}
+                    />
+                  )
+                }
+              </DragItem>
+            ))
+          }
+          </StyledReorderGroup>
+        </Box>
+      )}
+      {themeEditorOpen && (
+      <CreateOrEditThemeForm
+        id={typeof themeEditorOpen === 'string' ? themeEditorOpen : undefined}
+        defaultValues={themeEditorDefaultValues}
+        onSubmit={handleSubmit}
+        onCancel={handleCancelEdit}
+      />
+      )}
+    </Modal>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html new file mode 100644 index 000000000..3363b69d4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html @@ -0,0 +1,475 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/SingleThemeEntry.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal SingleThemeEntry.tsx

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import {
+  IconButton, Label, Stack, Switch, Box,
+} from '@tokens-studio/ui';
+import { styled } from '@stitches/react';
+import { ThemeObject } from '@/types';
+import IconDiveInto from '@/icons/dive-into.svg';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { Dispatch } from '@/app/store';
+import { activeThemeSelector } from '@/selectors';
+ 
+type Props = {
+  theme: ThemeObject
+  isActive: boolean
+  groupName: string
+  onOpen: (theme: ThemeObject) => void
+};
+ 
+const StyledCountLabel = styled('span', {
+  display: 'inline-flex',
+  alignItems: 'center',
+  justifyContent: 'flex-start',
+  gap: '$2',
+  fontSize: '$xsmall',
+  color: '$fgMuted',
+  '&:not(:last-of-type)::after': {
+    content: "'·'",
+    paddingRight: '$1',
+    marginRight: '$1',
+    color: '$fgMuted',
+  },
+  variants: {
+    variant: {
+      danger: {
+        color: '$dangerFg',
+      },
+    },
+  },
+});
+ 
+export const SingleThemeEntry: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  theme, isActive, groupName, onOpen,
+}) => {
+  const activeTheme = useSelector(activeThemeSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const tokenSetCount = useMemo(() => (
+    Object.entries(theme.selectedTokenSets)
+      .filter(([, status]) => status !== TokenSetStatus.DISABLED)
+      .length
+  ), [theme]);
+ 
+  const stylesCount = useMemo(() => (
+    Object.values(theme.$figmaStyleReferences ?? {}).length
+  ), [theme]);
+ 
+  const variablesCount = useMemo(() => (
+    Object.values(theme.$figmaVariableReferences ?? {}).length
+  ), [theme]);
+ 
+  const handleOpenClick = useCallback(() => {
+    onOpen(theme);
+  }, [theme, onOpen]);
+ 
+  const handleToggle = useCallback(() => {
+    const newActiveTheme = activeTheme;
+    if (isActive) {
+      delete newActiveTheme[groupName];
+    } else {
+      newActiveTheme[groupName] = theme.id;
+    }
+    dispatch.tokenState.setActiveTheme({ newActiveTheme, shouldUpdateNodes: true });
+  }, [dispatch, theme.id, isActive, activeTheme, groupName]);
+ 
+  return (
+    <Box
+      key={theme.id}
+      data-testid="singlethemeentry"
+      css={{
+        display: 'grid',
+        gridAutoFlow: 'column',
+        gridTemplateColumns: 'min-content auto repeat(3, max-content) min-content',
+        alignItems: 'center',
+        gridGap: '$2',
+        flex: 1,
+      }}
+    >
+ 
+      <Switch checked={isActive} onCheckedChange={handleToggle} />
+      <Label>
+        {' '}
+        {theme.name}
+      </Label>
+ 
+      <Stack>
+        {tokenSetCount > 0 ? (
+          <StyledCountLabel>
+            {tokenSetCount}
+            {' '}
+            {tokenSetCount === 1 ? 'set' : 'sets'}
+          </StyledCountLabel>
+        ) : <StyledCountLabel variant="danger">No sets defined</StyledCountLabel>}
+        {stylesCount > 0 && (
+        <StyledCountLabel>
+          {stylesCount}
+          {' '}
+          {stylesCount === 1 ? 'style' : 'styles'}
+        </StyledCountLabel>
+        )}
+        {variablesCount > 0 && (
+        <StyledCountLabel>
+          {variablesCount}
+          {' '}
+          {variablesCount === 1 ? 'variable' : 'variables'}
+        </StyledCountLabel>
+        )}
+      </Stack>
+ 
+      <IconButton
+        data-testid={`singlethemeentry-${theme.id}`}
+        icon={<IconDiveInto />}
+        onClick={handleOpenClick}
+        size="small"
+        variant="invisible"
+      />
+ 
+    </Box>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html new file mode 100644 index 000000000..33a35c8a8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal StyledCreateOrEditThemeFormHeaderFlex.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+import { Flex } from '../Flex';
+ 
+export const StyledCreateOrEditThemeFormHeaderFlex = styled(Flex, {
+  gap: '$3',
+  alignItems: 'center',
+  justifyContent: 'flex-start',
+  width: '100%',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html new file mode 100644 index 000000000..9a61c6f17 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal StyledCreateOrEditThemeFormTabsFlex.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+import { Flex } from '../Flex';
+ 
+export const StyledCreateOrEditThemeFormTabsFlex = styled(Flex, {
+  marginLeft: 'auto',
+  padding: '$3',
+  borderBottom: '1px solid $borderSubtle',
+  gap: '$5',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html new file mode 100644 index 000000000..712041ad6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/StyledForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal StyledForm.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledForm = styled('form', {
+  marginBottom: 0,
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html new file mode 100644 index 000000000..70098a797 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/StyledNameInputBox.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal StyledNameInputBox.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { Box } from '@tokens-studio/ui';
+import { styled } from '@/stitches.config';
+ 
+export const StyledNameInputBox = styled(Box, {
+  padding: '0 $4',
+  borderBottomColor: '$borderSubtle',
+  borderBottomWidth: '1px',
+  backgroundColor: '$bgDefault',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html new file mode 100644 index 000000000..98a7f5498 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/StyledThemeLabel.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal StyledThemeLabel.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Box } from '@tokens-studio/ui';
+import { styled } from '@/stitches.config';
+ 
+export const StyledThemeLabel = styled(Box, {
+  overflow: 'hidden',
+  textOverflow: 'ellipsis',
+  userSelect: 'none',
+  cursor: 'pointer',
+  whiteSpace: 'nowrap',
+  display: 'block',
+  alignItems: 'center',
+  gap: '$2',
+  variants: {
+    ignored: {
+      true: {
+        color: '$fgMuted',
+      },
+    },
+    variant: {
+      folder: {
+        color: '$fgMuted',
+        fontWeight: '$sansBold',
+      },
+      leaf: {},
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html new file mode 100644 index 000000000..4dc14086d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal StyledThemeMetaLabel.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+import Box from '../Box';
+ 
+export const StyledThemeMetaLabel = styled(Box, {
+  fontSize: '$small',
+  color: '$fgMuted',
+  overflow: 'hidden',
+  whiteSpace: 'nowrap',
+  textOverflow: 'ellipsis',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html new file mode 100644 index 000000000..b96ef437f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeGroupDropDownMenu.tsx

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { Check } from 'iconoir-react';
+import { Button, DropdownMenu } from '@tokens-studio/ui';
+import { useTranslation } from 'react-i18next';
+import Box from '../Box';
+import { IconPlus } from '@/icons';
+ 
+type Props = {
+  availableGroups: string[]
+  selectedGroup?: string
+  onChange: (value: string) => void
+  addGroup: () => void
+};
+ 
+export const ThemeGroupDropDownMenu: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  availableGroups, selectedGroup, onChange, addGroup,
+}) => {
+  const { t } = useTranslation(['tokens']);
+  const handleSelectGroup = useCallback((groupName: string) => {
+    onChange(groupName);
+  }, [onChange]);
+ 
+  const themeGroupList = React.useMemo(() => availableGroups.map((groupName) => {
+    const handleSelect = () => handleSelectGroup(groupName);
+    return (
+      <DropdownMenu.RadioItem
+        key={groupName}
+        value={groupName}
+          // eslint-disable-next-line react/jsx-no-bind
+        onSelect={handleSelect}
+      >
+        <DropdownMenu.ItemIndicator>
+          <Check />
+        </DropdownMenu.ItemIndicator>
+        <Box>
+          {groupName}
+        </Box>
+      </DropdownMenu.RadioItem>
+    );
+  }), [availableGroups, handleSelectGroup]);
+ 
+  return (
+    <DropdownMenu>
+      <DropdownMenu.Trigger asChild>
+        {
+          selectedGroup ? (
+            <Button variant="secondary" asDropdown size="small">
+              <span>{selectedGroup}</span>
+            </Button>
+          ) : (
+            <Box css={{ display: 'flex', alignItems: 'center', gap: '$2' }}>
+              <Button
+                data-testid="button-manage-themes-modal-group-dropdown"
+                variant="secondary"
+                icon={<IconPlus />}
+                size="small"
+                asDropdown
+              >
+                {t('addGroup')}
+              </Button>
+            </Box>
+          )
+        }
+      </DropdownMenu.Trigger>
+      <DropdownMenu.Portal>
+        <DropdownMenu.Content
+          side="bottom"
+          css={{
+            maxWidth: '70vw',
+          }}
+        >
+          <DropdownMenu.RadioGroup value={selectedGroup ?? ''}>
+            {themeGroupList}
+          </DropdownMenu.RadioGroup>
+          <DropdownMenu.Separator />
+          <DropdownMenu.Item
+            css={{
+              paddingLeft: '$7',
+            }}
+            onSelect={addGroup}
+          >
+            {t('createNewGroup')}
+          </DropdownMenu.Item>
+        </DropdownMenu.Content>
+      </DropdownMenu.Portal>
+    </DropdownMenu>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html new file mode 100644 index 000000000..9d7295413 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeListGroupHeader.tsx

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useContext, useState,
+} from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { IconButton } from '@tokens-studio/ui';
+import { Xmark, Check } from 'iconoir-react';
+import { editProhibitedSelector } from '@/selectors';
+import { DragControlsContext } from '@/context';
+import { StyledDragButton } from '../StyledDragger/StyledDragButton';
+import { DragGrabber } from '../StyledDragger/DragGrabber';
+import Text from '../Text';
+import Box from '../Box';
+import Input from '../Input';
+import IconPencil from '@/icons/pencil.svg';
+import { Dispatch } from '@/app/store';
+import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
+ 
+type Props = React.PropsWithChildren<{
+  groupName: string
+  label: string
+}>;
+ 
+export function ThemeListGroupHeader({
+  groupName,
+  label,
+}: Props) {
+  const dispatch = useDispatch<Dispatch>();
+  const dragContext = useContext(DragControlsContext);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const [currentGroupName, setCurrentGroupName] = useState<string>(groupName === INTERNAL_THEMES_NO_GROUP ? '' : groupName);
+  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
+    dragContext.controls?.start(event);
+  }, [dragContext.controls]);
+  const [isGroupNameEditing, setIsGroupNameEditing] = useState<boolean>(false);
+ 
+  const handleEditButtonClick = useCallback(() => {
+    setIsGroupNameEditing(true);
+  }, [setIsGroupNameEditing]);
+  const handleCancel = useCallback(() => {
+    setCurrentGroupName(groupName);
+    setIsGroupNameEditing(false);
+  }, [setIsGroupNameEditing]);
+ 
+  const handleSubmit = React.useCallback(() => {
+    dispatch.tokenState.updateThemeGroupName(groupName, currentGroupName);
+    setIsGroupNameEditing(false);
+  }, [currentGroupName, groupName]);
+ 
+  const handleKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {
+    if (e.key === 'Enter') {
+      handleSubmit();
+    } else if (e.key === 'Escape') {
+      e.stopPropagation();
+      handleCancel();
+    }
+  }, [currentGroupName, groupName, dispatch.tokenState]);
+ 
+  const handleGroupNameChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
+    setCurrentGroupName(event.target.value);
+  }, []);
+ 
+  return (
+    <StyledDragButton
+      type="button"
+      canReorder={!editProhibited}
+      css={{
+        marginBottom: '$2',
+        backgroundColor: '$bgDefault',
+        display: 'flex',
+        cursor: 'inherit',
+        '&:not(:first-of-type)': { marginTop: '$4' },
+      }}
+    >
+      <DragGrabber
+        item={groupName}
+        canReorder={!editProhibited}
+        onDragStart={handleDragStart}
+      />
+      <Box css={{
+        display: 'flex',
+        alignItems: 'center',
+        gap: '$2',
+        '& > div > button ': {
+          display: 'none',
+        },
+        '&:hover > div > button ': {
+          display: 'block',
+        },
+      }}
+      >
+        {!isGroupNameEditing ? (
+          <>
+            <Text css={{
+              color: '$fgMuted', height: '$controlSmall', display: 'flex', alignItems: 'center',
+            }}
+            >
+              {label}
+            </Text>
+            <IconButton
+              onClick={handleEditButtonClick}
+              icon={<IconPencil />}
+              size="small"
+              variant="invisible"
+              tooltip="Rename group"
+            />
+          </>
+        ) : (
+          <>
+            <Input
+              type="text"
+              name={`groupName-${groupName}`}
+              value={currentGroupName}
+              onChange={handleGroupNameChange}
+              onKeyDown={handleKeyDown}
+              autofocus
+              full
+            />
+            <IconButton
+              onClick={handleCancel}
+              icon={<Xmark />}
+              color="$dangerBorder"
+              size="small"
+              tooltip="Cancel"
+            />
+            <IconButton
+              onClick={handleSubmit}
+              icon={<Check />}
+              size="small"
+              variant="primary"
+              tooltip="Confirm"
+            />
+          </>
+        )}
+      </Box>
+    </StyledDragButton>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html new file mode 100644 index 000000000..27a77ece8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeListItemContent.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeListItemContent.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useContext,
+} from 'react';
+import { useSelector } from 'react-redux';
+import { styled } from '@stitches/react';
+import { editProhibitedSelector } from '@/selectors';
+import { DragControlsContext } from '@/context';
+import { StyledDragButton } from '../StyledDragger/StyledDragButton';
+import { DragGrabber } from '../StyledDragger/DragGrabber';
+import { SingleThemeEntry } from './SingleThemeEntry';
+import { ThemeObject } from '@/types';
+ 
+type Props = React.PropsWithChildren<{
+  item: ThemeObject
+  isActive: boolean
+  groupName: string
+  onOpen: (theme?: ThemeObject) => void;
+}>;
+ 
+const StyledDragGrabber = styled(DragGrabber, {
+  gridArea: 'handle',
+});
+ 
+export function ThemeListItemContent({
+  item,
+  isActive,
+  groupName,
+  onOpen,
+}: Props) {
+  const dragContext = useContext(DragControlsContext);
+  const editProhibited = useSelector(editProhibitedSelector);
+ 
+  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
+    dragContext.controls?.start(event);
+  }, [dragContext.controls]);
+ 
+  return (
+    <StyledDragButton
+      type="button"
+      canReorder={!editProhibited}
+      css={{
+        padding: 0, width: '100%', display: 'inherit', cursor: 'inherit',
+      }}
+    >
+      <StyledDragGrabber<ThemeObject>
+        item={item}
+        canReorder={!editProhibited}
+        onDragStart={handleDragStart}
+      />
+      <SingleThemeEntry
+        key={item.id}
+        theme={item}
+        isActive={isActive}
+        groupName={groupName}
+        onOpen={onOpen}
+ 
+      />
+    </StyledDragButton>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html new file mode 100644 index 000000000..fc4ea66b4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html @@ -0,0 +1,484 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeStyleManagementCategory.tsx

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo, useState } from 'react';
+import { useSelector } from 'react-redux';
+import { Button, Heading, Checkbox } from '@tokens-studio/ui';
+import { useTranslation } from 'react-i18next';
+import Box from '../Box';
+import Accordion from '../Accordion';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { isWaitingForBackgroundJobSelector } from '@/selectors';
+import { RootState } from '@/app/store';
+import { StyleInfo, ThemeStyleManagementCategoryStyleEntry } from './ThemeStyleManagementCategoryStyleEntry';
+import Stack from '../Stack';
+import { Count } from '../Count';
+import Label from '../Label';
+ 
+type Props = {
+  label: string
+  styles: Record<string, StyleInfo>
+  icon?: React.ReactNode | null
+  onAttachLocalStyles: () => void
+  onDisconnectStyle: (name: string) => void
+  onDisconnectSelectedStyle: (names: string[]) => void
+};
+ 
+export const ThemeStyleManagementCategory: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  label,
+  icon,
+  styles,
+  onAttachLocalStyles,
+  onDisconnectStyle,
+  onDisconnectSelectedStyle,
+}) => {
+  const isAttachingLocalStyles = useSelector(useCallback((state: RootState) => (
+    isWaitingForBackgroundJobSelector(state, BackgroundJobs.UI_ATTACHING_LOCAL_STYLES)
+  ), []));
+  const [selectedStyles, setSelectedStyles] = useState<string[]>([]);
+  const { t } = useTranslation(['tokens', 'errors']);
+ 
+  const stylesEntries = useMemo(() => Object.entries(styles), [styles]);
+ 
+  const handleSelectAll = React.useCallback(() => {
+    setSelectedStyles(
+      selectedStyles.length === stylesEntries.length
+        ? []
+        : stylesEntries.map(([token]) => token),
+    );
+  }, [selectedStyles, stylesEntries]);
+ 
+  const handleDisconnectSelectedStyles = useCallback(() => {
+    onDisconnectSelectedStyle(selectedStyles);
+  }, [selectedStyles, onDisconnectSelectedStyle]);
+ 
+  const handleToggleSelectedStyle = useCallback((token: string) => {
+    setSelectedStyles(
+      selectedStyles.includes(token)
+        ? selectedStyles.filter((style) => style !== token)
+        : [...selectedStyles, token],
+    );
+  }, [selectedStyles]);
+ 
+  return (
+    <Accordion
+      data-testid={`themestylemanagementcategory-accordion-${label.toLowerCase()}`}
+      disabled={stylesEntries.length === 0}
+      label={(
+        <Stack direction="row" gap={2} align="center">
+          <Heading size="medium">
+            {label}
+          </Heading>
+          {stylesEntries.length > 0 ? <Count count={stylesEntries.length} /> : null}
+        </Stack>
+      )}
+      extra={(
+        <Button
+          size="small"
+          disabled={isAttachingLocalStyles}
+          onClick={onAttachLocalStyles}
+        >
+          {t('attachLocalStyles')}
+        </Button>
+      )}
+      isOpenByDefault={false}
+    >
+      {
+        stylesEntries.length > 0 && (
+          <Stack
+            align="center"
+            justify="between"
+            gap={3}
+            css={{
+              paddingInline: '$1', paddingTop: '$2',
+            }}
+          >
+            <Stack
+              align="center"
+              gap={3}
+              css={{ fontSize: '$small' }}
+            >
+              <Checkbox
+                checked={selectedStyles.length === stylesEntries.length}
+                id="detachSelected"
+                onCheckedChange={handleSelectAll}
+              />
+              <Label htmlFor="detachSelected" css={{ fontSize: '$small', fontWeight: '$sansBold' }}>
+                {t('selectAll')}
+              </Label>
+            </Stack>
+            <Stack gap={1}>
+              <Button onClick={handleDisconnectSelectedStyles} disabled={selectedStyles.length === 0} variant="danger" size="small">
+                {t('detachSelected')}
+              </Button>
+            </Stack>
+          </Stack>
+        )
+      }
+      <Box css={{
+        display: 'grid', gap: '$2', gridTemplateColumns: 'minmax(0, 1fr)', padding: '$1',
+      }}
+      >
+        {stylesEntries.map(([token, styleInfo]) => (
+          <ThemeStyleManagementCategoryStyleEntry
+            key={token}
+            icon={icon}
+            token={token}
+            styleInfo={styleInfo}
+            isChecked={selectedStyles.includes(token)}
+            onDisconnectStyle={onDisconnectStyle}
+            handleToggleSelectedStyle={handleToggleSelectedStyle}
+          />
+        ))}
+      </Box>
+    </Accordion>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html new file mode 100644 index 000000000..96f584a7b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html @@ -0,0 +1,403 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeStyleManagementCategoryStyleEntry.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { ArrowRightIcon, LinkBreak1Icon, LinkBreak2Icon } from '@radix-ui/react-icons';
+import {
+  Box, IconButton, Tooltip, Checkbox,
+} from '@tokens-studio/ui';
+import { Flex } from '../Flex';
+import Text from '../Text';
+import ResolvingLoader from '../ResolvingLoader';
+import Stack from '../Stack';
+ 
+export type StyleInfo = {
+  id: string
+  name?: string
+  failedToResolve?: boolean
+};
+ 
+type Props = {
+  token: string
+  styleInfo: StyleInfo
+  icon?: React.ReactNode | null
+  isChecked: boolean
+  onDisconnectStyle: (token: string) => void
+  handleToggleSelectedStyle: (token: string) => void
+};
+ 
+export const ThemeStyleManagementCategoryStyleEntry: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  token,
+  styleInfo,
+  icon,
+  isChecked,
+  onDisconnectStyle,
+  handleToggleSelectedStyle,
+}) => {
+  const handleDisconnectStyle = useCallback(() => {
+    onDisconnectStyle(token);
+  }, [token, onDisconnectStyle]);
+ 
+  const onCheckedChanged = useCallback(() => {
+    handleToggleSelectedStyle(token);
+  }, [token, handleToggleSelectedStyle]);
+ 
+  return (
+    <Flex
+      key={token}
+      css={{
+        gap: '$3',
+        justifyContent: 'flex-start',
+        alignItems: 'center',
+      }}
+    >
+      <Checkbox
+        checked={isChecked}
+        id={token}
+        onCheckedChange={onCheckedChanged}
+      />
+ 
+      {icon && <Box>{icon}</Box>}
+      <Flex
+        css={{
+          gap: '$3',
+          justifyContent: 'flex-start',
+          alignItems: 'center',
+          width: '100%',
+          minWidth: 0,
+        }}
+      >
+        <Tooltip
+          side="bottom"
+          label={(
+            <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
+              <Text css={{ color: '$tooltipFg' }}>
+                {token}
+              </Text>
+              <Text css={{ color: '$tooltipFgMuted' }}>
+                {styleInfo.name}
+              </Text>
+            </Stack>
+          )}
+        >
+          <Box css={{
+            flexGrow: 1, display: 'flex', alignItems: 'center', gap: '$3', overflow: 'hidden',
+          }}
+          >
+            <Text css={{ overflow: 'hidden', textOverflow: 'ellipsis' }} size="small">{token}</Text>
+            <Box css={{ flexShrink: 0 }}>
+              <ArrowRightIcon />
+            </Box>
+            {(!styleInfo.name && !styleInfo.failedToResolve) && (
+            <ResolvingLoader />
+            )}
+            {(!styleInfo.name && styleInfo.failedToResolve) && (
+            <Stack direction="row" gap={1} css={{ color: '$dangerFg' }}>
+              <LinkBreak1Icon />
+              Reference not found
+            </Stack>
+            )}
+            {styleInfo.name && (
+            <Text bold size="small" title={styleInfo.name} css={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>{styleInfo.name}</Text>
+            )}
+          </Box>
+        </Tooltip>
+        <IconButton size="small" variant="invisible" tooltip="Detach style" icon={<LinkBreak2Icon />} data-testid="themestylemanagementcategorystyleentry-unlink" onClick={handleDisconnectStyle} />
+      </Flex>
+    </Flex>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html new file mode 100644 index 000000000..a942ec245 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html @@ -0,0 +1,721 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeStyleManagementForm.tsx

+
+ +
+ 0% + Statements + 0/79 +
+ + +
+ 0% + Branches + 0/38 +
+ + +
+ 0% + Functions + 0/23 +
+ + +
+ 0% + Lines + 0/77 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useEffect, useMemo, useState,
+} from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import * as Sentry from '@sentry/react';
+import { settingsStateSelector, tokensSelector, themeByIdSelector } from '@/selectors';
+import { mapTokensToStyleInfo } from '@/utils/tokenset';
+import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
+import { Dispatch, RootState } from '@/app/store';
+import { TokenTypes } from '@/constants/TokenTypes';
+import Box from '../Box';
+import { ThemeStyleManagementCategory } from './ThemeStyleManagementCategory';
+import { AsyncMessageTypes, AttachLocalStylesToTheme } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import type { StyleInfo } from './ThemeStyleManagementCategoryStyleEntry';
+import { track } from '@/utils/analytics';
+import { ThemeVariableManagement } from './ThemeVariableManagement';
+ 
+type StyleInfoPerCategory = Partial<Record<'typography' | 'colors' | 'effects', Record<string, StyleInfo>>>;
+ 
+type Props = {
+  id: string
+};
+ 
+export const ThemeStyleManagementForm: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ id }) => {
+  const [rawStyleInfo, setRawStyleInfo] = useState<StyleInfoPerCategory>({});
+  const [resolvedStyleInfo, setResolvedStyleInfo] = useState<StyleInfoPerCategory>({});
+  const dispatch = useDispatch<Dispatch>();
+  const theme = useSelector(useCallback((state: RootState) => (
+    themeByIdSelector(state, id)
+  ), [id]));
+  const settings = useSelector(settingsStateSelector);
+  const tokenSets = useSelector(tokensSelector);
+ 
+  const stylesInfo = useMemo(() => {
+    if (theme) {
+      const stylePathSlice = settings.ignoreFirstPartForStyles ? 1 : 0;
+      const stylePathPrefix = settings.prefixStylesWithThemeName
+        ? theme.name
+        : null;
+      return mapTokensToStyleInfo(
+        tokenSets,
+        theme.$figmaStyleReferences ?? {},
+        (name) => convertTokenNameToPath(name, stylePathPrefix, stylePathSlice),
+      );
+    }
+ 
+    return null;
+  }, [theme, tokenSets, settings]);
+ 
+  const tokenStyleGroups = useMemo(() => {
+    if (stylesInfo) {
+      const typography: (typeof stylesInfo)[string][] = [];
+      const colors: (typeof stylesInfo)[string][] = [];
+      const effects: (typeof stylesInfo)[string][] = [];
+      const entries = Object.entries(stylesInfo);
+      entries.forEach(([,{ styleId, token }]) => {
+        if (token.type === TokenTypes.TYPOGRAPHY) {
+          typography.push({ styleId, token });
+        } else if (token.type === TokenTypes.COLOR) {
+          colors.push({ styleId, token });
+        } else if (token.type === TokenTypes.BOX_SHADOW) {
+          effects.push({ styleId, token });
+        }
+      });
+ 
+      return { typography, colors, effects };
+    }
+ 
+    return null;
+  }, [stylesInfo]);
+ 
+  const attachLocalStyles = useCallback(async (category: AttachLocalStylesToTheme['category']) => {
+    if (theme) {
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_ATTACHING_LOCAL_STYLES,
+        isInfinite: true,
+      });
+      const result = await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME,
+        tokens: tokenSets,
+        category,
+        theme,
+        settings,
+      });
+      if (result.$figmaStyleReferences) {
+        track('Attach styles to theme', {
+          category,
+          count: Object.values(result.$figmaStyleReferences).length,
+        });
+        dispatch.tokenState.assignStyleIdsToTheme({
+          id: result.id,
+          styleIds: result.$figmaStyleReferences,
+        });
+      }
+      dispatch.uiState.completeJob(BackgroundJobs.UI_ATTACHING_LOCAL_STYLES);
+    }
+  }, [theme, tokenSets, settings, dispatch]);
+ 
+  const handleDisconnectStyle = useCallback((token: string) => {
+    if (theme) {
+      track('Disconnect style', { token });
+      dispatch.tokenState.disconnectStyleFromTheme({
+        id: theme.id,
+        key: token,
+      });
+    }
+  }, [theme, dispatch.tokenState]);
+ 
+  const handleDisconnectSelectedStyle = useCallback((tokens: string[]) => {
+    if (theme) {
+      track('Disconnect selected styles', { tokens });
+      dispatch.tokenState.disconnectStyleFromTheme({
+        id: theme.id,
+        key: tokens,
+      });
+    }
+  }, [theme, dispatch.tokenState]);
+ 
+  const handleAttachLocalTextStyles = useCallback(() => {
+    attachLocalStyles('typography');
+  }, [attachLocalStyles]);
+ 
+  const handleAttachLocalColorStyles = useCallback(() => {
+    attachLocalStyles('colors');
+  }, [attachLocalStyles]);
+ 
+  const handleAttachLocalEffectStyles = useCallback(() => {
+    attachLocalStyles('effects');
+  }, [attachLocalStyles]);
+ 
+  useEffect(() => {
+    const allStyleIds = Object.values(rawStyleInfo).reduce<string[]>((list, map) => (
+      list.concat(Object.values(map).map((info) => info.id))
+    ), []);
+    if (allStyleIds.length > 0) {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.RESOLVE_STYLE_INFO,
+        styleIds: allStyleIds,
+      }).then(({ resolvedValues }) => {
+        const nextStyleInfo = Object.fromEntries(Object.entries(rawStyleInfo).map(([category, stylesInfoMap]) => (
+          [category, Object.fromEntries(Object.entries(stylesInfoMap).map(([tokenName, styleInfo]) => {
+            const resolvedInfo = resolvedValues.find((resolved) => resolved.id === styleInfo.id);
+            return [tokenName, {
+              id: styleInfo.id,
+              name: resolvedInfo?.name,
+              failedToResolve: !resolvedInfo?.key,
+            }];
+          }))]
+        )));
+        setResolvedStyleInfo(nextStyleInfo);
+      }).catch((err) => {
+        console.error(err);
+        Sentry.captureException(err);
+      });
+    }
+  }, [rawStyleInfo]);
+ 
+  useEffect(() => {
+    if (tokenStyleGroups) {
+      const styleInfo = Object.entries(tokenStyleGroups).reduce<StyleInfoPerCategory>((acc, [category, styles]) => {
+        if (styles) {
+          type StylesInfoMap = Record<string, StyleInfo>;
+          acc[(category as keyof StyleInfoPerCategory)] = styles.reduce<StylesInfoMap>((map, { styleId, token }) => {
+            map[token.name] = {
+              id: styleId,
+              failedToResolve: false,
+            };
+            return map;
+          }, {});
+        }
+        return acc;
+      }, {});
+      setResolvedStyleInfo(styleInfo);
+      setRawStyleInfo(styleInfo);
+    }
+  }, [tokenStyleGroups]);
+ 
+  if (!tokenStyleGroups) {
+    return null;
+  }
+ 
+  return (
+    <Box css={{ padding: '$3 0', display: 'grid', gap: '$6' }}>
+      <ThemeStyleManagementCategory
+        label="Typography"
+        styles={resolvedStyleInfo.typography ?? {}}
+        onAttachLocalStyles={handleAttachLocalTextStyles}
+        onDisconnectStyle={handleDisconnectStyle}
+        onDisconnectSelectedStyle={handleDisconnectSelectedStyle}
+      />
+      <ThemeStyleManagementCategory
+        label="Colors"
+        styles={resolvedStyleInfo.colors ?? {}}
+        onAttachLocalStyles={handleAttachLocalColorStyles}
+        onDisconnectStyle={handleDisconnectStyle}
+        onDisconnectSelectedStyle={handleDisconnectSelectedStyle}
+      />
+      <ThemeStyleManagementCategory
+        label="Effects"
+        styles={resolvedStyleInfo.effects ?? {}}
+        onAttachLocalStyles={handleAttachLocalEffectStyles}
+        onDisconnectStyle={handleDisconnectStyle}
+        onDisconnectSelectedStyle={handleDisconnectSelectedStyle}
+      />
+      <ThemeVariableManagement
+        id={id}
+      />
+    </Box>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html new file mode 100644 index 000000000..74db52bd6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html @@ -0,0 +1,646 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeVariableManagement.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeVariableManagement.tsx

+
+ +
+ 0% + Statements + 0/47 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/18 +
+ + +
+ 0% + Lines + 0/43 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useMemo, useState, useEffect,
+} from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import * as Sentry from '@sentry/react';
+import { Button, Heading, Checkbox } from '@tokens-studio/ui';
+import Box from '../Box';
+import Accordion from '../Accordion';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { isWaitingForBackgroundJobSelector, themeByIdSelector, tokensSelector } from '@/selectors';
+import { Dispatch, RootState } from '@/app/store';
+import Stack from '../Stack';
+import { Count } from '../Count';
+import Label from '../Label';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { track } from '@/utils/analytics';
+import { ThemeVariableManagementEntry, VariableInfo } from './ThemeVariableManagementEntry';
+import mapThemeToVariableInfo from '@/utils/mapThemeToVariableInfo';
+import { wrapTransaction } from '@/profiling/transaction';
+ 
+type Props = {
+  id: string
+};
+ 
+export const ThemeVariableManagement: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ id }) => {
+  const theme = useSelector(useCallback((state: RootState) => (
+    themeByIdSelector(state, id)
+  ), [id]));
+  const tokens = useSelector(tokensSelector);
+  const isAttachingLocalVariables = useSelector(useCallback((state: RootState) => (
+    isWaitingForBackgroundJobSelector(state, BackgroundJobs.UI_ATTACHING_LOCAL_VARIABLES)
+  ), []));
+  const [selectedVariables, setSelectedVariables] = useState<string[]>([]);
+  const [resolvedVariableInfo, setResolvedVariableInfo] = useState<Record<string, VariableInfo>>(mapThemeToVariableInfo(theme));
+  const dispatch = useDispatch<Dispatch>();
+  const variableEntries = useMemo(() => Object.entries(resolvedVariableInfo), [resolvedVariableInfo]);
+ 
+  useEffect(() => {
+    const allVariableIds = Object.values(theme?.$figmaVariableReferences ?? {}).map((variableId) => variableId);
+    if (allVariableIds.length > 0) {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.RESOLVE_VARIABLE_INFO,
+        variableIds: allVariableIds,
+      }).then(({ resolvedValues }) => {
+        const nextResolvedVariableInfo = Object.fromEntries(Object.entries(theme?.$figmaVariableReferences ?? {}).map(([tokenName, variableId]) => [tokenName, {
+          id: variableId,
+          name: resolvedValues[variableId]?.name,
+          isResolved: !!resolvedValues[variableId]?.key,
+        }]));
+        setResolvedVariableInfo(nextResolvedVariableInfo);
+      }).catch((err) => {
+        console.error(err);
+        Sentry.captureException(err);
+      });
+    } else {
+      setResolvedVariableInfo({});
+    }
+  }, [theme]);
+ 
+  const handleSelectAll = React.useCallback(() => {
+    setSelectedVariables(
+      selectedVariables.length === variableEntries.length
+        ? []
+        : variableEntries.map(([token]) => token),
+    );
+  }, [selectedVariables, variableEntries]);
+ 
+  const handleDisconnectSelectedVariables = useCallback(() => {
+    if (theme) {
+      track('Disconnect selected variables', { selectedVariables });
+      dispatch.tokenState.disconnectVariableFromTheme({
+        id: theme.id,
+        key: selectedVariables,
+      });
+    }
+  }, [theme, dispatch.tokenState, selectedVariables]);
+ 
+  const handleToggleSelectedVariable = useCallback((token: string) => {
+    setSelectedVariables(
+      selectedVariables.includes(token)
+        ? selectedVariables.filter((style) => style !== token)
+        : [...selectedVariables, token],
+    );
+  }, [selectedVariables]);
+ 
+  const handleDisconnectVariable = useCallback((token: string) => {
+    if (theme) {
+      track('Disconnect variable', { token });
+      dispatch.tokenState.disconnectVariableFromTheme({
+        id: theme.id,
+        key: token,
+      });
+    }
+  }, [theme, dispatch.tokenState]);
+ 
+  const handleAttachLocalVariables = useCallback(async () => {
+    if (theme) {
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_ATTACHING_LOCAL_VARIABLES,
+        isInfinite: true,
+      });
+      const result = await wrapTransaction({ name: 'attachVariables' }, async () => await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME,
+        tokens,
+        theme,
+      }));
+      if (result.variableInfo) {
+        track('Attach variables to theme', {
+          count: Object.values(result.variableInfo.variableIds).length,
+        });
+        dispatch.tokenState.assignVariableIdsToTheme({
+          [id]: result.variableInfo,
+        });
+      }
+      dispatch.uiState.completeJob(BackgroundJobs.UI_ATTACHING_LOCAL_VARIABLES);
+    }
+  }, [theme, tokens, id, dispatch]);
+ 
+  return (
+    <Accordion
+      data-testid="themevariablemanagement-accordion"
+      disabled={variableEntries.length === 0}
+      label={(
+        <Stack direction="row" gap={2} align="center">
+          <Heading size="medium">
+            Variables
+          </Heading>
+          {variableEntries.length > 0 ? <Count count={variableEntries.length} /> : null}
+        </Stack>
+      )}
+      extra={(
+        <Button
+          size="small"
+          disabled={isAttachingLocalVariables}
+          onClick={handleAttachLocalVariables}
+        >
+          Attach local variables
+        </Button>
+      )}
+      isOpenByDefault={false}
+    >
+      {
+        variableEntries.length > 0 && (
+          <Box css={{
+            display: 'flex', alignItems: 'center', gap: '$3', justifyContent: 'space-between', paddingInline: '$1', paddingTop: '$2',
+          }}
+          >
+            <Box css={{
+              display: 'flex', alignItems: 'center', gap: '$3', fontSize: '$small',
+            }}
+            >
+              <Checkbox
+                checked={selectedVariables.length === variableEntries.length}
+                id="detachSelected"
+                onCheckedChange={handleSelectAll}
+              />
+              <Label htmlFor="detachSelected" css={{ fontSize: '$small', fontWeight: '$sansBold' }}>
+                Select all
+              </Label>
+            </Box>
+            <Box css={{ display: 'flex', flexDirection: 'row', gap: '$1' }}>
+              <Button onClick={handleDisconnectSelectedVariables} disabled={selectedVariables.length === 0} variant="danger" size="small">
+                Detach selected
+              </Button>
+            </Box>
+          </Box>
+        )
+      }
+      <Box css={{
+        display: 'grid', gap: '$2', gridTemplateColumns: 'minmax(0, 1fr)', padding: '$1',
+      }}
+      >
+        {variableEntries.map(([token, variableInfo]) => (
+          <ThemeVariableManagementEntry
+            key={token}
+            token={token}
+            variableInfo={variableInfo}
+            isChecked={selectedVariables.includes(token)}
+            onDisconnectVariable={handleDisconnectVariable}
+            handleToggleSelectedVariable={handleToggleSelectedVariable}
+          />
+        ))}
+      </Box>
+    </Accordion>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html new file mode 100644 index 000000000..d08e9e3de --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html @@ -0,0 +1,394 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal ThemeVariableManagementEntry.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { ArrowRightIcon, LinkBreak1Icon, LinkBreak2Icon } from '@radix-ui/react-icons';
+import {
+  Box, IconButton, Tooltip, Checkbox,
+} from '@tokens-studio/ui';
+import { Flex } from '../Flex';
+import Text from '../Text';
+import ResolvingLoader from '../ResolvingLoader';
+import Stack from '../Stack';
+ 
+export type VariableInfo = {
+  id: string
+  name?: string
+  isResolved?: boolean
+};
+ 
+type Props = {
+  token: string
+  variableInfo: VariableInfo
+  isChecked: boolean
+  onDisconnectVariable: (token: string) => void
+  handleToggleSelectedVariable: (token: string) => void
+};
+ 
+export const ThemeVariableManagementEntry: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  token,
+  variableInfo,
+  isChecked,
+  onDisconnectVariable,
+  handleToggleSelectedVariable,
+}) => {
+  const handleDisconnectVariable = useCallback(() => {
+    onDisconnectVariable(token);
+  }, [token, onDisconnectVariable]);
+ 
+  const onCheckedChanged = useCallback(() => {
+    handleToggleSelectedVariable(token);
+  }, [token, handleToggleSelectedVariable]);
+ 
+  return (
+    <Flex
+      key={token}
+      css={{
+        gap: '$3',
+        justifyContent: 'flex-start',
+        alignItems: 'center',
+      }}
+    >
+      <Checkbox
+        checked={isChecked}
+        id={token}
+        onCheckedChange={onCheckedChanged}
+      />
+ 
+      <Flex
+        css={{
+          gap: '$3',
+          justifyContent: 'flex-start',
+          alignItems: 'center',
+          width: '100%',
+          minWidth: 0,
+        }}
+      >
+        <Tooltip
+          side="bottom"
+          label={(
+            <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
+              <Text css={{ color: '$tooltipFg' }}>
+                {token}
+              </Text>
+              <Text css={{ color: '$tooltipFgMuted' }}>
+                {variableInfo.name}
+              </Text>
+            </Stack>
+          )}
+        >
+          <Box css={{
+            flexGrow: 0, display: 'flex', alignItems: 'center', gap: '$3', overflow: 'hidden',
+          }}
+          >
+            <Text css={{ overflow: 'hidden', textOverflow: 'ellipsis' }} size="small">{token}</Text>
+            <Box css={{ flexShrink: 0 }}>
+              <ArrowRightIcon />
+            </Box>
+            {(!variableInfo.name && !variableInfo.isResolved) && (
+            <ResolvingLoader />
+            )}
+            {(!variableInfo.name && variableInfo.isResolved) && (
+            <Stack direction="row" gap={1} css={{ color: '$dangerFg' }}>
+              <LinkBreak1Icon />
+              Reference not found
+            </Stack>
+            )}
+            {variableInfo.name && (
+            <Text bold size="small" title={variableInfo.name} css={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>{variableInfo.name}</Text>
+            )}
+          </Box>
+        </Tooltip>
+        <IconButton tooltip="Detach variable" icon={<LinkBreak2Icon />} variant="invisible" data-testid="ThemeVariableManagementEntry-unlink" onClick={handleDisconnectVariable} />
+      </Flex>
+    </Flex>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html new file mode 100644 index 000000000..fedbd4da3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/TokenSetThemeItem.tsx + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal TokenSetThemeItem.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import {
+  Box, Stack, ToggleGroup,
+} from '@tokens-studio/ui';
+import { Check, Xmark, CodeBrackets } from 'iconoir-react';
+import { useTranslation } from 'react-i18next';
+import { TreeItem } from '@/utils/tokenset';
+import { StyledThemeLabel } from './StyledThemeLabel';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+type Props = {
+  item: TreeItem
+  value: Record<string, TokenSetStatus>
+  onChange: (value: Record<string, TokenSetStatus>) => void
+};
+ 
+const tokenSetStatusValues = Object.values(TokenSetStatus);
+const tokenSetStatusLabels = {
+  [TokenSetStatus.DISABLED]: 'disabled',
+  [TokenSetStatus.SOURCE]: 'referenceOnly',
+  [TokenSetStatus.ENABLED]: 'enabled',
+};
+ 
+export const TokenSetThemeItem: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  item, value, children, onChange,
+}) => {
+  const tokenSetStatus = useMemo(() => (
+    value?.[item.path] ?? TokenSetStatus.DISABLED
+  ), [item.path, value]);
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleValueChange = useCallback((status: string) => {
+    if (status) {
+      onChange({
+        ...value,
+        [item.path]: status as TokenSetStatus,
+      });
+    }
+  }, [item, value, onChange]);
+ 
+  const statusIcon = (status) => {
+    if (status === TokenSetStatus.ENABLED) {
+      return <Check />;
+    }
+    if (status === TokenSetStatus.SOURCE) {
+      return <CodeBrackets />;
+    }
+    return <Xmark />;
+  };
+ 
+  return (
+    (
+      <Stack direction="row" align="center" css={{ width: '100%' }}>
+        {item.level > 0 && (
+        // repeat the box n times according to item.level
+          (Array.from({ length: item.level }).map((_, index) => (
+            <Box
+            // eslint-disable-next-line react/no-array-index-key
+              key={`${item.path}-indicator-${index}`}
+              css={{
+                marginLeft: '$3',
+                height: '$7',
+                width: '$4',
+                borderLeft: '1px solid $borderMuted',
+              }}
+            />
+          )))
+        )}
+        {children}
+        {item.isLeaf && (
+        <Stack
+          direction="row"
+          justify="between"
+          align="center"
+          css={{ width: '100%' }}
+        >
+ 
+          <StyledThemeLabel variant="leaf" ignored={tokenSetStatus === TokenSetStatus.DISABLED}>
+            {item.label}
+          </StyledThemeLabel>
+          <ToggleGroup
+            type="single"
+            size="small"
+            value={tokenSetStatus}
+            onValueChange={handleValueChange}
+            defaultValue={tokenSetStatus}
+          >
+            {tokenSetStatusValues.map((status) => (
+ 
+              <ToggleGroup.Item key={status} tooltip={t(tokenSetStatusLabels[status])} tooltipSide="top" value={status} data-testid={`tokensettheme-item--ToggleGroup-content--${item.label}--${status}`}>
+                {statusIcon(status)}
+              </ToggleGroup.Item>
+ 
+            ))}
+          </ToggleGroup>
+        </Stack>
+        )}
+      </Stack>
+    )
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html new file mode 100644 index 000000000..aaf17bf0b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html @@ -0,0 +1,386 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal + + + + + + + + + +
+
+

All files src/app/components/ManageThemesModal

+
+ +
+ 0% + Statements + 0/343 +
+ + +
+ 0% + Branches + 0/209 +
+ + +
+ 0% + Functions + 0/112 +
+ + +
+ 0% + Lines + 0/327 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
CreateOrEditThemeForm.tsx +
+
0%0/290%0/150%0/110%0/25
ManageThemesModal.tsx +
+
0%0/750%0/660%0/180%0/72
SingleThemeEntry.tsx +
+
0%0/200%0/180%0/70%0/20
StyledCreateOrEditThemeFormHeaderFlex.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledCreateOrEditThemeFormTabsFlex.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledForm.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledNameInputBox.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledThemeLabel.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledThemeMetaLabel.tsx +
+
0%0/1100%0/0100%0/00%0/1
ThemeGroupDropDownMenu.tsx +
+
0%0/100%0/40%0/50%0/8
ThemeListGroupHeader.tsx +
+
0%0/240%0/80%0/70%0/24
ThemeListItemContent.tsx +
+
0%0/6100%0/00%0/20%0/6
ThemeStyleManagementCategory.tsx +
+
0%0/170%0/80%0/90%0/16
ThemeStyleManagementCategoryStyleEntry.tsx +
+
0%0/60%0/100%0/30%0/6
ThemeStyleManagementForm.tsx +
+
0%0/790%0/380%0/230%0/77
ThemeVariableManagement.tsx +
+
0%0/470%0/220%0/180%0/43
ThemeVariableManagementEntry.tsx +
+
0%0/60%0/80%0/30%0/6
TokenSetThemeItem.tsx +
+
0%0/180%0/120%0/60%0/18
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html new file mode 100644 index 000000000..e88a91515 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/ManageThemesModal/index.ts + + + + + + + + + +
+
+

All files / src/app/components/ManageThemesModal index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export { ManageThemesModal } from './ManageThemesModal';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html new file mode 100644 index 000000000..524ddae4b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html @@ -0,0 +1,715 @@ + + + + + + Code coverage report for src/app/components/Modal/Modal.tsx + + + + + + + + + +
+
+

All files / src/app/components/Modal Modal.tsx

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import {
+  Stack, Dialog, IconButton, Box, Heading,
+} from '@tokens-studio/ui';
+import { XIcon } from '@primer/octicons-react';
+import { ArrowLeft } from 'iconoir-react';
+import { ModalFooter } from './ModalFooter';
+import { styled } from '@/stitches.config';
+ 
+export type ModalProps = {
+  id?: string;
+  title?: string;
+  full?: boolean;
+  size?: 'large' | 'fullscreen';
+  compact?: boolean;
+  isOpen?: boolean;
+  children: React.ReactNode;
+  footer?: React.ReactNode;
+  stickyFooter?: boolean;
+  showClose?: boolean;
+  backArrow?: boolean;
+  icon?: React.ReactNode;
+  close?: () => void;
+  modal?: boolean;
+  onInteractOutside?: (event: Event) => void;
+  scrollContainerRef?: React.RefObject<HTMLDivElement>;
+};
+ 
+const StyledBody = styled('div', {
+  position: 'relative',
+  padding: '$4',
+  variants: {
+    full: {
+      true: {
+        padding: 0,
+      },
+    },
+    compact: {
+      true: {
+        padding: '$4',
+      },
+    },
+  },
+});
+ 
+const StyledDialogContent = styled(Dialog.Content, {
+  '&:focus-visible': {
+    outline: 'none',
+  },
+  variants: {
+    size: {
+      large: {
+        width: 'calc(100vw - $7)',
+        maxWidth: '480px',
+        padding: 0,
+        boxShadow: '$contextMenu',
+        borderColor: '$borderSubtle',
+      },
+      fullscreen: {
+        width: '100vw',
+        maxWidth: '100vw',
+        padding: 0,
+        height: '100vh',
+        maxHeight: '100vh',
+        borderRadius: 0,
+        border: 'none',
+        boxShadow: 'none',
+      },
+      regular: {
+        padding: '0',
+      },
+    },
+  },
+  defaultVariants: {
+    size: 'regular',
+  },
+});
+ 
+export function Modal({
+  id,
+  title,
+  full,
+  size,
+  isOpen,
+  close,
+  children,
+  footer,
+  stickyFooter = false,
+  showClose = false,
+  compact = false,
+  modal = true,
+  backArrow = false,
+  icon,
+  onInteractOutside,
+  scrollContainerRef,
+}: ModalProps) {
+  const handleClose = React.useCallback(() => {
+    if (close) {
+      close();
+    }
+  }, [close]);
+ 
+  const handleOnOpenChange = React.useCallback(
+    (open) => {
+      if (!open) {
+        if (close) {
+          close();
+        }
+      }
+    },
+    [close],
+  );
+ 
+  return (
+    <Dialog open={isOpen} onOpenChange={handleOnOpenChange} modal={modal}>
+      <Dialog.Portal>
+        <Dialog.Overlay />
+        <Box
+          css={{
+            position: 'fixed',
+            inset: 0,
+            backgroundColor: '$modalBackdrop',
+          }}
+        />
+        <StyledDialogContent size={size} onInteractOutside={onInteractOutside}>
+          <Box
+            css={{
+              display: 'flex',
+              flexDirection: 'column',
+              overflow: 'hidden',
+            }}
+          >
+            {(showClose || title || backArrow || icon) && (
+              <Stack
+                direction="row"
+                justify={backArrow ? 'start' : 'between'}
+                align="center"
+                css={{
+                  borderBottomColor: '$borderSubtle',
+                  borderBottomWidth: '1px',
+                  borderTopLeftRadius: '$medium',
+                  borderTopRightRadius: '$medium',
+                  padding: '$4',
+                  position: 'sticky',
+                  backgroundColor: '$bgDefault',
+                  top: 0,
+                  zIndex: 10,
+                  gap: '$3',
+                }}
+              >
+                {backArrow && (
+                  <IconButton
+                    onClick={handleClose}
+                    data-testid="back-arrow"
+                    icon={<ArrowLeft />}
+                    size="small"
+                    variant="invisible"
+                  />
+                )}
+                <Box
+                  css={{
+                    display: 'flex',
+                    alignItems: 'center',
+                    gap: '$3',
+                  }}
+                >
+                  {icon && <Box>{icon}</Box>}
+                  {title && (
+                    <Dialog.Title asChild>
+                      <Heading as="h6" size="small">
+                        {title}
+                      </Heading>
+                    </Dialog.Title>
+                  )}
+                </Box>
+                {showClose && (
+                  <IconButton
+                    onClick={handleClose || null}
+                    data-testid="close-button"
+                    icon={<XIcon />}
+                    size="small"
+                    variant="invisible"
+                  />
+                )}
+              </Stack>
+            )}
+            <StyledBody
+              compact={compact}
+              full={full}
+              data-testid={id}
+              ref={scrollContainerRef}
+              css={{
+                scrollPaddingBlockEnd: footer ? '$4' : 0,
+                marginBottom: footer && size === 'fullscreen' ? 'calc(var(--sizes-controlMedium) + var(--space-6))' : 0, // Size of the fixed footer incl default sized buttons
+              }}
+              className="content scroll-container"
+            >
+              {children}
+            </StyledBody>
+            {!!footer && (
+              <ModalFooter stickyFooter={stickyFooter} fullscreen={size === 'fullscreen'}>
+                {footer}
+              </ModalFooter>
+            )}
+          </Box>
+        </StyledDialogContent>
+      </Dialog.Portal>
+    </Dialog>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html new file mode 100644 index 000000000..3fca7edc4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/app/components/Modal/ModalFooter.tsx + + + + + + + + + +
+
+

All files / src/app/components/Modal ModalFooter.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const ModalFooter = styled('footer', {
+  padding: '$4',
+  borderTopColor: '$borderMuted',
+  borderTopWidth: '1px',
+  variants: {
+    stickyFooter: {
+      true: {
+        backgroundColor: '$bgDefault',
+        position: 'sticky',
+        left: 0,
+        right: 0,
+        bottom: -0.5,
+        zIndex: 1,
+      },
+    },
+    fullscreen: {
+      true: {
+        position: 'absolute',
+        bottom: 0,
+        left: 0,
+        right: 0,
+        zIndex: 1,
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html new file mode 100644 index 000000000..c50479e59 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/app/components/Modal/ModalHeader.tsx + + + + + + + + + +
+
+

All files / src/app/components/Modal ModalHeader.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+// @README the padding is handled by the close button
+export const ModalHeader = styled('header', {
+  borderBottomColor: '$borderMuted',
+  borderBottomWidth: '1px',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html new file mode 100644 index 000000000..00dff1f27 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/app/components/Modal + + + + + + + + + +
+
+

All files src/app/components/Modal

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Modal.tsx +
+
0%0/100%0/360%0/30%0/10
ModalFooter.tsx +
+
0%0/1100%0/0100%0/00%0/1
ModalHeader.tsx +
+
0%0/1100%0/0100%0/00%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html new file mode 100644 index 000000000..0d0b4e92b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/Modal/index.ts + + + + + + + + + +
+
+

All files / src/app/components/Modal index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { Modal } from './Modal';
+ 
+export default Modal;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html new file mode 100644 index 000000000..d5df61262 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html @@ -0,0 +1,730 @@ + + + + + + Code coverage report for src/app/components/MoreButton/MoreButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/MoreButton MoreButton.tsx

+
+ +
+ 0% + Statements + 0/52 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/18 +
+ + +
+ 0% + Lines + 0/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable react/jsx-no-bind */
+/* eslint-disable no-console */
+ 
+import React, { useMemo } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { ChevronRightIcon } from '@radix-ui/react-icons';
+import copy from 'copy-to-clipboard';
+ 
+import { ContextMenu } from '@tokens-studio/ui';
+import { styled } from '@/stitches.config';
+import { activeTokenSetReadOnlySelector, activeTokenSetSelector, editProhibitedSelector } from '@/selectors';
+import { PropertyObject } from '@/types/properties';
+import { MoreButtonProperty } from './MoreButtonProperty';
+import { DocumentationProperties } from '@/constants/DocumentationProperties';
+import { SingleToken } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+import useSetNodeData from '@/hooks/useSetNodeData';
+import { Dispatch } from '@/app/store';
+import { TokensContext } from '@/context';
+import { SelectionValue, ShowFormOptions } from '@/types';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { track } from '@/utils/analytics';
+import useManageTokens from '@/app/store/useManageTokens';
+import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import TokenButtonContent from '../TokenButton/TokenButtonContent';
+import { useGetActiveState } from '@/hooks';
+import { usePropertiesForTokenType } from '../../hooks/usePropertiesForType';
+import { getAliasValue } from '@/utils/alias';
+ 
+const RightSlot = styled('div', {
+  marginLeft: 'auto',
+  paddingLeft: 16,
+  color: '$contextMenuFg',
+  ':focus > &': { color: 'white' },
+  '[data-disabled] &': { color: '$disabled' },
+});
+ 
+// @TODO typing
+ 
+type Props = {
+  token: SingleToken;
+  type: TokenTypes;
+  showForm: (options: ShowFormOptions) => void;
+};
+ 
+export const MoreButton: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  token,
+  type,
+  showForm,
+}) => {
+  const tokensContext = React.useContext(TokensContext);
+  const setNodeData = useSetNodeData();
+  const dispatch = useDispatch<Dispatch>();
+  const editProhibited = useSelector(editProhibitedSelector);
+  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const { deleteSingleToken } = useManageTokens();
+ 
+  const canEdit = !editProhibited && !activeTokenSetReadOnly;
+ 
+  const resolvedValue = useMemo(
+    () => getAliasValue(token, tokensContext.resolvedTokens),
+    [token, tokensContext.resolvedTokens],
+  );
+ 
+  const properties = usePropertiesForTokenType(type, resolvedValue?.toString());
+ 
+  // @TODO check type property typing
+  const visibleProperties = React.useMemo(() => properties.filter((p) => p.label), [properties]);
+ 
+  const handleEditClick = React.useCallback(() => {
+    showForm({ name: token.name, token, status: EditTokenFormStatus.EDIT });
+  }, [token, showForm]);
+ 
+  const handleCopyTokenName = (props: unknown, text: string) => {
+    copy(text, {});
+  };
+ 
+  const handleDeleteClick = React.useCallback(() => {
+    deleteSingleToken({
+      parent: activeTokenSet,
+      path: token.name,
+      type: token.type,
+      sourceId: token.$extensions?.['studio.tokens']?.urn,
+    });
+  }, [activeTokenSet, deleteSingleToken, token.$extensions, token.name, token.type]);
+ 
+  const handleDuplicateClick = React.useCallback(() => {
+    showForm({ name: `${token.name}-copy`, token, status: EditTokenFormStatus.DUPLICATE });
+  }, [showForm, token]);
+ 
+  // TODO: This should probably move to state or a hook
+  const setPluginValue = React.useCallback(
+    async (value: SelectionValue) => {
+      dispatch.uiState.startJob({ name: BackgroundJobs.UI_APPLYNODEVALUE });
+      await setNodeData(value, tokensContext.resolvedTokens);
+      dispatch.uiState.completeJob(BackgroundJobs.UI_APPLYNODEVALUE);
+    },
+    [dispatch, tokensContext.resolvedTokens, setNodeData],
+  );
+ 
+  const activeStateProperties = React.useMemo(() => {
+    const childProperties: PropertyObject[] = [];
+    properties.forEach((property) => {
+      if (property.childProperties) {
+        childProperties.push(...property.childProperties);
+      }
+    });
+    return [...properties, ...childProperties, ...DocumentationProperties];
+  }, [properties]);
+ 
+  const active = useGetActiveState(activeStateProperties, type, token.name);
+ 
+  const handleClick = React.useCallback(
+    (givenProperties: PropertyObject, isActive = active) => {
+      track('Apply Token', { givenProperties });
+      const newProps: SelectionValue = {
+        [givenProperties.name]: isActive ? 'delete' : token.name,
+      };
+      if (givenProperties.clear) {
+        givenProperties.clear.map((item) => Object.assign(newProps, { [item]: 'delete' }));
+      }
+ 
+      setPluginValue(newProps);
+    },
+    [active, token.name, setPluginValue],
+  );
+ 
+  const handleTokenClick = React.useCallback(
+    (event: React.MouseEvent<HTMLButtonElement>) => {
+      const isMacBrowser = /Mac/.test(navigator.platform);
+      if (canEdit && ((isMacBrowser && event.metaKey) || (!isMacBrowser && event.ctrlKey))) {
+        handleEditClick();
+      } else {
+        handleClick(properties[0]);
+      }
+    },
+    [canEdit, handleEditClick, handleClick, properties],
+  );
+ 
+  return (
+    <ContextMenu>
+      <ContextMenu.Trigger id={`${token.name}-button}`}>
+        <TokenButtonContent type={type} active={active} onClick={handleTokenClick} token={token} />
+      </ContextMenu.Trigger>
+      <ContextMenu.Portal>
+        <ContextMenu.Content alignOffset={5} collisionPadding={30}>
+          {visibleProperties.map((property) => (property.childProperties ? (
+            <ContextMenu.Sub key={property.label}>
+              <ContextMenu.SubTrigger>
+                {property.label}
+                <RightSlot>
+                  <ChevronRightIcon />
+                </RightSlot>
+              </ContextMenu.SubTrigger>
+              <ContextMenu.Portal>
+                <ContextMenu.SubContent alignOffset={-5} collisionPadding={30}>
+                  {property.childProperties.map((childProperty) => (
+                    <MoreButtonProperty
+                      key={childProperty.name}
+                      value={token.name}
+                      property={childProperty}
+                      onClick={handleClick}
+                    />
+                  ))}
+                </ContextMenu.SubContent>
+              </ContextMenu.Portal>
+            </ContextMenu.Sub>
+          ) : (
+            <MoreButtonProperty
+              key={property.name}
+              value={token.name}
+              property={property}
+              onClick={handleClick}
+              disabled={property.disabled}
+            />
+          )))}
+          <ContextMenu.Sub>
+            <ContextMenu.SubTrigger>
+              Documentation Tokens
+              <RightSlot>
+                <ChevronRightIcon />
+              </RightSlot>
+            </ContextMenu.SubTrigger>
+            <ContextMenu.Portal>
+              <ContextMenu.SubContent alignOffset={-5} collisionPadding={30}>
+                {DocumentationProperties.map((property) => (
+                  <MoreButtonProperty
+                    key={property.name}
+                    value={token.name}
+                    property={property}
+                    onClick={handleClick}
+                  />
+                ))}
+              </ContextMenu.SubContent>
+            </ContextMenu.Portal>
+          </ContextMenu.Sub>
+          <ContextMenu.Separator />
+          <ContextMenu.Item onSelect={handleEditClick} disabled={!canEdit}>
+            Edit Token
+          </ContextMenu.Item>
+          <ContextMenu.Item onSelect={handleDuplicateClick} disabled={!canEdit}>
+            Duplicate Token
+          </ContextMenu.Item>
+          <ContextMenu.Item onSelect={(event) => handleCopyTokenName(event, token.name)}>
+            Copy Token Path
+          </ContextMenu.Item>
+          <ContextMenu.Item onSelect={handleDeleteClick} disabled={!canEdit}>
+            Delete Token
+          </ContextMenu.Item>
+        </ContextMenu.Content>
+      </ContextMenu.Portal>
+    </ContextMenu>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html new file mode 100644 index 000000000..b2532c123 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/app/components/MoreButton/MoreButtonProperty.tsx + + + + + + + + + +
+
+

All files / src/app/components/MoreButton MoreButtonProperty.tsx

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { CheckIcon } from '@radix-ui/react-icons';
+import {
+  ContextMenu,
+} from '@tokens-studio/ui';
+import { PropertyObject } from '@/types/properties';
+import { mainNodeSelectionValuesSelector } from '@/selectors';
+ 
+type Props = {
+  value: string;
+  property: PropertyObject;
+  onClick: (properties: PropertyObject, isActive: boolean) => void;
+  disabled?: boolean;
+};
+ 
+export const MoreButtonProperty: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  value, property, onClick, disabled = false,
+}) => {
+  const mainNodeSelectionValues = useSelector(mainNodeSelectionValuesSelector);
+  const isActive = React.useMemo(() => (
+    mainNodeSelectionValues[property.name] === value
+  ), [value, property, mainNodeSelectionValues]);
+  const handleClick = React.useCallback((e: any) => {
+    e.preventDefault();
+    onClick(property, isActive);
+  }, [property, isActive, onClick]);
+ 
+  return (
+    <ContextMenu.CheckboxItem
+      key={property.label}
+      checked={isActive}
+      onSelect={handleClick}
+      disabled={disabled}
+    >
+      <ContextMenu.ItemIndicator>
+        <CheckIcon />
+      </ContextMenu.ItemIndicator>
+      {property.label}
+    </ContextMenu.CheckboxItem>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html new file mode 100644 index 000000000..29309384d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/components/MoreButton + + + + + + + + + +
+
+

All files src/app/components/MoreButton

+
+ +
+ 0% + Statements + 0/60 +
+ + +
+ 0% + Branches + 0/19 +
+ + +
+ 0% + Functions + 0/21 +
+ + +
+ 0% + Lines + 0/57 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
MoreButton.tsx +
+
0%0/520%0/180%0/180%0/49
MoreButtonProperty.tsx +
+
0%0/80%0/10%0/30%0/8
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html new file mode 100644 index 000000000..7a17d2585 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/MoreButton/index.ts + + + + + + + + + +
+
+

All files / src/app/components/MoreButton index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './MoreButton';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html new file mode 100644 index 000000000..9d7004b75 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/app/components/MultiSelectCheckboxItem.tsx + + + + + + + + + +
+
+

All files / src/app/components MultiSelectCheckboxItem.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Check } from 'iconoir-react';
+import { DropdownMenu } from '@tokens-studio/ui';
+import Box from './Box';
+ 
+type Props = {
+  item: string;
+  isSelected: boolean;
+  onItemSelected: (selectedItem: string) => void;
+};
+ 
+export const MultiSelectCheckboxItem: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  item,
+  isSelected,
+  onItemSelected,
+}) => {
+  const handleSelect = React.useCallback(() => {
+    onItemSelected(item);
+  }, [item, onItemSelected]);
+ 
+  return (
+    <DropdownMenu.CheckboxItem
+      checked={isSelected}
+      onSelect={handleSelect}
+      css={{ display: 'flex', padding: '$3 0' }}
+    >
+      <Box css={{ width: '$5' }}>
+        <DropdownMenu.ItemIndicator css={{ position: 'inherit' }}>
+          <Check />
+        </DropdownMenu.ItemIndicator>
+      </Box>
+      <Box>
+        {item}
+      </Box>
+    </DropdownMenu.CheckboxItem>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html new file mode 100644 index 000000000..59f152327 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/app/components/MultiSelectDropdown.tsx + + + + + + + + + +
+
+

All files / src/app/components MultiSelectDropdown.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useUIDSeed } from 'react-uid';
+import { DropdownMenu, Button } from '@tokens-studio/ui';
+ 
+import { MultiSelectCheckboxItem } from './MultiSelectCheckboxItem';
+ 
+type Props = {
+  menuItems: string[];
+  selectedItems: string[]
+  handleSelectedItemChange: (selectedItems: string[]) => void
+};
+ 
+export const MultiSelectDropdown: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  menuItems,
+  selectedItems,
+  handleSelectedItemChange,
+}) => {
+  const seed = useUIDSeed();
+  const selectedItemsString = React.useMemo(() => selectedItems.join(','), [selectedItems]);
+ 
+  const handleSelectedItem = React.useCallback((selectedItem: string) => {
+    if (selectedItems.includes(selectedItem)) {
+      const newSelectedItems = selectedItems.filter((item) => item !== selectedItem);
+      handleSelectedItemChange(newSelectedItems);
+    } else {
+      const newSelectedItems = [...selectedItems, selectedItem];
+      handleSelectedItemChange(newSelectedItems);
+    }
+  }, [selectedItems, handleSelectedItemChange]);
+ 
+  return (
+    <DropdownMenu>
+      <DropdownMenu.Trigger asChild>
+        <Button asDropdown>
+          {selectedItemsString}
+        </Button>
+      </DropdownMenu.Trigger>
+      <DropdownMenu.Portal>
+        <DropdownMenu.Content side="bottom" className="content scroll-container" css={{ maxHeight: 'clamp(100px, 30vh, 500px)' }}>
+          {
+          menuItems.map((menuItem, index) => <MultiSelectCheckboxItem key={`multi_checkbox_${seed(index)}`} item={menuItem} isSelected={selectedItems.includes(menuItem)} onItemSelected={handleSelectedItem} />)
+        }
+        </DropdownMenu.Content>
+      </DropdownMenu.Portal>
+    </DropdownMenu>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html new file mode 100644 index 000000000..1b7c8dbe3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/app/components/Navbar.tsx + + + + + + + + + +
+
+

All files / src/app/components Navbar.tsx

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { IconButton } from '@tokens-studio/ui';
+import Box from './Box';
+import { Tabs } from '@/constants/Tabs';
+import Stack from './Stack';
+import { TabButton } from './TabButton';
+import { NavbarUndoButton } from './NavbarUndoButton';
+import Minimize from '@/icons/minimize.svg';
+import IconSecondScreenOn from '@/icons/second-screen-on.svg';
+import IconSecondScreenOff from '@/icons/second-screen-off.svg';
+import IconSecondScreenIndeterminate from '@/icons/second-screen-indeterminate.svg';
+import useMinimizeWindow from './useMinimizeWindow';
+import { activeTabSelector } from '@/selectors';
+import { Dispatch } from '../store';
+import TokenFlowButton from './TokenFlowButton';
+import { secondScreenSelector } from '@/selectors/secondScreenSelector';
+import { licenseKeySelector } from '@/selectors/licenseKeySelector';
+import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
+import { useAuth } from '@/context/AuthContext';
+ 
+const Navbar: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => {
+  const { user } = useAuth();
+  const activeTab = useSelector(activeTabSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const { handleResize } = useMinimizeWindow();
+  const { t } = useTranslation(['navbar']);
+  const existingKey = useSelector(licenseKeySelector);
+  const licenseKeyError = useSelector(licenseKeyErrorSelector);
+  const secondScreenisEnabled = useSelector(secondScreenSelector);
+ 
+  const handleSwitch = useCallback(
+    (tab: Tabs) => {
+      dispatch.uiState.setActiveTab(tab);
+    },
+    [dispatch.uiState],
+  );
+ 
+  const secondScreenIcon = useMemo(() => {
+    if (user && secondScreenisEnabled) return <IconSecondScreenOn />;
+    if (user && secondScreenisEnabled === false) return <IconSecondScreenOff />;
+    return <IconSecondScreenIndeterminate />;
+  }, [secondScreenisEnabled, user]);
+ 
+  const switchToSecondScreen = useCallback(() => {
+    dispatch.uiState.setActiveTab(Tabs.SECONDSCREEN);
+  }, [dispatch.uiState]);
+ 
+  return (
+    <Box
+      css={{
+        position: 'sticky',
+        top: 0,
+        display: 'flex',
+        alignItems: 'center',
+        justifyContent: 'space-between',
+        background: '$bgDefault',
+        borderBottom: '1px solid $borderMuted',
+        zIndex: 1,
+        transform: 'translateY(-1px)',
+      }}
+    >
+      <Stack gap={0} direction="row" align="center" justify="between">
+        <Stack gap={0} direction="row" align="center" justify="start">
+          <TabButton name={Tabs.TOKENS} activeTab={activeTab} label={t('tokens')} onSwitch={handleSwitch} />
+          <TabButton name={Tabs.INSPECTOR} activeTab={activeTab} label={t('inspect')} onSwitch={handleSwitch} />
+          <TabButton name={Tabs.SETTINGS} activeTab={activeTab} label={t('settings')} onSwitch={handleSwitch} />
+        </Stack>
+        <NavbarUndoButton />
+      </Stack>
+      <Stack direction="row" align="center" justify="end" gap={1} css={{ paddingRight: '$2', flexBasis: 'min-content' }}>
+        { (existingKey && !licenseKeyError) && <IconButton size="small" variant="invisible" icon={secondScreenIcon} tooltip="Second Screen" onClick={switchToSecondScreen} />}
+        <TokenFlowButton />
+        <IconButton size="small" variant="invisible" tooltip={t('minimize') as string} onClick={handleResize} icon={<Minimize />} />
+      </Stack>
+    </Box>
+  );
+};
+ 
+export default Navbar;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html new file mode 100644 index 000000000..c7c5388e5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/app/components/NavbarUndoButton/NavbarUndoButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/NavbarUndoButton NavbarUndoButton.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import IconUndo from '@/icons/undo.svg';
+import { useCanUndo } from '../../hooks/useCanUndo';
+import { styled } from '@/stitches.config';
+import { UndoableEnhancerState } from '@/app/enhancers/undoableEnhancer/UndoableEnhancerState';
+import Tooltip from '../Tooltip';
+import { useActionsHistory } from '@/app/hooks/useActionsHistory';
+import { AnyAction } from '@/types/redux';
+ 
+const StyledUndoButton = styled('button', {
+  padding: '$4',
+  marginLeft: 'auto',
+});
+ 
+const StyledUndoIcon = styled(IconUndo, {
+  width: '12px',
+  height: '12px',
+});
+ 
+const actionLabels: Partial<Record<AnyAction<true>['type'], string>> = {
+  'tokenState/deleteToken': 'Delete token',
+  'tokenState/duplicateToken': 'Duplicate token',
+  'tokenState/createToken': 'Create token',
+};
+ 
+export const NavbarUndoButton: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => {
+  const canUndo = useCanUndo();
+  const actionsHistory = useActionsHistory();
+ 
+  const handleUndo = useCallback(() => {
+    UndoableEnhancerState.undo();
+  }, []);
+ 
+  if (canUndo && actionsHistory.length) {
+    return (
+      <Tooltip label={`Undo "${actionLabels[actionsHistory[actionsHistory.length - 1].action.type]}"`}>
+        <StyledUndoButton type="button" onClick={handleUndo}>
+          <StyledUndoIcon />
+        </StyledUndoButton>
+      </Tooltip>
+    );
+  }
+ 
+  return null;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html new file mode 100644 index 000000000..d039198c7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/NavbarUndoButton + + + + + + + + + +
+
+

All files src/app/components/NavbarUndoButton

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
NavbarUndoButton.tsx +
+
0%0/110%0/40%0/20%0/11
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html new file mode 100644 index 000000000..035fcadd8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/NavbarUndoButton/index.ts + + + + + + + + + +
+
+

All files / src/app/components/NavbarUndoButton index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export { NavbarUndoButton } from './NavbarUndoButton';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html new file mode 100644 index 000000000..419b090ca --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/app/components/OnboardingExplainer.tsx + + + + + + + + + +
+
+

All files / src/app/components OnboardingExplainer.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { InfoCircledIcon, Cross1Icon } from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import {
+  Link, IconButton, Heading, Box, Stack,
+} from '@tokens-studio/ui';
+import { styled } from '@/stitches.config';
+ 
+const StyledInfoIconButton = styled(InfoCircledIcon, {
+  color: '$accentDefault',
+});
+ 
+const StyledTextPlan = styled('p', {
+  fontWeight: '$sansRegular',
+  color: '$fgDefault',
+  fontSize: '$xsmall',
+});
+ 
+type Props = {
+  data: {
+    title: string,
+    text: string,
+    url: string,
+  };
+  closeOnboarding: () => void;
+};
+ 
+export default function OnboardingExplainer({ data, closeOnboarding }: Props) {
+  const { t } = useTranslation(['general']);
+  return (
+    <Box css={data.title === 'Sets' ? {
+      display: 'flex', flexDirection: 'column', gap: '$2', padding: '$4', borderTop: '1px solid $borderMuted', borderBottom: '1px solid $borderMuted',
+    } : {
+      display: 'flex', flexDirection: 'column', gap: '$2', padding: '$4', border: '1px solid $borderSubtle', borderRadius: '$medium',
+    }}
+    >
+      <Stack direction="row" gap={2} justify="between">
+        <Stack direction="row" justify="between" gap={2} align="center">
+          <StyledInfoIconButton />
+          <Heading size="small">{data.title}</Heading>
+        </Stack>
+        <IconButton variant="invisible" size="small" data-testid="closeButton" onClick={closeOnboarding} icon={<Cross1Icon />} />
+      </Stack>
+      <StyledTextPlan>
+        {data.text}
+      </StyledTextPlan>
+      <Link href={data.url} target="_blank" rel="noreferrer">
+        {t('readMore')}
+      </Link>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html new file mode 100644 index 000000000..1067dd193 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html @@ -0,0 +1,478 @@ + + + + + + Code coverage report for src/app/components/OnboardingFlow.tsx + + + + + + + + + +
+
+

All files / src/app/components OnboardingFlow.tsx

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable global-require */
+import React from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { Button, Heading } from '@tokens-studio/ui';
+import Text from './Text';
+import Modal from './Modal';
+import { getLastopened } from '@/selectors';
+import Stack from './Stack';
+import { styled } from '@/stitches.config';
+ 
+const StyledLink = styled('a', {
+  display: 'inline-flex',
+  fontSize: '$1',
+  color: '$accentDefault',
+});
+ 
+const StyledImage = styled('img', {
+  borderRadius: '$medium',
+  marginBottom: '$3',
+});
+ 
+function fetchOnboardingImage(idx: number) {
+  switch (idx) {
+    case 0:
+      return require('../assets/onboardingflow/0.webp');
+    case 1:
+      return require('../assets/onboardingflow/1.webp');
+    case 2:
+      return require('../assets/onboardingflow/2.webp');
+    case 3:
+      return require('../assets/onboardingflow/3.webp');
+    case 4:
+      return require('../assets/onboardingflow/4.webp');
+    default:
+      return '';
+  }
+}
+ 
+export default function OnboardingFlow() {
+  const { t } = useTranslation(['onBoarding']);
+  const onboardingflow = [
+    {
+      title: 'welcome',
+      excerpt: 'welcomeText',
+    },
+    {
+      title: 'createTokens',
+      excerpt: 'createTokensText',
+      read_more_link: 'https://docs.tokens.studio/tokens/creating-tokens',
+    },
+    {
+      title: 'reference',
+      excerpt: 'referenceText',
+      read_more_link: 'https://docs.tokens.studio/tokens/aliases',
+    },
+    {
+      title: 'apply',
+      excerpt: 'applyText',
+      read_more_link: 'https://docs.tokens.studio/tokens/applying-tokens',
+    },
+    {
+      title: 'knowMore',
+      excerpt: 'knowMoreText',
+      read_more_link: 'https://docs.tokens.studio',
+    },
+  ];
+ 
+  const [onboardingFlowOpen, setOnboardingFlowOpen] = React.useState(true);
+  const [activeIndex, setIndex] = React.useState(0);
+ 
+  const lastOpened = useSelector(getLastopened);
+ 
+  const handleNext = React.useCallback(() => {
+    setIndex(activeIndex + 1);
+  }, [activeIndex]);
+ 
+  const handlePrev = React.useCallback(() => {
+    setIndex(activeIndex - 1);
+  }, [activeIndex]);
+ 
+  const handleClose = React.useCallback(() => {
+    setOnboardingFlowOpen(false);
+  }, []);
+ 
+  return (
+    <Modal showClose isOpen={lastOpened === 0 && onboardingFlowOpen} close={handleClose}>
+      <Stack direction="column" gap={4}>
+        {onboardingflow.map((item, index) => (
+          <Stack
+            // eslint-disable-next-line react/no-array-index-key
+            key={`onboarding-${index}`}
+            direction="column"
+            gap={3}
+            align="start"
+            css={{ textAlign: 'left', display: index === activeIndex ? 'flex' : 'none' }}
+          >
+            <StyledImage src={fetchOnboardingImage(index)} alt="" />
+            <Heading size="medium">{t(item.title)}</Heading>
+            <Text size="small">{t(item.excerpt)}</Text>
+            {item.read_more_link && (
+              <StyledLink
+                target="_blank"
+                rel="noreferrer"
+                href={item.read_more_link}
+              >
+                {t('readMore')}
+              </StyledLink>
+            )}
+          </Stack>
+        ))}
+        <Stack direction="row" gap={2} justify={activeIndex > 1 ? 'between' : 'end'}>
+          {activeIndex > 1 && (
+            <Button data-testid="button-changelog-prev" onClick={handlePrev} variant="secondary">
+              {t('previous')}
+            </Button>
+          )}
+          {onboardingflow.length > activeIndex + 1 ? (
+            <Button data-testid="button-changelog-next" variant="primary" onClick={handleNext}>
+              {t('next')}
+            </Button>
+          ) : (
+            <Button data-testid="button-changelog-close" variant="primary" onClick={handleClose}>
+              {t('close')}
+            </Button>
+          )}
+        </Stack>
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html new file mode 100644 index 000000000..3c234f483 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/app/components/PluginResizer.tsx + + + + + + + + + +
+
+

All files / src/app/components PluginResizer.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { IconButton } from '@tokens-studio/ui';
+import Maximize from '@/icons/maximize.svg';
+import useMinimizeWindow from './useMinimizeWindow';
+import Box from './Box';
+ 
+type Props = {
+  children: React.ReactElement;
+};
+ 
+const PluginResizerWrapper: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ children }) => {
+  const { isPluginminimized, handleResize } = useMinimizeWindow();
+ 
+  return isPluginminimized ? (
+    <Box css={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
+      <IconButton size="large" onClick={handleResize} variant="invisible" icon={<Maximize />} />
+    </Box>
+  ) : (
+    children
+  );
+};
+export default PluginResizerWrapper;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html new file mode 100644 index 000000000..9c3932be2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/app/components/PresetProvider/DefaultPreset.tsx + + + + + + + + + +
+
+

All files / src/app/components/PresetProvider DefaultPreset.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch } from 'react-redux';
+import {
+  Button, Heading, Stack, Text,
+} from '@tokens-studio/ui';
+import { Dispatch } from '@/app/store';
+import { track } from '@/utils/analytics';
+ 
+type Props = {
+  onCancel: () => void;
+};
+ 
+export default function DefaultPreset({ onCancel }: Props) {
+  const dispatch = useDispatch<Dispatch>();
+  const handleSetDefault = React.useCallback(() => {
+    track('Load preset');
+    dispatch.tokenState.setDefaultTokens();
+    onCancel();
+  }, [dispatch, onCancel]);
+ 
+  return (
+    <Stack direction="column" gap={4}>
+      <Stack direction="column" gap={2}>
+        <Heading size="small">
+          Override your current tokens by applying a preset.
+        </Heading>
+        <Text>The preset contains a wide variety of tokens and some token sets to give you an idea of what you can do. Warning: This will override your tokens!</Text>
+      </Stack>
+      <Stack direction="row" gap={3} justify="end">
+        <Button variant="secondary" onClick={onCancel}>
+          Cancel
+        </Button>
+        <Button variant="primary" onClick={handleSetDefault}>
+          Load Preset
+        </Button>
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html new file mode 100644 index 000000000..3e86e1635 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html @@ -0,0 +1,367 @@ + + + + + + Code coverage report for src/app/components/PresetProvider/FilePreset.tsx + + + + + + + + + +
+
+

All files / src/app/components/PresetProvider FilePreset.tsx

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import {
+  Button, Heading, Stack, Text,
+} from '@tokens-studio/ui';
+import { DeepTokensMap, ThemeObjectsList } from '@/types';
+import { SingleToken } from '@/types/tokens';
+import {
+  usedTokenSetSelector,
+  activeThemeSelector,
+} from '@/selectors';
+import useRemoteTokens from '../../store/remoteTokens';
+import { track } from '@/utils/analytics';
+ 
+declare module 'react' {
+  interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
+    // extends React's HTMLAttributes
+    directory?: string;
+    webkitdirectory?: string;
+  }
+}
+ 
+export type SingleFileObject = Record<string, (
+  Record<string, SingleToken<false> | DeepTokensMap<false>>
+)> & {
+  $themes?: ThemeObjectsList
+};
+ 
+type Props = {
+  onCancel: () => void;
+};
+ 
+export default function FilePreset({ onCancel }: Props) {
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const hiddenFileInput = React.useRef<HTMLInputElement>(null);
+  const hiddenDirectoryInput = React.useRef<HTMLInputElement>(null);
+  const { fetchTokensFromFileOrDirectory } = useRemoteTokens();
+ 
+  const handleFileButtonClick = React.useCallback(() => {
+    track('Import', { type: 'file' });
+    hiddenFileInput.current?.click();
+  }, [hiddenFileInput]);
+ 
+  const handleDirectoryButtonClick = React.useCallback(() => {
+    track('Import', { type: 'directory' });
+    hiddenDirectoryInput.current?.click();
+  }, [hiddenDirectoryInput]);
+ 
+  const handleFileOrDirectoryChange = React.useCallback(async (event: React.ChangeEvent<HTMLInputElement>) => {
+    const { files } = event.target;
+ 
+    await fetchTokensFromFileOrDirectory({ files, usedTokenSet, activeTheme });
+    onCancel();
+  }, [fetchTokensFromFileOrDirectory, onCancel, activeTheme, usedTokenSet]);
+ 
+  return (
+    <Stack direction="column" gap={4}>
+      <Stack direction="column" gap={2}>
+        <Heading size="small">
+          Import your existing tokens JSON files into the plugin.
+        </Heading>
+        <Text>
+          If you&lsquo;re using a single file, the first-level keys should be the token set names. If you&lsquo;re using multiple files, the file name / path are the set names.
+        </Text>
+      </Stack>
+      <Stack direction="row" gap={3} justify="end">
+        <Button variant="secondary" onClick={onCancel}>
+          Cancel
+        </Button>
+        <Button variant="primary" onClick={handleFileButtonClick}>
+          Choose file
+        </Button>
+        <input
+          type="file"
+          ref={hiddenFileInput}
+          style={{ display: 'none' }}
+          onChange={handleFileOrDirectoryChange}
+          accept=".json"
+        />
+        <Button variant="primary" onClick={handleDirectoryButtonClick}>
+          Choose folder
+        </Button>
+        <input
+          type="file"
+          ref={hiddenDirectoryInput}
+          style={{ display: 'none' }}
+          onChange={handleFileOrDirectoryChange}
+          webkitdirectory=""
+        />
+      </Stack>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html new file mode 100644 index 000000000..64aac8883 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/PresetProvider + + + + + + + + + +
+
+

All files src/app/components/PresetProvider

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DefaultPreset.tsx +
+
0%0/6100%0/00%0/20%0/6
FilePreset.tsx +
+
0%0/16100%0/00%0/40%0/16
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html new file mode 100644 index 000000000..722ea5814 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/app/components/ProBadge.tsx + + + + + + + + + +
+
+

All files / src/app/components ProBadge.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { styled } from '@/stitches.config';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+ 
+export const StyledProBadge = styled('a', {
+  display: 'inline-flex',
+  alignItems: 'center',
+  justifyContent: 'center',
+  fontSize: '$xxsmall',
+  padding: '$2',
+  borderRadius: '$medium',
+  backgroundColor: '$proBg',
+  lineHeight: 1,
+  color: '$proFg',
+  fontWeight: '$sansBold',
+  textTransform: 'uppercase',
+  border: '1px solid transparent',
+ 
+  '&:hover, &:focus': {
+    borderColor: '$proBorder',
+  },
+});
+ 
+type Props = {
+  readonly compact?: boolean;
+  readonly campaign: string;
+};
+ 
+export default function ProBadge({ compact, campaign }: Props) {
+  const isProUser = useIsProUser();
+  const { t } = useTranslation(['licence']);
+ 
+  const link = `https://tokens.studio/pro?ref=figma-plugin&utm_source=figma-plugin&utm_medium=pro-badge&utm_campaign=${campaign}`;
+ 
+  return (
+    <StyledProBadge href={link} target="_blank">
+      {isProUser || compact ? t('pro') : t('getPro')}
+    </StyledProBadge>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html new file mode 100644 index 000000000..fbe84b735 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/app/components/PullDialog.tsx + + + + + + + + + +
+
+

All files / src/app/components PullDialog.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Heading, Spinner, Stack,
+} from '@tokens-studio/ui';
+import { storageTypeSelector } from '@/selectors';
+import usePullDialog from '../hooks/usePullDialog';
+import Modal from './Modal';
+ 
+import { transformProviderName } from '@/utils/transformProviderName';
+import ChangedStateList from './ChangedStateList';
+ 
+function PullDialog() {
+  const { onConfirm, onCancel, pullDialogMode } = usePullDialog();
+  const storageType = useSelector(storageTypeSelector);
+ 
+  const { t } = useTranslation(['sync']);
+ 
+  const handleOverrideClick = React.useCallback(() => {
+    onConfirm();
+  }, [onConfirm]);
+ 
+  const handleClose = React.useCallback(() => {
+    onCancel();
+  }, [onCancel]);
+ 
+  switch (pullDialogMode) {
+    case 'initial': {
+      return (
+        <Modal
+          title={t('pullFrom', { provider: transformProviderName(storageType.provider) })}
+          showClose
+          full
+          size="large"
+          isOpen
+          close={onCancel}
+          stickyFooter
+          footer={(
+            <Stack direction="row" gap={4} justify="between">
+              <Button variant="secondary" id="pullDialog-button-close" onClick={handleClose}>
+                {t('cancel')}
+              </Button>
+              <Button variant="primary" id="pullDialog-button-override" onClick={handleOverrideClick}>
+                {t('pullTokens')}
+              </Button>
+            </Stack>
+          )}
+        >
+          <Stack direction="row" gap={2} css={{ padding: '$4', paddingBottom: 0 }}>
+            {t('override')}
+          </Stack>
+          <ChangedStateList type="pull" />
+        </Modal>
+      );
+    }
+    case 'loading': {
+      return (
+        <Modal isOpen close={onCancel}>
+          <Stack direction="column" gap={4} justify="center" align="center" css={{ padding: '$4 0' }}>
+            <Spinner />
+            <Heading size="medium">{t('pullFrom', { provider: transformProviderName(storageType.provider) })}</Heading>
+          </Stack>
+        </Modal>
+      );
+    }
+    default: {
+      return null;
+    }
+  }
+}
+export default PullDialog;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html new file mode 100644 index 000000000..696f9861d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html @@ -0,0 +1,805 @@ + + + + + + Code coverage report for src/app/components/PushDialog.tsx + + + + + + + + + +
+
+

All files / src/app/components PushDialog.tsx

+
+ +
+ 0% + Statements + 0/46 +
+ + +
+ 0% + Branches + 0/76 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { useSelector } from 'react-redux';
+import {
+  Button, Heading, Spinner, Stack, Text, ToggleGroup,
+} from '@tokens-studio/ui';
+import { localApiStateSelector, storageTypeSelector } from '@/selectors';
+import usePushDialog from '../hooks/usePushDialog';
+import { getBitbucketCreatePullRequestUrl } from '../store/providers/bitbucket';
+import { getGithubCreatePullRequestUrl } from '../store/providers/github';
+import { getGitlabCreatePullRequestUrl } from '../store/providers/gitlab';
+import { getADOCreatePullRequestUrl } from '../store/providers/ado';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { isGitProvider } from '@/utils/is';
+import { useShortcut } from '@/hooks/useShortcut';
+import { transformProviderName } from '@/utils/transformProviderName';
+import ChangedStateList from './ChangedStateList';
+import PushJSON from './PushJSON';
+import PushSettingForm from './PushSettingForm';
+import { getSupernovaOpenCloud } from '../store/providers/supernova/getSupernovaOpenCloud';
+import Modal from './Modal';
+ 
+export enum PushDialogTabs {
+  COMMIT = 'commit',
+  DIFF = 'diff',
+  JSON = 'json',
+}
+ 
+function PushDialog() {
+  const { onConfirm, onCancel, showPushDialog } = usePushDialog();
+  const { t } = useTranslation(['sync']);
+  const localApiState = useSelector(localApiStateSelector);
+  const storageType = useSelector(storageTypeSelector);
+  const [commitMessage, setCommitMessage] = React.useState('');
+  const [branch, setBranch] = React.useState((isGitProvider(localApiState) ? localApiState.branch : '') || '');
+  const [activeTab, setActiveTab] = React.useState(PushDialogTabs.COMMIT);
+ 
+  const handleToggleValueChange = React.useCallback((value: PushDialogTabs) => {
+    if (value) setActiveTab(value);
+  }, []);
+ 
+  const redirectHref = React.useMemo(() => {
+    let redirectHref = '';
+    if (localApiState && 'id' in localApiState && localApiState.id) {
+      switch (localApiState.provider) {
+        case StorageProviderType.GITHUB:
+          redirectHref = getGithubCreatePullRequestUrl({
+            base: localApiState.baseUrl,
+            repo: localApiState.id,
+            branch,
+          });
+          break;
+        case StorageProviderType.BITBUCKET:
+          redirectHref = getBitbucketCreatePullRequestUrl({
+            base: localApiState.baseUrl,
+            repo: localApiState.id,
+            branch,
+          });
+          break;
+        case StorageProviderType.GITLAB: {
+          redirectHref = getGitlabCreatePullRequestUrl(localApiState.id, localApiState.baseUrl);
+          break;
+        }
+        case StorageProviderType.ADO:
+          redirectHref = getADOCreatePullRequestUrl({
+            branch,
+            projectId: localApiState.name,
+            orgUrl: localApiState.baseUrl,
+            repositoryId: localApiState.id,
+          });
+          break;
+        default:
+          break;
+      }
+    } else if (localApiState.provider === StorageProviderType.SUPERNOVA) {
+      redirectHref = getSupernovaOpenCloud(localApiState.designSystemUrl);
+    }
+    return redirectHref;
+  }, [branch, localApiState]);
+ 
+  const handleCommitMessageChange = React.useCallback(
+    (val: string) => {
+      setCommitMessage(val);
+    },
+    [setCommitMessage],
+  );
+ 
+  const handleBranchChange = React.useCallback(
+    (event: React.ChangeEvent<HTMLInputElement>) => {
+      setBranch(event.target.value);
+    },
+    [setBranch],
+  );
+ 
+  React.useEffect(() => {
+    if (showPushDialog?.state === 'initial' && isGitProvider(localApiState)) {
+      setCommitMessage(showPushDialog?.overrides?.commitMessage ?? '');
+      setBranch(showPushDialog?.overrides?.branch ?? localApiState.branch ?? '');
+    }
+  }, [showPushDialog, localApiState]);
+ 
+  const handlePushChanges = React.useCallback(() => {
+    if (localApiState.provider === StorageProviderType.SUPERNOVA || (commitMessage && branch)) {
+      onConfirm(commitMessage, branch);
+    }
+  }, [branch, commitMessage, onConfirm, localApiState]);
+ 
+  const handleSaveShortcut = React.useCallback(
+    (event: KeyboardEvent) => {
+      if (showPushDialog?.state === 'initial' && (event.metaKey || event.ctrlKey)) {
+        handlePushChanges();
+      }
+    },
+    [handlePushChanges, showPushDialog],
+  );
+ 
+  useShortcut(['Enter'], handleSaveShortcut);
+ 
+  switch (showPushDialog?.state) {
+    case 'dtcgconversion':
+    case 'initial': {
+      return (
+        <Modal
+          full
+          title={t('pushTo', { provider: transformProviderName(storageType.provider) })}
+          showClose
+          isOpen
+          close={onCancel}
+          stickyFooter
+          footer={(
+            <Stack direction="row" justify="end" gap={4}>
+              <Button variant="secondary" data-testid="push-dialog-button-close" onClick={onCancel}>
+                {t('cancel')}
+              </Button>
+              <Button
+                variant="primary"
+                data-testid="push-dialog-button-push-changes"
+                disabled={localApiState.provider !== StorageProviderType.SUPERNOVA && (!commitMessage || !branch)}
+                onClick={handlePushChanges}
+              >
+                {t('pushChanges')}
+              </Button>
+            </Stack>
+          )}
+        >
+          <Stack direction="column" align="start">
+            <ToggleGroup type="single" value={activeTab} onValueChange={handleToggleValueChange} css={{ marginLeft: '$3', marginTop: '$3' }}>
+              <ToggleGroup.Item iconOnly={false} value={PushDialogTabs.COMMIT}>
+                {t('commit')}
+              </ToggleGroup.Item>
+              <ToggleGroup.Item iconOnly={false} value={PushDialogTabs.DIFF}>
+                {t('diff')}
+              </ToggleGroup.Item>
+              <ToggleGroup.Item iconOnly={false} value={PushDialogTabs.JSON}>
+                JSON
+              </ToggleGroup.Item>
+            </ToggleGroup>
+            {activeTab !== 'commit' && localApiState.provider === StorageProviderType.SUPERNOVA && (
+              <Stack direction="row" gap={2} align="center" css={{ display: 'inline', padding: '$4' }}>
+                {t('thisWillPushYourLocalChangesToTheBranch')}
+                {' '}
+                <Text
+                  bold
+                  css={{
+                    display: 'inline',
+                    whiteSpace: 'nowrap',
+                    background: '$bgSubtle',
+                    padding: '$2',
+                  }}
+                >
+                  {branch}
+                </Text>
+              </Stack>
+            )}
+            {activeTab === 'commit' && (
+              <PushSettingForm
+                commitMessage={commitMessage}
+                branch={branch}
+                handleBranchChange={handleBranchChange}
+                handleCommitMessageChange={handleCommitMessageChange}
+              />
+            )}
+            {activeTab === 'diff' && <ChangedStateList type="push" />}
+            {activeTab === 'json' && <PushJSON />}
+          </Stack>
+        </Modal>
+      );
+    }
+    case 'loading': {
+      return (
+        <Modal isOpen close={onCancel}>
+          <Stack direction="column" gap={4} justify="center" align="center" css={{ padding: '$4 0' }}>
+            <Spinner />
+            <Heading size="medium">
+              {t('pushingTo')}
+              {localApiState.provider === StorageProviderType.GITHUB && ' GitHub'}
+              {localApiState.provider === StorageProviderType.GITLAB && ' GitLab'}
+              {localApiState.provider === StorageProviderType.BITBUCKET && ' Bitbucket'}
+              {localApiState.provider === StorageProviderType.ADO && ' ADO'}
+              {localApiState.provider === StorageProviderType.SUPERNOVA && ' Supernova.io'}
+            </Heading>
+          </Stack>
+        </Modal>
+      );
+    }
+    case 'success': {
+      return (
+        <Modal isOpen close={onCancel}>
+          <Stack direction="column" align="center" gap={6} css={{ textAlign: 'center', padding: '$4 0' }}>
+            <Stack direction="column" gap={4}>
+              <Heading data-testid="push-dialog-success-heading" size="medium">
+                All done!
+              </Heading>
+              <Text size="small">
+                {t('changesPushedTo')}
+                {localApiState.provider === StorageProviderType.GITHUB && ' GitHub'}
+                {localApiState.provider === StorageProviderType.GITLAB && ' GitLab'}
+                {localApiState.provider === StorageProviderType.BITBUCKET && ' Bitbucket'}
+                {localApiState.provider === StorageProviderType.ADO && ' ADO'}
+                {localApiState.provider === StorageProviderType.SUPERNOVA && ' Supernova.io'}
+              </Text>
+            </Stack>
+            {/* @ts-ignore Exception for Button to accept target */}
+            <Button as="a" target="_blank" rel="noopener noreferrer" variant="primary" href={redirectHref}>
+              {localApiState.provider === StorageProviderType.SUPERNOVA ? (
+                <>{t('openSupernovaWorkspace')}</>
+              ) : (
+                <>{t('createPullRequest')}</>
+              )}
+            </Button>
+          </Stack>
+        </Modal>
+      );
+    }
+    default: {
+      return null;
+    }
+  }
+}
+export default PushDialog;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html new file mode 100644 index 000000000..99ba93000 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/app/components/PushDialogSupernovaConfirm.tsx + + + + + + + + + +
+
+

All files / src/app/components PushDialogSupernovaConfirm.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { Heading } from '@tokens-studio/ui';
+import Box from './Box';
+import Text from './Text';
+import Stack from './Stack';
+ 
+type Props = {
+  designSystemUrl: string | undefined;
+};
+ 
+function PushDialogSupernovaConfirm({ designSystemUrl }: Props) {
+  const { t } = useTranslation(['sync']);
+ 
+  return (
+    <Stack direction="column" gap={3} css={{ padding: '0 $4' }}>
+      <Text size="small">{t('pushYourLocalChangesToYourSupernovaIoDesignSystem')}</Text>
+      <Heading size="small">{t('designSystem')}</Heading>
+      <Box
+        css={{
+          padding: '$2',
+          fontFamily: '$mono',
+          color: '$fgMuted',
+          background: '$bgSubtle',
+          borderRadius: '$medium',
+        }}
+      >
+        {designSystemUrl || t('designSystem')}
+      </Box>
+    </Stack>
+  );
+}
+export default PushDialogSupernovaConfirm;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html new file mode 100644 index 000000000..e5b6410fc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html @@ -0,0 +1,343 @@ + + + + + + Code coverage report for src/app/components/PushJSON.tsx + + + + + + + + + +
+
+

All files / src/app/components PushJSON.tsx

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/21 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import Stack from './Stack';
+import ChangeStateListingHeading from './ChangeStateListingHeading';
+import { storeTokenIdInJsonEditorSelector, themesListSelector, tokensSelector } from '@/selectors';
+import stringifyTokens from '@/utils/stringifyTokens';
+import { styled } from '@/stitches.config';
+ 
+const StyledJSONContent = styled('pre', {
+  padding: '$2 0',
+  whiteSpace: 'pre-wrap',
+  overflow: 'hiden',
+});
+ 
+function PushJSON() {
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const [collapsed, setCollapsed] = React.useState(false);
+  const [collapsedChangedStateList, setCollapsedChangedStateList] = React.useState<Array<string>>([]);
+ 
+  const handleSetIntCollapsed = React.useCallback((e: React.MouseEvent<HTMLButtonElement>, tokenSet: string) => {
+    e.stopPropagation();
+    if (e.altKey) {
+      if (collapsed) {
+        setCollapsedChangedStateList([]);
+      } else {
+        const collapsedStateSetList = [...Object.keys(tokens), '$themes', '$metadata'];
+        setCollapsedChangedStateList(collapsedStateSetList);
+      }
+      setCollapsed(!collapsed);
+    } else if (collapsedChangedStateList.includes(tokenSet)) {
+      setCollapsedChangedStateList(collapsedChangedStateList.filter((item) => item !== tokenSet));
+    } else {
+      setCollapsedChangedStateList([...collapsedChangedStateList, tokenSet]);
+    }
+  }, [collapsedChangedStateList, tokens, collapsed]);
+ 
+  return (
+    <Stack
+      direction="column"
+      gap={1}
+      css={{ padding: '$4' }}
+    >
+      {Object.entries(tokens).length > 0 && Object.entries(tokens)?.map(([tokenSet, tokenList]) => (
+        tokenList.length > 0 && (
+          <>
+            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set={tokenSet} label={tokenSet} isCollapsed={collapsedChangedStateList.includes(tokenSet)} />
+            {!collapsedChangedStateList.includes(tokenSet) && tokenList && (
+            <StyledJSONContent>
+              {stringifyTokens(tokens, tokenSet, storeTokenIdInJsonEditor)}
+            </StyledJSONContent>
+            )}
+          </>
+        )
+      ))}
+      {
+        themes.length > 0 && (
+          <>
+            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$themes" label="$themes" isCollapsed={collapsedChangedStateList.includes('$themes')} />
+            {!collapsedChangedStateList.includes('$themes') && (
+            <StyledJSONContent>
+              {JSON.stringify(themes, null, 2)}
+              {' '}
+            </StyledJSONContent>
+            )}
+          </>
+        )
+      }
+      {
+        Object.keys(tokens).length > 0 && (
+          <>
+            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$metadata" label="$metadata" isCollapsed={collapsedChangedStateList.includes('$metadata')} />
+            {!collapsedChangedStateList.includes('$metadata') && (
+            <StyledJSONContent>
+              {JSON.stringify(Object.keys(tokens), null, 2)}
+            </StyledJSONContent>
+            )}
+          </>
+        )
+      }
+    </Stack>
+  );
+}
+ 
+export default PushJSON;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html new file mode 100644 index 000000000..1af52fbda --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/app/components/PushSettingForm.tsx + + + + + + + + + +
+
+

All files / src/app/components PushSettingForm.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Heading, Textarea, Stack, Box, Text, TextInput, FormField, Label,
+} from '@tokens-studio/ui';
+import { localApiStateSelector } from '@/selectors';
+ 
+import PushDialogSupernovaConfirm from './PushDialogSupernovaConfirm';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+type Props = {
+  commitMessage: string,
+  branch: string,
+  handleCommitMessageChange: (val: string) => void,
+  handleBranchChange: (event: React.ChangeEvent<HTMLInputElement>) => void
+};
+ 
+function PushSettingForm({
+  commitMessage, branch, handleCommitMessageChange, handleBranchChange,
+}: Props) {
+  const localApiState = useSelector(localApiStateSelector);
+ 
+  const handleMessageChange = useCallback((value: string) => {
+    handleCommitMessageChange(value);
+  }, [handleCommitMessageChange]);
+ 
+  const { t } = useTranslation(['sync']);
+ 
+  return localApiState.provider === StorageProviderType.SUPERNOVA ? <PushDialogSupernovaConfirm designSystemUrl={localApiState.designSystemUrl} /> : (
+    <Stack direction="column" gap={3} css={{ padding: '$4', width: '100%' }}>
+      <Text size="small">{t('pushYourLocalChangesToYourRepository')}</Text>
+      <Box css={{
+        padding: '$2', fontFamily: '$mono', color: '$fgMuted', background: '$bgSubtle', borderRadius: '$medium',
+      }}
+      >
+        {'id' in localApiState ? localApiState.id : null}
+      </Box>
+      <Heading size="small">{t('commitMessage')}</Heading>
+      <Textarea
+        data-testid="push-dialog-commit-message"
+        rows={3}
+        value={commitMessage}
+        onChange={handleMessageChange}
+        placeholder="Enter commit message"
+      />
+      <FormField>
+        <Label htmlFor="branch">{t('branch')}</Label>
+        <TextInput
+          value={branch}
+          onChange={handleBranchChange}
+          type="text"
+          name="branch"
+          id="branch"
+          required
+        />
+      </FormField>
+    </Stack>
+  );
+}
+ 
+export default PushSettingForm;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html new file mode 100644 index 000000000..d6da84815 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html @@ -0,0 +1,577 @@ + + + + + + Code coverage report for src/app/components/RemConfiguration.tsx + + + + + + + + + +
+
+

All files / src/app/components RemConfiguration.tsx

+
+ +
+ 0% + Statements + 0/37 +
+ + +
+ 0% + Branches + 0/26 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/label-has-associated-control */
+import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { useDispatch, useSelector } from 'react-redux';
+import {
+  Box, Button, Label, Stack, Text,
+} from '@tokens-studio/ui';
+import remConfigurationImage from '@/app/assets/hints/remConfiguration.png';
+import IconBrokenLink from '@/icons/brokenlink.svg';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { mergeTokenGroups } from '@/utils/tokenHelpers';
+import { Dispatch } from '../store';
+import {
+  tokensSelector, usedTokenSetSelector, activeTokenSetSelector, aliasBaseFontSizeSelector,
+} from '@/selectors';
+import DownshiftInput from './DownshiftInput';
+import { getAliasValue } from '@/utils/alias';
+import { defaultTokenResolver } from '@/utils/TokenResolver';
+import Modal from './Modal';
+import { ExplainerModal } from './ExplainerModal';
+ 
+const RemConfiguration = () => {
+  const aliasBaseFontSize = useSelector(aliasBaseFontSizeSelector);
+  const tokens = useSelector(tokensSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const { t } = useTranslation(['settings']);
+  const [modalVisible, setModalVisible] = React.useState(false);
+  const [isBrokenLink, setIsBrokenLink] = React.useState<boolean>(false);
+ 
+  const toggleModalVisible = React.useCallback(() => setModalVisible((prev) => !prev), []);
+ 
+  const resolvedTokens = React.useMemo(
+    () => defaultTokenResolver.setTokens(
+      mergeTokenGroups(tokens, usedTokenSet, {}, activeTokenSet),
+    ),
+    [tokens, usedTokenSet, activeTokenSet],
+  );
+ 
+  const displayBaseFontValue = React.useMemo(() => {
+    const resolvedAliasBaseFontSize = getAliasValue(aliasBaseFontSize, resolvedTokens);
+    let formattedpxValue = 16;
+    if (typeof resolvedAliasBaseFontSize === 'string' || typeof resolvedAliasBaseFontSize === 'number') {
+      const resolvedAliasBaseFontSizeValue = typeof resolvedAliasBaseFontSize === 'number'
+        ? resolvedAliasBaseFontSize
+        : parseFloat(resolvedAliasBaseFontSize);
+      if (isNaN(resolvedAliasBaseFontSizeValue)) {
+        formattedpxValue = 16;
+        setIsBrokenLink(true);
+      } else {
+        formattedpxValue = Number(resolvedAliasBaseFontSizeValue.toFixed(2));
+        setIsBrokenLink(false);
+      }
+      return `1rem = ${formattedpxValue}px`;
+    }
+    return '1rem = 16px';
+  }, [aliasBaseFontSize, resolvedTokens]);
+ 
+  const handleBaseFontSizeChange = React.useCallback(
+    (property: string, value: string) => {
+      dispatch.settings.setAliasBaseFontSize(value);
+      const resolvedValue = getAliasValue(value, resolvedTokens);
+      if (typeof resolvedValue === 'string' || typeof resolvedValue === 'number') {
+        dispatch.settings.setBaseFontSize(String(resolvedValue));
+      }
+    },
+    [dispatch.settings, resolvedTokens],
+  );
+ 
+  const handleDownShiftInputChange = React.useCallback(
+    (newInputValue: string) => {
+      dispatch.settings.setAliasBaseFontSize(newInputValue);
+      const resolvedValue = getAliasValue(newInputValue, resolvedTokens);
+      if (typeof resolvedValue === 'string' || typeof resolvedValue === 'number') {
+        dispatch.settings.setBaseFontSize(String(resolvedValue));
+      }
+    },
+    [dispatch.settings, resolvedTokens],
+  );
+ 
+  return (
+    <Stack direction="row" align="center" justify="between" css={{ width: '100%' }}>
+      <Stack direction="column" align="start" gap={1}>
+        <Stack direction="row" align="center" gap={1}>
+          <Label>{t('baseFont')}</Label>
+          <ExplainerModal title={displayBaseFontValue}>
+            <Box as="img" src={remConfigurationImage} css={{ borderRadius: '$small' }} />
+            <Box>{t('baseFontExplanation')}</Box>
+          </ExplainerModal>
+        </Stack>
+        <Stack direction="row" align="center" gap={1}>
+          {aliasBaseFontSize.startsWith('{') && (
+            <Box
+              css={{
+                borderRadius: '$small',
+                display: 'flex',
+                alignItems: 'center',
+                backgroundColor: isBrokenLink ? '$dangerBg' : '$accentBg',
+                padding: '$2',
+              }}
+            >
+              <Label css={{ fontSize: '$small', color: isBrokenLink ? '$dangerFg' : '$accentDefault' }}>
+                {aliasBaseFontSize}
+              </Label>
+              {isBrokenLink && (
+                <IconBrokenLink
+                  style={{
+                    color: 'var(--colors-dangerFg)', width: 'var(--sizes-6)', height: 'var(--sizes-6)', marginLeft: '3px',
+                  }}
+                />
+              )}
+            </Box>
+          )}
+          <Label
+            css={{
+              fontSize: '$xsmall',
+              color: '$fgMuted',
+              marginLeft: aliasBaseFontSize.startsWith('{') ? '$3' : '',
+            }}
+          >
+            {displayBaseFontValue}
+          </Label>
+        </Stack>
+      </Stack>
+ 
+      <Button onClick={toggleModalVisible} variant="secondary">
+        {t('change')}
+      </Button>
+ 
+      <Modal
+        isOpen={modalVisible}
+        close={toggleModalVisible}
+        title={displayBaseFontValue}
+        showClose
+        modal={false}
+        footer={(
+          <Stack direction="row" justify="end">
+            <Button onClick={toggleModalVisible} variant="primary">
+              {t('confirm')}
+            </Button>
+          </Stack>
+        )}
+      >
+        <Stack direction="column" gap={3} css={{ padding: '$4' }}>
+          <Text muted>{t('baseFontExplanation')}</Text>
+          <Label>{t('chooseANewToken')}</Label>
+          <Box css={{ position: 'relative' }}>
+            <DownshiftInput
+              value={aliasBaseFontSize}
+              type={TokenTypes.FONT_SIZES}
+              resolvedTokens={resolvedTokens}
+              handleChange={handleBaseFontSizeChange}
+              setInputValue={handleDownShiftInputChange}
+              suffix
+            />
+          </Box>
+        </Stack>
+      </Modal>
+    </Stack>
+  );
+};
+ 
+export default RemConfiguration;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html new file mode 100644 index 000000000..993fbbba5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/app/components/ResolvedBorderValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components ResolvedBorderValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { useUIDSeed } from 'react-uid';
+import { SingleBorderToken } from '@/types/tokens';
+import { styled } from '@/stitches.config';
+import Box from './Box';
+ 
+type Props = {
+  value: SingleBorderToken['value']
+};
+ 
+const StyledPropertyItem = styled('div', {
+  color: '$fgMuted',
+  marginBottom: '$2',
+});
+ 
+const StyledValueItem = styled('div', {
+  marginBottom: '$2',
+});
+ 
+export const ResolvedBorderValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value }) => {
+  const seed = useUIDSeed();
+  const { t } = useTranslation(['tokens']);
+  const properties = {
+    color: t('border.color'),
+    width: t('border.width'),
+    style: t('border.style'),
+  };
+ 
+  return (
+    <Box css={{
+      display: 'flex', backgroundColor: '$bgSubtle', padding: '$4', fontSize: '$xsmall',
+    }}
+    >
+      <Box css={{ display: 'grid', marginRight: '$6' }}>
+        {Object.values(properties).map((v) => (
+          <StyledPropertyItem key={seed(v)}>{v}</StyledPropertyItem>
+        ))}
+ 
+      </Box>
+      <Box>
+        {Object.keys(properties).map((key) => (
+          <StyledValueItem key={seed(key)}>
+            {value[key as keyof typeof value]}
+            &nbsp;
+          </StyledValueItem>
+        ))}
+      </Box>
+    </Box>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html new file mode 100644 index 000000000..a59aed84c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/app/components/ResolvedShadowValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components ResolvedShadowValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useUIDSeed } from 'react-uid';
+import Box from './Box';
+import { styled } from '@/stitches.config';
+import { TokenBoxshadowValue } from '@/types/values';
+ 
+type Props = {
+  shadows: TokenBoxshadowValue[];
+};
+ 
+const StyledIndexItem = styled('div', {
+  color: '$fgMuted',
+  marginBottom: '$2',
+});
+ 
+const StyledValueItem = styled('div', {
+  marginBottom: '$2',
+});
+ 
+export const ResolvedShadowValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ shadows }) => {
+  const seed = useUIDSeed();
+ 
+  return (
+    <Box css={{
+      display: 'flex', backgroundColor: '$bgSubtle', padding: '$4', fontSize: '$xsmall',
+    }}
+    >
+      <Box css={{ display: 'grid', marginRight: '$9' }}>
+        {shadows.map((shadow, index) => (
+          <StyledIndexItem key={seed(shadow)}>{index + 1}</StyledIndexItem>
+        ))}
+      </Box>
+ 
+      <Box css={{ display: 'grid', marginLeft: '$6' }}>
+        {shadows.map((shadow) => (
+          <StyledValueItem key={seed(shadow)}>
+            {shadow.x}
+            {' '}
+            {shadow.y}
+            {' '}
+            {shadow.blur}
+            {' '}
+            {shadow.spread}
+            {' '}
+            {shadow.color}
+          </StyledValueItem>
+        ))}
+      </Box>
+    </Box>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html new file mode 100644 index 000000000..3822c0e3c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/app/components/ResolvedTokenDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components ResolvedTokenDisplay.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { isSingleBorderToken, isSingleBoxShadowToken, isSingleTypographyToken } from '@/utils/is';
+import { SingleBorderToken, SingleTypographyToken } from '@/types/tokens';
+import Box from './Box';
+import { ResolvedShadowValueDisplay } from './ResolvedShadowValueDisplay';
+import { ResolvedTypographyValueDisplay } from './ResolvedTypographyValueDisplay';
+import { TokenBoxshadowValue } from '@/types/values';
+import { ResolvedBorderValueDisplay } from './ResolvedBorderValueDisplay';
+ 
+export default function ResolvedTokenDisplay({
+  alias,
+  selectedToken,
+}: {
+  alias: string;
+  selectedToken: ResolveTokenValuesResult | null;
+}) {
+  const valueToCheck = React.useMemo(() => (
+    (selectedToken ? selectedToken?.value : alias)
+  ), [selectedToken, alias]);
+ 
+  if (selectedToken && isSingleTypographyToken(selectedToken)) {
+    return (
+      <ResolvedTypographyValueDisplay
+        value={valueToCheck as SingleTypographyToken['value']}
+      />
+    );
+  }
+ 
+  if (selectedToken && isSingleBoxShadowToken(selectedToken)) {
+    if (Array.isArray(valueToCheck)) return <ResolvedShadowValueDisplay shadows={valueToCheck as TokenBoxshadowValue[]} />;
+    return <ResolvedShadowValueDisplay shadows={[valueToCheck as TokenBoxshadowValue]} />;
+  }
+ 
+  if (selectedToken && isSingleBorderToken(selectedToken)) {
+    return (
+      <ResolvedBorderValueDisplay
+        value={valueToCheck as SingleBorderToken['value']}
+      />
+    );
+  }
+ 
+  if (typeof valueToCheck !== 'string' && typeof valueToCheck !== 'number') {
+    return <div>{JSON.stringify(valueToCheck, null, 2)}</div>;
+  }
+ 
+  return (
+    <Box css={{ display: 'flex', flexDirection: 'column', gap: '$2' }}>
+      {valueToCheck}
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html new file mode 100644 index 000000000..c1c6966d8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/app/components/ResolvedTypographyValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components ResolvedTypographyValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { useUIDSeed } from 'react-uid';
+import { SingleTypographyToken } from '@/types/tokens';
+import { styled } from '@/stitches.config';
+import Box from './Box';
+ 
+type Props = {
+  value: SingleTypographyToken['value']
+};
+ 
+const StyledPropertyItem = styled('div', {
+  color: '$fgMuted',
+  marginBottom: '$2',
+});
+ 
+const StyledValueItem = styled('div', {
+  marginBottom: '$2',
+});
+ 
+export const ResolvedTypographyValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value }) => {
+  const seed = useUIDSeed();
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  const properties = {
+    fontFamily: t('font.fontFamily'),
+    fontWeight: t('font.fontWeight'),
+    fontSize: t('font.fontSize'),
+    lineHeight: t('font.lineHeight'),
+    letterSpacing: t('font.letterSpacing'),
+    paragraphSpacing: t('font.paragraphSpacing'),
+    paragraphIndent: t('font.paragraphIndent'),
+    textDecoration: t('font.textDecoration'),
+    textCase: t('font.textCase'),
+  };
+ 
+  return (
+    <Box css={{
+      display: 'flex', backgroundColor: '$bgSubtle', padding: '$4', fontSize: '$xsmall',
+    }}
+    >
+      <Box css={{ display: 'grid', marginRight: '$6' }}>
+        {Object.values(properties).map((value) => (
+          <StyledPropertyItem key={seed(value)}>{value}</StyledPropertyItem>
+        ))}
+ 
+      </Box>
+      <Box>
+        {Object.keys(properties).map((key) => (
+          <StyledValueItem key={seed(key)}>
+            {value[key as keyof typeof value]}
+            &nbsp;
+          </StyledValueItem>
+        ))}
+      </Box>
+    </Box>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html new file mode 100644 index 000000000..ebf67a343 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/app/components/ResolvingLoader/ResolvingLoader.tsx + + + + + + + + + +
+
+

All files / src/app/components/ResolvingLoader ResolvingLoader.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { keyframes, styled } from '@/stitches.config';
+import Box from '../Box';
+import { Flex } from '../Flex';
+ 
+const bounceUpDown = keyframes({
+  '0%': { transform: 'translateY(-20%)' },
+  '50%': { transform: 'translateY(20%)' },
+  '100%': { transform: 'translateY(-20%)' },
+});
+ 
+const StyledResolvingLoaderBubble = styled('div', {
+  width: '4px',
+  height: '4px',
+  borderRadius: '$full',
+  background: '$fgMuted',
+  animation: `${bounceUpDown} 1000ms 0ms infinite linear`,
+});
+ 
+export const ResolvingLoader: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => (
+  <Flex>
+    <Box
+      css={{
+        display: 'grid',
+        padding: '$3',
+        gap: '$2',
+        borderRadius: '$small',
+        background: '$bgSubtle',
+        gridTemplateColumns: 'repeat(3, 1fr)',
+      }}
+    >
+      <StyledResolvingLoaderBubble />
+      <StyledResolvingLoaderBubble css={{ animationDelay: '300ms' }} />
+      <StyledResolvingLoaderBubble css={{ animationDelay: '600ms' }} />
+    </Box>
+  </Flex>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html new file mode 100644 index 000000000..6da0c923c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/ResolvingLoader + + + + + + + + + +
+
+

All files src/app/components/ResolvingLoader

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ResolvingLoader.tsx +
+
0%0/4100%0/00%0/10%0/4
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html new file mode 100644 index 000000000..674611d19 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/ResolvingLoader/index.ts + + + + + + + + + +
+
+

All files / src/app/components/ResolvingLoader index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { ResolvingLoader } from './ResolvingLoader';
+ 
+export default ResolvingLoader;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html new file mode 100644 index 000000000..5c9b1f89c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/components/SecondScreen + + + + + + + + + +
+
+

All files src/app/components/SecondScreen

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/180%0/220%0/30%0/18
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html new file mode 100644 index 000000000..da54f7343 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html @@ -0,0 +1,559 @@ + + + + + + Code coverage report for src/app/components/SecondScreen/index.tsx + + + + + + + + + +
+
+

All files / src/app/components/SecondScreen index.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import {
+  Link1Icon, LinkBreak1Icon, EnterIcon, ExitIcon, ExternalLinkIcon,
+} from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import {
+  Box, Stack, Button, Heading, Switch,
+} from '@tokens-studio/ui';
+import { useAuth } from '@/context/AuthContext';
+import { secondScreenSelector } from '@/selectors/secondScreenSelector';
+import { Dispatch } from '@/app/store';
+import { styled } from '@/stitches.config';
+import { track } from '@/utils/analytics';
+import { Divider } from '../Divider';
+ 
+export const StyledBetaBadge = styled('span', {
+  display: 'inline-flex',
+  alignItems: 'center',
+  justifyContent: 'center',
+  fontSize: '$xxsmall',
+  padding: '$2',
+  borderRadius: '$medium',
+  backgroundColor: '$accentBg',
+  lineHeight: 1,
+  color: '$fgDefault',
+  fontWeight: '$sansBold',
+  textTransform: 'uppercase',
+  border: '1px solid transparent',
+});
+ 
+const StyledP = styled('p', {
+  fontWeight: '$sansRegular',
+  color: '$fgDefault',
+  fontSize: '$xsmall',
+});
+ 
+const StyledReadMoreLink = styled('a', {
+  color: '$accentDefault',
+  fontSize: '$xsmall',
+});
+ 
+export default function SecondScreen() {
+  const { t } = useTranslation(['settings', 'general']);
+  const isEnabled = useSelector(secondScreenSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const { user, handleLogout } = useAuth();
+ 
+  const onSyncClick = useCallback(() => {
+    dispatch.uiState.toggleSecondScreen();
+  }, [dispatch.uiState]);
+ 
+  const handleOpenSecondScreen = useCallback(() => {
+    track('Open second screen');
+    window.open(process.env.SECOND_SCREEN_APP_URL);
+  }, []);
+ 
+  let statusColor;
+ 
+  if (!user) {
+    statusColor = '$fgMuted';
+  } else if (isEnabled && user) {
+    statusColor = '$successFg';
+  } else {
+    statusColor = '$dangerFg';
+  }
+ 
+  return (
+    <Box className="content scroll-container">
+      <Stack direction="column" gap={4} css={{ padding: '$3 0' }}>
+ 
+        <Stack direction="column" gap={2} css={{ padding: '0 $4' }} justify="between" align="start">
+          <Heading>
+            Second Screen
+            {' '}
+            <StyledBetaBadge>BETA</StyledBetaBadge>
+          </Heading>
+          <StyledP>
+            {t('secondScreenExplainer')}
+            <StyledReadMoreLink href="https://docs.tokens.studio/sync/second-screen" target="_blank" rel="noreferrer">{t('readMore', { ns: 'general' })}</StyledReadMoreLink>
+          </StyledP>
+        </Stack>
+        {
+          user ? (
+            <>
+              <Stack direction="column" gap={2} css={{ padding: '0 $4' }}>
+                <Stack
+                  gap={4}
+                  direction="row"
+                  align="center"
+                  justify="between"
+                  css={{
+                    backgroundColor: '$bgSubtle',
+                    borderColor: statusColor,
+                    borderWidth: '1px',
+                    padding: '$3 $5',
+                    fontSize: '$xsmall',
+                    borderRadius: '6px',
+                    color: statusColor,
+                    marginBottom: '$3',
+                    width: '100%',
+                    height: '4rem',
+                  }}
+                >
+                  <Stack
+                    direction="column"
+                    gap={1}
+                  >
+                    <Stack direction="row" align="center" gap={3} css={{ fontWeight: '$sansBold' }}>
+                      {isEnabled && user ? <Link1Icon /> : <LinkBreak1Icon />}
+                      {isEnabled && user ? t('connected') : t('notConnected')}
+                    </Stack>
+                    <Box>
+                      {isEnabled && user ? t('liveSyncActive') : t('liveSyncInactive')}
+                    </Box>
+ 
+                  </Stack>
+ 
+                  <Switch disabled={user === null} id="syncswitch" checked={isEnabled && !!user} onCheckedChange={onSyncClick} />
+                </Stack>
+                <Box>
+                  <Button disabled={user == null} variant="secondary" size="small" icon={<ExternalLinkIcon />} onClick={handleOpenSecondScreen}>
+                    {t('openSecondScreen')}
+                  </Button>
+                </Box>
+              </Stack>
+ 
+              <Divider />
+ 
+              <Stack direction="column" align="start" gap={3} css={{ padding: '0 $4' }}>
+ 
+                <Button variant="secondary" size="small" icon={<ExitIcon />} onClick={handleLogout}>
+                  {t('signOut')}
+                </Button>
+                <Box css={{
+                  fontWeight: '$sansRegular', fontSize: '$xsmall', overflow: 'hidden', textOverflow: 'ellipsis',
+                }}
+                >
+                  {t('signedInAs')}
+                  {' '}
+                  {user.email}
+                </Box>
+              </Stack>
+            </>
+ 
+          ) : (
+            <Stack direction="column" align="start" gap={2} css={{ padding: '0 $4' }}>
+              <Button variant="primary" icon={<EnterIcon />} onClick={onSyncClick}>
+                {t('signInToContinue')}
+              </Button>
+            </Stack>
+          )
+        }
+ 
+      </Stack>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html new file mode 100644 index 000000000..1b7ca92af --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/components/SecondScreenSync + + + + + + + + + +
+
+

All files src/app/components/SecondScreenSync

+
+ +
+ 0% + Statements + 0/43 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/430%0/300%0/110%0/41
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html new file mode 100644 index 000000000..d57b0c7f4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html @@ -0,0 +1,442 @@ + + + + + + Code coverage report for src/app/components/SecondScreenSync/index.tsx + + + + + + + + + +
+
+

All files / src/app/components/SecondScreenSync index.tsx

+
+ +
+ 0% + Statements + 0/43 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useCallback, useEffect } from 'react';
+import * as Sentry from '@sentry/react';
+import { useDispatch, useSelector } from 'react-redux';
+import { RealtimeChannel, RealtimePostgresUpdatePayload } from '@supabase/realtime-js';
+import {
+  activeThemeSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { useAuth } from '@/context/AuthContext';
+import { secondScreenSelector } from '@/selectors/secondScreenSelector';
+import supabase from '@/supabase';
+import { Dispatch } from '@/app/store';
+import { Clients, TokenData } from '@/types/SecondScreen';
+ 
+export default function SecondScreenSync() {
+  const secondScreenOn = useSelector(secondScreenSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const tokens = useSelector(tokensSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const themes = useSelector(themesListSelector);
+  const usedTokenSets = useSelector(usedTokenSetSelector);
+  const { user } = useAuth();
+ 
+  // Listen to data changes and update the state
+  useEffect(() => {
+    let dbUpdateChannel: RealtimeChannel | null = null;
+ 
+    if (user && secondScreenOn) {
+      dbUpdateChannel = supabase
+        .channel('value-db-changes')
+        .on(
+          'postgres_changes',
+          {
+            event: 'UPDATE',
+            schema: 'public',
+            table: 'tokens',
+            filter: `owner_email=eq.${user.email}`,
+          },
+          (payload: RealtimePostgresUpdatePayload<TokenData>) => {
+            if (payload.new.last_updated_by !== Clients.PLUGIN && payload.new.synced_data) {
+              dispatch.tokenState.setNewTokenData(payload.new.synced_data);
+            }
+          },
+        )
+        .subscribe((status: any, err: any) => {
+          if (err) {
+            console.error(err);
+            Sentry.captureException(err);
+          }
+        });
+    }
+    return () => {
+      if (dbUpdateChannel) {
+        if (dbUpdateChannel) supabase.realtime.removeChannel(dbUpdateChannel);
+      }
+    };
+  }, [user, secondScreenOn, dispatch.tokenState]);
+ 
+  // Listen to state changes and update the db
+  useEffect(() => {
+    async function updateRemoteData(email: string, data: string) {
+      await supabase.postgrest
+        .from('tokens')
+        .upsert(
+          { synced_data: data, owner_email: email, last_updated_by: Clients.PLUGIN },
+          { onConflict: 'owner_email', ignoreDuplicates: false },
+        )
+        .eq('owner_email', email);
+    }
+ 
+    if (secondScreenOn && user) {
+      const data = JSON.stringify({
+        sets: tokens,
+        themes,
+        usedTokenSets,
+        activeTheme,
+      });
+ 
+      updateRemoteData(user.email, data);
+    }
+  }, [tokens, themes, secondScreenOn, user, usedTokenSets, activeTheme]);
+ 
+  // this is used for tracking if the plugin is on
+  const createChannel = useCallback(() => {
+    let channel: RealtimeChannel | null = null;
+    if (user && secondScreenOn) {
+      channel = supabase.channel(`${user.id}`, {
+        config: {
+          presence: {
+            key: `plugin-${user.email}`,
+          },
+        },
+      });
+ 
+      channel.subscribe(async (status) => {
+        if (status === 'SUBSCRIBED' && channel) {
+          try {
+            await channel.track({ online_at: new Date().toISOString() });
+          } catch (error) {
+            if (error) {
+              console.log('channel error', error);
+              Sentry.captureException(error);
+            }
+          }
+        }
+      });
+    }
+ 
+    return channel;
+  }, [secondScreenOn, user]);
+ 
+  useEffect(() => {
+    const channel = createChannel();
+    return () => {
+      if (channel) supabase.realtime.removeChannel(channel);
+    };
+  }, [createChannel]);
+ 
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html new file mode 100644 index 000000000..19d35287e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/app/components/Select.tsx + + + + + + + + + +
+
+

All files / src/app/components Select.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { styled } from '@/stitches.config';
+import type { StitchesCSS } from '@/types';
+ 
+const StyledSelect = styled('select', {
+  fontSize: '$xsmall',
+  height: '$controlSmall',
+  paddingLeft: '$2',
+  lineHeight: 1,
+  backgroundColor: '$bgDefault',
+  color: '$fgDefault',
+  border: '1px solid $borderMuted',
+  cursor: 'pointer',
+  '&:focus': { boxShadow: '$focus', outline: 'none' },
+});
+ 
+type StyledSelectProps = React.ComponentProps<typeof StyledSelect>;
+type Props = {
+  id: string;
+  css?: StitchesCSS;
+  value?: StyledSelectProps['value'];
+  onChange?: StyledSelectProps['onChange'];
+};
+ 
+export default function Select({
+  css, value, id, onChange, children,
+}: React.PropsWithChildren<Props>) {
+  return (
+    <StyledSelect css={css} value={value} name={id} data-testid={id} id={id} onChange={onChange}>
+      {children}
+    </StyledSelect>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html new file mode 100644 index 000000000..767da1260 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html @@ -0,0 +1,751 @@ + + + + + + Code coverage report for src/app/components/Settings/Settings.tsx + + + + + + + + + +
+
+

All files / src/app/components/Settings Settings.tsx

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/label-has-associated-control */
+import React, { useState, useEffect } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Box, Link, Text, Button, Heading, Label, Stack, Switch,
+} from '@tokens-studio/ui';
+import { track } from '@/utils/analytics';
+import SyncSettings from '../SyncSettings';
+import { LanguageSelector } from '../LanguageSelector';
+import { Dispatch } from '../../store';
+import {
+  storeTokenIdInJsonEditorSelector,
+  uiStateSelector,
+} from '@/selectors';
+import AddLicenseKey from '../AddLicenseKey/AddLicenseKey';
+import { Divider } from '../Divider';
+import OnboardingExplainer from '../OnboardingExplainer';
+import RemConfiguration from '../RemConfiguration';
+import { replay } from '@/app/sentry';
+import { sessionRecordingSelector } from '@/selectors/sessionRecordingSelector';
+import { useFlags } from '../LaunchDarkly';
+import { ExplainerModal } from '../ExplainerModal';
+ 
+// TODO: expose types from @tokens-studio/ui/checkbox
+type CheckedState = boolean | 'indeterminate';
+ 
+function Settings() {
+  const { t } = useTranslation(['settings']);
+ 
+  const onboardingData = {
+    title: t('whereTokensStored'),
+    text: t('whereTokensStoredOnboarding'),
+    url: 'https://docs.tokens.studio/token-storage/remote?ref=onboarding_explainer_syncproviders',
+  };
+ 
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const uiState = useSelector(uiStateSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const debugMode = useSelector(sessionRecordingSelector);
+  const [debugSession, setDebugSession] = useState('');
+  const { idStorage } = useFlags();
+ 
+  const toggleDebugMode = React.useCallback(async (checked: CheckedState) => {
+    if (checked && process.env.ENVIRONMENT === 'development') {
+      console.warn('Session recording is disabled in development mode');
+    }
+ 
+    dispatch.settings.setSessionRecording(!!checked);
+    if (checked) {
+      // Display the info to the user
+      try {
+        let id = await replay.getReplayId();
+        if (!id) {
+          // Force start the replay functionality
+          replay.start();
+          id = await replay.getReplayId();
+        }
+        setDebugSession(id || '');
+      } catch (err) {
+        console.warn('Replay is likely in progress already', err);
+      }
+    } else {
+      try {
+        replay.stop();
+      } catch (err) {
+        console.warn('Replay is likely stopped already', err);
+      }
+    }
+  }, []);
+ 
+  // Load once on mount.
+  useEffect(() => {
+    async function getSessionId() {
+      try {
+        const id = replay.getReplayId();
+        setDebugSession(id || '');
+      } catch (err) {
+        // Silently fail
+      }
+    }
+    getSessionId();
+  });
+ 
+  const handleStoreTokenIdInJsonEditorChange = React.useCallback(
+    (state: CheckedState) => {
+      track('setStoreTokenIdInJsonEditorSelector', { value: state });
+      dispatch.settings.setStoreTokenIdInJsonEditorSelector(!!state);
+    },
+    [dispatch.settings],
+  );
+ 
+  const closeOnboarding = React.useCallback(() => {
+    dispatch.uiState.setOnboardingExplainerSyncProviders(false);
+  }, [dispatch]);
+ 
+  const handleResetButton = React.useCallback(() => {
+    dispatch.uiState.setOnboardingExplainerSets(true);
+    dispatch.uiState.setOnboardingExplainerExportSets(true);
+    dispatch.uiState.setOnboardingExplainerInspect(true);
+    dispatch.uiState.setOnboardingExplainerSyncProviders(true);
+    dispatch.uiState.setLastOpened(0);
+  }, [dispatch]);
+ 
+  return (
+    <Box className="content scroll-container">
+      <Stack direction="column" gap={4} css={{ padding: '$3 0' }}>
+        <AddLicenseKey />
+        <Divider />
+        {uiState.onboardingExplainerSyncProviders && (
+          <Stack direction="column" gap={2} css={{ padding: '$4' }}>
+            <OnboardingExplainer data={onboardingData} closeOnboarding={closeOnboarding} />
+          </Stack>
+        )}
+        <SyncSettings />
+        <Divider />
+        <Stack direction="column" align="start" gap={4} css={{ padding: '0 $4' }}>
+          <Heading size="medium">{t('settings')}</Heading>
+          <Stack
+            direction="column"
+            css={{
+              border: '1px solid $borderSubtle',
+              borderRadius: '$medium',
+              padding: '$4',
+              width: '100%',
+            }}
+          >
+            <LanguageSelector />
+          </Stack>
+          <Stack
+            direction="column"
+            gap={4}
+            css={{
+              border: '1px solid $borderSubtle',
+              borderRadius: '$medium',
+              padding: '$4',
+              width: '100%',
+            }}
+          >
+ 
+            {idStorage && (
+              <Stack direction="row" gap={3} align="center" css={{ width: '100%' }}>
+                <Label htmlFor="storeTokenIdInJsonEditor">{t('storeTokenId')}</Label>
+                <Switch
+                  id="storeTokenIdInJsonEditor"
+                  checked={!!storeTokenIdInJsonEditor}
+                  defaultChecked={storeTokenIdInJsonEditor}
+                  onCheckedChange={handleStoreTokenIdInJsonEditorChange}
+                />
+              </Stack>
+            )}
+            <RemConfiguration />
+          </Stack>
+          <Stack
+            direction="column"
+            gap={4}
+            css={{
+              border: '1px solid $borderSubtle',
+              borderRadius: '$medium',
+              padding: '$4',
+              width: '100%',
+            }}
+          >
+            <Stack direction="column" gap={2} css={{ width: '100%' }}>
+              <Stack direction="row" align="center" justify="between" gap={1}>
+                <Stack direction="row" gap={2} align="center">
+                  <Label htmlFor="enableDebugging">{t('enableSessionRecording')}</Label>
+                  <ExplainerModal title={t('enableSessionRecording')}>
+                    <Box css={{
+                      color: '$fgMuted',
+                      fontSize: '$xsmall',
+                    }}
+                    >
+                      {t('sessionRecordingDescription')}
+                      {' '}
+                      {t('dataCollectedIsAnonymised')}
+                      {' '}
+                      {t('forMoreInformationPleaseSeeOur')}
+                      {' '}
+                      <Link href="https://tokens.studio/privacy" target="_blank" rel="noreferrer">{t('privacyPolicy')}</Link>
+                    </Box>
+                  </ExplainerModal>
+                </Stack>
+                <Box css={{ flexShrink: 0 }}>
+                  <Switch
+                    id="enableDebugging"
+                    checked={!!debugMode}
+                    defaultChecked={debugMode}
+                    onCheckedChange={toggleDebugMode}
+                  />
+                </Box>
+              </Stack>
+              <Box
+                css={{
+                  color: '$fgMuted',
+                  fontSize: '$xsmall',
+                  lineHeight: 1.5,
+                }}
+              >
+                {debugSession && (
+                <Text>
+                  {t('yourCurrentSessionIdIs')}
+                  {' '}
+                  <b>{debugSession}</b>
+                </Text>
+                )}
+              </Box>
+            </Stack>
+            <Stack direction="row" justify="between" gap={2} align="center" css={{ width: '100%' }}>
+              <Label>{t('resetOnboarding')}</Label>
+              <Button variant="secondary" data-testid="reset-onboarding" onClick={handleResetButton}>
+                {t('resetOnboarding')}
+              </Button>
+            </Stack>
+          </Stack>
+        </Stack>
+      </Stack>
+    </Box>
+  );
+}
+ 
+export default Settings;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html new file mode 100644 index 000000000..cba975811 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/Settings + + + + + + + + + +
+
+

All files src/app/components/Settings

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Settings.tsx +
+
0%0/400%0/180%0/70%0/40
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html new file mode 100644 index 000000000..a97d164c6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/Settings/index.ts + + + + + + + + + +
+
+

All files / src/app/components/Settings index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import Settings from './Settings';
+ 
+export default Settings;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html new file mode 100644 index 000000000..13ce9034d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html @@ -0,0 +1,403 @@ + + + + + + Code coverage report for src/app/components/SettingsDropdown.tsx + + + + + + + + + +
+
+

All files / src/app/components SettingsDropdown.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { Box, DropdownMenu, IconButton } from '@tokens-studio/ui';
+import { Check, Settings } from 'iconoir-react';
+import { Dispatch } from '../store';
+import { settingsStateSelector, localApiStateSelector } from '@/selectors';
+import { isEqual } from '@/utils/isEqual';
+ 
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export default function SettingsDropdown() {
+  const localApiState = useSelector(localApiStateSelector);
+  const { t } = useTranslation(['tokens']);
+ 
+  const {
+    updateRemote, updateOnChange, shouldSwapStyles, shouldUpdateStyles,
+  } = useSelector(settingsStateSelector, isEqual);
+ 
+  const {
+    setUpdateOnChange, setUpdateRemote, setShouldSwapStyles, setShouldUpdateStyles,
+  } = useDispatch<Dispatch>().settings;
+ 
+  const handleUpdateOnChange = React.useCallback(() => {
+    setUpdateOnChange(!updateOnChange);
+  }, [updateOnChange, setUpdateOnChange]);
+ 
+  const handleUpdateRemote = React.useCallback(() => {
+    setUpdateRemote(!updateRemote);
+  }, [updateRemote, setUpdateRemote]);
+ 
+  const handleShouldSwapStyles = React.useCallback(() => {
+    setShouldSwapStyles(!shouldSwapStyles);
+  }, [shouldSwapStyles, setShouldSwapStyles]);
+ 
+  const handleShouldUpdateStyles = React.useCallback(() => {
+    setShouldUpdateStyles(!shouldUpdateStyles);
+  }, [shouldUpdateStyles, setShouldUpdateStyles]);
+ 
+  return (
+    <DropdownMenu>
+      <DropdownMenu.Trigger asChild data-testid="bottom-bar-settings">
+        <IconButton variant="invisible" size="small" icon={<Settings />} />
+      </DropdownMenu.Trigger>
+ 
+      <DropdownMenu.Portal>
+        <DropdownMenu.Content side="top" css={{ maxWidth: '300px' }}>
+          <DropdownMenu.CheckboxItem
+            data-testid="update-on-change"
+            checked={updateOnChange}
+            onCheckedChange={handleUpdateOnChange}
+          >
+            <DropdownMenu.ItemIndicator>
+              <Check />
+            </DropdownMenu.ItemIndicator>
+            {t('update.onChange.title')}
+            <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
+              {t('update.onChange.description')}
+            </Box>
+          </DropdownMenu.CheckboxItem>
+          {localApiState?.provider === StorageProviderType.JSONBIN ? (
+            <DropdownMenu.CheckboxItem
+              data-testid="update-remote"
+              checked={updateRemote}
+              onCheckedChange={handleUpdateRemote}
+            >
+              <DropdownMenu.ItemIndicator>
+                <Check />
+              </DropdownMenu.ItemIndicator>
+              {t('update.remoteJSONBin.title')}
+              <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
+                {t('update.remoteJSONBin.description')}
+              </Box>
+            </DropdownMenu.CheckboxItem>
+          ) : null}
+          <DropdownMenu.CheckboxItem
+            data-testid="swap-styles"
+            checked={shouldSwapStyles}
+            onCheckedChange={handleShouldSwapStyles}
+          >
+            <DropdownMenu.ItemIndicator>
+              <Check />
+            </DropdownMenu.ItemIndicator>
+            {t('update.swapStyles.title')}
+            <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
+              {t('update.swapStyles.description')}
+            </Box>
+          </DropdownMenu.CheckboxItem>
+          <DropdownMenu.CheckboxItem
+            data-testid="should-update-styles"
+            checked={shouldUpdateStyles}
+            onCheckedChange={handleShouldUpdateStyles}
+          >
+            <DropdownMenu.ItemIndicator>
+              <Check />
+            </DropdownMenu.ItemIndicator>
+            {t('update.shouldUpdateStyles.title')}
+            <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
+              {t('update.shouldUpdateStyles.description')}
+            </Box>
+          </DropdownMenu.CheckboxItem>
+        </DropdownMenu.Content>
+      </DropdownMenu.Portal>
+    </DropdownMenu>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html new file mode 100644 index 000000000..57409a22d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/app/components/SingleBoxShadowDownShiftInput.tsx + + + + + + + + + +
+
+

All files / src/app/components SingleBoxShadowDownShiftInput.tsx

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import DownshiftInput from './DownshiftInput';
+import { ColorPickerTrigger } from './ColorPickerTrigger';
+import { getAliasValue } from '@/utils/alias';
+ 
+export default function SingleBoxShadowDownShiftInput({
+  name,
+  value,
+  type,
+  resolvedTokens,
+  handleChange,
+  setInputValue,
+  handleToggleInputHelper,
+  onSubmit,
+}: {
+  name: string;
+  value: string;
+  type: string;
+  resolvedTokens: ResolveTokenValuesResult[];
+  handleChange: (property: string, value: string) => void;
+  setInputValue: (newInputValue: string, property: string) => void;
+  handleToggleInputHelper?: () => void;
+  onSubmit: () => void;
+}) {
+  const { t } = useTranslation(['tokens']);
+  const [resolvedColor, setResolvedColor] = React.useState<string>(value ? String(value) : '');
+ 
+  React.useEffect(() => {
+    if (name === 'color' && value && value.startsWith('{')) {
+      const aliasValue = getAliasValue(value, resolvedTokens);
+      setResolvedColor(aliasValue ? String(aliasValue) : '');
+    } else {
+      setResolvedColor(typeof value === 'string' ? value : '');
+    }
+  }, [value, resolvedTokens, name]);
+ 
+  const handleBoxshadowDownShiftInputChange = React.useCallback(
+    (newInputValue: string) => setInputValue(newInputValue, name),
+    [name, setInputValue],
+  );
+  return (
+    <DownshiftInput
+      name={name}
+      value={value}
+      type={type}
+      label={name}
+      inlineLabel
+      resolvedTokens={resolvedTokens}
+      handleChange={handleChange}
+      setInputValue={handleBoxshadowDownShiftInputChange}
+      placeholder={name === 'color' ? t('colorOrAlias') : t('valueOrAlias')}
+      prefix={
+        name === 'color'
+        && resolvedColor && (
+          <ColorPickerTrigger background={resolvedColor} onClick={handleToggleInputHelper}>
+            {value}
+          </ColorPickerTrigger>
+        )
+      }
+      suffix
+      onSubmit={onSubmit}
+    />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html new file mode 100644 index 000000000..41d608b89 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html @@ -0,0 +1,892 @@ + + + + + + Code coverage report for src/app/components/SingleBoxShadowInput.tsx + + + + + + + + + +
+
+

All files / src/app/components SingleBoxShadowInput.tsx

+
+ +
+ 0% + Statements + 0/69 +
+ + +
+ 0% + Branches + 0/48 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/67 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import {
+  useDrop, useDrag, DropTargetMonitor,
+} from 'react-dnd';
+import { useUIDSeed } from 'react-uid';
+import { XYCoord } from 'dnd-core';
+import debounce from 'lodash.debounce';
+import { useTranslation } from 'react-i18next';
+import {
+  Box, IconButton, Stack, ToggleGroup,
+} from '@tokens-studio/ui';
+import IconMinus from '@/icons/minus.svg';
+import IconGrabber from '@/icons/grabber.svg';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { TokenBoxshadowValue } from '@/types/values';
+import ColorPicker from './ColorPicker';
+import SingleBoxShadowDownShiftInput from './SingleBoxShadowDownShiftInput';
+import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
+ 
+interface DragItem {
+  index: number;
+  id: string;
+  type: string;
+}
+ 
+enum ItemTypes {
+  CARD = 'card',
+}
+ 
+const propertyTypes = {
+  x: 'sizing',
+  y: 'sizing',
+  blur: 'sizing',
+  spread: 'sizing',
+  color: 'color',
+};
+ 
+export const newTokenValue: TokenBoxshadowValue = {
+  x: '0', y: '0', blur: '0', spread: '0', color: '#000000', type: BoxShadowTypes.INNER_SHADOW,
+};
+ 
+export default function SingleBoxShadowInput({
+  value,
+  isMultiple = false,
+  shadowItem,
+  index,
+  handleBoxShadowValueChange,
+  onRemove,
+  id,
+  resolvedTokens,
+  onSubmit,
+}: {
+  value?: TokenBoxshadowValue | TokenBoxshadowValue[]
+  isMultiple?: boolean;
+  shadowItem?: TokenBoxshadowValue;
+  index: number;
+  handleBoxShadowValueChange: (shadow: TokenBoxshadowValue | TokenBoxshadowValue[]) => void;
+  onRemove: (index: number) => void;
+  id?: string;
+  resolvedTokens: ResolveTokenValuesResult[];
+  onSubmit: () => void
+}) {
+  const seed = useUIDSeed();
+  const [inputHelperOpen, setInputHelperOpen] = React.useState<boolean>(false);
+  const { t } = useTranslation(['tokens']);
+  const handleToggleInputHelper = React.useCallback(() => setInputHelperOpen(!inputHelperOpen), [inputHelperOpen]);
+ 
+  const onChange = React.useCallback((property: string, newValue: string) => {
+    if (Array.isArray(value)) {
+      const values = [...value];
+      values.splice(index, 1, { ...value[index], [property]: newValue });
+      handleBoxShadowValueChange(values);
+    } else {
+      handleBoxShadowValueChange({
+        ...newTokenValue,
+        ...value,
+        [property]: newValue,
+      });
+    }
+  }, [index, value, handleBoxShadowValueChange]);
+ 
+  const onTypeChange = React.useCallback((newValue: BoxShadowTypes) => {
+    if (newValue !== BoxShadowTypes.DROP_SHADOW && newValue !== BoxShadowTypes.INNER_SHADOW) return;
+    if (Array.isArray(value)) {
+      const values = [...value];
+      values.splice(index, 1, { ...value[index], type: newValue });
+      handleBoxShadowValueChange(values);
+    } else {
+      handleBoxShadowValueChange({
+        ...newTokenValue,
+        ...value,
+        type: newValue,
+      });
+    }
+  }, [index, value, handleBoxShadowValueChange]);
+ 
+  const handleBoxshadowValueDownShiftInputChange = React.useCallback((newInputValue: string, property: string) => {
+    if (Array.isArray(value)) {
+      const values = [...value];
+      values.splice(index, 1, { ...value[index], [property]: newInputValue });
+      handleBoxShadowValueChange(values);
+    } else {
+      handleBoxShadowValueChange({
+        ...newTokenValue,
+        ...value,
+        [property]: newInputValue,
+      });
+    }
+  }, [index, value, handleBoxShadowValueChange]);
+ 
+  const exchangeBoxshadowValue = React.useCallback((newValue: TokenBoxshadowValue | TokenBoxshadowValue[]) => {
+    handleBoxShadowValueChange(newValue);
+  }, [handleBoxShadowValueChange]);
+ 
+  const onColorChange = React.useCallback((color: string) => {
+    if (Array.isArray(value)) {
+      const values = [...value];
+      values.splice(index, 1, { ...value[index], color: color.trim() });
+      handleBoxShadowValueChange(values);
+    } else {
+      handleBoxShadowValueChange({
+        ...newTokenValue,
+        ...value,
+        color,
+      });
+    }
+  }, [index, value, handleBoxShadowValueChange]);
+ 
+  const onMoveDebounce = React.useCallback((dragIndex: number, hoverIndex: number) => {
+    const values = value;
+    if (Array.isArray(values)) {
+      const dragItem = values[dragIndex];
+      values.splice(dragIndex, 1);
+      values.splice(hoverIndex, 0, dragItem);
+    }
+    exchangeBoxshadowValue(values ?? []);
+  }, [value, exchangeBoxshadowValue]);
+ 
+  const onMove = debounce(onMoveDebounce, 300);
+ 
+  const handleRemove = React.useCallback(() => {
+    onRemove(index);
+  }, [index, onRemove]);
+ 
+  const ref = React.useRef<HTMLDivElement>(null);
+ 
+  interface DropCollectedProps {
+    handlerId: string;
+  }
+ 
+  const [{ handlerId }, drop] = useDrop<DragItem, DropTargetMonitor, DropCollectedProps>({
+    accept: ItemTypes.CARD,
+    collect: (monitor: DropTargetMonitor) => ({
+      handlerId: monitor.getHandlerId()?.toString() ?? 'default-dnd-handler-id',
+    }),
+    hover(item: DragItem, monitor: DropTargetMonitor) {
+      if (!ref.current) {
+        return;
+      }
+      const dragIndex = item.index;
+      const hoverIndex = index;
+ 
+      if (dragIndex === hoverIndex) {
+        return;
+      }
+ 
+      const hoverBoundingRect = ref.current?.getBoundingClientRect();
+ 
+      const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
+ 
+      const clientOffset = monitor.getClientOffset();
+ 
+      const hoverClientY = (clientOffset as XYCoord).y - hoverBoundingRect.top;
+ 
+      if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {
+        return;
+      }
+ 
+      if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {
+        return;
+      }
+ 
+      onMove(dragIndex, hoverIndex);
+      item.index = hoverIndex;
+    },
+  });
+ 
+  // TODO: Check this... AI fixed it..
+  const [{ isDragging }, drag] = useDrag({
+    type: ItemTypes.CARD,
+    item: {
+      type: ItemTypes.CARD,
+      id,
+      index,
+    },
+    collect: (monitor: any) => ({
+      isDragging: monitor.isDragging(),
+    }),
+  });
+ 
+  drag(drop(ref));
+ 
+  // TODO: i18n: remove isMultiple logic? - doesn't seem to need a translaton
+ 
+  return (
+    <Box css={{
+      display: 'flex', flexDirection: 'column', gap: '$2', opacity: isDragging ? 0 : 1,
+    }}
+    >
+ 
+      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }} ref={ref}>
+        {isMultiple && (
+          <Box css={{ display: 'flex', width: '$8' }}>
+            <IconButton
+              tooltip="Click to drag"
+              icon={<IconGrabber />}
+              data-handler-id={handlerId}
+              variant="invisible"
+              size="small"
+            />
+          </Box>
+        )}
+        <Stack justify="end" css={{ width: '100%' }}>
+          <ToggleGroup type="single" value={shadowItem?.type ?? newTokenValue.type} onValueChange={onTypeChange}>
+            <ToggleGroup.Item iconOnly={false} value="innerShadow">{t('shadow.inner')}</ToggleGroup.Item>
+            <ToggleGroup.Item iconOnly={false} value="dropShadow">{t('shadow.drop')}</ToggleGroup.Item>
+          </ToggleGroup>
+        </Stack>
+        {isMultiple && (
+          <IconButton
+            tooltip={t('shadow.removeThisShadow')}
+            data-testid="button-shadow-remove-multiple"
+            onClick={handleRemove}
+            icon={<IconMinus />}
+            variant="invisible"
+          />
+        )}
+      </Box>
+      <Box css={{
+        display: 'flex', flexDirection: 'column', gap: '$2', paddingLeft: isMultiple ? '$8' : '0',
+      }}
+      >
+        {
+          Object.keys(propertyTypes).map((key, keyIndex) => (
+            <>
+              <SingleBoxShadowDownShiftInput
+                name={key}
+                key={`boxshadow-input-${seed(index)}-${seed(keyIndex)}`}
+                value={String(
+                  shadowItem?.[key as keyof typeof propertyTypes]
+                  ?? newTokenValue[key as keyof typeof newTokenValue],
+                )}
+                type={propertyTypes[key as keyof typeof propertyTypes]}
+                resolvedTokens={resolvedTokens}
+                handleChange={onChange}
+                setInputValue={handleBoxshadowValueDownShiftInputChange}
+                handleToggleInputHelper={handleToggleInputHelper}
+                onSubmit={onSubmit}
+              />
+              {inputHelperOpen && key === 'color' && (
+                <ColorPicker value={shadowItem?.[key] || newTokenValue?.[key]} onChange={onColorChange} />
+              )}
+            </>
+          ))
+        }
+      </Box>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html new file mode 100644 index 000000000..a07d54d21 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/app/components/SingleCompositionTokenContent.tsx + + + + + + + + + +
+
+

All files / src/app/components SingleCompositionTokenContent.tsx

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useContext,
+} from 'react';
+import { useSelector } from 'react-redux';
+import { useUIDSeed } from 'react-uid';
+import { activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors';
+import { DragControlsContext } from '@/context';
+import SingleCompositionTokenForm from './SingleCompositionTokenForm';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { StyledDragButton } from './StyledDragger/StyledDragButton';
+import { DragGrabber } from './StyledDragger/DragGrabber';
+ 
+type Props = React.PropsWithChildren<{
+  index: number;
+  property: string;
+  propertyValue: string;
+  tokenValue: NodeTokenRefMap;
+  properties: string[];
+  resolvedTokens: ResolveTokenValuesResult[];
+  setTokenValue: (neweTokenValue: NodeTokenRefMap) => void;
+  onRemove: (property: string) => void;
+  setOrderObj: (newOrderObj: NodeTokenRefMap) => void;
+  setError: (newError: boolean) => void;
+  onSubmit: () => void
+}>;
+ 
+export function SingleCompositionTokenContent({
+  index,
+  property,
+  propertyValue,
+  tokenValue,
+  properties,
+  resolvedTokens,
+  setTokenValue,
+  onRemove,
+  setOrderObj,
+  setError,
+  onSubmit,
+}: Props) {
+  const dragContext = useContext(DragControlsContext);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
+  const seed = useUIDSeed();
+ 
+  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
+    dragContext.controls?.start(event);
+  }, [dragContext.controls]);
+ 
+  return (
+    <StyledDragButton
+      grabberVisible
+      type="button"
+      style={{ cursor: 'inherit' }}
+      css={{ padding: '$1 0 $1 $1' }}
+    >
+      <DragGrabber<string>
+        item={property}
+        canReorder={!editProhibited && !activeTokenSetReadOnly}
+        onDragStart={handleDragStart}
+      />
+      <SingleCompositionTokenForm
+        key={`single-style-${seed(index)}`}
+        index={index}
+        property={property}
+        propertyValue={propertyValue}
+        tokenValue={tokenValue}
+        properties={properties}
+        resolvedTokens={resolvedTokens}
+        setTokenValue={setTokenValue}
+        onRemove={onRemove}
+        setOrderObj={setOrderObj}
+        setError={setError}
+        onSubmit={onSubmit}
+      />
+    </StyledDragButton>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html new file mode 100644 index 000000000..8ebaa3586 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html @@ -0,0 +1,526 @@ + + + + + + Code coverage report for src/app/components/SingleCompositionTokenForm.tsx + + + + + + + + + +
+
+

All files / src/app/components SingleCompositionTokenForm.tsx

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useUIDSeed } from 'react-uid';
+import {
+  Select, Box, IconButton, Stack,
+} from '@tokens-studio/ui';
+import IconMinus from '@/icons/minus.svg';
+import { Properties } from '@/constants/Properties';
+import { CompositionTokenProperty } from '@/types/CompositionTokenProperty';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import DownshiftInput from './DownshiftInput';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { useTypeForProperty } from '../hooks/useTypeForProperty';
+ 
+export default function SingleCompositionTokenForm({
+  index,
+  property,
+  propertyValue,
+  tokenValue,
+  properties,
+  resolvedTokens,
+  setTokenValue,
+  onRemove,
+  setOrderObj,
+  setError,
+  onSubmit,
+}: {
+  index: number;
+  property: string;
+  propertyValue: string;
+  tokenValue: NodeTokenRefMap;
+  properties: string[];
+  resolvedTokens: ResolveTokenValuesResult[];
+  setTokenValue: (neweTokenValue: NodeTokenRefMap) => void;
+  onRemove: (property: string) => void;
+  setOrderObj: (newOrderObj: NodeTokenRefMap) => void;
+  setError: (newError: boolean) => void;
+  onSubmit: () => void
+}) {
+  const propertyType = useTypeForProperty(property);
+  const seed = useUIDSeed();
+  const { t } = useTranslation(['tokens']);
+ 
+  const onPropertySelected = useCallback((newProperty: string) => {
+    // keep the order of the properties when select new property
+    const newOrderObj: NodeTokenRefMap = {};
+    const keysInTokenValue = Object.keys(tokenValue);
+    keysInTokenValue.splice(index, 1, newProperty);
+    keysInTokenValue.forEach((key, idx) => {
+      newOrderObj[key as keyof typeof Properties] = String(idx);
+    });
+    setOrderObj(newOrderObj);
+ 
+    // set newTokenValue
+    delete tokenValue[property as keyof typeof Properties];
+    tokenValue[newProperty as keyof typeof Properties] = propertyValue;
+    setTokenValue(tokenValue);
+    setError(false);
+  }, [index, property, propertyValue, setError, setOrderObj, setTokenValue, tokenValue]);
+ 
+  const onPropertyValueChanged = React.useCallback(
+    (type: string, value: string) => {
+      tokenValue[property as CompositionTokenProperty] = value;
+      setTokenValue(tokenValue);
+    },
+    [property, setTokenValue, tokenValue],
+  );
+ 
+  const handleDownShiftInputChange = React.useCallback((newInputValue: string) => {
+    tokenValue[property as CompositionTokenProperty] = newInputValue;
+    setTokenValue(tokenValue);
+  }, [property, setTokenValue, tokenValue]);
+ 
+  const handleRemove = useCallback(() => {
+    onRemove(property);
+  }, [onRemove, property]);
+ 
+  const renderSelect = () => (
+    <Select value={property || t('chooseAProperty')} onValueChange={onPropertySelected}>
+      <Select.Trigger
+        value={property || t('chooseAProperty')}
+        size="small"
+        css={{
+          borderTopRightRadius: '0',
+          borderBottomRightRadius: '0',
+          height: 'auto',
+          alignSelf: 'stretch',
+          width: '155px',
+          overflow: 'hidden',
+          textOverflow: 'ellipsis',
+          border: 'none', // We're using a wrapper that controls the border
+          '& * svg': property ? { // Hides the arrow for properties
+            display: 'none',
+          } : {},
+        }}
+        data-testid="composition-token-dropdown"
+      />
+      <Select.Content>
+        {properties.length > 0
+              && properties.map((prop, idx) => <Select.Item data-testid={`item-dropdown-menu-element-${prop}`} key={`property-${seed(idx)}`} value={prop}>{prop}</Select.Item>)}
+      </Select.Content>
+    </Select>
+  );
+ 
+  return (
+    <Box css={{
+      width: '100%',
+      display: 'flex',
+      justifyContent: 'space-between',
+      alignItems: 'center',
+      gap: '$3',
+      '& > .relative ': {
+        flex: '2',
+      },
+    }}
+    >
+      <Stack direction="row" css={{ flex: 1, alignItems: 'center' }}>
+        <Box css={{ flexGrow: 1 }}>
+          <DownshiftInput
+            value={propertyValue}
+            type={propertyType}
+            resolvedTokens={resolvedTokens}
+            handleChange={onPropertyValueChanged}
+            setInputValue={handleDownShiftInputChange}
+            prefix={renderSelect()}
+            isComposition
+            placeholder={
+              propertyType === 'color' ? t('colorOrAlias') : t('valueOrAlias')
+            }
+            suffix
+            onSubmit={onSubmit}
+          />
+        </Box>
+      </Stack>
+      <Box css={{ width: '$5', marginRight: '$4' }}>
+        <IconButton
+          tooltip={t('removeThisStyle')}
+          data-testid="button-style-remove-multiple"
+          onClick={handleRemove}
+          icon={<IconMinus />}
+          size="small"
+          variant="invisible"
+        />
+      </Box>
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html new file mode 100644 index 000000000..1307bc9ab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/app/components/SingleTypographyDownShiftInput.tsx + + + + + + + + + +
+
+

All files / src/app/components SingleTypographyDownShiftInput.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import DownshiftInput from './DownshiftInput';
+import { getLabelForProperty } from '@/utils/getLabelForProperty';
+ 
+export default function SingleTypographyDownShiftInput({
+  name,
+  value,
+  type,
+  resolvedTokens,
+  externalFontFamily,
+  handleChange,
+  setInputValue,
+  onSubmit,
+}: {
+  name: string,
+  value: string;
+  type: string;
+  resolvedTokens: ResolveTokenValuesResult[];
+  externalFontFamily?: string;
+  handleChange: (property: string, value: string) => void;
+  setInputValue: (newInputValue: string, property: string) => void;
+  onSubmit: () => void
+}) {
+  const handleBoxshadowDownShiftInputChange = React.useCallback((newInputValue: string) => {
+    setInputValue(newInputValue, name);
+  }, [name, setInputValue]);
+ 
+  const getIconComponent = React.useMemo(() => getLabelForProperty(name), [name]);
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  return (
+    <DownshiftInput
+      name={name}
+      value={value}
+      type={type}
+      label={getIconComponent}
+      inlineLabel
+      resolvedTokens={resolvedTokens}
+      externalFontFamily={externalFontFamily}
+      handleChange={handleChange}
+      setInputValue={handleBoxshadowDownShiftInputChange}
+      placeholder={`${name} ${t('valueOrAlias')}`}
+      suffix
+      onSubmit={onSubmit}
+    />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html new file mode 100644 index 000000000..514a20adf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/Stack.tsx + + + + + + + + + +
+
+

All files / src/app/components Stack.tsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { Stack as StackPrimitive } from '@tokens-studio/ui';
+ 
+export default StackPrimitive;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html new file mode 100644 index 000000000..6a95266a6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html @@ -0,0 +1,556 @@ + + + + + + Code coverage report for src/app/components/StartScreen.tsx + + + + + + + + + +
+
+

All files / src/app/components StartScreen.tsx

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import {
+  BookmarkIcon, ReaderIcon, ChatBubbleIcon, GitHubLogoIcon,
+} from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import { Button, Heading } from '@tokens-studio/ui';
+import TokensStudioLogo from '@/icons/tokensstudio-full.svg';
+import Text from './Text';
+import Callout from './Callout';
+import { Dispatch } from '../store';
+import { apiProvidersSelector, storageTypeSelector } from '@/selectors';
+import Stack from './Stack';
+import { styled } from '@/stitches.config';
+import { Tabs } from '@/constants/Tabs';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import Box from './Box';
+import { transformProviderName } from '@/utils/transformProviderName';
+import { track } from '@/utils/analytics';
+import Footer from './Footer';
+ 
+const StyledTokensStudioIcon = styled(TokensStudioLogo, {
+  width: '200px',
+  height: '23px',
+});
+ 
+const HelpfulLink = styled('a', {
+  color: '$fgMuted',
+  display: 'flex',
+  alignItems: 'center',
+  gap: '$3',
+  padding: '0 $1',
+  fontSize: '$xsmall',
+  '&:hover, &:focus': {
+    color: '$fgDefault',
+  },
+});
+ 
+function StartScreen() {
+  const dispatch = useDispatch<Dispatch>();
+  const { t } = useTranslation(['startScreen']);
+ 
+  const storageType = useSelector(storageTypeSelector);
+  const apiProviders = useSelector(apiProvidersSelector);
+ 
+  const onSetEmptyTokens = React.useCallback(() => {
+    track('Start with empty set');
+    dispatch.uiState.setActiveTab(Tabs.TOKENS);
+    dispatch.tokenState.setEmptyTokens();
+  }, [dispatch]);
+ 
+  const onSetDefaultTokens = React.useCallback(() => {
+    track('Start with exmaple set');
+    dispatch.uiState.setActiveTab(Tabs.TOKENS);
+    dispatch.tokenState.setDefaultTokens();
+  }, [dispatch]);
+ 
+  const onSetSyncClick = React.useCallback(() => {
+    if (storageType.provider === StorageProviderType.LOCAL) {
+      return;
+    }
+    const matchingProvider = apiProviders.find((i) => i.internalId === storageType?.internalId);
+    const credentialsToSet = matchingProvider
+      ? { ...matchingProvider, provider: storageType.provider, new: true }
+      : {
+        ...storageType,
+        new: true,
+      };
+    dispatch.uiState.setActiveTab(Tabs.SETTINGS);
+    dispatch.tokenState.setEmptyTokens();
+    dispatch.uiState.setLocalApiState(credentialsToSet);
+  }, [apiProviders, dispatch.tokenState, dispatch.uiState, storageType]);
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        flexDirection: 'column',
+        height: '100%',
+        overflow: 'hidden',
+      }}
+    >
+      <Box className="content scroll-container" css={{ padding: '$5', height: '100%', display: 'flex' }}>
+        <Stack
+          direction="column"
+          gap={6}
+          align="start"
+          css={{
+            padding: '$7',
+            margin: 'auto',
+            maxWidth: '400px',
+            borderRadius: '$medium',
+          }}
+        >
+          <Stack direction="row" gap={4}>
+            <StyledTokensStudioIcon />
+          </Stack>
+          <Text muted>{t('intro')}</Text>
+          <Stack direction="column" gap={4}>
+            <Heading size="large">
+              {' '}
+              {t('guides')}
+            </Heading>
+            <Stack direction="column" gap={3}>
+              <HelpfulLink href="https://docs.tokens.studio/get-started/install-figma-plugin?ref=startscreen" target="_blank">
+                <BookmarkIcon />
+                {t('gettingStarted')}
+              </HelpfulLink>
+              <HelpfulLink href="https://docs.tokens.studio/?ref=startscreen" target="_blank">
+                <ReaderIcon />
+                {t('documentation')}
+              </HelpfulLink>
+              <HelpfulLink href="https://tokens.studio/slack" target="_blank">
+                <ChatBubbleIcon />
+                {t('joinSlack')}
+              </HelpfulLink>
+            </Stack>
+          </Stack>
+          {storageType?.provider !== StorageProviderType.LOCAL ? (
+            <Callout
+              id="callout-action-setupsync"
+              heading={t('couldNotLoadTokens', { provider: transformProviderName(storageType?.provider) })}
+              description={t('unableToFetchRemote')}
+              action={{
+                onClick: onSetSyncClick,
+                text: t('enterCredentials'),
+              }}
+            />
+          ) : (
+            <Stack direction="row" gap={2}>
+              <Button data-testid="button-configure" size="small" variant="primary" onClick={onSetEmptyTokens}>
+                {t('newEmptyFile')}
+              </Button>
+              <Button data-testid="button-configure-preset" size="small" variant="invisible" onClick={onSetDefaultTokens}>
+                {t('loadExample')}
+              </Button>
+            </Stack>
+          )}
+          <Stack direction="row" align="center" gap={3}>
+            <GitHubLogoIcon />
+            <a
+              href="https://github.com/tokens-studio/figma-plugin"
+              style={{ textDecoration: 'underline', color: '$fgMuted', fontSize: '$xsmall' }}
+              target="_blank"
+              rel="noreferrer"
+            >
+              {t('foundIssue')}
+            </a>
+          </Stack>
+        </Stack>
+      </Box>
+      <Footer />
+    </Box>
+  );
+}
+ 
+export default StartScreen;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html new file mode 100644 index 000000000..c965710e4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html @@ -0,0 +1,583 @@ + + + + + + Code coverage report for src/app/components/StorageItem.tsx + + + + + + + + + +
+
+

All files / src/app/components StorageItem.tsx

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { useDispatch, useSelector } from 'react-redux';
+import { DotsVerticalIcon, ExclamationTriangleIcon } from '@radix-ui/react-icons';
+import {
+  Button, Box, Badge, Stack, IconButton, DropdownMenu,
+} from '@tokens-studio/ui';
+import isSameCredentials from '@/utils/isSameCredentials';
+import useRemoteTokens from '../store/remoteTokens';
+import { storageTypeSelector } from '@/selectors';
+import { StyledStorageItem } from './StyledStorageItem';
+import { StorageProviderType, type StorageTypeCredentials } from '@/types/StorageType';
+import { isGitProvider } from '@/utils/is';
+import useConfirm from '../hooks/useConfirm';
+import { getProviderIcon } from '@/utils/getProviderIcon';
+import useStorage from '../store/useStorage';
+import { Dispatch } from '../store';
+import { TokenFormatBadge } from './TokenFormatBadge';
+ 
+type Props = {
+  item: StorageTypeCredentials;
+  onEdit: () => void;
+};
+ 
+const StorageItem = ({ item, onEdit }: Props) => {
+  const [hasErrored, setHasErrored] = React.useState(false);
+  const [errorMessage, setErrorMessage] = React.useState<string>();
+  const storageType = useSelector(storageTypeSelector);
+  const { provider, id, name } = item;
+  const branch = isGitProvider(item) ? item.branch : null;
+  const { restoreStoredProvider, deleteProvider } = useRemoteTokens();
+  const { confirm } = useConfirm();
+  const { setStorageType } = useStorage();
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const { t } = useTranslation(['storage']);
+ 
+  const askUserIfDelete = React.useCallback(async () => {
+    const shouldDelete = await confirm({
+      text: t('confirmDelete') as string,
+    });
+    return shouldDelete;
+  }, [confirm, t]);
+ 
+  const isActive = React.useCallback(() => isSameCredentials(item, storageType), [item, storageType]);
+ 
+  const handleDelete = React.useCallback(async () => {
+    if (await askUserIfDelete()) {
+      deleteProvider(item);
+      dispatch.tokenState.setEditProhibited(false);
+      dispatch.uiState.setLocalApiState({ provider: StorageProviderType.LOCAL });
+      setStorageType({
+        provider: { provider: StorageProviderType.LOCAL },
+        shouldSetInDocument: true,
+      });
+    }
+  }, [deleteProvider, item, askUserIfDelete, setStorageType, dispatch.uiState, dispatch.tokenState]);
+ 
+  const handleRestore = React.useCallback(async () => {
+    const response = await restoreStoredProvider(item);
+    if (response.status === 'success') {
+      setHasErrored(false);
+    } else {
+      setHasErrored(true);
+      setErrorMessage(response?.errorMessage);
+    }
+  }, [item, restoreStoredProvider]);
+ 
+  return (
+    <StyledStorageItem data-testid={`storageitem-${provider}-${id}`} key={`${provider}-${id}`} active={isActive()}>
+      <Stack
+        direction="column"
+        gap={1}
+        css={{
+          flexGrow: '1',
+          overflow: 'hidden',
+        }}
+      >
+        <Stack
+          direction="row"
+          gap={3}
+          css={{
+            flexGrow: '1',
+            overflow: 'hidden',
+            maxWidth: 'stretch',
+          }}
+        >
+          <Box css={{ color: '$fgDefault' }}>{getProviderIcon(provider)}</Box>
+          <Stack direction="column" gap={0} css={{ overflow: 'hidden' }}>
+            <Box
+              css={{
+                textOverflow: 'ellipsis',
+                overflow: 'hidden',
+                whiteSpace: 'nowrap',
+                fontSize: '$small',
+                fontWeight: '$sansBold',
+              }}
+            >
+              {name}
+            </Box>
+            <Box
+              css={{
+                whiteSpace: 'nowrap',
+                textOverflow: 'ellipsis',
+                overflow: 'hidden',
+                color: '$fgMuted',
+                fontSize: '$xsmall',
+                maxWidth: '100%',
+              }}
+            >
+              {id}
+              {' '}
+              {branch && ` (${branch})`}
+            </Box>
+          </Stack>
+        </Stack>
+        {hasErrored && isActive() && (
+          <Box
+            css={{
+              display: 'flex',
+              flexDirection: 'row',
+              color: '$dangerFg',
+              gap: '$3',
+              marginTop: '$3',
+            }}
+            data-testid="error-message"
+          >
+            <ExclamationTriangleIcon />
+            {errorMessage}
+          </Box>
+        )}
+      </Stack>
+      <Box css={{ marginRight: '$1' }}>
+        {isActive() ? (
+          <Stack gap={2} align="center">
+            {storageType.provider !== StorageProviderType.TOKENS_STUDIO && (
+              <TokenFormatBadge extended />
+            )}
+            <Badge>{t('active')}</Badge>
+          </Stack>
+        ) : (
+          <Button data-testid="button-storage-item-apply" variant="secondary" size="small" onClick={handleRestore}>
+            {t('apply')}
+          </Button>
+        )}
+      </Box>
+      <DropdownMenu>
+        <DropdownMenu.Trigger asChild data-testid="storage-item-tools-dropdown">
+          <IconButton icon={<DotsVerticalIcon />} variant="invisible" size="small" />
+        </DropdownMenu.Trigger>
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content>
+            <DropdownMenu.Item textValue={t('edit')} onSelect={onEdit}>
+              {t('edit')}
+            </DropdownMenu.Item>
+            <DropdownMenu.Item textValue={t('delete')} onSelect={handleDelete} css={{ color: '$dangerFg' }}>
+              {t('delete')}
+            </DropdownMenu.Item>
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+    </StyledStorageItem>
+  );
+};
+ 
+export default StorageItem;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html new file mode 100644 index 000000000..aff65a360 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html @@ -0,0 +1,481 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm.tsx + + + + + + + + + +
+
+

All files / src/app/components StorageItemForm.tsx

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import GitForm from './StorageItemForm/GitForm';
+import ADOForm from './StorageItemForm/ADOForm';
+import JSONBinForm from './StorageItemForm/JSONBinForm';
+import URLForm from './StorageItemForm/URLForm';
+import GenericVersionedForm from './StorageItemForm/GenericVersioned';
+import BitbucketForm from './StorageItemForm/BitbucketForm';
+ 
+import { ChangeEventHandler } from './StorageItemForm/types';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import SupernovaForm from './StorageItemForm/SupernovaForm';
+import TokensStudioForm from './StorageItemForm/TokensStudioForm';
+ 
+type Props = {
+  values: StorageTypeFormValues<true>;
+  onChange: ChangeEventHandler;
+  onCancel: () => void;
+  onSubmit: (values: StorageTypeFormValues<false>) => void;
+  isNew?: boolean;
+  hasErrored?: boolean;
+  errorMessage?: string;
+ 
+};
+ 
+export default function StorageItemForm({
+  isNew = false, onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  switch (values.provider) {
+    case StorageProviderType.GITHUB:
+    case StorageProviderType.GITLAB: {
+      return (
+        <GitForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.BITBUCKET: {
+      return (
+        <BitbucketForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.ADO: {
+      return (
+        <ADOForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.URL: {
+      return (
+        <URLForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
+      return (
+        <GenericVersionedForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.JSONBIN: {
+      return (
+        <JSONBinForm
+          isNew={isNew}
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.SUPERNOVA: {
+      return (
+        <SupernovaForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    case StorageProviderType.TOKENS_STUDIO: {
+      return (
+        <TokensStudioForm
+          onChange={onChange}
+          onSubmit={onSubmit}
+          onCancel={onCancel}
+          values={values}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      );
+    }
+    default: {
+      return null;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html new file mode 100644 index 000000000..d89785452 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html @@ -0,0 +1,505 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/ADOForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm ADOForm.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import zod from 'zod';
+import {
+  Button, FormField, Stack, Text, Link, IconButton, Label, TextInput,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.ADO }>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.ADO }>;
+  onChange: ChangeEventHandler;
+  onCancel: () => void;
+  onSubmit: (values: ValidatedFormValues) => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function ADOForm({
+  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+  const [isMasked, setIsMasked] = React.useState(true);
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string().optional(),
+        id: zod.string(),
+        branch: zod.string(),
+        filePath: zod.string(),
+        baseUrl: zod.string(),
+        secret: zod.string(),
+        internalId: zod.string().optional(),
+      });
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>
+          {t('providers.ado.description')}
+          {' '}
+          <Link href="https://docs.tokens.studio/token-storage/remote/sync-git-azure-devops?ref=addprovider" target="_blank" rel="noreferrer">
+            {t('providers.ado.readMore')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="baseUrl">{t('providers.ado.orgUrl')}</Label>
+          <TextInput
+            autoFocus
+            value={values.baseUrl || ''}
+            placeholder="https://dev.azure.com/my_organization_name"
+            onChange={onChange}
+            type="text"
+            name="baseUrl"
+            id="baseUrl"
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="name">{t('providers.ado.projectName')}</Label>
+          <TextInput value={values.name || ''} onChange={onChange} type="text" name="name" id="name" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.ado.pat')}</Label>
+          <TextInput
+            value={values.secret || ''}
+            onChange={onChange}
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+            name="secret"
+            id="secret"
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.ado.repositoryName')}</Label>
+          <TextInput value={values.id || ''} onChange={onChange} type="text" name="id" id="id" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="branch">{t('branch')}</Label>
+          <TextInput name="branch" id="branch" value={values.branch || ''} onChange={onChange} type="text" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="filePath">{t('filePath')}</Label>
+          <TextInput
+            value={values.filePath || ''}
+            onChange={onChange}
+            type="text"
+            name="filePath"
+            id="filePath"
+            required
+          />
+          <Text muted>{t('filePathCaption')}</Text>
+        </FormField>
+ 
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+ 
+          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html new file mode 100644 index 000000000..6cafbfe03 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html @@ -0,0 +1,517 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/BitbucketForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm BitbucketForm.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import zod from 'zod';
+import {
+  Button, TextInput, Stack, FormField, Label, Link, IconButton, Text,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.BITBUCKET }>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.BITBUCKET }>;
+  onChange: ChangeEventHandler;
+  onSubmit: (values: ValidatedFormValues) => void;
+  onCancel: () => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function BitbucketForm({
+  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+  const [isMasked, setIsMasked] = React.useState(true);
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string(),
+        username: zod.string(),
+        id: zod.string(),
+        branch: zod.string(),
+        filePath: zod.string(),
+        baseUrl: zod.string().optional(),
+        secret: zod.string(),
+        internalId: zod.string().optional(),
+      });
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>{t('bitBucketExplained')}</Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          <Link
+            href="https://docs.tokens.studio/token-storage/remote/sync-git-bitbucket?ref=addprovider"
+            target="_blank"
+            rel="noreferrer"
+          >
+            {t('readMoreBitBucket')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('name')}</Label>
+          <TextInput value={values.name || ''} onChange={onChange} type="text" name="name" id="name" required />
+          <Text muted>{t('nameHelpText')}</Text>
+        </FormField>
+        <FormField>
+          <Label htmlFor="name">{t('providers.bitbucket.username')}</Label>
+          <TextInput
+            value={values.username || ''}
+            onChange={onChange}
+            type="text"
+            name="username"
+            id="username"
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.bitbucket.appPassword')}</Label>
+          <TextInput
+            value={values.secret || ''}
+            onChange={onChange}
+            name="secret"
+            id="secret"
+            required
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="id">{t('providers.bitbucket.repository')}</Label>
+          <TextInput value={values.id || ''} onChange={onChange} type="text" name="id" id="id" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="branch">{t('branch')}</Label>
+          <TextInput value={values.branch || ''} onChange={onChange} type="text" name="branch" id="branch" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="filePath">{t('filePath')}</Label>
+          <TextInput
+            value={values.filePath || ''}
+            onChange={onChange}
+            type="text"
+            name="filePath"
+            id="filePath"
+            required
+          />
+          <Text muted size="xsmall">
+            {t('filePathCaption')}
+          </Text>
+        </FormField>
+ 
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html new file mode 100644 index 000000000..aecb9a6b2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html @@ -0,0 +1,793 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/GenericVersioned.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm GenericVersioned.tsx

+
+ +
+ 0% + Statements + 0/44 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import zod from 'zod';
+import { useTranslation } from 'react-i18next';
+import {
+  Box,
+  Stack,
+  Text,
+  Link,
+  IconButton,
+  Button,
+  Heading,
+  Select,
+  TextInput,
+  Label,
+  FormField,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { StorageTypeFormValues, GenericVersionedStorageFlow } from '@/types/StorageType';
+import XIcon from '@/icons/x.svg';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<
+StorageTypeFormValues<false>,
+{ provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }
+>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>;
+  onChange: ChangeEventHandler;
+  onCancel: () => void;
+  onSubmit: (values: ValidatedFormValues) => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+const zodSchema = zod.object({
+  provider: zod.string(),
+  id: zod.string(),
+  name: zod.string(),
+  flow: zod.string(),
+  additionalHeaders: zod.array(
+    zod.object({
+      name: zod.string(),
+      value: zod.string().default('storage.providers.generic.'),
+    }),
+  ),
+  internalId: zod.string().optional(),
+});
+ 
+export default function GenericVersionedForm({
+  onChange,
+  onSubmit,
+  onCancel,
+  values,
+  hasErrored,
+  errorMessage,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+  const [isMasked, setIsMasked] = React.useState(true);
+ 
+  const toggleMask = useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+      const validationResult = zodSchema.safeParse({ additionalHeaders: [], ...values });
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          provider: StorageProviderType.GENERIC_VERSIONED_STORAGE,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      } else {
+        // eslint-disable-next-line no-console
+        console.log(validationResult, values);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  const handleValueChange = useCallback(
+    (flow: string) => onChange({
+      target: {
+        name: 'flow',
+        value: flow as GenericVersionedStorageFlow,
+      },
+    }),
+    [onChange],
+  );
+ 
+  const flow = useMemo(() => {
+    // If the form was created initially, default to Read write flow
+    if (typeof values.flow === 'undefined') {
+      const defaultFlow = GenericVersionedStorageFlow.READ_WRITE;
+      handleValueChange(defaultFlow);
+      return defaultFlow;
+    }
+    return values.flow;
+  }, [handleValueChange, values.flow]);
+ 
+  // Always leave headers at the end
+  const headers = useMemo(
+    () => [...(values.additionalHeaders || []), { name: '', value: '' }],
+    [values.additionalHeaders],
+  );
+ 
+  const headerChange = useCallback(
+    (changedHeaders: any) => {
+      onChange({
+        target: {
+          name: 'additionalHeaders',
+          value: changedHeaders,
+        },
+      });
+    },
+    [onChange],
+  );
+  const onHeaderChange = useCallback(
+    (e: React.ChangeEvent<HTMLInputElement>) => {
+      // Get the name of the target
+      const key = e.target.name;
+      const { value } = e.target;
+ 
+      const index = Number(e.target.dataset.index);
+ 
+      // Attempt to access the header at that value
+      const sampleHeader = headers[index];
+ 
+      // Create a new header. Don't mutate the existing header
+      const newHeader = {
+        ...sampleHeader,
+        [key]: value,
+      };
+ 
+      headers[index] = newHeader;
+ 
+      const newHeaders = headers.filter((x) => x.name.length);
+      headerChange(newHeaders);
+    },
+    [headerChange, headers],
+  );
+ 
+  const handleClose = useCallback(
+    (e: any) => {
+      const index = Number(e.target.dataset.index);
+ 
+      const removedHeaders = [...headers];
+      removedHeaders.splice(index, 1);
+      const newHeaders = removedHeaders.filter((x) => x.name.length);
+      headerChange(newHeaders);
+    },
+    [headers, headerChange],
+  );
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>{t('providers.generic.description')}</Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          <Link href="https://docs.tokens.studio/token-storage/remote/sync-server-generic?ref=addprovider" target="_blank" rel="noreferrer">
+            {t('providers.generic.readMore')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('providers.generic.name')}</Label>
+          <TextInput name="name" id="name" value={values.name || ''} onChange={onChange} type="text" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="id">{t('providers.generic.url')}</Label>
+          <TextInput value={values.id || ''} onChange={onChange} type="text" name="id" id="id" required />
+        </FormField>
+        <FormField>
+          <Label>{t('providers.generic.flowType')}</Label>
+          <Select value={flow} onValueChange={handleValueChange}>
+            <Select.Trigger data-testid="flow-dropdown" value={flow} />
+            <Select.Content>
+              <Select.Item value={GenericVersionedStorageFlow.READ_ONLY}>{t('providers.generic.readOnly')}</Select.Item>
+              <Select.Item value={GenericVersionedStorageFlow.READ_WRITE}>
+                {t('providers.generic.readWrite')}
+              </Select.Item>
+              <Select.Item value={GenericVersionedStorageFlow.READ_WRITE_CREATE}>
+                {t('providers.generic.readWriteCreate')}
+              </Select.Item>
+            </Select.Content>
+          </Select>
+        </FormField>
+        <Stack direction="column" gap={5}>
+          <Heading size="medium">{t('providers.generic.additionalHeaders')}</Heading>
+          {headers.map((x, i) => (
+            <Box css={{ display: 'flex', alignItems: 'flex-end', gap: '1em' }}>
+              <FormField>
+                <Label htmlFor="name">{t('providers.generic.name')}</Label>
+                <TextInput value={x?.name} onChange={onHeaderChange} type="text" name="name" id="name" data-index={i} />
+              </FormField>
+              <FormField>
+                <Label htmlFor="name">{t('providers.generic.value')}</Label>
+                <TextInput
+                  value={x.value}
+                  disabled={!x.name}
+                  onChange={onHeaderChange}
+                  type={isMasked ? 'password' : 'text'}
+                  trailingAction={(
+                    <IconButton
+                      variant="invisible"
+                      size="small"
+                      onClick={toggleMask}
+                      icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+                    />
+                  )}
+                  name="value"
+                  id="value"
+                  data-index={i}
+                />
+              </FormField>
+              <IconButton onClick={handleClose} data-index={i} variant="invisible" icon={<XIcon />} />
+            </Box>
+          ))}
+        </Stack>
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+          <Button variant="primary" type="submit" disabled={!values.id}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html new file mode 100644 index 000000000..fb2ef8b98 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html @@ -0,0 +1,571 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/GitForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm GitForm.tsx

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/28 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import zod from 'zod';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, FormField, IconButton, Label, Link, Stack, Text, TextInput,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeFormValues } from '@/types/StorageType';
+ 
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<
+StorageTypeFormValues<false>,
+{ provider: StorageProviderType.GITHUB | StorageProviderType.GITLAB }
+>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.GITHUB | StorageProviderType.GITLAB }>;
+  onChange: ChangeEventHandler;
+  onSubmit: (values: ValidatedFormValues) => void;
+  onCancel: () => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function GitForm({
+  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  const [isMasked, setIsMasked] = React.useState(true);
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const { t } = useTranslation(['storage']);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string(),
+        id: zod.string(),
+        branch: zod.string(),
+        filePath: zod.string(),
+        baseUrl: zod.string().optional(),
+        secret: zod.string(),
+        internalId: zod.string().optional(),
+      });
+ 
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  const baseUrlPlaceholder = `https://${values.provider}.hyma.com`;
+  const gitExplainedText = values.provider === StorageProviderType.GITHUB ? t('gitHubExplained') : t('gitLabExplained');
+  const readMoreText = values.provider === StorageProviderType.GITHUB ? t('readMoreGitHub') : t('readMoreGitLab');
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>{gitExplainedText}</Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          <Link
+            href={`https://docs.tokens.studio/sync/${values.provider}?ref=addprovider`}
+            target="_blank"
+            rel="noreferrer"
+          >
+            {readMoreText}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('name')}</Label>
+          <TextInput
+            autoFocus
+            name="name"
+            id="name"
+            value={values.name || ''}
+            onChange={onChange}
+            type="text"
+            required
+          />
+          <Text muted>{t('nameHelpText')}</Text>
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('pat')}</Label>
+          <TextInput
+            name="secret"
+            id="secret"
+            value={values.secret || ''}
+            onChange={onChange}
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="id">{t('repo')}</Label>
+          <TextInput name="id" id="id" value={values.id || ''} onChange={onChange} type="text" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="branch">{t('branch')}</Label>
+          <TextInput name="branch" id="branch" value={values.branch || ''} onChange={onChange} type="text" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="filePath">{t('filePath')}</Label>
+          <TextInput
+            name="filePath"
+            id="filePath"
+            defaultValue=""
+            value={values.filePath || ''}
+            onChange={onChange}
+            type="text"
+          />
+          <Text muted size="xsmall">
+            {t('filePathCaption')}
+          </Text>
+        </FormField>
+        <FormField>
+          <Label htmlFor="baseUrl">{t('baseUrl')}</Label>
+          <TextInput
+            name="baseUrl"
+            id="baseUrl"
+            value={values.baseUrl || ''}
+            placeholder={baseUrlPlaceholder}
+            onChange={onChange}
+            type="text"
+          />
+          <Text muted>{t('baseUrlHelpText')}</Text>
+        </FormField>
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+ 
+          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html new file mode 100644 index 000000000..fe60cfa09 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html @@ -0,0 +1,454 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/JSONBinForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm JSONBinForm.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/21 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import zod from 'zod';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, FormField, IconButton, Label, Link, Stack, Text, TextInput,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.JSONBIN }>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.JSONBIN }>;
+  onChange: ChangeEventHandler;
+  onCancel: () => void;
+  onSubmit: (values: ValidatedFormValues) => void;
+  isNew?: boolean;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function JSONBinForm({
+  isNew = false,
+  onChange,
+  onSubmit,
+  onCancel,
+  values,
+  hasErrored,
+  errorMessage,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+  const [isMasked, setIsMasked] = React.useState(true);
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string().optional(),
+        id: zod.string().optional(),
+        secret: zod.string(),
+        internalId: zod.string().optional(),
+      });
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          provider: StorageProviderType.JSONBIN,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>{t('providers.jsonbin.description')}</Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          <Link href="https://docs.tokens.studio/token-storage/remote/sync-cloud-jsonbin?ref=addprovider" target="_blank" rel="noreferrer">
+            {t('providers.jsonbin.readMore')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('name')}</Label>
+          <TextInput
+            autoFocus
+            name="name"
+            id="name"
+            value={values.name || ''}
+            onChange={onChange}
+            type="text"
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.jsonbin.apiKey')}</Label>
+          <TextInput
+            name="secret"
+            id="secret"
+            value={values.secret || ''}
+            onChange={onChange}
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="id">{`ID${isNew ? ' (optional)' : ''}`}</Label>
+          <TextInput name="id" id="id" value={values.id || ''} onChange={onChange} type="text" required={!isNew} />
+          <Text muted>{t('providers.jsonbin.idHelp')}</Text>
+        </FormField>
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+ 
+          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html new file mode 100644 index 000000000..d37eb8ff2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html @@ -0,0 +1,481 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/SupernovaForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm SupernovaForm.tsx

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useRef } from 'react';
+import zod from 'zod';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Textarea, TextInput, Stack, Text, Link, Label, IconButton, FormField,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { generateId } from '@/utils/generateId';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.SUPERNOVA }>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.SUPERNOVA }>;
+  onChange: React.ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;
+  onSubmit: (values: ValidatedFormValues) => void;
+  onCancel: () => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function SupernovaForm({
+  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  const inputEl = useRef<HTMLInputElement | null>(null);
+  const [isMasked, setIsMasked] = React.useState(true);
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const { t } = useTranslation(['storage']);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string(),
+        designSystemUrl: zod.string(),
+        secret: zod.string(),
+        mapping: zod.string(),
+        internalId: zod.string().optional(),
+      });
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  const handleMappingChange = React.useCallback(
+    (value: string, event: React.ChangeEvent<HTMLTextAreaElement>) => {
+      // TODO: Refactor how we pass on state here. Right now storage item form requires the full event.
+      onChange({ ...event, target: { ...event.target, name: 'mapping', value: event.target.value } });
+    },
+    [onChange],
+  );
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>{t('providers.supernova.description')}</Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          <Link href="https://docs.tokens.studio/token-storage/remote/sync-cloud-supernova?ref=addprovider" target="_blank" rel="noreferrer">
+            {t('providers.supernova.readMore')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('name')}</Label>
+          <TextInput name="name" id="name" value={values.name || ''} onChange={onChange} type="text" required />
+          <Text muted>{t('nameHelpText')}</Text>
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.supernova.accessToken')}</Label>
+          <TextInput
+            name="secret"
+            id="secret"
+            value={values.secret || ''}
+            onChange={onChange}
+            ref={inputEl}
+            required
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="designSystemUrl">{t('providers.supernova.dsUrl')}</Label>
+          <TextInput
+            name="designSystemUrl"
+            id="designSystemUrl"
+            value={values.designSystemUrl || ''}
+            onChange={onChange}
+            type="text"
+            required
+          />
+        </FormField>
+        <FormField>
+          <Label htmlFor="mapping">Supernova &lt;&gt; Tokens Studio mapping</Label>
+          <Textarea id="mapping" rows={8} value={values.mapping ?? ''} onChange={handleMappingChange} placeholder="" />
+        </FormField>
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+          <Button
+            variant="primary"
+            type="submit"
+            disabled={!values.secret && !values.name && !values.designSystemUrl && !values.mapping}
+          >
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html new file mode 100644 index 000000000..03fc98baa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html @@ -0,0 +1,886 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/TokensStudioForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm TokensStudioForm.tsx

+
+ +
+ 0% + Statements + 0/56 +
+ + +
+ 0% + Branches + 0/46 +
+ + +
+ 0% + Functions + 0/19 +
+ + +
+ 0% + Lines + 0/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useEffect } from 'react';
+import { useDispatch } from 'react-redux';
+import zod from 'zod';
+import {
+  Box,
+  Button,
+  FormField,
+  Heading,
+  IconButton,
+  Label,
+  Link,
+  Select,
+  Stack,
+  Text,
+  TextInput,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import { create, Organization } from '@tokens-studio/sdk';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+import TokensStudioWord from '@/icons/tokensstudio-word.svg';
+import { styled } from '@/stitches.config';
+import { GET_ORGS_QUERY } from '@/storage/tokensStudio/graphql';
+import { Dispatch } from '@/app/store';
+ 
+const StyledTokensStudioWord = styled(TokensStudioWord, {
+  width: '200px',
+  height: '25px',
+});
+ 
+type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.TOKENS_STUDIO }>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.TOKENS_STUDIO }>;
+  onChange: ChangeEventHandler;
+  onSubmit: (values: ValidatedFormValues) => void;
+  onCancel: () => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function TokensStudioForm({
+  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+  const [fetchOrgsError, setFetchOrgsError] = React.useState<string | null>(null);
+  const [orgData, setOrgData] = React.useState<Organization[]>([]);
+  const [isMasked, setIsMasked] = React.useState(true);
+  const [showTeaser, setShowTeaser] = React.useState(true);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string(),
+        id: zod.string(),
+        secret: zod.string(),
+        internalId: zod.string().optional(),
+        orgId: zod.string(),
+      });
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  React.useEffect(() => {
+    if (values.secret) {
+      setShowTeaser(false);
+    }
+  }, [values]);
+ 
+  const handleDismissTeaser = React.useCallback(() => {
+    setShowTeaser(false);
+  }, []);
+ 
+  const fetchOrgData = React.useCallback(async () => {
+    try {
+      const client = create({
+        host: process.env.TOKENS_STUDIO_API_HOST || 'localhost:4200',
+        secure: process.env.NODE_ENV !== 'development',
+        auth: `Bearer ${values.secret}`,
+      });
+      const result = await client.query({
+        query: GET_ORGS_QUERY,
+      });
+      if (result.data?.organizations && values.secret) {
+        setOrgData(result.data.organizations.data as Organization[]);
+        dispatch.userState.setTokensStudioPAT(values.secret);
+      }
+    } catch (error) {
+      setFetchOrgsError('Error fetching organization data. Please check your Studio API key.');
+    }
+  }, [values.secret, dispatch]);
+ 
+  useEffect(() => {
+    if (values.secret) {
+      fetchOrgData();
+    }
+  }, [values.secret, fetchOrgData]);
+ 
+  const orgOptions = React.useMemo(
+    () => orgData?.map((org) => ({
+      label: org.name,
+      value: org.id,
+    })),
+    [orgData],
+  );
+ 
+  const onOrgChange = React.useCallback(
+    (value: string) => {
+      onChange({ target: { name: 'orgId', value } });
+    },
+    [onChange],
+  );
+ 
+  const projectOptions = React.useMemo(() => {
+    if (!orgData) return [];
+    const selectedOrgData = orgData.find((org) => org.id === values.orgId);
+    if (!selectedOrgData) return [];
+    return selectedOrgData.projects.data.map((project) => ({
+      label: project.name,
+      value: project.id,
+    }));
+  }, [orgData, values.orgId]);
+ 
+  const selectedOrg = orgOptions?.find((org) => org.value === values.orgId);
+ 
+  const selectedProject = projectOptions?.find((project) => project.value === values.id);
+ 
+  const onProjectChange = React.useCallback(
+    (value: string) => {
+      onChange({ target: { name: 'id', value } });
+    },
+    [onChange],
+  );
+ 
+  return showTeaser ? (
+    <Stack direction="column" align="start" gap={5}>
+      <StyledTokensStudioWord />
+      <Stack direction="column" gap={3}>
+        <Heading size="large">A dedicated design tokens management platform</Heading>
+        <Box>
+          We are working a dedicated design tokens management platform built on our powerful node-based graph engine
+          including plug and play token transformation - suitable for enterprises! Still in early access, sign up for
+          the waitlist!
+        </Box>
+        <Link href="https://tokens.studio/studio" target="_blank" rel="noreferrer">
+          Learn more
+        </Link>
+      </Stack>
+      <Button onClick={handleDismissTeaser}>Already got access?</Button>
+    </Stack>
+  ) : (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>
+          {t('providers.tokensstudio.descriptionFirstPart')}
+          {' '}
+          <Link
+            href="https://q2gsw2tok1e.typeform.com/to/pJCwLVh2?typeform-source=tokens.studio"
+            target="_blank"
+            rel="noreferrer"
+          >
+            {t('providers.tokensstudio.signupText')}
+          </Link>
+        </Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          {t('providers.tokensstudio.descriptionSecondPart')}
+          <Link
+            href="https://docs.tokens.studio/token-storage/remote/sync-cloud-studio-platform?ref=addprovider"
+            target="_blank"
+            rel="noreferrer"
+          >
+            {t('providers.tokensstudio.tokensStudioSyncGuide')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('providers.tokensstudio.name')}</Label>
+          <TextInput name="name" id="name" value={values.name || ''} onChange={onChange} type="text" required />
+          <Text muted>{t('nameHelpText')}</Text>
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.tokensstudio.pat')}</Label>
+          <TextInput
+            value={values.secret || ''}
+            onChange={onChange}
+            name="secret"
+            id="secret"
+            onBlur={fetchOrgData}
+            required
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+          />
+          {fetchOrgsError && <Text muted>{fetchOrgsError}</Text>}
+        </FormField>
+        {orgOptions?.length > 0 && (
+          <Stack direction="column" gap={2}>
+            <Label htmlFor="org">{t('providers.tokensstudio.selectOrgLabel')}</Label>
+            <div>
+              <Select value={values.orgId ?? ''} onValueChange={onOrgChange} name="org">
+                <Select.Trigger value={selectedOrg?.label || 'Choose an organization'} />
+                <Select.Content>
+                  {orgOptions?.map((option) => (
+                    <Select.Item key={option.value} value={option.value}>
+                      {option.label}
+                    </Select.Item>
+                  ))}
+                </Select.Content>
+              </Select>
+            </div>
+          </Stack>
+        )}
+ 
+        {projectOptions?.length > 0 && (
+          <Stack direction="column" gap={2}>
+            <Label htmlFor="org">{t('providers.tokensstudio.selectProjectLabel')}</Label>
+            <div>
+              <Select value={values.id ?? ''} onValueChange={onProjectChange} name="id">
+                <Select.Trigger value={selectedProject?.label || 'Choose a project'} />
+                <Select.Content>
+                  {projectOptions?.map((option) => (
+                    <Select.Item key={option.value} value={option.value}>
+                      {option.label}
+                    </Select.Item>
+                  ))}
+                </Select.Content>
+              </Select>
+            </div>
+          </Stack>
+        )}
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html new file mode 100644 index 000000000..a01a06008 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html @@ -0,0 +1,433 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/URLForm.tsx + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm URLForm.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import zod from 'zod';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, TextInput, Stack, Text, Link, Label, IconButton, FormField,
+} from '@tokens-studio/ui';
+import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { generateId } from '@/utils/generateId';
+import { ChangeEventHandler } from './types';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.URL }>;
+type Props = {
+  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.URL }>;
+  onChange: ChangeEventHandler;
+  onCancel: () => void;
+  onSubmit: (values: ValidatedFormValues) => void;
+  hasErrored?: boolean;
+  errorMessage?: string;
+};
+ 
+export default function URLForm({
+  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+ 
+  const [isMasked, setIsMasked] = React.useState(false);
+ 
+  const toggleMask = React.useCallback(() => {
+    setIsMasked((prev) => !prev);
+  }, []);
+ 
+  const handleSubmit = React.useCallback(
+    (event: React.FormEvent<HTMLFormElement>) => {
+      event.preventDefault();
+ 
+      const zodSchema = zod.object({
+        provider: zod.string(),
+        name: zod.string().optional(),
+        id: zod.string(),
+        secret: zod.string().optional(),
+        internalId: zod.string().optional(),
+      });
+      const validationResult = zodSchema.safeParse(values);
+      if (validationResult.success) {
+        const formFields = {
+          ...validationResult.data,
+          provider: StorageProviderType.URL,
+          internalId: validationResult.data.internalId || generateId(24),
+        } as ValidatedFormValues;
+        onSubmit(formFields);
+      }
+    },
+    [values, onSubmit],
+  );
+ 
+  return (
+    <form onSubmit={handleSubmit}>
+      <Stack direction="column" gap={5}>
+        <Text muted>{t('providers.url.description')}</Text>
+        <Text muted css={{ marginTop: '$2' }}>
+          <Link href="https://docs.tokens.studio/token-storage/remote/sync-server-url?ref=addprovider" target="_blank" rel="noreferrer">
+            {t('providers.url.readMore')}
+          </Link>
+        </Text>
+        <FormField>
+          <Label htmlFor="name">{t('name')}</Label>
+          <TextInput
+            autoFocus
+            name="name"
+            id="name"
+            value={values.name || ''}
+            onChange={onChange}
+            type="text"
+            required
+          />
+          <Text muted>{t('nameHelpText')}</Text>
+        </FormField>
+        <FormField>
+          <Label htmlFor="id">{t('providers.url.url')}</Label>
+          <TextInput name="id" id="id" value={values.id || ''} onChange={onChange} type="text" required />
+        </FormField>
+        <FormField>
+          <Label htmlFor="secret">{t('providers.url.headers')}</Label>
+          <TextInput
+            name="secret"
+            id="secret"
+            value={values.secret || ''}
+            onChange={onChange}
+            type={isMasked ? 'password' : 'text'}
+            trailingAction={(
+              <IconButton
+                variant="invisible"
+                size="small"
+                onClick={toggleMask}
+                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
+              />
+            )}
+          />
+        </FormField>
+        <Stack direction="row" justify="end" gap={4}>
+          <Button variant="secondary" onClick={onCancel}>
+            {t('cancel')}
+          </Button>
+ 
+          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
+            {t('save')}
+          </Button>
+        </Stack>
+        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
+      </Stack>
+    </form>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html new file mode 100644 index 000000000..d0fde9db1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html @@ -0,0 +1,236 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm + + + + + + + + + +
+
+

All files src/app/components/StorageItemForm

+
+ +
+ 0% + Statements + 0/184 +
+ + +
+ 0% + Branches + 0/201 +
+ + +
+ 0% + Functions + 0/57 +
+ + +
+ 0% + Lines + 0/167 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ADOForm.tsx +
+
0%0/130%0/240%0/40%0/12
BitbucketForm.tsx +
+
0%0/130%0/240%0/40%0/12
GenericVersioned.tsx +
+
0%0/440%0/180%0/130%0/41
GitForm.tsx +
+
0%0/160%0/280%0/40%0/15
JSONBinForm.tsx +
+
0%0/130%0/210%0/40%0/12
SupernovaForm.tsx +
+
0%0/160%0/220%0/50%0/15
TokensStudioForm.tsx +
+
0%0/560%0/460%0/190%0/48
URLForm.tsx +
+
0%0/130%0/180%0/40%0/12
types.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html new file mode 100644 index 000000000..d40d1781b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/components/StorageItemForm/types.ts + + + + + + + + + +
+
+

All files / src/app/components/StorageItemForm types.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export type Eventlike = { target: { name: string, value: unknown } };
+export type ChangeEventHandler = (e:Eventlike) => void;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html new file mode 100644 index 000000000..356c19f07 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/app/components/StyledBrokenReferenceIndicator.tsx + + + + + + + + + +
+
+

All files / src/app/components StyledBrokenReferenceIndicator.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import IconBrokenLink from '@/icons/brokenlink.svg';
+import { styled } from '@/stitches.config';
+ 
+const StyledIndicator = styled('div', {
+  position: 'absolute',
+  top: '3px',
+  right: '3px',
+  borderRadius: '100%',
+  border: '1px solid $bgDefault',
+  background: '$dangerFg',
+  width: '6px',
+  height: '6px',
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'center',
+});
+ 
+export default function StyledBrokenReferenceIndicator() {
+  return (
+    <StyledIndicator>
+      <IconBrokenLink />
+    </StyledIndicator>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html new file mode 100644 index 000000000..bb5f74ffa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/StyledDiff.tsx + + + + + + + + + +
+
+

All files / src/app/components StyledDiff.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledDiff = styled(('div'), {
+  padding: '$2 $3',
+  wordBreak: 'break-all',
+  fontWeight: '$sansBold',
+  borderRadius: '$medium',
+  fontSize: '$xsmall',
+  variants: {
+    type: {
+      success: {
+        backgroundColor: '$successBg',
+        color: '$successFg',
+      },
+      danger: {
+        backgroundColor: '$dangerBg',
+        color: '$dangerFg',
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html new file mode 100644 index 000000000..cbde1c5a6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/components/StyledDirtyStateBadge.tsx + + + + + + + + + +
+
+

All files / src/app/components StyledDirtyStateBadge.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledDirtyStateBadge = styled('div', {
+  position: 'absolute',
+  top: 0,
+  right: 0,
+  width: '$3',
+  height: '$3',
+  borderRadius: '100px',
+  backgroundColor: '$accentEmphasis',
+  pointerEvents: 'none',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html new file mode 100644 index 000000000..5b0de5d3c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/app/components/StyledDragger/DragGrabber.tsx + + + + + + + + + +
+
+

All files / src/app/components/StyledDragger DragGrabber.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import IconGrabber from '@/icons/grabber.svg';
+import { StyledGrabber } from './StyledGrabber';
+import { StyledBeforeFlex } from './StyledBeforeFlex';
+ 
+export type Props<T> = {
+  item: T;
+  canReorder?: boolean;
+  onDragStart?: (event: React.PointerEvent<HTMLDivElement>, item: T) => void;
+};
+ 
+export function DragGrabber<T>({ item, canReorder = false, onDragStart }: Props<T>) {
+  const handleGrabberPointerDown = useCallback<React.PointerEventHandler<HTMLDivElement>>(
+    (event) => {
+      if (onDragStart) onDragStart(event, item);
+    },
+    [item, onDragStart],
+  );
+ 
+  return (
+    <StyledBeforeFlex>
+      <StyledGrabber onPointerDown={handleGrabberPointerDown} canReorder={canReorder}>
+        <IconGrabber />
+      </StyledGrabber>
+    </StyledBeforeFlex>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html new file mode 100644 index 000000000..e538d5f61 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/app/components/StyledDragger/DragItem.tsx + + + + + + + + + +
+
+

All files / src/app/components/StyledDragger DragItem.tsx

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo } from 'react';
+import { useDragControls, useMotionValue } from 'framer-motion';
+import { Stack } from '@tokens-studio/ui';
+import { useSelector } from 'react-redux';
+ 
+import { editProhibitedSelector } from '@/selectors';
+import { DragControlsContext } from '@/context';
+import { ReorderItem } from '@/motion/ReorderItem';
+import { useRaisedShadow } from '../use-raised-shadow';
+ 
+type Props<T> = React.PropsWithChildren<{
+  item: T;
+}>;
+ 
+export function DragItem<T>({ item, children }: Props<T>) {
+  const y = useMotionValue(0);
+  const boxShadow = useRaisedShadow(y);
+  const controls = useDragControls();
+  const editProhibited = useSelector(editProhibitedSelector);
+  const contextValue = useMemo(() => ({ controls }), [controls]);
+ 
+  return (!editProhibited)
+    ? (
+      <DragControlsContext.Provider value={contextValue}>
+        <ReorderItem
+          dragListener={false}
+          dragControls={controls}
+          value={item}
+          style={{ boxShadow, y }}
+        >
+          {children}
+        </ReorderItem>
+      </DragControlsContext.Provider>
+    )
+    : (
+      <Stack direction="row">
+        {children}
+      </Stack>
+    );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html new file mode 100644 index 000000000..e70ccbd1e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/StyledDragger/StyledBeforeFlex.tsx + + + + + + + + + +
+
+

All files / src/app/components/StyledDragger StyledBeforeFlex.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { Flex } from '../Flex';
+import { styled } from '@/stitches.config';
+ 
+export const StyledBeforeFlex = styled(Flex, {
+  paddingRight: '$2',
+  gap: '0px',
+  alignSelf: 'stretch',
+  alignItems: 'center',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html new file mode 100644 index 000000000..cb72a5e6b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/app/components/StyledDragger/StyledCheckbox.tsx + + + + + + + + + +
+
+

All files / src/app/components/StyledDragger StyledCheckbox.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Box from '../Box';
+import { styled } from '@/stitches.config';
+ 
+export const StyledCheckbox = styled(Box, {
+  position: 'absolute',
+  right: '$4',
+  height: '100%',
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'space-between',
+  variants: {
+    checked: {
+      true: {
+        opacity: 1,
+      },
+      indeterminate: {
+        opacity: 1,
+      },
+      false: {
+        opacity: 0.5,
+        '&:hover, &:focus': {
+          opacity: 1,
+        },
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html new file mode 100644 index 000000000..b92d6e5f1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/app/components/StyledDragger/StyledDragButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/StyledDragger StyledDragButton.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+import { StyledCheckbox } from './StyledCheckbox';
+import { StyledGrabber } from './StyledGrabber';
+ 
+export const StyledDragButton = styled('button', {
+  display: 'flex',
+  width: '100%',
+  textAlign: 'left',
+  '&:hover, &:focus': {
+    boxShadow: 'none',
+    [`+ ${StyledCheckbox}`]: {
+      opacity: 1,
+    },
+  },
+  variants: {
+    isActive: {
+      true: {
+        backgroundColor: '$accentBg',
+        borderColor: '$accentDefault',
+      },
+      false: {
+        '&:focus, &:hover': {
+          background: '$bgSubtle',
+        },
+      },
+    },
+    grabberVisible: {
+      true: {
+        [`${StyledGrabber}`]: {
+          opacity: 1,
+        },
+      },
+    },
+    canReorder: {
+      true: {
+        '&:hover, &:focus': {
+          [`${StyledGrabber}`]: {
+            opacity: 1,
+          },
+        },
+      },
+    },
+    itemType: {
+      folder: {
+        cursor: 'default',
+        '&:hover, &:focus': {
+          backgroundColor: 'inherit',
+        },
+      },
+      set: {},
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html new file mode 100644 index 000000000..5a00c8113 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/app/components/StyledDragger/StyledGrabber.tsx + + + + + + + + + +
+
+

All files / src/app/components/StyledDragger StyledGrabber.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Box from '../Box';
+import { styled } from '@/stitches.config';
+ 
+export const StyledGrabber = styled(Box, {
+  display: 'flex',
+  alignItems: 'center',
+  width: '$4',
+  height: '100%',
+  color: '$fgSubtle',
+  opacity: 0,
+  variants: {
+    canReorder: {
+      true: {
+        cursor: 'grab',
+        '&:hover': {
+          opacity: 1,
+        },
+      },
+      false: {
+        pointerEvents: 'none',
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html new file mode 100644 index 000000000..946da6982 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/app/components/StyledDragger + + + + + + + + + +
+
+

All files src/app/components/StyledDragger

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DragGrabber.tsx +
+
0%0/40%0/30%0/20%0/3
DragItem.tsx +
+
0%0/70%0/20%0/20%0/6
StyledBeforeFlex.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledCheckbox.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledDragButton.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledGrabber.tsx +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html new file mode 100644 index 000000000..277c2b589 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/app/components/StyledInputSuffix.tsx + + + + + + + + + +
+
+

All files / src/app/components StyledInputSuffix.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+import IconDisclosure from '@/icons/disclosure.svg';
+ 
+export const StyledIconDisclosure = styled(IconDisclosure, {
+  width: '16px',
+  height: '16px',
+  transition: 'transform 0.2s ease-in-out',
+});
+ 
+export const StyledInputSuffix = styled('button', {
+  width: '$controlSmall',
+  height: '$controlSmall',
+  backgroundColor: '$bgSubtle',
+  border: '1px solid',
+  borderColor: '$borderMuted',
+  borderTopRightRadius: '$small',
+  borderBottomRightRadius: '$small',
+  display: 'flex',
+  justifyContent: 'center',
+  alignItems: 'center',
+ 
+  '&:focus': {
+    outline: 'none',
+    backgroundColor: '$accentDefault',
+    color: '$fgOnEmphasis',
+    boxShadow: 'none',
+    borderColor: '$accentDefault',
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html new file mode 100644 index 000000000..3d3510576 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/StyledInspectBadge.tsx + + + + + + + + + +
+
+

All files / src/app/components StyledInspectBadge.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledInspectBadge = styled('div', {
+  padding: '$2',
+  color: '$fgDefault',
+  background: '$bgSubtle',
+  borderRadius: '$small',
+  fontSize: '$xsmall',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html new file mode 100644 index 000000000..4be05ee39 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/app/components/StyledStorageItem.tsx + + + + + + + + + +
+
+

All files / src/app/components StyledStorageItem.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledStorageItem = styled('div', {
+  border: '1px solid',
+  padding: '$3',
+  textAlign: 'left',
+  display: 'flex',
+  width: '100%',
+  flexDirection: 'row',
+  justifyContent: 'space-between',
+  borderRadius: '$medium',
+  alignItems: 'center',
+  variants: {
+    active: {
+      true: {
+        borderColor: '$accentBorder',
+        backgroundColor: '$accentBg',
+      },
+      false: {
+        borderColor: '$borderSubtle',
+        backgroundColor: 'transparent',
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html new file mode 100644 index 000000000..ee0fd4a4c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/app/components/StylesDropdown.tsx + + + + + + + + + +
+
+

All files / src/app/components StylesDropdown.tsx

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { DropdownMenu, Button } from '@tokens-studio/ui';
+import useTokens from '../store/useTokens';
+ 
+import { activeTokenSetReadOnlySelector, editProhibitedSelector, themesListSelector } from '@/selectors';
+import ManageStylesAndVariables from './ManageStylesAndVariables/ManageStylesAndVariables';
+import ImportVariablesDialog from './ImportVariablesDialog';
+import { useImportVariables } from '../hooks/useImportVariables';
+import { useIsProUser } from '../hooks/useIsProUser';
+ 
+export default function StylesDropdown() {
+  const editProhibited = useSelector(editProhibitedSelector);
+  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
+  const themes = useSelector(themesListSelector);
+  const proUser = useIsProUser();
+  const importDisabled = editProhibited || activeTokenSetReadOnly;
+ 
+  const { pullStyles } = useTokens();
+  const { t } = useTranslation(['tokens']);
+ 
+  const [showModal, setShowModal] = React.useState(false);
+  const {
+    isDialogOpen,
+    collections,
+    isLoading,
+    openDialog,
+    closeDialog,
+    importVariables,
+  } = useImportVariables();
+ 
+  const handleOpenModal = useCallback(() => {
+    setShowModal(true);
+  }, [setShowModal]);
+ 
+  const handleImportVariables = useCallback(() => {
+    openDialog();
+  }, [openDialog]);
+ 
+  const handleConfirmImport = useCallback((selectedCollections, options) => {
+    importVariables(selectedCollections, options, themes, proUser);
+  }, [importVariables, themes, proUser]);
+ 
+  return (
+    <>
+      <DropdownMenu>
+        <DropdownMenu.Trigger asChild>
+          <Button size="small" asDropdown>
+            {t('stylesAndVariables')}
+          </Button>
+        </DropdownMenu.Trigger>
+ 
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content side="top">
+            <DropdownMenu.Item textValue="Export styles & variables" onSelect={handleOpenModal}>{t('exportStylesAndVariables')}</DropdownMenu.Item>
+            <DropdownMenu.Item textValue="Import variables" disabled={importDisabled || isLoading} onSelect={handleImportVariables}>{t('importVariables')}</DropdownMenu.Item>
+            <DropdownMenu.Item textValue="Import styles" disabled={importDisabled} onSelect={pullStyles}>{t('importStyles')}</DropdownMenu.Item>
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+      {showModal && <ManageStylesAndVariables showModal={showModal} setShowModal={setShowModal} />}
+      <ImportVariablesDialog
+        isOpen={isDialogOpen}
+        onClose={closeDialog}
+        onConfirm={handleConfirmImport}
+        collections={collections}
+      />
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html new file mode 100644 index 000000000..73bdd9c5d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html @@ -0,0 +1,685 @@ + + + + + + Code coverage report for src/app/components/SyncSettings.tsx + + + + + + + + + +
+
+

All files / src/app/components SyncSettings.tsx

+
+ +
+ 0% + Statements + 0/37 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/label-has-associated-control */
+import React, { useMemo } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Heading, Button, Box, Stack, Dialog,
+} from '@tokens-studio/ui';
+import { track } from '@/utils/analytics';
+import StorageItem from './StorageItem';
+import EditStorageItemModal from './modals/EditStorageItemModal';
+import CreateStorageItemModal from './modals/CreateStorageItemModal';
+import { Dispatch } from '../store';
+import { apiProvidersSelector, localApiStateSelector } from '@/selectors';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import useRemoteTokens from '../store/remoteTokens';
+import { StorageTypeCredentials } from '@/types/StorageType';
+import LocalStorageItem from './LocalStorageItem';
+import { getProviderIcon } from '@/utils/getProviderIcon';
+import { StyledBetaBadge } from './SecondScreen';
+ 
+const SyncSettings = () => {
+  const localApiState = useSelector(localApiStateSelector);
+ 
+  const { t } = useTranslation(['storage']);
+ 
+  const providers = useMemo(() => [
+    {
+      text: t('providers.url.title'),
+      type: StorageProviderType.URL,
+    },
+    {
+      text: t('providers.jsonbin.title'),
+      type: StorageProviderType.JSONBIN,
+    },
+    {
+      text: 'GitHub',
+      type: StorageProviderType.GITHUB,
+    },
+    {
+      text: 'GitLab',
+      type: StorageProviderType.GITLAB,
+    },
+    {
+      text: 'Azure DevOps',
+      type: StorageProviderType.ADO,
+    },
+    {
+      text: 'BitBucket',
+      type: StorageProviderType.BITBUCKET,
+      beta: true,
+    },
+    {
+      text: 'Supernova',
+      type: StorageProviderType.SUPERNOVA,
+    },
+    {
+      text: t('providers.generic.title'),
+      type: StorageProviderType.GENERIC_VERSIONED_STORAGE,
+    },
+    {
+      text: 'Tokens Studio',
+      type: StorageProviderType.TOKENS_STUDIO,
+      beta: true,
+    },
+  ], [t]);
+ 
+  const apiProviders = useSelector(apiProvidersSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const [open, setOpen] = React.useState(false);
+ 
+  const { fetchBranches } = useRemoteTokens();
+ 
+  const [editStorageItemModalVisible, setShowEditStorageModalVisible] = React.useState(Boolean(localApiState.new));
+  const [createStorageItemModalVisible, setShowCreateStorageModalVisible] = React.useState(false);
+  const [storageProvider, setStorageProvider] = React.useState(localApiState.provider);
+ 
+  const setLocalBranches = React.useCallback(
+    async (provider: StorageTypeCredentials) => {
+      const branches = await fetchBranches(provider);
+      if (branches) {
+        dispatch.branchState.setBranches(branches);
+      }
+    },
+    [dispatch.branchState, fetchBranches],
+  );
+ 
+  const handleEditClick = React.useCallback(
+    (provider: any) => () => {
+      track('Edit Credentials');
+      dispatch.uiState.setLocalApiState(provider);
+      setShowEditStorageModalVisible(true);
+      setLocalBranches(provider);
+    },
+    [dispatch.uiState, setLocalBranches],
+  );
+ 
+  const handleShowAddCredentials = React.useCallback((provider: StorageProviderType) => {
+    track('Add Credentials', { provider });
+    setShowCreateStorageModalVisible(true);
+  }, []);
+ 
+  const handleProviderClick = React.useCallback(
+    (provider: StorageProviderType) => () => {
+      setOpen(false);
+      setStorageProvider(provider);
+      handleShowAddCredentials(provider);
+    },
+    [handleShowAddCredentials],
+  );
+ 
+  const handleHideStorageModal = React.useCallback(() => {
+    setShowEditStorageModalVisible(false);
+  }, []);
+ 
+  const handleHideAddCredentials = React.useCallback(() => {
+    setShowCreateStorageModalVisible(false);
+  }, []);
+ 
+  return (
+    <Box css={{ display: 'flex', flexDirection: 'column', flexGrow: 1 }}>
+      {editStorageItemModalVisible && (
+        <EditStorageItemModal
+          isOpen={editStorageItemModalVisible}
+          onClose={handleHideStorageModal}
+          initialValue={localApiState}
+          onSuccess={handleHideStorageModal}
+        />
+      )}
+      {createStorageItemModalVisible && (
+        <CreateStorageItemModal
+          isOpen={createStorageItemModalVisible}
+          onClose={handleHideAddCredentials}
+          onSuccess={handleHideAddCredentials}
+          storageProvider={storageProvider}
+        />
+      )}
+      <Box css={{ padding: '0 $4' }}>
+        <Stack gap={4} direction="column" align="start">
+          <Stack direction="row" justify="between" align="center" css={{ width: '100%' }}>
+            <Heading size="medium">{t('syncProviders')}</Heading>
+            <Dialog modal open={open} onOpenChange={setOpen}>
+              <Dialog.Trigger asChild>
+                <Button variant="secondary" size="small" data-testid="add-storage-item-button">
+                  {t('addNewSyncProvider')}
+                </Button>
+              </Dialog.Trigger>
+              <Dialog.Portal>
+                <Dialog.Overlay />
+                <Dialog.Content className="content scroll-container">
+                  <Heading>{t('addNewSyncProvider')}</Heading>
+ 
+                  <Stack direction="column" gap={4}>
+                    {
+                    providers.map((provider) => (
+                      <Stack direction="row" justify="between" align="center" key={provider.text}>
+                        <Stack direction="column">
+                          <Box css={{
+                            color: '$fgDefault', display: 'inline-flex', gap: '$2', alignItems: 'center',
+                          }}
+                          >
+                            <Box css={{ color: '$fgMuted' }}>{getProviderIcon(provider.type)}</Box>
+                            {provider.text}
+                            {provider.beta && <StyledBetaBadge>BETA</StyledBetaBadge>}
+                          </Box>
+                        </Stack>
+                        <Button
+                          key={provider.type}
+                          onClick={handleProviderClick(provider.type)}
+                          variant="secondary"
+                          size="small"
+                          data-testid={`add-${provider.text}-credential`}
+                        >
+                          {t('choose')}
+                        </Button>
+                      </Stack>
+                    ))
+                  }
+                  </Stack>
+                </Dialog.Content>
+              </Dialog.Portal>
+            </Dialog>
+          </Stack>
+          <Stack direction="column" gap={2} width="full" align="start">
+            <LocalStorageItem />
+            {apiProviders.length > 0 && apiProviders.map((item) => (
+              <StorageItem
+                key={item?.internalId || `${item.provider}-${item.id}`}
+                onEdit={handleEditClick(item)}
+                item={item}
+              />
+            ))}
+          </Stack>
+        </Stack>
+      </Box>
+    </Box>
+  );
+};
+ 
+export default SyncSettings;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html new file mode 100644 index 000000000..712226e31 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/app/components/TabButton/TabButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/TabButton TabButton.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Tabs } from '@/constants/Tabs';
+import { styled } from '@/stitches.config';
+import { track } from '@/utils/analytics';
+import Box from '../Box';
+import Tooltip from '../Tooltip';
+ 
+type Props<T extends string> = {
+  name: T
+  label?: string
+  activeTab?: T
+  disabled?: boolean
+  onSwitch: (tab: T) => void
+  startEnhancer?: React.ReactNode
+  endEnhancer?: React.ReactNode,
+  tooltip?: string;
+  tooltipSide?: 'bottom' | 'left' | 'top' | undefined;
+  small?: boolean;
+};
+ 
+const StyledButton = styled('button', {
+  padding: '$5 $4',
+  maxWidth: 'fit-content',
+  fontSize: '$xsmall',
+  fontWeight: '$sansBold',
+  display: 'flex',
+  flexDirection: 'row',
+  alignItems: 'center',
+  gap: '$2',
+  cursor: 'pointer',
+  color: '$fgMuted',
+  opacity: 0.7,
+  whiteSpace: 'nowrap',
+  textOverflow: 'ellipsis',
+  '&:not(:disabled):focus, &:not(:disabled):hover': {
+    outline: 'none',
+    boxShadow: 'none',
+    color: '$fgDefault',
+  },
+  '> svg': {
+    minHeight: '100%',
+  },
+  '&:disabled': {
+    pointerEvents: 'none',
+    color: '$fgDisabled',
+  },
+  variants: {
+    isActive: {
+      true: { color: '$fgDefault', opacity: 1 },
+    },
+    small: {
+      true: {
+        padding: '0',
+      },
+    },
+  },
+});
+ 
+export function TabButton<T extends string = Tabs>({
+  name, label, activeTab, disabled, onSwitch, startEnhancer, endEnhancer, tooltip, tooltipSide, small,
+}: Props<T>) {
+  const onClick = React.useCallback(() => {
+    track('Switched tab', { from: activeTab, to: name });
+    onSwitch(name);
+  }, [activeTab, name, onSwitch]);
+ 
+  return (
+    <StyledButton
+      data-testid={`navitem-${name}`}
+      type="button"
+      isActive={activeTab === name}
+      data-active={activeTab === name}
+      name={name}
+      disabled={disabled}
+      onClick={onClick}
+      small={small}
+    >
+      <Tooltip side={tooltipSide} label={tooltip ?? ''}>
+        <>
+          {startEnhancer && startEnhancer}
+          {label && (
+          <Box css={{
+            overflow: 'hidden',
+            textOverflow: 'ellipsis',
+            whiteSpace: 'nowrap',
+          }}
+          >
+            {label}
+          </Box>
+          )}
+          {endEnhancer && endEnhancer}
+        </>
+      </Tooltip>
+    </StyledButton>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html new file mode 100644 index 000000000..b44e68426 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/TabButton + + + + + + + + + +
+
+

All files src/app/components/TabButton

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
TabButton.tsx +
+
0%0/50%0/80%0/20%0/5
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html new file mode 100644 index 000000000..dfdbc5503 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/TabButton/index.ts + + + + + + + + + +
+
+

All files / src/app/components/TabButton index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export { TabButton } from './TabButton';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html new file mode 100644 index 000000000..c3e5bf44d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/components/Text.tsx + + + + + + + + + +
+
+

All files / src/app/components Text.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import React, { type HTMLAttributes } from 'react';
+import { Text as InternalText, type TextProps } from '@tokens-studio/ui';
+ 
+function WrappedText(props: TextProps & HTMLAttributes<Element>) {
+  const { size = 'xsmall' } = props;
+  return <InternalText {...props} size={size} />;
+}
+ 
+export default WrappedText;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html new file mode 100644 index 000000000..4c7f3f921 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html @@ -0,0 +1,541 @@ + + + + + + Code coverage report for src/app/components/ThemeSelector/ThemeSelector.tsx + + + + + + + + + +
+
+

All files / src/app/components/ThemeSelector ThemeSelector.tsx

+
+ +
+ 0% + Statements + 0/46 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { Check, NavArrowRight } from 'iconoir-react';
+import { useTranslation } from 'react-i18next';
+import { DropdownMenu, Button } from '@tokens-studio/ui';
+import { activeThemeSelector, themeOptionsSelector } from '@/selectors';
+import Text from '../Text';
+import { Dispatch } from '@/app/store';
+import ProBadge from '../ProBadge';
+import { track } from '@/utils/analytics';
+import { INTERNAL_THEMES_NO_GROUP, INTERNAL_THEMES_NO_GROUP_LABEL } from '@/constants/InternalTokenGroup';
+import Box from '../Box';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+ 
+type AvailableTheme = {
+  value: string
+  label: string
+  group?: string
+};
+ 
+export const ThemeSelector: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => {
+  const isProUser = useIsProUser();
+  const dispatch = useDispatch<Dispatch>();
+  const { t } = useTranslation(['tokens']);
+  const activeTheme = useSelector(activeThemeSelector);
+  const availableThemes = useSelector(themeOptionsSelector);
+  const groupNames = useMemo(() => ([...new Set(availableThemes.map((theme) => theme.group || INTERNAL_THEMES_NO_GROUP))]), [availableThemes]);
+ 
+  const handleClearTheme = useCallback(() => {
+    dispatch.tokenState.setActiveTheme({ newActiveTheme: {}, shouldUpdateNodes: true });
+  }, [dispatch]);
+ 
+  const handleSelectTheme = useCallback((themeId: string) => {
+    const groupOfTheme = availableThemes.find((theme) => theme.value === themeId)?.group ?? INTERNAL_THEMES_NO_GROUP;
+    const nextTheme = activeTheme;
+    if (typeof nextTheme[groupOfTheme] !== 'undefined' && nextTheme[groupOfTheme] === themeId) {
+      delete nextTheme[groupOfTheme];
+    } else {
+      nextTheme[groupOfTheme] = themeId;
+    }
+    if (nextTheme) {
+      track('Apply theme', { id: nextTheme });
+    } else {
+      track('Reset theme');
+    }
+    dispatch.tokenState.setActiveTheme({ newActiveTheme: nextTheme, shouldUpdateNodes: true });
+  }, [dispatch, activeTheme, availableThemes]);
+ 
+  const handleManageThemes = useCallback(() => {
+    dispatch.uiState.setManageThemesModalOpen(true);
+  }, [dispatch]);
+ 
+  const activeThemeLabel = useMemo(() => {
+    if (activeTheme) {
+      if (Object.keys(activeTheme).length === 0) return 'None';
+      if (Object.keys(activeTheme).length === 1) {
+        const themeOption = availableThemes.find(({ value }) => value === Object.values(activeTheme)[0]);
+        return themeOption ? themeOption.label : 'Unknown';
+      }
+      return `${Object.keys(activeTheme).length} active`;
+    }
+    return 'None';
+  }, [activeTheme, availableThemes]);
+ 
+  const renderThemeOption = useCallback((themes: AvailableTheme[]) => themes.map(({ label, value }) => {
+    const handleSelect = () => handleSelectTheme(value);
+    return (
+      <DropdownMenu.RadioItem
+        key={value}
+        value={value}
+        data-testid={`themeselector--themeoptions--${value}`}
+        // @README we can disable this because we are using Memo for the whole list anyways
+        // eslint-disable-next-line react/jsx-no-bind
+        onSelect={handleSelect}
+      >
+        <DropdownMenu.ItemIndicator>
+          <Check />
+        </DropdownMenu.ItemIndicator>
+        {label}
+      </DropdownMenu.RadioItem>
+    );
+  }), [handleSelectTheme]);
+ 
+  const availableThemeOptions = useMemo(() => (
+    <Box className="content scroll-container" css={{ maxHeight: '$dropdownMaxHeight' }}>
+      {
+        groupNames.map((groupName) => {
+          const filteredThemes = groupName === INTERNAL_THEMES_NO_GROUP ? availableThemes.filter((theme) => (typeof theme?.group === 'undefined')) : availableThemes.filter((theme) => (theme?.group === groupName));
+          return (
+            filteredThemes.length > 0 && (
+              <DropdownMenu.RadioGroup key={groupName} value={typeof activeTheme[groupName] !== 'undefined' ? activeTheme[groupName] : ''}>
+                <Text css={{ color: '$fgMuted', padding: '$2 $3' }}>{groupName === INTERNAL_THEMES_NO_GROUP ? INTERNAL_THEMES_NO_GROUP_LABEL : groupName}</Text>
+                {
+                  renderThemeOption(filteredThemes)
+                }
+              </DropdownMenu.RadioGroup>
+            )
+          );
+        })
+      }
+    </Box>
+  ), [availableThemes, groupNames, activeTheme, renderThemeOption]);
+ 
+  return (
+    <DropdownMenu>
+      <DropdownMenu.Trigger asChild data-testid="themeselector-dropdown">
+        <Button variant="invisible" asDropdown css={{ flexShrink: 1, overflow: 'hidden' }}>
+          <Box css={{
+            marginRight: '$2',
+            color: '$fgMuted',
+            fontWeight: '$sansRegular',
+          }}
+          >
+            {t('theme')}
+            :
+          </Box>
+          {activeThemeLabel}
+        </Button>
+      </DropdownMenu.Trigger>
+      <DropdownMenu.Portal>
+        <DropdownMenu.Content
+          data-testid="themeselector-dropdown-content"
+          side="bottom"
+          css={{ minWidth: '180px', maxWidth: '70vw' }}
+          align="end"
+          className="content scroll-container"
+        >
+          <DropdownMenu.Item
+            data-testid="themeselector-managethemes"
+            css={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}
+            disabled={!isProUser}
+            onSelect={handleManageThemes}
+          >
+            <span>{t('manageThemes')}</span>
+            {!isProUser && <ProBadge campaign="manage-themes" compact />}
+            <DropdownMenu.TrailingVisual>
+              <NavArrowRight />
+            </DropdownMenu.TrailingVisual>
+          </DropdownMenu.Item>
+          <DropdownMenu.Separator />
+          {availableThemes.length === 0 && (
+          <DropdownMenu.RadioItem css={{ paddingLeft: '$6' }} value="" disabled={!activeTheme} onSelect={handleClearTheme}>
+            <Text css={{ color: '$fgDisabled', fontSize: '$xsmall' }}>{t('noThemes')}</Text>
+          </DropdownMenu.RadioItem>
+          )}
+          {availableThemeOptions}
+ 
+        </DropdownMenu.Content>
+      </DropdownMenu.Portal>
+    </DropdownMenu>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html new file mode 100644 index 000000000..f4f644f74 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/components/ThemeSelector + + + + + + + + + +
+
+

All files src/app/components/ThemeSelector

+
+ +
+ 0% + Statements + 0/46 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ThemeSelector.tsx +
+
0%0/460%0/300%0/160%0/37
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html new file mode 100644 index 000000000..d6a02927a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/ThemeSelector/index.ts + + + + + + + + + +
+
+

All files / src/app/components/ThemeSelector index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export { ThemeSelector } from './ThemeSelector';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html new file mode 100644 index 000000000..090030394 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/app/components/ToggleEmptyButton.tsx + + + + + + + + + +
+
+

All files / src/app/components ToggleEmptyButton.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { Button } from '@tokens-studio/ui';
+import { showEmptyGroupsSelector } from '@/selectors';
+import { Dispatch } from '../store';
+import Stack from './Stack';
+ 
+export default function ToggleEmptyButton() {
+  const showEmptyGroups = useSelector(showEmptyGroupsSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleShowEmptyGroups = React.useCallback(() => {
+    dispatch.uiState.toggleShowEmptyGroups(null);
+  }, [dispatch]);
+ 
+  return (
+    <Stack direction="row" align="center" justify="center" css={{ marginTop: '$4', marginBottom: '$4' }}>
+      <Button variant="secondary" size="small" onClick={handleShowEmptyGroups}>
+        {t(showEmptyGroups ? 'hide' : 'show')}
+        {' '}
+        {t('emptyGroups')}
+      </Button>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html new file mode 100644 index 000000000..de960d1e2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/app/components/TokenButton/DragOverItem.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenButton DragOverItem.tsx

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/19 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo } from 'react';
+import cx from 'classnames';
+import { useSelector } from 'react-redux';
+import { SingleToken } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { displayTypeSelector } from '@/selectors';
+ 
+type Props = {
+  token: SingleToken;
+  draggedToken: SingleToken | null;
+  dragOverToken: SingleToken | null;
+};
+ 
+export const DragOverItem: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  token,
+  draggedToken,
+  dragOverToken,
+}) => {
+  const displayType = useSelector(displayTypeSelector);
+ 
+  const isDraggable = useMemo(() => (
+    token.name && isNaN(Number(token.name.split('.')[token.name.split('.').length - 1]))
+  ), [token]);
+ 
+  const isColorAndListDisplayType = useMemo(() => (
+    token.type === TokenTypes.COLOR && displayType === 'LIST'
+  ), [token, displayType]);
+ 
+  const hasDragOverToken = useMemo(() => {
+    if (
+      draggedToken
+      && draggedToken !== token
+      && dragOverToken === token
+      && isDraggable
+      && draggedToken.type === dragOverToken.type
+    ) {
+      const draggedItemName = draggedToken?.name.split('.');
+      const dragOverName = dragOverToken?.name.split('.');
+      const draggedItemNameArray = draggedItemName.slice(0, draggedItemName.length - 1);
+      const dragOverNameArray = dragOverName.slice(0, dragOverName.length - 1);
+ 
+      if (draggedItemNameArray.toString() === dragOverNameArray.toString()) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }, [token, draggedToken, dragOverToken, isDraggable]);
+ 
+  return (
+    <div
+      className={cx(
+        (hasDragOverToken && isColorAndListDisplayType) && 'drag-over-item-list-absolute',
+        (hasDragOverToken && !isColorAndListDisplayType) && 'drag-over-item-grid-absolute',
+      )}
+    />
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html new file mode 100644 index 000000000..a8689be68 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html @@ -0,0 +1,382 @@ + + + + + + Code coverage report for src/app/components/TokenButton/DraggableWrapper.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenButton DraggableWrapper.tsx

+
+ +
+ 0% + Statements + 0/42 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useDispatch, useSelector, useStore } from 'react-redux';
+import { activeTokenSetSelector, tokensSelector } from '@/selectors';
+import { SingleToken } from '@/types/tokens';
+import { Dispatch, RootState } from '@/app/store';
+ 
+type Props = {
+  token: SingleToken;
+  draggedToken: SingleToken | null;
+  dragOverToken: SingleToken | null;
+  setDraggedToken: (token: SingleToken | null) => void;
+  setDragOverToken: (token: SingleToken | null) => void;
+};
+ 
+export const DraggableWrapper: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  token, draggedToken, setDraggedToken, setDragOverToken, children,
+}) => {
+  const store = useStore<RootState>();
+  const dispatch = useDispatch<Dispatch>();
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+ 
+  const isDraggable = useMemo(() => (
+    token.name && isNaN(Number(token.name.split('.')[token.name.split('.').length - 1]))
+  ), [token]);
+ 
+  const handleDrag = useCallback((e: React.DragEvent<HTMLDivElement>) => e.stopPropagation(), []);
+  const handleDragEnter = useCallback((e: React.DragEvent<HTMLDivElement>) => e.stopPropagation(), []);
+  const handleDragLeave = useCallback((e: React.DragEvent<HTMLDivElement>) => e.stopPropagation(), []);
+ 
+  const handleDragStart = useCallback((e: React.DragEvent<HTMLDivElement>) => {
+    e.stopPropagation();
+    setDraggedToken(token);
+  }, [token, setDraggedToken]);
+ 
+  const handleDragEnd = React.useCallback((e: React.DragEvent<HTMLDivElement>) => {
+    e.stopPropagation();
+    setDragOverToken(null);
+  }, [setDragOverToken]);
+ 
+  const handleDragOver = React.useCallback((e: React.DragEvent<HTMLDivElement>) => {
+    e.stopPropagation();
+    e.preventDefault();
+    setDragOverToken(token);
+  }, [token, setDragOverToken]);
+ 
+  const handleDrop = React.useCallback((e: React.DragEvent<HTMLDivElement>) => {
+    e.stopPropagation();
+ 
+    const tokens = tokensSelector(store.getState());
+ 
+    let draggedTokenIndex: number | null = null;
+    let dropTokenIndex: number | null = null;
+ 
+    if (draggedToken && token && draggedToken.type === token.type) {
+      tokens[activeTokenSet].forEach((element, index) => {
+        if (element.name === draggedToken.name) draggedTokenIndex = index;
+        if (element.name === token.name) dropTokenIndex = index;
+      });
+      if (draggedTokenIndex !== null && dropTokenIndex !== null) {
+        const insertTokensIndex = draggedTokenIndex > dropTokenIndex ? dropTokenIndex : dropTokenIndex - 1;
+        const set = [...tokens[activeTokenSet]];
+        set.splice(insertTokensIndex, 0, set.splice(draggedTokenIndex, 1)[0]);
+        const newTokens = {
+          ...tokens,
+          [activeTokenSet]: set,
+        };
+        dispatch.tokenState.setTokens(newTokens);
+      }
+    }
+  }, [store, token, draggedToken, dispatch, activeTokenSet]);
+ 
+  const draggerProps = React.useMemo(() => ({
+    draggable: !!isDraggable,
+    onDrag: handleDrag,
+    onDrop: handleDrop,
+    onDragEnd: handleDragEnd,
+    onDragEnter: handleDragEnter,
+    onDragLeave: handleDragLeave,
+    onDragStart: handleDragStart,
+    onDragOver: handleDragOver,
+  }), [
+    isDraggable,
+    handleDrag,
+    handleDrop,
+    handleDragEnd,
+    handleDragEnter,
+    handleDragLeave,
+    handleDragStart,
+    handleDragOver,
+  ]);
+ 
+  return (
+    <div
+      {...draggerProps}
+    >
+      {children}
+    </div>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html new file mode 100644 index 000000000..5b282e131 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/app/components/TokenButton/StyledTokenButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenButton StyledTokenButton.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { styled } from '@/stitches.config';
+ 
+export const StyledTokenButtonText = styled('span', {
+  color: '$fgDefault',
+  padding: '$2 $3',
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'flex-start',
+  flexShrink: 0,
+  textAlign: 'left',
+  gap: '$2',
+  fontSize: '$xsmall',
+});
+ 
+export const StyledTokenButton = styled('button', {
+  position: 'relative',
+  marginBottom: '$2',
+  marginRight: '$2',
+  backgroundColor: '$bgSubtle',
+  '&:hover, &:focus': {
+    backgroundColor: '$accentBg',
+  },
+  variants: {
+    tokenType: {
+      [TokenTypes.COLOR]: {
+        [`& ${StyledTokenButtonText}::before`]: {
+          width: '$6',
+          height: '$6',
+          flexShrink: 0,
+          border: '1px solid',
+          content: '',
+          borderRadius: '$full',
+          background: 'var(--backgroundColor)',
+          borderColor: 'var(--borderColor)',
+        },
+      },
+    },
+    displayType: {
+      LIST: {
+        width: '100%',
+        borderRadius: '$medium',
+        backgroundColor: 'transparent',
+        [`& ${StyledTokenButtonText}`]: {
+          justifyContent: 'flex-start',
+        },
+      },
+      GRID: {
+        borderRadius: '$medium',
+        [`& ${StyledTokenButtonText}`]: {
+          borderRadius: '$full',
+        },
+      },
+    },
+    active: {
+      true: {
+        backgroundColor: '$accentBg',
+        boxShadow: '$focusMuted !important',
+        '&:hover, &:focus': {
+          boxShadow: '$focusMuted !important',
+        },
+      },
+    },
+    disabled: {
+      true: {
+        borderColor: '$borderDefault',
+      },
+    },
+  },
+  compoundVariants: [
+    {
+      displayType: 'LIST',
+      tokenType: TokenTypes.COLOR,
+      css: {
+        width: '100%',
+        '&:hover, &:focus': {
+          backgroundColor: '$accentBg',
+        },
+      },
+    },
+    {
+      displayType: 'GRID',
+      tokenType: TokenTypes.COLOR,
+      css: {
+        borderRadius: '$full',
+        backgroundColor: 'transparent',
+        '&:hover, &:focus': {
+          outline: 'none',
+          boxShadow: '$tokenFocus',
+          backgroundColor: 'transparent',
+        },
+        [`& ${StyledTokenButtonText}`]: {
+          padding: 0,
+        },
+      },
+    },
+  ],
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html new file mode 100644 index 000000000..c030390b6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/app/components/TokenButton/TokenButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenButton TokenButton.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { SingleToken } from '@/types/tokens';
+import { MoreButton } from '../MoreButton';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+import { DragOverItem } from './DragOverItem';
+import { DraggableWrapper } from './DraggableWrapper';
+import { ShowFormOptions } from '@/types/ShowFormOptions';
+ 
+// @TODO fix typings
+ 
+type Props = {
+  type: TokenTypes;
+  token: SingleToken;
+  showForm: (options: ShowFormOptions) => void;
+  draggedToken: SingleToken | null;
+  dragOverToken: SingleToken | null;
+  setDraggedToken: (token: SingleToken | null) => void;
+  setDragOverToken: (token: SingleToken | null) => void;
+};
+ 
+export const TokenButton: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  type,
+  token,
+  showForm,
+  draggedToken,
+  dragOverToken,
+  setDraggedToken,
+  setDragOverToken,
+}) => (
+  <DraggableWrapper
+    token={token}
+    dragOverToken={dragOverToken}
+    draggedToken={draggedToken}
+    setDragOverToken={setDragOverToken}
+    setDraggedToken={setDraggedToken}
+  >
+    {/* TODO: We should restructure and rename MoreButton as it's only ever used in TokenButton */}
+    <MoreButton
+      token={token}
+      type={type}
+      showForm={showForm}
+    />
+    <DragOverItem
+      token={token}
+      draggedToken={draggedToken}
+      dragOverToken={dragOverToken}
+    />
+  </DraggableWrapper>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html new file mode 100644 index 000000000..a4f6bbb6a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/app/components/TokenButton/TokenButtonContent.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenButton TokenButtonContent.tsx

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useContext, useMemo } from 'react';
+import { useSelector } from 'react-redux';
+import { TokensContext } from '@/context';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+import { TokenTooltip } from '../TokenTooltip';
+import BrokenReferenceIndicator from '../BrokenReferenceIndicator';
+import { displayTypeSelector, uiDisabledSelector } from '@/selectors';
+import { StyledTokenButton, StyledTokenButtonText } from './StyledTokenButton';
+import useTokens from '@/app/store/useTokens';
+ 
+type Props = {
+  active: boolean;
+  type: TokenTypes;
+  token: SingleToken;
+  onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
+};
+ 
+export default function TokenButtonContent({
+  token, active, type, onClick,
+}: Props) {
+  const tokensContext = useContext(TokensContext);
+  const uiDisabled = useSelector(uiDisabledSelector);
+  const displayType = useSelector(displayTypeSelector);
+  const { getTokenValue } = useTokens();
+ 
+  const displayValue = useMemo(() => (
+    getTokenValue(token.name, tokensContext.resolvedTokens)?.value
+  ), [token, tokensContext.resolvedTokens, getTokenValue]);
+ 
+  const showValue = React.useMemo(() => {
+    let show = true;
+    if (type === TokenTypes.COLOR) {
+      show = false;
+      if (displayType === 'LIST') {
+        show = true;
+      }
+    }
+    return show;
+  }, [type, displayType]);
+ 
+  // Only show the last part of a token in a group
+  const visibleName = React.useMemo(() => {
+    const visibleDepth = 1;
+    return (token.name ?? '').split('.').slice(-visibleDepth).join('.');
+  }, [token.name]);
+ 
+  const handleButtonClick = React.useCallback((event: React.MouseEvent<HTMLButtonElement>) => {
+    event.preventDefault();
+    onClick(event);
+  }, [onClick]);
+ 
+  const cssOverrides = React.useMemo(() => {
+    switch (type) {
+      case TokenTypes.COLOR: {
+        return {
+          '--backgroundColor': String(displayValue),
+          '--borderColor': '$colors$borderMuted',
+        };
+      }
+      case TokenTypes.BORDER_RADIUS: {
+        return {
+          borderRadius: `${displayValue}px`,
+        };
+      }
+      default: {
+        return {};
+      }
+    }
+  }, [type, displayValue]);
+ 
+  return (
+    <TokenTooltip token={token}>
+      <StyledTokenButton tokenType={type as TokenTypes.COLOR} displayType={type === TokenTypes.COLOR ? displayType : 'GRID'} active={active} disabled={uiDisabled} type="button" onClick={handleButtonClick} css={cssOverrides}>
+        <BrokenReferenceIndicator token={token} />
+        <StyledTokenButtonText>{showValue && <span>{visibleName}</span>}</StyledTokenButtonText>
+      </StyledTokenButton>
+    </TokenTooltip>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html new file mode 100644 index 000000000..8ffa88c8d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/app/components/TokenButton + + + + + + + + + +
+
+

All files src/app/components/TokenButton

+
+ +
+ 0% + Statements + 0/87 +
+ + +
+ 0% + Branches + 0/49 +
+ + +
+ 0% + Functions + 0/22 +
+ + +
+ 0% + Lines + 0/81 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DragOverItem.tsx +
+
0%0/160%0/190%0/40%0/16
DraggableWrapper.tsx +
+
0%0/420%0/170%0/110%0/36
StyledTokenButton.tsx +
+
0%0/2100%0/0100%0/00%0/2
TokenButton.tsx +
+
0%0/2100%0/00%0/10%0/2
TokenButtonContent.tsx +
+
0%0/250%0/130%0/60%0/25
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html new file mode 100644 index 000000000..36d2ab884 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/TokenButton/index.ts + + + + + + + + + +
+
+

All files / src/app/components/TokenButton index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './TokenButton';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html new file mode 100644 index 000000000..365a17547 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/app/components/TokenFilter.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenFilter.tsx

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDebouncedCallback } from 'use-debounce';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { XCircleFillIcon } from '@primer/octicons-react';
+import { Box, IconButton } from '@tokens-studio/ui';
+import { Search } from 'iconoir-react';
+import { Dispatch } from '../store';
+import { styled } from '@/stitches.config';
+import { tokenFilterSelector } from '@/selectors';
+ 
+const StyledInput = styled('input', {
+  background: 'transparent',
+  border: 'none',
+  borderRadius: '$small',
+  color: '$fgDefault',
+  fontSize: '$small',
+  width: '100%',
+  height: '$controlMedium',
+  paddingLeft: '$6',
+  paddingRight: '$1',
+  gap: '$2',
+  '&:hover': {
+    backgroundColor: '$bgSubtle',
+  },
+  '&:focus-visible': {
+    outline: 'none',
+    boxShadow: '$focus',
+  },
+});
+ 
+const TokenFilter = () => {
+  const tokenFilter = useSelector(tokenFilterSelector);
+  const [tokenString, setTokenString] = React.useState(tokenFilter);
+  const dispatch = useDispatch<Dispatch>();
+  const { t } = useTranslation(['general']);
+ 
+  const debounced = useDebouncedCallback((value) => {
+    dispatch.uiState.setTokenFilter(value);
+  }, 250);
+ 
+  const handleChange = React.useCallback((e: any) => {
+    const { value } = e.target;
+    setTokenString(value);
+    debounced(value);
+  }, [debounced]);
+ 
+  const handleResetSearchString = React.useCallback(() => {
+    setTokenString('');
+    dispatch.uiState.setTokenFilter('');
+  }, [dispatch.uiState]);
+ 
+  return (
+    <Box
+      css={{
+        display: 'flex',
+        flexGrow: 1,
+        flexShrink: 1,
+        flexBasis: 0,
+        alignItems: 'center',
+        gap: '$2',
+        position: 'relative',
+      }}
+    >
+      <Box css={{ position: 'absolute', left: '$2' }}><Search /></Box>
+      <StyledInput
+        spellCheck={false}
+        type="text"
+        value={tokenString}
+        onChange={handleChange}
+        placeholder={t('search') as string}
+      />
+      {tokenString && (
+        <Box css={{ position: 'absolute', right: '$2' }}>
+          <IconButton
+            onClick={handleResetSearchString}
+            icon={<XCircleFillIcon />}
+            css={{ color: '$fgMuted' }}
+            variant="invisible"
+            size="small"
+          />
+        </Box>
+      )}
+    </Box>
+  );
+};
+ 
+export default TokenFilter;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html new file mode 100644 index 000000000..97163c87f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/components/TokenFlowButton + + + + + + + + + +
+
+

All files src/app/components/TokenFlowButton

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/200%0/60%0/20%0/20
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html new file mode 100644 index 000000000..20b96a65b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/app/components/TokenFlowButton/index.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenFlowButton index.tsx

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useState } from 'react';
+import { useSelector } from 'react-redux';
+import { IconButton } from '@tokens-studio/ui';
+import FlowIcon from '@/icons/flow.svg';
+ 
+import {
+  themeObjectsSelector,
+  activeThemeSelector,
+  themeOptionsSelector,
+  usedTokenSetSelector,
+  tokensSelector,
+} from '@/selectors';
+import { track } from '@/utils/analytics';
+import { licenseKeySelector } from '@/selectors/licenseKeySelector';
+import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
+ 
+export default function TokenFlowButton() {
+  const activeTheme = useSelector(activeThemeSelector);
+  const availableThemes = useSelector(themeOptionsSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const themeObjects = useSelector(themeObjectsSelector);
+  const tokens = useSelector(tokensSelector);
+  const existingKey = useSelector(licenseKeySelector);
+  const licenseKeyError = useSelector(licenseKeyErrorSelector);
+ 
+  const [loading, setLoading] = useState(false);
+ 
+  const handleOpenTokenFlowApp = useCallback(async () => {
+    setLoading(true);
+    track('Open visualization');
+    const tokenData = JSON.stringify(tokens, null, 2);
+    try {
+      const response = await fetch(`${process.env.TOKEN_FLOW_APP_URL}/api/tokens`, {
+        method: 'POST',
+        headers: {
+          'Content-Type': 'application/json',
+        },
+        body: JSON.stringify({
+          tokenData,
+          activeTheme,
+          availableThemes,
+          usedTokenSet,
+          themeObjects,
+        }),
+      });
+      if (response.ok) {
+        const data = await response.json();
+        window.open(`${process.env.TOKEN_FLOW_APP_URL}?id=${data.result}`);
+      }
+    } catch (error) {
+      console.error('Error:', error);
+    }
+    setLoading(false);
+  }, [activeTheme, availableThemes, themeObjects, tokens, usedTokenSet]);
+ 
+  return (
+    (existingKey && !licenseKeyError)
+      ? (
+        <IconButton
+          size="small"
+          variant="invisible"
+          tooltip="Open visualization flow"
+          data-testid="token-flow-button"
+          loading={loading}
+          onClick={handleOpenTokenFlowApp}
+          icon={<FlowIcon />}
+        />
+      ) : null
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html new file mode 100644 index 000000000..f8f886357 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/app/components/TokenFormatBadge.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenFormatBadge.tsx

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import {
+  Button,
+  IconButton,
+} from '@tokens-studio/ui';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { Dispatch } from '../store';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
+import DesignTokenIcon from '@/icons/designtoken.svg';
+import LegacyFormatIcon from '@/icons/legacyformat.svg';
+ 
+export function TokenFormatBadge({ extended = false }: { extended?: boolean }) {
+  const { t } = useTranslation(['storage']);
+  const tokenFormat = useSelector(tokenFormatSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const isDTCG = tokenFormat === TokenFormatOptions.DTCG;
+ 
+  const handleOpenModal = useCallback(() => {
+    dispatch.uiState.setShowConvertTokenFormatModal(true);
+  }, [dispatch.uiState]);
+ 
+  if (extended) {
+    return isDTCG ? <Button icon={<DesignTokenIcon />} onClick={handleOpenModal} variant="invisible" size="small">{t('w3cformat')}</Button> : <Button icon={<LegacyFormatIcon />} onClick={handleOpenModal} variant="invisible" size="small">{t('legacyformat')}</Button>;
+  }
+ 
+  return isDTCG ? <IconButton tooltip={t('w3cformat')} tooltipSide="top" onClick={handleOpenModal} variant="invisible" size="small" icon={<DesignTokenIcon />} /> : (
+    <IconButton tooltip={t('legacyformattooltip')} tooltipSide="top" onClick={handleOpenModal} variant="invisible" size="small" icon={<LegacyFormatIcon />} />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html new file mode 100644 index 000000000..ff5eaccd2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/app/components/TokenGroup/StyledTokenGroup.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenGroup StyledTokenGroup.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledTokenGroup = styled('div', {
+  display: 'flex',
+  flexDirection: 'column',
+  flexWrap: 'wrap',
+  justifyContent: 'flex-start',
+  variants: {
+    displayType: {
+      LIST: {
+        flexDirection: 'column',
+      },
+      GRID: {
+        flexDirection: 'row',
+      },
+    },
+  },
+});
+ 
+export const StyledTokenGroupItems = styled('div', {
+  display: 'flex',
+  flexDirection: 'column',
+  width: '100%',
+  // need to create a class to create traversal
+  [`& ${StyledTokenGroup}`]: {
+    position: 'relative',
+    '&::before': {
+      content: '',
+      bottom: '14px',
+      top: 0,
+      left: 0,
+      position: 'absolute',
+      width: '4px',
+      borderBottomLeftRadius: '$medium',
+      borderLeft: '1px solid $borderMuted',
+      borderBottom: '1px solid $borderMuted',
+    },
+    marginLeft: '$1',
+    paddingLeft: '$3',
+    '.property-wrapper': {
+      marginBottom: 0,
+      paddingBottom: 0,
+      paddingLeft: 0,
+      borderLeft: 'none',
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html new file mode 100644 index 000000000..0617a8a4f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for src/app/components/TokenGroup/StyledTokenGroupHeading.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenGroup StyledTokenGroupHeading.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { IconButton } from '@tokens-studio/ui';
+import { styled } from '@/stitches.config';
+ 
+export const StyledTokenGroupAddIcon = styled(IconButton, {
+  opacity: 0,
+  '&:hover, &:focus, &:focus-within': {
+    opacity: 1,
+  },
+});
+ 
+export const StyledTokenGroupHeading = styled('div', {
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'space-between',
+  '&:hover, &:focus': {
+    [`& ${StyledTokenGroupAddIcon}`]: {
+      opacity: 1,
+    },
+  },
+});
+ 
+export const StyledTokenGroupHeadingCollapsable = styled('button', {
+  display: 'flex',
+  alignItems: 'center',
+  padding: '$1 $2',
+  marginLeft: '-$2',
+  gap: '$2',
+  borderRadius: '$small',
+  '&:hover, &:focus': {
+    backgroundColor: '$bgSubtle',
+    boxShadow: 'none',
+    border: 'none',
+    [`+ ${StyledTokenGroupAddIcon}`]: {
+      opacity: 1,
+    },
+  },
+  '> svg': {
+    opacity: 0.5,
+  },
+  variants: {
+    collapsed: {
+      true: {
+        opacity: 0.75,
+      },
+    },
+  },
+});
+ 
+export const StyledTokenGroupHeadingButton = styled('button', {
+  display: 'flex',
+  alignItems: 'center',
+  width: '100%',
+  height: '100%',
+  padding: '$4',
+  gap: '$2',
+  '&:hover, &:focus': {
+    backgroundColor: '$bgSubtle',
+    outline: 'none',
+  },
+  variants: {
+    isCollapsed: {
+      true: {
+        opacity: 0.5,
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html new file mode 100644 index 000000000..1e15288d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/app/components/TokenGroup/TokenGroup.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenGroup TokenGroup.tsx

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo, useState } from 'react';
+import { useSelector } from 'react-redux';
+import { TokenGroupHeading } from './TokenGroupHeading';
+import { StyledTokenGroup, StyledTokenGroupItems } from './StyledTokenGroup';
+import { TokenButton } from '@/app/components/TokenButton';
+import { displayTypeSelector } from '@/selectors';
+import { DeepKeyTokenMap, SingleToken, TokenTypeSchema } from '@/types/tokens';
+import { isSingleToken } from '@/utils/is';
+import { collapsedTokensSelector } from '@/selectors/collapsedTokensSelector';
+import { ShowFormOptions, ShowNewFormOptions } from '@/types';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+type Props = {
+  schema: TokenTypeSchema;
+  tokenValues: DeepKeyTokenMap;
+  path?: string | null;
+  tokenKey: string;
+  showNewForm: (opts: ShowNewFormOptions) => void;
+  showForm: (opts: ShowFormOptions) => void;
+};
+ 
+const TokenGroup: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  tokenValues, showNewForm, showForm, schema, path = null, tokenKey,
+}) => {
+  const collapsed = useSelector(collapsedTokensSelector);
+  const displayType = useSelector(displayTypeSelector);
+ 
+  const tokenValuesEntries = React.useMemo(() => (
+    Object.entries(tokenValues).map(([name, value]) => {
+      const stringPath = [path, name].filter((n) => n).join('.');
+      const isTokenGroup = !isSingleToken(value);
+      const parent = path || '';
+ 
+      return {
+        stringPath,
+        name,
+        value,
+        isTokenGroup,
+        parent,
+      };
+    })
+  ), [tokenValues, path]);
+ 
+  const mappedItems = useMemo(() => (
+    tokenValuesEntries.filter((item) => (
+      // remove items which are in a collapsed parent
+      (!collapsed.some((parentKey) => (item.parent?.startsWith(parentKey) && item.parent?.charAt(parentKey.length) === '.')
+      || item.parent === parentKey))
+    )).map((item) => ({
+      item,
+    }))
+  ), [tokenValuesEntries, collapsed]);
+ 
+  const [draggedToken, setDraggedToken] = useState<SingleToken | null>(null);
+  const [dragOverToken, setDragOverToken] = useState<SingleToken | null>(null);
+ 
+  if (mappedItems.length === 0) {
+    return null;
+  }
+  return (
+    (
+      <StyledTokenGroup displayType={schema.type === TokenTypes.COLOR ? displayType : 'GRID'}>
+        {mappedItems.map(({ item }) => (
+          <React.Fragment key={item.stringPath}>
+            {typeof item.value === 'object' && !isSingleToken(item.value) ? (
+            // Need to add class to self-reference in css traversal
+              (
+                <StyledTokenGroupItems className="property-wrapper" data-testid={`token-group-${item.stringPath}`}>
+                  <TokenGroupHeading showNewForm={showNewForm} label={item.name} path={item.stringPath} id="listing" type={schema.type || tokenKey} />
+                  <TokenGroup
+                    tokenValues={item.value}
+                    showNewForm={showNewForm}
+                    showForm={showForm}
+                    schema={schema}
+                    path={item.stringPath}
+                    tokenKey={tokenKey}
+                  />
+                </StyledTokenGroupItems>
+              )
+            ) : (
+              <TokenButton
+                type={schema.type}
+                token={item.value}
+                showForm={showForm}
+                draggedToken={draggedToken}
+                dragOverToken={dragOverToken}
+                setDraggedToken={setDraggedToken}
+                setDragOverToken={setDragOverToken}
+              />
+            )}
+          </React.Fragment>
+        ))}
+      </StyledTokenGroup>
+    )
+  );
+};
+ 
+export default React.memo(TokenGroup);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html new file mode 100644 index 000000000..f284df1cf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html @@ -0,0 +1,532 @@ + + + + + + Code coverage report for src/app/components/TokenGroup/TokenGroupHeading.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenGroup TokenGroupHeading.tsx

+
+ +
+ 0% + Statements + 0/38 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Heading,
+  ContextMenu,
+} from '@tokens-studio/ui';
+import Stack from '../Stack';
+import useManageTokens from '../../store/useManageTokens';
+import { activeApiProviderSelector, activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors';
+import { IconCollapseArrow, IconExpandArrow, IconAdd } from '@/icons';
+import { StyledTokenGroupHeading, StyledTokenGroupAddIcon, StyledTokenGroupHeadingCollapsable } from './StyledTokenGroupHeading';
+import { Dispatch } from '../../store';
+import { collapsedTokensSelector } from '@/selectors/collapsedTokensSelector';
+import { ShowNewFormOptions } from '@/types';
+import useTokens from '../../store/useTokens';
+import RenameTokenGroupModal from '../modals/RenameTokenGroupModal';
+import DuplicateTokenGroupModal from '../modals/DuplicateTokenGroupModal';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export type Props = {
+  id: string
+  label: string
+  path: string
+  type: string
+  showNewForm: (opts: ShowNewFormOptions) => void;
+};
+ 
+export function TokenGroupHeading({
+  label, path, id, type, showNewForm,
+}: Props) {
+  const { t } = useTranslation(['tokens']);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
+  const activeApiProvider = useSelector(activeApiProviderSelector);
+  const [newTokenGroupName, setNewTokenGroupName] = React.useState<string>(path);
+  const [showRenameTokenGroupModal, setShowRenameTokenGroupModal] = React.useState<boolean>(false);
+  const [showDuplicateTokenGroupModal, setShowDuplicateTokenGroupModal] = React.useState<boolean>(false);
+  const { deleteGroup, renameGroup } = useManageTokens();
+  const dispatch = useDispatch<Dispatch>();
+  const collapsed = useSelector(collapsedTokensSelector);
+  const { remapTokensInGroup } = useTokens();
+  const isTokensStudioProvider = activeApiProvider === StorageProviderType.TOKENS_STUDIO;
+ 
+  const canEdit = !editProhibited && !activeTokenSetReadOnly && !isTokensStudioProvider;
+ 
+  const handleDelete = React.useCallback(() => {
+    deleteGroup(path, type);
+  }, [deleteGroup, path, type]);
+ 
+  const handleRename = React.useCallback(() => {
+    setNewTokenGroupName(path);
+    setShowRenameTokenGroupModal(true);
+  }, [path]);
+ 
+  const handleRenameTokenGroupSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    const tokensToRename = await renameGroup(path, newTokenGroupName, type);
+    await remapTokensInGroup({
+      oldGroupName: `${path}.`, newGroupName: `${newTokenGroupName}.`, type, tokensToRename,
+    });
+    setShowRenameTokenGroupModal(false);
+  }, [newTokenGroupName, path, renameGroup, type, remapTokensInGroup]);
+ 
+  const handleNewTokenGroupNameChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
+    setNewTokenGroupName(e.target.value);
+  }, []);
+ 
+  const handleRenameTokenGroupModalClose = React.useCallback(() => {
+    setShowRenameTokenGroupModal(false);
+  }, []);
+ 
+  const handleDuplicateTokenGroupModalClose = React.useCallback(() => {
+    setShowDuplicateTokenGroupModal(false);
+  }, []);
+ 
+  const handleDuplicate = React.useCallback(() => {
+    setNewTokenGroupName(`${path}-copy`);
+    setShowDuplicateTokenGroupModal(true);
+  }, [path]);
+ 
+  const handleToggleCollapsed = useCallback(() => {
+    dispatch.tokenState.setCollapsedTokens(collapsed.includes(path) ? collapsed.filter((s) => s !== path) : [...collapsed, path]);
+  }, [collapsed, dispatch.tokenState, path]);
+ 
+  const handleShowNewForm = useCallback(() => showNewForm({ name: `${path}.` }), [path, showNewForm]);
+ 
+  return (
+    <StyledTokenGroupHeading>
+      <StyledTokenGroupHeadingCollapsable
+        collapsed={collapsed.includes(path)}
+        data-testid={`tokenlisting-group-${path}`}
+        type="button"
+      >
+        <ContextMenu>
+          <ContextMenu.Trigger data-testid={`group-heading-${path}-${label}-${id}`} onClick={handleToggleCollapsed}>
+            <Stack direction="row" gap={2} align="center" css={{ color: '$fgMuted' }}>
+              {collapsed.includes(path) ? <IconCollapseArrow /> : <IconExpandArrow />}
+              <Heading muted size="small">{label}</Heading>
+            </Stack>
+          </ContextMenu.Trigger>
+          <ContextMenu.Portal>
+            <ContextMenu.Content>
+              <ContextMenu.Item disabled={!canEdit} onSelect={handleRename}>
+                {t('rename')}
+              </ContextMenu.Item>
+              <ContextMenu.Item disabled={!canEdit} onSelect={handleDuplicate}>
+                {t('duplicate')}
+              </ContextMenu.Item>
+              <ContextMenu.Item disabled={!canEdit} onSelect={handleDelete}>
+                {t('delete')}
+              </ContextMenu.Item>
+            </ContextMenu.Content>
+          </ContextMenu.Portal>
+        </ContextMenu>
+      </StyledTokenGroupHeadingCollapsable>
+ 
+      <RenameTokenGroupModal
+        isOpen={showRenameTokenGroupModal}
+        newName={newTokenGroupName}
+        oldName={path}
+        onClose={handleRenameTokenGroupModalClose}
+        handleRenameTokenGroupSubmit={handleRenameTokenGroupSubmit}
+        handleNewTokenGroupNameChange={handleNewTokenGroupNameChange}
+        type={type}
+      />
+ 
+      <DuplicateTokenGroupModal
+        isOpen={showDuplicateTokenGroupModal}
+        type={type}
+        newName={newTokenGroupName}
+        oldName={path}
+        onClose={handleDuplicateTokenGroupModalClose}
+        handleNewTokenGroupNameChange={handleNewTokenGroupNameChange}
+      />
+ 
+      <StyledTokenGroupAddIcon
+        icon={<IconAdd />}
+        tooltip={t('addNew', { ns: 'tokens' })}
+        tooltipSide="left"
+        onClick={handleShowNewForm}
+        disabled={!canEdit}
+        data-testid="button-add-new-token-in-group"
+        size="small"
+        variant="invisible"
+      />
+    </StyledTokenGroupHeading>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html new file mode 100644 index 000000000..e76557db4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/app/components/TokenGroup + + + + + + + + + +
+
+

All files src/app/components/TokenGroup

+
+ +
+ 0% + Statements + 0/65 +
+ + +
+ 0% + Branches + 0/23 +
+ + +
+ 0% + Functions + 0/20 +
+ + +
+ 0% + Lines + 0/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
StyledTokenGroup.tsx +
+
0%0/2100%0/0100%0/00%0/2
StyledTokenGroupHeading.tsx +
+
0%0/4100%0/0100%0/00%0/4
TokenGroup.tsx +
+
0%0/210%0/160%0/90%0/19
TokenGroupHeading.tsx +
+
0%0/380%0/70%0/110%0/36
index.tsx +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html new file mode 100644 index 000000000..687d7bf79 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/TokenGroup/index.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenGroup index.tsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * as TokenGroup from './TokenGroup';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html new file mode 100644 index 000000000..a1c09eb31 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html @@ -0,0 +1,304 @@ + + + + + + Code coverage report for src/app/components/TokenInput.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenInput.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+import * as LabelPrimitive from '@radix-ui/react-label';
+import { styled } from '@/stitches.config';
+ 
+const StyledLabel = styled(LabelPrimitive.Root, {
+  fontSize: 12,
+  fontWeight: 500,
+  color: '$fgMuted',
+  userSelect: 'none',
+  pointerEvents: 'none',
+  padding: '$3',
+  borderRight: '1px solid $borderDefault',
+  position: 'absolute',
+  left: 0,
+  top: 0,
+  width: '80px',
+  height: '100%',
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'flex-start',
+});
+ 
+const Input = styled('input', {
+  all: 'unset',
+  borderRadius: '$small',
+  padding: '$4 $3',
+  paddingLeft: 'calc(80px + $4)',
+  fontSize: 12,
+  lineHeight: 1,
+  color: '$fgDefault',
+  border: '1px solid $borderDefault',
+  width: '100%',
+  '&:focus': { boxShadow: '$focus' },
+});
+ 
+const Wrapper = styled('div', {
+  position: 'relative',
+  display: 'flex',
+});
+ 
+type Props = {
+  name: string
+  label: string
+  type: string
+  onChange: React.ChangeEventHandler<HTMLInputElement>
+  value?: string | number
+  required?: boolean
+  custom?: string
+  placeholder?: string
+};
+ 
+function TokenInput({
+  name, required = false, label, onChange, custom = '', value, type, placeholder = '',
+}: Props) {
+  return (
+    <Wrapper>
+      <StyledLabel htmlFor={name}>{label}</StyledLabel>
+      <Input
+        spellCheck={false}
+        type={type}
+        value={value}
+        name={name}
+        onChange={onChange}
+        required={required}
+        data-custom={custom}
+        placeholder={placeholder}
+      />
+    </Wrapper>
+  );
+}
+ 
+export default TokenInput;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html new file mode 100644 index 000000000..eafb8039c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html @@ -0,0 +1,451 @@ + + + + + + Code coverage report for src/app/components/TokenListing.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenListing.tsx

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { HTML5Backend } from 'react-dnd-html5-backend';
+import { DndProvider } from 'react-dnd';
+import { DeepKeyTokenMap, EditTokenObject, TokenTypeSchema } from '@/types/tokens';
+import TokenGroup from './TokenGroup/TokenGroup';
+import { Dispatch } from '../store';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { collapsedSelector, collapsedTokenTypeObjSelector, showEmptyGroupsSelector } from '@/selectors';
+import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import { ShowFormOptions, ShowNewFormOptions } from '@/types';
+import Box from './Box';
+import TokenListingHeading from './TokenListingHeading';
+ 
+type Props = {
+  tokenKey: string;
+  label: string;
+  schema: TokenTypeSchema;
+  values: DeepKeyTokenMap;
+  isPro?: boolean;
+};
+ 
+const TokenListing: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  tokenKey, label, schema, values, isPro,
+}) => {
+  const showEmptyGroups = useSelector(showEmptyGroupsSelector);
+  const collapsedTokenTypeObj = useSelector(collapsedTokenTypeObjSelector);
+  const collapsed = useSelector(collapsedSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const showForm = React.useCallback(
+    ({ token, name, status }: ShowFormOptions) => {
+      dispatch.uiState.setShowEditForm(true);
+      const type = token?.type || schema.type;
+      dispatch.uiState.setEditToken({
+        ...token,
+        type,
+        schema,
+        status,
+        initialName: name,
+        name,
+        value: type === TokenTypes.COLOR && !token?.value ? '#' : token?.value,
+      } as EditTokenObject);
+    },
+    [schema, dispatch],
+  );
+ 
+  const showNewForm = React.useCallback(
+    ({ name = '' }: ShowNewFormOptions) => {
+      showForm({ token: null, name, status: EditTokenFormStatus.CREATE });
+    },
+    [showForm],
+  );
+ 
+  const showDisplayToggle = React.useMemo(() => schema.type === TokenTypes.COLOR, [schema.type]);
+ 
+  // TODO: Move this to state
+  const handleSetIntCollapsed = React.useCallback(
+    (e: React.MouseEvent<HTMLButtonElement>) => {
+      e.stopPropagation();
+      if (e.altKey) {
+        dispatch.uiState.toggleCollapsed();
+        const newCollapsedObj = Object.keys(collapsedTokenTypeObj).reduce<Record<string, boolean>>((acc, key) => {
+          acc[key] = !collapsed;
+          return acc;
+        }, {});
+        dispatch.tokenState.setCollapsedTokenTypeObj(newCollapsedObj);
+      } else {
+        dispatch.tokenState.setCollapsedTokenTypeObj({
+          ...collapsedTokenTypeObj,
+          [tokenKey]: !collapsedTokenTypeObj[tokenKey as TokenTypes],
+        });
+      }
+    },
+    [dispatch, collapsedTokenTypeObj, tokenKey, collapsed],
+  );
+ 
+  if (!values && !showEmptyGroups) return null;
+ 
+  return (
+    <Box css={{ borderBottom: '1px solid $borderMuted' }} data-testid={`tokenlisting-${tokenKey}`}>
+      <TokenListingHeading
+        onCollapse={handleSetIntCollapsed}
+        showDisplayToggle={showDisplayToggle}
+        tokenKey={tokenKey}
+        label={label}
+        isPro={isPro}
+        showNewForm={showNewForm}
+        isCollapsed={collapsedTokenTypeObj[tokenKey as TokenTypes]}
+      />
+      {values && (
+        <DndProvider backend={HTML5Backend}>
+          <Box
+            data-testid={`tokenlisting-${tokenKey}-content`}
+            css={{
+              padding: '$4',
+              display: collapsedTokenTypeObj[tokenKey as TokenTypes] ? 'none' : 'block',
+              paddingTop: '$1',
+            }}
+          >
+            <TokenGroup
+              tokenValues={values}
+              showNewForm={showNewForm}
+              showForm={showForm}
+              schema={schema}
+              tokenKey={tokenKey}
+            />
+          </Box>
+        </DndProvider>
+      )}
+    </Box>
+  );
+};
+ 
+// @README the memo props check used to be a deep equals
+// but because the token sorting is done based on the order of an object
+// it comes as back as equals since object key order is disregarded in lodash's
+// isEqual check.
+// @TODO we should probably not rely on object key order for sorting anyways
+// since JS technically does not always ensure the same order of object keys.
+// in practice this is always the case but it is something to keep in mind in theory
+export default React.memo(TokenListing);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html new file mode 100644 index 000000000..274ab8e83 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html @@ -0,0 +1,376 @@ + + + + + + Code coverage report for src/app/components/TokenListingHeading.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenListingHeading.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { IconButton, Heading } from '@tokens-studio/ui';
+import {
+  IconCollapseArrow, IconExpandArrow, IconList, IconGrid, IconAdd,
+} from '@/icons';
+import { activeTokenSetReadOnlySelector, displayTypeSelector, editProhibitedSelector } from '@/selectors';
+import ProBadge from './ProBadge';
+ 
+import { Dispatch } from '../store';
+import Tooltip from './Tooltip';
+import Box from './Box';
+import Stack from './Stack';
+import { StyledTokenGroupHeadingButton } from './TokenGroup/StyledTokenGroupHeading';
+import { useIsProUser } from '../hooks/useIsProUser';
+ 
+type Props = {
+  isCollapsed: boolean;
+  isPro?: boolean;
+  showNewForm: (options: { name?: string }) => void;
+  label: string;
+  tokenKey: string;
+  showDisplayToggle: boolean;
+  onCollapse: (e: React.MouseEvent<HTMLButtonElement>) => void;
+};
+ 
+export default function TokenListingHeading({
+  isPro,
+  isCollapsed,
+  showNewForm,
+  label,
+  tokenKey,
+  showDisplayToggle,
+  onCollapse,
+}: Props) {
+  const dispatch = useDispatch<Dispatch>();
+  const isProUser = useIsProUser();
+ 
+  const editProhibited = useSelector(editProhibitedSelector);
+  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
+ 
+  const displayType = useSelector(displayTypeSelector);
+  const handleShowNewForm = React.useCallback(() => showNewForm({}), [showNewForm]);
+ 
+  const handleToggleDisplayType = React.useCallback(() => {
+    dispatch.uiState.setDisplayType(displayType === 'GRID' ? 'LIST' : 'GRID');
+  }, [displayType, dispatch]);
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  return (
+    <Stack direction="row" align="center" justify="between" gap={4} css={{ position: 'relative' }}>
+      <StyledTokenGroupHeadingButton
+        isCollapsed={isCollapsed}
+        type="button"
+        onClick={onCollapse}
+        data-testid={`tokenlisting-${tokenKey}-collapse-button`}
+      >
+        <Tooltip label={`Alt + Click ${t('toggle')}`}>
+          <Box css={{ padding: '$2', margin: '-$2' }}>{isCollapsed ? <IconCollapseArrow /> : <IconExpandArrow />}</Box>
+        </Tooltip>
+        <Heading size="small">{label}</Heading>
+        {isPro ? <ProBadge campaign={`${tokenKey}-listing`} /> : null}
+      </StyledTokenGroupHeadingButton>
+      <Box
+        css={{
+          position: 'absolute',
+          right: 0,
+          display: 'flex',
+          marginRight: '$2',
+        }}
+      >
+        {showDisplayToggle && (
+          <IconButton
+            icon={displayType === 'GRID' ? <IconList /> : <IconGrid />}
+            tooltip={displayType === 'GRID' ? t('showAsList') : t('showAsGrid')}
+            onClick={handleToggleDisplayType}
+            variant="invisible"
+            size="small"
+          />
+        )}
+ 
+        <IconButton
+          data-testid="button-add-new-token"
+          // TODO: Add proper logic to disable adding a token type depending on flags
+          disabled={editProhibited || activeTokenSetReadOnly || (isPro && !isProUser)}
+          icon={<IconAdd />}
+          tooltip={t('addNew')}
+          onClick={handleShowNewForm}
+          variant="invisible"
+          size="small"
+        />
+      </Box>
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html new file mode 100644 index 000000000..ad55ada23 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/components/TokenSetItem/StyledWrapper.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenSetItem StyledWrapper.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import Box from '../Box';
+import { styled } from '@/stitches.config';
+ 
+export const StyledWrapper = styled(Box, {
+  display: 'flex',
+  position: 'relative',
+  alignItems: 'center',
+  gap: '$1',
+  fontWeight: '$sansBold',
+  fontSize: '$xsmall',
+  width: '100%',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html new file mode 100644 index 000000000..062c30f36 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html @@ -0,0 +1,739 @@ + + + + + + Code coverage report for src/app/components/TokenSetItem/TokenSetItem.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenSetItem TokenSetItem.tsx

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useSelector } from 'react-redux';
+import { CheckIcon } from '@radix-ui/react-icons';
+import { useTranslation } from 'react-i18next';
+import {
+  Checkbox, ContextMenu, Tooltip, Box, Text,
+} from '@tokens-studio/ui';
+import { StyledCheckbox } from '../StyledDragger/StyledCheckbox';
+import { StyledWrapper } from './StyledWrapper';
+import { tokenSetStatusSelector } from '@/selectors';
+import { RootState } from '@/app/store';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import IconIndeterminateAlt from '@/icons/indeterminate-alt.svg';
+import { TreeItem } from '@/utils/tokenset';
+import { DragGrabber } from '../StyledDragger/DragGrabber';
+import { StyledDragButton } from '../StyledDragger/StyledDragButton';
+import { formatCount } from '@/utils/formatCount';
+ 
+export type TokenSetItemProps = {
+  item: TreeItem & { tokenCount?: number };
+  isCollapsed?: boolean; // eslint-disable-line react/no-unused-prop-types
+  isActive?: boolean;
+  isChecked: boolean | 'indeterminate';
+  canEdit: boolean;
+  canDuplicate?: boolean;
+  canDelete: boolean;
+  canReorder?: boolean;
+  extraBefore?: React.ReactNode;
+  onClick: (item: TreeItem) => void;
+  onCollapse?: (itemPath: string) => void; // eslint-disable-line react/no-unused-prop-types
+  onCheck: (checked: boolean, item: TreeItem) => void;
+  onRename: (set: string) => void;
+  onDelete: (set: string) => void;
+  onDuplicate: (set: string) => void;
+  onTreatAsSource: (set: string) => void;
+  onDragStart?: (event: React.PointerEvent<HTMLDivElement>, item: TreeItem) => void;
+};
+ 
+export function TokenSetItem({
+  item,
+  onClick,
+  isActive = false,
+  isChecked,
+  onCheck,
+  canEdit,
+  canDuplicate = true,
+  canDelete,
+  canReorder = false,
+  extraBefore,
+  onRename,
+  onDelete,
+  onDuplicate,
+  onTreatAsSource,
+  onDragStart,
+}: TokenSetItemProps) {
+  const statusSelector = useCallback((state: RootState) => tokenSetStatusSelector(state, item.path), [item]);
+  const tokenSetStatus = useSelector(statusSelector);
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleClick = useCallback(() => {
+    onClick(item);
+  }, [item, onClick]);
+ 
+  const handleRename = useCallback(() => {
+    onRename(item.path);
+  }, [item.path, onRename]);
+ 
+  const handleDelete = useCallback(() => {
+    onDelete(item.path);
+  }, [item.path, onDelete]);
+ 
+  const handleDuplicate = useCallback(() => {
+    onDuplicate(item.path);
+  }, [item.path, onDuplicate]);
+ 
+  const handleTreatAsSource = useCallback(() => {
+    onTreatAsSource(item.path);
+  }, [item.path, onTreatAsSource]);
+ 
+  const handleCheckedChange = useCallback(() => {
+    onCheck(!isChecked, item);
+  }, [item, isChecked, onCheck]);
+ 
+  const handleGrabberPointerDown = useCallback<React.PointerEventHandler<HTMLDivElement>>(
+    (event) => {
+      if (onDragStart) onDragStart(event, item);
+    },
+    [item, onDragStart],
+  );
+ 
+  const getCheckboxTooltip = useCallback(() => {
+    if (tokenSetStatus === TokenSetStatus.SOURCE) {
+      return t('sets.sourceDescription') as string;
+    }
+    if (isChecked) {
+      return t('sets.activeDescription') as string;
+    }
+    return t('sets.inactiveDescription') as string;
+  }, [isChecked, tokenSetStatus, t]);
+ 
+  const renderIcon = useCallback(
+    (checked: typeof isChecked, fallbackIcon: React.ReactNode) => {
+      if (tokenSetStatus === TokenSetStatus.SOURCE) {
+        return <IconIndeterminateAlt />;
+      }
+      return fallbackIcon;
+    },
+    [tokenSetStatus],
+  );
+ 
+  return (
+    <StyledWrapper>
+      <ContextMenu>
+        {!item.isLeaf ? (
+          <ContextMenu.Trigger asChild id={`${item.path}-trigger`}>
+            <StyledDragButton
+              itemType="folder"
+              type="button"
+              data-testid={`tokensetitem-${item.path}`}
+              css={{
+                padding: '$3 $7 $3 $1',
+                paddingLeft: `${5 * item.level}px`,
+              }}
+              isActive={isActive}
+              canReorder={canReorder}
+              onClick={handleClick}
+            >
+              <DragGrabber item={item} canReorder={canReorder} onDragStart={handleGrabberPointerDown} />
+              {extraBefore}
+            </StyledDragButton>
+          </ContextMenu.Trigger>
+        ) : (
+          <ContextMenu.Trigger asChild id={`${item.path}-trigger`}>
+            <StyledDragButton
+              type="button"
+              css={{
+                padding: '$3 $6 $3 $1',
+                paddingLeft: `${5 * item.level}px`,
+              }}
+              data-testid={`tokensetitem-${item.path}`}
+              isActive={isActive}
+              canReorder={canReorder}
+              onClick={handleClick}
+            >
+              <DragGrabber item={item} canReorder={canReorder} onDragStart={handleGrabberPointerDown} />
+              <Box
+                css={{
+                  display: 'flex',
+                  alignItems: 'center',
+                  gap: '$2',
+                  overflow: 'hidden',
+                  height: '1.5em',
+                  maxWidth: 'calc(100% - $sizes$6)',
+                  whiteSpace: 'nowrap',
+                  textOverflow: 'ellipsis',
+                  userSelect: 'none',
+                }}
+              >
+                <Tooltip label={item.label} side="right">
+                  <span style={{ overflow: 'hidden' }}>{item.label}</span>
+                </Tooltip>
+                {item.tokenCount !== undefined && item.tokenCount > 0 && (
+                  <Text size="xsmall" muted css={{ flexShrink: 0 }}>
+                    {formatCount(item.tokenCount)}
+                  </Text>
+                )}
+              </Box>
+            </StyledDragButton>
+          </ContextMenu.Trigger>
+        )}
+        <ContextMenu.Portal>
+          <ContextMenu.Content>
+            <ContextMenu.Item onSelect={handleRename} disabled={!canEdit}>{t('rename')}</ContextMenu.Item>
+            {item.isLeaf && (
+              <>
+                <ContextMenu.Item disabled={!canEdit || !canDuplicate} onSelect={handleDuplicate}>{t('duplicate')}</ContextMenu.Item>
+                <ContextMenu.Item disabled={!canEdit || !canDelete} onSelect={handleDelete}>
+                  {t('delete')}
+                </ContextMenu.Item>
+                <ContextMenu.Separator />
+                <ContextMenu.CheckboxItem
+                  checked={tokenSetStatus === TokenSetStatus.SOURCE}
+                  onSelect={handleTreatAsSource}
+                >
+                  <ContextMenu.ItemIndicator>
+                    <CheckIcon />
+                  </ContextMenu.ItemIndicator>
+                  {t('sets.treatAsSource')}
+                </ContextMenu.CheckboxItem>
+              </>
+            )}
+          </ContextMenu.Content>
+        </ContextMenu.Portal>
+      </ContextMenu>
+      <StyledCheckbox checked={isChecked}>
+        {item.isLeaf ? (
+          <Tooltip label={getCheckboxTooltip()} side="right">
+            <Checkbox
+              id={item.path}
+              data-testid={`tokensetitem-${item.path}-checkbox`}
+              checked={isChecked}
+              renderIcon={renderIcon}
+              onCheckedChange={handleCheckedChange}
+            />
+          </Tooltip>
+        ) : (
+          <Checkbox
+            id={item.path}
+            data-testid={`tokensetitem-${item.path}-checkbox`}
+            checked={isChecked}
+            renderIcon={renderIcon}
+            onCheckedChange={handleCheckedChange}
+          />
+        )}
+      </StyledCheckbox>
+    </StyledWrapper>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html new file mode 100644 index 000000000..0155e1c38 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/components/TokenSetItem + + + + + + + + + +
+
+

All files src/app/components/TokenSetItem

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
StyledWrapper.tsx +
+
0%0/1100%0/0100%0/00%0/1
TokenSetItem.tsx +
+
0%0/300%0/240%0/110%0/28
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html new file mode 100644 index 000000000..a76998ec7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/components/TokenSetItem/index.ts + + + + + + + + + +
+
+

All files / src/app/components/TokenSetItem index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export { TokenSetItem } from './TokenSetItem';
+export type { TokenSetItemProps } from './TokenSetItem';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html new file mode 100644 index 000000000..eb3a9e3a9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html @@ -0,0 +1,352 @@ + + + + + + Code coverage report for src/app/components/TokenSetListItemContent.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenSetListItemContent.tsx

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { Dispatch } from '../store';
+import { TokenSetItem } from './TokenSetItem';
+import useConfirm from '../hooks/useConfirm';
+import {
+  activeTokenSetSelector,
+  editProhibitedSelector,
+  hasUnsavedChangesSelector,
+  tokenSetMetadataSelector,
+  usedTokenSetSelector,
+} from '@/selectors';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { DragControlsContext } from '@/context';
+import { TreeItem } from '@/utils/tokenset';
+ 
+type ExtendedTreeItem = TreeItem & {
+  tokenSets: string[];
+  onRename: (tokenSet: string) => void;
+  onDelete: (tokenSet: string) => void;
+  onDuplicate: (tokenSet: string) => void;
+  saveScrollPositionSet: (tokenSet: string) => void;
+};
+type TreeRenderFunction = (props: React.PropsWithChildren<{
+  item: ExtendedTreeItem
+}>) => React.ReactNode;
+ 
+export function TokenSetListItemContent({ item }: Parameters<TreeRenderFunction>[0]) {
+  const { confirm } = useConfirm();
+  const dragContext = React.useContext(DragControlsContext);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const tokenSetMetadata = useSelector(tokenSetMetadataSelector);
+  const hasUnsavedChanges = useSelector(hasUnsavedChangesSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleClick = useCallback(async (set: TreeItem) => {
+    if (set.isLeaf) {
+      if (hasUnsavedChanges) {
+        const userChoice = await confirm({ text: t('youHaveUnsavedChanges'), description: t('changesWillBeDiscarded') });
+        if (userChoice) {
+          dispatch.tokenState.setActiveTokenSet(set.path);
+          item.saveScrollPositionSet(activeTokenSet);
+        }
+      } else {
+        dispatch.tokenState.setActiveTokenSet(set.path);
+        item.saveScrollPositionSet(activeTokenSet);
+      }
+    }
+  }, [confirm, dispatch, hasUnsavedChanges, item, activeTokenSet]);
+ 
+  const handleCheckedChange = useCallback((checked: boolean, treeItem: TreeItem) => {
+    dispatch.tokenState.toggleUsedTokenSet(treeItem.path);
+  }, [dispatch]);
+ 
+  const handleTreatAsSource = useCallback((tokenSetPath: string) => {
+    dispatch.tokenState.toggleTreatAsSource(tokenSetPath);
+  }, [dispatch]);
+ 
+  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
+    dragContext.controls?.start(event);
+  }, [dragContext.controls]);
+ 
+  return (
+    <TokenSetItem
+      key={item.key}
+      isActive={activeTokenSet === item.path}
+      onClick={handleClick}
+      isChecked={usedTokenSet?.[item.path] === TokenSetStatus.ENABLED || (
+        usedTokenSet?.[item.path] === TokenSetStatus.SOURCE ? 'indeterminate' : false
+      )}
+      item={item}
+      onCheck={handleCheckedChange}
+      canEdit={!editProhibited}
+      canDuplicate={!tokenSetMetadata[item.path]?.isDynamic}
+      canReorder={!editProhibited}
+      canDelete={!editProhibited || Object.keys(item.tokenSets).length > 1}
+      onRename={item.onRename}
+      onDelete={item.onDelete}
+      onDuplicate={item.onDuplicate}
+      onDragStart={handleDragStart}
+      onTreatAsSource={handleTreatAsSource}
+    />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html new file mode 100644 index 000000000..9167f6e19 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html @@ -0,0 +1,841 @@ + + + + + + Code coverage report for src/app/components/TokenSetSelector.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenSetSelector.tsx

+
+ +
+ 0% + Statements + 0/74 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/18 +
+ + +
+ 0% + Lines + 0/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Box, Stack, Label, Button, TextInput,
+} from '@tokens-studio/ui';
+import { Resizable } from 're-resizable';
+import { track } from '@/utils/analytics';
+import useConfirm from '../hooks/useConfirm';
+import { Dispatch } from '../store';
+import IconAdd from '@/icons/add.svg';
+import Modal from './Modal';
+import TokenSetTree from './TokenSetTree';
+import {
+  editProhibitedSelector, tokensSelector, uiStateSelector, storageTypeSelector,
+} from '@/selectors';
+import OnboardingExplainer from './OnboardingExplainer';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export default function TokenSetSelector({ saveScrollPositionSet }: { saveScrollPositionSet: (tokenSet: string) => void }) {
+  const { t } = useTranslation(['tokens']);
+ 
+  const onboardingData = {
+    title: t('sets.title'),
+    text: t('sets.description'),
+    url: 'https://docs.tokens.studio/manage-tokens/token-sets?ref=onboarding_explainer_sets',
+  };
+ 
+  const tokens = useSelector(tokensSelector);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const uiState = useSelector(uiStateSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const { confirm } = useConfirm();
+  const storageType = useSelector(storageTypeSelector);
+ 
+  const [showNewTokenSetFields, setShowNewTokenSetFields] = React.useState(false);
+  const [showRenameTokenSetFields, setShowRenameTokenSetFields] = React.useState(false);
+  const [newTokenSetName, handleNewTokenSetNameChange] = React.useState('');
+  const [oldTokenSetName, setOldTokenSetName] = React.useState('');
+  const [isDuplicate, setIsDuplicate] = React.useState(false);
+  const allTokenSets = React.useMemo(() => Object.keys(tokens), [tokens]);
+ 
+  React.useEffect(() => {
+    const scrollPositionSet = allTokenSets.reduce<Record<string, number>>((acc, crr) => {
+      acc[crr] = 0;
+      return acc;
+    }, {});
+    dispatch.uiState.setScrollPositionSet(scrollPositionSet);
+  }, [allTokenSets, dispatch]);
+ 
+  React.useEffect(() => {
+    setShowNewTokenSetFields(false);
+  }, [tokens]);
+ 
+  const handleNewTokenSetSubmit = React.useCallback((e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    track('Created token set', { name: newTokenSetName });
+    dispatch.tokenState.addTokenSet(newTokenSetName.trim());
+    dispatch.tokenState.setActiveTokenSet(newTokenSetName.trim());
+    handleNewTokenSetNameChange('');
+  }, [dispatch, newTokenSetName]);
+ 
+  const handleDeleteTokenSet = React.useCallback(async (tokenSet: string) => {
+    track('Deleted token set');
+ 
+    const userConfirmation = await confirm({
+      text: t('sets.delete', { tokenSet }) as string,
+      description: storageType.provider === StorageProviderType.TOKENS_STUDIO ? t('sets.deleteConfirmationStudio') : t('sets.deleteConfirmation'),
+    });
+    if (userConfirmation) {
+      dispatch.tokenState.deleteTokenSet(tokenSet);
+    }
+  }, [confirm, dispatch, t, storageType]);
+ 
+  const handleRenameTokenSet = React.useCallback((tokenSet: string) => {
+    track('Renamed token set');
+    handleNewTokenSetNameChange(tokenSet);
+    setOldTokenSetName(tokenSet);
+    setIsDuplicate(false);
+    setShowRenameTokenSetFields(true);
+  }, []);
+ 
+  const handleDuplicateTokenSet = React.useCallback((tokenSet: string) => {
+    const newTokenSetName = `${tokenSet}_${t('sets.duplicateSetSuffix')}`;
+    handleNewTokenSetNameChange(newTokenSetName);
+    setOldTokenSetName(tokenSet);
+    setIsDuplicate(true);
+    setShowRenameTokenSetFields(true);
+  }, []);
+ 
+  const handleRenameTokenSetSubmit = React.useCallback((e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    if (isDuplicate) {
+      track('Duplicate token set', { name: newTokenSetName });
+      dispatch.tokenState.duplicateTokenSet(newTokenSetName, oldTokenSetName);
+    } else if (tokens.hasOwnProperty(oldTokenSetName)) {
+      dispatch.tokenState.renameTokenSet({ oldName: oldTokenSetName, newName: newTokenSetName.trim() });
+    } else {
+      dispatch.tokenState.renameTokenSetFolder({ oldName: oldTokenSetName, newName: newTokenSetName.trim() });
+    }
+    setOldTokenSetName('');
+    handleNewTokenSetNameChange('');
+    setShowRenameTokenSetFields(false);
+  }, [dispatch, newTokenSetName, oldTokenSetName, isDuplicate, tokens]);
+ 
+  const handleReorder = useCallback((values: string[]) => {
+    dispatch.tokenState.setTokenSetOrder(values);
+  }, [dispatch]);
+ 
+  const closeOnboarding = useCallback(() => {
+    dispatch.uiState.setOnboardingExplainerSets(false);
+  }, [dispatch]);
+ 
+  const handleDelete = useCallback((set: string) => {
+    handleDeleteTokenSet(set);
+  }, [handleDeleteTokenSet]);
+ 
+  const handleCloseRenameModal = useCallback(() => {
+    setShowRenameTokenSetFields(false);
+    handleNewTokenSetNameChange('');
+  }, []);
+ 
+  const handleChangeName = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
+    handleNewTokenSetNameChange(event.target.value);
+  }, []);
+ 
+  const handleCloseNewTokenSetModal = useCallback(() => {
+    setShowNewTokenSetFields(false);
+  }, []);
+ 
+  const handleOpenNewTokenSetModal = useCallback(() => {
+    setShowNewTokenSetFields(true);
+  }, []);
+ 
+  const handleResize = useCallback((e, direction, ref, d) => {
+    dispatch.uiState.setSidebarWidth(uiState.sidebarWidth + d.width);
+  }, [uiState, dispatch.uiState]);
+ 
+  return (
+    <Resizable
+      size={{ width: uiState.sidebarWidth, height: '100%' }}
+      onResizeStop={handleResize}
+      minWidth={100}
+      maxWidth="50vw"
+      enable={{
+        right: true,
+      }}
+    >
+      <Box
+        css={{
+          display: 'flex',
+          height: '100%',
+          flexDirection: 'column',
+          width: '100%',
+          borderRight: '1px solid',
+          borderColor: '$borderMuted',
+          overflowY: 'auto',
+        }}
+        className="content"
+      >
+        <TokenSetTree
+          tokenSets={allTokenSets}
+          onRename={handleRenameTokenSet}
+          onDelete={handleDelete}
+          onDuplicate={handleDuplicateTokenSet}
+          onReorder={handleReorder}
+          saveScrollPositionSet={saveScrollPositionSet}
+        />
+        <Modal
+          title={`${isDuplicate ? t('duplicate') : t('rename')} ${oldTokenSetName}`}
+          isOpen={showRenameTokenSetFields}
+          close={handleCloseRenameModal}
+        >
+          <form onSubmit={handleRenameTokenSetSubmit}>
+            <Stack direction="column" gap={4}>
+              <Stack direction="column" gap={2}>
+                <Label htmlFor="tokensetname">Name</Label>
+                <TextInput
+                  autoFocus
+                  value={newTokenSetName}
+                  onChange={handleChangeName}
+                  type="text"
+                  name="tokensetname"
+                  data-testid="rename-set-input"
+                  required
+                />
+              </Stack>
+              <Stack direction="row" gap={4} justify="end">
+                <Button variant="secondary" onClick={handleCloseRenameModal}>
+                  {t('cancel')}
+                </Button>
+                <Button type="submit" variant="primary" disabled={!newTokenSetName}>
+                  {
+                  isDuplicate ? t('save') : t('change')
+                }
+                </Button>
+              </Stack>
+            </Stack>
+          </form>
+        </Modal>
+        <Modal
+          title={t('sets.new') as string}
+          data-testid="new-set-modal"
+          isOpen={showNewTokenSetFields}
+          close={handleCloseNewTokenSetModal}
+        >
+          <form onSubmit={handleNewTokenSetSubmit}>
+            <Stack direction="column" gap={4}>
+              <Stack direction="column" gap={2}>
+                <Label htmlFor="tokensetname">Name</Label>
+                <TextInput
+                  value={newTokenSetName}
+                  onChange={handleChangeName}
+                  type="text"
+                  name="tokensetname"
+                  required
+                  data-testid="token-set-input"
+                  autoFocus
+                  placeholder="Enter a name"
+                />
+              </Stack>
+              <Stack direction="row" gap={4} justify="end">
+                <Button variant="secondary" onClick={handleCloseNewTokenSetModal}>
+                  {t('cancel')}
+                </Button>
+                <Button data-testid="create-token-set" type="submit" variant="primary">
+                  {t('create')}
+                </Button>
+              </Stack>
+            </Stack>
+          </form>
+        </Modal>
+        <Stack direction="column" css={{ padding: '$3' }}>
+          <Button
+            icon={<IconAdd />}
+            size="small"
+            data-testid="button-new-token-set"
+            type="button"
+            disabled={editProhibited}
+            onClick={handleOpenNewTokenSetModal}
+            css={{ justifyContent: 'center' }}
+          >
+            {t('sets.new')}
+          </Button>
+        </Stack>
+        {uiState.onboardingExplainerSets && (
+        <OnboardingExplainer data={onboardingData} closeOnboarding={closeOnboarding} />
+        )}
+      </Box>
+    </Resizable>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html new file mode 100644 index 000000000..dfb4d903f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html @@ -0,0 +1,742 @@ + + + + + + Code coverage report for src/app/components/TokenSetTree.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenSetTree.tsx

+
+ +
+ 0% + Statements + 0/79 +
+ + +
+ 0% + Branches + 0/38 +
+ + +
+ 0% + Functions + 0/29 +
+ + +
+ 0% + Lines + 0/68 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useMemo,
+} from 'react';
+import { useSelector } from 'react-redux';
+import debounce from 'lodash.debounce';
+import {
+  activeTokenSetSelector,
+  collapsedTokenSetsSelector,
+  editProhibitedSelector,
+  tokenFilterSelector,
+  tokensSelector,
+  usedTokenSetSelector,
+} from '@/selectors';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { isEqual } from '@/utils/isEqual';
+import {
+  findOrderableTargetIndexesInTokenSetTreeList,
+  tokenSetListToTree, TreeItem,
+} from '@/utils/tokenset';
+import { ensureFolderIsTogether } from '@/utils/dragDropOrder';
+import { ReorderGroup } from '@/motion/ReorderGroup';
+import { ItemData } from '@/context';
+import { checkReorder } from '@/utils/motion';
+import { DragItem } from './StyledDragger/DragItem';
+import { TokenSetTreeItemContent } from './TokenSetTreeItemContent';
+import { TokenSetTreeContent } from './TokenSetTree/TokenSetTreeContent';
+ 
+type ExtendedTreeItem = TreeItem & {
+  tokenSets: string[];
+  items: TreeItem[]
+  isActive: boolean
+  canDelete: boolean
+  checkedState: boolean | 'indeterminate'
+  tokenCount?: number
+  onRename: (tokenSet: string) => void
+  onDelete: (tokenSet: string) => void
+  onDuplicate: (tokenSet: string) => void
+  saveScrollPositionSet: (tokenSet: string) => void
+};
+ 
+type TokenSetTreeProps = {
+  tokenSets: string[]
+  onReorder: (sets: string[]) => void;
+  onRename: (tokenSet: string) => void
+  onDelete: (tokenSet: string) => void
+  onDuplicate: (tokenSet: string) => void
+  saveScrollPositionSet: (tokenSet: string) => void
+};
+ 
+export default function TokenSetTree({
+  tokenSets, onReorder, onRename, onDelete, onDuplicate, saveScrollPositionSet,
+}: TokenSetTreeProps) {
+  const tokens = useSelector(tokensSelector);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const collapsed = useSelector(collapsedTokenSetsSelector);
+  const externalItems = useMemo(() => tokenSetListToTree(tokenSets), [tokenSets]);
+  const [items, setItems] = React.useState<TreeItem[]>(externalItems);
+  const tokenFilter = useSelector(tokenFilterSelector);
+ 
+  const debouncedOnReorder = React.useMemo(() => debounce(onReorder, 500), [onReorder]);
+ 
+  const filteredSetItems = React.useMemo(() => {
+    const tokenSetsContainingItemsThatMatchFilter = new Set<string>();
+    const tokenCountMap = new Map<string, number>();
+ 
+    Object.entries(tokens).forEach(([setName, setContent]) => {
+      const matchingTokens = setContent.filter((token) => token.name.toLowerCase().includes(tokenFilter.toLowerCase()));
+ 
+      const setNameMatches = setName.toLowerCase().includes(tokenFilter.toLowerCase());
+ 
+      if (matchingTokens.length > 0 || setNameMatches) {
+        // Add the matching set and all its parent folders
+        let currentPath = setName;
+        while (currentPath) {
+          tokenSetsContainingItemsThatMatchFilter.add(currentPath);
+ 
+          // Only count direct matches for the specific set, not parent folders
+          if (currentPath === setName) {
+            tokenCountMap.set(currentPath, matchingTokens.length);
+          }
+ 
+          currentPath = currentPath.split('/').slice(0, -1).join('/');
+        }
+      }
+    });
+ 
+    return externalItems
+      .filter((item) => tokenSetsContainingItemsThatMatchFilter.has(item.path))
+      .map((item) => ({
+        ...item,
+        tokenCount: tokenFilter ? tokenCountMap.get(item.path) || 0 : undefined,
+      }));
+  }, [externalItems, tokenFilter, tokens]);
+ 
+  React.useEffect(() => {
+    // Compare saved tokenSet order with GUI tokenSet order and update the tokenSet if there is a difference
+    if (!isEqual(Object.keys(tokens), externalItems.filter(({ isLeaf }) => isLeaf).map(({ path }) => path))) {
+      debouncedOnReorder(filteredSetItems.filter(({ isLeaf }) => isLeaf).map(({ path }) => path));
+    }
+    // Filter externalItems based on tokenFilter. Filter on the children as well as the name of the set
+    setItems(filteredSetItems);
+  }, [externalItems, tokens, debouncedOnReorder, tokenFilter, filteredSetItems]);
+ 
+  const determineCheckedState = useCallback((item: TreeItem) => {
+    if (item.isLeaf) {
+      if (usedTokenSet?.[item.path] === TokenSetStatus.SOURCE) {
+        return 'indeterminate';
+      }
+      return usedTokenSet?.[item.path] === TokenSetStatus.ENABLED;
+    }
+ 
+    const itemPaths = items.filter((i) => i.path.startsWith(item.path) && i.path !== item.path).map((i) => i.path);
+    const childTokenSetStatuses = Object.entries(usedTokenSet)
+      .filter(([tokenSet]) => itemPaths.includes(tokenSet))
+      .map(([, tokenSetStatus]) => tokenSetStatus);
+ 
+    if (childTokenSetStatuses.every((status) => (
+      status === TokenSetStatus.ENABLED
+    ))) {
+      // @README all children are ENABLED
+      return true;
+    }
+ 
+    if (childTokenSetStatuses.some((status) => (
+      status === TokenSetStatus.ENABLED
+      || status === TokenSetStatus.SOURCE
+    ))) {
+      // @README some children are ENABLED or treated as SOURCE
+      return 'indeterminate';
+    }
+ 
+    return false;
+  }, [items, usedTokenSet]);
+ 
+  const mappedItems = useMemo(() => (
+    items.map((item) => ({
+      ...item,
+      tokenSets,
+      items,
+      onRename,
+      onDelete,
+      onDuplicate,
+      saveScrollPositionSet,
+      isActive: activeTokenSet === item.path && item.isLeaf,
+      canDelete: !editProhibited || Object.keys(tokenSets).length > 1,
+      checkedState: determineCheckedState(item) as ReturnType<typeof determineCheckedState>,
+    }))
+  ), [
+    items,
+    activeTokenSet,
+    editProhibited,
+    tokenSets,
+    determineCheckedState,
+    onRename,
+    onDelete,
+    onDuplicate,
+    saveScrollPositionSet,
+  ]);
+ 
+  const handleReorder = React.useCallback((reorderedItems: ExtendedTreeItem[]) => {
+    const nextItems = reorderedItems.reduce<typeof items>((acc, item) => {
+      const found = items.find(({ id }) => item.id === id);
+      if (found) {
+        // check if this group is collapsed
+        acc.push(found);
+        const itemIsCollapsed = collapsed.includes(item.key);
+        if (itemIsCollapsed && !item.isLeaf) {
+          // also include all children
+          return acc.concat(items.filter((possibleChild) => (
+            possibleChild.parent && possibleChild.parent.startsWith(item.path)
+          )));
+        }
+      }
+      return acc;
+    }, []);
+ 
+    setItems(nextItems);
+ 
+    debouncedOnReorder(nextItems
+      .filter(({ isLeaf }) => isLeaf)
+      .map(({ path }) => path));
+  }, [items, collapsed, debouncedOnReorder]);
+ 
+  const handleCheckReorder = React.useCallback((
+    order: ItemData<typeof mappedItems[number]>[],
+    value: typeof mappedItems[number],
+    offset: number,
+    velocity: number,
+  ) => {
+    const availableIndexes = findOrderableTargetIndexesInTokenSetTreeList(
+      velocity,
+      value,
+      order,
+    );
+    let nextOrder = checkReorder(order, value, offset, velocity, availableIndexes);
+    // ensure folders stay together
+    if (!value.isLeaf) {
+      nextOrder = ensureFolderIsTogether(value, order, nextOrder);
+    }
+    return nextOrder;
+  }, []);
+ 
+  return (
+    <ReorderGroup
+      layoutScroll
+      values={mappedItems}
+      checkReorder={handleCheckReorder}
+      onReorder={handleReorder}
+    >
+      <TokenSetTreeContent<ExtendedTreeItem>
+        items={mappedItems}
+        renderItem={DragItem}
+        renderItemContent={TokenSetTreeItemContent}
+      />
+    </ReorderGroup>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html new file mode 100644 index 000000000..c40045db1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/app/components/TokenSetTree/StyledFolderButton.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenSetTree StyledFolderButton.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { styled } from '@/stitches.config';
+ 
+export const StyledFolderButton = styled('button', {
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'center',
+  overflow: 'hidden',
+  flexShrink: 1,
+  zIndex: 1,
+  '&:focus': {
+    boxShadow: 'none',
+  },
+  variants: {
+    size: {
+      small: {
+        padding: 0,
+        fontSize: '$xsmall',
+        gap: '$1',
+      },
+      default: {
+        padding: '$2',
+        gap: '$3',
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html new file mode 100644 index 000000000..2b06bfbe4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenSetTree StyledFolderButtonChevronBox.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Box from '../Box';
+import { styled } from '@/stitches.config';
+ 
+export const StyledFolderButtonChevronBox = styled(Box, {
+  transition: 'transform 0.2s ease-in-out',
+  display: 'flex',
+  alignItems: 'center',
+  justifyContent: 'center',
+  flexShrink: 0,
+  color: '$fgSubtle',
+  variants: {
+    collapsed: {
+      true: {
+        transform: 'rotate(-90deg)',
+      },
+      false: {
+        transform: 'rotate(0deg)',
+      },
+    },
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html new file mode 100644 index 000000000..fda787393 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/components/TokenSetTree/StyledItem.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenSetTree StyledItem.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import Box from '../Box';
+import { styled } from '@/stitches.config';
+ 
+export const StyledItem = styled(Box, {
+  display: 'flex',
+  position: 'relative',
+  alignItems: 'center',
+  gap: '$1',
+  fontWeight: '$sansBold',
+  fontSize: '$xsmall',
+  width: '100%',
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html new file mode 100644 index 000000000..e3cc4a6dd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html @@ -0,0 +1,355 @@ + + + + + + Code coverage report for src/app/components/TokenSetTree/TokenSetTreeContent.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenSetTree TokenSetTreeContent.tsx

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/10 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { Box } from '@tokens-studio/ui';
+import { IconExpandArrow } from '@/icons';
+import { StyledFolderButton } from './StyledFolderButton';
+import { StyledItem } from './StyledItem';
+import { StyledFolderButtonChevronBox } from './StyledFolderButtonChevronBox';
+import { Dispatch } from '../../store';
+import {
+  collapsedTokenSetsSelector,
+} from '@/selectors';
+import { StyledThemeLabel } from '../ManageThemesModal/StyledThemeLabel';
+ 
+type TreeItem<ItemType = unknown> = {
+  key: string
+  level: number
+  parent: string | null
+  isLeaf: boolean,
+  label: string
+  id: string
+  tokenCount?: number
+} & ItemType;
+ 
+type SharedProps<T extends TreeItem> = {
+  items: T[]
+  renderItem?: (props: { item: T, children: React.ReactNode }) => React.ReactElement | null
+  renderItemContent: (props: { item: T, children: React.ReactNode }) => React.ReactElement | null
+  keyPosition?: 'start' | 'end'
+};
+ 
+type Props<T extends TreeItem> = SharedProps<T>;
+ 
+export function TokenSetTreeContent<T extends TreeItem>({
+  items,
+  renderItem: RenderItem = ({ children }) => React.createElement(React.Fragment, {}, children),
+  renderItemContent: RenderItemContent,
+  keyPosition = 'start',
+}: Props<T>) {
+  const collapsed = useSelector(collapsedTokenSetsSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const handleToggleCollapsed = useCallback((key: string) => {
+    dispatch.tokenState.setCollapsedTokenSets(collapsed.includes(key) ? collapsed.filter((s) => s !== key) : [...collapsed, key]);
+  }, [dispatch, collapsed]);
+ 
+  const mappedItems = useMemo(() => (
+    items.filter((item) => (
+      // remove items which are in a collapsed parent
+      !collapsed.some((parentKey) => item.parent === parentKey
+      || (item.parent?.startsWith(parentKey) && item.parent?.charAt(parentKey.length) === '/'))
+    )).map((item) => ({
+      item,
+      onToggleCollapsed: () => handleToggleCollapsed(item.key),
+    }))
+  ), [items, collapsed, handleToggleCollapsed]);
+ 
+  return (
+    <>
+      {mappedItems.map(({ item, onToggleCollapsed }) => (
+        <RenderItem key={item.id} item={item}>
+          <StyledItem>
+            <RenderItemContent item={item}>
+              {(!item.isLeaf) && (
+                <StyledFolderButton
+                  type="button"
+                  onClick={onToggleCollapsed}
+                  size={keyPosition === 'start' ? 'small' : 'default'}
+                >
+                  {keyPosition === 'start' ? (
+                    <Box css={{ display: 'flex', alignItems: 'center', gap: '$2' }}>
+                      <StyledThemeLabel variant="folder">{item.label}</StyledThemeLabel>
+                    </Box>
+                  ) : null}
+                  <StyledFolderButtonChevronBox collapsed={collapsed.includes(item.key)}>
+                    <IconExpandArrow />
+                  </StyledFolderButtonChevronBox>
+                  {keyPosition === 'end' ? (
+                    <Box css={{ display: 'flex', alignItems: 'center', gap: '$2' }}>
+                      <StyledThemeLabel variant="folder">{item.label}</StyledThemeLabel>
+                    </Box>
+                  ) : null}
+                </StyledFolderButton>
+              )}
+            </RenderItemContent>
+          </StyledItem>
+        </RenderItem>
+      ))}
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html new file mode 100644 index 000000000..26ae50c61 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/app/components/TokenSetTree + + + + + + + + + +
+
+

All files src/app/components/TokenSetTree

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/10 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
StyledFolderButton.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledFolderButtonChevronBox.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledItem.tsx +
+
0%0/1100%0/0100%0/00%0/1
TokenSetTreeContent.tsx +
+
0%0/140%0/150%0/100%0/12
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html new file mode 100644 index 000000000..ebe20f1b5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/app/components/TokenSetTreeItemContent.tsx + + + + + + + + + +
+
+

All files / src/app/components TokenSetTreeItemContent.tsx

+
+ +
+ 0% + Statements + 0/23 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useCallback, useContext,
+} from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { TokenSetItem } from './TokenSetItem';
+import {
+  activeApiProviderSelector,
+  activeTokenSetSelector,
+  editProhibitedSelector,
+  tokenSetMetadataSelector,
+} from '@/selectors';
+import { TreeItem } from '@/utils/tokenset';
+import { DragControlsContext } from '@/context';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+type ExtendedTreeItem = TreeItem & {
+  tokenSets: string[];
+  items: TreeItem[]
+  isActive: boolean
+  canDelete: boolean
+  checkedState: boolean | 'indeterminate'
+  onRename: (tokenSet: string) => void
+  onDelete: (tokenSet: string) => void
+  onDuplicate: (tokenSet: string) => void
+  saveScrollPositionSet: (tokenSet: string) => void
+};
+ 
+type TokenSetTreeItemContentProps = React.PropsWithChildren<{
+  item: ExtendedTreeItem
+}>;
+ 
+export function TokenSetTreeItemContent({
+  item, children,
+}: TokenSetTreeItemContentProps) {
+  const dispatch = useDispatch();
+  const dragContext = useContext(DragControlsContext);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const editProhibited = useSelector(editProhibitedSelector);
+  const tokenSetMetadata = useSelector(tokenSetMetadataSelector);
+  const activeApiProvider = useSelector(activeApiProviderSelector);
+ 
+  const isTokensStudioProvider = activeApiProvider === StorageProviderType.TOKENS_STUDIO;
+ 
+  const handleClick = useCallback((set: TreeItem) => {
+    if (set.isLeaf) {
+      dispatch.tokenState.setActiveTokenSet(set.path);
+      item.saveScrollPositionSet(activeTokenSet);
+    }
+  }, [dispatch, item, activeTokenSet]);
+ 
+  const handleCheckedChange = useCallback((shouldCheck: boolean, set: TreeItem) => {
+    if (set.isLeaf) {
+      dispatch.tokenState.toggleUsedTokenSet(set.path);
+    } else {
+      const itemPaths = item.items.filter((i) => i.path.startsWith(set.path) && i.path !== set.path).map((i) => i.path);
+      dispatch.tokenState.toggleManyTokenSets({ shouldCheck, sets: itemPaths });
+    }
+  }, [dispatch, item]);
+ 
+  const handleTreatAsSource = useCallback((tokenSetPath: string) => {
+    dispatch.tokenState.toggleTreatAsSource(tokenSetPath);
+  }, [dispatch]);
+ 
+  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
+    dragContext.controls?.start(event);
+  }, [dragContext.controls]);
+ 
+  return (
+    <TokenSetItem
+      key={item.path}
+      isActive={item.isActive}
+      onClick={handleClick}
+      isChecked={item.checkedState}
+      item={item}
+      onCheck={handleCheckedChange}
+      canEdit={!editProhibited}
+      canDuplicate={!isTokensStudioProvider && !tokenSetMetadata[item.path]?.isDynamic}
+      canReorder={!editProhibited}
+      canDelete={item.canDelete}
+      extraBefore={children}
+      onRename={item.onRename}
+      onDelete={item.onDelete}
+      onDuplicate={item.onDuplicate}
+      onTreatAsSource={handleTreatAsSource}
+      onDragStart={handleDragStart}
+    />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html new file mode 100644 index 000000000..d3f921891 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/AliasBadge.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip AliasBadge.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { styled } from '@/stitches.config';
+ 
+const StyledAliasBadge = styled('div', {
+  padding: '$1 $2',
+  backgroundColor: '$tooltipBgAccent',
+  color: '$tooltipFgAccent',
+  height: '100%',
+  wordBreak: 'break-word',
+  flexShrink: 1,
+});
+ 
+type Props = {
+  value: string | number | null;
+};
+ 
+export default function AliasBadge({ value }: Props) {
+  return (
+    <StyledAliasBadge>{value}</StyledAliasBadge>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html new file mode 100644 index 000000000..ff7f166d7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/NotFoundBadge.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip NotFoundBadge.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { LinkBreak2Icon } from '@radix-ui/react-icons';
+import { styled } from '@/stitches.config';
+ 
+const StyledAliasBadge = styled('div', {
+  color: '$tooltipFgDanger',
+});
+ 
+export default function NotFoundBadge() {
+  return (
+    <StyledAliasBadge data-testid="not-found-badge">
+      <LinkBreak2Icon />
+    </StyledAliasBadge>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html new file mode 100644 index 000000000..e7cfb7f6d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip SingleBorderValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { TokenBorderValue } from '@/types/values';
+import TooltipProperty from './TooltipProperty';
+import Stack from '../Stack';
+ 
+type Props = {
+  value: TokenBorderValue;
+  resolvedValue: TokenBorderValue;
+};
+ 
+export const SingleBorderValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue }) => (
+  <Stack direction="column" align="start" gap={1}>
+    <TooltipProperty label="Color" value={value.color} resolvedValue={resolvedValue?.color} />
+    <TooltipProperty label="Width" value={value.width} resolvedValue={resolvedValue?.width} />
+    <TooltipProperty label="Style" value={value.style} resolvedValue={resolvedValue?.style} />
+  </Stack>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html new file mode 100644 index 000000000..41f0b2107 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/SingleColorValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip SingleColorValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import TooltipProperty from './TooltipProperty';
+import Stack from '../Stack';
+import { ColorModifier } from '@/types/Modifier';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import Box from '../Box';
+ 
+type Props = {
+  value: string;
+  resolvedValue: string
+  modifier: ColorModifier | undefined;
+};
+ 
+export const SingleColorValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue, modifier }) => (
+  <Stack direction="column" align="start" gap={1}>
+    <Box css={{ color: '$tooltipFgMuted' }}>
+      {
+      modifier && (
+        modifier.type === ColorModifierTypes.MIX ? (
+          <span>{`mix(${modifier.color}, ${modifier.value}) / ${modifier.space}`}</span>
+        ) : (
+          <span>{`${modifier.type}(${modifier.value}) / ${modifier.space}`}</span>
+        )
+      )
+    }
+    </Box>
+    <TooltipProperty value={value} resolvedValue={resolvedValue} />
+  </Stack>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html new file mode 100644 index 000000000..6ff083017 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip SingleCompositionValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { SingleToken } from '@/types/tokens';
+import TooltipProperty from './TooltipProperty';
+import { CompositionTokenValue } from '@/types/CompositionTokenProperty';
+ 
+type Props = {
+  property: string;
+  value: SingleToken['value'] | number;
+  resolvedValue: CompositionTokenValue | number | false;
+};
+ 
+export const SingleCompositionValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ property, value, resolvedValue }) => {
+  const resolvedValueString = (typeof resolvedValue === 'string' || typeof resolvedValue === 'number' || resolvedValue === undefined) ? resolvedValue : '…';
+  return (
+    <TooltipProperty
+      label={property}
+      value={typeof value === 'string' || typeof value === 'number' ? value : '…'}
+      resolvedValue={(resolvedValue === false) ? undefined : resolvedValueString}
+    />
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html new file mode 100644 index 000000000..5898d8678 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip SingleShadowValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import Box from '../Box';
+import Stack from '../Stack';
+import { TokenBoxshadowValue } from '@/types/values';
+import TooltipProperty from './TooltipProperty';
+ 
+type Props = {
+  value?: TokenBoxshadowValue;
+  resolvedValue?: TokenBoxshadowValue | null;
+};
+ 
+export const SingleShadowValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue }) => (
+  <Box>
+    <Box css={{ display: 'flex', color: '$tooltipFg' }}>{resolvedValue?.type}</Box>
+    <Stack direction="row" align="start" gap={2} wrap>
+      <TooltipProperty value={value?.x} resolvedValue={resolvedValue?.x} />
+      <TooltipProperty value={value?.y} resolvedValue={resolvedValue?.y} />
+      <TooltipProperty value={value?.blur} resolvedValue={resolvedValue?.blur} />
+      <TooltipProperty value={value?.spread} resolvedValue={resolvedValue?.spread} />
+      <TooltipProperty value={value?.color} resolvedValue={resolvedValue?.color} />
+    </Stack>
+  </Box>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html new file mode 100644 index 000000000..72c5ee756 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip SingleTypographyValueDisplay.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { TokenTypographyValue } from '@/types/values';
+import TooltipProperty from './TooltipProperty';
+import Stack from '../Stack';
+ 
+type Props = {
+  value: TokenTypographyValue;
+  resolvedValue?: TokenTypographyValue;
+};
+ 
+export const SingleTypographyValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue }) => (
+  <Stack direction="column" align="start" gap={1}>
+    {typeof value === 'string' ? (
+      <TooltipProperty
+        value={value}
+      />
+    ) : null}
+    <TooltipProperty label="Font" value={value.fontFamily} resolvedValue={resolvedValue?.fontFamily} />
+    <TooltipProperty label="Weight" value={value.fontWeight} resolvedValue={resolvedValue?.fontWeight} />
+    <TooltipProperty label="Size" value={value.fontSize} resolvedValue={resolvedValue?.fontSize} />
+    <TooltipProperty label="Line height" value={value.lineHeight} resolvedValue={resolvedValue?.lineHeight} />
+    <TooltipProperty label="Tracking" value={value.letterSpacing} resolvedValue={resolvedValue?.letterSpacing} />
+    <TooltipProperty
+      label="Paragraph spacing"
+      value={value.paragraphSpacing}
+      resolvedValue={resolvedValue?.paragraphSpacing}
+    />
+    <TooltipProperty
+      label="Paragraph indent"
+      value={value.paragraphIndent}
+      resolvedValue={resolvedValue?.paragraphIndent}
+    />
+    <TooltipProperty label="Text case" value={value.textCase} resolvedValue={resolvedValue?.textCase} />
+    <TooltipProperty
+      label="Text decoration"
+      value={value.textDecoration}
+      resolvedValue={resolvedValue?.textDecoration}
+    />
+  </Stack>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html new file mode 100644 index 000000000..406068fda --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/TokenTooltip.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip TokenTooltip.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { SingleToken } from '@/types/tokens';
+import Tooltip from '../Tooltip';
+import { TokenTooltipContent } from './TokenTooltipContent';
+import { showEditFormSelector } from '@/selectors';
+ 
+type Props = {
+  token: SingleToken;
+};
+ 
+export const TokenTooltip: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
+  children,
+  token,
+}) => {
+  // When we open the token edit form we don't want tooltips to show through, which is happening sometimes
+  const showEditForm = useSelector(showEditFormSelector);
+ 
+  if (!children || !React.isValidElement(children)) {
+    return null;
+  }
+ 
+  return (
+    <Tooltip
+      side="bottom"
+      label={showEditForm ? '' : (
+        <TokenTooltipContent
+          token={token}
+        />
+      )}
+    >
+      {children}
+    </Tooltip>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html new file mode 100644 index 000000000..2afc89be1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/TokenTooltipContent.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip TokenTooltipContent.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { SingleToken } from '@/types/tokens';
+import { TokenTooltipContentValue } from './TokenTooltipContentValue';
+import Box from '../Box';
+import Stack from '../Stack';
+import { TokensContext } from '@/context';
+import NotFoundBadge from './NotFoundBadge';
+ 
+type Props = {
+  token: SingleToken;
+};
+ 
+export const TokenTooltipContent: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ token }) => {
+  const tokensContext = React.useContext(TokensContext);
+ 
+  const failedToResolve = React.useMemo(() => (
+    tokensContext.resolvedTokens.find((t) => t.name === token.name)?.failedToResolve
+  ), [token, tokensContext.resolvedTokens]);
+ 
+  return (
+    <Stack direction="column" gap={1} css={{ background: '$tooltipBg', fontSize: '$xsmall' }}>
+      <Stack
+        direction="row"
+        justify="start"
+        align="center"
+        gap={2}
+        css={{
+          fontWeight: '$sansBold',
+          color: '$tooltipFg',
+          position: 'relative',
+        }}
+      >
+        {token.name.split('.')[token.name.split('.').length - 1]}
+        {failedToResolve ? <NotFoundBadge /> : null}
+      </Stack>
+ 
+      <Stack direction="column" align="start" gap={2} wrap>
+        <TokenTooltipContentValue token={token} />
+      </Stack>
+      {token.description && <Box css={{ color: '$tooltipFgMuted', padding: '$1 $2' }}>{token.description}</Box>}
+    </Stack>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html new file mode 100644 index 000000000..02c42a0f7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html @@ -0,0 +1,481 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/TokenTooltipContentValue.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip TokenTooltipContentValue.tsx

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import get from 'just-safe-get';
+import { useUIDSeed } from 'react-uid';
+import useTokens from '../../store/useTokens';
+import { SingleToken } from '@/types/tokens';
+import { SingleShadowValueDisplay } from './SingleShadowValueDisplay';
+import { TokensContext } from '@/context';
+import {
+  isSingleBoxShadowToken, isSingleTypographyToken, isSingleCompositionToken, isSingleBorderToken,
+} from '@/utils/is';
+import { SingleTypographyValueDisplay } from './SingleTypographyValueDisplay';
+import { TokenBorderValue, TokenBoxshadowValue, TokenTypographyValue } from '@/types/values';
+import { SingleCompositionValueDisplay } from './SingleCompositionValueDisplay';
+import TooltipProperty from './TooltipProperty';
+import Stack from '../Stack';
+import { CompositionTokenValue } from '@/types/CompositionTokenProperty';
+import { SingleBorderValueDisplay } from './SingleBorderValueDisplay';
+import { isColorToken } from '@/utils/is/isColorToken';
+import { SingleColorValueDisplay } from './SingleColorValueDisplay';
+ 
+type Props = {
+  token: SingleToken;
+  ignoreResolvedValue?: boolean;
+};
+ 
+// Returns token value in display format
+export const TokenTooltipContentValue: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ token, ignoreResolvedValue }) => {
+  const seed = useUIDSeed();
+  const tokensContext = React.useContext(TokensContext);
+  const { getTokenValue } = useTokens();
+  const resolvedValue = React.useMemo(() => (ignoreResolvedValue ? undefined : getTokenValue(token.name, tokensContext.resolvedTokens)?.value), [
+    token,
+    getTokenValue,
+    tokensContext.resolvedTokens,
+    ignoreResolvedValue,
+  ]);
+ 
+  if (isSingleTypographyToken(token, true)) {
+    return (
+      <SingleTypographyValueDisplay
+        value={token.value as TokenTypographyValue}
+        resolvedValue={resolvedValue as TokenTypographyValue}
+      />
+    );
+  }
+ 
+  if (
+    (resolvedValue || ignoreResolvedValue)
+    && typeof resolvedValue !== 'string'
+    && !Array.isArray(resolvedValue)
+    && isSingleCompositionToken(token, true)
+  ) {
+    return (
+      <Stack direction="column" align="start" gap={2} wrap>
+        {Object.entries(token.value).map(([property, value], index) => (
+          <SingleCompositionValueDisplay
+            key={seed(index)}
+            property={property}
+            value={value}
+            // @TODO strengthen the type checking here
+            resolvedValue={ignoreResolvedValue ? false : get(resolvedValue as SingleToken, property) as CompositionTokenValue}
+          />
+        ))}
+      </Stack>
+    );
+  }
+ 
+  if (isSingleBoxShadowToken(token, true)) {
+    if (Array.isArray(resolvedValue)) {
+      return (
+        <Stack direction="column" align="start" gap={3} wrap>
+          {typeof token.value === 'string' ? (
+            <TooltipProperty
+              value={token.value}
+            />
+          ) : null}
+          {resolvedValue.map((t, index) => (
+            <SingleShadowValueDisplay
+              key={seed(t)}
+              value={Array.isArray(token.value) ? token.value[index] as TokenBoxshadowValue : undefined}
+              resolvedValue={t as TokenBoxshadowValue}
+            />
+          ))}
+        </Stack>
+      );
+    }
+ 
+    return (
+      <div>
+        {typeof token.value === 'string' ? (
+          <TooltipProperty
+            value={token.value}
+          />
+        ) : null}
+        <SingleShadowValueDisplay
+          // @TODO strengthen type checking here
+          value={token.value as TokenBoxshadowValue}
+          resolvedValue={resolvedValue as TokenBoxshadowValue}
+        />
+      </div>
+    );
+  }
+ 
+  if (isSingleBorderToken(token, true)) {
+    return (
+      <SingleBorderValueDisplay
+        value={token.value as TokenBorderValue}
+        resolvedValue={resolvedValue as TokenBorderValue}
+      />
+    );
+  }
+ 
+  if (isColorToken(token)) {
+    return (
+      <SingleColorValueDisplay
+        value={String(token.value)}
+        resolvedValue={String(resolvedValue)}
+        modifier={token.$extensions?.['studio.tokens']?.modify}
+      />
+    );
+  }
+ 
+  if (typeof token.value !== 'string' && typeof token.value !== 'number') {
+    return <TooltipProperty value={JSON.stringify(token.value, null, 2)} />;
+  }
+ 
+  if (resolvedValue && typeof resolvedValue !== 'string' && typeof resolvedValue !== 'number') {
+    return <TooltipProperty value={token.value} resolvedValue={JSON.stringify(resolvedValue, null, 2)} />;
+  }
+ 
+  return <TooltipProperty value={token.value} resolvedValue={resolvedValue} />;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html new file mode 100644 index 000000000..bcb322555 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/TooltipProperty.tsx + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip TooltipProperty.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { isEqual } from '@/utils/isEqual';
+import Box from '../Box';
+import Stack from '../Stack';
+import AliasBadge from './AliasBadge';
+ 
+type Props = {
+  label?: string;
+  value?: string | number;
+  resolvedValue?: string | number | null;
+};
+ 
+export default function TooltipProperty({ label, value, resolvedValue }: Props) {
+  return typeof value !== 'undefined' || typeof resolvedValue !== 'undefined' ? (
+    <Stack
+      direction="row"
+      align="center"
+      css={{
+        borderRadius: '$medium',
+        backgroundColor: '$tooltipBgSubtle',
+        overflow: 'hidden',
+        display: 'inline-flex',
+      }}
+    >
+      {(label || typeof value !== 'undefined') && (
+        <Stack direction="row" align="center" gap={2} css={{ padding: '$1 $2', color: '$tooltipFg' }}>
+          {label}
+          {typeof value !== 'undefined' && (
+            <Box css={{ color: '$tooltipFgMuted', flexShrink: 1, wordBreak: 'break-word' }}>
+              {value}
+            </Box>
+          )}
+        </Stack>
+      )}
+      {typeof resolvedValue !== 'undefined' && !isEqual(String(resolvedValue), String(value)) && typeof resolvedValue !== 'object' ? <AliasBadge value={resolvedValue} /> : null}
+    </Stack>
+  ) : null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html new file mode 100644 index 000000000..5b2739016 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html @@ -0,0 +1,281 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip + + + + + + + + + +
+
+

All files src/app/components/TokenTooltip

+
+ +
+ 0% + Statements + 0/52 +
+ + +
+ 0% + Branches + 0/77 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/50 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AliasBadge.tsx +
+
0%0/2100%0/00%0/10%0/2
NotFoundBadge.tsx +
+
0%0/2100%0/00%0/10%0/2
SingleBorderValueDisplay.tsx +
+
0%0/2100%0/00%0/10%0/2
SingleColorValueDisplay.tsx +
+
0%0/20%0/40%0/10%0/2
SingleCompositionValueDisplay.tsx +
+
0%0/30%0/110%0/10%0/3
SingleShadowValueDisplay.tsx +
+
0%0/2100%0/00%0/10%0/2
SingleTypographyValueDisplay.tsx +
+
0%0/20%0/20%0/10%0/2
TokenTooltip.tsx +
+
0%0/50%0/60%0/10%0/5
TokenTooltipContent.tsx +
+
0%0/60%0/40%0/30%0/5
TokenTooltipContentValue.tsx +
+
0%0/250%0/360%0/40%0/24
TooltipProperty.tsx +
+
0%0/10%0/140%0/10%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html new file mode 100644 index 000000000..3355eef37 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/components/TokenTooltip/index.ts + + + + + + + + + +
+
+

All files / src/app/components/TokenTooltip index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './TokenTooltip';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html new file mode 100644 index 000000000..e968e8c37 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html @@ -0,0 +1,1012 @@ + + + + + + Code coverage report for src/app/components/Tokens.tsx + + + + + + + + + +
+
+

All files / src/app/components Tokens.tsx

+
+ +
+ 0% + Statements + 0/70 +
+ + +
+ 0% + Branches + 0/37 +
+ + +
+ 0% + Functions + 0/19 +
+ + +
+ 0% + Lines + 0/67 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/label-has-associated-control */
+import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { AnimatePresence, motion } from 'framer-motion';
+import { ToggleGroup, IconButton } from '@tokens-studio/ui';
+import { mergeTokenGroups } from '@/utils/tokenHelpers';
+import TokenListing from './TokenListing';
+import TokensBottomBar from './TokensBottomBar';
+import ToggleEmptyButton from './ToggleEmptyButton';
+import { mappedTokens } from './createTokenObj';
+import { Dispatch } from '../store';
+import TokenSetSelector from './TokenSetSelector';
+import TokenFilter from './TokenFilter';
+import EditTokenFormModal from './EditTokenFormModal';
+import JSONEditor from './JSONEditor';
+import Box from './Box';
+import IconListing from '@/icons/listing.svg';
+import useTokens from '../store/useTokens';
+import AttentionIcon from '@/icons/attention.svg';
+import { TokensContext } from '@/context';
+import {
+  activeTokenSetSelector, aliasBaseFontSizeSelector, manageThemesModalOpenSelector, scrollPositionSetSelector, showEditFormSelector, tokenFilterSelector, tokensSelector, tokenTypeSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { ThemeSelector } from './ThemeSelector';
+import { ManageThemesModal } from './ManageThemesModal';
+import { activeTokensTabSelector } from '@/selectors/activeTokensTabSelector';
+import { stringTokensSelector } from '@/selectors/stringTokensSelector';
+import { getAliasValue } from '@/utils/alias';
+import SidebarIcon from '@/icons/sidebar.svg';
+import { defaultTokenResolver } from '@/utils/TokenResolver';
+import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
+import { IconJson } from '@/icons';
+ 
+const StatusToast = ({ open, error }: { open: boolean; error: string | null }) => {
+  const [isOpen, setOpen] = React.useState(open);
+  React.useEffect(() => {
+    setOpen(open);
+  }, [open]);
+ 
+  return (
+    <AnimatePresence>
+      {isOpen ? (
+        <motion.div initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: 20 }}>
+          <Box
+            css={{
+              position: 'absolute',
+              bottom: 0,
+              right: 0,
+              left: 0,
+              padding: '$3',
+            }}
+          >
+            <Box
+              css={{
+                background: '$dangerBg',
+                border: '1px solid $dangerBorder',
+                color: '$dangerFg',
+                fontSize: '$xsmall',
+                fontWeight: '$sansBold',
+                padding: '$3 $4',
+                paddingLeft: 0,
+                boxShadow: '$contextMenu',
+                borderRadius: '$medium',
+                display: 'flex',
+                gap: '$2',
+                width: '100%',
+                alignItems: 'flex-start',
+                justifyContent: 'space-between',
+                wordBreak: 'break-word',
+              }}
+            >
+              <Box css={{ flexShrink: 0 }}>
+                <AttentionIcon />
+              </Box>
+              {error}
+            </Box>
+          </Box>
+        </motion.div>
+      ) : null}
+    </AnimatePresence>
+  );
+};
+ 
+function Tokens({ isActive }: { isActive: boolean }) {
+  const tokens = useSelector(tokensSelector);
+  const tokenFormat = useSelector(tokenFormatSelector);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const activeTokensTab = useSelector(activeTokensTabSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const stringTokens = useSelector(stringTokensSelector);
+  const showEditForm = useSelector(showEditFormSelector);
+  const manageThemesModalOpen = useSelector(manageThemesModalOpenSelector);
+  const scrollPositionSet = useSelector(scrollPositionSetSelector);
+  const tokenFilter = useSelector(tokenFilterSelector);
+  const aliasBaseFontSize = useSelector(aliasBaseFontSizeSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const [tokenSetsVisible, setTokenSetsVisible] = React.useState(true);
+  const { getStringTokens } = useTokens();
+  const tokenDiv = React.useRef<HTMLDivElement>(null);
+ 
+  React.useEffect(() => {
+    if (tokenDiv.current) {
+      tokenDiv.current.addEventListener('scroll', () => {}, false);
+    }
+  }, []);
+ 
+  React.useEffect(() => {
+    if (scrollPositionSet && tokenDiv.current && typeof tokenDiv.current.scrollTo === 'function') {
+      tokenDiv.current.scrollTo(0, scrollPositionSet[activeTokenSet]);
+    }
+  }, [activeTokenSet]);
+ 
+  const resolvedTokens = React.useMemo(
+    () => defaultTokenResolver.setTokens(mergeTokenGroups(tokens, usedTokenSet, {}, activeTokenSet)),
+    [tokens, usedTokenSet, activeTokenSet],
+  );
+ 
+  const tokenType = useSelector(tokenTypeSelector);
+ 
+  const [error, setError] = React.useState<string | null>(null);
+ 
+  const handleChangeJSON = React.useCallback((val: string) => {
+    setError(null);
+    dispatch.tokenState.setStringTokens(val);
+  }, [dispatch.tokenState]);
+ 
+  const memoizedTokens = React.useMemo(() => {
+    if (tokens[activeTokenSet]) {
+      const mapped = mappedTokens(tokens[activeTokenSet], tokenFilter).sort((a, b) => {
+        if (b[1].values) {
+          return 1;
+        }
+        if (a[1].values) {
+          return -1;
+        }
+        return 0;
+      });
+      return mapped.map(([key, { values, isPro, ...schema }]) => ({
+        key,
+        values,
+        schema,
+        isPro,
+      }));
+    }
+    return [];
+  }, [tokens, activeTokenSet, tokenFilter]);
+ 
+  const handleToggleTokenSetsVisibility = React.useCallback(() => {
+    setTokenSetsVisible(!tokenSetsVisible);
+  }, [tokenSetsVisible]);
+ 
+  const [activeTokensTabToggleState, setActiveTokensTabToggleState] = React.useState<'list' | 'json'>(activeTokensTab);
+ 
+  const handleSetTokensTab = React.useCallback((tab: 'list' | 'json') => {
+    if (tab === 'list' || tab === 'json') {
+      setActiveTokensTabToggleState(tab);
+      dispatch.uiState.setActiveTokensTab(tab);
+    }
+  }, [dispatch.uiState]);
+ 
+  const tokensContextValue = React.useMemo(() => ({
+    resolvedTokens,
+  }), [resolvedTokens]);
+ 
+  React.useEffect(() => {
+    // @README these dependencies aren't exhaustive
+    // because of specific logic requirements
+    setError(null);
+    dispatch.tokenState.setStringTokens(getStringTokens());
+  }, [tokens, activeTokenSet, tokenFormat, tokenType, dispatch.tokenState]); // getStringTokens removed to fix bug around first paste/edit (useEffect was being triggered)
+ 
+  React.useEffect(() => {
+    // @README these dependencies aren't exhaustive
+    // because of specific logic requirements
+    if (getStringTokens() !== stringTokens) {
+      dispatch.tokenState.setHasUnsavedChanges(true);
+    } else {
+      dispatch.tokenState.setHasUnsavedChanges(false);
+    }
+  }, [dispatch, tokens, stringTokens, activeTokenSet, getStringTokens]);
+ 
+  React.useEffect(() => {
+    const newBaseFontSize = getAliasValue(aliasBaseFontSize, resolvedTokens);
+    dispatch.settings.setBaseFontSize(String(newBaseFontSize));
+  }, [resolvedTokens, aliasBaseFontSize]);
+ 
+  const saveScrollPositionSet = React.useCallback((tokenSet: string) => {
+    if (tokenDiv.current) {
+      dispatch.uiState.setScrollPositionSet({ ...scrollPositionSet, [tokenSet]: tokenDiv.current?.scrollTop });
+    }
+  }, [dispatch, scrollPositionSet]);
+ 
+  if (!isActive) return null;
+ 
+  return (
+    <TokensContext.Provider value={tokensContextValue}>
+      <Box
+        css={{
+          flexGrow: 1,
+          display: 'flex',
+          flexDirection: 'column',
+          height: '100%',
+          overflow: 'hidden',
+        }}
+      >
+        <Box
+          css={{
+            display: 'flex',
+            flexDirection: 'row',
+            alignItems: 'center',
+            padding: '$2',
+            gap: '$2',
+            borderBottom: '1px solid',
+            borderColor: '$borderMuted',
+          }}
+        >
+          <IconButton
+            onClick={handleToggleTokenSetsVisibility}
+            icon={<SidebarIcon />}
+            tooltipSide="bottom"
+            size="small"
+            variant="invisible"
+            tooltip={tokenSetsVisible ? 'Collapse sidebar' : 'Expand sidebar'}
+          />
+          <TokenFilter />
+          <ThemeSelector />
+          <Box
+            css={{
+              display: 'flex',
+              gap: '$2',
+              flexDirection: 'row',
+              alignItems: 'center',
+            }}
+          >
+            <ToggleGroup
+              size="small"
+              type="single"
+              value={activeTokensTabToggleState}
+              onValueChange={handleSetTokensTab}
+            >
+              <ToggleGroup.Item value="list">
+                <IconListing />
+              </ToggleGroup.Item>
+              <ToggleGroup.Item value="json">
+                <IconJson />
+              </ToggleGroup.Item>
+            </ToggleGroup>
+          </Box>
+        </Box>
+        <Box
+          css={{
+            display: 'flex',
+            flexDirection: 'row',
+            flexGrow: 1,
+            borderBottom: '1px solid',
+            borderColor: '$borderMuted',
+            height: '100%',
+            overflow: 'hidden',
+          }}
+        >
+          {tokenSetsVisible && (
+            <TokenSetSelector saveScrollPositionSet={saveScrollPositionSet} />
+          )}
+          <Box
+            css={{
+              flexGrow: 1,
+              display: 'flex',
+              flexDirection: 'column',
+              height: '100%',
+              overflow: 'hidden',
+            }}
+          >
+            {activeTokensTab === 'json' ? (
+              <Box css={{ position: 'relative', height: '100%' }}>
+                <JSONEditor stringTokens={stringTokens} handleChange={handleChangeJSON} />
+                <StatusToast
+                  open={Boolean(error)}
+                  error={error}
+                />
+              </Box>
+            ) : (
+              <Box ref={tokenDiv} css={{ width: '100%', paddingBottom: '$6' }} className="content scroll-container">
+                {memoizedTokens.map(({
+                  key, values, isPro, schema,
+                }) => (
+                  <div key={key}>
+                    <TokenListing
+                      tokenKey={key}
+                      label={schema.label || key}
+                      schema={schema}
+                      values={values}
+                      isPro={isPro}
+                    />
+                  </div>
+                ))}
+                <ToggleEmptyButton />
+                {showEditForm && <EditTokenFormModal resolvedTokens={resolvedTokens} />}
+              </Box>
+            )}
+          </Box>
+          {manageThemesModalOpen && <ManageThemesModal />}
+        </Box>
+        <TokensBottomBar handleError={setError} />
+      </Box>
+    </TokensContext.Provider>
+  );
+}
+ 
+export default Tokens;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html new file mode 100644 index 000000000..32844999d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for src/app/components/TokensBottomBar.tsx + + + + + + + + + +
+
+

All files / src/app/components TokensBottomBar.tsx

+
+ +
+ 0% + Statements + 0/27 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+ 
+// Components
+import { Button, IconButton } from '@tokens-studio/ui';
+import { WarningTriangleSolid } from 'iconoir-react';
+import ApplySelector from './ApplySelector';
+import Box from './Box';
+import StylesDropdown from './StylesDropdown';
+import Stack from './Stack';
+import SettingsDropdown from './SettingsDropdown';
+import ToolsDropdown from './ToolsDropdown';
+ 
+// State
+import useTokens from '../store/useTokens';
+import { hasUnsavedChangesSelector, tokensSelector } from '@/selectors';
+import { stringTokensSelector } from '@/selectors/stringTokensSelector';
+ 
+// Utils
+import { track } from '@/utils/analytics';
+import parseTokenValues from '@/utils/parseTokenValues';
+import parseJson from '@/utils/parseJson';
+import ResolveDuplicateTokensModal from './modals/ResolveDuplicateTokensModal';
+ 
+type Props = {
+  handleError: (error: string) => void;
+};
+ 
+export default function TokensBottomBar({ handleError }: Props) {
+  const hasUnsavedChanges = useSelector(hasUnsavedChangesSelector);
+  const stringTokens = useSelector(stringTokensSelector);
+  const tokens = useSelector(tokensSelector);
+  const [showResolveDuplicateTokensModal, setShowResolveDuplicateTokensModal] = React.useState<boolean>(false);
+ 
+  const handleResolveDuplicateTokensModalClose = React.useCallback(() => {
+    setShowResolveDuplicateTokensModal(false);
+  }, []);
+ 
+  const handleResolveDuplicateOpen = React.useCallback(() => {
+    setShowResolveDuplicateTokensModal(true);
+  }, []);
+ 
+  const { handleJSONUpdate } = useTokens();
+ 
+  const hasDuplicates = useMemo(
+    () => Object.keys(tokens).some((setName) => {
+      const currentSetTokens = tokens[setName];
+      const seenNames = new Set();
+ 
+      return currentSetTokens.some((token) => {
+        if (seenNames.has(token.name)) {
+          return true;
+        }
+        seenNames.add(token.name);
+        return false;
+      });
+    }),
+    [tokens],
+  );
+ 
+  const handleSaveJSON = useCallback(() => {
+    try {
+      const parsedTokens = parseJson(stringTokens);
+      parseTokenValues(parsedTokens);
+      track('Saved in JSON');
+      handleJSONUpdate(stringTokens);
+    } catch (e) {
+      handleError(`Unable to read JSON: ${JSON.stringify(e)}`);
+    }
+  }, [handleError, handleJSONUpdate, stringTokens]);
+ 
+  const { t } = useTranslation(['general']);
+ 
+  return (
+    <Box css={{
+      width: '100%', backgroundColor: '$bgDefault',
+    }}
+    >
+      {hasUnsavedChanges ? (
+        <Box
+          css={{
+            padding: '$3 $4',
+            display: 'flex',
+            gap: '$1',
+            width: '100%',
+            alignItems: 'center',
+            justifyContent: 'space-between',
+          }}
+        >
+          <Box css={{ fontSize: '$xsmall' }}>{t('unsavedChanges')}</Box>
+          <Button variant="primary" onClick={handleSaveJSON}>
+            {t('save')}
+            {' '}
+            JSON
+          </Button>
+        </Box>
+      )
+        : (
+          <Stack
+            direction="row"
+            gap={2}
+            justify="between"
+            align="center"
+            css={{
+              padding: '$3',
+            }}
+          >
+            <Stack direction="row" gap={1} css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
+              <ToolsDropdown />
+              <StylesDropdown />
+            </Stack>
+            <Stack direction="row" gap={2}>
+              {hasDuplicates && (
+                <IconButton
+                  onClick={handleResolveDuplicateOpen}
+                  icon={<WarningTriangleSolid />}
+                  data-testid="resolve-duplicate-modal-open-button"
+                  variant="danger"
+                  size="small"
+                  tooltip="Duplicate Tokens Found"
+                />
+              )}
+              <ApplySelector />
+              <SettingsDropdown />
+            </Stack>
+          </Stack>
+        )}
+      {showResolveDuplicateTokensModal && (
+        <ResolveDuplicateTokensModal
+          isOpen={showResolveDuplicateTokensModal}
+          onClose={handleResolveDuplicateTokensModalClose}
+        />
+      )}
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html new file mode 100644 index 000000000..209cde3d6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/app/components/ToolsDropdown.tsx + + + + + + + + + +
+
+

All files / src/app/components ToolsDropdown.tsx

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { DropdownMenu, IconButton } from '@tokens-studio/ui';
+ 
+import { FileZipIcon } from '@primer/octicons-react';
+import { editProhibitedSelector } from '@/selectors';
+import PresetModal from './modals/PresetModal';
+import ExportModal from './modals/ExportModal';
+ 
+export default function ToolsDropdown() {
+  const editProhibited = useSelector(editProhibitedSelector);
+ 
+  const { t } = useTranslation(['tokens']);
+ 
+  const [presetModalVisible, showPresetModal] = React.useState(false);
+  const [exportModalVisible, showExportModal] = React.useState(false);
+ 
+  const handleCloseExportModal = useCallback(() => {
+    showExportModal(false);
+  }, []);
+ 
+  const handleClosePresetModal = useCallback(() => {
+    showPresetModal(false);
+  }, []);
+ 
+  const handleShowPresetModal = useCallback(() => {
+    showPresetModal(true);
+  }, []);
+  const handleShowExportModal = useCallback(() => {
+    showExportModal(true);
+  }, []);
+ 
+  return (
+    <>
+      <DropdownMenu>
+        <DropdownMenu.Trigger asChild>
+          <IconButton tooltip={t('tools')} aria-label={t('tools')} size="small" variant="invisible" icon={<FileZipIcon />} />
+        </DropdownMenu.Trigger>
+ 
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content side="top">
+            <DropdownMenu.Item disabled={editProhibited} onSelect={handleShowPresetModal}>{t('loadFromFileOrPreset')}</DropdownMenu.Item>
+            <DropdownMenu.Item disabled={editProhibited} onSelect={handleShowExportModal}>{t('exportToFile')}</DropdownMenu.Item>
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+      {exportModalVisible && <ExportModal onClose={handleCloseExportModal} />}
+      {presetModalVisible && <PresetModal onClose={handleClosePresetModal} />}
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html new file mode 100644 index 000000000..e77433418 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/components/Tooltip.tsx + + + + + + + + + +
+
+

All files / src/app/components Tooltip.tsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { Tooltip as TooltipPrimitive } from '@tokens-studio/ui';
+ 
+export default TooltipPrimitive;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html new file mode 100644 index 000000000..bae5fd22e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html @@ -0,0 +1,511 @@ + + + + + + Code coverage report for src/app/components/TypographyInput.tsx + + + + + + + + + +
+
+

All files / src/app/components TypographyInput.tsx

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/38 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import get from 'just-safe-get';
+import { TokensIcon, LinkBreak2Icon } from '@radix-ui/react-icons';
+import { useUIDSeed } from 'react-uid';
+import { IconButton, Heading } from '@tokens-studio/ui';
+import { checkIfContainsAlias, getAliasValue } from '@/utils/alias';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import ResolvedTokenDisplay from './ResolvedTokenDisplay';
+import { findReferences } from '@/utils/findReferences';
+import { EditTokenObject, SingleTypographyToken } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+import SingleTypographyDownShiftInput from './SingleTypographyDownShiftInput';
+import DownshiftInput from './DownshiftInput';
+import Stack from './Stack';
+ 
+const properties = {
+  fontSize: 'fontSizes',
+  fontFamily: 'fontFamilies',
+  fontWeight: 'fontWeights',
+  letterSpacing: 'letterSpacing',
+  paragraphSpacing: 'paragraphSpacing',
+  paragraphIndent: 'paragraphIndent',
+  textDecoration: 'textDecoration',
+  lineHeight: 'lineHeights',
+  textCase: 'textCase',
+};
+ 
+export default function TypographyInput({
+  internalEditToken,
+  handleTypographyValueChange,
+  handleTypographyAliasValueChange,
+  resolvedTokens,
+  handleTypographyValueDownShiftInputChange,
+  handleDownShiftInputChange,
+  setTypographyValue,
+  onSubmit,
+}: {
+  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.TYPOGRAPHY }>;
+  handleTypographyValueChange: (property: string, value: string) => void;
+  handleTypographyAliasValueChange: (property: string, value: string) => void;
+  resolvedTokens: ResolveTokenValuesResult[];
+  handleTypographyValueDownShiftInputChange: (newInputValue: string, property: string) => void;
+  handleDownShiftInputChange: (newInputValue: string) => void;
+  setTypographyValue: (newTypographyValue: SingleTypographyToken['value']) => void;
+  onSubmit: () => void
+}) {
+  const { t } = useTranslation(['tokens']);
+  const seed = useUIDSeed();
+  const isAliasMode = (internalEditToken.value && typeof internalEditToken.value === 'string');
+  const [mode, setMode] = useState(isAliasMode ? 'alias' : 'input');
+  const [alias, setAlias] = useState('');
+  const selectedFontFamily = useMemo(() => {
+    if (typeof internalEditToken.value === 'object') {
+      const resolvedFontFamily = getAliasValue(internalEditToken.value?.fontFamily ?? '', resolvedTokens);
+      return String(resolvedFontFamily);
+    }
+    return '';
+  }, [internalEditToken, resolvedTokens]);
+ 
+  const selectedToken = React.useMemo<SingleTypographyToken | null>(() => {
+    const search = findReferences(String(internalEditToken.value));
+    if (search && search.length > 0) {
+      const foundToken = resolvedTokens.find((t) => t.name === search[0]);
+      if (foundToken) return foundToken as SingleTypographyToken;
+    }
+    return null;
+  }, [internalEditToken, resolvedTokens]);
+ 
+  const handleMode = React.useCallback(() => {
+    if (mode === 'alias' && typeof internalEditToken.value === 'string') {
+      setTypographyValue(selectedToken?.rawValue ?? {});
+    }
+    setMode((mode === 'input') ? 'alias' : 'input');
+    setAlias('');
+  }, [mode, selectedToken, internalEditToken, setTypographyValue]);
+ 
+  return (
+    <Stack direction="column" gap={2}>
+      <Stack direction="row" gap={2} justify="between" align="center">
+        <Heading>{t('types.Typography')}</Heading>
+        {
+          mode === 'input' ? (
+            <IconButton
+              tooltip={t('referenceMode')}
+              data-testid="mode-change-button"
+              onClick={handleMode}
+              icon={<TokensIcon />}
+            />
+          ) : (
+            <IconButton
+              tooltip={t('inputMode')}
+              data-testid="mode-change-button"
+              onClick={handleMode}
+              icon={<LinkBreak2Icon />}
+            />
+          )
+        }
+      </Stack>
+      {(mode === 'input' && internalEditToken.schema.schemas.value.type === 'object') ? (
+        <Stack gap={2} direction="column">
+          {Object.entries(internalEditToken.schema.schemas.value.properties ?? {}).map(([key], keyIndex) => (
+            <SingleTypographyDownShiftInput
+              name={key}
+              key={`typography-input-${seed(keyIndex)}`}
+              value={typeof internalEditToken.value === 'object' ? get(internalEditToken.value, key, '') : ''}
+              type={properties[key as keyof typeof properties]}
+              resolvedTokens={resolvedTokens}
+              handleChange={handleTypographyValueChange}
+              setInputValue={handleTypographyValueDownShiftInputChange}
+              externalFontFamily={selectedFontFamily}
+              onSubmit={onSubmit}
+            />
+          ))}
+        </Stack>
+      ) : (
+        <Stack direction="column" gap={2}>
+          <DownshiftInput
+            value={!isAliasMode ? '' : String(internalEditToken.value)}
+            type={internalEditToken.type}
+            label={internalEditToken.schema.property}
+            inlineLabel
+            resolvedTokens={resolvedTokens}
+            initialName={internalEditToken.initialName}
+            handleChange={handleTypographyAliasValueChange}
+            setInputValue={handleDownShiftInputChange}
+            placeholder={t('valueOrAlias')}
+            suffix
+            onSubmit={onSubmit}
+          />
+ 
+          {isAliasMode && typeof internalEditToken.value === 'string' && checkIfContainsAlias(internalEditToken.value) && (
+            <ResolvedTokenDisplay
+              alias={alias}
+              selectedToken={selectedToken}
+            />
+          )}
+        </Stack>
+      )}
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html new file mode 100644 index 000000000..bce9267e5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/app/components/WindowResizer.tsx + + + + + + + + + +
+
+

All files / src/app/components WindowResizer.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/label-has-associated-control */
+import React from 'react';
+import { useDispatch } from 'react-redux';
+import debounce from 'lodash.debounce';
+import { Dispatch } from '../store';
+import IconResizeWindow from '@/icons/resizewindow.svg';
+import { track } from '@/utils/analytics';
+ 
+export default function WindowResizer() {
+  const dispatch = useDispatch<Dispatch>();
+  const cornerRef = React.useRef<HTMLDivElement>(null);
+ 
+  const debouncedSizeChange = React.useRef(
+    debounce(
+      (width, height) => track('Set Window Size', { width, height }),
+      300,
+    ),
+  ).current;
+ 
+  const handleSizeChange = React.useCallback((e: PointerEvent) => {
+    const size = {
+      width: Math.max(300, Math.floor(e.clientX + 5)),
+      height: Math.max(200, Math.floor(e.clientY + 5)),
+    };
+    dispatch.settings.setWindowSize({
+      ...size,
+    });
+    debouncedSizeChange(size.width, size.height);
+  }, [debouncedSizeChange, dispatch.settings]);
+ 
+  const onDown = React.useCallback((e: any) => {
+    if (cornerRef.current) {
+      cornerRef.current.onpointermove = handleSizeChange;
+      cornerRef.current.setPointerCapture(e.pointerId);
+    }
+  }, [handleSizeChange]);
+ 
+  const onUp = React.useCallback((e: any) => {
+    if (cornerRef.current) {
+      cornerRef.current.onpointermove = null;
+      cornerRef.current.releasePointerCapture(e.pointerId);
+      dispatch.settings.triggerWindowChange();
+    }
+  }, [dispatch.settings]);
+ 
+  // @TODO: Fix this when modals are open
+  return (
+    <div id="corner" onPointerDown={onDown} onPointerUp={onUp} ref={cornerRef} style={{ zIndex: 999 }}>
+      <IconResizeWindow />
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html new file mode 100644 index 000000000..7e483143a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/app/components/createAnnotation.tsx + + + + + + + + + +
+
+

All files / src/app/components createAnnotation.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { Direction } from '@/constants/Direction';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { track } from '@/utils/analytics';
+import type { SelectionValue } from '@/types';
+ 
+const createAnnotation = (selectionValue: SelectionValue, direction: Direction = Direction.LEFT) => {
+  track('Created annotation', { direction });
+ 
+  AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.CREATE_ANNOTATION,
+    tokens: selectionValue,
+    direction,
+  });
+};
+ 
+export default createAnnotation;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html new file mode 100644 index 000000000..26158e7e9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html @@ -0,0 +1,409 @@ + + + + + + Code coverage report for src/app/components/createTokenObj.tsx + + + + + + + + + +
+
+

All files / src/app/components createTokenObj.tsx

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import set from 'set-value';
+import extend from 'just-extend';
+import tokenTypes from '../../config/tokenType.defs.json';
+import { DeepKeyTokenMap, SingleToken, TokenTypeSchema } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+type CreateTokensObjectResult = Partial<Record<TokenTypes, {
+  values: DeepKeyTokenMap
+}>>;
+ 
+export function transformName(name: string): TokenTypes {
+  switch (name) {
+    case 'color':
+    case 'colors':
+      return TokenTypes.COLOR;
+    case 'space':
+    case 'spacing':
+      return TokenTypes.SPACING;
+    case 'size':
+    case 'sizing':
+      return TokenTypes.SIZING;
+    case 'boxShadow':
+      return TokenTypes.BOX_SHADOW;
+    case 'borderRadius':
+      return TokenTypes.BORDER_RADIUS;
+    case 'borderWidth':
+      return TokenTypes.BORDER_WIDTH;
+    case 'opacity':
+      return TokenTypes.OPACITY;
+    case 'fontFamilies':
+      return TokenTypes.FONT_FAMILIES;
+    case 'fontWeights':
+      return TokenTypes.FONT_WEIGHTS;
+    case 'fontSizes':
+      return TokenTypes.FONT_SIZES;
+    case 'lineHeights':
+      return TokenTypes.LINE_HEIGHTS;
+    case 'typography':
+      return TokenTypes.TYPOGRAPHY;
+    case 'letterSpacing':
+      return TokenTypes.LETTER_SPACING;
+    case 'paragraphSpacing':
+      return TokenTypes.PARAGRAPH_SPACING;
+    case 'composition':
+      return TokenTypes.COMPOSITION;
+    case 'border':
+      return TokenTypes.BORDER;
+    case 'asset':
+      return TokenTypes.ASSET;
+    default:
+      return TokenTypes.OTHER;
+  }
+}
+ 
+export function appendTypeToToken(token: Omit<SingleToken, 'type'> & { type?: TokenTypes; }): SingleToken {
+  const typeToSet = token.type ? token.type : transformName(token.name.split('.').slice(0, 1).toString());
+  return {
+    ...token,
+    type: typeToSet,
+  } as SingleToken;
+}
+ 
+// Creates a tokens object so that tokens are displayed in groups in the UI.
+export function createTokensObject(tokens: (Omit<SingleToken, 'type'> & { type?: TokenTypes; })[], tokenFilter = '') {
+  if (tokens.length > 0) {
+    const obj = tokens.reduce<CreateTokensObjectResult>((acc, cur) => {
+      let hasSubstring:boolean = false;
+      try {
+        hasSubstring = cur.name?.toLowerCase().search(tokenFilter?.toLowerCase()) >= 0;
+      } catch {
+        hasSubstring = cur.name?.indexOf(tokenFilter) >= 0;
+      }
+      if (tokenFilter === '' || hasSubstring) {
+        const propToSet = cur.type ? cur.type : transformName(cur.name.split('.').slice(0, 1).toString());
+ 
+        if (!acc[propToSet]?.values) {
+          acc[propToSet] = { values: {} };
+        }
+ 
+        // we can use ! here because in the previous block we are ensuring
+        // the values object exists
+        set(acc[propToSet]!.values, cur.name, extend(true, {}, cur) as SingleToken);
+      }
+      return acc;
+    }, {});
+    return obj;
+  }
+  return {};
+}
+ 
+// Takes an array of tokens, transforms them into
+// an object and merges that with values we require for the UI
+export function mappedTokens(tokens: SingleToken[], tokenFilter: string) {
+  const tokenObj = extend(true, {}, tokenTypes) as Record<
+  TokenTypes,
+  TokenTypeSchema & { values: DeepKeyTokenMap }
+  >;
+  const tokenObjects = createTokensObject(tokens, tokenFilter);
+ 
+  Object.entries(tokenObjects).forEach(([key, group]) => {
+    tokenObj[key as TokenTypes] = {
+      ...(tokenObj[key as TokenTypes] ?? {}),
+      values: group.values,
+    };
+  });
+ 
+  return Object.entries(tokenObj);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html new file mode 100644 index 000000000..7e7a90b75 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/app/components/custom.d.ts + + + + + + + + + +
+
+

All files / src/app/components custom.d.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
declare module '*.svg' {
+  const content: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<React.SVGAttributes<SVGElement>>>>;
+  export default content;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html new file mode 100644 index 000000000..2ee9123ac --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html @@ -0,0 +1,409 @@ + + + + + + Code coverage report for src/app/components/globalStyles.tsx + + + + + + + + + +
+
+

All files / src/app/components globalStyles.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { globalCss } from '@/stitches.config';
+ 
+export const globalStyles = globalCss({
+  '@import': [
+    "url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap')",
+  ],
+  body: {
+    fontFamily: '$sans',
+    fontSize: '$xsmall',
+    letterSpacing: '0',
+    color: '$fgDefault',
+  },
+  form: {
+    marginBottom: 0,
+  },
+  'button[disabled]': {
+    opacity: 0.5,
+  },
+  'button:focus': {
+    outline: 'none',
+  },
+  'textarea.input, select.input, input.input': {
+    outline: 'none',
+    padding: '$2',
+  },
+  '.input textarea:focus, .input select:focus, .input input:focus': {
+    outline: 'none',
+  },
+  input: {
+    background: '$bgDefault',
+  },
+  '.drag-over-item-grid-absolute': {
+    position: 'absolute',
+    content: "''",
+    width: '5px',
+    height: '24px',
+    top: '0px',
+    left: -'4px',
+    backgroundColor: '$accentDefault',
+  },
+  '.drag-over-item-list-absolute': {
+    position: 'absolute',
+    content: "''",
+    width: '100%',
+    height: '4px',
+    top: '-4px',
+    backgroundColor: '$accentDefault',
+  },
+  '.scroll-container': {
+    overflowY: 'scroll',
+  },
+  '.content::-webkit-scrollbar, .ReactModal__Content::-webkit-scrollbar,  textarea::-webkit-scrollbar': {
+    width: 'var(--sizes-scrollbarWidth, 9px)',
+  },
+  '.overflow-x-auto::-webkit-scrollbar': {
+    height: '9px',
+  },
+  '.content::-webkit-scrollbar-thumb, .overflow-x-auto::-webkit-scrollbar-thumb, .ReactModal__Content::-webkit-scrollbar-thumb, textarea::-webkit-scrollbar-thumb': {
+    backgroundColor: '$borderMuted',
+    borderRadius: '9px',
+    border: '2px solid var(--figma-color-bg)',
+  },
+  '.content-dark::-webkit-scrollbar-thumb': {
+    backgroundColor: 'var(--colors-contextMenuFgMuted, #000) !important',
+    borderColor: 'var(--colors-contextMenuBg, #333) !important',
+    borderRadius: '9px',
+    border: '2px solid',
+  },
+  '#corner': {
+    position: 'fixed',
+    right: 0,
+    bottom: 0,
+    cursor: 'nwse-resize',
+    pointerEvents: 'all',
+  },
+  '.color-picker .react-colorful': {
+    width: '100%',
+  },
+  '.color-picker .react-colorful__saturation': {
+    borderRadius: '$small',
+  },
+ 
+  '.color-picker .react-colorful__hue, .color-picker .react-colorful__alpha': {
+    height: '$4',
+    borderRadius: '$small',
+  },
+ 
+  '.color-picker .react-colorful__hue-pointer, .color-picker .react-colorful__alpha-pointer': {
+    height: '$4',
+    width: '$4',
+  },
+ 
+  '.color-picker .react-colorful__hue': {
+    marginTop: '$3',
+    marginBottom: '$2',
+  },
+ 
+  '.color-picker .react-colorful__alpha': {
+    marginTop: '$2',
+    marginBottom: '$3',
+  },
+  '.ReactModal__Content': {
+    backgroundColor: '$bgDefault !important',
+    border: '1px solid !important',
+    borderColor: '$borderMuted !important',
+    overflowX: 'hidden !important',
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html new file mode 100644 index 000000000..4eb40a22a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html @@ -0,0 +1,1691 @@ + + + + + + Code coverage report for src/app/components + + + + + + + + + +
+
+

All files src/app/components

+
+ +
+ 0% + Statements + 0/2117 +
+ + +
+ 0% + Branches + 0/1477 +
+ + +
+ 0% + Functions + 0/568 +
+ + +
+ 0% + Lines + 0/2012 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AnnotationBuilder.tsx +
+
0%0/110%0/20%0/50%0/11
App.tsx +
+
0%0/20%0/180%0/10%0/2
ApplySelector.tsx +
+
0%0/15100%0/00%0/60%0/15
BorderTokenDownShiftInput.tsx +
+
0%0/130%0/130%0/40%0/12
BorderTokenForm.tsx +
+
0%0/260%0/390%0/70%0/23
Box.tsx +
+
0%0/1100%0/0100%0/00%0/1
BoxShadowInput.tsx +
+
0%0/350%0/450%0/90%0/30
BranchSelector.tsx +
+
0%0/660%0/350%0/130%0/65
BranchSwitchMenuRadioElement.tsx +
+
0%0/4100%0/00%0/20%0/3
BrokenReferenceIndicator.tsx +
+
0%0/70%0/20%0/30%0/6
Callout.tsx +
+
0%0/1100%0/00%0/10%0/1
ChangeStateListingHeading.tsx +
+
0%0/40%0/40%0/20%0/4
ChangedStateList.tsx +
+
0%0/210%0/290%0/60%0/20
ChangedTokenItem.tsx +
+
0%0/20%0/210%0/10%0/2
Changelog.tsx +
+
0%0/140%0/140%0/50%0/14
ColorPickerTrigger.tsx +
+
0%0/3100%0/00%0/10%0/3
ColorTokenForm.tsx +
+
0%0/770%0/740%0/210%0/75
CompositionTokenForm.tsx +
+
0%0/410%0/180%0/160%0/39
ConfirmDialog.tsx +
+
0%0/430%0/280%0/140%0/38
ConvertToDTCGModal.tsx +
+
0%0/180%0/180%0/30%0/17
Count.tsx +
+
0%0/1100%0/00%0/10%0/1
DirtyStateBadgeWrapper.tsx +
+
0%0/10%0/20%0/10%0/1
Divider.tsx +
+
0%0/1100%0/0100%0/00%0/1
EditTokenForm.tsx +
+
0%0/2100%0/2220%0/490%0/203
EditTokenFormModal.tsx +
+
0%0/110%0/80%0/20%0/11
ErrorMessage.tsx +
+
0%0/1100%0/0100%0/00%0/1
ErrorValidation.tsx +
+
0%0/1100%0/0100%0/00%0/1
ExplainerModal.tsx +
+
0%0/6100%0/00%0/30%0/4
FigmaLoading.tsx +
+
0%0/80%0/40%0/10%0/8
Footer.tsx +
+
0%0/260%0/220%0/70%0/23
IconToggleableDisclosure.tsx +
+
0%0/1100%0/0100%0/00%0/1
ImportVariablesDialog.tsx +
+
0%0/460%0/180%0/170%0/45
ImportedTokensDialog.tsx +
+
0%0/860%0/390%0/340%0/75
Initiator.tsx +
+
0%0/940%0/400%0/90%0/92
Input.tsx +
+
0%0/180%0/430%0/30%0/18
InspectSearchOptionDropdown.tsx +
+
0%0/8100%0/00%0/30%0/8
Inspector.tsx +
+
0%0/220%0/50%0/60%0/21
InspectorDebugView.tsx +
+
0%0/190%0/200%0/60%0/16
InspectorMultiView.tsx +
+
0%0/510%0/300%0/210%0/44
InspectorResolvedToken.tsx +
+
0%0/140%0/110%0/10%0/14
InspectorTokenGroup.tsx +
+
0%0/3100%0/00%0/20%0/3
InspectorTokenSingle.tsx +
+
0%0/400%0/300%0/110%0/38
JSONEditor.tsx +
+
0%0/150%0/110%0/30%0/15
Label.tsx +
+
0%0/20%0/10%0/10%0/2
Link.tsx +
+
0%0/2100%0/00%0/10%0/2
LoadingBar.tsx +
+
0%0/240%0/280%0/110%0/19
LocalStorageItem.tsx +
+
0%0/180%0/60%0/30%0/18
MultiSelectCheckboxItem.tsx +
+
0%0/4100%0/00%0/20%0/4
MultiSelectDropdown.tsx +
+
0%0/130%0/20%0/50%0/11
Navbar.tsx +
+
0%0/200%0/110%0/40%0/18
OnboardingExplainer.tsx +
+
0%0/40%0/20%0/10%0/4
OnboardingFlow.tsx +
+
0%0/220%0/180%0/60%0/22
PluginResizer.tsx +
+
0%0/30%0/20%0/10%0/3
ProBadge.tsx +
+
0%0/50%0/40%0/10%0/5
PullDialog.tsx +
+
0%0/110%0/30%0/30%0/11
PushDialog.tsx +
+
0%0/460%0/760%0/80%0/45
PushDialogSupernovaConfirm.tsx +
+
0%0/20%0/20%0/10%0/2
PushJSON.tsx +
+
0%0/200%0/210%0/40%0/19
PushSettingForm.tsx +
+
0%0/50%0/40%0/20%0/5
RemConfiguration.tsx +
+
0%0/370%0/260%0/70%0/35
ResolvedBorderValueDisplay.tsx +
+
0%0/9100%0/00%0/30%0/9
ResolvedShadowValueDisplay.tsx +
+
0%0/7100%0/00%0/30%0/7
ResolvedTokenDisplay.tsx +
+
0%0/130%0/200%0/20%0/12
ResolvedTypographyValueDisplay.tsx +
+
0%0/9100%0/00%0/30%0/9
Select.tsx +
+
0%0/2100%0/00%0/10%0/2
SettingsDropdown.tsx +
+
0%0/130%0/20%0/50%0/13
SingleBoxShadowDownShiftInput.tsx +
+
0%0/100%0/160%0/30%0/10
SingleBoxShadowInput.tsx +
+
0%0/690%0/480%0/130%0/67
SingleCompositionTokenContent.tsx +
+
0%0/70%0/20%0/20%0/7
SingleCompositionTokenForm.tsx +
+
0%0/260%0/100%0/80%0/26
SingleTypographyDownShiftInput.tsx +
+
0%0/6100%0/00%0/30%0/5
Stack.tsx +
+
0%0/00%0/00%0/00%0/0
StartScreen.tsx +
+
0%0/240%0/60%0/50%0/23
StorageItem.tsx +
+
0%0/290%0/150%0/50%0/28
StorageItemForm.tsx +
+
0%0/100%0/110%0/10%0/10
StyledBrokenReferenceIndicator.tsx +
+
0%0/2100%0/00%0/10%0/2
StyledDiff.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledDirtyStateBadge.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledInputSuffix.tsx +
+
0%0/2100%0/0100%0/00%0/2
StyledInspectBadge.tsx +
+
0%0/1100%0/0100%0/00%0/1
StyledStorageItem.tsx +
+
0%0/1100%0/0100%0/00%0/1
StylesDropdown.tsx +
+
0%0/160%0/60%0/40%0/16
SyncSettings.tsx +
+
0%0/370%0/120%0/120%0/36
Text.tsx +
+
0%0/20%0/10%0/10%0/2
ToggleEmptyButton.tsx +
+
0%0/60%0/20%0/20%0/6
TokenFilter.tsx +
+
0%0/160%0/20%0/40%0/16
TokenFormatBadge.tsx +
+
0%0/90%0/70%0/20%0/9
TokenInput.tsx +
+
0%0/40%0/30%0/10%0/4
TokenListing.tsx +
+
0%0/250%0/170%0/60%0/23
TokenListingHeading.tsx +
+
0%0/110%0/160%0/30%0/10
TokenSetListItemContent.tsx +
+
0%0/250%0/120%0/50%0/25
TokenSetSelector.tsx +
+
0%0/740%0/140%0/180%0/73
TokenSetTree.tsx +
+
0%0/790%0/380%0/290%0/68
TokenSetTreeItemContent.tsx +
+
0%0/230%0/80%0/70%0/21
Tokens.tsx +
+
0%0/700%0/370%0/190%0/67
TokensBottomBar.tsx +
+
0%0/270%0/80%0/70%0/27
ToolsDropdown.tsx +
+
0%0/130%0/40%0/50%0/13
Tooltip.tsx +
+
0%0/00%0/00%0/00%0/0
TypographyInput.tsx +
+
0%0/260%0/380%0/60%0/24
WindowResizer.tsx +
+
0%0/180%0/40%0/50%0/18
createAnnotation.tsx +
+
0%0/30%0/10%0/10%0/3
createTokenObj.tsx +
+
0%0/400%0/360%0/60%0/40
custom.d.ts +
+
0%0/00%0/00%0/00%0/0
globalStyles.tsx +
+
0%0/1100%0/0100%0/00%0/1
use-raised-shadow.ts +
+
0%0/140%0/60%0/30%0/14
useMinimizeWindow.tsx +
+
0%0/110%0/40%0/30%0/10
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html new file mode 100644 index 000000000..c7a149a11 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/app/components/inspector/NodeIcon.tsx + + + + + + + + + +
+
+

All files / src/app/components/inspector NodeIcon.tsx

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import {
+  ComponentInstanceIcon,
+  FrameIcon,
+  TextIcon,
+  MixIcon,
+  GroupIcon,
+  BoxIcon,
+  MinusIcon,
+  ValueIcon,
+} from '@radix-ui/react-icons';
+import Box from '../Box';
+ 
+interface NodeIconProps {
+  type: NodeType;
+  width?: number;
+  height?: number;
+}
+ 
+export default function NodeIcon({ type, width = 12, height = 12 }: NodeIconProps): JSX.Element | null {
+  let icon;
+  switch (type) {
+    case 'TEXT':
+      icon = <TextIcon width={width} height={height} />;
+      break;
+    case 'FRAME':
+      icon = <FrameIcon width={width} height={height} />;
+      break;
+    case 'INSTANCE':
+      icon = <ComponentInstanceIcon width={width} height={height} />;
+      break;
+    case 'VECTOR':
+      icon = <MixIcon width={width} height={height} />;
+      break;
+    case 'GROUP':
+      icon = <GroupIcon width={width} height={height} />;
+      break;
+    case 'RECTANGLE':
+      icon = <BoxIcon width={width} height={height} />;
+      break;
+    case 'LINE':
+      icon = <MinusIcon width={width} height={height} />;
+      break;
+    case 'ELLIPSE':
+      icon = <ValueIcon width={width} height={height} />;
+      break;
+    default:
+      break;
+  }
+  if (!icon) return null;
+  return (
+    <Box
+      css={{
+        marginRight: '$3',
+        display: 'flex',
+        alignItems: 'center',
+        svg: {
+          fill: '$contextMenuFg',
+        },
+      }}
+    >
+      {icon}
+    </Box>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html new file mode 100644 index 000000000..cb1f21f8b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/app/components/inspector/TokenNode.tsx + + + + + + + + + +
+
+

All files / src/app/components/inspector TokenNode.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { DropdownMenu } from '@tokens-studio/ui';
+import NodeIcon from './NodeIcon';
+import Box from '../Box';
+import { goToNodeId } from '@/utils/figma';
+import { NodeInfo } from '@/types/NodeInfo';
+ 
+export default function TokenNode({ id, name, type }: NodeInfo) {
+  const onNodeSelect = useCallback(() => {
+    goToNodeId(id);
+  }, [id]);
+ 
+  return (
+    <DropdownMenu.Item
+      key={id}
+      onSelect={onNodeSelect}
+      css={{
+        // Note: This is quite bad. We should not massacre a dropdown menu for it to be rendered as a context menu. let's think about introducing a dark version of our dropdown menu
+        display: 'flex',
+        color: '$contextMenuFg',
+        padding: '$1 $4',
+        '&:hover:not([data-disabled]), &:focus:not([data-disabled])': {
+          backgroundColor: '$contextMenuBgHover',
+        },
+      }}
+    >
+ 
+      <NodeIcon type={type} />
+      <Box
+        css={{
+          whiteSpace: 'nowrap',
+          overflow: 'hidden',
+          textOverflow: 'ellipsis',
+        }}
+        title={name}
+      >
+        {name}
+      </Box>
+    </DropdownMenu.Item>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html new file mode 100644 index 000000000..07550d7d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/app/components/inspector/TokenNodes.tsx + + + + + + + + + +
+
+

All files / src/app/components/inspector TokenNodes.tsx

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { Crosshair2Icon } from '@radix-ui/react-icons';
+import {
+  DropdownMenu, Stack, Button, IconButton,
+} from '@tokens-studio/ui';
+import Box from '../Box';
+import IconLayers from '@/icons/layers.svg';
+import { selectNodes } from '@/utils/figma/selectNodes';
+import { NodeInfo } from '@/types/NodeInfo';
+import TokenNode from './TokenNode';
+ 
+const NODE_HEIGHT = 22;
+const VISIBLE_VIEWPORT_NODES = 10;
+const CONTAINER_PADDING = 8;
+ 
+export default function TokenNodes({ nodes }: { nodes: NodeInfo[] }) {
+  const selectAllNodes = useCallback(() => {
+    const nodeIds = nodes.map(({ id }) => id);
+    selectNodes(nodeIds);
+  }, [nodes]);
+ 
+  const dropdownContent = (
+    <DropdownMenu.Content
+      css={{
+        width: '164px',
+        background: '$contextMenuBg',
+        borderRadius: '$medium',
+        padding: '$2 0',
+        fontSize: '$small',
+        maxHeight: `${VISIBLE_VIEWPORT_NODES * NODE_HEIGHT + CONTAINER_PADDING}px`,
+      }}
+      sideOffset={4}
+      className={`content content-dark ${nodes.length > VISIBLE_VIEWPORT_NODES ? 'scroll-container' : null}`}
+    >
+ 
+      {nodes.map(({ id, name, type }) => (
+        <TokenNode key={id} id={id} name={name} type={type} />
+      ))}
+    </DropdownMenu.Content>
+  );
+ 
+  return (
+    <Stack
+      align="center"
+      gap={1}
+    >
+      <DropdownMenu>
+        <Box
+          css={{
+            display: 'flex',
+            alignItems: 'center',
+            gap: '$3',
+            fontWeight: '$sansBold',
+            fontSize: '$small',
+          }}
+        >
+          <DropdownMenu.Trigger asChild>
+            <Button variant="invisible" size="small" icon={<IconLayers />}>
+              {nodes.length}
+            </Button>
+          </DropdownMenu.Trigger>
+          {dropdownContent}
+        </Box>
+      </DropdownMenu>
+      <IconButton
+        tooltip="Select all"
+        tooltipSide="bottom"
+        onClick={selectAllNodes}
+        variant="invisible"
+        size="small"
+        icon={<Crosshair2Icon />}
+      />
+    </Stack>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html new file mode 100644 index 000000000..c6276e5f9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/components/inspector + + + + + + + + + +
+
+

All files src/app/components/inspector

+
+ +
+ 0% + Statements + 0/34 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
NodeIcon.tsx +
+
0%0/210%0/130%0/10%0/20
TokenNode.tsx +
+
0%0/3100%0/00%0/20%0/3
TokenNodes.tsx +
+
0%0/100%0/20%0/40%0/9
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html new file mode 100644 index 000000000..f8d89be4d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/app/components/modals/BulkRemapModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals BulkRemapModal.tsx

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { Button, Checkbox } from '@tokens-studio/ui';
+import Modal from '../Modal';
+import Stack from '../Stack';
+import Input from '../Input';
+import useTokens from '../../store/useTokens';
+import Box from '../Box';
+import Label from '../Label';
+import { UpdateMode } from '@/constants/UpdateMode';
+ 
+type Props = {
+  isOpen: boolean
+  onClose: () => void;
+};
+ 
+export default function BulkRemapModal({ isOpen, onClose }: Props) {
+  const [oldName, setOldName] = React.useState('');
+  const [newName, setNewName] = React.useState('');
+  const [shouldRemapDocument, setShouldRemapDocument] = React.useState(false);
+  const { handleBulkRemap } = useTokens();
+ 
+  const handleClose = React.useCallback(() => {
+    onClose();
+  }, [onClose]);
+ 
+  const onConfirm = React.useCallback(async () => {
+    const updateMode = shouldRemapDocument ? UpdateMode.DOCUMENT : UpdateMode.SELECTION;
+    await handleBulkRemap(newName, oldName, updateMode);
+    onClose();
+  }, [handleBulkRemap, onClose, newName, oldName, shouldRemapDocument]);
+ 
+  const handleOldNameChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>((e) => {
+    setOldName(e.target.value);
+  }, []);
+ 
+  const handleNewNameChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>((e) => {
+    setNewName(e.target.value);
+  }, []);
+ 
+  const updateShouldRemapDocument = React.useCallback(() => {
+    setShouldRemapDocument(!shouldRemapDocument);
+  }, [shouldRemapDocument]);
+ 
+  return (
+    <Modal size="large" showClose isOpen={isOpen} close={handleClose} title="Bulk remap">
+      <form
+        onSubmit={onConfirm}
+      >
+        <Stack direction="column" gap={4}>
+          <Input
+            full
+            required
+            autofocus
+            type="text"
+            label="Match"
+            value={oldName}
+            placeholder=""
+            onChange={handleOldNameChange}
+            name="oldName"
+          />
+          <Input
+            required
+            full
+            type="text"
+            label="Remap"
+            value={newName}
+            placeholder=""
+            onChange={handleNewNameChange}
+            name="newName"
+          />
+          <Box css={{
+            display: 'flex', alignItems: 'center', gap: '$3', fontSize: '$small',
+          }}
+          >
+            <Checkbox
+              checked={shouldRemapDocument}
+              id="remapDocument"
+              onCheckedChange={updateShouldRemapDocument}
+            />
+            <Label htmlFor="remapDocument" css={{ fontSize: '$small', fontWeight: '$sansBold' }}>
+              Remap across document (slow)
+            </Label>
+          </Box>
+          <Stack direction="row" gap={4} justify="between">
+            <Button variant="secondary" onClick={onClose}>
+              Cancel
+            </Button>
+            <Button type="submit" variant="primary">
+              Remap
+            </Button>
+          </Stack>
+        </Stack>
+      </form>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html new file mode 100644 index 000000000..1a92bc1c5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for src/app/components/modals/CreateBranchModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals CreateBranchModal.tsx

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useSelector } from 'react-redux';
+import { Button, Stack } from '@tokens-studio/ui';
+import Modal from '../Modal';
+import Input from '../Input';
+import useRemoteTokens from '../../store/remoteTokens';
+import {
+  activeThemeSelector, apiSelector, localApiStateSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { isGitProvider } from '@/utils/is';
+import type { StorageTypeCredentials } from '@/types/StorageType';
+import { ErrorMessage } from '../ErrorMessage';
+ 
+type Props = {
+  isOpen: boolean;
+  startBranch: string | null;
+  isCurrentChanges: boolean;
+  onClose: (arg: boolean) => void;
+  onSuccess: (branch: string, branches: string[]) => void;
+};
+ 
+type FormData = {
+  branch: string
+};
+ 
+export default function CreateBranchModal({
+  isOpen, onClose, onSuccess, startBranch, isCurrentChanges,
+}: Props) {
+  const {
+    addNewBranch, pushTokens, fetchBranches, pullTokens,
+  } = useRemoteTokens();
+ 
+  const localApiState = useSelector(localApiStateSelector);
+  const apiData = useSelector(apiSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+ 
+  const [formFields, setFormFields] = React.useState<FormData>({} as FormData);
+  const [hasErrored, setHasErrored] = React.useState<boolean>(false);
+  const branchInputRef = React.useRef<HTMLInputElement | null>(null);
+ 
+  /* @lifecycle
+  ** set focus on input
+  */
+  React.useEffect(() => {
+    setTimeout(() => {
+      branchInputRef.current?.focus();
+    }, 200);
+  }, []);
+ 
+  const isBranchNameValid = React.useMemo(() => !/\s/.test(formFields.branch), [formFields]);
+ 
+  const handleChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
+    setFormFields({ ...formFields, [e.target.name]: e.target.value });
+  }, [formFields]);
+ 
+  const handleSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+ 
+    const { branch } = formFields;
+ 
+    setHasErrored(false);
+ 
+    if (
+      isGitProvider(localApiState)
+      && isGitProvider(apiData)
+    ) {
+      // type casting because of "name" error - ignoring because not important
+      const response = await addNewBranch(localApiState as StorageTypeCredentials, branch, startBranch ?? undefined);
+      const branches = await fetchBranches(localApiState as StorageTypeCredentials);
+      if (response) {
+        onSuccess(branch, branches ?? []);
+        if (!isCurrentChanges) {
+          await pullTokens({
+            context: { ...apiData, branch }, usedTokenSet, activeTheme, updateLocalTokens: true,
+          });
+        }
+      } else {
+        setHasErrored(true);
+      }
+ 
+      if (isCurrentChanges) {
+        await pushTokens({ context: { ...apiData, branch } });
+      }
+    }
+  }, [
+    formFields,
+    localApiState,
+    apiData,
+    addNewBranch,
+    isCurrentChanges,
+    fetchBranches,
+    pushTokens,
+    onSuccess,
+    startBranch,
+    activeTheme,
+    pullTokens,
+    usedTokenSet,
+  ]);
+ 
+  const handleModalClose = React.useCallback(() => onClose(false), [onClose]);
+ 
+  return (
+    <Modal title={`Create a new branch from ${isCurrentChanges ? 'current changes' : startBranch}`} size="large" isOpen={isOpen} close={handleModalClose}>
+      <form onSubmit={handleSubmit}>
+        <Stack direction="column" gap={4}>
+          <Input
+            required
+            full
+            autofocus
+            type="text"
+            label="Branch name"
+            value={formFields.branch}
+            placeholder="branch"
+            onChange={handleChange}
+            name="branch"
+            inputRef={branchInputRef}
+          />
+          {
+            !isBranchNameValid && (
+              <ErrorMessage data-testid="provider-modal-error">
+                Branch name cannot contain spaces
+              </ErrorMessage>
+            )
+          }
+          <Stack direction="row" justify="end" gap={4}>
+            <Button variant="secondary" onClick={handleModalClose}>
+              Cancel
+            </Button>
+            <Button variant="primary" type="submit" disabled={!('branch' in formFields && isBranchNameValid)}>
+              Create branch
+            </Button>
+          </Stack>
+          {hasErrored && (
+            <ErrorMessage data-testid="provider-modal-error">
+              There was an error connecting. Check your credentials.
+            </ErrorMessage>
+          )}
+        </Stack>
+      </form>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html new file mode 100644 index 000000000..8486b7dad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html @@ -0,0 +1,361 @@ + + + + + + Code coverage report for src/app/components/modals/CreateStorageItemModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals CreateStorageItemModal.tsx

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import Modal from '../Modal';
+import StorageItemForm from '../StorageItemForm';
+import useRemoteTokens from '../../store/remoteTokens';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { getProviderIcon } from '@/utils/getProviderIcon';
+import { Eventlike } from '../StorageItemForm/types';
+ 
+type Props = {
+  isOpen: boolean;
+  onClose: () => void;
+  onSuccess: () => void;
+  storageProvider: StorageProviderType;
+};
+ 
+export default function CreateStorageItemModal({
+  isOpen, onClose, onSuccess, storageProvider,
+}: Props) {
+  const { addNewProviderItem } = useRemoteTokens();
+  const [hasErrored, setHasErrored] = React.useState(false);
+  const [errorMessage, setErrorMessage] = React.useState<string>();
+ 
+  const getHeaderText = (storageProvider: StorageProviderType) => {
+    const icon = getProviderIcon(storageProvider);
+    const providerText = {
+      url: 'a server URL',
+      jsonbin: 'JSONBIN',
+      github: 'GitHub',
+      gitlab: 'GitLab',
+      ado: 'Azure DevOps',
+      bitbucket: 'Bitbucket',
+      supernova: 'Supernova',
+      genericVersionedStorage: 'Generic Versioned Storage',
+      tokensstudio: 'Tokens Studio',
+    }[storageProvider] || storageProvider;
+    return { icon, text: `Sync to ${providerText}` };
+  };
+ 
+  const { icon, text } = getHeaderText(storageProvider);
+ 
+  const [formFields, setFormFields] = React.useState<StorageTypeFormValues<true>>(
+    React.useMemo(
+      () => ({
+        provider: storageProvider,
+      }),
+      [storageProvider],
+    ),
+  );
+ 
+  const handleCreateNewClick = React.useCallback(
+    async (values: StorageTypeFormValues<false>) => {
+      setHasErrored(false);
+      const response = await addNewProviderItem(values);
+      if (response.status === 'success') {
+        onSuccess();
+      } else {
+        setHasErrored(true);
+        setErrorMessage(response?.errorMessage);
+      }
+    },
+    [addNewProviderItem, onSuccess],
+  );
+ 
+  const handleChange = React.useCallback(
+    (e: Eventlike) => {
+      setFormFields({ ...formFields, [e.target.name]: e.target.value });
+    },
+    [formFields],
+  );
+ 
+  const handleSubmit = React.useCallback(
+    (values: StorageTypeFormValues<false>) => {
+      handleCreateNewClick(values);
+    },
+    [handleCreateNewClick],
+  );
+ 
+  return (
+    <Modal icon={icon} title={text} size="large" isOpen={isOpen} close={onClose}>
+      <StorageItemForm
+        isNew
+        onChange={handleChange}
+        onSubmit={handleSubmit}
+        onCancel={onClose}
+        values={formFields}
+        hasErrored={hasErrored}
+        errorMessage={errorMessage}
+      />
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html new file mode 100644 index 000000000..3c477deca --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html @@ -0,0 +1,553 @@ + + + + + + Code coverage report for src/app/components/modals/DuplicateTokenGroupModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals DuplicateTokenGroupModal.tsx

+
+ +
+ 0% + Statements + 0/28 +
+ + +
+ 0% + Branches + 0/19 +
+ + +
+ 0% + Functions + 0/10 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, TextInput, Stack, Text,
+  Tooltip,
+} from '@tokens-studio/ui';
+import Modal from '../Modal';
+import { MultiSelectDropdown } from '../MultiSelectDropdown';
+import { ErrorMessage } from '../ErrorMessage';
+import { activeTokenSetSelector, tokensSelector } from '@/selectors';
+import useManageTokens from '@/app/store/useManageTokens';
+import { StyledTokenButton, StyledTokenButtonText } from '../TokenButton/StyledTokenButton';
+import { validateDuplicateGroupName, ErrorType } from '@/utils/validateGroupName';
+ 
+type Props = {
+  isOpen: boolean;
+  type: string;
+  newName: string;
+  oldName: string;
+  onClose?: () => void;
+  handleNewTokenGroupNameChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
+};
+ 
+export default function DuplicateTokenGroupModal({
+  isOpen, type, newName, oldName, onClose, handleNewTokenGroupNameChange,
+}: Props) {
+  const tokens = useSelector(tokensSelector);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const [selectedTokenSets, setSelectedTokenSets] = React.useState<string[]>([activeTokenSet]);
+  const { duplicateGroup } = useManageTokens();
+  const { t } = useTranslation(['tokens']);
+ 
+  const handleSelectedItemChange = React.useCallback((selectedItems: string[]) => {
+    setSelectedTokenSets(selectedItems);
+  }, []);
+ 
+  const handleDuplicateTokenGroupSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    duplicateGroup({
+      oldName, newName, tokenSets: selectedTokenSets, type,
+    });
+    if (onClose) {
+      onClose();
+    }
+  }, [duplicateGroup, oldName, newName, selectedTokenSets, type, onClose]);
+ 
+  const error = useMemo(() => {
+    if (!isOpen) {
+      return null;
+    }
+    if (newName === oldName && selectedTokenSets.includes(activeTokenSet)) {
+      return {
+        type: ErrorType.ExistingGroup,
+      };
+    }
+    if (selectedTokenSets.length === 0) {
+      return {
+        type: ErrorType.NoSetSelected,
+      };
+    }
+    return validateDuplicateGroupName(tokens, selectedTokenSets, activeTokenSet, type, oldName, newName);
+  }, [isOpen, activeTokenSet, newName, oldName, selectedTokenSets, tokens, type]);
+ 
+  const canDuplicate = !error;
+ 
+  return (
+    <Modal
+      title={t('duplicateGroup') as string}
+      isOpen={isOpen}
+      close={onClose}
+      size="large"
+      footer={(
+        <form id="duplicateTokenGroup" onSubmit={handleDuplicateTokenGroupSubmit}>
+          <Stack direction="row" justify="end" gap={4}>
+            <Button variant="secondary" onClick={onClose}>
+              {t('cancel')}
+            </Button>
+            <Button type="submit" variant="primary" disabled={!canDuplicate}>
+              {t('duplicate')}
+            </Button>
+          </Stack>
+        </form>
+    )}
+    >
+      <Stack direction="column" justify="center" align="start" gap={4}>
+        <TextInput
+          form="duplicateTokenGroup"
+          onChange={handleNewTokenGroupNameChange}
+          type="text"
+          name="tokengroupname"
+          value={newName}
+          autoFocus
+          required
+          css={{ width: '100%' }}
+        />
+        {!canDuplicate && error?.type && (
+          <ErrorMessage css={{ width: '100%', maxHeight: 150, overflow: 'scroll' }}>
+            {{
+              [ErrorType.NoSetSelected]: t('duplicateGroupModal.errors.noSetSelected'),
+              [ErrorType.EmptyGroupName]: t('duplicateGroupModal.errors.emptyGroupName'),
+              [ErrorType.ExistingGroup]: t('duplicateGroupModal.errors.existingGroup'),
+              [ErrorType.OverlappingToken]: error.foundOverlappingTokens && (
+                <>
+                  {t('duplicateGroupModal.errors.overlappingToken', {
+                    tokenSets: Object.keys(error.foundOverlappingTokens).map((n) => `“${n}”`).join(', '),
+                  })}
+                    {Object.entries(error.foundOverlappingTokens).map(([selectedSet, overlappingTokens]) => (
+                      <>
+                        <Tooltip label="Set" side="right">
+                          <Text css={{ marginTop: '$2', marginBottom: '$2', fontWeight: '$bold' }}>
+                            {selectedSet}
+                          </Text>
+                        </Tooltip>
+                        <Stack direction="row" gap={2}>
+                          {overlappingTokens.map((t) => (
+                            <StyledTokenButton as="div" css={{ display: 'inline-flex', borderRadius: '$small', margin: 0 }}>
+                              <StyledTokenButtonText css={{ wordBreak: 'break-word' }}><span>{t.name}</span></StyledTokenButtonText>
+                            </StyledTokenButton>
+                          ))}
+                        </Stack>
+                      </>
+                    ))}
+                </>
+              ),
+              [ErrorType.OverlappingGroup]: (
+                <>
+                  {t('duplicateGroupModal.errors.overlappingGroup', {
+                    groupName: newName, tokenSets: error.possibleDuplicates && Object.keys(error.possibleDuplicates).map((n) => `“${n}”`).join(', '),
+                  })}
+                  {error.possibleDuplicates && Object.entries(error.possibleDuplicates).map(([selectedSet, overlappingTokens]) => (
+                    <>
+                      <Tooltip label="Set" side="right">
+                        <Text css={{ marginTop: '$2', marginBottom: '$2', fontWeight: '$bold' }}>
+                          {selectedSet}
+                        </Text>
+                      </Tooltip>
+                      <Stack direction="row" wrap css={{ marginTop: '$2' }}>
+                        {overlappingTokens.map(({ name }) => (
+                          <StyledTokenButton as="div" css={{ borderRadius: '$small' }}>
+                            <StyledTokenButtonText css={{ wordBreak: 'break-word' }}><span>{name}</span></StyledTokenButtonText>
+                          </StyledTokenButton>
+                        ))}
+                      </Stack>
+                    </>
+                  ))}
+                </>
+              ),
+            }[error.type]}
+          </ErrorMessage>
+        )}
+        <MultiSelectDropdown menuItems={Object.keys(tokens)} selectedItems={selectedTokenSets} handleSelectedItemChange={handleSelectedItemChange} />
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html new file mode 100644 index 000000000..ac5f75298 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/app/components/modals/EditStorageItemModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals EditStorageItemModal.tsx

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useTranslation } from 'react-i18next';
+import Modal from '../Modal';
+import StorageItemForm from '../StorageItemForm';
+import useRemoteTokens from '../../store/remoteTokens';
+import Stack from '../Stack';
+import { StorageTypeFormValues } from '@/types/StorageType';
+import { Eventlike } from '../StorageItemForm/types';
+ 
+type Props = {
+  isOpen: boolean;
+  initialValue: StorageTypeFormValues<true>;
+  onClose: () => void;
+  onSuccess: () => void;
+};
+ 
+export default function EditStorageItemModal({
+  isOpen, initialValue, onClose, onSuccess,
+}: Props) {
+  const { t } = useTranslation(['storage']);
+  const [formFields, setFormFields] = React.useState<StorageTypeFormValues<true>>(initialValue);
+  const [hasErrored, setHasErrored] = React.useState(false);
+  const { addNewProviderItem } = useRemoteTokens();
+  const [errorMessage, setErrorMessage] = React.useState<string>();
+ 
+  const handleChange = React.useCallback((e: Eventlike) => {
+    setFormFields({ ...formFields, [e.target.name]: e.target.value });
+  }, [formFields]);
+ 
+  const handleSubmit = React.useCallback(async (values: StorageTypeFormValues<false>) => {
+    const response = await addNewProviderItem(values);
+    if (response.status === 'success') {
+      onSuccess();
+    } else {
+      setHasErrored(true);
+      setErrorMessage(response?.errorMessage);
+    }
+  }, [addNewProviderItem, onSuccess]);
+ 
+  return (
+    <Modal title={t('editCredentials') as string} id="modal-edit-storage-item" isOpen={isOpen} close={onClose}>
+      <Stack direction="column" gap={4}>
+        <StorageItemForm
+          onChange={handleChange}
+          onSubmit={handleSubmit}
+          onCancel={onClose}
+          values={formFields}
+          hasErrored={hasErrored}
+          errorMessage={errorMessage}
+        />
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html new file mode 100644 index 000000000..c6c744d5f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/app/components/modals/ExportModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals ExportModal.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { ToggleGroup, Box, Stack } from '@tokens-studio/ui';
+import { ExportProviderType } from '@/constants/ExportProviderType';
+import Modal from '../Modal';
+import SingleFileExport from '../ExportProvider/SingleFileExport';
+import MultiFilesExport from '../ExportProvider/MultiFilesExport';
+ 
+type Props = {
+  onClose: () => void
+};
+ 
+export default function ExportModal({ onClose }: Props) {
+  const [exportMode, setExportMode] = React.useState<string>(ExportProviderType.MULTIPLE);
+ 
+  const handleModeChange = React.useCallback((mode: ExportProviderType.SINGLE | ExportProviderType.MULTIPLE) => {
+    if (mode) {
+      setExportMode(mode);
+    }
+  }, []);
+ 
+  return (
+    <Modal size="large" isOpen close={onClose} title="Export tokens">
+      <Stack gap={4} direction="column">
+        <Box>
+          <ToggleGroup type="single" value={exportMode} onValueChange={handleModeChange}>
+            <ToggleGroup.Item iconOnly={false} value={ExportProviderType.SINGLE}>Single file</ToggleGroup.Item>
+            <ToggleGroup.Item iconOnly={false} value={ExportProviderType.MULTIPLE}>Multiple files</ToggleGroup.Item>
+          </ToggleGroup>
+        </Box>
+        {
+          exportMode === ExportProviderType.SINGLE
+            ? <SingleFileExport onClose={onClose} />
+            : <MultiFilesExport onClose={onClose} />
+        }
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html new file mode 100644 index 000000000..b3b183dec --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/app/components/modals/PresetModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals PresetModal.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useState } from 'react';
+import { ToggleGroup, Box, Stack } from '@tokens-studio/ui';
+import Modal from '../Modal';
+import { LoadProviderType } from '@/constants/LoadProviderType';
+import DefaultPreset from '../PresetProvider/DefaultPreset';
+import FilePreset from '../PresetProvider/FilePreset';
+ 
+type Props = {
+  onClose: () => void
+};
+ 
+export default function PresetModal({ onClose }: Props) {
+  const [importMode, setImportMode] = useState<string>(LoadProviderType.FILE);
+ 
+  const handleValueChange = React.useCallback((provider: LoadProviderType) => {
+    if (provider) {
+      setImportMode(provider);
+    }
+  }, []);
+ 
+  return (
+    <Modal showClose isOpen close={onClose} title="Import">
+      <Stack direction="column" justify="center" gap={4}>
+        <Stack direction="column" gap={4}>
+          <Box>
+            <ToggleGroup type="single" value={importMode} onValueChange={handleValueChange}>
+              <ToggleGroup.Item iconOnly={false} value={LoadProviderType.FILE}>File or Folder</ToggleGroup.Item>
+              <ToggleGroup.Item iconOnly={false} value={LoadProviderType.PRESET}>Preset</ToggleGroup.Item>
+            </ToggleGroup>
+          </Box>
+          {
+            importMode === LoadProviderType.PRESET
+              ? <DefaultPreset onCancel={onClose} />
+              : <FilePreset onCancel={onClose} />
+          }
+        </Stack>
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html new file mode 100644 index 000000000..dbf70fb84 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/app/components/modals/RenameTokenGroupModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals RenameTokenGroupModal.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useMemo } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import { Button } from '@tokens-studio/ui';
+import { tokensSelector, activeTokenSetSelector } from '@/selectors';
+import { ErrorMessage } from '../ErrorMessage';
+import Modal from '../Modal';
+import Stack from '../Stack';
+import Input from '../Input';
+import Text from '../Text';
+import { StyledTokenButton, StyledTokenButtonText } from '../TokenButton/StyledTokenButton';
+import { validateRenameGroupName, ErrorType } from '@/utils/validateGroupName';
+ 
+type Props = {
+  isOpen: boolean
+  newName: string
+  oldName: string
+  onClose?: () => void;
+  handleRenameTokenGroupSubmit?: (e: React.FormEvent<HTMLFormElement>) => void
+  handleNewTokenGroupNameChange?: (e: React.ChangeEvent<HTMLInputElement>) => void
+  type: string
+};
+ 
+export default function RenameTokenGroupModal({
+  isOpen, newName, oldName, onClose, handleRenameTokenGroupSubmit, handleNewTokenGroupNameChange, type,
+}: Props) {
+  const tokens = useSelector(tokensSelector);
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const { t } = useTranslation(['tokens', 'general']);
+ 
+  const error = useMemo(() => {
+    if (newName === oldName || !isOpen) {
+      return null;
+    }
+ 
+    return validateRenameGroupName(tokens[activeTokenSet], type, oldName, newName);
+  }, [isOpen, activeTokenSet, newName, oldName, tokens, type]);
+ 
+  const canRename = !(newName === oldName || error);
+ 
+  return (
+    <Modal
+      title={`${t('rename')} ${oldName}`}
+      isOpen={isOpen}
+      close={onClose}
+      footer={(
+        <form id="renameTokenGroup" onSubmit={handleRenameTokenGroupSubmit}>
+          <Stack direction="row" justify="end" gap={4}>
+            <Button variant="secondary" onClick={onClose}>
+              {t('cancel')}
+            </Button>
+            <Button type="submit" variant="primary" disabled={!canRename}>
+              {t('change')}
+            </Button>
+          </Stack>
+        </form>
+    )}
+    >
+      <Stack direction="column" gap={4}>
+        <Input
+          full
+          onChange={handleNewTokenGroupNameChange}
+          type="text"
+          value={newName}
+          autofocus
+          required
+        />
+        {!canRename && error && (
+          <ErrorMessage css={{ width: '100%', maxHeight: 150, overflow: 'scroll' }}>
+            {{
+              [ErrorType.EmptyGroupName]: t('duplicateGroupModal.errors.emptyGroupName'),
+              [ErrorType.OverlappingToken]: error.foundOverlappingTokens?.length > 0 && (
+                <>
+                  {t('renameGroupModal.errors.overlappingToken', {
+                    tokenSet: activeTokenSet,
+                  })}
+                  {error.foundOverlappingTokens?.map((t) => (
+                    <StyledTokenButton
+                      as="div"
+                      css={{
+                        display: 'inline-flex', borderRadius: '$small', margin: 0, marginLeft: '$2',
+                      }}
+                    >
+                      <StyledTokenButtonText key={t.name} css={{ wordBreak: 'break-word' }}><span>{t.name}</span></StyledTokenButtonText>
+                    </StyledTokenButton>
+                  ))}
+                </>
+              ),
+              [ErrorType.OverlappingGroup]: (
+                <>
+                  {t('renameGroupModal.errors.overlappingGroup', {
+                    groupName: newName,
+                    tokenSet: activeTokenSet,
+                  })}
+                  <Stack direction="row" wrap css={{ marginTop: '$2' }}>
+                    {error.possibleDuplicates?.map(({ name }) => (
+                      <StyledTokenButton as="div" css={{ borderRadius: '$small' }}>
+                        <StyledTokenButtonText css={{ wordBreak: 'break-word' }}><span>{name}</span></StyledTokenButtonText>
+                      </StyledTokenButton>
+                    ))}
+                  </Stack>
+                </>
+              ),
+            }[error.type]}
+          </ErrorMessage>
+        )}
+        <Text muted>{t('renameGroupModal.infoSameType')}</Text>
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html new file mode 100644 index 000000000..4f890c4b4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html @@ -0,0 +1,484 @@ + + + + + + Code coverage report for src/app/components/modals/ResolveDuplicateTokensModal.tsx + + + + + + + + + +
+
+

All files / src/app/components/modals ResolveDuplicateTokensModal.tsx

+
+ +
+ 0% + Statements + 0/44 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback, useMemo, useState } from 'react';
+import { useSelector } from 'react-redux';
+import { useTranslation } from 'react-i18next';
+import {
+  Button, Stack, Text,
+} from '@tokens-studio/ui';
+import Modal from '../Modal';
+import { tokensSelector } from '@/selectors';
+import ResolveDuplicateTokenGroup from '../DuplicateResolver/ResolveDuplicateTokenGroup';
+import { SingleToken } from '@/types/tokens';
+import useManageTokens from '@/app/store/useManageTokens';
+import { track } from '@/utils/analytics';
+ 
+type Props = {
+  isOpen: boolean;
+  onClose: () => void;
+};
+ 
+export default function ResolveDuplicateTokensModal({
+  isOpen, onClose,
+}: Props) {
+  const tokens = useSelector(tokensSelector);
+  const { deleteDuplicates } = useManageTokens();
+  const { t } = useTranslation(['tokens']);
+  const [selectedTokens, setSelectedTokens] = useState<{ [setName: string]: { [tokenName: string]: number } }>(Object.keys(tokens).reduce((acc, setName) => {
+    acc[setName] = {};
+    return acc;
+  }, {}));
+ 
+  const { duplicateTokens, duplicateTokensToDelete } = useMemo<{
+    duplicateTokens: { [key: string]: { [key: string]: SingleToken[] } },
+    duplicateTokensToDelete: { [key: string]: { [tokenName: string]: number } }
+  }>(() => {
+    const duplicateTokensObj = Object.keys(tokens).reduce((acc, setName) => {
+      const currentSetTokens = tokens[setName];
+      const duplicatesByName = currentSetTokens.reduce((acc2, token) => {
+        const allTokensWithName = currentSetTokens.filter((a) => a.name === token.name);
+        if (allTokensWithName.length > 1) {
+          acc2[token.name] = allTokensWithName.map((duplicateToken, i) => ({
+            ...duplicateToken,
+            selected: i === Number(selectedTokens?.[setName]?.[token.name] || 0),
+          }));
+        }
+ 
+        return acc2;
+      }, {});
+ 
+      acc[setName] = duplicatesByName;
+      return acc;
+    }, {});
+ 
+    const toDelete = Object.keys(duplicateTokensObj).reduce((acc, setName): { [key: string]: { [key: string]: number } } => {
+      const tokensForSet = duplicateTokensObj[setName];
+ 
+      const mappedDuplicateTokens = Object.keys(tokensForSet).reduce<{ [key: string]: number }>((acc2, tokenName) => {
+        acc2[tokenName] = tokensForSet[tokenName].findIndex((val) => val.selected) as number;
+        return acc2;
+      }, {});
+ 
+      acc[setName] = mappedDuplicateTokens;
+      return acc;
+    }, {} as { [key: string]: { [key: string]: number } });
+    return { duplicateTokensToDelete: toDelete, duplicateTokens: duplicateTokensObj };
+  }, [tokens, selectedTokens]);
+ 
+  const onRadioClick = useCallback((value) => {
+    const [setName, tokenName, index] = value.split(':');
+    setSelectedTokens({
+      ...selectedTokens,
+      [setName]: {
+        ...selectedTokens[setName],
+        [tokenName]: index,
+      },
+    });
+  }, [setSelectedTokens, selectedTokens]);
+ 
+  const handleDuplicateTokenGroupSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    const listToDel: { set: string, path: string, index: number }[] = [];
+    Object.entries(duplicateTokensToDelete).forEach(([set, duplicates]) => {
+      Object.keys(duplicates)?.forEach((duplicateName) => {
+        const index = duplicates[duplicateName];
+        listToDel.push({ set, path: duplicateName, index });
+      });
+    });
+    track('Duplicate tokens removed', { count: listToDel.length });
+    await deleteDuplicates(listToDel);
+    onClose();
+  }, [duplicateTokensToDelete, onClose, deleteDuplicates]);
+ 
+  const canResolve = true; // Placeholder incase some error validation is needed
+ 
+  return (
+    <Modal
+      title={t('resolveDuplicateTokensModal.title')}
+      isOpen={isOpen}
+      close={onClose}
+      showClose
+      size="large"
+      footer={(
+        <form id="resolveDuplicateTokenGroup" onSubmit={handleDuplicateTokenGroupSubmit}>
+          <Stack direction="row" justify="end" gap={4}>
+            <Button variant="secondary" onClick={onClose}>
+              {t('cancel')}
+            </Button>
+            <Button type="submit" variant="primary" disabled={!canResolve}>
+              {t('resolveDuplicateTokensModal.submit')}
+            </Button>
+          </Stack>
+        </form>
+    )}
+    >
+      <Stack direction="column" justify="center" align="start" gap={4}>
+        <Text css={{ marginBottom: '$4' }}>
+          {t('resolveDuplicateTokensModal.description')}
+        </Text>
+        {Object.entries(duplicateTokens).map(([setName, allTokens]) => ((Object.keys(allTokens).length > 0) ? (
+          <Stack direction="column" key={`duplicateTokens-${setName}`}>
+            <Text bold css={{ fontSize: '$large', marginBottom: '$5' }}>{setName}</Text>
+            {Object.entries(allTokens).map(([tokenName, duplicates]) => (
+              <ResolveDuplicateTokenGroup
+                group={[tokenName, duplicates]}
+                setName={setName}
+                onRadioClick={onRadioClick}
+                selectedTokens={selectedTokens}
+              />
+            ))}
+          </Stack>
+        ) : null))}
+      </Stack>
+    </Modal>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html new file mode 100644 index 000000000..2e5a21483 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html @@ -0,0 +1,236 @@ + + + + + + Code coverage report for src/app/components/modals + + + + + + + + + +
+
+

All files src/app/components/modals

+
+ +
+ 0% + Statements + 0/178 +
+ + +
+ 0% + Branches + 0/74 +
+ + +
+ 0% + Functions + 0/56 +
+ + +
+ 0% + Lines + 0/173 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
BulkRemapModal.tsx +
+
0%0/170%0/20%0/60%0/17
CreateBranchModal.tsx +
+
0%0/320%0/220%0/70%0/30
CreateStorageItemModal.tsx +
+
0%0/220%0/40%0/60%0/22
DuplicateTokenGroupModal.tsx +
+
0%0/280%0/190%0/100%0/28
EditStorageItemModal.tsx +
+
0%0/140%0/20%0/30%0/14
ExportModal.tsx +
+
0%0/50%0/40%0/20%0/5
PresetModal.tsx +
+
0%0/50%0/40%0/20%0/5
RenameTokenGroupModal.tsx +
+
0%0/110%0/110%0/40%0/11
ResolveDuplicateTokensModal.tsx +
+
0%0/440%0/60%0/160%0/41
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html new file mode 100644 index 000000000..d49a071e1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/app/components/use-raised-shadow.ts + + + + + + + + + +
+
+

All files / src/app/components use-raised-shadow.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { animate, MotionValue, useMotionValue } from 'framer-motion';
+import { useEffect } from 'react';
+ 
+const inactiveShadow = '0px 0px 0px rgba(0,0,0,0.8)';
+ 
+export function useRaisedShadow(value: MotionValue<number>) {
+  const boxShadow = useMotionValue(inactiveShadow);
+ 
+  useEffect(() => {
+    let isActive = false;
+    value.onChange((latest) => {
+      const wasActive = isActive;
+      if (latest !== 0) {
+        isActive = true;
+        if (isActive !== wasActive) {
+          animate(boxShadow, '5px 5px 10px rgba(0,0,0,0.3)');
+        }
+      } else {
+        isActive = false;
+        if (isActive !== wasActive) {
+          animate(boxShadow, inactiveShadow);
+        }
+      }
+    });
+  }, [value, boxShadow]);
+ 
+  return boxShadow;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html new file mode 100644 index 000000000..70e4e8f6a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/app/components/useMinimizeWindow.tsx + + + + + + + + + +
+
+

All files / src/app/components useMinimizeWindow.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { Dispatch } from '../store';
+ 
+import { windowSizeSelector } from '@/selectors';
+ 
+const useMinimizeWindow = () => {
+  const dispatch = useDispatch<Dispatch>();
+  const windowSize = useSelector(windowSizeSelector);
+  const [isPluginminimized, setIsPluginminimized] = React.useState(false);
+ 
+  const handleResize = React.useCallback(() => {
+    if (windowSize) {
+      dispatch.settings.setMinimizePluginWindow({
+        width: windowSize.width,
+        height: windowSize.height,
+        isMinimized: !windowSize.isMinimized,
+      });
+    }
+  }, [dispatch, windowSize]);
+ 
+  React.useEffect(() => {
+    if (windowSize) setIsPluginminimized(windowSize.isMinimized);
+  }, [windowSize]);
+ 
+  return {
+    isPluginminimized,
+    handleResize,
+  };
+};
+ 
+export default useMinimizeWindow;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html new file mode 100644 index 000000000..05f2e31c0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts + + + + + + + + + +
+
+

All files / src/app/enhancers/undoableEnhancer UndoableEnhancerState.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import EventEmitter from 'eventemitter3';
+import type { AnyAction } from '@/types/redux';
+ 
+type EventTypes = 'actionsHistoryChanged' | 'actionsHistoryPointerChanged';
+ 
+type UndoableAction<S = any> = {
+  action: AnyAction<true>;
+  snapshot: S;
+};
+ 
+type UndoableEnhancerStateType = {
+  $e: EventEmitter<EventTypes>;
+  // @README this index will be pointing to the last registered action (back to front)
+  // when undoing an action this number will increase -- undoing the previous action
+  // when redoing an action this number will decrease -- redoing the action it is currently pointing at
+  actionsHistoryPointer: number;
+  actionsHistory: UndoableAction[];
+  undo: () => number;
+  redo: () => number;
+  push: (...args: UndoableAction[]) => UndoableAction[];
+};
+ 
+export const UndoableEnhancerState: UndoableEnhancerStateType = {
+  $e: new EventEmitter<EventTypes>(),
+  actionsHistoryPointer: 0,
+  actionsHistory: [],
+  push: (...args) => {
+    UndoableEnhancerState.actionsHistory = [
+      ...UndoableEnhancerState.actionsHistory.slice(0, UndoableEnhancerState.actionsHistory.length - UndoableEnhancerState.actionsHistoryPointer),
+      ...args,
+    ];
+    UndoableEnhancerState.actionsHistoryPointer = 0;
+    UndoableEnhancerState.$e.emit('actionsHistoryChanged', UndoableEnhancerState.actionsHistory);
+    return UndoableEnhancerState.actionsHistory;
+  },
+  undo: () => {
+    const nextIndex = Math.min(
+      UndoableEnhancerState.actionsHistory.length,
+      UndoableEnhancerState.actionsHistoryPointer + 1,
+    );
+    if (nextIndex !== UndoableEnhancerState.actionsHistoryPointer) {
+      const previousIndex = UndoableEnhancerState.actionsHistoryPointer;
+      UndoableEnhancerState.actionsHistoryPointer = nextIndex;
+      UndoableEnhancerState.$e.emit('actionsHistoryPointerChanged', previousIndex, nextIndex);
+    }
+    return UndoableEnhancerState.actionsHistoryPointer;
+  },
+  redo: () => {
+    const nextIndex = Math.max(0, UndoableEnhancerState.actionsHistoryPointer - 1);
+    if (nextIndex !== UndoableEnhancerState.actionsHistoryPointer) {
+      UndoableEnhancerState.actionsHistoryPointer = nextIndex;
+      UndoableEnhancerState.$e.emit('actionsHistoryPointerChanged', UndoableEnhancerState.actionsHistoryPointer);
+    }
+    return UndoableEnhancerState.actionsHistoryPointer;
+  },
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html new file mode 100644 index 000000000..d662dc7df --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/app/enhancers/undoableEnhancer + + + + + + + + + +
+
+

All files src/app/enhancers/undoableEnhancer

+
+ +
+ 0% + Statements + 0/50 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/19 +
+ + +
+ 0% + Lines + 0/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
UndoableEnhancerState.ts +
+
0%0/160%0/40%0/30%0/16
index.ts +
+
0%0/00%0/00%0/00%0/0
undoableActionDefinitions.ts +
+
0%0/120%0/40%0/100%0/12
undoableEnhancer.ts +
+
0%0/220%0/140%0/60%0/20
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html new file mode 100644 index 000000000..ea6deba1d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/enhancers/undoableEnhancer/index.ts + + + + + + + + + +
+
+

All files / src/app/enhancers/undoableEnhancer index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export { undoableEnhancer } from './undoableEnhancer';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html new file mode 100644 index 000000000..3a0dcbc9e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html @@ -0,0 +1,355 @@ + + + + + + Code coverage report for src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts + + + + + + + + + +
+
+

All files / src/app/enhancers/undoableEnhancer undoableActionDefinitions.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/10 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { Dispatch } from 'redux';
+import type { AnyAction } from '@/types/redux';
+import type { RootState } from '@/app/store';
+import { SingleToken } from '@/types/tokens';
+import { UpdateTokenPayload } from '@/types/payloads';
+ 
+// @TODO improve dispatch typing
+type Effect<S = any, A extends AnyAction<true> = AnyAction<true>> = (dispatch: Dispatch<AnyAction<true>>, action: A, snapshot: S) => void;
+type UndoableActionDefinition<S = any, A extends AnyAction<true> = AnyAction<true>> = {
+  type: A['type'];
+  undo: Effect<S, A>;
+  redo: Effect<S, A>;
+  getStateSnapshot: (action: A, state?: RootState) => S;
+};
+ 
+export const undoableActionDefinitions = [
+  {
+    type: 'tokenState/deleteToken',
+    getStateSnapshot: ({ payload }, state) => (
+      state?.tokenState.tokens[payload.parent].find((token) => (
+        token.name === payload.path
+      )) ?? null
+    ),
+    redo: (dispatch, action) => {
+      dispatch({
+        type: 'tokenState/deleteToken',
+        payload: action.payload,
+        meta: { silent: true },
+      });
+    },
+    undo: (dispatch, action, snapshot) => {
+      if (snapshot) {
+        dispatch({
+          type: 'tokenState/createToken',
+          payload: {
+            name: action.payload.path,
+            parent: action.payload.parent,
+            value: snapshot.value,
+            shouldUpdate: true,
+            type: snapshot.type,
+            description: snapshot.description,
+          } as UpdateTokenPayload,
+          meta: { silent: true },
+        });
+      }
+    },
+  } as UndoableActionDefinition<SingleToken | null, AnyAction<true> & {
+    type: 'tokenState/deleteToken'
+  }>,
+  {
+    type: 'tokenState/createToken',
+    getStateSnapshot: () => null,
+    redo: (dispatch, action) => {
+      dispatch({
+        type: 'tokenState/createToken',
+        payload: action.payload,
+        meta: { silent: true },
+      });
+    },
+    undo: (dispatch, { payload }) => {
+      dispatch({
+        type: 'tokenState/deleteToken',
+        payload: { parent: payload.parent, path: payload.name },
+        meta: { silent: true },
+      });
+    },
+  } as UndoableActionDefinition<null, AnyAction<true> & {
+    type: 'tokenState/createToken'
+  }>,
+  {
+    type: 'tokenState/duplicateToken',
+    getStateSnapshot: () => null,
+    redo: (dispatch, action) => {
+      dispatch({
+        type: 'tokenState/duplicateToken',
+        payload: action.payload,
+        meta: { silent: true },
+      });
+    },
+    undo: (dispatch, { payload }) => {
+      dispatch({
+        type: 'tokenState/deleteToken',
+        payload: { parent: payload.parent, path: payload.newName },
+        meta: { silent: true },
+      });
+    },
+  } as UndoableActionDefinition<null, AnyAction<true> & {
+    type: 'tokenState/duplicateToken'
+  }>,
+] as UndoableActionDefinition[];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html new file mode 100644 index 000000000..e943951ef --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/app/enhancers/undoableEnhancer/undoableEnhancer.ts + + + + + + + + + +
+
+

All files / src/app/enhancers/undoableEnhancer undoableEnhancer.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type {
+  Reducer, StoreEnhancerStoreCreator, PreloadedState, StoreEnhancer,
+} from 'redux';
+import type { AnyAction } from '@/types/redux';
+import type { RootState } from '../../store';
+import { undoableActionDefinitions } from './undoableActionDefinitions';
+import { UndoableEnhancerState } from './UndoableEnhancerState';
+ 
+type StoreCreator = StoreEnhancerStoreCreator<RootState, AnyAction<true>>;
+type AppReducer = Reducer<RootState, AnyAction<true>>;
+type AppPreloadedState = PreloadedState<RootState>;
+ 
+export const undoableEnhancer = ((next: StoreCreator) => (reducer: AppReducer, preloadedState?: AppPreloadedState) => {
+  const undoableEnhancerReducer: AppReducer = (state, action) => {
+    const undoableAction = undoableActionDefinitions.find((def) => def.type === action.type);
+    if (!('meta' in action && action.meta?.silent) && undoableAction) {
+      type ActionType = Parameters<typeof undoableAction['getStateSnapshot']>[0];
+      const snapshot = undoableAction.getStateSnapshot(action as ActionType, state);
+      UndoableEnhancerState.push({ action, snapshot });
+    }
+    const nextState = reducer(state, action);
+    return nextState;
+  };
+  const store = next(undoableEnhancerReducer, preloadedState);
+ 
+  UndoableEnhancerState.$e.on('actionsHistoryPointerChanged', (previousIndex: number, nextIndex: number) => {
+    const didUndo = nextIndex > previousIndex;
+    const actionIndex = didUndo
+      ? UndoableEnhancerState.actionsHistory.length - previousIndex - 1
+      : UndoableEnhancerState.actionsHistory.length - nextIndex - 1;
+    const actionToPerform = UndoableEnhancerState.actionsHistory[actionIndex];
+    if (actionToPerform) {
+      const actionDefinition = undoableActionDefinitions.find((def) => (
+        def.type === actionToPerform.action.type
+      ));
+      if (actionDefinition) {
+        const handler = didUndo ? actionDefinition.undo : actionDefinition.redo;
+        handler(store.dispatch, actionToPerform.action, actionToPerform.snapshot);
+      }
+    }
+  });
+ 
+  return store;
+}) as unknown as StoreEnhancer;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html new file mode 100644 index 000000000..53fcced5b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html @@ -0,0 +1,281 @@ + + + + + + Code coverage report for src/app/hooks + + + + + + + + + +
+
+

All files src/app/hooks

+
+ +
+ 0% + Statements + 0/167 +
+ + +
+ 0% + Branches + 0/76 +
+ + +
+ 0% + Functions + 0/49 +
+ + +
+ 0% + Lines + 0/164 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
useActionsHistory.ts +
+
0%0/7100%0/00%0/40%0/7
useCanUndo.ts +
+
0%0/90%0/20%0/40%0/9
useConfirm.tsx +
+
0%0/180%0/40%0/80%0/17
useImportVariables.tsx +
+
0%0/21100%0/00%0/40%0/21
useIsGitMultiFileEnabled.ts +
+
0%0/30%0/50%0/20%0/3
useIsProUser.ts +
+
0%0/50%0/40%0/20%0/5
usePropertiesForType.ts +
+
0%0/380%0/250%0/30%0/38
usePullDialog.tsx +
+
0%0/190%0/20%0/80%0/18
usePushDialog.tsx +
+
0%0/190%0/20%0/80%0/18
useReferenceTokenType.ts +
+
0%0/120%0/100%0/20%0/12
useStorageSizeWarning.tsx +
+
0%0/80%0/20%0/20%0/8
useTypeForProperty.ts +
+
0%0/80%0/200%0/20%0/8
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html new file mode 100644 index 000000000..8d39ba948 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/hooks/useActionsHistory.ts + + + + + + + + + +
+
+

All files / src/app/hooks useActionsHistory.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useCallback, useEffect, useState } from 'react';
+import { UndoableEnhancerState } from '../enhancers/undoableEnhancer/UndoableEnhancerState';
+ 
+export function useActionsHistory() {
+  const [actionsHistory, setActionsHistory] = useState(UndoableEnhancerState.actionsHistory);
+ 
+  const updateActionsHistory = useCallback(() => {
+    // use this to wait for the current stack to clear
+    // so we don't trigger the useSelector hooks whilst the previous reducer
+    // is still running
+    setTimeout(() => {
+      setActionsHistory(UndoableEnhancerState.actionsHistory);
+    }, 0);
+  }, []);
+ 
+  useEffect(() => {
+    UndoableEnhancerState.$e.on('actionsHistoryChanged', updateActionsHistory);
+  }, [updateActionsHistory]);
+ 
+  return actionsHistory;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html new file mode 100644 index 000000000..796fced38 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/app/hooks/useCanUndo.ts + + + + + + + + + +
+
+

All files / src/app/hooks useCanUndo.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useCallback, useEffect, useState } from 'react';
+import { UndoableEnhancerState } from '../enhancers/undoableEnhancer/UndoableEnhancerState';
+ 
+export function useCanUndo() {
+  const [canUndo, setCanUndo] = useState(false);
+ 
+  const updateCanUndo = useCallback(() => {
+    // use this to wait for the current stack to clear
+    // so we don't trigger the useSelector hooks whilst the previous reducer
+    // is still running
+    setTimeout(() => {
+      const nextCanUndo = (
+        UndoableEnhancerState.actionsHistory.length > 0
+        && UndoableEnhancerState.actionsHistoryPointer < UndoableEnhancerState.actionsHistory.length
+      );
+      setCanUndo(nextCanUndo);
+    }, 0);
+  }, []);
+ 
+  useEffect(() => {
+    UndoableEnhancerState.$e.on('actionsHistoryChanged', updateCanUndo);
+    UndoableEnhancerState.$e.on('actionsHistoryPointerChanged', updateCanUndo);
+  }, [updateCanUndo]);
+ 
+  return canUndo;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html new file mode 100644 index 000000000..70c54c69c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for src/app/hooks/useConfirm.tsx + + + + + + + + + +
+
+

All files / src/app/hooks useConfirm.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import {
+  useCallback, useMemo,
+} from 'react';
+import { Dispatch } from '../store';
+import { ConfirmProps } from '../store/models/uiState';
+import { confirmStateSelector } from '@/selectors';
+ 
+export type ResolveCallbackPayload<C = any> = false | {
+  result: true;
+  data: C;
+};
+ 
+let resolveCallback: (payload: ResolveCallbackPayload<any>) => void = () => {};
+ 
+function useConfirm<C = any>() {
+  const confirmState = useSelector(confirmStateSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const confirm = useCallback((opts: ConfirmProps) => {
+    const {
+      text,
+      description,
+      confirmAction,
+      cancelAction,
+      choices,
+      input,
+      variant,
+      formId,
+    } = opts;
+ 
+    dispatch.uiState.setShowConfirm({
+      input,
+      description,
+      confirmAction,
+      cancelAction,
+      text: text ?? '',
+      choices: choices ?? [],
+      variant,
+      formId,
+    });
+ 
+    return new Promise<ResolveCallbackPayload<C>>((res) => {
+      resolveCallback = res;
+    });
+  }, [dispatch.uiState]);
+ 
+  const closeConfirm = useCallback(() => {
+    dispatch.uiState.setHideConfirm();
+  }, [dispatch.uiState]);
+ 
+  const onCancel = useCallback(() => {
+    resolveCallback(false);
+    closeConfirm();
+  }, [closeConfirm]);
+ 
+  const onConfirm = useCallback((data: C) => {
+    resolveCallback({ result: true, data });
+    closeConfirm();
+  }, [closeConfirm]);
+ 
+  return useMemo(() => ({
+    confirm, onConfirm, onCancel, confirmState,
+  }), [confirm, onConfirm, onCancel, confirmState]);
+}
+ 
+export default useConfirm;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html new file mode 100644 index 000000000..a55687c4f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/app/hooks/useImportVariables.tsx + + + + + + + + + +
+
+

All files / src/app/hooks useImportVariables.tsx

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useState, useCallback } from 'react';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection';
+import { ThemeObjectsList } from '@/types/ThemeObjectsList';
+ 
+export function useImportVariables() {
+  const [isDialogOpen, setIsDialogOpen] = useState(false);
+  const [collections, setCollections] = useState<VariableCollectionInfo[]>([]);
+  const [isLoading, setIsLoading] = useState(false);
+ 
+  const openDialog = useCallback(async () => {
+    setIsLoading(true);
+    try {
+      // Fetch available collections first
+      const response = await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS,
+      });
+      
+      setCollections(response.collections);
+      setIsDialogOpen(true);
+    } catch (error) {
+      console.error('Error fetching variable collections:', error);
+      setCollections([]);
+    } finally {
+      setIsLoading(false);
+    }
+  }, []);
+ 
+  const closeDialog = useCallback(() => {
+    setIsDialogOpen(false);
+    setCollections([]);
+  }, []);
+ 
+  const importVariables = useCallback(async (
+    selectedCollections: SelectedCollections,
+    options: { useDimensions: boolean; useRem: boolean },
+    themes: ThemeObjectsList,
+    proUser: boolean
+  ) => {
+    try {
+      await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.PULL_VARIABLES,
+        options: {
+          useDimensions: options.useDimensions,
+          useRem: options.useRem,
+          selectedCollections,
+        },
+        themes,
+        proUser,
+      });
+      closeDialog();
+    } catch (error) {
+      console.error('Error importing variables:', error);
+    }
+  }, [closeDialog]);
+ 
+  return {
+    isDialogOpen,
+    collections,
+    isLoading,
+    openDialog,
+    closeDialog,
+    importVariables,
+  };
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html new file mode 100644 index 000000000..e30e95f34 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/app/hooks/useIsGitMultiFileEnabled.ts + + + + + + + + + +
+
+

All files / src/app/hooks useIsGitMultiFileEnabled.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useSelector } from 'react-redux';
+import { useMemo } from 'react';
+import { apiSelector } from '@/selectors';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export function useIsGitMultiFileEnabled() {
+  const api = useSelector(apiSelector);
+ 
+  return useMemo(
+    () => Boolean((api?.provider === StorageProviderType.GITHUB
+            || api?.provider === StorageProviderType.GITLAB
+            || api?.provider === StorageProviderType.ADO
+            || api?.provider === StorageProviderType.BITBUCKET)
+          && !api?.filePath?.endsWith('.json')),
+    [api],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html new file mode 100644 index 000000000..7886452c1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/app/hooks/useIsProUser.ts + + + + + + + + + +
+
+

All files / src/app/hooks useIsProUser.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useSelector } from 'react-redux';
+import { useMemo } from 'react';
+import { licenseKeySelector } from '@/selectors/licenseKeySelector';
+import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
+import { tokensStudioPATSelector } from '@/selectors/tokensStudioPATSelector';
+ 
+export function useIsProUser() {
+  const existingKey = useSelector(licenseKeySelector);
+  const licenseKeyError = useSelector(licenseKeyErrorSelector);
+  const validPAT = useSelector(tokensStudioPATSelector);
+ 
+  return useMemo(() => (
+    Boolean(existingKey && !licenseKeyError) || Boolean(validPAT)
+  ), [existingKey, licenseKeyError, validPAT]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html new file mode 100644 index 000000000..226474a8e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html @@ -0,0 +1,820 @@ + + + + + + Code coverage report for src/app/hooks/usePropertiesForType.ts + + + + + + + + + +
+
+

All files / src/app/hooks usePropertiesForType.ts

+
+ +
+ 0% + Statements + 0/38 +
+ + +
+ 0% + Branches + 0/25 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useMemo } from 'react';
+import { Properties } from '@/constants/Properties';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { PropertyObject } from '@/types/properties';
+import { isPropertyType } from '@/utils/is';
+import { SingleToken } from '@/types/tokens';
+ 
+const spacingProperties = (value?: SingleToken['value']) => {
+  const isMultiValue = typeof value === 'string' && value.split(' ').length > 1;
+  const gapIndex = isMultiValue ? 1 : 0;
+  const properties = [
+    {
+      label: 'All',
+      name: Properties.spacing,
+      clear: [
+        Properties.counterAxisSpacing,
+        Properties.horizontalPadding,
+        Properties.verticalPadding,
+        Properties.paddingLeft,
+        Properties.paddingRight,
+        Properties.paddingTop,
+        Properties.paddingBottom,
+      ],
+    },
+    {
+      label: 'Horizontal padding',
+      name: Properties.horizontalPadding,
+      clear: [
+        Properties.paddingLeft,
+        Properties.paddingRight,
+      ],
+      disabled: isMultiValue,
+    },
+    {
+      label: 'Vertical padding',
+      name: Properties.verticalPadding,
+      clear: [
+        Properties.paddingTop,
+        Properties.paddingBottom,
+      ],
+      disabled: isMultiValue,
+    },
+    { label: 'Row gap', name: Properties.counterAxisSpacing, disabled: isMultiValue },
+    { label: 'Top', name: Properties.paddingTop, disabled: isMultiValue },
+    { label: 'Right', name: Properties.paddingRight, disabled: isMultiValue },
+    { label: 'Bottom', name: Properties.paddingBottom, disabled: isMultiValue },
+    { label: 'Left', name: Properties.paddingLeft, disabled: isMultiValue },
+  ];
+ 
+  properties.splice(gapIndex, 0, { label: 'Gap', name: Properties.itemSpacing, disabled: isMultiValue });
+  return properties;
+};
+ 
+const sizingProperties = [{
+  label: 'All',
+  name: Properties.sizing,
+  clear: [Properties.width, Properties.height],
+},
+{ label: 'Width', name: Properties.width },
+{ label: 'Height', name: Properties.height },
+{ label: 'Min width', name: Properties.minWidth },
+{ label: 'Max width', name: Properties.maxWidth },
+{ label: 'Min height', name: Properties.minHeight },
+{ label: 'Max height', name: Properties.maxHeight }];
+ 
+export function usePropertiesForTokenType(type: TokenTypes, value?: SingleToken['value']): PropertyObject[] {
+  let disabled = false;
+  if ((type === TokenTypes.BORDER_RADIUS || type === TokenTypes.SPACING) && typeof value === 'string') {
+    disabled = value.split(' ').length > 1;
+  }
+  return useMemo(() => {
+    const properties: PropertyObject[] = [];
+    switch (type) {
+      case TokenTypes.BORDER_RADIUS:
+        properties.push(
+          {
+            label: 'All',
+            name: Properties.borderRadius,
+            clear: [
+              Properties.borderRadiusTopLeft,
+              Properties.borderRadiusTopRight,
+              Properties.borderRadiusBottomRight,
+              Properties.borderRadiusBottomLeft,
+            ],
+          },
+          { label: 'Top Left', name: Properties.borderRadiusTopLeft, disabled },
+          { label: 'Top Right', name: Properties.borderRadiusTopRight, disabled },
+          { label: 'Bottom Right', name: Properties.borderRadiusBottomRight, disabled },
+          { label: 'Bottom Left', name: Properties.borderRadiusBottomLeft, disabled },
+        );
+        break;
+      case TokenTypes.BORDER:
+        properties.push(
+          {
+            label: 'All',
+            name: Properties.border,
+            clear: [
+              Properties.borderTop,
+              Properties.borderRight,
+              Properties.borderBottom,
+              Properties.borderLeft,
+            ],
+          },
+          { label: 'Top', name: Properties.borderTop, disabled },
+          { label: 'Right', name: Properties.borderRight, disabled },
+          { label: 'Bottom', name: Properties.borderBottom, disabled },
+          { label: 'Left', name: Properties.borderLeft, disabled },
+        );
+        break;
+      case TokenTypes.BORDER_WIDTH:
+        properties.push(
+          {
+            label: 'All',
+            name: Properties.borderWidth,
+            clear: [
+              Properties.borderWidthTop,
+              Properties.borderWidthRight,
+              Properties.borderWidthBottom,
+              Properties.borderWidthLeft,
+            ],
+          },
+          { label: 'Top', name: Properties.borderWidthTop },
+          { label: 'Right', name: Properties.borderWidthRight },
+          { label: 'Bottom', name: Properties.borderWidthBottom },
+          { label: 'Left', name: Properties.borderWidthLeft },
+        );
+        break;
+      case TokenTypes.SPACING:
+        properties.push(...spacingProperties(value));
+        break;
+      case TokenTypes.SIZING:
+        properties.push(...sizingProperties);
+        break;
+      case TokenTypes.COLOR:
+        properties.push(
+          {
+            label: 'Fill',
+            name: Properties.fill,
+          },
+          {
+            label: 'Border',
+            name: Properties.borderColor,
+          },
+        );
+        break;
+      case TokenTypes.DIMENSION:
+      case TokenTypes.NUMBER:
+        if (type === TokenTypes.DIMENSION) {
+          properties.push({
+            name: Properties.dimension,
+            invisible: true,
+          });
+        } else {
+          properties.push({
+            name: Properties.number,
+            invisible: true,
+          });
+        }
+        properties.push(
+          {
+            label: 'Spacing',
+            name: Properties.spacing,
+            childProperties: [
+              ...spacingProperties(value),
+            ],
+          },
+          {
+            label: 'Sizing',
+            name: Properties.sizing,
+            childProperties: [
+              ...sizingProperties,
+            ],
+          },
+          {
+            label: 'Border radius',
+            name: Properties.borderRadius,
+            childProperties: [
+              {
+                label: 'All',
+                name: Properties.borderRadius,
+                clear: [
+                  Properties.borderRadiusTopLeft,
+                  Properties.borderRadiusTopRight,
+                  Properties.borderRadiusBottomRight,
+                  Properties.borderRadiusBottomLeft,
+                ],
+              },
+              { label: 'Top Left', name: Properties.borderRadiusTopLeft },
+              { label: 'Top Right', name: Properties.borderRadiusTopRight },
+              { label: 'Bottom Right', name: Properties.borderRadiusBottomRight },
+              { label: 'Bottom Left', name: Properties.borderRadiusBottomLeft },
+            ],
+          },
+          {
+            label: 'Border width',
+            name: Properties.borderWidth,
+            childProperties: [
+              {
+                label: 'All',
+                name: Properties.borderWidth,
+                clear: [
+                  Properties.borderWidthTop,
+                  Properties.borderWidthRight,
+                  Properties.borderWidthBottom,
+                  Properties.borderWidthLeft,
+                ],
+              },
+              { label: 'Top', name: Properties.borderWidthTop },
+              { label: 'Right', name: Properties.borderWidthRight },
+              { label: 'Bottom', name: Properties.borderWidthBottom },
+              { label: 'Left', name: Properties.borderWidthLeft },
+            ],
+          },
+          {
+            label: 'Background blur',
+            name: Properties.backgroundBlur,
+          },
+          { label: 'x', name: Properties.x },
+          { label: 'y', name: Properties.y },
+        );
+ 
+        if (type === TokenTypes.NUMBER) {
+          properties.push({
+            label: 'Rotation',
+            name: Properties.rotation,
+          });
+        }
+        break;
+      case TokenTypes.BOOLEAN:
+        properties.push(
+          { label: 'Visibility', name: Properties.visibility },
+        );
+        break;
+      default:
+        if (isPropertyType(type)) {
+          properties.push({
+            name: type,
+            label: type,
+          });
+        }
+        break;
+    }
+    return properties;
+  }, [disabled, type, value]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html new file mode 100644 index 000000000..112363d3b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/app/hooks/usePullDialog.tsx + + + + + + + + + +
+
+

All files / src/app/hooks usePullDialog.tsx

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { showPullDialogSelector } from '@/selectors';
+import { Dispatch } from '../store';
+ 
+export type PullDialogPromiseResult = boolean;
+ 
+export type UseDialogResult = {
+  pullDialogMode?: string | boolean
+  closePullDialog: () => void
+  showPullDialog: (givenState?: string) => Promise<PullDialogPromiseResult | null>
+  onConfirm: () => void
+  onCancel: () => void
+};
+ 
+let resolveCallback: (result: PullDialogPromiseResult | null) => void = () => {};
+function usePullDialog(): UseDialogResult {
+  const pullDialogMode = useSelector(showPullDialogSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const showPullDialog: UseDialogResult['showPullDialog'] = useCallback((givenState) => {
+    if (givenState) {
+      dispatch.uiState.setShowPullDialog(givenState);
+    } else {
+      dispatch.uiState.setShowPullDialog('initial');
+    }
+    return new Promise<PullDialogPromiseResult | null>((res) => {
+      resolveCallback = res;
+    });
+  }, [dispatch]);
+ 
+  const closePullDialog = useCallback(() => {
+    dispatch.uiState.setShowPullDialog(false);
+  }, [dispatch]);
+ 
+  const onCancel = useCallback(() => {
+    closePullDialog();
+    resolveCallback(false);
+  }, [closePullDialog]);
+ 
+  const onConfirm = useCallback(() => {
+    closePullDialog();
+    resolveCallback(true);
+  }, [closePullDialog]);
+ 
+  return useMemo(() => ({
+    showPullDialog, onConfirm, onCancel, pullDialogMode, closePullDialog,
+  }), [showPullDialog, onConfirm, onCancel, closePullDialog, pullDialogMode]);
+}
+ 
+export default usePullDialog;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html new file mode 100644 index 000000000..e83c1bf00 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/app/hooks/usePushDialog.tsx + + + + + + + + + +
+
+

All files / src/app/hooks usePushDialog.tsx

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { showPushDialogSelector } from '@/selectors';
+import { Dispatch } from '../store';
+import { PushOverrides } from '../store/remoteTokens';
+ 
+// @TODO fix using useCallback and other memoization
+ 
+export type PushDialogPromiseResult = {
+  commitMessage: string;
+  customBranch: string;
+};
+ 
+export type UseDialogResult = {
+  showPushDialog?: { state: string | boolean, overrides?: PushOverrides };
+  closePushDialog: () => void
+  pushDialog: ({ state, overrides }: { state?: string, overrides?: PushOverrides }) => Promise<PushDialogPromiseResult | null>
+  onConfirm: (commitMessage: string, customBranch: string) => void
+  onCancel: () => void
+};
+ 
+let resolveCallback: (result: PushDialogPromiseResult | null) => void = () => {};
+function usePushDialog(): UseDialogResult {
+  const showPushDialog = useSelector(showPushDialogSelector);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const pushDialog: UseDialogResult['pushDialog'] = useCallback(({ state, overrides }) => {
+    if (state) {
+      dispatch.uiState.setShowPushDialog({ state, overrides });
+    } else {
+      dispatch.uiState.setShowPushDialog({ state: 'initial', overrides });
+    }
+    return new Promise<PushDialogPromiseResult | null>((res) => {
+      resolveCallback = res;
+    });
+  }, [dispatch]);
+ 
+  const closePushDialog = useCallback(() => {
+    dispatch.uiState.setShowPushDialog({ state: false });
+  }, [dispatch]);
+ 
+  const onCancel = useCallback(() => {
+    closePushDialog();
+    resolveCallback(null);
+  }, [closePushDialog]);
+ 
+  const onConfirm = useCallback((commitMessage: string, customBranch: string) => {
+    dispatch.uiState.setShowPushDialog({ state: 'loading' });
+    resolveCallback({ commitMessage, customBranch });
+  }, [dispatch]);
+ 
+  return useMemo(() => ({
+    pushDialog, onConfirm, onCancel, showPushDialog, closePushDialog,
+  }), [pushDialog, onConfirm, onCancel, closePushDialog, showPushDialog]);
+}
+ 
+export default usePushDialog;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html new file mode 100644 index 000000000..1ad30ce23 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/app/hooks/useReferenceTokenType.ts + + + + + + + + + +
+
+

All files / src/app/hooks useReferenceTokenType.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useMemo } from 'react';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export function useReferenceTokenType(type: TokenTypes): TokenTypes[] {
+  return useMemo(() => {
+    switch (type) {
+      case TokenTypes.SIZING:
+        return [TokenTypes.SIZING, TokenTypes.DIMENSION, TokenTypes.NUMBER];
+      case TokenTypes.SPACING:
+        return [TokenTypes.SPACING, TokenTypes.DIMENSION, TokenTypes.NUMBER];
+      case TokenTypes.BORDER_RADIUS:
+        return [TokenTypes.BORDER_RADIUS, TokenTypes.DIMENSION, TokenTypes.NUMBER];
+      case TokenTypes.BORDER_WIDTH:
+        return [TokenTypes.BORDER_WIDTH, TokenTypes.DIMENSION, TokenTypes.NUMBER];
+      case TokenTypes.LINE_HEIGHTS:
+        return [TokenTypes.LINE_HEIGHTS, TokenTypes.NUMBER, TokenTypes.DIMENSION];
+      case TokenTypes.FONT_SIZES:
+        return [TokenTypes.FONT_SIZES, TokenTypes.NUMBER, TokenTypes.DIMENSION];
+      case TokenTypes.PARAGRAPH_SPACING:
+        return [TokenTypes.PARAGRAPH_SPACING, TokenTypes.NUMBER, TokenTypes.DIMENSION];
+      case TokenTypes.PARAGRAPH_INDENT:
+        return [TokenTypes.PARAGRAPH_INDENT, TokenTypes.NUMBER, TokenTypes.DIMENSION];
+      case TokenTypes.LETTER_SPACING:
+        return [TokenTypes.LETTER_SPACING, TokenTypes.NUMBER, TokenTypes.DIMENSION];
+      default:
+        return [type];
+    }
+  }, [type]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html new file mode 100644 index 000000000..3d032660e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/app/hooks/useStorageSizeWarning.tsx + + + + + + + + + +
+
+

All files / src/app/hooks useStorageSizeWarning.tsx

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { useCallback } from 'react';
+import { useDispatch } from 'react-redux';
+import { useTranslation, Trans } from 'react-i18next';
+import useConfirm from '@/app/hooks/useConfirm';
+import { Dispatch } from '@/app/store';
+import { Tabs } from '@/constants/Tabs';
+ 
+export function useStorageSizeWarning() {
+  const { confirm } = useConfirm();
+  const { t } = useTranslation(['tokens']);
+  const dispatch = useDispatch<Dispatch>();
+ 
+  return useCallback(async () => {
+    const description = (
+      <Trans
+        i18nKey="storageLimitWarning.description"
+        ns="tokens"
+        components={{
+          br: <br />,
+          // text coming from i18n
+          // eslint-disable-next-line jsx-a11y/control-has-associated-label, jsx-a11y/anchor-has-content
+          firstLink: <a style={{ textDecoration: 'underline', color: 'var(--colors-fgAccent)' }} href="https://docs.tokens.studio/token-storage/local/figma-data-limit" target="_blank" rel="noreferrer" />,
+        }}
+      />
+    );
+ 
+    const confirmed = await confirm({
+      text: t('storageLimitWarning.title'),
+      description,
+      confirmAction: t('storageLimitWarning.switchToRemote'),
+    });
+    if (confirmed) {
+      dispatch.uiState.setActiveTab(Tabs.SETTINGS);
+    }
+  }, [confirm, t, dispatch]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html new file mode 100644 index 000000000..982e8b13e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/app/hooks/useTypeForProperty.ts + + + + + + + + + +
+
+

All files / src/app/hooks useTypeForProperty.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useMemo } from 'react';
+import { Properties } from '@/constants/Properties';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export function useTypeForProperty(property: string): string {
+  return useMemo(() => {
+    switch (property) {
+      case Properties.width:
+      case Properties.height:
+        return TokenTypes.SIZING;
+      case Properties.itemSpacing:
+      case Properties.verticalPadding:
+      case Properties.horizontalPadding:
+      case Properties.paddingTop:
+      case Properties.paddingLeft:
+      case Properties.paddingBottom:
+      case Properties.paddingRight:
+        return TokenTypes.SPACING;
+      case Properties.borderRadiusTopLeft:
+      case Properties.borderRadiusTopRight:
+      case Properties.borderRadiusBottomLeft:
+      case Properties.borderRadiusBottomRight:
+        return TokenTypes.BORDER_RADIUS;
+      case Properties.borderColor:
+      case Properties.fill:
+        return TokenTypes.COLOR;
+      case Properties.borderWidthTop:
+      case Properties.borderWidthLeft:
+      case Properties.borderWidthRight:
+      case Properties.borderWidthBottom:
+        return TokenTypes.BORDER_WIDTH;
+      default:
+        return property;
+    }
+  }, [property]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/index.html new file mode 100644 index 000000000..396bc2d47 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app + + + + + + + + + +
+
+

All files src/app

+
+ +
+ 0% + Statements + 0/27 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/5100%0/0100%0/00%0/5
sentry.ts +
+
0%0/190%0/140%0/30%0/19
store.ts +
+
0%0/3100%0/00%0/10%0/3
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html new file mode 100644 index 000000000..d28258c8b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/app/index.tsx + + + + + + + + + +
+
+

All files / src/app index.tsx

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import 'regenerator-runtime/runtime';
+import './assets/fonts/jetbrainsmono.css';
+import './styles/preflight.css';
+import '@/i18n';
+import * as asyncHandlers from './asyncMessageHandlers';
+import { startup } from './asyncMessageHandlers/startup';
+import { initializeAnalytics } from '../utils/analytics';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { initializeSentry } from './sentry';
+ 
+initializeAnalytics();
+initializeSentry();
+ 
+AsyncMessageChannel.ReactInstance.connect();
+AsyncMessageChannel.ReactInstance.handle(AsyncMessageTypes.GET_THEME_INFO, asyncHandlers.getThemeInfo);
+ 
+startup();
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html new file mode 100644 index 000000000..d9c34ddbb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/preview + + + + + + + + + +
+
+

All files src/app/preview

+
+ +
+ 0% + Statements + 0/127 +
+ + +
+ 0% + Branches + 0/101 +
+ + +
+ 0% + Functions + 0/29 +
+ + +
+ 0% + Lines + 0/124 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
preview.tsx +
+
0%0/730%0/630%0/180%0/72
previewUtils.ts +
+
0%0/240%0/240%0/20%0/24
usePreviewState.tsx +
+
0%0/300%0/140%0/90%0/28
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html new file mode 100644 index 000000000..8fde2d1b1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html @@ -0,0 +1,1591 @@ + + + + + + Code coverage report for src/app/preview/preview.tsx + + + + + + + + + +
+
+

All files / src/app/preview preview.tsx

+
+ +
+ 0% + Statements + 0/73 +
+ + +
+ 0% + Branches + 0/63 +
+ + +
+ 0% + Functions + 0/18 +
+ + +
+ 0% + Lines + 0/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  FormEvent,
+  ReactNode,
+  useCallback,
+  useEffect,
+  useState,
+} from 'react';
+import {
+  Box, Button, DropdownMenu, IconButton, Stack, Text,
+} from '@tokens-studio/ui';
+import { useDispatch, useSelector } from 'react-redux';
+import hash from 'object-hash';
+import { Code, Expand, Collapse } from 'iconoir-react';
+ 
+import { Editor } from '@monaco-editor/react';
+import { CSS } from '@stitches/react';
+import { Dispatch } from '../store';
+import { AsyncMessageChannel } from '../../AsyncMessageChannel';
+import { AsyncMessageChannelPreview } from '../../AsyncMessageChannelPreview';
+import { AsyncMessageTypes, StartupMessage } from '@/types/AsyncMessages';
+import { SavedSettings } from '@/plugin/notifiers';
+import { UpdateMode } from '@/constants/UpdateMode';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import Modal from '../components/Modal';
+ 
+import './preview.css';
+import { settingsStateSelector, uiStateSelector } from '@/selectors';
+import { Tabs } from '@/constants/Tabs';
+import { setFigmaBrowserTheme } from './previewUtils';
+import { useFigmaTheme } from '@/hooks/useFigmaTheme';
+import { usePreviewState } from './usePreviewState';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+ 
+// eslint-disable-next-line
+const PREVIEW_ENV = process.env.PREVIEW_ENV;
+ 
+const mockUser = {
+  figmaId: 'figma:1234',
+  userId: 'uid:1234',
+  name: 'Jan Six',
+};
+ 
+// @ts-ignore
+const mockSettings: SavedSettings = {
+  language: 'en',
+  width: 500,
+  height: 800,
+  ignoreFirstPartForStyles: false,
+  inspectDeep: false,
+  prefixStylesWithThemeName: false,
+  showEmptyGroups: true,
+  updateMode: UpdateMode.PAGE,
+  updateOnChange: false,
+  updateRemote: true,
+};
+ 
+// const mockStartupParams: Omit<StartupMessage, 'licenseKey'> = {
+const mockStartupParams: Omit<StartupMessage, 'licenseKey'> = {
+  type: AsyncMessageTypes.STARTUP,
+  activeTheme: {},
+  lastOpened: Date.now(),
+  initialLoad: true,
+  usedEmail: null,
+  authData: null,
+  onboardingExplainer: {
+    sets: true,
+    exportSets: true,
+    inspect: true,
+    syncProviders: true,
+  },
+  localApiProviders: [],
+  settings: mockSettings,
+  storageType: {
+    provider: StorageProviderType.LOCAL,
+  },
+  user: mockUser,
+  localTokenData: {
+    activeTheme: '',
+    checkForChanges: true,
+    themes: [],
+    usedTokenSet: null,
+    updatedAt: new Date().toISOString(),
+    values: {},
+    collapsedTokenSets: null,
+    tokenFormat: TokenFormatOptions.Legacy,
+    version: '91',
+  },
+};
+ 
+const mockActions = {
+  STARTUP: {
+    default: mockStartupParams,
+  },
+};
+ 
+const dispatchMockMessage = (message) => {
+  const messageId = hash({
+    message,
+    datetime: Date.now(),
+  });
+ 
+  const msg = { id: messageId, message };
+  window.postMessage({ pluginMessage: msg });
+};
+ 
+const MockMessageForm = ({ type, handleClose }: { type?: string, handleClose: () => void }) => {
+  const [value, setValue] = useState({
+    STARTUP: JSON.stringify(mockStartupParams, null, 2),
+    DEFAULT: '',
+  }[type || 'DEFAULT'] || '');
+  const [error, setError] = useState('');
+  const handleJsonEditChange = useCallback((val) => {
+    try {
+      JSON.parse(val);
+      if (error) {
+        setError('');
+      }
+      setValue(val);
+    } catch (err) {
+      setError('Not valid JSON');
+    }
+  }, [setValue, error]);
+  const { isDarkTheme } = useFigmaTheme();
+ 
+  const isValid = true;
+ 
+  const checkAndSubmitMessage = useCallback((e: FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    const message = JSON.parse(value);
+    dispatchMockMessage(message);
+ 
+    handleClose();
+  }, [value, handleClose]);
+ 
+  return (
+    <form onSubmit={checkAndSubmitMessage} style={{ display: 'flex', flexGrow: 1, height: '100%' }}>
+      <Stack
+        gap={3}
+        direction="column"
+        justify="start"
+        css={{
+          minHeight: '$8', position: 'relative', flexGrow: 1, height: '100%',
+        }}
+      >
+        <Text>WIP</Text>
+        <Box
+          css={{
+            display: 'flex',
+            flexDirection: 'column',
+            flexGrow: 1,
+            height: '100%',
+            position: 'relative',
+          }}
+        >
+          <Editor
+            language="json"
+            onChange={handleJsonEditChange}
+            value={value}
+            theme={isDarkTheme ? 'vs-dark' : 'vs-light'}
+            height={400}
+            options={{
+              minimap: {
+                enabled: false,
+              },
+              lineNumbers: 'off',
+              fontSize: 11,
+              wordWrap: 'on',
+              contextmenu: false,
+            }}
+          />
+        </Box>
+        <Box css={{ padding: '$3', paddingTop: '$2', paddingBottom: '$2' }}>
+          <Text css={{ opacity: error ? 1 : 0, color: '$dangerFg' }}>{error || '0'}</Text>
+        </Box>
+        <Stack direction="row" justify="end" gap={3}>
+          <Button variant="secondary" type="button" onClick={handleClose}>
+            Cancel
+          </Button>
+          <Button disabled={!isValid || !!error} variant="primary" type="submit">
+            Submit
+          </Button>
+        </Stack>
+      </Stack>
+    </form>
+  );
+};
+ 
+const PreviewMockMessageModal = ({ type, handleClose }: { type: string | undefined, handleClose: () => void }) => (
+  <Modal
+    size="large"
+    isOpen
+    modal
+    close={handleClose}
+    title="Create Mock Action"
+    full
+  >
+    <MockMessageForm type={type} handleClose={handleClose} />
+  </Modal>
+);
+ 
+const PreviewPluginWindow = ({
+  height = 600, width = '100%', children, css = {}, fullscreen, updateHash,
+}: { children: ReactNode, height?: number | string, width?: number | string, css: CSS | undefined, fullscreen?: boolean, updateHash: any }) => {
+  useEffect(() => {
+    AsyncMessageChannelPreview.ReactInstance.message({
+      type: AsyncMessageTypes.PREVIEW_REQUEST_STARTUP,
+    });
+  }, []);
+  const toggleFullscreen = useCallback(() => {
+    updateHash({ fullscreen: !fullscreen });
+  }, [fullscreen, updateHash]);
+  const { isDarkTheme } = useFigmaTheme();
+ 
+  return (
+    <Stack direction="column" css={{ height, width, ...css }}>
+      <Stack
+        direction="row"
+        css={{
+          padding: '$2', paddingLeft: '$3', minHeight: '40px', background: '$bgSurface', borderBottom: '1px solid $bgSubtle',
+        }}
+        align="center"
+      >
+        <Stack
+          align="center"
+          justify="center"
+          css={{
+            height: '$7', width: '$7', marginRight: '-$3', marginLeft: '-$2',
+          }}
+        >
+          <Code style={{
+            background: 'black', color: 'white', borderRadius: 2, height: 20, width: 20, padding: 2,
+          }}
+          />
+        </Stack>
+        <Stack css={{ flex: 1 }}>
+          <Text css={{ paddingLeft: '$3', fontSize: '$small', fontWeight: '$sansSemibold' }}>Tokens Studio for Figma</Text>
+        </Stack>
+        <Stack align="center" justify="center" css={{ height: '$7', width: '$7' }}>
+          {fullscreen ? (
+            <IconButton
+              tooltip=""
+              data-testid="123"
+              icon={(
+                <Collapse style={{
+                  color: isDarkTheme ? 'white' : 'black', borderRadius: 2, height: 20, width: 20,
+                }}
+                />
+              )}
+              size="small"
+              variant="invisible"
+              onClick={toggleFullscreen}
+            />
+          ) : (
+            <IconButton
+              tooltip=""
+              data-testid="123"
+              icon={(
+                <Expand style={{
+                  color: isDarkTheme ? 'white' : 'black', borderRadius: 2, height: 20, width: 20,
+                }}
+                />
+              )}
+              size="small"
+              variant="invisible"
+              onClick={toggleFullscreen}
+            />
+          )}
+        </Stack>
+      </Stack>
+      <Box css={{
+        width,
+        height,
+      }}
+      >
+        {children}
+      </Box>
+    </Stack>
+  );
+};
+ 
+const themes = {
+  light: 'Light',
+  dark: 'Dark',
+  system: 'System',
+};
+ 
+function PreviewApp({ children }: { children: ReactNode }) {
+  const isConnected = (AsyncMessageChannel as typeof AsyncMessageChannelPreview).ReactInstance.isWsConnected;
+  const [mockMessageModalOpen, setMockMessageModalOpen] = useState('');
+  const dispatch = useDispatch<Dispatch>();
+  const settings = useSelector(settingsStateSelector);
+  const uiState = useSelector(uiStateSelector);
+  const {
+    data: {
+      tab, action, subAction, theme, fullscreen,
+    }, updateHash,
+  } = usePreviewState();
+ 
+  useEffect(() => {
+    if (action) {
+      if (mockActions[action][subAction]) {
+        dispatchMockMessage(mockActions[action][subAction]);
+      } else if (mockActions[action]) {
+        dispatchMockMessage(mockActions[action]);
+      }
+    }
+    if (theme) {
+      setFigmaBrowserTheme(theme, updateHash);
+    }
+    if (tab) {
+      dispatch.uiState.setActiveTab(Tabs[tab]);
+    }
+  }, []);
+ 
+  useEffect(() => {
+    if (uiState.activeTab && tab !== uiState.activeTab) {
+      updateHash({
+        tab: uiState.activeTab,
+      });
+    }
+  }, [uiState.activeTab, tab, updateHash]);
+ 
+  const onThemeSelected = useCallback((type) => () => {
+    setFigmaBrowserTheme(type, updateHash);
+  }, [updateHash]);
+  const onActionSelected = React.useCallback(
+    (type: string) => () => {
+      if (type === 'CUSTOM') {
+        setMockMessageModalOpen(type);
+      } else {
+        const message = mockActions[type]?.type ? mockActions[type] : mockActions[type].default;
+        if (message) {
+          dispatchMockMessage(message);
+          updateHash({
+            action: mockActions[type]?.type ? type : `${type}.default`,
+          });
+        }
+      }
+    },
+    [updateHash],
+  );
+ 
+  const handleCloseCustomModal = useCallback(() => {
+    setMockMessageModalOpen('');
+  }, []);
+  // const resetApp = useCallback(() => {
+  //   store.dispatch({ type: 'RESET_APP' });
+  // }, []);
+ 
+  const previewHeader = (
+    <Stack
+      direction="row"
+      css={{
+        color: '$fgMuted',
+        backgroundColor: '$bgSurface',
+        padding: '$4',
+        borderRadius: '$medium',
+        marginBottom: '$7',
+        justifyContent: 'space-between',
+        alignItems: 'center',
+        gap: '$3',
+      }}
+    >
+      <Text css={{ fontSize: '$large' }}>Web Preview</Text>
+      <Stack css={{ flex: 1 }}><span /></Stack>
+      {mockMessageModalOpen && <PreviewMockMessageModal type={mockMessageModalOpen} handleClose={handleCloseCustomModal} />}
+      {/* <Button onClick={resetApp}>
+        RESET
+      </Button> */}
+      <DropdownMenu>
+        <DropdownMenu.Trigger asChild data-testid="add-storage-item-dropdown">
+          <Button asDropdown>
+            Theme
+          </Button>
+        </DropdownMenu.Trigger>
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content
+            side="bottom"
+            className="content scroll-container"
+          >
+            {
+            Object.keys(themes).map((type) => (
+              <DropdownMenu.Item
+                key={type}
+                onSelect={onThemeSelected(type)}
+                css={{ display: 'flex', gap: '$3' }}
+              >
+                {themes[type]}
+              </DropdownMenu.Item>
+            ))
+          }
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+      <DropdownMenu>
+        <DropdownMenu.Trigger asChild data-testid="add-storage-item-dropdown">
+          <Button asDropdown>
+            Mock Actions
+          </Button>
+        </DropdownMenu.Trigger>
+        <DropdownMenu.Portal>
+          <DropdownMenu.Content
+            side="bottom"
+            className="content scroll-container"
+          >
+            {
+            [{ type: 'STARTUP' }, { type: 'CUSTOM' }].map((mockAction) => (
+              <DropdownMenu.Item
+                key={mockAction.type}
+                onSelect={onActionSelected(mockAction.type)}
+                css={{ display: 'flex', gap: '$3' }}
+              >
+                {mockAction.type}
+              </DropdownMenu.Item>
+            ))
+          }
+          </DropdownMenu.Content>
+        </DropdownMenu.Portal>
+      </DropdownMenu>
+      <Stack
+        direction="row"
+        css={{
+          paddingTop: '$2',
+          paddingBottom: '$2',
+          paddingLeft: '$3',
+          paddingRight: '$3',
+          height: '$7',
+          alignItems: 'center',
+          border: `1px solid ${isConnected ? '$successFg' : '$dangerFg'}`,
+          backgroundColor: isConnected ? '$successBg' : '$dangerBg',
+          borderRadius: '$small',
+        }}
+      >
+        <Text css={{ fontSize: '$base', color: isConnected ? '$successFg' : '$dangerFg' }}>
+          {isConnected ? 'Connected' : 'Disconnected'}
+        </Text>
+      </Stack>
+    </Stack>
+  );
+ 
+  return (
+    <Box css={{
+      justifyContent: 'center', alignItems: 'center', padding: '$7', backgroundColor: '$bgSubtle', height: '100vh',
+    }}
+    >
+      {PREVIEW_ENV === 'browser' ? (
+        <>
+          {previewHeader}
+          <PreviewPluginWindow
+            height={fullscreen ? '100%' : settings.uiWindow?.height}
+            width={fullscreen ? '100%' : settings.uiWindow?.width}
+            css={fullscreen ? {
+              height: '100%',
+              width: '100%',
+              position: 'fixed',
+              top: 0,
+              left: 0,
+            } : undefined}
+            fullscreen={fullscreen}
+            updateHash={updateHash}
+          >
+            {children}
+          </PreviewPluginWindow>
+        </>
+      ) : (
+        <>
+          {previewHeader}
+          {/* <Stack
+            css={{
+              color: '$fgMuted',
+              backgroundColor: '$bgSurface',
+              padding: '$4',
+              borderRadius: '$medium',
+              marginBottom: '$7',
+              justifyContent: 'space-between',
+              alignItems: 'center',
+              gap: '$3',
+            }}
+          >
+            <Stack direction="row">
+              <Label htmlFor="websocketconnect">WebSockets Server</Label>
+              <TextInput
+                autoFocus
+                value={websocketsServer} // eslint-disable-next-line
+                onChange={(e) => {
+                  setWebsocketsServer(e.target.value);
+                }}
+                type="text"
+                name="websocketconnect"
+                data-testid="websocket-connect"
+                required
+              />
+              <Button>Connect</Button>
+            </Stack>
+          </Stack> */}
+        </>
+      )}
+    </Box>
+  );
+}
+ 
+export default PreviewApp;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html new file mode 100644 index 000000000..a5d2a8787 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/app/preview/previewUtils.ts + + + + + + + + + +
+
+

All files / src/app/preview previewUtils.ts

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
const getPreferredColorScheme = () => {
+  if (window.matchMedia) {
+    if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
+      return 'dark';
+    }
+  }
+  return 'light';
+};
+ 
+export const setFigmaBrowserTheme = (theme, updateHash) => {
+  const htmlClassList = document.documentElement?.classList || [];
+  const isDark = htmlClassList.contains('figma-dark');
+ 
+  switch (theme) {
+    case 'light': {
+      if (isDark) {
+        htmlClassList.remove('figma-dark');
+      }
+ 
+      break;
+    }
+    case 'dark': {
+      if (!isDark) {
+        htmlClassList.add('figma-dark');
+      }
+ 
+      break;
+    }
+    case 'system': {
+      const systemTheme = getPreferredColorScheme();
+      if (systemTheme === 'dark' && !isDark) {
+        htmlClassList.add('figma-dark');
+      } else if (systemTheme === 'light' && isDark) {
+        htmlClassList.remove('figma-dark');
+      }
+      break;
+    }
+    default: {
+      break;
+    }
+  }
+  if (updateHash) {
+    updateHash({ theme });
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html new file mode 100644 index 000000000..60382b8a3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/app/preview/usePreviewState.tsx + + + + + + + + + +
+
+

All files / src/app/preview usePreviewState.tsx

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  useCallback, useEffect, useState,
+} from 'react';
+ 
+export const getHashParams = () => {
+  const params = new URLSearchParams(window.location.hash.slice(1));
+  const tab = params.get('tab') || '';
+  const [action, subAction] = params.get('action')?.split('.') || [];
+  const theme = params.get('theme') || 'system';
+  const fullscreen = Boolean(params.get('fullscreen'));
+ 
+  return {
+    tab,
+    action,
+    subAction,
+    theme,
+    fullscreen,
+  };
+};
+ 
+type State = {
+  tab: string,
+  action: string,
+  subAction: string,
+  theme: string,
+  fullscreen: boolean,
+};
+ 
+export function usePreviewState() {
+  const [data, setData] = useState<State>(getHashParams());
+ 
+  useEffect(() => {
+    const updateStateFromHash = () => {
+      const hashParams = getHashParams();
+      const statePatch = Object.keys(data).reduce((acc, id) => {
+        if (data[id] !== hashParams[id]) {
+          acc[id] = hashParams[id];
+        }
+        return acc;
+      }, {});
+ 
+      if (Object.keys(statePatch).length > 0) {
+        setData((state) => ({ ...state, ...statePatch }));
+      }
+    };
+ 
+    window.addEventListener('hashchange', updateStateFromHash);
+ 
+    return () => window.removeEventListener('hashchange', updateStateFromHash);
+  }, [data]);
+  const updateHash = useCallback((hashData) => {
+    const urlParams = new URLSearchParams(window.location.hash.slice(1));
+    Object.keys(hashData).forEach((k) => {
+      let value = hashData[k];
+      if (k === 'fullscreen') {
+        value = hashData[k] ? 'true' : '';
+      }
+      urlParams.set(k, value);
+    });
+    window.location.hash = `#${urlParams.toString()}`;
+  }, []);
+ 
+  return { data, updateHash };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html new file mode 100644 index 000000000..5b6528a07 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/app/sentry.ts + + + + + + + + + +
+
+

All files / src/app sentry.ts

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable no-bitwise */
+import * as Sentry from '@sentry/react';
+import * as pjs from '../../package.json';
+ 
+const DSN = process.env.SENTRY_DSN;
+ 
+// Bitwise operators are used to force conversion of  the string to a number
+const SAMPLING = ~~(process.env.SENTRY_SAMPLING!) || 0.1;
+const PROFILE_RATE = ~~(process.env.SENTRY_PROFILE_SAMPLING!) || 0.1;
+const REPLAY_RATE = ~~(process.env.SENTRY_REPLAY_SAMPLING!) || 0;
+ 
+export const replay = new Sentry.Replay({
+  // Make sure we never leak any sensitive data
+  maskAllText: true,
+  blockAllMedia: true,
+});
+ 
+export const setupReplay = () => {
+  setTimeout(() => {
+    try {
+      const client = Sentry.getCurrentHub().getClient();
+ 
+      if (client) {
+        if (!client?.getIntegration(Sentry.Replay)) {
+          // @ts-ignore This should never be undefined after the check above
+          client.addIntegration(new Replay());
+        }
+      }
+    } catch (error) {
+      console.error('Error setting up Sentry Replay:', error);
+    }
+  }, 2000); // Delay by 2000 milliseconds (2 seconds) to make sure we load in UI properly, see https://github.com/tokens-studio/figma-plugin/issues/3073
+};
+ 
+export const initializeSentry = () => {
+  switch (process.env.ENVIRONMENT) {
+    case 'alpha':
+    case 'beta':
+    case 'production':
+      Sentry.init({
+        dsn: DSN,
+        release: `figma-tokens@${pjs.version}`,
+        environment: process.env.ENVIRONMENT,
+        tracesSampleRate: SAMPLING,
+        // @ts-ignore Note: This gives an error. No clue why 🤷
+        profilesSampleRate: PROFILE_RATE,
+        replaysSessionSampleRate: REPLAY_RATE,
+        // We always want to replay errors
+        replaysOnErrorSampleRate: 1.0,
+        integrations: [],
+      });
+      Sentry.addTracingExtensions();
+      break;
+    default:
+      break;
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html new file mode 100644 index 000000000..d8a35b84d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/app/store.ts + + + + + + + + + +
+
+

All files / src/app store.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { init, RematchDispatch } from '@rematch/core';
+import { RootModel } from '@/types/RootModel';
+import { models } from './store/models';
+import { middlewares } from './store/middlewares';
+ 
+import type { UIState } from './store/models/uiState';
+import type { SettingsState } from './store/models/settings';
+import type { TokenState } from './store/models/tokenState';
+import { UserState } from './store/models/userState';
+import type { InspectState } from './store/models/inspectState';
+import type { BranchState } from './store/models/branchState';
+import { undoableEnhancer } from './enhancers/undoableEnhancer';
+ 
+export const store = init({
+  models,
+  redux: {
+    devtoolOptions: {},
+    enhancers: [undoableEnhancer],
+    rootReducers: {
+      RESET_APP: () => undefined,
+    },
+    middlewares,
+  },
+});
+ 
+(window as any).store = store;
+export type Store = typeof store;
+export type Dispatch = RematchDispatch<RootModel>;
+export type RootState = {
+  uiState: UIState;
+  settings: SettingsState;
+  tokenState: TokenState;
+  inspectState: InspectState;
+  userState: UserState;
+  branchState: BranchState;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html new file mode 100644 index 000000000..fecf16175 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/app/store + + + + + + + + + +
+
+

All files src/app/store

+
+ +
+ 0% + Statements + 0/611 +
+ + +
+ 0% + Branches + 0/331 +
+ + +
+ 0% + Functions + 0/101 +
+ + +
+ 0% + Lines + 0/590 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
remoteTokens.tsx +
+
0%0/2450%0/1390%0/150%0/242
updateSources.tsx +
+
0%0/380%0/240%0/40%0/36
useManageTokens.tsx +
+
0%0/860%0/370%0/160%0/85
useStorage.tsx +
+
0%0/60%0/30%0/20%0/6
useTokens.tsx +
+
0%0/2360%0/1280%0/640%0/221
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html new file mode 100644 index 000000000..dcb8fb728 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/store/middlewares + + + + + + + + + +
+
+

All files src/app/store/middlewares

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/1100%0/0100%0/00%0/1
tokenState.ts +
+
0%0/90%0/40%0/30%0/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html new file mode 100644 index 000000000..f26995850 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/app/store/middlewares/index.ts + + + + + + + + + +
+
+

All files / src/app/store/middlewares index.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { tokenStateMiddleware } from './tokenState';
+ 
+export const middlewares = [tokenStateMiddleware];
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html new file mode 100644 index 000000000..78cc17b46 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/app/store/middlewares/tokenState.ts + + + + + + + + + +
+
+

All files / src/app/store/middlewares tokenState.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageProviderType } from '@/constants/StorageProviderType';
+import { updateThemeGroupsInTokensStudio } from '@/storage/tokensStudio/updateThemeGroupsInTokensStudio';
+ 
+const actionsToTriggerUpdateInTokensStudio = [
+  'tokenState/assignVariableIdsToCurrentTheme',
+  'tokenState/assignVariableIdsToTheme',
+  'tokenState/assignStyleIdsToCurrentTheme',
+  'tokenState/assignStyleIdsToTheme',
+  'tokenState/saveTheme',
+  'tokenState/deleteTheme',
+  'tokenState/updateThemeGroupName',
+  'tokenState/disconnectVariableFromTheme',
+  'tokenState/disconnectStyleFromTheme',
+];
+ 
+export const tokenStateMiddleware = (store) => (next) => (action) => {
+  const prevState = store.getState();
+  next(action);
+  const nextState = store.getState();
+ 
+  if (
+    nextState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO
+      && actionsToTriggerUpdateInTokensStudio.includes(action.type)
+  ) {
+    updateThemeGroupsInTokensStudio({
+      prevState,
+      rootState: nextState,
+      action,
+      dispatch: store.dispatch,
+    });
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html new file mode 100644 index 000000000..53c0bd46f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/app/store/models/branchState.tsx + + + + + + + + + +
+
+

All files / src/app/store/models branchState.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createModel } from '@rematch/core';
+import { RootModel } from '@/types/RootModel';
+ 
+export interface BranchState {
+  branches: string[]
+}
+ 
+export const branchState = createModel<RootModel>()({
+  state: {
+    branches: [],
+  } as BranchState,
+  reducers: {
+    setBranches: (state, data: string[]) => ({
+      ...state,
+      branches: data,
+    }),
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html new file mode 100644 index 000000000..7409fd63e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/store/models/effects + + + + + + + + + +
+
+

All files src/app/store/models/effects

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
updateCheckForChangesAtomic.ts +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html new file mode 100644 index 000000000..92b2683b5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html @@ -0,0 +1,296 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState + + + + + + + + + +
+
+

All files src/app/store/models/effects/settingsState

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/24 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
setCreateStylesWithVariableReferences.ts +
+
0%0/2100%0/00%0/20%0/2
setIgnoreFirstPartForStyles.ts +
+
0%0/2100%0/00%0/20%0/2
setPrefixStylesWithThemeName.ts +
+
0%0/2100%0/00%0/20%0/2
setRemoveStylesAndVariablesWithoutConnection.ts +
+
0%0/2100%0/00%0/20%0/2
setRenameExistingStylesAndVariables.ts +
+
0%0/2100%0/00%0/20%0/2
setStyleTypography.ts +
+
0%0/2100%0/00%0/20%0/2
setStylesColor.ts +
+
0%0/2100%0/00%0/20%0/2
setStylesEffect.ts +
+
0%0/2100%0/00%0/20%0/2
setVariablesBoolean.ts +
+
0%0/2100%0/00%0/20%0/2
setVariablesColor.ts +
+
0%0/2100%0/00%0/20%0/2
setVariablesNumber.ts +
+
0%0/2100%0/00%0/20%0/2
setVariablesString.ts +
+
0%0/2100%0/00%0/20%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html new file mode 100644 index 000000000..0e4a9b584 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/index.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './setPrefixStylesWithThemeName';
+export * from './setStyleTypography';
+export * from './setStylesColor';
+export * from './setStylesEffect';
+export * from './setVariablesBoolean';
+export * from './setVariablesColor';
+export * from './setVariablesNumber';
+export * from './setVariablesString';
+export * from './setCreateStylesWithVariableReferences';
+export * from './setIgnoreFirstPartForStyles';
+export * from './setRenameExistingStylesAndVariables';
+export * from './setRemoveStylesAndVariablesWithoutConnection';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html new file mode 100644 index 000000000..b58414bad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setCreateStylesWithVariableReferences.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setCreateStylesWithVariableReferences() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html new file mode 100644 index 000000000..fefabfc44 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setIgnoreFirstPartForStyles.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setIgnoreFirstPartForStyles() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html new file mode 100644 index 000000000..de775e8df --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setPrefixStylesWithThemeName.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setPrefixStylesWithThemeName() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html new file mode 100644 index 000000000..a3b17ddc8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setRemoveStylesAndVariablesWithoutConnection.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setRemoveStylesAndVariablesWithoutConnection() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html new file mode 100644 index 000000000..aa139b412 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setRenameExistingStylesAndVariables.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setRenameExistingStylesAndVariables() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html new file mode 100644 index 000000000..dbfe1ba88 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setStyleTypography.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setStyleTypography.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setStylesTypography() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html new file mode 100644 index 000000000..1fdcff114 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setStylesColor.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setStylesColor.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setStylesColor() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html new file mode 100644 index 000000000..e7d495e51 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setStylesEffect.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setStylesEffect.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setStylesEffect() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html new file mode 100644 index 000000000..30aae588e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setVariablesBoolean.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setVariablesBoolean.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setVariablesBoolean() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html new file mode 100644 index 000000000..f810763f2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setVariablesColor.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setVariablesColor.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setVariablesColor() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html new file mode 100644 index 000000000..b3c931fc1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setVariablesNumber.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setVariablesNumber.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setVariablesNumber() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html new file mode 100644 index 000000000..cfcfccbae --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/settingsState/setVariablesString.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/settingsState setVariablesString.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RootState } from '@/app/store';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function setVariablesString() {
+  return (payload: boolean, rootState: RootState): void => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_UI,
+      ...rootState.settings,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html new file mode 100644 index 000000000..e2226d7ed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState assignStyleIdsToCurrentTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function assignStyleIdsToCurrentTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html new file mode 100644 index 000000000..d15e04bf1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState assignStyleIdsToTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function assignStyleIdsToTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html new file mode 100644 index 000000000..54db74eab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState assignVariableIdsToTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function assignVariableIdsToTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html new file mode 100644 index 000000000..1c08e14f6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/deleteTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState deleteTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function deleteTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html new file mode 100644 index 000000000..737f5931d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html @@ -0,0 +1,356 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState + + + + + + + + + +
+
+

All files src/app/store/models/effects/tokenState

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/32 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
assignStyleIdsToCurrentTheme.ts +
+
0%0/2100%0/00%0/20%0/2
assignStyleIdsToTheme.ts +
+
0%0/2100%0/00%0/20%0/2
assignVariableIdsToTheme.ts +
+
0%0/2100%0/00%0/20%0/2
deleteTheme.ts +
+
0%0/2100%0/00%0/20%0/2
index.ts +
+
0%0/00%0/00%0/00%0/0
removeStyleIdsFromThemes.ts +
+
0%0/2100%0/00%0/20%0/2
removeStyleNamesFromThemes.ts +
+
0%0/2100%0/00%0/20%0/2
removeVariableNamesFromThemes.ts +
+
0%0/2100%0/00%0/20%0/2
renameStyleIdsToCurrentTheme.ts +
+
0%0/2100%0/00%0/20%0/2
renameStyleNamesToCurrentTheme.ts +
+
0%0/2100%0/00%0/20%0/2
renameVariableIdsToTheme.ts +
+
0%0/2100%0/00%0/20%0/2
renameVariableNamesToThemes.ts +
+
0%0/2100%0/00%0/20%0/2
saveTheme.ts +
+
0%0/2100%0/00%0/20%0/2
setActiveTheme.ts +
+
0%0/2100%0/00%0/20%0/2
setDefaultTokens.ts +
+
0%0/2100%0/00%0/20%0/2
setEmptyTokens.ts +
+
0%0/2100%0/00%0/20%0/2
updateThemeGroupName.ts +
+
0%0/2100%0/00%0/20%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html new file mode 100644 index 000000000..9e8f402fd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/index.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './saveTheme';
+export * from './setActiveTheme';
+export * from './setDefaultTokens';
+export * from './setEmptyTokens';
+export * from './assignStyleIdsToCurrentTheme';
+export * from './deleteTheme';
+export * from './assignStyleIdsToTheme';
+export * from './renameStyleIdsToCurrentTheme';
+export * from './removeStyleIdsFromThemes';
+export * from './renameStyleNamesToCurrentTheme';
+export * from './removeStyleNamesFromThemes';
+export * from './updateThemeGroupName';
+export * from './assignVariableIdsToTheme';
+export * from './renameVariableIdsToTheme';
+export * from './renameVariableNamesToThemes';
+export * from './removeVariableNamesFromThemes';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html new file mode 100644 index 000000000..2467fda19 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState removeStyleIdsFromThemes.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function removeStyleIdsFromThemes(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html new file mode 100644 index 000000000..2e0742294 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState removeStyleNamesFromThemes.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function removeStyleNamesFromThemes(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: false,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html new file mode 100644 index 000000000..040d66c71 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState removeVariableNamesFromThemes.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function removeVariableNamesFromThemes(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: false,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html new file mode 100644 index 000000000..9934ec03d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState renameStyleIdsToCurrentTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function renameStyleIdsToCurrentTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html new file mode 100644 index 000000000..5d6e770be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState renameStyleNamesToCurrentTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function renameStyleNamesToCurrentTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: false,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html new file mode 100644 index 000000000..9f31b1799 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState renameVariableIdsToTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function renameVariableIdsToTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html new file mode 100644 index 000000000..c3212b679 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState renameVariableNamesToThemes.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function renameVariableNamesToThemes(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: false,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html new file mode 100644 index 000000000..766c13c9e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/saveTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState saveTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function saveTheme(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html new file mode 100644 index 000000000..bfb6fe644 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/setActiveTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState setActiveTheme.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function setActiveTheme(dispatch: RematchDispatch<RootModel>) {
+  return (payload: { themeId: string, shouldUpdateNodes?: boolean }): void => {
+    dispatch.tokenState.updateDocument({ updateRemote: false, shouldUpdateNodes: payload.shouldUpdateNodes });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html new file mode 100644 index 000000000..9d41c9d0c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/setDefaultTokens.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState setDefaultTokens.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import defaultJSON from '@/config/default.json';
+import type { RootModel } from '@/types/RootModel';
+import parseTokenValues from '@/utils/parseTokenValues';
+import { SetTokenDataPayload } from '@/types/payloads';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+export function setDefaultTokens(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.setTokenData({
+      values: parseTokenValues(defaultJSON as unknown as SetTokenDataPayload['values']),
+      themes: [],
+      activeTheme: {},
+      usedTokenSet: { core: TokenSetStatus.SOURCE, light: TokenSetStatus.ENABLED, theme: TokenSetStatus.ENABLED },
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html new file mode 100644 index 000000000..cc60dc945 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/setEmptyTokens.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState setEmptyTokens.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function setEmptyTokens(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.setTokenData({
+      values: [],
+      themes: [],
+      activeTheme: {},
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html new file mode 100644 index 000000000..01a505cff --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/app/store/models/effects/tokenState/updateThemeGroupName.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects/tokenState updateThemeGroupName.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import type { RematchDispatch } from '@rematch/core';
+import type { RootModel } from '@/types/RootModel';
+ 
+export function updateThemeGroupName(dispatch: RematchDispatch<RootModel>) {
+  return (): void => {
+    dispatch.tokenState.updateDocument({
+      updateRemote: true,
+      shouldUpdateNodes: false,
+    });
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html new file mode 100644 index 000000000..a3c612699 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/store/models/effects/updateCheckForChangesAtomic.ts + + + + + + + + + +
+
+

All files / src/app/store/models/effects updateCheckForChangesAtomic.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export async function updateCheckForChangesAtomic(checkForChanges: boolean) {
+  await AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES,
+    checkForChanges,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html new file mode 100644 index 000000000..e20c44a26 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html @@ -0,0 +1,206 @@ + + + + + + Code coverage report for src/app/store/models + + + + + + + + + +
+
+

All files src/app/store/models

+
+ +
+ 0% + Statements + 0/425 +
+ + +
+ 0% + Branches + 0/186 +
+ + +
+ 0% + Functions + 0/211 +
+ + +
+ 0% + Lines + 0/413 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
branchState.tsx +
+
0%0/2100%0/00%0/10%0/2
index.tsx +
+
0%0/1100%0/0100%0/00%0/1
inspectState.tsx +
+
0%0/60%0/20%0/50%0/6
settings.tsx +
+
0%0/450%0/100%0/350%0/45
tokenState.tsx +
+
0%0/2880%0/1440%0/1070%0/276
uiState.tsx +
+
0%0/620%0/240%0/530%0/62
userState.ts +
+
0%0/210%0/60%0/100%0/21
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html new file mode 100644 index 000000000..32628db46 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/app/store/models/index.tsx + + + + + + + + + +
+
+

All files / src/app/store/models index.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { settings } from './settings';
+import { uiState } from './uiState';
+import { tokenState } from './tokenState';
+import { inspectState } from './inspectState';
+import { userState } from './userState';
+import { branchState } from './branchState';
+import { RootModel } from '@/types/RootModel';
+ 
+export const models: RootModel = {
+  uiState,
+  settings,
+  tokenState,
+  inspectState,
+  userState,
+  branchState,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html new file mode 100644 index 000000000..1bc63b722 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/app/store/models/inspectState.tsx + + + + + + + + + +
+
+

All files / src/app/store/models inspectState.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createModel } from '@rematch/core';
+import { RootModel } from '@/types/RootModel';
+ 
+export interface InspectState {
+  selectedTokens: string[]
+  isShowBrokenReferences: boolean,
+  isShowResolvedReferences: boolean,
+}
+ 
+export const inspectState = createModel<RootModel>()({
+  state: {
+    selectedTokens: [],
+    isShowBrokenReferences: true,
+    isShowResolvedReferences: true,
+  } as InspectState,
+  reducers: {
+    setSelectedTokens: (state, data: string[]) => ({
+      ...state,
+      selectedTokens: data,
+    }),
+    toggleSelectedTokens: (state, data: string) => ({
+      ...state,
+      selectedTokens: state.selectedTokens.includes(data)
+        ? state.selectedTokens.filter((token) => token !== data)
+        : [...state.selectedTokens, data],
+    }),
+    toggleShowBrokenReferences: (state, payload: boolean) => ({
+      ...state,
+      isShowBrokenReferences: payload,
+    }),
+    toggleShowResolvedReferences: (state, payload: boolean) => ({
+      ...state,
+      isShowResolvedReferences: payload,
+    }),
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html new file mode 100644 index 000000000..9d57d83f3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html @@ -0,0 +1,311 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState + + + + + + + + + +
+
+

All files src/app/store/models/reducers/settingsState

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
setCreateStylesWithVariableReferences.ts +
+
0%0/1100%0/00%0/10%0/1
setIgnoreFirstPartForStyles.ts +
+
0%0/1100%0/00%0/10%0/1
setPrefixStylesWithThemeName.ts +
+
0%0/1100%0/00%0/10%0/1
setRemoveStylesAndVariablesWithoutConnection.ts +
+
0%0/1100%0/00%0/10%0/1
setRenameExistingStylesAndVariables.ts +
+
0%0/1100%0/00%0/10%0/1
setShouldSwapStyles.tsx +
+
0%0/1100%0/00%0/10%0/1
setStylesColor.ts +
+
0%0/1100%0/00%0/10%0/1
setStylesEffect.ts +
+
0%0/1100%0/00%0/10%0/1
setStylesTypography.ts +
+
0%0/1100%0/00%0/10%0/1
setVariablesBoolean.ts +
+
0%0/1100%0/00%0/10%0/1
setVariablesColor.ts +
+
0%0/1100%0/00%0/10%0/1
setVariablesNumber.ts +
+
0%0/1100%0/00%0/10%0/1
setVariablesString.ts +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html new file mode 100644 index 000000000..63a603a05 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/index.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './setPrefixStylesWithThemeName';
+export * from './setShouldSwapStyles';
+export * from './setStylesColor';
+export * from './setStylesEffect';
+export * from './setStylesTypography';
+export * from './setVariablesBoolean';
+export * from './setVariablesColor';
+export * from './setVariablesNumber';
+export * from './setVariablesString';
+export * from './setCreateStylesWithVariableReferences';
+export * from './setIgnoreFirstPartForStyles';
+export * from './setRenameExistingStylesAndVariables';
+export * from './setRemoveStylesAndVariablesWithoutConnection';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html new file mode 100644 index 000000000..967f70977 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setCreateStylesWithVariableReferences.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setCreateStylesWithVariableReferences(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    createStylesWithVariableReferences: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html new file mode 100644 index 000000000..4ba6864fc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setIgnoreFirstPartForStyles.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setIgnoreFirstPartForStyles(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    ignoreFirstPartForStyles: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html new file mode 100644 index 000000000..cf0219976 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setPrefixStylesWithThemeName.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setPrefixStylesWithThemeName(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    prefixStylesWithThemeName: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html new file mode 100644 index 000000000..d47119ed7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setRemoveStylesAndVariablesWithoutConnection.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setRemoveStylesAndVariablesWithoutConnection(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    removeStylesAndVariablesWithoutConnection: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html new file mode 100644 index 000000000..d97ce6209 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setRenameExistingStylesAndVariables.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setRenameExistingStylesAndVariables(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    renameExistingStylesAndVariables: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html new file mode 100644 index 000000000..2481699d3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setShouldSwapStyles.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setShouldSwapStyles(state: SettingsState, payload: boolean) {
+  return {
+    ...state,
+    shouldSwapStyles: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html new file mode 100644 index 000000000..c42b5a230 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setStylesColor.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setStylesColor.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setStylesColor(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    stylesColor: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html new file mode 100644 index 000000000..62e63d193 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setStylesEffect.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setStylesEffect.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setStylesEffect(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    stylesEffect: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html new file mode 100644 index 000000000..33a10a36a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setStylesTypography.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setStylesTypography.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setStylesTypography(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    stylesTypography: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html new file mode 100644 index 000000000..4fe42d734 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setVariablesBoolean.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setVariablesBoolean.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setVariablesBoolean(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    variablesBoolean: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html new file mode 100644 index 000000000..8887d63be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setVariablesColor.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setVariablesColor.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setVariablesColor(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    variablesColor: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html new file mode 100644 index 000000000..71f706e72 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setVariablesNumber.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setVariablesNumber.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setVariablesNumber(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    variablesNumber: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html new file mode 100644 index 000000000..4275f6bb5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/app/store/models/reducers/settingsState/setVariablesString.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/settingsState setVariablesString.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { SettingsState } from '../../settings';
+ 
+export function setVariablesString(state: SettingsState, payload: boolean): SettingsState {
+  return {
+    ...state,
+    variablesString: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html new file mode 100644 index 000000000..2730535a8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState assignStyleIdsToCurrentTheme.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+ 
+export function assignStyleIdsToCurrentTheme(state: TokenState, { styleIds, tokens, selectedThemes }: { styleIds: Record<string, string>, tokens: ResolveTokenValuesResult[], selectedThemes: string[] }): TokenState {
+  // ignore if there is no selectedThemes
+  if (selectedThemes.length < 1) return state;
+ 
+  const updatedThemes = [...state.themes];
+  const activeThemes = state.themes.filter((theme) => selectedThemes.some((v) => v === theme.id)).reverse();
+  Object.entries(styleIds).forEach(([tokenName, styleId]) => {
+    // Find the activeTheme object which involved this token
+    const activeTheme = activeThemes.find((theme) => Object.entries(theme.selectedTokenSets).some(([tokenSet, status]) => status === TokenSetStatus.ENABLED
+        && tokenSet === tokens.find((t) => t.name === tokenName)?.internal__Parent));
+    const themeObjectIndex = state.themes.findIndex(({ id }) => activeTheme?.id === id);
+    if (themeObjectIndex !== -1) {
+      updatedThemes.splice(themeObjectIndex, 1, {
+        ...state.themes[themeObjectIndex],
+        $figmaStyleReferences: { ...updatedThemes[themeObjectIndex].$figmaStyleReferences, ...{ [tokenName]: styleId } },
+      });
+    }
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html new file mode 100644 index 000000000..d20564886 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState assignStyleIdsToTheme.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isEqual } from '@/utils/isEqual';
+import type { TokenState } from '../../tokenState';
+ 
+type Payload = {
+  id: string
+  styleIds: Record<string, string>
+};
+ 
+export function assignStyleIdsToTheme(state: TokenState, data: Payload): TokenState {
+  // ignore if the theme does not exist for some reason
+  const themeObjectIndex = state.themes.findIndex(({ id }) => data.id === id);
+  if (
+    themeObjectIndex === -1
+    || isEqual(data.styleIds, state.themes[themeObjectIndex].$figmaStyleReferences)
+  ) return state;
+ 
+  const updatedThemes = [...state.themes];
+  updatedThemes.splice(themeObjectIndex, 1, {
+    ...state.themes[themeObjectIndex],
+    $figmaStyleReferences: { ...state.themes[themeObjectIndex].$figmaStyleReferences, ...data.styleIds },
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html new file mode 100644 index 000000000..3aa4ef29c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState assignVariableIdsToTheme.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+import { LocalVariableInfo } from '@/plugin/createLocalVariablesInPlugin';
+ 
+export function assignVariableIdsToTheme(state: TokenState, variableIds: Record<string, LocalVariableInfo>): TokenState {
+  const updatedThemes = state.themes.map((theme) => (
+    {
+      ...theme,
+      ...(variableIds[theme.id] && {
+        $figmaCollectionId: variableIds[theme.id].collectionId,
+        $figmaModeId: variableIds[theme.id].modeId,
+        $figmaVariableReferences: variableIds[theme.id].variableIds,
+      }),
+    }
+  ));
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html new file mode 100644 index 000000000..c298f1f0d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/deleteTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState deleteTheme.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+export function deleteTheme(state: TokenState, themeId: string): TokenState {
+  const newActiveTheme = state.activeTheme;
+  Object.keys(newActiveTheme).forEach((group) => {
+    if (newActiveTheme[group] === themeId) {
+      delete newActiveTheme[group];
+    }
+  });
+ 
+  return {
+    ...state,
+    themes: state.themes.filter((theme) => theme.id !== themeId),
+    activeTheme: newActiveTheme,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html new file mode 100644 index 000000000..6fa21888f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState disconnectStyleFromTheme.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+type Payload = {
+  id: string
+  key: string | string[]
+};
+ 
+export function disconnectStyleFromTheme(state: TokenState, data: Payload): TokenState {
+  // ignore if the theme does not exist for some reason
+  const themeObjectIndex = state.themes.findIndex(({ id }) => data.id === id);
+  if (
+    themeObjectIndex === -1
+    || !state.themes[themeObjectIndex].$figmaStyleReferences
+    || (typeof data.key === 'string' && !(data.key in state.themes[themeObjectIndex].$figmaStyleReferences!))
+    || (Array.isArray(data.key) && !data.key.some((key) => (key in state.themes[themeObjectIndex].$figmaStyleReferences!)))
+  ) return state;
+ 
+  const updatedThemes = [...state.themes];
+  const theme = state.themes[themeObjectIndex];
+  const updatedFigmaStyleReferences = { ...theme.$figmaStyleReferences };
+  if (typeof data.key === 'string') {
+    delete updatedFigmaStyleReferences[data.key];
+  } else {
+    data.key.forEach((key) => {
+      delete updatedFigmaStyleReferences[key];
+    });
+  }
+  updatedThemes.splice(themeObjectIndex, 1, {
+    ...state.themes[themeObjectIndex],
+    $figmaStyleReferences: { ...updatedFigmaStyleReferences },
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html new file mode 100644 index 000000000..efff96eca --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState disconnectVariableFromTheme.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+type Payload = {
+  id: string
+  key: string | string[]
+};
+ 
+export function disconnectVariableFromTheme(state: TokenState, data: Payload): TokenState {
+  const themeObjectIndex = state.themes.findIndex(({ id }) => data.id === id);
+  if (
+    themeObjectIndex === -1
+    || !state.themes[themeObjectIndex].$figmaVariableReferences
+  ) return state;
+ 
+  const updatedThemes = [...state.themes];
+  const updatedFigmaVariableReferences = { ...(state.themes[themeObjectIndex].$figmaVariableReferences ?? {}) };
+  if (typeof data.key === 'string') {
+    delete updatedFigmaVariableReferences[data.key];
+  } else {
+    data.key.forEach((key) => {
+      delete updatedFigmaVariableReferences[key];
+    });
+  }
+  updatedThemes.splice(themeObjectIndex, 1, {
+    ...state.themes[themeObjectIndex],
+    $figmaVariableReferences: { ...updatedFigmaVariableReferences },
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html new file mode 100644 index 000000000..6c9154930 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html @@ -0,0 +1,461 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState + + + + + + + + + +
+
+

All files src/app/store/models/reducers/tokenState

+
+ +
+ 0% + Statements + 0/224 +
+ + +
+ 0% + Branches + 0/158 +
+ + +
+ 0% + Functions + 0/77 +
+ + +
+ 0% + Lines + 0/207 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
assignStyleIdsToCurrentTheme.ts +
+
0%0/160%0/60%0/80%0/10
assignStyleIdsToTheme.ts +
+
0%0/70%0/40%0/20%0/6
assignVariableIdsToTheme.ts +
+
0%0/30%0/20%0/20%0/3
deleteTheme.ts +
+
0%0/60%0/20%0/30%0/6
disconnectStyleFromTheme.ts +
+
0%0/140%0/100%0/40%0/13
disconnectVariableFromTheme.ts +
+
0%0/120%0/80%0/30%0/11
index.ts +
+
0%0/00%0/00%0/00%0/0
removeStyleIdsFromThemes.ts +
+
0%0/90%0/40%0/30%0/8
removeStyleNamesFromThemes.ts +
+
0%0/90%0/60%0/30%0/8
removeVariableNamesFromThemes.ts +
+
0%0/80%0/60%0/30%0/7
renameStyleIdsToCurrentTheme.ts +
+
0%0/130%0/60%0/40%0/13
renameStyleNamesToCurrentTheme.ts +
+
0%0/130%0/40%0/40%0/13
renameTokenSet.ts +
+
0%0/50%0/60%0/20%0/5
renameTokenSetFolder.ts +
+
0%0/50%0/80%0/20%0/5
renameVariableIdsToTheme.ts +
+
0%0/140%0/60%0/40%0/13
renameVariableNamesToThemes.ts +
+
0%0/120%0/40%0/40%0/12
saveTheme.ts +
+
0%0/200%0/180%0/40%0/19
setActiveTheme.ts +
+
0%0/120%0/60%0/70%0/10
setDefaultTokens.ts +
+
0%0/1100%0/00%0/10%0/1
setEmptyTokens.ts +
+
0%0/1100%0/00%0/10%0/1
setTokenData.ts +
+
0%0/200%0/320%0/60%0/19
toggleManyTokenSets.ts +
+
0%0/70%0/20%0/40%0/7
toggleUsedTokenSet.ts +
+
0%0/10%0/20%0/10%0/1
updateThemeGroupName.ts +
+
0%0/160%0/160%0/20%0/16
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html new file mode 100644 index 000000000..02fb24093 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/index.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './saveTheme';
+export * from './setActiveTheme';
+export * from './deleteTheme';
+export * from './setTokenData';
+export * from './setEmptyTokens';
+export * from './setDefaultTokens';
+export * from './assignStyleIdsToCurrentTheme';
+export * from './renameTokenSet';
+export * from './renameTokenSetFolder';
+export * from './toggleManyTokenSets';
+export * from './toggleUsedTokenSet';
+export * from './assignStyleIdsToTheme';
+export * from './disconnectStyleFromTheme';
+export * from './renameStyleIdsToCurrentTheme';
+export * from './removeStyleIdsFromThemes';
+export * from './renameStyleNamesToCurrentTheme';
+export * from './removeStyleNamesFromThemes';
+export * from './updateThemeGroupName';
+export * from './assignVariableIdsToTheme';
+export * from './disconnectVariableFromTheme';
+export * from './renameVariableIdsToTheme';
+export * from './renameVariableNamesToThemes';
+export * from './removeVariableNamesFromThemes';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html new file mode 100644 index 000000000..3d6e837be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState removeStyleIdsFromThemes.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+export function removeStyleIdsFromThemes(state: TokenState, styleIds: string[]): TokenState {
+  const updatedThemes = [...state.themes];
+  updatedThemes.forEach((theme) => {
+    const updatedTokens = theme.$figmaStyleReferences;
+    if (updatedTokens) {
+      Object.entries(updatedTokens).forEach(([key, styleId]) => {
+        if (styleIds.includes(styleId)) delete updatedTokens[key];
+      });
+    }
+    theme = {
+      ...theme,
+      $figmaStyleReferences: updatedTokens,
+    };
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html new file mode 100644 index 000000000..2158ba5bf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState removeStyleNamesFromThemes.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import type { TokenState } from '../../tokenState';
+ 
+export function removeStyleNamesFromThemes(state: TokenState, name: string, parent: string): TokenState {
+  const updatedThemes = [...state.themes];
+  updatedThemes.forEach((theme) => {
+    const updatedTokens = { ...theme.$figmaStyleReferences };
+    if (theme.selectedTokenSets[parent] === TokenSetStatus.ENABLED && updatedTokens) {
+      Object.entries(updatedTokens).forEach(([key]) => {
+        if (name === key) delete updatedTokens[key];
+      });
+    }
+    theme = {
+      ...theme,
+      $figmaStyleReferences: updatedTokens,
+    };
+  });
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html new file mode 100644 index 000000000..37487f97f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState removeVariableNamesFromThemes.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import type { TokenState } from '../../tokenState';
+ 
+export function removeVariableNamesFromThemes(state: TokenState, name: string, parent: string): TokenState {
+  const newThemes = state.themes.map((theme) => {
+    const updatedTokens = { ...theme.$figmaVariableReferences };
+    if (theme.selectedTokenSets[parent] === TokenSetStatus.ENABLED && updatedTokens) {
+      Object.entries(updatedTokens).forEach(([key]) => {
+        if (name === key) delete updatedTokens[key];
+      });
+    }
+    return {
+      ...theme,
+      $figmaVariableReferences: updatedTokens,
+    };
+  });
+  return {
+    ...state,
+    themes: newThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html new file mode 100644 index 000000000..1b644dc69 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState renameStyleIdsToCurrentTheme.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokensToRenamePayload } from '@/app/store/useTokens';
+import type { TokenState } from '../../tokenState';
+ 
+export function renameStyleIdsToCurrentTheme(state: TokenState, styleIds: string[], tokensToRename: TokensToRenamePayload[]): TokenState {
+  const updatedThemes = [...state.themes];
+  const oldToNewNameMap = tokensToRename.reduce<Record<string, string>>((acc, curr) => {
+    acc[curr.oldName] = curr.newName;
+    return acc;
+  }, {});
+  updatedThemes.forEach((theme) => {
+    const updatedTokens = theme.$figmaStyleReferences;
+    if (updatedTokens) {
+      Object.entries(updatedTokens).forEach(([oldName, styleId]) => {
+        if (styleIds.includes(styleId) && oldToNewNameMap[oldName]) {
+          updatedTokens[oldToNewNameMap[oldName]] = updatedTokens[oldName];
+          delete updatedTokens[oldName];
+        }
+      });
+    }
+    theme = {
+      ...theme,
+      $figmaStyleReferences: updatedTokens,
+    };
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html new file mode 100644 index 000000000..0c7d70db0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState renameStyleNamesToCurrentTheme.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokensToRenamePayload } from '@/app/store/useTokens';
+import type { TokenState } from '../../tokenState';
+ 
+export function renameStyleNamesToCurrentTheme(state: TokenState, tokensToRename: TokensToRenamePayload[]): TokenState {
+  const updatedThemes = [...state.themes];
+  const oldToNewNameMap = tokensToRename.reduce<Record<string, string>>((acc, curr) => {
+    acc[curr.oldName] = curr.newName;
+    return acc;
+  }, {});
+  updatedThemes.forEach((theme) => {
+    const updatedTokens = { ...theme.$figmaStyleReferences };
+    if (updatedTokens) {
+      Object.entries(updatedTokens).forEach(([key]) => {
+        if (oldToNewNameMap[key]) {
+          updatedTokens[oldToNewNameMap[key]] = updatedTokens[key];
+          delete updatedTokens[key];
+        }
+      });
+    }
+    theme = {
+      ...theme,
+      $figmaStyleReferences: updatedTokens,
+    };
+  });
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html new file mode 100644 index 000000000..39dae1b04 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/renameTokenSet.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState renameTokenSet.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { notifyToUI } from '@/plugin/notifiers';
+import type { TokenState } from '../../tokenState';
+import { updateTokenSetsInState } from '@/utils/tokenset/updateTokenSetsInState';
+ 
+type Payload = {
+  oldName: string
+  newName: string
+};
+ 
+export function renameTokenSet(state: TokenState, data: Payload): TokenState {
+  if (
+    Object.keys(state.tokens).includes(data.newName)
+    && data.oldName !== data.newName
+  ) {
+    notifyToUI('Token set already exists', { error: true });
+    return state;
+  }
+ 
+  return updateTokenSetsInState(
+    state,
+    (setName, tokenSet) => (
+      setName === data.oldName
+        ? [data.newName, tokenSet]
+        : [setName, tokenSet]
+    ),
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html new file mode 100644 index 000000000..fd712f2e9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState renameTokenSetFolder.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { notifyToUI } from '@/plugin/notifiers';
+import { updateTokenSetsInState } from '@/utils/tokenset/updateTokenSetsInState';
+import type { TokenState } from '../../tokenState';
+ 
+type Payload = {
+  oldName: string
+  newName: string
+};
+ 
+export function renameTokenSetFolder(state: TokenState, data: Payload): TokenState {
+  if (
+    Object.keys(state.tokens).includes(data.newName)
+    && data.oldName !== data.newName
+  ) {
+    notifyToUI('Folder name already exists', { error: true });
+    return state;
+  }
+ 
+  return updateTokenSetsInState(
+    state,
+    (setName, tokenSet) => (
+      setName.indexOf(data.oldName) === 0 && setName[data.oldName.length] === '/'
+        ? [data.newName + setName.slice(data.oldName.length, setName.length), tokenSet]
+        : [setName, tokenSet]
+    ),
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html new file mode 100644 index 000000000..4f46ee83b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState renameVariableIdsToTheme.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+export type RenameVariableToken = {
+  oldName: string,
+  newName: string,
+  variableIds: string[]
+};
+export function renameVariableIdsToTheme(state: TokenState, variableTokens: RenameVariableToken[]): TokenState {
+  const updatedThemes = [...state.themes];
+  const variableTokenMap = new Map<string, RenameVariableToken>();
+  variableTokens.forEach((token) => variableTokenMap.set(token.oldName, token));
+  updatedThemes.forEach((theme) => {
+    const updatedTokens = theme.$figmaVariableReferences;
+    if (updatedTokens) {
+      Object.entries(updatedTokens).forEach(([key, variableId]) => {
+        const renameInfo = variableTokenMap.get(key);
+        if (renameInfo && renameInfo.variableIds.includes(variableId)) {
+          updatedTokens[renameInfo.newName] = updatedTokens[key];
+          delete updatedTokens[key];
+        }
+      });
+    }
+    theme = {
+      ...theme,
+      $figmaVariableReferences: updatedTokens,
+    };
+  });
+ 
+  return {
+    ...state,
+    themes: updatedThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html new file mode 100644 index 000000000..f0f33e4e5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState renameVariableNamesToThemes.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokensToRenamePayload } from '@/app/store/useTokens';
+import type { TokenState } from '../../tokenState';
+ 
+export function renameVariableNamesToThemes(state: TokenState, tokensToRename: TokensToRenamePayload[]): TokenState {
+  const oldToNewNameMap = tokensToRename.reduce<Record<string, string>>((acc, curr) => {
+    acc[curr.oldName] = curr.newName;
+    return acc;
+  }, {});
+  const newThemes = state.themes.map((theme) => {
+    const updatedVariablesReferences = theme.$figmaVariableReferences;
+    if (updatedVariablesReferences) {
+      Object.entries(updatedVariablesReferences).forEach(([key]) => {
+        if (oldToNewNameMap[key]) {
+          updatedVariablesReferences[oldToNewNameMap[key]] = updatedVariablesReferences[key];
+          delete updatedVariablesReferences[key];
+        }
+      });
+    }
+    return {
+      ...theme,
+      $figmaVariableReferences: updatedVariablesReferences,
+    };
+  });
+  return {
+    ...state,
+    themes: newThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html new file mode 100644 index 000000000..0b89a7684 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/saveTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState saveTheme.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import hash from 'object-hash';
+import omit from 'just-omit';
+import { ThemeObject } from '@/types';
+import type { TokenState } from '../../tokenState';
+import { setActiveTheme } from './setActiveTheme';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
+ 
+type Payload = Omit<ThemeObject, 'id' | '$figmaStyleReferences'> & {
+  id?: string,
+  group?: string,
+  meta?: {
+    oldName?: string,
+    oldGroup?: string,
+  }
+};
+ 
+export function saveTheme(state: TokenState, data: Payload): TokenState {
+  const isNewTheme = !data.id;
+  const themeId = data.id || hash([Date.now(), data]);
+  const isActiveTheme = Object.values(state.activeTheme).includes(themeId);
+  const selectedTokenSets = Object.fromEntries(
+    Object.entries(data.selectedTokenSets)
+      .filter(([, status]) => (status !== TokenSetStatus.DISABLED)),
+  );
+  const themeObjectIndex = state.themes.findIndex((theme) => theme.id === themeId);
+  const startIndex = themeObjectIndex > -1 ? themeObjectIndex : state.themes.length;
+ 
+  const updatedThemes = [...state.themes];
+  updatedThemes.splice(startIndex, 1, {
+    ...omit(state.themes[themeObjectIndex], 'group'),
+    id: themeId,
+    name: data.name,
+    $figmaStyleReferences: state.themes[themeObjectIndex]?.$figmaStyleReferences ?? {},
+    selectedTokenSets,
+    ...(data?.group ? { group: data.group } : {}),
+  });
+ 
+  const newActiveTheme = state.activeTheme;
+  if (!isActiveTheme) {
+    Object.keys(newActiveTheme).forEach((group) => {
+      if (newActiveTheme[group] === themeId) {
+        delete newActiveTheme[group];
+      }
+    });
+  } else {
+    newActiveTheme[data?.group ?? INTERNAL_THEMES_NO_GROUP] = themeId;
+  }
+  const nextState: TokenState = {
+    ...state,
+    themes: updatedThemes,
+  };
+ 
+  if (isActiveTheme || isNewTheme) {
+    // @README if this theme is currently active or if it's a new theme
+    // we will also run the setActiveTheme reducer
+    // we don't want to update nodes or styles though.
+    return setActiveTheme(nextState, { newActiveTheme, shouldUpdateNodes: false });
+  }
+ 
+  return nextState;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html new file mode 100644 index 000000000..21425e79f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/setActiveTheme.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState setActiveTheme.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import type { TokenState } from '../../tokenState';
+ 
+// Needed to add a flag if all nodes should be updated, as otherwise all nodes are updated when we launch the plugin which we dont want to do. Feel free to refactor this.
+// This flag is only needed in the effects file, but we're declaring properties here
+export function setActiveTheme(state: TokenState, { newActiveTheme }: { newActiveTheme: Record<string, string>, shouldUpdateNodes?: boolean }): TokenState {
+  // Filter activeThemes
+  const activeThemeObjectList = state.themes.filter((theme) => Object.values(newActiveTheme).some((v) => v === theme.id));
+  // Store all activeTokenSets through all activeThemes
+  const selectedTokenSets: Record<string, TokenSetStatus> = {};
+  activeThemeObjectList.forEach((theme) => {
+    Object.entries(theme.selectedTokenSets).forEach(([tokenSet, status]) => {
+      if (status !== TokenSetStatus.DISABLED) {
+        selectedTokenSets[tokenSet] = status;
+      }
+    });
+  });
+  const usedTokenSetsMap = activeThemeObjectList.length > 0
+    ? Object.fromEntries(
+      Object.keys(state.tokens).map((tokenSet) => (
+        [tokenSet, selectedTokenSets?.[tokenSet] ?? TokenSetStatus.DISABLED]
+      )),
+    )
+    : Object.fromEntries(
+      Object.keys(state.tokens).map((tokenSet) => (
+        [tokenSet, TokenSetStatus.DISABLED]
+      )),
+    );
+  return {
+    ...state,
+    usedTokenSet: usedTokenSetsMap,
+    activeTheme: newActiveTheme,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html new file mode 100644 index 000000000..2e094088d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/setDefaultTokens.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState setDefaultTokens.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+export function setDefaultTokens(state: TokenState): TokenState {
+  return state;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html new file mode 100644 index 000000000..4c64f34b3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/setEmptyTokens.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState setEmptyTokens.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import type { TokenState } from '../../tokenState';
+ 
+export function setEmptyTokens(state: TokenState): TokenState {
+  return state;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html new file mode 100644 index 000000000..ada2f5113 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/setTokenData.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState setTokenData.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/32 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import type { SetTokenDataPayload } from '@/types/payloads';
+import parseTokenValues from '@/utils/parseTokenValues';
+import type { TokenState } from '../../tokenState';
+import removeIdPropertyFromTokens from '@/utils/removeIdPropertyFromTokens';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { TokenStore } from '@/types/tokens';
+import { checkStorageSize } from '@/utils/checkStorageSize';
+ 
+export function setTokenData(state: TokenState, payload: SetTokenDataPayload): TokenState {
+  if (payload.values.length === 0) {
+    return state;
+  }
+  let values;
+  if (!Array.isArray) {
+    values = payload.values as TokenStore['values'];
+  } else {
+    values = parseTokenValues(payload.values);
+  }
+ 
+  const tokensSize = payload.values ? checkStorageSize(payload.values) : state.tokensSize;
+  const themesSize = payload.themes ? checkStorageSize(payload.themes) : state.themesSize;
+ 
+  const allAvailableTokenSets = Object.keys(values);
+  const usedTokenSets = Object.fromEntries(
+    allAvailableTokenSets.map((tokenSet) => [tokenSet, payload.usedTokenSet?.[tokenSet] ?? TokenSetStatus.DISABLED]),
+  );
+  const newActiveTheme = payload.activeTheme;
+  Object.entries(newActiveTheme ?? {}).forEach(([group, activeTheme]) => {
+    if (!payload.themes?.find((t) => t.id === activeTheme) && newActiveTheme) {
+      delete newActiveTheme[group];
+    }
+  });
+ 
+  const tokenValues = Array.isArray(payload.values) ? payload.values : removeIdPropertyFromTokens(payload.values);
+ 
+  // When the remote data has changed, we will update the last synced state
+  const lastSyncedState = payload.hasChangedRemote ? JSON.stringify(compact([tokenValues, payload.themes, TokenFormat.format]), null, 2) : state.lastSyncedState;
+ 
+  // @README (1) for the sake of normalization we will set the DISABLED status for all available token sets
+  // this way we can always be certain the status is available. This behavior is also reflected in the createTokenSet logic
+  return {
+    ...state,
+    lastSyncedState,
+    tokens: values,
+    themes: (payload.themes ?? []).map((theme) => ({
+      ...theme,
+      selectedTokenSets: Object.fromEntries(
+        Object.entries(theme.selectedTokenSets).filter(
+          ([setName, status]) => allAvailableTokenSets.includes(setName) && status !== TokenSetStatus.DISABLED,
+        ),
+      ),
+    })),
+    activeTheme: newActiveTheme ?? {},
+    ...(Object.keys(payload.values).includes(state.activeTokenSet)
+      ? {}
+      : {
+        activeTokenSet: Array.isArray(payload.values) ? 'global' : Object.keys(payload.values)[0],
+      }),
+    usedTokenSet: Array.isArray(payload.values) ? { global: TokenSetStatus.ENABLED } : usedTokenSets,
+    tokensSize,
+    themesSize,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html new file mode 100644 index 000000000..3cf3f9fef --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState toggleManyTokenSets.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { ToggleManyTokenSetsPayload } from '@/types/payloads';
+import type { TokenState } from '../../tokenState';
+ 
+export function toggleManyTokenSets(state: TokenState, data: ToggleManyTokenSetsPayload): TokenState {
+  const oldSetsWithoutInput = Object.fromEntries(
+    Object.entries(state.usedTokenSet)
+      .filter(([tokenSet]) => !data.sets.includes(tokenSet)),
+  );
+ 
+  if (data.shouldCheck) {
+    return {
+      ...state,
+      activeTheme: {},
+      usedTokenSet: {
+        ...oldSetsWithoutInput,
+        ...Object.fromEntries(data.sets.map((tokenSet) => ([tokenSet, TokenSetStatus.ENABLED]))),
+      },
+    };
+  }
+ 
+  return {
+    ...state,
+    activeTheme: {},
+    usedTokenSet: {
+      ...oldSetsWithoutInput,
+      ...Object.fromEntries(data.sets.map((tokenSet) => ([tokenSet, TokenSetStatus.DISABLED]))),
+      // @README see comment (1) - ensure that all token sets are always available
+    },
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html new file mode 100644 index 000000000..f25cf179d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState toggleUsedTokenSet.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import type { TokenState } from '../../tokenState';
+ 
+export function toggleUsedTokenSet(state: TokenState, tokenSet: string): TokenState {
+  return {
+    ...state,
+    activeTheme: {},
+    usedTokenSet: {
+      ...state.usedTokenSet,
+      // @README it was decided the user can not simply toggle to the intermediate SOURCE state
+      // this means for toggling we only switch between ENABLED and DISABLED
+      // setting as source is a separate action
+      [tokenSet]: state.usedTokenSet[tokenSet] === TokenSetStatus.DISABLED
+        ? TokenSetStatus.ENABLED
+        : TokenSetStatus.DISABLED,
+    },
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html new file mode 100644 index 000000000..d98eeb9e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/app/store/models/reducers/tokenState/updateThemeGroupName.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/tokenState updateThemeGroupName.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObjectsList } from '@/types';
+import type { TokenState } from '../../tokenState';
+import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
+ 
+export function updateThemeGroupName(state: TokenState, oldGroupName: string, newGroupName: string): TokenState {
+  const updatedThemes: ThemeObjectsList = [];
+  state.themes.forEach((theme) => {
+    if (oldGroupName === INTERNAL_THEMES_NO_GROUP && !theme?.group) {
+      updatedThemes.push({
+        ...theme,
+        ...(newGroupName ? { group: newGroupName } : {}),
+      });
+    } else if (oldGroupName !== INTERNAL_THEMES_NO_GROUP && theme.group === oldGroupName) {
+      if (newGroupName) {
+        updatedThemes.push({
+          ...theme,
+          group: newGroupName,
+        });
+      } else {
+        delete theme.group;
+        updatedThemes.push(theme);
+      }
+    } else {
+      updatedThemes.push(theme);
+    }
+  });
+ 
+  const newActiveTheme = state.activeTheme;
+  if (state.activeTheme?.[oldGroupName]) {
+    newActiveTheme[newGroupName || INTERNAL_THEMES_NO_GROUP] = newActiveTheme[oldGroupName];
+    delete newActiveTheme?.[oldGroupName];
+  }
+  const nextState: TokenState = {
+    ...state,
+    themes: updatedThemes,
+    activeTheme: newActiveTheme,
+  };
+ 
+  return nextState;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html new file mode 100644 index 000000000..bea09720a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/store/models/reducers/userState + + + + + + + + + +
+
+

All files src/app/store/models/reducers/userState

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
setLicenseStatus.ts +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html new file mode 100644 index 000000000..a0069e239 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/store/models/reducers/userState/index.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/userState index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './setLicenseStatus';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html new file mode 100644 index 000000000..f23cde174 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/store/models/reducers/userState/setLicenseStatus.ts + + + + + + + + + +
+
+

All files / src/app/store/models/reducers/userState setLicenseStatus.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import type { LicenseStatus } from '@/constants/LicenseStatus';
+import type { UserState } from '../../userState';
+ 
+export function setLicenseStatus(state: UserState, payload: LicenseStatus): UserState {
+  return {
+    ...state,
+    licenseStatus: payload,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html new file mode 100644 index 000000000..4c130b00f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html @@ -0,0 +1,937 @@ + + + + + + Code coverage report for src/app/store/models/settings.tsx + + + + + + + + + +
+
+

All files / src/app/store/models settings.tsx

+
+ +
+ 0% + Statements + 0/45 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/35 +
+ + +
+ 0% + Lines + 0/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable import/prefer-default-export */
+import { createModel } from '@rematch/core';
+import i18next from 'i18next';
+import { track } from '@/utils/analytics';
+import { RootModel } from '@/types/RootModel';
+import { UpdateMode } from '@/constants/UpdateMode';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import * as settingsStateReducers from './reducers/settingsState';
+import * as settingsStateEffects from './effects/settingsState';
+import { defaultBaseFontSize } from '@/constants/defaultBaseFontSize';
+import { setupReplay } from '@/app/sentry';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+ 
+type WindowSettingsType = {
+  width: number;
+  height: number;
+  isMinimized: boolean;
+};
+ 
+type TokenModeType = 'object' | 'array';
+ 
+export interface SettingsState {
+  language: string,
+  uiWindow?: WindowSettingsType;
+  updateMode: UpdateMode;
+  updateRemote: boolean;
+  updateOnChange?: boolean;
+  applyVariablesStylesOrRawValue?: ApplyVariablesStylesOrRawValues;
+  tokenType?: TokenModeType;
+  inspectDeep: boolean;
+  shouldSwapStyles: boolean;
+  shouldUpdateStyles: boolean;
+  baseFontSize: string;
+  aliasBaseFontSize: string;
+  /**
+   * Whether the user has opted in for session recording in Sentry
+  */
+  sessionRecording: boolean;
+  storeTokenIdInJsonEditor: boolean;
+  /*
+   * Export styles and variables options
+  */
+  variablesColor: boolean;
+  variablesString: boolean;
+  variablesNumber: boolean;
+  variablesBoolean: boolean;
+  stylesColor: boolean;
+  stylesTypography: boolean;
+  stylesEffect: boolean;
+  ignoreFirstPartForStyles?: boolean;
+  prefixStylesWithThemeName?: boolean;
+  createStylesWithVariableReferences?: boolean;
+  renameExistingStylesAndVariables?: boolean;
+  removeStylesAndVariablesWithoutConnection?: boolean;
+}
+ 
+const setUI = (state: SettingsState) => {
+  AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.SET_UI,
+    ...state,
+  });
+};
+ 
+export const settings = createModel<RootModel>()({
+  state: {
+    uiWindow: {
+      width: 400,
+      height: 600,
+      isMinimized: false,
+    },
+    language: 'en',
+    sessionRecording: false,
+    updateMode: UpdateMode.SELECTION,
+    updateRemote: true,
+    updateOnChange: false,
+    applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues.VARIABLES_STYLES,
+    tokenType: 'object',
+    ignoreFirstPartForStyles: false,
+    prefixStylesWithThemeName: false,
+    renameExistingStylesAndVariables: false,
+    removeStylesAndVariablesWithoutConnection: false,
+    createStylesWithVariableReferences: false,
+    inspectDeep: false,
+    shouldSwapStyles: false,
+    shouldUpdateStyles: false,
+    baseFontSize: defaultBaseFontSize,
+    aliasBaseFontSize: defaultBaseFontSize,
+    storeTokenIdInJsonEditor: false,
+    variablesColor: true,
+    variablesString: true,
+    variablesNumber: true,
+    variablesBoolean: true,
+    stylesColor: true,
+    stylesTypography: true,
+    stylesEffect: true,
+  } as SettingsState,
+  reducers: {
+    ...settingsStateReducers,
+    setSessionRecording(state, payload: boolean) {
+      if (payload) {
+        // Setup the session recording if it's not already setup
+        setupReplay();
+      }
+ 
+      return {
+        ...state,
+        sessionRecording: payload,
+      };
+    },
+    setInspectDeep(state, payload: boolean) {
+      return {
+        ...state,
+        inspectDeep: payload,
+      };
+    },
+    setLanguage(state, payload: string) {
+      return {
+        ...state,
+        language: payload,
+      };
+    },
+    setWindowSize(state, payload: { width: number; height: number }) {
+      return {
+        ...state,
+        uiWindow: {
+          isMinimized: state.uiWindow?.isMinimized ?? false,
+          width: payload.width,
+          height: payload.height,
+        },
+      };
+    },
+    setMinimizePluginWindow(state, payload: { isMinimized: boolean; width: number; height: number }) {
+      track('Minimized plugin');
+      return {
+        ...state,
+        uiWindow: {
+          width: payload.width,
+          height: payload.height,
+          isMinimized: payload.isMinimized,
+        },
+      };
+    },
+    setUISettings(state, payload: SettingsState) {
+      // track ui setting to see usage
+      track('ignoreFirstPart', { isSet: payload.ignoreFirstPartForStyles });
+ 
+      if (payload.sessionRecording) {
+        // Setup the initial session recording
+        setupReplay();
+      }
+ 
+      return {
+        ...state,
+        ...payload,
+      };
+    },
+    setBaseFontSize(state, payload: string) {
+      return {
+        ...state,
+        baseFontSize: payload,
+      };
+    },
+    setAliasBaseFontSize(state, payload: string) {
+      return {
+        ...state,
+        aliasBaseFontSize: payload,
+      };
+    },
+    triggerWindowChange(state) {
+      setUI(state);
+      return state;
+    },
+    setUpdateMode(state, payload: UpdateMode) {
+      return {
+        ...state,
+        updateMode: payload,
+      };
+    },
+    setUpdateRemote(state, payload: boolean) {
+      return {
+        ...state,
+        updateRemote: payload,
+      };
+    },
+    setUpdateOnChange(state, payload: boolean) {
+      return {
+        ...state,
+        updateOnChange: payload,
+      };
+    },
+    setApplyVariablesStyleOrRawValue(state, payload: ApplyVariablesStylesOrRawValues) {
+      return {
+        ...state,
+        applyVariablesStylesOrRawValue: payload,
+      };
+    },
+    setShouldSwapStyles(state, payload: boolean) {
+      return {
+        ...state,
+        shouldSwapStyles: payload,
+      };
+    },
+    setShouldUpdateStyles(state, payload: boolean) {
+      return {
+        ...state,
+        shouldUpdateStyles: payload,
+      };
+    },
+    setTokenType(state, payload: TokenModeType) {
+      return {
+        ...state,
+        tokenType: payload,
+      };
+    },
+    setStoreTokenIdInJsonEditorSelector(state, payload: boolean) {
+      return {
+        ...state,
+        storeTokenIdInJsonEditor: payload,
+      };
+    },
+  },
+  effects: () => ({
+    setLanguage: (payload: string, rootState) => {
+      i18next.changeLanguage(payload);
+      setUI(rootState.settings);
+    },
+    setWindowSize: (payload) => {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.RESIZE_WINDOW,
+        width: payload.width,
+        height: payload.height,
+      });
+    },
+    setMinimizePluginWindow: (payload) => {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.RESIZE_WINDOW,
+        width: payload.isMinimized ? 50 : payload.width,
+        height: payload.isMinimized ? 50 : payload.height,
+      });
+    },
+    setShouldSwapStyles: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setShouldUpdateStyles: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setUpdateMode: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setUpdateRemote: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setUpdateOnChange: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setApplyVariablesStyleOrRawValue: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setInspectDeep: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setUISettings: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setSessionRecording: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setBaseFontSize: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setAliasBaseFontSize: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    setStoreTokenIdInJsonEditorSelector: (payload, rootState) => {
+      setUI(rootState.settings);
+    },
+    ...Object.fromEntries(
+      (Object.entries(settingsStateEffects).map(([key, factory]) => (
+        [key, factory()]
+      ))),
+    ),
+  }),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html new file mode 100644 index 000000000..5d12053c1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html @@ -0,0 +1,2983 @@ + + + + + + Code coverage report for src/app/store/models/tokenState.tsx + + + + + + + + + +
+
+

All files / src/app/store/models tokenState.tsx

+
+ +
+ 0% + Statements + 0/288 +
+ + +
+ 0% + Branches + 0/144 +
+ + +
+ 0% + Functions + 0/107 +
+ + +
+ 0% + Lines + 0/276 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable import/prefer-default-export */
+import { compressToUTF16 } from 'lz-string';
+import omit from 'just-omit';
+import { createModel } from '@rematch/core';
+import extend from 'just-extend';
+import { v4 as uuidv4 } from 'uuid';
+import * as tokenStateReducers from './reducers/tokenState';
+import * as tokenStateEffects from './effects/tokenState';
+import parseTokenValues from '@/utils/parseTokenValues';
+import { notifyToUI } from '@/plugin/notifiers';
+import parseJson from '@/utils/parseJson';
+import { TokenData } from '@/types/SecondScreen';
+import updateTokensOnSources from '../updateSources';
+import {
+  AnyTokenList, ImportToken, SingleToken, TokenStore, TokenToRename,
+} from '@/types/tokens';
+import { updateCheckForChangesAtomic } from './effects/updateCheckForChangesAtomic';
+import {
+  DeleteTokenPayload,
+  SetTokenDataPayload,
+  SetTokensFromStylesPayload,
+  UpdateDocumentPayload,
+  UpdateTokenPayload,
+  RenameTokenGroupPayload,
+  DuplicateTokenGroupPayload,
+  DuplicateTokenPayload,
+  DeleteTokenGroupPayload,
+  StyleToCreateToken,
+  VariableToCreateToken,
+  SetTokensFromVariablesPayload,
+} from '@/types/payloads';
+import { updateTokenPayloadToSingleToken } from '@/utils/updateTokenPayloadToSingleToken';
+import { RootModel } from '@/types/RootModel';
+import { ThemeObjectsList, UsedTokenSetsMap } from '@/types';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { isEqual } from '@/utils/isEqual';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { updateTokenSetsInState } from '@/utils/tokenset/updateTokenSetsInState';
+import { TokenTypes } from '@/constants/TokenTypes';
+import tokenTypes from '@/config/tokenType.defs.json';
+import { CompareStateType, findDifferentState } from '@/utils/findDifferentState';
+import { RenameTokensAcrossSetsPayload } from '@/types/payloads/RenameTokensAcrossSets';
+import { wrapTransaction } from '@/profiling/transaction';
+import addIdPropertyToTokens from '@/utils/addIdPropertyToTokens';
+import { TokenFormat, TokenFormatOptions, setFormat } from '@/plugin/TokenFormatStoreClass';
+import { pushToTokensStudio } from '../providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import {
+  createTokenInTokensStudio,
+  duplicateTokenInTokensStudio,
+  createTokenSetInTokensStudio,
+  updateTokenSetInTokensStudio,
+} from '@/storage/tokensStudio';
+import { deleteTokenSetFromTokensStudio } from '@/storage/tokensStudio/deleteTokenSetFromTokensStudio';
+import { updateAliasesInState } from '../utils/updateAliasesInState';
+import { CreateSingleTokenData, EditSingleTokenData } from '../useManageTokens';
+import { singleTokensToRawTokenSet } from '@/utils/convert';
+import { checkStorageSize } from '@/utils/checkStorageSize';
+ 
+export interface TokenState {
+  tokens: Record<string, AnyTokenList>;
+  stringTokens: string;
+  themes: ThemeObjectsList;
+  lastSyncedState: string; // @README for reference, at this time this is a JSON stringified representation of the tokens and themes ([tokens, themes])
+  importedTokens: {
+    newTokens: ImportToken[];
+    updatedTokens: ImportToken[];
+  };
+  activeTheme: Record<string, string>;
+  activeTokenSet: string;
+  usedTokenSet: UsedTokenSetsMap;
+  editProhibited: boolean;
+  hasUnsavedChanges: boolean;
+  collapsedTokenSets: string[];
+  collapsedTokenTypeObj: Record<TokenTypes, boolean>;
+  checkForChanges: boolean;
+  collapsedTokens: string[];
+  changedState: CompareStateType;
+  remoteData: CompareStateType;
+  tokenFormat: TokenFormatOptions;
+  tokenSetMetadata: Record<string, { isDynamic?: boolean }>;
+  importedThemes: {
+    newThemes: ThemeObjectsList;
+    updatedThemes: ThemeObjectsList;
+  };
+  compressedTokens: string;
+  compressedThemes: string;
+  tokensSize: number;
+  themesSize: number;
+}
+ 
+export const tokenState = createModel<RootModel>()({
+  state: {
+    tokens: {
+      global: [],
+    },
+    stringTokens: '',
+    themes: [],
+    lastSyncedState: JSON.stringify([{ global: [] }, []], null, 2),
+    importedTokens: {
+      newTokens: [],
+      updatedTokens: [],
+    },
+    activeTheme: {},
+    activeTokenSet: 'global',
+    usedTokenSet: {
+      global: TokenSetStatus.ENABLED,
+    },
+    editProhibited: false,
+    hasUnsavedChanges: false,
+    collapsedTokenSets: [],
+    collapsedTokenTypeObj: Object.keys(tokenTypes).reduce<Partial<Record<TokenTypes, boolean>>>((acc, tokenType) => {
+      acc[tokenType as TokenTypes] = false;
+      return acc;
+    }, {}),
+    checkForChanges: false,
+    collapsedTokens: [],
+    changedState: {},
+    remoteData: {
+      tokens: {},
+      themes: [],
+      metadata: null,
+    },
+    tokenFormat: TokenFormatOptions.Legacy,
+    tokenSetMetadata: {},
+    importedThemes: {
+      newThemes: [],
+      updatedThemes: [],
+    },
+    compressedTokens: '',
+    compressedThemes: '',
+    tokensSize: 0,
+    themesSize: 0,
+  } as unknown as TokenState,
+  reducers: {
+    setTokensSize: (state, size: number) => ({
+      ...state,
+      tokensSize: size,
+    }),
+    setThemesSize: (state, size: number) => ({
+      ...state,
+      themesSize: size,
+    }),
+    setStringTokens: (state, payload: string) => ({
+      ...state,
+      stringTokens: payload,
+    }),
+    setEditProhibited(state, payload: boolean) {
+      return {
+        ...state,
+        editProhibited: payload,
+      };
+    },
+    toggleTreatAsSource: (state, tokenSet: string) => ({
+      ...state,
+      usedTokenSet: {
+        ...state.usedTokenSet,
+        [tokenSet]:
+          state.usedTokenSet[tokenSet] === TokenSetStatus.SOURCE ? TokenSetStatus.DISABLED : TokenSetStatus.SOURCE,
+      },
+    }),
+    setActiveTokenSet: (state, data: string) => ({
+      ...state,
+      activeTokenSet: data,
+    }),
+    setUsedTokenSet: (state, data: UsedTokenSetsMap) => ({
+      ...state,
+      usedTokenSet: data,
+    }),
+    setThemes: (state, data: ThemeObjectsList) => ({
+      ...state,
+      themes: [...data],
+    }),
+    setNewTokenData: (state, data: TokenData['synced_data']) => ({
+      ...state,
+      usedTokenSet: data.usedTokenSets || state.usedTokenSet,
+      themes: data.themes || state.themes,
+      activeTheme: data.activeTheme || state.activeTheme,
+      tokens: addIdPropertyToTokens(data.sets ?? {}) || addIdPropertyToTokens(state.tokens),
+    }),
+    addTokenSet: (state, name: string): TokenState => {
+      if (name in state.tokens) {
+        notifyToUI('Token set already exists', { error: true });
+        return state;
+      }
+ 
+      return updateTokenSetsInState(state, null, [name]);
+    },
+    duplicateTokenSet: (state, newName: string, oldName: string): TokenState => {
+      if (!(oldName in state.tokens)) {
+        notifyToUI('Token set does not exist', { error: true });
+        return state;
+      }
+      const indexOf = Object.keys(state.tokens).indexOf(oldName);
+      return updateTokenSetsInState(state, null, [
+        newName,
+        state.tokens[oldName].map((token) => extend(true, {}, token) as typeof token),
+        indexOf + 1,
+      ]);
+    },
+    deleteTokenSet: (state, name: string) => updateTokenSetsInState(state, (setName, tokenSet) => (setName === name ? null : [setName, tokenSet])),
+    setLastSyncedState: (state, data: string) => ({
+      ...state,
+      lastSyncedState: data,
+    }),
+    setTokenSetOrder: (state, data: string[]) => {
+      const newTokens = {};
+      data.forEach((set) => {
+        Object.assign(newTokens, { [set]: state.tokens[set] });
+      });
+      return {
+        ...state,
+        tokens: newTokens,
+      };
+    },
+    setTokenSetMetadata: (state, data: TokenState['tokenSetMetadata']) => ({
+      ...state,
+      tokenSetMetadata: data,
+    }),
+    resetImportedTokens: (state) => ({
+      ...state,
+      importedTokens: {
+        newTokens: [],
+        updatedTokens: [],
+      },
+    }),
+    setJSONData(state, payload) {
+      const parsedTokens = parseJson(payload);
+      parseTokenValues(parsedTokens);
+      const values = parseTokenValues({ [state.activeTokenSet]: parsedTokens });
+      return {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          ...addIdPropertyToTokens(values),
+        },
+      };
+    },
+    setHasUnsavedChanges(state, payload: boolean) {
+      return {
+        ...state,
+        hasUnsavedChanges: payload,
+      };
+    },
+    setTokens: (state, newTokens: Record<string, AnyTokenList>) => ({
+      ...state,
+      tokens: addIdPropertyToTokens(newTokens),
+    }),
+    createToken: (state, data: UpdateTokenPayload) => {
+      let newTokens: TokenStore['values'] = {};
+ 
+      const existingToken = state.tokens[data.parent].find((n) => n.name === data.name);
+      if (!existingToken) {
+        newTokens = {
+          [data.parent]: [...state.tokens[data.parent], updateTokenPayloadToSingleToken(data, uuidv4())],
+        };
+      }
+ 
+      return {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          ...newTokens,
+        },
+      };
+    },
+    createMultipleTokens: (state, data: CreateSingleTokenData[]) => {
+      // This is a deep clone of the tokens so that we force an update in the UI even if just the value changes
+      const newTokens: TokenStore['values'] = JSON.parse(JSON.stringify(state.tokens));
+      data.forEach((token) => {
+        if (!newTokens[token.parent]) {
+          newTokens[token.parent] = [];
+        }
+        const existingTokenIndex = newTokens[token.parent].findIndex((n) => n.name === token.name);
+        if (existingTokenIndex === -1) {
+          newTokens[token.parent].push(updateTokenPayloadToSingleToken(token as UpdateTokenPayload, uuidv4()));
+        }
+      });
+ 
+      return {
+        ...state,
+        tokens: newTokens,
+      };
+    },
+    editMultipleTokens: (state, data: EditSingleTokenData[]) => {
+      // This is a deep clone of the tokens so that we force an update in the UI even if just the value changes
+      const newTokens: TokenStore['values'] = JSON.parse(JSON.stringify(state.tokens));
+      data.forEach((token) => {
+        const existingTokenIndex = newTokens[token.parent].findIndex((n) => n.name === token.name);
+        if (existingTokenIndex > -1) {
+          newTokens[token.parent] = [
+            ...newTokens[token.parent].slice(0, existingTokenIndex),
+            updateTokenPayloadToSingleToken(token as UpdateTokenPayload, uuidv4()),
+            ...newTokens[token.parent].slice(existingTokenIndex + 1),
+          ];
+        }
+      });
+ 
+      return {
+        ...state,
+        tokens: newTokens,
+      };
+    },
+    duplicateToken: (state, data: DuplicateTokenPayload) => {
+      const newTokens: TokenStore['values'] = {};
+      Object.keys(state.tokens).forEach((tokenSet) => {
+        if (tokenSet === data.parent) {
+          const existingTokenIndex = state.tokens[tokenSet].findIndex((n) => n.name === data?.oldName);
+          if (existingTokenIndex > -1) {
+            const existingTokens = [...state.tokens[tokenSet]];
+            existingTokens.splice(existingTokenIndex + 1, 0, {
+              ...omit(state.tokens[tokenSet][existingTokenIndex], 'description', '$extensions'),
+              ...updateTokenPayloadToSingleToken(
+                {
+                  parent: data.parent,
+                  name: data.newName,
+                  type: data.type,
+                  value: data.value,
+                  description: data.description,
+                  oldName: data.oldName,
+                  $extensions: data.$extensions,
+                } as UpdateTokenPayload,
+                uuidv4(),
+              ),
+            } as SingleToken);
+            newTokens[tokenSet] = existingTokens;
+          }
+        } else if (data.tokenSets.includes(tokenSet)) {
+          const existingTokenIndex = state.tokens[tokenSet].findIndex((n) => n.name === data?.newName);
+          if (existingTokenIndex < 0) {
+            const newToken = updateTokenPayloadToSingleToken(
+              {
+                name: data.newName,
+                type: data.type,
+                value: data.value,
+                description: data.description,
+                $extensions: data.$extensions,
+              } as UpdateTokenPayload,
+              uuidv4(),
+            );
+            newTokens[tokenSet] = [...state.tokens[tokenSet], newToken as SingleToken];
+          }
+        }
+      });
+ 
+      return {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          ...newTokens,
+        },
+      };
+    },
+ 
+    // Imports received styles as tokens, if needed
+    setTokensFromStyles: (state, receivedStyles: SetTokensFromStylesPayload): TokenState => {
+      const newTokens: StyleToCreateToken[] = [];
+      const existingTokens: StyleToCreateToken[] = [];
+      const updatedTokens: StyleToCreateToken[] = [];
+ 
+      // Create a map of token names to tokens once, outside the loop
+      const tokenMap = new Map();
+      Object.values(state.tokens).forEach((tokenSet) => {
+        tokenSet.forEach((token) => {
+          if (!tokenMap.has(token.name)) { // Only store first occurrence
+            tokenMap.set(token.name, token);
+          }
+        });
+      });
+ 
+      // Iterate over received styles and check if they existed before or need updating
+      Object.values(receivedStyles).forEach((values) => {
+        values.forEach((token) => {
+          const oldValue = tokenMap.get(token.name);
+          if (oldValue) {
+            if (isEqual(oldValue.value, token.value)) {
+              const normalizedOldValueDescription = oldValue.description ?? '';
+              const normalizedTokenDescription = token.description ?? '';
+              if (isEqual(normalizedOldValueDescription, normalizedTokenDescription)) {
+                existingTokens.push(token);
+              } else {
+                updatedTokens.push({
+                  ...token,
+                  oldDescription: oldValue.description,
+                });
+              }
+            } else {
+              const updatedToken = { ...token };
+              updatedToken.oldValue = oldValue.value;
+              updatedTokens.push(updatedToken);
+            }
+          } else {
+            // Token doesn't exist in any token set
+            newTokens.push(token);
+          }
+        });
+      });
+ 
+      return {
+        ...state,
+        importedTokens: {
+          newTokens,
+          updatedTokens,
+        },
+      } as TokenState;
+    },
+    // Imports received variables as tokens, if needed
+    setTokensFromVariables: (state, receivedVariables: SetTokensFromVariablesPayload): TokenState => {
+      const newTokens: VariableToCreateToken[] = [];
+      const existingTokens: VariableToCreateToken[] = [];
+      const updatedTokens: VariableToCreateToken[] = [];
+ 
+      // Iterate over received styles and check if they existed before or need updating
+      Object.values(receivedVariables).forEach((values) => {
+        values.forEach((token) => {
+          // If a set exists for the token
+          if (state.tokens[token.parent]) {
+            const oldValue = state.tokens[token.parent].find((t) => t.name === token.name);
+            // If the token already exists
+            if (oldValue) {
+              const normalizedOldValueDescription = oldValue.description ?? '';
+              const normalizedTokenDescription = token.description ?? '';
+              if (
+                isEqual(oldValue.value, token.value)
+                && isEqual(normalizedOldValueDescription, normalizedTokenDescription)
+              ) {
+                existingTokens.push(token);
+              } else {
+                const updatedToken = { ...token };
+                updatedToken.oldValue = oldValue.value;
+                updatedTokens.push(updatedToken);
+              }
+            } else {
+              newTokens.push(token);
+            }
+          } else {
+            newTokens.push(token);
+          }
+        });
+      });
+      return {
+        ...state,
+        importedTokens: {
+          newTokens,
+          updatedTokens,
+        },
+      } as TokenState;
+    },
+    editToken: (state, data: UpdateTokenPayload) => {
+      const nameToFind = data.oldName ? data.oldName : data.name;
+      const index = state.tokens[data.parent].findIndex((token) => token.name === nameToFind);
+      const newArray = [...state.tokens[data.parent]];
+      newArray[index] = {
+        ...omit(newArray[index], 'description'),
+        ...updateTokenPayloadToSingleToken(data),
+      } as SingleToken;
+      return {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          [data.parent]: newArray,
+        },
+      };
+    },
+    deleteToken: (state, data: DeleteTokenPayload) => {
+      const newState = {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          [data.parent]: state.tokens[data.parent].filter((token) => token.name !== data.path),
+        },
+      };
+ 
+      return newState;
+    },
+    deleteDuplicateTokens: (state, data: DeleteTokenPayload) => {
+      let i = 0;
+      const newState = {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          [data.parent]:
+            typeof data.index === 'number'
+              ? state.tokens[data.parent].filter((token) => {
+                if (token.name === data.path) {
+                  if (i === data.index) {
+                    i += 1;
+                    return true;
+                  }
+                  i += 1;
+                  return false;
+                }
+                return token.name !== data.path;
+              })
+              : state.tokens[data.parent].filter((token) => token.name !== data.path),
+        },
+      };
+ 
+      return newState;
+    },
+    deleteTokenGroup: (state, data: DeleteTokenGroupPayload) => {
+      const newState = {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          [data.parent]: state.tokens[data.parent].filter(
+            (token) => !(token.name.startsWith(`${data.path}.`) && token.type === data.type),
+          ),
+        },
+      };
+ 
+      return newState;
+    },
+ 
+    renameTokenGroup: (state, data: RenameTokenGroupPayload) => {
+      const {
+        oldName, newName, type, parent,
+      } = data;
+      const tokensInParent = state.tokens[parent] ?? [];
+      const renamedTokensInParent = tokensInParent.map((token) => {
+        if (token.name.startsWith(`${oldName}.`) && token.type === type) {
+          const { name, ...rest } = token;
+          const newTokenName = name.replace(`${oldName}`, `${newName}`);
+          return {
+            ...rest,
+            name: newTokenName,
+          };
+        }
+        return token;
+      }) as AnyTokenList;
+ 
+      const newState = {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          [parent]: renamedTokensInParent,
+        },
+      };
+      return newState as TokenState;
+    },
+ 
+    duplicateTokenGroup: (state, data: DuplicateTokenGroupPayload) => {
+      const {
+        parent, oldName, newName, tokenSets, type,
+      } = data;
+      const selectedTokenGroup = state.tokens[parent].filter(
+        (token) => token.name.startsWith(`${oldName}.`) && token.type === type,
+      );
+      const newTokenGroup = selectedTokenGroup.map((token) => {
+        const { name, ...rest } = token;
+        const duplicatedTokenGroupName = token.name.replace(oldName, newName);
+        return {
+          name: duplicatedTokenGroupName,
+          ...rest,
+        };
+      });
+ 
+      const newTokens = Object.keys(state.tokens).reduce<Record<string, AnyTokenList>>((acc, key) => {
+        if (tokenSets.includes(key)) {
+          acc[key] = [...state.tokens[key], ...newTokenGroup];
+        } else {
+          acc[key] = state.tokens[key];
+        }
+        return acc;
+      }, {});
+ 
+      return {
+        ...state,
+        tokens: newTokens,
+      };
+    },
+    setUpdatedAliases: (state, newTokens: TokenStore['values']) => ({
+      ...state,
+      tokens: newTokens,
+    }),
+    setCollapsedTokenSets: (state, data: string[]) => ({
+      ...state,
+      collapsedTokenSets: data,
+    }),
+    setCollapsedTokenTypeObj: (state, data: Record<TokenTypes, boolean>) => ({
+      ...state,
+      collapsedTokenTypeObj: data,
+    }),
+    updateCheckForChanges: (state, data: boolean) => ({
+      ...state,
+      checkForChanges: data,
+    }),
+    setCollapsedTokens: (state, data: string[]) => ({
+      ...state,
+      collapsedTokens: data,
+    }),
+    setChangedState: (
+      state,
+      receivedState: { tokens: Record<string, AnyTokenList>; themes: ThemeObjectsList },
+    ): TokenState => {
+      const localState = {
+        tokens: state.tokens,
+        themes: state.themes,
+      };
+      return {
+        ...state,
+        changedState: findDifferentState(localState, receivedState),
+      } as TokenState;
+    },
+    resetChangedState: (state) => ({
+      ...state,
+      changedState: {
+        tokens: {},
+        themes: [],
+        tokensSize: 0,
+      },
+    }),
+    setRemoteData: (state, data: CompareStateType): TokenState => ({
+      ...state,
+      remoteData: data,
+    }),
+    setTokenFormat: (state, data: TokenFormatOptions): TokenState => ({
+      ...state,
+      tokenFormat: data,
+    }),
+    renameTokenAcrossSets: (state, data: RenameTokensAcrossSetsPayload) => {
+      const {
+        oldName, newName, type, tokenSets,
+      } = data;
+      const newTokens: TokenStore['values'] = {};
+      Object.keys(state.tokens).forEach((tokenSet) => {
+        if (tokenSets.includes(tokenSet)) {
+          const existingTokenIndex = state.tokens[tokenSet].findIndex((n) => n.name === oldName && n.type === type);
+          if (existingTokenIndex > -1) {
+            const existingTokens = [...state.tokens[tokenSet]];
+            existingTokens.splice(existingTokenIndex, 1, {
+              ...state.tokens[tokenSet][existingTokenIndex],
+              name: newName,
+            } as SingleToken);
+            newTokens[tokenSet] = existingTokens;
+          }
+        }
+      });
+ 
+      return {
+        ...state,
+        tokens: {
+          ...state.tokens,
+          ...newTokens,
+        },
+      };
+    },
+    setThemesFromVariables: (state, themes: ThemeObjectsList): TokenState => {
+      const newThemes: ThemeObjectsList = [];
+      const updatedThemes: ThemeObjectsList = [];
+ 
+      themes.forEach((theme) => {
+        const existingTheme = state.themes.find((t) => t.group === theme.group && t.name === theme.name);
+ 
+        if (existingTheme) {
+          if (!isEqual(existingTheme.selectedTokenSets, theme.selectedTokenSets)) {
+            updatedThemes.push({
+              ...theme,
+              selectedTokenSets: {
+                ...existingTheme.selectedTokenSets,
+                ...theme.selectedTokenSets,
+              },
+            });
+          }
+        } else {
+          newThemes.push(theme);
+        }
+      });
+ 
+      return {
+        ...state,
+        importedThemes: {
+          newThemes,
+          updatedThemes,
+        },
+      };
+    },
+    setCompressedData: (state, payload: { compressedTokens: string; compressedThemes: string }) => ({
+      ...state,
+      compressedTokens: payload.compressedTokens,
+      compressedThemes: payload.compressedThemes,
+    }),
+    ...tokenStateReducers,
+  },
+  effects: (dispatch) => ({
+    editToken(payload: UpdateTokenPayload, rootState) {
+      if (payload.oldName && payload.oldName !== payload.name) {
+        dispatch.tokenState.updateAliases({ oldName: payload.oldName, newName: payload.name });
+      }
+ 
+      if (payload.shouldUpdate && rootState.settings.updateMode !== 'document') {
+        dispatch.tokenState.updateDocument({ shouldUpdateNodes: rootState.settings.updateOnChange });
+      }
+ 
+      if (payload.shouldUpdate && rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        const tokenSet = rootState.tokenState.tokens[payload.parent];
+        if (tokenSet) {
+          const updatedSet = tokenSet.map((token) => {
+            if (token.name === payload.oldName) {
+              return {
+                name: payload.name,
+                description: payload.description,
+                value: payload.value,
+                type: payload.type,
+                $extensions: payload.$extensions,
+              } as SingleToken;
+            }
+            return token;
+          });
+ 
+          const rawSet = singleTokensToRawTokenSet(updatedSet, true);
+ 
+          pushToTokensStudio({
+            context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+            action: 'UPDATE_TOKEN_SET',
+            data: {
+              raw: rawSet,
+              name: payload.parent,
+            },
+          });
+        }
+      }
+    },
+    deleteToken(payload: DeleteTokenPayload, rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        const tokenSet = rootState.tokenState.tokens[payload.parent];
+        if (tokenSet) {
+          const newSet = tokenSet.filter((token) => token.name !== payload.path);
+          const rawSet = singleTokensToRawTokenSet(newSet, true);
+ 
+          pushToTokensStudio({
+            context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+            action: 'UPDATE_TOKEN_SET',
+            data: {
+              raw: rawSet,
+              name: payload.parent,
+            },
+          });
+        }
+      }
+    },
+    deleteDuplicateTokens() {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+    },
+    deleteTokenGroup() {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+    },
+    addTokenSet(name: string, rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        createTokenSetInTokensStudio({
+          rootState,
+          name,
+          onTokenSetCreated: dispatch.tokenState.setTokenSetMetadata,
+        });
+      }
+    },
+    duplicateTokenSet() {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+    },
+    duplicateTokenGroup() {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+    },
+    renameTokenSet(data: { oldName: string; newName: string }, rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        updateTokenSetInTokensStudio({
+          rootState,
+          data,
+          onTokenSetUpdated: dispatch.tokenState.setTokenSetMetadata,
+        });
+      }
+    },
+    deleteTokenSet(name: string, rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        deleteTokenSetFromTokensStudio({
+          rootState,
+          name,
+          onTokenSetDeleted: dispatch.tokenState.setTokenSetMetadata,
+        });
+      }
+    },
+    setTokenSetOrder(data: string[], rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        pushToTokensStudio({
+          context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+          action: 'UPDATE_TOKEN_SET_ORDER',
+          data: data.map((name, index) => ({
+            orderIndex: index,
+            path: name,
+          })),
+        });
+      }
+    },
+    setTokenData(payload: SetTokenDataPayload) {
+      // When tokens update we set the format to the format that we parsed
+      dispatch.tokenState.setTokenFormat(TokenFormat.format);
+ 
+      if (payload.shouldUpdate) {
+        dispatch.tokenState.updateDocument();
+      }
+    },
+    toggleUsedTokenSet() {
+      dispatch.tokenState.updateDocument({ updateRemote: false });
+    },
+    toggleManyTokenSets() {
+      dispatch.tokenState.updateDocument({ updateRemote: false });
+    },
+    toggleTreatAsSource() {
+      dispatch.tokenState.updateDocument({ updateRemote: false });
+    },
+    duplicateToken(payload: DuplicateTokenPayload, rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        duplicateTokenInTokensStudio({
+          rootState,
+          payload,
+        });
+      }
+    },
+    createToken(payload: UpdateTokenPayload, rootState) {
+      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        createTokenInTokensStudio({
+          rootState,
+          payload,
+        });
+      }
+    },
+    setTokenFormat(payload: TokenFormatOptions) {
+      setFormat(payload);
+    },
+    renameTokenGroup(data: RenameTokenGroupPayload, rootState) {
+      const {
+        oldName, newName, type, parent,
+      } = data;
+ 
+      const tokensInParent = rootState.tokenState.tokens[parent] ?? [];
+      tokensInParent
+        .filter((token) => token.name.startsWith(`${newName}.`) && token.type === type)
+        .forEach((updatedToken) => {
+          dispatch.tokenState.updateAliases({
+            oldName: updatedToken.name.replace(`${newName}`, `${oldName}`),
+            newName: updatedToken.name,
+          });
+        });
+    },
+    updateCheckForChanges(checkForChanges: boolean, rootState) {
+      if (rootState.uiState.storageType.provider !== StorageProviderType.LOCAL) {
+        updateCheckForChangesAtomic(checkForChanges);
+      }
+    },
+    renameTokenAcrossSets(data: RenameTokensAcrossSetsPayload) {
+      const { oldName, newName } = data;
+ 
+      dispatch.tokenState.updateAliases({ oldName, newName });
+    },
+    updateDocument(options?: UpdateDocumentPayload, rootState?) {
+      const defaults = { shouldUpdateNodes: true, updateRemote: true };
+      const params = { ...defaults, ...options };
+      if (!rootState) return;
+      try {
+        const tokensSize = checkStorageSize(rootState.tokenState.tokens);
+        const themesSize = checkStorageSize(rootState.tokenState.themes);
+ 
+        // Update the tokensSize in state if it has changed
+        if (rootState.tokenState.tokensSize !== tokensSize) {
+          dispatch.tokenState.setTokensSize(tokensSize);
+        }
+ 
+        // Update the themesSize in state if it has changed
+        if (rootState.tokenState.themesSize !== themesSize) {
+          dispatch.tokenState.setThemesSize(Number(themesSize.toFixed(1)));
+        }
+ 
+        wrapTransaction(
+          {
+            name: 'updateDocument',
+            statExtractor: (result, transaction) => {
+              transaction.setMeasurement(
+                'tokens',
+                Object.entries(rootState.tokenState.tokens).reduce((acc, [, tokens]) => {
+                  acc += tokens.length;
+                  return acc;
+                }, 0),
+                '',
+              );
+              transaction.setMeasurement('tokenSets', Object.keys(rootState.tokenState.tokens).length, '');
+              transaction.setMeasurement('themes', rootState.tokenState.themes.length, '');
+              transaction.setMeasurement('tokensSize', tokensSize, 'KB');
+              transaction.setMeasurement('themesSize', themesSize, 'KB');
+            },
+          },
+          () => {
+            // Compress tokens and themes
+            const compressedTokens = compressToUTF16(JSON.stringify(rootState.tokenState.tokens));
+            const compressedThemes = compressToUTF16(JSON.stringify(rootState.tokenState.themes));
+ 
+            // Update the compressed values in state
+            dispatch.tokenState.setCompressedData({
+              compressedTokens,
+              compressedThemes,
+            });
+ 
+            updateTokensOnSources({
+              tokens: params.shouldUpdateNodes ? rootState.tokenState.tokens : null,
+              compressedTokens,
+              tokenValues: rootState.tokenState.tokens,
+              usedTokenSet: rootState.tokenState.usedTokenSet,
+              themes: rootState.tokenState.themes,
+              compressedThemes,
+              activeTheme: rootState.tokenState.activeTheme,
+              settings: rootState.settings,
+              updatedAt: new Date().toISOString(),
+              lastUpdatedAt: rootState.uiState.lastUpdatedAt ?? new Date().toISOString(),
+              isLocal: rootState.uiState.storageType.provider === StorageProviderType.LOCAL,
+              editProhibited: rootState.tokenState.editProhibited,
+              api: rootState.uiState.api,
+              storageType: rootState.uiState.storageType,
+              shouldUpdateRemote: params.updateRemote && rootState.settings.updateRemote,
+              checkForChanges: rootState.tokenState.checkForChanges,
+              shouldSwapStyles: rootState.settings.shouldSwapStyles,
+              collapsedTokenSets: rootState.tokenState.collapsedTokenSets,
+              storeTokenIdInJsonEditor: rootState.settings.storeTokenIdInJsonEditor,
+              dispatch,
+              tokenFormat: rootState.tokenState.tokenFormat,
+              tokensSize: rootState.tokenState.tokensSize,
+              themesSize: rootState.tokenState.themesSize,
+            });
+          },
+        );
+      } catch (e) {
+        console.error('Error updating document', e);
+      }
+    },
+    async updateAliases(data: TokenToRename, rootState) {
+      const { updatedTokens, updatedSets } = updateAliasesInState(rootState.tokenState.tokens, data);
+ 
+      dispatch.tokenState.setUpdatedAliases(updatedTokens);
+ 
+      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
+        for (const set of updatedSets) {
+          const content = updatedTokens[set];
+          const rawSet = singleTokensToRawTokenSet(content, true);
+ 
+          pushToTokensStudio({
+            context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+            action: 'UPDATE_TOKEN_SET',
+            data: { raw: rawSet, name: set },
+          });
+        }
+      }
+    },
+    ...Object.fromEntries(Object.entries(tokenStateEffects).map(([key, factory]) => [key, factory(dispatch)])),
+  }),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html new file mode 100644 index 000000000..d0e138aed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html @@ -0,0 +1,1495 @@ + + + + + + Code coverage report for src/app/store/models/uiState.tsx + + + + + + + + + +
+
+

All files / src/app/store/models uiState.tsx

+
+ +
+ 0% + Statements + 0/62 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/53 +
+ + +
+ 0% + Lines + 0/62 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable import/prefer-default-export */
+import { createModel } from '@rematch/core';
+import { track } from '@/utils/analytics';
+import type { RootModel } from '@/types/RootModel';
+import fetchChangelog from '@/utils/storyblok';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { SelectionGroup, StoryblokStory } from '@/types';
+import { Tabs } from '@/constants/Tabs';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageType, StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { EditTokenObject } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { PushOverrides } from '../remoteTokens';
+ 
+type DisplayType = 'GRID' | 'LIST';
+ 
+type SelectionValue = NodeTokenRefMap;
+ 
+export type ConfirmProps = {
+  show?: boolean;
+  text?: string;
+  description?: React.ReactNode;
+  choices?: { key: string; label: string; enabled?: boolean, unique?: boolean }[];
+  confirmAction?: string;
+  cancelAction?: string;
+  variant?: 'danger';
+  input?: {
+    type: 'text';
+    placeholder: string;
+  };
+  formId?: string;
+};
+ 
+export type AddJobTasksPayload = {
+  name: string;
+  count: number;
+  expectedTimePerTask?: number;
+};
+ 
+export type CompleteJobTasksPayload = {
+  name: string;
+  count: number;
+  timePerTask?: number;
+};
+ 
+export type BackgroundJob = {
+  name: string;
+  isInfinite?: boolean;
+  timePerTask?: number;
+  completedTasks?: number;
+  totalTasks?: number;
+};
+export interface UIState {
+  backgroundJobs: BackgroundJob[]
+  selectionValues: SelectionGroup[];
+  mainNodeSelectionValues: SelectionValue
+  displayType: DisplayType;
+  disabled: boolean;
+  activeTab: Tabs;
+  activeTokensTab: 'list' | 'json';
+  projectURL: string;
+  storageType: StorageType;
+  api: StorageTypeCredentials;
+  apiProviders: StorageTypeCredentials[];
+  localApiState: StorageTypeFormValues<true>;
+  lastUpdatedAt: string | null;
+  changelog: StoryblokStory['content'][];
+  lastOpened: number | null;
+  onboardingExplainerSets: boolean;
+  onboardingExplainerExportSets: boolean;
+  onboardingExplainerSyncProviders: boolean;
+  onboardingExplainerInspect: boolean;
+  editToken: EditTokenObject;
+  showEditForm: boolean;
+  tokenFilter: string;
+  confirmState: ConfirmProps;
+  showPushDialog: { state: string | false, overrides?: PushOverrides };
+  showPullDialog: string | false;
+  showEmptyGroups: boolean;
+  collapsed: boolean;
+  selectedLayers: number;
+  manageThemesModalOpen: boolean;
+  scrollPositionSet: Record<string, number>;
+  figmaFonts: Font[]
+  secondScreenEnabled: boolean;
+  showAutoSuggest: boolean;
+  showConvertTokenFormatModal: boolean;
+  sidebarWidth: number;
+  hasRemoteChange: boolean;
+}
+ 
+const defaultConfirmState: ConfirmProps = {
+  show: false,
+  text: '',
+  description: '',
+  choices: undefined,
+  confirmAction: 'Yes',
+  cancelAction: 'Cancel',
+  input: undefined,
+};
+ 
+export const uiState = createModel<RootModel>()({
+  state: {
+    selectionValues: [] as SelectionGroup[],
+    mainNodeSelectionValues: {} as SelectionValue,
+    disabled: false,
+    displayType: 'GRID',
+    backgroundJobs: [],
+    activeTab: Tabs.LOADING,
+    activeTokensTab: 'list',
+    projectURL: '',
+    storageType: {
+      provider: StorageProviderType.LOCAL,
+    },
+    api: null,
+    apiProviders: [],
+    localApiState: {
+      provider: StorageProviderType.LOCAL,
+      new: false,
+      format: TokenFormatOptions.Legacy,
+    },
+    lastUpdatedAt: null,
+    changelog: [],
+    lastOpened: '',
+    onboardingExplainerSets: null,
+    onboardingExplainerExportSets: null,
+    onboardingExplainerSyncProviders: null,
+    onboardingExplainerInspect: null,
+    editToken: {
+      type: TokenTypes.OTHER,
+      status: EditTokenFormStatus.CREATE,
+    },
+    showEditForm: false,
+    tokenFilter: '',
+    tokenFilterVisible: false,
+    confirmState: defaultConfirmState,
+    showPushDialog: { state: false },
+    showPullDialog: false,
+    showEmptyGroups: true,
+    collapsed: false,
+    selectedLayers: 0,
+    manageThemesModalOpen: false,
+    scrollPositionSet: {},
+    figmaFonts: [],
+    secondScreenEnabled: false,
+    showAutoSuggest: false,
+    showConvertTokenFormatModal: false,
+    sidebarWidth: 150,
+    hasRemoteChange: false,
+  } as unknown as UIState,
+  reducers: {
+    setShowConvertTokenFormatModal: (state, data: boolean) => ({
+      ...state,
+      showConvertTokenFormatModal: data,
+    }),
+    setShowPushDialog: (state, data: { state: string | false, overrides?: PushOverrides }) => ({
+      ...state,
+      showPushDialog: data,
+    }),
+    setShowPullDialog: (state, data: string | false) => ({
+      ...state,
+      showPullDialog: data,
+    }),
+    setHasRemoteChange: (state, data: boolean) => ({
+      ...state,
+      hasRemoteChange: data,
+    }),
+    setShowConfirm: (
+      state,
+      data: {
+        text: string;
+        description?: React.ReactNode;
+        choices: { key: string; label: string; enabled?: boolean; unique?: boolean }[];
+        confirmAction?: string;
+        cancelAction?: string;
+        variant?: 'danger';
+        input?: {
+          type: 'text';
+          placeholder: string;
+        };
+        formId?: string;
+      },
+    ) => ({
+      ...state,
+      confirmState: {
+        show: true,
+        text: data.text,
+        description: data.description,
+        choices: data.choices,
+        confirmAction: data.confirmAction || defaultConfirmState.confirmAction,
+        cancelAction: data.cancelAction || defaultConfirmState.cancelAction,
+        input: data.input,
+        variant: data.variant,
+        formId: data.formId,
+      },
+    }),
+    setSelectedLayers: (state, data: number) => ({
+      ...state,
+      selectedLayers: data,
+    }),
+    setHideConfirm: (state) => ({
+      ...state,
+      confirmState: defaultConfirmState,
+    }),
+    setDisabled: (state, data: boolean) => ({
+      ...state,
+      disabled: data,
+    }),
+    setEditToken: (state, data: EditTokenObject) => ({
+      ...state,
+      editToken: data,
+    }),
+    setShowEditForm: (state, data: boolean) => ({
+      ...state,
+      showEditForm: data,
+    }),
+    setDisplayType: (state, data: DisplayType) => {
+      track('setDisplayType', { type: data });
+ 
+      return {
+        ...state,
+        displayType: data,
+      };
+    },
+    setSelectionValues: (state, data: SelectionGroup[]) => ({
+      ...state,
+      selectionValues: data,
+    }),
+    setMainNodeSelectionValues: (state, data: SelectionValue) => ({
+      ...state,
+      mainNodeSelectionValues: data,
+    }),
+    resetSelectionValues: (state) => ({
+      ...state,
+      selectionValues: [] as SelectionGroup[],
+    }),
+    startJob(state, job: BackgroundJob) {
+      return {
+        ...state,
+        backgroundJobs: [...state.backgroundJobs, { ...job }],
+      };
+    },
+    completeJob(state, name: string) {
+      return {
+        ...state,
+        backgroundJobs: state.backgroundJobs.filter((job) => (
+          job.name !== name
+        )),
+      };
+    },
+    clearJobs(state) {
+      return {
+        ...state,
+        backgroundJobs: [],
+      };
+    },
+    setActiveTab(state, payload: Tabs) {
+      return {
+        ...state,
+        activeTab: payload,
+      };
+    },
+    setActiveTokensTab(state, payload: 'list' | 'json') {
+      return {
+        ...state,
+        activeTokensTab: payload,
+      };
+    },
+    setProjectURL(state, payload: string) {
+      return {
+        ...state,
+        projectURL: payload,
+      };
+    },
+    setStorage(state, payload: StorageType) {
+      return {
+        ...state,
+        storageType: payload,
+      };
+    },
+    setApiData(state, payload: StorageTypeCredentials) {
+      return {
+        ...state,
+        api: payload,
+      };
+    },
+    setLocalApiState(state, payload: StorageTypeFormValues<true>) {
+      return {
+        ...state,
+        localApiState: payload,
+      };
+    },
+    setAPIProviders(state, payload: StorageTypeCredentials[]) {
+      return {
+        ...state,
+        apiProviders: payload,
+      };
+    },
+    setChangelog(state, payload: StoryblokStory['content'][]) {
+      return {
+        ...state,
+        changelog: payload,
+      };
+    },
+    setLastOpened(state, payload: number) {
+      return {
+        ...state,
+        lastOpened: payload,
+      };
+    },
+    setOnboardingExplainerSets(state, payload: boolean) {
+      return {
+        ...state,
+        onboardingExplainerSets: payload,
+      };
+    },
+    setOnboardingExplainerExportSets(state, payload: boolean) {
+      return {
+        ...state,
+        onboardingExplainerExportSets: payload,
+      };
+    },
+    setOnboardingExplainerSyncProviders(state, payload: boolean) {
+      return {
+        ...state,
+        onboardingExplainerSyncProviders: payload,
+      };
+    },
+    setOnboardingExplainerInspect(state, payload: boolean) {
+      return {
+        ...state,
+        onboardingExplainerInspect: payload,
+      };
+    },
+    setTokenFilter(state, payload: string) {
+      return {
+        ...state,
+        tokenFilter: payload,
+      };
+    },
+    toggleShowEmptyGroups(state, payload: boolean | null) {
+      return {
+        ...state,
+        showEmptyGroups: payload == null ? !state.showEmptyGroups : payload,
+      };
+    },
+    toggleCollapsed(state) {
+      return {
+        ...state,
+        collapsed: !state.collapsed,
+      };
+    },
+    addJobTasks(state, payload: AddJobTasksPayload) {
+      return {
+        ...state,
+        backgroundJobs: state.backgroundJobs.map((job) => {
+          if (job.name === payload.name) {
+            return {
+              ...job,
+              ...(payload.expectedTimePerTask ? {
+                timePerTask: payload.expectedTimePerTask,
+              } : {}),
+              completedTasks: job.completedTasks ?? 0,
+              totalTasks: (job.totalTasks ?? 0) + payload.count,
+            };
+          }
+          return job;
+        }),
+      };
+    },
+    completeJobTasks(state, payload: CompleteJobTasksPayload) {
+      return {
+        ...state,
+        backgroundJobs: state.backgroundJobs.map((job) => {
+          if (job.name === payload.name) {
+            const totalCompletedTasks = (job.completedTasks ?? 0) + payload.count;
+            return {
+              ...job,
+              timePerTask: payload.timePerTask ?? job.timePerTask,
+              completedTasks: totalCompletedTasks,
+              totalTasks: (job.totalTasks ?? totalCompletedTasks),
+            };
+          }
+          return job;
+        }),
+      };
+    },
+    setManageThemesModalOpen(state, open: boolean) {
+      return {
+        ...state,
+        manageThemesModalOpen: open,
+      };
+    },
+    setScrollPositionSet(state, payload: Record<string, number>) {
+      return {
+        ...state,
+        scrollPositionSet: payload,
+      };
+    },
+    setFigmaFonts(state, payload: Font[]) {
+      return {
+        ...state,
+        figmaFonts: payload,
+      };
+    },
+    toggleSecondScreen(state) {
+      return {
+        ...state,
+        secondScreenEnabled: !state.secondScreenEnabled,
+      };
+    },
+    setShowAutoSuggest: (state, data: boolean) => ({
+      ...state,
+      showAutoSuggest: data,
+    }),
+    setSidebarWidth: (state, data: number) => ({
+      ...state,
+      sidebarWidth: data,
+    }),
+  },
+  effects: (dispatch) => ({
+    setLastOpened: (payload) => {
+      fetchChangelog(payload, (result) => {
+        dispatch.uiState.setChangelog(result);
+      });
+    },
+    setOnboardingExplainerSets: (payload) => {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS,
+        onboardingExplainerSets: payload,
+      });
+    },
+    setOnboardingExplainerExportSets: (payload) => {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS,
+        onboardingExplainerExportSets: payload,
+      });
+    },
+    setOnboardingExplainerSyncProviders: (payload) => {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS,
+        onboardingExplainerSyncProviders: payload,
+      });
+    },
+    setOnboardingExplainerInspect: (payload) => {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT,
+        onboardingExplainerInspect: payload,
+      });
+    },
+    setActiveTab: (payload: Tabs) => {
+      const requiresSelectionValues = payload === Tabs.INSPECTOR;
+ 
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CHANGED_TABS,
+        requiresSelectionValues,
+      });
+    },
+    toggleShowEmptyGroups(payload: null | boolean, rootState) {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS,
+        showEmptyGroups: payload == null ? rootState.uiState.showEmptyGroups : payload,
+      });
+    },
+  }),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html new file mode 100644 index 000000000..5355c820d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html @@ -0,0 +1,490 @@ + + + + + + Code coverage report for src/app/store/models/userState.ts + + + + + + + + + +
+
+

All files / src/app/store/models userState.ts

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/10 +
+ + +
+ 0% + Lines + 0/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createModel } from '@rematch/core';
+import { RootModel } from '@/types/RootModel';
+import { notifyToUI } from '@/plugin/notifiers';
+import removeLicense from '@/utils/removeLicense';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { LicenseStatus } from '@/constants/LicenseStatus';
+import * as userStateReducers from './reducers/userState';
+ 
+export enum AddLicenseSource {
+  INITAL_LOAD,
+  UI,
+}
+ 
+export enum Entitlements {
+  PRO = 'pro',
+  BETA = 'beta',
+}
+export interface UserState {
+  userId: string | null;
+  initialLoad: boolean;
+  licenseKey: string | undefined;
+  licenseError: string | undefined;
+  licenseStatus: LicenseStatus;
+  userName: string;
+  licenseDetails: LicenseDetails;
+  usedEmail: string | undefined;
+  tokensStudioPAT: string | null;
+}
+ 
+interface LicenseDetails {
+  plan: string | undefined;
+  clientEmail: string | undefined;
+  entitlements: string[];
+}
+ 
+export const userState = createModel<RootModel>()({
+  state: {
+    userId: null,
+    initialLoad: false,
+    licenseStatus: LicenseStatus.UNKNOWN,
+    licenseKey: undefined,
+    licenseError: undefined,
+    userName: '',
+    usedEmail: '',
+    licenseDetails: {
+      plan: '',
+      clientEmail: undefined,
+      entitlements: [],
+    },
+    tokensStudioPAT: null,
+  } as UserState,
+  reducers: {
+    setUserId(state, payload: string | null) {
+      return {
+        ...state,
+        userId: payload,
+      };
+    },
+    setUserName(state, payload: string) {
+      return {
+        ...state,
+        userName: payload,
+      };
+    },
+    setLicenseKey(state, payload: string | undefined) {
+      return {
+        ...state,
+        licenseKey: payload,
+      };
+    },
+    setUsedEmail(state, payload: string | undefined) {
+      return {
+        ...state,
+        usedEmail: payload,
+      };
+    },
+    setLicenseError(state, payload: string | undefined) {
+      return {
+        ...state,
+        licenseError: payload,
+      };
+    },
+    setLicenseDetails(state, payload: LicenseDetails) {
+      return {
+        ...state,
+        licenseDetails: payload,
+      };
+    },
+    setInitialLoad(state, payload: boolean) {
+      return {
+        ...state,
+        initialLoad: payload,
+      };
+    },
+    setTokensStudioPAT(state, payload: string | null) {
+      return {
+        ...state,
+        tokensStudioPAT: payload,
+      };
+    },
+    ...userStateReducers,
+  },
+  effects: (dispatch) => ({
+    removeLicenseKey: async (payload, rootState) => {
+      const { licenseKey, userId, licenseError } = rootState.userState;
+ 
+      if (licenseKey && !licenseError) {
+        const { error } = await removeLicense(licenseKey, userId);
+        if (error) {
+          notifyToUI('Error removing license, please contact support@tokens.studio', { error: true });
+        }
+      }
+      // clear license key related state
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_LICENSE_KEY,
+        licenseKey: payload,
+      });
+ 
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_INITIAL_LOAD,
+        initialLoad: true,
+      });
+ 
+      dispatch.userState.setInitialLoad(true);
+      dispatch.userState.setLicenseKey(undefined);
+      dispatch.userState.setLicenseError(undefined);
+      dispatch.userState.setLicenseDetails({
+        plan: '',
+        entitlements: [],
+        clientEmail: '',
+      });
+    },
+  }),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html new file mode 100644 index 000000000..69664eb08 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html @@ -0,0 +1,1033 @@ + + + + + + Code coverage report for src/app/store/providers/ado/ado.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers/ado ado.tsx

+
+ +
+ 0% + Statements + 0/122 +
+ + +
+ 0% + Branches + 0/51 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/115 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import React from 'react';
+import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import useConfirm from '@/app/hooks/useConfirm';
+import usePushDialog from '@/app/hooks/usePushDialog';
+import { notifyToUI } from '../../../../plugin/notifiers';
+import {
+  localApiStateSelector, tokensSelector, themesListSelector, activeThemeSelector, usedTokenSetSelector, storeTokenIdInJsonEditorSelector,
+} from '@/selectors';
+import { ADOTokenStorage } from '@/storage/ADOTokenStorage';
+import { isEqual } from '@/utils/isEqual';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { PushOverrides } from '../../remoteTokens';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+type AdoCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.ADO; }>;
+type AdoFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.ADO; }>;
+ 
+export const useADO = () => {
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const localApiState = useSelector(localApiStateSelector) as AdoCredentials;
+  const activeTheme = useSelector(activeThemeSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const isProUser = useIsProUser();
+  const { confirm } = useConfirm();
+  const { pushDialog, closePushDialog } = usePushDialog();
+ 
+  const storageClientFactory = React.useCallback((context: AdoCredentials) => {
+    const storageClient = new ADOTokenStorage(context);
+    if (context.filePath) storageClient.changePath(context.filePath);
+    if (context.branch) storageClient.selectBranch(context.branch);
+    if (isProUser) storageClient.enableMultiFile();
+    return storageClient;
+  }, [isProUser]);
+ 
+  const askUserIfPull = React.useCallback(async () => {
+    const confirmResult = await confirm({
+      text: 'Pull from Ado?',
+      description: 'Your repo already contains tokens, do you want to pull these now?',
+    });
+    return confirmResult;
+  }, [confirm]);
+ 
+  const pushTokensToADO = React.useCallback(async (context: AdoCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
+    const storage = storageClientFactory(context);
+ 
+    dispatch.uiState.setLocalApiState({ ...context });
+ 
+    const pushSettings = await pushDialog({ state: 'initial', overrides });
+    if (pushSettings) {
+      const { commitMessage, customBranch } = pushSettings;
+      try {
+        if (customBranch) storage.selectBranch(customBranch);
+        const metadata = {
+          tokenSetOrder: Object.keys(tokens),
+        };
+        await storage.save({
+          themes,
+          tokens,
+          metadata,
+        }, {
+          commitMessage,
+          storeTokenIdInJsonEditor,
+        });
+ 
+        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as AdoCredentials);
+        dispatch.uiState.setApiData({ ...context, branch: customBranch });
+        dispatch.tokenState.setTokenData({
+          values: tokens,
+          themes,
+          usedTokenSet,
+          activeTheme,
+          hasChangedRemote: true,
+        });
+        dispatch.tokenState.setRemoteData({
+          tokens,
+          themes,
+          metadata,
+        });
+        const branches = await storage.fetchBranches();
+        dispatch.branchState.setBranches(branches);
+        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
+        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+        pushDialog({ state: 'success' });
+ 
+        return {
+          status: 'success',
+          tokens,
+          themes,
+        };
+      } catch (e) {
+        closePushDialog();
+        console.log('Error pushing to ADO', e);
+        if (e instanceof Error && e.message) {
+          return {
+            status: 'failure',
+            errorMessage: e.message,
+          };
+        }
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.ADO_CREDENTIAL_ERROR,
+        };
+      }
+    }
+ 
+    return {
+      status: 'failure',
+      errorMessage: 'Push to remote cancelled!',
+    };
+  }, [
+    dispatch,
+    storageClientFactory,
+    tokens,
+    themes,
+    pushDialog,
+    closePushDialog,
+    localApiState,
+  ]);
+ 
+  const checkAndSetAccess = React.useCallback(async (context: AdoCredentials, receivedFeatureFlags?: LDProps['flags']) => {
+    const storage = storageClientFactory(context);
+    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+    const hasWriteAccess = await storage.canWrite();
+    dispatch.tokenState.setEditProhibited(!hasWriteAccess);
+  }, [dispatch, storageClientFactory]);
+ 
+  const pullTokensFromADO = React.useCallback(async (context: AdoCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
+    const storage = storageClientFactory(context);
+    if (context.branch) {
+      storage.setSource(context.branch);
+    }
+    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+ 
+    await checkAndSetAccess(context, receivedFeatureFlags);
+ 
+    try {
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
+        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
+        return {
+          ...content,
+          tokens: sortedTokens,
+        };
+      }
+    } catch (e) {
+      console.log('Error', e);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.ADO_CREDENTIAL_ERROR,
+      };
+    }
+    return null;
+  }, [
+    checkAndSetAccess,
+    storageClientFactory,
+  ]);
+ 
+  const syncTokensWithADO = React.useCallback(async (context: AdoCredentials): Promise<RemoteResponseData> => {
+    try {
+      const storage = storageClientFactory(context);
+      const branches = await storage.fetchBranches();
+      dispatch.branchState.setBranches(branches);
+      if (branches.length === 0) {
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
+        };
+      }
+ 
+      await checkAndSetAccess(context);
+ 
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        if (
+          !isEqual(content.tokens, tokens)
+          || !isEqual(content.themes, themes)
+          || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
+        ) {
+          const userDecision = await askUserIfPull();
+          if (userDecision) {
+            const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
+            dispatch.tokenState.setTokenData({
+              values: sortedValues,
+              themes: content.themes,
+              usedTokenSet,
+              activeTheme,
+              hasChangedRemote: true,
+            });
+            dispatch.tokenState.setRemoteData({
+              tokens: sortedValues,
+              themes: content.themes,
+              metadata: content.metadata,
+            });
+            const stringifiedRemoteTokens = JSON.stringify(compact([sortedValues, content.themes, TokenFormat.format]), null, 2);
+            dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+            dispatch.tokenState.setCollapsedTokenSets([]);
+            notifyToUI('Pulled tokens from ADO');
+          }
+        }
+        return content;
+      }
+      return await pushTokensToADO(context);
+    } catch (e) {
+      notifyToUI(ErrorMessages.ADO_CREDENTIAL_ERROR, { error: true });
+      console.log('Error', e);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.ADO_CREDENTIAL_ERROR,
+      };
+    }
+  }, [
+    askUserIfPull,
+    dispatch,
+    pushTokensToADO,
+    storageClientFactory,
+    themes,
+    tokens,
+    checkAndSetAccess,
+  ]);
+ 
+  const addNewADOCredentials = React.useCallback(
+    async (context: AdoFormValues): Promise<RemoteResponseData> => {
+      const previousBranch = localApiState.branch;
+      const previousFilePath = localApiState.filePath;
+ 
+      if (previousBranch !== context.branch) {
+        context = { ...context, previousSourceBranch: previousBranch };
+      }
+      const data = await syncTokensWithADO(context);
+ 
+      if (data.status === 'success') {
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: context,
+        });
+        if (!data.tokens) {
+          notifyToUI('No tokens stored on remote');
+        }
+      } else {
+        // Go back to the previous setup if the user cancelled pushing to the remote or there was an error
+        dispatch.uiState.setLocalApiState({ ...context, branch: previousBranch, filePath: previousFilePath });
+        return {
+          status: 'failure',
+          errorMessage: data.errorMessage,
+        };
+      }
+      return {
+        status: 'success',
+        tokens: data.tokens ?? tokens,
+        themes: data.themes ?? themes,
+        metadata: {},
+      };
+    },
+    [
+      dispatch,
+      tokens,
+      themes,
+      usedTokenSet,
+      activeTheme,
+      syncTokensWithADO,
+    ],
+  );
+ 
+  const fetchADOBranches = React.useCallback(async (context: AdoCredentials) => {
+    const storage = storageClientFactory(context);
+    const branches = await storage.fetchBranches();
+    return branches;
+  }, [storageClientFactory]);
+ 
+  const createADOBranch = React.useCallback((context: AdoCredentials, newBranch: string, source?: string) => {
+    const storage = storageClientFactory(context);
+    return storage.createBranch(newBranch, source);
+  }, [storageClientFactory]);
+ 
+  return React.useMemo(() => ({
+    addNewADOCredentials,
+    syncTokensWithADO,
+    pullTokensFromADO,
+    pushTokensToADO,
+    fetchADOBranches,
+    createADOBranch,
+  }), [
+    addNewADOCredentials,
+    syncTokensWithADO,
+    pullTokensFromADO,
+    pushTokensToADO,
+    fetchADOBranches,
+    createADOBranch,
+  ]);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html new file mode 100644 index 000000000..b33bd229c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/app/store/providers/ado/getADOCreatePullRequestUrl.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/ado getADOCreatePullRequestUrl.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
interface GetADOCreatePullRequestUrl {
+  (args: {
+    branch?: string
+    orgUrl?: string
+    projectId?: string
+    repositoryId?: string
+  }): string
+}
+ 
+export const getADOCreatePullRequestUrl: GetADOCreatePullRequestUrl = ({
+  branch,
+  orgUrl,
+  projectId,
+  repositoryId,
+}) => `${orgUrl}${projectId && `/${projectId}`}/_git/${repositoryId}/pullrequestcreate?sourceRef=${branch}&targetRef=main`;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html new file mode 100644 index 000000000..c92fee892 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/store/providers/ado + + + + + + + + + +
+
+

All files src/app/store/providers/ado

+
+ +
+ 0% + Statements + 0/124 +
+ + +
+ 0% + Branches + 0/53 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/117 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ado.tsx +
+
0%0/1220%0/510%0/110%0/115
getADOCreatePullRequestUrl.ts +
+
0%0/20%0/20%0/10%0/2
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html new file mode 100644 index 000000000..db98e354b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/store/providers/ado/index.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/ado index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './getADOCreatePullRequestUrl';
+export * from './ado';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html new file mode 100644 index 000000000..2da5d7a39 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html @@ -0,0 +1,1069 @@ + + + + + + Code coverage report for src/app/store/providers/bitbucket/bitbucket.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers/bitbucket bitbucket.tsx

+
+ +
+ 0% + Statements + 0/113 +
+ + +
+ 0% + Branches + 0/53 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/107 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import useConfirm from '@/app/hooks/useConfirm';
+import usePushDialog from '@/app/hooks/usePushDialog';
+import { notifyToUI } from '@/plugin/notifiers';
+import {
+  activeThemeSelector, storeTokenIdInJsonEditorSelector, localApiStateSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { BitbucketTokenStorage } from '@/storage/BitbucketTokenStorage';
+import { isEqual } from '@/utils/isEqual';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { PushOverrides } from '../../remoteTokens';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+type BitbucketCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.BITBUCKET }>;
+type BitbucketFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.BITBUCKET }>;
+ 
+export function useBitbucket() {
+  const tokens = useSelector(tokensSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+ 
+  const themes = useSelector(themesListSelector);
+  const localApiState = useSelector(localApiStateSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const isProUser = useIsProUser();
+  const dispatch = useDispatch<Dispatch>();
+  const { confirm } = useConfirm();
+  const { pushDialog, closePushDialog } = usePushDialog();
+ 
+  const storageClientFactory = useCallback(
+    (context: BitbucketCredentials, owner?: string, repo?: string) => {
+      const splitContextId = context.id.split('/');
+      const storageClient = new BitbucketTokenStorage(
+        context.secret,
+        owner ?? splitContextId[0],
+        repo ?? splitContextId[1],
+        context.baseUrl ?? '',
+        context.username,
+      );
+      if (context.filePath) storageClient.changePath(context.filePath);
+      if (context.branch) storageClient.selectBranch(context.branch);
+      if (isProUser) storageClient.enableMultiFile();
+      return storageClient;
+    },
+    [isProUser],
+  );
+ 
+  const askUserIfPull = useCallback(async () => {
+    const confirmResult = await confirm({
+      text: 'Pull from Bitbucket?',
+      description: 'Your repo already contains tokens, do you want to pull these now?',
+    });
+    return confirmResult;
+  }, [confirm]);
+ 
+  const pushTokensToBitbucket = useCallback(async (context: BitbucketCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
+    const storage = storageClientFactory(context);
+ 
+    dispatch.uiState.setLocalApiState({ ...context });
+ 
+    const pushSettings = await pushDialog({ state: 'initial', overrides });
+    if (pushSettings) {
+      const { commitMessage, customBranch } = pushSettings;
+      try {
+        if (customBranch) storage.selectBranch(customBranch);
+        const metadata = {
+          tokenSetOrder: Object.keys(tokens),
+        };
+        await storage.save({
+          themes,
+          tokens,
+          metadata,
+        }, { commitMessage, storeTokenIdInJsonEditor });
+        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as BitbucketCredentials);
+        dispatch.uiState.setApiData({ ...context, branch: customBranch });
+        dispatch.tokenState.setTokenData({
+          values: tokens,
+          themes,
+          usedTokenSet,
+          activeTheme,
+          hasChangedRemote: true,
+        });
+        dispatch.tokenState.setRemoteData({
+          tokens,
+          themes,
+          metadata,
+        });
+        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
+        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+        pushDialog({ state: 'success' });
+        return {
+          status: 'success',
+          tokens,
+          themes,
+        };
+      } catch (e) {
+        closePushDialog();
+        console.log('Error pushing to Bitbucket', e);
+        if (e instanceof Error && e.message === ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR) {
+          return {
+            status: 'failure',
+            errorMessage: ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR,
+          };
+        }
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.BITBUCKET_CREDENTIAL_ERROR,
+        };
+      }
+    }
+ 
+    return {
+      status: 'success',
+      tokens,
+      themes,
+      metadata: {},
+    };
+  }, [
+    storageClientFactory,
+    dispatch.uiState,
+    dispatch.tokenState,
+    pushDialog,
+    closePushDialog,
+    tokens,
+    themes,
+    localApiState,
+    usedTokenSet,
+    activeTheme,
+  ]);
+ 
+  const checkAndSetAccess = useCallback(
+    async ({
+      context, owner, repo, receivedFeatureFlags,
+    }: { context: BitbucketCredentials; owner: string; repo: string, receivedFeatureFlags?: LDProps['flags'] }) => {
+      const storage = storageClientFactory(context, owner, repo);
+      if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+      const hasWriteAccess = await storage.canWrite();
+      dispatch.tokenState.setEditProhibited(!hasWriteAccess);
+    },
+    [dispatch, storageClientFactory],
+  );
+ 
+  const pullTokensFromBitbucket = useCallback(
+    async (context: BitbucketCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
+      const storage = storageClientFactory(context);
+      if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+ 
+      const [owner, repo] = context.id.split('/');
+ 
+      await checkAndSetAccess({
+        context, owner, repo, receivedFeatureFlags,
+      });
+ 
+      try {
+        const content = await storage.retrieve();
+        if (content?.status === 'failure') {
+          return {
+            status: 'failure',
+            errorMessage: content.errorMessage,
+          };
+        }
+        if (content) {
+          return content;
+        }
+      } catch (e) {
+        console.log('Error', e);
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.BITBUCKET_CREDENTIAL_ERROR,
+        };
+      }
+      return null;
+    },
+    [checkAndSetAccess, storageClientFactory],
+  );
+ 
+  // Function to initially check auth and sync tokens with Bitbucket
+  const syncTokensWithBitbucket = useCallback(
+    async (context: BitbucketCredentials): Promise<RemoteResponseData> => {
+      try {
+        const storage = storageClientFactory(context);
+        const hasBranches = await storage.fetchBranches();
+        dispatch.branchState.setBranches(hasBranches);
+        if (!hasBranches || !hasBranches.length) {
+          return {
+            status: 'failure',
+            errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
+          };
+        }
+ 
+        const [owner, repo] = context.id.split('/');
+        await checkAndSetAccess({ context, owner, repo });
+ 
+        const content = await storage.retrieve();
+        if (content?.status === 'failure') {
+          return {
+            status: 'failure',
+            errorMessage: content.errorMessage,
+          };
+        }
+        if (content) {
+          if (
+            !isEqual(content.tokens, tokens)
+            || !isEqual(content.themes, themes)
+            || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
+          ) {
+            const userDecision = await askUserIfPull();
+            if (userDecision) {
+              const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
+              dispatch.tokenState.setTokenData({
+                values: sortedValues,
+                themes: content.themes,
+                activeTheme,
+                usedTokenSet,
+              });
+              dispatch.tokenState.setRemoteData({
+                tokens: sortedValues,
+                themes: content.themes,
+                metadata: content.metadata,
+              });
+              const stringifiedRemoteTokens = JSON.stringify(compact([sortedValues, content.themes, TokenFormat.format]), null, 2);
+              dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+              dispatch.tokenState.setCollapsedTokenSets([]);
+              notifyToUI('Pulled tokens from Bitbucket');
+            }
+          }
+          return content;
+        }
+        return await pushTokensToBitbucket(context);
+      } catch (e) {
+        notifyToUI(ErrorMessages.BITBUCKET_CREDENTIAL_ERROR, { error: true });
+        console.log('Error', e);
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.BITBUCKET_CREDENTIAL_ERROR,
+        };
+      }
+    },
+    [
+      askUserIfPull,
+      dispatch,
+      pushTokensToBitbucket,
+      storageClientFactory,
+      usedTokenSet,
+      activeTheme,
+      themes,
+      tokens,
+      checkAndSetAccess,
+    ],
+  );
+ 
+  const addNewBitbucketCredentials = useCallback(
+    async (context: BitbucketFormValues): Promise<RemoteResponseData> => {
+      const data = await syncTokensWithBitbucket(context);
+      if (data.status === 'success') {
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: context,
+        });
+        if (!data.tokens) {
+          notifyToUI('No tokens stored on remote');
+        }
+      } else {
+        return {
+          status: 'failure',
+          errorMessage: data.errorMessage,
+        };
+      }
+      return {
+        status: 'success',
+        tokens: data.tokens ?? tokens,
+        themes: data.themes ?? themes,
+        metadata: {},
+      };
+    },
+    [
+      syncTokensWithBitbucket,
+      tokens,
+      themes,
+    ],
+  );
+ 
+  const fetchBitbucketBranches = useCallback(
+    async (context: BitbucketCredentials) => {
+      const storage = storageClientFactory(context);
+      return storage.fetchBranches();
+    },
+    [storageClientFactory],
+  );
+ 
+  const createBitbucketBranch = useCallback(
+    (context: BitbucketCredentials, newBranch: string, source?: string) => {
+      const storage = storageClientFactory(context);
+      return storage.createBranch(newBranch, source);
+    },
+    [storageClientFactory],
+  );
+ 
+  return useMemo(
+    () => ({
+      addNewBitbucketCredentials,
+      syncTokensWithBitbucket,
+      pullTokensFromBitbucket,
+      pushTokensToBitbucket,
+      fetchBitbucketBranches,
+      createBitbucketBranch,
+    }),
+    [
+      addNewBitbucketCredentials,
+      syncTokensWithBitbucket,
+      pullTokensFromBitbucket,
+      pushTokensToBitbucket,
+      fetchBitbucketBranches,
+      createBitbucketBranch,
+    ],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html new file mode 100644 index 000000000..b90a73bf3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/bitbucket getBitbucketCreatePullRequestUrl.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/** Returns a URL to a page where the user can create a pull request with a given branch */
+export function getBitbucketCreatePullRequestUrl({
+  base,
+  repo,
+  branch,
+}: {
+  base?: string;
+  repo: string;
+  branch?: string;
+}) {
+  const baseUrl = base && base !== '' ? base : 'https://bitbucket.org';
+ 
+  return `${baseUrl}/${repo}/pull-requests/new?source=${branch}`;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html new file mode 100644 index 000000000..a20ab6920 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/store/providers/bitbucket + + + + + + + + + +
+
+

All files src/app/store/providers/bitbucket

+
+ +
+ 0% + Statements + 0/115 +
+ + +
+ 0% + Branches + 0/57 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/109 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
bitbucket.tsx +
+
0%0/1130%0/530%0/110%0/107
getBitbucketCreatePullRequestUrl.ts +
+
0%0/20%0/40%0/10%0/2
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html new file mode 100644 index 000000000..2a549dc31 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/store/providers/bitbucket/index.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/bitbucket index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './bitbucket';
+export * from './getBitbucketCreatePullRequestUrl';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html new file mode 100644 index 000000000..ab91bdb77 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/app/store/providers/file.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers file.tsx

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useCallback, useMemo } from 'react';
+import { FileTokenStorage } from '@/storage/FileTokenStorage';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+ 
+export default function useFile() {
+  const isProUser = useIsProUser();
+ 
+  const storageClientFactory = useCallback((files: FileList) => {
+    const storageClient = new FileTokenStorage(files);
+ 
+    if (isProUser) storageClient.enableMultiFile();
+    return storageClient;
+  }, [isProUser]);
+ 
+  const readTokensFromFileOrDirectory = useCallback(async (files: FileList): Promise<RemoteResponseData | null> => {
+    const storage = storageClientFactory(files);
+    try {
+      const content = await storage.retrieve();
+      if (content) {
+        return content;
+      }
+    } catch (e) {
+      console.log('Error', e);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.FILE_CREDENTIAL_ERROR,
+      };
+    }
+    return null;
+  }, [
+    storageClientFactory,
+  ]);
+ 
+  return useMemo(() => ({
+    readTokensFromFileOrDirectory,
+  }), [
+    readTokensFromFileOrDirectory,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html new file mode 100644 index 000000000..5b672692f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/app/store/providers/generic + + + + + + + + + +
+
+

All files src/app/store/providers/generic

+
+ +
+ 0% + Statements + 0/90 +
+ + +
+ 0% + Branches + 0/37 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/86 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
versionedStorage.ts +
+
0%0/900%0/370%0/60%0/86
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html new file mode 100644 index 000000000..0ae15454a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html @@ -0,0 +1,997 @@ + + + + + + Code coverage report for src/app/store/providers/generic/versionedStorage.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/generic versionedStorage.ts

+
+ +
+ 0% + Statements + 0/90 +
+ + +
+ 0% + Branches + 0/37 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/86 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import { notifyToUI } from '../../../../plugin/notifiers';
+import * as pjs from '../../../../../package.json';
+import useStorage from '../../useStorage';
+import { compareUpdatedAt } from '@/utils/date';
+import {
+  activeThemeSelector,
+  storeTokenIdInJsonEditorSelector,
+  themesListSelector,
+  tokensSelector,
+  usedTokenSetSelector,
+} from '@/selectors';
+import { UpdateRemoteFunctionPayload } from '@/types/UpdateRemoteFunction';
+import { GenericVersionedMeta, GenericVersionedStorage } from '@/storage';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import {
+  StorageTypeCredentials,
+  StorageTypeFormValues,
+  GenericVersionedStorageFlow,
+  GenericVersionedStorageType,
+} from '@/types/StorageType';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+export async function updateGenericVersionedTokens({
+  tokens,
+  themes,
+  context,
+  updatedAt,
+  oldUpdatedAt = null,
+  storeTokenIdInJsonEditor,
+}: UpdateRemoteFunctionPayload): Promise<RemoteResponseData<GenericVersionedMeta> | null> {
+  const { id, additionalHeaders, flow } = context as GenericVersionedStorageType;
+ 
+  try {
+    if (!id) throw new Error('Missing Generic Versioned Storage ID');
+ 
+    // Read Only is not allowed to save to external
+    if (flow === GenericVersionedStorageFlow.READ_ONLY) return null;
+ 
+    const storage = new GenericVersionedStorage(id, flow, additionalHeaders);
+    const tokenSetOrder = Object.keys(tokens);
+    const payload = {
+      tokens,
+      themes,
+      metadata: {
+        tokenSetOrder,
+        updatedAt: updatedAt ?? new Date().toISOString(),
+        version: pjs.version,
+      },
+    };
+ 
+    if (oldUpdatedAt) {
+      const remoteTokens = await storage.retrieve();
+ 
+      if (remoteTokens?.status === 'failure') {
+        // eslint-disable-next-line no-console
+        const errorMessage = remoteTokens?.errorMessage || ErrorMessages.GENERAL_CONNECTION_ERROR;
+        notifyToUI('Error updating Generic Storage, check console (F12) ', { error: true });
+        console.error('Error updating Generic storage', errorMessage);
+        return {
+          status: 'failure',
+          errorMessage,
+        };
+      }
+ 
+      const comparison = await compareUpdatedAt(oldUpdatedAt, remoteTokens?.metadata?.updatedAt ?? '');
+ 
+      if (comparison === 'remote_newer') {
+        notifyToUI('Error updating tokens as remote is newer, please update first', { error: true });
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.REMOTE_VERSION_NEWER,
+        };
+      }
+    }
+ 
+    // If the oldUpdatedAt doesn't exist, we still save the tokens
+    // This happens in createNewGenericVersionedStorage
+    const success = await storage.save(payload, { storeTokenIdInJsonEditor });
+ 
+    if (success) {
+      return {
+        status: 'success',
+        ...payload,
+      };
+    }
+ 
+    // eslint-disable-next-line no-console
+    notifyToUI('Error updating Generic Storage, check console (F12) ', { error: true });
+    console.error('Error updating Generic storage');
+    return {
+      status: 'failure',
+      errorMessage: ErrorMessages.REMOTE_CREDENTIAL_ERROR,
+    };
+  } catch (e) {
+    // eslint-disable-next-line no-console
+    notifyToUI('Error updating Generic Storage, check console (F12) ', { error: true });
+    console.error('Error updating Generic Storage', e);
+    return {
+      status: 'failure',
+      errorMessage: String(e),
+    };
+  }
+}
+ 
+export function useGenericVersionedStorage() {
+  const dispatch = useDispatch<Dispatch>();
+  const { setStorageType } = useStorage();
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const usedTokenSets = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+ 
+  const createNewGenericVersionedStorage = useCallback(
+    async (
+      context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>,
+    ) => {
+      const {
+        id, name, additionalHeaders, internalId, flow,
+      } = context;
+      const updatedAt = new Date().toISOString();
+      const result = await GenericVersionedStorage.create(id, updatedAt, flow, additionalHeaders);
+      if (result) {
+        updateGenericVersionedTokens({
+          tokens,
+          context: {
+            id,
+            additionalHeaders,
+            flow,
+          },
+          themes,
+          updatedAt,
+          storeTokenIdInJsonEditor,
+          dispatch,
+        });
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: {
+            provider: StorageProviderType.GENERIC_VERSIONED_STORAGE,
+            id,
+            flow,
+            internalId,
+            name,
+            additionalHeaders,
+          },
+        });
+        dispatch.uiState.setProjectURL(id);
+ 
+        return result.metadata.id;
+      }
+      notifyToUI('Something went wrong. See console for details', { error: true });
+      return null;
+    },
+    [dispatch, themes, tokens],
+  );
+ 
+  // Read tokens from endpoint
+  const pullTokensFromGenericVersionedStorage = useCallback(
+    async (
+      context: Extract<StorageTypeCredentials, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>,
+    ): Promise<RemoteResponseData | null> => {
+      const {
+        id, additionalHeaders, name, internalId, flow,
+      } = context;
+      if (!id) return null;
+      try {
+        const storage = new GenericVersionedStorage(id, flow, additionalHeaders);
+        const data = await storage.retrieve();
+        dispatch.uiState.setProjectURL(id);
+ 
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: {
+            internalId,
+            name,
+            id,
+            flow,
+            additionalHeaders,
+            provider: StorageProviderType.GENERIC_VERSIONED_STORAGE,
+          },
+        });
+        if (data?.status === 'failure') {
+          notifyToUI('Error fetching from Generic Versioned Storage, check console (F12)', { error: true });
+          console.error('Error:', data);
+          return {
+            status: 'failure',
+            errorMessage: data.errorMessage,
+          };
+        }
+        if (data?.metadata && data?.tokens) {
+          dispatch.tokenState.setEditProhibited(false);
+          return {
+            ...data,
+            metadata: {
+              // Define a fallback
+              tokenSetOrder: Object.keys(data.tokens),
+              ...data.metadata,
+            },
+          };
+        }
+        notifyToUI('No tokens stored on remote', { error: true });
+        return null;
+      } catch (e) {
+        notifyToUI('Error fetching from Generic Versioned Storage, check console (F12)', { error: true });
+        console.error('Error:', e);
+        return null;
+      }
+    },
+    [dispatch],
+  );
+ 
+  const addGenericVersionedCredentials = useCallback(
+    async (
+      context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>,
+    ): Promise<RemoteResponseData | null> => {
+      const {
+        provider, id, name, additionalHeaders, internalId, flow,
+      } = context;
+      if (!id) return null;
+ 
+      // Always attempt create first if required
+      const updatedAt = new Date().toISOString();
+      const result = await GenericVersionedStorage.create(id, updatedAt, flow, additionalHeaders);
+ 
+      if (!result) {
+        return {
+          status: 'failure',
+          errorMessage: 'Failed to create endpoint',
+        };
+      }
+ 
+      const content = await pullTokensFromGenericVersionedStorage(context);
+ 
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        dispatch.uiState.setApiData({
+          provider,
+          id,
+          name,
+          additionalHeaders,
+          internalId,
+          flow,
+        });
+        setStorageType({
+          provider: {
+            provider,
+            id,
+            additionalHeaders,
+            name,
+            internalId,
+            flow,
+          },
+          shouldSetInDocument: true,
+        });
+        dispatch.tokenState.setTokenData({
+          values: content.tokens,
+          themes: content.themes,
+          usedTokenSet: usedTokenSets,
+          activeTheme,
+          hasChangedRemote: true,
+        });
+        dispatch.tokenState.setRemoteData({
+          tokens: content.tokens,
+          themes: content.themes,
+          metadata: {
+            tokenSetOrder: Object.keys(content.tokens),
+          },
+        });
+        const stringifiedRemoteTokens = JSON.stringify(
+          compact([content.tokens, content.themes, TokenFormat.format]),
+          null,
+          2,
+        );
+        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+        return content;
+      }
+ 
+      return content;
+    },
+    [dispatch, pullTokensFromGenericVersionedStorage, setStorageType, usedTokenSets, activeTheme],
+  );
+ 
+  return useMemo(
+    () => ({
+      addGenericVersionedCredentials,
+      pullTokensFromGenericVersionedStorage,
+      createNewGenericVersionedStorage,
+    }),
+    [addGenericVersionedCredentials, pullTokensFromGenericVersionedStorage, createNewGenericVersionedStorage],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html new file mode 100644 index 000000000..ef85d2b7a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/app/store/providers/getRepositoryInformation.ts + + + + + + + + + +
+
+

All files / src/app/store/providers getRepositoryInformation.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function getRepositoryInformation(repository: string): { ownerId: string, repositoryId: string } {
+  let repositoryId = '';
+  let ownerId = '';
+ 
+  if (repository && typeof repository === 'string') {
+    const values = repository.split('/');
+    repositoryId = values[values.length - 1];
+    ([ownerId] = values);
+  }
+ 
+  return {
+    repositoryId,
+    ownerId,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html new file mode 100644 index 000000000..7f0e460b1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/app/store/providers/github/getGithubCreatePullRequestUrl.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/github getGithubCreatePullRequestUrl.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/** Returns a URL to a page where the user can create a pull request with a given branch */
+export function getGithubCreatePullRequestUrl({
+  base, repo, branch,
+}: {
+  base?: string,
+  repo: string,
+  branch?: string
+}) {
+  const url = base && base !== '' ? base : 'https://github.com';
+  // We need to remove the `api/v3` part of the URL for GHE instances
+  const baseUrl = url.replace('/api/v3', '');
+ 
+  return `${baseUrl}/${repo}/compare/${branch}?expand=1`;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html new file mode 100644 index 000000000..b8d420d49 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html @@ -0,0 +1,1069 @@ + + + + + + Code coverage report for src/app/store/providers/github/github.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers/github github.tsx

+
+ +
+ 0% + Statements + 0/125 +
+ + +
+ 0% + Branches + 0/64 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/118 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import useConfirm from '@/app/hooks/useConfirm';
+import usePushDialog from '@/app/hooks/usePushDialog';
+import { notifyToUI } from '@/plugin/notifiers';
+import {
+  activeThemeSelector,
+  storeTokenIdInJsonEditorSelector,
+  localApiStateSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { GithubTokenStorage } from '@/storage/GithubTokenStorage';
+import { isEqual } from '@/utils/isEqual';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { PushOverrides } from '../../remoteTokens';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+type GithubCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.GITHUB; }>;
+type GithubFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GITHUB }>;
+export function useGitHub() {
+  const tokens = useSelector(tokensSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const themes = useSelector(themesListSelector);
+  const localApiState = useSelector(localApiStateSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const isProUser = useIsProUser();
+  const dispatch = useDispatch<Dispatch>();
+  const { confirm } = useConfirm();
+  const { pushDialog, closePushDialog } = usePushDialog();
+ 
+  const storageClientFactory = useCallback((context: GithubCredentials, owner?: string, repo?: string) => {
+    const splitContextId = context.id.split('/');
+    const storageClient = new GithubTokenStorage(context.secret, owner ?? splitContextId[0], repo ?? splitContextId[1], context.baseUrl ?? '');
+ 
+    if (context.filePath) storageClient.changePath(context.filePath);
+    if (context.branch) storageClient.selectBranch(context.branch);
+    if (isProUser) storageClient.enableMultiFile();
+    return storageClient;
+  }, [isProUser]);
+ 
+  const askUserIfPull = useCallback(async () => {
+    const confirmResult = await confirm({
+      text: 'Pull from GitHub?',
+      description: 'Your repo already contains tokens, do you want to pull these now?',
+    });
+    return confirmResult;
+  }, [confirm]);
+ 
+  const pushTokensToGitHub = useCallback(async (context: GithubCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
+    const storage = storageClientFactory(context);
+    dispatch.uiState.setLocalApiState({ ...context });
+    const pushSettings = await pushDialog({ state: 'initial', overrides });
+    if (pushSettings) {
+      const { commitMessage, customBranch } = pushSettings;
+      try {
+        if (customBranch) storage.selectBranch(customBranch);
+        const metadata = {
+          tokenSetOrder: Object.keys(tokens),
+        };
+        await storage.save({
+          themes,
+          tokens,
+          metadata,
+        }, {
+          commitMessage,
+          storeTokenIdInJsonEditor,
+        });
+        const commitSha = await storage.getCommitSha();
+        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as GithubCredentials);
+        dispatch.uiState.setApiData({ ...context, branch: customBranch, ...(commitSha ? { commitSha } : {}) });
+        dispatch.tokenState.setTokenData({
+          values: tokens,
+          themes,
+          usedTokenSet,
+          activeTheme,
+          hasChangedRemote: true,
+        });
+        dispatch.tokenState.setRemoteData({
+          tokens,
+          themes,
+          metadata,
+        });
+        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
+        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+        pushDialog({ state: 'success' });
+        return {
+          status: 'success',
+          tokens,
+          themes,
+        };
+      } catch (e) {
+        closePushDialog();
+        console.log('Error pushing to GitHub', e);
+        if (e instanceof Error && e.message === ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR) {
+          return {
+            status: 'failure',
+            errorMessage: ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR,
+          };
+        }
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.GITHUB_CREDENTIAL_ERROR,
+        };
+      }
+    }
+ 
+    return {
+      status: 'success',
+      tokens,
+      themes,
+      metadata: {},
+    };
+  }, [
+    storageClientFactory,
+    dispatch.uiState,
+    dispatch.tokenState,
+    pushDialog,
+    closePushDialog,
+    tokens,
+    themes,
+    localApiState,
+    usedTokenSet,
+    activeTheme,
+  ]);
+ 
+  const checkAndSetAccess = useCallback(async ({
+    context, owner, repo, receivedFeatureFlags,
+  }: { context: GithubCredentials; owner: string; repo: string, receivedFeatureFlags?: LDProps['flags'] }) => {
+    const storage = storageClientFactory(context, owner, repo);
+    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+    const hasWriteAccess = await storage.canWrite();
+    dispatch.tokenState.setEditProhibited(!hasWriteAccess);
+  }, [dispatch, storageClientFactory]);
+ 
+  const pullTokensFromGitHub = useCallback(async (context: GithubCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
+    const storage = storageClientFactory(context);
+    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+ 
+    const [owner, repo] = context.id.split('/');
+ 
+    await checkAndSetAccess({
+      context, owner, repo, receivedFeatureFlags,
+    });
+ 
+    try {
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
+        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
+        const commitSha = await storage.getCommitSha();
+        return {
+          ...content,
+          tokens: sortedTokens,
+          commitSha,
+        };
+      }
+    } catch (e) {
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.GITHUB_CREDENTIAL_ERROR,
+      };
+    }
+    return null;
+  }, [
+    checkAndSetAccess,
+    storageClientFactory,
+  ]);
+ 
+  // Function to initially check auth and sync tokens with GitHub
+  const syncTokensWithGitHub = useCallback(async (context: GithubCredentials): Promise<RemoteResponseData> => {
+    try {
+      const storage = storageClientFactory(context);
+      const hasBranches = await storage.fetchBranches();
+      dispatch.branchState.setBranches(hasBranches);
+      if (!hasBranches || !hasBranches.length) {
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
+        };
+      }
+ 
+      const [owner, repo] = context.id.split('/');
+      await checkAndSetAccess({ context, owner, repo });
+ 
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        if (
+          !isEqual(content.tokens, tokens)
+          || !isEqual(content.themes, themes)
+          || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
+        ) {
+          const userDecision = await askUserIfPull();
+          if (userDecision) {
+            const commitSha = await storage.getCommitSha();
+            const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
+            dispatch.tokenState.setTokenData({
+              values: sortedValues,
+              themes: content.themes,
+              activeTheme,
+              usedTokenSet,
+              hasChangedRemote: true,
+            });
+            dispatch.tokenState.setRemoteData({
+              tokens: sortedValues,
+              themes: content.themes,
+              metadata: content.metadata,
+            });
+            const stringifiedRemoteTokens = JSON.stringify(compact([content.tokens, content.themes, TokenFormat.format]), null, 2);
+            dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+            dispatch.tokenState.setCollapsedTokenSets([]);
+            dispatch.uiState.setApiData({ ...context, ...(commitSha ? { commitSha } : {}) });
+            notifyToUI('Pulled tokens from GitHub');
+          }
+        }
+        return content;
+      }
+      return await pushTokensToGitHub(context);
+    } catch (e) {
+      notifyToUI(ErrorMessages.GITHUB_CREDENTIAL_ERROR, { error: true });
+      console.log('Error', e);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.GITHUB_CREDENTIAL_ERROR,
+      };
+    }
+  }, [
+    askUserIfPull,
+    dispatch,
+    pushTokensToGitHub,
+    storageClientFactory,
+    usedTokenSet,
+    activeTheme,
+    themes,
+    tokens,
+    checkAndSetAccess,
+  ]);
+ 
+  const addNewGitHubCredentials = useCallback(async (context: GithubFormValues): Promise<RemoteResponseData> => {
+    const data = await syncTokensWithGitHub(context);
+    if (data.status === 'success') {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CREDENTIALS,
+        credential: context,
+      });
+      if (!data.tokens) {
+        notifyToUI('No tokens stored on remote');
+      }
+    } else {
+      return {
+        status: 'failure',
+        errorMessage: data.errorMessage,
+      };
+    }
+    return {
+      status: 'success',
+      tokens: data.tokens ?? tokens,
+      themes: data.themes ?? themes,
+      metadata: {},
+    };
+  }, [
+    syncTokensWithGitHub,
+    tokens,
+    themes,
+  ]);
+ 
+  const fetchGithubBranches = useCallback(async (context: GithubCredentials) => {
+    const storage = storageClientFactory(context);
+    return storage.fetchBranches();
+  }, [storageClientFactory]);
+ 
+  const createGithubBranch = useCallback((context: GithubCredentials, newBranch: string, source?: string) => {
+    const storage = storageClientFactory(context);
+    return storage.createBranch(newBranch, source);
+  }, [storageClientFactory]);
+ 
+  const checkRemoteChangeForGitHub = useCallback(async (context: GithubCredentials): Promise<boolean> => {
+    const storage = storageClientFactory(context);
+    try {
+      const remoteSha = await storage.getCommitSha();
+      if (remoteSha && context.commitSha && context.commitSha !== remoteSha) {
+        return true;
+      }
+      return false;
+    } catch {
+      return false;
+    }
+  }, [storageClientFactory]);
+ 
+  return useMemo(() => ({
+    addNewGitHubCredentials,
+    syncTokensWithGitHub,
+    pullTokensFromGitHub,
+    pushTokensToGitHub,
+    fetchGithubBranches,
+    createGithubBranch,
+    checkRemoteChangeForGitHub,
+  }), [
+    addNewGitHubCredentials,
+    syncTokensWithGitHub,
+    pullTokensFromGitHub,
+    pushTokensToGitHub,
+    fetchGithubBranches,
+    createGithubBranch,
+    checkRemoteChangeForGitHub,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html new file mode 100644 index 000000000..1436924ca --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/store/providers/github + + + + + + + + + +
+
+

All files src/app/store/providers/github

+
+ +
+ 0% + Statements + 0/128 +
+ + +
+ 0% + Branches + 0/68 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/121 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
getGithubCreatePullRequestUrl.ts +
+
0%0/30%0/40%0/10%0/3
github.tsx +
+
0%0/1250%0/640%0/120%0/118
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html new file mode 100644 index 000000000..9e9b0f5e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/store/providers/github/index.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/github index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './getGithubCreatePullRequestUrl';
+export * from './github';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html new file mode 100644 index 000000000..61291590b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/gitlab getGitlabCreatePullRequestUrl.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
/** Returns a URL to a page where the user can create a pull request with a given branch */
+export function getGitlabCreatePullRequestUrl(
+  id: string,
+  base?: string,
+) {
+  const baseUrl = base || 'https://gitlab.com';
+ 
+  return `${baseUrl}/${id}/-/merge_requests/new`;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html new file mode 100644 index 000000000..846553233 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html @@ -0,0 +1,1120 @@ + + + + + + Code coverage report for src/app/store/providers/gitlab/gitlab.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers/gitlab gitlab.tsx

+
+ +
+ 0% + Statements + 0/133 +
+ + +
+ 0% + Branches + 0/62 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/126 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import useConfirm from '@/app/hooks/useConfirm';
+import usePushDialog from '@/app/hooks/usePushDialog';
+import { notifyToUI } from '@/plugin/notifiers';
+import {
+  activeThemeSelector,
+  storeTokenIdInJsonEditorSelector,
+  localApiStateSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { GitlabTokenStorage } from '@/storage/GitlabTokenStorage';
+import { isEqual } from '@/utils/isEqual';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { getRepositoryInformation } from '../getRepositoryInformation';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { PushOverrides } from '../../remoteTokens';
+import { useIsProUser } from '@/app/hooks/useIsProUser';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+export type GitlabCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.GITLAB; }>;
+type GitlabFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GITLAB }>;
+ 
+export const clientFactory = async (context: GitlabCredentials, isProUser: boolean) => {
+  const {
+    secret, baseUrl, id: repoPathWithNamespace, filePath, branch, previousSourceBranch,
+  } = context;
+  const { repositoryId } = getRepositoryInformation(repoPathWithNamespace);
+ 
+  const storageClient = new GitlabTokenStorage(secret, repositoryId, repoPathWithNamespace, baseUrl ?? '', branch, previousSourceBranch);
+  if (filePath) storageClient.changePath(filePath);
+  if (branch) storageClient.selectBranch(branch);
+  if (isProUser) storageClient.enableMultiFile();
+  return storageClient.assignProjectId();
+};
+ 
+export function useGitLab() {
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const localApiState = useSelector(localApiStateSelector) as GitlabCredentials;
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const isProUser = useIsProUser();
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const { confirm } = useConfirm();
+  const { pushDialog, closePushDialog } = usePushDialog();
+ 
+  const storageClientFactory = useCallback(clientFactory, []);
+ 
+  const askUserIfPull = useCallback(async () => {
+    const confirmResult = await confirm({
+      text: 'Pull from GitLab?',
+      description: 'Your repo already contains tokens, do you want to pull these now?',
+    });
+    return confirmResult;
+  }, [confirm]);
+ 
+  const pushTokensToGitLab = useCallback(async (context: GitlabCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
+    const storage = await storageClientFactory(context, isProUser);
+ 
+    dispatch.uiState.setLocalApiState({ ...context });
+ 
+    const pushSettings = await pushDialog({ state: 'initial', overrides });
+    if (pushSettings) {
+      const { commitMessage, customBranch } = pushSettings;
+      try {
+        if (customBranch) storage.selectBranch(customBranch);
+        const metadata = {
+          tokenSetOrder: Object.keys(tokens),
+        };
+        await storage.save({
+          themes,
+          tokens,
+          metadata,
+        }, {
+          commitMessage,
+          storeTokenIdInJsonEditor,
+        });
+        const latestCommitDate = await storage.getLatestCommitDate();
+        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as GitlabCredentials);
+        dispatch.uiState.setApiData({ ...context, branch: customBranch, ...(latestCommitDate ? { commitDate: latestCommitDate } : {}) });
+        dispatch.tokenState.setTokenData({
+          values: tokens,
+          themes,
+          usedTokenSet,
+          activeTheme,
+          hasChangedRemote: true,
+        });
+        dispatch.tokenState.setRemoteData({
+          tokens,
+          themes,
+          metadata,
+        });
+        const branches = await storage.fetchBranches();
+        dispatch.branchState.setBranches(branches);
+        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
+        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+        pushDialog({ state: 'success' });
+        return {
+          status: 'success',
+          tokens,
+          themes,
+          metadata: {},
+        };
+      } catch (e: any) {
+        closePushDialog();
+        console.log('Error pushing to GitLab', e);
+        if (e instanceof Error) {
+          return {
+            status: 'failure',
+            errorMessage: e.message,
+          };
+        }
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.GITLAB_CREDENTIAL_ERROR,
+        };
+      }
+    }
+    return {
+      status: 'failure',
+      errorMessage: 'Push to remote cancelled!',
+    };
+  }, [
+    dispatch,
+    storageClientFactory,
+    pushDialog,
+    closePushDialog,
+    tokens,
+    themes,
+    localApiState,
+    usedTokenSet,
+    activeTheme,
+    isProUser,
+    storeTokenIdInJsonEditor,
+  ]);
+ 
+  const checkAndSetAccess = useCallback(async ({
+    context, receivedFeatureFlags,
+  }: { context: GitlabCredentials; receivedFeatureFlags?: LDProps['flags'] }) => {
+    const storage = await storageClientFactory(context, isProUser);
+    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+    const hasWriteAccess = await storage.canWrite();
+    dispatch.tokenState.setEditProhibited(!hasWriteAccess);
+  }, [dispatch, storageClientFactory, isProUser]);
+ 
+  const pullTokensFromGitLab = useCallback(async (context: GitlabCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
+    const storage = await storageClientFactory(context, isProUser);
+    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
+    await checkAndSetAccess({
+      context, receivedFeatureFlags,
+    });
+ 
+    try {
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+ 
+      if (content) {
+        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
+        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
+        const latestCommitDate = await storage.getLatestCommitDate();
+        return {
+          ...content,
+          tokens: sortedTokens,
+          ...(latestCommitDate ? { commitDate: latestCommitDate } : {}),
+        };
+      }
+    } catch (e) {
+      console.log('Error', e);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.GITLAB_CREDENTIAL_ERROR,
+      };
+    }
+    return null;
+  }, [storageClientFactory, checkAndSetAccess, isProUser]);
+ 
+  const syncTokensWithGitLab = useCallback(async (context: GitlabCredentials): Promise<RemoteResponseData> => {
+    try {
+      const storage = await storageClientFactory(context, isProUser);
+      const hasBranches = await storage.fetchBranches();
+      dispatch.branchState.setBranches(hasBranches);
+ 
+      if (!hasBranches || !hasBranches.length) {
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
+        };
+      }
+ 
+      await checkAndSetAccess({ context });
+ 
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        if (
+          !isEqual(content.tokens, tokens)
+          || !isEqual(content.themes, themes)
+          || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
+        ) {
+          const userDecision = await askUserIfPull();
+          if (userDecision) {
+            const latestCommitDate = await storage.getLatestCommitDate();
+            const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
+            dispatch.tokenState.setTokenData({
+              values: sortedValues,
+              themes: content.themes,
+              usedTokenSet,
+              activeTheme,
+              hasChangedRemote: true,
+            });
+            dispatch.tokenState.setRemoteData({
+              tokens: sortedValues,
+              themes: content.themes,
+              metadata: content.metadata,
+            });
+            const stringifiedRemoteTokens = JSON.stringify(compact([content.tokens, content.themes, TokenFormat.format]), null, 2);
+            dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+            dispatch.tokenState.setCollapsedTokenSets([]);
+            dispatch.uiState.setApiData({ ...context, ...(latestCommitDate ? { commitDate: latestCommitDate } : {}) });
+            notifyToUI('Pulled tokens from GitLab');
+          }
+        }
+        return content;
+      }
+      return await pushTokensToGitLab(context);
+    } catch (err) {
+      notifyToUI(ErrorMessages.GITLAB_CREDENTIAL_ERROR, { error: true });
+      console.log('Error', err);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.GITLAB_CREDENTIAL_ERROR,
+      };
+    }
+  }, [
+    storageClientFactory,
+    dispatch.branchState,
+    dispatch.tokenState,
+    pushTokensToGitLab,
+    tokens,
+    themes,
+    askUserIfPull,
+    usedTokenSet,
+    activeTheme,
+    checkAndSetAccess,
+    isProUser,
+    dispatch.uiState,
+  ]);
+ 
+  const addNewGitLabCredentials = useCallback(async (context: GitlabFormValues): Promise<RemoteResponseData> => {
+    const previousBranch = localApiState.branch;
+    const previousFilePath = localApiState.filePath;
+    if (previousBranch !== context.branch) {
+      context = { ...context, previousSourceBranch: previousBranch };
+    }
+    const data = await syncTokensWithGitLab(context);
+ 
+    if (data.status === 'success') {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CREDENTIALS,
+        credential: context,
+      });
+      if (!data.tokens) {
+        notifyToUI('No tokens stored on remote');
+      }
+    } else {
+      // Go back to the previous setup if the user cancelled pushing to the remote or there was an error
+      dispatch.uiState.setLocalApiState({ ...context, branch: previousBranch, filePath: previousFilePath });
+      return {
+        status: 'failure',
+        errorMessage: data.errorMessage,
+      };
+    }
+    return {
+      status: 'success',
+      tokens: data.tokens ?? tokens,
+      themes: data.themes ?? themes,
+      metadata: {},
+    };
+  }, [
+    syncTokensWithGitLab,
+    tokens,
+    themes,
+  ]);
+ 
+  const fetchGitLabBranches = useCallback(async (context: GitlabCredentials) => {
+    const storage = await storageClientFactory(context, isProUser);
+    return storage.fetchBranches();
+  }, [storageClientFactory, isProUser]);
+ 
+  const createGitLabBranch = useCallback(async (context: GitlabCredentials, newBranch: string, source?: string) => {
+    const storage = await storageClientFactory(context, isProUser);
+    return storage.createBranch(newBranch, source);
+  }, [storageClientFactory, isProUser]);
+ 
+  const checkRemoteChangeForGitLab = useCallback(async (context: GitlabCredentials): Promise<boolean> => {
+    const storage = await storageClientFactory(context, isProUser);
+    try {
+      const latestCommitDate = await storage.getLatestCommitDate();
+      if (!!latestCommitDate && !!context.commitDate && new Date(latestCommitDate) > new Date(context.commitDate)) {
+        return true;
+      }
+      return false;
+    } catch {
+      return false;
+    }
+  }, [storageClientFactory, isProUser]);
+ 
+  return useMemo(() => ({
+    addNewGitLabCredentials,
+    syncTokensWithGitLab,
+    pullTokensFromGitLab,
+    pushTokensToGitLab,
+    fetchGitLabBranches,
+    createGitLabBranch,
+    checkRemoteChangeForGitLab,
+  }), [
+    addNewGitLabCredentials,
+    syncTokensWithGitLab,
+    pullTokensFromGitLab,
+    pushTokensToGitLab,
+    fetchGitLabBranches,
+    createGitLabBranch,
+    checkRemoteChangeForGitLab,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html new file mode 100644 index 000000000..7382b4c23 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/store/providers/gitlab + + + + + + + + + +
+
+

All files src/app/store/providers/gitlab

+
+ +
+ 0% + Statements + 0/135 +
+ + +
+ 0% + Branches + 0/64 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/128 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
getGitlabCreatePullRequestUrl.ts +
+
0%0/20%0/20%0/10%0/2
gitlab.tsx +
+
0%0/1330%0/620%0/120%0/126
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html new file mode 100644 index 000000000..ad0f3dad7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/app/store/providers/gitlab/index.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/gitlab index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './getGitlabCreatePullRequestUrl';
+export * from './gitlab';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html new file mode 100644 index 000000000..e7d6d13ee --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/app/store/providers + + + + + + + + + +
+
+

All files src/app/store/providers

+
+ +
+ 0% + Statements + 0/134 +
+ + +
+ 0% + Branches + 0/57 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/129 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
file.tsx +
+
0%0/170%0/40%0/40%0/15
getRepositoryInformation.ts +
+
0%0/70%0/40%0/10%0/7
jsonbin.tsx +
+
0%0/790%0/390%0/60%0/77
url.tsx +
+
0%0/310%0/100%0/40%0/30
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html new file mode 100644 index 000000000..6cb248c8d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html @@ -0,0 +1,817 @@ + + + + + + Code coverage report for src/app/store/providers/jsonbin.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers jsonbin.tsx

+
+ +
+ 0% + Statements + 0/79 +
+ + +
+ 0% + Branches + 0/39 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/77 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import { notifyToUI } from '../../../plugin/notifiers';
+import * as pjs from '../../../../package.json';
+import useStorage from '../useStorage';
+import { compareUpdatedAt } from '@/utils/date';
+import {
+  activeThemeSelector, storeTokenIdInJsonEditorSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
+} from '@/selectors';
+import { UpdateRemoteFunctionPayload } from '@/types/UpdateRemoteFunction';
+import { JSONBinTokenStorage } from '@/storage';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+export async function updateJSONBinTokens({
+  tokens, themes, context, updatedAt, oldUpdatedAt = null, storeTokenIdInJsonEditor,
+}: UpdateRemoteFunctionPayload) {
+  const { id, secret } = context;
+  try {
+    if (!id || !secret) throw new Error('Missing JSONBin ID or secret');
+ 
+    const storage = new JSONBinTokenStorage(id, secret);
+ 
+    const payload = {
+      tokens,
+      themes,
+      metadata: {
+        tokenSetOrder: Object.keys(tokens),
+        updatedAt: updatedAt ?? new Date().toISOString(),
+        version: pjs.version,
+      },
+    };
+ 
+    if (oldUpdatedAt) {
+      const remoteTokens = await storage.retrieve();
+      if (remoteTokens?.status === 'failure') {
+        notifyToUI('Error updating JSONBin, check console (F12)', { error: true });
+        console.log('Error updating jsonbin', remoteTokens?.errorMessage);
+        return {
+          status: 'failure',
+          errorMessage: remoteTokens?.errorMessage,
+        };
+      }
+ 
+      const comparison = await compareUpdatedAt(oldUpdatedAt, remoteTokens?.metadata?.updatedAt ?? '');
+      if (comparison === 'remote_older') {
+        if (await storage.save(payload, { storeTokenIdInJsonEditor })) {
+          return payload;
+        }
+      } else {
+        // Tell the user to choose between:
+        // A) Pull Remote values and replace local changes
+        // B) Overwrite Remote changes
+        notifyToUI('Error updating tokens as remote is newer, please update first', { error: true });
+      }
+    } else if (await storage.save(payload, { storeTokenIdInJsonEditor })) {
+      return payload;
+    }
+  } catch (e) {
+    notifyToUI('Error updating JSONBin, check console (F12)', { error: true });
+    console.log('Error updating jsonbin', e);
+  }
+ 
+  return null;
+}
+ 
+export function useJSONbin() {
+  const dispatch = useDispatch<Dispatch>();
+  const { setStorageType } = useStorage();
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const usedTokenSets = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+ 
+  const createNewJSONBin = useCallback(async (context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.JSONBIN }>) => {
+    const { secret, name, internalId } = context;
+    const updatedAt = new Date().toISOString();
+    try {
+      const result = await JSONBinTokenStorage.create(name, updatedAt, secret);
+ 
+      if (result) {
+        await updateJSONBinTokens({
+          tokens,
+          context: {
+            id: result.metadata.id,
+            secret,
+          },
+          themes,
+          updatedAt,
+          storeTokenIdInJsonEditor,
+          dispatch,
+        });
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: {
+            provider: StorageProviderType.JSONBIN,
+            id: result.metadata.id,
+            internalId,
+            name,
+            secret,
+          },
+        });
+        dispatch.uiState.setProjectURL('https://jsonbin.io/app/bins');
+ 
+        return result.metadata.id;
+      }
+    } catch (e) {
+      notifyToUI('Something went wrong. See console for details', { error: true });
+      console.error(e);
+    }
+    return null;
+  }, [dispatch, themes, tokens]);
+ 
+  // Read tokens from JSONBin
+  const pullTokensFromJSONBin = useCallback(async (context: Extract<StorageTypeCredentials, { provider: StorageProviderType.JSONBIN }>): Promise<RemoteResponseData | null> => {
+    const {
+      id, secret, name, internalId,
+    } = context;
+    if (!id || !secret) {
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.ID_NON_EXIST_ERROR,
+      };
+    }
+    try {
+      const storage = new JSONBinTokenStorage(id, secret);
+      const data = await storage.retrieve();
+      dispatch.uiState.setProjectURL('https://jsonbin.io/app/bins');
+ 
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CREDENTIALS,
+        credential: {
+          id,
+          internalId,
+          name,
+          secret,
+          provider: StorageProviderType.JSONBIN,
+        },
+      });
+      if (data?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: data.errorMessage,
+        };
+      }
+      if (data?.metadata && data?.tokens) {
+        dispatch.tokenState.setEditProhibited(false);
+        return {
+          ...data,
+          metadata: {
+            tokenSetOrder: Object.keys(data.tokens),
+          },
+        };
+      }
+      notifyToUI('No tokens stored on remote', { error: true });
+      return null;
+    } catch (e) {
+      notifyToUI(ErrorMessages.JSONBIN_CREDENTIAL_ERROR, { error: true });
+      console.log('Error:', e);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.JSONBIN_CREDENTIAL_ERROR,
+      };
+    }
+  }, [dispatch]);
+ 
+  const addJSONBinCredentials = useCallback(async (context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.JSONBIN }>): Promise<RemoteResponseData | null> => {
+    const {
+      provider, id, name, secret, internalId,
+    } = context;
+    if (!id || !secret) {
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.ID_NON_EXIST_ERROR,
+      };
+    }
+ 
+    const content = await pullTokensFromJSONBin({
+      provider,
+      id,
+      name,
+      secret,
+      internalId,
+    });
+    if (content?.status === 'failure') {
+      return {
+        status: 'failure',
+        errorMessage: content.errorMessage,
+      };
+    }
+    if (content) {
+      dispatch.uiState.setApiData({
+        provider, id, name, secret, internalId,
+      });
+      setStorageType({
+        provider: {
+          provider, id, name, internalId,
+        },
+        shouldSetInDocument: true,
+      });
+      dispatch.tokenState.setTokenData({
+        values: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
+        themes: content.themes,
+        usedTokenSet: usedTokenSets,
+        activeTheme,
+        hasChangedRemote: true,
+      });
+      dispatch.tokenState.setRemoteData({
+        tokens: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
+        themes: content.themes,
+        metadata: { tokenSetOrder: Object.keys(tokens) },
+      });
+      const stringifiedRemoteTokens = JSON.stringify(compact([applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder), content.themes, TokenFormat.format]), null, 2);
+      dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+      return content;
+    }
+    return content;
+  }, [
+    dispatch,
+    pullTokensFromJSONBin,
+    setStorageType,
+    activeTheme,
+    usedTokenSets,
+  ]);
+ 
+  return useMemo(() => ({
+    addJSONBinCredentials,
+    pullTokensFromJSONBin,
+    createNewJSONBin,
+  }), [
+    addJSONBinCredentials,
+    pullTokensFromJSONBin,
+    createNewJSONBin,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html new file mode 100644 index 000000000..fc2ecc2e7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/app/store/providers/supernova/getSupernovaOpenCloud.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/supernova getSupernovaOpenCloud.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
/** Returns a URL to a user workspace. If no workspace is provided, opens url to primary cloud environment that redirects to the first DS automatically */
+export function getSupernovaOpenCloud(url: string | undefined) {
+  return url ?? 'https://cloud.supernova.io';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html new file mode 100644 index 000000000..be0f5e634 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/app/store/providers/supernova + + + + + + + + + +
+
+

All files src/app/store/providers/supernova

+
+ +
+ 0% + Statements + 0/64 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
getSupernovaOpenCloud.ts +
+
0%0/10%0/20%0/10%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
supernova.tsx +
+
0%0/630%0/200%0/70%0/63
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html new file mode 100644 index 000000000..5bcfd1afc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/store/providers/supernova/index.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/supernova index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './supernova';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html new file mode 100644 index 000000000..b1b65daa3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html @@ -0,0 +1,709 @@ + + + + + + Code coverage report for src/app/store/providers/supernova/supernova.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers/supernova supernova.tsx

+
+ +
+ 0% + Statements + 0/63 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import { notifyToUI } from '@/plugin/notifiers';
+import {
+  activeThemeSelector,
+  storeTokenIdInJsonEditorSelector,
+  localApiStateSelector,
+  themesListSelector,
+  tokensSelector,
+  usedTokenSetSelector,
+} from '@/selectors';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { SupernovaTokenStorage } from '../../../../storage/SupernovaTokenStorage';
+import usePushDialog from '../../../hooks/usePushDialog';
+import { RemoteResponseData } from '../../../../types/RemoteResponseData';
+import { ErrorMessages } from '../../../../constants/ErrorMessages';
+import { applyTokenSetOrder } from '../../../../utils/tokenset';
+import { PushOverrides } from '../../remoteTokens';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+type SupernovaCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.SUPERNOVA }>;
+type SupernovaFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.SUPERNOVA }>;
+ 
+export function useSupernova() {
+  const tokens = useSelector(tokensSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const themes = useSelector(themesListSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const localApiState = useSelector(localApiStateSelector);
+  const { pushDialog, closePushDialog } = usePushDialog();
+ 
+  const storageClientFactory = useCallback((context: SupernovaCredentials) => {
+    const storageClient = new SupernovaTokenStorage(context.designSystemUrl, context.mapping, context.secret);
+    return storageClient;
+  }, []);
+ 
+  const pushTokensToSupernova = useCallback(
+    async (context: SupernovaCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
+      const storage = await storageClientFactory(context);
+ 
+      dispatch.uiState.setLocalApiState({ ...context });
+      const pushSettings = await pushDialog({ state: 'initial', overrides });
+      if (pushSettings) {
+        try {
+          const metadata = {
+            tokenSetOrder: Object.keys(tokens),
+          };
+          await storage.save(
+            {
+              themes,
+              tokens,
+              metadata,
+            },
+            {
+              storeTokenIdInJsonEditor,
+            },
+          );
+          dispatch.uiState.setLocalApiState({ ...localApiState } as SupernovaCredentials);
+          dispatch.uiState.setApiData({ ...context });
+          dispatch.tokenState.setTokenData({
+            values: tokens,
+            themes,
+            usedTokenSet,
+            activeTheme,
+            hasChangedRemote: true,
+          });
+          dispatch.tokenState.setRemoteData({
+            tokens,
+            themes,
+            metadata,
+          });
+          const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
+          dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+          pushDialog({ state: 'success' });
+          return {
+            status: 'success',
+            tokens,
+            themes,
+            metadata: {},
+          };
+        } catch (e: any) {
+          closePushDialog();
+          // Response can also be JSON because of how Supernova server works
+          try {
+            const parsedMessage = JSON.parse((e as any).message);
+            if (parsedMessage?.message) {
+              return {
+                status: 'failure',
+                errorMessage: parsedMessage.message,
+              };
+            }
+          } catch (e) {
+            console.error(e);
+          }
+          return {
+            status: 'failure',
+            errorMessage: (e as any).message,
+          };
+        }
+      } else {
+        return {
+          status: 'success',
+          tokens,
+          themes,
+          metadata: {},
+        };
+      }
+    },
+    [dispatch, storageClientFactory, pushDialog, closePushDialog, tokens, themes, localApiState, usedTokenSet, activeTheme],
+  );
+ 
+  const pullTokensFromSupernova = useCallback(async (context: SupernovaCredentials): Promise<RemoteResponseData | null> => {
+    const storage = storageClientFactory(context);
+ 
+    try {
+      const content = await storage.retrieve();
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
+        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
+ 
+        return {
+          ...content,
+          tokens: sortedTokens,
+        };
+      }
+    } catch (e) {
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.SUPERNOVA_CREDENTIAL_ERROR,
+      };
+    }
+    return null;
+  }, [
+    storageClientFactory,
+  ]);
+ 
+  // Function to initially check auth and sync tokens with Supernova
+  const syncTokensWithSupernova = useCallback(
+    async (context: SupernovaCredentials): Promise<RemoteResponseData> => {
+      try {
+        return (await pushTokensToSupernova(context)) as any;
+      } catch (e) {
+        notifyToUI('Error syncing with Supernova, check credentials', { error: true });
+        return {
+          status: 'failure',
+          errorMessage: 'Beta error message',
+        };
+      }
+    },
+    [pushTokensToSupernova],
+  );
+ 
+  const addNewSupernovaCredentials = useCallback(
+    async (context: SupernovaFormValues): Promise<RemoteResponseData> => {
+      const data = await syncTokensWithSupernova(context);
+      if (!data) {
+        return {
+          status: 'failure',
+          errorMessage: 'Error syncing tokens',
+        };
+      }
+      if (data.status === 'success') {
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: context,
+        });
+        if (!data.tokens) {
+          notifyToUI('No tokens stored on remote');
+        }
+      } else {
+        return {
+          status: 'failure',
+          errorMessage: data.errorMessage,
+        };
+      }
+      return {
+        status: 'success',
+        tokens: data.tokens ?? tokens,
+        themes: data.themes ?? themes,
+        metadata: {},
+      };
+    },
+    [syncTokensWithSupernova, tokens, themes, dispatch.tokenState, usedTokenSet, activeTheme],
+  );
+ 
+  return useMemo(
+    () => ({
+      addNewSupernovaCredentials,
+      syncTokensWithSupernova,
+      pushTokensToSupernova,
+      pullTokensFromSupernova,
+    }),
+    [addNewSupernovaCredentials, syncTokensWithSupernova, pushTokensToSupernova, pullTokensFromSupernova],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html new file mode 100644 index 000000000..07077f813 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/store/providers/tokens-studio + + + + + + + + + +
+
+

All files src/app/store/providers/tokens-studio

+
+ +
+ 0% + Statements + 0/70 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
tokensStudio.tsx +
+
0%0/700%0/240%0/90%0/70
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html new file mode 100644 index 000000000..8648df987 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/app/store/providers/tokens-studio/index.ts + + + + + + + + + +
+
+

All files / src/app/store/providers/tokens-studio index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './tokensStudio';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html new file mode 100644 index 000000000..87c620cc5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html @@ -0,0 +1,877 @@ + + + + + + Code coverage report for src/app/store/providers/tokens-studio/tokensStudio.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers/tokens-studio tokensStudio.tsx

+
+ +
+ 0% + Statements + 0/70 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import { notifyToUI } from '@/plugin/notifiers';
+import {
+  activeThemeSelector,
+  storeTokenIdInJsonEditorSelector,
+  localApiStateSelector,
+  themesListSelector,
+  tokensSelector,
+  usedTokenSetSelector,
+} from '@/selectors';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { TokensStudioTokenStorage } from '../../../../storage/TokensStudioTokenStorage'; // todo
+import usePushDialog from '../../../hooks/usePushDialog';
+import { RemoteResponseData } from '../../../../types/RemoteResponseData';
+import { ErrorMessages } from '../../../../constants/ErrorMessages';
+import { PushOverrides } from '../../remoteTokens';
+import { RemoteTokenStorageMetadata } from '@/storage/RemoteTokenStorage';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+type TokensStudioCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.TOKENS_STUDIO }>;
+type TokensStudioFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.TOKENS_STUDIO }>;
+ 
+export type TokensStudioAction =
+  | 'CREATE_TOKEN'
+  | 'EDIT_TOKEN'
+  | 'DELETE_TOKEN'
+  | 'CREATE_TOKEN_SET'
+  | 'UPDATE_TOKEN_SET'
+  | 'DELETE_TOKEN_SET'
+  | 'UPDATE_TOKEN_SET_ORDER'
+  | 'CREATE_THEME_GROUP'
+  | 'UPDATE_THEME_GROUP'
+  | 'DELETE_THEME_GROUP';
+ 
+interface PushToTokensStudio {
+  context: TokensStudioCredentials;
+  action: TokensStudioAction;
+  data: any;
+  metadata?: RemoteTokenStorageMetadata['tokenSetsData'];
+  successCallback?: () => void;
+}
+ 
+let storageClientObject;
+ 
+const getStorageClient = (context: TokensStudioCredentials) => {
+  if (!storageClientObject) {
+    storageClientObject = new TokensStudioTokenStorage(context.id, context.orgId, context.secret);
+    return storageClientObject;
+  }
+ 
+  storageClientObject.setContext(context.id, context.orgId, context.secret);
+  return storageClientObject;
+};
+ 
+export const pushToTokensStudio = async ({
+  context, action, data, metadata, successCallback,
+}: PushToTokensStudio) => {
+  const storageClient = getStorageClient(context);
+ 
+  storageClient.push({
+    action,
+    data,
+    metadata,
+    successCallback,
+  });
+};
+ 
+export function useTokensStudio() {
+  const tokens = useSelector(tokensSelector);
+  const activeTheme = useSelector(activeThemeSelector);
+  const themes = useSelector(themesListSelector);
+  const usedTokenSet = useSelector(usedTokenSetSelector);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const dispatch = useDispatch<Dispatch>();
+  const localApiState = useSelector(localApiStateSelector);
+  const { pushDialog, closePushDialog } = usePushDialog();
+ 
+  const storageClientFactory = useCallback((context: TokensStudioCredentials) => {
+    const storageClient = getStorageClient(context);
+    return storageClient;
+  }, []);
+ 
+  const pushTokensToTokensStudio = useCallback(
+    async (context: TokensStudioCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
+      const storage = await storageClientFactory(context);
+ 
+      dispatch.uiState.setLocalApiState({ ...context });
+      const pushSettings = await pushDialog({ state: 'initial', overrides });
+      if (pushSettings) {
+        try {
+          const metadata = {
+            tokenSetOrder: Object.keys(tokens),
+          };
+          await storage.save(
+            {
+              themes,
+              tokens,
+              metadata,
+            },
+            {
+              storeTokenIdInJsonEditor,
+            },
+          );
+          dispatch.uiState.setLocalApiState({ ...localApiState } as TokensStudioCredentials);
+          dispatch.uiState.setApiData({ ...context });
+          dispatch.tokenState.setTokenData({
+            values: tokens,
+            themes,
+            usedTokenSet,
+            activeTheme,
+            hasChangedRemote: true,
+          });
+          dispatch.tokenState.setRemoteData({
+            tokens,
+            themes,
+            metadata,
+          });
+          const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
+          dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+          pushDialog({ state: 'success' });
+          return {
+            status: 'success',
+            tokens,
+            themes,
+            metadata: {},
+          };
+        } catch (e: any) {
+          closePushDialog();
+          return {
+            status: 'failure',
+            errorMessage: (e as any).message,
+          };
+        }
+      } else {
+        return {
+          status: 'success',
+          tokens,
+          themes,
+          metadata: {},
+        };
+      }
+    },
+    [
+      storageClientFactory,
+      dispatch,
+      pushDialog,
+      tokens,
+      themes,
+      storeTokenIdInJsonEditor,
+      localApiState,
+      usedTokenSet,
+      activeTheme,
+      closePushDialog,
+    ],
+  );
+ 
+  const pullTokensFromTokensStudio = useCallback(
+    async (context: TokensStudioCredentials): Promise<RemoteResponseData | null> => {
+      const storage = storageClientFactory(context);
+ 
+      try {
+        const content = await storage.retrieve();
+        if (content?.status === 'failure') {
+          return {
+            status: 'failure',
+            errorMessage: content.errorMessage,
+          };
+        }
+        if (content) {
+          const sortedTokens = applyTokenSetOrder(
+            content.tokens,
+            content.metadata?.tokenSetOrder ?? Object.keys(content.tokens),
+          );
+          return {
+            ...content,
+            tokens: sortedTokens,
+          };
+        }
+      } catch (e) {
+        return {
+          status: 'failure',
+          errorMessage: ErrorMessages.TOKENSSTUDIO_CREDENTIAL_ERROR,
+        };
+      }
+      return null;
+    },
+    [storageClientFactory],
+  );
+ 
+  const syncTokensWithTokensStudio = useCallback(
+    async (context: TokensStudioCredentials): Promise<RemoteResponseData> => {
+      try {
+        const storage = storageClientFactory(context);
+        const data = await storage.retrieve();
+ 
+        if (!data || data.status === 'failure') {
+          throw new Error(data?.errorMessage);
+        }
+        dispatch.tokenState.setTokenData({
+          values: data.tokens,
+          themes: data.themes,
+          activeTheme,
+          usedTokenSet,
+        });
+        dispatch.tokenState.setCollapsedTokenSets([]);
+        return {
+          status: 'success',
+          tokens: data.tokens,
+          themes: data.themes,
+          metadata: data.metadata ?? {},
+        };
+      } catch (e) {
+        console.error('error syncing with Tokens Studio', e);
+        notifyToUI('Error syncing with Tokens Studio, check credentials', { error: true });
+        return {
+          status: 'failure',
+          errorMessage: JSON.stringify(e),
+        };
+      }
+    },
+    [activeTheme, dispatch.tokenState, storageClientFactory, usedTokenSet],
+  );
+ 
+  const addNewTokensStudioCredentials = useCallback(
+    async (context: TokensStudioFormValues): Promise<RemoteResponseData> => {
+      const data = await syncTokensWithTokensStudio(context);
+      if (!data || data.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: data.errorMessage,
+        };
+      }
+      // TODO: I think we can refactor this for all providers and move this to remoteTokens and then remove individually
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CREDENTIALS,
+        credential: context,
+      });
+      return {
+        status: 'success',
+        tokens: data.tokens ?? tokens,
+        themes: data.themes ?? themes,
+        metadata: {},
+      };
+    },
+    [syncTokensWithTokensStudio, tokens, themes],
+  );
+ 
+  return useMemo(
+    () => ({
+      addNewTokensStudioCredentials,
+      syncTokensWithTokensStudio,
+      pushTokensToTokensStudio,
+      pullTokensFromTokensStudio,
+    }),
+    [addNewTokensStudioCredentials, syncTokensWithTokensStudio, pushTokensToTokensStudio, pullTokensFromTokensStudio],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html new file mode 100644 index 000000000..0e170444e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html @@ -0,0 +1,391 @@ + + + + + + Code coverage report for src/app/store/providers/url.tsx + + + + + + + + + +
+
+

All files / src/app/store/providers url.tsx

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import compact from 'just-compact';
+import { Dispatch } from '@/app/store';
+import { notifyToUI } from '../../../plugin/notifiers';
+import { UrlTokenStorage } from '@/storage/UrlTokenStorage';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeCredentials } from '@/types/StorageType';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { activeThemeSelector, usedTokenSetSelector } from '@/selectors';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+type UrlCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.URL; }>;
+ 
+export default function useURL() {
+  const dispatch = useDispatch<Dispatch>();
+  const activeTheme = useSelector(activeThemeSelector);
+  const usedTokenSets = useSelector(usedTokenSetSelector);
+ 
+  const storageClientFactory = useCallback((context: UrlCredentials) => (
+    new UrlTokenStorage(context.id, context.secret)
+  ), []);
+ 
+  // Read tokens from URL
+  const pullTokensFromURL = useCallback(async (context: UrlCredentials): Promise<RemoteResponseData | null> => {
+    const {
+      id, secret, name, internalId,
+    } = context;
+    if (!id && !secret) {
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.ID_NON_EXIST_ERROR,
+      };
+    }
+    const storage = storageClientFactory(context);
+ 
+    try {
+      const content = await storage.retrieve();
+      dispatch.uiState.setProjectURL(id);
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content.errorMessage,
+        };
+      }
+      if (content) {
+        AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREDENTIALS,
+          credential: {
+            id,
+            internalId,
+            name,
+            secret,
+            provider: StorageProviderType.URL,
+          },
+        });
+ 
+        if (Object.keys(content.tokens).length) {
+          dispatch.tokenState.setTokenData({
+            values: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
+            themes: content.themes,
+            usedTokenSet: usedTokenSets,
+            activeTheme,
+          });
+          dispatch.tokenState.setRemoteData({
+            tokens: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
+            themes: content.themes,
+            metadata: content.metadata,
+          });
+          const stringifiedRemoteTokens = JSON.stringify(compact([applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder), content.themes, TokenFormat.format]), null, 2);
+          dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+          dispatch.tokenState.setEditProhibited(true);
+          return content;
+        }
+        notifyToUI('No tokens stored on remote', { error: true });
+      }
+    } catch (err) {
+      notifyToUI(ErrorMessages.URL_CREDENTIAL_ERROR, { error: true });
+      console.log('Error:', err);
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.URL_CREDENTIAL_ERROR,
+      };
+    }
+    return null;
+  }, [
+    dispatch,
+    storageClientFactory,
+    activeTheme,
+    usedTokenSets,
+  ]);
+ 
+  return useMemo(() => ({
+    pullTokensFromURL,
+  }), [
+    pullTokensFromURL,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html new file mode 100644 index 000000000..fab3fd696 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html @@ -0,0 +1,2164 @@ + + + + + + Code coverage report for src/app/store/remoteTokens.tsx + + + + + + + + + +
+
+

All files / src/app/store remoteTokens.tsx

+
+ +
+ 0% + Statements + 0/245 +
+ + +
+ 0% + Branches + 0/139 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/242 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
+import compact from 'just-compact';
+import { track } from '@/utils/analytics';
+import { useJSONbin } from './providers/jsonbin';
+import useURL from './providers/url';
+import { Dispatch } from '../store';
+import useStorage from './useStorage';
+import { useGitHub } from './providers/github';
+import { useGitLab } from './providers/gitlab';
+import { useSupernova } from './providers/supernova';
+import { useBitbucket } from './providers/bitbucket';
+import { useADO } from './providers/ado';
+import useFile from '@/app/store/providers/file';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import {
+  activeTabSelector, apiSelector, themesListSelector, tokensSelector,
+} from '@/selectors';
+import { ThemeObject, UsedTokenSetsMap } from '@/types';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+import { useGenericVersionedStorage } from './providers/generic/versionedStorage';
+import { RemoteResponseData, RemoteResponseStatus } from '@/types/RemoteResponseData';
+import { getFormat, TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { applyTokenSetOrder } from '@/utils/tokenset';
+import { isEqual } from '@/utils/isEqual';
+import usePullDialog from '../hooks/usePullDialog';
+import { Tabs } from '@/constants/Tabs';
+import { useTokensStudio } from './providers/tokens-studio';
+import { notifyToUI } from '@/plugin/notifiers';
+ 
+export type PushOverrides = { branch: string; commitMessage: string };
+ 
+type PullTokensOptions = {
+  context?: StorageTypeCredentials;
+  featureFlags?: LDProps['flags'];
+  usedTokenSet?: UsedTokenSetsMap | null;
+  activeTheme?: Record<string, string>;
+  collapsedTokenSets?: string[] | null;
+  updateLocalTokens?: boolean;
+};
+ 
+// @TODO typings and hooks
+ 
+export default function useRemoteTokens() {
+  const dispatch = useDispatch<Dispatch>();
+  const api = useSelector(apiSelector);
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const activeTab = useSelector(activeTabSelector);
+  const { showPullDialog, closePullDialog } = usePullDialog();
+ 
+  const { setStorageType } = useStorage();
+  const { pullTokensFromJSONBin, addJSONBinCredentials, createNewJSONBin } = useJSONbin();
+  const { addGenericVersionedCredentials, pullTokensFromGenericVersionedStorage, createNewGenericVersionedStorage } = useGenericVersionedStorage();
+  const {
+    addNewGitHubCredentials,
+    syncTokensWithGitHub,
+    pullTokensFromGitHub,
+    pushTokensToGitHub,
+    createGithubBranch,
+    fetchGithubBranches,
+    checkRemoteChangeForGitHub,
+  } = useGitHub();
+  const {
+    addNewGitLabCredentials,
+    syncTokensWithGitLab,
+    pullTokensFromGitLab,
+    pushTokensToGitLab,
+    fetchGitLabBranches,
+    createGitLabBranch,
+    checkRemoteChangeForGitLab,
+  } = useGitLab();
+  const {
+    addNewBitbucketCredentials,
+    syncTokensWithBitbucket,
+    pullTokensFromBitbucket,
+    pushTokensToBitbucket,
+    fetchBitbucketBranches,
+    createBitbucketBranch,
+  } = useBitbucket();
+  const {
+    addNewSupernovaCredentials, syncTokensWithSupernova, pushTokensToSupernova, pullTokensFromSupernova,
+  } = useSupernova();
+  const {
+    addNewTokensStudioCredentials,
+    syncTokensWithTokensStudio,
+    pushTokensToTokensStudio,
+    pullTokensFromTokensStudio,
+  } = useTokensStudio();
+  const {
+    addNewADOCredentials,
+    syncTokensWithADO,
+    pullTokensFromADO,
+    pushTokensToADO,
+    createADOBranch,
+    fetchADOBranches,
+  } = useADO();
+  const { pullTokensFromURL } = useURL();
+  const { readTokensFromFileOrDirectory } = useFile();
+ 
+  const pullTokens = useCallback(
+    async ({
+      context = api,
+      featureFlags,
+      usedTokenSet,
+      activeTheme,
+      collapsedTokenSets,
+      updateLocalTokens = false,
+    }: PullTokensOptions) => {
+      showPullDialog('loading');
+      let remoteData: RemoteResponseData<unknown> | null = null;
+      switch (context.provider) {
+        case StorageProviderType.JSONBIN: {
+          remoteData = await pullTokensFromJSONBin(context);
+          break;
+        }
+        case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
+          remoteData = await pullTokensFromGenericVersionedStorage(context);
+          break;
+        }
+        case StorageProviderType.GITHUB: {
+          remoteData = await pullTokensFromGitHub(context, featureFlags);
+          break;
+        }
+        case StorageProviderType.BITBUCKET: {
+          remoteData = await pullTokensFromBitbucket(context, featureFlags);
+          break;
+        }
+        case StorageProviderType.GITLAB: {
+          remoteData = await pullTokensFromGitLab(context, featureFlags);
+          break;
+        }
+        case StorageProviderType.ADO: {
+          remoteData = await pullTokensFromADO(context, featureFlags);
+          break;
+        }
+        case StorageProviderType.URL: {
+          remoteData = await pullTokensFromURL(context);
+          break;
+        }
+        case StorageProviderType.SUPERNOVA: {
+          remoteData = await pullTokensFromSupernova(context);
+          break;
+        }
+        case StorageProviderType.TOKENS_STUDIO: {
+          remoteData = await pullTokensFromTokensStudio(context);
+          dispatch.tokenState.setTokenFormat(TokenFormatOptions.DTCG);
+          break;
+        }
+        default:
+          throw new Error('Not implemented');
+      }
+      if (remoteData?.status === 'success') {
+        dispatch.tokenState.setRemoteData({
+          tokens: remoteData.tokens,
+          themes: remoteData.themes,
+          metadata: remoteData.metadata,
+        });
+        dispatch.uiState.setHasRemoteChange(false);
+        const stringifiedRemoteTokens = JSON.stringify(
+          compact([remoteData.tokens, remoteData.themes, TokenFormat.format]),
+          null,
+          2,
+        );
+        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
+        if (activeTab !== Tabs.LOADING) {
+          if (updateLocalTokens) {
+            const format = getFormat();
+            dispatch.tokenState.setTokenFormat(format);
+          }
+        }
+        if (activeTab === Tabs.LOADING || !isEqual(tokens, remoteData.tokens) || !isEqual(themes, remoteData.themes)) {
+          let shouldOverride = false;
+          if (activeTab !== Tabs.LOADING) {
+            dispatch.tokenState.setChangedState({
+              tokens: remoteData.tokens,
+              themes: remoteData.themes,
+            });
+            shouldOverride = !!(await showPullDialog());
+          }
+          if (shouldOverride || activeTab === Tabs.LOADING) {
+            switch (context.provider) {
+              case StorageProviderType.JSONBIN: {
+                break;
+              }
+              case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
+                break;
+              }
+              case StorageProviderType.GITHUB: {
+                dispatch.uiState.setApiData({
+                  ...context,
+                  ...(remoteData.commitSha ? { commitSha: remoteData.commitSha } : {}),
+                });
+                break;
+              }
+              case StorageProviderType.BITBUCKET: {
+                break;
+              }
+              case StorageProviderType.GITLAB: {
+                dispatch.uiState.setApiData({
+                  ...context,
+                  ...(remoteData.commitDate ? { commitDate: remoteData.commitDate } : {}),
+                });
+                break;
+              }
+              case StorageProviderType.ADO: {
+                break;
+              }
+              case StorageProviderType.URL: {
+                break;
+              }
+              case StorageProviderType.TOKENS_STUDIO: {
+                dispatch.tokenState.setTokenSetMetadata(remoteData.metadata?.tokenSetsData ?? {});
+                break;
+              }
+              default:
+                break;
+            }
+            const remoteThemes: ThemeObject[] = remoteData.themes || [];
+            // remove those active themes that are no longer present in remoteThemes
+            const filteredThemes = activeTheme
+              ? Object.keys(activeTheme).reduce((acc, key) => {
+                if (remoteThemes.find((theme) => theme.id === activeTheme[key])) {
+                  acc[key] = activeTheme[key];
+                }
+                return acc;
+              }, {} as Record<string, string>)
+              : {};
+ 
+            if (updateLocalTokens || shouldOverride) {
+              dispatch.tokenState.setTokenData({
+                values: remoteData.tokens,
+                themes: remoteData.themes,
+                activeTheme: filteredThemes,
+                usedTokenSet: usedTokenSet ?? {},
+                hasChangedRemote: true,
+              });
+ 
+              dispatch.tokenState.setCollapsedTokenSets(collapsedTokenSets || []);
+            }
+            track('Launched with token sets', {
+              count: Object.keys(remoteData.tokens).length,
+              setNames: Object.keys(remoteData.tokens),
+            });
+          }
+        }
+      }
+      try {
+        if (remoteData?.status === 'success') {
+          const setCount = Object.keys(remoteData.tokens).length;
+          const tokensCount = Object.values(remoteData.tokens).reduce((acc, set) => acc + set.length, 0);
+          const themeCount = Object.keys(remoteData.themes).length;
+          const tokenFormat = getFormat();
+          track('pullTokens', {
+            provider: context.provider,
+            setCount,
+            tokensCount,
+            themeCount,
+            tokenFormat,
+          });
+        } else {
+          track('pullTokens failure', { provider: context.provider });
+        }
+      } catch (e) {
+        console.error(e);
+      }
+ 
+      dispatch.tokenState.resetChangedState();
+      closePullDialog();
+      return remoteData;
+    },
+    [
+      tokens,
+      themes,
+      activeTab,
+      dispatch,
+      api,
+      pullTokensFromGenericVersionedStorage,
+      pullTokensFromGitHub,
+      pullTokensFromGitLab,
+      pullTokensFromBitbucket,
+      pullTokensFromJSONBin,
+      pullTokensFromURL,
+      pullTokensFromADO,
+      showPullDialog,
+      closePullDialog,
+      pullTokensFromSupernova,
+      pullTokensFromTokensStudio,
+    ],
+  );
+ 
+  const restoreStoredProvider = useCallback(
+    async (context: StorageTypeCredentials) => {
+      track('restoreStoredProvider', { provider: context.provider });
+      dispatch.uiState.setLocalApiState(context);
+      dispatch.uiState.setApiData(context);
+      dispatch.tokenState.setEditProhibited(false);
+      setStorageType({ provider: context, shouldSetInDocument: true });
+      let content: RemoteResponseData | null = null;
+      switch (context.provider) {
+        case StorageProviderType.GITHUB: {
+          content = await syncTokensWithGitHub(context);
+          break;
+        }
+        case StorageProviderType.GITLAB: {
+          content = await syncTokensWithGitLab(context);
+          break;
+        }
+        case StorageProviderType.BITBUCKET: {
+          content = await syncTokensWithBitbucket(context);
+          break;
+        }
+        case StorageProviderType.ADO: {
+          content = await syncTokensWithADO(context);
+          break;
+        }
+        case StorageProviderType.SUPERNOVA: {
+          content = await syncTokensWithSupernova(context);
+          break;
+        }
+        case StorageProviderType.TOKENS_STUDIO: {
+          content = await syncTokensWithTokensStudio(context);
+          dispatch.tokenState.setTokenFormat(TokenFormatOptions.DTCG);
+          break;
+        }
+        default:
+          content = await pullTokens({ context });
+      }
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content?.errorMessage,
+        };
+      }
+      if (content) {
+        return {
+          status: 'success',
+        };
+      }
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.GENERAL_CONNECTION_ERROR,
+      };
+    },
+    [
+      dispatch,
+      setStorageType,
+      pullTokens,
+      syncTokensWithGitHub,
+      syncTokensWithGitLab,
+      syncTokensWithBitbucket,
+      syncTokensWithADO,
+      syncTokensWithSupernova,
+      syncTokensWithTokensStudio,
+    ],
+  );
+ 
+  const pushTokens = useCallback(
+    async ({ context = api, overrides }: { context?: StorageTypeCredentials; overrides?: PushOverrides } = {}) => {
+      const isFolder = 'filePath' in context && !context.filePath?.endsWith('.json');
+      let pushResult;
+      switch (context.provider) {
+        case StorageProviderType.GITHUB: {
+          pushResult = await pushTokensToGitHub(context, overrides);
+          break;
+        }
+        case StorageProviderType.GITLAB: {
+          pushResult = await pushTokensToGitLab(context);
+          break;
+        }
+        case StorageProviderType.BITBUCKET: {
+          pushResult = await pushTokensToBitbucket(context);
+          break;
+        }
+        case StorageProviderType.ADO: {
+          pushResult = await pushTokensToADO(context);
+          break;
+        }
+        case StorageProviderType.SUPERNOVA: {
+          pushResult = await pushTokensToSupernova(context);
+          break;
+        }
+        case StorageProviderType.TOKENS_STUDIO: {
+          pushResult = await pushTokensToTokensStudio(context);
+          break;
+        }
+        default:
+          throw new Error('Not implemented');
+      }
+      try {
+        if (pushResult?.status === 'success') {
+          const setCount = Object.keys(tokens).length;
+          const tokensCount = Object.values(tokens).reduce((acc, set) => acc + set.length, 0);
+          const themeCount = Object.keys(themes).length;
+          const tokenFormat = getFormat();
+          track('pushTokens', {
+            provider: context.provider,
+            isFolder,
+            setCount,
+            tokensCount,
+            themeCount,
+            tokenFormat,
+          });
+        } else {
+          track('pushTokens failure', { provider: context.provider, isFolder });
+        }
+      } catch (e) {
+        console.error(e);
+      }
+      if (pushResult.status && pushResult.status === 'failure') {
+        notifyToUI(pushResult.errorMessage, { error: true });
+      }
+    },
+    [
+      api,
+      pushTokensToGitHub,
+      pushTokensToGitLab,
+      pushTokensToBitbucket,
+      pushTokensToADO,
+      pushTokensToSupernova,
+      pushTokensToTokensStudio,
+      tokens,
+      themes,
+    ],
+  );
+ 
+  const addNewProviderItem = useCallback(
+    async (credentials: StorageTypeFormValues<false>): Promise<RemoteResponseStatus> => {
+      let content: RemoteResponseData | null = null;
+      switch (credentials.provider) {
+        case StorageProviderType.JSONBIN: {
+          if (credentials.id) {
+            content = await addJSONBinCredentials(credentials);
+          } else {
+            const id = await createNewJSONBin(credentials);
+            if (id) {
+              credentials.id = id;
+              return {
+                status: 'success',
+              };
+            }
+            return {
+              status: 'failure',
+              errorMessage: ErrorMessages.JSONBIN_CREATE_ERROR,
+            };
+          }
+          break;
+        }
+        case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
+          if (credentials.id) {
+            content = await addGenericVersionedCredentials(credentials);
+          } else {
+            const id = await createNewGenericVersionedStorage(credentials);
+            if (id) {
+              credentials.id = id;
+              return {
+                status: 'success',
+              };
+            }
+          }
+          break;
+        }
+        case StorageProviderType.GITHUB: {
+          content = await addNewGitHubCredentials(credentials);
+          break;
+        }
+        case StorageProviderType.GITLAB: {
+          content = await addNewGitLabCredentials(credentials);
+          break;
+        }
+        case StorageProviderType.BITBUCKET: {
+          content = await addNewBitbucketCredentials(credentials);
+          break;
+        }
+        case StorageProviderType.ADO: {
+          content = await addNewADOCredentials(credentials);
+          break;
+        }
+        case StorageProviderType.URL: {
+          content = await pullTokensFromURL(credentials);
+          break;
+        }
+        case StorageProviderType.SUPERNOVA: {
+          content = await addNewSupernovaCredentials(credentials);
+          break;
+        }
+        case StorageProviderType.TOKENS_STUDIO: {
+          content = await addNewTokensStudioCredentials(credentials);
+          break;
+        }
+        default:
+          throw new Error('Not implemented');
+      }
+      if (content?.status === 'failure') {
+        return {
+          status: 'failure',
+          errorMessage: content?.errorMessage,
+        };
+      }
+      if (content) {
+        dispatch.uiState.setLocalApiState(credentials as StorageTypeCredentials); // in JSONBIN the ID can technically be omitted, but this function handles this by creating a new JSONBin and assigning the ID
+        dispatch.uiState.setApiData(credentials as StorageTypeCredentials);
+        setStorageType({ provider: credentials as StorageTypeCredentials, shouldSetInDocument: true });
+        return {
+          status: 'success',
+        };
+      }
+      return {
+        status: 'failure',
+        errorMessage: ErrorMessages.GENERAL_CONNECTION_ERROR,
+      };
+    },
+    [
+      dispatch,
+      addJSONBinCredentials,
+      addGenericVersionedCredentials,
+      addNewGitLabCredentials,
+      addNewGitHubCredentials,
+      addNewBitbucketCredentials,
+      addNewADOCredentials,
+      addNewSupernovaCredentials,
+      addNewTokensStudioCredentials,
+      createNewJSONBin,
+      createNewGenericVersionedStorage,
+      pullTokensFromURL,
+      setStorageType,
+    ],
+  );
+ 
+  const addNewBranch = useCallback(
+    async (context: StorageTypeCredentials, branch: string, source?: string) => {
+      let newBranchCreated = false;
+      switch (context.provider) {
+        case StorageProviderType.GITHUB: {
+          newBranchCreated = await createGithubBranch(context, branch, source);
+          break;
+        }
+        case StorageProviderType.GITLAB: {
+          newBranchCreated = await createGitLabBranch(context, branch, source);
+          break;
+        }
+        case StorageProviderType.BITBUCKET: {
+          newBranchCreated = await createBitbucketBranch(context, branch, source);
+          break;
+        }
+        case StorageProviderType.ADO: {
+          newBranchCreated = await createADOBranch(context, branch, source);
+          break;
+        }
+        default:
+          throw new Error('Not implemented');
+      }
+      return newBranchCreated;
+    },
+    [createGithubBranch, createGitLabBranch, createBitbucketBranch, createADOBranch],
+  );
+ 
+  const fetchBranches = useCallback(
+    async (context: StorageTypeCredentials) => {
+      switch (context.provider) {
+        case StorageProviderType.GITHUB:
+          return fetchGithubBranches(context);
+        case StorageProviderType.GITLAB:
+          return fetchGitLabBranches(context);
+        case StorageProviderType.BITBUCKET:
+          return fetchBitbucketBranches(context);
+        case StorageProviderType.ADO:
+          return fetchADOBranches(context);
+        default:
+          return null;
+      }
+    },
+    [fetchGithubBranches, fetchGitLabBranches, fetchBitbucketBranches, fetchADOBranches],
+  );
+ 
+  const deleteProvider = useCallback((provider: any) => {
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL,
+      context: provider,
+    });
+  }, []);
+ 
+  const fetchTokensFromFileOrDirectory = useCallback(
+    async ({
+      files,
+      usedTokenSet,
+      activeTheme,
+    }: {
+      files: FileList | null;
+      usedTokenSet?: UsedTokenSetsMap;
+      activeTheme?: Record<string, string>;
+    }) => {
+      track('fetchTokensFromFileOrDirectory');
+      dispatch.uiState.startJob({ name: BackgroundJobs.UI_FETCHTOKENSFROMFILE });
+ 
+      if (files) {
+        const remoteData = await readTokensFromFileOrDirectory(files);
+        if (remoteData?.status === 'success') {
+          const sortedTokens = applyTokenSetOrder(
+            remoteData.tokens,
+            remoteData.metadata?.tokenSetOrder ?? Object.keys(remoteData.tokens),
+          );
+          dispatch.tokenState.setTokenData({
+            values: sortedTokens,
+            themes: remoteData.themes,
+            activeTheme: activeTheme ?? {},
+            usedTokenSet: usedTokenSet ?? {},
+          });
+          track('Launched with token sets', {
+            count: Object.keys(remoteData.tokens).length,
+            setNames: Object.keys(remoteData.tokens),
+          });
+        }
+        dispatch.uiState.completeJob(BackgroundJobs.UI_FETCHTOKENSFROMFILE);
+        return remoteData;
+      }
+      return null;
+    },
+    [dispatch, readTokensFromFileOrDirectory],
+  );
+ 
+  const checkRemoteChange = useCallback(
+    async (context: StorageTypeCredentials = api): Promise<boolean> => {
+      let hasChange = false;
+      switch (context?.provider) {
+        case StorageProviderType.JSONBIN: {
+          hasChange = false;
+          break;
+        }
+        case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
+          hasChange = false;
+          break;
+        }
+        case StorageProviderType.GITHUB: {
+          hasChange = await checkRemoteChangeForGitHub(context);
+          break;
+        }
+        case StorageProviderType.BITBUCKET: {
+          hasChange = false;
+          break;
+        }
+        case StorageProviderType.GITLAB: {
+          hasChange = await checkRemoteChangeForGitLab(context);
+          break;
+        }
+        case StorageProviderType.ADO: {
+          hasChange = false;
+          break;
+        }
+        case StorageProviderType.URL: {
+          hasChange = false;
+          break;
+        }
+        default:
+          hasChange = false;
+          break;
+      }
+      dispatch.uiState.setHasRemoteChange(hasChange);
+      return hasChange;
+    },
+    [api, checkRemoteChangeForGitHub, checkRemoteChangeForGitLab, dispatch.uiState],
+  );
+ 
+  return useMemo(
+    () => ({
+      restoreStoredProvider,
+      deleteProvider,
+      pullTokens,
+      pushTokens,
+      addNewProviderItem,
+      fetchBranches,
+      addNewBranch,
+      fetchTokensFromFileOrDirectory,
+      checkRemoteChange,
+    }),
+    [
+      restoreStoredProvider,
+      deleteProvider,
+      pullTokens,
+      pushTokens,
+      addNewProviderItem,
+      fetchBranches,
+      addNewBranch,
+      fetchTokensFromFileOrDirectory,
+      checkRemoteChange,
+    ],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html new file mode 100644 index 000000000..f94c24a8a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html @@ -0,0 +1,739 @@ + + + + + + Code coverage report for src/app/store/updateSources.tsx + + + + + + + + + +
+
+

All files / src/app/store updateSources.tsx

+
+ +
+ 0% + Statements + 0/38 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { startTransaction } from '@sentry/react';
+import { mergeTokenGroups } from '@/utils/tokenHelpers';
+import { Dispatch } from '@/app/store';
+import { notifyToUI } from '../../plugin/notifiers';
+import { updateJSONBinTokens } from './providers/jsonbin';
+import { updateGenericVersionedTokens } from './providers/generic/versionedStorage';
+import { track } from '@/utils/analytics';
+import type { AnyTokenList } from '@/types/tokens';
+import type { ThemeObjectsList, UsedTokenSetsMap } from '@/types';
+import type { SettingsState } from './models/settings';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageType, StorageTypeCredentials } from '@/types/StorageType';
+import { defaultTokenResolver } from '@/utils/TokenResolver';
+import { getFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+ 
+type UpdateRemoteTokensPayload = {
+  provider: StorageProviderType;
+  tokens: Record<string, AnyTokenList>;
+  themes: ThemeObjectsList;
+  context: StorageTypeCredentials;
+  updatedAt: string;
+  oldUpdatedAt?: string;
+  storeTokenIdInJsonEditor: boolean;
+  dispatch: Dispatch
+};
+ 
+type UpdateTokensOnSourcesPayload = {
+  tokens: Record<string, AnyTokenList> | null;
+  compressedTokens: string;
+  tokenValues: Record<string, AnyTokenList>;
+  usedTokenSet: UsedTokenSetsMap;
+  themes: ThemeObjectsList;
+  compressedThemes: string;
+  activeTheme: Record<string, string>;
+  settings: SettingsState;
+  updatedAt: string;
+  shouldUpdateRemote: boolean;
+  isLocal: boolean;
+  editProhibited: boolean;
+  storageType: StorageType;
+  lastUpdatedAt: string;
+  api: StorageTypeCredentials;
+  checkForChanges: boolean;
+  shouldSwapStyles?: boolean;
+  collapsedTokenSets: string[];
+  storeTokenIdInJsonEditor: boolean
+  dispatch: Dispatch
+  tokenFormat: TokenFormatOptions
+  tokensSize: number
+  themesSize: number
+};
+ 
+async function updateRemoteTokens({
+  provider,
+  tokens,
+  themes,
+  context,
+  updatedAt,
+  oldUpdatedAt,
+  storeTokenIdInJsonEditor,
+  dispatch,
+}: UpdateRemoteTokensPayload) {
+  if (!context) return;
+  const setCount = Object.keys(tokens)?.length;
+  const tokensCount = Object.values(tokens).reduce((acc, set) => acc + set.length, 0);
+  const themeCount = Object.keys(themes).length;
+  const tokenFormat = getFormat();
+  switch (provider) {
+    case StorageProviderType.JSONBIN: {
+      notifyToUI('Updating JSONBin...');
+      await updateJSONBinTokens({
+        themes,
+        tokens,
+        context,
+        updatedAt,
+        oldUpdatedAt,
+        storeTokenIdInJsonEditor,
+        dispatch,
+      });
+      track('pushTokens', {
+        provider: StorageProviderType.JSONBIN, setCount, tokensCount, themeCount, tokenFormat,
+      });
+ 
+      break;
+    }
+    case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
+      notifyToUI('Updating Generic Remote...');
+      await updateGenericVersionedTokens({
+        themes,
+        tokens,
+        context,
+        updatedAt,
+        oldUpdatedAt,
+        storeTokenIdInJsonEditor,
+        dispatch,
+      });
+ 
+      track('pushTokens', {
+        provider: StorageProviderType.GENERIC_VERSIONED_STORAGE, setCount, tokensCount, themeCount, tokenFormat,
+      });
+ 
+      break;
+    }
+    case StorageProviderType.GITHUB: {
+      break;
+    }
+    case StorageProviderType.GITLAB: {
+      break;
+    }
+    case StorageProviderType.BITBUCKET: {
+      break;
+    }
+    case StorageProviderType.ADO: {
+      break;
+    }
+    case StorageProviderType.SUPERNOVA: {
+      break;
+    }
+    case StorageProviderType.TOKENS_STUDIO: {
+      break;
+    }
+    default:
+      throw new Error(`Unimplemented storage provider for ${provider}`);
+  }
+}
+ 
+export default async function updateTokensOnSources({
+  tokens,
+  tokenValues,
+  usedTokenSet,
+  themes,
+  activeTheme,
+  settings,
+  updatedAt,
+  shouldUpdateRemote = true,
+  isLocal,
+  editProhibited,
+  storageType,
+  api,
+  lastUpdatedAt,
+  checkForChanges,
+  shouldSwapStyles,
+  collapsedTokenSets,
+  storeTokenIdInJsonEditor,
+  dispatch,
+  tokenFormat,
+  compressedTokens,
+  compressedThemes,
+}: UpdateTokensOnSourcesPayload) {
+  if (tokenValues && !isLocal && shouldUpdateRemote && !editProhibited) {
+    updateRemoteTokens({
+      provider: storageType.provider,
+      tokens: tokenValues,
+      themes,
+      context: api,
+      updatedAt,
+      oldUpdatedAt: lastUpdatedAt,
+      storeTokenIdInJsonEditor,
+      dispatch,
+    });
+  }
+ 
+  const mergedTokens = tokens
+    ? defaultTokenResolver.setTokens(mergeTokenGroups(tokens, usedTokenSet))
+    : null;
+ 
+  let tokensSize;
+  let themesSize;
+ 
+  if (mergedTokens) {
+    try {
+      tokensSize = (compressedTokens.length / 1024) * 2; // UTF-16 uses 2 bytes per character
+      themesSize = (compressedThemes.length / 1024) * 2;
+ 
+      track('tokens_size', {
+        size: tokensSize,
+        storageProvider: storageType.provider,
+      });
+ 
+      track('themes_size', {
+        size: themesSize,
+        storageProvider: storageType.provider,
+      });
+    } catch (error) {
+      console.error('Failed to track tokens and themes size:', error);
+    }
+  }
+ 
+  const transaction = startTransaction({
+    op: 'transaction',
+    name: 'Update Tokens',
+  });
+  AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.UPDATE,
+    tokenValues,
+    tokens: mergedTokens,
+    themes,
+    updatedAt,
+    settings,
+    usedTokenSet,
+    checkForChanges,
+    activeTheme,
+    shouldSwapStyles,
+    collapsedTokenSets,
+    tokenFormat,
+    storageProvider: storageType.provider,
+    storageSize: (tokensSize + themesSize),
+    compressedTokens,
+    compressedThemes,
+  }).then((result) => {
+    if (transaction) {
+      transaction.setMeasurement('nodes', result.nodes, '');
+      transaction.finish();
+    }
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html new file mode 100644 index 000000000..70c0cf6b4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html @@ -0,0 +1,859 @@ + + + + + + Code coverage report for src/app/store/useManageTokens.tsx + + + + + + + + + +
+
+

All files / src/app/store useManageTokens.tsx

+
+ +
+ 0% + Statements + 0/86 +
+ + +
+ 0% + Branches + 0/37 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useStore } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { SingleToken, TokenToRename } from '@/types/tokens';
+import { Dispatch, RootState } from '../store';
+import useConfirm from '../hooks/useConfirm';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { activeTokenSetSelector, tokensSelector } from '@/selectors';
+import { TokenTypes } from '@/constants/TokenTypes';
+import {
+  DeleteTokenPayload, DuplicateTokenGroupPayload, DuplicateTokenPayload, UpdateTokenPayload,
+} from '@/types/payloads';
+import useTokens from './useTokens';
+import { StyleOptions } from '@/constants/StyleOptions';
+import { ColorModifier } from '@/types/Modifier';
+import { wrapTransaction } from '@/profiling/transaction';
+ 
+// @TODO this typing could be more strict in the future
+ 
+export type EditSingleTokenData = {
+  parent: string;
+  type: TokenTypes;
+  name: string;
+  value: SingleToken['value'];
+  description?: string;
+  oldName?: string;
+  shouldUpdateDocument?: boolean;
+  $extensions?: {
+    [key: string]: any;
+    'studio.tokens'?: {
+      [key: string]: any;
+      id?: string;
+      modify?: ColorModifier
+    }
+  }
+};
+ 
+export type CreateSingleTokenData = {
+  parent: string;
+  type: TokenTypes;
+  name: string;
+  value: SingleToken['value'];
+  description?: string;
+  shouldUpdateDocument?: boolean;
+  $extensions?: {
+    [key: string]: any;
+    'studio.tokens'?: {
+      id?: string;
+      modify?: ColorModifier
+    }
+  }
+};
+ 
+type Choice = { key: string; label: string; enabled?: boolean, unique?: boolean };
+ 
+export default function useManageTokens() {
+  const store = useStore<RootState>();
+  const dispatch = useDispatch<Dispatch>();
+  const { confirm } = useConfirm();
+  const { removeStylesFromTokens } = useTokens();
+  const {
+    editToken, createToken, deleteToken, duplicateToken, deleteTokenGroup, renameTokenGroup, duplicateTokenGroup, renameTokenAcrossSets, deleteDuplicateTokens,
+  } = dispatch.tokenState;
+ 
+  const editSingleToken = useCallback(async (data: EditSingleTokenData) => {
+    const {
+      parent, type, name, value, description, oldName, shouldUpdateDocument = true, $extensions,
+    } = data;
+    dispatch.uiState.startJob({
+      name: BackgroundJobs.UI_EDITSINGLETOKEN,
+      isInfinite: true,
+    });
+ 
+    // should be a setting which users can toggle on / off to disable auto-sync after each token change
+    const shouldUpdate = true;
+    if (shouldUpdate) {
+      editToken({
+        parent,
+        name,
+        type,
+        value,
+        description,
+        oldName,
+        shouldUpdate: shouldUpdateDocument,
+        $extensions,
+      } as UpdateTokenPayload);
+      if (oldName) {
+        dispatch.tokenState.renameStyleNamesToCurrentTheme([{ oldName, newName: name }]);
+        dispatch.tokenState.renameVariableNamesToThemes([{ oldName, newName: name }]);
+      }
+    }
+    dispatch.uiState.completeJob(BackgroundJobs.UI_EDITSINGLETOKEN);
+  }, [editToken, dispatch.uiState, dispatch.tokenState]);
+ 
+  const createSingleToken = useCallback(async (data: CreateSingleTokenData) => {
+    const {
+      parent, type, name, value, description, shouldUpdateDocument = true, $extensions,
+    } = data;
+    dispatch.uiState.startJob({
+      name: BackgroundJobs.UI_CREATESINGLETOKEN,
+      isInfinite: true,
+    });
+    // should be a setting which users can toggle on / off to disable auto-sync after each token change
+    const shouldUpdate = true;
+ 
+    // Importing a variable token can make a new set
+    if (!store.getState().tokenState.tokens[parent]) {
+      dispatch.tokenState.addTokenSet(parent);
+    }
+ 
+    if (shouldUpdate) {
+      createToken({
+        parent,
+        name,
+        type,
+        value,
+        description,
+        shouldUpdate: shouldUpdateDocument,
+        $extensions,
+      } as UpdateTokenPayload);
+    }
+    dispatch.uiState.completeJob(BackgroundJobs.UI_CREATESINGLETOKEN);
+  }, [createToken, dispatch.uiState, dispatch.tokenState, store]);
+ 
+  const duplicateSingleToken = useCallback(async (data: DuplicateTokenPayload) => {
+    dispatch.uiState.startJob({
+      name: BackgroundJobs.UI_DUPLICATETOKEN,
+      isInfinite: true,
+    });
+    duplicateToken(data);
+    dispatch.uiState.completeJob(BackgroundJobs.UI_DUPLICATETOKEN);
+  }, [duplicateToken, dispatch.uiState]);
+ 
+  const deleteSingleToken = useCallback(async (data: DeleteTokenPayload) => {
+    const choices: Choice[] = [];
+    if (store.getState().tokenState.themes.length > 0 && data.type && [TokenTypes.COLOR, TokenTypes.TYPOGRAPHY, TokenTypes.BOX_SHADOW].includes(data?.type)) {
+      choices.push({
+        key: StyleOptions.REMOVE, label: 'Delete associated style',
+      });
+    }
+ 
+    const userConfirmation = await confirm({
+      text: 'Delete token?',
+      description: 'Are you sure you want to delete this token?',
+      choices,
+      confirmAction: 'Delete',
+      variant: 'danger',
+    });
+    if (userConfirmation) {
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_DELETETOKEN,
+        isInfinite: true,
+      });
+      deleteToken(data); // This triggers an updateDocument call as expected
+      if (Array.isArray(userConfirmation.data) && userConfirmation.data.includes(StyleOptions.REMOVE)) {
+        removeStylesFromTokens(data);
+      }
+      dispatch.uiState.completeJob(BackgroundJobs.UI_DELETETOKEN);
+      dispatch.tokenState.removeStyleNamesFromThemes(data.path, data.parent); // TODO: This triggers an updateDocument call
+      dispatch.tokenState.removeVariableNamesFromThemes(data.path, data.parent); // TODO: This triggers an updateDocument call - its own!
+    }
+  }, [confirm, deleteToken, dispatch.uiState]);
+ 
+  const deleteGroup = useCallback(async (path: string, type: string) => {
+    const userConfirmation = await confirm({
+      text: 'Delete group?',
+      description: 'Are you sure you want to delete this group?',
+      variant: 'danger',
+      confirmAction: 'Delete',
+    });
+    if (userConfirmation) {
+      const activeTokenSet = activeTokenSetSelector(store.getState());
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_DELETETOKENGROUP,
+        isInfinite: true,
+      });
+      deleteTokenGroup({ parent: activeTokenSet, path, type });
+      dispatch.uiState.completeJob(BackgroundJobs.UI_DELETETOKENGROUP);
+    }
+  }, [store, confirm, deleteTokenGroup, dispatch.uiState]);
+ 
+  const deleteDuplicates = useCallback(async (duplicates: { set: string, path: string, index: number }[]) => {
+    const userConfirmation = await confirm({
+      formId: 'confirmDeleteDuplicates',
+      text: 'Delete duplicate tokens?',
+      description: 'Are you sure you want to delete duplicate tokens, keeping only the selected ones?',
+      variant: 'danger',
+      confirmAction: 'Delete',
+    });
+    if (userConfirmation) {
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_DELETETOKENGROUP,
+        isInfinite: true,
+      });
+      duplicates?.forEach((duplicate) => {
+        const { set, path, index } = duplicate;
+        deleteDuplicateTokens({ parent: set, path, index });
+      });
+      dispatch.uiState.completeJob(BackgroundJobs.UI_DELETETOKENGROUP);
+    }
+  }, [confirm, deleteDuplicateTokens, dispatch.uiState]);
+ 
+  const renameGroup = useCallback(async (oldName: string, newName: string, type: string): Promise<TokenToRename[]> => {
+    const activeTokenSet = activeTokenSetSelector(store.getState());
+    const tokens = tokensSelector(store.getState());
+    await renameTokenGroup({
+      parent: activeTokenSet, oldName, newName, type,
+    });
+    const tokensInParent = tokens[activeTokenSet] ?? [];
+    const tokensToRename = tokensInParent
+      .filter((token) => token.name.startsWith(oldName) && token.type === type)
+      .map((filteredToken) => ({
+        oldName: filteredToken.name,
+        newName: filteredToken.name.replace(oldName, newName),
+      }));
+    dispatch.tokenState.renameStyleNamesToCurrentTheme(tokensToRename);
+    dispatch.tokenState.renameVariableNamesToThemes(tokensToRename);
+    return tokensToRename;
+  }, [store, renameTokenGroup, dispatch.tokenState]);
+ 
+  const duplicateGroup = useCallback((data: Omit<DuplicateTokenGroupPayload, 'parent'>) => {
+    const activeTokenSet = activeTokenSetSelector(store.getState());
+ 
+    dispatch.uiState.startJob({ name: BackgroundJobs.UI_DUPLICATETOKENGROUP, isInfinite: true });
+    duplicateTokenGroup({
+      parent: activeTokenSet, oldName: data.oldName, newName: data.newName, tokenSets: data.tokenSets, type: data.type,
+    });
+    dispatch.uiState.completeJob(BackgroundJobs.UI_DUPLICATETOKENGROUP);
+  }, [store, duplicateTokenGroup, dispatch.uiState]);
+ 
+  const renameTokensAcrossSets = useCallback(async (oldName: string, newName: string, type: string, tokenSets: string[]) => {
+    await renameTokenAcrossSets({
+      oldName, newName, type, tokenSets,
+    });
+  }, [renameTokenAcrossSets]);
+ 
+  const importMultipleTokens = useCallback(async ({ multipleUpdatedTokens, multipleNewTokens }: { multipleUpdatedTokens?: EditSingleTokenData[], multipleNewTokens?: CreateSingleTokenData[] }) => {
+    wrapTransaction({ name: 'importVariables' }, () => {
+      dispatch.uiState.startJob({ name: BackgroundJobs.UI_RENAME_TOKEN_ACROSS_SETS, isInfinite: true });
+ 
+      const hasUpdatedTokens = multipleUpdatedTokens && multipleUpdatedTokens.length > 0;
+      const hasNewTokens = multipleNewTokens && multipleNewTokens.length > 0;
+ 
+      if (hasUpdatedTokens) {
+        dispatch.tokenState.editMultipleTokens(multipleUpdatedTokens);
+      }
+ 
+      if (hasNewTokens) {
+        dispatch.tokenState.createMultipleTokens(multipleNewTokens);
+      }
+ 
+      dispatch.uiState.completeJob(BackgroundJobs.UI_RENAME_TOKEN_ACROSS_SETS);
+    });
+  }, [dispatch.uiState, dispatch.tokenState]);
+ 
+  return useMemo(() => ({
+    editSingleToken, createSingleToken, deleteSingleToken, deleteGroup, duplicateSingleToken, renameGroup, duplicateGroup, renameTokensAcrossSets, importMultipleTokens, deleteDuplicates,
+  }), [editSingleToken, createSingleToken, deleteSingleToken, deleteGroup, duplicateSingleToken, renameGroup, duplicateGroup, renameTokensAcrossSets, importMultipleTokens, deleteDuplicates]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html new file mode 100644 index 000000000..edd3c83f3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/app/store/useStorage.tsx + + + + + + + + + +
+
+

All files / src/app/store useStorage.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch } from 'react-redux';
+import { useCallback } from 'react';
+import type { Dispatch } from '../store';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageType } from '@/types/StorageType';
+ 
+type SetStorageTypeOptions = {
+  provider: StorageType;
+  shouldSetInDocument?: boolean;
+};
+ 
+export default function useStorage() {
+  const dispatch = useDispatch<Dispatch>();
+ 
+  const setStorageType = useCallback(({
+    provider,
+    shouldSetInDocument = false,
+  }: SetStorageTypeOptions) => {
+    if (shouldSetInDocument) {
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_STORAGE_TYPE,
+        storageType: provider,
+      });
+    }
+    dispatch.uiState.setStorage(provider);
+  }, [dispatch]);
+ 
+  return { setStorageType };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html new file mode 100644 index 000000000..fb485744e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html @@ -0,0 +1,2509 @@ + + + + + + Code coverage report for src/app/store/useTokens.tsx + + + + + + + + + +
+
+

All files / src/app/store useTokens.tsx

+
+ +
+ 0% + Statements + 0/236 +
+ + +
+ 0% + Branches + 0/128 +
+ + +
+ 0% + Functions + 0/64 +
+ + +
+ 0% + Lines + 0/221 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector, useStore } from 'react-redux';
+import { useCallback, useMemo, useContext } from 'react';
+import { AnyTokenList, SingleToken, TokenToRename } from '@/types/tokens';
+import stringifyTokens from '@/utils/stringifyTokens';
+import formatTokens from '@/utils/formatTokens';
+import { getEnabledTokenSets, getOverallConfig, mergeTokenGroups } from '@/utils/tokenHelpers';
+import useConfirm from '../hooks/useConfirm';
+import { Properties } from '@/constants/Properties';
+import { track } from '@/utils/analytics';
+import { checkIfAlias, getAliasValue } from '@/utils/alias';
+import {
+  activeTokenSetSelector,
+  storeTokenIdInJsonEditorSelector,
+  inspectStateSelector,
+  settingsStateSelector,
+  tokensSelector,
+  uiStateSelector,
+  updateModeSelector,
+  themesListSelector,
+} from '@/selectors';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { isEqual } from '@/utils/isEqual';
+import { UpdateMode } from '@/constants/UpdateMode';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { NodeInfo } from '@/types/NodeInfo';
+import { TokensContext } from '@/context';
+import { Dispatch, RootState } from '../store';
+import { DeleteTokenPayload } from '@/types/payloads';
+import { notifyToUI } from '@/plugin/notifiers';
+import { UpdateTokenVariablePayload } from '@/types/payloads/UpdateTokenVariablePayload';
+import { wrapTransaction } from '@/profiling/transaction';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { defaultTokenResolver } from '@/utils/TokenResolver';
+import { getFormat } from '@/plugin/TokenFormatStoreClass';
+import { ExportTokenSet } from '@/types/ExportTokenSet';
+import { useIsProUser } from '../hooks/useIsProUser';
+ 
+type ConfirmResult = ('textStyles' | 'colorStyles' | 'effectStyles' | string)[] | string;
+ 
+type GetFormattedTokensOptions = {
+  includeAllTokens: boolean;
+  includeParent: boolean;
+  expandTypography: boolean;
+  expandShadow: boolean;
+  expandComposition: boolean;
+  expandBorder: boolean;
+};
+ 
+type RemoveTokensByValueData = { property: Properties; nodes: NodeInfo[] }[];
+ 
+let lastUsedRenameOption: UpdateMode = UpdateMode.SELECTION;
+ 
+export type TokensToRenamePayload = {
+  oldName: string;
+  newName: string;
+};
+ 
+export default function useTokens() {
+  const dispatch = useDispatch<Dispatch>();
+  const activeTokenSet = useSelector(activeTokenSetSelector);
+  const updateMode = useSelector(updateModeSelector);
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const settings = useSelector(settingsStateSelector, isEqual);
+  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
+  const { confirm } = useConfirm<ConfirmResult>();
+  const store = useStore<RootState>();
+  const tokensContext = useContext(TokensContext);
+  const shouldConfirm = useMemo(() => updateMode === UpdateMode.DOCUMENT, [updateMode]);
+  const proUser = useIsProUser();
+  const VALID_TOKEN_TYPES = [
+    TokenTypes.DIMENSION,
+    TokenTypes.BORDER_RADIUS,
+    TokenTypes.BORDER,
+    TokenTypes.BORDER_WIDTH,
+    TokenTypes.SPACING,
+  ];
+  const tokenFormat = getFormat();
+ 
+  // Gets value of token
+  const getTokenValue = useCallback(
+    (name: string, resolved: AnyTokenList) => resolved.find((t) => t.name === name),
+    [],
+  );
+ 
+  // Returns resolved value of a specific token
+  const isAlias = useCallback(
+    (token: SingleToken, resolvedTokens: AnyTokenList) => checkIfAlias(token, resolvedTokens),
+    [],
+  );
+ 
+  // Returns formatted tokens for style dictionary
+  const getFormattedTokens = useCallback(
+    (opts: GetFormattedTokensOptions) => {
+      const {
+        includeAllTokens = false,
+        includeParent = true,
+        expandTypography = false,
+        expandShadow = false,
+        expandComposition = false,
+        expandBorder = false,
+      } = opts;
+      const tokenSets = includeAllTokens ? Object.keys(tokens) : [activeTokenSet];
+      return formatTokens({
+        tokens,
+        tokenSets,
+        resolvedTokens: tokensContext.resolvedTokens,
+        includeAllTokens,
+        includeParent,
+        expandTypography,
+        expandShadow,
+        expandComposition,
+        expandBorder,
+        storeTokenIdInJsonEditor,
+      });
+    },
+    // Adding tokenFormat as a dependency to cause a change when format changes
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+    [tokens, activeTokenSet, storeTokenIdInJsonEditor, tokensContext.resolvedTokens, tokenFormat],
+  );
+ 
+  // Returns stringified tokens for the JSON editor
+  const getStringTokens = useCallback(
+    () => stringifyTokens(tokens, activeTokenSet, storeTokenIdInJsonEditor),
+    // Adding tokenFormat as a dependency to cause a change when format changes
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+    [tokens, activeTokenSet, storeTokenIdInJsonEditor, tokenFormat],
+  );
+ 
+  // handles updating JSON
+  const handleJSONUpdate = useCallback(
+    (newTokens: string) => {
+      track('Update JSON');
+      dispatch.tokenState.setJSONData(newTokens);
+    },
+    [dispatch.tokenState],
+  );
+ 
+  // Handles the update operation
+  const handleUpdate = useCallback(() => {
+    track('Update Tokens');
+    if (shouldConfirm) {
+      confirm({
+        text: 'Are you sure?',
+        description:
+          'You are about to run a document wide update. This operation can take more than 30 minutes on very large documents.',
+      }).then((result) => {
+        if (result && result.result) {
+          // @ts-ignore
+          dispatch.tokenState.updateDocument();
+        }
+      });
+    } else {
+      // @ts-ignore
+      dispatch.tokenState.updateDocument();
+    }
+  }, [confirm, dispatch.tokenState, shouldConfirm]);
+ 
+  // Calls Figma asking for all local text- and color styles
+  const pullStyles = useCallback(async () => {
+    const userDecision = await confirm({
+      text: 'Import styles',
+      description: 'Which styles should be imported?',
+      confirmAction: 'Import',
+      choices: [
+        { key: 'colorStyles', label: 'Color', enabled: true },
+        { key: 'textStyles', label: 'Text', enabled: true },
+        { key: 'effectStyles', label: 'Shadows', enabled: true },
+      ],
+    });
+ 
+    if (userDecision && Array.isArray(userDecision.data) && userDecision.data.length) {
+      track('Import styles', {
+        textStyles: userDecision.data.includes('textStyles'),
+        colorStyles: userDecision.data.includes('colorStyles'),
+        effectStyles: userDecision.data.includes('effectStyles'),
+      });
+ 
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.PULL_STYLES,
+        styleTypes: {
+          textStyles: userDecision.data.includes('textStyles'),
+          colorStyles: userDecision.data.includes('colorStyles'),
+          effectStyles: userDecision.data.includes('effectStyles'),
+        },
+      });
+    }
+  }, [confirm]);
+ 
+  const pullVariables = useCallback(async () => {
+    // This will be handled by the ImportVariablesDialog component
+    // The dialog will be opened by the component using the useImportVariables hook
+  }, []);
+ 
+  const removeTokensByValue = useCallback((data: RemoveTokensByValueData) => {
+    track('removeTokensByValue', { count: data.length });
+ 
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE,
+      tokensToRemove: data,
+    });
+  }, []);
+ 
+  const handleRemap = useCallback(
+    async (type: Properties | TokenTypes, name: string, newTokenName: string, resolvedTokens: SingleToken[]) => {
+      track('remapToken', { fromInspect: true });
+ 
+      wrapTransaction({ name: 'remapToken' }, async () => AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.REMAP_TOKENS,
+        category: type,
+        oldName: name,
+        newName: newTokenName,
+        updateMode: UpdateMode.SELECTION,
+        tokens: resolvedTokens,
+        settings,
+      }));
+    },
+    [settings],
+  );
+ 
+  const handleBulkRemap = useCallback(
+    async (newName: string, oldName: string, bulkUpdateMode = UpdateMode.SELECTION) => {
+      track('bulkRemapToken', { fromInspect: true });
+ 
+      wrapTransaction({ name: 'bulkRemapToken' }, async () => AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.BULK_REMAP_TOKENS,
+        oldName,
+        newName,
+        updateMode: bulkUpdateMode,
+      }));
+    },
+    [],
+  );
+ 
+  // Calls Figma with an old name and new name and asks it to update all tokens that use the old name
+  const remapToken = useCallback(
+    async (oldName: string, newName: string, remapUpdateMode?: UpdateMode) => {
+      track('remapToken', { fromRename: true });
+ 
+      wrapTransaction({ name: 'remapToken' }, async () => AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.REMAP_TOKENS,
+        oldName,
+        newName,
+        updateMode: remapUpdateMode || settings.updateMode,
+      }));
+    },
+    [settings.updateMode],
+  );
+ 
+  const remapTokensInGroup = useCallback(
+    async ({
+      oldGroupName,
+      newGroupName,
+      type,
+      tokensToRename,
+    }: {
+      oldGroupName: string;
+      newGroupName: string;
+      type: string;
+      tokensToRename: TokenToRename[];
+    }) => {
+      // TODO: Move all of this logic to individual files, this hook is already way too overloaded
+      const confirmData = await confirm({
+        text: `Remap all tokens that use tokens in ${oldGroupName} group?`,
+        description: 'This will change all layers that used the old token name. This could take a while.',
+        choices: [
+          {
+            key: UpdateMode.SELECTION,
+            label: 'Selection',
+            unique: true,
+            enabled: UpdateMode.SELECTION === lastUsedRenameOption,
+          },
+          {
+            key: UpdateMode.PAGE,
+            label: 'Page',
+            unique: true,
+            enabled: UpdateMode.PAGE === lastUsedRenameOption,
+          },
+          {
+            key: UpdateMode.DOCUMENT,
+            label: 'Document',
+            unique: true,
+            enabled: UpdateMode.DOCUMENT === lastUsedRenameOption,
+          },
+          {
+            key: 'rename-variable-token-group',
+            label: 'Rename variables',
+          },
+          {
+            key: 'rename-style-token-group',
+            label: 'Rename styles',
+          },
+        ],
+      });
+      if (confirmData && confirmData.result) {
+        if (
+          Array.isArray(confirmData.data)
+          && confirmData.data.some((data: string) => [UpdateMode.DOCUMENT, UpdateMode.PAGE, UpdateMode.SELECTION].includes(data as UpdateMode))
+        ) {
+          await Promise.all(
+            tokensToRename.map((tokenToRename) => handleBulkRemap(tokenToRename.newName, tokenToRename.oldName, confirmData.data[0] as UpdateMode)),
+          );
+          lastUsedRenameOption = confirmData.data[0] as UpdateMode;
+        }
+        if (confirmData.data.includes('rename-variable-token-group')) {
+          track('renameVariablesInTokenGroup', { newGroupName, oldGroupName });
+          const tokensInParent = tokens[activeTokenSet] ?? [];
+          const tokensToRename: TokenToRename[] = [];
+          tokensInParent.map((token) => {
+            if (token.name.startsWith(oldGroupName) && token.type === type) {
+              tokensToRename.push({
+                oldName: token.name,
+                newName: token.name.replace(`${oldGroupName}`, `${newGroupName}`),
+              });
+            }
+            return token;
+          }) as AnyTokenList;
+ 
+          const result = await AsyncMessageChannel.ReactInstance.message({
+            type: AsyncMessageTypes.RENAME_VARIABLES,
+            tokens: tokensToRename,
+          });
+          dispatch.tokenState.renameVariableIdsToTheme(result.renameVariableToken);
+        }
+ 
+        if (confirmData.data.includes('rename-style-token-group')) {
+          track('renameStylesInTokenGroup', { newGroupName, oldGroupName });
+          const tokensInParent = tokens[activeTokenSet] ?? [];
+          const tokensToRename = tokensInParent
+            .filter((token) => token.name.startsWith(oldGroupName) && token.type === type)
+            .map((filteredToken) => ({
+              oldName: filteredToken.name,
+              newName: filteredToken.name.replace(oldGroupName, newGroupName),
+            }));
+ 
+          const renameStylesResult = await AsyncMessageChannel.ReactInstance.message({
+            type: AsyncMessageTypes.RENAME_STYLES,
+            tokensToRename,
+            parent: activeTokenSet,
+            settings,
+          });
+          dispatch.tokenState.renameStyleIdsToCurrentTheme(renameStylesResult.styleIds, tokensToRename);
+        }
+      }
+    },
+    [activeTokenSet, tokens, confirm, handleBulkRemap, dispatch.tokenState, settings],
+  );
+ 
+  // Asks user which styles to create, then calls Figma with all tokens to create styles
+  const createStylesFromSelectedTokenSets = useCallback(
+    async (selectedSets: ExportTokenSet[]) => {
+      const shouldCreateStyles = (settings.stylesTypography || settings.stylesColor || settings.stylesEffect) && selectedSets.length > 0;
+      if (!shouldCreateStyles) return;
+ 
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_CREATE_STYLES,
+        isInfinite: true,
+      });
+ 
+      const enabledTokenSets = selectedSets
+        .filter((set) => set.status === TokenSetStatus.ENABLED)
+        .map((tokenSet) => tokenSet.set);
+ 
+      if (enabledTokenSets.length === 0) {
+        notifyToUI('No styles created. Make sure token sets are active.', { error: true });
+        return;
+      }
+ 
+      const selectedSetsMap = selectedSets.reduce((acc, set) => {
+        acc[set.set] = set.status;
+        return acc;
+      }, {});
+ 
+      const tokensToResolve = mergeTokenGroups(tokens, selectedSetsMap);
+ 
+      const resolved = defaultTokenResolver.setTokens(tokensToResolve);
+      const withoutSourceTokens = resolved.filter(
+        (token) => !token.internal__Parent || enabledTokenSets.includes(token.internal__Parent), // filter out SOURCE tokens
+      );
+ 
+      const tokensToCreate = withoutSourceTokens.reduce((acc: SingleToken[], curr) => {
+        const shouldCreate = [
+          settings.stylesTypography && curr.type === TokenTypes.TYPOGRAPHY,
+          settings.stylesColor && curr.type === TokenTypes.COLOR,
+          settings.stylesEffect && curr.type === TokenTypes.BOX_SHADOW,
+        ].some((isEnabled) => isEnabled);
+        if (shouldCreate) {
+          acc.push(curr);
+        }
+        return acc;
+      }, []);
+ 
+      await wrapTransaction({ name: 'createStyles' }, async () => AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CREATE_STYLES,
+        tokens: tokensToCreate,
+        sourceTokens: resolved,
+        settings,
+      }));
+ 
+      track('createStyles', {
+        type: 'sets',
+        textStyles: settings.stylesTypography,
+        colorStyles: settings.stylesColor,
+        effectStyles: settings.stylesEffect,
+        setCount: selectedSets.length,
+        totalStyles: tokensToCreate.length,
+        removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
+        renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
+        ignoreFirstPartForStyles: settings.ignoreFirstPartForStyles,
+        prefixStylesWithThemeName: settings.prefixStylesWithThemeName,
+        createStylesWithVariableReferences: settings.createStylesWithVariableReferences,
+      });
+ 
+      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATE_STYLES);
+    },
+    [tokens, settings, dispatch.uiState],
+  );
+ 
+  const createStylesFromSelectedThemes = useCallback(
+    async (selectedThemes: string[]) => {
+      const shouldCreateStyles = (settings.stylesTypography || settings.stylesColor || settings.stylesEffect) && selectedThemes.length > 0;
+      if (!shouldCreateStyles) return;
+ 
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_CREATE_STYLES,
+        isInfinite: true,
+      });
+ 
+      let totalTokensToCreate = 0;
+      // Iterate over all given selectedThemes, and combine the selectedTokenSets.
+      const overallConfig = getOverallConfig(themes, selectedThemes);
+ 
+      const allStyleIds: Record<string, string[]> = {};
+ 
+      const allExistingStyleReferences: string[] = themes.reduce((acc, theme) => {
+        if (theme.$figmaStyleReferences) {
+          Object.keys(theme.$figmaStyleReferences).forEach((key) => {
+            if (theme.$figmaStyleReferences && theme.$figmaStyleReferences[key]) {
+              acc.push(theme.$figmaStyleReferences[key]);
+            }
+          });
+        }
+        return acc;
+      }, [] as string[]);
+ 
+      for (const themeId of selectedThemes) {
+        const selectedTheme = themes.find((theme) => theme.id === themeId);
+ 
+        if (selectedTheme) {
+          const selectedSets = selectedTheme.selectedTokenSets;
+          const enabledTokenSets = getEnabledTokenSets(selectedSets);
+ 
+          if (enabledTokenSets.length > 0) {
+            const tokensToResolve = mergeTokenGroups(tokens, selectedSets, overallConfig);
+            const allTokens = defaultTokenResolver.setTokens(tokensToResolve);
+ 
+            const tokensFromEnabledSets = allTokens.filter(
+              (token) => !token.internal__Parent || enabledTokenSets.includes(token.internal__Parent), // only use enabled sets
+            );
+ 
+            const tokensToCreate = tokensFromEnabledSets.reduce((acc: SingleToken[], curr) => {
+              const shouldCreate = [
+                settings.stylesTypography && curr.type === TokenTypes.TYPOGRAPHY,
+                settings.stylesColor && curr.type === TokenTypes.COLOR,
+                settings.stylesEffect && curr.type === TokenTypes.BOX_SHADOW,
+              ].some((isEnabled) => isEnabled);
+              if (shouldCreate && !acc.find((token) => curr.name === token.name)) {
+                acc.push(curr);
+              }
+ 
+              return acc;
+            }, []);
+ 
+            totalTokensToCreate += tokensToCreate.length;
+ 
+            const createStylesResult = await wrapTransaction({ name: 'createStyles' }, async () => AsyncMessageChannel.ReactInstance.message({
+              type: AsyncMessageTypes.CREATE_STYLES,
+              tokens: tokensToCreate,
+              sourceTokens: allTokens,
+              settings,
+              selectedTheme,
+            }));
+ 
+            Object.assign(allStyleIds, createStylesResult.styleIds);
+ 
+            dispatch.tokenState.assignStyleIdsToCurrentTheme({ styleIds: createStylesResult.styleIds, tokens: tokensToCreate, selectedThemes });
+          } else {
+            notifyToUI(`No styles created for theme: ${selectedTheme.name}. Make sure some sets are enabled.`, { error: true });
+          }
+        }
+      }
+ 
+      track('createStyles', {
+        type: 'themes',
+        textStyles: settings.stylesTypography,
+        colorStyles: settings.stylesColor,
+        effectStyles: settings.stylesEffect,
+        themesCount: selectedThemes.length,
+        totalTokens: totalTokensToCreate,
+        removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
+        renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
+        ignoreFirstPartForStyles: settings.ignoreFirstPartForStyles,
+        prefixStylesWithThemeName: settings.prefixStylesWithThemeName,
+        createStylesWithVariableReferences: settings.createStylesWithVariableReferences,
+      });
+      // Remove styles that aren't in the theme or in the exposed token object
+      if (settings.removeStylesAndVariablesWithoutConnection) {
+        const uniqueMergedStyleIds: string[] = Array.from(new Set([
+          ...Object.values(allExistingStyleReferences).flat(),
+          ...Object.values(allStyleIds).flat(),
+        ]));
+        const { countOfRemovedStyles } = await AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION,
+          usedStyleIds: uniqueMergedStyleIds,
+        });
+        if (countOfRemovedStyles > 0) {
+          notifyToUI(`${countOfRemovedStyles} styles removed`);
+        }
+      }
+ 
+      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATE_STYLES);
+    },
+    [dispatch.tokenState, tokens, settings, themes, dispatch.uiState],
+  );
+ 
+  const renameStylesFromTokens = useCallback(
+    async (tokensToRename: TokensToRenamePayload[], parent: string) => {
+      track('renameStyles', { tokensToRename, parent });
+ 
+      const renameStylesResult = await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.RENAME_STYLES,
+        tokensToRename,
+        parent,
+        settings,
+      });
+      dispatch.tokenState.renameStyleIdsToCurrentTheme(renameStylesResult.styleIds, tokensToRename);
+    },
+    [settings, dispatch.tokenState],
+  );
+ 
+  const removeStylesFromTokens = useCallback(
+    async (token: DeleteTokenPayload) => {
+      track('removeStyles', token);
+ 
+      const removeStylesResult = await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.REMOVE_STYLES,
+        token,
+        settings,
+      });
+      dispatch.tokenState.removeStyleIdsFromThemes(removeStylesResult.styleIds);
+    },
+    [settings, dispatch.tokenState],
+  );
+ 
+  const setNoneValuesOnNode = useCallback(
+    (resolvedTokens: SingleToken[]) => {
+      const uiState = uiStateSelector(store.getState());
+      const inspectState = inspectStateSelector(store.getState());
+      const tokensToSet = uiState.selectionValues
+        .filter((v) => inspectState.selectedTokens.includes(`${v.category}-${v.value}`))
+        .map((v) => ({ nodes: v.nodes, property: v.type })) as {
+        property: Properties;
+        nodes: NodeInfo[];
+      }[];
+ 
+      track('setNoneValuesOnNode', tokensToSet);
+ 
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_NONE_VALUES_ON_NODE,
+        tokensToSet,
+        tokens: resolvedTokens,
+      });
+    },
+    [store],
+  );
+ 
+  const filterMultiValueTokens = useCallback(() => {
+    const tempTokens = Object.entries(tokens).reduce((tempTokens, [tokenSetKey, tokenList]) => {
+      const filteredTokenList = tokenList.reduce((acc, tokenItem) => {
+        const resolvedValue = getAliasValue(tokenItem, tokensContext.resolvedTokens) || '';
+        // If extension data exists, it is likely that the token is a complex token containing color modifier data, etc
+        // in which case we collapse the value as it cannot be used as a variable
+        if ((tokenItem.$extensions || {})['studio.tokens'] && typeof resolvedValue === 'string') {
+          // We don't want to change the actual value as this could cause unintended side effects
+          tokenItem = { ...tokenItem };
+          tokenItem.value = resolvedValue;
+        }
+        if (typeof tokenItem.value === 'string' && VALID_TOKEN_TYPES.includes(tokenItem.type)) {
+          if (resolvedValue.toString().trim().includes(' ')) {
+            return acc;
+          }
+        }
+        acc.push(tokenItem);
+        return acc;
+      }, [] as AnyTokenList);
+      tempTokens[tokenSetKey] = filteredTokenList;
+      return tempTokens;
+    }, {} as Record<string, AnyTokenList>);
+ 
+    return tempTokens;
+  }, [tokens]);
+ 
+  const createVariables = useCallback(async () => {
+    dispatch.uiState.startJob({
+      name: BackgroundJobs.UI_CREATEVARIABLES,
+      isInfinite: true,
+    });
+    const multiValueFilteredTokens = filterMultiValueTokens();
+    const createVariableResult = await wrapTransaction(
+      {
+        name: 'createVariables',
+        statExtractor: async (result, transaction) => {
+          const data = await result;
+          if (data) {
+            transaction.setMeasurement('variables', data.totalVariables, '');
+          }
+        },
+      },
+      async () => await AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.CREATE_LOCAL_VARIABLES,
+        tokens: multiValueFilteredTokens,
+        settings,
+      }),
+    );
+    dispatch.tokenState.assignVariableIdsToTheme(createVariableResult.variableIds);
+    dispatch.uiState.completeJob(BackgroundJobs.UI_CREATEVARIABLES);
+  }, [dispatch.tokenState, dispatch.uiState, tokens, settings]);
+ 
+  const createVariablesFromSets = useCallback(
+    async (selectedSets: ExportTokenSet[]) => {
+      const shouldCreateVariables = (settings.variablesBoolean
+          || settings.variablesColor
+          || settings.variablesNumber
+          || settings.variablesString)
+        && selectedSets.length > 0;
+      if (!shouldCreateVariables) return;
+ 
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_CREATEVARIABLES,
+        isInfinite: true,
+      });
+      await wrapTransaction(
+        {
+          name: 'createVariables',
+          statExtractor: async (result, transaction) => {
+            const data = await result;
+            if (data) {
+              track('createVariables', {
+                type: 'sets',
+                totalVariables: data.totalVariables,
+                setCount: selectedSets.length,
+                variablesColor: settings.variablesColor,
+                variablesNumber: settings.variablesNumber,
+                variablesString: settings.variablesString,
+                variablesBoolean: settings.variablesBoolean,
+                removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
+                renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
+              });
+              transaction.setMeasurement('variables', data.totalVariables, '');
+            }
+          },
+        },
+        async () => await AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES,
+          tokens,
+          settings,
+          selectedSets,
+        }),
+      );
+      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATEVARIABLES);
+      Promise.resolve();
+    },
+    [dispatch.uiState, tokens, settings],
+  );
+ 
+  const createVariablesFromThemes = useCallback(
+    async (selectedThemes: string[]) => {
+      const shouldCreateVariables = (settings.variablesBoolean
+          || settings.variablesColor
+          || settings.variablesNumber
+          || settings.variablesString)
+        && selectedThemes.length > 0;
+      if (!shouldCreateVariables) return;
+ 
+      dispatch.uiState.startJob({
+        name: BackgroundJobs.UI_CREATEVARIABLES,
+        isInfinite: true,
+      });
+      const createVariableResult = await wrapTransaction(
+        {
+          name: 'createVariables',
+          statExtractor: async (result, transaction) => {
+            const data = await result;
+            if (data) {
+              track('createVariables', {
+                type: 'themes',
+                totalVariables: data.totalVariables,
+                themeCount: selectedThemes.length,
+                variablesColor: settings.variablesColor,
+                variablesNumber: settings.variablesNumber,
+                variablesString: settings.variablesString,
+                variablesBoolean: settings.variablesBoolean,
+                removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
+                renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
+              });
+              transaction.setMeasurement('variables', data.totalVariables, '');
+            }
+          },
+        },
+        async () => await AsyncMessageChannel.ReactInstance.message({
+          type: AsyncMessageTypes.CREATE_LOCAL_VARIABLES,
+          tokens,
+          settings,
+          selectedThemes,
+        }),
+      );
+      dispatch.tokenState.assignVariableIdsToTheme(createVariableResult.variableIds);
+      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATEVARIABLES);
+      Promise.resolve();
+    },
+    [dispatch.tokenState, dispatch.uiState, tokens, settings],
+  );
+ 
+  const renameVariablesFromToken = useCallback(
+    async ({ oldName, newName }: TokenToRename) => {
+      track('renameVariables', { oldName, newName });
+ 
+      const result = await wrapTransaction({ name: 'renameVariables' }, async () => AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.RENAME_VARIABLES,
+        tokens: [
+          {
+            oldName,
+            newName,
+          },
+        ],
+      }));
+ 
+      dispatch.tokenState.renameVariableIdsToTheme(result.renameVariableToken);
+    },
+    [dispatch.tokenState],
+  );
+ 
+  const updateVariablesFromToken = useCallback(async (payload: UpdateTokenVariablePayload) => {
+    track('updateVariables', payload);
+ 
+    await wrapTransaction({ name: 'updateVariables' }, async () => AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.UPDATE_VARIABLES,
+      payload,
+    }));
+  }, []);
+ 
+  return useMemo(
+    () => ({
+      isAlias,
+      getTokenValue,
+      getFormattedTokens,
+      getStringTokens,
+      createStylesFromSelectedTokenSets,
+      createStylesFromSelectedThemes,
+      pullStyles,
+      pullVariables,
+      remapToken,
+      remapTokensInGroup,
+      removeTokensByValue,
+      handleRemap,
+      renameStylesFromTokens,
+      handleBulkRemap,
+      removeStylesFromTokens,
+      setNoneValuesOnNode,
+      handleUpdate,
+      handleJSONUpdate,
+      createVariables,
+      createVariablesFromSets,
+      renameVariablesFromToken,
+      createVariablesFromThemes,
+      updateVariablesFromToken,
+      filterMultiValueTokens,
+    }),
+    [
+      isAlias,
+      getTokenValue,
+      getFormattedTokens,
+      getStringTokens,
+      createStylesFromSelectedTokenSets,
+      createStylesFromSelectedThemes,
+      pullStyles,
+      pullVariables,
+      remapToken,
+      remapTokensInGroup,
+      removeTokensByValue,
+      handleRemap,
+      renameStylesFromTokens,
+      handleBulkRemap,
+      removeStylesFromTokens,
+      setNoneValuesOnNode,
+      handleUpdate,
+      handleJSONUpdate,
+      createVariables,
+      createVariablesFromSets,
+      createVariablesFromThemes,
+      renameVariablesFromToken,
+      updateVariablesFromToken,
+      filterMultiValueTokens,
+    ],
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html new file mode 100644 index 000000000..f7af53c09 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/app/store/utils + + + + + + + + + +
+
+

All files src/app/store/utils

+
+ +
+ 0% + Statements + 0/43 +
+ + +
+ 0% + Branches + 0/31 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
updateAliasesInState.ts +
+
0%0/350%0/200%0/60%0/30
updateModify.ts +
+
0%0/80%0/110%0/20%0/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html new file mode 100644 index 000000000..d920b9d32 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/app/store/utils/updateAliasesInState.ts + + + + + + + + + +
+
+

All files / src/app/store/utils updateAliasesInState.ts

+
+ +
+ 0% + Statements + 0/35 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AnyTokenList, SingleToken, TokenToRename } from '@/types/tokens';
+import { replaceReferences } from '@/utils/findReferences';
+import { TokenState } from '../models/tokenState';
+import { updateModify } from './updateModify';
+ 
+export function updateAliasesInState(tokens: Record<string, AnyTokenList>, data: TokenToRename) {
+  const updatedSets: string[] = [];
+  const updatedTokens = Object.entries(tokens).reduce<TokenState['tokens']>(
+    (acc, [key, values]) => {
+      const newValues = values.map<SingleToken>((token) => {
+        try {
+        // Update references inside modify
+          const newToken = updateModify(token, data);
+          // check if $extensions was updated
+          if (JSON.stringify(newToken.$extensions) !== JSON.stringify(token.$extensions)) {
+            if (!updatedSets.includes(key)) updatedSets.push(key);
+          }
+ 
+          // Update if token is of type array, e.g. box shadows
+          if (Array.isArray(newToken.value)) {
+            const newTokenValue = newToken.value.map((t) => Object.entries(t).reduce<Record<string, string | number>>((a, [k, v]) => {
+              a[k] = replaceReferences(v.toString(), data.oldName, data.newName);
+              return a;
+            }, {}));
+ 
+            if (JSON.stringify(newTokenValue) !== JSON.stringify(newToken.value)) {
+              if (!updatedSets.includes(key)) updatedSets.push(key);
+            }
+ 
+            return {
+              ...newToken,
+              value: newTokenValue,
+            } as SingleToken;
+          }
+ 
+          // Update if we have a composite token value, e.g. typography
+          if (typeof newToken.value === 'object') {
+            const newTokenValue = Object.entries(newToken.value).reduce<Record<string, string | number>>((a, [k, v]) => {
+              a[k] = replaceReferences(v.toString(), data.oldName, data.newName);
+              return a;
+            }, {});
+ 
+            if (JSON.stringify(newTokenValue) !== JSON.stringify(newToken.value)) {
+              if (!updatedSets.includes(key)) updatedSets.push(key);
+            }
+ 
+            return {
+              ...newToken,
+              value: newTokenValue,
+            } as SingleToken;
+          }
+ 
+          const newValue = replaceReferences(newToken.value.toString(), data.oldName, data.newName);
+          if (newValue !== newToken.value) {
+            if (!updatedSets.includes(key)) updatedSets.push(key);
+          }
+ 
+          // Update for remaining token value types
+          return {
+            ...newToken,
+            value: newValue,
+          } as SingleToken;
+        } catch (e) {
+          console.error(e);
+          return token;
+        }
+      });
+ 
+      acc[key] = newValues;
+      return acc;
+    },
+    {},
+  );
+  return { updatedTokens, updatedSets };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html new file mode 100644 index 000000000..9b75bfa2f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/app/store/utils/updateModify.ts + + + + + + + + + +
+
+

All files / src/app/store/utils updateModify.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ColorModifier } from '@/types/Modifier';
+import { SingleToken, TokenToRename } from '@/types/tokens';
+ 
+export function updateModify(token: SingleToken, data: TokenToRename) {
+  if (!token.$extensions?.['studio.tokens'] && !token.$extensions?.['studio.tokens']?.modify) return token;
+ 
+  let updatedModify = token.$extensions?.['studio.tokens']?.modify;
+  if (token.$extensions?.['studio.tokens'] && token.$extensions?.['studio.tokens']?.modify && token.$extensions?.['studio.tokens'].modify.value) {
+    updatedModify = Object.entries(token.$extensions?.['studio.tokens'].modify).reduce<ColorModifier>((modify, [key, value]: string[]) => {
+      modify = {
+        ...modify,
+        [key]: value.replace(data.oldName, data.newName),
+      };
+      return modify;
+    }, {} as ColorModifier);
+  }
+ 
+  return {
+    ...token,
+    $extensions: {
+      ...token.$extensions,
+      'studio.tokens': {
+        ...token.$extensions['studio.tokens'],
+        ...(updatedModify && { modify: { ...updatedModify } }),
+      },
+    },
+  } as SingleToken;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/index.html b/packages/tokens-studio-for-figma/lcov-report/src/config/index.html new file mode 100644 index 000000000..f74b82b9c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/config/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/config + + + + + + + + + +
+
+

All files src/config

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
properties.js +
+
0%0/00%0/00%0/00%0/0
tokenType.defs.json.d.ts +
+
0%0/00%0/00%0/00%0/0
tokenTypes.js +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html b/packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html new file mode 100644 index 000000000..fd131bfc5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/config/properties.js + + + + + + + + + +
+
+

All files / src/config properties.js

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export default {
+  values: 'other',
+  sizing: 'sizing',
+  height: 'sizing',
+  width: 'sizing',
+  minWidth: 'sizing',
+  maxWidth: 'sizing',
+  minHeight: 'sizing',
+  maxHeight: 'sizing',
+  spacing: 'spacing',
+  verticalPadding: 'spacing',
+  horizontalPadding: 'spacing',
+  counterAxisSpacing: 'spacing',
+  paddingTop: 'spacing',
+  paddingRight: 'spacing',
+  paddingBottom: 'spacing',
+  paddingLeft: 'spacing',
+  itemSpacing: 'spacing',
+  fill: 'color',
+  border: 'color',
+  borderRadius: 'borderRadius',
+  borderRadiusTopLeft: 'borderRadius',
+  borderRadiusTopRight: 'borderRadius',
+  borderRadiusBottomRight: 'borderRadius',
+  borderRadiusBottomLeft: 'borderRadius',
+  borderWidth: 'borderWidth',
+  boxShadow: 'boxShadow',
+  opacity: 'opacity',
+  fontFamilies: 'fontFamilies',
+  fontWeights: 'fontWeights',
+  fontSizes: 'fontSizes',
+  lineHeights: 'lineHeights',
+  typography: 'typography',
+  letterSpacing: 'letterSpacing',
+  paragraphSpacing: 'paragraphSpacing',
+  textCase: 'textCase',
+  textDecoration: 'textDecoration',
+  dimension: 'dimension',
+  text: 'text',
+  number: 'number',
+  tokenValue: 'documentation',
+  value: 'documentation',
+  tokenName: 'documentation',
+  description: 'documentation',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html new file mode 100644 index 000000000..7cebe5dab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/config/tokenType.defs.json.d.ts + + + + + + + + + +
+
+

All files / src/config tokenType.defs.json.d.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
declare const tokenTypes: Record<
+import('../constants/TokenTypes').TokenTypes,
+import('../types/tokens/TokenTypeSchema').TokenTypeSchema
+>;
+export default tokenTypes;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html b/packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html new file mode 100644 index 000000000..593244916 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html @@ -0,0 +1,922 @@ + + + + + + Code coverage report for src/config/tokenTypes.js + + + + + + + + + +
+
+

All files / src/config tokenTypes.js

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { object } from 'dot-object';
+ 
+const tokenTypes = {
+  sizing: {
+    label: 'Size',
+    property: 'Size',
+    type: 'sizing',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  spacing: {
+    label: 'Space',
+    property: 'Value',
+    type: 'spacing',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  color: {
+    label: 'Color',
+    property: 'Color',
+    type: 'color',
+    schema: {
+      value: 'color',
+      options: {
+        description: '',
+      },
+    },
+    help:
+      "If a (local) style is found with the same name it will match to that, if not, will use hex value. Use 'Create Style' to batch-create styles from your tokens (e.g. in your design library). In the future we'll load all 'remote' styles and reference them inside the JSON.",
+  },
+  borderRadius: {
+    label: 'Border Radius',
+    property: 'Border Radius',
+    type: 'borderRadius',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  borderWidth: {
+    label: 'Border Width',
+    property: 'Border Width',
+    type: 'borderWidth',
+    explainer: 'Enter as a number, e.g. 4',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  opacity: {
+    label: 'Opacity',
+    property: 'Opacity',
+    type: 'opacity',
+    explainer: 'Set as 50% or 0.5',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  boxShadow: {
+    label: 'Box Shadow',
+    property: 'Box Shadow',
+    type: 'boxShadow',
+    schema: {
+      value: {
+        x: '0',
+        y: '0',
+        blur: '0',
+        spread: '0',
+        color: '#000000',
+        type: 'dropShadow',
+      },
+      options: {
+        description: '',
+      },
+    },
+  },
+  typography: {
+    label: 'Typography',
+    property: 'Typography',
+    type: 'typography',
+    schema: {
+      value: {
+        fontFamily: 'Inter',
+        fontWeight: 'Regular',
+        lineHeight: 'AUTO',
+        fontSize: '18',
+        letterSpacing: '0%',
+        paragraphSpacing: '0',
+        paragraphIndent: '0',
+        textDecoration: 'none',
+        textCase: 'none',
+      },
+      options: {
+        description: '',
+      },
+    },
+    help:
+      "If a (local) style is found with the same name it will match to that, if not, will use raw font values. Use 'Create Style' to batch-create styles from your tokens (e.g. in your design library). In the future we'll load all 'remote' styles and reference them inside the JSON.",
+  },
+  fontFamilies: {
+    help: 'Only works in combination with a Font Weight',
+    label: 'Font Family',
+    property: 'Font Family',
+    type: 'fontFamilies',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  fontWeights: {
+    help: 'Only works in combination with a Font Family',
+    label: 'Font Weight',
+    property: 'Font Weight',
+    type: 'fontWeights',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  lineHeights: {
+    label: 'Line Height',
+    explainer: 'e.g. 100% or 14',
+    property: 'Line Height',
+    type: 'lineHeights',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  fontSizes: {
+    label: 'Font Size',
+    property: 'Font Size',
+    type: 'fontSizes',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  letterSpacing: {
+    label: 'Letter Spacing',
+    property: 'Letter Spacing',
+    type: 'letterSpacing',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  paragraphSpacing: {
+    label: 'Paragraph Spacing',
+    property: 'ParagraphSpacing',
+    type: 'paragraphSpacing',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  textCase: {
+    label: 'Text Case',
+    property: 'TextCase',
+    type: 'textCase',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+    explainer: 'none | uppercase | lowercase | capitalize',
+  },
+  textDecoration: {
+    label: 'Text Decoration',
+    property: 'TextDecoration',
+    type: 'textDecoration',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+    explainer: 'none | underline | line-through',
+  },
+  composition: {
+    label: 'Composition',
+    property: 'Composition',
+    type: 'composition',
+    schema: {
+      value: {},
+      options: {
+        description: '',
+      },
+    },
+  },
+  border: {
+    label: 'Border',
+    property: 'Border',
+    type: 'border',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  asset: {
+    label: 'Assets',
+    property: 'Asset',
+    type: 'asset',
+    explainer: 'Public URL of your asset',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  dimension: {
+    label: 'Dimension',
+    property: 'Dimension',
+    type: 'dimension',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  boolean: {
+    label: 'Boolean',
+    property: 'Boolean',
+    type: 'boolean',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+    explainer: 'true | false',
+  },
+  text: {
+    label: 'Text',
+    property: 'Text',
+    type: 'text',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  number: {
+    label: 'Number',
+    property: 'Number',
+    type: 'number',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+  other: {
+    label: 'Other',
+    property: 'other',
+    type: 'other',
+    schema: {
+      options: {
+        description: '',
+      },
+    },
+  },
+};
+export default tokenTypes;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html new file mode 100644 index 000000000..1696d1e85 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/constants/AliasRegex.ts + + + + + + + + + +
+
+

All files / src/constants AliasRegex.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
// evaluates start of alias tokens such as $foo or {foo
+export const checkAliasStartRegex = /(\$[^\s,]+\w)|({([^]*))/g;
+ 
+// evaluates tokens such as $foo or {foo}
+export const AliasRegex = /\{((?:[^{}]|{[^{}]*})*)\}|(?:\$([^\s,]+\w))/g;
+ 
+export const AliasDollarRegex = /(?:\$([^\s,]+\w))/g;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html new file mode 100644 index 000000000..f960c32c2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/ApplyVariablesStyleOrder.ts + + + + + + + + + +
+
+

All files / src/constants ApplyVariablesStyleOrder.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum ApplyVariablesStylesOrRawValues {
+  VARIABLES_STYLES = 'variables_styles',
+  RAW_VALUES = 'raw_values',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html new file mode 100644 index 000000000..4cd64ec2e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/constants/BackgroundJobs.ts + + + + + + + + + +
+
+

All files / src/constants BackgroundJobs.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export enum BackgroundJobs {
+  NODEMANAGER_UPDATE = 'nodemanager_update',
+  NODEMANAGER_FINDNODESWITHDATA = 'nodemanager_findnodeswithdata',
+  PLUGIN_UPDATEPLUGINDATA = 'plugindata_updateplugindata',
+  PLUGIN_UPDATENODES = 'plugin_updatenodes',
+  PLUGIN_REMOVE_RELAUNCH_DATA = 'plugin_remove_relaunch_data',
+  UI_APPLYNODEVALUE = 'ui_applynodevalue',
+  UI_PULLTOKENS = 'ui_pulltokens',
+  UI_EDITSINGLETOKEN = 'ui_editsingltoken',
+  UI_CREATESINGLETOKEN = 'ui_createsingletoken',
+  UI_DUPLICATETOKEN = 'ui_duplicatetoken',
+  UI_DELETETOKEN = 'ui_deletetoken',
+  UI_DELETETOKENGROUP = 'ui_deletetokengroup',
+  UI_RENAMETOKENGROUP = 'ui_renametokengroup',
+  UI_DUPLICATETOKENGROUP = 'ui_duplicatetokengroup',
+  UI_FETCHTOKENSFROMFILE = 'ui_fetchtokensfromfile',
+  UI_UNDOING = 'ui_undoing',
+  UI_REDOING = 'ui_redoing',
+  UI_ATTACHING_LOCAL_STYLES = 'ui_attaching_local_styles',
+  UI_ATTACHING_LOCAL_VARIABLES = 'ui_attaching_local_variables',
+  UI_RENAME_TOKEN_ACROSS_SETS = 'ui_rename_token_across_sets',
+  UI_CREATEVARIABLES = 'ui_create_variables',
+  UI_CREATE_STYLES = 'ui_create_styles',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html new file mode 100644 index 000000000..46e3d07ae --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/BoxShadowTypes.ts + + + + + + + + + +
+
+

All files / src/constants BoxShadowTypes.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum BoxShadowTypes {
+  DROP_SHADOW = 'dropShadow',
+  INNER_SHADOW = 'innerShadow',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html new file mode 100644 index 000000000..25b5ba164 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/constants/ColorModifierTypes.ts + + + + + + + + + +
+
+

All files / src/constants ColorModifierTypes.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export enum ColorModifierTypes {
+  LIGHTEN = 'lighten',
+  DARKEN = 'darken',
+  MIX = 'mix',
+  ALPHA = 'alpha',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html new file mode 100644 index 000000000..91545c811 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/constants/ColorSpaceTypes.ts + + + + + + + + + +
+
+

All files / src/constants ColorSpaceTypes.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export enum ColorSpaceTypes {
+  LCH = 'lch',
+  SRGB = 'srgb',
+  P3 = 'p3',
+  HSL = 'hsl',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html new file mode 100644 index 000000000..aa9b5d81b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/DefaultWindowSize.ts + + + + + + + + + +
+
+

All files / src/constants DefaultWindowSize.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export const DefaultWindowSize = Object.freeze({
+  width: 400,
+  height: 600,
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html new file mode 100644 index 000000000..ee4ce20a9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/constants/Direction.ts + + + + + + + + + +
+
+

All files / src/constants Direction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export enum Direction {
+  TOP = 'top',
+  RIGHT = 'right',
+  BOTTOM = 'bottom',
+  LEFT = 'left',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html new file mode 100644 index 000000000..ae155e3c9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/constants/DocumentationProperties.ts + + + + + + + + + +
+
+

All files / src/constants DocumentationProperties.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropertyObject } from '@/types/properties';
+import { Properties } from './Properties';
+ 
+export const DocumentationProperties: PropertyObject[] = [
+  {
+    label: 'Name',
+    name: Properties.tokenName,
+    clear: [Properties.tokenValue, Properties.value, Properties.description],
+  },
+  {
+    label: 'Raw value',
+    name: Properties.tokenValue,
+    clear: [Properties.tokenName, Properties.value, Properties.description],
+  },
+  {
+    label: 'Value',
+    name: Properties.value,
+    clear: [Properties.tokenName, Properties.tokenValue, Properties.description],
+  },
+  {
+    label: 'Description',
+    name: Properties.description,
+    clear: [Properties.tokenName, Properties.tokenValue, Properties.value],
+  },
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html new file mode 100644 index 000000000..1474e6242 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/constants/EditTokenFormStatus.ts + + + + + + + + + +
+
+

All files / src/constants EditTokenFormStatus.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export enum EditTokenFormStatus {
+  CREATE = 'create',
+  EDIT = 'edit',
+  DUPLICATE = 'duplicate',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html new file mode 100644 index 000000000..5f4a3cf5c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/constants/ErrorMessages.ts + + + + + + + + + +
+
+

All files / src/constants ErrorMessages.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export enum ErrorMessages {
+  GENERAL_CONNECTION_ERROR = 'There was an error connecting. Check your credentials.',
+  GITHUB_CREDENTIAL_ERROR = 'Error syncing with GitHub, check credentials',
+  GITLAB_CREDENTIAL_ERROR = 'Error syncing with GitLab, check credentials',
+  BITBUCKET_CREDENTIAL_ERROR = 'Error syncing with BitBucket, check credentials',
+  ADO_CREDENTIAL_ERROR = 'Error syncing with ADO, check credentials',
+  URL_CREDENTIAL_ERROR = 'Error fetching from URL, check console (F12)',
+  JSONBIN_CREDENTIAL_ERROR = 'Error fetching from JSONbin, check console (F12)',
+  SUPERNOVA_CREDENTIAL_ERROR = 'Error syncing with Supernova, check credentials or your mapping configuration',
+  SUPERNOVA_NOT_UPLOADED_YET_ERROR = 'There were no tokens imported from Tokens Studio to Supernova previously, please push your tokens first',
+  TOKENSSTUDIO_CREDENTIAL_ERROR = 'Error syncing with Tokens Studio, check credentials',
+  TOKENSSTUDIO_READ_ERROR = 'Unable to read from Tokens Studio, check console (F12)',
+  FILE_CREDENTIAL_ERROR = 'Error fetching from file, check console (F12)',
+  REMOTE_VERSION_NEWER = 'Remote version is newer than local version',
+  REMOTE_CREDENTIAL_ERROR = 'Error fetching from remote, check console (F12)',
+  EMPTY_BRANCH_ERROR = 'There is no branch',
+  VALIDATION_ERROR = "Contents don't pass schema validation",
+  ID_NON_EXIST_ERROR = 'ID or Secret should be exist',
+  JSONBIN_CREATE_ERROR = 'Error creating JSONbin token storage',
+  GIT_MULTIFILE_PERMISSION_ERROR = 'You try to save a multi-file project as a free user. Upgrade to Pro or add a json file at the end of the filepath (tokens.json)',
+  GITLAB_PUSH_TO_PROTECTED_BRANCH_ERROR = '403 Forbidden - You are not allowed to push into this branch',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html new file mode 100644 index 000000000..2315a7953 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/ExportProviderType.ts + + + + + + + + + +
+
+

All files / src/constants ExportProviderType.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum ExportProviderType {
+  MULTIPLE = 'multiple',
+  SINGLE = 'single',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html new file mode 100644 index 000000000..99ed4dc9d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/constants/InternalTokenGroup.ts + + + + + + + + + +
+
+

All files / src/constants InternalTokenGroup.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export const INTERNAL_THEMES_NO_GROUP = 'internal_themes_no_group';
+export const INTERNAL_THEMES_NO_GROUP_LABEL = 'No group';
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html new file mode 100644 index 000000000..abaec47dc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/constants/LicenseStatus.ts + + + + + + + + + +
+
+

All files / src/constants LicenseStatus.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
export enum LicenseStatus {
+  UNKNOWN = 'unknown',
+  NO_LICENSE = 'no_license',
+  VERIFYING = 'verifying',
+  VERIFIED = 'verified',
+  ERROR = 'error',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html new file mode 100644 index 000000000..f5f7111fd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/LoadProviderType.ts + + + + + + + + + +
+
+

All files / src/constants LoadProviderType.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum LoadProviderType {
+  PRESET = 'preset',
+  FILE = 'file',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html new file mode 100644 index 000000000..1513ffef9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/ModalOptions.ts + + + + + + + + + +
+
+

All files / src/constants ModalOptions.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum ModalOptions {
+  RENAME_ACROSS_SETS = 'rename-across-sets',
+  RENAME_VARIABLE = 'rename-variable',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html new file mode 100644 index 000000000..869589cc8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/constants/Properties.ts + + + + + + + + + +
+
+

All files / src/constants Properties.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export enum Properties {
+  sizing = 'sizing',
+  height = 'height',
+  width = 'width',
+  minWidth = 'minWidth',
+  maxWidth = 'maxWidth',
+  minHeight = 'minHeight',
+  maxHeight = 'maxHeight',
+  spacing = 'spacing',
+  verticalPadding = 'verticalPadding',
+  horizontalPadding = 'horizontalPadding',
+  counterAxisSpacing = 'counterAxisSpacing',
+  paddingTop = 'paddingTop',
+  paddingRight = 'paddingRight',
+  paddingBottom = 'paddingBottom',
+  paddingLeft = 'paddingLeft',
+  itemSpacing = 'itemSpacing',
+  fill = 'fill',
+  backgroundBlur = 'backgroundBlur',
+  border = 'border',
+  borderTop = 'borderTop',
+  borderRight = 'borderRight',
+  borderBottom = 'borderBottom',
+  borderLeft = 'borderLeft',
+  borderColor = 'borderColor',
+  borderRadius = 'borderRadius',
+  borderRadiusTopLeft = 'borderRadiusTopLeft',
+  borderRadiusTopRight = 'borderRadiusTopRight',
+  borderRadiusBottomRight = 'borderRadiusBottomRight',
+  borderRadiusBottomLeft = 'borderRadiusBottomLeft',
+  borderWidth = 'borderWidth',
+  borderWidthTop = 'borderWidthTop',
+  borderWidthRight = 'borderWidthRight',
+  borderWidthBottom = 'borderWidthBottom',
+  borderWidthLeft = 'borderWidthLeft',
+  boxShadow = 'boxShadow',
+  opacity = 'opacity',
+  fontFamilies = 'fontFamilies',
+  fontWeights = 'fontWeights',
+  fontSizes = 'fontSizes',
+  lineHeights = 'lineHeights',
+  typography = 'typography',
+  composition = 'composition',
+  letterSpacing = 'letterSpacing',
+  paragraphSpacing = 'paragraphSpacing',
+  textCase = 'textCase',
+  dimension = 'dimension',
+  textDecoration = 'textDecoration',
+  asset = 'asset',
+  visibility = 'visibility',
+  text = 'text',
+  number = 'number',
+  tokenValue = 'tokenValue',
+  value = 'value',
+  tokenName = 'tokenName',
+  description = 'description',
+  rotation = 'rotation',
+  x = 'x',
+  y = 'y',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html new file mode 100644 index 000000000..feb75d9a2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/constants/SharedPluginDataKeys.ts + + + + + + + + + +
+
+

All files / src/constants SharedPluginDataKeys.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from './Properties';
+import { SharedPluginDataNamespaces } from './SharedPluginDataNamespaces';
+ 
+export const SharedPluginDataKeys = Object.freeze({
+  [SharedPluginDataNamespaces.TOKENS]: {
+    version: 'version',
+    values: 'values',
+    updatedAt: 'updatedAt',
+    storageType: 'storageType',
+    persistentNodesCache: 'persistentNodesCache',
+    usedTokenSet: 'usedTokenSet',
+    checkForChanges: 'checkForChanges',
+    activeTheme: 'activeTheme',
+    themes: 'themes',
+    collapsedTokenSets: 'collapsedTokenSets',
+    tokenFormat: 'tokenFormat',
+    fileKey: 'fileKey',
+    isCompressed: 'isCompressed',
+    ...Properties,
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html new file mode 100644 index 000000000..a010c7f0a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/constants/SharedPluginDataNamespaces.ts + + + + + + + + + +
+
+

All files / src/constants SharedPluginDataNamespaces.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export enum SharedPluginDataNamespaces {
+  TOKENS = 'tokens',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html new file mode 100644 index 000000000..e0566b642 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/constants/StorageProviderType.ts + + + + + + + + + +
+
+

All files / src/constants StorageProviderType.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
export enum StorageProviderType {
+  LOCAL = 'local',
+  GENERIC_VERSIONED_STORAGE = 'genericVersionedStorage',
+  JSONBIN = 'jsonbin',
+  GITHUB = 'github',
+  GITLAB = 'gitlab',
+  SUPERNOVA = 'supernova',
+  ADO = 'ado',
+  URL = 'url',
+  BITBUCKET = 'bitbucket',
+  TOKENS_STUDIO = 'tokensstudio',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html new file mode 100644 index 000000000..b598b5ef8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/constants/StyleIdBackupKeys.ts + + + + + + + + + +
+
+

All files / src/constants StyleIdBackupKeys.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export const StyleIdBackupKeys = [
+  'fillStyleId_original',
+  'textStyleId_original',
+  'effectStyleId_original',
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html new file mode 100644 index 000000000..901369b24 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/StyleOptions.ts + + + + + + + + + +
+
+

All files / src/constants StyleOptions.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum StyleOptions {
+  REMOVE = 'style-remove',
+  RENAME = 'style-rename',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html new file mode 100644 index 000000000..920742ab3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/constants/SystemFilenames.ts + + + + + + + + + +
+
+

All files / src/constants SystemFilenames.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export enum SystemFilenames {
+  THEMES = '$themes',
+  METADATA = '$metadata',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html new file mode 100644 index 000000000..888ac95d1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/constants/Tabs.ts + + + + + + + + + +
+
+

All files / src/constants Tabs.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
export enum Tabs {
+  START = 'start',
+  TOKENS = 'tokens',
+  JSON = 'json',
+  INSPECTOR = 'inspector',
+  SETTINGS = 'settings',
+  LOADING = 'loading',
+  SECONDSCREEN = 'secondscreen',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html new file mode 100644 index 000000000..358801d64 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/constants/TokenSetStatus.ts + + + + + + + + + +
+
+

All files / src/constants TokenSetStatus.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export enum TokenSetStatus {
+  DISABLED = 'disabled', // @README this means the token set is completely disabled
+  SOURCE = 'source', // @README this means the token set will be used to resolve references, but will be excluded from styles creation
+  ENABLED = 'enabled', // @README this means the token set is fully enabled and will affect style creation
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html new file mode 100644 index 000000000..35c572cc0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/constants/TokenTypes.ts + + + + + + + + + +
+
+

All files / src/constants TokenTypes.ts

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export enum TokenTypes {
+  OTHER = 'other',
+  COLOR = 'color',
+  BORDER_RADIUS = 'borderRadius',
+  SIZING = 'sizing',
+  SPACING = 'spacing',
+  TEXT = 'text',
+  TYPOGRAPHY = 'typography',
+  OPACITY = 'opacity',
+  BORDER_WIDTH = 'borderWidth',
+  BOX_SHADOW = 'boxShadow',
+  FONT_FAMILIES = 'fontFamilies',
+  FONT_WEIGHTS = 'fontWeights',
+  LINE_HEIGHTS = 'lineHeights',
+  FONT_SIZES = 'fontSizes',
+  LETTER_SPACING = 'letterSpacing',
+  PARAGRAPH_SPACING = 'paragraphSpacing',
+  PARAGRAPH_INDENT = 'paragraphIndent',
+  TEXT_DECORATION = 'textDecoration',
+  TEXT_CASE = 'textCase',
+  COMPOSITION = 'composition',
+  DIMENSION = 'dimension',
+  BORDER = 'border',
+  ASSET = 'asset',
+  BOOLEAN = 'boolean',
+  NUMBER = 'number',
+}
+ 
+export const ExportNumberVariablesTokenTypes = [
+  TokenTypes.BORDER_RADIUS,
+  TokenTypes.SIZING,
+  TokenTypes.SPACING,
+  TokenTypes.BORDER_WIDTH,
+  TokenTypes.DIMENSION,
+  TokenTypes.NUMBER,
+  TokenTypes.FONT_SIZES,
+  TokenTypes.LETTER_SPACING,
+  TokenTypes.LINE_HEIGHTS,
+  TokenTypes.PARAGRAPH_INDENT,
+  TokenTypes.PARAGRAPH_SPACING,
+  TokenTypes.OPACITY,
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html new file mode 100644 index 000000000..8a629de1f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/constants/UpdateMode.ts + + + + + + + + + +
+
+

All files / src/constants UpdateMode.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export enum UpdateMode {
+  PAGE = 'page',
+  DOCUMENT = 'document',
+  SELECTION = 'selection',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html new file mode 100644 index 000000000..ce3bc7dae --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/constants/ValidNodeTypes.ts + + + + + + + + + +
+
+

All files / src/constants ValidNodeTypes.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export const ValidNodeTypes: NodeType[] = [
+  'BOOLEAN_OPERATION',
+  'COMPONENT',
+  'COMPONENT_SET',
+  'ELLIPSE',
+  'FRAME',
+  'GROUP',
+  'INSTANCE',
+  'LINE',
+  'POLYGON',
+  'RECTANGLE',
+  'TEXT',
+  'VECTOR',
+  'STAR',
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html new file mode 100644 index 000000000..210813d13 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/constants/VariableTypes.ts + + + + + + + + + +
+
+

All files / src/constants VariableTypes.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from './TokenTypes';
+ 
+export const tokenTypesToCreateVariable = [
+  TokenTypes.DIMENSION,
+  TokenTypes.BORDER_RADIUS,
+  TokenTypes.BORDER_WIDTH,
+  TokenTypes.SPACING,
+  TokenTypes.SIZING,
+  TokenTypes.BOOLEAN,
+  TokenTypes.COLOR,
+  TokenTypes.NUMBER,
+  TokenTypes.TEXT,
+  TokenTypes.FONT_FAMILIES,
+  TokenTypes.FONT_SIZES,
+  TokenTypes.FONT_WEIGHTS,
+  TokenTypes.LINE_HEIGHTS,
+  TokenTypes.LETTER_SPACING,
+  TokenTypes.PARAGRAPH_SPACING,
+  TokenTypes.PARAGRAPH_INDENT,
+  TokenTypes.OPACITY,
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html new file mode 100644 index 000000000..b7f345c66 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/constants/defaultBaseFontSize.ts + + + + + + + + + +
+
+

All files / src/constants defaultBaseFontSize.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export const defaultBaseFontSize = '16';
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html new file mode 100644 index 000000000..81f0f453e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/constants/docUrls.ts + + + + + + + + + +
+
+

All files / src/constants docUrls.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export const docUrls = {
+  root: 'https://docs.tokens.studio/?ref=pf',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/index.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/index.html new file mode 100644 index 000000000..8d45c4183 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/index.html @@ -0,0 +1,581 @@ + + + + + + Code coverage report for src/constants + + + + + + + + + +
+
+

All files src/constants

+
+ +
+ 6.66% + Statements + 1/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 6.66% + Lines + 1/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AliasRegex.ts +
+
0%0/3100%0/0100%0/00%0/3
ApplyVariablesStyleOrder.ts +
+
0%0/00%0/00%0/00%0/0
BackgroundJobs.ts +
+
0%0/00%0/00%0/00%0/0
BoxShadowTypes.ts +
+
0%0/00%0/00%0/00%0/0
ColorModifierTypes.ts +
+
0%0/00%0/00%0/00%0/0
ColorSpaceTypes.ts +
+
0%0/00%0/00%0/00%0/0
DefaultWindowSize.ts +
+
0%0/1100%0/0100%0/00%0/1
Direction.ts +
+
0%0/00%0/00%0/00%0/0
DocumentationProperties.ts +
+
0%0/1100%0/0100%0/00%0/1
EditTokenFormStatus.ts +
+
0%0/00%0/00%0/00%0/0
ErrorMessages.ts +
+
0%0/00%0/00%0/00%0/0
ExportProviderType.ts +
+
0%0/00%0/00%0/00%0/0
InternalTokenGroup.ts +
+
0%0/2100%0/0100%0/00%0/2
LicenseStatus.ts +
+
0%0/00%0/00%0/00%0/0
LoadProviderType.ts +
+
0%0/00%0/00%0/00%0/0
ModalOptions.ts +
+
0%0/00%0/00%0/00%0/0
Properties.ts +
+
0%0/00%0/00%0/00%0/0
SharedPluginDataKeys.ts +
+
0%0/1100%0/0100%0/00%0/1
SharedPluginDataNamespaces.ts +
+
0%0/00%0/00%0/00%0/0
StorageProviderType.ts +
+
0%0/00%0/00%0/00%0/0
StyleIdBackupKeys.ts +
+
0%0/1100%0/0100%0/00%0/1
StyleOptions.ts +
+
0%0/00%0/00%0/00%0/0
SystemFilenames.ts +
+
0%0/00%0/00%0/00%0/0
Tabs.ts +
+
0%0/00%0/00%0/00%0/0
TokenSetStatus.ts +
+
0%0/00%0/00%0/00%0/0
TokenTypes.ts +
+
100%1/1100%0/0100%0/0100%1/1
UpdateMode.ts +
+
0%0/00%0/00%0/00%0/0
ValidNodeTypes.ts +
+
0%0/1100%0/0100%0/00%0/1
VariableTypes.ts +
+
0%0/1100%0/0100%0/00%0/1
defaultBaseFontSize.ts +
+
0%0/1100%0/0100%0/00%0/1
docUrls.ts +
+
0%0/1100%0/0100%0/00%0/1
numberRegex.ts +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html new file mode 100644 index 000000000..aea9c8c07 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/constants/numberRegex.ts + + + + + + + + + +
+
+

All files / src/constants numberRegex.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export const numberRegex = /^-?\d+(\.\d+)?$/;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html new file mode 100644 index 000000000..964123deb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html @@ -0,0 +1,469 @@ + + + + + + Code coverage report for src/context/AuthContext.tsx + + + + + + + + + +
+
+

All files / src/context AuthContext.tsx

+
+ +
+ 0% + Statements + 0/45 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {
+  useState, createContext, useContext, useEffect, useMemo, useCallback,
+} from 'react';
+ 
+import supabase from '@/supabase';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AuthContextType, AuthData, AuthInfo } from '@/types/Auth';
+import { track } from '@/utils/analytics';
+ 
+const defaultContextValue = {
+  user: null,
+  logIn: () => {},
+  signUp: () => {},
+  handleLogout: () => {},
+  authInProgress: false,
+  authError: '',
+  setAuthError: () => {},
+};
+ 
+const AuthContext = createContext<AuthContextType>(defaultContextValue);
+ 
+const AuthContextProvider = ({
+  children,
+  authData: savedAuthData,
+}: {
+  children: JSX.Element;
+  authData: AuthData | null;
+}) => {
+  const [authData, setAuthData] = useState<AuthData | null>(null);
+  const [authError, setAuthError] = useState('');
+  const [authInProgress, setAuthInProgress] = useState(false);
+ 
+  function handleLogin(data: AuthData) {
+    setAuthData(data);
+    // Store user auth data in figma.clientStorage
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_AUTH_DATA,
+      auth: data,
+    });
+  }
+ 
+  function handleLogout() {
+    setAuthData(null);
+    supabase.logout();
+    track('Logout second screen');
+    // Clear auth data in figma.clientStorage
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_AUTH_DATA,
+      auth: null,
+    });
+  }
+ 
+  const logIn = useCallback(async (loginInfo: AuthInfo) => {
+    setAuthInProgress(true);
+    const { data, error } = await supabase.signIn(loginInfo);
+    if (error) {
+      setAuthError(error.msg || error.error_description);
+    } else {
+      track('Log in second screen');
+      handleLogin(data);
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_USED_EMAIL,
+        email: loginInfo.email,
+      });
+    }
+ 
+    setAuthInProgress(false);
+  }, []);
+ 
+  const signUp = useCallback(async (signUpInfo: AuthInfo) => {
+    setAuthInProgress(true);
+    const { data, error } = await supabase.signUp(signUpInfo);
+    if (error) {
+      setAuthError(error.msg || error.error_description);
+    } else {
+      track('Sign up second screen');
+      handleLogin(data);
+      AsyncMessageChannel.ReactInstance.message({
+        type: AsyncMessageTypes.SET_USED_EMAIL,
+        email: signUpInfo.email,
+      });
+    }
+ 
+    setAuthInProgress(false);
+  }, []);
+ 
+  useEffect(() => {
+    async function checkAuthData(data: AuthData) {
+      await supabase.verifyAuth(data, (result: AuthData | null) => {
+        if (result) {
+          handleLogin(result);
+        } else {
+          handleLogout();
+        }
+      });
+    }
+ 
+    if (savedAuthData) {
+      checkAuthData(savedAuthData);
+    }
+  }, [savedAuthData]);
+ 
+  const contextValue = useMemo(
+    () => ({
+      user: authData?.user ?? null,
+      authInProgress,
+      logIn,
+      signUp,
+      handleLogout,
+      authError,
+      setAuthError,
+    }),
+    [authData?.user, authInProgress, logIn, signUp, authError],
+  );
+ 
+  return <AuthContext.Provider value={contextValue}>{children}</AuthContext.Provider>;
+};
+ 
+const useAuth = () => {
+  const context = useContext(AuthContext);
+  if (context === undefined) {
+    throw new Error('useAuth must be used within a AuthContextProvider');
+  }
+  return context;
+};
+ 
+export { AuthContextProvider, useAuth };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html new file mode 100644 index 000000000..a66f0d63f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/context/DragControlsContext.tsx + + + + + + + + + +
+
+

All files / src/context DragControlsContext.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { createContext } from 'react';
+import type { DragControls } from 'framer-motion';
+ 
+type ContextValue = {
+  controls: DragControls | null
+};
+ 
+export const DragControlsContext = createContext<ContextValue>({
+  controls: null,
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html new file mode 100644 index 000000000..7991ac41b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/context/ReorderContext.ts + + + + + + + + + +
+
+

All files / src/context ReorderContext.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/** Adapted from framer-motion */
+import { createContext } from 'react';
+import type { Axis, Box } from 'framer-motion';
+ 
+export interface ReorderContextProps<T> {
+  axis: 'x' | 'y'
+  registerItem: (id: T, layout: Box) => void
+  updateOrder: (id: T, offset: number, velocity: number) => void
+}
+ 
+export interface ItemData<T> {
+  value: T
+  layout: Axis
+}
+ 
+export const ReorderContext = createContext<ReorderContextProps<any> | null>(
+  null,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html new file mode 100644 index 000000000..90e793670 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/context/TokensContext.ts + + + + + + + + + +
+
+

All files / src/context TokensContext.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { createContext } from 'react';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+ 
+export type TokensContextValue = {
+  resolvedTokens: ResolveTokenValuesResult[];
+};
+ 
+export const TokensContext = createContext<TokensContextValue>({
+  resolvedTokens: [],
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/index.html b/packages/tokens-studio-for-figma/lcov-report/src/context/index.html new file mode 100644 index 000000000..92bb45fad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/context/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/context + + + + + + + + + +
+
+

All files src/context

+
+ +
+ 0% + Statements + 0/48 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AuthContext.tsx +
+
0%0/450%0/160%0/140%0/45
DragControlsContext.tsx +
+
0%0/1100%0/0100%0/00%0/1
ReorderContext.ts +
+
0%0/1100%0/0100%0/00%0/1
TokensContext.ts +
+
0%0/1100%0/0100%0/00%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html new file mode 100644 index 000000000..7cc756794 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/context/index.ts + + + + + + + + + +
+
+

All files / src/context index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export * from './TokensContext';
+export * from './DragControlsContext';
+export * from './ReorderContext';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html new file mode 100644 index 000000000..485fe17c9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/figmaStorage/ActiveThemeProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage ActiveThemeProperty.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { attemptOrFallback } from '@/utils/attemptOrFallback';
+ 
+export const ActiveThemeProperty = new FigmaStorageProperty<Record<string, string> | string>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.activeTheme}`,
+  (value) => JSON.stringify(value),
+  (value) => attemptOrFallback<Record<string, string> | string>(() => (
+    value ? JSON.parse(value) : {}
+  ), value),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html new file mode 100644 index 000000000..df2eb0d97 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/figmaStorage/ApiProvidersProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage ApiProvidersProperty.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageTypeCredentials } from '@/types/StorageType';
+import { tryParseJson } from '@/utils/tryParseJson';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const ApiProvidersProperty = new FigmaStorageProperty<StorageTypeCredentials[]>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'apiProviders',
+  (incoming) => JSON.stringify(incoming),
+  (outgoing) => {
+    type PossibleIncomingType = StorageTypeCredentials[] | Record<string, StorageTypeCredentials>;
+    const result = tryParseJson<PossibleIncomingType>(outgoing) ?? [];
+    if (Array.isArray(result)) return result;
+    return Object.values(result).filter((value) => (
+      typeof value === 'object'
+    ));
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html new file mode 100644 index 000000000..097061a21 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/figmaStorage/AuthDataProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage AuthDataProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { AuthData } from '@/types/Auth';
+import { tryParseJson } from '@/utils/tryParseJson';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const AuthDataProperty = new FigmaStorageProperty<AuthData | null>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'auth',
+  (incoming) => JSON.stringify(incoming),
+  (outgoing) => tryParseJson<AuthData>(outgoing),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html new file mode 100644 index 000000000..bb23a4b7b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/figmaStorage/CheckForChangesProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage CheckForChangesProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+export const CheckForChangesProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.checkForChanges}`,
+  (value: boolean | string) => String(value),
+  (value) => value === 'true',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html new file mode 100644 index 000000000..476139de3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/figmaStorage/ClientStorageCleanup.ts + + + + + + + + + +
+
+

All files / src/figmaStorage ClientStorageCleanup.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
export async function cleanupOldTokenPrefixes(currentPrefix: string) {
+  const keys = await figma.clientStorage.keysAsync();
+  // Get all keys that contain either tokens or themes
+  const storageKeys = keys.filter((key) => key.includes('/tokens/'));
+  // Filter keys that don't start with the current prefix base (fileKey)
+  const otherPrefixKeys = storageKeys.filter((key) => !key.startsWith(currentPrefix));
+ 
+  for (const key of otherPrefixKeys) {
+    await figma.clientStorage.deleteAsync(key);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html new file mode 100644 index 000000000..6559626e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/figmaStorage/ClientStorageProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage ClientStorageProperty.ts

+
+ +
+ 0% + Statements + 0/28 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { decompressFromUTF16 } from 'lz-string';
+import { cleanupOldTokenPrefixes } from './ClientStorageCleanup';
+import { getStorageSize, SAFE_STORAGE_LIMIT } from './StorageSizeManager';
+import { getUTF16StringSize } from '@/utils/getUTF16StringSize';
+ 
+const MAX_SIZE_LIMIT = 5 * 1024 * 1024; // 5MB in bytes, same as Figma's limit
+ 
+export const ClientStorageProperty = {
+  async write(key: string, fileKey: string, value: string) {
+    const prefixedKey = key.includes(fileKey) ? key : `${fileKey}/tokens/${key}`;
+ 
+    const newSize = getUTF16StringSize(value);
+    if (newSize > MAX_SIZE_LIMIT) {
+      const sizeInMB = (newSize / (1024 * 1024)).toFixed(2);
+      console.error(`Cannot write to client storage: Data size (${sizeInMB} MB) exceeds maximum limit in Figma of 5MB`);
+      return false;
+    }
+    const currentSize = await getStorageSize();
+ 
+    if (currentSize + newSize > SAFE_STORAGE_LIMIT) {
+      await cleanupOldTokenPrefixes(fileKey);
+    }
+ 
+    return figma.clientStorage.setAsync(prefixedKey, value);
+  },
+  async read(key: string) {
+    try {
+      const compressed = await figma.clientStorage.getAsync(key);
+      if (key.endsWith('/checkForChanges')) {
+        return compressed;
+      }
+      if (!compressed) {
+        return null;
+      }
+ 
+      const decompressed = decompressFromUTF16(compressed);
+      if (!decompressed) {
+        return null;
+      }
+ 
+      try {
+        const result = JSON.parse(decompressed);
+ 
+        return result;
+      } catch (parseError) {
+        console.error('Error parsing decompressed data:', parseError);
+        return null;
+      }
+    } catch (error) {
+      console.error('Error in ClientStorageProperty.read:', error);
+      return null;
+    }
+  },
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html new file mode 100644 index 000000000..4c66db8a1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/figmaStorage/CollapsedTokenSetsProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage CollapsedTokenSetsProperty.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { attemptOrFallback } from '@/utils/attemptOrFallback';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+export const CollapsedTokenSetsProperty = new FigmaStorageProperty<string[]>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.collapsedTokenSets}`,
+  (value) => JSON.stringify(value),
+  (value) => attemptOrFallback<string[]>(() => {
+    const parsedValue = value ? JSON.parse(value) : [];
+    return Array.isArray(parsedValue) ? parsedValue : [];
+  }, []),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html new file mode 100644 index 000000000..b3ec2fad6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/figmaStorage/FigmaStorageProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage FigmaStorageProperty.ts

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { readSharedPluginData } from '@/utils/figmaStorage/readSharedPluginData';
+import { writeSharedPluginData } from '@/utils/figmaStorage/writeSharedPluginData';
+ 
+export enum FigmaStorageType {
+  CLIENT_STORAGE = 'client_storage',
+  SHARED_PLUGIN_DATA = 'shared_plugin_data',
+}
+ 
+export class FigmaStorageProperty<V = string> {
+  protected storageType: FigmaStorageType = FigmaStorageType.CLIENT_STORAGE;
+ 
+  protected key: string;
+ 
+  protected stringify: (value: V, isCompressed?: boolean) => string = (value) => String(value);
+ 
+  protected parse: (value: string, isCompressed?: boolean) => V | null = (value) => value as unknown as V;
+ 
+  constructor(
+    storageType: FigmaStorageType,
+    key: string,
+    stringify?: (value: V, isCompressed?: boolean) => string,
+    parse?: (value: string, isCompressed?: boolean) => V | null,
+  ) {
+    this.storageType = storageType;
+    this.key = key;
+    if (stringify) this.stringify = stringify;
+    if (parse) this.parse = parse;
+  }
+ 
+  /**
+   * Reads data from storage, automatically handling chunked data if present
+   * @param node The node to read from (defaults to figma.root)
+   * @param isCompressed Whether the data is compressed
+   * @returns The parsed value or null if no data is found
+   */
+  public async read(node: BaseNode = figma.root, isCompressed = false): Promise<V | null> {
+    if (this.storageType === FigmaStorageType.CLIENT_STORAGE) {
+      const value = await figma.clientStorage.getAsync(this.key);
+      return value ? this.parse(value, isCompressed) : null;
+    }
+ 
+    if (this.storageType === FigmaStorageType.SHARED_PLUGIN_DATA) {
+      const keyParts = this.key.split('/');
+      const namespace = keyParts[0];
+      const key = keyParts.slice(1).join('/');
+ 
+      const value = await readSharedPluginData(namespace, key, node);
+      return value ? this.parse(value, isCompressed) : null;
+    }
+ 
+    return null;
+  }
+ 
+  /**
+   * Writes data to storage, automatically chunking if needed
+   * @param value The value to write
+   * @param node The node to write to (defaults to figma.root)
+   * @param isCompressed Whether the data is compressed
+   */
+  public async write(value: V | null, node: BaseNode = figma.root, isCompressed = false) {
+    if (this.storageType === FigmaStorageType.CLIENT_STORAGE) {
+      await figma.clientStorage.setAsync(this.key, value ? this.stringify(value, isCompressed) : null);
+      return;
+    }
+ 
+    if (this.storageType === FigmaStorageType.SHARED_PLUGIN_DATA) {
+      const keyParts = this.key.split('/');
+      const namespace = keyParts[0];
+      const key = keyParts.slice(1).join('/');
+ 
+      const stringValue = value ? this.stringify(value, isCompressed) : null;
+      await writeSharedPluginData(namespace, key, stringValue, node);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html new file mode 100644 index 000000000..04cbff59f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/figmaStorage/FileKeyProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage FileKeyProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+ 
+export const FileKeyProperty = new FigmaStorageProperty(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.fileKey}`,
+  (value) => value,
+  (value) => value,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html new file mode 100644 index 000000000..7a2220f0f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/InitialLoadProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage InitialLoadProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const InitialLoadProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'initialLoad',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html new file mode 100644 index 000000000..1e4e33d8b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/figmaStorage/IsCompressedProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage IsCompressedProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+export const IsCompressedProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.isCompressed}`,
+  (value) => String(value),
+  (value: string) => value === 'true',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html new file mode 100644 index 000000000..32a9b3748 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/figmaStorage/LastOpenedProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage LastOpenedProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const LastOpenedProperty = new FigmaStorageProperty<number>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'lastOpened',
+  (value) => String(value),
+  (value) => parseInt(value, 10),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html new file mode 100644 index 000000000..9556042a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/LicenseKeyProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage LicenseKeyProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const LicenseKeyProperty = new FigmaStorageProperty(
+  FigmaStorageType.CLIENT_STORAGE,
+  'licenseKey',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html new file mode 100644 index 000000000..c33fea4e6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/OnboardingExplainerExportSetsProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage OnboardingExplainerExportSetsProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const OnboardingExplainerExportSetsProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'onboardingExplainerExportSets',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html new file mode 100644 index 000000000..38aad183e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/OnboardingExplainerInspectProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage OnboardingExplainerInspectProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const OnboardingExplainerInspectProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'onboardingExplainerInspect',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html new file mode 100644 index 000000000..4a0411282 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/OnboardingExplainerSetsProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage OnboardingExplainerSetsProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const OnboardingExplainerSetsProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'onboardingExplainerSets',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html new file mode 100644 index 000000000..25b8746ec --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage OnboardingExplainerSyncProvidersProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const OnboardingExplainerSyncProvidersProperty = new FigmaStorageProperty<boolean>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'onboardingExplainerSyncProviders',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html new file mode 100644 index 000000000..74aea1137 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/figmaStorage/StorageSizeManager.ts + + + + + + + + + +
+
+

All files / src/figmaStorage StorageSizeManager.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { getUTF16StringSize } from '@/utils/getUTF16StringSize';
+ 
+export const SAFE_STORAGE_LIMIT = 4 * 1024 * 1024; // 4MB in bytes
+ 
+export async function getStorageSize(): Promise<number> {
+  const keys = await figma.clientStorage.keysAsync();
+  // Get all keys that contain either tokens or themes
+  const storageKeys = keys.filter((key) => key.includes('/tokens/'));
+  let totalSize = 0;
+  for (const key of storageKeys) {
+    const value = await figma.clientStorage.getAsync(key);
+    if (value) {
+      totalSize += getUTF16StringSize(value as string);
+    }
+  }
+  return totalSize;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html new file mode 100644 index 000000000..ceb120ab4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/figmaStorage/StorageTypeProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage StorageTypeProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import omit from 'just-omit';
+import { StorageType } from '@/types/StorageType';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { tryParseJson } from '@/utils/tryParseJson';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+export const StorageTypeProperty = new FigmaStorageProperty<StorageType>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.storageType}`,
+  (value) => JSON.stringify(omit(value, 'secret' as keyof StorageType)),
+  (value) => tryParseJson<StorageType>(value),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html new file mode 100644 index 000000000..9c8318ff1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/figmaStorage/ThemesProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage ThemesProperty.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { compressToUTF16, decompressFromUTF16 } from 'lz-string';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { attemptOrFallback } from '@/utils/attemptOrFallback';
+import { ThemeObjectsList } from '@/types';
+ 
+export const ThemesProperty = new FigmaStorageProperty<ThemeObjectsList>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.themes}`,
+  (value) => compressToUTF16(JSON.stringify(value)),
+  (value, isCompressed) => attemptOrFallback<ThemeObjectsList>(() => {
+    if (!value) return [];
+    if (!isCompressed) {
+      const parsedValue = value ? JSON.parse(value) : [];
+      return Array.isArray(parsedValue) ? parsedValue : [];
+    }
+    const decompressed = decompressFromUTF16(value);
+    return JSON.parse(decompressed);
+  }, []),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html new file mode 100644 index 000000000..942d11ba7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/figmaStorage/TokenFormatProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage TokenFormatProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+ 
+export const TokenFormatProperty = new FigmaStorageProperty<TokenFormatOptions>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.tokenFormat}`,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html new file mode 100644 index 000000000..91c4f6e94 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/figmaStorage/UiSettingsProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage UiSettingsProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { SavedSettings } from '@/plugin/notifiers';
+import { tryParseJson } from '@/utils/tryParseJson';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const UiSettingsProperty = new FigmaStorageProperty<Partial<SavedSettings>>(
+  FigmaStorageType.CLIENT_STORAGE,
+  'uiSettings',
+  (incoming) => JSON.stringify(incoming),
+  (outgoing) => tryParseJson<Partial<SavedSettings>>(outgoing) ?? {},
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html new file mode 100644 index 000000000..a96eeebd3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/figmaStorage/UpdatedAtProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage UpdatedAtProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+export const UpdatedAtProperty = new FigmaStorageProperty(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.updatedAt}`,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html new file mode 100644 index 000000000..293d33020 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/figmaStorage/UsedEmailProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage UsedEmailProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const UsedEmailProperty = new FigmaStorageProperty(FigmaStorageType.CLIENT_STORAGE, 'usedEmail');
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html new file mode 100644 index 000000000..c0aa40e6c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/figmaStorage/UsedTokenSetProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage UsedTokenSetProperty.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { UsedTokenSetsMap } from '@/types';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { tryParseJson } from '@/utils/tryParseJson';
+ 
+export const UsedTokenSetProperty = new FigmaStorageProperty<string[] | UsedTokenSetsMap>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.usedTokenSet}`,
+  (value) => JSON.stringify(value),
+  (value) => tryParseJson(value) ?? {},
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html new file mode 100644 index 000000000..a83206f2f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/figmaStorage/UserIdProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage UserIdProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+ 
+export const UserIdProperty = new FigmaStorageProperty(
+  FigmaStorageType.CLIENT_STORAGE,
+  'userId',
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html new file mode 100644 index 000000000..e5ec43720 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/figmaStorage/ValuesProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage ValuesProperty.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { compressToUTF16, decompressFromUTF16 } from 'lz-string';
+import { attemptOrFallback } from '@/utils/attemptOrFallback';
+import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { AnyTokenList } from '@/types/tokens';
+ 
+export const ValuesProperty = new FigmaStorageProperty<Record<string, AnyTokenList>>(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.values}`,
+  (value) => compressToUTF16(JSON.stringify(value)),
+  (value, isCompressed) => attemptOrFallback<Record<string, AnyTokenList>>(() => {
+    if (!value) return {};
+    if (!isCompressed) return JSON.parse(value);
+    const decompressed = decompressFromUTF16(value);
+    return JSON.parse(decompressed);
+  }, {}),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html new file mode 100644 index 000000000..ec7116fdf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/figmaStorage/VersionProperty.ts + + + + + + + + + +
+
+

All files / src/figmaStorage VersionProperty.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
+import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+export const VersionProperty = new FigmaStorageProperty(
+  FigmaStorageType.SHARED_PLUGIN_DATA,
+  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.version}`,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html new file mode 100644 index 000000000..6d7da65c3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html @@ -0,0 +1,536 @@ + + + + + + Code coverage report for src/figmaStorage + + + + + + + + + +
+
+

All files src/figmaStorage

+
+ +
+ 0% + Statements + 0/145 +
+ + +
+ 0% + Branches + 0/64 +
+ + +
+ 0% + Functions + 0/43 +
+ + +
+ 0% + Lines + 0/134 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ActiveThemeProperty.ts +
+
0%0/40%0/20%0/30%0/4
ApiProvidersProperty.ts +
+
0%0/70%0/40%0/30%0/6
AuthDataProperty.ts +
+
0%0/3100%0/00%0/20%0/3
CheckForChangesProperty.ts +
+
0%0/3100%0/00%0/20%0/3
ClientStorageCleanup.ts +
+
0%0/7100%0/00%0/30%0/5
ClientStorageProperty.ts +
+
0%0/280%0/120%0/20%0/28
CollapsedTokenSetsProperty.ts +
+
0%0/50%0/40%0/30%0/5
FigmaStorageProperty.ts +
+
0%0/300%0/240%0/50%0/26
FileKeyProperty.ts +
+
0%0/3100%0/00%0/20%0/3
InitialLoadProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
IsCompressedProperty.ts +
+
0%0/3100%0/00%0/20%0/3
LastOpenedProperty.ts +
+
0%0/3100%0/00%0/20%0/3
LicenseKeyProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerExportSetsProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerInspectProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerSetsProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerSyncProvidersProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
StorageSizeManager.ts +
+
0%0/100%0/20%0/20%0/9
StorageTypeProperty.ts +
+
0%0/3100%0/00%0/20%0/3
ThemesProperty.ts +
+
0%0/100%0/80%0/30%0/9
TokenFormatProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
UiSettingsProperty.ts +
+
0%0/30%0/20%0/20%0/3
UpdatedAtProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
UsedEmailProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
UsedTokenSetProperty.ts +
+
0%0/30%0/20%0/20%0/3
UserIdProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
ValuesProperty.ts +
+
0%0/90%0/40%0/30%0/7
VersionProperty.ts +
+
0%0/1100%0/0100%0/00%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html new file mode 100644 index 000000000..43e7b77b4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/figmaStorage/index.ts + + + + + + + + + +
+
+

All files / src/figmaStorage index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './FigmaStorageProperty';
+export * from './ApiProvidersProperty';
+export * from './UserIdProperty';
+export * from './ValuesProperty';
+export * from './ThemesProperty';
+export * from './ActiveThemeProperty';
+export * from './VersionProperty';
+export * from './UpdatedAtProperty';
+export * from './StorageTypeProperty';
+export * from './UsedTokenSetProperty';
+export * from './LastOpenedProperty';
+export * from './OnboardingExplainerSetsProperty';
+export * from './OnboardingExplainerExportSetsProperty';
+export * from './OnboardingExplainerSyncProvidersProperty';
+export * from './OnboardingExplainerInspectProperty';
+export * from './UiSettingsProperty';
+export * from './LicenseKeyProperty';
+export * from './AuthDataProperty';
+export * from './CollapsedTokenSetsProperty';
+export * from './InitialLoadProperty';
+export * from './TokenFormatProperty';
+export * from './FileKeyProperty';
+export * from './CheckForChangesProperty';
+export * from './IsCompressedProperty';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html new file mode 100644 index 000000000..1786b61e7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for src/hooks + + + + + + + + + +
+
+

All files src/hooks

+
+ +
+ 0% + Statements + 0/77 +
+ + +
+ 0% + Branches + 0/32 +
+ + +
+ 0% + Functions + 0/26 +
+ + +
+ 0% + Lines + 0/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
useChangedState.ts +
+
0%0/180%0/40%0/40%0/18
useDelayedFlag.ts +
+
0%0/190%0/140%0/70%0/15
useFigmaFonts.tsx +
+
0%0/6100%0/00%0/30%0/5
useFigmaTheme.ts +
+
0%0/120%0/20%0/40%0/11
useGetActiveState.ts +
+
0%0/60%0/80%0/30%0/6
useSetNodeData.ts +
+
0%0/5100%0/00%0/20%0/5
useShortcut.ts +
+
0%0/110%0/40%0/30%0/10
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html new file mode 100644 index 000000000..45c2d1e5f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/hooks/index.ts + + + + + + + + + +
+
+

All files / src/hooks index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export * from './useDelayedFlag';
+export * from './useGetActiveState';
+export * from './useProcess';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html new file mode 100644 index 000000000..f87562287 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/hooks/useChangedState.ts + + + + + + + + + +
+
+

All files / src/hooks useChangedState.ts

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch, useSelector } from 'react-redux';
+import { useMemo } from 'react';
+import {
+  lastSyncedStateSelector,
+  remoteDataSelector,
+  storageTypeSelector,
+  themesListSelector,
+  tokensSelector,
+} from '@/selectors';
+import { findDifferentState } from '@/utils/findDifferentState';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { compareLastSyncedState } from '@/utils/compareLastSyncedState';
+import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
+ 
+export function useChangedState() {
+  const remoteData = useSelector(remoteDataSelector);
+  const tokens = useSelector(tokensSelector);
+  const themes = useSelector(themesListSelector);
+  const storageType = useSelector(storageTypeSelector);
+  const lastSyncedState = useSelector(lastSyncedStateSelector);
+  const tokenFormat = useSelector(tokenFormatSelector);
+  const dispatch = useDispatch();
+ 
+  const changedPushState = useMemo(() => {
+    const tokenSetOrder = Object.keys(tokens);
+    return findDifferentState(remoteData, {
+      tokens,
+      themes,
+      metadata: storageType.provider !== StorageProviderType.LOCAL ? { tokenSetOrder } : {},
+    });
+  }, [remoteData, tokens, themes, storageType]);
+ 
+  const changedPullState = useMemo(() => {
+    const tokenSetOrder = Object.keys(tokens);
+    return findDifferentState(
+      {
+        tokens,
+        themes,
+        metadata: storageType.provider !== StorageProviderType.LOCAL ? { tokenSetOrder } : {},
+      },
+      remoteData,
+    );
+  }, [remoteData, tokens, themes, storageType]);
+ 
+  const hasChanges = useMemo(() => {
+    const hasChanged = !compareLastSyncedState(tokens, themes, lastSyncedState, tokenFormat);
+ 
+    dispatch.tokenState.updateCheckForChanges(hasChanged);
+ 
+    return hasChanged;
+  }, [tokens, themes, lastSyncedState, tokenFormat, dispatch.tokenState]);
+ 
+  return { changedPushState, changedPullState, hasChanges };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html new file mode 100644 index 000000000..b0b88d2b8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/hooks/useDelayedFlag.ts + + + + + + + + + +
+
+

All files / src/hooks useDelayedFlag.ts

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useEffect, useState } from 'react';
+ 
+export function useDelayedFlag(value = false, timeout = 500, delayedOn = false, delayedOff = true) {
+  const [flag, setFlag] = useState(value);
+ 
+  useEffect(() => {
+    if (flag !== value) {
+      if (value) {
+        if (delayedOn) {
+          const timeoutId = setTimeout(() => setFlag(true), timeout);
+          return () => clearTimeout(timeoutId);
+        }
+        setFlag(true);
+      } else if (!value) {
+        if (delayedOff) {
+          const timeoutId = setTimeout(() => setFlag(false), timeout);
+          return () => clearTimeout(timeoutId);
+        }
+        setFlag(false);
+      }
+    }
+    return () => {};
+  }, [value, timeout, delayedOn, delayedOff]);
+ 
+  return flag;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html new file mode 100644 index 000000000..56ac8109d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/hooks/useFigmaFonts.tsx + + + + + + + + + +
+
+

All files / src/hooks useFigmaFonts.tsx

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useDispatch } from 'react-redux';
+import { useCallback, useMemo } from 'react';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { Dispatch } from '../app/store';
+ 
+export default function useFigmaFonts() {
+  const dispatch = useDispatch<Dispatch>();
+ 
+  // Gets value of token
+  const getFigmaFonts = useCallback(async () => {
+    const figmaFonts = await AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.GET_FIGMA_FONTS,
+    });
+    dispatch.uiState.setFigmaFonts(figmaFonts.fonts);
+  }, [dispatch.uiState]);
+ 
+  return useMemo(() => ({
+    getFigmaFonts,
+  }), [
+    getFigmaFonts,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html new file mode 100644 index 000000000..703a1faf1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/hooks/useFigmaTheme.ts + + + + + + + + + +
+
+

All files / src/hooks useFigmaTheme.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useState, useEffect } from 'react';
+ 
+export function useFigmaTheme() {
+  const [isDarkTheme, setIsDarkTheme] = useState(false);
+ 
+  useEffect(() => {
+    const htmlClassList = document.documentElement?.classList || [];
+    const isDark = htmlClassList.contains('figma-dark');
+    setIsDarkTheme(isDark);
+ 
+    const observer = new MutationObserver(() => {
+      const isDarkMode = htmlClassList.contains('figma-dark');
+      setIsDarkTheme(isDarkMode);
+    });
+ 
+    observer.observe(document.documentElement, {
+      attributes: true,
+      attributeFilter: ['class'],
+    });
+ 
+    return () => observer.disconnect();
+  }, []);
+ 
+  return { isDarkTheme };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html new file mode 100644 index 000000000..6fb5831fe --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/hooks/useGetActiveState.ts + + + + + + + + + +
+
+

All files / src/hooks useGetActiveState.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useSelector } from 'react-redux';
+import { PropertyObject } from '@/types/properties';
+import { RootState } from '@/app/store';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { isPropertyType, isTokenType } from '@/utils/is';
+ 
+// @README type should really be a Properties
+export function useGetActiveState(properties: (PropertyObject | TokenTypes)[], type: string, name: string) {
+  return useSelector((state: RootState) => {
+    const { uiState } = state;
+    if (
+      !isPropertyType(type)
+      && !isTokenType(type)
+    ) {
+      return false;
+    }
+    return (
+      uiState.mainNodeSelectionValues[type] === name
+      || properties.some((prop) => (
+        // @TODO: This no longer seems to work for color tokens as prop is always string?
+        typeof prop !== 'string'
+        && uiState.mainNodeSelectionValues[prop.name] === name
+      ))
+    );
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html new file mode 100644 index 000000000..e5a189a94 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/hooks/useProcess/CanceledError.ts + + + + + + + + + +
+
+

All files / src/hooks/useProcess CanceledError.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export class CanceledError extends Error {
+  constructor() {
+    super('Canceled');
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html new file mode 100644 index 000000000..d1ab17f2e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/hooks/useProcess/ProcessCancelToken.ts + + + + + + + + + +
+
+

All files / src/hooks/useProcess ProcessCancelToken.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
type EventTypes = 'canceled';
+ 
+export class ProcessCancelToken {
+  public id = Date.now();
+ 
+  private $eventHandlers: Record<EventTypes, (() => void)[]> = {
+    canceled: [],
+  };
+ 
+  public cancel() {
+    this.$eventHandlers.canceled.forEach((fn) => fn());
+  }
+ 
+  public on(event: EventTypes, fn: () => void) {
+    this.$eventHandlers[event].push(fn);
+    return () => {
+      const indexOf = this.$eventHandlers[event].indexOf(fn);
+      if (indexOf > -1) {
+        this.$eventHandlers[event].splice(indexOf, 1);
+      }
+    };
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html new file mode 100644 index 000000000..c740a03fc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/hooks/useProcess/ProcessStepStatus.ts + + + + + + + + + +
+
+

All files / src/hooks/useProcess ProcessStepStatus.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
export enum ProcessStepStatus {
+  IDLE = 'idle',
+  PENDING = 'pending',
+  FAILED = 'failed',
+  CANCELED = 'canceled',
+  DONE = 'done',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html new file mode 100644 index 000000000..970cde851 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/hooks/useProcess + + + + + + + + + +
+
+

All files src/hooks/useProcess

+
+ +
+ 0% + Statements + 0/55 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/19 +
+ + +
+ 0% + Lines + 0/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
CanceledError.ts +
+
0%0/1100%0/00%0/10%0/1
ProcessCancelToken.ts +
+
0%0/90%0/20%0/40%0/8
ProcessStepStatus.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
useProcess.ts +
+
0%0/450%0/150%0/140%0/39
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html new file mode 100644 index 000000000..bcd3671f2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/hooks/useProcess/index.ts + + + + + + + + + +
+
+

All files / src/hooks/useProcess index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export * from './useProcess';
+export * from './ProcessCancelToken';
+export * from './ProcessStepStatus';
+export * from './CanceledError';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html new file mode 100644 index 000000000..f37a6517a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html @@ -0,0 +1,376 @@ + + + + + + Code coverage report for src/hooks/useProcess/useProcess.ts + + + + + + + + + +
+
+

All files / src/hooks/useProcess useProcess.ts

+
+ +
+ 0% + Statements + 0/45 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  useCallback, useMemo, useState,
+} from 'react';
+import { CanceledError } from '@/plugin/CanceledError';
+import { ProcessCancelToken } from './ProcessCancelToken';
+import { ProcessStepStatus } from './ProcessStepStatus';
+ 
+export type ProcessStep<T extends string> = {
+  key: T
+  fn: (cancelToken: ProcessCancelToken) => Promise<void>
+};
+ 
+export function useProcess<T extends string = string>(steps: ProcessStep<T>[]) {
+  const [currentStep, setCurrentStep] = useState<T | null>(null);
+  const [currentStatus, setCurrentStatus] = useState<ProcessStepStatus>(ProcessStepStatus.IDLE);
+  const cancelToken = useMemo(() => new ProcessCancelToken(), []);
+ 
+  const isComplete = useMemo(() => (
+    steps.length
+    && steps[steps.length - 1].key === currentStep
+    && currentStatus === ProcessStepStatus.DONE
+  ), [steps, currentStep, currentStatus]);
+ 
+  const perform = useCallback(async (currentKey: string) => {
+    const cleanup: (() => void)[] = [];
+ 
+    try {
+      setCurrentStatus(ProcessStepStatus.PENDING);
+      const step = steps.find(({ key }) => key === currentKey);
+      if (!step) throw new Error(`Missing step ${currentKey}`);
+ 
+      await Promise.race([
+        new Promise<void>((resolve, reject) => {
+          cleanup.push(cancelToken.on('canceled', () => {
+            reject(new CanceledError());
+          }));
+        }).catch((err) => {
+          if (err && err instanceof CanceledError) {
+            console.trace(err);
+            console.error(`Operation cancelled: ${currentKey}`);
+            setCurrentStatus(ProcessStepStatus.CANCELED);
+          }
+        }),
+        await step.fn(cancelToken),
+      ]);
+ 
+      setCurrentStatus(ProcessStepStatus.DONE);
+    } catch (err) {
+      setCurrentStatus(ProcessStepStatus.FAILED);
+      throw err;
+    } finally {
+      cleanup.forEach((fn) => fn());
+    }
+  }, [steps, cancelToken]);
+ 
+  const start = useCallback(async () => {
+    if (steps.length) {
+      const { key } = steps[0];
+      setCurrentStep(key);
+      setCurrentStatus(ProcessStepStatus.IDLE);
+      await perform(key);
+    }
+  }, [steps, perform]);
+ 
+  const next = useCallback(async () => {
+    const currentStepIndex = steps.findIndex(({ key }) => key === currentStep);
+    if (currentStepIndex > -1 && currentStepIndex < steps.length - 1) {
+      const nextStep = steps[currentStepIndex + 1];
+      setCurrentStep(nextStep.key);
+      setCurrentStatus(ProcessStepStatus.IDLE);
+      await perform(nextStep.key);
+    }
+  }, [steps, perform, currentStep]);
+ 
+  const reset = useCallback(() => {
+    setCurrentStep(null);
+    setCurrentStatus(ProcessStepStatus.IDLE);
+  }, []);
+ 
+  return useMemo(() => ({
+    isComplete,
+    currentStep,
+    currentStatus,
+    start,
+    next,
+    reset,
+    cancelToken,
+  }), [
+    isComplete,
+    currentStep,
+    currentStatus,
+    start,
+    next,
+    reset,
+    cancelToken,
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html new file mode 100644 index 000000000..bbb78e6f0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/hooks/useSetNodeData.ts + + + + + + + + + +
+
+

All files / src/hooks useSetNodeData.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useCallback } from 'react';
+import { useStore } from 'react-redux';
+import { SelectionValue } from '@/types';
+import { AnyTokenList } from '@/types/tokens';
+import { settingsStateSelector } from '@/selectors';
+import { RootState } from '@/app/store';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+ 
+export default function useSetNodeData() {
+  const store = useStore<RootState>();
+ 
+  const setNodeData = useCallback(async (data: SelectionValue, resolvedTokens: AnyTokenList) => {
+    const settings = settingsStateSelector(store.getState());
+    await AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_NODE_DATA,
+      values: data,
+      tokens: resolvedTokens,
+      settings,
+    });
+  }, [store]);
+ 
+  return setNodeData;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html new file mode 100644 index 000000000..1510f846f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/hooks/useShortcut.ts + + + + + + + + + +
+
+

All files / src/hooks useShortcut.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useEffect } from 'react';
+import { useKeys } from 'rooks';
+ 
+export const activeShortcuts: string[] = [];
+ 
+export function useShortcut(keys: string[], action: (event: KeyboardEvent) => void) {
+  useKeys(keys, action, {
+    preventLostKeyup: true,
+  });
+ 
+  useEffect(() => {
+    const id = keys.join('+');
+    if (activeShortcuts.includes(id)) {
+      console.warn(`Possibly duplicate shortcut registered: ${id}`);
+    }
+ 
+    activeShortcuts.push(id);
+ 
+    return () => {
+      const indexOf = activeShortcuts.indexOf(id);
+      if (indexOf > -1) activeShortcuts.splice(indexOf, 1);
+    };
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html new file mode 100644 index 000000000..8f4a848e1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/i18n/i18next.d.ts + + + + + + + + + +
+
+

All files / src/i18n i18next.d.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// import { resources, defaultNS } from './index.ts';
+ 
+// declare module 'i18next' {
+//   interface CustomTypeOptions {
+//     defaultNS: typeof defaultNS
+//     resources: typeof resources['en'];
+//   }
+// }
+ 
+/*
+ 
+This module does nothing currently. Enabling it allows for types when doing i18n
+But the tree is too big for typescript to handle.
+https://github.com/i18next/react-i18next/issues?q=Type+instantiation+is+excessively+deep+and+possibly+infinite
+*/
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html new file mode 100644 index 000000000..cc93bca23 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/i18n + + + + + + + + + +
+
+

All files src/i18n

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
i18next.d.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/60%0/20%0/10%0/6
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html new file mode 100644 index 000000000..f26b1a282 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/i18n/index.ts + + + + + + + + + +
+
+

All files / src/i18n index.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import i18n from 'i18next';
+import { initReactI18next } from 'react-i18next';
+ 
+import enTranslations from './lang/en';
+import frTranslations from './lang/fr';
+import esTranslations from './lang/es';
+import hiTranslations from './lang/hi';
+import nlTranslations from './lang/nl';
+import zhTranslations from './lang/zh';
+ 
+const isSBX = process.env.NODE_ENV === 'sbx';
+ 
+export const namespaces = ['branch', 'error', 'footer', 'general', 'inspect', 'licence', 'navbar', 'onBoarding', 'settings', 'storage', 'sync', 'tokens', 'variables'];
+ 
+export const resources = {
+  en: enTranslations,
+  fr: frTranslations,
+  es: esTranslations,
+  hi: hiTranslations,
+  nl: nlTranslations,
+  zh: zhTranslations,
+};
+ 
+/**
+ * Add languages here
+ */
+export const languages = [{
+  title: 'English',
+  code: 'en',
+},
+{
+  title: 'French',
+  code: 'fr',
+},
+{
+  title: 'Dutch',
+  code: 'nl',
+},
+{
+  title: 'Chinese',
+  code: 'zh',
+},
+{
+  title: 'Hindi',
+  code: 'hi',
+},
+{
+  title: 'Spanish',
+  code: 'es',
+}];
+ 
+export const i18nInstance = i18n
+  // pass the i18n instance to react-i18next.
+  .use(initReactI18next)
+  .init({
+    fallbackLng: 'en',
+    resources,
+    defaultNS: 'general',
+    ns: namespaces,
+    // Only throw error in SBX
+    parseMissingKeyHandler: isSBX ? (key) => { throw new Error(`Missing translation for ${key}`); } : undefined,
+    lng: 'en',
+    interpolation: {
+      escapeValue: false, // react already safes from xss
+    },
+    react: {
+      useSuspense: false,
+    },
+  });
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html new file mode 100644 index 000000000..41f658301 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/i18n/lang/en + + + + + + + + + +
+
+

All files src/i18n/lang/en

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html new file mode 100644 index 000000000..7bba6b217 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/i18n/lang/en/index.ts + + + + + + + + + +
+
+

All files / src/i18n/lang/en index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import onBoarding from './onboarding.json';
+import startScreen from './startScreen.json';
+import licence from './licence.json';
+import tokens from './tokens.json';
+import footer from './footer.json';
+import errors from './errors.json';
+import sync from './sync.json';
+import navbar from './navbar.json';
+import inspect from './inspect.json';
+import settings from './settings.json';
+import storage from './storage.json';
+import general from './general.json';
+import branch from './branch.json';
+import manageStylesAndVariables from './manageStylesAndVariables.json';
+ 
+export default {
+  general,
+  branch,
+  onBoarding,
+  startScreen,
+  navbar,
+  licence,
+  inspect,
+  tokens,
+  footer,
+  errors,
+  sync,
+  storage,
+  settings,
+  manageStylesAndVariables,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html new file mode 100644 index 000000000..cc702277c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/i18n/lang/es + + + + + + + + + +
+
+

All files src/i18n/lang/es

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html new file mode 100644 index 000000000..a535233bc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/i18n/lang/es/index.ts + + + + + + + + + +
+
+

All files / src/i18n/lang/es index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import onBoarding from './onboarding.json';
+import startScreen from './startScreen.json';
+import licence from './licence.json';
+import tokens from './tokens.json';
+import footer from './footer.json';
+import errors from './errors.json';
+import sync from './sync.json';
+import navbar from './navbar.json';
+import inspect from './inspect.json';
+import settings from './settings.json';
+import storage from './storage.json';
+import general from './general.json';
+import branch from './branch.json';
+import manageStylesAndVariables from './manageStylesAndVariables.json';
+ 
+export default {
+  general,
+  branch,
+  onBoarding,
+  startScreen,
+  navbar,
+  licence,
+  inspect,
+  tokens,
+  footer,
+  errors,
+  sync,
+  storage,
+  settings,
+  manageStylesAndVariables,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html new file mode 100644 index 000000000..dd902c884 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/i18n/lang/fr + + + + + + + + + +
+
+

All files src/i18n/lang/fr

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html new file mode 100644 index 000000000..21bc167d9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/i18n/lang/fr/index.ts + + + + + + + + + +
+
+

All files / src/i18n/lang/fr index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import onBoarding from './onboarding.json';
+import startScreen from './startScreen.json';
+import licence from './licence.json';
+import tokens from './tokens.json';
+import footer from './footer.json';
+import errors from './errors.json';
+import sync from './sync.json';
+import navbar from './navbar.json';
+import inspect from './inspect.json';
+import settings from './settings.json';
+import storage from './storage.json';
+import general from './general.json';
+import branch from './branch.json';
+import manageStylesAndVariables from './manageStylesAndVariables.json';
+ 
+export default {
+  general,
+  branch,
+  onBoarding,
+  startScreen,
+  navbar,
+  licence,
+  inspect,
+  tokens,
+  footer,
+  errors,
+  sync,
+  storage,
+  settings,
+  manageStylesAndVariables,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html new file mode 100644 index 000000000..069ea9f4f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/i18n/lang/hi + + + + + + + + + +
+
+

All files src/i18n/lang/hi

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html new file mode 100644 index 000000000..e6ec731a3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/i18n/lang/hi/index.ts + + + + + + + + + +
+
+

All files / src/i18n/lang/hi index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import onBoarding from './onboarding.json';
+import startScreen from './startScreen.json';
+import licence from './licence.json';
+import tokens from './tokens.json';
+import footer from './footer.json';
+import errors from './errors.json';
+import sync from './sync.json';
+import navbar from './navbar.json';
+import inspect from './inspect.json';
+import settings from './settings.json';
+import storage from './storage.json';
+import general from './general.json';
+import branch from './branch.json';
+import manageStylesAndVariables from './manageStylesAndVariables.json';
+ 
+export default {
+  general,
+  branch,
+  onBoarding,
+  startScreen,
+  navbar,
+  licence,
+  inspect,
+  tokens,
+  footer,
+  errors,
+  sync,
+  storage,
+  settings,
+  manageStylesAndVariables,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html new file mode 100644 index 000000000..a0537b9bd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/i18n/lang/nl + + + + + + + + + +
+
+

All files src/i18n/lang/nl

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html new file mode 100644 index 000000000..0faf27220 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/i18n/lang/nl/index.ts + + + + + + + + + +
+
+

All files / src/i18n/lang/nl index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import onBoarding from './onboarding.json';
+import startScreen from './startScreen.json';
+import licence from './licence.json';
+import tokens from './tokens.json';
+import footer from './footer.json';
+import errors from './errors.json';
+import sync from './sync.json';
+import navbar from './navbar.json';
+import inspect from './inspect.json';
+import settings from './settings.json';
+import storage from './storage.json';
+import general from './general.json';
+import branch from './branch.json';
+import manageStylesAndVariables from './manageStylesAndVariables.json';
+ 
+export default {
+  general,
+  branch,
+  onBoarding,
+  startScreen,
+  navbar,
+  licence,
+  inspect,
+  tokens,
+  footer,
+  errors,
+  sync,
+  storage,
+  settings,
+  manageStylesAndVariables,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html new file mode 100644 index 000000000..44121012d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/i18n/lang/zh + + + + + + + + + +
+
+

All files src/i18n/lang/zh

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html new file mode 100644 index 000000000..32d7017cf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/i18n/lang/zh/index.ts + + + + + + + + + +
+
+

All files / src/i18n/lang/zh index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import onBoarding from './onboarding.json';
+import startScreen from './startScreen.json';
+import licence from './licence.json';
+import tokens from './tokens.json';
+import footer from './footer.json';
+import errors from './errors.json';
+import sync from './sync.json';
+import navbar from './navbar.json';
+import inspect from './inspect.json';
+import settings from './settings.json';
+import storage from './storage.json';
+import general from './general.json';
+import branch from './branch.json';
+import manageStylesAndVariables from './manageStylesAndVariables.json';
+ 
+export default {
+  general,
+  branch,
+  onBoarding,
+  startScreen,
+  navbar,
+  licence,
+  inspect,
+  tokens,
+  footer,
+  errors,
+  sync,
+  storage,
+  settings,
+  manageStylesAndVariables,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/icons/index.html b/packages/tokens-studio-for-figma/lcov-report/src/icons/index.html new file mode 100644 index 000000000..c30d226ba --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/icons/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/icons + + + + + + + + + +
+
+

All files src/icons

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html new file mode 100644 index 000000000..4a8429f19 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html @@ -0,0 +1,502 @@ + + + + + + Code coverage report for src/icons/index.tsx + + + + + + + + + +
+
+

All files / src/icons index.tsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import IconAdd from './add.svg';
+import IconAttention from './attention.svg';
+import IconBell from './bell.svg';
+import IconBlend from './blend.svg';
+import IconBlendEmpty from './blendempty.svg';
+import IconBrokenLink from './brokenlink.svg';
+import IconCaretDown from './caretdown.svg';
+import IconChevronDown from './chevrondown.svg';
+import IconChevronRight from './chevronright.svg';
+import IconCode from './code.svg';
+import IconComposition from './composition.svg';
+import IconDebug from './debug.svg';
+import IconDisclosure from './disclosure.svg';
+import IconDiveInto from './dive-into.svg';
+import IconDocs from './docs.svg';
+import IconEdit from './edit.svg';
+import IconFeedback from './feedback.svg';
+import IconFigmaLetter from './figma-letter.svg';
+import IconFigmaLoading from './figma-loading.svg';
+import IconFigmaMark from './figma-mark.svg';
+import IconFolder from './folder.svg';
+import IconGap from './gap.svg';
+import IconGrabber from './grabber.svg';
+import IconGrid from './grid.svg';
+import IconHelp from './help.svg';
+import IconHorizontalPadding from './horizontalpadding.svg';
+import IconTrash from './IconTrash.svg';
+import IconImport from './import.svg';
+import IconIndeterminateAlt from './indeterminate-alt.svg';
+import IconJson from './json.svg';
+import IconLayers from './layers.svg';
+import IconLibrary from './library.svg';
+import IconList from './list.svg';
+import IconListing from './listing.svg';
+import IconLoading from './loading.svg';
+import IconMinus from './minus.svg';
+import IconMultiInspect from './multiinspect.svg';
+import IconPlus from './plus.svg';
+import IconRefresh from './refresh.svg';
+import IconResizeWindow from './resizewindow.svg';
+import IconShadow from './shadow.svg';
+import IconSpacing from './spacing.svg';
+import Icon_Trash from './trash.svg';
+import IconUndo from './undo.svg';
+import IconVerticalPadding from './verticalpadding.svg';
+import IconVisibilityOff from './visibilityoff.svg';
+import IconVisibility from './visibilityon.svg';
+import IconX from './x.svg';
+import IconFontSize from './font-size.svg';
+import IconLetterSpacing from './letter-spacing.svg';
+import IconParagraphSpacing from './paragraph-spacing.svg';
+import IconParagraphIndent from './paragraph-indent.svg';
+import IconTextCase from './text-case.svg';
+import IconTextDecoration from './text-decoration.svg';
+import IconLineHeight from './line-height.svg';
+import IconBack from './back.svg';
+import IconArrowRight from './arrow-right.svg';
+import IconUnlink from './unlink.svg';
+import IconFile from './file.svg';
+import IconCollapseArrow from './collapse-arrow.svg';
+import IconExpandArrow from './expand-arrow.svg';
+import IconBorder from './border.svg';
+import IconImage from './image.svg';
+import IconExclamationTriangle from './exclamation-triangle.svg';
+import IconSettings from './settings.svg';
+import IconPencil from './pencil.svg';
+import IconVariable from './variable.svg';
+import IconSecondScreen from './second-screen.svg';
+ 
+export {
+  IconAdd,
+  IconAttention,
+  IconBell,
+  IconBlend,
+  IconBlendEmpty,
+  IconBrokenLink,
+  IconCaretDown,
+  IconChevronDown,
+  IconChevronRight,
+  IconCode,
+  IconComposition,
+  IconDebug,
+  IconDisclosure,
+  IconDiveInto,
+  IconDocs,
+  IconEdit,
+  IconFeedback,
+  IconFigmaLetter,
+  IconFigmaLoading,
+  IconFigmaMark,
+  IconFolder,
+  IconGap,
+  IconGrabber,
+  IconGrid,
+  IconHelp,
+  IconHorizontalPadding,
+  IconImport,
+  IconIndeterminateAlt,
+  IconJson,
+  IconLayers,
+  IconLibrary,
+  IconList,
+  IconListing,
+  IconLoading,
+  IconMinus,
+  IconMultiInspect,
+  IconPlus,
+  IconRefresh,
+  IconResizeWindow,
+  IconShadow,
+  IconSpacing,
+  IconTrash,
+  IconUndo,
+  IconVerticalPadding,
+  IconVisibilityOff,
+  IconVisibility,
+  IconX,
+  Icon_Trash,
+  IconFontSize,
+  IconLetterSpacing,
+  IconParagraphSpacing,
+  IconParagraphIndent,
+  IconTextCase,
+  IconTextDecoration,
+  IconLineHeight,
+  IconBack,
+  IconArrowRight,
+  IconUnlink,
+  IconFile,
+  IconCollapseArrow,
+  IconExpandArrow,
+  IconBorder,
+  IconImage,
+  IconExclamationTriangle,
+  IconSettings,
+  IconPencil,
+  IconVariable,
+  IconSecondScreen,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/index.html b/packages/tokens-studio-for-figma/lcov-report/src/index.html new file mode 100644 index 000000000..bdaadd494 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 10.64% + Statements + 28/263 +
+ + +
+ 3.59% + Branches + 5/139 +
+ + +
+ 3.7% + Functions + 2/54 +
+ + +
+ 10.76% + Lines + 28/260 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AsyncMessageChannel.ts +
+
12%6/502.94%1/348.33%1/1212.5%6/48
AsyncMessageChannelPreview.ts +
+
17.32%22/1275.4%4/743.7%1/2717.46%22/126
stitches.config.ts +
+
0%0/4100%0/0100%0/00%0/4
supabase.ts +
+
0%0/810%0/310%0/150%0/81
wdyr.ts +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html new file mode 100644 index 000000000..3cbed3b29 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/mocks/browser.ts + + + + + + + + + +
+
+

All files / src/mocks browser.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
// eslint-disable-next-line import/no-extraneous-dependencies
+import { setupWorker } from 'msw';
+import { handlers } from './handlers';
+ 
+export const worker = setupWorker(...handlers);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html new file mode 100644 index 000000000..d5cee672f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/mocks/handlers.ts + + + + + + + + + +
+
+

All files / src/mocks handlers.ts

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// eslint-disable-next-line import/no-extraneous-dependencies
+import { rest } from 'msw';
+ 
+export const LICENSE_FOR_VALID_RESPONSE = 'validate-c421c421-c421c421c-4c21c421-c421c42';
+export const LICENSE_FOR_ERROR_RESPONSE = 'validate-error-c421c421-c421c421c421421-41';
+export const LICENSE_FOR_DETACH_ERROR_RESPONSE = 'detach-error-c421c421-c421c421c421421-41';
+ 
+export const USER_ID_FOR_FOUND_LICENSE_KEY = 'pro-user-id';
+export const USER_ID_FOR_NOT_FOUND_LICENSE_KEY = 'free-user-id';
+ 
+export const LICENSE_ERROR_MESSAGE = 'Validate error message';
+export const DETACH_ERROR_MESSAGE = 'Detach error message';
+ 
+export const mockGetLicenseHandler = jest.fn((req, res, ctx) => {
+  const userId = req.url.searchParams.get('userId');
+ 
+  if (userId === USER_ID_FOR_FOUND_LICENSE_KEY) {
+    return res(ctx.status(200), ctx.json({ key: LICENSE_FOR_VALID_RESPONSE }));
+  }
+ 
+  return res(ctx.status(404), ctx.json({ message: 'No license key found' }));
+});
+ 
+export const mockValidateLicenseHandler = jest.fn((req, res, ctx) => {
+  const licenseKey = req.url.searchParams.get('licenseKey');
+ 
+  if (licenseKey === LICENSE_FOR_ERROR_RESPONSE) {
+    return res(ctx.status(500), ctx.json({ message: LICENSE_ERROR_MESSAGE }));
+  }
+  return res(
+    ctx.status(200),
+    ctx.json({
+      plan: 'pro',
+      entitlements: 'pro',
+      email: 'test@email.com',
+    }),
+  );
+});
+ 
+export const mockDetachLicenseHandler = jest.fn((req, res, ctx) => {
+  const { licenseKey } = req.body as { licenseKey: string };
+  if (licenseKey === LICENSE_FOR_DETACH_ERROR_RESPONSE) {
+    return res(ctx.status(500), ctx.json({ message: DETACH_ERROR_MESSAGE }));
+  }
+  if (licenseKey === LICENSE_FOR_VALID_RESPONSE) {
+    return res(
+      ctx.status(200),
+      ctx.json({
+        key: LICENSE_FOR_VALID_RESPONSE,
+      }),
+    );
+  }
+  return res();
+});
+ 
+export const handlers = [
+  rest.get(`${process.env.LICENSE_API_URL}/get-license`, mockGetLicenseHandler),
+ 
+  rest.get(`${process.env.LICENSE_API_URL}/validate-license`, mockValidateLicenseHandler),
+ 
+  rest.put(`${process.env.LICENSE_API_URL}/detach-license`, mockDetachLicenseHandler),
+ 
+  rest.post(`${process.env.TOKEN_FLOW_APP_URL}/api/tokens`, (req, res, ctx) => res(ctx.status(200), ctx.json({ result: 'test-id' }))),
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html new file mode 100644 index 000000000..a93657441 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/mocks + + + + + + + + + +
+
+

All files src/mocks

+
+ +
+ 0% + Statements + 0/28 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
browser.ts +
+
0%0/1100%0/0100%0/00%0/1
handlers.ts +
+
0%0/260%0/80%0/40%0/26
server.ts +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html new file mode 100644 index 000000000..010fe69cf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/mocks/server.ts + + + + + + + + + +
+
+

All files / src/mocks server.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
// eslint-disable-next-line import/no-extraneous-dependencies
+import { setupServer } from 'msw/node';
+import { handlers } from './handlers';
+ 
+// Setup requests interception using the given handlers.
+export const server = setupServer(...handlers);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html new file mode 100644 index 000000000..3e975c9f9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/motion/ReorderGroup.tsx + + + + + + + + + +
+
+

All files / src/motion ReorderGroup.tsx

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* adapted from framer-motion */
+import {
+  HTMLMotionProps, motion,
+} from 'framer-motion';
+import * as React from 'react';
+import {
+  useEffect,
+  useRef,
+  useMemo,
+} from 'react';
+import { ItemData, ReorderContext, ReorderContextProps } from '@/context';
+import { checkReorder } from '@/utils/motion';
+ 
+export interface Props<V> {
+  values: V[]
+  checkReorder?: (order: ItemData<V>[], value: V, offset: number, velocity: number) => ItemData<V>[]
+  onReorder: (newOrder: any[]) => void
+}
+ 
+function getValue<V>(item: ItemData<V>) {
+  return item.value;
+}
+ 
+function compareMin<V>(a: ItemData<V>, b: ItemData<V>) {
+  return a.layout.min - b.layout.min;
+}
+ 
+export function ReorderGroup<V>(
+  {
+    children,
+    onReorder,
+    values,
+    checkReorder: checkReorderOverride,
+    ...props
+  }: Props<V> & HTMLMotionProps<any> & React.PropsWithChildren<unknown>,
+) {
+  const Component = motion.ul;
+ 
+  const order: ItemData<V>[] = [];
+  const isReordering = useRef(false);
+ 
+  const context = useMemo<ReorderContextProps<any>>(() => ({
+    axis: 'y',
+    registerItem: (value, layout) => {
+      if (
+        layout
+        && order.findIndex((entry) => value === entry.value) === -1
+      ) {
+        order.push({ value, layout: layout.y });
+        order.sort(compareMin);
+      }
+    },
+    updateOrder: (id, offset, velocity) => {
+      if (isReordering.current) return;
+ 
+      const newOrder = (checkReorderOverride ?? checkReorder)(order, id, offset, velocity);
+ 
+      if (order !== newOrder) {
+        isReordering.current = true;
+        onReorder(
+          newOrder
+            .map(getValue)
+            .filter((value) => values.indexOf(value) !== -1),
+        );
+      }
+    },
+  }), [order, values, checkReorderOverride, onReorder]);
+ 
+  useEffect(() => {
+    isReordering.current = false;
+  });
+ 
+  return (
+    <Component {...props}>
+      <ReorderContext.Provider value={context}>
+        {children}
+      </ReorderContext.Provider>
+    </Component>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html new file mode 100644 index 000000000..ccbf3cda6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/motion/ReorderItem.tsx + + + + + + + + + +
+
+

All files / src/motion ReorderItem.tsx

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  Box, HTMLMotionProps, isMotionValue, motion, PanInfo, useMotionValue, useTransform,
+} from 'framer-motion';
+import * as React from 'react';
+import {
+  useContext,
+  useEffect,
+  useRef,
+} from 'react';
+import { ReorderContext } from '@/context';
+ 
+export interface Props<V> {
+  value: V
+  layout?: true | 'position'
+}
+ 
+function useDefaultMotionValue(value: any, defaultValue: number = 0) {
+  // eslint complains about hook order
+  // eslint-disable-next-line
+  return isMotionValue(value) ? value : useMotionValue(defaultValue);
+}
+ 
+export function ReorderItem<V>(
+  {
+    children,
+    style,
+    value,
+    onDrag,
+    layout = true,
+    ...props
+  }: Props<V> & HTMLMotionProps<any> & React.PropsWithChildren<unknown>,
+) {
+  const Component = motion.li;
+ 
+  const context = useContext(ReorderContext);
+  const { axis, registerItem, updateOrder } = context!;
+ 
+  const point = {
+    x: useDefaultMotionValue(style?.x),
+    y: useDefaultMotionValue(style?.y),
+  };
+ 
+  const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => (latestX || latestY ? 1 : 'unset'));
+ 
+  const measuredLayout = useRef<Box | null>(null);
+ 
+  const handleDrag = React.useCallback((event: MouseEvent | TouchEvent | PointerEvent, gesturePoint: PanInfo) => {
+    const { velocity } = gesturePoint;
+    if (velocity[axis]) {
+      updateOrder(value, point[axis].get(), velocity[axis]);
+    }
+    onDrag?.(event, gesturePoint);
+  }, [axis, point, value, updateOrder, onDrag]);
+ 
+  const handleLayoutMeasure = React.useCallback((measured: Box) => {
+    measuredLayout.current = measured;
+  }, []);
+ 
+  useEffect(() => {
+    registerItem(value, measuredLayout.current!);
+  }, [context]);
+ 
+  return (
+    <Component
+      drag={axis}
+      {...props}
+      dragSnapToOrigin
+      style={{
+        ...style,
+        x: point.x,
+        y: point.y,
+        zIndex,
+        transform: 'none',
+      }}
+      layout={layout}
+      onDrag={handleDrag}
+      onLayoutMeasure={handleLayoutMeasure}
+    >
+      {children}
+    </Component>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/motion/index.html b/packages/tokens-studio-for-figma/lcov-report/src/motion/index.html new file mode 100644 index 000000000..bc33191e3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/motion/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/motion + + + + + + + + + +
+
+

All files src/motion

+
+ +
+ 0% + Statements + 0/39 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ReorderGroup.tsx +
+
0%0/210%0/100%0/90%0/19
ReorderItem.tsx +
+
0%0/180%0/100%0/60%0/17
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html new file mode 100644 index 000000000..f03765d95 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/plugin/CanceledError.ts + + + + + + + + + +
+
+

All files / src/plugin CanceledError.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export class CanceledError extends Error {
+  constructor() {
+    super('Operation cancelled.');
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html new file mode 100644 index 000000000..158649eda --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html @@ -0,0 +1,397 @@ + + + + + + Code coverage report for src/plugin/NodeManager.ts + + + + + + + + + +
+
+

All files / src/plugin NodeManager.ts

+
+ +
+ 0% + Statements + 0/39 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { findAll } from '@/utils/findAll';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { tokensSharedDataHandler } from './SharedDataHandler';
+import { postToUI } from './notifiers';
+import { defaultWorker } from './Worker';
+import { ProgressTracker } from './ProgressTracker';
+import { UpdateMode } from '@/constants/UpdateMode';
+ 
+export type NodeManagerNode = {
+  id: string;
+  node: BaseNode
+  tokens: NodeTokenRefMap;
+};
+ 
+export class NodeManager {
+  private updating: Promise<void> | null = null;
+ 
+  private async waitForUpdating() {
+    return new Promise<void>((res) => {
+      if (this.updating) {
+        this.updating
+          .then(() => res())
+          .catch(() => res());
+      } else {
+        res();
+      }
+    });
+  }
+ 
+  public async getNode(id: string): Promise<NodeManagerNode | null> {
+    await this.waitForUpdating();
+    const node = figma.getNodeById(id);
+    if (!node) return null;
+    return {
+      node,
+      tokens: await tokensSharedDataHandler.getAll(node),
+      id: node.id,
+    };
+  }
+ 
+  public async findBaseNodesWithData(opts: {
+    updateMode?: UpdateMode;
+    nodes?: readonly BaseNode[];
+    nodesWithoutPluginData?: boolean;
+  }) {
+    const tracker = new ProgressTracker(BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA);
+    const promises: Set<Promise<void>> = new Set();
+    const returnedNodes: NodeManagerNode[] = [];
+ 
+    // wait for previous update
+    await this.waitForUpdating();
+ 
+    const { updateMode, nodes } = opts;
+    let relevantNodes: BaseNode[] = [];
+    if (nodes) {
+      relevantNodes = Array.from(nodes);
+    } else if (updateMode === UpdateMode.PAGE) {
+      relevantNodes = findAll([figma.currentPage], false, opts.nodesWithoutPluginData);
+    } else if (updateMode === UpdateMode.SELECTION) {
+      relevantNodes = findAll(figma.currentPage.selection, true, opts.nodesWithoutPluginData);
+    } else {
+      relevantNodes = findAll([figma.root], false, opts.nodesWithoutPluginData);
+    }
+ 
+    postToUI({
+      type: MessageFromPluginTypes.START_JOB,
+      job: {
+        name: BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA,
+        timePerTask: 0.5,
+        completedTasks: 0,
+        totalTasks: relevantNodes.length,
+      },
+    });
+ 
+    this.updating = (async () => {
+      for (let nodeIndex = 0; nodeIndex < relevantNodes.length; nodeIndex += 1) {
+        promises.add(defaultWorker.schedule(async () => {
+          const node = relevantNodes[nodeIndex];
+ 
+          returnedNodes.push({
+            node: relevantNodes[nodeIndex],
+            tokens: await tokensSharedDataHandler.getAll(node),
+            id: node.id,
+          });
+          tracker.next();
+          tracker.reportIfNecessary();
+        }));
+      }
+      await Promise.all(promises);
+    })();
+    await this.waitForUpdating();
+ 
+    postToUI({
+      type: MessageFromPluginTypes.COMPLETE_JOB,
+      name: BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA,
+    });
+ 
+    return returnedNodes;
+  }
+}
+ 
+export const defaultNodeManager = new NodeManager();
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html new file mode 100644 index 000000000..1f02ebb07 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/plugin/ProgressTracker.ts + + + + + + + + + +
+
+

All files / src/plugin ProgressTracker.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { postToUI } from './notifiers';
+ 
+export class ProgressTracker {
+  private jobName: BackgroundJobs;
+ 
+  private jobStart = 0;
+ 
+  private totalProgress = 0;
+ 
+  private lastReportedProgress = 0;
+ 
+  private lastProgressReport = 0;
+ 
+  constructor(name: BackgroundJobs, autoStart = true) {
+    this.jobName = name;
+    if (autoStart) {
+      this.startJob();
+    }
+  }
+ 
+  public startJob() {
+    this.totalProgress = 0;
+    this.lastReportedProgress = 0;
+    this.jobStart = Date.now();
+    this.lastProgressReport = Date.now();
+  }
+ 
+  public next() {
+    this.totalProgress += 1;
+  }
+ 
+  public reportIfNecessary() {
+    if (Date.now() - this.lastProgressReport > 1000) {
+      postToUI({
+        type: MessageFromPluginTypes.COMPLETE_JOB_TASKS,
+        name: this.jobName,
+        count: this.totalProgress - this.lastReportedProgress,
+        timePerTask: (Date.now() - this.jobStart) / (this.totalProgress || 1),
+      });
+      this.lastProgressReport = Date.now();
+      this.lastReportedProgress = this.totalProgress;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html new file mode 100644 index 000000000..72ff0beb5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/plugin/ResolvedTypographyObject.ts + + + + + + + + + +
+
+

All files / src/plugin ResolvedTypographyObject.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
export type ResolvedTypographyObject = {
+  fontFamily?: string;
+  fontWeight?: string;
+  fontSize?: string;
+  lineHeight?: string;
+  letterSpacing?: string;
+  paragraphSpacing?: string;
+  paragraphIndent?: string;
+  textCase?: string;
+  textDecoration?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html new file mode 100644 index 000000000..1458f85db --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/plugin/SharedDataHandler.ts + + + + + + + + + +
+
+

All files / src/plugin SharedDataHandler.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+ 
+class SharedDataHandler {
+  private namespace: string;
+ 
+  constructor(ns: string) {
+    this.namespace = ns;
+  }
+ 
+  keys(node: BaseNode) {
+    return node.getSharedPluginDataKeys(this.namespace);
+  }
+ 
+  get<Result = string>(node: BaseNode, key: string, transformer?: (value: string) => Result) {
+    const value = node.getSharedPluginData(this.namespace, key);
+    if (value) {
+      return (transformer ? transformer(value) : value) as Result;
+    }
+    return value;
+  }
+ 
+  getAll<Result = string>(node: BaseNode) {
+    const keys = this.keys(node);
+    const result: Record<string, Result> = {};
+    keys.forEach((key) => {
+      if (key in Properties) {
+        const value = this.get(node, key);
+        if (value) {
+          try {
+            // make sure we catch JSON parse errors in case invalid property keys are set and found
+            // we're storing `none` as a string without quotes
+            const parsedValue = value === 'none' ? 'none' : JSON.parse(value);
+            result[key] = parsedValue;
+          } catch (err) {
+            console.warn(err);
+          }
+        }
+      }
+      return null;
+    });
+    return result;
+  }
+ 
+  set(node: BaseNode, key: string, value: string) {
+    return node.setSharedPluginData(this.namespace, key, value);
+  }
+}
+ 
+export const tokensSharedDataHandler = new SharedDataHandler(SharedPluginDataNamespaces.TOKENS);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html new file mode 100644 index 000000000..cba984067 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/plugin/TokenFormatStoreClass.ts + + + + + + + + + +
+
+

All files / src/plugin TokenFormatStoreClass.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export enum TokenFormatOptions {
+  DTCG = 'dtcg',
+  Legacy = 'legacy',
+}
+ 
+export const TOKEN_FORMAT_OPTIONS = {
+  [TokenFormatOptions.DTCG]: { label: 'DTCG', value: TokenFormatOptions.DTCG },
+  [TokenFormatOptions.Legacy]: { label: 'Legacy', value: TokenFormatOptions.Legacy },
+};
+ 
+export class TokenFormatStoreClass {
+  public tokenValueKey: 'value' | '$value';
+ 
+  public tokenTypeKey: 'type' | '$type';
+ 
+  public tokenDescriptionKey: 'description' | '$description';
+ 
+  public format: TokenFormatOptions;
+ 
+  constructor() {
+    this.tokenValueKey = 'value';
+    this.tokenTypeKey = 'type';
+    this.tokenDescriptionKey = 'description';
+    this.format = TokenFormatOptions.Legacy;
+  }
+ 
+  public setFormat = (format: TokenFormatOptions) => {
+    this.format = format;
+    this.tokenValueKey = format === TokenFormatOptions.DTCG ? '$value' : 'value';
+    this.tokenTypeKey = format === TokenFormatOptions.DTCG ? '$type' : 'type';
+    this.tokenDescriptionKey = format === TokenFormatOptions.DTCG ? '$description' : 'description';
+  };
+ 
+  public getFormat = () => this.format;
+}
+ 
+export const TokenFormat = new TokenFormatStoreClass();
+export const { setFormat, getFormat } = TokenFormat;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html new file mode 100644 index 000000000..fd67eafdb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html @@ -0,0 +1,460 @@ + + + + + + Code coverage report for src/plugin/TokenValueRetriever.ts + + + + + + + + + +
+
+

All files / src/plugin TokenValueRetriever.ts

+
+ +
+ 0% + Statements + 0/57 +
+ + +
+ 0% + Branches + 0/52 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/46 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import { RawVariableReferenceMap } from '@/types/RawVariableReferenceMap';
+import { AnyTokenList } from '@/types/tokens';
+ 
+export class TokenValueRetriever {
+  public tokens;
+ 
+  public variableReferences;
+ 
+  public cachedVariableReferences;
+ 
+  private styleReferences;
+ 
+  private stylePathPrefix;
+ 
+  private ignoreFirstPartForStyles;
+ 
+  public applyVariablesStylesOrRawValue;
+ 
+  public createStylesWithVariableReferences;
+ 
+  private getAdjustedTokenName(tokenName: string): [string, string] {
+    const withIgnoredFirstPart = this.ignoreFirstPartForStyles && tokenName.split('.').length > 1
+      ? tokenName.split('.').slice(1).join('.')
+      : tokenName;
+ 
+    const adjustedTokenName = [this.stylePathPrefix, tokenName].filter((n) => n).join('.');
+    const adjustedTokenNameWithIgnoreFirstPart = [this.stylePathPrefix, withIgnoredFirstPart].filter((n) => n).join('.');
+ 
+    return [adjustedTokenName, adjustedTokenNameWithIgnoreFirstPart];
+  }
+ 
+  public initiate({
+    tokens,
+    variableReferences,
+    styleReferences,
+    stylePathPrefix,
+    ignoreFirstPartForStyles = false,
+    createStylesWithVariableReferences = false,
+    applyVariablesStylesOrRawValue = ApplyVariablesStylesOrRawValues.VARIABLES_STYLES,
+  }: { tokens: AnyTokenList,
+    variableReferences?: RawVariableReferenceMap,
+    styleReferences?: Map<string,
+    string>,
+    stylePathPrefix?: string,
+    ignoreFirstPartForStyles?: boolean,
+    createStylesWithVariableReferences?: boolean,
+    applyVariablesStylesOrRawValue?: ApplyVariablesStylesOrRawValues,
+  }) {
+    this.stylePathPrefix = typeof stylePathPrefix !== 'undefined' ? stylePathPrefix : null;
+    this.ignoreFirstPartForStyles = ignoreFirstPartForStyles;
+    this.createStylesWithVariableReferences = createStylesWithVariableReferences;
+    this.styleReferences = styleReferences || new Map();
+    this.variableReferences = variableReferences || new Map();
+    this.cachedVariableReferences = new Map();
+    this.applyVariablesStylesOrRawValue = applyVariablesStylesOrRawValue;
+ 
+    this.tokens = new Map<string, any>(tokens.map((token) => {
+      const variableId = variableReferences?.get(token.name);
+      // For styles, we need to ignore the first part of the token name as well as consider theme prefix
+      const [adjustedTokenName, adjustedTokenNameWithIgnoreFirstPart] = this.getAdjustedTokenName(token.name);
+ 
+      const styleId = styleReferences?.get(adjustedTokenName) || styleReferences?.get(adjustedTokenNameWithIgnoreFirstPart) || styleReferences?.get(token.name);
+      const finalAdjustedTokenName = styleReferences?.has(adjustedTokenName) ? adjustedTokenName : adjustedTokenNameWithIgnoreFirstPart;
+ 
+      return [token.name, {
+        ...token,
+        variableId,
+        styleId,
+        adjustedTokenName: styleId ? finalAdjustedTokenName : adjustedTokenName,
+      }];
+    }));
+  }
+ 
+  public get(tokenName: string) {
+    return this.tokens.get(tokenName);
+  }
+ 
+  public async getVariableReference(tokenName: string) {
+    let variable;
+    const storedToken = this.tokens.get(tokenName);
+    const isUsingReference = storedToken?.rawValue?.startsWith?.('{') && storedToken?.rawValue?.endsWith?.('}');
+    const hasCachedVariable = this.cachedVariableReferences.has(tokenName);
+    if (hasCachedVariable) {
+      variable = this.cachedVariableReferences.get(tokenName);
+      return variable;
+    }
+    const variableMapped = this.variableReferences.get(tokenName) || (isUsingReference ? this.variableReferences.get(storedToken.rawValue.slice(1, -1)) : null);
+    if (!variableMapped) return false;
+    if (!hasCachedVariable && typeof variableMapped === 'string') {
+      try {
+        const foundVariable = await figma.variables.importVariableByKeyAsync(variableMapped);
+        if (foundVariable) {
+          this.cachedVariableReferences.set(tokenName, foundVariable);
+          variable = foundVariable;
+          return variable;
+        }
+      } catch (e) {
+        console.log('error importing variable', e);
+        Promise.reject(e);
+      }
+    }
+ 
+    if (variable === undefined) return null;
+    return null;
+  }
+ 
+  public getTokens() {
+    return this.tokens;
+  }
+ 
+  public clearCache() {
+    if (this.cachedVariableReferences) this.cachedVariableReferences.clear();
+    if (this.tokens) this.tokens.clear();
+    if (this.variableReferences) this.variableReferences.clear();
+    if (this.styleReferences) this.styleReferences.clear();
+    if (this.stylePathPrefix) this.stylePathPrefix = undefined;
+    if (this.ignoreFirstPartForStyles) this.ignoreFirstPartForStyles = undefined;
+    if (this.createStylesWithVariableReferences) this.createStylesWithVariableReferences = undefined;
+  }
+}
+ 
+const defaultTokenValueRetriever = new TokenValueRetriever();
+ 
+export { defaultTokenValueRetriever };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html new file mode 100644 index 000000000..785f2ba79 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/plugin/Worker.ts + + + + + + + + + +
+
+

All files / src/plugin Worker.ts

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import EventEmitter from 'eventemitter3';
+import { CanceledError } from './CanceledError';
+ 
+type PoolFn = {
+  id: number
+  fn: () => Promise<any>
+};
+ 
+export class Worker {
+  private schedulerId = 0;
+ 
+  private pool: Set<PoolFn> = new Set();
+ 
+  private emitter = new EventEmitter();
+ 
+  private timeoutId: ReturnType<typeof setTimeout> | null = null;
+ 
+  private tick = async () => {
+    let numberOfJobs = 0;
+ 
+    const promises: Set<Promise<void>> = new Set();
+ 
+    // eslint-disable-next-line
+    for (const item of this.pool) {
+      this.pool.delete(item);
+      promises.add(new Promise((resolve) => {
+        item.fn().then((result) => {
+          this.emitter.emit(`completed/${item.id}`, result);
+          resolve();
+        });
+      }));
+ 
+      numberOfJobs += 1;
+      if (numberOfJobs >= 30) {
+        break;
+      }
+    }
+ 
+    if (this.timeoutId !== null) {
+      this.timeoutId = setTimeout(this.tick, 0);
+    }
+ 
+    await Promise.all(promises);
+  };
+ 
+  public schedule = <R extends any>(fn: () => Promise<R>) => {
+    this.schedulerId += 1;
+    const id = this.schedulerId;
+    const promise = new Promise<R>((res, rej) => {
+      this.emitter.once('canceled', () => {
+        rej(new CanceledError());
+      });
+      this.emitter.once(`completed/${id}`, res);
+    });
+    this.pool.add({ id, fn });
+    return promise;
+  };
+ 
+  public cancel = () => {
+    this.pool.clear();
+    this.emitter.emit('canceled', Date.now());
+    this.emitter.removeAllListeners();
+  };
+ 
+  public start = () => {
+    this.timeoutId = setTimeout(this.tick, 0);
+  };
+ 
+  public stop = () => {
+    if (this.timeoutId) {
+      clearTimeout(this.timeoutId);
+      this.timeoutId = null;
+    }
+  };
+}
+ 
+export const defaultWorker = new Worker();
+defaultWorker.start();
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html new file mode 100644 index 000000000..2753e43bb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/plugin/applyAssetTokenValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyAssetTokenValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import setImageValuesOnTarget from './setImageValuesOnTarget';
+ 
+export async function applyAssetTokenValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+) {
+  if (values.asset && typeof values.asset === 'string' && 'fills' in node) {
+    await setImageValuesOnTarget(node, { value: values.asset });
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html new file mode 100644 index 000000000..1cb1dbc0d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/plugin/applyBackgroundBlurValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyBackgroundBlurValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import setBackgroundBlurOnTarget from './setBackgroundBlurOnTarget';
+ 
+export async function applyBackgroundBlurValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  if ('effects' in node && typeof values.backgroundBlur !== 'undefined' && isPrimitiveValue(values.backgroundBlur)) {
+    setBackgroundBlurOnTarget(node, { value: String(values.backgroundBlur) }, baseFontSize);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html new file mode 100644 index 000000000..8c7ada2f7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/plugin/applyBooleanTokenValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyBooleanTokenValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+ 
+export async function applyBooleanTokenValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+) {
+  if (
+    'visible' in node
+    && typeof values.visibility === 'string'
+    && typeof data.visibility !== 'undefined'
+    && !(await tryApplyVariableId(node, 'visible', data.visibility))
+  ) {
+    if (values.visibility === 'true') {
+      node.visible = true;
+    } else if (values.visibility === 'false') {
+      node.visible = false;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html new file mode 100644 index 000000000..42d32d374 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html @@ -0,0 +1,406 @@ + + + + + + Code coverage report for src/plugin/applyBorderRadiusValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyBorderRadiusValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/39 +
+ + +
+ 0% + Branches + 0/60 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+ 
+export async function applyBorderRadiusValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  if (
+    node.type !== 'CONNECTOR' // need to exclude these layers as their cornerRadius in not editable
+    && node.type !== 'SHAPE_WITH_TEXT' // need to exclude these layers as their cornerRadius in not editable
+  ) {
+    if (
+      typeof values.borderRadius !== 'undefined'
+      && typeof data.borderRadius !== 'undefined'
+      && isPrimitiveValue(values.borderRadius)
+    ) {
+      const individualBorderRadius = String(values.borderRadius).split(' ');
+      switch (individualBorderRadius.length) {
+        case 1:
+          if ('cornerRadius' in node) {
+            if (
+              !(
+                (await tryApplyVariableId(node, 'topLeftRadius', data.borderRadius))
+                && (await tryApplyVariableId(node, 'topRightRadius', data.borderRadius))
+                && (await tryApplyVariableId(node, 'bottomRightRadius', data.borderRadius))
+                && (await tryApplyVariableId(node, 'bottomLeftRadius', data.borderRadius))
+              )
+            ) {
+              node.cornerRadius = transformValue(String(values.borderRadius), 'borderRadius', baseFontSize);
+            }
+          }
+          break;
+        case 2:
+          if ('topLeftRadius' in node) {
+            node.topLeftRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
+            node.topRightRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
+            node.bottomRightRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
+            node.bottomLeftRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
+          }
+          break;
+        case 3:
+          if ('topLeftRadius' in node) {
+            node.topLeftRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
+            node.topRightRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
+            node.bottomRightRadius = transformValue(String(individualBorderRadius[2]), 'borderRadius', baseFontSize);
+            node.bottomLeftRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
+          }
+          break;
+        case 4:
+          if ('topLeftRadius' in node) {
+            node.topLeftRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
+            node.topRightRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
+            node.bottomRightRadius = transformValue(String(individualBorderRadius[2]), 'borderRadius', baseFontSize);
+            node.bottomLeftRadius = transformValue(String(individualBorderRadius[3]), 'borderRadius', baseFontSize);
+          }
+          break;
+        default:
+          break;
+      }
+    }
+    if (
+      'topLeftRadius' in node
+      && typeof values.borderRadiusTopLeft !== 'undefined'
+      && typeof data.borderRadiusTopLeft !== 'undefined'
+      && isPrimitiveValue(values.borderRadiusTopLeft)
+    ) {
+      if (!(await tryApplyVariableId(node, 'topLeftRadius', data.borderRadiusTopLeft))) {
+        node.topLeftRadius = transformValue(String(values.borderRadiusTopLeft), 'borderRadius', baseFontSize);
+      }
+    }
+    if (
+      'topRightRadius' in node
+      && typeof values.borderRadiusTopRight !== 'undefined'
+      && typeof data.borderRadiusTopRight !== 'undefined'
+      && isPrimitiveValue(values.borderRadiusTopRight)
+    ) {
+      if (!(await tryApplyVariableId(node, 'topRightRadius', data.borderRadiusTopRight))) {
+        node.topRightRadius = transformValue(String(values.borderRadiusTopRight), 'borderRadius', baseFontSize);
+      }
+    }
+    if (
+      'bottomRightRadius' in node
+      && typeof values.borderRadiusBottomRight !== 'undefined'
+      && typeof data.borderRadiusBottomRight !== 'undefined'
+      && isPrimitiveValue(values.borderRadiusBottomRight)
+    ) {
+      if (!(await tryApplyVariableId(node, 'bottomRightRadius', data.borderRadiusBottomRight))) {
+        node.bottomRightRadius = transformValue(String(values.borderRadiusBottomRight), 'borderRadius', baseFontSize);
+      }
+    }
+    if (
+      'bottomLeftRadius' in node
+      && typeof values.borderRadiusBottomLeft !== 'undefined'
+      && typeof data.borderRadiusBottomLeft !== 'undefined'
+      && isPrimitiveValue(values.borderRadiusBottomLeft)
+    ) {
+      if (!(await tryApplyVariableId(node, 'bottomLeftRadius', data.borderRadiusBottomLeft))) {
+        node.bottomLeftRadius = transformValue(String(values.borderRadiusBottomLeft), 'borderRadius', baseFontSize);
+      }
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html new file mode 100644 index 000000000..bf6cf3c29 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/plugin/applyBorderValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyBorderValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/33 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import setBorderValuesOnTarget from './setBorderValuesOnTarget';
+import { isCompositeBorderValue } from '@/utils/is/isCompositeBorderValue';
+import { setBorderColorValuesOnTarget } from './setBorderColorValuesOnTarget';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+ 
+export function applyBorderValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // Applies border composite tokens
+  if (values.border && isCompositeBorderValue(values.border)) {
+    setBorderValuesOnTarget(node, { value: values.border }, baseFontSize);
+  }
+  if (values.borderTop && isCompositeBorderValue(values.borderTop)) {
+    setBorderValuesOnTarget(node, { value: values.borderTop }, baseFontSize, 'top');
+  }
+  if (values.borderRight && isCompositeBorderValue(values.borderRight)) {
+    setBorderValuesOnTarget(node, { value: values.borderRight }, baseFontSize, 'right');
+  }
+  if (values.borderBottom && isCompositeBorderValue(values.borderBottom)) {
+    setBorderValuesOnTarget(node, { value: values.borderBottom }, baseFontSize, 'bottom');
+  }
+  if (values.borderLeft && isCompositeBorderValue(values.borderLeft)) {
+    setBorderValuesOnTarget(node, { value: values.borderLeft }, baseFontSize, 'left');
+  }
+ 
+  // if applied border is just a string, it's the older version where border was just a color. apply color then.
+  if (values.border && typeof values.border === 'string' && typeof data.border !== 'undefined') {
+    setBorderColorValuesOnTarget({
+      node,
+      data: data.border,
+      value: values.border,
+    });
+  }
+ 
+  // Applies border color
+  if (typeof values.borderColor !== 'undefined' && typeof values.borderColor === 'string') {
+    if ('strokes' in node && data.borderColor) {
+      setBorderColorValuesOnTarget({
+        node,
+        data: data.borderColor,
+        value: values.borderColor,
+      });
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html new file mode 100644 index 000000000..bdf278a06 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/plugin/applyBorderWidthValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyBorderWidthValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/35 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+ 
+export async function applyBorderWidthValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // Applies border width tokens
+  if (
+    'strokeWeight' in node
+    && typeof values.borderWidth !== 'undefined'
+    && typeof data.borderWidth !== 'undefined'
+    && isPrimitiveValue(values.borderWidth)
+    // Have to set it individually as Figma does the same, hence the strokeWeight would never be set
+    && !(
+      (await tryApplyVariableId(node, 'strokeTopWeight', data.borderWidth))
+      && (await tryApplyVariableId(node, 'strokeRightWeight', data.borderWidth))
+      && (await tryApplyVariableId(node, 'strokeBottomWeight', data.borderWidth))
+      && (await tryApplyVariableId(node, 'strokeLeftWeight', data.borderWidth))
+    )
+  ) {
+    node.strokeWeight = transformValue(String(values.borderWidth), 'borderWidth', baseFontSize);
+  }
+ 
+  if (
+    'strokeTopWeight' in node
+    && typeof values.borderWidthTop !== 'undefined'
+    && typeof data.borderWidthTop !== 'undefined'
+    && !(await tryApplyVariableId(node, 'strokeTopWeight', data.borderWidthTop))
+  ) {
+    node.strokeTopWeight = transformValue(String(values.borderWidthTop), 'borderWidthTop', baseFontSize);
+  }
+ 
+  if (
+    'strokeRightWeight' in node
+    && typeof values.borderWidthRight !== 'undefined'
+    && typeof data.borderWidthRight !== 'undefined'
+    && !(await tryApplyVariableId(node, 'strokeRightWeight', data.borderWidthRight))
+  ) {
+    node.strokeRightWeight = transformValue(String(values.borderWidthRight), 'borderWidthRight', baseFontSize);
+  }
+ 
+  if (
+    'strokeBottomWeight' in node
+    && typeof values.borderWidthBottom !== 'undefined'
+    && typeof data.borderWidthBottom !== 'undefined'
+    && !(await tryApplyVariableId(node, 'strokeBottomWeight', data.borderWidthBottom))
+  ) {
+    node.strokeBottomWeight = transformValue(String(values.borderWidthBottom), 'borderWidthBottom', baseFontSize);
+  }
+ 
+  if (
+    'strokeLeftWeight' in node
+    && typeof values.borderWidthLeft !== 'undefined'
+    && typeof data.borderWidthLeft !== 'undefined'
+    && !(await tryApplyVariableId(node, 'strokeLeftWeight', data.borderWidthLeft))
+  ) {
+    node.strokeLeftWeight = transformValue(String(values.borderWidthLeft), 'borderWidthLeft', baseFontSize);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html new file mode 100644 index 000000000..9b72d8e99 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for src/plugin/applyColorTokenOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyColorTokenOnNode.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ColorPaintType, tryApplyColorVariableId } from '@/utils/tryApplyColorVariableId';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
+import { paintStyleMatchesColorToken } from './figmaUtils/styleMatchers';
+import { trySetStyleId } from '@/utils/trySetStyleId';
+import setColorValuesOnTarget from './setColorValuesOnTarget';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { MapValuesToTokensResult } from '@/types';
+ 
+export async function applyColorTokenOnNode(node: BaseNode, data: NodeTokenRefMap, values: MapValuesToTokensResult) {
+  const tokenName = data.fill;
+  const tokenValue = values.fill;
+  if (
+    tokenValue
+    && typeof tokenValue === 'string'
+    && 'fills' in node
+    && tokenName
+    && !(await tryApplyColorVariableId(node, tokenName, ColorPaintType.FILLS))
+  ) {
+    const resolvedToken = defaultTokenValueRetriever.get(tokenName);
+    let matchingStyleId = resolvedToken?.styleId;
+ 
+    // Note: We should remove "backup style id" logic from here (this part). This was relevant before we had Themes, where style ids could not be saved to a token yet.
+    if (!matchingStyleId) {
+      const styleIdBackupKey = 'fillStyleId_original';
+      const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'fills');
+      if (nonLocalStyle) {
+        if (paintStyleMatchesColorToken(nonLocalStyle, resolvedToken?.value)) {
+          // Non-local style matches - use this and clear style id backup:
+          matchingStyleId = nonLocalStyle.id;
+          clearStyleIdBackup(node, styleIdBackupKey);
+        } else if (resolvedToken?.adjustedTokenName === nonLocalStyle.name) {
+          // Non-local style does NOT match, but style name and token path does,
+          // so we assume selected token value is an override (e.g. dark theme)
+          // Now backup up style id before overwriting with raw token value, so we
+          // can re-link the non-local style, when the token value matches again:
+          setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
+        }
+      }
+    }
+ 
+    if (!matchingStyleId || (matchingStyleId && !(await trySetStyleId(node, 'fill', matchingStyleId)))) {
+      setColorValuesOnTarget({
+        target: node, token: tokenName, key: 'fills', givenValue: tokenValue,
+      });
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html new file mode 100644 index 000000000..4f6e05673 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/plugin/applyDimensionTokenValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyDimensionTokenValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+ 
+export async function applyDimensionTokenValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  if (
+    typeof values.dimension !== 'undefined'
+    && typeof data.dimension !== 'undefined'
+    && isPrimitiveValue(values.dimension)
+  ) {
+    if ('itemSpacing' in node) {
+      if (node.primaryAxisAlignItems === 'SPACE_BETWEEN') {
+        node.primaryAxisAlignItems = 'MIN';
+      }
+ 
+      if (!(await tryApplyVariableId(node, 'itemSpacing', data.dimension))) {
+        node.itemSpacing = transformValue(String(values.dimension), 'spacing', baseFontSize);
+      }
+    } else if ('resize' in node) {
+      if (
+        !(
+          (await tryApplyVariableId(node, 'width', data.dimension))
+          && (await tryApplyVariableId(node, 'height', data.dimension))
+        )
+      ) {
+        const size = transformValue(String(values.dimension), 'sizing', baseFontSize);
+        node.resize(size, size);
+      }
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html new file mode 100644 index 000000000..adbfe62b1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/plugin/applyNumberTokenValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyNumberTokenValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+ 
+export async function applyNumberTokenValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  if (typeof values.number !== 'undefined' && typeof data.number !== 'undefined' && isPrimitiveValue(values.number)) {
+    if ('itemSpacing' in node) {
+      if (node.primaryAxisAlignItems === 'SPACE_BETWEEN') {
+        node.primaryAxisAlignItems = 'MIN';
+      }
+ 
+      if (!(await tryApplyVariableId(node, 'itemSpacing', data.number))) {
+        node.itemSpacing = transformValue(String(values.number), 'spacing', baseFontSize);
+      }
+    } else if ('resize' in node) {
+      if (
+        !(
+          (await tryApplyVariableId(node, 'width', data.number))
+          && (await tryApplyVariableId(node, 'height', data.number))
+        )
+      ) {
+        const size = transformValue(String(values.number), 'sizing', baseFontSize);
+        node.resize(size, size);
+      }
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html new file mode 100644 index 000000000..4379efff5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/plugin/applyOpacityValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyOpacityValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+ 
+export async function applyOpacityValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // Applies opacity tokens to control layer opacity
+  if (
+    'opacity' in node
+    && typeof values.opacity !== 'undefined'
+    && typeof data.opacity !== 'undefined'
+    && isPrimitiveValue(values.opacity)
+    && !(await tryApplyVariableId(node, 'opacity', data.opacity))
+  ) {
+    node.opacity = transformValue(String(values.opacity), 'opacity', baseFontSize);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html new file mode 100644 index 000000000..8c183e629 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/plugin/applyPositionTokenOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyPositionTokenOnNode.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { isPartOfInstance } from '@/utils/is/isPartOfInstance';
+import { transformValue } from './helpers';
+ 
+export async function applyPositionTokenOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // Applies tokens for X & Y position
+  if (node.type !== 'DOCUMENT' && node.type !== 'PAGE' && !isPartOfInstance(node.id)) {
+    if (typeof values.x !== 'undefined' && isPrimitiveValue(values.x)) {
+      const x = transformValue(String(values.x), 'dimension', baseFontSize);
+      node.x = x;
+    }
+    if (typeof values.y !== 'undefined' && isPrimitiveValue(values.y)) {
+      const y = transformValue(String(values.y), 'dimension', baseFontSize);
+      node.y = y;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html new file mode 100644 index 000000000..6db553190 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/plugin/applyRotationValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyRotationValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { isPartOfInstance } from '@/utils/is/isPartOfInstance';
+import { transformValue } from './helpers';
+import { rotateNode } from './rotateNode';
+ 
+export async function applyRotationValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // Applies tokens to control layer rotation
+  if (
+    node.type !== 'DOCUMENT'
+    && node.type !== 'PAGE'
+    && typeof values.rotation !== 'undefined'
+    && !isPartOfInstance(node.id)
+    && isPrimitiveValue(values.rotation)
+  ) {
+    const rotation = transformValue(String(values.rotation), 'rotation', baseFontSize);
+    rotateNode(node, rotation);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html new file mode 100644 index 000000000..9ffa9ce32 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for src/plugin/applyShadowValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyShadowValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import setEffectValuesOnTarget from './setEffectValuesOnTarget';
+import { isSingleBoxShadowValue } from '@/utils/is';
+import { trySetStyleId } from '@/utils/trySetStyleId';
+import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
+import { effectStyleMatchesBoxShadowToken } from './figmaUtils/styleMatchers';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+ 
+export async function applyShadowValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  if ('effects' in node && typeof values.boxShadow !== 'undefined' && data.boxShadow) {
+    const resolvedToken = defaultTokenValueRetriever.get(data.boxShadow);
+    if (!resolvedToken) return;
+    let matchingStyleId = resolvedToken?.styleId;
+ 
+    // Note: We should remove "backup style id" logic from here (this part). This was relevant before we had Themes, where style ids could not be saved to a token yet.
+    if (!matchingStyleId) {
+      if (isSingleBoxShadowValue(values.boxShadow)) {
+        const styleIdBackupKey = 'effectStyleId_original';
+        const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'effects');
+        if (nonLocalStyle) {
+          if (effectStyleMatchesBoxShadowToken(nonLocalStyle, values.boxShadow, baseFontSize)) {
+            // Non-local style matches - use this and clear style id backup:
+            matchingStyleId = nonLocalStyle.id;
+            clearStyleIdBackup(node, styleIdBackupKey);
+          } else if (resolvedToken.adjustedTokenName === nonLocalStyle.name) {
+            // Non-local style does NOT match, but style name and token path does,
+            // so we assume selected token value is an override (e.g. dark theme)
+            // Now backup up style id before overwriting with raw token value, so we
+            // can re-link the non-local style, when the token value matches again:
+            setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
+          }
+        }
+      }
+    }
+ 
+    if (!matchingStyleId || (matchingStyleId && !(await trySetStyleId(node, 'effect', matchingStyleId)))) {
+      if (isSingleBoxShadowValue(values.boxShadow)) {
+        setEffectValuesOnTarget(node, data.boxShadow, baseFontSize);
+      }
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html new file mode 100644 index 000000000..4488f33fc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html @@ -0,0 +1,400 @@ + + + + + + Code coverage report for src/plugin/applySizingValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applySizingValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/61 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+import { isAutoLayout } from '@/utils/isAutoLayout';
+import { isPartOfInstance } from '@/utils/is/isPartOfInstance';
+ 
+export async function applySizingValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // SIZING: BOTH
+  // When given just `size` we apply it to width and height
+  if (
+    'resize' in node
+    && typeof values.sizing !== 'undefined'
+    && typeof data.sizing !== 'undefined'
+    && isPrimitiveValue(values.sizing)
+    && !(
+      (await tryApplyVariableId(node, 'width', data.sizing))
+      && (await tryApplyVariableId(node, 'height', data.sizing))
+    )
+  ) {
+    const size = transformValue(String(values.sizing), 'sizing', baseFontSize);
+    node.resize(size, size);
+  }
+ 
+  // SIZING: WIDTH
+  if (
+    'resize' in node
+    && typeof values.width !== 'undefined'
+    && typeof data.width !== 'undefined'
+    && isPrimitiveValue(values.width)
+    && !(await tryApplyVariableId(node, 'width', data.width))
+  ) {
+    node.resize(transformValue(String(values.width), 'sizing', baseFontSize), node.height);
+  }
+ 
+  // SIZING: HEIGHT
+  if (
+    'resize' in node
+    && typeof values.height !== 'undefined'
+    && typeof data.height !== 'undefined'
+    && isPrimitiveValue(values.height)
+    && !(await tryApplyVariableId(node, 'height', data.height))
+  ) {
+    node.resize(node.width, transformValue(String(values.height), 'sizing', baseFontSize));
+  }
+ 
+  // min width, max width, min height, max height only are applicable to autolayout frames or their direct children
+  if (
+    node.type !== 'DOCUMENT'
+    && node.type !== 'PAGE'
+    && !isPartOfInstance(node.id)
+    && (isAutoLayout(node)
+      || (node.parent && node.parent.type !== 'DOCUMENT' && node.parent.type !== 'PAGE' && isAutoLayout(node.parent)))
+  ) {
+    // SIZING: MIN WIDTH
+    if (
+      'minWidth' in node
+      && typeof values.minWidth !== 'undefined'
+      && typeof data.minWidth !== 'undefined'
+      && isPrimitiveValue(values.minWidth)
+      && !(await tryApplyVariableId(node, 'minWidth', data.minWidth))
+    ) {
+      node.minWidth = transformValue(String(values.minWidth), 'sizing', baseFontSize);
+    }
+ 
+    // SIZING: MAX WIDTH
+    if (
+      'maxWidth' in node
+      && typeof values.maxWidth !== 'undefined'
+      && typeof data.maxWidth !== 'undefined'
+      && isPrimitiveValue(values.maxWidth)
+      && !(await tryApplyVariableId(node, 'maxWidth', data.maxWidth))
+    ) {
+      node.maxWidth = transformValue(String(values.maxWidth), 'sizing', baseFontSize);
+    }
+ 
+    // SIZING: MIN HEIGHT
+    if (
+      'minHeight' in node
+      && typeof values.minHeight !== 'undefined'
+      && typeof data.minHeight !== 'undefined'
+      && isPrimitiveValue(values.minHeight)
+      && !(await tryApplyVariableId(node, 'minHeight', data.minHeight))
+    ) {
+      node.minHeight = transformValue(String(values.minHeight), 'sizing', baseFontSize);
+    }
+ 
+    // SIZING: MAX HEIGHT
+    if (
+      'maxHeight' in node
+      && typeof values.maxHeight !== 'undefined'
+      && typeof data.maxHeight !== 'undefined'
+      && isPrimitiveValue(values.maxHeight)
+      && !(await tryApplyVariableId(node, 'maxHeight', data.maxHeight))
+    ) {
+      node.maxHeight = transformValue(String(values.maxHeight), 'sizing', baseFontSize);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html new file mode 100644 index 000000000..e4daa19ad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html @@ -0,0 +1,577 @@ + + + + + + Code coverage report for src/plugin/applySpacingValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applySpacingValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/58 +
+ + +
+ 0% + Branches + 0/89 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { isPrimitiveValue } from '@/utils/is';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+import { transformValue } from './helpers';
+ 
+export async function applySpacingValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  // Applies spacing type tokens
+  if (
+    'paddingLeft' in node
+    && typeof values.spacing !== 'undefined'
+    && typeof data.spacing !== 'undefined'
+    && isPrimitiveValue(values.spacing)
+  ) {
+    const individualSpacing = String(values.spacing).split(' ');
+    const spacing = transformValue(String(values.spacing), 'spacing', baseFontSize);
+    switch (individualSpacing.length) {
+      case 1:
+        if (
+          !(
+            (await tryApplyVariableId(node, 'paddingLeft', data.spacing))
+            && (await tryApplyVariableId(node, 'paddingRight', data.spacing))
+            && (await tryApplyVariableId(node, 'paddingTop', data.spacing))
+            && (await tryApplyVariableId(node, 'paddingBottom', data.spacing))
+          )
+        ) {
+          node.paddingLeft = spacing;
+          node.paddingRight = spacing;
+          node.paddingTop = spacing;
+          node.paddingBottom = spacing;
+        }
+        break;
+      case 2:
+        node.paddingTop = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
+        node.paddingRight = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
+        node.paddingBottom = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
+        node.paddingLeft = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
+        break;
+      case 3:
+        node.paddingTop = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
+        node.paddingRight = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
+        node.paddingBottom = transformValue(String(individualSpacing[2]), 'spacing', baseFontSize);
+        node.paddingLeft = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
+        break;
+      case 4:
+        node.paddingTop = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
+        node.paddingRight = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
+        node.paddingBottom = transformValue(String(individualSpacing[2]), 'spacing', baseFontSize);
+        node.paddingLeft = transformValue(String(individualSpacing[3]), 'spacing', baseFontSize);
+        break;
+      default:
+        break;
+    }
+  }
+  if (
+    'paddingLeft' in node
+    && typeof values.horizontalPadding !== 'undefined'
+    && typeof data.horizontalPadding !== 'undefined'
+    && isPrimitiveValue(values.horizontalPadding)
+  ) {
+    if (
+      !(
+        (await tryApplyVariableId(node, 'paddingLeft', data.horizontalPadding))
+        && (await tryApplyVariableId(node, 'paddingRight', data.horizontalPadding))
+      )
+    ) {
+      const horizontalPadding = transformValue(String(values.horizontalPadding), 'spacing', baseFontSize);
+      node.paddingLeft = horizontalPadding;
+      node.paddingRight = horizontalPadding;
+    }
+  }
+  if (
+    'paddingTop' in node
+    && typeof values.verticalPadding !== 'undefined'
+    && typeof data.verticalPadding !== 'undefined'
+    && isPrimitiveValue(values.verticalPadding)
+  ) {
+    if (
+      !(
+        (await tryApplyVariableId(node, 'paddingTop', data.verticalPadding))
+        && (await tryApplyVariableId(node, 'paddingBottom', data.verticalPadding))
+      )
+    ) {
+      const verticalPadding = transformValue(String(values.verticalPadding), 'spacing', baseFontSize);
+      node.paddingTop = verticalPadding;
+      node.paddingBottom = verticalPadding;
+    }
+  }
+ 
+  if (
+    'itemSpacing' in node
+    && typeof values.itemSpacing !== 'undefined'
+    && typeof data.itemSpacing !== 'undefined'
+    && isPrimitiveValue(values.itemSpacing)
+  ) {
+    if (String(values.itemSpacing) === 'AUTO') {
+      node.primaryAxisAlignItems = 'SPACE_BETWEEN';
+    } else if (node.primaryAxisAlignItems === 'SPACE_BETWEEN') {
+      node.primaryAxisAlignItems = 'MIN';
+    }
+    if (!(await tryApplyVariableId(node, 'itemSpacing', data.itemSpacing))) {
+      node.itemSpacing = transformValue(String(values.itemSpacing), 'spacing', baseFontSize);
+    }
+  }
+ 
+  if (
+    'counterAxisSpacing' in node
+    && typeof values.counterAxisSpacing !== 'undefined'
+    && typeof data.counterAxisSpacing !== 'undefined'
+    && isPrimitiveValue(values.counterAxisSpacing)
+  ) {
+    if (!(await tryApplyVariableId(node, 'counterAxisSpacing', data.counterAxisSpacing))) {
+      node.counterAxisSpacing = transformValue(String(values.counterAxisSpacing), 'spacing', baseFontSize);
+    }
+  }
+ 
+  if (
+    'paddingTop' in node
+    && typeof values.paddingTop !== 'undefined'
+    && typeof data.paddingTop !== 'undefined'
+    && isPrimitiveValue(values.paddingTop)
+  ) {
+    if (!(await tryApplyVariableId(node, 'paddingTop', data.paddingTop))) {
+      node.paddingTop = transformValue(String(values.paddingTop), 'spacing', baseFontSize);
+    }
+  }
+  if (
+    'paddingRight' in node
+    && typeof values.paddingRight !== 'undefined'
+    && typeof data.paddingRight !== 'undefined'
+    && isPrimitiveValue(values.paddingRight)
+  ) {
+    if (!(await tryApplyVariableId(node, 'paddingRight', data.paddingRight))) {
+      node.paddingRight = transformValue(String(values.paddingRight), 'spacing', baseFontSize);
+    }
+  }
+ 
+  if (
+    'paddingBottom' in node
+    && typeof values.paddingBottom !== 'undefined'
+    && typeof data.paddingBottom !== 'undefined'
+    && isPrimitiveValue(values.paddingBottom)
+  ) {
+    if (!(await tryApplyVariableId(node, 'paddingBottom', data.paddingBottom))) {
+      node.paddingBottom = transformValue(String(values.paddingBottom), 'spacing', baseFontSize);
+    }
+  }
+ 
+  if (
+    'paddingLeft' in node
+    && typeof values.paddingLeft !== 'undefined'
+    && typeof data.paddingLeft !== 'undefined'
+    && isPrimitiveValue(values.paddingLeft)
+  ) {
+    if (!(await tryApplyVariableId(node, 'paddingLeft', data.paddingLeft))) {
+      node.paddingLeft = transformValue(String(values.paddingLeft), 'spacing', baseFontSize);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html new file mode 100644 index 000000000..ceff96d7a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/plugin/applyTextCharacterValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyTextCharacterValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+ 
+// Generic function to apply text character values to a node, useful for documentation purposes where users want to apply certain metadata of a token to their layers
+export async function applyTextCharacterValuesOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+) {
+  // Raw value for text layers
+  if (values.tokenValue) {
+    if ('characters' in node && node.fontName !== figma.mixed) {
+      await figma.loadFontAsync(node.fontName);
+ 
+      // If we're inserting an object, stringify that
+      const value = typeof values.tokenValue === 'object' ? JSON.stringify(values.tokenValue) : values.tokenValue;
+      node.characters = String(value);
+    }
+  }
+ 
+  // When a text token is applied we want to apply the token value
+  if (
+    'characters' in node
+    && node.fontName !== figma.mixed
+    && typeof values.text === 'string'
+    && typeof data.text !== 'undefined'
+  ) {
+    if (!(await tryApplyVariableId(node, 'characters', data.text))) {
+      await figma.loadFontAsync(node.fontName);
+      node.characters = values.text;
+    }
+  }
+  // Real value for text layers
+  if ('value' in values) {
+    if ('characters' in node && node.fontName !== figma.mixed) {
+      await figma.loadFontAsync(node.fontName);
+      // If we're inserting an object, stringify that
+      const value = typeof values.value === 'object' ? JSON.stringify(values.value) : values.value;
+      node.characters = String(value);
+    }
+  }
+ 
+  // Name value for text layers
+  if (values.tokenName) {
+    if ('characters' in node && node.fontName !== figma.mixed) {
+      await figma.loadFontAsync(node.fontName);
+      node.characters = String(values.tokenName);
+    }
+  }
+ 
+  // Name value for text layers
+  if (values.description) {
+    if ('characters' in node && node.fontName !== figma.mixed) {
+      await figma.loadFontAsync(node.fontName);
+      node.characters = String(values.description);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html new file mode 100644 index 000000000..b8313a5e5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html @@ -0,0 +1,409 @@ + + + + + + Code coverage report for src/plugin/applyTypographyTokenOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin applyTypographyTokenOnNode.ts

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/73 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isPrimitiveValue, isSingleTypographyValue } from '@/utils/is';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
+import { textStyleMatchesTypographyToken } from './figmaUtils/styleMatchers';
+import { setTextValuesOnTarget } from './setTextValuesOnTarget';
+import { trySetStyleId } from '@/utils/trySetStyleId';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { MapValuesToTokensResult } from '@/types';
+import { tryApplyTypographyCompositeVariable } from './tryApplyTypographyCompositeVariable';
+ 
+function formatValue(value: any): string | undefined {
+  if (isPrimitiveValue(value)) {
+    return String(value.startsWith('{') ? value : `{${value}}`);
+  }
+  return undefined;
+}
+ 
+function buildResolvedValueObject(resolvedToken: any, data: any) {
+  return {
+    fontFamily: formatValue(
+      data.fontFamilies
+        || resolvedToken?.rawValue?.fontFamilies
+        || resolvedToken?.rawValue?.fontFamily,
+    ),
+    fontWeight: formatValue(
+      data.fontWeights
+        || resolvedToken?.rawValue?.fontWeights
+        || resolvedToken?.rawValue?.fontWeight,
+    ),
+    lineHeight: formatValue(
+      data.lineHeights
+        || resolvedToken?.rawValue?.lineHeights
+        || resolvedToken?.rawValue?.lineHeight,
+    ),
+    fontSize: formatValue(
+      data.fontSizes || resolvedToken?.rawValue?.fontSizes || resolvedToken?.rawValue?.fontSize,
+    ),
+    letterSpacing: formatValue(data.letterSpacing || resolvedToken?.rawValue?.letterSpacing),
+    paragraphSpacing: formatValue(data.paragraphSpacing || resolvedToken?.rawValue?.paragraphSpacing),
+    paragraphIndent: formatValue(data.paragraphIndent || resolvedToken?.rawValue?.paragraphIndent),
+    textCase: formatValue(data.textCase || resolvedToken?.rawValue?.textCase),
+    textDecoration: formatValue(data.textDecoration || resolvedToken?.rawValue?.textDecoration),
+  };
+}
+ 
+function buildValueObject(values: any, resolvedToken: any) {
+  const tokenValue = resolvedToken?.value || {};
+ 
+  return {
+    fontFamily: isPrimitiveValue(values.fontFamilies) ? String(values.fontFamilies) : tokenValue.fontFamily,
+    fontWeight: isPrimitiveValue(values.fontWeights) ? String(values.fontWeights) : tokenValue.fontWeight,
+    lineHeight: isPrimitiveValue(values.lineHeights) ? String(values.lineHeights) : tokenValue.lineHeight,
+    fontSize: isPrimitiveValue(values.fontSizes) ? String(values.fontSizes) : tokenValue.fontSize,
+    letterSpacing: isPrimitiveValue(values.letterSpacing) ? String(values.letterSpacing) : tokenValue.letterSpacing,
+    paragraphSpacing: isPrimitiveValue(values.paragraphSpacing)
+      ? String(values.paragraphSpacing)
+      : tokenValue.paragraphSpacing,
+    paragraphIndent: isPrimitiveValue(values.paragraphIndent)
+      ? String(values.paragraphIndent)
+      : tokenValue.paragraphIndent,
+    textCase: isPrimitiveValue(values.textCase) ? String(values.textCase) : tokenValue.textCase,
+    textDecoration: isPrimitiveValue(values.textDecoration) ? String(values.textDecoration) : tokenValue.textDecoration,
+  };
+}
+ 
+export async function applyTypographyTokenOnNode(
+  node: BaseNode,
+  data: NodeTokenRefMap,
+  values: MapValuesToTokensResult,
+  baseFontSize: string,
+) {
+  if (!(node.type === 'TEXT')) return;
+ 
+  const resolvedToken = data.typography ? defaultTokenValueRetriever.get(data.typography) : null;
+  let matchingStyleId = resolvedToken?.styleId;
+ 
+  // Backup logic for non-local styles
+  if (!matchingStyleId && resolvedToken && isSingleTypographyValue(resolvedToken.value)) {
+    const styleIdBackupKey = 'textStyleId_original';
+    const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'typography');
+    if (nonLocalStyle && textStyleMatchesTypographyToken(nonLocalStyle, resolvedToken.value, baseFontSize)) {
+      matchingStyleId = nonLocalStyle.id;
+      clearStyleIdBackup(node, styleIdBackupKey);
+    } else if (nonLocalStyle && resolvedToken.adjustedTokenName === nonLocalStyle?.name) {
+      setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
+    }
+  }
+ 
+  // Apply matching style or fallback to applying values
+  if (matchingStyleId && (await trySetStyleId(node, 'text', matchingStyleId))) return;
+  // Apply typography token directly if no other properties exist
+  if (data.typography && resolvedToken && isSingleTypographyValue(resolvedToken.value) && !Object.keys(values).length) {
+    setTextValuesOnTarget(node, data.typography, baseFontSize);
+    return;
+  }
+ 
+  // Build the resolved value and value objects
+  const resolvedValueObject = buildResolvedValueObject(resolvedToken, data);
+  const valueObject = buildValueObject(values, resolvedToken);
+ 
+  // Apply the typography token and other values together
+  await tryApplyTypographyCompositeVariable({
+    target: node,
+    value: valueObject,
+    resolvedValue: resolvedValueObject,
+    baseFontSize,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html new file mode 100644 index 000000000..20c2e15f2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/applySiblingStyle.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers applySiblingStyle.ts

+
+ +
+ 0% + Statements + 0/43 +
+ + +
+ 0% + Branches + 0/47 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { getNewStyleId } from './getSiblingStyleId';
+import { StyleIdMap, StyleThemeMap } from '@/types/StyleIdMap';
+ 
+// Goes through all styleable properties of a node and swaps the style - this traverses the whole tree of a node
+export async function applySiblingStyleId(node: BaseNode, styleIds: StyleIdMap, styleMap: StyleThemeMap, activeThemes: string[]) {
+  try {
+    switch (node.type) {
+      // Text layers can have stroke, effects and fill styles.
+      case 'TEXT':
+        {
+          const newStrokeStyleId = await getNewStyleId(node.strokeStyleId as string, styleIds, styleMap, activeThemes);
+          const newEffectStyleId = await getNewStyleId(node.effectStyleId as string, styleIds, styleMap, activeThemes);
+ 
+          if (newStrokeStyleId) {
+            node.strokeStyleId = newStrokeStyleId;
+          }
+          if (newEffectStyleId) {
+            node.effectStyleId = newEffectStyleId;
+          }
+ 
+          // A text layer can have mixed styles, we need to swap the segments.
+          if (node.textStyleId !== figma.mixed) {
+            const newTextStyleId = await getNewStyleId(node.textStyleId as string, styleIds, styleMap, activeThemes);
+            if (newTextStyleId) {
+              node.textStyleId = newTextStyleId;
+            }
+          } else {
+            node.getStyledTextSegments(['textStyleId']).forEach(async (segment) => {
+              const newTextStyleId = await getNewStyleId(segment.textStyleId, styleIds, styleMap, activeThemes);
+ 
+              if (newTextStyleId) {
+                node.setRangeTextStyleId(segment.start, segment.end, newTextStyleId);
+              }
+            });
+          }
+ 
+          if (node.fillStyleId !== figma.mixed) {
+            const newFillStyleId = await getNewStyleId(node.fillStyleId as string, styleIds, styleMap, activeThemes);
+            if (newFillStyleId) {
+              node.fillStyleId = newFillStyleId;
+            }
+          } else {
+            node.getStyledTextSegments(['fillStyleId']).forEach(async (segment) => {
+              const newFillStyleId = await getNewStyleId(segment.fillStyleId, styleIds, styleMap, activeThemes);
+ 
+              if (newFillStyleId) {
+                node.setRangeFillStyleId(segment.start, segment.end, newFillStyleId);
+              }
+            });
+          }
+        }
+        break;
+ 
+      // Vector layers can have stroke, effects and fill styles.
+      case 'ELLIPSE':
+      case 'LINE':
+      case 'POLYGON':
+      case 'STAR':
+      case 'RECTANGLE':
+      case 'VECTOR':
+      case 'COMPONENT':
+      case 'INSTANCE':
+      case 'COMPONENT_SET':
+      case 'FRAME':
+      case 'SECTION':
+      case 'BOOLEAN_OPERATION':
+        {
+          const newFillStyleId = 'fillStyleId' in node && await getNewStyleId(node.fillStyleId as string, styleIds, styleMap, activeThemes);
+          const newStrokeStyleId = 'strokeStyleId' in node && await getNewStyleId(node.strokeStyleId as string, styleIds, styleMap, activeThemes);
+          const newEffectStyleId = 'effectStyleId' in node && await getNewStyleId(node.effectStyleId as string, styleIds, styleMap, activeThemes);
+          if (newFillStyleId) {
+            node.fillStyleId = newFillStyleId;
+          }
+          if (newStrokeStyleId) {
+            node.strokeStyleId = newStrokeStyleId;
+          }
+          if (newEffectStyleId) {
+            node.effectStyleId = newEffectStyleId;
+          }
+          if (['COMPONENT', 'COMPONENT_SET', 'SECTION', 'INSTANCE', 'FRAME', 'BOOLEAN_OPERATION'].includes(node.type) && 'children' in node) {
+            await Promise.all(node.children.map((child) => applySiblingStyleId(child, styleIds, styleMap, activeThemes)));
+          }
+        }
+        break;
+ 
+      case 'GROUP':
+        await Promise.all(node.children.map((child) => applySiblingStyleId(child, styleIds, styleMap, activeThemes)));
+        break;
+ 
+      default:
+        break;
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html new file mode 100644 index 000000000..4d00f1dda --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers attachLocalStylesToTheme.ts

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { SingleToken } from '@/types/tokens';
+import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
+import { getEffectStylesKeyMap } from '@/utils/getEffectStylesKeyMap';
+import { getPaintStylesKeyMap } from '@/utils/getPaintStylesKeyMap';
+import { getTextStylesKeyMap } from '@/utils/getTextStylesKeyMap';
+ 
+export const attachLocalStylesToTheme: AsyncMessageChannelHandlers[AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME] = async (msg) => {
+  const {
+    theme, tokens, category, settings,
+  } = msg;
+  const figmaStyleReferences = { ...theme.$figmaStyleReferences ?? {} };
+  const ignoreFirstPartForStyles = settings?.ignoreFirstPartForStyles;
+  const prefixStylesWithThemeName = settings?.prefixStylesWithThemeName;
+ 
+  const paintToKeyMap = getPaintStylesKeyMap();
+  const textStylesToKeyMap = getTextStylesKeyMap();
+  const effectStylesToKeyMap = getEffectStylesKeyMap();
+ 
+  // step 1 list all tokens of the enabled token sets
+  let tokensToCreateStylesFor: SingleToken[] = [];
+  Object.entries(theme.selectedTokenSets).forEach(([tokenSetName, status]) => {
+    if (status === TokenSetStatus.ENABLED) {
+      tokensToCreateStylesFor = tokensToCreateStylesFor.concat(tokens[tokenSetName] ?? []);
+    }
+  });
+ 
+  // step 2 only include the relevant token types
+  const enabledTokenTypes = category === 'all'
+    ? [TokenTypes.COLOR, TokenTypes.TYPOGRAPHY, TokenTypes.BOX_SHADOW]
+    : compact([
+      category === 'colors' ? TokenTypes.COLOR : null,
+      category === 'typography' ? TokenTypes.TYPOGRAPHY : null,
+      category === 'effects' ? TokenTypes.BOX_SHADOW : null,
+    ]);
+  tokensToCreateStylesFor = tokensToCreateStylesFor.filter((token) => (
+    enabledTokenTypes.includes(token.type)
+  ));
+ 
+  // step 3 find and attach local styles
+  const prefix = prefixStylesWithThemeName ? theme.name : null;
+  const slice = ignoreFirstPartForStyles ? 1 : 0;
+  tokensToCreateStylesFor.forEach((token) => {
+    const path = convertTokenNameToPath(token.name, prefix, slice);
+    if (token.type === TokenTypes.COLOR) {
+      const colorStyle = paintToKeyMap.get(path);
+      if (colorStyle) {
+        figmaStyleReferences[token.name] = colorStyle.id;
+      }
+    } else if (token.type === TokenTypes.TYPOGRAPHY) {
+      const textStyle = textStylesToKeyMap.get(path);
+      if (textStyle) {
+        figmaStyleReferences[token.name] = textStyle.id;
+      }
+    } else if (token.type === TokenTypes.BOX_SHADOW) {
+      const effectStyle = effectStylesToKeyMap.get(path);
+      if (effectStyle) {
+        figmaStyleReferences[token.name] = effectStyle.id;
+      }
+    }
+  });
+ 
+  return {
+    ...theme,
+    $figmaStyleReferences: figmaStyleReferences,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html new file mode 100644 index 000000000..e280bf782 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers attachLocalVariablesToTheme.ts

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { generateTokensToCreate } from '../generateTokensToCreate';
+ 
+export const attachLocalVariablesToTheme: AsyncMessageChannelHandlers[AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME] = async (msg) => {
+  const { tokens, theme } = msg;
+  const allFigmaCollections = figma.variables.getLocalVariableCollections();
+  const collection = allFigmaCollections.find((co) => co.name === (theme.group ?? theme.name));
+  const mode = collection?.modes.find((m) => m.name === theme.name);
+  const figmaVariableMaps = new Map(
+    figma.variables
+      .getLocalVariables()
+      .filter((v) => v.variableCollectionId === collection?.id)
+      .map((variable) => [variable.name, variable]),
+  );
+  if (collection && mode) {
+    const collectionVariableIds: Record<string, string> = {};
+    const tokensToCreateVariablesFor = generateTokensToCreate({ theme, tokens });
+    tokensToCreateVariablesFor.forEach((token) => {
+      const variable = figmaVariableMaps.get(token.name.split('.').join('/'));
+      if (variable) {
+        collectionVariableIds[token.name] = variable.key;
+      }
+    });
+    return {
+      variableInfo: {
+        collectionId: collection.id,
+        modeId: mode.modeId,
+        variableIds: collectionVariableIds,
+      },
+    };
+  }
+  return {
+    variableInfo: null,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html new file mode 100644 index 000000000..e7ae7c23a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/bulkRemapTokens.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers bulkRemapTokens.ts

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { defaultNodeManager } from '../NodeManager';
+import { sendSelectionChange } from '../sendSelectionChange';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { postToUI } from '../notifiers';
+import { ProgressTracker } from '../ProgressTracker';
+import { defaultWorker } from '../Worker';
+ 
+export const bulkRemapTokens: AsyncMessageChannelHandlers[AsyncMessageTypes.BULK_REMAP_TOKENS] = async (msg) => {
+  // Big O(n * m) + Big O(updatePluginData) + Big O(sendSelectionChange): (n = amount of nodes, m = amount of tokens in the node)
+  try {
+    const { oldName, newName } = msg;
+    const allWithData = await defaultNodeManager.findBaseNodesWithData({ updateMode: msg.updateMode });
+    const namespace = SharedPluginDataNamespaces.TOKENS;
+    postToUI({
+      type: MessageFromPluginTypes.START_JOB,
+      job: {
+        name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+        timePerTask: 2,
+        completedTasks: 0,
+        totalTasks: allWithData.length,
+      },
+    });
+ 
+    const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
+    const promises: Set<Promise<void>> = new Set();
+    const regexPattern = /^\/(.*)\/([gimsuy]*)$/;
+ 
+    allWithData.forEach(({ node, tokens }) => {
+      promises.add(defaultWorker.schedule(async () => {
+        Object.entries(tokens).forEach(([key, value]) => {
+          const regexTest = oldName.match(regexPattern);
+          // If the pattern passed is a regex, use it, otherwise use the old name with a global flag
+          const pattern = regexTest ? new RegExp(regexTest[1], regexTest[2]) : new RegExp(oldName, 'g');
+          if (pattern.test(value)) {
+            const newValue = value.replace(pattern, newName);
+            const jsonValue = JSON.stringify(newValue);
+            node.setSharedPluginData(namespace, key, jsonValue);
+          }
+        });
+        tracker.next();
+        tracker.reportIfNecessary();
+      }));
+    });
+ 
+    await Promise.all(promises);
+ 
+    postToUI({
+      type: MessageFromPluginTypes.COMPLETE_JOB,
+      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+    });
+    await sendSelectionChange();
+  } catch (e) {
+    console.error(e);
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html new file mode 100644 index 000000000..989307a47 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/cancelOperation.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers cancelOperation.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { postToUI } from '../notifiers';
+import { defaultWorker } from '../Worker';
+ 
+export const cancelOperation: AsyncMessageChannelHandlers[AsyncMessageTypes.CANCEL_OPERATION] = async () => {
+  defaultWorker.cancel();
+  postToUI({
+    type: MessageFromPluginTypes.CLEAR_JOBS,
+  });
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html new file mode 100644 index 000000000..68bb4074f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/changedTabs.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers changedTabs.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import store from '../store';
+import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { sendSelectionChange } from '../sendSelectionChange';
+ 
+export const changedTabs: AsyncMessageChannelHandlers[AsyncMessageTypes.CHANGED_TABS] = async (msg) => {
+  const { requiresSelectionValues } = msg;
+  store.shouldSendSelectionValues = requiresSelectionValues;
+  await sendSelectionChange();
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html new file mode 100644 index 000000000..992121a92 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/createAnnotation.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers createAnnotation.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { createAnnotation as createAnnotationFn } from '@/utils/annotations';
+ 
+export const createAnnotation: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_ANNOTATION] = async (msg) => {
+  createAnnotationFn(msg.tokens, msg.direction);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html new file mode 100644 index 000000000..f5a3065eb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/createLocalVariables.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers createLocalVariables.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import createLocalVariablesInPlugin from '../createLocalVariablesInPlugin';
+ 
+// This function is used to create variables based on themes
+export const createLocalVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_LOCAL_VARIABLES] = async (msg) => {
+  const result = await createLocalVariablesInPlugin(msg.tokens, msg.settings, msg.selectedThemes);
+  return {
+    variableIds: result.allVariableCollectionIds,
+    totalVariables: result.totalVariables,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html new file mode 100644 index 000000000..5a11ea67d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers createLocalVariablesWithoutModes.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import createLocalVariablesWithoutModesInPlugin from '../createLocalVariablesWithoutModesInPlugin';
+ 
+// This function is used to create variables based on token sets, without the use of themes
+export const createLocalVariablesWithoutModes: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES] = async (msg) => {
+  const result = await createLocalVariablesWithoutModesInPlugin(msg.tokens, msg.settings, msg.selectedSets);
+  return {
+    variableIds: result.allVariableCollectionIds,
+    totalVariables: result.totalVariables,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html new file mode 100644 index 000000000..22a252522 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/createStyles.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers createStyles.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import updateStyles from '../updateStyles';
+import { getThemeReferences } from './getThemeReferences';
+import { defaultTokenValueRetriever } from '../TokenValueRetriever';
+ 
+export const createStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_STYLES] = async (msg) => {
+  try {
+    const {
+      figmaVariableReferences, figmaStyleReferences, stylePathPrefix,
+    } = await getThemeReferences(msg.settings.prefixStylesWithThemeName);
+    defaultTokenValueRetriever.initiate({
+      tokens: msg.sourceTokens,
+      variableReferences: figmaVariableReferences,
+      styleReferences: figmaStyleReferences,
+      stylePathPrefix,
+      ignoreFirstPartForStyles: msg.settings.ignoreFirstPartForStyles,
+      createStylesWithVariableReferences: msg.settings.createStylesWithVariableReferences,
+      applyVariablesStylesOrRawValue: msg.settings.applyVariablesStylesOrRawValue,
+    });
+    const styleIds = await updateStyles(msg.tokens, msg.settings, true, msg.selectedTheme);
+ 
+    return {
+      styleIds,
+    };
+  } catch (e) {
+    console.error(e);
+  }
+ 
+  return {
+    styleIds: {},
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html new file mode 100644 index 000000000..103a2ed69 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/credentials.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers credentials.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { updateCredentials } from '@/utils/credentials';
+ 
+export const credentials: AsyncMessageChannelHandlers[AsyncMessageTypes.CREDENTIALS] = async (msg) => {
+  const { credential } = msg;
+  await updateCredentials(credential);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html new file mode 100644 index 000000000..91dfbdb92 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers getAvailableVariableCollections.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +1x +  +  +2x +2x +  +2x +  +  +3x +  +  +  +  +  +1x +  +1x +1x +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import type { VariableCollectionInfo } from '@/types/VariableCollectionSelection';
+ 
+export const getAvailableVariableCollections: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS] = async (): Promise<{
+  collections: VariableCollectionInfo[]
+}> => {
+  try {
+    const allCollections = await figma.variables.getLocalVariableCollectionsAsync();
+    
+    const collections: VariableCollectionInfo[] = allCollections.map((collection) => ({
+      id: collection.id,
+      name: collection.name,
+      modes: collection.modes.map((mode) => ({
+        modeId: mode.modeId,
+        name: mode.name,
+      })),
+    }));
+ 
+    return { collections };
+  } catch (error) {
+    console.error('Error getting variable collections:', error);
+    return { collections: [] };
+  }
+};
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html new file mode 100644 index 000000000..771044e3a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/getFigmaFonts.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers getFigmaFonts.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const getFigmaFonts: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_FIGMA_FONTS] = async () => {
+  const availableFonts = await figma.listAvailableFontsAsync();
+  return {
+    fonts: availableFonts,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html new file mode 100644 index 000000000..b07439afa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/getSiblingStyleId.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers getSiblingStyleId.ts

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StyleIdMap, StyleThemeMap } from '@/types/StyleIdMap';
+ 
+const memo: StyleIdMap = {};
+ 
+// Gets the sibling style for a given style considering the new theme
+export async function getNewStyleId(styleId: string, styleIds: StyleIdMap, styleMap: StyleThemeMap, activeThemes: string[]) {
+  if (!styleId) {
+    return null;
+  }
+ 
+  // Removes the , 4:16 part after each style (we seem to store styleIds without that part)
+  const normalizedStyleId = styleId.split(',')[0].concat(',');
+ 
+  const tokenName = styleIds[normalizedStyleId];
+  // If there is no figmaStyleReference for that token, we can't do anything
+  if (!tokenName) {
+    console.warn(`${normalizedStyleId} not found`);
+    return null;
+  }
+ 
+  // Get the sibling style for the new theme
+  const newTheme = Object.keys(styleMap[tokenName]).find((themeName) => activeThemes.includes(themeName));
+  if (newTheme) {
+    const newStyleToFetch = styleMap[tokenName][newTheme];
+ 
+    // If there is none, return
+    if (!newStyleToFetch) {
+      console.warn(`${tokenName} for theme ${newTheme} not found`);
+      return null;
+    }
+ 
+    let actualStyleId = newStyleToFetch;
+ 
+    // If we already have the styleId in memory, return it
+    if (memo.hasOwnProperty(newStyleToFetch)) {
+      actualStyleId = memo[newStyleToFetch];
+    } else {
+      // Otherwise, fetch it and store it in memory
+      // This fetches the remote style and returns the local styleId that we need to apply the token
+      const styleKeyMatch = newStyleToFetch.match(/^S:([a-zA-Z0-9_-]+),/);
+      if (styleKeyMatch) {
+        actualStyleId = await new Promise<string>((resolve) => {
+          figma.importStyleByKeyAsync(styleKeyMatch[1])
+            .then((style) => resolve(style.id))
+            .catch(() => resolve(newStyleToFetch));
+        });
+        memo[newStyleToFetch] = actualStyleId;
+      }
+    }
+ 
+    const figmaStyle = figma.getStyleById(actualStyleId);
+ 
+    // If there is no figmaStyle for that token, we can't do anything
+    if (!figmaStyle) {
+      console.warn(`figma style for ${tokenName} not found, ${newStyleToFetch}`);
+      return null;
+    }
+ 
+    return figmaStyle.id;
+  }
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html new file mode 100644 index 000000000..fa203b392 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/getThemeReferences.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers getThemeReferences.ts

+
+ +
+ 0% + Statements + 0/41 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/16 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { RawVariableReferenceMap } from '@/types/RawVariableReferenceMap';
+import { defaultTokenValueRetriever } from '../TokenValueRetriever';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { getVariablesWithoutZombies } from '../getVariablesWithoutZombies';
+import { normalizeVariableName } from '@/utils/normalizeVariableName';
+ 
+export async function getThemeReferences(prefixStylesWithThemeName?: boolean) {
+  defaultTokenValueRetriever.clearCache();
+ 
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+ 
+  const figmaStyleReferences: Map<string, string> = new Map();
+  const figmaVariableReferences: RawVariableReferenceMap = new Map();
+ 
+  const activeThemes = themeInfo.themes?.filter((theme) => Object.values(themeInfo.activeTheme).some((v) => v === theme.id));
+ 
+  const stylePathPrefix = prefixStylesWithThemeName && activeThemes.length > 0 ? activeThemes[0].name : undefined;
+ 
+  activeThemes?.forEach((theme) => {
+    Object.entries(theme.$figmaVariableReferences ?? {}).forEach(([token, variableId]) => {
+      if (!figmaVariableReferences.has(token)) {
+        figmaVariableReferences.set(token, variableId);
+      }
+    });
+    Object.entries(theme.$figmaStyleReferences ?? {}).forEach(([token, styleId]) => {
+      if (!figmaStyleReferences.has(token)) {
+        figmaStyleReferences.set(token, styleId);
+      }
+    });
+  });
+ 
+  // We'll also add variables of source token sets to the references to properly resolve variables when used in styles
+  const allSourceTokenSetsOfActiveThemes = activeThemes.map((theme) => Object.entries(theme.selectedTokenSets)
+    .filter(([_, status]) => status === TokenSetStatus.SOURCE)) // filter only for source sets
+    .map((theme) => Object.keys(theme).filter((key) => theme[key] === TokenSetStatus.SOURCE)).flat(); // just return name
+ 
+  // Get all themes containing the source token sets
+  const allThemesContainingSourceTokenSets = themeInfo.themes.filter((theme) => allSourceTokenSetsOfActiveThemes
+    .some((sourceTokenSet) => theme.selectedTokenSets[sourceTokenSet] === TokenSetStatus.ENABLED)); // Just get those where its enabled
+ 
+  allThemesContainingSourceTokenSets?.forEach((theme) => {
+    Object.entries(theme.$figmaVariableReferences ?? {}).forEach(([token, variableId]) => {
+      if (!figmaVariableReferences.has(token)) {
+        figmaVariableReferences.set(token, variableId);
+      }
+    });
+  });
+ 
+  // We'll also add local variables to the references in case of where we work with local sets
+  const localVariables = await getVariablesWithoutZombies();
+ 
+  localVariables.forEach((variable) => {
+    const normalizedVariableName = normalizeVariableName(variable.name); // adjusting variable name to match the token name
+    if (!figmaVariableReferences.has(normalizedVariableName)) {
+      figmaVariableReferences.set(normalizedVariableName, variable.key);
+    }
+  });
+ 
+  const effectStyles = figma.getLocalEffectStyles();
+  const paintStyles = figma.getLocalPaintStyles();
+  const textStyles = figma.getLocalTextStyles();
+  const localStyles = [...effectStyles, ...paintStyles, ...textStyles];
+ 
+  // We'll also add local styles to the references in case of where we work with local sets
+  localStyles.forEach((style) => {
+    if (!figmaStyleReferences.has(style.name)) {
+      const normalizedStyleName = normalizeVariableName(style.name); // adjusting variable name to match the token name
+      figmaStyleReferences.set(normalizedStyleName, style.id);
+    }
+  });
+ 
+  return {
+    figmaStyleReferences, figmaVariableReferences, stylePathPrefix,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html new file mode 100644 index 000000000..bcd5f6370 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/gotoNode.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers gotoNode.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { goToNode } from '../node';
+ 
+export const gotoNode: AsyncMessageChannelHandlers[AsyncMessageTypes.GOTO_NODE] = async (msg) => {
+  goToNode(msg.id);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html new file mode 100644 index 000000000..f89395eff --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html @@ -0,0 +1,836 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers + + + + + + + + + +
+
+

All files src/plugin/asyncMessageHandlers

+
+ +
+ 2.07% + Statements + 9/434 +
+ + +
+ 0% + Branches + 0/190 +
+ + +
+ 2.75% + Functions + 3/109 +
+ + +
+ 1.93% + Lines + 8/413 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
applySiblingStyle.ts +
+
0%0/430%0/470%0/50%0/41
attachLocalStylesToTheme.ts +
+
0%0/320%0/300%0/40%0/32
attachLocalVariablesToTheme.ts +
+
0%0/190%0/80%0/60%0/17
bulkRemapTokens.ts +
+
0%0/240%0/40%0/40%0/24
cancelOperation.ts +
+
0%0/3100%0/00%0/10%0/3
changedTabs.ts +
+
0%0/4100%0/00%0/10%0/4
createAnnotation.ts +
+
0%0/2100%0/00%0/10%0/2
createLocalVariables.ts +
+
0%0/3100%0/00%0/10%0/3
createLocalVariablesWithoutModes.ts +
+
0%0/3100%0/00%0/10%0/3
createStyles.ts +
+
0%0/8100%0/00%0/10%0/8
credentials.ts +
+
0%0/3100%0/00%0/10%0/3
getAvailableVariableCollections.ts +
+
100%9/9100%0/0100%3/3100%8/8
getFigmaFonts.ts +
+
0%0/3100%0/00%0/10%0/3
getSiblingStyleId.ts +
+
0%0/310%0/140%0/50%0/30
getThemeReferences.ts +
+
0%0/410%0/200%0/160%0/36
gotoNode.ts +
+
0%0/2100%0/00%0/10%0/2
index.ts +
+
0%0/00%0/00%0/00%0/0
notify.ts +
+
0%0/2100%0/00%0/10%0/2
preview.ts +
+
0%0/3100%0/00%0/10%0/3
pullStyles.ts +
+
0%0/2100%0/00%0/10%0/2
pullVariables.ts +
+
0%0/2100%0/00%0/10%0/2
remapTokens.ts +
+
0%0/220%0/60%0/40%0/22
removeSingleCredential.ts +
+
0%0/3100%0/00%0/10%0/3
removeStyles.ts +
+
0%0/5100%0/00%0/10%0/5
removeStylesWithoutConnection.ts +
+
0%0/110%0/20%0/30%0/11
removeTokensByValue.ts +
+
0%0/100%0/40%0/30%0/8
renameStyles.ts +
+
0%0/5100%0/00%0/10%0/5
renameVariables.ts +
+
0%0/2100%0/00%0/10%0/1
resizeWindow.ts +
+
0%0/2100%0/00%0/10%0/2
resolveStyleInfo.ts +
+
0%0/150%0/40%0/30%0/14
resolveVariableInfo.ts +
+
0%0/100%0/40%0/20%0/10
selectNodes.ts +
+
0%0/2100%0/00%0/10%0/2
setAuthData.ts +
+
0%0/2100%0/00%0/10%0/2
setInitialLoad.ts +
+
0%0/2100%0/00%0/10%0/2
setLicenseKey.ts +
+
0%0/2100%0/00%0/10%0/2
setNodeData.ts +
+
0%0/100%0/20%0/10%0/10
setNoneValuesOnNode.ts +
+
0%0/190%0/40%0/60%0/19
setOnboardingExplainerExportSets.ts +
+
0%0/2100%0/00%0/10%0/2
setOnboardingExplainerInspect.ts +
+
0%0/2100%0/00%0/10%0/2
setOnboardingExplainerSets.ts +
+
0%0/2100%0/00%0/10%0/2
setOnboardingExplainerSyncProviders.ts +
+
0%0/2100%0/00%0/10%0/2
setShowEmptyGroups.ts +
+
0%0/2100%0/00%0/10%0/2
setStorageType.ts +
+
0%0/2100%0/00%0/10%0/2
setUi.ts +
+
0%0/80%0/60%0/10%0/8
setUsedEmail.ts +
+
0%0/20%0/20%0/10%0/2
swapStyles.ts +
+
0%0/310%0/150%0/110%0/25
update.ts +
+
0%0/150%0/180%0/10%0/15
updateCheckForChanges.ts +
+
0%0/3100%0/00%0/10%0/3
updateVariables.ts +
+
0%0/2100%0/00%0/10%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html new file mode 100644 index 000000000..94641aa5f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/index.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './credentials';
+export * from './changedTabs';
+export * from './removeSingleCredential';
+export * from './setStorageType';
+export * from './setOnboardingExplainerSets';
+export * from './setOnboardingExplainerExportSets';
+export * from './setOnboardingExplainerSyncProviders';
+export * from './setOnboardingExplainerInspect';
+export * from './setNodeData';
+export * from './removeTokensByValue';
+export * from './remapTokens';
+export * from './gotoNode';
+export * from './selectNodes';
+export * from './pullStyles';
+export * from './pullVariables';
+export * from './notify';
+export * from './cancelOperation';
+export * from './resizeWindow';
+export * from './setShowEmptyGroups';
+export * from './setUi';
+export * from './createAnnotation';
+export * from './createStyles';
+export * from './update';
+export * from './updateCheckForChanges';
+export * from './setLicenseKey';
+export * from './attachLocalStylesToTheme';
+export * from './resolveStyleInfo';
+export * from './renameStyles';
+export * from './bulkRemapTokens';
+export * from './removeStyles';
+export * from './setAuthData';
+export * from './setNoneValuesOnNode';
+export * from './getFigmaFonts';
+export * from './getAvailableVariableCollections';
+export * from './setUsedEmail';
+export * from './createLocalVariables';
+export * from './createLocalVariablesWithoutModes';
+export * from './resolveVariableInfo';
+export * from './attachLocalVariablesToTheme';
+export * from './renameVariables';
+export * from './updateVariables';
+export * from './setInitialLoad';
+export * from './preview';
+export * from './removeStylesWithoutConnection';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html new file mode 100644 index 000000000..608bf7bdb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/notify.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers notify.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { notifyUI } from '../notifiers';
+ 
+export const notify: AsyncMessageChannelHandlers[AsyncMessageTypes.NOTIFY] = async (msg) => {
+  notifyUI(msg.msg, msg.opts);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html new file mode 100644 index 000000000..1da590ad9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/preview.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers preview.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel, AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { startup } from '@/utils/plugin';
+ 
+export const previewRequestStartup: AsyncMessageChannelHandlers[AsyncMessageTypes.PREVIEW_REQUEST_STARTUP] = async () => {
+  const params = await startup();
+ 
+  AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.STARTUP,
+    ...params,
+  });
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html new file mode 100644 index 000000000..eeead936e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/pullStyles.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers pullStyles.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import pullStylesFn from '../pullStyles';
+ 
+export const pullStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.PULL_STYLES] = async (msg) => {
+  pullStylesFn(msg.styleTypes);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html new file mode 100644 index 000000000..236de1447 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/pullVariables.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers pullVariables.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import pullVariablesFn from '../pullVariables';
+ 
+export const pullVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.PULL_VARIABLES] = async (msg) => {
+  pullVariablesFn(msg.options, msg.themes, msg.proUser);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html new file mode 100644 index 000000000..1117e42ab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/remapTokens.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers remapTokens.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { defaultNodeManager } from '../NodeManager';
+import { sendSelectionChange } from '../sendSelectionChange';
+import { defaultWorker } from '../Worker';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { postToUI } from '../notifiers';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { ProgressTracker } from '../ProgressTracker';
+ 
+export const remapTokens: AsyncMessageChannelHandlers[AsyncMessageTypes.REMAP_TOKENS] = async (msg) => {
+  try {
+    const {
+      oldName, newName, updateMode, category,
+    } = msg;
+    const allWithData = await defaultNodeManager.findBaseNodesWithData({ updateMode });
+    const namespace = SharedPluginDataNamespaces.TOKENS;
+    postToUI({
+      type: MessageFromPluginTypes.START_JOB,
+      job: {
+        name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+        timePerTask: 2,
+        completedTasks: 0,
+        totalTasks: allWithData.length,
+      },
+    });
+ 
+    const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
+    const promises: Set<Promise<void>> = new Set();
+ 
+    allWithData.forEach(({ node, tokens }) => {
+      promises.add(defaultWorker.schedule(async () => {
+        Object.entries(tokens).map(async ([key, value]) => {
+          if (typeof category !== 'undefined' && key !== category) {
+            return;
+          }
+          if (value === oldName) {
+            const jsonValue = JSON.stringify(newName);
+            node.setSharedPluginData(namespace, key, jsonValue);
+          }
+        });
+        tracker.next();
+        tracker.reportIfNecessary();
+      }));
+    });
+ 
+    await Promise.all(promises);
+ 
+    postToUI({
+      type: MessageFromPluginTypes.COMPLETE_JOB,
+      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+    });
+    await sendSelectionChange();
+  } catch (e) {
+    console.error(e);
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html new file mode 100644 index 000000000..295c65bc3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/removeSingleCredential.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers removeSingleCredential.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { removeSingleCredential as removeSingleCredentialAsync } from '@/utils/credentials';
+ 
+export const removeSingleCredential: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL] = async (msg) => {
+  const { context } = msg;
+  await removeSingleCredentialAsync(context);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html new file mode 100644 index 000000000..f6169088d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/removeStyles.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers removeStyles.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import removeStylesFromPlugin from '../removeStylesFromPlugin';
+ 
+export const removeStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_STYLES] = async (msg) => {
+  try {
+    return {
+      styleIds: await removeStylesFromPlugin(msg.token),
+    };
+  } catch (e) {
+    console.error(e);
+  }
+ 
+  return {
+    styleIds: [],
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html new file mode 100644 index 000000000..70749f3c5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers removeStylesWithoutConnection.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const removeStylesWithoutConnection: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION] = async (msg) => {
+  try {
+    let count = 0;
+    const localStyles = await Promise.all([
+      figma.getLocalPaintStylesAsync(),
+      figma.getLocalTextStylesAsync(),
+      figma.getLocalEffectStylesAsync(),
+    ]).then((results) => results.flat());
+    localStyles.forEach((style) => {
+      if (!msg.usedStyleIds.includes(style.id)) {
+        style.remove();
+        count += 1;
+      }
+    });
+    return { countOfRemovedStyles: count };
+  } catch (e) {
+    return { countOfRemovedStyles: 0 };
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html new file mode 100644 index 000000000..71f8576dd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/removeTokensByValue.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers removeTokensByValue.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { sendSelectionChange } from '../sendSelectionChange';
+import { removePluginDataByMap } from '../removePluginDataByMap';
+import { Properties } from '@/constants/Properties';
+ 
+export const removeTokensByValue: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE] = async (msg) => {
+  const nodesToRemove: { node: BaseNode, key: Properties }[] = [];
+ 
+  msg.tokensToRemove.forEach((token) => {
+    token.nodes.forEach(((node) => {
+      const figmaNode = figma.getNodeById(node.id);
+      if (figmaNode) nodesToRemove.push({ node: figmaNode, key: token.property });
+    }));
+  });
+ 
+  if (nodesToRemove.length) await removePluginDataByMap({ nodeKeyMap: nodesToRemove });
+ 
+  sendSelectionChange();
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html new file mode 100644 index 000000000..d40d3bc83 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/renameStyles.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers renameStyles.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import renameStylesFromPlugin from '../renameStylesFromPlugin';
+ 
+export const renameStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.RENAME_STYLES] = async (msg) => {
+  try {
+    return {
+      styleIds: await renameStylesFromPlugin(msg.tokensToRename, msg.parent),
+    };
+  } catch (e) {
+    console.error(e);
+  }
+ 
+  return {
+    styleIds: [],
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html new file mode 100644 index 000000000..00b2c21a3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/renameVariables.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers renameVariables.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import renameVariablesFromPlugin from '../renameVariablesFromPlugin';
+ 
+export const renameVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.RENAME_VARIABLES] = async (msg) => ({
+  renameVariableToken: await renameVariablesFromPlugin(msg.tokens),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html new file mode 100644 index 000000000..b47d2d938 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/resizeWindow.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers resizeWindow.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const resizeWindow: AsyncMessageChannelHandlers[AsyncMessageTypes.RESIZE_WINDOW] = async (msg) => {
+  figma.ui.resize(msg.width, msg.height);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html new file mode 100644 index 000000000..e8a6424d9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/resolveStyleInfo.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers resolveStyleInfo.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const resolveStyleInfo: AsyncMessageChannelHandlers[AsyncMessageTypes.RESOLVE_STYLE_INFO] = async (msg) => {
+  const allLocalStyles = [
+    ...figma.getLocalPaintStyles(),
+    ...figma.getLocalEffectStyles(),
+    ...figma.getLocalTextStyles(),
+  ];
+ 
+  const resolvedValues = await Promise.all(
+    msg.styleIds.map(async (id) => {
+      const styleKeyMatch = id.match(/^S:([a-zA-Z0-9_-]+),/);
+      if (styleKeyMatch) {
+        try {
+          const remoteStyle = await figma.importStyleByKeyAsync(styleKeyMatch[1]);
+          return {
+            id,
+            key: remoteStyle.key,
+            name: remoteStyle.name,
+          };
+        } catch (err) {
+          console.error(err);
+        }
+      }
+ 
+      const styleMatch = allLocalStyles.find((style) => style.id === id);
+      if (styleMatch) {
+        return {
+          id,
+          key: styleMatch.key,
+          name: styleMatch.name,
+        };
+      }
+ 
+      return { id };
+    }),
+  );
+ 
+  return {
+    resolvedValues,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html new file mode 100644 index 000000000..762775cd9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/resolveVariableInfo.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers resolveVariableInfo.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { getVariablesMap } from '@/utils/getVariablesMap';
+ 
+export type ResolvedVariableInfo = {
+  name: string;
+  key: string
+};
+export const resolveVariableInfo: AsyncMessageChannelHandlers[AsyncMessageTypes.RESOLVE_VARIABLE_INFO] = async (msg) => {
+  const localVariableMap = await getVariablesMap();
+  const resolvedValues: Record<string, ResolvedVariableInfo> = {};
+  await Promise.all(msg.variableIds.map(async (variableId) => {
+    if (localVariableMap[variableId]) {
+      resolvedValues[variableId] = {
+        name: localVariableMap[variableId].name,
+        key: localVariableMap[variableId].key,
+      };
+    } else {
+      const variable = await figma.variables.importVariableByKeyAsync(variableId);
+      if (variable) {
+        resolvedValues[variableId] = {
+          name: variable.name,
+          key: variable.key,
+        };
+      }
+    }
+  }));
+  return {
+    resolvedValues,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html new file mode 100644 index 000000000..9bdb653b9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/selectNodes.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers selectNodes.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import {
+  selectNodes as selectNodesFn,
+} from '../node';
+ 
+export const selectNodes: AsyncMessageChannelHandlers[AsyncMessageTypes.SELECT_NODES] = async (msg) => {
+  selectNodesFn(msg.ids);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html new file mode 100644 index 000000000..c612830f9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setAuthData.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setAuthData.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AuthDataProperty } from '@/figmaStorage/AuthDataProperty';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const setAuthData: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_AUTH_DATA] = async (msg) => {
+  await AuthDataProperty.write(msg.auth);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html new file mode 100644 index 000000000..dd3c40ac3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setInitialLoad.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setInitialLoad.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { InitialLoadProperty } from '@/figmaStorage/InitialLoadProperty';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const setInitialLoad: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_INITIAL_LOAD] = async (msg) => {
+  await InitialLoadProperty.write(msg.initialLoad);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html new file mode 100644 index 000000000..a3d108a35 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setLicenseKey.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setLicenseKey.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { LicenseKeyProperty } from '@/figmaStorage/LicenseKeyProperty';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const setLicenseKey: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_LICENSE_KEY] = async (msg) => {
+  await LicenseKeyProperty.write(msg.licenseKey);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html new file mode 100644 index 000000000..84a817ca1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setNodeData.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setNodeData.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { tokenArrayGroupToMap } from '@/utils/tokenArrayGroupToMap';
+import { updatePluginDataAndNodes } from '../updatePluginDataAndNodes';
+import { sendSelectionChange } from '../sendSelectionChange';
+import { getThemeReferences } from './getThemeReferences';
+import { defaultTokenValueRetriever } from '../TokenValueRetriever';
+ 
+export const setNodeData: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_NODE_DATA] = async (msg) => {
+  try {
+    if (figma.currentPage.selection.length) {
+      const tokensMap = tokenArrayGroupToMap(msg.tokens);
+      const nodes = figma.currentPage.selection;
+      const {
+        figmaVariableReferences, figmaStyleReferences, stylePathPrefix,
+      } = await getThemeReferences(msg.settings.prefixStylesWithThemeName);
+ 
+      await defaultTokenValueRetriever.initiate({
+        tokens: msg.tokens,
+        variableReferences: figmaVariableReferences,
+        styleReferences: figmaStyleReferences,
+        stylePathPrefix,
+        ignoreFirstPartForStyles: msg.settings.ignoreFirstPartForStyles,
+        applyVariablesStylesOrRawValue: msg.settings.applyVariablesStylesOrRawValue,
+      });
+ 
+      await updatePluginDataAndNodes({
+        entries: nodes, values: msg.values, tokensMap, settings: msg.settings,
+      });
+      sendSelectionChange();
+    }
+  } catch (e) {
+    console.error(e);
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html new file mode 100644 index 000000000..ef9878d61 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setNoneValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { sendSelectionChange } from '../sendSelectionChange';
+import { setNonePluginData } from '../pluginData';
+import { Properties } from '@/constants/Properties';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { postToUI } from '../notifiers';
+import { defaultWorker } from '../Worker';
+import { ProgressTracker } from '../ProgressTracker';
+ 
+export const setNoneValuesOnNode: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_NONE_VALUES_ON_NODE] = async (msg) => {
+  const nodesToRemove: { [key: string]: Properties[] } = {};
+ 
+  msg.tokensToSet.forEach((token) => {
+    token.nodes.forEach(({ id }) => {
+      nodesToRemove[id] = nodesToRemove[id] ? [...nodesToRemove[id], token.property] : [token.property];
+    });
+  });
+  postToUI({
+    type: MessageFromPluginTypes.START_JOB,
+    job: {
+      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+      timePerTask: 2,
+      completedTasks: 0,
+      totalTasks: Object.keys(nodesToRemove).length,
+    },
+  });
+ 
+  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
+  const promises: Set<Promise<void>> = new Set();
+ 
+  Object.entries(nodesToRemove).forEach(([nodeId, keys]) => {
+    promises.add(defaultWorker.schedule(async () => {
+      keys.forEach(async (key) => {
+        const nodeToUpdate = figma.getNodeById(nodeId);
+        if (nodeToUpdate) {
+          await setNonePluginData({ nodes: [nodeToUpdate], key });
+        }
+      });
+      tracker.next();
+      tracker.reportIfNecessary();
+    }));
+  });
+ 
+  await Promise.all(promises);
+ 
+  postToUI({
+    type: MessageFromPluginTypes.COMPLETE_JOB,
+    name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+  });
+  sendSelectionChange();
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html new file mode 100644 index 000000000..10fcd03ed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerExportSets.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { saveOnboardingExplainerExportSets } from '../node';
+ 
+export const setOnboardingExplainerExportSets: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS] = async (msg) => {
+  await saveOnboardingExplainerExportSets(msg.onboardingExplainerExportSets);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html new file mode 100644 index 000000000..ebfb30234 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerInspect.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { saveOnboardingExplainerInspect } from '../node';
+ 
+export const setOnboardingExplainerInspect: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT] = async (msg) => {
+  await saveOnboardingExplainerInspect(msg.onboardingExplainerInspect);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html new file mode 100644 index 000000000..76fad7a05 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerSets.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { saveOnboardingExplainerSets } from '../node';
+ 
+export const setOnboardingExplainerSets: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS] = async (msg) => {
+  await saveOnboardingExplainerSets(msg.onboardingExplainerSets);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html new file mode 100644 index 000000000..bee9bfd7c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerSyncProviders.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { saveOnboardingExplainerSyncProviders } from '../node';
+ 
+export const setOnboardingExplainerSyncProviders: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS] = async (msg) => {
+  await saveOnboardingExplainerSyncProviders(msg.onboardingExplainerSyncProviders);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html new file mode 100644 index 000000000..62dac2445 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setShowEmptyGroups.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { updateUISettings } from '@/utils/uiSettings';
+ 
+export const setShowEmptyGroups: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS] = async (msg) => {
+  updateUISettings({
+    showEmptyGroups: msg.showEmptyGroups,
+  });
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html new file mode 100644 index 000000000..af3e41080 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setStorageType.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setStorageType.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { saveStorageType } from '../node';
+ 
+export const setStorageType: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_STORAGE_TYPE] = async (msg) => {
+  await saveStorageType(msg.storageType);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html new file mode 100644 index 000000000..9d0c503c5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setUi.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setUi.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { DefaultWindowSize } from '@/constants/DefaultWindowSize';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { updateUISettings } from '@/utils/uiSettings';
+import { sendSelectionChange } from '../sendSelectionChange';
+import store from '../store';
+ 
+export const setUi: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_UI] = async (msg) => {
+  const width = msg.uiWindow?.width ?? DefaultWindowSize.width;
+  const height = msg.uiWindow?.height ?? DefaultWindowSize.height;
+  updateUISettings({
+    width,
+    height,
+    updateMode: msg.updateMode,
+    language: msg.language,
+    updateRemote: msg.updateRemote,
+    updateOnChange: msg.updateOnChange,
+    shouldUpdateStyles: msg.shouldUpdateStyles,
+    applyVariablesStylesOrRawValue: msg.applyVariablesStylesOrRawValue,
+    ignoreFirstPartForStyles: msg.ignoreFirstPartForStyles,
+    createStylesWithVariableReferences: msg.createStylesWithVariableReferences,
+    prefixStylesWithThemeName: msg.prefixStylesWithThemeName,
+    renameExistingStylesAndVariables: msg.renameExistingStylesAndVariables,
+    removeStylesAndVariablesWithoutConnection: msg.removeStylesAndVariablesWithoutConnection,
+    variablesBoolean: msg.variablesBoolean,
+    variablesColor: msg.variablesColor,
+    variablesNumber: msg.variablesNumber,
+    variablesString: msg.variablesString,
+    stylesColor: msg.stylesColor,
+    stylesEffect: msg.stylesEffect,
+    stylesTypography: msg.stylesTypography,
+    inspectDeep: msg.inspectDeep,
+    baseFontSize: msg.baseFontSize,
+    sessionRecording: msg.sessionRecording,
+    aliasBaseFontSize: msg.aliasBaseFontSize,
+    shouldSwapStyles: msg.shouldSwapStyles,
+    storeTokenIdInJsonEditor: msg.storeTokenIdInJsonEditor,
+  });
+  figma.ui.resize(width, height);
+  if (store.inspectDeep !== msg.inspectDeep) {
+    store.inspectDeep = msg.inspectDeep;
+    sendSelectionChange();
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html new file mode 100644 index 000000000..569cfa375 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/setUsedEmail.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers setUsedEmail.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { UsedEmailProperty } from '@/figmaStorage/UsedEmailProperty';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export const setUsedEmail: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_USED_EMAIL] = async (msg) => {
+  await UsedEmailProperty.write(msg.email ?? null);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html new file mode 100644 index 000000000..89b0e7529 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/swapStyles.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers swapStyles.ts

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { UpdateMode } from '@/constants/UpdateMode';
+import { ThemeObjectsList } from '@/types';
+import { StyleIdMap, StyleThemeMap } from '@/types/StyleIdMap';
+import { applySiblingStyleId } from './applySiblingStyle';
+ 
+function getRootNode(updateMode: UpdateMode) {
+  const rootNode: SceneNode[] = [];
+  switch (updateMode) {
+    case UpdateMode.PAGE:
+      if (figma.currentPage.children) rootNode.push(...figma.currentPage.children);
+      break;
+    case UpdateMode.SELECTION:
+      if (figma.currentPage.selection) rootNode.push(...figma.currentPage.selection);
+      break;
+    case UpdateMode.DOCUMENT:
+      figma.root.children.forEach((page) => rootNode.push(...page.children));
+      break;
+    default:
+      rootNode.push(...figma.currentPage.children);
+      break;
+  }
+  return rootNode;
+}
+ 
+// Go through layers to swap styles
+export async function swapStyles(activeTheme: Record<string, string>, themes: ThemeObjectsList, updateMode: UpdateMode) {
+  const activeThemes = themes.filter((theme) => Object.values(activeTheme).some((v) => v === theme.id)).map((t) => t.name);
+  // Creates an object that groups sibling styles by token name and theme name, e.g. { 'color.background': { 'dark': 'S:1234,4:16', 'light': 'S:1235,4:16' } }
+  const mappedStyleReferences = themes.reduce((acc, theme) => {
+    if (theme.$figmaStyleReferences) {
+      Object.entries(theme.$figmaStyleReferences).forEach(([styleName, styleId]) => {
+        acc[styleName] = { ...acc[styleName], [theme.name]: styleId };
+      });
+    }
+    return acc;
+  }, {} as StyleThemeMap);
+ 
+  // Creates an object that maps styleIds to token names, e.g. { 'S:1234,4:16': 'color.background' }
+  const allStyleIds = Object.entries(mappedStyleReferences).reduce((acc, [tokenName, mapping]) => {
+    Object.values(mapping).forEach((styleId) => {
+      acc[styleId] = tokenName;
+    });
+    return acc;
+  }, {} as StyleIdMap);
+  if (activeThemes.length < 1 || !mappedStyleReferences || !allStyleIds) {
+    return;
+  }
+ 
+  getRootNode(updateMode).forEach((layer) => {
+    applySiblingStyleId(layer, allStyleIds, mappedStyleReferences, activeThemes);
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html new file mode 100644 index 000000000..6dd0a5912 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/update.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers update.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { updateLocalTokensData } from '@/utils/figma';
+import { updateNodes } from '../updateNodes';
+import { NodeManagerNode, defaultNodeManager } from '../NodeManager';
+import { swapStyles } from './swapStyles';
+import { getThemeReferences } from './getThemeReferences';
+import { defaultTokenValueRetriever } from '../TokenValueRetriever';
+import { TokenFormatOptions } from '../TokenFormatStoreClass';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import updateStyles from '../updateStyles';
+ 
+export const update: AsyncMessageChannelHandlers[AsyncMessageTypes.UPDATE] = async (msg) => {
+  let allWithData: NodeManagerNode[] = [];
+  if (msg.tokenValues && msg.updatedAt) {
+    await updateLocalTokensData({
+      tokens: msg.tokenValues,
+      themes: msg.themes,
+      compressedTokens: msg.compressedTokens,
+      compressedThemes: msg.compressedThemes,
+      activeTheme: msg.activeTheme,
+      usedTokenSets: msg.usedTokenSet,
+      updatedAt: msg.updatedAt,
+      checkForChanges: msg.checkForChanges ?? false,
+      collapsedTokenSets: msg.collapsedTokenSets,
+      tokenFormat: msg.tokenFormat || TokenFormatOptions.Legacy,
+      storageProvider: msg.storageProvider,
+      storageSize: msg.storageSize,
+    });
+  }
+  if (msg.tokens) {
+    const {
+      figmaVariableReferences, figmaStyleReferences, stylePathPrefix,
+    } = await getThemeReferences(msg.settings.prefixStylesWithThemeName);
+    defaultTokenValueRetriever.initiate({
+      tokens: msg.tokens,
+      variableReferences: figmaVariableReferences,
+      styleReferences: figmaStyleReferences,
+      stylePathPrefix,
+      ignoreFirstPartForStyles: msg.settings.ignoreFirstPartForStyles,
+      createStylesWithVariableReferences: msg.settings.createStylesWithVariableReferences,
+      applyVariablesStylesOrRawValue: msg.settings.applyVariablesStylesOrRawValue,
+    });
+ 
+    // If the user has shouldUpdateStyles enabled, we need to upate styles (last used settings will be used, and we're using active themes)
+    if (msg.settings.shouldUpdateStyles) {
+      await updateStyles(msg.tokens, msg.settings, false);
+    }
+ 
+    allWithData = await defaultNodeManager.findBaseNodesWithData({
+      updateMode: msg.settings.updateMode,
+    });
+ 
+    await updateNodes(allWithData, msg.settings);
+    const shouldApplyStyles = msg.settings.applyVariablesStylesOrRawValue === ApplyVariablesStylesOrRawValues.VARIABLES_STYLES;
+    if (msg.activeTheme && msg.themes && msg.settings.shouldSwapStyles && shouldApplyStyles) {
+      await swapStyles(msg.activeTheme, msg.themes, msg.settings.updateMode);
+    }
+  }
+ 
+  return {
+    nodes: allWithData.length,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html new file mode 100644 index 000000000..56bdb09d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/updateCheckForChanges.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers updateCheckForChanges.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { ClientStorageProperty } from '@/figmaStorage/ClientStorageProperty';
+import { getFileKey } from '../helpers';
+ 
+export const updateCheckForChanges: AsyncMessageChannelHandlers[AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES] = async (msg) => {
+  const fileKey = await getFileKey();
+  await ClientStorageProperty.write('checkForChanges', fileKey, msg.checkForChanges as unknown as string);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html new file mode 100644 index 000000000..26372ab8f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/asyncMessageHandlers/updateVariables.ts + + + + + + + + + +
+
+

All files / src/plugin/asyncMessageHandlers updateVariables.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import updateVariablesFromPlugin from '../updateVariablesFromPlugin';
+ 
+export const updateVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.UPDATE_VARIABLES] = async (msg) => {
+  await updateVariablesFromPlugin(msg.payload);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html new file mode 100644 index 000000000..005ff304d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/plugin/compareStyleWithToken.ts + + + + + + + + + +
+
+

All files / src/plugin compareStyleWithToken.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+import {
+  effectStyleMatchesBoxShadowToken,
+  paintStyleMatchesColorToken,
+  textStyleMatchesTypographyToken,
+} from './figmaUtils/styleMatchers';
+ 
+export default function compareStyleValueWithTokenValue(
+  style: PaintStyle | EffectStyle | TextStyle,
+  token: SingleToken<true, { path: string }>,
+  baseFontSize: string,
+): boolean {
+  try {
+    if (style.type === 'PAINT' && token?.type === TokenTypes.COLOR) {
+      const { value } = token;
+      return paintStyleMatchesColorToken(style, value);
+    }
+    if (style.type === 'TEXT' && token?.type === TokenTypes.TYPOGRAPHY) {
+      const { value } = token;
+      return textStyleMatchesTypographyToken(style, value, baseFontSize);
+    }
+    if (style.type === 'EFFECT' && token?.type === TokenTypes.BOX_SHADOW) {
+      const { value } = token;
+      return effectStyleMatchesBoxShadowToken(style, value, baseFontSize);
+    }
+  } catch (e) {
+    console.log('error in compare styles', e);
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html new file mode 100644 index 000000000..1d9cb56bc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html @@ -0,0 +1,361 @@ + + + + + + Code coverage report for src/plugin/controller.ts + + + + + + + + + +
+
+

All files / src/plugin controller.ts

+
+ +
+ 0% + Statements + 0/53 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import 'regenerator-runtime/runtime';
+import * as asyncHandlers from './asyncMessageHandlers';
+import { defaultWorker } from './Worker';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { sendSelectionChange } from './sendSelectionChange';
+import { init } from '@/utils/plugin';
+import { sendDocumentChange } from './sendDocumentChange';
+import { performCodeGen } from './performCodeGen';
+ 
+AsyncMessageChannel.PluginInstance.connect();
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREDENTIALS, asyncHandlers.credentials);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CHANGED_TABS, asyncHandlers.changedTabs);
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL,
+  asyncHandlers.removeSingleCredential,
+);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_STORAGE_TYPE, asyncHandlers.setStorageType);
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS,
+  asyncHandlers.setOnboardingExplainerSets,
+);
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS,
+  asyncHandlers.setOnboardingExplainerExportSets,
+);
+ 
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS,
+  asyncHandlers.setOnboardingExplainerSyncProviders,
+);
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT,
+  asyncHandlers.setOnboardingExplainerInspect,
+);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_NODE_DATA, asyncHandlers.setNodeData);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE, asyncHandlers.removeTokensByValue);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMAP_TOKENS, asyncHandlers.remapTokens);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.BULK_REMAP_TOKENS, asyncHandlers.bulkRemapTokens);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GOTO_NODE, asyncHandlers.gotoNode);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SELECT_NODES, asyncHandlers.selectNodes);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.PULL_STYLES, asyncHandlers.pullStyles);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.PULL_VARIABLES, asyncHandlers.pullVariables);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.NOTIFY, asyncHandlers.notify);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESIZE_WINDOW, asyncHandlers.resizeWindow);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CANCEL_OPERATION, asyncHandlers.cancelOperation);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS, asyncHandlers.setShowEmptyGroups);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_UI, asyncHandlers.setUi);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_ANNOTATION, asyncHandlers.createAnnotation);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_STYLES, asyncHandlers.createStyles);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RENAME_STYLES, asyncHandlers.renameStyles);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_STYLES, asyncHandlers.removeStyles);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.UPDATE, asyncHandlers.update);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_LICENSE_KEY, asyncHandlers.setLicenseKey);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_INITIAL_LOAD, asyncHandlers.setInitialLoad);
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME,
+  asyncHandlers.attachLocalStylesToTheme,
+);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESOLVE_STYLE_INFO, asyncHandlers.resolveStyleInfo);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_NONE_VALUES_ON_NODE, asyncHandlers.setNoneValuesOnNode);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GET_FIGMA_FONTS, asyncHandlers.getFigmaFonts);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, asyncHandlers.getAvailableVariableCollections);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, asyncHandlers.removeStylesWithoutConnection);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_AUTH_DATA, asyncHandlers.setAuthData);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_LOCAL_VARIABLES, asyncHandlers.createLocalVariables);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES, asyncHandlers.createLocalVariablesWithoutModes);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESOLVE_VARIABLE_INFO, asyncHandlers.resolveVariableInfo);
+AsyncMessageChannel.PluginInstance.handle(
+  AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME,
+  asyncHandlers.attachLocalVariablesToTheme,
+);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RENAME_VARIABLES, asyncHandlers.renameVariables);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.UPDATE_VARIABLES, asyncHandlers.updateVariables);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_USED_EMAIL, asyncHandlers.setUsedEmail);
+AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.PREVIEW_REQUEST_STARTUP, asyncHandlers.previewRequestStartup);
+ 
+figma.on('close', () => {
+  defaultWorker.stop();
+});
+ 
+figma.on('selectionchange', () => {
+  sendSelectionChange();
+});
+ 
+figma.on('documentchange', (event: DocumentChangeEvent) => {
+  sendDocumentChange(event);
+});
+ 
+figma.codegen.on('generate', (event: any): CodegenResult[] => performCodeGen(event));
+ 
+init();
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html new file mode 100644 index 000000000..649c5cd6c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html @@ -0,0 +1,343 @@ + + + + + + Code coverage report for src/plugin/createLocalVariablesInPlugin.ts + + + + + + + + + +
+
+

All files / src/plugin createLocalVariablesInPlugin.ts

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/21 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AnyTokenList } from '@/types/tokens';
+import { SettingsState } from '@/app/store/models/settings';
+import updateVariables from './updateVariables';
+import { ReferenceVariableType } from './setValuesOnVariable';
+import updateVariablesToReference from './updateVariablesToReference';
+import { notifyUI } from './notifiers';
+import { mergeVariableReferencesWithLocalVariables } from './mergeVariableReferences';
+import { findCollectionAndModeIdForTheme } from './findCollectionAndModeIdForTheme';
+import { createNecessaryVariableCollections } from './createNecessaryVariableCollections';
+import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
+import { getOverallConfig } from '@/utils/tokenHelpers';
+ 
+export type LocalVariableInfo = {
+  collectionId: string;
+  modeId: string;
+  variableIds: Record<string, string>
+};
+ 
+/**
+* This function is used to create and update variables based on themes
+* - It first creates the necessary variable collections and modes or returns existing ones
+* - It then checks if the selected themes generated any collections. It could be a user is in a Free plan and we were unable to create more than 1 mode. If mode wasnt created, we skip the theme.
+* - Then goes on to update variables for each theme
+* - There's another step that we perform where we check if any variables need to be using references to other variables. This is a second step, as we need to have all variables created first before we can reference them.
+* */
+export default async function createLocalVariablesInPlugin(tokens: Record<string, AnyTokenList>, settings: SettingsState, selectedThemes?: string[]) {
+  // Big O (n * m * x): (n: amount of themes, m: amount of variableCollections, x: amount of modes)
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+  const selectedThemeObjects = themeInfo.themes.filter((theme) => selectedThemes?.includes(theme.id));
+  const allVariableCollectionIds: Record<string, LocalVariableInfo> = {};
+  let referenceVariableCandidates: ReferenceVariableType[] = [];
+  const updatedVariableCollections: VariableCollection[] = [];
+  let updatedVariables: Variable[] = [];
+  const figmaVariablesBeforeCreate = (await getVariablesWithoutZombies())?.length;
+  const figmaVariableCollectionsBeforeCreate = figma.variables.getLocalVariableCollections()?.length;
+ 
+  let figmaVariablesAfterCreate = 0;
+ 
+  const checkSetting = !settings.variablesBoolean && !settings.variablesColor && !settings.variablesNumber && !settings.variablesString;
+  if (!checkSetting && selectedThemes && selectedThemes.length > 0) {
+    const overallConfig = getOverallConfig(themeInfo.themes, selectedThemes);
+    const collections = await createNecessaryVariableCollections(themeInfo.themes, selectedThemes);
+ 
+    await Promise.all(selectedThemeObjects.map(async (theme) => {
+      const { collection, modeId } = findCollectionAndModeIdForTheme(theme.group ?? theme.name, theme.name, collections);
+ 
+      if (!collection || !modeId) return;
+ 
+      const allVariableObj = await updateVariables({
+        collection, mode: modeId, theme, tokens, settings, overallConfig,
+      });
+      figmaVariablesAfterCreate += allVariableObj.removedVariables.length;
+      if (Object.keys(allVariableObj.variableIds).length > 0) {
+        allVariableCollectionIds[theme.id] = {
+          collectionId: collection.id,
+          modeId,
+          variableIds: allVariableObj.variableIds,
+        };
+        referenceVariableCandidates = referenceVariableCandidates.concat(allVariableObj.referenceVariableCandidate);
+      }
+      updatedVariableCollections.push(collection);
+    }));
+    // Gather references that we should use. Merge current theme references with the ones from all themes as well as local variables
+    const existingVariables = await mergeVariableReferencesWithLocalVariables(selectedThemeObjects, themeInfo.themes);
+ 
+    // Update variables to use references instead of raw values
+    updatedVariables = await updateVariablesToReference(existingVariables, referenceVariableCandidates);
+  }
+ 
+  figmaVariablesAfterCreate += (await getVariablesWithoutZombies())?.length ?? 0;
+  const figmaVariableCollectionsAfterCreate = figma.variables.getLocalVariableCollections()?.length;
+ 
+  if (figmaVariablesAfterCreate === figmaVariablesBeforeCreate) {
+    notifyUI('No variables were created');
+  } else {
+    notifyUI(`${figmaVariableCollectionsAfterCreate - figmaVariableCollectionsBeforeCreate} collections and ${figmaVariablesAfterCreate - figmaVariablesBeforeCreate} variables created`);
+  }
+  return {
+    allVariableCollectionIds,
+    totalVariables: updatedVariables.length,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html new file mode 100644 index 000000000..d893ed5d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html @@ -0,0 +1,376 @@ + + + + + + Code coverage report for src/plugin/createLocalVariablesWithoutModesInPlugin.ts + + + + + + + + + +
+
+

All files / src/plugin createLocalVariablesWithoutModesInPlugin.ts

+
+ +
+ 0% + Statements + 0/38 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AnyTokenList } from '@/types/tokens';
+import { SettingsState } from '@/app/store/models/settings';
+import updateVariables from './updateVariables';
+import { ReferenceVariableType } from './setValuesOnVariable';
+import updateVariablesToReference from './updateVariablesToReference';
+import { notifyUI } from './notifiers';
+import { ThemeObject, UsedTokenSetsMap } from '@/types';
+import { ExportTokenSet } from '@/types/ExportTokenSet';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { mergeVariableReferencesWithLocalVariables } from './mergeVariableReferences';
+import { LocalVariableInfo } from './createLocalVariablesInPlugin';
+import { findCollectionAndModeIdForTheme } from './findCollectionAndModeIdForTheme';
+import { createNecessaryVariableCollections } from './createNecessaryVariableCollections';
+import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
+ 
+/**
+* This function is used to create variables based on token sets, without the use of themes
+* - We first create a "theme container" storing the selected token sets to get closer to theme logic
+* - It then creates the necessary variable collections and modes or returns existing ones
+* - It then checks if the selected themes generated any collections. It could be a user is in a Free plan and we were unable to create more than 1 mode. If mode wasnt created, we skip the theme.
+* - Then goes on to update variables for each theme
+* - There's another step that we perform where we check if any variables need to be using references to other variables. This is a second step, as we need to have all variables created first before we can reference them.
+* - TODO: Likely a good idea to merge this with createLocalVariablesInPlugin to reduce duplication
+* */
+export default async function createLocalVariablesWithoutModesInPlugin(tokens: Record<string, AnyTokenList>, settings: SettingsState, selectedSets: ExportTokenSet[]) {
+  // Big O (n * m * x): (n: amount of themes, m: amount of variableCollections, x: amount of modes)
+  const allVariableCollectionIds: Record<string, LocalVariableInfo> = {};
+  let referenceVariableCandidates: ReferenceVariableType[] = [];
+  const updatedVariableCollections: VariableCollection[] = [];
+  let updatedVariables: Variable[] = [];
+  const figmaVariablesBeforeCreate = (await getVariablesWithoutZombies()).length;
+  const figmaVariableCollectionsBeforeCreate = figma.variables.getLocalVariableCollections().length;
+ 
+  let figmaVariablesAfterCreate = 0;
+ 
+  const checkSetting = !settings.variablesBoolean && !settings.variablesColor && !settings.variablesNumber && !settings.variablesString;
+  if (!checkSetting) {
+    const themesToCreateCollections = selectedSets.reduce((acc: ThemeObject[], curr: ExportTokenSet) => {
+      if (curr.status === TokenSetStatus.ENABLED) {
+        acc.push({
+          selectedTokenSets: {
+            [curr.set]: curr.status,
+          },
+          id: curr.set,
+          name: curr.set,
+        });
+      }
+      return acc;
+    }, [] as ThemeObject[]);
+ 
+    const selectedSetIds = selectedSets.map((set) => set.set);
+ 
+    const overallConfig = selectedSets.reduce((acc, set) => {
+      acc[set.set] = set.status;
+      return acc;
+    }, {} as UsedTokenSetsMap);
+ 
+    const collections = await createNecessaryVariableCollections(themesToCreateCollections, selectedSetIds);
+ 
+    await Promise.all(selectedSets.map(async (set: ExportTokenSet, index) => {
+      if (set.status === TokenSetStatus.ENABLED) {
+        const { collection, modeId } = findCollectionAndModeIdForTheme(set.set, set.set, collections);
+ 
+        if (!collection || !modeId) return;
+ 
+        const allVariableObj = await updateVariables({
+          collection, mode: modeId, theme: { id: '123', name: set.set, selectedTokenSets: { [set.set]: set.status } }, overallConfig, tokens, settings, filterByTokenSet: set.set,
+        });
+        figmaVariablesAfterCreate += allVariableObj.removedVariables.length;
+        if (Object.keys(allVariableObj.variableIds).length > 0) {
+          allVariableCollectionIds[index] = {
+            collectionId: collection.id,
+            modeId,
+            variableIds: allVariableObj.variableIds,
+          };
+          referenceVariableCandidates = referenceVariableCandidates.concat(allVariableObj.referenceVariableCandidate);
+        }
+        updatedVariableCollections.push(collection);
+      }
+    }));
+    const existingVariables = await mergeVariableReferencesWithLocalVariables();
+    updatedVariables = await updateVariablesToReference(existingVariables, referenceVariableCandidates);
+  }
+ 
+  figmaVariablesAfterCreate += (await getVariablesWithoutZombies())?.length ?? 0;
+  const figmaVariableCollectionsAfterCreate = (await figma.variables.getLocalVariableCollectionsAsync())?.length;
+ 
+  if (figmaVariablesAfterCreate === figmaVariablesBeforeCreate) {
+    notifyUI('No variables were created');
+  } else {
+    notifyUI(`${figmaVariableCollectionsAfterCreate - figmaVariableCollectionsBeforeCreate} collections and ${figmaVariablesAfterCreate - figmaVariablesBeforeCreate} variables created`);
+  }
+  return {
+    allVariableCollectionIds,
+    totalVariables: updatedVariables.length,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html new file mode 100644 index 000000000..6430e5eed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/plugin/createNecessaryVariableCollections.ts + + + + + + + + + +
+
+

All files / src/plugin createNecessaryVariableCollections.ts

+
+ +
+ 0% + Statements + 0/23 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObjectsList } from '@/types';
+import createVariableMode from './createVariableMode';
+ 
+// Takes a given theme input and creates required variable collections with modes, or updates existing ones and renames / adds modes
+export async function createNecessaryVariableCollections(themes: ThemeObjectsList, selectedThemes: string[]): Promise<VariableCollection[]> {
+  const allCollections = await figma.variables.getLocalVariableCollectionsAsync();
+  const collectionsToCreateOrUpdate = themes.filter((theme) => selectedThemes.includes(theme.id));
+ 
+  return collectionsToCreateOrUpdate.reduce<VariableCollection[]>((acc, currentTheme) => {
+    const nameOfCollection = currentTheme.group ?? currentTheme.name; // If there is a group, use that as the collection name, otherwise use the theme name (e.g. for when creating with sets we use the theme name)
+    const existingCollection = acc.find((collection) => collection.name === nameOfCollection)
+    || allCollections.find((vr) => vr.id === currentTheme.$figmaCollectionId
+    || vr.name === nameOfCollection);
+ 
+    if (existingCollection) {
+      // Check if we already have a collection with the same name, if not find one by the id of $themes or as a fallback by name
+      // We do this because we might've found the collection by id, but the name might've changed
+      if (existingCollection.name !== nameOfCollection) {
+        existingCollection.name = nameOfCollection;
+      }
+      // If we found an existing collection, check if the mode exists, if not create it
+      const mode = existingCollection.modes.find((m) => m.modeId === currentTheme.$figmaModeId || m.name === currentTheme.name);
+ 
+      if (mode) {
+        if (mode.name !== currentTheme.name) {
+          existingCollection.renameMode(mode.modeId, currentTheme.name);
+        }
+      } else {
+        createVariableMode(existingCollection, currentTheme.name);
+      }
+      acc.push(existingCollection);
+      return acc;
+    }
+    // If no existing collection is found, create a new one and rename the default mode
+    const newCollection = figma.variables.createVariableCollection(nameOfCollection);
+ 
+    newCollection.renameMode(newCollection.modes[0].modeId, currentTheme.name);
+    acc.push(newCollection);
+    return acc;
+  }, []);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html new file mode 100644 index 000000000..db31f2ea0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/plugin/createVariableMode.ts + + + + + + + + + +
+
+

All files / src/plugin createVariableMode.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { notifyUI } from './notifiers';
+ 
+export default function createVariableMode(collection: VariableCollection, mode: string) {
+  try {
+    return collection.addMode(mode);
+  } catch (e) {
+    if (e instanceof Error) {
+      const limit = /Limited to (\d) modes only/.exec(e.message);
+      if (limit) {
+        const isMoreThanOne = limit[1].length > 1;
+        notifyUI(`Your Figma plan only allows creation of ${limit[1]} ${isMoreThanOne ? 'modes' : 'mode'}`, { error: true });
+      } else {
+        console.error('Error', e.message, e.stack);
+      }
+    } else {
+      console.log(e);
+    }
+  }
+  return '';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html new file mode 100644 index 000000000..02b5e7adb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/boxShadow.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms boxShadow.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
+ 
+export function convertBoxShadowTypeToFigma(value: string) {
+  switch (value) {
+    case 'innerShadow':
+      return 'INNER_SHADOW';
+    default:
+      return 'DROP_SHADOW';
+  }
+}
+ 
+export function convertBoxShadowTypeFromFigma(value: string) {
+  switch (value) {
+    case 'INNER_SHADOW':
+      return BoxShadowTypes.INNER_SHADOW;
+    default:
+      return BoxShadowTypes.DROP_SHADOW;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html new file mode 100644 index 000000000..af8aedeb2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html @@ -0,0 +1,499 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/colors.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms colors.ts

+
+ +
+ 0% + Statements + 0/69 +
+ + +
+ 0% + Branches + 0/37 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/69 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { figmaRGBToHex, hexToFigmaRGB, webRGBToFigmaRGB } from '@figma-plugin/helpers';
+import { toHex } from 'color2k';
+ 
+type WebRGBA = [number, number, number, number];
+interface RGBA {
+  r: number;
+  g: number;
+  b: number;
+  a?: number;
+}
+ 
+export function RGBAToHexA(red: number | string, green: number | string, blue: number | string, alpha: number | string) {
+  const r = parseInt(String(red), 10);
+  const g = parseInt(String(green), 10);
+  const b = parseInt(String(blue), 10);
+  const a = parseFloat(parseFloat(String(alpha)).toFixed(2));
+ 
+  const outParts = [
+    r.toString(16),
+    g.toString(16),
+    b.toString(16),
+    Math.round(a * 255)
+      .toString(16)
+      .substring(0, 2),
+  ];
+ 
+  // Pad single-digit output values
+  outParts.forEach((part, i) => {
+    if (part.length === 1) {
+      outParts[i] = `0${part}`;
+    }
+  });
+ 
+  return `#${outParts.join('')}`;
+}
+ 
+export function hslaToRgba(hslaValues: number[]) {
+  const h = hslaValues[0];
+  let s = hslaValues[1];
+  let l = hslaValues[2];
+  const a = hslaValues?.[3] ?? 1;
+ 
+  // Must be fractions of 1
+  s /= 100;
+  l /= 100;
+ 
+  const c = (1 - Math.abs(2 * l - 1)) * s;
+  const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
+  const m = l - c / 2;
+  let r = 0;
+  let g = 0;
+  let b = 0;
+ 
+  if (h >= 0 && h < 60) {
+    r = c;
+    g = x;
+    b = 0;
+  } else if (h >= 60 && h < 120) {
+    r = x;
+    g = c;
+    b = 0;
+  } else if (h >= 120 && h < 180) {
+    r = 0;
+    g = c;
+    b = x;
+  } else if (h >= 180 && h < 240) {
+    r = 0;
+    g = x;
+    b = c;
+  } else if (h >= 240 && h < 300) {
+    r = x;
+    g = 0;
+    b = c;
+  } else if (h >= 300 && h < 360) {
+    r = c;
+    g = 0;
+    b = x;
+  }
+  r = Math.round((r + m) * 255);
+  g = Math.round((g + m) * 255);
+  b = Math.round((b + m) * 255);
+ 
+  return [r, g, b, a];
+}
+ 
+function roundToTwo(num: number) {
+  return +`${Math.round(Number(`${num}e+2`))}e-2`;
+}
+ 
+export function convertToFigmaColor(input: string) {
+  let color: RGBA;
+  let opacity;
+  if (input.startsWith('rgb')) {
+    const rgbValues = input.replace(/^rgba?\(|\s+|\)$/g, '').split(',').map(parseFloat) as WebRGBA;
+ 
+    const {
+      r, g, b, a = 1,
+    } = webRGBToFigmaRGB(rgbValues);
+    color = {
+      r, g, b,
+    };
+    opacity = Number(a);
+  } else if (input.startsWith('hsl')) {
+    const hslValues = input.replace(/^hsla?\(|\s+|%|\)$/g, '').split(',').map(parseFloat);
+    const rgbValues: any = hslaToRgba(hslValues);
+    const {
+      r, g, b, a = 1,
+    } = webRGBToFigmaRGB(rgbValues);
+    color = {
+      r, g, b,
+    };
+    opacity = Number(a);
+  } else {
+    const {
+      r, g, b, a = 1,
+    }: RGBA = hexToFigmaRGB(toHex(input));
+    color = {
+      r, g, b,
+    };
+    opacity = roundToTwo(a);
+  }
+ 
+  return {
+    color,
+    opacity,
+  };
+}
+ 
+export function convertFigmaColorToHex(color: RGBA | RGB, opacity?: number): string {
+  if ('a' in color) {
+    return figmaRGBToHex(color);
+  }
+  return figmaRGBToHex({ ...color, a: opacity });
+}
+ 
+export function convertFigmaPaintToHex(paint: SolidPaint): string {
+  return convertFigmaColorToHex(paint.color, paint.opacity);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html new file mode 100644 index 000000000..fc38d8bf5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/convertFontFamilyToFigma.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms convertFontFamilyToFigma.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function convertFontFamilyToFigma(value: string, shouldOutputForVariables = false) {
+  const stringValue = value.toString();
+  try {
+    if (shouldOutputForVariables) {
+      const fontFamilies = stringValue.split(',');
+      return fontFamilies[0].trim().replace(/['"]/g, '');
+    }
+    return stringValue;
+  } catch (e) {
+    console.error('font family err', stringValue, e);
+    return stringValue;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html new file mode 100644 index 000000000..c6db097bb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/fontWeight.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms fontWeight.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function convertFontWeightToFigma(value: string, shouldOutputForVariables = false): string[] {
+  if (shouldOutputForVariables) {
+    return [value];
+  }
+ 
+  switch (value) {
+    case '100':
+      return ['Thin', 'Hairline'];
+    case '200':
+      return ['ExtraLight', 'Extra Light', 'UltraLight', 'Ultra Light'];
+    case '300':
+      return ['Light'];
+    case '400':
+      return ['Regular', 'Normal'];
+    case '500':
+      return ['Medium'];
+    case '600':
+      return ['SemiBold', 'Semibold', 'Semi Bold', 'DemiBold', 'Demi Bold'];
+    case '700':
+      return ['Bold'];
+    case '800':
+      return ['ExtraBold', 'Extra Bold', 'UltraBold', 'Ultra Bold'];
+    case '900':
+      return ['Black', 'Heavy'];
+    default:
+      return [value];
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html new file mode 100644 index 000000000..13d23b188 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/generic.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms generic.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { defaultBaseFontSize } from '@/constants/defaultBaseFontSize';
+ 
+export function convertNumberToFigma(value: string) {
+  return parseInt(value, 10);
+}
+ 
+export function fakeZeroForFigma(value: number) {
+  return Number(value) === 0 ? 0.001 : value;
+}
+ 
+export function convertTypographyNumberToFigma(value: string, baseFontSize: string) {
+  if (typeof value === 'string' && (value.endsWith('em') || value.endsWith('rem'))) {
+    if (!isNaN(parseFloat(baseFontSize))) {
+      return parseFloat(value) * parseFloat(baseFontSize);
+    }
+    return parseFloat(value) * parseFloat(defaultBaseFontSize);
+  }
+  return parseFloat(value);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html new file mode 100644 index 000000000..578d4f01f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html @@ -0,0 +1,454 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/gradients.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms gradients.ts

+
+ +
+ 0% + Statements + 0/64 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { figmaRGBToHex, extractLinearGradientParamsFromTransform } from '@figma-plugin/helpers';
+import { Matrix } from 'ml-matrix';
+import { convertToFigmaColor } from './colors';
+ 
+export function convertDegreeToNumber(degreeString: string): number {
+  return parseFloat(degreeString.split('deg').join(''));
+}
+ 
+export function convertFigmaGradientToString(paint: GradientPaint) {
+  const { gradientTransform, gradientStops } = paint;
+  const gradientStopsString = gradientStops
+    .map((stop) => `${figmaRGBToHex(stop.color)} ${Math.round(stop.position * 100 * 100) / 100}%`)
+    .join(', ');
+  const { start, end } = extractLinearGradientParamsFromTransform(1, 1, gradientTransform);
+  const angleInRad = Math.atan2(end[1] - start[1], end[0] - start[0]);
+  const angleInDeg = Math.round((angleInRad * 180) / Math.PI);
+  return `linear-gradient(${angleInDeg + 90}deg, ${gradientStopsString})`;
+}
+ 
+const roundToPrecision = (value, precision = 10) => {
+  const roundToPrecisionVal = 10 ** precision;
+  return Math.round((value + Number.EPSILON) * roundToPrecisionVal) / roundToPrecisionVal;
+};
+ 
+// if node type check is needed due to bugs caused by obscure node types, use (value: string/*, node?: BaseNode | PaintStyle) and convertStringToFigmaGradient(value, target)
+export function convertStringToFigmaGradient(value: string) {
+  const parts = value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')).split(', ').map((s) => s.trim());
+ 
+  // Default angle is to top (180 degrees)
+  let angle = 180;
+  if (parts[0].includes('deg')) {
+    angle = parseFloat(parts[0].replace('deg', ''));
+    parts.shift();
+  } else if (parts[0].includes('turn')) {
+    angle = parseFloat(parts[0].replace('turn', '')) * 360;
+    parts.shift();
+  } else if (parts[0].startsWith('to ')) {
+    const direction = parts[0].replace('to ', '');
+    parts.shift();
+    switch (direction) {
+      case 'top':
+        angle = 180;
+        break;
+      case 'right':
+        angle = 270;
+        break;
+      case 'bottom':
+        angle = 0;
+        break;
+      case 'left':
+        angle = 90;
+        break;
+      case 'top right':
+        angle = 225;
+        break;
+      case 'top left':
+        angle = 135;
+        break;
+      case 'bottom right':
+        angle = 315;
+        break;
+      case 'bottom left':
+        angle = 45;
+        break;
+      default:
+        break;
+    }
+  }
+ 
+  const degrees = -(angle - 90);
+  const rad = degrees * (Math.PI / 180);
+ 
+  let normalizedAngleRad = Math.abs(rad) % (Math.PI / 2);
+  if (normalizedAngleRad > Math.PI / 4) {
+    // adjust angle after 45 degrees to scale down correctly towards 90 degrees
+    normalizedAngleRad = Math.PI / 2 - normalizedAngleRad;
+  }
+ 
+  const sin = Math.sin(rad);
+  const cos = Math.cos(rad);
+ 
+  let scale = 1;
+ 
+  const normalisedCos = Math.cos(normalizedAngleRad);
+  scale = normalisedCos;
+  // Implement fallback if bugs are caused by obscure node types. This appears to be unnecessary
+  // if (!['RECTANGLE', 'FRAME', 'VECTOR'].includes(node?.type || '')) {
+  //   // Old scale computation:
+  //   scale = angle % 90 === 0 ? 1 : Math.sqrt(1 + Math.tan(angle * (Math.PI / 180)) ** 2);
+  // }
+ 
+  const scaledCos = cos * scale;
+  const scaledSin = sin * scale;
+ 
+  // start by transforming to the gradient center, to keep the gradient centered after scaling
+  // which for figma is .5 .5 as it is a relative transform
+  const tx = 0.5 - 0.5 * scaledCos + 0.5 * scaledSin;
+  const ty = 0.5 - 0.5 * scaledSin - 0.5 * scaledCos;
+ 
+  const transformationMatrix = new Matrix([
+    [roundToPrecision(scaledCos), roundToPrecision(-scaledSin), roundToPrecision(tx)],
+    [roundToPrecision(scaledSin), roundToPrecision(scaledCos), roundToPrecision(ty)],
+    [0, 0, 1],
+  ]);
+ 
+  const gradientTransformMatrix = transformationMatrix.to2DArray();
+ 
+  const gradientStops = parts.map((stop, i, arr) => {
+    const seperatedStop = stop.split(' ');
+    const { color, opacity } = convertToFigmaColor(seperatedStop[0]);
+    const gradientColor = color;
+    gradientColor.a = opacity;
+    return {
+      color: gradientColor,
+      position: seperatedStop[1] ? parseFloat(seperatedStop[1]) / 100 : i / (arr.length - 1),
+    };
+  }) as ColorStop[];
+ 
+  return {
+    gradientStops,
+    gradientTransform: [gradientTransformMatrix[0], gradientTransformMatrix[1]] as Transform,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html new file mode 100644 index 000000000..c57e56346 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html @@ -0,0 +1,296 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms + + + + + + + + + +
+
+

All files src/plugin/figmaTransforms

+
+ +
+ 0% + Statements + 0/231 +
+ + +
+ 0% + Branches + 0/151 +
+ + +
+ 0% + Functions + 0/32 +
+ + +
+ 0% + Lines + 0/229 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
boxShadow.ts +
+
0%0/60%0/40%0/20%0/6
colors.ts +
+
0%0/690%0/370%0/70%0/69
convertFontFamilyToFigma.ts +
+
0%0/80%0/30%0/10%0/8
fontWeight.ts +
+
0%0/130%0/130%0/10%0/13
generic.ts +
+
0%0/70%0/90%0/30%0/7
gradients.ts +
+
0%0/640%0/200%0/70%0/63
letterSpacing.ts +
+
0%0/130%0/130%0/20%0/13
lineHeight.ts +
+
0%0/160%0/170%0/20%0/16
numberMatchesPercentage.ts +
+
0%0/20%0/20%0/10%0/1
offset.ts +
+
0%0/1100%0/00%0/10%0/1
opacity.ts +
+
0%0/100%0/90%0/10%0/10
textCase.ts +
+
0%0/140%0/170%0/20%0/14
textDecoration.ts +
+
0%0/80%0/70%0/20%0/8
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html new file mode 100644 index 000000000..2d8021721 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/letterSpacing.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms letterSpacing.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { convertTypographyNumberToFigma } from './generic';
+import { numberMatchesPercentage } from './numberMatchesPercentage';
+import { numberRegex } from '../../constants/numberRegex';
+ 
+export function convertLetterSpacingToFigma(inputValue: string, baseFontSize: string, shouldOutputForVariables = false): number | LetterSpacing | null {
+  let letterSpacing: LetterSpacing | null = null;
+  const value = inputValue.toString();
+  if (numberMatchesPercentage(value)) {
+    letterSpacing = {
+      unit: 'PERCENT',
+      value: Number(value.slice(0, -1)),
+    };
+  } else if (value.match(numberRegex) || value.endsWith('px') || value.endsWith('em') || value.endsWith('rem')) {
+    if (shouldOutputForVariables) {
+      return convertTypographyNumberToFigma(value, baseFontSize);
+    }
+    letterSpacing = {
+      unit: 'PIXELS',
+      value: convertTypographyNumberToFigma(value, baseFontSize),
+    };
+  }
+  return letterSpacing;
+}
+ 
+export function convertFigmaToLetterSpacing(inputValue: LetterSpacing): string | number {
+  const { unit, value } = inputValue;
+  if (unit === 'PERCENT') {
+    return `${+value.toFixed(2)}%`;
+  }
+  return +value.toFixed(2);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html new file mode 100644 index 000000000..ceae3b28d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/lineHeight.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms lineHeight.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { convertTypographyNumberToFigma } from './generic';
+ 
+export function convertLineHeightToFigma(inputValue: string, baseFontSize: string, shouldOutputForVariables = false): number | LineHeight | null {
+  let lineHeight: LineHeight | null = null;
+  const value = inputValue.toString();
+  const numbers = /^-?\d+(\.\d+)?$/; // Matches both negative and positive numbers ending with %
+  if (value.match(numbers) || value.endsWith('px') || value.endsWith('em') || value.endsWith('rem')) {
+    if (shouldOutputForVariables) {
+      return convertTypographyNumberToFigma(value, baseFontSize);
+    }
+    lineHeight = {
+      unit: 'PIXELS',
+      value: convertTypographyNumberToFigma(value, baseFontSize),
+    };
+  } else if (value.trim().slice(-1) === '%' && value.trim().slice(0, -1).match(numbers)) {
+    lineHeight = {
+      unit: 'PERCENT',
+      value: Number(value.slice(0, -1)),
+    };
+  } else {
+    lineHeight = {
+      unit: 'AUTO',
+    };
+  }
+  return lineHeight;
+}
+ 
+export function convertFigmaToLineHeight(inputValue: LineHeight): string | number {
+  if (inputValue.unit === 'PIXELS') {
+    return +inputValue.value.toFixed(2);
+  } if (inputValue.unit === 'PERCENT') {
+    return `${+inputValue.value.toFixed(2)}%`;
+  }
+  return 'AUTO';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html new file mode 100644 index 000000000..ceadee82e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/numberMatchesPercentage.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms numberMatchesPercentage.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { numberRegex } from '../../constants/numberRegex';
+ 
+export const numberMatchesPercentage = (value: string) => Boolean(value.trim().slice(-1) === '%' && value.trim().slice(0, -1).match(numberRegex));
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html new file mode 100644 index 000000000..cfddda14b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/offset.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms offset.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export default function convertOffsetToFigma(x: number, y: number): { x: number; y: number } {
+  return {
+    x,
+    y,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html new file mode 100644 index 000000000..14d46c7e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/opacity.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms opacity.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export default function convertOpacityToFigma(value: string, shouldOutputForVariables?: boolean) {
+  // Matches 50%, 100%, etc.
+  const matched = value.match(/(\d+%)/);
+ 
+  if (matched) {
+    const matchedValue = Number(matched[0].slice(0, -1));
+    if (shouldOutputForVariables) {
+      return matchedValue;
+    }
+    return matchedValue / 100;
+  }
+ 
+  // Figma expects floats to be between 1 and 100, yet our users can enter opacity as 0-1 as well. We need to create appropriately.
+  const numericValue = Number(value);
+  if (shouldOutputForVariables && numericValue >= 0 && numericValue <= 1) {
+    return numericValue * 100;
+  }
+  return numericValue;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html new file mode 100644 index 000000000..20a41c868 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/textCase.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms textCase.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function convertTextCaseToFigma(value: string): TextCase {
+  switch (value.toLowerCase()) {
+    case 'uppercase':
+    case 'upper':
+      return 'UPPER';
+    case 'lowercase':
+    case 'lower':
+      return 'LOWER';
+    case 'capitalize':
+    case 'title':
+      return 'TITLE';
+    case 'small-caps':
+    case 'small_caps':
+      return 'SMALL_CAPS' as TextCase; // @TODO not sure if these are supported
+    case 'all-small-caps':
+    case 'small_caps_forced':
+      return 'SMALL_CAPS_FORCED' as TextCase; // @TODO not sure if these are supported
+    default:
+      return 'ORIGINAL';
+  }
+}
+ 
+export function convertFigmaToTextCase(value: string) {
+  switch (value) {
+    case 'UPPER':
+      return 'uppercase';
+    case 'LOWER':
+      return 'lowercase';
+    case 'TITLE':
+      return 'capitalize';
+    case 'SMALL_CAPS':
+      return 'small_caps';
+    case 'SMALL_CAPS_FORCED':
+      return 'small_caps_forced';
+    default:
+      return 'none';
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html new file mode 100644 index 000000000..25a456c23 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/plugin/figmaTransforms/textDecoration.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaTransforms textDecoration.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function convertTextDecorationToFigma(value: string) {
+  switch (value.toLowerCase()) {
+    case 'underline':
+      return 'UNDERLINE';
+    case 'line-through':
+    case 'strikethrough':
+      return 'STRIKETHROUGH';
+    default:
+      return 'NONE';
+  }
+}
+ 
+export function convertFigmaToTextDecoration(value: string) {
+  switch (value) {
+    case 'UNDERLINE':
+      return 'underline';
+    case 'STRIKETHROUGH':
+      return 'line-through';
+    default:
+      return 'none';
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html new file mode 100644 index 000000000..bac8be1b6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaUtils getShadowBehindNodeFromEffect.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
export function getShadowBehindNodeFromEffect(effect: Effect) {
+  if (!effect) return false;
+  if (effect.type === 'DROP_SHADOW') {
+    return effect.showShadowBehindNode;
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html new file mode 100644 index 000000000..76fd4e695 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/plugin/figmaUtils + + + + + + + + + +
+
+

All files src/plugin/figmaUtils

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
getShadowBehindNodeFromEffect.ts +
+
0%0/50%0/40%0/10%0/4
styleUtils.ts +
+
0%0/260%0/320%0/70%0/26
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html new file mode 100644 index 000000000..27cc69699 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaUtils/styleMatchers effectStyleMatchesBoxShadowToken.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isEffectEqual } from '@/utils/isEffectEqual';
+import { TokenBoxshadowValue } from '@/types/values';
+ 
+import { convertBoxShadowTypeToFigma } from '../../figmaTransforms/boxShadow';
+import { convertToFigmaColor } from '../../figmaTransforms/colors';
+import { convertTypographyNumberToFigma } from '../../figmaTransforms/generic';
+import convertOffsetToFigma from '../../figmaTransforms/offset';
+ 
+function convertBoxShadowToFigmaEffect(value: TokenBoxshadowValue, baseFontSize: string): Effect {
+  const { color, opacity: a } = convertToFigmaColor(value.color);
+  const { r, g, b } = color;
+  return {
+    color: {
+      r,
+      g,
+      b,
+      a,
+    },
+    type: convertBoxShadowTypeToFigma(value.type),
+    spread: convertTypographyNumberToFigma(value.spread.toString(), baseFontSize),
+    radius: convertTypographyNumberToFigma(value.blur.toString(), baseFontSize),
+    offset: convertOffsetToFigma(
+      convertTypographyNumberToFigma(value.x.toString(), baseFontSize),
+      convertTypographyNumberToFigma(value.y.toString(), baseFontSize),
+    ),
+    blendMode: (value.blendMode || 'NORMAL') as BlendMode,
+    visible: true,
+  };
+}
+ 
+export function effectStyleMatchesBoxShadowToken(
+  effectStyle: EffectStyle | undefined,
+  boxShadowToken: string | TokenBoxshadowValue | TokenBoxshadowValue[],
+  baseFontSize: string,
+) {
+  if (effectStyle && typeof boxShadowToken !== 'string') {
+    const boxShadowTokenArr = Array.isArray(boxShadowToken) ? boxShadowToken : [boxShadowToken];
+    const styleEffects = effectStyle.effects;
+    if (styleEffects.length === boxShadowTokenArr.length) {
+      return styleEffects.every((styleEffect, idx) => {
+        const tokenEffect = convertBoxShadowToFigmaEffect(boxShadowTokenArr[idx], baseFontSize);
+        return isEffectEqual(styleEffect, tokenEffect);
+      });
+    }
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html new file mode 100644 index 000000000..39d681c19 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/styleMatchers + + + + + + + + + +
+
+

All files src/plugin/figmaUtils/styleMatchers

+
+ +
+ 0% + Statements + 0/55 +
+ + +
+ 0% + Branches + 0/68 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
effectStyleMatchesBoxShadowToken.ts +
+
0%0/110%0/100%0/30%0/11
index.ts +
+
0%0/00%0/00%0/00%0/0
paintStyleMatchesColorToken.ts +
+
0%0/100%0/60%0/10%0/10
textStyleMatchesTypographyToken.ts +
+
0%0/340%0/520%0/10%0/34
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html new file mode 100644 index 000000000..1d555f8f5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/styleMatchers/index.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaUtils/styleMatchers index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export * from './effectStyleMatchesBoxShadowToken';
+export * from './paintStyleMatchesColorToken';
+export * from './textStyleMatchesTypographyToken';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html new file mode 100644 index 000000000..6611e81e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaUtils/styleMatchers paintStyleMatchesColorToken.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isPaintEqual } from '@/utils/isPaintEqual';
+import { convertStringToFigmaGradient } from '../../figmaTransforms/gradients';
+import { convertToFigmaColor } from '../../figmaTransforms/colors';
+ 
+export function paintStyleMatchesColorToken(paintStyle: PaintStyle | undefined, colorToken: string) {
+  const stylePaint = paintStyle?.paints[0] ?? null;
+  if (stylePaint?.type === 'SOLID') {
+    const { color, opacity } = convertToFigmaColor(colorToken);
+    const tokenPaint: SolidPaint = { color, opacity, type: 'SOLID' };
+    return isPaintEqual(stylePaint, tokenPaint);
+  }
+  if (stylePaint?.type === 'GRADIENT_LINEAR') {
+    const { gradientStops, gradientTransform } = convertStringToFigmaGradient(colorToken);
+    const tokenPaint: GradientPaint = {
+      type: 'GRADIENT_LINEAR',
+      gradientTransform,
+      gradientStops,
+    };
+    return isPaintEqual(stylePaint, tokenPaint);
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html new file mode 100644 index 000000000..fe34e2b4e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaUtils/styleMatchers textStyleMatchesTypographyToken.ts

+
+ +
+ 0% + Statements + 0/34 +
+ + +
+ 0% + Branches + 0/52 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { transformValue } from '../../helpers';
+import { TokenTypographyValue } from '@/types/values';
+ 
+export function textStyleMatchesTypographyToken(
+  textStyle: TextStyle | undefined,
+  typographyToken: string | TokenTypographyValue,
+  baseFontSize: string,
+) {
+  if (!textStyle || typeof typographyToken === 'string') {
+    return false;
+  }
+ 
+  const {
+    fontFamily,
+    fontWeight,
+    fontSize,
+    lineHeight,
+    letterSpacing,
+    paragraphSpacing,
+    paragraphIndent,
+    textCase,
+    textDecoration,
+  } = typographyToken;
+ 
+  if (textStyle.fontName.family !== fontFamily) {
+    return false;
+  }
+  if (textStyle.fontName.style !== fontWeight) {
+    return false;
+  }
+  if (fontSize === undefined || textStyle.fontSize !== transformValue(fontSize, 'fontSizes', baseFontSize)) {
+    return false;
+  }
+  // This will default to `{ unit: 'AUTO' }` if lineHeight token is not set:
+  const tokenLineHeight = transformValue(String(lineHeight), 'lineHeights', baseFontSize);
+  if (tokenLineHeight?.unit !== textStyle.lineHeight.unit) {
+    let hasMismatch = true;
+    if (tokenLineHeight && tokenLineHeight.unit !== 'AUTO' && textStyle.lineHeight.unit !== 'AUTO') {
+      hasMismatch = tokenLineHeight.value > 0 || textStyle.lineHeight.value > 0;
+    }
+    if (hasMismatch) {
+      return false;
+    }
+  } else if (tokenLineHeight.unit !== 'AUTO' && textStyle.lineHeight.unit !== 'AUTO') {
+    if (tokenLineHeight.unit !== textStyle.lineHeight.unit || tokenLineHeight.value !== textStyle.lineHeight.value) {
+      return false;
+    }
+  }
+  // This will default to `null` if letterSpacing token is not set:
+  const tokenLetterSpacing = transformValue(String(letterSpacing), 'letterSpacing', baseFontSize);
+  if (
+    tokenLetterSpacing?.unit !== textStyle.letterSpacing.unit
+    || tokenLetterSpacing?.value !== textStyle.letterSpacing.value
+  ) {
+    if ((tokenLetterSpacing?.value && tokenLetterSpacing.value > 0) || textStyle.letterSpacing.value > 0) {
+      return false;
+    }
+  }
+  if (
+    paragraphSpacing === undefined
+    || textStyle.paragraphSpacing !== transformValue(paragraphSpacing, 'paragraphSpacing', baseFontSize)
+  ) {
+    return false;
+  }
+  if (
+    paragraphIndent === undefined
+    || textStyle.paragraphIndent !== transformValue(paragraphIndent, 'paragraphIndent', baseFontSize)
+  ) {
+    return false;
+  }
+  // This will default to `ORIGINAL` if textCase token is not set:
+  const tokenTextCase = transformValue(String(textCase), 'textCase', baseFontSize);
+  if (tokenTextCase !== textStyle.textCase) {
+    return false;
+  }
+  // This will default to `NONE` if textDecoration token is not set:
+  const tokenTextDecoration = transformValue(String(textDecoration), 'textDecoration', baseFontSize);
+  if (tokenTextDecoration !== textStyle.textDecoration) {
+    return false;
+  }
+  return true; //  All checks passed - text style matches typography token
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html new file mode 100644 index 000000000..690ce8fa0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html @@ -0,0 +1,304 @@ + + + + + + Code coverage report for src/plugin/figmaUtils/styleUtils.ts + + + + + + + + + +
+
+

All files / src/plugin/figmaUtils styleUtils.ts

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/32 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { tokensSharedDataHandler } from '../SharedDataHandler';
+ 
+type StyleTypeName = 'effects' | 'fills' | 'strokes' | 'typography';
+type StyleType<T> =
+  T extends 'effects' ? EffectStyle :
+    T extends 'fills' | 'strokes' ? PaintStyle :
+      T extends 'typography' ? TextStyle :
+        never;
+ 
+export function getStyleId(node: BaseNode, key: StyleTypeName) {
+  if (key === 'effects' && key in node && typeof node.effectStyleId === 'string') {
+    return node.effectStyleId;
+  }
+  if (key === 'fills' && key in node && typeof node.fillStyleId === 'string') {
+    return node.fillStyleId;
+  }
+  if (key === 'strokes' && key in node && typeof node.strokeStyleId === 'string') {
+    return node.strokeStyleId;
+  }
+  if (key === 'typography' && node.type === 'TEXT' && typeof node.textStyleId === 'string') {
+    return node.textStyleId;
+  }
+  return undefined;
+}
+ 
+function getStyleIdFromBackup(node: BaseNode, backupKey: string) {
+  return tokensSharedDataHandler.get(node, backupKey, (val) => {
+    if (val) {
+      try {
+        const parsedValue = JSON.parse(val) as string;
+        return parsedValue;
+      } catch (e) {
+        return val;
+      }
+    }
+    return val;
+  });
+}
+ 
+export function getNonLocalStyle<T extends StyleTypeName>(
+  node: BaseNode,
+  backupKey: string,
+  key: T,
+): StyleType<T> | undefined {
+  let nonLocalStyle: BaseStyle | undefined;
+  const styleId = getStyleId(node, key) || getStyleIdFromBackup(node, backupKey);
+  if (styleId) {
+    const style = figma.getStyleById(styleId);
+    if (style?.remote) {
+      nonLocalStyle = style;
+    }
+  }
+  return nonLocalStyle as StyleType<T>;
+}
+ 
+export function getLocalStyle<T extends StyleTypeName>(
+  node: BaseNode,
+  backupKey: string,
+  key: T,
+): StyleType<T> | undefined {
+  const styleId = getStyleId(node, key) || getStyleIdFromBackup(node, backupKey);
+  return figma.getStyleById(styleId) as StyleType<T>;
+}
+ 
+export function setStyleIdBackup(node: BaseNode, backupKey: string, styleId: string) {
+  // Setting to empty string will delete the plugin data key if the style id doesn't exist:
+  tokensSharedDataHandler.set(node, backupKey, styleId ? JSON.stringify(styleId) : '');
+}
+ 
+export function clearStyleIdBackup(node: BaseNode, backupKey: string) {
+  // Setting to empty string will delete the plugin data key:
+  tokensSharedDataHandler.set(node, backupKey, '');
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html new file mode 100644 index 000000000..00d891d57 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/plugin/findCollectionAndModeIdForTheme.ts + + + + + + + + + +
+
+

All files / src/plugin findCollectionAndModeIdForTheme.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// Given an array of collections and a mode name and collection name, this function will return the collection and modeId if it exists
+export function findCollectionAndModeIdForTheme(collectionName: string, modeName: string, allCollections: VariableCollection[]): { collection: VariableCollection; modeId: string; } {
+  const existingCollection = allCollections.find((vr) => vr.name === collectionName);
+  let collection;
+  let modeId;
+ 
+  if (existingCollection) {
+    collection = existingCollection;
+    const mode = existingCollection.modes.find((m) => m.name === modeName);
+    modeId = mode?.modeId;
+  }
+ 
+  return { collection, modeId };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html new file mode 100644 index 000000000..99e6150c4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/plugin/generateTokensToCreate.ts + + + + + + + + + +
+
+

All files / src/plugin generateTokensToCreate.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/7 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { tokenTypesToCreateVariable } from '@/constants/VariableTypes';
+import { ThemeObject, UsedTokenSetsMap } from '@/types';
+import { AnyTokenList } from '@/types/tokens';
+import { defaultTokenResolver } from '@/utils/TokenResolver';
+import { mergeTokenGroups } from '@/utils/tokenHelpers';
+ 
+export function generateTokensToCreate({
+  theme,
+  tokens,
+  filterByTokenSet,
+  overallConfig = {},
+}: {
+  theme: ThemeObject;
+  tokens: Record<string, AnyTokenList>;
+  filterByTokenSet?: string;
+  overallConfig?: UsedTokenSetsMap;
+}) {
+  // Big O(resolveTokenValues * mergeTokenGroups)
+  const enabledTokenSets = Object.entries(theme.selectedTokenSets)
+    .filter(([name, status]) => status === TokenSetStatus.ENABLED && (!filterByTokenSet || name === filterByTokenSet))
+    .map(([tokenSet]) => tokenSet);
+  const resolved = defaultTokenResolver.setTokens(mergeTokenGroups(tokens, theme.selectedTokenSets, overallConfig));
+  return resolved.filter(
+    (token) => ((!token.internal__Parent || enabledTokenSets.includes(token.internal__Parent)) && tokenTypesToCreateVariable.includes(token.type)), // filter out SOURCE tokens
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html new file mode 100644 index 000000000..388ee9393 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html @@ -0,0 +1,487 @@ + + + + + + Code coverage report for src/plugin/getAppliedStylesFromNode.ts + + + + + + + + + +
+
+

All files / src/plugin getAppliedStylesFromNode.ts

+
+ +
+ 0% + Statements + 0/65 +
+ + +
+ 0% + Branches + 0/32 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { figmaRGBToHex } from '@figma-plugin/helpers';
+import { SingleColorToken, SingleToken } from '@/types/tokens';
+import { getLocalStyle } from './figmaUtils/styleUtils';
+import { TokenBoxshadowValue } from '@/types/values';
+import { convertBoxShadowTypeFromFigma } from './figmaTransforms/boxShadow';
+import { convertFigmaGradientToString } from './figmaTransforms/gradients';
+import { convertFigmaToLetterSpacing } from './figmaTransforms/letterSpacing';
+import { convertFigmaToTextCase } from './figmaTransforms/textCase';
+import { convertFigmaToTextDecoration } from './figmaTransforms/textDecoration';
+import { Properties } from '@/constants/Properties';
+import { convertFigmaToLineHeight } from './figmaTransforms/lineHeight';
+ 
+export type SelectionStyle = {
+  name: string;
+  value: SingleToken['value'];
+  type: Properties
+};
+ 
+function getStyleFromNode(node: BaseNode, styleIdBackupKey: string, styleType: 'fills' | 'strokes'): SelectionStyle[] {
+  const localStyles: SelectionStyle[] = [];
+ 
+  const localStyle = getLocalStyle(node, styleIdBackupKey, styleType);
+  if (localStyle) {
+    const paint = localStyle.paints[0];
+    let styleObject: SingleColorToken | null = {} as SingleColorToken;
+    if (paint.type === 'SOLID') {
+      const { r, g, b } = paint.color;
+      const a = paint.opacity;
+      styleObject.value = figmaRGBToHex({
+        r, g, b, a,
+      });
+    } else if (paint.type === 'GRADIENT_LINEAR') {
+      styleObject.value = convertFigmaGradientToString(paint);
+    } else {
+      styleObject = null;
+    }
+    const normalizedName = localStyle.name.split('/').map((section) => section.trim()).join('.');
+    if (styleObject) {
+      const styleTypeConstant = styleType === 'fills' ? Properties.fill : Properties.borderColor;
+      localStyles.push({ ...styleObject, name: normalizedName, type: styleTypeConstant });
+    }
+  }
+ 
+  return localStyles;
+}
+ 
+export default function getAppliedStylesFromNode(node: BaseNode): SelectionStyle[] {
+  const localStyles: SelectionStyle[] = [];
+  if ('effects' in node) {
+    const styleIdBackupKey = 'effectStyleId_original';
+    const localStyle = getLocalStyle(node, styleIdBackupKey, 'effects');
+    if (localStyle && localStyle.effects.every((effect) => effect.type === 'DROP_SHADOW' || effect.type === 'INNER_SHADOW')) {
+      const effects = localStyle.effects as Effect[];
+      // convert paint to object containg x, y, spread, color
+      const shadows: TokenBoxshadowValue[] = effects.map((effect) => {
+        const rootEffect = effect as DropShadowEffect | InnerShadowEffect;
+        const effectObject: TokenBoxshadowValue = {} as TokenBoxshadowValue;
+ 
+        effectObject.color = figmaRGBToHex(rootEffect.color);
+        effectObject.type = convertBoxShadowTypeFromFigma(rootEffect.type);
+        effectObject.x = rootEffect.offset.x;
+        effectObject.y = rootEffect.offset.y;
+        effectObject.blur = rootEffect.radius;
+        effectObject.spread = rootEffect.spread || 0;
+ 
+        return effectObject;
+      });
+ 
+      if (shadows.length > 0) {
+        const normalizedName = localStyle.name
+          .split('/')
+          .map((section) => section.trim())
+          .join('.');
+ 
+        const styleObject: SelectionStyle = {
+          value: shadows.length > 1 ? shadows : shadows[0],
+          type: Properties.boxShadow,
+          name: normalizedName,
+        };
+ 
+        localStyles.push(styleObject);
+      }
+    }
+  }
+ 
+  if ('fills' in node) {
+    const styleIdBackupKey = 'fillStyleId_original';
+    localStyles.push(...getStyleFromNode(node, styleIdBackupKey, 'fills'));
+  }
+ 
+  if ('strokes' in node) {
+    const styleIdBackupKey = 'strokeStyleId_original';
+    localStyles.push(...getStyleFromNode(node, styleIdBackupKey, 'strokes'));
+  }
+ 
+  if (node.type === 'TEXT') {
+    const styleIdBackupKey = 'textStyleId_original';
+    const localStyle = getLocalStyle(node, styleIdBackupKey, 'typography');
+ 
+    if (localStyle) {
+      const fontFamily = localStyle.fontName.family;
+      const fontWeight = localStyle.fontName?.style;
+      const lineHeight = convertFigmaToLineHeight(localStyle.lineHeight).toString();
+      const fontSize = localStyle.fontSize.toString();
+      const letterSpacing = convertFigmaToLetterSpacing(localStyle.letterSpacing).toString();
+      const paragraphSpacing = localStyle.paragraphSpacing.toString();
+      const paragraphIndent = localStyle.paragraphIndent.toString();
+      const textCase = convertFigmaToTextCase(localStyle.textCase.toString());
+      const textDecoration = convertFigmaToTextDecoration(localStyle.textDecoration.toString());
+ 
+      const obj = {
+        fontFamily,
+        fontWeight,
+        lineHeight,
+        fontSize,
+        letterSpacing,
+        paragraphSpacing,
+        paragraphIndent,
+        textCase,
+        textDecoration,
+      };
+ 
+      const normalizedName = localStyle.name
+        .split('/')
+        .map((section) => section.trim())
+        .join('.');
+ 
+      const styleObject = { name: normalizedName, value: obj, type: Properties.typography };
+      localStyles.push(styleObject);
+    }
+  }
+ 
+  return localStyles;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html new file mode 100644 index 000000000..1dd66af42 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html @@ -0,0 +1,352 @@ + + + + + + Code coverage report for src/plugin/getAppliedVariablesFromNode.ts + + + + + + + + + +
+
+

All files / src/plugin getAppliedVariablesFromNode.ts

+
+ +
+ 0% + Statements + 0/36 +
+ + +
+ 0% + Branches + 0/41 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { clone, figmaRGBToHex } from '@figma-plugin/helpers';
+import { Properties } from '@/constants/Properties';
+import { SingleColorToken } from '@/types/tokens';
+import convertVariableTypeToProperty from '@/utils/convertVariableTypeToProperty';
+ 
+export type SelectionVariable = {
+  name: string;
+  type: Properties;
+  value?: string;
+};
+ 
+export default function getAppliedVariablesFromNode(node: BaseNode): SelectionVariable[] {
+  const localVariables: SelectionVariable[] = [];
+  if (node.type !== 'DOCUMENT' && node.type !== 'PAGE' && node.boundVariables) {
+    Object.entries(node.boundVariables).forEach(([key, value]) => {
+      if ('fills' in node && key === 'fills' && Array.isArray(value)) {
+        const variableId = node.boundVariables?.fills?.[0].id;
+        if (variableId) {
+          const variable = figma.variables.getVariableById(variableId);
+          if (variable) {
+            const paint = clone(node.fills);
+            let variableObject: SingleColorToken | null = {} as SingleColorToken;
+            if (paint[0].type === 'SOLID') {
+              const { r, g, b } = paint[0].color;
+              const a = paint[0].opacity;
+              variableObject.value = figmaRGBToHex({
+                r,
+                g,
+                b,
+                a,
+              });
+            } else {
+              variableObject = null;
+            }
+            localVariables.push({
+              ...variableObject,
+              name: variable?.name.split('/').join('.'),
+              type: Properties.fill,
+            });
+          }
+        }
+      }
+      if (key === 'strokes' && Array.isArray(value)) {
+        const variableId = node.boundVariables?.strokes?.[0].id;
+ 
+        if (variableId) {
+          const variable = figma.variables.getVariableById(variableId);
+          if (variable && 'strokes' in node && typeof node.strokes !== 'undefined') {
+            const paint = clone(node.strokes);
+            let variableObject: SingleColorToken | null = {} as SingleColorToken;
+            if (paint[0].type === 'SOLID') {
+              const { r, g, b } = paint[0].color;
+              const a = paint[0].opacity;
+              variableObject.value = figmaRGBToHex({
+                r,
+                g,
+                b,
+                a,
+              });
+            } else {
+              variableObject = null;
+            }
+            localVariables.push({
+              ...variableObject,
+              name: variable?.name.split('/').join('.'),
+              type: Properties.borderColor,
+            });
+          }
+        }
+      }
+      if (!Array.isArray(value) && key in node) {
+        const variableId = value.id;
+        if (variableId && typeof variableId === 'string') {
+          const variable = figma.variables.getVariableById(variableId);
+          if (variable) {
+            localVariables.push({
+              name: variable?.name.split('/').join('.'),
+              type: convertVariableTypeToProperty(key),
+              // @TODO:: Rightnow, We get value from node directly. We Should investigate whether we can get value from variable by current mode. Rightnow, seems like that there is noway to know the current mode
+              ...(key in node && { value: String(node[key as keyof typeof node]) }),
+            });
+          }
+        }
+      }
+    });
+  }
+ 
+  return localVariables;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html new file mode 100644 index 000000000..8e855815b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/plugin/getFigmaDashPattern.ts + + + + + + + + + +
+
+

All files / src/plugin getFigmaDashPattern.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export default function getFigmaDashPattern(borderWidth: number) {
+  switch (borderWidth) {
+    case 1:
+      return [3, 2];
+    case 2:
+      return [6, 3];
+    case 3:
+      return [6, 3];
+    case 4:
+      return [8, 4];
+    case 5:
+      return [10, 5];
+    default:
+      return [10, 10];
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html new file mode 100644 index 000000000..6b2310d4f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/plugin/getVariablesWithoutZombies.ts + + + + + + + + + +
+
+

All files / src/plugin getVariablesWithoutZombies.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// Figma has a weird bug where they return variables in getLocalVariables that dont exist anymore.
+ 
+import { notifyException } from './notifiers';
+ 
+// So we need to add another check to see if the variable collection exists - if not, it's a zombie variable and we should ignore it.
+export async function getVariablesWithoutZombies(): Promise<Variable[]> {
+  try {
+    const localVariables = await figma.variables.getLocalVariablesAsync();
+    const localVariableCollectionIds = await figma.variables.getLocalVariableCollectionsAsync()?.then((collections) => collections.map((collection) => collection.id));
+    return localVariables.filter((variable) => localVariableCollectionIds.includes(variable.variableCollectionId));
+  } catch (error: any) {
+    notifyException(error?.message ?? 'Unknown error');
+    return [];
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html new file mode 100644 index 000000000..42b142341 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html @@ -0,0 +1,424 @@ + + + + + + Code coverage report for src/plugin/helpers.ts + + + + + + + + + +
+
+

All files / src/plugin helpers.ts

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/45 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import convertOpacityToFigma from './figmaTransforms/opacity';
+import { convertTypographyNumberToFigma, fakeZeroForFigma } from './figmaTransforms/generic';
+import { convertLetterSpacingToFigma } from './figmaTransforms/letterSpacing';
+import { convertLineHeightToFigma } from './figmaTransforms/lineHeight';
+import { convertBoxShadowTypeToFigma } from './figmaTransforms/boxShadow';
+import { convertTextCaseToFigma } from './figmaTransforms/textCase';
+import { convertTextDecorationToFigma } from './figmaTransforms/textDecoration';
+import { convertFontWeightToFigma } from './figmaTransforms/fontWeight';
+import { UserIdProperty, FileKeyProperty } from '@/figmaStorage';
+import { generateId } from '@/utils/generateId';
+import { Properties } from '@/constants/Properties';
+import { convertFontFamilyToFigma } from './figmaTransforms/convertFontFamilyToFigma';
+ 
+export async function getUserId() {
+  let userId = generateId(24);
+ 
+  try {
+    const id = await UserIdProperty.read();
+    if (id === null) {
+      await UserIdProperty.write(userId);
+    } else {
+      userId = id;
+    }
+  } catch (e) {
+    console.error('error retrieving userId', e);
+    await UserIdProperty.write(userId);
+  }
+ 
+  return userId;
+}
+ 
+export async function getFileKey() {
+  let fileKey = generateId(24);
+ 
+  try {
+    const key = await FileKeyProperty.read(figma.root);
+    if (key === null) {
+      await FileKeyProperty.write(fileKey);
+    } else {
+      fileKey = key as `${string}-${string}-${string}-${string}-${string}`;
+    }
+  } catch (e) {
+    console.error('error retrieving fileKey', e);
+    await FileKeyProperty.write(fileKey);
+  }
+ 
+  return fileKey;
+}
+ 
+export function transformValue(value: string, type: 'fontWeights', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertFontWeightToFigma>;
+export function transformValue(value: string, type: 'letterSpacing', baseFontSize: string, shouldOutputForVariables?: boolean): LetterSpacing | null;
+export function transformValue(value: string, type: 'lineHeights', baseFontSize: string, shouldOutputForVariables?: boolean): LineHeight | null;
+export function transformValue(value: string, type: 'boxShadowType', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertBoxShadowTypeToFigma>;
+export function transformValue(value: string, type: 'textCase', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertTextCaseToFigma>;
+export function transformValue(value: string, type: 'textDecoration', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertTextDecorationToFigma>;
+export function transformValue(value: string, type: 'opacity', baseFontSize: string, shouldOutputForVariables?: boolean): number;
+export function transformValue(value: string, type: string, baseFontSize: string, shouldOutputForVariables?: boolean): number;
+export function transformValue(value: string, type: string, baseFontSize: string, shouldOutputForVariables = false) {
+  switch (type) {
+    case Properties.borderWidth:
+    case Properties.borderWidthTop:
+    case Properties.borderWidthRight:
+    case Properties.borderWidthBottom:
+    case Properties.borderWidthLeft:
+      return convertTypographyNumberToFigma(value, baseFontSize);
+    case 'width':
+    case 'height':
+    case 'sizing':
+      return fakeZeroForFigma(convertTypographyNumberToFigma(value, baseFontSize));
+    case 'backgroundBlur':
+    case 'borderRadius':
+    case 'borderRadiusTopLeft':
+    case 'borderRadiusTopRight':
+    case 'borderRadiusBottomRight':
+    case 'borderRadiusBottomLeft':
+    case 'spacing':
+    case 'horizontalPadding':
+    case 'verticalPadding':
+    case 'paddingTop':
+    case 'paddingRight':
+    case 'paddingBottom':
+    case 'paddingLeft':
+    case 'itemSpacing':
+    case 'paragraphSpacing':
+    case 'paragraphIndent':
+    case 'fontSizes':
+    case 'fontSize':
+    case 'dimension':
+    case 'number':
+      return convertTypographyNumberToFigma(value, baseFontSize);
+    case 'fontWeights':
+    case 'fontWeight':
+      return convertFontWeightToFigma(value, shouldOutputForVariables);
+    case 'letterSpacing':
+      return convertLetterSpacingToFigma(value, baseFontSize, shouldOutputForVariables);
+    case 'lineHeights':
+    case 'lineHeight':
+      return convertLineHeightToFigma(value, baseFontSize, shouldOutputForVariables);
+    case 'opacity':
+      return convertOpacityToFigma(value.toString(), shouldOutputForVariables);
+    case 'boxShadowType':
+      return convertBoxShadowTypeToFigma(value);
+    case 'textCase':
+      return convertTextCaseToFigma(value.toString());
+    case 'textDecoration':
+      return convertTextDecorationToFigma(value.toString());
+    case 'fontFamily':
+    case 'fontFamilies':
+      return convertFontFamilyToFigma(value, shouldOutputForVariables);
+    default:
+      return value;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html new file mode 100644 index 000000000..e6bd9dfca --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html @@ -0,0 +1,1316 @@ + + + + + + Code coverage report for src/plugin + + + + + + + + + +
+
+

All files src/plugin

+
+ +
+ 4.93% + Statements + 104/2108 +
+ + +
+ 4.17% + Branches + 81/1940 +
+ + +
+ 4.69% + Functions + 16/341 +
+ + +
+ 4.98% + Lines + 99/1987 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
CanceledError.ts +
+
0%0/1100%0/00%0/10%0/1
NodeManager.ts +
+
0%0/390%0/100%0/80%0/37
ProgressTracker.ts +
+
0%0/160%0/70%0/40%0/16
ResolvedTypographyObject.ts +
+
0%0/00%0/00%0/00%0/0
SharedDataHandler.ts +
+
0%0/200%0/100%0/60%0/20
TokenFormatStoreClass.ts +
+
0%0/140%0/60%0/30%0/13
TokenValueRetriever.ts +
+
0%0/570%0/520%0/90%0/46
Worker.ts +
+
0%0/400%0/60%0/90%0/40
applyAssetTokenValuesOnNode.ts +
+
0%0/20%0/50%0/10%0/2
applyBackgroundBlurValuesOnNode.ts +
+
0%0/20%0/50%0/10%0/2
applyBooleanTokenValuesOnNode.ts +
+
0%0/50%0/100%0/10%0/5
applyBorderRadiusValuesOnNode.ts +
+
0%0/390%0/600%0/10%0/39
applyBorderValuesOnNode.ts +
+
0%0/150%0/330%0/10%0/15
applyBorderWidthValuesOnNode.ts +
+
0%0/100%0/350%0/10%0/10
applyColorTokenOnNode.ts +
+
0%0/160%0/200%0/10%0/16
applyDimensionTokenValuesOnNode.ts +
+
0%0/100%0/170%0/10%0/10
applyNumberTokenValuesOnNode.ts +
+
0%0/100%0/170%0/10%0/10
applyOpacityValuesOnNode.ts +
+
0%0/20%0/70%0/10%0/2
applyPositionTokenOnNode.ts +
+
0%0/70%0/130%0/10%0/7
applyRotationValuesOnNode.ts +
+
0%0/30%0/70%0/10%0/3
applyShadowValuesOnNode.ts +
+
0%0/180%0/240%0/10%0/17
applySizingValuesOnNode.ts +
+
0%0/160%0/610%0/10%0/16
applySpacingValuesOnNode.ts +
+
0%0/580%0/890%0/10%0/58
applyTextCharacterValuesOnNode.ts +
+
0%0/220%0/360%0/10%0/22
applyTypographyTokenOnNode.ts +
+
0%0/260%0/730%0/40%0/24
compareStyleWithToken.ts +
+
0%0/120%0/120%0/10%0/12
controller.ts +
+
0%0/53100%0/00%0/40%0/52
createLocalVariablesInPlugin.ts +
+
0%0/320%0/210%0/30%0/30
createLocalVariablesWithoutModesInPlugin.ts +
+
0%0/380%0/200%0/50%0/36
createNecessaryVariableCollections.ts +
+
0%0/230%0/160%0/60%0/20
createVariableMode.ts +
+
0%0/100%0/60%0/10%0/10
findCollectionAndModeIdForTheme.ts +
+
0%0/80%0/20%0/30%0/6
generateTokensToCreate.ts +
+
0%0/60%0/70%0/40%0/6
getAppliedStylesFromNode.ts +
+
0%0/650%0/320%0/70%0/63
getAppliedVariablesFromNode.ts +
+
0%0/360%0/410%0/20%0/36
getFigmaDashPattern.ts +
+
0%0/70%0/60%0/10%0/7
getVariablesWithoutZombies.ts +
+
0%0/90%0/20%0/40%0/6
helpers.ts +
+
0%0/310%0/450%0/30%0/31
mergeVariableReferences.ts +
+
0%0/220%0/120%0/60%0/17
node.ts +
+
0%0/1080%0/1330%0/170%0/105
notifiers.ts +
+
15.38%2/130%0/416.66%2/1215.38%2/13
performCodeGen.ts +
+
0%0/60%0/40%0/30%0/6
pluginData.ts +
+
0%0/570%0/270%0/200%0/51
processTextStyleProperty.ts +
+
0%0/230%0/280%0/40%0/20
pullStyles.ts +
+
0%0/1530%0/500%0/440%0/135
pullVariables.ts +
+
84.29%102/12171.68%81/11393.33%14/1584.34%97/115
removePluginDataByMap.ts +
+
0%0/12100%0/00%0/30%0/12
removeStylesFromPlugin.ts +
+
0%0/170%0/20%0/80%0/15
removeValuesFromNode.ts +
+
0%0/1470%0/2060%0/50%0/144
renameStylesFromPlugin.ts +
+
0%0/280%0/40%0/150%0/23
renameVariablesFromPlugin.ts +
+
0%0/150%0/40%0/40%0/15
rotateNode.ts +
+
0%0/340%0/200%0/30%0/34
sendDocumentChange.ts +
+
0%0/80%0/90%0/30%0/6
sendSelectionChange.ts +
+
0%0/60%0/60%0/10%0/6
setBackgroundBlurOnTarget.ts +
+
0%0/110%0/40%0/20%0/10
setBooleanValuesOnVariable.ts +
+
0%0/80%0/80%0/10%0/7
setBorderColorValuesOnTarget.ts +
+
0%0/150%0/190%0/10%0/15
setBorderValuesOnTarget.ts +
+
0%0/230%0/430%0/10%0/23
setColorValuesOnTarget.ts +
+
0%0/650%0/840%0/50%0/60
setColorValuesOnVariable.ts +
+
0%0/160%0/290%0/40%0/14
setEffectValuesOnTarget.ts +
+
0%0/410%0/400%0/40%0/38
setFontStyleOnTarget.ts +
+
0%0/320%0/220%0/50%0/30
setImageValuesOnTarget.ts +
+
0%0/140%0/100%0/30%0/14
setNumberValuesOnVariable.ts +
+
0%0/100%0/100%0/10%0/9
setStringValuesOnVariable.ts +
+
0%0/70%0/80%0/10%0/6
setTextValuesOnTarget.ts +
+
0%0/130%0/110%0/10%0/10
setValuesOnNode.ts +
+
0%0/240%0/90%0/20%0/24
setValuesOnVariable.ts +
+
0%0/410%0/490%0/30%0/40
store.ts +
+
0%0/1100%0/0100%0/00%0/1
transformTypographyKeyToFigmaVariable.ts +
+
0%0/50%0/60%0/10%0/4
tryApplyTypographyCompositeVariable.ts +
+
0%0/390%0/400%0/30%0/33
unbindVariableFromTarget.ts +
+
0%0/60%0/40%0/10%0/6
updateColorStyles.ts +
+
0%0/200%0/100%0/20%0/20
updateEffectStyles.ts +
+
0%0/200%0/100%0/20%0/20
updateNodes.ts +
+
0%0/160%0/20%0/30%0/16
updatePluginDataAndNodes.ts +
+
0%0/250%0/50%0/40%0/25
updateStyles.ts +
+
0%0/260%0/300%0/110%0/19
updateTextStyles.ts +
+
0%0/200%0/100%0/20%0/20
updateVariables.ts +
+
0%0/150%0/40%0/50%0/15
updateVariablesFromPlugin.ts +
+
0%0/320%0/340%0/40%0/32
updateVariablesToReference.ts +
+
0%0/150%0/40%0/20%0/13
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html new file mode 100644 index 000000000..d2c96f056 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/plugin/mergeVariableReferences.ts + + + + + + + + + +
+
+

All files / src/plugin mergeVariableReferences.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObject } from '@/types';
+import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
+ 
+// Gather references that we should use. Merge current theme references with the ones from all themes as well as local variables
+// Note that this is a bit naive. As the active theme does not have the themes set as active that it should use as a reference, it will not be able to find the correct reference.
+// This is why we also pass in allThemes and merge them together. This is naive because it might be that the reference required is not the "first to detect".
+// We need to refactor this probably. Themes should be able to strictly specify which other theme the references are coming from, like we do for token sets.
+export async function mergeVariableReferencesWithLocalVariables(themes: ThemeObject[] = [], allThemes: ThemeObject[] = []): Promise<Map<string, string>> {
+  const localVariables = await getVariablesWithoutZombies();
+ 
+  const variables = new Map();
+  themes.forEach((theme) => {
+    if (!theme.$figmaVariableReferences) return;
+    Object.entries(theme.$figmaVariableReferences).forEach(([tokenName, variableId]) => {
+      // For each variable reference we add one to the global Map - ONLY if it is not already set.
+      // Meaning, users will run into problems if they have a token defined in multiple theme groups
+      if (variables.has(tokenName)) return;
+      variables.set(tokenName, variableId);
+    });
+  });
+  allThemes.forEach((theme) => {
+    if (!theme.$figmaVariableReferences) return;
+    Object.entries(theme.$figmaVariableReferences).forEach(([tokenName, variableId]) => {
+      // For each variable reference we add one to the global Map - ONLY if it is not already set.
+      // Meaning, users will run into problems if they have a token defined in multiple theme groups
+      if (variables.has(tokenName)) return;
+      variables.set(tokenName, variableId);
+    });
+  });
+  localVariables.forEach((variable) => {
+    const normalizedName = variable.name.split('/').join('.');
+    if (variables.has(normalizedName)) return;
+    variables.set(normalizedName, variable.key);
+  });
+ 
+  return variables;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html new file mode 100644 index 000000000..e41ff233c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html @@ -0,0 +1,868 @@ + + + + + + Code coverage report for src/plugin/node.ts + + + + + + + + + +
+
+

All files / src/plugin node.ts

+
+ +
+ 0% + Statements + 0/108 +
+ + +
+ 0% + Branches + 0/133 +
+ + +
+ 0% + Functions + 0/17 +
+ + +
+ 0% + Lines + 0/105 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import { CollapsedTokenSetsProperty } from '@/figmaStorage/CollapsedTokenSetsProperty';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { AnyTokenList, SingleToken, TokenStore } from '@/types/tokens';
+import { isSingleToken } from '@/utils/is';
+import { ThemeObjectsList } from '@/types';
+import { CompositionTokenProperty } from '@/types/CompositionTokenProperty';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageType } from '@/types/StorageType';
+import {
+  ActiveThemeProperty, StorageTypeProperty, ThemesProperty, UpdatedAtProperty, ValuesProperty, VersionProperty, OnboardingExplainerSetsProperty, OnboardingExplainerInspectProperty, OnboardingExplainerSyncProvidersProperty, TokenFormatProperty, OnboardingExplainerExportSetsProperty, IsCompressedProperty,
+  CheckForChangesProperty,
+} from '@/figmaStorage';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { Properties } from '@/constants/Properties';
+import { TokenFormatOptions } from './TokenFormatStoreClass';
+import { ClientStorageProperty } from '@/figmaStorage/ClientStorageProperty';
+import { getFileKey } from './helpers';
+ 
+// @TODO fix typings
+ 
+export function returnValueToLookFor(key: string) {
+  switch (key) {
+    case 'tokenName':
+      return 'name';
+    case 'description':
+      return 'description';
+    case 'tokenValue':
+      return 'rawValue';
+    case 'value':
+      return 'value';
+    default:
+      return 'value';
+  }
+}
+ 
+const borderPropertyMap = new Map<Properties, string>([
+  [Properties.border, 'border'],
+  [Properties.borderTop, 'borderTop'],
+  [Properties.borderRight, 'borderRight'],
+  [Properties.borderBottom, 'borderBottom'],
+  [Properties.borderLeft, 'borderLeft'],
+]);
+ 
+type MapValuesToTokensResult = Record<string, string | number | SingleToken['value'] | {
+  property: string
+  value?: SingleToken['value'];
+}[]>;
+ 
+// TODO: It feels unecessary to do this like that. whats up with the modify? cant we do that upfront before we send tokens to the document?
+// Ideally, we would build this object upfront so we would not have to iterate over this at all, but could just .get a token and then get the property of it
+// Tokens: The full tokens map
+// Values: The values applied to the node
+export function mapValuesToTokens(tokens: Map<string, AnyTokenList[number]>, values: NodeTokenRefMap): MapValuesToTokensResult {
+  const mappedValues = Object.entries(values).reduce<MapValuesToTokensResult>((acc, [key, tokenOnNode]) => {
+    const resolvedToken = tokens.get(tokenOnNode);
+ 
+    if (!resolvedToken) return acc;
+    if (isSingleToken(resolvedToken)) {
+      // We only do this for rawValue as its a documentation and we want to show this to the user
+      if (returnValueToLookFor(key) === 'rawValue' && resolvedToken.$extensions?.['studio.tokens']?.modify) {
+        const modifier = resolvedToken.$extensions?.['studio.tokens']?.modify;
+        if (modifier) {
+          acc[key] = modifier.type === ColorModifierTypes.MIX ? `${resolvedToken.rawValue} / mix(${modifier.color}, ${modifier.value}) / ${modifier.space}` : `${resolvedToken.rawValue} / ${modifier.type}(${modifier.value}) / ${modifier.space}`;
+        }
+      } else if (key === TokenTypes.COMPOSITION) {
+        Object.entries(resolvedToken.value).forEach(([property, value]) => {
+          // Assign the actual value of a composition token property to the applied values
+          acc[property as Properties] = value;
+          // If we're dealing with border tokens we want to extract the color part to be applied (we can only apply color on the whole border, not individual sides)
+          if (typeof value === 'object' && borderPropertyMap.get(property as Properties) && 'color' in value && typeof value.color === 'string') {
+            acc.borderColor = value.color;
+          }
+        });
+      } else if (returnValueToLookFor(key) === 'description') {
+        // Not all tokens have a description, so we need to treat it special
+        acc[key] = resolvedToken.description ? resolvedToken.description : 'No description';
+      } else if (
+        borderPropertyMap.get(key as Properties)
+        && resolvedToken.type === TokenTypes.BORDER
+        && typeof resolvedToken.value === 'object'
+        && 'color' in resolvedToken.value && resolvedToken.value.color
+        && !('borderColor' in acc)) {
+        // Same as above, if we're dealing with border tokens we want to extract the color part to be applied (we can only apply color on the whole border, not individual sides)
+        acc.borderColor = resolvedToken.value.color;
+        // We return the value because the token holds its values in the 'value' prop
+        acc[key] = resolvedToken.value;
+      } else {
+        // Otherwise, try to apply the key, if we dont have it, apply the value
+        acc[key] = resolvedToken[returnValueToLookFor(key)] || resolvedToken.value;
+      }
+    } else {
+      acc[key] = resolvedToken;
+    }
+ 
+    return acc;
+  }, {});
+  return mappedValues;
+}
+ 
+export async function getSavedStorageType(): Promise<StorageType> {
+  // the saved storage types will never contain credentials
+  // as they should not be shared across
+  const storageType = await StorageTypeProperty.read(figma.root);
+ 
+  if (storageType) {
+    return storageType;
+  }
+  return { provider: StorageProviderType.LOCAL };
+}
+ 
+export async function getTokenData(): Promise<{
+  values: TokenStore['values'];
+  themes: ThemeObjectsList
+  activeTheme: string | Record<string, string>
+  updatedAt: string;
+  version: string;
+  checkForChanges: boolean | null
+  collapsedTokenSets: string[] | null
+  tokenFormat: TokenFormatOptions | null
+} | null> {
+  try {
+    const isCompressed = await IsCompressedProperty.read(figma.root) ?? false;
+    const storageType = await getSavedStorageType();
+    let values = {};
+    let themes: ThemeObjectsList = [];
+    const fileKey = await getFileKey();
+    const prefix = `${fileKey}/tokens`;
+ 
+    if (storageType.provider === StorageProviderType.LOCAL) {
+      values = await ValuesProperty.read(figma.root, isCompressed) ?? {};
+      themes = await ThemesProperty.read(figma.root, isCompressed) ?? [];
+    } else {
+      values = await ClientStorageProperty.read(`${prefix}/values`) ?? {};
+      themes = await ClientStorageProperty.read(`${prefix}/themes`) ?? [];
+ 
+      // To account for the migration period, if client storage is empty, try reading from ValuesProperty and ThemesProperty to ensure local changes are not lost
+      if (Object.keys(values).length === 0) {
+        values = await ValuesProperty.read(figma.root, isCompressed) ?? {};
+      }
+      if (themes.length === 0) {
+        themes = await ThemesProperty.read(figma.root, isCompressed) ?? [];
+      }
+    }
+ 
+    const activeTheme = await ActiveThemeProperty.read(figma.root) ?? {};
+    const version = await VersionProperty.read(figma.root);
+    const updatedAt = await UpdatedAtProperty.read(figma.root);
+    const checkForChanges = await ClientStorageProperty.read(`${prefix}/checkForChanges`) ?? await CheckForChangesProperty.read(figma.root) ?? false;
+    const collapsedTokenSets = await CollapsedTokenSetsProperty.read(figma.root);
+    const tokenFormat = await TokenFormatProperty.read(figma.root);
+    if (Object.keys(values).length > 0) {
+      const tokenObject = Object.entries(values).reduce<Record<string, AnyTokenList>>((acc, [key, groupValues]) => {
+        acc[key] = typeof groupValues === 'string' ? JSON.parse(groupValues) : groupValues;
+        return acc;
+      }, {});
+      return {
+        values: tokenObject as TokenStore['values'],
+        themes,
+        activeTheme,
+        updatedAt: updatedAt || '',
+        version: version || '',
+        checkForChanges,
+        collapsedTokenSets,
+        tokenFormat: tokenFormat as TokenFormatOptions,
+      };
+    }
+  } catch (e) {
+    console.log('Error reading tokens', e);
+  }
+  return null;
+}
+ 
+// set storage type (i.e. local or some remote provider)
+export async function saveStorageType(context: StorageType) {
+  await StorageTypeProperty.write(context);
+}
+ 
+export async function saveOnboardingExplainerSets(onboardingExplainerSets: boolean) {
+  await OnboardingExplainerSetsProperty.write(onboardingExplainerSets);
+}
+ 
+export async function saveOnboardingExplainerExportSets(onboardingExplainerExportSets: boolean) {
+  await OnboardingExplainerExportSetsProperty.write(onboardingExplainerExportSets);
+}
+ 
+export async function saveOnboardingExplainerSyncProviders(onboardingExplainerSyncProviders: boolean) {
+  await OnboardingExplainerSyncProvidersProperty.write(onboardingExplainerSyncProviders);
+}
+ 
+export async function saveOnboardingExplainerInspect(onboardingExplainerInspect: boolean) {
+  await OnboardingExplainerInspectProperty.write(onboardingExplainerInspect);
+}
+ 
+export function goToNode(id: string) {
+  const node = figma.getNodeById(id);
+  if (
+    node
+    && node.type !== 'PAGE'
+    && node.type !== 'DOCUMENT'
+  ) {
+    figma.currentPage.selection = [node];
+    figma.viewport.scrollAndZoomIntoView([node]);
+  }
+}
+ 
+export function selectNodes(ids: string[]) {
+  const nodes = compact(ids.map(figma.getNodeById)).filter((node) => (
+    node.type !== 'PAGE' && node.type !== 'DOCUMENT'
+  )) as (Exclude<BaseNode, PageNode | DocumentNode>)[];
+  figma.currentPage.selection = nodes;
+}
+// Tokens: The full token object
+// Values: The values applied to the node
+export function destructureTokenForAlias(tokens: Map<string, AnyTokenList[number]>, values: NodeTokenRefMap): MapValuesToTokensResult {
+  if (values && values.composition) {
+    const resolvedToken = tokens.get(values.composition);
+    const tokensInCompositionToken: NodeTokenRefMap = {};
+    if (resolvedToken?.rawValue) {
+      Object.entries(resolvedToken?.rawValue).forEach(([property, value]) => {
+        let tokenName: string = resolvedToken.name;
+        if (String(value).startsWith('$')) tokenName = String(value).slice(1, String(value).length);
+        if (String(value).startsWith('{')) tokenName = String(value).slice(1, String(value).length - 1);
+        tokensInCompositionToken[property as CompositionTokenProperty] = tokenName;
+      });
+      const { composition, ...objExcludedCompositionToken } = values;
+      values = { ...tokensInCompositionToken, ...objExcludedCompositionToken };
+    }
+  }
+  if (values && values.border && !values.borderColor && !values.borderWidth) {
+    // if we have a border token we must convert the color variable out of it given how our resolution logic works
+    const resolvedToken = tokens.get(values.border as string);
+    if (resolvedToken && resolvedToken.resolvedValueWithReferences) {
+      if (typeof resolvedToken.resolvedValueWithReferences === 'object') {
+        if ('color' in resolvedToken.resolvedValueWithReferences) {
+          const borderColorTokenName = (resolvedToken.resolvedValueWithReferences.color as string).replace('{', '').replace('}', '');
+          values.borderColor = borderColorTokenName;
+        }
+        if ('width' in resolvedToken.resolvedValueWithReferences) {
+          const borderWidthTokenName = (resolvedToken.resolvedValueWithReferences.width as string).replace('{', '').replace('}', '');
+          values.borderWidth = borderWidthTokenName;
+        }
+      }
+    }
+    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.border }) };
+  }
+  if (values && values.borderTop) {
+    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderTop }) };
+  }
+  if (values && values.borderRight) {
+    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderRight }) };
+  }
+  if (values && values.borderLeft) {
+    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderLeft }) };
+  }
+  if (values && values.borderBottom) {
+    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderBottom }) };
+  }
+  return values;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html new file mode 100644 index 000000000..a378cdf5c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html @@ -0,0 +1,676 @@ + + + + + + Code coverage report for src/plugin/notifiers.ts + + + + + + + + + +
+
+

All files / src/plugin notifiers.ts

+
+ +
+ 15.38% + Statements + 2/13 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 16.66% + Functions + 2/12 +
+ + +
+ 15.38% + Lines + 2/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  MessageFromPluginTypes,
+  PostToUIMessage,
+} from '@/types/messages';
+import { TokenStore } from '@/types/tokens';
+import { SelectionGroup } from '@/types/SelectionGroup';
+import { SelectionValue } from '@/types/SelectionValue';
+import { UpdateMode } from '@/constants/UpdateMode';
+import { AsyncMessageTypes, NotifyAsyncMessage } from '@/types/AsyncMessages';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { StorageTypeCredentials } from '@/types/StorageType';
+import { StyleToCreateToken, VariableToCreateToken } from '@/types/payloads';
+import { TokenFormatOptions } from './TokenFormatStoreClass';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import { ThemeObjectsList } from '@/types/ThemeObjectsList';
+ 
+export function notifyUI(msg: string, opts?: NotificationOptions) {
+  figma.notify(msg, opts);
+}
+ 
+export function notifyToUI(msg: string, opts: NotifyAsyncMessage['opts'] = {}) {
+  AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.NOTIFY,
+    msg,
+    opts,
+  });
+}
+ 
+export function postToUI(props: PostToUIMessage) {
+  figma.ui.postMessage(props);
+}
+ 
+export function notifyNoSelection() {
+  postToUI({
+    type: MessageFromPluginTypes.NO_SELECTION,
+  });
+}
+ 
+export function notifySelection({
+  selectionValues,
+  mainNodeSelectionValues,
+  selectedNodes,
+}: {
+  selectionValues: SelectionGroup[];
+  mainNodeSelectionValues: SelectionValue[];
+  selectedNodes: number;
+}) {
+  postToUI({
+    type: MessageFromPluginTypes.SELECTION,
+    selectionValues,
+    mainNodeSelectionValues,
+    selectedNodes,
+  });
+}
+ 
+export type SavedSettings = {
+  language: string,
+  sessionRecording: boolean;
+  width: number;
+  height: number;
+  showEmptyGroups: boolean
+  updateMode: UpdateMode;
+  updateRemote: boolean;
+  updateOnChange: boolean;
+  applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues;
+  shouldUpdateStyles: boolean;
+  variablesColor: boolean;
+  variablesNumber: boolean;
+  variablesString: boolean;
+  variablesBoolean: boolean;
+  stylesColor: boolean;
+  stylesTypography: boolean;
+  stylesEffect: boolean;
+  ignoreFirstPartForStyles: boolean;
+  createStylesWithVariableReferences: boolean;
+  prefixStylesWithThemeName: boolean;
+  renameExistingStylesAndVariables: boolean;
+  removeStylesAndVariablesWithoutConnection: boolean;
+  inspectDeep: boolean;
+  shouldSwapStyles: boolean;
+  baseFontSize: string;
+  aliasBaseFontSize: string;
+  storeTokenIdInJsonEditor: boolean;
+  tokenFormat: TokenFormatOptions;
+};
+ 
+export function notifyUISettings(
+  {
+    language,
+    sessionRecording,
+    width,
+    height,
+    updateMode,
+    updateOnChange,
+    applyVariablesStylesOrRawValue,
+    shouldUpdateStyles,
+    showEmptyGroups,
+    variablesColor,
+    variablesNumber,
+    variablesString,
+    variablesBoolean,
+    stylesColor,
+    stylesTypography,
+    stylesEffect,
+    ignoreFirstPartForStyles,
+    createStylesWithVariableReferences,
+    prefixStylesWithThemeName,
+    updateRemote = true,
+    inspectDeep,
+    shouldSwapStyles,
+    baseFontSize,
+    aliasBaseFontSize,
+    storeTokenIdInJsonEditor,
+    tokenFormat,
+    renameExistingStylesAndVariables,
+    removeStylesAndVariablesWithoutConnection,
+  }: SavedSettings,
+) {
+  postToUI({
+    type: MessageFromPluginTypes.UI_SETTINGS,
+    settings: {
+      uiWindow: {
+        width,
+        height,
+        isMinimized: false,
+      },
+      language,
+      sessionRecording,
+      updateMode,
+      updateRemote,
+      updateOnChange,
+      applyVariablesStylesOrRawValue,
+      shouldUpdateStyles,
+      variablesColor,
+      variablesBoolean,
+      variablesNumber,
+      variablesString,
+      stylesColor,
+      stylesEffect,
+      stylesTypography,
+      ignoreFirstPartForStyles,
+      createStylesWithVariableReferences,
+      prefixStylesWithThemeName,
+      inspectDeep,
+      shouldSwapStyles,
+      baseFontSize,
+      aliasBaseFontSize,
+      storeTokenIdInJsonEditor,
+      tokenFormat,
+      renameExistingStylesAndVariables,
+      removeStylesAndVariablesWithoutConnection,
+    },
+  });
+  postToUI({
+    type: MessageFromPluginTypes.SHOW_EMPTY_GROUPS,
+    showEmptyGroups,
+  });
+}
+ 
+export function notifyAPIProviders(providers: StorageTypeCredentials[]) {
+  postToUI({ type: MessageFromPluginTypes.API_PROVIDERS, providers });
+}
+ 
+export function notifyStyleValues(values: Record<string, StyleToCreateToken[]>) {
+  postToUI({ type: MessageFromPluginTypes.STYLES, values });
+}
+ 
+export function notifyVariableValues(
+  values: Record<string, VariableToCreateToken[]>,
+  themes?: ThemeObjectsList,
+) {
+  postToUI({
+    type: MessageFromPluginTypes.VARIABLES,
+    values,
+    themes,
+  });
+}
+ 
+export function notifySetTokens(values: TokenStore) {
+  postToUI({ type: MessageFromPluginTypes.SET_TOKENS, values });
+}
+ 
+export function notifyException(error: string, opts = {}) {
+  postToUI({
+    type: MessageFromPluginTypes.NOTIFY_EXCEPTION,
+    error,
+    opts,
+  });
+}
+ 
+export function trackFromPlugin(title: string, opts = {}) {
+  postToUI({
+    type: MessageFromPluginTypes.TRACK_FROM_PLUGIN,
+    title,
+    opts,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html new file mode 100644 index 000000000..93efa72ad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/plugin/performCodeGen.ts + + + + + + + + + +
+
+

All files / src/plugin performCodeGen.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export function performCodeGen(event: any): CodegenResult[] {
+  const tokenKeys = Object.keys(Properties);
+ 
+  const code = tokenKeys
+    .map((key) => {
+      const value = event.node.getSharedPluginData('tokens', key);
+ 
+      return value && `${key}: ${value};`;
+    })
+    .filter((x) => x)
+    .join('\n');
+ 
+  return [
+    {
+      language: 'CSS',
+      code: code === '' ? '/* No tokens found */' : code,
+      title: 'Applied tokens (Tokens Studio)',
+    },
+  ];
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html new file mode 100644 index 000000000..fe969defa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html @@ -0,0 +1,505 @@ + + + + + + Code coverage report for src/plugin/pluginData.ts + + + + + + + + + +
+
+

All files / src/plugin pluginData.ts

+
+ +
+ 0% + Statements + 0/57 +
+ + +
+ 0% + Branches + 0/27 +
+ + +
+ 0% + Functions + 0/20 +
+ + +
+ 0% + Lines + 0/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import get from 'just-safe-get';
+import { isEqual } from '@/utils/isEqual';
+import { Properties } from '@/constants/Properties';
+import { notifySelection } from './notifiers';
+import removeValuesFromNode from './removeValuesFromNode';
+import { NodeManagerNode } from './NodeManager';
+import { tokensSharedDataHandler } from './SharedDataHandler';
+import { SelectionGroup, SelectionValue } from '@/types';
+import { TokenTypes } from '@/constants/TokenTypes';
+import getAppliedStylesFromNode from './getAppliedStylesFromNode';
+import getAppliedVariablesFromNode from './getAppliedVariablesFromNode';
+ 
+// @TODO FIX TYPINGS! Missing or bad typings are very difficult for other developers to work in
+ 
+export function transformPluginDataToSelectionValues(pluginData: NodeManagerNode[]): SelectionGroup[] {
+  const selectionValues = pluginData.reduce<SelectionGroup[]>((acc, curr) => {
+    const { tokens, id, node: { name, type } } = curr;
+    // First we add plugin tokens
+    Object.entries(tokens).forEach(([key, value]) => {
+      const existing = acc.find((item) => item.type === key && item.value === value);
+      if (existing) {
+        existing.nodes.push({ id, name, type });
+      } else {
+        const category = get(Properties, key) as Properties | TokenTypes;
+ 
+        acc.push({
+          value, type: key, category, nodes: [{ id, name, type }], appliedType: 'token',
+        });
+      }
+    });
+ 
+    // Second we add variables
+    const localVariables = getAppliedVariablesFromNode(curr.node);
+    localVariables.forEach((variable) => {
+      // Check if the token has been applied. If the token has been applied then we don't add variable.
+      const isTokenApplied = acc.find((item) => item.type === variable.type && item.nodes.find((node) => isEqual(node, { id, name, type })));
+      if (!isTokenApplied) {
+        const category = get(Properties, variable.type) as Properties | TokenTypes;
+        acc.push({
+          value: variable.name,
+          type: variable.type,
+          category,
+          nodes: [{ id, name, type }],
+          resolvedValue: variable.value,
+          appliedType: 'variable',
+        });
+      }
+    });
+ 
+    // Third we add styles
+    const localStyles = getAppliedStylesFromNode(curr.node);
+    localStyles.forEach((style) => {
+      // Check if the token or variable has been applied. If the token has been applied then we don't add style.
+      const isTokenApplied = acc.find((item) => item.type === style.type && item.nodes.find((node) => isEqual(node, { id, name, type })));
+      if (!isTokenApplied) {
+        const category = get(Properties, style.type) as Properties | TokenTypes;
+        acc.push({
+          value: style.name,
+          type: style.type,
+          category,
+          nodes: [{ id, name, type }],
+          resolvedValue: style.value,
+          appliedType: 'style',
+        });
+      }
+    });
+    return acc;
+  }, []);
+ 
+  return selectionValues;
+}
+ 
+export function transformPluginDataToMainNodeSelectionValues(pluginData: NodeManagerNode[]): SelectionValue[] {
+  const mainNodeSelectionValues = pluginData.reduce<SelectionValue[]>((acc, curr) => {
+    // Fist we add styles. And then variables. This way, styles will be override by the variables
+    const localStyles = getAppliedStylesFromNode(curr.node);
+    localStyles.forEach((style) => {
+      acc.push({
+        [style.type]: style.name,
+      });
+    });
+ 
+    // Second we add variables. And then tokens. This way, variables will be override by the tokens
+    const localVariables = getAppliedVariablesFromNode(curr.node);
+    localVariables.forEach((style) => {
+      acc.push({
+        [style.type]: style.name,
+      });
+    });
+    acc.push(curr.tokens);
+    return acc;
+  }, []);
+  return mainNodeSelectionValues;
+}
+ 
+export type SelectionContent = {
+  selectionValues?: SelectionGroup[]
+  mainNodeSelectionValues: SelectionValue[]
+  selectedNodes: number
+};
+ 
+export async function sendPluginValues({ nodes, shouldSendSelectionValues }: { nodes: readonly NodeManagerNode[], shouldSendSelectionValues: boolean }): Promise<SelectionContent> {
+  // Big O(n ^ 2 * m) (n = amount of nodes, m = amount of applied tokens in the node)
+  let mainNodeSelectionValues: SelectionValue[] = [];
+  let selectionValues;
+  // TODO: Handle all selected nodes share the same properties
+  // TODO: Handle many selected and mixed (for Tokens tab)
+  if (Array.isArray(nodes) && nodes?.length > 0) {
+    if (shouldSendSelectionValues) selectionValues = transformPluginDataToSelectionValues(nodes);
+    mainNodeSelectionValues = transformPluginDataToMainNodeSelectionValues(nodes);
+  }
+  const selectedNodes = figma.currentPage.selection.length;
+  notifySelection({ selectionValues: selectionValues ?? [], mainNodeSelectionValues, selectedNodes });
+  return { selectionValues, mainNodeSelectionValues, selectedNodes };
+}
+ 
+export async function removePluginData({ nodes, key, shouldRemoveValues = true }: { nodes: readonly (BaseNode | SceneNode)[], key?: Properties, shouldRemoveValues?: boolean }) {
+  return Promise.all(nodes.map(async (node) => {
+    if (key) {
+      tokensSharedDataHandler.set(node, key, '');
+      if (shouldRemoveValues) {
+        removeValuesFromNode(node, key);
+      }
+    } else {
+      Object.values(Properties).forEach((prop) => {
+        tokensSharedDataHandler.set(node, prop, '');
+        if (shouldRemoveValues) {
+          removeValuesFromNode(node, prop);
+        }
+      });
+    }
+  }));
+}
+ 
+export async function setNonePluginData({ nodes, key }: { nodes: readonly (BaseNode | SceneNode)[], key: Properties }) {
+  return Promise.all(nodes.map(async (node) => {
+    tokensSharedDataHandler.set(node, key, 'none');
+    removeValuesFromNode(node, key);
+  }));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html new file mode 100644 index 000000000..b7fb9a3ac --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/plugin/processTextStyleProperty.ts + + + + + + + + + +
+
+

All files / src/plugin processTextStyleProperty.ts

+
+ +
+ 0% + Statements + 0/23 +
+ + +
+ 0% + Branches + 0/28 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { StyleToCreateToken } from '@/types/payloads';
+import { SingleToken } from '@/types/tokens';
+ 
+export function processTextStyleProperty(
+  style: TextStyle,
+  propertyKey: string,
+  localVariables: Variable[],
+  tokens: any,
+  tokenType: TokenTypes,
+  defaultNamePrefix: string,
+  idx: number,
+  valueTransformer?: (value: any) => string,
+): StyleToCreateToken {
+  // Check if the style has a bound variable for this property
+  const boundVariables = style.boundVariables as Record<string, { id: string; } | undefined>;
+  if (boundVariables?.[propertyKey]?.id) {
+    const variable = localVariables.find((v) => v.id === boundVariables[propertyKey]?.id);
+    if (variable && tokens) {
+      const normalizedName = variable.name.replace(/\//g, '.');
+ 
+      // Look for an existing token with this name
+      const existingToken = Object.entries(tokens.values).reduce<SingleToken | null>((found, [_, tokenSet]) => {
+        if (found) return found;
+        const foundToken = Array.isArray(tokenSet) ? tokenSet.find((token) => typeof token === 'object'
+          && token !== null
+          && 'name' in token
+          && token.name === normalizedName) : null;
+        return foundToken || null;
+      }, null);
+ 
+      // If an existing token is found, use it
+      if (existingToken) {
+        return {
+          name: existingToken.name,
+          value: typeof existingToken.value === 'string' ? existingToken.value : String(existingToken.value),
+          type: tokenType,
+        };
+      }
+    }
+  }
+ 
+  // If no variable or existing token is found, create a new token
+  const styleValue = style[propertyKey as keyof TextStyle];
+  const transformedValue = valueTransformer ? valueTransformer(styleValue) : String(styleValue);
+ 
+  let tokenName = defaultNamePrefix;
+  if (idx !== undefined) {
+    if (tokenType === TokenTypes.FONT_WEIGHTS) {
+      tokenName = `${defaultNamePrefix}-${idx}`;
+    } else if (tokenType !== TokenTypes.FONT_FAMILIES) {
+      tokenName = `${defaultNamePrefix}.${idx}`;
+    }
+  }
+ 
+  return {
+    name: tokenName,
+    value: transformedValue,
+    type: tokenType,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html new file mode 100644 index 000000000..44c557d1f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html @@ -0,0 +1,1210 @@ + + + + + + Code coverage report for src/plugin/pullStyles.ts + + + + + + + + + +
+
+

All files / src/plugin pullStyles.ts

+
+ +
+ 0% + Statements + 0/153 +
+ + +
+ 0% + Branches + 0/50 +
+ + +
+ 0% + Functions + 0/44 +
+ + +
+ 0% + Lines + 0/135 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable no-param-reassign */
+import compact from 'just-compact';
+import { figmaRGBToHex } from '@figma-plugin/helpers';
+import { SingleColorToken } from '@/types/tokens';
+import { convertBoxShadowTypeFromFigma } from './figmaTransforms/boxShadow';
+import { convertFigmaGradientToString } from './figmaTransforms/gradients';
+import { convertFigmaToLetterSpacing } from './figmaTransforms/letterSpacing';
+import { convertFigmaToLineHeight } from './figmaTransforms/lineHeight';
+import { convertFigmaToTextCase } from './figmaTransforms/textCase';
+import { convertFigmaToTextDecoration } from './figmaTransforms/textDecoration';
+import { notifyStyleValues } from './notifiers';
+import { PullStyleOptions } from '@/types';
+import { slugify } from '@/utils/string';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenBoxshadowValue } from '@/types/values';
+import { StyleToCreateToken } from '@/types/payloads';
+import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
+import { getTokenData } from './node';
+import { processTextStyleProperty } from './processTextStyleProperty';
+import { findBoundVariable } from '@/utils/findBoundVariable';
+ 
+export default async function pullStyles(styleTypes: PullStyleOptions): Promise<void> {
+  const tokens = await getTokenData();
+  // @TODO should be specifically typed according to their type
+  let colors: StyleToCreateToken[] = [];
+  let typography: StyleToCreateToken[] = [];
+  let effects: StyleToCreateToken[] = [];
+  let fontFamilies: StyleToCreateToken[] = [];
+  let lineHeights: StyleToCreateToken[] = [];
+  let fontWeights: StyleToCreateToken[] = [];
+  let fontSizes: StyleToCreateToken[] = [];
+  let letterSpacing: StyleToCreateToken[] = [];
+  let paragraphSpacing: StyleToCreateToken[] = [];
+  let paragraphIndent: any[] = [];
+  let textCase: StyleToCreateToken[] = [];
+  let textDecoration: StyleToCreateToken[] = [];
+  if (styleTypes.colorStyles) {
+    colors = compact(
+      figma
+        .getLocalPaintStyles()
+        .filter((style) => style.paints.length === 1)
+        .map((style) => {
+          const paint = style.paints[0];
+          let styleObject: SingleColorToken | null = {} as SingleColorToken;
+          if (style.description) {
+            styleObject.description = style.description;
+          }
+          if (paint.type === 'SOLID') {
+            const { r, g, b } = paint.color;
+            const a = paint.opacity;
+            styleObject.value = figmaRGBToHex({
+              r,
+              g,
+              b,
+              a,
+            });
+          } else if (paint.type === 'GRADIENT_LINEAR') {
+            styleObject.value = convertFigmaGradientToString(paint);
+          } else {
+            styleObject = null;
+          }
+          const normalizedName = style.name
+            .split('/')
+            .map((section) => section.trim())
+            .join('.');
+ 
+          return styleObject
+            ? {
+              ...styleObject,
+              name: normalizedName,
+              type: TokenTypes.COLOR,
+            }
+            : null;
+        }),
+    );
+  }
+ 
+  if (styleTypes.textStyles) {
+    const rawFontSizes: number[] = [];
+    const fontCombinations: FontName[] = [];
+    const rawLineHeights: LineHeight[] = [];
+    const rawParagraphSpacing: number[] = [];
+    const rawParagraphIndent: number[] = [];
+    const rawLetterSpacing: LetterSpacing[] = [];
+    const rawTextCase: TextCase[] = [];
+    const rawTextDecoration: TextDecoration[] = [];
+ 
+    const figmaTextStyles = figma.getLocalTextStyles();
+    const localVariables = await getVariablesWithoutZombies();
+ 
+    figmaTextStyles.forEach((style) => {
+      if (!rawFontSizes.includes(style.fontSize)) rawFontSizes.push(style.fontSize);
+      fontCombinations.push(style.fontName);
+      rawLineHeights.push(style.lineHeight);
+      if (!rawParagraphSpacing.includes(style.paragraphSpacing)) rawParagraphSpacing.push(style.paragraphSpacing);
+      if (!rawParagraphIndent.includes(style.paragraphIndent)) rawParagraphIndent.push(style.paragraphIndent);
+      rawLetterSpacing.push(style.letterSpacing);
+      if (!rawTextCase.includes(style.textCase)) rawTextCase.push(style.textCase);
+      if (!rawTextDecoration.includes(style.textDecoration)) rawTextDecoration.push(style.textDecoration);
+    });
+ 
+    fontSizes = figmaTextStyles.map((style, idx) => processTextStyleProperty(
+      style,
+      'fontSize',
+      localVariables,
+      tokens,
+      TokenTypes.FONT_SIZES,
+      'fontSize',
+      idx,
+      (value) => value.toString(),
+    ));
+ 
+    const uniqueFontCombinations = fontCombinations.filter(
+      (v, i, a) => a.findIndex((t) => t.family === v.family && t.style === v.style) === i,
+    );
+ 
+    lineHeights = figmaTextStyles.map((style, idx) => processTextStyleProperty(
+      style,
+      'lineHeight',
+      localVariables,
+      tokens,
+      TokenTypes.LINE_HEIGHTS,
+      'lineHeights',
+      idx,
+      (value) => convertFigmaToLineHeight(value).toString(),
+    ));
+ 
+    fontWeights = uniqueFontCombinations.map((font, idx) => {
+      const matchingStyle = figmaTextStyles.find((style) => style.fontName.family === font.family
+ && style.fontName.style === font.style);
+ 
+      if (!matchingStyle) {
+        return {
+          name: `fontWeights.${slugify(font.family)}-${idx}`,
+          value: font.style,
+          type: TokenTypes.FONT_WEIGHTS,
+        };
+      }
+ 
+      return processTextStyleProperty(
+        matchingStyle,
+        'fontStyle',
+        localVariables,
+        tokens,
+        TokenTypes.FONT_WEIGHTS,
+        `fontWeights.${slugify(font.family)}`,
+        idx,
+        () => font.style,
+      );
+    });
+ 
+    fontFamilies = [...new Set(uniqueFontCombinations.map((font) => font.family))].map((fontFamily, idx) => {
+      const matchingStyle = figmaTextStyles.find((style) => style.fontName.family === fontFamily);
+ 
+      if (!matchingStyle) {
+        return {
+          name: `fontFamilies.${slugify(fontFamily)}`,
+          value: fontFamily,
+          type: TokenTypes.FONT_FAMILIES,
+        };
+      }
+ 
+      return processTextStyleProperty(
+        matchingStyle,
+        'fontFamily',
+        localVariables,
+        tokens,
+        TokenTypes.FONT_FAMILIES,
+        `fontFamilies.${slugify(fontFamily)}`,
+        idx,
+        () => fontFamily,
+      );
+    });
+ 
+    paragraphSpacing = figmaTextStyles.map((style, idx) => processTextStyleProperty(
+      style,
+      'paragraphSpacing',
+      localVariables,
+      tokens,
+      TokenTypes.PARAGRAPH_SPACING,
+      'paragraphSpacing',
+      idx,
+      (value) => value.toString(),
+    ));
+ 
+    paragraphIndent = rawParagraphIndent
+      .sort((a, b) => a - b)
+      .map((size, idx) => ({
+        name: `paragraphIndent.${idx}`,
+        value: `${size.toString()}px`,
+        type: TokenTypes.DIMENSION,
+      }));
+ 
+    letterSpacing = figmaTextStyles.map((style, idx) => processTextStyleProperty(
+      style,
+      'letterSpacing',
+      localVariables,
+      tokens,
+      TokenTypes.LETTER_SPACING,
+      'letterSpacing',
+      idx,
+      (value) => convertFigmaToLetterSpacing(value).toString(),
+    ));
+ 
+    textCase = rawTextCase.map((value) => ({
+      name: `textCase.${convertFigmaToTextCase(value)}`,
+      value: convertFigmaToTextCase(value),
+      type: TokenTypes.TEXT_CASE,
+    }));
+ 
+    textDecoration = rawTextDecoration.map((value) => ({
+      name: `textDecoration.${convertFigmaToTextDecoration(value)}`,
+      value: convertFigmaToTextDecoration(value),
+      type: TokenTypes.TEXT_DECORATION,
+    }));
+ 
+    typography = figmaTextStyles.map((style) => {
+      const foundFamily = fontFamilies.find(
+        findBoundVariable(
+          style,
+          'fontFamily',
+          localVariables,
+          (el) => el.value === style.fontName.family,
+        ),
+      );
+ 
+      const foundFontWeight = fontWeights.find(
+        findBoundVariable(
+          style,
+          'fontStyle',
+          localVariables,
+          (el) => el.name.includes(slugify(style.fontName.family)) && el.value === style.fontName?.style,
+        ),
+      );
+ 
+      const foundLineHeight = lineHeights.find(
+        findBoundVariable(
+          style,
+          'lineHeight',
+          localVariables,
+          (el) => el.value === convertFigmaToLineHeight(style.lineHeight).toString(),
+        ),
+      );
+      const foundFontSize = fontSizes.find(
+        findBoundVariable(
+          style,
+          'fontSize',
+          localVariables,
+          (el) => el.value === style.fontSize.toString(),
+        ),
+      );
+      const foundLetterSpacing = letterSpacing.find(
+        findBoundVariable(
+          style,
+          'letterSpacing',
+          localVariables,
+          (el) => el.value === convertFigmaToLetterSpacing(style.letterSpacing).toString(),
+        ),
+      );
+      const foundParagraphSpacing = paragraphSpacing.find((el: StyleToCreateToken) => {
+        if (style.boundVariables?.paragraphSpacing?.id) {
+          const paragraphSpacingVar = localVariables.find((v) => v.id === style.boundVariables?.paragraphSpacing?.id);
+          if (paragraphSpacingVar) {
+            const normalizedName = paragraphSpacingVar.name.replace(/\//g, '.');
+            return el.name === normalizedName;
+          }
+        }
+        return el.value === style.paragraphSpacing.toString();
+      });
+      const foundParagraphIndent = paragraphIndent.find(
+        (el: StyleToCreateToken) => el.value === `${style.paragraphIndent.toString()}px`,
+      );
+      const foundTextCase = textCase.find(
+        (el: StyleToCreateToken) => el.value === convertFigmaToTextCase(style.textCase.toString()),
+      );
+      const foundTextDecoration = textDecoration.find(
+        (el: StyleToCreateToken) => el.value === convertFigmaToTextDecoration(style.textDecoration.toString()),
+      );
+ 
+      const obj = {
+        fontFamily: `{${foundFamily?.name}}`,
+        fontWeight: `{${foundFontWeight?.name}}`,
+        lineHeight: `{${foundLineHeight?.name}}`,
+        fontSize: `{${foundFontSize?.name}}`,
+        letterSpacing: `{${foundLetterSpacing?.name}}`,
+        paragraphSpacing: `{${foundParagraphSpacing?.name}}`,
+        paragraphIndent: `{${foundParagraphIndent?.name}}`,
+        textCase: `{${foundTextCase?.name}}`,
+        textDecoration: `{${foundTextDecoration?.name}}`,
+      };
+ 
+      const normalizedName = style.name
+        .split('/')
+        .map((section) => section.trim())
+        .join('.');
+ 
+      const styleObject: StyleToCreateToken = { name: normalizedName, value: obj, type: TokenTypes.TYPOGRAPHY };
+ 
+      if (style.description) {
+        styleObject.description = style.description;
+      }
+ 
+      return styleObject;
+    });
+  }
+ 
+  if (styleTypes.effectStyles) {
+    effects = compact(
+      figma
+        .getLocalEffectStyles()
+        .filter((style) => style.effects.every((effect) => ['DROP_SHADOW', 'INNER_SHADOW'].includes(effect.type)))
+        .map((style) => {
+          const styleEffects = style.effects as DropShadowEffect[];
+          const reversedEffects = [...styleEffects].reverse();
+          // convert paint to object containg x, y, spread, color
+          const shadows: TokenBoxshadowValue[] = reversedEffects.map((effect) => {
+            const effectObject: TokenBoxshadowValue = {} as TokenBoxshadowValue;
+ 
+            effectObject.color = figmaRGBToHex(effect.color);
+            effectObject.type = convertBoxShadowTypeFromFigma(effect.type);
+            effectObject.x = effect.offset.x;
+            effectObject.y = effect.offset.y;
+            effectObject.blur = effect.radius;
+            effectObject.spread = effect.spread || 0;
+ 
+            return effectObject;
+          });
+ 
+          if (!shadows) return null;
+ 
+          const normalizedName = style.name
+            .split('/')
+            .map((section) => section.trim())
+            .join('.');
+ 
+          const styleObject: StyleToCreateToken = {
+            value: shadows.length > 1 ? shadows : shadows[0],
+            type: TokenTypes.BOX_SHADOW,
+            name: normalizedName,
+          };
+          if (style.description) {
+            styleObject.description = style.description;
+          }
+ 
+          return styleObject;
+        }),
+    );
+  }
+ 
+  const stylesObject = {
+    colors,
+    effects,
+    fontFamilies,
+    lineHeights,
+    fontWeights,
+    fontSizes,
+    letterSpacing,
+    paragraphSpacing,
+    typography,
+    textCase,
+    textDecoration,
+    paragraphIndent,
+  };
+ 
+ type ResultObject = Record<string, StyleToCreateToken[]>;
+ 
+ const returnedObject = Object.entries(stylesObject).reduce<ResultObject>((acc, [key, value]) => {
+   if (value.length > 0) {
+     acc[key] = value;
+   }
+   return acc;
+ }, {});
+ 
+ notifyStyleValues(returnedObject);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html new file mode 100644 index 000000000..c00d467c0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html @@ -0,0 +1,925 @@ + + + + + + Code coverage report for src/plugin/pullVariables.ts + + + + + + + + + +
+
+

All files / src/plugin pullVariables.ts

+
+ +
+ 84.29% + Statements + 102/121 +
+ + +
+ 71.68% + Branches + 81/113 +
+ + +
+ 93.33% + Functions + 14/15 +
+ + +
+ 84.34% + Lines + 97/115 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281  +  +  +  +  +  +  +  +  +  +  +7x +7x +7x +7x +7x +  +7x +7x +2x +2x +2x +2x +  +  +  +2x +  +  +  +7x +  +7x +  +  +  +  +  +  +7x +  +  +  +  +  +7x +42x +42x +7x +7x +7x +  +  +28x +  +7x +  +  +  +  +42x +12x +12x +6x +  +  +  +36x +36x +  +  +36x +36x +36x +  +6x +  +24x +4x +4x +2x +  +  +  +  +  +22x +  +  +  +22x +  +  +53x +22x +22x +  +  +  +  +  +  +  +  +6x +  +6x +  +24x +4x +4x +2x +  +  +  +53x +  +22x +  +  +  +22x +  +  +22x +  +  +  +  +  +  +  +6x +  +6x +  +24x +4x +4x +2x +  +  +  +53x +  +22x +  +  +  +22x +  +  +22x +  +  +  +  +  +  +  +6x +  +18x +  +72x +12x +12x +6x +  +  +  +66x +66x +  +  +66x +66x +24x +42x +12x +  +30x +  +  +159x +  +66x +36x +  +  +  +  +  +  +  +30x +  +  +  +  +  +  +  +  +18x +  +  +  +  +  +  +  +  +7x +  +  +  +  +  +  +  +  +  +7x +  +7x +1x +  +1x +  +  +  +  +  +  +1x +  +4x +  +  +  +  +  +  +24x +  +4x +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +7x +35x +24x +  +35x +  +7x +  +  +  +  +  + 
import { figmaRGBToHex } from '@figma-plugin/helpers';
+import { notifyVariableValues } from './notifiers';
+import { PullVariablesOptions, ThemeObjectsList } from '@/types';
+import { VariableToCreateToken } from '@/types/payloads';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { normalizeVariableName } from '@/utils/normalizeVariableName';
+ 
+export default async function pullVariables(options: PullVariablesOptions, themes: ThemeObjectsList, proUser: boolean): Promise<void> {
+  // @TODO should be specifically typed according to their type
+  const colors: VariableToCreateToken[] = [];
+  const booleans: VariableToCreateToken[] = [];
+  const strings: VariableToCreateToken[] = [];
+  const numbers: VariableToCreateToken[] = [];
+  const dimensions: VariableToCreateToken[] = [];
+ 
+  let baseRem = 16;
+  if (options.useRem) {
+    const uiSettings = await figma.clientStorage.getAsync('uiSettings');
+    const settings = JSON.parse(await uiSettings);
+    Eif (settings?.baseFontSize) {
+      const baseFontSizeValue = typeof settings.baseFontSize === 'number'
+        ? settings.baseFontSize
+        : parseFloat(settings.baseFontSize);
+ 
+      baseRem = !isNaN(baseFontSizeValue) ? Number(baseFontSizeValue) : 16;
+    }
+  }
+ 
+  const localVariables = await getVariablesWithoutZombies();
+ 
+  const collections = new Map<string, {
+    id: string,
+    name: string,
+    modes: { name: string, modeId: string }[]
+  }>();
+ 
+  // Cache for collection lookups
+  const collectionsCache = new Map<string, {
+    id: string,
+    name: string,
+    modes: { name: string, modeId: string }[]
+  }>();
+ 
+  for (const variable of localVariables) {
+    let collection = collectionsCache.get(variable.variableCollectionId);
+    if (!collection) {
+      const collectionData = await figma.variables.getVariableCollectionByIdAsync(variable.variableCollectionId);
+      Eif (collectionData) {
+        collection = {
+          id: collectionData.id,
+          name: collectionData.name,
+          modes: collectionData.modes.map((mode) => ({ name: mode.name, modeId: mode.modeId })),
+        };
+        collectionsCache.set(variable.variableCollectionId, collection);
+      }
+    }
+ 
+    // Filter collections and modes based on selectedCollections option
+    if (options.selectedCollections && collection) {
+      const selectedCollection = options.selectedCollections[collection.id];
+      if (!selectedCollection) {
+        continue; // Skip this collection if it's not selected
+      }
+    }
+    
+    Eif (collection) {
+      collections.set(collection.name, collection);
+    }
+ 
+    const variableName = normalizeVariableName(variable.name);
+    try {
+      switch (variable.resolvedType) {
+        case 'COLOR':
+          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
+            // Filter modes based on selectedCollections option
+            if (options.selectedCollections && collection) {
+              const selectedCollection = options.selectedCollections[collection.id];
+              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
+                return; // Skip this mode if it's not selected
+              }
+            }
+ 
+            let tokenValue;
+ 
+            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
+              const alias = figma.variables.getVariableById(value.id);
+              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
+            } else {
+              tokenValue = figmaRGBToHex(value as RGBA);
+            }
+ 
+            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
+            Eif (tokenValue) {
+              colors.push({
+                name: variableName,
+                value: tokenValue as string,
+                type: TokenTypes.COLOR,
+                parent: `${collection?.name}/${modeName}`,
+                ...(variable.description ? { description: variable.description } : {}),
+              });
+            }
+          });
+          break;
+        case 'BOOLEAN':
+          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
+            // Filter modes based on selectedCollections option
+            if (options.selectedCollections && collection) {
+              const selectedCollection = options.selectedCollections[collection.id];
+              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
+                return; // Skip this mode if it's not selected
+              }
+            }
+ 
+            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
+            let tokenValue;
+            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
+              const alias = figma.variables.getVariableById(value.id);
+              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
+            } else {
+              tokenValue = JSON.stringify(value);
+            }
+ 
+            booleans.push({
+              name: variableName,
+              value: tokenValue,
+              type: TokenTypes.BOOLEAN,
+              parent: `${collection?.name}/${modeName}`,
+              ...(variable.description ? { description: variable.description } : {}),
+            });
+          });
+          break;
+        case 'STRING':
+          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
+            // Filter modes based on selectedCollections option
+            if (options.selectedCollections && collection) {
+              const selectedCollection = options.selectedCollections[collection.id];
+              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
+                return; // Skip this mode if it's not selected
+              }
+            }
+ 
+            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
+            let tokenValue;
+            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
+              const alias = figma.variables.getVariableById(value.id);
+              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
+            } else {
+              tokenValue = value;
+            }
+ 
+            strings.push({
+              name: variableName,
+              value: tokenValue as string,
+              type: TokenTypes.TEXT,
+              parent: `${collection?.name}/${modeName}`,
+              ...(variable.description ? { description: variable.description } : {}),
+            });
+          });
+          break;
+        case 'FLOAT':
+          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
+            // Filter modes based on selectedCollections option
+            if (options.selectedCollections && collection) {
+              const selectedCollection = options.selectedCollections[collection.id];
+              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
+                return; // Skip this mode if it's not selected
+              }
+            }
+ 
+            let tokenValue: string | number = value as number;
+            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
+              const alias = figma.variables.getVariableById(value.id);
+              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
+            } else Eif (typeof value === 'number') {
+              if (options.useRem) {
+                tokenValue = `${Number((Number(tokenValue) / parseFloat(String(baseRem))).toFixed(3))}rem`;
+              } else if (options.useDimensions) {
+                tokenValue = `${Number(tokenValue.toFixed(3))}px`;
+              } else {
+                tokenValue = Number(tokenValue.toFixed(3));
+              }
+            }
+            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
+ 
+            if (options.useDimensions || options.useRem) {
+              dimensions.push({
+                name: variableName,
+                value: tokenValue as string,
+                type: TokenTypes.DIMENSION,
+                parent: `${collection?.name}/${modeName}`,
+                ...(variable.description ? { description: variable.description } : {}),
+              });
+            } else {
+              numbers.push({
+                name: variableName,
+                value: tokenValue as string,
+                type: TokenTypes.NUMBER,
+                parent: `${collection?.name}/${modeName}`,
+                ...(variable.description ? { description: variable.description } : {}),
+              });
+            }
+          });
+          break;
+        default:
+          break;
+      }
+    } catch (error) {
+      console.error('Error while processing variable:', variableName, error);
+    }
+  }
+ 
+  const stylesObject = {
+    colors,
+    booleans,
+    strings,
+    numbers,
+    dimensions,
+  };
+ 
+  type ResultObject = Record<string, VariableToCreateToken[]>;
+ 
+  const themesToCreate: ThemeObjectsList = [];
+  // Process themes if pro user
+  if (proUser) {
+    await Promise.all(Array.from(collections.values()).map(async (collection) => {
+      // Filter collections based on selectedCollections option
+      Iif (options.selectedCollections) {
+        const selectedCollection = options.selectedCollections[collection.id];
+        if (!selectedCollection) {
+          return; // Skip this collection if it's not selected
+        }
+      }
+ 
+      await Promise.all(collection.modes.map(async (mode) => {
+        // Filter modes based on selectedCollections option
+        Iif (options.selectedCollections) {
+          const selectedCollection = options.selectedCollections[collection.id];
+          if (selectedCollection && !selectedCollection.selectedModes.includes(mode.modeId)) {
+            return; // Skip this mode if it's not selected
+          }
+        }
+ 
+        const collectionVariables = localVariables.filter((v) => v.variableCollectionId === collection.id);
+ 
+        const variableReferences = collectionVariables.reduce((acc, variable) => ({
+          ...acc,
+          [normalizeVariableName(variable.name)]: variable.key,
+        }), {});
+ 
+        themesToCreate.push({
+          id: `${collection.name.toLowerCase()}-${mode.name.toLowerCase()}`,
+          name: mode.name,
+          group: collection.name,
+          selectedTokenSets: {
+            [`${collection.name}/${mode.name}`]: TokenSetStatus.ENABLED,
+          },
+          $figmaStyleReferences: {},
+          $figmaVariableReferences: variableReferences,
+          $figmaModeId: mode.modeId,
+          $figmaCollectionId: collection.id,
+        });
+      }));
+    }));
+  }
+ 
+  try {
+    const processedTokens = Object.entries(stylesObject).reduce<ResultObject>((acc, [key, value]) => {
+      if (value.length > 0) {
+        acc[key] = value;
+      }
+      return acc;
+    }, {});
+    notifyVariableValues(processedTokens, themesToCreate);
+  } catch (error) {
+    console.error('Error processing results:', error);
+    notifyVariableValues({});
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html new file mode 100644 index 000000000..f930056b9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/plugin/removePluginDataByMap.ts + + + + + + + + + +
+
+

All files / src/plugin removePluginDataByMap.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import { postToUI } from './notifiers';
+import removeValuesFromNode from './removeValuesFromNode';
+import { tokensSharedDataHandler } from './SharedDataHandler';
+import { defaultWorker } from './Worker';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { ProgressTracker } from './ProgressTracker';
+ 
+export async function removePluginDataByMap({ nodeKeyMap }: { nodeKeyMap: readonly ({ node: BaseNode | SceneNode; key: Properties; })[]; }) {
+  postToUI({
+    type: MessageFromPluginTypes.START_JOB,
+    job: {
+      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+      timePerTask: 2,
+      completedTasks: 0,
+      totalTasks: nodeKeyMap.length,
+    },
+  });
+ 
+  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
+  const promises: Set<Promise<void>> = new Set();
+  nodeKeyMap.forEach(async ({ node, key }) => {
+    promises.add(defaultWorker.schedule(async () => {
+      node.setPluginData(key, '');
+      tokensSharedDataHandler.set(node, key, '');
+      removeValuesFromNode(node, key);
+ 
+      tracker.next();
+      tracker.reportIfNecessary();
+    }));
+  });
+  await Promise.all(promises);
+  postToUI({
+    type: MessageFromPluginTypes.COMPLETE_JOB,
+    name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html new file mode 100644 index 000000000..1f141dda9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/plugin/removeStylesFromPlugin.ts + + + + + + + + + +
+
+

All files / src/plugin removeStylesFromPlugin.ts

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { DeleteTokenPayload } from '@/types/payloads';
+import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
+import { isMatchingStyle } from '@/utils/is/isMatchingStyle';
+ 
+export default async function removeStylesFromPlugin(token: DeleteTokenPayload) {
+  const effectStyles = figma.getLocalEffectStyles();
+  const paintStyles = figma.getLocalPaintStyles();
+  const textStyles = figma.getLocalTextStyles();
+  const allStyles = [...effectStyles, ...paintStyles, ...textStyles];
+ 
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+  const themesToContainToken = themeInfo.themes
+    .filter((theme) => Object.entries(theme.selectedTokenSets).some(
+      ([tokenSet, value]) => tokenSet === token.parent && value === TokenSetStatus.ENABLED,
+    ))
+    .map((filteredTheme) => filteredTheme.name);
+  const pathNames = themesToContainToken.map((theme) => convertTokenNameToPath(token.path, theme));
+ 
+  const allStyleIds = allStyles
+    .filter((style) => pathNames.some((pathName) => isMatchingStyle(pathName, style)))
+    .map((filteredStyle) => {
+      filteredStyle.remove();
+      return filteredStyle.id;
+    });
+  return allStyleIds;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html new file mode 100644 index 000000000..f5ac42747 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html @@ -0,0 +1,832 @@ + + + + + + Code coverage report for src/plugin/removeValuesFromNode.ts + + + + + + + + + +
+
+

All files / src/plugin removeValuesFromNode.ts

+
+ +
+ 0% + Statements + 0/147 +
+ + +
+ 0% + Branches + 0/206 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/144 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import { resetNodeRotation } from '@/plugin/rotateNode';
+ 
+function removeStrokeIfEmptySides(node) {
+  const sides = {
+    left: node.strokeLeftWeight, right: node.strokeRightWeight, top: node.strokeTopWeight, bottom: node.strokeBottomWeight,
+  };
+ 
+  if (!Object.values(sides).some((value) => value > 0)) {
+    node.strokes = [];
+  }
+}
+ 
+export default function removeValuesFromNode(node: BaseNode, prop: Properties) {
+  // BORDER RADIUS
+  switch (prop) {
+    case 'width':
+      if ('resize' in node) {
+        const oldWidth = node.width;
+        const oldHeight = node.height;
+        node.resize(0.1, oldHeight);
+        node.resize(oldWidth, oldHeight);
+      }
+      break;
+    case 'height':
+      if ('resize' in node) {
+        const oldWidth = node.width;
+        const oldHeight = node.height;
+        node.resize(oldWidth, 0.1);
+        node.resize(oldWidth, oldHeight);
+      }
+      break;
+    case 'borderRadius':
+      if (
+        'cornerRadius' in node
+        && typeof node.cornerRadius !== 'undefined'
+        && node.type !== 'SHAPE_WITH_TEXT'
+        && node.type !== 'CONNECTOR'
+      ) {
+        node.cornerRadius = 0;
+      }
+      break;
+    case 'borderRadiusTopLeft':
+      if ('topLeftRadius' in node && typeof node.topLeftRadius !== 'undefined') {
+        node.topLeftRadius = 0;
+      }
+      break;
+    case 'borderRadiusTopRight':
+      if ('topRightRadius' in node && typeof node.topRightRadius !== 'undefined') {
+        node.topRightRadius = 0;
+      }
+      break;
+    case 'borderRadiusBottomRight':
+      if ('bottomRightRadius' in node && typeof node.bottomRightRadius !== 'undefined') {
+        node.bottomRightRadius = 0;
+      }
+      break;
+    case 'borderRadiusBottomLeft':
+      if ('bottomLeftRadius' in node && typeof node.bottomLeftRadius !== 'undefined') {
+        node.bottomLeftRadius = 0;
+      }
+      break;
+    case 'borderWidth':
+      if ('strokeWeight' in node && typeof node.strokeWeight !== 'undefined') {
+        node.strokeWeight = 0;
+      }
+      break;
+    case 'borderWidthTop':
+      if ('strokeTopWeight' in node && typeof node.strokeWeight !== 'undefined') {
+        node.strokeWeight = 0;
+      }
+      break;
+    case 'borderWidthRight':
+      if ('strokeRightWeight' in node && typeof node.strokeWeight !== 'undefined') {
+        node.strokeWeight = 0;
+      }
+      break;
+    case 'borderWidthBottom':
+      if ('strokeBottomWeight' in node && typeof node.strokeWeight !== 'undefined') {
+        node.strokeWeight = 0;
+      }
+      break;
+    case 'borderWidthLeft':
+      if ('strokeLeftWeight' in node && typeof node.strokeWeight !== 'undefined') {
+        node.strokeWeight = 0;
+      }
+      break;
+    case 'boxShadow':
+      if ('effects' in node && typeof node.effects !== 'undefined') {
+        node.effects = node.effects.filter((effect) => effect.type !== 'DROP_SHADOW');
+      }
+      break;
+    case 'backgroundBlur':
+      if ('effects' in node && typeof node.effects !== 'undefined') {
+        node.effects = node.effects.filter((effect) => effect.type !== 'BACKGROUND_BLUR');
+      }
+      break;
+    case 'rotation':
+      if ('relativeTransform' in node && typeof node.relativeTransform !== 'undefined') {
+        resetNodeRotation(node);
+      }
+      break;
+    case 'opacity':
+      if (
+        'opacity' in node
+        && typeof node.opacity !== 'undefined'
+        && node.type !== 'STICKY'
+        && node.type !== 'SHAPE_WITH_TEXT'
+        && node.type !== 'CODE_BLOCK'
+        && node.type !== 'CONNECTOR'
+      ) {
+        node.opacity = 1;
+      }
+      break;
+    case 'fill':
+      if ('fills' in node && typeof node.fills !== 'undefined') {
+        node.fills = [];
+      }
+      break;
+    case 'borderColor':
+      if ('strokes' in node && typeof node.strokes !== 'undefined') {
+        node.strokes = [];
+      }
+      break;
+    case 'spacing':
+      if ('paddingLeft' in node && typeof node.paddingLeft !== 'undefined') {
+        node.paddingLeft = 0;
+        node.paddingRight = 0;
+        node.paddingTop = 0;
+        node.paddingBottom = 0;
+        node.itemSpacing = 0;
+      }
+      break;
+    case 'paddingTop':
+      if ('paddingTop' in node && typeof node.paddingTop !== 'undefined') {
+        node.paddingTop = 0;
+      }
+      break;
+    case 'paddingRight':
+      if ('paddingRight' in node && typeof node.paddingRight !== 'undefined') {
+        node.paddingRight = 0;
+      }
+      break;
+    case 'paddingBottom':
+      if ('paddingBottom' in node && typeof node.paddingBottom !== 'undefined') {
+        node.paddingBottom = 0;
+      }
+      break;
+    case 'paddingLeft':
+      if ('paddingLeft' in node && typeof node.paddingLeft !== 'undefined') {
+        node.paddingLeft = 0;
+      }
+      break;
+    case 'horizontalPadding':
+      if ('paddingLeft' in node && typeof node.paddingLeft !== 'undefined') {
+        node.paddingLeft = 0;
+        node.paddingRight = 0;
+      }
+      break;
+    case 'verticalPadding':
+      if ('paddingTop' in node && typeof node.paddingTop !== 'undefined') {
+        node.paddingTop = 0;
+        node.paddingBottom = 0;
+      }
+      break;
+    case 'itemSpacing':
+      if ('itemSpacing' in node && typeof node.itemSpacing !== 'undefined') {
+        node.itemSpacing = 0;
+      }
+      break;
+    case 'asset':
+      if ('fills' in node && typeof node.fills !== 'undefined') {
+        node.fills = [];
+      }
+      break;
+    case 'border':
+      if ('strokes' in node && typeof node.strokes !== 'undefined') {
+        node.strokes = [];
+      }
+      if ('strokeWeight' in node && typeof node.strokeWeight !== 'undefined') {
+        node.strokeWeight = 0;
+      }
+      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
+        node.dashPattern = [0, 0];
+      }
+      break;
+    case 'borderTop':
+      if ('strokeTopWeight' in node && typeof node.strokeTopWeight !== 'undefined') {
+        node.strokeTopWeight = 0;
+        removeStrokeIfEmptySides(node);
+      }
+      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
+        node.dashPattern = [0, 0];
+      }
+      break;
+    case 'borderRight':
+      if ('strokeRightWeight' in node && typeof node.strokeRightWeight !== 'undefined') {
+        node.strokeRightWeight = 0;
+        removeStrokeIfEmptySides(node);
+      }
+      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
+        node.dashPattern = [0, 0];
+      }
+      break;
+    case 'borderBottom':
+      if ('strokeBottomWeight' in node && typeof node.strokeBottomWeight !== 'undefined') {
+        node.strokeBottomWeight = 0;
+        removeStrokeIfEmptySides(node);
+      }
+      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
+        node.dashPattern = [0, 0];
+      }
+      break;
+    case 'borderLeft':
+      if ('strokeLeftWeight' in node && typeof node.strokeLeftWeight !== 'undefined') {
+        node.strokeLeftWeight = 0;
+        removeStrokeIfEmptySides(node);
+      }
+      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
+        node.dashPattern = [0, 0];
+      }
+      break;
+    case 'visibility':
+      if ('visible' in node && typeof node.visible !== 'undefined') {
+        node.visible = true;
+      }
+      break;
+    case 'textDecoration':
+      if ('textDecoration' in node && typeof node.textDecoration !== 'undefined') {
+        node.textDecoration = 'NONE';
+      }
+      break;
+    case 'dimension':
+      if ('itemSpacing' in node) {
+        node.itemSpacing = 0;
+      }
+      if ('resize' in node) {
+        if ('resize' in node) {
+          const oldWidth = node.width;
+          const oldHeight = node.height;
+          node.resize(0.1, 0.1);
+          node.resize(oldWidth, oldHeight);
+        }
+      }
+      break;
+    default:
+      break;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html new file mode 100644 index 000000000..8f4111a86 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/plugin/renameStylesFromPlugin.ts + + + + + + + + + +
+
+

All files / src/plugin renameStylesFromPlugin.ts

+
+ +
+ 0% + Statements + 0/28 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { TokensToRenamePayload } from '@/app/store/useTokens';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
+import { isMatchingStyle } from '@/utils/is';
+ 
+export default async function renameStylesFromPlugin(
+  tokensToRename: TokensToRenamePayload[],
+  parent: string,
+) {
+  const [effectStyles, paintStyles, textStyles] = await Promise.all([
+    figma.getLocalEffectStylesAsync(),
+    figma.getLocalPaintStylesAsync(),
+    figma.getLocalTextStylesAsync(),
+  ]);
+  const allStyles = [...effectStyles, ...paintStyles, ...textStyles];
+ 
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+ 
+  const themesToContainToken = themeInfo.themes.filter((theme) => Object.entries(theme.selectedTokenSets).some(([tokenSet, value]) => tokenSet === parent && value === TokenSetStatus.ENABLED)).map((filteredTheme) => filteredTheme.name);
+  let oldPathNames: string[] = [];
+  let newPathNames: string[] = [];
+ 
+  // TODO: This behavior feels so weird. We should refactor this to be more readable, also this can lead to unexpected side-effects.
+  tokensToRename.forEach((token) => {
+    oldPathNames = oldPathNames
+      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.oldName, theme)))
+      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.oldName, theme, 1)))
+      .concat(themesToContainToken.map(() => convertTokenNameToPath(token.oldName, null, 1)))
+      .concat(convertTokenNameToPath(token.oldName));
+    newPathNames = newPathNames
+      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.newName, theme)))
+      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.newName, theme, 1)))
+      .concat(themesToContainToken.map(() => convertTokenNameToPath(token.newName, null, 1)))
+      .concat(convertTokenNameToPath(token.newName));
+  });
+  const allStyleIds = allStyles.filter((style) => oldPathNames.some((oldPathName) => {
+    if (isMatchingStyle(oldPathName, style)) {
+      const index = oldPathNames.findIndex((item) => item === oldPathName);
+      style.name = newPathNames[index];
+      return true;
+    }
+    return false;
+  })).map((filteredStyle) => filteredStyle.id);
+ 
+  return allStyleIds;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html new file mode 100644 index 000000000..c1f2aa378 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/plugin/renameVariablesFromPlugin.ts + + + + + + + + + +
+
+

All files / src/plugin renameVariablesFromPlugin.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { TokenToRename } from '@/types/tokens';
+import { getVariablesMap } from '@/utils/getVariablesMap';
+ 
+export default async function renameVariablesFromPlugin(tokens: TokenToRename[]) {
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+  const variableMap = await getVariablesMap();
+  const renamedVariableToken = tokens.map((token) => {
+    const renamedVariableIds: string[] = [];
+    const originalVariableIdsToRename = themeInfo.themes.reduce<string[]>((acc, theme) => {
+      if (theme.$figmaVariableReferences?.[token.newName]) {
+        acc.push(theme.$figmaVariableReferences?.[token.newName]);
+      }
+      return acc;
+    }, []);
+    originalVariableIdsToRename.forEach((variableId) => {
+      const variable = variableMap[variableId];
+      if (variable) {
+        variable.name = token.newName.split('.').join('/');
+        renamedVariableIds.push(variable.key);
+      }
+    });
+    return {
+      ...token,
+      variableIds: renamedVariableIds,
+    };
+  });
+ 
+  return renamedVariableToken;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html new file mode 100644 index 000000000..7b9a0422d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/plugin/rotateNode.ts + + + + + + + + + +
+
+

All files / src/plugin rotateNode.ts

+
+ +
+ 0% + Statements + 0/34 +
+ + +
+ 0% + Branches + 0/20 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export const getCenterOfNode = (node: SceneNode) => {
+  if (!node.absoluteBoundingBox) {
+    return undefined;
+  }
+  const {
+    x, y, width, height,
+  } = node.absoluteBoundingBox;
+ 
+  // Get x,y of parent
+  let px = 0;
+  let py = 0;
+ 
+  if (node.parent && 'absoluteBoundingBox' in node.parent && node.parent.absoluteBoundingBox !== null) {
+    px = node.parent.absoluteBoundingBox.x;
+    py = node.parent.absoluteBoundingBox.y;
+  }
+  // Get diff of parent and child
+  const dx = x - px;
+  const dy = y - py;
+ 
+  const cx = dx + width / 2;
+  const cy = dy + height / 2;
+ 
+  return { x: cx, y: cy };
+};
+ 
+export const resetNodeRotation = (node: SceneNode) => {
+  const center = getCenterOfNode(node);
+  if (center && 'rotation' in node && node.absoluteBoundingBox) {
+    node.rotation = 0;
+    const { width, height } = node.absoluteBoundingBox;
+    node.x = center.x - width / 2;
+    node.y = center.y - height / 2;
+  }
+};
+ 
+export const rotateNode = (node: SceneNode, angle: number) => {
+  if (typeof angle === 'string') {
+    angle = parseInt(angle, 10);
+  }
+  if ('rotation' in node && node.absoluteBoundingBox) {
+    const theta = angle * (Math.PI / 180);
+    resetNodeRotation(node);
+    const center = getCenterOfNode(node);
+ 
+    node.rotation = angle;
+ 
+    if (center) {
+      const newx = Math.cos(theta) * node.x + node.y * Math.sin(theta) - center.y * Math.sin(theta) - center.x * Math.cos(theta) + center.x;
+ 
+      const newy = -Math.sin(theta) * node.x + center.x * Math.sin(theta) + node.y * Math.cos(theta) - center.y * Math.cos(theta) + center.y;
+ 
+      node.x = newx;
+      node.y = newy;
+    }
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html new file mode 100644 index 000000000..696bcd389 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/plugin/sendDocumentChange.ts + + + + + + + + + +
+
+

All files / src/plugin sendDocumentChange.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { sendSelectionChange } from './sendSelectionChange';
+ 
+export async function sendDocumentChange(event: DocumentChangeEvent) {
+  if (event.documentChanges.length === 1 && event.documentChanges[0].type === 'PROPERTY_CHANGE' && event.documentChanges[0].id === '0:0') {
+    return;
+  }
+  const changeNodeIds = event.documentChanges.filter((change) => change.origin === 'REMOTE' && change.type === 'PROPERTY_CHANGE').map((change) => change.id);
+  if (!changeNodeIds.length) {
+    return;
+  }
+  await sendSelectionChange();
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html new file mode 100644 index 000000000..4d361437a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/plugin/sendSelectionChange.ts + + + + + + + + + +
+
+

All files / src/plugin sendSelectionChange.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import store from './store';
+import { defaultNodeManager } from './NodeManager';
+import { SelectionContent, sendPluginValues } from './pluginData';
+import { notifyNoSelection } from './notifiers';
+import { UpdateMode } from '@/constants/UpdateMode';
+ 
+export async function sendSelectionChange(): Promise<SelectionContent | null> {
+  // Big O (sendPluginValues)
+  const nodes = store.inspectDeep && store.shouldSendSelectionValues
+    ? (
+      await defaultNodeManager.findBaseNodesWithData({ updateMode: UpdateMode.SELECTION, nodesWithoutPluginData: true })
+    )
+    : await defaultNodeManager.findBaseNodesWithData({ nodes: figma.currentPage.selection, nodesWithoutPluginData: false });
+  const currentSelectionLength = figma.currentPage.selection.length;
+ 
+  if (!currentSelectionLength) {
+    notifyNoSelection();
+    return null;
+  }
+  return sendPluginValues({ nodes, shouldSendSelectionValues: store.shouldSendSelectionValues });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html new file mode 100644 index 000000000..1365a84ae --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/plugin/setBackgroundBlurOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setBackgroundBlurOnTarget.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleDimensionToken } from '@/types/tokens';
+import { transformValue } from './helpers';
+ 
+export default function setBackgroundBlurOnTarget(
+  target: BaseNode | EffectStyle,
+  token: Pick<SingleDimensionToken, 'value'>,
+  baseFontSize: string,
+) {
+  try {
+    if ('effects' in target) {
+      const existingEffectIndex = target.effects.findIndex((effect) => effect.type === 'BACKGROUND_BLUR');
+      let newEffects = [...target.effects];
+      const blurEffect: BlurEffect = {
+        type: 'BACKGROUND_BLUR',
+        visible: true,
+        radius: transformValue(String(token.value), 'backgroundBlur', baseFontSize),
+      };
+ 
+      if (existingEffectIndex > -1) {
+        newEffects = Object.assign([], target.effects, { [existingEffectIndex]: blurEffect });
+      } else {
+        newEffects.push(blurEffect);
+      }
+      target.effects = newEffects;
+    }
+  } catch (e) {
+    console.error('Error setting color', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html new file mode 100644 index 000000000..cb75e70a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/plugin/setBooleanValuesOnVariable.ts + + + + + + + + + +
+
+

All files / src/plugin setBooleanValuesOnVariable.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
+ 
+export default function setBooleanValuesOnVariable(variable: Variable, mode: string, value: string) {
+  try {
+    const existingVariableValue = variable.valuesByMode[mode];
+    if (existingVariableValue === undefined || !(typeof existingVariableValue === 'boolean' || isVariableWithAliasReference(existingVariableValue))) return;
+ 
+    const newValue = value === 'true';
+ 
+    if (existingVariableValue !== newValue) {
+      variable.setValueForMode(mode, newValue);
+    }
+  } catch (e) {
+    console.error('Error setting booleanVariable', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html new file mode 100644 index 000000000..24d0bdc76 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/plugin/setBorderColorValuesOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setBorderColorValuesOnTarget.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/19 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { trySetStyleId } from '@/utils/trySetStyleId';
+import { paintStyleMatchesColorToken } from './figmaUtils/styleMatchers';
+import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
+import setColorValuesOnTarget from './setColorValuesOnTarget';
+import { ColorPaintType, tryApplyColorVariableId } from '@/utils/tryApplyColorVariableId';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+ 
+type Props = {
+  data: string;
+  value: string;
+  node: BaseNode;
+};
+ 
+export async function setBorderColorValuesOnTarget({
+  data, value, node,
+}: Props) {
+  if ('strokes' in node) {
+    if (!(await tryApplyColorVariableId(node, data, ColorPaintType.STROKES))) {
+      const resolvedToken = defaultTokenValueRetriever.get(data);
+      let matchingStyleId = resolvedToken?.styleId;
+      if (resolvedToken && !matchingStyleId) {
+        // Local style not found - look for matching non-local style:
+        const styleIdBackupKey = 'strokeStyleId_original';
+        const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'strokes');
+        if (nonLocalStyle) {
+          if (paintStyleMatchesColorToken(nonLocalStyle, value)) {
+            // Non-local style matches - use this and clear style id backup:
+            matchingStyleId = nonLocalStyle.id;
+            clearStyleIdBackup(node, styleIdBackupKey);
+          } else if (resolvedToken?.adjustedTokenName === nonLocalStyle.name) {
+            // Non-local style does NOT match, but style name and token path does,
+            // so we assume selected token value is an override (e.g. dark theme)
+            // Now backup up style id before overwriting with raw token value, so we
+            // can re-link the non-local style, when the token value matches again:
+            setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
+          }
+        }
+      }
+ 
+      if (!matchingStyleId || (matchingStyleId && !(await trySetStyleId(node, 'stroke', matchingStyleId)))) {
+        setColorValuesOnTarget({
+          target: node, token: data, key: 'strokes', givenValue: value,
+        });
+      }
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html new file mode 100644 index 000000000..0738ffd57 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/plugin/setBorderValuesOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setBorderValuesOnTarget.ts

+
+ +
+ 0% + Statements + 0/23 +
+ + +
+ 0% + Branches + 0/43 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable no-param-reassign */
+import { SingleBorderToken } from '@/types/tokens';
+import { isPrimitiveValue } from '@/utils/is';
+import { transformValue } from './helpers';
+import getFigmaDashPattern from './getFigmaDashPattern';
+import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
+ 
+export default async function setBorderValuesOnTarget(
+  target: BaseNode,
+  token: Pick<SingleBorderToken, 'value'>,
+  baseFontSize: string,
+  side?: 'top' | 'right' | 'bottom' | 'left',
+) {
+  const { value } = token;
+  const { width, style } = value;
+  try {
+    if (
+      'strokeWeight' in target
+      && typeof width !== 'undefined'
+      && isPrimitiveValue(width)
+      && !side
+      && !(await tryApplyVariableId(target, 'strokeWeight', width))
+    ) {
+      target.strokeWeight = transformValue(String(width), 'borderWidth', baseFontSize);
+    }
+    if (
+      'strokeTopWeight' in target
+      && typeof width !== 'undefined'
+      && isPrimitiveValue(width)
+      && side === 'top'
+      && !(await tryApplyVariableId(target, 'strokeTopWeight', width))
+    ) {
+      target.strokeTopWeight = transformValue(String(width), 'borderWidth', baseFontSize);
+    }
+    if (
+      'strokeRightWeight' in target
+      && typeof width !== 'undefined'
+      && isPrimitiveValue(width)
+      && side === 'right'
+      && !(await tryApplyVariableId(target, 'strokeRightWeight', width))
+    ) {
+      target.strokeRightWeight = transformValue(String(width), 'borderWidth', baseFontSize);
+    }
+    if (
+      'strokeBottomWeight' in target
+      && typeof width !== 'undefined'
+      && isPrimitiveValue(width)
+      && side === 'bottom'
+      && !(await tryApplyVariableId(target, 'strokeBottomWeight', width))
+    ) {
+      target.strokeBottomWeight = transformValue(String(width), 'borderWidth', baseFontSize);
+    }
+    if (
+      'strokeLeftWeight' in target
+      && typeof width !== 'undefined'
+      && isPrimitiveValue(width)
+      && side === 'left'
+      && !(await tryApplyVariableId(target, 'strokeLeftWeight', width))
+    ) {
+      target.strokeLeftWeight = transformValue(String(width), 'borderWidth', baseFontSize);
+    }
+ 
+    if (typeof style !== 'undefined' && typeof style === 'string' && 'dashPattern' in target) {
+      let newDashPattern = [0, 0];
+      switch (style) {
+        case 'solid':
+          newDashPattern = [0, 0];
+          break;
+        case 'dashed':
+          newDashPattern = getFigmaDashPattern(transformValue(String(width), 'borderWidth', baseFontSize));
+          break;
+        default:
+          break;
+      }
+      target.dashPattern = newDashPattern;
+    }
+  } catch (e) {
+    console.log('error setting border token', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html new file mode 100644 index 000000000..cd5e0c42f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html @@ -0,0 +1,481 @@ + + + + + + Code coverage report for src/plugin/setColorValuesOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setColorValuesOnTarget.ts

+
+ +
+ 0% + Statements + 0/65 +
+ + +
+ 0% + Branches + 0/84 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isPaintEqual } from '@/utils/isPaintEqual';
+import { convertToFigmaColor } from './figmaTransforms/colors';
+import { convertStringToFigmaGradient } from './figmaTransforms/gradients';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+import { ColorPaintType, tryApplyColorVariableId } from '@/utils/tryApplyColorVariableId';
+import { unbindVariableFromTarget } from './unbindVariableFromTarget';
+import { getReferenceTokensFromGradient } from '@/utils/color';
+import { SingleToken } from '@/types/tokens';
+ 
+function hasModifier(token: SingleToken) {
+  return token.$extensions?.['studio.tokens']?.modify;
+}
+ 
+const applyPaintIfNotEqual = (key, existingPaint, newPaint, target) => {
+  if (!existingPaint || !isPaintEqual(newPaint, existingPaint)) {
+    if (key === 'paints' && 'paints' in target) target.paints = [newPaint];
+    if (key === 'fills' && 'fills' in target) target.fills = [newPaint];
+    if (key === 'strokes' && 'strokes' in target) target.strokes = [newPaint];
+  }
+};
+ 
+const getLinearGradientPaint = async (fallbackValue, token) => {
+  const gradientString = typeof fallbackValue === 'object' && fallbackValue.fill
+    ? fallbackValue.fill
+    : fallbackValue;
+  const { gradientStops, gradientTransform } = convertStringToFigmaGradient(gradientString);
+ 
+  const rawValue = defaultTokenValueRetriever.get(token)?.rawValue;
+  let gradientStopsWithReferences = gradientStops;
+ 
+  const { createStylesWithVariableReferences } = defaultTokenValueRetriever;
+  if (createStylesWithVariableReferences) {
+    const referenceTokens = getReferenceTokensFromGradient(rawValue);
+ 
+    if (gradientStops && referenceTokens.length > 0) {
+      gradientStopsWithReferences = await Promise.all(gradientStops.map(async (stop, index) => {
+        const referenceVariableExists = await defaultTokenValueRetriever.getVariableReference(referenceTokens[index]);
+        if (referenceVariableExists) {
+          return {
+            ...stop,
+            boundVariables: {
+              color: {
+                type: 'VARIABLE_ALIAS',
+                id: referenceVariableExists.id,
+              },
+            },
+          };
+        }
+        return stop;
+      }));
+    }
+  }
+  const newPaint: GradientPaint = {
+    type: 'GRADIENT_LINEAR',
+    gradientTransform,
+    gradientStops: gradientStopsWithReferences,
+  };
+  return newPaint;
+};
+ 
+export default async function setColorValuesOnTarget({
+  target, token, key, givenValue,
+}: {
+  target: BaseNode | PaintStyle,
+  token: string,
+  key: 'paints' | 'fills' | 'strokes',
+  givenValue?: string
+}) {
+  // If we're creating styles we need to check the user's setting. If we're applying on a layer, always try to apply variables.
+  const shouldCreateStylesWithVariables = defaultTokenValueRetriever.createStylesWithVariableReferences || !('consumers' in target);
+  try {
+    const resolvedToken = defaultTokenValueRetriever.get(token);
+    if (typeof resolvedToken === 'undefined' && !givenValue) return;
+    const { description } = resolvedToken || {};
+    const resolvedValue = givenValue || defaultTokenValueRetriever.get(token)?.rawValue;
+ 
+    if (typeof resolvedValue === 'undefined') return;
+    let existingPaint: Paint | null = null;
+    if (key === 'paints' && 'paints' in target) {
+      existingPaint = target.paints[0] ?? null;
+    } else if (key === 'fills' && 'fills' in target && target.fills !== figma.mixed) {
+      existingPaint = target.fills[0] ?? null;
+    } else if (key === 'strokes' && 'strokes' in target) {
+      existingPaint = target.strokes[0] ?? null;
+    }
+ 
+    if (resolvedValue.startsWith?.('linear-gradient')) {
+      const fallbackValue = defaultTokenValueRetriever.get(token)?.value;
+      const newPaint = await getLinearGradientPaint(fallbackValue, token);
+      applyPaintIfNotEqual(key, existingPaint, newPaint, target);
+    } else {
+      // If the raw value is a pure reference to another token, we first should try to apply that reference as a variable if it exists.
+      let successfullyAppliedVariable = false;
+ 
+      const containsReferenceVariable = resolvedValue.toString().startsWith('{') && resolvedValue.toString().endsWith('}');
+      const referenceVariableExists = await defaultTokenValueRetriever.getVariableReference(resolvedValue.slice(1, -1));
+ 
+      if (containsReferenceVariable && referenceVariableExists && shouldCreateStylesWithVariables && !hasModifier(resolvedToken)) {
+        try {
+          successfullyAppliedVariable = await tryApplyColorVariableId(target, resolvedValue.slice(1, -1), ColorPaintType.PAINTS);
+        } catch (e) {
+          console.error('Error setting bound variable for paint', e);
+        }
+      }
+ 
+      // If value contains references but we werent able to apply, likely that reference doesnt exist. It could be that this is a composite token like border
+      // Where we pass in the color value from a composite but technically that token doesnt exist in the current set of tokens (but a reference to a variable exists!)
+      // So we should see if there is a token that exists for the value we're trying to apply, if not, use the givenValue that we pass on in that case
+      const fallbackValue = defaultTokenValueRetriever.get(token)?.value; // Value on a token if we're given a token
+      const valueToApply = fallbackValue ?? givenValue;
+ 
+      if (!successfullyAppliedVariable) {
+        let newPaint: SolidPaint | GradientPaint;
+        if (valueToApply.startsWith?.('linear-gradient')) {
+          newPaint = await getLinearGradientPaint(fallbackValue, token);
+        } else {
+          const { color, opacity } = convertToFigmaColor(typeof valueToApply === 'string' ? valueToApply : valueToApply?.color || givenValue || '');
+          newPaint = { color, opacity, type: 'SOLID' };
+        }
+ 
+        await unbindVariableFromTarget(target, key, newPaint);
+        applyPaintIfNotEqual(key, existingPaint, newPaint, target);
+      }
+    }
+    if (description && 'description' in target) {
+      target.description = description;
+    }
+    Promise.resolve();
+  } catch (e) {
+    console.error('Error setting color', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html new file mode 100644 index 000000000..f8976e05d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/plugin/setColorValuesOnVariable.ts + + + + + + + + + +
+
+

All files / src/plugin setColorValuesOnVariable.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/29 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
+import { convertToFigmaColor } from './figmaTransforms/colors';
+ 
+export function normalizeFigmaColor({
+  r, g, b, a,
+}: { r: number, g: number, b: number, a: number }): { r: number; g: number; b: number; a: number } {
+  const roundToSixDecimals = (num: number) => Math.round(num * 1000000) / 1000000;
+ 
+  return {
+    r: roundToSixDecimals(r),
+    g: roundToSixDecimals(g),
+    b: roundToSixDecimals(b),
+    a: roundToSixDecimals(a),
+  };
+}
+ 
+function isFigmaColorObject(obj: VariableValue): obj is RGBA {
+  return typeof obj === 'object' && 'r' in obj && 'g' in obj && 'b' in obj && 'a' in obj
+    && typeof obj.r === 'number' && typeof obj.g === 'number' && typeof obj.b === 'number' && typeof obj.a === 'number';
+}
+ 
+export default function setColorValuesOnVariable(variable: Variable, mode: string, value: string) {
+  try {
+    const { color, opacity } = convertToFigmaColor(value);
+    const existingVariableValue = variable.valuesByMode[mode];
+    if (!existingVariableValue || !(isFigmaColorObject(existingVariableValue) || isVariableWithAliasReference(existingVariableValue))) return;
+ 
+    const existingValue = isFigmaColorObject(existingVariableValue) ? normalizeFigmaColor(existingVariableValue) : existingVariableValue;
+    const newValue = isFigmaColorObject(color) ? normalizeFigmaColor({ ...color, a: opacity }) : { ...color, a: opacity };
+ 
+    if (isFigmaColorObject(existingValue) && isFigmaColorObject(newValue)) {
+      if ((existingValue.r === newValue.r)
+        && (existingValue.g === newValue.g)
+        && (existingValue.b === newValue.b)
+        && (existingValue.a === newValue.a)) {
+      // return if values match
+        return;
+      }
+    }
+ 
+    variable.setValueForMode(mode, newValue);
+  } catch (e) {
+    console.error('Error setting colorVariable', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html new file mode 100644 index 000000000..b0991111f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html @@ -0,0 +1,451 @@ + + + + + + Code coverage report for src/plugin/setEffectValuesOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setEffectValuesOnTarget.ts

+
+ +
+ 0% + Statements + 0/41 +
+ + +
+ 0% + Branches + 0/40 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable no-param-reassign */
+import { convertBoxShadowTypeToFigma } from './figmaTransforms/boxShadow';
+import { convertToFigmaColor } from './figmaTransforms/colors';
+import { convertTypographyNumberToFigma } from './figmaTransforms/generic';
+import convertOffsetToFigma from './figmaTransforms/offset';
+import { getShadowBehindNodeFromEffect } from './figmaUtils/getShadowBehindNodeFromEffect';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+import { TokenBoxshadowValue } from '@/types/values';
+ 
+type ResolvedShadowObject = {
+  color: string;
+  type: string;
+  spread: string;
+  radius: string;
+  x: string;
+  y: string;
+};
+ 
+function transformShadowKeyToFigmaVariable(key: string): VariableBindableEffectField {
+  switch (key) {
+    case 'x':
+      return 'offsetX' as VariableBindableEffectField;
+    case 'y':
+      return 'offsetY' as VariableBindableEffectField;
+    case 'blur':
+      return 'radius' as VariableBindableEffectField;
+    default:
+      return key as VariableBindableEffectField;
+  }
+}
+ 
+async function tryApplyCompositeVariable({
+  target, value, baseFontSize, resolvedValue,
+}: {
+  target: BaseNode | EffectStyle;
+  value: TokenBoxshadowValue;
+  baseFontSize: string;
+  resolvedValue: ResolvedShadowObject;
+}) {
+  // If we're creating styles we need to check the user's setting. If we're applying on a layer, always try to apply variables.
+  // 'consumers' only exists in styles, so we can use that to determine if we're creating a style or applying to a layer
+  const shouldCreateStylesWithVariables = defaultTokenValueRetriever.createStylesWithVariableReferences || !('consumers' in target);
+ 
+  const { color, opacity: a } = convertToFigmaColor(value.color);
+  const { r, g, b } = color;
+ 
+  let effect: Effect = {
+    color: {
+      r,
+      g,
+      b,
+      a,
+    },
+    type: convertBoxShadowTypeToFigma(value.type),
+    spread: convertTypographyNumberToFigma(value.spread.toString(), baseFontSize),
+    radius: convertTypographyNumberToFigma(value.blur.toString(), baseFontSize),
+    offset: convertOffsetToFigma(convertTypographyNumberToFigma(value.x.toString(), baseFontSize), convertTypographyNumberToFigma(value.y.toString(), baseFontSize)),
+    blendMode: (value.blendMode || 'NORMAL') as BlendMode,
+    visible: true,
+    ...value.type === 'dropShadow' && 'effects' in target ? { showShadowBehindNode: getShadowBehindNodeFromEffect(target.effects[0]) } : {},
+  };
+  try {
+    for (const [key, val] of Object.entries(resolvedValue)) {
+      if (val.toString().startsWith('{') && val.toString().endsWith('}') && shouldCreateStylesWithVariables) {
+        const variableToApply = await defaultTokenValueRetriever.getVariableReference(val.slice(1, -1));
+        if (variableToApply) {
+          const updatedEffect = figma.variables.setBoundVariableForEffect(effect, transformShadowKeyToFigmaVariable(key), variableToApply);
+          effect = {
+            ...effect,
+            boundVariables: updatedEffect.boundVariables,
+          };
+        }
+      }
+    }
+  } catch (e) {
+    console.error(e);
+  }
+  return effect;
+}
+ 
+export default async function setEffectValuesOnTarget(
+  target: BaseNode | EffectStyle,
+  token: string,
+  baseFontSize: string,
+  key: 'effects' = 'effects',
+) {
+  try {
+    const resolvedToken = defaultTokenValueRetriever.get(token);
+    if (typeof resolvedToken === 'undefined') return;
+    const { description, value } = resolvedToken;
+    const resolvedValue: ResolvedShadowObject = defaultTokenValueRetriever.get(token)?.resolvedValueWithReferences;
+    if (typeof resolvedValue === 'undefined') return;
+ 
+    if (Array.isArray(value)) {
+      const effectsArray = await Promise.all(value.map(async (v, i) => {
+        const newEffect = await tryApplyCompositeVariable({
+          target, value: v, baseFontSize, resolvedValue: resolvedValue[i],
+        });
+        return newEffect;
+      }));
+ 
+      if ('effects' in target && key === 'effects') target.effects = effectsArray.reverse();
+    } else if (typeof value !== 'string') {
+      if ('effects' in target && key === 'effects') {
+        const newEffect = await tryApplyCompositeVariable({
+          target, value, baseFontSize, resolvedValue,
+        });
+        target.effects = [
+          newEffect,
+        ];
+        Promise.resolve();
+      }
+    }
+ 
+    if (description && 'description' in target) {
+      target.description = description;
+    }
+  } catch (e) {
+    console.error('Error setting shadow', e);
+    Promise.reject();
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html new file mode 100644 index 000000000..edb41a1de --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/plugin/setFontStyleOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setFontStyleOnTarget.ts

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { transformValue } from './helpers';
+import { notifyUI } from './notifiers';
+import { ResolvedTypographyObject } from './ResolvedTypographyObject';
+ 
+export async function setFontStyleOnTarget({ target, value, baseFontSize }: { target: BaseNode | TextStyle; value: Pick<ResolvedTypographyObject, 'fontFamily' | 'fontWeight'>; baseFontSize: string }) {
+  if (!('fontName' in target)) return;
+  const {
+    fontFamily, fontWeight,
+  } = value;
+ 
+  const family = fontFamily?.toString() || (target.fontName !== figma.mixed ? target.fontName.family : '');
+  const style = fontWeight?.toString() || (target.fontName !== figma.mixed ? target.fontName.style : '');
+ 
+  try {
+    await figma.loadFontAsync({ family, style });
+    if (fontFamily || fontWeight) {
+      target.fontName = {
+        family,
+        style,
+      };
+    }
+  } catch (e) {
+    const splitFontFamily = family.split(',');
+    const candidateStyles = transformValue(style, 'fontWeights', baseFontSize);
+    const candidateFonts: { family: string; style: string; }[] = [];
+    splitFontFamily?.forEach((candidateFontFamily) => {
+      const normalizedFontFamily = candidateFontFamily?.replace(/['"]/g, '').trim();
+      if (candidateStyles.length > 0) {
+        candidateStyles.forEach((candidateStyle) => {
+          candidateFonts.push({
+            family: normalizedFontFamily,
+            style: candidateStyle,
+          });
+        });
+      } else {
+        candidateFonts.push({
+          family: normalizedFontFamily,
+          style,
+        });
+      }
+    });
+ 
+    let hasErrored = false;
+ 
+    for (let i = 0; i < candidateFonts.length; i += 1) {
+      let isApplied = false; // if font is applied then skip other font families
+      await figma
+        .loadFontAsync({ family: candidateFonts[i].family, style: candidateFonts[i].style })
+        .then(() => {
+          if (candidateFonts[i]) {
+            target.fontName = {
+              family: candidateFonts[i].family,
+              style: candidateFonts[i].style,
+            };
+            isApplied = true;
+          }
+        })
+        // eslint-disable-next-line @typescript-eslint/no-loop-func
+        .catch(() => {
+          hasErrored = true;
+        });
+      if (isApplied) {
+        hasErrored = false;
+        break;
+      }
+    }
+    if (hasErrored) {
+      notifyUI(`Error setting font family/weight combination for ${family}/${style}`);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html new file mode 100644 index 000000000..07b575079 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/plugin/setImageValuesOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setImageValuesOnTarget.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleAssetToken } from '@/types/tokens';
+import { notifyUI } from '@/plugin/notifiers';
+ 
+export default async function setImageValuesOnTarget(
+  target: BaseNode | PaintStyle,
+  token: Pick<SingleAssetToken, 'value' | 'description'>,
+) {
+  try {
+    const { description, value } = token;
+    if ('fills' in target && target.fills !== figma.mixed) {
+      const imageArrayBuffer = await fetch(value)
+        .then((response) => response.arrayBuffer())
+        .catch(() => {
+          notifyUI('Failed to load image', { error: true });
+          return null;
+        });
+      if (imageArrayBuffer) {
+        const image = figma.createImage(new Uint8Array(imageArrayBuffer));
+        const newPaint = {
+          type: 'IMAGE',
+          scaleMode: 'FILL',
+          imageHash: image.hash,
+        } as Paint;
+        target.fills = [newPaint];
+      }
+    }
+ 
+    if (description && 'description' in target) {
+      target.description = description;
+    }
+  } catch (e) {
+    console.error('Error setting image', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html new file mode 100644 index 000000000..13f7e91cb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/plugin/setNumberValuesOnVariable.ts + + + + + + + + + +
+
+

All files / src/plugin setNumberValuesOnVariable.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
+ 
+export default function setNumberValuesOnVariable(variable: Variable, mode: string, value: number) {
+  try {
+    if (isNaN(value)) {
+      throw new Error(`Skipping due to invalid value: ${value}`);
+    }
+    const existingVariableValue = variable.valuesByMode[mode];
+    if (existingVariableValue === undefined || !(typeof existingVariableValue === 'number' || isVariableWithAliasReference(existingVariableValue))) return;
+ 
+    const newValue = value;
+ 
+    if (existingVariableValue !== newValue) {
+      variable.setValueForMode(mode, newValue);
+    }
+  } catch (e) {
+    console.error('Error setting numberVariable on variable', variable.name, e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html new file mode 100644 index 000000000..351e93b55 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/plugin/setStringValuesOnVariable.ts + + + + + + + + + +
+
+

All files / src/plugin setStringValuesOnVariable.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
+ 
+export default function setStringValuesOnVariable(variable: Variable, mode: string, value: string) {
+  try {
+    const existingVariableValue = variable.valuesByMode[mode];
+    if (!existingVariableValue || !(typeof existingVariableValue === 'string' || isVariableWithAliasReference(existingVariableValue))) return;
+ 
+    if (existingVariableValue !== value) {
+      variable.setValueForMode(mode, value);
+    }
+  } catch (e) {
+    console.error('Error setting stringVariable', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html new file mode 100644 index 000000000..69e2e145a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/plugin/setTextValuesOnTarget.ts + + + + + + + + + +
+
+

All files / src/plugin setTextValuesOnTarget.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ResolvedTypographyObject } from './ResolvedTypographyObject';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+import { tryApplyTypographyCompositeVariable } from './tryApplyTypographyCompositeVariable';
+ 
+export async function setTextValuesOnTarget(
+  target: TextNode | TextStyle,
+  token: string,
+  baseFontSize: string = '16',
+) {
+  try {
+    const resolvedToken = defaultTokenValueRetriever.get(token);
+    if (typeof resolvedToken === 'undefined') return;
+    const { value, description } = resolvedToken;
+    const resolvedValue: ResolvedTypographyObject = defaultTokenValueRetriever.get(token)?.resolvedValueWithReferences;
+    if (typeof resolvedValue === 'undefined') return;
+ 
+    if (typeof resolvedValue !== 'string') {
+      await tryApplyTypographyCompositeVariable({
+        target, baseFontSize, value, resolvedValue, // maybe this needs to be value
+      });
+      if ('description' in target && description) target.description = description;
+    }
+  } catch (e) {
+    console.log('Error setting font on target', target, token, e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html new file mode 100644 index 000000000..c0854c85e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/plugin/setValuesOnNode.ts + + + + + + + + + +
+
+

All files / src/plugin setValuesOnNode.ts

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import { defaultBaseFontSize } from '@/constants/defaultBaseFontSize';
+import { MapValuesToTokensResult } from '@/types';
+import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { applyAssetTokenValuesOnNode } from './applyAssetTokenValuesOnNode';
+import { applyBackgroundBlurValuesOnNode } from './applyBackgroundBlurValuesOnNode';
+import { applyBooleanTokenValuesOnNode } from './applyBooleanTokenValuesOnNode';
+import { applyBorderRadiusValuesOnNode } from './applyBorderRadiusValuesOnNode';
+import { applyBorderValuesOnNode } from './applyBorderValuesOnNode';
+import { applyBorderWidthValuesOnNode } from './applyBorderWidthValuesOnNode';
+import { applyColorTokenOnNode } from './applyColorTokenOnNode';
+import { applyDimensionTokenValuesOnNode } from './applyDimensionTokenValuesOnNode';
+import { applyNumberTokenValuesOnNode } from './applyNumberTokenValuesOnNode';
+import { applyOpacityValuesOnNode } from './applyOpacityValuesOnNode';
+import { applyPositionTokenOnNode } from './applyPositionTokenOnNode';
+import { applyRotationValuesOnNode } from './applyRotationValuesOnNode';
+import { applySizingValuesOnNode } from './applySizingValuesOnNode';
+import { applySpacingValuesOnNode } from './applySpacingValuesOnNode';
+import { applyTextCharacterValuesOnNode } from './applyTextCharacterValuesOnNode';
+import { applyTypographyTokenOnNode } from './applyTypographyTokenOnNode';
+import { applyShadowValuesOnNode } from './applyShadowValuesOnNode';
+import removeValuesFromNode from './removeValuesFromNode';
+ 
+// Various logic to apply token values to nodes
+export default async function setValuesOnNode({
+  node,
+  values,
+  data,
+  baseFontSize = defaultBaseFontSize,
+}: {
+  node: BaseNode; // The node to apply on
+  values: MapValuesToTokensResult; // The actual values we'd apply
+  data: NodeTokenRefMap; // Data on which token to apply, this is what's stored on the layer (just the token name)
+  baseFontSize?: string; // The base font size to use, note that we should find a better way to pass this through
+}) {
+  try {
+    if (
+      node.type !== 'CONNECTOR'
+      && node.type !== 'SHAPE_WITH_TEXT'
+      && node.type !== 'STICKY'
+      && node.type !== 'CODE_BLOCK'
+    ) {
+      Object.entries(values).forEach(([key, value]) => {
+        if (value === 'none') {
+          removeValuesFromNode(node, key as Properties);
+          delete values[key];
+        }
+      });
+      await applyBorderValuesOnNode(node, data, values, baseFontSize);
+      await applyBorderRadiusValuesOnNode(node, data, values, baseFontSize);
+      await applyShadowValuesOnNode(node, data, values, baseFontSize);
+      await applyBackgroundBlurValuesOnNode(node, data, values, baseFontSize);
+      await applyBorderWidthValuesOnNode(node, data, values, baseFontSize);
+      await applyOpacityValuesOnNode(node, data, values, baseFontSize);
+      await applySizingValuesOnNode(node, data, values, baseFontSize);
+      await applySpacingValuesOnNode(node, data, values, baseFontSize);
+      await applyRotationValuesOnNode(node, data, values, baseFontSize);
+      await applyColorTokenOnNode(node, data, values);
+      await applyPositionTokenOnNode(node, data, values, baseFontSize);
+      await applyTypographyTokenOnNode(node, data, values, baseFontSize);
+      await applyAssetTokenValuesOnNode(node, data, values);
+      await applyDimensionTokenValuesOnNode(node, data, values, baseFontSize);
+      await applyNumberTokenValuesOnNode(node, data, values, baseFontSize);
+      await applyBooleanTokenValuesOnNode(node, data, values);
+      await applyTextCharacterValuesOnNode(node, data, values);
+    }
+  } catch (e) {
+    console.log('Error setting data on node', e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html new file mode 100644 index 000000000..f25cf5397 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html @@ -0,0 +1,406 @@ + + + + + + Code coverage report for src/plugin/setValuesOnVariable.ts + + + + + + + + + +
+
+

All files / src/plugin setValuesOnVariable.ts

+
+ +
+ 0% + Statements + 0/41 +
+ + +
+ 0% + Branches + 0/49 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+import setBooleanValuesOnVariable from './setBooleanValuesOnVariable';
+import setColorValuesOnVariable from './setColorValuesOnVariable';
+import setNumberValuesOnVariable from './setNumberValuesOnVariable';
+import setStringValuesOnVariable from './setStringValuesOnVariable';
+import { convertTokenTypeToVariableType } from '@/utils/convertTokenTypeToVariableType';
+import { checkCanReferenceVariable } from '@/utils/alias/checkCanReferenceVariable';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { transformValue } from './helpers';
+ 
+export type ReferenceVariableType = {
+  variable: Variable;
+  modeId: string;
+  referenceVariable: string;
+};
+ 
+export default async function setValuesOnVariable(
+  variablesInFigma: Variable[],
+  tokens: SingleToken<true, { path: string, variableId: string }>[],
+  collection: VariableCollection,
+  mode: string,
+  baseFontSize: string,
+  shouldRename = false,
+) {
+  const variableKeyMap: Record<string, string> = {};
+  const referenceVariableCandidates: ReferenceVariableType[] = [];
+  const renamedVariableKeys: string[] = [];
+  try {
+    await Promise.all(tokens.map(async (token) => {
+      const variableType = convertTokenTypeToVariableType(token.type, token.value);
+      // If id matches the variableId, or name patches the token path, we can use it to update the variable instead of re-creating.
+      // This has the nasty side-effect that if font weight changes from string to number, it will not update the variable given we cannot change type.
+      // In that case, we should delete the variable and re-create it.
+      const variable = variablesInFigma.find((v) => (v.key === token.variableId && !v.remote) || v.name === token.path) || figma.variables.createVariable(token.path, collection, variableType);
+ 
+      if (variable) {
+        // First, rename all variables that should be renamed (if the user choose to do so)
+        if (variable.name !== token.path && shouldRename) {
+          renamedVariableKeys.push(variable.key);
+          variable.name = token.path;
+        }
+        if (variableType !== variable?.resolvedType) {
+          // TODO: There's an edge case where the user had created a variable based on a numerical weight leading to a float variable,
+          // if they later change it to a string, we cannot update the variable type. Theoretically we should remove and recreate, but that would lead to broken variables?
+          // If we decide to remove, the following would work.
+          // variable.remove();
+          // variable = figma.variables.createVariable(t.path, collection.id, variableType);
+        }
+        variable.description = token.description ?? '';
+ 
+        switch (variableType) {
+          case 'BOOLEAN':
+            if (typeof token.value === 'string' && !token.value.includes('{')) {
+              setBooleanValuesOnVariable(variable, mode, token.value);
+            }
+            break;
+          case 'COLOR':
+            if (typeof token.value === 'string' && !token.value.includes('{')) {
+              setColorValuesOnVariable(variable, mode, token.value);
+            }
+            break;
+          case 'FLOAT': {
+            const value = String(token.value);
+            if (typeof value === 'string' && !value.includes('{')) {
+              const transformedValue = transformValue(value, token.type, baseFontSize, true);
+              setNumberValuesOnVariable(variable, mode, Number(transformedValue));
+            }
+            break;
+          }
+          case 'STRING':
+            if (typeof token.value === 'string' && !token.value.includes('{')) {
+              setStringValuesOnVariable(variable, mode, token.value);
+              // Given we cannot determine the combined family of a variable, we cannot use fallback weights from our estimates.
+              // This is not an issue because users can set numerical font weights with variables, so we opt-out of the guesswork and just apply the numerical weight.
+            } else if (token.type === TokenTypes.FONT_WEIGHTS && Array.isArray(token.value)) {
+              setStringValuesOnVariable(variable, mode, token.value[0]);
+            }
+            break;
+          default:
+            break;
+        }
+        let referenceTokenName: string = '';
+        if (token.rawValue && token.rawValue?.toString().startsWith('{')) {
+          referenceTokenName = token.rawValue?.toString().slice(1, token.rawValue.toString().length - 1);
+        } else {
+          referenceTokenName = token.rawValue!.toString().substring(1);
+        }
+        variableKeyMap[token.name] = variable.key;
+        if (token && checkCanReferenceVariable(token)) {
+          referenceVariableCandidates.push({
+            variable,
+            modeId: mode,
+            referenceVariable: referenceTokenName,
+          });
+        }
+      }
+    }));
+  } catch (e) {
+    console.error('Setting values on variable failed', e);
+  }
+ 
+  return {
+    renamedVariableKeys,
+    variableKeyMap,
+    referenceVariableCandidates,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html new file mode 100644 index 000000000..7712a72ae --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/plugin/store.ts + + + + + + + + + +
+
+

All files / src/plugin store.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
type State = {
+  inspectDeep: boolean;
+  shouldSendSelectionValues: boolean;
+};
+ 
+const store: State = {
+  inspectDeep: false,
+  shouldSendSelectionValues: false,
+};
+ 
+export default store;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html new file mode 100644 index 000000000..8a3b206d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/plugin/transformTypographyKeyToFigmaVariable.ts + + + + + + + + + +
+
+

All files / src/plugin transformTypographyKeyToFigmaVariable.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
export function transformTypographyKeyToFigmaVariable(key: string, variableToApply?: Variable): VariableBindableTextField {
+  // Figma distinguishes between numerical and alphabetical weights, if numerical the key is fontWeight, if alphabetical it's fontStyle
+  if (key === 'fontWeight' && variableToApply) {
+    if (variableToApply.resolvedType === 'FLOAT') return 'fontWeight';
+    return 'fontStyle';
+  }
+  return key as VariableBindableTextField;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html new file mode 100644 index 000000000..6c981d754 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html @@ -0,0 +1,313 @@ + + + + + + Code coverage report for src/plugin/tryApplyTypographyCompositeVariable.ts + + + + + + + + + +
+
+

All files / src/plugin tryApplyTypographyCompositeVariable.ts

+
+ +
+ 0% + Statements + 0/39 +
+ + +
+ 0% + Branches + 0/40 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { transformValue } from './helpers';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+import { setFontStyleOnTarget } from './setFontStyleOnTarget';
+import { ResolvedTypographyObject } from './ResolvedTypographyObject';
+import { transformTypographyKeyToFigmaVariable } from './transformTypographyKeyToFigmaVariable';
+import { SingleTypographyToken } from '@/types/tokens';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+ 
+export async function tryApplyTypographyCompositeVariable({
+  target, value, baseFontSize, resolvedValue,
+}: {
+  target: TextNode | TextStyle;
+  value: SingleTypographyToken['value'];
+  resolvedValue: ResolvedTypographyObject;
+  baseFontSize: string;
+}) {
+  // If we're creating styles we need to check the user's setting. If we're applying on a layer, always try to apply variables.
+  // 'consumers' only exists in styles, so we can use that to determine if we're creating a style or applying to a layer
+  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
+  const shouldApplyStylesAndVariables = applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.RAW_VALUES;
+  const isStyle = 'consumers' in target;
+  const shouldCreateStylesWithVariables = (isStyle && defaultTokenValueRetriever.createStylesWithVariableReferences) || (!isStyle && shouldApplyStylesAndVariables);
+ 
+  if (typeof value === 'string') return;
+ 
+  try {
+    // We iterate over all keys of the typography object and apply variables if available, otherwise we apply the value directly
+    for (const [originalKey, val] of Object.entries(value).filter(([_, keyValue]) => typeof keyValue !== 'undefined')) {
+      if (typeof val === 'undefined') return;
+      let successfullyAppliedVariable = false;
+      if (resolvedValue[originalKey]?.toString().startsWith('{') && resolvedValue[originalKey].toString().endsWith('}') && shouldCreateStylesWithVariables) {
+        const variableToApply = await defaultTokenValueRetriever.getVariableReference(resolvedValue[originalKey].toString().slice(1, -1));
+        const key = transformTypographyKeyToFigmaVariable(originalKey, variableToApply);
+        // If we're dealing with a variable, we fetch all available font weights for the current font and load them.
+        // This is needed because we have numerical weights, but we need to apply the string ones. We dont know them from Figma, so we need to load all.
+        // e.g. font weight = 600, we dont know that we need to load "Bold".
+        if (key === 'fontFamily' && variableToApply) {
+          const firstVariableValue = Object.values(variableToApply.valuesByMode)[0];
+          if (firstVariableValue) {
+            const fontsMatching = (await figma.listAvailableFontsAsync() || []).filter((font) => font.fontName.family === firstVariableValue);
+            for (const font of fontsMatching) {
+              await figma.loadFontAsync(font.fontName);
+            }
+          }
+        }
+        if (variableToApply) {
+          if (target.fontName !== figma.mixed) await figma.loadFontAsync(target.fontName);
+          try {
+            target.setBoundVariable(key, variableToApply);
+            successfullyAppliedVariable = true;
+          } catch (e) {
+            // eslint-disable-next-line no-console
+            console.error('unable to apply variable', key, variableToApply, e);
+          }
+        }
+      }
+      // If there's no variable we apply the value directly
+      if (!successfullyAppliedVariable) {
+        // First we set font family and weight without variables, we do this because to apply those values we need their combination
+        if (originalKey === 'fontFamily' || originalKey === 'fontWeight') {
+          if ('fontName' in target && ('fontWeight' in value || 'fontFamily' in value)) {
+            setFontStyleOnTarget({ target, value: { fontFamily: value.fontFamily, fontWeight: value.fontWeight }, baseFontSize });
+          }
+        } else {
+          if (target.fontName !== figma.mixed) await figma.loadFontAsync(target.fontName);
+          const transformedValue = transformValue(value[originalKey], originalKey, baseFontSize);
+          if (transformedValue !== null) {
+            target[originalKey] = transformedValue;
+          }
+        }
+      }
+    }
+  } catch (e) {
+    console.error(e);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html new file mode 100644 index 000000000..e9f3316c3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/plugin/unbindVariableFromTarget.ts + + + + + + + + + +
+
+

All files / src/plugin unbindVariableFromTarget.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { clone } from '@figma-plugin/helpers';
+ 
+export async function unbindVariableFromTarget(target: BaseNode | PaintStyle, key: 'paints' | 'fills' | 'strokes', newPaint: Paint) {
+  if (key in target) {
+    const fillsCopy = clone(target[key]);
+    fillsCopy[0] = figma.variables.setBoundVariableForPaint(fillsCopy[0] ?? newPaint, 'color', null);
+    target[key] = fillsCopy;
+    return target[key];
+  }
+ 
+  return target[key];
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html new file mode 100644 index 000000000..5c9ca45ad --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/plugin/updateColorStyles.ts + + + + + + + + + +
+
+

All files / src/plugin updateColorStyles.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleColorToken } from '@/types/tokens';
+import setColorValuesOnTarget from './setColorValuesOnTarget';
+import { getPaintStylesIdMap } from '@/utils/getPaintStylesIdMap';
+import { getPaintStylesKeyMap } from '@/utils/getPaintStylesKeyMap';
+ 
+// Iterate over colorTokens to create objects that match figma styles
+// @returns A map of token names and their respective style IDs (if created or found)
+export default async function updateColorStyles(colorTokens: SingleColorToken<true, { path: string, styleId: string }>[], shouldCreate = false, shouldRename = false) {
+  const paintToIdMap = getPaintStylesIdMap();
+  const paintToKeyMap = getPaintStylesKeyMap();
+  const tokenToStyleMap: Record<string, string> = {};
+ 
+  await Promise.all(colorTokens.map(async (token) => {
+    if (paintToIdMap.has(token.styleId)) {
+      const paint = paintToIdMap.get(token.styleId)!;
+      if (shouldRename) {
+        paint.name = token.path;
+      }
+      tokenToStyleMap[token.name] = paint.id;
+      await setColorValuesOnTarget({ target: paint, token: token.name, key: 'paints' });
+    } else if (paintToKeyMap.has(token.path)) {
+      const paint = paintToKeyMap.get(token.path)!;
+      tokenToStyleMap[token.name] = paint.id;
+      await setColorValuesOnTarget({ target: paint, token: token.name, key: 'paints' });
+    } else if (shouldCreate) {
+      const style = figma.createPaintStyle();
+      style.name = token.path;
+      tokenToStyleMap[token.name] = style.id;
+      await setColorValuesOnTarget({ target: style, token: token.name, key: 'paints' });
+    }
+  }));
+  return tokenToStyleMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html new file mode 100644 index 000000000..63f82b02d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/plugin/updateEffectStyles.ts + + + + + + + + + +
+
+

All files / src/plugin updateEffectStyles.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleBoxShadowToken } from '@/types/tokens';
+import setEffectValuesOnTarget from './setEffectValuesOnTarget';
+import { getEffectStylesIdMap } from '@/utils/getEffectStylesIdMap';
+import { getEffectStylesKeyMap } from '@/utils/getEffectStylesKeyMap';
+ 
+// Iterate over effectTokens to create objects that match figma styles
+// @returns A map of token names and their respective style IDs (if created or found)
+export default async function updateEffectStyles({
+  effectTokens,
+  baseFontSize,
+  shouldCreate = false,
+  shouldRename = false,
+}: {
+  effectTokens: SingleBoxShadowToken<true, { path: string; styleId: string }>[];
+  baseFontSize: string;
+  shouldCreate?: boolean;
+  shouldRename?: boolean;
+}) {
+  const effectStylesToIdMap = getEffectStylesIdMap();
+  const effectStylesToKeyMap = getEffectStylesKeyMap();
+  const tokenToStyleMap: Record<string, string> = {};
+ 
+  await Promise.all(effectTokens.map(async (token) => {
+    if (effectStylesToIdMap.has(token.styleId)) {
+      const effectStyle = effectStylesToIdMap.get(token.styleId)!;
+      if (shouldRename) {
+        effectStyle.name = token.path;
+      }
+      tokenToStyleMap[token.name] = effectStyle.id;
+      await setEffectValuesOnTarget(effectStyle, token.name, baseFontSize);
+    } else if (effectStylesToKeyMap.has(token.path)) {
+      const effectStyle = effectStylesToKeyMap.get(token.path)!;
+      tokenToStyleMap[token.name] = effectStyle.id;
+ 
+      await setEffectValuesOnTarget(effectStyle, token.name, baseFontSize);
+    } else if (shouldCreate) {
+      const style = figma.createEffectStyle();
+      style.name = token.path;
+      tokenToStyleMap[token.name] = style.id;
+ 
+      await setEffectValuesOnTarget(style, token.name, baseFontSize);
+    }
+  }));
+ 
+  return tokenToStyleMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html new file mode 100644 index 000000000..afbafa343 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html @@ -0,0 +1,274 @@ + + + + + + Code coverage report for src/plugin/updateNodes.ts + + + + + + + + + +
+
+

All files / src/plugin updateNodes.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import setValuesOnNode from './setValuesOnNode';
+import { postToUI } from './notifiers';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { defaultWorker } from './Worker';
+import { ProgressTracker } from './ProgressTracker';
+import { SettingsState } from '@/app/store/models/settings';
+import { destructureTokenForAlias, mapValuesToTokens } from './node';
+import { NodeManagerNode } from './NodeManager';
+import { defaultTokenValueRetriever } from './TokenValueRetriever';
+ 
+export async function updateNodes(
+  nodes: readonly NodeManagerNode[],
+  settings: SettingsState,
+) {
+  // Big O (n * m): (n = amount of nodes, m = amount of applied tokens to the node)
+  const { baseFontSize } = settings ?? {};
+ 
+  postToUI({
+    type: MessageFromPluginTypes.START_JOB,
+    job: {
+      name: BackgroundJobs.PLUGIN_UPDATENODES,
+      timePerTask: 2,
+      completedTasks: 0,
+      totalTasks: nodes.length,
+    },
+  });
+ 
+  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATENODES);
+  const promises: Set<Promise<void>> = new Set();
+ 
+  const tokens = defaultTokenValueRetriever.getTokens();
+ 
+  nodes.forEach(({ node, tokens: appliedTokens }) => {
+    promises.add(
+      defaultWorker.schedule(async () => {
+        try {
+          const rawTokenMap = destructureTokenForAlias(tokens, appliedTokens);
+          const tokenValues = mapValuesToTokens(tokens, appliedTokens);
+          setValuesOnNode(
+            {
+              node,
+              values: tokenValues,
+              data: rawTokenMap,
+              baseFontSize,
+            },
+          );
+        } catch (e) {
+          console.log('got error', e);
+        } finally {
+          tracker.next();
+          tracker.reportIfNecessary();
+        }
+      }),
+    );
+  });
+  await Promise.all(promises);
+ 
+  postToUI({
+    type: MessageFromPluginTypes.COMPLETE_JOB,
+    name: BackgroundJobs.PLUGIN_UPDATENODES,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html new file mode 100644 index 000000000..e03f632b5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/plugin/updatePluginDataAndNodes.ts + + + + + + + + + +
+
+

All files / src/plugin updatePluginDataAndNodes.ts

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
+import { Properties } from '@/constants/Properties';
+import { MessageFromPluginTypes } from '@/types/messages';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { AnyTokenList } from '@/types/tokens';
+import { postToUI } from './notifiers';
+import { defaultWorker } from './Worker';
+import { ProgressTracker } from './ProgressTracker';
+import { removePluginData, setNonePluginData } from './pluginData';
+import { SettingsState } from '@/app/store/models/settings';
+import { destructureTokenForAlias, mapValuesToTokens } from './node';
+import setValuesOnNode from './setValuesOnNode';
+ 
+export async function updatePluginDataAndNodes({
+  entries: nodes, values: tokenValues, tokensMap, settings,
+}: { entries: readonly BaseNode[]; values: NodeTokenRefMap; tokensMap: Map<string, AnyTokenList[number]>; settings?: SettingsState }) {
+  // Big O (n * m): (n = amount of nodes, m = amount of applied tokens to the node)
+  const { baseFontSize } = settings ?? {};
+ 
+  const namespace = SharedPluginDataNamespaces.TOKENS;
+  postToUI({
+    type: MessageFromPluginTypes.START_JOB,
+    job: {
+      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+      timePerTask: 2,
+      completedTasks: 0,
+      totalTasks: nodes.length,
+    },
+  });
+ 
+  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
+  const promises: Set<Promise<void>> = new Set();
+ 
+  nodes.forEach((node) => {
+    promises.add(defaultWorker.schedule(async () => {
+      try {
+        await Promise.all(Object.entries(tokenValues).map(async ([key, value]) => {
+          const jsonValue = JSON.stringify(value);
+          switch (value) {
+            case 'delete':
+              await removePluginData({ nodes: [node], key: key as Properties, shouldRemoveValues: true });
+              break;
+            case 'none':
+              await setNonePluginData({ nodes: [node], key: key as Properties });
+              break;
+            default:
+              node.setSharedPluginData(namespace, key, jsonValue);
+              break;
+          }
+        }));
+        const rawTokenMap = destructureTokenForAlias(tokensMap, tokenValues);
+        const mappedValues = mapValuesToTokens(tokensMap, tokenValues);
+ 
+        setValuesOnNode(
+          {
+            node,
+            values: mappedValues,
+            data: rawTokenMap,
+            baseFontSize,
+          },
+        );
+      } catch (e) {
+        console.log('got error', e);
+      } finally {
+        tracker.next();
+        tracker.reportIfNecessary();
+      }
+    }));
+  });
+  await Promise.all(promises);
+ 
+  postToUI({
+    type: MessageFromPluginTypes.COMPLETE_JOB,
+    name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html new file mode 100644 index 000000000..0ca88a143 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/plugin/updateStyles.ts + + + + + + + + + +
+
+

All files / src/plugin updateStyles.ts

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SettingsState } from '@/app/store/models/settings';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { AnyTokenList, SingleToken } from '@/types/tokens';
+import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
+import { transformValue } from './helpers';
+import updateColorStyles from './updateColorStyles';
+import updateEffectStyles from './updateEffectStyles';
+import updateTextStyles from './updateTextStyles';
+import { notifyUI } from './notifiers';
+import type { ThemeObject } from '@/types';
+ 
+export default async function updateStyles(
+  tokens: AnyTokenList,
+  settings: SettingsState,
+  shouldCreate = false,
+  selectedTheme?: ThemeObject,
+): Promise<Record<string, string>> {
+  // Big O (n * m * l): (n = amount of tokens, m = amount of active themes, l = amount of tokenSets)
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+  const activeThemes = themeInfo.themes
+    .filter((theme) => Object.values(themeInfo.activeTheme).some((v) => v === theme.id))
+    .reverse();
+ 
+  const styleTokens = tokens.map((token) => {
+    // When multiple theme has the same active Token set then the last activeTheme wins
+    const activeTheme = selectedTheme || activeThemes.find((theme) => Object.entries(theme.selectedTokenSets).some(([tokenSet]) => tokenSet === token.internal__Parent));
+ 
+    const prefix = settings.prefixStylesWithThemeName && activeTheme ? activeTheme.name : null;
+    const slice = settings?.ignoreFirstPartForStyles && token.name.split('.').length > 1 ? 1 : 0;
+    const path = convertTokenNameToPath(token.name, prefix, slice);
+    return {
+      ...token,
+      path,
+      value: typeof token.value === 'string' ? transformValue(token.value, token.type, settings.baseFontSize) : token.value,
+      styleId: activeTheme?.$figmaStyleReferences ? activeTheme?.$figmaStyleReferences[token.name] : '',
+    } as SingleToken<true, { path: string, styleId: string }>;
+  }).filter((token) => token.path);
+ 
+  const colorTokens = styleTokens.filter((n) => [TokenTypes.COLOR].includes(n.type)) as Extract<
+    typeof styleTokens[number],
+  { type: TokenTypes.COLOR }
+  >[];
+  const textTokens = styleTokens.filter((n) => [TokenTypes.TYPOGRAPHY].includes(n.type)) as Extract<
+    typeof styleTokens[number],
+  { type: TokenTypes.TYPOGRAPHY }
+  >[];
+  const effectTokens = styleTokens.filter((n) => [TokenTypes.BOX_SHADOW].includes(n.type)) as Extract<
+    typeof styleTokens[number],
+  { type: TokenTypes.BOX_SHADOW }
+  >[];
+ 
+  if (!colorTokens && !textTokens && !effectTokens) return {};
+ 
+  const allStyleIds = await Promise.all([
+    ...(colorTokens.length > 0 ? [updateColorStyles(colorTokens, shouldCreate, settings.renameExistingStylesAndVariables)] : []),
+    ...(textTokens.length > 0 ? [updateTextStyles(textTokens, settings.baseFontSize, shouldCreate, settings.renameExistingStylesAndVariables)] : []),
+    ...(effectTokens.length > 0 ? [updateEffectStyles({
+      effectTokens, baseFontSize: settings.baseFontSize, shouldCreate, shouldRename: settings.renameExistingStylesAndVariables,
+    })] : []),
+  ]).then((results) => Object.assign({}, ...results));
+  if (styleTokens.length < tokens.length && shouldCreate) {
+    notifyUI('Some styles were ignored due to "Ignore first part of token name" export setting', { error: true });
+  }
+ 
+  return allStyleIds;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html new file mode 100644 index 000000000..49c8816ec --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/plugin/updateTextStyles.ts + + + + + + + + + +
+
+

All files / src/plugin updateTextStyles.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleTypographyToken } from '@/types/tokens';
+import { setTextValuesOnTarget } from './setTextValuesOnTarget';
+import { getTextStylesIdMap } from '@/utils/getTextStylesIdMap';
+import { getTextStylesKeyMap } from '@/utils/getTextStylesKeyMap';
+ 
+// Iterate over colorTokens to create objects that match figma styles
+// @returns A map of token names and their respective style IDs (if created or found)
+export default async function updateTextStyles(textTokens: SingleTypographyToken<true, { path: string, styleId: string }>[], baseFontSize: string, shouldCreate = false, shouldRename = false) {
+  // Iterate over textTokens to create objects that match figma styles
+  const textStylesToIdMap = getTextStylesIdMap();
+  const textStylesToKeyMap = getTextStylesKeyMap();
+  const tokenToStyleMap: Record<string, string> = {};
+ 
+  await Promise.all(textTokens.map(async (token) => {
+    if (textStylesToIdMap.has(token.styleId)) {
+      const textStyle = textStylesToIdMap.get(token.styleId)!;
+      if (shouldRename) {
+        textStyle.name = token.path;
+      }
+      tokenToStyleMap[token.name] = textStyle.id;
+      await setTextValuesOnTarget(textStyle, token.name, baseFontSize);
+    } else if (textStylesToKeyMap.has(token.path)) {
+      const textStyle = textStylesToKeyMap.get(token.path)!;
+      tokenToStyleMap[token.name] = textStyle.id;
+      await setTextValuesOnTarget(textStyle, token.name, baseFontSize);
+    } else if (shouldCreate) {
+      const style = figma.createTextStyle();
+      style.name = token.path;
+      tokenToStyleMap[token.name] = style.id;
+      await setTextValuesOnTarget(style, token.name, baseFontSize);
+    }
+  }));
+ 
+  return tokenToStyleMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html new file mode 100644 index 000000000..c95588179 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/plugin/updateVariables.ts + + + + + + + + + +
+
+

All files / src/plugin updateVariables.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AnyTokenList, SingleToken } from '@/types/tokens';
+import { generateTokensToCreate } from './generateTokensToCreate';
+import { ThemeObject, UsedTokenSetsMap } from '@/types';
+import { SettingsState } from '@/app/store/models/settings';
+import checkIfTokenCanCreateVariable from '@/utils/checkIfTokenCanCreateVariable';
+import setValuesOnVariable from './setValuesOnVariable';
+import { mapTokensToVariableInfo } from '@/utils/mapTokensToVariableInfo';
+ 
+export type CreateVariableTypes = {
+  collection: VariableCollection;
+  mode: string;
+  theme: ThemeObject;
+  tokens: Record<string, AnyTokenList>;
+  settings: SettingsState;
+  filterByTokenSet?: string;
+  overallConfig: UsedTokenSetsMap;
+};
+ 
+export type VariableToken = SingleToken<true, { path: string; variableId: string }>;
+ 
+export default async function updateVariables({
+  collection,
+  mode,
+  theme,
+  tokens,
+  settings,
+  filterByTokenSet,
+  overallConfig,
+}: CreateVariableTypes) {
+  const tokensToCreate = generateTokensToCreate({
+    theme,
+    tokens,
+    filterByTokenSet,
+    overallConfig,
+  });
+ 
+  // Do not use getVariablesWithoutZombies. It's not working.
+  // There seems to be a bug with getLocalVariablesAsync. It's not returning the variables in the collection - when they're being created.
+  // We could also get the current collection with figma.variables.getVariableCollectionByIdAsync(collection.id) and then fetch each variable,
+  // but that feels costly? We might need to double check this though.
+  // e.g. this wont work.
+  // const variablesInCollection = (await figma.variables.getLocalVariablesAsync()).filter((v) => v.variableCollectionId === collection.id);
+  const variablesInCollection = figma.variables
+    .getLocalVariables()
+    .filter((v) => v.variableCollectionId === collection.id);
+ 
+  const variablesToCreate: VariableToken[] = [];
+  tokensToCreate.forEach((token) => {
+    if (checkIfTokenCanCreateVariable(token, settings)) {
+      variablesToCreate.push(mapTokensToVariableInfo(token, theme, settings));
+    }
+  });
+ 
+  const variableObj = await setValuesOnVariable(
+    variablesInCollection,
+    variablesToCreate,
+    collection,
+    mode,
+    settings.baseFontSize,
+    settings.renameExistingStylesAndVariables,
+  );
+  const removedVariables: string[] = [];
+ 
+  // Remove variables not handled in the current theme
+  if (settings.removeStylesAndVariablesWithoutConnection) {
+    variablesInCollection
+      .filter((variable) => !Object.values(variableObj.variableKeyMap).includes(variable.key))
+      .forEach((variable) => {
+        removedVariables.push(variable.key);
+        variable.remove();
+      });
+  }
+ 
+  return {
+    variableIds: variableObj.variableKeyMap,
+    referenceVariableCandidate: variableObj.referenceVariableCandidates,
+    removedVariables,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html new file mode 100644 index 000000000..9c01908be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/plugin/updateVariablesFromPlugin.ts + + + + + + + + + +
+
+

All files / src/plugin updateVariablesFromPlugin.ts

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/34 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { getVariablesMap } from '@/utils/getVariablesMap';
+import setColorValuesOnVariable from './setColorValuesOnVariable';
+import { TokenTypes } from '@/constants/TokenTypes';
+import setBooleanValuesOnVariable from './setBooleanValuesOnVariable';
+import setNumberValuesOnVariable from './setNumberValuesOnVariable';
+import setStringValuesOnVariable from './setStringValuesOnVariable';
+import { UpdateTokenVariablePayload } from '@/types/payloads/UpdateTokenVariablePayload';
+import { checkCanReferenceVariable } from '@/utils/alias/checkCanReferenceVariable';
+ 
+export default async function updateVariablesFromPlugin(payload: UpdateTokenVariablePayload) {
+  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
+    type: AsyncMessageTypes.GET_THEME_INFO,
+  });
+  const variableMap = await getVariablesMap();
+  const nameToVariableMap = (await figma.variables.getLocalVariablesAsync())?.reduce<Record<string, Variable>>((acc, curr) => {
+    acc[curr.name] = curr;
+    return acc;
+  }, {});
+ 
+  themeInfo.themes.forEach((theme) => {
+    if (
+      Object.entries(theme.selectedTokenSets).some(
+        ([tokenSet, status]) => status === TokenSetStatus.ENABLED && tokenSet === payload.parent,
+      )
+    ) {
+      // Filter themes which contains this token
+      if (theme.$figmaVariableReferences?.[payload.name] && theme.$figmaModeId) {
+        const variable = variableMap[theme?.$figmaVariableReferences?.[payload.name]];
+        if (Object.values(themeInfo.activeTheme).includes(theme.id)) {
+          if (checkCanReferenceVariable(payload)) {
+            // If new token reference to another token, we update the variable to reference to another variable
+            let referenceTokenName: string = '';
+            if (payload.rawValue && payload.rawValue?.toString().startsWith('{')) {
+              referenceTokenName = payload.rawValue?.toString().slice(1, payload.rawValue.toString().length - 1);
+            } else {
+              referenceTokenName = payload.rawValue!.toString().substring(1);
+            }
+            const referenceVariable = nameToVariableMap[referenceTokenName.split('.').join('/')];
+            if (referenceVariable) {
+              variable.setValueForMode(theme.$figmaModeId, {
+                type: 'VARIABLE_ALIAS',
+                id: referenceVariable.id,
+              });
+            }
+          } else {
+            switch (payload.type) {
+              case TokenTypes.COLOR:
+                if (typeof payload.value === 'string') {
+                  setColorValuesOnVariable(variable, theme.$figmaModeId, payload.value);
+                }
+                break;
+              case TokenTypes.BOOLEAN:
+                if (typeof payload.value === 'string') {
+                  setBooleanValuesOnVariable(variable, theme.$figmaModeId, payload.value);
+                }
+                break;
+              case TokenTypes.TEXT:
+                if (typeof payload.value === 'string') {
+                  setStringValuesOnVariable(variable, theme.$figmaModeId, payload.value);
+                }
+                break;
+              case TokenTypes.SIZING:
+              case TokenTypes.DIMENSION:
+              case TokenTypes.BORDER_RADIUS:
+              case TokenTypes.BORDER_WIDTH:
+              case TokenTypes.SPACING:
+              case TokenTypes.NUMBER:
+                setNumberValuesOnVariable(variable, theme.$figmaModeId, Number(payload.value));
+                break;
+              default:
+                break;
+            }
+          }
+        }
+      }
+    }
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html new file mode 100644 index 000000000..a052e5a26 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/plugin/updateVariablesToReference.ts + + + + + + + + + +
+
+

All files / src/plugin updateVariablesToReference.ts

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ReferenceVariableType } from './setValuesOnVariable';
+ 
+export default async function updateVariablesToReference(figmaVariables: Map<string, string>, referenceVariableCandidates: ReferenceVariableType[]): Promise<Variable[]> {
+  const updatedVariables: Variable[] = [];
+  await Promise.all(referenceVariableCandidates.map(async (aliasVariable) => {
+    const referenceVariable = figmaVariables.get(aliasVariable.referenceVariable);
+    if (!referenceVariable) return;
+    let variable;
+    try {
+      variable = await figma.variables.importVariableByKeyAsync(referenceVariable);
+    } catch (e) {
+      console.log('error importing variable', e);
+    }
+    if (!variable) return;
+    try {
+      await aliasVariable.variable.setValueForMode(aliasVariable.modeId, {
+        type: 'VARIABLE_ALIAS',
+        id: variable.id,
+      });
+      updatedVariables.push(aliasVariable.variable);
+    } catch (e) {
+      console.log('error setting value for mode', e, aliasVariable, variable);
+    }
+  }));
+  return updatedVariables;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html b/packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html new file mode 100644 index 000000000..46ac528eb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/profiling + + + + + + + + + +
+
+

All files src/profiling

+
+ +
+ 0% + Statements + 0/50 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timing.ts +
+
0%0/10100%0/00%0/20%0/10
transaction.ts +
+
0%0/400%0/170%0/40%0/39
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html new file mode 100644 index 000000000..0ed9e4276 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/profiling/timing.ts + + + + + + + + + +
+
+

All files / src/profiling timing.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export type Timing = {
+  start: number,
+  end: number,
+  time: number
+};
+ 
+export type TimeWrapper<T> = {
+  result: T,
+  timing: Timing
+};
+export const time = <U>(fn: () => U): TimeWrapper<U> => {
+  const start = performance.now();
+  const result = fn();
+  const end = performance.now();
+ 
+  return {
+    result,
+    timing: {
+      start,
+      end,
+      time: end - start,
+    },
+ 
+  };
+};
+ 
+export const timeAsync = async<U>(fn: () => U): Promise<TimeWrapper<U>> => {
+  const start = performance.now();
+  const result = await fn();
+  const end = performance.now();
+  return {
+    result,
+    timing: {
+      start,
+      end,
+      time: end - start,
+    },
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html new file mode 100644 index 000000000..bcc29d157 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html @@ -0,0 +1,403 @@ + + + + + + Code coverage report for src/profiling/transaction.ts + + + + + + + + + +
+
+

All files / src/profiling transaction.ts

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/17 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { startTransaction, getCurrentHub, Transaction } from '@sentry/browser';
+ 
+/**
+ * The status of an Span. {@see Span.setStatus}
+ */
+const OK = 'ok';
+const UNKNOWN_ERROR = 'unknown_error';
+ 
+const shouldProfile = () => {
+  switch (process.env.ENVIRONMENT) {
+    case 'production':
+    case 'beta':
+      return !!process.env.SENTRY_DSN;
+    default:
+      return false;
+  }
+};
+ 
+interface TransactionOptions<U> {
+  name: string;
+  /**
+   * Optional string that will be used as transaction's description.
+   */
+  description?: string;
+  /**
+   * An optional stat extractor that will be called with the result of the wrapped function.
+   * @example
+   * ```ts
+   * wrapTransaction({
+   *  name: 'my-transaction',
+   * statExtractor: (result,transaction) => {
+   *   transaction.setMeasurement("memoryUsed", result.mem, "byte");
+   *  },()=>{...})
+   * ```
+   */
+  statExtractor?: (val: U, transaction: Transaction) => void
+}
+ 
+// eslint-disable-next-line @typescript-eslint/ban-types
+export const wrapTransaction = async<U>(opts: TransactionOptions<U>, fn: () => U): Promise<U> => {
+  // Do not run profiling if we are not in production
+  if (!shouldProfile()) {
+    return fn();
+  }
+ 
+  const transaction = startTransaction({ name: opts.name });
+ 
+  getCurrentHub().configureScope((scope) => scope.setSpan(transaction));
+  const span = transaction.startChild({ op: fn.name, description: opts.description }); // This function returns a Span
+ 
+  let result: U;
+ 
+  try {
+    result = await fn();
+    if (opts.statExtractor) {
+      opts.statExtractor(result, transaction);
+    }
+    span.setStatus(OK);
+  } catch (err) {
+    span.setStatus(UNKNOWN_ERROR);
+    throw err;
+  } finally {
+    span.finish(); // Remember that only finished spans will be sent with the
+  }
+ 
+  transaction.finish();
+  return result;
+};
+ 
+export const spanTransaction = async<U>(opts: TransactionOptions<U>, fn: () => U): Promise<U> => {
+  // Do not run profiling if we are not in production
+  if (!shouldProfile()) {
+    return fn();
+  }
+ 
+  const transaction = getCurrentHub().getScope().getTransaction();
+  const existingSpan = getCurrentHub().getScope().getSpan();
+ 
+  let result: U;
+  if (transaction || existingSpan) {
+    // We attempt to make a subspan before creating a span directly from the transaction
+    const span = (existingSpan || transaction)!.startChild({
+      op: opts.name,
+      description: opts.description,
+    });
+ 
+    try {
+      result = await fn();
+ 
+      if (opts.statExtractor) {
+        opts.statExtractor(result, transaction!);
+      }
+      // Do something
+      span.setStatus(OK);
+    } catch (err) {
+      span.setStatus(UNKNOWN_ERROR);
+      throw err;
+    } finally {
+      span.finish();
+    }
+  } else {
+    result = fn();
+  }
+ 
+  return result;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html new file mode 100644 index 000000000..995f66c1f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/activeApiProviderSelector.ts + + + + + + + + + +
+
+

All files / src/selectors activeApiProviderSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const activeApiProviderSelector = createSelector(uiStateSelector, (state) => state.api?.provider);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html new file mode 100644 index 000000000..52679c973 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/activeTabSelector.ts + + + + + + + + + +
+
+

All files / src/selectors activeTabSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const activeTabSelector = createSelector(
+  uiStateSelector,
+  (state) => state.activeTab,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html new file mode 100644 index 000000000..0535e7a75 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/activeThemeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors activeThemeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const activeThemeSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.activeTheme,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html new file mode 100644 index 000000000..17c3b1964 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/activeTokenSetReadOnlySelector.ts + + + + + + + + + +
+
+

All files / src/selectors activeTokenSetReadOnlySelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const activeTokenSetReadOnlySelector = createSelector(
+  tokenStateSelector,
+  ({ activeTokenSet, tokenSetMetadata }) => tokenSetMetadata[activeTokenSet]?.isDynamic,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html new file mode 100644 index 000000000..08472fc05 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/activeTokenSetSelector.ts + + + + + + + + + +
+
+

All files / src/selectors activeTokenSetSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const activeTokenSetSelector = createSelector(
+  tokenStateSelector,
+  (tokenState) => tokenState.activeTokenSet,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html new file mode 100644 index 000000000..f4e821a38 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/activeTokensTabSelector.ts + + + + + + + + + +
+
+

All files / src/selectors activeTokensTabSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const activeTokensTabSelector = createSelector(
+  uiStateSelector,
+  (state) => state.activeTokensTab,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html new file mode 100644 index 000000000..9155cf490 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/aliasBaseFontSizeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors aliasBaseFontSizeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const aliasBaseFontSizeSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.aliasBaseFontSize,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html new file mode 100644 index 000000000..2b21bb82f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/allTokenSetsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors allTokenSetsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const allTokenSetsSelector = createSelector(
+  tokenStateSelector,
+  (tokenState) => Object.keys(tokenState.tokens),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html new file mode 100644 index 000000000..8309dd1aa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/apiProvidersSelector.ts + + + + + + + + + +
+
+

All files / src/selectors apiProvidersSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const apiProvidersSelector = createSelector(
+  uiStateSelector,
+  (state) => state.apiProviders,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html new file mode 100644 index 000000000..d63c43197 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/apiSelector.ts + + + + + + + + + +
+
+

All files / src/selectors apiSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { shallowEqual } from 'react-redux';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const apiSelector = createSelector(
+  uiStateSelector,
+  (state) => state.api,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: shallowEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html new file mode 100644 index 000000000..f4383d605 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/backgroundJobsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors backgroundJobsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const backgroundJobsSelector = createSelector(
+  uiStateSelector,
+  (state) => state.backgroundJobs,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html new file mode 100644 index 000000000..b16cf90ed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/baseFontSizeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors baseFontSizeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const baseFontSizeSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.baseFontSize,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html new file mode 100644 index 000000000..9d04ce0b6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/branchSelector.ts + + + + + + + + + +
+
+

All files / src/selectors branchSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const branchSelector = (state: RootState) => state.branchState;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html new file mode 100644 index 000000000..683642bc7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/changedStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors changedStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { isEqual } from '@/utils/isEqual';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const changedStateSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.changedState,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: isEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html new file mode 100644 index 000000000..135cbb187 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/changelogSelector.ts + + + + + + + + + +
+
+

All files / src/selectors changelogSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const changelogSelector = createSelector(
+  uiStateSelector,
+  (state) => state.changelog,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html new file mode 100644 index 000000000..db4c71853 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/collapsedSelector.ts + + + + + + + + + +
+
+

All files / src/selectors collapsedSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const collapsedSelector = createSelector(
+  uiStateSelector,
+  (state) => state.collapsed,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html new file mode 100644 index 000000000..55aaee98b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/collapsedTokenSetsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors collapsedTokenSetsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const collapsedTokenSetsSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.collapsedTokenSets,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html new file mode 100644 index 000000000..c39ed688e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/collapsedTokenTypeObjSelector.ts + + + + + + + + + +
+
+

All files / src/selectors collapsedTokenTypeObjSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const collapsedTokenTypeObjSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.collapsedTokenTypeObj,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html new file mode 100644 index 000000000..f295b95b9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/collapsedTokensSelector.ts + + + + + + + + + +
+
+

All files / src/selectors collapsedTokensSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const collapsedTokensSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.collapsedTokens,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html new file mode 100644 index 000000000..0845185af --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/confirmStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors confirmStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { shallowEqual } from 'react-redux';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const confirmStateSelector = createSelector(
+  uiStateSelector,
+  (state) => state.confirmState,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: shallowEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html new file mode 100644 index 000000000..1f37df2a4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/createStylesWithVariableReferencesSelector.ts + + + + + + + + + +
+
+

All files / src/selectors createStylesWithVariableReferencesSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const createStylesWithVariableReferencesSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.createStylesWithVariableReferences,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html new file mode 100644 index 000000000..7d2035cfc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/displayTypeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors displayTypeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const displayTypeSelector = createSelector(
+  uiStateSelector,
+  (state) => state.displayType,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html new file mode 100644 index 000000000..f9ff03062 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/editProhibitedSelector.ts + + + + + + + + + +
+
+

All files / src/selectors editProhibitedSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const editProhibitedSelector = createSelector(tokenStateSelector, (state) => state.editProhibited);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html new file mode 100644 index 000000000..272b81619 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/editTokenSelector.ts + + + + + + + + + +
+
+

All files / src/selectors editTokenSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { shallowEqual } from 'react-redux';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const editTokenSelector = createSelector(
+  uiStateSelector,
+  (state) => state.editToken,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: shallowEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html new file mode 100644 index 000000000..52e41afe3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/figmaFontsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors figmaFontsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const figmaFontsSelector = createSelector(
+  uiStateSelector,
+  (state) => state.figmaFonts,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html new file mode 100644 index 000000000..9e4487626 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/getClientEmail.ts + + + + + + + + + +
+
+

All files / src/selectors getClientEmail.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const clientEmailSelector = createSelector(userStateSelector, (state) => state.licenseDetails.clientEmail);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html new file mode 100644 index 000000000..68648bede --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/getEntitlements.ts + + + + + + + + + +
+
+

All files / src/selectors getEntitlements.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const entitlementsSelector = createSelector(userStateSelector, (state) => state.licenseDetails.entitlements);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html new file mode 100644 index 000000000..f6ccd2f6e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/getLastopened.ts + + + + + + + + + +
+
+

All files / src/selectors getLastopened.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const getLastopened = createSelector(
+  uiStateSelector,
+  (state) => state.lastOpened,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html new file mode 100644 index 000000000..cd8e93a45 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/hasUnsavedChangesSelector.ts + + + + + + + + + +
+
+

All files / src/selectors hasUnsavedChangesSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const hasUnsavedChangesSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.hasUnsavedChanges,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html new file mode 100644 index 000000000..3fa154645 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/ignoreFirstPartForStylesSelector.ts + + + + + + + + + +
+
+

All files / src/selectors ignoreFirstPartForStylesSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const ignoreFirstPartForStylesSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.ignoreFirstPartForStyles,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html new file mode 100644 index 000000000..2a9890bd0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/importedThemesSelector.ts + + + + + + + + + +
+
+

All files / src/selectors importedThemesSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { isEqual } from '@/utils/isEqual';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const importedThemesSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.importedThemes,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: isEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html new file mode 100644 index 000000000..fe8a20577 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/importedTokensSelector.ts + + + + + + + + + +
+
+

All files / src/selectors importedTokensSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { isEqual } from '@/utils/isEqual';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const importedTokensSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.importedTokens,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: isEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html new file mode 100644 index 000000000..07d1aebe2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html @@ -0,0 +1,1541 @@ + + + + + + Code coverage report for src/selectors + + + + + + + + + +
+
+

All files src/selectors

+
+ +
+ 0% + Statements + 0/204 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/104 +
+ + +
+ 0% + Lines + 0/178 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
activeApiProviderSelector.ts +
+
0%0/2100%0/00%0/10%0/1
activeTabSelector.ts +
+
0%0/2100%0/00%0/10%0/2
activeThemeSelector.ts +
+
0%0/2100%0/00%0/10%0/2
activeTokenSetReadOnlySelector.ts +
+
0%0/2100%0/00%0/10%0/2
activeTokenSetSelector.ts +
+
0%0/2100%0/00%0/10%0/2
activeTokensTabSelector.ts +
+
0%0/2100%0/00%0/10%0/2
aliasBaseFontSizeSelector.ts +
+
0%0/2100%0/00%0/10%0/2
allTokenSetsSelector.ts +
+
0%0/2100%0/00%0/10%0/2
apiProvidersSelector.ts +
+
0%0/2100%0/00%0/10%0/2
apiSelector.ts +
+
0%0/2100%0/00%0/10%0/2
backgroundJobsSelector.ts +
+
0%0/2100%0/00%0/10%0/2
baseFontSizeSelector.ts +
+
0%0/2100%0/00%0/10%0/2
branchSelector.ts +
+
0%0/2100%0/00%0/10%0/1
changedStateSelector.ts +
+
0%0/2100%0/00%0/10%0/2
changelogSelector.ts +
+
0%0/2100%0/00%0/10%0/2
collapsedSelector.ts +
+
0%0/2100%0/00%0/10%0/2
collapsedTokenSetsSelector.ts +
+
0%0/2100%0/00%0/10%0/2
collapsedTokenTypeObjSelector.ts +
+
0%0/2100%0/00%0/10%0/2
collapsedTokensSelector.ts +
+
0%0/2100%0/00%0/10%0/2
confirmStateSelector.ts +
+
0%0/2100%0/00%0/10%0/2
createStylesWithVariableReferencesSelector.ts +
+
0%0/2100%0/00%0/10%0/2
displayTypeSelector.ts +
+
0%0/2100%0/00%0/10%0/2
editProhibitedSelector.ts +
+
0%0/2100%0/00%0/10%0/1
editTokenSelector.ts +
+
0%0/2100%0/00%0/10%0/2
figmaFontsSelector.ts +
+
0%0/2100%0/00%0/10%0/2
getClientEmail.ts +
+
0%0/2100%0/00%0/10%0/1
getEntitlements.ts +
+
0%0/2100%0/00%0/10%0/1
getLastopened.ts +
+
0%0/2100%0/00%0/10%0/2
hasUnsavedChangesSelector.ts +
+
0%0/2100%0/00%0/10%0/2
ignoreFirstPartForStylesSelector.ts +
+
0%0/2100%0/00%0/10%0/2
importedThemesSelector.ts +
+
0%0/2100%0/00%0/10%0/2
importedTokensSelector.ts +
+
0%0/2100%0/00%0/10%0/2
index.ts +
+
0%0/00%0/00%0/00%0/0
inspectDeepSelector.ts +
+
0%0/2100%0/00%0/10%0/2
inspectStateSelector.ts +
+
0%0/2100%0/00%0/10%0/1
isWaitingForBackgroundJobSelector.ts +
+
0%0/60%0/80%0/30%0/4
languageSelector.ts +
+
0%0/2100%0/00%0/10%0/2
lastSyncedStateSelector.ts +
+
0%0/2100%0/00%0/10%0/2
licenseDetailsSelector.ts +
+
0%0/2100%0/00%0/10%0/1
licenseKeyErrorSelector.ts +
+
0%0/2100%0/00%0/10%0/1
licenseKeySelector.ts +
+
0%0/2100%0/00%0/10%0/1
licenseStatusSelector.ts +
+
0%0/2100%0/00%0/10%0/1
localApiStateBranchSelector.ts +
+
0%0/40%0/20%0/10%0/4
localApiStateSelector.ts +
+
0%0/2100%0/00%0/10%0/2
mainNodeSelectionValuesSelector.ts +
+
0%0/2100%0/00%0/10%0/2
manageThemesModalOpenSelector.ts +
+
0%0/2100%0/00%0/10%0/2
planSelector.ts +
+
0%0/2100%0/00%0/10%0/1
prefixStylesWithThemeNameSelector.ts +
+
0%0/2100%0/00%0/10%0/2
projectURLSelector.ts +
+
0%0/2100%0/00%0/10%0/2
remoteDataSelector.ts +
+
0%0/2100%0/00%0/10%0/2
removeStylesAndVariablesWithoutConnectionSelector.ts +
+
0%0/2100%0/00%0/10%0/2
renameExistingStylesAndVariablesSelector.ts +
+
0%0/2100%0/00%0/10%0/2
rootStateSelector.ts +
+
0%0/2100%0/00%0/10%0/1
scrollPositionSetSelector.ts +
+
0%0/2100%0/00%0/10%0/2
secondScreenSelector.ts +
+
0%0/2100%0/00%0/10%0/1
sessionRecordingSelector.ts +
+
0%0/2100%0/00%0/10%0/2
settingsStateSelector.ts +
+
0%0/2100%0/00%0/10%0/1
showAutoSuggestSelector.ts +
+
0%0/2100%0/00%0/10%0/2
showConvertTokenFormatModalSelector.ts +
+
0%0/2100%0/00%0/10%0/2
showEditFormSelector.ts +
+
0%0/2100%0/00%0/10%0/2
showEmptyGroupsSelector.ts +
+
0%0/2100%0/00%0/10%0/2
showPullDialogSelector.ts +
+
0%0/2100%0/00%0/10%0/2
showPushDialogSelector.ts +
+
0%0/2100%0/00%0/10%0/2
storageTypeSelector.ts +
+
0%0/2100%0/00%0/10%0/2
storeTokenIdInJsonEditorSelector.ts +
+
0%0/2100%0/00%0/10%0/2
stringTokensSelector.ts +
+
0%0/2100%0/00%0/10%0/2
stylesColorSelector.ts +
+
0%0/2100%0/00%0/10%0/2
stylesEffectSelector.ts +
+
0%0/2100%0/00%0/10%0/2
stylesTypographySelector.ts +
+
0%0/2100%0/00%0/10%0/2
themeByIdSelector.ts +
+
0%0/50%0/20%0/30%0/4
themeObjectsSelector.ts +
+
0%0/2100%0/00%0/10%0/2
themeOptionsSelector.ts +
+
0%0/3100%0/00%0/20%0/2
themesListSelector.ts +
+
0%0/2100%0/00%0/10%0/2
themesSizeSelector.ts +
+
0%0/3100%0/00%0/20%0/3
tokenFilterSelector.ts +
+
0%0/2100%0/00%0/10%0/2
tokenFormatSelector.ts +
+
0%0/2100%0/00%0/10%0/2
tokenSetMetadataSelector.ts +
+
0%0/2100%0/00%0/10%0/1
tokenSetStatusSelector.ts +
+
0%0/30%0/20%0/20%0/3
tokenStateSelector.ts +
+
0%0/2100%0/00%0/10%0/1
tokenTypeSelector.ts +
+
0%0/2100%0/00%0/10%0/2
tokensSelector.ts +
+
0%0/2100%0/00%0/10%0/2
tokensSizeSelector.ts +
+
0%0/3100%0/00%0/20%0/3
tokensStudioPATSelector.ts +
+
0%0/3100%0/00%0/20%0/3
uiDisabledSelector.ts +
+
0%0/2100%0/00%0/10%0/2
uiStateSelector.ts +
+
0%0/2100%0/00%0/10%0/1
updateModeSelector.ts +
+
0%0/20%0/20%0/10%0/2
usedEmailSelector.ts +
+
0%0/2100%0/00%0/10%0/1
usedTokenSetSelector.ts +
+
0%0/2100%0/00%0/10%0/2
userIdSelector.ts +
+
0%0/2100%0/00%0/10%0/1
userNameSelector.ts +
+
0%0/2100%0/00%0/10%0/1
userStateSelector.ts +
+
0%0/2100%0/00%0/10%0/1
variablesBooleanSelector.ts +
+
0%0/2100%0/00%0/10%0/2
variablesColorSelector.ts +
+
0%0/2100%0/00%0/10%0/2
variablesNumberSelector.ts +
+
0%0/2100%0/00%0/10%0/2
variablesStringSelector.ts +
+
0%0/2100%0/00%0/10%0/2
windowSizeSelector.ts +
+
0%0/2100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html new file mode 100644 index 000000000..4b539d9d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/selectors/index.ts + + + + + + + + + +
+
+

All files / src/selectors index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './tokenStateSelector';
+export * from './uiStateSelector';
+export * from './settingsStateSelector';
+export * from './editProhibitedSelector';
+export * from './confirmStateSelector';
+export * from './tokensSelector';
+export * from './localApiStateSelector';
+export * from './usedTokenSetSelector';
+export * from './activeTokenSetSelector';
+export * from './activeTokenSetReadOnlySelector';
+export * from './apiSelector';
+export * from './showPushDialogSelector';
+export * from './showPullDialogSelector';
+export * from './mainNodeSelectionValuesSelector';
+export * from './storageTypeSelector';
+export * from './ignoreFirstPartForStylesSelector';
+export * from './apiProvidersSelector';
+export * from './activeApiProviderSelector';
+export * from './hasUnsavedChangesSelector';
+export * from './activeTabSelector';
+export * from './changelogSelector';
+export * from './projectURLSelector';
+export * from './lastSyncedStateSelector';
+export * from './editTokenSelector';
+export * from './importedTokensSelector';
+export * from './showEditFormSelector';
+export * from './tokenFilterSelector';
+export * from './tokenTypeSelector';
+export * from './inspectStateSelector';
+export * from './inspectDeepSelector';
+export * from './backgroundJobsSelector';
+export * from './showEmptyGroupsSelector';
+export * from './updateModeSelector';
+export * from './displayTypeSelector';
+export * from './collapsedSelector';
+export * from './uiDisabledSelector';
+export * from './themeOptionsSelector';
+export * from './activeThemeSelector';
+export * from './themesListSelector';
+export * from './manageThemesModalOpenSelector';
+export * from './branchSelector';
+export * from './rootStateSelector';
+export * from './windowSizeSelector';
+export * from './tokenSetStatusSelector';
+export * from './tokenSetMetadataSelector';
+export * from './allTokenSetsSelector';
+export * from './licenseStatusSelector';
+export * from './localApiStateBranchSelector';
+export * from './prefixStylesWithThemeNameSelector';
+export * from './renameExistingStylesAndVariablesSelector';
+export * from './removeStylesAndVariablesWithoutConnectionSelector';
+export * from './collapsedTokenSetsSelector';
+export * from './collapsedTokenTypeObjSelector';
+export * from './scrollPositionSetSelector';
+export * from './themeObjectsSelector';
+export * from './themeByIdSelector';
+export * from './isWaitingForBackgroundJobSelector';
+export * from './licenseDetailsSelector';
+export * from './getLastopened';
+export * from './baseFontSizeSelector';
+export * from './aliasBaseFontSizeSelector';
+export * from './figmaFontsSelector';
+export * from './changedStateSelector';
+export * from './remoteDataSelector';
+export * from './languageSelector';
+export * from './storeTokenIdInJsonEditorSelector';
+export * from './variablesColorSelector';
+export * from './variablesNumberSelector';
+export * from './variablesStringSelector';
+export * from './variablesBooleanSelector';
+export * from './stylesColorSelector';
+export * from './stylesTypographySelector';
+export * from './stylesEffectSelector';
+export * from './createStylesWithVariableReferencesSelector';
+export * from './importedThemesSelector';
+export * from './tokensSizeSelector';
+export * from './themesSizeSelector';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html new file mode 100644 index 000000000..fbb71b8ab --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/inspectDeepSelector.ts + + + + + + + + + +
+
+

All files / src/selectors inspectDeepSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const inspectDeepSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.inspectDeep,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html new file mode 100644 index 000000000..4cb9263a1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/inspectStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors inspectStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const inspectStateSelector = (state: RootState) => state.inspectState;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html new file mode 100644 index 000000000..f3d9acd9d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/selectors/isWaitingForBackgroundJobSelector.ts + + + + + + + + + +
+
+

All files / src/selectors isWaitingForBackgroundJobSelector.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import type { RootState } from '@/app/store';
+import { BackgroundJobs } from '@/constants/BackgroundJobs';
+import { backgroundJobsSelector } from './backgroundJobsSelector';
+ 
+const backgroundJobArgSelector = (state: RootState, job: BackgroundJobs) => job;
+ 
+export const isWaitingForBackgroundJobSelector = createSelector(
+  backgroundJobsSelector,
+  backgroundJobArgSelector,
+  (jobs, name) => {
+    const jobInfo = jobs.find((job) => job.name === name);
+    return (
+      jobInfo?.isInfinite
+      || (jobInfo && (jobInfo.completedTasks ?? 0) >= (jobInfo.totalTasks ?? 0))
+    ) ?? false;
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html new file mode 100644 index 000000000..854236774 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/languageSelector.ts + + + + + + + + + +
+
+

All files / src/selectors languageSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const languageSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.language,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html new file mode 100644 index 000000000..ff8e4c83b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/lastSyncedStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors lastSyncedStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const lastSyncedStateSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.lastSyncedState,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html new file mode 100644 index 000000000..f42eaa607 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/licenseDetailsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors licenseDetailsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const licenseDetailsSelector = createSelector(userStateSelector, (state) => state.licenseDetails);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html new file mode 100644 index 000000000..3247716c1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/licenseKeyErrorSelector.ts + + + + + + + + + +
+
+

All files / src/selectors licenseKeyErrorSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const licenseKeyErrorSelector = createSelector(userStateSelector, (state) => state.licenseError);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html new file mode 100644 index 000000000..4e6a58397 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/licenseKeySelector.ts + + + + + + + + + +
+
+

All files / src/selectors licenseKeySelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const licenseKeySelector = createSelector(userStateSelector, (state) => state.licenseKey);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html new file mode 100644 index 000000000..e1d6fd259 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/licenseStatusSelector.ts + + + + + + + + + +
+
+

All files / src/selectors licenseStatusSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const licenseStatusSelector = createSelector(userStateSelector, (state) => state.licenseStatus);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html new file mode 100644 index 000000000..ce68ab806 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/localApiStateBranchSelector.ts + + + + + + + + + +
+
+

All files / src/selectors localApiStateBranchSelector.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { localApiStateSelector } from './localApiStateSelector';
+import { isGitProvider } from '@/utils/is';
+ 
+export const localApiStateBranchSelector = createSelector(
+  localApiStateSelector,
+  (api) => {
+    if (isGitProvider(api)) {
+      return api.branch;
+    }
+    return null;
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html new file mode 100644 index 000000000..01baa7a3f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/localApiStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors localApiStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const localApiStateSelector = createSelector(
+  uiStateSelector,
+  (state) => state.localApiState,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html new file mode 100644 index 000000000..6d5c6af52 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/mainNodeSelectionValuesSelector.ts + + + + + + + + + +
+
+

All files / src/selectors mainNodeSelectionValuesSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { shallowEqual } from 'react-redux';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const mainNodeSelectionValuesSelector = createSelector(
+  uiStateSelector,
+  (state) => state.mainNodeSelectionValues,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: shallowEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html new file mode 100644 index 000000000..10f8fb140 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/manageThemesModalOpenSelector.ts + + + + + + + + + +
+
+

All files / src/selectors manageThemesModalOpenSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const manageThemesModalOpenSelector = createSelector(
+  uiStateSelector,
+  (state) => state.manageThemesModalOpen,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html new file mode 100644 index 000000000..8327ecb4c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/planSelector.ts + + + + + + + + + +
+
+

All files / src/selectors planSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const planSelector = createSelector(userStateSelector, (state) => state.licenseDetails.plan);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html new file mode 100644 index 000000000..939983608 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/prefixStylesWithThemeNameSelector.ts + + + + + + + + + +
+
+

All files / src/selectors prefixStylesWithThemeNameSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const prefixStylesWithThemeNameSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.prefixStylesWithThemeName,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html new file mode 100644 index 000000000..47e99b643 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/projectURLSelector.ts + + + + + + + + + +
+
+

All files / src/selectors projectURLSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const projectURLSelector = createSelector(
+  uiStateSelector,
+  (state) => state.projectURL,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html new file mode 100644 index 000000000..c932b2de4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/remoteDataSelector.ts + + + + + + + + + +
+
+

All files / src/selectors remoteDataSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { shallowEqual } from 'react-redux';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const remoteDataSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.remoteData,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: shallowEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html new file mode 100644 index 000000000..e060937e6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts + + + + + + + + + +
+
+

All files / src/selectors removeStylesAndVariablesWithoutConnectionSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const removeStylesAndVariablesWithoutConnectionSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.removeStylesAndVariablesWithoutConnection,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html new file mode 100644 index 000000000..4fb8eecf5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/renameExistingStylesAndVariablesSelector.ts + + + + + + + + + +
+
+

All files / src/selectors renameExistingStylesAndVariablesSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const renameExistingStylesAndVariablesSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.renameExistingStylesAndVariables,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html new file mode 100644 index 000000000..bd5a011f2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/rootStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors rootStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const rootStateSelector = (state: RootState) => state;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html new file mode 100644 index 000000000..b63abff7d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/scrollPositionSetSelector.ts + + + + + + + + + +
+
+

All files / src/selectors scrollPositionSetSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const scrollPositionSetSelector = createSelector(
+  uiStateSelector,
+  (state) => state.scrollPositionSet,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html new file mode 100644 index 000000000..2e6471e47 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/secondScreenSelector.ts + + + + + + + + + +
+
+

All files / src/selectors secondScreenSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const secondScreenSelector = createSelector(uiStateSelector, (state) => state.secondScreenEnabled);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html new file mode 100644 index 000000000..b5337bd03 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/sessionRecordingSelector.ts + + + + + + + + + +
+
+

All files / src/selectors sessionRecordingSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const sessionRecordingSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.sessionRecording,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html new file mode 100644 index 000000000..66c02069a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/settingsStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors settingsStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const settingsStateSelector = (state: RootState) => state.settings;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html new file mode 100644 index 000000000..b5012a662 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/showAutoSuggestSelector.ts + + + + + + + + + +
+
+

All files / src/selectors showAutoSuggestSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const showAutoSuggestSelector = createSelector(
+  uiStateSelector,
+  (state) => state.showAutoSuggest,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html new file mode 100644 index 000000000..4cbe85104 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/showConvertTokenFormatModalSelector.ts + + + + + + + + + +
+
+

All files / src/selectors showConvertTokenFormatModalSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const showConvertTokenFormatModalSelector = createSelector(
+  uiStateSelector,
+  (state) => state.showConvertTokenFormatModal,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html new file mode 100644 index 000000000..33dc0d88e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/showEditFormSelector.ts + + + + + + + + + +
+
+

All files / src/selectors showEditFormSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const showEditFormSelector = createSelector(
+  uiStateSelector,
+  (state) => state.showEditForm,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html new file mode 100644 index 000000000..da7a429cd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/showEmptyGroupsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors showEmptyGroupsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const showEmptyGroupsSelector = createSelector(
+  uiStateSelector,
+  (state) => state.showEmptyGroups,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html new file mode 100644 index 000000000..7e7576eea --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/showPullDialogSelector.ts + + + + + + + + + +
+
+

All files / src/selectors showPullDialogSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const showPullDialogSelector = createSelector(
+  uiStateSelector,
+  (state) => state.showPullDialog,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html new file mode 100644 index 000000000..54a255b7e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/showPushDialogSelector.ts + + + + + + + + + +
+
+

All files / src/selectors showPushDialogSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const showPushDialogSelector = createSelector(
+  uiStateSelector,
+  (state) => state.showPushDialog,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html new file mode 100644 index 000000000..56af1bec8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/storageTypeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors storageTypeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const storageTypeSelector = createSelector(
+  uiStateSelector,
+  (state) => state.storageType,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html new file mode 100644 index 000000000..3f1c25bd5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/storeTokenIdInJsonEditorSelector.ts + + + + + + + + + +
+
+

All files / src/selectors storeTokenIdInJsonEditorSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const storeTokenIdInJsonEditorSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.storeTokenIdInJsonEditor,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html new file mode 100644 index 000000000..49e8574ce --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/stringTokensSelector.ts + + + + + + + + + +
+
+

All files / src/selectors stringTokensSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const stringTokensSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.stringTokens,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html new file mode 100644 index 000000000..721bc127a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/stylesColorSelector.ts + + + + + + + + + +
+
+

All files / src/selectors stylesColorSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const stylesColorSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.stylesColor,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html new file mode 100644 index 000000000..c5a0ed7fe --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/stylesEffectSelector.ts + + + + + + + + + +
+
+

All files / src/selectors stylesEffectSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const stylesEffectSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.stylesEffect,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html new file mode 100644 index 000000000..1ead52ebc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/stylesTypographySelector.ts + + + + + + + + + +
+
+

All files / src/selectors stylesTypographySelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const stylesTypographySelector = createSelector(
+  settingsStateSelector,
+  (state) => state.stylesTypography,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html new file mode 100644 index 000000000..c83280d3b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/selectors/themeByIdSelector.ts + + + + + + + + + +
+
+

All files / src/selectors themeByIdSelector.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { themesListSelector } from './themesListSelector';
+import type { RootState } from '@/app/store';
+ 
+const idSelector = (state: RootState, id: string) => id;
+export const themeByIdSelector = createSelector(
+  idSelector,
+  themesListSelector,
+  (id, themes) => (
+    themes.find((theme) => (
+      theme.id === id
+    )) ?? null
+  ),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html new file mode 100644 index 000000000..c2d6e32e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/themeObjectsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors themeObjectsSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const themeObjectsSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.themes,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html new file mode 100644 index 000000000..f41ba2f38 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/themeOptionsSelector.ts + + + + + + + + + +
+
+

All files / src/selectors themeOptionsSelector.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const themeOptionsSelector = createSelector(
+  tokenStateSelector,
+  (state) => (
+    Object.values(state.themes).map(({ id, name, group }) => ({
+      value: id,
+      label: name,
+      group,
+    }))
+  ),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html new file mode 100644 index 000000000..fe7baaf72 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/themesListSelector.ts + + + + + + + + + +
+
+

All files / src/selectors themesListSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const themesListSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.themes,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html new file mode 100644 index 000000000..2edc59bdf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/selectors/themesSizeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors themesSizeSelector.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const themesSizeSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.themesSize,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: (a, b) => a === b,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html new file mode 100644 index 000000000..4a85e306d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/tokenFilterSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokenFilterSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const tokenFilterSelector = createSelector(
+  uiStateSelector,
+  (state) => state.tokenFilter,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html new file mode 100644 index 000000000..a729a3b97 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/tokenFormatSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokenFormatSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const tokenFormatSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.tokenFormat,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html new file mode 100644 index 000000000..4018f86b5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/tokenSetMetadataSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokenSetMetadataSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const tokenSetMetadataSelector = createSelector(tokenStateSelector, (state) => state.tokenSetMetadata);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html new file mode 100644 index 000000000..7a3a8ade7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/selectors/tokenSetStatusSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokenSetStatusSelector.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { usedTokenSetSelector } from './usedTokenSetSelector';
+import type { RootState } from '@/app/store';
+ 
+export const tokenSetStatusSelector = createSelector(
+  usedTokenSetSelector,
+  (state: RootState, tokenSet: string) => tokenSet,
+  (usedTokenSets, tokenSet) => (
+    usedTokenSets?.[tokenSet] ?? TokenSetStatus.DISABLED
+  ),
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html new file mode 100644 index 000000000..8e7f640d4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/tokenStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokenStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const tokenStateSelector = (state: RootState) => state.tokenState;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html new file mode 100644 index 000000000..e0c3790b0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/tokenTypeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokenTypeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const tokenTypeSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.tokenType,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html new file mode 100644 index 000000000..0f95414a2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/selectors/tokensSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokensSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { isEqual } from '@/utils/isEqual';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const tokensSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.tokens,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: isEqual,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html new file mode 100644 index 000000000..871f8060d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/selectors/tokensSizeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokensSizeSelector.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const tokensSizeSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.tokensSize,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: (a, b) => a === b,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html new file mode 100644 index 000000000..bacf35c9c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/selectors/tokensStudioPATSelector.ts + + + + + + + + + +
+
+

All files / src/selectors tokensStudioPATSelector.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const tokensStudioPATSelector = createSelector(
+  userStateSelector,
+  (userState) => userState.tokensStudioPAT,
+  {
+    memoizeOptions: {
+      resultEqualityCheck: (a, b) => a === b,
+    },
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html new file mode 100644 index 000000000..644cd5eeb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/uiDisabledSelector.ts + + + + + + + + + +
+
+

All files / src/selectors uiDisabledSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { uiStateSelector } from './uiStateSelector';
+ 
+export const uiDisabledSelector = createSelector(
+  uiStateSelector,
+  (state) => state.disabled,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html new file mode 100644 index 000000000..e9aa05449 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/uiStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors uiStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const uiStateSelector = (state: RootState) => state.uiState;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html new file mode 100644 index 000000000..2cb889296 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/selectors/updateModeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors updateModeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { UpdateMode } from '@/constants/UpdateMode';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const updateModeSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.updateMode ?? UpdateMode.PAGE,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html new file mode 100644 index 000000000..ffd2604d5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/usedEmailSelector.ts + + + + + + + + + +
+
+

All files / src/selectors usedEmailSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const usedEmailSelector = createSelector(userStateSelector, (state) => state.usedEmail);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html new file mode 100644 index 000000000..a723840e8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/usedTokenSetSelector.ts + + + + + + + + + +
+
+

All files / src/selectors usedTokenSetSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { tokenStateSelector } from './tokenStateSelector';
+ 
+export const usedTokenSetSelector = createSelector(
+  tokenStateSelector,
+  (state) => state.usedTokenSet,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html new file mode 100644 index 000000000..ae93eccb2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/userIdSelector.ts + + + + + + + + + +
+
+

All files / src/selectors userIdSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const userIdSelector = createSelector(userStateSelector, (state) => state.userId);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html new file mode 100644 index 000000000..a7c88a6bb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/userNameSelector.ts + + + + + + + + + +
+
+

All files / src/selectors userNameSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { userStateSelector } from './userStateSelector';
+ 
+export const userNameSelector = createSelector(userStateSelector, (state) => state.userName);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html new file mode 100644 index 000000000..0202a96be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/selectors/userStateSelector.ts + + + + + + + + + +
+
+

All files / src/selectors userStateSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { RootState } from '@/app/store';
+ 
+export const userStateSelector = (state: RootState) => state.userState;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html new file mode 100644 index 000000000..dfd59d37b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/variablesBooleanSelector.ts + + + + + + + + + +
+
+

All files / src/selectors variablesBooleanSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const variablesBooleanSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.variablesBoolean,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html new file mode 100644 index 000000000..7db703833 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/variablesColorSelector.ts + + + + + + + + + +
+
+

All files / src/selectors variablesColorSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const variablesColorSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.variablesColor,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html new file mode 100644 index 000000000..70643b265 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/variablesNumberSelector.ts + + + + + + + + + +
+
+

All files / src/selectors variablesNumberSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const variablesNumberSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.variablesNumber,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html new file mode 100644 index 000000000..23da90957 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/selectors/variablesStringSelector.ts + + + + + + + + + +
+
+

All files / src/selectors variablesStringSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const variablesStringSelector = createSelector(
+  settingsStateSelector,
+  (state) => state.variablesString,
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html new file mode 100644 index 000000000..a211a1a11 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/selectors/windowSizeSelector.ts + + + + + + + + + +
+
+

All files / src/selectors windowSizeSelector.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { createSelector } from 'reselect';
+import { settingsStateSelector } from './settingsStateSelector';
+ 
+export const windowSizeSelector = createSelector(settingsStateSelector, (state) => state.uiWindow);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html new file mode 100644 index 000000000..c8f86e167 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/stitches.config.ts + + + + + + + + + +
+
+

All files / src stitches.config.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// stitches.config.ts
+import { createStitches } from '@stitches/react';
+import { lightFigmaTheme as lightTheme, darkFigmaTheme as darkTheme, core } from '@tokens-studio/tokens';
+ 
+export const stitchesInstance = createStitches({
+  theme: {
+    colors: {
+      ...lightTheme.colors,
+      // TODO: We need to add these to the ui tokens.
+      proBg: '#e1d8ec',
+      proBorder: '#c2b2d8',
+      proFg: '#694993',
+    },
+    shadows: lightTheme.shadows,
+    ...core,
+    fontWeights: {
+      ...core.fontWeights,
+      // TODO: We should likely make everything 500 and get rid of 600
+      sansBold: 500,
+    },
+    fontSizes: {
+      ...core.fontSizes,
+      // TODO: We should remove this once we have a way to choose density / font size
+      xxsmall: '11px !important',
+      xsmall: '11px !important',
+      small: '12px !important',
+      base: '13px !important',
+      medium: '13px !important',
+      large: '14px !important',
+    },
+    radii: {
+      ...core.radii,
+      // TODO: Add to tokens
+      full: '999px',
+    },
+    sizes: {
+      ...core.sizes,
+      // TODO: Add to tokens
+      scrollbarWidth: '8px',
+    },
+  },
+});
+ 
+const {
+  createTheme, styled, css, keyframes, theme, globalCss,
+} = stitchesInstance;
+ 
+const lightThemeMode = createTheme('figma-light', {
+  colors: {
+    ...lightTheme.colors,
+    // TODO: We need to add these to the ui tokens.
+    proBg: '#e1d8ec',
+    proBorder: '#c2b2d8',
+    proFg: '#694993',
+  },
+  shadows: lightTheme.shadows,
+});
+ 
+const darkThemeMode = createTheme('figma-dark', {
+  colors: {
+    ...darkTheme.colors,
+    // TODO: We need to add these to the ui tokens.
+    proBg: '#402d5a',
+    proBorder: '#694993',
+    proFg: '#c2b2d8',
+  },
+  shadows: darkTheme.shadows,
+});
+ 
+export {
+  lightThemeMode, darkThemeMode, styled, css, keyframes, theme, globalCss,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html new file mode 100644 index 000000000..afd41a49e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html @@ -0,0 +1,1435 @@ + + + + + + Code coverage report for src/storage/ADOTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage ADOTokenStorage.ts

+
+ +
+ 0% + Statements + 0/126 +
+ + +
+ 0% + Branches + 0/85 +
+ + +
+ 0% + Functions + 0/31 +
+ + +
+ 0% + Lines + 0/119 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as GitInterfaces from 'azure-devops-node-api/interfaces/GitInterfaces';
+import compact from 'just-compact';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageTypeCredentials } from '@/types/StorageType';
+import { GitTokenStorage } from './GitTokenStorage';
+import {
+  RemoteTokenstorageErrorMessage,
+  RemoteTokenStorageFile, RemoteTokenStorageMetadataFile, RemoteTokenStorageSingleTokenSetFile, RemoteTokenStorageThemesFile,
+} from './RemoteTokenStorage';
+import { multiFileSchema, complexSingleFileSchema } from './schemas';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { AnyTokenSet } from '@/types/tokens';
+ 
+const apiVersion = 'api-version=6.0';
+ 
+enum ChangeType {
+  add = 'add',
+  edit = 'edit',
+  delete = 'delete',
+}
+enum ContentType {
+  rawtext = 'rawtext',
+}
+ 
+interface FetchGit {
+  body?: string
+  gitResource: 'refs' | 'items' | 'pushes' | 'commits'
+  method?: 'GET' | 'POST'
+  orgUrl?: string
+  params?: Record<string, string | boolean>
+  projectId?: string
+  repositoryId: string
+  token: string
+}
+ 
+type PostPushesArgs = {
+  branch: string
+  changes: Record<string, any>
+  commitMessage?: string
+  oldObjectId?: string
+};
+ 
+type PostRefsArgs = {
+  name: string
+  oldObjectId: string
+  newObjectId: string
+};
+ 
+export class ADOTokenStorage extends GitTokenStorage {
+  protected orgUrl: string;
+ 
+  protected projectId?: string;
+ 
+  protected source: string;
+ 
+  protected previousSourceBranch?: string;
+ 
+  constructor({
+    baseUrl: orgUrl = '',
+    secret,
+    id: repositoryId,
+    name: projectId,
+    branch,
+    previousSourceBranch = 'main',
+  }: Pick<
+  Extract<StorageTypeCredentials, { provider: StorageProviderType.ADO }>,
+  'baseUrl' | 'secret' | 'id' | 'name' | 'branch' | 'previousSourceBranch'
+  >) {
+    super(secret, '', repositoryId, orgUrl);
+    this.orgUrl = orgUrl;
+    this.projectId = projectId;
+    this.previousSourceBranch = previousSourceBranch;
+    this.source = branch;
+  }
+ 
+  public setSource(source: string) {
+    this.source = source;
+  }
+ 
+  public async fetchGit({
+    body,
+    gitResource,
+    orgUrl,
+    params,
+    projectId,
+    repositoryId,
+    token,
+    method = 'GET',
+  }: FetchGit): Promise<Response> {
+    const paramString = params
+      ? Object.entries(params).reduce<string>((acc, [key, value]) => `${acc}${key}=${value}&`, '') + apiVersion
+      : apiVersion;
+    const input = `${orgUrl}/${projectId ? `${projectId}/` : ''}_apis/git/repositories/${repositoryId}/${gitResource}?${paramString}`;
+    const res = await fetch(
+      input,
+      {
+        method,
+        headers: {
+          'Content-Type': 'application/json',
+          Authorization: `Basic ${btoa(`:${token}`)}`,
+        },
+        body,
+      },
+    );
+    return res;
+  }
+ 
+  public async canWrite(): Promise<boolean> {
+    if (!this.path.endsWith('.json') && !this.flags.multiFileEnabled) return false;
+ 
+    const { status } = await this.fetchGit({
+      gitResource: 'refs',
+      orgUrl: this.orgUrl,
+      params: {
+        filter: 'heads',
+      },
+      projectId: this.projectId,
+      repositoryId: this.repository,
+      token: this.secret,
+    });
+    return status === 200;
+  }
+ 
+  private async getRefs(filter: string = 'heads'): Promise<{ count: number, value: GitInterfaces.GitRef[] }> {
+    try {
+      const response = await this.fetchGit({
+        gitResource: 'refs',
+        orgUrl: this.orgUrl,
+        params: { filter },
+        projectId: this.projectId,
+        repositoryId: this.repository,
+        token: this.secret,
+      });
+      return await response.json();
+    } catch (e) {
+      console.log(e);
+      return { count: 0, value: [] };
+    }
+  }
+ 
+  private async postRefs(body: PostRefsArgs) {
+    try {
+      const response = await this.fetchGit({
+        method: 'POST',
+        gitResource: 'refs',
+        orgUrl: this.orgUrl,
+        body: JSON.stringify([body]),
+        projectId: this.projectId,
+        repositoryId: this.repository,
+        token: this.secret,
+      });
+      return await response.json();
+    } catch (e) {
+      console.log(e);
+      return { count: 0, value: [] };
+    }
+  }
+ 
+  public async fetchBranches() {
+    const { value } = await this.getRefs();
+    const branches:string[] = [];
+    for (const val of value) {
+      if (val.name) {
+        branches.push(val.name.replace(/^refs\/heads\//, ''));
+      }
+    }
+    return branches;
+  }
+ 
+  public async createBranch(branch: string, source: string = this.branch): Promise<boolean> {
+    const { value } = await this.getRefs(`heads/${source}`);
+    if (value[0]?.objectId) {
+      const response = await this.postRefs({
+        name: `refs/heads/${branch}`,
+        oldObjectId: '0000000000000000000000000000000000000000',
+        newObjectId: value[0].objectId,
+      });
+      return response?.value[0]?.success ?? false;
+    }
+    return false;
+  }
+ 
+  private async getOldObjectId(branch: string, shouldCreateBranch: boolean) {
+    const { value } = await this.getRefs();
+    const branches = new Map<string, GitInterfaces.GitRef>();
+    for (const val of value) {
+      if (val.name) {
+        branches.set(val.name.replace(/^refs\/heads\//, ''), val);
+      }
+    }
+    const sourceBranch = this.previousSourceBranch || this.source;
+    return shouldCreateBranch ? branches.get(sourceBranch)?.objectId : branches.get(branch)?.objectId;
+  }
+ 
+  private itemsDefault(): Omit<FetchGit, 'body' | 'params'> {
+    return {
+      gitResource: 'items',
+      orgUrl: this.orgUrl,
+      projectId: this.projectId,
+      repositoryId: this.repository,
+      token: this.secret,
+    };
+  }
+ 
+  private async getItem(path: string = this.path): Promise<any> {
+    try {
+      // @README setting includeContent to true
+      // enables downloading the content instead
+      const response = await this.fetchGit({
+        ...this.itemsDefault(),
+        params: {
+          path,
+          'versionDescriptor.version': this.branch,
+          'versionDescriptor.versionType': 'branch',
+          includeContent: true,
+        },
+      });
+      return await response.json();
+    } catch (e) {
+      console.log(e);
+      return {};
+    }
+  }
+ 
+  private async getItems(): Promise<{ count: number, value?: GitInterfaces.GitItem[] }> {
+    try {
+      const response = await this.fetchGit({
+        ...this.itemsDefault(),
+        params: {
+          scopePath: this.path.replace(/[^/]+\.json$/, ''),
+          recursionLevel: 'full',
+          ...(this.source && {
+            'versionDescriptor.version': this.source,
+            'versionDescriptor.versionType': 'branch',
+          }),
+        },
+      });
+      return await response.json();
+    } catch (e) {
+      console.log(e);
+      return { count: 0, value: [] };
+    }
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    try {
+      if (!this.path.endsWith('.json')) {
+        const { value } = await this.getItems();
+        const jsonFiles = value
+          ?.filter((file) => (file.path?.endsWith('.json')))
+          .sort((a, b) => (
+            (a.path && b.path) ? a.path.localeCompare(b.path) : 0
+          )) ?? [];
+ 
+        if (!jsonFiles.length) return [];
+ 
+        const jsonFileContents = await Promise.all(
+          jsonFiles.map(async ({ path }) => {
+            const res = await this.getItem(path);
+            const validationResult = await multiFileSchema.safeParseAsync(res);
+            if (validationResult.success) {
+              return validationResult.data;
+            }
+            return null;
+          }),
+        );
+        return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
+          const { path } = jsonFiles[index];
+          if (fileContent) {
+            const name = path?.replace(this.path, '')?.replace(/^\/+/, '')?.replace('.json', '');
+            if (name === SystemFilenames.THEMES && Array.isArray(fileContent)) {
+              return {
+                path,
+                type: 'themes',
+                data: fileContent,
+              } as RemoteTokenStorageThemesFile;
+            }
+ 
+            if (!Array.isArray(fileContent)) {
+              if (name === SystemFilenames.METADATA) {
+                return {
+                  path,
+                  type: 'metadata',
+                  data: fileContent,
+                } as RemoteTokenStorageMetadataFile;
+              }
+ 
+              return {
+                path,
+                name,
+                type: 'tokenSet',
+                data: fileContent,
+              } as RemoteTokenStorageSingleTokenSetFile;
+            }
+          }
+ 
+          return null;
+        }));
+      }
+ 
+      const singleItem = await this.getItem();
+      const singleItemValidationResult = await complexSingleFileSchema.safeParseAsync(singleItem);
+ 
+      if (singleItemValidationResult.success) {
+        const { $themes = [], $metadata, ...data } = singleItemValidationResult.data;
+ 
+        return [
+          {
+            type: 'themes',
+            path: this.path,
+            data: $themes,
+          },
+          ...($metadata ? [
+            {
+              type: 'metadata' as const,
+              path: this.path,
+              data: $metadata,
+            },
+          ] : []),
+          ...(Object.entries(data).filter(([key]) => (
+            !Object.values<string>(SystemFilenames).includes(key)
+          )) as [string, AnyTokenSet<false>][]).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+            name,
+            type: 'tokenSet',
+            path: this.path,
+            data: !Array.isArray(tokenSet) ? tokenSet : {},
+          })),
+        ];
+      }
+      if (singleItem.errorCode === 0) {
+        return [];
+      }
+      return {
+        errorMessage: ErrorMessages.VALIDATION_ERROR,
+      };
+    } catch (e) {
+      console.log(e);
+    }
+    return [];
+  }
+ 
+  private async postPushes({
+    branch, changes, commitMessage = 'Commit from Figma', oldObjectId,
+  }: PostPushesArgs): Promise<GitInterfaces.GitPush> {
+    // We need to get the latest commit ID to push to the correct branch
+    const commitsResponse = await this.fetchGit({
+      gitResource: 'commits',
+      method: 'GET',
+      orgUrl: this.orgUrl,
+      projectId: this.projectId,
+      repositoryId: this.repository,
+      token: this.secret,
+      params: {
+        'searchCriteria.$top': '1',
+        'searchCriteria.itemVersion.version': branch,
+      },
+    }).then((res) => res.json());
+ 
+    if (!commitsResponse.value) {
+      const errorMessage = commitsResponse.message || ErrorMessages.ADO_CREDENTIAL_ERROR;
+      throw new Error(errorMessage);
+    }
+ 
+    const latestCommitId = commitsResponse.value[0]?.commitId;
+ 
+    const pushesResponse = await this.fetchGit({
+      body: JSON.stringify({
+        refUpdates: [
+          {
+            name: `refs/heads/${branch}`,
+            oldObjectId: latestCommitId ?? oldObjectId,
+          },
+        ],
+        commits: [
+          {
+            comment: commitMessage,
+            changes,
+          },
+        ],
+      }),
+      gitResource: 'pushes',
+      method: 'POST',
+      orgUrl: this.orgUrl,
+      projectId: this.projectId,
+      repositoryId: this.repository,
+      token: this.secret,
+    });
+    return pushesResponse;
+  }
+ 
+  public async writeChangeset(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch: boolean = false): Promise<boolean> {
+    const oldObjectId = await this.getOldObjectId(this.source, shouldCreateBranch);
+    const { value } = await this.getItems();
+    const tokensOnRemote = value?.map((val) => val.path) ?? [];
+    const changesForUpdateOrCreate = Object.entries(changeset)
+      .map(([path, content]) => {
+        const formattedPath = path.startsWith('/') ? path : `/${path}`;
+        return ({
+          changeType: tokensOnRemote.includes(formattedPath) ? ChangeType.edit : ChangeType.add,
+          item: {
+            path: formattedPath,
+          },
+          newContent: {
+            content,
+            contentType: ContentType.rawtext,
+          },
+        });
+      });
+ 
+    // Create branch in remote if it does not already exist
+    const existingBranches = await this.fetchBranches();
+    if (!existingBranches.includes(branch)) {
+      await this.createBranch(branch, this.previousSourceBranch);
+    }
+ 
+    if (!this.path.endsWith('.json')) {
+      const jsonFiles = value?.filter((file) => (file.path?.endsWith('.json')))?.map((val) => val.path) ?? [];
+      const filesToDelete = jsonFiles.filter((jsonFile) => !Object.keys(changeset).some((item) => jsonFile && jsonFile.endsWith(item)))
+        .map((fileToDelete) => (fileToDelete ?? ''));
+      const changesForDelete = filesToDelete.map((path) => {
+        const formattedPath = path.startsWith('/') ? path : `/${path}`;
+        return ({
+          changeType: ChangeType.delete,
+          item: {
+            path: formattedPath,
+          },
+        });
+      });
+      const changes = changesForDelete.concat(changesForUpdateOrCreate);
+ 
+      const response = await this.postPushes({
+        branch,
+        changes,
+        commitMessage: message,
+        oldObjectId,
+      });
+ 
+      return !!response;
+    }
+ 
+    const response = await this.postPushes({
+      branch,
+      changes: changesForUpdateOrCreate,
+      commitMessage: message,
+      oldObjectId,
+    });
+    return !!response;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html new file mode 100644 index 000000000..f4e67e962 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html @@ -0,0 +1,1297 @@ + + + + + + Code coverage report for src/storage/BitbucketTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage BitbucketTokenStorage.ts

+
+ +
+ 0% + Statements + 0/103 +
+ + +
+ 0% + Branches + 0/57 +
+ + +
+ 0% + Functions + 0/23 +
+ + +
+ 0% + Lines + 0/100 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Bitbucket, Schema } from 'bitbucket';
+import compact from 'just-compact';
+import {
+  RemoteTokenStorageFile,
+  RemoteTokenStorageMetadata,
+  RemoteTokenstorageErrorMessage,
+} from './RemoteTokenStorage';
+import { GitMultiFileObject, GitSingleFileObject, GitTokenStorage } from './GitTokenStorage';
+import { AnyTokenSet } from '@/types/tokens';
+import { ThemeObjectsList } from '@/types';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+ 
+type CreatedOrUpdatedFileType = {
+  owner: string;
+  repo: string;
+  branch: string;
+  createBranch?: boolean;
+  changes: {
+    message: string;
+    files: Record<string, string>;
+  }[];
+};
+ 
+type FetchJsonResult = any[] | Record<string, any>;
+ 
+export class BitbucketTokenStorage extends GitTokenStorage {
+  private bitbucketClient;
+ 
+  constructor(secret: string, owner: string, repository: string, baseUrl?: string, username?: string) {
+    super(secret, owner, repository, baseUrl, username);
+    this.flags = {
+      multiFileEnabled: false,
+    };
+ 
+    this.bitbucketClient = new Bitbucket({
+      auth: {
+        username: this.username || this.owner, // technically username is required, but we'll use owner as a fallback
+        password: this.secret,
+      },
+      baseUrl: this.baseUrl || undefined,
+    });
+  }
+ 
+  // https://bitbucketjs.netlify.app/#api-repositories-repositories_listBranches OR
+  // https://developer.atlassian.com/cloud/bitbucket/rest/api-group-refs/#api-repositories-workspace-repo-slug-refs-get
+  public async fetchBranches(): Promise<string[]> {
+    const branches = await this.bitbucketClient.repositories.listBranches({
+      workspace: this.owner,
+      repo_slug: this.repository,
+    });
+ 
+    if (!branches || !branches.data) {
+      return ['No data'];
+    }
+    // README we'll have to account for paginated branches somehow, this only returns
+    // the first 10 branches which is fine for now
+    return branches.data!.values!.map((branch) => branch.name) as string[];
+  }
+ 
+  /**
+   * Creates a new branch in the repository.
+   *
+   * [Bibucket API reference](https://developer.atlassian.com/cloud/bitbucket/rest/api-group-refs/#api-repositories-workspace-repo-slug-refs-branches-post)
+   * [bitbucketjs API reference](https://bitbucketjs.netlify.app/#api-repositories-repositories_createBranch)
+   *
+   * @param branch - The name of the new branch to create.
+   * @param source - The name of the branch to create the new branch from. If not provided, the current branch is used.
+   *
+   * @returns A promise that resolves to a boolean indicating whether the branch was successfully created.
+   *
+   * @throws Will throw an error if the origin branch could not be retrieved.
+   */
+  public async createBranch(branch: string, source?: string) {
+    try {
+      const originBranch = await this.bitbucketClient.repositories.listRefs({
+        workspace: this.owner,
+        repo_slug: this.repository,
+      });
+ 
+      const sourceBranchName = source || this.branch;
+      const sourceBranch = originBranch.data.values.find(
+        (branchValue: Schema.Branch) => branchValue.name === sourceBranchName,
+      );
+ 
+      if (
+        !originBranch.data
+        || !originBranch.data.values
+        || !sourceBranch
+        || !sourceBranch.target
+        || !sourceBranch.target.hash
+      ) {
+        throw new Error('Could not retrieve origin branch');
+      }
+ 
+      const newBranch = await this.bitbucketClient.refs.createBranch({
+        workspace: this.owner,
+        _body: {
+          name: branch, // branch name
+          target: {
+            hash: sourceBranch.target.hash, // hash of the commit the new branch should point to
+          },
+        },
+        repo_slug: this.repository,
+      });
+ 
+      return newBranch.status === 201;
+    } catch (err) {
+      console.error(err);
+      return false;
+    }
+  }
+ 
+  // https://bitbucketjs.netlify.app/#api-users-users_getAuthedUser OR
+  // https://developer.atlassian.com/cloud/bitbucket/rest/api-group-users/?utm_source=%2Fbitbucket%2Fapi%2F2%2Freference%2Fresource%2Fuser&utm_medium=302#api-user-get
+  // this would be best: https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/#api-repositories-workspace-repo-slug-permissions-config-users-selected-user-id-get
+  public async canWrite(): Promise<boolean> {
+    const currentUser = await this.bitbucketClient.users.getAuthedUser({});
+    if (!currentUser.data.account_id) return false;
+    try {
+      const { data } = await this.bitbucketClient.repositories.listPermissions({});
+      const permission = data.values?.[0]?.permission;
+ 
+      const canWrite = !!(permission === 'admin' || 'write');
+      return !!canWrite;
+    } catch (e) {
+      return false;
+    }
+  }
+ 
+  /**
+   * Reads the content of the files in a Bitbucket repository.
+   *
+   * Fetches the content of the files in a Bitbucket repository specified by the `owner`, `repository`, and `branch` properties.
+   * Filters out the JSON files and processes their content.
+   *
+   * Returns a promise that resolves to an array of `RemoteTokenStorageFile` objects, if successful.
+   * Each `RemoteTokenStorageFile` object represents a file in the repository and contains the file's path, name, type, and data.
+   *
+   * @returns A promise that resolves to an array of `RemoteTokenStorageFile` objects or a `RemoteTokenstorageErrorMessage` object.
+   * @throws Will throw an error if the operation fails.
+   */
+ 
+  private async fetchJsonFilesFromDirectory(url: string): Promise<FetchJsonResult> {
+    let allJsonFiles: any[] = [];
+    let nextPageUrl: string | null = `${url}?pagelen=100`;
+ 
+    while (nextPageUrl) {
+      const response = await fetch(nextPageUrl, {
+        headers: {
+          Authorization: `Basic ${btoa(`${this.username}:${this.secret}`)}`,
+        },
+        cache: 'no-cache',
+      });
+ 
+      if (!response.ok) {
+        throw new Error(`Failed to read from Bitbucket: ${response.statusText}`);
+      }
+ 
+      const data = await response.json();
+      if (data.values && Array.isArray(data.values)) {
+        const jsonFiles = data.values.filter((file: any) => file.path.endsWith('.json'));
+        allJsonFiles = allJsonFiles.concat(jsonFiles);
+ 
+        // Fetch files from subdirectories recursively
+        const subDirectoryFiles = await Promise.all(
+          data.values
+            .filter((file: any) => file.type === 'commit_directory')
+            .map(async (directory: any) => await this.fetchJsonFilesFromDirectory(directory.links.self.href)),
+        );
+ 
+        allJsonFiles = allJsonFiles.concat(...subDirectoryFiles);
+      }
+ 
+      nextPageUrl = data.next || null;
+    }
+ 
+    return allJsonFiles;
+  }
+ 
+  private async fetchJsonFile(url: string): Promise<GitSingleFileObject> {
+    const response = await fetch(url, {
+      headers: {
+        Authorization: `Basic ${btoa(`${this.username}:${this.secret}`)}`,
+      },
+      cache: 'no-cache',
+    });
+ 
+    if (!response.ok) {
+      throw new Error(`Failed to read from Bitbucket: ${response.statusText}`);
+    }
+ 
+    const data = await response.json();
+ 
+    return data;
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    const normalizedPath = compact(this.path.split('/')).join('/');
+ 
+    try {
+      const url = `https://api.bitbucket.org/2.0/repositories/${this.owner}/${this.repository}/src/${this.branch}/${normalizedPath}`;
+ 
+      // Single file
+      if (this.path.endsWith('.json')) {
+        const jsonFile = await this.fetchJsonFile(url);
+ 
+        return [
+          {
+            type: 'themes',
+            path: `${SystemFilenames.THEMES}.json`,
+            data: jsonFile.$themes ?? [],
+          },
+          ...(jsonFile.$metadata
+            ? [
+              {
+                type: 'metadata' as const,
+                path: `${SystemFilenames.METADATA}.json`,
+                data: jsonFile.$metadata,
+              },
+            ]
+            : []),
+          ...(
+            Object.entries(jsonFile).filter(([key]) => !Object.values<string>(SystemFilenames).includes(key)) as [
+              string,
+              AnyTokenSet<false>,
+            ][]
+          ).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+            name,
+            type: 'tokenSet',
+            path: `${name}.json`,
+            data: tokenSet,
+          })),
+        ];
+      }
+ 
+      // Multi file when it is enabled
+      if (this.flags.multiFileEnabled) {
+        const jsonFiles = await this.fetchJsonFilesFromDirectory(url);
+ 
+        const jsonFileContents = await Promise.all(
+          jsonFiles.map((file: any) => fetch(file.links.self.href, {
+            headers: {
+              Authorization: `Basic ${btoa(`${this.username}:${this.secret}`)}`,
+            },
+            cache: 'no-cache',
+          }).then((rsp) => rsp.text())),
+        );
+        // Process the content of each JSON file
+        return jsonFileContents.map((fileContent, index) => {
+          const { path } = jsonFiles[index];
+          const filePath = path.startsWith(this.path) ? path : `${this.path}/${path}`;
+          let name = filePath.substring(this.path.length).replace(/^\/+/, '');
+          name = name.replace('.json', '');
+          const parsed = JSON.parse(fileContent) as GitMultiFileObject;
+ 
+          if (name === SystemFilenames.THEMES) {
+            return {
+              path: filePath,
+              type: 'themes',
+              data: parsed as ThemeObjectsList,
+            };
+          }
+ 
+          if (name === SystemFilenames.METADATA) {
+            return {
+              path: filePath,
+              type: 'metadata',
+              data: parsed as RemoteTokenStorageMetadata,
+            };
+          }
+ 
+          return {
+            path: filePath,
+            name,
+            type: 'tokenSet',
+            data: parsed as AnyTokenSet<false>,
+          };
+        });
+      }
+ 
+      return {
+        errorMessage: ErrorMessages.VALIDATION_ERROR,
+      };
+    } catch (e) {
+      console.error('Error', e);
+      return [];
+    }
+  }
+ 
+  /**
+   * Create or update files in a Bitbucket repository.
+   *
+   * [Bitbucket API reference](https://developer.atlassian.com/cloud/bitbucket/rest/api-group-source/#api-repositories-workspace-repo-slug-src-post)
+   *
+   * @param {Object} params - The parameters for creating or updating files.
+   * @param {string} params.owner - The owner of the repository.
+   * @param {string} params.repo - The repository where the files will be created or updated.
+   * @param {string} params.branch - The branch where the files will be created or updated.
+   * @param {Array} params.changes - An array of changes to be made. Each change is an object that includes a message and files.
+   * @param {string} params.changes[].message - The commit message for the change.
+   * @param {Object} params.changes[].files - The files to be created or updated. This is a Record<string, string> where the key is the filename and the value is the new content.
+   *
+   * @returns {Promise} A promise that resolves to the response from the Bitbucket API.
+   *
+   * @example
+   * const params = {
+   *   owner: 'owner',
+   *   repo: 'repo',
+   *   branch: 'branch',
+   *   changes: [
+   *     {
+   *       message: 'Initial commit',
+   *       files: {
+   *         'data/tokens.json': JSON.stringify(data),
+   *       },
+   *     },
+   *   ],
+   * };
+   * const response = await createOrUpdateFiles(params);
+   */
+  public async createOrUpdateFiles({
+    owner, repo, branch, changes,
+  }: CreatedOrUpdatedFileType) {
+    const { message, files } = changes[0];
+ 
+    const data = new FormData();
+ 
+    const normalizedPath = compact(this.path.split('/')).join('/');
+    let deletedTokenSets: string[] = [];
+ 
+    if (!normalizedPath.endsWith('.json') && this.flags.multiFileEnabled) {
+      try {
+        const url = `https://api.bitbucket.org/2.0/repositories/${owner}/${repo}/src/${branch}/${normalizedPath}`;
+        const existingFiles = await this.fetchJsonFilesFromDirectory(url);
+ 
+        const existingTokenSets: Record<string, boolean> = {};
+        if (Array.isArray(existingFiles)) {
+          existingFiles.forEach((file) => {
+            if (file.path.endsWith('.json') && !file.path.startsWith('$')) {
+              const tokenSetName = file.path.replace('.json', '');
+              existingTokenSets[tokenSetName] = true;
+            }
+          });
+        }
+ 
+        const localTokenSets = Object.keys(files);
+ 
+        deletedTokenSets = Object.keys(existingTokenSets).filter(
+          (tokenSet) => !localTokenSets.includes(tokenSet) && !tokenSet.startsWith('$'),
+        );
+      } catch (e) {
+        // Do nothing as the folder is not yet created
+      }
+    }
+ 
+    // @README the files object is Record<string, string> here
+    // with the key equal to the filename and the value equal to the new content
+    // this actually doesn't take into account deletions - but we can consider this later
+    // as per the Bitbucket API we basically need to add these key value pairs to the FormData object "as-is"
+    Object.entries(files).forEach(([file, content]) => {
+      data.append(file, content);
+      // we will also add all the "files" parameters so we can perform deletions later down the line
+      // as per the doc - any specified path in "files" whithout a content definition elsewhere in the FormData will be deleted
+      // @NOTE we can actually add the files parameter multiple times - this is fine and Bitbucket will pick this up correctly
+      data.append('files', file);
+    });
+ 
+    deletedTokenSets.forEach((tokenSet) => {
+      data.append('files', `${tokenSet}.json`); // Mark for deletion
+    });
+ 
+    const response = await this.bitbucketClient.repositories.createSrcFileCommit({
+      _body: data,
+      branch,
+      message,
+      repo_slug: repo,
+      workspace: owner,
+    });
+ 
+    return response;
+  }
+ 
+  public async writeChangeset(
+    changeset: Record<string, string>,
+    message: string,
+    branch: string,
+    shouldCreateBranch?: boolean,
+  ): Promise<boolean> {
+    const response = this.createOrUpdateFiles({
+      owner: this.owner,
+      repo: this.repository,
+      branch,
+      createBranch: shouldCreateBranch,
+      changes: [
+        {
+          message,
+          files: changeset,
+        },
+      ],
+    });
+    return !!response;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html new file mode 100644 index 000000000..b5eb6ee7c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html @@ -0,0 +1,508 @@ + + + + + + Code coverage report for src/storage/FileTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage FileTokenStorage.ts

+
+ +
+ 0% + Statements + 0/52 +
+ + +
+ 0% + Branches + 0/39 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/50 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import {
+  RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata, RemoteTokenStorageSingleTokenSetFile, RemoteTokenStorageThemesFile,
+} from './RemoteTokenStorage';
+import IsJSONString from '@/utils/isJSONString';
+import { complexSingleFileSchema, multiFileSchema } from './schemas';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+ 
+type StorageFlags = {
+  multiFileEnabled: boolean
+};
+ 
+export type SaveOption = {
+  storeTokenIdInJsonEditor: boolean
+};
+export class FileTokenStorage extends RemoteTokenStorage<unknown, SaveOption> {
+  private files: FileList;
+ 
+  protected flags: StorageFlags = {
+    multiFileEnabled: false,
+  };
+ 
+  constructor(files: FileList) {
+    super();
+    this.files = files;
+  }
+ 
+  public enableMultiFile() {
+    this.flags.multiFileEnabled = true;
+    return this;
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    try {
+      if (this.flags.multiFileEnabled && this.files.length > 1) {
+        const jsonFiles = Array.from(this.files).filter((file) => file.webkitRelativePath.endsWith('.json'))
+          .sort((a, b) => (
+            (a.webkitRelativePath && b.webkitRelativePath) ? a.webkitRelativePath.localeCompare(b.webkitRelativePath) : 0
+          ));
+        // Return a promise per file
+        const filePromises = jsonFiles.map((file) => new Promise((resolve) => {
+          const reader = new FileReader();
+          reader.readAsText(file);
+          reader.onload = async () => {
+            const fileContent = reader.result as string;
+            if (fileContent && IsJSONString(fileContent)) {
+              const parsedJsonData = JSON.parse(fileContent);
+              const validationResult = await multiFileSchema.safeParseAsync(parsedJsonData);
+              if (validationResult.success) {
+                resolve(validationResult.data);
+              }
+            }
+            resolve(null);
+          };
+        }));
+        // Wait for all promises to be resolved
+        const jsonFileContents = await Promise.all(filePromises);
+        return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
+          const { webkitRelativePath } = jsonFiles[index];
+          if (fileContent) {
+            const name = webkitRelativePath?.substring(webkitRelativePath.indexOf('/') + 1)?.replace('.json', '');
+            if (name === SystemFilenames.THEMES && Array.isArray(fileContent)) {
+              return {
+                path: webkitRelativePath,
+                type: 'themes',
+                data: fileContent,
+              } as RemoteTokenStorageThemesFile;
+            }
+ 
+            if (name === SystemFilenames.METADATA) {
+              return {
+                path: webkitRelativePath,
+                type: 'metadata',
+                data: fileContent as RemoteTokenStorageMetadata,
+              };
+            }
+ 
+            if (!Array.isArray(fileContent)) {
+              return {
+                path: webkitRelativePath,
+                name,
+                type: 'tokenSet',
+                data: fileContent,
+              } as RemoteTokenStorageSingleTokenSetFile;
+            }
+          }
+          return null;
+        }));
+      }
+      if (this.files[0].name.endsWith('.json')) {
+        const reader = new FileReader();
+        reader.readAsText(this.files[0]);
+        return await new Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage>((resolve) => {
+          reader.onload = async () => {
+            const result = reader.result as string;
+ 
+            if (result && IsJSONString(result)) {
+              const parsedJsonData = JSON.parse(result);
+              const validationResult = await complexSingleFileSchema.safeParseAsync(parsedJsonData);
+              if (validationResult.success) {
+                const { $themes = [], $metadata, ...data } = validationResult.data;
+                resolve([
+                  {
+                    type: 'themes',
+                    path: this.files[0].name,
+                    data: Array.isArray($themes) ? $themes : [],
+                  },
+                  ...($metadata ? [
+                    {
+                      type: 'metadata' as const,
+                      path: this.files[0].name,
+                      data: $metadata,
+                    },
+                  ] : []),
+                  ...Object.entries(data).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+                    name,
+                    type: 'tokenSet',
+                    path: this.files[0].name,
+                    data: !Array.isArray(tokenSet) ? tokenSet : {},
+                  })),
+                ]);
+              }
+              resolve({
+                errorMessage: ErrorMessages.VALIDATION_ERROR,
+              });
+            }
+            resolve([]);
+          };
+        });
+      }
+    } catch (e) {
+      console.log(e);
+    }
+    return [];
+  }
+ 
+  public async write(): Promise<boolean> {
+    throw new Error('Not implemented');
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html new file mode 100644 index 000000000..b4fcc021e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html @@ -0,0 +1,700 @@ + + + + + + Code coverage report for src/storage/GenericVersionedStorage.ts + + + + + + + + + +
+
+

All files / src/storage GenericVersionedStorage.ts

+
+ +
+ 0% + Statements + 0/52 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/50 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+import * as pjs from '../../package.json';
+import { DeepTokensMap, ThemeObjectsList } from '@/types';
+import { SingleToken } from '@/types/tokens';
+import { RemoteTokenStorage, RemoteTokenStorageFile } from './RemoteTokenStorage';
+import { singleFileSchema } from './schemas/singleFileSchema';
+import { GenericVersionedStorageFlow } from '@/types/StorageType';
+import { tokensMapSchema } from './schemas/tokensMapSchema';
+import { themeObjectSchema } from './schemas/themeObjectSchema';
+import { SaveOption } from './FileTokenStorage';
+ 
+const genericVersionedSchema = singleFileSchema.extend({
+  values: z.record(tokensMapSchema),
+  version: z.string().optional(),
+  $themes: z.array(themeObjectSchema).optional(),
+  updatedAt: z.coerce.date().optional(),
+});
+ 
+export type GenericVersionedMeta = {
+  version: string
+  updatedAt: string
+};
+ 
+export type GenericVersionedData = GenericVersionedMeta & {
+  values: Record<string, Record<string, SingleToken<false> | DeepTokensMap<false>>>
+  $themes?: ThemeObjectsList
+};
+ 
+export type GenericVersionedAdditionalHeaders = Array<{
+  name: string,
+  value: string
+}>;
+ 
+const flattenHeaders = (headers: GenericVersionedAdditionalHeaders): Array<[key: string, val: string]> => headers.map((x) => [x.name, x.value]);
+ 
+// Life cycle is
+ 
+// POST - Create storage at endpoint. Storage may or may not already exist
+// Get - Retrieve tokens
+// PUT - Push tokens to endpoint
+ 
+export class GenericVersionedStorage extends RemoteTokenStorage<GenericVersionedMeta, SaveOption> {
+  private url: string;
+ 
+  private defaultHeaders: Headers;
+ 
+  private flow: GenericVersionedStorageFlow;
+ 
+  public static async create(url: string, updatedAt: string, flow: GenericVersionedStorageFlow, headers: GenericVersionedAdditionalHeaders = []): Promise<false | {
+    metadata: { id: string }
+  }> {
+    let body: string | undefined = JSON.stringify({
+      version: pjs.version,
+      updatedAt,
+      values: {
+        options: {},
+      },
+    }, null, 2);
+    let method: string;
+    switch (flow) {
+      case GenericVersionedStorageFlow.READ_ONLY:
+        method = 'GET';
+        body = undefined;
+        break;
+      case GenericVersionedStorageFlow.READ_WRITE:
+        method = 'PUT';
+        break;
+      case GenericVersionedStorageFlow.READ_WRITE_CREATE:
+        method = 'POST';
+        break;
+      default:
+        console.log('Unknown flow type');
+        return false;
+    }
+ 
+    const response = await fetch(url, {
+      method,
+      mode: 'cors',
+      cache: 'no-cache',
+      credentials: 'same-origin',
+      body,
+      headers: new Headers([
+        ['Content-Type', 'application/json'],
+        ...flattenHeaders(headers),
+      ]),
+    });
+ 
+    if (!response.ok) {
+      throw Error(response.statusText);
+    }
+    if (response.ok) {
+      return response.json();
+    }
+    return false;
+  }
+ 
+  constructor(url: string, flow: GenericVersionedStorageFlow, headers: GenericVersionedAdditionalHeaders = []) {
+    super();
+    this.url = url;
+    this.flow = flow;
+    this.defaultHeaders = new Headers([
+      ['Content-Type', 'application/json'],
+      ...flattenHeaders(headers),
+    ]);
+  }
+ 
+  private convertGenericVersionedDataToFiles(data: GenericVersionedData): RemoteTokenStorageFile<GenericVersionedMeta>[] {
+    return [
+      {
+        type: 'themes',
+        path: '$themes.json',
+        data: data.$themes ?? [],
+      },
+      {
+        type: 'metadata',
+        path: '$metadata.json',
+        data: {
+          version: data.version,
+          updatedAt: data.updatedAt,
+        },
+      },
+      ...Object.entries(data.values).map<RemoteTokenStorageFile<GenericVersionedMeta>>(([name, tokenSet]) => ({
+        name,
+        type: 'tokenSet',
+        path: `${name}.json`,
+        data: tokenSet,
+      })),
+    ];
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile<GenericVersionedMeta>[]> {
+    const response = await fetch(this.url, {
+      method: 'GET',
+      mode: 'cors',
+      cache: 'no-cache',
+      credentials: 'same-origin',
+      headers: new Headers([
+        ...this.defaultHeaders.entries(),
+      ]),
+    });
+ 
+    if (!response.ok) {
+      throw Error(response.statusText);
+    }
+    if (response.ok) {
+      const parsedJsonData = await response.json();
+      const validationResult = await genericVersionedSchema.safeParseAsync(parsedJsonData);
+      if (validationResult.success) {
+        const GenericVersionedData = validationResult.data as unknown as GenericVersionedData;
+        GenericVersionedData.updatedAt = (GenericVersionedData.updatedAt as unknown as Date).toISOString();
+        return this.convertGenericVersionedDataToFiles(GenericVersionedData);
+      }
+    }
+ 
+    // Required to satisfy typescript
+    return [];
+  }
+ 
+  public async write(files: RemoteTokenStorageFile<GenericVersionedMeta>[]): Promise<boolean> {
+    if (this.flow === GenericVersionedStorageFlow.READ_ONLY) {
+      throw new Error('Attempting to write to endpoint of Versioned storage when in Read Only mode');
+    }
+ 
+    const dataObject: GenericVersionedData = {
+      version: pjs.version,
+      updatedAt: (new Date()).toISOString(),
+      values: {},
+      $themes: [],
+    };
+    files.forEach((file) => {
+      if (file.type === 'themes') {
+        dataObject.$themes = [
+          ...(dataObject.$themes ?? []),
+          ...file.data,
+        ];
+      } else if (file.type === 'tokenSet') {
+        dataObject.values = {
+          ...dataObject.values,
+          [file.name]: file.data,
+        };
+      }
+    });
+ 
+    const response = await fetch(this.url, {
+      method: 'PUT',
+      mode: 'cors',
+      cache: 'no-cache',
+      credentials: 'same-origin',
+      body: JSON.stringify(dataObject),
+      headers: new Headers([
+        ...this.defaultHeaders.entries(),
+      ]),
+    });
+ 
+    if (!response.ok) {
+      throw Error(response.statusText);
+    }
+ 
+    if (response.ok) {
+      return true;
+    }
+    // Required to make typescript happy
+    return false;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html new file mode 100644 index 000000000..7f3148012 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html @@ -0,0 +1,484 @@ + + + + + + Code coverage report for src/storage/GitTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage GitTokenStorage.ts

+
+ +
+ 0% + Statements + 0/42 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { DeepTokensMap, ThemeObjectsList } from '@/types';
+import { AnyTokenSet, SingleToken } from '@/types/tokens';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { joinPath } from '@/utils/string';
+import { RemoteTokenStorage, RemoteTokenStorageFile, RemoteTokenStorageMetadata } from './RemoteTokenStorage';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+ 
+type StorageFlags = {
+  multiFileEnabled: boolean
+};
+ 
+export type GitStorageSaveOptions = {
+  commitMessage?: string,
+};
+ 
+export type GitStorageSaveOption = {
+  commitMessage?: string,
+  storeTokenIdInJsonEditor: boolean
+};
+ 
+export type GitSingleFileObject = Record<string, (
+  Record<string, SingleToken<false> | DeepTokensMap<false>>
+)> & {
+  $themes?: ThemeObjectsList
+  $metadata?: RemoteTokenStorageMetadata
+};
+ 
+export type GitMultiFileObject = AnyTokenSet<false> | ThemeObjectsList | RemoteTokenStorageMetadata;
+ 
+export abstract class GitTokenStorage extends RemoteTokenStorage<GitStorageSaveOptions, GitStorageSaveOption> {
+  protected secret: string;
+ 
+  protected owner: string;
+ 
+  protected repository: string;
+ 
+  protected branch: string = 'main';
+ 
+  protected path: string = '';
+ 
+  protected baseUrl: string | undefined = undefined;
+ 
+  protected flags: StorageFlags = {
+    multiFileEnabled: false,
+  };
+ 
+  protected username: string | undefined = undefined;
+ 
+  constructor(
+    secret: string,
+    owner: string,
+    repository: string,
+    baseUrl?: string,
+    username?: string,
+  ) {
+    super();
+    this.secret = secret;
+    this.owner = owner;
+    this.repository = repository;
+    this.baseUrl = baseUrl;
+    this.username = username;
+  }
+ 
+  public selectBranch(branch: string) {
+    this.branch = branch;
+    return this;
+  }
+ 
+  public changePath(path: string) {
+    this.path = joinPath(path);
+    return this;
+  }
+ 
+  public enableMultiFile() {
+    this.flags.multiFileEnabled = true;
+    return this;
+  }
+ 
+  public disableMultiFile() {
+    this.flags.multiFileEnabled = false;
+    return this;
+  }
+ 
+  public abstract fetchBranches(): Promise<string[]>;
+  public abstract createBranch(branch: string, source?: string): Promise<boolean>;
+  public abstract canWrite(): Promise<boolean>;
+  public abstract writeChangeset(
+    changeset: Record<string, string>,
+    message: string,
+    branch: string,
+    shouldCreateBranch?: boolean
+  ): Promise<boolean>;
+ 
+  public async write(files: RemoteTokenStorageFile[], saveOptions: GitStorageSaveOption): Promise<boolean> {
+    const branches = await this.fetchBranches();
+    if (!branches.length) return false;
+ 
+    const filesChangeset: Record<string, string> = {};
+    if (this.path.endsWith('.json')) {
+      filesChangeset[this.path] = JSON.stringify({
+        ...files.reduce<GitSingleFileObject>((acc, file) => {
+          if (file.type === 'tokenSet') {
+            acc[file.name] = file.data;
+          } else if (file.type === 'themes') {
+            acc.$themes = [...acc.$themes ?? [], ...file.data];
+          } else if (file.type === 'metadata') {
+            acc.$metadata = { ...acc.$metadata ?? {}, ...file.data };
+          }
+          return acc;
+        }, {}),
+      }, null, 2);
+    } else if (this.flags.multiFileEnabled) {
+      files.forEach((file) => {
+        if (file.type === 'tokenSet') {
+          filesChangeset[joinPath(this.path, `${file.name}.json`)] = JSON.stringify(file.data, null, 2);
+        } else if (file.type === 'themes') {
+          filesChangeset[joinPath(this.path, `${SystemFilenames.THEMES}.json`)] = JSON.stringify(file.data, null, 2);
+        } else if (file.type === 'metadata') {
+          filesChangeset[joinPath(this.path, `${SystemFilenames.METADATA}.json`)] = JSON.stringify(file.data, null, 2);
+        }
+      });
+    } else {
+      // When path is a directory and multiFile is disabled return
+      throw new Error(ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR);
+    }
+    return this.writeChangeset(
+      filesChangeset,
+      saveOptions.commitMessage ?? 'Commit from Figma',
+      this.branch,
+      !branches.includes(this.branch),
+    );
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html new file mode 100644 index 000000000..dd5075a2a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html @@ -0,0 +1,1180 @@ + + + + + + Code coverage report for src/storage/GithubTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage GithubTokenStorage.ts

+
+ +
+ 0% + Statements + 0/112 +
+ + +
+ 0% + Branches + 0/73 +
+ + +
+ 0% + Functions + 0/26 +
+ + +
+ 0% + Lines + 0/103 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import { Octokit } from '@octokit/rest';
+import { RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata } from './RemoteTokenStorage';
+import IsJSONString from '@/utils/isJSONString';
+import { AnyTokenSet } from '@/types/tokens';
+import { ThemeObjectsList } from '@/types';
+import {
+  GitMultiFileObject, GitSingleFileObject, GitTokenStorage,
+} from './GitTokenStorage';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { joinPath } from '@/utils/string';
+ 
+type ExtendedOctokitClient = Omit<Octokit, 'repos'> & {
+  repos: Octokit['repos'] & {
+    createOrUpdateFiles: (params: {
+      owner: string
+      repo: string
+      branch: string
+      createBranch?: boolean
+      changes: {
+        message: string
+        files: Record<string, string>,
+        filesToDelete?: string[],
+        ignoreDeletionFailures?: boolean,
+      }[]
+    }) => ReturnType<Octokit['repos']['createOrUpdateFileContents']>
+  }
+};
+ 
+export function getTreeMode(type: 'dir' | 'file' | string) {
+  switch (type) {
+    case 'dir':
+      return '040000';
+    default:
+      return '100644';
+  }
+}
+ 
+// @README https://github.com/octokit/octokit.js/issues/890
+const octokitClientDefaultHeaders = {
+  'If-None-Match': '',
+ 
+};
+ 
+export class GithubTokenStorage extends GitTokenStorage {
+  private octokitClient: ExtendedOctokitClient;
+ 
+  constructor(
+    secret: string,
+    owner: string,
+    repository: string,
+    baseUrl?: string,
+  ) {
+    super(secret, owner, repository, baseUrl);
+    this.flags = {
+      multiFileEnabled: false,
+    };
+ 
+    // eslint-disable-next-line
+    const ExtendedOctokitConstructor = Octokit.plugin(require('octokit-commit-multiple-files'));
+    this.octokitClient = new ExtendedOctokitConstructor({
+      auth: this.secret,
+      baseUrl: this.baseUrl || undefined,
+    }) as ExtendedOctokitClient;
+  }
+ 
+  public async listBranches() {
+    return this.octokitClient.paginate(this.octokitClient.repos.listBranches, {
+      owner: this.owner,
+      repo: this.repository,
+      headers: octokitClientDefaultHeaders,
+      per_page: 30, // Set to desired page size (max 100)
+    });
+  }
+ 
+  public async getTreeShaForDirectory(path: string) {
+    // @README this is necessary because to figure out the tree SHA we need to fetch the parent directory contents
+    // however when pulling from the root directory we can  not do this, but we can take the SHA from the branch
+    if (path === '') {
+      const branches = await this.listBranches();
+      const branch = branches?.find((entry) => entry.name === this.branch);
+      if (!branch) throw new Error(`Branch not found, ${this.branch}`);
+      return branch.commit.sha;
+    }
+ 
+    // get the parent directory content to find out the sha
+    const parent = path.includes('/') ? path.slice(0, path.lastIndexOf('/')) : '';
+    const parentDirectoryTreeResponse = await this.octokitClient.rest.repos.getContent({
+      owner: this.owner,
+      repo: this.repository,
+      path: parent,
+      ref: this.branch,
+      headers: octokitClientDefaultHeaders,
+    });
+ 
+    if (Array.isArray(parentDirectoryTreeResponse.data)) {
+      const directory = parentDirectoryTreeResponse.data.find((item) => item.path === path);
+      if (!directory) throw new Error(`Unable to find directory, ${path}`);
+      return directory.sha;
+    }
+ 
+    // @README if the parent directory only contains a single subdirectory
+    // it will not return an array with 1 item - but rather it will return the item itself
+    if (parentDirectoryTreeResponse.data.path === path) {
+      return parentDirectoryTreeResponse.data.sha;
+    }
+ 
+    throw new Error('Could not find directory SHA');
+  }
+ 
+  public async fetchBranches() {
+    const branches = await this.listBranches();
+    return branches?.map((branch) => branch.name);
+  }
+ 
+  public async createBranch(branch: string, source?: string) {
+    try {
+      const originRef = `heads/${source || this.branch}`;
+      const newRef = `refs/heads/${branch}`;
+      const originBranch = await this.octokitClient.git.getRef({
+        owner: this.owner,
+        repo: this.repository,
+        ref: originRef,
+        headers: octokitClientDefaultHeaders,
+      });
+      const newBranch = await this.octokitClient.git.createRef({
+        owner: this.owner, repo: this.repository, ref: newRef, sha: originBranch.data.object.sha,
+      });
+      return !!newBranch.data.ref;
+    } catch (err) {
+      console.error(err);
+      return false;
+    }
+  }
+ 
+  public async canWrite(): Promise<boolean> {
+    if (!this.path.endsWith('.json') && !this.flags.multiFileEnabled) return false;
+    const currentUser = await this.octokitClient.rest.users.getAuthenticated();
+    if (!currentUser.data.login) return false;
+    try {
+      const canWrite = await this.octokitClient.rest.repos.getCollaboratorPermissionLevel({
+        owner: this.owner,
+        repo: this.repository,
+        username: currentUser.data.login,
+        headers: octokitClientDefaultHeaders,
+      });
+      return !!canWrite;
+    } catch (e) {
+      return false;
+    }
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    try {
+      const normalizedPath = compact(this.path.split('/')).join('/');
+      const response = await this.octokitClient.rest.repos.getContent({
+        path: normalizedPath,
+        owner: this.owner,
+        repo: this.repository,
+        ref: this.branch,
+        headers: {
+          ...octokitClientDefaultHeaders,
+          // Setting this makes github return the raw file instead of a json object.
+          Accept: 'application/vnd.github.raw',
+        },
+      });
+ 
+      // read entire directory
+      if (Array.isArray(response.data)) {
+        const directorySha = await this.getTreeShaForDirectory(normalizedPath);
+        const treeResponse = await this.octokitClient.rest.git.getTree({
+          owner: this.owner,
+          repo: this.repository,
+          tree_sha: directorySha,
+          recursive: 'true',
+          headers: octokitClientDefaultHeaders,
+        });
+        if (treeResponse && treeResponse.data.tree.length > 0) {
+          const jsonFiles = treeResponse.data.tree.filter((file) => (
+            file.path?.endsWith('.json')
+          )).sort((a, b) => (
+            (a.path && b.path) ? a.path.localeCompare(b.path) : 0
+          ));
+          const jsonFileContents = await Promise.all(jsonFiles.map((treeItem) => (
+            treeItem.path ? this.octokitClient.rest.repos.getContent({
+              owner: this.owner,
+              repo: this.repository,
+              path: treeItem.path.startsWith(normalizedPath) ? treeItem.path : `${normalizedPath}/${treeItem.path}`,
+              ref: this.branch,
+              headers: {
+                ...octokitClientDefaultHeaders,
+                // Setting this makes github return the raw file instead of a json object.
+                Accept: 'application/vnd.github.raw',
+              },
+            }) : Promise.resolve(null)
+          )));
+          return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
+            const { path } = jsonFiles[index];
+            if (
+              path
+              && fileContent?.data
+              && !Array.isArray(fileContent?.data)
+            ) {
+              const filePath = path.startsWith(normalizedPath) ? path : `${normalizedPath}/${path}`;
+              let name = filePath.substring(this.path.length).replace(/^\/+/, '');
+              name = name.replace('.json', '');
+              const parsed = JSON.parse(fileContent.data as unknown as string) as GitMultiFileObject;
+              // @README we will need to ensure these reserved names
+ 
+              if (name === SystemFilenames.THEMES) {
+                return {
+                  path: filePath,
+                  type: 'themes',
+                  data: parsed as ThemeObjectsList,
+                };
+              }
+ 
+              if (name === SystemFilenames.METADATA) {
+                return {
+                  path: filePath,
+                  type: 'metadata',
+                  data: parsed as RemoteTokenStorageMetadata,
+                };
+              }
+ 
+              return {
+                path: filePath,
+                name,
+                type: 'tokenSet',
+                data: parsed as AnyTokenSet<false>,
+              };
+            }
+            return null;
+          }));
+        }
+      } else if (response.data) {
+        const data = response.data as unknown as string;
+        if (IsJSONString(data)) {
+          const parsed = JSON.parse(data) as GitSingleFileObject;
+          return [
+            {
+              type: 'themes',
+              path: `${this.path}/${SystemFilenames.THEMES}.json`,
+              data: parsed.$themes ?? [],
+            },
+            ...(parsed.$metadata ? [
+              {
+                type: 'metadata' as const,
+                path: this.path,
+                data: parsed.$metadata,
+              },
+            ] : []),
+            ...(Object.entries(parsed).filter(([key]) => (
+              !Object.values<string>(SystemFilenames).includes(key)
+            )) as [string, AnyTokenSet<false>][]).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+              name,
+              type: 'tokenSet',
+              path: `${this.path}/${name}.json`,
+              data: tokenSet,
+            })),
+          ];
+        }
+        return {
+          errorMessage: ErrorMessages.VALIDATION_ERROR,
+        };
+      }
+ 
+      return [];
+    } catch (e) {
+      // Raise error (usually this is an auth error)
+      console.error('Error', e);
+      return [];
+    }
+  }
+ 
+  public async createOrUpdate(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch?: boolean, filesToDelete?: string[], ignoreDeletionFailures?: boolean): Promise<boolean> {
+    const response = await this.octokitClient.repos.createOrUpdateFiles({
+      branch,
+      owner: this.owner,
+      repo: this.repository,
+      createBranch: shouldCreateBranch,
+      changes: [
+        {
+          message,
+          files: changeset,
+          filesToDelete,
+          ignoreDeletionFailures,
+        },
+      ],
+    });
+    return !!response;
+  }
+ 
+  public async writeChangeset(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch?: boolean): Promise<boolean> {
+    try {
+      const response = await this.octokitClient.rest.repos.getContent({
+        owner: this.owner,
+        repo: this.repository,
+        path: this.path,
+        ref: this.branch,
+      });
+ 
+      if (Array.isArray(response.data)) {
+        const directoryTreeResponse = await this.octokitClient.rest.git.createTree({
+          owner: this.owner,
+          repo: this.repository,
+          tree: response.data.map((item) => ({
+            path: item.path,
+            sha: item.sha,
+            mode: getTreeMode(item.type),
+          })),
+        });
+ 
+        if (directoryTreeResponse.data.tree[0].sha) {
+          const treeResponse = await this.octokitClient.rest.git.getTree({
+            owner: this.owner,
+            repo: this.repository,
+            tree_sha: directoryTreeResponse.data.tree[0].sha,
+            recursive: 'true',
+          });
+ 
+          if (treeResponse.data.tree.length > 0) {
+            const jsonFiles = treeResponse.data.tree.filter((file) => (
+              file.path?.endsWith('.json')
+            )).sort((a, b) => (
+              (a.path && b.path) ? a.path.localeCompare(b.path) : 0
+            ));
+ 
+            const filesToDelete = jsonFiles.filter((jsonFile) => !Object.keys(changeset).some((item) => jsonFile.path && item === joinPath(this.path, jsonFile?.path)))
+              .map((fileToDelete) => (`${this.path.split('/')[0]}/${fileToDelete.path}` ?? ''));
+            return await this.createOrUpdate(changeset, message, branch, shouldCreateBranch, filesToDelete, true);
+          }
+        }
+      }
+ 
+      return await this.createOrUpdate(changeset, message, branch, shouldCreateBranch);
+    } catch {
+      return await this.createOrUpdate(changeset, message, branch, shouldCreateBranch);
+    }
+  }
+ 
+  public async getCommitSha(): Promise<string> {
+    try {
+      const normalizedPath = compact(this.path.split('/')).join('/');
+      const response = await this.octokitClient.rest.repos.getContent({
+        path: normalizedPath,
+        owner: this.owner,
+        repo: this.repository,
+        ref: this.branch,
+        headers: octokitClientDefaultHeaders,
+      });
+      // read entire directory
+      if (Array.isArray(response.data)) {
+        const directorySha = await this.getTreeShaForDirectory(normalizedPath);
+        return directorySha;
+      }
+      return response.data.sha;
+    } catch (e) {
+      // Raise error (usually this is an auth error)
+      console.error('Error', e);
+      return '';
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html new file mode 100644 index 000000000..70b3a8ffd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html @@ -0,0 +1,1138 @@ + + + + + + Code coverage report for src/storage/GitlabTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage GitlabTokenStorage.ts

+
+ +
+ 0% + Statements + 0/144 +
+ + +
+ 0% + Branches + 0/100 +
+ + +
+ 0% + Functions + 0/29 +
+ + +
+ 0% + Lines + 0/129 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Gitlab } from '@gitbeaker/rest';
+import compact from 'just-compact';
+import type { CommitAction } from '@gitbeaker/rest';
+import IsJSONString from '@/utils/isJSONString';
+import {
+  GitMultiFileObject, GitSingleFileObject, GitTokenStorage,
+} from './GitTokenStorage';
+import { RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata } from './RemoteTokenStorage';
+import { AnyTokenSet } from '@/types/tokens';
+import { ThemeObjectsList } from '@/types';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+ 
+enum GitLabAccessLevel {
+  NoAccess = 0,
+  MinimalAccess = 5,
+  Guest = 10,
+  Reporter = 20,
+  Developer = 30,
+  Maintainer = 40,
+  Owner = 50,
+}
+ 
+export class GitlabTokenStorage extends GitTokenStorage {
+  protected projectId: number | null = null;
+ 
+  protected groupId: number | null = null;
+ 
+  private gitlabClient: (typeof Gitlab)['prototype'];
+ 
+  protected repoPathWithNamespace: string;
+ 
+  protected source?: string;
+ 
+  protected previousSourceBranch?: string;
+ 
+  constructor(
+    secret: string,
+    repository: string,
+    repoPathWithNamespace: string,
+    baseUrl?: string,
+    branch = 'main',
+    previousSourceBranch = 'main',
+  ) {
+    super(secret, '', repository, baseUrl);
+ 
+    this.repoPathWithNamespace = repoPathWithNamespace;
+    this.gitlabClient = new Gitlab({
+      token: this.secret,
+      host: this.baseUrl || undefined,
+    });
+    this.source = branch;
+    this.previousSourceBranch = previousSourceBranch;
+  }
+ 
+  public async assignProjectId() {
+    const projects = await this.gitlabClient.Projects.all({
+      membership: true,
+      search: this.repository,
+      simple: true,
+    });
+    if (projects) {
+      const project = projects.filter((p) => p.path_with_namespace === this.repoPathWithNamespace)[0];
+      if (project) {
+        this.projectId = project.id;
+        this.groupId = project.namespace.id;
+      }
+    }
+ 
+    if (!this.projectId) {
+      throw new Error('Project not accessible');
+    }
+    return this;
+  }
+ 
+  public async fetchBranches() {
+    if (!this.projectId) throw new Error('Project ID not assigned');
+    const branches = await this.gitlabClient.Branches.all(this.projectId);
+    return branches.map((branch) => branch.name);
+  }
+ 
+  public async createBranch(branch: string, source?: string) {
+    if (!this.projectId) throw new Error('Project ID not assigned');
+    try {
+      const response = await this.gitlabClient.Branches.create(
+        this.projectId,
+        branch,
+        `heads/${source || this.branch}`,
+      );
+      return !!response.name;
+    } catch (err) {
+      console.error(err);
+      return false;
+    }
+  }
+ 
+  public async canWrite(): Promise<boolean> {
+    if (!this.path.endsWith('.json') && !this.flags.multiFileEnabled) return false;
+    if (!this.projectId) throw new Error('Project ID not assigned');
+ 
+    const currentUser = await this.gitlabClient.Users.showCurrentUser();
+    try {
+      if (!currentUser || currentUser.state !== 'active') return false;
+      const projectPermission = await this.gitlabClient.ProjectMembers.show(this.projectId, currentUser.id, {
+        includeInherited: true,
+      });
+      return Number(projectPermission.access_level.toString()) >= GitLabAccessLevel.Developer;
+    } catch (e) {
+      console.error(e);
+    }
+    return false;
+  }
+ 
+  private async cleanupGitkeepFiles(path: string, branch: string, message: string) {
+    const trees = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId!, {
+      path,
+      ref: branch,
+      recursive: true,
+    });
+ 
+    const gitkeepDeletions: CommitAction[] = [];
+    const directories = trees.reduce((acc: Record<string, string[]>, file) => {
+      const dir = file.path.substring(0, file.path.lastIndexOf('/'));
+      if (!acc[dir]) acc[dir] = [];
+      acc[dir].push(file.path);
+      return acc;
+    }, {});
+ 
+    for (const [dir, files] of Object.entries(directories)) {
+      const hasGitkeep = files.some((file) => file.endsWith('.gitkeep'));
+      const hasOtherFiles = files.some((file) => !file.endsWith('.gitkeep'));
+ 
+      if (hasGitkeep && hasOtherFiles) {
+        const gitkeepPath = `${dir}/.gitkeep`;
+        gitkeepDeletions.push({ action: 'delete', filePath: gitkeepPath });
+      }
+    }
+ 
+    if (gitkeepDeletions.length > 0) {
+      try {
+        await this.gitlabClient.Commits.create(
+          this.projectId!,
+          branch,
+          message,
+          gitkeepDeletions,
+        );
+      } catch (e) {
+        console.error('Failed to delete .gitkeep files:', e);
+      }
+    }
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    if (!this.projectId) throw new Error('Missing Project ID');
+ 
+    try {
+      if (!this.path.endsWith('.json')) {
+        const trees = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId, {
+          path: this.path,
+          ref: this.branch,
+          recursive: true,
+        });
+ 
+        const jsonFiles = trees.filter((file) => (
+          file.path.endsWith('.json')
+        )).sort((a, b) => (
+          (a.path && b.path) ? a.path.localeCompare(b.path) : 0
+        ));
+ 
+        const jsonFileContents = await Promise.all(jsonFiles.map((treeItem) => (
+          this.gitlabClient.RepositoryFiles.showRaw(this.projectId!, treeItem.path, this.branch)
+        )));
+ 
+        return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
+          const { path } = jsonFiles[index];
+          if (typeof fileContent === 'string' && IsJSONString(fileContent)) {
+            const name = path.replace('.json', '').replace(this.path, '').replace(/^\//, '').replace(/\/$/, '');
+            const parsed = JSON.parse(fileContent) as GitMultiFileObject;
+ 
+            if (name === SystemFilenames.THEMES) {
+              return {
+                path,
+                type: 'themes',
+                data: parsed as ThemeObjectsList,
+              };
+            }
+ 
+            if (name === SystemFilenames.METADATA) {
+              return {
+                path,
+                type: 'metadata',
+                data: parsed as RemoteTokenStorageMetadata,
+              };
+            }
+ 
+            return {
+              path,
+              name,
+              type: 'tokenSet',
+              data: parsed as AnyTokenSet<false>,
+            };
+          }
+ 
+          return null;
+        }));
+      }
+ 
+      const data = await this.gitlabClient.RepositoryFiles.showRaw(this.projectId, this.path, this.branch);
+      const stringData = typeof data === 'string' ? data : await data.text();
+ 
+      if (IsJSONString(stringData)) {
+        const parsed = JSON.parse(stringData) as GitSingleFileObject;
+        return [
+          {
+            type: 'themes',
+            path: `${this.path}/${SystemFilenames.THEMES}.json`,
+            data: parsed.$themes ?? [],
+          },
+          ...(parsed.$metadata ? [
+            {
+              type: 'metadata' as const,
+              path: this.path,
+              data: parsed.$metadata,
+            },
+          ] : []),
+          ...(Object.entries(parsed).filter(([key]) => (
+            !Object.values<string>(SystemFilenames).includes(key)
+          )) as [string, AnyTokenSet<false>][]).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+            name,
+            type: 'tokenSet',
+            path: `${this.path}/${name}.json`,
+            data: tokenSet,
+          })),
+        ];
+      }
+      return {
+        errorMessage: ErrorMessages.VALIDATION_ERROR,
+      };
+    } catch (err) {
+      console.error(err);
+    }
+    return [];
+  }
+ 
+  public async writeChangeset(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch?: boolean): Promise<boolean> {
+    if (!this.projectId) throw new Error('Missing Project ID');
+ 
+    const branches = await this.fetchBranches();
+    const rootPath = this.path.endsWith('.json') ? this.path.split('/').slice(0, -1).join('/') : this.path;
+    const pathToCreate = this.path.endsWith('.json') ? this.path : `${this.path}/.gitkeep`;
+ 
+    if (shouldCreateBranch && !branches.includes(branch)) {
+      const sourceBranch = this.previousSourceBranch || this.source;
+      await this.createBranch(branch, sourceBranch);
+    }
+ 
+    const tree = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId, {
+      path: rootPath,
+      ref: branch,
+      recursive: true,
+    });
+ 
+    try {
+      // Only create .gitkeep if the directory is completely empty/non-existent
+      if (tree.length === 0) {
+        await this.gitlabClient.RepositoryFiles.create(
+          this.projectId,
+          pathToCreate,
+          branch,
+          '{}',
+          message,
+        );
+      }
+    } catch (e) {
+      console.error('Error checking directory:', e);
+    }
+ 
+    let gitlabActions: CommitAction[] = Object.entries(changeset).map(([filePath, content]) => {
+      const action = tree.some((file) => file.path === filePath) ? 'update' : 'create';
+      return { action, filePath, content };
+    });
+ 
+    // Add delete actions for files that no longer exist in changeset
+    const jsonFiles = tree
+      .filter((file) => file.path.endsWith('.json'))
+      .map((file) => file.path);
+ 
+    const filesToDelete = jsonFiles.filter(
+      (jsonFile) => !Object.keys(changeset).some((item) => item === jsonFile),
+    );
+ 
+    if (filesToDelete.length > 0 && !this.path.endsWith('.json')) {
+      gitlabActions = gitlabActions.concat(
+        filesToDelete.map((filePath) => ({
+          action: 'delete',
+          filePath,
+        })),
+      );
+    }
+ 
+    try {
+      await this.gitlabClient.Commits.create(
+        this.projectId,
+        branch,
+        message,
+        gitlabActions,
+      );
+    } catch (e: any) {
+      if (e.cause.description && String(e.cause.description).includes(ErrorMessages.GITLAB_PUSH_TO_PROTECTED_BRANCH_ERROR)) {
+        throw new Error(ErrorMessages.GITLAB_PUSH_TO_PROTECTED_BRANCH_ERROR);
+      }
+      throw new Error(e);
+    }
+ 
+    if (!this.path.endsWith('.json')) {
+      await this.cleanupGitkeepFiles(rootPath, branch, message);
+    }
+    return true;
+  }
+ 
+  public async getLatestCommitDate(): Promise<Date | null> {
+    if (!this.projectId) throw new Error('Missing Project ID');
+ 
+    try {
+      if (!this.path.endsWith('.json')) {
+        const trees = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId, {
+          path: this.path,
+          ref: this.branch,
+          recursive: true,
+        });
+        const jsonFiles = trees.filter((file) => (
+          file.path.endsWith('.json')
+        )).sort((a, b) => (
+          (a.path && b.path) ? a.path.localeCompare(b.path) : 0
+        ));
+ 
+        const file = await this.gitlabClient.RepositoryFiles.show(this.projectId!, jsonFiles[0].path, this.branch);
+        const commit = await this.gitlabClient.Commits.show(this.projectId, file.commit_id.toString());
+        const committedDate = new Date(commit.committed_date?.toString() ?? '');
+        return committedDate ?? null;
+      }
+      const file = await this.gitlabClient.RepositoryFiles.show(this.projectId, this.path, this.branch);
+      const commit = await this.gitlabClient.Commits.show(this.projectId, file.commit_id.toString());
+      const committedDate = new Date(commit.committed_date?.toString() ?? '');
+      return committedDate ?? null;
+    } catch (e) {
+      console.error('Error', e);
+      return null;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html new file mode 100644 index 000000000..5e529cda8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html @@ -0,0 +1,655 @@ + + + + + + Code coverage report for src/storage/JSONBinTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage JSONBinTokenStorage.ts

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/34 +
+ + +
+ 0% + Functions + 0/7 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+import * as pjs from '../../package.json';
+import { DeepTokensMap, ThemeObjectsList } from '@/types';
+import { SingleToken } from '@/types/tokens';
+import {
+  RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata,
+} from './RemoteTokenStorage';
+import { singleFileSchema } from './schemas/singleFileSchema';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { SaveOption } from './FileTokenStorage';
+ 
+type JsonBinMetadata = Partial<{
+  version: string
+  updatedAt: string
+}>;
+ 
+type JsonbinData = JsonBinMetadata & {
+  values: Record<string, Record<string, SingleToken<false> | DeepTokensMap<false>>>
+  $themes?: ThemeObjectsList
+  $metadata?: RemoteTokenStorageMetadata & JsonBinMetadata
+};
+ 
+const jsonbinSchema = singleFileSchema.extend({
+  version: z.string().optional(),
+  updatedAt: z.string().optional(),
+});
+ 
+export class JSONBinTokenStorage extends RemoteTokenStorage<JsonBinMetadata, SaveOption> {
+  private id: string;
+ 
+  private secret: string;
+ 
+  private defaultHeaders: Headers;
+ 
+  public static async create(name: string, updatedAt: string, secret: string): Promise<false | {
+    metadata: { id: string }
+  }> {
+    const response = await fetch('https://api.jsonbin.io/v3/b', {
+      method: 'POST',
+      mode: 'cors',
+      cache: 'no-cache',
+      credentials: 'same-origin',
+      body: JSON.stringify({
+        values: { options: {} },
+        $metadata: {
+          version: pjs.version,
+          updatedAt,
+        },
+      }, null, 2),
+      headers: new Headers([
+        ['Content-Type', 'application/json'],
+        ['X-Master-Key', secret],
+        ['X-Bin-Name', name],
+        ['versioning', 'false'],
+      ]),
+    });
+ 
+    if (!response.ok) {
+      throw Error(response.statusText);
+    }
+ 
+    if (response.ok) {
+      return response.json();
+    }
+ 
+    return false;
+  }
+ 
+  constructor(id: string, secret: string) {
+    super();
+    this.id = id;
+    this.secret = secret;
+ 
+    this.defaultHeaders = new Headers();
+    this.defaultHeaders.append('Content-Type', 'application/json');
+    this.defaultHeaders.append('X-Master-Key', this.secret);
+  }
+ 
+  private convertJsonBinDataToFiles(data: JsonbinData): RemoteTokenStorageFile<JsonBinMetadata>[] {
+    // @README the version and updatedAt key have been moved to the $metadata object
+    // but we'll still support the old keys when reading
+    return [
+      {
+        type: 'themes',
+        path: `${SystemFilenames.THEMES}.json`,
+        data: data.$themes ?? [],
+      },
+      {
+        type: 'metadata',
+        path: `${SystemFilenames.METADATA}.json`,
+        data: {
+          version: data.$metadata?.version ?? data.version ?? pjs.version,
+          updatedAt: data.$metadata?.updatedAt ?? data.updatedAt ?? new Date().toISOString(),
+          ...(data.$metadata?.tokenSetOrder ? {
+            tokenSetOrder: data.$metadata.tokenSetOrder,
+          } : {}),
+        },
+      },
+      ...Object.entries(data.values).map<RemoteTokenStorageFile<JsonBinMetadata>>(([name, tokenSet]) => ({
+        name,
+        type: 'tokenSet',
+        path: `${name}.json`,
+        data: tokenSet,
+      })),
+    ];
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile<JsonBinMetadata>[] | RemoteTokenstorageErrorMessage> {
+    const response = await fetch(`https://api.jsonbin.io/v3/b/${this.id}/latest`, {
+      method: 'GET',
+      mode: 'cors',
+      cache: 'no-cache',
+      credentials: 'same-origin',
+      headers: new Headers([
+        ...this.defaultHeaders.entries(),
+        ['X-Bin-Meta', '0'],
+      ]),
+    });
+ 
+    if (!response.ok) {
+      throw Error(response.statusText);
+    }
+ 
+    if (response.ok) {
+      const parsedJsonData = await response.json();
+      const validationResult = await z.object({
+        record: jsonbinSchema,
+      }).safeParseAsync(parsedJsonData);
+      if (validationResult.success) {
+        const jsonbinData = validationResult.data.record as JsonbinData;
+        return this.convertJsonBinDataToFiles(jsonbinData);
+      }
+      return {
+        errorMessage: ErrorMessages.VALIDATION_ERROR,
+      };
+    }
+    return [];
+  }
+ 
+  public async write(files: RemoteTokenStorageFile<JsonBinMetadata>[]): Promise<boolean> {
+    const dataObject: JsonbinData = {
+      values: {},
+      $metadata: {
+        version: pjs.version,
+        updatedAt: (new Date()).toISOString(),
+      },
+      $themes: [],
+    };
+    files.forEach((file) => {
+      if (file.type === 'themes') {
+        dataObject.$themes = [
+          ...(dataObject.$themes ?? []),
+          ...file.data,
+        ];
+      } else if (file.type === 'metadata') {
+        dataObject.$metadata = {
+          ...(dataObject.$metadata ?? []),
+          ...file.data,
+        };
+      } else if (file.type === 'tokenSet') {
+        dataObject.values = {
+          ...dataObject.values,
+          [file.name]: file.data,
+        };
+      }
+    });
+ 
+    const response = await fetch(`https://api.jsonbin.io/v3/b/${this.id}`, {
+      method: 'PUT',
+      mode: 'cors',
+      cache: 'no-cache',
+      credentials: 'same-origin',
+      body: JSON.stringify(dataObject),
+      headers: new Headers([
+        ...this.defaultHeaders.entries(),
+      ]),
+    });
+ 
+    if (!response.ok) {
+      throw Error(response.statusText);
+    }
+ 
+    if (response.ok) {
+      return true;
+    }
+ 
+    return false;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html new file mode 100644 index 000000000..3104dc167 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html @@ -0,0 +1,472 @@ + + + + + + Code coverage report for src/storage/RemoteTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage RemoteTokenStorage.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { DeepTokensMap, ThemeObjectsList } from '@/types';
+import { RemoteResponseData } from '@/types/RemoteResponseData';
+import type { AnyTokenList, SingleToken } from '@/types/tokens';
+import convertTokensToObject from '@/utils/convertTokensToObject';
+import parseTokenValues from '@/utils/parseTokenValues';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+ 
+export type RemoteTokenStorageMetadata = {
+  tokenSetOrder?: string[];
+  tokenSetsData?: Record<string, { isDynamic?: boolean }>;
+};
+ 
+export type RemoteTokenStorageData<Metadata> = {
+  tokens: Record<string, AnyTokenList>;
+  themes: ThemeObjectsList;
+  metadata?: (RemoteTokenStorageMetadata & Metadata) | null;
+};
+ 
+export interface RemoteTokenStorageSingleTokenSetFile {
+  type: 'tokenSet';
+  path: string;
+  name: string;
+  data: Record<string, SingleToken<false> | DeepTokensMap<false>>; // @README we save tokens without their name, but rather key them by their name
+}
+ 
+export interface RemoteTokenStorageThemesFile {
+  type: 'themes';
+  path: string;
+  data: ThemeObjectsList;
+}
+ 
+export interface RemoteTokenStorageMetadataFile<Metadata = unknown> {
+  type: 'metadata';
+  path: string;
+  data: RemoteTokenStorageMetadata & Metadata;
+}
+ 
+export interface RemoteTokenstorageErrorMessage {
+  errorMessage: string;
+}
+ 
+export type RemoteTokenStorageFile<Metadata = unknown> =
+  | RemoteTokenStorageSingleTokenSetFile
+  | RemoteTokenStorageThemesFile
+  | RemoteTokenStorageMetadataFile<Metadata>;
+ 
+type RemoteStorageSaveOptions = {
+  storeTokenIdInJsonEditor: boolean;
+};
+export abstract class RemoteTokenStorage<
+  Metadata = unknown,
+  SaveOptions extends RemoteStorageSaveOptions = { storeTokenIdInJsonEditor: boolean },
+> {
+  public abstract write(files: RemoteTokenStorageFile<Metadata>[], saveOptions?: SaveOptions): Promise<boolean>;
+  public abstract read(): Promise<RemoteTokenStorageFile<Metadata>[] | RemoteTokenstorageErrorMessage>;
+ 
+  public async save(data: RemoteTokenStorageData<Metadata>, saveOptions: SaveOptions): Promise<boolean> {
+    const files: RemoteTokenStorageFile<Metadata>[] = [];
+    // First we'll convert the incoming data into files
+    // in this generic implementation we will ignore whether multi file is enabled or not (ie for Github)
+    // how these "files" are written is up to the read and write implementation
+    const tokenSetObjects = convertTokensToObject({ ...data.tokens }, saveOptions.storeTokenIdInJsonEditor);
+    Object.entries(tokenSetObjects).forEach(([name, tokenSet]) => {
+      files.push({
+        type: 'tokenSet',
+        name,
+        path: `${name}.json`,
+        data: tokenSet,
+      });
+    });
+ 
+    // we will also include a separate file for the themes called $themes
+    files.push({
+      type: 'themes',
+      path: `${SystemFilenames.THEMES}.json`,
+      data: data.themes,
+    });
+ 
+    if ('metadata' in data && data.metadata) {
+      files.push({
+        type: 'metadata',
+        path: `${SystemFilenames.METADATA}.json`,
+        data: data.metadata,
+      });
+    }
+ 
+    return this.write(files, saveOptions);
+  }
+ 
+  public async retrieve(): Promise<RemoteResponseData<Metadata> | null> {
+    const data: RemoteTokenStorageData<Metadata> = {
+      themes: [],
+      tokens: {},
+    };
+ 
+    // start by reading the files from the remote source
+    // it is up to the remote storage implementation to split it up into "File" objects
+    const files = await this.read();
+    // successfully fetch data
+    if (Array.isArray(files)) {
+      if (files.length === 0) {
+        return null;
+      }
+      files.forEach((file) => {
+        if (file.type === 'themes') {
+          data.themes = [...data.themes, ...file.data];
+        } else if (file.type === 'tokenSet') {
+          data.tokens = {
+            ...data.tokens,
+            ...parseTokenValues({ [file.name]: file.data }),
+          };
+        } else if (file.type === 'metadata') {
+          data.metadata = {
+            ...data.metadata,
+            ...file.data,
+          };
+        }
+      });
+      return {
+        status: 'success',
+        ...data,
+      };
+    }
+    return {
+      status: 'failure',
+      ...files,
+    };
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html new file mode 100644 index 000000000..889b84f0b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html @@ -0,0 +1,592 @@ + + + + + + Code coverage report for src/storage/SupernovaTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage SupernovaTokenStorage.ts

+
+ +
+ 0% + Statements + 0/53 +
+ + +
+ 0% + Branches + 0/44 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/53 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { DesignSystem, DesignSystemVersion, Supernova } from '@supernovaio/supernova-sdk';
+import * as Sentry from '@sentry/react';
+import { AnyTokenSet } from '@/types/tokens';
+import { RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile } from './RemoteTokenStorage';
+import { ErrorMessages } from '../constants/ErrorMessages';
+import { SystemFilenames } from '../constants/SystemFilenames';
+import { SaveOption } from './FileTokenStorage';
+ 
+export type SupernovaStorageSaveOptions = {
+  commitMessage?: string;
+};
+ 
+export class SupernovaTokenStorage extends RemoteTokenStorage<SupernovaStorageSaveOptions, SaveOption> {
+  private workspaceHandle: string;
+ 
+  private designSystemId: string;
+ 
+  private mapping: string;
+ 
+  private secret: string;
+ 
+  private sdkInstance: Supernova;
+ 
+  constructor(url: string, mapping: string, secret: string) {
+    super();
+    // Deconstruct url to WS ID / DS ID
+    const parsedURL = new URL(url);
+    const fragments = parsedURL.pathname.split('/');
+    const isCloud = url.match(/\/\/(cloud|app).(dev\.|demo\.|staging\.|)supernova.io/)?.[1] === 'cloud';
+    if (fragments.length < 5 || (isCloud && (fragments[1] !== 'ws' || fragments[3] !== 'ds'))) {
+      throw new Error(
+        'Design system URL is not properly formatted. Please copy URL from the cloud without modifying it and try again.',
+      );
+    } else {
+      // eslint-disable-next-line prefer-destructuring
+      this.workspaceHandle = isCloud ? fragments[2] : fragments[1].split('-')[0];
+      // eslint-disable-next-line prefer-destructuring
+      this.designSystemId = isCloud ? fragments[4].split('-')[0] : fragments[2].split('-')[0];
+      this.secret = secret;
+      this.mapping = mapping;
+      this.sdkInstance = new Supernova(this.secret, this.networkInstanceFromURL(url), null);
+    }
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    try {
+      // Create Supernova instance, fetch design system and version, checking if this is possible
+      const accessor = await this.readWriteInstance();
+      let payload: any;
+ 
+      try {
+        const data: any = await accessor.version.getTokenStudioData();
+        payload = data.payload; // Discard all the other data that we get from the API and only focus on payload
+      } catch (error) {
+        // There is nothing to read, design system didn't have any tokens pushed before.
+        return [];
+      }
+      return [
+        {
+          type: 'themes',
+          path: `${SystemFilenames.THEMES}.json`,
+          data: payload.$themes ?? [],
+        },
+        ...(payload.$metadata
+          ? [
+            {
+              type: 'metadata' as const,
+              path: `${SystemFilenames.METADATA}.json`,
+              data: payload.$metadata,
+            },
+          ]
+          : []),
+        ...(
+          Object.entries(payload).filter(([key]) => !Object.values<string>(SystemFilenames).includes(key)) as [
+            string,
+            AnyTokenSet<false>,
+          ][]
+        ).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+          name,
+          type: 'tokenSet',
+          path: `${name}.json`,
+          data: tokenSet,
+        })),
+      ];
+    } catch (error) {
+      console.error(error);
+      return {
+        errorMessage: ErrorMessages.SUPERNOVA_CREDENTIAL_ERROR,
+      };
+    }
+  }
+ 
+  public async write(files: Array<RemoteTokenStorageFile<any>>): Promise<boolean> {
+    // Create Supernova instance, fetch design system and version
+    // Create writable Supernova instance
+    const accessor = await this.readWriteInstance();
+    const dataObject = {
+      $themes: [],
+    } as any;
+    files.forEach((file) => {
+      if (file.type === 'themes') {
+        dataObject.$themes = [...(dataObject.$themes ?? []), ...file.data];
+      } else if (file.type === 'tokenSet') {
+        dataObject[file.name] = file.data;
+      } else if (file.type === 'metadata') {
+        dataObject.$metadata = {
+          ...(dataObject.$metadata ?? []),
+          ...file.data,
+        };
+      }
+    });
+ 
+    const mapObject = JSON.parse(this.mapping);
+    const object: any = {
+      connection: {
+        name: 'name',
+      },
+      settings: {
+        dryRun: false,
+        preciseCopy: true,
+        verbose: false,
+      },
+      mapping: mapObject,
+      payload: dataObject,
+    };
+ 
+    const writer = accessor.version.writer();
+    await writer.writeTokenStudioData(object);
+    return true;
+  }
+ 
+  private networkInstanceFromURL(url: string): string {
+    if (url.includes('cloud.supernova.io') || url.includes('app.supernova.io')) {
+      return 'https://api.supernova.io/api';
+    }
+    if (url.includes('cloud.dev.supernova.io') || url.includes('app.dev.supernova.io')) {
+      return 'https://api.dev.supernova.io/api';
+    }
+    if (url.includes('cloud.demo.supernova.io') || url.includes('app.demo.supernova.io')) {
+      return 'https://api.demo.supernova.io/api';
+    }
+    if (url.includes('cloud.staging.supernova.io') || url.includes('app.staging.supernova.io')) {
+      return 'https://api.staging.supernova.io/api';
+    }
+    throw new Error('Unsupported Supernova URL');
+  }
+ 
+  private async readWriteInstance(): Promise<{
+    version: DesignSystemVersion;
+    ds: DesignSystem;
+  }> {
+    // Create Supernova instance, fetch design system and version
+    try {
+      const designSystem = await this.sdkInstance.designSystem(this.designSystemId);
+      const designSystemVersion = await designSystem!.activeVersion();
+      if (designSystem && designSystemVersion) {
+        return {
+          ds: designSystem,
+          version: designSystemVersion,
+        };
+      }
+    } catch (error) {
+      // Will throw always when something goes wrong
+      Sentry.captureException(error);
+      console.log(error);
+    }
+    throw new Error(ErrorMessages.SUPERNOVA_CREDENTIAL_ERROR);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html new file mode 100644 index 000000000..ee1cb47d2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html @@ -0,0 +1,1546 @@ + + + + + + Code coverage report for src/storage/TokensStudioTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage TokensStudioTokenStorage.ts

+
+ +
+ 0% + Statements + 0/164 +
+ + +
+ 0% + Branches + 0/72 +
+ + +
+ 0% + Functions + 0/22 +
+ + +
+ 0% + Lines + 0/160 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  ThemeGroup, TokenSetType, TokensSet, create,
+} from '@tokens-studio/sdk';
+import * as Sentry from '@sentry/react';
+import { AnyTokenSet } from '@/types/tokens';
+import { notifyToUI } from '@/plugin/notifiers';
+import {
+  RemoteTokenStorage,
+  RemoteTokenstorageErrorMessage,
+  RemoteTokenStorageFile,
+  RemoteTokenStorageMetadata,
+} from './RemoteTokenStorage';
+import { ErrorMessages } from '../constants/ErrorMessages';
+import { SaveOption } from './FileTokenStorage';
+import {
+  GET_PROJECT_DATA_QUERY,
+  CREATE_TOKEN_SET_MUTATION,
+  DELETE_THEME_GROUP_MUTATION,
+  UPDATE_THEME_GROUP_MUTATION,
+  CREATE_THEME_GROUP_MUTATION,
+  UPDATE_TOKEN_SET_MUTATION,
+  DELETE_TOKEN_SET_MUTATION,
+  UPDATE_TOKEN_SET_ORDER_MUTATION,
+} from './tokensStudio/graphql';
+import { track } from '@/utils/analytics';
+import { ThemeObjectsList } from '@/types';
+import { TokensStudioAction } from '@/app/store/providers/tokens-studio';
+ 
+const DEFAULT_BRANCH = 'main';
+ 
+const makeClient = (secret: string) => create({
+  host: process.env.TOKENS_STUDIO_API_HOST || 'localhost:4200',
+  secure: process.env.NODE_ENV !== 'development',
+  auth: `Bearer ${secret}`,
+});
+ 
+export type TokensStudioSaveOptions = {
+  commitMessage?: string;
+};
+ 
+type ProjectData = {
+  tokens: AnyTokenSet | null | undefined;
+  themes: ThemeObjectsList;
+  tokenSets: {
+    [tokenSetName: string]: { isDynamic: boolean };
+  };
+  tokenSetOrder: string[];
+};
+ 
+async function getProjectData(id: string, orgId: string, client: any): Promise<ProjectData | null> {
+  try {
+    const data = await client.query({
+      query: GET_PROJECT_DATA_QUERY,
+      variables: {
+        projectId: id,
+        organization: orgId,
+        name: DEFAULT_BRANCH,
+      },
+    });
+ 
+    if (!data.data?.project?.branch) {
+      return null;
+    }
+ 
+    const tokenSets = data.data.project.branch.tokenSets.data as TokensSet[];
+    const { totalPages } = data.data.project.branch.tokenSets;
+ 
+    // TODO: This is a temporary solution until we implement pagination
+    if (totalPages > 1) {
+      notifyToUI('We are currently supporting up to 1000 sets, if you encounter this issue and need even more sets please reach out to us on slack or featurebase.', { error: true });
+    }
+ 
+    const returnData = tokenSets.reduce(
+      (acc, tokenSet) => {
+        if (!tokenSet.name) return acc;
+        acc.tokens[tokenSet.name] = JSON.parse(JSON.stringify(tokenSet.raw));
+        acc.tokenSets[tokenSet.name] = { isDynamic: tokenSet.type === TokenSetType.Dynamic };
+        return acc;
+      },
+      { tokens: {}, tokenSets: {} },
+    );
+ 
+    // sort by orderIndex
+    const tokenSetOrder = [...tokenSets]
+      .sort((a, b) => (+(a.orderIndex || 0) > +(b.orderIndex || 0) ? 1 : -1))
+      .map((tokenSet) => tokenSet.name);
+ 
+    let themes = [] as ThemeObjectsList;
+    const themeGroups = data.data.project.branch.themeGroups.data as ThemeGroup[];
+ 
+    if (themeGroups) {
+      themeGroups.forEach(({ name: group, options }) => {
+        if (!options) {
+          return;
+        }
+ 
+        const figmaThemes: ThemeObjectsList = options
+          ?.filter((theme) => !!theme)
+          .map((theme) => {
+            const selectedTokenSets = theme?.selectedTokenSets;
+ 
+            return {
+              id: `${group}-${theme?.name}` as string,
+              name: theme?.name as string,
+              group,
+              selectedTokenSets,
+              $figmaStyleReferences: theme?.figmaStyleReferences,
+              $figmaVariableReferences: theme?.figmaVariableReferences,
+              $figmaCollectionId: theme?.figmaCollectionId ?? undefined,
+              $figmaModeId: theme?.figmaModeId ?? undefined,
+            };
+          });
+ 
+        themes = [...themes, ...figmaThemes];
+      });
+    }
+ 
+    return { ...returnData, tokenSetOrder, themes };
+  } catch (e) {
+    Sentry.captureException(e);
+    console.error('Error fetching tokens', e);
+    return null;
+  }
+}
+ 
+export class TokensStudioTokenStorage extends RemoteTokenStorage<TokensStudioSaveOptions, SaveOption> {
+  private id: string;
+ 
+  private secret: string;
+ 
+  private orgId: string;
+ 
+  private client: any;
+ 
+  public actionsQueue: any[];
+ 
+  public processQueueTimeout: NodeJS.Timeout | null;
+ 
+  constructor(id: string, orgId: string, secret: string) {
+    super();
+    this.id = id;
+    this.orgId = orgId;
+    this.secret = secret;
+    this.client = makeClient(secret);
+    this.actionsQueue = [];
+    this.processQueueTimeout = null;
+  }
+ 
+  public setContext(id: string, orgId: string, secret: string) {
+    this.id = id;
+    this.orgId = orgId;
+    this.secret = secret;
+    this.client = makeClient(secret);
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    let tokens: AnyTokenSet | null | undefined = {};
+    let themes: ThemeObjectsList = [];
+    const metadata: RemoteTokenStorageMetadata = {};
+ 
+    try {
+      const projectData = await getProjectData(this.id, this.orgId, this.client);
+ 
+      tokens = projectData?.tokens;
+      themes = projectData?.themes || [];
+ 
+      if (projectData?.tokenSets) {
+        metadata.tokenSetsData = projectData.tokenSets;
+      }
+ 
+      if (projectData?.tokenSetOrder) {
+        metadata.tokenSetOrder = projectData.tokenSetOrder;
+      }
+    } catch (error) {
+      // We get errors in a slightly changed format from the backend
+      if (tokens?.errors) console.log('Error is', tokens.errors[0].message);
+      return {
+        errorMessage: tokens?.errors ? tokens.errors[0].message : ErrorMessages.TOKENSSTUDIO_CREDENTIAL_ERROR,
+      };
+    }
+    if (tokens) {
+      // @ts-ignore typescript is giving me a great friday morning
+      const returnPayload: RemoteTokenStorageFile[] = Object.entries(tokens).map(([filename, data]) => ({
+        name: filename,
+        type: 'tokenSet',
+        path: filename,
+        data,
+      }));
+ 
+      if (themes) {
+        returnPayload.push({
+          type: 'themes',
+          path: 'themes',
+          data: themes,
+        });
+      }
+ 
+      if (metadata) {
+        returnPayload.push({
+          type: 'metadata',
+          path: 'metadata',
+          data: metadata,
+        });
+      }
+ 
+      return returnPayload;
+    }
+    return {
+      errorMessage: ErrorMessages.TOKENSSTUDIO_READ_ERROR,
+    };
+  }
+ 
+  public async write(
+    // TODO: Add write support
+    // eslint-disable-next-line @typescript-eslint/no-unused-vars
+    files: RemoteTokenStorageFile<TokensStudioSaveOptions>[],
+    // eslint-disable-next-line @typescript-eslint/no-unused-vars
+    saveOptions?: SaveOption | undefined,
+  ): Promise<boolean> {
+    console.log('WRITE NOT IMPLEMENTED', files, saveOptions);
+    return undefined as any;
+  }
+ 
+  public async push({
+    action,
+    data,
+    metadata,
+    successCallback,
+  }: {
+    action: TokensStudioAction;
+    data: any;
+    metadata?: RemoteTokenStorageMetadata['tokenSetsData'];
+    successCallback?: () => void;
+  }) {
+    this.actionsQueue.push({
+      action,
+      data,
+      metadata,
+      successCallback,
+    });
+ 
+    if (this.processQueueTimeout) {
+      clearTimeout(this.processQueueTimeout);
+    }
+ 
+    this.processQueueTimeout = setTimeout(this.processQueue.bind(this), 100);
+  }
+ 
+  private async handleCreateTokenSet(data: any, successCallback: () => void) {
+    try {
+      if (!data.name) {
+        throw new Error('Invalid data');
+      }
+      // TODO: export the type for the mutation from sdk
+      const responseData = await this.client.mutate({
+        mutation: CREATE_TOKEN_SET_MUTATION,
+        variables: {
+          project: this.id,
+          organization: this.orgId,
+          input: {
+            path: data.name,
+            orderIndex: data.orderIndex,
+          },
+        },
+      });
+ 
+      if (!responseData?.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Create token set in Tokens Studio');
+      notifyToUI('Token set added in Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      console.error('Error creating token set in Tokens Studio', e);
+    }
+  }
+ 
+  private async handleUpdateTokenSet(data: any, successCallback: () => void) {
+    try {
+      const responseData = await this.client.mutate({
+        mutation: UPDATE_TOKEN_SET_MUTATION,
+        variables: {
+          project: this.id,
+          organization: this.orgId,
+          input: {
+            path: data.oldName || data.name,
+            newPath: data.newName,
+            raw: data.raw,
+          },
+        },
+      });
+ 
+      if (!responseData.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Update token set in Tokens Studio');
+      notifyToUI('Token set updated in Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      notifyToUI(`Error updating following token set in Tokens Studio: ${data.oldName || data.name}`, {
+        error: true,
+      });
+      console.error('Error updating token set in Tokens Studio', e);
+    }
+  }
+ 
+  private async handleDeleteTokenSet(data: any, successCallback: () => void) {
+    try {
+      if (!data.name) {
+        throw new Error('Invalid data');
+      }
+ 
+      const responseData = await this.client.mutate({
+        mutation: DELETE_TOKEN_SET_MUTATION,
+        variables: {
+          branch: DEFAULT_BRANCH,
+          path: data.name,
+          project: this.id,
+          organization: this.orgId,
+        },
+      });
+ 
+      if (!responseData.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Delete token set in Tokens Studio');
+      notifyToUI('Token set deleted from Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      console.error('Error deleting token set in Tokens Studio', e);
+    }
+  }
+ 
+  private async handleUpdateTokenSetOrder(data: any, successCallback: () => void) {
+    try {
+      const responseData = await this.client.mutate({
+        mutation: UPDATE_TOKEN_SET_ORDER_MUTATION,
+        variables: {
+          updates: data,
+          project: this.id,
+          organization: this.orgId,
+        },
+      });
+ 
+      if (!responseData.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Update token set order in Tokens Studio');
+      notifyToUI('Token set order updated in Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      console.error('Error updating token set order in Tokens Studio', e);
+    }
+  }
+ 
+  private async handleCreateThemeGroup(data: any, successCallback: () => void) {
+    try {
+      const responseData = await this.client.mutate({
+        mutation: CREATE_THEME_GROUP_MUTATION,
+        variables: {
+          input: {
+            name: data.name,
+            options: data.options,
+          },
+          project: this.id,
+          organization: this.orgId,
+          branch: DEFAULT_BRANCH,
+        },
+      });
+ 
+      if (!responseData.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Create theme group in Tokens Studio');
+      notifyToUI('Theme group created in Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      console.error('Error creating theme group in Tokens Studio', e);
+    }
+  }
+ 
+  private async handleUpdateThemeGroup(data: any, successCallback: () => void) {
+    try {
+      const responseData = await this.client.mutate({
+        mutation: UPDATE_THEME_GROUP_MUTATION,
+        variables: {
+          input: {
+            name: data.name,
+            ...(data.newName && { newName: data.newName }),
+            options: data.options,
+          },
+          project: this.id,
+          organization: this.orgId,
+        },
+      });
+ 
+      if (!responseData.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Update theme group in Tokens Studio');
+      notifyToUI('Theme group updated in Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      console.error('Error updating theme group in Tokens Studio', e);
+    }
+  }
+ 
+  private async handleDeleteThemeGroup(data: any, successCallback: () => void) {
+    try {
+      const responseData = await this.client.mutate({
+        mutation: DELETE_THEME_GROUP_MUTATION,
+        variables: {
+          branch: DEFAULT_BRANCH,
+          themeGroupName: data.name,
+          project: this.id,
+          organization: this.orgId,
+        },
+      });
+ 
+      if (!responseData.data) {
+        throw new Error('No response data');
+      }
+ 
+      track('Delete theme group in Tokens Studio');
+      notifyToUI('Theme group deleted from Tokens Studio', { error: false });
+ 
+      successCallback?.();
+    } catch (e) {
+      Sentry.captureException(e);
+      console.error('Error deleting theme group in Tokens Studio', e);
+    }
+  }
+ 
+  private async processQueue() {
+    const actionsToProcess = [...this.actionsQueue];
+    this.actionsQueue = [];
+    this.processQueueTimeout = null;
+ 
+    for (const actionToProcess of actionsToProcess) {
+      const { action, data, successCallback } = actionToProcess;
+ 
+      switch (action) {
+        case 'CREATE_TOKEN_SET':
+          await this.handleCreateTokenSet(data, successCallback);
+          break;
+        case 'UPDATE_TOKEN_SET':
+          await this.handleUpdateTokenSet(data, successCallback);
+          break;
+        case 'DELETE_TOKEN_SET':
+          await this.handleDeleteTokenSet(data, successCallback);
+          break;
+        case 'UPDATE_TOKEN_SET_ORDER':
+          await this.handleUpdateTokenSetOrder(data, successCallback);
+          break;
+        case 'CREATE_THEME_GROUP':
+          await this.handleCreateThemeGroup(data, successCallback);
+          break;
+        case 'UPDATE_THEME_GROUP':
+          await this.handleUpdateThemeGroup(data, successCallback);
+          break;
+        case 'DELETE_THEME_GROUP':
+          await this.handleDeleteThemeGroup(data, successCallback);
+          break;
+        default:
+          throw new Error(`Unimplemented storage provider for ${action}`);
+      }
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html new file mode 100644 index 000000000..c9eba5a9b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/storage/UrlTokenStorage.ts + + + + + + + + + +
+
+

All files / src/storage UrlTokenStorage.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/14 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObjectsList } from '@/types';
+import {
+  RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata, RemoteTokenStorageSingleTokenSetFile,
+} from './RemoteTokenStorage';
+import { singleFileSchema } from './schemas/singleFileSchema';
+import IsJSONString from '@/utils/isJSONString';
+import { SystemFilenames } from '@/constants/SystemFilenames';
+import { ErrorMessages } from '@/constants/ErrorMessages';
+import { complexSingleFileSchema } from './schemas';
+import { SaveOption } from './FileTokenStorage';
+ 
+type UrlData = {
+  values: Record<string, RemoteTokenStorageSingleTokenSetFile['data']>
+  $themes?: ThemeObjectsList
+  $metadata?: RemoteTokenStorageMetadata
+};
+ 
+export class UrlTokenStorage extends RemoteTokenStorage<unknown, SaveOption> {
+  private url: string;
+ 
+  private secret: string;
+ 
+  constructor(url: string, secret: string) {
+    super();
+    this.url = url;
+    this.secret = secret;
+  }
+ 
+  private convertUrlDataToFiles(data: UrlData): RemoteTokenStorageFile[] {
+    return [
+      {
+        type: 'themes',
+        path: `${SystemFilenames.THEMES}.json`,
+        data: data.$themes ?? [],
+      },
+      {
+        type: 'metadata',
+        path: `${SystemFilenames.METADATA}.json`,
+        data: data.$metadata ?? {},
+      },
+      ...Object.entries(data.values).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
+        name,
+        type: 'tokenSet',
+        path: `${name}.json`,
+        data: tokenSet,
+      })),
+    ];
+  }
+ 
+  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
+    const customHeaders = IsJSONString(this.secret)
+      ? JSON.parse(this.secret) as Record<string, string>
+      : {};
+ 
+    const headers = {
+      Accept: 'application/json',
+      ...customHeaders,
+    };
+ 
+    const response = await fetch(this.url, {
+      method: 'GET',
+      headers,
+    });
+ 
+    if (response.ok) {
+      const parsedJsonData = await response.json();
+      const validationResult = await singleFileSchema.safeParseAsync(parsedJsonData);
+      // @README if this validation passes we can assume it is in a newer format
+      if (validationResult.success) {
+        const urlstorageData = validationResult.data as UrlData;
+        return this.convertUrlDataToFiles(urlstorageData);
+      }
+ 
+      // @README if not this is an older format where we just have tokens
+      const onlyTokensValidationResult = await complexSingleFileSchema.safeParseAsync(parsedJsonData);
+      if (onlyTokensValidationResult.success) {
+        const urlstorageData = onlyTokensValidationResult.data;
+        const { $themes = [], $metadata = {}, ...values } = urlstorageData;
+        return this.convertUrlDataToFiles({
+          values,
+          $themes,
+          $metadata,
+        });
+      }
+      return {
+        errorMessage: ErrorMessages.VALIDATION_ERROR,
+      };
+    }
+ 
+    return [];
+  }
+ 
+  public async write(): Promise<boolean> {
+    throw new Error('Not implemented');
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/index.html new file mode 100644 index 000000000..a4ffa48ea --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/index.html @@ -0,0 +1,296 @@ + + + + + + Code coverage report for src/storage + + + + + + + + + +
+
+

All files src/storage

+
+ +
+ 0% + Statements + 0/932 +
+ + +
+ 0% + Branches + 0/586 +
+ + +
+ 0% + Functions + 0/185 +
+ + +
+ 0% + Lines + 0/889 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ADOTokenStorage.ts +
+
0%0/1260%0/850%0/310%0/119
BitbucketTokenStorage.ts +
+
0%0/1030%0/570%0/230%0/100
FileTokenStorage.ts +
+
0%0/520%0/390%0/130%0/50
GenericVersionedStorage.ts +
+
0%0/520%0/300%0/90%0/50
GitTokenStorage.ts +
+
0%0/420%0/240%0/80%0/41
GithubTokenStorage.ts +
+
0%0/1120%0/730%0/260%0/103
GitlabTokenStorage.ts +
+
0%0/1440%0/1000%0/290%0/129
JSONBinTokenStorage.ts +
+
0%0/400%0/340%0/70%0/40
RemoteTokenStorage.ts +
+
0%0/220%0/140%0/40%0/22
SupernovaTokenStorage.ts +
+
0%0/530%0/440%0/80%0/53
TokensStudioTokenStorage.ts +
+
0%0/1640%0/720%0/220%0/160
UrlTokenStorage.ts +
+
0%0/220%0/140%0/50%0/22
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html new file mode 100644 index 000000000..795674c67 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/storage/index.ts + + + + + + + + + +
+
+

All files / src/storage index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './JSONBinTokenStorage';
+export * from './GenericVersionedStorage';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html new file mode 100644 index 000000000..55e0800b2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/storage/schemas/complexSingleFileSchema.ts + + + + + + + + + +
+
+

All files / src/storage/schemas complexSingleFileSchema.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+import { themeObjectSchema } from './themeObjectSchema';
+import { tokensMapSchema } from './tokensMapSchema';
+import type { DeepTokensMap, ThemeObjectsList } from '@/types';
+ 
+// @README this schema applies to Git type providers
+ 
+type ReservedFields = {
+  $themes?: ThemeObjectsList
+  $metadata?: {
+    tokenSetOrder?: string[]
+  }
+};
+ 
+type ComplexSingleFileFormat = ReservedFields & {
+  [K in Exclude<string, '$metadata' | '$themes'>]: DeepTokensMap<false>
+};
+ 
+export const complexSingleFileSchema: z.ZodType<ComplexSingleFileFormat> = z.lazy(() => (
+  (z.record(tokensMapSchema.or(z.array(themeObjectSchema)).or(z.object({
+    tokenSetOrder: z.array(z.string()).optional(),
+  }))) as z.ZodType<ComplexSingleFileFormat>)
+));
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html new file mode 100644 index 000000000..9d628d4de --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html @@ -0,0 +1,206 @@ + + + + + + Code coverage report for src/storage/schemas + + + + + + + + + +
+
+

All files src/storage/schemas

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
complexSingleFileSchema.ts +
+
0%0/2100%0/00%0/10%0/2
index.ts +
+
0%0/00%0/00%0/00%0/0
multiFileSchema.ts +
+
0%0/1100%0/0100%0/00%0/1
singleFileSchema.ts +
+
0%0/1100%0/0100%0/00%0/1
singleTokenSchema.ts +
+
0%0/3100%0/0100%0/00%0/3
themeObjectSchema.ts +
+
0%0/1100%0/0100%0/00%0/1
tokensMapSchema.ts +
+
0%0/2100%0/00%0/10%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html new file mode 100644 index 000000000..4b59be972 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/storage/schemas/index.ts + + + + + + + + + +
+
+

All files / src/storage/schemas index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export * from './themeObjectSchema';
+export * from './multiFileSchema';
+export * from './singleFileSchema';
+export * from './singleTokenSchema';
+export * from './complexSingleFileSchema';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html new file mode 100644 index 000000000..7b4536895 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/storage/schemas/multiFileSchema.ts + + + + + + + + + +
+
+

All files / src/storage/schemas multiFileSchema.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import z from 'zod';
+import { tokensMapSchema } from './tokensMapSchema';
+import { themeObjectSchema } from './themeObjectSchema';
+ 
+export const multiFileSchema = tokensMapSchema.or(z.array(themeObjectSchema)).or(z.object({
+  tokenSetOrder: z.array(z.string()).optional(),
+}));
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html new file mode 100644 index 000000000..8723413a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/storage/schemas/singleFileSchema.ts + + + + + + + + + +
+
+

All files / src/storage/schemas singleFileSchema.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+import { tokensMapSchema } from './tokensMapSchema';
+import { themeObjectSchema } from './themeObjectSchema';
+ 
+// @README this schema only applies to URL and JSONBIN
+ 
+export const singleFileSchema = z.object({
+  values: z.record(tokensMapSchema),
+  $themes: z.array(themeObjectSchema).optional(),
+  $metadata: z.object({
+    tokenSetOrder: z.array(z.string()).optional(),
+    version: z.string().optional(),
+    updatedAt: z.string().optional(),
+  }).optional(),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html new file mode 100644 index 000000000..25641db81 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/storage/schemas/singleTokenSchema.ts + + + + + + + + + +
+
+

All files / src/storage/schemas singleTokenSchema.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+ 
+const baseSchema = z.object({
+  value: z.any(),
+  type: z.string(),
+  description: z.string().optional(),
+}).passthrough();
+ 
+const dollarPrefixedSchema = z.object({
+  $value: z.any(),
+  $type: z.string(),
+  $description: z.string().optional(),
+}).passthrough();
+ 
+export const singleTokenSchema = z.union([baseSchema, dollarPrefixedSchema]);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html new file mode 100644 index 000000000..64e051469 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/storage/schemas/themeObjectSchema.ts + + + + + + + + + +
+
+

All files / src/storage/schemas themeObjectSchema.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+export const themeObjectSchema = z.object({
+  id: z.string(),
+  name: z.string(),
+  group: z.string().optional(),
+  selectedTokenSets: z.record(z.enum([
+    TokenSetStatus.ENABLED,
+    TokenSetStatus.DISABLED,
+    TokenSetStatus.SOURCE,
+  ])),
+  $figmaStyleReferences: z.record(z.string()).optional(),
+  $figmaVariableReferences: z.record(z.string()).optional(),
+  $figmaCollectionId: z.string().optional(),
+  $figmaModeId: z.string().optional(),
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html new file mode 100644 index 000000000..0c9a0b14c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/storage/schemas/tokensMapSchema.ts + + + + + + + + + +
+
+

All files / src/storage/schemas tokensMapSchema.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import z from 'zod';
+import { singleTokenSchema } from './singleTokenSchema';
+import { DeepTokensMap } from '@/types';
+ 
+// @README need to "as" this type because of the string validation not mathcing to the TokenTypes enum
+// but I do not want to set a strict validation because there might be instances where the incoming data
+// has invalid types
+export const tokensMapSchema: z.ZodType<DeepTokensMap<false>> = z.lazy(() => (
+  z.record(singleTokenSchema.or(tokensMapSchema)) as z.ZodType<DeepTokensMap<false>>
+));
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html new file mode 100644 index 000000000..fe06360c2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/storage/tokensStudio/createTokenInTokensStudio.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio createTokenInTokensStudio.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RematchRootState } from '@rematch/core';
+import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import { UpdateTokenPayload } from '@/types/payloads';
+import { RootModel } from '@/types/RootModel';
+import { SingleToken } from '@/types/tokens';
+import { singleTokensToRawTokenSet } from '@/utils/convert';
+ 
+interface CreateTokenInTokensStudioPayload {
+  rootState: RematchRootState<RootModel, Record<string, never>>;
+  payload: UpdateTokenPayload;
+}
+ 
+export async function createTokenInTokensStudio({
+  payload,
+  rootState,
+}: CreateTokenInTokensStudioPayload) {
+  const tokenSet = rootState.tokenState.tokens[payload.parent];
+ 
+  if (!tokenSet) {
+    throw new Error('Token set not found');
+  }
+ 
+  const newToken = {
+    name: payload.name,
+    type: payload.type,
+    value: payload.value,
+    description: payload.description,
+    $extensions: payload.$extensions,
+  } as SingleToken;
+ 
+  const newSet = [...tokenSet, newToken];
+  const dtcgSet = singleTokensToRawTokenSet(newSet, true);
+ 
+  pushToTokensStudio({
+    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+    action: 'UPDATE_TOKEN_SET',
+    data: {
+      raw: dtcgSet,
+      name: payload.parent,
+    },
+    metadata: rootState.tokenState.tokenSetMetadata,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html new file mode 100644 index 000000000..b301c93a4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/storage/tokensStudio/createTokenSetInTokensStudio.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio createTokenSetInTokensStudio.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RematchRootState } from '@rematch/core';
+import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import { RootModel } from '@/types/RootModel';
+import { TokenState } from '@/app/store/models/tokenState';
+ 
+interface CreateTokenSetInTokensStudioPayload {
+  rootState: RematchRootState<RootModel, Record<string, never>>;
+  name: string;
+  onTokenSetCreated: (payload: TokenState['tokenSetMetadata']) => void;
+}
+ 
+export async function createTokenSetInTokensStudio({
+  rootState,
+  name,
+  onTokenSetCreated,
+}: CreateTokenSetInTokensStudioPayload) {
+  const orderIndex = Object.keys(rootState.tokenState.tokens).length;
+ 
+  pushToTokensStudio({
+    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+    action: 'CREATE_TOKEN_SET',
+    data: { name, orderIndex },
+    successCallback: () => {
+      onTokenSetCreated({
+        ...rootState.tokenState.tokenSetMetadata,
+        [name]: {
+          isDynamic: false,
+        },
+      });
+    },
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html new file mode 100644 index 000000000..d6d516f9b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio deleteTokenSetFromTokensStudio.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RematchRootState } from '@rematch/core';
+import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import { RootModel } from '@/types/RootModel';
+import { TokenState } from '@/app/store/models/tokenState';
+ 
+interface DeleteTokenSetFromTokensStudioPayload {
+  rootState: RematchRootState<RootModel, Record<string, never>>;
+  name: string;
+  onTokenSetDeleted: (payload: TokenState['tokenSetMetadata']) => void;
+}
+ 
+export async function deleteTokenSetFromTokensStudio({
+  rootState,
+  name,
+  onTokenSetDeleted,
+}: DeleteTokenSetFromTokensStudioPayload) {
+  pushToTokensStudio({
+    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+    action: 'DELETE_TOKEN_SET',
+    data: { name },
+    metadata: rootState.tokenState.tokenSetMetadata,
+    successCallback: () => {
+      const tokenSetMetadata = { ...rootState.tokenState.tokenSetMetadata };
+      delete tokenSetMetadata[name];
+      onTokenSetDeleted(tokenSetMetadata);
+    },
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html new file mode 100644 index 000000000..481455b87 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/storage/tokensStudio/duplicateTokenInTokensStudio.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio duplicateTokenInTokensStudio.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RematchRootState } from '@rematch/core';
+import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import { DuplicateTokenPayload, UpdateTokenPayload } from '@/types/payloads';
+import { RootModel } from '@/types/RootModel';
+import { updateTokenPayloadToSingleToken } from '@/utils/updateTokenPayloadToSingleToken';
+import { singleTokensToRawTokenSet } from '@/utils/convert';
+ 
+interface CreateTokenInTokensStudioPayload {
+  rootState: RematchRootState<RootModel, Record<string, never>>;
+  payload: DuplicateTokenPayload;
+}
+ 
+export async function duplicateTokenInTokensStudio({
+  payload,
+  rootState,
+}: CreateTokenInTokensStudioPayload) {
+  const tokenData = updateTokenPayloadToSingleToken({
+    parent: payload.parent,
+    name: payload.newName,
+    type: payload.type,
+    value: payload.value,
+    description: payload.description,
+    oldName: payload.oldName,
+    $extensions: payload.$extensions,
+  } as UpdateTokenPayload);
+ 
+  const tokenSets = rootState.tokenState.tokens;
+ 
+  for (const tokenSet of payload.tokenSets) {
+    const tokenSetContent = tokenSets[tokenSet];
+    const newTokenSetContent = [...tokenSetContent, tokenData];
+    const newRawTokenSet = singleTokensToRawTokenSet(newTokenSetContent, true);
+ 
+    pushToTokensStudio({
+      context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+      action: 'UPDATE_TOKEN_SET',
+      data: { raw: newRawTokenSet, name: tokenSet },
+    });
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html new file mode 100644 index 000000000..939cb16c9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/createThemeGroupMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql createThemeGroupMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const CREATE_THEME_GROUP_MUTATION = gql`
+  mutation CreateThemeGroup($project: String!, $organization: String!, $branch: String!, $input: ThemeGroupInput!) {
+    createThemeGroup(project: $project, organization: $organization, branch: $branch, input: $input) {
+      name
+      options {
+        name
+        figmaStyleReferences
+        figmaVariableReferences
+        selectedTokenSets
+        figmaCollectionId
+        figmaModeId
+      }
+    }
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html new file mode 100644 index 000000000..7db706a11 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/createTokenMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql createTokenMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { TOKEN_FRAGMENT } from './tokenFragment';
+ 
+export const CREATE_TOKEN_MUTATION = `
+    mutation CreateToken($set: String!, $input: TokenInput!) {
+        createToken(set: $set, input: $input) {
+            ${TOKEN_FRAGMENT}
+        }
+    }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html new file mode 100644 index 000000000..35dc55c0f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/createTokenSetMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql createTokenSetMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const CREATE_TOKEN_SET_MUTATION = gql`
+mutation CreateTokenSet($input: TokenSetInput!, $project: String!, $organization: String!) {
+  createTokenSet(input: $input, project: $project, organization: $organization) {
+    name
+  }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html new file mode 100644 index 000000000..76018ff43 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql deleteThemeGroupMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const DELETE_THEME_GROUP_MUTATION = gql`
+mutation DeleteThemeGroup($branch: String!, $themeGroupName: String!, $project: String!, $organization: String!) {
+  deleteThemeGroup(branch: $branch, themeGroupName: $themeGroupName, project: $project, organization: $organization) {
+      name
+  }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html new file mode 100644 index 000000000..63d4c4bd2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/deleteTokenMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql deleteTokenMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { TOKEN_FRAGMENT } from './tokenFragment';
+ 
+export const DELETE_TOKEN_MUTATION = `
+mutation DeleteToken($urn: String!) {
+    deleteToken(urn: $urn) {
+        ${TOKEN_FRAGMENT}
+    }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html new file mode 100644 index 000000000..b534aea1e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql deleteTokenSetMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const DELETE_TOKEN_SET_MUTATION = gql`
+mutation DeleteSet($branch: String!, $path: String!, $project: String!, $organization: String!) {
+  deleteSet(branch: $branch, path: $path, project: $project, organization: $organization) {
+      name    
+  }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html new file mode 100644 index 000000000..5caf0643c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/getGeneratorQuery.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql getGeneratorQuery.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
export const GET_GENERATOR_QUERY = `
+query Generator($urn: String!) {
+    generator(urn: $urn) {
+        urn
+        name
+        description
+        createdAt
+        updatedAt
+        graph
+    }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html new file mode 100644 index 000000000..4019ed742 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/getOrgsQuery.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql getOrgsQuery.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const GET_ORGS_QUERY = gql`
+  query Organizations {
+    organizations {
+      data {
+        name
+        id
+        projects {
+          data {
+            name
+            id
+          }
+        }
+      }
+    }
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html new file mode 100644 index 000000000..be4a12577 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/getProjectDataQuery.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql getProjectDataQuery.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const GET_PROJECT_DATA_QUERY = gql`
+  query Branch($projectId: String!, $organization: String!, $name: String) {
+    project(id: $projectId, organization: $organization) {
+      branch(name: $name) {
+        tokenSets(limit: 1000) {
+          data {
+            name
+            orderIndex
+            type
+            raw
+          }
+          totalPages
+        }
+        themeGroups {
+          data {
+            name
+            options {
+              name
+              figmaStyleReferences
+              figmaVariableReferences
+              selectedTokenSets
+              figmaCollectionId
+              figmaModeId
+            }
+          }
+        }
+      }
+    }
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html new file mode 100644 index 000000000..c87d0aabb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/getTokenSetQuery.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql getTokenSetQuery.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TOKEN_FRAGMENT } from './tokenFragment';
+ 
+export const GET_TOKEN_SET_QUERY = `
+query TokenSet($urn: String!) {
+    tokenSet(urn: $urn) {
+        urn
+        metadata {
+            createdAt
+        }
+        name
+        projectUrn
+        type
+        generatorUrn
+        orderIndex
+        createdAt
+        tokens {
+            ${TOKEN_FRAGMENT}
+        }
+    }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html new file mode 100644 index 000000000..0125e0f8b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html @@ -0,0 +1,341 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql + + + + + + + + + +
+
+

All files src/storage/tokensStudio/graphql

+
+ +
+ 0% + Statements + 0/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
createThemeGroupMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
createTokenMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
createTokenSetMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
deleteThemeGroupMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
deleteTokenMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
deleteTokenSetMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
getGeneratorQuery.ts +
+
0%0/1100%0/0100%0/00%0/1
getOrgsQuery.ts +
+
0%0/1100%0/0100%0/00%0/1
getProjectDataQuery.ts +
+
0%0/1100%0/0100%0/00%0/1
getTokenSetQuery.ts +
+
0%0/1100%0/0100%0/00%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
tokenFragment.ts +
+
0%0/1100%0/0100%0/00%0/1
updateThemeGroupMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
updateTokenMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
updateTokenSetMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
updateTokenSetOrderMutation.ts +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html new file mode 100644 index 000000000..370185a10 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/index.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export { GET_PROJECT_DATA_QUERY } from './getProjectDataQuery';
+export { CREATE_TOKEN_MUTATION } from './createTokenMutation';
+export { UPDATE_TOKEN_MUTATION } from './updateTokenMutation';
+export { DELETE_TOKEN_MUTATION } from './deleteTokenMutation';
+export { CREATE_TOKEN_SET_MUTATION } from './createTokenSetMutation';
+export { UPDATE_TOKEN_SET_MUTATION } from './updateTokenSetMutation';
+export { DELETE_TOKEN_SET_MUTATION } from './deleteTokenSetMutation';
+export { UPDATE_TOKEN_SET_ORDER_MUTATION } from './updateTokenSetOrderMutation';
+export { CREATE_THEME_GROUP_MUTATION } from './createThemeGroupMutation';
+export { UPDATE_THEME_GROUP_MUTATION } from './updateThemeGroupMutation';
+export { DELETE_THEME_GROUP_MUTATION } from './deleteThemeGroupMutation';
+export { GET_GENERATOR_QUERY } from './getGeneratorQuery';
+export { GET_TOKEN_SET_QUERY } from './getTokenSetQuery';
+export { GET_ORGS_QUERY } from './getOrgsQuery';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html new file mode 100644 index 000000000..24a07c2b1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/tokenFragment.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql tokenFragment.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { compositionFields } from '../utils';
+ 
+export const TOKEN_FRAGMENT = `
+    description
+    name
+    urn
+    extensions
+    setUrn
+    type
+    value {
+        ... on Raw_Token_scalar {
+            value
+        }
+        ... on Raw_Token_typography {
+            value
+            typography {
+                textDecoration
+                textCase
+                lineHeight
+                letterSpacing
+                fontSize
+                fontFamily
+                fontWeight
+                paragraphIndent
+                paragraphSpacing
+            }
+        }
+        ... on Raw_Token_border {
+            value
+            border {
+                width
+                style
+                color
+            }
+        }
+        ... on Raw_Token_boxShadow {
+            value
+            boxShadow {
+                x
+                y
+                blur
+                spread
+                color
+                type
+            }
+        }
+        ... on Raw_Token_composition {
+            value
+            composition {
+                ${compositionFields}
+            }
+        }
+    }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html new file mode 100644 index 000000000..79b078a7b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql updateThemeGroupMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const UPDATE_THEME_GROUP_MUTATION = gql`
+  mutation UpdateThemeGroup($input: ThemeGroupUpdateInput!, $project: String!, $organization: String!) {
+    updateThemeGroup(input: $input, project: $project, organization: $organization) {
+      name
+      options {
+        name
+        selectedTokenSets
+        figmaStyleReferences
+        figmaVariableReferences
+        figmaCollectionId
+        figmaModeId
+      }
+    }
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html new file mode 100644 index 000000000..ae969f52d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/updateTokenMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql updateTokenMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { TOKEN_FRAGMENT } from './tokenFragment';
+ 
+export const UPDATE_TOKEN_MUTATION = `
+mutation UpdateToken($urn: String!, $input: TokenUpdateInput!) {
+    updateToken(urn: $urn, input: $input) {
+      ${TOKEN_FRAGMENT}
+    }
+}`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html new file mode 100644 index 000000000..30f472e43 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/updateTokenSetMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql updateTokenSetMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const UPDATE_TOKEN_SET_MUTATION = gql`
+mutation UpdateTokenSet($input: TokenSetUpdateInput!, $project: String!, $organization: String!) {
+  updateTokenSet(input: $input, project: $project, organization: $organization) {
+    name
+    tokens {
+      extensions
+      name
+      description
+      value
+    }
+  }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html new file mode 100644 index 000000000..09744f92b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/graphql updateTokenSetOrderMutation.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { gql } from '@tokens-studio/sdk';
+ 
+export const UPDATE_TOKEN_SET_ORDER_MUTATION = gql`
+mutation UpdateTokenSetsOrder($updates: [TokenSetOrderInput!]!, $project: String!, $organization: String!) {
+  updateTokenSetsOrder(updates: $updates, project: $project, organization: $organization) {
+    name
+    orderIndex
+    type
+    tokens {
+      description
+      type
+      name
+      extensions
+    }
+  }
+}
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html new file mode 100644 index 000000000..147c6402a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/storage/tokensStudio + + + + + + + + + +
+
+

All files src/storage/tokensStudio

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
createTokenInTokensStudio.ts +
+
0%0/70%0/20%0/10%0/7
createTokenSetInTokensStudio.ts +
+
0%0/3100%0/00%0/20%0/3
deleteTokenSetFromTokensStudio.ts +
+
0%0/4100%0/00%0/20%0/4
duplicateTokenInTokensStudio.ts +
+
0%0/7100%0/00%0/10%0/7
index.ts +
+
0%0/00%0/00%0/00%0/0
updateTokenSetInTokensStudio.ts +
+
0%0/4100%0/00%0/20%0/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html new file mode 100644 index 000000000..4bbb4bcf2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/storage/tokensStudio/index.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export { createTokenInTokensStudio } from './createTokenInTokensStudio';
+export { duplicateTokenInTokensStudio } from './duplicateTokenInTokensStudio';
+export { createTokenSetInTokensStudio } from './createTokenSetInTokensStudio';
+export { updateTokenSetInTokensStudio } from './updateTokenSetInTokensStudio';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html new file mode 100644 index 000000000..156213d6b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio deleteTheme.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObjectsList } from '@/types';
+import { getThemeGroupsToUpdate } from './getThemeGroupsToUpdate';
+ 
+type Props = {
+  action: any;
+  themes: ThemeObjectsList;
+  prevThemes: ThemeObjectsList;
+};
+ 
+export const deleteTheme = ({ action, themes, prevThemes }: Props) => {
+  const { payload: themeId } = action;
+ 
+  let themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
+  let themeGroupsToDelete: string[] = [];
+ 
+  const themeGroupName = prevThemes.find((theme) => theme.id === themeId)?.group;
+ 
+  if (themeGroupName) {
+    const themesToUpdate = themes.filter(({ group }) => group === themeGroupName);
+ 
+    if (themesToUpdate.length) {
+      themeGroupsToUpdate = getThemeGroupsToUpdate(themesToUpdate);
+    } else {
+      themeGroupsToDelete = [themeGroupName];
+    }
+  }
+ 
+  return { themeGroupsToUpdate, themeGroupsToDelete };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html new file mode 100644 index 000000000..3755eb408 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio getThemeGroupsToUpdate.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObjectsList } from '@/types';
+ 
+export const getThemeGroupsToUpdate = (themes: ThemeObjectsList) => {
+  const themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
+ 
+  themes.forEach((theme) => {
+    if (theme.group) {
+      themeGroupsToUpdate[theme.group] = themeGroupsToUpdate[theme.group] || [];
+      themeGroupsToUpdate[theme.group].push(theme);
+    }
+  });
+ 
+  return themeGroupsToUpdate;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html new file mode 100644 index 000000000..7d2b340f9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio + + + + + + + + + +
+
+

All files src/storage/tokensStudio/updateThemeGroupsInTokensStudio

+
+ +
+ 0% + Statements + 0/92 +
+ + +
+ 0% + Branches + 0/50 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/89 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
deleteTheme.ts +
+
0%0/130%0/40%0/30%0/11
getThemeGroupsToUpdate.ts +
+
0%0/70%0/40%0/20%0/7
index.ts +
+
0%0/300%0/160%0/20%0/30
saveTheme.ts +
+
0%0/350%0/220%0/40%0/34
updateThemeGroupName.ts +
+
0%0/70%0/40%0/30%0/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html new file mode 100644 index 000000000..4b930caec --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html @@ -0,0 +1,460 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio index.ts

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RematchDispatch, RematchRootState } from '@rematch/core';
+import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import { RootModel } from '@/types/RootModel';
+import { ThemeObject, ThemeObjectsList } from '@/types';
+import { getThemeGroupsToUpdate } from './getThemeGroupsToUpdate';
+import { updateThemeGroupName } from './updateThemeGroupName';
+import { saveTheme } from './saveTheme';
+import { deleteTheme } from './deleteTheme';
+ 
+interface UpdateThemeGroupsInTokensStudioPayload {
+  prevState: RematchRootState<RootModel, Record<string, never>>;
+  rootState: RematchRootState<RootModel, Record<string, never>>;
+  dispatch: RematchDispatch<RootModel>;
+  action: any;
+}
+ 
+export async function updateThemeGroupsInTokensStudio({
+  prevState,
+  rootState,
+  action,
+}: UpdateThemeGroupsInTokensStudioPayload) {
+  const {
+    tokenState: { themes },
+  } = rootState;
+  const {
+    tokenState: { themes: prevThemes },
+  } = prevState;
+ 
+  let themeToCreate: ThemeObject | null = null;
+  let themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
+  let themeGroupsToDelete: string[] = [];
+ 
+  switch (action.type) {
+    case 'tokenState/updateThemeGroupName': {
+      updateThemeGroupName({ action, themes, themeGroupsToUpdate });
+      break;
+    }
+    case 'tokenState/saveTheme': {
+      const themeGroupsToAlter = saveTheme({
+        action,
+        themes,
+        prevThemes,
+      });
+      themeToCreate = themeGroupsToAlter.themeToCreate;
+      themeGroupsToDelete = themeGroupsToAlter.themeGroupsToDelete;
+      themeGroupsToUpdate = themeGroupsToAlter.themeGroupsToUpdate;
+      break;
+    }
+    case 'tokenState/deleteTheme': {
+      const themeGroupsToAlter = deleteTheme({
+        action,
+        themes,
+        prevThemes,
+      });
+      themeGroupsToDelete = themeGroupsToAlter.themeGroupsToDelete;
+      themeGroupsToUpdate = themeGroupsToAlter.themeGroupsToUpdate;
+      break;
+    }
+    case 'tokenState/assignVariableIdsToCurrentTheme':
+    case 'tokenState/assignVariableIdsToTheme':
+    case 'tokenState/assignStyleIdsToCurrentTheme':
+    case 'tokenState/assignStyleIdsToTheme':
+    case 'tokenState/disconnectVariableFromTheme':
+    case 'tokenState/disconnectStyleFromTheme':
+      themeGroupsToUpdate = getThemeGroupsToUpdate(themes);
+      break;
+    default:
+  }
+ 
+  for (const [groupName, themesToUpdate] of Object.entries(themeGroupsToUpdate)) {
+    const data: any = {
+      name: groupName,
+      options: themesToUpdate.map((theme) => ({
+        name: theme.name,
+        selectedTokenSets: theme.selectedTokenSets,
+        figmaStyleReferences: theme.$figmaStyleReferences,
+        figmaVariableReferences: theme.$figmaVariableReferences,
+        figmaCollectionId: theme.$figmaCollectionId,
+        figmaModeId: theme.$figmaModeId,
+      })),
+    };
+ 
+    // If the group name has changed, we need to send the old name in the newName field
+    if (groupName !== themesToUpdate[0].group) {
+      data.newName = themesToUpdate[0].group;
+    }
+ 
+    pushToTokensStudio({
+      context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+      action: 'UPDATE_THEME_GROUP',
+      data,
+    });
+  }
+ 
+  if (themeToCreate) {
+    pushToTokensStudio({
+      context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+      action: 'CREATE_THEME_GROUP',
+      data: {
+        name: themeToCreate.group,
+        options: [{
+          name: themeToCreate.name,
+          selectedTokenSets: themeToCreate.selectedTokenSets,
+          figmaStyleReferences: themeToCreate.$figmaStyleReferences,
+          figmaVariableReferences: themeToCreate.$figmaVariableReferences,
+          figmaCollectionId: themeToCreate.$figmaCollectionId,
+          figmaModeId: themeToCreate.$figmaModeId,
+        }],
+      },
+    });
+  }
+ 
+  if (themeGroupsToDelete.length) {
+    for (const groupName of themeGroupsToDelete) {
+      pushToTokensStudio({
+        context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+        action: 'DELETE_THEME_GROUP',
+        data: {
+          name: groupName,
+        },
+      });
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html new file mode 100644 index 000000000..c17052e9c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio saveTheme.ts

+
+ +
+ 0% + Statements + 0/35 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObject, ThemeObjectsList } from '@/types';
+import { getThemeGroupsToUpdate } from './getThemeGroupsToUpdate';
+ 
+type Props = {
+  action: any;
+  themes: ThemeObjectsList;
+  prevThemes: ThemeObjectsList;
+};
+ 
+export const saveTheme = ({ action, themes: newThemes, prevThemes }: Props) => {
+  const {
+    payload: {
+      name, group, meta, id,
+    },
+  } = action;
+ 
+  const prevGroupsThemes = prevThemes.reduce((acc, theme) => {
+    if (theme.group) {
+      acc[theme.group] = [...(acc[theme.group] || []), theme];
+    }
+    return acc;
+  }, {});
+  const newGroupsThemes = newThemes.reduce((acc, theme) => {
+    if (theme.group) {
+      acc[theme.group] = [...(acc[theme.group] || []), theme];
+    }
+    return acc;
+  }, {});
+ 
+  let themeToCreate: ThemeObject | null = null;
+  let themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
+  const themeGroupsToDelete: string[] = [];
+ 
+  const themeObject = newThemes.find((newTheme) => newTheme.name === name);
+ 
+  if (!themeObject) {
+    return { themeGroupsToUpdate, themeGroupsToDelete, themeToCreate: null };
+  }
+ 
+  if (!id) {
+    // created theme
+    if (group && prevGroupsThemes[group]) {
+      // created in an existing group
+      themeGroupsToUpdate = getThemeGroupsToUpdate(newGroupsThemes[group]);
+    } else {
+      // created in a new group
+      themeToCreate = themeObject;
+    }
+  } else {
+    // updated theme
+    const themeGroupChanged = group !== meta?.oldGroup;
+ 
+    if (themeGroupChanged) {
+      const groupExists = prevGroupsThemes[group];
+      const themesToUpdate: ThemeObject[] = [];
+      if (groupExists) {
+        // update theme group
+        themesToUpdate.push(...newGroupsThemes[group]);
+      } else {
+        // create new group
+        themeToCreate = themeObject;
+      }
+ 
+      // update old group or remove it if there are no themes left
+      const remainingThemeInOldGroup = newGroupsThemes[meta.oldGroup];
+      if (remainingThemeInOldGroup?.length) {
+        themesToUpdate.push(...remainingThemeInOldGroup);
+      } else {
+        themeGroupsToDelete.push(meta.oldGroup);
+      }
+ 
+      themeGroupsToUpdate = getThemeGroupsToUpdate(themesToUpdate);
+    } else {
+      // updated theme values
+      themeGroupsToUpdate = getThemeGroupsToUpdate(newGroupsThemes[group]);
+    }
+  }
+ 
+  return { themeGroupsToUpdate, themeGroupsToDelete, themeToCreate };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html new file mode 100644 index 000000000..266047674 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio updateThemeGroupName.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObjectsList } from '@/types';
+ 
+type Props = {
+  action: any;
+  themes: ThemeObjectsList;
+  themeGroupsToUpdate: Record<string, ThemeObjectsList>;
+};
+ 
+export const updateThemeGroupName = ({ action, themes, themeGroupsToUpdate }: Props) => {
+  const { meta: newName } = action;
+ 
+  themes
+    .filter((theme) => theme.group === newName)
+    .forEach((theme) => {
+      if (theme.group) {
+        themeGroupsToUpdate[action.payload] = themeGroupsToUpdate[action.payload] || [];
+        themeGroupsToUpdate[action.payload].push({
+          ...theme,
+        });
+      }
+    });
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html new file mode 100644 index 000000000..421aa9940 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/storage/tokensStudio/updateTokenSetInTokensStudio.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio updateTokenSetInTokensStudio.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RematchRootState } from '@rematch/core';
+import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
+import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
+import { RootModel } from '@/types/RootModel';
+import { TokenState } from '@/app/store/models/tokenState';
+ 
+interface UpdateTokenSetInTokensStudioPayload {
+  rootState: RematchRootState<RootModel, Record<string, never>>;
+  data: { oldName: string; newName: string };
+  onTokenSetUpdated: (payload: TokenState['tokenSetMetadata']) => void;
+}
+ 
+export async function updateTokenSetInTokensStudio({
+  rootState,
+  data,
+  onTokenSetUpdated,
+}: UpdateTokenSetInTokensStudioPayload) {
+  pushToTokensStudio({
+    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
+    action: 'UPDATE_TOKEN_SET',
+    data,
+    metadata: rootState.tokenState.tokenSetMetadata,
+    successCallback: () => {
+      const tokenSetMetadata = { ...rootState.tokenState.tokenSetMetadata };
+      delete tokenSetMetadata[data.oldName];
+ 
+      onTokenSetUpdated({
+        ...tokenSetMetadata,
+        [data.newName]: {
+          isDynamic: false,
+        },
+      });
+    },
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html new file mode 100644 index 000000000..3b2524979 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/storage/tokensStudio/utils/compositionFields.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/utils compositionFields.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@tokens-studio/types';
+ 
+export const INVALID_COMPOSITION_PROPERTIES = [
+  Properties.composition,
+  Properties.description,
+  Properties.value,
+  Properties.tokenName,
+  Properties.tokenValue,
+];
+ 
+// Function to generate the fields for the composition type
+export const generateCompositionFields = (properties: typeof Properties): string => {
+  const fields = Object.values(properties)
+    .filter((prop) => !INVALID_COMPOSITION_PROPERTIES.includes(prop as Properties))
+    .join('\n');
+  return fields;
+};
+ 
+// Generate the composition fields
+export const compositionFields = generateCompositionFields(Properties);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html new file mode 100644 index 000000000..bffffc170 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/storage/tokensStudio/utils + + + + + + + + + +
+
+

All files src/storage/tokensStudio/utils

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
compositionFields.ts +
+
0%0/6100%0/00%0/20%0/6
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html new file mode 100644 index 000000000..5e0392a7c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/storage/tokensStudio/utils/index.ts + + + + + + + + + +
+
+

All files / src/storage/tokensStudio/utils index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './compositionFields';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/stories/index.html b/packages/tokens-studio-for-figma/lcov-report/src/stories/index.html new file mode 100644 index 000000000..7df029217 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/stories/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/stories + + + + + + + + + +
+
+

All files src/stories

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
tokensForStories.ts +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html new file mode 100644 index 000000000..4e7227d07 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html @@ -0,0 +1,487 @@ + + + + + + Code coverage report for src/stories/tokensForStories.ts + + + + + + + + + +
+
+

All files / src/stories tokensForStories.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export const tokensForStories = {
+  spacing: {
+    scale: {
+      name: 'spacing.scale',
+      value: '2',
+      type: 'spacing',
+    },
+    xs: {
+      name: 'spacing.xs',
+      value: '4',
+      type: 'spacing',
+    },
+    sm: {
+      name: 'spacing.sm',
+      value: '{spacing.xs} * {spacing.scale}',
+      type: 'spacing',
+    },
+    md: {
+      name: 'spacing.md',
+      value: '{spacing.sm} * {spacing.scale}',
+      type: 'spacing',
+    },
+    lg: {
+      name: 'spacing.lg',
+      value: '{spacing.md} * {spacing.scale}',
+      type: 'spacing',
+    },
+    xl: {
+      name: 'spacing.xl',
+      value: '{spacing.lg} * {spacing.scale}',
+      type: 'spacing',
+    },
+  },
+  colors: {
+    theme: {
+      bg: {
+        default: {
+          name: 'theme.bg.default',
+          value: '{colors.red.500}',
+          description: 'My default token',
+          type: TokenTypes.COLOR,
+        },
+      },
+    },
+    color: {
+      black: {
+        name: 'color.black',
+        type: TokenTypes.COLOR,
+        value: '#ffffff',
+      },
+      white: {
+        name: 'color.white',
+        type: TokenTypes.COLOR,
+        value: '#000000',
+      },
+      gray: {
+        100: {
+          name: 'color.gray.100',
+          value: '#FAFBFC',
+          type: 'color',
+        },
+        200: {
+          name: 'color.gray.200',
+          value: '#EAEEF2',
+          type: 'color',
+        },
+        300: {
+          name: 'color.gray.300',
+          value: '#D4DAE0',
+          type: 'color',
+        },
+        400: {
+          name: 'color.gray.400',
+          value: '#B7BFC7',
+          type: 'color',
+        },
+        500: {
+          name: 'color.gray.500',
+          value: '#949DA7',
+          type: 'color',
+        },
+        600: {
+          name: 'color.gray.600',
+          value: '#707A84',
+          type: 'color',
+        },
+        700: {
+          name: 'color.gray.700',
+          value: '#57606A',
+          type: 'color',
+        },
+        800: {
+          name: 'color.gray.800',
+          value: '#424A53',
+          type: 'color',
+        },
+        900: {
+          name: 'color.gray.900',
+          value: '#1B1F24',
+          type: 'color',
+        },
+      },
+      theme: {
+        bg: {
+          default: {
+            name: 'theme.bg.default',
+            value: '{colors.gray.100}',
+            description: 'My default token',
+            type: TokenTypes.COLOR,
+          },
+        },
+        a: {
+          deep: {
+            nested: {
+              token: {
+                name: 'theme.bg.default',
+                value: '#ffffff',
+                description: 'My default token',
+                type: TokenTypes.COLOR,
+              },
+            },
+          },
+        },
+      },
+      broken: {
+        name: 'color.broken',
+        value: '{color.notfound}',
+        type: 'color',
+      },
+    },
+  },
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html new file mode 100644 index 000000000..c374df968 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html @@ -0,0 +1,724 @@ + + + + + + Code coverage report for src/supabase.ts + + + + + + + + + +
+
+

All files / src supabase.ts

+
+ +
+ 0% + Statements + 0/81 +
+ + +
+ 0% + Branches + 0/31 +
+ + +
+ 0% + Functions + 0/15 +
+ + +
+ 0% + Lines + 0/81 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PostgrestClient } from '@supabase/postgrest-js';
+import { StorageClient } from '@supabase/storage-js';
+import {
+  RealtimeChannel, RealtimeChannelOptions, RealtimeClient, RealtimeClientOptions,
+} from '@supabase/realtime-js';
+import { AuthData, AuthInfo } from './types/Auth';
+import { AsyncMessageChannel } from './AsyncMessageChannel';
+import { AsyncMessageTypes } from './types/AsyncMessages';
+ 
+const authUri = '/auth/v1';
+ 
+class SupabaseClient {
+  apiUrl: string;
+ 
+  apikey: string;
+ 
+  headers: { [key: string]: string };
+ 
+  auth: any;
+ 
+  postgrest: any;
+ 
+  storage: any;
+ 
+  realtime: any;
+ 
+  realtimeUrl: string;
+ 
+  refreshTokenInterval: any;
+ 
+  intervalInSeconds = 5 * 60;
+ 
+  /**
+   * @param apiUrl  supabase api url.
+   * @param apikey  supabase key.
+   */
+  constructor(apiUrl: string, apikey: string) {
+    this.apiUrl = apiUrl;
+    this.apikey = apikey;
+    this.headers = this.getAuthHeaders(null);
+    this.realtimeUrl = `${process.env.SUPABASE_URL}/realtime/v1`.replace(/^http/i, 'ws');
+  }
+ 
+  private getAuthHeaders(auth: AuthData | null): { [key: string]: string } {
+    const headers: { [key: string]: string } = {};
+    const authBearer = auth?.access_token ?? process.env.SUPABASE_ANON_KEY;
+    headers.apikey = process.env.SUPABASE_ANON_KEY ?? '';
+    headers.Authorization = `Bearer ${authBearer}`;
+    headers['Content-Type'] = 'application/json';
+    return headers;
+  }
+ 
+  private initRealtimeClient(options: RealtimeClientOptions) {
+    return new RealtimeClient(this.realtimeUrl, {
+      ...options,
+      params: { ...{ apikey: this.apikey }, ...options?.params, headers: this.headers },
+    });
+  }
+ 
+  private initPostgrest() {
+    const REST_URL = `${process.env.SUPABASE_URL}/rest/v1`;
+    const postgrest = new PostgrestClient(REST_URL, {
+      schema: 'public',
+      headers: this.headers,
+    });
+    return postgrest;
+  }
+ 
+  private initStorage() {
+    const STORAGE_URL = `${process.env.SUPABASE_URL}/storage/v1`;
+    const storageHeaders = { ...this.headers };
+    delete storageHeaders['Content-Type'];
+    const storage = new StorageClient(STORAGE_URL, storageHeaders);
+    return storage;
+  }
+ 
+  private initializeAuth(auth: AuthData) {
+    this.auth = auth;
+    this.headers = this.getAuthHeaders(auth);
+    this.postgrest = this.initPostgrest();
+    this.storage = this.initStorage();
+    this.realtime = this.initRealtimeClient({});
+    this.realtime.setAuth(auth.access_token);
+ 
+    // auto refresh token
+    clearInterval(this.refreshTokenInterval);
+    this.refreshTokenInterval = setInterval(async () => {
+      const tokenState = this.checkToken(auth);
+      if (tokenState === 'expired') {
+        const { data, error } = await this.signIn({
+          refresh_token: auth.refresh_token,
+        });
+        if (!error) {
+          this.initializeAuth(data);
+          AsyncMessageChannel.ReactInstance.message({
+            type: AsyncMessageTypes.SET_AUTH_DATA,
+            auth: data,
+          });
+        } else {
+          AsyncMessageChannel.ReactInstance.message({
+            type: AsyncMessageTypes.SET_AUTH_DATA,
+            auth: null,
+          });
+          clearInterval(this.refreshTokenInterval);
+        }
+      }
+    }, this.intervalInSeconds * 1000);
+  }
+ 
+  private checkToken(auth: AuthData) {
+    const now = new Date().getTime() / 1000;
+    const diff = auth.expires_at - now;
+    if (diff > 0) {
+      // Almost expired
+      if (diff < 20) {
+        return 'near';
+      }
+      return 'safe';
+    }
+    // Expired
+    return 'expired';
+  }
+ 
+  logout() {
+    this.auth = null;
+    clearInterval(this.refreshTokenInterval);
+  }
+ 
+  async verifyAuth(auth: AuthData, callback: (data: AuthData | null) => void) {
+    const tokenState = this.checkToken(auth);
+    if (tokenState === 'near') {
+      // Refresh token automatically if token is almost expired
+      const { data, error } = await this.signIn({
+        refresh_token: auth.refresh_token,
+      });
+ 
+      if (error) {
+        callback(null);
+      } else {
+        // Reset auth data
+        this.initializeAuth(data);
+        callback(data);
+      }
+    } else if (tokenState === 'expired') {
+      callback(null);
+    } else if (tokenState === 'safe') {
+      // Initialize auth data
+      this.initializeAuth(auth);
+      callback(auth);
+    }
+  }
+ 
+  async signUp(data: AuthInfo) {
+    try {
+      const auth = await fetch(`${this.apiUrl + authUri}/signup`, {
+        method: 'POST',
+        headers: this.headers,
+        body: JSON.stringify(data),
+      }).then((res) => res.json());
+ 
+      if (!auth.user) {
+        return { data: null, error: auth };
+      }
+ 
+      const now = new Date().getTime() / 1000;
+      const authData = { ...auth, expires_at: Math.floor(now + auth.expires_in) };
+ 
+      // Logged in, initialize auth data
+      this.initializeAuth(authData);
+      return { data: authData, error: null };
+    } catch (error) {
+      return { data: null, error };
+    }
+  }
+ 
+  async signIn(data: AuthInfo) {
+    const url = `/token?grant_type=${data.email ? 'password' : 'refresh_token'}`;
+    try {
+      const auth = await fetch(this.apiUrl + authUri + url, {
+        method: 'POST',
+        headers: this.headers,
+        body: JSON.stringify(data),
+      }).then((res) => res.json());
+ 
+      if (auth.error) {
+        return { data: null, error: auth };
+      }
+      const now = new Date().getTime() / 1000;
+      const authData = { ...auth, expires_at: Math.floor(now + auth.expires_in) };
+ 
+      // Logged in, initialize auth data
+      this.initializeAuth(authData);
+      return { data: authData, error: null };
+    } catch (error) {
+      return { data: null, error };
+    }
+  }
+ 
+  /**
+   * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.
+   *
+   * @param {string} name - The name of the Realtime channel.
+   * @param {Object} opts - The options to pass to the Realtime channel.
+   *
+   */
+  channel(name: string, opts: RealtimeChannelOptions = { config: {} }): RealtimeChannel {
+    return this.realtime.channel(name, opts);
+  }
+}
+ 
+const supabase = new SupabaseClient(process.env.SUPABASE_URL ?? '', process.env.SUPABASE_ANON_KEY ?? '');
+ 
+export default supabase;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html new file mode 100644 index 000000000..181965d01 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/tokens/core.ts + + + + + + + + + +
+
+

All files / src/tokens core.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// DO NOT EDIT DIRECTLY. Autogenerated 2023-8-12 09:56:49
+ 
+export const fonts = {
+  sans: 'Inter, sans-serif',
+  mono: 'JetBrains Mono, monospace',
+};
+ 
+export const radii = {
+  small: '2px',
+  medium: '4px',
+  full: '999px',
+};
+ 
+export const sizes = {
+  1: '2px',
+  2: '4px',
+  3: '8px',
+  4: '12px',
+  5: '16px',
+  6: '24px',
+  7: '32px',
+  8: '48px',
+  10: '28px',
+  controlMedium: '28px',
+  dropdownMaxHeight: '45vh',
+  scrollbarWidth: '8px',
+};
+ 
+export const space = {
+  1: '2px',
+  2: '4px',
+  3: '8px',
+  4: '12px',
+  5: '16px',
+  6: '24px',
+  7: '32px',
+  8: '48px',
+  9: '64px',
+};
+ 
+export const fontWeights = {
+  normal: '400',
+  bold: '500',
+};
+ 
+export const fontSizes = {
+  xxsmall: '10px',
+  xsmall: '11px',
+  small: '12px',
+  medium: '13px',
+  large: '16px',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html new file mode 100644 index 000000000..dd0e1890d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/tokens/dark.ts + + + + + + + + + +
+
+

All files / src/tokens dark.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// DO NOT EDIT DIRECTLY. Autogenerated 2023-8-12 11:09:11
+ 
+export const colors = {
+  accentDefault: '#0c8ce9',
+  accentBg: '#064675',
+  accentFg: '#81c6f9',
+  accentEmphasis: '#0c8ce9',
+  accentMuted: '#57b3f6',
+  accentBorder: '#2da0f4',
+  dangerBg: '#701f0d',
+  dangerBgEmphasis: '#e03e1a',
+  dangerFg: '#f6beb1',
+  bgDefault: '#262626',
+  bgSubtle: '#3a3a3a',
+  successBg: '#004d28',
+  successFg: '#88ffc7',
+  borderAccent: '#085d9b',
+  borderDefault: '#4d4d4d',
+  borderMuted: '#3a3a3a',
+  fgDefault: '#ffffff',
+  fgDisabled: '#737373',
+  fgMuted: '#a2a2a2',
+  fgSubtle: '#8a8a8a',
+  fgOnEmphasis: '#ffffff',
+  btnPrimaryBg: '#0c8ce9',
+  btnPrimaryFg: '#ffffff',
+  btnSecondaryBg: '#3a3a3a',
+  btnSecondaryFg: '#ffffff',
+  proBg: '#402d5a',
+  proBorder: '#694993',
+  proFg: '#c2b2d8',
+  focus: '#0c8ce9',
+  contextMenuBg: '#131313',
+  contextMenuBgHover: '#4d4d4d',
+  contextMenuFg: '#ffffff',
+  contextMenuFgMuted: '#a2a2a2',
+  contextMenuFgDisabled: '#8a8a8a',
+  contextMenuSeparator: '#4d4d4d',
+  contextMenuBorder: '#4d4d4d',
+  inputBg: '#262626',
+  inputBorderRest: '#3a3a3a',
+  loadingScreenBg: '#141414',
+  loadingScreenFg: '#FFFFFF',
+  loadingScreenFgMuted: '#CECECE',
+  spinnerOnAccentActive: '#ffffff',
+  spinnerOnAccentMuted: 'rgba(255, 255, 255, 0.5)',
+  spinnerDefaultActive: '#ffffff',
+  spinnerDefaultMuted: '#3a3a3a',
+  tooltipFg: '#ffffff',
+  tooltipFgMuted: 'rgba(255, 255, 255, 0.7)',
+  tooltipBg: '#131313',
+  tooltipBgAccent: '#1F3D68',
+  tooltipBgSubtle: '#2B2A2A',
+  tooltipFgAccent: '#A0C0EF',
+  tooltipFgDanger: '#E05534',
+};
+ 
+export const shadows = {
+  small: '0 2px 1px 0 rgba(0, 0, 0, 0.05)',
+  focus: '0 0 0 2px #0c8ce9',
+  focusDanger: '0 0 0 2px #701f0d',
+  focusMuted: '0 0 0 2px #90CDF4',
+  tokenFocus: '0 0 0 2px #3a3a3a',
+  contextMenu: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html new file mode 100644 index 000000000..6694bb275 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/tokens + + + + + + + + + +
+
+

All files src/tokens

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
core.ts +
+
0%0/6100%0/0100%0/00%0/6
dark.ts +
+
0%0/2100%0/0100%0/00%0/2
light.ts +
+
0%0/2100%0/0100%0/00%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html new file mode 100644 index 000000000..65946bd50 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/tokens/light.ts + + + + + + + + + +
+
+

All files / src/tokens light.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// DO NOT EDIT DIRECTLY. Autogenerated 2023-8-12 11:09:11
+ 
+export const colors = {
+  accentDefault: '#2da0f4',
+  accentBg: '#e2f2fe',
+  accentFg: '#0c8ce9',
+  accentEmphasis: '#0c8ce9',
+  accentMuted: '#0a75c2',
+  accentBorder: '#0a75c2',
+  dangerBg: '#fbe8e4',
+  dangerBgEmphasis: '#e85c3d',
+  dangerFg: '#e03e1a',
+  bgDefault: '#ffffff',
+  bgSubtle: '#f0f0f0',
+  successBg: '#d6ffec',
+  successFg: '#009951',
+  borderAccent: '#e2f2fe',
+  borderDefault: '#d0d0d0',
+  borderMuted: '#f0f0f0',
+  fgDefault: '#131313',
+  fgDisabled: '#b9b9b9',
+  fgMuted: '#8a8a8a',
+  fgSubtle: '#b9b9b9',
+  fgOnEmphasis: '#ffffff',
+  btnPrimaryBg: '#2da0f4',
+  btnPrimaryFg: '#ffffff',
+  btnSecondaryBg: '#ffffff',
+  btnSecondaryFg: '#131313',
+  proBg: '#e1d8ec',
+  proBorder: '#c2b2d8',
+  proFg: '#694993',
+  focus: '#0c8ce9',
+  contextMenuBg: '#131313',
+  contextMenuBgHover: '#4d4d4d',
+  contextMenuFg: '#ffffff',
+  contextMenuFgMuted: '#a2a2a2',
+  contextMenuFgDisabled: '#8a8a8a',
+  contextMenuSeparator: '#4d4d4d',
+  contextMenuBorder: '#4d4d4d',
+  inputBg: '#ffffff',
+  inputBorderRest: '#f0f0f0',
+  loadingScreenBg: '#141414',
+  loadingScreenFg: '#FFFFFF',
+  loadingScreenFgMuted: '#CECECE',
+  spinnerOnAccentActive: '#ffffff',
+  spinnerOnAccentMuted: 'rgba(255, 255, 255, 0.5)',
+  spinnerDefaultActive: '#131313',
+  spinnerDefaultMuted: '#f0f0f0',
+  tooltipFg: '#ffffff',
+  tooltipFgMuted: 'rgba(255, 255, 255, 0.7)',
+  tooltipBg: '#131313',
+  tooltipBgAccent: '#1F3D68',
+  tooltipBgSubtle: '#2B2A2A',
+  tooltipFgAccent: '#A0C0EF',
+  tooltipFgDanger: '#E05534',
+};
+ 
+export const shadows = {
+  small: '0 2px 1px 0 rgba(0, 0, 0, 0.05)',
+  focus: '0 0 0 2px #0c8ce9',
+  focusDanger: '0 0 0 2px #fbe8e4',
+  focusMuted: '0 0 0 2px #90CDF4',
+  tokenFocus: '0 0 0 2px #f0f0f0',
+  contextMenu: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html new file mode 100644 index 000000000..53043816a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html @@ -0,0 +1,1513 @@ + + + + + + Code coverage report for src/types/AsyncMessages.ts + + + + + + + + + +
+
+

All files / src/types AsyncMessages.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { UpdateMode } from '@/constants/UpdateMode';
+import type { SettingsState } from '@/app/store/models/settings';
+import type { Properties } from '@/constants/Properties';
+import type { TokenTypes } from '@/constants/TokenTypes';
+import type { NodeInfo } from './NodeInfo';
+import type { NodeTokenRefMap } from './NodeTokenRefMap';
+import type { PullStyleOptions } from './PullStylesOptions';
+import type { PullVariablesOptions } from './PullVariablesOptions';
+import type { ThemeObjectsList } from './ThemeObjectsList';
+import type { AnyTokenList } from './tokens';
+import type { UsedTokenSetsMap } from './UsedTokenSetsMap';
+import type { StorageProviderType, StorageType, StorageTypeCredentials } from './StorageType';
+import type { Direction } from '@/constants/Direction';
+import type { SelectionValue } from './SelectionValue';
+import type { startup } from '@/utils/plugin';
+import type { ThemeObject } from './ThemeObject';
+import { DeleteTokenPayload } from './payloads';
+import { TokensToRenamePayload } from '@/app/store/useTokens';
+import { AuthData } from './Auth';
+import { LocalVariableInfo } from '@/plugin/createLocalVariablesInPlugin';
+import { ResolvedVariableInfo } from '@/plugin/asyncMessageHandlers';
+import { RenameVariableToken } from '@/app/store/models/reducers/tokenState';
+import { UpdateTokenVariablePayload } from './payloads/UpdateTokenVariablePayload';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { ExportTokenSet } from './ExportTokenSet';
+import type { VariableCollectionInfo } from './VariableCollectionSelection';
+ 
+export enum AsyncMessageTypes {
+  // the below messages are going from UI to plugin
+  CREATE_STYLES = 'async/create-styles',
+  RENAME_STYLES = 'async/rename-styles',
+  REMOVE_STYLES = 'async/remove-styles',
+  CREDENTIALS = 'async/credentials',
+  CHANGED_TABS = 'async/changed-tabs',
+  SET_ONBOARDINGEXPLAINERSETS = 'async/set-onboardingExplainerSets',
+  SET_ONBOARDINGEXPLAINEREXPORTSETS = 'async/set-onboardingExplainerExportSets',
+  SET_ONBOARDINGEXPLAINERSYNCPROVIDERS = 'async/set-onboardingExplainerSyncProviders',
+  SET_ONBOARDINGEXPLAINERINSPECT = 'async/set-onboardingExplainerInspect',
+  REMOVE_SINGLE_CREDENTIAL = 'async/remove-single-credential',
+  SET_STORAGE_TYPE = 'async/set-storage-type',
+  SET_NODE_DATA = 'async/set-node-data',
+  REMOVE_TOKENS_BY_VALUE = 'async/remove-tokens-by-value',
+  REMAP_TOKENS = 'async/remap-tokens',
+  BULK_REMAP_TOKENS = 'async/bulk-remap-tokens',
+  GOTO_NODE = 'async/goto-node',
+  SELECT_NODES = 'async/select-nodes',
+  PULL_STYLES = 'async/pull-styles',
+  PULL_VARIABLES = 'async/pull-variables',
+  NOTIFY = 'async/notify',
+  CANCEL_OPERATION = 'async/cancel-operation',
+  RESIZE_WINDOW = 'async/resize-window',
+  SET_SHOW_EMPTY_GROUPS = 'async/set-show-empty-groups',
+  SET_UI = 'async/set-ui',
+  CREATE_ANNOTATION = 'async/create-annotation',
+  UPDATE = 'async/update',
+  UPDATE_CHECK_FOR_CHANGES = 'async/update-check-for-changes',
+  SET_LICENSE_KEY = 'async/set-license-key',
+  ATTACH_LOCAL_STYLES_TO_THEME = 'async/attach-local-styles-to-theme',
+  RESOLVE_STYLE_INFO = 'async/resolve-style-info',
+  SET_NONE_VALUES_ON_NODE = 'async/set-none-values-on-node',
+  SET_AUTH_DATA = 'async/set-auth-data',
+  SET_USED_EMAIL = 'async/set-used-email',
+  REMOVE_RELAUNCH_DATA = 'async/remove-relaunch-data',
+  // the below messages are going from plugin to UI
+  STARTUP = 'async/startup',
+  GET_THEME_INFO = 'async/get-theme-info',
+  GET_FIGMA_FONTS = 'async/get-figma-fonts',
+  REMOVE_STYLES_WITHOUT_CONNECTION = 'async/remove-styles-without-connection',
+  CREATE_LOCAL_VARIABLES = 'async/create-local-variables',
+  CREATE_LOCAL_VARIABLES_WITHOUT_MODES = 'async/create-local-variables-without-modes',
+  RESOLVE_VARIABLE_INFO = 'async/resolve-variable-info',
+  ATTACH_LOCAL_VARIABLES_TO_THEME = 'async/attach-local-variables-to-theme',
+  RENAME_VARIABLES = 'async/rename-variables',
+  UPDATE_VARIABLES = 'async/update-variables',
+  SET_INITIAL_LOAD = 'async/set-initial-load',
+  PREVIEW_REQUEST_STARTUP = 'async/preview-request-startup',
+  GET_AVAILABLE_VARIABLE_COLLECTIONS = 'async/get-available-variable-collections',
+}
+ 
+export type AsyncMessage<T extends AsyncMessageTypes, P = unknown> = P & { type: T };
+ 
+export type CredentialsAsyncMessage = AsyncMessage<AsyncMessageTypes.CREDENTIALS, {
+  credential: StorageTypeCredentials;
+}>;
+export type CredentialsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREDENTIALS>;
+ 
+export type ChangedTabsAsyncMessage = AsyncMessage<AsyncMessageTypes.CHANGED_TABS, { requiresSelectionValues: boolean; }>;
+export type ChangedTabsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CHANGED_TABS>;
+ 
+export type SetOnboardingExplainerSetsAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS, { onboardingExplainerSets: boolean; }>;
+export type SetOnboardingExplainerSetsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS>;
+ 
+export type SetOnboardingExplainerExportSetsAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS, { onboardingExplainerExportSets: boolean; }>;
+export type SetOnboardingExplainerExportSetsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS>;
+ 
+export type SetOnboardingExplainerSyncProvidersAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS, { onboardingExplainerSyncProviders: boolean; }>;
+export type SetOnboardingExplainerSyncProvidersAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS>;
+ 
+export type SetOnboardingExplainerInspectAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT, { onboardingExplainerInspect: boolean; }>;
+export type SetOnboardingExplainerInspectAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT>;
+ 
+export type RemoveSingleCredentialAsyncMessage = AsyncMessage<AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL, { context: StorageTypeCredentials; }>;
+export type RemoveSingleCredentialAsyncMessageResult = AsyncMessage<AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL>;
+ 
+export type SetStorageTypeAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_STORAGE_TYPE, { storageType: StorageType; }>;
+export type SetStorageTypeAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_STORAGE_TYPE>;
+ 
+export type SetNodeDataAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_NODE_DATA, { values: NodeTokenRefMap; tokens: AnyTokenList; settings: SettingsState; }>;
+export type SetNodeDataAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_NODE_DATA>;
+ 
+export type RemoveTokensByValueAsyncMessage = AsyncMessage<AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE, {
+  tokensToRemove: { nodes: NodeInfo[]; property: Properties }[];
+}>;
+export type RemoveTokensByValueAsyncMessageResult = AsyncMessage<AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE>;
+ 
+export type SetNoneValuesOnNodeAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_NONE_VALUES_ON_NODE, {
+  tokensToSet: { nodes: NodeInfo[]; property: Properties }[];
+  tokens: AnyTokenList
+}>;
+export type SetNoneValuesOnNodeAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_NONE_VALUES_ON_NODE>;
+ 
+export type RemapTokensAsyncMessage = AsyncMessage<AsyncMessageTypes.REMAP_TOKENS, {
+  oldName: string;
+  newName: string;
+  updateMode: UpdateMode;
+  category?: Properties | TokenTypes;
+  tokens?: AnyTokenList;
+  settings?: SettingsState;
+}>;
+export type RemapTokensMessageAsyncResult = AsyncMessage<AsyncMessageTypes.REMAP_TOKENS>;
+ 
+export type BulkRemapTokensAsyncMessage = AsyncMessage<AsyncMessageTypes.BULK_REMAP_TOKENS, {
+  oldName: string;
+  newName: string;
+  updateMode: UpdateMode;
+}>;
+export type BulkRemapTokensMessageAsyncResult = AsyncMessage<AsyncMessageTypes.BULK_REMAP_TOKENS>;
+ 
+export type GotoNodeAsyncMessage = AsyncMessage<AsyncMessageTypes.GOTO_NODE, {
+  id: string;
+}>;
+export type GotoNodeMessageAsyncResult = AsyncMessage<AsyncMessageTypes.GOTO_NODE>;
+ 
+export type SelectNodesAsyncMessage = AsyncMessage<AsyncMessageTypes.SELECT_NODES, { ids: string[] }>;
+export type SelectNodesMessageAsyncResult = AsyncMessage<AsyncMessageTypes.SELECT_NODES>;
+ 
+export type PullStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.PULL_STYLES, { styleTypes: PullStyleOptions; }>;
+export type PullStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.PULL_STYLES>;
+ 
+export type PullVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.PULL_VARIABLES, {
+  options: PullVariablesOptions;
+  themes: ThemeObjectsList;
+  proUser: boolean;
+}>;
+export type PullVariablesMessageResult = AsyncMessage<AsyncMessageTypes.PULL_VARIABLES>;
+ 
+export type NotifyAsyncMessage = AsyncMessage<AsyncMessageTypes.NOTIFY, {
+  msg: string;
+  opts: {
+    error?: boolean
+  };
+}>;
+export type NotifyAsyncMessageResult = AsyncMessage<AsyncMessageTypes.NOTIFY>;
+ 
+export type ResizeWindowAsyncMessage = AsyncMessage<AsyncMessageTypes.RESIZE_WINDOW, {
+  width: number;
+  height: number;
+}>;
+export type ResizeWindowAsyncMessageResult = AsyncMessage<AsyncMessageTypes.RESIZE_WINDOW>;
+ 
+export type CancelOperationAsyncMessage = AsyncMessage<AsyncMessageTypes.CANCEL_OPERATION>;
+export type CancelOperationAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CANCEL_OPERATION>;
+ 
+export type SetShowEmptyGroupsAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS, { showEmptyGroups: boolean; }>;
+export type SetShowEmptyGroupsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS>;
+ 
+export type SetUiAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_UI, SettingsState>;
+export type SetUiAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_UI>;
+ 
+export type CreateAnnotationAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_ANNOTATION, {
+  tokens: SelectionValue;
+  direction: Direction;
+}>;
+export type CreateAnnotationAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_ANNOTATION>;
+ 
+export type CreateStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_STYLES, {
+  tokens: AnyTokenList;
+  sourceTokens: AnyTokenList;
+  settings: SettingsState;
+  selectedTheme?: ThemeObject;
+}>;
+export type CreateStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_STYLES, {
+  styleIds: Record<string, string>;
+}>;
+ 
+export type RenameStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.RENAME_STYLES, {
+  tokensToRename: TokensToRenamePayload[];
+  parent: string;
+  settings: Partial<SettingsState>;
+}>;
+export type RenameStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.RENAME_STYLES, {
+  styleIds: string[];
+}>;
+ 
+export type RemoveStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES, {
+  token: DeleteTokenPayload;
+  settings: Partial<SettingsState>;
+}>;
+export type RemoveStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES, {
+  styleIds: string[];
+}>;
+ 
+export type UpdateAsyncMessage = AsyncMessage<AsyncMessageTypes.UPDATE, {
+  tokenValues: Record<string, AnyTokenList>;
+  tokens: AnyTokenList | null;
+  themes: ThemeObjectsList
+  compressedTokens: string;
+  compressedThemes: string;
+  updatedAt: string;
+  settings: SettingsState;
+  usedTokenSet: UsedTokenSetsMap;
+  activeTheme: Record<string, string>;
+  checkForChanges?: boolean
+  shouldSwapStyles?: boolean;
+  collapsedTokenSets: string[];
+  tokenFormat: TokenFormatOptions;
+  storageProvider: StorageProviderType;
+  storageSize: number;
+}>;
+export type UpdateAsyncMessageResult = AsyncMessage<AsyncMessageTypes.UPDATE, {
+  nodes: number
+}>;
+ 
+export type UpdateCheckForChangesAsyncMessage = AsyncMessage<AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES, {
+  checkForChanges: boolean;
+}>;
+export type UpdateCheckForChangesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES>;
+ 
+export type SetLicenseKeyMessage = AsyncMessage<AsyncMessageTypes.SET_LICENSE_KEY, {
+  licenseKey: string | null
+}>;
+export type SetLicenseKeyMessageResult = AsyncMessage<AsyncMessageTypes.SET_LICENSE_KEY>;
+ 
+export type SetInitialLoadMessage = AsyncMessage<AsyncMessageTypes.SET_INITIAL_LOAD, {
+  initialLoad: boolean | null
+}>;
+export type SetInitialLoadMessageResult = AsyncMessage<AsyncMessageTypes.SET_INITIAL_LOAD>;
+ 
+export type AttachLocalStylesToTheme = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME, {
+  theme: ThemeObject
+  tokens: Record<string, AnyTokenList>
+  category: 'typography' | 'colors' | 'effects' | 'all'
+  settings?: Partial<SettingsState>
+}>;
+export type AttachLocalStylesToThemeResult = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME, ThemeObject>;
+ 
+export type ResolveStyleInfo = AsyncMessage<AsyncMessageTypes.RESOLVE_STYLE_INFO, {
+  styleIds: string[]
+}>;
+export type ResolveStyleInfoResult = AsyncMessage<AsyncMessageTypes.RESOLVE_STYLE_INFO, {
+  resolvedValues: {
+    id: string
+    key?: string
+    name?: string
+  }[];
+}>;
+ 
+export type GetThemeInfoMessage = AsyncMessage<AsyncMessageTypes.GET_THEME_INFO>;
+export type GetThemeInfoMessageResult = AsyncMessage<AsyncMessageTypes.GET_THEME_INFO, {
+  activeTheme: Record<string, string>
+  themes: ThemeObjectsList
+}>;
+ 
+export type StartupMessage = AsyncMessage<AsyncMessageTypes.STARTUP, (
+  ReturnType<typeof startup> extends Promise<infer V> ? V : unknown
+)>;
+export type StartupMessageResult = AsyncMessage<AsyncMessageTypes.STARTUP>;
+ 
+export type GetFigmaFontsMessage = AsyncMessage<AsyncMessageTypes.GET_FIGMA_FONTS>;
+export type GetFigmaFontsMessageResult = AsyncMessage<AsyncMessageTypes.GET_FIGMA_FONTS, {
+  fonts: Array<Font>
+}>;
+ 
+export type GetAvailableVariableCollectionsMessage = AsyncMessage<AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS>;
+export type GetAvailableVariableCollectionsMessageResult = AsyncMessage<AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, {
+  collections: VariableCollectionInfo[]
+}>;
+ 
+export type RemoveStylesWithoutConnectionMessage = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, {
+  usedStyleIds: string[]
+}>;
+export type RemoveStylesWithoutConnectionResult = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, {
+  countOfRemovedStyles: number
+}>;
+export type SetAuthDataMessage = AsyncMessage<AsyncMessageTypes.SET_AUTH_DATA, {
+  auth: AuthData | null
+}>;
+export type SetAuthDataMessageResult = AsyncMessage<AsyncMessageTypes.SET_AUTH_DATA>;
+ 
+export type SetUsedEmailMessage = AsyncMessage<AsyncMessageTypes.SET_USED_EMAIL, {
+  email: string | undefined
+}>;
+ 
+export type SetUsedEmailMessageResult = AsyncMessage<AsyncMessageTypes.SET_USED_EMAIL>;
+ 
+export type CreateLocalVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES, {
+  tokens: Record<string, AnyTokenList>;
+  settings: SettingsState,
+  selectedThemes?: string[]
+}>;
+export type CreateLocalVariablesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES, {
+  variableIds: Record<string, LocalVariableInfo>
+  totalVariables: number
+}>;
+ 
+export type CreateLocalVariablesWithoutModesAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES, {
+  tokens: Record<string, AnyTokenList>;
+  settings: SettingsState,
+  selectedSets: ExportTokenSet[]
+}>;
+export type CreateLocalVariablesWithoutModesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES, {
+  variableIds: Record<string, LocalVariableInfo>
+  totalVariables: number
+}>;
+ 
+export type ResolveVariableInfo = AsyncMessage<AsyncMessageTypes.RESOLVE_VARIABLE_INFO, {
+  variableIds: string[]
+}>;
+export type ResolveVariableInfoResult = AsyncMessage<AsyncMessageTypes.RESOLVE_VARIABLE_INFO, {
+  resolvedValues: Record<string, ResolvedVariableInfo>;
+}>;
+ 
+export type AttachLocalVariablesToTheme = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME, {
+  theme: ThemeObject
+  tokens: Record<string, AnyTokenList>
+}>;
+export type AttachLocalVariablesToThemeResult = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME, {
+  variableInfo: LocalVariableInfo | null
+}>;
+ 
+export type RenameVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.RENAME_VARIABLES, {
+  tokens: {
+    oldName: string;
+    newName: string;
+  }[]
+}>;
+export type RenameVariablesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.RENAME_VARIABLES, {
+  renameVariableToken: RenameVariableToken[];
+}>;
+ 
+export type UpdateVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.UPDATE_VARIABLES, {
+  payload: UpdateTokenVariablePayload
+}>;
+export type UpdateVariablesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.UPDATE_VARIABLES>;
+ 
+export type RemoveRelaunchDataMessage = AsyncMessage<
+AsyncMessageTypes.REMOVE_RELAUNCH_DATA,
+{
+  area: UpdateMode;
+}
+>;
+ 
+export type RemoveRelaunchDataMessageResult = AsyncMessage<
+AsyncMessageTypes.REMOVE_RELAUNCH_DATA,
+{
+  totalNodes: number;
+}
+>;
+ 
+export type PreviewRequestStartupAsyncMessage = AsyncMessage<AsyncMessageTypes.PREVIEW_REQUEST_STARTUP>;
+export type PreviewRequestStartupAsyncMessageResult = AsyncMessage<AsyncMessageTypes.PREVIEW_REQUEST_STARTUP>;
+ 
+export type AsyncMessages =
+  CreateStylesAsyncMessage
+  | RenameStylesAsyncMessage
+  | RemoveStylesAsyncMessage
+  | CredentialsAsyncMessage
+  | ChangedTabsAsyncMessage
+  | RemoveSingleCredentialAsyncMessage
+  | SetStorageTypeAsyncMessage
+  | SetOnboardingExplainerSetsAsyncMessage
+  | SetOnboardingExplainerExportSetsAsyncMessage
+  | SetOnboardingExplainerInspectAsyncMessage
+  | SetOnboardingExplainerSyncProvidersAsyncMessage
+  | SetNodeDataAsyncMessage
+  | RemoveTokensByValueAsyncMessage
+  | RemapTokensAsyncMessage
+  | BulkRemapTokensAsyncMessage
+  | GotoNodeAsyncMessage
+  | SelectNodesAsyncMessage
+  | PullStylesAsyncMessage
+  | PullVariablesAsyncMessage
+  | NotifyAsyncMessage
+  | ResizeWindowAsyncMessage
+  | CancelOperationAsyncMessage
+  | SetShowEmptyGroupsAsyncMessage
+  | SetUiAsyncMessage
+  | CreateAnnotationAsyncMessage
+  | UpdateAsyncMessage
+  | UpdateCheckForChangesAsyncMessage
+  | GetThemeInfoMessage
+  | SetLicenseKeyMessage
+  | SetInitialLoadMessage
+  | StartupMessage
+  | AttachLocalStylesToTheme
+  | ResolveStyleInfo
+  | SetNoneValuesOnNodeAsyncMessage
+  | GetFigmaFontsMessage
+  | GetAvailableVariableCollectionsMessage
+  | SetAuthDataMessage
+  | SetUsedEmailMessage
+  | CreateLocalVariablesAsyncMessage
+  | CreateLocalVariablesWithoutModesAsyncMessage
+  | ResolveVariableInfo
+  | AttachLocalVariablesToTheme
+  | RenameVariablesAsyncMessage
+  | UpdateVariablesAsyncMessage
+  | PreviewRequestStartupAsyncMessage
+  | RemoveRelaunchDataMessage
+  | RemoveStylesWithoutConnectionMessage;
+ 
+export type AsyncMessageResults =
+  CreateStylesAsyncMessageResult
+  | RenameStylesAsyncMessageResult
+  | RemoveStylesAsyncMessageResult
+  | CredentialsAsyncMessageResult
+  | ChangedTabsAsyncMessageResult
+  | RemoveSingleCredentialAsyncMessageResult
+  | SetStorageTypeAsyncMessageResult
+  | SetOnboardingExplainerSetsAsyncMessageResult
+  | SetOnboardingExplainerExportSetsAsyncMessageResult
+  | SetOnboardingExplainerSyncProvidersAsyncMessageResult
+  | SetOnboardingExplainerInspectAsyncMessageResult
+  | SetNodeDataAsyncMessageResult
+  | RemoveTokensByValueAsyncMessageResult
+  | RemapTokensMessageAsyncResult
+  | BulkRemapTokensMessageAsyncResult
+  | GotoNodeMessageAsyncResult
+  | SelectNodesMessageAsyncResult
+  | PullStylesAsyncMessageResult
+  | PullVariablesMessageResult
+  | NotifyAsyncMessageResult
+  | ResizeWindowAsyncMessageResult
+  | CancelOperationAsyncMessage
+  | SetShowEmptyGroupsAsyncMessageResult
+  | SetUiAsyncMessageResult
+  | CreateAnnotationAsyncMessageResult
+  | UpdateAsyncMessageResult
+  | UpdateCheckForChangesAsyncMessageResult
+  | GetThemeInfoMessageResult
+  | SetLicenseKeyMessageResult
+  | SetInitialLoadMessageResult
+  | StartupMessageResult
+  | AttachLocalStylesToThemeResult
+  | ResolveStyleInfoResult
+  | SetNoneValuesOnNodeAsyncMessageResult
+  | GetFigmaFontsMessageResult
+  | GetAvailableVariableCollectionsMessageResult
+  | SetAuthDataMessageResult
+  | SetUsedEmailMessageResult
+  | CreateLocalVariablesAsyncMessageResult
+  | CreateLocalVariablesWithoutModesAsyncMessageResult
+  | ResolveVariableInfoResult
+  | AttachLocalVariablesToThemeResult
+  | RenameVariablesAsyncMessageResult
+  | UpdateVariablesAsyncMessageResult
+  | PreviewRequestStartupAsyncMessageResult
+  | RemoveRelaunchDataMessageResult
+  | RemoveStylesWithoutConnectionResult;
+ 
+export type AsyncMessagesMap = {
+  [K in AsyncMessageTypes]: Extract<AsyncMessages, { type: K }>
+};
+export type AsyncMessageResultsMap = {
+  [K in AsyncMessageTypes]: Extract<AsyncMessageResults, { type: K }>
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html new file mode 100644 index 000000000..6e693077c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/types/Auth.ts + + + + + + + + + +
+
+

All files / src/types Auth.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SetStateAction } from 'react';
+ 
+export interface UserData {
+  email: string;
+  id: string;
+}
+ 
+export interface AuthData {
+  access_token: string;
+  expires_at: number;
+  expires_in: number;
+  refresh_token: string;
+  token_type: string;
+  user: UserData;
+}
+ 
+export interface AuthInfo {
+  email?: string;
+  password?: string;
+  refresh_token?: string;
+}
+ 
+export interface AuthContextType {
+  user: UserData | null;
+  logIn: (loginInfo: AuthInfo) => void;
+  signUp: (loginInfo: AuthInfo) => void;
+  handleLogout: () => void;
+  authInProgress: boolean;
+  authError: string;
+  setAuthError: React.Dispatch<SetStateAction<string>>;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html new file mode 100644 index 000000000..fdb13bd7b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/types/ChangelogItem.ts + + + + + + + + + +
+
+

All files / src/types ChangelogItem.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
export type ChangelogItem = {
+  _uid: string;
+  image?: {
+    alt: string;
+    filename: string;
+  };
+  title: string;
+  excerpt: string;
+  read_more_link?: string;
+  read_more_text?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html new file mode 100644 index 000000000..f497b125a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/CompositionTokenProperty.ts + + + + + + + + + +
+
+

All files / src/types CompositionTokenProperty.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import type { TokenTypes } from '@/constants/TokenTypes';
+import { TokenBoxshadowValue, TokenTypographyValue, TokenBorderValue } from './values';
+ 
+export type CompositionTokenProperty = keyof typeof Properties;
+ 
+export type CompositionTokenValue = Partial<
+Record<TokenTypes, string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | Array<TokenBoxshadowValue>>
+& Record<Properties, string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | Array<TokenBoxshadowValue>>
+>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html new file mode 100644 index 000000000..b3de0bb99 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/DeepTokensMap.ts + + + + + + + + + +
+
+

All files / src/types DeepTokensMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { SingleToken } from './tokens';
+ 
+export interface DeepTokensMap<Named extends boolean> {
+  [K: string]: SingleToken<Named> | DeepTokensMap<Named>
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html new file mode 100644 index 000000000..8db26834f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/types/ExportTokenSet.ts + + + + + + + + + +
+
+

All files / src/types ExportTokenSet.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+export type ExportTokenSet = {
+  set: string;
+  status: TokenSetStatus
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html new file mode 100644 index 000000000..34a3752e9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/FigmaStyleMaps.ts + + + + + + + + + +
+
+

All files / src/types FigmaStyleMaps.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type FigmaStyleMaps = {
+  effectStyles: Map<string, EffectStyle>;
+  paintStyles: Map<string, PaintStyle>;
+  textStyles: Map<string, TextStyle>;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html new file mode 100644 index 000000000..96948e82d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/types/MapValuesToTokensResult.ts + + + + + + + + + +
+
+

All files / src/types MapValuesToTokensResult.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import type { SingleToken } from './tokens';
+ 
+export type MapValuesToTokensResult = Record<string, string | number | SingleToken['value'] | {
+  property: string
+  value?: SingleToken['value'];
+}[]>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html new file mode 100644 index 000000000..426ed1ba8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/types/Modifier.ts + + + + + + + + + +
+
+

All files / src/types Modifier.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
+ 
+interface Modifier <T extends string, V> {
+  type: T
+  value: V
+}
+interface ColorGenericModifier<T extends ColorModifierTypes, V> extends Modifier<T, V> {
+  space: ColorSpaceTypes
+}
+ 
+export interface LightenModifier extends ColorGenericModifier<ColorModifierTypes.LIGHTEN, string> {}
+export interface DarkenModifier extends ColorGenericModifier<ColorModifierTypes.DARKEN, string> {}
+export interface MixModifier extends ColorGenericModifier<ColorModifierTypes.MIX, string> {
+  color: string;
+}
+export interface AlphaModifier extends ColorGenericModifier<ColorModifierTypes.ALPHA, string> {}
+ 
+export type ColorModifier = LightenModifier | DarkenModifier | MixModifier | AlphaModifier;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html new file mode 100644 index 000000000..c353bd4a1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/NodeInfo.ts + + + + + + + + + +
+
+

All files / src/types NodeInfo.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export interface NodeInfo {
+  id: string
+  name: string;
+  type: NodeType
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html new file mode 100644 index 000000000..6392d5262 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/types/NodeTokenRefMap.ts + + + + + + + + + +
+
+

All files / src/types NodeTokenRefMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import type { Properties } from '@/constants/Properties';
+import type { TokenTypes } from '@/constants/TokenTypes';
+import { NodeTokenRefValue } from './NodeTokenRefValue';
+ 
+export type NodeTokenRefMap = Partial<
+Record<TokenTypes, NodeTokenRefValue>
+& Record<Properties, NodeTokenRefValue>
+>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html new file mode 100644 index 000000000..c17a687be --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/types/NodeTokenRefValue.ts + + + + + + + + + +
+
+

All files / src/types NodeTokenRefValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export type NodeTokenRefValue = string;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html new file mode 100644 index 000000000..b91690b33 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/OptionalPartial.ts + + + + + + + + + +
+
+

All files / src/types OptionalPartial.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type OptionalPartial<Incomplete extends boolean, T> = (
+  Incomplete extends true
+    ? Partial<T>
+    : T
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html new file mode 100644 index 000000000..5790b35cb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/PullStylesOptions.ts + + + + + + + + + +
+
+

All files / src/types PullStylesOptions.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type PullStyleOptions = {
+  textStyles?: boolean;
+  colorStyles?: boolean;
+  effectStyles?: boolean;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html new file mode 100644 index 000000000..d8b112a2f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/types/PullVariablesOptions.ts + + + + + + + + + +
+
+

All files / src/types PullVariablesOptions.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import type { SelectedCollections } from './VariableCollectionSelection';
+ 
+export type PullVariablesOptions = {
+  useDimensions?: boolean;
+  useRem?: boolean;
+  selectedCollections?: SelectedCollections;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html new file mode 100644 index 000000000..8729a88f8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/types/RawVariableReferenceMap.ts + + + + + + + + + +
+
+

All files / src/types RawVariableReferenceMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export type RawVariableReferenceMap = Map<string, string>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html new file mode 100644 index 000000000..a41b5dfd8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/types/RemoteResponseData.ts + + + + + + + + + +
+
+

All files / src/types RemoteResponseData.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { RemoteTokenStorageMetadata } from '@/storage/RemoteTokenStorage';
+import { ThemeObjectsList } from './ThemeObjectsList';
+import { AnyTokenList } from './tokens';
+ 
+type RemoteResponseSuccess<Metadata = unknown> = {
+  status: 'success',
+  tokens: Record<string, AnyTokenList>
+  themes: ThemeObjectsList
+  metadata?: RemoteTokenStorageMetadata & Metadata | null
+  commitSha?: string
+  commitDate?: Date
+};
+ 
+type RemoteResponseFailure = {
+  status: 'failure',
+  errorMessage: string;
+};
+ 
+export type RemoteResponseData<Metadata = unknown> = RemoteResponseSuccess<Metadata> | RemoteResponseFailure;
+ 
+export type RemoteResponseStatus = {
+  status: 'success' | 'failure';
+  errorMessage?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html new file mode 100644 index 000000000..13c3dcc6e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/types/RootModel.ts + + + + + + + + + +
+
+

All files / src/types RootModel.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { Models } from '@rematch/core';
+import type { settings } from '@/app/store/models/settings';
+import type { uiState } from '@/app/store/models/uiState';
+import type { tokenState } from '@/app/store/models/tokenState';
+import type { inspectState } from '@/app/store/models/inspectState';
+import type { userState } from '@/app/store/models/userState';
+import type { branchState } from '@/app/store/models/branchState';
+ 
+export interface RootModel extends Models<RootModel> {
+  settings: typeof settings;
+  uiState: typeof uiState;
+  tokenState: typeof tokenState;
+  inspectState: typeof inspectState;
+  userState: typeof userState;
+  branchState: typeof branchState;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html new file mode 100644 index 000000000..2eb632881 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/types/SecondScreen.ts + + + + + + + + + +
+
+

All files / src/types SecondScreen.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ThemeObject } from './ThemeObject';
+import { SingleToken } from './tokens';
+import { UsedTokenSetsMap } from './UsedTokenSetsMap';
+ 
+export type TokenSets = Record<string, SingleToken[]>;
+ 
+export enum Clients {
+  PLUGIN = 'plugin',
+  SECOND_SCREEN = 'second-screen',
+}
+ 
+export interface TokenData {
+  id: string | number | null;
+  owner_email?: string;
+  created_at?: string;
+  synced_data: {
+    sets: TokenSets | null;
+    themes: ThemeObject[];
+    usedTokenSets: UsedTokenSetsMap;
+    activeTheme: Record<string, string>;
+  };
+  last_updated_by: Clients;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html new file mode 100644 index 000000000..8a6ae9473 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/types/SelectionGroup.ts + + + + + + + + + +
+
+

All files / src/types SelectionGroup.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { NodeInfo } from './NodeInfo';
+import { SingleToken } from './tokens';
+ 
+export interface SelectionGroup {
+  category: TokenTypes | Properties;
+  type: string;
+  value: string;
+  nodes: NodeInfo[];
+  resolvedValue?: SingleToken['value'] // We save the value of the style
+  appliedType: 'token' | 'variable' | 'style'
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html new file mode 100644 index 000000000..ef6a07ea6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/types/SelectionValue.ts + + + + + + + + + +
+
+

All files / src/types SelectionValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export interface SelectionValue {
+  values?: string;
+  sizing?: string;
+  height?: string;
+  width?: string;
+  spacing?: string;
+  verticalPadding?: string;
+  horizontalPadding?: string;
+  paddingTop?: string;
+  paddingRight?: string;
+  paddingBottom?: string;
+  paddingLeft?: string;
+  itemSpacing?: string;
+  fill?: string;
+  border?: string;
+  borderRadius?: string;
+  borderRadiusTopLeft?: string;
+  borderRadiusTopRight?: string;
+  borderRadiusBottomRight?: string;
+  borderRadiusBottomLeft?: string;
+  borderWidth?: string;
+  boxShadow?: string;
+  opacity?: string;
+  fontFamilies?: string;
+  fontWeights?: string;
+  fontSizes?: string;
+  lineHeights?: string;
+  typography?: string;
+  letterSpacing?: string;
+  paragraphSpacing?: string;
+  tokenValue?: string;
+  value?: string;
+  tokenName?: string;
+  description?: string;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html new file mode 100644 index 000000000..806e1d25b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/types/ShowFormOptions.ts + + + + + + + + + +
+
+

All files / src/types ShowFormOptions.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import { SingleToken } from './tokens';
+ 
+export type ShowFormOptions = {
+  name: string;
+  status?: EditTokenFormStatus;
+  token: SingleToken | null;
+};
+ 
+export type ShowNewFormOptions = {
+  name?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html new file mode 100644 index 000000000..afd47875c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/StitchesCSS.ts + + + + + + + + + +
+
+

All files / src/types StitchesCSS.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import type { ConfigType, DefaultThemeMap } from '@stitches/react/types/config';
+import type { CSS } from '@stitches/react/types/css-util';
+import type { theme } from '@/stitches.config';
+ 
+export type StitchesCSS = CSS<
+ConfigType.Media<Record<string, unknown>>,
+  typeof theme,
+ConfigType.ThemeMap<DefaultThemeMap>,
+ConfigType.Utils<Record<string, unknown>>
+>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html new file mode 100644 index 000000000..f27d642f8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html @@ -0,0 +1,616 @@ + + + + + + Code coverage report for src/types/StorageType.ts + + + + + + + + + +
+
+

All files / src/types StorageType.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageProviderType } from '@/constants/StorageProviderType';
+import { OptionalPartial } from './OptionalPartial';
+import { GenericVersionedAdditionalHeaders } from '../storage/GenericVersionedStorage';
+ 
+/**
+ * StorageTypes are meant to define the parameters of a storage provider
+ * but this does not include their credentials
+ */
+ 
+export type GenericStorageType<T extends StorageProviderType = StorageProviderType, P = unknown> = P & {
+  provider: T;
+} & (T extends StorageProviderType.LOCAL
+  ? unknown
+  : {
+    internalId: string;
+  });
+ 
+export type StorageTypeCredential<T extends GenericStorageType, Required extends boolean = true> = T &
+(Required extends true ? { secret: string } : { secret?: string });
+ 
+export type LocalStorageType = GenericStorageType<StorageProviderType.LOCAL>;
+ 
+export type URLStorageType = GenericStorageType<
+StorageProviderType.URL,
+{
+  name: string; // this is only for refrence
+  id: string; // this would be the URL
+}
+>;
+ 
+export type JSONBinStorageType = GenericStorageType<
+StorageProviderType.JSONBIN,
+{
+  name: string; // this is only for refrence
+  id: string; // this is the ID of the JSONBIN
+}
+>;
+ 
+export type GitHubStorageType = GenericStorageType<
+StorageProviderType.GITHUB,
+{
+  name: string; // this is only for refrence
+  id: string; // this should be the repository identifier; eg {username}/{repo}
+  branch: string; // this is the base branch
+  filePath: string; // this is the path to the token file or files (depends on multifile support)
+  baseUrl?: string; // this is the base API url. This is important for self hosted environments
+  commitSha?: string; // this is the commit sha of the current file or folder
+}
+>;
+ 
+export type GitLabStorageType = GenericStorageType<
+StorageProviderType.GITLAB,
+{
+  name: string; // this is only for refrence
+  id: string; // this should be the repository identifier; eg {username}/{repo}
+  branch: string; // this is the base branch
+  filePath: string; // this is the path to the token file or files (depends on multifile support)
+  baseUrl?: string; // this is the base API url. This is important for self hosted environments
+  commitDate?: Date; // this is the commit sha of the current file or folder
+  previousSourceBranch?: string; // optional: allows pushing changes to remote based on an existing branch
+}
+>;
+ 
+export type BitbucketStorageType = GenericStorageType<
+StorageProviderType.BITBUCKET,
+{
+  name: string; // this is only for reference
+  id: string; // this should be the repository identifier; eg {workspace}/{repo_slug}
+  username: string; // this is the bitbucket user, required for app password interaction
+  branch: string; // this is the base branch
+  filePath: string; // this is the path to the token file or files (depends on multifile support)
+  baseUrl?: string; // this is the base API url. This is important for self hosted environments
+}
+>;
+ 
+export type TokensStudioStorageType = GenericStorageType<
+StorageProviderType.TOKENS_STUDIO,
+{
+  name: string; // this is only for reference
+  orgId: string; // this is the organization id
+  id: string; // this is the project id
+}
+>;
+ 
+export type ADOStorageType = GenericStorageType<
+StorageProviderType.ADO,
+{
+  name?: string; // this is only for refrence
+  baseUrl: string; // this is the Azure base URL (eg: https://dev.azure.com/yourOrgName). This is required for Azure
+  id: string; // this is the repository identifier; eg {username}/{repo}
+  branch: string; // this is the base branch
+  filePath: string; // this is the path to the token file or files (depends on multifile support)
+  previousSourceBranch?: string; // optional: allows pushing changes to remote based on an existing branch
+}
+>;
+ 
+export type SupernovaStorageType = GenericStorageType<StorageProviderType.SUPERNOVA, {
+  id: string; // Not used for now, but makes it easier to handle rest of code for other providers
+  name: string; // this is only for refrence
+  designSystemUrl: string; // URL of the design system
+  mapping: string; // Mapping configuration
+}>;
+ 
+export enum GenericVersionedStorageFlow {
+  READ_WRITE_CREATE = 'Read/Write/Create',
+  READ_WRITE = 'Read/Write',
+  READ_ONLY = 'ReadOnly ',
+}
+export type GenericVersionedStorageType = GenericStorageType<StorageProviderType.GENERIC_VERSIONED_STORAGE, {
+  name?: string; // this is only for refrence
+  id: string // this would be the URL
+  flow: GenericVersionedStorageFlow,
+  additionalHeaders: GenericVersionedAdditionalHeaders ;
+}>;
+ 
+export type StorageType =
+  | LocalStorageType
+  | URLStorageType
+  | JSONBinStorageType
+  | GitHubStorageType
+  | GitLabStorageType
+  | GenericVersionedStorageType
+  | ADOStorageType
+  | BitbucketStorageType
+  | SupernovaStorageType
+  | TokensStudioStorageType;
+ 
+export type StorageTypeCredentials =
+  | StorageTypeCredential<URLStorageType>
+  | StorageTypeCredential<JSONBinStorageType>
+  | StorageTypeCredential<GitHubStorageType>
+  | StorageTypeCredential<GitLabStorageType>
+  | StorageTypeCredential<GenericVersionedStorageType, false>
+  | StorageTypeCredential<BitbucketStorageType>
+  | StorageTypeCredential<ADOStorageType>
+  | StorageTypeCredential<SupernovaStorageType>
+  | StorageTypeCredential<TokensStudioStorageType>;
+ 
+export type StorageTypeFormValues<Incomplete extends boolean = false> =
+  | ({ new?: boolean; provider: StorageProviderType.URL } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<URLStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; id?: string; provider: StorageProviderType.JSONBIN } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<JSONBinStorageType>, 'provider' | 'id'>
+  >)
+  | ({ new?: boolean; provider: StorageProviderType.GITHUB } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<GitHubStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; provider: StorageProviderType.GITLAB } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<GitLabStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; provider: StorageProviderType.BITBUCKET } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<BitbucketStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; provider: StorageProviderType.SUPERNOVA } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<SupernovaStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; provider: StorageProviderType.ADO } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<ADOStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; id?: string; provider: StorageProviderType.GENERIC_VERSIONED_STORAGE } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<GenericVersionedStorageType>, 'provider'>
+  >)
+  | ({ new?: boolean; provider: StorageProviderType.TOKENS_STUDIO } & OptionalPartial<
+  Incomplete,
+  Omit<StorageTypeCredential<TokensStudioStorageType>, 'provider'>
+  >)
+  | { new?: boolean; provider: StorageProviderType.LOCAL };
+export { StorageProviderType };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html new file mode 100644 index 000000000..ae8505403 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/types/StoryblokStory.ts + + + + + + + + + +
+
+

All files / src/types StoryblokStory.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ChangelogItem } from './ChangelogItem';
+ 
+// @README https://www.storyblok.com/docs/api/content-delivery#core-resources/stories/stories
+export type StoryblokStory<P = unknown> = {
+  id: number;
+  uuid: string;
+  name: string;
+  slug: string;
+  full_slug: string;
+  default_full_slug: string | null;
+  created_at: string;
+  published_at: string;
+  first_published_at: string;
+  content: ChangelogItem & {
+    component: string;
+  } & P;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html new file mode 100644 index 000000000..4ff433572 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/types/StyleIdMap.ts + + + + + + + + + +
+
+

All files / src/types StyleIdMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export type StyleThemeMap = Record<string, Record<string, string>>;
+export type StyleIdMap = Record<string, string>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html new file mode 100644 index 000000000..1c183f38c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/types/ThemeObject.ts + + + + + + + + + +
+
+

All files / src/types ThemeObject.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+export type ThemeObject = {
+  // @README let's decouple the name and ID
+  // otherwise we could run into remapping issues like we have with tokens
+  id: string;
+  name: string;
+  group?: string;
+  // @README these are the token sets inside the theme
+  selectedTokenSets: Record<string, TokenSetStatus>;
+  // @README these are the style IDs from Figma
+  // this is considered meta-data so it is prefixed with $
+  $figmaStyleReferences?: Record<string, string>;
+  // Local variables
+  $figmaCollectionId?: string;
+  $figmaModeId?: string;
+  $figmaVariableReferences?: Record<string, string>;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html new file mode 100644 index 000000000..cb7df4a0b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/types/ThemeObjectsList.ts + + + + + + + + + +
+
+

All files / src/types ThemeObjectsList.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { ThemeObject } from './ThemeObject';
+ 
+export type ThemeObjectsList = ThemeObject[];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html new file mode 100644 index 000000000..9f2c28e1c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/types/TokenMap.ts + + + + + + + + + +
+
+

All files / src/types TokenMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { SingleToken } from '@/types/tokens';
+ 
+export type TokenMap = Map<string, SingleToken>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html new file mode 100644 index 000000000..05e7893f4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/UpdateNodesSettings.ts + + + + + + + + + +
+
+

All files / src/types UpdateNodesSettings.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type UpdateNodesSettings = {
+  ignoreFirstPartForStyles?: boolean;
+  prefixStylesWithThemeName?: boolean;
+  baseFontSize: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html new file mode 100644 index 000000000..3f65dcbf8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/types/UpdateRemoteFunction.ts + + + + + + + + + +
+
+

All files / src/types UpdateRemoteFunction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Dispatch } from '@/app/store';
+import type { StorageTypeCredentials } from './StorageType';
+import { ThemeObjectsList } from './ThemeObjectsList';
+import type { SingleToken } from './tokens';
+ 
+export type UpdateRemoteFunctionPayload = {
+  tokens: Record<string, SingleToken[]>
+  themes: ThemeObjectsList
+  context: Partial<StorageTypeCredentials>
+  updatedAt?: string
+  oldUpdatedAt?: string | null
+  storeTokenIdInJsonEditor: boolean
+  dispatch: Dispatch
+};
+export type UpdateRemoteFunction = (payload: UpdateRemoteFunctionPayload) => Promise<void>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html new file mode 100644 index 000000000..b1c10f533 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/types/UsedTokenSetsMap.ts + + + + + + + + + +
+
+

All files / src/types UsedTokenSetsMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+ 
+export type UsedTokenSetsMap = Record<string, TokenSetStatus>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html new file mode 100644 index 000000000..ccaffbc12 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/types/VariableCollectionSelection.ts + + + + + + + + + +
+
+

All files / src/types VariableCollectionSelection.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export type VariableCollectionInfo = {
+  id: string;
+  name: string;
+  modes: {
+    modeId: string;
+    name: string;
+  }[];
+};
+ 
+export type SelectedCollections = {
+  [collectionId: string]: {
+    name: string;
+    selectedModes: string[]; // array of modeIds
+  };
+};
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html new file mode 100644 index 000000000..986a2c798 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/types/VariableReferenceMap.ts + + + + + + + + + +
+
+

All files / src/types VariableReferenceMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export type VariableReferenceMap = Map<string, Variable>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/index.html new file mode 100644 index 000000000..10c96281c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/index.html @@ -0,0 +1,671 @@ + + + + + + Code coverage report for src/types + + + + + + + + + +
+
+

All files src/types

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AsyncMessages.ts +
+
0%0/00%0/00%0/00%0/0
Auth.ts +
+
0%0/00%0/00%0/00%0/0
ChangelogItem.ts +
+
0%0/00%0/00%0/00%0/0
CompositionTokenProperty.ts +
+
0%0/00%0/00%0/00%0/0
DeepTokensMap.ts +
+
0%0/00%0/00%0/00%0/0
ExportTokenSet.ts +
+
0%0/00%0/00%0/00%0/0
FigmaStyleMaps.ts +
+
0%0/00%0/00%0/00%0/0
MapValuesToTokensResult.ts +
+
0%0/00%0/00%0/00%0/0
Modifier.ts +
+
0%0/00%0/00%0/00%0/0
NodeInfo.ts +
+
0%0/00%0/00%0/00%0/0
NodeTokenRefMap.ts +
+
0%0/00%0/00%0/00%0/0
NodeTokenRefValue.ts +
+
0%0/00%0/00%0/00%0/0
OptionalPartial.ts +
+
0%0/00%0/00%0/00%0/0
PullStylesOptions.ts +
+
0%0/00%0/00%0/00%0/0
PullVariablesOptions.ts +
+
0%0/00%0/00%0/00%0/0
RawVariableReferenceMap.ts +
+
0%0/00%0/00%0/00%0/0
RemoteResponseData.ts +
+
0%0/00%0/00%0/00%0/0
RootModel.ts +
+
0%0/00%0/00%0/00%0/0
SecondScreen.ts +
+
0%0/00%0/00%0/00%0/0
SelectionGroup.ts +
+
0%0/00%0/00%0/00%0/0
SelectionValue.ts +
+
0%0/00%0/00%0/00%0/0
ShowFormOptions.ts +
+
0%0/00%0/00%0/00%0/0
StitchesCSS.ts +
+
0%0/00%0/00%0/00%0/0
StorageType.ts +
+
0%0/00%0/00%0/00%0/0
StoryblokStory.ts +
+
0%0/00%0/00%0/00%0/0
StyleIdMap.ts +
+
0%0/00%0/00%0/00%0/0
ThemeObject.ts +
+
0%0/00%0/00%0/00%0/0
ThemeObjectsList.ts +
+
0%0/00%0/00%0/00%0/0
TokenMap.ts +
+
0%0/00%0/00%0/00%0/0
UpdateNodesSettings.ts +
+
0%0/00%0/00%0/00%0/0
UpdateRemoteFunction.ts +
+
0%0/00%0/00%0/00%0/0
UsedTokenSetsMap.ts +
+
0%0/00%0/00%0/00%0/0
VariableCollectionSelection.ts +
+
0%0/00%0/00%0/00%0/0
VariableReferenceMap.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
messages.tsx +
+
0%0/00%0/00%0/00%0/0
userData.ts +
+
0%0/00%0/00%0/00%0/0
valueTypes.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html new file mode 100644 index 000000000..992d10517 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/types/index.ts + + + + + + + + + +
+
+

All files / src/types index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './OptionalPartial';
+export * from './SelectionGroup';
+export * from './SelectionValue';
+export * from './PullStylesOptions';
+export * from './PullVariablesOptions';
+export * from './StoryblokStory';
+export * from './ThemeObject';
+export * from './UsedTokenSetsMap';
+export * from './StitchesCSS';
+export * from './UpdateRemoteFunction';
+export * from './ThemeObjectsList';
+export * from './DeepTokensMap';
+export * from './MapValuesToTokensResult';
+export * from './ShowFormOptions';
+export * from './VariableCollectionSelection';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html new file mode 100644 index 000000000..7fc2f57fa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html @@ -0,0 +1,529 @@ + + + + + + Code coverage report for src/types/messages.tsx + + + + + + + + + +
+
+

All files / src/types messages.tsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { BackgroundJob } from '@/app/store/models/uiState';
+import type { SelectionGroup } from './SelectionGroup';
+import type { SelectionValue } from './SelectionValue';
+import type { TokenStore } from './tokens';
+import type { UpdateMode } from '@/constants/UpdateMode';
+import type { StorageTypeCredentials } from './StorageType';
+import { StyleToCreateToken, VariableToCreateToken } from './payloads';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import type { ThemeObjectsList } from './ThemeObjectsList';
+ 
+export enum MessageFromPluginTypes {
+  SELECTION = 'selection',
+  NO_SELECTION = 'noselection',
+  STYLES = 'styles',
+  VARIABLES = 'variables',
+  API_PROVIDERS = 'apiProviders',
+  UI_SETTINGS = 'uiSettings',
+  SHOW_EMPTY_GROUPS = 'show_empty_groups',
+  START_JOB = 'start_job',
+  COMPLETE_JOB = 'complete_job',
+  CLEAR_JOBS = 'clear_jobs',
+  ADD_JOB_TASKS = 'add_job_tasks',
+  COMPLETE_JOB_TASKS = 'complete_job_tasks',
+  SET_TOKENS = 'set_tokens',
+  NOTIFY_EXCEPTION = 'notify_exception',
+  TRACK_FROM_PLUGIN = 'track_from_plugin',
+}
+ 
+export type NoSelectionFromPluginMessage = { type: MessageFromPluginTypes.NO_SELECTION };
+export type SelectionFromPluginMessage = {
+  type: MessageFromPluginTypes.SELECTION;
+  selectionValues: SelectionGroup[];
+  mainNodeSelectionValues: SelectionValue[];
+  selectedNodes: number;
+};
+export type UiSettingsFromPluginMessage = {
+  type: MessageFromPluginTypes.UI_SETTINGS;
+  settings: {
+    uiWindow: {
+      width: number;
+      height: number;
+      isMinimized: boolean;
+    };
+    language: string,
+    sessionRecording:boolean;
+    updateMode: UpdateMode;
+    updateRemote: boolean;
+    updateOnChange: boolean;
+    applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues;
+    shouldUpdateStyles: boolean;
+    variablesColor: boolean;
+    variablesString: boolean;
+    variablesNumber: boolean;
+    variablesBoolean: boolean;
+    stylesColor: boolean;
+    stylesTypography: boolean;
+    stylesEffect: boolean;
+    ignoreFirstPartForStyles: boolean;
+    createStylesWithVariableReferences: boolean;
+    prefixStylesWithThemeName: boolean;
+    renameExistingStylesAndVariables: boolean;
+    removeStylesAndVariablesWithoutConnection: boolean;
+    inspectDeep: boolean;
+    shouldSwapStyles: boolean;
+    baseFontSize: string;
+    aliasBaseFontSize: string;
+    storeTokenIdInJsonEditor: boolean;
+    tokenFormat: TokenFormatOptions;
+  };
+};
+ 
+export type ShowEmptyGroupsFromPluginMessage = {
+  type: MessageFromPluginTypes.SHOW_EMPTY_GROUPS;
+  showEmptyGroups: boolean;
+};
+export type ApiProvidersFromPluginMessage = {
+  type: MessageFromPluginTypes.API_PROVIDERS;
+  providers: StorageTypeCredentials[];
+};
+export type StylesFromPluginMessage = {
+  type: MessageFromPluginTypes.STYLES;
+  values?: Record<string, StyleToCreateToken[]>;
+};
+ 
+export type VariablesFromPluginMessage = {
+  type: MessageFromPluginTypes.VARIABLES;
+  values?: Record<string, VariableToCreateToken[]>;
+  themes?: ThemeObjectsList;
+};
+ 
+export type StartJobFromPluginMessage = {
+  type: MessageFromPluginTypes.START_JOB;
+  job: BackgroundJob;
+};
+export type CompleteJobFromPluginMessage = {
+  type: MessageFromPluginTypes.COMPLETE_JOB;
+  name: string;
+};
+export type ClearJobsFromPluginMessage = {
+  type: MessageFromPluginTypes.CLEAR_JOBS;
+};
+export type AddJobTasksFromPluginMessage = {
+  type: MessageFromPluginTypes.ADD_JOB_TASKS;
+  name: string;
+  count: number;
+  expectedTimePerTask?: number;
+};
+export type CompleteJobTasksFromPluginMessage = {
+  type: MessageFromPluginTypes.COMPLETE_JOB_TASKS;
+  name: string;
+  count: number;
+  timePerTask?: number;
+};
+ 
+export type SetTokensFromPluginMessage = {
+  type: MessageFromPluginTypes.SET_TOKENS;
+  values: TokenStore;
+};
+ 
+export type NotifyExceptionFromPluginMessage = {
+  type: MessageFromPluginTypes.NOTIFY_EXCEPTION;
+  error: string;
+  opts?: Record<string, unknown>;
+};
+ 
+export type TrackFromPluginMessage = {
+  type: MessageFromPluginTypes.TRACK_FROM_PLUGIN;
+  title: string;
+  opts?: Record<string, unknown>;
+};
+ 
+export type PostToUIMessage =
+  | NoSelectionFromPluginMessage
+  | SelectionFromPluginMessage
+  | UiSettingsFromPluginMessage
+  | ShowEmptyGroupsFromPluginMessage
+  | ApiProvidersFromPluginMessage
+  | StylesFromPluginMessage
+  | VariablesFromPluginMessage
+  | StartJobFromPluginMessage
+  | CompleteJobFromPluginMessage
+  | ClearJobsFromPluginMessage
+  | AddJobTasksFromPluginMessage
+  | CompleteJobTasksFromPluginMessage
+  | SetTokensFromPluginMessage
+  | NotifyExceptionFromPluginMessage
+  | TrackFromPluginMessage;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html new file mode 100644 index 000000000..65493e724 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/payloads/DeleteTokenGroupPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads DeleteTokenGroupPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type DeleteTokenGroupPayload = {
+  parent: string;
+  path: string;
+  type: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html new file mode 100644 index 000000000..f34c56016 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/types/payloads/DeleteTokenPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads DeleteTokenPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export type DeleteTokenPayload = {
+  parent: string;
+  path: string;
+  type?: TokenTypes;
+  sourceId?: string;
+  index?: number;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html new file mode 100644 index 000000000..7d1d4d977 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/types/payloads/DuplicateTokenGroupPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads DuplicateTokenGroupPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
export type DuplicateTokenGroupPayload = {
+  parent: string;
+  oldName: string;
+  newName: string;
+  tokenSets: string[];
+  type: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html new file mode 100644 index 000000000..42d30c01a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/types/payloads/DuplicateTokenPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads DuplicateTokenPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { ColorModifier } from '../Modifier';
+import { SingleToken } from '../tokens';
+ 
+export type DuplicateTokenPayload = {
+  parent: string;
+  type: TokenTypes;
+  newName: string;
+  value: SingleToken['value'];
+  description?: string;
+  oldName?: string;
+  shouldUpdate?: boolean;
+  tokenSets: string[];
+  $extensions?: {
+    [key: string]: any;
+    'studio.tokens'?: {
+      [key: string]: any;
+      id?: string;
+      modify?: ColorModifier
+    }
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html new file mode 100644 index 000000000..327692812 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/types/payloads/RenameTokenGroupPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads RenameTokenGroupPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export type RenameTokenGroupPayload = {
+  parent: string;
+  oldName: string;
+  newName: string;
+  type: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html new file mode 100644 index 000000000..56b0b4ec6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/types/payloads/RenameTokensAcrossSets.ts + + + + + + + + + +
+
+

All files / src/types/payloads RenameTokensAcrossSets.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export type RenameTokensAcrossSetsPayload = {
+  oldName: string;
+  newName: string;
+  type: string;
+  tokenSets: string[];
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html new file mode 100644 index 000000000..32022d3f6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/types/payloads/SetTokenDataPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads SetTokenDataPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { ThemeObjectsList } from '../ThemeObjectsList';
+import { AnyTokenList, SingleToken } from '../tokens';
+import { UsedTokenSetsMap } from '../UsedTokenSetsMap';
+ 
+type ShallowTokenMap = Record<string, SingleToken<false>>;
+type DeepTokenMap = Record<string, Record<string, SingleToken<false>>>;
+export type SetTokenDataPayload = {
+  values:
+  SingleToken[]
+  | Record<string, AnyTokenList>
+  | Record<string, Partial<Record<TokenTypes, ShallowTokenMap | DeepTokenMap>>>
+  themes?: ThemeObjectsList
+  activeTheme?: Record<string, string>
+  shouldUpdate?: boolean;
+  usedTokenSet?: UsedTokenSetsMap | null
+  hasChangedRemote?: boolean
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html new file mode 100644 index 000000000..8c08d0c84 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/types/payloads/SetTokensFromStylesPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads SetTokensFromStylesPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '../tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export type StyleToCreateToken = {
+  name: string
+  value: SingleToken['value']
+  oldValue?: SingleToken['value']
+  type: TokenTypes
+  description?: string
+  oldDescription?: string
+};
+ 
+export type SetTokensFromStylesPayload = Record<string, StyleToCreateToken[]>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html new file mode 100644 index 000000000..0e5b60198 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/types/payloads/SetTokensFromVariablesPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads SetTokensFromVariablesPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '../tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export type VariableToCreateToken = {
+  name: string
+  value: SingleToken['value']
+  oldValue?: SingleToken['value']
+  type: TokenTypes
+  parent: string, // collection name - is there a type for this?
+  description?: string
+  oldDescription?: string
+};
+ 
+export type SetTokensFromVariablesPayload = Record<string, VariableToCreateToken[]>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html new file mode 100644 index 000000000..b2e9c6b4a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/payloads/ToggleManyTokenSetsPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads ToggleManyTokenSetsPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export type ToggleManyTokenSetsPayload = {
+  shouldCheck: boolean
+  sets: string[]
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html new file mode 100644 index 000000000..9c584c6ba --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/payloads/UpdateDocumentPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads UpdateDocumentPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type UpdateDocumentPayload = {
+  shouldUpdateNodes?: boolean
+  updateRemote?: boolean
+  checkForChanges?: boolean
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html new file mode 100644 index 000000000..16b085bcd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/types/payloads/UpdateTokenPayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads UpdateTokenPayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { ColorModifier } from '../Modifier';
+import {
+  SingleColorToken,
+  SingleBorderRadiusToken,
+  SingleTextToken,
+  SingleTypographyToken,
+  SingleOpacityToken,
+  SingleBorderWidthToken,
+  SingleBoxShadowToken,
+  SingleFontFamiliesToken,
+  SingleFontWeightsToken,
+  SingleLineHeightsToken,
+  SingleLetterSpacingToken,
+  SingleFontSizesToken,
+  SingleParagraphSpacingToken,
+  SingleTextDecorationToken,
+  SingleTextCaseToken,
+  SingleSpacingToken,
+  SingleOtherToken,
+  SingleCompositionToken,
+  SingleSizingToken,
+  SingleDimensionToken,
+  SingleBorderToken,
+  SingleAssetToken,
+  SingleBooleanToken,
+  SingleNumberToken,
+} from '../tokens';
+ 
+type GenericTokenInput<T extends TokenTypes, V = string> = {
+  parent: string; // the currently active tokenSet
+  name: string;
+  type: T;
+  value: V;
+  description?: string;
+  oldName?: string; // only passed when editing token
+  shouldUpdate?: boolean
+  shouldUpdateDocument?: boolean;
+  $extensions?: { 'studio.tokens'?: { modify?: ColorModifier, urn?: string; } }
+};
+ 
+export type UpdateTokenPayload =
+  GenericTokenInput<TokenTypes.COLOR, SingleColorToken['value']>
+  | GenericTokenInput<TokenTypes.BORDER_RADIUS, SingleBorderRadiusToken['value']>
+  | GenericTokenInput<TokenTypes.TEXT, SingleTextToken['value']>
+  | GenericTokenInput<TokenTypes.TYPOGRAPHY, SingleTypographyToken['value']>
+  | GenericTokenInput<TokenTypes.OPACITY, SingleOpacityToken['value']>
+  | GenericTokenInput<TokenTypes.BORDER_WIDTH, SingleBorderWidthToken['value']>
+  | GenericTokenInput<TokenTypes.BOX_SHADOW, SingleBoxShadowToken['value']>
+  | GenericTokenInput<TokenTypes.FONT_FAMILIES, SingleFontFamiliesToken['value']>
+  | GenericTokenInput<TokenTypes.FONT_WEIGHTS, SingleFontWeightsToken['value']>
+  | GenericTokenInput<TokenTypes.LINE_HEIGHTS, SingleLineHeightsToken['value']>
+  | GenericTokenInput<TokenTypes.LETTER_SPACING, SingleLetterSpacingToken['value']>
+  | GenericTokenInput<TokenTypes.FONT_SIZES, SingleFontSizesToken['value']>
+  | GenericTokenInput<TokenTypes.PARAGRAPH_SPACING, SingleParagraphSpacingToken['value']>
+  | GenericTokenInput<TokenTypes.TEXT_DECORATION, SingleTextDecorationToken['value']>
+  | GenericTokenInput<TokenTypes.TEXT_CASE, SingleTextCaseToken['value']>
+  | GenericTokenInput<TokenTypes.SPACING, SingleSpacingToken['value']>
+  | GenericTokenInput<TokenTypes.SIZING, SingleSizingToken['value']>
+  | GenericTokenInput<TokenTypes.COMPOSITION, SingleCompositionToken['value']>
+  | GenericTokenInput<TokenTypes.DIMENSION, SingleDimensionToken['value']>
+  | GenericTokenInput<TokenTypes.BORDER, SingleBorderToken['value']>
+  | GenericTokenInput<TokenTypes.ASSET, SingleAssetToken['value']>
+  | GenericTokenInput<TokenTypes.OTHER, SingleOtherToken['value']>
+  | GenericTokenInput<TokenTypes.BOOLEAN, SingleBooleanToken['value']>
+  | GenericTokenInput<TokenTypes.NUMBER, SingleNumberToken['value']>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html new file mode 100644 index 000000000..215deeacb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/types/payloads/UpdateTokenVariablePayload.ts + + + + + + + + + +
+
+

All files / src/types/payloads UpdateTokenVariablePayload.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '../tokens';
+import { ColorModifier } from '../Modifier';
+ 
+export type UpdateTokenVariablePayload = {
+  parent: string;
+  name: string;
+  type: TokenTypes;
+  value: SingleToken['value'] | number | null;
+  rawValue?: SingleToken['value'];
+  $extensions?: {
+    [key: string]: any;
+    'studio.tokens'?: {
+      [key: string]: any;
+      id?: string;
+      modify?: ColorModifier
+    }
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html new file mode 100644 index 000000000..5be66b47b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html @@ -0,0 +1,311 @@ + + + + + + Code coverage report for src/types/payloads + + + + + + + + + +
+
+

All files src/types/payloads

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DeleteTokenGroupPayload.ts +
+
0%0/00%0/00%0/00%0/0
DeleteTokenPayload.ts +
+
0%0/00%0/00%0/00%0/0
DuplicateTokenGroupPayload.ts +
+
0%0/00%0/00%0/00%0/0
DuplicateTokenPayload.ts +
+
0%0/00%0/00%0/00%0/0
RenameTokenGroupPayload.ts +
+
0%0/00%0/00%0/00%0/0
RenameTokensAcrossSets.ts +
+
0%0/00%0/00%0/00%0/0
SetTokenDataPayload.ts +
+
0%0/00%0/00%0/00%0/0
SetTokensFromStylesPayload.ts +
+
0%0/00%0/00%0/00%0/0
SetTokensFromVariablesPayload.ts +
+
0%0/00%0/00%0/00%0/0
ToggleManyTokenSetsPayload.ts +
+
0%0/00%0/00%0/00%0/0
UpdateDocumentPayload.ts +
+
0%0/00%0/00%0/00%0/0
UpdateTokenPayload.ts +
+
0%0/00%0/00%0/00%0/0
UpdateTokenVariablePayload.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html new file mode 100644 index 000000000..5acdfe851 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/types/payloads/index.ts + + + + + + + + + +
+
+

All files / src/types/payloads index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
export * from './SetTokensFromStylesPayload';
+export * from './SetTokensFromVariablesPayload';
+export * from './UpdateTokenPayload';
+export * from './DeleteTokenPayload';
+export * from './SetTokenDataPayload';
+export * from './UpdateDocumentPayload';
+export * from './ToggleManyTokenSetsPayload';
+export * from './RenameTokenGroupPayload';
+export * from './DuplicateTokenGroupPayload';
+export * from './DuplicateTokenPayload';
+export * from './DeleteTokenGroupPayload';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html new file mode 100644 index 000000000..d566ce887 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/types/properties/PropertyObject.ts + + + + + + + + + +
+
+

All files / src/types/properties PropertyObject.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export type PropertyObject = {
+  name: Properties;
+  label?: string;
+  icon?: 'Gap' | 'Spacing';
+  clear?: Properties[];
+  forcedValue?: string; // @TODO check typing
+  disabled?: boolean;
+  invisible?: boolean;
+  childProperties?: PropertyObject[];
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html new file mode 100644 index 000000000..87188190f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/types/properties + + + + + + + + + +
+
+

All files src/types/properties

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
PropertyObject.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html new file mode 100644 index 000000000..1f710071d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/types/properties/index.ts + + + + + + + + + +
+
+

All files / src/types/properties index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './PropertyObject';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html new file mode 100644 index 000000000..f2fb3a50f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/types/redux/ActionMeta.ts + + + + + + + + + +
+
+

All files / src/types/redux ActionMeta.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export type ActionMeta = {
+  silent?: boolean; // skip action history
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html new file mode 100644 index 000000000..b08af7629 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/types/redux/AnyAction.ts + + + + + + + + + +
+
+

All files / src/types/redux AnyAction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import type { Action } from 'redux';
+import { AnyInspectStateAction } from './AnyInspectStateAction';
+import { AnySettingsStateAction } from './AnySettingsStateAction';
+import { AnyTokenStateAction } from './AnyTokenStateAction';
+import { AnyUiStateAction } from './AnyUiStateAction';
+ 
+export type AnyAction<GlobalScope = false> =
+Action<'RESET_APP'>
+| AnyInspectStateAction<GlobalScope>
+| AnySettingsStateAction<GlobalScope>
+| AnyTokenStateAction<GlobalScope>
+| AnyUiStateAction<GlobalScope>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html new file mode 100644 index 000000000..c697b0535 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/redux/AnyInspectStateAction.ts + + + + + + + + + +
+
+

All files / src/types/redux AnyInspectStateAction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { RootModel } from '../RootModel';
+import { ActionMeta } from './ActionMeta';
+ 
+export type AnyInspectStateAction<GlobalScope = false> = {
+  [K in keyof RootModel['inspectState']['reducers']]: {
+    type: GlobalScope extends true ? `inspectState/${K}` : K
+    payload: Parameters<RootModel['inspectState']['reducers'][K]>[1]
+    meta?: ActionMeta
+  }
+}[keyof RootModel['inspectState']['reducers']];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html new file mode 100644 index 000000000..1017b40ac --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/redux/AnySettingsStateAction.ts + + + + + + + + + +
+
+

All files / src/types/redux AnySettingsStateAction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { RootModel } from '../RootModel';
+import { ActionMeta } from './ActionMeta';
+ 
+export type AnySettingsStateAction<GlobalScope = false> = {
+  [K in keyof RootModel['settings']['reducers']]: {
+    type: GlobalScope extends true ? `settings/${K}` : K
+    payload: Parameters<RootModel['settings']['reducers'][K]>[1]
+    meta?: ActionMeta
+  }
+}[keyof RootModel['settings']['reducers']];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html new file mode 100644 index 000000000..0ff0c873d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/redux/AnyTokenStateAction.ts + + + + + + + + + +
+
+

All files / src/types/redux AnyTokenStateAction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { RootModel } from '../RootModel';
+import { ActionMeta } from './ActionMeta';
+ 
+export type AnyTokenStateAction<GlobalScope = false> = {
+  [K in keyof RootModel['tokenState']['reducers']]: {
+    type: GlobalScope extends true ? `tokenState/${K}` : K
+    payload: Parameters<RootModel['tokenState']['reducers'][K]>[1]
+    meta?: ActionMeta
+  }
+}[keyof RootModel['tokenState']['reducers']];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html new file mode 100644 index 000000000..a75e6cb5c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/redux/AnyUiStateAction.ts + + + + + + + + + +
+
+

All files / src/types/redux AnyUiStateAction.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { RootModel } from '../RootModel';
+import { ActionMeta } from './ActionMeta';
+ 
+export type AnyUiStateAction<GlobalScope = false> = {
+  [K in keyof RootModel['uiState']['reducers']]: {
+    type: GlobalScope extends true ? `uiState/${K}` : K
+    payload: Parameters<RootModel['uiState']['reducers'][K]>[1]
+    meta?: ActionMeta
+  }
+}[keyof RootModel['uiState']['reducers']];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html new file mode 100644 index 000000000..e7610a32f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html @@ -0,0 +1,206 @@ + + + + + + Code coverage report for src/types/redux + + + + + + + + + +
+
+

All files src/types/redux

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ActionMeta.ts +
+
0%0/00%0/00%0/00%0/0
AnyAction.ts +
+
0%0/00%0/00%0/00%0/0
AnyInspectStateAction.ts +
+
0%0/00%0/00%0/00%0/0
AnySettingsStateAction.ts +
+
0%0/00%0/00%0/00%0/0
AnyTokenStateAction.ts +
+
0%0/00%0/00%0/00%0/0
AnyUiStateAction.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html new file mode 100644 index 000000000..f64ac32ac --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/types/redux/index.ts + + + + + + + + + +
+
+

All files / src/types/redux index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './AnyAction';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html new file mode 100644 index 000000000..71cae3e3c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/types/tokens/AnyTokenList.ts + + + + + + + + + +
+
+

All files / src/types/tokens AnyTokenList.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { SingleToken } from './SingleToken';
+ 
+export type AnyTokenList = SingleToken[];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html new file mode 100644 index 000000000..5298628cf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/types/tokens/AnyTokenSet.ts + + + + + + + + + +
+
+

All files / src/types/tokens AnyTokenSet.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import { SingleToken } from './SingleToken';
+ 
+export type AnyTokenSet<Named extends boolean = true> = Record<string, SingleToken<Named>>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html new file mode 100644 index 000000000..726038daa --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/DeepKeyTokenMap.ts + + + + + + + + + +
+
+

All files / src/types/tokens DeepKeyTokenMap.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { SingleToken } from './SingleToken';
+ 
+export interface DeepKeyTokenMap extends Record<string, DeepKeyTokenMap | SingleToken> {
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html new file mode 100644 index 000000000..f6b95e9e4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/types/tokens/EditTokenObject.ts + + + + + + + + + +
+
+

All files / src/types/tokens EditTokenObject.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
+import { SingleBorderRadiusToken } from './SingleBorderRadiusToken';
+import { SingleBorderToken } from './SingleBorderToken';
+import { SingleBorderWidthToken } from './SingleBorderWidthToken';
+import { SingleBoxShadowToken } from './SingleBoxShadowToken';
+import { SingleColorToken } from './SingleColorToken';
+import { SingleCompositionToken } from './SingleCompositionToken';
+import { SingleDimensionToken } from './SingleDimensionToken';
+import { SingleFontFamiliesToken } from './SingleFontFamiliesToken';
+import { SingleFontSizesToken } from './SingleFontSizesToken';
+import { SingleFontWeightsToken } from './SingleFontWeightsToken';
+import { SingleLetterSpacingToken } from './SingleLetterSpacingToken';
+import { SingleLineHeightsToken } from './SingleLineHeightsToken';
+import { SingleOpacityToken } from './SingleOpacityToken';
+import { SingleOtherToken } from './SingleOtherToken';
+import { SingleParagraphSpacingToken } from './SingleParagraphSpacingToken';
+import { SingleSpacingToken } from './SingleSpacingToken';
+import { SingleTextCaseToken } from './SingleTextCaseToken';
+import { SingleTextDecorationToken } from './SingleTextDecorationToken';
+import { SingleTextToken } from './SingleTextToken';
+import { SingleBooleanToken } from './SingleBooleanToken';
+import { SingleToken } from './SingleToken';
+import { SingleTypographyToken } from './SingleTypographyToken';
+import { SingleNumberToken } from './SingleNumberToken';
+import type { TokenTypeSchema } from './TokenTypeSchema';
+ 
+type EditTokenObjectProperties = {
+  initialName: string;
+  status: EditTokenFormStatus;
+  schema: TokenTypeSchema;
+};
+ 
+type PartialExceptTypeAndSchema<Named extends boolean, T extends SingleToken<Named>> = { type: T['type']; schema: EditTokenObjectProperties['schema'] } & Partial<Omit<T, 'type' | 'schema'>>;
+ 
+export type EditTokenObject<Named extends boolean = true> =
+PartialExceptTypeAndSchema<Named, SingleColorToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleBorderRadiusToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleTextToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleTypographyToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleOpacityToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleBorderWidthToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleBoxShadowToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleFontFamiliesToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleFontWeightsToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleLineHeightsToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleLetterSpacingToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleFontSizesToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleParagraphSpacingToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleTextDecorationToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleTextCaseToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleSpacingToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleOtherToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleCompositionToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleDimensionToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleBorderToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleBooleanToken<Named, EditTokenObjectProperties>>
+| PartialExceptTypeAndSchema<Named, SingleNumberToken<Named, EditTokenObjectProperties>>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html new file mode 100644 index 000000000..86d3eb33a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/types/tokens/ImportToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens ImportToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { SingleToken } from './SingleToken';
+ 
+export type ImportToken<Named extends boolean = true> = SingleToken<Named, {
+  importType?: 'NEW' | 'UPDATE' | 'REMOVE'
+  parent?: string
+}>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html new file mode 100644 index 000000000..74fbcec5f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleAssetToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleAssetToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleAssetToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.ASSET, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html new file mode 100644 index 000000000..cc117eb6e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleBooleanToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleBooleanToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleBooleanToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BOOLEAN, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html new file mode 100644 index 000000000..acec86409 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleBorderRadiusToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleBorderRadiusToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleBorderRadiusToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BORDER_RADIUS, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html new file mode 100644 index 000000000..342491dd8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/types/tokens/SingleBorderToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleBorderToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenBorderValue } from '../values';
+import { SingleGenericToken } from './SingleGenericToken';
+import { TokenInJSON } from '@/utils/convertTokens';
+ 
+export type SingleBorderToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BORDER, TokenBorderValue, Named, P>;
+export type SingleBorderTokenInJSON = TokenInJSON<TokenTypes.BORDER, TokenBorderValue | string>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html new file mode 100644 index 000000000..e8e5dc17a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleBorderWidthToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleBorderWidthToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleBorderWidthToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BORDER_WIDTH, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html new file mode 100644 index 000000000..810834283 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/types/tokens/SingleBoxShadowToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleBoxShadowToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenBoxshadowValue } from '../values';
+import { SingleGenericToken } from './SingleGenericToken';
+import { TokenInJSON } from '@/utils/convertTokens';
+ 
+export type SingleBoxShadowToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BOX_SHADOW, (
+  TokenBoxshadowValue | TokenBoxshadowValue[] | string
+), Named, P>;
+ 
+export type SingleBoxShadowTokenInJSON = TokenInJSON<TokenTypes.BOX_SHADOW, TokenBoxshadowValue | TokenBoxshadowValue[] | string>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html new file mode 100644 index 000000000..16aa94d6b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleColorToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleColorToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleColorToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.COLOR, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html new file mode 100644 index 000000000..8133dcc24 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/types/tokens/SingleCompositionToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleCompositionToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { CompositionTokenValue } from '../CompositionTokenProperty';
+import { SingleGenericToken } from './SingleGenericToken';
+import { TokenInJSON } from '@/utils/convertTokens';
+ 
+export type SingleCompositionToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.COMPOSITION, CompositionTokenValue, Named, P>;
+export type SingleCompositionTokenInJSON = TokenInJSON<TokenTypes.COMPOSITION, CompositionTokenValue | string>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html new file mode 100644 index 000000000..d2016818f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleDimensionToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleDimensionToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleDimensionToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.DIMENSION, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html new file mode 100644 index 000000000..54acb204c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleFontFamiliesToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleFontFamiliesToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleFontFamiliesToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.FONT_FAMILIES, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html new file mode 100644 index 000000000..1c4ae4057 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleFontSizesToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleFontSizesToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleFontSizesToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.FONT_SIZES, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html new file mode 100644 index 000000000..9f70b4894 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleFontWeightsToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleFontWeightsToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleFontWeightsToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.FONT_WEIGHTS, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html new file mode 100644 index 000000000..9a367afc2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/types/tokens/SingleGenericToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleGenericToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { ColorModifier } from '../Modifier';
+ 
+export type SingleGenericToken<T extends TokenTypes, V = string, Named extends boolean = true, P = unknown> = {
+  type: T;
+  value: V;
+  rawValue?: V;
+  resolvedValueWithReferences?: V;
+  description?: string;
+  oldDescription?: string;
+  oldValue?: V;
+  internal__Parent?: string;
+  inheritTypeLevel?: number;
+  $extensions?: {
+    [key: string]: any;
+    'studio.tokens'?: {
+      [key: string]: any;
+      id?: string;
+      modify?: ColorModifier;
+      urn?: string;
+    },
+    id?: string;
+  }
+} & (Named extends true ? {
+  name: string;
+} : {
+  name?: string;
+}) & P;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html new file mode 100644 index 000000000..e6258497d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleLetterSpacingToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleLetterSpacingToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleLetterSpacingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.LETTER_SPACING, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html new file mode 100644 index 000000000..ee619fa01 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleLineHeightsToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleLineHeightsToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleLineHeightsToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.LINE_HEIGHTS, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html new file mode 100644 index 000000000..15449f506 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleNumberToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleNumberToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleNumberToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.NUMBER, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html new file mode 100644 index 000000000..193c971af --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleOpacityToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleOpacityToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleOpacityToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.OPACITY, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html new file mode 100644 index 000000000..2a8736324 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleOtherToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleOtherToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleOtherToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.OTHER, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html new file mode 100644 index 000000000..e29224b5c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleParagraphSpacingToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleParagraphSpacingToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleParagraphSpacingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.PARAGRAPH_SPACING, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html new file mode 100644 index 000000000..70df2a663 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleSizingToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleSizingToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleSizingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.SIZING, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html new file mode 100644 index 000000000..ca444e262 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/SingleSpacingToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleSpacingToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleSpacingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.SPACING, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html new file mode 100644 index 000000000..ea185ed3f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/tokens/SingleTextCaseToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleTextCaseToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenTextCaseValue } from '../values';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleTextCaseToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.TEXT_CASE, TokenTextCaseValue, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html new file mode 100644 index 000000000..30e856042 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/tokens/SingleTextDecorationToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleTextDecorationToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenTextDecorationValue } from '../values';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+export type SingleTextDecorationToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.TEXT_DECORATION, TokenTextDecorationValue, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html new file mode 100644 index 000000000..7b16fd074 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/tokens/SingleTextToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleTextToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleGenericToken } from './SingleGenericToken';
+ 
+// @TODO remove text type token if not used anymore
+export type SingleTextToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.TEXT, string, Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html new file mode 100644 index 000000000..a412e113a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/types/tokens/SingleToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleBooleanToken } from './SingleBooleanToken';
+import { SingleColorToken } from './SingleColorToken';
+import { SingleBorderRadiusToken } from './SingleBorderRadiusToken';
+import { SingleTextToken } from './SingleTextToken';
+import { SingleSpacingToken } from './SingleSpacingToken';
+import { SingleTypographyToken } from './SingleTypographyToken';
+import { SingleOpacityToken } from './SingleOpacityToken';
+import { SingleBorderWidthToken } from './SingleBorderWidthToken';
+import { SingleBoxShadowToken } from './SingleBoxShadowToken';
+import { SingleFontFamiliesToken } from './SingleFontFamiliesToken';
+import { SingleFontWeightsToken } from './SingleFontWeightsToken';
+import { SingleLineHeightsToken } from './SingleLineHeightsToken';
+import { SingleLetterSpacingToken } from './SingleLetterSpacingToken';
+import { SingleFontSizesToken } from './SingleFontSizesToken';
+import { SingleParagraphSpacingToken } from './SingleParagraphSpacingToken';
+import { SingleTextDecorationToken } from './SingleTextDecorationToken';
+import { SingleTextCaseToken } from './SingleTextCaseToken';
+import { SingleOtherToken } from './SingleOtherToken';
+import { SingleCompositionToken } from './SingleCompositionToken';
+import { SingleDimensionToken } from './SingleDimensionToken';
+import { SingleBorderToken } from './SingleBorderToken';
+import { SingleAssetToken } from './SingleAssetToken';
+import { SingleSizingToken } from './SingleSizingToken';
+import { SingleNumberToken } from './SingleNumberToken';
+ 
+export type SingleToken<Named extends boolean = true, P = unknown> =
+  SingleColorToken<Named, P>
+  | SingleBorderRadiusToken<Named, P>
+  | SingleTextToken<Named, P>
+  | SingleTypographyToken<Named, P>
+  | SingleOpacityToken<Named, P>
+  | SingleBorderWidthToken<Named, P>
+  | SingleBoxShadowToken<Named, P>
+  | SingleFontFamiliesToken<Named, P>
+  | SingleFontWeightsToken<Named, P>
+  | SingleLineHeightsToken<Named, P>
+  | SingleLetterSpacingToken<Named, P>
+  | SingleFontSizesToken<Named, P>
+  | SingleParagraphSpacingToken<Named, P>
+  | SingleTextDecorationToken<Named, P>
+  | SingleTextCaseToken<Named, P>
+  | SingleSpacingToken<Named, P>
+  | SingleSizingToken<Named, P>
+  | SingleOtherToken<Named, P>
+  | SingleBorderToken<Named, P>
+  | SingleCompositionToken<Named, P>
+  | SingleCompositionToken<Named, P>
+  | SingleDimensionToken<Named, P>
+  | SingleAssetToken<Named, P>
+  | SingleBooleanToken<Named, P>
+  | SingleNumberToken<Named, P>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html new file mode 100644 index 000000000..6776f1183 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/types/tokens/SingleTypographyToken.ts + + + + + + + + + +
+
+

All files / src/types/tokens SingleTypographyToken.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenTypographyValue } from '../values';
+import { SingleGenericToken } from './SingleGenericToken';
+import { TokenInJSON } from '@/utils/convertTokens';
+ 
+export type SingleTypographyToken<Named extends boolean = true, P = unknown> = SingleGenericToken<
+TokenTypes.TYPOGRAPHY,
+TokenTypographyValue | string,
+Named,
+P
+>;
+ 
+export type SingleTypographyTokenInJSON = TokenInJSON<TokenTypes.TYPOGRAPHY, TokenTypographyValue | string>;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html new file mode 100644 index 000000000..7f778cc08 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/types/tokens/TokenToRename.ts + + + + + + + + + +
+
+

All files / src/types/tokens TokenToRename.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export type TokenToRename = {
+  oldName: string;
+  newName: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html new file mode 100644 index 000000000..e568b0ffe --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/types/tokens/TokenTypeSchema.ts + + + + + + + + + +
+
+

All files / src/types/tokens TokenTypeSchema.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+ 
+interface StringSchemaType { type: 'string' }
+interface ObjectSchemaType {
+  type: 'object'
+  properties: Record<string, StringSchemaType | ObjectSchemaType>
+}
+ 
+export type TokenTypeSchema = {
+  label: string;
+  property: string;
+  type: TokenTypes;
+  explainer?: string;
+  help?: string;
+  isPro?: boolean;
+  schemas: {
+    value: ObjectSchemaType;
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html new file mode 100644 index 000000000..22b4166d0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/types/tokens/TokenValues.ts + + + + + + + + + +
+
+

All files / src/types/tokens TokenValues.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { AnyTokenList } from './AnyTokenList';
+ 
+export type TokenValues = {
+  // @README these could be different themes or sets of tokens
+  values: Record<string, AnyTokenList>
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html new file mode 100644 index 000000000..017be742e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/types/tokens/TokensStore.ts + + + + + + + + + +
+
+

All files / src/types/tokens TokensStore.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageType } from '../StorageType';
+import { ThemeObjectsList } from '../ThemeObjectsList';
+import { UsedTokenSetsMap } from '../UsedTokenSetsMap';
+import { AnyTokenList } from './AnyTokenList';
+ 
+export type TokenStore = {
+  version: string;
+  updatedAt: string;
+  // @README these could be different themes or sets of tokens
+  values: Record<string, AnyTokenList>;
+  usedTokenSet?: UsedTokenSetsMap | null;
+  checkForChanges?: boolean | null;
+  activeTheme: Record<string, string>;
+  themes: ThemeObjectsList;
+  storageType?: StorageType;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html new file mode 100644 index 000000000..08b899ff4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/types/tokens/TokensStoreValuesSet.ts + + + + + + + + + +
+
+

All files / src/types/tokens TokensStoreValuesSet.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import { AnyTokenSet } from './AnyTokenSet';
+import { AnyTokenList } from './AnyTokenList';
+ 
+// @TODO not sure what this should be / where this is to be used
+export type TokensStoreValuesSet = {
+  type: 'array'
+  values: AnyTokenList
+} | {
+  type: 'object'
+  values: AnyTokenSet
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html new file mode 100644 index 000000000..f52f6ae36 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html @@ -0,0 +1,656 @@ + + + + + + Code coverage report for src/types/tokens + + + + + + + + + +
+
+

All files src/types/tokens

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
AnyTokenList.ts +
+
0%0/00%0/00%0/00%0/0
AnyTokenSet.ts +
+
0%0/00%0/00%0/00%0/0
DeepKeyTokenMap.ts +
+
0%0/00%0/00%0/00%0/0
EditTokenObject.ts +
+
0%0/00%0/00%0/00%0/0
ImportToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleAssetToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleBooleanToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleBorderRadiusToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleBorderToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleBorderWidthToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleBoxShadowToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleColorToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleCompositionToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleDimensionToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleFontFamiliesToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleFontSizesToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleFontWeightsToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleGenericToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleLetterSpacingToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleLineHeightsToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleNumberToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleOpacityToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleOtherToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleParagraphSpacingToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleSizingToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleSpacingToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleTextCaseToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleTextDecorationToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleTextToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleToken.ts +
+
0%0/00%0/00%0/00%0/0
SingleTypographyToken.ts +
+
0%0/00%0/00%0/00%0/0
TokenToRename.ts +
+
0%0/00%0/00%0/00%0/0
TokenTypeSchema.ts +
+
0%0/00%0/00%0/00%0/0
TokenValues.ts +
+
0%0/00%0/00%0/00%0/0
TokensStore.ts +
+
0%0/00%0/00%0/00%0/0
TokensStoreValuesSet.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html new file mode 100644 index 000000000..6887159ec --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/types/tokens/index.ts + + + + + + + + + +
+
+

All files / src/types/tokens index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './TokenTypeSchema';
+export * from './SingleGenericToken';
+export * from './SingleColorToken';
+export * from './SingleBorderRadiusToken';
+export * from './SingleTextToken';
+export * from './SingleTypographyToken';
+export * from './SingleOpacityToken';
+export * from './SingleSpacingToken';
+export * from './SingleBorderWidthToken';
+export * from './SingleBoxShadowToken';
+export * from './SingleFontFamiliesToken';
+export * from './SingleFontWeightsToken';
+export * from './SingleLineHeightsToken';
+export * from './SingleLetterSpacingToken';
+export * from './SingleFontSizesToken';
+export * from './SingleParagraphSpacingToken';
+export * from './SingleTextDecorationToken';
+export * from './SingleTextCaseToken';
+export * from './SingleSizingToken';
+export * from './SingleOtherToken';
+export * from './SingleToken';
+export * from './AnyTokenSet';
+export * from './AnyTokenList';
+export * from './TokensStoreValuesSet';
+export * from './TokensStore';
+export * from './TokenValues';
+export * from './DeepKeyTokenMap';
+export * from './SingleCompositionToken';
+export * from './ImportToken';
+export * from './EditTokenObject';
+export * from './SingleDimensionToken';
+export * from './SingleBorderToken';
+export * from './SingleAssetToken';
+export * from './SingleBooleanToken';
+export * from './SingleNumberToken';
+export * from './TokenToRename';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html new file mode 100644 index 000000000..2987ab24b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/userData.ts + + + + + + + + + +
+
+

All files / src/types userData.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type UserData = {
+  userId?:string | null;
+  licenseKey?: string | null;
+  userName?: string | null;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html new file mode 100644 index 000000000..bd1a4d6bb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/types/valueTypes.ts + + + + + + + + + +
+
+

All files / src/types valueTypes.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
export type ColorRgba = {
+  r: number;
+  g: number;
+  b: number;
+  a?: number;
+};
+ 
+export type ColorHsla = {
+  h: number;
+  s: number;
+  l: number;
+  a?: number;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html new file mode 100644 index 000000000..41cd1236a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/values/TokenBorderValue.ts + + + + + + + + + +
+
+

All files / src/types/values TokenBorderValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export type TokenBorderValue = {
+  color?: string;
+  width?: string;
+  style?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html new file mode 100644 index 000000000..6c6cf586d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/types/values/TokenBoxShadowValue.ts + + + + + + + + + +
+
+

All files / src/types/values TokenBoxShadowValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
+ 
+export type TokenBoxshadowValue = {
+  color: string;
+  type: BoxShadowTypes;
+  x: string | number;
+  y: string | number;
+  blur: string | number;
+  spread: string | number;
+  blendMode?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html new file mode 100644 index 000000000..7fcda523a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/types/values/TokenTextCaseValue.ts + + + + + + + + + +
+
+

All files / src/types/values TokenTextCaseValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
export type TokenTextCaseValue =
+  'uppercase'
+  | 'upper'
+  | 'lowercase'
+  | 'lower'
+  | 'capitalize'
+  | 'title'
+  | 'small-caps'
+  | 'small_caps'
+  | 'all-small-caps'
+  | 'small_caps_forced'
+  | 'none';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html new file mode 100644 index 000000000..986d6c65a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/types/values/TokenTextDecorationValue.ts + + + + + + + + + +
+
+

All files / src/types/values TokenTextDecorationValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export type TokenTextDecorationValue = 'none' | 'underline' | 'line-through' | 'strikethrough';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html new file mode 100644 index 000000000..1155ac3e2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/types/values/TokenTypographyValue.ts + + + + + + + + + +
+
+

All files / src/types/values TokenTypographyValue.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
export type TokenTypographyValue = {
+  fontFamily?: string;
+  fontWeight?: string;
+  fontSize?: string;
+  lineHeight?: string | number;
+  letterSpacing?: string;
+  paragraphSpacing?: string;
+  paragraphIndent?: string;
+  textCase?: string;
+  textDecoration?: string;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html new file mode 100644 index 000000000..9f991a208 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/types/values + + + + + + + + + +
+
+

All files src/types/values

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
TokenBorderValue.ts +
+
0%0/00%0/00%0/00%0/0
TokenBoxShadowValue.ts +
+
0%0/00%0/00%0/00%0/0
TokenTextCaseValue.ts +
+
0%0/00%0/00%0/00%0/0
TokenTextDecorationValue.ts +
+
0%0/00%0/00%0/00%0/0
TokenTypographyValue.ts +
+
0%0/00%0/00%0/00%0/0
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html new file mode 100644 index 000000000..f0e14b008 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/types/values/index.ts + + + + + + + + + +
+
+

All files / src/types/values index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
export * from './TokenTypographyValue';
+export * from './TokenBoxShadowValue';
+export * from './TokenTextDecorationValue';
+export * from './TokenTextCaseValue';
+export * from './TokenBorderValue';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html new file mode 100644 index 000000000..7cb1df3cb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html @@ -0,0 +1,1087 @@ + + + + + + Code coverage report for src/utils/TokenResolver.ts + + + + + + + + + +
+
+

All files / src/utils TokenResolver.ts

+
+ +
+ 0% + Statements + 0/130 +
+ + +
+ 0% + Branches + 0/115 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/129 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { dump } from 'js-yaml';
+import { SingleToken } from '@/types/tokens';
+import { TokenMap } from '../types/TokenMap';
+ 
+import { AliasRegex } from '@/constants/AliasRegex';
+import { checkAndEvaluateMath } from './math';
+import { convertToRgb } from './color';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { convertModifiedColorToHex } from './convertModifiedColorToHex';
+import { getPathName } from './getPathName';
+import { ResolveTokenValuesResult } from './tokenHelpers';
+ 
+class TokenResolver {
+  public tokens: SingleToken[];
+ 
+  public tokenMap: TokenMap;
+ 
+  public memo: Map<string, ResolveTokenValuesResult>;
+ 
+  constructor(tokens: SingleToken[]) {
+    this.tokens = tokens;
+    this.tokenMap = new Map();
+    this.memo = new Map();
+ 
+    this.populateTokenMap();
+  }
+ 
+  // Set tokens and populate token map
+  private populateTokenMap(): void {
+    for (const token of this.tokens) {
+      this.tokenMap.set(token.name, token);
+    }
+  }
+ 
+  // When we get new tokens, we need to update the token map
+  public setTokens(tokens: SingleToken[]): ResolveTokenValuesResult[] {
+    this.tokens = tokens;
+    this.tokenMap = new Map();
+    this.memo = new Map();
+    this.populateTokenMap();
+ 
+    return this.resolveTokenValues();
+  }
+ 
+  // Initial function to iterate over all tokens and resolve references
+  public resolveTokenValues(): ResolveTokenValuesResult[] {
+    const resolvedTokens: ResolveTokenValuesResult[] = [];
+ 
+    for (const token of this.tokens) {
+      const resolvedValue = this.resolveReferences(token);
+      if (typeof resolvedValue.value === 'string' && AliasRegex.test(resolvedValue.value)) {
+        resolvedValue.failedToResolve = true;
+      }
+      resolvedTokens.push({
+        ...resolvedValue,
+        rawValue: token.value,
+      } as ResolveTokenValuesResult);
+    }
+ 
+    return resolvedTokens;
+  }
+ 
+  private isExponentialAndZero(str: string): boolean {
+    const regex = /^[+-]?\d*\.?\d+([eE][+-]?\d+)?$/;
+    const numericRegex = /^[+-]?\d*\.?\d+$/;
+ 
+    // Needs to be more than a single zero otherwise "0" will get evaluated incorrectly
+    const allZerosRegex = /^00+$/;
+    const leadingZerosRegex = /^0+[1-9]\d*$/;
+ 
+    return (regex.test(str) && !numericRegex.test(str)) || (allZerosRegex.test(str) || leadingZerosRegex.test(str));
+  }
+ 
+  // When we resolve references, we also need to calculate the value of the token, meaning color and math transformations
+  private calculateTokenValue(token: SingleToken, resolvedReferences: Set<string> = new Set()): SingleToken['value'] | undefined {
+    // Calculations only happen on strings.
+    if (typeof token.value === 'string') {
+      const couldBeNumberValue = !this.isExponentialAndZero(token.value) ? checkAndEvaluateMath(token.value) : token.value;
+ 
+      // if it's a number, we don't need to do anything else and can return it
+      if (typeof couldBeNumberValue === 'number') {
+        return couldBeNumberValue as SingleToken['value'];
+      }
+ 
+      // Transform non-conform colors such as rgba({color}, 0.5) to hex
+      const rgbColor = convertToRgb(couldBeNumberValue);
+ 
+      // If we have a color modifier, we need to apply it. As we need chained resolution to happen, this needs to be done here.
+      if (typeof token === 'object' && token?.$extensions?.['studio.tokens']?.modify && rgbColor) {
+        if (token?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX) {
+          // As we support references in color modifiers, we need to resolve them.
+          return convertModifiedColorToHex(rgbColor, {
+            ...token.$extensions?.['studio.tokens']?.modify,
+            value: String(this.resolveReferences({ value: token?.$extensions?.['studio.tokens']?.modify?.value } as SingleToken, resolvedReferences)?.value),
+            color: String(this.resolveReferences({ value: token?.$extensions?.['studio.tokens']?.modify?.color } as SingleToken, resolvedReferences)?.value) ?? undefined,
+          });
+        }
+ 
+        return convertModifiedColorToHex(rgbColor, {
+          ...token.$extensions?.['studio.tokens']?.modify,
+          value: String(this.resolveReferences({ value: token?.$extensions?.['studio.tokens']?.modify?.value } as SingleToken, resolvedReferences)?.value),
+        });
+      }
+      // If we don't have a color modifier, we can just return the color
+      return rgbColor;
+    }
+ 
+    // If it's not a string we just return the value.
+    return token.value;
+  }
+ 
+  public resolveReferences(token: SingleToken, resolvedReferences: Set<string> = new Set()): ResolveTokenValuesResult {
+    // We use the name as the memo key, if it exists
+    const memoKey = token.name || undefined;
+ 
+    // If we have a cache hit, we can return it
+    if (memoKey && this.memo.has(memoKey)) {
+      const cacheResult = this.memo.get(memoKey);
+      if (cacheResult) {
+        return cacheResult;
+      }
+    }
+ 
+    let foundToken;
+ 
+    // For strings, we need to check if there are any references, as those can only occur in strings
+    if (typeof token.value === 'string') {
+      const references = token.value.toString().match(AliasRegex) || [];
+ 
+      let finalValue: SingleToken['value'] = token.value;
+      let resolvedValueWithReferences: SingleToken['value'] | undefined;
+ 
+      // Resolve every reference, there could be more than 1, as in "{color.primary} {color.secondary}"
+      for (const reference of references) {
+        const path = getPathName(reference);
+ 
+        // We need to avoid circular references, so we check if we already resolved this reference
+        if (resolvedReferences.has(path)) {
+          return {
+            ...token,
+            rawValue: token.value,
+            failedToResolve: true,
+          } as ResolveTokenValuesResult;
+        }
+ 
+        // Users can nest references, so we need to make sure to resolve any nested references first.
+        let resolvedPath = path;
+        let matches: boolean = true;
+ 
+        // As long as we have matches, we need to resolve them. This is needed for multiple levels of nesting. Performance will suffer, but that's the user's choice.
+        while (matches !== false) {
+          const match = resolvedPath.match(AliasRegex);
+          matches = Boolean(match?.length);
+          if (!match?.length) break;
+ 
+          const nestedTokenName = getPathName(match[0]);
+          const nestedToken = this.tokenMap.get(nestedTokenName);
+ 
+          if (nestedToken && nestedToken.value) {
+            const resolvedNestedToken = this.resolveReferences({ ...nestedToken, name: nestedTokenName } as SingleToken, new Set(resolvedReferences));
+ 
+            if (typeof resolvedNestedToken.value === 'string' || typeof resolvedNestedToken.value === 'number') {
+              resolvedPath = resolvedPath.replace(match[0], resolvedNestedToken.value);
+            }
+          } else {
+            break;
+          }
+        }
+ 
+        // We have the special case of deep references where we can reference the .fontFamily property of a typography token.
+        // For that case, we need to split the path and get the last part, which might be the property name.
+        // However, it might not be. If we have a token called "color.primary" and we reference "color.primary.fontFamily", we need to check if "color.primary" exists. If it does, we prefer to return that one.
+        // If it doesn't it might be a composite token where we want to return the atomic property
+        const propertyPath = resolvedPath.split('.');
+        const propertyName = propertyPath.pop() as string;
+        const tokenNameWithoutLastPart = propertyPath.join('.');
+        foundToken = this.tokenMap.get(resolvedPath);
+ 
+        if (foundToken) {
+          // For composite tokens that are being referenced, we need to store the value of the found token so that we have something between raw value of a string and the final resolved token
+          if (typeof token.value === 'string' && (typeof foundToken.value === 'object' || Array.isArray(foundToken.value))) {
+            resolvedValueWithReferences = foundToken.value;
+          }
+          // We add the already resolved references to the new set, so we can check for circular references
+          const newResolvedReferences = new Set(resolvedReferences);
+          newResolvedReferences.add(resolvedPath);
+          // We initiate a new resolveReferences call, as we need to resolve the references of the reference
+          const resolvedTokenValue = this.resolveReferences({ ...foundToken, name: resolvedPath } as SingleToken, newResolvedReferences);
+          if (resolvedTokenValue.resolvedValueWithReferences) {
+            resolvedValueWithReferences = resolvedTokenValue.resolvedValueWithReferences;
+          }
+ 
+          // We weren't able to resolve the reference, so we return the token as is, but mark it as failed to resolve
+          if (resolvedTokenValue.value === undefined) {
+            return {
+              ...token, value: token.value, rawValue: token.value, failedToResolve: true,
+            } as ResolveTokenValuesResult;
+          }
+ 
+          // We replace the reference with the resolved value if needed
+          if (typeof finalValue === 'string' && (typeof resolvedTokenValue.value === 'string' || typeof resolvedTokenValue.value === 'number')) {
+            finalValue = finalValue.replace(reference, resolvedTokenValue.value);
+          } else if (resolvedTokenValue.value !== undefined) {
+            finalValue = resolvedTokenValue.value;
+          }
+        } else {
+          // If we didn't find a value, we need to check if we have a composite token
+          const tokenValueWithoutProperty = this.tokenMap.get(tokenNameWithoutLastPart)?.value;
+          if (tokenValueWithoutProperty && tokenValueWithoutProperty.hasOwnProperty(propertyName)) {
+            const propertyTokenValue = (tokenValueWithoutProperty as Record<string, unknown>)[propertyName];
+            const parsedValue = this.calculateTokenValue({ value: propertyTokenValue } as SingleToken, resolvedReferences);
+ 
+            if (parsedValue === undefined) {
+              finalValue = token.value;
+            } else {
+              finalValue = (typeof finalValue === 'string' && (typeof parsedValue === 'string' || typeof parsedValue === 'number')) ? finalValue.replace(reference, parsedValue) : parsedValue;
+            }
+          } else {
+            // Otherwise, we return the token as is, but mark it as failed to resolve
+            return {
+              ...token, value: token.value, rawValue: token.value, failedToResolve: true,
+            } as ResolveTokenValuesResult;
+          }
+        }
+      }
+ 
+      let resolvedToken: ResolveTokenValuesResult;
+      // When we have a string or number, we need to check if it's a valid token value.
+      if ((typeof finalValue === 'string' || typeof finalValue === 'number') && !AliasRegex.test(finalValue)) {
+        // We need to calculate the value of the token, as it might be a color or math transformation
+        // eslint-disable-next-line @typescript-eslint/no-use-before-define
+        const calculated = this.calculateTokenValue({ ...token, value: finalValue } as SingleToken, resolvedReferences);
+        if (calculated === undefined) {
+          resolvedToken = token;
+        } else {
+          resolvedToken = { ...token, value: calculated } as ResolveTokenValuesResult;
+        }
+      } else {
+        // If it's not, we mark it as failed to resolve
+        const yamlString = dump(finalValue);
+ 
+        const hasFailingReferences = AliasRegex.test(yamlString);
+ 
+        // We combine the values, add the failing reference indicator.
+        // Also, if the originating reference is a string but the resolved value is a composite, we need to add the specific value of the composite token
+        // This is needed for cases like border tokens referencing other border tokens where we want to return the raw value of the border color so we can assign styles or variables.
+        resolvedToken = {
+          ...token, value: finalValue, rawValue: token.value, ...(hasFailingReferences ? { failedToResolve: true } : {}), ...(typeof resolvedValueWithReferences !== 'undefined' ? { resolvedValueWithReferences } : {}),
+        } as ResolveTokenValuesResult;
+      }
+ 
+      // When we have a string, we store the result in cache
+      if (typeof memoKey === 'string') {
+        this.memo.set(memoKey, resolvedToken);
+      }
+ 
+      // And then return it
+      return resolvedToken as ResolveTokenValuesResult;
+    }
+ 
+    // Shadow tokens can be of type array, so we need to resolve those too
+    if (Array.isArray(token.value)) {
+      const resolvedArray: any[] = [];
+ 
+      let failedToResolve = false;
+      for (const item of token.value) {
+        // We resolve each individual item, as it might be a reference
+        const resolvedItem = this.resolveReferences({ value: item } as SingleToken, resolvedReferences);
+        if (resolvedItem.failedToResolve) {
+          failedToResolve = true;
+        }
+ 
+        resolvedArray.push(resolvedItem.value);
+      }
+ 
+      // We bring back the resolved array into the token object, and set failedToResolve on the token if needed
+      const resolvedToken = {
+        ...token, value: resolvedArray, rawValue: token.value, ...(failedToResolve ? { failedToResolve } : {}),
+      } as ResolveTokenValuesResult;
+      // We save back to cache
+      if (typeof memoKey === 'string') {
+        this.memo.set(memoKey, resolvedToken);
+      }
+ 
+      resolvedToken.resolvedValueWithReferences = token.value;
+ 
+      return resolvedToken;
+    }
+ 
+    // If we have an object (typography, border, shadow, compositions), we need to resolve each property
+    if (typeof token.value === 'object' && token.value !== null) {
+      const resolvedObject: { [key: string]: any } = {};
+ 
+      let failedToResolve = false;
+      for (const key of Object.keys(token.value)) {
+        if (Object.prototype.hasOwnProperty.call(token.value, key)) {
+          const propertyTokenValue = (token.value as Record<string, unknown>)[key];
+          const resolvedValue = this.resolveReferences({ value: propertyTokenValue } as SingleToken, resolvedReferences);
+ 
+          if (resolvedValue.failedToResolve) {
+            failedToResolve = true;
+          }
+          // Note: This is technically incorrect. We should not be expecting this, but we need to mark those tokens that are referencing an object even though they should be expecting a string as invalid, e only have failedToResolve today. See https://github.com/tokens-studio/figma-plugin/issues/2450
+          if (typeof resolvedValue.value === 'object' && key in resolvedValue.value) {
+            failedToResolve = true;
+          }
+          resolvedObject[key] = resolvedValue.value;
+        }
+      }
+ 
+      const resolvedToken = { ...token, value: resolvedObject, ...(failedToResolve ? { failedToResolve } : {}) } as ResolveTokenValuesResult;
+      // If we have a value, we set it back to cache
+      if (typeof memoKey === 'string') {
+        this.memo.set(memoKey, resolvedToken);
+      }
+ 
+      // For all composite tokens we add the resolved value with references to the token.
+      // technically for composites this is not needed, but then we can rely on this one property to contain the original value
+      resolvedToken.resolvedValueWithReferences = token.value;
+ 
+      return resolvedToken;
+    }
+ 
+    return token;
+  }
+ 
+  public get(tokenName: string): SingleToken | undefined {
+    return this.tokenMap.get(tokenName);
+  }
+}
+ 
+const defaultTokenResolver = new TokenResolver([]);
+ 
+export { defaultTokenResolver };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html new file mode 100644 index 000000000..6427d82de --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/utils/addIdPropertyToTokens.ts + + + + + + + + + +
+
+

All files / src/utils addIdPropertyToTokens.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { v4 as uuidv4 } from 'uuid';
+import { AnyTokenList } from '@/types/tokens';
+import validateStudioTokensExtensions from './validateStudioTokensExtensions';
+ 
+export default function addIdPropertyToTokens(tokens: Record<string, AnyTokenList>) {
+  const tokenObj = Object.entries(tokens).reduce<Record<string, AnyTokenList>>((acc, [key, val]) => {
+    const newTokenList = val.map((token) => {
+      if (typeof token.$extensions?.['studio.tokens']?.id === 'undefined') {
+        const studioTokensExtension = validateStudioTokensExtensions(token);
+        const extensionsObj = {
+          ...token.$extensions,
+          'studio.tokens': {
+            ...studioTokensExtension,
+            id: uuidv4(),
+          },
+        };
+        return {
+          ...token,
+          // Only when extensions obj is not empty do we set it again
+          ...(Object.entries(extensionsObj).length > 0 ? {
+            $extensions: {
+              ...token.$extensions,
+              'studio.tokens': {
+                ...studioTokensExtension,
+                id: uuidv4(),
+              },
+            },
+          } : {}),
+        };
+      }
+      return token;
+    });
+    acc[key] = newTokenList;
+    return acc;
+  }, {});
+ 
+  return tokenObj;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html new file mode 100644 index 000000000..72a8ee384 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/utils/addLicenseKey.ts + + + + + + + + + +
+
+

All files / src/utils addLicenseKey.ts

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Dispatch } from '@/app/store';
+import { AddLicenseSource } from '@/app/store/models/userState';
+import { LicenseStatus } from '@/constants/LicenseStatus';
+import validateLicense from './validateLicense';
+import { notifyToUI } from '@/plugin/notifiers';
+import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export async function addLicenseKey(dispatch: Dispatch, payload: { key: string; source: AddLicenseSource }, user: {
+  userId: string | null;
+  userName?: string;
+}) {
+  dispatch.userState.setLicenseStatus(LicenseStatus.VERIFYING);
+ 
+  const { userId, userName } = user;
+  const { key, source } = payload;
+ 
+  const {
+    error, plan, email: clientEmail, entitlements,
+  } = await validateLicense(key, userId, userName);
+ 
+  if (error) {
+    dispatch.userState.setLicenseStatus(LicenseStatus.ERROR);
+    dispatch.userState.setLicenseError(error);
+    if (source === AddLicenseSource.INITAL_LOAD) {
+      notifyToUI('License key invalid, please check your Settings', { error: true });
+    }
+  } else {
+    // clear errors when license validation is succesfull
+    dispatch.userState.setLicenseError(undefined);
+    dispatch.userState.setLicenseDetails({
+      plan,
+      clientEmail,
+      entitlements: [...new Set(entitlements)],
+    });
+    dispatch.userState.setLicenseStatus(LicenseStatus.VERIFIED);
+ 
+    if (source === AddLicenseSource.UI) {
+      notifyToUI('License added succesfully!');
+      dispatch.userState.setLicenseKey(key);
+    }
+ 
+    AsyncMessageChannel.ReactInstance.message({
+      type: AsyncMessageTypes.SET_LICENSE_KEY,
+      licenseKey: key,
+    });
+  }
+  dispatch.userState.setLicenseKey(key);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html new file mode 100644 index 000000000..8dc18abe9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/utils/alias/checkCanReferenceVariable.tsx + + + + + + + + + +
+
+

All files / src/utils/alias checkCanReferenceVariable.tsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { AliasRegex } from '@/constants/AliasRegex';
+import { UpdateTokenVariablePayload } from '@/types/payloads/UpdateTokenVariablePayload';
+import { SingleToken } from '@/types/tokens';
+ 
+export function checkCanReferenceVariable(payload: UpdateTokenVariablePayload | SingleToken<true, { path: string, variableId: string }>) {
+  return payload.rawValue?.toString().match(AliasRegex)?.length === 1 && !payload?.$extensions?.['studio.tokens']?.modify;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html new file mode 100644 index 000000000..e5724ce4d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/utils/alias/checkIfAlias.tsx + + + + + + + + + +
+
+

All files / src/utils/alias checkIfAlias.tsx

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AliasRegex } from '@/constants/AliasRegex';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+import { getAliasValue } from './getAliasValue';
+ 
+// @TODO -- removed string type logic for now
+// Checks if token is an alias token and if it has a valid reference
+export function checkIfAlias(token: SingleToken | string, allTokens: SingleToken[] = []): boolean {
+  try {
+    let aliasToken = false;
+    if (typeof token === 'string') {
+      aliasToken = Boolean(token.match(AliasRegex));
+    } else if (
+      token.type === TokenTypes.TYPOGRAPHY
+      || token.type === TokenTypes.BOX_SHADOW
+      || token.type === TokenTypes.BORDER
+    ) {
+      if (typeof token.value === 'string') {
+        aliasToken = Boolean(String(token.value).match(AliasRegex));
+      } else {
+        const arrayValue = Array.isArray(token.value) ? token.value : [token.value];
+        aliasToken = arrayValue.some((value) => Object.values(value).some((singleValue) => Boolean(singleValue?.toString().match(AliasRegex))));
+      }
+    } else if (token.type === TokenTypes.COMPOSITION) {
+      return true;
+    } else {
+      aliasToken = Boolean(token.value.toString().match(AliasRegex));
+    }
+ 
+    // Check if alias is found
+    if (aliasToken) {
+      const aliasValue = getAliasValue(token, allTokens);
+      return aliasValue != null;
+    }
+  } catch (e) {
+    console.log(`Error checking alias of token ${typeof token === 'object' ? token.name : token}`, token, allTokens, e);
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html new file mode 100644 index 000000000..85b6c23e3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/utils/alias/checkIfContainsAlias.tsx + + + + + + + + + +
+
+

All files / src/utils/alias checkIfContainsAlias.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { checkAliasStartRegex } from '@/constants/AliasRegex';
+import { SingleToken } from '@/types/tokens';
+ 
+export function checkIfContainsAlias(token?: SingleToken['value'] | number | null) {
+  if (!token) return false;
+  return Boolean(token.toString().match(checkAliasStartRegex));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html new file mode 100644 index 000000000..6d937c06c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html @@ -0,0 +1,631 @@ + + + + + + Code coverage report for src/utils/alias/getAliasValue.ts + + + + + + + + + +
+
+

All files / src/utils/alias getAliasValue.ts

+
+ +
+ 0% + Statements + 0/66 +
+ + +
+ 0% + Branches + 0/88 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { getRootReferences, findReferences } from '../findReferences';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+import { TokenBorderValue, TokenBoxshadowValue, TokenTypographyValue } from '@/types/values';
+import { convertToRgb } from '../color';
+import { convertModifiedColorToHex } from '../convertModifiedColorToHex';
+ 
+import { isSingleTokenValueObject } from '../is';
+import { checkAndEvaluateMath } from '../math';
+import { checkIfAlias } from './checkIfAlias';
+import { isSingleInternalTokenValueObject } from '../is/isSingleInternalTokenValueObject';
+ 
+type TokenNameNodeType = string | undefined;
+ 
+function getReturnedValue(token: SingleToken | string | number) {
+  if (
+    typeof token === 'object'
+    && typeof token.value === 'object'
+    && (token?.type === TokenTypes.BOX_SHADOW
+      || token?.type === TokenTypes.TYPOGRAPHY
+      || token?.type === TokenTypes.BORDER)
+  ) {
+    return token.value;
+  }
+  if (isSingleInternalTokenValueObject(token)) {
+    return token.value.toString();
+  }
+  return token.toString();
+}
+ 
+function replaceAliasWithResolvedReference(
+  token: string | TokenTypographyValue | TokenBoxshadowValue | TokenBoxshadowValue[] | TokenBorderValue | null,
+  reference: string,
+  resolvedReference: string | number | TokenBoxshadowValue | TokenBoxshadowValue[] | Record<string, unknown> | null,
+) {
+  if (typeof resolvedReference === 'object') {
+    return resolvedReference;
+  }
+  if (token && (typeof token === 'string' || typeof token === 'number')) {
+    const stringValue = String(resolvedReference);
+    const resolved = checkAndEvaluateMath(stringValue);
+    return token.replace(reference, String(resolved));
+  }
+  return token;
+}
+ 
+export function getAliasValue(
+  token: SingleToken | string | number,
+  tokens: SingleToken[] = [],
+  isResolved: boolean = true,
+  previousCount: number = 0,
+): string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | Array<TokenBoxshadowValue> | null {
+  // Big O((n ^ 3) (n = amount of tokens)
+  let returnedValue: ReturnType<typeof getReturnedValue> | null = getReturnedValue(token);
+  try {
+    const tokenReferences: string[] | null = typeof returnedValue === 'string' ? getRootReferences(returnedValue) : null;
+    if (tokenReferences?.length) {
+      const resolvedReferences = Array.from(tokenReferences).map((ref) => {
+        if (ref.length > 1) {
+          let nameToLookFor: string;
+          if (ref.startsWith('{')) {
+            nameToLookFor = ref.slice(1, ref.length - 1);
+          } else {
+            nameToLookFor = ref.substring(1);
+          }
+          if ((typeof token === 'object' && nameToLookFor === token.name) || nameToLookFor === token) {
+            return isSingleTokenValueObject(token) ? token.value.toString() : token.toString();
+          }
+          const nameToLookForReferences = getRootReferences(nameToLookFor);
+          if (nameToLookForReferences?.length) {
+            nameToLookFor = String(getAliasValue(nameToLookFor, tokens, isResolved, previousCount));
+          }
+ 
+          const tokenAliasSplitted = nameToLookFor.split('.');
+          const tokenAliasSplittedLast: TokenNameNodeType = tokenAliasSplitted.pop();
+          const tokenAliasLastExcluded = tokenAliasSplitted.join('.');
+          const tokenAliasSplittedLastPrevious: number = Number(tokenAliasSplitted.pop());
+          const tokenAliasLastPreviousExcluded = tokenAliasSplitted.join('.');
+          const foundToken = tokens.find(
+            (t) => t.name === nameToLookFor
+              || t.name === tokenAliasLastExcluded
+              || t.name === tokenAliasLastPreviousExcluded,
+          );
+ 
+          if (foundToken?.name === nameToLookFor) {
+            return getAliasValue(foundToken, tokens, isResolved, previousCount);
+          }
+ 
+          if (
+            !!tokenAliasSplittedLast
+            && foundToken?.name === tokenAliasLastExcluded
+            && foundToken.value?.hasOwnProperty(tokenAliasSplittedLast)
+          ) {
+            const { value } = foundToken;
+            if (typeof value === 'object' && !Array.isArray(value)) {
+              const resolvedValue = value[tokenAliasSplittedLast as keyof typeof value] as string | number;
+              return getAliasValue(resolvedValue, tokens, isResolved, previousCount);
+            }
+          }
+ 
+          if (
+            tokenAliasSplittedLastPrevious !== undefined
+            && !!tokenAliasSplittedLast
+            && foundToken?.name === tokenAliasLastPreviousExcluded
+            && Array.isArray(foundToken?.rawValue)
+            && !!foundToken?.rawValue[tokenAliasSplittedLastPrevious]
+            && foundToken?.rawValue[tokenAliasSplittedLastPrevious].hasOwnProperty(tokenAliasSplittedLast)
+          ) {
+            const rawValueEntry = foundToken?.rawValue[tokenAliasSplittedLastPrevious];
+            return getAliasValue(
+              rawValueEntry[tokenAliasSplittedLast as keyof typeof rawValueEntry] || tokenAliasSplittedLastPrevious,
+              tokens,
+              isResolved,
+              previousCount,
+            );
+          }
+        }
+        return ref;
+      });
+ 
+      tokenReferences.forEach((reference, index) => {
+        const resolvedReference = resolvedReferences[index];
+        returnedValue = replaceAliasWithResolvedReference(returnedValue, reference, resolvedReference);
+      });
+ 
+      if (returnedValue === 'null') {
+        returnedValue = null;
+      }
+    }
+    if (returnedValue && typeof returnedValue === 'string') {
+      const remainingReferences = findReferences(returnedValue);
+      if (!remainingReferences) {
+        const couldBeNumberValue = checkAndEvaluateMath(returnedValue);
+        if (typeof couldBeNumberValue === 'number') return couldBeNumberValue;
+        const rgbColor = convertToRgb(couldBeNumberValue);
+        if (
+          typeof token !== 'string'
+          && typeof token !== 'number'
+          && token?.$extensions?.['studio.tokens']?.modify
+          && rgbColor
+          && !isResolved
+          && previousCount === 0
+        ) {
+          if (
+            token?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX
+            && checkIfAlias(token?.$extensions?.['studio.tokens']?.modify?.color)
+          ) {
+            return convertModifiedColorToHex(rgbColor, {
+              ...token.$extensions?.['studio.tokens']?.modify,
+              value: String(getAliasValue(token?.$extensions?.['studio.tokens']?.modify?.value, tokens)),
+              color:
+                String(
+                  getAliasValue(
+                    token?.$extensions?.['studio.tokens']?.modify?.color,
+                    tokens,
+                    isResolved,
+                    previousCount,
+                  ),
+                ) ?? '',
+            });
+          }
+          return convertModifiedColorToHex(rgbColor, {
+            ...token.$extensions?.['studio.tokens']?.modify,
+            value: String(
+              getAliasValue(token?.$extensions?.['studio.tokens']?.modify?.value, tokens, isResolved, previousCount),
+            ),
+          });
+        }
+        return rgbColor;
+      }
+    }
+  } catch (err) {
+    console.log(`Error getting alias value of ${JSON.stringify(token, null, 2)}`, tokens);
+    return null;
+  }
+ 
+  if (returnedValue && typeof returnedValue === 'string') {
+    return checkAndEvaluateMath(returnedValue);
+  }
+  return returnedValue;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html new file mode 100644 index 000000000..ed78b24f8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/utils/alias + + + + + + + + + +
+
+

All files src/utils/alias

+
+ +
+ 0% + Statements + 0/89 +
+ + +
+ 0% + Branches + 0/110 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
checkCanReferenceVariable.tsx +
+
0%0/10%0/20%0/10%0/1
checkIfAlias.tsx +
+
0%0/190%0/180%0/30%0/17
checkIfContainsAlias.tsx +
+
0%0/30%0/20%0/10%0/2
getAliasValue.ts +
+
0%0/660%0/880%0/60%0/65
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html new file mode 100644 index 000000000..7d6e8d6f2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/alias/index.ts + + + + + + + + + +
+
+

All files / src/utils/alias index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export * from './getAliasValue';
+export * from './checkIfAlias';
+export * from './checkIfContainsAlias';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html new file mode 100644 index 000000000..668531916 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/utils/analytics.tsx + + + + + + + + + +
+
+

All files / src/utils analytics.tsx

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import mixpanel from './mixpanel';
+import * as pjs from '../../package.json';
+ 
+export function track(name: string, opts = {}) {
+  if (process.env.MIXPANEL_ACCESS_TOKEN) {
+    mixpanel.track(name, opts);
+  }
+}
+ 
+export function identify({ userId, figmaId, name }: { userId: string; figmaId?: string | null; name?: string }) {
+  if (process.env.MIXPANEL_ACCESS_TOKEN && figmaId) {
+    mixpanel.identify(figmaId);
+ 
+    mixpanel.people.set({
+      USER_ID: userId,
+      FIGMA_USER_ID: figmaId,
+      NAME: name,
+      version: pjs.version,
+    });
+  }
+}
+ 
+export function setUserData(data: { [key: string]: string }) {
+  if (process.env.MIXPANEL_ACCESS_TOKEN && 'people' in mixpanel) {
+    mixpanel.people.set(data);
+  }
+}
+ 
+export function initializeAnalytics() {
+  if (process.env.MIXPANEL_ACCESS_TOKEN) {
+    mixpanel.init(process.env.MIXPANEL_ACCESS_TOKEN, {
+      disable_cookie: true,
+      disable_persistence: true,
+      api_host: 'https://api-eu.mixpanel.com',
+    });
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html new file mode 100644 index 000000000..49d29d268 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html @@ -0,0 +1,754 @@ + + + + + + Code coverage report for src/utils/annotations.tsx + + + + + + + + + +
+
+

All files / src/utils annotations.tsx

+
+ +
+ 0% + Statements + 0/129 +
+ + +
+ 0% + Branches + 0/33 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/127 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint "no-multi-assign": 0 */
+import { Direction } from '@/constants/Direction';
+import { StyleIdBackupKeys } from '@/constants/StyleIdBackupKeys';
+import { notifyUI } from '@/plugin/notifiers';
+import { SelectionValue } from '@/types';
+ 
+const DIST = 80;
+const BASE_SIZE = 12;
+const FONT_CODE = { family: 'Roboto Mono', style: 'Regular' };
+const FONT_TITLE = { family: 'Roboto Mono', style: 'Bold' };
+const BG_COLOR = { r: 0.1, g: 0.1, b: 0.1 };
+const STROKE_COLOR = { r: 0.482, g: 0.38, b: 1 };
+const TITLE_COLOR = { r: 1, g: 1, b: 1 };
+const PROP_COLOR = { r: 0.9, g: 0.9, b: 0.9 };
+const VALUE_COLOR = { r: 1, g: 0.839, b: 0.078 };
+ 
+function getParentSelection(sel: SceneNode, distance: number, direction: Direction, position = { x: 0, y: 0, width: 0 }): {
+  distance: number;
+  position: { x: number; y: number; width: number; }
+} {
+  if (position.width === 0) position.width = sel.width - DIST; // save original width
+ 
+  if ('parent' in sel && sel.parent) {
+    if (sel.parent.type !== 'DOCUMENT') {
+      if (sel.parent.type !== 'PAGE') {
+        switch (direction) {
+          case Direction.TOP:
+          case Direction.BOTTOM:
+            distance += sel.y;
+            break;
+          case Direction.RIGHT:
+            distance = sel.parent.width - sel.x - position.x - position.width;
+            break;
+          default:
+            distance += sel.x;
+            break;
+        }
+      }
+      position.x += sel.x;
+      position.y += sel.y;
+      return sel.parent.type !== 'PAGE'
+        ? getParentSelection(sel.parent, distance, direction, position)
+        : { distance, position };
+    }
+  }
+ 
+  return {
+    distance,
+    position,
+  };
+}
+ 
+function calcPosition(selection: SceneNode, anno: FrameNode, direction: Direction) {
+  let x = 0;
+  let y = 0;
+ 
+  // Loop through the parent nodes to get a correct X & Y position
+  const { distance, position } = getParentSelection(selection, DIST, direction);
+ 
+  switch (direction) {
+    case Direction.TOP:
+      x = position.x + selection.width / 2 - anno.width / 2;
+      y = position.y - Math.abs(distance) - anno.height;
+      break;
+    case Direction.RIGHT:
+      x = position.x + selection.width + Math.abs(distance);
+      y = position.y + selection.height / 2 - anno.height / 2;
+      break;
+    case Direction.BOTTOM:
+      x = position.x + selection.width / 2 - anno.width / 2;
+      y = position.y + selection.height + Math.abs(distance);
+      break;
+    default:
+      // left
+      x = position.x - Math.abs(distance) - anno.width;
+      y = position.y + selection.height / 2 - anno.height / 2;
+      break;
+  }
+ 
+  return { x, y, distance };
+}
+ 
+function createProperties(
+  anno: FrameNode,
+  tokens: SelectionValue & { annoTitle: string },
+) {
+  Object.entries(tokens)
+    .filter(([key]) => !StyleIdBackupKeys.includes(key))
+    .forEach(([key, value]) => {
+      const prop = figma.createFrame();
+      prop.layoutMode = 'HORIZONTAL';
+      prop.counterAxisAlignItems = 'CENTER';
+      prop.itemSpacing = BASE_SIZE / 2;
+      prop.fills = [{ visible: false, type: 'SOLID', color: BG_COLOR }];
+      prop.primaryAxisSizingMode = 'AUTO';
+      prop.counterAxisSizingMode = 'AUTO';
+ 
+      const propText = figma.createText();
+      const propValue = figma.createText();
+      propText.fontName = propValue.fontName = FONT_CODE;
+      propText.fontSize = propValue.fontSize = BASE_SIZE;
+      propValue.fills = [{ type: 'SOLID', color: VALUE_COLOR }];
+ 
+      if (key === 'annoTitle') {
+        prop.name = 'annotation-title';
+        propText.fontName = FONT_TITLE;
+        propText.characters = value as string;
+        propText.fills = [{ type: 'SOLID', color: TITLE_COLOR }];
+        prop.appendChild(propText);
+      } else {
+        prop.name = 'annotation-prop';
+        propText.characters = `${key}:`;
+        propText.fills = [{ type: 'SOLID', color: PROP_COLOR }];
+        propValue.characters = value as string;
+        prop.appendChild(propText);
+        prop.appendChild(propValue);
+      }
+ 
+      anno.appendChild(prop);
+    });
+}
+ 
+function createAnno(tokens: SelectionValue, direction: Direction) {
+  const selection = figma.currentPage.selection[0];
+ 
+  /* Create the alignment container */
+  const cont = figma.createFrame();
+  cont.layoutMode = ['top', 'bottom'].includes(direction) ? 'VERTICAL' : 'HORIZONTAL';
+  cont.fills = [];
+  cont.clipsContent = false;
+  cont.primaryAxisSizingMode = cont.counterAxisSizingMode = 'AUTO';
+  cont.primaryAxisAlignItems = cont.counterAxisAlignItems = 'CENTER';
+ 
+  /* Create the annotation card */
+  const anno = figma.createFrame();
+  anno.layoutMode = 'VERTICAL';
+  anno.paddingTop = anno.paddingLeft = anno.paddingBottom = anno.paddingRight = BASE_SIZE;
+  anno.itemSpacing = BASE_SIZE / 2;
+  anno.fills = [{ type: 'SOLID', color: BG_COLOR }];
+  anno.strokes = [{ type: 'SOLID', color: STROKE_COLOR }];
+  anno.strokeWeight = 1;
+  anno.cornerRadius = BASE_SIZE / 2;
+  anno.primaryAxisSizingMode = anno.counterAxisSizingMode = 'AUTO';
+  anno.name = 'annotation-card';
+ 
+  /* Add the tokens */
+  createProperties(anno, { annoTitle: selection.name, ...tokens });
+ 
+  /* Position the container */
+  const position = calcPosition(selection, anno, direction);
+  cont.x = position.x;
+  cont.y = position.y;
+ 
+  /* Rename the annotation based on selection */
+  cont.name = `__[annotation]_${selection.name}`;
+ 
+  /* Add the arrow */
+  const arrowAnchor = figma.createFrame();
+  arrowAnchor.resize(0.01, 0.01);
+  arrowAnchor.fills = [];
+  arrowAnchor.clipsContent = false;
+  arrowAnchor.name = 'arrow-anchor';
+ 
+  const arrow = figma.createVector();
+  arrow.vectorPaths = [
+    {
+      windingRule: 'NONE',
+      data: `M 0 0 L ${position.distance} 0`,
+    },
+  ];
+  arrow.strokes = [{ type: 'SOLID', color: STROKE_COLOR }];
+  arrow.strokeWeight = 2;
+  arrow.strokeCap = 'ARROW_EQUILATERAL';
+  switch (direction) {
+    case 'top':
+      arrow.rotation = -90;
+      break;
+    case 'right':
+      arrow.rotation = 180;
+      break;
+    case 'bottom':
+      arrow.rotation = 90;
+      break;
+    default:
+      break;
+  }
+  /* make a copy of the original node */
+  const arrowCopy = JSON.parse(JSON.stringify(arrow.vectorNetwork));
+ 
+  /* if it has a strokeCap property, change */
+  if ('strokeCap' in arrowCopy.vertices[arrowCopy.vertices.length - 1]) {
+    arrowCopy.vertices[arrowCopy.vertices.length - 1].strokeCap = 'ARROW_EQUILATERAL';
+    arrowCopy.vertices[0].strokeCap = 'ROUND';
+  }
+  arrow.vectorNetwork = arrowCopy;
+  arrowAnchor.appendChild(arrow);
+ 
+  // Add the child frames
+  if (['top', 'left'].includes(direction)) {
+    cont.appendChild(anno);
+    cont.appendChild(arrowAnchor);
+  } else {
+    cont.appendChild(arrowAnchor);
+    cont.appendChild(anno);
+  }
+ 
+  /* Add it to the page */
+  figma.currentPage.appendChild(cont);
+}
+ 
+export async function createAnnotation(tokens: SelectionValue, direction: Direction) {
+  const loadFonts = async () => {
+    await figma.loadFontAsync(FONT_CODE);
+    await figma.loadFontAsync(FONT_TITLE);
+  };
+ 
+  try {
+    loadFonts().then(() => createAnno(tokens, direction));
+  } catch (err) {
+    console.log(err);
+    notifyUI('There was an issue creating the annotation. Please try again.');
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html new file mode 100644 index 000000000..d0baec1c7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/attemptOrFallback.ts + + + + + + + + + +
+
+

All files / src/utils attemptOrFallback.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
export function attemptOrFallback<R>(fn: () => R, fallback: R) {
+  try {
+    return fn();
+  } catch (err) {
+    console.error(err);
+    return fallback;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html new file mode 100644 index 000000000..1217010dc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/utils/checkIfTokenCanCreateVariable.ts + + + + + + + + + +
+
+

All files / src/utils checkIfTokenCanCreateVariable.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/37 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ExportNumberVariablesTokenTypes, TokenTypes } from '@/constants/TokenTypes';
+import { ResolveTokenValuesResult } from './tokenHelpers';
+import { numberMatchesPercentage } from '@/plugin/figmaTransforms/numberMatchesPercentage';
+import { SettingsState } from '@/app/store/models/settings';
+ 
+export default function checkIfTokenCanCreateVariable(token: ResolveTokenValuesResult, settings: SettingsState): boolean {
+  if (
+    (token.type === TokenTypes.COLOR && settings.variablesColor)
+    || (ExportNumberVariablesTokenTypes.includes(token.type) && settings.variablesNumber)
+    || ([TokenTypes.TEXT, TokenTypes.FONT_FAMILIES].includes(token.type) && settings.variablesString)
+    || (token.type === TokenTypes.BOOLEAN && settings.variablesBoolean)
+    || (token.type === TokenTypes.FONT_WEIGHTS && Boolean(parseFloat(token.value)) && settings.variablesNumber)
+    || (token.type === TokenTypes.FONT_WEIGHTS && !parseFloat(token.value) && settings.variablesString)
+  ) {
+  // Ignore multi value spacing and multi value borderRadius tokens
+    if ((token.type === TokenTypes.BORDER_RADIUS || token.type === TokenTypes.SPACING) && typeof token.value === 'string') {
+      return token.value.split(' ').length === 1;
+    }
+    // Ignore gradient colors
+    if (token.type === TokenTypes.COLOR && typeof token.value === 'string' && token.value.startsWith('linear-gradient')) {
+      return false;
+    }
+    // Ignore AUTO values on lineHeight
+    if (token.type === TokenTypes.LINE_HEIGHTS && typeof token.value === 'string' && token.value === 'AUTO') {
+      return false;
+    }
+    // Ignore percentage values, except on text type tokens and opacity tokens
+    if (token.type !== TokenTypes.TEXT && token.type !== TokenTypes.OPACITY && typeof token.value === 'string' && numberMatchesPercentage(token.value)) {
+      return false;
+    }
+    return true;
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html new file mode 100644 index 000000000..65df777bd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/utils/checkStorageSize.ts + + + + + + + + + +
+
+

All files / src/utils checkStorageSize.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { compressToUTF16 } from 'lz-string';
+import { getUTF16StringSize } from './getUTF16StringSize';
+ 
+export function checkStorageSize(tokens: any): number {
+  try {
+    const stringifiedData = JSON.stringify(tokens);
+    const compressedData = compressToUTF16(stringifiedData);
+ 
+    // UTF-16 uses 2 bytes per character
+    const sizeInBytes = getUTF16StringSize(compressedData);
+    const sizeInKB = sizeInBytes / 1024;
+ 
+    return Number(sizeInKB.toFixed(1));
+  } catch (e) {
+    console.warn('Failed to check storage size:', e);
+    return 0;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html new file mode 100644 index 000000000..6f62c6ec5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/utils/color/convertToRgb.ts + + + + + + + + + +
+
+

All files / src/utils/color convertToRgb.ts

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { parseToRgba, toHex } from 'color2k';
+import convertOpacityToFigma from '@/plugin/figmaTransforms/opacity';
+ 
+// Convert non-conform colors to RGB value that can be used throughout the plugin
+export function convertToRgb(color: string): string {
+  try {
+    if (typeof color !== 'string') {
+      return color;
+    }
+    const hexRegex = /#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/g;
+    const hslaRegex = /(hsla?\(.*?\))/g;
+    const rgbaRegex = /(rgba?\(.*?\))/g;
+    let returnedColor = color;
+ 
+    try {
+      const matchesRgba = Array.from(returnedColor.matchAll(rgbaRegex), (m) => m[0]);
+      const matchesHsla = Array.from(returnedColor.matchAll(hslaRegex), (m) => m[0]);
+      if (matchesHsla.length > 0) {
+        matchesHsla.forEach((match) => {
+          returnedColor = returnedColor.replace(match, toHex(match));
+        });
+      }
+      if (matchesRgba.length > 0) {
+        matchesRgba.forEach((match) => {
+          const matchedString = match;
+          const matchedColor = match.replace(/rgba?\(/g, '').replace(')', '');
+          const matchesHexInsideRgba = matchedColor.match(hexRegex);
+          let r;
+          let g;
+          let b;
+          let alpha = '1';
+          if (matchesHexInsideRgba) {
+            [r, g, b] = parseToRgba(matchesHexInsideRgba[0]);
+            alpha = matchedColor.split(',').pop()?.trim() ?? '0';
+          } else {
+            [r, g, b, alpha = '1'] = matchedColor.split(',').map((n) => n.trim());
+          }
+          const a = convertOpacityToFigma(alpha);
+          returnedColor = returnedColor.split(matchedString).join(toHex(`rgba(${r}, ${g}, ${b}, ${a})`));
+        });
+      }
+    } catch (e) {
+      console.log('error', e, color);
+    }
+    return returnedColor;
+  } catch (e) {
+    console.error(e);
+  }
+ 
+  return color;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html new file mode 100644 index 000000000..61305b8a1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/utils/color/darken.ts + + + + + + + + + +
+
+

All files / src/utils/color darken.ts

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Color from 'colorjs.io';
+import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
+ 
+export function darken(color: Color, colorSpace: ColorSpaceTypes, amount: number) {
+  switch (colorSpace) {
+    case ColorSpaceTypes.LCH: {
+      const lightness = color.lch.l;
+      const difference = lightness;
+      const newChroma = Math.max(0, color.lch.c - amount * color.lch.c);
+      const newLightness = Math.max(0, lightness - difference * amount);
+      color.set('lch.l', newLightness);
+      color.set('lch.c', newChroma);
+      return color;
+    }
+    case ColorSpaceTypes.HSL: {
+      const lightness = color.hsl.l;
+      const difference = lightness;
+      const newLightness = Math.max(0, lightness - difference * amount);
+      color.set('hsl.l', newLightness);
+      return color;
+    }
+    case ColorSpaceTypes.P3: {
+      const colorInP3 = color.to('p3');
+      const newRed = Math.max(0, colorInP3.p3.r - amount * colorInP3.p3.r);
+      const newGreen = Math.max(0, colorInP3.p3.g - amount * colorInP3.p3.g);
+      const newBlue = Math.max(0, colorInP3.p3.b - amount * colorInP3.p3.b);
+      colorInP3.set('p3.r', newRed);
+      colorInP3.set('p3.g', newGreen);
+      colorInP3.set('p3.b', newBlue);
+      return colorInP3;
+    }
+ 
+    case ColorSpaceTypes.SRGB: {
+      const newRed = Math.max(0, color.srgb.r - amount * color.srgb.r);
+      const newGreen = Math.max(0, color.srgb.g - amount * color.srgb.g);
+      const newBlue = Math.max(0, color.srgb.b - amount * color.srgb.b);
+      color.set('srgb.r', newRed);
+      color.set('srgb.g', newGreen);
+      color.set('srgb.b', newBlue);
+      return color;
+    }
+ 
+    default: {
+      return color.darken(amount);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html new file mode 100644 index 000000000..16cd0d48e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/color/getColorSwatchStyle.ts + + + + + + + + + +
+
+

All files / src/utils/color getColorSwatchStyle.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export function getColorSwatchStyle(tokenValue: string) {
+  return tokenValue.includes(';') ? { background: tokenValue.replace(/;/g, '') } : { background: tokenValue };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html new file mode 100644 index 000000000..455cce297 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/utils/color/getReferenceTokensFromGradient.ts + + + + + + + + + +
+
+

All files / src/utils/color getReferenceTokensFromGradient.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export const getReferenceTokensFromGradient = (rawValue: string): string[] => {
+  const rawValueDetails = rawValue.replace('linear-gradient(', '').replace(')', '').split(',');
+  const referenceTokens: string[] = rawValueDetails.reduce((acc: string[], curr: string) => {
+    // Check is the current part contains color value or reference token
+    if (curr.includes('#') || curr.includes('{')) {
+      const matches = curr.match(/{(.*?)}/g);
+      // Return empty string in case of not reference token
+      acc.push(matches ? matches[0].replace(/[{}]/g, '') : '');
+    }
+    return acc;
+  }, []);
+ 
+  return referenceTokens;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html new file mode 100644 index 000000000..64cb2cfb4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html @@ -0,0 +1,236 @@ + + + + + + Code coverage report for src/utils/color + + + + + + + + + +
+
+

All files src/utils/color

+
+ +
+ 0% + Statements + 0/108 +
+ + +
+ 0% + Branches + 0/33 +
+ + +
+ 0% + Functions + 0/14 +
+ + +
+ 0% + Lines + 0/105 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
convertToRgb.ts +
+
0%0/320%0/110%0/60%0/29
darken.ts +
+
0%0/290%0/50%0/10%0/29
getColorSwatchStyle.ts +
+
0%0/10%0/20%0/10%0/1
getReferenceTokensFromGradient.ts +
+
0%0/80%0/60%0/20%0/8
index.ts +
+
0%0/00%0/00%0/00%0/0
isLightOrDark.ts +
+
0%0/50%0/40%0/10%0/5
lighten.ts +
+
0%0/290%0/50%0/10%0/29
mix.ts +
+
0%0/2100%0/00%0/10%0/2
transparentize.ts +
+
0%0/2100%0/00%0/10%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html new file mode 100644 index 000000000..93d7488f1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/utils/color/index.ts + + + + + + + + + +
+
+

All files / src/utils/color index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
export * from './convertToRgb';
+export * from './isLightOrDark';
+export * from './getReferenceTokensFromGradient';
+export * from './getColorSwatchStyle';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html new file mode 100644 index 000000000..cbaf22531 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/utils/color/isLightOrDark.ts + + + + + + + + + +
+
+

All files / src/utils/color isLightOrDark.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { readableColorIsBlack } from 'color2k';
+ 
+// Light or dark check for Token Buttons: If color is very bright e.g. white we show a different style
+export function lightOrDark(color: string) {
+  if (typeof color !== 'string') {
+    return 'light';
+  }
+  try {
+    return readableColorIsBlack(color) ? 'light' : 'dark';
+  } catch (e) {
+    return 'light';
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html new file mode 100644 index 000000000..8b1b60498 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/utils/color/lighten.ts + + + + + + + + + +
+
+

All files / src/utils/color lighten.ts

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Color from 'colorjs.io';
+import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
+ 
+export function lighten(color: Color, colorSpace: ColorSpaceTypes, amount: number) {
+  switch (colorSpace) {
+    case ColorSpaceTypes.LCH: {
+      const lightness = color.lch.l;
+      const difference = 100 - lightness;
+      const newChroma = Math.max(0, color.lch.c - amount * color.lch.c);
+      const newLightness = Math.min(100, lightness + difference * amount);
+      color.set('lch.l', newLightness);
+      color.set('lch.c', newChroma);
+      return color;
+    }
+    case ColorSpaceTypes.HSL: {
+      const lightness = color.hsl.l;
+      const difference = 100 - lightness;
+      const newLightness = Math.min(100, lightness + difference * amount);
+      color.set('hsl.l', newLightness);
+      return color;
+    }
+    case ColorSpaceTypes.P3: {
+      const colorInP3 = color.to('p3');
+      const newRed = Math.min(1, colorInP3.p3.r + amount * (1 - colorInP3.p3.r));
+      const newGreen = Math.min(1, colorInP3.p3.g + amount * (1 - colorInP3.p3.g));
+      const newBlue = Math.min(1, colorInP3.p3.b + amount * (1 - colorInP3.p3.b));
+      colorInP3.set('p3.r', newRed);
+      colorInP3.set('p3.g', newGreen);
+      colorInP3.set('p3.b', newBlue);
+      return colorInP3;
+    }
+    case ColorSpaceTypes.SRGB: {
+      const newRed = Math.min(1, color.srgb.r + amount * (1 - color.srgb.r));
+      const newGreen = Math.min(1, color.srgb.g + amount * (1 - color.srgb.g));
+      const newBlue = Math.min(1, color.srgb.b + amount * (1 - color.srgb.b));
+      color.set('srgb.r', newRed);
+      color.set('srgb.g', newGreen);
+      color.set('srgb.b', newBlue);
+      return color;
+    }
+    default: {
+      return color.lighten(amount);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html new file mode 100644 index 000000000..b570625ae --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/color/mix.ts + + + + + + + + + +
+
+

All files / src/utils/color mix.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import Color from 'colorjs.io';
+import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
+ 
+export function mix(color: Color, colorSpace: ColorSpaceTypes, amount: number, mixColor: Color) {
+  const mixValue = Math.max(0, Math.min(1, Number(amount)));
+ 
+  return new Color(color.mix(mixColor, mixValue, { space: colorSpace }).toString());
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html new file mode 100644 index 000000000..43a717201 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/color/transparentize.ts + + + + + + + + + +
+
+

All files / src/utils/color transparentize.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import Color from 'colorjs.io';
+ 
+export function transparentize(color: Color, amount: number) {
+  color.alpha = Math.max(0, Math.min(1, Number(amount)));
+  return color;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html new file mode 100644 index 000000000..08dcadb31 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/utils/compareLastSyncedState.ts + + + + + + + + + +
+
+

All files / src/utils compareLastSyncedState.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import { isEqual } from './isEqual';
+import { tryParseJson } from './tryParseJson';
+import type { ThemeObjectsList } from '@/types';
+import type { AnyTokenList } from '@/types/tokens';
+import removeIdPropertyFromTokens from './removeIdPropertyFromTokens';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+ 
+export type LastSyncedState =
+  [Record<string, AnyTokenList>]
+  | [Record<string, AnyTokenList>, ThemeObjectsList];
+ 
+export function compareLastSyncedState(
+  tokens: Record<string, AnyTokenList>,
+  themes: ThemeObjectsList,
+  lastSyncedState: string,
+  format: TokenFormatOptions,
+) {
+  const parsedState = tryParseJson<LastSyncedState>(lastSyncedState);
+ 
+  if (!parsedState) {
+    return false;
+  }
+ 
+  const formattedCurrentState = JSON.stringify(compact([removeIdPropertyFromTokens(tokens), themes, format]), null, 2);
+ 
+  return isEqual(
+    lastSyncedState,
+    formattedCurrentState,
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html new file mode 100644 index 000000000..5fe7cac93 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/convert.ts + + + + + + + + + +
+
+

All files / src/utils convert.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import set from 'set-value';
+import { SingleToken } from '@/types/tokens';
+ 
+export interface DTCGToken {
+  $name: string;
+  $type: NonNullable<SingleToken['type']>;
+  $description: string | undefined;
+  $value: NonNullable<SingleToken['value']>;
+  $extensions: Record<string, unknown> | undefined;
+}
+ 
+export const singleTokenToDTCGToken = (token: SingleToken): DTCGToken => ({
+  $name: token.name,
+  $description: token.description,
+  // again, assuming these are present, without changing the function signature
+  $value: token.value as NonNullable<SingleToken['value']>,
+  $type: token.type as NonNullable<SingleToken['type']>,
+  $extensions: token.$extensions,
+});
+ 
+/**
+ *
+ * @param tokens
+ * @param convertToDTCG Set to true to convert to DTCG format
+ * @returns
+ */
+export const singleTokensToRawTokenSet = (tokens: SingleToken[], convertToDTCG: boolean = false) => tokens.reduce((acc, token) => {
+  set(acc, token.name?.split('.') || '', convertToDTCG ? singleTokenToDTCGToken(token) : token);
+  return acc;
+}, {});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html new file mode 100644 index 000000000..d0d253de2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/utils/convertModifiedColorToHex.ts + + + + + + + + + +
+
+

All files / src/utils convertModifiedColorToHex.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Color from 'colorjs.io';
+import { ColorModifier } from '@/types/Modifier';
+import { modifyColor } from './modifyColor';
+ 
+export function convertModifiedColorToHex(baseColor: string, modifier: ColorModifier) {
+  let returnedColor = baseColor;
+  try {
+    returnedColor = modifyColor(baseColor, modifier);
+    const returnedColorInSpace = new Color(returnedColor);
+    return returnedColorInSpace.to('srgb').toString({ format: 'hex' });
+  } catch (e) {
+    return baseColor;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html new file mode 100644 index 000000000..7a15d0159 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/utils/convertToDefaultProperty.ts + + + + + + + + + +
+
+

All files / src/utils convertToDefaultProperty.ts

+
+ +
+ 0% + Statements + 0/23 +
+ + +
+ 0% + Branches + 0/26 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export function convertToDefaultProperty(property: string): string {
+  let type: string = '';
+  switch (property) {
+    case Properties.width:
+    case Properties.height:
+    case Properties.sizing:
+    case Properties.itemSpacing:
+    case Properties.verticalPadding:
+    case Properties.horizontalPadding:
+    case Properties.paddingTop:
+    case Properties.paddingLeft:
+    case Properties.paddingBottom:
+    case Properties.paddingRight:
+      type = Properties.dimension;
+      break;
+    case Properties.borderRadiusTopLeft:
+    case Properties.borderRadiusTopRight:
+    case Properties.borderRadiusBottomLeft:
+    case Properties.borderRadiusBottomRight:
+      type = Properties.borderRadius;
+      break;
+    case Properties.borderColor:
+      type = Properties.fill;
+      break;
+    case Properties.borderWidthTop:
+    case Properties.borderWidthLeft:
+    case Properties.borderWidthRight:
+    case Properties.borderWidthBottom:
+      type = Properties.borderWidth;
+      break;
+    case 'fontFamily':
+      type = Properties.fontFamilies;
+      break;
+    case 'fontSize':
+      type = Properties.fontSizes;
+      break;
+    case 'fontWeight':
+      type = Properties.fontWeights;
+      break;
+    case 'lineHeights':
+    case 'lineHeight':
+      type = Properties.lineHeights;
+      break;
+    case 'style':
+      type = 'strokeStyle';
+      break;
+    default:
+      type = property;
+      break;
+  }
+  return type;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html new file mode 100644 index 000000000..e96e44cdb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/convertToOrderObj.ts + + + + + + + + + +
+
+

All files / src/utils convertToOrderObj.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export function convertToOrderObj(value: Record<string, string>) {
+  return Object.keys(value).reduce<Record<string, number>>((acc, crr, index) => {
+    acc[crr] = index;
+    return acc;
+  }, {});
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html new file mode 100644 index 000000000..cacd434ec --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/utils/convertTokenNameToPath.ts + + + + + + + + + +
+
+

All files / src/utils convertTokenNameToPath.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function convertTokenNameToPath(name: string, prefix: string | null = null, skip = 0) {
+  const splitKey = name.split('.').slice(skip).map((part) => part.trim());
+  if (splitKey[splitKey.length - 1] === 'value') {
+    splitKey.pop();
+  }
+  const trimmedKey = splitKey.join('/');
+ 
+  if (prefix) {
+    return `${prefix}/${trimmedKey}`;
+  }
+ 
+  return trimmedKey;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html new file mode 100644 index 000000000..ebf6f512e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/utils/convertTokenToFormat.ts + + + + + + + + + +
+
+

All files / src/utils convertTokenToFormat.ts

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+export function convertTokenToFormat(token, isExpanded = false) {
+  if (token.inheritTypeLevel) delete token.type;
+  const {
+    type, value, description, ...remainingTokenValues
+  } = token;
+  if (isExpanded) {
+    const returnedToken = {};
+    Object.entries(token).forEach(([key, val]) => {
+      returnedToken[key] = convertTokenToFormat(val);
+    });
+    return returnedToken;
+  }
+  if ((typeof value === 'undefined')) return token;
+  const returnValue = {
+    ...remainingTokenValues,
+    ...(value ? { [TokenFormat.tokenValueKey]: value } : {}),
+    ...(type ? { [TokenFormat.tokenTypeKey]: type } : {}),
+    ...(description ? { [TokenFormat.tokenDescriptionKey]: description } : {}),
+  };
+  delete returnValue.inheritTypeLevel;
+  return returnValue;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html new file mode 100644 index 000000000..8dccba4fc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/utils/convertTokenTypeToVariableType.ts + + + + + + + + + +
+
+

All files / src/utils convertTokenTypeToVariableType.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+ 
+export function convertTokenTypeToVariableType(type: TokenTypes, value: SingleToken['value']): VariableResolvedDataType {
+  // For numerical font weights we want to create a float variable
+  if (type === TokenTypes.FONT_WEIGHTS && parseFloat(String(value))) {
+    return 'FLOAT';
+  }
+ 
+  switch (type) {
+    case TokenTypes.COLOR:
+      return 'COLOR';
+    case TokenTypes.BOOLEAN:
+      return 'BOOLEAN';
+    case TokenTypes.FONT_FAMILIES:
+    case TokenTypes.FONT_WEIGHTS:
+    case TokenTypes.TEXT:
+      return 'STRING';
+    default:
+      return 'FLOAT';
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html new file mode 100644 index 000000000..a9e348297 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html @@ -0,0 +1,634 @@ + + + + + + Code coverage report for src/utils/convertTokens.tsx + + + + + + + + + +
+
+

All files / src/utils convertTokens.tsx

+
+ +
+ 0% + Statements + 0/51 +
+ + +
+ 0% + Branches + 0/65 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+import {
+  isSingleBorderToken,
+  isSingleBoxShadowToken,
+  isSingleCompositionToken,
+  isSingleTokenValueObject,
+  isSingleTypographyToken,
+} from './is';
+import { TokenGroupInJSON, isTokenGroupWithType } from './is/isTokenGroupWithType';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { isSingleTokenInJSON } from './is/isSingleTokenInJson';
+ 
+// This is a token as it is incoming, so we can't be sure of the values or types
+export type TokenInJSON<T extends TokenTypes = any, V = any> = {
+  $extensions?: {
+    [key: string]: any;
+    'studio.tokens'?: {
+      [key: string]: any;
+      id?: string;
+      modify?: any;
+    };
+    id?: string;
+  };
+} & (
+  | {
+    type: T;
+    value: V;
+    description?: string;
+  }
+  | {
+    $type: T;
+    $value: V;
+    $description?: string;
+  }
+);
+ 
+export type Tokens =
+  | Partial<Record<string, Partial<Record<TokenTypes, Record<string, TokenInJSON>>>>>
+  | TokenGroupInJSON;
+ 
+  type OptionalDTCGKeys = {
+    $type?: TokenTypes;
+    $value?: SingleToken['value'];
+    $description?: string;
+  };
+ 
+// @TODO fix typings
+function checkForTokens({
+  obj,
+  token,
+  root = null,
+  returnValuesOnly = false,
+  expandTypography = false,
+  expandShadow = false,
+  expandComposition = false,
+  expandBorder = false,
+  inheritType,
+  groupLevel = 0,
+  currentTypeLevel = 0,
+}: {
+  obj: SingleToken<true>[];
+  token: Tokens | TokenGroupInJSON;
+  root: string | null;
+  returnValuesOnly?: boolean;
+  expandTypography?: boolean;
+  expandShadow?: boolean;
+  expandComposition?: boolean;
+  expandBorder?: boolean;
+  inheritType?: string;
+  groupLevel?: number;
+  currentTypeLevel?: number;
+}): [(SingleToken & SingleToken & OptionalDTCGKeys)[], SingleToken & OptionalDTCGKeys | undefined] {
+  let returnValue:
+  | Pick<SingleToken<false>, 'name' | 'value' | 'type' | 'description' | 'inheritTypeLevel'>
+  | {
+    type: TokenTypes;
+    value: Record<string, SingleToken['value']>;
+    description?: string;
+    inheritTypeLevel?: number;
+  }
+  | undefined;
+  if (isSingleTokenInJSON(token)) {
+    returnValue = token as SingleToken<false>;
+    returnValue.value = token[TokenFormat.tokenValueKey];
+ 
+    if (token[TokenFormat.tokenDescriptionKey] && typeof token[TokenFormat.tokenDescriptionKey] === 'string') {
+      returnValue.description = token[TokenFormat.tokenDescriptionKey] as string;
+    }
+    if (!token[TokenFormat.tokenTypeKey] && inheritType) {
+      returnValue.type = inheritType as TokenTypes;
+      returnValue.inheritTypeLevel = currentTypeLevel as number;
+    } else {
+      returnValue.type = token[TokenFormat.tokenTypeKey];
+      if (inheritType === token[TokenFormat.tokenTypeKey] && currentTypeLevel > 0) {
+        returnValue.inheritTypeLevel = currentTypeLevel as number;
+      }
+    }
+  } else if (
+    isSingleTypographyToken(token)
+    || isSingleBoxShadowToken(token)
+    || isSingleCompositionToken(token)
+    || isSingleBorderToken(token)
+  ) {
+    returnValue = token as SingleToken<false>;
+    returnValue.value = Object.entries(token).reduce<Record<string, SingleToken['value']>>((acc, [key, val]) => {
+      acc[key] = isSingleTokenValueObject(val) && returnValuesOnly ? val[TokenFormat.tokenValueKey] : val;
+      return acc;
+    }, {});
+    if (token[TokenFormat.tokenDescriptionKey] && typeof token[TokenFormat.tokenDescriptionKey] === 'string') {
+      returnValue.description = token[TokenFormat.tokenDescriptionKey] as string;
+    }
+    if (!token[TokenFormat.tokenTypeKey] && inheritType) {
+      returnValue.type = inheritType as TokenTypes;
+      returnValue.inheritTypeLevel = currentTypeLevel as number;
+    } else {
+      returnValue.type = token[TokenFormat.tokenTypeKey] as TokenTypes;
+    }
+  } else if (typeof token === 'object') {
+    // We dont have a single token value key yet, so it's likely a group which we need to iterate over
+    // This would be where we push a `group` entity to the array, once we do want to tackle group descriptions or group metadata
+    let tokenToCheck = token;
+    groupLevel += 1;
+    // When token groups are typed, we need to inherit the type to their children
+    if (isTokenGroupWithType(token)) {
+      const { [TokenFormat.tokenTypeKey]: groupType, ...tokenValues } = token;
+      inheritType = groupType as unknown as TokenTypes;
+      currentTypeLevel = groupLevel;
+      tokenToCheck = tokenValues as Tokens;
+    }
+ 
+    if (typeof tokenToCheck !== 'undefined' || tokenToCheck !== null) {
+      Object.entries(tokenToCheck).forEach(([key, value]) => {
+        const [, result] = checkForTokens({
+          obj,
+          token: value as TokenGroupInJSON,
+          root: [root, key].filter((n) => n).join('.'),
+          returnValuesOnly,
+          expandTypography,
+          expandShadow,
+          expandComposition,
+          expandBorder,
+          inheritType,
+          groupLevel,
+          currentTypeLevel,
+        });
+        if (root && result) {
+          obj.push({ ...result, name: [root, key].join('.') });
+        } else if (result) {
+          obj.push({ ...result, name: key });
+        }
+      });
+    }
+  } else {
+    // If all else fails, we just return the token as the value, and type as other
+    returnValue = {
+      value: token,
+      type: TokenTypes.OTHER,
+    };
+  }
+ 
+  if (typeof returnValue === 'object' && 'name' in returnValue && returnValue?.name) {
+    returnValue.name = returnValue.name.split('/').join('.');
+  }
+ 
+  return [obj, returnValue as SingleToken | undefined];
+}
+ 
+export default function convertToTokenArray({ tokens }: { tokens: Tokens }) {
+  const [result] = checkForTokens({
+    obj: [],
+    root: null,
+    token: tokens,
+  });
+ 
+  // Internally we dont care about $value or value, we always use value, so remove it
+  return Object.values(result).map((token) => {
+    if ('$value' in token) delete token.$value;
+    if ('$description' in token) delete token.$description;
+    if ('$type' in token) delete token.$type;
+    return token;
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html new file mode 100644 index 000000000..9996b65ed --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/utils/convertTokensObjectToResolved.ts + + + + + + + + + +
+
+

All files / src/utils convertTokensObjectToResolved.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { mergeTokenGroups } from '@/utils/tokenHelpers';
+import { TransformerOptions } from './types';
+import convertTokensToGroupedObject from './convertTokensToGroupedObject';
+import parseTokenValues from './parseTokenValues';
+import { SetTokenDataPayload } from '@/types/payloads';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { defaultTokenResolver } from './TokenResolver';
+ 
+// Takes Figma Tokens input, resolves all aliases while respecting user's theme choice and outputs an object with resolved tokens, ready to be consumed by style dictionary.
+export default function convertTokensObjectToResolved(
+  tokens: SetTokenDataPayload['values'],
+  usedSets: string[] = [],
+  excludedSets: string[] = [],
+  options: TransformerOptions = {
+    expandTypography: false,
+    expandShadow: false,
+    expandComposition: false,
+    expandBorder: false,
+    preserveRawValue: false,
+    resolveReferences: true,
+  },
+) {
+  // Parse tokens into array structure
+  const parsed = parseTokenValues(tokens);
+  // Merge to one giant array
+  const merged = mergeTokenGroups(
+    parsed,
+    // @README this function is only used in the utils/transform file
+    // which in turn is only used for a local script -- in which case for now we do not
+    // need to fully support the SOURCE state
+    Object.fromEntries(usedSets.map((tokenSet) => ([tokenSet, TokenSetStatus.ENABLED]))),
+  );
+  // Resolve aliases
+  const resolved = defaultTokenResolver.setTokens(merged);
+  // Group back into one object
+  const object = convertTokensToGroupedObject(resolved, excludedSets, options);
+  return object;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html new file mode 100644 index 000000000..95f97ec7c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/utils/convertTokensToGroupedObject.ts + + + + + + + + + +
+
+

All files / src/utils convertTokensToGroupedObject.ts

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import set from 'set-value';
+import { appendTypeToToken } from '@/app/components/createTokenObj';
+import { TransformerOptions } from './types';
+import { expand } from '@/utils/expand';
+import { getValueWithReferences } from '@/utils/getValueWithReferences';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { SingleToken } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+// @TODO fix tokenObj
+export default function convertTokensToGroupedObject(
+  tokens: ResolveTokenValuesResult[],
+  excludedSets: string[],
+  options: TransformerOptions,
+) {
+  let tokenObj = {};
+  tokenObj = tokens.reduce((acc, token) => {
+    if (options.throwErrorWhenNotResolved && token.failedToResolve) {
+      throw new Error(`ERROR: failed to resolve token "${token.name}"`);
+    }
+    if (token.internal__Parent && excludedSets.includes(token.internal__Parent)) {
+      return acc;
+    }
+    const obj = acc || {};
+    const tokenWithType = appendTypeToToken(token) as SingleToken<false>;
+    delete tokenWithType.name;
+    if (options.resolveReferences !== true) {
+      tokenWithType.value = getValueWithReferences(tokenWithType as SingleToken, options);
+    } else {
+      delete tokenWithType.$extensions;
+    }
+ 
+    if (!options.preserveRawValue) {
+      delete tokenWithType.rawValue;
+    }
+    delete tokenWithType.internal__Parent;
+    delete tokenWithType.resolvedValueWithReferences;
+    if (
+      (!!options.expandTypography && tokenWithType.type === TokenTypes.TYPOGRAPHY)
+      || (!!options.expandShadow && tokenWithType.type === TokenTypes.BOX_SHADOW)
+      || (!!options.expandComposition && tokenWithType.type === TokenTypes.COMPOSITION)
+      || (!!options.expandBorder && tokenWithType.type === TokenTypes.BORDER)
+    ) {
+      const expanded = expand(tokenWithType.value);
+      set(obj, token.name, { ...expanded });
+    } else {
+      set(obj, token.name, tokenWithType);
+    }
+    return acc;
+  }, {});
+ 
+  return tokenObj;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html new file mode 100644 index 000000000..eb60f339d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/utils/convertTokensToObject.ts + + + + + + + + + +
+
+

All files / src/utils convertTokensToObject.ts

+
+ +
+ 0% + Statements + 0/21 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import set from 'set-value';
+import { appendTypeToToken } from '@/app/components/createTokenObj';
+import { AnyTokenList, AnyTokenSet } from '@/types/tokens';
+import { getGroupTypeName } from './stringifyTokens';
+import removeTokenId from './removeTokenId';
+import { setTokenKey, FormatSensitiveTokenKeys } from './setTokenKey';
+ 
+export default function convertTokensToObject(tokens: Record<string, AnyTokenList>, storeTokenIdInJsonEditor: boolean) {
+  const tokenObj = Object.entries(tokens).reduce<Record<string, AnyTokenSet<false>>>((acc, [key, val]) => {
+    const tokenGroupObj: AnyTokenSet<false> = {};
+    val.forEach((token) => {
+      const tokenWithType = appendTypeToToken(token);
+      const tokenWithoutId = removeTokenId(tokenWithType, !storeTokenIdInJsonEditor);
+ 
+      // Remove the name key to not include it in the output
+      const { name, ...tokenWithoutName } = tokenWithoutId;
+ 
+      // Directly work with tokenWithoutName to preserve order
+      if (tokenWithoutName.inheritTypeLevel) {
+        // Remove the type key and if inheritTypeLevel exists, handle it specifically
+        const { inheritTypeLevel, type, ...tokenWithoutTypeLevel } = tokenWithoutName;
+ 
+        // Set type of group level without altering the order of tokenWithoutName
+        set(tokenGroupObj, getGroupTypeName(name, inheritTypeLevel), tokenWithoutName.type);
+ 
+        // Add value and description keys directly to preserve order
+        setTokenKey(tokenWithoutTypeLevel, FormatSensitiveTokenKeys.VALUE);
+        // Only add the description key if it exists
+        if (tokenWithoutTypeLevel.description) {
+          setTokenKey(tokenWithoutTypeLevel, FormatSensitiveTokenKeys.DESCRIPTION);
+        }
+        set(tokenGroupObj, name, tokenWithoutTypeLevel, { merge: true });
+      } else {
+        // For tokens without inheritTypeLevel, directly add type, value, and description to preserve order
+        setTokenKey(tokenWithoutName, FormatSensitiveTokenKeys.TYPE);
+        setTokenKey(tokenWithoutName, FormatSensitiveTokenKeys.VALUE);
+        // Only add the description key if it exists
+        if (tokenWithoutName.description) {
+          setTokenKey(tokenWithoutName, FormatSensitiveTokenKeys.DESCRIPTION);
+        }
+        set(tokenGroupObj, name, tokenWithoutName, { merge: true });
+      }
+    });
+    acc[key] = tokenGroupObj;
+    return acc;
+  }, {});
+ 
+  return tokenObj;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html new file mode 100644 index 000000000..2bd518639 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/utils/convertVariableTypeToProperty.ts + + + + + + + + + +
+
+

All files / src/utils convertVariableTypeToProperty.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export default function convertVariableTypeToProperty(variableType: string): Properties {
+  switch (variableType) {
+    case 'visible':
+      return 'visibility' as Properties;
+    case 'topLeftRadius':
+      return 'borderRadiusTopLeft' as Properties;
+    case 'topRightRadius':
+      return 'borderRadiusTopRight' as Properties;
+    case 'bottomLeftRadius':
+      return 'borderRadiusBottomLeft' as Properties;
+    case 'bottomRightRadius':
+      return 'borderRadiusBottomRight' as Properties;
+    default:
+      return variableType as Properties;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html new file mode 100644 index 000000000..170c4a742 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/utils/credentials.ts + + + + + + + + + +
+
+

All files / src/utils credentials.ts

+
+ +
+ 0% + Statements + 0/31 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import compact from 'just-compact';
+import { notifyAPIProviders, notifyUI } from '@/plugin/notifiers';
+import isSameCredentials from './isSameCredentials';
+import { ApiProvidersProperty } from '@/figmaStorage';
+import { StorageTypeCredentials } from '@/types/StorageType';
+import { generateId } from './generateId';
+ 
+export async function updateCredentials(context: StorageTypeCredentials) {
+  try {
+    const data = await ApiProvidersProperty.read();
+    let existingProviders: NonNullable<typeof data> = [];
+    if (data) {
+      existingProviders = data;
+ 
+      let matchingProvider = -1;
+ 
+      if (context.internalId) {
+        matchingProvider = existingProviders.findIndex((i) => i.internalId === context.internalId);
+      } else {
+        matchingProvider = existingProviders.findIndex((i) => isSameCredentials(i, context));
+      }
+      // Handle case for old credentials where  we had no internalId. Check id and secret and provider then
+      if (matchingProvider !== -1) {
+        existingProviders.splice(matchingProvider, 1, context);
+      }
+ 
+      if (!data || matchingProvider === -1) {
+        existingProviders.push({
+          ...context,
+          internalId: context.internalId || generateId(24),
+        });
+      }
+    } else {
+      existingProviders.push({
+        ...context,
+        internalId: context.internalId || generateId(24),
+      });
+    }
+    await ApiProvidersProperty.write(existingProviders);
+    const newProviders = await ApiProvidersProperty.read();
+    notifyAPIProviders(newProviders ?? []);
+  } catch (err) {
+    notifyUI('There was an issue saving your credentials. Please try again.');
+  }
+}
+ 
+export async function removeSingleCredential(context: StorageTypeCredentials) {
+  try {
+    const data = await ApiProvidersProperty.read();
+    let existingProviders: NonNullable<typeof data> = [];
+    if (data) {
+      existingProviders = compact(
+        data.map((i) => (isSameCredentials(i, context) ? null : i)).filter((i) => i),
+      );
+    }
+    await ApiProvidersProperty.write(existingProviders);
+    const newProviders = await ApiProvidersProperty.read();
+    notifyAPIProviders(newProviders ?? []);
+  } catch (err) {
+    notifyUI('There was an issue saving your credentials. Please try again.');
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html new file mode 100644 index 000000000..59441be4b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/utils/date/compareUpdatedAt.ts + + + + + + + + + +
+
+

All files / src/utils/date compareUpdatedAt.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
export async function compareUpdatedAt(oldUpdatedAt: string | number | Date, newUpdatedAt: string | number | Date) {
+  const newDate = new Date(newUpdatedAt).getTime();
+  const oldDate = new Date(oldUpdatedAt).getTime();
+  if (newDate > oldDate) {
+    return 'remote_newer';
+  }
+  if (newDate === oldDate) {
+    return 'same';
+  }
+  return 'remote_older';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html new file mode 100644 index 000000000..0a455bb67 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/utils/date + + + + + + + + + +
+
+

All files src/utils/date

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
compareUpdatedAt.ts +
+
0%0/70%0/40%0/10%0/7
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html new file mode 100644 index 000000000..df345a95c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/utils/date/index.ts + + + + + + + + + +
+
+

All files / src/utils/date index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './compareUpdatedAt';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html new file mode 100644 index 000000000..86e568766 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/utils/detectFormat.tsx + + + + + + + + + +
+
+

All files / src/utils detectFormat.tsx

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { Tokens } from './convertTokens';
+ 
+export function detectFormat(tokens: Tokens, shouldSet: boolean) {
+  const stringifiedTokens = JSON.stringify(tokens);
+  if (stringifiedTokens.includes('$value')) {
+    if (shouldSet) TokenFormat.setFormat(TokenFormatOptions.DTCG);
+    return TokenFormatOptions.DTCG;
+  }
+  if (shouldSet) TokenFormat.setFormat(TokenFormatOptions.Legacy);
+  return TokenFormatOptions.Legacy;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html new file mode 100644 index 000000000..2bfc0095d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/utils/dragDropOrder/ensureFolderIsTogether.ts + + + + + + + + + +
+
+

All files / src/utils/dragDropOrder ensureFolderIsTogether.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { ItemData } from '@/context';
+import type { TreeItem } from '../tokenset/tokenSetListToTree';
+import { moveItem } from '../motion';
+ 
+export function ensureFolderIsTogether<T extends TreeItem>(value: T, order: ItemData<T>[], nextOrder: ItemData<T>[]) {
+  if (!value.isLeaf) {
+    // looks like we moved a folder
+    const originalIndex = order.findIndex((item) => item.value === value);
+    const nextIndex = nextOrder.findIndex((item) => item.value === value);
+    const delta = nextIndex - originalIndex;
+    const itemsToMove = nextOrder.filter((item) => item.value.parent === value.path);
+    itemsToMove.forEach((itemToMove) => {
+      if (delta !== 0) {
+        const itemToMoveIndex = nextOrder.findIndex((item) => item === itemToMove);
+        nextOrder = moveItem(nextOrder, itemToMoveIndex, itemToMoveIndex + delta);
+      }
+    });
+  }
+ 
+  return nextOrder;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html new file mode 100644 index 000000000..7822b4c3b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx + + + + + + + + + +
+
+

All files / src/utils/dragDropOrder findOrderableTargetIndexesInThemeList.tsx

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ItemData } from '@/context';
+import { TreeItem } from '../themeListToTree';
+ 
+export function findOrderableTargetIndexesInThemeList<T extends TreeItem>(velocity: number, value: T, order: ItemData<T>[]) {
+  if (value.isLeaf) {
+    return Array.from({ length: order.length - 1 }, (_, index) => index + 1);
+  }
+  const siblings = order.filter((item) => (
+    item.value !== value
+    && item.value.parent === value.parent
+  ));
+ 
+  const availableIndexes = siblings.map((item) => {
+    if (velocity > 0) {
+      const childrenCount = order.reduce((count, v) => (
+        v.value.parent?.startsWith(item.value.path) ? count + 1 : count
+      ), 0);
+      return order.indexOf(item) + childrenCount;
+    }
+    return order.indexOf(item);
+  });
+  return availableIndexes;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html new file mode 100644 index 000000000..2770810c9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/utils/dragDropOrder + + + + + + + + + +
+
+

All files src/utils/dragDropOrder

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/11 +
+ + +
+ 0% + Lines + 0/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ensureFolderIsTogether.ts +
+
0%0/140%0/40%0/60%0/10
findOrderableTargetIndexesInThemeList.tsx +
+
0%0/120%0/80%0/50%0/11
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html new file mode 100644 index 000000000..27895cc2b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/utils/dragDropOrder/index.ts + + + + + + + + + +
+
+

All files / src/utils/dragDropOrder index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export { ensureFolderIsTogether } from './ensureFolderIsTogether';
+export { findOrderableTargetIndexesInThemeList } from './findOrderableTargetIndexesInThemeList';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html new file mode 100644 index 000000000..415438393 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/error/handleReactError.ts + + + + + + + + + +
+
+

All files / src/utils/error handleReactError.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import * as Sentry from '@sentry/react';
+ 
+export function handleReactError(error: any) {
+  console.error(error);
+  Sentry.captureException(error);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html new file mode 100644 index 000000000..4907207f8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/utils/error + + + + + + + + + +
+
+

All files src/utils/error

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
handleReactError.ts +
+
0%0/2100%0/00%0/10%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html new file mode 100644 index 000000000..7db94013a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/expand.ts + + + + + + + + + +
+
+

All files / src/utils expand.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+import { convertToDefaultProperty } from './convertToDefaultProperty';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+interface BaseResult {
+  type: string;
+  value: string | number;
+}
+ 
+interface Result {
+  [key: string]: BaseResult | Result;
+}
+ 
+export function expand(token: SingleToken['value']) {
+  return Object.entries(token).reduce<Result>((acc, [key, val]) => {
+    if (typeof val === 'string' || typeof val === 'number') {
+      // Temporarily cast to 'any' to bypass TypeScript's static type checking. Our keys can either be value or $value (same for type)
+      const resultItem: any = {};
+      resultItem[TokenFormat.tokenValueKey] = val;
+      resultItem[TokenFormat.tokenTypeKey] = convertToDefaultProperty(key);
+ 
+      // Now cast back to BaseResult
+      acc[key] = resultItem as BaseResult;
+    } else {
+      acc[key] = expand(val);
+    }
+ 
+    return acc;
+  }, {});
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html new file mode 100644 index 000000000..5d2454b50 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/utils/fetchFeatureFlags.ts + + + + + + + + + +
+
+

All files / src/utils fetchFeatureFlags.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as LDClient from 'launchdarkly-js-client-sdk';
+import Case from 'case';
+import { Entitlements } from '@/app/store/models/userState';
+import validateLicense from '@/utils/validateLicense';
+import { UserData } from '@/types/userData';
+ 
+export default async function fetchFeatureFlags(userData: UserData) {
+  if (process.env.LAUNCHDARKLY_FLAGS) {
+    return Object.fromEntries(process.env.LAUNCHDARKLY_FLAGS!.split(',').map((flag) => (
+      [flag, true]
+    )));
+  }
+ 
+  if (userData.licenseKey && userData.userId) {
+    const {
+      plan, email: clientEmail, entitlements,
+    } = await validateLicense(userData.licenseKey, userData.userId, userData.userName);
+    const userAttributes: Record<string, string | boolean> = {
+      plan: plan || '',
+      email: clientEmail || '',
+      os: !entitlements?.includes(Entitlements.PRO),
+    };
+    entitlements?.forEach((entitlement) => {
+      userAttributes[entitlement] = true;
+    });
+    const ldClientSideId = process.env.LAUNCHDARKLY_SDK_CLIENT || '';
+    const client = LDClient.initialize(ldClientSideId, {
+      key: userData.userId,
+      custom: userAttributes,
+    });
+    await client.waitUntilReady();
+    const rawFlags = client.allFlags();
+    const normalizedFlags = Object.fromEntries(
+      Object.entries(rawFlags).map(([key, value]) => [Case.camel(key), value]),
+    );
+    return normalizedFlags;
+  }
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html new file mode 100644 index 000000000..a131ef784 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/figma/goToNodeId.ts + + + + + + + + + +
+
+

All files / src/utils/figma goToNodeId.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function goToNodeId(id: string) {
+  AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.GOTO_NODE,
+    id,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html new file mode 100644 index 000000000..aa8af537f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/utils/figma + + + + + + + + + +
+
+

All files src/utils/figma

+
+ +
+ 0% + Statements + 0/22 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
goToNodeId.ts +
+
0%0/1100%0/00%0/10%0/1
index.ts +
+
0%0/00%0/00%0/00%0/0
selectNodes.ts +
+
0%0/1100%0/00%0/10%0/1
updateLocalTokensData.ts +
+
0%0/200%0/100%0/10%0/20
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html new file mode 100644 index 000000000..d63c4b9dc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/figma/index.ts + + + + + + + + + +
+
+

All files / src/utils/figma index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export * from './goToNodeId';
+export * from './selectNodes';
+export * from './updateLocalTokensData';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html new file mode 100644 index 000000000..509f2bd88 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/figma/selectNodes.ts + + + + + + + + + +
+
+

All files / src/utils/figma selectNodes.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+ 
+export function selectNodes(ids: string[]) {
+  AsyncMessageChannel.ReactInstance.message({
+    type: AsyncMessageTypes.SELECT_NODES,
+    ids,
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html new file mode 100644 index 000000000..d09e5f8f0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/utils/figma/updateLocalTokensData.ts + + + + + + + + + +
+
+

All files / src/utils/figma updateLocalTokensData.ts

+
+ +
+ 0% + Statements + 0/20 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as pjs from '../../../package.json';
+import { ThemeObjectsList, UsedTokenSetsMap } from '@/types';
+import { AnyTokenList } from '@/types/tokens';
+import {
+  ActiveThemeProperty,
+  ThemesProperty, TokenFormatProperty, UpdatedAtProperty, UsedTokenSetProperty, ValuesProperty, VersionProperty, IsCompressedProperty,
+} from '@/figmaStorage';
+import { CollapsedTokenSetsProperty } from '@/figmaStorage/CollapsedTokenSetsProperty';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { StorageProviderType } from '@/types/StorageType';
+import { ClientStorageProperty } from '@/figmaStorage/ClientStorageProperty';
+import { getFileKey } from '../../plugin/helpers';
+ 
+type Payload = {
+  tokens: Record<string, AnyTokenList>
+  themes: ThemeObjectsList
+  compressedTokens: string
+  compressedThemes: string
+  usedTokenSets: UsedTokenSetsMap
+  activeTheme: Record<string, string>
+  updatedAt: string
+  checkForChanges: boolean
+  collapsedTokenSets: string[]
+  tokenFormat: TokenFormatOptions
+  storageProvider: StorageProviderType
+  storageSize: number
+};
+ 
+export async function updateLocalTokensData(payload: Payload) {
+  await VersionProperty.write(pjs.version);
+  // Check storage size and storage method
+  if (payload.storageProvider === StorageProviderType.LOCAL) {
+    await IsCompressedProperty.write(true);
+ 
+    // Only write themes if they've changed
+    const currentThemes = await ThemesProperty.read(figma.root, true);
+    const themesChanged = !currentThemes || JSON.stringify(currentThemes) !== JSON.stringify(payload.themes);
+    if (themesChanged) {
+      await ThemesProperty.write(payload.themes);
+    }
+ 
+    // Only write values if they've changed
+    const currentValues = await ValuesProperty.read(figma.root, true);
+    const valuesChanged = !currentValues || JSON.stringify(currentValues) !== JSON.stringify(payload.tokens);
+    if (valuesChanged) {
+      await ValuesProperty.write(payload.tokens);
+    }
+  } else {
+    const fileKey = await getFileKey();
+ 
+    await ClientStorageProperty.write('themes', fileKey, payload.compressedThemes);
+    await ClientStorageProperty.write('values', fileKey, payload.compressedTokens);
+    await ClientStorageProperty.write('checkForChanges', fileKey, payload.checkForChanges as unknown as string);
+  }
+  await UsedTokenSetProperty.write(payload.usedTokenSets);
+  await UpdatedAtProperty.write(payload.updatedAt);
+  await ActiveThemeProperty.write(payload.activeTheme);
+  await CollapsedTokenSetsProperty.write(payload.collapsedTokenSets);
+  await TokenFormatProperty.write(payload.tokenFormat);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html new file mode 100644 index 000000000..571386c65 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/utils/figmaStorage + + + + + + + + + +
+
+

All files src/utils/figmaStorage

+
+ +
+ 0% + Statements + 0/81 +
+ + +
+ 0% + Branches + 0/45 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/76 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
readSharedPluginData.ts +
+
0%0/290%0/190%0/30%0/28
writeSharedPluginData.ts +
+
0%0/520%0/260%0/10%0/48
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html new file mode 100644 index 000000000..7874d89cf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/utils/figmaStorage/readSharedPluginData.ts + + + + + + + + + +
+
+

All files / src/utils/figmaStorage readSharedPluginData.ts

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/19 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// Metadata suffix for storing information about chunked data
+const METADATA_SUFFIX = '_meta';
+ 
+// Chunk suffix prefix for chunk keys
+const CHUNK_SUFFIX_PREFIX = '_chunk_';
+ 
+/**
+ * Metadata structure for chunked data
+ */
+type ChunkedDataMetadata = {
+  type: 'single' | 'chunked';
+  count?: number;
+};
+ 
+/**
+ * Reads data from Figma's shared plugin data, automatically handling chunked data if present
+ * @param namespace The namespace to read from
+ * @param key The key to read from
+ * @param node The node to read from (defaults to figma.root)
+ * @returns The data as a string or null if no data is found
+ */
+export async function readSharedPluginData(
+  namespace: string,
+  key: string,
+  node: BaseNode = figma.root,
+): Promise<string | null> {
+  // For any properties other than values and themes, use regular read, no chunking
+  if (!['values', 'themes'].includes(key)) {
+    const value = node?.getSharedPluginData(namespace, key);
+    return value || null;
+  }
+ 
+  // First, check if there's metadata for chunked data
+  const metaKey = `${key}${METADATA_SUFFIX}`;
+  const metaValue = node?.getSharedPluginData(namespace, metaKey);
+ 
+  if (metaValue) {
+    try {
+      // Parse the metadata
+      const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
+ 
+      if (metadata.type === 'single') {
+        // If it's a single chunk, just read the data
+        const value = node?.getSharedPluginData(namespace, key);
+        return value || null;
+      }
+ 
+      if (metadata.type === 'chunked' && metadata.count) {
+        // Create an array of promises to read all chunks
+        const chunkPromises = Array.from({ length: metadata.count }, (_, i) => {
+          const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
+          return node?.getSharedPluginData(namespace, chunkKey);
+        });
+ 
+        // Wait for all chunks to be read
+        const chunks = await Promise.all(chunkPromises);
+ 
+        // Check if any chunks are missing
+        if (chunks.some((chunk) => !chunk)) {
+          console.error('One or more chunks are missing');
+          return null;
+        }
+ 
+        // Join chunks and return
+        return chunks.join('');
+      }
+ 
+      console.error('Unknown metadata type or missing count:', metadata);
+      return null;
+    } catch (err) {
+      console.error('Error parsing metadata:', err);
+      return null;
+    }
+  }
+ 
+  // If no metadata is found, try reading the data directly (for backward compatibility)
+  const value = node?.getSharedPluginData(namespace, key);
+  return value || null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html new file mode 100644 index 000000000..cc7adea4d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for src/utils/figmaStorage/writeSharedPluginData.ts + + + + + + + + + +
+
+

All files / src/utils/figmaStorage writeSharedPluginData.ts

+
+ +
+ 0% + Statements + 0/52 +
+ + +
+ 0% + Branches + 0/26 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { getUTF16StringSize } from '@/utils/getUTF16StringSize';
+import { splitIntoChunks } from '@/utils/splitIntoChunks';
+ 
+// Maximum size for a single chunk in bytes (95KB to stay safely under Figma's 100KB limit)
+const MAX_CHUNK_SIZE = 95 * 1024; // 95KB
+ 
+// Metadata suffix for storing information about chunked data
+const METADATA_SUFFIX = '_meta';
+ 
+// Chunk suffix prefix for chunk keys
+const CHUNK_SUFFIX_PREFIX = '_chunk_';
+ 
+/**
+ * Metadata structure for chunked data
+ */
+type ChunkedDataMetadata = {
+  type: 'single' | 'chunked';
+  count?: number;
+};
+ 
+/**
+ * Writes data to Figma's shared plugin data, automatically chunking if needed
+ * @param namespace The namespace to write to
+ * @param key The key to write to
+ * @param value The value to write
+ * @param node The node to write to (defaults to figma.root)
+ * @returns Promise that resolves when the write is complete
+ */
+export async function writeSharedPluginData(
+  namespace: string,
+  key: string,
+  value: string | null,
+  node: BaseNode = figma.root,
+): Promise<void> {
+  if (!value) {
+    // If value is null, clear the data
+    node?.setSharedPluginData(namespace, key, '');
+ 
+    // Also clear metadata and any chunks
+    const metaKey = `${key}${METADATA_SUFFIX}`;
+    node?.setSharedPluginData(namespace, metaKey, '');
+ 
+    // Try to read metadata to see if there were chunks
+    try {
+      const metaValue = node?.getSharedPluginData(namespace, metaKey);
+      if (metaValue) {
+        const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
+        if (metadata.type === 'chunked' && metadata.count) {
+          // Clear all chunks
+          for (let i = 0; i < metadata.count; i += 1) {
+            const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
+            node?.setSharedPluginData(namespace, chunkKey, '');
+          }
+        }
+      }
+    } catch (err) {
+      // Ignore errors when clearing
+    }
+ 
+    return;
+  }
+ 
+  if (!['values', 'themes'].includes(key)) {
+    node?.setSharedPluginData(namespace, key, value);
+    return;
+  }
+ 
+  // Get the byte length
+  const byteLength = getUTF16StringSize(value);
+  // If the value is small enough, store it directly
+  if (byteLength <= MAX_CHUNK_SIZE) {
+    // Set metadata to indicate single storage
+    const metaKey = `${key}${METADATA_SUFFIX}`;
+    node?.setSharedPluginData(namespace, metaKey, JSON.stringify({ type: 'single' }));
+ 
+    // Store the data
+    node?.setSharedPluginData(namespace, key, value);
+ 
+    // Try to clean up any old chunks
+    try {
+      const metaValue = node?.getSharedPluginData(namespace, metaKey);
+      if (metaValue) {
+        const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
+        if (metadata.type === 'chunked' && metadata.count) {
+          // Clear all old chunks
+          for (let i = 0; i < metadata.count; i += 1) {
+            const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
+            node?.setSharedPluginData(namespace, chunkKey, '');
+          }
+        }
+      }
+    } catch (err) {
+      // Ignore errors when clearing
+    }
+  } else {
+    // Split the data into chunks
+    const chunks = splitIntoChunks(value, MAX_CHUNK_SIZE);
+    const numChunks = chunks.length;
+ 
+    // Set metadata to indicate chunked storage
+    const metaKey = `${key}${METADATA_SUFFIX}`;
+    node?.setSharedPluginData(
+      namespace,
+      metaKey,
+      JSON.stringify({
+        type: 'chunked',
+        count: numChunks,
+      }),
+    );
+ 
+    // Store each chunk
+    for (let i = 0; i < numChunks; i += 1) {
+      const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
+      node?.setSharedPluginData(namespace, chunkKey, chunks[i]);
+    }
+ 
+    // Clear the main key to avoid confusion
+    node?.setSharedPluginData(namespace, key, '');
+ 
+    // Clean up any obsolete chunks
+    try {
+      const metaValue = node?.getSharedPluginData(namespace, metaKey);
+      if (metaValue) {
+        const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
+        if (metadata.type === 'chunked' && metadata.count && metadata.count > numChunks) {
+          // Clear obsolete chunks
+          for (let i = numChunks; i < metadata.count; i += 1) {
+            const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
+            node?.setSharedPluginData(namespace, chunkKey, '');
+          }
+        }
+      }
+    } catch (err) {
+      // Ignore errors when clearing
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html new file mode 100644 index 000000000..676504b11 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/filterValidCompositionTokenTypes.ts + + + + + + + + + +
+
+

All files / src/utils filterValidCompositionTokenTypes.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export function filterValidCompositionTokenTypes(tokenTypes: string[]): string[] {
+  return tokenTypes.filter((item) => !([Properties.composition, Properties.description, Properties.value, Properties.tokenName, Properties.tokenValue].includes(item as Properties)));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html new file mode 100644 index 000000000..9cf46989c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/utils/findAll.ts + + + + + + + + + +
+
+

All files / src/utils findAll.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ValidNodeTypes } from '@/constants/ValidNodeTypes';
+ 
+export function findAll(nodes: readonly BaseNode[], includeSelf = false, nodesWithoutPluginData = false): BaseNode[] {
+  let allNodes = includeSelf ? [...nodes] : [];
+  const pluginDataOptions = nodesWithoutPluginData
+    ? {}
+    : {
+      sharedPluginData: {
+        namespace: 'tokens',
+      },
+    };
+  nodes.forEach((node) => {
+    if ('children' in node) {
+      allNodes = allNodes.concat(
+        node.findAllWithCriteria({
+          types: ValidNodeTypes,
+          ...pluginDataOptions,
+        }),
+      );
+    }
+  });
+  return allNodes;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html new file mode 100644 index 000000000..50698a54d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/utils/findBoundVariable.ts + + + + + + + + + +
+
+

All files / src/utils findBoundVariable.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StyleToCreateToken } from '@/types/payloads';
+ 
+export function findBoundVariable(
+  style: TextStyle,
+  propertyKey: string,
+  localVariables: Variable[],
+  compareValue: (el: StyleToCreateToken) => boolean,
+): (el: StyleToCreateToken) => boolean {
+  return (el: StyleToCreateToken) => {
+    if (style.boundVariables?.[propertyKey]?.id) {
+      const boundVar = localVariables.find((v) => v.id === style.boundVariables?.[propertyKey]?.id);
+      if (boundVar) {
+        const normalizedName = boundVar.name.replace(/\//g, '.');
+        return el.name === normalizedName;
+      }
+    }
+    return compareValue(el);
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html new file mode 100644 index 000000000..8b48fe520 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/utils/findDifferentState.ts + + + + + + + + + +
+
+

All files / src/utils findDifferentState.ts

+
+ +
+ 0% + Statements + 0/45 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ImportToken } from '@/types/tokens';
+import { isEqual } from './isEqual';
+import { ThemeObject } from '@/types';
+import { RemoteTokenStorageMetadata } from '@/storage/RemoteTokenStorage';
+ 
+export type CompareStateType<Metadata = null> = {
+  tokens: Record<string, ImportToken[]>
+  themes: ImportTheme[]
+  metadata?: RemoteTokenStorageMetadata | Metadata
+};
+ 
+export type ImportTheme = ThemeObject & {
+  importType?: 'NEW' | 'UPDATE' | 'REMOVE'
+};
+ 
+export function findDifferentState(baseState: CompareStateType, compareState: CompareStateType): CompareStateType {
+  const entries: [string, ImportToken[]][] = [];
+  Object.entries(compareState.tokens)?.forEach(([tokenSet, values]) => {
+    const newTokens: ImportToken[] = [];
+    const updatedTokens: ImportToken[] = [];
+    const removedTokens: ImportToken[] = [];
+    // Find different tokens and new tokens in compareState
+    values.forEach((token) => {
+      const oldValue = baseState.tokens[tokenSet]?.find((t) => t.name === token.name);
+      if (oldValue) {
+        if (!isEqual(oldValue.value, token.value)) {
+          const updatedToken: ImportToken = { ...token };
+          updatedToken.oldValue = oldValue.value;
+          updatedToken.importType = 'UPDATE';
+          updatedTokens.push(updatedToken);
+        }
+        if (!isEqual(oldValue.description, token.description)) {
+          updatedTokens.push({
+            ...token,
+            oldDescription: oldValue.description,
+            importType: 'UPDATE',
+          });
+        }
+      } else {
+        newTokens.push({ ...token, importType: 'NEW' });
+      }
+    });
+    // Find the new tokens in baseState
+    baseState.tokens[tokenSet]?.forEach((token) => {
+      const oldValue = compareState.tokens[tokenSet]?.find((t) => t.name === token.name);
+      if (!oldValue) {
+        removedTokens.push({ ...token, importType: 'REMOVE' });
+      }
+    });
+    const totalUpdatedTokens = [...newTokens, ...updatedTokens, ...removedTokens];
+    entries.push([tokenSet, totalUpdatedTokens]);
+  });
+ 
+  // Find the new tokenSet in baseState
+  Object.entries(baseState.tokens).forEach(([tokenSet, values]) => {
+    const isTokenSetRemoved = typeof compareState.tokens[tokenSet] === 'undefined';
+    if (isTokenSetRemoved) {
+      entries.push([tokenSet, values.map((token) => ({ ...token, importType: 'REMOVE' }))]);
+    }
+  });
+ 
+  const changedThemes: ImportTheme[] = [];
+  const newThemes: ImportTheme[] = [];
+  const removedThemes: ImportTheme[] = [];
+  compareState.themes.forEach((theme) => {
+    const oldTheme = baseState.themes.find((t) => t.id === theme.id);
+    if (oldTheme) {
+      if (!isEqual(theme, oldTheme)) {
+        changedThemes.push({ ...theme, importType: 'UPDATE' });
+      }
+    } else {
+      newThemes.push({ ...theme, importType: 'NEW' });
+    }
+  });
+ 
+  baseState.themes.forEach((theme) => {
+    if (!compareState.themes.find((t) => t.id === theme.id)) {
+      removedThemes.push({ ...theme, importType: 'REMOVE' });
+    }
+  });
+ 
+  return {
+    // eslint-disable-next-line @typescript-eslint/no-unused-vars
+    tokens: Object.fromEntries(entries.filter(([_, tokens]) => tokens.length > 0)),
+    themes: [...newThemes, ...changedThemes, ...removedThemes],
+    metadata: !isEqual(baseState.metadata, compareState.metadata) ? compareState.metadata : null,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html new file mode 100644 index 000000000..c62fc3d8b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/utils/findReferences.tsx + + + + + + + + + +
+
+

All files / src/utils findReferences.tsx

+
+ +
+ 0% + Statements + 0/45 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/42 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AliasDollarRegex, AliasRegex } from '@/constants/AliasRegex';
+ 
+const OPENING_BRACE = '{';
+const CLOSING_BRACE = '}';
+ 
+export const findReferences = (tokenValue: string) => {
+  const matches = tokenValue?.toString().match(AliasRegex);
+  if (matches) {
+    return matches.map((item) => {
+      if (item.startsWith('{')) {
+        return item.slice(1, item.length - 1);
+      }
+      return item.substring(1);
+    });
+  }
+  return null;
+};
+ 
+export const findDollarReferences = (tokenValue: string) => tokenValue?.toString().match(AliasDollarRegex);
+ 
+export const findMatchingReferences = (tokenValue: string, valueToLookFor: string) => {
+  const references = findReferences(tokenValue);
+ 
+  if (references) {
+    return references.filter((ref) => {
+      if (ref === valueToLookFor) return ref;
+      return false;
+    });
+  }
+  return [];
+};
+ 
+export const replaceReferences = (tokenValue: string, oldName: string, newName: string) => {
+  try {
+    if (tokenValue.includes(oldName)) {
+      const references = findMatchingReferences(tokenValue, oldName);
+      let newValue = tokenValue;
+      references.forEach((reference) => {
+        newValue = newValue.replace(reference, newName);
+      });
+      return newValue;
+    }
+  } catch (e) {
+    console.log('Error replacing reference', tokenValue, oldName, newName, e);
+  }
+ 
+  return tokenValue;
+};
+ 
+export const getRootReferences = (tokenValue: string) => {
+  const array:string[] = [];
+  let depth = 0;
+  let startIndex = 0;
+  for (let i = 0; i < tokenValue.length; i += 1) {
+    if (tokenValue[i] === OPENING_BRACE) {
+      if (depth === 0) {
+        startIndex = i;
+      }
+      depth += 1;
+    }
+    if (tokenValue[i] === CLOSING_BRACE && depth > 0) {
+      depth -= 1;
+      if (depth === 0) {
+        array.push(tokenValue.substring(startIndex, i + 1));
+      }
+    }
+  }
+ 
+  return array.concat(findDollarReferences(tokenValue) || []);
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html new file mode 100644 index 000000000..905685ddb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/utils/formatCount.ts + + + + + + + + + +
+
+

All files / src/utils formatCount.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/**
+ * Format count to show "1k" for 1000 and "1.3k" for numbers over 1100
+ * @param count The number to format
+ * @returns Formatted string representation of the count
+ */
+export const formatCount = (count: number): string => {
+  if (count >= 1000) {
+    // For exact multiples of 1000, show without decimal
+    if (count % 1000 === 0) {
+      return `${count / 1000}k`;
+    }
+    // For numbers between 1000-1100, round down to 1k
+    if (count < 1100) {
+      return '1k';
+    }
+    // For other numbers, show with one decimal place
+    return `${(count / 1000).toFixed(1)}k`;
+  }
+  return count.toString();
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html new file mode 100644 index 000000000..a4f5a612f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/formatNumber.ts + + + + + + + + + +
+
+

All files / src/utils formatNumber.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export function formatNumber(num: number): string {
+  if (num >= 1000) {
+    return `${(num / 1000).toFixed(1)}k`;
+  }
+  return num.toString();
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html new file mode 100644 index 000000000..772bae455 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/utils/formatTokens.ts + + + + + + + + + +
+
+

All files / src/utils formatTokens.ts

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/39 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import set from 'set-value';
+import { expand } from '@/utils/expand';
+import { AnyTokenList } from '@/types/tokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+import removeTokenId from './removeTokenId';
+import { convertTokenToFormat } from './convertTokenToFormat';
+import { getGroupTypeName } from './stringifyTokens';
+ 
+type Options = {
+  tokens: Record<string, AnyTokenList>;
+  tokenSets: string[];
+  resolvedTokens: AnyTokenList;
+  includeAllTokens?: boolean;
+  includeParent?: boolean;
+  expandTypography?: boolean;
+  expandShadow?: boolean;
+  expandComposition?: boolean;
+  expandBorder?: boolean;
+  storeTokenIdInJsonEditor?: boolean
+};
+ 
+export default function formatTokens({
+  tokens,
+  tokenSets,
+  resolvedTokens,
+  includeAllTokens = false,
+  includeParent = true,
+  expandTypography = false,
+  expandShadow = false,
+  expandComposition = false,
+  expandBorder = false,
+  storeTokenIdInJsonEditor = false,
+}: Options) {
+  const nestUnderParent = includeAllTokens ? true : includeParent;
+  const tokenObj = {};
+  tokenSets.forEach((tokenSet) => {
+    tokens[tokenSet]?.forEach((token) => {
+      const { name, ...tokenWithoutName } = removeTokenId(token, !storeTokenIdInJsonEditor);
+ 
+      const convertedToFormat = convertTokenToFormat(tokenWithoutName);
+      // set type of group level
+      if (token.inheritTypeLevel) {
+        const nameToSet = getGroupTypeName(token.name, token.inheritTypeLevel);
+        set(tokenObj, nestUnderParent ? [tokenSet, nameToSet].join('.') : nameToSet, token.type, { merge: true });
+      }
+      if (
+        (token.type === TokenTypes.TYPOGRAPHY && expandTypography)
+        || (token.type === TokenTypes.BOX_SHADOW && expandShadow)
+        || (token.type === TokenTypes.COMPOSITION && expandComposition)
+        || (token.type === TokenTypes.BORDER && expandBorder)
+      ) {
+        if (typeof token.value === 'string') {
+          const resolvedToken = resolvedTokens.find((t) => t.name === name);
+          if (resolvedToken) {
+            if (typeof resolvedToken.value === 'string') {
+              set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, convertedToFormat);
+            } else {
+              const expanded = expand(resolvedToken?.value);
+              const expandedToFormat = convertTokenToFormat(expanded, true);
+              set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, { ...expandedToFormat });
+            }
+          } else {
+            set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, convertedToFormat);
+          }
+        } else {
+          const expanded = expand(tokenWithoutName.value);
+          const expandedToFormat = convertTokenToFormat(expanded, true);
+ 
+          set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, { ...expandedToFormat });
+        }
+      } else {
+        set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, convertedToFormat);
+      }
+    });
+  });
+ 
+  return JSON.stringify(tokenObj, null, 2);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html new file mode 100644 index 000000000..fe65d03b1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/utils/fuzzySearch.ts + + + + + + + + + +
+
+

All files / src/utils fuzzySearch.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable no-plusplus */
+/* eslint-disable no-labels */
+/* eslint-disable no-continue */
+export default function fuzzySearch(needle: string, haystack: string) {
+  const hlen = haystack.length;
+  const nlen = needle.length;
+  if (nlen > hlen) {
+    return false;
+  }
+  if (nlen === hlen) {
+    return needle === haystack;
+  }
+  // eslint-disable-next-line no-restricted-syntax
+  outer: for (let i = 0, j = 0; i < nlen; i++) {
+    const nch = needle.charCodeAt(i);
+    while (j < hlen) {
+      if (haystack.charCodeAt(j++) === nch) {
+        continue outer;
+      }
+    }
+    return false;
+  }
+  return true;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html new file mode 100644 index 000000000..57eb8eee7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/generateId.ts + + + + + + + + + +
+
+

All files / src/utils generateId.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
export function generateId(len: number, charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {
+  let randomString = '';
+  for (let i = 0; i < len; i += 1) {
+    const randomPoz = Math.floor(Math.random() * charSet.length);
+    randomString += charSet.substring(randomPoz, randomPoz + 1);
+  }
+  return randomString;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html new file mode 100644 index 000000000..c6cac0d80 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/getActiveTheme.ts + + + + + + + + + +
+
+

All files / src/utils getActiveTheme.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { ActiveThemeProperty } from '@/figmaStorage';
+ 
+export async function getActiveTheme(): Promise<string | Record<string, string>> {
+  const activeTheme = await ActiveThemeProperty.read();
+  if (activeTheme) {
+    return activeTheme;
+  }
+  return {};
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html new file mode 100644 index 000000000..ae4e7c2bb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/getEffectStylesIdMap.ts + + + + + + + + + +
+
+

All files / src/utils getEffectStylesIdMap.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export function getEffectStylesIdMap() {
+  const effectStyles = figma.getLocalEffectStyles();
+  const effectStylesToIdMap = new Map<string, EffectStyle>();
+  effectStyles.forEach((style) => effectStylesToIdMap.set(style.id, style));
+  return effectStylesToIdMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html new file mode 100644 index 000000000..3ecb6967c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/utils/getEffectStylesKeyMap.ts + + + + + + + + + +
+
+

All files / src/utils getEffectStylesKeyMap.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
export function getEffectStylesKeyMap() {
+  const effectStyles = figma.getLocalEffectStyles();
+  const effectStylesToKeyMap = new Map<string, EffectStyle>();
+  effectStyles.forEach((style) => {
+    const splitName = style.name.split('/').map((name) => name.trim());
+    const trimmedName = splitName.join('/');
+    return effectStylesToKeyMap.set(trimmedName, style);
+  });
+  return effectStylesToKeyMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html new file mode 100644 index 000000000..91da80248 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/utils/getLabelForProperty.tsx + + + + + + + + + +
+
+

All files / src/utils getLabelForProperty.tsx

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import {
+  IconFontSize, IconLetterSpacing, IconParagraphSpacing, IconLineHeight, IconTextCase, IconTextDecoration, IconParagraphIndent,
+} from '@/icons';
+ 
+// write a function that maps a key to a react component and returns that component or the text label
+export function getLabelForProperty(key: string): React.ReactElement | string {
+  switch (key) {
+    case 'fontSize': {
+      return <IconFontSize />;
+    }
+    case 'letterSpacing': {
+      return <IconLetterSpacing />;
+    }
+    case 'lineHeight': {
+      return <IconLineHeight />;
+    }
+    case 'paragraphSpacing': {
+      return <IconParagraphSpacing />;
+    }
+    case 'paragraphIndent': {
+      return <IconParagraphIndent />;
+    }
+    case 'textDecoration': {
+      return <IconTextDecoration />;
+    }
+    case 'textCase': {
+      return <IconTextCase />;
+    }
+    case 'fontFamily': {
+      return 'Font';
+    }
+    case 'fontWeight': {
+      return 'Weight';
+    }
+    case 'width': {
+      return 'Width';
+    }
+    case 'style': {
+      return 'Style';
+    }
+    case 'lighten': {
+      return 'Amount (0-1)';
+    }
+    case 'darken': {
+      return 'Amount (0-1)';
+    }
+    case 'mix': {
+      return 'Ratio (0-1)';
+    }
+    case 'alpha': {
+      return 'Opacity (0-1)';
+    }
+    default: {
+      return key;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html new file mode 100644 index 000000000..af75bf597 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/utils/getLastOpened.ts + + + + + + + + + +
+
+

All files / src/utils getLastOpened.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { LastOpenedProperty } from '@/figmaStorage';
+ 
+export default async function getLastOpened(): Promise<number> {
+  let data: number;
+  try {
+    // Set specific date as lastOpened if none existed (when we started the changelog)
+    data = await LastOpenedProperty.read() || 0;
+    await LastOpenedProperty.write(Date.now());
+  } catch (e) {
+    console.error('error retrieving lastOpened', e);
+    await LastOpenedProperty.write(Date.now());
+    data = 0;
+  }
+ 
+  return data;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html new file mode 100644 index 000000000..b40d245d4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/utils/getLicenseKey.ts + + + + + + + + + +
+
+

All files / src/utils getLicenseKey.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { handleReactError } from './error/handleReactError';
+ 
+type GetLicenseKeyResponse =
+  { key: string; }
+  | { error: string; };
+ 
+export default async function getLicenseKey(userId: string | null): Promise<GetLicenseKeyResponse> {
+  try {
+    const res = await fetch(`${process.env.LICENSE_API_URL}/get-license?userId=${userId}`);
+    if (res.status === 200) {
+      return await res.json();
+    }
+ 
+    const { message } = await res.json();
+    return {
+      error: message,
+    };
+  } catch (e) {
+    handleReactError(e);
+    return {
+      error: 'Error fetching license',
+    };
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html new file mode 100644 index 000000000..47229274b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/utils/getOnboardingExplainer.ts + + + + + + + + + +
+
+

All files / src/utils getOnboardingExplainer.ts

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  OnboardingExplainerSetsProperty, OnboardingExplainerSyncProvidersProperty, OnboardingExplainerInspectProperty, LastOpenedProperty, OnboardingExplainerExportSetsProperty,
+} from '@/figmaStorage';
+ 
+const data = {
+  sets: true,
+  exportSets: true,
+  syncProviders: true,
+  inspect: true,
+};
+let lastopend: number = 0;
+ 
+export default async function getOnboardingExplainer() {
+  try {
+    // Set onboarding explainer status as true if lastopend none existed
+    lastopend = await LastOpenedProperty.read() || 0;
+    if (lastopend) {
+      data.sets = await OnboardingExplainerSetsProperty.read() || false;
+      data.exportSets = await OnboardingExplainerExportSetsProperty.read() || false;
+      data.syncProviders = await OnboardingExplainerSyncProvidersProperty.read() || false;
+      data.inspect = await OnboardingExplainerInspectProperty.read() || false;
+    } else {
+      await OnboardingExplainerSetsProperty.write(true);
+      await OnboardingExplainerExportSetsProperty.write(true);
+      await OnboardingExplainerSyncProvidersProperty.write(true);
+      await OnboardingExplainerInspectProperty.write(true);
+    }
+  } catch (e) {
+    console.error('error retrieving onboardingExplainers', e);
+    await OnboardingExplainerSetsProperty.write(true);
+    await OnboardingExplainerExportSetsProperty.write(true);
+    await OnboardingExplainerSyncProvidersProperty.write(true);
+    await OnboardingExplainerInspectProperty.write(true);
+  }
+ 
+  return data;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html new file mode 100644 index 000000000..65be668b8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/getPaintStylesIdMap.ts + + + + + + + + + +
+
+

All files / src/utils getPaintStylesIdMap.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export function getPaintStylesIdMap() {
+  const paints = figma.getLocalPaintStyles();
+  const paintToIdMap = new Map<string, PaintStyle>();
+  paints.forEach((style) => paintToIdMap.set(style.id, style));
+  return paintToIdMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html new file mode 100644 index 000000000..60c1d4b78 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/utils/getPaintStylesKeyMap.ts + + + + + + + + + +
+
+

All files / src/utils getPaintStylesKeyMap.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
export function getPaintStylesKeyMap() {
+  const paints = figma.getLocalPaintStyles();
+  const paintToKeyMap = new Map<string, PaintStyle>();
+  paints.forEach((style) => {
+    const splitName = style.name.split('/').map((name) => name.trim());
+    const trimmedName = splitName.join('/');
+    return paintToKeyMap.set(trimmedName, style);
+  });
+  return paintToKeyMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html new file mode 100644 index 000000000..e9426d483 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/getPathName.ts + + + + + + + + + +
+
+

All files / src/utils getPathName.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export function getPathName(ref: string) {
+  if (ref.startsWith('{')) {
+    return ref.slice(1, ref.length - 1);
+  }
+  return ref.substring(1);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html new file mode 100644 index 000000000..ae9c53f06 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/utils/getProviderIcon.tsx + + + + + + + + + +
+
+

All files / src/utils getProviderIcon.tsx

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import { ArchiveIcon, GitHubLogoIcon, Link2Icon } from '@radix-ui/react-icons';
+import { IconFile } from '@/icons';
+import GitLabIcon from '@/icons/gitlab.svg';
+import ADOIcon from '@/icons/azure.svg';
+import JSONBinIcon from '@/icons/jsonbin.svg';
+import SupernovaIcon from '@/icons/supernova.svg';
+import TokensStudioIcon from '@/icons/tokensstudio.svg';
+import BitBucketIcon from '@/icons/bitbucket.svg';
+import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export function getProviderIcon(provider: StorageProviderType) {
+  switch (provider) {
+    case StorageProviderType.LOCAL:
+      return <IconFile />;
+    case StorageProviderType.URL:
+      return <Link2Icon />;
+    case StorageProviderType.GITHUB:
+      return <GitHubLogoIcon />;
+    case StorageProviderType.GITLAB:
+      return <GitLabIcon />;
+    case StorageProviderType.ADO:
+      return <ADOIcon />;
+    case StorageProviderType.BITBUCKET:
+      return <BitBucketIcon />;
+    case StorageProviderType.JSONBIN:
+      return <JSONBinIcon />;
+    case StorageProviderType.SUPERNOVA:
+      return <SupernovaIcon />;
+    case StorageProviderType.GENERIC_VERSIONED_STORAGE:
+      return <ArchiveIcon />;
+    case StorageProviderType.TOKENS_STUDIO:
+      return <TokensStudioIcon />;
+    default:
+      return null;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html new file mode 100644 index 000000000..c872aa83c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/getResolvedTextValue.ts + + + + + + + + + +
+
+

All files / src/utils getResolvedTextValue.ts

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+ 
+export default function getResolvedTextValue(token: SingleToken) {
+  let returnValue: string = '';
+  if (token.type === TokenTypes.TYPOGRAPHY || token.type === TokenTypes.BOX_SHADOW) {
+    if (Array.isArray(token.value)) {
+      const array = token.value.reduce<Array<string>>((totalAcc, item) => {
+        const singleReturnValue = Object.entries(item).reduce<Array<string>>((acc, [, propertyValue]) => (
+          acc.concat(`${propertyValue.toString()}`)
+        ), []);
+        return totalAcc.concat(`${singleReturnValue.join('/')}`);
+      }, []);
+      returnValue = array.join(',');
+    } else {
+      const array = Object.entries(token.value).reduce<Array<string>>((acc, [, propertyValue]) => (
+        acc.concat(`${propertyValue.toString()}`)
+      ), []);
+      returnValue = array.join('/');
+    }
+  } else if (token.type === TokenTypes.COMPOSITION) {
+    const array = Object.entries(token.value).reduce<Array<string>>((acc, [property, value]) => (
+      acc.concat(`${property}:${value}`)
+    ), []);
+    returnValue = array.join(',');
+  } else if (typeof token.value === 'string' || typeof token.value === 'number') {
+    returnValue = token.value;
+  }
+  return returnValue;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html new file mode 100644 index 000000000..d28fb2f8e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/getTextStylesIdMap.ts + + + + + + + + + +
+
+

All files / src/utils getTextStylesIdMap.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export function getTextStylesIdMap() {
+  const textStyles = figma.getLocalTextStyles();
+  const textStyleToIdMap = new Map<string, TextStyle>();
+  textStyles.forEach((style) => textStyleToIdMap.set(style.id, style));
+  return textStyleToIdMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html new file mode 100644 index 000000000..999f747fe --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/utils/getTextStylesKeyMap.ts + + + + + + + + + +
+
+

All files / src/utils getTextStylesKeyMap.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
export function getTextStylesKeyMap() {
+  const textStyles = figma.getLocalTextStyles();
+  const textStyleToKeyMap = new Map<string, TextStyle>();
+  textStyles.forEach((style) => {
+    const splitName = style.name.split('/').map((name) => name.trim());
+    const trimmedName = splitName.join('/');
+    return textStyleToKeyMap.set(trimmedName, style);
+  });
+  return textStyleToKeyMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html new file mode 100644 index 000000000..6f2292d0f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/utils/getTokenSetsOrder.ts + + + + + + + + + +
+
+

All files / src/utils getTokenSetsOrder.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { UsedTokenSetsMap } from '@/types';
+import { SingleToken } from '@/types/tokens';
+import { sortSets } from './sortSets';
+ 
+export function getTokenSetsOrder(
+  tokens: Record<string, SingleToken[]>,
+  usedSets: UsedTokenSetsMap,
+  overallConfig: UsedTokenSetsMap,
+  activeTokenSet?: string,
+): { tokenSetsOrder: string[]; usedSetsList: string[]; overallSets: string[]; } {
+  const originalTokenSetOrder = Object.keys(tokens);
+  const usedSetsList = originalTokenSetOrder.filter((key) => usedSets[key] === TokenSetStatus.ENABLED || usedSets[key] === TokenSetStatus.SOURCE);
+  const overallSets = originalTokenSetOrder
+    .filter((set) => !usedSetsList.includes(set))
+    .sort((a, b) => sortSets(a, b, overallConfig));
+ 
+  if (activeTokenSet) {
+    usedSetsList.splice(usedSetsList.indexOf(activeTokenSet), 1);
+    usedSetsList.push(activeTokenSet);
+  }
+ 
+  const tokenSetsOrder = [...overallSets, ...usedSetsList];
+ 
+  return { tokenSetsOrder, usedSetsList, overallSets };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html new file mode 100644 index 000000000..bb1c1f608 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/getTokenTypeKey.ts + + + + + + + + + +
+
+

All files / src/utils getTokenTypeKey.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+export function getTokenTypeKey(ignoreTokenFormat: boolean = false): string {
+  const key = TokenFormat.tokenTypeKey;
+  return ignoreTokenFormat && key.startsWith('$') ? key.slice(1) : key;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html new file mode 100644 index 000000000..74cd629b5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/getTokenValueKey.ts + + + + + + + + + +
+
+

All files / src/utils getTokenValueKey.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+ 
+export function getTokenValueKey(ignoreTokenFormat: boolean = false): string {
+  const key = TokenFormat.tokenValueKey;
+  return ignoreTokenFormat && key.startsWith('$') ? key.slice(1) : key;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html new file mode 100644 index 000000000..5eecb7441 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/getUTF16StringSize.ts + + + + + + + + + +
+
+

All files / src/utils getUTF16StringSize.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export function getUTF16StringSize(str: string): number {
+  return str.length * 2; // UTF-16 uses 2 bytes per character
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html new file mode 100644 index 000000000..00264b306 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/utils/getUsedTokenSet.ts + + + + + + + + + +
+
+

All files / src/utils getUsedTokenSet.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { UsedTokenSetProperty } from '@/figmaStorage';
+import { UsedTokenSetsMap } from '@/types';
+import { migrate } from './migrate';
+ 
+export async function getUsedTokenSet(): Promise<UsedTokenSetsMap | null> {
+  const usedTokenSets = await UsedTokenSetProperty.read();
+  let migratedUsedTokenSet: UsedTokenSetsMap = {};
+  if (usedTokenSets) {
+    // @README in previous versions the used tokens were saved as string[]
+    // this means we will need to normalize it into the new format to support
+    // multi-state token sets (disabled,source,enabled)
+    migratedUsedTokenSet = migrate<typeof usedTokenSets, UsedTokenSetsMap>(
+      usedTokenSets,
+      (input): input is string[] => Array.isArray(input),
+      (input) => (
+        Object.fromEntries<TokenSetStatus>(
+          input.map((tokenSet) => (
+            [tokenSet, TokenSetStatus.ENABLED]
+          )),
+        )
+      ),
+    );
+ 
+    return migratedUsedTokenSet;
+  }
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html new file mode 100644 index 000000000..725f57820 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/utils/getValueWithReferences.ts + + + + + + + + + +
+
+

All files / src/utils getValueWithReferences.ts

+
+ +
+ 0% + Statements + 0/26 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleToken } from '@/types/tokens';
+import { TokenBoxshadowValue, TokenTypographyValue } from '@/types/values';
+import { TransformerOptions } from './types';
+ 
+function getSimpleValue(resolvedValue: SingleToken['value'], rawValue: SingleToken['value'], options: TransformerOptions) {
+  let value = resolvedValue;
+  /*
+   * ***************************************************************************
+   * TOKEN EXAMPLES WHEN USING --resolveReferences='math'
+   * ***************************************************************************
+   * {spacing.xs} * 2                 =>  MATH EXPRESSION       => RESOLVE
+   * {spacing.xs} * {spacing.scale}   =>  MATH EXPRESSION       => RESOLVE
+   *
+   * {spacing.xs}                     =>  SINGLE TOKEN          => DON'T RESOLVE
+   * {spacing.xs}rem                  =>  SINGLE TOKEN + UNIT   => DON'T RESOLVE
+   * {spacing.xs}{spacing.unit}       =>  MULTIPLE TOKENS       => DON'T RESOLVE
+   *
+   * rgba(255, 0, 0, {opacity.low})   =>  CSS FUNCTION          => DON'T RESOLVE
+   * calc({spacing.xl} * 2)           =>  CSS FUNCTION          => DON'T RESOLVE
+   * 20% {border-radius.smooth}       =>  CSS LIST VALUE        => DON'T RESOLVE
+   * ***************************************************************************
+   */
+ 
+  if (typeof rawValue === 'string' && resolvedValue.toString() !== rawValue) {
+    if (options.resolveReferences === false) {
+      value = rawValue;
+    }
+    if (options.resolveReferences === 'math') {
+      const singleAliasRegEx = /^{[^}]*}$|^\$[^$]*$/;
+      const oneOrMoreAliasRegEx = /{[^}]*}|\$[\w.-]*/g;
+      const aliasRegEx = typeof resolvedValue === 'number' ? singleAliasRegEx : oneOrMoreAliasRegEx;
+      if (aliasRegEx.test(rawValue)) {
+        value = rawValue;
+      }
+    }
+  }
+  return value as string; // TODO: remove `as string` when SingleGenericToken supports value as `string|number`
+}
+ 
+function getComplexValue<T extends SingleToken['value']>(
+  resolvedValue: T,
+  rawValue: T,
+  options: TransformerOptions,
+) {
+  type IndexedValueType = Record<string, string | number>;
+  if (typeof resolvedValue === 'object') {
+    return Object.entries(resolvedValue).reduce((acc, [key, val]) => {
+      const rawVal = (rawValue as IndexedValueType)[key];
+      // TODO: Remove as SingleToken["value"]
+      acc[key] = getSimpleValue(val as SingleToken['value'], rawVal as SingleToken['value'], options);
+      return acc;
+    }, {} as IndexedValueType) as T;
+  }
+  return getSimpleValue(resolvedValue as SingleToken['value'], rawValue as SingleToken['value'], options) as T;
+}
+ 
+export function getValueWithReferences(token: SingleToken, options: TransformerOptions) {
+  if (token.rawValue === undefined) {
+    return token.value;
+  }
+ 
+  if (token.type === TokenTypes.TYPOGRAPHY || token.type === TokenTypes.BOX_SHADOW || token.type === TokenTypes.COMPOSITION || token.type === TokenTypes.BORDER) {
+    if (Array.isArray(token.value)) {
+      const rawValue = token.rawValue as TokenBoxshadowValue[];
+      return token.value.map((shadow, index) => getComplexValue(shadow, rawValue[index], options));
+    }
+    return getComplexValue(token.value, token.rawValue as TokenTypographyValue | TokenBoxshadowValue, options);
+  }
+ 
+  return getSimpleValue(token.value, token.rawValue, options);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html new file mode 100644 index 000000000..a45020498 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/getVariablesMap.ts + + + + + + + + + +
+
+

All files / src/utils getVariablesMap.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
import { getVariablesWithoutZombies } from '@/plugin/getVariablesWithoutZombies';
+ 
+export async function getVariablesMap() {
+  return (await getVariablesWithoutZombies()).reduce<Record<string, Variable>>((acc, curr) => {
+    acc[curr.key] = curr;
+    return acc;
+  }, {});
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html new file mode 100644 index 000000000..35d3c80e3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/hasTokenValues.ts + + + + + + + + + +
+
+

All files / src/utils hasTokenValues.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { AnyTokenList } from '@/types/tokens';
+ 
+export function hasTokenValues(values: Record<string, AnyTokenList>) {
+  return Object.values(values ?? {}).some((value) => value.length > 0);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html new file mode 100644 index 000000000..8608a41a9 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/hasTokens.ts + + + + + + + + + +
+
+

All files / src/utils hasTokens.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
+ 
+export function hasTokens(map: NodeTokenRefMap) {
+  return Object.values(map).some((value) => !!value);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/index.html new file mode 100644 index 000000000..f3814e4cb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/index.html @@ -0,0 +1,1691 @@ + + + + + + Code coverage report for src/utils + + + + + + + + + +
+
+

All files src/utils

+
+ +
+ 0.27% + Statements + 4/1441 +
+ + +
+ 0% + Branches + 0/1148 +
+ + +
+ 0.74% + Functions + 2/267 +
+ + +
+ 0.22% + Lines + 3/1363 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
TokenResolver.ts +
+
0%0/1300%0/1150%0/80%0/129
addIdPropertyToTokens.ts +
+
0%0/100%0/40%0/30%0/10
addLicenseKey.ts +
+
0%0/170%0/60%0/10%0/17
analytics.tsx +
+
0%0/90%0/130%0/40%0/9
annotations.tsx +
+
0%0/1290%0/330%0/90%0/127
attemptOrFallback.ts +
+
0%0/4100%0/00%0/10%0/4
checkIfTokenCanCreateVariable.ts +
+
0%0/110%0/370%0/10%0/11
checkStorageSize.ts +
+
0%0/8100%0/00%0/10%0/8
compareLastSyncedState.ts +
+
0%0/50%0/20%0/10%0/5
convert.ts +
+
0%0/60%0/50%0/30%0/4
convertModifiedColorToHex.ts +
+
0%0/6100%0/00%0/10%0/6
convertToDefaultProperty.ts +
+
0%0/230%0/260%0/10%0/23
convertToOrderObj.ts +
+
0%0/3100%0/00%0/20%0/3
convertTokenNameToPath.ts +
+
0%0/80%0/60%0/20%0/7
convertTokenToFormat.ts +
+
0%0/130%0/130%0/20%0/11
convertTokenTypeToVariableType.ts +
+
0%0/70%0/100%0/10%0/7
convertTokens.tsx +
+
0%0/510%0/650%0/60%0/48
convertTokensObjectToResolved.ts +
+
0%0/60%0/30%0/20%0/6
convertTokensToGroupedObject.ts +
+
0%0/220%0/240%0/20%0/22
convertTokensToObject.ts +
+
0%0/210%0/60%0/30%0/21
convertVariableTypeToProperty.ts +
+
0%0/70%0/60%0/10%0/7
credentials.ts +
+
0%0/310%0/220%0/60%0/28
detectFormat.tsx +
+
0%0/80%0/60%0/10%0/6
expand.ts +
+
0%0/80%0/40%0/20%0/8
fetchFeatureFlags.ts +
+
0%0/160%0/120%0/40%0/16
filterValidCompositionTokenTypes.ts +
+
0%0/2100%0/00%0/20%0/1
findAll.ts +
+
0%0/60%0/80%0/20%0/6
findBoundVariable.ts +
+
0%0/80%0/40%0/30%0/7
findDifferentState.ts +
+
0%0/450%0/180%0/130%0/40
findReferences.tsx +
+
0%0/450%0/220%0/80%0/42
formatCount.ts +
+
0%0/80%0/60%0/10%0/8
formatNumber.ts +
+
0%0/30%0/20%0/10%0/3
formatTokens.ts +
+
0%0/250%0/390%0/40%0/24
fuzzySearch.ts +
+
0%0/160%0/60%0/10%0/13
generateId.ts +
+
0%0/60%0/10%0/10%0/5
getActiveTheme.ts +
+
0%0/40%0/20%0/10%0/4
getEffectStylesIdMap.ts +
+
0%0/5100%0/00%0/20%0/4
getEffectStylesKeyMap.ts +
+
0%0/8100%0/00%0/30%0/7
getLabelForProperty.tsx +
+
0%0/170%0/160%0/10%0/17
getLastOpened.ts +
+
0%0/70%0/20%0/10%0/7
getLicenseKey.ts +
+
0%0/80%0/20%0/10%0/8
getOnboardingExplainer.ts +
+
0%0/190%0/120%0/10%0/19
getPaintStylesIdMap.ts +
+
0%0/5100%0/00%0/20%0/4
getPaintStylesKeyMap.ts +
+
0%0/8100%0/00%0/30%0/7
getPathName.ts +
+
0%0/30%0/20%0/10%0/3
getProviderIcon.tsx +
+
0%0/120%0/110%0/10%0/12
getResolvedTextValue.ts +
+
0%0/180%0/120%0/50%0/18
getTextStylesIdMap.ts +
+
0%0/5100%0/00%0/20%0/4
getTextStylesKeyMap.ts +
+
0%0/8100%0/00%0/30%0/7
getTokenSetsOrder.ts +
+
0%0/110%0/40%0/40%0/10
getTokenTypeKey.ts +
+
0%0/20%0/50%0/10%0/2
getTokenValueKey.ts +
+
0%0/20%0/50%0/10%0/2
getUTF16StringSize.ts +
+
0%0/1100%0/00%0/10%0/1
getUsedTokenSet.ts +
+
0%0/90%0/20%0/40%0/9
getValueWithReferences.ts +
+
0%0/260%0/240%0/50%0/25
getVariablesMap.ts +
+
0%0/3100%0/00%0/20%0/3
hasTokenValues.ts +
+
0%0/20%0/20%0/20%0/1
hasTokens.ts +
+
0%0/2100%0/00%0/20%0/1
isAliasReference.ts +
+
0%0/10%0/30%0/10%0/1
isAutoLayout.tsx +
+
0%0/20%0/20%0/10%0/1
isColorEqual.ts +
+
0%0/1100%0/00%0/10%0/1
isEffectEqual.ts +
+
0%0/70%0/240%0/10%0/7
isEqual.ts +
+
0%0/370%0/310%0/40%0/35
isJSONString.ts +
+
0%0/4100%0/00%0/10%0/4
isPaintEqual.ts +
+
0%0/110%0/220%0/40%0/11
isSameCredentials.ts +
+
0%0/80%0/270%0/10%0/8
lastIndexOf.ts +
+
0%0/50%0/20%0/10%0/4
ldUserFactory.ts +
+
0%0/40%0/20%0/20%0/4
mapThemeToVariableInfo.ts +
+
0%0/50%0/40%0/20%0/4
mapTokensToVariableInfo.ts +
+
0%0/10%0/60%0/10%0/1
matchStyleName.ts +
+
0%0/10%0/40%0/10%0/1
matchVariableName.ts +
+
0%0/1100%0/00%0/10%0/1
migrate.ts +
+
0%0/30%0/20%0/10%0/3
mixpanel.tsx +
+
0%0/00%0/00%0/00%0/0
modifyColor.ts +
+
0%0/170%0/50%0/10%0/17
normalizeVariableName.ts +
+
100%4/4100%0/0100%2/2100%3/3
parseJson.ts +
+
0%0/1100%0/00%0/10%0/1
parseTokenValues.ts +
+
0%0/140%0/60%0/20%0/14
removeIdPropertyFromTokens.ts +
+
0%0/6100%0/00%0/30%0/5
removeLicense.ts +
+
0%0/100%0/20%0/10%0/10
removeTokenId.ts +
+
0%0/90%0/180%0/10%0/9
reorderItemInSet.ts +
+
0%0/00%0/00%0/10%0/0
setTokenKey.ts +
+
0%0/100%0/80%0/10%0/10
sortSelectionValueByProperties.ts +
+
0%0/4100%0/00%0/30%0/3
sortSets.ts +
+
0%0/90%0/160%0/10%0/6
splitIntoChunks.ts +
+
0%0/160%0/40%0/10%0/15
storyblok.ts +
+
0%0/120%0/60%0/30%0/11
stringifyTokens.ts +
+
0%0/300%0/80%0/30%0/30
themeListToTree.ts +
+
0%0/110%0/280%0/40%0/11
tokenArrayGroupToMap.ts +
+
0%0/3100%0/00%0/20%0/2
tokenHelpers.ts +
+
0%0/300%0/260%0/120%0/26
transform.ts +
+
0%0/1100%0/00%0/10%0/1
transformProviderName.tsx +
+
0%0/110%0/90%0/10%0/11
trimValue.ts +
+
0%0/100%0/40%0/40%0/10
tryApplyColorVariableId.ts +
+
0%0/270%0/240%0/10%0/25
tryApplyEffectVariableId.ts +
+
0%0/80%0/20%0/10%0/7
tryApplyVariableId.ts +
+
0%0/180%0/130%0/10%0/17
tryParseJson.ts +
+
0%0/4100%0/00%0/10%0/4
trySetStyleId.ts +
+
0%0/290%0/360%0/40%0/27
types.d.ts +
+
0%0/00%0/00%0/00%0/0
uiSettings.ts +
+
0%0/420%0/1170%0/20%0/42
updateTokenPayloadToSingleToken.ts +
+
0%0/20%0/40%0/10%0/2
validateGroupName.ts +
+
0%0/800%0/420%0/260%0/67
validateLicense.ts +
+
0%0/90%0/40%0/10%0/9
validateStudioTokensExtensions.ts +
+
0%0/90%0/100%0/20%0/9
waitForMessage.ts +
+
0%0/60%0/20%0/30%0/6
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html new file mode 100644 index 000000000..c9287482e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html @@ -0,0 +1,416 @@ + + + + + + Code coverage report for src/utils/is + + + + + + + + + +
+
+

All files src/utils/is

+
+ +
+ 0% + Statements + 0/56 +
+ + +
+ 0% + Branches + 0/138 +
+ + +
+ 0% + Functions + 0/28 +
+ + +
+ 0% + Lines + 0/46 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
isColorToken.ts +
+
0%0/30%0/20%0/10%0/2
isCompositeBorderValue.ts +
+
0%0/20%0/90%0/20%0/2
isDocumentationType.ts +
+
0%0/1100%0/00%0/10%0/1
isGitProvider.ts +
+
0%0/10%0/40%0/10%0/1
isMatchingStyle.ts +
+
0%0/4100%0/00%0/20%0/3
isPartOfInstance.ts +
+
0%0/1100%0/00%0/10%0/1
isPrimitiveValue.ts +
+
0%0/10%0/30%0/10%0/1
isPropertyType.ts +
+
0%0/1100%0/00%0/10%0/1
isSingleBorderToken.ts +
+
0%0/80%0/130%0/20%0/6
isSingleBoxShadowToken.ts +
+
0%0/80%0/150%0/20%0/6
isSingleBoxShadowValue.ts +
+
0%0/20%0/110%0/20%0/2
isSingleCompositionToken.ts +
+
0%0/80%0/130%0/20%0/6
isSingleInternalTokenValueObject.ts +
+
0%0/10%0/90%0/10%0/1
isSingleToken.ts +
+
0%0/10%0/40%0/10%0/1
isSingleTokenInJson.ts +
+
0%0/10%0/90%0/10%0/1
isSingleTokenValueObject.ts +
+
0%0/10%0/90%0/10%0/1
isSingleTypographyToken.ts +
+
0%0/80%0/130%0/20%0/6
isSingleTypographyValue.ts +
+
0%0/20%0/160%0/20%0/2
isTokenGroupWithType.ts +
+
0%0/10%0/80%0/10%0/1
isTokenType.ts +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html new file mode 100644 index 000000000..c56888e71 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/utils/is/index.ts + + + + + + + + + +
+
+

All files / src/utils/is index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
export * from './isSingleTokenValueObject';
+export * from './isSingleTypographyToken';
+export * from './isSingleCompositionToken';
+export * from './isSingleToken';
+export * from './isPropertyType';
+export * from './isSingleBoxShadowToken';
+export * from './isTokenType';
+export * from './isGitProvider';
+export * from './isPrimitiveValue';
+export * from './isSingleBoxShadowValue';
+export * from './isSingleTypographyValue';
+export * from './isMatchingStyle';
+export * from './isSingleBorderToken';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html new file mode 100644 index 000000000..523acfbee --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/utils/is/isColorToken.ts + + + + + + + + + +
+
+

All files / src/utils/is isColorToken.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SingleColorToken, SingleToken } from '@/types/tokens';
+ 
+export function isColorToken(token: SingleToken | any): token is SingleColorToken {
+  if (typeof token !== 'object') return false;
+  return token.type === TokenTypes.COLOR;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html new file mode 100644 index 000000000..bcb968326 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/utils/is/isCompositeBorderValue.ts + + + + + + + + + +
+
+

All files / src/utils/is isCompositeBorderValue.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { MapValuesToTokensResult } from '@/types';
+import type { SingleBorderToken } from '@/types/tokens';
+import type { TokenBorderValue } from '@/types/values';
+ 
+export function isCompositeBorderValue(value: MapValuesToTokensResult[string]): value is SingleBorderToken['value'] {
+  return Boolean(
+    value
+    && (
+      ((Array.isArray(value) ? value : [value]) as (
+        (TokenBorderValue | Extract<MapValuesToTokensResult[string], { property: string }[]>[number])[]
+      )).every((v) => (
+        v && typeof v === 'object'
+        && (
+          'color' in v
+          || 'width' in v
+          || 'style' in v
+        )
+      ))
+    ),
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html new file mode 100644 index 000000000..0465cd4d4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/is/isDocumentationType.ts + + + + + + + + + +
+
+

All files / src/utils/is isDocumentationType.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export function isDocumentationType(type: Properties): boolean {
+  return [Properties.tokenValue, Properties.value, Properties.tokenName, Properties.description].includes(type);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html new file mode 100644 index 000000000..a4469ac88 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/utils/is/isGitProvider.ts + + + + + + + + + +
+
+

All files / src/utils/is isGitProvider.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageType, StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+ 
+export function isGitProvider<
+  T extends StorageType | StorageTypeCredentials | StorageTypeFormValues<false> | StorageTypeFormValues<true>,
+>(
+  provider: T,
+): provider is
+  | Extract<T, { provider: StorageProviderType.ADO }>
+  | Extract<T, { provider: StorageProviderType.GITHUB | StorageProviderType.GITLAB }>
+  | Extract<T, { provider: StorageProviderType.BITBUCKET }> {
+  return (
+    provider.provider === StorageProviderType.ADO
+    || provider.provider === StorageProviderType.GITHUB
+    || provider.provider === StorageProviderType.GITLAB
+    || provider.provider === StorageProviderType.BITBUCKET
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html new file mode 100644 index 000000000..3dc7a1a2d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/is/isMatchingStyle.ts + + + + + + + + + +
+
+

All files / src/utils/is isMatchingStyle.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
export function isMatchingStyle(
+  tokenPath: string,
+  style: EffectStyle | PaintStyle | TextStyle,
+) {
+  const splitName = style.name.split('/').map((name) => name.trim());
+  const trimmedName = splitName.join('/');
+ 
+  return trimmedName === tokenPath;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html new file mode 100644 index 000000000..94c39b071 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/is/isPartOfInstance.ts + + + + + + + + + +
+
+

All files / src/utils/is isPartOfInstance.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export function isPartOfInstance(nodeId: string) {
+  return nodeId.startsWith('I');
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html new file mode 100644 index 000000000..a23a1e1e4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/utils/is/isPrimitiveValue.ts + + + + + + + + + +
+
+

All files / src/utils/is isPrimitiveValue.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
export function isPrimitiveValue<V>(value: V): value is Extract<V, boolean | number | string> {
+  return (
+    typeof value === 'string'
+    || typeof value === 'boolean'
+    || typeof value === 'number'
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html new file mode 100644 index 000000000..71ea907f7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/is/isPropertyType.ts + + + + + + + + + +
+
+

All files / src/utils/is isPropertyType.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+ 
+export function isPropertyType(input: string | Properties): input is Properties {
+  return Object.values<string>(Properties).includes(input);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html new file mode 100644 index 000000000..b2cdf2acf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/is/isSingleBorderToken.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleBorderToken.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { SingleBorderToken, SingleBorderTokenInJSON, SingleToken } from '@/types/tokens';
+import { TokenInJSON, Tokens } from '../convertTokens';
+import { getTokenTypeKey } from '../getTokenTypeKey';
+import { getTokenValueKey } from '../getTokenValueKey';
+ 
+export function isSingleBorderToken(
+  token: SingleToken | any,
+  ignoreTokenFormat: boolean = false,
+): token is SingleBorderToken {
+  if (typeof token !== 'object') return false;
+  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
+  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
+  return (
+    token[tokenTypeKey] === TokenTypes.BORDER
+    && (typeof token[tokenValueKey] === 'string'
+      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
+  );
+}
+ 
+export function isSingleBorderTokenInJSON(token: TokenInJSON | Tokens): token is SingleBorderTokenInJSON {
+  if (typeof token !== 'object') return false;
+  return (
+    token[TokenFormat.tokenTypeKey] === TokenTypes.BORDER
+    && (typeof token[TokenFormat.tokenValueKey] === 'string'
+      || (typeof token[TokenFormat.tokenValueKey] === 'object'
+        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html new file mode 100644 index 000000000..8f822c6ff --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/utils/is/isSingleBoxShadowToken.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleBoxShadowToken.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/15 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { SingleBoxShadowToken, SingleBoxShadowTokenInJSON, SingleToken } from '@/types/tokens';
+import { TokenInJSON, Tokens } from '../convertTokens';
+import { getTokenTypeKey } from '../getTokenTypeKey';
+import { getTokenValueKey } from '../getTokenValueKey';
+ 
+export function isSingleBoxShadowToken(
+  token: SingleToken | any,
+  ignoreTokenFormat: boolean = false,
+): token is SingleBoxShadowToken {
+  if (typeof token !== 'object') return false;
+  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
+  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
+  return (
+    token[tokenTypeKey] === TokenTypes.BOX_SHADOW
+    && (typeof token[tokenValueKey] === 'string'
+      || Array.isArray(token[tokenValueKey])
+      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
+  );
+}
+ 
+export function isSingleBoxShadowTokenInJSON(token: TokenInJSON | Tokens): token is SingleBoxShadowTokenInJSON {
+  if (typeof token !== 'object') return false;
+  return (
+    token[TokenFormat.tokenTypeKey] === TokenTypes.BOX_SHADOW
+    && (typeof token[TokenFormat.tokenValueKey] === 'string'
+      || Array.isArray(token[TokenFormat.tokenValueKey])
+      || (typeof token[TokenFormat.tokenValueKey] === 'object'
+        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html new file mode 100644 index 000000000..26d30e974 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/utils/is/isSingleBoxShadowValue.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleBoxShadowValue.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
+import type { MapValuesToTokensResult } from '@/types';
+import type { SingleBoxShadowToken } from '@/types/tokens';
+import type { TokenBoxshadowValue } from '@/types/values';
+ 
+export function isSingleBoxShadowValue(value: MapValuesToTokensResult[string]): value is SingleBoxShadowToken['value'] {
+  return Boolean(
+    value
+    && (
+      typeof value === 'string'
+      || ((Array.isArray(value) ? value : [value]) as (
+        (TokenBoxshadowValue | Extract<MapValuesToTokensResult[string], { property: string }[]>[number])[]
+      )).every((v) => (
+        v && typeof v === 'object'
+        && ('type' in v && 'color' in v)
+        && (
+          v.type === BoxShadowTypes.DROP_SHADOW
+          || v.type === BoxShadowTypes.INNER_SHADOW
+        )
+      ))
+    ),
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html new file mode 100644 index 000000000..2eec5a7de --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/is/isSingleCompositionToken.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleCompositionToken.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { SingleCompositionToken, SingleToken } from '@/types/tokens';
+import { TokenInJSON, Tokens } from '../convertTokens';
+import { getTokenTypeKey } from '../getTokenTypeKey';
+import { getTokenValueKey } from '../getTokenValueKey';
+ 
+export function isSingleCompositionToken(
+  token: SingleToken | any,
+  ignoreTokenFormat: boolean = false,
+): token is SingleCompositionToken {
+  if (typeof token !== 'object') return false;
+  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
+  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
+  return (
+    token[tokenTypeKey] === TokenTypes.COMPOSITION
+    && (typeof token[tokenValueKey] === 'string'
+      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
+  );
+}
+ 
+export function isSingleCompositionTokenInJSON(token: TokenInJSON | Tokens): token is SingleCompositionToken {
+  if (typeof token !== 'object') return false;
+  return (
+    token[TokenFormat.tokenTypeKey] === TokenTypes.COMPOSITION
+    && (typeof token[TokenFormat.tokenValueKey] === 'string'
+      || (typeof token[TokenFormat.tokenValueKey] === 'object'
+        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html new file mode 100644 index 000000000..e12d82ee0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/utils/is/isSingleInternalTokenValueObject.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleInternalTokenValueObject.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleTokenValueObject } from './isSingleTokenValueObject';
+ 
+export function isSingleInternalTokenValueObject(token: SingleTokenValueObject | any): token is SingleTokenValueObject {
+  return !!(
+    token
+    && typeof token === 'object'
+    && 'value' in token
+    && (
+      typeof token.value !== 'undefined'
+      && token.value !== null
+      && !(typeof token.value === 'object' && (token && 'value' in token.value))
+    )
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html new file mode 100644 index 000000000..cd825238e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/utils/is/isSingleToken.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleToken.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+ 
+export function isSingleToken(token: SingleToken | any): token is SingleToken {
+  return !!(
+    token
+    && typeof token === 'object'
+    && 'value' in token
+    && 'name' in token
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html new file mode 100644 index 000000000..f1593bfd7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/utils/is/isSingleTokenInJson.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleTokenInJson.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { TokenInJSON, Tokens } from '../convertTokens';
+ 
+export function isSingleTokenInJSON(token: TokenInJSON | Tokens): token is TokenInJSON {
+  return !!(
+    token
+    && typeof token === 'object'
+    && TokenFormat.tokenValueKey in token
+    && (
+      typeof token[TokenFormat.tokenValueKey] !== 'undefined'
+      && token[TokenFormat.tokenValueKey] !== null
+      && !(typeof token[TokenFormat.tokenValueKey] === 'object' && (token && TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey]))
+    )
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html new file mode 100644 index 000000000..69b9c7989 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/utils/is/isSingleTokenValueObject.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleTokenValueObject.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { SingleToken } from '@/types/tokens';
+ 
+export type SingleTokenValueObject = Pick<SingleToken, 'value'>;
+ 
+export function isSingleTokenValueObject(token: SingleTokenValueObject | any): token is SingleTokenValueObject {
+  return !!(
+    token
+    && typeof token === 'object'
+    && TokenFormat.tokenValueKey in token
+    && (
+      typeof token[TokenFormat.tokenValueKey] !== 'undefined'
+      && token[TokenFormat.tokenValueKey] !== null
+      && !(typeof token[TokenFormat.tokenValueKey] === 'object' && (token && TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey]))
+    )
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html new file mode 100644 index 000000000..0c6d2fddb --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/is/isSingleTypographyToken.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleTypographyToken.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { SingleTypographyToken, SingleTypographyTokenInJSON, SingleToken } from '@/types/tokens';
+import { TokenInJSON, Tokens } from '../convertTokens';
+import { getTokenTypeKey } from '../getTokenTypeKey';
+import { getTokenValueKey } from '../getTokenValueKey';
+ 
+export function isSingleTypographyToken(
+  token: SingleToken | any,
+  ignoreTokenFormat: boolean = false,
+): token is SingleTypographyToken {
+  if (typeof token !== 'object') return false;
+  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
+  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
+  return (
+    token[tokenTypeKey] === TokenTypes.TYPOGRAPHY
+    && (typeof token[tokenValueKey] === 'string'
+      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
+  );
+}
+ 
+export function isSingleTypographyTokenInJSON(token: TokenInJSON | Tokens): token is SingleTypographyTokenInJSON {
+  if (typeof token !== 'object') return false;
+  return (
+    token[TokenFormat.tokenTypeKey] === TokenTypes.TYPOGRAPHY
+    && (typeof token[TokenFormat.tokenValueKey] === 'string'
+      || (typeof token[TokenFormat.tokenValueKey] === 'object'
+        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html new file mode 100644 index 000000000..3c8408753 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/utils/is/isSingleTypographyValue.ts + + + + + + + + + +
+
+

All files / src/utils/is isSingleTypographyValue.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { MapValuesToTokensResult } from '@/types';
+import type { SingleTypographyToken } from '@/types/tokens';
+import type { TokenTypographyValue } from '@/types/values';
+ 
+export function isSingleTypographyValue(value: MapValuesToTokensResult[string]): value is SingleTypographyToken['value'] {
+  return Boolean(
+    value
+    && (
+      typeof value === 'string'
+      || ((Array.isArray(value) ? value : [value]) as (
+        (TokenTypographyValue | Extract<MapValuesToTokensResult[string], { property: string }[]>[number])[]
+      )).every((v) => (
+        v && typeof v === 'object'
+        && (
+          'fontFamily' in v
+          || 'fontWeight' in v
+          || 'fontSize' in v
+          || 'lineHeight' in v
+          || 'letterSpacing' in v
+          || 'paragraphSpacing' in v
+          || 'paragraphIndent' in v
+          || 'textCase' in v
+          || 'textDecoration' in v
+        )
+      ))
+    ),
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html new file mode 100644 index 000000000..11e166e05 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/utils/is/isTokenGroupWithType.ts + + + + + + + + + +
+
+

All files / src/utils/is isTokenGroupWithType.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
+import { TokenInJSON, Tokens } from '../convertTokens';
+import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export type TokenGroupInJSON = {
+  [key: string]: TokenInJSON | TokenGroupInJSON;
+} & (
+  | {
+    type?: TokenTypes;
+  }
+  | {
+    $type?: TokenTypes;
+  }
+);
+ 
+export function isTokenGroupWithType(token: Tokens): token is TokenGroupInJSON {
+  return !!(
+    token
+    && typeof token === 'object'
+    // There is no value key defined (which means it's a group) / or there is a value key defined and it's content is an object containing a value key (only relevant for the old format)
+    && (!(TokenFormat.tokenValueKey in token) || (TokenFormat.tokenValueKey in token && typeof token[TokenFormat.tokenValueKey] === 'object' && TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey]!))
+    && TokenFormat.tokenTypeKey in token
+    && typeof token[TokenFormat.tokenTypeKey] === 'string'
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html new file mode 100644 index 000000000..a1fd120cd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/is/isTokenType.ts + + + + + + + + + +
+
+

All files / src/utils/is isTokenType.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+ 
+export function isTokenType(input: string | TokenTypes): input is TokenTypes {
+  return Object.values<string>(TokenTypes).includes(input);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html new file mode 100644 index 000000000..1a3347135 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/isAliasReference.ts + + + + + + + + + +
+
+

All files / src/utils isAliasReference.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/3 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export function isVariableWithAliasReference(obj: VariableValue): obj is VariableAlias {
+  return typeof obj === 'object' && 'id' in obj && typeof obj.id === 'string';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html new file mode 100644 index 000000000..d52a901bc --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/utils/isAutoLayout.tsx + + + + + + + + + +
+
+

All files / src/utils isAutoLayout.tsx

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export const isAutoLayout = (node: SceneNode) => 'layoutMode' in node && typeof node.layoutMode !== 'undefined';
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html new file mode 100644 index 000000000..aa69423a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/utils/isColorEqual.ts + + + + + + + + + +
+
+

All files / src/utils isColorEqual.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { convertFigmaColorToHex } from '@/plugin/figmaTransforms/colors';
+ 
+export function isColorEqual(color1: RGBA, color2: RGBA) {
+  // Comparison using rgba doesn't work as Figma has a rounding issue,
+  // that doesn't produce same RGB floats as the existing color
+  // See this issue: https://forum.figma.com/t/figmas-rgb-color-values-seems-to-have-a-rounding-error/23540
+ 
+  // color1.r === color2.r
+  // && color1.g === color2.g
+  // && color1.b === color2.b
+  // && color1.a === color2.a
+ 
+  // Compare using hex instead for now:
+  return convertFigmaColorToHex(color1) === convertFigmaColorToHex(color2);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html new file mode 100644 index 000000000..896b53179 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/isEffectEqual.ts + + + + + + + + + +
+
+

All files / src/utils isEffectEqual.ts

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { isColorEqual } from './isColorEqual';
+ 
+export function isEffectEqual(effect1?: Effect, effect2?: Effect) {
+  if (effect1 && effect2) {
+    if (effect1.type === effect2.type) {
+      if (
+        (effect1.type === 'DROP_SHADOW' && effect2.type === 'DROP_SHADOW')
+        || (effect1.type === 'INNER_SHADOW' && effect2.type === 'INNER_SHADOW')
+      ) {
+        return (
+          isColorEqual(effect1.color, effect2.color)
+          && effect1.offset.x === effect2.offset.x
+          && effect1.offset.y === effect2.offset.y
+          && effect1.radius === effect2.radius
+          && effect1.spread === effect2.spread
+          && effect1.blendMode === effect2.blendMode
+          // Figma Tokens doesn't store this effect subvalue (yet?) so omit from comparison:
+          // && paint1.showShadowBehindNode === paint2.showShadowBehindNode
+        );
+      }
+      if (
+        (effect1.type === 'BACKGROUND_BLUR' && effect2.type === 'BACKGROUND_BLUR')
+        || (effect1.type === 'LAYER_BLUR' && effect2.type === 'LAYER_BLUR')
+      ) {
+        return effect1.radius === effect2.radius;
+      }
+    }
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html new file mode 100644 index 000000000..9cf85784b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/utils/isEqual.ts + + + + + + + + + +
+
+

All files / src/utils isEqual.ts

+
+ +
+ 0% + Statements + 0/37 +
+ + +
+ 0% + Branches + 0/31 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable eqeqeq */
+/* eslint-disable no-self-compare */
+/* eslint-disable no-prototype-builtins */
+/* eslint-disable @typescript-eslint/no-use-before-define */
+ 
+// @README adjusted from just-compare
+// https://github.com/angus-c/just/blob/master/LICENSE
+ 
+export function isEqual(value1: any, value2: any): boolean {
+  if (value1 === value2) {
+    return true;
+  }
+ 
+  // if both values are NaNs return true
+  if (value1 !== value1 && value2 !== value2) {
+    return true;
+  }
+ 
+  if (
+    typeof value1 !== typeof value2 // primitive != primitive wrapper
+    || {}.toString.call(value1) != {}.toString.call(value2) // check for other (maybe nullish) objects
+  ) {
+    return false;
+  }
+ 
+  if (value1 !== Object(value1)) {
+    // non equal primitives
+    return false;
+  }
+ 
+  if (!value1) {
+    return false;
+  }
+ 
+  if (Array.isArray(value1)) {
+    return compareArrays(value1, value2);
+  }
+ 
+  if ({}.toString.call(value1) == '[object Set]') {
+    return compareArrays(Array.from(value1), Array.from(value2));
+  }
+ 
+  if ({}.toString.call(value1) == '[object Object]') {
+    return compareObjects(value1, value2);
+  }
+ 
+  return compareNativeSubtypes(value1, value2);
+}
+ 
+function compareNativeSubtypes(value1: any, value2: any) {
+  // e.g. Function, RegExp, Date
+  return value1.toString() === value2.toString();
+}
+ 
+function compareArrays(value1: any[], value2: any[]) {
+  const len = value1.length;
+ 
+  if (len != value2.length) {
+    return false;
+  }
+ 
+  for (let i = 0; i < len; i += 1) {
+    if (!isEqual(value1[i], value2[i])) {
+      return false;
+    }
+  }
+ 
+  return true;
+}
+ 
+// @README the only difference can be found here
+// the compareObjects function will also check the order of keys
+// this is important because the token sorting works based on the order of keys
+function compareObjects(value1: any, value2: any) {
+  const keys1 = Object.keys(value1);
+  const keys2 = Object.keys(value2);
+  const len = keys1.length;
+ 
+  if (len != Object.keys(value2).length) {
+    return false;
+  }
+ 
+  for (let i = 0; i < len; i += 1) {
+    const key1 = keys1[i];
+ 
+    if (
+      !(
+        value2.hasOwnProperty(key1)
+        && key1 === keys2[i]
+        && isEqual(value1[key1], value2[key1])
+      )
+    ) {
+      return false;
+    }
+  }
+ 
+  return true;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html new file mode 100644 index 000000000..f47506c53 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/isJSONString.ts + + + + + + + + + +
+
+

All files / src/utils isJSONString.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
export default function IsJSONString(str: string) {
+  try {
+    JSON.parse(str);
+  } catch (e) {
+    return false;
+  }
+  return true;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html new file mode 100644 index 000000000..82790ede4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/utils/isPaintEqual.ts + + + + + + + + + +
+
+

All files / src/utils isPaintEqual.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { convertFigmaPaintToHex, convertFigmaColorToHex } from '@/plugin/figmaTransforms/colors';
+ 
+export function isPaintEqual(paint1?: Paint, paint2?: Paint) {
+  if (paint1 && paint2) {
+    if (paint1.type === paint2.type) {
+      if (paint1.type === 'SOLID' && paint2.type === 'SOLID') {
+        return (
+          paint1.opacity === paint2.opacity
+          // Comparison using rgb doesn't work as Figma has a rounding issue,
+          // that doesn't produce same RGB floats as the existing color
+          // See this issue: https://forum.figma.com/t/figmas-rgb-color-values-seems-to-have-a-rounding-error/23540
+ 
+          // && paint1.color.r === paint2.color.r
+          // && paint1.color.g === paint2.color.g
+          // && paint1.color.b === paint2.color.b
+ 
+          // Compare using hex instead for now:
+          && convertFigmaPaintToHex(paint1) === convertFigmaPaintToHex(paint2)
+        );
+      }
+ 
+      if (paint1.type === 'GRADIENT_LINEAR' && paint2.type === 'GRADIENT_LINEAR') {
+        return (
+          paint1.gradientStops.length === paint2.gradientStops.length
+          && paint1.gradientStops.every((stop, index) => (
+            stop.position === paint2.gradientStops[index].position
+            // Comparison using rgba doesn't work as Figma has a rounding issue,
+            // that doesn't produce same RGB floats as the existing color
+            // See this issue: https://forum.figma.com/t/figmas-rgb-color-values-seems-to-have-a-rounding-error/23540
+ 
+            // && stop.color.r === paint2.gradientStops[index].color.r
+            // && stop.color.g === paint2.gradientStops[index].color.g
+            // && stop.color.b === paint2.gradientStops[index].color.b
+            // && stop.color.a === paint2.gradientStops[index].color.a
+ 
+              // Compare using hex instead for now:
+              && convertFigmaColorToHex(stop.color) === convertFigmaColorToHex(paint2.gradientStops[index].color)
+          ))
+          && paint1.gradientTransform[0].every((value, index) => (
+            value === paint2.gradientTransform[0][index]
+          ))
+          && paint1.gradientTransform[1].every((value, index) => (
+            value === paint2.gradientTransform[1][index]
+          ))
+        );
+      }
+    }
+    return false;
+  }
+  return paint1 === paint2;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html new file mode 100644 index 000000000..852cfb082 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/utils/isSameCredentials.ts + + + + + + + + + +
+
+

All files / src/utils isSameCredentials.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/27 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageProviderType } from '@/constants/StorageProviderType';
+import { StorageType, StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
+ 
+function isSameCredentials(
+  credential: StorageTypeCredentials,
+  stored: StorageType | StorageTypeFormValues<false>,
+): boolean {
+  // If the internalId is present, we use it to check for equality
+  if (stored.provider !== StorageProviderType.LOCAL && credential.internalId && stored.internalId) {
+    return credential.internalId === stored.internalId;
+  }
+ 
+  switch (stored.provider) {
+    case StorageProviderType.GITHUB:
+    case StorageProviderType.GITLAB:
+    case StorageProviderType.ADO:
+    case StorageProviderType.BITBUCKET: {
+      return (
+        credential.id === stored.id
+        && credential.provider === stored.provider
+        && credential.filePath === stored.filePath
+        && credential.branch === stored.branch
+      );
+    }
+    case StorageProviderType.GENERIC_VERSIONED_STORAGE:
+    case StorageProviderType.JSONBIN:
+    case StorageProviderType.URL: {
+      return credential.id === stored.id && credential.provider === stored.provider;
+    }
+    case StorageProviderType.SUPERNOVA:
+      return (
+        credential.id === stored.id
+        && credential.provider === stored.provider
+        && credential.designSystemUrl === stored.designSystemUrl
+        && JSON.stringify(credential.mapping) === JSON.stringify(stored.mapping)
+      );
+    case StorageProviderType.TOKENS_STUDIO:
+      return (
+        credential.id === stored.id
+        && credential.provider === stored.provider
+      );
+    default:
+      return false;
+  }
+}
+ 
+export default isSameCredentials;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html new file mode 100644 index 000000000..5eec41f76 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/lastIndexOf.ts + + + + + + + + + +
+
+

All files / src/utils lastIndexOf.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
export function lastIndexOf<T>(items: T[], cb: (item: T, index: number, self: T[]) => boolean): number {
+  for (let idx = items.length - 1; idx > -1; idx -= 1) {
+    if (cb(items[idx], idx, items)) {
+      return idx;
+    }
+  }
+  return -1;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html new file mode 100644 index 000000000..77afc52ca --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/utils/ldUserFactory.ts + + + + + + + + + +
+
+

All files / src/utils ldUserFactory.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function ldUserFactory(userId: string, plan?: string, entitlements?: string[], email?: string) {
+  const userAttributes: Record<string, string | boolean> = {
+    plan: plan || '',
+  };
+  entitlements?.forEach((entitlement) => {
+    userAttributes[entitlement] = true;
+  });
+ 
+  return {
+    key: userId,
+    custom: userAttributes,
+    email,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html new file mode 100644 index 000000000..e46963ab2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/utils/mapThemeToVariableInfo.ts + + + + + + + + + +
+
+

All files / src/utils mapThemeToVariableInfo.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { VariableInfo } from '@/app/components/ManageThemesModal/ThemeVariableManagementEntry';
+import { ThemeObject } from '@/types';
+ 
+export default function mapThemeToVariableInfo(theme: ThemeObject | null) {
+  if (!theme) return {};
+  return Object.entries(theme?.$figmaVariableReferences ?? {}).reduce<Record<string, VariableInfo>>((acc, [tokenName, variableId]) => {
+    acc[tokenName] = {
+      id: variableId,
+      isResolved: false,
+    };
+    return acc;
+  }, {});
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html new file mode 100644 index 000000000..23fcf9ddf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/utils/mapTokensToVariableInfo.ts + + + + + + + + + +
+
+

All files / src/utils mapTokensToVariableInfo.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SettingsState } from '../app/store/models/settings';
+import { transformValue } from '@/plugin/helpers';
+import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
+import { VariableToken } from '@/plugin/updateVariables';
+import { ThemeObject } from '@/types';
+ 
+export function mapTokensToVariableInfo(token: ResolveTokenValuesResult, theme: ThemeObject, settings: SettingsState) {
+  return {
+    ...token,
+    value: (typeof token.value === 'string' || typeof token.value === 'number') ? transformValue(token.value, token.type, settings?.baseFontSize, true) : token.value,
+    path: token.name.split('.').join('/'),
+    variableId: theme.$figmaVariableReferences?.[token.name] ?? '',
+  } as VariableToken;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html new file mode 100644 index 000000000..0d2618a3e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/utils/matchStyleName.ts + + + + + + + + + +
+
+

All files / src/utils matchStyleName.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function matchStyleName<T extends EffectStyle | PaintStyle | TextStyle>(
+  tokenName: string,
+  tokenPath: string,
+  figmaStyleReferences: Record<string, string>,
+  stylesMap?: Map<string, T>,
+) {
+  return (
+    figmaStyleReferences[tokenName]
+    || stylesMap?.get(tokenName)?.id
+    || figmaStyleReferences[tokenPath]
+    || stylesMap?.get(tokenPath)?.id
+    // during the non-local styles beta we saved the figmaStyleReferences by their path
+    // which includes the theme name
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html new file mode 100644 index 000000000..570ad19bd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/matchVariableName.ts + + + + + + + + + +
+
+

All files / src/utils matchVariableName.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
export function matchVariableName(
+  tokenName: string,
+  tokenPath: string,
+  figmaVariableReferences: Map<string, string>,
+) {
+  return (
+    figmaVariableReferences.get(tokenName)
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html new file mode 100644 index 000000000..73b1538a7 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html @@ -0,0 +1,346 @@ + + + + + + Code coverage report for src/utils/math/checkAndEvaluateMath.ts + + + + + + + + + +
+
+

All files / src/utils/math checkAndEvaluateMath.ts

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Parser } from 'expr-eval';
+import calcAstParser from 'postcss-calc-ast-parser';
+import { Root } from 'postcss-calc-ast-parser/dist/types/ast';
+ 
+const parser = new Parser();
+ 
+/**
+ * Clamps the value of x between min and max
+ * @param x
+ * @param min
+ * @param max
+ * @returns
+ */
+parser.functions.clamped = (x: number, min: number, max: number): number => Math.max(Math.min(x, max), min);
+ 
+/**
+ * One dimensional linear interpolation
+ * @param x Normalized value between 0 and 1
+ * @param min
+ * @param max
+ * @returns
+ */
+parser.functions.lerp = (x: number, start: number, end: number): number => start + (end - start) * x;
+ 
+/**
+ * Returns a normalized value between 0 - 1.
+ * @param x
+ * @param start
+ * @param end
+ * @returns
+ */
+parser.functions.norm = (x: number, start: number, end: number): number => (x - start) / (end - start);
+ 
+/**
+ * Creates a one dimensional cubicBezier
+ * @remarks We have to do a significant overhaul to the system to support multidimensional functions. Seems like expr-eval can support neither array or property accessors
+ * @param x1
+ * @param x2
+ * @returns
+ */
+parser.functions.cubicBezier1D = (x1: number, x2: number) => {
+  const xx = [0, x1, x2, 1];
+ 
+  return (t: number) => {
+    const coeffs = [(1 - t) ** 3, 3 * (1 - t) ** 2 * t, 3 * (1 - t) * t ** 2, t ** 3];
+    const x = coeffs.reduce((acc, c, i) => acc + c * xx[i], 0);
+    return x;
+  };
+};
+ 
+// eslint-disable-next-line
+parser.functions.sample = (func: Function, ...args: any[]) => {
+  return func(...args);
+};
+ 
+export function checkAndEvaluateMath(expr: string) {
+  let calcParsed: Root;
+ 
+  try {
+    calcParsed = calcAstParser.parse(expr);
+  } catch (ex) {
+    return expr;
+  }
+ 
+  const calcReduced = calcAstParser.reduceExpression(calcParsed);
+ 
+  let unitlessExpr = expr;
+  let unit;
+ 
+  if (calcReduced && calcReduced.type !== 'Number') {
+    unitlessExpr = expr.replace(new RegExp(calcReduced.unit, 'ig'), '');
+    unit = calcReduced.unit;
+  }
+ 
+  let evaluated: number;
+ 
+  try {
+    evaluated = parser.evaluate(`${unitlessExpr}`);
+  } catch (ex) {
+    return expr;
+  }
+  try {
+    return unit ? `${evaluated}${unit}` : Number.parseFloat(evaluated.toFixed(3));
+  } catch (ex) {
+    return expr;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html new file mode 100644 index 000000000..79af23742 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/utils/math + + + + + + + + + +
+
+

All files src/utils/math

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/8 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
checkAndEvaluateMath.ts +
+
0%0/300%0/60%0/80%0/26
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html new file mode 100644 index 000000000..227222c57 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/utils/math/index.ts + + + + + + + + + +
+
+

All files / src/utils/math index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './checkAndEvaluateMath';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html new file mode 100644 index 000000000..3afe110e4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/utils/migrate.ts + + + + + + + + + +
+
+

All files / src/utils migrate.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
export function migrate<Input, Output>(
+  input: Input | Output,
+  check: (input: Input | Output) => input is Exclude<Input, Output>,
+  migration: (input: Exclude<Input, Output>) => Output,
+): Output {
+  if (check(input)) {
+    return migration(input);
+  }
+  return input as Output;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html new file mode 100644 index 000000000..f623700e0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/mixpanel.tsx + + + + + + + + + +
+
+

All files / src/utils mixpanel.tsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import * as mixpanel from 'mixpanel-figma';
+ 
+export default mixpanel;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html new file mode 100644 index 000000000..79fc153cd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/utils/modifyColor.ts + + + + + + + + + +
+
+

All files / src/utils modifyColor.ts

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/5 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Color from 'colorjs.io';
+import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
+import { ColorModifier } from '@/types/Modifier';
+import { transparentize } from './color/transparentize';
+import { mix } from './color/mix';
+import { darken } from './color/darken';
+import { lighten } from './color/lighten';
+ 
+export function modifyColor(baseColor: string, modifier: ColorModifier) {
+  const color = new Color(baseColor);
+  let returnedColor = color;
+  try {
+    switch (modifier.type) {
+      case ColorModifierTypes.LIGHTEN:
+        returnedColor = lighten(color, modifier.space, Number(modifier.value)) as Color;
+        break;
+      case ColorModifierTypes.DARKEN:
+        returnedColor = darken(color, modifier.space, Number(modifier.value)) as Color;
+        break;
+      case ColorModifierTypes.MIX:
+        returnedColor = mix(color, modifier.space, Number(modifier.value), new Color(modifier.color));
+        break;
+      case ColorModifierTypes.ALPHA: {
+        returnedColor = transparentize(color, Number(modifier.value));
+        break;
+      }
+      default:
+        returnedColor = color;
+        break;
+    }
+    returnedColor = returnedColor.to(modifier.space);
+    return returnedColor.toString({ inGamut: true, precision: 3 });
+  } catch (e) {
+    return baseColor;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html new file mode 100644 index 000000000..3d1261a4c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/utils/motion/checkReorder.ts + + + + + + + + + +
+
+

All files / src/utils/motion checkReorder.ts

+
+ +
+ 0% + Statements + 0/24 +
+ + +
+ 0% + Branches + 0/23 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 0% + Lines + 0/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { mix } from 'popmotion';
+import type { ItemData } from '@/context';
+import { moveItem } from './moveItem';
+ 
+export function checkReorder<T>(
+  order: ItemData<T>[],
+  value: T,
+  offset: number,
+  velocity: number,
+  allowedTargetIndexes: number[] = order.map((v, index) => index), // @README assume sorted array
+): ItemData<T>[] {
+  if (!velocity) return order;
+ 
+  const index = order.findIndex((item) => item.value === value);
+ 
+  if (index === -1) return order;
+ 
+  const nextOffset = velocity > 0 ? 1 : -1;
+  let nextIndex = index + nextOffset;
+ 
+  if (!allowedTargetIndexes.includes(nextIndex)) {
+    // find next closest index available
+    if (velocity > 0) {
+      nextIndex = allowedTargetIndexes.find((availableIndex) => availableIndex >= nextIndex) ?? -1;
+    } else {
+      nextIndex = [...allowedTargetIndexes].reverse().find((availableIndex) => availableIndex <= nextIndex) ?? -1;
+    }
+  }
+  const nextItem = order[nextIndex];
+ 
+  if (
+    !nextItem
+  ) return order;
+ 
+  const item = order[index];
+  const originalNextLayout = nextItem.layout;
+  const nextItemCenter = mix(originalNextLayout.min, originalNextLayout.max, 0.5);
+  if (
+    (nextOffset === 1 && item.layout.max + offset > nextItemCenter)
+          || (nextOffset === -1 && item.layout.min + offset < nextItemCenter)
+  ) {
+    return moveItem(order, index, nextIndex);
+  }
+ 
+  return order;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html new file mode 100644 index 000000000..577dcd5c2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/utils/motion + + + + + + + + + +
+
+

All files src/utils/motion

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/31 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
checkReorder.ts +
+
0%0/240%0/230%0/50%0/19
index.ts +
+
0%0/00%0/00%0/00%0/0
moveItem.ts +
+
0%0/60%0/80%0/10%0/6
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html new file mode 100644 index 000000000..1cef331b5 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/utils/motion/index.ts + + + + + + + + + +
+
+

All files / src/utils/motion index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './moveItem';
+export * from './checkReorder';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html new file mode 100644 index 000000000..e52ab70b4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/utils/motion/moveItem.ts + + + + + + + + + +
+
+

All files / src/utils/motion moveItem.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
// Adapted from array-move / framer-motion
+export function moveItem<T>([...arr]: T[], fromIndex: number, toIndex: number) {
+  const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;
+ 
+  if (startIndex >= 0 && startIndex < arr.length) {
+    const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;
+ 
+    const [item] = arr.splice(fromIndex, 1);
+    arr.splice(endIndex, 0, item);
+  }
+ 
+  return arr;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html new file mode 100644 index 000000000..773ee9488 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/normalizeVariableName.ts + + + + + + + + + +
+
+

All files / src/utils normalizeVariableName.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +36x +36x +36x +  + 
export function normalizeVariableName(name: string) {
+  const splitKey = name.split('/').map((part) => part.trim());
+  const normalizedVariableName = splitKey.join('.');
+  return normalizedVariableName;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html new file mode 100644 index 000000000..4f45020bd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/utils/parseJson.ts + + + + + + + + + +
+
+

All files / src/utils parseJson.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +  +  +  + 
import JSON5 from 'json5';
+ 
+export default function parseJson(payload: string) {
+  return JSON.parse(JSON.stringify(JSON5.parse(payload), null, ' '));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html new file mode 100644 index 000000000..8ff4669d2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/utils/parseTokenValues.ts + + + + + + + + + +
+
+

All files / src/utils parseTokenValues.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenTypes } from '@/constants/TokenTypes';
+import { SetTokenDataPayload } from '@/types/payloads';
+import { AnyTokenList, SingleToken, TokenStore } from '@/types/tokens';
+import convertToTokenArray from './convertTokens';
+import { detectFormat } from './detectFormat';
+ 
+export default function parseTokenValues(tokens: SetTokenDataPayload['values']): TokenStore['values'] {
+  // If we receive an array of tokens, move them all to the global set
+  if (Array.isArray(tokens)) {
+    return {
+      global: tokens,
+    };
+  }
+ 
+  // For a regular token-schema go through each and convert their values to a token array
+  // reducing them down to a entries list which can be picked up using Object.fromEntries
+  type TokenEntry = [string, AnyTokenList | Record<string, Partial<Record<TokenTypes, Record<string, SingleToken<false>>>>>];
+  const reducedTokens = Object.entries(tokens).reduce<[string, AnyTokenList][]>((prev, group: TokenEntry) => {
+    const parsedGroup = group[1];
+ 
+    if (Array.isArray(parsedGroup)) {
+      prev.push([group[0], parsedGroup]);
+      return prev;
+    }
+ 
+    if (typeof parsedGroup === 'object') {
+      detectFormat(parsedGroup, true);
+ 
+      const convertedToArray = convertToTokenArray({ tokens: parsedGroup });
+      prev.push([group[0], convertedToArray]);
+      return prev;
+    }
+ 
+    return prev;
+  }, []);
+ 
+  return Object.fromEntries(reducedTokens);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html new file mode 100644 index 000000000..b7cb01bd2 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/utils/plugin + + + + + + + + + +
+
+

All files src/utils/plugin

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
init.ts +
+
0%0/60%0/60%0/30%0/6
startup.ts +
+
0%0/20%0/60%0/10%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html new file mode 100644 index 000000000..d4cb03636 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/utils/plugin/index.ts + + + + + + + + + +
+
+

All files / src/utils/plugin index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './startup';
+export * from './init';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html new file mode 100644 index 000000000..61b6a3950 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/utils/plugin/init.ts + + + + + + + + + +
+
+

All files / src/utils/plugin init.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
+import { DefaultWindowSize } from '@/constants/DefaultWindowSize';
+import { notifyNoSelection } from '@/plugin/notifiers';
+import { AsyncMessageTypes } from '@/types/AsyncMessages';
+import { startup } from './startup';
+ 
+export async function init() {
+  return startup().then(async (params) => {
+    figma.showUI(__html__, {
+      themeColors: true,
+      width: params.settings.width ?? DefaultWindowSize.width,
+      height: params.settings.height ?? DefaultWindowSize.height,
+    });
+ 
+    await AsyncMessageChannel.PluginInstance.message({
+      type: AsyncMessageTypes.STARTUP,
+      ...params,
+    });
+ 
+    if (!figma.currentPage.selection.length) {
+      notifyNoSelection();
+    }
+  }).catch((err) => {
+    throw err;
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html new file mode 100644 index 000000000..6d155384b --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/utils/plugin/startup.ts + + + + + + + + + +
+
+

All files / src/utils/plugin startup.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {
+  ApiProvidersProperty, AuthDataProperty, LicenseKeyProperty, InitialLoadProperty,
+} from '@/figmaStorage';
+import { getActiveTheme } from '@/utils/getActiveTheme';
+import getLastOpened from '@/utils/getLastOpened';
+import getOnboardingExplainer from '@/utils/getOnboardingExplainer';
+import { getUsedTokenSet } from '@/utils/getUsedTokenSet';
+import { getUISettings } from '@/utils/uiSettings';
+import { getUserId } from '../../plugin/helpers';
+import { getSavedStorageType, getTokenData } from '../../plugin/node';
+import { UsedEmailProperty } from '@/figmaStorage/UsedEmailProperty';
+ 
+export async function startup() {
+  // on startup we need to fetch all the locally available data so we can bootstrap our UI
+  const [
+    settings,
+    usedTokenSet,
+    activeTheme,
+    userId, // the user ID is used for license key binding
+    lastOpened,
+    onboardingExplainer,
+    storageType,
+    localApiProviders,
+    licenseKey,
+    initialLoad,
+    localTokenData,
+    authData,
+    usedEmail,
+  ] = await Promise.all([
+    getUISettings(false),
+    getUsedTokenSet(),
+    getActiveTheme(),
+    getUserId(),
+    getLastOpened(),
+    getOnboardingExplainer(),
+    getSavedStorageType(),
+    ApiProvidersProperty.read(),
+    LicenseKeyProperty.read(),
+    InitialLoadProperty.read(),
+    getTokenData(),
+    AuthDataProperty.read(),
+    UsedEmailProperty.read(),
+  ]);
+ 
+  return {
+    settings,
+    activeTheme,
+    lastOpened,
+    onboardingExplainer,
+    storageType,
+    localApiProviders,
+    licenseKey,
+    initialLoad: initialLoad ?? false,
+    localTokenData: localTokenData ? {
+      ...localTokenData,
+      usedTokenSet,
+    } : null,
+    user: figma.currentUser ? {
+      userId,
+      figmaId: figma.currentUser.id,
+      name: figma.currentUser.name,
+    } : null,
+    authData,
+    usedEmail,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html new file mode 100644 index 000000000..bcb91bd39 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/utils/removeIdPropertyFromTokens.ts + + + + + + + + + +
+
+

All files / src/utils removeIdPropertyFromTokens.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AnyTokenList } from '@/types/tokens';
+import removeTokenId from './removeTokenId';
+import { SetTokenDataPayload } from '@/types/payloads';
+ 
+export default function removeIdPropertyFromTokens(tokens: SetTokenDataPayload['values']) {
+  const tokenObj = Object.entries(tokens).reduce<Record<string, AnyTokenList>>((acc, [key, val]) => {
+    const newTokenList = val.map((token) => removeTokenId(token, true));
+    acc[key] = newTokenList;
+    return acc;
+  }, {});
+ 
+  return tokenObj;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html new file mode 100644 index 000000000..ae62298a6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/utils/removeLicense.ts + + + + + + + + + +
+
+

All files / src/utils removeLicense.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export default async function removeLicense(
+  licenseKey: string,
+  userId: string | null,
+): Promise<{ key?: string; error?: string }> {
+  try {
+    const requestOptions = {
+      method: 'PUT',
+      headers: { 'Content-Type': 'application/json' },
+      body: JSON.stringify({ licenseKey, userId }),
+    };
+    const res = await fetch(`${process.env.LICENSE_API_URL}/detach-license`, requestOptions);
+    if (res.status === 200) {
+      const key = await res.json();
+      return { key };
+    }
+ 
+    const { message } = await res.json();
+    return {
+      error: message,
+    };
+  } catch (e) {
+    console.log(e);
+    return {
+      error: 'Error removing license',
+    };
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html new file mode 100644 index 000000000..cd0167f11 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/utils/removeTokenId.ts + + + + + + + + + +
+
+

All files / src/utils removeTokenId.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+ 
+export default function removeTokenId(token: SingleToken, shouldRemove: boolean): SingleToken {
+  if (token.$extensions && shouldRemove && token.$extensions['studio.tokens']) {
+    delete token.$extensions?.['studio.tokens']?.id;
+    if (Object.keys(token.$extensions?.['studio.tokens'] || {}).length === 0) {
+      delete token.$extensions?.['studio.tokens'];
+    }
+  }
+ 
+  if (token.$extensions && shouldRemove && token.$extensions.id) {
+    delete token.$extensions?.id;
+  }
+ 
+  if (Object.keys(token.$extensions || {}).length === 0) {
+    delete token.$extensions;
+  }
+  return token;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html new file mode 100644 index 000000000..0152f75e1 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/utils/reorderItemInSet.ts + + + + + + + + + +
+
+

All files / src/utils reorderItemInSet.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
export function reorderItemInSet() {
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html new file mode 100644 index 000000000..6fdee9ae4 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/utils/setTokenKey.ts + + + + + + + + + +
+
+

All files / src/utils setTokenKey.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+import { TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+ 
+export type SingleTokenWithoutName = Omit<SingleToken, 'name'>;
+export type SingleTokenWithoutNameOrType = Omit<SingleToken, 'name' | 'type'>;
+ 
+export enum FormatSensitiveTokenKeys {
+  TYPE = 'type',
+  VALUE = 'value',
+  DESCRIPTION = 'description',
+}
+ 
+export function setTokenKey(token: SingleTokenWithoutName | SingleTokenWithoutNameOrType, keyName: FormatSensitiveTokenKeys): SingleTokenWithoutName | SingleTokenWithoutNameOrType {
+  const isDTCG = TokenFormat.format === TokenFormatOptions.DTCG;
+ 
+  if (isDTCG) {
+    token[`$${keyName}`] = token[keyName];
+    if (token.hasOwnProperty(keyName)) {
+      delete token[keyName];
+    }
+  } else {
+    const tempValue = token[`$${keyName}`] || token[keyName];
+    token[keyName] = tempValue;
+    if (token.hasOwnProperty(`$${keyName}`)) {
+      delete token[`$${keyName}`];
+    }
+  }
+ 
+  return token;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html new file mode 100644 index 000000000..3036a756c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/sortSelectionValueByProperties.ts + + + + + + + + + +
+
+

All files / src/utils sortSelectionValueByProperties.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
import { Properties } from '@/constants/Properties';
+import { SelectionValue } from '@/types';
+import { convertToOrderObj } from './convertToOrderObj';
+ 
+export function sortSelectionValueByProperties(value: SelectionValue) {
+  const orderObj = convertToOrderObj(Properties);
+  return Object.assign({}, ...Object.keys(value).sort((a, b) => orderObj[a as keyof typeof value] - orderObj[b as keyof typeof value])
+    .map((x) => ({ [x]: value[x as keyof typeof value] })));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html new file mode 100644 index 000000000..1cb9e2dba --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/utils/sortSets.ts + + + + + + + + + +
+
+

All files / src/utils sortSets.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/16 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { UsedTokenSetsMap } from '@/types';
+ 
+// Helper function to sort token sets based on their status in the configuration. Basically, ENABLED and SOURCE sets are treated equally and come before DISABLED.
+export function sortSets(a: string, b: string, config: UsedTokenSetsMap) {
+  // Get the status of each set, defaulting to DISABLED if not found in config
+  const statusA = config[a] || TokenSetStatus.DISABLED;
+  const statusB = config[b] || TokenSetStatus.DISABLED;
+ 
+  // If both sets have the same status, maintain their original order
+  if (statusA === statusB) return 0;
+ 
+  // DISABLED sets should come before ENABLED and SOURCE, which are treated equally
+  if (statusA === TokenSetStatus.DISABLED && (statusB === TokenSetStatus.ENABLED || statusB === TokenSetStatus.SOURCE)) return -1;
+  if ((statusA === TokenSetStatus.ENABLED || statusA === TokenSetStatus.SOURCE) && statusB === TokenSetStatus.DISABLED) return 1;
+ 
+  // If we reach here, it means both are ENABLED or SOURCE, or both are DISABLED
+  return 0;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html new file mode 100644 index 000000000..c35df9912 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/utils/splitIntoChunks.ts + + + + + + + + + +
+
+

All files / src/utils splitIntoChunks.ts

+
+ +
+ 0% + Statements + 0/16 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/**
+ * Splits a string into chunks of specified maximum byte size
+ * @param str String to split
+ * @param maxBytes Maximum bytes per chunk
+ * @returns Array of string chunks
+ */
+export function splitIntoChunks(str: string, maxBytes: number): string[] {
+  const chunks: string[] = [];
+  let currentChunk = '';
+  let currentLength = 0;
+  const maxChars = Math.floor(maxBytes / 2); // Convert bytes to character count for UTF-16
+ 
+  // Process the string character by character
+  for (let i = 0; i < str.length; i += 1) {
+    const char = str[i];
+ 
+    // If adding this character would exceed the limit, start a new chunk
+    if (currentLength + 1 > maxChars) {
+      chunks.push(currentChunk);
+      currentChunk = char;
+      currentLength = 1;
+    } else {
+      currentChunk += char;
+      currentLength += 1;
+    }
+  }
+ 
+  // Add the last chunk if it's not empty
+  if (currentChunk) {
+    chunks.push(currentChunk);
+  }
+ 
+  return chunks;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html new file mode 100644 index 000000000..174640bff --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/utils/storyblok.ts + + + + + + + + + +
+
+

All files / src/utils storyblok.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StoryblokStory } from '@/types';
+ 
+export function formatDate(date?: number | Date) {
+  const formatter = new Intl.DateTimeFormat('en', {
+    year: 'numeric',
+    month: '2-digit',
+    day: '2-digit',
+    hour: '2-digit',
+    minute: '2-digit',
+    hour12: false,
+    timeZone: 'UTC',
+  });
+  const [month, , day, , year, , hour, , minute] = formatter.formatToParts(date);
+  return `${year.value}-${month.value}-${day.value} ${hour.value}:${minute.value}`;
+}
+ 
+export default async function fetchChangelog(lastOnline: Date, setChangelog: (stories: StoryblokStory['content'][]) => void): Promise<void> {
+  if (process.env.STORYBLOK_ACCESS_TOKEN && lastOnline.toString() !== '0') {
+    const token = process.env.STORYBLOK_ACCESS_TOKEN;
+    const formattedDate = formatDate(new Date(lastOnline));
+    const response = await fetch(
+      `https://api.storyblok.com/v1/cdn/stories?version=published&token=${token}&first_published_at_gt=${formattedDate}&startsWith=changelog/&sort_by=first_published_at`,
+      {
+        method: 'GET',
+        mode: 'cors',
+        cache: 'no-cache',
+        credentials: 'same-origin',
+        headers: {
+          'Content-Type': 'application/json',
+        },
+      },
+    );
+ 
+    const res = await response.json() as {
+      stories: StoryblokStory[];
+    };
+    if (res.stories) {
+      const stories = res.stories.map((story) => ({ ...story.content }));
+      setChangelog(stories);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html new file mode 100644 index 000000000..1b0d515b0 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/utils/string + + + + + + + + + +
+
+

All files src/utils/string

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
joinPath.ts +
+
0%0/2100%0/00%0/20%0/2
slugify.ts +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html new file mode 100644 index 000000000..797c13aa6 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/utils/string/index.ts + + + + + + + + + +
+
+

All files / src/utils/string index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3  +  + 
export * from './slugify';
+export * from './joinPath';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html new file mode 100644 index 000000000..5105b5f44 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/utils/string/joinPath.ts + + + + + + + + + +
+
+

All files / src/utils/string joinPath.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +  +  +  +  +  + 
import compact from 'just-compact';
+ 
+export function joinPath(...paths: string[]) {
+  return compact(paths).map((path) => (
+    path.replace(/^\/+/, '').replace(/\/+$/, '')
+  )).join('/');
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html new file mode 100644 index 000000000..7a0613d7c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/utils/string/slugify.ts + + + + + + + + + +
+
+

All files / src/utils/string slugify.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
// Converts string to slug
+export function slugify(text: string) {
+  return text
+    .toString() // Cast to string
+    .toLowerCase() // Convert the string to lowercase letters
+    .normalize('NFD') // The normalize() method returns the Unicode Normalization Form of a given string.
+    .trim() // Remove whitespace from both sides of a string
+    .replace(/\s+/g, '-') // Replace spaces with -
+    .replace(/[^\w-]+/g, '') // Remove all non-word chars
+    .replace(/--+/g, '-'); // Replace multiple - with single -
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html new file mode 100644 index 000000000..fdee3c80f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/utils/string/ui/decodeBase64.ts + + + + + + + + + +
+
+

All files / src/utils/string/ui decodeBase64.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +  +  +  +  +  +  +  + 
export function decodeBase64(base64: string) {
+  const text = atob(base64);
+  const { length } = text;
+  const bytes = new Uint8Array(length);
+  for (let i = 0; i < length; i += 1) {
+    bytes[i] = text.charCodeAt(i);
+  }
+  const decoder = new TextDecoder();
+  return decoder.decode(bytes);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html new file mode 100644 index 000000000..d18cec871 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/utils/string/ui + + + + + + + + + +
+
+

All files src/utils/string/ui

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
decodeBase64.ts +
+
0%0/8100%0/00%0/10%0/7
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html new file mode 100644 index 000000000..f24ace7bf --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for src/utils/string/ui/index.ts + + + + + + + + + +
+
+

All files / src/utils/string/ui index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export * from './decodeBase64';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html new file mode 100644 index 000000000..7c63b6a40 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/utils/stringifyTokens.ts + + + + + + + + + +
+
+

All files / src/utils stringifyTokens.ts

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import set from 'set-value';
+import { appendTypeToToken } from '@/app/components/createTokenObj';
+import { AnyTokenList } from '@/types/tokens';
+import removeTokenId from './removeTokenId';
+import { TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { TokenInJSON } from './convertTokens';
+ 
+export function getGroupTypeName(tokenName: string, groupLevel: number): string {
+  if (tokenName.includes('.')) {
+    const lastDotPosition = tokenName.split('.', groupLevel - 1).join('.').length;
+    return `${tokenName.slice(0, lastDotPosition)}.${TokenFormat.tokenTypeKey}`;
+  }
+  return TokenFormat.tokenTypeKey;
+}
+ 
+export default function stringifyTokens(
+  tokens: Record<string, AnyTokenList>,
+  activeTokenSet: string,
+  storeTokenIdInJsonEditor?: boolean,
+): string {
+  const tokenObj = {};
+  tokens[activeTokenSet]?.forEach((token) => {
+    const tokenWithType = appendTypeToToken(token);
+    const { name, ...tokenWithoutName } = removeTokenId(tokenWithType, !storeTokenIdInJsonEditor);
+    if (tokenWithoutName.inheritTypeLevel) {
+      const { inheritTypeLevel, ...tokenWithoutInheritTypeLevel } = tokenWithoutName;
+      const tokenInJSON: TokenInJSON = tokenWithoutInheritTypeLevel;
+      // set type of group level
+      set(tokenObj, getGroupTypeName(token.name, inheritTypeLevel), tokenInJSON.type);
+      tokenInJSON[TokenFormat.tokenValueKey] = tokenWithoutName.value;
+      tokenInJSON[TokenFormat.tokenDescriptionKey] = tokenWithoutName.description;
+      if (TokenFormat.format === TokenFormatOptions.DTCG) {
+        delete tokenInJSON.type;
+        delete tokenInJSON.value;
+        delete tokenInJSON.description;
+      }
+      delete tokenInJSON.type;
+      set(tokenObj, token.name, tokenInJSON, { merge: true });
+    } else {
+      const tokenInJSON: TokenInJSON = tokenWithoutName;
+      tokenInJSON[TokenFormat.tokenTypeKey] = tokenInJSON.type;
+      tokenInJSON[TokenFormat.tokenValueKey] = tokenInJSON.value;
+      tokenInJSON[TokenFormat.tokenDescriptionKey] = tokenInJSON.description;
+      if (TokenFormat.format === TokenFormatOptions.DTCG) {
+        delete tokenInJSON.type;
+        delete tokenInJSON.value;
+        delete tokenInJSON.description;
+      }
+      set(tokenObj, token.name, tokenInJSON, { merge: true });
+    }
+  });
+ 
+  return JSON.stringify(tokenObj, null, 2);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html new file mode 100644 index 000000000..6fb4d4b06 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/utils/themeListToTree.ts + + + + + + + + + +
+
+

All files / src/utils themeListToTree.ts

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/28 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { v4 as uuidv4 } from 'uuid';
+import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
+import { ThemeObject, ThemeObjectsList } from '@/types';
+ 
+export type TreeItem = {
+  key: string;
+  path: string;
+  parent: string | null;
+  level: number;
+  label: string;
+  isLeaf: boolean;
+  value: string | ThemeObject;
+  id: string;
+};
+ 
+export function themeListToTree(items: ThemeObjectsList) {
+  const tree = items.reduce<TreeItem[]>((acc, curr) => {
+    const parentIndex = acc.findIndex(
+      (item) => !item.isLeaf
+        && ((typeof curr?.group !== 'undefined' && item.key === curr.group)
+          || (typeof curr?.group === 'undefined' && item.key === INTERNAL_THEMES_NO_GROUP)),
+    );
+ 
+    if (parentIndex < 0) {
+      acc.push({
+        isLeaf: false,
+        value: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
+        key: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
+        parent: null,
+        path: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
+        level: 0,
+        label: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
+        id: uuidv4(),
+      });
+      acc.push({
+        isLeaf: true,
+        value: curr,
+        key: curr.id,
+        parent: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
+        path: `${curr?.group ?? INTERNAL_THEMES_NO_GROUP}/${curr.id}`,
+        level: 1,
+        label: curr.id,
+        id: uuidv4(),
+      });
+    } else {
+      const childrenLength = acc.filter(
+        (item) => item.isLeaf === true
+          && ((typeof curr?.group !== 'undefined' && item.parent === curr.group)
+            || (typeof curr?.group === 'undefined' && item.parent === INTERNAL_THEMES_NO_GROUP)),
+      ).length;
+      acc.splice(parentIndex + childrenLength + 1, 0, {
+        isLeaf: true,
+        value: curr,
+        key: curr.id,
+        parent: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
+        path: `${curr?.group ?? INTERNAL_THEMES_NO_GROUP}/${curr.name}`,
+        level: 1,
+        label: curr.id,
+        id: uuidv4(),
+      });
+    }
+    return acc;
+  }, []);
+  return tree;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html new file mode 100644 index 000000000..313c95b21 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/tokenArrayGroupToMap.ts + + + + + + + + + +
+
+

All files / src/utils tokenArrayGroupToMap.ts

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
import { AnyTokenList } from '@/types/tokens';
+ 
+export function tokenArrayGroupToMap(tokens: AnyTokenList) {
+  const tokensByNameMap = new Map<string, AnyTokenList[number]>(tokens.map((token) => ([token.name, token])));
+  return tokensByNameMap;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html new file mode 100644 index 000000000..237120701 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html @@ -0,0 +1,361 @@ + + + + + + Code coverage report for src/utils/tokenHelpers.ts + + + + + + + + + +
+
+

All files / src/utils tokenHelpers.ts

+
+ +
+ 0% + Statements + 0/30 +
+ + +
+ 0% + Branches + 0/26 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { appendTypeToToken } from '@/app/components/createTokenObj';
+import { SingleToken } from '@/types/tokens';
+import { ThemeObject, UsedTokenSetsMap } from '@/types';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { getTokenSetsOrder } from './getTokenSetsOrder';
+ 
+export type ResolveTokenValuesResult = SingleToken<
+true,
+{
+  failedToResolve?: boolean;
+}
+>;
+ 
+export function getOverallConfig(themes: ThemeObject[], selectedThemes: string[]) {
+  return selectedThemes.reduce((acc, themeId) => {
+    const currentTheme = themes.find((theme) => theme.id === themeId);
+    if (!currentTheme) return acc;
+ 
+    Object.entries(currentTheme.selectedTokenSets).forEach(([tokenSet, status]) => {
+      // If the set is enabled, set it. Meaning, it should always win.
+      if (status === TokenSetStatus.ENABLED) {
+        acc[tokenSet] = status;
+        // If the set is source, only set it to source if it wasnt set to enabled.
+      } else if (status === TokenSetStatus.SOURCE && acc[tokenSet] !== TokenSetStatus.ENABLED) {
+        acc[tokenSet] = status;
+      }
+    });
+    return acc;
+  }, {} as Record<string, TokenSetStatus>);
+}
+ 
+export function getEnabledTokenSets(usedSets: UsedTokenSetsMap = {}) {
+  return Object.keys(usedSets)
+    .filter((key) => usedSets[key] === TokenSetStatus.ENABLED)
+    .map((tokenSet) => tokenSet);
+}
+ 
+export function mergeTokenGroups(
+  tokens: Record<string, SingleToken[]>,
+  usedSets: UsedTokenSetsMap = {},
+  overallConfig: UsedTokenSetsMap = {},
+  activeTokenSet?: string,
+): SingleToken[] {
+  const { tokenSetsOrder, usedSetsList, overallSets } = getTokenSetsOrder(
+    tokens,
+    usedSets,
+    overallConfig,
+    activeTokenSet,
+  );
+ 
+  // Helper to determine if a token should be merged. We only merge object tokens if the current set is enabled (to avoid accidental merges)
+  const shouldMerge = (currentSet: string, existingToken: SingleToken) => usedSetsList.includes(currentSet)
+    && existingToken.internal__Parent
+    && !overallSets.includes(existingToken.internal__Parent);
+ 
+  return tokenSetsOrder.reduce((mergedTokens, setName) => {
+    const setTokens = tokens[setName] || [];
+    setTokens.forEach((token) => {
+      const existingIndex = mergedTokens.findIndex((t) => t.name === token.name);
+      const existingToken = mergedTokens[existingIndex];
+      const newToken = {
+        ...appendTypeToToken(token),
+        internal__Parent: setName,
+      } as SingleToken;
+ 
+      if (existingIndex === -1) {
+        // If the token does not exist yet, add it.
+        mergedTokens.push(newToken);
+      } else if (
+        shouldMerge(setName, existingToken)
+        && existingIndex > -1
+        && typeof existingToken.value === 'object'
+        && typeof newToken.value === 'object'
+        && !Array.isArray(existingToken.value)
+        && !Array.isArray(newToken.value)
+      ) {
+        // If the token should be merged, and is an object - and not an array, merge them (e.g. composition, typography)
+        mergedTokens.splice(existingIndex, 1, {
+          ...newToken,
+          value: {
+            ...existingToken.value,
+            ...newToken.value,
+          },
+        } as SingleToken);
+      } else {
+        // In all other cases, just replace.
+        mergedTokens[existingIndex] = newToken;
+      }
+    });
+    return mergedTokens;
+  }, [] as SingleToken[]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html new file mode 100644 index 000000000..6898fbd03 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/utils/tokenset/applyTokenSetOrder.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset applyTokenSetOrder.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/26 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { AnyTokenList } from '@/types/tokens';
+ 
+export function applyTokenSetOrder(tokenSets: Record<string, AnyTokenList> = {}, order: (string[] | Record<string, unknown> | null | undefined) = null) {
+  if (typeof order === 'object' && !Array.isArray(order)) {
+    return tokenSets;
+  }
+ 
+  return Object.fromEntries(
+    Object.entries(tokenSets).sort((a, b) => {
+      const indexOfA = order?.indexOf(a[0]) ?? -1;
+      const indexOfB = order?.indexOf(b[0]) ?? -1;
+      if (indexOfA === -1 && indexOfB > -1) return 1;
+      if (indexOfA > -1 && indexOfB === -1) return -1;
+      if (indexOfA === -1 && indexOfB === -1) return a[0] < b[0] ? -1 : 1;
+      return indexOfA < indexOfB ? -1 : 1;
+    }),
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html new file mode 100644 index 000000000..2b0b429b8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx + + + + + + + + + +
+
+

All files / src/utils/tokenset findOrderableTargetIndexesInTokenSetTreeList.tsx

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ItemData } from '@/context';
+import { TreeItem } from './tokenSetListToTree';
+ 
+export function findOrderableTargetIndexesInTokenSetTreeList<T extends TreeItem>(velocity: number, value: T, order: ItemData<T>[]) {
+  const siblings = order.filter((item) => (
+    item.value !== value
+    && item.value.parent === value.parent
+  ));
+  const availableIndexes = siblings.map((item) => {
+    if (velocity > 0) {
+      const childrenCount = order.reduce((count, v) => (
+        v.value.parent?.startsWith(item.value.path) ? count + 1 : count
+      ), 0);
+      return order.indexOf(item) + childrenCount;
+    }
+    return order.indexOf(item);
+  });
+  return availableIndexes;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html new file mode 100644 index 000000000..a31b60759 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/utils/tokenset/findParentIndexToInsertSet.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset findParentIndexToInsertSet.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { AnyTokenList } from '@/types/tokens';
+ 
+export function findParentIndexToInsertSet(currentSets: [string, AnyTokenList][], setToInsert: string) {
+  const matchedLocationToInsertSet = Object.values(currentSets).reduce((acc, val, index) => {
+    const parentSetPath = val[0].split('/');
+    const newSetPath = setToInsert.split('/');
+    const intersectionOfSets = parentSetPath.filter((value) => newSetPath.includes(value));
+    if (intersectionOfSets.length > 0) {
+      if (intersectionOfSets.length >= acc.matchLength) {
+        acc = {
+          insertAt: index,
+          matchLength: intersectionOfSets.length,
+        };
+      }
+    }
+    return acc;
+  }, { insertAt: currentSets.length, matchLength: 0 });
+ 
+  return matchedLocationToInsertSet.insertAt;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html new file mode 100644 index 000000000..b887c4b46 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for src/utils/tokenset + + + + + + + + + +
+
+

All files src/utils/tokenset

+
+ +
+ 0% + Statements + 0/117 +
+ + +
+ 0% + Branches + 0/76 +
+ + +
+ 0% + Functions + 0/33 +
+ + +
+ 0% + Lines + 0/104 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
applyTokenSetOrder.ts +
+
0%0/120%0/260%0/20%0/9
findOrderableTargetIndexesInTokenSetTreeList.tsx +
+
0%0/90%0/60%0/40%0/9
findParentIndexToInsertSet.ts +
+
0%0/100%0/40%0/30%0/9
index.ts +
+
0%0/00%0/00%0/00%0/0
mapTokensToStyleInfo.ts +
+
0%0/90%0/20%0/30%0/9
tokenSetListToList.ts +
+
0%0/2100%0/00%0/20%0/1
tokenSetListToTree.ts +
+
0%0/190%0/120%0/60%0/16
updateTokenSetsInState.ts +
+
0%0/560%0/260%0/130%0/51
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html new file mode 100644 index 000000000..038794a0e --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/utils/tokenset/index.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export { tokenSetListToTree } from './tokenSetListToTree';
+export { tokenSetListToList } from './tokenSetListToList';
+export { mapTokensToStyleInfo } from './mapTokensToStyleInfo';
+export { applyTokenSetOrder } from './applyTokenSetOrder';
+export { findOrderableTargetIndexesInTokenSetTreeList } from './findOrderableTargetIndexesInTokenSetTreeList';
+export type { TreeItem } from './tokenSetListToTree';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html new file mode 100644 index 000000000..918eb8f80 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/utils/tokenset/mapTokensToStyleInfo.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset mapTokensToStyleInfo.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import type { AnyTokenList, SingleToken } from '@/types/tokens';
+import { matchStyleName } from '../matchStyleName';
+ 
+export function mapTokensToStyleInfo(
+  values: Record<string, AnyTokenList>,
+  figmaStyleReferences: Record<string, string>,
+  convertTokenNameToPath: (name: string) => string, // @README this is here for the beta users - only because we used to store the pathname in the figmaStyleRefs of a theme
+) {
+  const map: Record<string, {
+    styleId: string,
+    token: SingleToken
+  }> = {};
+ 
+  const entries = Object.entries(values);
+  entries.forEach(([,tokens]) => {
+    tokens.forEach((token) => {
+      const tokenpath = convertTokenNameToPath(token.name);
+      const matchedStyleId = matchStyleName(token.name, tokenpath, figmaStyleReferences);
+      if (matchedStyleId) {
+        map[token.name] = {
+          styleId: matchedStyleId,
+          token,
+        };
+      }
+    });
+  });
+ 
+  return map;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html new file mode 100644 index 000000000..b923aa28f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/utils/tokenset/tokenSetListToList.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset tokenSetListToList.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { v4 as uuidv4 } from 'uuid';
+import { TreeItem } from './tokenSetListToTree';
+ 
+export function tokenSetListToList(items: string[]): TreeItem[] {
+  return items.map((item) => ({
+    isLeaf: true,
+    path: item,
+    key: `${item}-set`,
+    parent: null,
+    level: 0,
+    label: item,
+    id: uuidv4(),
+  }));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html new file mode 100644 index 000000000..6cb23e134 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/utils/tokenset/tokenSetListToTree.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset tokenSetListToTree.ts

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { v4 as uuidv4 } from 'uuid';
+ 
+export type TreeItem = {
+  key: string;
+  path: string;
+  parent: string | null;
+  level: number;
+  label: string;
+  isLeaf: boolean;
+  id: string;
+};
+ 
+export function tokenSetListToTree(items: string[]) {
+  const tree = items.reduce<TreeItem[]>((acc, curr) => {
+    const path = curr.split('/');
+    const parentName = path.length > 1 ? path.slice(0, -1).join('/') : '';
+    const parentIndex = acc.findIndex((item) => item.path === parentName);
+ 
+    if (parentName !== '' && parentIndex < 0) {
+      const parentNameSplit = parentName.split('/');
+      parentNameSplit.forEach((directory, index) => {
+        const label = directory;
+        if (!acc.find((item) => item.path === parentNameSplit.slice(0, index + 1).join('/') && !item.isLeaf)) {
+          acc.push({
+            isLeaf: false,
+            path: parentNameSplit.slice(0, index + 1).join('/'),
+            key: parentNameSplit.slice(0, index + 1).join('/'),
+            parent: path.slice(0, index).join('/'),
+            level: index,
+            label,
+            id: uuidv4(),
+          });
+        }
+      });
+    }
+ 
+    if (parentIndex >= 0) {
+      const childrenLength = acc.filter((item) => item.path.startsWith(`${parentName}/`)).length;
+      acc.splice(parentIndex + childrenLength + 1, 0, {
+        isLeaf: true,
+        path: curr,
+        key: path.join('/'),
+        parent: parentName,
+        level: path.length - 1,
+        label: path[path.length - 1],
+        id: uuidv4(),
+      });
+    } else {
+      acc.push({
+        isLeaf: true,
+        path: curr,
+        key: path.join('/'),
+        parent: parentName,
+        level: path.length - 1,
+        label: path[path.length - 1],
+        id: uuidv4(),
+      });
+    }
+    return acc;
+  }, []);
+  // @README sorting used to happen here
+  // this logic has moved to where the tokensets are being pulled
+  return tree;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html new file mode 100644 index 000000000..5f50dad2f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/utils/tokenset/updateTokenSetsInState.ts + + + + + + + + + +
+
+

All files / src/utils/tokenset updateTokenSetsInState.ts

+
+ +
+ 0% + Statements + 0/56 +
+ + +
+ 0% + Branches + 0/26 +
+ + +
+ 0% + Functions + 0/13 +
+ + +
+ 0% + Lines + 0/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import omit from 'just-omit';
+import type { TokenState } from '@/app/store/models/tokenState';
+import type { AnyTokenList } from '@/types/tokens';
+import { TokenSetStatus } from '@/constants/TokenSetStatus';
+import { tokenSetListToTree } from './tokenSetListToTree';
+import { findParentIndexToInsertSet } from './findParentIndexToInsertSet';
+ 
+export function updateTokenSetsInState(
+  state: TokenState,
+  mutate: ((name: string, tokenList: AnyTokenList) => null | [string, AnyTokenList]) | null,
+  ...newTokenSets: ([string] | [string, AnyTokenList] | [string, AnyTokenList, number])[]
+): TokenState {
+  const deletedTokenSets = new Set<string>();
+  const renamedTokenSets = new Map<string, string>();
+  const entries = Object.entries(state.tokens).reduce<[string, AnyTokenList][]>((acc, [name, tokenList]) => {
+    if (mutate) {
+      const mutated = mutate(name, tokenList);
+      if (mutated !== null) {
+        if (mutated[0] !== name) {
+          renamedTokenSets.set(name, mutated[0]);
+        }
+        acc.push(mutated);
+      } else {
+        deletedTokenSets.add(name);
+      }
+    } else {
+      acc.push([name, tokenList]);
+    }
+    return acc;
+  }, []);
+ 
+  newTokenSets.forEach((newSet) => {
+    const insertAt = newSet.length === 3 ? newSet[2] : findParentIndexToInsertSet(entries, newSet[0]);
+    entries.splice(insertAt, 0, [newSet[0], newSet?.[1] ?? []]);
+  });
+ 
+  let nextActiveTokenSet = state.activeTokenSet;
+  if (deletedTokenSets.has(state.activeTokenSet)) {
+    if (entries.length) {
+      const [firstTokenSetName] = entries[0];
+      nextActiveTokenSet = firstTokenSetName;
+    } else {
+      nextActiveTokenSet = '';
+    }
+  } else if (renamedTokenSets.has(state.activeTokenSet)) {
+    nextActiveTokenSet = renamedTokenSets.get(state.activeTokenSet)!;
+  }
+ 
+  let nextUsedTokenSet = { ...state.usedTokenSet };
+  let nextThemes = [...state.themes];
+  if (deletedTokenSets.size > 0) {
+    const deletedTokenSetsList = Array.from(deletedTokenSets);
+    nextUsedTokenSet = omit(nextUsedTokenSet, deletedTokenSetsList[0], ...deletedTokenSetsList.slice(1));
+    nextThemes = nextThemes.map((theme) => ({
+      ...theme,
+      selectedTokenSets: omit(
+        theme.selectedTokenSets,
+        deletedTokenSetsList[0],
+        ...deletedTokenSetsList.slice(1),
+      ),
+    }));
+  }
+ 
+  if (renamedTokenSets.size > 0) {
+    renamedTokenSets.forEach((newName, originalName) => {
+      const tokenSetStatus = nextUsedTokenSet[originalName] ?? TokenSetStatus.DISABLED;
+      nextUsedTokenSet = omit(nextUsedTokenSet, originalName);
+      nextUsedTokenSet[newName] = tokenSetStatus;
+    });
+    nextThemes = nextThemes.map((theme) => {
+      let nextSelectedTokenSets = { ...theme.selectedTokenSets };
+      renamedTokenSets.forEach((newName, originalName) => {
+        const tokenSetStatus = nextSelectedTokenSets[originalName] ?? TokenSetStatus.DISABLED;
+        nextSelectedTokenSets = omit(nextSelectedTokenSets, originalName);
+        nextSelectedTokenSets[newName] = tokenSetStatus;
+      });
+      return {
+        ...theme,
+        selectedTokenSets: nextSelectedTokenSets,
+      };
+    });
+  }
+ 
+  if (newTokenSets.length) {
+    newTokenSets.forEach(([name]) => {
+      nextUsedTokenSet[name] = TokenSetStatus.DISABLED;
+      nextThemes = nextThemes.map((theme) => ({
+        ...theme,
+        selectedTokenSets: {
+          ...theme.selectedTokenSets,
+          [name]: TokenSetStatus.DISABLED,
+        },
+      }));
+    });
+  }
+ 
+  const updatedTokens = Object.fromEntries(entries);
+  const tokenSetItems = tokenSetListToTree(entries.map(([tokenSet]) => tokenSet));
+  const newTokens = {};
+  tokenSetItems.filter(({ isLeaf }) => isLeaf).map(({ path }) => path).forEach((set) => {
+    Object.assign(newTokens, { [set]: updatedTokens[set] });
+  });
+ 
+  return {
+    ...state,
+    tokens: newTokens,
+    activeTokenSet: nextActiveTokenSet,
+    usedTokenSet: nextUsedTokenSet,
+    themes: nextThemes,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html new file mode 100644 index 000000000..cc70541ac --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/utils/transform.ts + + + + + + + + + +
+
+

All files / src/utils transform.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import { SetTokenDataPayload } from '@/types/payloads';
+import convertTokensObjectToResolved from './convertTokensObjectToResolved';
+import { TransformerOptions } from './types';
+ 
+type Input = SetTokenDataPayload['values'];
+ 
+function transform(input: Input, sets: string[], excludes: string[], options: TransformerOptions) {
+  return convertTokensObjectToResolved(input, sets, excludes, options);
+}
+ 
+export default transform;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html new file mode 100644 index 000000000..0812f1a0a --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/utils/transformProviderName.tsx + + + + + + + + + +
+
+

All files / src/utils transformProviderName.tsx

+
+ +
+ 0% + Statements + 0/11 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { StorageProviderType } from '@/constants/StorageProviderType';
+ 
+export const transformProviderName = (provider: StorageProviderType) => {
+  switch (provider) {
+    case StorageProviderType.JSONBIN:
+      return 'JSONBin.io';
+    case StorageProviderType.GITHUB:
+      return 'GitHub';
+    case StorageProviderType.GITLAB:
+      return 'GitLab';
+    case StorageProviderType.BITBUCKET:
+      return 'Bitbucket (Beta)';
+    case StorageProviderType.ADO:
+      return 'ADO';
+    case StorageProviderType.URL:
+      return 'URL';
+    case StorageProviderType.SUPERNOVA:
+      return 'Supernova';
+    case StorageProviderType.TOKENS_STUDIO:
+      return 'Tokens Studio (Beta)';
+    default:
+      return provider;
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html new file mode 100644 index 000000000..e1b9acff8 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/utils/trimValue.ts + + + + + + + + + +
+
+

All files / src/utils trimValue.ts

+
+ +
+ 0% + Statements + 0/10 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+ 
+export default function trimValue(value: SingleToken['value']): SingleToken['value'] {
+  if (Array.isArray(value)) {
+    return value.map((item) => (
+      Object.entries(item).reduce<Record<string, string>>((acc, [key, value]) => {
+        acc[key] = value.toString().trim();
+        return acc;
+      }, {})
+    )) as SingleToken['value'];
+  } if (typeof value === 'object') {
+    return Object.entries(value).reduce<Record<string, string>>((acc, [key, value]) => {
+      acc[key] = value.toString().trim();
+      return acc;
+    }, {});
+  }
+  return value.toString().trim();
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html new file mode 100644 index 000000000..ced7e6139 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/utils/tryApplyColorVariableId.ts + + + + + + + + + +
+
+

All files / src/utils tryApplyColorVariableId.ts

+
+ +
+ 0% + Statements + 0/27 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { clone } from '@figma-plugin/helpers';
+import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
+import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+ 
+export enum ColorPaintType {
+  FILLS = 'fills',
+  STROKES = 'strokes',
+  PAINTS = 'paints',
+}
+ 
+export async function tryApplyColorVariableId(target: BaseNode | PaintStyle, token: string, type: ColorPaintType) {
+  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
+  const shouldApplyVariable = applyVariablesStylesOrRawValue === ApplyVariablesStylesOrRawValues.VARIABLES_STYLES;
+  const isNode = !('consumers' in target);
+  // First check if this is about a node or a style. If it is a node we'd need to check if we should apply variables
+  if (isNode && !shouldApplyVariable) return false;
+ 
+  const variable = await defaultTokenValueRetriever.getVariableReference(token);
+  if (!variable) return false;
+ 
+  try {
+    const defaultPaint: SolidPaint = { type: 'SOLID', color: { r: 0, g: 0, b: 0 } };
+    if (type === 'fills' && 'fills' in target) {
+      const fillsCopy = clone(target.fills);
+      fillsCopy[0] = figma.variables.setBoundVariableForPaint(fillsCopy[0] ?? defaultPaint, 'color', variable);
+      target.fills = fillsCopy;
+      return target.boundVariables?.fills?.[0]?.id === variable.id;
+    }
+    if (type === 'strokes' && 'strokes' in target) {
+      const stokesCopy = clone(target.strokes);
+      stokesCopy[0] = figma.variables.setBoundVariableForPaint(stokesCopy[0] ?? defaultPaint, 'color', variable);
+      target.strokes = stokesCopy;
+      return target.boundVariables?.strokes?.[0]?.id === variable.id;
+    }
+    // For styles we're looking for paints
+    if (type === 'paints' && 'paints' in target) {
+      const fillsCopy = clone(target.paints);
+      fillsCopy[0] = figma.variables.setBoundVariableForPaint(fillsCopy[0] ?? defaultPaint, 'color', variable);
+      target.paints = fillsCopy;
+      return target.boundVariables?.paints?.[0]?.id === variable.id;
+    }
+  } catch (e) {
+    console.log('error', e);
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html new file mode 100644 index 000000000..e787c3978 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/utils/tryApplyEffectVariableId.ts + + + + + + + + + +
+
+

All files / src/utils tryApplyEffectVariableId.ts

+
+ +
+ 0% + Statements + 0/8 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
+ 
+export async function tryApplyEffectVariableId(effect: Effect, token: string) {
+  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
+  if (applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.VARIABLES_STYLES) return false;
+ 
+  const variable = defaultTokenValueRetriever.get(token)?.variableId;
+ 
+  try {
+    return figma.variables.setBoundVariableForEffect(effect, 'color', variable);
+  } catch (e) {
+    console.log('error', e);
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html new file mode 100644 index 000000000..6a9260f3d --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/utils/tryApplyVariableId.ts + + + + + + + + + +
+
+

All files / src/utils tryApplyVariableId.ts

+
+ +
+ 0% + Statements + 0/18 +
+ + +
+ 0% + Branches + 0/13 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
+ 
+export async function tryApplyVariableId(node: SceneNode, type: VariableBindableNodeField, token: string) {
+  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
+  if (applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.VARIABLES_STYLES) return false;
+ 
+  const variable = await defaultTokenValueRetriever.getVariableReference(token);
+ 
+  if (variable && type in node) {
+    try {
+      node.setBoundVariable(type, variable);
+      if (node.boundVariables?.[type] !== undefined) {
+        const valueOnVariable = variable.resolveForConsumer(node).value;
+        const valueOnNode = node[type as keyof typeof node];
+        if (typeof valueOnNode === 'number' && typeof valueOnVariable === 'number' && type === 'opacity') {
+          // We need to account for floating point precision errors when comparing numbers
+          const epsilon = 0.0001;
+          const variableValue = valueOnVariable / 100; // normalize value to 0-1, Figma's variable needs those to be 1-100, but applied they return 0-1
+          const isEqual = Math.abs(variableValue - valueOnNode) < epsilon;
+ 
+          return isEqual;
+        }
+ 
+        // Equality check. If the value on the variable is the same as the value on the node, we consider it a success, otherwise we'd return false and we'd apply the raw value.
+        return valueOnVariable === valueOnNode;
+      }
+    } catch (e) {
+      console.log('error', e);
+    }
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html new file mode 100644 index 000000000..0ffdb83dd --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/utils/tryParseJson.ts + + + + + + + + + +
+
+

All files / src/utils tryParseJson.ts

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
export function tryParseJson<V = any>(value: string): V | null {
+  try {
+    return JSON.parse(value);
+  } catch (err) {
+    console.error(err);
+  }
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html new file mode 100644 index 000000000..951fc96b3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/utils/trySetStyleId.ts + + + + + + + + + +
+
+

All files / src/utils trySetStyleId.ts

+
+ +
+ 0% + Statements + 0/29 +
+ + +
+ 0% + Branches + 0/36 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
+ 
+type StyleType = 'fill' | 'text' | 'stroke' | 'effect';
+ 
+export async function trySetStyleId(node: BaseNode, type: StyleType, styleId: string) {
+  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
+  if (applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.VARIABLES_STYLES) return false;
+  try {
+    // @README we need to try and import the style just in case it's a library provided one
+    const styleKeyMatch = styleId.match(/^S:([a-zA-Z0-9_-]+),/);
+    const actualStyleId = await new Promise<string>((resolve, reject) => {
+      const localStyle = figma.getStyleById(styleId);
+      if (localStyle) {
+        resolve(localStyle.id);
+      } else if (styleKeyMatch) {
+        figma.importStyleByKeyAsync(styleKeyMatch[1])
+          .then((remoteStyle) => resolve(remoteStyle.id))
+          .catch(() => {
+            reject(styleId);
+          });
+      }
+    });
+    if (!actualStyleId) return false;
+    if (type === 'fill' && 'fillStyleId' in node) {
+      node.fillStyleId = actualStyleId;
+      return (
+        node.fillStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.fillStyleId)
+        // @README the secondary check here is only relevant when both the local and remote styles are available
+        // what can happen is that figma applies the local style when we are expecting the remote style to be applied
+        // since it exists. Of course applying the local style in this case is completely valid so we should allow a local
+        // style to be applied instead
+      );
+    }
+ 
+    if (type === 'stroke' && 'strokeStyleId' in node) {
+      node.strokeStyleId = actualStyleId;
+      return node.strokeStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.strokeStyleId);
+    }
+ 
+    if (type === 'text' && 'textStyleId' in node) {
+      node.textStyleId = actualStyleId;
+      return node.textStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.textStyleId);
+    }
+ 
+    if (type === 'effect' && 'effectStyleId' in node) {
+      node.effectStyleId = actualStyleId;
+      return node.effectStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.effectStyleId);
+    }
+  } catch (e) {
+    console.log('Unable to apply style for id', e);
+  }
+  return false;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html new file mode 100644 index 000000000..7a08fca34 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/utils/types.d.ts + + + + + + + + + +
+
+

All files / src/utils types.d.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10  +  +  +  +  +  +  +  +  + 
export interface TransformerOptions {
+  expandTypography: boolean;
+  expandShadow: boolean;
+  expandComposition: boolean;
+  expandBorder: boolean;
+  preserveRawValue: boolean;
+  throwErrorWhenNotResolved?: boolean;
+  resolveReferences: boolean | 'math';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html new file mode 100644 index 000000000..ba1723f70 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html @@ -0,0 +1,535 @@ + + + + + + Code coverage report for src/utils/uiSettings.ts + + + + + + + + + +
+
+

All files / src/utils uiSettings.ts

+
+ +
+ 0% + Statements + 0/42 +
+ + +
+ 0% + Branches + 0/117 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/42 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
+import { defaultBaseFontSize } from '../constants/defaultBaseFontSize';
+import { UpdateMode } from '@/constants/UpdateMode';
+import { UiSettingsProperty } from '@/figmaStorage';
+import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
+import { notifyUISettings, notifyUI, SavedSettings } from '@/plugin/notifiers';
+ 
+// update credentials
+export async function updateUISettings(uiSettings: Partial<SavedSettings>) {
+  try {
+    const data = await UiSettingsProperty.read();
+    await UiSettingsProperty.write({
+      sessionRecording: uiSettings.sessionRecording ?? data?.sessionRecording,
+      width: uiSettings.width ?? data?.width,
+      language: uiSettings.language ?? data?.language,
+      height: uiSettings.height ?? data?.height,
+      showEmptyGroups: uiSettings.showEmptyGroups ?? data?.showEmptyGroups,
+      updateMode: uiSettings.updateMode ?? data?.updateMode,
+      updateRemote: uiSettings.updateRemote ?? data?.updateRemote,
+      updateOnChange: uiSettings.updateOnChange ?? data?.updateOnChange,
+      applyVariablesStylesOrRawValue: uiSettings.applyVariablesStylesOrRawValue ?? data?.applyVariablesStylesOrRawValue,
+      shouldUpdateStyles: uiSettings.shouldUpdateStyles ?? data?.shouldUpdateStyles,
+      ignoreFirstPartForStyles: uiSettings.ignoreFirstPartForStyles ?? data?.ignoreFirstPartForStyles,
+      createStylesWithVariableReferences: uiSettings.createStylesWithVariableReferences ?? data?.createStylesWithVariableReferences,
+      prefixStylesWithThemeName: uiSettings.prefixStylesWithThemeName ?? data?.prefixStylesWithThemeName,
+      renameExistingStylesAndVariables: uiSettings.renameExistingStylesAndVariables ?? data?.renameExistingStylesAndVariables,
+      removeStylesAndVariablesWithoutConnection: uiSettings.removeStylesAndVariablesWithoutConnection ?? data?.removeStylesAndVariablesWithoutConnection,
+      variablesBoolean: uiSettings.variablesBoolean ?? data?.variablesBoolean,
+      variablesColor: uiSettings.variablesColor ?? data?.variablesColor,
+      variablesNumber: uiSettings.variablesNumber ?? data?.variablesNumber,
+      variablesString: uiSettings.variablesString ?? data?.variablesString,
+      stylesColor: uiSettings.stylesColor ?? data?.stylesColor,
+      stylesEffect: uiSettings.stylesEffect ?? data?.stylesEffect,
+      stylesTypography: uiSettings.stylesTypography ?? data?.stylesTypography,
+      inspectDeep: uiSettings.inspectDeep ?? data?.inspectDeep,
+      shouldSwapStyles: uiSettings.shouldSwapStyles ?? data?.shouldSwapStyles,
+      baseFontSize: uiSettings.baseFontSize ?? data?.baseFontSize,
+      aliasBaseFontSize: uiSettings.aliasBaseFontSize ?? data?.aliasBaseFontSize,
+      storeTokenIdInJsonEditor: uiSettings.storeTokenIdInJsonEditor ?? data?.storeTokenIdInJsonEditor,
+      tokenFormat: uiSettings.tokenFormat ?? data?.tokenFormat,
+    });
+  } catch (err) {
+    notifyUI('There was an issue saving your credentials. Please try again.');
+  }
+}
+ 
+export async function getUISettings(notify = true): Promise<SavedSettings> {
+  let settings: SavedSettings = {} as SavedSettings;
+  try {
+    const data = await UiSettingsProperty.read();
+ 
+    let width: number;
+    let height: number;
+    let showEmptyGroups: boolean;
+    let updateMode: UpdateMode;
+    let updateRemote: boolean;
+    let updateOnChange: boolean;
+    let applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues;
+    let shouldUpdateStyles: boolean;
+    let variablesColor: boolean;
+    let variablesBoolean: boolean;
+    let variablesNumber: boolean;
+    let variablesString: boolean;
+    let stylesColor: boolean;
+    let stylesEffect: boolean;
+    let stylesTypography: boolean;
+    let ignoreFirstPartForStyles: boolean;
+    let createStylesWithVariableReferences: boolean;
+    let prefixStylesWithThemeName: boolean;
+    let renameExistingStylesAndVariables: boolean;
+    let removeStylesAndVariablesWithoutConnection: boolean;
+    let inspectDeep: boolean;
+    let shouldSwapStyles: boolean;
+    let baseFontSize: string;
+    let aliasBaseFontSize: string;
+    let language: string;
+    let sessionRecording: boolean;
+    let storeTokenIdInJsonEditor: boolean;
+    let tokenFormat: TokenFormatOptions;
+ 
+    if (data) {
+      width = data.width || 400;
+      height = data.height || 600;
+      language = data.language || 'en';
+      showEmptyGroups = typeof data.showEmptyGroups === 'undefined' ? true : data.showEmptyGroups;
+      updateMode = data.updateMode || UpdateMode.PAGE;
+      updateRemote = typeof data.updateRemote === 'undefined' ? true : data.updateRemote;
+      updateOnChange = typeof data.updateOnChange === 'undefined' ? true : data.updateOnChange;
+      applyVariablesStylesOrRawValue = typeof data.applyVariablesStylesOrRawValue === 'undefined' ? ApplyVariablesStylesOrRawValues.VARIABLES_STYLES : data.applyVariablesStylesOrRawValue;
+      shouldUpdateStyles = typeof data.shouldUpdateStyles === 'undefined' ? false : data.shouldUpdateStyles;
+      variablesColor = typeof data.variablesColor === 'undefined' ? true : data.variablesColor;
+      variablesBoolean = typeof data.variablesBoolean === 'undefined' ? true : data.variablesBoolean;
+      variablesNumber = typeof data.variablesNumber === 'undefined' ? true : data.variablesNumber;
+      variablesString = typeof data.variablesString === 'undefined' ? true : data.variablesString;
+      stylesColor = typeof data.stylesColor === 'undefined' ? false : data.stylesColor;
+      stylesTypography = typeof data.stylesTypography === 'undefined' ? true : data.stylesTypography;
+      stylesEffect = typeof data.stylesEffect === 'undefined' ? true : data.stylesEffect;
+      ignoreFirstPartForStyles = typeof data.ignoreFirstPartForStyles === 'undefined' ? false : data.ignoreFirstPartForStyles;
+      createStylesWithVariableReferences = typeof data.createStylesWithVariableReferences === 'undefined' ? true : data.createStylesWithVariableReferences;
+      prefixStylesWithThemeName = typeof data.prefixStylesWithThemeName === 'undefined' ? false : data.prefixStylesWithThemeName;
+      renameExistingStylesAndVariables = typeof data.renameExistingStylesAndVariables === 'undefined' ? false : data.renameExistingStylesAndVariables;
+      removeStylesAndVariablesWithoutConnection = typeof data.removeStylesAndVariablesWithoutConnection === 'undefined' ? false : data.removeStylesAndVariablesWithoutConnection;
+      baseFontSize = typeof data.baseFontSize === 'undefined' ? defaultBaseFontSize : data.baseFontSize;
+      aliasBaseFontSize = typeof data.aliasBaseFontSize === 'undefined' ? defaultBaseFontSize : data.aliasBaseFontSize;
+      inspectDeep = typeof data.inspectDeep === 'undefined' ? false : data.inspectDeep;
+      shouldSwapStyles = typeof data.shouldSwapStyles === 'undefined' ? false : data.shouldSwapStyles;
+      sessionRecording = typeof data.sessionRecording === 'undefined' ? false : data.sessionRecording;
+      storeTokenIdInJsonEditor = typeof data.storeTokenIdInJsonEditor === 'undefined' ? false : data.storeTokenIdInJsonEditor;
+      tokenFormat = data.tokenFormat || TokenFormatOptions.Legacy;
+      settings = {
+        language,
+        width: Math.max(300, width),
+        height: Math.max(200, height),
+        sessionRecording,
+        showEmptyGroups,
+        updateMode,
+        updateOnChange,
+        applyVariablesStylesOrRawValue,
+        updateRemote,
+        shouldUpdateStyles,
+        variablesBoolean,
+        variablesColor,
+        variablesNumber,
+        variablesString,
+        stylesColor,
+        stylesEffect,
+        stylesTypography,
+        ignoreFirstPartForStyles,
+        createStylesWithVariableReferences,
+        prefixStylesWithThemeName,
+        renameExistingStylesAndVariables,
+        removeStylesAndVariablesWithoutConnection,
+        inspectDeep,
+        shouldSwapStyles,
+        baseFontSize,
+        aliasBaseFontSize,
+        storeTokenIdInJsonEditor,
+        tokenFormat,
+      };
+ 
+      if (notify) {
+        notifyUISettings(settings);
+      }
+    }
+  } catch (err) {
+    console.error(err);
+    notifyUI('There was an issue saving your credentials. Please try again.');
+  }
+  return settings;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html new file mode 100644 index 000000000..35bc04253 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/utils/updateTokenPayloadToSingleToken.ts + + + + + + + + + +
+
+

All files / src/utils updateTokenPayloadToSingleToken.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { UpdateTokenPayload } from '@/types/payloads';
+import { SingleToken } from '@/types/tokens';
+import validateStudioTokensExtensions from './validateStudioTokensExtensions';
+ 
+export function updateTokenPayloadToSingleToken(
+  payload: UpdateTokenPayload,
+  id?: string,
+): SingleToken {
+  const studioTokensExtension = validateStudioTokensExtensions(payload);
+ 
+  return {
+    name: payload.name,
+    value: payload.value,
+    type: payload.type,
+    $extensions: {
+      ...payload.$extensions,
+      'studio.tokens': {
+        ...(id ? { id } : {}),
+        ...studioTokensExtension,
+      },
+    },
+    ...(payload.description ? {
+      description: payload.description,
+    } : {}),
+  } as SingleToken;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html new file mode 100644 index 000000000..23a77d290 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html @@ -0,0 +1,526 @@ + + + + + + Code coverage report for src/utils/validateGroupName.ts + + + + + + + + + +
+
+

All files / src/utils validateGroupName.ts

+
+ +
+ 0% + Statements + 0/80 +
+ + +
+ 0% + Branches + 0/42 +
+ + +
+ 0% + Functions + 0/26 +
+ + +
+ 0% + Lines + 0/67 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { AnyTokenList, SingleToken } from '@/types/tokens';
+ 
+export enum ErrorType {
+  UniqueToken = 'uniqueToken',
+  EmptyGroupName = 'emptyGroupName',
+  NoSetSelected = 'noSetSelected',
+  ExistingGroup = 'existingGroup',
+  OverlappingToken = 'overlappingToken',
+  OverlappingGroup = 'overlappingGroup',
+}
+ 
+const getGroupName = (name) => {
+  const nameParts = name.split('.');
+  return nameParts.slice(0, -1).join('.');
+};
+ 
+const getRenamedChildGroups = (newPrefix, oldPrefix, tokens) => {
+  const oldPrefixWithDot = `${oldPrefix}.`;
+  const newPrefixWithDot = `${newPrefix}.`;
+ 
+  // Create a set to store unique child groups
+  const childGroups = new Set();
+ 
+  tokens.forEach((token) => {
+    if (token.name.startsWith(oldPrefixWithDot)) {
+      const childGroup = getGroupName(token.name.replace(oldPrefixWithDot, newPrefixWithDot));
+      childGroups.add(childGroup);
+    }
+  });
+ 
+  return Array.from(childGroups);
+};
+ 
+export function validateRenameGroupName(tokensInParent, type, oldName, newName) {
+  if (!newName) {
+    return { type: ErrorType.EmptyGroupName };
+  }
+  const tokensToRename = tokensInParent
+    .filter((token) => token.name.startsWith(oldName) && token.type === type)
+    .map((filteredToken) => ({
+      oldName: filteredToken.name,
+      newName: filteredToken.name.replace(oldName, newName),
+    }));
+ 
+  const existingTokensAfterRename = tokensInParent.filter((token) => (
+    !tokensToRename.some((t) => t.oldName === token.name)
+  ));
+ 
+  const renamedChildGroupNames = getRenamedChildGroups(newName, oldName, tokensInParent);
+  const newTokensAfterRename = tokensInParent.map((token) => {
+    // Find the renamed token, if it exists
+    const renamedToken = tokensToRename.find((t) => t.oldName === token.name);
+    if (renamedToken) {
+      return { ...token, name: renamedToken.newName };
+    }
+    return token;
+  });
+ 
+  let possibleDuplicates = newTokensAfterRename.filter((a) => (newTokensAfterRename.filter((b) => a.name === b.name).length > 1) && existingTokensAfterRename.some((t) => t.name === a.name && t.type === a.type && t.value === a.value));
+  possibleDuplicates = [...new Map(possibleDuplicates.map((item) => [item.name, item])).values()];
+ 
+  const foundOverlappingTokens = (newName !== oldName) && tokensInParent.filter((token) => [newName, ...renamedChildGroupNames].includes(token.name));
+ 
+  if (Object.keys(possibleDuplicates).length > 0) {
+    return {
+      possibleDuplicates,
+      type: ErrorType.OverlappingGroup,
+    };
+  }
+  if (foundOverlappingTokens?.length > 0) {
+    return {
+      type: ErrorType.OverlappingToken,
+      foundOverlappingTokens,
+    };
+  }
+  return null;
+}
+ 
+export function validateDuplicateGroupName(tokens, selectedTokenSets, activeTokenSet, type, oldName, newName): {
+  type: ErrorType,
+  possibleDuplicates?: { [key: string]: SingleToken[] },
+  foundOverlappingTokens?: { [key: string]: SingleToken[] },
+} | null {
+  if (!newName) {
+    return { type: ErrorType.EmptyGroupName };
+  }
+  if (!tokens[activeTokenSet]) {
+    return null;
+  }
+  const selectedTokenGroup = tokens[activeTokenSet].filter((token) => (token.name.startsWith(`${oldName}.`) && token.type === type));
+  const newTokenGroup = selectedTokenGroup.map((token) => {
+    const { name, ...rest } = token;
+    const duplicatedTokenGroupName = token.name.replace(oldName, newName);
+    return {
+      name: duplicatedTokenGroupName,
+      ...rest,
+    };
+  });
+ 
+  const newTokens = Object.keys(tokens).reduce<Record<string, AnyTokenList>>((acc, key) => {
+    if (selectedTokenSets.includes(key)) {
+      acc[key] = [...tokens[key], ...newTokenGroup];
+    } else {
+      acc[key] = tokens[key];
+    }
+    return acc;
+  }, {});
+ 
+  const possibleDuplicates = Object.keys(newTokens).reduce((acc, setKey) => {
+    if (selectedTokenSets.includes(setKey)) {
+      const newTokensAfterDuplicate = newTokens[setKey];
+      const existingTokensAfterRename = tokens[setKey];
+ 
+      let overlappingTokens = newTokensAfterDuplicate.filter((a) => (newTokensAfterDuplicate.filter((b) => a.name === b.name).length > 1) && existingTokensAfterRename.some((t) => t.name === a.name && t.type === a.type && t.value === a.value));
+      overlappingTokens = [...new Map(overlappingTokens?.map((item) => [item.name, item])).values()];
+      if (overlappingTokens?.length > 0) {
+        acc[setKey] = overlappingTokens;
+      }
+    }
+ 
+    return acc;
+  }, {});
+ 
+  const foundOverlappingTokens: { [key: string]: SingleToken[] } = selectedTokenSets.reduce((acc, selectedTokenSet) => {
+    const renamedChildGroupNames = getRenamedChildGroups(newName, oldName, tokens[selectedTokenSet]);
+    const overlappingTokens = tokens[selectedTokenSet]?.filter((token) => [newName, ...renamedChildGroupNames].includes(token.name));
+    if (overlappingTokens?.length > 0) {
+      acc[selectedTokenSet] = overlappingTokens;
+    }
+ 
+    return acc;
+  }, {});
+ 
+  if (Object.keys(possibleDuplicates).length > 0) {
+    return {
+      possibleDuplicates,
+      type: ErrorType.OverlappingGroup,
+    };
+  }
+  if (Object.keys(foundOverlappingTokens).length > 0) {
+    return {
+      type: ErrorType.OverlappingToken,
+      foundOverlappingTokens,
+    };
+  }
+  return null;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html new file mode 100644 index 000000000..1bef1a244 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/utils/validateLicense.ts + + + + + + + + + +
+
+

All files / src/utils validateLicense.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as Sentry from '@sentry/react';
+import { Entitlements } from '@/app/store/models/userState';
+ 
+export default async function validateLicense(
+  licenseKey: string,
+  userId: string | null,
+  userName?: string | null,
+): Promise<{ plan?: string; entitlements?: Entitlements[]; email?: string; error?: string }> {
+  try {
+    const res = await fetch(
+      `${process.env.LICENSE_API_URL}/validate-license?licenseKey=${licenseKey}&userId=${userId}${
+        userName ? `&userName=${userName}` : ''
+      }`,
+    );
+ 
+    if (res.status === 200) {
+      return await res.json();
+    }
+ 
+    const { message } = await res.json();
+    return {
+      error: message,
+    };
+  } catch (e) {
+    console.log(e);
+    Sentry.captureException(e);
+    return {
+      error: 'Error validating license',
+    };
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html new file mode 100644 index 000000000..e8ad2a59f --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/utils/validateStudioTokensExtensions.ts + + + + + + + + + +
+
+

All files / src/utils validateStudioTokensExtensions.ts

+
+ +
+ 0% + Statements + 0/9 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { SingleToken } from '@/types/tokens';
+ 
+type StudioTokensExtension = NonNullable<SingleToken['$extensions']>['studio.tokens'];
+ 
+export default function validateStudioTokensExtensions(payload: SingleToken): StudioTokensExtension {
+  if (typeof payload?.$extensions?.['studio.tokens'] !== 'undefined') {
+    const studioTokensExtension = Object.keys(payload?.$extensions?.['studio.tokens']).reduce((accExt, k) => {
+      const extension = (payload?.$extensions?.['studio.tokens'] || {})[k];
+      if (extension && Object.values(extension).length > 0) {
+        accExt[k] = extension;
+      }
+ 
+      return accExt;
+    }, {});
+    if (Object.keys(studioTokensExtension).length > 0) {
+      return studioTokensExtension;
+    }
+  }
+ 
+  return undefined;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html new file mode 100644 index 000000000..662af2527 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/utils/waitForMessage.ts + + + + + + + + + +
+
+

All files / src/utils waitForMessage.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MessageFromPluginTypes, PostToUIMessage } from '@/types/messages';
+ 
+export function waitForMessage<M extends MessageFromPluginTypes>(message: M): Promise<PostToUIMessage & { type: M }> {
+  return new Promise<PostToUIMessage & { type: M }>((res) => {
+    type Event = {
+      data: {
+        pluginMessage: PostToUIMessage
+      }
+    };
+ 
+    const handler = (event: Event) => {
+      if (event.data.pluginMessage.type === message) {
+        window.removeEventListener('message', handler);
+        res(event.data.pluginMessage as PostToUIMessage & { type: M });
+      }
+    };
+ 
+    window.addEventListener('message', handler);
+  });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html new file mode 100644 index 000000000..469d9bd4c --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/wdyr.ts + + + + + + + + + +
+
+

All files / src wdyr.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import * as ReactRedux from 'react-redux';
+import whyDidYouRender from '@welldone-software/why-did-you-render';
+ 
+whyDidYouRender(React, {
+  trackAllPureComponents: true,
+  trackHooks: true,
+  trackExtraHooks: [
+    [ReactRedux, 'useSelector'],
+  ],
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov.info b/packages/tokens-studio-for-figma/lcov.info new file mode 100644 index 000000000..b9f7ea7a3 --- /dev/null +++ b/packages/tokens-studio-for-figma/lcov.info @@ -0,0 +1,37871 @@ +TN: +SF:src/AsyncMessageChannel.ts +FN:40,(anonymous_0) +FN:44,(anonymous_1) +FN:46,(anonymous_2) +FN:53,(anonymous_3) +FN:56,(anonymous_4) +FN:63,(anonymous_5) +FN:66,(anonymous_6) +FN:67,(anonymous_7) +FN:111,(anonymous_8) +FN:118,(anonymous_9) +FN:123,(anonymous_10) +FN:124,(anonymous_11) +FNF:12 +FNH:1 +FNDA:2,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +DA:32,1 +DA:34,1 +DA:36,2 +DA:38,2 +DA:41,2 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:67,0 +DA:69,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:84,0 +DA:85,0 +DA:90,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:102,0 +DA:115,0 +DA:119,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:129,0 +DA:131,0 +DA:133,0 +DA:136,0 +DA:137,0 +DA:139,0 +DA:144,0 +DA:148,1 +LF:48 +LH:6 +BRDA:45,0,0,0 +BRDA:45,0,1,0 +BRDA:48,1,0,0 +BRDA:48,1,1,0 +BRDA:48,2,0,0 +BRDA:48,2,1,0 +BRDA:48,2,2,0 +BRDA:58,3,0,0 +BRDA:58,3,1,0 +BRDA:58,4,0,0 +BRDA:58,4,1,0 +BRDA:58,4,2,0 +BRDA:69,5,0,0 +BRDA:69,5,1,0 +BRDA:69,6,0,0 +BRDA:69,6,1,0 +BRDA:69,6,2,0 +BRDA:69,6,3,0 +BRDA:75,7,0,0 +BRDA:75,7,1,0 +BRDA:80,8,0,0 +BRDA:80,8,1,0 +BRDA:84,9,0,0 +BRDA:84,9,1,0 +BRDA:96,10,0,0 +BRDA:96,10,1,0 +BRDA:125,11,0,0 +BRDA:125,11,1,0 +BRDA:126,12,0,0 +BRDA:126,12,1,0 +BRDA:136,13,0,0 +BRDA:136,13,1,0 +BRDA:148,14,0,1 +BRDA:148,14,1,0 +BRF:34 +BRH:1 +end_of_record +TN: +SF:src/AsyncMessageChannelPreview.ts +FN:35,(anonymous_0) +FN:40,(anonymous_1) +FN:46,(anonymous_2) +FN:50,(anonymous_3) +FN:54,(anonymous_4) +FN:102,(anonymous_5) +FN:117,(anonymous_6) +FN:121,(anonymous_7) +FN:125,(anonymous_8) +FN:129,(anonymous_9) +FN:129,(anonymous_10) +FN:130,(anonymous_11) +FN:140,(anonymous_12) +FN:145,(anonymous_13) +FN:155,(anonymous_14) +FN:161,(anonymous_15) +FN:174,(anonymous_16) +FN:178,(anonymous_17) +FN:181,(anonymous_18) +FN:183,(anonymous_19) +FN:190,(anonymous_20) +FN:197,(anonymous_21) +FN:251,(anonymous_22) +FN:259,(anonymous_23) +FN:263,(anonymous_24) +FN:268,(anonymous_25) +FN:270,(anonymous_26) +FNF:27 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:2,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +DA:33,1 +DA:35,1 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:46,1 +DA:47,0 +DA:50,1 +DA:51,0 +DA:54,1 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:86,1 +DA:88,1 +DA:90,2 +DA:92,2 +DA:94,2 +DA:96,2 +DA:98,2 +DA:100,2 +DA:103,2 +DA:104,2 +DA:105,1 +DA:106,1 +DA:107,0 +DA:109,1 +DA:112,2 +DA:113,0 +DA:117,2 +DA:118,0 +DA:121,2 +DA:122,0 +DA:126,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:137,0 +DA:141,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:149,0 +DA:152,0 +DA:155,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:169,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:197,2 +DA:199,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:205,0 +DA:207,0 +DA:209,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:216,0 +DA:218,0 +DA:220,0 +DA:221,0 +DA:224,0 +DA:225,0 +DA:227,0 +DA:228,0 +DA:232,0 +DA:233,0 +DA:235,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:245,0 +DA:252,0 +DA:253,0 +DA:256,0 +DA:260,0 +DA:264,0 +DA:268,0 +DA:269,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:275,0 +DA:277,0 +DA:279,0 +DA:283,0 +DA:285,0 +DA:286,0 +DA:289,0 +DA:290,0 +DA:292,0 +DA:294,0 +DA:297,0 +DA:298,0 +DA:301,0 +DA:304,0 +LF:126 +LH:22 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRDA:57,2,0,0 +BRDA:57,2,1,0 +BRDA:104,3,0,1 +BRDA:104,3,1,1 +BRDA:106,4,0,0 +BRDA:106,4,1,1 +BRDA:112,5,0,0 +BRDA:112,5,1,2 +BRDA:129,6,0,0 +BRDA:132,7,0,0 +BRDA:132,7,1,0 +BRDA:132,8,0,0 +BRDA:132,8,1,0 +BRDA:132,8,2,0 +BRDA:141,9,0,0 +BRDA:141,9,1,0 +BRDA:141,9,2,0 +BRDA:141,9,3,0 +BRDA:149,10,0,0 +BRDA:149,10,1,0 +BRDA:158,11,0,0 +BRDA:158,11,1,0 +BRDA:163,12,0,0 +BRDA:163,12,1,0 +BRDA:175,13,0,0 +BRDA:175,13,1,0 +BRDA:191,14,0,0 +BRDA:191,14,1,0 +BRDA:199,15,0,0 +BRDA:199,15,1,0 +BRDA:199,16,0,0 +BRDA:199,16,1,0 +BRDA:199,16,2,0 +BRDA:199,16,3,0 +BRDA:201,17,0,0 +BRDA:201,17,1,0 +BRDA:201,18,0,0 +BRDA:201,18,1,0 +BRDA:202,19,0,0 +BRDA:202,19,1,0 +BRDA:212,20,0,0 +BRDA:212,20,1,0 +BRDA:212,21,0,0 +BRDA:212,21,1,0 +BRDA:213,22,0,0 +BRDA:213,22,1,0 +BRDA:220,23,0,0 +BRDA:220,23,1,0 +BRDA:225,24,0,0 +BRDA:225,24,1,0 +BRDA:227,25,0,0 +BRDA:227,25,1,0 +BRDA:232,26,0,0 +BRDA:232,26,1,0 +BRDA:239,27,0,0 +BRDA:239,27,1,0 +BRDA:252,28,0,0 +BRDA:252,28,1,0 +BRDA:252,29,0,0 +BRDA:252,29,1,0 +BRDA:271,30,0,0 +BRDA:271,30,1,0 +BRDA:272,31,0,0 +BRDA:272,31,1,0 +BRDA:283,32,0,0 +BRDA:283,32,1,0 +BRDA:283,32,2,0 +BRDA:283,32,3,0 +BRDA:289,33,0,0 +BRDA:289,33,1,0 +BRF:74 +BRH:4 +end_of_record +TN: +SF:src/stitches.config.ts +FNF:0 +FNH:0 +DA:5,0 +DA:46,0 +DA:48,0 +DA:59,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/supabase.ts +FN:37,(anonymous_0) +FN:44,(anonymous_1) +FN:53,(anonymous_2) +FN:60,(anonymous_3) +FN:69,(anonymous_4) +FN:77,(anonymous_5) +FN:87,(anonymous_6) +FN:110,(anonymous_7) +FN:124,(anonymous_8) +FN:129,(anonymous_9) +FN:153,(anonymous_10) +FN:159,(anonymous_11) +FN:176,(anonymous_12) +FN:183,(anonymous_13) +FN:206,(anonymous_14) +FNF:15 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +DA:10,0 +DA:31,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:54,0 +DA:61,0 +DA:62,0 +DA:66,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:100,0 +DA:104,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:115,0 +DA:116,0 +DA:118,0 +DA:121,0 +DA:125,0 +DA:126,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:137,0 +DA:138,0 +DA:141,0 +DA:142,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:148,0 +DA:149,0 +DA:154,0 +DA:155,0 +DA:159,0 +DA:161,0 +DA:162,0 +DA:165,0 +DA:166,0 +DA:169,0 +DA:170,0 +DA:172,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:183,0 +DA:185,0 +DA:186,0 +DA:188,0 +DA:189,0 +DA:192,0 +DA:193,0 +DA:195,0 +DA:207,0 +DA:211,0 +LF:81 +LH:0 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:47,1,0,0 +BRDA:47,1,1,0 +BRDA:89,2,0,0 +BRDA:89,2,1,0 +BRDA:93,3,0,0 +BRDA:93,3,1,0 +BRDA:113,4,0,0 +BRDA:113,4,1,0 +BRDA:115,5,0,0 +BRDA:115,5,1,0 +BRDA:131,6,0,0 +BRDA:131,6,1,0 +BRDA:137,7,0,0 +BRDA:137,7,1,0 +BRDA:144,8,0,0 +BRDA:144,8,1,0 +BRDA:146,9,0,0 +BRDA:146,9,1,0 +BRDA:161,10,0,0 +BRDA:161,10,1,0 +BRDA:177,11,0,0 +BRDA:177,11,1,0 +BRDA:185,12,0,0 +BRDA:185,12,1,0 +BRDA:206,13,0,0 +BRDA:211,14,0,0 +BRDA:211,14,1,0 +BRDA:211,15,0,0 +BRDA:211,15,1,0 +BRF:31 +BRH:0 +end_of_record +TN: +SF:src/wdyr.ts +FNF:0 +FNH:0 +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/index.tsx +FNF:0 +FNH:0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:18,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/sentry.ts +FN:18,(anonymous_0) +FN:19,(anonymous_1) +FN:35,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:5,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:30,0 +DA:35,0 +DA:36,0 +DA:40,0 +DA:52,0 +DA:53,0 +DA:55,0 +LF:19 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:10,2,0,0 +BRDA:10,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:24,4,0,0 +BRDA:24,4,1,0 +BRDA:36,5,0,0 +BRDA:36,5,1,0 +BRDA:36,5,2,0 +BRDA:36,5,3,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/store.ts +FN:20,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:14,0 +DA:20,0 +DA:26,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/assets/hints/images.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/asyncMessageHandlers/getThemeInfo.ts +FN:12,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/asyncMessageHandlers/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/asyncMessageHandlers/startup.tsx +FN:19,(anonymous_0) +FN:25,(anonymous_1) +FN:29,(anonymous_2) +FN:30,(anonymous_3) +FN:34,(anonymous_4) +FN:35,(anonymous_5) +FN:56,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:35,0 +DA:40,0 +DA:49,0 +DA:56,0 +DA:57,0 +DA:61,0 +DA:62,0 +LF:19 +LH:0 +BRDA:26,0,0,0 +BRDA:26,0,1,0 +BRDA:26,0,2,0 +BRDA:40,1,0,0 +BRDA:40,1,1,0 +BRDA:49,2,0,0 +BRDA:49,2,1,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/app/components/AnnotationBuilder.tsx +FN:13,AnnotationBuilder +FN:17,(anonymous_1) +FN:21,(anonymous_2) +FN:25,(anonymous_3) +FN:29,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,AnnotationBuilder +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:33,0 +LF:11 +LH:0 +BRDA:33,0,0,0 +BRDA:33,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/App.tsx +FN:18,App +FNF:1 +FNH:0 +FNDA:0,App +DA:19,0 +DA:21,0 +LF:2 +LH:0 +BRDA:31,0,0,0 +BRDA:31,0,1,0 +BRDA:50,1,0,0 +BRDA:50,1,1,0 +BRDA:51,2,0,0 +BRDA:51,2,1,0 +BRDA:51,2,2,0 +BRDA:52,3,0,0 +BRDA:52,3,1,0 +BRDA:54,4,0,0 +BRDA:54,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:56,6,0,0 +BRDA:56,6,1,0 +BRDA:58,7,0,0 +BRDA:58,7,1,0 +BRDA:58,7,2,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/ApplySelector.tsx +FN:16,ApplySelector +FN:24,(anonymous_1) +FN:28,(anonymous_2) +FN:32,(anonymous_3) +FN:36,(anonymous_4) +FN:40,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,ApplySelector +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:17,0 +DA:18,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:44,0 +LF:15 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/BorderTokenDownShiftInput.tsx +FN:9,BorderTokenDownShiftInput +FN:30,(anonymous_1) +FN:40,(anonymous_2) +FN:43,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,BorderTokenDownShiftInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:52,0 +LF:12 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRDA:31,1,0,0 +BRDA:31,1,1,0 +BRDA:31,2,0,0 +BRDA:31,2,1,0 +BRDA:31,2,2,0 +BRDA:33,3,0,0 +BRDA:33,3,1,0 +BRDA:35,4,0,0 +BRDA:35,4,1,0 +BRDA:64,5,0,0 +BRDA:64,5,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/app/components/BorderTokenForm.tsx +FN:24,BorderTokenForm +FN:50,(anonymous_1) +FN:53,(anonymous_2) +FN:59,(anonymous_3) +FN:61,(anonymous_4) +FN:67,(anonymous_5) +FN:97,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,BorderTokenForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:18,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:98,0 +LF:23 +LH:0 +BRDA:44,0,0,0 +BRDA:44,0,1,0 +BRDA:45,1,0,0 +BRDA:45,1,1,0 +BRDA:52,2,0,0 +BRDA:52,2,1,0 +BRDA:52,3,0,0 +BRDA:52,3,1,0 +BRDA:54,4,0,0 +BRDA:54,4,1,0 +BRDA:68,5,0,0 +BRDA:68,5,1,0 +BRDA:68,6,0,0 +BRDA:68,6,1,0 +BRDA:69,7,0,0 +BRDA:69,7,1,0 +BRDA:71,8,0,0 +BRDA:71,8,1,0 +BRDA:79,9,0,0 +BRDA:79,9,1,0 +BRDA:95,10,0,0 +BRDA:95,10,1,0 +BRDA:95,11,0,0 +BRDA:95,11,1,0 +BRDA:97,12,0,0 +BRDA:97,12,1,0 +BRDA:102,13,0,0 +BRDA:102,13,1,0 +BRDA:110,14,0,0 +BRDA:110,14,1,0 +BRDA:110,14,2,0 +BRDA:112,15,0,0 +BRDA:112,15,1,0 +BRDA:122,16,0,0 +BRDA:122,16,1,0 +BRDA:135,17,0,0 +BRDA:135,17,1,0 +BRDA:135,17,2,0 +BRDA:135,17,3,0 +BRF:39 +BRH:0 +end_of_record +TN: +SF:src/app/components/Box.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/BoxShadowInput.tsx +FN:22,BoxShadowInput +FN:42,(anonymous_1) +FN:48,(anonymous_2) +FN:51,(anonymous_3) +FN:57,(anonymous_4) +FN:63,(anonymous_5) +FN:73,(anonymous_6) +FN:75,(anonymous_7) +FN:120,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,BoxShadowInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:79,0 +DA:121,0 +LF:30 +LH:0 +BRDA:38,0,0,0 +BRDA:38,0,1,0 +BRDA:39,1,0,0 +BRDA:39,1,1,0 +BRDA:43,2,0,0 +BRDA:43,2,1,0 +BRDA:49,3,0,0 +BRDA:49,3,1,0 +BRDA:50,4,0,0 +BRDA:50,4,1,0 +BRDA:50,5,0,0 +BRDA:50,5,1,0 +BRDA:52,6,0,0 +BRDA:52,6,1,0 +BRDA:58,7,0,0 +BRDA:58,7,1,0 +BRDA:58,8,0,0 +BRDA:58,8,1,0 +BRDA:59,9,0,0 +BRDA:59,9,1,0 +BRDA:64,10,0,0 +BRDA:64,10,1,0 +BRDA:66,11,0,0 +BRDA:66,11,1,0 +BRDA:66,12,0,0 +BRDA:66,12,1,0 +BRDA:68,13,0,0 +BRDA:68,13,1,0 +BRDA:74,14,0,0 +BRDA:74,14,1,0 +BRDA:74,15,0,0 +BRDA:74,15,1,0 +BRDA:84,16,0,0 +BRDA:84,16,1,0 +BRDA:117,17,0,0 +BRDA:117,17,1,0 +BRDA:119,18,0,0 +BRDA:119,18,1,0 +BRDA:152,19,0,0 +BRDA:152,19,1,0 +BRDA:164,20,0,0 +BRDA:164,20,1,0 +BRDA:164,20,2,0 +BRDA:164,20,3,0 +BRDA:164,20,4,0 +BRF:45 +BRH:0 +end_of_record +TN: +SF:src/app/components/BranchSelector.tsx +FN:38,(anonymous_0) +FN:39,(anonymous_1) +FN:52,BranchSelector +FN:73,(anonymous_3) +FN:77,(anonymous_4) +FN:90,(anonymous_5) +FN:98,(anonymous_6) +FN:112,(anonymous_7) +FN:131,(anonymous_8) +FN:150,(anonymous_9) +FN:162,(anonymous_10) +FN:197,(anonymous_11) +FN:218,(anonymous_12) +FNF:13 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,BranchSelector +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +DA:38,0 +DA:39,0 +DA:41,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:78,0 +DA:84,0 +DA:85,0 +DA:87,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:97,0 +DA:99,0 +DA:101,0 +DA:102,0 +DA:105,0 +DA:106,0 +DA:111,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:120,0 +DA:124,0 +DA:130,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:138,0 +DA:149,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:162,0 +DA:163,0 +DA:166,0 +DA:198,0 +DA:219,0 +LF:65 +LH:0 +BRDA:84,0,0,0 +BRDA:84,0,1,0 +BRDA:93,1,0,0 +BRDA:93,1,1,0 +BRDA:101,2,0,0 +BRDA:101,2,1,0 +BRDA:101,3,0,0 +BRDA:101,3,1,0 +BRDA:113,4,0,0 +BRDA:113,4,1,0 +BRDA:113,5,0,0 +BRDA:113,5,1,0 +BRDA:133,6,0,0 +BRDA:133,6,1,0 +BRDA:134,7,0,0 +BRDA:134,7,1,0 +BRDA:153,8,0,0 +BRDA:153,8,1,0 +BRDA:153,9,0,0 +BRDA:153,9,1,0 +BRDA:154,10,0,0 +BRDA:154,10,1,0 +BRDA:166,11,0,0 +BRDA:166,11,1,0 +BRDA:188,12,0,0 +BRDA:188,12,1,0 +BRDA:196,13,0,0 +BRDA:196,13,1,0 +BRDA:207,14,0,0 +BRDA:207,14,1,0 +BRDA:217,15,0,0 +BRDA:217,15,1,0 +BRDA:230,16,0,0 +BRDA:230,16,1,0 +BRDA:230,16,2,0 +BRF:35 +BRH:0 +end_of_record +TN: +SF:src/app/components/BranchSwitchMenuRadioElement.tsx +FN:11,(anonymous_0) +FN:16,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:11,0 +DA:16,0 +DA:18,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/BrokenReferenceIndicator.tsx +FN:10,BrokenReferenceIndicator +FN:13,(anonymous_1) +FN:14,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,BrokenReferenceIndicator +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:11,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:22,0 +LF:6 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/Callout.tsx +FN:17,Callout +FNF:1 +FNH:0 +FNDA:0,Callout +DA:20,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ChangeStateListingHeading.tsx +FN:39,ChangeStateListingHeading +FN:46,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,ChangeStateListingHeading +FNDA:0,(anonymous_1) +DA:19,0 +DA:46,0 +DA:47,0 +DA:50,0 +LF:4 +LH:0 +BRDA:58,0,0,0 +BRDA:58,0,1,0 +BRDA:60,1,0,0 +BRDA:60,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/ChangedStateList.tsx +FN:9,ChangedStateList +FN:17,(anonymous_1) +FN:28,(anonymous_2) +FN:36,(anonymous_3) +FN:40,(anonymous_4) +FN:51,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,ChangedStateList +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:34,0 +DA:37,0 +DA:41,0 +DA:52,0 +LF:20 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,0 +BRDA:36,4,0,0 +BRDA:36,4,1,0 +BRDA:39,5,0,0 +BRDA:39,5,1,0 +BRDA:39,5,2,0 +BRDA:47,6,0,0 +BRDA:47,6,1,0 +BRDA:50,7,0,0 +BRDA:50,7,1,0 +BRDA:62,8,0,0 +BRDA:62,8,1,0 +BRDA:69,9,0,0 +BRDA:69,9,1,0 +BRDA:69,9,2,0 +BRDA:71,10,0,0 +BRDA:71,10,1,0 +BRDA:82,11,0,0 +BRDA:82,11,1,0 +BRDA:82,11,2,0 +BRDA:85,12,0,0 +BRDA:85,12,1,0 +BRF:29 +BRH:0 +end_of_record +TN: +SF:src/app/components/ChangedTokenItem.tsx +FN:8,ChangedTokenItem +FNF:1 +FNH:0 +FNDA:0,ChangedTokenItem +DA:13,0 +DA:15,0 +LF:2 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:20,1,0,0 +BRDA:20,1,1,0 +BRDA:20,1,2,0 +BRDA:20,1,3,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:30,4,0,0 +BRDA:30,4,1,0 +BRDA:36,5,0,0 +BRDA:36,5,1,0 +BRDA:36,5,2,0 +BRDA:36,5,3,0 +BRDA:36,5,4,0 +BRDA:40,6,0,0 +BRDA:40,6,1,0 +BRDA:52,7,0,0 +BRDA:52,7,1,0 +BRF:21 +BRH:0 +end_of_record +TN: +SF:src/app/components/Changelog.tsx +FN:21,Changelog +FN:28,(anonymous_1) +FN:32,(anonymous_2) +FN:36,(anonymous_3) +FN:44,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,Changelog +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:11,0 +DA:16,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:45,0 +LF:14 +LH:0 +BRDA:41,0,0,0 +BRDA:41,0,1,0 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:53,2,0,0 +BRDA:53,2,1,0 +BRDA:56,3,0,0 +BRDA:56,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:73,5,0,0 +BRDA:73,5,1,0 +BRDA:78,6,0,0 +BRDA:78,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/components/ColorPickerTrigger.tsx +FN:18,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:18,0 +DA:21,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ColorTokenForm.tsx +FN:28,ColorTokenForm +FN:54,(anonymous_1) +FN:60,(anonymous_2) +FN:69,(anonymous_3) +FN:73,(anonymous_4) +FN:95,(anonymous_5) +FN:112,(anonymous_6) +FN:116,(anonymous_7) +FN:120,(anonymous_8) +FN:124,(anonymous_9) +FN:128,(anonymous_10) +FN:136,(anonymous_11) +FN:141,(anonymous_12) +FN:150,(anonymous_13) +FN:159,(anonymous_14) +FN:168,(anonymous_15) +FN:177,(anonymous_16) +FN:186,(anonymous_17) +FN:195,(anonymous_18) +FN:260,(anonymous_19) +FN:266,(anonymous_20) +FNF:21 +FNH:0 +FNDA:0,ColorTokenForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +DA:26,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:66,0 +DA:69,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:81,0 +DA:82,0 +DA:84,0 +DA:86,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:102,0 +DA:103,0 +DA:105,0 +DA:107,0 +DA:109,0 +DA:112,0 +DA:113,0 +DA:116,0 +DA:117,0 +DA:120,0 +DA:121,0 +DA:124,0 +DA:125,0 +DA:128,0 +DA:129,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:195,0 +DA:197,0 +DA:260,0 +DA:266,0 +LF:75 +LH:0 +BRDA:55,0,0,0 +BRDA:55,0,1,0 +BRDA:61,1,0,0 +BRDA:61,1,1,0 +BRDA:61,2,0,0 +BRDA:61,2,1,0 +BRDA:62,3,0,0 +BRDA:62,3,1,0 +BRDA:69,4,0,0 +BRDA:69,4,1,0 +BRDA:75,5,0,0 +BRDA:75,5,1,0 +BRDA:76,6,0,0 +BRDA:76,6,1,0 +BRDA:78,7,0,0 +BRDA:78,7,1,0 +BRDA:78,8,0,0 +BRDA:78,8,1,0 +BRDA:78,8,2,0 +BRDA:81,9,0,0 +BRDA:81,9,1,0 +BRDA:81,10,0,0 +BRDA:81,10,1,0 +BRDA:96,11,0,0 +BRDA:96,11,1,0 +BRDA:97,12,0,0 +BRDA:97,12,1,0 +BRDA:99,13,0,0 +BRDA:99,13,1,0 +BRDA:99,14,0,0 +BRDA:99,14,1,0 +BRDA:99,14,2,0 +BRDA:102,15,0,0 +BRDA:102,15,1,0 +BRDA:102,16,0,0 +BRDA:102,16,1,0 +BRDA:142,17,0,0 +BRDA:142,17,1,0 +BRDA:151,18,0,0 +BRDA:151,18,1,0 +BRDA:160,19,0,0 +BRDA:160,19,1,0 +BRDA:169,20,0,0 +BRDA:169,20,1,0 +BRDA:178,21,0,0 +BRDA:178,21,1,0 +BRDA:187,22,0,0 +BRDA:187,22,1,0 +BRDA:195,23,0,0 +BRDA:195,23,1,0 +BRDA:214,24,0,0 +BRDA:214,24,1,0 +BRDA:223,25,0,0 +BRDA:223,25,1,0 +BRDA:245,26,0,0 +BRDA:245,26,1,0 +BRDA:245,26,2,0 +BRDA:257,27,0,0 +BRDA:257,27,1,0 +BRDA:258,28,0,0 +BRDA:258,28,1,0 +BRDA:263,29,0,0 +BRDA:263,29,1,0 +BRDA:264,30,0,0 +BRDA:264,30,1,0 +BRDA:271,31,0,0 +BRDA:271,31,1,0 +BRDA:286,32,0,0 +BRDA:286,32,1,0 +BRDA:307,33,0,0 +BRDA:307,33,1,0 +BRDA:307,33,2,0 +BRDA:312,34,0,0 +BRDA:312,34,1,0 +BRF:74 +BRH:0 +end_of_record +TN: +SF:src/app/components/CompositionTokenForm.tsx +FN:19,CompositionTokenForm +FN:35,(anonymous_1) +FN:36,(anonymous_2) +FN:41,(anonymous_3) +FN:43,(anonymous_4) +FN:50,(anonymous_5) +FN:52,(anonymous_6) +FN:53,(anonymous_7) +FN:56,(anonymous_8) +FN:65,(anonymous_9) +FN:71,(anonymous_10) +FN:75,(anonymous_11) +FN:78,(anonymous_12) +FN:81,(anonymous_13) +FN:82,(anonymous_14) +FN:124,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,CompositionTokenForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:125,0 +LF:39 +LH:0 +BRDA:43,0,0,0 +BRDA:43,0,1,0 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:57,2,0,0 +BRDA:57,2,1,0 +BRDA:58,3,0,0 +BRDA:58,3,1,0 +BRDA:58,4,0,0 +BRDA:58,4,1,0 +BRDA:66,5,0,0 +BRDA:66,5,1,0 +BRDA:77,6,0,0 +BRDA:77,6,1,0 +BRDA:92,7,0,0 +BRDA:92,7,1,0 +BRDA:103,8,0,0 +BRDA:103,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/ConfirmDialog.tsx +FN:12,(anonymous_0) +FN:17,(anonymous_1) +FN:31,ConfirmDialog +FN:40,(anonymous_3) +FN:45,(anonymous_4) +FN:51,(anonymous_5) +FN:57,(anonymous_6) +FN:60,(anonymous_7) +FN:65,(anonymous_8) +FN:69,(anonymous_9) +FN:78,(anonymous_10) +FN:79,(anonymous_11) +FN:79,(anonymous_12) +FN:109,(anonymous_13) +FNF:14 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,ConfirmDialog +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +DA:12,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:60,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:87,0 +DA:89,0 +DA:110,0 +LF:38 +LH:0 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:48,1,0,0 +BRDA:48,1,1,0 +BRDA:54,2,0,0 +BRDA:54,2,1,0 +BRDA:71,3,0,0 +BRDA:71,3,1,0 +BRDA:79,4,0,0 +BRDA:79,4,1,0 +BRDA:80,5,0,0 +BRDA:80,5,1,0 +BRDA:82,6,0,0 +BRDA:82,6,1,0 +BRDA:89,7,0,0 +BRDA:89,7,1,0 +BRDA:90,8,0,0 +BRDA:90,8,1,0 +BRDA:94,9,0,0 +BRDA:94,9,1,0 +BRDA:97,10,0,0 +BRDA:97,10,1,0 +BRDA:107,11,0,0 +BRDA:107,11,1,0 +BRDA:127,12,0,0 +BRDA:127,12,1,0 +BRDA:131,13,0,0 +BRDA:131,13,1,0 +BRF:28 +BRH:0 +end_of_record +TN: +SF:src/app/components/ConvertToDTCGModal.tsx +FN:20,ConvertToDTCGModal +FN:31,(anonymous_1) +FN:35,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,ConvertToDTCGModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:50,0 +DA:52,0 +LF:17 +LH:0 +BRDA:36,0,0,0 +BRDA:36,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:40,2,0,0 +BRDA:40,2,1,0 +BRDA:50,3,0,0 +BRDA:50,3,1,0 +BRDA:53,4,0,0 +BRDA:53,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:57,6,0,0 +BRDA:57,6,1,0 +BRDA:61,7,0,0 +BRDA:61,7,1,0 +BRDA:65,8,0,0 +BRDA:65,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/Count.tsx +FN:4,Count +FNF:1 +FNH:0 +FNDA:0,Count +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/DirtyStateBadgeWrapper.tsx +FN:5,DirtyStateBadgeWrapper +FNF:1 +FNH:0 +FNDA:0,DirtyStateBadgeWrapper +DA:6,0 +LF:1 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/Divider.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/EditTokenForm.tsx +FN:57,EditTokenForm +FN:75,(anonymous_1) +FN:81,(anonymous_2) +FN:88,(anonymous_3) +FN:105,(anonymous_4) +FN:107,(anonymous_5) +FN:108,(anonymous_6) +FN:118,(anonymous_7) +FN:119,(anonymous_8) +FN:120,(anonymous_9) +FN:121,(anonymous_10) +FN:125,(anonymous_11) +FN:132,(anonymous_12) +FN:139,(anonymous_13) +FN:140,(anonymous_14) +FN:143,(anonymous_15) +FN:148,(anonymous_16) +FN:155,(anonymous_17) +FN:159,(anonymous_18) +FN:168,(anonymous_19) +FN:193,(anonymous_20) +FN:203,(anonymous_21) +FN:212,(anonymous_22) +FN:219,(anonymous_23) +FN:222,(anonymous_24) +FN:229,(anonymous_25) +FN:231,(anonymous_26) +FN:238,(anonymous_27) +FN:260,(anonymous_28) +FN:272,(anonymous_29) +FN:284,(anonymous_30) +FN:299,(anonymous_31) +FN:311,(anonymous_32) +FN:322,(anonymous_33) +FN:335,(anonymous_34) +FN:351,(anonymous_35) +FN:361,(anonymous_36) +FN:372,(anonymous_37) +FN:382,(anonymous_38) +FN:393,(anonymous_39) +FN:465,(anonymous_40) +FN:466,(anonymous_41) +FN:483,(anonymous_42) +FN:518,(anonymous_43) +FN:529,(anonymous_44) +FN:535,(anonymous_45) +FN:545,(anonymous_46) +FN:549,(anonymous_47) +FN:554,(anonymous_48) +FNF:49 +FNH:0 +FNDA:0,EditTokenForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +DA:47,0 +DA:48,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:85,0 +DA:88,0 +DA:89,0 +DA:94,0 +DA:96,0 +DA:97,0 +DA:99,0 +DA:100,0 +DA:102,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:110,0 +DA:111,0 +DA:114,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:129,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:136,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:143,0 +DA:145,0 +DA:147,0 +DA:148,0 +DA:151,0 +DA:154,0 +DA:155,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:165,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:172,0 +DA:176,0 +DA:178,0 +DA:179,0 +DA:181,0 +DA:182,0 +DA:184,0 +DA:185,0 +DA:187,0 +DA:188,0 +DA:192,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:202,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:218,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:228,0 +DA:230,0 +DA:231,0 +DA:237,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:259,0 +DA:261,0 +DA:262,0 +DA:271,0 +DA:273,0 +DA:274,0 +DA:283,0 +DA:285,0 +DA:286,0 +DA:298,0 +DA:300,0 +DA:301,0 +DA:310,0 +DA:312,0 +DA:313,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:325,0 +DA:334,0 +DA:336,0 +DA:350,0 +DA:352,0 +DA:360,0 +DA:362,0 +DA:363,0 +DA:372,0 +DA:373,0 +DA:374,0 +DA:378,0 +DA:382,0 +DA:385,0 +DA:387,0 +DA:388,0 +DA:390,0 +DA:391,0 +DA:393,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:405,0 +DA:406,0 +DA:415,0 +DA:416,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:448,0 +DA:449,0 +DA:454,0 +DA:458,0 +DA:464,0 +DA:465,0 +DA:466,0 +DA:467,0 +DA:470,0 +DA:471,0 +DA:476,0 +DA:481,0 +DA:482,0 +DA:483,0 +DA:485,0 +DA:486,0 +DA:488,0 +DA:489,0 +DA:491,0 +DA:492,0 +DA:493,0 +DA:495,0 +DA:496,0 +DA:500,0 +DA:502,0 +DA:503,0 +DA:504,0 +DA:518,0 +DA:519,0 +DA:520,0 +DA:521,0 +DA:523,0 +DA:524,0 +DA:525,0 +DA:529,0 +DA:530,0 +DA:531,0 +DA:534,0 +DA:536,0 +DA:537,0 +DA:543,0 +DA:545,0 +DA:546,0 +DA:549,0 +DA:550,0 +DA:551,0 +DA:554,0 +DA:555,0 +DA:557,0 +DA:559,0 +DA:571,0 +DA:585,0 +DA:595,0 +DA:609,0 +DA:623,0 +DA:663,0 +LF:203 +LH:0 +BRDA:75,0,0,0 +BRDA:75,0,1,0 +BRDA:75,0,2,0 +BRDA:75,0,3,0 +BRDA:82,1,0,0 +BRDA:82,1,1,0 +BRDA:89,2,0,0 +BRDA:89,2,1,0 +BRDA:90,3,0,0 +BRDA:90,3,1,0 +BRDA:90,3,2,0 +BRDA:90,3,3,0 +BRDA:96,4,0,0 +BRDA:96,4,1,0 +BRDA:99,5,0,0 +BRDA:99,5,1,0 +BRDA:102,6,0,0 +BRDA:102,6,1,0 +BRDA:102,6,2,0 +BRDA:107,7,0,0 +BRDA:107,7,1,0 +BRDA:110,8,0,0 +BRDA:110,8,1,0 +BRDA:126,9,0,0 +BRDA:126,9,1,0 +BRDA:127,10,0,0 +BRDA:127,10,1,0 +BRDA:133,11,0,0 +BRDA:133,11,1,0 +BRDA:141,12,0,0 +BRDA:141,12,1,0 +BRDA:141,13,0,0 +BRDA:141,13,1,0 +BRDA:145,14,0,0 +BRDA:145,14,1,0 +BRDA:148,15,0,0 +BRDA:148,15,1,0 +BRDA:160,16,0,0 +BRDA:160,16,1,0 +BRDA:161,17,0,0 +BRDA:161,17,1,0 +BRDA:161,17,2,0 +BRDA:169,18,0,0 +BRDA:169,18,1,0 +BRDA:169,19,0,0 +BRDA:169,19,1,0 +BRDA:169,19,2,0 +BRDA:172,20,0,0 +BRDA:172,20,1,0 +BRDA:173,21,0,0 +BRDA:173,21,1,0 +BRDA:173,21,2,0 +BRDA:178,22,0,0 +BRDA:178,22,1,0 +BRDA:178,23,0,0 +BRDA:178,23,1,0 +BRDA:178,23,2,0 +BRDA:181,24,0,0 +BRDA:181,24,1,0 +BRDA:181,25,0,0 +BRDA:181,25,1,0 +BRDA:181,25,2,0 +BRDA:184,26,0,0 +BRDA:184,26,1,0 +BRDA:184,27,0,0 +BRDA:184,27,1,0 +BRDA:184,27,2,0 +BRDA:187,28,0,0 +BRDA:187,28,1,0 +BRDA:187,29,0,0 +BRDA:187,29,1,0 +BRDA:187,29,2,0 +BRDA:195,30,0,0 +BRDA:195,30,1,0 +BRDA:205,31,0,0 +BRDA:205,31,1,0 +BRDA:213,32,0,0 +BRDA:213,32,1,0 +BRDA:213,33,0,0 +BRDA:213,33,1,0 +BRDA:221,34,0,0 +BRDA:221,34,1,0 +BRDA:230,35,0,0 +BRDA:230,35,1,0 +BRDA:239,36,0,0 +BRDA:239,36,1,0 +BRDA:239,37,0,0 +BRDA:239,37,1,0 +BRDA:240,38,0,0 +BRDA:240,38,1,0 +BRDA:248,39,0,0 +BRDA:248,39,1,0 +BRDA:261,40,0,0 +BRDA:261,40,1,0 +BRDA:261,41,0,0 +BRDA:261,41,1,0 +BRDA:273,42,0,0 +BRDA:273,42,1,0 +BRDA:273,43,0,0 +BRDA:273,43,1,0 +BRDA:285,44,0,0 +BRDA:285,44,1,0 +BRDA:285,45,0,0 +BRDA:285,45,1,0 +BRDA:300,46,0,0 +BRDA:300,46,1,0 +BRDA:300,47,0,0 +BRDA:300,47,1,0 +BRDA:312,48,0,0 +BRDA:312,48,1,0 +BRDA:312,49,0,0 +BRDA:312,49,1,0 +BRDA:329,50,0,0 +BRDA:329,50,1,0 +BRDA:362,51,0,0 +BRDA:362,51,1,0 +BRDA:373,52,0,0 +BRDA:373,52,1,0 +BRDA:374,53,0,0 +BRDA:374,53,1,0 +BRDA:385,54,0,0 +BRDA:385,54,1,0 +BRDA:385,55,0,0 +BRDA:385,55,1,0 +BRDA:385,55,2,0 +BRDA:387,56,0,0 +BRDA:387,56,1,0 +BRDA:387,57,0,0 +BRDA:387,57,1,0 +BRDA:395,58,0,0 +BRDA:395,58,1,0 +BRDA:398,59,0,0 +BRDA:398,59,1,0 +BRDA:403,60,0,0 +BRDA:403,60,1,0 +BRDA:405,61,0,0 +BRDA:405,61,1,0 +BRDA:407,62,0,0 +BRDA:407,62,1,0 +BRDA:413,63,0,0 +BRDA:413,63,1,0 +BRDA:415,64,0,0 +BRDA:415,64,1,0 +BRDA:415,65,0,0 +BRDA:415,65,1,0 +BRDA:418,66,0,0 +BRDA:418,66,1,0 +BRDA:422,67,0,0 +BRDA:422,67,1,0 +BRDA:426,68,0,0 +BRDA:426,68,1,0 +BRDA:426,69,0,0 +BRDA:426,69,1,0 +BRDA:448,70,0,0 +BRDA:448,70,1,0 +BRDA:448,71,0,0 +BRDA:448,71,1,0 +BRDA:454,72,0,0 +BRDA:454,72,1,0 +BRDA:455,73,0,0 +BRDA:455,73,1,0 +BRDA:466,74,0,0 +BRDA:466,74,1,0 +BRDA:470,75,0,0 +BRDA:470,75,1,0 +BRDA:481,76,0,0 +BRDA:481,76,1,0 +BRDA:481,77,0,0 +BRDA:481,77,1,0 +BRDA:482,78,0,0 +BRDA:482,78,1,0 +BRDA:488,79,0,0 +BRDA:488,79,1,0 +BRDA:491,80,0,0 +BRDA:491,80,1,0 +BRDA:495,81,0,0 +BRDA:495,81,1,0 +BRDA:502,82,0,0 +BRDA:502,82,1,0 +BRDA:505,83,0,0 +BRDA:505,83,1,0 +BRDA:512,84,0,0 +BRDA:512,84,1,0 +BRDA:519,85,0,0 +BRDA:519,85,1,0 +BRDA:519,86,0,0 +BRDA:519,86,1,0 +BRDA:523,87,0,0 +BRDA:523,87,1,0 +BRDA:523,88,0,0 +BRDA:523,88,1,0 +BRDA:536,89,0,0 +BRDA:536,89,1,0 +BRDA:536,90,0,0 +BRDA:536,90,1,0 +BRDA:551,91,0,0 +BRDA:551,91,1,0 +BRDA:555,92,0,0 +BRDA:555,92,1,0 +BRDA:557,93,0,0 +BRDA:557,93,1,0 +BRDA:557,93,2,0 +BRDA:557,93,3,0 +BRDA:557,93,4,0 +BRDA:557,93,5,0 +BRDA:639,94,0,0 +BRDA:639,94,1,0 +BRDA:680,95,0,0 +BRDA:680,95,1,0 +BRDA:689,96,0,0 +BRDA:689,96,1,0 +BRDA:696,97,0,0 +BRDA:696,97,1,0 +BRDA:710,98,0,0 +BRDA:710,98,1,0 +BRDA:711,99,0,0 +BRDA:711,99,1,0 +BRDA:712,100,0,0 +BRDA:712,100,1,0 +BRDA:713,101,0,0 +BRDA:713,101,1,0 +BRDA:713,101,2,0 +BRF:222 +BRH:0 +end_of_record +TN: +SF:src/app/components/EditTokenFormModal.tsx +FN:16,(anonymous_0) +FN:23,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:29,0 +DA:30,0 +DA:33,0 +LF:11 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:29,1,0,0 +BRDA:29,1,1,0 +BRDA:41,2,0,0 +BRDA:41,2,1,0 +BRDA:42,3,0,0 +BRDA:42,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/ErrorMessage.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ErrorValidation.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ExplainerModal.tsx +FN:6,ExplainerModal +FN:8,(anonymous_1) +FN:9,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,ExplainerModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/FigmaLoading.tsx +FN:39,FigmaLoading +FNF:1 +FNH:0 +FNDA:0,FigmaLoading +DA:9,0 +DA:15,0 +DA:20,0 +DA:25,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:52,0 +LF:8 +LH:0 +BRDA:44,0,0,0 +BRDA:44,0,1,0 +BRDA:67,1,0,0 +BRDA:67,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/Footer.tsx +FN:39,Footer +FN:54,(anonymous_1) +FN:55,(anonymous_2) +FN:58,(anonymous_3) +FN:61,(anonymous_4) +FN:62,(anonymous_5) +FN:63,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,Footer +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:69,0 +LF:23 +LH:0 +BRDA:81,0,0,0 +BRDA:81,0,1,0 +BRDA:81,0,2,0 +BRDA:81,0,3,0 +BRDA:88,1,0,0 +BRDA:88,1,1,0 +BRDA:91,2,0,0 +BRDA:91,2,1,0 +BRDA:91,2,2,0 +BRDA:91,2,3,0 +BRDA:118,3,0,0 +BRDA:118,3,1,0 +BRDA:128,4,0,0 +BRDA:128,4,1,0 +BRDA:128,5,0,0 +BRDA:128,5,1,0 +BRDA:128,5,2,0 +BRDA:128,5,3,0 +BRDA:128,5,4,0 +BRDA:128,5,5,0 +BRDA:136,6,0,0 +BRDA:136,6,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/app/components/IconToggleableDisclosure.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ImportVariablesDialog.tsx +FN:15,ImportVariablesDialog +FN:22,(anonymous_1) +FN:25,(anonymous_2) +FN:28,(anonymous_3) +FN:35,(anonymous_4) +FN:36,(anonymous_5) +FN:49,(anonymous_6) +FN:56,(anonymous_7) +FN:57,(anonymous_8) +FN:63,(anonymous_9) +FN:83,(anonymous_10) +FN:116,(anonymous_11) +FN:123,(anonymous_12) +FN:133,(anonymous_13) +FN:143,(anonymous_14) +FN:151,(anonymous_15) +FN:155,(anonymous_16) +FNF:17 +FNH:0 +FNDA:0,ImportVariablesDialog +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:45,0 +DA:49,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:73,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:89,0 +DA:116,0 +DA:123,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:138,0 +DA:143,0 +DA:152,0 +DA:155,0 +LF:45 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:59,2,0,0 +BRDA:59,2,1,0 +BRDA:62,3,0,0 +BRDA:62,3,1,0 +BRDA:67,4,0,0 +BRDA:67,4,1,0 +BRDA:135,5,0,0 +BRDA:135,5,1,0 +BRDA:136,6,0,0 +BRDA:136,6,1,0 +BRDA:149,7,0,0 +BRDA:149,7,1,0 +BRDA:169,8,0,0 +BRDA:169,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/ImportedTokensDialog.tsx +FN:21,NewOrExistingToken +FN:35,(anonymous_1) +FN:39,(anonymous_2) +FN:45,(anonymous_3) +FN:45,(anonymous_4) +FN:99,ImportedTokensDialog +FN:113,(anonymous_6) +FN:114,(anonymous_7) +FN:118,(anonymous_8) +FN:119,(anonymous_9) +FN:122,(anonymous_10) +FN:123,(anonymous_11) +FN:137,(anonymous_12) +FN:138,(anonymous_13) +FN:152,(anonymous_14) +FN:153,(anonymous_15) +FN:162,(anonymous_16) +FN:173,(anonymous_17) +FN:173,(anonymous_18) +FN:184,(anonymous_19) +FN:195,(anonymous_20) +FN:196,(anonymous_21) +FN:197,(anonymous_22) +FN:198,(anonymous_23) +FN:199,(anonymous_24) +FN:209,(anonymous_25) +FN:220,(anonymous_26) +FN:223,(anonymous_27) +FN:235,(anonymous_28) +FN:238,(anonymous_29) +FN:243,(anonymous_30) +FN:248,(anonymous_31) +FN:290,(anonymous_32) +FN:335,(anonymous_33) +FNF:34 +FNH:0 +FNDA:0,NewOrExistingToken +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,ImportedTokensDialog +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +DA:34,0 +DA:35,0 +DA:36,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:111,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:118,0 +DA:119,0 +DA:122,0 +DA:123,0 +DA:133,0 +DA:134,0 +DA:137,0 +DA:138,0 +DA:148,0 +DA:149,0 +DA:152,0 +DA:153,0 +DA:162,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:180,0 +DA:182,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:188,0 +DA:191,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:209,0 +DA:211,0 +DA:219,0 +DA:220,0 +DA:223,0 +DA:225,0 +DA:233,0 +DA:235,0 +DA:238,0 +DA:239,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:253,0 +DA:255,0 +DA:291,0 +DA:336,0 +LF:75 +LH:0 +BRDA:52,0,0,0 +BRDA:52,0,1,0 +BRDA:66,1,0,0 +BRDA:66,1,1,0 +BRDA:68,2,0,0 +BRDA:68,2,1,0 +BRDA:79,3,0,0 +BRDA:79,3,1,0 +BRDA:83,4,0,0 +BRDA:83,4,1,0 +BRDA:83,4,2,0 +BRDA:87,5,0,0 +BRDA:87,5,1,0 +BRDA:124,6,0,0 +BRDA:124,6,1,0 +BRDA:139,7,0,0 +BRDA:139,7,1,0 +BRDA:154,8,0,0 +BRDA:154,8,1,0 +BRDA:163,9,0,0 +BRDA:163,9,1,0 +BRDA:171,10,0,0 +BRDA:171,10,1,0 +BRDA:171,11,0,0 +BRDA:171,11,1,0 +BRDA:185,12,0,0 +BRDA:185,12,1,0 +BRDA:185,13,0,0 +BRDA:185,13,1,0 +BRDA:260,14,0,0 +BRDA:260,14,1,0 +BRDA:275,15,0,0 +BRDA:275,15,1,0 +BRDA:302,16,0,0 +BRDA:302,16,1,0 +BRDA:320,17,0,0 +BRDA:320,17,1,0 +BRDA:346,18,0,0 +BRDA:346,18,1,0 +BRF:39 +BRH:0 +end_of_record +TN: +SF:src/app/components/Initiator.tsx +FN:20,(anonymous_0) +FN:34,Initiator +FN:39,(anonymous_2) +FN:40,(anonymous_3) +FN:53,(anonymous_4) +FN:70,(anonymous_5) +FN:171,(anonymous_6) +FN:176,(anonymous_7) +FN:181,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,Initiator +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:64,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:73,0 +DA:75,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:92,0 +DA:95,0 +DA:96,0 +DA:99,0 +DA:100,0 +DA:103,0 +DA:104,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:118,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:127,0 +DA:128,0 +DA:130,0 +DA:134,0 +DA:135,0 +DA:138,0 +DA:139,0 +DA:142,0 +DA:143,0 +DA:146,0 +DA:147,0 +DA:150,0 +DA:155,0 +DA:158,0 +DA:163,0 +DA:166,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:180,0 +DA:181,0 +DA:184,0 +LF:92 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:45,1,0,0 +BRDA:45,1,1,0 +BRDA:47,2,0,0 +BRDA:47,2,1,0 +BRDA:47,2,2,0 +BRDA:47,2,3,0 +BRDA:47,2,4,0 +BRDA:47,2,5,0 +BRDA:47,2,6,0 +BRDA:47,2,7,0 +BRDA:47,2,8,0 +BRDA:47,2,9,0 +BRDA:47,2,10,0 +BRDA:47,2,11,0 +BRDA:47,2,12,0 +BRDA:47,2,13,0 +BRDA:47,2,14,0 +BRDA:47,2,15,0 +BRDA:52,3,0,0 +BRDA:52,3,1,0 +BRDA:58,4,0,0 +BRDA:58,4,1,0 +BRDA:68,5,0,0 +BRDA:68,5,1,0 +BRDA:86,6,0,0 +BRDA:86,6,1,0 +BRDA:88,7,0,0 +BRDA:88,7,1,0 +BRDA:89,8,0,0 +BRDA:89,8,1,0 +BRDA:113,9,0,0 +BRDA:113,9,1,0 +BRDA:123,10,0,0 +BRDA:123,10,1,0 +BRDA:127,11,0,0 +BRDA:127,11,1,0 +BRDA:170,12,0,0 +BRDA:170,12,1,0 +BRF:40 +BRH:0 +end_of_record +TN: +SF:src/app/components/Input.tsx +FN:155,(anonymous_0) +FN:183,(anonymous_1) +FN:191,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:35,0 +DA:46,0 +DA:85,0 +DA:114,0 +DA:149,0 +DA:155,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:197,0 +LF:18 +LH:0 +BRDA:159,0,0,0 +BRDA:160,1,0,0 +BRDA:161,2,0,0 +BRDA:162,3,0,0 +BRDA:171,4,0,0 +BRDA:173,5,0,0 +BRDA:174,6,0,0 +BRDA:175,7,0,0 +BRDA:181,8,0,0 +BRDA:181,8,1,0 +BRDA:186,9,0,0 +BRDA:186,9,1,0 +BRDA:187,10,0,0 +BRDA:187,10,1,0 +BRDA:192,11,0,0 +BRDA:192,11,1,0 +BRDA:192,12,0,0 +BRDA:192,12,1,0 +BRDA:192,12,2,0 +BRDA:198,13,0,0 +BRDA:198,13,1,0 +BRDA:199,14,0,0 +BRDA:199,14,1,0 +BRDA:199,14,2,0 +BRDA:201,15,0,0 +BRDA:201,15,1,0 +BRDA:202,16,0,0 +BRDA:202,16,1,0 +BRDA:207,17,0,0 +BRDA:207,17,1,0 +BRDA:208,18,0,0 +BRDA:208,18,1,0 +BRDA:211,19,0,0 +BRDA:211,19,1,0 +BRDA:211,19,2,0 +BRDA:213,20,0,0 +BRDA:213,20,1,0 +BRDA:230,21,0,0 +BRDA:230,21,1,0 +BRDA:231,22,0,0 +BRDA:231,22,1,0 +BRDA:233,23,0,0 +BRDA:233,23,1,0 +BRF:43 +BRH:0 +end_of_record +TN: +SF:src/app/components/InspectSearchOptionDropdown.tsx +FN:11,InspectSearchOptionDropdown +FN:15,(anonymous_1) +FN:19,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,InspectSearchOptionDropdown +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:25,0 +LF:8 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Inspector.tsx +FN:26,Inspector +FN:35,(anonymous_1) +FN:39,(anonymous_2) +FN:46,renderInspectView +FN:54,(anonymous_4) +FN:58,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,Inspector +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,renderInspectView +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:60,0 +LF:21 +LH:0 +BRDA:40,0,0,0 +BRDA:40,0,1,0 +BRDA:47,1,0,0 +BRDA:47,1,1,0 +BRDA:47,1,2,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/app/components/InspectorDebugView.tsx +FN:24,InspectorDebugView +FN:28,(anonymous_1) +FN:31,(anonymous_2) +FN:43,renderBlankslate +FN:62,(anonymous_4) +FN:63,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,InspectorDebugView +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,renderBlankslate +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:17,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:40,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:62,0 +DA:64,0 +LF:16 +LH:0 +BRDA:30,0,0,0 +BRDA:30,0,1,0 +BRDA:31,1,0,0 +BRDA:31,1,1,0 +BRDA:32,2,0,0 +BRDA:32,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:45,4,0,0 +BRDA:45,4,1,0 +BRDA:45,5,0,0 +BRDA:45,5,1,0 +BRDA:58,6,0,0 +BRDA:58,6,1,0 +BRDA:58,7,0,0 +BRDA:58,7,1,0 +BRDA:62,8,0,0 +BRDA:62,8,1,0 +BRDA:70,9,0,0 +BRDA:70,9,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/app/components/InspectorMultiView.tsx +FN:21,InspectorMultiView +FN:36,(anonymous_1) +FN:40,(anonymous_2) +FN:43,(anonymous_3) +FN:43,(anonymous_4) +FN:46,(anonymous_5) +FN:46,(anonymous_6) +FN:48,(anonymous_7) +FN:51,(anonymous_8) +FN:55,(anonymous_9) +FN:58,(anonymous_10) +FN:73,(anonymous_11) +FN:75,(anonymous_12) +FN:76,(anonymous_13) +FN:84,(anonymous_14) +FN:88,(anonymous_15) +FN:92,(anonymous_16) +FN:96,(anonymous_17) +FN:100,(anonymous_18) +FN:104,(anonymous_19) +FN:152,(anonymous_20) +FNF:21 +FNH:0 +FNDA:0,InspectorMultiView +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +DA:22,0 +DA:24,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:51,0 +DA:52,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:66,0 +DA:69,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:81,0 +DA:84,0 +DA:85,0 +DA:88,0 +DA:92,0 +DA:93,0 +DA:96,0 +DA:97,0 +DA:100,0 +DA:101,0 +DA:104,0 +DA:105,0 +DA:108,0 +DA:152,0 +LF:44 +LH:0 +BRDA:42,0,0,0 +BRDA:42,0,1,0 +BRDA:43,1,0,0 +BRDA:43,1,1,0 +BRDA:45,2,0,0 +BRDA:45,2,1,0 +BRDA:46,3,0,0 +BRDA:46,3,1,0 +BRDA:48,4,0,0 +BRDA:48,4,1,0 +BRDA:56,5,0,0 +BRDA:56,5,1,0 +BRDA:57,6,0,0 +BRDA:57,6,1,0 +BRDA:60,7,0,0 +BRDA:60,7,1,0 +BRDA:86,8,0,0 +BRDA:86,8,1,0 +BRDA:110,9,0,0 +BRDA:110,9,1,0 +BRDA:150,10,0,0 +BRDA:150,10,1,0 +BRDA:156,11,0,0 +BRDA:156,11,1,0 +BRDA:156,12,0,0 +BRDA:156,12,1,0 +BRDA:158,13,0,0 +BRDA:158,13,1,0 +BRDA:164,14,0,0 +BRDA:164,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/app/components/InspectorResolvedToken.tsx +FN:21,InspectorResolvedToken +FNF:1 +FNH:0 +FNDA:0,InspectorResolvedToken +DA:22,0 +DA:24,0 +DA:25,0 +DA:44,0 +DA:46,0 +DA:61,0 +DA:77,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:101,0 +DA:119,0 +DA:135,0 +DA:151,0 +LF:14 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:44,1,0,0 +BRDA:44,1,1,0 +BRDA:44,1,2,0 +BRDA:44,1,3,0 +BRDA:44,1,4,0 +BRDA:44,1,5,0 +BRDA:44,1,6,0 +BRDA:93,2,0,0 +BRDA:93,2,1,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/app/components/InspectorTokenGroup.tsx +FN:9,InspectorTokenGroup +FN:23,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,InspectorTokenGroup +FNDA:0,(anonymous_1) +DA:10,0 +DA:12,0 +DA:23,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/InspectorTokenSingle.tsx +FN:25,InspectorTokenSingle +FN:45,(anonymous_1) +FN:62,(anonymous_2) +FN:64,(anonymous_3) +FN:67,(anonymous_4) +FN:71,(anonymous_5) +FN:75,(anonymous_6) +FN:79,(anonymous_7) +FN:84,(anonymous_8) +FN:88,(anonymous_9) +FN:92,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,InspectorTokenSingle +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:57,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:68,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:84,0 +DA:85,0 +DA:88,0 +DA:89,0 +DA:92,0 +DA:93,0 +DA:96,0 +LF:38 +LH:0 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:50,1,0,0 +BRDA:50,1,1,0 +BRDA:51,2,0,0 +BRDA:51,2,1,0 +BRDA:64,3,0,0 +BRDA:64,3,1,0 +BRDA:64,4,0,0 +BRDA:64,4,1,0 +BRDA:123,5,0,0 +BRDA:123,5,1,0 +BRDA:123,5,2,0 +BRDA:126,6,0,0 +BRDA:126,6,1,0 +BRDA:126,6,2,0 +BRDA:128,7,0,0 +BRDA:128,7,1,0 +BRDA:128,7,2,0 +BRDA:128,7,3,0 +BRDA:139,8,0,0 +BRDA:139,8,1,0 +BRDA:140,9,0,0 +BRDA:140,9,1,0 +BRDA:143,10,0,0 +BRDA:143,10,1,0 +BRDA:156,11,0,0 +BRDA:156,11,1,0 +BRDA:157,12,0,0 +BRDA:157,12,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/app/components/JSONEditor.tsx +FN:16,JSONEditor +FN:37,(anonymous_1) +FN:41,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,JSONEditor +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:47,0 +DA:49,0 +LF:15 +LH:0 +BRDA:38,0,0,0 +BRDA:38,0,1,0 +BRDA:42,1,0,0 +BRDA:42,1,1,0 +BRDA:42,2,0,0 +BRDA:42,2,1,0 +BRDA:63,3,0,0 +BRDA:63,3,1,0 +BRDA:72,4,0,0 +BRDA:72,4,1,0 +BRDA:72,4,2,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/app/components/Label.tsx +FN:5,Label +FNF:1 +FNH:0 +FNDA:0,Label +DA:16,0 +DA:32,0 +LF:2 +LH:0 +BRDA:8,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/app/components/Link.tsx +FN:17,Link +FNF:1 +FNH:0 +FNDA:0,Link +DA:4,0 +DA:18,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/LoadingBar.tsx +FN:31,LoadingBar +FN:35,(anonymous_1) +FN:35,(anonymous_2) +FN:36,(anonymous_3) +FN:36,(anonymous_4) +FN:41,(anonymous_5) +FN:50,(anonymous_6) +FN:50,(anonymous_7) +FN:53,(anonymous_8) +FN:53,(anonymous_9) +FN:57,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,LoadingBar +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:14,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:69,0 +LF:19 +LH:0 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRDA:46,3,0,0 +BRDA:46,3,1,0 +BRDA:46,3,2,0 +BRDA:51,4,0,0 +BRDA:51,4,1,0 +BRDA:54,5,0,0 +BRDA:54,5,1,0 +BRDA:63,6,0,0 +BRDA:63,6,1,0 +BRDA:67,7,0,0 +BRDA:67,7,1,0 +BRDA:76,8,0,0 +BRDA:76,8,1,0 +BRDA:80,9,0,0 +BRDA:80,9,1,0 +BRDA:83,10,0,0 +BRDA:83,10,1,0 +BRDA:84,11,0,0 +BRDA:84,11,1,0 +BRDA:84,11,2,0 +BRDA:90,12,0,0 +BRDA:90,12,1,0 +BRF:28 +BRH:0 +end_of_record +TN: +SF:src/app/components/LocalStorageItem.tsx +FN:17,(anonymous_0) +FN:24,(anonymous_1) +FN:34,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:31,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:47,0 +DA:49,0 +LF:18 +LH:0 +BRDA:35,0,0,0 +BRDA:35,0,1,0 +BRDA:40,1,0,0 +BRDA:40,1,1,0 +BRDA:77,2,0,0 +BRDA:77,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/MultiSelectCheckboxItem.tsx +FN:12,(anonymous_0) +FN:17,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:12,0 +DA:17,0 +DA:18,0 +DA:21,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/MultiSelectDropdown.tsx +FN:13,(anonymous_0) +FN:19,(anonymous_1) +FN:21,(anonymous_2) +FN:23,(anonymous_3) +FN:41,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:13,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:31,0 +DA:41,0 +LF:11 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/Navbar.tsx +FN:23,(anonymous_0) +FN:34,(anonymous_1) +FN:40,(anonymous_2) +FN:46,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:35,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:50,0 +LF:18 +LH:0 +BRDA:41,0,0,0 +BRDA:41,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:42,2,0,0 +BRDA:42,2,1,0 +BRDA:42,3,0,0 +BRDA:42,3,1,0 +BRDA:73,4,0,0 +BRDA:73,4,1,0 +BRDA:73,4,2,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/app/components/OnboardingExplainer.tsx +FN:28,OnboardingExplainer +FNF:1 +FNH:0 +FNDA:0,OnboardingExplainer +DA:9,0 +DA:13,0 +DA:29,0 +DA:30,0 +LF:4 +LH:0 +BRDA:31,0,0,0 +BRDA:31,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/OnboardingFlow.tsx +FN:23,fetchOnboardingImage +FN:40,OnboardingFlow +FN:74,(anonymous_2) +FN:78,(anonymous_3) +FN:82,(anonymous_4) +FN:89,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,fetchOnboardingImage +FNDA:0,OnboardingFlow +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:12,0 +DA:18,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:36,0 +DA:41,0 +DA:42,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:79,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:90,0 +LF:22 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:24,0,2,0 +BRDA:24,0,3,0 +BRDA:24,0,4,0 +BRDA:24,0,5,0 +BRDA:87,1,0,0 +BRDA:87,1,1,0 +BRDA:96,2,0,0 +BRDA:96,2,1,0 +BRDA:101,3,0,0 +BRDA:101,3,1,0 +BRDA:112,4,0,0 +BRDA:112,4,1,0 +BRDA:113,5,0,0 +BRDA:113,5,1,0 +BRDA:118,6,0,0 +BRDA:118,6,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/PluginResizer.tsx +FN:11,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:11,0 +DA:12,0 +DA:14,0 +LF:3 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/ProBadge.tsx +FN:30,ProBadge +FNF:1 +FNH:0 +FNDA:0,ProBadge +DA:6,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:36,0 +LF:5 +LH:0 +BRDA:38,0,0,0 +BRDA:38,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/PullDialog.tsx +FN:14,PullDialog +FN:20,(anonymous_1) +FN:24,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,PullDialog +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:15,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:30,0 +DA:58,0 +DA:68,0 +LF:11 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRDA:28,0,2,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/app/components/PushDialog.tsx +FN:29,PushDialog +FN:38,(anonymous_1) +FN:42,(anonymous_2) +FN:82,(anonymous_3) +FN:89,(anonymous_4) +FN:95,(anonymous_5) +FN:102,(anonymous_6) +FN:109,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,PushDialog +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:52,0 +DA:54,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:71,0 +DA:73,0 +DA:75,0 +DA:76,0 +DA:78,0 +DA:81,0 +DA:83,0 +DA:88,0 +DA:90,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:108,0 +DA:110,0 +DA:111,0 +DA:117,0 +DA:119,0 +DA:122,0 +DA:190,0 +DA:207,0 +DA:236,0 +LF:45 +LH:0 +BRDA:35,0,0,0 +BRDA:35,0,1,0 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:44,4,0,0 +BRDA:44,4,1,0 +BRDA:44,4,2,0 +BRDA:45,5,0,0 +BRDA:45,5,1,0 +BRDA:45,5,2,0 +BRDA:45,5,3,0 +BRDA:45,5,4,0 +BRDA:75,6,0,0 +BRDA:75,6,1,0 +BRDA:96,7,0,0 +BRDA:96,7,1,0 +BRDA:96,8,0,0 +BRDA:96,8,1,0 +BRDA:97,9,0,0 +BRDA:97,9,1,0 +BRDA:98,10,0,0 +BRDA:98,10,1,0 +BRDA:98,10,2,0 +BRDA:103,11,0,0 +BRDA:103,11,1,0 +BRDA:103,12,0,0 +BRDA:103,12,1,0 +BRDA:103,12,2,0 +BRDA:110,13,0,0 +BRDA:110,13,1,0 +BRDA:110,14,0,0 +BRDA:110,14,1,0 +BRDA:110,14,2,0 +BRDA:119,15,0,0 +BRDA:119,15,1,0 +BRDA:119,15,2,0 +BRDA:119,15,3,0 +BRDA:119,15,4,0 +BRDA:138,16,0,0 +BRDA:138,16,1,0 +BRDA:138,16,2,0 +BRDA:158,17,0,0 +BRDA:158,17,1,0 +BRDA:158,17,2,0 +BRDA:175,18,0,0 +BRDA:175,18,1,0 +BRDA:183,19,0,0 +BRDA:183,19,1,0 +BRDA:184,20,0,0 +BRDA:184,20,1,0 +BRDA:196,21,0,0 +BRDA:196,21,1,0 +BRDA:197,22,0,0 +BRDA:197,22,1,0 +BRDA:198,23,0,0 +BRDA:198,23,1,0 +BRDA:199,24,0,0 +BRDA:199,24,1,0 +BRDA:200,25,0,0 +BRDA:200,25,1,0 +BRDA:216,26,0,0 +BRDA:216,26,1,0 +BRDA:217,27,0,0 +BRDA:217,27,1,0 +BRDA:218,28,0,0 +BRDA:218,28,1,0 +BRDA:219,29,0,0 +BRDA:219,29,1,0 +BRDA:220,30,0,0 +BRDA:220,30,1,0 +BRDA:225,31,0,0 +BRDA:225,31,1,0 +BRF:76 +BRH:0 +end_of_record +TN: +SF:src/app/components/PushDialogSupernovaConfirm.tsx +FN:12,PushDialogSupernovaConfirm +FNF:1 +FNH:0 +FNDA:0,PushDialogSupernovaConfirm +DA:13,0 +DA:15,0 +LF:2 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/PushJSON.tsx +FN:15,PushJSON +FN:22,(anonymous_1) +FN:33,(anonymous_2) +FN:45,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,PushJSON +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:9,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:39,0 +DA:46,0 +LF:19 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:25,1,0,0 +BRDA:25,1,1,0 +BRDA:32,2,0,0 +BRDA:32,2,1,0 +BRDA:45,3,0,0 +BRDA:45,3,1,0 +BRDA:46,4,0,0 +BRDA:46,4,1,0 +BRDA:49,5,0,0 +BRDA:49,5,1,0 +BRDA:49,5,2,0 +BRDA:58,6,0,0 +BRDA:58,6,1,0 +BRDA:61,7,0,0 +BRDA:61,7,1,0 +BRDA:71,8,0,0 +BRDA:71,8,1,0 +BRDA:74,9,0,0 +BRDA:74,9,1,0 +BRF:21 +BRH:0 +end_of_record +TN: +SF:src/app/components/PushSettingForm.tsx +FN:19,PushSettingForm +FN:24,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,PushSettingForm +FNDA:0,(anonymous_1) +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:30,0 +LF:5 +LH:0 +BRDA:30,0,0,0 +BRDA:30,0,1,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/RemConfiguration.tsx +FN:22,(anonymous_0) +FN:32,(anonymous_1) +FN:32,(anonymous_2) +FN:35,(anonymous_3) +FN:41,(anonymous_4) +FN:61,(anonymous_5) +FN:72,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:57,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:71,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:82,0 +LF:35 +LH:0 +BRDA:44,0,0,0 +BRDA:44,0,1,0 +BRDA:44,1,0,0 +BRDA:44,1,1,0 +BRDA:45,2,0,0 +BRDA:45,2,1,0 +BRDA:48,3,0,0 +BRDA:48,3,1,0 +BRDA:64,4,0,0 +BRDA:64,4,1,0 +BRDA:64,5,0,0 +BRDA:64,5,1,0 +BRDA:75,6,0,0 +BRDA:75,6,1,0 +BRDA:75,7,0,0 +BRDA:75,7,1,0 +BRDA:93,8,0,0 +BRDA:93,8,1,0 +BRDA:99,9,0,0 +BRDA:99,9,1,0 +BRDA:103,10,0,0 +BRDA:103,10,1,0 +BRDA:106,11,0,0 +BRDA:106,11,1,0 +BRDA:119,12,0,0 +BRDA:119,12,1,0 +BRF:26 +BRH:0 +end_of_record +TN: +SF:src/app/components/ResolvedBorderValueDisplay.tsx +FN:21,(anonymous_0) +FN:36,(anonymous_1) +FN:42,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:12,0 +DA:17,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:30,0 +DA:37,0 +DA:43,0 +LF:9 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ResolvedShadowValueDisplay.tsx +FN:20,(anonymous_0) +FN:29,(anonymous_1) +FN:35,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:11,0 +DA:16,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:30,0 +DA:36,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ResolvedTokenDisplay.tsx +FN:11,ResolvedTokenDisplay +FN:18,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,ResolvedTokenDisplay +FNDA:0,(anonymous_1) +DA:18,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:43,0 +DA:44,0 +DA:47,0 +LF:12 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRDA:30,3,0,0 +BRDA:30,3,1,0 +BRDA:30,4,0,0 +BRDA:30,4,1,0 +BRDA:31,5,0,0 +BRDA:31,5,1,0 +BRDA:35,6,0,0 +BRDA:35,6,1,0 +BRDA:35,7,0,0 +BRDA:35,7,1,0 +BRDA:43,8,0,0 +BRDA:43,8,1,0 +BRDA:43,9,0,0 +BRDA:43,9,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/app/components/ResolvedTypographyValueDisplay.tsx +FN:21,(anonymous_0) +FN:44,(anonymous_1) +FN:50,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:12,0 +DA:17,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:38,0 +DA:45,0 +DA:51,0 +LF:9 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Select.tsx +FN:25,Select +FNF:1 +FNH:0 +FNDA:0,Select +DA:5,0 +DA:28,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/SettingsDropdown.tsx +FN:12,SettingsDropdown +FN:24,(anonymous_1) +FN:28,(anonymous_2) +FN:32,(anonymous_3) +FN:36,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,SettingsDropdown +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:13,0 +DA:14,0 +DA:18,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +LF:13 +LH:0 +BRDA:61,0,0,0 +BRDA:61,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/SingleBoxShadowDownShiftInput.tsx +FN:8,SingleBoxShadowDownShiftInput +FN:30,(anonymous_1) +FN:40,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,SingleBoxShadowDownShiftInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:39,0 +DA:40,0 +DA:43,0 +LF:10 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRDA:31,1,0,0 +BRDA:31,1,1,0 +BRDA:31,2,0,0 +BRDA:31,2,1,0 +BRDA:31,2,2,0 +BRDA:33,3,0,0 +BRDA:33,3,1,0 +BRDA:35,4,0,0 +BRDA:35,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:55,6,0,0 +BRDA:55,6,1,0 +BRDA:55,6,2,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/app/components/SingleBoxShadowInput.tsx +FN:42,SingleBoxShadowInput +FN:66,(anonymous_1) +FN:68,(anonymous_2) +FN:82,(anonymous_3) +FN:97,(anonymous_4) +FN:111,(anonymous_5) +FN:115,(anonymous_6) +FN:129,(anonymous_7) +FN:141,(anonymous_8) +FN:153,(anonymous_9) +FN:156,(anonymous_10) +FN:196,(anonymous_11) +FN:244,(anonymous_12) +FNF:13 +FNH:0 +FNDA:0,SingleBoxShadowInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +DA:30,0 +DA:38,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:89,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:103,0 +DA:111,0 +DA:112,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:121,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:136,0 +DA:139,0 +DA:141,0 +DA:142,0 +DA:145,0 +DA:151,0 +DA:153,0 +DA:157,0 +DA:158,0 +DA:160,0 +DA:161,0 +DA:163,0 +DA:164,0 +DA:167,0 +DA:169,0 +DA:171,0 +DA:173,0 +DA:175,0 +DA:176,0 +DA:179,0 +DA:180,0 +DA:183,0 +DA:184,0 +DA:189,0 +DA:196,0 +DA:201,0 +DA:205,0 +DA:245,0 +LF:67 +LH:0 +BRDA:44,0,0,0 +BRDA:69,1,0,0 +BRDA:69,1,1,0 +BRDA:83,2,0,0 +BRDA:83,2,1,0 +BRDA:83,3,0,0 +BRDA:83,3,1,0 +BRDA:84,4,0,0 +BRDA:84,4,1,0 +BRDA:98,5,0,0 +BRDA:98,5,1,0 +BRDA:116,6,0,0 +BRDA:116,6,1,0 +BRDA:131,7,0,0 +BRDA:131,7,1,0 +BRDA:136,8,0,0 +BRDA:136,8,1,0 +BRDA:154,9,0,0 +BRDA:154,9,1,0 +BRDA:157,10,0,0 +BRDA:157,10,1,0 +BRDA:163,11,0,0 +BRDA:163,11,1,0 +BRDA:175,12,0,0 +BRDA:175,12,1,0 +BRDA:175,13,0,0 +BRDA:175,13,1,0 +BRDA:179,14,0,0 +BRDA:179,14,1,0 +BRDA:179,15,0,0 +BRDA:179,15,1,0 +BRDA:207,16,0,0 +BRDA:207,16,1,0 +BRDA:212,17,0,0 +BRDA:212,17,1,0 +BRDA:224,18,0,0 +BRDA:224,18,1,0 +BRDA:229,19,0,0 +BRDA:229,19,1,0 +BRDA:240,20,0,0 +BRDA:240,20,1,0 +BRDA:250,21,0,0 +BRDA:250,21,1,0 +BRDA:260,22,0,0 +BRDA:260,22,1,0 +BRDA:260,22,2,0 +BRDA:261,23,0,0 +BRDA:261,23,1,0 +BRF:48 +BRH:0 +end_of_record +TN: +SF:src/app/components/SingleCompositionTokenContent.tsx +FN:28,SingleCompositionTokenContent +FN:46,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,SingleCompositionTokenContent +FNDA:0,(anonymous_1) +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:50,0 +LF:7 +LH:0 +BRDA:59,0,0,0 +BRDA:59,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/SingleCompositionTokenForm.tsx +FN:15,SingleCompositionTokenForm +FN:44,(anonymous_1) +FN:49,(anonymous_2) +FN:62,(anonymous_3) +FN:69,(anonymous_4) +FN:74,(anonymous_5) +FN:78,(anonymous_6) +FN:100,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,SingleCompositionTokenForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:79,0 +DA:100,0 +DA:105,0 +LF:26 +LH:0 +BRDA:79,0,0,0 +BRDA:79,0,1,0 +BRDA:81,1,0,0 +BRDA:81,1,1,0 +BRDA:92,2,0,0 +BRDA:92,2,1,0 +BRDA:99,3,0,0 +BRDA:99,3,1,0 +BRDA:128,4,0,0 +BRDA:128,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/components/SingleTypographyDownShiftInput.tsx +FN:7,SingleTypographyDownShiftInput +FN:26,(anonymous_1) +FN:30,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,SingleTypographyDownShiftInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:26,0 +DA:27,0 +DA:30,0 +DA:32,0 +DA:34,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Stack.tsx +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StartScreen.tsx +FN:39,StartScreen +FN:46,(anonymous_1) +FN:52,(anonymous_2) +FN:58,(anonymous_3) +FN:62,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,StartScreen +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:22,0 +DA:27,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:74,0 +LF:23 +LH:0 +BRDA:59,0,0,0 +BRDA:59,0,1,0 +BRDA:63,1,0,0 +BRDA:63,1,1,0 +BRDA:119,2,0,0 +BRDA:119,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItem.tsx +FN:25,(anonymous_0) +FN:38,(anonymous_1) +FN:45,(anonymous_2) +FN:47,(anonymous_3) +FN:59,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:69,0 +LF:28 +LH:0 +BRDA:30,0,0,0 +BRDA:30,0,1,0 +BRDA:48,1,0,0 +BRDA:48,1,1,0 +BRDA:61,2,0,0 +BRDA:61,2,1,0 +BRDA:113,3,0,0 +BRDA:113,3,1,0 +BRDA:117,4,0,0 +BRDA:117,4,1,0 +BRDA:117,4,2,0 +BRDA:134,5,0,0 +BRDA:134,5,1,0 +BRDA:136,6,0,0 +BRDA:136,6,1,0 +BRF:15 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm.tsx +FN:26,StorageItemForm +FNF:1 +FNH:0 +FNDA:0,StorageItemForm +DA:29,0 +DA:32,0 +DA:44,0 +DA:56,0 +DA:68,0 +DA:80,0 +DA:92,0 +DA:105,0 +DA:117,0 +DA:129,0 +LF:10 +LH:0 +BRDA:27,0,0,0 +BRDA:29,1,0,0 +BRDA:29,1,1,0 +BRDA:29,1,2,0 +BRDA:29,1,3,0 +BRDA:29,1,4,0 +BRDA:29,1,5,0 +BRDA:29,1,6,0 +BRDA:29,1,7,0 +BRDA:29,1,8,0 +BRDA:29,1,9,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledBrokenReferenceIndicator.tsx +FN:19,StyledBrokenReferenceIndicator +FNF:1 +FNH:0 +FNDA:0,StyledBrokenReferenceIndicator +DA:5,0 +DA:20,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDiff.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDirtyStateBadge.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledInputSuffix.tsx +FNF:0 +FNH:0 +DA:4,0 +DA:10,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledInspectBadge.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledStorageItem.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StylesDropdown.tsx +FN:13,StylesDropdown +FN:33,(anonymous_1) +FN:37,(anonymous_2) +FN:41,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,StylesDropdown +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:45,0 +LF:16 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:57,1,0,0 +BRDA:57,1,1,0 +BRDA:62,2,0,0 +BRDA:62,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/SyncSettings.tsx +FN:21,(anonymous_0) +FN:26,(anonymous_1) +FN:79,(anonymous_2) +FN:89,(anonymous_3) +FN:89,(anonymous_4) +FN:98,(anonymous_5) +FN:104,(anonymous_6) +FN:104,(anonymous_7) +FN:112,(anonymous_8) +FN:116,(anonymous_9) +FN:155,(anonymous_10) +FN:186,(anonymous_11) +FNF:12 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:78,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:112,0 +DA:113,0 +DA:116,0 +DA:117,0 +DA:120,0 +DA:156,0 +DA:187,0 +LF:36 +LH:0 +BRDA:81,0,0,0 +BRDA:81,0,1,0 +BRDA:122,1,0,0 +BRDA:122,1,1,0 +BRDA:130,2,0,0 +BRDA:130,2,1,0 +BRDA:164,3,0,0 +BRDA:164,3,1,0 +BRDA:186,4,0,0 +BRDA:186,4,1,0 +BRDA:188,5,0,0 +BRDA:188,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/app/components/Text.tsx +FN:4,WrappedText +FNF:1 +FNH:0 +FNDA:0,WrappedText +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRDA:5,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/app/components/ToggleEmptyButton.tsx +FN:9,ToggleEmptyButton +FN:15,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,ToggleEmptyButton +FNDA:0,(anonymous_1) +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:19,0 +LF:6 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenFilter.tsx +FN:32,(anonymous_0) +FN:38,(anonymous_1) +FN:42,(anonymous_2) +FN:48,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:12,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:53,0 +LF:16 +LH:0 +BRDA:73,0,0,0 +BRDA:73,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenFormatBadge.tsx +FN:14,TokenFormatBadge +FN:21,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,TokenFormatBadge +FNDA:0,(anonymous_1) +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:29,0 +LF:9 +LH:0 +BRDA:14,0,0,0 +BRDA:25,1,0,0 +BRDA:25,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:29,3,0,0 +BRDA:29,3,1,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenInput.tsx +FN:53,TokenInput +FNF:1 +FNH:0 +FNDA:0,TokenInput +DA:6,0 +DA:24,0 +DA:37,0 +DA:56,0 +LF:4 +LH:0 +BRDA:54,0,0,0 +BRDA:54,1,0,0 +BRDA:54,2,0,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenListing.tsx +FN:23,(anonymous_0) +FN:32,(anonymous_1) +FN:49,(anonymous_2) +FN:55,(anonymous_3) +FN:59,(anonymous_4) +FN:63,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:23,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:48,0 +DA:50,0 +DA:55,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:69,0 +DA:78,0 +DA:80,0 +LF:23 +LH:0 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRDA:42,1,0,0 +BRDA:42,1,1,0 +BRDA:42,2,0,0 +BRDA:42,2,1,0 +BRDA:49,3,0,0 +BRDA:61,4,0,0 +BRDA:61,4,1,0 +BRDA:78,5,0,0 +BRDA:78,5,1,0 +BRDA:78,6,0,0 +BRDA:78,6,1,0 +BRDA:91,7,0,0 +BRDA:91,7,1,0 +BRDA:97,8,0,0 +BRDA:97,8,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenListingHeading.tsx +FN:28,TokenListingHeading +FN:44,(anonymous_1) +FN:46,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,TokenListingHeading +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:52,0 +LF:10 +LH:0 +BRDA:47,0,0,0 +BRDA:47,0,1,0 +BRDA:61,1,0,0 +BRDA:61,1,1,0 +BRDA:64,2,0,0 +BRDA:64,2,1,0 +BRDA:74,3,0,0 +BRDA:74,3,1,0 +BRDA:76,4,0,0 +BRDA:76,4,1,0 +BRDA:77,5,0,0 +BRDA:77,5,1,0 +BRDA:87,6,0,0 +BRDA:87,6,1,0 +BRDA:87,6,2,0 +BRDA:87,6,3,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetListItemContent.tsx +FN:29,TokenSetListItemContent +FN:41,(anonymous_1) +FN:56,(anonymous_2) +FN:60,(anonymous_3) +FN:64,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,TokenSetListItemContent +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:51,0 +DA:56,0 +DA:57,0 +DA:60,0 +DA:61,0 +DA:64,0 +DA:65,0 +DA:68,0 +LF:25 +LH:0 +BRDA:42,0,0,0 +BRDA:42,0,1,0 +BRDA:43,1,0,0 +BRDA:43,1,1,0 +BRDA:45,2,0,0 +BRDA:45,2,1,0 +BRDA:73,3,0,0 +BRDA:73,3,1,0 +BRDA:74,4,0,0 +BRDA:74,4,1,0 +BRDA:81,5,0,0 +BRDA:81,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetSelector.tsx +FN:20,TokenSetSelector +FN:41,(anonymous_1) +FN:43,(anonymous_2) +FN:44,(anonymous_3) +FN:51,(anonymous_4) +FN:55,(anonymous_5) +FN:63,(anonymous_6) +FN:75,(anonymous_7) +FN:83,(anonymous_8) +FN:91,(anonymous_9) +FN:106,(anonymous_10) +FN:110,(anonymous_11) +FN:114,(anonymous_12) +FN:118,(anonymous_13) +FN:123,(anonymous_14) +FN:127,(anonymous_15) +FN:131,(anonymous_16) +FN:135,(anonymous_17) +FNF:18 +FNH:0 +FNDA:0,TokenSetSelector +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +DA:21,0 +DA:23,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:51,0 +DA:52,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:70,0 +DA:71,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:99,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:106,0 +DA:107,0 +DA:110,0 +DA:111,0 +DA:114,0 +DA:115,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:123,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:131,0 +DA:132,0 +DA:135,0 +DA:136,0 +DA:139,0 +LF:73 +LH:0 +BRDA:68,0,0,0 +BRDA:68,0,1,0 +BRDA:70,1,0,0 +BRDA:70,1,1,0 +BRDA:93,2,0,0 +BRDA:93,2,1,0 +BRDA:96,3,0,0 +BRDA:96,3,1,0 +BRDA:170,4,0,0 +BRDA:170,4,1,0 +BRDA:194,5,0,0 +BRDA:194,5,1,0 +BRDA:246,6,0,0 +BRDA:246,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetTree.tsx +FN:50,TokenSetTree +FN:58,(anonymous_1) +FN:62,(anonymous_2) +FN:64,(anonymous_3) +FN:68,(anonymous_4) +FN:69,(anonymous_5) +FN:90,(anonymous_6) +FN:91,(anonymous_7) +FN:97,(anonymous_8) +FN:99,(anonymous_9) +FN:99,(anonymous_10) +FN:100,(anonymous_11) +FN:100,(anonymous_12) +FN:106,(anonymous_13) +FN:114,(anonymous_14) +FN:114,(anonymous_15) +FN:116,(anonymous_16) +FN:117,(anonymous_17) +FN:119,(anonymous_18) +FN:126,(anonymous_19) +FN:137,(anonymous_20) +FN:138,(anonymous_21) +FN:162,(anonymous_22) +FN:163,(anonymous_23) +FN:164,(anonymous_24) +FN:171,(anonymous_25) +FN:182,(anonymous_26) +FN:183,(anonymous_27) +FN:186,(anonymous_28) +FNF:29 +FNH:0 +FNDA:0,TokenSetTree +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:73,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:81,0 +DA:84,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:97,0 +DA:99,0 +DA:100,0 +DA:103,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:111,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:119,0 +DA:120,0 +DA:123,0 +DA:126,0 +DA:127,0 +DA:131,0 +DA:134,0 +DA:137,0 +DA:138,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:171,0 +DA:172,0 +DA:176,0 +DA:179,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:186,0 +DA:192,0 +DA:197,0 +DA:199,0 +DA:200,0 +DA:202,0 +DA:205,0 +LF:68 +LH:0 +BRDA:73,0,0,0 +BRDA:73,0,1,0 +BRDA:73,1,0,0 +BRDA:73,1,1,0 +BRDA:80,2,0,0 +BRDA:80,2,1,0 +BRDA:93,3,0,0 +BRDA:93,3,1,0 +BRDA:93,4,0,0 +BRDA:93,4,1,0 +BRDA:99,5,0,0 +BRDA:99,5,1,0 +BRDA:107,6,0,0 +BRDA:107,6,1,0 +BRDA:108,7,0,0 +BRDA:108,7,1,0 +BRDA:114,8,0,0 +BRDA:114,8,1,0 +BRDA:119,9,0,0 +BRDA:119,9,1,0 +BRDA:126,10,0,0 +BRDA:126,10,1,0 +BRDA:127,11,0,0 +BRDA:127,11,1,0 +BRDA:146,12,0,0 +BRDA:146,12,1,0 +BRDA:147,13,0,0 +BRDA:147,13,1,0 +BRDA:165,14,0,0 +BRDA:165,14,1,0 +BRDA:169,15,0,0 +BRDA:169,15,1,0 +BRDA:169,16,0,0 +BRDA:169,16,1,0 +BRDA:172,17,0,0 +BRDA:172,17,1,0 +BRDA:199,18,0,0 +BRDA:199,18,1,0 +BRF:38 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetTreeItemContent.tsx +FN:32,TokenSetTreeItemContent +FN:44,(anonymous_1) +FN:51,(anonymous_2) +FN:55,(anonymous_3) +FN:55,(anonymous_4) +FN:60,(anonymous_5) +FN:64,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,TokenSetTreeItemContent +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:60,0 +DA:61,0 +DA:64,0 +DA:65,0 +DA:68,0 +LF:21 +LH:0 +BRDA:45,0,0,0 +BRDA:45,0,1,0 +BRDA:52,1,0,0 +BRDA:52,1,1,0 +BRDA:55,2,0,0 +BRDA:55,2,1,0 +BRDA:77,3,0,0 +BRDA:77,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/Tokens.tsx +FN:34,(anonymous_0) +FN:36,(anonymous_1) +FN:84,Tokens +FN:101,(anonymous_3) +FN:103,(anonymous_4) +FN:107,(anonymous_5) +FN:114,(anonymous_6) +FN:122,(anonymous_7) +FN:127,(anonymous_8) +FN:129,(anonymous_9) +FN:138,(anonymous_10) +FN:148,(anonymous_11) +FN:154,(anonymous_12) +FN:161,(anonymous_13) +FN:165,(anonymous_14) +FN:172,(anonymous_15) +FN:182,(anonymous_16) +FN:187,(anonymous_17) +FN:283,(anonymous_18) +FNF:19 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,Tokens +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:113,0 +DA:114,0 +DA:118,0 +DA:120,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:134,0 +DA:136,0 +DA:138,0 +DA:145,0 +DA:148,0 +DA:149,0 +DA:152,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:161,0 +DA:165,0 +DA:168,0 +DA:169,0 +DA:172,0 +DA:175,0 +DA:176,0 +DA:178,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:193,0 +DA:195,0 +DA:286,0 +LF:67 +LH:0 +BRDA:42,0,0,0 +BRDA:42,0,1,0 +BRDA:102,1,0,0 +BRDA:102,1,1,0 +BRDA:108,2,0,0 +BRDA:108,2,1,0 +BRDA:108,3,0,0 +BRDA:108,3,1,0 +BRDA:108,3,2,0 +BRDA:128,4,0,0 +BRDA:128,4,1,0 +BRDA:130,5,0,0 +BRDA:130,5,1,0 +BRDA:133,6,0,0 +BRDA:133,6,1,0 +BRDA:155,7,0,0 +BRDA:155,7,1,0 +BRDA:155,8,0,0 +BRDA:155,8,1,0 +BRDA:175,9,0,0 +BRDA:175,9,1,0 +BRDA:188,10,0,0 +BRDA:188,10,1,0 +BRDA:193,11,0,0 +BRDA:193,11,1,0 +BRDA:223,12,0,0 +BRDA:223,12,1,0 +BRDA:261,13,0,0 +BRDA:261,13,1,0 +BRDA:273,14,0,0 +BRDA:273,14,1,0 +BRDA:289,15,0,0 +BRDA:289,15,1,0 +BRDA:297,16,0,0 +BRDA:297,16,1,0 +BRDA:301,17,0,0 +BRDA:301,17,1,0 +BRF:37 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokensBottomBar.tsx +FN:30,TokensBottomBar +FN:36,(anonymous_1) +FN:40,(anonymous_2) +FN:47,(anonymous_3) +FN:47,(anonymous_4) +FN:51,(anonymous_5) +FN:62,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,TokensBottomBar +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:73,0 +DA:75,0 +LF:27 +LH:0 +BRDA:52,0,0,0 +BRDA:52,0,1,0 +BRDA:80,1,0,0 +BRDA:80,1,1,0 +BRDA:114,2,0,0 +BRDA:114,2,1,0 +BRDA:129,3,0,0 +BRDA:129,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/ToolsDropdown.tsx +FN:11,ToolsDropdown +FN:19,(anonymous_1) +FN:23,(anonymous_2) +FN:27,(anonymous_3) +FN:30,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,ToolsDropdown +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:12,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:34,0 +LF:13 +LH:0 +BRDA:48,0,0,0 +BRDA:48,0,1,0 +BRDA:49,1,0,0 +BRDA:49,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/Tooltip.tsx +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TypographyInput.tsx +FN:29,TypographyInput +FN:53,(anonymous_1) +FN:61,(anonymous_2) +FN:64,(anonymous_3) +FN:70,(anonymous_4) +FN:102,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,TypographyInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:17,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:103,0 +LF:24 +LH:0 +BRDA:50,0,0,0 +BRDA:50,0,1,0 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:54,2,0,0 +BRDA:54,2,1,0 +BRDA:55,3,0,0 +BRDA:55,3,1,0 +BRDA:63,4,0,0 +BRDA:63,4,1,0 +BRDA:63,5,0,0 +BRDA:63,5,1,0 +BRDA:65,6,0,0 +BRDA:65,6,1,0 +BRDA:71,7,0,0 +BRDA:71,7,1,0 +BRDA:71,8,0,0 +BRDA:71,8,1,0 +BRDA:72,9,0,0 +BRDA:72,9,1,0 +BRDA:74,10,0,0 +BRDA:74,10,1,0 +BRDA:83,11,0,0 +BRDA:83,11,1,0 +BRDA:100,12,0,0 +BRDA:100,12,1,0 +BRDA:100,13,0,0 +BRDA:100,13,1,0 +BRDA:102,14,0,0 +BRDA:102,14,1,0 +BRDA:106,15,0,0 +BRDA:106,15,1,0 +BRDA:119,16,0,0 +BRDA:119,16,1,0 +BRDA:132,17,0,0 +BRDA:132,17,1,0 +BRDA:132,17,2,0 +BRDA:132,17,3,0 +BRF:38 +BRH:0 +end_of_record +TN: +SF:src/app/components/WindowResizer.tsx +FN:9,WindowResizer +FN:15,(anonymous_1) +FN:20,(anonymous_2) +FN:31,(anonymous_3) +FN:38,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,WindowResizer +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:20,0 +DA:21,0 +DA:25,0 +DA:28,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:47,0 +LF:18 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRDA:39,1,0,0 +BRDA:39,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/createAnnotation.tsx +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:7,0 +DA:8,0 +DA:10,0 +LF:3 +LH:0 +BRDA:7,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/app/components/createTokenObj.tsx +FN:11,transformName +FN:55,appendTypeToToken +FN:64,createTokensObject +FN:66,(anonymous_3) +FN:93,mappedTokens +FN:100,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,transformName +FNDA:0,appendTypeToToken +FNDA:0,createTokensObject +FNDA:0,(anonymous_3) +FNDA:0,mappedTokens +FNDA:0,(anonymous_5) +DA:12,0 +DA:15,0 +DA:18,0 +DA:21,0 +DA:23,0 +DA:25,0 +DA:27,0 +DA:29,0 +DA:31,0 +DA:33,0 +DA:35,0 +DA:37,0 +DA:39,0 +DA:41,0 +DA:43,0 +DA:45,0 +DA:47,0 +DA:49,0 +DA:51,0 +DA:56,0 +DA:57,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:77,0 +DA:82,0 +DA:84,0 +DA:86,0 +DA:88,0 +DA:94,0 +DA:98,0 +DA:100,0 +DA:101,0 +DA:107,0 +LF:40 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:12,0,2,0 +BRDA:12,0,3,0 +BRDA:12,0,4,0 +BRDA:12,0,5,0 +BRDA:12,0,6,0 +BRDA:12,0,7,0 +BRDA:12,0,8,0 +BRDA:12,0,9,0 +BRDA:12,0,10,0 +BRDA:12,0,11,0 +BRDA:12,0,12,0 +BRDA:12,0,13,0 +BRDA:12,0,14,0 +BRDA:12,0,15,0 +BRDA:12,0,16,0 +BRDA:12,0,17,0 +BRDA:12,0,18,0 +BRDA:12,0,19,0 +BRDA:12,0,20,0 +BRDA:56,1,0,0 +BRDA:56,1,1,0 +BRDA:64,2,0,0 +BRDA:65,3,0,0 +BRDA:65,3,1,0 +BRDA:73,4,0,0 +BRDA:73,4,1,0 +BRDA:73,5,0,0 +BRDA:73,5,1,0 +BRDA:74,6,0,0 +BRDA:74,6,1,0 +BRDA:76,7,0,0 +BRDA:76,7,1,0 +BRDA:102,8,0,0 +BRDA:102,8,1,0 +BRF:36 +BRH:0 +end_of_record +TN: +SF:src/app/components/custom.d.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/globalStyles.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/use-raised-shadow.ts +FN:6,useRaisedShadow +FN:9,(anonymous_1) +FN:11,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,useRaisedShadow +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:27,0 +LF:14 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/useMinimizeWindow.tsx +FN:7,(anonymous_0) +FN:12,(anonymous_1) +FN:22,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:22,0 +DA:23,0 +DA:26,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:23,1,0,0 +BRDA:23,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/Accordion/Accordion.tsx +FN:20,Accordion +FN:26,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,Accordion +FNDA:0,(anonymous_1) +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:30,0 +LF:5 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:60,2,0,0 +BRDA:60,2,1,0 +BRDA:69,3,0,0 +BRDA:69,3,1,0 +BRDA:76,4,0,0 +BRDA:76,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/components/Accordion/StyledContainer.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Accordion/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/AddLicenseKey/AddLicenseKey.tsx +FN:25,AddLicenseKey +FN:37,(anonymous_1) +FN:38,(anonymous_2) +FN:41,(anonymous_3) +FN:53,(anonymous_4) +FN:61,(anonymous_5) +FN:82,(anonymous_6) +FN:86,(anonymous_7) +FN:94,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,AddLicenseKey +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:77,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:94,0 +DA:95,0 +DA:98,0 +DA:104,0 +DA:106,0 +LF:36 +LH:0 +BRDA:42,0,0,0 +BRDA:42,0,1,0 +BRDA:54,1,0,0 +BRDA:54,1,1,0 +BRDA:62,2,0,0 +BRDA:62,2,1,0 +BRDA:70,3,0,0 +BRDA:70,3,1,0 +BRDA:87,4,0,0 +BRDA:87,4,1,0 +BRDA:87,5,0,0 +BRDA:87,5,1,0 +BRDA:87,5,2,0 +BRDA:98,6,0,0 +BRDA:98,6,1,0 +BRDA:104,7,0,0 +BRDA:104,7,1,0 +BRDA:112,8,0,0 +BRDA:112,8,1,0 +BRDA:112,8,2,0 +BRDA:130,9,0,0 +BRDA:130,9,1,0 +BRDA:136,10,0,0 +BRDA:136,10,1,0 +BRDA:141,11,0,0 +BRDA:141,11,1,0 +BRDA:143,12,0,0 +BRDA:143,12,1,0 +BRDA:145,13,0,0 +BRDA:145,13,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/app/components/AddLicenseKey/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/AppContainer.tsx +FN:42,(anonymous_0) +FN:49,(anonymous_1) +FN:59,(anonymous_2) +FN:75,(anonymous_3) +FN:79,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:34,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:75,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:83,0 +DA:87,0 +DA:90,0 +DA:113,0 +LF:28 +LH:0 +BRDA:60,0,0,0 +BRDA:60,0,1,0 +BRDA:61,1,0,0 +BRDA:61,1,1,0 +BRDA:61,1,2,0 +BRDA:65,2,0,0 +BRDA:65,2,1,0 +BRDA:67,3,0,0 +BRDA:67,3,1,0 +BRDA:70,4,0,0 +BRDA:70,4,1,0 +BRDA:80,5,0,0 +BRDA:80,5,1,0 +BRDA:93,6,0,0 +BRDA:93,6,1,0 +BRDA:103,7,0,0 +BRDA:103,7,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/ApplicationInitSteps.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/useStartupProcess.ts +FN:21,(anonymous_0) +FN:25,useStartupProcess +FN:34,(anonymous_2) +FN:59,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,useStartupProcess +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:21,0 +DA:22,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:65,0 +LF:14 +LH:0 +BRDA:60,0,0,0 +BRDA:60,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts +FN:8,addLicenseFactory +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,addLicenseFactory +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:21,0 +DA:22,0 +DA:30,0 +LF:11 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRDA:14,1,3,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRDA:21,4,0,0 +BRDA:21,4,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts +FN:13,getLdFlagsFactory +FN:14,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getLdFlagsFactory +FNDA:0,(anonymous_1) +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:37,0 +LF:15 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/startupProcessSteps/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts +FN:19,pullTokensFactory +FN:29,(anonymous_1) +FN:37,(anonymous_2) +FN:42,(anonymous_3) +FN:119,(anonymous_4) +FN:135,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,pullTokensFactory +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:27,0 +DA:29,0 +DA:30,0 +DA:34,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:55,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:80,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:94,0 +DA:97,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:108,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:134,0 +DA:135,0 +DA:138,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:144,0 +DA:152,0 +DA:154,0 +DA:156,0 +DA:158,0 +DA:160,0 +DA:163,0 +DA:168,0 +LF:64 +LH:0 +BRDA:27,0,0,0 +BRDA:27,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:46,2,0,0 +BRDA:46,2,1,0 +BRDA:49,3,0,0 +BRDA:49,3,1,0 +BRDA:49,3,2,0 +BRDA:51,4,0,0 +BRDA:51,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:56,6,0,0 +BRDA:56,6,1,0 +BRDA:56,6,2,0 +BRDA:56,6,3,0 +BRDA:62,7,0,0 +BRDA:62,7,1,0 +BRDA:68,8,0,0 +BRDA:68,8,1,0 +BRDA:69,9,0,0 +BRDA:69,9,1,0 +BRDA:80,10,0,0 +BRDA:80,10,1,0 +BRDA:82,11,0,0 +BRDA:82,11,1,0 +BRDA:88,12,0,0 +BRDA:88,12,1,0 +BRDA:110,13,0,0 +BRDA:110,13,1,0 +BRDA:111,14,0,0 +BRDA:111,14,1,0 +BRDA:114,15,0,0 +BRDA:114,15,1,0 +BRDA:134,16,0,0 +BRDA:134,16,1,0 +BRDA:135,17,0,0 +BRDA:135,17,1,0 +BRDA:138,18,0,0 +BRDA:138,18,1,0 +BRDA:138,19,0,0 +BRDA:138,19,1,0 +BRDA:141,20,0,0 +BRDA:141,20,1,0 +BRDA:142,21,0,0 +BRDA:142,21,1,0 +BRDA:144,22,0,0 +BRDA:144,22,1,0 +BRDA:145,23,0,0 +BRDA:145,23,1,0 +BRDA:145,23,2,0 +BRDA:145,23,3,0 +BRDA:154,24,0,0 +BRDA:154,24,1,0 +BRDA:158,25,0,0 +BRDA:158,25,1,0 +BRF:57 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts +FN:6,savePluginDataFactory +FN:7,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,savePluginDataFactory +FNDA:0,(anonymous_1) +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:18,0 +DA:21,0 +DA:22,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +LF:18 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:31,2,0,0 +BRDA:31,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts +FN:5,saveStorageInformationFactory +FN:10,(anonymous_1) +FN:16,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,saveStorageInformationFactory +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +LF:8 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/AuthModal/index.tsx +FN:18,AuthModal +FN:33,(anonymous_1) +FN:43,(anonymous_2) +FN:49,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,AuthModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:57,0 +LF:18 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRDA:44,1,0,0 +BRDA:44,1,1,0 +BRDA:50,2,0,0 +BRDA:50,2,1,0 +BRDA:59,3,0,0 +BRDA:59,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:74,5,0,0 +BRDA:74,5,1,0 +BRDA:76,6,0,0 +BRDA:76,6,1,0 +BRDA:90,7,0,0 +BRDA:90,7,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/app/components/ColorPicker/ColorPicker.tsx +FN:43,(anonymous_0) +FN:48,(anonymous_1) +FN:63,(anonymous_2) +FN:78,(anonymous_3) +FN:85,(anonymous_4) +FN:101,(anonymous_5) +FN:130,(anonymous_6) +FN:135,(anonymous_7) +FN:140,(anonymous_8) +FN:145,(anonymous_9) +FN:150,(anonymous_10) +FN:155,(anonymous_11) +FN:160,(anonymous_12) +FN:164,(anonymous_13) +FN:168,(anonymous_14) +FNF:15 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +DA:32,0 +DA:35,0 +DA:38,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:58,0 +DA:59,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:73,0 +DA:74,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:84,0 +DA:86,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:100,0 +DA:102,0 +DA:103,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:129,0 +DA:130,0 +DA:134,0 +DA:135,0 +DA:139,0 +DA:140,0 +DA:144,0 +DA:145,0 +DA:149,0 +DA:150,0 +DA:154,0 +DA:155,0 +DA:159,0 +DA:160,0 +DA:164,0 +DA:165,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:176,0 +LF:64 +LH:0 +BRDA:50,0,0,0 +BRDA:50,0,1,0 +BRDA:55,1,0,0 +BRDA:55,1,1,0 +BRDA:65,2,0,0 +BRDA:65,2,1,0 +BRDA:70,3,0,0 +BRDA:70,3,1,0 +BRDA:78,4,0,0 +BRDA:102,5,0,0 +BRDA:102,5,1,0 +BRDA:102,6,0,0 +BRDA:102,6,1,0 +BRDA:102,6,2,0 +BRDA:102,6,3,0 +BRDA:102,6,4,0 +BRDA:104,7,0,0 +BRDA:104,7,1,0 +BRDA:105,8,0,0 +BRDA:105,8,1,0 +BRDA:106,9,0,0 +BRDA:106,9,1,0 +BRDA:107,10,0,0 +BRDA:107,10,1,0 +BRDA:113,11,0,0 +BRDA:113,11,1,0 +BRDA:113,12,0,0 +BRDA:113,12,1,0 +BRDA:113,12,2,0 +BRDA:113,12,3,0 +BRDA:113,12,4,0 +BRDA:115,13,0,0 +BRDA:115,13,1,0 +BRDA:116,14,0,0 +BRDA:116,14,1,0 +BRDA:117,15,0,0 +BRDA:117,15,1,0 +BRDA:118,16,0,0 +BRDA:118,16,1,0 +BRDA:165,17,0,0 +BRDA:165,17,1,0 +BRDA:169,18,0,0 +BRDA:169,18,1,0 +BRDA:182,19,0,0 +BRDA:182,19,1,0 +BRDA:198,20,0,0 +BRDA:198,20,1,0 +BRDA:215,21,0,0 +BRDA:215,21,1,0 +BRF:49 +BRH:0 +end_of_record +TN: +SF:src/app/components/ColorPicker/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/DownshiftInput/DownshiftInput.tsx +FN:52,(anonymous_0) +FN:81,(anonymous_1) +FN:87,(anonymous_2) +FN:93,(anonymous_3) +FN:99,(anonymous_4) +FN:107,(anonymous_5) +FN:111,(anonymous_6) +FN:111,(anonymous_7) +FN:116,(anonymous_8) +FN:116,(anonymous_9) +FN:121,(anonymous_10) +FN:128,(anonymous_11) +FN:131,(anonymous_12) +FN:134,(anonymous_13) +FN:134,(anonymous_14) +FN:137,(anonymous_15) +FN:142,(anonymous_16) +FN:148,(anonymous_17) +FN:162,(anonymous_18) +FN:174,(anonymous_19) +FN:178,(anonymous_20) +FN:183,(anonymous_21) +FN:191,(anonymous_22) +FN:273,(anonymous_23) +FN:296,(anonymous_24) +FN:319,(anonymous_25) +FN:339,(anonymous_26) +FNF:27 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +DA:52,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:103,0 +DA:106,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:120,0 +DA:121,0 +DA:123,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:134,0 +DA:136,0 +DA:137,0 +DA:139,0 +DA:142,0 +DA:144,0 +DA:145,0 +DA:149,0 +DA:150,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:168,0 +DA:171,0 +DA:174,0 +DA:175,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:183,0 +DA:184,0 +DA:187,0 +DA:189,0 +DA:194,0 +DA:274,0 +DA:275,0 +DA:296,0 +DA:320,0 +DA:321,0 +DA:339,0 +LF:74 +LH:0 +BRDA:56,0,0,0 +BRDA:82,1,0,0 +BRDA:82,1,1,0 +BRDA:83,2,0,0 +BRDA:83,2,1,0 +BRDA:88,3,0,0 +BRDA:88,3,1,0 +BRDA:94,4,0,0 +BRDA:94,4,1,0 +BRDA:100,5,0,0 +BRDA:100,5,1,0 +BRDA:109,6,0,0 +BRDA:109,6,1,0 +BRDA:116,7,0,0 +BRDA:116,7,1,0 +BRDA:120,8,0,0 +BRDA:120,8,1,0 +BRDA:130,9,0,0 +BRDA:130,9,1,0 +BRDA:133,10,0,0 +BRDA:133,10,1,0 +BRDA:133,11,0,0 +BRDA:133,11,1,0 +BRDA:136,12,0,0 +BRDA:136,12,1,0 +BRDA:163,13,0,0 +BRDA:163,13,1,0 +BRDA:164,14,0,0 +BRDA:164,14,1,0 +BRDA:165,15,0,0 +BRDA:165,15,1,0 +BRDA:179,16,0,0 +BRDA:179,16,1,0 +BRDA:179,17,0,0 +BRDA:179,17,1,0 +BRDA:187,18,0,0 +BRDA:187,18,1,0 +BRDA:196,19,0,0 +BRDA:196,19,1,0 +BRDA:196,20,0,0 +BRDA:196,20,1,0 +BRDA:197,21,0,0 +BRDA:197,21,1,0 +BRDA:200,22,0,0 +BRDA:200,22,1,0 +BRDA:200,22,2,0 +BRDA:203,23,0,0 +BRDA:203,23,1,0 +BRDA:217,24,0,0 +BRDA:217,24,1,0 +BRDA:251,25,0,0 +BRDA:251,25,1,0 +BRDA:271,26,0,0 +BRDA:271,26,1,0 +BRDA:271,26,2,0 +BRDA:281,27,0,0 +BRDA:281,27,1,0 +BRDA:298,28,0,0 +BRDA:298,28,1,0 +BRDA:304,29,0,0 +BRDA:304,29,1,0 +BRDA:317,30,0,0 +BRDA:317,30,1,0 +BRDA:317,30,2,0 +BRDA:327,31,0,0 +BRDA:327,31,1,0 +BRDA:342,32,0,0 +BRDA:342,32,1,0 +BRDA:352,33,0,0 +BRDA:352,33,1,0 +BRDA:352,33,2,0 +BRDA:352,33,3,0 +BRDA:352,33,4,0 +BRF:73 +BRH:0 +end_of_record +TN: +SF:src/app/components/DownshiftInput/MentionInput.tsx +FN:48,MentionsInput +FN:64,(anonymous_1) +FN:67,(anonymous_2) +FN:67,(anonymous_3) +FN:69,(anonymous_4) +FN:75,(anonymous_5) +FN:75,(anonymous_6) +FN:77,(anonymous_7) +FN:83,(anonymous_8) +FN:87,(anonymous_9) +FN:93,(anonymous_10) +FN:99,(anonymous_11) +FN:110,(anonymous_12) +FN:113,(anonymous_13) +FN:147,(anonymous_14) +FN:168,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,MentionsInput +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:46,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:93,0 +DA:96,0 +DA:97,0 +DA:101,0 +DA:110,0 +DA:113,0 +DA:114,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:152,0 +DA:169,0 +LF:29 +LH:0 +BRDA:49,0,0,0 +BRDA:50,1,0,0 +BRDA:60,2,0,0 +BRDA:65,3,0,0 +BRDA:65,3,1,0 +BRDA:75,4,0,0 +BRDA:75,4,1,0 +BRDA:88,5,0,0 +BRDA:88,5,1,0 +BRDA:113,6,0,0 +BRDA:113,6,1,0 +BRDA:116,7,0,0 +BRDA:116,7,1,0 +BRDA:125,8,0,0 +BRDA:125,8,1,0 +BRDA:125,9,0,0 +BRDA:125,9,1,0 +BRDA:127,10,0,0 +BRDA:127,10,1,0 +BRDA:138,11,0,0 +BRDA:138,11,1,0 +BRDA:138,12,0,0 +BRDA:138,12,1,0 +BRDA:139,13,0,0 +BRDA:139,13,1,0 +BRDA:139,14,0,0 +BRDA:139,14,1,0 +BRDA:140,15,0,0 +BRDA:140,15,1,0 +BRDA:166,16,0,0 +BRDA:166,16,1,0 +BRF:31 +BRH:0 +end_of_record +TN: +SF:src/app/components/DownshiftInput/StyledDownshiftInput.tsx +FN:131,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:20,0 +DA:34,0 +DA:43,0 +DA:61,0 +DA:77,0 +DA:82,0 +DA:89,0 +DA:108,0 +DA:118,0 +DA:131,0 +DA:142,0 +DA:152,0 +LF:12 +LH:0 +BRDA:145,0,0,0 +BRDA:145,0,1,0 +BRDA:146,1,0,0 +BRDA:146,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/DownshiftInput/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx +FN:16,ResolveDuplicateTokenSingle +FN:31,(anonymous_1) +FN:52,ResolveDuplicateTokenGroup +FN:83,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,ResolveDuplicateTokenSingle +FNDA:0,(anonymous_1) +FNDA:0,ResolveDuplicateTokenGroup +FNDA:0,(anonymous_3) +DA:17,0 +DA:18,0 +DA:32,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:85,0 +LF:7 +LH:0 +BRDA:26,0,0,0 +BRDA:26,0,1,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:29,2,0,0 +BRDA:29,2,1,0 +BRDA:29,3,0,0 +BRDA:29,3,1,0 +BRDA:34,4,0,0 +BRDA:34,4,1,0 +BRDA:42,5,0,0 +BRDA:42,5,1,0 +BRDA:58,6,0,0 +BRDA:58,6,1,0 +BRDA:86,7,0,0 +BRDA:86,7,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/app/components/ErrorFallback/ErrorFallback.tsx +FN:6,ErrorFallback +FNF:1 +FNH:0 +FNDA:0,ErrorFallback +DA:7,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ErrorFallback/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ExportProvider/MultiFilesExport.tsx +FN:20,MultiFilesExport +FN:26,(anonymous_1) +FN:28,(anonymous_2) +FN:39,(anonymous_3) +FN:41,(anonymous_4) +FN:45,(anonymous_5) +FN:69,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,MultiFilesExport +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:46,0 +DA:48,0 +DA:50,0 +DA:53,0 +DA:70,0 +LF:22 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ExportProvider/SingleFileExport.tsx +FN:21,SingleFileExport +FN:32,(anonymous_1) +FN:36,(anonymous_2) +FN:40,(anonymous_3) +FN:44,(anonymous_4) +FN:48,(anonymous_5) +FN:52,(anonymous_6) +FN:56,(anonymous_7) +FN:63,(anonymous_8) +FN:67,(anonymous_9) +FNF:10 +FNH:0 +FNDA:0,SingleFileExport +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:60,0 +DA:63,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:75,0 +DA:78,0 +LF:32 +LH:0 +BRDA:69,0,0,0 +BRDA:69,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/Flex/Flex.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Flex/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/LanguageSelector/index.tsx +FN:11,(anonymous_0) +FN:16,(anonymous_1) +FN:16,(anonymous_2) +FN:19,(anonymous_3) +FN:32,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:26,0 +DA:33,0 +LF:10 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/LaunchDarkly/LDProvider.tsx +FN:13,(anonymous_0) +FN:29,withLDProviderWrapper +FN:30,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,withLDProviderWrapper +FNDA:0,(anonymous_2) +DA:11,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:30,0 +DA:31,0 +LF:7 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/LaunchDarkly/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/LaunchDarkly/useFlags.ts +FN:4,(anonymous_0) +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:3,0 +DA:5,0 +DA:6,0 +LF:3 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx +FN:27,ExportSetsTab +FN:29,(anonymous_1) +FN:32,(anonymous_2) +FN:38,(anonymous_3) +FN:57,(anonymous_4) +FN:59,(anonymous_5) +FN:64,(anonymous_6) +FN:68,(anonymous_7) +FN:73,(anonymous_8) +FN:79,(anonymous_9) +FN:89,(anonymous_10) +FN:89,(anonymous_11) +FN:91,(anonymous_12) +FN:94,(anonymous_13) +FNF:14 +FNH:0 +FNDA:0,ExportSetsTab +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:44,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:55,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:64,0 +DA:65,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:73,0 +DA:74,0 +DA:80,0 +DA:89,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:100,0 +DA:102,0 +DA:104,0 +DA:108,0 +LF:36 +LH:0 +BRDA:92,0,0,0 +BRDA:92,0,1,0 +BRDA:95,1,0,0 +BRDA:95,1,1,0 +BRDA:113,2,0,0 +BRDA:113,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx +FN:15,ExportThemesTab +FN:20,(anonymous_1) +FN:21,(anonymous_2) +FN:30,(anonymous_3) +FN:30,(anonymous_4) +FN:35,(anonymous_5) +FN:37,(anonymous_6) +FN:43,(anonymous_7) +FN:47,(anonymous_8) +FN:51,createThemeRow +FN:58,(anonymous_10) +FN:112,(anonymous_11) +FN:115,(anonymous_12) +FN:115,(anonymous_13) +FN:121,(anonymous_14) +FNF:15 +FNH:0 +FNDA:0,ExportThemesTab +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,createThemeRow +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:27,0 +DA:30,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:52,0 +DA:58,0 +DA:66,0 +DA:113,0 +DA:115,0 +DA:121,0 +LF:24 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:36,2,0,0 +BRDA:36,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:68,4,0,0 +BRDA:68,4,1,0 +BRDA:71,5,0,0 +BRDA:71,5,1,0 +BRDA:118,6,0,0 +BRDA:118,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx +FN:22,ManageStylesAndVariables +FN:33,(anonymous_1) +FN:35,(anonymous_2) +FN:47,(anonymous_3) +FN:51,(anonymous_4) +FN:56,(anonymous_5) +FN:68,(anonymous_6) +FN:72,(anonymous_7) +FN:80,(anonymous_8) +FN:113,(anonymous_9) +FN:118,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,ManageStylesAndVariables +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:23,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:40,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:80,0 +DA:81,0 +DA:84,0 +DA:113,0 +DA:118,0 +LF:35 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRDA:58,1,0,0 +BRDA:58,1,1,0 +BRDA:61,2,0,0 +BRDA:61,2,1,0 +BRDA:66,3,0,0 +BRDA:66,3,1,0 +BRDA:73,4,0,0 +BRDA:73,4,1,0 +BRDA:115,5,0,0 +BRDA:115,5,1,0 +BRDA:124,6,0,0 +BRDA:124,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/OptionsModal.tsx +FN:39,OptionsModal +FN:58,(anonymous_1) +FN:65,(anonymous_2) +FN:72,(anonymous_3) +FN:79,(anonymous_4) +FN:86,(anonymous_5) +FN:93,(anonymous_6) +FN:102,(anonymous_7) +FN:108,(anonymous_8) +FN:114,(anonymous_9) +FN:120,(anonymous_10) +FN:128,(anonymous_11) +FN:134,(anonymous_12) +FN:140,(anonymous_13) +FN:144,(anonymous_14) +FN:158,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,OptionsModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:32,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:57,0 +DA:59,0 +DA:64,0 +DA:66,0 +DA:71,0 +DA:73,0 +DA:78,0 +DA:80,0 +DA:85,0 +DA:87,0 +DA:92,0 +DA:94,0 +DA:96,0 +DA:101,0 +DA:103,0 +DA:107,0 +DA:109,0 +DA:113,0 +DA:115,0 +DA:119,0 +DA:121,0 +DA:123,0 +DA:127,0 +DA:129,0 +DA:133,0 +DA:135,0 +DA:140,0 +DA:141,0 +DA:144,0 +DA:145,0 +DA:148,0 +DA:150,0 +DA:158,0 +LF:47 +LH:0 +BRDA:96,0,0,0 +BRDA:96,0,1,0 +BRDA:123,1,0,0 +BRDA:123,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/StyledCard.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/ThemeDetails.tsx +FN:15,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:15,0 +DA:16,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageStylesAndVariables/docsLinks.tsx +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx +FN:44,(anonymous_0) +FN:51,(anonymous_1) +FN:56,(anonymous_2) +FN:56,(anonymous_3) +FN:56,(anonymous_4) +FN:59,(anonymous_5) +FN:74,(anonymous_6) +FN:82,(anonymous_7) +FN:88,(anonymous_8) +FN:98,(anonymous_9) +FN:149,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:44,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:67,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:82,0 +DA:83,0 +DA:89,0 +DA:98,0 +DA:102,0 +DA:150,0 +LF:25 +LH:0 +BRDA:60,0,0,0 +BRDA:60,0,1,0 +BRDA:75,1,0,0 +BRDA:75,1,1,0 +BRDA:129,2,0,0 +BRDA:129,2,1,0 +BRDA:144,3,0,0 +BRDA:144,3,1,0 +BRDA:187,4,0,0 +BRDA:187,4,1,0 +BRDA:195,5,0,0 +BRDA:195,5,1,0 +BRDA:204,6,0,0 +BRDA:204,6,1,0 +BRDA:204,6,2,0 +BRF:15 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ManageThemesModal.tsx +FN:43,(anonymous_0) +FN:54,(anonymous_1) +FN:55,(anonymous_2) +FN:66,(anonymous_3) +FN:70,(anonymous_4) +FN:84,(anonymous_5) +FN:88,(anonymous_6) +FN:99,(anonymous_7) +FN:103,(anonymous_8) +FN:123,(anonymous_9) +FN:125,(anonymous_10) +FN:138,(anonymous_11) +FN:140,(anonymous_12) +FN:147,(anonymous_13) +FN:166,(anonymous_14) +FN:172,(anonymous_15) +FN:178,(anonymous_16) +FN:256,(anonymous_17) +FNF:18 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +DA:32,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:80,0 +DA:84,0 +DA:85,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:99,0 +DA:100,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:108,0 +DA:110,0 +DA:120,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:129,0 +DA:130,0 +DA:135,0 +DA:137,0 +DA:138,0 +DA:140,0 +DA:141,0 +DA:144,0 +DA:147,0 +DA:153,0 +DA:158,0 +DA:160,0 +DA:161,0 +DA:163,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:178,0 +DA:180,0 +DA:257,0 +LF:72 +LH:0 +BRDA:56,0,0,0 +BRDA:56,0,1,0 +BRDA:60,1,0,0 +BRDA:60,1,1,0 +BRDA:71,2,0,0 +BRDA:71,2,1,0 +BRDA:71,3,0,0 +BRDA:71,3,1,0 +BRDA:72,4,0,0 +BRDA:72,4,1,0 +BRDA:73,5,0,0 +BRDA:73,5,1,0 +BRDA:74,6,0,0 +BRDA:74,6,1,0 +BRDA:89,7,0,0 +BRDA:89,7,1,0 +BRDA:91,8,0,0 +BRDA:91,8,1,0 +BRDA:104,9,0,0 +BRDA:104,9,1,0 +BRDA:105,10,0,0 +BRDA:105,10,1,0 +BRDA:114,11,0,0 +BRDA:114,11,1,0 +BRDA:126,12,0,0 +BRDA:126,12,1,0 +BRDA:126,13,0,0 +BRDA:126,13,1,0 +BRDA:129,14,0,0 +BRDA:129,14,1,0 +BRDA:129,15,0,0 +BRDA:129,15,1,0 +BRDA:132,16,0,0 +BRDA:132,16,1,0 +BRDA:140,17,0,0 +BRDA:140,17,1,0 +BRDA:140,18,0,0 +BRDA:140,18,1,0 +BRDA:160,19,0,0 +BRDA:160,19,1,0 +BRDA:167,20,0,0 +BRDA:167,20,1,0 +BRDA:173,21,0,0 +BRDA:173,21,1,0 +BRDA:189,22,0,0 +BRDA:189,22,1,0 +BRDA:199,23,0,0 +BRDA:199,23,1,0 +BRDA:202,24,0,0 +BRDA:202,24,1,0 +BRDA:237,25,0,0 +BRDA:237,25,1,0 +BRDA:237,25,2,0 +BRDA:244,26,0,0 +BRDA:244,26,1,0 +BRDA:244,26,2,0 +BRDA:259,27,0,0 +BRDA:259,27,1,0 +BRDA:259,28,0,0 +BRDA:259,28,1,0 +BRDA:263,29,0,0 +BRDA:263,29,1,0 +BRDA:274,30,0,0 +BRDA:274,30,1,0 +BRDA:276,31,0,0 +BRDA:276,31,1,0 +BRF:66 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/SingleThemeEntry.tsx +FN:42,(anonymous_0) +FN:48,(anonymous_1) +FN:50,(anonymous_2) +FN:54,(anonymous_3) +FN:58,(anonymous_4) +FN:62,(anonymous_5) +FN:66,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:20,0 +DA:42,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:73,0 +DA:76,0 +LF:20 +LH:0 +BRDA:55,0,0,0 +BRDA:55,0,1,0 +BRDA:59,1,0,0 +BRDA:59,1,1,0 +BRDA:68,2,0,0 +BRDA:68,2,1,0 +BRDA:97,3,0,0 +BRDA:97,3,1,0 +BRDA:101,4,0,0 +BRDA:101,4,1,0 +BRDA:104,5,0,0 +BRDA:104,5,1,0 +BRDA:108,6,0,0 +BRDA:108,6,1,0 +BRDA:111,7,0,0 +BRDA:111,7,1,0 +BRDA:115,8,0,0 +BRDA:115,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/StyledForm.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/StyledNameInputBox.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/StyledThemeLabel.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx +FN:15,(anonymous_0) +FN:19,(anonymous_1) +FN:23,(anonymous_2) +FN:23,(anonymous_3) +FN:24,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:15,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:42,0 +LF:8 +LH:0 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:72,1,0,0 +BRDA:72,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx +FN:23,ThemeListGroupHeader +FN:31,(anonymous_1) +FN:36,(anonymous_2) +FN:39,(anonymous_3) +FN:44,(anonymous_4) +FN:49,(anonymous_5) +FN:58,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,ThemeListGroupHeader +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:58,0 +DA:59,0 +DA:62,0 +LF:24 +LH:0 +BRDA:30,0,0,0 +BRDA:30,0,1,0 +BRDA:50,1,0,0 +BRDA:50,1,1,0 +BRDA:52,2,0,0 +BRDA:52,2,1,0 +BRDA:91,3,0,0 +BRDA:91,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeListItemContent.tsx +FN:24,ThemeListItemContent +FN:33,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,ThemeListItemContent +FNDA:0,(anonymous_1) +DA:20,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:37,0 +LF:6 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx +FN:24,(anonymous_0) +FN:32,(anonymous_1) +FN:38,(anonymous_2) +FN:40,(anonymous_3) +FN:44,(anonymous_4) +FN:48,(anonymous_5) +FN:52,(anonymous_6) +FN:55,(anonymous_7) +FN:119,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:24,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:60,0 +DA:120,0 +LF:16 +LH:0 +BRDA:42,0,0,0 +BRDA:42,0,1,0 +BRDA:54,1,0,0 +BRDA:54,1,1,0 +BRDA:69,2,0,0 +BRDA:69,2,1,0 +BRDA:84,3,0,0 +BRDA:84,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx +FN:26,(anonymous_0) +FN:34,(anonymous_1) +FN:38,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:26,0 +DA:34,0 +DA:35,0 +DA:38,0 +DA:39,0 +DA:42,0 +LF:6 +LH:0 +BRDA:57,0,0,0 +BRDA:57,0,1,0 +BRDA:88,1,0,0 +BRDA:88,1,1,0 +BRDA:88,1,2,0 +BRDA:91,2,0,0 +BRDA:91,2,1,0 +BRDA:91,2,2,0 +BRDA:97,3,0,0 +BRDA:97,3,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx +FN:26,(anonymous_0) +FN:30,(anonymous_1) +FN:36,(anonymous_2) +FN:45,(anonymous_3) +FN:52,(anonymous_4) +FN:58,(anonymous_5) +FN:74,(anonymous_6) +FN:101,(anonymous_7) +FN:111,(anonymous_8) +FN:121,(anonymous_9) +FN:125,(anonymous_10) +FN:129,(anonymous_11) +FN:133,(anonymous_12) +FN:134,(anonymous_13) +FN:135,(anonymous_14) +FN:141,(anonymous_15) +FN:142,(anonymous_16) +FN:143,(anonymous_17) +FN:144,(anonymous_18) +FN:153,(anonymous_19) +FN:160,(anonymous_20) +FN:162,(anonymous_21) +FN:165,(anonymous_22) +FNF:23 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:45,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:68,0 +DA:71,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:80,0 +DA:87,0 +DA:88,0 +DA:92,0 +DA:97,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:121,0 +DA:122,0 +DA:125,0 +DA:126,0 +DA:129,0 +DA:130,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:137,0 +DA:138,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:152,0 +DA:154,0 +DA:155,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:165,0 +DA:166,0 +DA:170,0 +DA:173,0 +DA:175,0 +DA:176,0 +DA:180,0 +DA:181,0 +DA:184,0 +LF:77 +LH:0 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:53,4,0,0 +BRDA:53,4,1,0 +BRDA:59,5,0,0 +BRDA:59,5,1,0 +BRDA:61,6,0,0 +BRDA:61,6,1,0 +BRDA:63,7,0,0 +BRDA:63,7,1,0 +BRDA:75,8,0,0 +BRDA:75,8,1,0 +BRDA:87,9,0,0 +BRDA:87,9,1,0 +BRDA:102,10,0,0 +BRDA:102,10,1,0 +BRDA:112,11,0,0 +BRDA:112,11,1,0 +BRDA:137,12,0,0 +BRDA:137,12,1,0 +BRDA:161,13,0,0 +BRDA:161,13,1,0 +BRDA:163,14,0,0 +BRDA:163,14,1,0 +BRDA:180,15,0,0 +BRDA:180,15,1,0 +BRDA:188,16,0,0 +BRDA:188,16,1,0 +BRDA:195,17,0,0 +BRDA:195,17,1,0 +BRDA:202,18,0,0 +BRDA:202,18,1,0 +BRF:38 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeVariableManagement.tsx +FN:26,(anonymous_0) +FN:27,(anonymous_1) +FN:31,(anonymous_2) +FN:37,(anonymous_3) +FN:39,(anonymous_4) +FN:40,(anonymous_5) +FN:45,(anonymous_6) +FN:46,(anonymous_7) +FN:52,(anonymous_8) +FN:61,(anonymous_9) +FN:65,(anonymous_10) +FN:69,(anonymous_11) +FN:79,(anonymous_12) +FN:82,(anonymous_13) +FN:87,(anonymous_14) +FN:97,(anonymous_15) +FN:103,(anonymous_16) +FN:174,(anonymous_17) +FNF:18 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:46,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:79,0 +DA:80,0 +DA:82,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:103,0 +DA:108,0 +DA:109,0 +DA:112,0 +DA:116,0 +DA:120,0 +DA:175,0 +LF:43 +LH:0 +BRDA:40,0,0,0 +BRDA:40,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:46,2,0,0 +BRDA:46,2,1,0 +BRDA:63,3,0,0 +BRDA:63,3,1,0 +BRDA:70,4,0,0 +BRDA:70,4,1,0 +BRDA:81,5,0,0 +BRDA:81,5,1,0 +BRDA:88,6,0,0 +BRDA:88,6,1,0 +BRDA:98,7,0,0 +BRDA:98,7,1,0 +BRDA:108,8,0,0 +BRDA:108,8,1,0 +BRDA:129,9,0,0 +BRDA:129,9,1,0 +BRDA:144,10,0,0 +BRDA:144,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx +FN:25,(anonymous_0) +FN:32,(anonymous_1) +FN:36,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:25,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +LF:6 +LH:0 +BRDA:85,0,0,0 +BRDA:85,0,1,0 +BRDA:85,0,2,0 +BRDA:88,1,0,0 +BRDA:88,1,1,0 +BRDA:88,1,2,0 +BRDA:94,2,0,0 +BRDA:94,2,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/TokenSetThemeItem.tsx +FN:24,(anonymous_0) +FN:27,(anonymous_1) +FN:32,(anonymous_2) +FN:41,(anonymous_3) +FN:56,(anonymous_4) +FN:88,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:17,0 +DA:18,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:51,0 +DA:57,0 +DA:90,0 +LF:18 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRDA:33,1,0,0 +BRDA:33,1,1,0 +BRDA:42,2,0,0 +BRDA:42,2,1,0 +BRDA:45,3,0,0 +BRDA:45,3,1,0 +BRDA:54,4,0,0 +BRDA:54,4,1,0 +BRDA:70,5,0,0 +BRDA:70,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/app/components/ManageThemesModal/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Modal/Modal.tsx +FN:79,Modal +FN:97,(anonymous_1) +FN:104,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,Modal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:29,0 +DA:46,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:103,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:114,0 +LF:10 +LH:0 +BRDA:88,0,0,0 +BRDA:89,1,0,0 +BRDA:90,2,0,0 +BRDA:91,3,0,0 +BRDA:92,4,0,0 +BRDA:98,5,0,0 +BRDA:98,5,1,0 +BRDA:105,6,0,0 +BRDA:105,6,1,0 +BRDA:106,7,0,0 +BRDA:106,7,1,0 +BRDA:133,8,0,0 +BRDA:133,8,1,0 +BRDA:133,8,2,0 +BRDA:133,8,3,0 +BRDA:133,8,4,0 +BRDA:136,9,0,0 +BRDA:136,9,1,0 +BRDA:151,10,0,0 +BRDA:151,10,1,0 +BRDA:167,11,0,0 +BRDA:167,11,1,0 +BRDA:168,12,0,0 +BRDA:168,12,1,0 +BRDA:176,13,0,0 +BRDA:176,13,1,0 +BRDA:178,14,0,0 +BRDA:178,14,1,0 +BRDA:193,15,0,0 +BRDA:193,15,1,0 +BRDA:194,16,0,0 +BRDA:194,16,1,0 +BRDA:194,17,0,0 +BRDA:194,17,1,0 +BRDA:200,18,0,0 +BRDA:200,18,1,0 +BRF:36 +BRH:0 +end_of_record +TN: +SF:src/app/components/Modal/ModalFooter.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Modal/ModalHeader.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/Modal/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/MoreButton/MoreButton.tsx +FN:46,(anonymous_0) +FN:62,(anonymous_1) +FN:69,(anonymous_2) +FN:69,(anonymous_3) +FN:71,(anonymous_4) +FN:75,(anonymous_5) +FN:79,(anonymous_6) +FN:88,(anonymous_7) +FN:94,(anonymous_8) +FN:102,(anonymous_9) +FN:104,(anonymous_10) +FN:115,(anonymous_11) +FN:121,(anonymous_12) +FN:130,(anonymous_13) +FN:148,(anonymous_14) +FN:158,(anonymous_15) +FN:187,(anonymous_16) +FN:205,(anonymous_17) +FNF:18 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +DA:30,0 +DA:46,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:66,0 +DA:69,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:88,0 +DA:89,0 +DA:93,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:109,0 +DA:112,0 +DA:114,0 +DA:116,0 +DA:117,0 +DA:120,0 +DA:121,0 +DA:124,0 +DA:129,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:135,0 +DA:141,0 +DA:148,0 +DA:159,0 +DA:188,0 +DA:205,0 +LF:49 +LH:0 +BRDA:59,0,0,0 +BRDA:59,0,1,0 +BRDA:105,1,0,0 +BRDA:105,1,1,0 +BRDA:115,2,0,0 +BRDA:118,3,0,0 +BRDA:118,3,1,0 +BRDA:120,4,0,0 +BRDA:120,4,1,0 +BRDA:132,5,0,0 +BRDA:132,5,1,0 +BRDA:132,6,0,0 +BRDA:132,6,1,0 +BRDA:132,6,2,0 +BRDA:132,6,3,0 +BRDA:132,6,4,0 +BRDA:148,7,0,0 +BRDA:148,7,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/MoreButton/MoreButtonProperty.tsx +FN:17,(anonymous_0) +FN:21,(anonymous_1) +FN:24,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:17,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:29,0 +LF:8 +LH:0 +BRDA:18,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/app/components/MoreButton/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/NavbarUndoButton/NavbarUndoButton.tsx +FN:26,(anonymous_0) +FN:30,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:10,0 +DA:15,0 +DA:20,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:35,0 +DA:44,0 +LF:11 +LH:0 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRDA:34,1,0,0 +BRDA:34,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/NavbarUndoButton/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/PresetProvider/DefaultPreset.tsx +FN:13,DefaultPreset +FN:15,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,DefaultPreset +FNDA:0,(anonymous_1) +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:21,0 +LF:6 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/PresetProvider/FilePreset.tsx +FN:33,FilePreset +FN:40,(anonymous_1) +FN:45,(anonymous_2) +FN:50,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,FilePreset +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:57,0 +LF:16 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ResolvingLoader/ResolvingLoader.tsx +FN:20,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:6,0 +DA:12,0 +DA:20,0 +DA:21,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ResolvingLoader/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/SecondScreen/index.tsx +FN:43,SecondScreen +FN:49,(anonymous_1) +FN:53,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,SecondScreen +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:17,0 +DA:32,0 +DA:38,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:68,0 +LF:18 +LH:0 +BRDA:60,0,0,0 +BRDA:60,0,1,0 +BRDA:62,1,0,0 +BRDA:62,1,1,0 +BRDA:62,2,0,0 +BRDA:62,2,1,0 +BRDA:84,3,0,0 +BRDA:84,3,1,0 +BRDA:110,4,0,0 +BRDA:110,4,1,0 +BRDA:110,5,0,0 +BRDA:110,5,1,0 +BRDA:111,6,0,0 +BRDA:111,6,1,0 +BRDA:111,7,0,0 +BRDA:111,7,1,0 +BRDA:114,8,0,0 +BRDA:114,8,1,0 +BRDA:114,9,0,0 +BRDA:114,9,1,0 +BRDA:119,10,0,0 +BRDA:119,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/app/components/SecondScreenSync/index.tsx +FN:14,SecondScreenSync +FN:24,(anonymous_1) +FN:38,(anonymous_2) +FN:44,(anonymous_3) +FN:51,(anonymous_4) +FN:59,(anonymous_5) +FN:60,updateRemoteData +FN:83,(anonymous_7) +FN:94,(anonymous_8) +FN:111,(anonymous_9) +FN:113,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,SecondScreenSync +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,updateRemoteData +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:39,0 +DA:40,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:59,0 +DA:61,0 +DA:70,0 +DA:71,0 +DA:78,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:108,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:118,0 +LF:41 +LH:0 +BRDA:27,0,0,0 +BRDA:27,0,1,0 +BRDA:27,1,0,0 +BRDA:27,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:39,3,0,0 +BRDA:39,3,1,0 +BRDA:45,4,0,0 +BRDA:45,4,1,0 +BRDA:52,5,0,0 +BRDA:52,5,1,0 +BRDA:53,6,0,0 +BRDA:53,6,1,0 +BRDA:70,7,0,0 +BRDA:70,7,1,0 +BRDA:70,8,0,0 +BRDA:70,8,1,0 +BRDA:85,9,0,0 +BRDA:85,9,1,0 +BRDA:85,10,0,0 +BRDA:85,10,1,0 +BRDA:95,11,0,0 +BRDA:95,11,1,0 +BRDA:95,12,0,0 +BRDA:95,12,1,0 +BRDA:99,13,0,0 +BRDA:99,13,1,0 +BRDA:114,14,0,0 +BRDA:114,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/app/components/Settings/Settings.tsx +FN:28,Settings +FN:44,(anonymous_1) +FN:73,(anonymous_2) +FN:74,getSessionId +FN:86,(anonymous_4) +FN:93,(anonymous_5) +FN:97,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,Settings +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,getSessionId +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:29,0 +DA:31,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:61,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:73,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:82,0 +DA:85,0 +DA:87,0 +DA:88,0 +DA:93,0 +DA:94,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:105,0 +LF:40 +LH:0 +BRDA:45,0,0,0 +BRDA:45,0,1,0 +BRDA:45,1,0,0 +BRDA:45,1,1,0 +BRDA:50,2,0,0 +BRDA:50,2,1,0 +BRDA:54,3,0,0 +BRDA:54,3,1,0 +BRDA:59,4,0,0 +BRDA:59,4,1,0 +BRDA:77,5,0,0 +BRDA:77,5,1,0 +BRDA:110,6,0,0 +BRDA:110,6,1,0 +BRDA:141,7,0,0 +BRDA:141,7,1,0 +BRDA:200,8,0,0 +BRDA:200,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/Settings/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/ADOForm.tsx +FN:24,ADOForm +FN:30,(anonymous_1) +FN:31,(anonymous_2) +FN:35,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,ADOForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:54,0 +DA:60,0 +LF:12 +LH:0 +BRDA:49,0,0,0 +BRDA:49,0,1,0 +BRDA:52,1,0,0 +BRDA:52,1,1,0 +BRDA:74,2,0,0 +BRDA:74,2,1,0 +BRDA:85,3,0,0 +BRDA:85,3,1,0 +BRDA:90,4,0,0 +BRDA:90,4,1,0 +BRDA:92,5,0,0 +BRDA:92,5,1,0 +BRDA:98,6,0,0 +BRDA:98,6,1,0 +BRDA:108,7,0,0 +BRDA:108,7,1,0 +BRDA:112,8,0,0 +BRDA:112,8,1,0 +BRDA:117,9,0,0 +BRDA:117,9,1,0 +BRDA:132,10,0,0 +BRDA:132,10,1,0 +BRDA:136,11,0,0 +BRDA:136,11,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/BitbucketForm.tsx +FN:24,BitbucketForm +FN:30,(anonymous_1) +FN:31,(anonymous_2) +FN:35,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,BitbucketForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:55,0 +DA:61,0 +LF:12 +LH:0 +BRDA:50,0,0,0 +BRDA:50,0,1,0 +BRDA:53,1,0,0 +BRDA:53,1,1,0 +BRDA:76,2,0,0 +BRDA:76,2,1,0 +BRDA:82,3,0,0 +BRDA:82,3,1,0 +BRDA:93,4,0,0 +BRDA:93,4,1,0 +BRDA:98,5,0,0 +BRDA:98,5,1,0 +BRDA:104,6,0,0 +BRDA:104,6,1,0 +BRDA:111,7,0,0 +BRDA:111,7,1,0 +BRDA:115,8,0,0 +BRDA:115,8,1,0 +BRDA:120,9,0,0 +BRDA:120,9,1,0 +BRDA:136,10,0,0 +BRDA:136,10,1,0 +BRDA:140,11,0,0 +BRDA:140,11,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/GenericVersioned.tsx +FN:52,GenericVersionedForm +FN:63,(anonymous_1) +FN:64,(anonymous_2) +FN:68,(anonymous_3) +FN:87,(anonymous_4) +FN:96,(anonymous_5) +FN:108,(anonymous_6) +FN:113,(anonymous_7) +FN:124,(anonymous_8) +FN:142,(anonymous_9) +FN:149,(anonymous_10) +FN:154,(anonymous_11) +FN:194,(anonymous_12) +FNF:13 +FNH:0 +FNDA:0,GenericVersionedForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +DA:38,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:77,0 +DA:80,0 +DA:86,0 +DA:87,0 +DA:96,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:103,0 +DA:107,0 +DA:108,0 +DA:112,0 +DA:114,0 +DA:123,0 +DA:126,0 +DA:127,0 +DA:129,0 +DA:132,0 +DA:135,0 +DA:140,0 +DA:142,0 +DA:143,0 +DA:148,0 +DA:150,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:160,0 +DA:195,0 +LF:41 +LH:0 +BRDA:71,0,0,0 +BRDA:71,0,1,0 +BRDA:75,1,0,0 +BRDA:75,1,1,0 +BRDA:98,2,0,0 +BRDA:98,2,1,0 +BRDA:108,3,0,0 +BRDA:108,3,1,0 +BRDA:171,4,0,0 +BRDA:171,4,1,0 +BRDA:175,5,0,0 +BRDA:175,5,1,0 +BRDA:206,6,0,0 +BRDA:206,6,1,0 +BRDA:212,7,0,0 +BRDA:212,7,1,0 +BRDA:232,8,0,0 +BRDA:232,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/GitForm.tsx +FN:28,GitForm +FN:33,(anonymous_1) +FN:34,(anonymous_2) +FN:40,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,GitForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:31,0 +DA:33,0 +DA:34,0 +DA:37,0 +DA:39,0 +DA:41,0 +DA:43,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:60,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:70,0 +LF:15 +LH:0 +BRDA:55,0,0,0 +BRDA:55,0,1,0 +BRDA:58,1,0,0 +BRDA:58,1,1,0 +BRDA:67,2,0,0 +BRDA:67,2,1,0 +BRDA:68,3,0,0 +BRDA:68,3,1,0 +BRDA:89,4,0,0 +BRDA:89,4,1,0 +BRDA:101,5,0,0 +BRDA:101,5,1,0 +BRDA:103,6,0,0 +BRDA:103,6,1,0 +BRDA:109,7,0,0 +BRDA:109,7,1,0 +BRDA:117,8,0,0 +BRDA:117,8,1,0 +BRDA:121,9,0,0 +BRDA:121,9,1,0 +BRDA:129,10,0,0 +BRDA:129,10,1,0 +BRDA:142,11,0,0 +BRDA:142,11,1,0 +BRDA:154,12,0,0 +BRDA:154,12,1,0 +BRDA:158,13,0,0 +BRDA:158,13,1,0 +BRF:28 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/JSONBinForm.tsx +FN:25,JSONBinForm +FN:37,(anonymous_1) +FN:38,(anonymous_2) +FN:42,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,JSONBinForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:43,0 +DA:45,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:59,0 +DA:65,0 +LF:12 +LH:0 +BRDA:26,0,0,0 +BRDA:53,1,0,0 +BRDA:53,1,1,0 +BRDA:57,2,0,0 +BRDA:57,2,1,0 +BRDA:80,3,0,0 +BRDA:80,3,1,0 +BRDA:91,4,0,0 +BRDA:91,4,1,0 +BRDA:93,5,0,0 +BRDA:93,5,1,0 +BRDA:99,6,0,0 +BRDA:99,6,1,0 +BRDA:106,7,0,0 +BRDA:106,7,1,0 +BRDA:107,8,0,0 +BRDA:107,8,1,0 +BRDA:115,9,0,0 +BRDA:115,9,1,0 +BRDA:119,10,0,0 +BRDA:119,10,1,0 +BRF:21 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/SupernovaForm.tsx +FN:23,SupernovaForm +FN:29,(anonymous_1) +FN:30,(anonymous_2) +FN:36,(anonymous_3) +FN:60,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,SupernovaForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:33,0 +DA:35,0 +DA:37,0 +DA:39,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:53,0 +DA:59,0 +DA:62,0 +DA:67,0 +LF:15 +LH:0 +BRDA:48,0,0,0 +BRDA:48,0,1,0 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:78,2,0,0 +BRDA:78,2,1,0 +BRDA:86,3,0,0 +BRDA:86,3,1,0 +BRDA:90,4,0,0 +BRDA:90,4,1,0 +BRDA:96,5,0,0 +BRDA:96,5,1,0 +BRDA:106,6,0,0 +BRDA:106,6,1,0 +BRDA:114,7,0,0 +BRDA:114,7,1,0 +BRDA:123,8,0,0 +BRDA:123,8,1,0 +BRDA:123,8,2,0 +BRDA:123,8,3,0 +BRDA:128,9,0,0 +BRDA:128,9,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/TokensStudioForm.tsx +FN:45,TokensStudioForm +FN:55,(anonymous_1) +FN:56,(anonymous_2) +FN:60,(anonymous_3) +FN:83,(anonymous_4) +FN:89,(anonymous_5) +FN:93,(anonymous_6) +FN:112,(anonymous_7) +FN:119,(anonymous_8) +FN:119,(anonymous_9) +FN:127,(anonymous_10) +FN:133,(anonymous_11) +FN:135,(anonymous_12) +FN:137,(anonymous_13) +FN:143,(anonymous_14) +FN:145,(anonymous_15) +FN:148,(anonymous_16) +FN:227,(anonymous_17) +FN:245,(anonymous_18) +FNF:19 +FNH:0 +FNDA:0,TokensStudioForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +DA:30,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:59,0 +DA:61,0 +DA:63,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:77,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:89,0 +DA:90,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:100,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:108,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:118,0 +DA:119,0 +DA:126,0 +DA:128,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:143,0 +DA:145,0 +DA:147,0 +DA:149,0 +DA:154,0 +DA:228,0 +DA:246,0 +LF:48 +LH:0 +BRDA:72,0,0,0 +BRDA:72,0,1,0 +BRDA:75,1,0,0 +BRDA:75,1,1,0 +BRDA:84,2,0,0 +BRDA:84,2,1,0 +BRDA:96,3,0,0 +BRDA:96,3,1,0 +BRDA:103,4,0,0 +BRDA:103,4,1,0 +BRDA:103,5,0,0 +BRDA:103,5,1,0 +BRDA:113,6,0,0 +BRDA:113,6,1,0 +BRDA:134,7,0,0 +BRDA:134,7,1,0 +BRDA:136,8,0,0 +BRDA:136,8,1,0 +BRDA:154,9,0,0 +BRDA:154,9,1,0 +BRDA:196,10,0,0 +BRDA:196,10,1,0 +BRDA:202,11,0,0 +BRDA:202,11,1,0 +BRDA:208,12,0,0 +BRDA:208,12,1,0 +BRDA:214,13,0,0 +BRDA:214,13,1,0 +BRDA:218,14,0,0 +BRDA:218,14,1,0 +BRDA:220,15,0,0 +BRDA:220,15,1,0 +BRDA:224,16,0,0 +BRDA:224,16,1,0 +BRDA:225,17,0,0 +BRDA:225,17,1,0 +BRDA:238,18,0,0 +BRDA:238,18,1,0 +BRDA:242,19,0,0 +BRDA:242,19,1,0 +BRDA:243,20,0,0 +BRDA:243,20,1,0 +BRDA:259,21,0,0 +BRDA:259,21,1,0 +BRDA:263,22,0,0 +BRDA:263,22,1,0 +BRF:46 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/URLForm.tsx +FN:24,URLForm +FN:31,(anonymous_1) +FN:32,(anonymous_2) +FN:36,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,URLForm +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:27,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:37,0 +DA:39,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:53,0 +DA:59,0 +LF:12 +LH:0 +BRDA:47,0,0,0 +BRDA:47,0,1,0 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:74,2,0,0 +BRDA:74,2,1,0 +BRDA:83,3,0,0 +BRDA:83,3,1,0 +BRDA:90,4,0,0 +BRDA:90,4,1,0 +BRDA:92,5,0,0 +BRDA:92,5,1,0 +BRDA:98,6,0,0 +BRDA:98,6,1,0 +BRDA:108,7,0,0 +BRDA:108,7,1,0 +BRDA:112,8,0,0 +BRDA:112,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/components/StorageItemForm/types.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDragger/DragGrabber.tsx +FN:12,DragGrabber +FN:14,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,DragGrabber +FNDA:0,(anonymous_1) +DA:13,0 +DA:15,0 +DA:20,0 +LF:3 +LH:0 +BRDA:12,0,0,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDragger/DragItem.tsx +FN:15,DragItem +FN:20,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,DragItem +FNDA:0,(anonymous_1) +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +LF:6 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDragger/StyledBeforeFlex.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDragger/StyledCheckbox.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDragger/StyledDragButton.tsx +FNF:0 +FNH:0 +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/StyledDragger/StyledGrabber.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TabButton/TabButton.tsx +FN:59,TabButton +FN:62,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,TabButton +FNDA:0,(anonymous_1) +DA:21,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:67,0 +LF:5 +LH:0 +BRDA:78,0,0,0 +BRDA:78,0,1,0 +BRDA:80,1,0,0 +BRDA:80,1,1,0 +BRDA:81,2,0,0 +BRDA:81,2,1,0 +BRDA:91,3,0,0 +BRDA:91,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/components/TabButton/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/ThemeSelector/ThemeSelector.tsx +FN:21,(anonymous_0) +FN:27,(anonymous_1) +FN:27,(anonymous_2) +FN:29,(anonymous_3) +FN:33,(anonymous_4) +FN:34,(anonymous_5) +FN:49,(anonymous_6) +FN:53,(anonymous_7) +FN:57,(anonymous_8) +FN:65,(anonymous_9) +FN:65,(anonymous_10) +FN:66,(anonymous_11) +FN:84,(anonymous_12) +FN:87,(anonymous_13) +FN:88,(anonymous_14) +FN:88,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:84,0 +DA:85,0 +DA:88,0 +DA:89,0 +DA:104,0 +LF:37 +LH:0 +BRDA:27,0,0,0 +BRDA:27,0,1,0 +BRDA:34,1,0,0 +BRDA:34,1,1,0 +BRDA:36,2,0,0 +BRDA:36,2,1,0 +BRDA:36,3,0,0 +BRDA:36,3,1,0 +BRDA:41,4,0,0 +BRDA:41,4,1,0 +BRDA:54,5,0,0 +BRDA:54,5,1,0 +BRDA:55,6,0,0 +BRDA:55,6,1,0 +BRDA:56,7,0,0 +BRDA:56,7,1,0 +BRDA:58,8,0,0 +BRDA:58,8,1,0 +BRDA:88,9,0,0 +BRDA:88,9,1,0 +BRDA:90,10,0,0 +BRDA:90,10,1,0 +BRDA:91,11,0,0 +BRDA:91,11,1,0 +BRDA:92,12,0,0 +BRDA:92,12,1,0 +BRDA:135,13,0,0 +BRDA:135,13,1,0 +BRDA:141,14,0,0 +BRDA:141,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/app/components/ThemeSelector/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenButton/DragOverItem.tsx +FN:14,(anonymous_0) +FN:21,(anonymous_1) +FN:25,(anonymous_2) +FN:29,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:14,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:47,0 +DA:50,0 +LF:16 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:30,2,0,0 +BRDA:30,2,1,0 +BRDA:31,3,0,0 +BRDA:31,3,1,0 +BRDA:31,3,2,0 +BRDA:31,3,3,0 +BRDA:31,3,4,0 +BRDA:42,4,0,0 +BRDA:42,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:53,5,2,0 +BRDA:54,6,0,0 +BRDA:54,6,1,0 +BRDA:54,6,2,0 +BRF:19 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenButton/DraggableWrapper.tsx +FN:15,(anonymous_0) +FN:22,(anonymous_1) +FN:26,(anonymous_2) +FN:27,(anonymous_3) +FN:28,(anonymous_4) +FN:30,(anonymous_5) +FN:35,(anonymous_6) +FN:40,(anonymous_7) +FN:46,(anonymous_8) +FN:55,(anonymous_9) +FN:72,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:15,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:67,0 +DA:72,0 +DA:92,0 +LF:36 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:54,1,0,0 +BRDA:54,1,1,0 +BRDA:54,2,0,0 +BRDA:54,2,1,0 +BRDA:54,2,2,0 +BRDA:56,3,0,0 +BRDA:56,3,1,0 +BRDA:57,4,0,0 +BRDA:57,4,1,0 +BRDA:59,5,0,0 +BRDA:59,5,1,0 +BRDA:59,6,0,0 +BRDA:59,6,1,0 +BRDA:60,7,0,0 +BRDA:60,7,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenButton/StyledTokenButton.tsx +FNF:0 +FNH:0 +DA:4,0 +DA:16,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenButton/TokenButton.tsx +FN:22,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:22,0 +DA:31,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenButton/TokenButtonContent.tsx +FN:19,TokenButtonContent +FN:27,(anonymous_1) +FN:31,(anonymous_2) +FN:43,(anonymous_3) +FN:48,(anonymous_4) +FN:53,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,TokenButtonContent +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:39,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:62,0 +DA:67,0 +DA:72,0 +LF:25 +LH:0 +BRDA:33,0,0,0 +BRDA:33,0,1,0 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:45,2,0,0 +BRDA:45,2,1,0 +BRDA:54,3,0,0 +BRDA:54,3,1,0 +BRDA:54,3,2,0 +BRDA:74,4,0,0 +BRDA:74,4,1,0 +BRDA:76,5,0,0 +BRDA:76,5,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenButton/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenFlowButton/index.tsx +FN:17,TokenFlowButton +FN:28,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,TokenFlowButton +FNDA:0,(anonymous_1) +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:53,0 +DA:56,0 +LF:20 +LH:0 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:57,1,0,0 +BRDA:57,1,1,0 +BRDA:57,2,0,0 +BRDA:57,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenGroup/StyledTokenGroup.tsx +FNF:0 +FNH:0 +DA:3,0 +DA:20,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenGroup/StyledTokenGroupHeading.tsx +FNF:0 +FNH:0 +DA:4,0 +DA:11,0 +DA:22,0 +DA:49,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenGroup/TokenGroup.tsx +FN:22,(anonymous_0) +FN:28,(anonymous_1) +FN:29,(anonymous_2) +FN:30,(anonymous_3) +FN:44,(anonymous_4) +FN:45,(anonymous_5) +FN:47,(anonymous_6) +FN:49,(anonymous_7) +FN:63,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:22,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:49,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:64,0 +LF:19 +LH:0 +BRDA:23,0,0,0 +BRDA:32,1,0,0 +BRDA:32,1,1,0 +BRDA:47,2,0,0 +BRDA:47,2,1,0 +BRDA:47,2,2,0 +BRDA:57,3,0,0 +BRDA:57,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:65,5,0,0 +BRDA:65,5,1,0 +BRDA:65,6,0,0 +BRDA:65,6,1,0 +BRDA:69,7,0,0 +BRDA:69,7,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenGroup/TokenGroupHeading.tsx +FN:29,TokenGroupHeading +FN:47,(anonymous_1) +FN:51,(anonymous_2) +FN:56,(anonymous_3) +FN:65,(anonymous_4) +FN:69,(anonymous_5) +FN:73,(anonymous_6) +FN:77,(anonymous_7) +FN:82,(anonymous_8) +FN:83,(anonymous_9) +FN:86,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,TokenGroupHeading +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:88,0 +LF:36 +LH:0 +BRDA:45,0,0,0 +BRDA:45,0,1,0 +BRDA:45,0,2,0 +BRDA:83,1,0,0 +BRDA:83,1,1,0 +BRDA:98,2,0,0 +BRDA:98,2,1,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenGroup/index.tsx +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetItem/StyledWrapper.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetItem/TokenSetItem.tsx +FN:39,TokenSetItem +FN:56,(anonymous_1) +FN:60,(anonymous_2) +FN:64,(anonymous_3) +FN:68,(anonymous_4) +FN:72,(anonymous_5) +FN:76,(anonymous_6) +FN:80,(anonymous_7) +FN:85,(anonymous_8) +FN:91,(anonymous_9) +FN:102,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,TokenSetItem +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:64,0 +DA:65,0 +DA:68,0 +DA:69,0 +DA:72,0 +DA:73,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:81,0 +DA:84,0 +DA:86,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:95,0 +DA:96,0 +DA:98,0 +DA:101,0 +DA:103,0 +DA:104,0 +DA:106,0 +DA:111,0 +LF:28 +LH:0 +BRDA:42,0,0,0 +BRDA:46,1,0,0 +BRDA:48,2,0,0 +BRDA:86,3,0,0 +BRDA:86,3,1,0 +BRDA:92,4,0,0 +BRDA:92,4,1,0 +BRDA:95,5,0,0 +BRDA:95,5,1,0 +BRDA:103,6,0,0 +BRDA:103,6,1,0 +BRDA:114,7,0,0 +BRDA:114,7,1,0 +BRDA:162,8,0,0 +BRDA:162,8,1,0 +BRDA:162,8,2,0 +BRDA:174,9,0,0 +BRDA:174,9,1,0 +BRDA:176,10,0,0 +BRDA:176,10,1,0 +BRDA:177,11,0,0 +BRDA:177,11,1,0 +BRDA:196,12,0,0 +BRDA:196,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetItem/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetTree/StyledFolderButton.tsx +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetTree/StyledItem.tsx +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenSetTree/TokenSetTreeContent.tsx +FN:33,TokenSetTreeContent +FN:35,(anonymous_1) +FN:42,(anonymous_2) +FN:43,(anonymous_3) +FN:46,(anonymous_4) +FN:47,(anonymous_5) +FN:49,(anonymous_6) +FN:51,(anonymous_7) +FN:53,(anonymous_8) +FN:59,(anonymous_9) +FNF:10 +FNH:0 +FNDA:0,TokenSetTreeContent +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +DA:35,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:51,0 +DA:53,0 +DA:57,0 +DA:60,0 +LF:12 +LH:0 +BRDA:35,0,0,0 +BRDA:37,1,0,0 +BRDA:43,2,0,0 +BRDA:43,2,1,0 +BRDA:49,3,0,0 +BRDA:49,3,1,0 +BRDA:49,3,2,0 +BRDA:63,4,0,0 +BRDA:63,4,1,0 +BRDA:67,5,0,0 +BRDA:67,5,1,0 +BRDA:69,6,0,0 +BRDA:69,6,1,0 +BRDA:77,7,0,0 +BRDA:77,7,1,0 +BRF:15 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/AliasBadge.tsx +FN:17,AliasBadge +FNF:1 +FNH:0 +FNDA:0,AliasBadge +DA:4,0 +DA:18,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/NotFoundBadge.tsx +FN:9,NotFoundBadge +FNF:1 +FNH:0 +FNDA:0,NotFoundBadge +DA:5,0 +DA:10,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx +FN:11,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:11,0 +DA:12,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/SingleColorValueDisplay.tsx +FN:14,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:14,0 +DA:15,0 +LF:2 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx +FN:12,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:12,0 +DA:13,0 +DA:14,0 +LF:3 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:13,1,2,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:18,4,0,0 +BRDA:18,4,1,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx +FN:12,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:12,0 +DA:13,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx +FN:11,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:11,0 +DA:12,0 +LF:2 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/TokenTooltip.tsx +FN:12,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:12,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:23,0 +LF:5 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/TokenTooltipContent.tsx +FN:13,(anonymous_0) +FN:16,(anonymous_1) +FN:17,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:13,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:20,0 +LF:5 +LH:0 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRDA:40,1,0,0 +BRDA:40,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/TokenTooltipContentValue.tsx +FN:27,(anonymous_0) +FN:31,(anonymous_1) +FN:55,(anonymous_2) +FN:77,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:38,0 +DA:39,0 +DA:47,0 +DA:53,0 +DA:56,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:78,0 +DA:88,0 +DA:104,0 +DA:105,0 +DA:113,0 +DA:114,0 +DA:123,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:131,0 +LF:24 +LH:0 +BRDA:31,0,0,0 +BRDA:31,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:47,2,0,0 +BRDA:47,2,1,0 +BRDA:48,3,0,0 +BRDA:48,3,1,0 +BRDA:48,3,2,0 +BRDA:48,3,3,0 +BRDA:48,3,4,0 +BRDA:61,4,0,0 +BRDA:61,4,1,0 +BRDA:68,5,0,0 +BRDA:68,5,1,0 +BRDA:69,6,0,0 +BRDA:69,6,1,0 +BRDA:72,7,0,0 +BRDA:72,7,1,0 +BRDA:80,8,0,0 +BRDA:80,8,1,0 +BRDA:90,9,0,0 +BRDA:90,9,1,0 +BRDA:104,10,0,0 +BRDA:104,10,1,0 +BRDA:113,11,0,0 +BRDA:113,11,1,0 +BRDA:123,12,0,0 +BRDA:123,12,1,0 +BRDA:123,13,0,0 +BRDA:123,13,1,0 +BRDA:127,14,0,0 +BRDA:127,14,1,0 +BRDA:127,15,0,0 +BRDA:127,15,1,0 +BRDA:127,15,2,0 +BRF:36 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/TooltipProperty.tsx +FN:13,TooltipProperty +FNF:1 +FNH:0 +FNDA:0,TooltipProperty +DA:14,0 +LF:1 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:25,2,0,0 +BRDA:25,2,1,0 +BRDA:25,2,2,0 +BRDA:28,3,0,0 +BRDA:28,3,1,0 +BRDA:35,4,0,0 +BRDA:35,4,1,0 +BRDA:35,5,0,0 +BRDA:35,5,1,0 +BRDA:35,5,2,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/components/TokenTooltip/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/inspector/NodeIcon.tsx +FN:20,NodeIcon +FNF:1 +FNH:0 +FNDA:0,NodeIcon +DA:22,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:50,0 +DA:51,0 +LF:20 +LH:0 +BRDA:20,0,0,0 +BRDA:20,1,0,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRDA:22,2,2,0 +BRDA:22,2,3,0 +BRDA:22,2,4,0 +BRDA:22,2,5,0 +BRDA:22,2,6,0 +BRDA:22,2,7,0 +BRDA:22,2,8,0 +BRDA:50,3,0,0 +BRDA:50,3,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/app/components/inspector/TokenNode.tsx +FN:8,TokenNode +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,TokenNode +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:13,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/components/inspector/TokenNodes.tsx +FN:16,TokenNodes +FN:17,(anonymous_1) +FN:18,(anonymous_2) +FN:36,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,TokenNodes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:23,0 +DA:37,0 +DA:42,0 +LF:9 +LH:0 +BRDA:33,0,0,0 +BRDA:33,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/BulkRemapModal.tsx +FN:16,BulkRemapModal +FN:22,(anonymous_1) +FN:26,(anonymous_2) +FN:32,(anonymous_3) +FN:36,(anonymous_4) +FN:40,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,BulkRemapModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:44,0 +LF:17 +LH:0 +BRDA:27,0,0,0 +BRDA:27,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/CreateBranchModal.tsx +FN:26,CreateBranchModal +FN:45,(anonymous_1) +FN:46,(anonymous_2) +FN:51,(anonymous_3) +FN:53,(anonymous_4) +FN:57,(anonymous_5) +FN:101,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,CreateBranchModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:31,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:79,0 +DA:82,0 +DA:83,0 +DA:101,0 +DA:103,0 +LF:30 +LH:0 +BRDA:64,0,0,0 +BRDA:64,0,1,0 +BRDA:65,1,0,0 +BRDA:65,1,1,0 +BRDA:69,2,0,0 +BRDA:69,2,1,0 +BRDA:71,3,0,0 +BRDA:71,3,1,0 +BRDA:72,4,0,0 +BRDA:72,4,1,0 +BRDA:73,5,0,0 +BRDA:73,5,1,0 +BRDA:82,6,0,0 +BRDA:82,6,1,0 +BRDA:104,7,0,0 +BRDA:104,7,1,0 +BRDA:120,8,0,0 +BRDA:120,8,1,0 +BRDA:130,9,0,0 +BRDA:130,9,1,0 +BRDA:134,10,0,0 +BRDA:134,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/CreateStorageItemModal.tsx +FN:17,CreateStorageItemModal +FN:24,(anonymous_1) +FN:44,(anonymous_2) +FN:52,(anonymous_3) +FN:66,(anonymous_4) +FN:73,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,CreateStorageItemModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:37,0 +DA:40,0 +DA:42,0 +DA:44,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:65,0 +DA:67,0 +DA:72,0 +DA:74,0 +DA:79,0 +LF:22 +LH:0 +BRDA:26,0,0,0 +BRDA:26,0,1,0 +BRDA:55,1,0,0 +BRDA:55,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/DuplicateTokenGroupModal.tsx +FN:25,DuplicateTokenGroupModal +FN:34,(anonymous_1) +FN:38,(anonymous_2) +FN:48,(anonymous_3) +FN:106,(anonymous_4) +FN:108,(anonymous_5) +FN:116,(anonymous_6) +FN:129,(anonymous_7) +FN:131,(anonymous_8) +FN:139,(anonymous_9) +FNF:10 +FNH:0 +FNDA:0,DuplicateTokenGroupModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:44,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:53,0 +DA:57,0 +DA:58,0 +DA:62,0 +DA:65,0 +DA:67,0 +DA:106,0 +DA:109,0 +DA:117,0 +DA:129,0 +DA:132,0 +DA:140,0 +LF:28 +LH:0 +BRDA:43,0,0,0 +BRDA:43,0,1,0 +BRDA:49,1,0,0 +BRDA:49,1,1,0 +BRDA:52,2,0,0 +BRDA:52,2,1,0 +BRDA:52,3,0,0 +BRDA:52,3,1,0 +BRDA:57,4,0,0 +BRDA:57,4,1,0 +BRDA:97,5,0,0 +BRDA:97,5,1,0 +BRDA:97,5,2,0 +BRDA:103,6,0,0 +BRDA:103,6,1,0 +BRDA:129,7,0,0 +BRDA:129,7,1,0 +BRDA:131,8,0,0 +BRDA:131,8,1,0 +BRF:19 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/EditStorageItemModal.tsx +FN:17,EditStorageItemModal +FN:26,(anonymous_1) +FN:30,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,EditStorageItemModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:40,0 +LF:14 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/ExportModal.tsx +FN:12,ExportModal +FN:15,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,ExportModal +FNDA:0,(anonymous_1) +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:21,0 +LF:5 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:31,1,0,0 +BRDA:31,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/PresetModal.tsx +FN:12,PresetModal +FN:15,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,PresetModal +FNDA:0,(anonymous_1) +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:21,0 +LF:5 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:32,1,0,0 +BRDA:32,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/RenameTokenGroupModal.tsx +FN:24,RenameTokenGroupModal +FN:31,(anonymous_1) +FN:77,(anonymous_2) +FN:96,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,RenameTokenGroupModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:27,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:39,0 +DA:41,0 +DA:78,0 +DA:97,0 +LF:11 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRDA:32,1,0,0 +BRDA:32,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:68,3,0,0 +BRDA:68,3,1,0 +BRDA:68,3,2,0 +BRDA:72,4,0,0 +BRDA:72,4,1,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/app/components/modals/ResolveDuplicateTokensModal.tsx +FN:19,ResolveDuplicateTokensModal +FN:25,(anonymous_1) +FN:33,(anonymous_2) +FN:34,(anonymous_3) +FN:36,(anonymous_4) +FN:37,(anonymous_5) +FN:39,(anonymous_6) +FN:52,(anonymous_7) +FN:55,(anonymous_8) +FN:56,(anonymous_9) +FN:66,(anonymous_10) +FN:77,(anonymous_11) +FN:80,(anonymous_12) +FN:81,(anonymous_13) +FN:117,(anonymous_14) +FN:120,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,ResolveDuplicateTokensModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:93,0 +DA:117,0 +DA:121,0 +LF:41 +LH:0 +BRDA:38,0,0,0 +BRDA:38,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:117,2,0,0 +BRDA:117,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts +FN:27,(anonymous_0) +FN:36,(anonymous_1) +FN:48,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:23,0 +DA:28,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:37,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +LF:16 +LH:0 +BRDA:41,0,0,0 +BRDA:41,0,1,0 +BRDA:50,1,0,0 +BRDA:50,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/enhancers/undoableEnhancer/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts +FN:19,(anonymous_0) +FN:20,(anonymous_1) +FN:24,(anonymous_2) +FN:31,(anonymous_3) +FN:52,(anonymous_4) +FN:53,(anonymous_5) +FN:60,(anonymous_6) +FN:72,(anonymous_7) +FN:73,(anonymous_8) +FN:80,(anonymous_9) +FNF:10 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +DA:16,0 +DA:20,0 +DA:21,0 +DA:25,0 +DA:32,0 +DA:33,0 +DA:52,0 +DA:54,0 +DA:61,0 +DA:72,0 +DA:74,0 +DA:81,0 +LF:12 +LH:0 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:32,1,0,0 +BRDA:32,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/enhancers/undoableEnhancer/undoableEnhancer.ts +FN:13,(anonymous_0) +FN:13,(anonymous_1) +FN:14,(anonymous_2) +FN:15,(anonymous_3) +FN:26,(anonymous_4) +FN:33,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:43,0 +LF:20 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:28,3,0,0 +BRDA:28,3,1,0 +BRDA:32,4,0,0 +BRDA:32,4,1,0 +BRDA:36,5,0,0 +BRDA:36,5,1,0 +BRDA:37,6,0,0 +BRDA:37,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useActionsHistory.ts +FN:4,useActionsHistory +FN:7,(anonymous_1) +FN:11,(anonymous_2) +FN:16,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useActionsHistory +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:5,0 +DA:7,0 +DA:11,0 +DA:12,0 +DA:16,0 +DA:17,0 +DA:20,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useCanUndo.ts +FN:4,useCanUndo +FN:7,(anonymous_1) +FN:11,(anonymous_2) +FN:20,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useCanUndo +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:5,0 +DA:7,0 +DA:11,0 +DA:13,0 +DA:16,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:25,0 +LF:9 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useConfirm.tsx +FN:14,(anonymous_0) +FN:16,useConfirm +FN:20,(anonymous_2) +FN:43,(anonymous_3) +FN:48,(anonymous_4) +FN:52,(anonymous_5) +FN:57,(anonymous_6) +FN:62,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,useConfirm +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:14,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:30,0 +DA:32,0 +DA:43,0 +DA:44,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +LF:17 +LH:0 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useImportVariables.tsx +FN:7,useImportVariables +FN:12,(anonymous_1) +FN:30,(anonymous_2) +FN:35,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useImportVariables +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:41,0 +DA:42,0 +DA:52,0 +DA:54,0 +DA:58,0 +LF:21 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useIsGitMultiFileEnabled.ts +FN:6,useIsGitMultiFileEnabled +FN:10,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useIsGitMultiFileEnabled +FNDA:0,(anonymous_1) +DA:7,0 +DA:9,0 +DA:10,0 +LF:3 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:10,0,2,0 +BRDA:10,0,3,0 +BRDA:10,0,4,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useIsProUser.ts +FN:7,useIsProUser +FN:12,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useIsProUser +FNDA:0,(anonymous_1) +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +LF:5 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/usePropertiesForType.ts +FN:8,(anonymous_0) +FN:66,usePropertiesForTokenType +FN:71,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,usePropertiesForTokenType +FNDA:0,(anonymous_2) +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:50,0 +DA:51,0 +DA:54,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:75,0 +DA:91,0 +DA:93,0 +DA:109,0 +DA:111,0 +DA:127,0 +DA:129,0 +DA:130,0 +DA:132,0 +DA:133,0 +DA:135,0 +DA:145,0 +DA:148,0 +DA:149,0 +DA:154,0 +DA:159,0 +DA:222,0 +DA:223,0 +DA:228,0 +DA:230,0 +DA:233,0 +DA:235,0 +DA:236,0 +DA:241,0 +DA:243,0 +LF:38 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:68,2,0,0 +BRDA:68,2,1,0 +BRDA:68,3,0,0 +BRDA:68,3,1,0 +BRDA:68,3,2,0 +BRDA:73,4,0,0 +BRDA:73,4,1,0 +BRDA:73,4,2,0 +BRDA:73,4,3,0 +BRDA:73,4,4,0 +BRDA:73,4,5,0 +BRDA:73,4,6,0 +BRDA:73,4,7,0 +BRDA:73,4,8,0 +BRDA:73,4,9,0 +BRDA:148,5,0,0 +BRDA:148,5,1,0 +BRDA:222,6,0,0 +BRDA:222,6,1,0 +BRDA:235,7,0,0 +BRDA:235,7,1,0 +BRF:25 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/usePullDialog.tsx +FN:16,(anonymous_0) +FN:17,usePullDialog +FN:21,(anonymous_2) +FN:27,(anonymous_3) +FN:32,(anonymous_4) +FN:36,(anonymous_5) +FN:41,(anonymous_6) +FN:46,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,usePullDialog +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:46,0 +LF:18 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/usePushDialog.tsx +FN:22,(anonymous_0) +FN:23,usePushDialog +FN:27,(anonymous_2) +FN:33,(anonymous_3) +FN:38,(anonymous_4) +FN:42,(anonymous_5) +FN:47,(anonymous_6) +FN:52,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,usePushDialog +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:22,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:52,0 +LF:18 +LH:0 +BRDA:28,0,0,0 +BRDA:28,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useReferenceTokenType.ts +FN:4,useReferenceTokenType +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useReferenceTokenType +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +LF:12 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:6,0,2,0 +BRDA:6,0,3,0 +BRDA:6,0,4,0 +BRDA:6,0,5,0 +BRDA:6,0,6,0 +BRDA:6,0,7,0 +BRDA:6,0,8,0 +BRDA:6,0,9,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useStorageSizeWarning.tsx +FN:8,useStorageSizeWarning +FN:13,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useStorageSizeWarning +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:27,0 +DA:32,0 +DA:33,0 +LF:8 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/hooks/useTypeForProperty.ts +FN:5,useTypeForProperty +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useTypeForProperty +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +DA:10,0 +DA:18,0 +DA:23,0 +DA:26,0 +DA:31,0 +DA:33,0 +LF:8 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:7,0,2,0 +BRDA:7,0,3,0 +BRDA:7,0,4,0 +BRDA:7,0,5,0 +BRDA:7,0,6,0 +BRDA:7,0,7,0 +BRDA:7,0,8,0 +BRDA:7,0,9,0 +BRDA:7,0,10,0 +BRDA:7,0,11,0 +BRDA:7,0,12,0 +BRDA:7,0,13,0 +BRDA:7,0,14,0 +BRDA:7,0,15,0 +BRDA:7,0,16,0 +BRDA:7,0,17,0 +BRDA:7,0,18,0 +BRDA:7,0,19,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/app/preview/preview.tsx +FN:96,(anonymous_0) +FN:106,(anonymous_1) +FN:112,(anonymous_2) +FN:127,(anonymous_3) +FN:188,(anonymous_4) +FN:201,(anonymous_5) +FN:204,(anonymous_6) +FN:209,(anonymous_7) +FN:287,PreviewApp +FN:299,(anonymous_9) +FN:315,(anonymous_10) +FN:323,(anonymous_11) +FN:323,(anonymous_12) +FN:327,(anonymous_13) +FN:327,(anonymous_14) +FN:343,(anonymous_15) +FN:382,(anonymous_16) +FN:407,(anonymous_17) +FNF:18 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,PreviewApp +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +DA:35,0 +DA:37,0 +DA:44,0 +DA:58,0 +DA:90,0 +DA:96,0 +DA:97,0 +DA:102,0 +DA:103,0 +DA:106,0 +DA:107,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:118,0 +DA:120,0 +DA:123,0 +DA:125,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:132,0 +DA:135,0 +DA:188,0 +DA:189,0 +DA:201,0 +DA:204,0 +DA:205,0 +DA:209,0 +DA:210,0 +DA:212,0 +DA:214,0 +DA:281,0 +DA:288,0 +DA:289,0 +DA:290,0 +DA:291,0 +DA:292,0 +DA:297,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:307,0 +DA:308,0 +DA:310,0 +DA:311,0 +DA:315,0 +DA:316,0 +DA:317,0 +DA:323,0 +DA:324,0 +DA:326,0 +DA:327,0 +DA:328,0 +DA:329,0 +DA:331,0 +DA:332,0 +DA:333,0 +DA:334,0 +DA:343,0 +DA:344,0 +DA:351,0 +DA:383,0 +DA:408,0 +DA:441,0 +LF:72 +LH:0 +BRDA:107,0,0,0 +BRDA:107,0,1,0 +BRDA:110,1,0,0 +BRDA:110,1,1,0 +BRDA:115,2,0,0 +BRDA:115,2,1,0 +BRDA:159,3,0,0 +BRDA:159,3,1,0 +BRDA:173,4,0,0 +BRDA:173,4,1,0 +BRDA:173,5,0,0 +BRDA:173,5,1,0 +BRDA:179,6,0,0 +BRDA:179,6,1,0 +BRDA:202,7,0,0 +BRDA:202,8,0,0 +BRDA:202,9,0,0 +BRDA:239,10,0,0 +BRDA:239,10,1,0 +BRDA:245,11,0,0 +BRDA:245,11,1,0 +BRDA:259,12,0,0 +BRDA:259,12,1,0 +BRDA:300,13,0,0 +BRDA:300,13,1,0 +BRDA:301,14,0,0 +BRDA:301,14,1,0 +BRDA:303,15,0,0 +BRDA:303,15,1,0 +BRDA:307,16,0,0 +BRDA:307,16,1,0 +BRDA:310,17,0,0 +BRDA:310,17,1,0 +BRDA:316,18,0,0 +BRDA:316,18,1,0 +BRDA:316,19,0,0 +BRDA:316,19,1,0 +BRDA:328,20,0,0 +BRDA:328,20,1,0 +BRDA:331,21,0,0 +BRDA:331,21,1,0 +BRDA:332,22,0,0 +BRDA:332,22,1,0 +BRDA:335,23,0,0 +BRDA:335,23,1,0 +BRDA:366,24,0,0 +BRDA:366,24,1,0 +BRDA:429,25,0,0 +BRDA:429,25,1,0 +BRDA:430,26,0,0 +BRDA:430,26,1,0 +BRDA:434,27,0,0 +BRDA:434,27,1,0 +BRDA:435,28,0,0 +BRDA:435,28,1,0 +BRDA:446,29,0,0 +BRDA:446,29,1,0 +BRDA:450,30,0,0 +BRDA:450,30,1,0 +BRDA:451,31,0,0 +BRDA:451,31,1,0 +BRDA:452,32,0,0 +BRDA:452,32,1,0 +BRF:63 +BRH:0 +end_of_record +TN: +SF:src/app/preview/previewUtils.ts +FN:1,(anonymous_0) +FN:10,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:7,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:39,0 +DA:42,0 +DA:43,0 +LF:24 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:3,1,0,0 +BRDA:3,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRDA:14,3,0,0 +BRDA:14,3,1,0 +BRDA:14,3,2,0 +BRDA:14,3,3,0 +BRDA:16,4,0,0 +BRDA:16,4,1,0 +BRDA:23,5,0,0 +BRDA:23,5,1,0 +BRDA:31,6,0,0 +BRDA:31,6,1,0 +BRDA:31,7,0,0 +BRDA:31,7,1,0 +BRDA:33,8,0,0 +BRDA:33,8,1,0 +BRDA:33,9,0,0 +BRDA:33,9,1,0 +BRDA:42,10,0,0 +BRDA:42,10,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/preview/usePreviewState.tsx +FN:5,(anonymous_0) +FN:29,usePreviewState +FN:32,(anonymous_2) +FN:33,(anonymous_3) +FN:35,(anonymous_4) +FN:43,(anonymous_5) +FN:49,(anonymous_6) +FN:51,(anonymous_7) +FN:53,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,usePreviewState +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:47,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:60,0 +DA:63,0 +LF:28 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:9,2,0,0 +BRDA:9,2,1,0 +BRDA:36,3,0,0 +BRDA:36,3,1,0 +BRDA:42,4,0,0 +BRDA:42,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:56,6,0,0 +BRDA:56,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/app/store/remoteTokens.tsx +FN:49,useRemoteTokens +FN:107,(anonymous_1) +FN:227,(anonymous_2) +FN:228,(anonymous_3) +FN:256,(anonymous_4) +FN:298,(anonymous_5) +FN:364,(anonymous_6) +FN:398,(anonymous_7) +FN:433,(anonymous_8) +FN:536,(anonymous_9) +FN:564,(anonymous_10) +FN:581,(anonymous_11) +FN:589,(anonymous_12) +FN:628,(anonymous_13) +FN:670,(anonymous_14) +FNF:15 +FNH:0 +FNDA:0,useRemoteTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:68,0 +DA:77,0 +DA:85,0 +DA:88,0 +DA:94,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:106,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:119,0 +DA:120,0 +DA:123,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:131,0 +DA:132,0 +DA:135,0 +DA:136,0 +DA:139,0 +DA:140,0 +DA:143,0 +DA:144,0 +DA:147,0 +DA:148,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:156,0 +DA:158,0 +DA:159,0 +DA:164,0 +DA:165,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:184,0 +DA:186,0 +DA:187,0 +DA:189,0 +DA:192,0 +DA:195,0 +DA:199,0 +DA:202,0 +DA:205,0 +DA:209,0 +DA:212,0 +DA:215,0 +DA:218,0 +DA:219,0 +DA:222,0 +DA:224,0 +DA:226,0 +DA:228,0 +DA:229,0 +DA:231,0 +DA:235,0 +DA:236,0 +DA:244,0 +DA:246,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:257,0 +DA:258,0 +DA:259,0 +DA:267,0 +DA:270,0 +DA:273,0 +DA:274,0 +DA:275,0 +DA:297,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:305,0 +DA:307,0 +DA:308,0 +DA:311,0 +DA:312,0 +DA:315,0 +DA:316,0 +DA:319,0 +DA:320,0 +DA:323,0 +DA:324,0 +DA:327,0 +DA:328,0 +DA:329,0 +DA:332,0 +DA:334,0 +DA:335,0 +DA:340,0 +DA:341,0 +DA:345,0 +DA:363,0 +DA:365,0 +DA:367,0 +DA:369,0 +DA:370,0 +DA:373,0 +DA:374,0 +DA:377,0 +DA:378,0 +DA:381,0 +DA:382,0 +DA:385,0 +DA:386,0 +DA:389,0 +DA:390,0 +DA:393,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:398,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:410,0 +DA:413,0 +DA:415,0 +DA:416,0 +DA:432,0 +DA:434,0 +DA:435,0 +DA:437,0 +DA:438,0 +DA:440,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:447,0 +DA:452,0 +DA:455,0 +DA:456,0 +DA:458,0 +DA:459,0 +DA:460,0 +DA:461,0 +DA:466,0 +DA:469,0 +DA:470,0 +DA:473,0 +DA:474,0 +DA:477,0 +DA:478,0 +DA:481,0 +DA:482,0 +DA:485,0 +DA:486,0 +DA:489,0 +DA:490,0 +DA:493,0 +DA:494,0 +DA:497,0 +DA:499,0 +DA:500,0 +DA:505,0 +DA:506,0 +DA:507,0 +DA:508,0 +DA:509,0 +DA:513,0 +DA:535,0 +DA:537,0 +DA:538,0 +DA:540,0 +DA:541,0 +DA:544,0 +DA:545,0 +DA:548,0 +DA:549,0 +DA:552,0 +DA:553,0 +DA:556,0 +DA:558,0 +DA:563,0 +DA:565,0 +DA:567,0 +DA:569,0 +DA:571,0 +DA:573,0 +DA:575,0 +DA:581,0 +DA:582,0 +DA:588,0 +DA:598,0 +DA:599,0 +DA:601,0 +DA:602,0 +DA:603,0 +DA:604,0 +DA:608,0 +DA:614,0 +DA:619,0 +DA:620,0 +DA:622,0 +DA:627,0 +DA:629,0 +DA:630,0 +DA:632,0 +DA:633,0 +DA:636,0 +DA:637,0 +DA:640,0 +DA:641,0 +DA:644,0 +DA:645,0 +DA:648,0 +DA:649,0 +DA:652,0 +DA:653,0 +DA:656,0 +DA:657,0 +DA:660,0 +DA:661,0 +DA:663,0 +DA:664,0 +DA:669,0 +DA:670,0 +LF:242 +LH:0 +BRDA:108,0,0,0 +BRDA:113,1,0,0 +BRDA:117,2,0,0 +BRDA:117,2,1,0 +BRDA:117,2,2,0 +BRDA:117,2,3,0 +BRDA:117,2,4,0 +BRDA:117,2,5,0 +BRDA:117,2,6,0 +BRDA:117,2,7,0 +BRDA:117,2,8,0 +BRDA:117,2,9,0 +BRDA:158,3,0,0 +BRDA:158,3,1,0 +BRDA:171,4,0,0 +BRDA:171,4,1,0 +BRDA:172,5,0,0 +BRDA:172,5,1,0 +BRDA:177,6,0,0 +BRDA:177,6,1,0 +BRDA:177,7,0,0 +BRDA:177,7,1,0 +BRDA:177,7,2,0 +BRDA:179,8,0,0 +BRDA:179,8,1,0 +BRDA:186,9,0,0 +BRDA:186,9,1,0 +BRDA:186,10,0,0 +BRDA:186,10,1,0 +BRDA:187,11,0,0 +BRDA:187,11,1,0 +BRDA:187,11,2,0 +BRDA:187,11,3,0 +BRDA:187,11,4,0 +BRDA:187,11,5,0 +BRDA:187,11,6,0 +BRDA:187,11,7,0 +BRDA:187,11,8,0 +BRDA:197,12,0,0 +BRDA:197,12,1,0 +BRDA:207,13,0,0 +BRDA:207,13,1,0 +BRDA:218,14,0,0 +BRDA:218,14,1,0 +BRDA:224,15,0,0 +BRDA:224,15,1,0 +BRDA:226,16,0,0 +BRDA:226,16,1,0 +BRDA:228,17,0,0 +BRDA:228,17,1,0 +BRDA:235,18,0,0 +BRDA:235,18,1,0 +BRDA:235,19,0,0 +BRDA:235,19,1,0 +BRDA:240,20,0,0 +BRDA:240,20,1,0 +BRDA:244,21,0,0 +BRDA:244,21,1,0 +BRDA:254,22,0,0 +BRDA:254,22,1,0 +BRDA:305,23,0,0 +BRDA:305,23,1,0 +BRDA:305,23,2,0 +BRDA:305,23,3,0 +BRDA:305,23,4,0 +BRDA:305,23,5,0 +BRDA:305,23,6,0 +BRDA:334,24,0,0 +BRDA:334,24,1,0 +BRDA:340,25,0,0 +BRDA:340,25,1,0 +BRDA:364,26,0,0 +BRDA:364,27,0,0 +BRDA:365,28,0,0 +BRDA:365,28,1,0 +BRDA:367,29,0,0 +BRDA:367,29,1,0 +BRDA:367,29,2,0 +BRDA:367,29,3,0 +BRDA:367,29,4,0 +BRDA:367,29,5,0 +BRDA:367,29,6,0 +BRDA:396,30,0,0 +BRDA:396,30,1,0 +BRDA:415,31,0,0 +BRDA:415,31,1,0 +BRDA:415,32,0,0 +BRDA:415,32,1,0 +BRDA:435,33,0,0 +BRDA:435,33,1,0 +BRDA:435,33,2,0 +BRDA:435,33,3,0 +BRDA:435,33,4,0 +BRDA:435,33,5,0 +BRDA:435,33,6,0 +BRDA:435,33,7,0 +BRDA:435,33,8,0 +BRDA:435,33,9,0 +BRDA:437,34,0,0 +BRDA:437,34,1,0 +BRDA:441,35,0,0 +BRDA:441,35,1,0 +BRDA:455,36,0,0 +BRDA:455,36,1,0 +BRDA:459,37,0,0 +BRDA:459,37,1,0 +BRDA:499,38,0,0 +BRDA:499,38,1,0 +BRDA:505,39,0,0 +BRDA:505,39,1,0 +BRDA:538,40,0,0 +BRDA:538,40,1,0 +BRDA:538,40,2,0 +BRDA:538,40,3,0 +BRDA:538,40,4,0 +BRDA:565,41,0,0 +BRDA:565,41,1,0 +BRDA:565,41,2,0 +BRDA:565,41,3,0 +BRDA:565,41,4,0 +BRDA:601,42,0,0 +BRDA:601,42,1,0 +BRDA:603,43,0,0 +BRDA:603,43,1,0 +BRDA:606,44,0,0 +BRDA:606,44,1,0 +BRDA:611,45,0,0 +BRDA:611,45,1,0 +BRDA:612,46,0,0 +BRDA:612,46,1,0 +BRDA:628,47,0,0 +BRDA:630,48,0,0 +BRDA:630,48,1,0 +BRDA:630,48,2,0 +BRDA:630,48,3,0 +BRDA:630,48,4,0 +BRDA:630,48,5,0 +BRDA:630,48,6,0 +BRDA:630,48,7,0 +BRF:139 +BRH:0 +end_of_record +TN: +SF:src/app/store/updateSources.tsx +FN:55,updateRemoteTokens +FN:67,(anonymous_1) +FN:129,updateTokensOnSources +FN:212,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,updateRemoteTokens +FNDA:0,(anonymous_1) +FNDA:0,updateTokensOnSources +FNDA:0,(anonymous_3) +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:82,0 +DA:86,0 +DA:89,0 +DA:90,0 +DA:100,0 +DA:104,0 +DA:107,0 +DA:110,0 +DA:113,0 +DA:116,0 +DA:119,0 +DA:122,0 +DA:125,0 +DA:152,0 +DA:153,0 +DA:165,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:177,0 +DA:182,0 +DA:187,0 +DA:191,0 +DA:195,0 +DA:213,0 +DA:214,0 +DA:215,0 +LF:36 +LH:0 +BRDA:65,0,0,0 +BRDA:65,0,1,0 +BRDA:70,1,0,0 +BRDA:70,1,1,0 +BRDA:70,1,2,0 +BRDA:70,1,3,0 +BRDA:70,1,4,0 +BRDA:70,1,5,0 +BRDA:70,1,6,0 +BRDA:70,1,7,0 +BRDA:70,1,8,0 +BRDA:137,2,0,0 +BRDA:152,3,0,0 +BRDA:152,3,1,0 +BRDA:152,4,0,0 +BRDA:152,4,1,0 +BRDA:152,4,2,0 +BRDA:152,4,3,0 +BRDA:165,5,0,0 +BRDA:165,5,1,0 +BRDA:172,6,0,0 +BRDA:172,6,1,0 +BRDA:213,7,0,0 +BRDA:213,7,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/store/useManageTokens.tsx +FN:55,useManageTokens +FN:64,(anonymous_1) +FN:94,(anonymous_2) +FN:124,(anonymous_3) +FN:133,(anonymous_4) +FN:163,(anonymous_5) +FN:181,(anonymous_6) +FN:194,(anonymous_7) +FN:202,(anonymous_8) +FN:210,(anonymous_9) +FN:211,(anonymous_10) +FN:220,(anonymous_11) +FN:230,(anonymous_12) +FN:236,(anonymous_13) +FN:237,(anonymous_14) +FN:255,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,useManageTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:64,0 +DA:67,0 +DA:68,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:94,0 +DA:97,0 +DA:98,0 +DA:103,0 +DA:106,0 +DA:107,0 +DA:110,0 +DA:111,0 +DA:121,0 +DA:124,0 +DA:125,0 +DA:129,0 +DA:130,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:141,0 +DA:148,0 +DA:149,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:163,0 +DA:164,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:176,0 +DA:177,0 +DA:181,0 +DA:182,0 +DA:189,0 +DA:190,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:198,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:220,0 +DA:221,0 +DA:223,0 +DA:224,0 +DA:227,0 +DA:230,0 +DA:231,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:240,0 +DA:241,0 +DA:243,0 +DA:244,0 +DA:247,0 +DA:248,0 +DA:251,0 +DA:255,0 +LF:85 +LH:0 +BRDA:66,0,0,0 +BRDA:75,1,0,0 +BRDA:75,1,1,0 +BRDA:86,2,0,0 +BRDA:86,2,1,0 +BRDA:96,3,0,0 +BRDA:106,4,0,0 +BRDA:106,4,1,0 +BRDA:110,5,0,0 +BRDA:110,5,1,0 +BRDA:135,6,0,0 +BRDA:135,6,1,0 +BRDA:135,7,0,0 +BRDA:135,7,1,0 +BRDA:135,7,2,0 +BRDA:148,8,0,0 +BRDA:148,8,1,0 +BRDA:154,9,0,0 +BRDA:154,9,1,0 +BRDA:154,10,0,0 +BRDA:154,10,1,0 +BRDA:170,11,0,0 +BRDA:170,11,1,0 +BRDA:189,12,0,0 +BRDA:189,12,1,0 +BRDA:208,13,0,0 +BRDA:208,13,1,0 +BRDA:210,14,0,0 +BRDA:210,14,1,0 +BRDA:240,15,0,0 +BRDA:240,15,1,0 +BRDA:241,16,0,0 +BRDA:241,16,1,0 +BRDA:243,17,0,0 +BRDA:243,17,1,0 +BRDA:247,18,0,0 +BRDA:247,18,1,0 +BRF:37 +BRH:0 +end_of_record +TN: +SF:src/app/store/useStorage.tsx +FN:13,useStorage +FN:16,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useStorage +FNDA:0,(anonymous_1) +DA:14,0 +DA:16,0 +DA:20,0 +DA:21,0 +DA:26,0 +DA:29,0 +LF:6 +LH:0 +BRDA:18,0,0,0 +BRDA:20,1,0,0 +BRDA:20,1,1,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/app/store/useTokens.tsx +FN:60,useTokens +FN:71,(anonymous_1) +FN:84,(anonymous_2) +FN:84,(anonymous_3) +FN:90,(anonymous_4) +FN:96,(anonymous_5) +FN:126,(anonymous_6) +FN:134,(anonymous_7) +FN:142,(anonymous_8) +FN:149,(anonymous_9) +FN:162,(anonymous_10) +FN:192,(anonymous_11) +FN:197,(anonymous_12) +FN:207,(anonymous_13) +FN:210,(anonymous_14) +FN:224,(anonymous_15) +FN:227,(anonymous_16) +FN:239,(anonymous_17) +FN:242,(anonymous_18) +FN:253,(anonymous_19) +FN:300,(anonymous_20) +FN:303,(anonymous_21) +FN:311,(anonymous_22) +FN:332,(anonymous_23) +FN:333,(anonymous_24) +FN:353,(anonymous_25) +FN:363,(anonymous_26) +FN:364,(anonymous_27) +FN:371,(anonymous_28) +FN:380,(anonymous_29) +FN:383,(anonymous_30) +FN:388,(anonymous_31) +FN:395,(anonymous_32) +FN:422,(anonymous_33) +FN:437,(anonymous_34) +FN:439,(anonymous_35) +FN:449,(anonymous_36) +FN:460,(anonymous_37) +FN:463,(anonymous_38) +FN:468,(anonymous_39) +FN:469,(anonymous_40) +FN:478,(anonymous_41) +FN:529,(anonymous_42) +FN:544,(anonymous_43) +FN:558,(anonymous_44) +FN:562,(anonymous_45) +FN:563,(anonymous_46) +FN:579,(anonymous_47) +FN:580,(anonymous_48) +FN:581,(anonymous_49) +FN:605,(anonymous_50) +FN:614,(anonymous_51) +FN:621,(anonymous_52) +FN:632,(anonymous_53) +FN:647,(anonymous_54) +FN:665,(anonymous_55) +FN:679,(anonymous_56) +FN:694,(anonymous_57) +FN:712,(anonymous_58) +FN:727,(anonymous_59) +FN:730,(anonymous_60) +FN:745,(anonymous_61) +FN:748,(anonymous_62) +FN:755,(anonymous_63) +FNF:64 +FNH:0 +FNDA:0,useTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +FNDA:0,(anonymous_58) +FNDA:0,(anonymous_59) +FNDA:0,(anonymous_60) +FNDA:0,(anonymous_61) +FNDA:0,(anonymous_62) +FNDA:0,(anonymous_63) +DA:53,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:80,0 +DA:83,0 +DA:84,0 +DA:89,0 +DA:90,0 +DA:95,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:125,0 +DA:126,0 +DA:133,0 +DA:135,0 +DA:136,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:150,0 +DA:152,0 +DA:157,0 +DA:162,0 +DA:163,0 +DA:174,0 +DA:175,0 +DA:181,0 +DA:192,0 +DA:197,0 +DA:198,0 +DA:200,0 +DA:206,0 +DA:208,0 +DA:210,0 +DA:223,0 +DA:225,0 +DA:227,0 +DA:238,0 +DA:240,0 +DA:242,0 +DA:252,0 +DA:265,0 +DA:297,0 +DA:298,0 +DA:300,0 +DA:302,0 +DA:303,0 +DA:305,0 +DA:307,0 +DA:308,0 +DA:309,0 +DA:310,0 +DA:311,0 +DA:312,0 +DA:313,0 +DA:318,0 +DA:321,0 +DA:325,0 +DA:328,0 +DA:329,0 +DA:330,0 +DA:331,0 +DA:332,0 +DA:333,0 +DA:338,0 +DA:344,0 +DA:352,0 +DA:354,0 +DA:355,0 +DA:357,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:366,0 +DA:367,0 +DA:368,0 +DA:371,0 +DA:372,0 +DA:373,0 +DA:376,0 +DA:378,0 +DA:379,0 +DA:380,0 +DA:383,0 +DA:384,0 +DA:388,0 +DA:389,0 +DA:390,0 +DA:392,0 +DA:395,0 +DA:402,0 +DA:416,0 +DA:421,0 +DA:423,0 +DA:424,0 +DA:426,0 +DA:431,0 +DA:433,0 +DA:435,0 +DA:437,0 +DA:438,0 +DA:439,0 +DA:440,0 +DA:441,0 +DA:445,0 +DA:448,0 +DA:449,0 +DA:451,0 +DA:452,0 +DA:453,0 +DA:455,0 +DA:456,0 +DA:457,0 +DA:459,0 +DA:460,0 +DA:463,0 +DA:464,0 +DA:468,0 +DA:469,0 +DA:470,0 +DA:473,0 +DA:476,0 +DA:478,0 +DA:486,0 +DA:488,0 +DA:490,0 +DA:495,0 +DA:509,0 +DA:510,0 +DA:514,0 +DA:518,0 +DA:519,0 +DA:523,0 +DA:528,0 +DA:530,0 +DA:532,0 +DA:538,0 +DA:543,0 +DA:545,0 +DA:547,0 +DA:552,0 +DA:557,0 +DA:559,0 +DA:560,0 +DA:561,0 +DA:562,0 +DA:563,0 +DA:568,0 +DA:570,0 +DA:579,0 +DA:580,0 +DA:581,0 +DA:582,0 +DA:585,0 +DA:587,0 +DA:588,0 +DA:590,0 +DA:591,0 +DA:592,0 +DA:595,0 +DA:596,0 +DA:598,0 +DA:599,0 +DA:602,0 +DA:605,0 +DA:606,0 +DA:610,0 +DA:611,0 +DA:615,0 +DA:616,0 +DA:617,0 +DA:621,0 +DA:627,0 +DA:628,0 +DA:631,0 +DA:633,0 +DA:638,0 +DA:640,0 +DA:644,0 +DA:648,0 +DA:649,0 +DA:650,0 +DA:661,0 +DA:665,0 +DA:672,0 +DA:673,0 +DA:678,0 +DA:680,0 +DA:685,0 +DA:687,0 +DA:691,0 +DA:695,0 +DA:696,0 +DA:697,0 +DA:708,0 +DA:712,0 +DA:719,0 +DA:720,0 +DA:721,0 +DA:726,0 +DA:728,0 +DA:730,0 +DA:740,0 +DA:745,0 +DA:746,0 +DA:748,0 +DA:754,0 +DA:755,0 +LF:221 +LH:0 +BRDA:98,0,0,0 +BRDA:99,1,0,0 +BRDA:100,2,0,0 +BRDA:101,3,0,0 +BRDA:102,4,0,0 +BRDA:103,5,0,0 +BRDA:105,6,0,0 +BRDA:105,6,1,0 +BRDA:144,7,0,0 +BRDA:144,7,1,0 +BRDA:150,8,0,0 +BRDA:150,8,1,0 +BRDA:150,9,0,0 +BRDA:150,9,1,0 +BRDA:174,10,0,0 +BRDA:174,10,1,0 +BRDA:174,11,0,0 +BRDA:174,11,1,0 +BRDA:174,11,2,0 +BRDA:224,12,0,0 +BRDA:246,13,0,0 +BRDA:246,13,1,0 +BRDA:297,14,0,0 +BRDA:297,14,1,0 +BRDA:297,15,0,0 +BRDA:297,15,1,0 +BRDA:298,16,0,0 +BRDA:298,16,1,0 +BRDA:299,17,0,0 +BRDA:299,17,1,0 +BRDA:307,18,0,0 +BRDA:307,18,1,0 +BRDA:309,19,0,0 +BRDA:309,19,1,0 +BRDA:312,20,0,0 +BRDA:312,20,1,0 +BRDA:312,21,0,0 +BRDA:312,21,1,0 +BRDA:328,22,0,0 +BRDA:328,22,1,0 +BRDA:330,23,0,0 +BRDA:330,23,1,0 +BRDA:332,24,0,0 +BRDA:332,24,1,0 +BRDA:354,25,0,0 +BRDA:354,25,1,0 +BRDA:354,25,2,0 +BRDA:354,25,3,0 +BRDA:355,26,0,0 +BRDA:355,26,1,0 +BRDA:366,27,0,0 +BRDA:366,27,1,0 +BRDA:380,28,0,0 +BRDA:380,28,1,0 +BRDA:385,29,0,0 +BRDA:385,29,1,0 +BRDA:386,30,0,0 +BRDA:386,30,1,0 +BRDA:387,31,0,0 +BRDA:387,31,1,0 +BRDA:389,32,0,0 +BRDA:389,32,1,0 +BRDA:423,33,0,0 +BRDA:423,33,1,0 +BRDA:423,33,2,0 +BRDA:423,33,3,0 +BRDA:424,34,0,0 +BRDA:424,34,1,0 +BRDA:438,35,0,0 +BRDA:438,35,1,0 +BRDA:440,36,0,0 +BRDA:440,36,1,0 +BRDA:440,37,0,0 +BRDA:440,37,1,0 +BRDA:451,38,0,0 +BRDA:451,38,1,0 +BRDA:455,39,0,0 +BRDA:455,39,1,0 +BRDA:460,40,0,0 +BRDA:460,40,1,0 +BRDA:465,41,0,0 +BRDA:465,41,1,0 +BRDA:466,42,0,0 +BRDA:466,42,1,0 +BRDA:467,43,0,0 +BRDA:467,43,1,0 +BRDA:469,44,0,0 +BRDA:469,44,1,0 +BRDA:469,45,0,0 +BRDA:469,45,1,0 +BRDA:509,46,0,0 +BRDA:509,46,1,0 +BRDA:518,47,0,0 +BRDA:518,47,1,0 +BRDA:582,48,0,0 +BRDA:582,48,1,0 +BRDA:585,49,0,0 +BRDA:585,49,1,0 +BRDA:585,50,0,0 +BRDA:585,50,1,0 +BRDA:585,51,0,0 +BRDA:585,51,1,0 +BRDA:590,52,0,0 +BRDA:590,52,1,0 +BRDA:590,53,0,0 +BRDA:590,53,1,0 +BRDA:591,54,0,0 +BRDA:591,54,1,0 +BRDA:616,55,0,0 +BRDA:616,55,1,0 +BRDA:633,56,0,0 +BRDA:633,56,1,0 +BRDA:633,56,2,0 +BRDA:633,56,3,0 +BRDA:633,56,4,0 +BRDA:638,57,0,0 +BRDA:638,57,1,0 +BRDA:649,58,0,0 +BRDA:649,58,1,0 +BRDA:680,59,0,0 +BRDA:680,59,1,0 +BRDA:680,59,2,0 +BRDA:680,59,3,0 +BRDA:680,59,4,0 +BRDA:685,60,0,0 +BRDA:685,60,1,0 +BRDA:696,61,0,0 +BRDA:696,61,1,0 +BRF:128 +BRH:0 +end_of_record +TN: +SF:src/app/store/middlewares/index.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/middlewares/tokenState.ts +FN:16,(anonymous_0) +FN:16,(anonymous_1) +FN:16,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:25,0 +LF:7 +LH:0 +BRDA:21,0,0,0 +BRDA:21,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/branchState.tsx +FN:13,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:8,0 +DA:13,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/index.tsx +FNF:0 +FNH:0 +DA:9,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/inspectState.tsx +FN:17,(anonymous_0) +FN:21,(anonymous_1) +FN:24,(anonymous_2) +FN:27,(anonymous_3) +FN:31,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:10,0 +DA:17,0 +DA:21,0 +DA:24,0 +DA:27,0 +DA:31,0 +LF:6 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/settings.tsx +FN:58,(anonymous_0) +FN:100,(anonymous_1) +FN:111,(anonymous_2) +FN:117,(anonymous_3) +FN:123,(anonymous_4) +FN:133,(anonymous_5) +FN:144,(anonymous_6) +FN:158,(anonymous_7) +FN:164,(anonymous_8) +FN:170,(anonymous_9) +FN:174,(anonymous_10) +FN:180,(anonymous_11) +FN:186,(anonymous_12) +FN:192,(anonymous_13) +FN:198,(anonymous_14) +FN:204,(anonymous_15) +FN:210,(anonymous_16) +FN:216,(anonymous_17) +FN:223,(anonymous_18) +FN:224,(anonymous_19) +FN:228,(anonymous_20) +FN:235,(anonymous_21) +FN:242,(anonymous_22) +FN:245,(anonymous_23) +FN:248,(anonymous_24) +FN:251,(anonymous_25) +FN:254,(anonymous_26) +FN:257,(anonymous_27) +FN:260,(anonymous_28) +FN:263,(anonymous_29) +FN:266,(anonymous_30) +FN:269,(anonymous_31) +FN:272,(anonymous_32) +FN:275,(anonymous_33) +FN:279,(anonymous_34) +FNF:35 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +DA:58,0 +DA:59,0 +DA:65,0 +DA:101,0 +DA:103,0 +DA:106,0 +DA:112,0 +DA:118,0 +DA:124,0 +DA:134,0 +DA:135,0 +DA:146,0 +DA:148,0 +DA:150,0 +DA:153,0 +DA:159,0 +DA:165,0 +DA:171,0 +DA:172,0 +DA:175,0 +DA:181,0 +DA:187,0 +DA:193,0 +DA:199,0 +DA:205,0 +DA:211,0 +DA:217,0 +DA:223,0 +DA:225,0 +DA:226,0 +DA:229,0 +DA:236,0 +DA:243,0 +DA:246,0 +DA:249,0 +DA:252,0 +DA:255,0 +DA:258,0 +DA:261,0 +DA:264,0 +DA:267,0 +DA:270,0 +DA:273,0 +DA:276,0 +DA:280,0 +LF:45 +LH:0 +BRDA:101,0,0,0 +BRDA:101,0,1,0 +BRDA:127,1,0,0 +BRDA:127,1,1,0 +BRDA:148,2,0,0 +BRDA:148,2,1,0 +BRDA:238,3,0,0 +BRDA:238,3,1,0 +BRDA:239,4,0,0 +BRDA:239,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/tokenState.tsx +FN:112,(anonymous_0) +FN:136,(anonymous_1) +FN:140,(anonymous_2) +FN:144,(anonymous_3) +FN:148,(anonymous_4) +FN:154,(anonymous_5) +FN:162,(anonymous_6) +FN:166,(anonymous_7) +FN:170,(anonymous_8) +FN:174,(anonymous_9) +FN:181,(anonymous_10) +FN:189,(anonymous_11) +FN:197,(anonymous_12) +FN:201,(anonymous_13) +FN:201,(anonymous_14) +FN:202,(anonymous_15) +FN:206,(anonymous_16) +FN:208,(anonymous_17) +FN:216,(anonymous_18) +FN:220,(anonymous_19) +FN:227,(anonymous_20) +FN:239,(anonymous_21) +FN:245,(anonymous_22) +FN:249,(anonymous_23) +FN:252,(anonymous_24) +FN:267,(anonymous_25) +FN:270,(anonymous_26) +FN:274,(anonymous_27) +FN:285,(anonymous_28) +FN:288,(anonymous_29) +FN:289,(anonymous_30) +FN:304,(anonymous_31) +FN:306,(anonymous_32) +FN:308,(anonymous_33) +FN:329,(anonymous_34) +FN:356,(anonymous_35) +FN:363,(anonymous_36) +FN:364,(anonymous_37) +FN:372,(anonymous_38) +FN:373,(anonymous_39) +FN:408,(anonymous_40) +FN:414,(anonymous_41) +FN:415,(anonymous_42) +FN:418,(anonymous_43) +FN:449,(anonymous_44) +FN:451,(anonymous_45) +FN:465,(anonymous_46) +FN:470,(anonymous_47) +FN:476,(anonymous_48) +FN:484,(anonymous_49) +FN:495,(anonymous_50) +FN:501,(anonymous_51) +FN:507,(anonymous_52) +FN:515,(anonymous_53) +FN:520,(anonymous_54) +FN:542,(anonymous_55) +FN:547,(anonymous_56) +FN:549,(anonymous_57) +FN:558,(anonymous_58) +FN:572,(anonymous_59) +FN:576,(anonymous_60) +FN:580,(anonymous_61) +FN:584,(anonymous_62) +FN:588,(anonymous_63) +FN:592,(anonymous_64) +FN:605,(anonymous_65) +FN:613,(anonymous_66) +FN:617,(anonymous_67) +FN:621,(anonymous_68) +FN:626,(anonymous_69) +FN:628,(anonymous_70) +FN:648,(anonymous_71) +FN:652,(anonymous_72) +FN:653,(anonymous_73) +FN:678,(anonymous_74) +FN:685,(anonymous_75) +FN:686,(anonymous_76) +FN:698,(anonymous_77) +FN:724,(anonymous_78) +FN:730,(anonymous_79) +FN:744,(anonymous_80) +FN:747,(anonymous_81) +FN:750,(anonymous_82) +FN:761,(anonymous_83) +FN:764,(anonymous_84) +FN:767,(anonymous_85) +FN:778,(anonymous_86) +FN:789,(anonymous_87) +FN:796,(anonymous_88) +FN:803,(anonymous_89) +FN:811,(anonymous_90) +FN:814,(anonymous_91) +FN:817,(anonymous_92) +FN:820,(anonymous_93) +FN:830,(anonymous_94) +FN:840,(anonymous_95) +FN:843,(anonymous_96) +FN:850,(anonymous_97) +FN:851,(anonymous_98) +FN:858,(anonymous_99) +FN:863,(anonymous_100) +FN:868,(anonymous_101) +FN:889,(anonymous_102) +FN:892,(anonymous_103) +FN:904,(anonymous_104) +FN:946,(anonymous_105) +FN:964,(anonymous_106) +FNF:107 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +FNDA:0,(anonymous_58) +FNDA:0,(anonymous_59) +FNDA:0,(anonymous_60) +FNDA:0,(anonymous_61) +FNDA:0,(anonymous_62) +FNDA:0,(anonymous_63) +FNDA:0,(anonymous_64) +FNDA:0,(anonymous_65) +FNDA:0,(anonymous_66) +FNDA:0,(anonymous_67) +FNDA:0,(anonymous_68) +FNDA:0,(anonymous_69) +FNDA:0,(anonymous_70) +FNDA:0,(anonymous_71) +FNDA:0,(anonymous_72) +FNDA:0,(anonymous_73) +FNDA:0,(anonymous_74) +FNDA:0,(anonymous_75) +FNDA:0,(anonymous_76) +FNDA:0,(anonymous_77) +FNDA:0,(anonymous_78) +FNDA:0,(anonymous_79) +FNDA:0,(anonymous_80) +FNDA:0,(anonymous_81) +FNDA:0,(anonymous_82) +FNDA:0,(anonymous_83) +FNDA:0,(anonymous_84) +FNDA:0,(anonymous_85) +FNDA:0,(anonymous_86) +FNDA:0,(anonymous_87) +FNDA:0,(anonymous_88) +FNDA:0,(anonymous_89) +FNDA:0,(anonymous_90) +FNDA:0,(anonymous_91) +FNDA:0,(anonymous_92) +FNDA:0,(anonymous_93) +FNDA:0,(anonymous_94) +FNDA:0,(anonymous_95) +FNDA:0,(anonymous_96) +FNDA:0,(anonymous_97) +FNDA:0,(anonymous_98) +FNDA:0,(anonymous_99) +FNDA:0,(anonymous_100) +FNDA:0,(anonymous_101) +FNDA:0,(anonymous_102) +FNDA:0,(anonymous_103) +FNDA:0,(anonymous_104) +FNDA:0,(anonymous_105) +FNDA:0,(anonymous_106) +DA:92,0 +DA:113,0 +DA:114,0 +DA:136,0 +DA:140,0 +DA:144,0 +DA:149,0 +DA:154,0 +DA:162,0 +DA:166,0 +DA:170,0 +DA:174,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:187,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:194,0 +DA:195,0 +DA:197,0 +DA:201,0 +DA:202,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:211,0 +DA:216,0 +DA:220,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:240,0 +DA:245,0 +DA:250,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:259,0 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:280,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:290,0 +DA:291,0 +DA:299,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:309,0 +DA:310,0 +DA:311,0 +DA:326,0 +DA:328,0 +DA:329,0 +DA:330,0 +DA:331,0 +DA:341,0 +DA:346,0 +DA:357,0 +DA:358,0 +DA:359,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:365,0 +DA:366,0 +DA:372,0 +DA:373,0 +DA:374,0 +DA:375,0 +DA:376,0 +DA:377,0 +DA:378,0 +DA:379,0 +DA:380,0 +DA:382,0 +DA:388,0 +DA:389,0 +DA:390,0 +DA:394,0 +DA:399,0 +DA:409,0 +DA:410,0 +DA:411,0 +DA:414,0 +DA:415,0 +DA:417,0 +DA:418,0 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:427,0 +DA:429,0 +DA:430,0 +DA:431,0 +DA:434,0 +DA:437,0 +DA:441,0 +DA:450,0 +DA:451,0 +DA:452,0 +DA:453,0 +DA:457,0 +DA:466,0 +DA:470,0 +DA:474,0 +DA:477,0 +DA:478,0 +DA:485,0 +DA:486,0 +DA:487,0 +DA:488,0 +DA:490,0 +DA:491,0 +DA:493,0 +DA:495,0 +DA:499,0 +DA:502,0 +DA:507,0 +DA:512,0 +DA:518,0 +DA:519,0 +DA:520,0 +DA:521,0 +DA:522,0 +DA:523,0 +DA:524,0 +DA:529,0 +DA:532,0 +DA:539,0 +DA:545,0 +DA:546,0 +DA:547,0 +DA:549,0 +DA:550,0 +DA:551,0 +DA:552,0 +DA:558,0 +DA:559,0 +DA:560,0 +DA:562,0 +DA:564,0 +DA:567,0 +DA:572,0 +DA:576,0 +DA:580,0 +DA:584,0 +DA:588,0 +DA:596,0 +DA:600,0 +DA:605,0 +DA:613,0 +DA:617,0 +DA:624,0 +DA:625,0 +DA:626,0 +DA:627,0 +DA:628,0 +DA:629,0 +DA:630,0 +DA:631,0 +DA:635,0 +DA:640,0 +DA:649,0 +DA:650,0 +DA:652,0 +DA:653,0 +DA:655,0 +DA:656,0 +DA:657,0 +DA:666,0 +DA:670,0 +DA:678,0 +DA:685,0 +DA:687,0 +DA:688,0 +DA:691,0 +DA:692,0 +DA:695,0 +DA:696,0 +DA:697,0 +DA:698,0 +DA:699,0 +DA:700,0 +DA:708,0 +DA:711,0 +DA:713,0 +DA:725,0 +DA:727,0 +DA:728,0 +DA:729,0 +DA:730,0 +DA:731,0 +DA:733,0 +DA:745,0 +DA:748,0 +DA:751,0 +DA:753,0 +DA:754,0 +DA:762,0 +DA:765,0 +DA:768,0 +DA:770,0 +DA:771,0 +DA:779,0 +DA:781,0 +DA:782,0 +DA:790,0 +DA:792,0 +DA:793,0 +DA:796,0 +DA:805,0 +DA:807,0 +DA:808,0 +DA:812,0 +DA:815,0 +DA:818,0 +DA:821,0 +DA:823,0 +DA:824,0 +DA:831,0 +DA:833,0 +DA:834,0 +DA:841,0 +DA:846,0 +DA:848,0 +DA:849,0 +DA:850,0 +DA:852,0 +DA:859,0 +DA:860,0 +DA:864,0 +DA:866,0 +DA:869,0 +DA:870,0 +DA:871,0 +DA:872,0 +DA:873,0 +DA:874,0 +DA:877,0 +DA:878,0 +DA:882,0 +DA:883,0 +DA:886,0 +DA:890,0 +DA:893,0 +DA:894,0 +DA:898,0 +DA:899,0 +DA:900,0 +DA:901,0 +DA:906,0 +DA:907,0 +DA:910,0 +DA:915,0 +DA:943,0 +DA:947,0 +DA:949,0 +DA:951,0 +DA:952,0 +DA:953,0 +DA:954,0 +DA:956,0 +DA:964,0 +LF:276 +LH:0 +BRDA:159,0,0,0 +BRDA:159,0,1,0 +BRDA:176,1,0,0 +BRDA:176,1,1,0 +BRDA:177,2,0,0 +BRDA:177,2,1,0 +BRDA:178,3,0,0 +BRDA:178,3,1,0 +BRDA:179,4,0,0 +BRDA:179,4,1,0 +BRDA:179,5,0,0 +BRDA:179,5,1,0 +BRDA:182,6,0,0 +BRDA:182,6,1,0 +BRDA:190,7,0,0 +BRDA:190,7,1,0 +BRDA:201,8,0,0 +BRDA:201,8,1,0 +BRDA:253,9,0,0 +BRDA:253,9,1,0 +BRDA:271,10,0,0 +BRDA:271,10,1,0 +BRDA:275,11,0,0 +BRDA:275,11,1,0 +BRDA:290,12,0,0 +BRDA:290,12,1,0 +BRDA:307,13,0,0 +BRDA:307,13,1,0 +BRDA:309,14,0,0 +BRDA:309,14,1,0 +BRDA:328,15,0,0 +BRDA:328,15,1,0 +BRDA:330,16,0,0 +BRDA:330,16,1,0 +BRDA:365,17,0,0 +BRDA:365,17,1,0 +BRDA:375,18,0,0 +BRDA:375,18,1,0 +BRDA:376,19,0,0 +BRDA:376,19,1,0 +BRDA:377,20,0,0 +BRDA:377,20,1,0 +BRDA:378,21,0,0 +BRDA:378,21,1,0 +BRDA:379,22,0,0 +BRDA:379,22,1,0 +BRDA:417,23,0,0 +BRDA:417,23,1,0 +BRDA:420,24,0,0 +BRDA:420,24,1,0 +BRDA:421,25,0,0 +BRDA:421,25,1,0 +BRDA:422,26,0,0 +BRDA:422,26,1,0 +BRDA:423,27,0,0 +BRDA:423,27,1,0 +BRDA:424,28,0,0 +BRDA:424,28,1,0 +BRDA:450,29,0,0 +BRDA:450,29,1,0 +BRDA:483,30,0,0 +BRDA:483,30,1,0 +BRDA:485,31,0,0 +BRDA:485,31,1,0 +BRDA:486,32,0,0 +BRDA:486,32,1,0 +BRDA:507,33,0,0 +BRDA:507,33,1,0 +BRDA:519,34,0,0 +BRDA:519,34,1,0 +BRDA:521,35,0,0 +BRDA:521,35,1,0 +BRDA:521,36,0,0 +BRDA:521,36,1,0 +BRDA:547,37,0,0 +BRDA:547,37,1,0 +BRDA:559,38,0,0 +BRDA:559,38,1,0 +BRDA:627,39,0,0 +BRDA:627,39,1,0 +BRDA:628,40,0,0 +BRDA:628,40,1,0 +BRDA:629,41,0,0 +BRDA:629,41,1,0 +BRDA:653,42,0,0 +BRDA:653,42,1,0 +BRDA:655,43,0,0 +BRDA:655,43,1,0 +BRDA:656,44,0,0 +BRDA:656,44,1,0 +BRDA:687,45,0,0 +BRDA:687,45,1,0 +BRDA:687,46,0,0 +BRDA:687,46,1,0 +BRDA:691,47,0,0 +BRDA:691,47,1,0 +BRDA:691,48,0,0 +BRDA:691,48,1,0 +BRDA:695,49,0,0 +BRDA:695,49,1,0 +BRDA:695,50,0,0 +BRDA:695,50,1,0 +BRDA:697,51,0,0 +BRDA:697,51,1,0 +BRDA:699,52,0,0 +BRDA:699,52,1,0 +BRDA:727,53,0,0 +BRDA:727,53,1,0 +BRDA:729,54,0,0 +BRDA:729,54,1,0 +BRDA:753,55,0,0 +BRDA:753,55,1,0 +BRDA:770,56,0,0 +BRDA:770,56,1,0 +BRDA:781,57,0,0 +BRDA:781,57,1,0 +BRDA:792,58,0,0 +BRDA:792,58,1,0 +BRDA:807,59,0,0 +BRDA:807,59,1,0 +BRDA:823,60,0,0 +BRDA:823,60,1,0 +BRDA:833,61,0,0 +BRDA:833,61,1,0 +BRDA:848,62,0,0 +BRDA:848,62,1,0 +BRDA:850,63,0,0 +BRDA:850,63,1,0 +BRDA:859,64,0,0 +BRDA:859,64,1,0 +BRDA:871,65,0,0 +BRDA:871,65,1,0 +BRDA:877,66,0,0 +BRDA:877,66,1,0 +BRDA:882,67,0,0 +BRDA:882,67,1,0 +BRDA:916,68,0,0 +BRDA:916,68,1,0 +BRDA:925,69,0,0 +BRDA:925,69,1,0 +BRDA:930,70,0,0 +BRDA:930,70,1,0 +BRDA:951,71,0,0 +BRDA:951,71,1,0 +BRF:144 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/uiState.tsx +FN:156,(anonymous_0) +FN:160,(anonymous_1) +FN:164,(anonymous_2) +FN:168,(anonymous_3) +FN:172,(anonymous_4) +FN:201,(anonymous_5) +FN:205,(anonymous_6) +FN:209,(anonymous_7) +FN:213,(anonymous_8) +FN:217,(anonymous_9) +FN:221,(anonymous_10) +FN:229,(anonymous_11) +FN:233,(anonymous_12) +FN:237,(anonymous_13) +FN:241,(anonymous_14) +FN:247,(anonymous_15) +FN:250,(anonymous_16) +FN:255,(anonymous_17) +FN:261,(anonymous_18) +FN:267,(anonymous_19) +FN:273,(anonymous_20) +FN:279,(anonymous_21) +FN:285,(anonymous_22) +FN:291,(anonymous_23) +FN:297,(anonymous_24) +FN:303,(anonymous_25) +FN:309,(anonymous_26) +FN:315,(anonymous_27) +FN:321,(anonymous_28) +FN:327,(anonymous_29) +FN:333,(anonymous_30) +FN:339,(anonymous_31) +FN:345,(anonymous_32) +FN:351,(anonymous_33) +FN:357,(anonymous_34) +FN:360,(anonymous_35) +FN:375,(anonymous_36) +FN:378,(anonymous_37) +FN:392,(anonymous_38) +FN:398,(anonymous_39) +FN:404,(anonymous_40) +FN:410,(anonymous_41) +FN:416,(anonymous_42) +FN:420,(anonymous_43) +FN:425,(anonymous_44) +FN:426,(anonymous_45) +FN:427,(anonymous_46) +FN:431,(anonymous_47) +FN:437,(anonymous_48) +FN:443,(anonymous_49) +FN:449,(anonymous_50) +FN:455,(anonymous_51) +FN:463,(anonymous_52) +FNF:53 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +DA:96,0 +DA:106,0 +DA:156,0 +DA:160,0 +DA:164,0 +DA:168,0 +DA:187,0 +DA:201,0 +DA:205,0 +DA:209,0 +DA:213,0 +DA:217,0 +DA:222,0 +DA:224,0 +DA:229,0 +DA:233,0 +DA:237,0 +DA:242,0 +DA:248,0 +DA:251,0 +DA:256,0 +DA:262,0 +DA:268,0 +DA:274,0 +DA:280,0 +DA:286,0 +DA:292,0 +DA:298,0 +DA:304,0 +DA:310,0 +DA:316,0 +DA:322,0 +DA:328,0 +DA:334,0 +DA:340,0 +DA:346,0 +DA:352,0 +DA:358,0 +DA:361,0 +DA:362,0 +DA:371,0 +DA:376,0 +DA:379,0 +DA:380,0 +DA:381,0 +DA:388,0 +DA:393,0 +DA:399,0 +DA:405,0 +DA:411,0 +DA:416,0 +DA:420,0 +DA:425,0 +DA:427,0 +DA:428,0 +DA:432,0 +DA:438,0 +DA:444,0 +DA:450,0 +DA:456,0 +DA:458,0 +DA:464,0 +LF:62 +LH:0 +BRDA:194,0,0,0 +BRDA:194,0,1,0 +BRDA:195,1,0,0 +BRDA:195,1,1,0 +BRDA:348,2,0,0 +BRDA:348,2,1,0 +BRDA:361,3,0,0 +BRDA:361,3,1,0 +BRDA:364,4,0,0 +BRDA:364,4,1,0 +BRDA:367,5,0,0 +BRDA:367,5,1,0 +BRDA:368,6,0,0 +BRDA:368,6,1,0 +BRDA:379,7,0,0 +BRDA:379,7,1,0 +BRDA:380,8,0,0 +BRDA:380,8,1,0 +BRDA:383,9,0,0 +BRDA:383,9,1,0 +BRDA:385,10,0,0 +BRDA:385,10,1,0 +BRDA:466,11,0,0 +BRDA:466,11,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/userState.ts +FN:54,(anonymous_0) +FN:60,(anonymous_1) +FN:66,(anonymous_2) +FN:72,(anonymous_3) +FN:78,(anonymous_4) +FN:84,(anonymous_5) +FN:90,(anonymous_6) +FN:96,(anonymous_7) +FN:104,(anonymous_8) +FN:105,(anonymous_9) +FNF:10 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +DA:37,0 +DA:55,0 +DA:61,0 +DA:67,0 +DA:73,0 +DA:79,0 +DA:85,0 +DA:91,0 +DA:97,0 +DA:104,0 +DA:106,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:115,0 +DA:120,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +LF:21 +LH:0 +BRDA:108,0,0,0 +BRDA:108,0,1,0 +BRDA:108,1,0,0 +BRDA:108,1,1,0 +BRDA:110,2,0,0 +BRDA:110,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/updateCheckForChangesAtomic.ts +FN:4,updateCheckForChangesAtomic +FNF:1 +FNH:0 +FNDA:0,updateCheckForChangesAtomic +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts +FN:5,setCreateStylesWithVariableReferences +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setCreateStylesWithVariableReferences +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts +FN:5,setIgnoreFirstPartForStyles +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setIgnoreFirstPartForStyles +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts +FN:5,setPrefixStylesWithThemeName +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setPrefixStylesWithThemeName +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts +FN:5,setRemoveStylesAndVariablesWithoutConnection +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setRemoveStylesAndVariablesWithoutConnection +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts +FN:5,setRenameExistingStylesAndVariables +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setRenameExistingStylesAndVariables +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setStyleTypography.ts +FN:5,setStylesTypography +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setStylesTypography +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setStylesColor.ts +FN:5,setStylesColor +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setStylesColor +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setStylesEffect.ts +FN:5,setStylesEffect +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setStylesEffect +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setVariablesBoolean.ts +FN:5,setVariablesBoolean +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setVariablesBoolean +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setVariablesColor.ts +FN:5,setVariablesColor +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setVariablesColor +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setVariablesNumber.ts +FN:5,setVariablesNumber +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setVariablesNumber +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/settingsState/setVariablesString.ts +FN:5,setVariablesString +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setVariablesString +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts +FN:4,assignStyleIdsToCurrentTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,assignStyleIdsToCurrentTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts +FN:4,assignStyleIdsToTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,assignStyleIdsToTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts +FN:4,assignVariableIdsToTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,assignVariableIdsToTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/deleteTheme.ts +FN:4,deleteTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,deleteTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts +FN:4,removeStyleIdsFromThemes +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,removeStyleIdsFromThemes +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts +FN:4,removeStyleNamesFromThemes +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,removeStyleNamesFromThemes +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts +FN:4,removeVariableNamesFromThemes +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,removeVariableNamesFromThemes +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts +FN:4,renameStyleIdsToCurrentTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,renameStyleIdsToCurrentTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts +FN:4,renameStyleNamesToCurrentTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,renameStyleNamesToCurrentTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts +FN:4,renameVariableIdsToTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,renameVariableIdsToTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts +FN:4,renameVariableNamesToThemes +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,renameVariableNamesToThemes +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/saveTheme.ts +FN:4,saveTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,saveTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/setActiveTheme.ts +FN:4,setActiveTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setActiveTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/setDefaultTokens.ts +FN:8,setDefaultTokens +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setDefaultTokens +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/setEmptyTokens.ts +FN:4,setEmptyTokens +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setEmptyTokens +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/effects/tokenState/updateThemeGroupName.ts +FN:4,updateThemeGroupName +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateThemeGroupName +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts +FN:3,setCreateStylesWithVariableReferences +FNF:1 +FNH:0 +FNDA:0,setCreateStylesWithVariableReferences +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts +FN:3,setIgnoreFirstPartForStyles +FNF:1 +FNH:0 +FNDA:0,setIgnoreFirstPartForStyles +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts +FN:3,setPrefixStylesWithThemeName +FNF:1 +FNH:0 +FNDA:0,setPrefixStylesWithThemeName +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts +FN:3,setRemoveStylesAndVariablesWithoutConnection +FNF:1 +FNH:0 +FNDA:0,setRemoveStylesAndVariablesWithoutConnection +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts +FN:3,setRenameExistingStylesAndVariables +FNF:1 +FNH:0 +FNDA:0,setRenameExistingStylesAndVariables +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx +FN:3,setShouldSwapStyles +FNF:1 +FNH:0 +FNDA:0,setShouldSwapStyles +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setStylesColor.ts +FN:3,setStylesColor +FNF:1 +FNH:0 +FNDA:0,setStylesColor +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setStylesEffect.ts +FN:3,setStylesEffect +FNF:1 +FNH:0 +FNDA:0,setStylesEffect +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setStylesTypography.ts +FN:3,setStylesTypography +FNF:1 +FNH:0 +FNDA:0,setStylesTypography +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setVariablesBoolean.ts +FN:3,setVariablesBoolean +FNF:1 +FNH:0 +FNDA:0,setVariablesBoolean +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setVariablesColor.ts +FN:3,setVariablesColor +FNF:1 +FNH:0 +FNDA:0,setVariablesColor +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setVariablesNumber.ts +FN:3,setVariablesNumber +FNF:1 +FNH:0 +FNDA:0,setVariablesNumber +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/settingsState/setVariablesString.ts +FN:3,setVariablesString +FNF:1 +FNH:0 +FNDA:0,setVariablesString +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts +FN:5,assignStyleIdsToCurrentTheme +FN:10,(anonymous_1) +FN:10,(anonymous_2) +FN:11,(anonymous_3) +FN:13,(anonymous_4) +FN:13,(anonymous_5) +FN:14,(anonymous_6) +FN:15,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,assignStyleIdsToCurrentTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:7,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:24,0 +LF:10 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts +FN:9,assignStyleIdsToTheme +FN:11,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,assignStyleIdsToTheme +FNDA:0,(anonymous_1) +DA:11,0 +DA:12,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:23,0 +LF:6 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts +FN:4,assignVariableIdsToTheme +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,assignVariableIdsToTheme +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +DA:15,0 +LF:3 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/deleteTheme.ts +FN:3,deleteTheme +FN:5,(anonymous_1) +FN:13,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,deleteTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:11,0 +DA:13,0 +LF:6 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts +FN:8,disconnectStyleFromTheme +FN:10,(anonymous_1) +FN:15,(anonymous_2) +FN:24,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,disconnectStyleFromTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:10,0 +DA:11,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:33,0 +LF:13 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:12,1,2,0 +BRDA:12,1,3,0 +BRDA:12,1,4,0 +BRDA:12,1,5,0 +BRDA:21,2,0,0 +BRDA:21,2,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts +FN:8,disconnectVariableFromTheme +FN:9,(anonymous_1) +FN:20,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,disconnectVariableFromTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:29,0 +LF:11 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts +FN:3,removeStyleIdsFromThemes +FN:5,(anonymous_1) +FN:8,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,removeStyleIdsFromThemes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:12,0 +DA:18,0 +LF:8 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts +FN:4,removeStyleNamesFromThemes +FN:6,(anonymous_1) +FN:9,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,removeStyleNamesFromThemes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:13,0 +DA:18,0 +LF:8 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:10,2,0,0 +BRDA:10,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts +FN:4,removeVariableNamesFromThemes +FN:5,(anonymous_1) +FN:8,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,removeVariableNamesFromThemes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:12,0 +DA:17,0 +LF:7 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:7,1,0,0 +BRDA:7,1,1,0 +BRDA:9,2,0,0 +BRDA:9,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts +FN:4,renameStyleIdsToCurrentTheme +FN:6,(anonymous_1) +FN:10,(anonymous_2) +FN:13,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,renameStyleIdsToCurrentTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:20,0 +DA:26,0 +LF:13 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts +FN:4,renameStyleNamesToCurrentTheme +FN:6,(anonymous_1) +FN:10,(anonymous_2) +FN:13,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,renameStyleNamesToCurrentTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:20,0 +DA:25,0 +LF:13 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/renameTokenSet.ts +FN:10,renameTokenSet +FN:21,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,renameTokenSet +FNDA:0,(anonymous_1) +DA:11,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:22,0 +LF:5 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts +FN:10,renameTokenSetFolder +FN:21,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,renameTokenSetFolder +FNDA:0,(anonymous_1) +DA:11,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:22,0 +LF:5 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRDA:22,3,0,0 +BRDA:22,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts +FN:8,renameVariableIdsToTheme +FN:11,(anonymous_1) +FN:12,(anonymous_2) +FN:15,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,renameVariableIdsToTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:23,0 +DA:29,0 +LF:13 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts +FN:4,renameVariableNamesToThemes +FN:5,(anonymous_1) +FN:9,(anonymous_2) +FN:12,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,renameVariableNamesToThemes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:5,0 +DA:6,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:19,0 +DA:24,0 +LF:12 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/saveTheme.ts +FN:18,saveTheme +FN:24,(anonymous_1) +FN:26,(anonymous_2) +FN:41,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,saveTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:47,0 +DA:49,0 +DA:54,0 +DA:58,0 +DA:61,0 +LF:19 +LH:0 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:27,1,0,0 +BRDA:27,1,1,0 +BRDA:34,2,0,0 +BRDA:34,2,1,0 +BRDA:36,3,0,0 +BRDA:36,3,1,0 +BRDA:40,4,0,0 +BRDA:40,4,1,0 +BRDA:42,5,0,0 +BRDA:42,5,1,0 +BRDA:47,6,0,0 +BRDA:47,6,1,0 +BRDA:54,7,0,0 +BRDA:54,7,1,0 +BRDA:54,8,0,0 +BRDA:54,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/setActiveTheme.ts +FN:6,setActiveTheme +FN:8,(anonymous_1) +FN:8,(anonymous_2) +FN:11,(anonymous_3) +FN:12,(anonymous_4) +FN:20,(anonymous_5) +FN:25,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,setActiveTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:18,0 +DA:21,0 +DA:26,0 +DA:29,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:21,2,0,0 +BRDA:21,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/setDefaultTokens.ts +FN:3,setDefaultTokens +FNF:1 +FNH:0 +FNDA:0,setDefaultTokens +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/setEmptyTokens.ts +FN:3,setEmptyTokens +FNF:1 +FNH:0 +FNDA:0,setEmptyTokens +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/setTokenData.ts +FN:11,setTokenData +FN:27,(anonymous_1) +FN:30,(anonymous_2) +FN:31,(anonymous_3) +FN:47,(anonymous_4) +FN:51,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,setTokenData +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:12,0 +DA:13,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:36,0 +DA:39,0 +DA:43,0 +DA:47,0 +DA:51,0 +LF:19 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:27,4,0,0 +BRDA:27,4,1,0 +BRDA:30,5,0,0 +BRDA:30,5,1,0 +BRDA:31,6,0,0 +BRDA:31,6,1,0 +BRDA:31,7,0,0 +BRDA:31,7,1,0 +BRDA:36,8,0,0 +BRDA:36,8,1,0 +BRDA:39,9,0,0 +BRDA:39,9,1,0 +BRDA:47,10,0,0 +BRDA:47,10,1,0 +BRDA:51,11,0,0 +BRDA:51,11,1,0 +BRDA:55,12,0,0 +BRDA:55,12,1,0 +BRDA:56,13,0,0 +BRDA:56,13,1,0 +BRDA:59,14,0,0 +BRDA:59,14,1,0 +BRDA:61,15,0,0 +BRDA:61,15,1,0 +BRF:32 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts +FN:5,toggleManyTokenSets +FN:8,(anonymous_1) +FN:17,(anonymous_2) +FN:27,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,toggleManyTokenSets +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:6,0 +DA:8,0 +DA:11,0 +DA:12,0 +DA:17,0 +DA:22,0 +DA:27,0 +LF:7 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts +FN:4,toggleUsedTokenSet +FNF:1 +FNH:0 +FNDA:0,toggleUsedTokenSet +DA:5,0 +LF:1 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/tokenState/updateThemeGroupName.ts +FN:5,updateThemeGroupName +FN:7,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateThemeGroupName +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:39,0 +LF:16 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRDA:13,3,0,0 +BRDA:13,3,1,0 +BRDA:13,4,0,0 +BRDA:13,4,1,0 +BRDA:14,5,0,0 +BRDA:14,5,1,0 +BRDA:29,6,0,0 +BRDA:29,6,1,0 +BRDA:30,7,0,0 +BRDA:30,7,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/userState/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/models/reducers/userState/setLicenseStatus.ts +FN:4,setLicenseStatus +FNF:1 +FNH:0 +FNDA:0,setLicenseStatus +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/file.tsx +FN:7,useFile +FN:10,(anonymous_1) +FN:17,(anonymous_2) +FN:36,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useFile +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:8,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:31,0 +DA:36,0 +LF:15 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/getRepositoryInformation.ts +FN:1,getRepositoryInformation +FNF:1 +FNH:0 +FNDA:0,getRepositoryInformation +DA:2,0 +DA:3,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:11,0 +LF:7 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/jsonbin.tsx +FN:23,updateJSONBinTokens +FN:75,useJSONbin +FN:84,(anonymous_2) +FN:124,(anonymous_3) +FN:176,(anonymous_4) +FN:235,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,updateJSONBinTokens +FNDA:0,useJSONbin +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:32,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:68,0 +DA:69,0 +DA:72,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:102,0 +DA:112,0 +DA:114,0 +DA:117,0 +DA:118,0 +DA:120,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:139,0 +DA:149,0 +DA:150,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:164,0 +DA:165,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:176,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:187,0 +DA:194,0 +DA:195,0 +DA:200,0 +DA:201,0 +DA:204,0 +DA:210,0 +DA:217,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:226,0 +DA:235,0 +LF:77 +LH:0 +BRDA:24,0,0,0 +BRDA:28,1,0,0 +BRDA:28,1,1,0 +BRDA:28,2,0,0 +BRDA:28,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:42,4,0,0 +BRDA:42,4,1,0 +BRDA:44,5,0,0 +BRDA:44,5,1,0 +BRDA:53,6,0,0 +BRDA:53,6,1,0 +BRDA:54,7,0,0 +BRDA:54,7,1,0 +BRDA:55,8,0,0 +BRDA:55,8,1,0 +BRDA:64,9,0,0 +BRDA:64,9,1,0 +BRDA:90,10,0,0 +BRDA:90,10,1,0 +BRDA:128,11,0,0 +BRDA:128,11,1,0 +BRDA:128,12,0,0 +BRDA:128,12,1,0 +BRDA:149,13,0,0 +BRDA:149,13,1,0 +BRDA:155,14,0,0 +BRDA:155,14,1,0 +BRDA:155,15,0,0 +BRDA:155,15,1,0 +BRDA:180,16,0,0 +BRDA:180,16,1,0 +BRDA:180,17,0,0 +BRDA:180,17,1,0 +BRDA:194,18,0,0 +BRDA:194,18,1,0 +BRDA:200,19,0,0 +BRDA:200,19,1,0 +BRF:39 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/url.tsx +FN:19,useURL +FN:24,(anonymous_1) +FN:29,(anonymous_2) +FN:97,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useURL +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:50,0 +DA:51,0 +DA:62,0 +DA:63,0 +DA:69,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:79,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:89,0 +DA:97,0 +LF:30 +LH:0 +BRDA:33,0,0,0 +BRDA:33,0,1,0 +BRDA:33,1,0,0 +BRDA:33,1,1,0 +BRDA:44,2,0,0 +BRDA:44,2,1,0 +BRDA:50,3,0,0 +BRDA:50,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/ado/ado.tsx +FN:28,(anonymous_0) +FN:40,(anonymous_1) +FN:48,(anonymous_2) +FN:56,(anonymous_3) +FN:133,(anonymous_4) +FN:140,(anonymous_5) +FN:178,(anonymous_6) +FN:248,(anonymous_7) +FN:290,(anonymous_8) +FN:296,(anonymous_9) +FN:301,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:87,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:98,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:112,0 +DA:119,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:145,0 +DA:147,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:157,0 +DA:159,0 +DA:160,0 +DA:166,0 +DA:167,0 +DA:172,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:190,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:199,0 +DA:200,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:215,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:226,0 +DA:228,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:247,0 +DA:249,0 +DA:250,0 +DA:252,0 +DA:253,0 +DA:255,0 +DA:257,0 +DA:258,0 +DA:262,0 +DA:263,0 +DA:267,0 +DA:268,0 +DA:273,0 +DA:290,0 +DA:291,0 +DA:292,0 +DA:293,0 +DA:296,0 +DA:297,0 +DA:298,0 +DA:301,0 +LF:115 +LH:0 +BRDA:42,0,0,0 +BRDA:42,0,1,0 +BRDA:43,1,0,0 +BRDA:43,1,1,0 +BRDA:44,2,0,0 +BRDA:44,2,1,0 +BRDA:62,3,0,0 +BRDA:62,3,1,0 +BRDA:65,4,0,0 +BRDA:65,4,1,0 +BRDA:106,5,0,0 +BRDA:106,5,1,0 +BRDA:106,6,0,0 +BRDA:106,6,1,0 +BRDA:135,7,0,0 +BRDA:135,7,1,0 +BRDA:142,8,0,0 +BRDA:142,8,1,0 +BRDA:145,9,0,0 +BRDA:145,9,1,0 +BRDA:151,10,0,0 +BRDA:151,10,1,0 +BRDA:157,11,0,0 +BRDA:157,11,1,0 +BRDA:159,12,0,0 +BRDA:159,12,1,0 +BRDA:183,13,0,0 +BRDA:183,13,1,0 +BRDA:193,14,0,0 +BRDA:193,14,1,0 +BRDA:199,15,0,0 +BRDA:199,15,1,0 +BRDA:200,16,0,0 +BRDA:200,16,1,0 +BRDA:201,17,0,0 +BRDA:201,17,1,0 +BRDA:201,17,2,0 +BRDA:203,18,0,0 +BRDA:203,18,1,0 +BRDA:206,19,0,0 +BRDA:206,19,1,0 +BRDA:252,20,0,0 +BRDA:252,20,1,0 +BRDA:257,21,0,0 +BRDA:257,21,1,0 +BRDA:262,22,0,0 +BRDA:262,22,1,0 +BRDA:275,23,0,0 +BRDA:275,23,1,0 +BRDA:276,24,0,0 +BRDA:276,24,1,0 +BRF:51 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/ado/getADOCreatePullRequestUrl.ts +FN:10,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:10,0 +DA:15,0 +LF:2 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/ado/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/bitbucket/bitbucket.tsx +FN:28,useBitbucket +FN:42,(anonymous_1) +FN:59,(anonymous_2) +FN:67,(anonymous_3) +FN:143,(anonymous_4) +FN:155,(anonymous_5) +FN:190,(anonymous_6) +FN:264,(anonymous_7) +FN:295,(anonymous_8) +FN:303,(anonymous_9) +FN:311,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,useBitbucket +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:59,0 +DA:60,0 +DA:64,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:94,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:116,0 +DA:123,0 +DA:142,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:154,0 +DA:156,0 +DA:157,0 +DA:159,0 +DA:161,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:173,0 +DA:174,0 +DA:177,0 +DA:178,0 +DA:183,0 +DA:189,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:202,0 +DA:203,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:212,0 +DA:213,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:227,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:238,0 +DA:240,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:263,0 +DA:265,0 +DA:266,0 +DA:267,0 +DA:271,0 +DA:272,0 +DA:275,0 +DA:280,0 +DA:294,0 +DA:296,0 +DA:297,0 +DA:302,0 +DA:304,0 +DA:305,0 +DA:310,0 +DA:311,0 +LF:107 +LH:0 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:47,1,0,0 +BRDA:47,1,1,0 +BRDA:48,2,0,0 +BRDA:48,2,1,0 +BRDA:51,3,0,0 +BRDA:51,3,1,0 +BRDA:52,4,0,0 +BRDA:52,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:73,6,0,0 +BRDA:73,6,1,0 +BRDA:76,7,0,0 +BRDA:76,7,1,0 +BRDA:110,8,0,0 +BRDA:110,8,1,0 +BRDA:110,9,0,0 +BRDA:110,9,1,0 +BRDA:147,10,0,0 +BRDA:147,10,1,0 +BRDA:157,11,0,0 +BRDA:157,11,1,0 +BRDA:167,12,0,0 +BRDA:167,12,1,0 +BRDA:173,13,0,0 +BRDA:173,13,1,0 +BRDA:195,14,0,0 +BRDA:195,14,1,0 +BRDA:195,15,0,0 +BRDA:195,15,1,0 +BRDA:206,16,0,0 +BRDA:206,16,1,0 +BRDA:212,17,0,0 +BRDA:212,17,1,0 +BRDA:213,18,0,0 +BRDA:213,18,1,0 +BRDA:214,19,0,0 +BRDA:214,19,1,0 +BRDA:214,19,2,0 +BRDA:216,20,0,0 +BRDA:216,20,1,0 +BRDA:219,21,0,0 +BRDA:219,21,1,0 +BRDA:266,22,0,0 +BRDA:266,22,1,0 +BRDA:271,23,0,0 +BRDA:271,23,1,0 +BRDA:282,24,0,0 +BRDA:282,24,1,0 +BRDA:283,25,0,0 +BRDA:283,25,1,0 +BRF:53 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts +FN:2,getBitbucketCreatePullRequestUrl +FNF:1 +FNH:0 +FNDA:0,getBitbucketCreatePullRequestUrl +DA:11,0 +DA:13,0 +LF:2 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/bitbucket/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/generic/versionedStorage.ts +FN:31,updateGenericVersionedTokens +FN:113,useGenericVersionedStorage +FN:123,(anonymous_2) +FN:167,(anonymous_3) +FN:221,(anonymous_4) +FN:297,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,updateGenericVersionedTokens +FNDA:0,useGenericVersionedStorage +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:39,0 +DA:41,0 +DA:42,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:73,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:122,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:144,0 +DA:155,0 +DA:157,0 +DA:159,0 +DA:160,0 +DA:166,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:179,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:209,0 +DA:210,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:220,0 +DA:226,0 +DA:227,0 +DA:230,0 +DA:231,0 +DA:233,0 +DA:234,0 +DA:240,0 +DA:242,0 +DA:243,0 +DA:248,0 +DA:249,0 +DA:257,0 +DA:268,0 +DA:275,0 +DA:282,0 +DA:287,0 +DA:288,0 +DA:291,0 +DA:296,0 +DA:297,0 +LF:86 +LH:0 +BRDA:36,0,0,0 +BRDA:42,1,0,0 +BRDA:42,1,1,0 +BRDA:45,2,0,0 +BRDA:45,2,1,0 +BRDA:54,3,0,0 +BRDA:54,3,1,0 +BRDA:59,4,0,0 +BRDA:59,4,1,0 +BRDA:62,5,0,0 +BRDA:62,5,1,0 +BRDA:64,6,0,0 +BRDA:64,6,1,0 +BRDA:73,7,0,0 +BRDA:73,7,1,0 +BRDA:75,8,0,0 +BRDA:75,8,1,0 +BRDA:88,9,0,0 +BRDA:88,9,1,0 +BRDA:131,10,0,0 +BRDA:131,10,1,0 +BRDA:173,11,0,0 +BRDA:173,11,1,0 +BRDA:190,12,0,0 +BRDA:190,12,1,0 +BRDA:198,13,0,0 +BRDA:198,13,1,0 +BRDA:198,14,0,0 +BRDA:198,14,1,0 +BRDA:227,15,0,0 +BRDA:227,15,1,0 +BRDA:233,16,0,0 +BRDA:233,16,1,0 +BRDA:242,17,0,0 +BRDA:242,17,1,0 +BRDA:248,18,0,0 +BRDA:248,18,1,0 +BRF:37 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/github/getGithubCreatePullRequestUrl.ts +FN:2,getGithubCreatePullRequestUrl +FNF:1 +FNH:0 +FNDA:0,getGithubCreatePullRequestUrl +DA:9,0 +DA:11,0 +DA:13,0 +LF:3 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/github/github.tsx +FN:29,useGitHub +FN:41,(anonymous_1) +FN:51,(anonymous_2) +FN:59,(anonymous_3) +FN:136,(anonymous_4) +FN:145,(anonymous_5) +FN:186,(anonymous_6) +FN:260,(anonymous_7) +FN:288,(anonymous_8) +FN:293,(anonymous_9) +FN:298,(anonymous_10) +FN:311,(anonymous_11) +FNF:12 +FNH:0 +FNDA:0,useGitHub +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:52,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:70,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:88,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:110,0 +DA:117,0 +DA:136,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:149,0 +DA:151,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:163,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:174,0 +DA:179,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:198,0 +DA:199,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:208,0 +DA:209,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:225,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:237,0 +DA:239,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:267,0 +DA:268,0 +DA:271,0 +DA:276,0 +DA:288,0 +DA:289,0 +DA:290,0 +DA:293,0 +DA:294,0 +DA:295,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:305,0 +DA:307,0 +DA:311,0 +LF:118 +LH:0 +BRDA:43,0,0,0 +BRDA:43,0,1,0 +BRDA:43,1,0,0 +BRDA:43,1,1,0 +BRDA:43,2,0,0 +BRDA:43,2,1,0 +BRDA:45,3,0,0 +BRDA:45,3,1,0 +BRDA:46,4,0,0 +BRDA:46,4,1,0 +BRDA:47,5,0,0 +BRDA:47,5,1,0 +BRDA:63,6,0,0 +BRDA:63,6,1,0 +BRDA:66,7,0,0 +BRDA:66,7,1,0 +BRDA:80,8,0,0 +BRDA:80,8,1,0 +BRDA:104,9,0,0 +BRDA:104,9,1,0 +BRDA:104,10,0,0 +BRDA:104,10,1,0 +BRDA:140,11,0,0 +BRDA:140,11,1,0 +BRDA:147,12,0,0 +BRDA:147,12,1,0 +BRDA:157,13,0,0 +BRDA:157,13,1,0 +BRDA:163,14,0,0 +BRDA:163,14,1,0 +BRDA:165,15,0,0 +BRDA:165,15,1,0 +BRDA:191,16,0,0 +BRDA:191,16,1,0 +BRDA:191,17,0,0 +BRDA:191,17,1,0 +BRDA:202,18,0,0 +BRDA:202,18,1,0 +BRDA:208,19,0,0 +BRDA:208,19,1,0 +BRDA:209,20,0,0 +BRDA:209,20,1,0 +BRDA:210,21,0,0 +BRDA:210,21,1,0 +BRDA:210,21,2,0 +BRDA:212,22,0,0 +BRDA:212,22,1,0 +BRDA:215,23,0,0 +BRDA:215,23,1,0 +BRDA:233,24,0,0 +BRDA:233,24,1,0 +BRDA:262,25,0,0 +BRDA:262,25,1,0 +BRDA:267,26,0,0 +BRDA:267,26,1,0 +BRDA:278,27,0,0 +BRDA:278,27,1,0 +BRDA:279,28,0,0 +BRDA:279,28,1,0 +BRDA:302,29,0,0 +BRDA:302,29,1,0 +BRDA:302,30,0,0 +BRDA:302,30,1,0 +BRDA:302,30,2,0 +BRF:64 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/github/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts +FN:2,getGitlabCreatePullRequestUrl +FNF:1 +FNH:0 +FNDA:0,getGitlabCreatePullRequestUrl +DA:6,0 +DA:8,0 +LF:2 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/gitlab/gitlab.tsx +FN:31,(anonymous_0) +FN:44,useGitLab +FN:59,(anonymous_2) +FN:67,(anonymous_3) +FN:147,(anonymous_4) +FN:156,(anonymous_5) +FN:192,(anonymous_6) +FN:269,(anonymous_7) +FN:305,(anonymous_8) +FN:310,(anonymous_9) +FN:315,(anonymous_10) +FN:328,(anonymous_11) +FNF:12 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,useGitLab +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +DA:31,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:64,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:98,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:123,0 +DA:129,0 +DA:147,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:172,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:183,0 +DA:184,0 +DA:189,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:198,0 +DA:199,0 +DA:205,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:214,0 +DA:215,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:231,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:243,0 +DA:245,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:275,0 +DA:277,0 +DA:278,0 +DA:282,0 +DA:283,0 +DA:287,0 +DA:288,0 +DA:293,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:310,0 +DA:311,0 +DA:312,0 +DA:315,0 +DA:316,0 +DA:317,0 +DA:318,0 +DA:319,0 +DA:320,0 +DA:322,0 +DA:324,0 +DA:328,0 +LF:126 +LH:0 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:40,3,0,0 +BRDA:40,3,1,0 +BRDA:73,4,0,0 +BRDA:73,4,1,0 +BRDA:76,5,0,0 +BRDA:76,5,1,0 +BRDA:90,6,0,0 +BRDA:90,6,1,0 +BRDA:117,7,0,0 +BRDA:117,7,1,0 +BRDA:151,8,0,0 +BRDA:151,8,1,0 +BRDA:158,9,0,0 +BRDA:158,9,1,0 +BRDA:165,10,0,0 +BRDA:165,10,1,0 +BRDA:172,11,0,0 +BRDA:172,11,1,0 +BRDA:174,12,0,0 +BRDA:174,12,1,0 +BRDA:179,13,0,0 +BRDA:179,13,1,0 +BRDA:198,14,0,0 +BRDA:198,14,1,0 +BRDA:198,15,0,0 +BRDA:198,15,1,0 +BRDA:208,16,0,0 +BRDA:208,16,1,0 +BRDA:214,17,0,0 +BRDA:214,17,1,0 +BRDA:215,18,0,0 +BRDA:215,18,1,0 +BRDA:216,19,0,0 +BRDA:216,19,1,0 +BRDA:216,19,2,0 +BRDA:218,20,0,0 +BRDA:218,20,1,0 +BRDA:221,21,0,0 +BRDA:221,21,1,0 +BRDA:239,22,0,0 +BRDA:239,22,1,0 +BRDA:272,23,0,0 +BRDA:272,23,1,0 +BRDA:277,24,0,0 +BRDA:277,24,1,0 +BRDA:282,25,0,0 +BRDA:282,25,1,0 +BRDA:295,26,0,0 +BRDA:295,26,1,0 +BRDA:296,27,0,0 +BRDA:296,27,1,0 +BRDA:319,28,0,0 +BRDA:319,28,1,0 +BRDA:319,29,0,0 +BRDA:319,29,1,0 +BRDA:319,29,2,0 +BRF:62 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/gitlab/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/supernova/getSupernovaOpenCloud.ts +FN:2,getSupernovaOpenCloud +FNF:1 +FNH:0 +FNDA:0,getSupernovaOpenCloud +DA:3,0 +LF:1 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/supernova/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/supernova/supernova.tsx +FN:29,useSupernova +FN:39,(anonymous_1) +FN:45,(anonymous_2) +FN:119,(anonymous_3) +FN:152,(anonymous_4) +FN:167,(anonymous_5) +FN:200,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,useSupernova +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:55,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:74,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:89,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:100,0 +DA:102,0 +DA:108,0 +DA:119,0 +DA:120,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:130,0 +DA:132,0 +DA:134,0 +DA:140,0 +DA:145,0 +DA:151,0 +DA:153,0 +DA:154,0 +DA:156,0 +DA:157,0 +DA:166,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:175,0 +DA:176,0 +DA:180,0 +DA:181,0 +DA:184,0 +DA:189,0 +DA:199,0 +DA:200,0 +LF:63 +LH:0 +BRDA:50,0,0,0 +BRDA:50,0,1,0 +BRDA:93,1,0,0 +BRDA:93,1,1,0 +BRDA:124,2,0,0 +BRDA:124,2,1,0 +BRDA:130,3,0,0 +BRDA:130,3,1,0 +BRDA:132,4,0,0 +BRDA:132,4,1,0 +BRDA:169,5,0,0 +BRDA:169,5,1,0 +BRDA:175,6,0,0 +BRDA:175,6,1,0 +BRDA:180,7,0,0 +BRDA:180,7,1,0 +BRDA:191,8,0,0 +BRDA:191,8,1,0 +BRDA:192,9,0,0 +BRDA:192,9,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/tokens-studio/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/app/store/providers/tokens-studio/tokensStudio.tsx +FN:52,(anonymous_0) +FN:62,(anonymous_1) +FN:75,useTokensStudio +FN:85,(anonymous_3) +FN:91,(anonymous_4) +FN:165,(anonymous_5) +FN:198,(anonymous_6) +FN:232,(anonymous_7) +FN:256,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,useTokensStudio +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:65,0 +DA:67,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:90,0 +DA:92,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:101,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:120,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:135,0 +DA:136,0 +DA:142,0 +DA:164,0 +DA:166,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:176,0 +DA:177,0 +DA:181,0 +DA:187,0 +DA:192,0 +DA:197,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:203,0 +DA:204,0 +DA:206,0 +DA:212,0 +DA:213,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:231,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:241,0 +DA:245,0 +DA:255,0 +DA:256,0 +LF:70 +LH:0 +BRDA:53,0,0,0 +BRDA:53,0,1,0 +BRDA:96,1,0,0 +BRDA:96,1,1,0 +BRDA:170,2,0,0 +BRDA:170,2,1,0 +BRDA:176,3,0,0 +BRDA:176,3,1,0 +BRDA:179,4,0,0 +BRDA:179,4,1,0 +BRDA:203,5,0,0 +BRDA:203,5,1,0 +BRDA:203,6,0,0 +BRDA:203,6,1,0 +BRDA:217,7,0,0 +BRDA:217,7,1,0 +BRDA:234,8,0,0 +BRDA:234,8,1,0 +BRDA:234,9,0,0 +BRDA:234,9,1,0 +BRDA:247,10,0,0 +BRDA:247,10,1,0 +BRDA:248,11,0,0 +BRDA:248,11,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/app/store/utils/updateAliasesInState.ts +FN:6,updateAliasesInState +FN:9,(anonymous_1) +FN:10,(anonymous_2) +FN:21,(anonymous_3) +FN:21,(anonymous_4) +FN:38,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,updateAliasesInState +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:44,0 +DA:47,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:59,0 +DA:64,0 +DA:65,0 +DA:69,0 +DA:70,0 +DA:74,0 +LF:30 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:27,4,0,0 +BRDA:27,4,1,0 +BRDA:37,5,0,0 +BRDA:37,5,1,0 +BRDA:43,6,0,0 +BRDA:43,6,1,0 +BRDA:44,7,0,0 +BRDA:44,7,1,0 +BRDA:54,8,0,0 +BRDA:54,8,1,0 +BRDA:55,9,0,0 +BRDA:55,9,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/app/store/utils/updateModify.ts +FN:4,updateModify +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateModify +FNDA:0,(anonymous_1) +DA:5,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:14,0 +DA:18,0 +LF:7 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:8,2,0,0 +BRDA:8,2,1,0 +BRDA:8,3,0,0 +BRDA:8,3,1,0 +BRDA:8,3,2,0 +BRDA:24,4,0,0 +BRDA:24,4,1,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/config/properties.js +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/config/tokenType.defs.json.d.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/config/tokenTypes.js +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/AliasRegex.ts +FNF:0 +FNH:0 +DA:2,0 +DA:5,0 +DA:7,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ApplyVariablesStyleOrder.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/BackgroundJobs.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/BoxShadowTypes.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ColorModifierTypes.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ColorSpaceTypes.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/DefaultWindowSize.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/Direction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/DocumentationProperties.ts +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/EditTokenFormStatus.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ErrorMessages.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ExportProviderType.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/InternalTokenGroup.ts +FNF:0 +FNH:0 +DA:1,0 +DA:2,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/LicenseStatus.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/LoadProviderType.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ModalOptions.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/Properties.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/SharedPluginDataKeys.ts +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/SharedPluginDataNamespaces.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/StorageProviderType.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/StyleIdBackupKeys.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/StyleOptions.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/SystemFilenames.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/Tabs.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/TokenSetStatus.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/TokenTypes.ts +FNF:0 +FNH:0 +DA:29,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/UpdateMode.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/ValidNodeTypes.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/VariableTypes.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/defaultBaseFontSize.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/docUrls.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/constants/numberRegex.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/context/AuthContext.tsx +FN:13,(anonymous_0) +FN:14,(anonymous_1) +FN:15,(anonymous_2) +FN:18,(anonymous_3) +FN:23,(anonymous_4) +FN:34,handleLogin +FN:43,handleLogout +FN:54,(anonymous_7) +FN:71,(anonymous_8) +FN:88,(anonymous_9) +FN:89,checkAuthData +FN:90,(anonymous_11) +FN:105,(anonymous_12) +FN:120,(anonymous_13) +FNF:14 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,handleLogin +FNDA:0,handleLogout +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,checkAuthData +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +DA:11,0 +DA:21,0 +DA:23,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:37,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:68,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:85,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:94,0 +DA:99,0 +DA:100,0 +DA:104,0 +DA:105,0 +DA:117,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:125,0 +LF:45 +LH:0 +BRDA:57,0,0,0 +BRDA:57,0,1,0 +BRDA:58,1,0,0 +BRDA:58,1,1,0 +BRDA:74,2,0,0 +BRDA:74,2,1,0 +BRDA:75,3,0,0 +BRDA:75,3,1,0 +BRDA:91,4,0,0 +BRDA:91,4,1,0 +BRDA:99,5,0,0 +BRDA:99,5,1,0 +BRDA:106,6,0,0 +BRDA:106,6,1,0 +BRDA:122,7,0,0 +BRDA:122,7,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/context/DragControlsContext.tsx +FNF:0 +FNH:0 +DA:8,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/context/ReorderContext.ts +FNF:0 +FNH:0 +DA:16,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/context/TokensContext.ts +FNF:0 +FNH:0 +DA:8,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/context/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/ActiveThemeProperty.ts +FN:9,(anonymous_0) +FN:10,(anonymous_1) +FN:10,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:9,0 +DA:10,0 +DA:11,0 +LF:4 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/ApiProvidersProperty.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FN:13,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:5,0 +DA:8,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +LF:6 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/AuthDataProperty.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:5,0 +DA:8,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/CheckForChangesProperty.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:5,0 +DA:8,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/ClientStorageCleanup.ts +FN:1,cleanupOldTokenPrefixes +FN:4,(anonymous_1) +FN:6,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,cleanupOldTokenPrefixes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:2,0 +DA:4,0 +DA:6,0 +DA:8,0 +DA:9,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/ClientStorageProperty.ts +FN:9,(anonymous_0) +FN:26,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:51,0 +LF:28 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRDA:29,3,0,0 +BRDA:29,3,1,0 +BRDA:32,4,0,0 +BRDA:32,4,1,0 +BRDA:37,5,0,0 +BRDA:37,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/CollapsedTokenSetsProperty.ts +FN:9,(anonymous_0) +FN:10,(anonymous_1) +FN:10,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +LF:5 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/FigmaStorageProperty.ts +FN:14,(anonymous_0) +FN:16,(anonymous_1) +FN:18,(anonymous_2) +FN:36,(anonymous_3) +FN:60,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:10,0 +DA:14,0 +DA:16,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:72,0 +LF:26 +LH:0 +BRDA:26,0,0,0 +BRDA:26,0,1,0 +BRDA:27,1,0,0 +BRDA:27,1,1,0 +BRDA:36,2,0,0 +BRDA:36,3,0,0 +BRDA:37,4,0,0 +BRDA:37,4,1,0 +BRDA:39,5,0,0 +BRDA:39,5,1,0 +BRDA:42,6,0,0 +BRDA:42,6,1,0 +BRDA:48,7,0,0 +BRDA:48,7,1,0 +BRDA:60,8,0,0 +BRDA:60,9,0,0 +BRDA:61,10,0,0 +BRDA:61,10,1,0 +BRDA:62,11,0,0 +BRDA:62,11,1,0 +BRDA:66,12,0,0 +BRDA:66,12,1,0 +BRDA:71,13,0,0 +BRDA:71,13,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/FileKeyProperty.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:5,0 +DA:8,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/InitialLoadProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/IsCompressedProperty.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:5,0 +DA:8,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/LastOpenedProperty.ts +FN:6,(anonymous_0) +FN:7,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:3,0 +DA:6,0 +DA:7,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/LicenseKeyProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/OnboardingExplainerExportSetsProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/OnboardingExplainerInspectProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/OnboardingExplainerSetsProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/StorageSizeManager.ts +FN:5,getStorageSize +FN:8,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getStorageSize +FNDA:0,(anonymous_1) +DA:3,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +LF:9 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/StorageTypeProperty.ts +FN:11,(anonymous_0) +FN:12,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:8,0 +DA:11,0 +DA:12,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/ThemesProperty.ts +FN:11,(anonymous_0) +FN:12,(anonymous_1) +FN:12,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:8,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +LF:9 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/TokenFormatProperty.ts +FNF:0 +FNH:0 +DA:6,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/UiSettingsProperty.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:5,0 +DA:8,0 +DA:9,0 +LF:3 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/UpdatedAtProperty.ts +FNF:0 +FNH:0 +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/UsedEmailProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/UsedTokenSetProperty.ts +FN:10,(anonymous_0) +FN:11,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:7,0 +DA:10,0 +DA:11,0 +LF:3 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/UserIdProperty.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/ValuesProperty.ts +FN:11,(anonymous_0) +FN:12,(anonymous_1) +FN:12,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:8,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +LF:7 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/VersionProperty.ts +FNF:0 +FNH:0 +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/figmaStorage/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/useChangedState.ts +FN:15,useChangedState +FN:24,(anonymous_1) +FN:33,(anonymous_2) +FN:45,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useChangedState +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:50,0 +DA:53,0 +LF:18 +LH:0 +BRDA:29,0,0,0 +BRDA:29,0,1,0 +BRDA:39,1,0,0 +BRDA:39,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/hooks/useDelayedFlag.ts +FN:3,useDelayedFlag +FN:6,(anonymous_1) +FN:10,(anonymous_2) +FN:11,(anonymous_3) +FN:16,(anonymous_4) +FN:17,(anonymous_5) +FN:22,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,useDelayedFlag +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:4,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:22,0 +DA:25,0 +LF:15 +LH:0 +BRDA:3,0,0,0 +BRDA:3,1,0,0 +BRDA:3,2,0,0 +BRDA:3,3,0,0 +BRDA:7,4,0,0 +BRDA:7,4,1,0 +BRDA:8,5,0,0 +BRDA:8,5,1,0 +BRDA:9,6,0,0 +BRDA:9,6,1,0 +BRDA:14,7,0,0 +BRDA:14,7,1,0 +BRDA:15,8,0,0 +BRDA:15,8,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/hooks/useFigmaFonts.tsx +FN:7,useFigmaFonts +FN:11,(anonymous_1) +FN:18,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,useFigmaFonts +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:8,0 +DA:11,0 +DA:12,0 +DA:15,0 +DA:18,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/useFigmaTheme.ts +FN:3,useFigmaTheme +FN:6,(anonymous_1) +FN:11,(anonymous_2) +FN:21,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,useFigmaTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:4,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +DA:21,0 +DA:24,0 +LF:11 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/hooks/useGetActiveState.ts +FN:8,useGetActiveState +FN:9,(anonymous_1) +FN:19,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,useGetActiveState +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:11,0 +DA:15,0 +DA:17,0 +DA:21,0 +LF:6 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/hooks/useSetNodeData.ts +FN:10,useSetNodeData +FN:13,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,useSetNodeData +FNDA:0,(anonymous_1) +DA:11,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:23,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/useShortcut.ts +FN:6,useShortcut +FN:11,(anonymous_1) +FN:19,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,useShortcut +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:7,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/hooks/useProcess/CanceledError.ts +FN:2,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/useProcess/ProcessCancelToken.ts +FN:10,(anonymous_0) +FN:11,(anonymous_1) +FN:14,(anonymous_2) +FN:16,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:4,0 +DA:6,0 +DA:11,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +LF:8 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/hooks/useProcess/ProcessStepStatus.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/useProcess/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/hooks/useProcess/useProcess.ts +FN:13,useProcess +FN:16,(anonymous_1) +FN:18,(anonymous_2) +FN:24,(anonymous_3) +FN:29,(anonymous_4) +FN:33,(anonymous_5) +FN:34,(anonymous_6) +FN:37,(anonymous_7) +FN:52,(anonymous_8) +FN:56,(anonymous_9) +FN:65,(anonymous_10) +FN:66,(anonymous_11) +FN:75,(anonymous_12) +FN:80,(anonymous_13) +FNF:14 +FNH:0 +FNDA:0,useProcess +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +LF:39 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:19,0,2,0 +BRDA:30,1,0,0 +BRDA:30,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRDA:38,3,0,0 +BRDA:38,3,1,0 +BRDA:57,4,0,0 +BRDA:57,4,1,0 +BRDA:67,5,0,0 +BRDA:67,5,1,0 +BRDA:67,6,0,0 +BRDA:67,6,1,0 +BRF:15 +BRH:0 +end_of_record +TN: +SF:src/i18n/i18next.d.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/i18n/index.ts +FN:61,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:11,0 +DA:13,0 +DA:15,0 +DA:27,0 +DA:52,0 +DA:61,0 +LF:6 +LH:0 +BRDA:61,0,0,0 +BRDA:61,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/i18n/lang/en/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/i18n/lang/es/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/i18n/lang/fr/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/i18n/lang/hi/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/i18n/lang/nl/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/i18n/lang/zh/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/icons/index.tsx +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/mocks/browser.ts +FNF:0 +FNH:0 +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/mocks/handlers.ts +FN:14,(anonymous_0) +FN:24,(anonymous_1) +FN:40,(anonymous_2) +FN:63,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:53,0 +DA:56,0 +DA:63,0 +LF:26 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:27,1,0,0 +BRDA:27,1,1,0 +BRDA:42,2,0,0 +BRDA:42,2,1,0 +BRDA:45,3,0,0 +BRDA:45,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/mocks/server.ts +FNF:0 +FNH:0 +DA:6,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/motion/ReorderGroup.tsx +FN:20,getValue +FN:24,compareMin +FN:28,ReorderGroup +FN:42,(anonymous_3) +FN:44,(anonymous_4) +FN:47,(anonymous_5) +FN:53,(anonymous_6) +FN:63,(anonymous_7) +FN:69,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,getValue +FNDA:0,compareMin +FNDA:0,ReorderGroup +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:21,0 +DA:25,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:45,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:54,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:69,0 +DA:70,0 +DA:73,0 +LF:19 +LH:0 +BRDA:45,0,0,0 +BRDA:45,0,1,0 +BRDA:46,1,0,0 +BRDA:46,1,1,0 +BRDA:54,2,0,0 +BRDA:54,2,1,0 +BRDA:56,3,0,0 +BRDA:56,3,1,0 +BRDA:58,4,0,0 +BRDA:58,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/motion/ReorderItem.tsx +FN:17,useDefaultMotionValue +FN:23,ReorderItem +FN:43,(anonymous_2) +FN:47,(anonymous_3) +FN:55,(anonymous_4) +FN:59,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,useDefaultMotionValue +FNDA:0,ReorderItem +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:20,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:43,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:55,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:63,0 +LF:17 +LH:0 +BRDA:17,0,0,0 +BRDA:20,1,0,0 +BRDA:20,1,1,0 +BRDA:29,2,0,0 +BRDA:43,3,0,0 +BRDA:43,3,1,0 +BRDA:43,4,0,0 +BRDA:43,4,1,0 +BRDA:49,5,0,0 +BRDA:49,5,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/CanceledError.ts +FN:2,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/NodeManager.ts +FN:20,(anonymous_0) +FN:21,(anonymous_1) +FN:24,(anonymous_2) +FN:25,(anonymous_3) +FN:32,(anonymous_4) +FN:43,(anonymous_5) +FN:77,(anonymous_6) +FN:79,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:18,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:64,0 +DA:67,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:82,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:93,0 +DA:95,0 +DA:100,0 +DA:104,0 +LF:37 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:57,2,0,0 +BRDA:57,2,1,0 +BRDA:59,3,0,0 +BRDA:59,3,1,0 +BRDA:61,4,0,0 +BRDA:61,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/ProgressTracker.ts +FN:16,(anonymous_0) +FN:23,(anonymous_1) +FN:30,(anonymous_2) +FN:34,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:8,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:42,0 +DA:43,0 +LF:16 +LH:0 +BRDA:16,0,0,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:35,2,0,0 +BRDA:35,2,1,0 +BRDA:40,3,0,0 +BRDA:40,3,1,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/plugin/ResolvedTypographyObject.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/SharedDataHandler.ts +FN:7,(anonymous_0) +FN:11,(anonymous_1) +FN:15,(anonymous_2) +FN:23,(anonymous_3) +FN:26,(anonymous_4) +FN:45,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:8,0 +DA:12,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:40,0 +DA:42,0 +DA:46,0 +DA:50,0 +LF:20 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:27,2,0,0 +BRDA:27,2,1,0 +BRDA:29,3,0,0 +BRDA:29,3,1,0 +BRDA:33,4,0,0 +BRDA:33,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/TokenFormatStoreClass.ts +FN:20,(anonymous_0) +FN:27,(anonymous_1) +FN:34,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:37,0 +DA:38,0 +LF:13 +LH:0 +BRDA:29,0,0,0 +BRDA:29,0,1,0 +BRDA:30,1,0,0 +BRDA:30,1,1,0 +BRDA:31,2,0,0 +BRDA:31,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/TokenValueRetriever.ts +FN:22,(anonymous_0) +FN:27,(anonymous_1) +FN:28,(anonymous_2) +FN:33,(anonymous_3) +FN:58,(anonymous_4) +FN:75,(anonymous_5) +FN:79,(anonymous_6) +FN:108,(anonymous_7) +FN:112,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:23,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:76,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:99,0 +DA:100,0 +DA:104,0 +DA:105,0 +DA:109,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:123,0 +LF:46 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:23,1,0,0 +BRDA:23,1,1,0 +BRDA:38,2,0,0 +BRDA:39,3,0,0 +BRDA:40,4,0,0 +BRDA:50,5,0,0 +BRDA:50,5,1,0 +BRDA:53,6,0,0 +BRDA:53,6,1,0 +BRDA:54,7,0,0 +BRDA:54,7,1,0 +BRDA:63,8,0,0 +BRDA:63,8,1,0 +BRDA:63,8,2,0 +BRDA:64,9,0,0 +BRDA:64,9,1,0 +BRDA:70,10,0,0 +BRDA:70,10,1,0 +BRDA:82,11,0,0 +BRDA:82,11,1,0 +BRDA:84,12,0,0 +BRDA:84,12,1,0 +BRDA:88,13,0,0 +BRDA:88,13,1,0 +BRDA:88,14,0,0 +BRDA:88,14,1,0 +BRDA:89,15,0,0 +BRDA:89,15,1,0 +BRDA:90,16,0,0 +BRDA:90,16,1,0 +BRDA:90,17,0,0 +BRDA:90,17,1,0 +BRDA:93,18,0,0 +BRDA:93,18,1,0 +BRDA:104,19,0,0 +BRDA:104,19,1,0 +BRDA:113,20,0,0 +BRDA:113,20,1,0 +BRDA:114,21,0,0 +BRDA:114,21,1,0 +BRDA:115,22,0,0 +BRDA:115,22,1,0 +BRDA:116,23,0,0 +BRDA:116,23,1,0 +BRDA:117,24,0,0 +BRDA:117,24,1,0 +BRDA:118,25,0,0 +BRDA:118,25,1,0 +BRDA:119,26,0,0 +BRDA:119,26,1,0 +BRF:52 +BRH:0 +end_of_record +TN: +SF:src/plugin/Worker.ts +FN:18,(anonymous_0) +FN:26,(anonymous_1) +FN:27,(anonymous_2) +FN:46,(anonymous_3) +FN:49,(anonymous_4) +FN:50,(anonymous_5) +FN:59,(anonymous_6) +FN:65,(anonymous_7) +FN:69,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:77,0 +DA:78,0 +LF:40 +LH:0 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRDA:39,1,0,0 +BRDA:39,1,1,0 +BRDA:70,2,0,0 +BRDA:70,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyAssetTokenValuesOnNode.ts +FN:5,applyAssetTokenValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyAssetTokenValuesOnNode +DA:10,0 +DA:11,0 +LF:2 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:10,1,2,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyBackgroundBlurValuesOnNode.ts +FN:6,applyBackgroundBlurValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyBackgroundBlurValuesOnNode +DA:12,0 +DA:13,0 +LF:2 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:12,1,2,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyBooleanTokenValuesOnNode.ts +FN:5,applyBooleanTokenValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyBooleanTokenValuesOnNode +DA:10,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +LF:5 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:11,1,2,0 +BRDA:11,1,3,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:18,3,0,0 +BRDA:18,3,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyBorderRadiusValuesOnNode.ts +FN:7,applyBorderRadiusValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyBorderRadiusValuesOnNode +DA:13,0 +DA:17,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:34,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:63,0 +DA:66,0 +DA:72,0 +DA:73,0 +DA:76,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:92,0 +DA:93,0 +DA:96,0 +DA:102,0 +DA:103,0 +LF:39 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRDA:18,3,0,0 +BRDA:18,3,1,0 +BRDA:18,3,2,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:23,4,2,0 +BRDA:23,4,3,0 +BRDA:23,4,4,0 +BRDA:25,5,0,0 +BRDA:25,5,1,0 +BRDA:26,6,0,0 +BRDA:26,6,1,0 +BRDA:28,7,0,0 +BRDA:28,7,1,0 +BRDA:28,7,2,0 +BRDA:28,7,3,0 +BRDA:39,8,0,0 +BRDA:39,8,1,0 +BRDA:47,9,0,0 +BRDA:47,9,1,0 +BRDA:55,10,0,0 +BRDA:55,10,1,0 +BRDA:66,11,0,0 +BRDA:66,11,1,0 +BRDA:67,12,0,0 +BRDA:67,12,1,0 +BRDA:67,12,2,0 +BRDA:67,12,3,0 +BRDA:72,13,0,0 +BRDA:72,13,1,0 +BRDA:76,14,0,0 +BRDA:76,14,1,0 +BRDA:77,15,0,0 +BRDA:77,15,1,0 +BRDA:77,15,2,0 +BRDA:77,15,3,0 +BRDA:82,16,0,0 +BRDA:82,16,1,0 +BRDA:86,17,0,0 +BRDA:86,17,1,0 +BRDA:87,18,0,0 +BRDA:87,18,1,0 +BRDA:87,18,2,0 +BRDA:87,18,3,0 +BRDA:92,19,0,0 +BRDA:92,19,1,0 +BRDA:96,20,0,0 +BRDA:96,20,1,0 +BRDA:97,21,0,0 +BRDA:97,21,1,0 +BRDA:97,21,2,0 +BRDA:97,21,3,0 +BRDA:102,22,0,0 +BRDA:102,22,1,0 +BRF:60 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyBorderValuesOnNode.ts +FN:7,applyBorderValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyBorderValuesOnNode +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:31,0 +DA:32,0 +DA:40,0 +DA:41,0 +DA:42,0 +LF:15 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:20,4,0,0 +BRDA:20,4,1,0 +BRDA:20,5,0,0 +BRDA:20,5,1,0 +BRDA:23,6,0,0 +BRDA:23,6,1,0 +BRDA:23,7,0,0 +BRDA:23,7,1,0 +BRDA:26,8,0,0 +BRDA:26,8,1,0 +BRDA:26,9,0,0 +BRDA:26,9,1,0 +BRDA:31,10,0,0 +BRDA:31,10,1,0 +BRDA:31,11,0,0 +BRDA:31,11,1,0 +BRDA:31,11,2,0 +BRDA:40,12,0,0 +BRDA:40,12,1,0 +BRDA:40,13,0,0 +BRDA:40,13,1,0 +BRDA:41,14,0,0 +BRDA:41,14,1,0 +BRDA:41,15,0,0 +BRDA:41,15,1,0 +BRF:33 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyBorderWidthValuesOnNode.ts +FN:7,applyBorderWidthValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyBorderWidthValuesOnNode +DA:14,0 +DA:27,0 +DA:30,0 +DA:36,0 +DA:39,0 +DA:45,0 +DA:48,0 +DA:54,0 +DA:57,0 +DA:63,0 +LF:10 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:15,1,2,0 +BRDA:15,1,3,0 +BRDA:15,1,4,0 +BRDA:21,2,0,0 +BRDA:21,2,1,0 +BRDA:21,2,2,0 +BRDA:21,2,3,0 +BRDA:30,3,0,0 +BRDA:30,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:31,4,2,0 +BRDA:31,4,3,0 +BRDA:39,5,0,0 +BRDA:39,5,1,0 +BRDA:40,6,0,0 +BRDA:40,6,1,0 +BRDA:40,6,2,0 +BRDA:40,6,3,0 +BRDA:48,7,0,0 +BRDA:48,7,1,0 +BRDA:49,8,0,0 +BRDA:49,8,1,0 +BRDA:49,8,2,0 +BRDA:49,8,3,0 +BRDA:57,9,0,0 +BRDA:57,9,1,0 +BRDA:58,10,0,0 +BRDA:58,10,1,0 +BRDA:58,10,2,0 +BRDA:58,10,3,0 +BRF:35 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyColorTokenOnNode.ts +FN:10,applyColorTokenOnNode +FNF:1 +FNH:0 +FNDA:0,applyColorTokenOnNode +DA:11,0 +DA:12,0 +DA:13,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:37,0 +DA:42,0 +DA:43,0 +LF:16 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRDA:14,1,3,0 +BRDA:14,1,4,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,0 +BRDA:28,4,0,0 +BRDA:28,4,1,0 +BRDA:32,5,0,0 +BRDA:32,5,1,0 +BRDA:42,6,0,0 +BRDA:42,6,1,0 +BRDA:42,7,0,0 +BRDA:42,7,1,0 +BRDA:42,7,2,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyDimensionTokenValuesOnNode.ts +FN:7,applyDimensionTokenValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyDimensionTokenValuesOnNode +DA:13,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:33,0 +DA:34,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRDA:27,6,0,0 +BRDA:27,6,1,0 +BRDA:29,7,0,0 +BRDA:29,7,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyNumberTokenValuesOnNode.ts +FN:7,applyNumberTokenValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyNumberTokenValuesOnNode +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:29,0 +DA:30,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:13,1,2,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,0 +BRDA:19,4,0,0 +BRDA:19,4,1,0 +BRDA:22,5,0,0 +BRDA:22,5,1,0 +BRDA:23,6,0,0 +BRDA:23,6,1,0 +BRDA:25,7,0,0 +BRDA:25,7,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyOpacityValuesOnNode.ts +FN:7,applyOpacityValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyOpacityValuesOnNode +DA:14,0 +DA:21,0 +LF:2 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:15,1,2,0 +BRDA:15,1,3,0 +BRDA:15,1,4,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyPositionTokenOnNode.ts +FN:7,applyPositionTokenOnNode +FNF:1 +FNH:0 +FNDA:0,applyPositionTokenOnNode +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +LF:7 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,0 +BRDA:19,4,0,0 +BRDA:19,4,1,0 +BRDA:19,5,0,0 +BRDA:19,5,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyRotationValuesOnNode.ts +FN:8,applyRotationValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyRotationValuesOnNode +DA:15,0 +DA:22,0 +DA:23,0 +LF:3 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:16,1,2,0 +BRDA:16,1,3,0 +BRDA:16,1,4,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyShadowValuesOnNode.ts +FN:10,applyShadowValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyShadowValuesOnNode +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:36,0 +DA:42,0 +DA:43,0 +DA:44,0 +LF:17 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:16,1,2,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:22,3,0,0 +BRDA:22,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRDA:27,6,0,0 +BRDA:27,6,1,0 +BRDA:31,7,0,0 +BRDA:31,7,1,0 +BRDA:42,8,0,0 +BRDA:42,8,1,0 +BRDA:42,9,0,0 +BRDA:42,9,1,0 +BRDA:42,9,2,0 +BRDA:43,10,0,0 +BRDA:43,10,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/plugin/applySizingValuesOnNode.ts +FN:9,applySizingValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applySizingValuesOnNode +DA:17,0 +DA:27,0 +DA:28,0 +DA:32,0 +DA:39,0 +DA:43,0 +DA:50,0 +DA:54,0 +DA:62,0 +DA:69,0 +DA:73,0 +DA:80,0 +DA:84,0 +DA:91,0 +DA:95,0 +DA:102,0 +LF:16 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:18,1,2,0 +BRDA:18,1,3,0 +BRDA:18,1,4,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRDA:32,3,0,0 +BRDA:32,3,1,0 +BRDA:33,4,0,0 +BRDA:33,4,1,0 +BRDA:33,4,2,0 +BRDA:33,4,3,0 +BRDA:33,4,4,0 +BRDA:43,5,0,0 +BRDA:43,5,1,0 +BRDA:44,6,0,0 +BRDA:44,6,1,0 +BRDA:44,6,2,0 +BRDA:44,6,3,0 +BRDA:44,6,4,0 +BRDA:54,7,0,0 +BRDA:54,7,1,0 +BRDA:55,8,0,0 +BRDA:55,8,1,0 +BRDA:55,8,2,0 +BRDA:55,8,3,0 +BRDA:55,8,4,0 +BRDA:55,8,5,0 +BRDA:55,8,6,0 +BRDA:55,8,7,0 +BRDA:62,9,0,0 +BRDA:62,9,1,0 +BRDA:63,10,0,0 +BRDA:63,10,1,0 +BRDA:63,10,2,0 +BRDA:63,10,3,0 +BRDA:63,10,4,0 +BRDA:73,11,0,0 +BRDA:73,11,1,0 +BRDA:74,12,0,0 +BRDA:74,12,1,0 +BRDA:74,12,2,0 +BRDA:74,12,3,0 +BRDA:74,12,4,0 +BRDA:84,13,0,0 +BRDA:84,13,1,0 +BRDA:85,14,0,0 +BRDA:85,14,1,0 +BRDA:85,14,2,0 +BRDA:85,14,3,0 +BRDA:85,14,4,0 +BRDA:95,15,0,0 +BRDA:95,15,1,0 +BRDA:96,16,0,0 +BRDA:96,16,1,0 +BRDA:96,16,2,0 +BRDA:96,16,3,0 +BRDA:96,16,4,0 +BRF:61 +BRH:0 +end_of_record +TN: +SF:src/plugin/applySpacingValuesOnNode.ts +FN:7,applySpacingValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applySpacingValuesOnNode +DA:14,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:60,0 +DA:66,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:83,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:95,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:106,0 +DA:107,0 +DA:111,0 +DA:117,0 +DA:118,0 +DA:122,0 +DA:128,0 +DA:129,0 +DA:132,0 +DA:138,0 +DA:139,0 +DA:143,0 +DA:149,0 +DA:150,0 +DA:154,0 +DA:160,0 +DA:161,0 +LF:58 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:15,1,2,0 +BRDA:15,1,3,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRDA:22,2,2,0 +BRDA:22,2,3,0 +BRDA:22,2,4,0 +BRDA:24,3,0,0 +BRDA:24,3,1,0 +BRDA:26,4,0,0 +BRDA:26,4,1,0 +BRDA:26,4,2,0 +BRDA:26,4,3,0 +BRDA:60,5,0,0 +BRDA:60,5,1,0 +BRDA:61,6,0,0 +BRDA:61,6,1,0 +BRDA:61,6,2,0 +BRDA:61,6,3,0 +BRDA:66,7,0,0 +BRDA:66,7,1,0 +BRDA:68,8,0,0 +BRDA:68,8,1,0 +BRDA:77,9,0,0 +BRDA:77,9,1,0 +BRDA:78,10,0,0 +BRDA:78,10,1,0 +BRDA:78,10,2,0 +BRDA:78,10,3,0 +BRDA:83,11,0,0 +BRDA:83,11,1,0 +BRDA:85,12,0,0 +BRDA:85,12,1,0 +BRDA:95,13,0,0 +BRDA:95,13,1,0 +BRDA:96,14,0,0 +BRDA:96,14,1,0 +BRDA:96,14,2,0 +BRDA:96,14,3,0 +BRDA:101,15,0,0 +BRDA:101,15,1,0 +BRDA:103,16,0,0 +BRDA:103,16,1,0 +BRDA:106,17,0,0 +BRDA:106,17,1,0 +BRDA:111,18,0,0 +BRDA:111,18,1,0 +BRDA:112,19,0,0 +BRDA:112,19,1,0 +BRDA:112,19,2,0 +BRDA:112,19,3,0 +BRDA:117,20,0,0 +BRDA:117,20,1,0 +BRDA:122,21,0,0 +BRDA:122,21,1,0 +BRDA:123,22,0,0 +BRDA:123,22,1,0 +BRDA:123,22,2,0 +BRDA:123,22,3,0 +BRDA:128,23,0,0 +BRDA:128,23,1,0 +BRDA:132,24,0,0 +BRDA:132,24,1,0 +BRDA:133,25,0,0 +BRDA:133,25,1,0 +BRDA:133,25,2,0 +BRDA:133,25,3,0 +BRDA:138,26,0,0 +BRDA:138,26,1,0 +BRDA:143,27,0,0 +BRDA:143,27,1,0 +BRDA:144,28,0,0 +BRDA:144,28,1,0 +BRDA:144,28,2,0 +BRDA:144,28,3,0 +BRDA:149,29,0,0 +BRDA:149,29,1,0 +BRDA:154,30,0,0 +BRDA:154,30,1,0 +BRDA:155,31,0,0 +BRDA:155,31,1,0 +BRDA:155,31,2,0 +BRDA:155,31,3,0 +BRDA:160,32,0,0 +BRDA:160,32,1,0 +BRF:89 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyTextCharacterValuesOnNode.ts +FN:6,applyTextCharacterValuesOnNode +FNF:1 +FNH:0 +FNDA:0,applyTextCharacterValuesOnNode +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:23,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +LF:22 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:24,5,0,0 +BRDA:24,5,1,0 +BRDA:24,5,2,0 +BRDA:24,5,3,0 +BRDA:29,6,0,0 +BRDA:29,6,1,0 +BRDA:35,7,0,0 +BRDA:35,7,1,0 +BRDA:36,8,0,0 +BRDA:36,8,1,0 +BRDA:36,9,0,0 +BRDA:36,9,1,0 +BRDA:39,10,0,0 +BRDA:39,10,1,0 +BRDA:45,11,0,0 +BRDA:45,11,1,0 +BRDA:46,12,0,0 +BRDA:46,12,1,0 +BRDA:46,13,0,0 +BRDA:46,13,1,0 +BRDA:53,14,0,0 +BRDA:53,14,1,0 +BRDA:54,15,0,0 +BRDA:54,15,1,0 +BRDA:54,16,0,0 +BRDA:54,16,1,0 +BRF:36 +BRH:0 +end_of_record +TN: +SF:src/plugin/applyTypographyTokenOnNode.ts +FN:11,formatValue +FN:18,buildResolvedValueObject +FN:46,buildValueObject +FN:66,applyTypographyTokenOnNode +FNF:4 +FNH:0 +FNDA:0,formatValue +FNDA:0,buildResolvedValueObject +FNDA:0,buildValueObject +FNDA:0,applyTypographyTokenOnNode +DA:12,0 +DA:13,0 +DA:15,0 +DA:19,0 +DA:47,0 +DA:49,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:90,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:98,0 +DA:99,0 +DA:102,0 +LF:24 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:21,2,0,0 +BRDA:21,2,1,0 +BRDA:21,2,2,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:26,3,2,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:31,4,2,0 +BRDA:36,5,0,0 +BRDA:36,5,1,0 +BRDA:36,5,2,0 +BRDA:38,6,0,0 +BRDA:38,6,1,0 +BRDA:39,7,0,0 +BRDA:39,7,1,0 +BRDA:40,8,0,0 +BRDA:40,8,1,0 +BRDA:41,9,0,0 +BRDA:41,9,1,0 +BRDA:42,10,0,0 +BRDA:42,10,1,0 +BRDA:47,11,0,0 +BRDA:47,11,1,0 +BRDA:50,12,0,0 +BRDA:50,12,1,0 +BRDA:51,13,0,0 +BRDA:51,13,1,0 +BRDA:52,14,0,0 +BRDA:52,14,1,0 +BRDA:53,15,0,0 +BRDA:53,15,1,0 +BRDA:54,16,0,0 +BRDA:54,16,1,0 +BRDA:55,17,0,0 +BRDA:55,17,1,0 +BRDA:58,18,0,0 +BRDA:58,18,1,0 +BRDA:61,19,0,0 +BRDA:61,19,1,0 +BRDA:62,20,0,0 +BRDA:62,20,1,0 +BRDA:72,21,0,0 +BRDA:72,21,1,0 +BRDA:74,22,0,0 +BRDA:74,22,1,0 +BRDA:78,23,0,0 +BRDA:78,23,1,0 +BRDA:78,24,0,0 +BRDA:78,24,1,0 +BRDA:78,24,2,0 +BRDA:81,25,0,0 +BRDA:81,25,1,0 +BRDA:81,26,0,0 +BRDA:81,26,1,0 +BRDA:84,27,0,0 +BRDA:84,27,1,0 +BRDA:84,28,0,0 +BRDA:84,28,1,0 +BRDA:90,29,0,0 +BRDA:90,29,1,0 +BRDA:90,30,0,0 +BRDA:90,30,1,0 +BRDA:92,31,0,0 +BRDA:92,31,1,0 +BRDA:92,32,0,0 +BRDA:92,32,1,0 +BRDA:92,32,2,0 +BRDA:92,32,3,0 +BRF:73 +BRH:0 +end_of_record +TN: +SF:src/plugin/compareStyleWithToken.ts +FN:9,compareStyleValueWithTokenValue +FNF:1 +FNH:0 +FNDA:0,compareStyleValueWithTokenValue +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:30,0 +LF:12 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:19,2,0,0 +BRDA:19,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:23,5,0,0 +BRDA:23,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/plugin/controller.ts +FN:78,(anonymous_0) +FN:82,(anonymous_1) +FN:86,(anonymous_2) +FN:90,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:18,0 +DA:19,0 +DA:23,0 +DA:28,0 +DA:32,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:78,0 +DA:79,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:87,0 +DA:90,0 +DA:92,0 +LF:52 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/createLocalVariablesInPlugin.ts +FN:28,createLocalVariablesInPlugin +FN:33,(anonymous_1) +FN:48,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,createLocalVariablesInPlugin +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:30,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:63,0 +DA:65,0 +DA:68,0 +DA:71,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:80,0 +DA:82,0 +LF:30 +LH:0 +BRDA:43,0,0,0 +BRDA:43,0,1,0 +BRDA:43,0,2,0 +BRDA:43,0,3,0 +BRDA:44,1,0,0 +BRDA:44,1,1,0 +BRDA:44,2,0,0 +BRDA:44,2,1,0 +BRDA:44,2,2,0 +BRDA:49,3,0,0 +BRDA:49,3,1,0 +BRDA:51,4,0,0 +BRDA:51,4,1,0 +BRDA:51,5,0,0 +BRDA:51,5,1,0 +BRDA:57,6,0,0 +BRDA:57,6,1,0 +BRDA:74,7,0,0 +BRDA:74,7,1,0 +BRDA:77,8,0,0 +BRDA:77,8,1,0 +BRF:21 +BRH:0 +end_of_record +TN: +SF:src/plugin/createLocalVariablesWithoutModesInPlugin.ts +FN:25,createLocalVariablesWithoutModesInPlugin +FN:38,(anonymous_1) +FN:51,(anonymous_2) +FN:53,(anonymous_3) +FN:60,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,createLocalVariablesWithoutModesInPlugin +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:48,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:64,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:76,0 +DA:78,0 +DA:81,0 +DA:82,0 +DA:85,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:91,0 +DA:93,0 +LF:36 +LH:0 +BRDA:36,0,0,0 +BRDA:36,0,1,0 +BRDA:36,0,2,0 +BRDA:36,0,3,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:61,3,0,0 +BRDA:61,3,1,0 +BRDA:64,4,0,0 +BRDA:64,4,1,0 +BRDA:64,5,0,0 +BRDA:64,5,1,0 +BRDA:70,6,0,0 +BRDA:70,6,1,0 +BRDA:85,7,0,0 +BRDA:85,7,1,0 +BRDA:88,8,0,0 +BRDA:88,8,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/plugin/createNecessaryVariableCollections.ts +FN:5,createNecessaryVariableCollections +FN:7,(anonymous_1) +FN:9,(anonymous_2) +FN:11,(anonymous_3) +FN:12,(anonymous_4) +FN:22,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,createNecessaryVariableCollections +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:6,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:15,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:39,0 +LF:20 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:12,2,0,0 +BRDA:12,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,0 +BRDA:18,4,0,0 +BRDA:18,4,1,0 +BRDA:22,5,0,0 +BRDA:22,5,1,0 +BRDA:24,6,0,0 +BRDA:24,6,1,0 +BRDA:25,7,0,0 +BRDA:25,7,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/plugin/createVariableMode.ts +FN:3,createVariableMode +FNF:1 +FNH:0 +FNDA:0,createVariableMode +DA:4,0 +DA:5,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:16,0 +DA:19,0 +LF:10 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/findCollectionAndModeIdForTheme.ts +FN:2,findCollectionAndModeIdForTheme +FN:3,(anonymous_1) +FN:9,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,findCollectionAndModeIdForTheme +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:3,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:13,0 +LF:6 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/generateTokensToCreate.ts +FN:8,generateTokensToCreate +FN:21,(anonymous_1) +FN:22,(anonymous_2) +FN:25,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,generateTokensToCreate +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +LF:6 +LH:0 +BRDA:12,0,0,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRDA:21,1,2,0 +BRDA:25,2,0,0 +BRDA:25,2,1,0 +BRDA:25,2,2,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/plugin/getAppliedStylesFromNode.ts +FN:19,getStyleFromNode +FN:37,(anonymous_1) +FN:47,getAppliedStylesFromNode +FN:52,(anonymous_3) +FN:55,(anonymous_4) +FN:72,(anonymous_5) +FN:125,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,getStyleFromNode +FNDA:0,(anonymous_1) +FNDA:0,getAppliedStylesFromNode +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:20,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:44,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:75,0 +DA:81,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:111,0 +DA:123,0 +DA:125,0 +DA:128,0 +DA:129,0 +DA:133,0 +LF:63 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:32,2,0,0 +BRDA:32,2,1,0 +BRDA:38,3,0,0 +BRDA:38,3,1,0 +BRDA:39,4,0,0 +BRDA:39,4,1,0 +BRDA:49,5,0,0 +BRDA:49,5,1,0 +BRDA:52,6,0,0 +BRDA:52,6,1,0 +BRDA:52,7,0,0 +BRDA:52,7,1,0 +BRDA:52,8,0,0 +BRDA:52,8,1,0 +BRDA:64,9,0,0 +BRDA:64,9,1,0 +BRDA:69,10,0,0 +BRDA:69,10,1,0 +BRDA:76,11,0,0 +BRDA:76,11,1,0 +BRDA:86,12,0,0 +BRDA:86,12,1,0 +BRDA:91,13,0,0 +BRDA:91,13,1,0 +BRDA:96,14,0,0 +BRDA:96,14,1,0 +BRDA:100,15,0,0 +BRDA:100,15,1,0 +BRF:32 +BRH:0 +end_of_record +TN: +SF:src/plugin/getAppliedVariablesFromNode.ts +FN:12,getAppliedVariablesFromNode +FN:15,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getAppliedVariablesFromNode +FNDA:0,(anonymous_1) +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:33,0 +DA:35,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:61,0 +DA:63,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:88,0 +LF:36 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRDA:16,3,2,0 +BRDA:18,4,0,0 +BRDA:18,4,1,0 +BRDA:20,5,0,0 +BRDA:20,5,1,0 +BRDA:23,6,0,0 +BRDA:23,6,1,0 +BRDA:43,7,0,0 +BRDA:43,7,1,0 +BRDA:43,8,0,0 +BRDA:43,8,1,0 +BRDA:46,9,0,0 +BRDA:46,9,1,0 +BRDA:48,10,0,0 +BRDA:48,10,1,0 +BRDA:48,11,0,0 +BRDA:48,11,1,0 +BRDA:48,11,2,0 +BRDA:51,12,0,0 +BRDA:51,12,1,0 +BRDA:71,13,0,0 +BRDA:71,13,1,0 +BRDA:71,14,0,0 +BRDA:71,14,1,0 +BRDA:73,15,0,0 +BRDA:73,15,1,0 +BRDA:73,16,0,0 +BRDA:73,16,1,0 +BRDA:75,17,0,0 +BRDA:75,17,1,0 +BRDA:80,18,0,0 +BRDA:80,18,1,0 +BRF:41 +BRH:0 +end_of_record +TN: +SF:src/plugin/getFigmaDashPattern.ts +FN:1,getFigmaDashPattern +FNF:1 +FNH:0 +FNDA:0,getFigmaDashPattern +DA:2,0 +DA:4,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:14,0 +LF:7 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:2,0,2,0 +BRDA:2,0,3,0 +BRDA:2,0,4,0 +BRDA:2,0,5,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/getVariablesWithoutZombies.ts +FN:6,getVariablesWithoutZombies +FN:9,(anonymous_1) +FN:9,(anonymous_2) +FN:10,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,getVariablesWithoutZombies +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +LF:6 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/helpers.ts +FN:14,getUserId +FN:32,getFileKey +FN:58,transformValue +FNF:3 +FNH:0 +FNDA:0,getUserId +FNDA:0,getFileKey +FNDA:0,transformValue +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:43,0 +DA:44,0 +DA:47,0 +DA:59,0 +DA:65,0 +DA:69,0 +DA:90,0 +DA:93,0 +DA:95,0 +DA:98,0 +DA:100,0 +DA:102,0 +DA:104,0 +DA:106,0 +DA:109,0 +DA:111,0 +LF:31 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRDA:58,2,0,0 +BRDA:59,3,0,0 +BRDA:59,3,1,0 +BRDA:59,3,2,0 +BRDA:59,3,3,0 +BRDA:59,3,4,0 +BRDA:59,3,5,0 +BRDA:59,3,6,0 +BRDA:59,3,7,0 +BRDA:59,3,8,0 +BRDA:59,3,9,0 +BRDA:59,3,10,0 +BRDA:59,3,11,0 +BRDA:59,3,12,0 +BRDA:59,3,13,0 +BRDA:59,3,14,0 +BRDA:59,3,15,0 +BRDA:59,3,16,0 +BRDA:59,3,17,0 +BRDA:59,3,18,0 +BRDA:59,3,19,0 +BRDA:59,3,20,0 +BRDA:59,3,21,0 +BRDA:59,3,22,0 +BRDA:59,3,23,0 +BRDA:59,3,24,0 +BRDA:59,3,25,0 +BRDA:59,3,26,0 +BRDA:59,3,27,0 +BRDA:59,3,28,0 +BRDA:59,3,29,0 +BRDA:59,3,30,0 +BRDA:59,3,31,0 +BRDA:59,3,32,0 +BRDA:59,3,33,0 +BRDA:59,3,34,0 +BRDA:59,3,35,0 +BRDA:59,3,36,0 +BRDA:59,3,37,0 +BRDA:59,3,38,0 +BRDA:59,3,39,0 +BRF:45 +BRH:0 +end_of_record +TN: +SF:src/plugin/mergeVariableReferences.ts +FN:8,mergeVariableReferencesWithLocalVariables +FN:12,(anonymous_1) +FN:14,(anonymous_2) +FN:21,(anonymous_3) +FN:23,(anonymous_4) +FN:30,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,mergeVariableReferencesWithLocalVariables +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:9,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:36,0 +LF:17 +LH:0 +BRDA:8,0,0,0 +BRDA:8,1,0,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:22,4,0,0 +BRDA:22,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRDA:32,6,0,0 +BRDA:32,6,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/plugin/node.ts +FN:23,returnValueToLookFor +FN:55,mapValuesToTokens +FN:56,(anonymous_2) +FN:68,(anonymous_3) +FN:102,getSavedStorageType +FN:113,getTokenData +FN:154,(anonymous_6) +FN:176,saveStorageType +FN:180,saveOnboardingExplainerSets +FN:184,saveOnboardingExplainerExportSets +FN:188,saveOnboardingExplainerSyncProviders +FN:192,saveOnboardingExplainerInspect +FN:196,goToNode +FN:208,selectNodes +FN:209,(anonymous_14) +FN:216,destructureTokenForAlias +FN:221,(anonymous_16) +FNF:17 +FNH:0 +FNDA:0,returnValueToLookFor +FNDA:0,mapValuesToTokens +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,getSavedStorageType +FNDA:0,getTokenData +FNDA:0,(anonymous_6) +FNDA:0,saveStorageType +FNDA:0,saveOnboardingExplainerSets +FNDA:0,saveOnboardingExplainerExportSets +FNDA:0,saveOnboardingExplainerSyncProviders +FNDA:0,saveOnboardingExplainerInspect +FNDA:0,goToNode +FNDA:0,selectNodes +FNDA:0,(anonymous_14) +FNDA:0,destructureTokenForAlias +FNDA:0,(anonymous_16) +DA:24,0 +DA:26,0 +DA:28,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:38,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:76,0 +DA:78,0 +DA:79,0 +DA:86,0 +DA:88,0 +DA:91,0 +DA:94,0 +DA:97,0 +DA:99,0 +DA:105,0 +DA:107,0 +DA:108,0 +DA:110,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:135,0 +DA:136,0 +DA:139,0 +DA:140,0 +DA:142,0 +DA:143,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:158,0 +DA:170,0 +DA:172,0 +DA:177,0 +DA:181,0 +DA:185,0 +DA:189,0 +DA:193,0 +DA:197,0 +DA:198,0 +DA:203,0 +DA:204,0 +DA:209,0 +DA:210,0 +DA:212,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:227,0 +DA:228,0 +DA:231,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:246,0 +DA:248,0 +DA:249,0 +DA:251,0 +DA:252,0 +DA:254,0 +DA:255,0 +DA:257,0 +DA:258,0 +DA:260,0 +LF:105 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:24,0,2,0 +BRDA:24,0,3,0 +BRDA:24,0,4,0 +BRDA:59,1,0,0 +BRDA:59,1,1,0 +BRDA:60,2,0,0 +BRDA:60,2,1,0 +BRDA:62,3,0,0 +BRDA:62,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:64,5,0,0 +BRDA:64,5,1,0 +BRDA:65,6,0,0 +BRDA:65,6,1,0 +BRDA:67,7,0,0 +BRDA:67,7,1,0 +BRDA:72,8,0,0 +BRDA:72,8,1,0 +BRDA:72,9,0,0 +BRDA:72,9,1,0 +BRDA:72,9,2,0 +BRDA:72,9,3,0 +BRDA:76,10,0,0 +BRDA:76,10,1,0 +BRDA:78,11,0,0 +BRDA:78,11,1,0 +BRDA:79,12,0,0 +BRDA:79,12,1,0 +BRDA:80,13,0,0 +BRDA:80,13,1,0 +BRDA:80,13,2,0 +BRDA:80,13,3,0 +BRDA:80,13,4,0 +BRDA:80,13,5,0 +BRDA:91,14,0,0 +BRDA:91,14,1,0 +BRDA:107,15,0,0 +BRDA:107,15,1,0 +BRDA:124,16,0,0 +BRDA:124,16,1,0 +BRDA:131,17,0,0 +BRDA:131,17,1,0 +BRDA:132,18,0,0 +BRDA:132,18,1,0 +BRDA:133,19,0,0 +BRDA:133,19,1,0 +BRDA:135,20,0,0 +BRDA:135,20,1,0 +BRDA:136,21,0,0 +BRDA:136,21,1,0 +BRDA:139,22,0,0 +BRDA:139,22,1,0 +BRDA:140,23,0,0 +BRDA:140,23,1,0 +BRDA:142,24,0,0 +BRDA:142,24,1,0 +BRDA:143,25,0,0 +BRDA:143,25,1,0 +BRDA:147,26,0,0 +BRDA:147,26,1,0 +BRDA:150,27,0,0 +BRDA:150,27,1,0 +BRDA:150,27,2,0 +BRDA:153,28,0,0 +BRDA:153,28,1,0 +BRDA:155,29,0,0 +BRDA:155,29,1,0 +BRDA:162,30,0,0 +BRDA:162,30,1,0 +BRDA:163,31,0,0 +BRDA:163,31,1,0 +BRDA:198,32,0,0 +BRDA:198,32,1,0 +BRDA:199,33,0,0 +BRDA:199,33,1,0 +BRDA:199,33,2,0 +BRDA:210,34,0,0 +BRDA:210,34,1,0 +BRDA:217,35,0,0 +BRDA:217,35,1,0 +BRDA:217,36,0,0 +BRDA:217,36,1,0 +BRDA:220,37,0,0 +BRDA:220,37,1,0 +BRDA:223,38,0,0 +BRDA:223,38,1,0 +BRDA:224,39,0,0 +BRDA:224,39,1,0 +BRDA:231,40,0,0 +BRDA:231,40,1,0 +BRDA:231,41,0,0 +BRDA:231,41,1,0 +BRDA:231,41,2,0 +BRDA:231,41,3,0 +BRDA:234,42,0,0 +BRDA:234,42,1,0 +BRDA:234,43,0,0 +BRDA:234,43,1,0 +BRDA:235,44,0,0 +BRDA:235,44,1,0 +BRDA:236,45,0,0 +BRDA:236,45,1,0 +BRDA:240,46,0,0 +BRDA:240,46,1,0 +BRDA:246,47,0,0 +BRDA:246,47,1,0 +BRDA:248,48,0,0 +BRDA:248,48,1,0 +BRDA:248,49,0,0 +BRDA:248,49,1,0 +BRDA:249,50,0,0 +BRDA:249,50,1,0 +BRDA:251,51,0,0 +BRDA:251,51,1,0 +BRDA:251,52,0,0 +BRDA:251,52,1,0 +BRDA:252,53,0,0 +BRDA:252,53,1,0 +BRDA:254,54,0,0 +BRDA:254,54,1,0 +BRDA:254,55,0,0 +BRDA:254,55,1,0 +BRDA:255,56,0,0 +BRDA:255,56,1,0 +BRDA:257,57,0,0 +BRDA:257,57,1,0 +BRDA:257,58,0,0 +BRDA:257,58,1,0 +BRDA:258,59,0,0 +BRDA:258,59,1,0 +BRF:133 +BRH:0 +end_of_record +TN: +SF:src/plugin/notifiers.ts +FN:17,notifyUI +FN:21,notifyToUI +FN:29,postToUI +FN:33,notifyNoSelection +FN:39,notifySelection +FN:87,notifyUISettings +FN:160,notifyAPIProviders +FN:164,notifyStyleValues +FN:168,notifyVariableValues +FN:179,notifySetTokens +FN:183,notifyException +FN:191,trackFromPlugin +FNF:12 +FNH:2 +FNDA:0,notifyUI +FNDA:0,notifyToUI +FNDA:7,postToUI +FNDA:0,notifyNoSelection +FNDA:0,notifySelection +FNDA:0,notifyUISettings +FNDA:0,notifyAPIProviders +FNDA:0,notifyStyleValues +FNDA:7,notifyVariableValues +FNDA:0,notifySetTokens +FNDA:0,notifyException +FNDA:0,trackFromPlugin +DA:18,0 +DA:22,0 +DA:30,7 +DA:34,0 +DA:48,0 +DA:119,0 +DA:154,0 +DA:161,0 +DA:165,0 +DA:172,7 +DA:180,0 +DA:184,0 +DA:192,0 +LF:13 +LH:2 +BRDA:21,0,0,0 +BRDA:108,1,0,0 +BRDA:183,2,0,0 +BRDA:191,3,0,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/performCodeGen.ts +FN:3,performCodeGen +FN:7,(anonymous_1) +FN:12,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,performCodeGen +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:15,0 +LF:6 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/pluginData.ts +FN:15,transformPluginDataToSelectionValues +FN:16,(anonymous_1) +FN:19,(anonymous_2) +FN:20,(anonymous_3) +FN:34,(anonymous_4) +FN:36,(anonymous_5) +FN:36,(anonymous_6) +FN:52,(anonymous_7) +FN:54,(anonymous_8) +FN:54,(anonymous_9) +FN:73,transformPluginDataToMainNodeSelectionValues +FN:74,(anonymous_11) +FN:77,(anonymous_12) +FN:85,(anonymous_13) +FN:102,sendPluginValues +FN:117,removePluginData +FN:118,(anonymous_16) +FN:125,(anonymous_17) +FN:135,setNonePluginData +FN:136,(anonymous_19) +FNF:20 +FNH:0 +FNDA:0,transformPluginDataToSelectionValues +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,transformPluginDataToMainNodeSelectionValues +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,sendPluginValues +FNDA:0,removePluginData +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,setNonePluginData +FNDA:0,(anonymous_19) +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:67,0 +DA:70,0 +DA:74,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:90,0 +DA:91,0 +DA:93,0 +DA:104,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:136,0 +DA:137,0 +DA:138,0 +LF:51 +LH:0 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRDA:36,2,0,0 +BRDA:36,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:54,4,0,0 +BRDA:54,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:108,6,0,0 +BRDA:108,6,1,0 +BRDA:108,7,0,0 +BRDA:108,7,1,0 +BRDA:109,8,0,0 +BRDA:109,8,1,0 +BRDA:113,9,0,0 +BRDA:113,9,1,0 +BRDA:117,10,0,0 +BRDA:119,11,0,0 +BRDA:119,11,1,0 +BRDA:121,12,0,0 +BRDA:121,12,1,0 +BRDA:127,13,0,0 +BRDA:127,13,1,0 +BRF:27 +BRH:0 +end_of_record +TN: +SF:src/plugin/processTextStyleProperty.ts +FN:5,processTextStyleProperty +FN:18,(anonymous_1) +FN:23,(anonymous_2) +FN:25,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,processTextStyleProperty +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:29,0 +DA:33,0 +DA:34,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:56,0 +LF:20 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:19,2,0,0 +BRDA:19,2,1,0 +BRDA:24,3,0,0 +BRDA:24,3,1,0 +BRDA:25,4,0,0 +BRDA:25,4,1,0 +BRDA:25,5,0,0 +BRDA:25,5,1,0 +BRDA:25,5,2,0 +BRDA:25,5,3,0 +BRDA:29,6,0,0 +BRDA:29,6,1,0 +BRDA:33,7,0,0 +BRDA:33,7,1,0 +BRDA:36,8,0,0 +BRDA:36,8,1,0 +BRDA:45,9,0,0 +BRDA:45,9,1,0 +BRDA:48,10,0,0 +BRDA:48,10,1,0 +BRDA:49,11,0,0 +BRDA:49,11,1,0 +BRDA:51,12,0,0 +BRDA:51,12,1,0 +BRF:28 +BRH:0 +end_of_record +TN: +SF:src/plugin/pullStyles.ts +FN:22,pullStyles +FN:41,(anonymous_1) +FN:42,(anonymous_2) +FN:64,(anonymous_3) +FN:91,(anonymous_4) +FN:102,(anonymous_5) +FN:110,(anonymous_6) +FN:114,(anonymous_7) +FN:114,(anonymous_8) +FN:117,(anonymous_9) +FN:125,(anonymous_10) +FN:128,(anonymous_11) +FN:129,(anonymous_12) +FN:148,(anonymous_13) +FN:152,(anonymous_14) +FN:152,(anonymous_15) +FN:153,(anonymous_16) +FN:171,(anonymous_17) +FN:175,(anonymous_18) +FN:183,(anonymous_19) +FN:187,(anonymous_20) +FN:188,(anonymous_21) +FN:194,(anonymous_22) +FN:202,(anonymous_23) +FN:205,(anonymous_24) +FN:211,(anonymous_25) +FN:217,(anonymous_26) +FN:223,(anonymous_27) +FN:232,(anonymous_28) +FN:241,(anonymous_29) +FN:249,(anonymous_30) +FN:257,(anonymous_31) +FN:260,(anonymous_32) +FN:262,(anonymous_33) +FN:271,(anonymous_34) +FN:274,(anonymous_35) +FN:277,(anonymous_36) +FN:294,(anonymous_37) +FN:311,(anonymous_38) +FN:311,(anonymous_39) +FN:312,(anonymous_40) +FN:316,(anonymous_41) +FN:333,(anonymous_42) +FN:367,(anonymous_43) +FNF:44 +FNH:0 +FNDA:0,pullStyles +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +DA:23,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:67,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:102,0 +DA:110,0 +DA:113,0 +DA:114,0 +DA:117,0 +DA:125,0 +DA:128,0 +DA:129,0 +DA:132,0 +DA:133,0 +DA:140,0 +DA:148,0 +DA:152,0 +DA:153,0 +DA:155,0 +DA:156,0 +DA:163,0 +DA:171,0 +DA:175,0 +DA:183,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:194,0 +DA:202,0 +DA:205,0 +DA:211,0 +DA:217,0 +DA:218,0 +DA:223,0 +DA:227,0 +DA:232,0 +DA:236,0 +DA:241,0 +DA:244,0 +DA:249,0 +DA:252,0 +DA:257,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:264,0 +DA:265,0 +DA:268,0 +DA:270,0 +DA:271,0 +DA:273,0 +DA:274,0 +DA:276,0 +DA:277,0 +DA:280,0 +DA:292,0 +DA:294,0 +DA:297,0 +DA:299,0 +DA:300,0 +DA:303,0 +DA:307,0 +DA:308,0 +DA:311,0 +DA:313,0 +DA:314,0 +DA:316,0 +DA:317,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:326,0 +DA:329,0 +DA:331,0 +DA:333,0 +DA:336,0 +DA:341,0 +DA:342,0 +DA:345,0 +DA:350,0 +DA:367,0 +DA:368,0 +DA:369,0 +DA:371,0 +DA:374,0 +LF:135 +LH:0 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:45,1,0,0 +BRDA:45,1,1,0 +BRDA:48,2,0,0 +BRDA:48,2,1,0 +BRDA:57,3,0,0 +BRDA:57,3,1,0 +BRDA:67,4,0,0 +BRDA:67,4,1,0 +BRDA:78,5,0,0 +BRDA:78,5,1,0 +BRDA:92,6,0,0 +BRDA:92,6,1,0 +BRDA:95,7,0,0 +BRDA:95,7,1,0 +BRDA:96,8,0,0 +BRDA:96,8,1,0 +BRDA:98,9,0,0 +BRDA:98,9,1,0 +BRDA:99,10,0,0 +BRDA:99,10,1,0 +BRDA:114,11,0,0 +BRDA:114,11,1,0 +BRDA:129,12,0,0 +BRDA:129,12,1,0 +BRDA:132,13,0,0 +BRDA:132,13,1,0 +BRDA:155,14,0,0 +BRDA:155,14,1,0 +BRDA:232,15,0,0 +BRDA:232,15,1,0 +BRDA:261,16,0,0 +BRDA:261,16,1,0 +BRDA:263,17,0,0 +BRDA:263,17,1,0 +BRDA:299,18,0,0 +BRDA:299,18,1,0 +BRDA:307,19,0,0 +BRDA:307,19,1,0 +BRDA:324,20,0,0 +BRDA:324,20,1,0 +BRDA:329,21,0,0 +BRDA:329,21,1,0 +BRDA:337,22,0,0 +BRDA:337,22,1,0 +BRDA:341,23,0,0 +BRDA:341,23,1,0 +BRDA:368,24,0,0 +BRDA:368,24,1,0 +BRF:50 +BRH:0 +end_of_record +TN: +SF:src/plugin/pullVariables.ts +FN:10,pullVariables +FN:54,(anonymous_1) +FN:76,(anonymous_2) +FN:94,(anonymous_3) +FN:107,(anonymous_4) +FN:116,(anonymous_5) +FN:135,(anonymous_6) +FN:144,(anonymous_7) +FN:163,(anonymous_8) +FN:185,(anonymous_9) +FN:227,(anonymous_10) +FN:236,(anonymous_11) +FN:245,(anonymous_12) +FN:247,(anonymous_13) +FN:269,(anonymous_14) +FNF:15 +FNH:14 +FNDA:7,pullVariables +FNDA:28,(anonymous_1) +FNDA:24,(anonymous_2) +FNDA:53,(anonymous_3) +FNDA:24,(anonymous_4) +FNDA:53,(anonymous_5) +FNDA:24,(anonymous_6) +FNDA:53,(anonymous_7) +FNDA:72,(anonymous_8) +FNDA:159,(anonymous_9) +FNDA:1,(anonymous_10) +FNDA:4,(anonymous_11) +FNDA:24,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:35,(anonymous_14) +DA:12,7 +DA:13,7 +DA:14,7 +DA:15,7 +DA:16,7 +DA:18,7 +DA:19,7 +DA:20,2 +DA:21,2 +DA:22,2 +DA:23,2 +DA:27,2 +DA:31,7 +DA:33,7 +DA:40,7 +DA:46,7 +DA:47,42 +DA:48,42 +DA:49,7 +DA:50,7 +DA:51,7 +DA:54,28 +DA:56,7 +DA:61,42 +DA:62,12 +DA:63,12 +DA:64,6 +DA:68,36 +DA:69,36 +DA:72,36 +DA:73,36 +DA:74,36 +DA:76,6 +DA:78,24 +DA:79,4 +DA:80,4 +DA:81,2 +DA:87,22 +DA:88,0 +DA:89,0 +DA:91,22 +DA:94,53 +DA:95,22 +DA:96,22 +DA:105,6 +DA:107,6 +DA:109,24 +DA:110,4 +DA:111,4 +DA:112,2 +DA:116,53 +DA:118,22 +DA:119,0 +DA:120,0 +DA:122,22 +DA:125,22 +DA:133,6 +DA:135,6 +DA:137,24 +DA:138,4 +DA:139,4 +DA:140,2 +DA:144,53 +DA:146,22 +DA:147,0 +DA:148,0 +DA:150,22 +DA:153,22 +DA:161,6 +DA:163,18 +DA:165,72 +DA:166,12 +DA:167,12 +DA:168,6 +DA:172,66 +DA:173,66 +DA:174,0 +DA:175,0 +DA:176,66 +DA:177,66 +DA:178,24 +DA:179,42 +DA:180,12 +DA:182,30 +DA:185,159 +DA:187,66 +DA:188,36 +DA:196,30 +DA:205,18 +DA:207,0 +DA:210,0 +DA:214,7 +DA:224,7 +DA:226,7 +DA:227,1 +DA:229,1 +DA:230,0 +DA:231,0 +DA:232,0 +DA:236,1 +DA:238,4 +DA:239,0 +DA:240,0 +DA:241,0 +DA:245,24 +DA:247,4 +DA:252,4 +DA:268,7 +DA:269,7 +DA:270,35 +DA:271,24 +DA:273,35 +DA:275,7 +DA:277,0 +DA:278,0 +LF:115 +LH:97 +BRDA:19,0,0,2 +BRDA:19,0,1,5 +BRDA:22,1,0,2 +BRDA:22,1,1,0 +BRDA:23,2,0,2 +BRDA:23,2,1,0 +BRDA:27,3,0,2 +BRDA:27,3,1,0 +BRDA:48,4,0,7 +BRDA:48,4,1,35 +BRDA:50,5,0,7 +BRDA:50,5,1,0 +BRDA:61,6,0,12 +BRDA:61,6,1,30 +BRDA:61,7,0,42 +BRDA:61,7,1,12 +BRDA:63,8,0,6 +BRDA:63,8,1,6 +BRDA:68,9,0,36 +BRDA:68,9,1,0 +BRDA:74,10,0,6 +BRDA:74,10,1,6 +BRDA:74,10,2,6 +BRDA:74,10,3,18 +BRDA:74,10,4,0 +BRDA:78,11,0,4 +BRDA:78,11,1,20 +BRDA:78,12,0,24 +BRDA:78,12,1,4 +BRDA:80,13,0,2 +BRDA:80,13,1,2 +BRDA:80,14,0,4 +BRDA:80,14,1,4 +BRDA:87,15,0,0 +BRDA:87,15,1,22 +BRDA:87,16,0,22 +BRDA:87,16,1,22 +BRDA:87,16,2,0 +BRDA:95,17,0,22 +BRDA:95,17,1,0 +BRDA:101,18,0,0 +BRDA:101,18,1,22 +BRDA:109,19,0,4 +BRDA:109,19,1,20 +BRDA:109,20,0,24 +BRDA:109,20,1,4 +BRDA:111,21,0,2 +BRDA:111,21,1,2 +BRDA:111,22,0,4 +BRDA:111,22,1,4 +BRDA:118,23,0,0 +BRDA:118,23,1,22 +BRDA:118,24,0,22 +BRDA:118,24,1,0 +BRDA:118,24,2,0 +BRDA:130,25,0,0 +BRDA:130,25,1,22 +BRDA:137,26,0,4 +BRDA:137,26,1,20 +BRDA:137,27,0,24 +BRDA:137,27,1,4 +BRDA:139,28,0,2 +BRDA:139,28,1,2 +BRDA:139,29,0,4 +BRDA:139,29,1,4 +BRDA:146,30,0,0 +BRDA:146,30,1,22 +BRDA:146,31,0,22 +BRDA:146,31,1,0 +BRDA:146,31,2,0 +BRDA:158,32,0,0 +BRDA:158,32,1,22 +BRDA:165,33,0,12 +BRDA:165,33,1,60 +BRDA:165,34,0,72 +BRDA:165,34,1,12 +BRDA:167,35,0,6 +BRDA:167,35,1,6 +BRDA:167,36,0,12 +BRDA:167,36,1,12 +BRDA:173,37,0,0 +BRDA:173,37,1,66 +BRDA:173,38,0,66 +BRDA:173,38,1,0 +BRDA:173,38,2,0 +BRDA:176,39,0,66 +BRDA:176,39,1,0 +BRDA:177,40,0,24 +BRDA:177,40,1,42 +BRDA:179,41,0,12 +BRDA:179,41,1,30 +BRDA:187,42,0,36 +BRDA:187,42,1,30 +BRDA:187,43,0,66 +BRDA:187,43,1,42 +BRDA:193,44,0,0 +BRDA:193,44,1,36 +BRDA:201,45,0,0 +BRDA:201,45,1,30 +BRDA:226,46,0,1 +BRDA:226,46,1,6 +BRDA:229,47,0,0 +BRDA:229,47,1,1 +BRDA:231,48,0,0 +BRDA:231,48,1,0 +BRDA:238,49,0,0 +BRDA:238,49,1,4 +BRDA:240,50,0,0 +BRDA:240,50,1,0 +BRDA:240,51,0,0 +BRDA:240,51,1,0 +BRDA:270,52,0,24 +BRDA:270,52,1,11 +BRF:113 +BRH:81 +end_of_record +TN: +SF:src/plugin/removePluginDataByMap.ts +FN:10,removePluginDataByMap +FN:23,(anonymous_1) +FN:24,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,removePluginDataByMap +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:11,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:33,0 +DA:34,0 +LF:12 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/removeStylesFromPlugin.ts +FN:8,removeStylesFromPlugin +FN:18,(anonymous_1) +FN:19,(anonymous_2) +FN:21,(anonymous_3) +FN:22,(anonymous_4) +FN:25,(anonymous_5) +FN:25,(anonymous_6) +FN:26,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,removeStylesFromPlugin +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:30,0 +LF:15 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/removeValuesFromNode.ts +FN:4,removeStrokeIfEmptySides +FN:9,(anonymous_1) +FN:14,removeValuesFromNode +FN:90,(anonymous_3) +FN:95,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,removeStrokeIfEmptySides +FNDA:0,(anonymous_1) +FNDA:0,removeValuesFromNode +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:5,0 +DA:9,0 +DA:10,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:40,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:79,0 +DA:80,0 +DA:82,0 +DA:84,0 +DA:85,0 +DA:87,0 +DA:89,0 +DA:90,0 +DA:92,0 +DA:94,0 +DA:95,0 +DA:97,0 +DA:99,0 +DA:100,0 +DA:102,0 +DA:104,0 +DA:112,0 +DA:114,0 +DA:116,0 +DA:117,0 +DA:119,0 +DA:121,0 +DA:122,0 +DA:124,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:135,0 +DA:136,0 +DA:138,0 +DA:140,0 +DA:141,0 +DA:143,0 +DA:145,0 +DA:146,0 +DA:148,0 +DA:150,0 +DA:151,0 +DA:153,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:159,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:165,0 +DA:167,0 +DA:168,0 +DA:170,0 +DA:172,0 +DA:173,0 +DA:175,0 +DA:177,0 +DA:178,0 +DA:180,0 +DA:181,0 +DA:183,0 +DA:184,0 +DA:186,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:192,0 +DA:193,0 +DA:195,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:201,0 +DA:202,0 +DA:204,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:210,0 +DA:211,0 +DA:213,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:219,0 +DA:220,0 +DA:222,0 +DA:224,0 +DA:225,0 +DA:227,0 +DA:229,0 +DA:230,0 +DA:232,0 +DA:234,0 +DA:235,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:245,0 +DA:247,0 +LF:144 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:16,1,2,0 +BRDA:16,1,3,0 +BRDA:16,1,4,0 +BRDA:16,1,5,0 +BRDA:16,1,6,0 +BRDA:16,1,7,0 +BRDA:16,1,8,0 +BRDA:16,1,9,0 +BRDA:16,1,10,0 +BRDA:16,1,11,0 +BRDA:16,1,12,0 +BRDA:16,1,13,0 +BRDA:16,1,14,0 +BRDA:16,1,15,0 +BRDA:16,1,16,0 +BRDA:16,1,17,0 +BRDA:16,1,18,0 +BRDA:16,1,19,0 +BRDA:16,1,20,0 +BRDA:16,1,21,0 +BRDA:16,1,22,0 +BRDA:16,1,23,0 +BRDA:16,1,24,0 +BRDA:16,1,25,0 +BRDA:16,1,26,0 +BRDA:16,1,27,0 +BRDA:16,1,28,0 +BRDA:16,1,29,0 +BRDA:16,1,30,0 +BRDA:16,1,31,0 +BRDA:16,1,32,0 +BRDA:16,1,33,0 +BRDA:16,1,34,0 +BRDA:16,1,35,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:34,4,0,0 +BRDA:34,4,1,0 +BRDA:35,5,0,0 +BRDA:35,5,1,0 +BRDA:35,5,2,0 +BRDA:35,5,3,0 +BRDA:44,6,0,0 +BRDA:44,6,1,0 +BRDA:44,7,0,0 +BRDA:44,7,1,0 +BRDA:49,8,0,0 +BRDA:49,8,1,0 +BRDA:49,9,0,0 +BRDA:49,9,1,0 +BRDA:54,10,0,0 +BRDA:54,10,1,0 +BRDA:54,11,0,0 +BRDA:54,11,1,0 +BRDA:59,12,0,0 +BRDA:59,12,1,0 +BRDA:59,13,0,0 +BRDA:59,13,1,0 +BRDA:64,14,0,0 +BRDA:64,14,1,0 +BRDA:64,15,0,0 +BRDA:64,15,1,0 +BRDA:69,16,0,0 +BRDA:69,16,1,0 +BRDA:69,17,0,0 +BRDA:69,17,1,0 +BRDA:74,18,0,0 +BRDA:74,18,1,0 +BRDA:74,19,0,0 +BRDA:74,19,1,0 +BRDA:79,20,0,0 +BRDA:79,20,1,0 +BRDA:79,21,0,0 +BRDA:79,21,1,0 +BRDA:84,22,0,0 +BRDA:84,22,1,0 +BRDA:84,23,0,0 +BRDA:84,23,1,0 +BRDA:89,24,0,0 +BRDA:89,24,1,0 +BRDA:89,25,0,0 +BRDA:89,25,1,0 +BRDA:94,26,0,0 +BRDA:94,26,1,0 +BRDA:94,27,0,0 +BRDA:94,27,1,0 +BRDA:99,28,0,0 +BRDA:99,28,1,0 +BRDA:99,29,0,0 +BRDA:99,29,1,0 +BRDA:104,30,0,0 +BRDA:104,30,1,0 +BRDA:105,31,0,0 +BRDA:105,31,1,0 +BRDA:105,31,2,0 +BRDA:105,31,3,0 +BRDA:105,31,4,0 +BRDA:105,31,5,0 +BRDA:116,32,0,0 +BRDA:116,32,1,0 +BRDA:116,33,0,0 +BRDA:116,33,1,0 +BRDA:121,34,0,0 +BRDA:121,34,1,0 +BRDA:121,35,0,0 +BRDA:121,35,1,0 +BRDA:126,36,0,0 +BRDA:126,36,1,0 +BRDA:126,37,0,0 +BRDA:126,37,1,0 +BRDA:135,38,0,0 +BRDA:135,38,1,0 +BRDA:135,39,0,0 +BRDA:135,39,1,0 +BRDA:140,40,0,0 +BRDA:140,40,1,0 +BRDA:140,41,0,0 +BRDA:140,41,1,0 +BRDA:145,42,0,0 +BRDA:145,42,1,0 +BRDA:145,43,0,0 +BRDA:145,43,1,0 +BRDA:150,44,0,0 +BRDA:150,44,1,0 +BRDA:150,45,0,0 +BRDA:150,45,1,0 +BRDA:155,46,0,0 +BRDA:155,46,1,0 +BRDA:155,47,0,0 +BRDA:155,47,1,0 +BRDA:161,48,0,0 +BRDA:161,48,1,0 +BRDA:161,49,0,0 +BRDA:161,49,1,0 +BRDA:167,50,0,0 +BRDA:167,50,1,0 +BRDA:167,51,0,0 +BRDA:167,51,1,0 +BRDA:172,52,0,0 +BRDA:172,52,1,0 +BRDA:172,53,0,0 +BRDA:172,53,1,0 +BRDA:177,54,0,0 +BRDA:177,54,1,0 +BRDA:177,55,0,0 +BRDA:177,55,1,0 +BRDA:180,56,0,0 +BRDA:180,56,1,0 +BRDA:180,57,0,0 +BRDA:180,57,1,0 +BRDA:183,58,0,0 +BRDA:183,58,1,0 +BRDA:183,59,0,0 +BRDA:183,59,1,0 +BRDA:188,60,0,0 +BRDA:188,60,1,0 +BRDA:188,61,0,0 +BRDA:188,61,1,0 +BRDA:192,62,0,0 +BRDA:192,62,1,0 +BRDA:192,63,0,0 +BRDA:192,63,1,0 +BRDA:197,64,0,0 +BRDA:197,64,1,0 +BRDA:197,65,0,0 +BRDA:197,65,1,0 +BRDA:201,66,0,0 +BRDA:201,66,1,0 +BRDA:201,67,0,0 +BRDA:201,67,1,0 +BRDA:206,68,0,0 +BRDA:206,68,1,0 +BRDA:206,69,0,0 +BRDA:206,69,1,0 +BRDA:210,70,0,0 +BRDA:210,70,1,0 +BRDA:210,71,0,0 +BRDA:210,71,1,0 +BRDA:215,72,0,0 +BRDA:215,72,1,0 +BRDA:215,73,0,0 +BRDA:215,73,1,0 +BRDA:219,74,0,0 +BRDA:219,74,1,0 +BRDA:219,75,0,0 +BRDA:219,75,1,0 +BRDA:224,76,0,0 +BRDA:224,76,1,0 +BRDA:224,77,0,0 +BRDA:224,77,1,0 +BRDA:229,78,0,0 +BRDA:229,78,1,0 +BRDA:229,79,0,0 +BRDA:229,79,1,0 +BRDA:234,80,0,0 +BRDA:234,80,1,0 +BRDA:237,81,0,0 +BRDA:237,81,1,0 +BRDA:238,82,0,0 +BRDA:238,82,1,0 +BRF:206 +BRH:0 +end_of_record +TN: +SF:src/plugin/renameStylesFromPlugin.ts +FN:8,renameStylesFromPlugin +FN:23,(anonymous_1) +FN:23,(anonymous_2) +FN:23,(anonymous_3) +FN:28,(anonymous_4) +FN:30,(anonymous_5) +FN:31,(anonymous_6) +FN:32,(anonymous_7) +FN:35,(anonymous_8) +FN:36,(anonymous_9) +FN:37,(anonymous_10) +FN:40,(anonymous_11) +FN:40,(anonymous_12) +FN:42,(anonymous_13) +FN:47,(anonymous_14) +FNF:15 +FNH:0 +FNDA:0,renameStylesFromPlugin +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +DA:12,0 +DA:17,0 +DA:19,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:49,0 +LF:23 +LH:0 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/renameVariablesFromPlugin.ts +FN:6,renameVariablesFromPlugin +FN:11,(anonymous_1) +FN:13,(anonymous_2) +FN:19,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,renameVariablesFromPlugin +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:7,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:32,0 +LF:15 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/rotateNode.ts +FN:1,(anonymous_0) +FN:27,(anonymous_1) +FN:37,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:1,0 +DA:2,0 +DA:3,0 +DA:7,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:53,0 +DA:54,0 +LF:34 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:13,2,2,0 +BRDA:29,3,0,0 +BRDA:29,3,1,0 +BRDA:29,4,0,0 +BRDA:29,4,1,0 +BRDA:29,4,2,0 +BRDA:38,5,0,0 +BRDA:38,5,1,0 +BRDA:41,6,0,0 +BRDA:41,6,1,0 +BRDA:41,7,0,0 +BRDA:41,7,1,0 +BRDA:48,8,0,0 +BRDA:48,8,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/plugin/sendDocumentChange.ts +FN:3,sendDocumentChange +FN:7,(anonymous_1) +FN:7,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,sendDocumentChange +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:5,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +LF:6 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:4,1,0,0 +BRDA:4,1,1,0 +BRDA:4,1,2,0 +BRDA:7,2,0,0 +BRDA:7,2,1,0 +BRDA:8,3,0,0 +BRDA:8,3,1,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/plugin/sendSelectionChange.ts +FN:7,sendSelectionChange +FNF:1 +FNH:0 +FNDA:0,sendSelectionChange +DA:9,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +LF:6 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/setBackgroundBlurOnTarget.ts +FN:4,setBackgroundBlurOnTarget +FN:11,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setBackgroundBlurOnTarget +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:27,0 +LF:10 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/setBooleanValuesOnVariable.ts +FN:3,setBooleanValuesOnVariable +FNF:1 +FNH:0 +FNDA:0,setBooleanValuesOnVariable +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:14,0 +LF:7 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:6,1,0,0 +BRDA:6,1,1,0 +BRDA:6,2,0,0 +BRDA:6,2,1,0 +BRDA:10,3,0,0 +BRDA:10,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/plugin/setBorderColorValuesOnTarget.ts +FN:14,setBorderColorValuesOnTarget +FNF:1 +FNH:0 +FNDA:0,setBorderColorValuesOnTarget +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:35,0 +DA:40,0 +DA:41,0 +LF:15 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:21,2,0,0 +BRDA:21,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRDA:25,4,0,0 +BRDA:25,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRDA:30,6,0,0 +BRDA:30,6,1,0 +BRDA:40,7,0,0 +BRDA:40,7,1,0 +BRDA:40,8,0,0 +BRDA:40,8,1,0 +BRDA:40,8,2,0 +BRF:19 +BRH:0 +end_of_record +TN: +SF:src/plugin/setBorderValuesOnTarget.ts +FN:8,setBorderValuesOnTarget +FNF:1 +FNH:0 +FNDA:0,setBorderValuesOnTarget +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:24,0 +DA:26,0 +DA:33,0 +DA:35,0 +DA:42,0 +DA:44,0 +DA:51,0 +DA:53,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:73,0 +DA:75,0 +DA:78,0 +LF:23 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:18,1,2,0 +BRDA:18,1,3,0 +BRDA:18,1,4,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,0 +BRDA:27,3,2,0 +BRDA:27,3,3,0 +BRDA:27,3,4,0 +BRDA:35,4,0,0 +BRDA:35,4,1,0 +BRDA:36,5,0,0 +BRDA:36,5,1,0 +BRDA:36,5,2,0 +BRDA:36,5,3,0 +BRDA:36,5,4,0 +BRDA:44,6,0,0 +BRDA:44,6,1,0 +BRDA:45,7,0,0 +BRDA:45,7,1,0 +BRDA:45,7,2,0 +BRDA:45,7,3,0 +BRDA:45,7,4,0 +BRDA:53,8,0,0 +BRDA:53,8,1,0 +BRDA:54,9,0,0 +BRDA:54,9,1,0 +BRDA:54,9,2,0 +BRDA:54,9,3,0 +BRDA:54,9,4,0 +BRDA:63,10,0,0 +BRDA:63,10,1,0 +BRDA:63,11,0,0 +BRDA:63,11,1,0 +BRDA:63,11,2,0 +BRDA:65,12,0,0 +BRDA:65,12,1,0 +BRDA:65,12,2,0 +BRF:43 +BRH:0 +end_of_record +TN: +SF:src/plugin/setColorValuesOnTarget.ts +FN:10,hasModifier +FN:14,(anonymous_1) +FN:22,(anonymous_2) +FN:36,(anonymous_3) +FN:61,setColorValuesOnTarget +FNF:5 +FNH:0 +FNDA:0,hasModifier +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,setColorValuesOnTarget +DA:11,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:49,0 +DA:53,0 +DA:58,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:93,0 +DA:95,0 +DA:96,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:102,0 +DA:109,0 +DA:110,0 +DA:112,0 +DA:114,0 +DA:115,0 +DA:117,0 +DA:118,0 +DA:121,0 +DA:122,0 +DA:125,0 +DA:126,0 +DA:128,0 +DA:130,0 +LF:60 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRDA:17,4,0,0 +BRDA:17,4,1,0 +BRDA:17,5,0,0 +BRDA:17,5,1,0 +BRDA:18,6,0,0 +BRDA:18,6,1,0 +BRDA:18,7,0,0 +BRDA:18,7,1,0 +BRDA:23,8,0,0 +BRDA:23,8,1,0 +BRDA:23,9,0,0 +BRDA:23,9,1,0 +BRDA:32,10,0,0 +BRDA:32,10,1,0 +BRDA:35,11,0,0 +BRDA:35,11,1,0 +BRDA:35,12,0,0 +BRDA:35,12,1,0 +BRDA:38,13,0,0 +BRDA:38,13,1,0 +BRDA:70,14,0,0 +BRDA:70,14,1,0 +BRDA:73,15,0,0 +BRDA:73,15,1,0 +BRDA:73,16,0,0 +BRDA:73,16,1,0 +BRDA:74,17,0,0 +BRDA:74,17,1,0 +BRDA:75,18,0,0 +BRDA:75,18,1,0 +BRDA:77,19,0,0 +BRDA:77,19,1,0 +BRDA:79,20,0,0 +BRDA:79,20,1,0 +BRDA:79,21,0,0 +BRDA:79,21,1,0 +BRDA:80,22,0,0 +BRDA:80,22,1,0 +BRDA:81,23,0,0 +BRDA:81,23,1,0 +BRDA:81,24,0,0 +BRDA:81,24,1,0 +BRDA:81,24,2,0 +BRDA:82,25,0,0 +BRDA:82,25,1,0 +BRDA:83,26,0,0 +BRDA:83,26,1,0 +BRDA:83,27,0,0 +BRDA:83,27,1,0 +BRDA:84,28,0,0 +BRDA:84,28,1,0 +BRDA:87,29,0,0 +BRDA:87,29,1,0 +BRDA:95,30,0,0 +BRDA:95,30,1,0 +BRDA:98,31,0,0 +BRDA:98,31,1,0 +BRDA:98,32,0,0 +BRDA:98,32,1,0 +BRDA:98,32,2,0 +BRDA:98,32,3,0 +BRDA:110,33,0,0 +BRDA:110,33,1,0 +BRDA:112,34,0,0 +BRDA:112,34,1,0 +BRDA:114,35,0,0 +BRDA:114,35,1,0 +BRDA:117,36,0,0 +BRDA:117,36,1,0 +BRDA:117,37,0,0 +BRDA:117,37,1,0 +BRDA:117,37,2,0 +BRDA:125,38,0,0 +BRDA:125,38,1,0 +BRDA:125,39,0,0 +BRDA:125,39,1,0 +BRF:84 +BRH:0 +end_of_record +TN: +SF:src/plugin/setColorValuesOnVariable.ts +FN:4,normalizeFigmaColor +FN:7,(anonymous_1) +FN:17,isFigmaColorObject +FN:22,setColorValuesOnVariable +FNF:4 +FNH:0 +FNDA:0,normalizeFigmaColor +FNDA:0,(anonymous_1) +FNDA:0,isFigmaColorObject +FNDA:0,setColorValuesOnVariable +DA:7,0 +DA:9,0 +DA:18,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:37,0 +DA:41,0 +DA:43,0 +LF:14 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:18,0,2,0 +BRDA:18,0,3,0 +BRDA:18,0,4,0 +BRDA:18,0,5,0 +BRDA:18,0,6,0 +BRDA:18,0,7,0 +BRDA:18,0,8,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:28,4,0,0 +BRDA:28,4,1,0 +BRDA:29,5,0,0 +BRDA:29,5,1,0 +BRDA:31,6,0,0 +BRDA:31,6,1,0 +BRDA:31,7,0,0 +BRDA:31,7,1,0 +BRDA:32,8,0,0 +BRDA:32,8,1,0 +BRDA:32,9,0,0 +BRDA:32,9,1,0 +BRDA:32,9,2,0 +BRDA:32,9,3,0 +BRF:29 +BRH:0 +end_of_record +TN: +SF:src/plugin/setEffectValuesOnTarget.ts +FN:19,transformShadowKeyToFigmaVariable +FN:32,tryApplyCompositeVariable +FN:81,setEffectValuesOnTarget +FN:95,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,transformShadowKeyToFigmaVariable +FNDA:0,tryApplyCompositeVariable +FNDA:0,setEffectValuesOnTarget +FNDA:0,(anonymous_3) +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:76,0 +DA:78,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:99,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:108,0 +DA:111,0 +DA:115,0 +DA:116,0 +DA:119,0 +DA:120,0 +LF:38 +LH:0 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:20,0,2,0 +BRDA:20,0,3,0 +BRDA:42,1,0,0 +BRDA:42,1,1,0 +BRDA:58,2,0,0 +BRDA:58,2,1,0 +BRDA:60,3,0,0 +BRDA:60,3,1,0 +BRDA:60,4,0,0 +BRDA:60,4,1,0 +BRDA:64,5,0,0 +BRDA:64,5,1,0 +BRDA:64,6,0,0 +BRDA:64,6,1,0 +BRDA:64,6,2,0 +BRDA:66,7,0,0 +BRDA:66,7,1,0 +BRDA:85,8,0,0 +BRDA:89,9,0,0 +BRDA:89,9,1,0 +BRDA:92,10,0,0 +BRDA:92,10,1,0 +BRDA:94,11,0,0 +BRDA:94,11,1,0 +BRDA:102,12,0,0 +BRDA:102,12,1,0 +BRDA:102,13,0,0 +BRDA:102,13,1,0 +BRDA:103,14,0,0 +BRDA:103,14,1,0 +BRDA:104,15,0,0 +BRDA:104,15,1,0 +BRDA:104,16,0,0 +BRDA:104,16,1,0 +BRDA:115,17,0,0 +BRDA:115,17,1,0 +BRDA:115,18,0,0 +BRDA:115,18,1,0 +BRF:40 +BRH:0 +end_of_record +TN: +SF:src/plugin/setFontStyleOnTarget.ts +FN:5,setFontStyleOnTarget +FN:26,(anonymous_1) +FN:29,(anonymous_2) +FN:49,(anonymous_3) +FN:59,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,setFontStyleOnTarget +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:6,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:36,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:51,0 +DA:55,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:68,0 +LF:30 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRDA:12,3,0,0 +BRDA:12,3,1,0 +BRDA:12,4,0,0 +BRDA:12,4,1,0 +BRDA:16,5,0,0 +BRDA:16,5,1,0 +BRDA:16,6,0,0 +BRDA:16,6,1,0 +BRDA:28,7,0,0 +BRDA:28,7,1,0 +BRDA:50,8,0,0 +BRDA:50,8,1,0 +BRDA:62,9,0,0 +BRDA:62,9,1,0 +BRDA:67,10,0,0 +BRDA:67,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/plugin/setImageValuesOnTarget.ts +FN:4,setImageValuesOnTarget +FN:12,(anonymous_1) +FN:13,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,setImageValuesOnTarget +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:24,0 +DA:28,0 +DA:29,0 +DA:32,0 +LF:14 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRDA:28,3,0,0 +BRDA:28,3,1,0 +BRDA:28,4,0,0 +BRDA:28,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/setNumberValuesOnVariable.ts +FN:3,setNumberValuesOnVariable +FNF:1 +FNH:0 +FNDA:0,setNumberValuesOnVariable +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:17,0 +LF:9 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:9,2,0,0 +BRDA:9,2,1,0 +BRDA:9,3,0,0 +BRDA:9,3,1,0 +BRDA:13,4,0,0 +BRDA:13,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/setStringValuesOnVariable.ts +FN:3,setStringValuesOnVariable +FNF:1 +FNH:0 +FNDA:0,setStringValuesOnVariable +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:12,0 +LF:6 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:6,1,0,0 +BRDA:6,1,1,0 +BRDA:6,2,0,0 +BRDA:6,2,1,0 +BRDA:8,3,0,0 +BRDA:8,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/plugin/setTextValuesOnTarget.ts +FN:5,setTextValuesOnTarget +FNF:1 +FNH:0 +FNDA:0,setTextValuesOnTarget +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:24,0 +LF:10 +LH:0 +BRDA:8,0,0,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:21,4,0,0 +BRDA:21,4,1,0 +BRDA:21,5,0,0 +BRDA:21,5,1,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/plugin/setValuesOnNode.ts +FN:25,setValuesOnNode +FN:43,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,setValuesOnNode +FNDA:0,(anonymous_1) +DA:36,0 +DA:37,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:68,0 +LF:24 +LH:0 +BRDA:29,0,0,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRDA:38,2,2,0 +BRDA:38,2,3,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/plugin/setValuesOnVariable.ts +FN:17,setValuesOnVariable +FN:29,(anonymous_1) +FN:34,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,setValuesOnVariable +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:49,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:78,0 +DA:80,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:99,0 +DA:102,0 +LF:40 +LH:0 +BRDA:23,0,0,0 +BRDA:34,1,0,0 +BRDA:34,1,1,0 +BRDA:34,2,0,0 +BRDA:34,2,1,0 +BRDA:34,2,2,0 +BRDA:36,3,0,0 +BRDA:36,3,1,0 +BRDA:38,4,0,0 +BRDA:38,4,1,0 +BRDA:38,5,0,0 +BRDA:38,5,1,0 +BRDA:42,6,0,0 +BRDA:42,6,1,0 +BRDA:49,7,0,0 +BRDA:49,7,1,0 +BRDA:51,8,0,0 +BRDA:51,8,1,0 +BRDA:51,8,2,0 +BRDA:51,8,3,0 +BRDA:51,8,4,0 +BRDA:53,9,0,0 +BRDA:53,9,1,0 +BRDA:53,10,0,0 +BRDA:53,10,1,0 +BRDA:58,11,0,0 +BRDA:58,11,1,0 +BRDA:58,12,0,0 +BRDA:58,12,1,0 +BRDA:64,13,0,0 +BRDA:64,13,1,0 +BRDA:64,14,0,0 +BRDA:64,14,1,0 +BRDA:71,15,0,0 +BRDA:71,15,1,0 +BRDA:71,16,0,0 +BRDA:71,16,1,0 +BRDA:75,17,0,0 +BRDA:75,17,1,0 +BRDA:75,18,0,0 +BRDA:75,18,1,0 +BRDA:83,19,0,0 +BRDA:83,19,1,0 +BRDA:83,20,0,0 +BRDA:83,20,1,0 +BRDA:89,21,0,0 +BRDA:89,21,1,0 +BRDA:89,22,0,0 +BRDA:89,22,1,0 +BRF:49 +BRH:0 +end_of_record +TN: +SF:src/plugin/store.ts +FNF:0 +FNH:0 +DA:6,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/transformTypographyKeyToFigmaVariable.ts +FN:1,transformTypographyKeyToFigmaVariable +FNF:1 +FNH:0 +FNDA:0,transformTypographyKeyToFigmaVariable +DA:3,0 +DA:4,0 +DA:5,0 +DA:7,0 +LF:4 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRDA:3,1,0,0 +BRDA:3,1,1,0 +BRDA:4,2,0,0 +BRDA:4,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/tryApplyTypographyCompositeVariable.ts +FN:9,tryApplyTypographyCompositeVariable +FN:28,(anonymous_1) +FN:40,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,tryApplyTypographyCompositeVariable +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:74,0 +LF:33 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:22,0,2,0 +BRDA:22,0,3,0 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:29,2,0,0 +BRDA:29,2,1,0 +BRDA:31,3,0,0 +BRDA:31,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:31,4,2,0 +BRDA:37,5,0,0 +BRDA:37,5,1,0 +BRDA:37,6,0,0 +BRDA:37,6,1,0 +BRDA:39,7,0,0 +BRDA:39,7,1,0 +BRDA:40,8,0,0 +BRDA:40,8,1,0 +BRDA:46,9,0,0 +BRDA:46,9,1,0 +BRDA:47,10,0,0 +BRDA:47,10,1,0 +BRDA:58,11,0,0 +BRDA:58,11,1,0 +BRDA:60,12,0,0 +BRDA:60,12,1,0 +BRDA:60,13,0,0 +BRDA:60,13,1,0 +BRDA:61,14,0,0 +BRDA:61,14,1,0 +BRDA:61,15,0,0 +BRDA:61,15,1,0 +BRDA:61,15,2,0 +BRDA:65,16,0,0 +BRDA:65,16,1,0 +BRDA:67,17,0,0 +BRDA:67,17,1,0 +BRF:40 +BRH:0 +end_of_record +TN: +SF:src/plugin/unbindVariableFromTarget.ts +FN:3,unbindVariableFromTarget +FNF:1 +FNH:0 +FNDA:0,unbindVariableFromTarget +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:11,0 +LF:6 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:6,1,0,0 +BRDA:6,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateColorStyles.ts +FN:8,updateColorStyles +FN:13,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateColorStyles +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:32,0 +LF:20 +LH:0 +BRDA:8,0,0,0 +BRDA:8,1,0,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRDA:21,4,0,0 +BRDA:21,4,1,0 +BRDA:25,5,0,0 +BRDA:25,5,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateEffectStyles.ts +FN:8,updateEffectStyles +FN:23,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateEffectStyles +FNDA:0,(anonymous_1) +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:45,0 +LF:20 +LH:0 +BRDA:11,0,0,0 +BRDA:12,1,0,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:36,5,0,0 +BRDA:36,5,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateNodes.ts +FN:12,updateNodes +FN:34,(anonymous_1) +FN:36,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,updateNodes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:17,0 +DA:19,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:57,0 +DA:59,0 +LF:16 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/updatePluginDataAndNodes.ts +FN:15,updatePluginDataAndNodes +FN:35,(anonymous_1) +FN:36,(anonymous_2) +FN:38,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,updatePluginDataAndNodes +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:19,0 +DA:21,0 +DA:22,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:64,0 +DA:66,0 +DA:67,0 +DA:71,0 +DA:73,0 +LF:25 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:40,1,0,0 +BRDA:40,1,1,0 +BRDA:40,1,2,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateStyles.ts +FN:14,updateStyles +FN:25,(anonymous_1) +FN:25,(anonymous_2) +FN:28,(anonymous_3) +FN:30,(anonymous_4) +FN:30,(anonymous_5) +FN:41,(anonymous_6) +FN:43,(anonymous_7) +FN:47,(anonymous_8) +FN:51,(anonymous_9) +FN:64,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,updateStyles +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:21,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:41,0 +DA:43,0 +DA:47,0 +DA:51,0 +DA:56,0 +DA:58,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:69,0 +LF:19 +LH:0 +BRDA:17,0,0,0 +BRDA:30,1,0,0 +BRDA:30,1,1,0 +BRDA:32,2,0,0 +BRDA:32,2,1,0 +BRDA:32,3,0,0 +BRDA:32,3,1,0 +BRDA:33,4,0,0 +BRDA:33,4,1,0 +BRDA:33,5,0,0 +BRDA:33,5,1,0 +BRDA:38,6,0,0 +BRDA:38,6,1,0 +BRDA:39,7,0,0 +BRDA:39,7,1,0 +BRDA:56,8,0,0 +BRDA:56,8,1,0 +BRDA:56,9,0,0 +BRDA:56,9,1,0 +BRDA:56,9,2,0 +BRDA:59,10,0,0 +BRDA:59,10,1,0 +BRDA:60,11,0,0 +BRDA:60,11,1,0 +BRDA:61,12,0,0 +BRDA:61,12,1,0 +BRDA:65,13,0,0 +BRDA:65,13,1,0 +BRDA:65,14,0,0 +BRDA:65,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateTextStyles.ts +FN:8,updateTextStyles +FN:14,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateTextStyles +FNDA:0,(anonymous_1) +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:34,0 +LF:20 +LH:0 +BRDA:8,0,0,0 +BRDA:8,1,0,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:22,4,0,0 +BRDA:22,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateVariables.ts +FN:21,updateVariables +FN:45,(anonymous_1) +FN:48,(anonymous_2) +FN:67,(anonymous_3) +FN:68,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,updateVariables +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:30,0 +DA:43,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:54,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:74,0 +LF:15 +LH:0 +BRDA:49,0,0,0 +BRDA:49,0,1,0 +BRDA:65,1,0,0 +BRDA:65,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateVariablesFromPlugin.ts +FN:13,updateVariablesFromPlugin +FN:18,(anonymous_1) +FN:23,(anonymous_2) +FN:26,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,updateVariablesFromPlugin +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:64,0 +DA:71,0 +DA:72,0 +DA:74,0 +LF:32 +LH:0 +BRDA:24,0,0,0 +BRDA:24,0,1,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:30,2,0,0 +BRDA:30,2,1,0 +BRDA:30,3,0,0 +BRDA:30,3,1,0 +BRDA:32,4,0,0 +BRDA:32,4,1,0 +BRDA:33,5,0,0 +BRDA:33,5,1,0 +BRDA:36,6,0,0 +BRDA:36,6,1,0 +BRDA:36,7,0,0 +BRDA:36,7,1,0 +BRDA:42,8,0,0 +BRDA:42,8,1,0 +BRDA:49,9,0,0 +BRDA:49,9,1,0 +BRDA:49,9,2,0 +BRDA:49,9,3,0 +BRDA:49,9,4,0 +BRDA:49,9,5,0 +BRDA:49,9,6,0 +BRDA:49,9,7,0 +BRDA:49,9,8,0 +BRDA:49,9,9,0 +BRDA:51,10,0,0 +BRDA:51,10,1,0 +BRDA:56,11,0,0 +BRDA:56,11,1,0 +BRDA:61,12,0,0 +BRDA:61,12,1,0 +BRF:34 +BRH:0 +end_of_record +TN: +SF:src/plugin/updateVariablesToReference.ts +FN:3,updateVariablesToReference +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateVariablesToReference +FNDA:0,(anonymous_1) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:20,0 +DA:22,0 +DA:25,0 +LF:13 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/applySiblingStyle.ts +FN:5,applySiblingStyleId +FN:28,(anonymous_1) +FN:43,(anonymous_2) +FN:81,(anonymous_3) +FN:87,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,applySiblingStyleId +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:6,0 +DA:7,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:52,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:80,0 +DA:81,0 +DA:84,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:94,0 +LF:41 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:7,0,2,0 +BRDA:7,0,3,0 +BRDA:7,0,4,0 +BRDA:7,0,5,0 +BRDA:7,0,6,0 +BRDA:7,0,7,0 +BRDA:7,0,8,0 +BRDA:7,0,9,0 +BRDA:7,0,10,0 +BRDA:7,0,11,0 +BRDA:7,0,12,0 +BRDA:7,0,13,0 +BRDA:7,0,14,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRDA:22,3,0,0 +BRDA:22,3,1,0 +BRDA:24,4,0,0 +BRDA:24,4,1,0 +BRDA:31,5,0,0 +BRDA:31,5,1,0 +BRDA:37,6,0,0 +BRDA:37,6,1,0 +BRDA:39,7,0,0 +BRDA:39,7,1,0 +BRDA:46,8,0,0 +BRDA:46,8,1,0 +BRDA:68,9,0,0 +BRDA:68,9,1,0 +BRDA:69,10,0,0 +BRDA:69,10,1,0 +BRDA:70,11,0,0 +BRDA:70,11,1,0 +BRDA:71,12,0,0 +BRDA:71,12,1,0 +BRDA:74,13,0,0 +BRDA:74,13,1,0 +BRDA:77,14,0,0 +BRDA:77,14,1,0 +BRDA:80,15,0,0 +BRDA:80,15,1,0 +BRDA:80,16,0,0 +BRDA:80,16,1,0 +BRF:47 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts +FN:12,(anonymous_0) +FN:26,(anonymous_1) +FN:40,(anonymous_2) +FN:47,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:12,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:33,0 +DA:40,0 +DA:41,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:67,0 +LF:32 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:27,1,0,0 +BRDA:27,1,1,0 +BRDA:28,2,0,0 +BRDA:28,2,1,0 +BRDA:33,3,0,0 +BRDA:33,3,1,0 +BRDA:36,4,0,0 +BRDA:36,4,1,0 +BRDA:37,5,0,0 +BRDA:37,5,1,0 +BRDA:38,6,0,0 +BRDA:38,6,1,0 +BRDA:45,7,0,0 +BRDA:45,7,1,0 +BRDA:46,8,0,0 +BRDA:46,8,1,0 +BRDA:49,9,0,0 +BRDA:49,9,1,0 +BRDA:51,10,0,0 +BRDA:51,10,1,0 +BRDA:54,11,0,0 +BRDA:54,11,1,0 +BRDA:56,12,0,0 +BRDA:56,12,1,0 +BRDA:59,13,0,0 +BRDA:59,13,1,0 +BRDA:61,14,0,0 +BRDA:61,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts +FN:5,(anonymous_0) +FN:8,(anonymous_1) +FN:9,(anonymous_2) +FN:13,(anonymous_3) +FN:14,(anonymous_4) +FN:19,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:33,0 +LF:17 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/bulkRemapTokens.ts +FN:12,(anonymous_0) +FN:32,(anonymous_1) +FN:33,(anonymous_2) +FN:34,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:49,0 +DA:51,0 +DA:55,0 +DA:57,0 +LF:24 +LH:0 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/cancelOperation.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:7,0 +DA:8,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/changedTabs.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/createAnnotation.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/createLocalVariables.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:6,0 +DA:7,0 +DA:8,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:6,0 +DA:7,0 +DA:8,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/createStyles.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:7,0 +DA:8,0 +DA:11,0 +DA:12,0 +DA:21,0 +DA:23,0 +DA:27,0 +DA:30,0 +LF:8 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/credentials.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +DA:7,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts +FN:5,(anonymous_0) +FN:11,(anonymous_1) +FN:14,(anonymous_2) +FNF:3 +FNH:3 +FNDA:2,(anonymous_0) +FNDA:2,(anonymous_1) +FNDA:3,(anonymous_2) +DA:5,1 +DA:8,2 +DA:9,2 +DA:11,2 +DA:14,3 +DA:20,1 +DA:22,1 +DA:23,1 +LF:8 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/getFigmaFonts.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:5,0 +DA:6,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/getSiblingStyleId.ts +FN:6,getNewStyleId +FN:22,(anonymous_1) +FN:42,(anonymous_2) +FN:44,(anonymous_3) +FN:45,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,getNewStyleId +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:3,0 +DA:7,0 +DA:8,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:51,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:59,0 +DA:61,0 +LF:30 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,0 +BRDA:35,4,0,0 +BRDA:35,4,1,0 +BRDA:41,5,0,0 +BRDA:41,5,1,0 +BRDA:54,6,0,0 +BRDA:54,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/getThemeReferences.ts +FN:9,getThemeReferences +FN:19,(anonymous_1) +FN:19,(anonymous_2) +FN:23,(anonymous_3) +FN:24,(anonymous_4) +FN:29,(anonymous_5) +FN:37,(anonymous_6) +FN:38,(anonymous_7) +FN:39,(anonymous_8) +FN:39,(anonymous_9) +FN:42,(anonymous_10) +FN:43,(anonymous_11) +FN:45,(anonymous_12) +FN:46,(anonymous_13) +FN:56,(anonymous_14) +FN:69,(anonymous_15) +FNF:16 +FNH:0 +FNDA:0,getThemeReferences +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:10,0 +DA:12,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:54,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:76,0 +LF:36 +LH:0 +BRDA:21,0,0,0 +BRDA:21,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:25,3,0,0 +BRDA:25,3,1,0 +BRDA:29,4,0,0 +BRDA:29,4,1,0 +BRDA:30,5,0,0 +BRDA:30,5,1,0 +BRDA:46,6,0,0 +BRDA:46,6,1,0 +BRDA:47,7,0,0 +BRDA:47,7,1,0 +BRDA:58,8,0,0 +BRDA:58,8,1,0 +BRDA:70,9,0,0 +BRDA:70,9,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/gotoNode.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/notify.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/preview.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +DA:8,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/pullStyles.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/pullVariables.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/remapTokens.ts +FN:12,(anonymous_0) +FN:32,(anonymous_1) +FN:33,(anonymous_2) +FN:34,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:12,0 +DA:13,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:44,0 +DA:48,0 +DA:50,0 +DA:54,0 +DA:56,0 +LF:22 +LH:0 +BRDA:35,0,0,0 +BRDA:35,0,1,0 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/removeSingleCredential.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +DA:7,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/removeStyles.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +DA:7,0 +DA:11,0 +DA:14,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts +FN:4,(anonymous_0) +FN:11,(anonymous_1) +FN:12,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:18,0 +DA:20,0 +LF:11 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/removeTokensByValue.ts +FN:7,(anonymous_0) +FN:10,(anonymous_1) +FN:11,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:17,0 +DA:19,0 +LF:8 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/renameStyles.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +DA:7,0 +DA:11,0 +DA:14,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/renameVariables.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/resizeWindow.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/resolveStyleInfo.ts +FN:4,(anonymous_0) +FN:12,(anonymous_1) +FN:27,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:5,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:23,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:36,0 +DA:40,0 +LF:14 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:28,1,0,0 +BRDA:28,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/resolveVariableInfo.ts +FN:9,(anonymous_0) +FN:12,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:28,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:20,1,0,0 +BRDA:20,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/selectNodes.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:7,0 +DA:8,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setAuthData.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setInitialLoad.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setLicenseKey.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setNodeData.ts +FN:9,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +DA:18,0 +DA:27,0 +DA:30,0 +DA:33,0 +LF:10 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts +FN:12,(anonymous_0) +FN:15,(anonymous_1) +FN:16,(anonymous_2) +FN:33,(anonymous_3) +FN:34,(anonymous_4) +FN:35,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:20,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:46,0 +DA:48,0 +DA:52,0 +LF:19 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setStorageType.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setUi.ts +FN:8,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +LF:8 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:40,2,0,0 +BRDA:40,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/setUsedEmail.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/swapStyles.ts +FN:6,getRootNode +FN:16,(anonymous_1) +FN:26,swapStyles +FN:27,(anonymous_3) +FN:27,(anonymous_4) +FN:27,(anonymous_5) +FN:29,(anonymous_6) +FN:31,(anonymous_7) +FN:39,(anonymous_8) +FN:40,(anonymous_9) +FN:49,(anonymous_10) +FNF:11 +FNH:0 +FNDA:0,getRootNode +FNDA:0,(anonymous_1) +FNDA:0,swapStyles +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +LF:25 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,0,2,0 +BRDA:8,0,3,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:30,3,0,0 +BRDA:30,3,1,0 +BRDA:45,4,0,0 +BRDA:45,4,1,0 +BRDA:45,5,0,0 +BRDA:45,5,1,0 +BRDA:45,5,2,0 +BRF:15 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/update.ts +FN:13,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:31,0 +DA:34,0 +DA:35,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:61,0 +LF:15 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:46,5,0,0 +BRDA:46,5,1,0 +BRDA:56,6,0,0 +BRDA:56,6,1,0 +BRDA:56,7,0,0 +BRDA:56,7,1,0 +BRDA:56,7,2,0 +BRDA:56,7,3,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/updateCheckForChanges.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:6,0 +DA:7,0 +DA:8,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/asyncMessageHandlers/updateVariables.ts +FN:5,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/boxShadow.ts +FN:3,convertBoxShadowTypeToFigma +FN:12,convertBoxShadowTypeFromFigma +FNF:2 +FNH:0 +FNDA:0,convertBoxShadowTypeToFigma +FNDA:0,convertBoxShadowTypeFromFigma +DA:4,0 +DA:6,0 +DA:8,0 +DA:13,0 +DA:15,0 +DA:17,0 +LF:6 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/colors.ts +FN:12,RGBAToHexA +FN:28,(anonymous_1) +FN:37,hslaToRgba +FN:86,roundToTwo +FN:90,convertToFigmaColor +FN:129,convertFigmaColorToHex +FN:136,convertFigmaPaintToHex +FNF:7 +FNH:0 +FNDA:0,RGBAToHexA +FNDA:0,(anonymous_1) +FNDA:0,hslaToRgba +FNDA:0,roundToTwo +FNDA:0,convertToFigmaColor +FNDA:0,convertFigmaColorToHex +FNDA:0,convertFigmaPaintToHex +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:34,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:83,0 +DA:87,0 +DA:93,0 +DA:94,0 +DA:98,0 +DA:99,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:108,0 +DA:109,0 +DA:112,0 +DA:116,0 +DA:117,0 +DA:120,0 +DA:123,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:137,0 +LF:69 +LH:0 +BRDA:29,0,0,0 +BRDA:29,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:54,2,0,0 +BRDA:54,2,1,0 +BRDA:54,3,0,0 +BRDA:54,3,1,0 +BRDA:58,4,0,0 +BRDA:58,4,1,0 +BRDA:58,5,0,0 +BRDA:58,5,1,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:62,7,0,0 +BRDA:62,7,1,0 +BRDA:66,8,0,0 +BRDA:66,8,1,0 +BRDA:66,9,0,0 +BRDA:66,9,1,0 +BRDA:70,10,0,0 +BRDA:70,10,1,0 +BRDA:70,11,0,0 +BRDA:70,11,1,0 +BRDA:74,12,0,0 +BRDA:74,12,1,0 +BRDA:74,13,0,0 +BRDA:74,13,1,0 +BRDA:93,14,0,0 +BRDA:93,14,1,0 +BRDA:97,15,0,0 +BRDA:103,16,0,0 +BRDA:103,16,1,0 +BRDA:107,17,0,0 +BRDA:115,18,0,0 +BRDA:130,19,0,0 +BRDA:130,19,1,0 +BRF:37 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/convertFontFamilyToFigma.ts +FN:1,convertFontFamilyToFigma +FNF:1 +FNH:0 +FNDA:0,convertFontFamilyToFigma +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:11,0 +LF:8 +LH:0 +BRDA:1,0,0,0 +BRDA:4,1,0,0 +BRDA:4,1,1,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/fontWeight.ts +FN:1,convertFontWeightToFigma +FNF:1 +FNH:0 +FNDA:0,convertFontWeightToFigma +DA:2,0 +DA:3,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +LF:13 +LH:0 +BRDA:1,0,0,0 +BRDA:2,1,0,0 +BRDA:2,1,1,0 +BRDA:6,2,0,0 +BRDA:6,2,1,0 +BRDA:6,2,2,0 +BRDA:6,2,3,0 +BRDA:6,2,4,0 +BRDA:6,2,5,0 +BRDA:6,2,6,0 +BRDA:6,2,7,0 +BRDA:6,2,8,0 +BRDA:6,2,9,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/generic.ts +FN:3,convertNumberToFigma +FN:7,fakeZeroForFigma +FN:11,convertTypographyNumberToFigma +FNF:3 +FNH:0 +FNDA:0,convertNumberToFigma +FNDA:0,fakeZeroForFigma +FNDA:0,convertTypographyNumberToFigma +DA:4,0 +DA:8,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:18,0 +LF:7 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:12,2,0,0 +BRDA:12,2,1,0 +BRDA:12,2,2,0 +BRDA:13,3,0,0 +BRDA:13,3,1,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/gradients.ts +FN:5,convertDegreeToNumber +FN:9,convertFigmaGradientToString +FN:12,(anonymous_2) +FN:20,(anonymous_3) +FN:26,convertStringToFigmaGradient +FN:27,(anonymous_5) +FN:108,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,convertDegreeToNumber +FNDA:0,convertFigmaGradientToString +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,convertStringToFigmaGradient +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:6,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:70,0 +DA:71,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:82,0 +DA:84,0 +DA:85,0 +DA:92,0 +DA:93,0 +DA:97,0 +DA:98,0 +DA:100,0 +DA:106,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:119,0 +LF:63 +LH:0 +BRDA:20,0,0,0 +BRDA:31,1,0,0 +BRDA:31,1,1,0 +BRDA:34,2,0,0 +BRDA:34,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:40,4,0,0 +BRDA:40,4,1,0 +BRDA:40,4,2,0 +BRDA:40,4,3,0 +BRDA:40,4,4,0 +BRDA:40,4,5,0 +BRDA:40,4,6,0 +BRDA:40,4,7,0 +BRDA:40,4,8,0 +BRDA:74,5,0,0 +BRDA:74,5,1,0 +BRDA:115,6,0,0 +BRDA:115,6,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/letterSpacing.ts +FN:5,convertLetterSpacingToFigma +FN:25,convertFigmaToLetterSpacing +FNF:2 +FNH:0 +FNDA:0,convertLetterSpacingToFigma +FNDA:0,convertFigmaToLetterSpacing +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:22,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +LF:13 +LH:0 +BRDA:5,0,0,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:13,3,0,0 +BRDA:13,3,1,0 +BRDA:13,3,2,0 +BRDA:13,3,3,0 +BRDA:14,4,0,0 +BRDA:14,4,1,0 +BRDA:27,5,0,0 +BRDA:27,5,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/lineHeight.ts +FN:3,convertLineHeightToFigma +FN:28,convertFigmaToLineHeight +FNF:2 +FNH:0 +FNDA:0,convertLineHeightToFigma +FNDA:0,convertFigmaToLineHeight +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:15,0 +DA:16,0 +DA:21,0 +DA:25,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +LF:16 +LH:0 +BRDA:3,0,0,0 +BRDA:7,1,0,0 +BRDA:7,1,1,0 +BRDA:7,2,0,0 +BRDA:7,2,1,0 +BRDA:7,2,2,0 +BRDA:7,2,3,0 +BRDA:8,3,0,0 +BRDA:8,3,1,0 +BRDA:15,4,0,0 +BRDA:15,4,1,0 +BRDA:15,5,0,0 +BRDA:15,5,1,0 +BRDA:29,6,0,0 +BRDA:29,6,1,0 +BRDA:31,7,0,0 +BRDA:31,7,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/numberMatchesPercentage.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/offset.ts +FN:1,convertOffsetToFigma +FNF:1 +FNH:0 +FNDA:0,convertOffsetToFigma +DA:2,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/opacity.ts +FN:1,convertOpacityToFigma +FNF:1 +FNH:0 +FNDA:0,convertOpacityToFigma +DA:3,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +LF:10 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:7,1,0,0 +BRDA:7,1,1,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,0 +BRDA:15,3,2,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/textCase.ts +FN:1,convertTextCaseToFigma +FN:23,convertFigmaToTextCase +FNF:2 +FNH:0 +FNDA:0,convertTextCaseToFigma +FNDA:0,convertFigmaToTextCase +DA:2,0 +DA:5,0 +DA:8,0 +DA:11,0 +DA:14,0 +DA:17,0 +DA:19,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:30,0 +DA:32,0 +DA:34,0 +DA:36,0 +LF:14 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:2,0,2,0 +BRDA:2,0,3,0 +BRDA:2,0,4,0 +BRDA:2,0,5,0 +BRDA:2,0,6,0 +BRDA:2,0,7,0 +BRDA:2,0,8,0 +BRDA:2,0,9,0 +BRDA:2,0,10,0 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:24,1,2,0 +BRDA:24,1,3,0 +BRDA:24,1,4,0 +BRDA:24,1,5,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaTransforms/textDecoration.ts +FN:1,convertTextDecorationToFigma +FN:13,convertFigmaToTextDecoration +FNF:2 +FNH:0 +FNDA:0,convertTextDecorationToFigma +FNDA:0,convertFigmaToTextDecoration +DA:2,0 +DA:4,0 +DA:7,0 +DA:9,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:20,0 +LF:8 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:2,0,2,0 +BRDA:2,0,3,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts +FN:1,getShadowBehindNodeFromEffect +FNF:1 +FNH:0 +FNDA:0,getShadowBehindNodeFromEffect +DA:2,0 +DA:3,0 +DA:4,0 +DA:6,0 +LF:4 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:3,1,0,0 +BRDA:3,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaUtils/styleUtils.ts +FN:10,getStyleId +FN:26,getStyleIdFromBackup +FN:27,(anonymous_2) +FN:40,getNonLocalStyle +FN:56,getLocalStyle +FN:65,setStyleIdBackup +FN:70,clearStyleIdBackup +FNF:7 +FNH:0 +FNDA:0,getStyleId +FNDA:0,getStyleIdFromBackup +FNDA:0,(anonymous_2) +FNDA:0,getNonLocalStyle +FNDA:0,getLocalStyle +FNDA:0,setStyleIdBackup +FNDA:0,clearStyleIdBackup +DA:11,0 +DA:12,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:36,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:61,0 +DA:62,0 +DA:67,0 +DA:72,0 +LF:26 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:11,1,2,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRDA:14,3,0,0 +BRDA:14,3,1,0 +BRDA:14,3,2,0 +BRDA:17,4,0,0 +BRDA:17,4,1,0 +BRDA:17,5,0,0 +BRDA:17,5,1,0 +BRDA:17,5,2,0 +BRDA:20,6,0,0 +BRDA:20,6,1,0 +BRDA:20,7,0,0 +BRDA:20,7,1,0 +BRDA:20,7,2,0 +BRDA:28,8,0,0 +BRDA:28,8,1,0 +BRDA:46,9,0,0 +BRDA:46,9,1,0 +BRDA:47,10,0,0 +BRDA:47,10,1,0 +BRDA:49,11,0,0 +BRDA:49,11,1,0 +BRDA:61,12,0,0 +BRDA:61,12,1,0 +BRDA:67,13,0,0 +BRDA:67,13,1,0 +BRF:32 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts +FN:9,convertBoxShadowToFigmaEffect +FN:31,effectStyleMatchesBoxShadowToken +FN:40,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,convertBoxShadowToFigmaEffect +FNDA:0,effectStyleMatchesBoxShadowToken +FNDA:0,(anonymous_2) +DA:10,0 +DA:11,0 +DA:12,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:46,0 +LF:11 +LH:0 +BRDA:26,0,0,0 +BRDA:26,0,1,0 +BRDA:36,1,0,0 +BRDA:36,1,1,0 +BRDA:36,2,0,0 +BRDA:36,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:39,4,0,0 +BRDA:39,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaUtils/styleMatchers/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts +FN:5,paintStyleMatchesColorToken +FNF:1 +FNH:0 +FNDA:0,paintStyleMatchesColorToken +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:19,0 +DA:21,0 +LF:10 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:7,1,0,0 +BRDA:7,1,1,0 +BRDA:12,2,0,0 +BRDA:12,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts +FN:4,textStyleMatchesTypographyToken +FNF:1 +FNH:0 +FNDA:0,textStyleMatchesTypographyToken +DA:9,0 +DA:10,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:50,0 +DA:51,0 +DA:55,0 +DA:56,0 +DA:59,0 +DA:63,0 +DA:65,0 +DA:69,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:81,0 +LF:34 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:25,2,0,0 +BRDA:25,2,1,0 +BRDA:28,3,0,0 +BRDA:28,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:31,5,0,0 +BRDA:31,5,1,0 +BRDA:36,6,0,0 +BRDA:36,6,1,0 +BRDA:38,7,0,0 +BRDA:38,7,1,0 +BRDA:38,8,0,0 +BRDA:38,8,1,0 +BRDA:38,8,2,0 +BRDA:39,9,0,0 +BRDA:39,9,1,0 +BRDA:41,10,0,0 +BRDA:41,10,1,0 +BRDA:44,11,0,0 +BRDA:44,11,1,0 +BRDA:44,12,0,0 +BRDA:44,12,1,0 +BRDA:45,13,0,0 +BRDA:45,13,1,0 +BRDA:45,14,0,0 +BRDA:45,14,1,0 +BRDA:51,15,0,0 +BRDA:51,15,1,0 +BRDA:52,16,0,0 +BRDA:52,16,1,0 +BRDA:55,17,0,0 +BRDA:55,17,1,0 +BRDA:55,18,0,0 +BRDA:55,18,1,0 +BRDA:55,18,2,0 +BRDA:59,19,0,0 +BRDA:59,19,1,0 +BRDA:60,20,0,0 +BRDA:60,20,1,0 +BRDA:65,21,0,0 +BRDA:65,21,1,0 +BRDA:66,22,0,0 +BRDA:66,22,1,0 +BRDA:73,23,0,0 +BRDA:73,23,1,0 +BRDA:78,24,0,0 +BRDA:78,24,1,0 +BRF:52 +BRH:0 +end_of_record +TN: +SF:src/profiling/timing.ts +FN:11,(anonymous_0) +FN:27,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +LF:10 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/profiling/transaction.ts +FN:9,(anonymous_0) +FN:40,(anonymous_1) +FN:48,(anonymous_2) +FN:70,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:6,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:13,0 +DA:15,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:82,0 +DA:87,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:94,0 +DA:96,0 +DA:97,0 +DA:99,0 +DA:102,0 +DA:105,0 +LF:39 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:10,0,2,0 +BRDA:42,1,0,0 +BRDA:42,1,1,0 +BRDA:55,2,0,0 +BRDA:55,2,1,0 +BRDA:72,3,0,0 +BRDA:72,3,1,0 +BRDA:80,4,0,0 +BRDA:80,4,1,0 +BRDA:80,5,0,0 +BRDA:80,5,1,0 +BRDA:82,6,0,0 +BRDA:82,6,1,0 +BRDA:90,7,0,0 +BRDA:90,7,1,0 +BRF:17 +BRH:0 +end_of_record +TN: +SF:src/selectors/activeApiProviderSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/activeTabSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/activeThemeSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/activeTokenSetReadOnlySelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/activeTokenSetSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/activeTokensTabSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/aliasBaseFontSizeSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/allTokenSetsSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/apiProvidersSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/apiSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/backgroundJobsSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/baseFontSizeSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/branchSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/changedStateSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/changelogSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/collapsedSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/collapsedTokenSetsSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/collapsedTokenTypeObjSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/collapsedTokensSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/confirmStateSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/createStylesWithVariableReferencesSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/displayTypeSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/editProhibitedSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/editTokenSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/figmaFontsSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/getClientEmail.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/getEntitlements.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/getLastopened.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/hasUnsavedChangesSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/ignoreFirstPartForStylesSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/importedThemesSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/importedTokensSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/inspectDeepSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/inspectStateSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/isWaitingForBackgroundJobSelector.ts +FN:6,(anonymous_0) +FN:11,(anonymous_1) +FN:12,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:8,0 +DA:12,0 +DA:13,0 +LF:4 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,0,2,0 +BRDA:13,0,3,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/selectors/languageSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/lastSyncedStateSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/licenseDetailsSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/licenseKeyErrorSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/licenseKeySelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/licenseStatusSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/localApiStateBranchSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:8,0 +DA:9,0 +DA:11,0 +LF:4 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/selectors/localApiStateSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/mainNodeSelectionValuesSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/manageThemesModalOpenSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/planSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/prefixStylesWithThemeNameSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/projectURLSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/remoteDataSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/renameExistingStylesAndVariablesSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/rootStateSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/scrollPositionSetSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/secondScreenSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/sessionRecordingSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/settingsStateSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/showAutoSuggestSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/showConvertTokenFormatModalSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/showEditFormSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/showEmptyGroupsSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/showPullDialogSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/showPushDialogSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/storageTypeSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/storeTokenIdInJsonEditorSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/stringTokensSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/stylesColorSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/stylesEffectSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/stylesTypographySelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/themeByIdSelector.ts +FN:5,(anonymous_0) +FN:9,(anonymous_1) +FN:10,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:5,0 +DA:6,0 +DA:10,0 +DA:11,0 +LF:4 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/selectors/themeObjectsSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/themeOptionsSelector.ts +FN:6,(anonymous_0) +FN:7,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:4,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/themesListSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/themesSizeSelector.ts +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:4,0 +DA:6,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokenFilterSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokenFormatSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokenSetMetadataSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokenSetStatusSelector.ts +FN:8,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:6,0 +DA:8,0 +DA:10,0 +LF:3 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokenStateSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokenTypeSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokensSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokensSizeSelector.ts +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:4,0 +DA:6,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/tokensStudioPATSelector.ts +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:4,0 +DA:6,0 +DA:9,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/uiDisabledSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/uiStateSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/updateModeSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/selectors/usedEmailSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/usedTokenSetSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/userIdSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/userNameSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/userStateSelector.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/variablesBooleanSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/variablesColorSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/variablesNumberSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/variablesStringSelector.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +DA:6,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/selectors/windowSizeSelector.ts +FN:4,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/ADOTokenStorage.ts +FN:59,(anonymous_0) +FN:77,(anonymous_1) +FN:81,(anonymous_2) +FN:92,(anonymous_3) +FN:109,(anonymous_4) +FN:125,(anonymous_5) +FN:142,(anonymous_6) +FN:160,(anonymous_7) +FN:171,(anonymous_8) +FN:184,(anonymous_9) +FN:196,(anonymous_10) +FN:206,(anonymous_11) +FN:226,(anonymous_12) +FN:246,(anonymous_13) +FN:251,(anonymous_14) +FN:252,(anonymous_15) +FN:259,(anonymous_16) +FN:268,(anonymous_17) +FN:321,(anonymous_18) +FN:323,(anonymous_19) +FN:343,(anonymous_20) +FN:358,(anonymous_21) +FN:392,(anonymous_22) +FN:395,(anonymous_23) +FN:397,(anonymous_24) +FN:418,(anonymous_25) +FN:418,(anonymous_26) +FN:419,(anonymous_27) +FN:419,(anonymous_28) +FN:420,(anonymous_29) +FN:421,(anonymous_30) +FNF:31 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +DA:15,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:78,0 +DA:91,0 +DA:92,0 +DA:94,0 +DA:95,0 +DA:106,0 +DA:110,0 +DA:112,0 +DA:122,0 +DA:126,0 +DA:127,0 +DA:135,0 +DA:137,0 +DA:138,0 +DA:143,0 +DA:144,0 +DA:153,0 +DA:155,0 +DA:156,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:168,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:179,0 +DA:181,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:192,0 +DA:193,0 +DA:197,0 +DA:207,0 +DA:210,0 +DA:219,0 +DA:221,0 +DA:222,0 +DA:227,0 +DA:228,0 +DA:239,0 +DA:241,0 +DA:242,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:253,0 +DA:256,0 +DA:258,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:265,0 +DA:268,0 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:280,0 +DA:281,0 +DA:282,0 +DA:289,0 +DA:298,0 +DA:302,0 +DA:303,0 +DA:305,0 +DA:306,0 +DA:308,0 +DA:322,0 +DA:323,0 +DA:331,0 +DA:332,0 +DA:334,0 +DA:338,0 +DA:340,0 +DA:347,0 +DA:358,0 +DA:360,0 +DA:361,0 +DA:362,0 +DA:365,0 +DA:367,0 +DA:389,0 +DA:393,0 +DA:394,0 +DA:395,0 +DA:396,0 +DA:398,0 +DA:399,0 +DA:412,0 +DA:413,0 +DA:414,0 +DA:417,0 +DA:418,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:430,0 +DA:432,0 +DA:439,0 +DA:442,0 +DA:448,0 +LF:119 +LH:0 +BRDA:60,0,0,0 +BRDA:65,1,0,0 +BRDA:89,2,0,0 +BRDA:91,3,0,0 +BRDA:91,3,1,0 +BRDA:94,4,0,0 +BRDA:94,4,1,0 +BRDA:110,5,0,0 +BRDA:110,5,1,0 +BRDA:110,6,0,0 +BRDA:110,6,1,0 +BRDA:125,7,0,0 +BRDA:164,8,0,0 +BRDA:164,8,1,0 +BRDA:171,9,0,0 +BRDA:173,10,0,0 +BRDA:173,10,1,0 +BRDA:179,11,0,0 +BRDA:179,11,1,0 +BRDA:188,12,0,0 +BRDA:188,12,1,0 +BRDA:192,13,0,0 +BRDA:192,13,1,0 +BRDA:193,14,0,0 +BRDA:193,14,1,0 +BRDA:206,15,0,0 +BRDA:233,16,0,0 +BRDA:233,16,1,0 +BRDA:248,17,0,0 +BRDA:248,17,1,0 +BRDA:250,18,0,0 +BRDA:250,18,1,0 +BRDA:253,19,0,0 +BRDA:253,19,1,0 +BRDA:253,20,0,0 +BRDA:253,20,1,0 +BRDA:256,21,0,0 +BRDA:256,21,1,0 +BRDA:262,22,0,0 +BRDA:262,22,1,0 +BRDA:270,23,0,0 +BRDA:270,23,1,0 +BRDA:272,24,0,0 +BRDA:272,24,1,0 +BRDA:272,25,0,0 +BRDA:272,25,1,0 +BRDA:280,26,0,0 +BRDA:280,26,1,0 +BRDA:281,27,0,0 +BRDA:281,27,1,0 +BRDA:305,28,0,0 +BRDA:305,28,1,0 +BRDA:306,29,0,0 +BRDA:314,30,0,0 +BRDA:314,30,1,0 +BRDA:327,31,0,0 +BRDA:327,31,1,0 +BRDA:331,32,0,0 +BRDA:331,32,1,0 +BRDA:344,33,0,0 +BRDA:360,34,0,0 +BRDA:360,34,1,0 +BRDA:361,35,0,0 +BRDA:361,35,1,0 +BRDA:372,36,0,0 +BRDA:372,36,1,0 +BRDA:392,37,0,0 +BRDA:395,38,0,0 +BRDA:395,38,1,0 +BRDA:398,39,0,0 +BRDA:398,39,1,0 +BRDA:400,40,0,0 +BRDA:400,40,1,0 +BRDA:413,41,0,0 +BRDA:413,41,1,0 +BRDA:417,42,0,0 +BRDA:417,42,1,0 +BRDA:418,43,0,0 +BRDA:418,43,1,0 +BRDA:419,44,0,0 +BRDA:419,44,1,0 +BRDA:420,45,0,0 +BRDA:420,45,1,0 +BRDA:422,46,0,0 +BRDA:422,46,1,0 +BRF:85 +BRH:0 +end_of_record +TN: +SF:src/storage/BitbucketTokenStorage.ts +FN:30,(anonymous_0) +FN:47,(anonymous_1) +FN:58,(anonymous_2) +FN:74,(anonymous_3) +FN:83,(anonymous_4) +FN:117,(anonymous_5) +FN:144,(anonymous_6) +FN:162,(anonymous_7) +FN:168,(anonymous_8) +FN:169,(anonymous_9) +FN:181,(anonymous_10) +FN:198,(anonymous_11) +FN:224,(anonymous_12) +FN:228,(anonymous_13) +FN:242,(anonymous_14) +FN:247,(anonymous_15) +FN:250,(anonymous_16) +FN:322,(anonymous_17) +FN:339,(anonymous_18) +FN:350,(anonymous_19) +FN:361,(anonymous_20) +FN:369,(anonymous_21) +FN:384,(anonymous_22) +FNF:23 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +DA:31,0 +DA:32,0 +DA:36,0 +DA:48,0 +DA:53,0 +DA:54,0 +DA:58,0 +DA:75,0 +DA:76,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:86,0 +DA:93,0 +DA:96,0 +DA:107,0 +DA:109,0 +DA:110,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:124,0 +DA:125,0 +DA:127,0 +DA:145,0 +DA:146,0 +DA:148,0 +DA:149,0 +DA:156,0 +DA:157,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:166,0 +DA:168,0 +DA:169,0 +DA:172,0 +DA:175,0 +DA:178,0 +DA:182,0 +DA:189,0 +DA:190,0 +DA:193,0 +DA:195,0 +DA:199,0 +DA:201,0 +DA:202,0 +DA:205,0 +DA:206,0 +DA:208,0 +DA:224,0 +DA:228,0 +DA:238,0 +DA:239,0 +DA:241,0 +DA:242,0 +DA:247,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:257,0 +DA:258,0 +DA:265,0 +DA:266,0 +DA:273,0 +DA:282,0 +DA:286,0 +DA:287,0 +DA:325,0 +DA:327,0 +DA:329,0 +DA:330,0 +DA:332,0 +DA:333,0 +DA:334,0 +DA:335,0 +DA:337,0 +DA:338,0 +DA:339,0 +DA:340,0 +DA:341,0 +DA:342,0 +DA:347,0 +DA:349,0 +DA:350,0 +DA:361,0 +DA:362,0 +DA:366,0 +DA:369,0 +DA:370,0 +DA:373,0 +DA:381,0 +DA:390,0 +DA:402,0 +LF:100 +LH:0 +BRDA:38,0,0,0 +BRDA:38,0,1,0 +BRDA:41,1,0,0 +BRDA:41,1,1,0 +BRDA:53,2,0,0 +BRDA:53,2,1,0 +BRDA:53,3,0,0 +BRDA:53,3,1,0 +BRDA:81,4,0,0 +BRDA:81,4,1,0 +BRDA:86,5,0,0 +BRDA:86,5,1,0 +BRDA:87,6,0,0 +BRDA:87,6,1,0 +BRDA:87,6,2,0 +BRDA:87,6,3,0 +BRDA:87,6,4,0 +BRDA:119,7,0,0 +BRDA:119,7,1,0 +BRDA:124,8,0,0 +BRDA:124,8,1,0 +BRDA:156,9,0,0 +BRDA:156,9,1,0 +BRDA:161,10,0,0 +BRDA:161,10,1,0 +BRDA:161,11,0,0 +BRDA:161,11,1,0 +BRDA:175,12,0,0 +BRDA:175,12,1,0 +BRDA:189,13,0,0 +BRDA:189,13,1,0 +BRDA:205,14,0,0 +BRDA:205,14,1,0 +BRDA:212,15,0,0 +BRDA:212,15,1,0 +BRDA:214,16,0,0 +BRDA:214,16,1,0 +BRDA:238,17,0,0 +BRDA:238,17,1,0 +BRDA:252,18,0,0 +BRDA:252,18,1,0 +BRDA:257,19,0,0 +BRDA:257,19,1,0 +BRDA:265,20,0,0 +BRDA:265,20,1,0 +BRDA:332,21,0,0 +BRDA:332,21,1,0 +BRDA:332,22,0,0 +BRDA:332,22,1,0 +BRDA:338,23,0,0 +BRDA:338,23,1,0 +BRDA:340,24,0,0 +BRDA:340,24,1,0 +BRDA:340,25,0,0 +BRDA:340,25,1,0 +BRDA:350,26,0,0 +BRDA:350,26,1,0 +BRF:57 +BRH:0 +end_of_record +TN: +SF:src/storage/FileTokenStorage.ts +FN:24,(anonymous_0) +FN:29,(anonymous_1) +FN:34,(anonymous_2) +FN:37,(anonymous_3) +FN:38,(anonymous_4) +FN:42,(anonymous_5) +FN:42,(anonymous_6) +FN:45,(anonymous_7) +FN:59,(anonymous_8) +FN:94,(anonymous_9) +FN:95,(anonymous_10) +FN:116,(anonymous_11) +FN:138,(anonymous_12) +FNF:13 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +DA:20,0 +DA:25,0 +DA:26,0 +DA:30,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:54,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:71,0 +DA:72,0 +DA:79,0 +DA:80,0 +DA:88,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:116,0 +DA:124,0 +DA:128,0 +DA:133,0 +DA:135,0 +DA:139,0 +LF:50 +LH:0 +BRDA:36,0,0,0 +BRDA:36,0,1,0 +BRDA:36,1,0,0 +BRDA:36,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:39,3,0,0 +BRDA:39,3,1,0 +BRDA:47,4,0,0 +BRDA:47,4,1,0 +BRDA:47,5,0,0 +BRDA:47,5,1,0 +BRDA:50,6,0,0 +BRDA:50,6,1,0 +BRDA:61,7,0,0 +BRDA:61,7,1,0 +BRDA:63,8,0,0 +BRDA:63,8,1,0 +BRDA:63,9,0,0 +BRDA:63,9,1,0 +BRDA:71,10,0,0 +BRDA:71,10,1,0 +BRDA:79,11,0,0 +BRDA:79,11,1,0 +BRDA:91,12,0,0 +BRDA:91,12,1,0 +BRDA:98,13,0,0 +BRDA:98,13,1,0 +BRDA:98,14,0,0 +BRDA:98,14,1,0 +BRDA:101,15,0,0 +BRDA:101,15,1,0 +BRDA:102,16,0,0 +BRDA:107,17,0,0 +BRDA:107,17,1,0 +BRDA:109,18,0,0 +BRDA:109,18,1,0 +BRDA:120,19,0,0 +BRDA:120,19,1,0 +BRF:39 +BRH:0 +end_of_record +TN: +SF:src/storage/GenericVersionedStorage.ts +FN:34,(anonymous_0) +FN:34,(anonymous_1) +FN:49,(anonymous_2) +FN:97,(anonymous_3) +FN:107,(anonymous_4) +FN:122,(anonymous_5) +FN:131,(anonymous_6) +FN:159,(anonymous_7) +FN:170,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:12,0 +DA:34,0 +DA:52,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:76,0 +DA:88,0 +DA:89,0 +DA:91,0 +DA:92,0 +DA:94,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:108,0 +DA:122,0 +DA:132,0 +DA:142,0 +DA:143,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:156,0 +DA:160,0 +DA:161,0 +DA:164,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:176,0 +DA:177,0 +DA:184,0 +DA:195,0 +DA:196,0 +DA:199,0 +DA:200,0 +DA:203,0 +LF:50 +LH:0 +BRDA:49,0,0,0 +BRDA:60,1,0,0 +BRDA:60,1,1,0 +BRDA:60,1,2,0 +BRDA:60,1,3,0 +BRDA:88,2,0,0 +BRDA:88,2,1,0 +BRDA:91,3,0,0 +BRDA:91,3,1,0 +BRDA:97,4,0,0 +BRDA:112,5,0,0 +BRDA:112,5,1,0 +BRDA:142,6,0,0 +BRDA:142,6,1,0 +BRDA:145,7,0,0 +BRDA:145,7,1,0 +BRDA:148,8,0,0 +BRDA:148,8,1,0 +BRDA:160,9,0,0 +BRDA:160,9,1,0 +BRDA:171,10,0,0 +BRDA:171,10,1,0 +BRDA:173,11,0,0 +BRDA:173,11,1,0 +BRDA:176,12,0,0 +BRDA:176,12,1,0 +BRDA:195,13,0,0 +BRDA:195,13,1,0 +BRDA:199,14,0,0 +BRDA:199,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:src/storage/GitTokenStorage.ts +FN:49,(anonymous_0) +FN:64,(anonymous_1) +FN:69,(anonymous_2) +FN:74,(anonymous_3) +FN:79,(anonymous_4) +FN:94,(anonymous_5) +FN:101,(anonymous_6) +FN:113,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:37,0 +DA:39,0 +DA:41,0 +DA:43,0 +DA:47,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:65,0 +DA:66,0 +DA:70,0 +DA:71,0 +DA:75,0 +DA:76,0 +DA:80,0 +DA:81,0 +DA:95,0 +DA:96,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:109,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:124,0 +DA:126,0 +LF:41 +LH:0 +BRDA:96,0,0,0 +BRDA:96,0,1,0 +BRDA:99,1,0,0 +BRDA:99,1,1,0 +BRDA:102,2,0,0 +BRDA:102,2,1,0 +BRDA:104,3,0,0 +BRDA:104,3,1,0 +BRDA:105,4,0,0 +BRDA:105,4,1,0 +BRDA:106,5,0,0 +BRDA:106,5,1,0 +BRDA:107,6,0,0 +BRDA:107,6,1,0 +BRDA:112,7,0,0 +BRDA:112,7,1,0 +BRDA:114,8,0,0 +BRDA:114,8,1,0 +BRDA:116,9,0,0 +BRDA:116,9,1,0 +BRDA:118,10,0,0 +BRDA:118,10,1,0 +BRDA:128,11,0,0 +BRDA:128,11,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/storage/GithubTokenStorage.ts +FN:31,getTreeMode +FN:49,(anonymous_1) +FN:68,(anonymous_2) +FN:77,(anonymous_3) +FN:82,(anonymous_4) +FN:98,(anonymous_5) +FN:112,(anonymous_6) +FN:114,(anonymous_7) +FN:117,(anonymous_8) +FN:137,(anonymous_9) +FN:154,(anonymous_10) +FN:180,(anonymous_11) +FN:182,(anonymous_12) +FN:185,(anonymous_13) +FN:198,(anonymous_14) +FN:254,(anonymous_15) +FN:256,(anonymous_16) +FN:277,(anonymous_17) +FN:295,(anonymous_18) +FN:308,(anonymous_19) +FN:324,(anonymous_20) +FN:326,(anonymous_21) +FN:330,(anonymous_22) +FN:330,(anonymous_23) +FN:331,(anonymous_24) +FN:343,(anonymous_25) +FNF:26 +FNH:0 +FNDA:0,getTreeMode +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +DA:32,0 +DA:34,0 +DA:36,0 +DA:41,0 +DA:55,0 +DA:56,0 +DA:61,0 +DA:62,0 +DA:69,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:88,0 +DA:89,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:105,0 +DA:106,0 +DA:109,0 +DA:113,0 +DA:114,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:127,0 +DA:130,0 +DA:132,0 +DA:133,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:148,0 +DA:150,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:183,0 +DA:185,0 +DA:186,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:211,0 +DA:212,0 +DA:219,0 +DA:220,0 +DA:227,0 +DA:234,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:255,0 +DA:256,0 +DA:264,0 +DA:269,0 +DA:272,0 +DA:273,0 +DA:278,0 +DA:292,0 +DA:296,0 +DA:297,0 +DA:304,0 +DA:305,0 +DA:308,0 +DA:315,0 +DA:316,0 +DA:323,0 +DA:324,0 +DA:325,0 +DA:327,0 +DA:330,0 +DA:331,0 +DA:332,0 +DA:337,0 +DA:339,0 +DA:344,0 +DA:345,0 +DA:346,0 +DA:354,0 +DA:355,0 +DA:356,0 +DA:358,0 +DA:361,0 +DA:362,0 +LF:103 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRDA:64,1,0,0 +BRDA:64,1,1,0 +BRDA:80,2,0,0 +BRDA:80,2,1,0 +BRDA:83,3,0,0 +BRDA:83,3,1,0 +BRDA:88,4,0,0 +BRDA:88,4,1,0 +BRDA:97,5,0,0 +BRDA:97,5,1,0 +BRDA:99,6,0,0 +BRDA:99,6,1,0 +BRDA:105,7,0,0 +BRDA:105,7,1,0 +BRDA:119,8,0,0 +BRDA:119,8,1,0 +BRDA:138,9,0,0 +BRDA:138,9,1,0 +BRDA:138,10,0,0 +BRDA:138,10,1,0 +BRDA:140,11,0,0 +BRDA:140,11,1,0 +BRDA:170,12,0,0 +BRDA:170,12,1,0 +BRDA:179,13,0,0 +BRDA:179,13,1,0 +BRDA:179,14,0,0 +BRDA:179,14,1,0 +BRDA:183,15,0,0 +BRDA:183,15,1,0 +BRDA:183,16,0,0 +BRDA:183,16,1,0 +BRDA:186,17,0,0 +BRDA:186,17,1,0 +BRDA:189,18,0,0 +BRDA:189,18,1,0 +BRDA:200,19,0,0 +BRDA:200,19,1,0 +BRDA:201,20,0,0 +BRDA:201,20,1,0 +BRDA:201,20,2,0 +BRDA:205,21,0,0 +BRDA:205,21,1,0 +BRDA:211,22,0,0 +BRDA:211,22,1,0 +BRDA:219,23,0,0 +BRDA:219,23,1,0 +BRDA:237,24,0,0 +BRDA:237,24,1,0 +BRDA:239,25,0,0 +BRDA:239,25,1,0 +BRDA:245,26,0,0 +BRDA:245,26,1,0 +BRDA:247,27,0,0 +BRDA:247,27,1,0 +BRDA:304,28,0,0 +BRDA:304,28,1,0 +BRDA:315,29,0,0 +BRDA:315,29,1,0 +BRDA:323,30,0,0 +BRDA:323,30,1,0 +BRDA:327,31,0,0 +BRDA:327,31,1,0 +BRDA:327,32,0,0 +BRDA:327,32,1,0 +BRDA:330,33,0,0 +BRDA:330,33,1,0 +BRDA:331,34,0,0 +BRDA:331,34,1,0 +BRDA:354,35,0,0 +BRDA:354,35,1,0 +BRF:73 +BRH:0 +end_of_record +TN: +SF:src/storage/GitlabTokenStorage.ts +FN:37,(anonymous_0) +FN:56,(anonymous_1) +FN:63,(anonymous_2) +FN:76,(anonymous_3) +FN:79,(anonymous_4) +FN:82,(anonymous_5) +FN:97,(anonymous_6) +FN:114,(anonymous_7) +FN:122,(anonymous_8) +FN:130,(anonymous_9) +FN:131,(anonymous_10) +FN:153,(anonymous_11) +FN:164,(anonymous_12) +FN:166,(anonymous_13) +FN:170,(anonymous_14) +FN:174,(anonymous_15) +FN:226,(anonymous_16) +FN:228,(anonymous_17) +FN:245,(anonymous_18) +FN:278,(anonymous_19) +FN:279,(anonymous_20) +FN:285,(anonymous_21) +FN:286,(anonymous_22) +FN:289,(anonymous_23) +FN:289,(anonymous_24) +FN:294,(anonymous_25) +FN:321,(anonymous_26) +FN:331,(anonymous_27) +FN:333,(anonymous_28) +FNF:29 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +DA:25,0 +DA:27,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:52,0 +DA:53,0 +DA:57,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:70,0 +DA:71,0 +DA:73,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:90,0 +DA:92,0 +DA:93,0 +DA:98,0 +DA:99,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:107,0 +DA:109,0 +DA:111,0 +DA:115,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:148,0 +DA:154,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:164,0 +DA:165,0 +DA:167,0 +DA:170,0 +DA:171,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:180,0 +DA:181,0 +DA:188,0 +DA:189,0 +DA:196,0 +DA:204,0 +DA:208,0 +DA:209,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:227,0 +DA:228,0 +DA:236,0 +DA:240,0 +DA:242,0 +DA:246,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:257,0 +DA:263,0 +DA:265,0 +DA:266,0 +DA:275,0 +DA:278,0 +DA:279,0 +DA:280,0 +DA:284,0 +DA:285,0 +DA:286,0 +DA:288,0 +DA:289,0 +DA:292,0 +DA:293,0 +DA:294,0 +DA:301,0 +DA:302,0 +DA:309,0 +DA:310,0 +DA:312,0 +DA:315,0 +DA:316,0 +DA:318,0 +DA:322,0 +DA:324,0 +DA:325,0 +DA:326,0 +DA:331,0 +DA:332,0 +DA:334,0 +DA:337,0 +DA:338,0 +DA:339,0 +DA:340,0 +DA:342,0 +DA:343,0 +DA:344,0 +DA:345,0 +DA:347,0 +DA:348,0 +LF:129 +LH:0 +BRDA:42,0,0,0 +BRDA:43,1,0,0 +BRDA:50,2,0,0 +BRDA:50,2,1,0 +BRDA:62,3,0,0 +BRDA:62,3,1,0 +BRDA:64,4,0,0 +BRDA:64,4,1,0 +BRDA:70,5,0,0 +BRDA:70,5,1,0 +BRDA:77,6,0,0 +BRDA:77,6,1,0 +BRDA:83,7,0,0 +BRDA:83,7,1,0 +BRDA:88,8,0,0 +BRDA:88,8,1,0 +BRDA:98,9,0,0 +BRDA:98,9,1,0 +BRDA:98,10,0,0 +BRDA:98,10,1,0 +BRDA:99,11,0,0 +BRDA:99,11,1,0 +BRDA:103,12,0,0 +BRDA:103,12,1,0 +BRDA:103,13,0,0 +BRDA:103,13,1,0 +BRDA:124,14,0,0 +BRDA:124,14,1,0 +BRDA:133,15,0,0 +BRDA:133,15,1,0 +BRDA:133,16,0,0 +BRDA:133,16,1,0 +BRDA:139,17,0,0 +BRDA:139,17,1,0 +BRDA:154,18,0,0 +BRDA:154,18,1,0 +BRDA:157,19,0,0 +BRDA:157,19,1,0 +BRDA:167,20,0,0 +BRDA:167,20,1,0 +BRDA:167,21,0,0 +BRDA:167,21,1,0 +BRDA:176,22,0,0 +BRDA:176,22,1,0 +BRDA:176,23,0,0 +BRDA:176,23,1,0 +BRDA:180,24,0,0 +BRDA:180,24,1,0 +BRDA:188,25,0,0 +BRDA:188,25,1,0 +BRDA:209,26,0,0 +BRDA:209,26,1,0 +BRDA:211,27,0,0 +BRDA:211,27,1,0 +BRDA:217,28,0,0 +BRDA:217,28,1,0 +BRDA:219,29,0,0 +BRDA:219,29,1,0 +BRDA:246,30,0,0 +BRDA:246,30,1,0 +BRDA:249,31,0,0 +BRDA:249,31,1,0 +BRDA:250,32,0,0 +BRDA:250,32,1,0 +BRDA:252,33,0,0 +BRDA:252,33,1,0 +BRDA:252,34,0,0 +BRDA:252,34,1,0 +BRDA:253,35,0,0 +BRDA:253,35,1,0 +BRDA:265,36,0,0 +BRDA:265,36,1,0 +BRDA:279,37,0,0 +BRDA:279,37,1,0 +BRDA:292,38,0,0 +BRDA:292,38,1,0 +BRDA:292,39,0,0 +BRDA:292,39,1,0 +BRDA:309,40,0,0 +BRDA:309,40,1,0 +BRDA:309,41,0,0 +BRDA:309,41,1,0 +BRDA:315,42,0,0 +BRDA:315,42,1,0 +BRDA:322,43,0,0 +BRDA:322,43,1,0 +BRDA:325,44,0,0 +BRDA:325,44,1,0 +BRDA:334,45,0,0 +BRDA:334,45,1,0 +BRDA:334,46,0,0 +BRDA:334,46,1,0 +BRDA:339,47,0,0 +BRDA:339,47,1,0 +BRDA:340,48,0,0 +BRDA:340,48,1,0 +BRDA:344,49,0,0 +BRDA:344,49,1,0 +BRDA:345,50,0,0 +BRDA:345,50,1,0 +BRF:100 +BRH:0 +end_of_record +TN: +SF:src/storage/JSONBinTokenStorage.ts +FN:36,(anonymous_0) +FN:70,(anonymous_1) +FN:80,(anonymous_2) +FN:100,(anonymous_3) +FN:109,(anonymous_4) +FN:141,(anonymous_5) +FN:150,(anonymous_6) +FNF:7 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:24,0 +DA:39,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:83,0 +DA:100,0 +DA:110,0 +DA:121,0 +DA:122,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:134,0 +DA:138,0 +DA:142,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:156,0 +DA:157,0 +DA:161,0 +DA:162,0 +DA:169,0 +DA:180,0 +DA:181,0 +DA:184,0 +DA:185,0 +DA:188,0 +LF:40 +LH:0 +BRDA:59,0,0,0 +BRDA:59,0,1,0 +BRDA:63,1,0,0 +BRDA:63,1,1,0 +BRDA:87,2,0,0 +BRDA:87,2,1,0 +BRDA:93,3,0,0 +BRDA:93,3,1,0 +BRDA:93,3,2,0 +BRDA:94,4,0,0 +BRDA:94,4,1,0 +BRDA:94,4,2,0 +BRDA:95,5,0,0 +BRDA:95,5,1,0 +BRDA:121,6,0,0 +BRDA:121,6,1,0 +BRDA:125,7,0,0 +BRDA:125,7,1,0 +BRDA:130,8,0,0 +BRDA:130,8,1,0 +BRDA:151,9,0,0 +BRDA:151,9,1,0 +BRDA:153,10,0,0 +BRDA:153,10,1,0 +BRDA:156,11,0,0 +BRDA:156,11,1,0 +BRDA:158,12,0,0 +BRDA:158,12,1,0 +BRDA:161,13,0,0 +BRDA:161,13,1,0 +BRDA:180,14,0,0 +BRDA:180,14,1,0 +BRDA:184,15,0,0 +BRDA:184,15,1,0 +BRF:34 +BRH:0 +end_of_record +TN: +SF:src/storage/RemoteTokenStorage.ts +FN:57,(anonymous_0) +FN:63,(anonymous_1) +FN:90,(anonymous_2) +FN:104,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:58,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:73,0 +DA:79,0 +DA:80,0 +DA:87,0 +DA:91,0 +DA:98,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:112,0 +DA:113,0 +DA:119,0 +DA:124,0 +LF:22 +LH:0 +BRDA:79,0,0,0 +BRDA:79,0,1,0 +BRDA:79,1,0,0 +BRDA:79,1,1,0 +BRDA:100,2,0,0 +BRDA:100,2,1,0 +BRDA:101,3,0,0 +BRDA:101,3,1,0 +BRDA:105,4,0,0 +BRDA:105,4,1,0 +BRDA:107,5,0,0 +BRDA:107,5,1,0 +BRDA:112,6,0,0 +BRDA:112,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/storage/SupernovaTokenStorage.ts +FN:24,(anonymous_0) +FN:45,(anonymous_1) +FN:74,(anonymous_2) +FN:78,(anonymous_3) +FN:93,(anonymous_4) +FN:100,(anonymous_5) +FN:132,(anonymous_6) +FN:148,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:46,0 +DA:48,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:56,0 +DA:58,0 +DA:74,0 +DA:78,0 +DA:86,0 +DA:87,0 +DA:96,0 +DA:97,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:113,0 +DA:114,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:133,0 +DA:134,0 +DA:136,0 +DA:137,0 +DA:139,0 +DA:140,0 +DA:142,0 +DA:143,0 +DA:145,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:164,0 +DA:165,0 +DA:167,0 +LF:53 +LH:0 +BRDA:30,0,0,0 +BRDA:30,0,1,0 +BRDA:30,1,0,0 +BRDA:30,1,1,0 +BRDA:30,1,2,0 +BRDA:30,1,3,0 +BRDA:36,2,0,0 +BRDA:36,2,1,0 +BRDA:38,3,0,0 +BRDA:38,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:64,5,0,0 +BRDA:64,5,1,0 +BRDA:101,6,0,0 +BRDA:101,6,1,0 +BRDA:102,7,0,0 +BRDA:102,7,1,0 +BRDA:103,8,0,0 +BRDA:103,8,1,0 +BRDA:105,9,0,0 +BRDA:105,9,1,0 +BRDA:107,10,0,0 +BRDA:107,10,1,0 +BRDA:133,11,0,0 +BRDA:133,11,1,0 +BRDA:133,12,0,0 +BRDA:133,12,1,0 +BRDA:136,13,0,0 +BRDA:136,13,1,0 +BRDA:136,14,0,0 +BRDA:136,14,1,0 +BRDA:139,15,0,0 +BRDA:139,15,1,0 +BRDA:139,16,0,0 +BRDA:139,16,1,0 +BRDA:142,17,0,0 +BRDA:142,17,1,0 +BRDA:142,18,0,0 +BRDA:142,18,1,0 +BRDA:156,19,0,0 +BRDA:156,19,1,0 +BRDA:156,20,0,0 +BRDA:156,20,1,0 +BRF:44 +BRH:0 +end_of_record +TN: +SF:src/storage/TokensStudioTokenStorage.ts +FN:31,(anonymous_0) +FN:50,getProjectData +FN:74,(anonymous_2) +FN:85,(anonymous_3) +FN:86,(anonymous_4) +FN:92,(anonymous_5) +FN:98,(anonymous_6) +FN:99,(anonymous_7) +FN:139,(anonymous_8) +FN:149,(anonymous_9) +FN:156,(anonymous_10) +FN:183,(anonymous_11) +FN:213,(anonymous_12) +FN:224,(anonymous_13) +FN:249,(anonymous_14) +FN:281,(anonymous_15) +FN:313,(anonymous_16) +FN:343,(anonymous_17) +FN:368,(anonymous_18) +FN:397,(anonymous_19) +FN:426,(anonymous_20) +FN:452,(anonymous_21) +FNF:22 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,getProjectData +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +DA:29,0 +DA:31,0 +DA:51,0 +DA:52,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:73,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:97,0 +DA:98,0 +DA:100,0 +DA:102,0 +DA:114,0 +DA:118,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:161,0 +DA:162,0 +DA:164,0 +DA:165,0 +DA:167,0 +DA:168,0 +DA:171,0 +DA:172,0 +DA:176,0 +DA:177,0 +DA:181,0 +DA:183,0 +DA:190,0 +DA:191,0 +DA:198,0 +DA:199,0 +DA:206,0 +DA:208,0 +DA:220,0 +DA:221,0 +DA:235,0 +DA:242,0 +DA:243,0 +DA:246,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:255,0 +DA:267,0 +DA:268,0 +DA:271,0 +DA:272,0 +DA:274,0 +DA:276,0 +DA:277,0 +DA:282,0 +DA:283,0 +DA:296,0 +DA:297,0 +DA:300,0 +DA:301,0 +DA:303,0 +DA:305,0 +DA:306,0 +DA:309,0 +DA:314,0 +DA:315,0 +DA:316,0 +DA:319,0 +DA:329,0 +DA:330,0 +DA:333,0 +DA:334,0 +DA:336,0 +DA:338,0 +DA:339,0 +DA:344,0 +DA:345,0 +DA:354,0 +DA:355,0 +DA:358,0 +DA:359,0 +DA:361,0 +DA:363,0 +DA:364,0 +DA:369,0 +DA:370,0 +DA:383,0 +DA:384,0 +DA:387,0 +DA:388,0 +DA:390,0 +DA:392,0 +DA:393,0 +DA:398,0 +DA:399,0 +DA:412,0 +DA:413,0 +DA:416,0 +DA:417,0 +DA:419,0 +DA:421,0 +DA:422,0 +DA:427,0 +DA:428,0 +DA:438,0 +DA:439,0 +DA:442,0 +DA:443,0 +DA:445,0 +DA:447,0 +DA:448,0 +DA:453,0 +DA:454,0 +DA:455,0 +DA:457,0 +DA:458,0 +DA:460,0 +DA:462,0 +DA:463,0 +DA:465,0 +DA:466,0 +DA:468,0 +DA:469,0 +DA:471,0 +DA:472,0 +DA:474,0 +DA:475,0 +DA:477,0 +DA:478,0 +DA:480,0 +DA:481,0 +DA:483,0 +LF:160 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRDA:61,1,0,0 +BRDA:61,1,1,0 +BRDA:69,2,0,0 +BRDA:69,2,1,0 +BRDA:75,3,0,0 +BRDA:75,3,1,0 +BRDA:85,4,0,0 +BRDA:85,4,1,0 +BRDA:85,5,0,0 +BRDA:85,5,1,0 +BRDA:85,6,0,0 +BRDA:85,6,1,0 +BRDA:91,7,0,0 +BRDA:91,7,1,0 +BRDA:93,8,0,0 +BRDA:93,8,1,0 +BRDA:109,9,0,0 +BRDA:109,9,1,0 +BRDA:110,10,0,0 +BRDA:110,10,1,0 +BRDA:165,11,0,0 +BRDA:165,11,1,0 +BRDA:167,12,0,0 +BRDA:167,12,1,0 +BRDA:171,13,0,0 +BRDA:171,13,1,0 +BRDA:176,14,0,0 +BRDA:176,14,1,0 +BRDA:178,15,0,0 +BRDA:178,15,1,0 +BRDA:181,16,0,0 +BRDA:181,16,1,0 +BRDA:190,17,0,0 +BRDA:190,17,1,0 +BRDA:198,18,0,0 +BRDA:198,18,1,0 +BRDA:242,19,0,0 +BRDA:242,19,1,0 +BRDA:251,20,0,0 +BRDA:251,20,1,0 +BRDA:267,21,0,0 +BRDA:267,21,1,0 +BRDA:289,22,0,0 +BRDA:289,22,1,0 +BRDA:296,23,0,0 +BRDA:296,23,1,0 +BRDA:306,24,0,0 +BRDA:306,24,1,0 +BRDA:315,25,0,0 +BRDA:315,25,1,0 +BRDA:329,26,0,0 +BRDA:329,26,1,0 +BRDA:354,27,0,0 +BRDA:354,27,1,0 +BRDA:383,28,0,0 +BRDA:383,28,1,0 +BRDA:404,29,0,0 +BRDA:404,29,1,0 +BRDA:412,30,0,0 +BRDA:412,30,1,0 +BRDA:438,31,0,0 +BRDA:438,31,1,0 +BRDA:460,32,0,0 +BRDA:460,32,1,0 +BRDA:460,32,2,0 +BRDA:460,32,3,0 +BRDA:460,32,4,0 +BRDA:460,32,5,0 +BRDA:460,32,6,0 +BRDA:460,32,7,0 +BRF:72 +BRH:0 +end_of_record +TN: +SF:src/storage/UrlTokenStorage.ts +FN:23,(anonymous_0) +FN:29,(anonymous_1) +FN:41,(anonymous_2) +FN:50,(anonymous_3) +FN:93,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:24,0 +DA:25,0 +DA:26,0 +DA:30,0 +DA:41,0 +DA:51,0 +DA:55,0 +DA:60,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:85,0 +DA:90,0 +DA:94,0 +LF:22 +LH:0 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRDA:39,1,0,0 +BRDA:39,1,1,0 +BRDA:51,2,0,0 +BRDA:51,2,1,0 +BRDA:65,3,0,0 +BRDA:65,3,1,0 +BRDA:69,4,0,0 +BRDA:69,4,1,0 +BRDA:76,5,0,0 +BRDA:76,5,1,0 +BRDA:78,6,0,0 +BRDA:78,7,0,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/storage/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/complexSingleFileSchema.ts +FN:19,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:19,0 +DA:20,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/multiFileSchema.ts +FNF:0 +FNH:0 +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/singleFileSchema.ts +FNF:0 +FNH:0 +DA:7,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/singleTokenSchema.ts +FNF:0 +FNH:0 +DA:3,0 +DA:9,0 +DA:15,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/themeObjectSchema.ts +FNF:0 +FNH:0 +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/schemas/tokensMapSchema.ts +FN:8,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:8,0 +DA:9,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/createTokenInTokensStudio.ts +FN:14,createTokenInTokensStudio +FNF:1 +FNH:0 +FNDA:0,createTokenInTokensStudio +DA:18,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:32,0 +DA:33,0 +DA:35,0 +LF:7 +LH:0 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/createTokenSetInTokensStudio.ts +FN:13,createTokenSetInTokensStudio +FN:24,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,createTokenSetInTokensStudio +FNDA:0,(anonymous_1) +DA:18,0 +DA:20,0 +DA:25,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts +FN:13,deleteTokenSetFromTokensStudio +FN:23,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,deleteTokenSetFromTokensStudio +FNDA:0,(anonymous_1) +DA:18,0 +DA:24,0 +DA:25,0 +DA:26,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/duplicateTokenInTokensStudio.ts +FN:14,duplicateTokenInTokensStudio +FNF:1 +FNH:0 +FNDA:0,duplicateTokenInTokensStudio +DA:18,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:35,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/updateTokenSetInTokensStudio.ts +FN:13,updateTokenSetInTokensStudio +FN:23,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateTokenSetInTokensStudio +FNDA:0,(anonymous_1) +DA:18,0 +DA:24,0 +DA:25,0 +DA:27,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/createThemeGroupMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/createTokenMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/createTokenSetMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/deleteTokenMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/getGeneratorQuery.ts +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/getOrgsQuery.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/getProjectDataQuery.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/getTokenSetQuery.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/tokenFragment.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/updateTokenMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/updateTokenSetMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts +FN:10,(anonymous_0) +FN:16,(anonymous_1) +FN:19,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:10,0 +DA:11,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:28,0 +LF:11 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts +FN:3,(anonymous_0) +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:3,0 +DA:4,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:13,0 +LF:7 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts +FN:18,updateThemeGroupsInTokensStudio +FN:74,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,updateThemeGroupsInTokensStudio +FNDA:0,(anonymous_1) +DA:25,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:66,0 +DA:67,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:85,0 +DA:86,0 +DA:89,0 +DA:96,0 +DA:97,0 +DA:114,0 +DA:115,0 +DA:116,0 +LF:30 +LH:0 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRDA:34,0,2,0 +BRDA:34,0,3,0 +BRDA:34,0,4,0 +BRDA:34,0,5,0 +BRDA:34,0,6,0 +BRDA:34,0,7,0 +BRDA:34,0,8,0 +BRDA:34,0,9,0 +BRDA:85,1,0,0 +BRDA:85,1,1,0 +BRDA:96,2,0,0 +BRDA:96,2,1,0 +BRDA:114,3,0,0 +BRDA:114,3,1,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts +FN:10,(anonymous_0) +FN:17,(anonymous_1) +FN:23,(anonymous_2) +FN:34,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:10,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:42,0 +DA:44,0 +DA:47,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:61,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:72,0 +DA:75,0 +DA:79,0 +LF:34 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:25,3,0,0 +BRDA:25,3,1,0 +BRDA:36,4,0,0 +BRDA:36,4,1,0 +BRDA:40,5,0,0 +BRDA:40,5,1,0 +BRDA:42,6,0,0 +BRDA:42,6,1,0 +BRDA:42,7,0,0 +BRDA:42,7,1,0 +BRDA:53,8,0,0 +BRDA:53,8,1,0 +BRDA:56,9,0,0 +BRDA:56,9,1,0 +BRDA:66,10,0,0 +BRDA:66,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts +FN:9,(anonymous_0) +FN:13,(anonymous_1) +FN:14,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +LF:7 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/utils/compositionFields.ts +FN:12,(anonymous_0) +FN:14,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:3,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:20,0 +LF:6 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/storage/tokensStudio/utils/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/stories/tokensForStories.ts +FNF:0 +FNH:0 +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/tokens/core.ts +FNF:0 +FNH:0 +DA:3,0 +DA:8,0 +DA:14,0 +DA:29,0 +DA:41,0 +DA:46,0 +LF:6 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/tokens/dark.ts +FNF:0 +FNH:0 +DA:3,0 +DA:58,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/tokens/light.ts +FNF:0 +FNH:0 +DA:3,0 +DA:58,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/AsyncMessages.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/Auth.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/ChangelogItem.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/CompositionTokenProperty.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/DeepTokensMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/ExportTokenSet.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/FigmaStyleMaps.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/MapValuesToTokensResult.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/Modifier.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/NodeInfo.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/NodeTokenRefMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/NodeTokenRefValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/OptionalPartial.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/PullStylesOptions.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/PullVariablesOptions.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/RawVariableReferenceMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/RemoteResponseData.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/RootModel.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/SecondScreen.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/SelectionGroup.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/SelectionValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/ShowFormOptions.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/StitchesCSS.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/StorageType.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/StoryblokStory.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/StyleIdMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/ThemeObject.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/ThemeObjectsList.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/TokenMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/UpdateNodesSettings.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/UpdateRemoteFunction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/UsedTokenSetsMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/VariableCollectionSelection.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/VariableReferenceMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/messages.tsx +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/userData.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/valueTypes.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/DeleteTokenGroupPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/DeleteTokenPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/DuplicateTokenGroupPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/DuplicateTokenPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/RenameTokenGroupPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/RenameTokensAcrossSets.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/SetTokenDataPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/SetTokensFromStylesPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/SetTokensFromVariablesPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/ToggleManyTokenSetsPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/UpdateDocumentPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/UpdateTokenPayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/UpdateTokenVariablePayload.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/payloads/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/properties/PropertyObject.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/properties/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/ActionMeta.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/AnyAction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/AnyInspectStateAction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/AnySettingsStateAction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/AnyTokenStateAction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/AnyUiStateAction.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/redux/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/AnyTokenList.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/AnyTokenSet.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/DeepKeyTokenMap.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/EditTokenObject.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/ImportToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleAssetToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleBooleanToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleBorderRadiusToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleBorderToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleBorderWidthToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleBoxShadowToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleColorToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleCompositionToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleDimensionToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleFontFamiliesToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleFontSizesToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleFontWeightsToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleGenericToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleLetterSpacingToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleLineHeightsToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleNumberToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleOpacityToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleOtherToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleParagraphSpacingToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleSizingToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleSpacingToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleTextCaseToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleTextDecorationToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleTextToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/SingleTypographyToken.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/TokenToRename.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/TokenTypeSchema.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/TokenValues.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/TokensStore.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/TokensStoreValuesSet.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/tokens/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/values/TokenBorderValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/values/TokenBoxShadowValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/values/TokenTextCaseValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/values/TokenTextDecorationValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/values/TokenTypographyValue.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/values/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/TokenResolver.ts +FN:20,(anonymous_0) +FN:29,(anonymous_1) +FN:36,(anonymous_2) +FN:46,(anonymous_3) +FN:63,(anonymous_4) +FN:75,(anonymous_5) +FN:112,(anonymous_6) +FN:327,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:30,0 +DA:31,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:60,0 +DA:64,0 +DA:65,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:77,0 +DA:78,0 +DA:81,0 +DA:82,0 +DA:86,0 +DA:89,0 +DA:90,0 +DA:92,0 +DA:99,0 +DA:105,0 +DA:109,0 +DA:114,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:127,0 +DA:128,0 +DA:130,0 +DA:134,0 +DA:135,0 +DA:138,0 +DA:139,0 +DA:147,0 +DA:148,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:156,0 +DA:157,0 +DA:159,0 +DA:160,0 +DA:162,0 +DA:163,0 +DA:166,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:179,0 +DA:181,0 +DA:182,0 +DA:185,0 +DA:186,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:194,0 +DA:195,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:213,0 +DA:214,0 +DA:216,0 +DA:220,0 +DA:229,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:236,0 +DA:240,0 +DA:242,0 +DA:247,0 +DA:253,0 +DA:254,0 +DA:258,0 +DA:262,0 +DA:263,0 +DA:265,0 +DA:266,0 +DA:268,0 +DA:269,0 +DA:270,0 +DA:273,0 +DA:277,0 +DA:281,0 +DA:282,0 +DA:285,0 +DA:287,0 +DA:291,0 +DA:292,0 +DA:294,0 +DA:295,0 +DA:296,0 +DA:297,0 +DA:298,0 +DA:300,0 +DA:301,0 +DA:304,0 +DA:305,0 +DA:307,0 +DA:311,0 +DA:313,0 +DA:314,0 +DA:319,0 +DA:321,0 +DA:324,0 +DA:328,0 +DA:332,0 +LF:129 +LH:0 +BRDA:51,0,0,0 +BRDA:51,0,1,0 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:71,2,0,0 +BRDA:71,2,1,0 +BRDA:71,2,2,0 +BRDA:71,2,3,0 +BRDA:75,3,0,0 +BRDA:77,4,0,0 +BRDA:77,4,1,0 +BRDA:78,5,0,0 +BRDA:78,5,1,0 +BRDA:81,6,0,0 +BRDA:81,6,1,0 +BRDA:89,7,0,0 +BRDA:89,7,1,0 +BRDA:89,8,0,0 +BRDA:89,8,1,0 +BRDA:89,8,2,0 +BRDA:90,9,0,0 +BRDA:90,9,1,0 +BRDA:95,10,0,0 +BRDA:95,10,1,0 +BRDA:112,11,0,0 +BRDA:114,12,0,0 +BRDA:114,12,1,0 +BRDA:117,13,0,0 +BRDA:117,13,1,0 +BRDA:117,14,0,0 +BRDA:117,14,1,0 +BRDA:119,15,0,0 +BRDA:119,15,1,0 +BRDA:127,16,0,0 +BRDA:127,16,1,0 +BRDA:128,17,0,0 +BRDA:128,17,1,0 +BRDA:138,18,0,0 +BRDA:138,18,1,0 +BRDA:154,19,0,0 +BRDA:154,19,1,0 +BRDA:159,20,0,0 +BRDA:159,20,1,0 +BRDA:159,21,0,0 +BRDA:159,21,1,0 +BRDA:162,22,0,0 +BRDA:162,22,1,0 +BRDA:162,23,0,0 +BRDA:162,23,1,0 +BRDA:179,24,0,0 +BRDA:179,24,1,0 +BRDA:181,25,0,0 +BRDA:181,25,1,0 +BRDA:181,26,0,0 +BRDA:181,26,1,0 +BRDA:181,26,2,0 +BRDA:189,27,0,0 +BRDA:189,27,1,0 +BRDA:194,28,0,0 +BRDA:194,28,1,0 +BRDA:201,29,0,0 +BRDA:201,29,1,0 +BRDA:201,30,0,0 +BRDA:201,30,1,0 +BRDA:201,30,2,0 +BRDA:203,31,0,0 +BRDA:203,31,1,0 +BRDA:209,32,0,0 +BRDA:209,32,1,0 +BRDA:209,33,0,0 +BRDA:209,33,1,0 +BRDA:213,34,0,0 +BRDA:213,34,1,0 +BRDA:216,35,0,0 +BRDA:216,35,1,0 +BRDA:216,36,0,0 +BRDA:216,36,1,0 +BRDA:216,36,2,0 +BRDA:229,37,0,0 +BRDA:229,37,1,0 +BRDA:229,38,0,0 +BRDA:229,38,1,0 +BRDA:229,38,2,0 +BRDA:233,39,0,0 +BRDA:233,39,1,0 +BRDA:248,40,0,0 +BRDA:248,40,1,0 +BRDA:248,41,0,0 +BRDA:248,41,1,0 +BRDA:253,42,0,0 +BRDA:253,42,1,0 +BRDA:262,43,0,0 +BRDA:262,43,1,0 +BRDA:269,44,0,0 +BRDA:269,44,1,0 +BRDA:278,45,0,0 +BRDA:278,45,1,0 +BRDA:281,46,0,0 +BRDA:281,46,1,0 +BRDA:291,47,0,0 +BRDA:291,47,1,0 +BRDA:291,48,0,0 +BRDA:291,48,1,0 +BRDA:296,49,0,0 +BRDA:296,49,1,0 +BRDA:300,50,0,0 +BRDA:300,50,1,0 +BRDA:304,51,0,0 +BRDA:304,51,1,0 +BRDA:304,52,0,0 +BRDA:304,52,1,0 +BRDA:311,53,0,0 +BRDA:311,53,1,0 +BRDA:313,54,0,0 +BRDA:313,54,1,0 +BRF:115 +BRH:0 +end_of_record +TN: +SF:src/utils/addIdPropertyToTokens.ts +FN:5,addIdPropertyToTokens +FN:6,(anonymous_1) +FN:7,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,addIdPropertyToTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:17,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:37,0 +LF:10 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:20,1,0,0 +BRDA:20,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/addLicenseKey.ts +FN:9,addLicenseKey +FNF:1 +FNH:0 +FNDA:0,addLicenseKey +DA:13,0 +DA:15,0 +DA:16,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:30,0 +DA:31,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:48,0 +LF:17 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:25,1,0,0 +BRDA:25,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/analytics.tsx +FN:4,track +FN:10,identify +FN:23,setUserData +FN:29,initializeAnalytics +FNF:4 +FNH:0 +FNDA:0,track +FNDA:0,identify +FNDA:0,setUserData +FNDA:0,initializeAnalytics +DA:5,0 +DA:6,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:24,0 +DA:25,0 +DA:30,0 +DA:31,0 +LF:9 +LH:0 +BRDA:4,0,0,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRDA:11,3,0,0 +BRDA:11,3,1,0 +BRDA:24,4,0,0 +BRDA:24,4,1,0 +BRDA:24,5,0,0 +BRDA:24,5,1,0 +BRDA:30,6,0,0 +BRDA:30,6,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/utils/annotations.tsx +FN:17,getParentSelection +FN:53,calcPosition +FN:83,createProperties +FN:88,(anonymous_3) +FN:89,(anonymous_4) +FN:123,createAnno +FN:211,createAnnotation +FN:212,(anonymous_7) +FN:218,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,getParentSelection +FNDA:0,calcPosition +FNDA:0,createProperties +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,createAnno +FNDA:0,createAnnotation +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:47,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:87,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:119,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:147,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:155,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:164,0 +DA:165,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:176,0 +DA:177,0 +DA:179,0 +DA:180,0 +DA:182,0 +DA:183,0 +DA:185,0 +DA:188,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:195,0 +DA:196,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:203,0 +DA:204,0 +DA:208,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:217,0 +DA:218,0 +DA:220,0 +DA:221,0 +LF:127 +LH:0 +BRDA:17,0,0,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:24,4,0,0 +BRDA:24,4,1,0 +BRDA:25,5,0,0 +BRDA:25,5,1,0 +BRDA:26,6,0,0 +BRDA:26,6,1,0 +BRDA:26,6,2,0 +BRDA:26,6,3,0 +BRDA:41,7,0,0 +BRDA:41,7,1,0 +BRDA:60,8,0,0 +BRDA:60,8,1,0 +BRDA:60,8,2,0 +BRDA:60,8,3,0 +BRDA:104,9,0,0 +BRDA:104,9,1,0 +BRDA:128,10,0,0 +BRDA:128,10,1,0 +BRDA:174,11,0,0 +BRDA:174,11,1,0 +BRDA:174,11,2,0 +BRDA:174,11,3,0 +BRDA:191,12,0,0 +BRDA:191,12,1,0 +BRDA:199,13,0,0 +BRDA:199,13,1,0 +BRF:33 +BRH:0 +end_of_record +TN: +SF:src/utils/attemptOrFallback.ts +FN:1,attemptOrFallback +FNF:1 +FNH:0 +FNDA:0,attemptOrFallback +DA:2,0 +DA:3,0 +DA:5,0 +DA:6,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/checkIfTokenCanCreateVariable.ts +FN:6,checkIfTokenCanCreateVariable +FNF:1 +FNH:0 +FNDA:0,checkIfTokenCanCreateVariable +DA:7,0 +DA:16,0 +DA:17,0 +DA:20,0 +DA:21,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:33,0 +LF:11 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:8,1,2,0 +BRDA:8,1,3,0 +BRDA:8,1,4,0 +BRDA:8,1,5,0 +BRDA:8,1,6,0 +BRDA:8,1,7,0 +BRDA:8,1,8,0 +BRDA:8,1,9,0 +BRDA:8,1,10,0 +BRDA:8,1,11,0 +BRDA:8,1,12,0 +BRDA:8,1,13,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRDA:16,3,2,0 +BRDA:20,4,0,0 +BRDA:20,4,1,0 +BRDA:20,5,0,0 +BRDA:20,5,1,0 +BRDA:20,5,2,0 +BRDA:24,6,0,0 +BRDA:24,6,1,0 +BRDA:24,7,0,0 +BRDA:24,7,1,0 +BRDA:24,7,2,0 +BRDA:28,8,0,0 +BRDA:28,8,1,0 +BRDA:28,9,0,0 +BRDA:28,9,1,0 +BRDA:28,9,2,0 +BRDA:28,9,3,0 +BRF:37 +BRH:0 +end_of_record +TN: +SF:src/utils/checkStorageSize.ts +FN:4,checkStorageSize +FNF:1 +FNH:0 +FNDA:0,checkStorageSize +DA:5,0 +DA:6,0 +DA:7,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:16,0 +LF:8 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/compareLastSyncedState.ts +FN:13,compareLastSyncedState +FNF:1 +FNH:0 +FNDA:0,compareLastSyncedState +DA:19,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:27,0 +LF:5 +LH:0 +BRDA:21,0,0,0 +BRDA:21,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/convert.ts +FN:12,(anonymous_0) +FN:27,(anonymous_1) +FN:27,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:12,0 +DA:27,0 +DA:28,0 +DA:29,0 +LF:4 +LH:0 +BRDA:27,0,0,0 +BRDA:28,1,0,0 +BRDA:28,1,1,0 +BRDA:28,2,0,0 +BRDA:28,2,1,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/utils/convertModifiedColorToHex.ts +FN:5,convertModifiedColorToHex +FNF:1 +FNH:0 +FNDA:0,convertModifiedColorToHex +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +LF:6 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/convertToDefaultProperty.ts +FN:3,convertToDefaultProperty +FNF:1 +FNH:0 +FNDA:0,convertToDefaultProperty +DA:4,0 +DA:5,0 +DA:16,0 +DA:17,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:53,0 +LF:23 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,0,2,0 +BRDA:5,0,3,0 +BRDA:5,0,4,0 +BRDA:5,0,5,0 +BRDA:5,0,6,0 +BRDA:5,0,7,0 +BRDA:5,0,8,0 +BRDA:5,0,9,0 +BRDA:5,0,10,0 +BRDA:5,0,11,0 +BRDA:5,0,12,0 +BRDA:5,0,13,0 +BRDA:5,0,14,0 +BRDA:5,0,15,0 +BRDA:5,0,16,0 +BRDA:5,0,17,0 +BRDA:5,0,18,0 +BRDA:5,0,19,0 +BRDA:5,0,20,0 +BRDA:5,0,21,0 +BRDA:5,0,22,0 +BRDA:5,0,23,0 +BRDA:5,0,24,0 +BRDA:5,0,25,0 +BRF:26 +BRH:0 +end_of_record +TN: +SF:src/utils/convertToOrderObj.ts +FN:1,convertToOrderObj +FN:2,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,convertToOrderObj +FNDA:0,(anonymous_1) +DA:2,0 +DA:3,0 +DA:4,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokenNameToPath.ts +FN:1,convertTokenNameToPath +FN:2,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,convertTokenNameToPath +FNDA:0,(anonymous_1) +DA:2,0 +DA:3,0 +DA:4,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:12,0 +LF:7 +LH:0 +BRDA:1,0,0,0 +BRDA:1,1,0,0 +BRDA:3,2,0,0 +BRDA:3,2,1,0 +BRDA:8,3,0,0 +BRDA:8,3,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokenToFormat.ts +FN:3,convertTokenToFormat +FN:10,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,convertTokenToFormat +FNDA:0,(anonymous_1) +DA:4,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:22,0 +DA:23,0 +LF:11 +LH:0 +BRDA:3,0,0,0 +BRDA:4,1,0,0 +BRDA:4,1,1,0 +BRDA:8,2,0,0 +BRDA:8,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,0 +BRDA:18,4,0,0 +BRDA:18,4,1,0 +BRDA:19,5,0,0 +BRDA:19,5,1,0 +BRDA:20,6,0,0 +BRDA:20,6,1,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokenTypeToVariableType.ts +FN:4,convertTokenTypeToVariableType +FNF:1 +FNH:0 +FNDA:0,convertTokenTypeToVariableType +DA:6,0 +DA:7,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:18,0 +DA:20,0 +LF:7 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:6,1,0,0 +BRDA:6,1,1,0 +BRDA:10,2,0,0 +BRDA:10,2,1,0 +BRDA:10,2,2,0 +BRDA:10,2,3,0 +BRDA:10,2,4,0 +BRDA:10,2,5,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokens.tsx +FN:49,checkForTokens +FN:106,(anonymous_1) +FN:133,(anonymous_2) +FN:137,(anonymous_3) +FN:169,convertToTokenArray +FN:177,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,checkForTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,convertToTokenArray +FNDA:0,(anonymous_5) +DA:83,0 +DA:84,0 +DA:85,0 +DA:87,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:99,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:110,0 +DA:111,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:117,0 +DA:119,0 +DA:122,0 +DA:123,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:137,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:156,0 +DA:162,0 +DA:163,0 +DA:166,0 +DA:170,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +LF:48 +LH:0 +BRDA:52,0,0,0 +BRDA:53,1,0,0 +BRDA:54,2,0,0 +BRDA:55,3,0,0 +BRDA:56,4,0,0 +BRDA:57,5,0,0 +BRDA:59,6,0,0 +BRDA:60,7,0,0 +BRDA:83,8,0,0 +BRDA:83,8,1,0 +BRDA:87,9,0,0 +BRDA:87,9,1,0 +BRDA:87,10,0,0 +BRDA:87,10,1,0 +BRDA:90,11,0,0 +BRDA:90,11,1,0 +BRDA:90,12,0,0 +BRDA:90,12,1,0 +BRDA:95,13,0,0 +BRDA:95,13,1,0 +BRDA:95,14,0,0 +BRDA:95,14,1,0 +BRDA:99,15,0,0 +BRDA:99,15,1,0 +BRDA:100,16,0,0 +BRDA:100,16,1,0 +BRDA:100,16,2,0 +BRDA:100,16,3,0 +BRDA:107,17,0,0 +BRDA:107,17,1,0 +BRDA:107,18,0,0 +BRDA:107,18,1,0 +BRDA:110,19,0,0 +BRDA:110,19,1,0 +BRDA:110,20,0,0 +BRDA:110,20,1,0 +BRDA:113,21,0,0 +BRDA:113,21,1,0 +BRDA:113,22,0,0 +BRDA:113,22,1,0 +BRDA:119,23,0,0 +BRDA:119,23,1,0 +BRDA:125,24,0,0 +BRDA:125,24,1,0 +BRDA:132,25,0,0 +BRDA:132,25,1,0 +BRDA:132,26,0,0 +BRDA:132,26,1,0 +BRDA:147,27,0,0 +BRDA:147,27,1,0 +BRDA:147,28,0,0 +BRDA:147,28,1,0 +BRDA:149,29,0,0 +BRDA:149,29,1,0 +BRDA:162,30,0,0 +BRDA:162,30,1,0 +BRDA:162,31,0,0 +BRDA:162,31,1,0 +BRDA:162,31,2,0 +BRDA:178,32,0,0 +BRDA:178,32,1,0 +BRDA:179,33,0,0 +BRDA:179,33,1,0 +BRDA:180,34,0,0 +BRDA:180,34,1,0 +BRF:65 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokensObjectToResolved.ts +FN:10,convertTokensObjectToResolved +FN:31,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,convertTokensObjectToResolved +FNDA:0,(anonymous_1) +DA:24,0 +DA:26,0 +DA:31,0 +DA:34,0 +DA:36,0 +DA:37,0 +LF:6 +LH:0 +BRDA:12,0,0,0 +BRDA:13,1,0,0 +BRDA:14,2,0,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokensToGroupedObject.ts +FN:11,convertTokensToGroupedObject +FN:17,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,convertTokensToGroupedObject +FNDA:0,(anonymous_1) +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:44,0 +DA:45,0 +DA:47,0 +DA:49,0 +DA:52,0 +LF:22 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:21,2,0,0 +BRDA:21,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRDA:24,4,0,0 +BRDA:24,4,1,0 +BRDA:27,5,0,0 +BRDA:27,5,1,0 +BRDA:33,6,0,0 +BRDA:33,6,1,0 +BRDA:38,7,0,0 +BRDA:38,7,1,0 +BRDA:39,8,0,0 +BRDA:39,8,1,0 +BRDA:39,8,2,0 +BRDA:39,8,3,0 +BRDA:39,8,4,0 +BRDA:39,8,5,0 +BRDA:39,8,6,0 +BRDA:39,8,7,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/utils/convertTokensToObject.ts +FN:8,convertTokensToObject +FN:9,(anonymous_1) +FN:11,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,convertTokensToObject +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +DA:19,0 +DA:21,0 +DA:24,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:48,0 +LF:21 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:29,1,0,0 +BRDA:29,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/convertVariableTypeToProperty.ts +FN:3,convertVariableTypeToProperty +FNF:1 +FNH:0 +FNDA:0,convertVariableTypeToProperty +DA:4,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +LF:7 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:4,0,2,0 +BRDA:4,0,3,0 +BRDA:4,0,4,0 +BRDA:4,0,5,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/credentials.ts +FN:8,updateCredentials +FN:18,(anonymous_1) +FN:20,(anonymous_2) +FN:47,removeSingleCredential +FN:53,(anonymous_4) +FN:53,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,updateCredentials +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,removeSingleCredential +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:27,0 +DA:28,0 +DA:34,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:60,0 +LF:28 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,0 +BRDA:27,4,0,0 +BRDA:27,4,1,0 +BRDA:30,5,0,0 +BRDA:30,5,1,0 +BRDA:36,6,0,0 +BRDA:36,6,1,0 +BRDA:41,7,0,0 +BRDA:41,7,1,0 +BRDA:51,8,0,0 +BRDA:51,8,1,0 +BRDA:53,9,0,0 +BRDA:53,9,1,0 +BRDA:58,10,0,0 +BRDA:58,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/utils/detectFormat.tsx +FN:4,detectFormat +FNF:1 +FNH:0 +FNDA:0,detectFormat +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +LF:6 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:7,1,0,0 +BRDA:7,1,1,0 +BRDA:10,2,0,0 +BRDA:10,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/expand.ts +FN:14,expand +FN:15,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,expand +FNDA:0,(anonymous_1) +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:25,0 +DA:28,0 +LF:8 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/fetchFeatureFlags.ts +FN:7,fetchFeatureFlags +FN:9,(anonymous_1) +FN:23,(anonymous_2) +FN:34,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,fetchFeatureFlags +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:8,0 +DA:9,0 +DA:10,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:38,0 +LF:16 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:20,4,0,0 +BRDA:20,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/utils/filterValidCompositionTokenTypes.ts +FN:3,filterValidCompositionTokenTypes +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,filterValidCompositionTokenTypes +FNDA:0,(anonymous_1) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/findAll.ts +FN:3,findAll +FN:12,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,findAll +FNDA:0,(anonymous_1) +DA:4,0 +DA:5,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:22,0 +LF:6 +LH:0 +BRDA:3,0,0,0 +BRDA:3,1,0,0 +BRDA:4,2,0,0 +BRDA:4,2,1,0 +BRDA:5,3,0,0 +BRDA:5,3,1,0 +BRDA:13,4,0,0 +BRDA:13,4,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/utils/findBoundVariable.ts +FN:3,findBoundVariable +FN:9,(anonymous_1) +FN:11,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,findBoundVariable +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +LF:7 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/findDifferentState.ts +FN:16,findDifferentState +FN:18,(anonymous_1) +FN:23,(anonymous_2) +FN:24,(anonymous_3) +FN:44,(anonymous_4) +FN:45,(anonymous_5) +FN:55,(anonymous_6) +FN:58,(anonymous_7) +FN:65,(anonymous_8) +FN:66,(anonymous_9) +FN:76,(anonymous_10) +FN:77,(anonymous_11) +FN:84,(anonymous_12) +FNF:13 +FNH:0 +FNDA:0,findDifferentState +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 +DA:40,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:51,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:72,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:82,0 +DA:84,0 +LF:40 +LH:0 +BRDA:25,0,0,0 +BRDA:25,0,1,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:32,2,0,0 +BRDA:32,2,1,0 +BRDA:46,3,0,0 +BRDA:46,3,1,0 +BRDA:57,4,0,0 +BRDA:57,4,1,0 +BRDA:67,5,0,0 +BRDA:67,5,1,0 +BRDA:68,6,0,0 +BRDA:68,6,1,0 +BRDA:77,7,0,0 +BRDA:77,7,1,0 +BRDA:86,8,0,0 +BRDA:86,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/utils/findReferences.tsx +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FN:19,(anonymous_2) +FN:21,(anonymous_3) +FN:25,(anonymous_4) +FN:33,(anonymous_5) +FN:38,(anonymous_6) +FN:50,(anonymous_7) +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +DA:3,0 +DA:4,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:16,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:44,0 +DA:47,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:69,0 +LF:42 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:26,3,0,0 +BRDA:26,3,1,0 +BRDA:35,4,0,0 +BRDA:35,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:56,6,0,0 +BRDA:56,6,1,0 +BRDA:61,7,0,0 +BRDA:61,7,1,0 +BRDA:61,8,0,0 +BRDA:61,8,1,0 +BRDA:63,9,0,0 +BRDA:63,9,1,0 +BRDA:69,10,0,0 +BRDA:69,10,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/utils/formatCount.ts +FN:6,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:6,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:19,0 +LF:8 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/formatNumber.ts +FN:1,formatNumber +FNF:1 +FNH:0 +FNDA:0,formatNumber +DA:2,0 +DA:3,0 +DA:5,0 +LF:3 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/formatTokens.ts +FN:22,formatTokens +FN:36,(anonymous_1) +FN:37,(anonymous_2) +FN:53,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,formatTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:72,0 +DA:77,0 +LF:24 +LH:0 +BRDA:26,0,0,0 +BRDA:27,1,0,0 +BRDA:28,2,0,0 +BRDA:29,3,0,0 +BRDA:30,4,0,0 +BRDA:31,5,0,0 +BRDA:32,6,0,0 +BRDA:34,7,0,0 +BRDA:34,7,1,0 +BRDA:42,8,0,0 +BRDA:42,8,1,0 +BRDA:44,9,0,0 +BRDA:44,9,1,0 +BRDA:46,10,0,0 +BRDA:46,10,1,0 +BRDA:47,11,0,0 +BRDA:47,11,1,0 +BRDA:47,11,2,0 +BRDA:47,11,3,0 +BRDA:47,11,4,0 +BRDA:47,11,5,0 +BRDA:47,11,6,0 +BRDA:47,11,7,0 +BRDA:52,12,0,0 +BRDA:52,12,1,0 +BRDA:54,13,0,0 +BRDA:54,13,1,0 +BRDA:55,14,0,0 +BRDA:55,14,1,0 +BRDA:56,15,0,0 +BRDA:56,15,1,0 +BRDA:60,16,0,0 +BRDA:60,16,1,0 +BRDA:63,17,0,0 +BRDA:63,17,1,0 +BRDA:69,18,0,0 +BRDA:69,18,1,0 +BRDA:72,19,0,0 +BRDA:72,19,1,0 +BRF:39 +BRH:0 +end_of_record +TN: +SF:src/utils/fuzzySearch.ts +FN:4,fuzzySearch +FNF:1 +FNH:0 +FNDA:0,fuzzySearch +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:23,0 +LF:13 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:17,2,0,0 +BRDA:17,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/generateId.ts +FN:1,generateId +FNF:1 +FNH:0 +FNDA:0,generateId +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:7,0 +LF:5 +LH:0 +BRDA:1,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/utils/getActiveTheme.ts +FN:3,getActiveTheme +FNF:1 +FNH:0 +FNDA:0,getActiveTheme +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +LF:4 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/getEffectStylesIdMap.ts +FN:1,getEffectStylesIdMap +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getEffectStylesIdMap +FNDA:0,(anonymous_1) +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getEffectStylesKeyMap.ts +FN:1,getEffectStylesKeyMap +FN:4,(anonymous_1) +FN:5,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,getEffectStylesKeyMap +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:9,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getLabelForProperty.tsx +FN:7,getLabelForProperty +FNF:1 +FNH:0 +FNDA:0,getLabelForProperty +DA:8,0 +DA:10,0 +DA:13,0 +DA:16,0 +DA:19,0 +DA:22,0 +DA:25,0 +DA:28,0 +DA:31,0 +DA:34,0 +DA:37,0 +DA:40,0 +DA:43,0 +DA:46,0 +DA:49,0 +DA:52,0 +DA:55,0 +LF:17 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,0,2,0 +BRDA:8,0,3,0 +BRDA:8,0,4,0 +BRDA:8,0,5,0 +BRDA:8,0,6,0 +BRDA:8,0,7,0 +BRDA:8,0,8,0 +BRDA:8,0,9,0 +BRDA:8,0,10,0 +BRDA:8,0,11,0 +BRDA:8,0,12,0 +BRDA:8,0,13,0 +BRDA:8,0,14,0 +BRDA:8,0,15,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/utils/getLastOpened.ts +FN:3,getLastOpened +FNF:1 +FNH:0 +FNDA:0,getLastOpened +DA:5,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:15,0 +LF:7 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/getLicenseKey.ts +FN:7,getLicenseKey +FNF:1 +FNH:0 +FNDA:0,getLicenseKey +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:14,0 +DA:15,0 +DA:19,0 +DA:20,0 +LF:8 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/getOnboardingExplainer.ts +FN:13,getOnboardingExplainer +FNF:1 +FNH:0 +FNDA:0,getOnboardingExplainer +DA:5,0 +DA:11,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:36,0 +LF:19 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:20,4,0,0 +BRDA:20,4,1,0 +BRDA:21,5,0,0 +BRDA:21,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/utils/getPaintStylesIdMap.ts +FN:1,getPaintStylesIdMap +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getPaintStylesIdMap +FNDA:0,(anonymous_1) +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getPaintStylesKeyMap.ts +FN:1,getPaintStylesKeyMap +FN:4,(anonymous_1) +FN:5,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,getPaintStylesKeyMap +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:9,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getPathName.ts +FN:1,getPathName +FNF:1 +FNH:0 +FNDA:0,getPathName +DA:2,0 +DA:3,0 +DA:5,0 +LF:3 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/getProviderIcon.tsx +FN:12,getProviderIcon +FNF:1 +FNH:0 +FNDA:0,getProviderIcon +DA:13,0 +DA:15,0 +DA:17,0 +DA:19,0 +DA:21,0 +DA:23,0 +DA:25,0 +DA:27,0 +DA:29,0 +DA:31,0 +DA:33,0 +DA:35,0 +LF:12 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,0,2,0 +BRDA:13,0,3,0 +BRDA:13,0,4,0 +BRDA:13,0,5,0 +BRDA:13,0,6,0 +BRDA:13,0,7,0 +BRDA:13,0,8,0 +BRDA:13,0,9,0 +BRDA:13,0,10,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/utils/getResolvedTextValue.ts +FN:4,getResolvedTextValue +FN:8,(anonymous_1) +FN:9,(anonymous_2) +FN:16,(anonymous_3) +FN:22,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,getResolvedTextValue +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +LF:18 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:6,1,0,0 +BRDA:6,1,1,0 +BRDA:7,2,0,0 +BRDA:7,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRDA:26,4,0,0 +BRDA:26,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/utils/getTextStylesIdMap.ts +FN:1,getTextStylesIdMap +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getTextStylesIdMap +FNDA:0,(anonymous_1) +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getTextStylesKeyMap.ts +FN:1,getTextStylesKeyMap +FN:4,(anonymous_1) +FN:5,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,getTextStylesKeyMap +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:9,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getTokenSetsOrder.ts +FN:6,getTokenSetsOrder +FN:13,(anonymous_1) +FN:15,(anonymous_2) +FN:16,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,getTokenSetsOrder +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:25,0 +LF:10 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/getTokenTypeKey.ts +FN:3,getTokenTypeKey +FNF:1 +FNH:0 +FNDA:0,getTokenTypeKey +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRDA:3,0,0,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:5,2,0,0 +BRDA:5,2,1,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/utils/getTokenValueKey.ts +FN:3,getTokenValueKey +FNF:1 +FNH:0 +FNDA:0,getTokenValueKey +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRDA:3,0,0,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:5,2,0,0 +BRDA:5,2,1,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/utils/getUTF16StringSize.ts +FN:1,getUTF16StringSize +FNF:1 +FNH:0 +FNDA:0,getUTF16StringSize +DA:2,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getUsedTokenSet.ts +FN:6,getUsedTokenSet +FN:15,(anonymous_1) +FN:16,(anonymous_2) +FN:18,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,getUsedTokenSet +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:7,0 +DA:8,0 +DA:9,0 +DA:13,0 +DA:15,0 +DA:17,0 +DA:19,0 +DA:25,0 +DA:27,0 +LF:9 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/getValueWithReferences.ts +FN:6,getSimpleValue +FN:41,getComplexValue +FN:48,(anonymous_2) +FN:58,getValueWithReferences +FN:66,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,getSimpleValue +FNDA:0,getComplexValue +FNDA:0,(anonymous_2) +FNDA:0,getValueWithReferences +FNDA:0,(anonymous_4) +DA:7,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:38,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:55,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:71,0 +LF:25 +LH:0 +BRDA:25,0,0,0 +BRDA:25,0,1,0 +BRDA:25,1,0,0 +BRDA:25,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:29,3,0,0 +BRDA:29,3,1,0 +BRDA:32,4,0,0 +BRDA:32,4,1,0 +BRDA:33,5,0,0 +BRDA:33,5,1,0 +BRDA:47,6,0,0 +BRDA:47,6,1,0 +BRDA:59,7,0,0 +BRDA:59,7,1,0 +BRDA:63,8,0,0 +BRDA:63,8,1,0 +BRDA:63,9,0,0 +BRDA:63,9,1,0 +BRDA:63,9,2,0 +BRDA:63,9,3,0 +BRDA:64,10,0,0 +BRDA:64,10,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/utils/getVariablesMap.ts +FN:3,getVariablesMap +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,getVariablesMap +FNDA:0,(anonymous_1) +DA:4,0 +DA:5,0 +DA:6,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/hasTokenValues.ts +FN:3,hasTokenValues +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,hasTokenValues +FNDA:0,(anonymous_1) +DA:4,0 +LF:1 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/hasTokens.ts +FN:3,hasTokens +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,hasTokens +FNDA:0,(anonymous_1) +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/isAliasReference.ts +FN:1,isVariableWithAliasReference +FNF:1 +FNH:0 +FNDA:0,isVariableWithAliasReference +DA:2,0 +LF:1 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRDA:2,0,2,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/utils/isAutoLayout.tsx +FN:1,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:1,0 +LF:1 +LH:0 +BRDA:1,0,0,0 +BRDA:1,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/isColorEqual.ts +FN:3,isColorEqual +FNF:1 +FNH:0 +FNDA:0,isColorEqual +DA:14,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/isEffectEqual.ts +FN:3,isEffectEqual +FNF:1 +FNH:0 +FNDA:0,isEffectEqual +DA:4,0 +DA:5,0 +DA:6,0 +DA:10,0 +DA:21,0 +DA:25,0 +DA:29,0 +LF:7 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:4,1,0,0 +BRDA:4,1,1,0 +BRDA:5,2,0,0 +BRDA:5,2,1,0 +BRDA:6,3,0,0 +BRDA:6,3,1,0 +BRDA:7,4,0,0 +BRDA:7,4,1,0 +BRDA:7,4,2,0 +BRDA:7,4,3,0 +BRDA:11,5,0,0 +BRDA:11,5,1,0 +BRDA:11,5,2,0 +BRDA:11,5,3,0 +BRDA:11,5,4,0 +BRDA:11,5,5,0 +BRDA:21,6,0,0 +BRDA:21,6,1,0 +BRDA:22,7,0,0 +BRDA:22,7,1,0 +BRDA:22,7,2,0 +BRDA:22,7,3,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/utils/isEqual.ts +FN:9,isEqual +FN:50,compareNativeSubtypes +FN:55,compareArrays +FN:74,compareObjects +FNF:4 +FNH:0 +FNDA:0,isEqual +FNDA:0,compareNativeSubtypes +FNDA:0,compareArrays +FNDA:0,compareObjects +DA:10,0 +DA:11,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:23,0 +DA:26,0 +DA:28,0 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:44,0 +DA:47,0 +DA:52,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:68,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:79,0 +DA:80,0 +DA:83,0 +DA:84,0 +DA:86,0 +DA:93,0 +DA:97,0 +LF:35 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:20,4,0,0 +BRDA:20,4,1,0 +BRDA:26,5,0,0 +BRDA:26,5,1,0 +BRDA:31,6,0,0 +BRDA:31,6,1,0 +BRDA:35,7,0,0 +BRDA:35,7,1,0 +BRDA:39,8,0,0 +BRDA:39,8,1,0 +BRDA:43,9,0,0 +BRDA:43,9,1,0 +BRDA:58,10,0,0 +BRDA:58,10,1,0 +BRDA:63,11,0,0 +BRDA:63,11,1,0 +BRDA:79,12,0,0 +BRDA:79,12,1,0 +BRDA:86,13,0,0 +BRDA:86,13,1,0 +BRDA:88,14,0,0 +BRDA:88,14,1,0 +BRDA:88,14,2,0 +BRF:31 +BRH:0 +end_of_record +TN: +SF:src/utils/isJSONString.ts +FN:1,IsJSONString +FNF:1 +FNH:0 +FNDA:0,IsJSONString +DA:2,0 +DA:3,0 +DA:5,0 +DA:7,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/isPaintEqual.ts +FN:3,isPaintEqual +FN:25,(anonymous_1) +FN:39,(anonymous_2) +FN:42,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,isPaintEqual +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:40,0 +DA:43,0 +DA:48,0 +DA:50,0 +LF:11 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:4,1,0,0 +BRDA:4,1,1,0 +BRDA:5,2,0,0 +BRDA:5,2,1,0 +BRDA:6,3,0,0 +BRDA:6,3,1,0 +BRDA:6,4,0,0 +BRDA:6,4,1,0 +BRDA:8,5,0,0 +BRDA:8,5,1,0 +BRDA:22,6,0,0 +BRDA:22,6,1,0 +BRDA:22,7,0,0 +BRDA:22,7,1,0 +BRDA:24,8,0,0 +BRDA:24,8,1,0 +BRDA:24,8,2,0 +BRDA:24,8,3,0 +BRDA:26,9,0,0 +BRDA:26,9,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/utils/isSameCredentials.ts +FN:4,isSameCredentials +FNF:1 +FNH:0 +FNDA:0,isSameCredentials +DA:9,0 +DA:10,0 +DA:13,0 +DA:18,0 +DA:28,0 +DA:31,0 +DA:38,0 +DA:43,0 +LF:8 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:9,1,2,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:13,2,2,0 +BRDA:13,2,3,0 +BRDA:13,2,4,0 +BRDA:13,2,5,0 +BRDA:13,2,6,0 +BRDA:13,2,7,0 +BRDA:13,2,8,0 +BRDA:13,2,9,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:19,3,2,0 +BRDA:19,3,3,0 +BRDA:28,4,0,0 +BRDA:28,4,1,0 +BRDA:32,5,0,0 +BRDA:32,5,1,0 +BRDA:32,5,2,0 +BRDA:32,5,3,0 +BRDA:39,6,0,0 +BRDA:39,6,1,0 +BRF:27 +BRH:0 +end_of_record +TN: +SF:src/utils/lastIndexOf.ts +FN:1,lastIndexOf +FNF:1 +FNH:0 +FNDA:0,lastIndexOf +DA:2,0 +DA:3,0 +DA:4,0 +DA:7,0 +LF:4 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/ldUserFactory.ts +FN:1,ldUserFactory +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,ldUserFactory +FNDA:0,(anonymous_1) +DA:2,0 +DA:5,0 +DA:6,0 +DA:9,0 +LF:4 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/mapThemeToVariableInfo.ts +FN:4,mapThemeToVariableInfo +FN:6,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,mapThemeToVariableInfo +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +DA:7,0 +DA:11,0 +LF:4 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:6,1,0,0 +BRDA:6,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/mapTokensToVariableInfo.ts +FN:7,mapTokensToVariableInfo +FNF:1 +FNH:0 +FNDA:0,mapTokensToVariableInfo +DA:8,0 +LF:1 +LH:0 +BRDA:10,0,0,0 +BRDA:10,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:12,2,0,0 +BRDA:12,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/matchStyleName.ts +FN:1,matchStyleName +FNF:1 +FNH:0 +FNDA:0,matchStyleName +DA:7,0 +LF:1 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,0,2,0 +BRDA:8,0,3,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/matchVariableName.ts +FN:1,matchVariableName +FNF:1 +FNH:0 +FNDA:0,matchVariableName +DA:6,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/migrate.ts +FN:1,migrate +FNF:1 +FNH:0 +FNDA:0,migrate +DA:6,0 +DA:7,0 +DA:9,0 +LF:3 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/mixpanel.tsx +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/modifyColor.ts +FN:9,modifyColor +FNF:1 +FNH:0 +FNDA:0,modifyColor +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:34,0 +LF:17 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,0,2,0 +BRDA:13,0,3,0 +BRDA:13,0,4,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/utils/normalizeVariableName.ts +FN:1,normalizeVariableName +FN:2,(anonymous_1) +FNF:2 +FNH:2 +FNDA:36,normalizeVariableName +FNDA:36,(anonymous_1) +DA:2,36 +DA:3,36 +DA:4,36 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/parseJson.ts +FN:3,parseJson +FNF:1 +FNH:0 +FNDA:0,parseJson +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/parseTokenValues.ts +FN:7,parseTokenValues +FN:18,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,parseTokenValues +FNDA:0,(anonymous_1) +DA:9,0 +DA:10,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:37,0 +LF:14 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/removeIdPropertyFromTokens.ts +FN:5,removeIdPropertyFromTokens +FN:6,(anonymous_1) +FN:7,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,removeIdPropertyFromTokens +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:12,0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/removeLicense.ts +FN:1,removeLicense +FNF:1 +FNH:0 +FNDA:0,removeLicense +DA:5,0 +DA:6,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:22,0 +DA:23,0 +LF:10 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/removeTokenId.ts +FN:3,removeTokenId +FNF:1 +FNH:0 +FNDA:0,removeTokenId +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:11,0 +DA:12,0 +DA:15,0 +DA:16,0 +DA:18,0 +LF:9 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:4,1,0,0 +BRDA:4,1,1,0 +BRDA:4,1,2,0 +BRDA:6,2,0,0 +BRDA:6,2,1,0 +BRDA:6,3,0,0 +BRDA:6,3,1,0 +BRDA:11,4,0,0 +BRDA:11,4,1,0 +BRDA:11,5,0,0 +BRDA:11,5,1,0 +BRDA:11,5,2,0 +BRDA:15,6,0,0 +BRDA:15,6,1,0 +BRDA:15,7,0,0 +BRDA:15,7,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/utils/reorderItemInSet.ts +FN:1,reorderItemInSet +FNF:1 +FNH:0 +FNDA:0,reorderItemInSet +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/setTokenKey.ts +FN:13,setTokenKey +FNF:1 +FNH:0 +FNDA:0,setTokenKey +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:29,0 +LF:10 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:22,2,0,0 +BRDA:22,2,1,0 +BRDA:24,3,0,0 +BRDA:24,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/utils/sortSelectionValueByProperties.ts +FN:5,sortSelectionValueByProperties +FN:7,(anonymous_1) +FN:8,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,sortSelectionValueByProperties +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:7,0 +DA:8,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/sortSets.ts +FN:5,sortSets +FNF:1 +FNH:0 +FNDA:0,sortSets +DA:7,0 +DA:8,0 +DA:11,0 +DA:14,0 +DA:15,0 +DA:18,0 +LF:6 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRDA:14,3,0,0 +BRDA:14,3,1,0 +BRDA:14,4,0,0 +BRDA:14,4,1,0 +BRDA:14,4,2,0 +BRDA:15,5,0,0 +BRDA:15,5,1,0 +BRDA:15,6,0,0 +BRDA:15,6,1,0 +BRDA:15,6,2,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/utils/splitIntoChunks.ts +FN:7,splitIntoChunks +FNF:1 +FNH:0 +FNDA:0,splitIntoChunks +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:14,0 +DA:15,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:29,0 +DA:30,0 +DA:33,0 +LF:15 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:29,1,0,0 +BRDA:29,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/storyblok.ts +FN:3,formatDate +FN:17,fetchChangelog +FN:38,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,formatDate +FNDA:0,fetchChangelog +FNDA:0,(anonymous_2) +DA:4,0 +DA:13,0 +DA:14,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:34,0 +DA:37,0 +DA:38,0 +DA:39,0 +LF:11 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:37,2,0,0 +BRDA:37,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/stringifyTokens.ts +FN:8,getGroupTypeName +FN:16,stringifyTokens +FN:22,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,getGroupTypeName +FNDA:0,stringifyTokens +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:53,0 +LF:30 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:25,1,0,0 +BRDA:25,1,1,0 +BRDA:32,2,0,0 +BRDA:32,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/utils/themeListToTree.ts +FN:16,themeListToTree +FN:17,(anonymous_1) +FN:19,(anonymous_2) +FN:47,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,themeListToTree +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:17,0 +DA:18,0 +DA:19,0 +DA:24,0 +DA:25,0 +DA:35,0 +DA:46,0 +DA:47,0 +DA:51,0 +DA:62,0 +DA:64,0 +LF:11 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:19,0,2,0 +BRDA:19,0,3,0 +BRDA:19,0,4,0 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:27,2,0,0 +BRDA:27,2,1,0 +BRDA:28,3,0,0 +BRDA:28,3,1,0 +BRDA:30,4,0,0 +BRDA:30,4,1,0 +BRDA:32,5,0,0 +BRDA:32,5,1,0 +BRDA:39,6,0,0 +BRDA:39,6,1,0 +BRDA:40,7,0,0 +BRDA:40,7,1,0 +BRDA:47,8,0,0 +BRDA:47,8,1,0 +BRDA:47,8,2,0 +BRDA:47,8,3,0 +BRDA:47,8,4,0 +BRDA:55,9,0,0 +BRDA:55,9,1,0 +BRDA:56,10,0,0 +BRDA:56,10,1,0 +BRF:28 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenArrayGroupToMap.ts +FN:3,tokenArrayGroupToMap +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,tokenArrayGroupToMap +FNDA:0,(anonymous_1) +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenHelpers.ts +FN:14,getOverallConfig +FN:15,(anonymous_1) +FN:16,(anonymous_2) +FN:19,(anonymous_3) +FN:32,getEnabledTokenSets +FN:34,(anonymous_5) +FN:35,(anonymous_6) +FN:38,mergeTokenGroups +FN:52,(anonymous_8) +FN:56,(anonymous_9) +FN:58,(anonymous_10) +FN:59,(anonymous_11) +FNF:12 +FNH:0 +FNDA:0,getOverallConfig +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,getEnabledTokenSets +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,mergeTokenGroups +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:44,0 +DA:52,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:78,0 +DA:87,0 +DA:90,0 +LF:26 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:21,1,0,0 +BRDA:21,1,1,0 +BRDA:24,2,0,0 +BRDA:24,2,1,0 +BRDA:24,3,0,0 +BRDA:24,3,1,0 +BRDA:32,4,0,0 +BRDA:40,5,0,0 +BRDA:41,6,0,0 +BRDA:52,7,0,0 +BRDA:52,7,1,0 +BRDA:52,7,2,0 +BRDA:57,8,0,0 +BRDA:57,8,1,0 +BRDA:66,9,0,0 +BRDA:66,9,1,0 +BRDA:69,10,0,0 +BRDA:69,10,1,0 +BRDA:70,11,0,0 +BRDA:70,11,1,0 +BRDA:70,11,2,0 +BRDA:70,11,3,0 +BRDA:70,11,4,0 +BRDA:70,11,5,0 +BRF:26 +BRH:0 +end_of_record +TN: +SF:src/utils/transform.ts +FN:7,transform +FNF:1 +FNH:0 +FNDA:0,transform +DA:8,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/transformProviderName.tsx +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,0 +DA:4,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:22,0 +LF:11 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:4,0,2,0 +BRDA:4,0,3,0 +BRDA:4,0,4,0 +BRDA:4,0,5,0 +BRDA:4,0,6,0 +BRDA:4,0,7,0 +BRDA:4,0,8,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/utils/trimValue.ts +FN:3,trimValue +FN:5,(anonymous_1) +FN:6,(anonymous_2) +FN:12,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,trimValue +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +LF:10 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/tryApplyColorVariableId.ts +FN:11,tryApplyColorVariableId +FNF:1 +FNH:0 +FNDA:0,tryApplyColorVariableId +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:45,0 +LF:25 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:19,2,0,0 +BRDA:19,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:25,5,0,0 +BRDA:25,5,1,0 +BRDA:29,6,0,0 +BRDA:29,6,1,0 +BRDA:29,7,0,0 +BRDA:29,7,1,0 +BRDA:31,8,0,0 +BRDA:31,8,1,0 +BRDA:36,9,0,0 +BRDA:36,9,1,0 +BRDA:36,10,0,0 +BRDA:36,10,1,0 +BRDA:38,11,0,0 +BRDA:38,11,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:src/utils/tryApplyEffectVariableId.ts +FN:4,tryApplyEffectVariableId +FNF:1 +FNH:0 +FNDA:0,tryApplyEffectVariableId +DA:5,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +LF:7 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/tryApplyVariableId.ts +FN:4,tryApplyVariableId +FNF:1 +FNH:0 +FNDA:0,tryApplyVariableId +DA:5,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:26,0 +DA:29,0 +DA:32,0 +LF:17 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:10,2,0,0 +BRDA:10,2,1,0 +BRDA:13,3,0,0 +BRDA:13,3,1,0 +BRDA:16,4,0,0 +BRDA:16,4,1,0 +BRDA:16,5,0,0 +BRDA:16,5,1,0 +BRDA:16,5,2,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/utils/tryParseJson.ts +FN:1,tryParseJson +FNF:1 +FNH:0 +FNDA:0,tryParseJson +DA:2,0 +DA:3,0 +DA:5,0 +DA:7,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/trySetStyleId.ts +FN:6,trySetStyleId +FN:12,(anonymous_1) +FN:18,(anonymous_2) +FN:19,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,trySetStyleId +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:53,0 +LF:27 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:24,3,0,0 +BRDA:24,3,1,0 +BRDA:25,4,0,0 +BRDA:25,4,1,0 +BRDA:25,5,0,0 +BRDA:25,5,1,0 +BRDA:28,6,0,0 +BRDA:28,6,1,0 +BRDA:28,6,2,0 +BRDA:36,7,0,0 +BRDA:36,7,1,0 +BRDA:36,8,0,0 +BRDA:36,8,1,0 +BRDA:38,9,0,0 +BRDA:38,9,1,0 +BRDA:38,9,2,0 +BRDA:41,10,0,0 +BRDA:41,10,1,0 +BRDA:41,11,0,0 +BRDA:41,11,1,0 +BRDA:43,12,0,0 +BRDA:43,12,1,0 +BRDA:43,12,2,0 +BRDA:46,13,0,0 +BRDA:46,13,1,0 +BRDA:46,14,0,0 +BRDA:46,14,1,0 +BRDA:48,15,0,0 +BRDA:48,15,1,0 +BRDA:48,15,2,0 +BRF:36 +BRH:0 +end_of_record +TN: +SF:src/utils/types.d.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/uiSettings.ts +FN:9,updateUISettings +FN:47,getUISettings +FNF:2 +FNH:0 +FNDA:0,updateUISettings +FNDA:0,getUISettings +DA:10,0 +DA:11,0 +DA:12,0 +DA:43,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:141,0 +DA:142,0 +DA:146,0 +DA:147,0 +DA:149,0 +LF:42 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:15,2,0,0 +BRDA:15,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRDA:17,4,0,0 +BRDA:17,4,1,0 +BRDA:18,5,0,0 +BRDA:18,5,1,0 +BRDA:19,6,0,0 +BRDA:19,6,1,0 +BRDA:20,7,0,0 +BRDA:20,7,1,0 +BRDA:21,8,0,0 +BRDA:21,8,1,0 +BRDA:22,9,0,0 +BRDA:22,9,1,0 +BRDA:23,10,0,0 +BRDA:23,10,1,0 +BRDA:24,11,0,0 +BRDA:24,11,1,0 +BRDA:25,12,0,0 +BRDA:25,12,1,0 +BRDA:26,13,0,0 +BRDA:26,13,1,0 +BRDA:27,14,0,0 +BRDA:27,14,1,0 +BRDA:28,15,0,0 +BRDA:28,15,1,0 +BRDA:29,16,0,0 +BRDA:29,16,1,0 +BRDA:30,17,0,0 +BRDA:30,17,1,0 +BRDA:31,18,0,0 +BRDA:31,18,1,0 +BRDA:32,19,0,0 +BRDA:32,19,1,0 +BRDA:33,20,0,0 +BRDA:33,20,1,0 +BRDA:34,21,0,0 +BRDA:34,21,1,0 +BRDA:35,22,0,0 +BRDA:35,22,1,0 +BRDA:36,23,0,0 +BRDA:36,23,1,0 +BRDA:37,24,0,0 +BRDA:37,24,1,0 +BRDA:38,25,0,0 +BRDA:38,25,1,0 +BRDA:39,26,0,0 +BRDA:39,26,1,0 +BRDA:40,27,0,0 +BRDA:40,27,1,0 +BRDA:47,28,0,0 +BRDA:81,29,0,0 +BRDA:81,29,1,0 +BRDA:82,30,0,0 +BRDA:82,30,1,0 +BRDA:83,31,0,0 +BRDA:83,31,1,0 +BRDA:84,32,0,0 +BRDA:84,32,1,0 +BRDA:85,33,0,0 +BRDA:85,33,1,0 +BRDA:86,34,0,0 +BRDA:86,34,1,0 +BRDA:87,35,0,0 +BRDA:87,35,1,0 +BRDA:88,36,0,0 +BRDA:88,36,1,0 +BRDA:89,37,0,0 +BRDA:89,37,1,0 +BRDA:90,38,0,0 +BRDA:90,38,1,0 +BRDA:91,39,0,0 +BRDA:91,39,1,0 +BRDA:92,40,0,0 +BRDA:92,40,1,0 +BRDA:93,41,0,0 +BRDA:93,41,1,0 +BRDA:94,42,0,0 +BRDA:94,42,1,0 +BRDA:95,43,0,0 +BRDA:95,43,1,0 +BRDA:96,44,0,0 +BRDA:96,44,1,0 +BRDA:97,45,0,0 +BRDA:97,45,1,0 +BRDA:98,46,0,0 +BRDA:98,46,1,0 +BRDA:99,47,0,0 +BRDA:99,47,1,0 +BRDA:100,48,0,0 +BRDA:100,48,1,0 +BRDA:101,49,0,0 +BRDA:101,49,1,0 +BRDA:102,50,0,0 +BRDA:102,50,1,0 +BRDA:103,51,0,0 +BRDA:103,51,1,0 +BRDA:104,52,0,0 +BRDA:104,52,1,0 +BRDA:105,53,0,0 +BRDA:105,53,1,0 +BRDA:106,54,0,0 +BRDA:106,54,1,0 +BRDA:107,55,0,0 +BRDA:107,55,1,0 +BRDA:108,56,0,0 +BRDA:108,56,1,0 +BRDA:109,57,0,0 +BRDA:109,57,1,0 +BRDA:141,58,0,0 +BRDA:141,58,1,0 +BRF:117 +BRH:0 +end_of_record +TN: +SF:src/utils/updateTokenPayloadToSingleToken.ts +FN:5,updateTokenPayloadToSingleToken +FNF:1 +FNH:0 +FNDA:0,updateTokenPayloadToSingleToken +DA:9,0 +DA:11,0 +LF:2 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/validateGroupName.ts +FN:12,(anonymous_0) +FN:17,(anonymous_1) +FN:24,(anonymous_2) +FN:34,validateRenameGroupName +FN:39,(anonymous_4) +FN:40,(anonymous_5) +FN:45,(anonymous_6) +FN:46,(anonymous_7) +FN:50,(anonymous_8) +FN:52,(anonymous_9) +FN:59,(anonymous_10) +FN:59,(anonymous_11) +FN:59,(anonymous_12) +FN:60,(anonymous_13) +FN:62,(anonymous_14) +FN:79,validateDuplicateGroupName +FN:90,(anonymous_16) +FN:91,(anonymous_17) +FN:100,(anonymous_18) +FN:109,(anonymous_19) +FN:114,(anonymous_20) +FN:114,(anonymous_21) +FN:114,(anonymous_22) +FN:115,(anonymous_23) +FN:124,(anonymous_24) +FN:126,(anonymous_25) +FNF:26 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,validateRenameGroupName +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,validateDuplicateGroupName +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +DA:12,0 +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:70,0 +DA:71,0 +DA:76,0 +DA:84,0 +DA:85,0 +DA:87,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:104,0 +DA:106,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:121,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:131,0 +DA:134,0 +DA:135,0 +DA:140,0 +DA:141,0 +DA:146,0 +LF:67 +LH:0 +BRDA:25,0,0,0 +BRDA:25,0,1,0 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:53,3,0,0 +BRDA:53,3,1,0 +BRDA:59,4,0,0 +BRDA:59,4,1,0 +BRDA:59,5,0,0 +BRDA:59,5,1,0 +BRDA:59,5,2,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:64,7,0,0 +BRDA:64,7,1,0 +BRDA:70,8,0,0 +BRDA:70,8,1,0 +BRDA:84,9,0,0 +BRDA:84,9,1,0 +BRDA:87,10,0,0 +BRDA:87,10,1,0 +BRDA:90,11,0,0 +BRDA:90,11,1,0 +BRDA:101,12,0,0 +BRDA:101,12,1,0 +BRDA:110,13,0,0 +BRDA:110,13,1,0 +BRDA:114,14,0,0 +BRDA:114,14,1,0 +BRDA:114,15,0,0 +BRDA:114,15,1,0 +BRDA:114,15,2,0 +BRDA:116,16,0,0 +BRDA:116,16,1,0 +BRDA:127,17,0,0 +BRDA:127,17,1,0 +BRDA:134,18,0,0 +BRDA:134,18,1,0 +BRDA:140,19,0,0 +BRDA:140,19,1,0 +BRF:42 +BRH:0 +end_of_record +TN: +SF:src/utils/validateLicense.ts +FN:4,validateLicense +FNF:1 +FNH:0 +FNDA:0,validateLicense +DA:9,0 +DA:10,0 +DA:16,0 +DA:17,0 +DA:20,0 +DA:21,0 +DA:25,0 +DA:26,0 +DA:27,0 +LF:9 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/validateStudioTokensExtensions.ts +FN:5,validateStudioTokensExtensions +FN:7,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,validateStudioTokensExtensions +FNDA:0,(anonymous_1) +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:20,0 +LF:9 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:8,1,0,0 +BRDA:8,1,1,0 +BRDA:9,2,0,0 +BRDA:9,2,1,0 +BRDA:9,3,0,0 +BRDA:9,3,1,0 +BRDA:15,4,0,0 +BRDA:15,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/utils/waitForMessage.ts +FN:3,waitForMessage +FN:4,(anonymous_1) +FN:11,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,waitForMessage +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:18,0 +LF:6 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/alias/checkCanReferenceVariable.tsx +FN:5,checkCanReferenceVariable +FNF:1 +FNH:0 +FNDA:0,checkCanReferenceVariable +DA:6,0 +LF:1 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/alias/checkIfAlias.tsx +FN:8,checkIfAlias +FN:22,(anonymous_1) +FN:22,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,checkIfAlias +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:38,0 +LF:17 +LH:0 +BRDA:8,0,0,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:14,3,0,0 +BRDA:14,3,1,0 +BRDA:14,3,2,0 +BRDA:18,4,0,0 +BRDA:18,4,1,0 +BRDA:21,5,0,0 +BRDA:21,5,1,0 +BRDA:24,6,0,0 +BRDA:24,6,1,0 +BRDA:31,7,0,0 +BRDA:31,7,1,0 +BRDA:36,8,0,0 +BRDA:36,8,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/utils/alias/checkIfContainsAlias.tsx +FN:4,checkIfContainsAlias +FNF:1 +FNH:0 +FNDA:0,checkIfContainsAlias +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/alias/getAliasValue.ts +FN:16,getReturnedValue +FN:32,replaceAliasWithResolvedReference +FN:48,getAliasValue +FN:59,(anonymous_3) +FN:81,(anonymous_4) +FN:122,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,getReturnedValue +FNDA:0,replaceAliasWithResolvedReference +FNDA:0,getAliasValue +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:17,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:86,0 +DA:87,0 +DA:90,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:102,0 +DA:110,0 +DA:111,0 +DA:119,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:145,0 +DA:149,0 +DA:163,0 +DA:170,0 +DA:174,0 +DA:175,0 +DA:178,0 +DA:179,0 +DA:181,0 +LF:65 +LH:0 +BRDA:17,0,0,0 +BRDA:17,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:18,1,2,0 +BRDA:18,1,3,0 +BRDA:18,1,4,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:40,4,0,0 +BRDA:40,4,1,0 +BRDA:40,5,0,0 +BRDA:40,5,1,0 +BRDA:40,5,2,0 +BRDA:50,6,0,0 +BRDA:51,7,0,0 +BRDA:52,8,0,0 +BRDA:57,9,0,0 +BRDA:57,9,1,0 +BRDA:58,10,0,0 +BRDA:58,10,1,0 +BRDA:60,11,0,0 +BRDA:60,11,1,0 +BRDA:62,12,0,0 +BRDA:62,12,1,0 +BRDA:67,13,0,0 +BRDA:67,13,1,0 +BRDA:67,14,0,0 +BRDA:67,14,1,0 +BRDA:67,14,2,0 +BRDA:68,15,0,0 +BRDA:68,15,1,0 +BRDA:71,16,0,0 +BRDA:71,16,1,0 +BRDA:81,17,0,0 +BRDA:81,17,1,0 +BRDA:81,17,2,0 +BRDA:86,18,0,0 +BRDA:86,18,1,0 +BRDA:90,19,0,0 +BRDA:90,19,1,0 +BRDA:91,20,0,0 +BRDA:91,20,1,0 +BRDA:91,20,2,0 +BRDA:96,21,0,0 +BRDA:96,21,1,0 +BRDA:96,22,0,0 +BRDA:96,22,1,0 +BRDA:102,23,0,0 +BRDA:102,23,1,0 +BRDA:103,24,0,0 +BRDA:103,24,1,0 +BRDA:103,24,2,0 +BRDA:103,24,3,0 +BRDA:103,24,4,0 +BRDA:103,24,5,0 +BRDA:112,25,0,0 +BRDA:112,25,1,0 +BRDA:127,26,0,0 +BRDA:127,26,1,0 +BRDA:131,27,0,0 +BRDA:131,27,1,0 +BRDA:131,28,0,0 +BRDA:131,28,1,0 +BRDA:133,29,0,0 +BRDA:133,29,1,0 +BRDA:135,30,0,0 +BRDA:135,30,1,0 +BRDA:137,31,0,0 +BRDA:137,31,1,0 +BRDA:138,32,0,0 +BRDA:138,32,1,0 +BRDA:138,32,2,0 +BRDA:138,32,3,0 +BRDA:138,32,4,0 +BRDA:138,32,5,0 +BRDA:145,33,0,0 +BRDA:145,33,1,0 +BRDA:146,34,0,0 +BRDA:146,34,1,0 +BRDA:153,35,0,0 +BRDA:153,35,1,0 +BRDA:178,36,0,0 +BRDA:178,36,1,0 +BRDA:178,37,0,0 +BRDA:178,37,1,0 +BRF:88 +BRH:0 +end_of_record +TN: +SF:src/utils/alias/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/color/convertToRgb.ts +FN:5,convertToRgb +FN:16,(anonymous_1) +FN:17,(anonymous_2) +FN:19,(anonymous_3) +FN:24,(anonymous_4) +FN:36,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,convertToRgb +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:43,0 +DA:45,0 +DA:47,0 +DA:50,0 +LF:29 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRDA:32,3,0,0 +BRDA:32,3,1,0 +BRDA:34,4,0,0 +BRDA:34,4,1,0 +BRDA:36,5,0,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/utils/color/darken.ts +FN:4,darken +FNF:1 +FNH:0 +FNDA:0,darken +DA:5,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:44,0 +LF:29 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,0,2,0 +BRDA:5,0,3,0 +BRDA:5,0,4,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/utils/color/getColorSwatchStyle.ts +FN:1,getColorSwatchStyle +FNF:1 +FNH:0 +FNDA:0,getColorSwatchStyle +DA:2,0 +LF:1 +LH:0 +BRDA:2,0,0,0 +BRDA:2,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/color/getReferenceTokensFromGradient.ts +FN:1,(anonymous_0) +FN:3,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:1,0 +DA:2,0 +DA:3,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:10,0 +DA:13,0 +LF:8 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:8,2,0,0 +BRDA:8,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/color/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/color/isLightOrDark.ts +FN:4,lightOrDark +FNF:1 +FNH:0 +FNDA:0,lightOrDark +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:11,0 +LF:5 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/color/lighten.ts +FN:4,lighten +FNF:1 +FNH:0 +FNDA:0,lighten +DA:5,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:42,0 +LF:29 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,0,2,0 +BRDA:5,0,3,0 +BRDA:5,0,4,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:src/utils/color/mix.ts +FN:4,mix +FNF:1 +FNH:0 +FNDA:0,mix +DA:5,0 +DA:7,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/color/transparentize.ts +FN:3,transparentize +FNF:1 +FNH:0 +FNDA:0,transparentize +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/date/compareUpdatedAt.ts +FN:1,compareUpdatedAt +FNF:1 +FNH:0 +FNDA:0,compareUpdatedAt +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:7,0 +DA:8,0 +DA:10,0 +LF:7 +LH:0 +BRDA:4,0,0,0 +BRDA:4,0,1,0 +BRDA:7,1,0,0 +BRDA:7,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/date/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/dragDropOrder/ensureFolderIsTogether.ts +FN:5,ensureFolderIsTogether +FN:8,(anonymous_1) +FN:9,(anonymous_2) +FN:11,(anonymous_3) +FN:12,(anonymous_4) +FN:14,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,ensureFolderIsTogether +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:6,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:20,0 +LF:10 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx +FN:4,findOrderableTargetIndexesInThemeList +FN:6,(anonymous_1) +FN:8,(anonymous_2) +FN:13,(anonymous_3) +FN:15,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,findOrderableTargetIndexesInThemeList +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:20,0 +DA:22,0 +LF:11 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRDA:16,3,0,0 +BRDA:16,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/utils/dragDropOrder/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/error/handleReactError.ts +FN:3,handleReactError +FNF:1 +FNH:0 +FNDA:0,handleReactError +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/figma/goToNodeId.ts +FN:4,goToNodeId +FNF:1 +FNH:0 +FNDA:0,goToNodeId +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/figma/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/figma/selectNodes.ts +FN:4,selectNodes +FNF:1 +FNH:0 +FNDA:0,selectNodes +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/figma/updateLocalTokensData.ts +FN:29,updateLocalTokensData +FNF:1 +FNH:0 +FNDA:0,updateLocalTokensData +DA:30,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +LF:20 +LH:0 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:45,4,0,0 +BRDA:45,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/utils/figmaStorage/readSharedPluginData.ts +FN:22,readSharedPluginData +FN:50,(anonymous_1) +FN:59,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,readSharedPluginData +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:2,0 +DA:5,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:56,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:65,0 +DA:68,0 +DA:69,0 +DA:71,0 +DA:72,0 +DA:77,0 +DA:78,0 +LF:28 +LH:0 +BRDA:25,0,0,0 +BRDA:28,1,0,0 +BRDA:28,1,1,0 +BRDA:30,2,0,0 +BRDA:30,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:42,4,0,0 +BRDA:42,4,1,0 +BRDA:45,5,0,0 +BRDA:45,5,1,0 +BRDA:48,6,0,0 +BRDA:48,6,1,0 +BRDA:48,7,0,0 +BRDA:48,7,1,0 +BRDA:59,8,0,0 +BRDA:59,8,1,0 +BRDA:78,9,0,0 +BRDA:78,9,1,0 +BRF:19 +BRH:0 +end_of_record +TN: +SF:src/utils/figmaStorage/writeSharedPluginData.ts +FN:29,writeSharedPluginData +FNF:1 +FNH:0 +FNDA:0,writeSharedPluginData +DA:5,0 +DA:8,0 +DA:11,0 +DA:35,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:69,0 +DA:71,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:97,0 +DA:98,0 +DA:101,0 +DA:102,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:118,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:127,0 +DA:128,0 +DA:129,0 +LF:48 +LH:0 +BRDA:33,0,0,0 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:46,2,0,0 +BRDA:46,2,1,0 +BRDA:48,3,0,0 +BRDA:48,3,1,0 +BRDA:48,4,0,0 +BRDA:48,4,1,0 +BRDA:63,5,0,0 +BRDA:63,5,1,0 +BRDA:71,6,0,0 +BRDA:71,6,1,0 +BRDA:82,7,0,0 +BRDA:82,7,1,0 +BRDA:84,8,0,0 +BRDA:84,8,1,0 +BRDA:84,9,0,0 +BRDA:84,9,1,0 +BRDA:123,10,0,0 +BRDA:123,10,1,0 +BRDA:125,11,0,0 +BRDA:125,11,1,0 +BRDA:125,12,0,0 +BRDA:125,12,1,0 +BRDA:125,12,2,0 +BRF:26 +BRH:0 +end_of_record +TN: +SF:src/utils/is/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isColorToken.ts +FN:4,isColorToken +FNF:1 +FNH:0 +FNDA:0,isColorToken +DA:5,0 +DA:6,0 +LF:2 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isCompositeBorderValue.ts +FN:5,isCompositeBorderValue +FN:11,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,isCompositeBorderValue +FNDA:0,(anonymous_1) +DA:6,0 +DA:12,0 +LF:2 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:12,2,0,0 +BRDA:12,2,1,0 +BRDA:12,2,2,0 +BRDA:12,2,3,0 +BRDA:12,2,4,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isDocumentationType.ts +FN:3,isDocumentationType +FNF:1 +FNH:0 +FNDA:0,isDocumentationType +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isGitProvider.ts +FN:4,isGitProvider +FNF:1 +FNH:0 +FNDA:0,isGitProvider +DA:12,0 +LF:1 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:13,0,2,0 +BRDA:13,0,3,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isMatchingStyle.ts +FN:1,isMatchingStyle +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,isMatchingStyle +FNDA:0,(anonymous_1) +DA:5,0 +DA:6,0 +DA:8,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isPartOfInstance.ts +FN:1,isPartOfInstance +FNF:1 +FNH:0 +FNDA:0,isPartOfInstance +DA:2,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isPrimitiveValue.ts +FN:1,isPrimitiveValue +FNF:1 +FNH:0 +FNDA:0,isPrimitiveValue +DA:2,0 +LF:1 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRDA:3,0,2,0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isPropertyType.ts +FN:3,isPropertyType +FNF:1 +FNH:0 +FNDA:0,isPropertyType +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleBorderToken.ts +FN:8,isSingleBorderToken +FN:22,isSingleBorderTokenInJSON +FNF:2 +FNH:0 +FNDA:0,isSingleBorderToken +FNDA:0,isSingleBorderTokenInJSON +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:23,0 +DA:24,0 +LF:6 +LH:0 +BRDA:10,0,0,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,2,2,0 +BRDA:16,2,3,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:25,4,0,0 +BRDA:25,4,1,0 +BRDA:25,4,2,0 +BRDA:25,4,3,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleBoxShadowToken.ts +FN:8,isSingleBoxShadowToken +FN:23,isSingleBoxShadowTokenInJSON +FNF:2 +FNH:0 +FNDA:0,isSingleBoxShadowToken +FNDA:0,isSingleBoxShadowTokenInJSON +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:24,0 +DA:25,0 +LF:6 +LH:0 +BRDA:10,0,0,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,2,2,0 +BRDA:16,2,3,0 +BRDA:16,2,4,0 +BRDA:24,3,0,0 +BRDA:24,3,1,0 +BRDA:26,4,0,0 +BRDA:26,4,1,0 +BRDA:26,4,2,0 +BRDA:26,4,3,0 +BRDA:26,4,4,0 +BRF:15 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleBoxShadowValue.ts +FN:6,isSingleBoxShadowValue +FN:13,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,isSingleBoxShadowValue +FNDA:0,(anonymous_1) +DA:7,0 +DA:14,0 +LF:2 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,0,2,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:14,2,0,0 +BRDA:14,2,1,0 +BRDA:14,2,2,0 +BRDA:14,2,3,0 +BRDA:14,2,4,0 +BRDA:14,2,5,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleCompositionToken.ts +FN:8,isSingleCompositionToken +FN:22,isSingleCompositionTokenInJSON +FNF:2 +FNH:0 +FNDA:0,isSingleCompositionToken +FNDA:0,isSingleCompositionTokenInJSON +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:23,0 +DA:24,0 +LF:6 +LH:0 +BRDA:10,0,0,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,2,2,0 +BRDA:16,2,3,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:25,4,0,0 +BRDA:25,4,1,0 +BRDA:25,4,2,0 +BRDA:25,4,3,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleInternalTokenValueObject.ts +FN:3,isSingleInternalTokenValueObject +FNF:1 +FNH:0 +FNDA:0,isSingleInternalTokenValueObject +DA:4,0 +LF:1 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,0,2,0 +BRDA:5,0,3,0 +BRDA:5,0,4,0 +BRDA:5,0,5,0 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:11,1,2,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleToken.ts +FN:3,isSingleToken +FNF:1 +FNH:0 +FNDA:0,isSingleToken +DA:4,0 +LF:1 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:5,0,2,0 +BRDA:5,0,3,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleTokenInJson.ts +FN:4,isSingleTokenInJSON +FNF:1 +FNH:0 +FNDA:0,isSingleTokenInJSON +DA:5,0 +LF:1 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:6,0,2,0 +BRDA:6,0,3,0 +BRDA:6,0,4,0 +BRDA:6,0,5,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:12,1,2,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleTokenValueObject.ts +FN:6,isSingleTokenValueObject +FNF:1 +FNH:0 +FNDA:0,isSingleTokenValueObject +DA:7,0 +LF:1 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:8,0,2,0 +BRDA:8,0,3,0 +BRDA:8,0,4,0 +BRDA:8,0,5,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleTypographyToken.ts +FN:8,isSingleTypographyToken +FN:22,isSingleTypographyTokenInJSON +FNF:2 +FNH:0 +FNDA:0,isSingleTypographyToken +FNDA:0,isSingleTypographyTokenInJSON +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:23,0 +DA:24,0 +LF:6 +LH:0 +BRDA:10,0,0,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:16,2,2,0 +BRDA:16,2,3,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:25,4,0,0 +BRDA:25,4,1,0 +BRDA:25,4,2,0 +BRDA:25,4,3,0 +BRF:13 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isSingleTypographyValue.ts +FN:5,isSingleTypographyValue +FN:12,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,isSingleTypographyValue +FNDA:0,(anonymous_1) +DA:6,0 +DA:13,0 +LF:2 +LH:0 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:7,0,2,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:13,2,0,0 +BRDA:13,2,1,0 +BRDA:13,2,2,0 +BRDA:13,2,3,0 +BRDA:13,2,4,0 +BRDA:13,2,5,0 +BRDA:13,2,6,0 +BRDA:13,2,7,0 +BRDA:13,2,8,0 +BRDA:13,2,9,0 +BRDA:13,2,10,0 +BRF:16 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isTokenGroupWithType.ts +FN:16,isTokenGroupWithType +FNF:1 +FNH:0 +FNDA:0,isTokenGroupWithType +DA:17,0 +LF:1 +LH:0 +BRDA:18,0,0,0 +BRDA:18,0,1,0 +BRDA:18,0,2,0 +BRDA:18,0,3,0 +BRDA:18,0,4,0 +BRDA:18,0,5,0 +BRDA:18,0,6,0 +BRDA:18,0,7,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/utils/is/isTokenType.ts +FN:3,isTokenType +FNF:1 +FNH:0 +FNDA:0,isTokenType +DA:4,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/math/checkAndEvaluateMath.ts +FN:14,(anonymous_0) +FN:23,(anonymous_1) +FN:32,(anonymous_2) +FN:41,(anonymous_3) +FN:44,(anonymous_4) +FN:46,(anonymous_5) +FN:52,(anonymous_6) +FN:56,checkAndEvaluateMath +FNF:8 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,checkAndEvaluateMath +DA:5,0 +DA:14,0 +DA:23,0 +DA:32,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:52,0 +DA:53,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:65,0 +DA:67,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:77,0 +DA:78,0 +DA:80,0 +DA:82,0 +DA:83,0 +DA:85,0 +LF:26 +LH:0 +BRDA:70,0,0,0 +BRDA:70,0,1,0 +BRDA:70,1,0,0 +BRDA:70,1,1,0 +BRDA:83,2,0,0 +BRDA:83,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/math/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/motion/checkReorder.ts +FN:5,checkReorder +FN:10,(anonymous_1) +FN:14,(anonymous_2) +FN:24,(anonymous_3) +FN:26,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,checkReorder +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:10,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:29,0 +DA:31,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:42,0 +DA:45,0 +LF:19 +LH:0 +BRDA:10,0,0,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:16,2,0,0 +BRDA:16,2,1,0 +BRDA:18,3,0,0 +BRDA:18,3,1,0 +BRDA:21,4,0,0 +BRDA:21,4,1,0 +BRDA:23,5,0,0 +BRDA:23,5,1,0 +BRDA:24,6,0,0 +BRDA:24,6,1,0 +BRDA:26,7,0,0 +BRDA:26,7,1,0 +BRDA:31,8,0,0 +BRDA:31,8,1,0 +BRDA:38,9,0,0 +BRDA:38,9,1,0 +BRDA:39,10,0,0 +BRDA:39,10,1,0 +BRDA:39,10,2,0 +BRDA:39,10,3,0 +BRF:23 +BRH:0 +end_of_record +TN: +SF:src/utils/motion/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/motion/moveItem.ts +FN:2,moveItem +FNF:1 +FNH:0 +FNDA:0,moveItem +DA:3,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +DA:12,0 +LF:6 +LH:0 +BRDA:3,0,0,0 +BRDA:3,0,1,0 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:5,2,0,0 +BRDA:5,2,1,0 +BRDA:6,3,0,0 +BRDA:6,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/utils/plugin/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/plugin/init.ts +FN:7,init +FN:8,(anonymous_1) +FN:23,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,init +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:8,0 +DA:9,0 +DA:15,0 +DA:20,0 +DA:21,0 +DA:24,0 +LF:6 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:12,1,0,0 +BRDA:12,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/plugin/startup.ts +FN:13,startup +FNF:1 +FNH:0 +FNDA:0,startup +DA:29,0 +DA:45,0 +LF:2 +LH:0 +BRDA:53,0,0,0 +BRDA:53,0,1,0 +BRDA:54,1,0,0 +BRDA:54,1,1,0 +BRDA:58,2,0,0 +BRDA:58,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/string/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/string/joinPath.ts +FN:3,joinPath +FN:4,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,joinPath +FNDA:0,(anonymous_1) +DA:4,0 +DA:5,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/string/slugify.ts +FN:2,slugify +FNF:1 +FNH:0 +FNDA:0,slugify +DA:3,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/string/ui/decodeBase64.ts +FN:1,decodeBase64 +FNF:1 +FNH:0 +FNDA:0,decodeBase64 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:8,0 +DA:9,0 +LF:7 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/string/ui/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/applyTokenSetOrder.ts +FN:3,applyTokenSetOrder +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,applyTokenSetOrder +FNDA:0,(anonymous_1) +DA:4,0 +DA:5,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +LF:9 +LH:0 +BRDA:3,0,0,0 +BRDA:3,1,0,0 +BRDA:4,2,0,0 +BRDA:4,2,1,0 +BRDA:4,3,0,0 +BRDA:4,3,1,0 +BRDA:10,4,0,0 +BRDA:10,4,1,0 +BRDA:11,5,0,0 +BRDA:11,5,1,0 +BRDA:12,6,0,0 +BRDA:12,6,1,0 +BRDA:12,7,0,0 +BRDA:12,7,1,0 +BRDA:13,8,0,0 +BRDA:13,8,1,0 +BRDA:13,9,0,0 +BRDA:13,9,1,0 +BRDA:14,10,0,0 +BRDA:14,10,1,0 +BRDA:14,11,0,0 +BRDA:14,11,1,0 +BRDA:14,12,0,0 +BRDA:14,12,1,0 +BRDA:15,13,0,0 +BRDA:15,13,1,0 +BRF:26 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx +FN:4,findOrderableTargetIndexesInTokenSetTreeList +FN:5,(anonymous_1) +FN:9,(anonymous_2) +FN:11,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,findOrderableTargetIndexesInTokenSetTreeList +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:5,0 +DA:6,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:14,0 +DA:16,0 +DA:18,0 +LF:9 +LH:0 +BRDA:6,0,0,0 +BRDA:6,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRDA:12,2,0,0 +BRDA:12,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/findParentIndexToInsertSet.ts +FN:3,findParentIndexToInsertSet +FN:4,(anonymous_1) +FN:7,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,findParentIndexToInsertSet +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:16,0 +DA:19,0 +LF:9 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/mapTokensToStyleInfo.ts +FN:4,mapTokensToStyleInfo +FN:15,(anonymous_1) +FN:16,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,mapTokensToStyleInfo +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:12,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:28,0 +LF:9 +LH:0 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/tokenSetListToList.ts +FN:4,tokenSetListToList +FN:5,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,tokenSetListToList +FNDA:0,(anonymous_1) +DA:5,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/tokenSetListToTree.ts +FN:13,tokenSetListToTree +FN:14,(anonymous_1) +FN:17,(anonymous_2) +FN:21,(anonymous_3) +FN:23,(anonymous_4) +FN:38,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,tokenSetListToTree +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:49,0 +DA:59,0 +DA:63,0 +LF:16 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:19,2,0,0 +BRDA:19,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:37,5,0,0 +BRDA:37,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/utils/tokenset/updateTokenSetsInState.ts +FN:8,updateTokenSetsInState +FN:15,(anonymous_1) +FN:32,(anonymous_2) +FN:54,(anonymous_3) +FN:65,(anonymous_4) +FN:70,(anonymous_5) +FN:72,(anonymous_6) +FN:85,(anonymous_7) +FN:87,(anonymous_8) +FN:98,(anonymous_9) +FN:100,(anonymous_10) +FN:100,(anonymous_11) +FN:100,(anonymous_12) +FNF:13 +FNH:0 +FNDA:0,updateTokenSetsInState +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:27,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:104,0 +LF:51 +LH:0 +BRDA:16,0,0,0 +BRDA:16,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:19,2,0,0 +BRDA:19,2,1,0 +BRDA:33,3,0,0 +BRDA:33,3,1,0 +BRDA:34,4,0,0 +BRDA:34,4,1,0 +BRDA:38,5,0,0 +BRDA:38,5,1,0 +BRDA:39,6,0,0 +BRDA:39,6,1,0 +BRDA:45,7,0,0 +BRDA:45,7,1,0 +BRDA:51,8,0,0 +BRDA:51,8,1,0 +BRDA:64,9,0,0 +BRDA:64,9,1,0 +BRDA:66,10,0,0 +BRDA:66,10,1,0 +BRDA:73,11,0,0 +BRDA:73,11,1,0 +BRDA:84,12,0,0 +BRDA:84,12,1,0 +BRF:26 +BRH:0 +end_of_record diff --git a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts new file mode 100644 index 000000000..4e8e5a5b7 --- /dev/null +++ b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts @@ -0,0 +1,54 @@ +import { getAvailableVariableCollections } from '../getAvailableVariableCollections'; + +describe('getAvailableVariableCollections', () => { + it('should return available variable collections', async () => { + const mockCollections = [ + { + id: 'collection1', + name: 'Collection 1', + modes: [ + { modeId: 'mode1', name: 'Light' }, + { modeId: 'mode2', name: 'Dark' }, + ], + }, + { + id: 'collection2', + name: 'Collection 2', + modes: [ + { modeId: 'mode3', name: 'Default' }, + ], + }, + ]; + + global.figma = { + variables: { + getLocalVariableCollectionsAsync: jest.fn().mockResolvedValue(mockCollections), + }, + } as any; + + const result = await getAvailableVariableCollections(); + + expect(result).toEqual({ + collections: mockCollections, + }); + }); + + it('should return empty array if error occurs', async () => { + global.figma = { + variables: { + getLocalVariableCollectionsAsync: jest.fn().mockRejectedValue(new Error('Failed')), + }, + } as any; + + const consoleSpy = jest.spyOn(console, 'error').mockImplementation(); + + const result = await getAvailableVariableCollections(); + + expect(result).toEqual({ + collections: [], + }); + expect(consoleSpy).toHaveBeenCalledWith('Error getting variable collections:', expect.any(Error)); + + consoleSpy.mockRestore(); + }); +}); \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts b/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts index 33735cb20..db404f7c3 100644 --- a/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts +++ b/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts @@ -776,4 +776,74 @@ describe('pullStyles', () => { ]), ); }); + + it('filters variables by selected collections and modes', async () => { + const selectedCollections = { + 'VariableID:1:0': { + name: 'Collection 1', + selectedModes: ['1:0', '1:1'], // Only Default and Dark modes + }, + }; + + await pullVariables({ + useDimensions: false, + useRem: false, + selectedCollections + }, [], false); + + const expectedCall = expect.objectContaining({ + colors: expect.arrayContaining([ + expect.objectContaining({ + name: 'Color', + parent: 'Collection 1/Default', + value: '#ffffff', + }), + expect.objectContaining({ + name: 'Color', + parent: 'Collection 1/Dark', + value: '#000000', + }), + ]), + numbers: expect.arrayContaining([ + expect.objectContaining({ + name: 'Number1', + parent: 'Collection 1/Default', + value: 24, + }), + expect.objectContaining({ + name: 'Number1', + parent: 'Collection 1/Dark', + value: 24, + }), + ]), + }); + + expect(notifyStyleValuesSpy).toHaveBeenCalledWith(expectedCall, []); + + // Should NOT include Light or Custom modes + const actualCall = notifyStyleValuesSpy.mock.calls[0][0]; + const lightModeColors = actualCall.colors?.filter(c => c.parent?.includes('/Light')); + const customModeColors = actualCall.colors?.filter(c => c.parent?.includes('/Custom')); + + expect(lightModeColors).toHaveLength(0); + expect(customModeColors).toHaveLength(0); + }); + + it('excludes collections not in selectedCollections', async () => { + const selectedCollections = { + // Only including collection that doesn't exist in mock data + nonExistentCollection: { + name: 'Non-existent Collection', + selectedModes: ['mode1'], + }, + }; + + await pullVariables({ + useDimensions: false, + useRem: false, + selectedCollections + }, [], false); + + expect(notifyStyleValuesSpy).toHaveBeenCalledWith({}, []); + }); }); From 1439af20ab43b02376f73e77c5d0d124bad4f362 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 May 2025 06:49:42 +0000 Subject: [PATCH 5/8] Implement selective import of Variable Collections and Modes Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- packages/tokens-studio-for-figma/clover.xml | 16446 ------- .../coverage-final.json | 1060 - .../lcov-report/base.css | 224 - .../lcov-report/block-navigation.js | 87 - .../lcov-report/favicon.png | Bin 445 -> 0 bytes .../lcov-report/index.html | 1796 - .../lcov-report/prettify.css | 1 - .../lcov-report/prettify.js | 2 - .../lcov-report/sort-arrow-sprite.png | Bin 138 -> 0 bytes .../lcov-report/sorter.js | 196 - .../src/AsyncMessageChannel.ts.html | 535 - .../src/AsyncMessageChannelPreview.ts.html | 1003 - .../src/app/assets/hints/images.ts.html | 88 - .../src/app/assets/hints/index.html | 116 - .../asyncMessageHandlers/getThemeInfo.ts.html | 148 - .../src/app/asyncMessageHandlers/index.html | 146 - .../app/asyncMessageHandlers/index.ts.html | 91 - .../app/asyncMessageHandlers/startup.tsx.html | 298 - .../components/Accordion/Accordion.tsx.html | 337 - .../Accordion/StyledContainer.tsx.html | 109 - .../src/app/components/Accordion/index.html | 146 - .../app/components/Accordion/index.ts.html | 94 - .../AddLicenseKey/AddLicenseKey.tsx.html | 553 - .../app/components/AddLicenseKey/index.html | 131 - .../components/AddLicenseKey/index.ts.html | 94 - .../app/components/AnnotationBuilder.tsx.html | 229 - .../src/app/components/App.tsx.html | 289 - .../AppContainer/AppContainer.tsx.html | 427 - .../AppContainer/ApplicationInitSteps.ts.html | 106 - .../app/components/AppContainer/index.html | 161 - .../app/components/AppContainer/index.ts.html | 88 - .../addLicenseFactory.ts.html | 184 - .../getLdFlagsFactory.ts.html | 205 - .../startupProcessSteps/index.html | 191 - .../startupProcessSteps/index.ts.html | 100 - .../pullTokensFactory.ts.html | 598 - .../savePluginDataFactory.ts.html | 214 - .../saveStorageInformationFactory.ts.html | 148 - .../AppContainer/useStartupProcess.ts.html | 283 - .../src/app/components/ApplySelector.tsx.html | 505 - .../src/app/components/AuthModal/index.html | 116 - .../app/components/AuthModal/index.tsx.html | 415 - .../BorderTokenDownShiftInput.tsx.html | 301 - .../app/components/BorderTokenForm.tsx.html | 517 - .../src/app/components/Box.tsx.html | 100 - .../app/components/BoxShadowInput.tsx.html | 628 - .../app/components/BranchSelector.tsx.html | 814 - .../BranchSwitchMenuRadioElement.tsx.html | 181 - .../BrokenReferenceIndicator.tsx.html | 154 - .../src/app/components/Callout.tsx.html | 214 - .../ChangeStateListingHeading.tsx.html | 277 - .../app/components/ChangedStateList.tsx.html | 397 - .../app/components/ChangedTokenItem.tsx.html | 268 - .../src/app/components/Changelog.tsx.html | 349 - .../ColorPicker/ColorPicker.tsx.html | 751 - .../src/app/components/ColorPicker/index.html | 131 - .../app/components/ColorPicker/index.ts.html | 91 - .../components/ColorPickerTrigger.tsx.html | 163 - .../app/components/ColorTokenForm.tsx.html | 1045 - .../components/CompositionTokenForm.tsx.html | 532 - .../src/app/components/ConfirmDialog.tsx.html | 505 - .../components/ConvertToDTCGModal.tsx.html | 292 - .../src/app/components/Count.tsx.html | 139 - .../DirtyStateBadgeWrapper.tsx.html | 121 - .../src/app/components/Divider.tsx.html | 100 - .../DownshiftInput/DownshiftInput.tsx.html | 1189 - .../DownshiftInput/MentionInput.tsx.html | 604 - .../StyledDownshiftInput.tsx.html | 562 - .../app/components/DownshiftInput/index.html | 161 - .../components/DownshiftInput/index.ts.html | 94 - .../ResolveDuplicateTokenGroup.tsx.html | 373 - .../components/DuplicateResolver/index.html | 116 - .../src/app/components/EditTokenForm.tsx.html | 2254 - .../components/EditTokenFormModal.tsx.html | 232 - .../ErrorFallback/ErrorFallback.tsx.html | 130 - .../app/components/ErrorFallback/index.html | 131 - .../components/ErrorFallback/index.ts.html | 88 - .../src/app/components/ErrorMessage.tsx.html | 118 - .../app/components/ErrorValidation.tsx.html | 103 - .../app/components/ExplainerModal.tsx.html | 145 - .../ExportProvider/MultiFilesExport.tsx.html | 346 - .../ExportProvider/SingleFileExport.tsx.html | 595 - .../app/components/ExportProvider/index.html | 131 - .../src/app/components/FigmaLoading.tsx.html | 313 - .../src/app/components/Flex/Flex.tsx.html | 142 - .../src/app/components/Flex/index.html | 131 - .../src/app/components/Flex/index.ts.html | 88 - .../src/app/components/Footer.tsx.html | 637 - .../IconToggleableDisclosure.tsx.html | 148 - .../components/ImportVariablesDialog.tsx.html | 613 - .../components/ImportedTokensDialog.tsx.html | 1174 - .../src/app/components/Initiator.tsx.html | 640 - .../src/app/components/Input.tsx.html | 811 - .../InspectSearchOptionDropdown.tsx.html | 256 - .../src/app/components/Inspector.tsx.html | 469 - .../components/InspectorDebugView.tsx.html | 340 - .../components/InspectorMultiView.tsx.html | 601 - .../InspectorResolvedToken.tsx.html | 589 - .../components/InspectorTokenGroup.tsx.html | 163 - .../components/InspectorTokenSingle.tsx.html | 655 - .../src/app/components/JSONEditor.tsx.html | 319 - .../src/app/components/Label.tsx.html | 196 - .../components/LanguageSelector/index.html | 116 - .../LanguageSelector/index.tsx.html | 208 - .../LaunchDarkly/LDProvider.tsx.html | 190 - .../app/components/LaunchDarkly/index.html | 146 - .../app/components/LaunchDarkly/index.ts.html | 91 - .../components/LaunchDarkly/useFlags.ts.html | 112 - .../src/app/components/Link.tsx.html | 148 - .../src/app/components/LoadingBar.tsx.html | 388 - .../app/components/LocalStorageItem.tsx.html | 367 - .../ExportSetsTab.tsx.html | 625 - .../ExportThemesTab.tsx.html | 478 - .../LabelledCheckbox.tsx.html | 133 - .../ManageStylesAndVariables.tsx.html | 466 - .../OptionsModal.tsx.html | 892 - .../StyledCard.tsx.html | 118 - .../ThemeDetails.tsx.html | 214 - .../docsLinks.tsx.html | 100 - .../ManageStylesAndVariables/index.html | 221 - .../CreateOrEditThemeForm.tsx.html | 730 - .../ManageThemesModal.tsx.html | 937 - .../SingleThemeEntry.tsx.html | 475 - ...edCreateOrEditThemeFormHeaderFlex.tsx.html | 112 - ...yledCreateOrEditThemeFormTabsFlex.tsx.html | 112 - .../ManageThemesModal/StyledForm.tsx.html | 100 - .../StyledNameInputBox.tsx.html | 112 - .../StyledThemeLabel.tsx.html | 166 - .../StyledThemeMetaLabel.tsx.html | 115 - .../ThemeGroupDropDownMenu.tsx.html | 349 - .../ThemeListGroupHeader.tsx.html | 496 - .../ThemeListItemContent.tsx.html | 265 - .../ThemeStyleManagementCategory.tsx.html | 484 - ...StyleManagementCategoryStyleEntry.tsx.html | 403 - .../ThemeStyleManagementForm.tsx.html | 721 - .../ThemeVariableManagement.tsx.html | 646 - .../ThemeVariableManagementEntry.tsx.html | 394 - .../TokenSetThemeItem.tsx.html | 388 - .../components/ManageThemesModal/index.html | 386 - .../ManageThemesModal/index.ts.html | 88 - .../src/app/components/Modal/Modal.tsx.html | 715 - .../app/components/Modal/ModalFooter.tsx.html | 169 - .../app/components/Modal/ModalHeader.tsx.html | 106 - .../src/app/components/Modal/index.html | 161 - .../src/app/components/Modal/index.ts.html | 94 - .../components/MoreButton/MoreButton.tsx.html | 730 - .../MoreButton/MoreButtonProperty.tsx.html | 211 - .../src/app/components/MoreButton/index.html | 146 - .../app/components/MoreButton/index.ts.html | 88 - .../MultiSelectCheckboxItem.tsx.html | 196 - .../components/MultiSelectDropdown.tsx.html | 226 - .../src/app/components/Navbar.tsx.html | 328 - .../NavbarUndoButton.tsx.html | 220 - .../components/NavbarUndoButton/index.html | 131 - .../components/NavbarUndoButton/index.ts.html | 88 - .../components/OnboardingExplainer.tsx.html | 241 - .../app/components/OnboardingFlow.tsx.html | 478 - .../src/app/components/PluginResizer.tsx.html | 151 - .../PresetProvider/DefaultPreset.tsx.html | 202 - .../PresetProvider/FilePreset.tsx.html | 367 - .../app/components/PresetProvider/index.html | 131 - .../src/app/components/ProBadge.tsx.html | 208 - .../src/app/components/PullDialog.tsx.html | 301 - .../src/app/components/PushDialog.tsx.html | 805 - .../PushDialogSupernovaConfirm.tsx.html | 184 - .../src/app/components/PushJSON.tsx.html | 343 - .../app/components/PushSettingForm.tsx.html | 271 - .../app/components/RemConfiguration.tsx.html | 577 - .../ResolvedBorderValueDisplay.tsx.html | 238 - .../ResolvedShadowValueDisplay.tsx.html | 238 - .../components/ResolvedTokenDisplay.tsx.html | 241 - .../ResolvedTypographyValueDisplay.tsx.html | 262 - .../ResolvingLoader/ResolvingLoader.tsx.html | 196 - .../app/components/ResolvingLoader/index.html | 131 - .../components/ResolvingLoader/index.ts.html | 94 - .../app/components/SecondScreen/index.html | 116 - .../components/SecondScreen/index.tsx.html | 559 - .../components/SecondScreenSync/index.html | 116 - .../SecondScreenSync/index.tsx.html | 442 - .../src/app/components/Select.tsx.html | 184 - .../app/components/Settings/Settings.tsx.html | 751 - .../src/app/components/Settings/index.html | 131 - .../src/app/components/Settings/index.ts.html | 94 - .../app/components/SettingsDropdown.tsx.html | 403 - .../SingleBoxShadowDownShiftInput.tsx.html | 283 - .../components/SingleBoxShadowInput.tsx.html | 892 - .../SingleCompositionTokenContent.tsx.html | 319 - .../SingleCompositionTokenForm.tsx.html | 526 - .../SingleTypographyDownShiftInput.tsx.html | 235 - .../src/app/components/Stack.tsx.html | 94 - .../src/app/components/StartScreen.tsx.html | 556 - .../src/app/components/StorageItem.tsx.html | 583 - .../app/components/StorageItemForm.tsx.html | 481 - .../StorageItemForm/ADOForm.tsx.html | 505 - .../StorageItemForm/BitbucketForm.tsx.html | 517 - .../StorageItemForm/GenericVersioned.tsx.html | 793 - .../StorageItemForm/GitForm.tsx.html | 571 - .../StorageItemForm/JSONBinForm.tsx.html | 454 - .../StorageItemForm/SupernovaForm.tsx.html | 481 - .../StorageItemForm/TokensStudioForm.tsx.html | 886 - .../StorageItemForm/URLForm.tsx.html | 433 - .../app/components/StorageItemForm/index.html | 236 - .../components/StorageItemForm/types.ts.html | 91 - .../StyledBrokenReferenceIndicator.tsx.html | 160 - .../src/app/components/StyledDiff.tsx.html | 148 - .../components/StyledDirtyStateBadge.tsx.html | 121 - .../StyledDragger/DragGrabber.tsx.html | 166 - .../StyledDragger/DragItem.tsx.html | 205 - .../StyledDragger/StyledBeforeFlex.tsx.html | 112 - .../StyledDragger/StyledCheckbox.tsx.html | 166 - .../StyledDragger/StyledDragButton.tsx.html | 244 - .../StyledDragger/StyledGrabber.tsx.html | 157 - .../app/components/StyledDragger/index.html | 191 - .../app/components/StyledInputSuffix.tsx.html | 172 - .../components/StyledInspectBadge.tsx.html | 112 - .../app/components/StyledStorageItem.tsx.html | 160 - .../app/components/StylesDropdown.tsx.html | 298 - .../src/app/components/SyncSettings.tsx.html | 685 - .../components/TabButton/TabButton.tsx.html | 373 - .../src/app/components/TabButton/index.html | 131 - .../app/components/TabButton/index.ts.html | 88 - .../src/app/components/Text.tsx.html | 112 - .../ThemeSelector/ThemeSelector.tsx.html | 541 - .../app/components/ThemeSelector/index.html | 131 - .../components/ThemeSelector/index.ts.html | 88 - .../app/components/ToggleEmptyButton.tsx.html | 169 - .../TokenButton/DragOverItem.tsx.html | 259 - .../TokenButton/DraggableWrapper.tsx.html | 382 - .../TokenButton/StyledTokenButton.tsx.html | 379 - .../TokenButton/TokenButton.tsx.html | 235 - .../TokenButton/TokenButtonContent.tsx.html | 325 - .../src/app/components/TokenButton/index.html | 191 - .../app/components/TokenButton/index.ts.html | 88 - .../src/app/components/TokenFilter.tsx.html | 349 - .../app/components/TokenFlowButton/index.html | 116 - .../components/TokenFlowButton/index.tsx.html | 295 - .../app/components/TokenFormatBadge.tsx.html | 181 - .../TokenGroup/StyledTokenGroup.tsx.html | 226 - .../StyledTokenGroupHeading.tsx.html | 286 - .../components/TokenGroup/TokenGroup.tsx.html | 379 - .../TokenGroup/TokenGroupHeading.tsx.html | 532 - .../src/app/components/TokenGroup/index.html | 176 - .../app/components/TokenGroup/index.tsx.html | 88 - .../src/app/components/TokenInput.tsx.html | 304 - .../src/app/components/TokenListing.tsx.html | 451 - .../components/TokenListingHeading.tsx.html | 376 - .../TokenSetItem/StyledWrapper.tsx.html | 121 - .../TokenSetItem/TokenSetItem.tsx.html | 739 - .../app/components/TokenSetItem/index.html | 146 - .../app/components/TokenSetItem/index.ts.html | 91 - .../TokenSetListItemContent.tsx.html | 352 - .../app/components/TokenSetSelector.tsx.html | 841 - .../src/app/components/TokenSetTree.tsx.html | 742 - .../TokenSetTree/StyledFolderButton.tsx.html | 163 - .../StyledFolderButtonChevronBox.tsx.html | 148 - .../TokenSetTree/StyledItem.tsx.html | 121 - .../TokenSetTree/TokenSetTreeContent.tsx.html | 355 - .../app/components/TokenSetTree/index.html | 161 - .../TokenSetTreeItemContent.tsx.html | 349 - .../TokenTooltip/AliasBadge.tsx.html | 148 - .../TokenTooltip/NotFoundBadge.tsx.html | 130 - .../SingleBorderValueDisplay.tsx.html | 136 - .../SingleColorValueDisplay.tsx.html | 172 - .../SingleCompositionValueDisplay.tsx.html | 148 - .../SingleShadowValueDisplay.tsx.html | 154 - .../SingleTypographyValueDisplay.tsx.html | 205 - .../TokenTooltip/TokenTooltip.tsx.html | 190 - .../TokenTooltip/TokenTooltipContent.tsx.html | 214 - .../TokenTooltipContentValue.tsx.html | 481 - .../TokenTooltip/TooltipProperty.tsx.html | 199 - .../app/components/TokenTooltip/index.html | 281 - .../app/components/TokenTooltip/index.ts.html | 88 - .../src/app/components/Tokens.tsx.html | 1012 - .../app/components/TokensBottomBar.tsx.html | 496 - .../src/app/components/ToolsDropdown.tsx.html | 241 - .../src/app/components/Tooltip.tsx.html | 94 - .../app/components/TypographyInput.tsx.html | 511 - .../src/app/components/WindowResizer.tsx.html | 241 - .../app/components/createAnnotation.tsx.html | 136 - .../app/components/createTokenObj.tsx.html | 409 - .../src/app/components/custom.d.ts.html | 97 - .../src/app/components/globalStyles.tsx.html | 409 - .../lcov-report/src/app/components/index.html | 1691 - .../components/inspector/NodeIcon.tsx.html | 280 - .../components/inspector/TokenNode.tsx.html | 208 - .../components/inspector/TokenNodes.tsx.html | 310 - .../src/app/components/inspector/index.html | 146 - .../components/modals/BulkRemapModal.tsx.html | 373 - .../modals/CreateBranchModal.tsx.html | 514 - .../modals/CreateStorageItemModal.tsx.html | 361 - .../modals/DuplicateTokenGroupModal.tsx.html | 553 - .../modals/EditStorageItemModal.tsx.html | 247 - .../components/modals/ExportModal.tsx.html | 199 - .../components/modals/PresetModal.tsx.html | 205 - .../modals/RenameTokenGroupModal.tsx.html | 418 - .../ResolveDuplicateTokensModal.tsx.html | 484 - .../src/app/components/modals/index.html | 236 - .../app/components/use-raised-shadow.ts.html | 169 - .../app/components/useMinimizeWindow.tsx.html | 181 - .../UndoableEnhancerState.ts.html | 253 - .../app/enhancers/undoableEnhancer/index.html | 161 - .../enhancers/undoableEnhancer/index.ts.html | 88 - .../undoableActionDefinitions.ts.html | 355 - .../undoableEnhancer/undoableEnhancer.ts.html | 217 - .../lcov-report/src/app/hooks/index.html | 281 - .../src/app/hooks/useActionsHistory.ts.html | 148 - .../src/app/hooks/useCanUndo.ts.html | 163 - .../src/app/hooks/useConfirm.tsx.html | 286 - .../src/app/hooks/useImportVariables.tsx.html | 280 - .../hooks/useIsGitMultiFileEnabled.ts.html | 136 - .../src/app/hooks/useIsProUser.ts.html | 130 - .../app/hooks/usePropertiesForType.ts.html | 820 - .../src/app/hooks/usePullDialog.tsx.html | 238 - .../src/app/hooks/usePushDialog.tsx.html | 256 - .../app/hooks/useReferenceTokenType.ts.html | 172 - .../app/hooks/useStorageSizeWarning.tsx.html | 193 - .../src/app/hooks/useTypeForProperty.ts.html | 193 - .../lcov-report/src/app/index.html | 146 - .../lcov-report/src/app/index.tsx.html | 139 - .../lcov-report/src/app/preview/index.html | 146 - .../src/app/preview/preview.tsx.html | 1591 - .../src/app/preview/previewUtils.ts.html | 220 - .../src/app/preview/usePreviewState.tsx.html | 277 - .../lcov-report/src/app/sentry.ts.html | 256 - .../lcov-report/src/app/store.ts.html | 193 - .../lcov-report/src/app/store/index.html | 176 - .../src/app/store/middlewares/index.html | 131 - .../src/app/store/middlewares/index.ts.html | 94 - .../app/store/middlewares/tokenState.ts.html | 181 - .../src/app/store/models/branchState.tsx.html | 139 - .../src/app/store/models/effects/index.html | 116 - .../models/effects/settingsState/index.html | 296 - .../effects/settingsState/index.ts.html | 121 - ...CreateStylesWithVariableReferences.ts.html | 121 - .../setIgnoreFirstPartForStyles.ts.html | 121 - .../setPrefixStylesWithThemeName.ts.html | 121 - ...tylesAndVariablesWithoutConnection.ts.html | 121 - ...etRenameExistingStylesAndVariables.ts.html | 121 - .../settingsState/setStyleTypography.ts.html | 121 - .../settingsState/setStylesColor.ts.html | 121 - .../settingsState/setStylesEffect.ts.html | 121 - .../settingsState/setVariablesBoolean.ts.html | 121 - .../settingsState/setVariablesColor.ts.html | 121 - .../settingsState/setVariablesNumber.ts.html | 121 - .../settingsState/setVariablesString.ts.html | 121 - .../assignStyleIdsToCurrentTheme.ts.html | 118 - .../tokenState/assignStyleIdsToTheme.ts.html | 118 - .../assignVariableIdsToTheme.ts.html | 118 - .../effects/tokenState/deleteTheme.ts.html | 118 - .../models/effects/tokenState/index.html | 356 - .../models/effects/tokenState/index.ts.html | 133 - .../removeStyleIdsFromThemes.ts.html | 118 - .../removeStyleNamesFromThemes.ts.html | 118 - .../removeVariableNamesFromThemes.ts.html | 118 - .../renameStyleIdsToCurrentTheme.ts.html | 118 - .../renameStyleNamesToCurrentTheme.ts.html | 118 - .../renameVariableIdsToTheme.ts.html | 118 - .../renameVariableNamesToThemes.ts.html | 118 - .../effects/tokenState/saveTheme.ts.html | 118 - .../effects/tokenState/setActiveTheme.ts.html | 109 - .../tokenState/setDefaultTokens.ts.html | 136 - .../effects/tokenState/setEmptyTokens.ts.html | 121 - .../tokenState/updateThemeGroupName.ts.html | 118 - .../updateCheckForChangesAtomic.ts.html | 112 - .../src/app/store/models/index.html | 206 - .../src/app/store/models/index.tsx.html | 133 - .../app/store/models/inspectState.tsx.html | 193 - .../models/reducers/settingsState/index.html | 311 - .../reducers/settingsState/index.ts.html | 124 - ...CreateStylesWithVariableReferences.ts.html | 109 - .../setIgnoreFirstPartForStyles.ts.html | 109 - .../setPrefixStylesWithThemeName.ts.html | 109 - ...tylesAndVariablesWithoutConnection.ts.html | 109 - ...etRenameExistingStylesAndVariables.ts.html | 109 - .../setShouldSwapStyles.tsx.html | 109 - .../settingsState/setStylesColor.ts.html | 109 - .../settingsState/setStylesEffect.ts.html | 109 - .../settingsState/setStylesTypography.ts.html | 109 - .../settingsState/setVariablesBoolean.ts.html | 109 - .../settingsState/setVariablesColor.ts.html | 109 - .../settingsState/setVariablesNumber.ts.html | 109 - .../settingsState/setVariablesString.ts.html | 109 - .../assignStyleIdsToCurrentTheme.ts.html | 169 - .../tokenState/assignStyleIdsToTheme.ts.html | 166 - .../assignVariableIdsToTheme.ts.html | 142 - .../reducers/tokenState/deleteTheme.ts.html | 133 - .../disconnectStyleFromTheme.ts.html | 196 - .../disconnectVariableFromTheme.ts.html | 184 - .../models/reducers/tokenState/index.html | 461 - .../models/reducers/tokenState/index.ts.html | 154 - .../removeStyleIdsFromThemes.ts.html | 151 - .../removeStyleNamesFromThemes.ts.html | 151 - .../removeVariableNamesFromThemes.ts.html | 148 - .../renameStyleIdsToCurrentTheme.ts.html | 175 - .../renameStyleNamesToCurrentTheme.ts.html | 172 - .../tokenState/renameTokenSet.ts.html | 166 - .../tokenState/renameTokenSetFolder.ts.html | 166 - .../renameVariableIdsToTheme.ts.html | 184 - .../renameVariableNamesToThemes.ts.html | 169 - .../reducers/tokenState/saveTheme.ts.html | 271 - .../tokenState/setActiveTheme.ts.html | 187 - .../tokenState/setDefaultTokens.ts.html | 100 - .../tokenState/setEmptyTokens.ts.html | 100 - .../reducers/tokenState/setTokenData.ts.html | 280 - .../tokenState/toggleManyTokenSets.ts.html | 178 - .../tokenState/toggleUsedTokenSet.ts.html | 139 - .../tokenState/updateThemeGroupName.ts.html | 205 - .../models/reducers/userState/index.html | 131 - .../models/reducers/userState/index.ts.html | 88 - .../userState/setLicenseStatus.ts.html | 112 - .../src/app/store/models/settings.tsx.html | 937 - .../src/app/store/models/tokenState.tsx.html | 2983 -- .../src/app/store/models/uiState.tsx.html | 1495 - .../src/app/store/models/userState.ts.html | 490 - .../src/app/store/providers/ado/ado.tsx.html | 1033 - .../ado/getADOCreatePullRequestUrl.ts.html | 130 - .../src/app/store/providers/ado/index.html | 146 - .../src/app/store/providers/ado/index.ts.html | 91 - .../providers/bitbucket/bitbucket.tsx.html | 1069 - .../getBitbucketCreatePullRequestUrl.ts.html | 127 - .../app/store/providers/bitbucket/index.html | 146 - .../store/providers/bitbucket/index.ts.html | 91 - .../src/app/store/providers/file.tsx.html | 208 - .../app/store/providers/generic/index.html | 116 - .../generic/versionedStorage.ts.html | 997 - .../getRepositoryInformation.ts.html | 130 - .../getGithubCreatePullRequestUrl.ts.html | 127 - .../store/providers/github/github.tsx.html | 1069 - .../src/app/store/providers/github/index.html | 146 - .../app/store/providers/github/index.ts.html | 91 - .../getGitlabCreatePullRequestUrl.ts.html | 112 - .../store/providers/gitlab/gitlab.tsx.html | 1120 - .../src/app/store/providers/gitlab/index.html | 146 - .../app/store/providers/gitlab/index.ts.html | 91 - .../src/app/store/providers/index.html | 161 - .../src/app/store/providers/jsonbin.tsx.html | 817 - .../supernova/getSupernovaOpenCloud.ts.html | 97 - .../app/store/providers/supernova/index.html | 146 - .../store/providers/supernova/index.ts.html | 88 - .../providers/supernova/supernova.tsx.html | 709 - .../store/providers/tokens-studio/index.html | 131 - .../providers/tokens-studio/index.ts.html | 88 - .../tokens-studio/tokensStudio.tsx.html | 877 - .../src/app/store/providers/url.tsx.html | 391 - .../src/app/store/remoteTokens.tsx.html | 2164 - .../src/app/store/updateSources.tsx.html | 739 - .../src/app/store/useManageTokens.tsx.html | 859 - .../src/app/store/useStorage.tsx.html | 175 - .../src/app/store/useTokens.tsx.html | 2509 - .../src/app/store/utils/index.html | 131 - .../store/utils/updateAliasesInState.ts.html | 310 - .../src/app/store/utils/updateModify.ts.html | 169 - .../lcov-report/src/config/index.html | 146 - .../lcov-report/src/config/properties.js.html | 220 - .../src/config/tokenType.defs.json.d.ts.html | 100 - .../lcov-report/src/config/tokenTypes.js.html | 922 - .../src/constants/AliasRegex.ts.html | 106 - .../ApplyVariablesStyleOrder.ts.html | 97 - .../src/constants/BackgroundJobs.ts.html | 157 - .../src/constants/BoxShadowTypes.ts.html | 97 - .../src/constants/ColorModifierTypes.ts.html | 103 - .../src/constants/ColorSpaceTypes.ts.html | 103 - .../src/constants/DefaultWindowSize.ts.html | 97 - .../src/constants/Direction.ts.html | 103 - .../constants/DocumentationProperties.ts.html | 160 - .../src/constants/EditTokenFormStatus.ts.html | 100 - .../src/constants/ErrorMessages.ts.html | 151 - .../src/constants/ExportProviderType.ts.html | 97 - .../src/constants/InternalTokenGroup.ts.html | 91 - .../src/constants/LicenseStatus.ts.html | 106 - .../src/constants/LoadProviderType.ts.html | 97 - .../src/constants/ModalOptions.ts.html | 97 - .../src/constants/Properties.ts.html | 265 - .../constants/SharedPluginDataKeys.ts.html | 148 - .../SharedPluginDataNamespaces.ts.html | 94 - .../src/constants/StorageProviderType.ts.html | 121 - .../src/constants/StyleIdBackupKeys.ts.html | 100 - .../src/constants/StyleOptions.ts.html | 97 - .../src/constants/SystemFilenames.ts.html | 97 - .../lcov-report/src/constants/Tabs.ts.html | 112 - .../src/constants/TokenSetStatus.ts.html | 100 - .../src/constants/TokenTypes.ts.html | 211 - .../src/constants/UpdateMode.ts.html | 100 - .../src/constants/ValidNodeTypes.ts.html | 130 - .../src/constants/VariableTypes.ts.html | 148 - .../src/constants/defaultBaseFontSize.ts.html | 88 - .../lcov-report/src/constants/docUrls.ts.html | 94 - .../lcov-report/src/constants/index.html | 581 - .../src/constants/numberRegex.ts.html | 88 - .../src/context/AuthContext.tsx.html | 469 - .../src/context/DragControlsContext.tsx.html | 115 - .../src/context/ReorderContext.ts.html | 139 - .../src/context/TokensContext.ts.html | 115 - .../lcov-report/src/context/index.html | 176 - .../lcov-report/src/context/index.ts.html | 94 - .../figmaStorage/ActiveThemeProperty.ts.html | 124 - .../figmaStorage/ApiProvidersProperty.ts.html | 136 - .../src/figmaStorage/AuthDataProperty.ts.html | 115 - .../CheckForChangesProperty.ts.html | 115 - .../figmaStorage/ClientStorageCleanup.ts.html | 118 - .../ClientStorageProperty.ts.html | 247 - .../CollapsedTokenSetsProperty.ts.html | 127 - .../figmaStorage/FigmaStorageProperty.ts.html | 310 - .../src/figmaStorage/FileKeyProperty.ts.html | 115 - .../figmaStorage/InitialLoadProperty.ts.html | 103 - .../figmaStorage/IsCompressedProperty.ts.html | 115 - .../figmaStorage/LastOpenedProperty.ts.html | 109 - .../figmaStorage/LicenseKeyProperty.ts.html | 103 - ...oardingExplainerExportSetsProperty.ts.html | 103 - ...OnboardingExplainerInspectProperty.ts.html | 103 - .../OnboardingExplainerSetsProperty.ts.html | 103 - ...dingExplainerSyncProvidersProperty.ts.html | 103 - .../figmaStorage/StorageSizeManager.ts.html | 136 - .../figmaStorage/StorageTypeProperty.ts.html | 124 - .../src/figmaStorage/ThemesProperty.ts.html | 148 - .../figmaStorage/TokenFormatProperty.ts.html | 112 - .../figmaStorage/UiSettingsProperty.ts.html | 115 - .../figmaStorage/UpdatedAtProperty.ts.html | 109 - .../figmaStorage/UsedEmailProperty.ts.html | 94 - .../figmaStorage/UsedTokenSetProperty.ts.html | 121 - .../src/figmaStorage/UserIdProperty.ts.html | 103 - .../src/figmaStorage/ValuesProperty.ts.html | 139 - .../src/figmaStorage/VersionProperty.ts.html | 109 - .../lcov-report/src/figmaStorage/index.html | 536 - .../src/figmaStorage/index.ts.html | 157 - .../lcov-report/src/hooks/index.html | 221 - .../lcov-report/src/hooks/index.ts.html | 94 - .../src/hooks/useChangedState.ts.html | 247 - .../src/hooks/useDelayedFlag.ts.html | 163 - .../src/hooks/useFigmaFonts.tsx.html | 154 - .../src/hooks/useFigmaTheme.ts.html | 160 - .../src/hooks/useGetActiveState.ts.html | 163 - .../hooks/useProcess/CanceledError.ts.html | 100 - .../useProcess/ProcessCancelToken.ts.html | 154 - .../useProcess/ProcessStepStatus.ts.html | 106 - .../src/hooks/useProcess/index.html | 176 - .../src/hooks/useProcess/index.ts.html | 97 - .../src/hooks/useProcess/useProcess.ts.html | 376 - .../src/hooks/useSetNodeData.ts.html | 157 - .../lcov-report/src/hooks/useShortcut.ts.html | 157 - .../lcov-report/src/i18n/i18next.d.ts.html | 130 - .../lcov-report/src/i18n/index.html | 131 - .../lcov-report/src/i18n/index.ts.html | 292 - .../lcov-report/src/i18n/lang/en/index.html | 116 - .../src/i18n/lang/en/index.ts.html | 178 - .../lcov-report/src/i18n/lang/es/index.html | 116 - .../src/i18n/lang/es/index.ts.html | 178 - .../lcov-report/src/i18n/lang/fr/index.html | 116 - .../src/i18n/lang/fr/index.ts.html | 178 - .../lcov-report/src/i18n/lang/hi/index.html | 116 - .../src/i18n/lang/hi/index.ts.html | 178 - .../lcov-report/src/i18n/lang/nl/index.html | 116 - .../src/i18n/lang/nl/index.ts.html | 178 - .../lcov-report/src/i18n/lang/zh/index.html | 116 - .../src/i18n/lang/zh/index.ts.html | 178 - .../lcov-report/src/icons/index.html | 116 - .../lcov-report/src/icons/index.tsx.html | 502 - .../lcov-report/src/index.html | 176 - .../lcov-report/src/mocks/browser.ts.html | 100 - .../lcov-report/src/mocks/handlers.ts.html | 277 - .../lcov-report/src/mocks/index.html | 146 - .../lcov-report/src/mocks/server.ts.html | 103 - .../src/motion/ReorderGroup.tsx.html | 325 - .../src/motion/ReorderItem.tsx.html | 331 - .../lcov-report/src/motion/index.html | 131 - .../src/plugin/CanceledError.ts.html | 100 - .../src/plugin/NodeManager.ts.html | 397 - .../src/plugin/ProgressTracker.ts.html | 223 - .../plugin/ResolvedTypographyObject.ts.html | 118 - .../src/plugin/SharedDataHandler.ts.html | 235 - .../src/plugin/TokenFormatStoreClass.ts.html | 199 - .../src/plugin/TokenValueRetriever.ts.html | 460 - .../lcov-report/src/plugin/Worker.ts.html | 319 - .../applyAssetTokenValuesOnNode.ts.html | 124 - .../applyBackgroundBlurValuesOnNode.ts.html | 130 - .../applyBooleanTokenValuesOnNode.ts.html | 151 - .../applyBorderRadiusValuesOnNode.ts.html | 406 - .../plugin/applyBorderValuesOnNode.ts.html | 232 - .../applyBorderWidthValuesOnNode.ts.html | 280 - .../src/plugin/applyColorTokenOnNode.ts.html | 229 - .../applyDimensionTokenValuesOnNode.ts.html | 199 - .../applyNumberTokenValuesOnNode.ts.html | 187 - .../plugin/applyOpacityValuesOnNode.ts.html | 154 - .../plugin/applyPositionTokenOnNode.ts.html | 157 - .../plugin/applyRotationValuesOnNode.ts.html | 160 - .../plugin/applyShadowValuesOnNode.ts.html | 229 - .../plugin/applySizingValuesOnNode.ts.html | 400 - .../plugin/applySpacingValuesOnNode.ts.html | 577 - .../applyTextCharacterValuesOnNode.ts.html | 262 - .../plugin/applyTypographyTokenOnNode.ts.html | 409 - .../applySiblingStyle.ts.html | 373 - .../attachLocalStylesToTheme.ts.html | 298 - .../attachLocalVariablesToTheme.ts.html | 193 - .../bulkRemapTokens.ts.html | 262 - .../cancelOperation.ts.html | 121 - .../asyncMessageHandlers/changedTabs.ts.html | 115 - .../createAnnotation.ts.html | 106 - .../createLocalVariables.ts.html | 121 - .../createLocalVariablesWithoutModes.ts.html | 121 - .../asyncMessageHandlers/createStyles.ts.html | 184 - .../asyncMessageHandlers/credentials.ts.html | 109 - .../getAvailableVariableCollections.ts.html | 157 - .../getFigmaFonts.ts.html | 112 - .../getSiblingStyleId.ts.html | 271 - .../getThemeReferences.ts.html | 322 - .../asyncMessageHandlers/gotoNode.ts.html | 106 - .../plugin/asyncMessageHandlers/index.html | 836 - .../plugin/asyncMessageHandlers/index.ts.html | 217 - .../asyncMessageHandlers/notify.ts.html | 106 - .../asyncMessageHandlers/preview.ts.html | 121 - .../asyncMessageHandlers/pullStyles.ts.html | 106 - .../pullVariables.ts.html | 106 - .../asyncMessageHandlers/remapTokens.ts.html | 259 - .../removeSingleCredential.ts.html | 109 - .../asyncMessageHandlers/removeStyles.ts.html | 136 - .../removeStylesWithoutConnection.ts.html | 151 - .../removeTokensByValue.ts.html | 145 - .../asyncMessageHandlers/renameStyles.ts.html | 136 - .../renameVariables.ts.html | 106 - .../asyncMessageHandlers/resizeWindow.ts.html | 103 - .../resolveStyleInfo.ts.html | 214 - .../resolveVariableInfo.ts.html | 178 - .../asyncMessageHandlers/selectNodes.ts.html | 112 - .../asyncMessageHandlers/setAuthData.ts.html | 106 - .../setInitialLoad.ts.html | 106 - .../setLicenseKey.ts.html | 106 - .../asyncMessageHandlers/setNodeData.ts.html | 190 - .../setNoneValuesOnNode.ts.html | 244 - .../setOnboardingExplainerExportSets.ts.html | 106 - .../setOnboardingExplainerInspect.ts.html | 106 - .../setOnboardingExplainerSets.ts.html | 106 - ...etOnboardingExplainerSyncProviders.ts.html | 106 - .../setShowEmptyGroups.ts.html | 112 - .../setStorageType.ts.html | 106 - .../plugin/asyncMessageHandlers/setUi.ts.html | 217 - .../asyncMessageHandlers/setUsedEmail.ts.html | 106 - .../asyncMessageHandlers/swapStyles.ts.html | 241 - .../asyncMessageHandlers/update.ts.html | 277 - .../updateCheckForChanges.ts.html | 112 - .../updateVariables.ts.html | 106 - .../src/plugin/compareStyleWithToken.ts.html | 178 - .../lcov-report/src/plugin/controller.ts.html | 361 - .../createLocalVariablesInPlugin.ts.html | 343 - ...LocalVariablesWithoutModesInPlugin.ts.html | 376 - ...createNecessaryVariableCollections.ts.html | 208 - .../src/plugin/createVariableMode.ts.html | 145 - .../plugin/figmaTransforms/boxShadow.ts.html | 142 - .../src/plugin/figmaTransforms/colors.ts.html | 499 - .../convertFontFamilyToFigma.ts.html | 124 - .../plugin/figmaTransforms/fontWeight.ts.html | 169 - .../plugin/figmaTransforms/generic.ts.html | 142 - .../plugin/figmaTransforms/gradients.ts.html | 454 - .../src/plugin/figmaTransforms/index.html | 296 - .../figmaTransforms/letterSpacing.ts.html | 178 - .../plugin/figmaTransforms/lineHeight.ts.html | 190 - .../numberMatchesPercentage.ts.html | 94 - .../src/plugin/figmaTransforms/offset.ts.html | 103 - .../plugin/figmaTransforms/opacity.ts.html | 142 - .../plugin/figmaTransforms/textCase.ts.html | 199 - .../figmaTransforms/textDecoration.ts.html | 151 - .../getShadowBehindNodeFromEffect.ts.html | 106 - .../src/plugin/figmaUtils/index.html | 131 - .../effectStyleMatchesBoxShadowToken.ts.html | 226 - .../figmaUtils/styleMatchers/index.html | 161 - .../figmaUtils/styleMatchers/index.ts.html | 94 - .../paintStyleMatchesColorToken.ts.html | 151 - .../textStyleMatchesTypographyToken.ts.html | 331 - .../src/plugin/figmaUtils/styleUtils.ts.html | 304 - .../findCollectionAndModeIdForTheme.ts.html | 127 - .../src/plugin/generateTokensToCreate.ts.html | 166 - .../plugin/getAppliedStylesFromNode.ts.html | 487 - .../getAppliedVariablesFromNode.ts.html | 352 - .../src/plugin/getFigmaDashPattern.ts.html | 133 - .../plugin/getVariablesWithoutZombies.ts.html | 130 - .../lcov-report/src/plugin/helpers.ts.html | 424 - .../lcov-report/src/plugin/index.html | 1316 - .../plugin/mergeVariableReferences.ts.html | 196 - .../lcov-report/src/plugin/node.ts.html | 868 - .../lcov-report/src/plugin/notifiers.ts.html | 676 - .../src/plugin/performCodeGen.ts.html | 151 - .../lcov-report/src/plugin/pluginData.ts.html | 505 - .../plugin/processTextStyleProperty.ts.html | 268 - .../lcov-report/src/plugin/pullStyles.ts.html | 1210 - .../src/plugin/pullVariables.ts.html | 925 - .../src/plugin/removePluginDataByMap.ts.html | 199 - .../src/plugin/removeStylesFromPlugin.ts.html | 178 - .../src/plugin/removeValuesFromNode.ts.html | 832 - .../src/plugin/renameStylesFromPlugin.ts.html | 235 - .../plugin/renameVariablesFromPlugin.ts.html | 184 - .../lcov-report/src/plugin/rotateNode.ts.html | 256 - .../src/plugin/sendDocumentChange.ts.html | 121 - .../src/plugin/sendSelectionChange.ts.html | 148 - .../plugin/setBackgroundBlurOnTarget.ts.html | 172 - .../plugin/setBooleanValuesOnVariable.ts.html | 133 - .../setBorderColorValuesOnTarget.ts.html | 226 - .../plugin/setBorderValuesOnTarget.ts.html | 325 - .../src/plugin/setColorValuesOnTarget.ts.html | 481 - .../plugin/setColorValuesOnVariable.ts.html | 220 - .../plugin/setEffectValuesOnTarget.ts.html | 451 - .../src/plugin/setFontStyleOnTarget.ts.html | 298 - .../src/plugin/setImageValuesOnTarget.ts.html | 187 - .../plugin/setNumberValuesOnVariable.ts.html | 142 - .../plugin/setStringValuesOnVariable.ts.html | 127 - .../src/plugin/setTextValuesOnTarget.ts.html | 163 - .../src/plugin/setValuesOnNode.ts.html | 295 - .../src/plugin/setValuesOnVariable.ts.html | 406 - .../lcov-report/src/plugin/store.ts.html | 118 - ...nsformTypographyKeyToFigmaVariable.ts.html | 109 - ...ryApplyTypographyCompositeVariable.ts.html | 313 - .../plugin/unbindVariableFromTarget.ts.html | 121 - .../src/plugin/updateColorStyles.ts.html | 184 - .../src/plugin/updateEffectStyles.ts.html | 223 - .../src/plugin/updateNodes.ts.html | 274 - .../plugin/updatePluginDataAndNodes.ts.html | 316 - .../src/plugin/updateStyles.ts.html | 295 - .../src/plugin/updateTextStyles.ts.html | 190 - .../src/plugin/updateVariables.ts.html | 322 - .../plugin/updateVariablesFromPlugin.ts.html | 328 - .../plugin/updateVariablesToReference.ts.html | 163 - .../lcov-report/src/profiling/index.html | 131 - .../lcov-report/src/profiling/timing.ts.html | 202 - .../src/profiling/transaction.ts.html | 403 - .../activeApiProviderSelector.ts.html | 97 - .../src/selectors/activeTabSelector.ts.html | 106 - .../src/selectors/activeThemeSelector.ts.html | 106 - .../activeTokenSetReadOnlySelector.ts.html | 106 - .../selectors/activeTokenSetSelector.ts.html | 106 - .../selectors/activeTokensTabSelector.ts.html | 106 - .../aliasBaseFontSizeSelector.ts.html | 106 - .../selectors/allTokenSetsSelector.ts.html | 106 - .../selectors/apiProvidersSelector.ts.html | 106 - .../src/selectors/apiSelector.ts.html | 124 - .../selectors/backgroundJobsSelector.ts.html | 106 - .../selectors/baseFontSizeSelector.ts.html | 106 - .../src/selectors/branchSelector.ts.html | 94 - .../selectors/changedStateSelector.ts.html | 124 - .../src/selectors/changelogSelector.ts.html | 106 - .../src/selectors/collapsedSelector.ts.html | 106 - .../collapsedTokenSetsSelector.ts.html | 106 - .../collapsedTokenTypeObjSelector.ts.html | 106 - .../selectors/collapsedTokensSelector.ts.html | 106 - .../selectors/confirmStateSelector.ts.html | 124 - ...ylesWithVariableReferencesSelector.ts.html | 106 - .../src/selectors/displayTypeSelector.ts.html | 106 - .../selectors/editProhibitedSelector.ts.html | 97 - .../src/selectors/editTokenSelector.ts.html | 124 - .../src/selectors/figmaFontsSelector.ts.html | 106 - .../src/selectors/getClientEmail.ts.html | 97 - .../src/selectors/getEntitlements.ts.html | 97 - .../src/selectors/getLastopened.ts.html | 106 - .../hasUnsavedChangesSelector.ts.html | 106 - .../ignoreFirstPartForStylesSelector.ts.html | 106 - .../selectors/importedThemesSelector.ts.html | 124 - .../selectors/importedTokensSelector.ts.html | 124 - .../lcov-report/src/selectors/index.html | 1541 - .../lcov-report/src/selectors/index.ts.html | 316 - .../src/selectors/inspectDeepSelector.ts.html | 106 - .../selectors/inspectStateSelector.ts.html | 94 - .../isWaitingForBackgroundJobSelector.ts.html | 139 - .../src/selectors/languageSelector.ts.html | 106 - .../selectors/lastSyncedStateSelector.ts.html | 106 - .../selectors/licenseDetailsSelector.ts.html | 97 - .../selectors/licenseKeyErrorSelector.ts.html | 97 - .../src/selectors/licenseKeySelector.ts.html | 97 - .../selectors/licenseStatusSelector.ts.html | 97 - .../localApiStateBranchSelector.ts.html | 124 - .../selectors/localApiStateSelector.ts.html | 106 - .../mainNodeSelectionValuesSelector.ts.html | 124 - .../manageThemesModalOpenSelector.ts.html | 106 - .../src/selectors/planSelector.ts.html | 97 - .../prefixStylesWithThemeNameSelector.ts.html | 106 - .../src/selectors/projectURLSelector.ts.html | 106 - .../src/selectors/remoteDataSelector.ts.html | 124 - ...VariablesWithoutConnectionSelector.ts.html | 106 - ...ExistingStylesAndVariablesSelector.ts.html | 106 - .../src/selectors/rootStateSelector.ts.html | 94 - .../scrollPositionSetSelector.ts.html | 106 - .../selectors/secondScreenSelector.ts.html | 97 - .../sessionRecordingSelector.ts.html | 106 - .../selectors/settingsStateSelector.ts.html | 94 - .../selectors/showAutoSuggestSelector.ts.html | 106 - ...howConvertTokenFormatModalSelector.ts.html | 106 - .../selectors/showEditFormSelector.ts.html | 106 - .../selectors/showEmptyGroupsSelector.ts.html | 106 - .../selectors/showPullDialogSelector.ts.html | 106 - .../selectors/showPushDialogSelector.ts.html | 106 - .../src/selectors/storageTypeSelector.ts.html | 106 - .../storeTokenIdInJsonEditorSelector.ts.html | 106 - .../selectors/stringTokensSelector.ts.html | 106 - .../src/selectors/stylesColorSelector.ts.html | 106 - .../selectors/stylesEffectSelector.ts.html | 106 - .../stylesTypographySelector.ts.html | 106 - .../src/selectors/themeByIdSelector.ts.html | 127 - .../selectors/themeObjectsSelector.ts.html | 106 - .../selectors/themeOptionsSelector.ts.html | 124 - .../src/selectors/themesListSelector.ts.html | 106 - .../src/selectors/themesSizeSelector.ts.html | 121 - .../src/selectors/tokenFilterSelector.ts.html | 106 - .../src/selectors/tokenFormatSelector.ts.html | 106 - .../tokenSetMetadataSelector.ts.html | 97 - .../selectors/tokenSetStatusSelector.ts.html | 121 - .../src/selectors/tokenStateSelector.ts.html | 94 - .../src/selectors/tokenTypeSelector.ts.html | 106 - .../src/selectors/tokensSelector.ts.html | 124 - .../src/selectors/tokensSizeSelector.ts.html | 121 - .../selectors/tokensStudioPATSelector.ts.html | 121 - .../src/selectors/uiDisabledSelector.ts.html | 106 - .../src/selectors/uiStateSelector.ts.html | 94 - .../src/selectors/updateModeSelector.ts.html | 109 - .../src/selectors/usedEmailSelector.ts.html | 97 - .../selectors/usedTokenSetSelector.ts.html | 106 - .../src/selectors/userIdSelector.ts.html | 97 - .../src/selectors/userNameSelector.ts.html | 97 - .../src/selectors/userStateSelector.ts.html | 94 - .../variablesBooleanSelector.ts.html | 106 - .../selectors/variablesColorSelector.ts.html | 106 - .../selectors/variablesNumberSelector.ts.html | 106 - .../selectors/variablesStringSelector.ts.html | 106 - .../src/selectors/windowSizeSelector.ts.html | 97 - .../lcov-report/src/stitches.config.ts.html | 301 - .../src/storage/ADOTokenStorage.ts.html | 1435 - .../src/storage/BitbucketTokenStorage.ts.html | 1297 - .../src/storage/FileTokenStorage.ts.html | 508 - .../storage/GenericVersionedStorage.ts.html | 700 - .../src/storage/GitTokenStorage.ts.html | 484 - .../src/storage/GithubTokenStorage.ts.html | 1180 - .../src/storage/GitlabTokenStorage.ts.html | 1138 - .../src/storage/JSONBinTokenStorage.ts.html | 655 - .../src/storage/RemoteTokenStorage.ts.html | 472 - .../src/storage/SupernovaTokenStorage.ts.html | 592 - .../storage/TokensStudioTokenStorage.ts.html | 1546 - .../src/storage/UrlTokenStorage.ts.html | 373 - .../lcov-report/src/storage/index.html | 296 - .../lcov-report/src/storage/index.ts.html | 91 - .../schemas/complexSingleFileSchema.ts.html | 154 - .../src/storage/schemas/index.html | 206 - .../src/storage/schemas/index.ts.html | 100 - .../storage/schemas/multiFileSchema.ts.html | 106 - .../storage/schemas/singleFileSchema.ts.html | 130 - .../storage/schemas/singleTokenSchema.ts.html | 130 - .../storage/schemas/themeObjectSchema.ts.html | 136 - .../storage/schemas/tokensMapSchema.ts.html | 115 - .../createTokenInTokensStudio.ts.html | 217 - .../createTokenSetInTokensStudio.ts.html | 184 - .../deleteTokenSetFromTokensStudio.ts.html | 172 - .../duplicateTokenInTokensStudio.ts.html | 208 - .../graphql/createThemeGroupMutation.ts.html | 136 - .../graphql/createTokenMutation.ts.html | 112 - .../graphql/createTokenSetMutation.ts.html | 112 - .../graphql/deleteThemeGroupMutation.ts.html | 112 - .../graphql/deleteTokenMutation.ts.html | 112 - .../graphql/deleteTokenSetMutation.ts.html | 112 - .../graphql/getGeneratorQuery.ts.html | 121 - .../tokensStudio/graphql/getOrgsQuery.ts.html | 139 - .../graphql/getProjectDataQuery.ts.html | 181 - .../graphql/getTokenSetQuery.ts.html | 148 - .../storage/tokensStudio/graphql/index.html | 341 - .../tokensStudio/graphql/index.ts.html | 127 - .../graphql/tokenFragment.ts.html | 247 - .../graphql/updateThemeGroupMutation.ts.html | 136 - .../graphql/updateTokenMutation.ts.html | 109 - .../graphql/updateTokenSetMutation.ts.html | 130 - .../updateTokenSetOrderMutation.ts.html | 136 - .../src/storage/tokensStudio/index.html | 191 - .../src/storage/tokensStudio/index.ts.html | 97 - .../deleteTheme.ts.html | 172 - .../getThemeGroupsToUpdate.ts.html | 127 - .../index.html | 176 - .../index.ts.html | 460 - .../saveTheme.ts.html | 325 - .../updateThemeGroupName.ts.html | 151 - .../updateTokenSetInTokensStudio.ts.html | 190 - .../utils/compositionFields.ts.html | 145 - .../src/storage/tokensStudio/utils/index.html | 131 - .../storage/tokensStudio/utils/index.ts.html | 88 - .../lcov-report/src/stories/index.html | 116 - .../src/stories/tokensForStories.ts.html | 487 - .../lcov-report/src/supabase.ts.html | 724 - .../lcov-report/src/tokens/core.ts.html | 241 - .../lcov-report/src/tokens/dark.ts.html | 280 - .../lcov-report/src/tokens/index.html | 146 - .../lcov-report/src/tokens/light.ts.html | 280 - .../src/types/AsyncMessages.ts.html | 1513 - .../lcov-report/src/types/Auth.ts.html | 178 - .../src/types/ChangelogItem.ts.html | 118 - .../types/CompositionTokenProperty.ts.html | 115 - .../src/types/DeepTokensMap.ts.html | 100 - .../src/types/ExportTokenSet.ts.html | 103 - .../src/types/FigmaStyleMaps.ts.html | 100 - .../src/types/MapValuesToTokensResult.ts.html | 103 - .../lcov-report/src/types/Modifier.ts.html | 142 - .../lcov-report/src/types/NodeInfo.ts.html | 100 - .../src/types/NodeTokenRefMap.ts.html | 109 - .../src/types/NodeTokenRefValue.ts.html | 88 - .../src/types/OptionalPartial.ts.html | 100 - .../src/types/PullStylesOptions.ts.html | 100 - .../src/types/PullVariablesOptions.ts.html | 106 - .../src/types/RawVariableReferenceMap.ts.html | 88 - .../src/types/RemoteResponseData.ts.html | 157 - .../lcov-report/src/types/RootModel.ts.html | 133 - .../src/types/SecondScreen.ts.html | 154 - .../src/types/SelectionGroup.ts.html | 124 - .../src/types/SelectionValue.ts.html | 190 - .../src/types/ShowFormOptions.ts.html | 121 - .../lcov-report/src/types/StitchesCSS.ts.html | 115 - .../lcov-report/src/types/StorageType.ts.html | 616 - .../src/types/StoryblokStory.ts.html | 136 - .../lcov-report/src/types/StyleIdMap.ts.html | 91 - .../lcov-report/src/types/ThemeObject.ts.html | 139 - .../src/types/ThemeObjectsList.ts.html | 94 - .../lcov-report/src/types/TokenMap.ts.html | 94 - .../src/types/UpdateNodesSettings.ts.html | 100 - .../src/types/UpdateRemoteFunction.ts.html | 130 - .../src/types/UsedTokenSetsMap.ts.html | 94 - .../types/VariableCollectionSelection.ts.html | 127 - .../src/types/VariableReferenceMap.ts.html | 88 - .../lcov-report/src/types/index.html | 671 - .../lcov-report/src/types/index.ts.html | 130 - .../lcov-report/src/types/messages.tsx.html | 529 - .../payloads/DeleteTokenGroupPayload.ts.html | 100 - .../types/payloads/DeleteTokenPayload.ts.html | 112 - .../DuplicateTokenGroupPayload.ts.html | 106 - .../payloads/DuplicateTokenPayload.ts.html | 151 - .../payloads/RenameTokenGroupPayload.ts.html | 103 - .../payloads/RenameTokensAcrossSets.ts.html | 103 - .../payloads/SetTokenDataPayload.ts.html | 139 - .../SetTokensFromStylesPayload.ts.html | 124 - .../SetTokensFromVariablesPayload.ts.html | 127 - .../ToggleManyTokenSetsPayload.ts.html | 97 - .../payloads/UpdateDocumentPayload.ts.html | 100 - .../types/payloads/UpdateTokenPayload.ts.html | 283 - .../UpdateTokenVariablePayload.ts.html | 142 - .../lcov-report/src/types/payloads/index.html | 311 - .../src/types/payloads/index.ts.html | 118 - .../types/properties/PropertyObject.ts.html | 121 - .../src/types/properties/index.html | 131 - .../src/types/properties/index.ts.html | 88 - .../src/types/redux/ActionMeta.ts.html | 94 - .../src/types/redux/AnyAction.ts.html | 121 - .../types/redux/AnyInspectStateAction.ts.html | 115 - .../redux/AnySettingsStateAction.ts.html | 115 - .../types/redux/AnyTokenStateAction.ts.html | 115 - .../src/types/redux/AnyUiStateAction.ts.html | 115 - .../lcov-report/src/types/redux/index.html | 206 - .../lcov-report/src/types/redux/index.ts.html | 88 - .../src/types/tokens/AnyTokenList.ts.html | 94 - .../src/types/tokens/AnyTokenSet.ts.html | 94 - .../src/types/tokens/DeepKeyTokenMap.ts.html | 97 - .../src/types/tokens/EditTokenObject.ts.html | 256 - .../src/types/tokens/ImportToken.ts.html | 103 - .../src/types/tokens/SingleAssetToken.ts.html | 97 - .../types/tokens/SingleBooleanToken.ts.html | 97 - .../tokens/SingleBorderRadiusToken.ts.html | 97 - .../types/tokens/SingleBorderToken.ts.html | 106 - .../tokens/SingleBorderWidthToken.ts.html | 97 - .../types/tokens/SingleBoxShadowToken.ts.html | 115 - .../src/types/tokens/SingleColorToken.ts.html | 97 - .../tokens/SingleCompositionToken.ts.html | 106 - .../types/tokens/SingleDimensionToken.ts.html | 97 - .../tokens/SingleFontFamiliesToken.ts.html | 97 - .../types/tokens/SingleFontSizesToken.ts.html | 97 - .../tokens/SingleFontWeightsToken.ts.html | 97 - .../types/tokens/SingleGenericToken.ts.html | 169 - .../tokens/SingleLetterSpacingToken.ts.html | 97 - .../tokens/SingleLineHeightsToken.ts.html | 97 - .../types/tokens/SingleNumberToken.ts.html | 97 - .../types/tokens/SingleOpacityToken.ts.html | 97 - .../src/types/tokens/SingleOtherToken.ts.html | 97 - .../SingleParagraphSpacingToken.ts.html | 97 - .../types/tokens/SingleSizingToken.ts.html | 97 - .../types/tokens/SingleSpacingToken.ts.html | 97 - .../types/tokens/SingleTextCaseToken.ts.html | 100 - .../tokens/SingleTextDecorationToken.ts.html | 100 - .../src/types/tokens/SingleTextToken.ts.html | 100 - .../src/types/tokens/SingleToken.ts.html | 238 - .../tokens/SingleTypographyToken.ts.html | 124 - .../src/types/tokens/TokenToRename.ts.html | 97 - .../src/types/tokens/TokenTypeSchema.ts.html | 142 - .../src/types/tokens/TokenValues.ts.html | 103 - .../src/types/tokens/TokensStore.ts.html | 133 - .../types/tokens/TokensStoreValuesSet.ts.html | 118 - .../lcov-report/src/types/tokens/index.html | 656 - .../src/types/tokens/index.ts.html | 193 - .../lcov-report/src/types/userData.ts.html | 100 - .../lcov-report/src/types/valueTypes.ts.html | 124 - .../src/types/values/TokenBorderValue.ts.html | 100 - .../types/values/TokenBoxShadowValue.ts.html | 118 - .../types/values/TokenTextCaseValue.ts.html | 121 - .../values/TokenTextDecorationValue.ts.html | 88 - .../types/values/TokenTypographyValue.ts.html | 118 - .../lcov-report/src/types/values/index.html | 191 - .../src/types/values/index.ts.html | 100 - .../src/utils/TokenResolver.ts.html | 1087 - .../src/utils/addIdPropertyToTokens.ts.html | 199 - .../src/utils/addLicenseKey.ts.html | 232 - .../alias/checkCanReferenceVariable.tsx.html | 106 - .../src/utils/alias/checkIfAlias.tsx.html | 202 - .../utils/alias/checkIfContainsAlias.tsx.html | 106 - .../src/utils/alias/getAliasValue.ts.html | 631 - .../lcov-report/src/utils/alias/index.html | 176 - .../lcov-report/src/utils/alias/index.ts.html | 94 - .../lcov-report/src/utils/analytics.tsx.html | 196 - .../src/utils/annotations.tsx.html | 754 - .../src/utils/attemptOrFallback.ts.html | 109 - .../checkIfTokenCanCreateVariable.ts.html | 187 - .../src/utils/checkStorageSize.ts.html | 139 - .../src/utils/color/convertToRgb.ts.html | 238 - .../src/utils/color/darken.ts.html | 226 - .../utils/color/getColorSwatchStyle.ts.html | 94 - .../getReferenceTokensFromGradient.ts.html | 127 - .../lcov-report/src/utils/color/index.html | 236 - .../lcov-report/src/utils/color/index.ts.html | 97 - .../src/utils/color/isLightOrDark.ts.html | 124 - .../src/utils/color/lighten.ts.html | 220 - .../lcov-report/src/utils/color/mix.ts.html | 109 - .../src/utils/color/transparentize.ts.html | 103 - .../src/utils/compareLastSyncedState.ts.html | 178 - .../lcov-report/src/utils/convert.ts.html | 175 - .../utils/convertModifiedColorToHex.ts.html | 127 - .../utils/convertToDefaultProperty.ts.html | 247 - .../src/utils/convertToOrderObj.ts.html | 103 - .../src/utils/convertTokenNameToPath.ts.html | 124 - .../src/utils/convertTokenToFormat.ts.html | 157 - .../convertTokenTypeToVariableType.ts.html | 151 - .../src/utils/convertTokens.tsx.html | 634 - .../convertTokensObjectToResolved.ts.html | 199 - .../convertTokensToGroupedObject.ts.html | 244 - .../src/utils/convertTokensToObject.ts.html | 232 - .../convertVariableTypeToProperty.ts.html | 139 - .../lcov-report/src/utils/credentials.ts.html | 271 - .../src/utils/date/compareUpdatedAt.ts.html | 118 - .../lcov-report/src/utils/date/index.html | 131 - .../lcov-report/src/utils/date/index.ts.html | 88 - .../src/utils/detectFormat.tsx.html | 121 - .../ensureFolderIsTogether.ts.html | 148 - ...OrderableTargetIndexesInThemeList.tsx.html | 154 - .../src/utils/dragDropOrder/index.html | 146 - .../src/utils/dragDropOrder/index.ts.html | 91 - .../src/utils/error/handleReactError.ts.html | 103 - .../lcov-report/src/utils/error/index.html | 116 - .../lcov-report/src/utils/expand.ts.html | 175 - .../src/utils/fetchFeatureFlags.ts.html | 202 - .../src/utils/figma/goToNodeId.ts.html | 112 - .../lcov-report/src/utils/figma/index.html | 161 - .../lcov-report/src/utils/figma/index.ts.html | 94 - .../src/utils/figma/selectNodes.ts.html | 112 - .../utils/figma/updateLocalTokensData.ts.html | 265 - .../src/utils/figmaStorage/index.html | 131 - .../figmaStorage/readSharedPluginData.ts.html | 322 - .../writeSharedPluginData.ts.html | 496 - .../filterValidCompositionTokenTypes.ts.html | 100 - .../lcov-report/src/utils/findAll.ts.html | 154 - .../src/utils/findBoundVariable.ts.html | 142 - .../src/utils/findDifferentState.ts.html | 349 - .../src/utils/findReferences.tsx.html | 295 - .../lcov-report/src/utils/formatCount.ts.html | 145 - .../src/utils/formatNumber.ts.html | 103 - .../src/utils/formatTokens.ts.html | 319 - .../lcov-report/src/utils/fuzzySearch.ts.html | 157 - .../lcov-report/src/utils/generateId.ts.html | 109 - .../src/utils/getActiveTheme.ts.html | 112 - .../src/utils/getEffectStylesIdMap.ts.html | 103 - .../src/utils/getEffectStylesKeyMap.ts.html | 115 - .../src/utils/getLabelForProperty.tsx.html | 259 - .../src/utils/getLastOpened.ts.html | 133 - .../src/utils/getLicenseKey.ts.html | 157 - .../src/utils/getOnboardingExplainer.ts.html | 196 - .../src/utils/getPaintStylesIdMap.ts.html | 103 - .../src/utils/getPaintStylesKeyMap.ts.html | 115 - .../lcov-report/src/utils/getPathName.ts.html | 103 - .../src/utils/getProviderIcon.tsx.html | 196 - .../src/utils/getResolvedTextValue.ts.html | 175 - .../src/utils/getTextStylesIdMap.ts.html | 103 - .../src/utils/getTextStylesKeyMap.ts.html | 115 - .../src/utils/getTokenSetsOrder.ts.html | 163 - .../src/utils/getTokenTypeKey.ts.html | 103 - .../src/utils/getTokenValueKey.ts.html | 103 - .../src/utils/getUTF16StringSize.ts.html | 94 - .../src/utils/getUsedTokenSet.ts.html | 169 - .../src/utils/getValueWithReferences.ts.html | 301 - .../src/utils/getVariablesMap.ts.html | 109 - .../src/utils/hasTokenValues.ts.html | 100 - .../lcov-report/src/utils/hasTokens.ts.html | 100 - .../lcov-report/src/utils/index.html | 1691 - .../lcov-report/src/utils/is/index.html | 416 - .../lcov-report/src/utils/is/index.ts.html | 124 - .../src/utils/is/isColorToken.ts.html | 106 - .../utils/is/isCompositeBorderValue.ts.html | 148 - .../src/utils/is/isDocumentationType.ts.html | 100 - .../src/utils/is/isGitProvider.ts.html | 139 - .../src/utils/is/isMatchingStyle.ts.html | 112 - .../src/utils/is/isPartOfInstance.ts.html | 94 - .../src/utils/is/isPrimitiveValue.ts.html | 106 - .../src/utils/is/isPropertyType.ts.html | 100 - .../src/utils/is/isSingleBorderToken.ts.html | 175 - .../utils/is/isSingleBoxShadowToken.ts.html | 181 - .../utils/is/isSingleBoxShadowValue.ts.html | 154 - .../utils/is/isSingleCompositionToken.ts.html | 175 - .../isSingleInternalTokenValueObject.ts.html | 127 - .../src/utils/is/isSingleToken.ts.html | 115 - .../src/utils/is/isSingleTokenInJson.ts.html | 130 - .../utils/is/isSingleTokenValueObject.ts.html | 136 - .../utils/is/isSingleTypographyToken.ts.html | 175 - .../utils/is/isSingleTypographyValue.ts.html | 169 - .../src/utils/is/isTokenGroupWithType.ts.html | 160 - .../src/utils/is/isTokenType.ts.html | 100 - .../src/utils/isAliasReference.ts.html | 94 - .../src/utils/isAutoLayout.tsx.html | 88 - .../src/utils/isColorEqual.ts.html | 130 - .../src/utils/isEffectEqual.ts.html | 175 - .../lcov-report/src/utils/isEqual.ts.html | 379 - .../src/utils/isJSONString.ts.html | 109 - .../src/utils/isPaintEqual.ts.html | 238 - .../src/utils/isSameCredentials.ts.html | 226 - .../lcov-report/src/utils/lastIndexOf.ts.html | 109 - .../src/utils/ldUserFactory.ts.html | 127 - .../src/utils/mapThemeToVariableInfo.ts.html | 124 - .../src/utils/mapTokensToVariableInfo.ts.html | 127 - .../src/utils/matchStyleName.ts.html | 130 - .../src/utils/matchVariableName.ts.html | 112 - .../utils/math/checkAndEvaluateMath.ts.html | 346 - .../lcov-report/src/utils/math/index.html | 131 - .../lcov-report/src/utils/math/index.ts.html | 88 - .../lcov-report/src/utils/migrate.ts.html | 115 - .../lcov-report/src/utils/mixpanel.tsx.html | 94 - .../lcov-report/src/utils/modifyColor.ts.html | 193 - .../src/utils/motion/checkReorder.ts.html | 223 - .../lcov-report/src/utils/motion/index.html | 146 - .../src/utils/motion/index.ts.html | 91 - .../src/utils/motion/moveItem.ts.html | 124 - .../src/utils/normalizeVariableName.ts.html | 100 - .../lcov-report/src/utils/parseJson.ts.html | 100 - .../src/utils/parseTokenValues.ts.html | 199 - .../lcov-report/src/utils/plugin/index.html | 146 - .../src/utils/plugin/index.ts.html | 91 - .../lcov-report/src/utils/plugin/init.ts.html | 163 - .../src/utils/plugin/startup.ts.html | 283 - .../utils/removeIdPropertyFromTokens.ts.html | 124 - .../src/utils/removeLicense.ts.html | 166 - .../src/utils/removeTokenId.ts.html | 142 - .../src/utils/reorderItemInSet.ts.html | 94 - .../lcov-report/src/utils/setTokenKey.ts.html | 175 - .../sortSelectionValueByProperties.ts.html | 112 - .../lcov-report/src/utils/sortSets.ts.html | 142 - .../src/utils/splitIntoChunks.ts.html | 187 - .../lcov-report/src/utils/storyblok.ts.html | 211 - .../lcov-report/src/utils/string/index.html | 146 - .../src/utils/string/index.ts.html | 91 - .../src/utils/string/joinPath.ts.html | 106 - .../src/utils/string/slugify.ts.html | 118 - .../src/utils/string/ui/decodeBase64.ts.html | 115 - .../src/utils/string/ui/index.html | 131 - .../src/utils/string/ui/index.ts.html | 88 - .../src/utils/stringifyTokens.ts.html | 247 - .../src/utils/themeListToTree.ts.html | 280 - .../src/utils/tokenArrayGroupToMap.ts.html | 103 - .../src/utils/tokenHelpers.ts.html | 361 - .../utils/tokenset/applyTokenSetOrder.ts.html | 139 - ...leTargetIndexesInTokenSetTreeList.tsx.html | 142 - .../findParentIndexToInsertSet.ts.html | 145 - .../lcov-report/src/utils/tokenset/index.html | 221 - .../src/utils/tokenset/index.ts.html | 103 - .../tokenset/mapTokensToStyleInfo.ts.html | 172 - .../utils/tokenset/tokenSetListToList.ts.html | 127 - .../utils/tokenset/tokenSetListToTree.ts.html | 277 - .../tokenset/updateTokenSetsInState.ts.html | 418 - .../lcov-report/src/utils/transform.ts.html | 118 - .../src/utils/transformProviderName.tsx.html | 157 - .../lcov-report/src/utils/trimValue.ts.html | 139 - .../src/utils/tryApplyColorVariableId.ts.html | 223 - .../utils/tryApplyEffectVariableId.ts.html | 133 - .../src/utils/tryApplyVariableId.ts.html | 184 - .../src/utils/tryParseJson.ts.html | 109 - .../src/utils/trySetStyleId.ts.html | 247 - .../lcov-report/src/utils/types.d.ts.html | 112 - .../lcov-report/src/utils/uiSettings.ts.html | 535 - .../updateTokenPayloadToSingleToken.ts.html | 163 - .../src/utils/validateGroupName.ts.html | 526 - .../src/utils/validateLicense.ts.html | 178 - .../validateStudioTokensExtensions.ts.html | 148 - .../src/utils/waitForMessage.ts.html | 145 - .../lcov-report/src/wdyr.ts.html | 118 - packages/tokens-studio-for-figma/lcov.info | 37871 ---------------- 1183 files changed, 333963 deletions(-) delete mode 100644 packages/tokens-studio-for-figma/clover.xml delete mode 100644 packages/tokens-studio-for-figma/coverage-final.json delete mode 100644 packages/tokens-studio-for-figma/lcov-report/base.css delete mode 100644 packages/tokens-studio-for-figma/lcov-report/block-navigation.js delete mode 100644 packages/tokens-studio-for-figma/lcov-report/favicon.png delete mode 100644 packages/tokens-studio-for-figma/lcov-report/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/prettify.css delete mode 100644 packages/tokens-studio-for-figma/lcov-report/prettify.js delete mode 100644 packages/tokens-studio-for-figma/lcov-report/sort-arrow-sprite.png delete mode 100644 packages/tokens-studio-for-figma/lcov-report/sorter.js delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/icons/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/motion/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/stories/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html delete mode 100644 packages/tokens-studio-for-figma/lcov.info diff --git a/packages/tokens-studio-for-figma/clover.xml b/packages/tokens-studio-for-figma/clover.xml deleted file mode 100644 index a4b0a86a7..000000000 --- a/packages/tokens-studio-for-figma/clover.xml +++ /dev/null @@ -1,16446 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/tokens-studio-for-figma/coverage-final.json b/packages/tokens-studio-for-figma/coverage-final.json deleted file mode 100644 index e6c022292..000000000 --- a/packages/tokens-studio-for-figma/coverage-final.json +++ /dev/null @@ -1,1060 +0,0 @@ -{"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannel.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannel.ts","statementMap":{"0":{"start":{"line":32,"column":54},"end":{"line":32,"column":83}},"1":{"start":{"line":34,"column":53},"end":{"line":34,"column":83}},"2":{"start":{"line":36,"column":62},"end":{"line":36,"column":64}},"3":{"start":{"line":38,"column":31},"end":{"line":38,"column":36}},"4":{"start":{"line":41,"column":4},"end":{"line":41,"column":43}},"5":{"start":{"line":45,"column":4},"end":{"line":54,"column":5}},"6":{"start":{"line":46,"column":23},"end":{"line":51,"column":7}},"7":{"start":{"line":47,"column":32},"end":{"line":47,"column":45}},"8":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"9":{"start":{"line":49,"column":10},"end":{"line":49,"column":44}},"10":{"start":{"line":52,"column":6},"end":{"line":52,"column":39}},"11":{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},"12":{"start":{"line":53,"column":19},"end":{"line":53,"column":52}},"13":{"start":{"line":56,"column":21},"end":{"line":61,"column":5}},"14":{"start":{"line":57,"column":30},"end":{"line":57,"column":64}},"15":{"start":{"line":58,"column":6},"end":{"line":60,"column":7}},"16":{"start":{"line":59,"column":8},"end":{"line":59,"column":56}},"17":{"start":{"line":62,"column":4},"end":{"line":62,"column":49}},"18":{"start":{"line":63,"column":4},"end":{"line":63,"column":65}},"19":{"start":{"line":63,"column":17},"end":{"line":63,"column":64}},"20":{"start":{"line":67,"column":4},"end":{"line":108,"column":7}},"21":{"start":{"line":69,"column":6},"end":{"line":73,"column":7}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":15}},"23":{"start":{"line":74,"column":22},"end":{"line":74,"column":116}},"24":{"start":{"line":75,"column":6},"end":{"line":107,"column":7}},"25":{"start":{"line":76,"column":8},"end":{"line":106,"column":9}},"26":{"start":{"line":79,"column":25},"end":{"line":79,"column":60}},"27":{"start":{"line":80,"column":26},"end":{"line":82,"column":40}},"28":{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},"29":{"start":{"line":85,"column":12},"end":{"line":88,"column":15}},"30":{"start":{"line":90,"column":12},"end":{"line":92,"column":20}},"31":{"start":{"line":95,"column":10},"end":{"line":95,"column":29}},"32":{"start":{"line":96,"column":10},"end":{"line":105,"column":11}},"33":{"start":{"line":97,"column":12},"end":{"line":100,"column":15}},"34":{"start":{"line":102,"column":12},"end":{"line":104,"column":20}},"35":{"start":{"line":115,"column":4},"end":{"line":115,"column":30}},"36":{"start":{"line":119,"column":22},"end":{"line":122,"column":6}},"37":{"start":{"line":123,"column":20},"end":{"line":135,"column":6}},"38":{"start":{"line":124,"column":6},"end":{"line":134,"column":9}},"39":{"start":{"line":125,"column":8},"end":{"line":132,"column":9}},"40":{"start":{"line":126,"column":10},"end":{"line":130,"column":11}},"41":{"start":{"line":127,"column":12},"end":{"line":127,"column":33}},"42":{"start":{"line":129,"column":12},"end":{"line":129,"column":30}},"43":{"start":{"line":131,"column":10},"end":{"line":131,"column":23}},"44":{"start":{"line":133,"column":8},"end":{"line":133,"column":25}},"45":{"start":{"line":136,"column":4},"end":{"line":143,"column":5}},"46":{"start":{"line":137,"column":6},"end":{"line":137,"column":55}},"47":{"start":{"line":139,"column":6},"end":{"line":142,"column":8}},"48":{"start":{"line":144,"column":4},"end":{"line":144,"column":19}},"49":{"start":{"line":148,"column":36},"end":{"line":148,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":40,"column":2},"end":{"line":40,"column":3}},"loc":{"start":{"line":40,"column":39},"end":{"line":42,"column":3}},"line":40},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":44,"column":106},"end":{"line":64,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":23},"end":{"line":46,"column":24}},"loc":{"start":{"line":46,"column":47},"end":{"line":51,"column":7}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":13},"end":{"line":53,"column":14}},"loc":{"start":{"line":53,"column":19},"end":{"line":53,"column":52}},"line":53},"4":{"name":"(anonymous_4)","decl":{"start":{"line":56,"column":21},"end":{"line":56,"column":22}},"loc":{"start":{"line":56,"column":76},"end":{"line":61,"column":5}},"line":56},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":11},"end":{"line":63,"column":12}},"loc":{"start":{"line":63,"column":17},"end":{"line":63,"column":64}},"line":63},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":2},"end":{"line":66,"column":3}},"loc":{"start":{"line":66,"column":19},"end":{"line":109,"column":3}},"line":66},"7":{"name":"(anonymous_7)","decl":{"start":{"line":67,"column":38},"end":{"line":67,"column":39}},"loc":{"start":{"line":67,"column":95},"end":{"line":108,"column":5}},"line":67},"8":{"name":"(anonymous_8)","decl":{"start":{"line":111,"column":2},"end":{"line":111,"column":3}},"loc":{"start":{"line":114,"column":4},"end":{"line":116,"column":3}},"line":114},"9":{"name":"(anonymous_9)","decl":{"start":{"line":118,"column":2},"end":{"line":118,"column":3}},"loc":{"start":{"line":118,"column":72},"end":{"line":145,"column":3}},"line":118},"10":{"name":"(anonymous_10)","decl":{"start":{"line":123,"column":81},"end":{"line":123,"column":82}},"loc":{"start":{"line":123,"column":102},"end":{"line":135,"column":5}},"line":123},"11":{"name":"(anonymous_11)","decl":{"start":{"line":124,"column":33},"end":{"line":124,"column":34}},"loc":{"start":{"line":124,"column":138},"end":{"line":134,"column":7}},"line":124}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":54,"column":5}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{},"end":{}}],"line":48},"2":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":93}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":37}},{"start":{"line":48,"column":42},"end":{"line":48,"column":57}},{"start":{"line":48,"column":61},"end":{"line":48,"column":92}}],"line":48},"3":{"loc":{"start":{"line":58,"column":6},"end":{"line":60,"column":7}},"type":"if","locations":[{"start":{"line":58,"column":6},"end":{"line":60,"column":7}},{"start":{},"end":{}}],"line":58},"4":{"loc":{"start":{"line":58,"column":10},"end":{"line":58,"column":91}},"type":"binary-expr","locations":[{"start":{"line":58,"column":10},"end":{"line":58,"column":35}},{"start":{"line":58,"column":40},"end":{"line":58,"column":55}},{"start":{"line":58,"column":59},"end":{"line":58,"column":90}}],"line":58},"5":{"loc":{"start":{"line":69,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":69},"6":{"loc":{"start":{"line":69,"column":10},"end":{"line":69,"column":83}},"type":"binary-expr","locations":[{"start":{"line":69,"column":10},"end":{"line":69,"column":14}},{"start":{"line":69,"column":18},"end":{"line":69,"column":25}},{"start":{"line":69,"column":29},"end":{"line":69,"column":41}},{"start":{"line":69,"column":45},"end":{"line":69,"column":83}}],"line":69},"7":{"loc":{"start":{"line":75,"column":6},"end":{"line":107,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":107,"column":7}},{"start":{},"end":{}}],"line":75},"8":{"loc":{"start":{"line":80,"column":26},"end":{"line":82,"column":40}},"type":"cond-expr","locations":[{"start":{"line":81,"column":14},"end":{"line":81,"column":51}},{"start":{"line":82,"column":14},"end":{"line":82,"column":40}}],"line":80},"9":{"loc":{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},"type":"if","locations":[{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},{"start":{"line":89,"column":17},"end":{"line":93,"column":11}}],"line":84},"10":{"loc":{"start":{"line":96,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":96,"column":10},"end":{"line":105,"column":11}},{"start":{"line":101,"column":17},"end":{"line":105,"column":11}}],"line":96},"11":{"loc":{"start":{"line":125,"column":8},"end":{"line":132,"column":9}},"type":"if","locations":[{"start":{"line":125,"column":8},"end":{"line":132,"column":9}},{"start":{},"end":{}}],"line":125},"12":{"loc":{"start":{"line":126,"column":10},"end":{"line":130,"column":11}},"type":"if","locations":[{"start":{"line":126,"column":10},"end":{"line":130,"column":11}},{"start":{"line":128,"column":17},"end":{"line":130,"column":11}}],"line":126},"13":{"loc":{"start":{"line":136,"column":4},"end":{"line":143,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":143,"column":5}},{"start":{"line":138,"column":11},"end":{"line":143,"column":5}}],"line":136},"14":{"loc":{"start":{"line":148,"column":36},"end":{"line":148,"column":111}},"type":"cond-expr","locations":[{"start":{"line":148,"column":63},"end":{"line":148,"column":82}},{"start":{"line":148,"column":85},"end":{"line":148,"column":111}}],"line":148}},"s":{"0":1,"1":1,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[1,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4d1c6362cfa59638072325195f7ac559cb027d95"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannelPreview.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/AsyncMessageChannelPreview.ts","statementMap":{"0":{"start":{"line":33,"column":36},"end":{"line":33,"column":60}},"1":{"start":{"line":35,"column":22},"end":{"line":44,"column":1}},"2":{"start":{"line":36,"column":18},"end":{"line":36,"column":37}},"3":{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},"4":{"start":{"line":38,"column":4},"end":{"line":38,"column":21}},"5":{"start":{"line":40,"column":4},"end":{"line":42,"column":13}},"6":{"start":{"line":41,"column":6},"end":{"line":41,"column":29}},"7":{"start":{"line":46,"column":32},"end":{"line":48,"column":1}},"8":{"start":{"line":47,"column":2},"end":{"line":47,"column":45}},"9":{"start":{"line":50,"column":24},"end":{"line":52,"column":1}},"10":{"start":{"line":51,"column":2},"end":{"line":51,"column":38}},"11":{"start":{"line":54,"column":21},"end":{"line":66,"column":1}},"12":{"start":{"line":55,"column":2},"end":{"line":64,"column":3}},"13":{"start":{"line":56,"column":16},"end":{"line":56,"column":38}},"14":{"start":{"line":57,"column":4},"end":{"line":60,"column":5}},"15":{"start":{"line":58,"column":19},"end":{"line":58,"column":42}},"16":{"start":{"line":59,"column":6},"end":{"line":59,"column":18}},"17":{"start":{"line":62,"column":4},"end":{"line":62,"column":45}},"18":{"start":{"line":63,"column":4},"end":{"line":63,"column":16}},"19":{"start":{"line":65,"column":2},"end":{"line":65,"column":14}},"20":{"start":{"line":86,"column":61},"end":{"line":86,"column":97}},"21":{"start":{"line":88,"column":60},"end":{"line":88,"column":97}},"22":{"start":{"line":90,"column":62},"end":{"line":90,"column":64}},"23":{"start":{"line":92,"column":31},"end":{"line":92,"column":36}},"24":{"start":{"line":94,"column":46},"end":{"line":94,"column":50}},"25":{"start":{"line":96,"column":33},"end":{"line":96,"column":38}},"26":{"start":{"line":98,"column":35},"end":{"line":98,"column":39}},"27":{"start":{"line":100,"column":34},"end":{"line":100,"column":39}},"28":{"start":{"line":103,"column":4},"end":{"line":103,"column":43}},"29":{"start":{"line":104,"column":4},"end":{"line":110,"column":5}},"30":{"start":{"line":105,"column":6},"end":{"line":105,"column":44}},"31":{"start":{"line":106,"column":11},"end":{"line":110,"column":5}},"32":{"start":{"line":107,"column":6},"end":{"line":107,"column":45}},"33":{"start":{"line":109,"column":6},"end":{"line":109,"column":40}},"34":{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},"35":{"start":{"line":113,"column":6},"end":{"line":113,"column":28}},"36":{"start":{"line":117,"column":33},"end":{"line":119,"column":3}},"37":{"start":{"line":118,"column":4},"end":{"line":118,"column":65}},"38":{"start":{"line":121,"column":35},"end":{"line":123,"column":3}},"39":{"start":{"line":122,"column":4},"end":{"line":122,"column":70}},"40":{"start":{"line":126,"column":4},"end":{"line":126,"column":19}},"41":{"start":{"line":129,"column":90},"end":{"line":129,"column":95}},"42":{"start":{"line":130,"column":21},"end":{"line":135,"column":5}},"43":{"start":{"line":131,"column":30},"end":{"line":131,"column":55}},"44":{"start":{"line":132,"column":6},"end":{"line":134,"column":7}},"45":{"start":{"line":133,"column":8},"end":{"line":133,"column":49}},"46":{"start":{"line":137,"column":4},"end":{"line":137,"column":20}},"47":{"start":{"line":141,"column":4},"end":{"line":171,"column":5}},"48":{"start":{"line":143,"column":25},"end":{"line":143,"column":69}},"49":{"start":{"line":144,"column":8},"end":{"line":144,"column":41}},"50":{"start":{"line":145,"column":8},"end":{"line":145,"column":55}},"51":{"start":{"line":145,"column":21},"end":{"line":145,"column":54}},"52":{"start":{"line":149,"column":27},"end":{"line":151,"column":16}},"53":{"start":{"line":152,"column":25},"end":{"line":156,"column":9}},"54":{"start":{"line":155,"column":59},"end":{"line":155,"column":83}},"55":{"start":{"line":157,"column":8},"end":{"line":157,"column":53}},"56":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"57":{"start":{"line":159,"column":10},"end":{"line":159,"column":59}},"58":{"start":{"line":161,"column":8},"end":{"line":166,"column":10}},"59":{"start":{"line":162,"column":10},"end":{"line":162,"column":58}},"60":{"start":{"line":163,"column":10},"end":{"line":165,"column":11}},"61":{"start":{"line":164,"column":12},"end":{"line":164,"column":64}},"62":{"start":{"line":169,"column":8},"end":{"line":169,"column":20}},"63":{"start":{"line":175,"column":4},"end":{"line":188,"column":5}},"64":{"start":{"line":176,"column":6},"end":{"line":176,"column":52}},"65":{"start":{"line":177,"column":19},"end":{"line":177,"column":23}},"66":{"start":{"line":178,"column":6},"end":{"line":180,"column":9}},"67":{"start":{"line":179,"column":8},"end":{"line":179,"column":34}},"68":{"start":{"line":181,"column":6},"end":{"line":187,"column":9}},"69":{"start":{"line":182,"column":8},"end":{"line":182,"column":35}},"70":{"start":{"line":183,"column":8},"end":{"line":186,"column":17}},"71":{"start":{"line":184,"column":10},"end":{"line":184,"column":25}},"72":{"start":{"line":185,"column":10},"end":{"line":185,"column":42}},"73":{"start":{"line":190,"column":4},"end":{"line":194,"column":6}},"74":{"start":{"line":191,"column":6},"end":{"line":193,"column":7}},"75":{"start":{"line":192,"column":8},"end":{"line":192,"column":24}},"76":{"start":{"line":197,"column":27},"end":{"line":249,"column":3}},"77":{"start":{"line":199,"column":4},"end":{"line":210,"column":5}},"78":{"start":{"line":201,"column":6},"end":{"line":208,"column":7}},"79":{"start":{"line":202,"column":8},"end":{"line":206,"column":9}},"80":{"start":{"line":203,"column":10},"end":{"line":203,"column":74}},"81":{"start":{"line":205,"column":10},"end":{"line":205,"column":39}},"82":{"start":{"line":207,"column":8},"end":{"line":207,"column":15}},"83":{"start":{"line":209,"column":6},"end":{"line":209,"column":13}},"84":{"start":{"line":211,"column":20},"end":{"line":211,"column":114}},"85":{"start":{"line":212,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":213,"column":6},"end":{"line":217,"column":7}},"87":{"start":{"line":214,"column":8},"end":{"line":214,"column":72}},"88":{"start":{"line":216,"column":8},"end":{"line":216,"column":37}},"89":{"start":{"line":218,"column":6},"end":{"line":218,"column":13}},"90":{"start":{"line":220,"column":4},"end":{"line":248,"column":5}},"91":{"start":{"line":221,"column":6},"end":{"line":247,"column":7}},"92":{"start":{"line":224,"column":23},"end":{"line":224,"column":58}},"93":{"start":{"line":225,"column":24},"end":{"line":225,"column":99}},"94":{"start":{"line":227,"column":8},"end":{"line":236,"column":9}},"95":{"start":{"line":228,"column":10},"end":{"line":231,"column":13}},"96":{"start":{"line":232,"column":15},"end":{"line":236,"column":9}},"97":{"start":{"line":233,"column":10},"end":{"line":233,"column":103}},"98":{"start":{"line":235,"column":10},"end":{"line":235,"column":68}},"99":{"start":{"line":238,"column":8},"end":{"line":238,"column":27}},"100":{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},"101":{"start":{"line":240,"column":10},"end":{"line":243,"column":13}},"102":{"start":{"line":245,"column":10},"end":{"line":245,"column":62}},"103":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"104":{"start":{"line":253,"column":6},"end":{"line":253,"column":38}},"105":{"start":{"line":256,"column":4},"end":{"line":256,"column":59}},"106":{"start":{"line":260,"column":4},"end":{"line":260,"column":30}},"107":{"start":{"line":264,"column":22},"end":{"line":267,"column":6}},"108":{"start":{"line":268,"column":20},"end":{"line":282,"column":6}},"109":{"start":{"line":269,"column":6},"end":{"line":281,"column":8}},"110":{"start":{"line":271,"column":10},"end":{"line":278,"column":11}},"111":{"start":{"line":272,"column":12},"end":{"line":276,"column":13}},"112":{"start":{"line":273,"column":14},"end":{"line":273,"column":35}},"113":{"start":{"line":275,"column":14},"end":{"line":275,"column":32}},"114":{"start":{"line":277,"column":12},"end":{"line":277,"column":25}},"115":{"start":{"line":279,"column":10},"end":{"line":279,"column":27}},"116":{"start":{"line":283,"column":4},"end":{"line":303,"column":5}},"117":{"start":{"line":285,"column":8},"end":{"line":285,"column":81}},"118":{"start":{"line":286,"column":8},"end":{"line":286,"column":14}},"119":{"start":{"line":289,"column":8},"end":{"line":293,"column":9}},"120":{"start":{"line":290,"column":10},"end":{"line":290,"column":64}},"121":{"start":{"line":292,"column":10},"end":{"line":292,"column":62}},"122":{"start":{"line":294,"column":8},"end":{"line":294,"column":14}},"123":{"start":{"line":297,"column":8},"end":{"line":297,"column":64}},"124":{"start":{"line":298,"column":8},"end":{"line":298,"column":14}},"125":{"start":{"line":301,"column":8},"end":{"line":301,"column":14}},"126":{"start":{"line":304,"column":4},"end":{"line":304,"column":19}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":35,"column":22},"end":{"line":35,"column":23}},"loc":{"start":{"line":35,"column":53},"end":{"line":44,"column":1}},"line":35},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":15},"end":{"line":40,"column":16}},"loc":{"start":{"line":40,"column":21},"end":{"line":42,"column":5}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":32},"end":{"line":46,"column":33}},"loc":{"start":{"line":46,"column":51},"end":{"line":48,"column":1}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":24},"end":{"line":50,"column":25}},"loc":{"start":{"line":50,"column":43},"end":{"line":52,"column":1}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":21},"end":{"line":54,"column":22}},"loc":{"start":{"line":54,"column":32},"end":{"line":66,"column":1}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":102,"column":2},"end":{"line":102,"column":3}},"loc":{"start":{"line":102,"column":39},"end":{"line":115,"column":3}},"line":102},"6":{"name":"(anonymous_6)","decl":{"start":{"line":117,"column":33},"end":{"line":117,"column":34}},"loc":{"start":{"line":117,"column":42},"end":{"line":119,"column":3}},"line":117},"7":{"name":"(anonymous_7)","decl":{"start":{"line":121,"column":35},"end":{"line":121,"column":36}},"loc":{"start":{"line":121,"column":44},"end":{"line":123,"column":3}},"line":121},"8":{"name":"(anonymous_8)","decl":{"start":{"line":125,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":125,"column":17},"end":{"line":127,"column":3}},"line":125},"9":{"name":"(anonymous_9)","decl":{"start":{"line":129,"column":2},"end":{"line":129,"column":3}},"loc":{"start":{"line":129,"column":97},"end":{"line":138,"column":3}},"line":129},"10":{"name":"(anonymous_10)","decl":{"start":{"line":129,"column":79},"end":{"line":129,"column":80}},"loc":{"start":{"line":129,"column":90},"end":{"line":129,"column":95}},"line":129},"11":{"name":"(anonymous_11)","decl":{"start":{"line":130,"column":21},"end":{"line":130,"column":22}},"loc":{"start":{"line":130,"column":45},"end":{"line":135,"column":5}},"line":130},"12":{"name":"(anonymous_12)","decl":{"start":{"line":140,"column":2},"end":{"line":140,"column":3}},"loc":{"start":{"line":140,"column":106},"end":{"line":172,"column":3}},"line":140},"13":{"name":"(anonymous_13)","decl":{"start":{"line":145,"column":15},"end":{"line":145,"column":16}},"loc":{"start":{"line":145,"column":21},"end":{"line":145,"column":54}},"line":145},"14":{"name":"(anonymous_14)","decl":{"start":{"line":155,"column":10},"end":{"line":155,"column":11}},"loc":{"start":{"line":155,"column":59},"end":{"line":155,"column":83}},"line":155},"15":{"name":"(anonymous_15)","decl":{"start":{"line":161,"column":15},"end":{"line":161,"column":16}},"loc":{"start":{"line":161,"column":21},"end":{"line":166,"column":9}},"line":161},"16":{"name":"(anonymous_16)","decl":{"start":{"line":174,"column":2},"end":{"line":174,"column":3}},"loc":{"start":{"line":174,"column":37},"end":{"line":195,"column":3}},"line":174},"17":{"name":"(anonymous_17)","decl":{"start":{"line":178,"column":39},"end":{"line":178,"column":40}},"loc":{"start":{"line":178,"column":45},"end":{"line":180,"column":7}},"line":178},"18":{"name":"(anonymous_18)","decl":{"start":{"line":181,"column":40},"end":{"line":181,"column":41}},"loc":{"start":{"line":181,"column":46},"end":{"line":187,"column":7}},"line":181},"19":{"name":"(anonymous_19)","decl":{"start":{"line":183,"column":19},"end":{"line":183,"column":20}},"loc":{"start":{"line":183,"column":25},"end":{"line":186,"column":9}},"line":183},"20":{"name":"(anonymous_20)","decl":{"start":{"line":190,"column":11},"end":{"line":190,"column":12}},"loc":{"start":{"line":190,"column":17},"end":{"line":194,"column":5}},"line":190},"21":{"name":"(anonymous_21)","decl":{"start":{"line":197,"column":27},"end":{"line":197,"column":28}},"loc":{"start":{"line":197,"column":108},"end":{"line":249,"column":3}},"line":197},"22":{"name":"(anonymous_22)","decl":{"start":{"line":251,"column":2},"end":{"line":251,"column":3}},"loc":{"start":{"line":251,"column":19},"end":{"line":257,"column":3}},"line":251},"23":{"name":"(anonymous_23)","decl":{"start":{"line":259,"column":2},"end":{"line":259,"column":3}},"loc":{"start":{"line":259,"column":90},"end":{"line":261,"column":3}},"line":259},"24":{"name":"(anonymous_24)","decl":{"start":{"line":263,"column":2},"end":{"line":263,"column":3}},"loc":{"start":{"line":263,"column":72},"end":{"line":305,"column":3}},"line":263},"25":{"name":"(anonymous_25)","decl":{"start":{"line":268,"column":81},"end":{"line":268,"column":82}},"loc":{"start":{"line":268,"column":102},"end":{"line":282,"column":5}},"line":268},"26":{"name":"(anonymous_26)","decl":{"start":{"line":270,"column":8},"end":{"line":270,"column":9}},"loc":{"start":{"line":270,"column":113},"end":{"line":280,"column":9}},"line":270}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},{"start":{"line":39,"column":9},"end":{"line":43,"column":3}}],"line":37},"1":{"loc":{"start":{"line":37,"column":6},"end":{"line":37,"column":31}},"type":"binary-expr","locations":[{"start":{"line":37,"column":6},"end":{"line":37,"column":8}},{"start":{"line":37,"column":12},"end":{"line":37,"column":31}}],"line":37},"2":{"loc":{"start":{"line":57,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":57},"3":{"loc":{"start":{"line":104,"column":4},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":104,"column":4},"end":{"line":110,"column":5}},{"start":{"line":106,"column":11},"end":{"line":110,"column":5}}],"line":104},"4":{"loc":{"start":{"line":106,"column":11},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":11},"end":{"line":110,"column":5}},{"start":{"line":108,"column":11},"end":{"line":110,"column":5}}],"line":106},"5":{"loc":{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},{"start":{},"end":{}}],"line":112},"6":{"loc":{"start":{"line":129,"column":66},"end":{"line":129,"column":95}},"type":"default-arg","locations":[{"start":{"line":129,"column":79},"end":{"line":129,"column":95}}],"line":129},"7":{"loc":{"start":{"line":132,"column":6},"end":{"line":134,"column":7}},"type":"if","locations":[{"start":{"line":132,"column":6},"end":{"line":134,"column":7}},{"start":{},"end":{}}],"line":132},"8":{"loc":{"start":{"line":132,"column":10},"end":{"line":132,"column":93}},"type":"binary-expr","locations":[{"start":{"line":132,"column":10},"end":{"line":132,"column":35}},{"start":{"line":132,"column":40},"end":{"line":132,"column":55}},{"start":{"line":132,"column":59},"end":{"line":132,"column":92}}],"line":132},"9":{"loc":{"start":{"line":141,"column":4},"end":{"line":171,"column":5}},"type":"switch","locations":[{"start":{"line":142,"column":6},"end":{"line":146,"column":7}},{"start":{"line":147,"column":6},"end":{"line":147,"column":31}},{"start":{"line":148,"column":6},"end":{"line":167,"column":7}},{"start":{"line":168,"column":6},"end":{"line":170,"column":7}}],"line":141},"10":{"loc":{"start":{"line":149,"column":27},"end":{"line":151,"column":16}},"type":"cond-expr","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":86}},{"start":{"line":151,"column":12},"end":{"line":151,"column":16}}],"line":149},"11":{"loc":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},{"start":{},"end":{}}],"line":158},"12":{"loc":{"start":{"line":163,"column":10},"end":{"line":165,"column":11}},"type":"if","locations":[{"start":{"line":163,"column":10},"end":{"line":165,"column":11}},{"start":{},"end":{}}],"line":163},"13":{"loc":{"start":{"line":175,"column":4},"end":{"line":188,"column":5}},"type":"if","locations":[{"start":{"line":175,"column":4},"end":{"line":188,"column":5}},{"start":{},"end":{}}],"line":175},"14":{"loc":{"start":{"line":191,"column":6},"end":{"line":193,"column":7}},"type":"if","locations":[{"start":{"line":191,"column":6},"end":{"line":193,"column":7}},{"start":{},"end":{}}],"line":191},"15":{"loc":{"start":{"line":199,"column":4},"end":{"line":210,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":210,"column":5}},{"start":{},"end":{}}],"line":199},"16":{"loc":{"start":{"line":199,"column":8},"end":{"line":199,"column":81}},"type":"binary-expr","locations":[{"start":{"line":199,"column":8},"end":{"line":199,"column":12}},{"start":{"line":199,"column":16},"end":{"line":199,"column":23}},{"start":{"line":199,"column":27},"end":{"line":199,"column":39}},{"start":{"line":199,"column":43},"end":{"line":199,"column":81}}],"line":199},"17":{"loc":{"start":{"line":201,"column":6},"end":{"line":208,"column":7}},"type":"if","locations":[{"start":{"line":201,"column":6},"end":{"line":208,"column":7}},{"start":{},"end":{}}],"line":201},"18":{"loc":{"start":{"line":201,"column":10},"end":{"line":201,"column":67}},"type":"binary-expr","locations":[{"start":{"line":201,"column":10},"end":{"line":201,"column":28}},{"start":{"line":201,"column":32},"end":{"line":201,"column":67}}],"line":201},"19":{"loc":{"start":{"line":202,"column":8},"end":{"line":206,"column":9}},"type":"if","locations":[{"start":{"line":202,"column":8},"end":{"line":206,"column":9}},{"start":{"line":204,"column":15},"end":{"line":206,"column":9}}],"line":202},"20":{"loc":{"start":{"line":212,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":212,"column":4},"end":{"line":219,"column":5}},{"start":{},"end":{}}],"line":212},"21":{"loc":{"start":{"line":212,"column":8},"end":{"line":212,"column":61}},"type":"binary-expr","locations":[{"start":{"line":212,"column":8},"end":{"line":212,"column":43}},{"start":{"line":212,"column":47},"end":{"line":212,"column":61}}],"line":212},"22":{"loc":{"start":{"line":213,"column":6},"end":{"line":217,"column":7}},"type":"if","locations":[{"start":{"line":213,"column":6},"end":{"line":217,"column":7}},{"start":{"line":215,"column":13},"end":{"line":217,"column":7}}],"line":213},"23":{"loc":{"start":{"line":220,"column":4},"end":{"line":248,"column":5}},"type":"if","locations":[{"start":{"line":220,"column":4},"end":{"line":248,"column":5}},{"start":{},"end":{}}],"line":220},"24":{"loc":{"start":{"line":225,"column":24},"end":{"line":225,"column":99}},"type":"cond-expr","locations":[{"start":{"line":225,"column":33},"end":{"line":225,"column":70}},{"start":{"line":225,"column":73},"end":{"line":225,"column":99}}],"line":225},"25":{"loc":{"start":{"line":227,"column":8},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":227,"column":8},"end":{"line":236,"column":9}},{"start":{"line":232,"column":15},"end":{"line":236,"column":9}}],"line":227},"26":{"loc":{"start":{"line":232,"column":15},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":232,"column":15},"end":{"line":236,"column":9}},{"start":{"line":234,"column":15},"end":{"line":236,"column":9}}],"line":232},"27":{"loc":{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},{"start":{"line":244,"column":15},"end":{"line":246,"column":9}}],"line":239},"28":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{},"end":{}}],"line":252},"29":{"loc":{"start":{"line":252,"column":8},"end":{"line":252,"column":65}},"type":"binary-expr","locations":[{"start":{"line":252,"column":8},"end":{"line":252,"column":47}},{"start":{"line":252,"column":51},"end":{"line":252,"column":65}}],"line":252},"30":{"loc":{"start":{"line":271,"column":10},"end":{"line":278,"column":11}},"type":"if","locations":[{"start":{"line":271,"column":10},"end":{"line":278,"column":11}},{"start":{},"end":{}}],"line":271},"31":{"loc":{"start":{"line":272,"column":12},"end":{"line":276,"column":13}},"type":"if","locations":[{"start":{"line":272,"column":12},"end":{"line":276,"column":13}},{"start":{"line":274,"column":19},"end":{"line":276,"column":13}}],"line":272},"32":{"loc":{"start":{"line":283,"column":4},"end":{"line":303,"column":5}},"type":"switch","locations":[{"start":{"line":284,"column":6},"end":{"line":287,"column":7}},{"start":{"line":288,"column":6},"end":{"line":295,"column":7}},{"start":{"line":296,"column":6},"end":{"line":299,"column":7}},{"start":{"line":300,"column":6},"end":{"line":302,"column":7}}],"line":283},"33":{"loc":{"start":{"line":289,"column":8},"end":{"line":293,"column":9}},"type":"if","locations":[{"start":{"line":289,"column":8},"end":{"line":293,"column":9}},{"start":{"line":291,"column":15},"end":{"line":293,"column":9}}],"line":289}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":0,"9":1,"10":0,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":1,"21":1,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2,"30":1,"31":1,"32":0,"33":1,"34":2,"35":0,"36":2,"37":0,"38":2,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":2,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[1,1],"4":[0,1],"5":[0,2],"6":[0],"7":[0,0],"8":[0,0,0],"9":[0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0],"33":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c99e9b7ef7969fc2ae1243e5f4d6c8871bf86f20"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stitches.config.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stitches.config.ts","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":42,"column":2}},"1":{"start":{"line":46,"column":4},"end":{"line":46,"column":20}},"2":{"start":{"line":48,"column":23},"end":{"line":57,"column":2}},"3":{"start":{"line":59,"column":22},"end":{"line":68,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/supabase.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/supabase.ts","statementMap":{"0":{"start":{"line":10,"column":16},"end":{"line":10,"column":26}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":28}},"2":{"start":{"line":38,"column":4},"end":{"line":38,"column":25}},"3":{"start":{"line":39,"column":4},"end":{"line":39,"column":25}},"4":{"start":{"line":40,"column":4},"end":{"line":40,"column":45}},"5":{"start":{"line":41,"column":4},"end":{"line":41,"column":89}},"6":{"start":{"line":45,"column":47},"end":{"line":45,"column":49}},"7":{"start":{"line":46,"column":23},"end":{"line":46,"column":74}},"8":{"start":{"line":47,"column":4},"end":{"line":47,"column":57}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":51}},"10":{"start":{"line":49,"column":4},"end":{"line":49,"column":49}},"11":{"start":{"line":50,"column":4},"end":{"line":50,"column":19}},"12":{"start":{"line":54,"column":4},"end":{"line":57,"column":7}},"13":{"start":{"line":61,"column":21},"end":{"line":61,"column":58}},"14":{"start":{"line":62,"column":22},"end":{"line":65,"column":6}},"15":{"start":{"line":66,"column":4},"end":{"line":66,"column":21}},"16":{"start":{"line":70,"column":24},"end":{"line":70,"column":64}},"17":{"start":{"line":71,"column":27},"end":{"line":71,"column":46}},"18":{"start":{"line":72,"column":4},"end":{"line":72,"column":42}},"19":{"start":{"line":73,"column":20},"end":{"line":73,"column":66}},"20":{"start":{"line":74,"column":4},"end":{"line":74,"column":19}},"21":{"start":{"line":78,"column":4},"end":{"line":78,"column":21}},"22":{"start":{"line":79,"column":4},"end":{"line":79,"column":45}},"23":{"start":{"line":80,"column":4},"end":{"line":80,"column":42}},"24":{"start":{"line":81,"column":4},"end":{"line":81,"column":38}},"25":{"start":{"line":82,"column":4},"end":{"line":82,"column":48}},"26":{"start":{"line":83,"column":4},"end":{"line":83,"column":45}},"27":{"start":{"line":86,"column":4},"end":{"line":86,"column":45}},"28":{"start":{"line":87,"column":4},"end":{"line":107,"column":38}},"29":{"start":{"line":88,"column":25},"end":{"line":88,"column":46}},"30":{"start":{"line":89,"column":6},"end":{"line":106,"column":7}},"31":{"start":{"line":90,"column":32},"end":{"line":92,"column":10}},"32":{"start":{"line":93,"column":8},"end":{"line":105,"column":9}},"33":{"start":{"line":94,"column":10},"end":{"line":94,"column":36}},"34":{"start":{"line":95,"column":10},"end":{"line":98,"column":13}},"35":{"start":{"line":100,"column":10},"end":{"line":103,"column":13}},"36":{"start":{"line":104,"column":10},"end":{"line":104,"column":51}},"37":{"start":{"line":111,"column":16},"end":{"line":111,"column":43}},"38":{"start":{"line":112,"column":17},"end":{"line":112,"column":38}},"39":{"start":{"line":113,"column":4},"end":{"line":119,"column":5}},"40":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"41":{"start":{"line":116,"column":8},"end":{"line":116,"column":22}},"42":{"start":{"line":118,"column":6},"end":{"line":118,"column":20}},"43":{"start":{"line":121,"column":4},"end":{"line":121,"column":21}},"44":{"start":{"line":125,"column":4},"end":{"line":125,"column":21}},"45":{"start":{"line":126,"column":4},"end":{"line":126,"column":45}},"46":{"start":{"line":130,"column":23},"end":{"line":130,"column":44}},"47":{"start":{"line":131,"column":4},"end":{"line":150,"column":5}},"48":{"start":{"line":133,"column":30},"end":{"line":135,"column":8}},"49":{"start":{"line":137,"column":6},"end":{"line":143,"column":7}},"50":{"start":{"line":138,"column":8},"end":{"line":138,"column":23}},"51":{"start":{"line":141,"column":8},"end":{"line":141,"column":34}},"52":{"start":{"line":142,"column":8},"end":{"line":142,"column":23}},"53":{"start":{"line":144,"column":11},"end":{"line":150,"column":5}},"54":{"start":{"line":145,"column":6},"end":{"line":145,"column":21}},"55":{"start":{"line":146,"column":11},"end":{"line":150,"column":5}},"56":{"start":{"line":148,"column":6},"end":{"line":148,"column":32}},"57":{"start":{"line":149,"column":6},"end":{"line":149,"column":21}},"58":{"start":{"line":154,"column":4},"end":{"line":173,"column":5}},"59":{"start":{"line":155,"column":19},"end":{"line":159,"column":34}},"60":{"start":{"line":159,"column":23},"end":{"line":159,"column":33}},"61":{"start":{"line":161,"column":6},"end":{"line":163,"column":7}},"62":{"start":{"line":162,"column":8},"end":{"line":162,"column":43}},"63":{"start":{"line":165,"column":18},"end":{"line":165,"column":45}},"64":{"start":{"line":166,"column":23},"end":{"line":166,"column":81}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":36}},"66":{"start":{"line":170,"column":6},"end":{"line":170,"column":45}},"67":{"start":{"line":172,"column":6},"end":{"line":172,"column":35}},"68":{"start":{"line":177,"column":16},"end":{"line":177,"column":80}},"69":{"start":{"line":178,"column":4},"end":{"line":196,"column":5}},"70":{"start":{"line":179,"column":19},"end":{"line":183,"column":34}},"71":{"start":{"line":183,"column":23},"end":{"line":183,"column":33}},"72":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"73":{"start":{"line":186,"column":8},"end":{"line":186,"column":43}},"74":{"start":{"line":188,"column":18},"end":{"line":188,"column":45}},"75":{"start":{"line":189,"column":23},"end":{"line":189,"column":81}},"76":{"start":{"line":192,"column":6},"end":{"line":192,"column":36}},"77":{"start":{"line":193,"column":6},"end":{"line":193,"column":45}},"78":{"start":{"line":195,"column":6},"end":{"line":195,"column":35}},"79":{"start":{"line":207,"column":4},"end":{"line":207,"column":45}},"80":{"start":{"line":211,"column":17},"end":{"line":211,"column":104}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":37,"column":2},"end":{"line":37,"column":3}},"loc":{"start":{"line":37,"column":46},"end":{"line":42,"column":3}},"line":37},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":44,"column":75},"end":{"line":51,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":2},"end":{"line":53,"column":3}},"loc":{"start":{"line":53,"column":61},"end":{"line":58,"column":3}},"line":53},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":2},"end":{"line":60,"column":3}},"loc":{"start":{"line":60,"column":26},"end":{"line":67,"column":3}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":69,"column":24},"end":{"line":75,"column":3}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":41},"end":{"line":108,"column":3}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":87,"column":44},"end":{"line":87,"column":45}},"loc":{"start":{"line":87,"column":56},"end":{"line":107,"column":5}},"line":87},"7":{"name":"(anonymous_7)","decl":{"start":{"line":110,"column":2},"end":{"line":110,"column":3}},"loc":{"start":{"line":110,"column":37},"end":{"line":122,"column":3}},"line":110},"8":{"name":"(anonymous_8)","decl":{"start":{"line":124,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":124,"column":11},"end":{"line":127,"column":3}},"line":124},"9":{"name":"(anonymous_9)","decl":{"start":{"line":129,"column":2},"end":{"line":129,"column":3}},"loc":{"start":{"line":129,"column":78},"end":{"line":151,"column":3}},"line":129},"10":{"name":"(anonymous_10)","decl":{"start":{"line":153,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":153,"column":31},"end":{"line":174,"column":3}},"line":153},"11":{"name":"(anonymous_11)","decl":{"start":{"line":159,"column":14},"end":{"line":159,"column":15}},"loc":{"start":{"line":159,"column":23},"end":{"line":159,"column":33}},"line":159},"12":{"name":"(anonymous_12)","decl":{"start":{"line":176,"column":2},"end":{"line":176,"column":3}},"loc":{"start":{"line":176,"column":31},"end":{"line":197,"column":3}},"line":176},"13":{"name":"(anonymous_13)","decl":{"start":{"line":183,"column":14},"end":{"line":183,"column":15}},"loc":{"start":{"line":183,"column":23},"end":{"line":183,"column":33}},"line":183},"14":{"name":"(anonymous_14)","decl":{"start":{"line":206,"column":2},"end":{"line":206,"column":3}},"loc":{"start":{"line":206,"column":88},"end":{"line":208,"column":3}},"line":206}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":23},"end":{"line":46,"column":74}},"type":"binary-expr","locations":[{"start":{"line":46,"column":23},"end":{"line":46,"column":41}},{"start":{"line":46,"column":45},"end":{"line":46,"column":74}}],"line":46},"1":{"loc":{"start":{"line":47,"column":21},"end":{"line":47,"column":56}},"type":"binary-expr","locations":[{"start":{"line":47,"column":21},"end":{"line":47,"column":50}},{"start":{"line":47,"column":54},"end":{"line":47,"column":56}}],"line":47},"2":{"loc":{"start":{"line":89,"column":6},"end":{"line":106,"column":7}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":106,"column":7}},{"start":{},"end":{}}],"line":89},"3":{"loc":{"start":{"line":93,"column":8},"end":{"line":105,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":105,"column":9}},{"start":{"line":99,"column":15},"end":{"line":105,"column":9}}],"line":93},"4":{"loc":{"start":{"line":113,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":119,"column":5}},{"start":{},"end":{}}],"line":113},"5":{"loc":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"type":"if","locations":[{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},{"start":{},"end":{}}],"line":115},"6":{"loc":{"start":{"line":131,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":150,"column":5}},{"start":{"line":144,"column":11},"end":{"line":150,"column":5}}],"line":131},"7":{"loc":{"start":{"line":137,"column":6},"end":{"line":143,"column":7}},"type":"if","locations":[{"start":{"line":137,"column":6},"end":{"line":143,"column":7}},{"start":{"line":139,"column":13},"end":{"line":143,"column":7}}],"line":137},"8":{"loc":{"start":{"line":144,"column":11},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":144,"column":11},"end":{"line":150,"column":5}},{"start":{"line":146,"column":11},"end":{"line":150,"column":5}}],"line":144},"9":{"loc":{"start":{"line":146,"column":11},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":146,"column":11},"end":{"line":150,"column":5}},{"start":{},"end":{}}],"line":146},"10":{"loc":{"start":{"line":161,"column":6},"end":{"line":163,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":163,"column":7}},{"start":{},"end":{}}],"line":161},"11":{"loc":{"start":{"line":177,"column":37},"end":{"line":177,"column":78}},"type":"cond-expr","locations":[{"start":{"line":177,"column":50},"end":{"line":177,"column":60}},{"start":{"line":177,"column":63},"end":{"line":177,"column":78}}],"line":177},"12":{"loc":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"type":"if","locations":[{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},{"start":{},"end":{}}],"line":185},"13":{"loc":{"start":{"line":206,"column":24},"end":{"line":206,"column":69}},"type":"default-arg","locations":[{"start":{"line":206,"column":55},"end":{"line":206,"column":69}}],"line":206},"14":{"loc":{"start":{"line":211,"column":36},"end":{"line":211,"column":66}},"type":"binary-expr","locations":[{"start":{"line":211,"column":36},"end":{"line":211,"column":60}},{"start":{"line":211,"column":64},"end":{"line":211,"column":66}}],"line":211},"15":{"loc":{"start":{"line":211,"column":68},"end":{"line":211,"column":103}},"type":"binary-expr","locations":[{"start":{"line":211,"column":68},"end":{"line":211,"column":97}},{"start":{"line":211,"column":101},"end":{"line":211,"column":103}}],"line":211}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0],"14":[0,0],"15":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/wdyr.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/wdyr.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":11,"column":3}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/index.tsx","statementMap":{"0":{"start":{"line":12,"column":0},"end":{"line":12,"column":22}},"1":{"start":{"line":13,"column":0},"end":{"line":13,"column":19}},"2":{"start":{"line":15,"column":0},"end":{"line":15,"column":44}},"3":{"start":{"line":16,"column":0},"end":{"line":16,"column":103}},"4":{"start":{"line":18,"column":0},"end":{"line":18,"column":10}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/sentry.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/sentry.ts","statementMap":{"0":{"start":{"line":5,"column":12},"end":{"line":5,"column":34}},"1":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}},"2":{"start":{"line":9,"column":21},"end":{"line":9,"column":68}},"3":{"start":{"line":10,"column":20},"end":{"line":10,"column":64}},"4":{"start":{"line":12,"column":22},"end":{"line":16,"column":2}},"5":{"start":{"line":18,"column":27},"end":{"line":33,"column":1}},"6":{"start":{"line":19,"column":2},"end":{"line":32,"column":11}},"7":{"start":{"line":20,"column":4},"end":{"line":31,"column":5}},"8":{"start":{"line":21,"column":21},"end":{"line":21,"column":55}},"9":{"start":{"line":23,"column":6},"end":{"line":28,"column":7}},"10":{"start":{"line":24,"column":8},"end":{"line":27,"column":9}},"11":{"start":{"line":26,"column":10},"end":{"line":26,"column":46}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":62}},"13":{"start":{"line":35,"column":32},"end":{"line":57,"column":1}},"14":{"start":{"line":36,"column":2},"end":{"line":56,"column":3}},"15":{"start":{"line":40,"column":6},"end":{"line":51,"column":9}},"16":{"start":{"line":52,"column":6},"end":{"line":52,"column":36}},"17":{"start":{"line":53,"column":6},"end":{"line":53,"column":12}},"18":{"start":{"line":55,"column":6},"end":{"line":55,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":27},"end":{"line":18,"column":28}},"loc":{"start":{"line":18,"column":33},"end":{"line":33,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":13},"end":{"line":19,"column":14}},"loc":{"start":{"line":19,"column":19},"end":{"line":32,"column":3}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":32},"end":{"line":35,"column":33}},"loc":{"start":{"line":35,"column":38},"end":{"line":57,"column":1}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}},"type":"binary-expr","locations":[{"start":{"line":8,"column":17},"end":{"line":8,"column":49}},{"start":{"line":8,"column":53},"end":{"line":8,"column":56}}],"line":8},"1":{"loc":{"start":{"line":9,"column":21},"end":{"line":9,"column":68}},"type":"binary-expr","locations":[{"start":{"line":9,"column":21},"end":{"line":9,"column":61}},{"start":{"line":9,"column":65},"end":{"line":9,"column":68}}],"line":9},"2":{"loc":{"start":{"line":10,"column":20},"end":{"line":10,"column":64}},"type":"binary-expr","locations":[{"start":{"line":10,"column":20},"end":{"line":10,"column":59}},{"start":{"line":10,"column":63},"end":{"line":10,"column":64}}],"line":10},"3":{"loc":{"start":{"line":23,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":28,"column":7}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":24,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":27,"column":9}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":36,"column":2},"end":{"line":56,"column":3}},"type":"switch","locations":[{"start":{"line":37,"column":4},"end":{"line":37,"column":17}},{"start":{"line":38,"column":4},"end":{"line":38,"column":16}},{"start":{"line":39,"column":4},"end":{"line":53,"column":12}},{"start":{"line":54,"column":4},"end":{"line":55,"column":12}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store.ts","statementMap":{"0":{"start":{"line":14,"column":21},"end":{"line":24,"column":2}},"1":{"start":{"line":20,"column":23},"end":{"line":20,"column":32}},"2":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":17},"end":{"line":20,"column":18}},"loc":{"start":{"line":20,"column":23},"end":{"line":20,"column":32}},"line":20}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/assets/hints/images.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/assets/hints/images.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/getThemeInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/getThemeInfo.ts","statementMap":{"0":{"start":{"line":12,"column":91},"end":{"line":21,"column":1}},"1":{"start":{"line":13,"column":16},"end":{"line":13,"column":32}},"2":{"start":{"line":14,"column":22},"end":{"line":14,"column":48}},"3":{"start":{"line":15,"column":21},"end":{"line":15,"column":46}},"4":{"start":{"line":17,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":91},"end":{"line":12,"column":92}},"loc":{"start":{"line":12,"column":123},"end":{"line":21,"column":1}},"line":12}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/startup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/asyncMessageHandlers/startup.tsx","statementMap":{"0":{"start":{"line":17,"column":20},"end":{"line":17,"column":43}},"1":{"start":{"line":19,"column":19},"end":{"line":54,"column":1}},"2":{"start":{"line":20,"column":30},"end":{"line":20,"column":67}},"3":{"start":{"line":21,"column":20},"end":{"line":21,"column":41}},"4":{"start":{"line":22,"column":16},"end":{"line":22,"column":36}},"5":{"start":{"line":23,"column":27},"end":{"line":23,"column":51}},"6":{"start":{"line":25,"column":2},"end":{"line":27,"column":53}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":83}},"8":{"start":{"line":29,"column":2},"end":{"line":37,"column":9}},"9":{"start":{"line":30,"column":4},"end":{"line":32,"column":7}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":31}},"11":{"start":{"line":34,"column":4},"end":{"line":36,"column":6}},"12":{"start":{"line":35,"column":6},"end":{"line":35,"column":93}},"13":{"start":{"line":40,"column":4},"end":{"line":46,"column":5}},"14":{"start":{"line":49,"column":2},"end":{"line":53,"column":19}},"15":{"start":{"line":56,"column":23},"end":{"line":71,"column":1}},"16":{"start":{"line":57,"column":20},"end":{"line":57,"column":50}},"17":{"start":{"line":61,"column":15},"end":{"line":61,"column":37}},"18":{"start":{"line":62,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":19},"end":{"line":19,"column":20}},"loc":{"start":{"line":19,"column":25},"end":{"line":54,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":13}},"loc":{"start":{"line":25,"column":18},"end":{"line":27,"column":3}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":12},"end":{"line":29,"column":13}},"loc":{"start":{"line":29,"column":18},"end":{"line":37,"column":3}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":72},"end":{"line":30,"column":73}},"loc":{"start":{"line":30,"column":97},"end":{"line":32,"column":5}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":11},"end":{"line":34,"column":12}},"loc":{"start":{"line":34,"column":17},"end":{"line":36,"column":5}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":75},"end":{"line":35,"column":76}},"loc":{"start":{"line":35,"column":81},"end":{"line":35,"column":83}},"line":35},"6":{"name":"(anonymous_6)","decl":{"start":{"line":56,"column":23},"end":{"line":56,"column":24}},"loc":{"start":{"line":56,"column":35},"end":{"line":71,"column":1}},"line":56}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":27},"end":{"line":26,"column":81}},"type":"binary-expr","locations":[{"start":{"line":26,"column":27},"end":{"line":26,"column":53}},{"start":{"line":26,"column":57},"end":{"line":26,"column":73}},{"start":{"line":26,"column":77},"end":{"line":26,"column":81}}],"line":26},"1":{"loc":{"start":{"line":40,"column":4},"end":{"line":46,"column":5}},"type":"cond-expr","locations":[{"start":{"line":40,"column":13},"end":{"line":40,"column":41}},{"start":{"line":41,"column":6},"end":{"line":45,"column":21}}],"line":40},"2":{"loc":{"start":{"line":49,"column":9},"end":{"line":53,"column":18}},"type":"cond-expr","locations":[{"start":{"line":50,"column":4},"end":{"line":52,"column":17}},{"start":{"line":53,"column":6},"end":{"line":53,"column":18}}],"line":49}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AnnotationBuilder.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AnnotationBuilder.tsx","statementMap":{"0":{"start":{"line":14,"column":16},"end":{"line":14,"column":43}},"1":{"start":{"line":15,"column":18},"end":{"line":15,"column":55}},"2":{"start":{"line":17,"column":31},"end":{"line":19,"column":15}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":70}},"4":{"start":{"line":21,"column":30},"end":{"line":23,"column":15}},"5":{"start":{"line":22,"column":4},"end":{"line":22,"column":69}},"6":{"start":{"line":25,"column":33},"end":{"line":27,"column":15}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":72}},"8":{"start":{"line":29,"column":32},"end":{"line":31,"column":15}},"9":{"start":{"line":30,"column":4},"end":{"line":30,"column":71}},"10":{"start":{"line":33,"column":2},"end":{"line":47,"column":11}}},"fnMap":{"0":{"name":"AnnotationBuilder","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":44},"end":{"line":48,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":49},"end":{"line":17,"column":50}},"loc":{"start":{"line":17,"column":55},"end":{"line":19,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":48},"end":{"line":21,"column":49}},"loc":{"start":{"line":21,"column":54},"end":{"line":23,"column":3}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":51},"end":{"line":25,"column":52}},"loc":{"start":{"line":25,"column":57},"end":{"line":27,"column":3}},"line":25},"4":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":50},"end":{"line":29,"column":51}},"loc":{"start":{"line":29,"column":56},"end":{"line":31,"column":3}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":9},"end":{"line":47,"column":10}},"type":"cond-expr","locations":[{"start":{"line":34,"column":4},"end":{"line":46,"column":10}},{"start":{"line":47,"column":6},"end":{"line":47,"column":10}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/App.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/App.tsx","statementMap":{"0":{"start":{"line":19,"column":20},"end":{"line":19,"column":50}},"1":{"start":{"line":21,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"App","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":12}},"loc":{"start":{"line":18,"column":15},"end":{"line":66,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":9},"end":{"line":31,"column":50}},"type":"binary-expr","locations":[{"start":{"line":31,"column":9},"end":{"line":31,"column":32}},{"start":{"line":31,"column":36},"end":{"line":31,"column":50}}],"line":31},"1":{"loc":{"start":{"line":50,"column":15},"end":{"line":50,"column":58}},"type":"binary-expr","locations":[{"start":{"line":50,"column":15},"end":{"line":50,"column":38}},{"start":{"line":50,"column":42},"end":{"line":50,"column":58}}],"line":50},"2":{"loc":{"start":{"line":51,"column":15},"end":{"line":51,"column":77}},"type":"binary-expr","locations":[{"start":{"line":51,"column":15},"end":{"line":51,"column":36}},{"start":{"line":51,"column":40},"end":{"line":51,"column":63}},{"start":{"line":51,"column":67},"end":{"line":51,"column":77}}],"line":51},"3":{"loc":{"start":{"line":52,"column":15},"end":{"line":52,"column":55}},"type":"binary-expr","locations":[{"start":{"line":52,"column":15},"end":{"line":52,"column":36}},{"start":{"line":52,"column":40},"end":{"line":52,"column":55}}],"line":52},"4":{"loc":{"start":{"line":54,"column":15},"end":{"line":54,"column":57}},"type":"binary-expr","locations":[{"start":{"line":54,"column":15},"end":{"line":54,"column":40}},{"start":{"line":54,"column":44},"end":{"line":54,"column":57}}],"line":54},"5":{"loc":{"start":{"line":55,"column":15},"end":{"line":55,"column":62}},"type":"binary-expr","locations":[{"start":{"line":55,"column":15},"end":{"line":55,"column":43}},{"start":{"line":55,"column":47},"end":{"line":55,"column":62}}],"line":55},"6":{"loc":{"start":{"line":56,"column":15},"end":{"line":56,"column":55}},"type":"binary-expr","locations":[{"start":{"line":56,"column":15},"end":{"line":56,"column":39}},{"start":{"line":56,"column":43},"end":{"line":56,"column":55}}],"line":56},"7":{"loc":{"start":{"line":58,"column":13},"end":{"line":58,"column":75}},"type":"binary-expr","locations":[{"start":{"line":58,"column":13},"end":{"line":58,"column":36}},{"start":{"line":58,"column":40},"end":{"line":58,"column":61}},{"start":{"line":58,"column":65},"end":{"line":58,"column":75}}],"line":58}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ApplySelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ApplySelector.tsx","statementMap":{"0":{"start":{"line":17,"column":57},"end":{"line":17,"column":100}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":42}},"2":{"start":{"line":20,"column":27},"end":{"line":20,"column":38}},"3":{"start":{"line":22,"column":62},"end":{"line":22,"column":94}},"4":{"start":{"line":24,"column":31},"end":{"line":26,"column":21}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":40}},"6":{"start":{"line":28,"column":26},"end":{"line":30,"column":21}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":35}},"8":{"start":{"line":32,"column":30},"end":{"line":34,"column":21}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":39}},"10":{"start":{"line":36,"column":38},"end":{"line":38,"column":40}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":87}},"12":{"start":{"line":40,"column":32},"end":{"line":42,"column":40}},"13":{"start":{"line":41,"column":4},"end":{"line":41,"column":81}},"14":{"start":{"line":44,"column":2},"end":{"line":139,"column":4}}},"fnMap":{"0":{"name":"ApplySelector","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":37}},"loc":{"start":{"line":16,"column":40},"end":{"line":140,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":49},"end":{"line":24,"column":50}},"loc":{"start":{"line":24,"column":55},"end":{"line":26,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":44},"end":{"line":28,"column":45}},"loc":{"start":{"line":28,"column":50},"end":{"line":30,"column":3}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":48},"end":{"line":32,"column":49}},"loc":{"start":{"line":32,"column":54},"end":{"line":34,"column":3}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":56},"end":{"line":36,"column":57}},"loc":{"start":{"line":36,"column":62},"end":{"line":38,"column":3}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":50},"end":{"line":40,"column":51}},"loc":{"start":{"line":40,"column":56},"end":{"line":42,"column":3}},"line":40}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenDownShiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenDownShiftInput.tsx","statementMap":{"0":{"start":{"line":28,"column":44},"end":{"line":28,"column":94}},"1":{"start":{"line":30,"column":2},"end":{"line":37,"column":36}},"2":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"3":{"start":{"line":32,"column":25},"end":{"line":32,"column":61}},"4":{"start":{"line":33,"column":6},"end":{"line":33,"column":61}},"5":{"start":{"line":35,"column":6},"end":{"line":35,"column":63}},"6":{"start":{"line":39,"column":43},"end":{"line":42,"column":3}},"7":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"8":{"start":{"line":43,"column":27},"end":{"line":43,"column":81}},"9":{"start":{"line":43,"column":47},"end":{"line":43,"column":72}},"10":{"start":{"line":45,"column":16},"end":{"line":45,"column":42}},"11":{"start":{"line":46,"column":31},"end":{"line":50,"column":3}},"12":{"start":{"line":52,"column":2},"end":{"line":71,"column":4}}},"fnMap":{"0":{"name":"BorderTokenDownShiftInput","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":49}},"loc":{"start":{"line":27,"column":3},"end":{"line":72,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":18},"end":{"line":30,"column":19}},"loc":{"start":{"line":30,"column":24},"end":{"line":37,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":41},"end":{"line":43,"column":42}},"loc":{"start":{"line":43,"column":47},"end":{"line":43,"column":72}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":67},"end":{"line":28,"column":93}},"type":"cond-expr","locations":[{"start":{"line":28,"column":75},"end":{"line":28,"column":88}},{"start":{"line":28,"column":91},"end":{"line":28,"column":93}}],"line":28},"1":{"loc":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":31},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":58}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":24}},{"start":{"line":31,"column":28},"end":{"line":31,"column":33}},{"start":{"line":31,"column":37},"end":{"line":31,"column":58}}],"line":31},"3":{"loc":{"start":{"line":33,"column":23},"end":{"line":33,"column":59}},"type":"cond-expr","locations":[{"start":{"line":33,"column":36},"end":{"line":33,"column":54}},{"start":{"line":33,"column":57},"end":{"line":33,"column":59}}],"line":33},"4":{"loc":{"start":{"line":35,"column":23},"end":{"line":35,"column":61}},"type":"cond-expr","locations":[{"start":{"line":35,"column":51},"end":{"line":35,"column":56}},{"start":{"line":35,"column":59},"end":{"line":35,"column":61}}],"line":35},"5":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"binary-expr","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":24}},{"start":{"line":65,"column":10},"end":{"line":65,"column":93}}],"line":64}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BorderTokenForm.tsx","statementMap":{"0":{"start":{"line":18,"column":22},"end":{"line":22,"column":1}},"1":{"start":{"line":43,"column":15},"end":{"line":43,"column":27}},"2":{"start":{"line":44,"column":22},"end":{"line":44,"column":92}},"3":{"start":{"line":45,"column":26},"end":{"line":45,"column":67}},"4":{"start":{"line":46,"column":28},"end":{"line":46,"column":40}},"5":{"start":{"line":47,"column":16},"end":{"line":47,"column":42}},"6":{"start":{"line":48,"column":48},"end":{"line":48,"column":72}},"7":{"start":{"line":50,"column":24},"end":{"line":57,"column":41}},"8":{"start":{"line":51,"column":19},"end":{"line":51,"column":66}},"9":{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},"10":{"start":{"line":53,"column":25},"end":{"line":53,"column":73}},"11":{"start":{"line":53,"column":52},"end":{"line":53,"column":72}},"12":{"start":{"line":54,"column":6},"end":{"line":54,"column":61}},"13":{"start":{"line":54,"column":22},"end":{"line":54,"column":61}},"14":{"start":{"line":56,"column":4},"end":{"line":56,"column":16}},"15":{"start":{"line":59,"column":34},"end":{"line":59,"column":114}},"16":{"start":{"line":59,"column":58},"end":{"line":59,"column":94}},"17":{"start":{"line":60,"column":24},"end":{"line":65,"column":3}},"18":{"start":{"line":62,"column":6},"end":{"line":62,"column":60}},"19":{"start":{"line":67,"column":21},"end":{"line":73,"column":62}},"20":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"21":{"start":{"line":69,"column":6},"end":{"line":69,"column":52}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":50}},"23":{"start":{"line":72,"column":4},"end":{"line":72,"column":17}},"24":{"start":{"line":75,"column":2},"end":{"line":143,"column":4}},"25":{"start":{"line":98,"column":12},"end":{"line":116,"column":29}}},"fnMap":{"0":{"name":"BorderTokenForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":39}},"loc":{"start":{"line":42,"column":3},"end":{"line":144,"column":1}},"line":42},"1":{"name":"(anonymous_1)","decl":{"start":{"line":50,"column":64},"end":{"line":50,"column":65}},"loc":{"start":{"line":50,"column":70},"end":{"line":57,"column":3}},"line":50},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":45},"end":{"line":53,"column":46}},"loc":{"start":{"line":53,"column":52},"end":{"line":53,"column":72}},"line":53},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":52},"end":{"line":59,"column":53}},"loc":{"start":{"line":59,"column":58},"end":{"line":59,"column":94}},"line":59},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":4},"end":{"line":61,"column":5}},"loc":{"start":{"line":61,"column":23},"end":{"line":63,"column":5}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":67,"column":39},"end":{"line":67,"column":40}},"loc":{"start":{"line":67,"column":45},"end":{"line":73,"column":3}},"line":67},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":87},"end":{"line":97,"column":88}},"loc":{"start":{"line":98,"column":12},"end":{"line":116,"column":29}},"line":98}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":22},"end":{"line":44,"column":92}},"type":"binary-expr","locations":[{"start":{"line":44,"column":22},"end":{"line":44,"column":45}},{"start":{"line":44,"column":49},"end":{"line":44,"column":92}}],"line":44},"1":{"loc":{"start":{"line":45,"column":35},"end":{"line":45,"column":66}},"type":"cond-expr","locations":[{"start":{"line":45,"column":49},"end":{"line":45,"column":56}},{"start":{"line":45,"column":59},"end":{"line":45,"column":66}}],"line":45},"2":{"loc":{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":52},"3":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":35}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":14}},{"start":{"line":52,"column":18},"end":{"line":52,"column":35}}],"line":52},"4":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":61}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":61}},{"start":{},"end":{}}],"line":54},"5":{"loc":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":68},"6":{"loc":{"start":{"line":68,"column":8},"end":{"line":68,"column":71}},"type":"binary-expr","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":24}},{"start":{"line":68,"column":28},"end":{"line":68,"column":71}}],"line":68},"7":{"loc":{"start":{"line":69,"column":21},"end":{"line":69,"column":50}},"type":"binary-expr","locations":[{"start":{"line":69,"column":21},"end":{"line":69,"column":44}},{"start":{"line":69,"column":48},"end":{"line":69,"column":50}}],"line":69},"8":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":48}},"type":"cond-expr","locations":[{"start":{"line":71,"column":31},"end":{"line":71,"column":38}},{"start":{"line":71,"column":41},"end":{"line":71,"column":48}}],"line":71},"9":{"loc":{"start":{"line":79,"column":9},"end":{"line":93,"column":9}},"type":"cond-expr","locations":[{"start":{"line":80,"column":10},"end":{"line":85,"column":12}},{"start":{"line":87,"column":10},"end":{"line":92,"column":12}}],"line":79},"10":{"loc":{"start":{"line":95,"column":7},"end":{"line":141,"column":7}},"type":"cond-expr","locations":[{"start":{"line":96,"column":8},"end":{"line":118,"column":16}},{"start":{"line":120,"column":8},"end":{"line":140,"column":16}}],"line":95},"11":{"loc":{"start":{"line":95,"column":7},"end":{"line":95,"column":83}},"type":"binary-expr","locations":[{"start":{"line":95,"column":7},"end":{"line":95,"column":23}},{"start":{"line":95,"column":27},"end":{"line":95,"column":83}}],"line":95},"12":{"loc":{"start":{"line":97,"column":26},"end":{"line":97,"column":81}},"type":"binary-expr","locations":[{"start":{"line":97,"column":26},"end":{"line":97,"column":75}},{"start":{"line":97,"column":79},"end":{"line":97,"column":81}}],"line":97},"13":{"loc":{"start":{"line":102,"column":23},"end":{"line":102,"column":111}},"type":"cond-expr","locations":[{"start":{"line":102,"column":69},"end":{"line":102,"column":106}},{"start":{"line":102,"column":109},"end":{"line":102,"column":111}}],"line":102},"14":{"loc":{"start":{"line":110,"column":15},"end":{"line":115,"column":15}},"type":"binary-expr","locations":[{"start":{"line":110,"column":15},"end":{"line":110,"column":30}},{"start":{"line":110,"column":34},"end":{"line":110,"column":49}},{"start":{"line":111,"column":16},"end":{"line":114,"column":18}}],"line":110},"15":{"loc":{"start":{"line":112,"column":25},"end":{"line":112,"column":109}},"type":"binary-expr","locations":[{"start":{"line":112,"column":25},"end":{"line":112,"column":68}},{"start":{"line":112,"column":72},"end":{"line":112,"column":109}}],"line":112},"16":{"loc":{"start":{"line":122,"column":19},"end":{"line":122,"column":70}},"type":"cond-expr","locations":[{"start":{"line":122,"column":34},"end":{"line":122,"column":36}},{"start":{"line":122,"column":39},"end":{"line":122,"column":70}}],"line":122},"17":{"loc":{"start":{"line":135,"column":11},"end":{"line":139,"column":11}},"type":"binary-expr","locations":[{"start":{"line":135,"column":11},"end":{"line":135,"column":22}},{"start":{"line":136,"column":15},"end":{"line":136,"column":58}},{"start":{"line":137,"column":15},"end":{"line":137,"column":60}},{"start":{"line":138,"column":14},"end":{"line":138,"column":82}}],"line":135}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Box.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Box.tsx","statementMap":{"0":{"start":{"line":3,"column":12},"end":{"line":3,"column":29}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BoxShadowInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BoxShadowInput.tsx","statementMap":{"0":{"start":{"line":37,"column":15},"end":{"line":37,"column":27}},"1":{"start":{"line":38,"column":23},"end":{"line":38,"column":93}},"2":{"start":{"line":39,"column":26},"end":{"line":39,"column":67}},"3":{"start":{"line":40,"column":28},"end":{"line":40,"column":40}},"4":{"start":{"line":42,"column":21},"end":{"line":46,"column":12}},"5":{"start":{"line":43,"column":23},"end":{"line":43,"column":61}},"6":{"start":{"line":44,"column":4},"end":{"line":44,"column":24}},"7":{"start":{"line":45,"column":4},"end":{"line":45,"column":17}},"8":{"start":{"line":48,"column":24},"end":{"line":55,"column":41}},"9":{"start":{"line":49,"column":19},"end":{"line":49,"column":109}},"10":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"11":{"start":{"line":51,"column":25},"end":{"line":51,"column":73}},"12":{"start":{"line":51,"column":52},"end":{"line":51,"column":72}},"13":{"start":{"line":52,"column":6},"end":{"line":52,"column":40}},"14":{"start":{"line":52,"column":22},"end":{"line":52,"column":40}},"15":{"start":{"line":54,"column":4},"end":{"line":54,"column":16}},"16":{"start":{"line":57,"column":22},"end":{"line":61,"column":46}},"17":{"start":{"line":58,"column":4},"end":{"line":58,"column":144}},"18":{"start":{"line":58,"column":70},"end":{"line":58,"column":144}},"19":{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},"20":{"start":{"line":59,"column":53},"end":{"line":59,"column":84}},"21":{"start":{"line":60,"column":4},"end":{"line":60,"column":21}},"22":{"start":{"line":63,"column":20},"end":{"line":71,"column":53}},"23":{"start":{"line":64,"column":4},"end":{"line":70,"column":5}},"24":{"start":{"line":65,"column":6},"end":{"line":65,"column":78}},"25":{"start":{"line":66,"column":11},"end":{"line":70,"column":5}},"26":{"start":{"line":67,"column":6},"end":{"line":67,"column":74}},"27":{"start":{"line":68,"column":11},"end":{"line":70,"column":5}},"28":{"start":{"line":69,"column":6},"end":{"line":69,"column":84}},"29":{"start":{"line":73,"column":23},"end":{"line":77,"column":53}},"30":{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},"31":{"start":{"line":75,"column":6},"end":{"line":75,"column":88}},"32":{"start":{"line":75,"column":74},"end":{"line":75,"column":85}},"33":{"start":{"line":79,"column":2},"end":{"line":180,"column":4}},"34":{"start":{"line":121,"column":18},"end":{"line":132,"column":20}}},"fnMap":{"0":{"name":"BoxShadowInput","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":38}},"loc":{"start":{"line":36,"column":3},"end":{"line":181,"column":1}},"line":36},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":39},"end":{"line":42,"column":40}},"loc":{"start":{"line":42,"column":45},"end":{"line":46,"column":3}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":38},"end":{"line":48,"column":39}},"loc":{"start":{"line":48,"column":44},"end":{"line":55,"column":3}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":45},"end":{"line":51,"column":46}},"loc":{"start":{"line":51,"column":52},"end":{"line":51,"column":72}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":36},"end":{"line":57,"column":37}},"loc":{"start":{"line":57,"column":42},"end":{"line":61,"column":3}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":38},"end":{"line":63,"column":39}},"loc":{"start":{"line":63,"column":44},"end":{"line":71,"column":3}},"line":63},"6":{"name":"(anonymous_6)","decl":{"start":{"line":73,"column":41},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":60},"end":{"line":77,"column":3}},"line":73},"7":{"name":"(anonymous_7)","decl":{"start":{"line":75,"column":64},"end":{"line":75,"column":65}},"loc":{"start":{"line":75,"column":74},"end":{"line":75,"column":85}},"line":75},"8":{"name":"(anonymous_8)","decl":{"start":{"line":120,"column":32},"end":{"line":120,"column":33}},"loc":{"start":{"line":121,"column":18},"end":{"line":132,"column":20}},"line":121}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":23},"end":{"line":38,"column":93}},"type":"binary-expr","locations":[{"start":{"line":38,"column":23},"end":{"line":38,"column":46}},{"start":{"line":38,"column":50},"end":{"line":38,"column":93}}],"line":38},"1":{"loc":{"start":{"line":39,"column":35},"end":{"line":39,"column":66}},"type":"cond-expr","locations":[{"start":{"line":39,"column":49},"end":{"line":39,"column":56}},{"start":{"line":39,"column":59},"end":{"line":39,"column":66}}],"line":39},"2":{"loc":{"start":{"line":43,"column":23},"end":{"line":43,"column":61}},"type":"cond-expr","locations":[{"start":{"line":43,"column":44},"end":{"line":43,"column":51}},{"start":{"line":43,"column":54},"end":{"line":43,"column":61}}],"line":43},"3":{"loc":{"start":{"line":49,"column":34},"end":{"line":49,"column":108}},"type":"cond-expr","locations":[{"start":{"line":49,"column":80},"end":{"line":49,"column":103}},{"start":{"line":49,"column":106},"end":{"line":49,"column":108}}],"line":49},"4":{"loc":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":50},"5":{"loc":{"start":{"line":50,"column":8},"end":{"line":50,"column":35}},"type":"binary-expr","locations":[{"start":{"line":50,"column":8},"end":{"line":50,"column":14}},{"start":{"line":50,"column":18},"end":{"line":50,"column":35}}],"line":50},"6":{"loc":{"start":{"line":52,"column":6},"end":{"line":52,"column":40}},"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":52,"column":40}},{"start":{},"end":{}}],"line":52},"7":{"loc":{"start":{"line":58,"column":4},"end":{"line":58,"column":144}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":58,"column":144}},{"start":{},"end":{}}],"line":58},"8":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":68}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":51}},{"start":{"line":58,"column":55},"end":{"line":58,"column":68}}],"line":58},"9":{"loc":{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},{"start":{},"end":{}}],"line":59},"10":{"loc":{"start":{"line":64,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":70,"column":5}},{"start":{"line":66,"column":11},"end":{"line":70,"column":5}}],"line":64},"11":{"loc":{"start":{"line":66,"column":11},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":11},"end":{"line":70,"column":5}},{"start":{"line":68,"column":11},"end":{"line":70,"column":5}}],"line":66},"12":{"loc":{"start":{"line":66,"column":15},"end":{"line":66,"column":108}},"type":"binary-expr","locations":[{"start":{"line":66,"column":15},"end":{"line":66,"column":61}},{"start":{"line":66,"column":65},"end":{"line":66,"column":108}}],"line":66},"13":{"loc":{"start":{"line":68,"column":11},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":11},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":68},"14":{"loc":{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},{"start":{},"end":{}}],"line":74},"15":{"loc":{"start":{"line":74,"column":8},"end":{"line":74,"column":84}},"type":"binary-expr","locations":[{"start":{"line":74,"column":8},"end":{"line":74,"column":46}},{"start":{"line":74,"column":50},"end":{"line":74,"column":84}}],"line":74},"16":{"loc":{"start":{"line":84,"column":11},"end":{"line":112,"column":11}},"type":"cond-expr","locations":[{"start":{"line":85,"column":12},"end":{"line":102,"column":15}},{"start":{"line":104,"column":12},"end":{"line":111,"column":14}}],"line":84},"17":{"loc":{"start":{"line":117,"column":10},"end":{"line":176,"column":11}},"type":"cond-expr","locations":[{"start":{"line":118,"column":12},"end":{"line":145,"column":26}},{"start":{"line":147,"column":12},"end":{"line":175,"column":18}}],"line":117},"18":{"loc":{"start":{"line":119,"column":15},"end":{"line":144,"column":15}},"type":"cond-expr","locations":[{"start":{"line":120,"column":16},"end":{"line":133,"column":18}},{"start":{"line":135,"column":16},"end":{"line":143,"column":18}}],"line":119},"19":{"loc":{"start":{"line":152,"column":23},"end":{"line":152,"column":74}},"type":"cond-expr","locations":[{"start":{"line":152,"column":38},"end":{"line":152,"column":40}},{"start":{"line":152,"column":43},"end":{"line":152,"column":74}}],"line":152},"20":{"loc":{"start":{"line":164,"column":15},"end":{"line":174,"column":15}},"type":"binary-expr","locations":[{"start":{"line":165,"column":16},"end":{"line":165,"column":27}},{"start":{"line":166,"column":19},"end":{"line":166,"column":32}},{"start":{"line":167,"column":19},"end":{"line":167,"column":62}},{"start":{"line":168,"column":19},"end":{"line":168,"column":64}},{"start":{"line":170,"column":14},"end":{"line":173,"column":16}}],"line":164}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSelector.tsx","statementMap":{"0":{"start":{"line":38,"column":4},"end":{"line":50,"column":1}},"1":{"start":{"line":39,"column":19},"end":{"line":39,"column":102}},"2":{"start":{"line":39,"column":43},"end":{"line":39,"column":70}},"3":{"start":{"line":41,"column":2},"end":{"line":49,"column":4}},"4":{"start":{"line":53,"column":15},"end":{"line":53,"column":27}},"5":{"start":{"line":54,"column":22},"end":{"line":54,"column":34}},"6":{"start":{"line":55,"column":37},"end":{"line":55,"column":54}},"7":{"start":{"line":56,"column":19},"end":{"line":56,"column":42}},"8":{"start":{"line":57,"column":20},"end":{"line":57,"column":34}},"9":{"start":{"line":58,"column":29},"end":{"line":58,"column":41}},"10":{"start":{"line":60,"column":22},"end":{"line":60,"column":49}},"11":{"start":{"line":61,"column":24},"end":{"line":61,"column":58}},"12":{"start":{"line":62,"column":30},"end":{"line":62,"column":70}},"13":{"start":{"line":63,"column":18},"end":{"line":63,"column":42}},"14":{"start":{"line":64,"column":22},"end":{"line":64,"column":54}},"15":{"start":{"line":65,"column":23},"end":{"line":65,"column":56}},"16":{"start":{"line":66,"column":16},"end":{"line":66,"column":53}},"17":{"start":{"line":67,"column":44},"end":{"line":67,"column":73}},"18":{"start":{"line":68,"column":40},"end":{"line":68,"column":69}},"19":{"start":{"line":69,"column":66},"end":{"line":69,"column":81}},"20":{"start":{"line":70,"column":50},"end":{"line":70,"column":65}},"21":{"start":{"line":71,"column":25},"end":{"line":71,"column":42}},"22":{"start":{"line":73,"column":2},"end":{"line":75,"column":46}},"23":{"start":{"line":74,"column":4},"end":{"line":74,"column":42}},"24":{"start":{"line":77,"column":31},"end":{"line":88,"column":18}},"25":{"start":{"line":78,"column":26},"end":{"line":83,"column":6}},"26":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"27":{"start":{"line":85,"column":6},"end":{"line":85,"column":34}},"28":{"start":{"line":87,"column":4},"end":{"line":87,"column":16}},"29":{"start":{"line":90,"column":31},"end":{"line":95,"column":21}},"30":{"start":{"line":91,"column":4},"end":{"line":91,"column":52}},"31":{"start":{"line":92,"column":4},"end":{"line":92,"column":30}},"32":{"start":{"line":93,"column":4},"end":{"line":93,"column":42}},"33":{"start":{"line":94,"column":4},"end":{"line":94,"column":38}},"34":{"start":{"line":97,"column":30},"end":{"line":109,"column":3}},"35":{"start":{"line":99,"column":6},"end":{"line":99,"column":54}},"36":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"37":{"start":{"line":102,"column":8},"end":{"line":102,"column":27}},"38":{"start":{"line":105,"column":6},"end":{"line":105,"column":29}},"39":{"start":{"line":106,"column":6},"end":{"line":106,"column":40}},"40":{"start":{"line":111,"column":24},"end":{"line":128,"column":3}},"41":{"start":{"line":113,"column":6},"end":{"line":125,"column":7}},"42":{"start":{"line":114,"column":8},"end":{"line":114,"column":33}},"43":{"start":{"line":115,"column":8},"end":{"line":115,"column":60}},"44":{"start":{"line":116,"column":8},"end":{"line":116,"column":72}},"45":{"start":{"line":117,"column":8},"end":{"line":119,"column":11}},"46":{"start":{"line":120,"column":8},"end":{"line":123,"column":11}},"47":{"start":{"line":124,"column":8},"end":{"line":124,"column":114}},"48":{"start":{"line":130,"column":27},"end":{"line":142,"column":3}},"49":{"start":{"line":132,"column":6},"end":{"line":132,"column":30}},"50":{"start":{"line":133,"column":6},"end":{"line":139,"column":7}},"51":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"52":{"start":{"line":135,"column":10},"end":{"line":135,"column":38}},"53":{"start":{"line":138,"column":8},"end":{"line":138,"column":36}},"54":{"start":{"line":149,"column":37},"end":{"line":160,"column":3}},"55":{"start":{"line":151,"column":6},"end":{"line":151,"column":41}},"56":{"start":{"line":152,"column":6},"end":{"line":152,"column":31}},"57":{"start":{"line":153,"column":6},"end":{"line":157,"column":7}},"58":{"start":{"line":154,"column":8},"end":{"line":154,"column":103}},"59":{"start":{"line":155,"column":8},"end":{"line":155,"column":60}},"60":{"start":{"line":156,"column":8},"end":{"line":156,"column":72}},"61":{"start":{"line":162,"column":27},"end":{"line":164,"column":8}},"62":{"start":{"line":163,"column":4},"end":{"line":163,"column":39}},"63":{"start":{"line":166,"column":2},"end":{"line":242,"column":4}},"64":{"start":{"line":198,"column":20},"end":{"line":202,"column":22}},"65":{"start":{"line":219,"column":18},"end":{"line":224,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":38,"column":4},"end":{"line":38,"column":5}},"loc":{"start":{"line":38,"column":41},"end":{"line":50,"column":1}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":37},"end":{"line":39,"column":38}},"loc":{"start":{"line":39,"column":43},"end":{"line":39,"column":70}},"line":39},"2":{"name":"BranchSelector","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":38}},"loc":{"start":{"line":52,"column":41},"end":{"line":243,"column":1}},"line":52},"3":{"name":"(anonymous_3)","decl":{"start":{"line":73,"column":12},"end":{"line":73,"column":13}},"loc":{"start":{"line":73,"column":18},"end":{"line":75,"column":3}},"line":73},"4":{"name":"(anonymous_4)","decl":{"start":{"line":77,"column":49},"end":{"line":77,"column":50}},"loc":{"start":{"line":77,"column":61},"end":{"line":88,"column":3}},"line":77},"5":{"name":"(anonymous_5)","decl":{"start":{"line":90,"column":49},"end":{"line":90,"column":50}},"loc":{"start":{"line":90,"column":55},"end":{"line":95,"column":3}},"line":90},"6":{"name":"(anonymous_6)","decl":{"start":{"line":98,"column":4},"end":{"line":98,"column":5}},"loc":{"start":{"line":98,"column":30},"end":{"line":107,"column":5}},"line":98},"7":{"name":"(anonymous_7)","decl":{"start":{"line":112,"column":4},"end":{"line":112,"column":5}},"loc":{"start":{"line":112,"column":30},"end":{"line":126,"column":5}},"line":112},"8":{"name":"(anonymous_8)","decl":{"start":{"line":131,"column":4},"end":{"line":131,"column":5}},"loc":{"start":{"line":131,"column":30},"end":{"line":140,"column":5}},"line":131},"9":{"name":"(anonymous_9)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":44},"end":{"line":158,"column":5}},"line":150},"10":{"name":"(anonymous_10)","decl":{"start":{"line":162,"column":45},"end":{"line":162,"column":46}},"loc":{"start":{"line":162,"column":51},"end":{"line":164,"column":3}},"line":162},"11":{"name":"(anonymous_11)","decl":{"start":{"line":197,"column":46},"end":{"line":197,"column":47}},"loc":{"start":{"line":198,"column":20},"end":{"line":202,"column":22}},"line":198},"12":{"name":"(anonymous_12)","decl":{"start":{"line":218,"column":44},"end":{"line":218,"column":45}},"loc":{"start":{"line":219,"column":18},"end":{"line":224,"column":20}},"line":219}},"branchMap":{"0":{"loc":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":84},"1":{"loc":{"start":{"line":93,"column":19},"end":{"line":93,"column":40}},"type":"binary-expr","locations":[{"start":{"line":93,"column":19},"end":{"line":93,"column":32}},{"start":{"line":93,"column":36},"end":{"line":93,"column":40}}],"line":93},"2":{"loc":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},{"start":{},"end":{}}],"line":101},"3":{"loc":{"start":{"line":101,"column":10},"end":{"line":101,"column":54}},"type":"binary-expr","locations":[{"start":{"line":101,"column":10},"end":{"line":101,"column":20}},{"start":{"line":101,"column":25},"end":{"line":101,"column":53}}],"line":101},"4":{"loc":{"start":{"line":113,"column":6},"end":{"line":125,"column":7}},"type":"if","locations":[{"start":{"line":113,"column":6},"end":{"line":125,"column":7}},{"start":{},"end":{}}],"line":113},"5":{"loc":{"start":{"line":113,"column":10},"end":{"line":113,"column":64}},"type":"binary-expr","locations":[{"start":{"line":113,"column":10},"end":{"line":113,"column":32}},{"start":{"line":113,"column":36},"end":{"line":113,"column":64}}],"line":113},"6":{"loc":{"start":{"line":133,"column":6},"end":{"line":139,"column":7}},"type":"if","locations":[{"start":{"line":133,"column":6},"end":{"line":139,"column":7}},{"start":{"line":137,"column":13},"end":{"line":139,"column":7}}],"line":133},"7":{"loc":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},{"start":{},"end":{}}],"line":134},"8":{"loc":{"start":{"line":153,"column":6},"end":{"line":157,"column":7}},"type":"if","locations":[{"start":{"line":153,"column":6},"end":{"line":157,"column":7}},{"start":{},"end":{}}],"line":153},"9":{"loc":{"start":{"line":153,"column":10},"end":{"line":153,"column":64}},"type":"binary-expr","locations":[{"start":{"line":153,"column":10},"end":{"line":153,"column":32}},{"start":{"line":153,"column":36},"end":{"line":153,"column":64}}],"line":153},"10":{"loc":{"start":{"line":154,"column":41},"end":{"line":154,"column":101}},"type":"cond-expr","locations":[{"start":{"line":154,"column":69},"end":{"line":154,"column":77}},{"start":{"line":154,"column":80},"end":{"line":154,"column":101}}],"line":154},"11":{"loc":{"start":{"line":166,"column":9},"end":{"line":242,"column":3}},"type":"cond-expr","locations":[{"start":{"line":167,"column":4},"end":{"line":239,"column":7}},{"start":{"line":241,"column":4},"end":{"line":241,"column":11}}],"line":166},"12":{"loc":{"start":{"line":188,"column":17},"end":{"line":195,"column":17}},"type":"binary-expr","locations":[{"start":{"line":188,"column":17},"end":{"line":188,"column":27}},{"start":{"line":189,"column":18},"end":{"line":194,"column":38}}],"line":188},"13":{"loc":{"start":{"line":196,"column":17},"end":{"line":203,"column":20}},"type":"binary-expr","locations":[{"start":{"line":196,"column":17},"end":{"line":196,"column":48}},{"start":{"line":197,"column":21},"end":{"line":203,"column":20}}],"line":196},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":215,"column":13}},"type":"binary-expr","locations":[{"start":{"line":207,"column":13},"end":{"line":207,"column":23}},{"start":{"line":208,"column":14},"end":{"line":214,"column":17}}],"line":207},"15":{"loc":{"start":{"line":217,"column":15},"end":{"line":225,"column":18}},"type":"binary-expr","locations":[{"start":{"line":217,"column":15},"end":{"line":217,"column":46}},{"start":{"line":218,"column":19},"end":{"line":225,"column":18}}],"line":217},"16":{"loc":{"start":{"line":230,"column":7},"end":{"line":238,"column":7}},"type":"binary-expr","locations":[{"start":{"line":230,"column":7},"end":{"line":230,"column":31}},{"start":{"line":230,"column":35},"end":{"line":230,"column":46}},{"start":{"line":231,"column":8},"end":{"line":237,"column":10}}],"line":230}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSwitchMenuRadioElement.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BranchSwitchMenuRadioElement.tsx","statementMap":{"0":{"start":{"line":11,"column":111},"end":{"line":32,"column":1}},"1":{"start":{"line":16,"column":19},"end":{"line":16,"column":92}},"2":{"start":{"line":16,"column":43},"end":{"line":16,"column":65}},"3":{"start":{"line":18,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":111},"end":{"line":11,"column":112}},"loc":{"start":{"line":15,"column":6},"end":{"line":32,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":37},"end":{"line":16,"column":38}},"loc":{"start":{"line":16,"column":43},"end":{"line":16,"column":65}},"line":16}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BrokenReferenceIndicator.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/BrokenReferenceIndicator.tsx","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":55}},"1":{"start":{"line":13,"column":26},"end":{"line":15,"column":43}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":84}},"3":{"start":{"line":14,"column":45},"end":{"line":14,"column":66}},"4":{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"6":{"start":{"line":22,"column":2},"end":{"line":22,"column":14}}},"fnMap":{"0":{"name":"BrokenReferenceIndicator","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":48}},"loc":{"start":{"line":10,"column":67},"end":{"line":23,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":40},"end":{"line":13,"column":41}},"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":84}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":38},"end":{"line":14,"column":39}},"loc":{"start":{"line":14,"column":45},"end":{"line":14,"column":66}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Callout.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Callout.tsx","statementMap":{"0":{"start":{"line":20,"column":2},"end":{"line":42,"column":4}}},"fnMap":{"0":{"name":"Callout","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":31}},"loc":{"start":{"line":19,"column":10},"end":{"line":43,"column":1}},"line":19}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangeStateListingHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangeStateListingHeading.tsx","statementMap":{"0":{"start":{"line":19,"column":45},"end":{"line":37,"column":2}},"1":{"start":{"line":46,"column":25},"end":{"line":48,"column":25}},"2":{"start":{"line":47,"column":4},"end":{"line":47,"column":25}},"3":{"start":{"line":50,"column":2},"end":{"line":63,"column":4}}},"fnMap":{"0":{"name":"ChangeStateListingHeading","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":49}},"loc":{"start":{"line":45,"column":10},"end":{"line":64,"column":1}},"line":45},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":43},"end":{"line":46,"column":44}},"loc":{"start":{"line":46,"column":87},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":58,"column":38},"end":{"line":58,"column":95}},"type":"cond-expr","locations":[{"start":{"line":58,"column":52},"end":{"line":58,"column":73}},{"start":{"line":58,"column":76},"end":{"line":58,"column":95}}],"line":58},"1":{"loc":{"start":{"line":60,"column":9},"end":{"line":60,"column":41}},"type":"binary-expr","locations":[{"start":{"line":60,"column":9},"end":{"line":60,"column":14}},{"start":{"line":60,"column":18},"end":{"line":60,"column":41}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedStateList.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedStateList.tsx","statementMap":{"0":{"start":{"line":10,"column":49},"end":{"line":10,"column":66}},"1":{"start":{"line":11,"column":36},"end":{"line":11,"column":57}},"2":{"start":{"line":12,"column":16},"end":{"line":12,"column":42}},"3":{"start":{"line":13,"column":68},"end":{"line":13,"column":101}},"4":{"start":{"line":15,"column":23},"end":{"line":15,"column":76}},"5":{"start":{"line":17,"column":32},"end":{"line":32,"column":65}},"6":{"start":{"line":18,"column":4},"end":{"line":18,"column":24}},"7":{"start":{"line":19,"column":4},"end":{"line":31,"column":5}},"8":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":41}},"10":{"start":{"line":23,"column":38},"end":{"line":23,"column":99}},"11":{"start":{"line":24,"column":8},"end":{"line":24,"column":60}},"12":{"start":{"line":26,"column":6},"end":{"line":26,"column":31}},"13":{"start":{"line":27,"column":11},"end":{"line":31,"column":5}},"14":{"start":{"line":28,"column":6},"end":{"line":28,"column":98}},"15":{"start":{"line":28,"column":78},"end":{"line":28,"column":95}},"16":{"start":{"line":30,"column":6},"end":{"line":30,"column":77}},"17":{"start":{"line":34,"column":2},"end":{"line":101,"column":4}},"18":{"start":{"line":37,"column":8},"end":{"line":44,"column":14}},"19":{"start":{"line":41,"column":14},"end":{"line":41,"column":65}},"20":{"start":{"line":52,"column":16},"end":{"line":75,"column":24}}},"fnMap":{"0":{"name":"ChangedStateList","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":63},"end":{"line":102,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":50},"end":{"line":17,"column":51}},"loc":{"start":{"line":17,"column":112},"end":{"line":32,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":68},"end":{"line":28,"column":69}},"loc":{"start":{"line":28,"column":78},"end":{"line":28,"column":95}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":98},"end":{"line":36,"column":99}},"loc":{"start":{"line":37,"column":8},"end":{"line":44,"column":14}},"line":37},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":26},"end":{"line":40,"column":27}},"loc":{"start":{"line":41,"column":14},"end":{"line":41,"column":65}},"line":41},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":38},"end":{"line":51,"column":39}},"loc":{"start":{"line":52,"column":16},"end":{"line":75,"column":24}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":23},"end":{"line":15,"column":76}},"type":"cond-expr","locations":[{"start":{"line":15,"column":41},"end":{"line":15,"column":57}},{"start":{"line":15,"column":60},"end":{"line":15,"column":76}}],"line":15},"1":{"loc":{"start":{"line":19,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":31,"column":5}},{"start":{"line":27,"column":11},"end":{"line":31,"column":5}}],"line":19},"2":{"loc":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},{"start":{"line":22,"column":13},"end":{"line":25,"column":7}}],"line":20},"3":{"loc":{"start":{"line":27,"column":11},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":11},"end":{"line":31,"column":5}},{"start":{"line":29,"column":11},"end":{"line":31,"column":5}}],"line":27},"4":{"loc":{"start":{"line":36,"column":7},"end":{"line":45,"column":8}},"type":"binary-expr","locations":[{"start":{"line":36,"column":7},"end":{"line":36,"column":53}},{"start":{"line":36,"column":57},"end":{"line":45,"column":8}}],"line":36},"5":{"loc":{"start":{"line":39,"column":11},"end":{"line":43,"column":11}},"type":"binary-expr","locations":[{"start":{"line":39,"column":11},"end":{"line":39,"column":56}},{"start":{"line":39,"column":60},"end":{"line":39,"column":69}},{"start":{"line":40,"column":12},"end":{"line":42,"column":14}}],"line":39},"6":{"loc":{"start":{"line":47,"column":8},"end":{"line":79,"column":9}},"type":"binary-expr","locations":[{"start":{"line":47,"column":8},"end":{"line":47,"column":38}},{"start":{"line":48,"column":10},"end":{"line":78,"column":13}}],"line":47},"7":{"loc":{"start":{"line":50,"column":13},"end":{"line":77,"column":13}},"type":"binary-expr","locations":[{"start":{"line":50,"column":13},"end":{"line":50,"column":59}},{"start":{"line":51,"column":14},"end":{"line":76,"column":16}}],"line":50},"8":{"loc":{"start":{"line":62,"column":20},"end":{"line":66,"column":21}},"type":"binary-expr","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":49}},{"start":{"line":63,"column":20},"end":{"line":65,"column":33}}],"line":62},"9":{"loc":{"start":{"line":69,"column":20},"end":{"line":73,"column":21}},"type":"binary-expr","locations":[{"start":{"line":69,"column":21},"end":{"line":69,"column":47}},{"start":{"line":69,"column":51},"end":{"line":69,"column":80}},{"start":{"line":70,"column":20},"end":{"line":72,"column":33}}],"line":69},"10":{"loc":{"start":{"line":71,"column":23},"end":{"line":71,"column":104}},"type":"cond-expr","locations":[{"start":{"line":71,"column":52},"end":{"line":71,"column":76}},{"start":{"line":71,"column":79},"end":{"line":71,"column":104}}],"line":71},"11":{"loc":{"start":{"line":82,"column":8},"end":{"line":98,"column":9}},"type":"binary-expr","locations":[{"start":{"line":82,"column":9},"end":{"line":82,"column":45}},{"start":{"line":82,"column":49},"end":{"line":82,"column":111}},{"start":{"line":83,"column":10},"end":{"line":97,"column":13}}],"line":82},"12":{"loc":{"start":{"line":85,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":85,"column":13},"end":{"line":85,"column":61}},{"start":{"line":86,"column":14},"end":{"line":95,"column":22}}],"line":85}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedTokenItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ChangedTokenItem.tsx","statementMap":{"0":{"start":{"line":13,"column":16},"end":{"line":13,"column":43}},"1":{"start":{"line":15,"column":2},"end":{"line":60,"column":4}}},"fnMap":{"0":{"name":"ChangedTokenItem","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":40}},"loc":{"start":{"line":12,"column":3},"end":{"line":61,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":24},"end":{"line":17,"column":72}},"type":"cond-expr","locations":[{"start":{"line":17,"column":56},"end":{"line":17,"column":61}},{"start":{"line":17,"column":64},"end":{"line":17,"column":72}}],"line":17},"1":{"loc":{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},"type":"binary-expr","locations":[{"start":{"line":20,"column":12},"end":{"line":20,"column":41}},{"start":{"line":20,"column":45},"end":{"line":20,"column":59}},{"start":{"line":20,"column":64},"end":{"line":20,"column":90}},{"start":{"line":21,"column":12},"end":{"line":33,"column":20}}],"line":20},"2":{"loc":{"start":{"line":24,"column":17},"end":{"line":28,"column":24}},"type":"cond-expr","locations":[{"start":{"line":25,"column":18},"end":{"line":27,"column":31}},{"start":{"line":28,"column":20},"end":{"line":28,"column":24}}],"line":24},"3":{"loc":{"start":{"line":26,"column":21},"end":{"line":26,"column":105}},"type":"cond-expr","locations":[{"start":{"line":26,"column":58},"end":{"line":26,"column":88}},{"start":{"line":26,"column":91},"end":{"line":26,"column":105}}],"line":26},"4":{"loc":{"start":{"line":30,"column":19},"end":{"line":30,"column":94}},"type":"cond-expr","locations":[{"start":{"line":30,"column":53},"end":{"line":30,"column":80}},{"start":{"line":30,"column":83},"end":{"line":30,"column":94}}],"line":30},"5":{"loc":{"start":{"line":36,"column":9},"end":{"line":50,"column":9}},"type":"binary-expr","locations":[{"start":{"line":36,"column":11},"end":{"line":36,"column":40}},{"start":{"line":36,"column":44},"end":{"line":36,"column":64}},{"start":{"line":36,"column":70},"end":{"line":36,"column":96}},{"start":{"line":36,"column":100},"end":{"line":36,"column":117}},{"start":{"line":37,"column":8},"end":{"line":49,"column":16}}],"line":36},"6":{"loc":{"start":{"line":40,"column":13},"end":{"line":44,"column":20}},"type":"cond-expr","locations":[{"start":{"line":41,"column":14},"end":{"line":43,"column":27}},{"start":{"line":44,"column":16},"end":{"line":44,"column":20}}],"line":40},"7":{"loc":{"start":{"line":52,"column":10},"end":{"line":56,"column":11}},"type":"binary-expr","locations":[{"start":{"line":52,"column":10},"end":{"line":52,"column":39}},{"start":{"line":53,"column":12},"end":{"line":55,"column":25}}],"line":52}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Changelog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Changelog.tsx","statementMap":{"0":{"start":{"line":11,"column":27},"end":{"line":14,"column":2}},"1":{"start":{"line":16,"column":20},"end":{"line":19,"column":2}},"2":{"start":{"line":22,"column":44},"end":{"line":22,"column":64}},"3":{"start":{"line":23,"column":20},"end":{"line":23,"column":50}},"4":{"start":{"line":24,"column":16},"end":{"line":24,"column":43}},"5":{"start":{"line":26,"column":34},"end":{"line":26,"column":51}},"6":{"start":{"line":28,"column":21},"end":{"line":30,"column":19}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":30}},"8":{"start":{"line":32,"column":21},"end":{"line":34,"column":19}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":30}},"10":{"start":{"line":36,"column":22},"end":{"line":38,"column":8}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":28}},"12":{"start":{"line":40,"column":2},"end":{"line":87,"column":4}},"13":{"start":{"line":45,"column":12},"end":{"line":65,"column":20}}},"fnMap":{"0":{"name":"Changelog","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":33}},"loc":{"start":{"line":21,"column":36},"end":{"line":88,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":39},"end":{"line":28,"column":40}},"loc":{"start":{"line":28,"column":45},"end":{"line":30,"column":3}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":39},"end":{"line":32,"column":40}},"loc":{"start":{"line":32,"column":45},"end":{"line":34,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":40},"end":{"line":36,"column":41}},"loc":{"start":{"line":36,"column":46},"end":{"line":38,"column":3}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":25},"end":{"line":44,"column":26}},"loc":{"start":{"line":45,"column":12},"end":{"line":65,"column":20}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":52},"end":{"line":41,"column":89}},"type":"binary-expr","locations":[{"start":{"line":41,"column":52},"end":{"line":41,"column":72}},{"start":{"line":41,"column":76},"end":{"line":41,"column":89}}],"line":41},"1":{"loc":{"start":{"line":51,"column":30},"end":{"line":51,"column":69}},"type":"cond-expr","locations":[{"start":{"line":51,"column":54},"end":{"line":51,"column":60}},{"start":{"line":51,"column":63},"end":{"line":51,"column":69}}],"line":51},"2":{"loc":{"start":{"line":53,"column":15},"end":{"line":53,"column":91}},"type":"binary-expr","locations":[{"start":{"line":53,"column":15},"end":{"line":53,"column":25}},{"start":{"line":53,"column":29},"end":{"line":53,"column":91}}],"line":53},"3":{"loc":{"start":{"line":56,"column":15},"end":{"line":64,"column":15}},"type":"binary-expr","locations":[{"start":{"line":56,"column":15},"end":{"line":56,"column":34}},{"start":{"line":57,"column":16},"end":{"line":63,"column":37}}],"line":56},"4":{"loc":{"start":{"line":62,"column":19},"end":{"line":62,"column":76}},"type":"cond-expr","locations":[{"start":{"line":62,"column":41},"end":{"line":62,"column":60}},{"start":{"line":62,"column":63},"end":{"line":62,"column":76}}],"line":62},"5":{"loc":{"start":{"line":73,"column":13},"end":{"line":77,"column":13}},"type":"binary-expr","locations":[{"start":{"line":73,"column":13},"end":{"line":73,"column":30}},{"start":{"line":74,"column":14},"end":{"line":76,"column":23}}],"line":73},"6":{"loc":{"start":{"line":78,"column":13},"end":{"line":82,"column":13}},"type":"binary-expr","locations":[{"start":{"line":78,"column":13},"end":{"line":78,"column":47}},{"start":{"line":79,"column":14},"end":{"line":81,"column":23}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPickerTrigger.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPickerTrigger.tsx","statementMap":{"0":{"start":{"line":4,"column":22},"end":{"line":11,"column":2}},"1":{"start":{"line":18,"column":101},"end":{"line":26,"column":1}},"2":{"start":{"line":21,"column":2},"end":{"line":25,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":101},"end":{"line":18,"column":102}},"loc":{"start":{"line":21,"column":2},"end":{"line":25,"column":4}},"line":21}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorTokenForm.tsx","statementMap":{"0":{"start":{"line":26,"column":21},"end":{"line":26,"column":24}},"1":{"start":{"line":47,"column":15},"end":{"line":47,"column":27}},"2":{"start":{"line":48,"column":16},"end":{"line":48,"column":42}},"3":{"start":{"line":49,"column":48},"end":{"line":49,"column":69}},"4":{"start":{"line":50,"column":54},"end":{"line":50,"column":75}},"5":{"start":{"line":51,"column":44},"end":{"line":51,"column":65}},"6":{"start":{"line":52,"column":20},"end":{"line":52,"column":34}},"7":{"start":{"line":54,"column":2},"end":{"line":58,"column":26}},"8":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"9":{"start":{"line":56,"column":6},"end":{"line":56,"column":29}},"10":{"start":{"line":60,"column":27},"end":{"line":67,"column":41}},"11":{"start":{"line":61,"column":4},"end":{"line":65,"column":5}},"12":{"start":{"line":62,"column":6},"end":{"line":64,"column":15}},"13":{"start":{"line":66,"column":4},"end":{"line":66,"column":16}},"14":{"start":{"line":69,"column":36},"end":{"line":71,"column":49}},"15":{"start":{"line":69,"column":57},"end":{"line":71,"column":10}},"16":{"start":{"line":73,"column":24},"end":{"line":93,"column":85}},"17":{"start":{"line":74,"column":4},"end":{"line":92,"column":5}},"18":{"start":{"line":75,"column":6},"end":{"line":87,"column":7}},"19":{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},"20":{"start":{"line":77,"column":31},"end":{"line":77,"column":94}},"21":{"start":{"line":78,"column":10},"end":{"line":80,"column":11}},"22":{"start":{"line":79,"column":12},"end":{"line":79,"column":162}},"23":{"start":{"line":81,"column":10},"end":{"line":83,"column":11}},"24":{"start":{"line":82,"column":12},"end":{"line":82,"column":195}},"25":{"start":{"line":84,"column":10},"end":{"line":84,"column":31}},"26":{"start":{"line":86,"column":8},"end":{"line":86,"column":29}},"27":{"start":{"line":88,"column":6},"end":{"line":88,"column":18}},"28":{"start":{"line":90,"column":6},"end":{"line":90,"column":23}},"29":{"start":{"line":91,"column":6},"end":{"line":91,"column":18}},"30":{"start":{"line":95,"column":23},"end":{"line":110,"column":85}},"31":{"start":{"line":96,"column":4},"end":{"line":108,"column":5}},"32":{"start":{"line":97,"column":6},"end":{"line":106,"column":7}},"33":{"start":{"line":98,"column":29},"end":{"line":98,"column":92}},"34":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"35":{"start":{"line":100,"column":10},"end":{"line":100,"column":174}},"36":{"start":{"line":102,"column":8},"end":{"line":104,"column":9}},"37":{"start":{"line":103,"column":10},"end":{"line":103,"column":207}},"38":{"start":{"line":105,"column":8},"end":{"line":105,"column":29}},"39":{"start":{"line":107,"column":6},"end":{"line":107,"column":27}},"40":{"start":{"line":109,"column":4},"end":{"line":109,"column":16}},"41":{"start":{"line":112,"column":34},"end":{"line":114,"column":23}},"42":{"start":{"line":113,"column":4},"end":{"line":113,"column":41}},"43":{"start":{"line":116,"column":37},"end":{"line":118,"column":26}},"44":{"start":{"line":117,"column":4},"end":{"line":117,"column":47}},"45":{"start":{"line":120,"column":33},"end":{"line":122,"column":39}},"46":{"start":{"line":121,"column":4},"end":{"line":121,"column":43}},"47":{"start":{"line":124,"column":29},"end":{"line":126,"column":31}},"48":{"start":{"line":125,"column":4},"end":{"line":125,"column":39}},"49":{"start":{"line":128,"column":20},"end":{"line":134,"column":26}},"50":{"start":{"line":129,"column":4},"end":{"line":133,"column":7}},"51":{"start":{"line":136,"column":23},"end":{"line":139,"column":31}},"52":{"start":{"line":137,"column":4},"end":{"line":137,"column":28}},"53":{"start":{"line":138,"column":4},"end":{"line":138,"column":30}},"54":{"start":{"line":141,"column":30},"end":{"line":148,"column":45}},"55":{"start":{"line":142,"column":4},"end":{"line":147,"column":5}},"56":{"start":{"line":143,"column":6},"end":{"line":146,"column":26}},"57":{"start":{"line":150,"column":31},"end":{"line":157,"column":45}},"58":{"start":{"line":151,"column":4},"end":{"line":156,"column":5}},"59":{"start":{"line":152,"column":6},"end":{"line":155,"column":26}},"60":{"start":{"line":159,"column":34},"end":{"line":166,"column":45}},"61":{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},"62":{"start":{"line":161,"column":6},"end":{"line":164,"column":9}},"63":{"start":{"line":168,"column":48},"end":{"line":175,"column":45}},"64":{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},"65":{"start":{"line":170,"column":6},"end":{"line":173,"column":9}},"66":{"start":{"line":177,"column":31},"end":{"line":184,"column":45}},"67":{"start":{"line":178,"column":4},"end":{"line":183,"column":5}},"68":{"start":{"line":179,"column":6},"end":{"line":182,"column":24}},"69":{"start":{"line":186,"column":36},"end":{"line":193,"column":45}},"70":{"start":{"line":187,"column":4},"end":{"line":192,"column":5}},"71":{"start":{"line":188,"column":6},"end":{"line":191,"column":24}},"72":{"start":{"line":195,"column":19},"end":{"line":195,"column":172}},"73":{"start":{"line":195,"column":39},"end":{"line":195,"column":150}},"74":{"start":{"line":197,"column":2},"end":{"line":319,"column":4}},"75":{"start":{"line":260,"column":79},"end":{"line":260,"column":168}},"76":{"start":{"line":266,"column":77},"end":{"line":266,"column":169}}},"fnMap":{"0":{"name":"ColorTokenForm","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":38}},"loc":{"start":{"line":46,"column":3},"end":{"line":320,"column":1}},"line":46},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":18},"end":{"line":54,"column":19}},"loc":{"start":{"line":54,"column":24},"end":{"line":58,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":60,"column":41},"end":{"line":60,"column":42}},"loc":{"start":{"line":60,"column":47},"end":{"line":67,"column":3}},"line":60},"3":{"name":"(anonymous_3)","decl":{"start":{"line":69,"column":50},"end":{"line":69,"column":51}},"loc":{"start":{"line":69,"column":57},"end":{"line":71,"column":10}},"line":69},"4":{"name":"(anonymous_4)","decl":{"start":{"line":73,"column":32},"end":{"line":73,"column":33}},"loc":{"start":{"line":73,"column":38},"end":{"line":93,"column":3}},"line":73},"5":{"name":"(anonymous_5)","decl":{"start":{"line":95,"column":31},"end":{"line":95,"column":32}},"loc":{"start":{"line":95,"column":37},"end":{"line":110,"column":3}},"line":95},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":46},"end":{"line":112,"column":47}},"loc":{"start":{"line":112,"column":52},"end":{"line":114,"column":3}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":116,"column":49},"end":{"line":116,"column":50}},"loc":{"start":{"line":116,"column":55},"end":{"line":118,"column":3}},"line":116},"8":{"name":"(anonymous_8)","decl":{"start":{"line":120,"column":45},"end":{"line":120,"column":46}},"loc":{"start":{"line":120,"column":64},"end":{"line":122,"column":3}},"line":120},"9":{"name":"(anonymous_9)","decl":{"start":{"line":124,"column":47},"end":{"line":124,"column":48}},"loc":{"start":{"line":124,"column":77},"end":{"line":126,"column":3}},"line":124},"10":{"name":"(anonymous_10)","decl":{"start":{"line":128,"column":32},"end":{"line":128,"column":33}},"loc":{"start":{"line":128,"column":38},"end":{"line":134,"column":3}},"line":128},"11":{"name":"(anonymous_11)","decl":{"start":{"line":136,"column":35},"end":{"line":136,"column":36}},"loc":{"start":{"line":136,"column":41},"end":{"line":139,"column":3}},"line":136},"12":{"name":"(anonymous_12)","decl":{"start":{"line":141,"column":42},"end":{"line":141,"column":43}},"loc":{"start":{"line":141,"column":65},"end":{"line":148,"column":3}},"line":141},"13":{"name":"(anonymous_13)","decl":{"start":{"line":150,"column":43},"end":{"line":150,"column":44}},"loc":{"start":{"line":150,"column":67},"end":{"line":157,"column":3}},"line":150},"14":{"name":"(anonymous_14)","decl":{"start":{"line":159,"column":46},"end":{"line":159,"column":47}},"loc":{"start":{"line":159,"column":83},"end":{"line":166,"column":3}},"line":159},"15":{"name":"(anonymous_15)","decl":{"start":{"line":168,"column":60},"end":{"line":168,"column":61}},"loc":{"start":{"line":168,"column":88},"end":{"line":175,"column":3}},"line":168},"16":{"name":"(anonymous_16)","decl":{"start":{"line":177,"column":43},"end":{"line":177,"column":44}},"loc":{"start":{"line":177,"column":65},"end":{"line":184,"column":3}},"line":177},"17":{"name":"(anonymous_17)","decl":{"start":{"line":186,"column":48},"end":{"line":186,"column":49}},"loc":{"start":{"line":186,"column":85},"end":{"line":193,"column":3}},"line":186},"18":{"name":"(anonymous_18)","decl":{"start":{"line":195,"column":33},"end":{"line":195,"column":34}},"loc":{"start":{"line":195,"column":39},"end":{"line":195,"column":150}},"line":195},"19":{"name":"(anonymous_19)","decl":{"start":{"line":260,"column":57},"end":{"line":260,"column":58}},"loc":{"start":{"line":260,"column":79},"end":{"line":260,"column":168}},"line":260},"20":{"name":"(anonymous_20)","decl":{"start":{"line":266,"column":54},"end":{"line":266,"column":55}},"loc":{"start":{"line":266,"column":77},"end":{"line":266,"column":169}},"line":266}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":55},"1":{"loc":{"start":{"line":61,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":61},"2":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":166}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":98}},{"start":{"line":61,"column":102},"end":{"line":61,"column":166}}],"line":61},"3":{"loc":{"start":{"line":62,"column":13},"end":{"line":64,"column":14}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":105}},{"start":{"line":64,"column":10},"end":{"line":64,"column":14}}],"line":62},"4":{"loc":{"start":{"line":69,"column":57},"end":{"line":71,"column":10}},"type":"cond-expr","locations":[{"start":{"line":70,"column":6},"end":{"line":70,"column":101}},{"start":{"line":71,"column":6},"end":{"line":71,"column":10}}],"line":69},"5":{"loc":{"start":{"line":75,"column":6},"end":{"line":87,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":87,"column":7}},{"start":{},"end":{}}],"line":75},"6":{"loc":{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},{"start":{},"end":{}}],"line":76},"7":{"loc":{"start":{"line":78,"column":10},"end":{"line":80,"column":11}},"type":"if","locations":[{"start":{"line":78,"column":10},"end":{"line":80,"column":11}},{"start":{},"end":{}}],"line":78},"8":{"loc":{"start":{"line":78,"column":14},"end":{"line":78,"column":148}},"type":"binary-expr","locations":[{"start":{"line":78,"column":14},"end":{"line":78,"column":57}},{"start":{"line":78,"column":61},"end":{"line":78,"column":103}},{"start":{"line":78,"column":107},"end":{"line":78,"column":148}}],"line":78},"9":{"loc":{"start":{"line":81,"column":10},"end":{"line":83,"column":11}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":83,"column":11}},{"start":{},"end":{}}],"line":81},"10":{"loc":{"start":{"line":81,"column":14},"end":{"line":81,"column":73}},"type":"binary-expr","locations":[{"start":{"line":81,"column":14},"end":{"line":81,"column":53}},{"start":{"line":81,"column":57},"end":{"line":81,"column":73}}],"line":81},"11":{"loc":{"start":{"line":96,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":96},"12":{"loc":{"start":{"line":97,"column":6},"end":{"line":106,"column":7}},"type":"if","locations":[{"start":{"line":97,"column":6},"end":{"line":106,"column":7}},{"start":{},"end":{}}],"line":97},"13":{"loc":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},{"start":{},"end":{}}],"line":99},"14":{"loc":{"start":{"line":99,"column":12},"end":{"line":99,"column":146}},"type":"binary-expr","locations":[{"start":{"line":99,"column":12},"end":{"line":99,"column":55}},{"start":{"line":99,"column":59},"end":{"line":99,"column":101}},{"start":{"line":99,"column":105},"end":{"line":99,"column":146}}],"line":99},"15":{"loc":{"start":{"line":102,"column":8},"end":{"line":104,"column":9}},"type":"if","locations":[{"start":{"line":102,"column":8},"end":{"line":104,"column":9}},{"start":{},"end":{}}],"line":102},"16":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":71}},"type":"binary-expr","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":51}},{"start":{"line":102,"column":55},"end":{"line":102,"column":71}}],"line":102},"17":{"loc":{"start":{"line":142,"column":4},"end":{"line":147,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":147,"column":5}},{"start":{},"end":{}}],"line":142},"18":{"loc":{"start":{"line":151,"column":4},"end":{"line":156,"column":5}},"type":"if","locations":[{"start":{"line":151,"column":4},"end":{"line":156,"column":5}},{"start":{},"end":{}}],"line":151},"19":{"loc":{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},{"start":{},"end":{}}],"line":160},"20":{"loc":{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},{"start":{},"end":{}}],"line":169},"21":{"loc":{"start":{"line":178,"column":4},"end":{"line":183,"column":5}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":183,"column":5}},{"start":{},"end":{}}],"line":178},"22":{"loc":{"start":{"line":187,"column":4},"end":{"line":192,"column":5}},"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":192,"column":5}},{"start":{},"end":{}}],"line":187},"23":{"loc":{"start":{"line":195,"column":59},"end":{"line":195,"column":149}},"type":"binary-expr","locations":[{"start":{"line":195,"column":59},"end":{"line":195,"column":122}},{"start":{"line":195,"column":126},"end":{"line":195,"column":149}}],"line":195},"24":{"loc":{"start":{"line":214,"column":7},"end":{"line":216,"column":7}},"type":"binary-expr","locations":[{"start":{"line":214,"column":7},"end":{"line":214,"column":22}},{"start":{"line":215,"column":8},"end":{"line":215,"column":89}}],"line":214},"25":{"loc":{"start":{"line":223,"column":10},"end":{"line":241,"column":11}},"type":"cond-expr","locations":[{"start":{"line":224,"column":12},"end":{"line":231,"column":14}},{"start":{"line":233,"column":12},"end":{"line":240,"column":14}}],"line":223},"26":{"loc":{"start":{"line":245,"column":8},"end":{"line":305,"column":9}},"type":"binary-expr","locations":[{"start":{"line":245,"column":8},"end":{"line":245,"column":21}},{"start":{"line":245,"column":25},"end":{"line":245,"column":34}},{"start":{"line":246,"column":10},"end":{"line":304,"column":13}}],"line":245},"27":{"loc":{"start":{"line":257,"column":77},"end":{"line":257,"column":165}},"type":"binary-expr","locations":[{"start":{"line":257,"column":77},"end":{"line":257,"column":140}},{"start":{"line":257,"column":144},"end":{"line":257,"column":165}}],"line":257},"28":{"loc":{"start":{"line":258,"column":103},"end":{"line":258,"column":191}},"type":"binary-expr","locations":[{"start":{"line":258,"column":103},"end":{"line":258,"column":166}},{"start":{"line":258,"column":170},"end":{"line":258,"column":191}}],"line":258},"29":{"loc":{"start":{"line":263,"column":78},"end":{"line":263,"column":168}},"type":"binary-expr","locations":[{"start":{"line":263,"column":78},"end":{"line":263,"column":142}},{"start":{"line":263,"column":146},"end":{"line":263,"column":168}}],"line":263},"30":{"loc":{"start":{"line":264,"column":75},"end":{"line":264,"column":165}},"type":"binary-expr","locations":[{"start":{"line":264,"column":75},"end":{"line":264,"column":139}},{"start":{"line":264,"column":143},"end":{"line":264,"column":165}}],"line":264},"31":{"loc":{"start":{"line":271,"column":14},"end":{"line":290,"column":15}},"type":"binary-expr","locations":[{"start":{"line":271,"column":14},"end":{"line":271,"column":104}},{"start":{"line":272,"column":16},"end":{"line":289,"column":19}}],"line":271},"32":{"loc":{"start":{"line":286,"column":19},"end":{"line":288,"column":19}},"type":"binary-expr","locations":[{"start":{"line":286,"column":19},"end":{"line":286,"column":37}},{"start":{"line":287,"column":20},"end":{"line":287,"column":140}}],"line":286},"33":{"loc":{"start":{"line":307,"column":7},"end":{"line":317,"column":7}},"type":"binary-expr","locations":[{"start":{"line":307,"column":8},"end":{"line":307,"column":53}},{"start":{"line":307,"column":57},"end":{"line":307,"column":114}},{"start":{"line":308,"column":8},"end":{"line":316,"column":14}}],"line":307},"34":{"loc":{"start":{"line":312,"column":11},"end":{"line":314,"column":18}},"type":"cond-expr","locations":[{"start":{"line":313,"column":12},"end":{"line":313,"column":68}},{"start":{"line":314,"column":14},"end":{"line":314,"column":18}}],"line":312}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0],"34":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/CompositionTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/CompositionTokenForm.tsx","statementMap":{"0":{"start":{"line":30,"column":15},"end":{"line":30,"column":27}},"1":{"start":{"line":31,"column":34},"end":{"line":31,"column":69}},"2":{"start":{"line":32,"column":28},"end":{"line":32,"column":49}},"3":{"start":{"line":33,"column":16},"end":{"line":33,"column":42}},"4":{"start":{"line":35,"column":25},"end":{"line":39,"column":8}},"5":{"start":{"line":36,"column":4},"end":{"line":38,"column":6}},"6":{"start":{"line":37,"column":6},"end":{"line":37,"column":57}},"7":{"start":{"line":41,"column":2},"end":{"line":47,"column":9}},"8":{"start":{"line":42,"column":45},"end":{"line":42,"column":47}},"9":{"start":{"line":43,"column":4},"end":{"line":45,"column":7}},"10":{"start":{"line":44,"column":6},"end":{"line":44,"column":71}},"11":{"start":{"line":46,"column":4},"end":{"line":46,"column":33}},"12":{"start":{"line":50,"column":29},"end":{"line":54,"column":35}},"13":{"start":{"line":51,"column":35},"end":{"line":51,"column":111}},"14":{"start":{"line":52,"column":4},"end":{"line":53,"column":113}},"15":{"start":{"line":52,"column":83},"end":{"line":52,"column":180}},"16":{"start":{"line":53,"column":19},"end":{"line":53,"column":109}},"17":{"start":{"line":56,"column":19},"end":{"line":63,"column":25}},"18":{"start":{"line":57,"column":35},"end":{"line":57,"column":111}},"19":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"20":{"start":{"line":59,"column":6},"end":{"line":59,"column":21}},"21":{"start":{"line":61,"column":4},"end":{"line":61,"column":64}},"22":{"start":{"line":62,"column":4},"end":{"line":62,"column":61}},"23":{"start":{"line":65,"column":22},"end":{"line":69,"column":25}},"24":{"start":{"line":66,"column":35},"end":{"line":66,"column":111}},"25":{"start":{"line":67,"column":100},"end":{"line":67,"column":122}},"26":{"start":{"line":68,"column":4},"end":{"line":68,"column":52}},"27":{"start":{"line":71,"column":25},"end":{"line":73,"column":8}},"28":{"start":{"line":72,"column":4},"end":{"line":72,"column":29}},"29":{"start":{"line":75,"column":24},"end":{"line":85,"column":40}},"30":{"start":{"line":76,"column":41},"end":{"line":76,"column":43}},"31":{"start":{"line":77,"column":35},"end":{"line":77,"column":111}},"32":{"start":{"line":78,"column":4},"end":{"line":80,"column":7}},"33":{"start":{"line":79,"column":6},"end":{"line":79,"column":66}},"34":{"start":{"line":81,"column":33},"end":{"line":82,"column":112}},"35":{"start":{"line":81,"column":105},"end":{"line":81,"column":208}},"36":{"start":{"line":82,"column":19},"end":{"line":82,"column":109}},"37":{"start":{"line":83,"column":4},"end":{"line":83,"column":29}},"38":{"start":{"line":84,"column":4},"end":{"line":84,"column":59}},"39":{"start":{"line":87,"column":2},"end":{"line":148,"column":4}},"40":{"start":{"line":125,"column":20},"end":{"line":140,"column":31}}},"fnMap":{"0":{"name":"CompositionTokenForm","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":44}},"loc":{"start":{"line":29,"column":3},"end":{"line":149,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":39},"end":{"line":35,"column":40}},"loc":{"start":{"line":36,"column":4},"end":{"line":38,"column":6}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":66},"end":{"line":36,"column":67}},"loc":{"start":{"line":37,"column":6},"end":{"line":37,"column":57}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":18},"end":{"line":41,"column":19}},"loc":{"start":{"line":41,"column":24},"end":{"line":47,"column":3}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":102},"end":{"line":43,"column":103}},"loc":{"start":{"line":43,"column":118},"end":{"line":45,"column":5}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":60},"end":{"line":50,"column":61}},"loc":{"start":{"line":50,"column":66},"end":{"line":54,"column":3}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":73},"end":{"line":52,"column":74}},"loc":{"start":{"line":52,"column":83},"end":{"line":52,"column":180}},"line":52},"7":{"name":"(anonymous_7)","decl":{"start":{"line":53,"column":11},"end":{"line":53,"column":12}},"loc":{"start":{"line":53,"column":19},"end":{"line":53,"column":109}},"line":53},"8":{"name":"(anonymous_8)","decl":{"start":{"line":56,"column":31},"end":{"line":56,"column":32}},"loc":{"start":{"line":56,"column":37},"end":{"line":63,"column":3}},"line":56},"9":{"name":"(anonymous_9)","decl":{"start":{"line":65,"column":34},"end":{"line":65,"column":35}},"loc":{"start":{"line":65,"column":56},"end":{"line":69,"column":3}},"line":65},"10":{"name":"(anonymous_10)","decl":{"start":{"line":71,"column":37},"end":{"line":71,"column":38}},"loc":{"start":{"line":71,"column":71},"end":{"line":73,"column":3}},"line":71},"11":{"name":"(anonymous_11)","decl":{"start":{"line":75,"column":42},"end":{"line":75,"column":43}},"loc":{"start":{"line":75,"column":72},"end":{"line":85,"column":3}},"line":75},"12":{"name":"(anonymous_12)","decl":{"start":{"line":78,"column":27},"end":{"line":78,"column":28}},"loc":{"start":{"line":78,"column":43},"end":{"line":80,"column":5}},"line":78},"13":{"name":"(anonymous_13)","decl":{"start":{"line":81,"column":95},"end":{"line":81,"column":96}},"loc":{"start":{"line":81,"column":105},"end":{"line":81,"column":208}},"line":81},"14":{"name":"(anonymous_14)","decl":{"start":{"line":82,"column":11},"end":{"line":82,"column":12}},"loc":{"start":{"line":82,"column":19},"end":{"line":82,"column":109}},"line":82},"15":{"name":"(anonymous_15)","decl":{"start":{"line":124,"column":57},"end":{"line":124,"column":58}},"loc":{"start":{"line":125,"column":20},"end":{"line":140,"column":31}},"line":125}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":16},"end":{"line":43,"column":92}},"type":"binary-expr","locations":[{"start":{"line":43,"column":16},"end":{"line":43,"column":39}},{"start":{"line":43,"column":43},"end":{"line":43,"column":92}}],"line":43},"1":{"loc":{"start":{"line":51,"column":35},"end":{"line":51,"column":111}},"type":"binary-expr","locations":[{"start":{"line":51,"column":35},"end":{"line":51,"column":58}},{"start":{"line":51,"column":62},"end":{"line":51,"column":111}}],"line":51},"2":{"loc":{"start":{"line":57,"column":35},"end":{"line":57,"column":111}},"type":"binary-expr","locations":[{"start":{"line":57,"column":35},"end":{"line":57,"column":58}},{"start":{"line":57,"column":62},"end":{"line":57,"column":111}}],"line":57},"3":{"loc":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":58},"4":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":101}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":101}}],"line":58},"5":{"loc":{"start":{"line":66,"column":35},"end":{"line":66,"column":111}},"type":"binary-expr","locations":[{"start":{"line":66,"column":35},"end":{"line":66,"column":58}},{"start":{"line":66,"column":62},"end":{"line":66,"column":111}}],"line":66},"6":{"loc":{"start":{"line":77,"column":35},"end":{"line":77,"column":111}},"type":"binary-expr","locations":[{"start":{"line":77,"column":35},"end":{"line":77,"column":58}},{"start":{"line":77,"column":62},"end":{"line":77,"column":111}}],"line":77},"7":{"loc":{"start":{"line":92,"column":19},"end":{"line":92,"column":75}},"type":"cond-expr","locations":[{"start":{"line":92,"column":27},"end":{"line":92,"column":52}},{"start":{"line":92,"column":55},"end":{"line":92,"column":75}}],"line":92},"8":{"loc":{"start":{"line":103,"column":12},"end":{"line":144,"column":13}},"type":"cond-expr","locations":[{"start":{"line":104,"column":14},"end":{"line":116,"column":16}},{"start":{"line":118,"column":14},"end":{"line":143,"column":29}}],"line":103}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConfirmDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConfirmDialog.tsx","statementMap":{"0":{"start":{"line":12,"column":7},"end":{"line":29,"column":1}},"1":{"start":{"line":17,"column":30},"end":{"line":19,"column":31}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":47}},"3":{"start":{"line":21,"column":2},"end":{"line":28,"column":4}},"4":{"start":{"line":32,"column":24},"end":{"line":32,"column":68}},"5":{"start":{"line":33,"column":21},"end":{"line":33,"column":64}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":18}},"7":{"start":{"line":37,"column":30},"end":{"line":37,"column":58}},"8":{"start":{"line":38,"column":38},"end":{"line":38,"column":56}},"9":{"start":{"line":40,"column":2},"end":{"line":42,"column":26}},"10":{"start":{"line":41,"column":4},"end":{"line":41,"column":22}},"11":{"start":{"line":44,"column":23},"end":{"line":63,"column":3}},"12":{"start":{"line":46,"column":6},"end":{"line":52,"column":7}},"13":{"start":{"line":47,"column":22},"end":{"line":47,"column":40}},"14":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"15":{"start":{"line":49,"column":10},"end":{"line":49,"column":33}},"16":{"start":{"line":51,"column":8},"end":{"line":51,"column":63}},"17":{"start":{"line":51,"column":49},"end":{"line":51,"column":60}},"18":{"start":{"line":53,"column":20},"end":{"line":53,"column":38}},"19":{"start":{"line":54,"column":6},"end":{"line":58,"column":7}},"20":{"start":{"line":55,"column":8},"end":{"line":55,"column":35}},"21":{"start":{"line":57,"column":8},"end":{"line":57,"column":56}},"22":{"start":{"line":57,"column":42},"end":{"line":57,"column":53}},"23":{"start":{"line":60,"column":6},"end":{"line":60,"column":22}},"24":{"start":{"line":65,"column":28},"end":{"line":67,"column":8}},"25":{"start":{"line":66,"column":4},"end":{"line":66,"column":38}},"26":{"start":{"line":69,"column":24},"end":{"line":76,"column":51}},"27":{"start":{"line":70,"column":4},"end":{"line":70,"column":27}},"28":{"start":{"line":71,"column":4},"end":{"line":75,"column":5}},"29":{"start":{"line":72,"column":6},"end":{"line":72,"column":28}},"30":{"start":{"line":74,"column":6},"end":{"line":74,"column":24}},"31":{"start":{"line":78,"column":2},"end":{"line":85,"column":75}},"32":{"start":{"line":79,"column":4},"end":{"line":79,"column":105}},"33":{"start":{"line":79,"column":30},"end":{"line":79,"column":105}},"34":{"start":{"line":79,"column":75},"end":{"line":79,"column":84}},"35":{"start":{"line":79,"column":97},"end":{"line":79,"column":102}},"36":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"37":{"start":{"line":81,"column":6},"end":{"line":81,"column":33}},"38":{"start":{"line":82,"column":11},"end":{"line":84,"column":5}},"39":{"start":{"line":83,"column":6},"end":{"line":83,"column":36}},"40":{"start":{"line":87,"column":26},"end":{"line":87,"column":60}},"41":{"start":{"line":89,"column":2},"end":{"line":138,"column":11}},"42":{"start":{"line":110,"column":18},"end":{"line":122,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":7},"end":{"line":12,"column":8}},"loc":{"start":{"line":16,"column":6},"end":{"line":29,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":48},"end":{"line":17,"column":49}},"loc":{"start":{"line":17,"column":54},"end":{"line":19,"column":3}},"line":17},"2":{"name":"ConfirmDialog","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":22}},"loc":{"start":{"line":31,"column":25},"end":{"line":139,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":18},"end":{"line":40,"column":19}},"loc":{"start":{"line":40,"column":24},"end":{"line":42,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":38},"end":{"line":61,"column":5}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":39},"end":{"line":51,"column":40}},"loc":{"start":{"line":51,"column":49},"end":{"line":51,"column":60}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":57,"column":32},"end":{"line":57,"column":33}},"loc":{"start":{"line":57,"column":42},"end":{"line":57,"column":53}},"line":57},"7":{"name":"(anonymous_7)","decl":{"start":{"line":60,"column":13},"end":{"line":60,"column":14}},"loc":{"start":{"line":60,"column":19},"end":{"line":60,"column":21}},"line":60},"8":{"name":"(anonymous_8)","decl":{"start":{"line":65,"column":46},"end":{"line":65,"column":47}},"loc":{"start":{"line":65,"column":94},"end":{"line":67,"column":3}},"line":65},"9":{"name":"(anonymous_9)","decl":{"start":{"line":69,"column":42},"end":{"line":69,"column":43}},"loc":{"start":{"line":69,"column":87},"end":{"line":76,"column":3}},"line":69},"10":{"name":"(anonymous_10)","decl":{"start":{"line":78,"column":18},"end":{"line":78,"column":19}},"loc":{"start":{"line":78,"column":24},"end":{"line":85,"column":3}},"line":78},"11":{"name":"(anonymous_11)","decl":{"start":{"line":79,"column":68},"end":{"line":79,"column":69}},"loc":{"start":{"line":79,"column":75},"end":{"line":79,"column":84}},"line":79},"12":{"name":"(anonymous_12)","decl":{"start":{"line":79,"column":90},"end":{"line":79,"column":91}},"loc":{"start":{"line":79,"column":97},"end":{"line":79,"column":102}},"line":79},"13":{"name":"(anonymous_13)","decl":{"start":{"line":109,"column":42},"end":{"line":109,"column":43}},"loc":{"start":{"line":110,"column":18},"end":{"line":122,"column":24}},"line":110}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":52,"column":7}},{"start":{},"end":{}}],"line":46},"1":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{},"end":{}}],"line":48},"2":{"loc":{"start":{"line":54,"column":6},"end":{"line":58,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":58,"column":7}},{"start":{"line":56,"column":13},"end":{"line":58,"column":7}}],"line":54},"3":{"loc":{"start":{"line":71,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":75,"column":5}},{"start":{"line":73,"column":11},"end":{"line":75,"column":5}}],"line":71},"4":{"loc":{"start":{"line":79,"column":4},"end":{"line":79,"column":105}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":79,"column":105}},{"start":{},"end":{}}],"line":79},"5":{"loc":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},{"start":{"line":82,"column":11},"end":{"line":84,"column":5}}],"line":80},"6":{"loc":{"start":{"line":82,"column":11},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":82,"column":11},"end":{"line":84,"column":5}},{"start":{},"end":{}}],"line":82},"7":{"loc":{"start":{"line":89,"column":9},"end":{"line":138,"column":10}},"type":"cond-expr","locations":[{"start":{"line":90,"column":4},"end":{"line":137,"column":12}},{"start":{"line":138,"column":6},"end":{"line":138,"column":10}}],"line":89},"8":{"loc":{"start":{"line":90,"column":42},"end":{"line":90,"column":81}},"type":"binary-expr","locations":[{"start":{"line":90,"column":42},"end":{"line":90,"column":60}},{"start":{"line":90,"column":64},"end":{"line":90,"column":81}}],"line":90},"9":{"loc":{"start":{"line":94,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":94,"column":13},"end":{"line":94,"column":38}},{"start":{"line":95,"column":14},"end":{"line":95,"column":59}}],"line":94},"10":{"loc":{"start":{"line":97,"column":13},"end":{"line":106,"column":20}},"type":"cond-expr","locations":[{"start":{"line":98,"column":14},"end":{"line":105,"column":16}},{"start":{"line":106,"column":16},"end":{"line":106,"column":20}}],"line":97},"11":{"loc":{"start":{"line":107,"column":13},"end":{"line":125,"column":20}},"type":"cond-expr","locations":[{"start":{"line":108,"column":14},"end":{"line":124,"column":22}},{"start":{"line":125,"column":16},"end":{"line":125,"column":20}}],"line":107},"12":{"loc":{"start":{"line":127,"column":50},"end":{"line":127,"column":85}},"type":"cond-expr","locations":[{"start":{"line":127,"column":68},"end":{"line":127,"column":77}},{"start":{"line":127,"column":80},"end":{"line":127,"column":85}}],"line":127},"13":{"loc":{"start":{"line":131,"column":43},"end":{"line":131,"column":81}},"type":"cond-expr","locations":[{"start":{"line":131,"column":61},"end":{"line":131,"column":69}},{"start":{"line":131,"column":72},"end":{"line":131,"column":81}}],"line":131}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConvertToDTCGModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ConvertToDTCGModal.tsx","statementMap":{"0":{"start":{"line":21,"column":19},"end":{"line":21,"column":42}},"1":{"start":{"line":22,"column":38},"end":{"line":22,"column":86}},"2":{"start":{"line":23,"column":22},"end":{"line":23,"column":54}},"3":{"start":{"line":24,"column":25},"end":{"line":24,"column":42}},"4":{"start":{"line":25,"column":25},"end":{"line":25,"column":42}},"5":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"6":{"start":{"line":27,"column":22},"end":{"line":27,"column":54}},"7":{"start":{"line":29,"column":17},"end":{"line":29,"column":56}},"8":{"start":{"line":31,"column":22},"end":{"line":33,"column":24}},"9":{"start":{"line":32,"column":4},"end":{"line":32,"column":59}},"10":{"start":{"line":35,"column":24},"end":{"line":48,"column":49}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":101}},"12":{"start":{"line":37,"column":4},"end":{"line":37,"column":59}},"13":{"start":{"line":38,"column":4},"end":{"line":38,"column":67}},"14":{"start":{"line":38,"column":60},"end":{"line":38,"column":67}},"15":{"start":{"line":39,"column":4},"end":{"line":47,"column":7}},"16":{"start":{"line":50,"column":27},"end":{"line":50,"column":91}},"17":{"start":{"line":52,"column":2},"end":{"line":68,"column":4}}},"fnMap":{"0":{"name":"ConvertToDTCGModal","decl":{"start":{"line":20,"column":16},"end":{"line":20,"column":34}},"loc":{"start":{"line":20,"column":37},"end":{"line":69,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":40},"end":{"line":31,"column":41}},"loc":{"start":{"line":31,"column":46},"end":{"line":33,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":42},"end":{"line":35,"column":43}},"loc":{"start":{"line":35,"column":48},"end":{"line":48,"column":3}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":39},"end":{"line":36,"column":99}},"type":"cond-expr","locations":[{"start":{"line":36,"column":48},"end":{"line":36,"column":73}},{"start":{"line":36,"column":76},"end":{"line":36,"column":99}}],"line":36},"1":{"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":67}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":38,"column":67}},{"start":{},"end":{}}],"line":38},"2":{"loc":{"start":{"line":40,"column":17},"end":{"line":46,"column":7}},"type":"cond-expr","locations":[{"start":{"line":40,"column":26},"end":{"line":43,"column":7}},{"start":{"line":43,"column":10},"end":{"line":46,"column":7}}],"line":40},"3":{"loc":{"start":{"line":50,"column":27},"end":{"line":50,"column":91}},"type":"binary-expr","locations":[{"start":{"line":50,"column":27},"end":{"line":50,"column":37}},{"start":{"line":50,"column":41},"end":{"line":50,"column":91}}],"line":50},"4":{"loc":{"start":{"line":53,"column":18},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":27},"end":{"line":53,"column":51}},{"start":{"line":53,"column":54},"end":{"line":53,"column":74}}],"line":53},"5":{"loc":{"start":{"line":55,"column":27},"end":{"line":55,"column":72}},"type":"cond-expr","locations":[{"start":{"line":55,"column":36},"end":{"line":55,"column":54}},{"start":{"line":55,"column":57},"end":{"line":55,"column":72}}],"line":55},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":86}},"type":"cond-expr","locations":[{"start":{"line":57,"column":20},"end":{"line":57,"column":50}},{"start":{"line":57,"column":53},"end":{"line":57,"column":86}}],"line":57},"7":{"loc":{"start":{"line":61,"column":13},"end":{"line":61,"column":62}},"type":"cond-expr","locations":[{"start":{"line":61,"column":22},"end":{"line":61,"column":42}},{"start":{"line":61,"column":45},"end":{"line":61,"column":62}}],"line":61},"8":{"loc":{"start":{"line":65,"column":9},"end":{"line":65,"column":79}},"type":"binary-expr","locations":[{"start":{"line":65,"column":9},"end":{"line":65,"column":25}},{"start":{"line":65,"column":29},"end":{"line":65,"column":79}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Count.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Count.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":17,"column":4}}},"fnMap":{"0":{"name":"Count","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":21}},"loc":{"start":{"line":4,"column":53},"end":{"line":18,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DirtyStateBadgeWrapper.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DirtyStateBadgeWrapper.tsx","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}}},"fnMap":{"0":{"name":"DirtyStateBadgeWrapper","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":107},"end":{"line":12,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":7},"end":{"line":8,"column":41}},"type":"binary-expr","locations":[{"start":{"line":8,"column":7},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":41}}],"line":8}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Divider.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Divider.tsx","statementMap":{"0":{"start":{"line":3,"column":23},"end":{"line":5,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenForm.tsx","statementMap":{"0":{"start":{"line":47,"column":39},"end":{"line":47,"column":59}},"1":{"start":{"line":48,"column":27},"end":{"line":48,"column":32}},"2":{"start":{"line":58,"column":16},"end":{"line":58,"column":52}},"3":{"start":{"line":59,"column":25},"end":{"line":59,"column":60}},"4":{"start":{"line":60,"column":17},"end":{"line":60,"column":44}},"5":{"start":{"line":61,"column":20},"end":{"line":61,"column":50}},"6":{"start":{"line":62,"column":17},"end":{"line":62,"column":48}},"7":{"start":{"line":63,"column":52},"end":{"line":63,"column":94}},"8":{"start":{"line":66,"column":6},"end":{"line":66,"column":23}},"9":{"start":{"line":69,"column":6},"end":{"line":69,"column":17}},"10":{"start":{"line":70,"column":19},"end":{"line":70,"column":42}},"11":{"start":{"line":71,"column":28},"end":{"line":71,"column":63}},"12":{"start":{"line":72,"column":52},"end":{"line":72,"column":95}},"13":{"start":{"line":73,"column":22},"end":{"line":73,"column":34}},"14":{"start":{"line":74,"column":32},"end":{"line":80,"column":3}},"15":{"start":{"line":75,"column":10},"end":{"line":78,"column":83}},"16":{"start":{"line":81,"column":28},"end":{"line":86,"column":25}},"17":{"start":{"line":82,"column":4},"end":{"line":84,"column":5}},"18":{"start":{"line":83,"column":6},"end":{"line":83,"column":80}},"19":{"start":{"line":85,"column":4},"end":{"line":85,"column":16}},"20":{"start":{"line":88,"column":18},"end":{"line":103,"column":74}},"21":{"start":{"line":89,"column":4},"end":{"line":95,"column":5}},"22":{"start":{"line":94,"column":6},"end":{"line":94,"column":19}},"23":{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},"24":{"start":{"line":97,"column":6},"end":{"line":97,"column":18}},"25":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"26":{"start":{"line":100,"column":6},"end":{"line":100,"column":31}},"27":{"start":{"line":102,"column":4},"end":{"line":102,"column":72}},"28":{"start":{"line":105,"column":35},"end":{"line":115,"column":76}},"29":{"start":{"line":106,"column":22},"end":{"line":108,"column":54}},"30":{"start":{"line":107,"column":21},"end":{"line":107,"column":73}},"31":{"start":{"line":108,"column":19},"end":{"line":108,"column":53}},"32":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"33":{"start":{"line":111,"column":6},"end":{"line":111,"column":60}},"34":{"start":{"line":114,"column":4},"end":{"line":114,"column":21}},"35":{"start":{"line":117,"column":44},"end":{"line":123,"column":3}},"36":{"start":{"line":118,"column":10},"end":{"line":121,"column":68}},"37":{"start":{"line":119,"column":21},"end":{"line":119,"column":58}},"38":{"start":{"line":120,"column":21},"end":{"line":120,"column":62}},"39":{"start":{"line":121,"column":19},"end":{"line":121,"column":67}},"40":{"start":{"line":125,"column":25},"end":{"line":130,"column":25}},"41":{"start":{"line":126,"column":4},"end":{"line":128,"column":5}},"42":{"start":{"line":127,"column":6},"end":{"line":127,"column":90}},"43":{"start":{"line":129,"column":4},"end":{"line":129,"column":17}},"44":{"start":{"line":132,"column":37},"end":{"line":137,"column":25}},"45":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"46":{"start":{"line":134,"column":6},"end":{"line":134,"column":52}},"47":{"start":{"line":136,"column":4},"end":{"line":136,"column":17}},"48":{"start":{"line":139,"column":28},"end":{"line":152,"column":57}},"49":{"start":{"line":140,"column":33},"end":{"line":140,"column":100}},"50":{"start":{"line":140,"column":62},"end":{"line":140,"column":99}},"51":{"start":{"line":141,"column":4},"end":{"line":144,"column":5}},"52":{"start":{"line":143,"column":6},"end":{"line":143,"column":96}},"53":{"start":{"line":143,"column":46},"end":{"line":143,"column":94}},"54":{"start":{"line":145,"column":4},"end":{"line":150,"column":5}},"55":{"start":{"line":147,"column":6},"end":{"line":149,"column":8}},"56":{"start":{"line":148,"column":15},"end":{"line":148,"column":107}},"57":{"start":{"line":151,"column":4},"end":{"line":151,"column":17}},"58":{"start":{"line":154,"column":25},"end":{"line":157,"column":3}},"59":{"start":{"line":155,"column":10},"end":{"line":155,"column":68}},"60":{"start":{"line":159,"column":25},"end":{"line":166,"column":25}},"61":{"start":{"line":160,"column":4},"end":{"line":164,"column":5}},"62":{"start":{"line":161,"column":6},"end":{"line":163,"column":48}},"63":{"start":{"line":165,"column":4},"end":{"line":165,"column":17}},"64":{"start":{"line":168,"column":2},"end":{"line":190,"column":119}},"65":{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},"66":{"start":{"line":170,"column":6},"end":{"line":170,"column":62}},"67":{"start":{"line":172,"column":4},"end":{"line":177,"column":5}},"68":{"start":{"line":176,"column":6},"end":{"line":176,"column":68}},"69":{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},"70":{"start":{"line":179,"column":6},"end":{"line":179,"column":86}},"71":{"start":{"line":181,"column":4},"end":{"line":183,"column":5}},"72":{"start":{"line":182,"column":6},"end":{"line":182,"column":69}},"73":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"74":{"start":{"line":185,"column":6},"end":{"line":185,"column":72}},"75":{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},"76":{"start":{"line":188,"column":6},"end":{"line":188,"column":72}},"77":{"start":{"line":192,"column":23},"end":{"line":200,"column":3}},"78":{"start":{"line":194,"column":6},"end":{"line":194,"column":21}},"79":{"start":{"line":195,"column":6},"end":{"line":197,"column":7}},"80":{"start":{"line":196,"column":8},"end":{"line":196,"column":74}},"81":{"start":{"line":202,"column":27},"end":{"line":210,"column":3}},"82":{"start":{"line":204,"column":6},"end":{"line":204,"column":21}},"83":{"start":{"line":205,"column":6},"end":{"line":207,"column":7}},"84":{"start":{"line":206,"column":8},"end":{"line":206,"column":88}},"85":{"start":{"line":212,"column":21},"end":{"line":216,"column":48}},"86":{"start":{"line":213,"column":4},"end":{"line":215,"column":5}},"87":{"start":{"line":214,"column":6},"end":{"line":214,"column":63}},"88":{"start":{"line":218,"column":37},"end":{"line":226,"column":3}},"89":{"start":{"line":220,"column":6},"end":{"line":220,"column":21}},"90":{"start":{"line":221,"column":6},"end":{"line":223,"column":7}},"91":{"start":{"line":222,"column":8},"end":{"line":222,"column":89}},"92":{"start":{"line":222,"column":40},"end":{"line":222,"column":86}},"93":{"start":{"line":228,"column":34},"end":{"line":235,"column":3}},"94":{"start":{"line":230,"column":6},"end":{"line":232,"column":7}},"95":{"start":{"line":231,"column":8},"end":{"line":231,"column":95}},"96":{"start":{"line":231,"column":40},"end":{"line":231,"column":92}},"97":{"start":{"line":237,"column":38},"end":{"line":257,"column":3}},"98":{"start":{"line":239,"column":6},"end":{"line":254,"column":7}},"99":{"start":{"line":240,"column":8},"end":{"line":253,"column":9}},"100":{"start":{"line":241,"column":10},"end":{"line":247,"column":13}},"101":{"start":{"line":248,"column":15},"end":{"line":253,"column":9}},"102":{"start":{"line":249,"column":10},"end":{"line":249,"column":91}},"103":{"start":{"line":250,"column":10},"end":{"line":252,"column":13}},"104":{"start":{"line":259,"column":52},"end":{"line":269,"column":3}},"105":{"start":{"line":261,"column":6},"end":{"line":266,"column":7}},"106":{"start":{"line":262,"column":8},"end":{"line":265,"column":11}},"107":{"start":{"line":271,"column":29},"end":{"line":281,"column":3}},"108":{"start":{"line":273,"column":6},"end":{"line":278,"column":7}},"109":{"start":{"line":274,"column":8},"end":{"line":277,"column":11}},"110":{"start":{"line":283,"column":34},"end":{"line":296,"column":3}},"111":{"start":{"line":285,"column":6},"end":{"line":293,"column":7}},"112":{"start":{"line":286,"column":8},"end":{"line":292,"column":11}},"113":{"start":{"line":298,"column":48},"end":{"line":308,"column":3}},"114":{"start":{"line":300,"column":6},"end":{"line":305,"column":7}},"115":{"start":{"line":301,"column":8},"end":{"line":304,"column":11}},"116":{"start":{"line":310,"column":25},"end":{"line":320,"column":3}},"117":{"start":{"line":312,"column":6},"end":{"line":317,"column":7}},"118":{"start":{"line":313,"column":8},"end":{"line":316,"column":11}},"119":{"start":{"line":322,"column":28},"end":{"line":332,"column":25}},"120":{"start":{"line":323,"column":21},"end":{"line":323,"column":76}},"121":{"start":{"line":324,"column":4},"end":{"line":324,"column":28}},"122":{"start":{"line":325,"column":4},"end":{"line":331,"column":7}},"123":{"start":{"line":334,"column":34},"end":{"line":348,"column":3}},"124":{"start":{"line":336,"column":6},"end":{"line":345,"column":9}},"125":{"start":{"line":350,"column":37},"end":{"line":358,"column":3}},"126":{"start":{"line":352,"column":6},"end":{"line":355,"column":29}},"127":{"start":{"line":360,"column":34},"end":{"line":370,"column":3}},"128":{"start":{"line":362,"column":6},"end":{"line":367,"column":7}},"129":{"start":{"line":363,"column":8},"end":{"line":366,"column":11}},"130":{"start":{"line":372,"column":24},"end":{"line":379,"column":41}},"131":{"start":{"line":373,"column":4},"end":{"line":377,"column":5}},"132":{"start":{"line":374,"column":6},"end":{"line":376,"column":15}},"133":{"start":{"line":378,"column":4},"end":{"line":378,"column":16}},"134":{"start":{"line":382,"column":27},"end":{"line":516,"column":3}},"135":{"start":{"line":385,"column":4},"end":{"line":515,"column":5}},"136":{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},"137":{"start":{"line":388,"column":8},"end":{"line":388,"column":48}},"138":{"start":{"line":390,"column":27},"end":{"line":390,"column":43}},"139":{"start":{"line":391,"column":22},"end":{"line":394,"column":18}},"140":{"start":{"line":393,"column":20},"end":{"line":393,"column":28}},"141":{"start":{"line":395,"column":6},"end":{"line":514,"column":7}},"142":{"start":{"line":396,"column":8},"end":{"line":396,"column":118}},"143":{"start":{"line":397,"column":8},"end":{"line":404,"column":11}},"144":{"start":{"line":405,"column":13},"end":{"line":514,"column":7}},"145":{"start":{"line":406,"column":8},"end":{"line":414,"column":11}},"146":{"start":{"line":415,"column":8},"end":{"line":424,"column":9}},"147":{"start":{"line":416,"column":10},"end":{"line":423,"column":13}},"148":{"start":{"line":426,"column":8},"end":{"line":501,"column":9}},"149":{"start":{"line":427,"column":10},"end":{"line":427,"column":79}},"150":{"start":{"line":428,"column":36},"end":{"line":447,"column":11}},"151":{"start":{"line":448,"column":10},"end":{"line":453,"column":11}},"152":{"start":{"line":449,"column":12},"end":{"line":452,"column":15}},"153":{"start":{"line":454,"column":10},"end":{"line":463,"column":11}},"154":{"start":{"line":458,"column":12},"end":{"line":462,"column":15}},"155":{"start":{"line":464,"column":55},"end":{"line":464,"column":57}},"156":{"start":{"line":465,"column":10},"end":{"line":469,"column":13}},"157":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"158":{"start":{"line":466,"column":42},"end":{"line":466,"column":64}},"159":{"start":{"line":467,"column":14},"end":{"line":467,"column":56}},"160":{"start":{"line":470,"column":10},"end":{"line":475,"column":11}},"161":{"start":{"line":471,"column":12},"end":{"line":474,"column":15}},"162":{"start":{"line":476,"column":30},"end":{"line":480,"column":12}},"163":{"start":{"line":481,"column":10},"end":{"line":498,"column":11}},"164":{"start":{"line":482,"column":12},"end":{"line":487,"column":13}},"165":{"start":{"line":483,"column":54},"end":{"line":483,"column":143}},"166":{"start":{"line":485,"column":14},"end":{"line":485,"column":64}},"167":{"start":{"line":486,"column":14},"end":{"line":486,"column":71}},"168":{"start":{"line":488,"column":12},"end":{"line":490,"column":13}},"169":{"start":{"line":489,"column":14},"end":{"line":489,"column":89}},"170":{"start":{"line":491,"column":12},"end":{"line":494,"column":13}},"171":{"start":{"line":492,"column":14},"end":{"line":492,"column":77}},"172":{"start":{"line":493,"column":14},"end":{"line":493,"column":42}},"173":{"start":{"line":495,"column":12},"end":{"line":497,"column":13}},"174":{"start":{"line":496,"column":14},"end":{"line":496,"column":61}},"175":{"start":{"line":500,"column":10},"end":{"line":500,"column":50}},"176":{"start":{"line":502,"column":13},"end":{"line":514,"column":7}},"177":{"start":{"line":503,"column":8},"end":{"line":503,"column":111}},"178":{"start":{"line":504,"column":8},"end":{"line":513,"column":11}},"179":{"start":{"line":518,"column":35},"end":{"line":527,"column":85}},"180":{"start":{"line":519,"column":4},"end":{"line":522,"column":5}},"181":{"start":{"line":520,"column":6},"end":{"line":520,"column":63}},"182":{"start":{"line":521,"column":6},"end":{"line":521,"column":13}},"183":{"start":{"line":523,"column":4},"end":{"line":526,"column":5}},"184":{"start":{"line":524,"column":6},"end":{"line":524,"column":42}},"185":{"start":{"line":525,"column":6},"end":{"line":525,"column":46}},"186":{"start":{"line":529,"column":27},"end":{"line":532,"column":32}},"187":{"start":{"line":530,"column":4},"end":{"line":530,"column":23}},"188":{"start":{"line":531,"column":4},"end":{"line":531,"column":31}},"189":{"start":{"line":534,"column":29},"end":{"line":541,"column":3}},"190":{"start":{"line":536,"column":6},"end":{"line":538,"column":7}},"191":{"start":{"line":537,"column":8},"end":{"line":537,"column":35}},"192":{"start":{"line":543,"column":2},"end":{"line":543,"column":45}},"193":{"start":{"line":545,"column":22},"end":{"line":547,"column":16}},"194":{"start":{"line":546,"column":4},"end":{"line":546,"column":44}},"195":{"start":{"line":549,"column":35},"end":{"line":552,"column":8}},"196":{"start":{"line":550,"column":4},"end":{"line":550,"column":40}},"197":{"start":{"line":551,"column":4},"end":{"line":551,"column":49}},"198":{"start":{"line":551,"column":34},"end":{"line":551,"column":49}},"199":{"start":{"line":554,"column":26},"end":{"line":661,"column":3}},"200":{"start":{"line":555,"column":4},"end":{"line":555,"column":40}},"201":{"start":{"line":555,"column":28},"end":{"line":555,"column":40}},"202":{"start":{"line":557,"column":4},"end":{"line":660,"column":5}},"203":{"start":{"line":559,"column":8},"end":{"line":568,"column":10}},"204":{"start":{"line":571,"column":8},"end":{"line":582,"column":10}},"205":{"start":{"line":585,"column":8},"end":{"line":592,"column":10}},"206":{"start":{"line":595,"column":8},"end":{"line":606,"column":10}},"207":{"start":{"line":609,"column":8},"end":{"line":620,"column":10}},"208":{"start":{"line":623,"column":8},"end":{"line":658,"column":10}},"209":{"start":{"line":663,"column":2},"end":{"line":720,"column":4}}},"fnMap":{"0":{"name":"EditTokenForm","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":22}},"loc":{"start":{"line":57,"column":50},"end":{"line":721,"column":1}},"line":57},"1":{"name":"(anonymous_1)","decl":{"start":{"line":75,"column":4},"end":{"line":75,"column":5}},"loc":{"start":{"line":75,"column":10},"end":{"line":78,"column":83}},"line":75},"2":{"name":"(anonymous_2)","decl":{"start":{"line":81,"column":42},"end":{"line":81,"column":43}},"loc":{"start":{"line":81,"column":48},"end":{"line":86,"column":3}},"line":81},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":33}},"loc":{"start":{"line":88,"column":38},"end":{"line":103,"column":3}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":105,"column":49},"end":{"line":105,"column":50}},"loc":{"start":{"line":105,"column":55},"end":{"line":115,"column":3}},"line":105},"5":{"name":"(anonymous_5)","decl":{"start":{"line":107,"column":14},"end":{"line":107,"column":15}},"loc":{"start":{"line":107,"column":21},"end":{"line":107,"column":73}},"line":107},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":12},"end":{"line":108,"column":13}},"loc":{"start":{"line":108,"column":19},"end":{"line":108,"column":53}},"line":108},"7":{"name":"(anonymous_7)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":10},"end":{"line":121,"column":68}},"line":118},"8":{"name":"(anonymous_8)","decl":{"start":{"line":119,"column":14},"end":{"line":119,"column":15}},"loc":{"start":{"line":119,"column":21},"end":{"line":119,"column":58}},"line":119},"9":{"name":"(anonymous_9)","decl":{"start":{"line":120,"column":14},"end":{"line":120,"column":15}},"loc":{"start":{"line":120,"column":21},"end":{"line":120,"column":62}},"line":120},"10":{"name":"(anonymous_10)","decl":{"start":{"line":121,"column":12},"end":{"line":121,"column":13}},"loc":{"start":{"line":121,"column":19},"end":{"line":121,"column":67}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":125,"column":39},"end":{"line":125,"column":40}},"loc":{"start":{"line":125,"column":45},"end":{"line":130,"column":3}},"line":125},"12":{"name":"(anonymous_12)","decl":{"start":{"line":132,"column":51},"end":{"line":132,"column":52}},"loc":{"start":{"line":132,"column":57},"end":{"line":137,"column":3}},"line":132},"13":{"name":"(anonymous_13)","decl":{"start":{"line":139,"column":42},"end":{"line":139,"column":43}},"loc":{"start":{"line":139,"column":48},"end":{"line":152,"column":3}},"line":139},"14":{"name":"(anonymous_14)","decl":{"start":{"line":140,"column":55},"end":{"line":140,"column":56}},"loc":{"start":{"line":140,"column":62},"end":{"line":140,"column":99}},"line":140},"15":{"name":"(anonymous_15)","decl":{"start":{"line":143,"column":39},"end":{"line":143,"column":40}},"loc":{"start":{"line":143,"column":46},"end":{"line":143,"column":94}},"line":143},"16":{"name":"(anonymous_16)","decl":{"start":{"line":148,"column":8},"end":{"line":148,"column":9}},"loc":{"start":{"line":148,"column":15},"end":{"line":148,"column":107}},"line":148},"17":{"name":"(anonymous_17)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":10},"end":{"line":155,"column":68}},"line":155},"18":{"name":"(anonymous_18)","decl":{"start":{"line":159,"column":39},"end":{"line":159,"column":40}},"loc":{"start":{"line":159,"column":45},"end":{"line":166,"column":3}},"line":159},"19":{"name":"(anonymous_19)","decl":{"start":{"line":168,"column":18},"end":{"line":168,"column":19}},"loc":{"start":{"line":168,"column":24},"end":{"line":190,"column":3}},"line":168},"20":{"name":"(anonymous_20)","decl":{"start":{"line":193,"column":4},"end":{"line":193,"column":5}},"loc":{"start":{"line":193,"column":41},"end":{"line":198,"column":5}},"line":193},"21":{"name":"(anonymous_21)","decl":{"start":{"line":203,"column":4},"end":{"line":203,"column":5}},"loc":{"start":{"line":203,"column":11},"end":{"line":208,"column":5}},"line":203},"22":{"name":"(anonymous_22)","decl":{"start":{"line":212,"column":39},"end":{"line":212,"column":40}},"loc":{"start":{"line":212,"column":45},"end":{"line":216,"column":3}},"line":212},"23":{"name":"(anonymous_23)","decl":{"start":{"line":219,"column":4},"end":{"line":219,"column":5}},"loc":{"start":{"line":219,"column":47},"end":{"line":224,"column":5}},"line":219},"24":{"name":"(anonymous_24)","decl":{"start":{"line":222,"column":29},"end":{"line":222,"column":30}},"loc":{"start":{"line":222,"column":40},"end":{"line":222,"column":86}},"line":222},"25":{"name":"(anonymous_25)","decl":{"start":{"line":229,"column":4},"end":{"line":229,"column":5}},"loc":{"start":{"line":229,"column":40},"end":{"line":233,"column":5}},"line":229},"26":{"name":"(anonymous_26)","decl":{"start":{"line":231,"column":29},"end":{"line":231,"column":30}},"loc":{"start":{"line":231,"column":40},"end":{"line":231,"column":92}},"line":231},"27":{"name":"(anonymous_27)","decl":{"start":{"line":238,"column":4},"end":{"line":238,"column":5}},"loc":{"start":{"line":238,"column":41},"end":{"line":255,"column":5}},"line":238},"28":{"name":"(anonymous_28)","decl":{"start":{"line":260,"column":4},"end":{"line":260,"column":5}},"loc":{"start":{"line":260,"column":49},"end":{"line":267,"column":5}},"line":260},"29":{"name":"(anonymous_29)","decl":{"start":{"line":272,"column":4},"end":{"line":272,"column":5}},"loc":{"start":{"line":272,"column":60},"end":{"line":279,"column":5}},"line":272},"30":{"name":"(anonymous_30)","decl":{"start":{"line":284,"column":4},"end":{"line":284,"column":5}},"loc":{"start":{"line":284,"column":41},"end":{"line":294,"column":5}},"line":284},"31":{"name":"(anonymous_31)","decl":{"start":{"line":299,"column":4},"end":{"line":299,"column":5}},"loc":{"start":{"line":299,"column":49},"end":{"line":306,"column":5}},"line":299},"32":{"name":"(anonymous_32)","decl":{"start":{"line":311,"column":4},"end":{"line":311,"column":5}},"loc":{"start":{"line":311,"column":52},"end":{"line":318,"column":5}},"line":311},"33":{"name":"(anonymous_33)","decl":{"start":{"line":322,"column":46},"end":{"line":322,"column":47}},"loc":{"start":{"line":322,"column":52},"end":{"line":332,"column":3}},"line":322},"34":{"name":"(anonymous_34)","decl":{"start":{"line":335,"column":4},"end":{"line":335,"column":5}},"loc":{"start":{"line":335,"column":34},"end":{"line":346,"column":5}},"line":335},"35":{"name":"(anonymous_35)","decl":{"start":{"line":351,"column":4},"end":{"line":351,"column":5}},"loc":{"start":{"line":351,"column":31},"end":{"line":356,"column":5}},"line":351},"36":{"name":"(anonymous_36)","decl":{"start":{"line":361,"column":4},"end":{"line":361,"column":5}},"loc":{"start":{"line":361,"column":23},"end":{"line":368,"column":5}},"line":361},"37":{"name":"(anonymous_37)","decl":{"start":{"line":372,"column":38},"end":{"line":372,"column":39}},"loc":{"start":{"line":372,"column":44},"end":{"line":379,"column":3}},"line":372},"38":{"name":"(anonymous_38)","decl":{"start":{"line":382,"column":27},"end":{"line":382,"column":28}},"loc":{"start":{"line":384,"column":25},"end":{"line":516,"column":3}},"line":384},"39":{"name":"(anonymous_39)","decl":{"start":{"line":393,"column":13},"end":{"line":393,"column":14}},"loc":{"start":{"line":393,"column":20},"end":{"line":393,"column":28}},"line":393},"40":{"name":"(anonymous_40)","decl":{"start":{"line":465,"column":41},"end":{"line":465,"column":42}},"loc":{"start":{"line":465,"column":68},"end":{"line":469,"column":11}},"line":465},"41":{"name":"(anonymous_41)","decl":{"start":{"line":466,"column":31},"end":{"line":466,"column":32}},"loc":{"start":{"line":466,"column":42},"end":{"line":466,"column":64}},"line":466},"42":{"name":"(anonymous_42)","decl":{"start":{"line":483,"column":36},"end":{"line":483,"column":37}},"loc":{"start":{"line":483,"column":54},"end":{"line":483,"column":143}},"line":483},"43":{"name":"(anonymous_43)","decl":{"start":{"line":518,"column":53},"end":{"line":518,"column":54}},"loc":{"start":{"line":518,"column":59},"end":{"line":527,"column":3}},"line":518},"44":{"name":"(anonymous_44)","decl":{"start":{"line":529,"column":45},"end":{"line":529,"column":46}},"loc":{"start":{"line":529,"column":86},"end":{"line":532,"column":3}},"line":529},"45":{"name":"(anonymous_45)","decl":{"start":{"line":535,"column":4},"end":{"line":535,"column":5}},"loc":{"start":{"line":535,"column":26},"end":{"line":539,"column":5}},"line":535},"46":{"name":"(anonymous_46)","decl":{"start":{"line":545,"column":40},"end":{"line":545,"column":41}},"loc":{"start":{"line":545,"column":46},"end":{"line":547,"column":3}},"line":545},"47":{"name":"(anonymous_47)","decl":{"start":{"line":549,"column":53},"end":{"line":549,"column":54}},"loc":{"start":{"line":549,"column":82},"end":{"line":552,"column":3}},"line":549},"48":{"name":"(anonymous_48)","decl":{"start":{"line":554,"column":26},"end":{"line":554,"column":27}},"loc":{"start":{"line":554,"column":32},"end":{"line":661,"column":3}},"line":554}},"branchMap":{"0":{"loc":{"start":{"line":75,"column":10},"end":{"line":78,"column":83}},"type":"binary-expr","locations":[{"start":{"line":75,"column":10},"end":{"line":75,"column":57}},{"start":{"line":76,"column":10},"end":{"line":76,"column":49}},{"start":{"line":77,"column":11},"end":{"line":77,"column":51}},{"start":{"line":78,"column":11},"end":{"line":78,"column":82}}],"line":75},"1":{"loc":{"start":{"line":82,"column":4},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":82,"column":4},"end":{"line":84,"column":5}},{"start":{},"end":{}}],"line":82},"2":{"loc":{"start":{"line":89,"column":4},"end":{"line":95,"column":5}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":95,"column":5}},{"start":{},"end":{}}],"line":89},"3":{"loc":{"start":{"line":90,"column":6},"end":{"line":92,"column":106}},"type":"binary-expr","locations":[{"start":{"line":90,"column":6},"end":{"line":90,"column":56}},{"start":{"line":91,"column":9},"end":{"line":91,"column":32}},{"start":{"line":92,"column":10},"end":{"line":92,"column":52}},{"start":{"line":92,"column":56},"end":{"line":92,"column":105}}],"line":90},"4":{"loc":{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},{"start":{},"end":{}}],"line":96},"5":{"loc":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":99},"6":{"loc":{"start":{"line":102,"column":11},"end":{"line":102,"column":71}},"type":"binary-expr","locations":[{"start":{"line":102,"column":11},"end":{"line":102,"column":35}},{"start":{"line":102,"column":39},"end":{"line":102,"column":61}},{"start":{"line":102,"column":65},"end":{"line":102,"column":71}}],"line":102},"7":{"loc":{"start":{"line":107,"column":48},"end":{"line":107,"column":72}},"type":"binary-expr","locations":[{"start":{"line":107,"column":48},"end":{"line":107,"column":66}},{"start":{"line":107,"column":70},"end":{"line":107,"column":72}}],"line":107},"8":{"loc":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},{"start":{},"end":{}}],"line":110},"9":{"loc":{"start":{"line":126,"column":4},"end":{"line":128,"column":5}},"type":"if","locations":[{"start":{"line":126,"column":4},"end":{"line":128,"column":5}},{"start":{},"end":{}}],"line":126},"10":{"loc":{"start":{"line":127,"column":13},"end":{"line":127,"column":89}},"type":"binary-expr","locations":[{"start":{"line":127,"column":13},"end":{"line":127,"column":49}},{"start":{"line":127,"column":53},"end":{"line":127,"column":89}}],"line":127},"11":{"loc":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":133},"12":{"loc":{"start":{"line":141,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":141,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":141},"13":{"loc":{"start":{"line":141,"column":8},"end":{"line":141,"column":130}},"type":"binary-expr","locations":[{"start":{"line":141,"column":8},"end":{"line":141,"column":32}},{"start":{"line":141,"column":36},"end":{"line":141,"column":130}}],"line":141},"14":{"loc":{"start":{"line":145,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":150,"column":5}},{"start":{},"end":{}}],"line":145},"15":{"loc":{"start":{"line":148,"column":15},"end":{"line":148,"column":107}},"type":"binary-expr","locations":[{"start":{"line":148,"column":15},"end":{"line":148,"column":63}},{"start":{"line":148,"column":67},"end":{"line":148,"column":107}}],"line":148},"16":{"loc":{"start":{"line":160,"column":4},"end":{"line":164,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":164,"column":5}},{"start":{},"end":{}}],"line":160},"17":{"loc":{"start":{"line":161,"column":13},"end":{"line":163,"column":47}},"type":"binary-expr","locations":[{"start":{"line":161,"column":13},"end":{"line":161,"column":50}},{"start":{"line":162,"column":11},"end":{"line":162,"column":49}},{"start":{"line":163,"column":11},"end":{"line":163,"column":47}}],"line":161},"18":{"loc":{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},{"start":{},"end":{}}],"line":169},"19":{"loc":{"start":{"line":169,"column":8},"end":{"line":169,"column":110}},"type":"binary-expr","locations":[{"start":{"line":169,"column":9},"end":{"line":169,"column":63}},{"start":{"line":169,"column":67},"end":{"line":169,"column":81}},{"start":{"line":169,"column":86},"end":{"line":169,"column":110}}],"line":169},"20":{"loc":{"start":{"line":172,"column":4},"end":{"line":177,"column":5}},"type":"if","locations":[{"start":{"line":172,"column":4},"end":{"line":177,"column":5}},{"start":{},"end":{}}],"line":172},"21":{"loc":{"start":{"line":173,"column":6},"end":{"line":174,"column":42}},"type":"binary-expr","locations":[{"start":{"line":173,"column":7},"end":{"line":173,"column":61}},{"start":{"line":173,"column":65},"end":{"line":173,"column":79}},{"start":{"line":174,"column":9},"end":{"line":174,"column":42}}],"line":173},"22":{"loc":{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},{"start":{},"end":{}}],"line":178},"23":{"loc":{"start":{"line":178,"column":8},"end":{"line":178,"column":74}},"type":"binary-expr","locations":[{"start":{"line":178,"column":9},"end":{"line":178,"column":34}},{"start":{"line":178,"column":38},"end":{"line":178,"column":52}},{"start":{"line":178,"column":57},"end":{"line":178,"column":74}}],"line":178},"24":{"loc":{"start":{"line":181,"column":4},"end":{"line":183,"column":5}},"type":"if","locations":[{"start":{"line":181,"column":4},"end":{"line":183,"column":5}},{"start":{},"end":{}}],"line":181},"25":{"loc":{"start":{"line":181,"column":8},"end":{"line":181,"column":83}},"type":"binary-expr","locations":[{"start":{"line":181,"column":9},"end":{"line":181,"column":34}},{"start":{"line":181,"column":38},"end":{"line":181,"column":52}},{"start":{"line":181,"column":57},"end":{"line":181,"column":83}}],"line":181},"26":{"loc":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"type":"if","locations":[{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},{"start":{},"end":{}}],"line":184},"27":{"loc":{"start":{"line":184,"column":8},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":9},"end":{"line":184,"column":34}},{"start":{"line":184,"column":38},"end":{"line":184,"column":52}},{"start":{"line":184,"column":57},"end":{"line":184,"column":71}}],"line":184},"28":{"loc":{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},{"start":{},"end":{}}],"line":187},"29":{"loc":{"start":{"line":187,"column":8},"end":{"line":187,"column":71}},"type":"binary-expr","locations":[{"start":{"line":187,"column":9},"end":{"line":187,"column":34}},{"start":{"line":187,"column":38},"end":{"line":187,"column":52}},{"start":{"line":187,"column":57},"end":{"line":187,"column":71}}],"line":187},"30":{"loc":{"start":{"line":195,"column":6},"end":{"line":197,"column":7}},"type":"if","locations":[{"start":{"line":195,"column":6},"end":{"line":197,"column":7}},{"start":{},"end":{}}],"line":195},"31":{"loc":{"start":{"line":205,"column":6},"end":{"line":207,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":207,"column":7}},{"start":{},"end":{}}],"line":205},"32":{"loc":{"start":{"line":213,"column":4},"end":{"line":215,"column":5}},"type":"if","locations":[{"start":{"line":213,"column":4},"end":{"line":215,"column":5}},{"start":{},"end":{}}],"line":213},"33":{"loc":{"start":{"line":213,"column":8},"end":{"line":213,"column":81}},"type":"binary-expr","locations":[{"start":{"line":213,"column":8},"end":{"line":213,"column":55}},{"start":{"line":213,"column":59},"end":{"line":213,"column":81}}],"line":213},"34":{"loc":{"start":{"line":221,"column":6},"end":{"line":223,"column":7}},"type":"if","locations":[{"start":{"line":221,"column":6},"end":{"line":223,"column":7}},{"start":{},"end":{}}],"line":221},"35":{"loc":{"start":{"line":230,"column":6},"end":{"line":232,"column":7}},"type":"if","locations":[{"start":{"line":230,"column":6},"end":{"line":232,"column":7}},{"start":{},"end":{}}],"line":230},"36":{"loc":{"start":{"line":239,"column":6},"end":{"line":254,"column":7}},"type":"if","locations":[{"start":{"line":239,"column":6},"end":{"line":254,"column":7}},{"start":{},"end":{}}],"line":239},"37":{"loc":{"start":{"line":239,"column":10},"end":{"line":239,"column":107}},"type":"binary-expr","locations":[{"start":{"line":239,"column":10},"end":{"line":239,"column":59}},{"start":{"line":239,"column":63},"end":{"line":239,"column":107}}],"line":239},"38":{"loc":{"start":{"line":240,"column":8},"end":{"line":253,"column":9}},"type":"if","locations":[{"start":{"line":240,"column":8},"end":{"line":253,"column":9}},{"start":{"line":248,"column":15},"end":{"line":253,"column":9}}],"line":240},"39":{"loc":{"start":{"line":248,"column":15},"end":{"line":253,"column":9}},"type":"if","locations":[{"start":{"line":248,"column":15},"end":{"line":253,"column":9}},{"start":{},"end":{}}],"line":248},"40":{"loc":{"start":{"line":261,"column":6},"end":{"line":266,"column":7}},"type":"if","locations":[{"start":{"line":261,"column":6},"end":{"line":266,"column":7}},{"start":{},"end":{}}],"line":261},"41":{"loc":{"start":{"line":261,"column":10},"end":{"line":261,"column":107}},"type":"binary-expr","locations":[{"start":{"line":261,"column":10},"end":{"line":261,"column":59}},{"start":{"line":261,"column":63},"end":{"line":261,"column":107}}],"line":261},"42":{"loc":{"start":{"line":273,"column":6},"end":{"line":278,"column":7}},"type":"if","locations":[{"start":{"line":273,"column":6},"end":{"line":278,"column":7}},{"start":{},"end":{}}],"line":273},"43":{"loc":{"start":{"line":273,"column":10},"end":{"line":273,"column":101}},"type":"binary-expr","locations":[{"start":{"line":273,"column":10},"end":{"line":273,"column":59}},{"start":{"line":273,"column":63},"end":{"line":273,"column":101}}],"line":273},"44":{"loc":{"start":{"line":285,"column":6},"end":{"line":293,"column":7}},"type":"if","locations":[{"start":{"line":285,"column":6},"end":{"line":293,"column":7}},{"start":{},"end":{}}],"line":285},"45":{"loc":{"start":{"line":285,"column":10},"end":{"line":285,"column":103}},"type":"binary-expr","locations":[{"start":{"line":285,"column":10},"end":{"line":285,"column":55}},{"start":{"line":285,"column":59},"end":{"line":285,"column":103}}],"line":285},"46":{"loc":{"start":{"line":300,"column":6},"end":{"line":305,"column":7}},"type":"if","locations":[{"start":{"line":300,"column":6},"end":{"line":305,"column":7}},{"start":{},"end":{}}],"line":300},"47":{"loc":{"start":{"line":300,"column":10},"end":{"line":300,"column":103}},"type":"binary-expr","locations":[{"start":{"line":300,"column":10},"end":{"line":300,"column":55}},{"start":{"line":300,"column":59},"end":{"line":300,"column":103}}],"line":300},"48":{"loc":{"start":{"line":312,"column":6},"end":{"line":317,"column":7}},"type":"if","locations":[{"start":{"line":312,"column":6},"end":{"line":317,"column":7}},{"start":{},"end":{}}],"line":312},"49":{"loc":{"start":{"line":312,"column":10},"end":{"line":312,"column":93}},"type":"binary-expr","locations":[{"start":{"line":312,"column":10},"end":{"line":312,"column":55}},{"start":{"line":312,"column":59},"end":{"line":312,"column":93}}],"line":312},"50":{"loc":{"start":{"line":329,"column":25},"end":{"line":329,"column":80}},"type":"cond-expr","locations":[{"start":{"line":329,"column":60},"end":{"line":329,"column":68}},{"start":{"line":329,"column":71},"end":{"line":329,"column":80}}],"line":329},"51":{"loc":{"start":{"line":362,"column":6},"end":{"line":367,"column":7}},"type":"if","locations":[{"start":{"line":362,"column":6},"end":{"line":367,"column":7}},{"start":{},"end":{}}],"line":362},"52":{"loc":{"start":{"line":373,"column":4},"end":{"line":377,"column":5}},"type":"if","locations":[{"start":{"line":373,"column":4},"end":{"line":377,"column":5}},{"start":{},"end":{}}],"line":373},"53":{"loc":{"start":{"line":374,"column":13},"end":{"line":376,"column":14}},"type":"cond-expr","locations":[{"start":{"line":375,"column":10},"end":{"line":375,"column":80}},{"start":{"line":376,"column":10},"end":{"line":376,"column":14}}],"line":374},"54":{"loc":{"start":{"line":385,"column":4},"end":{"line":515,"column":5}},"type":"if","locations":[{"start":{"line":385,"column":4},"end":{"line":515,"column":5}},{"start":{},"end":{}}],"line":385},"55":{"loc":{"start":{"line":385,"column":8},"end":{"line":385,"column":42}},"type":"binary-expr","locations":[{"start":{"line":385,"column":8},"end":{"line":385,"column":25}},{"start":{"line":385,"column":29},"end":{"line":385,"column":34}},{"start":{"line":385,"column":38},"end":{"line":385,"column":42}}],"line":385},"56":{"loc":{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},"type":"if","locations":[{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},{"start":{},"end":{}}],"line":387},"57":{"loc":{"start":{"line":387,"column":10},"end":{"line":387,"column":81}},"type":"binary-expr","locations":[{"start":{"line":387,"column":10},"end":{"line":387,"column":48}},{"start":{"line":387,"column":52},"end":{"line":387,"column":81}}],"line":387},"58":{"loc":{"start":{"line":395,"column":6},"end":{"line":514,"column":7}},"type":"if","locations":[{"start":{"line":395,"column":6},"end":{"line":514,"column":7}},{"start":{"line":405,"column":13},"end":{"line":514,"column":7}}],"line":395},"59":{"loc":{"start":{"line":398,"column":23},"end":{"line":398,"column":88}},"type":"binary-expr","locations":[{"start":{"line":398,"column":23},"end":{"line":398,"column":52}},{"start":{"line":398,"column":56},"end":{"line":398,"column":88}}],"line":398},"60":{"loc":{"start":{"line":403,"column":14},"end":{"line":403,"column":48}},"type":"cond-expr","locations":[{"start":{"line":403,"column":28},"end":{"line":403,"column":43}},{"start":{"line":403,"column":46},"end":{"line":403,"column":48}}],"line":403},"61":{"loc":{"start":{"line":405,"column":13},"end":{"line":514,"column":7}},"type":"if","locations":[{"start":{"line":405,"column":13},"end":{"line":514,"column":7}},{"start":{"line":502,"column":13},"end":{"line":514,"column":7}}],"line":405},"62":{"loc":{"start":{"line":407,"column":23},"end":{"line":407,"column":88}},"type":"binary-expr","locations":[{"start":{"line":407,"column":23},"end":{"line":407,"column":52}},{"start":{"line":407,"column":56},"end":{"line":407,"column":88}}],"line":407},"63":{"loc":{"start":{"line":413,"column":14},"end":{"line":413,"column":48}},"type":"cond-expr","locations":[{"start":{"line":413,"column":28},"end":{"line":413,"column":43}},{"start":{"line":413,"column":46},"end":{"line":413,"column":48}}],"line":413},"64":{"loc":{"start":{"line":415,"column":8},"end":{"line":424,"column":9}},"type":"if","locations":[{"start":{"line":415,"column":8},"end":{"line":424,"column":9}},{"start":{},"end":{}}],"line":415},"65":{"loc":{"start":{"line":415,"column":12},"end":{"line":415,"column":92}},"type":"binary-expr","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":29}},{"start":{"line":415,"column":33},"end":{"line":415,"column":92}}],"line":415},"66":{"loc":{"start":{"line":418,"column":18},"end":{"line":418,"column":55}},"type":"binary-expr","locations":[{"start":{"line":418,"column":18},"end":{"line":418,"column":47}},{"start":{"line":418,"column":51},"end":{"line":418,"column":55}}],"line":418},"67":{"loc":{"start":{"line":422,"column":16},"end":{"line":422,"column":50}},"type":"cond-expr","locations":[{"start":{"line":422,"column":30},"end":{"line":422,"column":45}},{"start":{"line":422,"column":48},"end":{"line":422,"column":50}}],"line":422},"68":{"loc":{"start":{"line":426,"column":8},"end":{"line":501,"column":9}},"type":"if","locations":[{"start":{"line":426,"column":8},"end":{"line":501,"column":9}},{"start":{"line":499,"column":15},"end":{"line":501,"column":9}}],"line":426},"69":{"loc":{"start":{"line":426,"column":12},"end":{"line":426,"column":42}},"type":"binary-expr","locations":[{"start":{"line":426,"column":12},"end":{"line":426,"column":19}},{"start":{"line":426,"column":23},"end":{"line":426,"column":42}}],"line":426},"70":{"loc":{"start":{"line":448,"column":10},"end":{"line":453,"column":11}},"type":"if","locations":[{"start":{"line":448,"column":10},"end":{"line":453,"column":11}},{"start":{},"end":{}}],"line":448},"71":{"loc":{"start":{"line":448,"column":14},"end":{"line":448,"column":94}},"type":"binary-expr","locations":[{"start":{"line":448,"column":14},"end":{"line":448,"column":31}},{"start":{"line":448,"column":35},"end":{"line":448,"column":94}}],"line":448},"72":{"loc":{"start":{"line":454,"column":10},"end":{"line":463,"column":11}},"type":"if","locations":[{"start":{"line":454,"column":10},"end":{"line":463,"column":11}},{"start":{},"end":{}}],"line":454},"73":{"loc":{"start":{"line":455,"column":12},"end":{"line":456,"column":112}},"type":"binary-expr","locations":[{"start":{"line":455,"column":12},"end":{"line":455,"column":29}},{"start":{"line":456,"column":15},"end":{"line":456,"column":112}}],"line":455},"74":{"loc":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"type":"if","locations":[{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},{"start":{},"end":{}}],"line":466},"75":{"loc":{"start":{"line":470,"column":10},"end":{"line":475,"column":11}},"type":"if","locations":[{"start":{"line":470,"column":10},"end":{"line":475,"column":11}},{"start":{},"end":{}}],"line":470},"76":{"loc":{"start":{"line":481,"column":10},"end":{"line":498,"column":11}},"type":"if","locations":[{"start":{"line":481,"column":10},"end":{"line":498,"column":11}},{"start":{},"end":{}}],"line":481},"77":{"loc":{"start":{"line":481,"column":14},"end":{"line":481,"column":47}},"type":"binary-expr","locations":[{"start":{"line":481,"column":14},"end":{"line":481,"column":25}},{"start":{"line":481,"column":29},"end":{"line":481,"column":47}}],"line":481},"78":{"loc":{"start":{"line":482,"column":12},"end":{"line":487,"column":13}},"type":"if","locations":[{"start":{"line":482,"column":12},"end":{"line":487,"column":13}},{"start":{},"end":{}}],"line":482},"79":{"loc":{"start":{"line":488,"column":12},"end":{"line":490,"column":13}},"type":"if","locations":[{"start":{"line":488,"column":12},"end":{"line":490,"column":13}},{"start":{},"end":{}}],"line":488},"80":{"loc":{"start":{"line":491,"column":12},"end":{"line":494,"column":13}},"type":"if","locations":[{"start":{"line":491,"column":12},"end":{"line":494,"column":13}},{"start":{},"end":{}}],"line":491},"81":{"loc":{"start":{"line":495,"column":12},"end":{"line":497,"column":13}},"type":"if","locations":[{"start":{"line":495,"column":12},"end":{"line":497,"column":13}},{"start":{},"end":{}}],"line":495},"82":{"loc":{"start":{"line":502,"column":13},"end":{"line":514,"column":7}},"type":"if","locations":[{"start":{"line":502,"column":13},"end":{"line":514,"column":7}},{"start":{},"end":{}}],"line":502},"83":{"loc":{"start":{"line":505,"column":23},"end":{"line":505,"column":88}},"type":"binary-expr","locations":[{"start":{"line":505,"column":23},"end":{"line":505,"column":52}},{"start":{"line":505,"column":56},"end":{"line":505,"column":88}}],"line":505},"84":{"loc":{"start":{"line":512,"column":14},"end":{"line":512,"column":48}},"type":"cond-expr","locations":[{"start":{"line":512,"column":28},"end":{"line":512,"column":43}},{"start":{"line":512,"column":46},"end":{"line":512,"column":48}}],"line":512},"85":{"loc":{"start":{"line":519,"column":4},"end":{"line":522,"column":5}},"type":"if","locations":[{"start":{"line":519,"column":4},"end":{"line":522,"column":5}},{"start":{},"end":{}}],"line":519},"86":{"loc":{"start":{"line":519,"column":8},"end":{"line":519,"column":81}},"type":"binary-expr","locations":[{"start":{"line":519,"column":8},"end":{"line":519,"column":55}},{"start":{"line":519,"column":59},"end":{"line":519,"column":81}}],"line":519},"87":{"loc":{"start":{"line":523,"column":4},"end":{"line":526,"column":5}},"type":"if","locations":[{"start":{"line":523,"column":4},"end":{"line":526,"column":5}},{"start":{},"end":{}}],"line":523},"88":{"loc":{"start":{"line":523,"column":8},"end":{"line":523,"column":36}},"type":"binary-expr","locations":[{"start":{"line":523,"column":8},"end":{"line":523,"column":15}},{"start":{"line":523,"column":19},"end":{"line":523,"column":36}}],"line":523},"89":{"loc":{"start":{"line":536,"column":6},"end":{"line":538,"column":7}},"type":"if","locations":[{"start":{"line":536,"column":6},"end":{"line":538,"column":7}},{"start":{},"end":{}}],"line":536},"90":{"loc":{"start":{"line":536,"column":10},"end":{"line":536,"column":32}},"type":"binary-expr","locations":[{"start":{"line":536,"column":10},"end":{"line":536,"column":19}},{"start":{"line":536,"column":23},"end":{"line":536,"column":32}}],"line":536},"91":{"loc":{"start":{"line":551,"column":4},"end":{"line":551,"column":49}},"type":"if","locations":[{"start":{"line":551,"column":4},"end":{"line":551,"column":49}},{"start":{},"end":{}}],"line":551},"92":{"loc":{"start":{"line":555,"column":4},"end":{"line":555,"column":40}},"type":"if","locations":[{"start":{"line":555,"column":4},"end":{"line":555,"column":40}},{"start":{},"end":{}}],"line":555},"93":{"loc":{"start":{"line":557,"column":4},"end":{"line":660,"column":5}},"type":"switch","locations":[{"start":{"line":558,"column":6},"end":{"line":569,"column":7}},{"start":{"line":570,"column":6},"end":{"line":583,"column":7}},{"start":{"line":584,"column":6},"end":{"line":593,"column":7}},{"start":{"line":594,"column":6},"end":{"line":607,"column":7}},{"start":{"line":608,"column":6},"end":{"line":621,"column":7}},{"start":{"line":622,"column":6},"end":{"line":659,"column":7}}],"line":557},"94":{"loc":{"start":{"line":639,"column":13},"end":{"line":656,"column":13}},"type":"binary-expr","locations":[{"start":{"line":639,"column":13},"end":{"line":639,"column":58}},{"start":{"line":640,"column":14},"end":{"line":655,"column":20}}],"line":639},"95":{"loc":{"start":{"line":680,"column":9},"end":{"line":684,"column":9}},"type":"binary-expr","locations":[{"start":{"line":680,"column":9},"end":{"line":680,"column":45}},{"start":{"line":681,"column":10},"end":{"line":683,"column":17}}],"line":680},"96":{"loc":{"start":{"line":689,"column":19},"end":{"line":689,"column":55}},"type":"binary-expr","locations":[{"start":{"line":689,"column":19},"end":{"line":689,"column":49}},{"start":{"line":689,"column":53},"end":{"line":689,"column":55}}],"line":689},"97":{"loc":{"start":{"line":696,"column":9},"end":{"line":705,"column":9}},"type":"binary-expr","locations":[{"start":{"line":696,"column":9},"end":{"line":696,"column":67}},{"start":{"line":697,"column":10},"end":{"line":704,"column":16}}],"line":696},"98":{"loc":{"start":{"line":710,"column":28},"end":{"line":710,"column":47}},"type":"binary-expr","locations":[{"start":{"line":710,"column":28},"end":{"line":710,"column":36}},{"start":{"line":710,"column":40},"end":{"line":710,"column":47}}],"line":710},"99":{"loc":{"start":{"line":711,"column":13},"end":{"line":711,"column":84}},"type":"binary-expr","locations":[{"start":{"line":711,"column":13},"end":{"line":711,"column":69}},{"start":{"line":711,"column":73},"end":{"line":711,"column":84}}],"line":711},"100":{"loc":{"start":{"line":712,"column":13},"end":{"line":712,"column":80}},"type":"binary-expr","locations":[{"start":{"line":712,"column":13},"end":{"line":712,"column":67}},{"start":{"line":712,"column":71},"end":{"line":712,"column":80}}],"line":712},"101":{"loc":{"start":{"line":713,"column":13},"end":{"line":715,"column":31}},"type":"binary-expr","locations":[{"start":{"line":713,"column":13},"end":{"line":713,"column":69}},{"start":{"line":714,"column":17},"end":{"line":714,"column":71}},{"start":{"line":715,"column":17},"end":{"line":715,"column":31}}],"line":713}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0,0],"22":[0,0],"23":[0,0,0],"24":[0,0],"25":[0,0,0],"26":[0,0],"27":[0,0,0],"28":[0,0],"29":[0,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0,0,0,0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenFormModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/EditTokenFormModal.tsx","statementMap":{"0":{"start":{"line":16,"column":94},"end":{"line":47,"column":1}},"1":{"start":{"line":17,"column":20},"end":{"line":17,"column":50}},"2":{"start":{"line":18,"column":26},"end":{"line":18,"column":62}},"3":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"4":{"start":{"line":21,"column":16},"end":{"line":21,"column":42}},"5":{"start":{"line":23,"column":22},"end":{"line":27,"column":33}},"6":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"7":{"start":{"line":25,"column":6},"end":{"line":25,"column":46}},"8":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"9":{"start":{"line":30,"column":4},"end":{"line":30,"column":16}},"10":{"start":{"line":33,"column":2},"end":{"line":46,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":94},"end":{"line":16,"column":95}},"loc":{"start":{"line":16,"column":118},"end":{"line":47,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":40},"end":{"line":23,"column":41}},"loc":{"start":{"line":23,"column":46},"end":{"line":27,"column":3}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24},"1":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":29},"2":{"loc":{"start":{"line":41,"column":13},"end":{"line":42,"column":106}},"type":"cond-expr","locations":[{"start":{"line":41,"column":63},"end":{"line":41,"column":76}},{"start":{"line":42,"column":10},"end":{"line":42,"column":106}}],"line":41},"3":{"loc":{"start":{"line":42,"column":10},"end":{"line":42,"column":106}},"type":"cond-expr","locations":[{"start":{"line":42,"column":63},"end":{"line":42,"column":82}},{"start":{"line":42,"column":85},"end":{"line":42,"column":106}}],"line":42}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorMessage.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorMessage.tsx","statementMap":{"0":{"start":{"line":3,"column":28},"end":{"line":11,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorValidation.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorValidation.tsx","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":6,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExplainerModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExplainerModal.tsx","statementMap":{"0":{"start":{"line":7,"column":26},"end":{"line":7,"column":47}},"1":{"start":{"line":8,"column":22},"end":{"line":8,"column":65}},"2":{"start":{"line":8,"column":46},"end":{"line":8,"column":60}},"3":{"start":{"line":9,"column":21},"end":{"line":9,"column":63}},"4":{"start":{"line":9,"column":45},"end":{"line":9,"column":58}},"5":{"start":{"line":10,"column":2},"end":{"line":19,"column":4}}},"fnMap":{"0":{"name":"ExplainerModal","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":30}},"loc":{"start":{"line":6,"column":108},"end":{"line":20,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":40},"end":{"line":8,"column":41}},"loc":{"start":{"line":8,"column":46},"end":{"line":8,"column":60}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":39},"end":{"line":9,"column":40}},"loc":{"start":{"line":9,"column":45},"end":{"line":9,"column":58}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/FigmaLoading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/FigmaLoading.tsx","statementMap":{"0":{"start":{"line":9,"column":28},"end":{"line":13,"column":2}},"1":{"start":{"line":15,"column":31},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":31},"end":{"line":23,"column":2}},"3":{"start":{"line":25,"column":28},"end":{"line":31,"column":2}},"4":{"start":{"line":42,"column":16},"end":{"line":42,"column":47}},"5":{"start":{"line":44,"column":2},"end":{"line":50,"column":3}},"6":{"start":{"line":45,"column":4},"end":{"line":49,"column":6}},"7":{"start":{"line":52,"column":2},"end":{"line":75,"column":4}}},"fnMap":{"0":{"name":"FigmaLoading","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":36}},"loc":{"start":{"line":41,"column":10},"end":{"line":76,"column":1}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":2},"end":{"line":50,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":50,"column":3}},{"start":{},"end":{}}],"line":44},"1":{"loc":{"start":{"line":67,"column":13},"end":{"line":67,"column":38}},"type":"binary-expr","locations":[{"start":{"line":67,"column":13},"end":{"line":67,"column":18}},{"start":{"line":67,"column":22},"end":{"line":67,"column":38}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Footer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Footer.tsx","statementMap":{"0":{"start":{"line":40,"column":22},"end":{"line":40,"column":54}},"1":{"start":{"line":41,"column":25},"end":{"line":41,"column":60}},"2":{"start":{"line":42,"column":24},"end":{"line":42,"column":58}},"3":{"start":{"line":43,"column":23},"end":{"line":43,"column":56}},"4":{"start":{"line":44,"column":21},"end":{"line":44,"column":52}},"5":{"start":{"line":45,"column":21},"end":{"line":45,"column":52}},"6":{"start":{"line":46,"column":21},"end":{"line":46,"column":52}},"7":{"start":{"line":47,"column":18},"end":{"line":47,"column":55}},"8":{"start":{"line":48,"column":56},"end":{"line":48,"column":73}},"9":{"start":{"line":49,"column":16},"end":{"line":49,"column":53}},"10":{"start":{"line":50,"column":22},"end":{"line":50,"column":54}},"11":{"start":{"line":51,"column":41},"end":{"line":51,"column":58}},"12":{"start":{"line":52,"column":30},"end":{"line":52,"column":37}},"13":{"start":{"line":54,"column":2},"end":{"line":59,"column":26}},"14":{"start":{"line":55,"column":21},"end":{"line":57,"column":13}},"15":{"start":{"line":56,"column":6},"end":{"line":56,"column":26}},"16":{"start":{"line":58,"column":4},"end":{"line":58,"column":41}},"17":{"start":{"line":58,"column":17},"end":{"line":58,"column":40}},"18":{"start":{"line":61,"column":30},"end":{"line":61,"column":81}},"19":{"start":{"line":61,"column":54},"end":{"line":61,"column":66}},"20":{"start":{"line":62,"column":30},"end":{"line":62,"column":137}},"21":{"start":{"line":62,"column":54},"end":{"line":62,"column":95}},"22":{"start":{"line":63,"column":27},"end":{"line":65,"column":45}},"23":{"start":{"line":64,"column":4},"end":{"line":64,"column":71}},"24":{"start":{"line":67,"column":27},"end":{"line":67,"column":50}},"25":{"start":{"line":69,"column":2},"end":{"line":183,"column":4}}},"fnMap":{"0":{"name":"Footer","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":30}},"loc":{"start":{"line":39,"column":33},"end":{"line":184,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":18},"end":{"line":54,"column":19}},"loc":{"start":{"line":54,"column":24},"end":{"line":59,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":33},"end":{"line":55,"column":34}},"loc":{"start":{"line":55,"column":39},"end":{"line":57,"column":5}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":11},"end":{"line":58,"column":12}},"loc":{"start":{"line":58,"column":17},"end":{"line":58,"column":40}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":48},"end":{"line":61,"column":49}},"loc":{"start":{"line":61,"column":54},"end":{"line":61,"column":66}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":48},"end":{"line":62,"column":49}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":95}},"line":62},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":39},"end":{"line":63,"column":40}},"loc":{"start":{"line":63,"column":45},"end":{"line":65,"column":3}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":81,"column":9},"end":{"line":90,"column":9}},"type":"binary-expr","locations":[{"start":{"line":81,"column":9},"end":{"line":81,"column":59}},{"start":{"line":81,"column":64},"end":{"line":81,"column":80}},{"start":{"line":81,"column":84},"end":{"line":81,"column":100}},{"start":{"line":82,"column":10},"end":{"line":89,"column":19}}],"line":81},"1":{"loc":{"start":{"line":88,"column":16},"end":{"line":88,"column":58}},"type":"cond-expr","locations":[{"start":{"line":88,"column":35},"end":{"line":88,"column":45}},{"start":{"line":88,"column":48},"end":{"line":88,"column":58}}],"line":88},"2":{"loc":{"start":{"line":91,"column":9},"end":{"line":127,"column":9}},"type":"binary-expr","locations":[{"start":{"line":91,"column":11},"end":{"line":91,"column":39}},{"start":{"line":91,"column":43},"end":{"line":91,"column":63}},{"start":{"line":91,"column":68},"end":{"line":91,"column":122}},{"start":{"line":92,"column":10},"end":{"line":126,"column":13}}],"line":91},"3":{"loc":{"start":{"line":118,"column":26},"end":{"line":118,"column":59}},"type":"binary-expr","locations":[{"start":{"line":118,"column":26},"end":{"line":118,"column":40}},{"start":{"line":118,"column":44},"end":{"line":118,"column":59}}],"line":118},"4":{"loc":{"start":{"line":128,"column":9},"end":{"line":154,"column":18}},"type":"cond-expr","locations":[{"start":{"line":135,"column":12},"end":{"line":153,"column":20}},{"start":{"line":154,"column":14},"end":{"line":154,"column":18}}],"line":128},"5":{"loc":{"start":{"line":128,"column":9},"end":{"line":133,"column":67}},"type":"binary-expr","locations":[{"start":{"line":128,"column":9},"end":{"line":128,"column":59}},{"start":{"line":129,"column":13},"end":{"line":129,"column":64}},{"start":{"line":130,"column":13},"end":{"line":130,"column":64}},{"start":{"line":131,"column":13},"end":{"line":131,"column":61}},{"start":{"line":132,"column":13},"end":{"line":132,"column":67}},{"start":{"line":133,"column":13},"end":{"line":133,"column":67}}],"line":128},"6":{"loc":{"start":{"line":136,"column":15},"end":{"line":143,"column":15}},"type":"binary-expr","locations":[{"start":{"line":136,"column":15},"end":{"line":136,"column":67}},{"start":{"line":137,"column":16},"end":{"line":142,"column":26}}],"line":136}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0,0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/IconToggleableDisclosure.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/IconToggleableDisclosure.tsx","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":19,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx","statementMap":{"0":{"start":{"line":16,"column":16},"end":{"line":16,"column":32}},"1":{"start":{"line":17,"column":56},"end":{"line":17,"column":89}},"2":{"start":{"line":18,"column":44},"end":{"line":18,"column":59}},"3":{"start":{"line":19,"column":30},"end":{"line":19,"column":45}},"4":{"start":{"line":22,"column":2},"end":{"line":33,"column":20}},"5":{"start":{"line":23,"column":4},"end":{"line":32,"column":5}},"6":{"start":{"line":24,"column":52},"end":{"line":24,"column":54}},"7":{"start":{"line":25,"column":6},"end":{"line":30,"column":9}},"8":{"start":{"line":26,"column":8},"end":{"line":29,"column":10}},"9":{"start":{"line":28,"column":56},"end":{"line":28,"column":67}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":47}},"11":{"start":{"line":35,"column":33},"end":{"line":54,"column":8}},"12":{"start":{"line":36,"column":4},"end":{"line":53,"column":7}},"13":{"start":{"line":37,"column":34},"end":{"line":37,"column":52}},"14":{"start":{"line":38,"column":6},"end":{"line":52,"column":7}},"15":{"start":{"line":40,"column":29},"end":{"line":40,"column":40}},"16":{"start":{"line":41,"column":8},"end":{"line":41,"column":42}},"17":{"start":{"line":42,"column":8},"end":{"line":42,"column":28}},"18":{"start":{"line":45,"column":8},"end":{"line":51,"column":10}},"19":{"start":{"line":49,"column":47},"end":{"line":49,"column":58}},"20":{"start":{"line":56,"column":27},"end":{"line":81,"column":8}},"21":{"start":{"line":57,"column":4},"end":{"line":80,"column":7}},"22":{"start":{"line":58,"column":25},"end":{"line":58,"column":43}},"23":{"start":{"line":59,"column":6},"end":{"line":59,"column":35}},"24":{"start":{"line":59,"column":23},"end":{"line":59,"column":35}},"25":{"start":{"line":61,"column":34},"end":{"line":61,"column":75}},"26":{"start":{"line":62,"column":31},"end":{"line":64,"column":47}},"27":{"start":{"line":63,"column":50},"end":{"line":63,"column":63}},"28":{"start":{"line":67,"column":6},"end":{"line":71,"column":7}},"29":{"start":{"line":68,"column":29},"end":{"line":68,"column":40}},"30":{"start":{"line":69,"column":8},"end":{"line":69,"column":42}},"31":{"start":{"line":70,"column":8},"end":{"line":70,"column":28}},"32":{"start":{"line":73,"column":6},"end":{"line":79,"column":8}},"33":{"start":{"line":83,"column":24},"end":{"line":85,"column":61}},"34":{"start":{"line":84,"column":4},"end":{"line":84,"column":62}},"35":{"start":{"line":87,"column":24},"end":{"line":87,"column":67}},"36":{"start":{"line":89,"column":2},"end":{"line":176,"column":4}},"37":{"start":{"line":116,"column":42},"end":{"line":116,"column":76}},"38":{"start":{"line":123,"column":42},"end":{"line":123,"column":69}},"39":{"start":{"line":134,"column":41},"end":{"line":134,"column":77}},"40":{"start":{"line":135,"column":34},"end":{"line":135,"column":89}},"41":{"start":{"line":136,"column":37},"end":{"line":136,"column":109}},"42":{"start":{"line":138,"column":12},"end":{"line":165,"column":14}},"43":{"start":{"line":143,"column":43},"end":{"line":143,"column":115}},"44":{"start":{"line":152,"column":24},"end":{"line":159,"column":35}},"45":{"start":{"line":155,"column":49},"end":{"line":155,"column":93}}},"fnMap":{"0":{"name":"ImportVariablesDialog","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":45}},"loc":{"start":{"line":15,"column":98},"end":{"line":177,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":12},"end":{"line":22,"column":13}},"loc":{"start":{"line":22,"column":18},"end":{"line":33,"column":3}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":26},"end":{"line":25,"column":27}},"loc":{"start":{"line":25,"column":42},"end":{"line":30,"column":7}},"line":25},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":46},"end":{"line":28,"column":47}},"loc":{"start":{"line":28,"column":56},"end":{"line":28,"column":67}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":35,"column":45},"end":{"line":35,"column":46}},"loc":{"start":{"line":35,"column":138},"end":{"line":54,"column":3}},"line":35},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":27},"end":{"line":36,"column":28}},"loc":{"start":{"line":36,"column":37},"end":{"line":53,"column":5}},"line":36},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":37},"end":{"line":49,"column":38}},"loc":{"start":{"line":49,"column":47},"end":{"line":49,"column":58}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":56,"column":39},"end":{"line":56,"column":40}},"loc":{"start":{"line":56,"column":81},"end":{"line":81,"column":3}},"line":56},"8":{"name":"(anonymous_8)","decl":{"start":{"line":57,"column":27},"end":{"line":57,"column":28}},"loc":{"start":{"line":57,"column":37},"end":{"line":80,"column":5}},"line":57},"9":{"name":"(anonymous_9)","decl":{"start":{"line":63,"column":42},"end":{"line":63,"column":43}},"loc":{"start":{"line":63,"column":50},"end":{"line":63,"column":63}},"line":63},"10":{"name":"(anonymous_10)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":83,"column":42},"end":{"line":85,"column":3}},"line":83},"11":{"name":"(anonymous_11)","decl":{"start":{"line":116,"column":29},"end":{"line":116,"column":30}},"loc":{"start":{"line":116,"column":42},"end":{"line":116,"column":76}},"line":116},"12":{"name":"(anonymous_12)","decl":{"start":{"line":123,"column":29},"end":{"line":123,"column":30}},"loc":{"start":{"line":123,"column":42},"end":{"line":123,"column":69}},"line":123},"13":{"name":"(anonymous_13)","decl":{"start":{"line":133,"column":27},"end":{"line":133,"column":28}},"loc":{"start":{"line":133,"column":43},"end":{"line":166,"column":11}},"line":133},"14":{"name":"(anonymous_14)","decl":{"start":{"line":143,"column":37},"end":{"line":143,"column":38}},"loc":{"start":{"line":143,"column":43},"end":{"line":143,"column":115}},"line":143},"15":{"name":"(anonymous_15)","decl":{"start":{"line":151,"column":44},"end":{"line":151,"column":45}},"loc":{"start":{"line":152,"column":24},"end":{"line":159,"column":35}},"line":152},"16":{"name":"(anonymous_16)","decl":{"start":{"line":155,"column":43},"end":{"line":155,"column":44}},"loc":{"start":{"line":155,"column":49},"end":{"line":155,"column":93}},"line":155}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":38,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":38,"column":6},"end":{"line":52,"column":7}},{"start":{"line":43,"column":13},"end":{"line":52,"column":7}}],"line":38},"2":{"loc":{"start":{"line":59,"column":6},"end":{"line":59,"column":35}},"type":"if","locations":[{"start":{"line":59,"column":6},"end":{"line":59,"column":35}},{"start":{},"end":{}}],"line":59},"3":{"loc":{"start":{"line":62,"column":31},"end":{"line":64,"column":47}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":64}},{"start":{"line":64,"column":10},"end":{"line":64,"column":47}}],"line":62},"4":{"loc":{"start":{"line":67,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":67},"5":{"loc":{"start":{"line":135,"column":34},"end":{"line":135,"column":89}},"type":"binary-expr","locations":[{"start":{"line":135,"column":34},"end":{"line":135,"column":83}},{"start":{"line":135,"column":87},"end":{"line":135,"column":89}}],"line":135},"6":{"loc":{"start":{"line":136,"column":37},"end":{"line":136,"column":109}},"type":"binary-expr","locations":[{"start":{"line":136,"column":37},"end":{"line":136,"column":57}},{"start":{"line":136,"column":61},"end":{"line":136,"column":109}}],"line":136},"7":{"loc":{"start":{"line":149,"column":19},"end":{"line":162,"column":19}},"type":"binary-expr","locations":[{"start":{"line":149,"column":19},"end":{"line":149,"column":39}},{"start":{"line":150,"column":20},"end":{"line":161,"column":28}}],"line":149},"8":{"loc":{"start":{"line":169,"column":9},"end":{"line":173,"column":9}},"type":"binary-expr","locations":[{"start":{"line":169,"column":9},"end":{"line":169,"column":23}},{"start":{"line":170,"column":10},"end":{"line":172,"column":16}}],"line":169}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportedTokensDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ImportedTokensDialog.tsx","statementMap":{"0":{"start":{"line":34,"column":16},"end":{"line":34,"column":53}},"1":{"start":{"line":35,"column":24},"end":{"line":37,"column":33}},"2":{"start":{"line":36,"column":4},"end":{"line":36,"column":30}},"3":{"start":{"line":39,"column":24},"end":{"line":41,"column":33}},"4":{"start":{"line":40,"column":4},"end":{"line":40,"column":30}},"5":{"start":{"line":43,"column":25},"end":{"line":43,"column":60}},"6":{"start":{"line":45,"column":21},"end":{"line":45,"column":188}},"7":{"start":{"line":45,"column":93},"end":{"line":45,"column":108}},"8":{"start":{"line":45,"column":165},"end":{"line":45,"column":184}},"9":{"start":{"line":46,"column":24},"end":{"line":46,"column":45}},"10":{"start":{"line":48,"column":2},"end":{"line":96,"column":4}},"11":{"start":{"line":100,"column":19},"end":{"line":100,"column":42}},"12":{"start":{"line":101,"column":71},"end":{"line":101,"column":88}},"13":{"start":{"line":102,"column":25},"end":{"line":102,"column":60}},"14":{"start":{"line":103,"column":17},"end":{"line":103,"column":48}},"15":{"start":{"line":104,"column":25},"end":{"line":104,"column":60}},"16":{"start":{"line":105,"column":25},"end":{"line":105,"column":60}},"17":{"start":{"line":106,"column":36},"end":{"line":106,"column":76}},"18":{"start":{"line":107,"column":44},"end":{"line":107,"column":88}},"19":{"start":{"line":108,"column":36},"end":{"line":108,"column":76}},"20":{"start":{"line":109,"column":44},"end":{"line":109,"column":88}},"21":{"start":{"line":111,"column":16},"end":{"line":111,"column":42}},"22":{"start":{"line":113,"column":36},"end":{"line":116,"column":39}},"23":{"start":{"line":114,"column":19},"end":{"line":114,"column":104}},"24":{"start":{"line":114,"column":58},"end":{"line":114,"column":103}},"25":{"start":{"line":115,"column":4},"end":{"line":115,"column":29}},"26":{"start":{"line":118,"column":31},"end":{"line":120,"column":31}},"27":{"start":{"line":119,"column":4},"end":{"line":119,"column":88}},"28":{"start":{"line":119,"column":48},"end":{"line":119,"column":85}},"29":{"start":{"line":122,"column":31},"end":{"line":135,"column":55}},"30":{"start":{"line":123,"column":30},"end":{"line":130,"column":7}},"31":{"start":{"line":123,"column":56},"end":{"line":130,"column":5}},"32":{"start":{"line":133,"column":4},"end":{"line":133,"column":48}},"33":{"start":{"line":134,"column":4},"end":{"line":134,"column":21}},"34":{"start":{"line":137,"column":31},"end":{"line":150,"column":59}},"35":{"start":{"line":138,"column":34},"end":{"line":145,"column":7}},"36":{"start":{"line":138,"column":64},"end":{"line":145,"column":5}},"37":{"start":{"line":148,"column":4},"end":{"line":148,"column":52}},"38":{"start":{"line":149,"column":4},"end":{"line":149,"column":25}},"39":{"start":{"line":152,"column":31},"end":{"line":207,"column":114}},"40":{"start":{"line":153,"column":34},"end":{"line":160,"column":7}},"41":{"start":{"line":153,"column":64},"end":{"line":160,"column":5}},"42":{"start":{"line":162,"column":30},"end":{"line":169,"column":7}},"43":{"start":{"line":162,"column":56},"end":{"line":169,"column":5}},"44":{"start":{"line":171,"column":4},"end":{"line":177,"column":5}},"45":{"start":{"line":172,"column":6},"end":{"line":176,"column":9}},"46":{"start":{"line":173,"column":36},"end":{"line":173,"column":109}},"47":{"start":{"line":173,"column":74},"end":{"line":173,"column":108}},"48":{"start":{"line":180,"column":4},"end":{"line":180,"column":71}},"49":{"start":{"line":182,"column":27},"end":{"line":182,"column":75}},"50":{"start":{"line":184,"column":34},"end":{"line":189,"column":29}},"51":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"52":{"start":{"line":186,"column":8},"end":{"line":186,"column":31}},"53":{"start":{"line":188,"column":6},"end":{"line":188,"column":17}},"54":{"start":{"line":191,"column":4},"end":{"line":201,"column":7}},"55":{"start":{"line":195,"column":52},"end":{"line":195,"column":74}},"56":{"start":{"line":196,"column":51},"end":{"line":196,"column":72}},"57":{"start":{"line":197,"column":53},"end":{"line":197,"column":76}},"58":{"start":{"line":198,"column":54},"end":{"line":198,"column":78}},"59":{"start":{"line":199,"column":56},"end":{"line":199,"column":82}},"60":{"start":{"line":203,"column":4},"end":{"line":203,"column":25}},"61":{"start":{"line":204,"column":4},"end":{"line":204,"column":21}},"62":{"start":{"line":205,"column":4},"end":{"line":205,"column":21}},"63":{"start":{"line":206,"column":4},"end":{"line":206,"column":25}},"64":{"start":{"line":209,"column":34},"end":{"line":221,"column":52}},"65":{"start":{"line":211,"column":4},"end":{"line":218,"column":7}},"66":{"start":{"line":219,"column":4},"end":{"line":219,"column":58}},"67":{"start":{"line":220,"column":4},"end":{"line":220,"column":79}},"68":{"start":{"line":220,"column":48},"end":{"line":220,"column":76}},"69":{"start":{"line":223,"column":34},"end":{"line":236,"column":54}},"70":{"start":{"line":225,"column":4},"end":{"line":232,"column":7}},"71":{"start":{"line":233,"column":4},"end":{"line":233,"column":58}},"72":{"start":{"line":235,"column":4},"end":{"line":235,"column":95}},"73":{"start":{"line":235,"column":60},"end":{"line":235,"column":92}},"74":{"start":{"line":238,"column":22},"end":{"line":240,"column":16}},"75":{"start":{"line":239,"column":4},"end":{"line":239,"column":46}},"76":{"start":{"line":243,"column":2},"end":{"line":246,"column":63}},"77":{"start":{"line":244,"column":4},"end":{"line":244,"column":43}},"78":{"start":{"line":245,"column":4},"end":{"line":245,"column":51}},"79":{"start":{"line":248,"column":2},"end":{"line":251,"column":63}},"80":{"start":{"line":249,"column":4},"end":{"line":249,"column":43}},"81":{"start":{"line":250,"column":4},"end":{"line":250,"column":51}},"82":{"start":{"line":253,"column":21},"end":{"line":253,"column":23}},"83":{"start":{"line":255,"column":2},"end":{"line":362,"column":4}},"84":{"start":{"line":291,"column":16},"end":{"line":298,"column":18}},"85":{"start":{"line":336,"column":16},"end":{"line":343,"column":18}}},"fnMap":{"0":{"name":"NewOrExistingToken","decl":{"start":{"line":21,"column":9},"end":{"line":21,"column":27}},"loc":{"start":{"line":33,"column":3},"end":{"line":97,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":42},"end":{"line":35,"column":43}},"loc":{"start":{"line":35,"column":48},"end":{"line":37,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":42},"end":{"line":39,"column":43}},"loc":{"start":{"line":39,"column":48},"end":{"line":41,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":66},"end":{"line":45,"column":67}},"loc":{"start":{"line":45,"column":93},"end":{"line":45,"column":108}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":147},"end":{"line":45,"column":148}},"loc":{"start":{"line":45,"column":165},"end":{"line":45,"column":184}},"line":45},"5":{"name":"ImportedTokensDialog","decl":{"start":{"line":99,"column":24},"end":{"line":99,"column":44}},"loc":{"start":{"line":99,"column":47},"end":{"line":363,"column":1}},"line":99},"6":{"name":"(anonymous_6)","decl":{"start":{"line":113,"column":54},"end":{"line":113,"column":55}},"loc":{"start":{"line":113,"column":72},"end":{"line":116,"column":3}},"line":113},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":40},"end":{"line":114,"column":41}},"loc":{"start":{"line":114,"column":58},"end":{"line":114,"column":103}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":118,"column":49},"end":{"line":118,"column":50}},"loc":{"start":{"line":118,"column":67},"end":{"line":120,"column":3}},"line":118},"9":{"name":"(anonymous_9)","decl":{"start":{"line":119,"column":34},"end":{"line":119,"column":35}},"loc":{"start":{"line":119,"column":48},"end":{"line":119,"column":85}},"line":119},"10":{"name":"(anonymous_10)","decl":{"start":{"line":122,"column":49},"end":{"line":122,"column":50}},"loc":{"start":{"line":122,"column":55},"end":{"line":135,"column":3}},"line":122},"11":{"name":"(anonymous_11)","decl":{"start":{"line":123,"column":44},"end":{"line":123,"column":45}},"loc":{"start":{"line":123,"column":56},"end":{"line":130,"column":5}},"line":123},"12":{"name":"(anonymous_12)","decl":{"start":{"line":137,"column":49},"end":{"line":137,"column":50}},"loc":{"start":{"line":137,"column":55},"end":{"line":150,"column":3}},"line":137},"13":{"name":"(anonymous_13)","decl":{"start":{"line":138,"column":52},"end":{"line":138,"column":53}},"loc":{"start":{"line":138,"column":64},"end":{"line":145,"column":5}},"line":138},"14":{"name":"(anonymous_14)","decl":{"start":{"line":152,"column":49},"end":{"line":152,"column":50}},"loc":{"start":{"line":152,"column":55},"end":{"line":207,"column":3}},"line":152},"15":{"name":"(anonymous_15)","decl":{"start":{"line":153,"column":52},"end":{"line":153,"column":53}},"loc":{"start":{"line":153,"column":64},"end":{"line":160,"column":5}},"line":153},"16":{"name":"(anonymous_16)","decl":{"start":{"line":162,"column":44},"end":{"line":162,"column":45}},"loc":{"start":{"line":162,"column":56},"end":{"line":169,"column":5}},"line":162},"17":{"name":"(anonymous_17)","decl":{"start":{"line":173,"column":25},"end":{"line":173,"column":26}},"loc":{"start":{"line":173,"column":36},"end":{"line":173,"column":109}},"line":173},"18":{"name":"(anonymous_18)","decl":{"start":{"line":173,"column":56},"end":{"line":173,"column":57}},"loc":{"start":{"line":173,"column":74},"end":{"line":173,"column":108}},"line":173},"19":{"name":"(anonymous_19)","decl":{"start":{"line":184,"column":56},"end":{"line":184,"column":57}},"loc":{"start":{"line":184,"column":72},"end":{"line":189,"column":5}},"line":184},"20":{"name":"(anonymous_20)","decl":{"start":{"line":195,"column":41},"end":{"line":195,"column":42}},"loc":{"start":{"line":195,"column":52},"end":{"line":195,"column":74}},"line":195},"21":{"name":"(anonymous_21)","decl":{"start":{"line":196,"column":40},"end":{"line":196,"column":41}},"loc":{"start":{"line":196,"column":51},"end":{"line":196,"column":72}},"line":196},"22":{"name":"(anonymous_22)","decl":{"start":{"line":197,"column":42},"end":{"line":197,"column":43}},"loc":{"start":{"line":197,"column":53},"end":{"line":197,"column":76}},"line":197},"23":{"name":"(anonymous_23)","decl":{"start":{"line":198,"column":43},"end":{"line":198,"column":44}},"loc":{"start":{"line":198,"column":54},"end":{"line":198,"column":78}},"line":198},"24":{"name":"(anonymous_24)","decl":{"start":{"line":199,"column":45},"end":{"line":199,"column":46}},"loc":{"start":{"line":199,"column":56},"end":{"line":199,"column":82}},"line":199},"25":{"name":"(anonymous_25)","decl":{"start":{"line":209,"column":52},"end":{"line":209,"column":53}},"loc":{"start":{"line":209,"column":68},"end":{"line":221,"column":3}},"line":209},"26":{"name":"(anonymous_26)","decl":{"start":{"line":220,"column":34},"end":{"line":220,"column":35}},"loc":{"start":{"line":220,"column":48},"end":{"line":220,"column":76}},"line":220},"27":{"name":"(anonymous_27)","decl":{"start":{"line":223,"column":52},"end":{"line":223,"column":53}},"loc":{"start":{"line":223,"column":68},"end":{"line":236,"column":3}},"line":223},"28":{"name":"(anonymous_28)","decl":{"start":{"line":235,"column":42},"end":{"line":235,"column":43}},"loc":{"start":{"line":235,"column":60},"end":{"line":235,"column":92}},"line":235},"29":{"name":"(anonymous_29)","decl":{"start":{"line":238,"column":40},"end":{"line":238,"column":41}},"loc":{"start":{"line":238,"column":46},"end":{"line":240,"column":3}},"line":238},"30":{"name":"(anonymous_30)","decl":{"start":{"line":243,"column":18},"end":{"line":243,"column":19}},"loc":{"start":{"line":243,"column":24},"end":{"line":246,"column":3}},"line":243},"31":{"name":"(anonymous_31)","decl":{"start":{"line":248,"column":18},"end":{"line":248,"column":19}},"loc":{"start":{"line":248,"column":24},"end":{"line":251,"column":3}},"line":248},"32":{"name":"(anonymous_32)","decl":{"start":{"line":290,"column":53},"end":{"line":290,"column":54}},"loc":{"start":{"line":291,"column":16},"end":{"line":298,"column":18}},"line":291},"33":{"name":"(anonymous_33)","decl":{"start":{"line":335,"column":53},"end":{"line":335,"column":54}},"loc":{"start":{"line":336,"column":16},"end":{"line":343,"column":18}},"line":336}},"branchMap":{"0":{"loc":{"start":{"line":52,"column":11},"end":{"line":52,"column":76}},"type":"binary-expr","locations":[{"start":{"line":52,"column":11},"end":{"line":52,"column":24}},{"start":{"line":52,"column":29},"end":{"line":52,"column":75}}],"line":52},"1":{"loc":{"start":{"line":66,"column":13},"end":{"line":66,"column":88}},"type":"cond-expr","locations":[{"start":{"line":66,"column":47},"end":{"line":66,"column":74}},{"start":{"line":66,"column":77},"end":{"line":66,"column":88}}],"line":66},"2":{"loc":{"start":{"line":68,"column":11},"end":{"line":81,"column":18}},"type":"cond-expr","locations":[{"start":{"line":69,"column":12},"end":{"line":80,"column":18}},{"start":{"line":81,"column":14},"end":{"line":81,"column":18}}],"line":68},"3":{"loc":{"start":{"line":79,"column":15},"end":{"line":79,"column":99}},"type":"cond-expr","locations":[{"start":{"line":79,"column":52},"end":{"line":79,"column":82}},{"start":{"line":79,"column":85},"end":{"line":79,"column":99}}],"line":79},"4":{"loc":{"start":{"line":83,"column":9},"end":{"line":89,"column":9}},"type":"binary-expr","locations":[{"start":{"line":83,"column":10},"end":{"line":83,"column":27}},{"start":{"line":83,"column":31},"end":{"line":83,"column":51}},{"start":{"line":84,"column":10},"end":{"line":88,"column":17}}],"line":83},"5":{"loc":{"start":{"line":87,"column":13},"end":{"line":87,"column":77}},"type":"cond-expr","locations":[{"start":{"line":87,"column":36},"end":{"line":87,"column":72}},{"start":{"line":87,"column":75},"end":{"line":87,"column":77}}],"line":87},"6":{"loc":{"start":{"line":124,"column":14},"end":{"line":124,"column":44}},"type":"binary-expr","locations":[{"start":{"line":124,"column":14},"end":{"line":124,"column":26}},{"start":{"line":124,"column":30},"end":{"line":124,"column":44}}],"line":124},"7":{"loc":{"start":{"line":139,"column":14},"end":{"line":139,"column":44}},"type":"binary-expr","locations":[{"start":{"line":139,"column":14},"end":{"line":139,"column":26}},{"start":{"line":139,"column":30},"end":{"line":139,"column":44}}],"line":139},"8":{"loc":{"start":{"line":154,"column":14},"end":{"line":154,"column":44}},"type":"binary-expr","locations":[{"start":{"line":154,"column":14},"end":{"line":154,"column":26}},{"start":{"line":154,"column":30},"end":{"line":154,"column":44}}],"line":154},"9":{"loc":{"start":{"line":163,"column":14},"end":{"line":163,"column":44}},"type":"binary-expr","locations":[{"start":{"line":163,"column":14},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":44}}],"line":163},"10":{"loc":{"start":{"line":171,"column":4},"end":{"line":177,"column":5}},"type":"if","locations":[{"start":{"line":171,"column":4},"end":{"line":177,"column":5}},{"start":{},"end":{}}],"line":171},"11":{"loc":{"start":{"line":171,"column":8},"end":{"line":171,"column":56}},"type":"binary-expr","locations":[{"start":{"line":171,"column":8},"end":{"line":171,"column":28}},{"start":{"line":171,"column":32},"end":{"line":171,"column":56}}],"line":171},"12":{"loc":{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},"type":"if","locations":[{"start":{"line":185,"column":6},"end":{"line":187,"column":7}},{"start":{},"end":{}}],"line":185},"13":{"loc":{"start":{"line":185,"column":10},"end":{"line":185,"column":53}},"type":"binary-expr","locations":[{"start":{"line":185,"column":10},"end":{"line":185,"column":22}},{"start":{"line":185,"column":26},"end":{"line":185,"column":53}}],"line":185},"14":{"loc":{"start":{"line":260,"column":14},"end":{"line":260,"column":62}},"type":"binary-expr","locations":[{"start":{"line":260,"column":14},"end":{"line":260,"column":34}},{"start":{"line":260,"column":38},"end":{"line":260,"column":62}}],"line":260},"15":{"loc":{"start":{"line":275,"column":9},"end":{"line":319,"column":9}},"type":"binary-expr","locations":[{"start":{"line":275,"column":9},"end":{"line":275,"column":29}},{"start":{"line":276,"column":10},"end":{"line":318,"column":22}}],"line":275},"16":{"loc":{"start":{"line":302,"column":13},"end":{"line":316,"column":13}},"type":"binary-expr","locations":[{"start":{"line":302,"column":13},"end":{"line":302,"column":42}},{"start":{"line":303,"column":12},"end":{"line":315,"column":19}}],"line":302},"17":{"loc":{"start":{"line":320,"column":9},"end":{"line":359,"column":9}},"type":"binary-expr","locations":[{"start":{"line":320,"column":9},"end":{"line":320,"column":33}},{"start":{"line":321,"column":10},"end":{"line":358,"column":22}}],"line":320},"18":{"loc":{"start":{"line":346,"column":14},"end":{"line":357,"column":13}},"type":"binary-expr","locations":[{"start":{"line":346,"column":14},"end":{"line":346,"column":38}},{"start":{"line":348,"column":12},"end":{"line":356,"column":19}}],"line":346}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Initiator.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Initiator.tsx","statementMap":{"0":{"start":{"line":20,"column":21},"end":{"line":32,"column":1}},"1":{"start":{"line":21,"column":2},"end":{"line":30,"column":3}},"2":{"start":{"line":22,"column":16},"end":{"line":22,"column":38}},"3":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"4":{"start":{"line":24,"column":19},"end":{"line":24,"column":42}},"5":{"start":{"line":25,"column":6},"end":{"line":25,"column":18}},"6":{"start":{"line":28,"column":4},"end":{"line":28,"column":46}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":16}},"8":{"start":{"line":31,"column":2},"end":{"line":31,"column":14}},"9":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"10":{"start":{"line":36,"column":40},"end":{"line":36,"column":57}},"11":{"start":{"line":37,"column":29},"end":{"line":37,"column":41}},"12":{"start":{"line":39,"column":2},"end":{"line":182,"column":60}},"13":{"start":{"line":40,"column":27},"end":{"line":169,"column":5}},"14":{"start":{"line":45,"column":6},"end":{"line":168,"column":7}},"15":{"start":{"line":46,"column":34},"end":{"line":46,"column":44}},"16":{"start":{"line":47,"column":8},"end":{"line":167,"column":9}},"17":{"start":{"line":49,"column":80},"end":{"line":49,"column":93}},"18":{"start":{"line":50,"column":12},"end":{"line":50,"column":62}},"19":{"start":{"line":51,"column":12},"end":{"line":51,"column":48}},"20":{"start":{"line":52,"column":12},"end":{"line":65,"column":13}},"21":{"start":{"line":53,"column":49},"end":{"line":55,"column":20}},"22":{"start":{"line":54,"column":16},"end":{"line":54,"column":39}},"23":{"start":{"line":56,"column":52},"end":{"line":56,"column":110}},"24":{"start":{"line":57,"column":14},"end":{"line":57,"column":89}},"25":{"start":{"line":58,"column":19},"end":{"line":65,"column":13}},"26":{"start":{"line":60,"column":52},"end":{"line":60,"column":110}},"27":{"start":{"line":61,"column":14},"end":{"line":61,"column":89}},"28":{"start":{"line":64,"column":14},"end":{"line":64,"column":62}},"29":{"start":{"line":68,"column":12},"end":{"line":74,"column":13}},"30":{"start":{"line":69,"column":31},"end":{"line":69,"column":60}},"31":{"start":{"line":70,"column":44},"end":{"line":70,"column":111}},"32":{"start":{"line":70,"column":75},"end":{"line":70,"column":110}},"33":{"start":{"line":71,"column":14},"end":{"line":71,"column":73}},"34":{"start":{"line":73,"column":14},"end":{"line":73,"column":54}},"35":{"start":{"line":75,"column":12},"end":{"line":75,"column":18}},"36":{"start":{"line":78,"column":12},"end":{"line":78,"column":47}},"37":{"start":{"line":79,"column":12},"end":{"line":79,"column":50}},"38":{"start":{"line":80,"column":12},"end":{"line":80,"column":52}},"39":{"start":{"line":81,"column":12},"end":{"line":81,"column":60}},"40":{"start":{"line":82,"column":12},"end":{"line":82,"column":18}},"41":{"start":{"line":85,"column":31},"end":{"line":85,"column":44}},"42":{"start":{"line":86,"column":12},"end":{"line":91,"column":13}},"43":{"start":{"line":87,"column":14},"end":{"line":87,"column":55}},"44":{"start":{"line":88,"column":34},"end":{"line":88,"column":70}},"45":{"start":{"line":89,"column":14},"end":{"line":90,"column":61}},"46":{"start":{"line":89,"column":31},"end":{"line":89,"column":74}},"47":{"start":{"line":90,"column":19},"end":{"line":90,"column":61}},"48":{"start":{"line":92,"column":12},"end":{"line":92,"column":18}},"49":{"start":{"line":95,"column":12},"end":{"line":95,"column":91}},"50":{"start":{"line":96,"column":12},"end":{"line":96,"column":18}},"51":{"start":{"line":99,"column":12},"end":{"line":99,"column":59}},"52":{"start":{"line":100,"column":12},"end":{"line":100,"column":18}},"53":{"start":{"line":103,"column":12},"end":{"line":103,"column":70}},"54":{"start":{"line":104,"column":12},"end":{"line":104,"column":18}},"55":{"start":{"line":107,"column":12},"end":{"line":107,"column":68}},"56":{"start":{"line":108,"column":12},"end":{"line":108,"column":52}},"57":{"start":{"line":109,"column":12},"end":{"line":109,"column":18}},"58":{"start":{"line":112,"column":31},"end":{"line":112,"column":44}},"59":{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},"60":{"start":{"line":114,"column":14},"end":{"line":114,"column":37}},"61":{"start":{"line":115,"column":14},"end":{"line":115,"column":62}},"62":{"start":{"line":116,"column":14},"end":{"line":116,"column":57}},"63":{"start":{"line":118,"column":12},"end":{"line":118,"column":18}},"64":{"start":{"line":122,"column":39},"end":{"line":122,"column":52}},"65":{"start":{"line":123,"column":12},"end":{"line":126,"column":13}},"66":{"start":{"line":124,"column":14},"end":{"line":124,"column":65}},"67":{"start":{"line":125,"column":14},"end":{"line":125,"column":57}},"68":{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},"69":{"start":{"line":128,"column":14},"end":{"line":128,"column":65}},"70":{"start":{"line":130,"column":12},"end":{"line":130,"column":18}},"71":{"start":{"line":134,"column":12},"end":{"line":134,"column":82}},"72":{"start":{"line":135,"column":12},"end":{"line":135,"column":18}},"73":{"start":{"line":138,"column":12},"end":{"line":138,"column":57}},"74":{"start":{"line":139,"column":12},"end":{"line":139,"column":18}},"75":{"start":{"line":142,"column":12},"end":{"line":142,"column":61}},"76":{"start":{"line":143,"column":12},"end":{"line":143,"column":18}},"77":{"start":{"line":146,"column":12},"end":{"line":146,"column":41}},"78":{"start":{"line":147,"column":12},"end":{"line":147,"column":18}},"79":{"start":{"line":150,"column":12},"end":{"line":154,"column":15}},"80":{"start":{"line":155,"column":12},"end":{"line":155,"column":18}},"81":{"start":{"line":158,"column":12},"end":{"line":162,"column":15}},"82":{"start":{"line":163,"column":12},"end":{"line":163,"column":18}},"83":{"start":{"line":166,"column":12},"end":{"line":166,"column":18}},"84":{"start":{"line":170,"column":4},"end":{"line":179,"column":5}},"85":{"start":{"line":171,"column":23},"end":{"line":174,"column":7}},"86":{"start":{"line":172,"column":22},"end":{"line":172,"column":37}},"87":{"start":{"line":173,"column":8},"end":{"line":173,"column":59}},"88":{"start":{"line":175,"column":6},"end":{"line":175,"column":126}},"89":{"start":{"line":176,"column":6},"end":{"line":178,"column":8}},"90":{"start":{"line":177,"column":8},"end":{"line":177,"column":131}},"91":{"start":{"line":180,"column":4},"end":{"line":180,"column":38}},"92":{"start":{"line":181,"column":4},"end":{"line":181,"column":20}},"93":{"start":{"line":184,"column":2},"end":{"line":184,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":21},"end":{"line":20,"column":22}},"loc":{"start":{"line":20,"column":32},"end":{"line":32,"column":1}},"line":20},"1":{"name":"Initiator","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":25}},"loc":{"start":{"line":34,"column":28},"end":{"line":185,"column":1}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":12},"end":{"line":39,"column":13}},"loc":{"start":{"line":39,"column":18},"end":{"line":182,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":27},"end":{"line":40,"column":28}},"loc":{"start":{"line":44,"column":10},"end":{"line":169,"column":5}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":80},"end":{"line":53,"column":81}},"loc":{"start":{"line":54,"column":16},"end":{"line":54,"column":39}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":65},"end":{"line":70,"column":66}},"loc":{"start":{"line":70,"column":75},"end":{"line":70,"column":110}},"line":70},"6":{"name":"(anonymous_6)","decl":{"start":{"line":171,"column":23},"end":{"line":171,"column":24}},"loc":{"start":{"line":171,"column":30},"end":{"line":174,"column":7}},"line":171},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":13},"end":{"line":176,"column":14}},"loc":{"start":{"line":176,"column":19},"end":{"line":178,"column":7}},"line":176},"8":{"name":"(anonymous_8)","decl":{"start":{"line":181,"column":11},"end":{"line":181,"column":12}},"loc":{"start":{"line":181,"column":17},"end":{"line":181,"column":19}},"line":181}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":45,"column":6},"end":{"line":168,"column":7}},"type":"if","locations":[{"start":{"line":45,"column":6},"end":{"line":168,"column":7}},{"start":{},"end":{}}],"line":45},"2":{"loc":{"start":{"line":47,"column":8},"end":{"line":167,"column":9}},"type":"switch","locations":[{"start":{"line":48,"column":10},"end":{"line":76,"column":11}},{"start":{"line":77,"column":10},"end":{"line":83,"column":11}},{"start":{"line":84,"column":10},"end":{"line":93,"column":11}},{"start":{"line":94,"column":10},"end":{"line":97,"column":11}},{"start":{"line":98,"column":10},"end":{"line":101,"column":11}},{"start":{"line":102,"column":10},"end":{"line":105,"column":11}},{"start":{"line":106,"column":10},"end":{"line":110,"column":11}},{"start":{"line":111,"column":10},"end":{"line":119,"column":11}},{"start":{"line":121,"column":10},"end":{"line":131,"column":11}},{"start":{"line":133,"column":10},"end":{"line":136,"column":11}},{"start":{"line":137,"column":10},"end":{"line":140,"column":11}},{"start":{"line":141,"column":10},"end":{"line":144,"column":11}},{"start":{"line":145,"column":10},"end":{"line":148,"column":11}},{"start":{"line":149,"column":10},"end":{"line":156,"column":11}},{"start":{"line":157,"column":10},"end":{"line":164,"column":11}},{"start":{"line":165,"column":10},"end":{"line":166,"column":18}}],"line":47},"3":{"loc":{"start":{"line":52,"column":12},"end":{"line":65,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":65,"column":13}},{"start":{"line":58,"column":19},"end":{"line":65,"column":13}}],"line":52},"4":{"loc":{"start":{"line":58,"column":19},"end":{"line":65,"column":13}},"type":"if","locations":[{"start":{"line":58,"column":19},"end":{"line":65,"column":13}},{"start":{"line":62,"column":19},"end":{"line":65,"column":13}}],"line":58},"5":{"loc":{"start":{"line":68,"column":12},"end":{"line":74,"column":13}},"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":74,"column":13}},{"start":{"line":72,"column":19},"end":{"line":74,"column":13}}],"line":68},"6":{"loc":{"start":{"line":86,"column":12},"end":{"line":91,"column":13}},"type":"if","locations":[{"start":{"line":86,"column":12},"end":{"line":91,"column":13}},{"start":{},"end":{}}],"line":86},"7":{"loc":{"start":{"line":88,"column":49},"end":{"line":88,"column":69}},"type":"binary-expr","locations":[{"start":{"line":88,"column":49},"end":{"line":88,"column":63}},{"start":{"line":88,"column":67},"end":{"line":88,"column":69}}],"line":88},"8":{"loc":{"start":{"line":89,"column":14},"end":{"line":90,"column":61}},"type":"if","locations":[{"start":{"line":89,"column":14},"end":{"line":90,"column":61}},{"start":{"line":90,"column":19},"end":{"line":90,"column":61}}],"line":89},"9":{"loc":{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},{"start":{},"end":{}}],"line":113},"10":{"loc":{"start":{"line":123,"column":12},"end":{"line":126,"column":13}},"type":"if","locations":[{"start":{"line":123,"column":12},"end":{"line":126,"column":13}},{"start":{},"end":{}}],"line":123},"11":{"loc":{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},{"start":{},"end":{}}],"line":127},"12":{"loc":{"start":{"line":170,"column":4},"end":{"line":179,"column":5}},"type":"if","locations":[{"start":{"line":170,"column":4},"end":{"line":179,"column":5}},{"start":{},"end":{}}],"line":170}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Input.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Input.tsx","statementMap":{"0":{"start":{"line":35,"column":19},"end":{"line":44,"column":2}},"1":{"start":{"line":46,"column":20},"end":{"line":83,"column":2}},"2":{"start":{"line":85,"column":21},"end":{"line":112,"column":2}},"3":{"start":{"line":114,"column":21},"end":{"line":147,"column":2}},"4":{"start":{"line":149,"column":20},"end":{"line":153,"column":2}},"5":{"start":{"line":155,"column":14},"end":{"line":239,"column":2}},"6":{"start":{"line":179,"column":26},"end":{"line":179,"column":47}},"7":{"start":{"line":180,"column":23},"end":{"line":180,"column":59}},"8":{"start":{"line":181,"column":21},"end":{"line":181,"column":45}},"9":{"start":{"line":183,"column":27},"end":{"line":189,"column":24}},"10":{"start":{"line":184,"column":4},"end":{"line":184,"column":23}},"11":{"start":{"line":185,"column":4},"end":{"line":185,"column":19}},"12":{"start":{"line":186,"column":4},"end":{"line":188,"column":5}},"13":{"start":{"line":187,"column":6},"end":{"line":187,"column":95}},"14":{"start":{"line":191,"column":2},"end":{"line":195,"column":32}},"15":{"start":{"line":192,"column":4},"end":{"line":194,"column":5}},"16":{"start":{"line":193,"column":6},"end":{"line":193,"column":35}},"17":{"start":{"line":197,"column":2},"end":{"line":238,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":155,"column":56},"end":{"line":155,"column":57}},"loc":{"start":{"line":177,"column":11},"end":{"line":239,"column":1}},"line":177},"1":{"name":"(anonymous_1)","decl":{"start":{"line":183,"column":39},"end":{"line":183,"column":40}},"loc":{"start":{"line":183,"column":83},"end":{"line":189,"column":3}},"line":183},"2":{"name":"(anonymous_2)","decl":{"start":{"line":191,"column":18},"end":{"line":191,"column":19}},"loc":{"start":{"line":191,"column":24},"end":{"line":195,"column":3}},"line":191}},"branchMap":{"0":{"loc":{"start":{"line":159,"column":2},"end":{"line":159,"column":12}},"type":"default-arg","locations":[{"start":{"line":159,"column":10},"end":{"line":159,"column":12}}],"line":159},"1":{"loc":{"start":{"line":160,"column":2},"end":{"line":160,"column":18}},"type":"default-arg","locations":[{"start":{"line":160,"column":13},"end":{"line":160,"column":18}}],"line":160},"2":{"loc":{"start":{"line":161,"column":2},"end":{"line":161,"column":17}},"type":"default-arg","locations":[{"start":{"line":161,"column":13},"end":{"line":161,"column":17}}],"line":161},"3":{"loc":{"start":{"line":162,"column":2},"end":{"line":162,"column":14}},"type":"default-arg","locations":[{"start":{"line":162,"column":10},"end":{"line":162,"column":14}}],"line":162},"4":{"loc":{"start":{"line":171,"column":2},"end":{"line":171,"column":13}},"type":"default-arg","locations":[{"start":{"line":171,"column":11},"end":{"line":171,"column":13}}],"line":171},"5":{"loc":{"start":{"line":173,"column":2},"end":{"line":173,"column":18}},"type":"default-arg","locations":[{"start":{"line":173,"column":16},"end":{"line":173,"column":18}}],"line":173},"6":{"loc":{"start":{"line":174,"column":2},"end":{"line":174,"column":18}},"type":"default-arg","locations":[{"start":{"line":174,"column":13},"end":{"line":174,"column":18}}],"line":174},"7":{"loc":{"start":{"line":175,"column":2},"end":{"line":175,"column":16}},"type":"default-arg","locations":[{"start":{"line":175,"column":9},"end":{"line":175,"column":16}}],"line":175},"8":{"loc":{"start":{"line":181,"column":21},"end":{"line":181,"column":45}},"type":"binary-expr","locations":[{"start":{"line":181,"column":21},"end":{"line":181,"column":29}},{"start":{"line":181,"column":33},"end":{"line":181,"column":45}}],"line":181},"9":{"loc":{"start":{"line":186,"column":4},"end":{"line":188,"column":5}},"type":"if","locations":[{"start":{"line":186,"column":4},"end":{"line":188,"column":5}},{"start":{},"end":{}}],"line":186},"10":{"loc":{"start":{"line":187,"column":32},"end":{"line":187,"column":94}},"type":"cond-expr","locations":[{"start":{"line":187,"column":75},"end":{"line":187,"column":81}},{"start":{"line":187,"column":84},"end":{"line":187,"column":94}}],"line":187},"11":{"loc":{"start":{"line":192,"column":4},"end":{"line":194,"column":5}},"type":"if","locations":[{"start":{"line":192,"column":4},"end":{"line":194,"column":5}},{"start":{},"end":{}}],"line":192},"12":{"loc":{"start":{"line":192,"column":8},"end":{"line":192,"column":57}},"type":"binary-expr","locations":[{"start":{"line":192,"column":8},"end":{"line":192,"column":17}},{"start":{"line":192,"column":21},"end":{"line":192,"column":33}},{"start":{"line":192,"column":37},"end":{"line":192,"column":57}}],"line":192},"13":{"loc":{"start":{"line":198,"column":46},"end":{"line":198,"column":64}},"type":"cond-expr","locations":[{"start":{"line":198,"column":53},"end":{"line":198,"column":59}},{"start":{"line":198,"column":62},"end":{"line":198,"column":64}}],"line":198},"14":{"loc":{"start":{"line":199,"column":7},"end":{"line":206,"column":7}},"type":"binary-expr","locations":[{"start":{"line":199,"column":8},"end":{"line":199,"column":15}},{"start":{"line":199,"column":19},"end":{"line":199,"column":26}},{"start":{"line":200,"column":8},"end":{"line":205,"column":16}}],"line":199},"15":{"loc":{"start":{"line":201,"column":11},"end":{"line":201,"column":24}},"type":"binary-expr","locations":[{"start":{"line":201,"column":11},"end":{"line":201,"column":16}},{"start":{"line":201,"column":20},"end":{"line":201,"column":24}}],"line":201},"16":{"loc":{"start":{"line":202,"column":11},"end":{"line":204,"column":18}},"type":"cond-expr","locations":[{"start":{"line":203,"column":12},"end":{"line":203,"column":54}},{"start":{"line":204,"column":14},"end":{"line":204,"column":18}}],"line":202},"17":{"loc":{"start":{"line":207,"column":64},"end":{"line":207,"column":82}},"type":"cond-expr","locations":[{"start":{"line":207,"column":71},"end":{"line":207,"column":77}},{"start":{"line":207,"column":80},"end":{"line":207,"column":82}}],"line":207},"18":{"loc":{"start":{"line":208,"column":9},"end":{"line":208,"column":58}},"type":"binary-expr","locations":[{"start":{"line":208,"column":9},"end":{"line":208,"column":17}},{"start":{"line":208,"column":21},"end":{"line":208,"column":58}}],"line":208},"19":{"loc":{"start":{"line":211,"column":15},"end":{"line":211,"column":46}},"type":"binary-expr","locations":[{"start":{"line":211,"column":15},"end":{"line":211,"column":23}},{"start":{"line":211,"column":27},"end":{"line":211,"column":30}},{"start":{"line":211,"column":34},"end":{"line":211,"column":46}}],"line":211},"20":{"loc":{"start":{"line":213,"column":20},"end":{"line":213,"column":41}},"type":"binary-expr","locations":[{"start":{"line":213,"column":20},"end":{"line":213,"column":28}},{"start":{"line":213,"column":32},"end":{"line":213,"column":41}}],"line":213},"21":{"loc":{"start":{"line":230,"column":9},"end":{"line":230,"column":42}},"type":"binary-expr","locations":[{"start":{"line":230,"column":9},"end":{"line":230,"column":17}},{"start":{"line":230,"column":21},"end":{"line":230,"column":42}}],"line":230},"22":{"loc":{"start":{"line":231,"column":9},"end":{"line":235,"column":9}},"type":"binary-expr","locations":[{"start":{"line":231,"column":9},"end":{"line":231,"column":17}},{"start":{"line":232,"column":10},"end":{"line":234,"column":25}}],"line":231},"23":{"loc":{"start":{"line":233,"column":25},"end":{"line":233,"column":74}},"type":"cond-expr","locations":[{"start":{"line":233,"column":32},"end":{"line":233,"column":50}},{"start":{"line":233,"column":53},"end":{"line":233,"column":74}}],"line":233}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectSearchOptionDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectSearchOptionDropdown.tsx","statementMap":{"0":{"start":{"line":12,"column":23},"end":{"line":12,"column":65}},"1":{"start":{"line":13,"column":19},"end":{"line":13,"column":42}},"2":{"start":{"line":15,"column":39},"end":{"line":17,"column":29}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":62}},"4":{"start":{"line":19,"column":41},"end":{"line":21,"column":29}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":64}},"6":{"start":{"line":23,"column":16},"end":{"line":23,"column":43}},"7":{"start":{"line":25,"column":2},"end":{"line":56,"column":4}}},"fnMap":{"0":{"name":"InspectSearchOptionDropdown","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":51}},"loc":{"start":{"line":11,"column":54},"end":{"line":57,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":57},"end":{"line":15,"column":58}},"loc":{"start":{"line":15,"column":79},"end":{"line":17,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":59},"end":{"line":19,"column":60}},"loc":{"start":{"line":19,"column":81},"end":{"line":21,"column":3}},"line":19}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Inspector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Inspector.tsx","statementMap":{"0":{"start":{"line":27,"column":40},"end":{"line":27,"column":63}},"1":{"start":{"line":28,"column":16},"end":{"line":28,"column":43}},"2":{"start":{"line":29,"column":50},"end":{"line":29,"column":76}},"3":{"start":{"line":30,"column":19},"end":{"line":30,"column":42}},"4":{"start":{"line":31,"column":17},"end":{"line":31,"column":44}},"5":{"start":{"line":32,"column":23},"end":{"line":32,"column":56}},"6":{"start":{"line":33,"column":22},"end":{"line":33,"column":54}},"7":{"start":{"line":35,"column":25},"end":{"line":37,"column":28}},"8":{"start":{"line":36,"column":4},"end":{"line":36,"column":74}},"9":{"start":{"line":39,"column":31},"end":{"line":44,"column":8}},"10":{"start":{"line":40,"column":4},"end":{"line":43,"column":5}},"11":{"start":{"line":41,"column":6},"end":{"line":41,"column":40}},"12":{"start":{"line":42,"column":6},"end":{"line":42,"column":27}},"13":{"start":{"line":47,"column":4},"end":{"line":51,"column":5}},"14":{"start":{"line":48,"column":20},"end":{"line":48,"column":82}},"15":{"start":{"line":49,"column":20},"end":{"line":49,"column":115}},"16":{"start":{"line":50,"column":15},"end":{"line":50,"column":27}},"17":{"start":{"line":54,"column":34},"end":{"line":56,"column":8}},"18":{"start":{"line":55,"column":4},"end":{"line":55,"column":44}},"19":{"start":{"line":58,"column":31},"end":{"line":58,"column":127}},"20":{"start":{"line":58,"column":55},"end":{"line":58,"column":101}},"21":{"start":{"line":60,"column":2},"end":{"line":125,"column":4}}},"fnMap":{"0":{"name":"Inspector","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":21},"end":{"line":126,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":39},"end":{"line":35,"column":40}},"loc":{"start":{"line":36,"column":4},"end":{"line":36,"column":74}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":49},"end":{"line":39,"column":50}},"loc":{"start":{"line":39,"column":78},"end":{"line":44,"column":3}},"line":39},"3":{"name":"renderInspectView","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":28}},"loc":{"start":{"line":46,"column":31},"end":{"line":52,"column":3}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":52},"end":{"line":54,"column":53}},"loc":{"start":{"line":54,"column":100},"end":{"line":56,"column":3}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":49},"end":{"line":58,"column":50}},"loc":{"start":{"line":58,"column":55},"end":{"line":58,"column":101}},"line":58}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":40},"1":{"loc":{"start":{"line":47,"column":4},"end":{"line":51,"column":5}},"type":"switch","locations":[{"start":{"line":48,"column":6},"end":{"line":48,"column":82}},{"start":{"line":49,"column":6},"end":{"line":49,"column":115}},{"start":{"line":50,"column":6},"end":{"line":50,"column":27}}],"line":47}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorDebugView.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorDebugView.tsx","statementMap":{"0":{"start":{"line":17,"column":19},"end":{"line":22,"column":2}},"1":{"start":{"line":25,"column":18},"end":{"line":25,"column":55}},"2":{"start":{"line":26,"column":28},"end":{"line":26,"column":39}},"3":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"4":{"start":{"line":28,"column":27},"end":{"line":41,"column":62}},"5":{"start":{"line":29,"column":26},"end":{"line":29,"column":62}},"6":{"start":{"line":30,"column":4},"end":{"line":30,"column":60}},"7":{"start":{"line":30,"column":23},"end":{"line":30,"column":60}},"8":{"start":{"line":31,"column":26},"end":{"line":31,"column":131}},"9":{"start":{"line":31,"column":65},"end":{"line":31,"column":115}},"10":{"start":{"line":32,"column":4},"end":{"line":39,"column":5}},"11":{"start":{"line":33,"column":6},"end":{"line":38,"column":9}},"12":{"start":{"line":40,"column":4},"end":{"line":40,"column":21}},"13":{"start":{"line":44,"column":4},"end":{"line":44,"column":138}},"14":{"start":{"line":44,"column":36},"end":{"line":44,"column":138}},"15":{"start":{"line":45,"column":4},"end":{"line":45,"column":226}},"16":{"start":{"line":48,"column":2},"end":{"line":84,"column":4}},"17":{"start":{"line":62,"column":42},"end":{"line":62,"column":96}},"18":{"start":{"line":64,"column":18},"end":{"line":73,"column":31}}},"fnMap":{"0":{"name":"InspectorDebugView","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":42}},"loc":{"start":{"line":24,"column":98},"end":{"line":85,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":39},"end":{"line":28,"column":40}},"loc":{"start":{"line":28,"column":76},"end":{"line":41,"column":3}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":55},"end":{"line":31,"column":56}},"loc":{"start":{"line":31,"column":65},"end":{"line":31,"column":115}},"line":31},"3":{"name":"renderBlankslate","decl":{"start":{"line":43,"column":11},"end":{"line":43,"column":27}},"loc":{"start":{"line":43,"column":30},"end":{"line":46,"column":3}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":24},"end":{"line":62,"column":25}},"loc":{"start":{"line":62,"column":42},"end":{"line":62,"column":96}},"line":62},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":21},"end":{"line":63,"column":22}},"loc":{"start":{"line":64,"column":18},"end":{"line":73,"column":31}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":60}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":60}},{"start":{},"end":{}}],"line":30},"1":{"loc":{"start":{"line":31,"column":65},"end":{"line":31,"column":115}},"type":"binary-expr","locations":[{"start":{"line":31,"column":65},"end":{"line":31,"column":91}},{"start":{"line":31,"column":95},"end":{"line":31,"column":115}}],"line":31},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":32},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":138}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":138}},{"start":{},"end":{}}],"line":44},"4":{"loc":{"start":{"line":45,"column":30},"end":{"line":45,"column":103}},"type":"cond-expr","locations":[{"start":{"line":45,"column":61},"end":{"line":45,"column":79}},{"start":{"line":45,"column":82},"end":{"line":45,"column":103}}],"line":45},"5":{"loc":{"start":{"line":45,"column":118},"end":{"line":45,"column":221}},"type":"cond-expr","locations":[{"start":{"line":45,"column":149},"end":{"line":45,"column":183}},{"start":{"line":45,"column":186},"end":{"line":45,"column":221}}],"line":45},"6":{"loc":{"start":{"line":58,"column":9},"end":{"line":81,"column":11}},"type":"cond-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":75,"column":20}},{"start":{"line":78,"column":12},"end":{"line":80,"column":20}}],"line":58},"7":{"loc":{"start":{"line":58,"column":9},"end":{"line":58,"column":99}},"type":"binary-expr","locations":[{"start":{"line":58,"column":9},"end":{"line":58,"column":37}},{"start":{"line":58,"column":41},"end":{"line":58,"column":99}}],"line":58},"8":{"loc":{"start":{"line":62,"column":42},"end":{"line":62,"column":96}},"type":"binary-expr","locations":[{"start":{"line":62,"column":42},"end":{"line":62,"column":74}},{"start":{"line":62,"column":78},"end":{"line":62,"column":96}}],"line":62},"9":{"loc":{"start":{"line":70,"column":23},"end":{"line":70,"column":78}},"type":"binary-expr","locations":[{"start":{"line":70,"column":23},"end":{"line":70,"column":48}},{"start":{"line":70,"column":52},"end":{"line":70,"column":78}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorMultiView.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorMultiView.tsx","statementMap":{"0":{"start":{"line":22,"column":16},"end":{"line":22,"column":43}},"1":{"start":{"line":24,"column":25},"end":{"line":28,"column":3}},"2":{"start":{"line":30,"column":23},"end":{"line":30,"column":65}},"3":{"start":{"line":31,"column":18},"end":{"line":31,"column":55}},"4":{"start":{"line":32,"column":55},"end":{"line":32,"column":66}},"5":{"start":{"line":33,"column":64},"end":{"line":33,"column":85}},"6":{"start":{"line":34,"column":19},"end":{"line":34,"column":42}},"7":{"start":{"line":36,"column":2},"end":{"line":38,"column":32}},"8":{"start":{"line":37,"column":4},"end":{"line":37,"column":48}},"9":{"start":{"line":40,"column":34},"end":{"line":49,"column":138}},"10":{"start":{"line":41,"column":17},"end":{"line":41,"column":40}},"11":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":139}},"13":{"start":{"line":43,"column":40},"end":{"line":43,"column":137}},"14":{"start":{"line":43,"column":79},"end":{"line":43,"column":113}},"15":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"16":{"start":{"line":46,"column":6},"end":{"line":46,"column":143}},"17":{"start":{"line":46,"column":41},"end":{"line":46,"column":140}},"18":{"start":{"line":46,"column":81},"end":{"line":46,"column":115}},"19":{"start":{"line":48,"column":4},"end":{"line":48,"column":98}},"20":{"start":{"line":48,"column":52},"end":{"line":48,"column":87}},"21":{"start":{"line":51,"column":33},"end":{"line":71,"column":31}},"22":{"start":{"line":52,"column":4},"end":{"line":70,"column":10}},"23":{"start":{"line":56,"column":6},"end":{"line":56,"column":60}},"24":{"start":{"line":56,"column":49},"end":{"line":56,"column":60}},"25":{"start":{"line":57,"column":6},"end":{"line":67,"column":7}},"26":{"start":{"line":58,"column":31},"end":{"line":58,"column":91}},"27":{"start":{"line":58,"column":68},"end":{"line":58,"column":90}},"28":{"start":{"line":60,"column":8},"end":{"line":64,"column":9}},"29":{"start":{"line":61,"column":10},"end":{"line":61,"column":72}},"30":{"start":{"line":63,"column":10},"end":{"line":63,"column":62}},"31":{"start":{"line":66,"column":8},"end":{"line":66,"column":36}},"32":{"start":{"line":69,"column":6},"end":{"line":69,"column":17}},"33":{"start":{"line":73,"column":23},"end":{"line":82,"column":81}},"34":{"start":{"line":74,"column":27},"end":{"line":79,"column":8}},"35":{"start":{"line":75,"column":21},"end":{"line":75,"column":85}},"36":{"start":{"line":76,"column":19},"end":{"line":76,"column":55}},"37":{"start":{"line":81,"column":4},"end":{"line":81,"column":40}},"38":{"start":{"line":84,"column":26},"end":{"line":90,"column":90}},"39":{"start":{"line":85,"column":4},"end":{"line":89,"column":6}},"40":{"start":{"line":88,"column":45},"end":{"line":88,"column":71}},"41":{"start":{"line":92,"column":26},"end":{"line":94,"column":16}},"42":{"start":{"line":93,"column":4},"end":{"line":93,"column":58}},"43":{"start":{"line":96,"column":24},"end":{"line":98,"column":43}},"44":{"start":{"line":97,"column":4},"end":{"line":97,"column":40}},"45":{"start":{"line":100,"column":30},"end":{"line":102,"column":8}},"46":{"start":{"line":101,"column":4},"end":{"line":101,"column":39}},"47":{"start":{"line":104,"column":30},"end":{"line":106,"column":8}},"48":{"start":{"line":105,"column":4},"end":{"line":105,"column":40}},"49":{"start":{"line":108,"column":2},"end":{"line":171,"column":4}},"50":{"start":{"line":152,"column":67},"end":{"line":152,"column":204}}},"fnMap":{"0":{"name":"InspectorMultiView","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":42}},"loc":{"start":{"line":21,"column":136},"end":{"line":172,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":18},"end":{"line":36,"column":19}},"loc":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":48},"end":{"line":40,"column":49}},"loc":{"start":{"line":40,"column":54},"end":{"line":49,"column":3}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":29},"end":{"line":43,"column":30}},"loc":{"start":{"line":43,"column":40},"end":{"line":43,"column":137}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":60},"end":{"line":43,"column":61}},"loc":{"start":{"line":43,"column":79},"end":{"line":43,"column":113}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":29},"end":{"line":46,"column":30}},"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":140}},"line":46},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":62},"end":{"line":46,"column":63}},"loc":{"start":{"line":46,"column":81},"end":{"line":46,"column":115}},"line":46},"7":{"name":"(anonymous_7)","decl":{"start":{"line":48,"column":41},"end":{"line":48,"column":42}},"loc":{"start":{"line":48,"column":52},"end":{"line":48,"column":87}},"line":48},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":47},"end":{"line":51,"column":48}},"loc":{"start":{"line":52,"column":4},"end":{"line":70,"column":10}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":55,"column":7},"end":{"line":55,"column":8}},"loc":{"start":{"line":55,"column":22},"end":{"line":70,"column":5}},"line":55},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":61},"end":{"line":58,"column":62}},"loc":{"start":{"line":58,"column":68},"end":{"line":58,"column":90}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":73,"column":41},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":47},"end":{"line":82,"column":3}},"line":73},"12":{"name":"(anonymous_12)","decl":{"start":{"line":75,"column":14},"end":{"line":75,"column":15}},"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":85}},"line":75},"13":{"name":"(anonymous_13)","decl":{"start":{"line":76,"column":11},"end":{"line":76,"column":12}},"loc":{"start":{"line":76,"column":19},"end":{"line":76,"column":55}},"line":76},"14":{"name":"(anonymous_14)","decl":{"start":{"line":84,"column":44},"end":{"line":84,"column":45}},"loc":{"start":{"line":84,"column":50},"end":{"line":90,"column":3}},"line":84},"15":{"name":"(anonymous_15)","decl":{"start":{"line":88,"column":38},"end":{"line":88,"column":39}},"loc":{"start":{"line":88,"column":45},"end":{"line":88,"column":71}},"line":88},"16":{"name":"(anonymous_16)","decl":{"start":{"line":92,"column":44},"end":{"line":92,"column":45}},"loc":{"start":{"line":92,"column":50},"end":{"line":94,"column":3}},"line":92},"17":{"name":"(anonymous_17)","decl":{"start":{"line":96,"column":42},"end":{"line":96,"column":43}},"loc":{"start":{"line":96,"column":48},"end":{"line":98,"column":3}},"line":96},"18":{"name":"(anonymous_18)","decl":{"start":{"line":100,"column":48},"end":{"line":100,"column":49}},"loc":{"start":{"line":100,"column":54},"end":{"line":102,"column":3}},"line":100},"19":{"name":"(anonymous_19)","decl":{"start":{"line":104,"column":48},"end":{"line":104,"column":49}},"loc":{"start":{"line":104,"column":54},"end":{"line":106,"column":3}},"line":104},"20":{"name":"(anonymous_20)","decl":{"start":{"line":152,"column":56},"end":{"line":152,"column":57}},"loc":{"start":{"line":152,"column":67},"end":{"line":152,"column":204}},"line":152}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":43,"column":40},"end":{"line":43,"column":137}},"type":"binary-expr","locations":[{"start":{"line":43,"column":40},"end":{"line":43,"column":114}},{"start":{"line":43,"column":118},"end":{"line":43,"column":137}}],"line":43},"2":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":140}},"type":"binary-expr","locations":[{"start":{"line":46,"column":41},"end":{"line":46,"column":116}},{"start":{"line":46,"column":120},"end":{"line":46,"column":140}}],"line":46},"4":{"loc":{"start":{"line":48,"column":11},"end":{"line":48,"column":97}},"type":"cond-expr","locations":[{"start":{"line":48,"column":27},"end":{"line":48,"column":88}},{"start":{"line":48,"column":91},"end":{"line":48,"column":97}}],"line":48},"5":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":60}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":60}},{"start":{},"end":{}}],"line":56},"6":{"loc":{"start":{"line":57,"column":6},"end":{"line":67,"column":7}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":67,"column":7}},{"start":{"line":65,"column":13},"end":{"line":67,"column":7}}],"line":57},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":64,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":64,"column":9}},{"start":{"line":62,"column":15},"end":{"line":64,"column":9}}],"line":60},"8":{"loc":{"start":{"line":86,"column":6},"end":{"line":88,"column":72}},"type":"cond-expr","locations":[{"start":{"line":87,"column":10},"end":{"line":87,"column":12}},{"start":{"line":88,"column":10},"end":{"line":88,"column":72}}],"line":86},"9":{"loc":{"start":{"line":110,"column":7},"end":{"line":143,"column":7}},"type":"binary-expr","locations":[{"start":{"line":110,"column":7},"end":{"line":110,"column":41}},{"start":{"line":111,"column":8},"end":{"line":142,"column":14}}],"line":110},"10":{"loc":{"start":{"line":150,"column":9},"end":{"line":162,"column":9}},"type":"cond-expr","locations":[{"start":{"line":151,"column":10},"end":{"line":153,"column":16}},{"start":{"line":155,"column":10},"end":{"line":161,"column":18}}],"line":150},"11":{"loc":{"start":{"line":156,"column":31},"end":{"line":156,"column":102}},"type":"cond-expr","locations":[{"start":{"line":156,"column":60},"end":{"line":156,"column":78}},{"start":{"line":156,"column":81},"end":{"line":156,"column":102}}],"line":156},"12":{"loc":{"start":{"line":156,"column":117},"end":{"line":156,"column":188}},"type":"cond-expr","locations":[{"start":{"line":156,"column":146},"end":{"line":156,"column":169}},{"start":{"line":156,"column":172},"end":{"line":156,"column":188}}],"line":156},"13":{"loc":{"start":{"line":158,"column":13},"end":{"line":160,"column":13}},"type":"binary-expr","locations":[{"start":{"line":158,"column":13},"end":{"line":158,"column":47}},{"start":{"line":159,"column":14},"end":{"line":159,"column":93}}],"line":158},"14":{"loc":{"start":{"line":164,"column":7},"end":{"line":169,"column":7}},"type":"binary-expr","locations":[{"start":{"line":164,"column":7},"end":{"line":164,"column":28}},{"start":{"line":165,"column":8},"end":{"line":168,"column":10}}],"line":164}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorResolvedToken.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorResolvedToken.tsx","statementMap":{"0":{"start":{"line":22,"column":16},"end":{"line":22,"column":43}},"1":{"start":{"line":24,"column":2},"end":{"line":43,"column":3}},"2":{"start":{"line":25,"column":4},"end":{"line":42,"column":6}},"3":{"start":{"line":44,"column":2},"end":{"line":167,"column":3}},"4":{"start":{"line":46,"column":6},"end":{"line":58,"column":8}},"5":{"start":{"line":61,"column":6},"end":{"line":73,"column":8}},"6":{"start":{"line":77,"column":6},"end":{"line":89,"column":8}},"7":{"start":{"line":92,"column":42},"end":{"line":92,"column":59}},"8":{"start":{"line":93,"column":6},"end":{"line":99,"column":7}},"9":{"start":{"line":94,"column":8},"end":{"line":98,"column":10}},"10":{"start":{"line":101,"column":6},"end":{"line":115,"column":8}},"11":{"start":{"line":119,"column":6},"end":{"line":131,"column":8}},"12":{"start":{"line":135,"column":6},"end":{"line":147,"column":8}},"13":{"start":{"line":151,"column":6},"end":{"line":165,"column":8}}},"fnMap":{"0":{"name":"InspectorResolvedToken","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":46}},"loc":{"start":{"line":21,"column":76},"end":{"line":168,"column":1}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":43,"column":3}},{"start":{},"end":{}}],"line":24},"1":{"loc":{"start":{"line":44,"column":2},"end":{"line":167,"column":3}},"type":"switch","locations":[{"start":{"line":45,"column":4},"end":{"line":59,"column":5}},{"start":{"line":60,"column":4},"end":{"line":74,"column":5}},{"start":{"line":76,"column":4},"end":{"line":90,"column":5}},{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},{"start":{"line":118,"column":4},"end":{"line":132,"column":5}},{"start":{"line":134,"column":4},"end":{"line":148,"column":5}},{"start":{"line":150,"column":4},"end":{"line":166,"column":5}}],"line":44},"2":{"loc":{"start":{"line":93,"column":6},"end":{"line":99,"column":7}},"type":"if","locations":[{"start":{"line":93,"column":6},"end":{"line":99,"column":7}},{"start":{},"end":{}}],"line":93}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenGroup.tsx","statementMap":{"0":{"start":{"line":10,"column":33},"end":{"line":10,"column":38}},"1":{"start":{"line":12,"column":2},"end":{"line":25,"column":4}},"2":{"start":{"line":23,"column":39},"end":{"line":23,"column":168}}},"fnMap":{"0":{"name":"InspectorTokenGroup","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":43}},"loc":{"start":{"line":9,"column":145},"end":{"line":26,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":22},"end":{"line":23,"column":23}},"loc":{"start":{"line":23,"column":39},"end":{"line":23,"column":168}},"line":23}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenSingle.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/InspectorTokenSingle.tsx","statementMap":{"0":{"start":{"line":33,"column":41},"end":{"line":33,"column":52}},"1":{"start":{"line":34,"column":19},"end":{"line":34,"column":53}},"2":{"start":{"line":35,"column":23},"end":{"line":35,"column":70}},"3":{"start":{"line":36,"column":19},"end":{"line":36,"column":42}},"4":{"start":{"line":37,"column":42},"end":{"line":37,"column":77}},"5":{"start":{"line":38,"column":38},"end":{"line":38,"column":68}},"6":{"start":{"line":39,"column":34},"end":{"line":39,"column":64}},"7":{"start":{"line":40,"column":42},"end":{"line":40,"column":72}},"8":{"start":{"line":41,"column":24},"end":{"line":41,"column":55}},"9":{"start":{"line":43,"column":16},"end":{"line":43,"column":43}},"10":{"start":{"line":45,"column":25},"end":{"line":60,"column":54}},"11":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"12":{"start":{"line":47,"column":6},"end":{"line":47,"column":79}},"13":{"start":{"line":49,"column":26},"end":{"line":49,"column":68}},"14":{"start":{"line":50,"column":4},"end":{"line":58,"column":5}},"15":{"start":{"line":51,"column":6},"end":{"line":55,"column":7}},"16":{"start":{"line":52,"column":8},"end":{"line":54,"column":10}},"17":{"start":{"line":57,"column":6},"end":{"line":57,"column":96}},"18":{"start":{"line":59,"column":4},"end":{"line":59,"column":16}},"19":{"start":{"line":62,"column":2},"end":{"line":65,"column":43}},"20":{"start":{"line":63,"column":4},"end":{"line":63,"column":89}},"21":{"start":{"line":64,"column":4},"end":{"line":64,"column":131}},"22":{"start":{"line":64,"column":48},"end":{"line":64,"column":82}},"23":{"start":{"line":64,"column":109},"end":{"line":64,"column":131}},"24":{"start":{"line":67,"column":2},"end":{"line":69,"column":23}},"25":{"start":{"line":68,"column":4},"end":{"line":68,"column":50}},"26":{"start":{"line":71,"column":37},"end":{"line":73,"column":8}},"27":{"start":{"line":72,"column":4},"end":{"line":72,"column":57}},"28":{"start":{"line":75,"column":23},"end":{"line":77,"column":8}},"29":{"start":{"line":76,"column":4},"end":{"line":76,"column":27}},"30":{"start":{"line":79,"column":20},"end":{"line":82,"column":56}},"31":{"start":{"line":80,"column":4},"end":{"line":80,"column":75}},"32":{"start":{"line":81,"column":4},"end":{"line":81,"column":25}},"33":{"start":{"line":84,"column":22},"end":{"line":86,"column":8}},"34":{"start":{"line":85,"column":4},"end":{"line":85,"column":24}},"35":{"start":{"line":88,"column":19},"end":{"line":90,"column":8}},"36":{"start":{"line":89,"column":4},"end":{"line":89,"column":25}},"37":{"start":{"line":92,"column":27},"end":{"line":94,"column":36}},"38":{"start":{"line":93,"column":4},"end":{"line":93,"column":83}},"39":{"start":{"line":96,"column":2},"end":{"line":189,"column":4}}},"fnMap":{"0":{"name":"InspectorTokenSingle","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":44}},"loc":{"start":{"line":31,"column":3},"end":{"line":190,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":39},"end":{"line":45,"column":40}},"loc":{"start":{"line":45,"column":45},"end":{"line":60,"column":3}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":62,"column":18},"end":{"line":62,"column":19}},"loc":{"start":{"line":62,"column":24},"end":{"line":65,"column":3}},"line":62},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":29},"end":{"line":64,"column":30}},"loc":{"start":{"line":64,"column":48},"end":{"line":64,"column":82}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":67,"column":18},"end":{"line":67,"column":19}},"loc":{"start":{"line":67,"column":24},"end":{"line":69,"column":3}},"line":67},"5":{"name":"(anonymous_5)","decl":{"start":{"line":71,"column":55},"end":{"line":71,"column":56}},"loc":{"start":{"line":71,"column":82},"end":{"line":73,"column":3}},"line":71},"6":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":41},"end":{"line":75,"column":42}},"loc":{"start":{"line":75,"column":78},"end":{"line":77,"column":3}},"line":75},"7":{"name":"(anonymous_7)","decl":{"start":{"line":79,"column":38},"end":{"line":79,"column":39}},"loc":{"start":{"line":79,"column":44},"end":{"line":82,"column":3}},"line":79},"8":{"name":"(anonymous_8)","decl":{"start":{"line":84,"column":40},"end":{"line":84,"column":41}},"loc":{"start":{"line":84,"column":46},"end":{"line":86,"column":3}},"line":84},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":37},"end":{"line":88,"column":38}},"loc":{"start":{"line":88,"column":43},"end":{"line":90,"column":3}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":92,"column":45},"end":{"line":92,"column":46}},"loc":{"start":{"line":92,"column":51},"end":{"line":94,"column":3}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":46},"1":{"loc":{"start":{"line":50,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":50},"2":{"loc":{"start":{"line":51,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":55,"column":7}},{"start":{},"end":{}}],"line":51},"3":{"loc":{"start":{"line":64,"column":4},"end":{"line":64,"column":131}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":64,"column":131}},{"start":{},"end":{}}],"line":64},"4":{"loc":{"start":{"line":64,"column":8},"end":{"line":64,"column":107}},"type":"binary-expr","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":83}},{"start":{"line":64,"column":87},"end":{"line":64,"column":107}}],"line":64},"5":{"loc":{"start":{"line":123,"column":10},"end":{"line":123,"column":117}},"type":"binary-expr","locations":[{"start":{"line":123,"column":11},"end":{"line":123,"column":33}},{"start":{"line":123,"column":37},"end":{"line":123,"column":69}},{"start":{"line":123,"column":74},"end":{"line":123,"column":117}}],"line":123},"6":{"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":96}},"type":"binary-expr","locations":[{"start":{"line":126,"column":10},"end":{"line":126,"column":22}},{"start":{"line":126,"column":26},"end":{"line":126,"column":48}},{"start":{"line":126,"column":52},"end":{"line":126,"column":96}}],"line":126},"7":{"loc":{"start":{"line":128,"column":9},"end":{"line":130,"column":9}},"type":"binary-expr","locations":[{"start":{"line":128,"column":10},"end":{"line":128,"column":24}},{"start":{"line":128,"column":28},"end":{"line":128,"column":59}},{"start":{"line":128,"column":63},"end":{"line":128,"column":93}},{"start":{"line":129,"column":10},"end":{"line":129,"column":59}}],"line":128},"8":{"loc":{"start":{"line":139,"column":11},"end":{"line":139,"column":111}},"type":"binary-expr","locations":[{"start":{"line":139,"column":11},"end":{"line":139,"column":43}},{"start":{"line":139,"column":47},"end":{"line":139,"column":111}}],"line":139},"9":{"loc":{"start":{"line":140,"column":11},"end":{"line":140,"column":102}},"type":"binary-expr","locations":[{"start":{"line":140,"column":11},"end":{"line":140,"column":40}},{"start":{"line":140,"column":44},"end":{"line":140,"column":102}}],"line":140},"10":{"loc":{"start":{"line":143,"column":12},"end":{"line":152,"column":13}},"type":"binary-expr","locations":[{"start":{"line":143,"column":12},"end":{"line":143,"column":32}},{"start":{"line":144,"column":12},"end":{"line":151,"column":14}}],"line":143},"11":{"loc":{"start":{"line":156,"column":10},"end":{"line":184,"column":11}},"type":"binary-expr","locations":[{"start":{"line":156,"column":10},"end":{"line":156,"column":20}},{"start":{"line":157,"column":12},"end":{"line":183,"column":20}}],"line":156},"12":{"loc":{"start":{"line":157,"column":78},"end":{"line":157,"column":113}},"type":"binary-expr","locations":[{"start":{"line":157,"column":78},"end":{"line":157,"column":98}},{"start":{"line":157,"column":102},"end":{"line":157,"column":113}}],"line":157}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0,0],"7":[0,0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/JSONEditor.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/JSONEditor.tsx","statementMap":{"0":{"start":{"line":20,"column":25},"end":{"line":20,"column":60}},"1":{"start":{"line":21,"column":33},"end":{"line":21,"column":76}},"2":{"start":{"line":22,"column":28},"end":{"line":22,"column":66}},"3":{"start":{"line":23,"column":33},"end":{"line":23,"column":88}},"4":{"start":{"line":25,"column":31},"end":{"line":25,"column":42}},"5":{"start":{"line":26,"column":26},"end":{"line":26,"column":41}},"6":{"start":{"line":27,"column":17},"end":{"line":27,"column":28}},"7":{"start":{"line":29,"column":2},"end":{"line":35,"column":5}},"8":{"start":{"line":37,"column":31},"end":{"line":39,"column":20}},"9":{"start":{"line":38,"column":4},"end":{"line":38,"column":30}},"10":{"start":{"line":41,"column":29},"end":{"line":45,"column":38}},"11":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":37}},"13":{"start":{"line":47,"column":2},"end":{"line":47,"column":44}},"14":{"start":{"line":49,"column":2},"end":{"line":76,"column":4}}},"fnMap":{"0":{"name":"JSONEditor","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":19}},"loc":{"start":{"line":19,"column":10},"end":{"line":77,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":49},"end":{"line":37,"column":50}},"loc":{"start":{"line":37,"column":80},"end":{"line":39,"column":3}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":41,"column":47},"end":{"line":41,"column":48}},"loc":{"start":{"line":41,"column":73},"end":{"line":45,"column":3}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":17},"end":{"line":38,"column":28}},"type":"binary-expr","locations":[{"start":{"line":38,"column":17},"end":{"line":38,"column":22}},{"start":{"line":38,"column":26},"end":{"line":38,"column":28}}],"line":38},"1":{"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":38}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":21}},{"start":{"line":42,"column":25},"end":{"line":42,"column":38}}],"line":42},"3":{"loc":{"start":{"line":63,"column":15},"end":{"line":63,"column":51}},"type":"cond-expr","locations":[{"start":{"line":63,"column":29},"end":{"line":63,"column":38}},{"start":{"line":63,"column":41},"end":{"line":63,"column":51}}],"line":63},"4":{"loc":{"start":{"line":72,"column":20},"end":{"line":72,"column":86}},"type":"binary-expr","locations":[{"start":{"line":72,"column":20},"end":{"line":72,"column":34}},{"start":{"line":72,"column":38},"end":{"line":72,"column":60}},{"start":{"line":72,"column":64},"end":{"line":72,"column":86}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Label.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Label.tsx","statementMap":{"0":{"start":{"line":16,"column":22},"end":{"line":30,"column":4}},"1":{"start":{"line":32,"column":2},"end":{"line":36,"column":4}}},"fnMap":{"0":{"name":"Label","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":29}},"loc":{"start":{"line":15,"column":3},"end":{"line":37,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":18}},"type":"default-arg","locations":[{"start":{"line":8,"column":13},"end":{"line":8,"column":18}}],"line":8}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Link.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Link.tsx","statementMap":{"0":{"start":{"line":4,"column":19},"end":{"line":10,"column":2}},"1":{"start":{"line":18,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"Link","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":28}},"loc":{"start":{"line":17,"column":56},"end":{"line":21,"column":1}},"line":17}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LoadingBar.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LoadingBar.tsx","statementMap":{"0":{"start":{"line":14,"column":35},"end":{"line":29,"column":1}},"1":{"start":{"line":32,"column":25},"end":{"line":32,"column":60}},"2":{"start":{"line":33,"column":21},"end":{"line":33,"column":52}},"3":{"start":{"line":35,"column":26},"end":{"line":35,"column":109}},"4":{"start":{"line":35,"column":46},"end":{"line":35,"column":90}},"5":{"start":{"line":35,"column":75},"end":{"line":35,"column":89}},"6":{"start":{"line":36,"column":27},"end":{"line":40,"column":26}},"7":{"start":{"line":36,"column":47},"end":{"line":40,"column":7}},"8":{"start":{"line":37,"column":4},"end":{"line":39,"column":10}},"9":{"start":{"line":41,"column":36},"end":{"line":43,"column":24}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":39}},"11":{"start":{"line":44,"column":21},"end":{"line":49,"column":3}},"12":{"start":{"line":50,"column":25},"end":{"line":52,"column":26}},"13":{"start":{"line":50,"column":45},"end":{"line":52,"column":7}},"14":{"start":{"line":51,"column":4},"end":{"line":51,"column":37}},"15":{"start":{"line":53,"column":21},"end":{"line":55,"column":26}},"16":{"start":{"line":53,"column":41},"end":{"line":55,"column":7}},"17":{"start":{"line":54,"column":4},"end":{"line":54,"column":33}},"18":{"start":{"line":57,"column":23},"end":{"line":61,"column":8}},"19":{"start":{"line":58,"column":4},"end":{"line":60,"column":7}},"20":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"21":{"start":{"line":64,"column":4},"end":{"line":64,"column":16}},"22":{"start":{"line":67,"column":18},"end":{"line":67,"column":101}},"23":{"start":{"line":69,"column":2},"end":{"line":100,"column":4}}},"fnMap":{"0":{"name":"LoadingBar","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":34}},"loc":{"start":{"line":31,"column":37},"end":{"line":101,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":40},"end":{"line":35,"column":41}},"loc":{"start":{"line":35,"column":46},"end":{"line":35,"column":90}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":66},"end":{"line":35,"column":67}},"loc":{"start":{"line":35,"column":75},"end":{"line":35,"column":89}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":41},"end":{"line":36,"column":42}},"loc":{"start":{"line":36,"column":47},"end":{"line":40,"column":7}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":69},"end":{"line":36,"column":70}},"loc":{"start":{"line":37,"column":4},"end":{"line":39,"column":10}},"line":37},"5":{"name":"(anonymous_5)","decl":{"start":{"line":41,"column":50},"end":{"line":41,"column":51}},"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":39}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":39},"end":{"line":50,"column":40}},"loc":{"start":{"line":50,"column":45},"end":{"line":52,"column":7}},"line":50},"7":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":67},"end":{"line":50,"column":68}},"loc":{"start":{"line":51,"column":4},"end":{"line":51,"column":37}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":35},"end":{"line":53,"column":36}},"loc":{"start":{"line":53,"column":41},"end":{"line":55,"column":7}},"line":53},"9":{"name":"(anonymous_9)","decl":{"start":{"line":53,"column":63},"end":{"line":53,"column":64}},"loc":{"start":{"line":54,"column":4},"end":{"line":54,"column":33}},"line":54},"10":{"name":"(anonymous_10)","decl":{"start":{"line":57,"column":41},"end":{"line":57,"column":42}},"loc":{"start":{"line":57,"column":47},"end":{"line":61,"column":3}},"line":57}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":12},"end":{"line":39,"column":9}},"type":"cond-expr","locations":[{"start":{"line":38,"column":6},"end":{"line":38,"column":75}},{"start":{"line":39,"column":8},"end":{"line":39,"column":9}}],"line":37},"1":{"loc":{"start":{"line":38,"column":25},"end":{"line":38,"column":48}},"type":"binary-expr","locations":[{"start":{"line":38,"column":25},"end":{"line":38,"column":43}},{"start":{"line":38,"column":47},"end":{"line":38,"column":48}}],"line":38},"2":{"loc":{"start":{"line":38,"column":54},"end":{"line":38,"column":74}},"type":"binary-expr","locations":[{"start":{"line":38,"column":54},"end":{"line":38,"column":69}},{"start":{"line":38,"column":73},"end":{"line":38,"column":74}}],"line":38},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":47,"column":25}},"type":"binary-expr","locations":[{"start":{"line":46,"column":7},"end":{"line":46,"column":29}},{"start":{"line":46,"column":33},"end":{"line":46,"column":55}},{"start":{"line":47,"column":9},"end":{"line":47,"column":25}}],"line":46},"4":{"loc":{"start":{"line":51,"column":13},"end":{"line":51,"column":36}},"type":"binary-expr","locations":[{"start":{"line":51,"column":13},"end":{"line":51,"column":31}},{"start":{"line":51,"column":35},"end":{"line":51,"column":36}}],"line":51},"5":{"loc":{"start":{"line":54,"column":13},"end":{"line":54,"column":32}},"type":"binary-expr","locations":[{"start":{"line":54,"column":13},"end":{"line":54,"column":27}},{"start":{"line":54,"column":31},"end":{"line":54,"column":32}}],"line":54},"6":{"loc":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},{"start":{},"end":{}}],"line":63},"7":{"loc":{"start":{"line":67,"column":43},"end":{"line":67,"column":96}},"type":"binary-expr","locations":[{"start":{"line":67,"column":43},"end":{"line":67,"column":90}},{"start":{"line":67,"column":94},"end":{"line":67,"column":96}}],"line":67},"8":{"loc":{"start":{"line":76,"column":27},"end":{"line":76,"column":75}},"type":"cond-expr","locations":[{"start":{"line":76,"column":54},"end":{"line":76,"column":65}},{"start":{"line":76,"column":68},"end":{"line":76,"column":75}}],"line":76},"9":{"loc":{"start":{"line":80,"column":9},"end":{"line":97,"column":9}},"type":"binary-expr","locations":[{"start":{"line":80,"column":9},"end":{"line":80,"column":33}},{"start":{"line":81,"column":10},"end":{"line":96,"column":18}}],"line":80},"10":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":48}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":22}},{"start":{"line":83,"column":26},"end":{"line":83,"column":48}}],"line":83},"11":{"loc":{"start":{"line":84,"column":15},"end":{"line":86,"column":15}},"type":"binary-expr","locations":[{"start":{"line":84,"column":15},"end":{"line":84,"column":33}},{"start":{"line":84,"column":37},"end":{"line":84,"column":51}},{"start":{"line":85,"column":16},"end":{"line":85,"column":78}}],"line":84},"12":{"loc":{"start":{"line":90,"column":17},"end":{"line":92,"column":17}},"type":"binary-expr","locations":[{"start":{"line":90,"column":17},"end":{"line":90,"column":47}},{"start":{"line":91,"column":18},"end":{"line":91,"column":49}}],"line":90}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LocalStorageItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LocalStorageItem.tsx","statementMap":{"0":{"start":{"line":17,"column":25},"end":{"line":92,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":43}},"2":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"3":{"start":{"line":20,"column":22},"end":{"line":20,"column":54}},"4":{"start":{"line":21,"column":22},"end":{"line":21,"column":34}},"5":{"start":{"line":22,"column":29},"end":{"line":22,"column":41}},"6":{"start":{"line":24,"column":35},"end":{"line":32,"column":61}},"7":{"start":{"line":25,"column":4},"end":{"line":25,"column":79}},"8":{"start":{"line":27,"column":4},"end":{"line":30,"column":7}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":49}},"10":{"start":{"line":34,"column":32},"end":{"line":45,"column":67}},"11":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"12":{"start":{"line":36,"column":28},"end":{"line":39,"column":8}},"13":{"start":{"line":40,"column":6},"end":{"line":42,"column":7}},"14":{"start":{"line":41,"column":8},"end":{"line":41,"column":35}},"15":{"start":{"line":44,"column":4},"end":{"line":44,"column":16}},"16":{"start":{"line":47,"column":19},"end":{"line":47,"column":69}},"17":{"start":{"line":49,"column":2},"end":{"line":91,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":25},"end":{"line":17,"column":26}},"loc":{"start":{"line":17,"column":31},"end":{"line":92,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":53},"end":{"line":24,"column":54}},"loc":{"start":{"line":24,"column":59},"end":{"line":32,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":50},"end":{"line":34,"column":51}},"loc":{"start":{"line":34,"column":62},"end":{"line":45,"column":3}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":40,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":40,"column":6},"end":{"line":42,"column":7}},{"start":{},"end":{}}],"line":40},"2":{"loc":{"start":{"line":77,"column":9},"end":{"line":88,"column":9}},"type":"cond-expr","locations":[{"start":{"line":78,"column":10},"end":{"line":78,"column":39}},{"start":{"line":80,"column":10},"end":{"line":87,"column":19}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectCheckboxItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectCheckboxItem.tsx","statementMap":{"0":{"start":{"line":12,"column":121},"end":{"line":37,"column":1}},"1":{"start":{"line":17,"column":23},"end":{"line":19,"column":28}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":25}},"3":{"start":{"line":21,"column":2},"end":{"line":36,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":121},"end":{"line":12,"column":122}},"loc":{"start":{"line":16,"column":6},"end":{"line":37,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":41},"end":{"line":17,"column":42}},"loc":{"start":{"line":17,"column":47},"end":{"line":19,"column":3}},"line":17}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MultiSelectDropdown.tsx","statementMap":{"0":{"start":{"line":13,"column":117},"end":{"line":47,"column":1}},"1":{"start":{"line":18,"column":15},"end":{"line":18,"column":27}},"2":{"start":{"line":19,"column":30},"end":{"line":19,"column":91}},"3":{"start":{"line":19,"column":50},"end":{"line":19,"column":73}},"4":{"start":{"line":21,"column":29},"end":{"line":29,"column":47}},"5":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"6":{"start":{"line":23,"column":31},"end":{"line":23,"column":84}},"7":{"start":{"line":23,"column":62},"end":{"line":23,"column":83}},"8":{"start":{"line":24,"column":6},"end":{"line":24,"column":49}},"9":{"start":{"line":26,"column":31},"end":{"line":26,"column":63}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":49}},"11":{"start":{"line":31,"column":2},"end":{"line":46,"column":4}},"12":{"start":{"line":41,"column":45},"end":{"line":41,"column":208}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":117},"end":{"line":13,"column":118}},"loc":{"start":{"line":17,"column":6},"end":{"line":47,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":44},"end":{"line":19,"column":45}},"loc":{"start":{"line":19,"column":50},"end":{"line":19,"column":73}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":47},"end":{"line":21,"column":48}},"loc":{"start":{"line":21,"column":73},"end":{"line":29,"column":3}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":52},"end":{"line":23,"column":53}},"loc":{"start":{"line":23,"column":62},"end":{"line":23,"column":83}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":24},"end":{"line":41,"column":25}},"loc":{"start":{"line":41,"column":45},"end":{"line":41,"column":208}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},{"start":{"line":25,"column":11},"end":{"line":28,"column":5}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Navbar.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Navbar.tsx","statementMap":{"0":{"start":{"line":23,"column":84},"end":{"line":79,"column":1}},"1":{"start":{"line":24,"column":19},"end":{"line":24,"column":28}},"2":{"start":{"line":25,"column":20},"end":{"line":25,"column":50}},"3":{"start":{"line":26,"column":19},"end":{"line":26,"column":42}},"4":{"start":{"line":27,"column":27},"end":{"line":27,"column":46}},"5":{"start":{"line":28,"column":16},"end":{"line":28,"column":42}},"6":{"start":{"line":29,"column":22},"end":{"line":29,"column":53}},"7":{"start":{"line":30,"column":26},"end":{"line":30,"column":62}},"8":{"start":{"line":31,"column":32},"end":{"line":31,"column":65}},"9":{"start":{"line":33,"column":23},"end":{"line":38,"column":3}},"10":{"start":{"line":35,"column":6},"end":{"line":35,"column":41}},"11":{"start":{"line":40,"column":27},"end":{"line":44,"column":35}},"12":{"start":{"line":41,"column":4},"end":{"line":41,"column":69}},"13":{"start":{"line":41,"column":39},"end":{"line":41,"column":69}},"14":{"start":{"line":42,"column":4},"end":{"line":42,"column":80}},"15":{"start":{"line":42,"column":49},"end":{"line":42,"column":80}},"16":{"start":{"line":43,"column":4},"end":{"line":43,"column":45}},"17":{"start":{"line":46,"column":31},"end":{"line":48,"column":24}},"18":{"start":{"line":47,"column":4},"end":{"line":47,"column":53}},"19":{"start":{"line":50,"column":2},"end":{"line":78,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":84},"end":{"line":23,"column":85}},"loc":{"start":{"line":23,"column":90},"end":{"line":79,"column":1}},"line":23},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":19},"end":{"line":36,"column":5}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":35},"end":{"line":40,"column":36}},"loc":{"start":{"line":40,"column":41},"end":{"line":44,"column":3}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":43},"end":{"line":46,"column":44}},"loc":{"start":{"line":46,"column":49},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":4},"end":{"line":41,"column":69}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":41,"column":69}},{"start":{},"end":{}}],"line":41},"1":{"loc":{"start":{"line":41,"column":8},"end":{"line":41,"column":37}},"type":"binary-expr","locations":[{"start":{"line":41,"column":8},"end":{"line":41,"column":12}},{"start":{"line":41,"column":16},"end":{"line":41,"column":37}}],"line":41},"2":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":80}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":80}},{"start":{},"end":{}}],"line":42},"3":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":47}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":12}},{"start":{"line":42,"column":16},"end":{"line":42,"column":47}}],"line":42},"4":{"loc":{"start":{"line":73,"column":10},"end":{"line":73,"column":173}},"type":"binary-expr","locations":[{"start":{"line":73,"column":11},"end":{"line":73,"column":22}},{"start":{"line":73,"column":26},"end":{"line":73,"column":42}},{"start":{"line":73,"column":47},"end":{"line":73,"column":173}}],"line":73}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingExplainer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingExplainer.tsx","statementMap":{"0":{"start":{"line":9,"column":29},"end":{"line":11,"column":2}},"1":{"start":{"line":13,"column":23},"end":{"line":17,"column":2}},"2":{"start":{"line":29,"column":16},"end":{"line":29,"column":43}},"3":{"start":{"line":30,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"OnboardingExplainer","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":43}},"loc":{"start":{"line":28,"column":78},"end":{"line":52,"column":1}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":14},"end":{"line":35,"column":5}},"type":"cond-expr","locations":[{"start":{"line":31,"column":38},"end":{"line":33,"column":5}},{"start":{"line":33,"column":8},"end":{"line":35,"column":5}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingFlow.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/OnboardingFlow.tsx","statementMap":{"0":{"start":{"line":12,"column":19},"end":{"line":16,"column":2}},"1":{"start":{"line":18,"column":20},"end":{"line":21,"column":2}},"2":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"3":{"start":{"line":26,"column":6},"end":{"line":26,"column":56}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":56}},"5":{"start":{"line":30,"column":6},"end":{"line":30,"column":56}},"6":{"start":{"line":32,"column":6},"end":{"line":32,"column":56}},"7":{"start":{"line":34,"column":6},"end":{"line":34,"column":56}},"8":{"start":{"line":36,"column":6},"end":{"line":36,"column":16}},"9":{"start":{"line":41,"column":16},"end":{"line":41,"column":46}},"10":{"start":{"line":42,"column":25},"end":{"line":67,"column":3}},"11":{"start":{"line":69,"column":54},"end":{"line":69,"column":74}},"12":{"start":{"line":70,"column":34},"end":{"line":70,"column":51}},"13":{"start":{"line":72,"column":21},"end":{"line":72,"column":47}},"14":{"start":{"line":74,"column":21},"end":{"line":76,"column":19}},"15":{"start":{"line":75,"column":4},"end":{"line":75,"column":30}},"16":{"start":{"line":78,"column":21},"end":{"line":80,"column":19}},"17":{"start":{"line":79,"column":4},"end":{"line":79,"column":30}},"18":{"start":{"line":82,"column":22},"end":{"line":84,"column":8}},"19":{"start":{"line":83,"column":4},"end":{"line":83,"column":33}},"20":{"start":{"line":86,"column":2},"end":{"line":130,"column":4}},"21":{"start":{"line":90,"column":10},"end":{"line":110,"column":18}}},"fnMap":{"0":{"name":"fetchOnboardingImage","decl":{"start":{"line":23,"column":9},"end":{"line":23,"column":29}},"loc":{"start":{"line":23,"column":43},"end":{"line":38,"column":1}},"line":23},"1":{"name":"OnboardingFlow","decl":{"start":{"line":40,"column":24},"end":{"line":40,"column":38}},"loc":{"start":{"line":40,"column":41},"end":{"line":131,"column":1}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":74,"column":39},"end":{"line":74,"column":40}},"loc":{"start":{"line":74,"column":45},"end":{"line":76,"column":3}},"line":74},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":39},"end":{"line":78,"column":40}},"loc":{"start":{"line":78,"column":45},"end":{"line":80,"column":3}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":82,"column":40},"end":{"line":82,"column":41}},"loc":{"start":{"line":82,"column":46},"end":{"line":84,"column":3}},"line":82},"5":{"name":"(anonymous_5)","decl":{"start":{"line":89,"column":28},"end":{"line":89,"column":29}},"loc":{"start":{"line":90,"column":10},"end":{"line":110,"column":18}},"line":90}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"type":"switch","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":56}},{"start":{"line":27,"column":4},"end":{"line":28,"column":56}},{"start":{"line":29,"column":4},"end":{"line":30,"column":56}},{"start":{"line":31,"column":4},"end":{"line":32,"column":56}},{"start":{"line":33,"column":4},"end":{"line":34,"column":56}},{"start":{"line":35,"column":4},"end":{"line":36,"column":16}}],"line":24},"1":{"loc":{"start":{"line":87,"column":29},"end":{"line":87,"column":67}},"type":"binary-expr","locations":[{"start":{"line":87,"column":29},"end":{"line":87,"column":45}},{"start":{"line":87,"column":49},"end":{"line":87,"column":67}}],"line":87},"2":{"loc":{"start":{"line":96,"column":47},"end":{"line":96,"column":86}},"type":"cond-expr","locations":[{"start":{"line":96,"column":71},"end":{"line":96,"column":77}},{"start":{"line":96,"column":80},"end":{"line":96,"column":86}}],"line":96},"3":{"loc":{"start":{"line":101,"column":13},"end":{"line":109,"column":13}},"type":"binary-expr","locations":[{"start":{"line":101,"column":13},"end":{"line":101,"column":32}},{"start":{"line":102,"column":14},"end":{"line":108,"column":27}}],"line":101},"4":{"loc":{"start":{"line":112,"column":48},"end":{"line":112,"column":83}},"type":"cond-expr","locations":[{"start":{"line":112,"column":66},"end":{"line":112,"column":75}},{"start":{"line":112,"column":78},"end":{"line":112,"column":83}}],"line":112},"5":{"loc":{"start":{"line":113,"column":11},"end":{"line":117,"column":11}},"type":"binary-expr","locations":[{"start":{"line":113,"column":11},"end":{"line":113,"column":26}},{"start":{"line":114,"column":12},"end":{"line":116,"column":21}}],"line":113},"6":{"loc":{"start":{"line":118,"column":11},"end":{"line":126,"column":11}},"type":"cond-expr","locations":[{"start":{"line":119,"column":12},"end":{"line":121,"column":21}},{"start":{"line":123,"column":12},"end":{"line":125,"column":21}}],"line":118}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PluginResizer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PluginResizer.tsx","statementMap":{"0":{"start":{"line":11,"column":96},"end":{"line":21,"column":1}},"1":{"start":{"line":12,"column":46},"end":{"line":12,"column":65}},"2":{"start":{"line":14,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":96},"end":{"line":11,"column":97}},"loc":{"start":{"line":11,"column":114},"end":{"line":21,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":9},"end":{"line":20,"column":3}},"type":"cond-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":10}},{"start":{"line":19,"column":4},"end":{"line":19,"column":12}}],"line":14}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ProBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ProBadge.tsx","statementMap":{"0":{"start":{"line":6,"column":30},"end":{"line":23,"column":2}},"1":{"start":{"line":31,"column":20},"end":{"line":31,"column":34}},"2":{"start":{"line":32,"column":16},"end":{"line":32,"column":43}},"3":{"start":{"line":34,"column":15},"end":{"line":34,"column":129}},"4":{"start":{"line":36,"column":2},"end":{"line":40,"column":4}}},"fnMap":{"0":{"name":"ProBadge","decl":{"start":{"line":30,"column":24},"end":{"line":30,"column":32}},"loc":{"start":{"line":30,"column":63},"end":{"line":41,"column":1}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":7},"end":{"line":38,"column":52}},"type":"cond-expr","locations":[{"start":{"line":38,"column":30},"end":{"line":38,"column":38}},{"start":{"line":38,"column":41},"end":{"line":38,"column":52}}],"line":38},"1":{"loc":{"start":{"line":38,"column":7},"end":{"line":38,"column":27}},"type":"binary-expr","locations":[{"start":{"line":38,"column":7},"end":{"line":38,"column":16}},{"start":{"line":38,"column":20},"end":{"line":38,"column":27}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PullDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PullDialog.tsx","statementMap":{"0":{"start":{"line":15,"column":50},"end":{"line":15,"column":65}},"1":{"start":{"line":16,"column":22},"end":{"line":16,"column":54}},"2":{"start":{"line":18,"column":16},"end":{"line":18,"column":40}},"3":{"start":{"line":20,"column":30},"end":{"line":22,"column":17}},"4":{"start":{"line":21,"column":4},"end":{"line":21,"column":16}},"5":{"start":{"line":24,"column":22},"end":{"line":26,"column":16}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":15}},"7":{"start":{"line":28,"column":2},"end":{"line":70,"column":3}},"8":{"start":{"line":30,"column":6},"end":{"line":55,"column":8}},"9":{"start":{"line":58,"column":6},"end":{"line":65,"column":8}},"10":{"start":{"line":68,"column":6},"end":{"line":68,"column":18}}},"fnMap":{"0":{"name":"PullDialog","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":19}},"loc":{"start":{"line":14,"column":22},"end":{"line":71,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":48},"end":{"line":20,"column":49}},"loc":{"start":{"line":20,"column":54},"end":{"line":22,"column":3}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":40},"end":{"line":24,"column":41}},"loc":{"start":{"line":24,"column":46},"end":{"line":26,"column":3}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":2},"end":{"line":70,"column":3}},"type":"switch","locations":[{"start":{"line":29,"column":4},"end":{"line":56,"column":5}},{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},{"start":{"line":67,"column":4},"end":{"line":69,"column":5}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialog.tsx","statementMap":{"0":{"start":{"line":30,"column":50},"end":{"line":30,"column":65}},"1":{"start":{"line":31,"column":16},"end":{"line":31,"column":40}},"2":{"start":{"line":32,"column":24},"end":{"line":32,"column":58}},"3":{"start":{"line":33,"column":22},"end":{"line":33,"column":54}},"4":{"start":{"line":34,"column":44},"end":{"line":34,"column":62}},"5":{"start":{"line":35,"column":30},"end":{"line":35,"column":110}},"6":{"start":{"line":36,"column":36},"end":{"line":36,"column":73}},"7":{"start":{"line":38,"column":34},"end":{"line":40,"column":8}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":35}},"9":{"start":{"line":39,"column":15},"end":{"line":39,"column":35}},"10":{"start":{"line":42,"column":23},"end":{"line":79,"column":29}},"11":{"start":{"line":43,"column":23},"end":{"line":43,"column":25}},"12":{"start":{"line":44,"column":4},"end":{"line":77,"column":5}},"13":{"start":{"line":45,"column":6},"end":{"line":74,"column":7}},"14":{"start":{"line":47,"column":10},"end":{"line":51,"column":13}},"15":{"start":{"line":52,"column":10},"end":{"line":52,"column":16}},"16":{"start":{"line":54,"column":10},"end":{"line":58,"column":13}},"17":{"start":{"line":59,"column":10},"end":{"line":59,"column":16}},"18":{"start":{"line":61,"column":10},"end":{"line":61,"column":96}},"19":{"start":{"line":62,"column":10},"end":{"line":62,"column":16}},"20":{"start":{"line":65,"column":10},"end":{"line":70,"column":13}},"21":{"start":{"line":71,"column":10},"end":{"line":71,"column":16}},"22":{"start":{"line":73,"column":10},"end":{"line":73,"column":16}},"23":{"start":{"line":75,"column":11},"end":{"line":77,"column":5}},"24":{"start":{"line":76,"column":6},"end":{"line":76,"column":74}},"25":{"start":{"line":78,"column":4},"end":{"line":78,"column":24}},"26":{"start":{"line":81,"column":36},"end":{"line":86,"column":3}},"27":{"start":{"line":83,"column":6},"end":{"line":83,"column":28}},"28":{"start":{"line":88,"column":29},"end":{"line":93,"column":3}},"29":{"start":{"line":90,"column":6},"end":{"line":90,"column":36}},"30":{"start":{"line":95,"column":2},"end":{"line":100,"column":38}},"31":{"start":{"line":96,"column":4},"end":{"line":99,"column":5}},"32":{"start":{"line":97,"column":6},"end":{"line":97,"column":71}},"33":{"start":{"line":98,"column":6},"end":{"line":98,"column":81}},"34":{"start":{"line":102,"column":28},"end":{"line":106,"column":55}},"35":{"start":{"line":103,"column":4},"end":{"line":105,"column":5}},"36":{"start":{"line":104,"column":6},"end":{"line":104,"column":39}},"37":{"start":{"line":108,"column":29},"end":{"line":115,"column":3}},"38":{"start":{"line":110,"column":6},"end":{"line":112,"column":7}},"39":{"start":{"line":111,"column":8},"end":{"line":111,"column":28}},"40":{"start":{"line":117,"column":2},"end":{"line":117,"column":45}},"41":{"start":{"line":119,"column":2},"end":{"line":238,"column":3}},"42":{"start":{"line":122,"column":6},"end":{"line":187,"column":8}},"43":{"start":{"line":190,"column":6},"end":{"line":204,"column":8}},"44":{"start":{"line":207,"column":6},"end":{"line":233,"column":8}},"45":{"start":{"line":236,"column":6},"end":{"line":236,"column":18}}},"fnMap":{"0":{"name":"PushDialog","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":19}},"loc":{"start":{"line":29,"column":22},"end":{"line":239,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":52},"end":{"line":38,"column":53}},"loc":{"start":{"line":38,"column":79},"end":{"line":40,"column":3}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":37},"end":{"line":42,"column":38}},"loc":{"start":{"line":42,"column":43},"end":{"line":79,"column":3}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":82,"column":4},"end":{"line":82,"column":5}},"loc":{"start":{"line":82,"column":21},"end":{"line":84,"column":5}},"line":82},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":52},"end":{"line":91,"column":5}},"line":89},"5":{"name":"(anonymous_5)","decl":{"start":{"line":95,"column":18},"end":{"line":95,"column":19}},"loc":{"start":{"line":95,"column":24},"end":{"line":100,"column":3}},"line":95},"6":{"name":"(anonymous_6)","decl":{"start":{"line":102,"column":46},"end":{"line":102,"column":47}},"loc":{"start":{"line":102,"column":52},"end":{"line":106,"column":3}},"line":102},"7":{"name":"(anonymous_7)","decl":{"start":{"line":109,"column":4},"end":{"line":109,"column":5}},"loc":{"start":{"line":109,"column":30},"end":{"line":113,"column":5}},"line":109}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":45},"end":{"line":35,"column":109}},"type":"binary-expr","locations":[{"start":{"line":35,"column":46},"end":{"line":35,"column":102}},{"start":{"line":35,"column":107},"end":{"line":35,"column":109}}],"line":35},"1":{"loc":{"start":{"line":35,"column":46},"end":{"line":35,"column":102}},"type":"cond-expr","locations":[{"start":{"line":35,"column":77},"end":{"line":35,"column":97}},{"start":{"line":35,"column":100},"end":{"line":35,"column":102}}],"line":35},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":35}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":39,"column":35}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":77,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":77,"column":5}},{"start":{"line":75,"column":11},"end":{"line":77,"column":5}}],"line":44},"4":{"loc":{"start":{"line":44,"column":8},"end":{"line":44,"column":66}},"type":"binary-expr","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":21}},{"start":{"line":44,"column":25},"end":{"line":44,"column":46}},{"start":{"line":44,"column":50},"end":{"line":44,"column":66}}],"line":44},"5":{"loc":{"start":{"line":45,"column":6},"end":{"line":74,"column":7}},"type":"switch","locations":[{"start":{"line":46,"column":8},"end":{"line":52,"column":16}},{"start":{"line":53,"column":8},"end":{"line":59,"column":16}},{"start":{"line":60,"column":8},"end":{"line":63,"column":9}},{"start":{"line":64,"column":8},"end":{"line":71,"column":16}},{"start":{"line":72,"column":8},"end":{"line":73,"column":16}}],"line":45},"6":{"loc":{"start":{"line":75,"column":11},"end":{"line":77,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":11},"end":{"line":77,"column":5}},{"start":{},"end":{}}],"line":75},"7":{"loc":{"start":{"line":96,"column":4},"end":{"line":99,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":99,"column":5}},{"start":{},"end":{}}],"line":96},"8":{"loc":{"start":{"line":96,"column":8},"end":{"line":96,"column":75}},"type":"binary-expr","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":43}},{"start":{"line":96,"column":47},"end":{"line":96,"column":75}}],"line":96},"9":{"loc":{"start":{"line":97,"column":23},"end":{"line":97,"column":69}},"type":"binary-expr","locations":[{"start":{"line":97,"column":23},"end":{"line":97,"column":63}},{"start":{"line":97,"column":67},"end":{"line":97,"column":69}}],"line":97},"10":{"loc":{"start":{"line":98,"column":16},"end":{"line":98,"column":79}},"type":"binary-expr","locations":[{"start":{"line":98,"column":16},"end":{"line":98,"column":49}},{"start":{"line":98,"column":53},"end":{"line":98,"column":73}},{"start":{"line":98,"column":77},"end":{"line":98,"column":79}}],"line":98},"11":{"loc":{"start":{"line":103,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":4},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":103},"12":{"loc":{"start":{"line":103,"column":8},"end":{"line":103,"column":93}},"type":"binary-expr","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":64}},{"start":{"line":103,"column":69},"end":{"line":103,"column":82}},{"start":{"line":103,"column":86},"end":{"line":103,"column":92}}],"line":103},"13":{"loc":{"start":{"line":110,"column":6},"end":{"line":112,"column":7}},"type":"if","locations":[{"start":{"line":110,"column":6},"end":{"line":112,"column":7}},{"start":{},"end":{}}],"line":110},"14":{"loc":{"start":{"line":110,"column":10},"end":{"line":110,"column":81}},"type":"binary-expr","locations":[{"start":{"line":110,"column":10},"end":{"line":110,"column":45}},{"start":{"line":110,"column":50},"end":{"line":110,"column":63}},{"start":{"line":110,"column":67},"end":{"line":110,"column":80}}],"line":110},"15":{"loc":{"start":{"line":119,"column":2},"end":{"line":238,"column":3}},"type":"switch","locations":[{"start":{"line":120,"column":4},"end":{"line":120,"column":26}},{"start":{"line":121,"column":4},"end":{"line":188,"column":5}},{"start":{"line":189,"column":4},"end":{"line":205,"column":5}},{"start":{"line":206,"column":4},"end":{"line":234,"column":5}},{"start":{"line":235,"column":4},"end":{"line":237,"column":5}}],"line":119},"16":{"loc":{"start":{"line":138,"column":26},"end":{"line":138,"column":113}},"type":"binary-expr","locations":[{"start":{"line":138,"column":26},"end":{"line":138,"column":82}},{"start":{"line":138,"column":87},"end":{"line":138,"column":101}},{"start":{"line":138,"column":105},"end":{"line":138,"column":112}}],"line":138},"17":{"loc":{"start":{"line":158,"column":13},"end":{"line":174,"column":13}},"type":"binary-expr","locations":[{"start":{"line":158,"column":13},"end":{"line":158,"column":35}},{"start":{"line":158,"column":39},"end":{"line":158,"column":95}},{"start":{"line":159,"column":14},"end":{"line":173,"column":22}}],"line":158},"18":{"loc":{"start":{"line":175,"column":13},"end":{"line":182,"column":13}},"type":"binary-expr","locations":[{"start":{"line":175,"column":13},"end":{"line":175,"column":35}},{"start":{"line":176,"column":14},"end":{"line":181,"column":16}}],"line":175},"19":{"loc":{"start":{"line":183,"column":13},"end":{"line":183,"column":69}},"type":"binary-expr","locations":[{"start":{"line":183,"column":13},"end":{"line":183,"column":33}},{"start":{"line":183,"column":37},"end":{"line":183,"column":69}}],"line":183},"20":{"loc":{"start":{"line":184,"column":13},"end":{"line":184,"column":49}},"type":"binary-expr","locations":[{"start":{"line":184,"column":13},"end":{"line":184,"column":33}},{"start":{"line":184,"column":37},"end":{"line":184,"column":49}}],"line":184},"21":{"loc":{"start":{"line":196,"column":15},"end":{"line":196,"column":81}},"type":"binary-expr","locations":[{"start":{"line":196,"column":15},"end":{"line":196,"column":68}},{"start":{"line":196,"column":72},"end":{"line":196,"column":81}}],"line":196},"22":{"loc":{"start":{"line":197,"column":15},"end":{"line":197,"column":81}},"type":"binary-expr","locations":[{"start":{"line":197,"column":15},"end":{"line":197,"column":68}},{"start":{"line":197,"column":72},"end":{"line":197,"column":81}}],"line":197},"23":{"loc":{"start":{"line":198,"column":15},"end":{"line":198,"column":87}},"type":"binary-expr","locations":[{"start":{"line":198,"column":15},"end":{"line":198,"column":71}},{"start":{"line":198,"column":75},"end":{"line":198,"column":87}}],"line":198},"24":{"loc":{"start":{"line":199,"column":15},"end":{"line":199,"column":75}},"type":"binary-expr","locations":[{"start":{"line":199,"column":15},"end":{"line":199,"column":65}},{"start":{"line":199,"column":69},"end":{"line":199,"column":75}}],"line":199},"25":{"loc":{"start":{"line":200,"column":15},"end":{"line":200,"column":90}},"type":"binary-expr","locations":[{"start":{"line":200,"column":15},"end":{"line":200,"column":71}},{"start":{"line":200,"column":75},"end":{"line":200,"column":90}}],"line":200},"26":{"loc":{"start":{"line":216,"column":17},"end":{"line":216,"column":83}},"type":"binary-expr","locations":[{"start":{"line":216,"column":17},"end":{"line":216,"column":70}},{"start":{"line":216,"column":74},"end":{"line":216,"column":83}}],"line":216},"27":{"loc":{"start":{"line":217,"column":17},"end":{"line":217,"column":83}},"type":"binary-expr","locations":[{"start":{"line":217,"column":17},"end":{"line":217,"column":70}},{"start":{"line":217,"column":74},"end":{"line":217,"column":83}}],"line":217},"28":{"loc":{"start":{"line":218,"column":17},"end":{"line":218,"column":89}},"type":"binary-expr","locations":[{"start":{"line":218,"column":17},"end":{"line":218,"column":73}},{"start":{"line":218,"column":77},"end":{"line":218,"column":89}}],"line":218},"29":{"loc":{"start":{"line":219,"column":17},"end":{"line":219,"column":77}},"type":"binary-expr","locations":[{"start":{"line":219,"column":17},"end":{"line":219,"column":67}},{"start":{"line":219,"column":71},"end":{"line":219,"column":77}}],"line":219},"30":{"loc":{"start":{"line":220,"column":17},"end":{"line":220,"column":92}},"type":"binary-expr","locations":[{"start":{"line":220,"column":17},"end":{"line":220,"column":73}},{"start":{"line":220,"column":77},"end":{"line":220,"column":92}}],"line":220},"31":{"loc":{"start":{"line":225,"column":15},"end":{"line":229,"column":15}},"type":"cond-expr","locations":[{"start":{"line":226,"column":16},"end":{"line":226,"column":50}},{"start":{"line":228,"column":16},"end":{"line":228,"column":45}}],"line":225}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0,0],"15":[0,0,0,0,0],"16":[0,0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialogSupernovaConfirm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushDialogSupernovaConfirm.tsx","statementMap":{"0":{"start":{"line":13,"column":16},"end":{"line":13,"column":40}},"1":{"start":{"line":15,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"PushDialogSupernovaConfirm","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":35}},"loc":{"start":{"line":12,"column":64},"end":{"line":32,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":9},"end":{"line":28,"column":45}},"type":"binary-expr","locations":[{"start":{"line":28,"column":9},"end":{"line":28,"column":24}},{"start":{"line":28,"column":28},"end":{"line":28,"column":45}}],"line":28}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushJSON.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushJSON.tsx","statementMap":{"0":{"start":{"line":9,"column":26},"end":{"line":13,"column":2}},"1":{"start":{"line":16,"column":17},"end":{"line":16,"column":44}},"2":{"start":{"line":17,"column":17},"end":{"line":17,"column":48}},"3":{"start":{"line":18,"column":35},"end":{"line":18,"column":80}},"4":{"start":{"line":19,"column":36},"end":{"line":19,"column":57}},"5":{"start":{"line":20,"column":68},"end":{"line":20,"column":101}},"6":{"start":{"line":22,"column":32},"end":{"line":37,"column":52}},"7":{"start":{"line":23,"column":4},"end":{"line":23,"column":24}},"8":{"start":{"line":24,"column":4},"end":{"line":36,"column":5}},"9":{"start":{"line":25,"column":6},"end":{"line":30,"column":7}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":41}},"11":{"start":{"line":28,"column":38},"end":{"line":28,"column":86}},"12":{"start":{"line":29,"column":8},"end":{"line":29,"column":60}},"13":{"start":{"line":31,"column":6},"end":{"line":31,"column":31}},"14":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"15":{"start":{"line":33,"column":6},"end":{"line":33,"column":98}},"16":{"start":{"line":33,"column":78},"end":{"line":33,"column":95}},"17":{"start":{"line":35,"column":6},"end":{"line":35,"column":77}},"18":{"start":{"line":39,"column":2},"end":{"line":83,"column":4}},"19":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}}},"fnMap":{"0":{"name":"PushJSON","decl":{"start":{"line":15,"column":9},"end":{"line":15,"column":17}},"loc":{"start":{"line":15,"column":20},"end":{"line":84,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":50},"end":{"line":22,"column":51}},"loc":{"start":{"line":22,"column":112},"end":{"line":37,"column":3}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":68},"end":{"line":33,"column":69}},"loc":{"start":{"line":33,"column":78},"end":{"line":33,"column":95}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":72},"end":{"line":45,"column":73}},"loc":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":36,"column":5}},{"start":{"line":32,"column":11},"end":{"line":36,"column":5}}],"line":24},"1":{"loc":{"start":{"line":25,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":30,"column":7}},{"start":{"line":27,"column":13},"end":{"line":30,"column":7}}],"line":25},"2":{"loc":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":32},"3":{"loc":{"start":{"line":45,"column":7},"end":{"line":56,"column":8}},"type":"binary-expr","locations":[{"start":{"line":45,"column":7},"end":{"line":45,"column":40}},{"start":{"line":45,"column":44},"end":{"line":56,"column":8}}],"line":45},"4":{"loc":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":28}},{"start":{"line":47,"column":10},"end":{"line":54,"column":13}}],"line":46},"5":{"loc":{"start":{"line":49,"column":13},"end":{"line":53,"column":13}},"type":"binary-expr","locations":[{"start":{"line":49,"column":13},"end":{"line":49,"column":58}},{"start":{"line":49,"column":62},"end":{"line":49,"column":71}},{"start":{"line":50,"column":12},"end":{"line":52,"column":32}}],"line":49},"6":{"loc":{"start":{"line":58,"column":8},"end":{"line":68,"column":9}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":25}},{"start":{"line":59,"column":10},"end":{"line":67,"column":13}}],"line":58},"7":{"loc":{"start":{"line":61,"column":13},"end":{"line":66,"column":13}},"type":"binary-expr","locations":[{"start":{"line":61,"column":13},"end":{"line":61,"column":59}},{"start":{"line":62,"column":12},"end":{"line":65,"column":32}}],"line":61},"8":{"loc":{"start":{"line":71,"column":8},"end":{"line":80,"column":9}},"type":"binary-expr","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":38}},{"start":{"line":72,"column":10},"end":{"line":79,"column":13}}],"line":71},"9":{"loc":{"start":{"line":74,"column":13},"end":{"line":78,"column":13}},"type":"binary-expr","locations":[{"start":{"line":74,"column":13},"end":{"line":74,"column":61}},{"start":{"line":75,"column":12},"end":{"line":77,"column":32}}],"line":74}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushSettingForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PushSettingForm.tsx","statementMap":{"0":{"start":{"line":22,"column":24},"end":{"line":22,"column":58}},"1":{"start":{"line":24,"column":30},"end":{"line":26,"column":33}},"2":{"start":{"line":25,"column":4},"end":{"line":25,"column":37}},"3":{"start":{"line":28,"column":16},"end":{"line":28,"column":40}},"4":{"start":{"line":30,"column":2},"end":{"line":59,"column":4}}},"fnMap":{"0":{"name":"PushSettingForm","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":24}},"loc":{"start":{"line":21,"column":10},"end":{"line":60,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":42},"end":{"line":24,"column":43}},"loc":{"start":{"line":24,"column":61},"end":{"line":26,"column":3}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":9},"end":{"line":59,"column":3}},"type":"cond-expr","locations":[{"start":{"line":30,"column":68},"end":{"line":30,"column":146}},{"start":{"line":31,"column":4},"end":{"line":58,"column":12}}],"line":30},"1":{"loc":{"start":{"line":37,"column":9},"end":{"line":37,"column":56}},"type":"cond-expr","locations":[{"start":{"line":37,"column":33},"end":{"line":37,"column":49}},{"start":{"line":37,"column":52},"end":{"line":37,"column":56}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/RemConfiguration.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/RemConfiguration.tsx","statementMap":{"0":{"start":{"line":22,"column":25},"end":{"line":162,"column":1}},"1":{"start":{"line":23,"column":28},"end":{"line":23,"column":66}},"2":{"start":{"line":24,"column":17},"end":{"line":24,"column":44}},"3":{"start":{"line":25,"column":23},"end":{"line":25,"column":56}},"4":{"start":{"line":26,"column":25},"end":{"line":26,"column":60}},"5":{"start":{"line":27,"column":19},"end":{"line":27,"column":42}},"6":{"start":{"line":28,"column":16},"end":{"line":28,"column":44}},"7":{"start":{"line":29,"column":42},"end":{"line":29,"column":63}},"8":{"start":{"line":30,"column":42},"end":{"line":30,"column":72}},"9":{"start":{"line":32,"column":29},"end":{"line":32,"column":90}},"10":{"start":{"line":32,"column":53},"end":{"line":32,"column":85}},"11":{"start":{"line":32,"column":79},"end":{"line":32,"column":84}},"12":{"start":{"line":34,"column":25},"end":{"line":39,"column":3}},"13":{"start":{"line":35,"column":10},"end":{"line":37,"column":5}},"14":{"start":{"line":41,"column":31},"end":{"line":58,"column":41}},"15":{"start":{"line":42,"column":38},"end":{"line":42,"column":86}},"16":{"start":{"line":43,"column":27},"end":{"line":43,"column":29}},"17":{"start":{"line":44,"column":4},"end":{"line":56,"column":5}},"18":{"start":{"line":45,"column":45},"end":{"line":47,"column":47}},"19":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"20":{"start":{"line":49,"column":8},"end":{"line":49,"column":30}},"21":{"start":{"line":50,"column":8},"end":{"line":50,"column":30}},"22":{"start":{"line":52,"column":8},"end":{"line":52,"column":77}},"23":{"start":{"line":53,"column":8},"end":{"line":53,"column":31}},"24":{"start":{"line":55,"column":6},"end":{"line":55,"column":44}},"25":{"start":{"line":57,"column":4},"end":{"line":57,"column":25}},"26":{"start":{"line":60,"column":35},"end":{"line":69,"column":3}},"27":{"start":{"line":62,"column":6},"end":{"line":62,"column":52}},"28":{"start":{"line":63,"column":28},"end":{"line":63,"column":64}},"29":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"30":{"start":{"line":65,"column":8},"end":{"line":65,"column":65}},"31":{"start":{"line":71,"column":37},"end":{"line":80,"column":3}},"32":{"start":{"line":73,"column":6},"end":{"line":73,"column":60}},"33":{"start":{"line":74,"column":28},"end":{"line":74,"column":72}},"34":{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},"35":{"start":{"line":76,"column":8},"end":{"line":76,"column":65}},"36":{"start":{"line":82,"column":2},"end":{"line":161,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":25},"end":{"line":22,"column":26}},"loc":{"start":{"line":22,"column":31},"end":{"line":162,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":47},"end":{"line":32,"column":48}},"loc":{"start":{"line":32,"column":53},"end":{"line":32,"column":85}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":69},"end":{"line":32,"column":70}},"loc":{"start":{"line":32,"column":79},"end":{"line":32,"column":84}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":10},"end":{"line":37,"column":5}},"line":35},"4":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":45},"end":{"line":41,"column":46}},"loc":{"start":{"line":41,"column":51},"end":{"line":58,"column":3}},"line":41},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":4},"end":{"line":61,"column":5}},"loc":{"start":{"line":61,"column":41},"end":{"line":67,"column":5}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":31},"end":{"line":78,"column":5}},"line":72}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":56,"column":5}},{"start":{},"end":{}}],"line":44},"1":{"loc":{"start":{"line":44,"column":8},"end":{"line":44,"column":102}},"type":"binary-expr","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":53}},{"start":{"line":44,"column":57},"end":{"line":44,"column":102}}],"line":44},"2":{"loc":{"start":{"line":45,"column":45},"end":{"line":47,"column":47}},"type":"cond-expr","locations":[{"start":{"line":46,"column":10},"end":{"line":46,"column":35}},{"start":{"line":47,"column":10},"end":{"line":47,"column":47}}],"line":45},"3":{"loc":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},{"start":{"line":51,"column":13},"end":{"line":54,"column":7}}],"line":48},"4":{"loc":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":64,"column":10},"end":{"line":64,"column":80}},"type":"binary-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":43}},{"start":{"line":64,"column":47},"end":{"line":64,"column":80}}],"line":64},"6":{"loc":{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},{"start":{},"end":{}}],"line":75},"7":{"loc":{"start":{"line":75,"column":10},"end":{"line":75,"column":80}},"type":"binary-expr","locations":[{"start":{"line":75,"column":10},"end":{"line":75,"column":43}},{"start":{"line":75,"column":47},"end":{"line":75,"column":80}}],"line":75},"8":{"loc":{"start":{"line":93,"column":11},"end":{"line":114,"column":11}},"type":"binary-expr","locations":[{"start":{"line":93,"column":11},"end":{"line":93,"column":44}},{"start":{"line":94,"column":12},"end":{"line":113,"column":18}}],"line":93},"9":{"loc":{"start":{"line":99,"column":33},"end":{"line":99,"column":73}},"type":"cond-expr","locations":[{"start":{"line":99,"column":48},"end":{"line":99,"column":59}},{"start":{"line":99,"column":62},"end":{"line":99,"column":73}}],"line":99},"10":{"loc":{"start":{"line":103,"column":55},"end":{"line":103,"column":100}},"type":"cond-expr","locations":[{"start":{"line":103,"column":70},"end":{"line":103,"column":81}},{"start":{"line":103,"column":84},"end":{"line":103,"column":100}}],"line":103},"11":{"loc":{"start":{"line":106,"column":15},"end":{"line":112,"column":15}},"type":"binary-expr","locations":[{"start":{"line":106,"column":15},"end":{"line":106,"column":27}},{"start":{"line":107,"column":16},"end":{"line":111,"column":18}}],"line":106},"12":{"loc":{"start":{"line":119,"column":26},"end":{"line":119,"column":71}},"type":"cond-expr","locations":[{"start":{"line":119,"column":62},"end":{"line":119,"column":66}},{"start":{"line":119,"column":69},"end":{"line":119,"column":71}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedBorderValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedBorderValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":27},"end":{"line":15,"column":2}},"1":{"start":{"line":17,"column":24},"end":{"line":19,"column":2}},"2":{"start":{"line":21,"column":109},"end":{"line":51,"column":1}},"3":{"start":{"line":22,"column":15},"end":{"line":22,"column":27}},"4":{"start":{"line":23,"column":16},"end":{"line":23,"column":42}},"5":{"start":{"line":24,"column":21},"end":{"line":28,"column":3}},"6":{"start":{"line":30,"column":2},"end":{"line":50,"column":4}},"7":{"start":{"line":37,"column":10},"end":{"line":37,"column":68}},"8":{"start":{"line":43,"column":10},"end":{"line":46,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":109},"end":{"line":21,"column":110}},"loc":{"start":{"line":21,"column":124},"end":{"line":51,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":37,"column":10},"end":{"line":37,"column":68}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":37},"end":{"line":42,"column":38}},"loc":{"start":{"line":43,"column":10},"end":{"line":46,"column":28}},"line":43}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedShadowValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedShadowValueDisplay.tsx","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":14,"column":2}},"1":{"start":{"line":16,"column":24},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":109},"end":{"line":51,"column":1}},"3":{"start":{"line":21,"column":15},"end":{"line":21,"column":27}},"4":{"start":{"line":23,"column":2},"end":{"line":50,"column":4}},"5":{"start":{"line":30,"column":10},"end":{"line":30,"column":75}},"6":{"start":{"line":36,"column":10},"end":{"line":46,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":109},"end":{"line":20,"column":110}},"loc":{"start":{"line":20,"column":126},"end":{"line":51,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":21},"end":{"line":29,"column":22}},"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":75}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":21},"end":{"line":35,"column":22}},"loc":{"start":{"line":36,"column":10},"end":{"line":46,"column":28}},"line":36}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTokenDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTokenDisplay.tsx","statementMap":{"0":{"start":{"line":18,"column":23},"end":{"line":20,"column":28}},"1":{"start":{"line":19,"column":5},"end":{"line":19,"column":49}},"2":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"3":{"start":{"line":23,"column":4},"end":{"line":27,"column":6}},"4":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"5":{"start":{"line":31,"column":4},"end":{"line":31,"column":123}},"6":{"start":{"line":31,"column":37},"end":{"line":31,"column":123}},"7":{"start":{"line":32,"column":4},"end":{"line":32,"column":90}},"8":{"start":{"line":35,"column":2},"end":{"line":41,"column":3}},"9":{"start":{"line":36,"column":4},"end":{"line":40,"column":6}},"10":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"11":{"start":{"line":44,"column":4},"end":{"line":44,"column":62}},"12":{"start":{"line":47,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"ResolvedTokenDisplay","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":44}},"loc":{"start":{"line":17,"column":3},"end":{"line":52,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":37},"end":{"line":18,"column":38}},"loc":{"start":{"line":19,"column":5},"end":{"line":19,"column":49}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":5},"end":{"line":19,"column":49}},"type":"cond-expr","locations":[{"start":{"line":19,"column":21},"end":{"line":19,"column":41}},{"start":{"line":19,"column":44},"end":{"line":19,"column":49}}],"line":19},"1":{"loc":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":22,"column":6},"end":{"line":22,"column":61}},"type":"binary-expr","locations":[{"start":{"line":22,"column":6},"end":{"line":22,"column":19}},{"start":{"line":22,"column":23},"end":{"line":22,"column":61}}],"line":22},"3":{"loc":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":30},"4":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":60}},"type":"binary-expr","locations":[{"start":{"line":30,"column":6},"end":{"line":30,"column":19}},{"start":{"line":30,"column":23},"end":{"line":30,"column":60}}],"line":30},"5":{"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":123}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":31,"column":123}},{"start":{},"end":{}}],"line":31},"6":{"loc":{"start":{"line":35,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":35},"7":{"loc":{"start":{"line":35,"column":6},"end":{"line":35,"column":57}},"type":"binary-expr","locations":[{"start":{"line":35,"column":6},"end":{"line":35,"column":19}},{"start":{"line":35,"column":23},"end":{"line":35,"column":57}}],"line":35},"8":{"loc":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":43},"9":{"loc":{"start":{"line":43,"column":6},"end":{"line":43,"column":74}},"type":"binary-expr","locations":[{"start":{"line":43,"column":6},"end":{"line":43,"column":38}},{"start":{"line":43,"column":42},"end":{"line":43,"column":74}}],"line":43}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTypographyValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvedTypographyValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":27},"end":{"line":15,"column":2}},"1":{"start":{"line":17,"column":24},"end":{"line":19,"column":2}},"2":{"start":{"line":21,"column":113},"end":{"line":59,"column":1}},"3":{"start":{"line":22,"column":15},"end":{"line":22,"column":27}},"4":{"start":{"line":24,"column":16},"end":{"line":24,"column":42}},"5":{"start":{"line":26,"column":21},"end":{"line":36,"column":3}},"6":{"start":{"line":38,"column":2},"end":{"line":58,"column":4}},"7":{"start":{"line":45,"column":10},"end":{"line":45,"column":76}},"8":{"start":{"line":51,"column":10},"end":{"line":54,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":113},"end":{"line":21,"column":114}},"loc":{"start":{"line":21,"column":128},"end":{"line":59,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":39},"end":{"line":44,"column":40}},"loc":{"start":{"line":45,"column":10},"end":{"line":45,"column":76}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":37},"end":{"line":50,"column":38}},"loc":{"start":{"line":51,"column":10},"end":{"line":54,"column":28}},"line":51}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Select.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Select.tsx","statementMap":{"0":{"start":{"line":5,"column":21},"end":{"line":15,"column":2}},"1":{"start":{"line":28,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"Select","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":30}},"loc":{"start":{"line":27,"column":35},"end":{"line":33,"column":1}},"line":27}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SettingsDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SettingsDropdown.tsx","statementMap":{"0":{"start":{"line":13,"column":24},"end":{"line":13,"column":58}},"1":{"start":{"line":14,"column":16},"end":{"line":14,"column":42}},"2":{"start":{"line":18,"column":6},"end":{"line":18,"column":49}},"3":{"start":{"line":22,"column":6},"end":{"line":22,"column":38}},"4":{"start":{"line":24,"column":31},"end":{"line":26,"column":41}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":39}},"6":{"start":{"line":28,"column":29},"end":{"line":30,"column":37}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":35}},"8":{"start":{"line":32,"column":33},"end":{"line":34,"column":45}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}},"10":{"start":{"line":36,"column":35},"end":{"line":38,"column":49}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":47}},"12":{"start":{"line":40,"column":2},"end":{"line":105,"column":4}}},"fnMap":{"0":{"name":"SettingsDropdown","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":40}},"loc":{"start":{"line":12,"column":43},"end":{"line":106,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":49},"end":{"line":24,"column":50}},"loc":{"start":{"line":24,"column":55},"end":{"line":26,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":47},"end":{"line":28,"column":48}},"loc":{"start":{"line":28,"column":53},"end":{"line":30,"column":3}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":51},"end":{"line":32,"column":52}},"loc":{"start":{"line":32,"column":57},"end":{"line":34,"column":3}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":53},"end":{"line":36,"column":54}},"loc":{"start":{"line":36,"column":59},"end":{"line":38,"column":3}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":11},"end":{"line":75,"column":18}},"type":"cond-expr","locations":[{"start":{"line":62,"column":12},"end":{"line":74,"column":40}},{"start":{"line":75,"column":14},"end":{"line":75,"column":18}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowDownShiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowDownShiftInput.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":42}},"1":{"start":{"line":28,"column":44},"end":{"line":28,"column":94}},"2":{"start":{"line":30,"column":2},"end":{"line":37,"column":36}},"3":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"4":{"start":{"line":32,"column":25},"end":{"line":32,"column":61}},"5":{"start":{"line":33,"column":6},"end":{"line":33,"column":61}},"6":{"start":{"line":35,"column":6},"end":{"line":35,"column":63}},"7":{"start":{"line":39,"column":46},"end":{"line":42,"column":3}},"8":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"9":{"start":{"line":43,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"SingleBoxShadowDownShiftInput","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":53}},"loc":{"start":{"line":26,"column":3},"end":{"line":66,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":18},"end":{"line":30,"column":19}},"loc":{"start":{"line":30,"column":24},"end":{"line":37,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":31},"end":{"line":40,"column":65}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":67},"end":{"line":28,"column":93}},"type":"cond-expr","locations":[{"start":{"line":28,"column":75},"end":{"line":28,"column":88}},{"start":{"line":28,"column":91},"end":{"line":28,"column":93}}],"line":28},"1":{"loc":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":31},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":58}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":24}},{"start":{"line":31,"column":28},"end":{"line":31,"column":33}},{"start":{"line":31,"column":37},"end":{"line":31,"column":58}}],"line":31},"3":{"loc":{"start":{"line":33,"column":23},"end":{"line":33,"column":59}},"type":"cond-expr","locations":[{"start":{"line":33,"column":36},"end":{"line":33,"column":54}},{"start":{"line":33,"column":57},"end":{"line":33,"column":59}}],"line":33},"4":{"loc":{"start":{"line":35,"column":23},"end":{"line":35,"column":61}},"type":"cond-expr","locations":[{"start":{"line":35,"column":51},"end":{"line":35,"column":56}},{"start":{"line":35,"column":59},"end":{"line":35,"column":61}}],"line":35},"5":{"loc":{"start":{"line":53,"column":19},"end":{"line":53,"column":75}},"type":"cond-expr","locations":[{"start":{"line":53,"column":38},"end":{"line":53,"column":55}},{"start":{"line":53,"column":58},"end":{"line":53,"column":75}}],"line":53},"6":{"loc":{"start":{"line":55,"column":8},"end":{"line":60,"column":9}},"type":"binary-expr","locations":[{"start":{"line":55,"column":8},"end":{"line":55,"column":24}},{"start":{"line":56,"column":11},"end":{"line":56,"column":24}},{"start":{"line":57,"column":10},"end":{"line":59,"column":31}}],"line":55}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleBoxShadowInput.tsx","statementMap":{"0":{"start":{"line":30,"column":22},"end":{"line":36,"column":1}},"1":{"start":{"line":38,"column":50},"end":{"line":40,"column":1}},"2":{"start":{"line":63,"column":15},"end":{"line":63,"column":27}},"3":{"start":{"line":64,"column":48},"end":{"line":64,"column":78}},"4":{"start":{"line":65,"column":16},"end":{"line":65,"column":42}},"5":{"start":{"line":66,"column":34},"end":{"line":66,"column":114}},"6":{"start":{"line":66,"column":58},"end":{"line":66,"column":94}},"7":{"start":{"line":68,"column":19},"end":{"line":80,"column":48}},"8":{"start":{"line":69,"column":4},"end":{"line":79,"column":5}},"9":{"start":{"line":70,"column":21},"end":{"line":70,"column":31}},"10":{"start":{"line":71,"column":6},"end":{"line":71,"column":73}},"11":{"start":{"line":72,"column":6},"end":{"line":72,"column":41}},"12":{"start":{"line":74,"column":6},"end":{"line":78,"column":9}},"13":{"start":{"line":82,"column":23},"end":{"line":95,"column":48}},"14":{"start":{"line":83,"column":4},"end":{"line":83,"column":100}},"15":{"start":{"line":83,"column":93},"end":{"line":83,"column":100}},"16":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"17":{"start":{"line":85,"column":21},"end":{"line":85,"column":31}},"18":{"start":{"line":86,"column":6},"end":{"line":86,"column":67}},"19":{"start":{"line":87,"column":6},"end":{"line":87,"column":41}},"20":{"start":{"line":89,"column":6},"end":{"line":93,"column":9}},"21":{"start":{"line":97,"column":51},"end":{"line":109,"column":48}},"22":{"start":{"line":98,"column":4},"end":{"line":108,"column":5}},"23":{"start":{"line":99,"column":21},"end":{"line":99,"column":31}},"24":{"start":{"line":100,"column":6},"end":{"line":100,"column":78}},"25":{"start":{"line":101,"column":6},"end":{"line":101,"column":41}},"26":{"start":{"line":103,"column":6},"end":{"line":107,"column":9}},"27":{"start":{"line":111,"column":33},"end":{"line":113,"column":34}},"28":{"start":{"line":112,"column":4},"end":{"line":112,"column":41}},"29":{"start":{"line":115,"column":24},"end":{"line":127,"column":48}},"30":{"start":{"line":116,"column":4},"end":{"line":126,"column":5}},"31":{"start":{"line":117,"column":21},"end":{"line":117,"column":31}},"32":{"start":{"line":118,"column":6},"end":{"line":118,"column":72}},"33":{"start":{"line":119,"column":6},"end":{"line":119,"column":41}},"34":{"start":{"line":121,"column":6},"end":{"line":125,"column":9}},"35":{"start":{"line":129,"column":25},"end":{"line":137,"column":37}},"36":{"start":{"line":130,"column":19},"end":{"line":130,"column":24}},"37":{"start":{"line":131,"column":4},"end":{"line":135,"column":5}},"38":{"start":{"line":132,"column":23},"end":{"line":132,"column":40}},"39":{"start":{"line":133,"column":6},"end":{"line":133,"column":34}},"40":{"start":{"line":134,"column":6},"end":{"line":134,"column":45}},"41":{"start":{"line":136,"column":4},"end":{"line":136,"column":41}},"42":{"start":{"line":139,"column":17},"end":{"line":139,"column":46}},"43":{"start":{"line":141,"column":23},"end":{"line":143,"column":23}},"44":{"start":{"line":142,"column":4},"end":{"line":142,"column":20}},"45":{"start":{"line":145,"column":14},"end":{"line":145,"column":48}},"46":{"start":{"line":151,"column":32},"end":{"line":186,"column":4}},"47":{"start":{"line":153,"column":46},"end":{"line":155,"column":5}},"48":{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},"49":{"start":{"line":158,"column":8},"end":{"line":158,"column":15}},"50":{"start":{"line":160,"column":24},"end":{"line":160,"column":34}},"51":{"start":{"line":161,"column":25},"end":{"line":161,"column":30}},"52":{"start":{"line":163,"column":6},"end":{"line":165,"column":7}},"53":{"start":{"line":164,"column":8},"end":{"line":164,"column":15}},"54":{"start":{"line":167,"column":32},"end":{"line":167,"column":68}},"55":{"start":{"line":169,"column":27},"end":{"line":169,"column":81}},"56":{"start":{"line":171,"column":27},"end":{"line":171,"column":52}},"57":{"start":{"line":173,"column":27},"end":{"line":173,"column":78}},"58":{"start":{"line":175,"column":6},"end":{"line":177,"column":7}},"59":{"start":{"line":176,"column":8},"end":{"line":176,"column":15}},"60":{"start":{"line":179,"column":6},"end":{"line":181,"column":7}},"61":{"start":{"line":180,"column":8},"end":{"line":180,"column":15}},"62":{"start":{"line":183,"column":6},"end":{"line":183,"column":36}},"63":{"start":{"line":184,"column":6},"end":{"line":184,"column":30}},"64":{"start":{"line":189,"column":33},"end":{"line":199,"column":4}},"65":{"start":{"line":196,"column":32},"end":{"line":198,"column":5}},"66":{"start":{"line":201,"column":2},"end":{"line":201,"column":18}},"67":{"start":{"line":205,"column":2},"end":{"line":268,"column":4}},"68":{"start":{"line":245,"column":12},"end":{"line":263,"column":15}}},"fnMap":{"0":{"name":"SingleBoxShadowInput","decl":{"start":{"line":42,"column":24},"end":{"line":42,"column":44}},"loc":{"start":{"line":62,"column":3},"end":{"line":269,"column":1}},"line":62},"1":{"name":"(anonymous_1)","decl":{"start":{"line":66,"column":52},"end":{"line":66,"column":53}},"loc":{"start":{"line":66,"column":58},"end":{"line":66,"column":94}},"line":66},"2":{"name":"(anonymous_2)","decl":{"start":{"line":68,"column":37},"end":{"line":68,"column":38}},"loc":{"start":{"line":68,"column":77},"end":{"line":80,"column":3}},"line":68},"3":{"name":"(anonymous_3)","decl":{"start":{"line":82,"column":41},"end":{"line":82,"column":42}},"loc":{"start":{"line":82,"column":71},"end":{"line":95,"column":3}},"line":82},"4":{"name":"(anonymous_4)","decl":{"start":{"line":97,"column":69},"end":{"line":97,"column":70}},"loc":{"start":{"line":97,"column":114},"end":{"line":109,"column":3}},"line":97},"5":{"name":"(anonymous_5)","decl":{"start":{"line":111,"column":51},"end":{"line":111,"column":52}},"loc":{"start":{"line":111,"column":110},"end":{"line":113,"column":3}},"line":111},"6":{"name":"(anonymous_6)","decl":{"start":{"line":115,"column":42},"end":{"line":115,"column":43}},"loc":{"start":{"line":115,"column":61},"end":{"line":127,"column":3}},"line":115},"7":{"name":"(anonymous_7)","decl":{"start":{"line":129,"column":43},"end":{"line":129,"column":44}},"loc":{"start":{"line":129,"column":86},"end":{"line":137,"column":3}},"line":129},"8":{"name":"(anonymous_8)","decl":{"start":{"line":141,"column":41},"end":{"line":141,"column":42}},"loc":{"start":{"line":141,"column":47},"end":{"line":143,"column":3}},"line":141},"9":{"name":"(anonymous_9)","decl":{"start":{"line":153,"column":13},"end":{"line":153,"column":14}},"loc":{"start":{"line":153,"column":46},"end":{"line":155,"column":5}},"line":153},"10":{"name":"(anonymous_10)","decl":{"start":{"line":156,"column":4},"end":{"line":156,"column":5}},"loc":{"start":{"line":156,"column":54},"end":{"line":185,"column":5}},"line":156},"11":{"name":"(anonymous_11)","decl":{"start":{"line":196,"column":13},"end":{"line":196,"column":14}},"loc":{"start":{"line":196,"column":32},"end":{"line":198,"column":5}},"line":196},"12":{"name":"(anonymous_12)","decl":{"start":{"line":244,"column":41},"end":{"line":244,"column":42}},"loc":{"start":{"line":245,"column":12},"end":{"line":263,"column":15}},"line":245}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":2},"end":{"line":44,"column":20}},"type":"default-arg","locations":[{"start":{"line":44,"column":15},"end":{"line":44,"column":20}}],"line":44},"1":{"loc":{"start":{"line":69,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":79,"column":5}},{"start":{"line":73,"column":11},"end":{"line":79,"column":5}}],"line":69},"2":{"loc":{"start":{"line":83,"column":4},"end":{"line":83,"column":100}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":100}},{"start":{},"end":{}}],"line":83},"3":{"loc":{"start":{"line":83,"column":8},"end":{"line":83,"column":91}},"type":"binary-expr","locations":[{"start":{"line":83,"column":8},"end":{"line":83,"column":47}},{"start":{"line":83,"column":51},"end":{"line":83,"column":91}}],"line":83},"4":{"loc":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},{"start":{"line":88,"column":11},"end":{"line":94,"column":5}}],"line":84},"5":{"loc":{"start":{"line":98,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":108,"column":5}},{"start":{"line":102,"column":11},"end":{"line":108,"column":5}}],"line":98},"6":{"loc":{"start":{"line":116,"column":4},"end":{"line":126,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":126,"column":5}},{"start":{"line":120,"column":11},"end":{"line":126,"column":5}}],"line":116},"7":{"loc":{"start":{"line":131,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":131},"8":{"loc":{"start":{"line":136,"column":27},"end":{"line":136,"column":39}},"type":"binary-expr","locations":[{"start":{"line":136,"column":27},"end":{"line":136,"column":33}},{"start":{"line":136,"column":37},"end":{"line":136,"column":39}}],"line":136},"9":{"loc":{"start":{"line":154,"column":17},"end":{"line":154,"column":79}},"type":"binary-expr","locations":[{"start":{"line":154,"column":17},"end":{"line":154,"column":51}},{"start":{"line":154,"column":55},"end":{"line":154,"column":79}}],"line":154},"10":{"loc":{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},{"start":{},"end":{}}],"line":157},"11":{"loc":{"start":{"line":163,"column":6},"end":{"line":165,"column":7}},"type":"if","locations":[{"start":{"line":163,"column":6},"end":{"line":165,"column":7}},{"start":{},"end":{}}],"line":163},"12":{"loc":{"start":{"line":175,"column":6},"end":{"line":177,"column":7}},"type":"if","locations":[{"start":{"line":175,"column":6},"end":{"line":177,"column":7}},{"start":{},"end":{}}],"line":175},"13":{"loc":{"start":{"line":175,"column":10},"end":{"line":175,"column":63}},"type":"binary-expr","locations":[{"start":{"line":175,"column":10},"end":{"line":175,"column":32}},{"start":{"line":175,"column":36},"end":{"line":175,"column":63}}],"line":175},"14":{"loc":{"start":{"line":179,"column":6},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":179,"column":6},"end":{"line":181,"column":7}},{"start":{},"end":{}}],"line":179},"15":{"loc":{"start":{"line":179,"column":10},"end":{"line":179,"column":63}},"type":"binary-expr","locations":[{"start":{"line":179,"column":10},"end":{"line":179,"column":32}},{"start":{"line":179,"column":36},"end":{"line":179,"column":63}}],"line":179},"16":{"loc":{"start":{"line":207,"column":68},"end":{"line":207,"column":86}},"type":"cond-expr","locations":[{"start":{"line":207,"column":81},"end":{"line":207,"column":82}},{"start":{"line":207,"column":85},"end":{"line":207,"column":86}}],"line":207},"17":{"loc":{"start":{"line":212,"column":9},"end":{"line":222,"column":9}},"type":"binary-expr","locations":[{"start":{"line":212,"column":9},"end":{"line":212,"column":19}},{"start":{"line":213,"column":10},"end":{"line":221,"column":16}}],"line":212},"18":{"loc":{"start":{"line":224,"column":44},"end":{"line":224,"column":82}},"type":"binary-expr","locations":[{"start":{"line":224,"column":44},"end":{"line":224,"column":60}},{"start":{"line":224,"column":64},"end":{"line":224,"column":82}}],"line":224},"19":{"loc":{"start":{"line":229,"column":9},"end":{"line":237,"column":9}},"type":"binary-expr","locations":[{"start":{"line":229,"column":9},"end":{"line":229,"column":19}},{"start":{"line":230,"column":10},"end":{"line":236,"column":12}}],"line":229},"20":{"loc":{"start":{"line":240,"column":74},"end":{"line":240,"column":97}},"type":"cond-expr","locations":[{"start":{"line":240,"column":87},"end":{"line":240,"column":91}},{"start":{"line":240,"column":94},"end":{"line":240,"column":97}}],"line":240},"21":{"loc":{"start":{"line":250,"column":18},"end":{"line":251,"column":69}},"type":"binary-expr","locations":[{"start":{"line":250,"column":18},"end":{"line":250,"column":65}},{"start":{"line":251,"column":21},"end":{"line":251,"column":69}}],"line":250},"22":{"loc":{"start":{"line":260,"column":15},"end":{"line":262,"column":15}},"type":"binary-expr","locations":[{"start":{"line":260,"column":15},"end":{"line":260,"column":30}},{"start":{"line":260,"column":34},"end":{"line":260,"column":49}},{"start":{"line":261,"column":16},"end":{"line":261,"column":106}}],"line":260},"23":{"loc":{"start":{"line":261,"column":36},"end":{"line":261,"column":77}},"type":"binary-expr","locations":[{"start":{"line":261,"column":36},"end":{"line":261,"column":53}},{"start":{"line":261,"column":57},"end":{"line":261,"column":77}}],"line":261}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenContent.tsx","statementMap":{"0":{"start":{"line":41,"column":22},"end":{"line":41,"column":53}},"1":{"start":{"line":42,"column":25},"end":{"line":42,"column":60}},"2":{"start":{"line":43,"column":33},"end":{"line":43,"column":76}},"3":{"start":{"line":44,"column":15},"end":{"line":44,"column":27}},"4":{"start":{"line":46,"column":26},"end":{"line":48,"column":28}},"5":{"start":{"line":47,"column":4},"end":{"line":47,"column":39}},"6":{"start":{"line":50,"column":2},"end":{"line":77,"column":4}}},"fnMap":{"0":{"name":"SingleCompositionTokenContent","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":45}},"loc":{"start":{"line":40,"column":10},"end":{"line":78,"column":1}},"line":40},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":38},"end":{"line":46,"column":39}},"loc":{"start":{"line":46,"column":85},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":20},"end":{"line":59,"column":62}},"type":"binary-expr","locations":[{"start":{"line":59,"column":20},"end":{"line":59,"column":35}},{"start":{"line":59,"column":39},"end":{"line":59,"column":62}}],"line":59}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleCompositionTokenForm.tsx","statementMap":{"0":{"start":{"line":40,"column":23},"end":{"line":40,"column":51}},"1":{"start":{"line":41,"column":15},"end":{"line":41,"column":27}},"2":{"start":{"line":42,"column":16},"end":{"line":42,"column":42}},"3":{"start":{"line":44,"column":29},"end":{"line":59,"column":88}},"4":{"start":{"line":46,"column":41},"end":{"line":46,"column":43}},"5":{"start":{"line":47,"column":29},"end":{"line":47,"column":52}},"6":{"start":{"line":48,"column":4},"end":{"line":48,"column":51}},"7":{"start":{"line":49,"column":4},"end":{"line":51,"column":7}},"8":{"start":{"line":50,"column":6},"end":{"line":50,"column":64}},"9":{"start":{"line":52,"column":4},"end":{"line":52,"column":29}},"10":{"start":{"line":55,"column":4},"end":{"line":55,"column":59}},"11":{"start":{"line":56,"column":4},"end":{"line":56,"column":71}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":30}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":20}},"14":{"start":{"line":61,"column":33},"end":{"line":67,"column":3}},"15":{"start":{"line":63,"column":6},"end":{"line":63,"column":63}},"16":{"start":{"line":64,"column":6},"end":{"line":64,"column":32}},"17":{"start":{"line":69,"column":37},"end":{"line":72,"column":43}},"18":{"start":{"line":70,"column":4},"end":{"line":70,"column":69}},"19":{"start":{"line":71,"column":4},"end":{"line":71,"column":30}},"20":{"start":{"line":74,"column":23},"end":{"line":76,"column":26}},"21":{"start":{"line":75,"column":4},"end":{"line":75,"column":23}},"22":{"start":{"line":78,"column":23},"end":{"line":103,"column":3}},"23":{"start":{"line":79,"column":4},"end":{"line":102,"column":13}},"24":{"start":{"line":100,"column":47},"end":{"line":100,"column":174}},"25":{"start":{"line":105,"column":2},"end":{"line":146,"column":4}}},"fnMap":{"0":{"name":"SingleCompositionTokenForm","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":50}},"loc":{"start":{"line":39,"column":3},"end":{"line":147,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":41},"end":{"line":44,"column":42}},"loc":{"start":{"line":44,"column":66},"end":{"line":59,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":29},"end":{"line":49,"column":30}},"loc":{"start":{"line":49,"column":43},"end":{"line":51,"column":5}},"line":49},"3":{"name":"(anonymous_3)","decl":{"start":{"line":62,"column":4},"end":{"line":62,"column":5}},"loc":{"start":{"line":62,"column":37},"end":{"line":65,"column":5}},"line":62},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":55},"end":{"line":69,"column":56}},"loc":{"start":{"line":69,"column":82},"end":{"line":72,"column":3}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":74,"column":35},"end":{"line":74,"column":36}},"loc":{"start":{"line":74,"column":41},"end":{"line":76,"column":3}},"line":74},"6":{"name":"(anonymous_6)","decl":{"start":{"line":78,"column":23},"end":{"line":78,"column":24}},"loc":{"start":{"line":79,"column":4},"end":{"line":102,"column":13}},"line":79},"7":{"name":"(anonymous_7)","decl":{"start":{"line":100,"column":32},"end":{"line":100,"column":33}},"loc":{"start":{"line":100,"column":47},"end":{"line":100,"column":174}},"line":100}},"branchMap":{"0":{"loc":{"start":{"line":79,"column":19},"end":{"line":79,"column":51}},"type":"binary-expr","locations":[{"start":{"line":79,"column":19},"end":{"line":79,"column":27}},{"start":{"line":79,"column":31},"end":{"line":79,"column":51}}],"line":79},"1":{"loc":{"start":{"line":81,"column":15},"end":{"line":81,"column":47}},"type":"binary-expr","locations":[{"start":{"line":81,"column":15},"end":{"line":81,"column":23}},{"start":{"line":81,"column":27},"end":{"line":81,"column":47}}],"line":81},"2":{"loc":{"start":{"line":92,"column":21},"end":{"line":94,"column":16}},"type":"cond-expr","locations":[{"start":{"line":92,"column":32},"end":{"line":94,"column":11}},{"start":{"line":94,"column":14},"end":{"line":94,"column":16}}],"line":92},"3":{"loc":{"start":{"line":99,"column":9},"end":{"line":100,"column":175}},"type":"binary-expr","locations":[{"start":{"line":99,"column":9},"end":{"line":99,"column":30}},{"start":{"line":100,"column":17},"end":{"line":100,"column":175}}],"line":99},"4":{"loc":{"start":{"line":128,"column":14},"end":{"line":128,"column":78}},"type":"cond-expr","locations":[{"start":{"line":128,"column":41},"end":{"line":128,"column":58}},{"start":{"line":128,"column":61},"end":{"line":128,"column":78}}],"line":128}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleTypographyDownShiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SingleTypographyDownShiftInput.tsx","statementMap":{"0":{"start":{"line":26,"column":46},"end":{"line":28,"column":27}},"1":{"start":{"line":27,"column":4},"end":{"line":27,"column":39}},"2":{"start":{"line":30,"column":27},"end":{"line":30,"column":81}},"3":{"start":{"line":30,"column":47},"end":{"line":30,"column":72}},"4":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"5":{"start":{"line":34,"column":2},"end":{"line":49,"column":4}}},"fnMap":{"0":{"name":"SingleTypographyDownShiftInput","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":54}},"loc":{"start":{"line":25,"column":3},"end":{"line":50,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":64},"end":{"line":26,"column":65}},"loc":{"start":{"line":26,"column":91},"end":{"line":28,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":41},"end":{"line":30,"column":42}},"loc":{"start":{"line":30,"column":47},"end":{"line":30,"column":72}},"line":30}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Stack.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Stack.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StartScreen.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StartScreen.tsx","statementMap":{"0":{"start":{"line":22,"column":31},"end":{"line":25,"column":2}},"1":{"start":{"line":27,"column":20},"end":{"line":37,"column":2}},"2":{"start":{"line":40,"column":19},"end":{"line":40,"column":42}},"3":{"start":{"line":41,"column":16},"end":{"line":41,"column":47}},"4":{"start":{"line":43,"column":22},"end":{"line":43,"column":54}},"5":{"start":{"line":44,"column":23},"end":{"line":44,"column":56}},"6":{"start":{"line":46,"column":27},"end":{"line":50,"column":16}},"7":{"start":{"line":47,"column":4},"end":{"line":47,"column":34}},"8":{"start":{"line":48,"column":4},"end":{"line":48,"column":47}},"9":{"start":{"line":49,"column":4},"end":{"line":49,"column":41}},"10":{"start":{"line":52,"column":29},"end":{"line":56,"column":16}},"11":{"start":{"line":53,"column":4},"end":{"line":53,"column":36}},"12":{"start":{"line":54,"column":4},"end":{"line":54,"column":47}},"13":{"start":{"line":55,"column":4},"end":{"line":55,"column":43}},"14":{"start":{"line":58,"column":25},"end":{"line":72,"column":72}},"15":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"16":{"start":{"line":60,"column":6},"end":{"line":60,"column":13}},"17":{"start":{"line":62,"column":29},"end":{"line":62,"column":95}},"18":{"start":{"line":62,"column":54},"end":{"line":62,"column":94}},"19":{"start":{"line":63,"column":29},"end":{"line":68,"column":7}},"20":{"start":{"line":69,"column":4},"end":{"line":69,"column":49}},"21":{"start":{"line":70,"column":4},"end":{"line":70,"column":41}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":56}},"23":{"start":{"line":74,"column":2},"end":{"line":154,"column":4}}},"fnMap":{"0":{"name":"StartScreen","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":20}},"loc":{"start":{"line":39,"column":23},"end":{"line":155,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":45},"end":{"line":46,"column":46}},"loc":{"start":{"line":46,"column":51},"end":{"line":50,"column":3}},"line":46},"2":{"name":"(anonymous_2)","decl":{"start":{"line":52,"column":47},"end":{"line":52,"column":48}},"loc":{"start":{"line":52,"column":53},"end":{"line":56,"column":3}},"line":52},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":43},"end":{"line":58,"column":44}},"loc":{"start":{"line":58,"column":49},"end":{"line":72,"column":3}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":47},"end":{"line":62,"column":48}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":94}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":59},"1":{"loc":{"start":{"line":63,"column":29},"end":{"line":68,"column":7}},"type":"cond-expr","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":74}},{"start":{"line":65,"column":8},"end":{"line":68,"column":7}}],"line":63},"2":{"loc":{"start":{"line":119,"column":11},"end":{"line":138,"column":11}},"type":"cond-expr","locations":[{"start":{"line":120,"column":12},"end":{"line":128,"column":14}},{"start":{"line":130,"column":12},"end":{"line":137,"column":20}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItem.tsx","statementMap":{"0":{"start":{"line":25,"column":20},"end":{"line":164,"column":1}},"1":{"start":{"line":26,"column":38},"end":{"line":26,"column":59}},"2":{"start":{"line":27,"column":42},"end":{"line":27,"column":66}},"3":{"start":{"line":28,"column":22},"end":{"line":28,"column":54}},"4":{"start":{"line":29,"column":33},"end":{"line":29,"column":37}},"5":{"start":{"line":30,"column":17},"end":{"line":30,"column":57}},"6":{"start":{"line":31,"column":52},"end":{"line":31,"column":69}},"7":{"start":{"line":32,"column":22},"end":{"line":32,"column":34}},"8":{"start":{"line":33,"column":29},"end":{"line":33,"column":41}},"9":{"start":{"line":34,"column":19},"end":{"line":34,"column":42}},"10":{"start":{"line":36,"column":16},"end":{"line":36,"column":43}},"11":{"start":{"line":38,"column":26},"end":{"line":43,"column":18}},"12":{"start":{"line":39,"column":25},"end":{"line":41,"column":6}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":24}},"14":{"start":{"line":45,"column":19},"end":{"line":45,"column":101}},"15":{"start":{"line":45,"column":43},"end":{"line":45,"column":79}},"16":{"start":{"line":47,"column":23},"end":{"line":57,"column":100}},"17":{"start":{"line":48,"column":4},"end":{"line":56,"column":5}},"18":{"start":{"line":49,"column":6},"end":{"line":49,"column":27}},"19":{"start":{"line":50,"column":6},"end":{"line":50,"column":51}},"20":{"start":{"line":51,"column":6},"end":{"line":51,"column":81}},"21":{"start":{"line":52,"column":6},"end":{"line":55,"column":9}},"22":{"start":{"line":59,"column":24},"end":{"line":67,"column":35}},"23":{"start":{"line":60,"column":21},"end":{"line":60,"column":54}},"24":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"25":{"start":{"line":62,"column":6},"end":{"line":62,"column":27}},"26":{"start":{"line":64,"column":6},"end":{"line":64,"column":26}},"27":{"start":{"line":65,"column":6},"end":{"line":65,"column":46}},"28":{"start":{"line":69,"column":2},"end":{"line":163,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":49},"end":{"line":164,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":44},"end":{"line":38,"column":45}},"loc":{"start":{"line":38,"column":56},"end":{"line":43,"column":3}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":37},"end":{"line":45,"column":38}},"loc":{"start":{"line":45,"column":43},"end":{"line":45,"column":79}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":41},"end":{"line":47,"column":42}},"loc":{"start":{"line":47,"column":53},"end":{"line":57,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":42},"end":{"line":59,"column":43}},"loc":{"start":{"line":59,"column":54},"end":{"line":67,"column":3}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":17},"end":{"line":30,"column":57}},"type":"cond-expr","locations":[{"start":{"line":30,"column":39},"end":{"line":30,"column":50}},{"start":{"line":30,"column":53},"end":{"line":30,"column":57}}],"line":30},"1":{"loc":{"start":{"line":48,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":56,"column":5}},{"start":{},"end":{}}],"line":48},"2":{"loc":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},{"start":{"line":63,"column":11},"end":{"line":66,"column":5}}],"line":61},"3":{"loc":{"start":{"line":113,"column":15},"end":{"line":113,"column":39}},"type":"binary-expr","locations":[{"start":{"line":113,"column":15},"end":{"line":113,"column":21}},{"start":{"line":113,"column":25},"end":{"line":113,"column":39}}],"line":113},"4":{"loc":{"start":{"line":117,"column":9},"end":{"line":131,"column":9}},"type":"binary-expr","locations":[{"start":{"line":117,"column":9},"end":{"line":117,"column":19}},{"start":{"line":117,"column":23},"end":{"line":117,"column":33}},{"start":{"line":118,"column":10},"end":{"line":130,"column":16}}],"line":117},"5":{"loc":{"start":{"line":134,"column":9},"end":{"line":145,"column":9}},"type":"cond-expr","locations":[{"start":{"line":135,"column":10},"end":{"line":140,"column":18}},{"start":{"line":142,"column":10},"end":{"line":144,"column":19}}],"line":134},"6":{"loc":{"start":{"line":136,"column":13},"end":{"line":138,"column":13}},"type":"binary-expr","locations":[{"start":{"line":136,"column":13},"end":{"line":136,"column":71}},{"start":{"line":137,"column":14},"end":{"line":137,"column":43}}],"line":136}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm.tsx","statementMap":{"0":{"start":{"line":29,"column":2},"end":{"line":131,"column":3}},"1":{"start":{"line":32,"column":6},"end":{"line":41,"column":8}},"2":{"start":{"line":44,"column":6},"end":{"line":53,"column":8}},"3":{"start":{"line":56,"column":6},"end":{"line":65,"column":8}},"4":{"start":{"line":68,"column":6},"end":{"line":77,"column":8}},"5":{"start":{"line":80,"column":6},"end":{"line":89,"column":8}},"6":{"start":{"line":92,"column":6},"end":{"line":102,"column":8}},"7":{"start":{"line":105,"column":6},"end":{"line":114,"column":8}},"8":{"start":{"line":117,"column":6},"end":{"line":126,"column":8}},"9":{"start":{"line":129,"column":6},"end":{"line":129,"column":18}}},"fnMap":{"0":{"name":"StorageItemForm","decl":{"start":{"line":26,"column":24},"end":{"line":26,"column":39}},"loc":{"start":{"line":28,"column":10},"end":{"line":132,"column":1}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":2},"end":{"line":27,"column":15}},"type":"default-arg","locations":[{"start":{"line":27,"column":10},"end":{"line":27,"column":15}}],"line":27},"1":{"loc":{"start":{"line":29,"column":2},"end":{"line":131,"column":3}},"type":"switch","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":36}},{"start":{"line":31,"column":4},"end":{"line":42,"column":5}},{"start":{"line":43,"column":4},"end":{"line":54,"column":5}},{"start":{"line":55,"column":4},"end":{"line":66,"column":5}},{"start":{"line":67,"column":4},"end":{"line":78,"column":5}},{"start":{"line":79,"column":4},"end":{"line":90,"column":5}},{"start":{"line":91,"column":4},"end":{"line":103,"column":5}},{"start":{"line":104,"column":4},"end":{"line":115,"column":5}},{"start":{"line":116,"column":4},"end":{"line":127,"column":5}},{"start":{"line":128,"column":4},"end":{"line":130,"column":5}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0],"1":[0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledBrokenReferenceIndicator.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledBrokenReferenceIndicator.tsx","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":17,"column":2}},"1":{"start":{"line":20,"column":2},"end":{"line":24,"column":4}}},"fnMap":{"0":{"name":"StyledBrokenReferenceIndicator","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":54}},"loc":{"start":{"line":19,"column":57},"end":{"line":25,"column":1}},"line":19}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDiff.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDiff.tsx","statementMap":{"0":{"start":{"line":3,"column":26},"end":{"line":21,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDirtyStateBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDirtyStateBadge.tsx","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":12,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInputSuffix.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInputSuffix.tsx","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":8,"column":2}},"1":{"start":{"line":10,"column":33},"end":{"line":29,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInspectBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledInspectBadge.tsx","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledStorageItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledStorageItem.tsx","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":25,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StylesDropdown.tsx","statementMap":{"0":{"start":{"line":14,"column":25},"end":{"line":14,"column":60}},"1":{"start":{"line":15,"column":33},"end":{"line":15,"column":76}},"2":{"start":{"line":16,"column":17},"end":{"line":16,"column":48}},"3":{"start":{"line":17,"column":18},"end":{"line":17,"column":32}},"4":{"start":{"line":18,"column":25},"end":{"line":18,"column":65}},"5":{"start":{"line":20,"column":25},"end":{"line":20,"column":36}},"6":{"start":{"line":21,"column":16},"end":{"line":21,"column":42}},"7":{"start":{"line":23,"column":36},"end":{"line":23,"column":57}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":26}},"9":{"start":{"line":33,"column":26},"end":{"line":35,"column":20}},"10":{"start":{"line":34,"column":4},"end":{"line":34,"column":23}},"11":{"start":{"line":37,"column":32},"end":{"line":39,"column":18}},"12":{"start":{"line":38,"column":4},"end":{"line":38,"column":17}},"13":{"start":{"line":41,"column":30},"end":{"line":43,"column":40}},"14":{"start":{"line":42,"column":4},"end":{"line":42,"column":67}},"15":{"start":{"line":45,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"StylesDropdown","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":38}},"loc":{"start":{"line":13,"column":41},"end":{"line":71,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":38},"end":{"line":33,"column":39}},"loc":{"start":{"line":33,"column":44},"end":{"line":35,"column":3}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":44},"end":{"line":37,"column":45}},"loc":{"start":{"line":37,"column":50},"end":{"line":39,"column":3}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":42},"end":{"line":41,"column":43}},"loc":{"start":{"line":41,"column":76},"end":{"line":43,"column":3}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":25},"end":{"line":18,"column":65}},"type":"binary-expr","locations":[{"start":{"line":18,"column":25},"end":{"line":18,"column":39}},{"start":{"line":18,"column":43},"end":{"line":18,"column":65}}],"line":18},"1":{"loc":{"start":{"line":57,"column":70},"end":{"line":57,"column":97}},"type":"binary-expr","locations":[{"start":{"line":57,"column":70},"end":{"line":57,"column":84}},{"start":{"line":57,"column":88},"end":{"line":57,"column":97}}],"line":57},"2":{"loc":{"start":{"line":62,"column":7},"end":{"line":62,"column":98}},"type":"binary-expr","locations":[{"start":{"line":62,"column":7},"end":{"line":62,"column":16}},{"start":{"line":62,"column":20},"end":{"line":62,"column":98}}],"line":62}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SyncSettings.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SyncSettings.tsx","statementMap":{"0":{"start":{"line":21,"column":21},"end":{"line":198,"column":1}},"1":{"start":{"line":22,"column":24},"end":{"line":22,"column":58}},"2":{"start":{"line":24,"column":16},"end":{"line":24,"column":43}},"3":{"start":{"line":26,"column":20},"end":{"line":65,"column":9}},"4":{"start":{"line":26,"column":34},"end":{"line":65,"column":3}},"5":{"start":{"line":67,"column":23},"end":{"line":67,"column":56}},"6":{"start":{"line":68,"column":19},"end":{"line":68,"column":42}},"7":{"start":{"line":70,"column":26},"end":{"line":70,"column":47}},"8":{"start":{"line":72,"column":28},"end":{"line":72,"column":45}},"9":{"start":{"line":74,"column":72},"end":{"line":74,"column":114}},"10":{"start":{"line":75,"column":76},"end":{"line":75,"column":97}},"11":{"start":{"line":76,"column":48},"end":{"line":76,"column":86}},"12":{"start":{"line":78,"column":27},"end":{"line":86,"column":3}},"13":{"start":{"line":80,"column":23},"end":{"line":80,"column":52}},"14":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"15":{"start":{"line":82,"column":8},"end":{"line":82,"column":51}},"16":{"start":{"line":88,"column":26},"end":{"line":96,"column":3}},"17":{"start":{"line":89,"column":23},"end":{"line":94,"column":5}},"18":{"start":{"line":90,"column":6},"end":{"line":90,"column":32}},"19":{"start":{"line":91,"column":6},"end":{"line":91,"column":50}},"20":{"start":{"line":92,"column":6},"end":{"line":92,"column":43}},"21":{"start":{"line":93,"column":6},"end":{"line":93,"column":33}},"22":{"start":{"line":98,"column":35},"end":{"line":101,"column":8}},"23":{"start":{"line":99,"column":4},"end":{"line":99,"column":43}},"24":{"start":{"line":100,"column":4},"end":{"line":100,"column":43}},"25":{"start":{"line":103,"column":30},"end":{"line":110,"column":3}},"26":{"start":{"line":104,"column":39},"end":{"line":108,"column":5}},"27":{"start":{"line":105,"column":6},"end":{"line":105,"column":21}},"28":{"start":{"line":106,"column":6},"end":{"line":106,"column":35}},"29":{"start":{"line":107,"column":6},"end":{"line":107,"column":41}},"30":{"start":{"line":112,"column":33},"end":{"line":114,"column":8}},"31":{"start":{"line":113,"column":4},"end":{"line":113,"column":42}},"32":{"start":{"line":116,"column":35},"end":{"line":118,"column":8}},"33":{"start":{"line":117,"column":4},"end":{"line":117,"column":44}},"34":{"start":{"line":120,"column":2},"end":{"line":197,"column":4}},"35":{"start":{"line":156,"column":22},"end":{"line":176,"column":30}},"36":{"start":{"line":187,"column":14},"end":{"line":191,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":21},"end":{"line":21,"column":22}},"loc":{"start":{"line":21,"column":27},"end":{"line":198,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":28},"end":{"line":26,"column":29}},"loc":{"start":{"line":26,"column":34},"end":{"line":65,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":79,"column":4},"end":{"line":79,"column":5}},"loc":{"start":{"line":79,"column":48},"end":{"line":84,"column":5}},"line":79},"3":{"name":"(anonymous_3)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":23},"end":{"line":94,"column":5}},"line":89},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":23},"end":{"line":89,"column":24}},"loc":{"start":{"line":89,"column":29},"end":{"line":94,"column":5}},"line":89},"5":{"name":"(anonymous_5)","decl":{"start":{"line":98,"column":53},"end":{"line":98,"column":54}},"loc":{"start":{"line":98,"column":88},"end":{"line":101,"column":3}},"line":98},"6":{"name":"(anonymous_6)","decl":{"start":{"line":104,"column":4},"end":{"line":104,"column":5}},"loc":{"start":{"line":104,"column":39},"end":{"line":108,"column":5}},"line":104},"7":{"name":"(anonymous_7)","decl":{"start":{"line":104,"column":39},"end":{"line":104,"column":40}},"loc":{"start":{"line":104,"column":45},"end":{"line":108,"column":5}},"line":104},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":51},"end":{"line":112,"column":52}},"loc":{"start":{"line":112,"column":57},"end":{"line":114,"column":3}},"line":112},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":53},"end":{"line":116,"column":54}},"loc":{"start":{"line":116,"column":59},"end":{"line":118,"column":3}},"line":116},"10":{"name":"(anonymous_10)","decl":{"start":{"line":155,"column":34},"end":{"line":155,"column":35}},"loc":{"start":{"line":156,"column":22},"end":{"line":176,"column":30}},"line":156},"11":{"name":"(anonymous_11)","decl":{"start":{"line":186,"column":57},"end":{"line":186,"column":58}},"loc":{"start":{"line":187,"column":14},"end":{"line":191,"column":16}},"line":187}},"branchMap":{"0":{"loc":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"type":"if","locations":[{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},{"start":{},"end":{}}],"line":81},"1":{"loc":{"start":{"line":122,"column":7},"end":{"line":129,"column":7}},"type":"binary-expr","locations":[{"start":{"line":122,"column":7},"end":{"line":122,"column":34}},{"start":{"line":123,"column":8},"end":{"line":128,"column":10}}],"line":122},"2":{"loc":{"start":{"line":130,"column":7},"end":{"line":137,"column":7}},"type":"binary-expr","locations":[{"start":{"line":130,"column":7},"end":{"line":130,"column":36}},{"start":{"line":131,"column":8},"end":{"line":136,"column":10}}],"line":130},"3":{"loc":{"start":{"line":164,"column":29},"end":{"line":164,"column":85}},"type":"binary-expr","locations":[{"start":{"line":164,"column":29},"end":{"line":164,"column":42}},{"start":{"line":164,"column":46},"end":{"line":164,"column":85}}],"line":164},"4":{"loc":{"start":{"line":186,"column":13},"end":{"line":192,"column":14}},"type":"binary-expr","locations":[{"start":{"line":186,"column":13},"end":{"line":186,"column":36}},{"start":{"line":186,"column":40},"end":{"line":192,"column":14}}],"line":186},"5":{"loc":{"start":{"line":188,"column":21},"end":{"line":188,"column":70}},"type":"binary-expr","locations":[{"start":{"line":188,"column":21},"end":{"line":188,"column":37}},{"start":{"line":188,"column":41},"end":{"line":188,"column":70}}],"line":188}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Text.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Text.tsx","statementMap":{"0":{"start":{"line":5,"column":30},"end":{"line":5,"column":35}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":49}}},"fnMap":{"0":{"name":"WrappedText","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":20}},"loc":{"start":{"line":4,"column":65},"end":{"line":7,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":10},"end":{"line":5,"column":25}},"type":"default-arg","locations":[{"start":{"line":5,"column":17},"end":{"line":5,"column":25}}],"line":5}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToggleEmptyButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToggleEmptyButton.tsx","statementMap":{"0":{"start":{"line":10,"column":26},"end":{"line":10,"column":62}},"1":{"start":{"line":11,"column":19},"end":{"line":11,"column":42}},"2":{"start":{"line":13,"column":16},"end":{"line":13,"column":42}},"3":{"start":{"line":15,"column":32},"end":{"line":17,"column":16}},"4":{"start":{"line":16,"column":4},"end":{"line":16,"column":49}},"5":{"start":{"line":19,"column":2},"end":{"line":27,"column":4}}},"fnMap":{"0":{"name":"ToggleEmptyButton","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":41}},"loc":{"start":{"line":9,"column":44},"end":{"line":28,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":50},"end":{"line":15,"column":51}},"loc":{"start":{"line":15,"column":56},"end":{"line":17,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":11},"end":{"line":22,"column":44}},"type":"cond-expr","locations":[{"start":{"line":22,"column":29},"end":{"line":22,"column":35}},{"start":{"line":22,"column":38},"end":{"line":22,"column":44}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFilter.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFilter.tsx","statementMap":{"0":{"start":{"line":12,"column":20},"end":{"line":30,"column":2}},"1":{"start":{"line":32,"column":20},"end":{"line":86,"column":1}},"2":{"start":{"line":33,"column":22},"end":{"line":33,"column":54}},"3":{"start":{"line":34,"column":40},"end":{"line":34,"column":67}},"4":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"5":{"start":{"line":36,"column":16},"end":{"line":36,"column":43}},"6":{"start":{"line":38,"column":20},"end":{"line":40,"column":9}},"7":{"start":{"line":39,"column":4},"end":{"line":39,"column":43}},"8":{"start":{"line":42,"column":23},"end":{"line":46,"column":17}},"9":{"start":{"line":43,"column":22},"end":{"line":43,"column":30}},"10":{"start":{"line":44,"column":4},"end":{"line":44,"column":26}},"11":{"start":{"line":45,"column":4},"end":{"line":45,"column":21}},"12":{"start":{"line":48,"column":34},"end":{"line":51,"column":24}},"13":{"start":{"line":49,"column":4},"end":{"line":49,"column":23}},"14":{"start":{"line":50,"column":4},"end":{"line":50,"column":40}},"15":{"start":{"line":53,"column":2},"end":{"line":85,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":32,"column":20},"end":{"line":32,"column":21}},"loc":{"start":{"line":32,"column":26},"end":{"line":86,"column":1}},"line":32},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":41},"end":{"line":38,"column":42}},"loc":{"start":{"line":38,"column":52},"end":{"line":40,"column":3}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":41},"end":{"line":42,"column":42}},"loc":{"start":{"line":42,"column":53},"end":{"line":46,"column":3}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":48,"column":52},"end":{"line":48,"column":53}},"loc":{"start":{"line":48,"column":58},"end":{"line":51,"column":3}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":73,"column":7},"end":{"line":83,"column":7}},"type":"binary-expr","locations":[{"start":{"line":73,"column":7},"end":{"line":73,"column":18}},{"start":{"line":74,"column":8},"end":{"line":82,"column":14}}],"line":73}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFormatBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFormatBadge.tsx","statementMap":{"0":{"start":{"line":15,"column":16},"end":{"line":15,"column":43}},"1":{"start":{"line":16,"column":22},"end":{"line":16,"column":54}},"2":{"start":{"line":17,"column":19},"end":{"line":17,"column":42}},"3":{"start":{"line":19,"column":17},"end":{"line":19,"column":56}},"4":{"start":{"line":21,"column":26},"end":{"line":23,"column":24}},"5":{"start":{"line":22,"column":4},"end":{"line":22,"column":58}},"6":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":266}},"8":{"start":{"line":29,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"TokenFormatBadge","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":32}},"loc":{"start":{"line":14,"column":79},"end":{"line":32,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":38},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":44},"end":{"line":23,"column":3}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":35},"end":{"line":14,"column":51}},"type":"default-arg","locations":[{"start":{"line":14,"column":46},"end":{"line":14,"column":51}}],"line":14},"1":{"loc":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},{"start":{},"end":{}}],"line":25},"2":{"loc":{"start":{"line":26,"column":11},"end":{"line":26,"column":265}},"type":"cond-expr","locations":[{"start":{"line":26,"column":20},"end":{"line":26,"column":139}},{"start":{"line":26,"column":142},"end":{"line":26,"column":265}}],"line":26},"3":{"loc":{"start":{"line":29,"column":9},"end":{"line":31,"column":3}},"type":"cond-expr","locations":[{"start":{"line":29,"column":18},"end":{"line":29,"column":161}},{"start":{"line":30,"column":4},"end":{"line":30,"column":158}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenInput.tsx","statementMap":{"0":{"start":{"line":6,"column":20},"end":{"line":22,"column":2}},"1":{"start":{"line":24,"column":14},"end":{"line":35,"column":2}},"2":{"start":{"line":37,"column":16},"end":{"line":40,"column":2}},"3":{"start":{"line":56,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"TokenInput","decl":{"start":{"line":53,"column":9},"end":{"line":53,"column":19}},"loc":{"start":{"line":55,"column":10},"end":{"line":71,"column":1}},"line":55}},"branchMap":{"0":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":24}},"type":"default-arg","locations":[{"start":{"line":54,"column":19},"end":{"line":54,"column":24}}],"line":54},"1":{"loc":{"start":{"line":54,"column":43},"end":{"line":54,"column":54}},"type":"default-arg","locations":[{"start":{"line":54,"column":52},"end":{"line":54,"column":54}}],"line":54},"2":{"loc":{"start":{"line":54,"column":69},"end":{"line":54,"column":85}},"type":"default-arg","locations":[{"start":{"line":54,"column":83},"end":{"line":54,"column":85}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0],"1":[0],"2":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListing.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListing.tsx","statementMap":{"0":{"start":{"line":23,"column":88},"end":{"line":113,"column":1}},"1":{"start":{"line":26,"column":26},"end":{"line":26,"column":62}},"2":{"start":{"line":27,"column":32},"end":{"line":27,"column":74}},"3":{"start":{"line":28,"column":20},"end":{"line":28,"column":50}},"4":{"start":{"line":29,"column":19},"end":{"line":29,"column":42}},"5":{"start":{"line":31,"column":19},"end":{"line":46,"column":3}},"6":{"start":{"line":33,"column":6},"end":{"line":33,"column":45}},"7":{"start":{"line":34,"column":19},"end":{"line":34,"column":45}},"8":{"start":{"line":35,"column":6},"end":{"line":43,"column":28}},"9":{"start":{"line":48,"column":22},"end":{"line":53,"column":3}},"10":{"start":{"line":50,"column":6},"end":{"line":50,"column":74}},"11":{"start":{"line":55,"column":28},"end":{"line":55,"column":96}},"12":{"start":{"line":55,"column":48},"end":{"line":55,"column":80}},"13":{"start":{"line":58,"column":32},"end":{"line":76,"column":3}},"14":{"start":{"line":60,"column":6},"end":{"line":60,"column":26}},"15":{"start":{"line":61,"column":6},"end":{"line":73,"column":7}},"16":{"start":{"line":62,"column":8},"end":{"line":62,"column":43}},"17":{"start":{"line":63,"column":32},"end":{"line":66,"column":14}},"18":{"start":{"line":64,"column":10},"end":{"line":64,"column":32}},"19":{"start":{"line":65,"column":10},"end":{"line":65,"column":21}},"20":{"start":{"line":67,"column":8},"end":{"line":67,"column":70}},"21":{"start":{"line":69,"column":8},"end":{"line":72,"column":11}},"22":{"start":{"line":78,"column":2},"end":{"line":78,"column":47}},"23":{"start":{"line":78,"column":35},"end":{"line":78,"column":47}},"24":{"start":{"line":80,"column":2},"end":{"line":112,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":88},"end":{"line":23,"column":89}},"loc":{"start":{"line":25,"column":6},"end":{"line":113,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":50},"end":{"line":44,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":4},"end":{"line":49,"column":5}},"loc":{"start":{"line":49,"column":43},"end":{"line":51,"column":5}},"line":49},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":42},"end":{"line":55,"column":43}},"loc":{"start":{"line":55,"column":48},"end":{"line":55,"column":80}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":4},"end":{"line":59,"column":5}},"loc":{"start":{"line":59,"column":48},"end":{"line":74,"column":5}},"line":59},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":99},"end":{"line":63,"column":100}},"loc":{"start":{"line":63,"column":113},"end":{"line":66,"column":9}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":19},"end":{"line":34,"column":45}},"type":"binary-expr","locations":[{"start":{"line":34,"column":19},"end":{"line":34,"column":30}},{"start":{"line":34,"column":34},"end":{"line":34,"column":45}}],"line":34},"1":{"loc":{"start":{"line":42,"column":15},"end":{"line":42,"column":78}},"type":"cond-expr","locations":[{"start":{"line":42,"column":60},"end":{"line":42,"column":63}},{"start":{"line":42,"column":66},"end":{"line":42,"column":78}}],"line":42},"2":{"loc":{"start":{"line":42,"column":15},"end":{"line":42,"column":57}},"type":"binary-expr","locations":[{"start":{"line":42,"column":15},"end":{"line":42,"column":40}},{"start":{"line":42,"column":44},"end":{"line":42,"column":57}}],"line":42},"3":{"loc":{"start":{"line":49,"column":7},"end":{"line":49,"column":16}},"type":"default-arg","locations":[{"start":{"line":49,"column":14},"end":{"line":49,"column":16}}],"line":49},"4":{"loc":{"start":{"line":61,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":73,"column":7}},{"start":{"line":68,"column":13},"end":{"line":73,"column":7}}],"line":61},"5":{"loc":{"start":{"line":78,"column":2},"end":{"line":78,"column":47}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":78,"column":47}},{"start":{},"end":{}}],"line":78},"6":{"loc":{"start":{"line":78,"column":6},"end":{"line":78,"column":33}},"type":"binary-expr","locations":[{"start":{"line":78,"column":6},"end":{"line":78,"column":13}},{"start":{"line":78,"column":17},"end":{"line":78,"column":33}}],"line":78},"7":{"loc":{"start":{"line":91,"column":7},"end":{"line":110,"column":7}},"type":"binary-expr","locations":[{"start":{"line":91,"column":7},"end":{"line":91,"column":13}},{"start":{"line":92,"column":8},"end":{"line":109,"column":22}}],"line":91},"8":{"loc":{"start":{"line":97,"column":23},"end":{"line":97,"column":87}},"type":"cond-expr","locations":[{"start":{"line":97,"column":71},"end":{"line":97,"column":77}},{"start":{"line":97,"column":80},"end":{"line":97,"column":87}}],"line":97}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListingHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenListingHeading.tsx","statementMap":{"0":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"1":{"start":{"line":38,"column":20},"end":{"line":38,"column":34}},"2":{"start":{"line":40,"column":25},"end":{"line":40,"column":60}},"3":{"start":{"line":41,"column":33},"end":{"line":41,"column":76}},"4":{"start":{"line":43,"column":22},"end":{"line":43,"column":54}},"5":{"start":{"line":44,"column":28},"end":{"line":44,"column":83}},"6":{"start":{"line":44,"column":52},"end":{"line":44,"column":67}},"7":{"start":{"line":46,"column":34},"end":{"line":48,"column":29}},"8":{"start":{"line":47,"column":4},"end":{"line":47,"column":78}},"9":{"start":{"line":50,"column":16},"end":{"line":50,"column":42}},"10":{"start":{"line":52,"column":2},"end":{"line":96,"column":4}}},"fnMap":{"0":{"name":"TokenListingHeading","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":43}},"loc":{"start":{"line":36,"column":10},"end":{"line":97,"column":1}},"line":36},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":46},"end":{"line":44,"column":47}},"loc":{"start":{"line":44,"column":52},"end":{"line":44,"column":67}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":52},"end":{"line":46,"column":53}},"loc":{"start":{"line":46,"column":58},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":47,"column":36},"end":{"line":47,"column":76}},"type":"cond-expr","locations":[{"start":{"line":47,"column":61},"end":{"line":47,"column":67}},{"start":{"line":47,"column":70},"end":{"line":47,"column":76}}],"line":47},"1":{"loc":{"start":{"line":61,"column":55},"end":{"line":61,"column":112}},"type":"cond-expr","locations":[{"start":{"line":61,"column":69},"end":{"line":61,"column":90}},{"start":{"line":61,"column":93},"end":{"line":61,"column":112}}],"line":61},"2":{"loc":{"start":{"line":64,"column":9},"end":{"line":64,"column":69}},"type":"cond-expr","locations":[{"start":{"line":64,"column":17},"end":{"line":64,"column":62}},{"start":{"line":64,"column":65},"end":{"line":64,"column":69}}],"line":64},"3":{"loc":{"start":{"line":74,"column":9},"end":{"line":82,"column":9}},"type":"binary-expr","locations":[{"start":{"line":74,"column":9},"end":{"line":74,"column":26}},{"start":{"line":75,"column":10},"end":{"line":81,"column":12}}],"line":74},"4":{"loc":{"start":{"line":76,"column":18},"end":{"line":76,"column":70}},"type":"cond-expr","locations":[{"start":{"line":76,"column":43},"end":{"line":76,"column":55}},{"start":{"line":76,"column":58},"end":{"line":76,"column":70}}],"line":76},"5":{"loc":{"start":{"line":77,"column":21},"end":{"line":77,"column":79}},"type":"cond-expr","locations":[{"start":{"line":77,"column":46},"end":{"line":77,"column":61}},{"start":{"line":77,"column":64},"end":{"line":77,"column":79}}],"line":77},"6":{"loc":{"start":{"line":87,"column":20},"end":{"line":87,"column":85}},"type":"binary-expr","locations":[{"start":{"line":87,"column":20},"end":{"line":87,"column":34}},{"start":{"line":87,"column":38},"end":{"line":87,"column":60}},{"start":{"line":87,"column":65},"end":{"line":87,"column":70}},{"start":{"line":87,"column":74},"end":{"line":87,"column":84}}],"line":87}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetListItemContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetListItemContent.tsx","statementMap":{"0":{"start":{"line":30,"column":22},"end":{"line":30,"column":34}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":59}},"2":{"start":{"line":32,"column":25},"end":{"line":32,"column":60}},"3":{"start":{"line":33,"column":23},"end":{"line":33,"column":56}},"4":{"start":{"line":34,"column":25},"end":{"line":34,"column":60}},"5":{"start":{"line":35,"column":27},"end":{"line":35,"column":64}},"6":{"start":{"line":36,"column":28},"end":{"line":36,"column":66}},"7":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"8":{"start":{"line":39,"column":16},"end":{"line":39,"column":42}},"9":{"start":{"line":41,"column":22},"end":{"line":54,"column":66}},"10":{"start":{"line":42,"column":4},"end":{"line":53,"column":5}},"11":{"start":{"line":43,"column":6},"end":{"line":52,"column":7}},"12":{"start":{"line":44,"column":27},"end":{"line":44,"column":120}},"13":{"start":{"line":45,"column":8},"end":{"line":48,"column":9}},"14":{"start":{"line":46,"column":10},"end":{"line":46,"column":58}},"15":{"start":{"line":47,"column":10},"end":{"line":47,"column":53}},"16":{"start":{"line":50,"column":8},"end":{"line":50,"column":56}},"17":{"start":{"line":51,"column":8},"end":{"line":51,"column":51}},"18":{"start":{"line":56,"column":30},"end":{"line":58,"column":16}},"19":{"start":{"line":57,"column":4},"end":{"line":57,"column":58}},"20":{"start":{"line":60,"column":30},"end":{"line":62,"column":16}},"21":{"start":{"line":61,"column":4},"end":{"line":61,"column":58}},"22":{"start":{"line":64,"column":26},"end":{"line":66,"column":28}},"23":{"start":{"line":65,"column":4},"end":{"line":65,"column":39}},"24":{"start":{"line":68,"column":2},"end":{"line":88,"column":4}}},"fnMap":{"0":{"name":"TokenSetListItemContent","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":39}},"loc":{"start":{"line":29,"column":85},"end":{"line":89,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":34},"end":{"line":41,"column":35}},"loc":{"start":{"line":41,"column":59},"end":{"line":54,"column":3}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":42},"end":{"line":56,"column":43}},"loc":{"start":{"line":56,"column":84},"end":{"line":58,"column":3}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":42},"end":{"line":60,"column":43}},"loc":{"start":{"line":60,"column":68},"end":{"line":62,"column":3}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":64,"column":38},"end":{"line":64,"column":39}},"loc":{"start":{"line":64,"column":85},"end":{"line":66,"column":3}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":43,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":43,"column":6},"end":{"line":52,"column":7}},{"start":{"line":49,"column":13},"end":{"line":52,"column":7}}],"line":43},"2":{"loc":{"start":{"line":45,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":48,"column":9}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":73,"column":17},"end":{"line":75,"column":7}},"type":"binary-expr","locations":[{"start":{"line":73,"column":17},"end":{"line":73,"column":69}},{"start":{"line":74,"column":8},"end":{"line":74,"column":85}}],"line":73},"4":{"loc":{"start":{"line":74,"column":8},"end":{"line":74,"column":85}},"type":"cond-expr","locations":[{"start":{"line":74,"column":62},"end":{"line":74,"column":77}},{"start":{"line":74,"column":80},"end":{"line":74,"column":85}}],"line":74},"5":{"loc":{"start":{"line":81,"column":17},"end":{"line":81,"column":74}},"type":"binary-expr","locations":[{"start":{"line":81,"column":17},"end":{"line":81,"column":32}},{"start":{"line":81,"column":36},"end":{"line":81,"column":74}}],"line":81}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetSelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetSelector.tsx","statementMap":{"0":{"start":{"line":21,"column":16},"end":{"line":21,"column":42}},"1":{"start":{"line":23,"column":25},"end":{"line":27,"column":3}},"2":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"3":{"start":{"line":30,"column":25},"end":{"line":30,"column":60}},"4":{"start":{"line":31,"column":18},"end":{"line":31,"column":46}},"5":{"start":{"line":32,"column":19},"end":{"line":32,"column":42}},"6":{"start":{"line":33,"column":22},"end":{"line":33,"column":34}},"7":{"start":{"line":34,"column":22},"end":{"line":34,"column":54}},"8":{"start":{"line":36,"column":60},"end":{"line":36,"column":81}},"9":{"start":{"line":37,"column":66},"end":{"line":37,"column":87}},"10":{"start":{"line":38,"column":57},"end":{"line":38,"column":75}},"11":{"start":{"line":39,"column":48},"end":{"line":39,"column":66}},"12":{"start":{"line":40,"column":40},"end":{"line":40,"column":61}},"13":{"start":{"line":41,"column":23},"end":{"line":41,"column":73}},"14":{"start":{"line":41,"column":43},"end":{"line":41,"column":62}},"15":{"start":{"line":43,"column":2},"end":{"line":49,"column":31}},"16":{"start":{"line":44,"column":30},"end":{"line":47,"column":10}},"17":{"start":{"line":45,"column":6},"end":{"line":45,"column":19}},"18":{"start":{"line":46,"column":6},"end":{"line":46,"column":17}},"19":{"start":{"line":48,"column":4},"end":{"line":48,"column":61}},"20":{"start":{"line":51,"column":2},"end":{"line":53,"column":15}},"21":{"start":{"line":52,"column":4},"end":{"line":52,"column":36}},"22":{"start":{"line":55,"column":34},"end":{"line":61,"column":33}},"23":{"start":{"line":56,"column":4},"end":{"line":56,"column":23}},"24":{"start":{"line":57,"column":4},"end":{"line":57,"column":58}},"25":{"start":{"line":58,"column":4},"end":{"line":58,"column":60}},"26":{"start":{"line":59,"column":4},"end":{"line":59,"column":66}},"27":{"start":{"line":60,"column":4},"end":{"line":60,"column":36}},"28":{"start":{"line":63,"column":31},"end":{"line":73,"column":41}},"29":{"start":{"line":64,"column":4},"end":{"line":64,"column":31}},"30":{"start":{"line":66,"column":29},"end":{"line":69,"column":6}},"31":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"32":{"start":{"line":71,"column":6},"end":{"line":71,"column":51}},"33":{"start":{"line":75,"column":31},"end":{"line":81,"column":8}},"34":{"start":{"line":76,"column":4},"end":{"line":76,"column":31}},"35":{"start":{"line":77,"column":4},"end":{"line":77,"column":42}},"36":{"start":{"line":78,"column":4},"end":{"line":78,"column":33}},"37":{"start":{"line":79,"column":4},"end":{"line":79,"column":26}},"38":{"start":{"line":80,"column":4},"end":{"line":80,"column":38}},"39":{"start":{"line":83,"column":34},"end":{"line":89,"column":8}},"40":{"start":{"line":84,"column":28},"end":{"line":84,"column":73}},"41":{"start":{"line":85,"column":4},"end":{"line":85,"column":49}},"42":{"start":{"line":86,"column":4},"end":{"line":86,"column":33}},"43":{"start":{"line":87,"column":4},"end":{"line":87,"column":25}},"44":{"start":{"line":88,"column":4},"end":{"line":88,"column":38}},"45":{"start":{"line":91,"column":37},"end":{"line":104,"column":71}},"46":{"start":{"line":92,"column":4},"end":{"line":92,"column":23}},"47":{"start":{"line":93,"column":4},"end":{"line":100,"column":5}},"48":{"start":{"line":94,"column":6},"end":{"line":94,"column":62}},"49":{"start":{"line":95,"column":6},"end":{"line":95,"column":78}},"50":{"start":{"line":96,"column":11},"end":{"line":100,"column":5}},"51":{"start":{"line":97,"column":6},"end":{"line":97,"column":104}},"52":{"start":{"line":99,"column":6},"end":{"line":99,"column":110}},"53":{"start":{"line":101,"column":4},"end":{"line":101,"column":27}},"54":{"start":{"line":102,"column":4},"end":{"line":102,"column":36}},"55":{"start":{"line":103,"column":4},"end":{"line":103,"column":39}},"56":{"start":{"line":106,"column":24},"end":{"line":108,"column":16}},"57":{"start":{"line":107,"column":4},"end":{"line":107,"column":49}},"58":{"start":{"line":110,"column":26},"end":{"line":112,"column":16}},"59":{"start":{"line":111,"column":4},"end":{"line":111,"column":55}},"60":{"start":{"line":114,"column":23},"end":{"line":116,"column":28}},"61":{"start":{"line":115,"column":4},"end":{"line":115,"column":30}},"62":{"start":{"line":118,"column":33},"end":{"line":121,"column":8}},"63":{"start":{"line":119,"column":4},"end":{"line":119,"column":39}},"64":{"start":{"line":120,"column":4},"end":{"line":120,"column":36}},"65":{"start":{"line":123,"column":27},"end":{"line":125,"column":8}},"66":{"start":{"line":124,"column":4},"end":{"line":124,"column":52}},"67":{"start":{"line":127,"column":38},"end":{"line":129,"column":8}},"68":{"start":{"line":128,"column":4},"end":{"line":128,"column":36}},"69":{"start":{"line":131,"column":37},"end":{"line":133,"column":8}},"70":{"start":{"line":132,"column":4},"end":{"line":132,"column":35}},"71":{"start":{"line":135,"column":23},"end":{"line":137,"column":33}},"72":{"start":{"line":136,"column":4},"end":{"line":136,"column":69}},"73":{"start":{"line":139,"column":2},"end":{"line":251,"column":4}}},"fnMap":{"0":{"name":"TokenSetSelector","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":40}},"loc":{"start":{"line":20,"column":123},"end":{"line":252,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":37},"end":{"line":41,"column":38}},"loc":{"start":{"line":41,"column":43},"end":{"line":41,"column":62}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":18},"end":{"line":43,"column":19}},"loc":{"start":{"line":43,"column":24},"end":{"line":49,"column":3}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":74},"end":{"line":44,"column":75}},"loc":{"start":{"line":44,"column":88},"end":{"line":47,"column":5}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":18},"end":{"line":51,"column":19}},"loc":{"start":{"line":51,"column":24},"end":{"line":53,"column":3}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":52},"end":{"line":55,"column":53}},"loc":{"start":{"line":55,"column":93},"end":{"line":61,"column":3}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":49},"end":{"line":63,"column":50}},"loc":{"start":{"line":63,"column":77},"end":{"line":73,"column":3}},"line":63},"7":{"name":"(anonymous_7)","decl":{"start":{"line":75,"column":49},"end":{"line":75,"column":50}},"loc":{"start":{"line":75,"column":71},"end":{"line":81,"column":3}},"line":75},"8":{"name":"(anonymous_8)","decl":{"start":{"line":83,"column":52},"end":{"line":83,"column":53}},"loc":{"start":{"line":83,"column":74},"end":{"line":89,"column":3}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":55},"end":{"line":91,"column":56}},"loc":{"start":{"line":91,"column":96},"end":{"line":104,"column":3}},"line":91},"10":{"name":"(anonymous_10)","decl":{"start":{"line":106,"column":36},"end":{"line":106,"column":37}},"loc":{"start":{"line":106,"column":58},"end":{"line":108,"column":3}},"line":106},"11":{"name":"(anonymous_11)","decl":{"start":{"line":110,"column":38},"end":{"line":110,"column":39}},"loc":{"start":{"line":110,"column":44},"end":{"line":112,"column":3}},"line":110},"12":{"name":"(anonymous_12)","decl":{"start":{"line":114,"column":35},"end":{"line":114,"column":36}},"loc":{"start":{"line":114,"column":52},"end":{"line":116,"column":3}},"line":114},"13":{"name":"(anonymous_13)","decl":{"start":{"line":118,"column":45},"end":{"line":118,"column":46}},"loc":{"start":{"line":118,"column":51},"end":{"line":121,"column":3}},"line":118},"14":{"name":"(anonymous_14)","decl":{"start":{"line":123,"column":39},"end":{"line":123,"column":40}},"loc":{"start":{"line":123,"column":87},"end":{"line":125,"column":3}},"line":123},"15":{"name":"(anonymous_15)","decl":{"start":{"line":127,"column":50},"end":{"line":127,"column":51}},"loc":{"start":{"line":127,"column":56},"end":{"line":129,"column":3}},"line":127},"16":{"name":"(anonymous_16)","decl":{"start":{"line":131,"column":49},"end":{"line":131,"column":50}},"loc":{"start":{"line":131,"column":55},"end":{"line":133,"column":3}},"line":131},"17":{"name":"(anonymous_17)","decl":{"start":{"line":135,"column":35},"end":{"line":135,"column":36}},"loc":{"start":{"line":135,"column":61},"end":{"line":137,"column":3}},"line":135}},"branchMap":{"0":{"loc":{"start":{"line":68,"column":19},"end":{"line":68,"column":145}},"type":"cond-expr","locations":[{"start":{"line":68,"column":80},"end":{"line":68,"column":114}},{"start":{"line":68,"column":117},"end":{"line":68,"column":145}}],"line":68},"1":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":70},"2":{"loc":{"start":{"line":93,"column":4},"end":{"line":100,"column":5}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":100,"column":5}},{"start":{"line":96,"column":11},"end":{"line":100,"column":5}}],"line":93},"3":{"loc":{"start":{"line":96,"column":11},"end":{"line":100,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":11},"end":{"line":100,"column":5}},{"start":{"line":98,"column":11},"end":{"line":100,"column":5}}],"line":96},"4":{"loc":{"start":{"line":170,"column":20},"end":{"line":170,"column":62}},"type":"cond-expr","locations":[{"start":{"line":170,"column":34},"end":{"line":170,"column":48}},{"start":{"line":170,"column":51},"end":{"line":170,"column":62}}],"line":170},"5":{"loc":{"start":{"line":194,"column":18},"end":{"line":194,"column":55}},"type":"cond-expr","locations":[{"start":{"line":194,"column":32},"end":{"line":194,"column":41}},{"start":{"line":194,"column":44},"end":{"line":194,"column":55}}],"line":194},"6":{"loc":{"start":{"line":246,"column":9},"end":{"line":248,"column":9}},"type":"binary-expr","locations":[{"start":{"line":246,"column":9},"end":{"line":246,"column":40}},{"start":{"line":247,"column":8},"end":{"line":247,"column":87}}],"line":246}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree.tsx","statementMap":{"0":{"start":{"line":53,"column":17},"end":{"line":53,"column":44}},"1":{"start":{"line":54,"column":25},"end":{"line":54,"column":60}},"2":{"start":{"line":55,"column":23},"end":{"line":55,"column":56}},"3":{"start":{"line":56,"column":25},"end":{"line":56,"column":60}},"4":{"start":{"line":57,"column":20},"end":{"line":57,"column":59}},"5":{"start":{"line":58,"column":24},"end":{"line":58,"column":81}},"6":{"start":{"line":58,"column":38},"end":{"line":58,"column":67}},"7":{"start":{"line":59,"column":28},"end":{"line":59,"column":69}},"8":{"start":{"line":60,"column":22},"end":{"line":60,"column":54}},"9":{"start":{"line":62,"column":29},"end":{"line":62,"column":87}},"10":{"start":{"line":62,"column":49},"end":{"line":62,"column":73}},"11":{"start":{"line":64,"column":27},"end":{"line":95,"column":42}},"12":{"start":{"line":65,"column":52},"end":{"line":65,"column":69}},"13":{"start":{"line":66,"column":26},"end":{"line":66,"column":51}},"14":{"start":{"line":68,"column":4},"end":{"line":87,"column":7}},"15":{"start":{"line":69,"column":29},"end":{"line":69,"column":119}},"16":{"start":{"line":69,"column":58},"end":{"line":69,"column":118}},"17":{"start":{"line":71,"column":29},"end":{"line":71,"column":86}},"18":{"start":{"line":73,"column":6},"end":{"line":86,"column":7}},"19":{"start":{"line":75,"column":26},"end":{"line":75,"column":33}},"20":{"start":{"line":76,"column":8},"end":{"line":85,"column":9}},"21":{"start":{"line":77,"column":10},"end":{"line":77,"column":67}},"22":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"23":{"start":{"line":81,"column":12},"end":{"line":81,"column":66}},"24":{"start":{"line":84,"column":10},"end":{"line":84,"column":70}},"25":{"start":{"line":89,"column":4},"end":{"line":94,"column":10}},"26":{"start":{"line":90,"column":24},"end":{"line":90,"column":78}},"27":{"start":{"line":91,"column":22},"end":{"line":94,"column":7}},"28":{"start":{"line":97,"column":2},"end":{"line":104,"column":81}},"29":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"30":{"start":{"line":99,"column":75},"end":{"line":99,"column":81}},"31":{"start":{"line":99,"column":101},"end":{"line":99,"column":105}},"32":{"start":{"line":100,"column":6},"end":{"line":100,"column":98}},"33":{"start":{"line":100,"column":65},"end":{"line":100,"column":71}},"34":{"start":{"line":100,"column":91},"end":{"line":100,"column":95}},"35":{"start":{"line":103,"column":4},"end":{"line":103,"column":31}},"36":{"start":{"line":106,"column":32},"end":{"line":135,"column":27}},"37":{"start":{"line":107,"column":4},"end":{"line":112,"column":5}},"38":{"start":{"line":108,"column":6},"end":{"line":110,"column":7}},"39":{"start":{"line":109,"column":8},"end":{"line":109,"column":31}},"40":{"start":{"line":111,"column":6},"end":{"line":111,"column":66}},"41":{"start":{"line":114,"column":22},"end":{"line":114,"column":114}},"42":{"start":{"line":114,"column":42},"end":{"line":114,"column":94}},"43":{"start":{"line":114,"column":107},"end":{"line":114,"column":113}},"44":{"start":{"line":115,"column":34},"end":{"line":117,"column":50}},"45":{"start":{"line":116,"column":30},"end":{"line":116,"column":58}},"46":{"start":{"line":117,"column":35},"end":{"line":117,"column":49}},"47":{"start":{"line":119,"column":4},"end":{"line":124,"column":5}},"48":{"start":{"line":120,"column":6},"end":{"line":120,"column":39}},"49":{"start":{"line":123,"column":6},"end":{"line":123,"column":18}},"50":{"start":{"line":126,"column":4},"end":{"line":132,"column":5}},"51":{"start":{"line":127,"column":6},"end":{"line":128,"column":41}},"52":{"start":{"line":131,"column":6},"end":{"line":131,"column":29}},"53":{"start":{"line":134,"column":4},"end":{"line":134,"column":17}},"54":{"start":{"line":137,"column":22},"end":{"line":160,"column":4}},"55":{"start":{"line":138,"column":4},"end":{"line":149,"column":7}},"56":{"start":{"line":138,"column":25},"end":{"line":149,"column":5}},"57":{"start":{"line":162,"column":24},"end":{"line":184,"column":44}},"58":{"start":{"line":163,"column":22},"end":{"line":177,"column":10}},"59":{"start":{"line":164,"column":20},"end":{"line":164,"column":58}},"60":{"start":{"line":164,"column":43},"end":{"line":164,"column":57}},"61":{"start":{"line":165,"column":6},"end":{"line":175,"column":7}},"62":{"start":{"line":167,"column":8},"end":{"line":167,"column":24}},"63":{"start":{"line":168,"column":32},"end":{"line":168,"column":60}},"64":{"start":{"line":169,"column":8},"end":{"line":174,"column":9}},"65":{"start":{"line":171,"column":10},"end":{"line":173,"column":14}},"66":{"start":{"line":172,"column":12},"end":{"line":172,"column":78}},"67":{"start":{"line":176,"column":6},"end":{"line":176,"column":17}},"68":{"start":{"line":179,"column":4},"end":{"line":179,"column":24}},"69":{"start":{"line":181,"column":4},"end":{"line":183,"column":32}},"70":{"start":{"line":182,"column":30},"end":{"line":182,"column":36}},"71":{"start":{"line":183,"column":25},"end":{"line":183,"column":29}},"72":{"start":{"line":186,"column":29},"end":{"line":203,"column":8}},"73":{"start":{"line":192,"column":29},"end":{"line":196,"column":5}},"74":{"start":{"line":197,"column":20},"end":{"line":197,"column":82}},"75":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"76":{"start":{"line":200,"column":6},"end":{"line":200,"column":66}},"77":{"start":{"line":202,"column":4},"end":{"line":202,"column":21}},"78":{"start":{"line":205,"column":2},"end":{"line":218,"column":4}}},"fnMap":{"0":{"name":"TokenSetTree","decl":{"start":{"line":50,"column":24},"end":{"line":50,"column":36}},"loc":{"start":{"line":52,"column":22},"end":{"line":219,"column":1}},"line":52},"1":{"name":"(anonymous_1)","decl":{"start":{"line":58,"column":32},"end":{"line":58,"column":33}},"loc":{"start":{"line":58,"column":38},"end":{"line":58,"column":67}},"line":58},"2":{"name":"(anonymous_2)","decl":{"start":{"line":62,"column":43},"end":{"line":62,"column":44}},"loc":{"start":{"line":62,"column":49},"end":{"line":62,"column":73}},"line":62},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":41},"end":{"line":64,"column":42}},"loc":{"start":{"line":64,"column":47},"end":{"line":95,"column":3}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":68,"column":35},"end":{"line":68,"column":36}},"loc":{"start":{"line":68,"column":62},"end":{"line":87,"column":5}},"line":68},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":47},"end":{"line":69,"column":48}},"loc":{"start":{"line":69,"column":58},"end":{"line":69,"column":118}},"line":69},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":14},"end":{"line":90,"column":15}},"loc":{"start":{"line":90,"column":24},"end":{"line":90,"column":78}},"line":90},"7":{"name":"(anonymous_7)","decl":{"start":{"line":91,"column":11},"end":{"line":91,"column":12}},"loc":{"start":{"line":91,"column":22},"end":{"line":94,"column":7}},"line":91},"8":{"name":"(anonymous_8)","decl":{"start":{"line":97,"column":18},"end":{"line":97,"column":19}},"loc":{"start":{"line":97,"column":24},"end":{"line":104,"column":3}},"line":97},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":59},"end":{"line":99,"column":60}},"loc":{"start":{"line":99,"column":75},"end":{"line":99,"column":81}},"line":99},"10":{"name":"(anonymous_10)","decl":{"start":{"line":99,"column":87},"end":{"line":99,"column":88}},"loc":{"start":{"line":99,"column":101},"end":{"line":99,"column":105}},"line":99},"11":{"name":"(anonymous_11)","decl":{"start":{"line":100,"column":49},"end":{"line":100,"column":50}},"loc":{"start":{"line":100,"column":65},"end":{"line":100,"column":71}},"line":100},"12":{"name":"(anonymous_12)","decl":{"start":{"line":100,"column":77},"end":{"line":100,"column":78}},"loc":{"start":{"line":100,"column":91},"end":{"line":100,"column":95}},"line":100},"13":{"name":"(anonymous_13)","decl":{"start":{"line":106,"column":44},"end":{"line":106,"column":45}},"loc":{"start":{"line":106,"column":64},"end":{"line":135,"column":3}},"line":106},"14":{"name":"(anonymous_14)","decl":{"start":{"line":114,"column":35},"end":{"line":114,"column":36}},"loc":{"start":{"line":114,"column":42},"end":{"line":114,"column":94}},"line":114},"15":{"name":"(anonymous_15)","decl":{"start":{"line":114,"column":100},"end":{"line":114,"column":101}},"loc":{"start":{"line":114,"column":107},"end":{"line":114,"column":113}},"line":114},"16":{"name":"(anonymous_16)","decl":{"start":{"line":116,"column":14},"end":{"line":116,"column":15}},"loc":{"start":{"line":116,"column":30},"end":{"line":116,"column":58}},"line":116},"17":{"name":"(anonymous_17)","decl":{"start":{"line":117,"column":11},"end":{"line":117,"column":12}},"loc":{"start":{"line":117,"column":35},"end":{"line":117,"column":49}},"line":117},"18":{"name":"(anonymous_18)","decl":{"start":{"line":119,"column":36},"end":{"line":119,"column":37}},"loc":{"start":{"line":120,"column":6},"end":{"line":120,"column":39}},"line":120},"19":{"name":"(anonymous_19)","decl":{"start":{"line":126,"column":35},"end":{"line":126,"column":36}},"loc":{"start":{"line":127,"column":6},"end":{"line":128,"column":41}},"line":127},"20":{"name":"(anonymous_20)","decl":{"start":{"line":137,"column":30},"end":{"line":137,"column":31}},"loc":{"start":{"line":138,"column":4},"end":{"line":149,"column":7}},"line":138},"21":{"name":"(anonymous_21)","decl":{"start":{"line":138,"column":14},"end":{"line":138,"column":15}},"loc":{"start":{"line":138,"column":25},"end":{"line":149,"column":5}},"line":138},"22":{"name":"(anonymous_22)","decl":{"start":{"line":162,"column":42},"end":{"line":162,"column":43}},"loc":{"start":{"line":162,"column":82},"end":{"line":184,"column":3}},"line":162},"23":{"name":"(anonymous_23)","decl":{"start":{"line":163,"column":58},"end":{"line":163,"column":59}},"loc":{"start":{"line":163,"column":73},"end":{"line":177,"column":5}},"line":163},"24":{"name":"(anonymous_24)","decl":{"start":{"line":164,"column":31},"end":{"line":164,"column":32}},"loc":{"start":{"line":164,"column":43},"end":{"line":164,"column":57}},"line":164},"25":{"name":"(anonymous_25)","decl":{"start":{"line":171,"column":41},"end":{"line":171,"column":42}},"loc":{"start":{"line":172,"column":12},"end":{"line":172,"column":78}},"line":172},"26":{"name":"(anonymous_26)","decl":{"start":{"line":182,"column":14},"end":{"line":182,"column":15}},"loc":{"start":{"line":182,"column":30},"end":{"line":182,"column":36}},"line":182},"27":{"name":"(anonymous_27)","decl":{"start":{"line":183,"column":11},"end":{"line":183,"column":12}},"loc":{"start":{"line":183,"column":25},"end":{"line":183,"column":29}},"line":183},"28":{"name":"(anonymous_28)","decl":{"start":{"line":186,"column":47},"end":{"line":186,"column":48}},"loc":{"start":{"line":191,"column":7},"end":{"line":203,"column":3}},"line":191}},"branchMap":{"0":{"loc":{"start":{"line":73,"column":6},"end":{"line":86,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":86,"column":7}},{"start":{},"end":{}}],"line":73},"1":{"loc":{"start":{"line":73,"column":10},"end":{"line":73,"column":53}},"type":"binary-expr","locations":[{"start":{"line":73,"column":10},"end":{"line":73,"column":35}},{"start":{"line":73,"column":39},"end":{"line":73,"column":53}}],"line":73},"2":{"loc":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},{"start":{},"end":{}}],"line":80},"3":{"loc":{"start":{"line":93,"column":20},"end":{"line":93,"column":79}},"type":"cond-expr","locations":[{"start":{"line":93,"column":34},"end":{"line":93,"column":67}},{"start":{"line":93,"column":70},"end":{"line":93,"column":79}}],"line":93},"4":{"loc":{"start":{"line":93,"column":34},"end":{"line":93,"column":67}},"type":"binary-expr","locations":[{"start":{"line":93,"column":34},"end":{"line":93,"column":62}},{"start":{"line":93,"column":66},"end":{"line":93,"column":67}}],"line":93},"5":{"loc":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":99},"6":{"loc":{"start":{"line":107,"column":4},"end":{"line":112,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":112,"column":5}},{"start":{},"end":{}}],"line":107},"7":{"loc":{"start":{"line":108,"column":6},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":108,"column":6},"end":{"line":110,"column":7}},{"start":{},"end":{}}],"line":108},"8":{"loc":{"start":{"line":114,"column":42},"end":{"line":114,"column":94}},"type":"binary-expr","locations":[{"start":{"line":114,"column":42},"end":{"line":114,"column":70}},{"start":{"line":114,"column":74},"end":{"line":114,"column":94}}],"line":114},"9":{"loc":{"start":{"line":119,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":124,"column":5}},{"start":{},"end":{}}],"line":119},"10":{"loc":{"start":{"line":126,"column":4},"end":{"line":132,"column":5}},"type":"if","locations":[{"start":{"line":126,"column":4},"end":{"line":132,"column":5}},{"start":{},"end":{}}],"line":126},"11":{"loc":{"start":{"line":127,"column":6},"end":{"line":128,"column":41}},"type":"binary-expr","locations":[{"start":{"line":127,"column":6},"end":{"line":127,"column":39}},{"start":{"line":128,"column":9},"end":{"line":128,"column":41}}],"line":127},"12":{"loc":{"start":{"line":146,"column":16},"end":{"line":146,"column":59}},"type":"binary-expr","locations":[{"start":{"line":146,"column":16},"end":{"line":146,"column":44}},{"start":{"line":146,"column":48},"end":{"line":146,"column":59}}],"line":146},"13":{"loc":{"start":{"line":147,"column":17},"end":{"line":147,"column":69}},"type":"binary-expr","locations":[{"start":{"line":147,"column":17},"end":{"line":147,"column":32}},{"start":{"line":147,"column":36},"end":{"line":147,"column":69}}],"line":147},"14":{"loc":{"start":{"line":165,"column":6},"end":{"line":175,"column":7}},"type":"if","locations":[{"start":{"line":165,"column":6},"end":{"line":175,"column":7}},{"start":{},"end":{}}],"line":165},"15":{"loc":{"start":{"line":169,"column":8},"end":{"line":174,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":174,"column":9}},{"start":{},"end":{}}],"line":169},"16":{"loc":{"start":{"line":169,"column":12},"end":{"line":169,"column":43}},"type":"binary-expr","locations":[{"start":{"line":169,"column":12},"end":{"line":169,"column":27}},{"start":{"line":169,"column":31},"end":{"line":169,"column":43}}],"line":169},"17":{"loc":{"start":{"line":172,"column":12},"end":{"line":172,"column":78}},"type":"binary-expr","locations":[{"start":{"line":172,"column":12},"end":{"line":172,"column":32}},{"start":{"line":172,"column":36},"end":{"line":172,"column":78}}],"line":172},"18":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},{"start":{},"end":{}}],"line":199}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTreeItemContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTreeItemContent.tsx","statementMap":{"0":{"start":{"line":35,"column":19},"end":{"line":35,"column":32}},"1":{"start":{"line":36,"column":22},"end":{"line":36,"column":53}},"2":{"start":{"line":37,"column":25},"end":{"line":37,"column":60}},"3":{"start":{"line":38,"column":25},"end":{"line":38,"column":60}},"4":{"start":{"line":39,"column":27},"end":{"line":39,"column":64}},"5":{"start":{"line":40,"column":28},"end":{"line":40,"column":66}},"6":{"start":{"line":42,"column":33},"end":{"line":42,"column":88}},"7":{"start":{"line":44,"column":22},"end":{"line":49,"column":38}},"8":{"start":{"line":45,"column":4},"end":{"line":48,"column":5}},"9":{"start":{"line":46,"column":6},"end":{"line":46,"column":54}},"10":{"start":{"line":47,"column":6},"end":{"line":47,"column":49}},"11":{"start":{"line":51,"column":30},"end":{"line":58,"column":22}},"12":{"start":{"line":52,"column":4},"end":{"line":57,"column":5}},"13":{"start":{"line":53,"column":6},"end":{"line":53,"column":55}},"14":{"start":{"line":55,"column":24},"end":{"line":55,"column":119}},"15":{"start":{"line":55,"column":49},"end":{"line":55,"column":99}},"16":{"start":{"line":55,"column":112},"end":{"line":55,"column":118}},"17":{"start":{"line":56,"column":6},"end":{"line":56,"column":80}},"18":{"start":{"line":60,"column":30},"end":{"line":62,"column":16}},"19":{"start":{"line":61,"column":4},"end":{"line":61,"column":58}},"20":{"start":{"line":64,"column":26},"end":{"line":66,"column":28}},"21":{"start":{"line":65,"column":4},"end":{"line":65,"column":39}},"22":{"start":{"line":68,"column":2},"end":{"line":87,"column":4}}},"fnMap":{"0":{"name":"TokenSetTreeItemContent","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":39}},"loc":{"start":{"line":34,"column":33},"end":{"line":88,"column":1}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":34},"end":{"line":44,"column":35}},"loc":{"start":{"line":44,"column":53},"end":{"line":49,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":42},"end":{"line":51,"column":43}},"loc":{"start":{"line":51,"column":83},"end":{"line":58,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":42},"end":{"line":55,"column":43}},"loc":{"start":{"line":55,"column":49},"end":{"line":55,"column":99}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":105},"end":{"line":55,"column":106}},"loc":{"start":{"line":55,"column":112},"end":{"line":55,"column":118}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":60,"column":42},"end":{"line":60,"column":43}},"loc":{"start":{"line":60,"column":68},"end":{"line":62,"column":3}},"line":60},"6":{"name":"(anonymous_6)","decl":{"start":{"line":64,"column":38},"end":{"line":64,"column":39}},"loc":{"start":{"line":64,"column":85},"end":{"line":66,"column":3}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":57,"column":5}},{"start":{"line":54,"column":11},"end":{"line":57,"column":5}}],"line":52},"2":{"loc":{"start":{"line":55,"column":49},"end":{"line":55,"column":99}},"type":"binary-expr","locations":[{"start":{"line":55,"column":49},"end":{"line":55,"column":76}},{"start":{"line":55,"column":80},"end":{"line":55,"column":99}}],"line":55},"3":{"loc":{"start":{"line":77,"column":20},"end":{"line":77,"column":86}},"type":"binary-expr","locations":[{"start":{"line":77,"column":20},"end":{"line":77,"column":43}},{"start":{"line":77,"column":47},"end":{"line":77,"column":86}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tokens.tsx","statementMap":{"0":{"start":{"line":34,"column":20},"end":{"line":82,"column":1}},"1":{"start":{"line":35,"column":28},"end":{"line":35,"column":48}},"2":{"start":{"line":36,"column":2},"end":{"line":38,"column":13}},"3":{"start":{"line":37,"column":4},"end":{"line":37,"column":18}},"4":{"start":{"line":40,"column":2},"end":{"line":81,"column":4}},"5":{"start":{"line":85,"column":17},"end":{"line":85,"column":44}},"6":{"start":{"line":86,"column":22},"end":{"line":86,"column":54}},"7":{"start":{"line":87,"column":25},"end":{"line":87,"column":60}},"8":{"start":{"line":88,"column":26},"end":{"line":88,"column":62}},"9":{"start":{"line":89,"column":23},"end":{"line":89,"column":56}},"10":{"start":{"line":90,"column":23},"end":{"line":90,"column":56}},"11":{"start":{"line":91,"column":23},"end":{"line":91,"column":56}},"12":{"start":{"line":92,"column":32},"end":{"line":92,"column":74}},"13":{"start":{"line":93,"column":28},"end":{"line":93,"column":66}},"14":{"start":{"line":94,"column":22},"end":{"line":94,"column":54}},"15":{"start":{"line":95,"column":28},"end":{"line":95,"column":66}},"16":{"start":{"line":96,"column":19},"end":{"line":96,"column":42}},"17":{"start":{"line":97,"column":50},"end":{"line":97,"column":70}},"18":{"start":{"line":98,"column":30},"end":{"line":98,"column":41}},"19":{"start":{"line":99,"column":19},"end":{"line":99,"column":53}},"20":{"start":{"line":101,"column":2},"end":{"line":105,"column":9}},"21":{"start":{"line":102,"column":4},"end":{"line":104,"column":5}},"22":{"start":{"line":103,"column":6},"end":{"line":103,"column":67}},"23":{"start":{"line":107,"column":2},"end":{"line":111,"column":23}},"24":{"start":{"line":108,"column":4},"end":{"line":110,"column":5}},"25":{"start":{"line":109,"column":6},"end":{"line":109,"column":70}},"26":{"start":{"line":113,"column":25},"end":{"line":116,"column":3}},"27":{"start":{"line":114,"column":10},"end":{"line":114,"column":100}},"28":{"start":{"line":118,"column":20},"end":{"line":118,"column":50}},"29":{"start":{"line":120,"column":28},"end":{"line":120,"column":63}},"30":{"start":{"line":122,"column":27},"end":{"line":125,"column":27}},"31":{"start":{"line":123,"column":4},"end":{"line":123,"column":19}},"32":{"start":{"line":124,"column":4},"end":{"line":124,"column":45}},"33":{"start":{"line":127,"column":25},"end":{"line":146,"column":43}},"34":{"start":{"line":128,"column":4},"end":{"line":144,"column":5}},"35":{"start":{"line":129,"column":21},"end":{"line":137,"column":8}},"36":{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},"37":{"start":{"line":131,"column":10},"end":{"line":131,"column":19}},"38":{"start":{"line":133,"column":8},"end":{"line":135,"column":9}},"39":{"start":{"line":134,"column":10},"end":{"line":134,"column":20}},"40":{"start":{"line":136,"column":8},"end":{"line":136,"column":17}},"41":{"start":{"line":138,"column":6},"end":{"line":143,"column":10}},"42":{"start":{"line":138,"column":66},"end":{"line":143,"column":7}},"43":{"start":{"line":145,"column":4},"end":{"line":145,"column":14}},"44":{"start":{"line":148,"column":42},"end":{"line":150,"column":24}},"45":{"start":{"line":149,"column":4},"end":{"line":149,"column":43}},"46":{"start":{"line":152,"column":70},"end":{"line":152,"column":118}},"47":{"start":{"line":154,"column":29},"end":{"line":159,"column":24}},"48":{"start":{"line":155,"column":4},"end":{"line":158,"column":5}},"49":{"start":{"line":156,"column":6},"end":{"line":156,"column":41}},"50":{"start":{"line":157,"column":6},"end":{"line":157,"column":47}},"51":{"start":{"line":161,"column":29},"end":{"line":163,"column":23}},"52":{"start":{"line":161,"column":50},"end":{"line":163,"column":3}},"53":{"start":{"line":165,"column":2},"end":{"line":170,"column":76}},"54":{"start":{"line":168,"column":4},"end":{"line":168,"column":19}},"55":{"start":{"line":169,"column":4},"end":{"line":169,"column":59}},"56":{"start":{"line":172,"column":2},"end":{"line":180,"column":72}},"57":{"start":{"line":175,"column":4},"end":{"line":179,"column":5}},"58":{"start":{"line":176,"column":6},"end":{"line":176,"column":53}},"59":{"start":{"line":178,"column":6},"end":{"line":178,"column":54}},"60":{"start":{"line":182,"column":2},"end":{"line":185,"column":42}},"61":{"start":{"line":183,"column":28},"end":{"line":183,"column":76}},"62":{"start":{"line":184,"column":4},"end":{"line":184,"column":63}},"63":{"start":{"line":187,"column":32},"end":{"line":191,"column":35}},"64":{"start":{"line":188,"column":4},"end":{"line":190,"column":5}},"65":{"start":{"line":189,"column":6},"end":{"line":189,"column":111}},"66":{"start":{"line":193,"column":2},"end":{"line":193,"column":29}},"67":{"start":{"line":193,"column":17},"end":{"line":193,"column":29}},"68":{"start":{"line":195,"column":2},"end":{"line":306,"column":4}},"69":{"start":{"line":286,"column":18},"end":{"line":294,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":34,"column":20},"end":{"line":34,"column":21}},"loc":{"start":{"line":34,"column":82},"end":{"line":82,"column":1}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":18},"end":{"line":36,"column":19}},"loc":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}},"line":36},"2":{"name":"Tokens","decl":{"start":{"line":84,"column":9},"end":{"line":84,"column":15}},"loc":{"start":{"line":84,"column":53},"end":{"line":307,"column":1}},"line":84},"3":{"name":"(anonymous_3)","decl":{"start":{"line":101,"column":18},"end":{"line":101,"column":19}},"loc":{"start":{"line":101,"column":24},"end":{"line":105,"column":3}},"line":101},"4":{"name":"(anonymous_4)","decl":{"start":{"line":103,"column":50},"end":{"line":103,"column":51}},"loc":{"start":{"line":103,"column":56},"end":{"line":103,"column":58}},"line":103},"5":{"name":"(anonymous_5)","decl":{"start":{"line":107,"column":18},"end":{"line":107,"column":19}},"loc":{"start":{"line":107,"column":24},"end":{"line":111,"column":3}},"line":107},"6":{"name":"(anonymous_6)","decl":{"start":{"line":114,"column":4},"end":{"line":114,"column":5}},"loc":{"start":{"line":114,"column":10},"end":{"line":114,"column":100}},"line":114},"7":{"name":"(anonymous_7)","decl":{"start":{"line":122,"column":45},"end":{"line":122,"column":46}},"loc":{"start":{"line":122,"column":62},"end":{"line":125,"column":3}},"line":122},"8":{"name":"(anonymous_8)","decl":{"start":{"line":127,"column":39},"end":{"line":127,"column":40}},"loc":{"start":{"line":127,"column":45},"end":{"line":146,"column":3}},"line":127},"9":{"name":"(anonymous_9)","decl":{"start":{"line":129,"column":76},"end":{"line":129,"column":77}},"loc":{"start":{"line":129,"column":86},"end":{"line":137,"column":7}},"line":129},"10":{"name":"(anonymous_10)","decl":{"start":{"line":138,"column":24},"end":{"line":138,"column":25}},"loc":{"start":{"line":138,"column":66},"end":{"line":143,"column":7}},"line":138},"11":{"name":"(anonymous_11)","decl":{"start":{"line":148,"column":60},"end":{"line":148,"column":61}},"loc":{"start":{"line":148,"column":66},"end":{"line":150,"column":3}},"line":148},"12":{"name":"(anonymous_12)","decl":{"start":{"line":154,"column":47},"end":{"line":154,"column":48}},"loc":{"start":{"line":154,"column":73},"end":{"line":159,"column":3}},"line":154},"13":{"name":"(anonymous_13)","decl":{"start":{"line":161,"column":43},"end":{"line":161,"column":44}},"loc":{"start":{"line":161,"column":50},"end":{"line":163,"column":3}},"line":161},"14":{"name":"(anonymous_14)","decl":{"start":{"line":165,"column":18},"end":{"line":165,"column":19}},"loc":{"start":{"line":165,"column":24},"end":{"line":170,"column":3}},"line":165},"15":{"name":"(anonymous_15)","decl":{"start":{"line":172,"column":18},"end":{"line":172,"column":19}},"loc":{"start":{"line":172,"column":24},"end":{"line":180,"column":3}},"line":172},"16":{"name":"(anonymous_16)","decl":{"start":{"line":182,"column":18},"end":{"line":182,"column":19}},"loc":{"start":{"line":182,"column":24},"end":{"line":185,"column":3}},"line":182},"17":{"name":"(anonymous_17)","decl":{"start":{"line":187,"column":50},"end":{"line":187,"column":51}},"loc":{"start":{"line":187,"column":72},"end":{"line":191,"column":3}},"line":187},"18":{"name":"(anonymous_18)","decl":{"start":{"line":283,"column":36},"end":{"line":283,"column":37}},"loc":{"start":{"line":286,"column":18},"end":{"line":294,"column":24}},"line":286}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":7},"end":{"line":79,"column":14}},"type":"cond-expr","locations":[{"start":{"line":43,"column":8},"end":{"line":78,"column":21}},{"start":{"line":79,"column":10},"end":{"line":79,"column":14}}],"line":42},"1":{"loc":{"start":{"line":102,"column":4},"end":{"line":104,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":104,"column":5}},{"start":{},"end":{}}],"line":102},"2":{"loc":{"start":{"line":108,"column":4},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":108,"column":4},"end":{"line":110,"column":5}},{"start":{},"end":{}}],"line":108},"3":{"loc":{"start":{"line":108,"column":8},"end":{"line":108,"column":96}},"type":"binary-expr","locations":[{"start":{"line":108,"column":8},"end":{"line":108,"column":25}},{"start":{"line":108,"column":29},"end":{"line":108,"column":45}},{"start":{"line":108,"column":49},"end":{"line":108,"column":96}}],"line":108},"4":{"loc":{"start":{"line":128,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":128},"5":{"loc":{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},"type":"if","locations":[{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},{"start":{},"end":{}}],"line":130},"6":{"loc":{"start":{"line":133,"column":8},"end":{"line":135,"column":9}},"type":"if","locations":[{"start":{"line":133,"column":8},"end":{"line":135,"column":9}},{"start":{},"end":{}}],"line":133},"7":{"loc":{"start":{"line":155,"column":4},"end":{"line":158,"column":5}},"type":"if","locations":[{"start":{"line":155,"column":4},"end":{"line":158,"column":5}},{"start":{},"end":{}}],"line":155},"8":{"loc":{"start":{"line":155,"column":8},"end":{"line":155,"column":40}},"type":"binary-expr","locations":[{"start":{"line":155,"column":8},"end":{"line":155,"column":22}},{"start":{"line":155,"column":26},"end":{"line":155,"column":40}}],"line":155},"9":{"loc":{"start":{"line":175,"column":4},"end":{"line":179,"column":5}},"type":"if","locations":[{"start":{"line":175,"column":4},"end":{"line":179,"column":5}},{"start":{"line":177,"column":11},"end":{"line":179,"column":5}}],"line":175},"10":{"loc":{"start":{"line":188,"column":4},"end":{"line":190,"column":5}},"type":"if","locations":[{"start":{"line":188,"column":4},"end":{"line":190,"column":5}},{"start":{},"end":{}}],"line":188},"11":{"loc":{"start":{"line":193,"column":2},"end":{"line":193,"column":29}},"type":"if","locations":[{"start":{"line":193,"column":2},"end":{"line":193,"column":29}},{"start":{},"end":{}}],"line":193},"12":{"loc":{"start":{"line":223,"column":21},"end":{"line":223,"column":77}},"type":"cond-expr","locations":[{"start":{"line":223,"column":40},"end":{"line":223,"column":58}},{"start":{"line":223,"column":61},"end":{"line":223,"column":77}}],"line":223},"13":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":11}},"type":"binary-expr","locations":[{"start":{"line":261,"column":11},"end":{"line":261,"column":27}},{"start":{"line":262,"column":12},"end":{"line":262,"column":78}}],"line":261},"14":{"loc":{"start":{"line":273,"column":13},"end":{"line":299,"column":13}},"type":"cond-expr","locations":[{"start":{"line":274,"column":14},"end":{"line":280,"column":20}},{"start":{"line":282,"column":14},"end":{"line":298,"column":20}}],"line":273},"15":{"loc":{"start":{"line":289,"column":29},"end":{"line":289,"column":48}},"type":"binary-expr","locations":[{"start":{"line":289,"column":29},"end":{"line":289,"column":41}},{"start":{"line":289,"column":45},"end":{"line":289,"column":48}}],"line":289},"16":{"loc":{"start":{"line":297,"column":17},"end":{"line":297,"column":87}},"type":"binary-expr","locations":[{"start":{"line":297,"column":17},"end":{"line":297,"column":29}},{"start":{"line":297,"column":33},"end":{"line":297,"column":87}}],"line":297},"17":{"loc":{"start":{"line":301,"column":11},"end":{"line":301,"column":57}},"type":"binary-expr","locations":[{"start":{"line":301,"column":11},"end":{"line":301,"column":32}},{"start":{"line":301,"column":36},"end":{"line":301,"column":57}}],"line":301}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokensBottomBar.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokensBottomBar.tsx","statementMap":{"0":{"start":{"line":31,"column":28},"end":{"line":31,"column":66}},"1":{"start":{"line":32,"column":23},"end":{"line":32,"column":56}},"2":{"start":{"line":33,"column":17},"end":{"line":33,"column":44}},"3":{"start":{"line":34,"column":80},"end":{"line":34,"column":110}},"4":{"start":{"line":36,"column":49},"end":{"line":38,"column":8}},"5":{"start":{"line":37,"column":4},"end":{"line":37,"column":46}},"6":{"start":{"line":40,"column":37},"end":{"line":42,"column":8}},"7":{"start":{"line":41,"column":4},"end":{"line":41,"column":45}},"8":{"start":{"line":44,"column":31},"end":{"line":44,"column":42}},"9":{"start":{"line":46,"column":24},"end":{"line":60,"column":3}},"10":{"start":{"line":47,"column":10},"end":{"line":58,"column":6}},"11":{"start":{"line":48,"column":31},"end":{"line":48,"column":46}},"12":{"start":{"line":49,"column":24},"end":{"line":49,"column":33}},"13":{"start":{"line":51,"column":6},"end":{"line":57,"column":9}},"14":{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},"15":{"start":{"line":53,"column":10},"end":{"line":53,"column":22}},"16":{"start":{"line":55,"column":8},"end":{"line":55,"column":34}},"17":{"start":{"line":56,"column":8},"end":{"line":56,"column":21}},"18":{"start":{"line":62,"column":25},"end":{"line":71,"column":51}},"19":{"start":{"line":63,"column":4},"end":{"line":70,"column":5}},"20":{"start":{"line":64,"column":27},"end":{"line":64,"column":50}},"21":{"start":{"line":65,"column":6},"end":{"line":65,"column":37}},"22":{"start":{"line":66,"column":6},"end":{"line":66,"column":29}},"23":{"start":{"line":67,"column":6},"end":{"line":67,"column":37}},"24":{"start":{"line":69,"column":6},"end":{"line":69,"column":63}},"25":{"start":{"line":73,"column":16},"end":{"line":73,"column":43}},"26":{"start":{"line":75,"column":2},"end":{"line":136,"column":4}}},"fnMap":{"0":{"name":"TokensBottomBar","decl":{"start":{"line":30,"column":24},"end":{"line":30,"column":39}},"loc":{"start":{"line":30,"column":64},"end":{"line":137,"column":1}},"line":30},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":67},"end":{"line":36,"column":68}},"loc":{"start":{"line":36,"column":73},"end":{"line":38,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":55},"end":{"line":40,"column":56}},"loc":{"start":{"line":40,"column":61},"end":{"line":42,"column":3}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":4},"end":{"line":47,"column":5}},"loc":{"start":{"line":47,"column":10},"end":{"line":58,"column":6}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":48},"end":{"line":58,"column":5}},"line":47},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":35},"end":{"line":51,"column":36}},"loc":{"start":{"line":51,"column":46},"end":{"line":57,"column":7}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":62,"column":37},"end":{"line":62,"column":38}},"loc":{"start":{"line":62,"column":43},"end":{"line":71,"column":3}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},{"start":{},"end":{}}],"line":52},"1":{"loc":{"start":{"line":80,"column":7},"end":{"line":128,"column":9}},"type":"cond-expr","locations":[{"start":{"line":81,"column":8},"end":{"line":97,"column":14}},{"start":{"line":100,"column":10},"end":{"line":127,"column":18}}],"line":80},"2":{"loc":{"start":{"line":114,"column":15},"end":{"line":123,"column":15}},"type":"binary-expr","locations":[{"start":{"line":114,"column":15},"end":{"line":114,"column":28}},{"start":{"line":115,"column":16},"end":{"line":122,"column":18}}],"line":114},"3":{"loc":{"start":{"line":129,"column":7},"end":{"line":134,"column":7}},"type":"binary-expr","locations":[{"start":{"line":129,"column":7},"end":{"line":129,"column":38}},{"start":{"line":130,"column":8},"end":{"line":133,"column":10}}],"line":129}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToolsDropdown.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ToolsDropdown.tsx","statementMap":{"0":{"start":{"line":12,"column":25},"end":{"line":12,"column":60}},"1":{"start":{"line":14,"column":16},"end":{"line":14,"column":42}},"2":{"start":{"line":16,"column":48},"end":{"line":16,"column":69}},"3":{"start":{"line":17,"column":48},"end":{"line":17,"column":69}},"4":{"start":{"line":19,"column":33},"end":{"line":21,"column":8}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},"6":{"start":{"line":23,"column":33},"end":{"line":25,"column":8}},"7":{"start":{"line":24,"column":4},"end":{"line":24,"column":27}},"8":{"start":{"line":27,"column":32},"end":{"line":29,"column":8}},"9":{"start":{"line":28,"column":4},"end":{"line":28,"column":26}},"10":{"start":{"line":30,"column":32},"end":{"line":32,"column":8}},"11":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}},"12":{"start":{"line":34,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"ToolsDropdown","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":37}},"loc":{"start":{"line":11,"column":40},"end":{"line":52,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":45},"end":{"line":19,"column":46}},"loc":{"start":{"line":19,"column":51},"end":{"line":21,"column":3}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":45},"end":{"line":23,"column":46}},"loc":{"start":{"line":23,"column":51},"end":{"line":25,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":44},"end":{"line":27,"column":45}},"loc":{"start":{"line":27,"column":50},"end":{"line":29,"column":3}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":44},"end":{"line":30,"column":45}},"loc":{"start":{"line":30,"column":50},"end":{"line":32,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":48,"column":7},"end":{"line":48,"column":77}},"type":"binary-expr","locations":[{"start":{"line":48,"column":7},"end":{"line":48,"column":25}},{"start":{"line":48,"column":29},"end":{"line":48,"column":77}}],"line":48},"1":{"loc":{"start":{"line":49,"column":7},"end":{"line":49,"column":77}},"type":"binary-expr","locations":[{"start":{"line":49,"column":7},"end":{"line":49,"column":25}},{"start":{"line":49,"column":29},"end":{"line":49,"column":77}}],"line":49}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tooltip.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Tooltip.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TypographyInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TypographyInput.tsx","statementMap":{"0":{"start":{"line":17,"column":19},"end":{"line":27,"column":1}},"1":{"start":{"line":48,"column":16},"end":{"line":48,"column":42}},"2":{"start":{"line":49,"column":15},"end":{"line":49,"column":27}},"3":{"start":{"line":50,"column":23},"end":{"line":50,"column":93}},"4":{"start":{"line":51,"column":26},"end":{"line":51,"column":67}},"5":{"start":{"line":52,"column":28},"end":{"line":52,"column":40}},"6":{"start":{"line":53,"column":29},"end":{"line":59,"column":41}},"7":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"8":{"start":{"line":55,"column":33},"end":{"line":55,"column":105}},"9":{"start":{"line":56,"column":6},"end":{"line":56,"column":40}},"10":{"start":{"line":58,"column":4},"end":{"line":58,"column":14}},"11":{"start":{"line":61,"column":24},"end":{"line":68,"column":41}},"12":{"start":{"line":62,"column":19},"end":{"line":62,"column":66}},"13":{"start":{"line":63,"column":4},"end":{"line":66,"column":5}},"14":{"start":{"line":64,"column":25},"end":{"line":64,"column":73}},"15":{"start":{"line":64,"column":52},"end":{"line":64,"column":72}},"16":{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},"17":{"start":{"line":65,"column":22},"end":{"line":65,"column":65}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":16}},"19":{"start":{"line":70,"column":21},"end":{"line":76,"column":66}},"20":{"start":{"line":71,"column":4},"end":{"line":73,"column":5}},"21":{"start":{"line":72,"column":6},"end":{"line":72,"column":56}},"22":{"start":{"line":74,"column":4},"end":{"line":74,"column":52}},"23":{"start":{"line":75,"column":4},"end":{"line":75,"column":17}},"24":{"start":{"line":78,"column":2},"end":{"line":141,"column":4}},"25":{"start":{"line":103,"column":12},"end":{"line":113,"column":14}}},"fnMap":{"0":{"name":"TypographyInput","decl":{"start":{"line":29,"column":24},"end":{"line":29,"column":39}},"loc":{"start":{"line":47,"column":3},"end":{"line":142,"column":1}},"line":47},"1":{"name":"(anonymous_1)","decl":{"start":{"line":53,"column":37},"end":{"line":53,"column":38}},"loc":{"start":{"line":53,"column":43},"end":{"line":59,"column":3}},"line":53},"2":{"name":"(anonymous_2)","decl":{"start":{"line":61,"column":68},"end":{"line":61,"column":69}},"loc":{"start":{"line":61,"column":74},"end":{"line":68,"column":3}},"line":61},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":45},"end":{"line":64,"column":46}},"loc":{"start":{"line":64,"column":52},"end":{"line":64,"column":72}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":39},"end":{"line":70,"column":40}},"loc":{"start":{"line":70,"column":45},"end":{"line":76,"column":3}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":102,"column":87},"end":{"line":102,"column":88}},"loc":{"start":{"line":103,"column":12},"end":{"line":113,"column":14}},"line":103}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":23},"end":{"line":50,"column":93}},"type":"binary-expr","locations":[{"start":{"line":50,"column":23},"end":{"line":50,"column":46}},{"start":{"line":50,"column":50},"end":{"line":50,"column":93}}],"line":50},"1":{"loc":{"start":{"line":51,"column":35},"end":{"line":51,"column":66}},"type":"cond-expr","locations":[{"start":{"line":51,"column":49},"end":{"line":51,"column":56}},{"start":{"line":51,"column":59},"end":{"line":51,"column":66}}],"line":51},"2":{"loc":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":54},"3":{"loc":{"start":{"line":55,"column":47},"end":{"line":55,"column":88}},"type":"binary-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":82}},{"start":{"line":55,"column":86},"end":{"line":55,"column":88}}],"line":55},"4":{"loc":{"start":{"line":63,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":63},"5":{"loc":{"start":{"line":63,"column":8},"end":{"line":63,"column":35}},"type":"binary-expr","locations":[{"start":{"line":63,"column":8},"end":{"line":63,"column":14}},{"start":{"line":63,"column":18},"end":{"line":63,"column":35}}],"line":63},"6":{"loc":{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},{"start":{},"end":{}}],"line":65},"7":{"loc":{"start":{"line":71,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":71},"8":{"loc":{"start":{"line":71,"column":8},"end":{"line":71,"column":71}},"type":"binary-expr","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":24}},{"start":{"line":71,"column":28},"end":{"line":71,"column":71}}],"line":71},"9":{"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":54}},"type":"binary-expr","locations":[{"start":{"line":72,"column":25},"end":{"line":72,"column":48}},{"start":{"line":72,"column":52},"end":{"line":72,"column":54}}],"line":72},"10":{"loc":{"start":{"line":74,"column":12},"end":{"line":74,"column":50}},"type":"cond-expr","locations":[{"start":{"line":74,"column":33},"end":{"line":74,"column":40}},{"start":{"line":74,"column":43},"end":{"line":74,"column":50}}],"line":74},"11":{"loc":{"start":{"line":83,"column":10},"end":{"line":97,"column":11}},"type":"cond-expr","locations":[{"start":{"line":84,"column":12},"end":{"line":89,"column":14}},{"start":{"line":91,"column":12},"end":{"line":96,"column":14}}],"line":83},"12":{"loc":{"start":{"line":100,"column":7},"end":{"line":139,"column":7}},"type":"cond-expr","locations":[{"start":{"line":101,"column":8},"end":{"line":115,"column":16}},{"start":{"line":117,"column":8},"end":{"line":138,"column":16}}],"line":100},"13":{"loc":{"start":{"line":100,"column":8},"end":{"line":100,"column":84}},"type":"binary-expr","locations":[{"start":{"line":100,"column":8},"end":{"line":100,"column":24}},{"start":{"line":100,"column":28},"end":{"line":100,"column":84}}],"line":100},"14":{"loc":{"start":{"line":102,"column":26},"end":{"line":102,"column":81}},"type":"binary-expr","locations":[{"start":{"line":102,"column":26},"end":{"line":102,"column":75}},{"start":{"line":102,"column":79},"end":{"line":102,"column":81}}],"line":102},"15":{"loc":{"start":{"line":106,"column":21},"end":{"line":106,"column":109}},"type":"cond-expr","locations":[{"start":{"line":106,"column":67},"end":{"line":106,"column":104}},{"start":{"line":106,"column":107},"end":{"line":106,"column":109}}],"line":106},"16":{"loc":{"start":{"line":119,"column":19},"end":{"line":119,"column":70}},"type":"cond-expr","locations":[{"start":{"line":119,"column":34},"end":{"line":119,"column":36}},{"start":{"line":119,"column":39},"end":{"line":119,"column":70}}],"line":119},"17":{"loc":{"start":{"line":132,"column":11},"end":{"line":137,"column":11}},"type":"binary-expr","locations":[{"start":{"line":132,"column":11},"end":{"line":132,"column":22}},{"start":{"line":132,"column":26},"end":{"line":132,"column":69}},{"start":{"line":132,"column":73},"end":{"line":132,"column":118}},{"start":{"line":133,"column":12},"end":{"line":136,"column":14}}],"line":132}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/WindowResizer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/WindowResizer.tsx","statementMap":{"0":{"start":{"line":10,"column":19},"end":{"line":10,"column":42}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":54}},"2":{"start":{"line":13,"column":30},"end":{"line":18,"column":11}},"3":{"start":{"line":15,"column":25},"end":{"line":15,"column":68}},"4":{"start":{"line":20,"column":27},"end":{"line":29,"column":46}},"5":{"start":{"line":21,"column":17},"end":{"line":24,"column":5}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":7}},"7":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"8":{"start":{"line":31,"column":17},"end":{"line":36,"column":24}},"9":{"start":{"line":32,"column":4},"end":{"line":35,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":57}},"11":{"start":{"line":34,"column":6},"end":{"line":34,"column":55}},"12":{"start":{"line":38,"column":15},"end":{"line":44,"column":25}},"13":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":45}},"15":{"start":{"line":41,"column":6},"end":{"line":41,"column":59}},"16":{"start":{"line":42,"column":6},"end":{"line":42,"column":46}},"17":{"start":{"line":47,"column":2},"end":{"line":51,"column":4}}},"fnMap":{"0":{"name":"WindowResizer","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":40},"end":{"line":52,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":6},"end":{"line":15,"column":7}},"loc":{"start":{"line":15,"column":25},"end":{"line":15,"column":68}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":45},"end":{"line":20,"column":46}},"loc":{"start":{"line":20,"column":66},"end":{"line":29,"column":3}},"line":20},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":35},"end":{"line":31,"column":36}},"loc":{"start":{"line":31,"column":47},"end":{"line":36,"column":3}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":33},"end":{"line":38,"column":34}},"loc":{"start":{"line":38,"column":45},"end":{"line":44,"column":3}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":32},"1":{"loc":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createAnnotation.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createAnnotation.tsx","statementMap":{"0":{"start":{"line":7,"column":25},"end":{"line":15,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":45}},"2":{"start":{"line":10,"column":2},"end":{"line":14,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":25},"end":{"line":7,"column":26}},"loc":{"start":{"line":7,"column":100},"end":{"line":15,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":58},"end":{"line":7,"column":95}},"type":"default-arg","locations":[{"start":{"line":7,"column":81},"end":{"line":7,"column":95}}],"line":7}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createTokenObj.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/createTokenObj.tsx","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":52,"column":3}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":30}},"2":{"start":{"line":18,"column":6},"end":{"line":18,"column":32}},"3":{"start":{"line":21,"column":6},"end":{"line":21,"column":31}},"4":{"start":{"line":23,"column":6},"end":{"line":23,"column":35}},"5":{"start":{"line":25,"column":6},"end":{"line":25,"column":38}},"6":{"start":{"line":27,"column":6},"end":{"line":27,"column":37}},"7":{"start":{"line":29,"column":6},"end":{"line":29,"column":32}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":38}},"9":{"start":{"line":33,"column":6},"end":{"line":33,"column":37}},"10":{"start":{"line":35,"column":6},"end":{"line":35,"column":35}},"11":{"start":{"line":37,"column":6},"end":{"line":37,"column":37}},"12":{"start":{"line":39,"column":6},"end":{"line":39,"column":35}},"13":{"start":{"line":41,"column":6},"end":{"line":41,"column":39}},"14":{"start":{"line":43,"column":6},"end":{"line":43,"column":42}},"15":{"start":{"line":45,"column":6},"end":{"line":45,"column":36}},"16":{"start":{"line":47,"column":6},"end":{"line":47,"column":31}},"17":{"start":{"line":49,"column":6},"end":{"line":49,"column":30}},"18":{"start":{"line":51,"column":6},"end":{"line":51,"column":30}},"19":{"start":{"line":56,"column":20},"end":{"line":56,"column":105}},"20":{"start":{"line":57,"column":2},"end":{"line":60,"column":19}},"21":{"start":{"line":65,"column":2},"end":{"line":87,"column":3}},"22":{"start":{"line":66,"column":16},"end":{"line":85,"column":10}},"23":{"start":{"line":67,"column":33},"end":{"line":67,"column":38}},"24":{"start":{"line":68,"column":6},"end":{"line":72,"column":7}},"25":{"start":{"line":69,"column":8},"end":{"line":69,"column":87}},"26":{"start":{"line":71,"column":8},"end":{"line":71,"column":59}},"27":{"start":{"line":73,"column":6},"end":{"line":83,"column":7}},"28":{"start":{"line":74,"column":26},"end":{"line":74,"column":105}},"29":{"start":{"line":76,"column":8},"end":{"line":78,"column":9}},"30":{"start":{"line":77,"column":10},"end":{"line":77,"column":42}},"31":{"start":{"line":82,"column":8},"end":{"line":82,"column":84}},"32":{"start":{"line":84,"column":6},"end":{"line":84,"column":17}},"33":{"start":{"line":86,"column":4},"end":{"line":86,"column":15}},"34":{"start":{"line":88,"column":2},"end":{"line":88,"column":12}},"35":{"start":{"line":94,"column":19},"end":{"line":97,"column":3}},"36":{"start":{"line":98,"column":23},"end":{"line":98,"column":62}},"37":{"start":{"line":100,"column":2},"end":{"line":105,"column":5}},"38":{"start":{"line":101,"column":4},"end":{"line":104,"column":6}},"39":{"start":{"line":107,"column":2},"end":{"line":107,"column":34}}},"fnMap":{"0":{"name":"transformName","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":29}},"loc":{"start":{"line":11,"column":56},"end":{"line":53,"column":1}},"line":11},"1":{"name":"appendTypeToToken","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":33}},"loc":{"start":{"line":55,"column":106},"end":{"line":61,"column":1}},"line":55},"2":{"name":"createTokensObject","decl":{"start":{"line":64,"column":16},"end":{"line":64,"column":34}},"loc":{"start":{"line":64,"column":117},"end":{"line":89,"column":1}},"line":64},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":56},"end":{"line":66,"column":57}},"loc":{"start":{"line":66,"column":70},"end":{"line":85,"column":5}},"line":66},"4":{"name":"mappedTokens","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":28}},"loc":{"start":{"line":93,"column":73},"end":{"line":108,"column":1}},"line":93},"5":{"name":"(anonymous_5)","decl":{"start":{"line":100,"column":39},"end":{"line":100,"column":40}},"loc":{"start":{"line":100,"column":57},"end":{"line":105,"column":3}},"line":100}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":52,"column":3}},"type":"switch","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":17}},{"start":{"line":14,"column":4},"end":{"line":15,"column":30}},{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},{"start":{"line":17,"column":4},"end":{"line":18,"column":32}},{"start":{"line":19,"column":4},"end":{"line":19,"column":16}},{"start":{"line":20,"column":4},"end":{"line":21,"column":31}},{"start":{"line":22,"column":4},"end":{"line":23,"column":35}},{"start":{"line":24,"column":4},"end":{"line":25,"column":38}},{"start":{"line":26,"column":4},"end":{"line":27,"column":37}},{"start":{"line":28,"column":4},"end":{"line":29,"column":32}},{"start":{"line":30,"column":4},"end":{"line":31,"column":38}},{"start":{"line":32,"column":4},"end":{"line":33,"column":37}},{"start":{"line":34,"column":4},"end":{"line":35,"column":35}},{"start":{"line":36,"column":4},"end":{"line":37,"column":37}},{"start":{"line":38,"column":4},"end":{"line":39,"column":35}},{"start":{"line":40,"column":4},"end":{"line":41,"column":39}},{"start":{"line":42,"column":4},"end":{"line":43,"column":42}},{"start":{"line":44,"column":4},"end":{"line":45,"column":36}},{"start":{"line":46,"column":4},"end":{"line":47,"column":31}},{"start":{"line":48,"column":4},"end":{"line":49,"column":30}},{"start":{"line":50,"column":4},"end":{"line":51,"column":30}}],"line":12},"1":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":105}},"type":"cond-expr","locations":[{"start":{"line":56,"column":33},"end":{"line":56,"column":43}},{"start":{"line":56,"column":46},"end":{"line":56,"column":105}}],"line":56},"2":{"loc":{"start":{"line":64,"column":99},"end":{"line":64,"column":115}},"type":"default-arg","locations":[{"start":{"line":64,"column":113},"end":{"line":64,"column":115}}],"line":64},"3":{"loc":{"start":{"line":65,"column":2},"end":{"line":87,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":87,"column":3}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":73,"column":6},"end":{"line":83,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":83,"column":7}},{"start":{},"end":{}}],"line":73},"5":{"loc":{"start":{"line":73,"column":10},"end":{"line":73,"column":44}},"type":"binary-expr","locations":[{"start":{"line":73,"column":10},"end":{"line":73,"column":28}},{"start":{"line":73,"column":32},"end":{"line":73,"column":44}}],"line":73},"6":{"loc":{"start":{"line":74,"column":26},"end":{"line":74,"column":105}},"type":"cond-expr","locations":[{"start":{"line":74,"column":37},"end":{"line":74,"column":45}},{"start":{"line":74,"column":48},"end":{"line":74,"column":105}}],"line":74},"7":{"loc":{"start":{"line":76,"column":8},"end":{"line":78,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":78,"column":9}},{"start":{},"end":{}}],"line":76},"8":{"loc":{"start":{"line":102,"column":10},"end":{"line":102,"column":43}},"type":"binary-expr","locations":[{"start":{"line":102,"column":10},"end":{"line":102,"column":37}},{"start":{"line":102,"column":41},"end":{"line":102,"column":43}}],"line":102}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/custom.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/custom.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/globalStyles.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/globalStyles.tsx","statementMap":{"0":{"start":{"line":3,"column":28},"end":{"line":108,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/use-raised-shadow.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/use-raised-shadow.ts","statementMap":{"0":{"start":{"line":4,"column":23},"end":{"line":4,"column":52}},"1":{"start":{"line":7,"column":20},"end":{"line":7,"column":50}},"2":{"start":{"line":9,"column":2},"end":{"line":25,"column":25}},"3":{"start":{"line":10,"column":19},"end":{"line":10,"column":24}},"4":{"start":{"line":11,"column":4},"end":{"line":24,"column":7}},"5":{"start":{"line":12,"column":24},"end":{"line":12,"column":32}},"6":{"start":{"line":13,"column":6},"end":{"line":23,"column":7}},"7":{"start":{"line":14,"column":8},"end":{"line":14,"column":24}},"8":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":16,"column":10},"end":{"line":16,"column":61}},"10":{"start":{"line":19,"column":8},"end":{"line":19,"column":25}},"11":{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},"12":{"start":{"line":21,"column":10},"end":{"line":21,"column":45}},"13":{"start":{"line":27,"column":2},"end":{"line":27,"column":19}}},"fnMap":{"0":{"name":"useRaisedShadow","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":31}},"loc":{"start":{"line":6,"column":60},"end":{"line":28,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":12},"end":{"line":9,"column":13}},"loc":{"start":{"line":9,"column":18},"end":{"line":25,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":19},"end":{"line":11,"column":20}},"loc":{"start":{"line":11,"column":31},"end":{"line":24,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":23,"column":7}},{"start":{"line":18,"column":13},"end":{"line":23,"column":7}}],"line":13},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},{"start":{},"end":{}}],"line":15},"2":{"loc":{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/useMinimizeWindow.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/useMinimizeWindow.tsx","statementMap":{"0":{"start":{"line":7,"column":26},"end":{"line":30,"column":1}},"1":{"start":{"line":8,"column":19},"end":{"line":8,"column":42}},"2":{"start":{"line":9,"column":21},"end":{"line":9,"column":52}},"3":{"start":{"line":10,"column":52},"end":{"line":10,"column":73}},"4":{"start":{"line":12,"column":23},"end":{"line":20,"column":28}},"5":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"6":{"start":{"line":14,"column":6},"end":{"line":18,"column":9}},"7":{"start":{"line":22,"column":2},"end":{"line":24,"column":19}},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":65}},"9":{"start":{"line":23,"column":20},"end":{"line":23,"column":65}},"10":{"start":{"line":26,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":26},"end":{"line":7,"column":27}},"loc":{"start":{"line":7,"column":32},"end":{"line":30,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":41},"end":{"line":12,"column":42}},"loc":{"start":{"line":12,"column":47},"end":{"line":20,"column":3}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":18},"end":{"line":22,"column":19}},"loc":{"start":{"line":22,"column":24},"end":{"line":24,"column":3}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":65}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":65}},{"start":{},"end":{}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/Accordion.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/Accordion.tsx","statementMap":{"0":{"start":{"line":23,"column":24},"end":{"line":23,"column":42}},"1":{"start":{"line":24,"column":30},"end":{"line":24,"column":64}},"2":{"start":{"line":26,"column":23},"end":{"line":28,"column":14}},"3":{"start":{"line":27,"column":4},"end":{"line":27,"column":23}},"4":{"start":{"line":30,"column":2},"end":{"line":83,"column":4}}},"fnMap":{"0":{"name":"Accordion","decl":{"start":{"line":20,"column":16},"end":{"line":20,"column":25}},"loc":{"start":{"line":22,"column":10},"end":{"line":84,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":35},"end":{"line":26,"column":36}},"loc":{"start":{"line":26,"column":41},"end":{"line":28,"column":3}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":39},"end":{"line":24,"column":63}},"type":"binary-expr","locations":[{"start":{"line":24,"column":39},"end":{"line":24,"column":54}},{"start":{"line":24,"column":58},"end":{"line":24,"column":63}}],"line":24},"1":{"loc":{"start":{"line":41,"column":16},"end":{"line":41,"column":67}},"type":"cond-expr","locations":[{"start":{"line":41,"column":25},"end":{"line":41,"column":44}},{"start":{"line":41,"column":47},"end":{"line":41,"column":67}}],"line":41},"2":{"loc":{"start":{"line":60,"column":9},"end":{"line":80,"column":9}},"type":"binary-expr","locations":[{"start":{"line":60,"column":9},"end":{"line":60,"column":15}},{"start":{"line":61,"column":10},"end":{"line":79,"column":23}}],"line":60},"3":{"loc":{"start":{"line":69,"column":24},"end":{"line":71,"column":25}},"type":"cond-expr","locations":[{"start":{"line":69,"column":40},"end":{"line":71,"column":13}},{"start":{"line":71,"column":16},"end":{"line":71,"column":25}}],"line":69},"4":{"loc":{"start":{"line":76,"column":53},"end":{"line":76,"column":72}},"type":"binary-expr","locations":[{"start":{"line":76,"column":53},"end":{"line":76,"column":59}},{"start":{"line":76,"column":63},"end":{"line":76,"column":72}}],"line":76}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/StyledContainer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/StyledContainer.tsx","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":8,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Accordion/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/AddLicenseKey.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/AddLicenseKey.tsx","statementMap":{"0":{"start":{"line":26,"column":19},"end":{"line":26,"column":42}},"1":{"start":{"line":27,"column":22},"end":{"line":27,"column":53}},"2":{"start":{"line":28,"column":25},"end":{"line":28,"column":60}},"3":{"start":{"line":29,"column":26},"end":{"line":29,"column":62}},"4":{"start":{"line":30,"column":34},"end":{"line":30,"column":55}},"5":{"start":{"line":31,"column":22},"end":{"line":31,"column":34}},"6":{"start":{"line":32,"column":17},"end":{"line":32,"column":44}},"7":{"start":{"line":33,"column":19},"end":{"line":33,"column":32}},"8":{"start":{"line":34,"column":16},"end":{"line":34,"column":43}},"9":{"start":{"line":35,"column":34},"end":{"line":35,"column":48}},"10":{"start":{"line":37,"column":21},"end":{"line":39,"column":8}},"11":{"start":{"line":38,"column":4},"end":{"line":38,"column":33}},"12":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"13":{"start":{"line":41,"column":17},"end":{"line":51,"column":32}},"14":{"start":{"line":42,"column":4},"end":{"line":50,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":49,"column":8}},"16":{"start":{"line":53,"column":33},"end":{"line":59,"column":24}},"17":{"start":{"line":54,"column":4},"end":{"line":58,"column":5}},"18":{"start":{"line":55,"column":6},"end":{"line":57,"column":9}},"19":{"start":{"line":61,"column":20},"end":{"line":75,"column":69}},"20":{"start":{"line":62,"column":4},"end":{"line":74,"column":5}},"21":{"start":{"line":63,"column":6},"end":{"line":63,"column":53}},"22":{"start":{"line":65,"column":27},"end":{"line":69,"column":8}},"23":{"start":{"line":70,"column":6},"end":{"line":73,"column":7}},"24":{"start":{"line":71,"column":8},"end":{"line":71,"column":55}},"25":{"start":{"line":72,"column":8},"end":{"line":72,"column":33}},"26":{"start":{"line":77,"column":33},"end":{"line":80,"column":4}},"27":{"start":{"line":82,"column":2},"end":{"line":84,"column":20}},"28":{"start":{"line":83,"column":4},"end":{"line":83,"column":31}},"29":{"start":{"line":86,"column":2},"end":{"line":92,"column":54}},"30":{"start":{"line":87,"column":4},"end":{"line":91,"column":5}},"31":{"start":{"line":88,"column":6},"end":{"line":90,"column":8}},"32":{"start":{"line":94,"column":29},"end":{"line":96,"column":8}},"33":{"start":{"line":95,"column":4},"end":{"line":95,"column":42}},"34":{"start":{"line":98,"column":30},"end":{"line":102,"column":3}},"35":{"start":{"line":104,"column":33},"end":{"line":104,"column":108}},"36":{"start":{"line":106,"column":2},"end":{"line":155,"column":4}}},"fnMap":{"0":{"name":"AddLicenseKey","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":37}},"loc":{"start":{"line":25,"column":40},"end":{"line":156,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":33},"end":{"line":37,"column":34}},"loc":{"start":{"line":37,"column":39},"end":{"line":39,"column":3}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},"loc":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":29},"end":{"line":41,"column":30}},"loc":{"start":{"line":41,"column":41},"end":{"line":51,"column":3}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":45},"end":{"line":53,"column":46}},"loc":{"start":{"line":53,"column":51},"end":{"line":59,"column":3}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":32},"end":{"line":61,"column":33}},"loc":{"start":{"line":61,"column":44},"end":{"line":75,"column":3}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":82,"column":12},"end":{"line":82,"column":13}},"loc":{"start":{"line":82,"column":18},"end":{"line":84,"column":3}},"line":82},"7":{"name":"(anonymous_7)","decl":{"start":{"line":86,"column":12},"end":{"line":86,"column":13}},"loc":{"start":{"line":86,"column":18},"end":{"line":92,"column":3}},"line":86},"8":{"name":"(anonymous_8)","decl":{"start":{"line":94,"column":41},"end":{"line":94,"column":42}},"loc":{"start":{"line":94,"column":86},"end":{"line":96,"column":3}},"line":94}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":50,"column":5}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":54,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":54},"2":{"loc":{"start":{"line":62,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":74,"column":5}},{"start":{"line":64,"column":11},"end":{"line":74,"column":5}}],"line":62},"3":{"loc":{"start":{"line":70,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":70,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":70},"4":{"loc":{"start":{"line":87,"column":4},"end":{"line":91,"column":5}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":91,"column":5}},{"start":{},"end":{}}],"line":87},"5":{"loc":{"start":{"line":87,"column":8},"end":{"line":87,"column":47}},"type":"binary-expr","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":14}},{"start":{"line":87,"column":18},"end":{"line":87,"column":29}},{"start":{"line":87,"column":33},"end":{"line":87,"column":47}}],"line":87},"6":{"loc":{"start":{"line":98,"column":30},"end":{"line":102,"column":3}},"type":"binary-expr","locations":[{"start":{"line":98,"column":30},"end":{"line":98,"column":42}},{"start":{"line":99,"column":4},"end":{"line":101,"column":13}}],"line":98},"7":{"loc":{"start":{"line":104,"column":33},"end":{"line":104,"column":108}},"type":"binary-expr","locations":[{"start":{"line":104,"column":33},"end":{"line":104,"column":44}},{"start":{"line":104,"column":48},"end":{"line":104,"column":108}}],"line":104},"8":{"loc":{"start":{"line":112,"column":11},"end":{"line":116,"column":11}},"type":"binary-expr","locations":[{"start":{"line":112,"column":11},"end":{"line":112,"column":22}},{"start":{"line":112,"column":26},"end":{"line":112,"column":42}},{"start":{"line":113,"column":12},"end":{"line":115,"column":37}}],"line":112},"9":{"loc":{"start":{"line":130,"column":18},"end":{"line":130,"column":48}},"type":"cond-expr","locations":[{"start":{"line":130,"column":29},"end":{"line":130,"column":39}},{"start":{"line":130,"column":42},"end":{"line":130,"column":48}}],"line":130},"10":{"loc":{"start":{"line":136,"column":22},"end":{"line":136,"column":68}},"type":"cond-expr","locations":[{"start":{"line":136,"column":33},"end":{"line":136,"column":50}},{"start":{"line":136,"column":53},"end":{"line":136,"column":68}}],"line":136},"11":{"loc":{"start":{"line":141,"column":19},"end":{"line":141,"column":31}},"type":"binary-expr","locations":[{"start":{"line":141,"column":19},"end":{"line":141,"column":25}},{"start":{"line":141,"column":29},"end":{"line":141,"column":31}}],"line":141},"12":{"loc":{"start":{"line":143,"column":30},"end":{"line":143,"column":67}},"type":"cond-expr","locations":[{"start":{"line":143,"column":48},"end":{"line":143,"column":55}},{"start":{"line":143,"column":58},"end":{"line":143,"column":67}}],"line":143},"13":{"loc":{"start":{"line":145,"column":11},"end":{"line":149,"column":11}},"type":"binary-expr","locations":[{"start":{"line":145,"column":11},"end":{"line":145,"column":26}},{"start":{"line":146,"column":12},"end":{"line":148,"column":18}}],"line":145}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AddLicenseKey/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/AppContainer.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/AppContainer.tsx","statementMap":{"0":{"start":{"line":34,"column":34},"end":{"line":40,"column":1}},"1":{"start":{"line":42,"column":28},"end":{"line":114,"column":2}},"2":{"start":{"line":43,"column":26},"end":{"line":43,"column":41}},"3":{"start":{"line":44,"column":19},"end":{"line":44,"column":42}},"4":{"start":{"line":45,"column":25},"end":{"line":45,"column":50}},"5":{"start":{"line":47,"column":52},"end":{"line":47,"column":66}},"6":{"start":{"line":49,"column":36},"end":{"line":57,"column":32}},"7":{"start":{"line":50,"column":4},"end":{"line":50,"column":40}},"8":{"start":{"line":51,"column":4},"end":{"line":51,"column":46}},"9":{"start":{"line":52,"column":4},"end":{"line":54,"column":7}},"10":{"start":{"line":56,"column":4},"end":{"line":56,"column":32}},"11":{"start":{"line":59,"column":31},"end":{"line":73,"column":22}},"12":{"start":{"line":60,"column":4},"end":{"line":72,"column":5}},"13":{"start":{"line":65,"column":6},"end":{"line":69,"column":7}},"14":{"start":{"line":66,"column":8},"end":{"line":66,"column":37}},"15":{"start":{"line":67,"column":13},"end":{"line":69,"column":7}},"16":{"start":{"line":68,"column":8},"end":{"line":68,"column":36}},"17":{"start":{"line":70,"column":11},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":34}},"19":{"start":{"line":75,"column":2},"end":{"line":77,"column":29}},"20":{"start":{"line":76,"column":4},"end":{"line":76,"column":27}},"21":{"start":{"line":79,"column":2},"end":{"line":85,"column":20}},"22":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"23":{"start":{"line":81,"column":6},"end":{"line":81,"column":46}},"24":{"start":{"line":83,"column":6},"end":{"line":83,"column":47}},"25":{"start":{"line":87,"column":2},"end":{"line":87,"column":17}},"26":{"start":{"line":90,"column":4},"end":{"line":110,"column":10}},"27":{"start":{"line":113,"column":2},"end":{"line":113,"column":92}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":42,"column":50},"end":{"line":42,"column":51}},"loc":{"start":{"line":42,"column":69},"end":{"line":114,"column":1}},"line":42},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":48},"end":{"line":49,"column":49}},"loc":{"start":{"line":49,"column":54},"end":{"line":57,"column":3}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":43},"end":{"line":59,"column":44}},"loc":{"start":{"line":59,"column":55},"end":{"line":73,"column":3}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":75,"column":12},"end":{"line":75,"column":13}},"loc":{"start":{"line":75,"column":18},"end":{"line":77,"column":3}},"line":75},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":12},"end":{"line":79,"column":13}},"loc":{"start":{"line":79,"column":18},"end":{"line":85,"column":3}},"line":79}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":11},"end":{"line":72,"column":5}}],"line":60},"1":{"loc":{"start":{"line":61,"column":6},"end":{"line":63,"column":68}},"type":"binary-expr","locations":[{"start":{"line":61,"column":6},"end":{"line":61,"column":32}},{"start":{"line":62,"column":9},"end":{"line":62,"column":66}},{"start":{"line":63,"column":9},"end":{"line":63,"column":68}}],"line":61},"2":{"loc":{"start":{"line":65,"column":6},"end":{"line":69,"column":7}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":69,"column":7}},{"start":{"line":67,"column":13},"end":{"line":69,"column":7}}],"line":65},"3":{"loc":{"start":{"line":67,"column":13},"end":{"line":69,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":13},"end":{"line":69,"column":7}},{"start":{},"end":{}}],"line":67},"4":{"loc":{"start":{"line":70,"column":11},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":11},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":70},"5":{"loc":{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":84,"column":5}},{"start":{"line":82,"column":11},"end":{"line":84,"column":5}}],"line":80},"6":{"loc":{"start":{"line":93,"column":15},"end":{"line":93,"column":109}},"type":"cond-expr","locations":[{"start":{"line":93,"column":44},"end":{"line":93,"column":97}},{"start":{"line":93,"column":100},"end":{"line":93,"column":109}}],"line":93},"7":{"loc":{"start":{"line":103,"column":8},"end":{"line":103,"column":44}},"type":"binary-expr","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":26}},{"start":{"line":103,"column":30},"end":{"line":103,"column":44}}],"line":103}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/ApplicationInitSteps.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/ApplicationInitSteps.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/useStartupProcess.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/useStartupProcess.ts","statementMap":{"0":{"start":{"line":21,"column":24},"end":{"line":23,"column":2}},"1":{"start":{"line":22,"column":2},"end":{"line":22,"column":36}},"2":{"start":{"line":26,"column":19},"end":{"line":26,"column":32}},"3":{"start":{"line":27,"column":16},"end":{"line":27,"column":37}},"4":{"start":{"line":28,"column":19},"end":{"line":28,"column":42}},"5":{"start":{"line":29,"column":27},"end":{"line":29,"column":39}},"6":{"start":{"line":30,"column":27},"end":{"line":30,"column":39}},"7":{"start":{"line":31,"column":32},"end":{"line":31,"column":49}},"8":{"start":{"line":32,"column":16},"end":{"line":32,"column":26}},"9":{"start":{"line":34,"column":25},"end":{"line":57,"column":30}},"10":{"start":{"line":34,"column":73},"end":{"line":57,"column":3}},"11":{"start":{"line":59,"column":2},"end":{"line":63,"column":17}},"12":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"13":{"start":{"line":61,"column":6},"end":{"line":61,"column":40}},"14":{"start":{"line":65,"column":2},"end":{"line":65,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":46},"end":{"line":21,"column":47}},"loc":{"start":{"line":21,"column":59},"end":{"line":23,"column":1}},"line":21},"1":{"name":"useStartupProcess","decl":{"start":{"line":25,"column":16},"end":{"line":25,"column":33}},"loc":{"start":{"line":25,"column":58},"end":{"line":66,"column":1}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":66},"end":{"line":34,"column":67}},"loc":{"start":{"line":34,"column":73},"end":{"line":57,"column":3}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":12},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":18},"end":{"line":63,"column":3}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},{"start":{},"end":{}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":32,"column":4}},"1":{"start":{"line":10,"column":21},"end":{"line":10,"column":27}},"2":{"start":{"line":11,"column":25},"end":{"line":11,"column":31}},"3":{"start":{"line":12,"column":28},"end":{"line":12,"column":34}},"4":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"5":{"start":{"line":15,"column":21},"end":{"line":15,"column":55}},"6":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"7":{"start":{"line":17,"column":8},"end":{"line":17,"column":32}},"8":{"start":{"line":21,"column":4},"end":{"line":31,"column":5}},"9":{"start":{"line":22,"column":6},"end":{"line":28,"column":9}},"10":{"start":{"line":30,"column":6},"end":{"line":30,"column":68}}},"fnMap":{"0":{"name":"addLicenseFactory","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":33}},"loc":{"start":{"line":8,"column":78},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":21},"end":{"line":32,"column":3}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":111}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":28}},{"start":{"line":14,"column":32},"end":{"line":14,"column":56}},{"start":{"line":14,"column":62},"end":{"line":14,"column":73}},{"start":{"line":14,"column":77},"end":{"line":14,"column":110}}],"line":14},"2":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":39}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":25}},{"start":{"line":16,"column":29},"end":{"line":16,"column":39}}],"line":16},"4":{"loc":{"start":{"line":21,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":31,"column":5}},{"start":{"line":29,"column":11},"end":{"line":31,"column":5}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":39,"column":4}},"1":{"start":{"line":15,"column":21},"end":{"line":15,"column":27}},"2":{"start":{"line":16,"column":18},"end":{"line":16,"column":34}},"3":{"start":{"line":17,"column":17},"end":{"line":17,"column":36}},"4":{"start":{"line":18,"column":25},"end":{"line":18,"column":52}},"5":{"start":{"line":19,"column":23},"end":{"line":19,"column":48}},"6":{"start":{"line":20,"column":24},"end":{"line":20,"column":50}},"7":{"start":{"line":22,"column":4},"end":{"line":38,"column":5}},"8":{"start":{"line":23,"column":6},"end":{"line":23,"column":51}},"9":{"start":{"line":24,"column":6},"end":{"line":35,"column":7}},"10":{"start":{"line":25,"column":8},"end":{"line":30,"column":11}},"11":{"start":{"line":32,"column":8},"end":{"line":32,"column":27}},"12":{"start":{"line":33,"column":8},"end":{"line":33,"column":37}},"13":{"start":{"line":34,"column":8},"end":{"line":34,"column":38}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":36}}},"fnMap":{"0":{"name":"getLdFlagsFactory","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":33}},"loc":{"start":{"line":13,"column":119},"end":{"line":40,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":10}},"loc":{"start":{"line":14,"column":21},"end":{"line":39,"column":3}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":38,"column":5}},{"start":{"line":36,"column":11},"end":{"line":38,"column":5}}],"line":22},"1":{"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":34}},"type":"binary-expr","locations":[{"start":{"line":22,"column":8},"end":{"line":22,"column":20}},{"start":{"line":22,"column":24},"end":{"line":22,"column":34}}],"line":22},"2":{"loc":{"start":{"line":23,"column":26},"end":{"line":23,"column":47}},"type":"cond-expr","locations":[{"start":{"line":23,"column":33},"end":{"line":23,"column":38}},{"start":{"line":23,"column":41},"end":{"line":23,"column":47}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts","statementMap":{"0":{"start":{"line":27,"column":22},"end":{"line":27,"column":134}},"1":{"start":{"line":29,"column":39},"end":{"line":35,"column":3}},"2":{"start":{"line":30,"column":38},"end":{"line":33,"column":6}},"3":{"start":{"line":34,"column":4},"end":{"line":34,"column":37}},"4":{"start":{"line":37,"column":28},"end":{"line":117,"column":3}},"5":{"start":{"line":38,"column":18},"end":{"line":38,"column":34}},"6":{"start":{"line":39,"column":24},"end":{"line":39,"column":50}},"7":{"start":{"line":41,"column":4},"end":{"line":116,"column":5}},"8":{"start":{"line":42,"column":26},"end":{"line":44,"column":8}},"9":{"start":{"line":43,"column":8},"end":{"line":43,"column":48}},"10":{"start":{"line":46,"column":6},"end":{"line":109,"column":7}},"11":{"start":{"line":48,"column":8},"end":{"line":105,"column":9}},"12":{"start":{"line":49,"column":30},"end":{"line":49,"column":128}},"13":{"start":{"line":50,"column":10},"end":{"line":50,"column":88}},"14":{"start":{"line":51,"column":10},"end":{"line":53,"column":11}},"15":{"start":{"line":52,"column":12},"end":{"line":52,"column":75}},"16":{"start":{"line":55,"column":10},"end":{"line":63,"column":11}},"17":{"start":{"line":61,"column":29},"end":{"line":61,"column":83}},"18":{"start":{"line":62,"column":12},"end":{"line":62,"column":69}},"19":{"start":{"line":62,"column":26},"end":{"line":62,"column":69}},"20":{"start":{"line":65,"column":10},"end":{"line":65,"column":51}},"21":{"start":{"line":66,"column":10},"end":{"line":66,"column":57}},"22":{"start":{"line":68,"column":10},"end":{"line":68,"column":112}},"23":{"start":{"line":69,"column":10},"end":{"line":69,"column":101}},"24":{"start":{"line":71,"column":29},"end":{"line":78,"column":12}},"25":{"start":{"line":80,"column":10},"end":{"line":98,"column":11}},"26":{"start":{"line":82,"column":12},"end":{"line":86,"column":13}},"27":{"start":{"line":83,"column":14},"end":{"line":83,"column":88}},"28":{"start":{"line":84,"column":14},"end":{"line":84,"column":56}},"29":{"start":{"line":85,"column":14},"end":{"line":85,"column":21}},"30":{"start":{"line":88,"column":12},"end":{"line":95,"column":13}},"31":{"start":{"line":90,"column":14},"end":{"line":90,"column":67}},"32":{"start":{"line":91,"column":14},"end":{"line":91,"column":56}},"33":{"start":{"line":94,"column":14},"end":{"line":94,"column":57}},"34":{"start":{"line":97,"column":12},"end":{"line":97,"column":55}},"35":{"start":{"line":100,"column":10},"end":{"line":100,"column":29}},"36":{"start":{"line":101,"column":10},"end":{"line":101,"column":39}},"37":{"start":{"line":102,"column":10},"end":{"line":102,"column":52}},"38":{"start":{"line":103,"column":10},"end":{"line":103,"column":69}},"39":{"start":{"line":104,"column":10},"end":{"line":104,"column":88}},"40":{"start":{"line":108,"column":8},"end":{"line":108,"column":50}},"41":{"start":{"line":110,"column":11},"end":{"line":116,"column":5}},"42":{"start":{"line":111,"column":6},"end":{"line":111,"column":115}},"43":{"start":{"line":111,"column":45},"end":{"line":111,"column":115}},"44":{"start":{"line":112,"column":6},"end":{"line":112,"column":82}},"45":{"start":{"line":113,"column":26},"end":{"line":113,"column":70}},"46":{"start":{"line":114,"column":6},"end":{"line":115,"column":53}},"47":{"start":{"line":114,"column":23},"end":{"line":114,"column":66}},"48":{"start":{"line":115,"column":11},"end":{"line":115,"column":53}},"49":{"start":{"line":119,"column":2},"end":{"line":170,"column":4}},"50":{"start":{"line":120,"column":18},"end":{"line":120,"column":34}},"51":{"start":{"line":121,"column":24},"end":{"line":121,"column":50}},"52":{"start":{"line":122,"column":28},"end":{"line":132,"column":36}},"53":{"start":{"line":134,"column":25},"end":{"line":135,"column":112}},"54":{"start":{"line":135,"column":95},"end":{"line":135,"column":111}},"55":{"start":{"line":138,"column":4},"end":{"line":169,"column":5}},"56":{"start":{"line":140,"column":6},"end":{"line":140,"column":53}},"57":{"start":{"line":141,"column":11},"end":{"line":169,"column":5}},"58":{"start":{"line":142,"column":30},"end":{"line":142,"column":76}},"59":{"start":{"line":144,"column":6},"end":{"line":165,"column":7}},"60":{"start":{"line":152,"column":8},"end":{"line":152,"column":55}},"61":{"start":{"line":154,"column":8},"end":{"line":154,"column":117}},"62":{"start":{"line":154,"column":47},"end":{"line":154,"column":117}},"63":{"start":{"line":156,"column":8},"end":{"line":156,"column":84}},"64":{"start":{"line":158,"column":8},"end":{"line":164,"column":9}},"65":{"start":{"line":160,"column":10},"end":{"line":160,"column":58}},"66":{"start":{"line":163,"column":10},"end":{"line":163,"column":52}},"67":{"start":{"line":168,"column":6},"end":{"line":168,"column":48}}},"fnMap":{"0":{"name":"pullTokensFactory","decl":{"start":{"line":19,"column":16},"end":{"line":19,"column":33}},"loc":{"start":{"line":26,"column":2},"end":{"line":171,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":39},"end":{"line":29,"column":40}},"loc":{"start":{"line":29,"column":51},"end":{"line":35,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":28},"end":{"line":37,"column":29}},"loc":{"start":{"line":37,"column":85},"end":{"line":117,"column":3}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":57},"end":{"line":42,"column":58}},"loc":{"start":{"line":43,"column":8},"end":{"line":43,"column":48}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":119,"column":9},"end":{"line":119,"column":10}},"loc":{"start":{"line":119,"column":21},"end":{"line":170,"column":3}},"line":119},"5":{"name":"(anonymous_5)","decl":{"start":{"line":135,"column":84},"end":{"line":135,"column":85}},"loc":{"start":{"line":135,"column":95},"end":{"line":135,"column":111}},"line":135}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":22},"end":{"line":27,"column":134}},"type":"cond-expr","locations":[{"start":{"line":27,"column":63},"end":{"line":27,"column":113}},{"start":{"line":27,"column":116},"end":{"line":27,"column":134}}],"line":27},"1":{"loc":{"start":{"line":41,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":116,"column":5}},{"start":{"line":110,"column":11},"end":{"line":116,"column":5}}],"line":41},"2":{"loc":{"start":{"line":46,"column":6},"end":{"line":109,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":109,"column":7}},{"start":{"line":106,"column":13},"end":{"line":109,"column":7}}],"line":46},"3":{"loc":{"start":{"line":49,"column":30},"end":{"line":49,"column":128}},"type":"binary-expr","locations":[{"start":{"line":49,"column":30},"end":{"line":49,"column":56}},{"start":{"line":49,"column":60},"end":{"line":49,"column":85}},{"start":{"line":49,"column":89},"end":{"line":49,"column":128}}],"line":49},"4":{"loc":{"start":{"line":51,"column":10},"end":{"line":53,"column":11}},"type":"if","locations":[{"start":{"line":51,"column":10},"end":{"line":53,"column":11}},{"start":{},"end":{}}],"line":51},"5":{"loc":{"start":{"line":55,"column":10},"end":{"line":63,"column":11}},"type":"if","locations":[{"start":{"line":55,"column":10},"end":{"line":63,"column":11}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":56,"column":12},"end":{"line":59,"column":69}},"type":"binary-expr","locations":[{"start":{"line":56,"column":12},"end":{"line":56,"column":63}},{"start":{"line":57,"column":15},"end":{"line":57,"column":66}},{"start":{"line":58,"column":15},"end":{"line":58,"column":63}},{"start":{"line":59,"column":15},"end":{"line":59,"column":69}}],"line":56},"7":{"loc":{"start":{"line":62,"column":12},"end":{"line":62,"column":69}},"type":"if","locations":[{"start":{"line":62,"column":12},"end":{"line":62,"column":69}},{"start":{},"end":{}}],"line":62},"8":{"loc":{"start":{"line":68,"column":63},"end":{"line":68,"column":82}},"type":"binary-expr","locations":[{"start":{"line":68,"column":63},"end":{"line":68,"column":74}},{"start":{"line":68,"column":78},"end":{"line":68,"column":82}}],"line":68},"9":{"loc":{"start":{"line":69,"column":52},"end":{"line":69,"column":99}},"type":"binary-expr","locations":[{"start":{"line":69,"column":52},"end":{"line":69,"column":93}},{"start":{"line":69,"column":97},"end":{"line":69,"column":99}}],"line":69},"10":{"loc":{"start":{"line":80,"column":10},"end":{"line":98,"column":11}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":98,"column":11}},{"start":{"line":96,"column":17},"end":{"line":98,"column":11}}],"line":80},"11":{"loc":{"start":{"line":82,"column":12},"end":{"line":86,"column":13}},"type":"if","locations":[{"start":{"line":82,"column":12},"end":{"line":86,"column":13}},{"start":{},"end":{}}],"line":82},"12":{"loc":{"start":{"line":88,"column":12},"end":{"line":95,"column":13}},"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":95,"column":13}},{"start":{"line":92,"column":19},"end":{"line":95,"column":13}}],"line":88},"13":{"loc":{"start":{"line":110,"column":11},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":11},"end":{"line":116,"column":5}},{"start":{},"end":{}}],"line":110},"14":{"loc":{"start":{"line":111,"column":6},"end":{"line":111,"column":115}},"type":"if","locations":[{"start":{"line":111,"column":6},"end":{"line":111,"column":115}},{"start":{},"end":{}}],"line":111},"15":{"loc":{"start":{"line":114,"column":6},"end":{"line":115,"column":53}},"type":"if","locations":[{"start":{"line":114,"column":6},"end":{"line":115,"column":53}},{"start":{"line":115,"column":11},"end":{"line":115,"column":53}}],"line":114},"16":{"loc":{"start":{"line":134,"column":25},"end":{"line":135,"column":112}},"type":"binary-expr","locations":[{"start":{"line":134,"column":25},"end":{"line":134,"column":46}},{"start":{"line":135,"column":28},"end":{"line":135,"column":112}}],"line":134},"17":{"loc":{"start":{"line":135,"column":42},"end":{"line":135,"column":77}},"type":"binary-expr","locations":[{"start":{"line":135,"column":42},"end":{"line":135,"column":71}},{"start":{"line":135,"column":75},"end":{"line":135,"column":77}}],"line":135},"18":{"loc":{"start":{"line":138,"column":4},"end":{"line":169,"column":5}},"type":"if","locations":[{"start":{"line":138,"column":4},"end":{"line":169,"column":5}},{"start":{"line":141,"column":11},"end":{"line":169,"column":5}}],"line":138},"19":{"loc":{"start":{"line":138,"column":8},"end":{"line":138,"column":40}},"type":"binary-expr","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":23}},{"start":{"line":138,"column":27},"end":{"line":138,"column":40}}],"line":138},"20":{"loc":{"start":{"line":141,"column":11},"end":{"line":169,"column":5}},"type":"if","locations":[{"start":{"line":141,"column":11},"end":{"line":169,"column":5}},{"start":{"line":166,"column":11},"end":{"line":169,"column":5}}],"line":141},"21":{"loc":{"start":{"line":142,"column":30},"end":{"line":142,"column":76}},"type":"binary-expr","locations":[{"start":{"line":142,"column":30},"end":{"line":142,"column":67}},{"start":{"line":142,"column":71},"end":{"line":142,"column":76}}],"line":142},"22":{"loc":{"start":{"line":144,"column":6},"end":{"line":165,"column":7}},"type":"if","locations":[{"start":{"line":144,"column":6},"end":{"line":165,"column":7}},{"start":{"line":153,"column":13},"end":{"line":165,"column":7}}],"line":144},"23":{"loc":{"start":{"line":145,"column":8},"end":{"line":149,"column":9}},"type":"binary-expr","locations":[{"start":{"line":145,"column":8},"end":{"line":145,"column":24}},{"start":{"line":147,"column":10},"end":{"line":147,"column":25}},{"start":{"line":148,"column":13},"end":{"line":148,"column":28}},{"start":{"line":148,"column":33},"end":{"line":148,"column":70}}],"line":145},"24":{"loc":{"start":{"line":154,"column":8},"end":{"line":154,"column":117}},"type":"if","locations":[{"start":{"line":154,"column":8},"end":{"line":154,"column":117}},{"start":{},"end":{}}],"line":154},"25":{"loc":{"start":{"line":158,"column":8},"end":{"line":164,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":164,"column":9}},{"start":{"line":161,"column":15},"end":{"line":164,"column":9}}],"line":158}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0,0,0],"24":[0,0],"25":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":42,"column":4}},"1":{"start":{"line":8,"column":32},"end":{"line":8,"column":38}},"2":{"start":{"line":9,"column":4},"end":{"line":41,"column":5}},"3":{"start":{"line":11,"column":6},"end":{"line":17,"column":7}},"4":{"start":{"line":12,"column":8},"end":{"line":16,"column":11}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":50}},"6":{"start":{"line":21,"column":10},"end":{"line":21,"column":25}},"7":{"start":{"line":22,"column":23},"end":{"line":29,"column":7}},"8":{"start":{"line":30,"column":6},"end":{"line":30,"column":49}},"9":{"start":{"line":31,"column":6},"end":{"line":31,"column":62}},"10":{"start":{"line":32,"column":6},"end":{"line":32,"column":48}},"11":{"start":{"line":33,"column":6},"end":{"line":33,"column":56}},"12":{"start":{"line":34,"column":6},"end":{"line":34,"column":83}},"13":{"start":{"line":35,"column":6},"end":{"line":35,"column":95}},"14":{"start":{"line":36,"column":6},"end":{"line":36,"column":101}},"15":{"start":{"line":37,"column":6},"end":{"line":37,"column":89}},"16":{"start":{"line":38,"column":6},"end":{"line":38,"column":48}},"17":{"start":{"line":40,"column":6},"end":{"line":40,"column":40}}},"fnMap":{"0":{"name":"savePluginDataFactory","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":82},"end":{"line":43,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":21},"end":{"line":42,"column":3}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":41,"column":5}},{"start":{"line":39,"column":11},"end":{"line":41,"column":5}}],"line":9},"1":{"loc":{"start":{"line":11,"column":6},"end":{"line":17,"column":7}},"type":"if","locations":[{"start":{"line":11,"column":6},"end":{"line":17,"column":7}},{"start":{},"end":{}}],"line":11},"2":{"loc":{"start":{"line":31,"column":38},"end":{"line":31,"column":60}},"type":"binary-expr","locations":[{"start":{"line":31,"column":38},"end":{"line":31,"column":47}},{"start":{"line":31,"column":51},"end":{"line":31,"column":60}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":20,"column":4}},"1":{"start":{"line":11,"column":31},"end":{"line":11,"column":47}},"2":{"start":{"line":12,"column":22},"end":{"line":12,"column":52}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":53}},"4":{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},"5":{"start":{"line":16,"column":33},"end":{"line":16,"column":118}},"6":{"start":{"line":16,"column":62},"end":{"line":16,"column":117}},"7":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":73}}},"fnMap":{"0":{"name":"saveStorageInformationFactory","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":45}},"loc":{"start":{"line":9,"column":2},"end":{"line":21,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":10}},"loc":{"start":{"line":10,"column":21},"end":{"line":20,"column":3}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":48},"end":{"line":16,"column":49}},"loc":{"start":{"line":16,"column":62},"end":{"line":16,"column":117}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":22},"end":{"line":12,"column":52}},"type":"binary-expr","locations":[{"start":{"line":12,"column":22},"end":{"line":12,"column":46}},{"start":{"line":12,"column":50},"end":{"line":12,"column":52}}],"line":12},"1":{"loc":{"start":{"line":16,"column":62},"end":{"line":16,"column":117}},"type":"binary-expr","locations":[{"start":{"line":16,"column":62},"end":{"line":16,"column":98}},{"start":{"line":16,"column":102},"end":{"line":16,"column":117}}],"line":16},"2":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AuthModal/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/AuthModal/index.tsx","statementMap":{"0":{"start":{"line":21,"column":6},"end":{"line":21,"column":15}},"1":{"start":{"line":22,"column":19},"end":{"line":22,"column":42}},"2":{"start":{"line":23,"column":26},"end":{"line":23,"column":62}},"3":{"start":{"line":24,"column":30},"end":{"line":24,"column":63}},"4":{"start":{"line":25,"column":20},"end":{"line":25,"column":50}},"5":{"start":{"line":27,"column":30},"end":{"line":30,"column":4}},"6":{"start":{"line":32,"column":23},"end":{"line":41,"column":3}},"7":{"start":{"line":34,"column":30},"end":{"line":34,"column":38}},"8":{"start":{"line":35,"column":6},"end":{"line":38,"column":9}},"9":{"start":{"line":43,"column":21},"end":{"line":47,"column":26}},"10":{"start":{"line":44,"column":4},"end":{"line":44,"column":75}},"11":{"start":{"line":45,"column":4},"end":{"line":45,"column":43}},"12":{"start":{"line":46,"column":4},"end":{"line":46,"column":21}},"13":{"start":{"line":49,"column":30},"end":{"line":55,"column":35}},"14":{"start":{"line":50,"column":4},"end":{"line":54,"column":5}},"15":{"start":{"line":51,"column":6},"end":{"line":51,"column":20}},"16":{"start":{"line":53,"column":6},"end":{"line":53,"column":21}},"17":{"start":{"line":57,"column":2},"end":{"line":109,"column":4}}},"fnMap":{"0":{"name":"AuthModal","decl":{"start":{"line":18,"column":24},"end":{"line":18,"column":33}},"loc":{"start":{"line":18,"column":36},"end":{"line":110,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":42},"end":{"line":39,"column":5}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":33},"end":{"line":43,"column":34}},"loc":{"start":{"line":43,"column":39},"end":{"line":47,"column":3}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":42},"end":{"line":49,"column":43}},"loc":{"start":{"line":49,"column":48},"end":{"line":55,"column":3}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":11},"end":{"line":28,"column":26}},"type":"binary-expr","locations":[{"start":{"line":28,"column":11},"end":{"line":28,"column":20}},{"start":{"line":28,"column":24},"end":{"line":28,"column":26}}],"line":28},"1":{"loc":{"start":{"line":44,"column":12},"end":{"line":44,"column":73}},"type":"cond-expr","locations":[{"start":{"line":44,"column":39},"end":{"line":44,"column":55}},{"start":{"line":44,"column":58},"end":{"line":44,"column":73}}],"line":44},"2":{"loc":{"start":{"line":50,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":11},"end":{"line":54,"column":5}}],"line":50},"3":{"loc":{"start":{"line":59,"column":13},"end":{"line":59,"column":60}},"type":"cond-expr","locations":[{"start":{"line":59,"column":40},"end":{"line":59,"column":48}},{"start":{"line":59,"column":51},"end":{"line":59,"column":60}}],"line":59},"4":{"loc":{"start":{"line":62,"column":14},"end":{"line":62,"column":42}},"type":"binary-expr","locations":[{"start":{"line":62,"column":14},"end":{"line":62,"column":33}},{"start":{"line":62,"column":37},"end":{"line":62,"column":42}}],"line":62},"5":{"loc":{"start":{"line":74,"column":11},"end":{"line":74,"column":58}},"type":"cond-expr","locations":[{"start":{"line":74,"column":38},"end":{"line":74,"column":46}},{"start":{"line":74,"column":49},"end":{"line":74,"column":58}}],"line":74},"6":{"loc":{"start":{"line":76,"column":9},"end":{"line":89,"column":9}},"type":"binary-expr","locations":[{"start":{"line":76,"column":9},"end":{"line":76,"column":33}},{"start":{"line":77,"column":10},"end":{"line":88,"column":13}}],"line":76},"7":{"loc":{"start":{"line":90,"column":9},"end":{"line":94,"column":9}},"type":"binary-expr","locations":[{"start":{"line":90,"column":9},"end":{"line":90,"column":34}},{"start":{"line":91,"column":8},"end":{"line":93,"column":17}}],"line":90}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/ColorPicker.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/ColorPicker.tsx","statementMap":{"0":{"start":{"line":32,"column":21},"end":{"line":34,"column":2}},"1":{"start":{"line":35,"column":21},"end":{"line":37,"column":2}},"2":{"start":{"line":38,"column":64},"end":{"line":41,"column":1}},"3":{"start":{"line":43,"column":16},"end":{"line":46,"column":1}},"4":{"start":{"line":44,"column":17},"end":{"line":44,"column":32}},"5":{"start":{"line":45,"column":2},"end":{"line":45,"column":64}},"6":{"start":{"line":48,"column":23},"end":{"line":61,"column":1}},"7":{"start":{"line":49,"column":2},"end":{"line":60,"column":3}},"8":{"start":{"line":50,"column":19},"end":{"line":50,"column":49}},"9":{"start":{"line":51,"column":4},"end":{"line":56,"column":6}},"10":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"11":{"start":{"line":59,"column":4},"end":{"line":59,"column":31}},"12":{"start":{"line":63,"column":23},"end":{"line":76,"column":1}},"13":{"start":{"line":64,"column":2},"end":{"line":75,"column":3}},"14":{"start":{"line":65,"column":19},"end":{"line":65,"column":49}},"15":{"start":{"line":66,"column":4},"end":{"line":71,"column":6}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":23}},"17":{"start":{"line":74,"column":4},"end":{"line":74,"column":31}},"18":{"start":{"line":78,"column":87},"end":{"line":220,"column":1}},"19":{"start":{"line":79,"column":36},"end":{"line":79,"column":66}},"20":{"start":{"line":80,"column":44},"end":{"line":80,"column":65}},"21":{"start":{"line":81,"column":26},"end":{"line":81,"column":69}},"22":{"start":{"line":82,"column":26},"end":{"line":82,"column":69}},"23":{"start":{"line":84,"column":29},"end":{"line":98,"column":3}},"24":{"start":{"line":86,"column":18},"end":{"line":91,"column":8}},"25":{"start":{"line":92,"column":6},"end":{"line":92,"column":35}},"26":{"start":{"line":93,"column":6},"end":{"line":93,"column":35}},"27":{"start":{"line":94,"column":6},"end":{"line":94,"column":28}},"28":{"start":{"line":95,"column":6},"end":{"line":95,"column":20}},"29":{"start":{"line":100,"column":37},"end":{"line":127,"column":3}},"30":{"start":{"line":102,"column":6},"end":{"line":124,"column":7}},"31":{"start":{"line":103,"column":20},"end":{"line":108,"column":10}},"32":{"start":{"line":109,"column":8},"end":{"line":109,"column":42}},"33":{"start":{"line":110,"column":8},"end":{"line":110,"column":37}},"34":{"start":{"line":111,"column":8},"end":{"line":111,"column":30}},"35":{"start":{"line":112,"column":8},"end":{"line":112,"column":22}},"36":{"start":{"line":113,"column":13},"end":{"line":124,"column":7}},"37":{"start":{"line":114,"column":20},"end":{"line":119,"column":10}},"38":{"start":{"line":120,"column":8},"end":{"line":120,"column":42}},"39":{"start":{"line":121,"column":8},"end":{"line":121,"column":37}},"40":{"start":{"line":122,"column":8},"end":{"line":122,"column":30}},"41":{"start":{"line":123,"column":8},"end":{"line":123,"column":22}},"42":{"start":{"line":129,"column":26},"end":{"line":132,"column":3}},"43":{"start":{"line":130,"column":52},"end":{"line":130,"column":118}},"44":{"start":{"line":134,"column":28},"end":{"line":137,"column":3}},"45":{"start":{"line":135,"column":52},"end":{"line":135,"column":118}},"46":{"start":{"line":139,"column":27},"end":{"line":142,"column":3}},"47":{"start":{"line":140,"column":52},"end":{"line":140,"column":118}},"48":{"start":{"line":144,"column":26},"end":{"line":147,"column":3}},"49":{"start":{"line":145,"column":52},"end":{"line":145,"column":118}},"50":{"start":{"line":149,"column":33},"end":{"line":152,"column":3}},"51":{"start":{"line":150,"column":52},"end":{"line":150,"column":118}},"52":{"start":{"line":154,"column":32},"end":{"line":157,"column":3}},"53":{"start":{"line":155,"column":52},"end":{"line":155,"column":118}},"54":{"start":{"line":159,"column":28},"end":{"line":162,"column":3}},"55":{"start":{"line":160,"column":52},"end":{"line":160,"column":118}},"56":{"start":{"line":164,"column":32},"end":{"line":166,"column":17}},"57":{"start":{"line":165,"column":4},"end":{"line":165,"column":81}},"58":{"start":{"line":168,"column":2},"end":{"line":174,"column":29}},"59":{"start":{"line":169,"column":4},"end":{"line":173,"column":5}},"60":{"start":{"line":170,"column":6},"end":{"line":170,"column":30}},"61":{"start":{"line":171,"column":6},"end":{"line":171,"column":37}},"62":{"start":{"line":172,"column":6},"end":{"line":172,"column":37}},"63":{"start":{"line":176,"column":2},"end":{"line":219,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":43,"column":16},"end":{"line":43,"column":17}},"loc":{"start":{"line":43,"column":54},"end":{"line":46,"column":1}},"line":43},"1":{"name":"(anonymous_1)","decl":{"start":{"line":48,"column":23},"end":{"line":48,"column":24}},"loc":{"start":{"line":48,"column":42},"end":{"line":61,"column":1}},"line":48},"2":{"name":"(anonymous_2)","decl":{"start":{"line":63,"column":23},"end":{"line":63,"column":24}},"loc":{"start":{"line":63,"column":42},"end":{"line":76,"column":1}},"line":63},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":87},"end":{"line":78,"column":88}},"loc":{"start":{"line":78,"column":124},"end":{"line":220,"column":1}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":31},"end":{"line":96,"column":5}},"line":85},"5":{"name":"(anonymous_5)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":66},"end":{"line":125,"column":5}},"line":101},"6":{"name":"(anonymous_6)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":52},"end":{"line":130,"column":118}},"line":130},"7":{"name":"(anonymous_7)","decl":{"start":{"line":135,"column":4},"end":{"line":135,"column":5}},"loc":{"start":{"line":135,"column":52},"end":{"line":135,"column":118}},"line":135},"8":{"name":"(anonymous_8)","decl":{"start":{"line":140,"column":4},"end":{"line":140,"column":5}},"loc":{"start":{"line":140,"column":52},"end":{"line":140,"column":118}},"line":140},"9":{"name":"(anonymous_9)","decl":{"start":{"line":145,"column":4},"end":{"line":145,"column":5}},"loc":{"start":{"line":145,"column":52},"end":{"line":145,"column":118}},"line":145},"10":{"name":"(anonymous_10)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":52},"end":{"line":150,"column":118}},"line":150},"11":{"name":"(anonymous_11)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":52},"end":{"line":155,"column":118}},"line":155},"12":{"name":"(anonymous_12)","decl":{"start":{"line":160,"column":4},"end":{"line":160,"column":5}},"loc":{"start":{"line":160,"column":52},"end":{"line":160,"column":118}},"line":160},"13":{"name":"(anonymous_13)","decl":{"start":{"line":164,"column":50},"end":{"line":164,"column":51}},"loc":{"start":{"line":164,"column":56},"end":{"line":166,"column":3}},"line":164},"14":{"name":"(anonymous_14)","decl":{"start":{"line":168,"column":18},"end":{"line":168,"column":19}},"loc":{"start":{"line":168,"column":24},"end":{"line":174,"column":3}},"line":168}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":30},"end":{"line":50,"column":48}},"type":"binary-expr","locations":[{"start":{"line":50,"column":30},"end":{"line":50,"column":35}},{"start":{"line":50,"column":39},"end":{"line":50,"column":48}}],"line":50},"1":{"loc":{"start":{"line":55,"column":9},"end":{"line":55,"column":57}},"type":"cond-expr","locations":[{"start":{"line":55,"column":29},"end":{"line":55,"column":53}},{"start":{"line":55,"column":56},"end":{"line":55,"column":57}}],"line":55},"2":{"loc":{"start":{"line":65,"column":30},"end":{"line":65,"column":48}},"type":"binary-expr","locations":[{"start":{"line":65,"column":30},"end":{"line":65,"column":35}},{"start":{"line":65,"column":39},"end":{"line":65,"column":48}}],"line":65},"3":{"loc":{"start":{"line":70,"column":9},"end":{"line":70,"column":57}},"type":"cond-expr","locations":[{"start":{"line":70,"column":29},"end":{"line":70,"column":53}},{"start":{"line":70,"column":56},"end":{"line":70,"column":57}}],"line":70},"4":{"loc":{"start":{"line":78,"column":90},"end":{"line":78,"column":107}},"type":"default-arg","locations":[{"start":{"line":78,"column":98},"end":{"line":78,"column":107}}],"line":78},"5":{"loc":{"start":{"line":102,"column":6},"end":{"line":124,"column":7}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":124,"column":7}},{"start":{"line":113,"column":13},"end":{"line":124,"column":7}}],"line":102},"6":{"loc":{"start":{"line":102,"column":10},"end":{"line":102,"column":104}},"type":"binary-expr","locations":[{"start":{"line":102,"column":10},"end":{"line":102,"column":22}},{"start":{"line":102,"column":26},"end":{"line":102,"column":38}},{"start":{"line":102,"column":42},"end":{"line":102,"column":54}},{"start":{"line":102,"column":59},"end":{"line":102,"column":71}},{"start":{"line":102,"column":75},"end":{"line":102,"column":103}}],"line":102},"7":{"loc":{"start":{"line":104,"column":15},"end":{"line":104,"column":42}},"type":"cond-expr","locations":[{"start":{"line":104,"column":30},"end":{"line":104,"column":33}},{"start":{"line":104,"column":36},"end":{"line":104,"column":42}}],"line":104},"8":{"loc":{"start":{"line":105,"column":17},"end":{"line":105,"column":44}},"type":"cond-expr","locations":[{"start":{"line":105,"column":32},"end":{"line":105,"column":35}},{"start":{"line":105,"column":38},"end":{"line":105,"column":44}}],"line":105},"9":{"loc":{"start":{"line":106,"column":16},"end":{"line":106,"column":43}},"type":"cond-expr","locations":[{"start":{"line":106,"column":31},"end":{"line":106,"column":34}},{"start":{"line":106,"column":37},"end":{"line":106,"column":43}}],"line":106},"10":{"loc":{"start":{"line":107,"column":17},"end":{"line":107,"column":44}},"type":"cond-expr","locations":[{"start":{"line":107,"column":32},"end":{"line":107,"column":35}},{"start":{"line":107,"column":38},"end":{"line":107,"column":44}}],"line":107},"11":{"loc":{"start":{"line":113,"column":13},"end":{"line":124,"column":7}},"type":"if","locations":[{"start":{"line":113,"column":13},"end":{"line":124,"column":7}},{"start":{},"end":{}}],"line":113},"12":{"loc":{"start":{"line":113,"column":17},"end":{"line":113,"column":111}},"type":"binary-expr","locations":[{"start":{"line":113,"column":17},"end":{"line":113,"column":29}},{"start":{"line":113,"column":33},"end":{"line":113,"column":45}},{"start":{"line":113,"column":49},"end":{"line":113,"column":61}},{"start":{"line":113,"column":66},"end":{"line":113,"column":78}},{"start":{"line":113,"column":82},"end":{"line":113,"column":110}}],"line":113},"13":{"loc":{"start":{"line":115,"column":15},"end":{"line":115,"column":42}},"type":"cond-expr","locations":[{"start":{"line":115,"column":30},"end":{"line":115,"column":33}},{"start":{"line":115,"column":36},"end":{"line":115,"column":42}}],"line":115},"14":{"loc":{"start":{"line":116,"column":23},"end":{"line":116,"column":50}},"type":"cond-expr","locations":[{"start":{"line":116,"column":38},"end":{"line":116,"column":41}},{"start":{"line":116,"column":44},"end":{"line":116,"column":50}}],"line":116},"15":{"loc":{"start":{"line":117,"column":22},"end":{"line":117,"column":49}},"type":"cond-expr","locations":[{"start":{"line":117,"column":37},"end":{"line":117,"column":40}},{"start":{"line":117,"column":43},"end":{"line":117,"column":49}}],"line":117},"16":{"loc":{"start":{"line":118,"column":17},"end":{"line":118,"column":44}},"type":"cond-expr","locations":[{"start":{"line":118,"column":32},"end":{"line":118,"column":35}},{"start":{"line":118,"column":38},"end":{"line":118,"column":44}}],"line":118},"17":{"loc":{"start":{"line":165,"column":17},"end":{"line":165,"column":79}},"type":"cond-expr","locations":[{"start":{"line":165,"column":48},"end":{"line":165,"column":62}},{"start":{"line":165,"column":65},"end":{"line":165,"column":79}}],"line":165},"18":{"loc":{"start":{"line":169,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":173,"column":5}},{"start":{},"end":{}}],"line":169},"19":{"loc":{"start":{"line":182,"column":9},"end":{"line":197,"column":9}},"type":"binary-expr","locations":[{"start":{"line":182,"column":9},"end":{"line":182,"column":37}},{"start":{"line":183,"column":8},"end":{"line":196,"column":16}}],"line":182},"20":{"loc":{"start":{"line":198,"column":9},"end":{"line":213,"column":9}},"type":"binary-expr","locations":[{"start":{"line":198,"column":9},"end":{"line":198,"column":37}},{"start":{"line":199,"column":8},"end":{"line":212,"column":16}}],"line":198},"21":{"loc":{"start":{"line":215,"column":11},"end":{"line":215,"column":61}},"type":"cond-expr","locations":[{"start":{"line":215,"column":42},"end":{"line":215,"column":50}},{"start":{"line":215,"column":53},"end":{"line":215,"column":61}}],"line":215}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ColorPicker/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/DownshiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/DownshiftInput.tsx","statementMap":{"0":{"start":{"line":52,"column":121},"end":{"line":368,"column":1}},"1":{"start":{"line":71,"column":48},"end":{"line":71,"column":69}},"2":{"start":{"line":72,"column":40},"end":{"line":72,"column":58}},"3":{"start":{"line":73,"column":54},"end":{"line":73,"column":91}},"4":{"start":{"line":74,"column":19},"end":{"line":74,"column":42}},"5":{"start":{"line":75,"column":21},"end":{"line":75,"column":52}},"6":{"start":{"line":76,"column":25},"end":{"line":76,"column":61}},"7":{"start":{"line":77,"column":23},"end":{"line":77,"column":55}},"8":{"start":{"line":78,"column":35},"end":{"line":78,"column":66}},"9":{"start":{"line":79,"column":30},"end":{"line":79,"column":71}},"10":{"start":{"line":80,"column":28},"end":{"line":80,"column":43}},"11":{"start":{"line":81,"column":30},"end":{"line":85,"column":12}},"12":{"start":{"line":82,"column":4},"end":{"line":82,"column":58}},"13":{"start":{"line":82,"column":43},"end":{"line":82,"column":58}},"14":{"start":{"line":83,"column":4},"end":{"line":83,"column":59}},"15":{"start":{"line":83,"column":42},"end":{"line":83,"column":59}},"16":{"start":{"line":84,"column":4},"end":{"line":84,"column":21}},"17":{"start":{"line":87,"column":2},"end":{"line":91,"column":9}},"18":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"19":{"start":{"line":89,"column":6},"end":{"line":89,"column":37}},"20":{"start":{"line":93,"column":2},"end":{"line":97,"column":43}},"21":{"start":{"line":94,"column":4},"end":{"line":96,"column":5}},"22":{"start":{"line":95,"column":6},"end":{"line":95,"column":22}},"23":{"start":{"line":99,"column":2},"end":{"line":104,"column":42}},"24":{"start":{"line":100,"column":4},"end":{"line":102,"column":5}},"25":{"start":{"line":101,"column":6},"end":{"line":101,"column":25}},"26":{"start":{"line":103,"column":4},"end":{"line":103,"column":57}},"27":{"start":{"line":106,"column":29},"end":{"line":126,"column":3}},"28":{"start":{"line":108,"column":62},"end":{"line":108,"column":64}},"29":{"start":{"line":109,"column":6},"end":{"line":119,"column":7}},"30":{"start":{"line":110,"column":8},"end":{"line":113,"column":13}},"31":{"start":{"line":111,"column":42},"end":{"line":111,"column":97}},"32":{"start":{"line":112,"column":12},"end":{"line":112,"column":91}},"33":{"start":{"line":115,"column":8},"end":{"line":118,"column":13}},"34":{"start":{"line":116,"column":42},"end":{"line":116,"column":142}},"35":{"start":{"line":117,"column":12},"end":{"line":117,"column":91}},"36":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"37":{"start":{"line":121,"column":8},"end":{"line":121,"column":134}},"38":{"start":{"line":121,"column":68},"end":{"line":121,"column":132}},"39":{"start":{"line":123,"column":6},"end":{"line":123,"column":35}},"40":{"start":{"line":128,"column":25},"end":{"line":140,"column":71}},"41":{"start":{"line":129,"column":47},"end":{"line":129,"column":49}},"42":{"start":{"line":130,"column":4},"end":{"line":132,"column":5}},"43":{"start":{"line":131,"column":6},"end":{"line":131,"column":91}},"44":{"start":{"line":131,"column":67},"end":{"line":131,"column":87}},"45":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"46":{"start":{"line":134,"column":6},"end":{"line":134,"column":154}},"47":{"start":{"line":134,"column":58},"end":{"line":134,"column":101}},"48":{"start":{"line":134,"column":125},"end":{"line":134,"column":152}},"49":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"50":{"start":{"line":137,"column":6},"end":{"line":137,"column":110}},"51":{"start":{"line":137,"column":69},"end":{"line":137,"column":108}},"52":{"start":{"line":139,"column":4},"end":{"line":139,"column":33}},"53":{"start":{"line":142,"column":29},"end":{"line":160,"column":8}},"54":{"start":{"line":144,"column":18},"end":{"line":144,"column":105}},"55":{"start":{"line":145,"column":4},"end":{"line":159,"column":6}},"56":{"start":{"line":149,"column":24},"end":{"line":149,"column":38}},"57":{"start":{"line":150,"column":12},"end":{"line":154,"column":14}},"58":{"start":{"line":162,"column":23},"end":{"line":172,"column":48}},"59":{"start":{"line":163,"column":4},"end":{"line":170,"column":5}},"60":{"start":{"line":164,"column":6},"end":{"line":169,"column":7}},"61":{"start":{"line":165,"column":8},"end":{"line":165,"column":87}},"62":{"start":{"line":166,"column":8},"end":{"line":166,"column":34}},"63":{"start":{"line":168,"column":8},"end":{"line":168,"column":36}},"64":{"start":{"line":171,"column":4},"end":{"line":171,"column":30}},"65":{"start":{"line":174,"column":34},"end":{"line":176,"column":8}},"66":{"start":{"line":175,"column":4},"end":{"line":175,"column":35}},"67":{"start":{"line":178,"column":34},"end":{"line":181,"column":47}},"68":{"start":{"line":179,"column":4},"end":{"line":180,"column":41}},"69":{"start":{"line":179,"column":64},"end":{"line":179,"column":107}},"70":{"start":{"line":180,"column":9},"end":{"line":180,"column":41}},"71":{"start":{"line":183,"column":24},"end":{"line":185,"column":8}},"72":{"start":{"line":184,"column":4},"end":{"line":184,"column":30}},"73":{"start":{"line":187,"column":20},"end":{"line":187,"column":50}},"74":{"start":{"line":189,"column":2},"end":{"line":367,"column":4}},"75":{"start":{"line":194,"column":8},"end":{"line":364,"column":14}},"76":{"start":{"line":274,"column":40},"end":{"line":274,"column":65}},"77":{"start":{"line":275,"column":26},"end":{"line":311,"column":28}},"78":{"start":{"line":296,"column":51},"end":{"line":296,"column":75}},"79":{"start":{"line":320,"column":52},"end":{"line":320,"column":73}},"80":{"start":{"line":321,"column":30},"end":{"line":346,"column":32}},"81":{"start":{"line":339,"column":55},"end":{"line":339,"column":82}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":52,"column":121},"end":{"line":52,"column":122}},"loc":{"start":{"line":70,"column":6},"end":{"line":368,"column":1}},"line":70},"1":{"name":"(anonymous_1)","decl":{"start":{"line":81,"column":63},"end":{"line":81,"column":64}},"loc":{"start":{"line":81,"column":69},"end":{"line":85,"column":3}},"line":81},"2":{"name":"(anonymous_2)","decl":{"start":{"line":87,"column":18},"end":{"line":87,"column":19}},"loc":{"start":{"line":87,"column":24},"end":{"line":91,"column":3}},"line":87},"3":{"name":"(anonymous_3)","decl":{"start":{"line":93,"column":18},"end":{"line":93,"column":19}},"loc":{"start":{"line":93,"column":24},"end":{"line":97,"column":3}},"line":93},"4":{"name":"(anonymous_4)","decl":{"start":{"line":99,"column":18},"end":{"line":99,"column":19}},"loc":{"start":{"line":99,"column":24},"end":{"line":104,"column":3}},"line":99},"5":{"name":"(anonymous_5)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":107,"column":10},"end":{"line":124,"column":5}},"line":107},"6":{"name":"(anonymous_6)","decl":{"start":{"line":111,"column":18},"end":{"line":111,"column":19}},"loc":{"start":{"line":111,"column":42},"end":{"line":111,"column":97}},"line":111},"7":{"name":"(anonymous_7)","decl":{"start":{"line":111,"column":104},"end":{"line":111,"column":105}},"loc":{"start":{"line":112,"column":12},"end":{"line":112,"column":91}},"line":112},"8":{"name":"(anonymous_8)","decl":{"start":{"line":116,"column":18},"end":{"line":116,"column":19}},"loc":{"start":{"line":116,"column":42},"end":{"line":116,"column":142}},"line":116},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":149},"end":{"line":116,"column":150}},"loc":{"start":{"line":117,"column":12},"end":{"line":117,"column":91}},"line":117},"10":{"name":"(anonymous_10)","decl":{"start":{"line":121,"column":44},"end":{"line":121,"column":45}},"loc":{"start":{"line":121,"column":68},"end":{"line":121,"column":132}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":128,"column":33},"end":{"line":128,"column":34}},"loc":{"start":{"line":128,"column":39},"end":{"line":140,"column":3}},"line":128},"12":{"name":"(anonymous_12)","decl":{"start":{"line":131,"column":57},"end":{"line":131,"column":58}},"loc":{"start":{"line":131,"column":67},"end":{"line":131,"column":87}},"line":131},"13":{"name":"(anonymous_13)","decl":{"start":{"line":134,"column":48},"end":{"line":134,"column":49}},"loc":{"start":{"line":134,"column":58},"end":{"line":134,"column":101}},"line":134},"14":{"name":"(anonymous_14)","decl":{"start":{"line":134,"column":107},"end":{"line":134,"column":108}},"loc":{"start":{"line":134,"column":125},"end":{"line":134,"column":152}},"line":134},"15":{"name":"(anonymous_15)","decl":{"start":{"line":137,"column":42},"end":{"line":137,"column":43}},"loc":{"start":{"line":137,"column":69},"end":{"line":137,"column":108}},"line":137},"16":{"name":"(anonymous_16)","decl":{"start":{"line":142,"column":41},"end":{"line":142,"column":42}},"loc":{"start":{"line":142,"column":78},"end":{"line":160,"column":3}},"line":142},"17":{"name":"(anonymous_17)","decl":{"start":{"line":148,"column":21},"end":{"line":148,"column":22}},"loc":{"start":{"line":148,"column":34},"end":{"line":155,"column":11}},"line":148},"18":{"name":"(anonymous_18)","decl":{"start":{"line":162,"column":35},"end":{"line":162,"column":36}},"loc":{"start":{"line":162,"column":58},"end":{"line":172,"column":3}},"line":162},"19":{"name":"(anonymous_19)","decl":{"start":{"line":174,"column":96},"end":{"line":174,"column":97}},"loc":{"start":{"line":174,"column":103},"end":{"line":176,"column":3}},"line":174},"20":{"name":"(anonymous_20)","decl":{"start":{"line":178,"column":52},"end":{"line":178,"column":53}},"loc":{"start":{"line":178,"column":58},"end":{"line":181,"column":3}},"line":178},"21":{"name":"(anonymous_21)","decl":{"start":{"line":183,"column":42},"end":{"line":183,"column":43}},"loc":{"start":{"line":183,"column":48},"end":{"line":185,"column":3}},"line":183},"22":{"name":"(anonymous_22)","decl":{"start":{"line":191,"column":7},"end":{"line":191,"column":8}},"loc":{"start":{"line":194,"column":8},"end":{"line":364,"column":14}},"line":194},"23":{"name":"(anonymous_23)","decl":{"start":{"line":273,"column":25},"end":{"line":273,"column":26}},"loc":{"start":{"line":273,"column":47},"end":{"line":312,"column":25}},"line":273},"24":{"name":"(anonymous_24)","decl":{"start":{"line":296,"column":45},"end":{"line":296,"column":46}},"loc":{"start":{"line":296,"column":51},"end":{"line":296,"column":75}},"line":296},"25":{"name":"(anonymous_25)","decl":{"start":{"line":319,"column":29},"end":{"line":319,"column":30}},"loc":{"start":{"line":319,"column":51},"end":{"line":347,"column":29}},"line":319},"26":{"name":"(anonymous_26)","decl":{"start":{"line":339,"column":49},"end":{"line":339,"column":50}},"loc":{"start":{"line":339,"column":55},"end":{"line":339,"column":82}},"line":339}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":2},"end":{"line":56,"column":21}},"type":"default-arg","locations":[{"start":{"line":56,"column":16},"end":{"line":56,"column":21}}],"line":56},"1":{"loc":{"start":{"line":82,"column":4},"end":{"line":82,"column":58}},"type":"if","locations":[{"start":{"line":82,"column":4},"end":{"line":82,"column":58}},{"start":{},"end":{}}],"line":82},"2":{"loc":{"start":{"line":83,"column":4},"end":{"line":83,"column":59}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":59}},{"start":{},"end":{}}],"line":83},"3":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":88},"4":{"loc":{"start":{"line":94,"column":4},"end":{"line":96,"column":5}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":96,"column":5}},{"start":{},"end":{}}],"line":94},"5":{"loc":{"start":{"line":100,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":102,"column":5}},{"start":{},"end":{}}],"line":100},"6":{"loc":{"start":{"line":109,"column":6},"end":{"line":119,"column":7}},"type":"if","locations":[{"start":{"line":109,"column":6},"end":{"line":119,"column":7}},{"start":{"line":114,"column":13},"end":{"line":119,"column":7}}],"line":109},"7":{"loc":{"start":{"line":116,"column":42},"end":{"line":116,"column":142}},"type":"binary-expr","locations":[{"start":{"line":116,"column":42},"end":{"line":116,"column":83}},{"start":{"line":116,"column":87},"end":{"line":116,"column":142}}],"line":116},"8":{"loc":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"type":"if","locations":[{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},{"start":{},"end":{}}],"line":120},"9":{"loc":{"start":{"line":130,"column":4},"end":{"line":132,"column":5}},"type":"if","locations":[{"start":{"line":130,"column":4},"end":{"line":132,"column":5}},{"start":{},"end":{}}],"line":130},"10":{"loc":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":133},"11":{"loc":{"start":{"line":133,"column":8},"end":{"line":133,"column":62}},"type":"binary-expr","locations":[{"start":{"line":133,"column":8},"end":{"line":133,"column":40}},{"start":{"line":133,"column":44},"end":{"line":133,"column":62}}],"line":133},"12":{"loc":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},{"start":{},"end":{}}],"line":136},"13":{"loc":{"start":{"line":163,"column":4},"end":{"line":170,"column":5}},"type":"if","locations":[{"start":{"line":163,"column":4},"end":{"line":170,"column":5}},{"start":{},"end":{}}],"line":163},"14":{"loc":{"start":{"line":164,"column":6},"end":{"line":169,"column":7}},"type":"if","locations":[{"start":{"line":164,"column":6},"end":{"line":169,"column":7}},{"start":{"line":167,"column":13},"end":{"line":169,"column":7}}],"line":164},"15":{"loc":{"start":{"line":165,"column":22},"end":{"line":165,"column":85}},"type":"cond-expr","locations":[{"start":{"line":165,"column":45},"end":{"line":165,"column":63}},{"start":{"line":165,"column":66},"end":{"line":165,"column":85}}],"line":165},"16":{"loc":{"start":{"line":179,"column":4},"end":{"line":180,"column":41}},"type":"if","locations":[{"start":{"line":179,"column":4},"end":{"line":180,"column":41}},{"start":{"line":180,"column":9},"end":{"line":180,"column":41}}],"line":179},"17":{"loc":{"start":{"line":179,"column":8},"end":{"line":179,"column":62}},"type":"binary-expr","locations":[{"start":{"line":179,"column":8},"end":{"line":179,"column":39}},{"start":{"line":179,"column":43},"end":{"line":179,"column":62}}],"line":179},"18":{"loc":{"start":{"line":187,"column":20},"end":{"line":187,"column":50}},"type":"binary-expr","locations":[{"start":{"line":187,"column":20},"end":{"line":187,"column":31}},{"start":{"line":187,"column":35},"end":{"line":187,"column":50}}],"line":187},"19":{"loc":{"start":{"line":196,"column":13},"end":{"line":196,"column":82}},"type":"cond-expr","locations":[{"start":{"line":196,"column":37},"end":{"line":196,"column":75}},{"start":{"line":196,"column":78},"end":{"line":196,"column":82}}],"line":196},"20":{"loc":{"start":{"line":196,"column":13},"end":{"line":196,"column":34}},"type":"binary-expr","locations":[{"start":{"line":196,"column":13},"end":{"line":196,"column":18}},{"start":{"line":196,"column":22},"end":{"line":196,"column":34}}],"line":196},"21":{"loc":{"start":{"line":197,"column":13},"end":{"line":197,"column":70}},"type":"cond-expr","locations":[{"start":{"line":197,"column":21},"end":{"line":197,"column":63}},{"start":{"line":197,"column":66},"end":{"line":197,"column":70}}],"line":197},"22":{"loc":{"start":{"line":200,"column":13},"end":{"line":202,"column":13}},"type":"binary-expr","locations":[{"start":{"line":200,"column":13},"end":{"line":200,"column":26}},{"start":{"line":200,"column":30},"end":{"line":200,"column":37}},{"start":{"line":201,"column":14},"end":{"line":201,"column":114}}],"line":200},"23":{"loc":{"start":{"line":203,"column":13},"end":{"line":203,"column":117}},"type":"binary-expr","locations":[{"start":{"line":203,"column":13},"end":{"line":203,"column":21}},{"start":{"line":203,"column":25},"end":{"line":203,"column":117}}],"line":203},"24":{"loc":{"start":{"line":217,"column":13},"end":{"line":362,"column":13}},"type":"binary-expr","locations":[{"start":{"line":217,"column":13},"end":{"line":217,"column":19}},{"start":{"line":218,"column":12},"end":{"line":361,"column":27}}],"line":217},"25":{"loc":{"start":{"line":251,"column":24},"end":{"line":260,"column":25}},"type":"binary-expr","locations":[{"start":{"line":251,"column":24},"end":{"line":251,"column":43}},{"start":{"line":252,"column":26},"end":{"line":259,"column":32}}],"line":251},"26":{"loc":{"start":{"line":271,"column":22},"end":{"line":314,"column":23}},"type":"binary-expr","locations":[{"start":{"line":271,"column":22},"end":{"line":271,"column":53}},{"start":{"line":271,"column":57},"end":{"line":271,"column":86}},{"start":{"line":272,"column":22},"end":{"line":313,"column":35}}],"line":271},"27":{"loc":{"start":{"line":281,"column":68},"end":{"line":281,"column":85}},"type":"binary-expr","locations":[{"start":{"line":281,"column":68},"end":{"line":281,"column":79}},{"start":{"line":281,"column":83},"end":{"line":281,"column":85}}],"line":281},"28":{"loc":{"start":{"line":298,"column":33},"end":{"line":302,"column":33}},"type":"binary-expr","locations":[{"start":{"line":298,"column":33},"end":{"line":298,"column":49}},{"start":{"line":299,"column":32},"end":{"line":301,"column":53}}],"line":298},"29":{"loc":{"start":{"line":304,"column":66},"end":{"line":304,"column":83}},"type":"binary-expr","locations":[{"start":{"line":304,"column":66},"end":{"line":304,"column":77}},{"start":{"line":304,"column":81},"end":{"line":304,"column":83}}],"line":304},"30":{"loc":{"start":{"line":317,"column":22},"end":{"line":349,"column":23}},"type":"binary-expr","locations":[{"start":{"line":317,"column":22},"end":{"line":317,"column":53}},{"start":{"line":317,"column":57},"end":{"line":317,"column":82}},{"start":{"line":318,"column":24},"end":{"line":348,"column":37}}],"line":317},"31":{"loc":{"start":{"line":327,"column":75},"end":{"line":327,"column":92}},"type":"binary-expr","locations":[{"start":{"line":327,"column":75},"end":{"line":327,"column":86}},{"start":{"line":327,"column":90},"end":{"line":327,"column":92}}],"line":327},"32":{"loc":{"start":{"line":342,"column":73},"end":{"line":342,"column":90}},"type":"binary-expr","locations":[{"start":{"line":342,"column":73},"end":{"line":342,"column":84}},{"start":{"line":342,"column":88},"end":{"line":342,"column":90}}],"line":342},"33":{"loc":{"start":{"line":352,"column":22},"end":{"line":356,"column":23}},"type":"binary-expr","locations":[{"start":{"line":352,"column":24},"end":{"line":352,"column":55}},{"start":{"line":352,"column":59},"end":{"line":352,"column":86}},{"start":{"line":352,"column":92},"end":{"line":352,"column":123}},{"start":{"line":352,"column":127},"end":{"line":352,"column":158}},{"start":{"line":353,"column":22},"end":{"line":355,"column":28}}],"line":352}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/MentionInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/MentionInput.tsx","statementMap":{"0":{"start":{"line":46,"column":19},"end":{"line":46,"column":27}},"1":{"start":{"line":62,"column":30},"end":{"line":62,"column":71}},"2":{"start":{"line":64,"column":22},"end":{"line":81,"column":62}},"3":{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},"4":{"start":{"line":66,"column":6},"end":{"line":72,"column":12}},"5":{"start":{"line":67,"column":40},"end":{"line":67,"column":66}},"6":{"start":{"line":68,"column":10},"end":{"line":68,"column":89}},"7":{"start":{"line":69,"column":35},"end":{"line":72,"column":9}},"8":{"start":{"line":74,"column":4},"end":{"line":80,"column":10}},"9":{"start":{"line":75,"column":38},"end":{"line":75,"column":109}},"10":{"start":{"line":76,"column":8},"end":{"line":76,"column":87}},"11":{"start":{"line":77,"column":33},"end":{"line":80,"column":7}},"12":{"start":{"line":83,"column":35},"end":{"line":85,"column":26}},"13":{"start":{"line":84,"column":4},"end":{"line":84,"column":66}},"14":{"start":{"line":87,"column":26},"end":{"line":91,"column":18}},"15":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"16":{"start":{"line":89,"column":6},"end":{"line":89,"column":19}},"17":{"start":{"line":93,"column":29},"end":{"line":108,"column":8}},"18":{"start":{"line":96,"column":18},"end":{"line":96,"column":113}},"19":{"start":{"line":97,"column":4},"end":{"line":107,"column":6}},"20":{"start":{"line":101,"column":10},"end":{"line":103,"column":23}},"21":{"start":{"line":110,"column":32},"end":{"line":145,"column":76}},"22":{"start":{"line":113,"column":26},"end":{"line":113,"column":136}},"23":{"start":{"line":113,"column":57},"end":{"line":113,"column":135}},"24":{"start":{"line":114,"column":4},"end":{"line":144,"column":6}},"25":{"start":{"line":147,"column":29},"end":{"line":150,"column":16}},"26":{"start":{"line":148,"column":4},"end":{"line":148,"column":23}},"27":{"start":{"line":149,"column":4},"end":{"line":149,"column":17}},"28":{"start":{"line":152,"column":2},"end":{"line":172,"column":4}},"29":{"start":{"line":169,"column":8},"end":{"line":169,"column":35}}},"fnMap":{"0":{"name":"MentionsInput","decl":{"start":{"line":48,"column":24},"end":{"line":48,"column":37}},"loc":{"start":{"line":61,"column":10},"end":{"line":173,"column":1}},"line":61},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":52},"end":{"line":64,"column":53}},"loc":{"start":{"line":64,"column":58},"end":{"line":81,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":67,"column":16},"end":{"line":67,"column":17}},"loc":{"start":{"line":67,"column":40},"end":{"line":67,"column":66}},"line":67},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":73},"end":{"line":67,"column":74}},"loc":{"start":{"line":68,"column":10},"end":{"line":68,"column":89}},"line":68},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":15},"end":{"line":69,"column":16}},"loc":{"start":{"line":69,"column":35},"end":{"line":72,"column":9}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":14},"end":{"line":75,"column":15}},"loc":{"start":{"line":75,"column":38},"end":{"line":75,"column":109}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":116},"end":{"line":75,"column":117}},"loc":{"start":{"line":76,"column":8},"end":{"line":76,"column":87}},"line":76},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":13},"end":{"line":77,"column":14}},"loc":{"start":{"line":77,"column":33},"end":{"line":80,"column":7}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":83,"column":53},"end":{"line":83,"column":54}},"loc":{"start":{"line":83,"column":75},"end":{"line":85,"column":3}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":87,"column":44},"end":{"line":87,"column":45}},"loc":{"start":{"line":87,"column":50},"end":{"line":91,"column":3}},"line":87},"10":{"name":"(anonymous_10)","decl":{"start":{"line":93,"column":47},"end":{"line":93,"column":48}},"loc":{"start":{"line":93,"column":84},"end":{"line":108,"column":3}},"line":93},"11":{"name":"(anonymous_11)","decl":{"start":{"line":99,"column":19},"end":{"line":99,"column":20}},"loc":{"start":{"line":101,"column":10},"end":{"line":103,"column":23}},"line":101},"12":{"name":"(anonymous_12)","decl":{"start":{"line":110,"column":50},"end":{"line":110,"column":51}},"loc":{"start":{"line":112,"column":7},"end":{"line":145,"column":3}},"line":112},"13":{"name":"(anonymous_13)","decl":{"start":{"line":113,"column":46},"end":{"line":113,"column":47}},"loc":{"start":{"line":113,"column":57},"end":{"line":113,"column":135}},"line":113},"14":{"name":"(anonymous_14)","decl":{"start":{"line":147,"column":47},"end":{"line":147,"column":48}},"loc":{"start":{"line":147,"column":96},"end":{"line":150,"column":3}},"line":147},"15":{"name":"(anonymous_15)","decl":{"start":{"line":168,"column":23},"end":{"line":168,"column":24}},"loc":{"start":{"line":169,"column":8},"end":{"line":169,"column":35}},"line":169}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":2},"end":{"line":49,"column":19}},"type":"default-arg","locations":[{"start":{"line":49,"column":14},"end":{"line":49,"column":19}}],"line":49},"1":{"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":16}},"type":"default-arg","locations":[{"start":{"line":50,"column":9},"end":{"line":50,"column":16}}],"line":50},"2":{"loc":{"start":{"line":60,"column":2},"end":{"line":60,"column":19}},"type":"default-arg","locations":[{"start":{"line":60,"column":14},"end":{"line":60,"column":19}}],"line":60},"3":{"loc":{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":75,"column":38},"end":{"line":75,"column":109}},"type":"binary-expr","locations":[{"start":{"line":75,"column":38},"end":{"line":75,"column":79}},{"start":{"line":75,"column":83},"end":{"line":75,"column":109}}],"line":75},"5":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":88},"6":{"loc":{"start":{"line":113,"column":57},"end":{"line":113,"column":135}},"type":"binary-expr","locations":[{"start":{"line":113,"column":57},"end":{"line":113,"column":98}},{"start":{"line":113,"column":102},"end":{"line":113,"column":135}}],"line":113},"7":{"loc":{"start":{"line":116,"column":13},"end":{"line":116,"column":53}},"type":"binary-expr","locations":[{"start":{"line":116,"column":14},"end":{"line":116,"column":37}},{"start":{"line":116,"column":42},"end":{"line":116,"column":53}}],"line":116},"8":{"loc":{"start":{"line":125,"column":36},"end":{"line":125,"column":61}},"type":"binary-expr","locations":[{"start":{"line":125,"column":36},"end":{"line":125,"column":55}},{"start":{"line":125,"column":59},"end":{"line":125,"column":61}}],"line":125},"9":{"loc":{"start":{"line":125,"column":63},"end":{"line":125,"column":74}},"type":"binary-expr","locations":[{"start":{"line":125,"column":63},"end":{"line":125,"column":68}},{"start":{"line":125,"column":72},"end":{"line":125,"column":74}}],"line":125},"10":{"loc":{"start":{"line":127,"column":15},"end":{"line":133,"column":15}},"type":"binary-expr","locations":[{"start":{"line":127,"column":15},"end":{"line":127,"column":28}},{"start":{"line":128,"column":16},"end":{"line":132,"column":34}}],"line":127},"11":{"loc":{"start":{"line":138,"column":13},"end":{"line":138,"column":182}},"type":"binary-expr","locations":[{"start":{"line":138,"column":13},"end":{"line":138,"column":29}},{"start":{"line":138,"column":33},"end":{"line":138,"column":182}}],"line":138},"12":{"loc":{"start":{"line":138,"column":77},"end":{"line":138,"column":157}},"type":"cond-expr","locations":[{"start":{"line":138,"column":100},"end":{"line":138,"column":152}},{"start":{"line":138,"column":155},"end":{"line":138,"column":157}}],"line":138},"13":{"loc":{"start":{"line":139,"column":57},"end":{"line":139,"column":82}},"type":"binary-expr","locations":[{"start":{"line":139,"column":57},"end":{"line":139,"column":76}},{"start":{"line":139,"column":80},"end":{"line":139,"column":82}}],"line":139},"14":{"loc":{"start":{"line":139,"column":84},"end":{"line":139,"column":95}},"type":"binary-expr","locations":[{"start":{"line":139,"column":84},"end":{"line":139,"column":89}},{"start":{"line":139,"column":93},"end":{"line":139,"column":95}}],"line":139},"15":{"loc":{"start":{"line":140,"column":13},"end":{"line":140,"column":111}},"type":"binary-expr","locations":[{"start":{"line":140,"column":13},"end":{"line":140,"column":26}},{"start":{"line":140,"column":30},"end":{"line":140,"column":111}}],"line":140},"16":{"loc":{"start":{"line":166,"column":17},"end":{"line":166,"column":54}},"type":"cond-expr","locations":[{"start":{"line":166,"column":29},"end":{"line":166,"column":31}},{"start":{"line":166,"column":34},"end":{"line":166,"column":54}}],"line":166}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/StyledDownshiftInput.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/StyledDownshiftInput.tsx","statementMap":{"0":{"start":{"line":20,"column":30},"end":{"line":32,"column":2}},"1":{"start":{"line":34,"column":26},"end":{"line":41,"column":2}},"2":{"start":{"line":43,"column":31},"end":{"line":59,"column":2}},"3":{"start":{"line":61,"column":26},"end":{"line":75,"column":2}},"4":{"start":{"line":77,"column":34},"end":{"line":80,"column":2}},"5":{"start":{"line":82,"column":31},"end":{"line":87,"column":2}},"6":{"start":{"line":89,"column":30},"end":{"line":106,"column":2}},"7":{"start":{"line":108,"column":26},"end":{"line":116,"column":2}},"8":{"start":{"line":118,"column":28},"end":{"line":129,"column":2}},"9":{"start":{"line":131,"column":103},"end":{"line":159,"column":1}},"10":{"start":{"line":142,"column":39},"end":{"line":150,"column":4}},"11":{"start":{"line":152,"column":2},"end":{"line":158,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":131,"column":103},"end":{"line":131,"column":104}},"loc":{"start":{"line":141,"column":6},"end":{"line":159,"column":1}},"line":141}},"branchMap":{"0":{"loc":{"start":{"line":145,"column":11},"end":{"line":145,"column":23}},"type":"binary-expr","locations":[{"start":{"line":145,"column":11},"end":{"line":145,"column":15}},{"start":{"line":145,"column":19},"end":{"line":145,"column":23}}],"line":145},"1":{"loc":{"start":{"line":146,"column":11},"end":{"line":146,"column":22}},"type":"binary-expr","locations":[{"start":{"line":146,"column":11},"end":{"line":146,"column":16}},{"start":{"line":146,"column":20},"end":{"line":146,"column":22}}],"line":146}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DownshiftInput/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx","statementMap":{"0":{"start":{"line":17,"column":15},"end":{"line":17,"column":27}},"1":{"start":{"line":18,"column":2},"end":{"line":49,"column":4}},"2":{"start":{"line":32,"column":14},"end":{"line":36,"column":16}},"3":{"start":{"line":57,"column":33},"end":{"line":57,"column":38}},"4":{"start":{"line":58,"column":23},"end":{"line":58,"column":93}},"5":{"start":{"line":60,"column":2},"end":{"line":95,"column":4}},"6":{"start":{"line":85,"column":12},"end":{"line":90,"column":24}}},"fnMap":{"0":{"name":"ResolveDuplicateTokenSingle","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":36}},"loc":{"start":{"line":16,"column":72},"end":{"line":50,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":29},"end":{"line":31,"column":30}},"loc":{"start":{"line":32,"column":14},"end":{"line":36,"column":16}},"line":32},"2":{"name":"ResolveDuplicateTokenGroup","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":50}},"loc":{"start":{"line":56,"column":3},"end":{"line":96,"column":1}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":83,"column":26},"end":{"line":83,"column":27}},"loc":{"start":{"line":85,"column":12},"end":{"line":90,"column":24}},"line":85}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":145}},"type":"cond-expr","locations":[{"start":{"line":26,"column":97},"end":{"line":26,"column":133}},{"start":{"line":26,"column":136},"end":{"line":26,"column":145}}],"line":26},"1":{"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":93}},"type":"binary-expr","locations":[{"start":{"line":26,"column":19},"end":{"line":26,"column":50}},{"start":{"line":26,"column":54},"end":{"line":26,"column":93}}],"line":26},"2":{"loc":{"start":{"line":29,"column":9},"end":{"line":46,"column":9}},"type":"cond-expr","locations":[{"start":{"line":30,"column":10},"end":{"line":38,"column":18}},{"start":{"line":40,"column":10},"end":{"line":44,"column":13}}],"line":29},"3":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":69}},"type":"binary-expr","locations":[{"start":{"line":29,"column":10},"end":{"line":29,"column":39}},{"start":{"line":29,"column":43},"end":{"line":29,"column":69}}],"line":29},"4":{"loc":{"start":{"line":34,"column":23},"end":{"line":34,"column":105}},"type":"cond-expr","locations":[{"start":{"line":34,"column":52},"end":{"line":34,"column":93}},{"start":{"line":34,"column":96},"end":{"line":34,"column":105}}],"line":34},"5":{"loc":{"start":{"line":42,"column":13},"end":{"line":43,"column":78}},"type":"cond-expr","locations":[{"start":{"line":42,"column":47},"end":{"line":42,"column":83}},{"start":{"line":43,"column":16},"end":{"line":43,"column":78}}],"line":42},"6":{"loc":{"start":{"line":58,"column":49},"end":{"line":58,"column":91}},"type":"binary-expr","locations":[{"start":{"line":58,"column":49},"end":{"line":58,"column":86}},{"start":{"line":58,"column":90},"end":{"line":58,"column":91}}],"line":58},"7":{"loc":{"start":{"line":86,"column":43},"end":{"line":86,"column":123}},"type":"cond-expr","locations":[{"start":{"line":86,"column":100},"end":{"line":86,"column":109}},{"start":{"line":86,"column":112},"end":{"line":86,"column":123}}],"line":86}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/ErrorFallback.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/ErrorFallback.tsx","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"ErrorFallback","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":29}},"loc":{"start":{"line":6,"column":59},"end":{"line":15,"column":1}},"line":6}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ErrorFallback/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/MultiFilesExport.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/MultiFilesExport.tsx","statementMap":{"0":{"start":{"line":21,"column":17},"end":{"line":21,"column":44}},"1":{"start":{"line":22,"column":17},"end":{"line":22,"column":48}},"2":{"start":{"line":23,"column":35},"end":{"line":23,"column":80}},"3":{"start":{"line":24,"column":15},"end":{"line":24,"column":27}},"4":{"start":{"line":26,"column":25},"end":{"line":37,"column":22}},"5":{"start":{"line":27,"column":46},"end":{"line":27,"column":48}},"6":{"start":{"line":28,"column":4},"end":{"line":30,"column":7}},"7":{"start":{"line":29,"column":6},"end":{"line":29,"column":64}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":82}},"9":{"start":{"line":32,"column":21},"end":{"line":34,"column":5}},"10":{"start":{"line":35,"column":4},"end":{"line":35,"column":86}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":21}},"12":{"start":{"line":39,"column":28},"end":{"line":51,"column":31}},"13":{"start":{"line":40,"column":16},"end":{"line":40,"column":27}},"14":{"start":{"line":41,"column":4},"end":{"line":43,"column":7}},"15":{"start":{"line":42,"column":6},"end":{"line":42,"column":27}},"16":{"start":{"line":44,"column":4},"end":{"line":47,"column":9}},"17":{"start":{"line":46,"column":8},"end":{"line":46,"column":38}},"18":{"start":{"line":48,"column":4},"end":{"line":48,"column":30}},"19":{"start":{"line":50,"column":4},"end":{"line":50,"column":14}},"20":{"start":{"line":53,"column":2},"end":{"line":86,"column":4}},"21":{"start":{"line":70,"column":12},"end":{"line":73,"column":20}}},"fnMap":{"0":{"name":"MultiFilesExport","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":40}},"loc":{"start":{"line":20,"column":61},"end":{"line":87,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":39},"end":{"line":26,"column":40}},"loc":{"start":{"line":26,"column":45},"end":{"line":37,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":84},"end":{"line":28,"column":85}},"loc":{"start":{"line":28,"column":102},"end":{"line":30,"column":5}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":46},"end":{"line":39,"column":47}},"loc":{"start":{"line":39,"column":52},"end":{"line":51,"column":3}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":44},"end":{"line":41,"column":45}},"loc":{"start":{"line":41,"column":62},"end":{"line":43,"column":5}},"line":41},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":13}},"loc":{"start":{"line":45,"column":25},"end":{"line":47,"column":7}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":69,"column":43},"end":{"line":69,"column":44}},"loc":{"start":{"line":70,"column":12},"end":{"line":73,"column":20}},"line":70}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/SingleFileExport.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ExportProvider/SingleFileExport.tsx","statementMap":{"0":{"start":{"line":22,"column":33},"end":{"line":22,"column":44}},"1":{"start":{"line":23,"column":50},"end":{"line":23,"column":71}},"2":{"start":{"line":24,"column":44},"end":{"line":24,"column":64}},"3":{"start":{"line":25,"column":50},"end":{"line":25,"column":71}},"4":{"start":{"line":26,"column":42},"end":{"line":26,"column":63}},"5":{"start":{"line":27,"column":52},"end":{"line":27,"column":73}},"6":{"start":{"line":28,"column":42},"end":{"line":28,"column":63}},"7":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"8":{"start":{"line":30,"column":17},"end":{"line":30,"column":48}},"9":{"start":{"line":32,"column":39},"end":{"line":34,"column":24}},"10":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}},"11":{"start":{"line":36,"column":36},"end":{"line":38,"column":21}},"12":{"start":{"line":37,"column":4},"end":{"line":37,"column":37}},"13":{"start":{"line":40,"column":38},"end":{"line":42,"column":24}},"14":{"start":{"line":41,"column":4},"end":{"line":41,"column":43}},"15":{"start":{"line":44,"column":35},"end":{"line":46,"column":20}},"16":{"start":{"line":45,"column":4},"end":{"line":45,"column":35}},"17":{"start":{"line":48,"column":40},"end":{"line":50,"column":25}},"18":{"start":{"line":49,"column":4},"end":{"line":49,"column":45}},"19":{"start":{"line":52,"column":35},"end":{"line":54,"column":20}},"20":{"start":{"line":53,"column":4},"end":{"line":53,"column":35}},"21":{"start":{"line":56,"column":28},"end":{"line":61,"column":113}},"22":{"start":{"line":57,"column":4},"end":{"line":59,"column":7}},"23":{"start":{"line":60,"column":4},"end":{"line":60,"column":14}},"24":{"start":{"line":63,"column":26},"end":{"line":65,"column":125}},"25":{"start":{"line":63,"column":46},"end":{"line":65,"column":4}},"26":{"start":{"line":67,"column":21},"end":{"line":76,"column":57}},"27":{"start":{"line":68,"column":24},"end":{"line":68,"column":51}},"28":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"29":{"start":{"line":70,"column":6},"end":{"line":70,"column":55}},"30":{"start":{"line":71,"column":6},"end":{"line":73,"column":9}},"31":{"start":{"line":75,"column":4},"end":{"line":75,"column":48}},"32":{"start":{"line":78,"column":2},"end":{"line":169,"column":4}}},"fnMap":{"0":{"name":"SingleFileExport","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":40}},"loc":{"start":{"line":21,"column":61},"end":{"line":170,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":57},"end":{"line":32,"column":58}},"loc":{"start":{"line":32,"column":63},"end":{"line":34,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":54},"end":{"line":36,"column":55}},"loc":{"start":{"line":36,"column":60},"end":{"line":38,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":56},"end":{"line":40,"column":57}},"loc":{"start":{"line":40,"column":62},"end":{"line":42,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":53},"end":{"line":44,"column":54}},"loc":{"start":{"line":44,"column":59},"end":{"line":46,"column":3}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":48,"column":58},"end":{"line":48,"column":59}},"loc":{"start":{"line":48,"column":64},"end":{"line":50,"column":3}},"line":48},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":53},"end":{"line":52,"column":54}},"loc":{"start":{"line":52,"column":59},"end":{"line":54,"column":3}},"line":52},"7":{"name":"(anonymous_7)","decl":{"start":{"line":56,"column":46},"end":{"line":56,"column":47}},"loc":{"start":{"line":56,"column":52},"end":{"line":61,"column":3}},"line":56},"8":{"name":"(anonymous_8)","decl":{"start":{"line":63,"column":40},"end":{"line":63,"column":41}},"loc":{"start":{"line":63,"column":46},"end":{"line":65,"column":4}},"line":63},"9":{"name":"(anonymous_9)","decl":{"start":{"line":67,"column":35},"end":{"line":67,"column":36}},"loc":{"start":{"line":67,"column":41},"end":{"line":76,"column":3}},"line":67}},"branchMap":{"0":{"loc":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},{"start":{},"end":{}}],"line":69}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/Flex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/Flex.tsx","statementMap":{"0":{"start":{"line":3,"column":20},"end":{"line":19,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Flex/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LanguageSelector/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LanguageSelector/index.tsx","statementMap":{"0":{"start":{"line":11,"column":32},"end":{"line":41,"column":1}},"1":{"start":{"line":12,"column":16},"end":{"line":12,"column":44}},"2":{"start":{"line":13,"column":19},"end":{"line":13,"column":42}},"3":{"start":{"line":15,"column":22},"end":{"line":15,"column":51}},"4":{"start":{"line":16,"column":22},"end":{"line":16,"column":104}},"5":{"start":{"line":16,"column":36},"end":{"line":16,"column":88}},"6":{"start":{"line":16,"column":58},"end":{"line":16,"column":80}},"7":{"start":{"line":18,"column":28},"end":{"line":24,"column":3}},"8":{"start":{"line":20,"column":6},"end":{"line":20,"column":38}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":43}},"10":{"start":{"line":26,"column":2},"end":{"line":40,"column":4}},"11":{"start":{"line":33,"column":12},"end":{"line":35,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":32},"end":{"line":11,"column":33}},"loc":{"start":{"line":11,"column":38},"end":{"line":41,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":30},"end":{"line":16,"column":31}},"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":88}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":51},"end":{"line":16,"column":52}},"loc":{"start":{"line":16,"column":58},"end":{"line":16,"column":80}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":23},"end":{"line":22,"column":5}},"line":19},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":25},"end":{"line":32,"column":26}},"loc":{"start":{"line":33,"column":12},"end":{"line":35,"column":26}},"line":33}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/LDProvider.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/LDProvider.tsx","statementMap":{"0":{"start":{"line":11,"column":23},"end":{"line":11,"column":64}},"1":{"start":{"line":13,"column":33},"end":{"line":27,"column":1}},"2":{"start":{"line":14,"column":17},"end":{"line":14,"column":44}},"3":{"start":{"line":16,"column":21},"end":{"line":16,"column":52}},"4":{"start":{"line":18,"column":2},"end":{"line":26,"column":4}},"5":{"start":{"line":30,"column":2},"end":{"line":34,"column":4}},"6":{"start":{"line":31,"column":4},"end":{"line":33,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":33},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":68},"end":{"line":27,"column":1}},"line":13},"1":{"name":"withLDProviderWrapper","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":37}},"loc":{"start":{"line":29,"column":126},"end":{"line":35,"column":1}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":10}},"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":24}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":64}},"type":"binary-expr","locations":[{"start":{"line":11,"column":23},"end":{"line":11,"column":58}},{"start":{"line":11,"column":62},"end":{"line":11,"column":64}}],"line":11},"1":{"loc":{"start":{"line":22,"column":12},"end":{"line":22,"column":62}},"type":"cond-expr","locations":[{"start":{"line":22,"column":35},"end":{"line":22,"column":50}},{"start":{"line":22,"column":53},"end":{"line":22,"column":62}}],"line":22},"2":{"loc":{"start":{"line":22,"column":12},"end":{"line":22,"column":32}},"type":"binary-expr","locations":[{"start":{"line":22,"column":12},"end":{"line":22,"column":18}},{"start":{"line":22,"column":22},"end":{"line":22,"column":32}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/useFlags.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/LaunchDarkly/useFlags.ts","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":9,"column":15}},"1":{"start":{"line":5,"column":4},"end":{"line":7,"column":7}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":7}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":70},"end":{"line":5,"column":71}},"loc":{"start":{"line":6,"column":6},"end":{"line":6,"column":18}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":24},"end":{"line":9,"column":15}},"type":"cond-expr","locations":[{"start":{"line":4,"column":4},"end":{"line":8,"column":3}},{"start":{"line":9,"column":4},"end":{"line":9,"column":15}}],"line":3}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx","statementMap":{"0":{"start":{"line":28,"column":19},"end":{"line":28,"column":42}},"1":{"start":{"line":29,"column":26},"end":{"line":31,"column":16}},"2":{"start":{"line":30,"column":4},"end":{"line":30,"column":61}},"3":{"start":{"line":32,"column":40},"end":{"line":32,"column":118}},"4":{"start":{"line":32,"column":74},"end":{"line":32,"column":117}},"5":{"start":{"line":34,"column":16},"end":{"line":34,"column":60}},"6":{"start":{"line":36,"column":16},"end":{"line":36,"column":37}},"7":{"start":{"line":38,"column":28},"end":{"line":40,"column":13}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":42}},"9":{"start":{"line":44,"column":6},"end":{"line":48,"column":4}},"10":{"start":{"line":50,"column":46},"end":{"line":50,"column":67}},"11":{"start":{"line":51,"column":58},"end":{"line":51,"column":76}},"12":{"start":{"line":53,"column":18},"end":{"line":53,"column":51}},"13":{"start":{"line":55,"column":29},"end":{"line":55,"column":62}},"14":{"start":{"line":57,"column":19},"end":{"line":57,"column":100}},"15":{"start":{"line":57,"column":39},"end":{"line":57,"column":77}},"16":{"start":{"line":59,"column":33},"end":{"line":62,"column":35}},"17":{"start":{"line":60,"column":4},"end":{"line":60,"column":32}},"18":{"start":{"line":61,"column":4},"end":{"line":61,"column":29}},"19":{"start":{"line":64,"column":31},"end":{"line":66,"column":8}},"20":{"start":{"line":65,"column":4},"end":{"line":65,"column":29}},"21":{"start":{"line":68,"column":31},"end":{"line":71,"column":17}},"22":{"start":{"line":69,"column":4},"end":{"line":69,"column":28}},"23":{"start":{"line":70,"column":4},"end":{"line":70,"column":41}},"24":{"start":{"line":73,"column":33},"end":{"line":87,"column":15}},"25":{"start":{"line":74,"column":4},"end":{"line":86,"column":6}},"26":{"start":{"line":80,"column":8},"end":{"line":84,"column":10}},"27":{"start":{"line":89,"column":30},"end":{"line":89,"column":128}},"28":{"start":{"line":89,"column":44},"end":{"line":89,"column":111}},"29":{"start":{"line":89,"column":73},"end":{"line":89,"column":110}},"30":{"start":{"line":91,"column":2},"end":{"line":106,"column":51}},"31":{"start":{"line":92,"column":4},"end":{"line":105,"column":5}},"32":{"start":{"line":93,"column":34},"end":{"line":93,"column":45}},"33":{"start":{"line":94,"column":58},"end":{"line":103,"column":32}},"34":{"start":{"line":95,"column":8},"end":{"line":101,"column":9}},"35":{"start":{"line":96,"column":27},"end":{"line":99,"column":29}},"36":{"start":{"line":100,"column":10},"end":{"line":100,"column":29}},"37":{"start":{"line":102,"column":8},"end":{"line":102,"column":19}},"38":{"start":{"line":104,"column":6},"end":{"line":104,"column":54}},"39":{"start":{"line":108,"column":2},"end":{"line":179,"column":4}}},"fnMap":{"0":{"name":"ExportSetsTab","decl":{"start":{"line":27,"column":24},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":160},"end":{"line":180,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":44},"end":{"line":29,"column":45}},"loc":{"start":{"line":29,"column":50},"end":{"line":31,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":52},"end":{"line":32,"column":53}},"loc":{"start":{"line":32,"column":74},"end":{"line":32,"column":117}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":42},"end":{"line":38,"column":43}},"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":42}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":33},"end":{"line":57,"column":34}},"loc":{"start":{"line":57,"column":39},"end":{"line":57,"column":77}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":51},"end":{"line":59,"column":52}},"loc":{"start":{"line":59,"column":57},"end":{"line":62,"column":3}},"line":59},"6":{"name":"(anonymous_6)","decl":{"start":{"line":64,"column":49},"end":{"line":64,"column":50}},"loc":{"start":{"line":64,"column":55},"end":{"line":66,"column":3}},"line":64},"7":{"name":"(anonymous_7)","decl":{"start":{"line":68,"column":49},"end":{"line":68,"column":50}},"loc":{"start":{"line":68,"column":55},"end":{"line":71,"column":3}},"line":68},"8":{"name":"(anonymous_8)","decl":{"start":{"line":73,"column":51},"end":{"line":73,"column":52}},"loc":{"start":{"line":74,"column":4},"end":{"line":86,"column":6}},"line":74},"9":{"name":"(anonymous_9)","decl":{"start":{"line":79,"column":14},"end":{"line":79,"column":15}},"loc":{"start":{"line":80,"column":8},"end":{"line":84,"column":10}},"line":80},"10":{"name":"(anonymous_10)","decl":{"start":{"line":89,"column":38},"end":{"line":89,"column":39}},"loc":{"start":{"line":89,"column":44},"end":{"line":89,"column":111}},"line":89},"11":{"name":"(anonymous_11)","decl":{"start":{"line":89,"column":64},"end":{"line":89,"column":65}},"loc":{"start":{"line":89,"column":73},"end":{"line":89,"column":110}},"line":89},"12":{"name":"(anonymous_12)","decl":{"start":{"line":91,"column":18},"end":{"line":91,"column":19}},"loc":{"start":{"line":91,"column":24},"end":{"line":106,"column":3}},"line":91},"13":{"name":"(anonymous_13)","decl":{"start":{"line":94,"column":108},"end":{"line":94,"column":109}},"loc":{"start":{"line":94,"column":149},"end":{"line":103,"column":7}},"line":94}},"branchMap":{"0":{"loc":{"start":{"line":92,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":92},"1":{"loc":{"start":{"line":95,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":101,"column":9}},{"start":{},"end":{}}],"line":95},"2":{"loc":{"start":{"line":113,"column":13},"end":{"line":130,"column":13}},"type":"cond-expr","locations":[{"start":{"line":114,"column":14},"end":{"line":121,"column":16}},{"start":{"line":123,"column":14},"end":{"line":129,"column":22}}],"line":113}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx","statementMap":{"0":{"start":{"line":16,"column":16},"end":{"line":16,"column":60}},"1":{"start":{"line":17,"column":17},"end":{"line":17,"column":48}},"2":{"start":{"line":18,"column":20},"end":{"line":18,"column":34}},"3":{"start":{"line":20,"column":22},"end":{"line":28,"column":14}},"4":{"start":{"line":21,"column":35},"end":{"line":26,"column":10}},"5":{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},"6":{"start":{"line":23,"column":8},"end":{"line":23,"column":33}},"7":{"start":{"line":25,"column":6},"end":{"line":25,"column":20}},"8":{"start":{"line":27,"column":4},"end":{"line":27,"column":24}},"9":{"start":{"line":30,"column":26},"end":{"line":30,"column":95}},"10":{"start":{"line":30,"column":46},"end":{"line":30,"column":84}},"11":{"start":{"line":30,"column":71},"end":{"line":30,"column":83}},"12":{"start":{"line":35,"column":28},"end":{"line":41,"column":41}},"13":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":71}},"15":{"start":{"line":37,"column":54},"end":{"line":37,"column":68}},"16":{"start":{"line":39,"column":6},"end":{"line":39,"column":54}},"17":{"start":{"line":43,"column":32},"end":{"line":49,"column":49}},"18":{"start":{"line":44,"column":4},"end":{"line":48,"column":5}},"19":{"start":{"line":45,"column":6},"end":{"line":45,"column":28}},"20":{"start":{"line":47,"column":6},"end":{"line":47,"column":57}},"21":{"start":{"line":47,"column":46},"end":{"line":47,"column":54}},"22":{"start":{"line":52,"column":4},"end":{"line":63,"column":6}},"23":{"start":{"line":58,"column":100},"end":{"line":58,"column":127}},"24":{"start":{"line":66,"column":2},"end":{"line":130,"column":4}},"25":{"start":{"line":113,"column":16},"end":{"line":116,"column":24}},"26":{"start":{"line":115,"column":44},"end":{"line":115,"column":65}},"27":{"start":{"line":115,"column":82},"end":{"line":115,"column":103}},"28":{"start":{"line":121,"column":50},"end":{"line":121,"column":71}}},"fnMap":{"0":{"name":"ExportThemesTab","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":39}},"loc":{"start":{"line":15,"column":156},"end":{"line":131,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":36},"end":{"line":20,"column":37}},"loc":{"start":{"line":20,"column":42},"end":{"line":28,"column":3}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":49},"end":{"line":21,"column":50}},"loc":{"start":{"line":21,"column":78},"end":{"line":26,"column":5}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":40},"end":{"line":30,"column":41}},"loc":{"start":{"line":30,"column":46},"end":{"line":30,"column":84}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":60},"end":{"line":30,"column":61}},"loc":{"start":{"line":30,"column":71},"end":{"line":30,"column":83}},"line":30},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":46},"end":{"line":35,"column":47}},"loc":{"start":{"line":35,"column":67},"end":{"line":41,"column":3}},"line":35},"6":{"name":"(anonymous_6)","decl":{"start":{"line":37,"column":46},"end":{"line":37,"column":47}},"loc":{"start":{"line":37,"column":54},"end":{"line":37,"column":68}},"line":37},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":50},"end":{"line":43,"column":51}},"loc":{"start":{"line":43,"column":56},"end":{"line":49,"column":3}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":46},"end":{"line":47,"column":54}},"line":47},"9":{"name":"createThemeRow","decl":{"start":{"line":51,"column":11},"end":{"line":51,"column":25}},"loc":{"start":{"line":51,"column":46},"end":{"line":64,"column":3}},"line":51},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":94},"end":{"line":58,"column":95}},"loc":{"start":{"line":58,"column":100},"end":{"line":58,"column":127}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":112,"column":31},"end":{"line":112,"column":32}},"loc":{"start":{"line":113,"column":16},"end":{"line":116,"column":24}},"line":113},"12":{"name":"(anonymous_12)","decl":{"start":{"line":115,"column":33},"end":{"line":115,"column":34}},"loc":{"start":{"line":115,"column":44},"end":{"line":115,"column":65}},"line":115},"13":{"name":"(anonymous_13)","decl":{"start":{"line":115,"column":71},"end":{"line":115,"column":72}},"loc":{"start":{"line":115,"column":82},"end":{"line":115,"column":103}},"line":115},"14":{"name":"(anonymous_14)","decl":{"start":{"line":121,"column":39},"end":{"line":121,"column":40}},"loc":{"start":{"line":121,"column":50},"end":{"line":121,"column":71}},"line":121}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},{"start":{},"end":{}}],"line":22},"1":{"loc":{"start":{"line":22,"column":10},"end":{"line":22,"column":54}},"type":"binary-expr","locations":[{"start":{"line":22,"column":10},"end":{"line":22,"column":21}},{"start":{"line":22,"column":25},"end":{"line":22,"column":54}}],"line":22},"2":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},{"start":{"line":38,"column":11},"end":{"line":40,"column":5}}],"line":36},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":48,"column":5}},{"start":{"line":46,"column":11},"end":{"line":48,"column":5}}],"line":44},"4":{"loc":{"start":{"line":68,"column":7},"end":{"line":128,"column":7}},"type":"cond-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":101,"column":21}},{"start":{"line":103,"column":8},"end":{"line":127,"column":21}}],"line":68},"5":{"loc":{"start":{"line":71,"column":13},"end":{"line":98,"column":13}},"type":"cond-expr","locations":[{"start":{"line":72,"column":14},"end":{"line":81,"column":17}},{"start":{"line":83,"column":14},"end":{"line":97,"column":17}}],"line":71},"6":{"loc":{"start":{"line":118,"column":15},"end":{"line":123,"column":22}},"type":"cond-expr","locations":[{"start":{"line":119,"column":16},"end":{"line":122,"column":24}},{"start":{"line":123,"column":18},"end":{"line":123,"column":22}}],"line":118}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":16,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":14,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":32},"end":{"line":4,"column":33}},"loc":{"start":{"line":7,"column":2},"end":{"line":14,"column":5}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx","statementMap":{"0":{"start":{"line":23,"column":16},"end":{"line":23,"column":60}},"1":{"start":{"line":25,"column":20},"end":{"line":25,"column":34}},"2":{"start":{"line":27,"column":40},"end":{"line":27,"column":60}},"3":{"start":{"line":28,"column":36},"end":{"line":28,"column":112}},"4":{"start":{"line":30,"column":18},"end":{"line":30,"column":51}},"5":{"start":{"line":31,"column":17},"end":{"line":31,"column":48}},"6":{"start":{"line":33,"column":46},"end":{"line":33,"column":103}},"7":{"start":{"line":33,"column":93},"end":{"line":33,"column":101}},"8":{"start":{"line":35,"column":42},"end":{"line":41,"column":5}},"9":{"start":{"line":36,"column":21},"end":{"line":39,"column":5}},"10":{"start":{"line":40,"column":4},"end":{"line":40,"column":20}},"11":{"start":{"line":45,"column":6},"end":{"line":45,"column":17}},"12":{"start":{"line":47,"column":28},"end":{"line":49,"column":8}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":25}},"14":{"start":{"line":51,"column":30},"end":{"line":54,"column":8}},"15":{"start":{"line":53,"column":4},"end":{"line":53,"column":26}},"16":{"start":{"line":56,"column":30},"end":{"line":65,"column":180}},"17":{"start":{"line":57,"column":4},"end":{"line":57,"column":24}},"18":{"start":{"line":58,"column":4},"end":{"line":64,"column":5}},"19":{"start":{"line":59,"column":6},"end":{"line":59,"column":50}},"20":{"start":{"line":60,"column":6},"end":{"line":60,"column":60}},"21":{"start":{"line":61,"column":11},"end":{"line":64,"column":5}},"22":{"start":{"line":62,"column":6},"end":{"line":62,"column":54}},"23":{"start":{"line":63,"column":6},"end":{"line":63,"column":59}},"24":{"start":{"line":66,"column":27},"end":{"line":66,"column":104}},"25":{"start":{"line":68,"column":26},"end":{"line":70,"column":8}},"26":{"start":{"line":69,"column":4},"end":{"line":69,"column":22}},"27":{"start":{"line":72,"column":22},"end":{"line":78,"column":33}},"28":{"start":{"line":73,"column":4},"end":{"line":77,"column":5}},"29":{"start":{"line":74,"column":6},"end":{"line":74,"column":28}},"30":{"start":{"line":76,"column":6},"end":{"line":76,"column":26}},"31":{"start":{"line":80,"column":28},"end":{"line":82,"column":8}},"32":{"start":{"line":81,"column":4},"end":{"line":81,"column":27}},"33":{"start":{"line":84,"column":2},"end":{"line":126,"column":4}},"34":{"start":{"line":113,"column":59},"end":{"line":113,"column":87}},"35":{"start":{"line":118,"column":57},"end":{"line":118,"column":83}}},"fnMap":{"0":{"name":"ManageStylesAndVariables","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":48}},"loc":{"start":{"line":22,"column":141},"end":{"line":127,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":82},"end":{"line":33,"column":83}},"loc":{"start":{"line":33,"column":93},"end":{"line":33,"column":101}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":87},"end":{"line":35,"column":88}},"loc":{"start":{"line":35,"column":96},"end":{"line":41,"column":3}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":46},"end":{"line":47,"column":47}},"loc":{"start":{"line":47,"column":52},"end":{"line":49,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":48},"end":{"line":51,"column":49}},"loc":{"start":{"line":51,"column":54},"end":{"line":54,"column":3}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":56,"column":48},"end":{"line":56,"column":49}},"loc":{"start":{"line":56,"column":60},"end":{"line":65,"column":3}},"line":56},"6":{"name":"(anonymous_6)","decl":{"start":{"line":68,"column":44},"end":{"line":68,"column":45}},"loc":{"start":{"line":68,"column":78},"end":{"line":70,"column":3}},"line":68},"7":{"name":"(anonymous_7)","decl":{"start":{"line":72,"column":40},"end":{"line":72,"column":41}},"loc":{"start":{"line":72,"column":46},"end":{"line":78,"column":3}},"line":72},"8":{"name":"(anonymous_8)","decl":{"start":{"line":80,"column":46},"end":{"line":80,"column":47}},"loc":{"start":{"line":80,"column":64},"end":{"line":82,"column":3}},"line":80},"9":{"name":"(anonymous_9)","decl":{"start":{"line":113,"column":53},"end":{"line":113,"column":54}},"loc":{"start":{"line":113,"column":59},"end":{"line":113,"column":87}},"line":113},"10":{"name":"(anonymous_10)","decl":{"start":{"line":118,"column":51},"end":{"line":118,"column":52}},"loc":{"start":{"line":118,"column":57},"end":{"line":118,"column":83}},"line":118}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":76},"end":{"line":28,"column":111}},"type":"cond-expr","locations":[{"start":{"line":28,"column":88},"end":{"line":28,"column":99}},{"start":{"line":28,"column":102},"end":{"line":28,"column":111}}],"line":28},"1":{"loc":{"start":{"line":58,"column":4},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":64,"column":5}},{"start":{"line":61,"column":11},"end":{"line":64,"column":5}}],"line":58},"2":{"loc":{"start":{"line":61,"column":11},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":11},"end":{"line":64,"column":5}},{"start":{},"end":{}}],"line":61},"3":{"loc":{"start":{"line":66,"column":27},"end":{"line":66,"column":104}},"type":"cond-expr","locations":[{"start":{"line":66,"column":53},"end":{"line":66,"column":76}},{"start":{"line":66,"column":79},"end":{"line":66,"column":104}}],"line":66},"4":{"loc":{"start":{"line":73,"column":4},"end":{"line":77,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":77,"column":5}},{"start":{"line":75,"column":11},"end":{"line":77,"column":5}}],"line":73},"5":{"loc":{"start":{"line":115,"column":65},"end":{"line":115,"column":94}},"type":"cond-expr","locations":[{"start":{"line":115,"column":77},"end":{"line":115,"column":82}},{"start":{"line":115,"column":85},"end":{"line":115,"column":94}}],"line":115},"6":{"loc":{"start":{"line":124,"column":28},"end":{"line":124,"column":52}},"type":"binary-expr","locations":[{"start":{"line":124,"column":28},"end":{"line":124,"column":37}},{"start":{"line":124,"column":41},"end":{"line":124,"column":52}}],"line":124}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/OptionsModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/OptionsModal.tsx","statementMap":{"0":{"start":{"line":32,"column":27},"end":{"line":34,"column":2}},"1":{"start":{"line":40,"column":57},"end":{"line":40,"column":119}},"2":{"start":{"line":41,"column":30},"end":{"line":41,"column":83}},"3":{"start":{"line":43,"column":40},"end":{"line":43,"column":85}},"4":{"start":{"line":44,"column":41},"end":{"line":44,"column":87}},"5":{"start":{"line":45,"column":50},"end":{"line":45,"column":105}},"6":{"start":{"line":47,"column":25},"end":{"line":47,"column":60}},"7":{"start":{"line":48,"column":26},"end":{"line":48,"column":62}},"8":{"start":{"line":49,"column":27},"end":{"line":49,"column":64}},"9":{"start":{"line":50,"column":26},"end":{"line":50,"column":62}},"10":{"start":{"line":51,"column":22},"end":{"line":51,"column":54}},"11":{"start":{"line":52,"column":27},"end":{"line":52,"column":64}},"12":{"start":{"line":53,"column":23},"end":{"line":53,"column":56}},"13":{"start":{"line":55,"column":19},"end":{"line":55,"column":42}},"14":{"start":{"line":57,"column":29},"end":{"line":62,"column":3}},"15":{"start":{"line":59,"column":6},"end":{"line":59,"column":61}},"16":{"start":{"line":64,"column":42},"end":{"line":69,"column":3}},"17":{"start":{"line":66,"column":6},"end":{"line":66,"column":62}},"18":{"start":{"line":71,"column":57},"end":{"line":76,"column":3}},"19":{"start":{"line":73,"column":6},"end":{"line":73,"column":71}},"20":{"start":{"line":78,"column":37},"end":{"line":83,"column":3}},"21":{"start":{"line":80,"column":6},"end":{"line":80,"column":69}},"22":{"start":{"line":85,"column":64},"end":{"line":90,"column":3}},"23":{"start":{"line":87,"column":6},"end":{"line":87,"column":78}},"24":{"start":{"line":92,"column":37},"end":{"line":99,"column":3}},"25":{"start":{"line":94,"column":6},"end":{"line":94,"column":51}},"26":{"start":{"line":96,"column":6},"end":{"line":96,"column":58}},"27":{"start":{"line":96,"column":17},"end":{"line":96,"column":58}},"28":{"start":{"line":101,"column":38},"end":{"line":106,"column":3}},"29":{"start":{"line":103,"column":6},"end":{"line":103,"column":52}},"30":{"start":{"line":107,"column":39},"end":{"line":112,"column":3}},"31":{"start":{"line":109,"column":6},"end":{"line":109,"column":53}},"32":{"start":{"line":113,"column":38},"end":{"line":118,"column":3}},"33":{"start":{"line":115,"column":6},"end":{"line":115,"column":52}},"34":{"start":{"line":119,"column":34},"end":{"line":126,"column":3}},"35":{"start":{"line":121,"column":6},"end":{"line":121,"column":48}},"36":{"start":{"line":123,"column":6},"end":{"line":123,"column":61}},"37":{"start":{"line":123,"column":17},"end":{"line":123,"column":61}},"38":{"start":{"line":127,"column":39},"end":{"line":132,"column":3}},"39":{"start":{"line":129,"column":6},"end":{"line":129,"column":53}},"40":{"start":{"line":133,"column":35},"end":{"line":138,"column":3}},"41":{"start":{"line":135,"column":6},"end":{"line":135,"column":49}},"42":{"start":{"line":140,"column":28},"end":{"line":142,"column":19}},"43":{"start":{"line":141,"column":4},"end":{"line":141,"column":18}},"44":{"start":{"line":144,"column":28},"end":{"line":146,"column":3}},"45":{"start":{"line":145,"column":4},"end":{"line":145,"column":27}},"46":{"start":{"line":148,"column":16},"end":{"line":148,"column":70}},"47":{"start":{"line":150,"column":2},"end":{"line":268,"column":4}},"48":{"start":{"line":158,"column":36},"end":{"line":158,"column":60}}},"fnMap":{"0":{"name":"OptionsModal","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":36}},"loc":{"start":{"line":39,"column":130},"end":{"line":269,"column":1}},"line":39},"1":{"name":"(anonymous_1)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":29},"end":{"line":60,"column":5}},"line":58},"2":{"name":"(anonymous_2)","decl":{"start":{"line":65,"column":4},"end":{"line":65,"column":5}},"loc":{"start":{"line":65,"column":29},"end":{"line":67,"column":5}},"line":65},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":29},"end":{"line":74,"column":5}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":4},"end":{"line":79,"column":5}},"loc":{"start":{"line":79,"column":29},"end":{"line":81,"column":5}},"line":79},"5":{"name":"(anonymous_5)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":29},"end":{"line":88,"column":5}},"line":86},"6":{"name":"(anonymous_6)","decl":{"start":{"line":93,"column":4},"end":{"line":93,"column":5}},"loc":{"start":{"line":93,"column":29},"end":{"line":97,"column":5}},"line":93},"7":{"name":"(anonymous_7)","decl":{"start":{"line":102,"column":4},"end":{"line":102,"column":5}},"loc":{"start":{"line":102,"column":29},"end":{"line":104,"column":5}},"line":102},"8":{"name":"(anonymous_8)","decl":{"start":{"line":108,"column":4},"end":{"line":108,"column":5}},"loc":{"start":{"line":108,"column":29},"end":{"line":110,"column":5}},"line":108},"9":{"name":"(anonymous_9)","decl":{"start":{"line":114,"column":4},"end":{"line":114,"column":5}},"loc":{"start":{"line":114,"column":29},"end":{"line":116,"column":5}},"line":114},"10":{"name":"(anonymous_10)","decl":{"start":{"line":120,"column":4},"end":{"line":120,"column":5}},"loc":{"start":{"line":120,"column":29},"end":{"line":124,"column":5}},"line":120},"11":{"name":"(anonymous_11)","decl":{"start":{"line":128,"column":4},"end":{"line":128,"column":5}},"loc":{"start":{"line":128,"column":29},"end":{"line":130,"column":5}},"line":128},"12":{"name":"(anonymous_12)","decl":{"start":{"line":134,"column":4},"end":{"line":134,"column":5}},"loc":{"start":{"line":134,"column":29},"end":{"line":136,"column":5}},"line":134},"13":{"name":"(anonymous_13)","decl":{"start":{"line":140,"column":46},"end":{"line":140,"column":47}},"loc":{"start":{"line":140,"column":52},"end":{"line":142,"column":3}},"line":140},"14":{"name":"(anonymous_14)","decl":{"start":{"line":144,"column":28},"end":{"line":144,"column":29}},"loc":{"start":{"line":144,"column":46},"end":{"line":146,"column":3}},"line":144},"15":{"name":"(anonymous_15)","decl":{"start":{"line":158,"column":25},"end":{"line":158,"column":26}},"loc":{"start":{"line":158,"column":36},"end":{"line":158,"column":60}},"line":158}},"branchMap":{"0":{"loc":{"start":{"line":96,"column":6},"end":{"line":96,"column":58}},"type":"if","locations":[{"start":{"line":96,"column":6},"end":{"line":96,"column":58}},{"start":{},"end":{}}],"line":96},"1":{"loc":{"start":{"line":123,"column":6},"end":{"line":123,"column":61}},"type":"if","locations":[{"start":{"line":123,"column":6},"end":{"line":123,"column":61}},{"start":{},"end":{}}],"line":123}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/StyledCard.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/StyledCard.tsx","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":11,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx","statementMap":{"0":{"start":{"line":15,"column":28},"end":{"line":43,"column":1}},"1":{"start":{"line":16,"column":2},"end":{"line":42,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":28},"end":{"line":15,"column":29}},"loc":{"start":{"line":16,"column":2},"end":{"line":42,"column":10}},"line":16}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/docsLinks.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageStylesAndVariables/docsLinks.tsx","statementMap":{"0":{"start":{"line":1,"column":25},"end":{"line":5,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx","statementMap":{"0":{"start":{"line":44,"column":104},"end":{"line":215,"column":1}},"1":{"start":{"line":47,"column":16},"end":{"line":47,"column":37}},"2":{"start":{"line":48,"column":36},"end":{"line":48,"column":64}},"3":{"start":{"line":49,"column":46},"end":{"line":49,"column":61}},"4":{"start":{"line":50,"column":27},"end":{"line":50,"column":53}},"5":{"start":{"line":51,"column":28},"end":{"line":53,"column":13}},"6":{"start":{"line":52,"column":4},"end":{"line":52,"column":42}},"7":{"start":{"line":54,"column":29},"end":{"line":54,"column":62}},"8":{"start":{"line":55,"column":17},"end":{"line":55,"column":48}},"9":{"start":{"line":56,"column":21},"end":{"line":56,"column":122}},"10":{"start":{"line":56,"column":36},"end":{"line":56,"column":110}},"11":{"start":{"line":56,"column":69},"end":{"line":56,"column":77}},"12":{"start":{"line":56,"column":90},"end":{"line":56,"column":107}},"13":{"start":{"line":57,"column":16},"end":{"line":57,"column":52}},"14":{"start":{"line":59,"column":26},"end":{"line":63,"column":44}},"15":{"start":{"line":60,"column":4},"end":{"line":62,"column":46}},"16":{"start":{"line":67,"column":6},"end":{"line":72,"column":4}},"17":{"start":{"line":74,"column":29},"end":{"line":80,"column":18}},"18":{"start":{"line":75,"column":4},"end":{"line":79,"column":5}},"19":{"start":{"line":76,"column":6},"end":{"line":76,"column":26}},"20":{"start":{"line":77,"column":6},"end":{"line":77,"column":26}},"21":{"start":{"line":78,"column":6},"end":{"line":78,"column":31}},"22":{"start":{"line":82,"column":33},"end":{"line":96,"column":15}},"23":{"start":{"line":83,"column":4},"end":{"line":95,"column":6}},"24":{"start":{"line":89,"column":8},"end":{"line":93,"column":10}},"25":{"start":{"line":98,"column":25},"end":{"line":100,"column":8}},"26":{"start":{"line":98,"column":49},"end":{"line":100,"column":3}},"27":{"start":{"line":102,"column":2},"end":{"line":214,"column":4}},"28":{"start":{"line":150,"column":24},"end":{"line":155,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":44,"column":104},"end":{"line":44,"column":105}},"loc":{"start":{"line":46,"column":6},"end":{"line":215,"column":1}},"line":46},"1":{"name":"(anonymous_1)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":37}},"loc":{"start":{"line":52,"column":4},"end":{"line":52,"column":42}},"line":52},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":29},"end":{"line":56,"column":30}},"loc":{"start":{"line":56,"column":36},"end":{"line":56,"column":110}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":62},"end":{"line":56,"column":63}},"loc":{"start":{"line":56,"column":69},"end":{"line":56,"column":77}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":56,"column":83},"end":{"line":56,"column":84}},"loc":{"start":{"line":56,"column":90},"end":{"line":56,"column":107}},"line":56},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":34},"end":{"line":59,"column":35}},"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":46}},"line":60},"6":{"name":"(anonymous_6)","decl":{"start":{"line":74,"column":41},"end":{"line":74,"column":42}},"loc":{"start":{"line":74,"column":87},"end":{"line":80,"column":3}},"line":74},"7":{"name":"(anonymous_7)","decl":{"start":{"line":82,"column":45},"end":{"line":82,"column":46}},"loc":{"start":{"line":83,"column":4},"end":{"line":95,"column":6}},"line":83},"8":{"name":"(anonymous_8)","decl":{"start":{"line":88,"column":14},"end":{"line":88,"column":15}},"loc":{"start":{"line":89,"column":8},"end":{"line":93,"column":10}},"line":89},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":43},"end":{"line":98,"column":44}},"loc":{"start":{"line":98,"column":49},"end":{"line":100,"column":3}},"line":98},"10":{"name":"(anonymous_10)","decl":{"start":{"line":149,"column":30},"end":{"line":149,"column":31}},"loc":{"start":{"line":150,"column":24},"end":{"line":155,"column":26}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":46}},"type":"cond-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":46}},{"start":{"line":62,"column":8},"end":{"line":62,"column":46}}],"line":60},"1":{"loc":{"start":{"line":75,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":75},"2":{"loc":{"start":{"line":129,"column":12},"end":{"line":171,"column":13}},"type":"cond-expr","locations":[{"start":{"line":130,"column":14},"end":{"line":140,"column":16}},{"start":{"line":142,"column":14},"end":{"line":170,"column":20}}],"line":129},"3":{"loc":{"start":{"line":144,"column":18},"end":{"line":168,"column":19}},"type":"cond-expr","locations":[{"start":{"line":145,"column":20},"end":{"line":157,"column":22}},{"start":{"line":159,"column":20},"end":{"line":167,"column":29}}],"line":144},"4":{"loc":{"start":{"line":187,"column":7},"end":{"line":193,"column":7}},"type":"binary-expr","locations":[{"start":{"line":187,"column":7},"end":{"line":187,"column":9}},{"start":{"line":189,"column":6},"end":{"line":192,"column":44}}],"line":187},"5":{"loc":{"start":{"line":195,"column":9},"end":{"line":203,"column":9}},"type":"binary-expr","locations":[{"start":{"line":195,"column":9},"end":{"line":195,"column":41}},{"start":{"line":196,"column":8},"end":{"line":202,"column":16}}],"line":195},"6":{"loc":{"start":{"line":204,"column":9},"end":{"line":211,"column":9}},"type":"binary-expr","locations":[{"start":{"line":204,"column":10},"end":{"line":204,"column":54}},{"start":{"line":204,"column":58},"end":{"line":204,"column":60}},{"start":{"line":205,"column":8},"end":{"line":210,"column":14}}],"line":204}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ManageThemesModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ManageThemesModal.tsx","statementMap":{"0":{"start":{"line":32,"column":27},"end":{"line":41,"column":2}},"1":{"start":{"line":43,"column":100},"end":{"line":284,"column":1}},"2":{"start":{"line":44,"column":19},"end":{"line":44,"column":42}},"3":{"start":{"line":45,"column":17},"end":{"line":45,"column":48}},"4":{"start":{"line":46,"column":22},"end":{"line":46,"column":54}},"5":{"start":{"line":47,"column":22},"end":{"line":47,"column":34}},"6":{"start":{"line":48,"column":48},"end":{"line":48,"column":81}},"7":{"start":{"line":49,"column":64},"end":{"line":49,"column":83}},"8":{"start":{"line":50,"column":23},"end":{"line":50,"column":51}},"9":{"start":{"line":51,"column":20},"end":{"line":51,"column":43}},"10":{"start":{"line":52,"column":16},"end":{"line":52,"column":42}},"11":{"start":{"line":54,"column":57},"end":{"line":64,"column":31}},"12":{"start":{"line":55,"column":24},"end":{"line":55,"column":71}},"13":{"start":{"line":55,"column":48},"end":{"line":55,"column":70}},"14":{"start":{"line":56,"column":4},"end":{"line":62,"column":5}},"15":{"start":{"line":57,"column":6},"end":{"line":61,"column":8}},"16":{"start":{"line":63,"column":4},"end":{"line":63,"column":14}},"17":{"start":{"line":66,"column":22},"end":{"line":68,"column":16}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":53}},"19":{"start":{"line":70,"column":34},"end":{"line":82,"column":23}},"20":{"start":{"line":71,"column":4},"end":{"line":81,"column":5}},"21":{"start":{"line":72,"column":24},"end":{"line":72,"column":71}},"22":{"start":{"line":73,"column":6},"end":{"line":77,"column":7}},"23":{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},"24":{"start":{"line":75,"column":10},"end":{"line":75,"column":69}},"25":{"start":{"line":78,"column":6},"end":{"line":78,"column":36}},"26":{"start":{"line":80,"column":6},"end":{"line":80,"column":43}},"27":{"start":{"line":84,"column":38},"end":{"line":86,"column":23}},"28":{"start":{"line":85,"column":4},"end":{"line":85,"column":41}},"29":{"start":{"line":88,"column":28},"end":{"line":97,"column":56}},"30":{"start":{"line":89,"column":4},"end":{"line":96,"column":5}},"31":{"start":{"line":90,"column":28},"end":{"line":90,"column":123}},"32":{"start":{"line":91,"column":6},"end":{"line":95,"column":7}},"33":{"start":{"line":92,"column":8},"end":{"line":92,"column":55}},"34":{"start":{"line":93,"column":8},"end":{"line":93,"column":57}},"35":{"start":{"line":94,"column":8},"end":{"line":94,"column":34}},"36":{"start":{"line":99,"column":27},"end":{"line":101,"column":8}},"37":{"start":{"line":100,"column":4},"end":{"line":100,"column":30}},"38":{"start":{"line":103,"column":23},"end":{"line":121,"column":70}},"39":{"start":{"line":104,"column":15},"end":{"line":104,"column":80}},"40":{"start":{"line":105,"column":4},"end":{"line":109,"column":5}},"41":{"start":{"line":106,"column":6},"end":{"line":106,"column":42}},"42":{"start":{"line":108,"column":6},"end":{"line":108,"column":40}},"43":{"start":{"line":110,"column":4},"end":{"line":119,"column":7}},"44":{"start":{"line":120,"column":4},"end":{"line":120,"column":30}},"45":{"start":{"line":123,"column":24},"end":{"line":145,"column":40}},"46":{"start":{"line":124,"column":23},"end":{"line":124,"column":25}},"47":{"start":{"line":125,"column":26},"end":{"line":136,"column":10}},"48":{"start":{"line":126,"column":6},"end":{"line":128,"column":7}},"49":{"start":{"line":127,"column":8},"end":{"line":127,"column":34}},"50":{"start":{"line":129,"column":6},"end":{"line":134,"column":7}},"51":{"start":{"line":130,"column":8},"end":{"line":133,"column":11}},"52":{"start":{"line":135,"column":6},"end":{"line":135,"column":17}},"53":{"start":{"line":137,"column":27},"end":{"line":137,"column":38}},"54":{"start":{"line":138,"column":4},"end":{"line":143,"column":7}},"55":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"56":{"start":{"line":140,"column":45},"end":{"line":140,"column":103}},"57":{"start":{"line":141,"column":8},"end":{"line":141,"column":37}},"58":{"start":{"line":144,"column":4},"end":{"line":144,"column":49}},"59":{"start":{"line":147,"column":29},"end":{"line":164,"column":8}},"60":{"start":{"line":153,"column":29},"end":{"line":157,"column":5}},"61":{"start":{"line":158,"column":20},"end":{"line":158,"column":82}},"62":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"63":{"start":{"line":161,"column":6},"end":{"line":161,"column":76}},"64":{"start":{"line":163,"column":4},"end":{"line":163,"column":21}},"65":{"start":{"line":166,"column":2},"end":{"line":170,"column":49}},"66":{"start":{"line":167,"column":4},"end":{"line":169,"column":5}},"67":{"start":{"line":168,"column":6},"end":{"line":168,"column":63}},"68":{"start":{"line":172,"column":32},"end":{"line":176,"column":8}},"69":{"start":{"line":173,"column":4},"end":{"line":175,"column":5}},"70":{"start":{"line":174,"column":6},"end":{"line":174,"column":65}},"71":{"start":{"line":178,"column":41},"end":{"line":178,"column":117}},"72":{"start":{"line":178,"column":55},"end":{"line":178,"column":91}},"73":{"start":{"line":180,"column":2},"end":{"line":283,"column":4}},"74":{"start":{"line":257,"column":14},"end":{"line":268,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":43,"column":100},"end":{"line":43,"column":101}},"loc":{"start":{"line":43,"column":106},"end":{"line":284,"column":1}},"line":43},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":65},"end":{"line":54,"column":66}},"loc":{"start":{"line":54,"column":71},"end":{"line":64,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":36},"end":{"line":55,"column":37}},"loc":{"start":{"line":55,"column":48},"end":{"line":55,"column":70}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":34},"end":{"line":66,"column":35}},"loc":{"start":{"line":66,"column":40},"end":{"line":68,"column":3}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":46},"end":{"line":70,"column":47}},"loc":{"start":{"line":70,"column":71},"end":{"line":82,"column":3}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":84,"column":50},"end":{"line":84,"column":51}},"loc":{"start":{"line":84,"column":56},"end":{"line":86,"column":3}},"line":84},"6":{"name":"(anonymous_6)","decl":{"start":{"line":88,"column":40},"end":{"line":88,"column":41}},"loc":{"start":{"line":88,"column":52},"end":{"line":97,"column":3}},"line":88},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":39},"end":{"line":99,"column":40}},"loc":{"start":{"line":99,"column":45},"end":{"line":101,"column":3}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":103,"column":35},"end":{"line":103,"column":36}},"loc":{"start":{"line":103,"column":59},"end":{"line":121,"column":3}},"line":103},"9":{"name":"(anonymous_9)","decl":{"start":{"line":123,"column":42},"end":{"line":123,"column":43}},"loc":{"start":{"line":123,"column":74},"end":{"line":145,"column":3}},"line":123},"10":{"name":"(anonymous_10)","decl":{"start":{"line":125,"column":66},"end":{"line":125,"column":67}},"loc":{"start":{"line":125,"column":81},"end":{"line":136,"column":5}},"line":125},"11":{"name":"(anonymous_11)","decl":{"start":{"line":138,"column":40},"end":{"line":138,"column":41}},"loc":{"start":{"line":138,"column":51},"end":{"line":143,"column":5}},"line":138},"12":{"name":"(anonymous_12)","decl":{"start":{"line":140,"column":34},"end":{"line":140,"column":35}},"loc":{"start":{"line":140,"column":45},"end":{"line":140,"column":103}},"line":140},"13":{"name":"(anonymous_13)","decl":{"start":{"line":147,"column":47},"end":{"line":147,"column":48}},"loc":{"start":{"line":152,"column":7},"end":{"line":164,"column":3}},"line":152},"14":{"name":"(anonymous_14)","decl":{"start":{"line":166,"column":12},"end":{"line":166,"column":13}},"loc":{"start":{"line":166,"column":18},"end":{"line":170,"column":3}},"line":166},"15":{"name":"(anonymous_15)","decl":{"start":{"line":172,"column":44},"end":{"line":172,"column":45}},"loc":{"start":{"line":172,"column":50},"end":{"line":176,"column":3}},"line":172},"16":{"name":"(anonymous_16)","decl":{"start":{"line":178,"column":49},"end":{"line":178,"column":50}},"loc":{"start":{"line":178,"column":55},"end":{"line":178,"column":91}},"line":178},"17":{"name":"(anonymous_17)","decl":{"start":{"line":256,"column":26},"end":{"line":256,"column":27}},"loc":{"start":{"line":257,"column":14},"end":{"line":268,"column":25}},"line":257}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":56,"column":4},"end":{"line":62,"column":5}},{"start":{},"end":{}}],"line":56},"1":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":66}},"type":"cond-expr","locations":[{"start":{"line":60,"column":33},"end":{"line":60,"column":61}},{"start":{"line":60,"column":64},"end":{"line":60,"column":66}}],"line":60},"2":{"loc":{"start":{"line":71,"column":4},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":81,"column":5}},{"start":{"line":79,"column":11},"end":{"line":81,"column":5}}],"line":71},"3":{"loc":{"start":{"line":71,"column":8},"end":{"line":71,"column":43}},"type":"binary-expr","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":13}},{"start":{"line":71,"column":17},"end":{"line":71,"column":43}}],"line":71},"4":{"loc":{"start":{"line":72,"column":24},"end":{"line":72,"column":71}},"type":"cond-expr","locations":[{"start":{"line":72,"column":55},"end":{"line":72,"column":60}},{"start":{"line":72,"column":63},"end":{"line":72,"column":71}}],"line":72},"5":{"loc":{"start":{"line":73,"column":6},"end":{"line":77,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":77,"column":7}},{"start":{},"end":{}}],"line":73},"6":{"loc":{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},"type":"if","locations":[{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},{"start":{},"end":{}}],"line":74},"7":{"loc":{"start":{"line":89,"column":4},"end":{"line":96,"column":5}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":96,"column":5}},{"start":{},"end":{}}],"line":89},"8":{"loc":{"start":{"line":91,"column":6},"end":{"line":95,"column":7}},"type":"if","locations":[{"start":{"line":91,"column":6},"end":{"line":95,"column":7}},{"start":{},"end":{}}],"line":91},"9":{"loc":{"start":{"line":104,"column":15},"end":{"line":104,"column":80}},"type":"cond-expr","locations":[{"start":{"line":104,"column":53},"end":{"line":104,"column":68}},{"start":{"line":104,"column":71},"end":{"line":104,"column":80}}],"line":104},"10":{"loc":{"start":{"line":105,"column":4},"end":{"line":109,"column":5}},"type":"if","locations":[{"start":{"line":105,"column":4},"end":{"line":109,"column":5}},{"start":{"line":107,"column":11},"end":{"line":109,"column":5}}],"line":105},"11":{"loc":{"start":{"line":114,"column":10},"end":{"line":114,"column":54}},"type":"cond-expr","locations":[{"start":{"line":114,"column":26},"end":{"line":114,"column":49}},{"start":{"line":114,"column":52},"end":{"line":114,"column":54}}],"line":114},"12":{"loc":{"start":{"line":126,"column":6},"end":{"line":128,"column":7}},"type":"if","locations":[{"start":{"line":126,"column":6},"end":{"line":128,"column":7}},{"start":{},"end":{}}],"line":126},"13":{"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":56}},"type":"binary-expr","locations":[{"start":{"line":126,"column":10},"end":{"line":126,"column":22}},{"start":{"line":126,"column":26},"end":{"line":126,"column":56}}],"line":126},"14":{"loc":{"start":{"line":129,"column":6},"end":{"line":134,"column":7}},"type":"if","locations":[{"start":{"line":129,"column":6},"end":{"line":134,"column":7}},{"start":{},"end":{}}],"line":129},"15":{"loc":{"start":{"line":129,"column":10},"end":{"line":129,"column":55}},"type":"binary-expr","locations":[{"start":{"line":129,"column":10},"end":{"line":129,"column":21}},{"start":{"line":129,"column":25},"end":{"line":129,"column":55}}],"line":129},"16":{"loc":{"start":{"line":132,"column":14},"end":{"line":132,"column":86}},"type":"cond-expr","locations":[{"start":{"line":132,"column":58},"end":{"line":132,"column":60}},{"start":{"line":132,"column":63},"end":{"line":132,"column":86}}],"line":132},"17":{"loc":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"type":"if","locations":[{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},{"start":{},"end":{}}],"line":140},"18":{"loc":{"start":{"line":140,"column":45},"end":{"line":140,"column":103}},"type":"binary-expr","locations":[{"start":{"line":140,"column":45},"end":{"line":140,"column":78}},{"start":{"line":140,"column":82},"end":{"line":140,"column":103}}],"line":140},"19":{"loc":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},{"start":{},"end":{}}],"line":160},"20":{"loc":{"start":{"line":167,"column":4},"end":{"line":169,"column":5}},"type":"if","locations":[{"start":{"line":167,"column":4},"end":{"line":169,"column":5}},{"start":{},"end":{}}],"line":167},"21":{"loc":{"start":{"line":173,"column":4},"end":{"line":175,"column":5}},"type":"if","locations":[{"start":{"line":173,"column":4},"end":{"line":175,"column":5}},{"start":{},"end":{}}],"line":173},"22":{"loc":{"start":{"line":189,"column":11},"end":{"line":198,"column":11}},"type":"binary-expr","locations":[{"start":{"line":189,"column":11},"end":{"line":189,"column":27}},{"start":{"line":190,"column":12},"end":{"line":197,"column":21}}],"line":189},"23":{"loc":{"start":{"line":199,"column":11},"end":{"line":231,"column":11}},"type":"binary-expr","locations":[{"start":{"line":199,"column":11},"end":{"line":199,"column":26}},{"start":{"line":200,"column":12},"end":{"line":230,"column":15}}],"line":199},"24":{"loc":{"start":{"line":202,"column":17},"end":{"line":211,"column":17}},"type":"binary-expr","locations":[{"start":{"line":202,"column":17},"end":{"line":202,"column":52}},{"start":{"line":203,"column":16},"end":{"line":210,"column":25}}],"line":202},"25":{"loc":{"start":{"line":237,"column":7},"end":{"line":243,"column":7}},"type":"binary-expr","locations":[{"start":{"line":237,"column":7},"end":{"line":237,"column":21}},{"start":{"line":237,"column":25},"end":{"line":237,"column":41}},{"start":{"line":238,"column":8},"end":{"line":242,"column":10}}],"line":237},"26":{"loc":{"start":{"line":244,"column":7},"end":{"line":273,"column":7}},"type":"binary-expr","locations":[{"start":{"line":244,"column":7},"end":{"line":244,"column":22}},{"start":{"line":244,"column":26},"end":{"line":244,"column":42}},{"start":{"line":245,"column":8},"end":{"line":272,"column":14}}],"line":244},"27":{"loc":{"start":{"line":259,"column":18},"end":{"line":266,"column":19}},"type":"cond-expr","locations":[{"start":{"line":260,"column":20},"end":{"line":260,"column":195}},{"start":{"line":262,"column":20},"end":{"line":265,"column":22}}],"line":259},"28":{"loc":{"start":{"line":259,"column":18},"end":{"line":259,"column":63}},"type":"binary-expr","locations":[{"start":{"line":259,"column":18},"end":{"line":259,"column":29}},{"start":{"line":259,"column":33},"end":{"line":259,"column":63}}],"line":259},"29":{"loc":{"start":{"line":263,"column":29},"end":{"line":263,"column":124}},"type":"cond-expr","locations":[{"start":{"line":263,"column":71},"end":{"line":263,"column":101}},{"start":{"line":263,"column":104},"end":{"line":263,"column":124}}],"line":263},"30":{"loc":{"start":{"line":274,"column":7},"end":{"line":281,"column":7}},"type":"binary-expr","locations":[{"start":{"line":274,"column":7},"end":{"line":274,"column":22}},{"start":{"line":275,"column":6},"end":{"line":280,"column":8}}],"line":274},"31":{"loc":{"start":{"line":276,"column":12},"end":{"line":276,"column":77}},"type":"cond-expr","locations":[{"start":{"line":276,"column":50},"end":{"line":276,"column":65}},{"start":{"line":276,"column":68},"end":{"line":276,"column":77}}],"line":276}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/SingleThemeEntry.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/SingleThemeEntry.tsx","statementMap":{"0":{"start":{"line":20,"column":25},"end":{"line":40,"column":2}},"1":{"start":{"line":42,"column":99},"end":{"line":130,"column":1}},"2":{"start":{"line":45,"column":22},"end":{"line":45,"column":54}},"3":{"start":{"line":46,"column":19},"end":{"line":46,"column":42}},"4":{"start":{"line":48,"column":24},"end":{"line":52,"column":13}},"5":{"start":{"line":49,"column":4},"end":{"line":51,"column":13}},"6":{"start":{"line":50,"column":30},"end":{"line":50,"column":64}},"7":{"start":{"line":54,"column":22},"end":{"line":56,"column":13}},"8":{"start":{"line":55,"column":4},"end":{"line":55,"column":59}},"9":{"start":{"line":58,"column":25},"end":{"line":60,"column":13}},"10":{"start":{"line":59,"column":4},"end":{"line":59,"column":62}},"11":{"start":{"line":62,"column":26},"end":{"line":64,"column":21}},"12":{"start":{"line":63,"column":4},"end":{"line":63,"column":18}},"13":{"start":{"line":66,"column":23},"end":{"line":74,"column":60}},"14":{"start":{"line":67,"column":27},"end":{"line":67,"column":38}},"15":{"start":{"line":68,"column":4},"end":{"line":72,"column":5}},"16":{"start":{"line":69,"column":6},"end":{"line":69,"column":39}},"17":{"start":{"line":71,"column":6},"end":{"line":71,"column":43}},"18":{"start":{"line":73,"column":4},"end":{"line":73,"column":84}},"19":{"start":{"line":76,"column":2},"end":{"line":129,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":42,"column":99},"end":{"line":42,"column":100}},"loc":{"start":{"line":44,"column":6},"end":{"line":130,"column":1}},"line":44},"1":{"name":"(anonymous_1)","decl":{"start":{"line":48,"column":32},"end":{"line":48,"column":33}},"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":13}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":14},"end":{"line":50,"column":15}},"loc":{"start":{"line":50,"column":30},"end":{"line":50,"column":64}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":54,"column":30},"end":{"line":54,"column":31}},"loc":{"start":{"line":55,"column":4},"end":{"line":55,"column":59}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":58,"column":33},"end":{"line":58,"column":34}},"loc":{"start":{"line":59,"column":4},"end":{"line":59,"column":62}},"line":59},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":38},"end":{"line":62,"column":39}},"loc":{"start":{"line":62,"column":44},"end":{"line":64,"column":3}},"line":62},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":35},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":41},"end":{"line":74,"column":3}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":18},"end":{"line":55,"column":51}},"type":"binary-expr","locations":[{"start":{"line":55,"column":18},"end":{"line":55,"column":45}},{"start":{"line":55,"column":49},"end":{"line":55,"column":51}}],"line":55},"1":{"loc":{"start":{"line":59,"column":18},"end":{"line":59,"column":54}},"type":"binary-expr","locations":[{"start":{"line":59,"column":18},"end":{"line":59,"column":48}},{"start":{"line":59,"column":52},"end":{"line":59,"column":54}}],"line":59},"2":{"loc":{"start":{"line":68,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":11},"end":{"line":72,"column":5}}],"line":68},"3":{"loc":{"start":{"line":97,"column":9},"end":{"line":103,"column":81}},"type":"cond-expr","locations":[{"start":{"line":98,"column":10},"end":{"line":102,"column":29}},{"start":{"line":103,"column":12},"end":{"line":103,"column":81}}],"line":97},"4":{"loc":{"start":{"line":101,"column":13},"end":{"line":101,"column":49}},"type":"cond-expr","locations":[{"start":{"line":101,"column":35},"end":{"line":101,"column":40}},{"start":{"line":101,"column":43},"end":{"line":101,"column":49}}],"line":101},"5":{"loc":{"start":{"line":104,"column":9},"end":{"line":110,"column":9}},"type":"binary-expr","locations":[{"start":{"line":104,"column":9},"end":{"line":104,"column":24}},{"start":{"line":105,"column":8},"end":{"line":109,"column":27}}],"line":104},"6":{"loc":{"start":{"line":108,"column":11},"end":{"line":108,"column":49}},"type":"cond-expr","locations":[{"start":{"line":108,"column":31},"end":{"line":108,"column":38}},{"start":{"line":108,"column":41},"end":{"line":108,"column":49}}],"line":108},"7":{"loc":{"start":{"line":111,"column":9},"end":{"line":117,"column":9}},"type":"binary-expr","locations":[{"start":{"line":111,"column":9},"end":{"line":111,"column":27}},{"start":{"line":112,"column":8},"end":{"line":116,"column":27}}],"line":111},"8":{"loc":{"start":{"line":115,"column":11},"end":{"line":115,"column":58}},"type":"cond-expr","locations":[{"start":{"line":115,"column":34},"end":{"line":115,"column":44}},{"start":{"line":115,"column":47},"end":{"line":115,"column":58}}],"line":115}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx","statementMap":{"0":{"start":{"line":4,"column":53},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx","statementMap":{"0":{"start":{"line":4,"column":51},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledForm.tsx","statementMap":{"0":{"start":{"line":3,"column":26},"end":{"line":5,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledNameInputBox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledNameInputBox.tsx","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeLabel.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeLabel.tsx","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":27,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":10,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx","statementMap":{"0":{"start":{"line":15,"column":105},"end":{"line":88,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":42}},"2":{"start":{"line":19,"column":28},"end":{"line":21,"column":16}},"3":{"start":{"line":20,"column":4},"end":{"line":20,"column":24}},"4":{"start":{"line":23,"column":25},"end":{"line":40,"column":43}},"5":{"start":{"line":23,"column":45},"end":{"line":40,"column":4}},"6":{"start":{"line":24,"column":25},"end":{"line":24,"column":59}},"7":{"start":{"line":24,"column":31},"end":{"line":24,"column":59}},"8":{"start":{"line":25,"column":4},"end":{"line":39,"column":6}},"9":{"start":{"line":42,"column":2},"end":{"line":87,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":105},"end":{"line":15,"column":106}},"loc":{"start":{"line":17,"column":6},"end":{"line":88,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":40},"end":{"line":19,"column":41}},"loc":{"start":{"line":19,"column":63},"end":{"line":21,"column":3}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":39},"end":{"line":23,"column":40}},"loc":{"start":{"line":23,"column":45},"end":{"line":40,"column":4}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":65},"end":{"line":23,"column":66}},"loc":{"start":{"line":23,"column":80},"end":{"line":40,"column":3}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":25},"end":{"line":24,"column":26}},"loc":{"start":{"line":24,"column":31},"end":{"line":24,"column":59}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":10},"end":{"line":62,"column":11}},"type":"cond-expr","locations":[{"start":{"line":47,"column":12},"end":{"line":49,"column":21}},{"start":{"line":51,"column":12},"end":{"line":61,"column":18}}],"line":46},"1":{"loc":{"start":{"line":72,"column":42},"end":{"line":72,"column":61}},"type":"binary-expr","locations":[{"start":{"line":72,"column":42},"end":{"line":72,"column":55}},{"start":{"line":72,"column":59},"end":{"line":72,"column":61}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx","statementMap":{"0":{"start":{"line":27,"column":19},"end":{"line":27,"column":42}},"1":{"start":{"line":28,"column":22},"end":{"line":28,"column":53}},"2":{"start":{"line":29,"column":25},"end":{"line":29,"column":60}},"3":{"start":{"line":30,"column":50},"end":{"line":30,"column":123}},"4":{"start":{"line":31,"column":26},"end":{"line":33,"column":28}},"5":{"start":{"line":32,"column":4},"end":{"line":32,"column":39}},"6":{"start":{"line":34,"column":54},"end":{"line":34,"column":78}},"7":{"start":{"line":36,"column":32},"end":{"line":38,"column":29}},"8":{"start":{"line":37,"column":4},"end":{"line":37,"column":32}},"9":{"start":{"line":39,"column":23},"end":{"line":42,"column":29}},"10":{"start":{"line":40,"column":4},"end":{"line":40,"column":35}},"11":{"start":{"line":41,"column":4},"end":{"line":41,"column":33}},"12":{"start":{"line":44,"column":23},"end":{"line":47,"column":35}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":74}},"14":{"start":{"line":46,"column":4},"end":{"line":46,"column":33}},"15":{"start":{"line":49,"column":24},"end":{"line":56,"column":56}},"16":{"start":{"line":50,"column":4},"end":{"line":55,"column":5}},"17":{"start":{"line":51,"column":6},"end":{"line":51,"column":21}},"18":{"start":{"line":52,"column":11},"end":{"line":55,"column":5}},"19":{"start":{"line":53,"column":6},"end":{"line":53,"column":26}},"20":{"start":{"line":54,"column":6},"end":{"line":54,"column":21}},"21":{"start":{"line":58,"column":32},"end":{"line":60,"column":8}},"22":{"start":{"line":59,"column":4},"end":{"line":59,"column":44}},"23":{"start":{"line":62,"column":2},"end":{"line":136,"column":4}}},"fnMap":{"0":{"name":"ThemeListGroupHeader","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":36}},"loc":{"start":{"line":26,"column":10},"end":{"line":137,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":38},"end":{"line":31,"column":39}},"loc":{"start":{"line":31,"column":85},"end":{"line":33,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":44},"end":{"line":36,"column":45}},"loc":{"start":{"line":36,"column":50},"end":{"line":38,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":35},"end":{"line":39,"column":36}},"loc":{"start":{"line":39,"column":41},"end":{"line":42,"column":3}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":41},"end":{"line":44,"column":42}},"loc":{"start":{"line":44,"column":47},"end":{"line":47,"column":3}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":42},"end":{"line":49,"column":43}},"loc":{"start":{"line":49,"column":88},"end":{"line":56,"column":3}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":58,"column":50},"end":{"line":58,"column":51}},"loc":{"start":{"line":58,"column":98},"end":{"line":60,"column":3}},"line":58}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":67},"end":{"line":30,"column":122}},"type":"cond-expr","locations":[{"start":{"line":30,"column":108},"end":{"line":30,"column":110}},{"start":{"line":30,"column":113},"end":{"line":30,"column":122}}],"line":30},"1":{"loc":{"start":{"line":50,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":55,"column":5}},{"start":{"line":52,"column":11},"end":{"line":55,"column":5}}],"line":50},"2":{"loc":{"start":{"line":52,"column":11},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":11},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":52},"3":{"loc":{"start":{"line":91,"column":9},"end":{"line":133,"column":9}},"type":"cond-expr","locations":[{"start":{"line":92,"column":10},"end":{"line":106,"column":13}},{"start":{"line":108,"column":10},"end":{"line":132,"column":13}}],"line":91}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListItemContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeListItemContent.tsx","statementMap":{"0":{"start":{"line":20,"column":26},"end":{"line":22,"column":2}},"1":{"start":{"line":30,"column":22},"end":{"line":30,"column":53}},"2":{"start":{"line":31,"column":25},"end":{"line":31,"column":60}},"3":{"start":{"line":33,"column":26},"end":{"line":35,"column":28}},"4":{"start":{"line":34,"column":4},"end":{"line":34,"column":39}},"5":{"start":{"line":37,"column":2},"end":{"line":59,"column":4}}},"fnMap":{"0":{"name":"ThemeListItemContent","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":36}},"loc":{"start":{"line":29,"column":10},"end":{"line":60,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":38},"end":{"line":33,"column":39}},"loc":{"start":{"line":33,"column":85},"end":{"line":35,"column":3}},"line":33}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx","statementMap":{"0":{"start":{"line":24,"column":111},"end":{"line":133,"column":1}},"1":{"start":{"line":32,"column":33},"end":{"line":34,"column":9}},"2":{"start":{"line":33,"column":4},"end":{"line":33,"column":86}},"3":{"start":{"line":35,"column":46},"end":{"line":35,"column":68}},"4":{"start":{"line":36,"column":16},"end":{"line":36,"column":52}},"5":{"start":{"line":38,"column":24},"end":{"line":38,"column":71}},"6":{"start":{"line":38,"column":38},"end":{"line":38,"column":60}},"7":{"start":{"line":40,"column":26},"end":{"line":46,"column":37}},"8":{"start":{"line":41,"column":4},"end":{"line":45,"column":6}},"9":{"start":{"line":44,"column":41},"end":{"line":44,"column":46}},"10":{"start":{"line":48,"column":41},"end":{"line":50,"column":49}},"11":{"start":{"line":49,"column":4},"end":{"line":49,"column":46}},"12":{"start":{"line":52,"column":36},"end":{"line":58,"column":22}},"13":{"start":{"line":53,"column":4},"end":{"line":57,"column":6}},"14":{"start":{"line":55,"column":43},"end":{"line":55,"column":58}},"15":{"start":{"line":60,"column":2},"end":{"line":132,"column":4}},"16":{"start":{"line":120,"column":10},"end":{"line":128,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":111},"end":{"line":24,"column":112}},"loc":{"start":{"line":31,"column":6},"end":{"line":133,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":57},"end":{"line":32,"column":58}},"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":86}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":32},"end":{"line":38,"column":33}},"loc":{"start":{"line":38,"column":38},"end":{"line":38,"column":60}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":44},"end":{"line":40,"column":45}},"loc":{"start":{"line":40,"column":50},"end":{"line":46,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":28},"end":{"line":44,"column":29}},"loc":{"start":{"line":44,"column":41},"end":{"line":44,"column":46}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":48,"column":53},"end":{"line":48,"column":54}},"loc":{"start":{"line":48,"column":59},"end":{"line":50,"column":3}},"line":48},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":48},"end":{"line":52,"column":49}},"loc":{"start":{"line":52,"column":67},"end":{"line":58,"column":3}},"line":52},"7":{"name":"(anonymous_7)","decl":{"start":{"line":55,"column":32},"end":{"line":55,"column":33}},"loc":{"start":{"line":55,"column":43},"end":{"line":55,"column":58}},"line":55},"8":{"name":"(anonymous_8)","decl":{"start":{"line":119,"column":27},"end":{"line":119,"column":28}},"loc":{"start":{"line":120,"column":10},"end":{"line":128,"column":12}},"line":120}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":47}},"type":"cond-expr","locations":[{"start":{"line":43,"column":10},"end":{"line":43,"column":12}},{"start":{"line":44,"column":10},"end":{"line":44,"column":47}}],"line":42},"1":{"loc":{"start":{"line":54,"column":6},"end":{"line":56,"column":36}},"type":"cond-expr","locations":[{"start":{"line":55,"column":10},"end":{"line":55,"column":59}},{"start":{"line":56,"column":10},"end":{"line":56,"column":36}}],"line":54},"2":{"loc":{"start":{"line":69,"column":11},"end":{"line":69,"column":83}},"type":"cond-expr","locations":[{"start":{"line":69,"column":38},"end":{"line":69,"column":76}},{"start":{"line":69,"column":79},"end":{"line":69,"column":83}}],"line":69},"3":{"loc":{"start":{"line":84,"column":8},"end":{"line":113,"column":9}},"type":"binary-expr","locations":[{"start":{"line":84,"column":8},"end":{"line":84,"column":32}},{"start":{"line":85,"column":10},"end":{"line":112,"column":18}}],"line":84}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx","statementMap":{"0":{"start":{"line":26,"column":121},"end":{"line":106,"column":1}},"1":{"start":{"line":34,"column":32},"end":{"line":36,"column":32}},"2":{"start":{"line":35,"column":4},"end":{"line":35,"column":29}},"3":{"start":{"line":38,"column":27},"end":{"line":40,"column":40}},"4":{"start":{"line":39,"column":4},"end":{"line":39,"column":37}},"5":{"start":{"line":42,"column":2},"end":{"line":105,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":121},"end":{"line":26,"column":122}},"loc":{"start":{"line":33,"column":6},"end":{"line":106,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":44},"end":{"line":34,"column":45}},"loc":{"start":{"line":34,"column":50},"end":{"line":36,"column":3}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":39},"end":{"line":38,"column":40}},"loc":{"start":{"line":38,"column":45},"end":{"line":40,"column":3}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":57,"column":7},"end":{"line":57,"column":32}},"type":"binary-expr","locations":[{"start":{"line":57,"column":7},"end":{"line":57,"column":11}},{"start":{"line":57,"column":15},"end":{"line":57,"column":32}}],"line":57},"1":{"loc":{"start":{"line":88,"column":13},"end":{"line":90,"column":13}},"type":"binary-expr","locations":[{"start":{"line":88,"column":14},"end":{"line":88,"column":29}},{"start":{"line":88,"column":33},"end":{"line":88,"column":59}},{"start":{"line":89,"column":12},"end":{"line":89,"column":31}}],"line":88},"2":{"loc":{"start":{"line":91,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":91,"column":14},"end":{"line":91,"column":29}},{"start":{"line":91,"column":33},"end":{"line":91,"column":58}},{"start":{"line":92,"column":12},"end":{"line":95,"column":20}}],"line":91},"3":{"loc":{"start":{"line":97,"column":13},"end":{"line":99,"column":13}},"type":"binary-expr","locations":[{"start":{"line":97,"column":13},"end":{"line":97,"column":27}},{"start":{"line":98,"column":12},"end":{"line":98,"column":137}}],"line":97}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx","statementMap":{"0":{"start":{"line":26,"column":107},"end":{"line":212,"column":1}},"1":{"start":{"line":27,"column":42},"end":{"line":27,"column":76}},"2":{"start":{"line":28,"column":52},"end":{"line":28,"column":86}},"3":{"start":{"line":29,"column":19},"end":{"line":29,"column":42}},"4":{"start":{"line":30,"column":16},"end":{"line":32,"column":11}},"5":{"start":{"line":31,"column":4},"end":{"line":31,"column":32}},"6":{"start":{"line":33,"column":19},"end":{"line":33,"column":53}},"7":{"start":{"line":34,"column":20},"end":{"line":34,"column":47}},"8":{"start":{"line":36,"column":21},"end":{"line":50,"column":34}},"9":{"start":{"line":37,"column":4},"end":{"line":47,"column":5}},"10":{"start":{"line":38,"column":29},"end":{"line":38,"column":70}},"11":{"start":{"line":39,"column":30},"end":{"line":41,"column":14}},"12":{"start":{"line":42,"column":6},"end":{"line":46,"column":8}},"13":{"start":{"line":45,"column":18},"end":{"line":45,"column":79}},"14":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"15":{"start":{"line":52,"column":27},"end":{"line":72,"column":18}},"16":{"start":{"line":53,"column":4},"end":{"line":69,"column":5}},"17":{"start":{"line":54,"column":56},"end":{"line":54,"column":58}},"18":{"start":{"line":55,"column":52},"end":{"line":55,"column":54}},"19":{"start":{"line":56,"column":53},"end":{"line":56,"column":55}},"20":{"start":{"line":57,"column":22},"end":{"line":57,"column":48}},"21":{"start":{"line":58,"column":6},"end":{"line":66,"column":9}},"22":{"start":{"line":59,"column":8},"end":{"line":65,"column":9}},"23":{"start":{"line":60,"column":10},"end":{"line":60,"column":46}},"24":{"start":{"line":61,"column":15},"end":{"line":65,"column":9}},"25":{"start":{"line":62,"column":10},"end":{"line":62,"column":42}},"26":{"start":{"line":63,"column":15},"end":{"line":65,"column":9}},"27":{"start":{"line":64,"column":10},"end":{"line":64,"column":43}},"28":{"start":{"line":68,"column":6},"end":{"line":68,"column":45}},"29":{"start":{"line":71,"column":4},"end":{"line":71,"column":16}},"30":{"start":{"line":74,"column":28},"end":{"line":99,"column":44}},"31":{"start":{"line":75,"column":4},"end":{"line":98,"column":5}},"32":{"start":{"line":76,"column":6},"end":{"line":79,"column":9}},"33":{"start":{"line":80,"column":21},"end":{"line":86,"column":8}},"34":{"start":{"line":87,"column":6},"end":{"line":96,"column":7}},"35":{"start":{"line":88,"column":8},"end":{"line":91,"column":11}},"36":{"start":{"line":92,"column":8},"end":{"line":95,"column":11}},"37":{"start":{"line":97,"column":6},"end":{"line":97,"column":77}},"38":{"start":{"line":101,"column":32},"end":{"line":109,"column":34}},"39":{"start":{"line":102,"column":4},"end":{"line":108,"column":5}},"40":{"start":{"line":103,"column":6},"end":{"line":103,"column":43}},"41":{"start":{"line":104,"column":6},"end":{"line":107,"column":9}},"42":{"start":{"line":111,"column":40},"end":{"line":119,"column":34}},"43":{"start":{"line":112,"column":4},"end":{"line":118,"column":5}},"44":{"start":{"line":113,"column":6},"end":{"line":113,"column":54}},"45":{"start":{"line":114,"column":6},"end":{"line":117,"column":9}},"46":{"start":{"line":121,"column":38},"end":{"line":123,"column":25}},"47":{"start":{"line":122,"column":4},"end":{"line":122,"column":36}},"48":{"start":{"line":125,"column":39},"end":{"line":127,"column":25}},"49":{"start":{"line":126,"column":4},"end":{"line":126,"column":32}},"50":{"start":{"line":129,"column":40},"end":{"line":131,"column":25}},"51":{"start":{"line":130,"column":4},"end":{"line":130,"column":33}},"52":{"start":{"line":133,"column":2},"end":{"line":158,"column":21}},"53":{"start":{"line":134,"column":24},"end":{"line":136,"column":10}},"54":{"start":{"line":135,"column":6},"end":{"line":135,"column":60}},"55":{"start":{"line":135,"column":51},"end":{"line":135,"column":58}},"56":{"start":{"line":137,"column":4},"end":{"line":157,"column":5}},"57":{"start":{"line":138,"column":6},"end":{"line":156,"column":9}},"58":{"start":{"line":142,"column":30},"end":{"line":151,"column":11}},"59":{"start":{"line":143,"column":10},"end":{"line":150,"column":14}},"60":{"start":{"line":144,"column":33},"end":{"line":144,"column":96}},"61":{"start":{"line":144,"column":67},"end":{"line":144,"column":95}},"62":{"start":{"line":145,"column":12},"end":{"line":149,"column":15}},"63":{"start":{"line":152,"column":8},"end":{"line":152,"column":44}},"64":{"start":{"line":154,"column":8},"end":{"line":154,"column":27}},"65":{"start":{"line":155,"column":8},"end":{"line":155,"column":37}},"66":{"start":{"line":160,"column":2},"end":{"line":178,"column":25}},"67":{"start":{"line":161,"column":4},"end":{"line":177,"column":5}},"68":{"start":{"line":162,"column":24},"end":{"line":174,"column":12}},"69":{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},"70":{"start":{"line":165,"column":10},"end":{"line":171,"column":17}},"71":{"start":{"line":166,"column":12},"end":{"line":169,"column":14}},"72":{"start":{"line":170,"column":12},"end":{"line":170,"column":23}},"73":{"start":{"line":173,"column":8},"end":{"line":173,"column":19}},"74":{"start":{"line":175,"column":6},"end":{"line":175,"column":38}},"75":{"start":{"line":176,"column":6},"end":{"line":176,"column":33}},"76":{"start":{"line":180,"column":2},"end":{"line":182,"column":3}},"77":{"start":{"line":181,"column":4},"end":{"line":181,"column":16}},"78":{"start":{"line":184,"column":2},"end":{"line":211,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":107},"end":{"line":26,"column":108}},"loc":{"start":{"line":26,"column":119},"end":{"line":212,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":40},"end":{"line":30,"column":41}},"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":32}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":29},"end":{"line":36,"column":30}},"loc":{"start":{"line":36,"column":35},"end":{"line":50,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":8},"end":{"line":45,"column":9}},"loc":{"start":{"line":45,"column":18},"end":{"line":45,"column":79}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":35},"end":{"line":52,"column":36}},"loc":{"start":{"line":52,"column":41},"end":{"line":72,"column":3}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":22},"end":{"line":58,"column":23}},"loc":{"start":{"line":58,"column":49},"end":{"line":66,"column":7}},"line":58},"6":{"name":"(anonymous_6)","decl":{"start":{"line":74,"column":40},"end":{"line":74,"column":41}},"loc":{"start":{"line":74,"column":98},"end":{"line":99,"column":3}},"line":74},"7":{"name":"(anonymous_7)","decl":{"start":{"line":101,"column":44},"end":{"line":101,"column":45}},"loc":{"start":{"line":101,"column":63},"end":{"line":109,"column":3}},"line":101},"8":{"name":"(anonymous_8)","decl":{"start":{"line":111,"column":52},"end":{"line":111,"column":53}},"loc":{"start":{"line":111,"column":74},"end":{"line":119,"column":3}},"line":111},"9":{"name":"(anonymous_9)","decl":{"start":{"line":121,"column":50},"end":{"line":121,"column":51}},"loc":{"start":{"line":121,"column":56},"end":{"line":123,"column":3}},"line":121},"10":{"name":"(anonymous_10)","decl":{"start":{"line":125,"column":51},"end":{"line":125,"column":52}},"loc":{"start":{"line":125,"column":57},"end":{"line":127,"column":3}},"line":125},"11":{"name":"(anonymous_11)","decl":{"start":{"line":129,"column":52},"end":{"line":129,"column":53}},"loc":{"start":{"line":129,"column":58},"end":{"line":131,"column":3}},"line":129},"12":{"name":"(anonymous_12)","decl":{"start":{"line":133,"column":12},"end":{"line":133,"column":13}},"loc":{"start":{"line":133,"column":18},"end":{"line":158,"column":3}},"line":133},"13":{"name":"(anonymous_13)","decl":{"start":{"line":134,"column":69},"end":{"line":134,"column":70}},"loc":{"start":{"line":135,"column":6},"end":{"line":135,"column":60}},"line":135},"14":{"name":"(anonymous_14)","decl":{"start":{"line":135,"column":41},"end":{"line":135,"column":42}},"loc":{"start":{"line":135,"column":51},"end":{"line":135,"column":58}},"line":135},"15":{"name":"(anonymous_15)","decl":{"start":{"line":141,"column":14},"end":{"line":141,"column":15}},"loc":{"start":{"line":141,"column":38},"end":{"line":153,"column":7}},"line":141},"16":{"name":"(anonymous_16)","decl":{"start":{"line":142,"column":82},"end":{"line":142,"column":83}},"loc":{"start":{"line":143,"column":10},"end":{"line":150,"column":14}},"line":143},"17":{"name":"(anonymous_17)","decl":{"start":{"line":143,"column":74},"end":{"line":143,"column":75}},"loc":{"start":{"line":143,"column":102},"end":{"line":150,"column":11}},"line":143},"18":{"name":"(anonymous_18)","decl":{"start":{"line":144,"column":53},"end":{"line":144,"column":54}},"loc":{"start":{"line":144,"column":67},"end":{"line":144,"column":95}},"line":144},"19":{"name":"(anonymous_19)","decl":{"start":{"line":153,"column":15},"end":{"line":153,"column":16}},"loc":{"start":{"line":153,"column":24},"end":{"line":156,"column":7}},"line":153},"20":{"name":"(anonymous_20)","decl":{"start":{"line":160,"column":12},"end":{"line":160,"column":13}},"loc":{"start":{"line":160,"column":18},"end":{"line":178,"column":3}},"line":160},"21":{"name":"(anonymous_21)","decl":{"start":{"line":162,"column":86},"end":{"line":162,"column":87}},"loc":{"start":{"line":162,"column":115},"end":{"line":174,"column":7}},"line":162},"22":{"name":"(anonymous_22)","decl":{"start":{"line":165,"column":87},"end":{"line":165,"column":88}},"loc":{"start":{"line":165,"column":116},"end":{"line":171,"column":11}},"line":165}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":37},"1":{"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":70}},"type":"cond-expr","locations":[{"start":{"line":38,"column":65},"end":{"line":38,"column":66}},{"start":{"line":38,"column":69},"end":{"line":38,"column":70}}],"line":38},"2":{"loc":{"start":{"line":39,"column":30},"end":{"line":41,"column":14}},"type":"cond-expr","locations":[{"start":{"line":40,"column":10},"end":{"line":40,"column":20}},{"start":{"line":41,"column":10},"end":{"line":41,"column":14}}],"line":39},"3":{"loc":{"start":{"line":44,"column":8},"end":{"line":44,"column":41}},"type":"binary-expr","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":35}},{"start":{"line":44,"column":39},"end":{"line":44,"column":41}}],"line":44},"4":{"loc":{"start":{"line":53,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":53},"5":{"loc":{"start":{"line":59,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":65,"column":9}},{"start":{"line":61,"column":15},"end":{"line":65,"column":9}}],"line":59},"6":{"loc":{"start":{"line":61,"column":15},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":15},"end":{"line":65,"column":9}},{"start":{"line":63,"column":15},"end":{"line":65,"column":9}}],"line":61},"7":{"loc":{"start":{"line":63,"column":15},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":15},"end":{"line":65,"column":9}},{"start":{},"end":{}}],"line":63},"8":{"loc":{"start":{"line":75,"column":4},"end":{"line":98,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":98,"column":5}},{"start":{},"end":{}}],"line":75},"9":{"loc":{"start":{"line":87,"column":6},"end":{"line":96,"column":7}},"type":"if","locations":[{"start":{"line":87,"column":6},"end":{"line":96,"column":7}},{"start":{},"end":{}}],"line":87},"10":{"loc":{"start":{"line":102,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":102},"11":{"loc":{"start":{"line":112,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":118,"column":5}},{"start":{},"end":{}}],"line":112},"12":{"loc":{"start":{"line":137,"column":4},"end":{"line":157,"column":5}},"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":157,"column":5}},{"start":{},"end":{}}],"line":137},"13":{"loc":{"start":{"line":161,"column":4},"end":{"line":177,"column":5}},"type":"if","locations":[{"start":{"line":161,"column":4},"end":{"line":177,"column":5}},{"start":{},"end":{}}],"line":161},"14":{"loc":{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},{"start":{},"end":{}}],"line":163},"15":{"loc":{"start":{"line":180,"column":2},"end":{"line":182,"column":3}},"type":"if","locations":[{"start":{"line":180,"column":2},"end":{"line":182,"column":3}},{"start":{},"end":{}}],"line":180},"16":{"loc":{"start":{"line":188,"column":16},"end":{"line":188,"column":50}},"type":"binary-expr","locations":[{"start":{"line":188,"column":16},"end":{"line":188,"column":44}},{"start":{"line":188,"column":48},"end":{"line":188,"column":50}}],"line":188},"17":{"loc":{"start":{"line":195,"column":16},"end":{"line":195,"column":46}},"type":"binary-expr","locations":[{"start":{"line":195,"column":16},"end":{"line":195,"column":40}},{"start":{"line":195,"column":44},"end":{"line":195,"column":46}}],"line":195},"18":{"loc":{"start":{"line":202,"column":16},"end":{"line":202,"column":47}},"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":41}},{"start":{"line":202,"column":45},"end":{"line":202,"column":47}}],"line":202}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx","statementMap":{"0":{"start":{"line":26,"column":106},"end":{"line":187,"column":1}},"1":{"start":{"line":27,"column":16},"end":{"line":29,"column":11}},"2":{"start":{"line":28,"column":4},"end":{"line":28,"column":32}},"3":{"start":{"line":30,"column":17},"end":{"line":30,"column":44}},"4":{"start":{"line":31,"column":36},"end":{"line":33,"column":9}},"5":{"start":{"line":32,"column":4},"end":{"line":32,"column":89}},"6":{"start":{"line":34,"column":52},"end":{"line":34,"column":74}},"7":{"start":{"line":35,"column":58},"end":{"line":35,"column":127}},"8":{"start":{"line":36,"column":19},"end":{"line":36,"column":42}},"9":{"start":{"line":37,"column":26},"end":{"line":37,"column":101}},"10":{"start":{"line":37,"column":40},"end":{"line":37,"column":76}},"11":{"start":{"line":39,"column":2},"end":{"line":59,"column":14}},"12":{"start":{"line":40,"column":27},"end":{"line":40,"column":111}},"13":{"start":{"line":40,"column":100},"end":{"line":40,"column":110}},"14":{"start":{"line":41,"column":4},"end":{"line":58,"column":5}},"15":{"start":{"line":42,"column":6},"end":{"line":55,"column":9}},"16":{"start":{"line":46,"column":41},"end":{"line":50,"column":12}},"17":{"start":{"line":46,"column":147},"end":{"line":50,"column":10}},"18":{"start":{"line":51,"column":8},"end":{"line":51,"column":58}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":27}},"20":{"start":{"line":54,"column":8},"end":{"line":54,"column":37}},"21":{"start":{"line":57,"column":6},"end":{"line":57,"column":34}},"22":{"start":{"line":61,"column":26},"end":{"line":67,"column":42}},"23":{"start":{"line":62,"column":4},"end":{"line":66,"column":6}},"24":{"start":{"line":65,"column":43},"end":{"line":65,"column":48}},"25":{"start":{"line":69,"column":44},"end":{"line":77,"column":53}},"26":{"start":{"line":70,"column":4},"end":{"line":76,"column":5}},"27":{"start":{"line":71,"column":6},"end":{"line":71,"column":68}},"28":{"start":{"line":72,"column":6},"end":{"line":75,"column":9}},"29":{"start":{"line":79,"column":39},"end":{"line":85,"column":25}},"30":{"start":{"line":80,"column":4},"end":{"line":84,"column":6}},"31":{"start":{"line":82,"column":46},"end":{"line":82,"column":61}},"32":{"start":{"line":87,"column":35},"end":{"line":95,"column":34}},"33":{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},"34":{"start":{"line":89,"column":6},"end":{"line":89,"column":46}},"35":{"start":{"line":90,"column":6},"end":{"line":93,"column":9}},"36":{"start":{"line":97,"column":37},"end":{"line":118,"column":35}},"37":{"start":{"line":98,"column":4},"end":{"line":117,"column":5}},"38":{"start":{"line":99,"column":6},"end":{"line":102,"column":9}},"39":{"start":{"line":103,"column":21},"end":{"line":107,"column":9}},"40":{"start":{"line":103,"column":84},"end":{"line":107,"column":8}},"41":{"start":{"line":108,"column":6},"end":{"line":115,"column":7}},"42":{"start":{"line":109,"column":8},"end":{"line":111,"column":11}},"43":{"start":{"line":112,"column":8},"end":{"line":114,"column":11}},"44":{"start":{"line":116,"column":6},"end":{"line":116,"column":80}},"45":{"start":{"line":120,"column":2},"end":{"line":186,"column":4}},"46":{"start":{"line":175,"column":10},"end":{"line":182,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":106},"end":{"line":26,"column":107}},"loc":{"start":{"line":26,"column":118},"end":{"line":187,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":40},"end":{"line":27,"column":41}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":32}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":60},"end":{"line":31,"column":61}},"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":89}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":34},"end":{"line":37,"column":35}},"loc":{"start":{"line":37,"column":40},"end":{"line":37,"column":76}},"line":37},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":12},"end":{"line":39,"column":13}},"loc":{"start":{"line":39,"column":18},"end":{"line":59,"column":3}},"line":39},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":84},"end":{"line":40,"column":85}},"loc":{"start":{"line":40,"column":100},"end":{"line":40,"column":110}},"line":40},"6":{"name":"(anonymous_6)","decl":{"start":{"line":45,"column":14},"end":{"line":45,"column":15}},"loc":{"start":{"line":45,"column":38},"end":{"line":52,"column":7}},"line":45},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":118},"end":{"line":46,"column":119}},"loc":{"start":{"line":46,"column":147},"end":{"line":50,"column":10}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":15},"end":{"line":52,"column":16}},"loc":{"start":{"line":52,"column":24},"end":{"line":55,"column":7}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":61,"column":44},"end":{"line":61,"column":45}},"loc":{"start":{"line":61,"column":50},"end":{"line":67,"column":3}},"line":61},"10":{"name":"(anonymous_10)","decl":{"start":{"line":65,"column":30},"end":{"line":65,"column":31}},"loc":{"start":{"line":65,"column":43},"end":{"line":65,"column":48}},"line":65},"11":{"name":"(anonymous_11)","decl":{"start":{"line":69,"column":56},"end":{"line":69,"column":57}},"loc":{"start":{"line":69,"column":62},"end":{"line":77,"column":3}},"line":69},"12":{"name":"(anonymous_12)","decl":{"start":{"line":79,"column":51},"end":{"line":79,"column":52}},"loc":{"start":{"line":79,"column":70},"end":{"line":85,"column":3}},"line":79},"13":{"name":"(anonymous_13)","decl":{"start":{"line":82,"column":35},"end":{"line":82,"column":36}},"loc":{"start":{"line":82,"column":46},"end":{"line":82,"column":61}},"line":82},"14":{"name":"(anonymous_14)","decl":{"start":{"line":87,"column":47},"end":{"line":87,"column":48}},"loc":{"start":{"line":87,"column":66},"end":{"line":95,"column":3}},"line":87},"15":{"name":"(anonymous_15)","decl":{"start":{"line":97,"column":49},"end":{"line":97,"column":50}},"loc":{"start":{"line":97,"column":61},"end":{"line":118,"column":3}},"line":97},"16":{"name":"(anonymous_16)","decl":{"start":{"line":103,"column":72},"end":{"line":103,"column":73}},"loc":{"start":{"line":103,"column":84},"end":{"line":107,"column":8}},"line":103},"17":{"name":"(anonymous_17)","decl":{"start":{"line":174,"column":29},"end":{"line":174,"column":30}},"loc":{"start":{"line":175,"column":10},"end":{"line":182,"column":12}},"line":175}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":41},"end":{"line":40,"column":78}},"type":"binary-expr","locations":[{"start":{"line":40,"column":41},"end":{"line":40,"column":72}},{"start":{"line":40,"column":76},"end":{"line":40,"column":78}}],"line":40},"1":{"loc":{"start":{"line":41,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":58,"column":5}},{"start":{"line":56,"column":11},"end":{"line":58,"column":5}}],"line":41},"2":{"loc":{"start":{"line":46,"column":75},"end":{"line":46,"column":112}},"type":"binary-expr","locations":[{"start":{"line":46,"column":75},"end":{"line":46,"column":106}},{"start":{"line":46,"column":110},"end":{"line":46,"column":112}}],"line":46},"3":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":49}},"type":"cond-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":12}},{"start":{"line":65,"column":10},"end":{"line":65,"column":49}}],"line":63},"4":{"loc":{"start":{"line":70,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":76,"column":5}},{"start":{},"end":{}}],"line":70},"5":{"loc":{"start":{"line":81,"column":6},"end":{"line":83,"column":39}},"type":"cond-expr","locations":[{"start":{"line":82,"column":10},"end":{"line":82,"column":62}},{"start":{"line":83,"column":10},"end":{"line":83,"column":39}}],"line":81},"6":{"loc":{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":88},"7":{"loc":{"start":{"line":98,"column":4},"end":{"line":117,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":117,"column":5}},{"start":{},"end":{}}],"line":98},"8":{"loc":{"start":{"line":108,"column":6},"end":{"line":115,"column":7}},"type":"if","locations":[{"start":{"line":108,"column":6},"end":{"line":115,"column":7}},{"start":{},"end":{}}],"line":108},"9":{"loc":{"start":{"line":129,"column":11},"end":{"line":129,"column":87}},"type":"cond-expr","locations":[{"start":{"line":129,"column":40},"end":{"line":129,"column":80}},{"start":{"line":129,"column":83},"end":{"line":129,"column":87}}],"line":129},"10":{"loc":{"start":{"line":144,"column":8},"end":{"line":168,"column":9}},"type":"binary-expr","locations":[{"start":{"line":144,"column":8},"end":{"line":144,"column":34}},{"start":{"line":145,"column":10},"end":{"line":167,"column":16}}],"line":144}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx","statementMap":{"0":{"start":{"line":25,"column":111},"end":{"line":103,"column":1}},"1":{"start":{"line":32,"column":35},"end":{"line":34,"column":35}},"2":{"start":{"line":33,"column":4},"end":{"line":33,"column":32}},"3":{"start":{"line":36,"column":27},"end":{"line":38,"column":43}},"4":{"start":{"line":37,"column":4},"end":{"line":37,"column":40}},"5":{"start":{"line":40,"column":2},"end":{"line":102,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":111},"end":{"line":25,"column":112}},"loc":{"start":{"line":31,"column":6},"end":{"line":103,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":47},"end":{"line":32,"column":48}},"loc":{"start":{"line":32,"column":53},"end":{"line":34,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":36,"column":45},"end":{"line":38,"column":3}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":85,"column":13},"end":{"line":87,"column":13}},"type":"binary-expr","locations":[{"start":{"line":85,"column":14},"end":{"line":85,"column":32}},{"start":{"line":85,"column":36},"end":{"line":85,"column":60}},{"start":{"line":86,"column":12},"end":{"line":86,"column":31}}],"line":85},"1":{"loc":{"start":{"line":88,"column":13},"end":{"line":93,"column":13}},"type":"binary-expr","locations":[{"start":{"line":88,"column":14},"end":{"line":88,"column":32}},{"start":{"line":88,"column":36},"end":{"line":88,"column":59}},{"start":{"line":89,"column":12},"end":{"line":92,"column":20}}],"line":88},"2":{"loc":{"start":{"line":94,"column":13},"end":{"line":96,"column":13}},"type":"binary-expr","locations":[{"start":{"line":94,"column":13},"end":{"line":94,"column":30}},{"start":{"line":95,"column":12},"end":{"line":95,"column":143}}],"line":94}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0],"1":[0,0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx","statementMap":{"0":{"start":{"line":17,"column":29},"end":{"line":17,"column":58}},"1":{"start":{"line":18,"column":29},"end":{"line":22,"column":1}},"2":{"start":{"line":24,"column":100},"end":{"line":101,"column":1}},"3":{"start":{"line":27,"column":25},"end":{"line":29,"column":24}},"4":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"5":{"start":{"line":30,"column":16},"end":{"line":30,"column":42}},"6":{"start":{"line":32,"column":28},"end":{"line":39,"column":29}},"7":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"8":{"start":{"line":34,"column":6},"end":{"line":37,"column":9}},"9":{"start":{"line":41,"column":21},"end":{"line":49,"column":3}},"10":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"11":{"start":{"line":43,"column":6},"end":{"line":43,"column":23}},"12":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"13":{"start":{"line":46,"column":6},"end":{"line":46,"column":30}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":21}},"15":{"start":{"line":51,"column":2},"end":{"line":100,"column":4}},"16":{"start":{"line":57,"column":12},"end":{"line":66,"column":14}},"17":{"start":{"line":90,"column":14},"end":{"line":92,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":100},"end":{"line":24,"column":101}},"loc":{"start":{"line":26,"column":6},"end":{"line":101,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":33},"end":{"line":27,"column":34}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":40},"end":{"line":32,"column":41}},"loc":{"start":{"line":32,"column":60},"end":{"line":39,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":21},"end":{"line":41,"column":22}},"loc":{"start":{"line":41,"column":33},"end":{"line":49,"column":3}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":56,"column":50},"end":{"line":56,"column":51}},"loc":{"start":{"line":57,"column":12},"end":{"line":66,"column":14}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":88,"column":38},"end":{"line":88,"column":39}},"loc":{"start":{"line":90,"column":14},"end":{"line":92,"column":33}},"line":90}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},"type":"binary-expr","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":22}},{"start":{"line":28,"column":26},"end":{"line":28,"column":49}}],"line":28},"1":{"loc":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},{"start":{},"end":{}}],"line":33},"2":{"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":42},"3":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"4":{"loc":{"start":{"line":54,"column":9},"end":{"line":68,"column":9}},"type":"binary-expr","locations":[{"start":{"line":54,"column":9},"end":{"line":54,"column":23}},{"start":{"line":56,"column":11},"end":{"line":67,"column":12}}],"line":54},"5":{"loc":{"start":{"line":70,"column":9},"end":{"line":97,"column":9}},"type":"binary-expr","locations":[{"start":{"line":70,"column":9},"end":{"line":70,"column":20}},{"start":{"line":71,"column":8},"end":{"line":96,"column":16}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ManageThemesModal/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/Modal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/Modal.tsx","statementMap":{"0":{"start":{"line":29,"column":19},"end":{"line":44,"column":2}},"1":{"start":{"line":46,"column":28},"end":{"line":77,"column":2}},"2":{"start":{"line":97,"column":22},"end":{"line":101,"column":13}},"3":{"start":{"line":98,"column":4},"end":{"line":100,"column":5}},"4":{"start":{"line":99,"column":6},"end":{"line":99,"column":14}},"5":{"start":{"line":103,"column":29},"end":{"line":112,"column":3}},"6":{"start":{"line":105,"column":6},"end":{"line":109,"column":7}},"7":{"start":{"line":106,"column":8},"end":{"line":108,"column":9}},"8":{"start":{"line":107,"column":10},"end":{"line":107,"column":18}},"9":{"start":{"line":114,"column":2},"end":{"line":209,"column":4}}},"fnMap":{"0":{"name":"Modal","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":21}},"loc":{"start":{"line":96,"column":15},"end":{"line":210,"column":1}},"line":96},"1":{"name":"(anonymous_1)","decl":{"start":{"line":97,"column":40},"end":{"line":97,"column":41}},"loc":{"start":{"line":97,"column":46},"end":{"line":101,"column":3}},"line":97},"2":{"name":"(anonymous_2)","decl":{"start":{"line":104,"column":4},"end":{"line":104,"column":5}},"loc":{"start":{"line":104,"column":14},"end":{"line":110,"column":5}},"line":104}},"branchMap":{"0":{"loc":{"start":{"line":88,"column":2},"end":{"line":88,"column":22}},"type":"default-arg","locations":[{"start":{"line":88,"column":17},"end":{"line":88,"column":22}}],"line":88},"1":{"loc":{"start":{"line":89,"column":2},"end":{"line":89,"column":19}},"type":"default-arg","locations":[{"start":{"line":89,"column":14},"end":{"line":89,"column":19}}],"line":89},"2":{"loc":{"start":{"line":90,"column":2},"end":{"line":90,"column":17}},"type":"default-arg","locations":[{"start":{"line":90,"column":12},"end":{"line":90,"column":17}}],"line":90},"3":{"loc":{"start":{"line":91,"column":2},"end":{"line":91,"column":14}},"type":"default-arg","locations":[{"start":{"line":91,"column":10},"end":{"line":91,"column":14}}],"line":91},"4":{"loc":{"start":{"line":92,"column":2},"end":{"line":92,"column":19}},"type":"default-arg","locations":[{"start":{"line":92,"column":14},"end":{"line":92,"column":19}}],"line":92},"5":{"loc":{"start":{"line":98,"column":4},"end":{"line":100,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":100,"column":5}},{"start":{},"end":{}}],"line":98},"6":{"loc":{"start":{"line":105,"column":6},"end":{"line":109,"column":7}},"type":"if","locations":[{"start":{"line":105,"column":6},"end":{"line":109,"column":7}},{"start":{},"end":{}}],"line":105},"7":{"loc":{"start":{"line":106,"column":8},"end":{"line":108,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":108,"column":9}},{"start":{},"end":{}}],"line":106},"8":{"loc":{"start":{"line":133,"column":13},"end":{"line":186,"column":13}},"type":"binary-expr","locations":[{"start":{"line":133,"column":14},"end":{"line":133,"column":23}},{"start":{"line":133,"column":27},"end":{"line":133,"column":32}},{"start":{"line":133,"column":36},"end":{"line":133,"column":45}},{"start":{"line":133,"column":49},"end":{"line":133,"column":53}},{"start":{"line":134,"column":14},"end":{"line":185,"column":22}}],"line":133},"9":{"loc":{"start":{"line":136,"column":25},"end":{"line":136,"column":56}},"type":"cond-expr","locations":[{"start":{"line":136,"column":37},"end":{"line":136,"column":44}},{"start":{"line":136,"column":47},"end":{"line":136,"column":56}}],"line":136},"10":{"loc":{"start":{"line":151,"column":17},"end":{"line":159,"column":17}},"type":"binary-expr","locations":[{"start":{"line":151,"column":17},"end":{"line":151,"column":26}},{"start":{"line":152,"column":18},"end":{"line":158,"column":20}}],"line":151},"11":{"loc":{"start":{"line":167,"column":19},"end":{"line":167,"column":44}},"type":"binary-expr","locations":[{"start":{"line":167,"column":19},"end":{"line":167,"column":23}},{"start":{"line":167,"column":27},"end":{"line":167,"column":44}}],"line":167},"12":{"loc":{"start":{"line":168,"column":19},"end":{"line":174,"column":19}},"type":"binary-expr","locations":[{"start":{"line":168,"column":19},"end":{"line":168,"column":24}},{"start":{"line":169,"column":20},"end":{"line":173,"column":35}}],"line":168},"13":{"loc":{"start":{"line":176,"column":17},"end":{"line":184,"column":17}},"type":"binary-expr","locations":[{"start":{"line":176,"column":17},"end":{"line":176,"column":26}},{"start":{"line":177,"column":18},"end":{"line":183,"column":20}}],"line":176},"14":{"loc":{"start":{"line":178,"column":29},"end":{"line":178,"column":48}},"type":"binary-expr","locations":[{"start":{"line":178,"column":29},"end":{"line":178,"column":40}},{"start":{"line":178,"column":44},"end":{"line":178,"column":48}}],"line":178},"15":{"loc":{"start":{"line":193,"column":39},"end":{"line":193,"column":56}},"type":"cond-expr","locations":[{"start":{"line":193,"column":48},"end":{"line":193,"column":52}},{"start":{"line":193,"column":55},"end":{"line":193,"column":56}}],"line":193},"16":{"loc":{"start":{"line":194,"column":30},"end":{"line":194,"column":119}},"type":"cond-expr","locations":[{"start":{"line":194,"column":64},"end":{"line":194,"column":115}},{"start":{"line":194,"column":118},"end":{"line":194,"column":119}}],"line":194},"17":{"loc":{"start":{"line":194,"column":30},"end":{"line":194,"column":61}},"type":"binary-expr","locations":[{"start":{"line":194,"column":30},"end":{"line":194,"column":36}},{"start":{"line":194,"column":40},"end":{"line":194,"column":61}}],"line":194},"18":{"loc":{"start":{"line":200,"column":13},"end":{"line":204,"column":13}},"type":"binary-expr","locations":[{"start":{"line":200,"column":13},"end":{"line":200,"column":21}},{"start":{"line":201,"column":14},"end":{"line":203,"column":28}}],"line":200}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalFooter.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalFooter.tsx","statementMap":{"0":{"start":{"line":3,"column":27},"end":{"line":28,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalHeader.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/ModalHeader.tsx","statementMap":{"0":{"start":{"line":4,"column":27},"end":{"line":7,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Modal/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButton.tsx","statementMap":{"0":{"start":{"line":30,"column":18},"end":{"line":36,"column":2}},"1":{"start":{"line":46,"column":93},"end":{"line":215,"column":1}},"2":{"start":{"line":51,"column":24},"end":{"line":51,"column":55}},"3":{"start":{"line":52,"column":22},"end":{"line":52,"column":38}},"4":{"start":{"line":53,"column":19},"end":{"line":53,"column":42}},"5":{"start":{"line":54,"column":25},"end":{"line":54,"column":60}},"6":{"start":{"line":55,"column":33},"end":{"line":55,"column":76}},"7":{"start":{"line":56,"column":25},"end":{"line":56,"column":60}},"8":{"start":{"line":57,"column":32},"end":{"line":57,"column":49}},"9":{"start":{"line":59,"column":18},"end":{"line":59,"column":60}},"10":{"start":{"line":61,"column":24},"end":{"line":64,"column":3}},"11":{"start":{"line":62,"column":10},"end":{"line":62,"column":60}},"12":{"start":{"line":66,"column":21},"end":{"line":66,"column":79}},"13":{"start":{"line":69,"column":28},"end":{"line":69,"column":96}},"14":{"start":{"line":69,"column":48},"end":{"line":69,"column":81}},"15":{"start":{"line":69,"column":73},"end":{"line":69,"column":80}},"16":{"start":{"line":71,"column":26},"end":{"line":73,"column":23}},"17":{"start":{"line":72,"column":4},"end":{"line":72,"column":76}},"18":{"start":{"line":75,"column":30},"end":{"line":77,"column":3}},"19":{"start":{"line":76,"column":4},"end":{"line":76,"column":19}},"20":{"start":{"line":79,"column":28},"end":{"line":86,"column":84}},"21":{"start":{"line":80,"column":4},"end":{"line":85,"column":7}},"22":{"start":{"line":88,"column":31},"end":{"line":90,"column":23}},"23":{"start":{"line":89,"column":4},"end":{"line":89,"column":91}},"24":{"start":{"line":93,"column":25},"end":{"line":100,"column":3}},"25":{"start":{"line":95,"column":6},"end":{"line":95,"column":76}},"26":{"start":{"line":96,"column":6},"end":{"line":96,"column":61}},"27":{"start":{"line":97,"column":6},"end":{"line":97,"column":69}},"28":{"start":{"line":102,"column":32},"end":{"line":110,"column":18}},"29":{"start":{"line":103,"column":46},"end":{"line":103,"column":48}},"30":{"start":{"line":104,"column":4},"end":{"line":108,"column":7}},"31":{"start":{"line":105,"column":6},"end":{"line":107,"column":7}},"32":{"start":{"line":106,"column":8},"end":{"line":106,"column":58}},"33":{"start":{"line":109,"column":4},"end":{"line":109,"column":75}},"34":{"start":{"line":112,"column":17},"end":{"line":112,"column":75}},"35":{"start":{"line":114,"column":22},"end":{"line":127,"column":3}},"36":{"start":{"line":116,"column":6},"end":{"line":116,"column":48}},"37":{"start":{"line":117,"column":39},"end":{"line":119,"column":7}},"38":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"39":{"start":{"line":121,"column":8},"end":{"line":121,"column":91}},"40":{"start":{"line":121,"column":44},"end":{"line":121,"column":89}},"41":{"start":{"line":124,"column":6},"end":{"line":124,"column":31}},"42":{"start":{"line":129,"column":27},"end":{"line":139,"column":3}},"43":{"start":{"line":131,"column":27},"end":{"line":131,"column":57}},"44":{"start":{"line":132,"column":6},"end":{"line":136,"column":7}},"45":{"start":{"line":133,"column":8},"end":{"line":133,"column":26}},"46":{"start":{"line":135,"column":8},"end":{"line":135,"column":35}},"47":{"start":{"line":141,"column":2},"end":{"line":214,"column":4}},"48":{"start":{"line":148,"column":48},"end":{"line":177,"column":11}},"49":{"start":{"line":159,"column":20},"end":{"line":164,"column":22}},"50":{"start":{"line":188,"column":18},"end":{"line":193,"column":20}},"51":{"start":{"line":205,"column":49},"end":{"line":205,"column":87}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":46,"column":93},"end":{"line":46,"column":94}},"loc":{"start":{"line":50,"column":6},"end":{"line":215,"column":1}},"line":50},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":4},"end":{"line":62,"column":5}},"loc":{"start":{"line":62,"column":10},"end":{"line":62,"column":60}},"line":62},"2":{"name":"(anonymous_2)","decl":{"start":{"line":69,"column":42},"end":{"line":69,"column":43}},"loc":{"start":{"line":69,"column":48},"end":{"line":69,"column":81}},"line":69},"3":{"name":"(anonymous_3)","decl":{"start":{"line":69,"column":66},"end":{"line":69,"column":67}},"loc":{"start":{"line":69,"column":73},"end":{"line":69,"column":80}},"line":69},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":44},"end":{"line":71,"column":45}},"loc":{"start":{"line":71,"column":50},"end":{"line":73,"column":3}},"line":71},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":30},"end":{"line":75,"column":31}},"loc":{"start":{"line":75,"column":64},"end":{"line":77,"column":3}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":79,"column":46},"end":{"line":79,"column":47}},"loc":{"start":{"line":79,"column":52},"end":{"line":86,"column":3}},"line":79},"7":{"name":"(anonymous_7)","decl":{"start":{"line":88,"column":49},"end":{"line":88,"column":50}},"loc":{"start":{"line":88,"column":55},"end":{"line":90,"column":3}},"line":88},"8":{"name":"(anonymous_8)","decl":{"start":{"line":94,"column":4},"end":{"line":94,"column":5}},"loc":{"start":{"line":94,"column":37},"end":{"line":98,"column":5}},"line":94},"9":{"name":"(anonymous_9)","decl":{"start":{"line":102,"column":46},"end":{"line":102,"column":47}},"loc":{"start":{"line":102,"column":52},"end":{"line":110,"column":3}},"line":102},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":23},"end":{"line":104,"column":24}},"loc":{"start":{"line":104,"column":37},"end":{"line":108,"column":5}},"line":104},"11":{"name":"(anonymous_11)","decl":{"start":{"line":115,"column":4},"end":{"line":115,"column":5}},"loc":{"start":{"line":115,"column":60},"end":{"line":125,"column":5}},"line":115},"12":{"name":"(anonymous_12)","decl":{"start":{"line":121,"column":34},"end":{"line":121,"column":35}},"loc":{"start":{"line":121,"column":44},"end":{"line":121,"column":89}},"line":121},"13":{"name":"(anonymous_13)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":52},"end":{"line":137,"column":5}},"line":130},"14":{"name":"(anonymous_14)","decl":{"start":{"line":148,"column":33},"end":{"line":148,"column":34}},"loc":{"start":{"line":148,"column":48},"end":{"line":177,"column":11}},"line":148},"15":{"name":"(anonymous_15)","decl":{"start":{"line":158,"column":48},"end":{"line":158,"column":49}},"loc":{"start":{"line":159,"column":20},"end":{"line":164,"column":22}},"line":159},"16":{"name":"(anonymous_16)","decl":{"start":{"line":187,"column":45},"end":{"line":187,"column":46}},"loc":{"start":{"line":188,"column":18},"end":{"line":193,"column":20}},"line":188},"17":{"name":"(anonymous_17)","decl":{"start":{"line":205,"column":38},"end":{"line":205,"column":39}},"loc":{"start":{"line":205,"column":49},"end":{"line":205,"column":87}},"line":205}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":18},"end":{"line":59,"column":60}},"type":"binary-expr","locations":[{"start":{"line":59,"column":18},"end":{"line":59,"column":33}},{"start":{"line":59,"column":37},"end":{"line":59,"column":60}}],"line":59},"1":{"loc":{"start":{"line":105,"column":6},"end":{"line":107,"column":7}},"type":"if","locations":[{"start":{"line":105,"column":6},"end":{"line":107,"column":7}},{"start":{},"end":{}}],"line":105},"2":{"loc":{"start":{"line":115,"column":38},"end":{"line":115,"column":55}},"type":"default-arg","locations":[{"start":{"line":115,"column":49},"end":{"line":115,"column":55}}],"line":115},"3":{"loc":{"start":{"line":118,"column":32},"end":{"line":118,"column":64}},"type":"cond-expr","locations":[{"start":{"line":118,"column":43},"end":{"line":118,"column":51}},{"start":{"line":118,"column":54},"end":{"line":118,"column":64}}],"line":118},"4":{"loc":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"type":"if","locations":[{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},{"start":{},"end":{}}],"line":120},"5":{"loc":{"start":{"line":132,"column":6},"end":{"line":136,"column":7}},"type":"if","locations":[{"start":{"line":132,"column":6},"end":{"line":136,"column":7}},{"start":{"line":134,"column":13},"end":{"line":136,"column":7}}],"line":132},"6":{"loc":{"start":{"line":132,"column":10},"end":{"line":132,"column":90}},"type":"binary-expr","locations":[{"start":{"line":132,"column":10},"end":{"line":132,"column":17}},{"start":{"line":132,"column":23},"end":{"line":132,"column":35}},{"start":{"line":132,"column":39},"end":{"line":132,"column":52}},{"start":{"line":132,"column":58},"end":{"line":132,"column":71}},{"start":{"line":132,"column":75},"end":{"line":132,"column":88}}],"line":132},"7":{"loc":{"start":{"line":148,"column":48},"end":{"line":177,"column":11}},"type":"cond-expr","locations":[{"start":{"line":149,"column":12},"end":{"line":168,"column":30}},{"start":{"line":170,"column":12},"end":{"line":176,"column":14}}],"line":148}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButtonProperty.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/MoreButtonProperty.tsx","statementMap":{"0":{"start":{"line":17,"column":101},"end":{"line":42,"column":1}},"1":{"start":{"line":20,"column":34},"end":{"line":20,"column":78}},"2":{"start":{"line":21,"column":19},"end":{"line":23,"column":48}},"3":{"start":{"line":22,"column":4},"end":{"line":22,"column":52}},"4":{"start":{"line":24,"column":22},"end":{"line":27,"column":35}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"6":{"start":{"line":26,"column":4},"end":{"line":26,"column":32}},"7":{"start":{"line":29,"column":2},"end":{"line":41,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":101},"end":{"line":17,"column":102}},"loc":{"start":{"line":19,"column":6},"end":{"line":42,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":33},"end":{"line":21,"column":34}},"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":52}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":40},"end":{"line":24,"column":41}},"loc":{"start":{"line":24,"column":52},"end":{"line":27,"column":3}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":28},"end":{"line":18,"column":44}},"type":"default-arg","locations":[{"start":{"line":18,"column":39},"end":{"line":18,"column":44}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/MoreButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx","statementMap":{"0":{"start":{"line":10,"column":25},"end":{"line":13,"column":2}},"1":{"start":{"line":15,"column":23},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":71},"end":{"line":24,"column":1}},"3":{"start":{"line":26,"column":101},"end":{"line":45,"column":1}},"4":{"start":{"line":27,"column":18},"end":{"line":27,"column":30}},"5":{"start":{"line":28,"column":25},"end":{"line":28,"column":44}},"6":{"start":{"line":30,"column":21},"end":{"line":32,"column":8}},"7":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"8":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"9":{"start":{"line":35,"column":4},"end":{"line":41,"column":6}},"10":{"start":{"line":44,"column":2},"end":{"line":44,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":101},"end":{"line":26,"column":102}},"loc":{"start":{"line":26,"column":107},"end":{"line":45,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":33},"end":{"line":30,"column":34}},"loc":{"start":{"line":30,"column":39},"end":{"line":32,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},{"start":{},"end":{}}],"line":34},"1":{"loc":{"start":{"line":34,"column":6},"end":{"line":34,"column":38}},"type":"binary-expr","locations":[{"start":{"line":34,"column":6},"end":{"line":34,"column":13}},{"start":{"line":34,"column":17},"end":{"line":34,"column":38}}],"line":34}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/NavbarUndoButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/DefaultPreset.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/DefaultPreset.tsx","statementMap":{"0":{"start":{"line":14,"column":19},"end":{"line":14,"column":42}},"1":{"start":{"line":15,"column":27},"end":{"line":19,"column":26}},"2":{"start":{"line":16,"column":4},"end":{"line":16,"column":25}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":43}},"4":{"start":{"line":18,"column":4},"end":{"line":18,"column":15}},"5":{"start":{"line":21,"column":2},"end":{"line":38,"column":4}}},"fnMap":{"0":{"name":"DefaultPreset","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":59},"end":{"line":39,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":45},"end":{"line":15,"column":46}},"loc":{"start":{"line":15,"column":51},"end":{"line":19,"column":3}},"line":15}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/FilePreset.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/PresetProvider/FilePreset.tsx","statementMap":{"0":{"start":{"line":34,"column":23},"end":{"line":34,"column":56}},"1":{"start":{"line":35,"column":22},"end":{"line":35,"column":54}},"2":{"start":{"line":36,"column":26},"end":{"line":36,"column":62}},"3":{"start":{"line":37,"column":31},"end":{"line":37,"column":67}},"4":{"start":{"line":38,"column":45},"end":{"line":38,"column":62}},"5":{"start":{"line":40,"column":32},"end":{"line":43,"column":23}},"6":{"start":{"line":41,"column":4},"end":{"line":41,"column":38}},"7":{"start":{"line":42,"column":4},"end":{"line":42,"column":37}},"8":{"start":{"line":45,"column":37},"end":{"line":48,"column":28}},"9":{"start":{"line":46,"column":4},"end":{"line":46,"column":43}},"10":{"start":{"line":47,"column":4},"end":{"line":47,"column":42}},"11":{"start":{"line":50,"column":38},"end":{"line":55,"column":75}},"12":{"start":{"line":51,"column":22},"end":{"line":51,"column":34}},"13":{"start":{"line":53,"column":4},"end":{"line":53,"column":79}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":15}},"15":{"start":{"line":57,"column":2},"end":{"line":93,"column":4}}},"fnMap":{"0":{"name":"FilePreset","decl":{"start":{"line":33,"column":24},"end":{"line":33,"column":34}},"loc":{"start":{"line":33,"column":56},"end":{"line":94,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":50},"end":{"line":40,"column":51}},"loc":{"start":{"line":40,"column":56},"end":{"line":43,"column":3}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":55},"end":{"line":45,"column":56}},"loc":{"start":{"line":45,"column":61},"end":{"line":48,"column":3}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":56},"end":{"line":50,"column":57}},"loc":{"start":{"line":50,"column":110},"end":{"line":55,"column":3}},"line":50}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/ResolvingLoader.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/ResolvingLoader.tsx","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":10,"column":2}},"1":{"start":{"line":12,"column":36},"end":{"line":18,"column":2}},"2":{"start":{"line":20,"column":100},"end":{"line":37,"column":1}},"3":{"start":{"line":21,"column":2},"end":{"line":36,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":100},"end":{"line":20,"column":101}},"loc":{"start":{"line":21,"column":2},"end":{"line":36,"column":9}},"line":21}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ResolvingLoader/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreen/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreen/index.tsx","statementMap":{"0":{"start":{"line":17,"column":31},"end":{"line":30,"column":2}},"1":{"start":{"line":32,"column":16},"end":{"line":36,"column":2}},"2":{"start":{"line":38,"column":27},"end":{"line":41,"column":2}},"3":{"start":{"line":44,"column":16},"end":{"line":44,"column":55}},"4":{"start":{"line":45,"column":20},"end":{"line":45,"column":53}},"5":{"start":{"line":46,"column":19},"end":{"line":46,"column":42}},"6":{"start":{"line":47,"column":33},"end":{"line":47,"column":42}},"7":{"start":{"line":49,"column":22},"end":{"line":51,"column":24}},"8":{"start":{"line":50,"column":4},"end":{"line":50,"column":42}},"9":{"start":{"line":53,"column":33},"end":{"line":56,"column":8}},"10":{"start":{"line":54,"column":4},"end":{"line":54,"column":32}},"11":{"start":{"line":55,"column":4},"end":{"line":55,"column":51}},"12":{"start":{"line":60,"column":2},"end":{"line":66,"column":3}},"13":{"start":{"line":61,"column":4},"end":{"line":61,"column":29}},"14":{"start":{"line":62,"column":9},"end":{"line":66,"column":3}},"15":{"start":{"line":63,"column":4},"end":{"line":63,"column":31}},"16":{"start":{"line":65,"column":4},"end":{"line":65,"column":30}},"17":{"start":{"line":68,"column":2},"end":{"line":157,"column":4}}},"fnMap":{"0":{"name":"SecondScreen","decl":{"start":{"line":43,"column":24},"end":{"line":43,"column":36}},"loc":{"start":{"line":43,"column":39},"end":{"line":158,"column":1}},"line":43},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":34},"end":{"line":49,"column":35}},"loc":{"start":{"line":49,"column":40},"end":{"line":51,"column":3}},"line":49},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":45},"end":{"line":53,"column":46}},"loc":{"start":{"line":53,"column":51},"end":{"line":56,"column":3}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":2},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":60,"column":2},"end":{"line":66,"column":3}},{"start":{"line":62,"column":9},"end":{"line":66,"column":3}}],"line":60},"1":{"loc":{"start":{"line":62,"column":9},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":62,"column":9},"end":{"line":66,"column":3}},{"start":{"line":64,"column":9},"end":{"line":66,"column":3}}],"line":62},"2":{"loc":{"start":{"line":62,"column":13},"end":{"line":62,"column":30}},"type":"binary-expr","locations":[{"start":{"line":62,"column":13},"end":{"line":62,"column":22}},{"start":{"line":62,"column":26},"end":{"line":62,"column":30}}],"line":62},"3":{"loc":{"start":{"line":84,"column":10},"end":{"line":152,"column":11}},"type":"cond-expr","locations":[{"start":{"line":85,"column":12},"end":{"line":144,"column":15}},{"start":{"line":147,"column":12},"end":{"line":151,"column":20}}],"line":84},"4":{"loc":{"start":{"line":110,"column":23},"end":{"line":110,"column":77}},"type":"cond-expr","locations":[{"start":{"line":110,"column":43},"end":{"line":110,"column":56}},{"start":{"line":110,"column":59},"end":{"line":110,"column":77}}],"line":110},"5":{"loc":{"start":{"line":110,"column":23},"end":{"line":110,"column":40}},"type":"binary-expr","locations":[{"start":{"line":110,"column":23},"end":{"line":110,"column":32}},{"start":{"line":110,"column":36},"end":{"line":110,"column":40}}],"line":110},"6":{"loc":{"start":{"line":111,"column":23},"end":{"line":111,"column":77}},"type":"cond-expr","locations":[{"start":{"line":111,"column":43},"end":{"line":111,"column":57}},{"start":{"line":111,"column":60},"end":{"line":111,"column":77}}],"line":111},"7":{"loc":{"start":{"line":111,"column":23},"end":{"line":111,"column":40}},"type":"binary-expr","locations":[{"start":{"line":111,"column":23},"end":{"line":111,"column":32}},{"start":{"line":111,"column":36},"end":{"line":111,"column":40}}],"line":111},"8":{"loc":{"start":{"line":114,"column":23},"end":{"line":114,"column":86}},"type":"cond-expr","locations":[{"start":{"line":114,"column":43},"end":{"line":114,"column":62}},{"start":{"line":114,"column":65},"end":{"line":114,"column":86}}],"line":114},"9":{"loc":{"start":{"line":114,"column":23},"end":{"line":114,"column":40}},"type":"binary-expr","locations":[{"start":{"line":114,"column":23},"end":{"line":114,"column":32}},{"start":{"line":114,"column":36},"end":{"line":114,"column":40}}],"line":114},"10":{"loc":{"start":{"line":119,"column":76},"end":{"line":119,"column":95}},"type":"binary-expr","locations":[{"start":{"line":119,"column":76},"end":{"line":119,"column":85}},{"start":{"line":119,"column":89},"end":{"line":119,"column":95}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreenSync/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/SecondScreenSync/index.tsx","statementMap":{"0":{"start":{"line":15,"column":25},"end":{"line":15,"column":58}},"1":{"start":{"line":16,"column":19},"end":{"line":16,"column":42}},"2":{"start":{"line":17,"column":17},"end":{"line":17,"column":44}},"3":{"start":{"line":18,"column":22},"end":{"line":18,"column":54}},"4":{"start":{"line":19,"column":17},"end":{"line":19,"column":48}},"5":{"start":{"line":20,"column":24},"end":{"line":20,"column":57}},"6":{"start":{"line":21,"column":19},"end":{"line":21,"column":28}},"7":{"start":{"line":24,"column":2},"end":{"line":56,"column":50}},"8":{"start":{"line":25,"column":50},"end":{"line":25,"column":54}},"9":{"start":{"line":27,"column":4},"end":{"line":50,"column":5}},"10":{"start":{"line":28,"column":6},"end":{"line":49,"column":11}},"11":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"12":{"start":{"line":40,"column":14},"end":{"line":40,"column":75}},"13":{"start":{"line":45,"column":10},"end":{"line":48,"column":11}},"14":{"start":{"line":46,"column":12},"end":{"line":46,"column":31}},"15":{"start":{"line":47,"column":12},"end":{"line":47,"column":41}},"16":{"start":{"line":51,"column":4},"end":{"line":55,"column":6}},"17":{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},"18":{"start":{"line":53,"column":8},"end":{"line":53,"column":78}},"19":{"start":{"line":53,"column":29},"end":{"line":53,"column":78}},"20":{"start":{"line":59,"column":2},"end":{"line":80,"column":73}},"21":{"start":{"line":61,"column":6},"end":{"line":67,"column":34}},"22":{"start":{"line":70,"column":4},"end":{"line":79,"column":5}},"23":{"start":{"line":71,"column":19},"end":{"line":76,"column":8}},"24":{"start":{"line":78,"column":6},"end":{"line":78,"column":41}},"25":{"start":{"line":83,"column":24},"end":{"line":109,"column":28}},"26":{"start":{"line":84,"column":42},"end":{"line":84,"column":46}},"27":{"start":{"line":85,"column":4},"end":{"line":106,"column":5}},"28":{"start":{"line":86,"column":6},"end":{"line":92,"column":9}},"29":{"start":{"line":94,"column":6},"end":{"line":105,"column":9}},"30":{"start":{"line":95,"column":8},"end":{"line":104,"column":9}},"31":{"start":{"line":96,"column":10},"end":{"line":103,"column":11}},"32":{"start":{"line":97,"column":12},"end":{"line":97,"column":73}},"33":{"start":{"line":99,"column":12},"end":{"line":102,"column":13}},"34":{"start":{"line":100,"column":14},"end":{"line":100,"column":50}},"35":{"start":{"line":101,"column":14},"end":{"line":101,"column":45}},"36":{"start":{"line":108,"column":4},"end":{"line":108,"column":19}},"37":{"start":{"line":111,"column":2},"end":{"line":116,"column":22}},"38":{"start":{"line":112,"column":20},"end":{"line":112,"column":35}},"39":{"start":{"line":113,"column":4},"end":{"line":115,"column":6}},"40":{"start":{"line":114,"column":6},"end":{"line":114,"column":60}},"41":{"start":{"line":114,"column":19},"end":{"line":114,"column":60}},"42":{"start":{"line":118,"column":2},"end":{"line":118,"column":14}}},"fnMap":{"0":{"name":"SecondScreenSync","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":40}},"loc":{"start":{"line":14,"column":43},"end":{"line":119,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":13}},"loc":{"start":{"line":24,"column":18},"end":{"line":56,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":10},"end":{"line":38,"column":11}},"loc":{"start":{"line":38,"column":65},"end":{"line":42,"column":11}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":19},"end":{"line":44,"column":20}},"loc":{"start":{"line":44,"column":46},"end":{"line":49,"column":9}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":11},"end":{"line":51,"column":12}},"loc":{"start":{"line":51,"column":17},"end":{"line":55,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":12},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":18},"end":{"line":80,"column":3}},"line":59},"6":{"name":"updateRemoteData","decl":{"start":{"line":60,"column":19},"end":{"line":60,"column":35}},"loc":{"start":{"line":60,"column":65},"end":{"line":68,"column":5}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":83,"column":42},"end":{"line":109,"column":3}},"line":83},"8":{"name":"(anonymous_8)","decl":{"start":{"line":94,"column":24},"end":{"line":94,"column":25}},"loc":{"start":{"line":94,"column":42},"end":{"line":105,"column":7}},"line":94},"9":{"name":"(anonymous_9)","decl":{"start":{"line":111,"column":12},"end":{"line":111,"column":13}},"loc":{"start":{"line":111,"column":18},"end":{"line":116,"column":3}},"line":111},"10":{"name":"(anonymous_10)","decl":{"start":{"line":113,"column":11},"end":{"line":113,"column":12}},"loc":{"start":{"line":113,"column":17},"end":{"line":115,"column":5}},"line":113}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":50,"column":5}},{"start":{},"end":{}}],"line":27},"1":{"loc":{"start":{"line":27,"column":8},"end":{"line":27,"column":30}},"type":"binary-expr","locations":[{"start":{"line":27,"column":8},"end":{"line":27,"column":12}},{"start":{"line":27,"column":16},"end":{"line":27,"column":30}}],"line":27},"2":{"loc":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"type":"if","locations":[{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":39,"column":16},"end":{"line":39,"column":89}},"type":"binary-expr","locations":[{"start":{"line":39,"column":16},"end":{"line":39,"column":62}},{"start":{"line":39,"column":66},"end":{"line":39,"column":89}}],"line":39},"4":{"loc":{"start":{"line":45,"column":10},"end":{"line":48,"column":11}},"type":"if","locations":[{"start":{"line":45,"column":10},"end":{"line":48,"column":11}},{"start":{},"end":{}}],"line":45},"5":{"loc":{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},{"start":{},"end":{}}],"line":52},"6":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":78}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":78}},{"start":{},"end":{}}],"line":53},"7":{"loc":{"start":{"line":70,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":70},"8":{"loc":{"start":{"line":70,"column":8},"end":{"line":70,"column":30}},"type":"binary-expr","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":22}},{"start":{"line":70,"column":26},"end":{"line":70,"column":30}}],"line":70},"9":{"loc":{"start":{"line":85,"column":4},"end":{"line":106,"column":5}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":106,"column":5}},{"start":{},"end":{}}],"line":85},"10":{"loc":{"start":{"line":85,"column":8},"end":{"line":85,"column":30}},"type":"binary-expr","locations":[{"start":{"line":85,"column":8},"end":{"line":85,"column":12}},{"start":{"line":85,"column":16},"end":{"line":85,"column":30}}],"line":85},"11":{"loc":{"start":{"line":95,"column":8},"end":{"line":104,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":104,"column":9}},{"start":{},"end":{}}],"line":95},"12":{"loc":{"start":{"line":95,"column":12},"end":{"line":95,"column":46}},"type":"binary-expr","locations":[{"start":{"line":95,"column":12},"end":{"line":95,"column":35}},{"start":{"line":95,"column":39},"end":{"line":95,"column":46}}],"line":95},"13":{"loc":{"start":{"line":99,"column":12},"end":{"line":102,"column":13}},"type":"if","locations":[{"start":{"line":99,"column":12},"end":{"line":102,"column":13}},{"start":{},"end":{}}],"line":99},"14":{"loc":{"start":{"line":114,"column":6},"end":{"line":114,"column":60}},"type":"if","locations":[{"start":{"line":114,"column":6},"end":{"line":114,"column":60}},{"start":{},"end":{}}],"line":114}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/Settings.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/Settings.tsx","statementMap":{"0":{"start":{"line":29,"column":16},"end":{"line":29,"column":44}},"1":{"start":{"line":31,"column":25},"end":{"line":35,"column":3}},"2":{"start":{"line":37,"column":35},"end":{"line":37,"column":80}},"3":{"start":{"line":38,"column":18},"end":{"line":38,"column":46}},"4":{"start":{"line":39,"column":19},"end":{"line":39,"column":42}},"5":{"start":{"line":40,"column":20},"end":{"line":40,"column":57}},"6":{"start":{"line":41,"column":42},"end":{"line":41,"column":54}},"7":{"start":{"line":42,"column":24},"end":{"line":42,"column":34}},"8":{"start":{"line":44,"column":26},"end":{"line":70,"column":8}},"9":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"10":{"start":{"line":46,"column":6},"end":{"line":46,"column":72}},"11":{"start":{"line":49,"column":4},"end":{"line":49,"column":53}},"12":{"start":{"line":50,"column":4},"end":{"line":69,"column":5}},"13":{"start":{"line":52,"column":6},"end":{"line":62,"column":7}},"14":{"start":{"line":53,"column":17},"end":{"line":53,"column":43}},"15":{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},"16":{"start":{"line":56,"column":10},"end":{"line":56,"column":25}},"17":{"start":{"line":57,"column":10},"end":{"line":57,"column":42}},"18":{"start":{"line":59,"column":8},"end":{"line":59,"column":34}},"19":{"start":{"line":61,"column":8},"end":{"line":61,"column":66}},"20":{"start":{"line":64,"column":6},"end":{"line":68,"column":7}},"21":{"start":{"line":65,"column":8},"end":{"line":65,"column":22}},"22":{"start":{"line":67,"column":8},"end":{"line":67,"column":62}},"23":{"start":{"line":73,"column":2},"end":{"line":83,"column":5}},"24":{"start":{"line":75,"column":6},"end":{"line":80,"column":7}},"25":{"start":{"line":76,"column":19},"end":{"line":76,"column":39}},"26":{"start":{"line":77,"column":8},"end":{"line":77,"column":34}},"27":{"start":{"line":82,"column":4},"end":{"line":82,"column":19}},"28":{"start":{"line":85,"column":47},"end":{"line":91,"column":3}},"29":{"start":{"line":87,"column":6},"end":{"line":87,"column":69}},"30":{"start":{"line":88,"column":6},"end":{"line":88,"column":69}},"31":{"start":{"line":93,"column":26},"end":{"line":95,"column":16}},"32":{"start":{"line":94,"column":4},"end":{"line":94,"column":64}},"33":{"start":{"line":97,"column":28},"end":{"line":103,"column":16}},"34":{"start":{"line":98,"column":4},"end":{"line":98,"column":54}},"35":{"start":{"line":99,"column":4},"end":{"line":99,"column":60}},"36":{"start":{"line":100,"column":4},"end":{"line":100,"column":57}},"37":{"start":{"line":101,"column":4},"end":{"line":101,"column":63}},"38":{"start":{"line":102,"column":4},"end":{"line":102,"column":38}},"39":{"start":{"line":105,"column":2},"end":{"line":219,"column":4}}},"fnMap":{"0":{"name":"Settings","decl":{"start":{"line":28,"column":9},"end":{"line":28,"column":17}},"loc":{"start":{"line":28,"column":20},"end":{"line":220,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":44},"end":{"line":44,"column":45}},"loc":{"start":{"line":44,"column":77},"end":{"line":70,"column":3}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":73,"column":12},"end":{"line":73,"column":13}},"loc":{"start":{"line":73,"column":18},"end":{"line":83,"column":3}},"line":73},"3":{"name":"getSessionId","decl":{"start":{"line":74,"column":19},"end":{"line":74,"column":31}},"loc":{"start":{"line":74,"column":34},"end":{"line":81,"column":5}},"line":74},"4":{"name":"(anonymous_4)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":29},"end":{"line":89,"column":5}},"line":86},"5":{"name":"(anonymous_5)","decl":{"start":{"line":93,"column":44},"end":{"line":93,"column":45}},"loc":{"start":{"line":93,"column":50},"end":{"line":95,"column":3}},"line":93},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":46},"end":{"line":97,"column":47}},"loc":{"start":{"line":97,"column":52},"end":{"line":103,"column":3}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":45,"column":8},"end":{"line":45,"column":60}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":15}},{"start":{"line":45,"column":19},"end":{"line":45,"column":60}}],"line":45},"2":{"loc":{"start":{"line":50,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":69,"column":5}},{"start":{"line":63,"column":11},"end":{"line":69,"column":5}}],"line":50},"3":{"loc":{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},{"start":{},"end":{}}],"line":54},"4":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":32}},"type":"binary-expr","locations":[{"start":{"line":59,"column":24},"end":{"line":59,"column":26}},{"start":{"line":59,"column":30},"end":{"line":59,"column":32}}],"line":59},"5":{"loc":{"start":{"line":77,"column":24},"end":{"line":77,"column":32}},"type":"binary-expr","locations":[{"start":{"line":77,"column":24},"end":{"line":77,"column":26}},{"start":{"line":77,"column":30},"end":{"line":77,"column":32}}],"line":77},"6":{"loc":{"start":{"line":110,"column":9},"end":{"line":114,"column":9}},"type":"binary-expr","locations":[{"start":{"line":110,"column":9},"end":{"line":110,"column":49}},{"start":{"line":111,"column":10},"end":{"line":113,"column":18}}],"line":110},"7":{"loc":{"start":{"line":141,"column":13},"end":{"line":151,"column":13}},"type":"binary-expr","locations":[{"start":{"line":141,"column":13},"end":{"line":141,"column":22}},{"start":{"line":142,"column":14},"end":{"line":150,"column":22}}],"line":141},"8":{"loc":{"start":{"line":200,"column":17},"end":{"line":206,"column":17}},"type":"binary-expr","locations":[{"start":{"line":200,"column":17},"end":{"line":200,"column":29}},{"start":{"line":201,"column":16},"end":{"line":205,"column":23}}],"line":200}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/Settings/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/ADOForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/ADOForm.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"1":{"start":{"line":28,"column":34},"end":{"line":28,"column":54}},"2":{"start":{"line":30,"column":21},"end":{"line":32,"column":8}},"3":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"4":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"5":{"start":{"line":34,"column":23},"end":{"line":58,"column":3}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":29}},"7":{"start":{"line":38,"column":24},"end":{"line":47,"column":8}},"8":{"start":{"line":48,"column":31},"end":{"line":48,"column":58}},"9":{"start":{"line":49,"column":6},"end":{"line":55,"column":7}},"10":{"start":{"line":50,"column":27},"end":{"line":53,"column":32}},"11":{"start":{"line":54,"column":8},"end":{"line":54,"column":29}},"12":{"start":{"line":60,"column":2},"end":{"line":139,"column":4}}},"fnMap":{"0":{"name":"ADOForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":31}},"loc":{"start":{"line":26,"column":10},"end":{"line":140,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":39},"end":{"line":30,"column":40}},"loc":{"start":{"line":30,"column":45},"end":{"line":32,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":17}},"loc":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":49},"end":{"line":56,"column":5}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":49,"column":6},"end":{"line":55,"column":7}},{"start":{},"end":{}}],"line":49},"1":{"loc":{"start":{"line":52,"column":22},"end":{"line":52,"column":72}},"type":"binary-expr","locations":[{"start":{"line":52,"column":22},"end":{"line":52,"column":54}},{"start":{"line":52,"column":58},"end":{"line":52,"column":72}}],"line":52},"2":{"loc":{"start":{"line":74,"column":19},"end":{"line":74,"column":39}},"type":"binary-expr","locations":[{"start":{"line":74,"column":19},"end":{"line":74,"column":33}},{"start":{"line":74,"column":37},"end":{"line":74,"column":39}}],"line":74},"3":{"loc":{"start":{"line":85,"column":28},"end":{"line":85,"column":45}},"type":"binary-expr","locations":[{"start":{"line":85,"column":28},"end":{"line":85,"column":39}},{"start":{"line":85,"column":43},"end":{"line":85,"column":45}}],"line":85},"4":{"loc":{"start":{"line":90,"column":19},"end":{"line":90,"column":38}},"type":"binary-expr","locations":[{"start":{"line":90,"column":19},"end":{"line":90,"column":32}},{"start":{"line":90,"column":36},"end":{"line":90,"column":38}}],"line":90},"5":{"loc":{"start":{"line":92,"column":18},"end":{"line":92,"column":48}},"type":"cond-expr","locations":[{"start":{"line":92,"column":29},"end":{"line":92,"column":39}},{"start":{"line":92,"column":42},"end":{"line":92,"column":48}}],"line":92},"6":{"loc":{"start":{"line":98,"column":22},"end":{"line":98,"column":68}},"type":"cond-expr","locations":[{"start":{"line":98,"column":33},"end":{"line":98,"column":50}},{"start":{"line":98,"column":53},"end":{"line":98,"column":68}}],"line":98},"7":{"loc":{"start":{"line":108,"column":28},"end":{"line":108,"column":43}},"type":"binary-expr","locations":[{"start":{"line":108,"column":28},"end":{"line":108,"column":37}},{"start":{"line":108,"column":41},"end":{"line":108,"column":43}}],"line":108},"8":{"loc":{"start":{"line":112,"column":54},"end":{"line":112,"column":73}},"type":"binary-expr","locations":[{"start":{"line":112,"column":54},"end":{"line":112,"column":67}},{"start":{"line":112,"column":71},"end":{"line":112,"column":73}}],"line":112},"9":{"loc":{"start":{"line":117,"column":19},"end":{"line":117,"column":40}},"type":"binary-expr","locations":[{"start":{"line":117,"column":19},"end":{"line":117,"column":34}},{"start":{"line":117,"column":38},"end":{"line":117,"column":40}}],"line":117},"10":{"loc":{"start":{"line":132,"column":60},"end":{"line":132,"column":90}},"type":"binary-expr","locations":[{"start":{"line":132,"column":60},"end":{"line":132,"column":74}},{"start":{"line":132,"column":78},"end":{"line":132,"column":90}}],"line":132},"11":{"loc":{"start":{"line":136,"column":9},"end":{"line":136,"column":101}},"type":"binary-expr","locations":[{"start":{"line":136,"column":9},"end":{"line":136,"column":19}},{"start":{"line":136,"column":23},"end":{"line":136,"column":101}}],"line":136}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/BitbucketForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/BitbucketForm.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"1":{"start":{"line":28,"column":34},"end":{"line":28,"column":54}},"2":{"start":{"line":30,"column":21},"end":{"line":32,"column":8}},"3":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"4":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"5":{"start":{"line":34,"column":23},"end":{"line":59,"column":3}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":29}},"7":{"start":{"line":38,"column":24},"end":{"line":48,"column":8}},"8":{"start":{"line":49,"column":31},"end":{"line":49,"column":58}},"9":{"start":{"line":50,"column":6},"end":{"line":56,"column":7}},"10":{"start":{"line":51,"column":27},"end":{"line":54,"column":32}},"11":{"start":{"line":55,"column":8},"end":{"line":55,"column":29}},"12":{"start":{"line":61,"column":2},"end":{"line":143,"column":4}}},"fnMap":{"0":{"name":"BitbucketForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":37}},"loc":{"start":{"line":26,"column":10},"end":{"line":144,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":39},"end":{"line":30,"column":40}},"loc":{"start":{"line":30,"column":45},"end":{"line":32,"column":3}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":17}},"loc":{"start":{"line":31,"column":26},"end":{"line":31,"column":31}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":49},"end":{"line":57,"column":5}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":6},"end":{"line":56,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":56,"column":7}},{"start":{},"end":{}}],"line":50},"1":{"loc":{"start":{"line":53,"column":22},"end":{"line":53,"column":72}},"type":"binary-expr","locations":[{"start":{"line":53,"column":22},"end":{"line":53,"column":54}},{"start":{"line":53,"column":58},"end":{"line":53,"column":72}}],"line":53},"2":{"loc":{"start":{"line":76,"column":28},"end":{"line":76,"column":45}},"type":"binary-expr","locations":[{"start":{"line":76,"column":28},"end":{"line":76,"column":39}},{"start":{"line":76,"column":43},"end":{"line":76,"column":45}}],"line":76},"3":{"loc":{"start":{"line":82,"column":19},"end":{"line":82,"column":40}},"type":"binary-expr","locations":[{"start":{"line":82,"column":19},"end":{"line":82,"column":34}},{"start":{"line":82,"column":38},"end":{"line":82,"column":40}}],"line":82},"4":{"loc":{"start":{"line":93,"column":19},"end":{"line":93,"column":38}},"type":"binary-expr","locations":[{"start":{"line":93,"column":19},"end":{"line":93,"column":32}},{"start":{"line":93,"column":36},"end":{"line":93,"column":38}}],"line":93},"5":{"loc":{"start":{"line":98,"column":18},"end":{"line":98,"column":48}},"type":"cond-expr","locations":[{"start":{"line":98,"column":29},"end":{"line":98,"column":39}},{"start":{"line":98,"column":42},"end":{"line":98,"column":48}}],"line":98},"6":{"loc":{"start":{"line":104,"column":22},"end":{"line":104,"column":68}},"type":"cond-expr","locations":[{"start":{"line":104,"column":33},"end":{"line":104,"column":50}},{"start":{"line":104,"column":53},"end":{"line":104,"column":68}}],"line":104},"7":{"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":43}},"type":"binary-expr","locations":[{"start":{"line":111,"column":28},"end":{"line":111,"column":37}},{"start":{"line":111,"column":41},"end":{"line":111,"column":43}}],"line":111},"8":{"loc":{"start":{"line":115,"column":28},"end":{"line":115,"column":47}},"type":"binary-expr","locations":[{"start":{"line":115,"column":28},"end":{"line":115,"column":41}},{"start":{"line":115,"column":45},"end":{"line":115,"column":47}}],"line":115},"9":{"loc":{"start":{"line":120,"column":19},"end":{"line":120,"column":40}},"type":"binary-expr","locations":[{"start":{"line":120,"column":19},"end":{"line":120,"column":34}},{"start":{"line":120,"column":38},"end":{"line":120,"column":40}}],"line":120},"10":{"loc":{"start":{"line":136,"column":60},"end":{"line":136,"column":90}},"type":"binary-expr","locations":[{"start":{"line":136,"column":60},"end":{"line":136,"column":74}},{"start":{"line":136,"column":78},"end":{"line":136,"column":90}}],"line":136},"11":{"loc":{"start":{"line":140,"column":9},"end":{"line":140,"column":101}},"type":"binary-expr","locations":[{"start":{"line":140,"column":9},"end":{"line":140,"column":19}},{"start":{"line":140,"column":23},"end":{"line":140,"column":101}}],"line":140}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GenericVersioned.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GenericVersioned.tsx","statementMap":{"0":{"start":{"line":38,"column":18},"end":{"line":50,"column":2}},"1":{"start":{"line":60,"column":16},"end":{"line":60,"column":43}},"2":{"start":{"line":61,"column":34},"end":{"line":61,"column":54}},"3":{"start":{"line":63,"column":21},"end":{"line":65,"column":8}},"4":{"start":{"line":64,"column":4},"end":{"line":64,"column":33}},"5":{"start":{"line":64,"column":26},"end":{"line":64,"column":31}},"6":{"start":{"line":67,"column":23},"end":{"line":84,"column":3}},"7":{"start":{"line":69,"column":6},"end":{"line":69,"column":29}},"8":{"start":{"line":70,"column":31},"end":{"line":70,"column":88}},"9":{"start":{"line":71,"column":6},"end":{"line":81,"column":7}},"10":{"start":{"line":72,"column":27},"end":{"line":76,"column":32}},"11":{"start":{"line":77,"column":8},"end":{"line":77,"column":29}},"12":{"start":{"line":80,"column":8},"end":{"line":80,"column":46}},"13":{"start":{"line":86,"column":28},"end":{"line":94,"column":3}},"14":{"start":{"line":87,"column":22},"end":{"line":92,"column":6}},"15":{"start":{"line":96,"column":15},"end":{"line":104,"column":38}},"16":{"start":{"line":98,"column":4},"end":{"line":102,"column":5}},"17":{"start":{"line":99,"column":26},"end":{"line":99,"column":64}},"18":{"start":{"line":100,"column":6},"end":{"line":100,"column":37}},"19":{"start":{"line":101,"column":6},"end":{"line":101,"column":25}},"20":{"start":{"line":103,"column":4},"end":{"line":103,"column":23}},"21":{"start":{"line":107,"column":18},"end":{"line":110,"column":3}},"22":{"start":{"line":108,"column":10},"end":{"line":108,"column":72}},"23":{"start":{"line":112,"column":23},"end":{"line":122,"column":3}},"24":{"start":{"line":114,"column":6},"end":{"line":119,"column":9}},"25":{"start":{"line":123,"column":25},"end":{"line":146,"column":3}},"26":{"start":{"line":126,"column":18},"end":{"line":126,"column":31}},"27":{"start":{"line":127,"column":24},"end":{"line":127,"column":32}},"28":{"start":{"line":129,"column":20},"end":{"line":129,"column":50}},"29":{"start":{"line":132,"column":27},"end":{"line":132,"column":41}},"30":{"start":{"line":135,"column":24},"end":{"line":138,"column":7}},"31":{"start":{"line":140,"column":6},"end":{"line":140,"column":33}},"32":{"start":{"line":142,"column":25},"end":{"line":142,"column":61}},"33":{"start":{"line":142,"column":47},"end":{"line":142,"column":60}},"34":{"start":{"line":143,"column":6},"end":{"line":143,"column":31}},"35":{"start":{"line":148,"column":22},"end":{"line":158,"column":3}},"36":{"start":{"line":150,"column":20},"end":{"line":150,"column":50}},"37":{"start":{"line":152,"column":29},"end":{"line":152,"column":41}},"38":{"start":{"line":153,"column":6},"end":{"line":153,"column":38}},"39":{"start":{"line":154,"column":25},"end":{"line":154,"column":68}},"40":{"start":{"line":154,"column":54},"end":{"line":154,"column":67}},"41":{"start":{"line":155,"column":6},"end":{"line":155,"column":31}},"42":{"start":{"line":160,"column":2},"end":{"line":235,"column":4}},"43":{"start":{"line":195,"column":12},"end":{"line":221,"column":18}}},"fnMap":{"0":{"name":"GenericVersionedForm","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":44}},"loc":{"start":{"line":59,"column":10},"end":{"line":236,"column":1}},"line":59},"1":{"name":"(anonymous_1)","decl":{"start":{"line":63,"column":33},"end":{"line":63,"column":34}},"loc":{"start":{"line":63,"column":39},"end":{"line":65,"column":3}},"line":63},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":16},"end":{"line":64,"column":17}},"loc":{"start":{"line":64,"column":26},"end":{"line":64,"column":31}},"line":64},"3":{"name":"(anonymous_3)","decl":{"start":{"line":68,"column":4},"end":{"line":68,"column":5}},"loc":{"start":{"line":68,"column":49},"end":{"line":82,"column":5}},"line":68},"4":{"name":"(anonymous_4)","decl":{"start":{"line":87,"column":4},"end":{"line":87,"column":5}},"loc":{"start":{"line":87,"column":22},"end":{"line":92,"column":6}},"line":87},"5":{"name":"(anonymous_5)","decl":{"start":{"line":96,"column":23},"end":{"line":96,"column":24}},"loc":{"start":{"line":96,"column":29},"end":{"line":104,"column":3}},"line":96},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":4},"end":{"line":108,"column":5}},"loc":{"start":{"line":108,"column":10},"end":{"line":108,"column":72}},"line":108},"7":{"name":"(anonymous_7)","decl":{"start":{"line":113,"column":4},"end":{"line":113,"column":5}},"loc":{"start":{"line":113,"column":29},"end":{"line":120,"column":5}},"line":113},"8":{"name":"(anonymous_8)","decl":{"start":{"line":124,"column":4},"end":{"line":124,"column":5}},"loc":{"start":{"line":124,"column":48},"end":{"line":144,"column":5}},"line":124},"9":{"name":"(anonymous_9)","decl":{"start":{"line":142,"column":40},"end":{"line":142,"column":41}},"loc":{"start":{"line":142,"column":47},"end":{"line":142,"column":60}},"line":142},"10":{"name":"(anonymous_10)","decl":{"start":{"line":149,"column":4},"end":{"line":149,"column":5}},"loc":{"start":{"line":149,"column":16},"end":{"line":156,"column":5}},"line":149},"11":{"name":"(anonymous_11)","decl":{"start":{"line":154,"column":47},"end":{"line":154,"column":48}},"loc":{"start":{"line":154,"column":54},"end":{"line":154,"column":67}},"line":154},"12":{"name":"(anonymous_12)","decl":{"start":{"line":194,"column":23},"end":{"line":194,"column":24}},"loc":{"start":{"line":195,"column":12},"end":{"line":221,"column":18}},"line":195}},"branchMap":{"0":{"loc":{"start":{"line":71,"column":6},"end":{"line":81,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":81,"column":7}},{"start":{"line":78,"column":13},"end":{"line":81,"column":7}}],"line":71},"1":{"loc":{"start":{"line":75,"column":22},"end":{"line":75,"column":72}},"type":"binary-expr","locations":[{"start":{"line":75,"column":22},"end":{"line":75,"column":54}},{"start":{"line":75,"column":58},"end":{"line":75,"column":72}}],"line":75},"2":{"loc":{"start":{"line":98,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":102,"column":5}},{"start":{},"end":{}}],"line":98},"3":{"loc":{"start":{"line":108,"column":15},"end":{"line":108,"column":45}},"type":"binary-expr","locations":[{"start":{"line":108,"column":15},"end":{"line":108,"column":39}},{"start":{"line":108,"column":43},"end":{"line":108,"column":45}}],"line":108},"4":{"loc":{"start":{"line":171,"column":50},"end":{"line":171,"column":67}},"type":"binary-expr","locations":[{"start":{"line":171,"column":50},"end":{"line":171,"column":61}},{"start":{"line":171,"column":65},"end":{"line":171,"column":67}}],"line":171},"5":{"loc":{"start":{"line":175,"column":28},"end":{"line":175,"column":43}},"type":"binary-expr","locations":[{"start":{"line":175,"column":28},"end":{"line":175,"column":37}},{"start":{"line":175,"column":41},"end":{"line":175,"column":43}}],"line":175},"6":{"loc":{"start":{"line":206,"column":24},"end":{"line":206,"column":54}},"type":"cond-expr","locations":[{"start":{"line":206,"column":35},"end":{"line":206,"column":45}},{"start":{"line":206,"column":48},"end":{"line":206,"column":54}}],"line":206},"7":{"loc":{"start":{"line":212,"column":28},"end":{"line":212,"column":74}},"type":"cond-expr","locations":[{"start":{"line":212,"column":39},"end":{"line":212,"column":56}},{"start":{"line":212,"column":59},"end":{"line":212,"column":74}}],"line":212},"8":{"loc":{"start":{"line":232,"column":9},"end":{"line":232,"column":101}},"type":"binary-expr","locations":[{"start":{"line":232,"column":9},"end":{"line":232,"column":19}},{"start":{"line":232,"column":23},"end":{"line":232,"column":101}}],"line":232}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GitForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/GitForm.tsx","statementMap":{"0":{"start":{"line":31,"column":34},"end":{"line":31,"column":54}},"1":{"start":{"line":33,"column":21},"end":{"line":35,"column":8}},"2":{"start":{"line":34,"column":4},"end":{"line":34,"column":33}},"3":{"start":{"line":34,"column":26},"end":{"line":34,"column":31}},"4":{"start":{"line":37,"column":16},"end":{"line":37,"column":43}},"5":{"start":{"line":39,"column":23},"end":{"line":64,"column":3}},"6":{"start":{"line":41,"column":6},"end":{"line":41,"column":29}},"7":{"start":{"line":43,"column":24},"end":{"line":52,"column":8}},"8":{"start":{"line":54,"column":31},"end":{"line":54,"column":58}},"9":{"start":{"line":55,"column":6},"end":{"line":61,"column":7}},"10":{"start":{"line":56,"column":27},"end":{"line":59,"column":32}},"11":{"start":{"line":60,"column":8},"end":{"line":60,"column":29}},"12":{"start":{"line":66,"column":29},"end":{"line":66,"column":66}},"13":{"start":{"line":67,"column":27},"end":{"line":67,"column":119}},"14":{"start":{"line":68,"column":23},"end":{"line":68,"column":113}},"15":{"start":{"line":70,"column":2},"end":{"line":161,"column":4}}},"fnMap":{"0":{"name":"GitForm","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":31}},"loc":{"start":{"line":30,"column":10},"end":{"line":162,"column":1}},"line":30},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":39},"end":{"line":33,"column":40}},"loc":{"start":{"line":33,"column":45},"end":{"line":35,"column":3}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},"loc":{"start":{"line":34,"column":26},"end":{"line":34,"column":31}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":49},"end":{"line":62,"column":5}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":6},"end":{"line":61,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":61,"column":7}},{"start":{},"end":{}}],"line":55},"1":{"loc":{"start":{"line":58,"column":22},"end":{"line":58,"column":72}},"type":"binary-expr","locations":[{"start":{"line":58,"column":22},"end":{"line":58,"column":54}},{"start":{"line":58,"column":58},"end":{"line":58,"column":72}}],"line":58},"2":{"loc":{"start":{"line":67,"column":27},"end":{"line":67,"column":119}},"type":"cond-expr","locations":[{"start":{"line":67,"column":76},"end":{"line":67,"column":96}},{"start":{"line":67,"column":99},"end":{"line":67,"column":119}}],"line":67},"3":{"loc":{"start":{"line":68,"column":23},"end":{"line":68,"column":113}},"type":"cond-expr","locations":[{"start":{"line":68,"column":72},"end":{"line":68,"column":91}},{"start":{"line":68,"column":94},"end":{"line":68,"column":113}}],"line":68},"4":{"loc":{"start":{"line":89,"column":19},"end":{"line":89,"column":36}},"type":"binary-expr","locations":[{"start":{"line":89,"column":19},"end":{"line":89,"column":30}},{"start":{"line":89,"column":34},"end":{"line":89,"column":36}}],"line":89},"5":{"loc":{"start":{"line":101,"column":19},"end":{"line":101,"column":38}},"type":"binary-expr","locations":[{"start":{"line":101,"column":19},"end":{"line":101,"column":32}},{"start":{"line":101,"column":36},"end":{"line":101,"column":38}}],"line":101},"6":{"loc":{"start":{"line":103,"column":18},"end":{"line":103,"column":48}},"type":"cond-expr","locations":[{"start":{"line":103,"column":29},"end":{"line":103,"column":39}},{"start":{"line":103,"column":42},"end":{"line":103,"column":48}}],"line":103},"7":{"loc":{"start":{"line":109,"column":22},"end":{"line":109,"column":68}},"type":"cond-expr","locations":[{"start":{"line":109,"column":33},"end":{"line":109,"column":50}},{"start":{"line":109,"column":53},"end":{"line":109,"column":68}}],"line":109},"8":{"loc":{"start":{"line":117,"column":46},"end":{"line":117,"column":61}},"type":"binary-expr","locations":[{"start":{"line":117,"column":46},"end":{"line":117,"column":55}},{"start":{"line":117,"column":59},"end":{"line":117,"column":61}}],"line":117},"9":{"loc":{"start":{"line":121,"column":54},"end":{"line":121,"column":73}},"type":"binary-expr","locations":[{"start":{"line":121,"column":54},"end":{"line":121,"column":67}},{"start":{"line":121,"column":71},"end":{"line":121,"column":73}}],"line":121},"10":{"loc":{"start":{"line":129,"column":19},"end":{"line":129,"column":40}},"type":"binary-expr","locations":[{"start":{"line":129,"column":19},"end":{"line":129,"column":34}},{"start":{"line":129,"column":38},"end":{"line":129,"column":40}}],"line":129},"11":{"loc":{"start":{"line":142,"column":19},"end":{"line":142,"column":39}},"type":"binary-expr","locations":[{"start":{"line":142,"column":19},"end":{"line":142,"column":33}},{"start":{"line":142,"column":37},"end":{"line":142,"column":39}}],"line":142},"12":{"loc":{"start":{"line":154,"column":60},"end":{"line":154,"column":90}},"type":"binary-expr","locations":[{"start":{"line":154,"column":60},"end":{"line":154,"column":74}},{"start":{"line":154,"column":78},"end":{"line":154,"column":90}}],"line":154},"13":{"loc":{"start":{"line":158,"column":9},"end":{"line":158,"column":101}},"type":"binary-expr","locations":[{"start":{"line":158,"column":9},"end":{"line":158,"column":19}},{"start":{"line":158,"column":23},"end":{"line":158,"column":101}}],"line":158}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/JSONBinForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/JSONBinForm.tsx","statementMap":{"0":{"start":{"line":34,"column":16},"end":{"line":34,"column":43}},"1":{"start":{"line":35,"column":34},"end":{"line":35,"column":54}},"2":{"start":{"line":37,"column":21},"end":{"line":39,"column":8}},"3":{"start":{"line":38,"column":4},"end":{"line":38,"column":33}},"4":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"5":{"start":{"line":41,"column":23},"end":{"line":63,"column":3}},"6":{"start":{"line":43,"column":6},"end":{"line":43,"column":29}},"7":{"start":{"line":45,"column":24},"end":{"line":51,"column":8}},"8":{"start":{"line":52,"column":31},"end":{"line":52,"column":58}},"9":{"start":{"line":53,"column":6},"end":{"line":60,"column":7}},"10":{"start":{"line":54,"column":27},"end":{"line":58,"column":32}},"11":{"start":{"line":59,"column":8},"end":{"line":59,"column":29}},"12":{"start":{"line":65,"column":2},"end":{"line":122,"column":4}}},"fnMap":{"0":{"name":"JSONBinForm","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":35}},"loc":{"start":{"line":33,"column":10},"end":{"line":123,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":39},"end":{"line":37,"column":40}},"loc":{"start":{"line":37,"column":45},"end":{"line":39,"column":3}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},"loc":{"start":{"line":38,"column":26},"end":{"line":38,"column":31}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":49},"end":{"line":61,"column":5}},"line":42}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":15}},"type":"default-arg","locations":[{"start":{"line":26,"column":10},"end":{"line":26,"column":15}}],"line":26},"1":{"loc":{"start":{"line":53,"column":6},"end":{"line":60,"column":7}},"type":"if","locations":[{"start":{"line":53,"column":6},"end":{"line":60,"column":7}},{"start":{},"end":{}}],"line":53},"2":{"loc":{"start":{"line":57,"column":22},"end":{"line":57,"column":72}},"type":"binary-expr","locations":[{"start":{"line":57,"column":22},"end":{"line":57,"column":54}},{"start":{"line":57,"column":58},"end":{"line":57,"column":72}}],"line":57},"3":{"loc":{"start":{"line":80,"column":19},"end":{"line":80,"column":36}},"type":"binary-expr","locations":[{"start":{"line":80,"column":19},"end":{"line":80,"column":30}},{"start":{"line":80,"column":34},"end":{"line":80,"column":36}}],"line":80},"4":{"loc":{"start":{"line":91,"column":19},"end":{"line":91,"column":38}},"type":"binary-expr","locations":[{"start":{"line":91,"column":19},"end":{"line":91,"column":32}},{"start":{"line":91,"column":36},"end":{"line":91,"column":38}}],"line":91},"5":{"loc":{"start":{"line":93,"column":18},"end":{"line":93,"column":48}},"type":"cond-expr","locations":[{"start":{"line":93,"column":29},"end":{"line":93,"column":39}},{"start":{"line":93,"column":42},"end":{"line":93,"column":48}}],"line":93},"6":{"loc":{"start":{"line":99,"column":22},"end":{"line":99,"column":68}},"type":"cond-expr","locations":[{"start":{"line":99,"column":33},"end":{"line":99,"column":50}},{"start":{"line":99,"column":53},"end":{"line":99,"column":68}}],"line":99},"7":{"loc":{"start":{"line":106,"column":36},"end":{"line":106,"column":62}},"type":"cond-expr","locations":[{"start":{"line":106,"column":44},"end":{"line":106,"column":57}},{"start":{"line":106,"column":60},"end":{"line":106,"column":62}}],"line":106},"8":{"loc":{"start":{"line":107,"column":46},"end":{"line":107,"column":61}},"type":"binary-expr","locations":[{"start":{"line":107,"column":46},"end":{"line":107,"column":55}},{"start":{"line":107,"column":59},"end":{"line":107,"column":61}}],"line":107},"9":{"loc":{"start":{"line":115,"column":60},"end":{"line":115,"column":90}},"type":"binary-expr","locations":[{"start":{"line":115,"column":60},"end":{"line":115,"column":74}},{"start":{"line":115,"column":78},"end":{"line":115,"column":90}}],"line":115},"10":{"loc":{"start":{"line":119,"column":9},"end":{"line":119,"column":101}},"type":"binary-expr","locations":[{"start":{"line":119,"column":9},"end":{"line":119,"column":19}},{"start":{"line":119,"column":23},"end":{"line":119,"column":101}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/SupernovaForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/SupernovaForm.tsx","statementMap":{"0":{"start":{"line":26,"column":18},"end":{"line":26,"column":55}},"1":{"start":{"line":27,"column":34},"end":{"line":27,"column":54}},"2":{"start":{"line":29,"column":21},"end":{"line":31,"column":8}},"3":{"start":{"line":30,"column":4},"end":{"line":30,"column":33}},"4":{"start":{"line":30,"column":26},"end":{"line":30,"column":31}},"5":{"start":{"line":33,"column":16},"end":{"line":33,"column":43}},"6":{"start":{"line":35,"column":23},"end":{"line":57,"column":3}},"7":{"start":{"line":37,"column":6},"end":{"line":37,"column":29}},"8":{"start":{"line":39,"column":24},"end":{"line":46,"column":8}},"9":{"start":{"line":47,"column":31},"end":{"line":47,"column":58}},"10":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"11":{"start":{"line":49,"column":27},"end":{"line":52,"column":32}},"12":{"start":{"line":53,"column":8},"end":{"line":53,"column":29}},"13":{"start":{"line":59,"column":30},"end":{"line":65,"column":3}},"14":{"start":{"line":62,"column":6},"end":{"line":62,"column":102}},"15":{"start":{"line":67,"column":2},"end":{"line":131,"column":4}}},"fnMap":{"0":{"name":"SupernovaForm","decl":{"start":{"line":23,"column":24},"end":{"line":23,"column":37}},"loc":{"start":{"line":25,"column":10},"end":{"line":132,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":39},"end":{"line":29,"column":40}},"loc":{"start":{"line":29,"column":45},"end":{"line":31,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":16},"end":{"line":30,"column":17}},"loc":{"start":{"line":30,"column":26},"end":{"line":30,"column":31}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":49},"end":{"line":55,"column":5}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":70},"end":{"line":63,"column":5}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":48,"column":6},"end":{"line":54,"column":7}},{"start":{},"end":{}}],"line":48},"1":{"loc":{"start":{"line":51,"column":22},"end":{"line":51,"column":72}},"type":"binary-expr","locations":[{"start":{"line":51,"column":22},"end":{"line":51,"column":54}},{"start":{"line":51,"column":58},"end":{"line":51,"column":72}}],"line":51},"2":{"loc":{"start":{"line":78,"column":50},"end":{"line":78,"column":67}},"type":"binary-expr","locations":[{"start":{"line":78,"column":50},"end":{"line":78,"column":61}},{"start":{"line":78,"column":65},"end":{"line":78,"column":67}}],"line":78},"3":{"loc":{"start":{"line":86,"column":19},"end":{"line":86,"column":38}},"type":"binary-expr","locations":[{"start":{"line":86,"column":19},"end":{"line":86,"column":32}},{"start":{"line":86,"column":36},"end":{"line":86,"column":38}}],"line":86},"4":{"loc":{"start":{"line":90,"column":18},"end":{"line":90,"column":48}},"type":"cond-expr","locations":[{"start":{"line":90,"column":29},"end":{"line":90,"column":39}},{"start":{"line":90,"column":42},"end":{"line":90,"column":48}}],"line":90},"5":{"loc":{"start":{"line":96,"column":22},"end":{"line":96,"column":68}},"type":"cond-expr","locations":[{"start":{"line":96,"column":33},"end":{"line":96,"column":50}},{"start":{"line":96,"column":53},"end":{"line":96,"column":68}}],"line":96},"6":{"loc":{"start":{"line":106,"column":19},"end":{"line":106,"column":47}},"type":"binary-expr","locations":[{"start":{"line":106,"column":19},"end":{"line":106,"column":41}},{"start":{"line":106,"column":45},"end":{"line":106,"column":47}}],"line":106},"7":{"loc":{"start":{"line":114,"column":49},"end":{"line":114,"column":69}},"type":"binary-expr","locations":[{"start":{"line":114,"column":49},"end":{"line":114,"column":63}},{"start":{"line":114,"column":67},"end":{"line":114,"column":69}}],"line":114},"8":{"loc":{"start":{"line":123,"column":22},"end":{"line":123,"column":98}},"type":"binary-expr","locations":[{"start":{"line":123,"column":22},"end":{"line":123,"column":36}},{"start":{"line":123,"column":40},"end":{"line":123,"column":52}},{"start":{"line":123,"column":56},"end":{"line":123,"column":79}},{"start":{"line":123,"column":83},"end":{"line":123,"column":98}}],"line":123},"9":{"loc":{"start":{"line":128,"column":9},"end":{"line":128,"column":101}},"type":"binary-expr","locations":[{"start":{"line":128,"column":9},"end":{"line":128,"column":19}},{"start":{"line":128,"column":23},"end":{"line":128,"column":101}}],"line":128}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/TokensStudioForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/TokensStudioForm.tsx","statementMap":{"0":{"start":{"line":30,"column":31},"end":{"line":33,"column":2}},"1":{"start":{"line":48,"column":16},"end":{"line":48,"column":43}},"2":{"start":{"line":49,"column":46},"end":{"line":49,"column":81}},"3":{"start":{"line":50,"column":32},"end":{"line":50,"column":66}},"4":{"start":{"line":51,"column":34},"end":{"line":51,"column":54}},"5":{"start":{"line":52,"column":38},"end":{"line":52,"column":58}},"6":{"start":{"line":53,"column":19},"end":{"line":53,"column":42}},"7":{"start":{"line":55,"column":21},"end":{"line":57,"column":8}},"8":{"start":{"line":56,"column":4},"end":{"line":56,"column":33}},"9":{"start":{"line":56,"column":26},"end":{"line":56,"column":31}},"10":{"start":{"line":59,"column":23},"end":{"line":81,"column":3}},"11":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"12":{"start":{"line":63,"column":24},"end":{"line":70,"column":8}},"13":{"start":{"line":71,"column":31},"end":{"line":71,"column":58}},"14":{"start":{"line":72,"column":6},"end":{"line":78,"column":7}},"15":{"start":{"line":73,"column":27},"end":{"line":76,"column":32}},"16":{"start":{"line":77,"column":8},"end":{"line":77,"column":29}},"17":{"start":{"line":83,"column":2},"end":{"line":87,"column":15}},"18":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"19":{"start":{"line":85,"column":6},"end":{"line":85,"column":27}},"20":{"start":{"line":89,"column":30},"end":{"line":91,"column":8}},"21":{"start":{"line":90,"column":4},"end":{"line":90,"column":25}},"22":{"start":{"line":93,"column":23},"end":{"line":110,"column":31}},"23":{"start":{"line":94,"column":4},"end":{"line":109,"column":5}},"24":{"start":{"line":95,"column":21},"end":{"line":99,"column":8}},"25":{"start":{"line":100,"column":21},"end":{"line":102,"column":8}},"26":{"start":{"line":103,"column":6},"end":{"line":106,"column":7}},"27":{"start":{"line":104,"column":8},"end":{"line":104,"column":69}},"28":{"start":{"line":105,"column":8},"end":{"line":105,"column":61}},"29":{"start":{"line":108,"column":6},"end":{"line":108,"column":95}},"30":{"start":{"line":112,"column":2},"end":{"line":116,"column":36}},"31":{"start":{"line":113,"column":4},"end":{"line":115,"column":5}},"32":{"start":{"line":114,"column":6},"end":{"line":114,"column":21}},"33":{"start":{"line":118,"column":21},"end":{"line":124,"column":3}},"34":{"start":{"line":119,"column":10},"end":{"line":122,"column":7}},"35":{"start":{"line":119,"column":33},"end":{"line":122,"column":5}},"36":{"start":{"line":126,"column":22},"end":{"line":131,"column":3}},"37":{"start":{"line":128,"column":6},"end":{"line":128,"column":53}},"38":{"start":{"line":133,"column":25},"end":{"line":141,"column":29}},"39":{"start":{"line":134,"column":4},"end":{"line":134,"column":28}},"40":{"start":{"line":134,"column":18},"end":{"line":134,"column":28}},"41":{"start":{"line":135,"column":28},"end":{"line":135,"column":74}},"42":{"start":{"line":135,"column":50},"end":{"line":135,"column":73}},"43":{"start":{"line":136,"column":4},"end":{"line":136,"column":36}},"44":{"start":{"line":136,"column":26},"end":{"line":136,"column":36}},"45":{"start":{"line":137,"column":4},"end":{"line":140,"column":8}},"46":{"start":{"line":137,"column":59},"end":{"line":140,"column":5}},"47":{"start":{"line":143,"column":22},"end":{"line":143,"column":75}},"48":{"start":{"line":143,"column":48},"end":{"line":143,"column":74}},"49":{"start":{"line":145,"column":26},"end":{"line":145,"column":88}},"50":{"start":{"line":145,"column":60},"end":{"line":145,"column":87}},"51":{"start":{"line":147,"column":26},"end":{"line":152,"column":3}},"52":{"start":{"line":149,"column":6},"end":{"line":149,"column":50}},"53":{"start":{"line":154,"column":2},"end":{"line":266,"column":4}},"54":{"start":{"line":228,"column":20},"end":{"line":230,"column":34}},"55":{"start":{"line":246,"column":20},"end":{"line":248,"column":34}}},"fnMap":{"0":{"name":"TokensStudioForm","decl":{"start":{"line":45,"column":24},"end":{"line":45,"column":40}},"loc":{"start":{"line":47,"column":10},"end":{"line":267,"column":1}},"line":47},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":39},"end":{"line":55,"column":40}},"loc":{"start":{"line":55,"column":45},"end":{"line":57,"column":3}},"line":55},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":17}},"loc":{"start":{"line":56,"column":26},"end":{"line":56,"column":31}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":49},"end":{"line":79,"column":5}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":83,"column":18},"end":{"line":83,"column":19}},"loc":{"start":{"line":83,"column":24},"end":{"line":87,"column":3}},"line":83},"5":{"name":"(anonymous_5)","decl":{"start":{"line":89,"column":48},"end":{"line":89,"column":49}},"loc":{"start":{"line":89,"column":54},"end":{"line":91,"column":3}},"line":89},"6":{"name":"(anonymous_6)","decl":{"start":{"line":93,"column":41},"end":{"line":93,"column":42}},"loc":{"start":{"line":93,"column":53},"end":{"line":110,"column":3}},"line":93},"7":{"name":"(anonymous_7)","decl":{"start":{"line":112,"column":12},"end":{"line":112,"column":13}},"loc":{"start":{"line":112,"column":18},"end":{"line":116,"column":3}},"line":112},"8":{"name":"(anonymous_8)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":10},"end":{"line":122,"column":7}},"line":119},"9":{"name":"(anonymous_9)","decl":{"start":{"line":119,"column":23},"end":{"line":119,"column":24}},"loc":{"start":{"line":119,"column":33},"end":{"line":122,"column":5}},"line":119},"10":{"name":"(anonymous_10)","decl":{"start":{"line":127,"column":4},"end":{"line":127,"column":5}},"loc":{"start":{"line":127,"column":23},"end":{"line":129,"column":5}},"line":127},"11":{"name":"(anonymous_11)","decl":{"start":{"line":133,"column":39},"end":{"line":133,"column":40}},"loc":{"start":{"line":133,"column":45},"end":{"line":141,"column":3}},"line":133},"12":{"name":"(anonymous_12)","decl":{"start":{"line":135,"column":41},"end":{"line":135,"column":42}},"loc":{"start":{"line":135,"column":50},"end":{"line":135,"column":73}},"line":135},"13":{"name":"(anonymous_13)","decl":{"start":{"line":137,"column":45},"end":{"line":137,"column":46}},"loc":{"start":{"line":137,"column":59},"end":{"line":140,"column":5}},"line":137},"14":{"name":"(anonymous_14)","decl":{"start":{"line":143,"column":39},"end":{"line":143,"column":40}},"loc":{"start":{"line":143,"column":48},"end":{"line":143,"column":74}},"line":143},"15":{"name":"(anonymous_15)","decl":{"start":{"line":145,"column":47},"end":{"line":145,"column":48}},"loc":{"start":{"line":145,"column":60},"end":{"line":145,"column":87}},"line":145},"16":{"name":"(anonymous_16)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":23},"end":{"line":150,"column":5}},"line":148},"17":{"name":"(anonymous_17)","decl":{"start":{"line":227,"column":35},"end":{"line":227,"column":36}},"loc":{"start":{"line":228,"column":20},"end":{"line":230,"column":34}},"line":228},"18":{"name":"(anonymous_18)","decl":{"start":{"line":245,"column":39},"end":{"line":245,"column":40}},"loc":{"start":{"line":246,"column":20},"end":{"line":248,"column":34}},"line":246}},"branchMap":{"0":{"loc":{"start":{"line":72,"column":6},"end":{"line":78,"column":7}},"type":"if","locations":[{"start":{"line":72,"column":6},"end":{"line":78,"column":7}},{"start":{},"end":{}}],"line":72},"1":{"loc":{"start":{"line":75,"column":22},"end":{"line":75,"column":72}},"type":"binary-expr","locations":[{"start":{"line":75,"column":22},"end":{"line":75,"column":54}},{"start":{"line":75,"column":58},"end":{"line":75,"column":72}}],"line":75},"2":{"loc":{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":84},"3":{"loc":{"start":{"line":96,"column":14},"end":{"line":96,"column":68}},"type":"binary-expr","locations":[{"start":{"line":96,"column":14},"end":{"line":96,"column":48}},{"start":{"line":96,"column":52},"end":{"line":96,"column":68}}],"line":96},"4":{"loc":{"start":{"line":103,"column":6},"end":{"line":106,"column":7}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":106,"column":7}},{"start":{},"end":{}}],"line":103},"5":{"loc":{"start":{"line":103,"column":10},"end":{"line":103,"column":53}},"type":"binary-expr","locations":[{"start":{"line":103,"column":10},"end":{"line":103,"column":36}},{"start":{"line":103,"column":40},"end":{"line":103,"column":53}}],"line":103},"6":{"loc":{"start":{"line":113,"column":4},"end":{"line":115,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":115,"column":5}},{"start":{},"end":{}}],"line":113},"7":{"loc":{"start":{"line":134,"column":4},"end":{"line":134,"column":28}},"type":"if","locations":[{"start":{"line":134,"column":4},"end":{"line":134,"column":28}},{"start":{},"end":{}}],"line":134},"8":{"loc":{"start":{"line":136,"column":4},"end":{"line":136,"column":36}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":136,"column":36}},{"start":{},"end":{}}],"line":136},"9":{"loc":{"start":{"line":154,"column":9},"end":{"line":266,"column":3}},"type":"cond-expr","locations":[{"start":{"line":155,"column":4},"end":{"line":169,"column":12}},{"start":{"line":171,"column":4},"end":{"line":265,"column":11}}],"line":154},"10":{"loc":{"start":{"line":196,"column":50},"end":{"line":196,"column":67}},"type":"binary-expr","locations":[{"start":{"line":196,"column":50},"end":{"line":196,"column":61}},{"start":{"line":196,"column":65},"end":{"line":196,"column":67}}],"line":196},"11":{"loc":{"start":{"line":202,"column":19},"end":{"line":202,"column":38}},"type":"binary-expr","locations":[{"start":{"line":202,"column":19},"end":{"line":202,"column":32}},{"start":{"line":202,"column":36},"end":{"line":202,"column":38}}],"line":202},"12":{"loc":{"start":{"line":208,"column":18},"end":{"line":208,"column":48}},"type":"cond-expr","locations":[{"start":{"line":208,"column":29},"end":{"line":208,"column":39}},{"start":{"line":208,"column":42},"end":{"line":208,"column":48}}],"line":208},"13":{"loc":{"start":{"line":214,"column":22},"end":{"line":214,"column":68}},"type":"cond-expr","locations":[{"start":{"line":214,"column":33},"end":{"line":214,"column":50}},{"start":{"line":214,"column":53},"end":{"line":214,"column":68}}],"line":214},"14":{"loc":{"start":{"line":218,"column":11},"end":{"line":218,"column":64}},"type":"binary-expr","locations":[{"start":{"line":218,"column":11},"end":{"line":218,"column":25}},{"start":{"line":218,"column":29},"end":{"line":218,"column":64}}],"line":218},"15":{"loc":{"start":{"line":220,"column":9},"end":{"line":236,"column":9}},"type":"binary-expr","locations":[{"start":{"line":220,"column":9},"end":{"line":220,"column":31}},{"start":{"line":221,"column":10},"end":{"line":235,"column":18}}],"line":220},"16":{"loc":{"start":{"line":224,"column":29},"end":{"line":224,"column":47}},"type":"binary-expr","locations":[{"start":{"line":224,"column":29},"end":{"line":224,"column":41}},{"start":{"line":224,"column":45},"end":{"line":224,"column":47}}],"line":224},"17":{"loc":{"start":{"line":225,"column":39},"end":{"line":225,"column":85}},"type":"binary-expr","locations":[{"start":{"line":225,"column":39},"end":{"line":225,"column":57}},{"start":{"line":225,"column":61},"end":{"line":225,"column":85}}],"line":225},"18":{"loc":{"start":{"line":238,"column":9},"end":{"line":254,"column":9}},"type":"binary-expr","locations":[{"start":{"line":238,"column":9},"end":{"line":238,"column":35}},{"start":{"line":239,"column":10},"end":{"line":253,"column":18}}],"line":238},"19":{"loc":{"start":{"line":242,"column":29},"end":{"line":242,"column":44}},"type":"binary-expr","locations":[{"start":{"line":242,"column":29},"end":{"line":242,"column":38}},{"start":{"line":242,"column":42},"end":{"line":242,"column":44}}],"line":242},"20":{"loc":{"start":{"line":243,"column":39},"end":{"line":243,"column":83}},"type":"binary-expr","locations":[{"start":{"line":243,"column":39},"end":{"line":243,"column":61}},{"start":{"line":243,"column":65},"end":{"line":243,"column":83}}],"line":243},"21":{"loc":{"start":{"line":259,"column":60},"end":{"line":259,"column":90}},"type":"binary-expr","locations":[{"start":{"line":259,"column":60},"end":{"line":259,"column":74}},{"start":{"line":259,"column":78},"end":{"line":259,"column":90}}],"line":259},"22":{"loc":{"start":{"line":263,"column":9},"end":{"line":263,"column":101}},"type":"binary-expr","locations":[{"start":{"line":263,"column":9},"end":{"line":263,"column":19}},{"start":{"line":263,"column":23},"end":{"line":263,"column":101}}],"line":263}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/URLForm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/URLForm.tsx","statementMap":{"0":{"start":{"line":27,"column":16},"end":{"line":27,"column":43}},"1":{"start":{"line":29,"column":34},"end":{"line":29,"column":55}},"2":{"start":{"line":31,"column":21},"end":{"line":33,"column":8}},"3":{"start":{"line":32,"column":4},"end":{"line":32,"column":33}},"4":{"start":{"line":32,"column":26},"end":{"line":32,"column":31}},"5":{"start":{"line":35,"column":23},"end":{"line":57,"column":3}},"6":{"start":{"line":37,"column":6},"end":{"line":37,"column":29}},"7":{"start":{"line":39,"column":24},"end":{"line":45,"column":8}},"8":{"start":{"line":46,"column":31},"end":{"line":46,"column":58}},"9":{"start":{"line":47,"column":6},"end":{"line":54,"column":7}},"10":{"start":{"line":48,"column":27},"end":{"line":52,"column":32}},"11":{"start":{"line":53,"column":8},"end":{"line":53,"column":29}},"12":{"start":{"line":59,"column":2},"end":{"line":115,"column":4}}},"fnMap":{"0":{"name":"URLForm","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":31}},"loc":{"start":{"line":26,"column":10},"end":{"line":116,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":39},"end":{"line":31,"column":40}},"loc":{"start":{"line":31,"column":45},"end":{"line":33,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":17}},"loc":{"start":{"line":32,"column":26},"end":{"line":32,"column":31}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":49},"end":{"line":55,"column":5}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":47,"column":6},"end":{"line":54,"column":7}},"type":"if","locations":[{"start":{"line":47,"column":6},"end":{"line":54,"column":7}},{"start":{},"end":{}}],"line":47},"1":{"loc":{"start":{"line":51,"column":22},"end":{"line":51,"column":72}},"type":"binary-expr","locations":[{"start":{"line":51,"column":22},"end":{"line":51,"column":54}},{"start":{"line":51,"column":58},"end":{"line":51,"column":72}}],"line":51},"2":{"loc":{"start":{"line":74,"column":19},"end":{"line":74,"column":36}},"type":"binary-expr","locations":[{"start":{"line":74,"column":19},"end":{"line":74,"column":30}},{"start":{"line":74,"column":34},"end":{"line":74,"column":36}}],"line":74},"3":{"loc":{"start":{"line":83,"column":46},"end":{"line":83,"column":61}},"type":"binary-expr","locations":[{"start":{"line":83,"column":46},"end":{"line":83,"column":55}},{"start":{"line":83,"column":59},"end":{"line":83,"column":61}}],"line":83},"4":{"loc":{"start":{"line":90,"column":19},"end":{"line":90,"column":38}},"type":"binary-expr","locations":[{"start":{"line":90,"column":19},"end":{"line":90,"column":32}},{"start":{"line":90,"column":36},"end":{"line":90,"column":38}}],"line":90},"5":{"loc":{"start":{"line":92,"column":18},"end":{"line":92,"column":48}},"type":"cond-expr","locations":[{"start":{"line":92,"column":29},"end":{"line":92,"column":39}},{"start":{"line":92,"column":42},"end":{"line":92,"column":48}}],"line":92},"6":{"loc":{"start":{"line":98,"column":22},"end":{"line":98,"column":68}},"type":"cond-expr","locations":[{"start":{"line":98,"column":33},"end":{"line":98,"column":50}},{"start":{"line":98,"column":53},"end":{"line":98,"column":68}}],"line":98},"7":{"loc":{"start":{"line":108,"column":60},"end":{"line":108,"column":90}},"type":"binary-expr","locations":[{"start":{"line":108,"column":60},"end":{"line":108,"column":74}},{"start":{"line":108,"column":78},"end":{"line":108,"column":90}}],"line":108},"8":{"loc":{"start":{"line":112,"column":9},"end":{"line":112,"column":101}},"type":"binary-expr","locations":[{"start":{"line":112,"column":9},"end":{"line":112,"column":19}},{"start":{"line":112,"column":23},"end":{"line":112,"column":101}}],"line":112}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/types.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StorageItemForm/types.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragGrabber.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragGrabber.tsx","statementMap":{"0":{"start":{"line":13,"column":35},"end":{"line":18,"column":3}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":48}},"2":{"start":{"line":15,"column":23},"end":{"line":15,"column":48}},"3":{"start":{"line":20,"column":2},"end":{"line":26,"column":4}}},"fnMap":{"0":{"name":"DragGrabber","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":27}},"loc":{"start":{"line":12,"column":84},"end":{"line":27,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":15},"end":{"line":16,"column":5}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":39},"end":{"line":12,"column":57}},"type":"default-arg","locations":[{"start":{"line":12,"column":52},"end":{"line":12,"column":57}}],"line":12},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":48}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":48}},{"start":{},"end":{}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/DragItem.tsx","statementMap":{"0":{"start":{"line":16,"column":12},"end":{"line":16,"column":29}},"1":{"start":{"line":17,"column":20},"end":{"line":17,"column":38}},"2":{"start":{"line":18,"column":19},"end":{"line":18,"column":36}},"3":{"start":{"line":19,"column":25},"end":{"line":19,"column":60}},"4":{"start":{"line":20,"column":23},"end":{"line":20,"column":64}},"5":{"start":{"line":20,"column":38},"end":{"line":20,"column":50}},"6":{"start":{"line":22,"column":2},"end":{"line":39,"column":6}}},"fnMap":{"0":{"name":"DragItem","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":24}},"loc":{"start":{"line":15,"column":58},"end":{"line":40,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":31},"end":{"line":20,"column":32}},"loc":{"start":{"line":20,"column":38},"end":{"line":20,"column":50}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":9},"end":{"line":39,"column":5}},"type":"cond-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":33,"column":37}},{"start":{"line":36,"column":6},"end":{"line":38,"column":14}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledBeforeFlex.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledBeforeFlex.tsx","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":9,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledCheckbox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledCheckbox.tsx","statementMap":{"0":{"start":{"line":4,"column":30},"end":{"line":27,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledDragButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledDragButton.tsx","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":53,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledGrabber.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/StyledDragger/StyledGrabber.tsx","statementMap":{"0":{"start":{"line":4,"column":29},"end":{"line":24,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/TabButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/TabButton.tsx","statementMap":{"0":{"start":{"line":21,"column":21},"end":{"line":57,"column":2}},"1":{"start":{"line":62,"column":18},"end":{"line":65,"column":33}},"2":{"start":{"line":63,"column":4},"end":{"line":63,"column":57}},"3":{"start":{"line":64,"column":4},"end":{"line":64,"column":19}},"4":{"start":{"line":67,"column":2},"end":{"line":95,"column":4}}},"fnMap":{"0":{"name":"TabButton","decl":{"start":{"line":59,"column":16},"end":{"line":59,"column":25}},"loc":{"start":{"line":61,"column":13},"end":{"line":96,"column":1}},"line":61},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":36},"end":{"line":62,"column":37}},"loc":{"start":{"line":62,"column":42},"end":{"line":65,"column":3}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":78,"column":41},"end":{"line":78,"column":54}},"type":"binary-expr","locations":[{"start":{"line":78,"column":41},"end":{"line":78,"column":48}},{"start":{"line":78,"column":52},"end":{"line":78,"column":54}}],"line":78},"1":{"loc":{"start":{"line":80,"column":11},"end":{"line":80,"column":41}},"type":"binary-expr","locations":[{"start":{"line":80,"column":11},"end":{"line":80,"column":24}},{"start":{"line":80,"column":28},"end":{"line":80,"column":41}}],"line":80},"2":{"loc":{"start":{"line":81,"column":11},"end":{"line":90,"column":11}},"type":"binary-expr","locations":[{"start":{"line":81,"column":11},"end":{"line":81,"column":16}},{"start":{"line":82,"column":10},"end":{"line":89,"column":16}}],"line":81},"3":{"loc":{"start":{"line":91,"column":11},"end":{"line":91,"column":37}},"type":"binary-expr","locations":[{"start":{"line":91,"column":11},"end":{"line":91,"column":22}},{"start":{"line":91,"column":26},"end":{"line":91,"column":37}}],"line":91}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TabButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/ThemeSelector.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/ThemeSelector.tsx","statementMap":{"0":{"start":{"line":21,"column":98},"end":{"line":152,"column":1}},"1":{"start":{"line":22,"column":20},"end":{"line":22,"column":34}},"2":{"start":{"line":23,"column":19},"end":{"line":23,"column":42}},"3":{"start":{"line":24,"column":16},"end":{"line":24,"column":42}},"4":{"start":{"line":25,"column":22},"end":{"line":25,"column":54}},"5":{"start":{"line":26,"column":26},"end":{"line":26,"column":59}},"6":{"start":{"line":27,"column":21},"end":{"line":27,"column":142}},"7":{"start":{"line":27,"column":36},"end":{"line":27,"column":121}},"8":{"start":{"line":27,"column":79},"end":{"line":27,"column":118}},"9":{"start":{"line":29,"column":27},"end":{"line":31,"column":16}},"10":{"start":{"line":30,"column":4},"end":{"line":30,"column":88}},"11":{"start":{"line":33,"column":28},"end":{"line":47,"column":46}},"12":{"start":{"line":34,"column":25},"end":{"line":34,"column":116}},"13":{"start":{"line":34,"column":57},"end":{"line":34,"column":80}},"14":{"start":{"line":35,"column":22},"end":{"line":35,"column":33}},"15":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"16":{"start":{"line":37,"column":6},"end":{"line":37,"column":37}},"17":{"start":{"line":39,"column":6},"end":{"line":39,"column":40}},"18":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"19":{"start":{"line":42,"column":6},"end":{"line":42,"column":46}},"20":{"start":{"line":44,"column":6},"end":{"line":44,"column":27}},"21":{"start":{"line":46,"column":4},"end":{"line":46,"column":95}},"22":{"start":{"line":49,"column":29},"end":{"line":51,"column":16}},"23":{"start":{"line":50,"column":4},"end":{"line":50,"column":52}},"24":{"start":{"line":53,"column":27},"end":{"line":63,"column":36}},"25":{"start":{"line":54,"column":4},"end":{"line":61,"column":5}},"26":{"start":{"line":55,"column":6},"end":{"line":55,"column":63}},"27":{"start":{"line":55,"column":49},"end":{"line":55,"column":63}},"28":{"start":{"line":56,"column":6},"end":{"line":59,"column":7}},"29":{"start":{"line":57,"column":28},"end":{"line":57,"column":104}},"30":{"start":{"line":57,"column":64},"end":{"line":57,"column":103}},"31":{"start":{"line":58,"column":8},"end":{"line":58,"column":59}},"32":{"start":{"line":60,"column":6},"end":{"line":60,"column":57}},"33":{"start":{"line":62,"column":4},"end":{"line":62,"column":18}},"34":{"start":{"line":65,"column":28},"end":{"line":82,"column":26}},"35":{"start":{"line":65,"column":70},"end":{"line":82,"column":4}},"36":{"start":{"line":66,"column":25},"end":{"line":66,"column":55}},"37":{"start":{"line":66,"column":31},"end":{"line":66,"column":55}},"38":{"start":{"line":67,"column":4},"end":{"line":81,"column":6}},"39":{"start":{"line":84,"column":32},"end":{"line":102,"column":67}},"40":{"start":{"line":85,"column":4},"end":{"line":101,"column":10}},"41":{"start":{"line":88,"column":33},"end":{"line":88,"column":212}},"42":{"start":{"line":88,"column":109},"end":{"line":88,"column":144}},"43":{"start":{"line":88,"column":184},"end":{"line":88,"column":210}},"44":{"start":{"line":89,"column":10},"end":{"line":98,"column":12}},"45":{"start":{"line":104,"column":2},"end":{"line":151,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":98},"end":{"line":21,"column":99}},"loc":{"start":{"line":21,"column":104},"end":{"line":152,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":29},"end":{"line":27,"column":30}},"loc":{"start":{"line":27,"column":36},"end":{"line":27,"column":121}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":68},"end":{"line":27,"column":69}},"loc":{"start":{"line":27,"column":79},"end":{"line":27,"column":118}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":39},"end":{"line":29,"column":40}},"loc":{"start":{"line":29,"column":45},"end":{"line":31,"column":3}},"line":29},"4":{"name":"(anonymous_4)","decl":{"start":{"line":33,"column":40},"end":{"line":33,"column":41}},"loc":{"start":{"line":33,"column":61},"end":{"line":47,"column":3}},"line":33},"5":{"name":"(anonymous_5)","decl":{"start":{"line":34,"column":46},"end":{"line":34,"column":47}},"loc":{"start":{"line":34,"column":57},"end":{"line":34,"column":80}},"line":34},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":41},"end":{"line":49,"column":42}},"loc":{"start":{"line":49,"column":47},"end":{"line":51,"column":3}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":53,"column":35},"end":{"line":53,"column":36}},"loc":{"start":{"line":53,"column":41},"end":{"line":63,"column":3}},"line":53},"8":{"name":"(anonymous_8)","decl":{"start":{"line":57,"column":49},"end":{"line":57,"column":50}},"loc":{"start":{"line":57,"column":64},"end":{"line":57,"column":103}},"line":57},"9":{"name":"(anonymous_9)","decl":{"start":{"line":65,"column":40},"end":{"line":65,"column":41}},"loc":{"start":{"line":65,"column":70},"end":{"line":82,"column":4}},"line":65},"10":{"name":"(anonymous_10)","decl":{"start":{"line":65,"column":81},"end":{"line":65,"column":82}},"loc":{"start":{"line":65,"column":103},"end":{"line":82,"column":3}},"line":65},"11":{"name":"(anonymous_11)","decl":{"start":{"line":66,"column":25},"end":{"line":66,"column":26}},"loc":{"start":{"line":66,"column":31},"end":{"line":66,"column":55}},"line":66},"12":{"name":"(anonymous_12)","decl":{"start":{"line":84,"column":40},"end":{"line":84,"column":41}},"loc":{"start":{"line":85,"column":4},"end":{"line":101,"column":10}},"line":85},"13":{"name":"(anonymous_13)","decl":{"start":{"line":87,"column":23},"end":{"line":87,"column":24}},"loc":{"start":{"line":87,"column":38},"end":{"line":99,"column":9}},"line":87},"14":{"name":"(anonymous_14)","decl":{"start":{"line":88,"column":97},"end":{"line":88,"column":98}},"loc":{"start":{"line":88,"column":109},"end":{"line":88,"column":144}},"line":88},"15":{"name":"(anonymous_15)","decl":{"start":{"line":88,"column":172},"end":{"line":88,"column":173}},"loc":{"start":{"line":88,"column":184},"end":{"line":88,"column":210}},"line":88}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":79},"end":{"line":27,"column":118}},"type":"binary-expr","locations":[{"start":{"line":27,"column":79},"end":{"line":27,"column":90}},{"start":{"line":27,"column":94},"end":{"line":27,"column":118}}],"line":27},"1":{"loc":{"start":{"line":34,"column":25},"end":{"line":34,"column":116}},"type":"binary-expr","locations":[{"start":{"line":34,"column":25},"end":{"line":34,"column":88}},{"start":{"line":34,"column":92},"end":{"line":34,"column":116}}],"line":34},"2":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},{"start":{"line":38,"column":11},"end":{"line":40,"column":5}}],"line":36},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":93}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":54}},{"start":{"line":36,"column":58},"end":{"line":36,"column":93}}],"line":36},"4":{"loc":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},{"start":{"line":43,"column":11},"end":{"line":45,"column":5}}],"line":41},"5":{"loc":{"start":{"line":54,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":54},"6":{"loc":{"start":{"line":55,"column":6},"end":{"line":55,"column":63}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":55,"column":63}},{"start":{},"end":{}}],"line":55},"7":{"loc":{"start":{"line":56,"column":6},"end":{"line":59,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":59,"column":7}},{"start":{},"end":{}}],"line":56},"8":{"loc":{"start":{"line":58,"column":15},"end":{"line":58,"column":58}},"type":"cond-expr","locations":[{"start":{"line":58,"column":29},"end":{"line":58,"column":46}},{"start":{"line":58,"column":49},"end":{"line":58,"column":58}}],"line":58},"9":{"loc":{"start":{"line":88,"column":33},"end":{"line":88,"column":212}},"type":"cond-expr","locations":[{"start":{"line":88,"column":74},"end":{"line":88,"column":146}},{"start":{"line":88,"column":149},"end":{"line":88,"column":212}}],"line":88},"10":{"loc":{"start":{"line":90,"column":12},"end":{"line":97,"column":13}},"type":"binary-expr","locations":[{"start":{"line":90,"column":12},"end":{"line":90,"column":37}},{"start":{"line":91,"column":14},"end":{"line":96,"column":40}}],"line":90},"11":{"loc":{"start":{"line":91,"column":62},"end":{"line":91,"column":137}},"type":"cond-expr","locations":[{"start":{"line":91,"column":110},"end":{"line":91,"column":132}},{"start":{"line":91,"column":135},"end":{"line":91,"column":137}}],"line":91},"12":{"loc":{"start":{"line":92,"column":69},"end":{"line":92,"column":152}},"type":"cond-expr","locations":[{"start":{"line":92,"column":110},"end":{"line":92,"column":140}},{"start":{"line":92,"column":143},"end":{"line":92,"column":152}}],"line":92},"13":{"loc":{"start":{"line":135,"column":13},"end":{"line":135,"column":72}},"type":"binary-expr","locations":[{"start":{"line":135,"column":13},"end":{"line":135,"column":23}},{"start":{"line":135,"column":27},"end":{"line":135,"column":72}}],"line":135},"14":{"loc":{"start":{"line":141,"column":11},"end":{"line":145,"column":11}},"type":"binary-expr","locations":[{"start":{"line":141,"column":11},"end":{"line":141,"column":39}},{"start":{"line":142,"column":10},"end":{"line":144,"column":35}}],"line":141}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/ThemeSelector/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DragOverItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DragOverItem.tsx","statementMap":{"0":{"start":{"line":14,"column":95},"end":{"line":58,"column":1}},"1":{"start":{"line":19,"column":22},"end":{"line":19,"column":54}},"2":{"start":{"line":21,"column":22},"end":{"line":23,"column":13}},"3":{"start":{"line":22,"column":4},"end":{"line":22,"column":88}},"4":{"start":{"line":25,"column":36},"end":{"line":27,"column":26}},"5":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"6":{"start":{"line":29,"column":27},"end":{"line":48,"column":55}},"7":{"start":{"line":30,"column":4},"end":{"line":45,"column":5}},"8":{"start":{"line":37,"column":30},"end":{"line":37,"column":59}},"9":{"start":{"line":38,"column":27},"end":{"line":38,"column":57}},"10":{"start":{"line":39,"column":35},"end":{"line":39,"column":87}},"11":{"start":{"line":40,"column":32},"end":{"line":40,"column":78}},"12":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"13":{"start":{"line":43,"column":8},"end":{"line":43,"column":20}},"14":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"15":{"start":{"line":50,"column":2},"end":{"line":57,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":95},"end":{"line":14,"column":96}},"loc":{"start":{"line":18,"column":6},"end":{"line":58,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":31}},"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":88}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":44},"end":{"line":25,"column":45}},"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":35},"end":{"line":29,"column":36}},"loc":{"start":{"line":29,"column":41},"end":{"line":48,"column":3}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":88}},"type":"binary-expr","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":14}},{"start":{"line":22,"column":18},"end":{"line":22,"column":88}}],"line":22},"1":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"type":"binary-expr","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":35}},{"start":{"line":26,"column":39},"end":{"line":26,"column":61}}],"line":26},"2":{"loc":{"start":{"line":30,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":30},"3":{"loc":{"start":{"line":31,"column":6},"end":{"line":35,"column":49}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":18}},{"start":{"line":32,"column":9},"end":{"line":32,"column":31}},{"start":{"line":33,"column":9},"end":{"line":33,"column":32}},{"start":{"line":34,"column":9},"end":{"line":34,"column":20}},{"start":{"line":35,"column":9},"end":{"line":35,"column":49}}],"line":31},"4":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":42},"5":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":89}},"type":"binary-expr","locations":[{"start":{"line":53,"column":9},"end":{"line":53,"column":25}},{"start":{"line":53,"column":29},"end":{"line":53,"column":54}},{"start":{"line":53,"column":59},"end":{"line":53,"column":89}}],"line":53},"6":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":90}},"type":"binary-expr","locations":[{"start":{"line":54,"column":9},"end":{"line":54,"column":25}},{"start":{"line":54,"column":29},"end":{"line":54,"column":55}},{"start":{"line":54,"column":60},"end":{"line":54,"column":90}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0,0],"4":[0,0],"5":[0,0,0],"6":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DraggableWrapper.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/DraggableWrapper.tsx","statementMap":{"0":{"start":{"line":15,"column":99},"end":{"line":99,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":37}},"2":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"3":{"start":{"line":20,"column":25},"end":{"line":20,"column":60}},"4":{"start":{"line":22,"column":22},"end":{"line":24,"column":13}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":88}},"6":{"start":{"line":26,"column":21},"end":{"line":26,"column":97}},"7":{"start":{"line":26,"column":73},"end":{"line":26,"column":92}},"8":{"start":{"line":27,"column":26},"end":{"line":27,"column":102}},"9":{"start":{"line":27,"column":78},"end":{"line":27,"column":97}},"10":{"start":{"line":28,"column":26},"end":{"line":28,"column":102}},"11":{"start":{"line":28,"column":78},"end":{"line":28,"column":97}},"12":{"start":{"line":30,"column":26},"end":{"line":33,"column":30}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":24}},"14":{"start":{"line":32,"column":4},"end":{"line":32,"column":27}},"15":{"start":{"line":35,"column":24},"end":{"line":38,"column":24}},"16":{"start":{"line":36,"column":4},"end":{"line":36,"column":24}},"17":{"start":{"line":37,"column":4},"end":{"line":37,"column":27}},"18":{"start":{"line":40,"column":25},"end":{"line":44,"column":31}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":24}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":23}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"22":{"start":{"line":46,"column":21},"end":{"line":70,"column":60}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":24}},"24":{"start":{"line":49,"column":19},"end":{"line":49,"column":51}},"25":{"start":{"line":51,"column":43},"end":{"line":51,"column":47}},"26":{"start":{"line":52,"column":40},"end":{"line":52,"column":44}},"27":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"28":{"start":{"line":55,"column":6},"end":{"line":58,"column":9}},"29":{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},"30":{"start":{"line":56,"column":48},"end":{"line":56,"column":74}},"31":{"start":{"line":57,"column":8},"end":{"line":57,"column":64}},"32":{"start":{"line":57,"column":41},"end":{"line":57,"column":64}},"33":{"start":{"line":59,"column":6},"end":{"line":68,"column":7}},"34":{"start":{"line":60,"column":34},"end":{"line":60,"column":106}},"35":{"start":{"line":61,"column":20},"end":{"line":61,"column":47}},"36":{"start":{"line":62,"column":8},"end":{"line":62,"column":78}},"37":{"start":{"line":63,"column":26},"end":{"line":66,"column":9}},"38":{"start":{"line":67,"column":8},"end":{"line":67,"column":49}},"39":{"start":{"line":72,"column":23},"end":{"line":90,"column":4}},"40":{"start":{"line":72,"column":44},"end":{"line":81,"column":3}},"41":{"start":{"line":92,"column":2},"end":{"line":98,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":99},"end":{"line":15,"column":100}},"loc":{"start":{"line":17,"column":6},"end":{"line":99,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":30},"end":{"line":22,"column":31}},"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":88}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":33},"end":{"line":26,"column":34}},"loc":{"start":{"line":26,"column":73},"end":{"line":26,"column":92}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":38},"end":{"line":27,"column":39}},"loc":{"start":{"line":27,"column":78},"end":{"line":27,"column":97}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":38},"end":{"line":28,"column":39}},"loc":{"start":{"line":28,"column":78},"end":{"line":28,"column":97}},"line":28},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":38},"end":{"line":30,"column":39}},"loc":{"start":{"line":30,"column":78},"end":{"line":33,"column":3}},"line":30},"6":{"name":"(anonymous_6)","decl":{"start":{"line":35,"column":42},"end":{"line":35,"column":43}},"loc":{"start":{"line":35,"column":82},"end":{"line":38,"column":3}},"line":35},"7":{"name":"(anonymous_7)","decl":{"start":{"line":40,"column":43},"end":{"line":40,"column":44}},"loc":{"start":{"line":40,"column":83},"end":{"line":44,"column":3}},"line":40},"8":{"name":"(anonymous_8)","decl":{"start":{"line":46,"column":39},"end":{"line":46,"column":40}},"loc":{"start":{"line":46,"column":79},"end":{"line":70,"column":3}},"line":46},"9":{"name":"(anonymous_9)","decl":{"start":{"line":55,"column":37},"end":{"line":55,"column":38}},"loc":{"start":{"line":55,"column":57},"end":{"line":58,"column":7}},"line":55},"10":{"name":"(anonymous_10)","decl":{"start":{"line":72,"column":37},"end":{"line":72,"column":38}},"loc":{"start":{"line":72,"column":44},"end":{"line":81,"column":3}},"line":72}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":88}},"type":"binary-expr","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":14}},{"start":{"line":23,"column":18},"end":{"line":23,"column":88}}],"line":23},"1":{"loc":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":54},"2":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":65}},"type":"binary-expr","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":20}},{"start":{"line":54,"column":24},"end":{"line":54,"column":29}},{"start":{"line":54,"column":33},"end":{"line":54,"column":65}}],"line":54},"3":{"loc":{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},{"start":{},"end":{}}],"line":56},"4":{"loc":{"start":{"line":57,"column":8},"end":{"line":57,"column":64}},"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":64}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":59,"column":6},"end":{"line":68,"column":7}},"type":"if","locations":[{"start":{"line":59,"column":6},"end":{"line":68,"column":7}},{"start":{},"end":{}}],"line":59},"6":{"loc":{"start":{"line":59,"column":10},"end":{"line":59,"column":63}},"type":"binary-expr","locations":[{"start":{"line":59,"column":10},"end":{"line":59,"column":36}},{"start":{"line":59,"column":40},"end":{"line":59,"column":63}}],"line":59},"7":{"loc":{"start":{"line":60,"column":34},"end":{"line":60,"column":106}},"type":"cond-expr","locations":[{"start":{"line":60,"column":71},"end":{"line":60,"column":85}},{"start":{"line":60,"column":88},"end":{"line":60,"column":106}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/StyledTokenButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/StyledTokenButton.tsx","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":14,"column":2}},"1":{"start":{"line":16,"column":33},"end":{"line":98,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButton.tsx","statementMap":{"0":{"start":{"line":22,"column":94},"end":{"line":50,"column":1}},"1":{"start":{"line":31,"column":2},"end":{"line":49,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":94},"end":{"line":22,"column":95}},"loc":{"start":{"line":31,"column":2},"end":{"line":49,"column":21}},"line":31}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButtonContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/TokenButtonContent.tsx","statementMap":{"0":{"start":{"line":22,"column":24},"end":{"line":22,"column":49}},"1":{"start":{"line":23,"column":21},"end":{"line":23,"column":52}},"2":{"start":{"line":24,"column":22},"end":{"line":24,"column":54}},"3":{"start":{"line":25,"column":28},"end":{"line":25,"column":39}},"4":{"start":{"line":27,"column":23},"end":{"line":29,"column":58}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":66}},"6":{"start":{"line":31,"column":20},"end":{"line":40,"column":25}},"7":{"start":{"line":32,"column":15},"end":{"line":32,"column":19}},"8":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"9":{"start":{"line":34,"column":6},"end":{"line":34,"column":19}},"10":{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":20}},"12":{"start":{"line":39,"column":4},"end":{"line":39,"column":16}},"13":{"start":{"line":43,"column":22},"end":{"line":46,"column":18}},"14":{"start":{"line":44,"column":25},"end":{"line":44,"column":26}},"15":{"start":{"line":45,"column":4},"end":{"line":45,"column":72}},"16":{"start":{"line":48,"column":28},"end":{"line":51,"column":15}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":27}},"18":{"start":{"line":50,"column":4},"end":{"line":50,"column":19}},"19":{"start":{"line":53,"column":23},"end":{"line":70,"column":26}},"20":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"21":{"start":{"line":56,"column":8},"end":{"line":59,"column":10}},"22":{"start":{"line":62,"column":8},"end":{"line":64,"column":10}},"23":{"start":{"line":67,"column":8},"end":{"line":67,"column":18}},"24":{"start":{"line":72,"column":2},"end":{"line":79,"column":4}}},"fnMap":{"0":{"name":"TokenButtonContent","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":42}},"loc":{"start":{"line":21,"column":10},"end":{"line":80,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":31},"end":{"line":27,"column":32}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":66}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":34},"end":{"line":31,"column":35}},"loc":{"start":{"line":31,"column":40},"end":{"line":40,"column":3}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":36},"end":{"line":43,"column":37}},"loc":{"start":{"line":43,"column":42},"end":{"line":46,"column":3}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":46},"end":{"line":48,"column":47}},"loc":{"start":{"line":48,"column":94},"end":{"line":51,"column":3}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":37},"end":{"line":53,"column":38}},"loc":{"start":{"line":53,"column":43},"end":{"line":70,"column":3}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},{"start":{},"end":{}}],"line":33},"1":{"loc":{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},"type":"if","locations":[{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":45,"column":12},"end":{"line":45,"column":28}},"type":"binary-expr","locations":[{"start":{"line":45,"column":12},"end":{"line":45,"column":22}},{"start":{"line":45,"column":26},"end":{"line":45,"column":28}}],"line":45},"3":{"loc":{"start":{"line":54,"column":4},"end":{"line":69,"column":5}},"type":"switch","locations":[{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},{"start":{"line":61,"column":6},"end":{"line":65,"column":7}},{"start":{"line":66,"column":6},"end":{"line":68,"column":7}}],"line":54},"4":{"loc":{"start":{"line":74,"column":75},"end":{"line":74,"column":123}},"type":"cond-expr","locations":[{"start":{"line":74,"column":103},"end":{"line":74,"column":114}},{"start":{"line":74,"column":117},"end":{"line":74,"column":123}}],"line":74},"5":{"loc":{"start":{"line":76,"column":32},"end":{"line":76,"column":71}},"type":"binary-expr","locations":[{"start":{"line":76,"column":32},"end":{"line":76,"column":41}},{"start":{"line":76,"column":45},"end":{"line":76,"column":71}}],"line":76}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenButton/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFlowButton/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenFlowButton/index.tsx","statementMap":{"0":{"start":{"line":18,"column":22},"end":{"line":18,"column":54}},"1":{"start":{"line":19,"column":26},"end":{"line":19,"column":59}},"2":{"start":{"line":20,"column":23},"end":{"line":20,"column":56}},"3":{"start":{"line":21,"column":23},"end":{"line":21,"column":56}},"4":{"start":{"line":22,"column":17},"end":{"line":22,"column":44}},"5":{"start":{"line":23,"column":22},"end":{"line":23,"column":53}},"6":{"start":{"line":24,"column":26},"end":{"line":24,"column":62}},"7":{"start":{"line":26,"column":32},"end":{"line":26,"column":47}},"8":{"start":{"line":28,"column":33},"end":{"line":54,"column":72}},"9":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"10":{"start":{"line":30,"column":4},"end":{"line":30,"column":32}},"11":{"start":{"line":31,"column":22},"end":{"line":31,"column":53}},"12":{"start":{"line":32,"column":4},"end":{"line":52,"column":5}},"13":{"start":{"line":33,"column":23},"end":{"line":45,"column":8}},"14":{"start":{"line":46,"column":6},"end":{"line":49,"column":7}},"15":{"start":{"line":47,"column":21},"end":{"line":47,"column":42}},"16":{"start":{"line":48,"column":8},"end":{"line":48,"column":75}},"17":{"start":{"line":51,"column":6},"end":{"line":51,"column":37}},"18":{"start":{"line":53,"column":4},"end":{"line":53,"column":22}},"19":{"start":{"line":56,"column":2},"end":{"line":69,"column":4}}},"fnMap":{"0":{"name":"TokenFlowButton","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":42},"end":{"line":70,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":45},"end":{"line":28,"column":46}},"loc":{"start":{"line":28,"column":57},"end":{"line":54,"column":3}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":6},"end":{"line":49,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":49,"column":7}},{"start":{},"end":{}}],"line":46},"1":{"loc":{"start":{"line":57,"column":4},"end":{"line":68,"column":14}},"type":"cond-expr","locations":[{"start":{"line":59,"column":8},"end":{"line":67,"column":10}},{"start":{"line":68,"column":10},"end":{"line":68,"column":14}}],"line":57},"2":{"loc":{"start":{"line":57,"column":5},"end":{"line":57,"column":36}},"type":"binary-expr","locations":[{"start":{"line":57,"column":5},"end":{"line":57,"column":16}},{"start":{"line":57,"column":20},"end":{"line":57,"column":36}}],"line":57}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroup.tsx","statementMap":{"0":{"start":{"line":3,"column":32},"end":{"line":18,"column":2}},"1":{"start":{"line":20,"column":37},"end":{"line":47,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":9,"column":2}},"1":{"start":{"line":11,"column":39},"end":{"line":20,"column":2}},"2":{"start":{"line":22,"column":50},"end":{"line":47,"column":2}},"3":{"start":{"line":49,"column":45},"end":{"line":67,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroup.tsx","statementMap":{"0":{"start":{"line":22,"column":86},"end":{"line":96,"column":1}},"1":{"start":{"line":25,"column":20},"end":{"line":25,"column":56}},"2":{"start":{"line":26,"column":22},"end":{"line":26,"column":54}},"3":{"start":{"line":28,"column":29},"end":{"line":42,"column":25}},"4":{"start":{"line":29,"column":4},"end":{"line":41,"column":6}},"5":{"start":{"line":30,"column":25},"end":{"line":30,"column":64}},"6":{"start":{"line":30,"column":52},"end":{"line":30,"column":53}},"7":{"start":{"line":31,"column":27},"end":{"line":31,"column":48}},"8":{"start":{"line":32,"column":21},"end":{"line":32,"column":31}},"9":{"start":{"line":34,"column":6},"end":{"line":40,"column":8}},"10":{"start":{"line":44,"column":22},"end":{"line":52,"column":37}},"11":{"start":{"line":45,"column":4},"end":{"line":51,"column":7}},"12":{"start":{"line":47,"column":7},"end":{"line":48,"column":35}},"13":{"start":{"line":47,"column":38},"end":{"line":48,"column":34}},"14":{"start":{"line":49,"column":22},"end":{"line":51,"column":5}},"15":{"start":{"line":54,"column":42},"end":{"line":54,"column":76}},"16":{"start":{"line":55,"column":44},"end":{"line":55,"column":78}},"17":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":16}},"19":{"start":{"line":60,"column":2},"end":{"line":95,"column":4}},"20":{"start":{"line":64,"column":10},"end":{"line":91,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":86},"end":{"line":22,"column":87}},"loc":{"start":{"line":24,"column":6},"end":{"line":96,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":43},"end":{"line":28,"column":44}},"loc":{"start":{"line":29,"column":4},"end":{"line":41,"column":6}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":36},"end":{"line":29,"column":37}},"loc":{"start":{"line":29,"column":55},"end":{"line":41,"column":5}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":45},"end":{"line":30,"column":46}},"loc":{"start":{"line":30,"column":52},"end":{"line":30,"column":53}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":30},"end":{"line":44,"column":31}},"loc":{"start":{"line":45,"column":4},"end":{"line":51,"column":7}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":30},"end":{"line":45,"column":31}},"loc":{"start":{"line":47,"column":7},"end":{"line":48,"column":35}},"line":47},"6":{"name":"(anonymous_6)","decl":{"start":{"line":47,"column":23},"end":{"line":47,"column":24}},"loc":{"start":{"line":47,"column":38},"end":{"line":48,"column":34}},"line":47},"7":{"name":"(anonymous_7)","decl":{"start":{"line":49,"column":11},"end":{"line":49,"column":12}},"loc":{"start":{"line":49,"column":22},"end":{"line":51,"column":5}},"line":49},"8":{"name":"(anonymous_8)","decl":{"start":{"line":63,"column":25},"end":{"line":63,"column":26}},"loc":{"start":{"line":64,"column":10},"end":{"line":91,"column":27}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":46},"end":{"line":23,"column":57}},"type":"default-arg","locations":[{"start":{"line":23,"column":53},"end":{"line":23,"column":57}}],"line":23},"1":{"loc":{"start":{"line":32,"column":21},"end":{"line":32,"column":31}},"type":"binary-expr","locations":[{"start":{"line":32,"column":21},"end":{"line":32,"column":25}},{"start":{"line":32,"column":29},"end":{"line":32,"column":31}}],"line":32},"2":{"loc":{"start":{"line":47,"column":38},"end":{"line":48,"column":34}},"type":"binary-expr","locations":[{"start":{"line":47,"column":39},"end":{"line":47,"column":73}},{"start":{"line":47,"column":77},"end":{"line":47,"column":122}},{"start":{"line":48,"column":9},"end":{"line":48,"column":34}}],"line":47},"3":{"loc":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":57},"4":{"loc":{"start":{"line":62,"column":37},"end":{"line":62,"column":92}},"type":"cond-expr","locations":[{"start":{"line":62,"column":72},"end":{"line":62,"column":83}},{"start":{"line":62,"column":86},"end":{"line":62,"column":92}}],"line":62},"5":{"loc":{"start":{"line":65,"column":13},"end":{"line":90,"column":13}},"type":"cond-expr","locations":[{"start":{"line":68,"column":16},"end":{"line":78,"column":40}},{"start":{"line":81,"column":14},"end":{"line":89,"column":16}}],"line":65},"6":{"loc":{"start":{"line":65,"column":13},"end":{"line":65,"column":73}},"type":"binary-expr","locations":[{"start":{"line":65,"column":13},"end":{"line":65,"column":43}},{"start":{"line":65,"column":47},"end":{"line":65,"column":73}}],"line":65},"7":{"loc":{"start":{"line":69,"column":123},"end":{"line":69,"column":146}},"type":"binary-expr","locations":[{"start":{"line":69,"column":123},"end":{"line":69,"column":134}},{"start":{"line":69,"column":138},"end":{"line":69,"column":146}}],"line":69}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroupHeading.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/TokenGroupHeading.tsx","statementMap":{"0":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"1":{"start":{"line":33,"column":25},"end":{"line":33,"column":60}},"2":{"start":{"line":34,"column":33},"end":{"line":34,"column":76}},"3":{"start":{"line":35,"column":28},"end":{"line":35,"column":66}},"4":{"start":{"line":36,"column":52},"end":{"line":36,"column":80}},"5":{"start":{"line":37,"column":68},"end":{"line":37,"column":98}},"6":{"start":{"line":38,"column":74},"end":{"line":38,"column":104}},"7":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"8":{"start":{"line":40,"column":19},"end":{"line":40,"column":42}},"9":{"start":{"line":41,"column":20},"end":{"line":41,"column":56}},"10":{"start":{"line":42,"column":33},"end":{"line":42,"column":44}},"11":{"start":{"line":43,"column":33},"end":{"line":43,"column":88}},"12":{"start":{"line":45,"column":18},"end":{"line":45,"column":87}},"13":{"start":{"line":47,"column":23},"end":{"line":49,"column":31}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":28}},"15":{"start":{"line":51,"column":23},"end":{"line":54,"column":12}},"16":{"start":{"line":52,"column":4},"end":{"line":52,"column":31}},"17":{"start":{"line":53,"column":4},"end":{"line":53,"column":39}},"18":{"start":{"line":56,"column":39},"end":{"line":63,"column":70}},"19":{"start":{"line":57,"column":4},"end":{"line":57,"column":23}},"20":{"start":{"line":58,"column":27},"end":{"line":58,"column":75}},"21":{"start":{"line":59,"column":4},"end":{"line":61,"column":7}},"22":{"start":{"line":62,"column":4},"end":{"line":62,"column":40}},"23":{"start":{"line":65,"column":40},"end":{"line":67,"column":8}},"24":{"start":{"line":66,"column":4},"end":{"line":66,"column":41}},"25":{"start":{"line":69,"column":43},"end":{"line":71,"column":8}},"26":{"start":{"line":70,"column":4},"end":{"line":70,"column":40}},"27":{"start":{"line":73,"column":46},"end":{"line":75,"column":8}},"28":{"start":{"line":74,"column":4},"end":{"line":74,"column":43}},"29":{"start":{"line":77,"column":26},"end":{"line":80,"column":12}},"30":{"start":{"line":78,"column":4},"end":{"line":78,"column":41}},"31":{"start":{"line":79,"column":4},"end":{"line":79,"column":42}},"32":{"start":{"line":82,"column":32},"end":{"line":84,"column":44}},"33":{"start":{"line":83,"column":4},"end":{"line":83,"column":130}},"34":{"start":{"line":83,"column":94},"end":{"line":83,"column":104}},"35":{"start":{"line":86,"column":28},"end":{"line":86,"column":101}},"36":{"start":{"line":86,"column":46},"end":{"line":86,"column":79}},"37":{"start":{"line":88,"column":2},"end":{"line":148,"column":4}}},"fnMap":{"0":{"name":"TokenGroupHeading","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":33}},"loc":{"start":{"line":31,"column":10},"end":{"line":149,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":41},"end":{"line":47,"column":42}},"loc":{"start":{"line":47,"column":47},"end":{"line":49,"column":3}},"line":47},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":41},"end":{"line":51,"column":42}},"loc":{"start":{"line":51,"column":47},"end":{"line":54,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":57},"end":{"line":56,"column":58}},"loc":{"start":{"line":56,"column":104},"end":{"line":63,"column":3}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":58},"end":{"line":65,"column":59}},"loc":{"start":{"line":65,"column":102},"end":{"line":67,"column":3}},"line":65},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":61},"end":{"line":69,"column":62}},"loc":{"start":{"line":69,"column":67},"end":{"line":71,"column":3}},"line":69},"6":{"name":"(anonymous_6)","decl":{"start":{"line":73,"column":64},"end":{"line":73,"column":65}},"loc":{"start":{"line":73,"column":70},"end":{"line":75,"column":3}},"line":73},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":44},"end":{"line":77,"column":45}},"loc":{"start":{"line":77,"column":50},"end":{"line":80,"column":3}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":82,"column":44},"end":{"line":82,"column":45}},"loc":{"start":{"line":82,"column":50},"end":{"line":84,"column":3}},"line":82},"9":{"name":"(anonymous_9)","decl":{"start":{"line":83,"column":87},"end":{"line":83,"column":88}},"loc":{"start":{"line":83,"column":94},"end":{"line":83,"column":104}},"line":83},"10":{"name":"(anonymous_10)","decl":{"start":{"line":86,"column":40},"end":{"line":86,"column":41}},"loc":{"start":{"line":86,"column":46},"end":{"line":86,"column":79}},"line":86}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":18},"end":{"line":45,"column":87}},"type":"binary-expr","locations":[{"start":{"line":45,"column":18},"end":{"line":45,"column":33}},{"start":{"line":45,"column":37},"end":{"line":45,"column":60}},{"start":{"line":45,"column":64},"end":{"line":45,"column":87}}],"line":45},"1":{"loc":{"start":{"line":83,"column":43},"end":{"line":83,"column":128}},"type":"cond-expr","locations":[{"start":{"line":83,"column":70},"end":{"line":83,"column":105}},{"start":{"line":83,"column":108},"end":{"line":83,"column":128}}],"line":83},"2":{"loc":{"start":{"line":98,"column":15},"end":{"line":98,"column":85}},"type":"cond-expr","locations":[{"start":{"line":98,"column":42},"end":{"line":98,"column":63}},{"start":{"line":98,"column":66},"end":{"line":98,"column":85}}],"line":98}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenGroup/index.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/StyledWrapper.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/StyledWrapper.tsx","statementMap":{"0":{"start":{"line":4,"column":29},"end":{"line":12,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/TokenSetItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/TokenSetItem.tsx","statementMap":{"0":{"start":{"line":56,"column":25},"end":{"line":56,"column":108}},"1":{"start":{"line":56,"column":59},"end":{"line":56,"column":99}},"2":{"start":{"line":57,"column":25},"end":{"line":57,"column":52}},"3":{"start":{"line":58,"column":16},"end":{"line":58,"column":42}},"4":{"start":{"line":60,"column":22},"end":{"line":62,"column":21}},"5":{"start":{"line":61,"column":4},"end":{"line":61,"column":18}},"6":{"start":{"line":64,"column":23},"end":{"line":66,"column":27}},"7":{"start":{"line":65,"column":4},"end":{"line":65,"column":24}},"8":{"start":{"line":68,"column":23},"end":{"line":70,"column":27}},"9":{"start":{"line":69,"column":4},"end":{"line":69,"column":24}},"10":{"start":{"line":72,"column":26},"end":{"line":74,"column":30}},"11":{"start":{"line":73,"column":4},"end":{"line":73,"column":27}},"12":{"start":{"line":76,"column":30},"end":{"line":78,"column":34}},"13":{"start":{"line":77,"column":4},"end":{"line":77,"column":31}},"14":{"start":{"line":80,"column":30},"end":{"line":82,"column":32}},"15":{"start":{"line":81,"column":4},"end":{"line":81,"column":30}},"16":{"start":{"line":84,"column":35},"end":{"line":89,"column":3}},"17":{"start":{"line":86,"column":6},"end":{"line":86,"column":48}},"18":{"start":{"line":86,"column":23},"end":{"line":86,"column":48}},"19":{"start":{"line":91,"column":29},"end":{"line":99,"column":36}},"20":{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},"21":{"start":{"line":93,"column":6},"end":{"line":93,"column":51}},"22":{"start":{"line":95,"column":4},"end":{"line":97,"column":5}},"23":{"start":{"line":96,"column":6},"end":{"line":96,"column":51}},"24":{"start":{"line":98,"column":4},"end":{"line":98,"column":51}},"25":{"start":{"line":101,"column":21},"end":{"line":109,"column":3}},"26":{"start":{"line":103,"column":6},"end":{"line":105,"column":7}},"27":{"start":{"line":104,"column":8},"end":{"line":104,"column":40}},"28":{"start":{"line":106,"column":6},"end":{"line":106,"column":26}},"29":{"start":{"line":111,"column":2},"end":{"line":217,"column":4}}},"fnMap":{"0":{"name":"TokenSetItem","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":28}},"loc":{"start":{"line":55,"column":22},"end":{"line":218,"column":1}},"line":55},"1":{"name":"(anonymous_1)","decl":{"start":{"line":56,"column":37},"end":{"line":56,"column":38}},"loc":{"start":{"line":56,"column":59},"end":{"line":56,"column":99}},"line":56},"2":{"name":"(anonymous_2)","decl":{"start":{"line":60,"column":34},"end":{"line":60,"column":35}},"loc":{"start":{"line":60,"column":40},"end":{"line":62,"column":3}},"line":60},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":35},"end":{"line":64,"column":36}},"loc":{"start":{"line":64,"column":41},"end":{"line":66,"column":3}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":68,"column":35},"end":{"line":68,"column":36}},"loc":{"start":{"line":68,"column":41},"end":{"line":70,"column":3}},"line":68},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":38},"end":{"line":72,"column":39}},"loc":{"start":{"line":72,"column":44},"end":{"line":74,"column":3}},"line":72},"6":{"name":"(anonymous_6)","decl":{"start":{"line":76,"column":42},"end":{"line":76,"column":43}},"loc":{"start":{"line":76,"column":48},"end":{"line":78,"column":3}},"line":76},"7":{"name":"(anonymous_7)","decl":{"start":{"line":80,"column":42},"end":{"line":80,"column":43}},"loc":{"start":{"line":80,"column":48},"end":{"line":82,"column":3}},"line":80},"8":{"name":"(anonymous_8)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":15},"end":{"line":87,"column":5}},"line":85},"9":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":41},"end":{"line":91,"column":42}},"loc":{"start":{"line":91,"column":47},"end":{"line":99,"column":3}},"line":91},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":4},"end":{"line":102,"column":5}},"loc":{"start":{"line":102,"column":66},"end":{"line":107,"column":5}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":42,"column":18}},"type":"default-arg","locations":[{"start":{"line":42,"column":13},"end":{"line":42,"column":18}}],"line":42},"1":{"loc":{"start":{"line":46,"column":2},"end":{"line":46,"column":21}},"type":"default-arg","locations":[{"start":{"line":46,"column":17},"end":{"line":46,"column":21}}],"line":46},"2":{"loc":{"start":{"line":48,"column":2},"end":{"line":48,"column":20}},"type":"default-arg","locations":[{"start":{"line":48,"column":15},"end":{"line":48,"column":20}}],"line":48},"3":{"loc":{"start":{"line":86,"column":6},"end":{"line":86,"column":48}},"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":86,"column":48}},{"start":{},"end":{}}],"line":86},"4":{"loc":{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":92},"5":{"loc":{"start":{"line":95,"column":4},"end":{"line":97,"column":5}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":97,"column":5}},{"start":{},"end":{}}],"line":95},"6":{"loc":{"start":{"line":103,"column":6},"end":{"line":105,"column":7}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":105,"column":7}},{"start":{},"end":{}}],"line":103},"7":{"loc":{"start":{"line":114,"column":9},"end":{"line":170,"column":9}},"type":"cond-expr","locations":[{"start":{"line":115,"column":10},"end":{"line":131,"column":32}},{"start":{"line":133,"column":10},"end":{"line":169,"column":32}}],"line":114},"8":{"loc":{"start":{"line":162,"column":17},"end":{"line":166,"column":17}},"type":"binary-expr","locations":[{"start":{"line":162,"column":17},"end":{"line":162,"column":46}},{"start":{"line":162,"column":50},"end":{"line":162,"column":69}},{"start":{"line":163,"column":18},"end":{"line":165,"column":25}}],"line":162},"9":{"loc":{"start":{"line":174,"column":13},"end":{"line":191,"column":13}},"type":"binary-expr","locations":[{"start":{"line":174,"column":13},"end":{"line":174,"column":24}},{"start":{"line":175,"column":14},"end":{"line":190,"column":17}}],"line":174},"10":{"loc":{"start":{"line":176,"column":44},"end":{"line":176,"column":69}},"type":"binary-expr","locations":[{"start":{"line":176,"column":44},"end":{"line":176,"column":52}},{"start":{"line":176,"column":56},"end":{"line":176,"column":69}}],"line":176},"11":{"loc":{"start":{"line":177,"column":44},"end":{"line":177,"column":66}},"type":"binary-expr","locations":[{"start":{"line":177,"column":44},"end":{"line":177,"column":52}},{"start":{"line":177,"column":56},"end":{"line":177,"column":66}}],"line":177},"12":{"loc":{"start":{"line":196,"column":9},"end":{"line":214,"column":9}},"type":"cond-expr","locations":[{"start":{"line":197,"column":10},"end":{"line":205,"column":20}},{"start":{"line":207,"column":10},"end":{"line":213,"column":12}}],"line":196}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetItem/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButton.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButton.tsx","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":26,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx","statementMap":{"0":{"start":{"line":4,"column":44},"end":{"line":21,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/StyledItem.tsx","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":12,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/TokenSetTreeContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenSetTree/TokenSetTreeContent.tsx","statementMap":{"0":{"start":{"line":35,"column":45},"end":{"line":35,"column":94}},"1":{"start":{"line":39,"column":20},"end":{"line":39,"column":59}},"2":{"start":{"line":40,"column":19},"end":{"line":40,"column":42}},"3":{"start":{"line":42,"column":32},"end":{"line":44,"column":27}},"4":{"start":{"line":43,"column":4},"end":{"line":43,"column":130}},"5":{"start":{"line":43,"column":96},"end":{"line":43,"column":105}},"6":{"start":{"line":46,"column":22},"end":{"line":55,"column":47}},"7":{"start":{"line":47,"column":4},"end":{"line":54,"column":7}},"8":{"start":{"line":49,"column":6},"end":{"line":50,"column":95}},"9":{"start":{"line":49,"column":37},"end":{"line":50,"column":94}},"10":{"start":{"line":51,"column":22},"end":{"line":54,"column":5}},"11":{"start":{"line":53,"column":31},"end":{"line":53,"column":62}},"12":{"start":{"line":57,"column":2},"end":{"line":89,"column":4}},"13":{"start":{"line":60,"column":8},"end":{"line":86,"column":21}}},"fnMap":{"0":{"name":"TokenSetTreeContent","decl":{"start":{"line":33,"column":16},"end":{"line":33,"column":35}},"loc":{"start":{"line":38,"column":13},"end":{"line":90,"column":1}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":27},"end":{"line":35,"column":28}},"loc":{"start":{"line":35,"column":45},"end":{"line":35,"column":94}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":44},"end":{"line":42,"column":45}},"loc":{"start":{"line":42,"column":61},"end":{"line":44,"column":3}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":89},"end":{"line":43,"column":90}},"loc":{"start":{"line":43,"column":96},"end":{"line":43,"column":105}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":46,"column":30},"end":{"line":46,"column":31}},"loc":{"start":{"line":47,"column":4},"end":{"line":54,"column":7}},"line":47},"5":{"name":"(anonymous_5)","decl":{"start":{"line":47,"column":17},"end":{"line":47,"column":18}},"loc":{"start":{"line":49,"column":6},"end":{"line":50,"column":95}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":22},"end":{"line":49,"column":23}},"loc":{"start":{"line":49,"column":37},"end":{"line":50,"column":94}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":51,"column":11},"end":{"line":51,"column":12}},"loc":{"start":{"line":51,"column":22},"end":{"line":54,"column":5}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":25},"end":{"line":53,"column":26}},"loc":{"start":{"line":53,"column":31},"end":{"line":53,"column":62}},"line":53},"9":{"name":"(anonymous_9)","decl":{"start":{"line":59,"column":23},"end":{"line":59,"column":24}},"loc":{"start":{"line":60,"column":8},"end":{"line":86,"column":21}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":14},"end":{"line":35,"column":94}},"type":"default-arg","locations":[{"start":{"line":35,"column":27},"end":{"line":35,"column":94}}],"line":35},"1":{"loc":{"start":{"line":37,"column":2},"end":{"line":37,"column":23}},"type":"default-arg","locations":[{"start":{"line":37,"column":16},"end":{"line":37,"column":23}}],"line":37},"2":{"loc":{"start":{"line":43,"column":46},"end":{"line":43,"column":128}},"type":"cond-expr","locations":[{"start":{"line":43,"column":72},"end":{"line":43,"column":106}},{"start":{"line":43,"column":109},"end":{"line":43,"column":128}}],"line":43},"3":{"loc":{"start":{"line":49,"column":37},"end":{"line":50,"column":94}},"type":"binary-expr","locations":[{"start":{"line":49,"column":37},"end":{"line":49,"column":62}},{"start":{"line":50,"column":10},"end":{"line":50,"column":44}},{"start":{"line":50,"column":48},"end":{"line":50,"column":93}}],"line":49},"4":{"loc":{"start":{"line":63,"column":15},"end":{"line":83,"column":15}},"type":"binary-expr","locations":[{"start":{"line":63,"column":16},"end":{"line":63,"column":28}},{"start":{"line":64,"column":16},"end":{"line":82,"column":37}}],"line":63},"5":{"loc":{"start":{"line":67,"column":24},"end":{"line":67,"column":69}},"type":"cond-expr","locations":[{"start":{"line":67,"column":50},"end":{"line":67,"column":57}},{"start":{"line":67,"column":60},"end":{"line":67,"column":69}}],"line":67},"6":{"loc":{"start":{"line":69,"column":19},"end":{"line":73,"column":26}},"type":"cond-expr","locations":[{"start":{"line":70,"column":20},"end":{"line":72,"column":26}},{"start":{"line":73,"column":22},"end":{"line":73,"column":26}}],"line":69},"7":{"loc":{"start":{"line":77,"column":19},"end":{"line":81,"column":26}},"type":"cond-expr","locations":[{"start":{"line":78,"column":20},"end":{"line":80,"column":26}},{"start":{"line":81,"column":22},"end":{"line":81,"column":26}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/AliasBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/AliasBadge.tsx","statementMap":{"0":{"start":{"line":4,"column":25},"end":{"line":11,"column":2}},"1":{"start":{"line":18,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"AliasBadge","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":34}},"loc":{"start":{"line":17,"column":53},"end":{"line":21,"column":1}},"line":17}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/NotFoundBadge.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/NotFoundBadge.tsx","statementMap":{"0":{"start":{"line":5,"column":25},"end":{"line":7,"column":2}},"1":{"start":{"line":10,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"NotFoundBadge","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":40},"end":{"line":15,"column":1}},"line":9}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx","statementMap":{"0":{"start":{"line":11,"column":107},"end":{"line":17,"column":1}},"1":{"start":{"line":12,"column":2},"end":{"line":16,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":107},"end":{"line":11,"column":108}},"loc":{"start":{"line":12,"column":2},"end":{"line":16,"column":10}},"line":12}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx","statementMap":{"0":{"start":{"line":14,"column":106},"end":{"line":29,"column":1}},"1":{"start":{"line":15,"column":2},"end":{"line":28,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":106},"end":{"line":14,"column":107}},"loc":{"start":{"line":15,"column":2},"end":{"line":28,"column":10}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":6},"end":{"line":24,"column":7}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":14}},{"start":{"line":19,"column":8},"end":{"line":23,"column":9}}],"line":18},"1":{"loc":{"start":{"line":19,"column":8},"end":{"line":23,"column":9}},"type":"cond-expr","locations":[{"start":{"line":20,"column":10},"end":{"line":20,"column":88}},{"start":{"line":22,"column":10},"end":{"line":22,"column":82}}],"line":19}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":112},"end":{"line":21,"column":1}},"1":{"start":{"line":13,"column":30},"end":{"line":13,"column":155}},"2":{"start":{"line":14,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":112},"end":{"line":12,"column":113}},"loc":{"start":{"line":12,"column":152},"end":{"line":21,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":30},"end":{"line":13,"column":155}},"type":"cond-expr","locations":[{"start":{"line":13,"column":136},"end":{"line":13,"column":149}},{"start":{"line":13,"column":152},"end":{"line":13,"column":155}}],"line":13},"1":{"loc":{"start":{"line":13,"column":31},"end":{"line":13,"column":132}},"type":"binary-expr","locations":[{"start":{"line":13,"column":31},"end":{"line":13,"column":64}},{"start":{"line":13,"column":68},"end":{"line":13,"column":101}},{"start":{"line":13,"column":105},"end":{"line":13,"column":132}}],"line":13},"2":{"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":81}},"type":"cond-expr","locations":[{"start":{"line":17,"column":70},"end":{"line":17,"column":75}},{"start":{"line":17,"column":78},"end":{"line":17,"column":81}}],"line":17},"3":{"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":67}},"type":"binary-expr","locations":[{"start":{"line":17,"column":13},"end":{"line":17,"column":38}},{"start":{"line":17,"column":42},"end":{"line":17,"column":67}}],"line":17},"4":{"loc":{"start":{"line":18,"column":21},"end":{"line":18,"column":80}},"type":"cond-expr","locations":[{"start":{"line":18,"column":49},"end":{"line":18,"column":58}},{"start":{"line":18,"column":61},"end":{"line":18,"column":80}}],"line":18}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx","statementMap":{"0":{"start":{"line":12,"column":107},"end":{"line":23,"column":1}},"1":{"start":{"line":13,"column":2},"end":{"line":22,"column":8}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":107},"end":{"line":12,"column":108}},"loc":{"start":{"line":13,"column":2},"end":{"line":22,"column":8}},"line":13}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx","statementMap":{"0":{"start":{"line":11,"column":111},"end":{"line":40,"column":1}},"1":{"start":{"line":12,"column":2},"end":{"line":39,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":111},"end":{"line":11,"column":112}},"loc":{"start":{"line":12,"column":2},"end":{"line":39,"column":10}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":5},"end":{"line":17,"column":12}},"type":"cond-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":16,"column":8}},{"start":{"line":17,"column":8},"end":{"line":17,"column":12}}],"line":13}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltip.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltip.tsx","statementMap":{"0":{"start":{"line":12,"column":95},"end":{"line":35,"column":1}},"1":{"start":{"line":17,"column":23},"end":{"line":17,"column":56}},"2":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"3":{"start":{"line":20,"column":4},"end":{"line":20,"column":16}},"4":{"start":{"line":23,"column":2},"end":{"line":34,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":95},"end":{"line":12,"column":96}},"loc":{"start":{"line":15,"column":6},"end":{"line":35,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":19,"column":6},"end":{"line":19,"column":50}},"type":"binary-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":19,"column":15}},{"start":{"line":19,"column":19},"end":{"line":19,"column":50}}],"line":19},"2":{"loc":{"start":{"line":26,"column":13},"end":{"line":30,"column":7}},"type":"cond-expr","locations":[{"start":{"line":26,"column":28},"end":{"line":26,"column":30}},{"start":{"line":27,"column":8},"end":{"line":29,"column":10}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContent.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContent.tsx","statementMap":{"0":{"start":{"line":13,"column":102},"end":{"line":43,"column":1}},"1":{"start":{"line":14,"column":24},"end":{"line":14,"column":55}},"2":{"start":{"line":16,"column":26},"end":{"line":18,"column":43}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":84}},"4":{"start":{"line":17,"column":45},"end":{"line":17,"column":66}},"5":{"start":{"line":20,"column":2},"end":{"line":42,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":102},"end":{"line":13,"column":103}},"loc":{"start":{"line":13,"column":117},"end":{"line":43,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":40},"end":{"line":16,"column":41}},"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":84}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":38},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":45},"end":{"line":17,"column":66}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":9},"end":{"line":34,"column":51}},"type":"cond-expr","locations":[{"start":{"line":34,"column":27},"end":{"line":34,"column":44}},{"start":{"line":34,"column":47},"end":{"line":34,"column":51}}],"line":34},"1":{"loc":{"start":{"line":40,"column":7},"end":{"line":40,"column":111}},"type":"binary-expr","locations":[{"start":{"line":40,"column":7},"end":{"line":40,"column":24}},{"start":{"line":40,"column":28},"end":{"line":40,"column":111}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx","statementMap":{"0":{"start":{"line":27,"column":107},"end":{"line":132,"column":1}},"1":{"start":{"line":28,"column":15},"end":{"line":28,"column":27}},"2":{"start":{"line":29,"column":24},"end":{"line":29,"column":55}},"3":{"start":{"line":30,"column":28},"end":{"line":30,"column":39}},"4":{"start":{"line":31,"column":24},"end":{"line":36,"column":4}},"5":{"start":{"line":31,"column":45},"end":{"line":31,"column":141}},"6":{"start":{"line":38,"column":2},"end":{"line":45,"column":3}},"7":{"start":{"line":39,"column":4},"end":{"line":44,"column":6}},"8":{"start":{"line":47,"column":2},"end":{"line":66,"column":3}},"9":{"start":{"line":53,"column":4},"end":{"line":65,"column":6}},"10":{"start":{"line":56,"column":10},"end":{"line":62,"column":12}},"11":{"start":{"line":68,"column":2},"end":{"line":102,"column":3}},"12":{"start":{"line":69,"column":4},"end":{"line":86,"column":5}},"13":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"14":{"start":{"line":78,"column":12},"end":{"line":82,"column":14}},"15":{"start":{"line":88,"column":4},"end":{"line":101,"column":6}},"16":{"start":{"line":104,"column":2},"end":{"line":111,"column":3}},"17":{"start":{"line":105,"column":4},"end":{"line":110,"column":6}},"18":{"start":{"line":113,"column":2},"end":{"line":121,"column":3}},"19":{"start":{"line":114,"column":4},"end":{"line":120,"column":6}},"20":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"21":{"start":{"line":124,"column":4},"end":{"line":124,"column":76}},"22":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"23":{"start":{"line":128,"column":4},"end":{"line":128,"column":106}},"24":{"start":{"line":131,"column":2},"end":{"line":131,"column":79}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":107},"end":{"line":27,"column":108}},"loc":{"start":{"line":27,"column":143},"end":{"line":132,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":38},"end":{"line":31,"column":39}},"loc":{"start":{"line":31,"column":45},"end":{"line":31,"column":141}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":41},"end":{"line":55,"column":42}},"loc":{"start":{"line":56,"column":10},"end":{"line":62,"column":12}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":29},"end":{"line":77,"column":30}},"loc":{"start":{"line":78,"column":12},"end":{"line":82,"column":14}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":45},"end":{"line":31,"column":141}},"type":"cond-expr","locations":[{"start":{"line":31,"column":67},"end":{"line":31,"column":76}},{"start":{"line":31,"column":79},"end":{"line":31,"column":141}}],"line":31},"1":{"loc":{"start":{"line":38,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":38},"2":{"loc":{"start":{"line":47,"column":2},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":66,"column":3}},{"start":{},"end":{}}],"line":47},"3":{"loc":{"start":{"line":48,"column":4},"end":{"line":51,"column":44}},"type":"binary-expr","locations":[{"start":{"line":48,"column":5},"end":{"line":48,"column":18}},{"start":{"line":48,"column":22},"end":{"line":48,"column":41}},{"start":{"line":49,"column":7},"end":{"line":49,"column":40}},{"start":{"line":50,"column":7},"end":{"line":50,"column":36}},{"start":{"line":51,"column":7},"end":{"line":51,"column":44}}],"line":48},"4":{"loc":{"start":{"line":61,"column":27},"end":{"line":61,"column":125}},"type":"cond-expr","locations":[{"start":{"line":61,"column":49},"end":{"line":61,"column":54}},{"start":{"line":61,"column":57},"end":{"line":61,"column":125}}],"line":61},"5":{"loc":{"start":{"line":68,"column":2},"end":{"line":102,"column":3}},"type":"if","locations":[{"start":{"line":68,"column":2},"end":{"line":102,"column":3}},{"start":{},"end":{}}],"line":68},"6":{"loc":{"start":{"line":69,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":69},"7":{"loc":{"start":{"line":72,"column":11},"end":{"line":76,"column":18}},"type":"cond-expr","locations":[{"start":{"line":73,"column":12},"end":{"line":75,"column":14}},{"start":{"line":76,"column":14},"end":{"line":76,"column":18}}],"line":72},"8":{"loc":{"start":{"line":80,"column":21},"end":{"line":80,"column":103}},"type":"cond-expr","locations":[{"start":{"line":80,"column":50},"end":{"line":80,"column":91}},{"start":{"line":80,"column":94},"end":{"line":80,"column":103}}],"line":80},"9":{"loc":{"start":{"line":90,"column":9},"end":{"line":94,"column":16}},"type":"cond-expr","locations":[{"start":{"line":91,"column":10},"end":{"line":93,"column":12}},{"start":{"line":94,"column":12},"end":{"line":94,"column":16}}],"line":90},"10":{"loc":{"start":{"line":104,"column":2},"end":{"line":111,"column":3}},"type":"if","locations":[{"start":{"line":104,"column":2},"end":{"line":111,"column":3}},{"start":{},"end":{}}],"line":104},"11":{"loc":{"start":{"line":113,"column":2},"end":{"line":121,"column":3}},"type":"if","locations":[{"start":{"line":113,"column":2},"end":{"line":121,"column":3}},{"start":{},"end":{}}],"line":113},"12":{"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"type":"if","locations":[{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},{"start":{},"end":{}}],"line":123},"13":{"loc":{"start":{"line":123,"column":6},"end":{"line":123,"column":72}},"type":"binary-expr","locations":[{"start":{"line":123,"column":6},"end":{"line":123,"column":37}},{"start":{"line":123,"column":41},"end":{"line":123,"column":72}}],"line":123},"14":{"loc":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},{"start":{},"end":{}}],"line":127},"15":{"loc":{"start":{"line":127,"column":6},"end":{"line":127,"column":93}},"type":"binary-expr","locations":[{"start":{"line":127,"column":6},"end":{"line":127,"column":19}},{"start":{"line":127,"column":23},"end":{"line":127,"column":56}},{"start":{"line":127,"column":60},"end":{"line":127,"column":93}}],"line":127}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TooltipProperty.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/TooltipProperty.tsx","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":37,"column":11}}},"fnMap":{"0":{"name":"TooltipProperty","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":80},"end":{"line":38,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":9},"end":{"line":37,"column":10}},"type":"cond-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":36,"column":12}},{"start":{"line":37,"column":6},"end":{"line":37,"column":10}}],"line":14},"1":{"loc":{"start":{"line":14,"column":9},"end":{"line":14,"column":77}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":37}},{"start":{"line":14,"column":41},"end":{"line":14,"column":77}}],"line":14},"2":{"loc":{"start":{"line":25,"column":7},"end":{"line":34,"column":7}},"type":"binary-expr","locations":[{"start":{"line":25,"column":8},"end":{"line":25,"column":13}},{"start":{"line":25,"column":17},"end":{"line":25,"column":45}},{"start":{"line":26,"column":8},"end":{"line":33,"column":16}}],"line":25},"3":{"loc":{"start":{"line":28,"column":11},"end":{"line":32,"column":11}},"type":"binary-expr","locations":[{"start":{"line":28,"column":11},"end":{"line":28,"column":39}},{"start":{"line":29,"column":12},"end":{"line":31,"column":18}}],"line":28},"4":{"loc":{"start":{"line":35,"column":7},"end":{"line":35,"column":176}},"type":"cond-expr","locations":[{"start":{"line":35,"column":133},"end":{"line":35,"column":169}},{"start":{"line":35,"column":172},"end":{"line":35,"column":176}}],"line":35},"5":{"loc":{"start":{"line":35,"column":7},"end":{"line":35,"column":130}},"type":"binary-expr","locations":[{"start":{"line":35,"column":7},"end":{"line":35,"column":43}},{"start":{"line":35,"column":47},"end":{"line":35,"column":93}},{"start":{"line":35,"column":97},"end":{"line":35,"column":130}}],"line":35}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/TokenTooltip/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/NodeIcon.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/NodeIcon.tsx","statementMap":{"0":{"start":{"line":22,"column":2},"end":{"line":49,"column":3}},"1":{"start":{"line":24,"column":6},"end":{"line":24,"column":56}},"2":{"start":{"line":25,"column":6},"end":{"line":25,"column":12}},"3":{"start":{"line":27,"column":6},"end":{"line":27,"column":57}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":12}},"5":{"start":{"line":30,"column":6},"end":{"line":30,"column":69}},"6":{"start":{"line":31,"column":6},"end":{"line":31,"column":12}},"7":{"start":{"line":33,"column":6},"end":{"line":33,"column":55}},"8":{"start":{"line":34,"column":6},"end":{"line":34,"column":12}},"9":{"start":{"line":36,"column":6},"end":{"line":36,"column":57}},"10":{"start":{"line":37,"column":6},"end":{"line":37,"column":12}},"11":{"start":{"line":39,"column":6},"end":{"line":39,"column":55}},"12":{"start":{"line":40,"column":6},"end":{"line":40,"column":12}},"13":{"start":{"line":42,"column":6},"end":{"line":42,"column":57}},"14":{"start":{"line":43,"column":6},"end":{"line":43,"column":12}},"15":{"start":{"line":45,"column":6},"end":{"line":45,"column":57}},"16":{"start":{"line":46,"column":6},"end":{"line":46,"column":12}},"17":{"start":{"line":48,"column":6},"end":{"line":48,"column":12}},"18":{"start":{"line":50,"column":2},"end":{"line":50,"column":25}},"19":{"start":{"line":50,"column":13},"end":{"line":50,"column":25}},"20":{"start":{"line":51,"column":2},"end":{"line":64,"column":4}}},"fnMap":{"0":{"name":"NodeIcon","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":32}},"loc":{"start":{"line":20,"column":103},"end":{"line":65,"column":1}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":41},"end":{"line":20,"column":51}},"type":"default-arg","locations":[{"start":{"line":20,"column":49},"end":{"line":20,"column":51}}],"line":20},"1":{"loc":{"start":{"line":20,"column":53},"end":{"line":20,"column":64}},"type":"default-arg","locations":[{"start":{"line":20,"column":62},"end":{"line":20,"column":64}}],"line":20},"2":{"loc":{"start":{"line":22,"column":2},"end":{"line":49,"column":3}},"type":"switch","locations":[{"start":{"line":23,"column":4},"end":{"line":25,"column":12}},{"start":{"line":26,"column":4},"end":{"line":28,"column":12}},{"start":{"line":29,"column":4},"end":{"line":31,"column":12}},{"start":{"line":32,"column":4},"end":{"line":34,"column":12}},{"start":{"line":35,"column":4},"end":{"line":37,"column":12}},{"start":{"line":38,"column":4},"end":{"line":40,"column":12}},{"start":{"line":41,"column":4},"end":{"line":43,"column":12}},{"start":{"line":44,"column":4},"end":{"line":46,"column":12}},{"start":{"line":47,"column":4},"end":{"line":48,"column":12}}],"line":22},"3":{"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":25}},"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":50,"column":25}},{"start":{},"end":{}}],"line":50}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0},"b":{"0":[0],"1":[0],"2":[0,0,0,0,0,0,0,0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNode.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNode.tsx","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":11,"column":10}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":19}},"2":{"start":{"line":13,"column":2},"end":{"line":40,"column":4}}},"fnMap":{"0":{"name":"TokenNode","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":33}},"loc":{"start":{"line":8,"column":64},"end":{"line":41,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},"loc":{"start":{"line":9,"column":41},"end":{"line":11,"column":3}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNodes.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/inspector/TokenNodes.tsx","statementMap":{"0":{"start":{"line":12,"column":20},"end":{"line":12,"column":22}},"1":{"start":{"line":13,"column":31},"end":{"line":13,"column":33}},"2":{"start":{"line":14,"column":26},"end":{"line":14,"column":27}},"3":{"start":{"line":17,"column":25},"end":{"line":20,"column":13}},"4":{"start":{"line":18,"column":20},"end":{"line":18,"column":45}},"5":{"start":{"line":18,"column":42},"end":{"line":18,"column":44}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":25}},"7":{"start":{"line":23,"column":4},"end":{"line":39,"column":27}},"8":{"start":{"line":37,"column":8},"end":{"line":37,"column":62}},"9":{"start":{"line":42,"column":2},"end":{"line":74,"column":4}}},"fnMap":{"0":{"name":"TokenNodes","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":34}},"loc":{"start":{"line":16,"column":69},"end":{"line":75,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":37},"end":{"line":17,"column":38}},"loc":{"start":{"line":17,"column":43},"end":{"line":20,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":30},"end":{"line":18,"column":31}},"loc":{"start":{"line":18,"column":42},"end":{"line":18,"column":44}},"line":18},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":18}},"loc":{"start":{"line":37,"column":8},"end":{"line":37,"column":62}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":41},"end":{"line":33,"column":106}},"type":"cond-expr","locations":[{"start":{"line":33,"column":81},"end":{"line":33,"column":99}},{"start":{"line":33,"column":102},"end":{"line":33,"column":106}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/BulkRemapModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/BulkRemapModal.tsx","statementMap":{"0":{"start":{"line":17,"column":32},"end":{"line":17,"column":50}},"1":{"start":{"line":18,"column":32},"end":{"line":18,"column":50}},"2":{"start":{"line":19,"column":56},"end":{"line":19,"column":77}},"3":{"start":{"line":20,"column":30},"end":{"line":20,"column":41}},"4":{"start":{"line":22,"column":22},"end":{"line":24,"column":15}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":14}},"6":{"start":{"line":26,"column":20},"end":{"line":30,"column":71}},"7":{"start":{"line":27,"column":23},"end":{"line":27,"column":87}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":56}},"9":{"start":{"line":29,"column":4},"end":{"line":29,"column":14}},"10":{"start":{"line":32,"column":30},"end":{"line":34,"column":8}},"11":{"start":{"line":33,"column":4},"end":{"line":33,"column":31}},"12":{"start":{"line":36,"column":30},"end":{"line":38,"column":8}},"13":{"start":{"line":37,"column":4},"end":{"line":37,"column":31}},"14":{"start":{"line":40,"column":36},"end":{"line":42,"column":27}},"15":{"start":{"line":41,"column":4},"end":{"line":41,"column":49}},"16":{"start":{"line":44,"column":2},"end":{"line":95,"column":4}}},"fnMap":{"0":{"name":"BulkRemapModal","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":38}},"loc":{"start":{"line":16,"column":67},"end":{"line":96,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":40},"end":{"line":22,"column":41}},"loc":{"start":{"line":22,"column":46},"end":{"line":24,"column":3}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":38},"end":{"line":26,"column":39}},"loc":{"start":{"line":26,"column":50},"end":{"line":30,"column":3}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":92},"end":{"line":32,"column":93}},"loc":{"start":{"line":32,"column":99},"end":{"line":34,"column":3}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":92},"end":{"line":36,"column":93}},"loc":{"start":{"line":36,"column":99},"end":{"line":38,"column":3}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":54},"end":{"line":40,"column":55}},"loc":{"start":{"line":40,"column":60},"end":{"line":42,"column":3}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":23},"end":{"line":27,"column":87}},"type":"cond-expr","locations":[{"start":{"line":27,"column":45},"end":{"line":27,"column":64}},{"start":{"line":27,"column":67},"end":{"line":27,"column":87}}],"line":27}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateBranchModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateBranchModal.tsx","statementMap":{"0":{"start":{"line":31,"column":6},"end":{"line":31,"column":23}},"1":{"start":{"line":33,"column":24},"end":{"line":33,"column":58}},"2":{"start":{"line":34,"column":18},"end":{"line":34,"column":42}},"3":{"start":{"line":35,"column":22},"end":{"line":35,"column":54}},"4":{"start":{"line":36,"column":23},"end":{"line":36,"column":56}},"5":{"start":{"line":38,"column":38},"end":{"line":38,"column":78}},"6":{"start":{"line":39,"column":38},"end":{"line":39,"column":68}},"7":{"start":{"line":40,"column":25},"end":{"line":40,"column":68}},"8":{"start":{"line":45,"column":2},"end":{"line":49,"column":9}},"9":{"start":{"line":46,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":47,"column":6},"end":{"line":47,"column":38}},"11":{"start":{"line":51,"column":28},"end":{"line":51,"column":92}},"12":{"start":{"line":51,"column":48},"end":{"line":51,"column":77}},"13":{"start":{"line":53,"column":23},"end":{"line":55,"column":18}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":70}},"15":{"start":{"line":57,"column":23},"end":{"line":99,"column":4}},"16":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"17":{"start":{"line":60,"column":23},"end":{"line":60,"column":33}},"18":{"start":{"line":62,"column":4},"end":{"line":62,"column":25}},"19":{"start":{"line":64,"column":4},"end":{"line":85,"column":5}},"20":{"start":{"line":69,"column":23},"end":{"line":69,"column":116}},"21":{"start":{"line":70,"column":23},"end":{"line":70,"column":83}},"22":{"start":{"line":71,"column":6},"end":{"line":80,"column":7}},"23":{"start":{"line":72,"column":8},"end":{"line":72,"column":42}},"24":{"start":{"line":73,"column":8},"end":{"line":77,"column":9}},"25":{"start":{"line":74,"column":10},"end":{"line":76,"column":13}},"26":{"start":{"line":79,"column":8},"end":{"line":79,"column":28}},"27":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"28":{"start":{"line":83,"column":8},"end":{"line":83,"column":62}},"29":{"start":{"line":101,"column":27},"end":{"line":101,"column":77}},"30":{"start":{"line":101,"column":51},"end":{"line":101,"column":65}},"31":{"start":{"line":103,"column":2},"end":{"line":142,"column":4}}},"fnMap":{"0":{"name":"CreateBranchModal","decl":{"start":{"line":26,"column":24},"end":{"line":26,"column":41}},"loc":{"start":{"line":28,"column":10},"end":{"line":143,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":18},"end":{"line":45,"column":19}},"loc":{"start":{"line":45,"column":24},"end":{"line":49,"column":3}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":15},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":21},"end":{"line":48,"column":5}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":42},"end":{"line":51,"column":43}},"loc":{"start":{"line":51,"column":48},"end":{"line":51,"column":77}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":41},"end":{"line":53,"column":42}},"loc":{"start":{"line":53,"column":85},"end":{"line":55,"column":3}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":57,"column":41},"end":{"line":57,"column":42}},"loc":{"start":{"line":57,"column":88},"end":{"line":86,"column":3}},"line":57},"6":{"name":"(anonymous_6)","decl":{"start":{"line":101,"column":45},"end":{"line":101,"column":46}},"loc":{"start":{"line":101,"column":51},"end":{"line":101,"column":65}},"line":101}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":64},"1":{"loc":{"start":{"line":65,"column":6},"end":{"line":66,"column":31}},"type":"binary-expr","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":34}},{"start":{"line":66,"column":9},"end":{"line":66,"column":31}}],"line":65},"2":{"loc":{"start":{"line":69,"column":91},"end":{"line":69,"column":115}},"type":"binary-expr","locations":[{"start":{"line":69,"column":91},"end":{"line":69,"column":102}},{"start":{"line":69,"column":106},"end":{"line":69,"column":115}}],"line":69},"3":{"loc":{"start":{"line":71,"column":6},"end":{"line":80,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":80,"column":7}},{"start":{"line":78,"column":13},"end":{"line":80,"column":7}}],"line":71},"4":{"loc":{"start":{"line":72,"column":26},"end":{"line":72,"column":40}},"type":"binary-expr","locations":[{"start":{"line":72,"column":26},"end":{"line":72,"column":34}},{"start":{"line":72,"column":38},"end":{"line":72,"column":40}}],"line":72},"5":{"loc":{"start":{"line":73,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":73},"6":{"loc":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":82},"7":{"loc":{"start":{"line":104,"column":46},"end":{"line":104,"column":96}},"type":"cond-expr","locations":[{"start":{"line":104,"column":65},"end":{"line":104,"column":82}},{"start":{"line":104,"column":85},"end":{"line":104,"column":96}}],"line":104},"8":{"loc":{"start":{"line":120,"column":12},"end":{"line":124,"column":13}},"type":"binary-expr","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":30}},{"start":{"line":121,"column":14},"end":{"line":123,"column":29}}],"line":120},"9":{"loc":{"start":{"line":130,"column":64},"end":{"line":130,"column":107}},"type":"binary-expr","locations":[{"start":{"line":130,"column":64},"end":{"line":130,"column":86}},{"start":{"line":130,"column":90},"end":{"line":130,"column":107}}],"line":130},"10":{"loc":{"start":{"line":134,"column":11},"end":{"line":138,"column":11}},"type":"binary-expr","locations":[{"start":{"line":134,"column":11},"end":{"line":134,"column":21}},{"start":{"line":135,"column":12},"end":{"line":137,"column":27}}],"line":134}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateStorageItemModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/CreateStorageItemModal.tsx","statementMap":{"0":{"start":{"line":20,"column":33},"end":{"line":20,"column":50}},"1":{"start":{"line":21,"column":38},"end":{"line":21,"column":59}},"2":{"start":{"line":22,"column":42},"end":{"line":22,"column":66}},"3":{"start":{"line":24,"column":24},"end":{"line":38,"column":3}},"4":{"start":{"line":25,"column":17},"end":{"line":25,"column":49}},"5":{"start":{"line":26,"column":25},"end":{"line":36,"column":41}},"6":{"start":{"line":37,"column":4},"end":{"line":37,"column":53}},"7":{"start":{"line":40,"column":25},"end":{"line":40,"column":55}},"8":{"start":{"line":42,"column":38},"end":{"line":49,"column":3}},"9":{"start":{"line":44,"column":13},"end":{"line":46,"column":7}},"10":{"start":{"line":51,"column":31},"end":{"line":63,"column":3}},"11":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"12":{"start":{"line":54,"column":23},"end":{"line":54,"column":55}},"13":{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},"14":{"start":{"line":56,"column":8},"end":{"line":56,"column":20}},"15":{"start":{"line":58,"column":8},"end":{"line":58,"column":28}},"16":{"start":{"line":59,"column":8},"end":{"line":59,"column":48}},"17":{"start":{"line":65,"column":23},"end":{"line":70,"column":3}},"18":{"start":{"line":67,"column":6},"end":{"line":67,"column":72}},"19":{"start":{"line":72,"column":23},"end":{"line":77,"column":3}},"20":{"start":{"line":74,"column":6},"end":{"line":74,"column":35}},"21":{"start":{"line":79,"column":2},"end":{"line":91,"column":4}}},"fnMap":{"0":{"name":"CreateStorageItemModal","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":46}},"loc":{"start":{"line":19,"column":10},"end":{"line":92,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":25}},"loc":{"start":{"line":24,"column":66},"end":{"line":38,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":44,"column":6},"end":{"line":44,"column":7}},"loc":{"start":{"line":44,"column":13},"end":{"line":46,"column":7}},"line":44},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":52},"end":{"line":61,"column":5}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":66,"column":4},"end":{"line":66,"column":5}},"loc":{"start":{"line":66,"column":22},"end":{"line":68,"column":5}},"line":66},"5":{"name":"(anonymous_5)","decl":{"start":{"line":73,"column":4},"end":{"line":73,"column":5}},"loc":{"start":{"line":73,"column":46},"end":{"line":75,"column":5}},"line":73}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":25},"end":{"line":36,"column":41}},"type":"binary-expr","locations":[{"start":{"line":26,"column":25},"end":{"line":36,"column":22}},{"start":{"line":36,"column":26},"end":{"line":36,"column":41}}],"line":26},"1":{"loc":{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":60,"column":7}},{"start":{"line":57,"column":13},"end":{"line":60,"column":7}}],"line":55}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/DuplicateTokenGroupModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/DuplicateTokenGroupModal.tsx","statementMap":{"0":{"start":{"line":28,"column":17},"end":{"line":28,"column":44}},"1":{"start":{"line":29,"column":25},"end":{"line":29,"column":60}},"2":{"start":{"line":30,"column":52},"end":{"line":30,"column":94}},"3":{"start":{"line":31,"column":29},"end":{"line":31,"column":46}},"4":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"5":{"start":{"line":34,"column":35},"end":{"line":36,"column":8}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":40}},"7":{"start":{"line":38,"column":42},"end":{"line":46,"column":74}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":23}},"9":{"start":{"line":40,"column":4},"end":{"line":42,"column":7}},"10":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"11":{"start":{"line":44,"column":6},"end":{"line":44,"column":16}},"12":{"start":{"line":48,"column":16},"end":{"line":63,"column":81}},"13":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"14":{"start":{"line":50,"column":6},"end":{"line":50,"column":18}},"15":{"start":{"line":52,"column":4},"end":{"line":56,"column":5}},"16":{"start":{"line":53,"column":6},"end":{"line":55,"column":8}},"17":{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},"18":{"start":{"line":58,"column":6},"end":{"line":60,"column":8}},"19":{"start":{"line":62,"column":4},"end":{"line":62,"column":105}},"20":{"start":{"line":65,"column":23},"end":{"line":65,"column":29}},"21":{"start":{"line":67,"column":2},"end":{"line":155,"column":4}},"22":{"start":{"line":106,"column":84},"end":{"line":106,"column":92}},"23":{"start":{"line":109,"column":22},"end":{"line":122,"column":25}},"24":{"start":{"line":117,"column":28},"end":{"line":119,"column":48}},"25":{"start":{"line":129,"column":128},"end":{"line":129,"column":136}},"26":{"start":{"line":132,"column":20},"end":{"line":145,"column":23}},"27":{"start":{"line":140,"column":26},"end":{"line":142,"column":46}}},"fnMap":{"0":{"name":"DuplicateTokenGroupModal","decl":{"start":{"line":25,"column":24},"end":{"line":25,"column":48}},"loc":{"start":{"line":27,"column":10},"end":{"line":156,"column":1}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":53},"end":{"line":34,"column":54}},"loc":{"start":{"line":34,"column":82},"end":{"line":36,"column":3}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":60},"end":{"line":38,"column":61}},"loc":{"start":{"line":38,"column":107},"end":{"line":46,"column":3}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":48,"column":24},"end":{"line":48,"column":25}},"loc":{"start":{"line":48,"column":30},"end":{"line":63,"column":3}},"line":48},"4":{"name":"(anonymous_4)","decl":{"start":{"line":106,"column":77},"end":{"line":106,"column":78}},"loc":{"start":{"line":106,"column":84},"end":{"line":106,"column":92}},"line":106},"5":{"name":"(anonymous_5)","decl":{"start":{"line":108,"column":70},"end":{"line":108,"column":71}},"loc":{"start":{"line":109,"column":22},"end":{"line":122,"column":25}},"line":109},"6":{"name":"(anonymous_6)","decl":{"start":{"line":116,"column":49},"end":{"line":116,"column":50}},"loc":{"start":{"line":117,"column":28},"end":{"line":119,"column":48}},"line":117},"7":{"name":"(anonymous_7)","decl":{"start":{"line":129,"column":121},"end":{"line":129,"column":122}},"loc":{"start":{"line":129,"column":128},"end":{"line":129,"column":136}},"line":129},"8":{"name":"(anonymous_8)","decl":{"start":{"line":131,"column":92},"end":{"line":131,"column":93}},"loc":{"start":{"line":132,"column":20},"end":{"line":145,"column":23}},"line":132},"9":{"name":"(anonymous_9)","decl":{"start":{"line":139,"column":47},"end":{"line":139,"column":48}},"loc":{"start":{"line":140,"column":26},"end":{"line":142,"column":46}},"line":140}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":43},"1":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49},"2":{"loc":{"start":{"line":52,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":56,"column":5}},{"start":{},"end":{}}],"line":52},"3":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":73}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":27}},{"start":{"line":52,"column":31},"end":{"line":52,"column":73}}],"line":52},"4":{"loc":{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":97,"column":9},"end":{"line":151,"column":9}},"type":"binary-expr","locations":[{"start":{"line":97,"column":9},"end":{"line":97,"column":22}},{"start":{"line":97,"column":26},"end":{"line":97,"column":37}},{"start":{"line":98,"column":10},"end":{"line":150,"column":25}}],"line":97},"6":{"loc":{"start":{"line":103,"column":44},"end":{"line":125,"column":15}},"type":"binary-expr","locations":[{"start":{"line":103,"column":44},"end":{"line":103,"column":72}},{"start":{"line":104,"column":16},"end":{"line":124,"column":19}}],"line":103},"7":{"loc":{"start":{"line":129,"column":51},"end":{"line":129,"column":148}},"type":"binary-expr","locations":[{"start":{"line":129,"column":51},"end":{"line":129,"column":75}},{"start":{"line":129,"column":79},"end":{"line":129,"column":148}}],"line":129},"8":{"loc":{"start":{"line":131,"column":19},"end":{"line":146,"column":20}},"type":"binary-expr","locations":[{"start":{"line":131,"column":19},"end":{"line":131,"column":43}},{"start":{"line":131,"column":47},"end":{"line":146,"column":20}}],"line":131}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/EditStorageItemModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/EditStorageItemModal.tsx","statementMap":{"0":{"start":{"line":20,"column":16},"end":{"line":20,"column":43}},"1":{"start":{"line":21,"column":38},"end":{"line":21,"column":95}},"2":{"start":{"line":22,"column":38},"end":{"line":22,"column":59}},"3":{"start":{"line":23,"column":33},"end":{"line":23,"column":50}},"4":{"start":{"line":24,"column":42},"end":{"line":24,"column":66}},"5":{"start":{"line":26,"column":23},"end":{"line":28,"column":18}},"6":{"start":{"line":27,"column":4},"end":{"line":27,"column":70}},"7":{"start":{"line":30,"column":23},"end":{"line":38,"column":37}},"8":{"start":{"line":31,"column":21},"end":{"line":31,"column":53}},"9":{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":18}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":26}},"12":{"start":{"line":36,"column":6},"end":{"line":36,"column":46}},"13":{"start":{"line":40,"column":2},"end":{"line":53,"column":4}}},"fnMap":{"0":{"name":"EditStorageItemModal","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":44}},"loc":{"start":{"line":19,"column":10},"end":{"line":54,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":41},"end":{"line":26,"column":42}},"loc":{"start":{"line":26,"column":59},"end":{"line":28,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":41},"end":{"line":30,"column":42}},"loc":{"start":{"line":30,"column":89},"end":{"line":38,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},{"start":{"line":34,"column":11},"end":{"line":37,"column":5}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ExportModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ExportModal.tsx","statementMap":{"0":{"start":{"line":13,"column":38},"end":{"line":13,"column":89}},"1":{"start":{"line":15,"column":27},"end":{"line":19,"column":8}},"2":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":26}},"4":{"start":{"line":21,"column":2},"end":{"line":37,"column":4}}},"fnMap":{"0":{"name":"ExportModal","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":35}},"loc":{"start":{"line":12,"column":56},"end":{"line":38,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":45},"end":{"line":15,"column":46}},"loc":{"start":{"line":15,"column":112},"end":{"line":19,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":31,"column":10},"end":{"line":33,"column":52}},"type":"cond-expr","locations":[{"start":{"line":32,"column":14},"end":{"line":32,"column":52}},{"start":{"line":33,"column":14},"end":{"line":33,"column":52}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/PresetModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/PresetModal.tsx","statementMap":{"0":{"start":{"line":13,"column":38},"end":{"line":13,"column":77}},"1":{"start":{"line":15,"column":28},"end":{"line":19,"column":8}},"2":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":30}},"4":{"start":{"line":21,"column":2},"end":{"line":39,"column":4}}},"fnMap":{"0":{"name":"PresetModal","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":35}},"loc":{"start":{"line":12,"column":56},"end":{"line":40,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":46},"end":{"line":15,"column":47}},"loc":{"start":{"line":15,"column":78},"end":{"line":19,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":32,"column":12},"end":{"line":34,"column":49}},"type":"cond-expr","locations":[{"start":{"line":33,"column":16},"end":{"line":33,"column":52}},{"start":{"line":34,"column":16},"end":{"line":34,"column":49}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/RenameTokenGroupModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/RenameTokenGroupModal.tsx","statementMap":{"0":{"start":{"line":27,"column":17},"end":{"line":27,"column":44}},"1":{"start":{"line":28,"column":25},"end":{"line":28,"column":60}},"2":{"start":{"line":29,"column":16},"end":{"line":29,"column":53}},"3":{"start":{"line":31,"column":16},"end":{"line":37,"column":62}},"4":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"5":{"start":{"line":33,"column":6},"end":{"line":33,"column":18}},"6":{"start":{"line":36,"column":4},"end":{"line":36,"column":83}},"7":{"start":{"line":39,"column":20},"end":{"line":39,"column":51}},"8":{"start":{"line":41,"column":2},"end":{"line":110,"column":4}},"9":{"start":{"line":78,"column":20},"end":{"line":85,"column":40}},"10":{"start":{"line":97,"column":22},"end":{"line":99,"column":42}}},"fnMap":{"0":{"name":"RenameTokenGroupModal","decl":{"start":{"line":24,"column":24},"end":{"line":24,"column":45}},"loc":{"start":{"line":26,"column":10},"end":{"line":111,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":25}},"loc":{"start":{"line":31,"column":30},"end":{"line":37,"column":3}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":77,"column":53},"end":{"line":77,"column":54}},"loc":{"start":{"line":78,"column":20},"end":{"line":85,"column":40}},"line":78},"3":{"name":"(anonymous_3)","decl":{"start":{"line":96,"column":51},"end":{"line":96,"column":52}},"loc":{"start":{"line":97,"column":22},"end":{"line":99,"column":42}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":32},"1":{"loc":{"start":{"line":32,"column":8},"end":{"line":32,"column":38}},"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":27}},{"start":{"line":32,"column":31},"end":{"line":32,"column":38}}],"line":32},"2":{"loc":{"start":{"line":39,"column":22},"end":{"line":39,"column":50}},"type":"binary-expr","locations":[{"start":{"line":39,"column":22},"end":{"line":39,"column":41}},{"start":{"line":39,"column":45},"end":{"line":39,"column":50}}],"line":39},"3":{"loc":{"start":{"line":68,"column":9},"end":{"line":106,"column":9}},"type":"binary-expr","locations":[{"start":{"line":68,"column":9},"end":{"line":68,"column":19}},{"start":{"line":68,"column":23},"end":{"line":68,"column":28}},{"start":{"line":69,"column":10},"end":{"line":105,"column":25}}],"line":68},"4":{"loc":{"start":{"line":72,"column":44},"end":{"line":88,"column":15}},"type":"binary-expr","locations":[{"start":{"line":72,"column":44},"end":{"line":72,"column":84}},{"start":{"line":73,"column":16},"end":{"line":87,"column":19}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ResolveDuplicateTokensModal.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/components/modals/ResolveDuplicateTokensModal.tsx","statementMap":{"0":{"start":{"line":22,"column":17},"end":{"line":22,"column":44}},"1":{"start":{"line":23,"column":31},"end":{"line":23,"column":48}},"2":{"start":{"line":24,"column":16},"end":{"line":24,"column":42}},"3":{"start":{"line":25,"column":46},"end":{"line":28,"column":9}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":22}},"5":{"start":{"line":27,"column":4},"end":{"line":27,"column":15}},"6":{"start":{"line":30,"column":55},"end":{"line":64,"column":30}},"7":{"start":{"line":34,"column":31},"end":{"line":50,"column":10}},"8":{"start":{"line":35,"column":31},"end":{"line":35,"column":46}},"9":{"start":{"line":36,"column":31},"end":{"line":46,"column":12}},"10":{"start":{"line":37,"column":34},"end":{"line":37,"column":87}},"11":{"start":{"line":37,"column":65},"end":{"line":37,"column":86}},"12":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"13":{"start":{"line":39,"column":10},"end":{"line":42,"column":14}},"14":{"start":{"line":39,"column":75},"end":{"line":42,"column":11}},"15":{"start":{"line":45,"column":8},"end":{"line":45,"column":20}},"16":{"start":{"line":48,"column":6},"end":{"line":48,"column":38}},"17":{"start":{"line":49,"column":6},"end":{"line":49,"column":17}},"18":{"start":{"line":52,"column":21},"end":{"line":62,"column":58}},"19":{"start":{"line":53,"column":27},"end":{"line":53,"column":54}},"20":{"start":{"line":55,"column":36},"end":{"line":58,"column":12}},"21":{"start":{"line":56,"column":8},"end":{"line":56,"column":93}},"22":{"start":{"line":56,"column":69},"end":{"line":56,"column":81}},"23":{"start":{"line":57,"column":8},"end":{"line":57,"column":20}},"24":{"start":{"line":60,"column":6},"end":{"line":60,"column":43}},"25":{"start":{"line":61,"column":6},"end":{"line":61,"column":17}},"26":{"start":{"line":63,"column":4},"end":{"line":63,"column":86}},"27":{"start":{"line":66,"column":23},"end":{"line":75,"column":41}},"28":{"start":{"line":67,"column":40},"end":{"line":67,"column":56}},"29":{"start":{"line":68,"column":4},"end":{"line":74,"column":7}},"30":{"start":{"line":77,"column":42},"end":{"line":89,"column":58}},"31":{"start":{"line":78,"column":4},"end":{"line":78,"column":23}},"32":{"start":{"line":79,"column":70},"end":{"line":79,"column":72}},"33":{"start":{"line":80,"column":4},"end":{"line":85,"column":7}},"34":{"start":{"line":81,"column":6},"end":{"line":84,"column":9}},"35":{"start":{"line":82,"column":22},"end":{"line":82,"column":47}},"36":{"start":{"line":83,"column":8},"end":{"line":83,"column":60}},"37":{"start":{"line":86,"column":4},"end":{"line":86,"column":67}},"38":{"start":{"line":87,"column":4},"end":{"line":87,"column":38}},"39":{"start":{"line":88,"column":4},"end":{"line":88,"column":14}},"40":{"start":{"line":91,"column":21},"end":{"line":91,"column":25}},"41":{"start":{"line":93,"column":2},"end":{"line":132,"column":4}},"42":{"start":{"line":117,"column":72},"end":{"line":129,"column":16}},"43":{"start":{"line":121,"column":14},"end":{"line":126,"column":16}}},"fnMap":{"0":{"name":"ResolveDuplicateTokensModal","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":51}},"loc":{"start":{"line":21,"column":10},"end":{"line":133,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":138},"end":{"line":25,"column":139}},"loc":{"start":{"line":25,"column":156},"end":{"line":28,"column":3}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":5},"end":{"line":33,"column":6}},"loc":{"start":{"line":33,"column":11},"end":{"line":64,"column":3}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":58},"end":{"line":34,"column":59}},"loc":{"start":{"line":34,"column":76},"end":{"line":50,"column":5}},"line":34},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":55},"end":{"line":36,"column":56}},"loc":{"start":{"line":36,"column":72},"end":{"line":46,"column":7}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":37,"column":58},"end":{"line":37,"column":59}},"loc":{"start":{"line":37,"column":65},"end":{"line":37,"column":86}},"line":37},"6":{"name":"(anonymous_6)","decl":{"start":{"line":39,"column":51},"end":{"line":39,"column":52}},"loc":{"start":{"line":39,"column":75},"end":{"line":42,"column":11}},"line":39},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":60},"end":{"line":52,"column":61}},"loc":{"start":{"line":52,"column":124},"end":{"line":62,"column":5}},"line":52},"8":{"name":"(anonymous_8)","decl":{"start":{"line":55,"column":96},"end":{"line":55,"column":97}},"loc":{"start":{"line":55,"column":117},"end":{"line":58,"column":7}},"line":55},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":60},"end":{"line":56,"column":61}},"loc":{"start":{"line":56,"column":69},"end":{"line":56,"column":81}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":66,"column":35},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":46},"end":{"line":75,"column":3}},"line":66},"11":{"name":"(anonymous_11)","decl":{"start":{"line":77,"column":60},"end":{"line":77,"column":61}},"loc":{"start":{"line":77,"column":107},"end":{"line":89,"column":3}},"line":77},"12":{"name":"(anonymous_12)","decl":{"start":{"line":80,"column":52},"end":{"line":80,"column":53}},"loc":{"start":{"line":80,"column":75},"end":{"line":85,"column":5}},"line":80},"13":{"name":"(anonymous_13)","decl":{"start":{"line":81,"column":39},"end":{"line":81,"column":40}},"loc":{"start":{"line":81,"column":58},"end":{"line":84,"column":7}},"line":81},"14":{"name":"(anonymous_14)","decl":{"start":{"line":117,"column":45},"end":{"line":117,"column":46}},"loc":{"start":{"line":117,"column":72},"end":{"line":129,"column":16}},"line":117},"15":{"name":"(anonymous_15)","decl":{"start":{"line":120,"column":43},"end":{"line":120,"column":44}},"loc":{"start":{"line":121,"column":14},"end":{"line":126,"column":16}},"line":121}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},{"start":{},"end":{}}],"line":38},"1":{"loc":{"start":{"line":41,"column":35},"end":{"line":41,"column":79}},"type":"binary-expr","locations":[{"start":{"line":41,"column":35},"end":{"line":41,"column":74}},{"start":{"line":41,"column":78},"end":{"line":41,"column":79}}],"line":41},"2":{"loc":{"start":{"line":117,"column":72},"end":{"line":129,"column":16}},"type":"cond-expr","locations":[{"start":{"line":118,"column":10},"end":{"line":128,"column":18}},{"start":{"line":129,"column":12},"end":{"line":129,"column":16}}],"line":117}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts","statementMap":{"0":{"start":{"line":23,"column":64},"end":{"line":56,"column":1}},"1":{"start":{"line":28,"column":4},"end":{"line":31,"column":6}},"2":{"start":{"line":32,"column":4},"end":{"line":32,"column":52}},"3":{"start":{"line":33,"column":4},"end":{"line":33,"column":97}},"4":{"start":{"line":34,"column":4},"end":{"line":34,"column":48}},"5":{"start":{"line":37,"column":22},"end":{"line":40,"column":5}},"6":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"7":{"start":{"line":42,"column":28},"end":{"line":42,"column":71}},"8":{"start":{"line":43,"column":6},"end":{"line":43,"column":62}},"9":{"start":{"line":44,"column":6},"end":{"line":44,"column":94}},"10":{"start":{"line":46,"column":4},"end":{"line":46,"column":55}},"11":{"start":{"line":49,"column":22},"end":{"line":49,"column":82}},"12":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"13":{"start":{"line":51,"column":6},"end":{"line":51,"column":62}},"14":{"start":{"line":52,"column":6},"end":{"line":52,"column":113}},"15":{"start":{"line":54,"column":4},"end":{"line":54,"column":55}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":8},"end":{"line":27,"column":9}},"loc":{"start":{"line":27,"column":21},"end":{"line":35,"column":3}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":8},"end":{"line":36,"column":9}},"loc":{"start":{"line":36,"column":14},"end":{"line":47,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":9}},"loc":{"start":{"line":48,"column":14},"end":{"line":55,"column":3}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":41},"1":{"loc":{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":50}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts","statementMap":{"0":{"start":{"line":16,"column":41},"end":{"line":90,"column":31}},"1":{"start":{"line":20,"column":6},"end":{"line":22,"column":16}},"2":{"start":{"line":21,"column":8},"end":{"line":21,"column":35}},"3":{"start":{"line":25,"column":6},"end":{"line":29,"column":9}},"4":{"start":{"line":32,"column":6},"end":{"line":45,"column":7}},"5":{"start":{"line":33,"column":8},"end":{"line":44,"column":11}},"6":{"start":{"line":52,"column":28},"end":{"line":52,"column":32}},"7":{"start":{"line":54,"column":6},"end":{"line":58,"column":9}},"8":{"start":{"line":61,"column":6},"end":{"line":65,"column":9}},"9":{"start":{"line":72,"column":28},"end":{"line":72,"column":32}},"10":{"start":{"line":74,"column":6},"end":{"line":78,"column":9}},"11":{"start":{"line":81,"column":6},"end":{"line":85,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":22},"end":{"line":19,"column":23}},"loc":{"start":{"line":20,"column":6},"end":{"line":22,"column":16}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":52},"end":{"line":20,"column":53}},"loc":{"start":{"line":21,"column":8},"end":{"line":21,"column":35}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":10},"end":{"line":24,"column":11}},"loc":{"start":{"line":24,"column":32},"end":{"line":30,"column":5}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":10},"end":{"line":31,"column":11}},"loc":{"start":{"line":31,"column":42},"end":{"line":46,"column":5}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":22},"end":{"line":52,"column":23}},"loc":{"start":{"line":52,"column":28},"end":{"line":52,"column":32}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":10},"end":{"line":53,"column":11}},"loc":{"start":{"line":53,"column":32},"end":{"line":59,"column":5}},"line":53},"6":{"name":"(anonymous_6)","decl":{"start":{"line":60,"column":10},"end":{"line":60,"column":11}},"loc":{"start":{"line":60,"column":37},"end":{"line":66,"column":5}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":72,"column":22},"end":{"line":72,"column":23}},"loc":{"start":{"line":72,"column":28},"end":{"line":72,"column":32}},"line":72},"8":{"name":"(anonymous_8)","decl":{"start":{"line":73,"column":10},"end":{"line":73,"column":11}},"loc":{"start":{"line":73,"column":32},"end":{"line":79,"column":5}},"line":73},"9":{"name":"(anonymous_9)","decl":{"start":{"line":80,"column":10},"end":{"line":80,"column":11}},"loc":{"start":{"line":80,"column":37},"end":{"line":86,"column":5}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":6},"end":{"line":22,"column":16}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":22,"column":8}},{"start":{"line":22,"column":12},"end":{"line":22,"column":16}}],"line":20},"1":{"loc":{"start":{"line":32,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":45,"column":7}},{"start":{},"end":{}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts","statementMap":{"0":{"start":{"line":13,"column":32},"end":{"line":44,"column":30}},"1":{"start":{"line":13,"column":57},"end":{"line":44,"column":1}},"2":{"start":{"line":14,"column":46},"end":{"line":23,"column":3}},"3":{"start":{"line":15,"column":27},"end":{"line":15,"column":92}},"4":{"start":{"line":15,"column":67},"end":{"line":15,"column":91}},"5":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"6":{"start":{"line":18,"column":23},"end":{"line":18,"column":83}},"7":{"start":{"line":19,"column":6},"end":{"line":19,"column":55}},"8":{"start":{"line":21,"column":22},"end":{"line":21,"column":44}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":21}},"10":{"start":{"line":24,"column":16},"end":{"line":24,"column":61}},"11":{"start":{"line":26,"column":2},"end":{"line":41,"column":5}},"12":{"start":{"line":27,"column":20},"end":{"line":27,"column":45}},"13":{"start":{"line":28,"column":24},"end":{"line":30,"column":67}},"14":{"start":{"line":31,"column":28},"end":{"line":31,"column":77}},"15":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"16":{"start":{"line":33,"column":31},"end":{"line":35,"column":8}},"17":{"start":{"line":34,"column":8},"end":{"line":34,"column":48}},"18":{"start":{"line":36,"column":6},"end":{"line":39,"column":7}},"19":{"start":{"line":37,"column":24},"end":{"line":37,"column":79}},"20":{"start":{"line":38,"column":8},"end":{"line":38,"column":82}},"21":{"start":{"line":43,"column":2},"end":{"line":43,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":33},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":57},"end":{"line":44,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":57},"end":{"line":13,"column":58}},"loc":{"start":{"line":13,"column":118},"end":{"line":44,"column":1}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":46},"end":{"line":14,"column":47}},"loc":{"start":{"line":14,"column":65},"end":{"line":23,"column":3}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":67},"end":{"line":15,"column":91}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":62},"end":{"line":26,"column":63}},"loc":{"start":{"line":26,"column":108},"end":{"line":41,"column":3}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":62},"end":{"line":33,"column":63}},"loc":{"start":{"line":34,"column":8},"end":{"line":34,"column":48}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":68}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":50}},{"start":{"line":16,"column":54},"end":{"line":16,"column":68}}],"line":16},"2":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":49}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":26}},{"start":{"line":16,"column":30},"end":{"line":16,"column":49}}],"line":16},"3":{"loc":{"start":{"line":28,"column":24},"end":{"line":30,"column":67}},"type":"cond-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":71}},{"start":{"line":30,"column":8},"end":{"line":30,"column":67}}],"line":28},"4":{"loc":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":32},"5":{"loc":{"start":{"line":36,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":36},"6":{"loc":{"start":{"line":37,"column":24},"end":{"line":37,"column":79}},"type":"cond-expr","locations":[{"start":{"line":37,"column":34},"end":{"line":37,"column":55}},{"start":{"line":37,"column":58},"end":{"line":37,"column":79}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useActionsHistory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useActionsHistory.ts","statementMap":{"0":{"start":{"line":5,"column":46},"end":{"line":5,"column":92}},"1":{"start":{"line":7,"column":31},"end":{"line":14,"column":8}},"2":{"start":{"line":11,"column":4},"end":{"line":13,"column":10}},"3":{"start":{"line":12,"column":6},"end":{"line":12,"column":62}},"4":{"start":{"line":16,"column":2},"end":{"line":18,"column":29}},"5":{"start":{"line":17,"column":4},"end":{"line":17,"column":79}},"6":{"start":{"line":20,"column":2},"end":{"line":20,"column":24}}},"fnMap":{"0":{"name":"useActionsHistory","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":33}},"loc":{"start":{"line":4,"column":36},"end":{"line":21,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":43},"end":{"line":7,"column":44}},"loc":{"start":{"line":7,"column":49},"end":{"line":14,"column":3}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":21},"end":{"line":13,"column":5}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":13}},"loc":{"start":{"line":16,"column":18},"end":{"line":18,"column":3}},"line":16}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useCanUndo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useCanUndo.ts","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":5,"column":47}},"1":{"start":{"line":7,"column":24},"end":{"line":18,"column":8}},"2":{"start":{"line":11,"column":4},"end":{"line":17,"column":10}},"3":{"start":{"line":13,"column":8},"end":{"line":14,"column":100}},"4":{"start":{"line":16,"column":6},"end":{"line":16,"column":30}},"5":{"start":{"line":20,"column":2},"end":{"line":23,"column":22}},"6":{"start":{"line":21,"column":4},"end":{"line":21,"column":72}},"7":{"start":{"line":22,"column":4},"end":{"line":22,"column":79}},"8":{"start":{"line":25,"column":2},"end":{"line":25,"column":17}}},"fnMap":{"0":{"name":"useCanUndo","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":29},"end":{"line":26,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":36},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":42},"end":{"line":18,"column":3}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":21},"end":{"line":17,"column":5}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":12},"end":{"line":20,"column":13}},"loc":{"start":{"line":20,"column":18},"end":{"line":23,"column":3}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":8},"end":{"line":14,"column":100}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":55}},{"start":{"line":14,"column":11},"end":{"line":14,"column":100}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useConfirm.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useConfirm.tsx","statementMap":{"0":{"start":{"line":14,"column":70},"end":{"line":14,"column":78}},"1":{"start":{"line":17,"column":23},"end":{"line":17,"column":56}},"2":{"start":{"line":18,"column":19},"end":{"line":18,"column":42}},"3":{"start":{"line":20,"column":18},"end":{"line":46,"column":24}},"4":{"start":{"line":30,"column":8},"end":{"line":30,"column":12}},"5":{"start":{"line":32,"column":4},"end":{"line":41,"column":7}},"6":{"start":{"line":43,"column":4},"end":{"line":45,"column":7}},"7":{"start":{"line":44,"column":6},"end":{"line":44,"column":28}},"8":{"start":{"line":48,"column":23},"end":{"line":50,"column":24}},"9":{"start":{"line":49,"column":4},"end":{"line":49,"column":38}},"10":{"start":{"line":52,"column":19},"end":{"line":55,"column":20}},"11":{"start":{"line":53,"column":4},"end":{"line":53,"column":27}},"12":{"start":{"line":54,"column":4},"end":{"line":54,"column":19}},"13":{"start":{"line":57,"column":20},"end":{"line":60,"column":20}},"14":{"start":{"line":58,"column":4},"end":{"line":58,"column":44}},"15":{"start":{"line":59,"column":4},"end":{"line":59,"column":19}},"16":{"start":{"line":62,"column":2},"end":{"line":64,"column":52}},"17":{"start":{"line":62,"column":24},"end":{"line":64,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":70},"end":{"line":14,"column":71}},"loc":{"start":{"line":14,"column":76},"end":{"line":14,"column":78}},"line":14},"1":{"name":"useConfirm","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":19}},"loc":{"start":{"line":16,"column":31},"end":{"line":65,"column":1}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":30},"end":{"line":20,"column":31}},"loc":{"start":{"line":20,"column":54},"end":{"line":46,"column":3}},"line":20},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":50},"end":{"line":43,"column":51}},"loc":{"start":{"line":43,"column":59},"end":{"line":45,"column":5}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":35},"end":{"line":48,"column":36}},"loc":{"start":{"line":48,"column":41},"end":{"line":50,"column":3}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":52,"column":31},"end":{"line":52,"column":32}},"loc":{"start":{"line":52,"column":37},"end":{"line":55,"column":3}},"line":52},"6":{"name":"(anonymous_6)","decl":{"start":{"line":57,"column":32},"end":{"line":57,"column":33}},"loc":{"start":{"line":57,"column":45},"end":{"line":60,"column":3}},"line":57},"7":{"name":"(anonymous_7)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":24},"end":{"line":64,"column":3}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":22}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":16}},{"start":{"line":37,"column":20},"end":{"line":37,"column":22}}],"line":37},"1":{"loc":{"start":{"line":38,"column":15},"end":{"line":38,"column":28}},"type":"binary-expr","locations":[{"start":{"line":38,"column":15},"end":{"line":38,"column":22}},{"start":{"line":38,"column":26},"end":{"line":38,"column":28}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx","statementMap":{"0":{"start":{"line":8,"column":42},"end":{"line":8,"column":57}},"1":{"start":{"line":9,"column":40},"end":{"line":9,"column":78}},"2":{"start":{"line":10,"column":36},"end":{"line":10,"column":51}},"3":{"start":{"line":12,"column":21},"end":{"line":28,"column":8}},"4":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"5":{"start":{"line":14,"column":4},"end":{"line":27,"column":5}},"6":{"start":{"line":16,"column":23},"end":{"line":18,"column":8}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":43}},"8":{"start":{"line":21,"column":6},"end":{"line":21,"column":28}},"9":{"start":{"line":23,"column":6},"end":{"line":23,"column":67}},"10":{"start":{"line":24,"column":6},"end":{"line":24,"column":25}},"11":{"start":{"line":26,"column":6},"end":{"line":26,"column":26}},"12":{"start":{"line":30,"column":22},"end":{"line":33,"column":8}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"14":{"start":{"line":32,"column":4},"end":{"line":32,"column":23}},"15":{"start":{"line":35,"column":26},"end":{"line":56,"column":19}},"16":{"start":{"line":41,"column":4},"end":{"line":55,"column":5}},"17":{"start":{"line":42,"column":6},"end":{"line":51,"column":9}},"18":{"start":{"line":52,"column":6},"end":{"line":52,"column":20}},"19":{"start":{"line":54,"column":6},"end":{"line":54,"column":57}},"20":{"start":{"line":58,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"useImportVariables","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":34}},"loc":{"start":{"line":7,"column":37},"end":{"line":66,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":33},"end":{"line":12,"column":34}},"loc":{"start":{"line":12,"column":45},"end":{"line":28,"column":3}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":34},"end":{"line":30,"column":35}},"loc":{"start":{"line":30,"column":40},"end":{"line":33,"column":3}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":38},"end":{"line":35,"column":39}},"loc":{"start":{"line":40,"column":7},"end":{"line":56,"column":3}},"line":40}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsGitMultiFileEnabled.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsGitMultiFileEnabled.ts","statementMap":{"0":{"start":{"line":7,"column":14},"end":{"line":7,"column":38}},"1":{"start":{"line":9,"column":2},"end":{"line":16,"column":4}},"2":{"start":{"line":10,"column":10},"end":{"line":14,"column":47}}},"fnMap":{"0":{"name":"useIsGitMultiFileEnabled","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":40}},"loc":{"start":{"line":6,"column":43},"end":{"line":17,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":10},"end":{"line":14,"column":47}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":18},"end":{"line":14,"column":46}},"type":"binary-expr","locations":[{"start":{"line":10,"column":19},"end":{"line":10,"column":63}},{"start":{"line":11,"column":15},"end":{"line":11,"column":59}},{"start":{"line":12,"column":15},"end":{"line":12,"column":56}},{"start":{"line":13,"column":15},"end":{"line":13,"column":62}},{"start":{"line":14,"column":13},"end":{"line":14,"column":46}}],"line":10}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsProUser.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useIsProUser.ts","statementMap":{"0":{"start":{"line":8,"column":22},"end":{"line":8,"column":53}},"1":{"start":{"line":9,"column":26},"end":{"line":9,"column":62}},"2":{"start":{"line":10,"column":19},"end":{"line":10,"column":55}},"3":{"start":{"line":12,"column":2},"end":{"line":14,"column":47}},"4":{"start":{"line":13,"column":4},"end":{"line":13,"column":65}}},"fnMap":{"0":{"name":"useIsProUser","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":31},"end":{"line":15,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":17},"end":{"line":12,"column":18}},"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":65}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":65}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":44}},{"start":{"line":13,"column":48},"end":{"line":13,"column":65}}],"line":13},"1":{"loc":{"start":{"line":13,"column":12},"end":{"line":13,"column":43}},"type":"binary-expr","locations":[{"start":{"line":13,"column":12},"end":{"line":13,"column":23}},{"start":{"line":13,"column":27},"end":{"line":13,"column":43}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePropertiesForType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePropertiesForType.ts","statementMap":{"0":{"start":{"line":8,"column":26},"end":{"line":52,"column":1}},"1":{"start":{"line":9,"column":23},"end":{"line":9,"column":79}},"2":{"start":{"line":10,"column":19},"end":{"line":10,"column":39}},"3":{"start":{"line":11,"column":21},"end":{"line":48,"column":3}},"4":{"start":{"line":50,"column":2},"end":{"line":50,"column":105}},"5":{"start":{"line":51,"column":2},"end":{"line":51,"column":20}},"6":{"start":{"line":54,"column":25},"end":{"line":64,"column":52}},"7":{"start":{"line":67,"column":17},"end":{"line":67,"column":22}},"8":{"start":{"line":68,"column":2},"end":{"line":70,"column":3}},"9":{"start":{"line":69,"column":4},"end":{"line":69,"column":43}},"10":{"start":{"line":71,"column":2},"end":{"line":244,"column":30}},"11":{"start":{"line":72,"column":41},"end":{"line":72,"column":43}},"12":{"start":{"line":73,"column":4},"end":{"line":242,"column":5}},"13":{"start":{"line":75,"column":8},"end":{"line":90,"column":10}},"14":{"start":{"line":91,"column":8},"end":{"line":91,"column":14}},"15":{"start":{"line":93,"column":8},"end":{"line":108,"column":10}},"16":{"start":{"line":109,"column":8},"end":{"line":109,"column":14}},"17":{"start":{"line":111,"column":8},"end":{"line":126,"column":10}},"18":{"start":{"line":127,"column":8},"end":{"line":127,"column":14}},"19":{"start":{"line":129,"column":8},"end":{"line":129,"column":53}},"20":{"start":{"line":130,"column":8},"end":{"line":130,"column":14}},"21":{"start":{"line":132,"column":8},"end":{"line":132,"column":45}},"22":{"start":{"line":133,"column":8},"end":{"line":133,"column":14}},"23":{"start":{"line":135,"column":8},"end":{"line":144,"column":10}},"24":{"start":{"line":145,"column":8},"end":{"line":145,"column":14}},"25":{"start":{"line":148,"column":8},"end":{"line":158,"column":9}},"26":{"start":{"line":149,"column":10},"end":{"line":152,"column":13}},"27":{"start":{"line":154,"column":10},"end":{"line":157,"column":13}},"28":{"start":{"line":159,"column":8},"end":{"line":220,"column":10}},"29":{"start":{"line":222,"column":8},"end":{"line":227,"column":9}},"30":{"start":{"line":223,"column":10},"end":{"line":226,"column":13}},"31":{"start":{"line":228,"column":8},"end":{"line":228,"column":14}},"32":{"start":{"line":230,"column":8},"end":{"line":232,"column":10}},"33":{"start":{"line":233,"column":8},"end":{"line":233,"column":14}},"34":{"start":{"line":235,"column":8},"end":{"line":240,"column":9}},"35":{"start":{"line":236,"column":10},"end":{"line":239,"column":13}},"36":{"start":{"line":241,"column":8},"end":{"line":241,"column":14}},"37":{"start":{"line":243,"column":4},"end":{"line":243,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":26},"end":{"line":8,"column":27}},"loc":{"start":{"line":8,"column":60},"end":{"line":52,"column":1}},"line":8},"1":{"name":"usePropertiesForTokenType","decl":{"start":{"line":66,"column":16},"end":{"line":66,"column":41}},"loc":{"start":{"line":66,"column":108},"end":{"line":245,"column":1}},"line":66},"2":{"name":"(anonymous_2)","decl":{"start":{"line":71,"column":17},"end":{"line":71,"column":18}},"loc":{"start":{"line":71,"column":23},"end":{"line":244,"column":3}},"line":71}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":23},"end":{"line":9,"column":79}},"type":"binary-expr","locations":[{"start":{"line":9,"column":23},"end":{"line":9,"column":48}},{"start":{"line":9,"column":52},"end":{"line":9,"column":79}}],"line":9},"1":{"loc":{"start":{"line":10,"column":19},"end":{"line":10,"column":39}},"type":"cond-expr","locations":[{"start":{"line":10,"column":34},"end":{"line":10,"column":35}},{"start":{"line":10,"column":38},"end":{"line":10,"column":39}}],"line":10},"2":{"loc":{"start":{"line":68,"column":2},"end":{"line":70,"column":3}},"type":"if","locations":[{"start":{"line":68,"column":2},"end":{"line":70,"column":3}},{"start":{},"end":{}}],"line":68},"3":{"loc":{"start":{"line":68,"column":6},"end":{"line":68,"column":101}},"type":"binary-expr","locations":[{"start":{"line":68,"column":7},"end":{"line":68,"column":40}},{"start":{"line":68,"column":44},"end":{"line":68,"column":71}},{"start":{"line":68,"column":76},"end":{"line":68,"column":101}}],"line":68},"4":{"loc":{"start":{"line":73,"column":4},"end":{"line":242,"column":5}},"type":"switch","locations":[{"start":{"line":74,"column":6},"end":{"line":91,"column":14}},{"start":{"line":92,"column":6},"end":{"line":109,"column":14}},{"start":{"line":110,"column":6},"end":{"line":127,"column":14}},{"start":{"line":128,"column":6},"end":{"line":130,"column":14}},{"start":{"line":131,"column":6},"end":{"line":133,"column":14}},{"start":{"line":134,"column":6},"end":{"line":145,"column":14}},{"start":{"line":146,"column":6},"end":{"line":146,"column":32}},{"start":{"line":147,"column":6},"end":{"line":228,"column":14}},{"start":{"line":229,"column":6},"end":{"line":233,"column":14}},{"start":{"line":234,"column":6},"end":{"line":241,"column":14}}],"line":73},"5":{"loc":{"start":{"line":148,"column":8},"end":{"line":158,"column":9}},"type":"if","locations":[{"start":{"line":148,"column":8},"end":{"line":158,"column":9}},{"start":{"line":153,"column":15},"end":{"line":158,"column":9}}],"line":148},"6":{"loc":{"start":{"line":222,"column":8},"end":{"line":227,"column":9}},"type":"if","locations":[{"start":{"line":222,"column":8},"end":{"line":227,"column":9}},{"start":{},"end":{}}],"line":222},"7":{"loc":{"start":{"line":235,"column":8},"end":{"line":240,"column":9}},"type":"if","locations":[{"start":{"line":235,"column":8},"end":{"line":240,"column":9}},{"start":{},"end":{}}],"line":235}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0,0,0,0,0,0,0,0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePullDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePullDialog.tsx","statementMap":{"0":{"start":{"line":16,"column":72},"end":{"line":16,"column":80}},"1":{"start":{"line":18,"column":25},"end":{"line":18,"column":60}},"2":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"3":{"start":{"line":21,"column":60},"end":{"line":30,"column":16}},"4":{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":53}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":52}},"7":{"start":{"line":27,"column":4},"end":{"line":29,"column":7}},"8":{"start":{"line":28,"column":6},"end":{"line":28,"column":28}},"9":{"start":{"line":32,"column":26},"end":{"line":34,"column":16}},"10":{"start":{"line":33,"column":4},"end":{"line":33,"column":46}},"11":{"start":{"line":36,"column":19},"end":{"line":39,"column":23}},"12":{"start":{"line":37,"column":4},"end":{"line":37,"column":22}},"13":{"start":{"line":38,"column":4},"end":{"line":38,"column":27}},"14":{"start":{"line":41,"column":20},"end":{"line":44,"column":23}},"15":{"start":{"line":42,"column":4},"end":{"line":42,"column":22}},"16":{"start":{"line":43,"column":4},"end":{"line":43,"column":26}},"17":{"start":{"line":46,"column":2},"end":{"line":48,"column":78}},"18":{"start":{"line":46,"column":24},"end":{"line":48,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":72},"end":{"line":16,"column":73}},"loc":{"start":{"line":16,"column":78},"end":{"line":16,"column":80}},"line":16},"1":{"name":"usePullDialog","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":22}},"loc":{"start":{"line":17,"column":42},"end":{"line":49,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":72},"end":{"line":21,"column":73}},"loc":{"start":{"line":21,"column":88},"end":{"line":30,"column":3}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":55},"end":{"line":27,"column":56}},"loc":{"start":{"line":27,"column":64},"end":{"line":29,"column":5}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":38},"end":{"line":32,"column":39}},"loc":{"start":{"line":32,"column":44},"end":{"line":34,"column":3}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":31},"end":{"line":36,"column":32}},"loc":{"start":{"line":36,"column":37},"end":{"line":39,"column":3}},"line":36},"6":{"name":"(anonymous_6)","decl":{"start":{"line":41,"column":32},"end":{"line":41,"column":33}},"loc":{"start":{"line":41,"column":38},"end":{"line":44,"column":3}},"line":41},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":17},"end":{"line":46,"column":18}},"loc":{"start":{"line":46,"column":24},"end":{"line":48,"column":3}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},{"start":{"line":24,"column":11},"end":{"line":26,"column":5}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePushDialog.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/usePushDialog.tsx","statementMap":{"0":{"start":{"line":22,"column":72},"end":{"line":22,"column":80}},"1":{"start":{"line":24,"column":25},"end":{"line":24,"column":60}},"2":{"start":{"line":25,"column":19},"end":{"line":25,"column":42}},"3":{"start":{"line":27,"column":52},"end":{"line":36,"column":16}},"4":{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},"5":{"start":{"line":29,"column":6},"end":{"line":29,"column":63}},"6":{"start":{"line":31,"column":6},"end":{"line":31,"column":74}},"7":{"start":{"line":33,"column":4},"end":{"line":35,"column":7}},"8":{"start":{"line":34,"column":6},"end":{"line":34,"column":28}},"9":{"start":{"line":38,"column":26},"end":{"line":40,"column":16}},"10":{"start":{"line":39,"column":4},"end":{"line":39,"column":57}},"11":{"start":{"line":42,"column":19},"end":{"line":45,"column":23}},"12":{"start":{"line":43,"column":4},"end":{"line":43,"column":22}},"13":{"start":{"line":44,"column":4},"end":{"line":44,"column":26}},"14":{"start":{"line":47,"column":20},"end":{"line":50,"column":16}},"15":{"start":{"line":48,"column":4},"end":{"line":48,"column":61}},"16":{"start":{"line":49,"column":4},"end":{"line":49,"column":53}},"17":{"start":{"line":52,"column":2},"end":{"line":54,"column":74}},"18":{"start":{"line":52,"column":24},"end":{"line":54,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":72},"end":{"line":22,"column":73}},"loc":{"start":{"line":22,"column":78},"end":{"line":22,"column":80}},"line":22},"1":{"name":"usePushDialog","decl":{"start":{"line":23,"column":9},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":42},"end":{"line":55,"column":1}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":64},"end":{"line":27,"column":65}},"loc":{"start":{"line":27,"column":90},"end":{"line":36,"column":3}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":55},"end":{"line":33,"column":56}},"loc":{"start":{"line":33,"column":64},"end":{"line":35,"column":5}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":38},"end":{"line":38,"column":39}},"loc":{"start":{"line":38,"column":44},"end":{"line":40,"column":3}},"line":38},"5":{"name":"(anonymous_5)","decl":{"start":{"line":42,"column":31},"end":{"line":42,"column":32}},"loc":{"start":{"line":42,"column":37},"end":{"line":45,"column":3}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":47,"column":32},"end":{"line":47,"column":33}},"loc":{"start":{"line":47,"column":81},"end":{"line":50,"column":3}},"line":47},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":17},"end":{"line":52,"column":18}},"loc":{"start":{"line":52,"column":24},"end":{"line":54,"column":3}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},{"start":{"line":30,"column":11},"end":{"line":32,"column":5}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useReferenceTokenType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useReferenceTokenType.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":28,"column":13}},"1":{"start":{"line":6,"column":4},"end":{"line":27,"column":5}},"2":{"start":{"line":8,"column":8},"end":{"line":8,"column":76}},"3":{"start":{"line":10,"column":8},"end":{"line":10,"column":77}},"4":{"start":{"line":12,"column":8},"end":{"line":12,"column":83}},"5":{"start":{"line":14,"column":8},"end":{"line":14,"column":82}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":82}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":80}},"8":{"start":{"line":20,"column":8},"end":{"line":20,"column":87}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":86}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":84}},"11":{"start":{"line":26,"column":8},"end":{"line":26,"column":22}}},"fnMap":{"0":{"name":"useReferenceTokenType","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":70},"end":{"line":29,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":18}},"loc":{"start":{"line":5,"column":23},"end":{"line":28,"column":3}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":27,"column":5}},"type":"switch","locations":[{"start":{"line":7,"column":6},"end":{"line":8,"column":76}},{"start":{"line":9,"column":6},"end":{"line":10,"column":77}},{"start":{"line":11,"column":6},"end":{"line":12,"column":83}},{"start":{"line":13,"column":6},"end":{"line":14,"column":82}},{"start":{"line":15,"column":6},"end":{"line":16,"column":82}},{"start":{"line":17,"column":6},"end":{"line":18,"column":80}},{"start":{"line":19,"column":6},"end":{"line":20,"column":87}},{"start":{"line":21,"column":6},"end":{"line":22,"column":86}},{"start":{"line":23,"column":6},"end":{"line":24,"column":84}},{"start":{"line":25,"column":6},"end":{"line":26,"column":22}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useStorageSizeWarning.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useStorageSizeWarning.tsx","statementMap":{"0":{"start":{"line":9,"column":22},"end":{"line":9,"column":34}},"1":{"start":{"line":10,"column":16},"end":{"line":10,"column":42}},"2":{"start":{"line":11,"column":19},"end":{"line":11,"column":42}},"3":{"start":{"line":13,"column":2},"end":{"line":35,"column":29}},"4":{"start":{"line":15,"column":6},"end":{"line":24,"column":8}},"5":{"start":{"line":27,"column":22},"end":{"line":31,"column":6}},"6":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"7":{"start":{"line":33,"column":6},"end":{"line":33,"column":51}}},"fnMap":{"0":{"name":"useStorageSizeWarning","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":37}},"loc":{"start":{"line":8,"column":40},"end":{"line":36,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":21},"end":{"line":13,"column":22}},"loc":{"start":{"line":13,"column":33},"end":{"line":35,"column":3}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useTypeForProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/hooks/useTypeForProperty.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":35,"column":17}},"1":{"start":{"line":7,"column":4},"end":{"line":34,"column":5}},"2":{"start":{"line":10,"column":8},"end":{"line":10,"column":33}},"3":{"start":{"line":18,"column":8},"end":{"line":18,"column":34}},"4":{"start":{"line":23,"column":8},"end":{"line":23,"column":40}},"5":{"start":{"line":26,"column":8},"end":{"line":26,"column":32}},"6":{"start":{"line":31,"column":8},"end":{"line":31,"column":39}},"7":{"start":{"line":33,"column":8},"end":{"line":33,"column":24}}},"fnMap":{"0":{"name":"useTypeForProperty","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":61},"end":{"line":36,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"loc":{"start":{"line":6,"column":23},"end":{"line":35,"column":3}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":34,"column":5}},"type":"switch","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":28}},{"start":{"line":9,"column":6},"end":{"line":10,"column":33}},{"start":{"line":11,"column":6},"end":{"line":11,"column":34}},{"start":{"line":12,"column":6},"end":{"line":12,"column":38}},{"start":{"line":13,"column":6},"end":{"line":13,"column":40}},{"start":{"line":14,"column":6},"end":{"line":14,"column":33}},{"start":{"line":15,"column":6},"end":{"line":15,"column":34}},{"start":{"line":16,"column":6},"end":{"line":16,"column":36}},{"start":{"line":17,"column":6},"end":{"line":18,"column":34}},{"start":{"line":19,"column":6},"end":{"line":19,"column":42}},{"start":{"line":20,"column":6},"end":{"line":20,"column":43}},{"start":{"line":21,"column":6},"end":{"line":21,"column":45}},{"start":{"line":22,"column":6},"end":{"line":23,"column":40}},{"start":{"line":24,"column":6},"end":{"line":24,"column":34}},{"start":{"line":25,"column":6},"end":{"line":26,"column":32}},{"start":{"line":27,"column":6},"end":{"line":27,"column":37}},{"start":{"line":28,"column":6},"end":{"line":28,"column":38}},{"start":{"line":29,"column":6},"end":{"line":29,"column":39}},{"start":{"line":30,"column":6},"end":{"line":31,"column":39}},{"start":{"line":32,"column":6},"end":{"line":33,"column":24}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/preview.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/preview.tsx","statementMap":{"0":{"start":{"line":35,"column":20},"end":{"line":35,"column":43}},"1":{"start":{"line":37,"column":17},"end":{"line":41,"column":1}},"2":{"start":{"line":44,"column":36},"end":{"line":55,"column":1}},"3":{"start":{"line":58,"column":62},"end":{"line":88,"column":1}},"4":{"start":{"line":90,"column":20},"end":{"line":94,"column":1}},"5":{"start":{"line":96,"column":28},"end":{"line":104,"column":1}},"6":{"start":{"line":97,"column":20},"end":{"line":100,"column":4}},"7":{"start":{"line":102,"column":14},"end":{"line":102,"column":40}},"8":{"start":{"line":103,"column":2},"end":{"line":103,"column":45}},"9":{"start":{"line":106,"column":24},"end":{"line":186,"column":1}},"10":{"start":{"line":107,"column":28},"end":{"line":110,"column":29}},"11":{"start":{"line":111,"column":28},"end":{"line":111,"column":40}},"12":{"start":{"line":112,"column":31},"end":{"line":122,"column":23}},"13":{"start":{"line":113,"column":4},"end":{"line":121,"column":5}},"14":{"start":{"line":114,"column":6},"end":{"line":114,"column":22}},"15":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"16":{"start":{"line":116,"column":8},"end":{"line":116,"column":21}},"17":{"start":{"line":118,"column":6},"end":{"line":118,"column":20}},"18":{"start":{"line":120,"column":6},"end":{"line":120,"column":33}},"19":{"start":{"line":123,"column":26},"end":{"line":123,"column":41}},"20":{"start":{"line":125,"column":18},"end":{"line":125,"column":22}},"21":{"start":{"line":127,"column":32},"end":{"line":133,"column":26}},"22":{"start":{"line":128,"column":4},"end":{"line":128,"column":23}},"23":{"start":{"line":129,"column":20},"end":{"line":129,"column":37}},"24":{"start":{"line":130,"column":4},"end":{"line":130,"column":33}},"25":{"start":{"line":132,"column":4},"end":{"line":132,"column":18}},"26":{"start":{"line":135,"column":2},"end":{"line":185,"column":4}},"27":{"start":{"line":188,"column":32},"end":{"line":199,"column":1}},"28":{"start":{"line":189,"column":2},"end":{"line":198,"column":10}},"29":{"start":{"line":201,"column":28},"end":{"line":279,"column":1}},"30":{"start":{"line":204,"column":2},"end":{"line":208,"column":9}},"31":{"start":{"line":205,"column":4},"end":{"line":207,"column":7}},"32":{"start":{"line":209,"column":27},"end":{"line":211,"column":30}},"33":{"start":{"line":210,"column":4},"end":{"line":210,"column":44}},"34":{"start":{"line":212,"column":26},"end":{"line":212,"column":41}},"35":{"start":{"line":214,"column":2},"end":{"line":278,"column":4}},"36":{"start":{"line":281,"column":15},"end":{"line":285,"column":1}},"37":{"start":{"line":288,"column":22},"end":{"line":288,"column":108}},"38":{"start":{"line":289,"column":58},"end":{"line":289,"column":70}},"39":{"start":{"line":290,"column":19},"end":{"line":290,"column":42}},"40":{"start":{"line":291,"column":19},"end":{"line":291,"column":53}},"41":{"start":{"line":292,"column":18},"end":{"line":292,"column":46}},"42":{"start":{"line":297,"column":6},"end":{"line":297,"column":23}},"43":{"start":{"line":299,"column":2},"end":{"line":313,"column":9}},"44":{"start":{"line":300,"column":4},"end":{"line":306,"column":5}},"45":{"start":{"line":301,"column":6},"end":{"line":305,"column":7}},"46":{"start":{"line":302,"column":8},"end":{"line":302,"column":60}},"47":{"start":{"line":303,"column":13},"end":{"line":305,"column":7}},"48":{"start":{"line":304,"column":8},"end":{"line":304,"column":49}},"49":{"start":{"line":307,"column":4},"end":{"line":309,"column":5}},"50":{"start":{"line":308,"column":6},"end":{"line":308,"column":46}},"51":{"start":{"line":310,"column":4},"end":{"line":312,"column":5}},"52":{"start":{"line":311,"column":6},"end":{"line":311,"column":47}},"53":{"start":{"line":315,"column":2},"end":{"line":321,"column":43}},"54":{"start":{"line":316,"column":4},"end":{"line":320,"column":5}},"55":{"start":{"line":317,"column":6},"end":{"line":319,"column":9}},"56":{"start":{"line":323,"column":26},"end":{"line":325,"column":18}},"57":{"start":{"line":323,"column":48},"end":{"line":325,"column":3}},"58":{"start":{"line":324,"column":4},"end":{"line":324,"column":43}},"59":{"start":{"line":326,"column":27},"end":{"line":341,"column":3}},"60":{"start":{"line":327,"column":22},"end":{"line":339,"column":5}},"61":{"start":{"line":328,"column":6},"end":{"line":338,"column":7}},"62":{"start":{"line":329,"column":8},"end":{"line":329,"column":38}},"63":{"start":{"line":331,"column":24},"end":{"line":331,"column":95}},"64":{"start":{"line":332,"column":8},"end":{"line":337,"column":9}},"65":{"start":{"line":333,"column":10},"end":{"line":333,"column":39}},"66":{"start":{"line":334,"column":10},"end":{"line":336,"column":13}},"67":{"start":{"line":343,"column":33},"end":{"line":345,"column":8}},"68":{"start":{"line":344,"column":4},"end":{"line":344,"column":32}},"69":{"start":{"line":351,"column":4},"end":{"line":438,"column":12}},"70":{"start":{"line":383,"column":14},"end":{"line":389,"column":34}},"71":{"start":{"line":408,"column":14},"end":{"line":414,"column":34}},"72":{"start":{"line":441,"column":2},"end":{"line":499,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":96,"column":28},"end":{"line":96,"column":29}},"loc":{"start":{"line":96,"column":41},"end":{"line":104,"column":1}},"line":96},"1":{"name":"(anonymous_1)","decl":{"start":{"line":106,"column":24},"end":{"line":106,"column":25}},"loc":{"start":{"line":106,"column":95},"end":{"line":186,"column":1}},"line":106},"2":{"name":"(anonymous_2)","decl":{"start":{"line":112,"column":43},"end":{"line":112,"column":44}},"loc":{"start":{"line":112,"column":52},"end":{"line":122,"column":3}},"line":112},"3":{"name":"(anonymous_3)","decl":{"start":{"line":127,"column":44},"end":{"line":127,"column":45}},"loc":{"start":{"line":127,"column":79},"end":{"line":133,"column":3}},"line":127},"4":{"name":"(anonymous_4)","decl":{"start":{"line":188,"column":32},"end":{"line":188,"column":33}},"loc":{"start":{"line":189,"column":2},"end":{"line":198,"column":10}},"line":189},"5":{"name":"(anonymous_5)","decl":{"start":{"line":201,"column":28},"end":{"line":201,"column":29}},"loc":{"start":{"line":203,"column":143},"end":{"line":279,"column":1}},"line":203},"6":{"name":"(anonymous_6)","decl":{"start":{"line":204,"column":12},"end":{"line":204,"column":13}},"loc":{"start":{"line":204,"column":18},"end":{"line":208,"column":3}},"line":204},"7":{"name":"(anonymous_7)","decl":{"start":{"line":209,"column":39},"end":{"line":209,"column":40}},"loc":{"start":{"line":209,"column":45},"end":{"line":211,"column":3}},"line":209},"8":{"name":"PreviewApp","decl":{"start":{"line":287,"column":9},"end":{"line":287,"column":19}},"loc":{"start":{"line":287,"column":59},"end":{"line":500,"column":1}},"line":287},"9":{"name":"(anonymous_9)","decl":{"start":{"line":299,"column":12},"end":{"line":299,"column":13}},"loc":{"start":{"line":299,"column":18},"end":{"line":313,"column":3}},"line":299},"10":{"name":"(anonymous_10)","decl":{"start":{"line":315,"column":12},"end":{"line":315,"column":13}},"loc":{"start":{"line":315,"column":18},"end":{"line":321,"column":3}},"line":315},"11":{"name":"(anonymous_11)","decl":{"start":{"line":323,"column":38},"end":{"line":323,"column":39}},"loc":{"start":{"line":323,"column":48},"end":{"line":325,"column":3}},"line":323},"12":{"name":"(anonymous_12)","decl":{"start":{"line":323,"column":48},"end":{"line":323,"column":49}},"loc":{"start":{"line":323,"column":54},"end":{"line":325,"column":3}},"line":323},"13":{"name":"(anonymous_13)","decl":{"start":{"line":327,"column":4},"end":{"line":327,"column":5}},"loc":{"start":{"line":327,"column":22},"end":{"line":339,"column":5}},"line":327},"14":{"name":"(anonymous_14)","decl":{"start":{"line":327,"column":22},"end":{"line":327,"column":23}},"loc":{"start":{"line":327,"column":28},"end":{"line":339,"column":5}},"line":327},"15":{"name":"(anonymous_15)","decl":{"start":{"line":343,"column":45},"end":{"line":343,"column":46}},"loc":{"start":{"line":343,"column":51},"end":{"line":345,"column":3}},"line":343},"16":{"name":"(anonymous_16)","decl":{"start":{"line":382,"column":36},"end":{"line":382,"column":37}},"loc":{"start":{"line":383,"column":14},"end":{"line":389,"column":34}},"line":383},"17":{"name":"(anonymous_17)","decl":{"start":{"line":407,"column":58},"end":{"line":407,"column":59}},"loc":{"start":{"line":408,"column":14},"end":{"line":414,"column":34}},"line":408}},"branchMap":{"0":{"loc":{"start":{"line":107,"column":37},"end":{"line":110,"column":28}},"type":"binary-expr","locations":[{"start":{"line":107,"column":37},"end":{"line":110,"column":22}},{"start":{"line":110,"column":26},"end":{"line":110,"column":28}}],"line":107},"1":{"loc":{"start":{"line":110,"column":4},"end":{"line":110,"column":21}},"type":"binary-expr","locations":[{"start":{"line":110,"column":4},"end":{"line":110,"column":8}},{"start":{"line":110,"column":12},"end":{"line":110,"column":21}}],"line":110},"2":{"loc":{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},"type":"if","locations":[{"start":{"line":115,"column":6},"end":{"line":117,"column":7}},{"start":{},"end":{}}],"line":115},"3":{"loc":{"start":{"line":159,"column":19},"end":{"line":159,"column":55}},"type":"cond-expr","locations":[{"start":{"line":159,"column":33},"end":{"line":159,"column":42}},{"start":{"line":159,"column":45},"end":{"line":159,"column":55}}],"line":159},"4":{"loc":{"start":{"line":173,"column":32},"end":{"line":173,"column":45}},"type":"cond-expr","locations":[{"start":{"line":173,"column":40},"end":{"line":173,"column":41}},{"start":{"line":173,"column":44},"end":{"line":173,"column":45}}],"line":173},"5":{"loc":{"start":{"line":173,"column":70},"end":{"line":173,"column":82}},"type":"binary-expr","locations":[{"start":{"line":173,"column":70},"end":{"line":173,"column":75}},{"start":{"line":173,"column":79},"end":{"line":173,"column":82}}],"line":173},"6":{"loc":{"start":{"line":179,"column":28},"end":{"line":179,"column":47}},"type":"binary-expr","locations":[{"start":{"line":179,"column":28},"end":{"line":179,"column":36}},{"start":{"line":179,"column":40},"end":{"line":179,"column":47}}],"line":179},"7":{"loc":{"start":{"line":202,"column":2},"end":{"line":202,"column":14}},"type":"default-arg","locations":[{"start":{"line":202,"column":11},"end":{"line":202,"column":14}}],"line":202},"8":{"loc":{"start":{"line":202,"column":16},"end":{"line":202,"column":30}},"type":"default-arg","locations":[{"start":{"line":202,"column":24},"end":{"line":202,"column":30}}],"line":202},"9":{"loc":{"start":{"line":202,"column":42},"end":{"line":202,"column":50}},"type":"default-arg","locations":[{"start":{"line":202,"column":48},"end":{"line":202,"column":50}}],"line":202},"10":{"loc":{"start":{"line":239,"column":11},"end":{"line":267,"column":11}},"type":"cond-expr","locations":[{"start":{"line":240,"column":12},"end":{"line":252,"column":14}},{"start":{"line":254,"column":12},"end":{"line":266,"column":14}}],"line":239},"11":{"loc":{"start":{"line":245,"column":25},"end":{"line":245,"column":56}},"type":"cond-expr","locations":[{"start":{"line":245,"column":39},"end":{"line":245,"column":46}},{"start":{"line":245,"column":49},"end":{"line":245,"column":56}}],"line":245},"12":{"loc":{"start":{"line":259,"column":25},"end":{"line":259,"column":56}},"type":"cond-expr","locations":[{"start":{"line":259,"column":39},"end":{"line":259,"column":46}},{"start":{"line":259,"column":49},"end":{"line":259,"column":56}}],"line":259},"13":{"loc":{"start":{"line":300,"column":4},"end":{"line":306,"column":5}},"type":"if","locations":[{"start":{"line":300,"column":4},"end":{"line":306,"column":5}},{"start":{},"end":{}}],"line":300},"14":{"loc":{"start":{"line":301,"column":6},"end":{"line":305,"column":7}},"type":"if","locations":[{"start":{"line":301,"column":6},"end":{"line":305,"column":7}},{"start":{"line":303,"column":13},"end":{"line":305,"column":7}}],"line":301},"15":{"loc":{"start":{"line":303,"column":13},"end":{"line":305,"column":7}},"type":"if","locations":[{"start":{"line":303,"column":13},"end":{"line":305,"column":7}},{"start":{},"end":{}}],"line":303},"16":{"loc":{"start":{"line":307,"column":4},"end":{"line":309,"column":5}},"type":"if","locations":[{"start":{"line":307,"column":4},"end":{"line":309,"column":5}},{"start":{},"end":{}}],"line":307},"17":{"loc":{"start":{"line":310,"column":4},"end":{"line":312,"column":5}},"type":"if","locations":[{"start":{"line":310,"column":4},"end":{"line":312,"column":5}},{"start":{},"end":{}}],"line":310},"18":{"loc":{"start":{"line":316,"column":4},"end":{"line":320,"column":5}},"type":"if","locations":[{"start":{"line":316,"column":4},"end":{"line":320,"column":5}},{"start":{},"end":{}}],"line":316},"19":{"loc":{"start":{"line":316,"column":8},"end":{"line":316,"column":54}},"type":"binary-expr","locations":[{"start":{"line":316,"column":8},"end":{"line":316,"column":25}},{"start":{"line":316,"column":29},"end":{"line":316,"column":54}}],"line":316},"20":{"loc":{"start":{"line":328,"column":6},"end":{"line":338,"column":7}},"type":"if","locations":[{"start":{"line":328,"column":6},"end":{"line":338,"column":7}},{"start":{"line":330,"column":13},"end":{"line":338,"column":7}}],"line":328},"21":{"loc":{"start":{"line":331,"column":24},"end":{"line":331,"column":95}},"type":"cond-expr","locations":[{"start":{"line":331,"column":50},"end":{"line":331,"column":67}},{"start":{"line":331,"column":70},"end":{"line":331,"column":95}}],"line":331},"22":{"loc":{"start":{"line":332,"column":8},"end":{"line":337,"column":9}},"type":"if","locations":[{"start":{"line":332,"column":8},"end":{"line":337,"column":9}},{"start":{},"end":{}}],"line":332},"23":{"loc":{"start":{"line":335,"column":20},"end":{"line":335,"column":70}},"type":"cond-expr","locations":[{"start":{"line":335,"column":46},"end":{"line":335,"column":50}},{"start":{"line":335,"column":53},"end":{"line":335,"column":70}}],"line":335},"24":{"loc":{"start":{"line":366,"column":7},"end":{"line":366,"column":123}},"type":"binary-expr","locations":[{"start":{"line":366,"column":7},"end":{"line":366,"column":27}},{"start":{"line":366,"column":31},"end":{"line":366,"column":123}}],"line":366},"25":{"loc":{"start":{"line":429,"column":31},"end":{"line":429,"column":71}},"type":"cond-expr","locations":[{"start":{"line":429,"column":45},"end":{"line":429,"column":57}},{"start":{"line":429,"column":60},"end":{"line":429,"column":71}}],"line":429},"26":{"loc":{"start":{"line":430,"column":27},"end":{"line":430,"column":67}},"type":"cond-expr","locations":[{"start":{"line":430,"column":41},"end":{"line":430,"column":53}},{"start":{"line":430,"column":56},"end":{"line":430,"column":67}}],"line":430},"27":{"loc":{"start":{"line":434,"column":47},"end":{"line":434,"column":87}},"type":"cond-expr","locations":[{"start":{"line":434,"column":61},"end":{"line":434,"column":73}},{"start":{"line":434,"column":76},"end":{"line":434,"column":87}}],"line":434},"28":{"loc":{"start":{"line":435,"column":11},"end":{"line":435,"column":53}},"type":"cond-expr","locations":[{"start":{"line":435,"column":25},"end":{"line":435,"column":36}},{"start":{"line":435,"column":39},"end":{"line":435,"column":53}}],"line":435},"29":{"loc":{"start":{"line":446,"column":7},"end":{"line":497,"column":7}},"type":"cond-expr","locations":[{"start":{"line":447,"column":8},"end":{"line":464,"column":11}},{"start":{"line":466,"column":8},"end":{"line":496,"column":11}}],"line":446},"30":{"loc":{"start":{"line":450,"column":20},"end":{"line":450,"column":67}},"type":"cond-expr","locations":[{"start":{"line":450,"column":33},"end":{"line":450,"column":39}},{"start":{"line":450,"column":42},"end":{"line":450,"column":67}}],"line":450},"31":{"loc":{"start":{"line":451,"column":19},"end":{"line":451,"column":65}},"type":"cond-expr","locations":[{"start":{"line":451,"column":32},"end":{"line":451,"column":38}},{"start":{"line":451,"column":41},"end":{"line":451,"column":65}}],"line":451},"32":{"loc":{"start":{"line":452,"column":17},"end":{"line":458,"column":25}},"type":"cond-expr","locations":[{"start":{"line":452,"column":30},"end":{"line":458,"column":13}},{"start":{"line":458,"column":16},"end":{"line":458,"column":25}}],"line":452}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0],"8":[0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/previewUtils.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/previewUtils.ts","statementMap":{"0":{"start":{"line":1,"column":32},"end":{"line":8,"column":1}},"1":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":20}},"4":{"start":{"line":7,"column":2},"end":{"line":7,"column":17}},"5":{"start":{"line":10,"column":36},"end":{"line":45,"column":1}},"6":{"start":{"line":11,"column":24},"end":{"line":11,"column":65}},"7":{"start":{"line":12,"column":17},"end":{"line":12,"column":53}},"8":{"start":{"line":14,"column":2},"end":{"line":41,"column":3}},"9":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"10":{"start":{"line":17,"column":8},"end":{"line":17,"column":43}},"11":{"start":{"line":20,"column":6},"end":{"line":20,"column":12}},"12":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"13":{"start":{"line":24,"column":8},"end":{"line":24,"column":40}},"14":{"start":{"line":27,"column":6},"end":{"line":27,"column":12}},"15":{"start":{"line":30,"column":26},"end":{"line":30,"column":51}},"16":{"start":{"line":31,"column":6},"end":{"line":35,"column":7}},"17":{"start":{"line":32,"column":8},"end":{"line":32,"column":40}},"18":{"start":{"line":33,"column":13},"end":{"line":35,"column":7}},"19":{"start":{"line":34,"column":8},"end":{"line":34,"column":43}},"20":{"start":{"line":36,"column":6},"end":{"line":36,"column":12}},"21":{"start":{"line":39,"column":6},"end":{"line":39,"column":12}},"22":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"23":{"start":{"line":43,"column":4},"end":{"line":43,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":32},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":38},"end":{"line":8,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":36},"end":{"line":10,"column":37}},"loc":{"start":{"line":10,"column":59},"end":{"line":45,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":2},"1":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},{"start":{},"end":{}}],"line":3},"2":{"loc":{"start":{"line":11,"column":24},"end":{"line":11,"column":65}},"type":"binary-expr","locations":[{"start":{"line":11,"column":24},"end":{"line":11,"column":59}},{"start":{"line":11,"column":63},"end":{"line":11,"column":65}}],"line":11},"3":{"loc":{"start":{"line":14,"column":2},"end":{"line":41,"column":3}},"type":"switch","locations":[{"start":{"line":15,"column":4},"end":{"line":21,"column":5}},{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},{"start":{"line":29,"column":4},"end":{"line":37,"column":5}},{"start":{"line":38,"column":4},"end":{"line":40,"column":5}}],"line":14},"4":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{},"end":{}}],"line":16},"5":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23},"6":{"loc":{"start":{"line":31,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":31,"column":6},"end":{"line":35,"column":7}},{"start":{"line":33,"column":13},"end":{"line":35,"column":7}}],"line":31},"7":{"loc":{"start":{"line":31,"column":10},"end":{"line":31,"column":43}},"type":"binary-expr","locations":[{"start":{"line":31,"column":10},"end":{"line":31,"column":32}},{"start":{"line":31,"column":36},"end":{"line":31,"column":43}}],"line":31},"8":{"loc":{"start":{"line":33,"column":13},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":13},"end":{"line":35,"column":7}},{"start":{},"end":{}}],"line":33},"9":{"loc":{"start":{"line":33,"column":17},"end":{"line":33,"column":50}},"type":"binary-expr","locations":[{"start":{"line":33,"column":17},"end":{"line":33,"column":40}},{"start":{"line":33,"column":44},"end":{"line":33,"column":50}}],"line":33},"10":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":42}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/usePreviewState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/preview/usePreviewState.tsx","statementMap":{"0":{"start":{"line":5,"column":29},"end":{"line":19,"column":1}},"1":{"start":{"line":6,"column":17},"end":{"line":6,"column":67}},"2":{"start":{"line":7,"column":14},"end":{"line":7,"column":37}},"3":{"start":{"line":8,"column":30},"end":{"line":8,"column":68}},"4":{"start":{"line":9,"column":16},"end":{"line":9,"column":47}},"5":{"start":{"line":10,"column":21},"end":{"line":10,"column":54}},"6":{"start":{"line":12,"column":2},"end":{"line":18,"column":4}},"7":{"start":{"line":30,"column":26},"end":{"line":30,"column":58}},"8":{"start":{"line":32,"column":2},"end":{"line":50,"column":13}},"9":{"start":{"line":33,"column":32},"end":{"line":45,"column":5}},"10":{"start":{"line":34,"column":25},"end":{"line":34,"column":40}},"11":{"start":{"line":35,"column":25},"end":{"line":40,"column":12}},"12":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"13":{"start":{"line":37,"column":10},"end":{"line":37,"column":35}},"14":{"start":{"line":39,"column":8},"end":{"line":39,"column":19}},"15":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"16":{"start":{"line":43,"column":8},"end":{"line":43,"column":58}},"17":{"start":{"line":43,"column":28},"end":{"line":43,"column":55}},"18":{"start":{"line":47,"column":4},"end":{"line":47,"column":63}},"19":{"start":{"line":49,"column":4},"end":{"line":49,"column":79}},"20":{"start":{"line":49,"column":17},"end":{"line":49,"column":78}},"21":{"start":{"line":51,"column":21},"end":{"line":61,"column":8}},"22":{"start":{"line":52,"column":22},"end":{"line":52,"column":72}},"23":{"start":{"line":53,"column":4},"end":{"line":59,"column":7}},"24":{"start":{"line":54,"column":18},"end":{"line":54,"column":29}},"25":{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},"26":{"start":{"line":56,"column":8},"end":{"line":56,"column":42}},"27":{"start":{"line":58,"column":6},"end":{"line":58,"column":30}},"28":{"start":{"line":60,"column":4},"end":{"line":60,"column":54}},"29":{"start":{"line":63,"column":2},"end":{"line":63,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":29},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":35},"end":{"line":19,"column":1}},"line":5},"1":{"name":"usePreviewState","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":34},"end":{"line":64,"column":1}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":12},"end":{"line":32,"column":13}},"loc":{"start":{"line":32,"column":18},"end":{"line":50,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":32},"end":{"line":33,"column":33}},"loc":{"start":{"line":33,"column":38},"end":{"line":45,"column":5}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":35,"column":50},"end":{"line":35,"column":51}},"loc":{"start":{"line":35,"column":63},"end":{"line":40,"column":7}},"line":35},"5":{"name":"(anonymous_5)","decl":{"start":{"line":43,"column":16},"end":{"line":43,"column":17}},"loc":{"start":{"line":43,"column":28},"end":{"line":43,"column":55}},"line":43},"6":{"name":"(anonymous_6)","decl":{"start":{"line":49,"column":11},"end":{"line":49,"column":12}},"loc":{"start":{"line":49,"column":17},"end":{"line":49,"column":78}},"line":49},"7":{"name":"(anonymous_7)","decl":{"start":{"line":51,"column":33},"end":{"line":51,"column":34}},"loc":{"start":{"line":51,"column":47},"end":{"line":61,"column":3}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":34},"end":{"line":53,"column":35}},"loc":{"start":{"line":53,"column":41},"end":{"line":59,"column":5}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":14},"end":{"line":7,"column":37}},"type":"binary-expr","locations":[{"start":{"line":7,"column":14},"end":{"line":7,"column":31}},{"start":{"line":7,"column":35},"end":{"line":7,"column":37}}],"line":7},"1":{"loc":{"start":{"line":8,"column":30},"end":{"line":8,"column":68}},"type":"binary-expr","locations":[{"start":{"line":8,"column":30},"end":{"line":8,"column":62}},{"start":{"line":8,"column":66},"end":{"line":8,"column":68}}],"line":8},"2":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":47}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":47}}],"line":9},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":36},"4":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":42},"5":{"loc":{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":56,"column":16},"end":{"line":56,"column":41}},"type":"cond-expr","locations":[{"start":{"line":56,"column":30},"end":{"line":56,"column":36}},{"start":{"line":56,"column":39},"end":{"line":56,"column":41}}],"line":56}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/remoteTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/remoteTokens.tsx","statementMap":{"0":{"start":{"line":50,"column":19},"end":{"line":50,"column":42}},"1":{"start":{"line":51,"column":14},"end":{"line":51,"column":38}},"2":{"start":{"line":52,"column":17},"end":{"line":52,"column":44}},"3":{"start":{"line":53,"column":17},"end":{"line":53,"column":48}},"4":{"start":{"line":54,"column":20},"end":{"line":54,"column":50}},"5":{"start":{"line":55,"column":46},"end":{"line":55,"column":61}},"6":{"start":{"line":57,"column":29},"end":{"line":57,"column":41}},"7":{"start":{"line":58,"column":77},"end":{"line":58,"column":89}},"8":{"start":{"line":59,"column":118},"end":{"line":59,"column":146}},"9":{"start":{"line":68,"column":6},"end":{"line":68,"column":17}},"10":{"start":{"line":77,"column":6},"end":{"line":77,"column":17}},"11":{"start":{"line":85,"column":6},"end":{"line":85,"column":20}},"12":{"start":{"line":88,"column":6},"end":{"line":88,"column":20}},"13":{"start":{"line":94,"column":6},"end":{"line":94,"column":23}},"14":{"start":{"line":102,"column":6},"end":{"line":102,"column":14}},"15":{"start":{"line":103,"column":32},"end":{"line":103,"column":40}},"16":{"start":{"line":104,"column":44},"end":{"line":104,"column":53}},"17":{"start":{"line":106,"column":21},"end":{"line":295,"column":3}},"18":{"start":{"line":115,"column":6},"end":{"line":115,"column":32}},"19":{"start":{"line":116,"column":59},"end":{"line":116,"column":63}},"20":{"start":{"line":117,"column":6},"end":{"line":157,"column":7}},"21":{"start":{"line":119,"column":10},"end":{"line":119,"column":60}},"22":{"start":{"line":120,"column":10},"end":{"line":120,"column":16}},"23":{"start":{"line":123,"column":10},"end":{"line":123,"column":76}},"24":{"start":{"line":124,"column":10},"end":{"line":124,"column":16}},"25":{"start":{"line":127,"column":10},"end":{"line":127,"column":73}},"26":{"start":{"line":128,"column":10},"end":{"line":128,"column":16}},"27":{"start":{"line":131,"column":10},"end":{"line":131,"column":76}},"28":{"start":{"line":132,"column":10},"end":{"line":132,"column":16}},"29":{"start":{"line":135,"column":10},"end":{"line":135,"column":73}},"30":{"start":{"line":136,"column":10},"end":{"line":136,"column":16}},"31":{"start":{"line":139,"column":10},"end":{"line":139,"column":70}},"32":{"start":{"line":140,"column":10},"end":{"line":140,"column":16}},"33":{"start":{"line":143,"column":10},"end":{"line":143,"column":56}},"34":{"start":{"line":144,"column":10},"end":{"line":144,"column":16}},"35":{"start":{"line":147,"column":10},"end":{"line":147,"column":62}},"36":{"start":{"line":148,"column":10},"end":{"line":148,"column":16}},"37":{"start":{"line":151,"column":10},"end":{"line":151,"column":65}},"38":{"start":{"line":152,"column":10},"end":{"line":152,"column":70}},"39":{"start":{"line":153,"column":10},"end":{"line":153,"column":16}},"40":{"start":{"line":156,"column":10},"end":{"line":156,"column":45}},"41":{"start":{"line":158,"column":6},"end":{"line":252,"column":7}},"42":{"start":{"line":159,"column":8},"end":{"line":163,"column":11}},"43":{"start":{"line":164,"column":8},"end":{"line":164,"column":51}},"44":{"start":{"line":165,"column":40},"end":{"line":169,"column":9}},"45":{"start":{"line":170,"column":8},"end":{"line":170,"column":72}},"46":{"start":{"line":171,"column":8},"end":{"line":176,"column":9}},"47":{"start":{"line":172,"column":10},"end":{"line":175,"column":11}},"48":{"start":{"line":173,"column":27},"end":{"line":173,"column":38}},"49":{"start":{"line":174,"column":12},"end":{"line":174,"column":55}},"50":{"start":{"line":177,"column":8},"end":{"line":251,"column":9}},"51":{"start":{"line":178,"column":31},"end":{"line":178,"column":36}},"52":{"start":{"line":179,"column":10},"end":{"line":185,"column":11}},"53":{"start":{"line":180,"column":12},"end":{"line":183,"column":15}},"54":{"start":{"line":184,"column":12},"end":{"line":184,"column":56}},"55":{"start":{"line":186,"column":10},"end":{"line":250,"column":11}},"56":{"start":{"line":187,"column":12},"end":{"line":223,"column":13}},"57":{"start":{"line":189,"column":16},"end":{"line":189,"column":22}},"58":{"start":{"line":192,"column":16},"end":{"line":192,"column":22}},"59":{"start":{"line":195,"column":16},"end":{"line":198,"column":19}},"60":{"start":{"line":199,"column":16},"end":{"line":199,"column":22}},"61":{"start":{"line":202,"column":16},"end":{"line":202,"column":22}},"62":{"start":{"line":205,"column":16},"end":{"line":208,"column":19}},"63":{"start":{"line":209,"column":16},"end":{"line":209,"column":22}},"64":{"start":{"line":212,"column":16},"end":{"line":212,"column":22}},"65":{"start":{"line":215,"column":16},"end":{"line":215,"column":22}},"66":{"start":{"line":218,"column":16},"end":{"line":218,"column":98}},"67":{"start":{"line":219,"column":16},"end":{"line":219,"column":22}},"68":{"start":{"line":222,"column":16},"end":{"line":222,"column":22}},"69":{"start":{"line":224,"column":48},"end":{"line":224,"column":71}},"70":{"start":{"line":226,"column":35},"end":{"line":233,"column":18}},"71":{"start":{"line":228,"column":16},"end":{"line":230,"column":17}},"72":{"start":{"line":228,"column":49},"end":{"line":228,"column":78}},"73":{"start":{"line":229,"column":18},"end":{"line":229,"column":46}},"74":{"start":{"line":231,"column":16},"end":{"line":231,"column":27}},"75":{"start":{"line":235,"column":12},"end":{"line":245,"column":13}},"76":{"start":{"line":236,"column":14},"end":{"line":242,"column":17}},"77":{"start":{"line":244,"column":14},"end":{"line":244,"column":82}},"78":{"start":{"line":246,"column":12},"end":{"line":249,"column":15}},"79":{"start":{"line":253,"column":6},"end":{"line":271,"column":7}},"80":{"start":{"line":254,"column":8},"end":{"line":268,"column":9}},"81":{"start":{"line":255,"column":27},"end":{"line":255,"column":64}},"82":{"start":{"line":256,"column":30},"end":{"line":256,"column":104}},"83":{"start":{"line":256,"column":84},"end":{"line":256,"column":100}},"84":{"start":{"line":257,"column":29},"end":{"line":257,"column":66}},"85":{"start":{"line":258,"column":30},"end":{"line":258,"column":41}},"86":{"start":{"line":259,"column":10},"end":{"line":265,"column":13}},"87":{"start":{"line":267,"column":10},"end":{"line":267,"column":70}},"88":{"start":{"line":270,"column":8},"end":{"line":270,"column":25}},"89":{"start":{"line":273,"column":6},"end":{"line":273,"column":46}},"90":{"start":{"line":274,"column":6},"end":{"line":274,"column":24}},"91":{"start":{"line":275,"column":6},"end":{"line":275,"column":24}},"92":{"start":{"line":297,"column":32},"end":{"line":361,"column":3}},"93":{"start":{"line":299,"column":6},"end":{"line":299,"column":69}},"94":{"start":{"line":300,"column":6},"end":{"line":300,"column":49}},"95":{"start":{"line":301,"column":6},"end":{"line":301,"column":43}},"96":{"start":{"line":302,"column":6},"end":{"line":302,"column":51}},"97":{"start":{"line":303,"column":6},"end":{"line":303,"column":71}},"98":{"start":{"line":304,"column":47},"end":{"line":304,"column":51}},"99":{"start":{"line":305,"column":6},"end":{"line":333,"column":7}},"100":{"start":{"line":307,"column":10},"end":{"line":307,"column":56}},"101":{"start":{"line":308,"column":10},"end":{"line":308,"column":16}},"102":{"start":{"line":311,"column":10},"end":{"line":311,"column":56}},"103":{"start":{"line":312,"column":10},"end":{"line":312,"column":16}},"104":{"start":{"line":315,"column":10},"end":{"line":315,"column":59}},"105":{"start":{"line":316,"column":10},"end":{"line":316,"column":16}},"106":{"start":{"line":319,"column":10},"end":{"line":319,"column":53}},"107":{"start":{"line":320,"column":10},"end":{"line":320,"column":16}},"108":{"start":{"line":323,"column":10},"end":{"line":323,"column":59}},"109":{"start":{"line":324,"column":10},"end":{"line":324,"column":16}},"110":{"start":{"line":327,"column":10},"end":{"line":327,"column":62}},"111":{"start":{"line":328,"column":10},"end":{"line":328,"column":70}},"112":{"start":{"line":329,"column":10},"end":{"line":329,"column":16}},"113":{"start":{"line":332,"column":10},"end":{"line":332,"column":50}},"114":{"start":{"line":334,"column":6},"end":{"line":339,"column":7}},"115":{"start":{"line":335,"column":8},"end":{"line":338,"column":10}},"116":{"start":{"line":340,"column":6},"end":{"line":344,"column":7}},"117":{"start":{"line":341,"column":8},"end":{"line":343,"column":10}},"118":{"start":{"line":345,"column":6},"end":{"line":348,"column":8}},"119":{"start":{"line":363,"column":21},"end":{"line":430,"column":3}},"120":{"start":{"line":365,"column":23},"end":{"line":365,"column":84}},"121":{"start":{"line":367,"column":6},"end":{"line":394,"column":7}},"122":{"start":{"line":369,"column":10},"end":{"line":369,"column":68}},"123":{"start":{"line":370,"column":10},"end":{"line":370,"column":16}},"124":{"start":{"line":373,"column":10},"end":{"line":373,"column":57}},"125":{"start":{"line":374,"column":10},"end":{"line":374,"column":16}},"126":{"start":{"line":377,"column":10},"end":{"line":377,"column":60}},"127":{"start":{"line":378,"column":10},"end":{"line":378,"column":16}},"128":{"start":{"line":381,"column":10},"end":{"line":381,"column":54}},"129":{"start":{"line":382,"column":10},"end":{"line":382,"column":16}},"130":{"start":{"line":385,"column":10},"end":{"line":385,"column":60}},"131":{"start":{"line":386,"column":10},"end":{"line":386,"column":16}},"132":{"start":{"line":389,"column":10},"end":{"line":389,"column":63}},"133":{"start":{"line":390,"column":10},"end":{"line":390,"column":16}},"134":{"start":{"line":393,"column":10},"end":{"line":393,"column":45}},"135":{"start":{"line":395,"column":6},"end":{"line":414,"column":7}},"136":{"start":{"line":396,"column":8},"end":{"line":411,"column":9}},"137":{"start":{"line":397,"column":27},"end":{"line":397,"column":53}},"138":{"start":{"line":398,"column":30},"end":{"line":398,"column":93}},"139":{"start":{"line":398,"column":73},"end":{"line":398,"column":89}},"140":{"start":{"line":399,"column":29},"end":{"line":399,"column":55}},"141":{"start":{"line":400,"column":30},"end":{"line":400,"column":41}},"142":{"start":{"line":401,"column":10},"end":{"line":408,"column":13}},"143":{"start":{"line":410,"column":10},"end":{"line":410,"column":80}},"144":{"start":{"line":413,"column":8},"end":{"line":413,"column":25}},"145":{"start":{"line":415,"column":6},"end":{"line":417,"column":7}},"146":{"start":{"line":416,"column":8},"end":{"line":416,"column":61}},"147":{"start":{"line":432,"column":29},"end":{"line":533,"column":3}},"148":{"start":{"line":434,"column":47},"end":{"line":434,"column":51}},"149":{"start":{"line":435,"column":6},"end":{"line":498,"column":7}},"150":{"start":{"line":437,"column":10},"end":{"line":451,"column":11}},"151":{"start":{"line":438,"column":12},"end":{"line":438,"column":63}},"152":{"start":{"line":440,"column":23},"end":{"line":440,"column":58}},"153":{"start":{"line":441,"column":12},"end":{"line":446,"column":13}},"154":{"start":{"line":442,"column":14},"end":{"line":442,"column":34}},"155":{"start":{"line":443,"column":14},"end":{"line":445,"column":16}},"156":{"start":{"line":447,"column":12},"end":{"line":450,"column":14}},"157":{"start":{"line":452,"column":10},"end":{"line":452,"column":16}},"158":{"start":{"line":455,"column":10},"end":{"line":465,"column":11}},"159":{"start":{"line":456,"column":12},"end":{"line":456,"column":72}},"160":{"start":{"line":458,"column":23},"end":{"line":458,"column":74}},"161":{"start":{"line":459,"column":12},"end":{"line":464,"column":13}},"162":{"start":{"line":460,"column":14},"end":{"line":460,"column":34}},"163":{"start":{"line":461,"column":14},"end":{"line":463,"column":16}},"164":{"start":{"line":466,"column":10},"end":{"line":466,"column":16}},"165":{"start":{"line":469,"column":10},"end":{"line":469,"column":63}},"166":{"start":{"line":470,"column":10},"end":{"line":470,"column":16}},"167":{"start":{"line":473,"column":10},"end":{"line":473,"column":63}},"168":{"start":{"line":474,"column":10},"end":{"line":474,"column":16}},"169":{"start":{"line":477,"column":10},"end":{"line":477,"column":66}},"170":{"start":{"line":478,"column":10},"end":{"line":478,"column":16}},"171":{"start":{"line":481,"column":10},"end":{"line":481,"column":60}},"172":{"start":{"line":482,"column":10},"end":{"line":482,"column":16}},"173":{"start":{"line":485,"column":10},"end":{"line":485,"column":57}},"174":{"start":{"line":486,"column":10},"end":{"line":486,"column":16}},"175":{"start":{"line":489,"column":10},"end":{"line":489,"column":66}},"176":{"start":{"line":490,"column":10},"end":{"line":490,"column":16}},"177":{"start":{"line":493,"column":10},"end":{"line":493,"column":69}},"178":{"start":{"line":494,"column":10},"end":{"line":494,"column":16}},"179":{"start":{"line":497,"column":10},"end":{"line":497,"column":45}},"180":{"start":{"line":499,"column":6},"end":{"line":504,"column":7}},"181":{"start":{"line":500,"column":8},"end":{"line":503,"column":10}},"182":{"start":{"line":505,"column":6},"end":{"line":512,"column":7}},"183":{"start":{"line":506,"column":8},"end":{"line":506,"column":81}},"184":{"start":{"line":507,"column":8},"end":{"line":507,"column":75}},"185":{"start":{"line":508,"column":8},"end":{"line":508,"column":103}},"186":{"start":{"line":509,"column":8},"end":{"line":511,"column":10}},"187":{"start":{"line":513,"column":6},"end":{"line":516,"column":8}},"188":{"start":{"line":535,"column":23},"end":{"line":561,"column":3}},"189":{"start":{"line":537,"column":29},"end":{"line":537,"column":34}},"190":{"start":{"line":538,"column":6},"end":{"line":557,"column":7}},"191":{"start":{"line":540,"column":10},"end":{"line":540,"column":79}},"192":{"start":{"line":541,"column":10},"end":{"line":541,"column":16}},"193":{"start":{"line":544,"column":10},"end":{"line":544,"column":79}},"194":{"start":{"line":545,"column":10},"end":{"line":545,"column":16}},"195":{"start":{"line":548,"column":10},"end":{"line":548,"column":82}},"196":{"start":{"line":549,"column":10},"end":{"line":549,"column":16}},"197":{"start":{"line":552,"column":10},"end":{"line":552,"column":76}},"198":{"start":{"line":553,"column":10},"end":{"line":553,"column":16}},"199":{"start":{"line":556,"column":10},"end":{"line":556,"column":45}},"200":{"start":{"line":558,"column":6},"end":{"line":558,"column":30}},"201":{"start":{"line":563,"column":24},"end":{"line":579,"column":3}},"202":{"start":{"line":565,"column":6},"end":{"line":576,"column":7}},"203":{"start":{"line":567,"column":10},"end":{"line":567,"column":46}},"204":{"start":{"line":569,"column":10},"end":{"line":569,"column":46}},"205":{"start":{"line":571,"column":10},"end":{"line":571,"column":49}},"206":{"start":{"line":573,"column":10},"end":{"line":573,"column":43}},"207":{"start":{"line":575,"column":10},"end":{"line":575,"column":22}},"208":{"start":{"line":581,"column":25},"end":{"line":586,"column":8}},"209":{"start":{"line":582,"column":4},"end":{"line":585,"column":7}},"210":{"start":{"line":588,"column":41},"end":{"line":625,"column":3}},"211":{"start":{"line":598,"column":6},"end":{"line":598,"column":46}},"212":{"start":{"line":599,"column":6},"end":{"line":599,"column":81}},"213":{"start":{"line":601,"column":6},"end":{"line":621,"column":7}},"214":{"start":{"line":602,"column":27},"end":{"line":602,"column":69}},"215":{"start":{"line":603,"column":8},"end":{"line":618,"column":9}},"216":{"start":{"line":604,"column":31},"end":{"line":607,"column":11}},"217":{"start":{"line":608,"column":10},"end":{"line":613,"column":13}},"218":{"start":{"line":614,"column":10},"end":{"line":617,"column":13}},"219":{"start":{"line":619,"column":8},"end":{"line":619,"column":76}},"220":{"start":{"line":620,"column":8},"end":{"line":620,"column":26}},"221":{"start":{"line":622,"column":6},"end":{"line":622,"column":18}},"222":{"start":{"line":627,"column":28},"end":{"line":667,"column":3}},"223":{"start":{"line":629,"column":22},"end":{"line":629,"column":27}},"224":{"start":{"line":630,"column":6},"end":{"line":662,"column":7}},"225":{"start":{"line":632,"column":10},"end":{"line":632,"column":28}},"226":{"start":{"line":633,"column":10},"end":{"line":633,"column":16}},"227":{"start":{"line":636,"column":10},"end":{"line":636,"column":28}},"228":{"start":{"line":637,"column":10},"end":{"line":637,"column":16}},"229":{"start":{"line":640,"column":10},"end":{"line":640,"column":64}},"230":{"start":{"line":641,"column":10},"end":{"line":641,"column":16}},"231":{"start":{"line":644,"column":10},"end":{"line":644,"column":28}},"232":{"start":{"line":645,"column":10},"end":{"line":645,"column":16}},"233":{"start":{"line":648,"column":10},"end":{"line":648,"column":64}},"234":{"start":{"line":649,"column":10},"end":{"line":649,"column":16}},"235":{"start":{"line":652,"column":10},"end":{"line":652,"column":28}},"236":{"start":{"line":653,"column":10},"end":{"line":653,"column":16}},"237":{"start":{"line":656,"column":10},"end":{"line":656,"column":28}},"238":{"start":{"line":657,"column":10},"end":{"line":657,"column":16}},"239":{"start":{"line":660,"column":10},"end":{"line":660,"column":28}},"240":{"start":{"line":661,"column":10},"end":{"line":661,"column":16}},"241":{"start":{"line":663,"column":6},"end":{"line":663,"column":53}},"242":{"start":{"line":664,"column":6},"end":{"line":664,"column":23}},"243":{"start":{"line":669,"column":2},"end":{"line":692,"column":4}},"244":{"start":{"line":670,"column":11},"end":{"line":680,"column":5}}},"fnMap":{"0":{"name":"useRemoteTokens","decl":{"start":{"line":49,"column":24},"end":{"line":49,"column":39}},"loc":{"start":{"line":49,"column":42},"end":{"line":693,"column":1}},"line":49},"1":{"name":"(anonymous_1)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":114,"column":29},"end":{"line":276,"column":5}},"line":114},"2":{"name":"(anonymous_2)","decl":{"start":{"line":227,"column":48},"end":{"line":227,"column":49}},"loc":{"start":{"line":227,"column":62},"end":{"line":232,"column":15}},"line":227},"3":{"name":"(anonymous_3)","decl":{"start":{"line":228,"column":38},"end":{"line":228,"column":39}},"loc":{"start":{"line":228,"column":49},"end":{"line":228,"column":78}},"line":228},"4":{"name":"(anonymous_4)","decl":{"start":{"line":256,"column":70},"end":{"line":256,"column":71}},"loc":{"start":{"line":256,"column":84},"end":{"line":256,"column":100}},"line":256},"5":{"name":"(anonymous_5)","decl":{"start":{"line":298,"column":4},"end":{"line":298,"column":5}},"loc":{"start":{"line":298,"column":47},"end":{"line":349,"column":5}},"line":298},"6":{"name":"(anonymous_6)","decl":{"start":{"line":364,"column":4},"end":{"line":364,"column":5}},"loc":{"start":{"line":364,"column":114},"end":{"line":418,"column":5}},"line":364},"7":{"name":"(anonymous_7)","decl":{"start":{"line":398,"column":59},"end":{"line":398,"column":60}},"loc":{"start":{"line":398,"column":73},"end":{"line":398,"column":89}},"line":398},"8":{"name":"(anonymous_8)","decl":{"start":{"line":433,"column":4},"end":{"line":433,"column":5}},"loc":{"start":{"line":433,"column":88},"end":{"line":517,"column":5}},"line":433},"9":{"name":"(anonymous_9)","decl":{"start":{"line":536,"column":4},"end":{"line":536,"column":5}},"loc":{"start":{"line":536,"column":80},"end":{"line":559,"column":5}},"line":536},"10":{"name":"(anonymous_10)","decl":{"start":{"line":564,"column":4},"end":{"line":564,"column":5}},"loc":{"start":{"line":564,"column":47},"end":{"line":577,"column":5}},"line":564},"11":{"name":"(anonymous_11)","decl":{"start":{"line":581,"column":37},"end":{"line":581,"column":38}},"loc":{"start":{"line":581,"column":56},"end":{"line":586,"column":3}},"line":581},"12":{"name":"(anonymous_12)","decl":{"start":{"line":589,"column":4},"end":{"line":589,"column":5}},"loc":{"start":{"line":597,"column":10},"end":{"line":623,"column":5}},"line":597},"13":{"name":"(anonymous_13)","decl":{"start":{"line":628,"column":4},"end":{"line":628,"column":5}},"loc":{"start":{"line":628,"column":71},"end":{"line":665,"column":5}},"line":628},"14":{"name":"(anonymous_14)","decl":{"start":{"line":670,"column":4},"end":{"line":670,"column":5}},"loc":{"start":{"line":670,"column":11},"end":{"line":680,"column":5}},"line":670}},"branchMap":{"0":{"loc":{"start":{"line":108,"column":6},"end":{"line":108,"column":19}},"type":"default-arg","locations":[{"start":{"line":108,"column":16},"end":{"line":108,"column":19}}],"line":108},"1":{"loc":{"start":{"line":113,"column":6},"end":{"line":113,"column":31}},"type":"default-arg","locations":[{"start":{"line":113,"column":26},"end":{"line":113,"column":31}}],"line":113},"2":{"loc":{"start":{"line":117,"column":6},"end":{"line":157,"column":7}},"type":"switch","locations":[{"start":{"line":118,"column":8},"end":{"line":121,"column":9}},{"start":{"line":122,"column":8},"end":{"line":125,"column":9}},{"start":{"line":126,"column":8},"end":{"line":129,"column":9}},{"start":{"line":130,"column":8},"end":{"line":133,"column":9}},{"start":{"line":134,"column":8},"end":{"line":137,"column":9}},{"start":{"line":138,"column":8},"end":{"line":141,"column":9}},{"start":{"line":142,"column":8},"end":{"line":145,"column":9}},{"start":{"line":146,"column":8},"end":{"line":149,"column":9}},{"start":{"line":150,"column":8},"end":{"line":154,"column":9}},{"start":{"line":155,"column":8},"end":{"line":156,"column":45}}],"line":117},"3":{"loc":{"start":{"line":158,"column":6},"end":{"line":252,"column":7}},"type":"if","locations":[{"start":{"line":158,"column":6},"end":{"line":252,"column":7}},{"start":{},"end":{}}],"line":158},"4":{"loc":{"start":{"line":171,"column":8},"end":{"line":176,"column":9}},"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":176,"column":9}},{"start":{},"end":{}}],"line":171},"5":{"loc":{"start":{"line":172,"column":10},"end":{"line":175,"column":11}},"type":"if","locations":[{"start":{"line":172,"column":10},"end":{"line":175,"column":11}},{"start":{},"end":{}}],"line":172},"6":{"loc":{"start":{"line":177,"column":8},"end":{"line":251,"column":9}},"type":"if","locations":[{"start":{"line":177,"column":8},"end":{"line":251,"column":9}},{"start":{},"end":{}}],"line":177},"7":{"loc":{"start":{"line":177,"column":12},"end":{"line":177,"column":116}},"type":"binary-expr","locations":[{"start":{"line":177,"column":12},"end":{"line":177,"column":38}},{"start":{"line":177,"column":42},"end":{"line":177,"column":77}},{"start":{"line":177,"column":81},"end":{"line":177,"column":116}}],"line":177},"8":{"loc":{"start":{"line":179,"column":10},"end":{"line":185,"column":11}},"type":"if","locations":[{"start":{"line":179,"column":10},"end":{"line":185,"column":11}},{"start":{},"end":{}}],"line":179},"9":{"loc":{"start":{"line":186,"column":10},"end":{"line":250,"column":11}},"type":"if","locations":[{"start":{"line":186,"column":10},"end":{"line":250,"column":11}},{"start":{},"end":{}}],"line":186},"10":{"loc":{"start":{"line":186,"column":14},"end":{"line":186,"column":58}},"type":"binary-expr","locations":[{"start":{"line":186,"column":14},"end":{"line":186,"column":28}},{"start":{"line":186,"column":32},"end":{"line":186,"column":58}}],"line":186},"11":{"loc":{"start":{"line":187,"column":12},"end":{"line":223,"column":13}},"type":"switch","locations":[{"start":{"line":188,"column":14},"end":{"line":190,"column":15}},{"start":{"line":191,"column":14},"end":{"line":193,"column":15}},{"start":{"line":194,"column":14},"end":{"line":200,"column":15}},{"start":{"line":201,"column":14},"end":{"line":203,"column":15}},{"start":{"line":204,"column":14},"end":{"line":210,"column":15}},{"start":{"line":211,"column":14},"end":{"line":213,"column":15}},{"start":{"line":214,"column":14},"end":{"line":216,"column":15}},{"start":{"line":217,"column":14},"end":{"line":220,"column":15}},{"start":{"line":221,"column":14},"end":{"line":222,"column":22}}],"line":187},"12":{"loc":{"start":{"line":197,"column":22},"end":{"line":197,"column":85}},"type":"cond-expr","locations":[{"start":{"line":197,"column":45},"end":{"line":197,"column":80}},{"start":{"line":197,"column":83},"end":{"line":197,"column":85}}],"line":197},"13":{"loc":{"start":{"line":207,"column":22},"end":{"line":207,"column":88}},"type":"cond-expr","locations":[{"start":{"line":207,"column":46},"end":{"line":207,"column":83}},{"start":{"line":207,"column":86},"end":{"line":207,"column":88}}],"line":207},"14":{"loc":{"start":{"line":218,"column":56},"end":{"line":218,"column":96}},"type":"binary-expr","locations":[{"start":{"line":218,"column":56},"end":{"line":218,"column":90}},{"start":{"line":218,"column":94},"end":{"line":218,"column":96}}],"line":218},"15":{"loc":{"start":{"line":224,"column":48},"end":{"line":224,"column":71}},"type":"binary-expr","locations":[{"start":{"line":224,"column":48},"end":{"line":224,"column":65}},{"start":{"line":224,"column":69},"end":{"line":224,"column":71}}],"line":224},"16":{"loc":{"start":{"line":226,"column":35},"end":{"line":233,"column":18}},"type":"cond-expr","locations":[{"start":{"line":227,"column":16},"end":{"line":232,"column":46}},{"start":{"line":233,"column":16},"end":{"line":233,"column":18}}],"line":226},"17":{"loc":{"start":{"line":228,"column":16},"end":{"line":230,"column":17}},"type":"if","locations":[{"start":{"line":228,"column":16},"end":{"line":230,"column":17}},{"start":{},"end":{}}],"line":228},"18":{"loc":{"start":{"line":235,"column":12},"end":{"line":245,"column":13}},"type":"if","locations":[{"start":{"line":235,"column":12},"end":{"line":245,"column":13}},{"start":{},"end":{}}],"line":235},"19":{"loc":{"start":{"line":235,"column":16},"end":{"line":235,"column":51}},"type":"binary-expr","locations":[{"start":{"line":235,"column":16},"end":{"line":235,"column":33}},{"start":{"line":235,"column":37},"end":{"line":235,"column":51}}],"line":235},"20":{"loc":{"start":{"line":240,"column":30},"end":{"line":240,"column":48}},"type":"binary-expr","locations":[{"start":{"line":240,"column":30},"end":{"line":240,"column":42}},{"start":{"line":240,"column":46},"end":{"line":240,"column":48}}],"line":240},"21":{"loc":{"start":{"line":244,"column":56},"end":{"line":244,"column":80}},"type":"binary-expr","locations":[{"start":{"line":244,"column":56},"end":{"line":244,"column":74}},{"start":{"line":244,"column":78},"end":{"line":244,"column":80}}],"line":244},"22":{"loc":{"start":{"line":254,"column":8},"end":{"line":268,"column":9}},"type":"if","locations":[{"start":{"line":254,"column":8},"end":{"line":268,"column":9}},{"start":{"line":266,"column":15},"end":{"line":268,"column":9}}],"line":254},"23":{"loc":{"start":{"line":305,"column":6},"end":{"line":333,"column":7}},"type":"switch","locations":[{"start":{"line":306,"column":8},"end":{"line":309,"column":9}},{"start":{"line":310,"column":8},"end":{"line":313,"column":9}},{"start":{"line":314,"column":8},"end":{"line":317,"column":9}},{"start":{"line":318,"column":8},"end":{"line":321,"column":9}},{"start":{"line":322,"column":8},"end":{"line":325,"column":9}},{"start":{"line":326,"column":8},"end":{"line":330,"column":9}},{"start":{"line":331,"column":8},"end":{"line":332,"column":50}}],"line":305},"24":{"loc":{"start":{"line":334,"column":6},"end":{"line":339,"column":7}},"type":"if","locations":[{"start":{"line":334,"column":6},"end":{"line":339,"column":7}},{"start":{},"end":{}}],"line":334},"25":{"loc":{"start":{"line":340,"column":6},"end":{"line":344,"column":7}},"type":"if","locations":[{"start":{"line":340,"column":6},"end":{"line":344,"column":7}},{"start":{},"end":{}}],"line":340},"26":{"loc":{"start":{"line":364,"column":11},"end":{"line":364,"column":109}},"type":"default-arg","locations":[{"start":{"line":364,"column":107},"end":{"line":364,"column":109}}],"line":364},"27":{"loc":{"start":{"line":364,"column":13},"end":{"line":364,"column":26}},"type":"default-arg","locations":[{"start":{"line":364,"column":23},"end":{"line":364,"column":26}}],"line":364},"28":{"loc":{"start":{"line":365,"column":23},"end":{"line":365,"column":84}},"type":"binary-expr","locations":[{"start":{"line":365,"column":23},"end":{"line":365,"column":44}},{"start":{"line":365,"column":48},"end":{"line":365,"column":84}}],"line":365},"29":{"loc":{"start":{"line":367,"column":6},"end":{"line":394,"column":7}},"type":"switch","locations":[{"start":{"line":368,"column":8},"end":{"line":371,"column":9}},{"start":{"line":372,"column":8},"end":{"line":375,"column":9}},{"start":{"line":376,"column":8},"end":{"line":379,"column":9}},{"start":{"line":380,"column":8},"end":{"line":383,"column":9}},{"start":{"line":384,"column":8},"end":{"line":387,"column":9}},{"start":{"line":388,"column":8},"end":{"line":391,"column":9}},{"start":{"line":392,"column":8},"end":{"line":393,"column":45}}],"line":367},"30":{"loc":{"start":{"line":396,"column":8},"end":{"line":411,"column":9}},"type":"if","locations":[{"start":{"line":396,"column":8},"end":{"line":411,"column":9}},{"start":{"line":409,"column":15},"end":{"line":411,"column":9}}],"line":396},"31":{"loc":{"start":{"line":415,"column":6},"end":{"line":417,"column":7}},"type":"if","locations":[{"start":{"line":415,"column":6},"end":{"line":417,"column":7}},{"start":{},"end":{}}],"line":415},"32":{"loc":{"start":{"line":415,"column":10},"end":{"line":415,"column":62}},"type":"binary-expr","locations":[{"start":{"line":415,"column":10},"end":{"line":415,"column":27}},{"start":{"line":415,"column":31},"end":{"line":415,"column":62}}],"line":415},"33":{"loc":{"start":{"line":435,"column":6},"end":{"line":498,"column":7}},"type":"switch","locations":[{"start":{"line":436,"column":8},"end":{"line":453,"column":9}},{"start":{"line":454,"column":8},"end":{"line":467,"column":9}},{"start":{"line":468,"column":8},"end":{"line":471,"column":9}},{"start":{"line":472,"column":8},"end":{"line":475,"column":9}},{"start":{"line":476,"column":8},"end":{"line":479,"column":9}},{"start":{"line":480,"column":8},"end":{"line":483,"column":9}},{"start":{"line":484,"column":8},"end":{"line":487,"column":9}},{"start":{"line":488,"column":8},"end":{"line":491,"column":9}},{"start":{"line":492,"column":8},"end":{"line":495,"column":9}},{"start":{"line":496,"column":8},"end":{"line":497,"column":45}}],"line":435},"34":{"loc":{"start":{"line":437,"column":10},"end":{"line":451,"column":11}},"type":"if","locations":[{"start":{"line":437,"column":10},"end":{"line":451,"column":11}},{"start":{"line":439,"column":17},"end":{"line":451,"column":11}}],"line":437},"35":{"loc":{"start":{"line":441,"column":12},"end":{"line":446,"column":13}},"type":"if","locations":[{"start":{"line":441,"column":12},"end":{"line":446,"column":13}},{"start":{},"end":{}}],"line":441},"36":{"loc":{"start":{"line":455,"column":10},"end":{"line":465,"column":11}},"type":"if","locations":[{"start":{"line":455,"column":10},"end":{"line":465,"column":11}},{"start":{"line":457,"column":17},"end":{"line":465,"column":11}}],"line":455},"37":{"loc":{"start":{"line":459,"column":12},"end":{"line":464,"column":13}},"type":"if","locations":[{"start":{"line":459,"column":12},"end":{"line":464,"column":13}},{"start":{},"end":{}}],"line":459},"38":{"loc":{"start":{"line":499,"column":6},"end":{"line":504,"column":7}},"type":"if","locations":[{"start":{"line":499,"column":6},"end":{"line":504,"column":7}},{"start":{},"end":{}}],"line":499},"39":{"loc":{"start":{"line":505,"column":6},"end":{"line":512,"column":7}},"type":"if","locations":[{"start":{"line":505,"column":6},"end":{"line":512,"column":7}},{"start":{},"end":{}}],"line":505},"40":{"loc":{"start":{"line":538,"column":6},"end":{"line":557,"column":7}},"type":"switch","locations":[{"start":{"line":539,"column":8},"end":{"line":542,"column":9}},{"start":{"line":543,"column":8},"end":{"line":546,"column":9}},{"start":{"line":547,"column":8},"end":{"line":550,"column":9}},{"start":{"line":551,"column":8},"end":{"line":554,"column":9}},{"start":{"line":555,"column":8},"end":{"line":556,"column":45}}],"line":538},"41":{"loc":{"start":{"line":565,"column":6},"end":{"line":576,"column":7}},"type":"switch","locations":[{"start":{"line":566,"column":8},"end":{"line":567,"column":46}},{"start":{"line":568,"column":8},"end":{"line":569,"column":46}},{"start":{"line":570,"column":8},"end":{"line":571,"column":49}},{"start":{"line":572,"column":8},"end":{"line":573,"column":43}},{"start":{"line":574,"column":8},"end":{"line":575,"column":22}}],"line":565},"42":{"loc":{"start":{"line":601,"column":6},"end":{"line":621,"column":7}},"type":"if","locations":[{"start":{"line":601,"column":6},"end":{"line":621,"column":7}},{"start":{},"end":{}}],"line":601},"43":{"loc":{"start":{"line":603,"column":8},"end":{"line":618,"column":9}},"type":"if","locations":[{"start":{"line":603,"column":8},"end":{"line":618,"column":9}},{"start":{},"end":{}}],"line":603},"44":{"loc":{"start":{"line":606,"column":12},"end":{"line":606,"column":80}},"type":"binary-expr","locations":[{"start":{"line":606,"column":12},"end":{"line":606,"column":46}},{"start":{"line":606,"column":50},"end":{"line":606,"column":80}}],"line":606},"45":{"loc":{"start":{"line":611,"column":25},"end":{"line":611,"column":42}},"type":"binary-expr","locations":[{"start":{"line":611,"column":25},"end":{"line":611,"column":36}},{"start":{"line":611,"column":40},"end":{"line":611,"column":42}}],"line":611},"46":{"loc":{"start":{"line":612,"column":26},"end":{"line":612,"column":44}},"type":"binary-expr","locations":[{"start":{"line":612,"column":26},"end":{"line":612,"column":38}},{"start":{"line":612,"column":42},"end":{"line":612,"column":44}}],"line":612},"47":{"loc":{"start":{"line":628,"column":11},"end":{"line":628,"column":48}},"type":"default-arg","locations":[{"start":{"line":628,"column":45},"end":{"line":628,"column":48}}],"line":628},"48":{"loc":{"start":{"line":630,"column":6},"end":{"line":662,"column":7}},"type":"switch","locations":[{"start":{"line":631,"column":8},"end":{"line":634,"column":9}},{"start":{"line":635,"column":8},"end":{"line":638,"column":9}},{"start":{"line":639,"column":8},"end":{"line":642,"column":9}},{"start":{"line":643,"column":8},"end":{"line":646,"column":9}},{"start":{"line":647,"column":8},"end":{"line":650,"column":9}},{"start":{"line":651,"column":8},"end":{"line":654,"column":9}},{"start":{"line":655,"column":8},"end":{"line":658,"column":9}},{"start":{"line":659,"column":8},"end":{"line":661,"column":16}}],"line":630}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0],"1":[0],"2":[0,0,0,0,0,0,0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0,0,0,0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0,0,0,0,0,0],"24":[0,0],"25":[0,0],"26":[0],"27":[0],"28":[0,0],"29":[0,0,0,0,0,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0,0,0,0,0,0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0,0,0,0],"41":[0,0,0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0],"48":[0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/updateSources.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/updateSources.tsx","statementMap":{"0":{"start":{"line":65,"column":2},"end":{"line":65,"column":23}},"1":{"start":{"line":65,"column":16},"end":{"line":65,"column":23}},"2":{"start":{"line":66,"column":19},"end":{"line":66,"column":46}},"3":{"start":{"line":67,"column":22},"end":{"line":67,"column":85}},"4":{"start":{"line":67,"column":65},"end":{"line":67,"column":81}},"5":{"start":{"line":68,"column":21},"end":{"line":68,"column":47}},"6":{"start":{"line":69,"column":22},"end":{"line":69,"column":33}},"7":{"start":{"line":70,"column":2},"end":{"line":126,"column":3}},"8":{"start":{"line":72,"column":6},"end":{"line":72,"column":40}},"9":{"start":{"line":73,"column":6},"end":{"line":81,"column":9}},"10":{"start":{"line":82,"column":6},"end":{"line":84,"column":9}},"11":{"start":{"line":86,"column":6},"end":{"line":86,"column":12}},"12":{"start":{"line":89,"column":6},"end":{"line":89,"column":47}},"13":{"start":{"line":90,"column":6},"end":{"line":98,"column":9}},"14":{"start":{"line":100,"column":6},"end":{"line":102,"column":9}},"15":{"start":{"line":104,"column":6},"end":{"line":104,"column":12}},"16":{"start":{"line":107,"column":6},"end":{"line":107,"column":12}},"17":{"start":{"line":110,"column":6},"end":{"line":110,"column":12}},"18":{"start":{"line":113,"column":6},"end":{"line":113,"column":12}},"19":{"start":{"line":116,"column":6},"end":{"line":116,"column":12}},"20":{"start":{"line":119,"column":6},"end":{"line":119,"column":12}},"21":{"start":{"line":122,"column":6},"end":{"line":122,"column":12}},"22":{"start":{"line":125,"column":6},"end":{"line":125,"column":72}},"23":{"start":{"line":152,"column":2},"end":{"line":163,"column":3}},"24":{"start":{"line":153,"column":4},"end":{"line":162,"column":7}},"25":{"start":{"line":165,"column":23},"end":{"line":167,"column":10}},"26":{"start":{"line":172,"column":2},"end":{"line":189,"column":3}},"27":{"start":{"line":173,"column":4},"end":{"line":188,"column":5}},"28":{"start":{"line":174,"column":6},"end":{"line":174,"column":56}},"29":{"start":{"line":175,"column":6},"end":{"line":175,"column":56}},"30":{"start":{"line":177,"column":6},"end":{"line":180,"column":9}},"31":{"start":{"line":182,"column":6},"end":{"line":185,"column":9}},"32":{"start":{"line":187,"column":6},"end":{"line":187,"column":70}},"33":{"start":{"line":191,"column":22},"end":{"line":194,"column":4}},"34":{"start":{"line":195,"column":2},"end":{"line":217,"column":5}},"35":{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},"36":{"start":{"line":214,"column":6},"end":{"line":214,"column":60}},"37":{"start":{"line":215,"column":6},"end":{"line":215,"column":27}}},"fnMap":{"0":{"name":"updateRemoteTokens","decl":{"start":{"line":55,"column":15},"end":{"line":55,"column":33}},"loc":{"start":{"line":64,"column":30},"end":{"line":127,"column":1}},"line":64},"1":{"name":"(anonymous_1)","decl":{"start":{"line":67,"column":51},"end":{"line":67,"column":52}},"loc":{"start":{"line":67,"column":65},"end":{"line":67,"column":81}},"line":67},"2":{"name":"updateTokensOnSources","decl":{"start":{"line":129,"column":30},"end":{"line":129,"column":51}},"loc":{"start":{"line":151,"column":33},"end":{"line":218,"column":1}},"line":151},"3":{"name":"(anonymous_3)","decl":{"start":{"line":212,"column":10},"end":{"line":212,"column":11}},"loc":{"start":{"line":212,"column":22},"end":{"line":217,"column":3}},"line":212}},"branchMap":{"0":{"loc":{"start":{"line":65,"column":2},"end":{"line":65,"column":23}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":65,"column":23}},{"start":{},"end":{}}],"line":65},"1":{"loc":{"start":{"line":70,"column":2},"end":{"line":126,"column":3}},"type":"switch","locations":[{"start":{"line":71,"column":4},"end":{"line":87,"column":5}},{"start":{"line":88,"column":4},"end":{"line":105,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":109,"column":4},"end":{"line":111,"column":5}},{"start":{"line":112,"column":4},"end":{"line":114,"column":5}},{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},{"start":{"line":124,"column":4},"end":{"line":125,"column":72}}],"line":70},"2":{"loc":{"start":{"line":137,"column":2},"end":{"line":137,"column":27}},"type":"default-arg","locations":[{"start":{"line":137,"column":23},"end":{"line":137,"column":27}}],"line":137},"3":{"loc":{"start":{"line":152,"column":2},"end":{"line":163,"column":3}},"type":"if","locations":[{"start":{"line":152,"column":2},"end":{"line":163,"column":3}},{"start":{},"end":{}}],"line":152},"4":{"loc":{"start":{"line":152,"column":6},"end":{"line":152,"column":70}},"type":"binary-expr","locations":[{"start":{"line":152,"column":6},"end":{"line":152,"column":17}},{"start":{"line":152,"column":21},"end":{"line":152,"column":29}},{"start":{"line":152,"column":33},"end":{"line":152,"column":51}},{"start":{"line":152,"column":55},"end":{"line":152,"column":70}}],"line":152},"5":{"loc":{"start":{"line":165,"column":23},"end":{"line":167,"column":10}},"type":"cond-expr","locations":[{"start":{"line":166,"column":6},"end":{"line":166,"column":76}},{"start":{"line":167,"column":6},"end":{"line":167,"column":10}}],"line":165},"6":{"loc":{"start":{"line":172,"column":2},"end":{"line":189,"column":3}},"type":"if","locations":[{"start":{"line":172,"column":2},"end":{"line":189,"column":3}},{"start":{},"end":{}}],"line":172},"7":{"loc":{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},"type":"if","locations":[{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},{"start":{},"end":{}}],"line":213}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0,0,0],"2":[0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useManageTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useManageTokens.tsx","statementMap":{"0":{"start":{"line":56,"column":16},"end":{"line":56,"column":37}},"1":{"start":{"line":57,"column":19},"end":{"line":57,"column":42}},"2":{"start":{"line":58,"column":22},"end":{"line":58,"column":34}},"3":{"start":{"line":59,"column":37},"end":{"line":59,"column":48}},"4":{"start":{"line":62,"column":6},"end":{"line":62,"column":25}},"5":{"start":{"line":64,"column":26},"end":{"line":92,"column":56}},"6":{"start":{"line":67,"column":8},"end":{"line":67,"column":12}},"7":{"start":{"line":68,"column":4},"end":{"line":71,"column":7}},"8":{"start":{"line":74,"column":25},"end":{"line":74,"column":29}},"9":{"start":{"line":75,"column":4},"end":{"line":90,"column":5}},"10":{"start":{"line":76,"column":6},"end":{"line":85,"column":31}},"11":{"start":{"line":86,"column":6},"end":{"line":89,"column":7}},"12":{"start":{"line":87,"column":8},"end":{"line":87,"column":89}},"13":{"start":{"line":88,"column":8},"end":{"line":88,"column":86}},"14":{"start":{"line":91,"column":4},"end":{"line":91,"column":68}},"15":{"start":{"line":94,"column":28},"end":{"line":122,"column":65}},"16":{"start":{"line":97,"column":8},"end":{"line":97,"column":12}},"17":{"start":{"line":98,"column":4},"end":{"line":101,"column":7}},"18":{"start":{"line":103,"column":25},"end":{"line":103,"column":29}},"19":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"20":{"start":{"line":107,"column":6},"end":{"line":107,"column":46}},"21":{"start":{"line":110,"column":4},"end":{"line":120,"column":5}},"22":{"start":{"line":111,"column":6},"end":{"line":119,"column":31}},"23":{"start":{"line":121,"column":4},"end":{"line":121,"column":70}},"24":{"start":{"line":124,"column":31},"end":{"line":131,"column":40}},"25":{"start":{"line":125,"column":4},"end":{"line":128,"column":7}},"26":{"start":{"line":129,"column":4},"end":{"line":129,"column":25}},"27":{"start":{"line":130,"column":4},"end":{"line":130,"column":67}},"28":{"start":{"line":133,"column":28},"end":{"line":161,"column":46}},"29":{"start":{"line":134,"column":30},"end":{"line":134,"column":32}},"30":{"start":{"line":135,"column":4},"end":{"line":139,"column":5}},"31":{"start":{"line":136,"column":6},"end":{"line":138,"column":9}},"32":{"start":{"line":141,"column":29},"end":{"line":147,"column":6}},"33":{"start":{"line":148,"column":4},"end":{"line":160,"column":5}},"34":{"start":{"line":149,"column":6},"end":{"line":152,"column":9}},"35":{"start":{"line":153,"column":6},"end":{"line":153,"column":24}},"36":{"start":{"line":154,"column":6},"end":{"line":156,"column":7}},"37":{"start":{"line":155,"column":8},"end":{"line":155,"column":37}},"38":{"start":{"line":157,"column":6},"end":{"line":157,"column":66}},"39":{"start":{"line":158,"column":6},"end":{"line":158,"column":77}},"40":{"start":{"line":159,"column":6},"end":{"line":159,"column":80}},"41":{"start":{"line":163,"column":22},"end":{"line":179,"column":58}},"42":{"start":{"line":164,"column":29},"end":{"line":169,"column":6}},"43":{"start":{"line":170,"column":4},"end":{"line":178,"column":5}},"44":{"start":{"line":171,"column":29},"end":{"line":171,"column":69}},"45":{"start":{"line":172,"column":6},"end":{"line":175,"column":9}},"46":{"start":{"line":176,"column":6},"end":{"line":176,"column":63}},"47":{"start":{"line":177,"column":6},"end":{"line":177,"column":71}},"48":{"start":{"line":181,"column":27},"end":{"line":200,"column":56}},"49":{"start":{"line":182,"column":29},"end":{"line":188,"column":6}},"50":{"start":{"line":189,"column":4},"end":{"line":199,"column":5}},"51":{"start":{"line":190,"column":6},"end":{"line":193,"column":9}},"52":{"start":{"line":194,"column":6},"end":{"line":197,"column":9}},"53":{"start":{"line":195,"column":37},"end":{"line":195,"column":46}},"54":{"start":{"line":196,"column":8},"end":{"line":196,"column":60}},"55":{"start":{"line":198,"column":6},"end":{"line":198,"column":71}},"56":{"start":{"line":202,"column":22},"end":{"line":218,"column":52}},"57":{"start":{"line":203,"column":27},"end":{"line":203,"column":67}},"58":{"start":{"line":204,"column":19},"end":{"line":204,"column":51}},"59":{"start":{"line":205,"column":4},"end":{"line":207,"column":7}},"60":{"start":{"line":208,"column":27},"end":{"line":208,"column":55}},"61":{"start":{"line":209,"column":27},"end":{"line":214,"column":9}},"62":{"start":{"line":210,"column":25},"end":{"line":210,"column":78}},"63":{"start":{"line":211,"column":31},"end":{"line":214,"column":7}},"64":{"start":{"line":215,"column":4},"end":{"line":215,"column":71}},"65":{"start":{"line":216,"column":4},"end":{"line":216,"column":68}},"66":{"start":{"line":217,"column":4},"end":{"line":217,"column":26}},"67":{"start":{"line":220,"column":25},"end":{"line":228,"column":52}},"68":{"start":{"line":221,"column":27},"end":{"line":221,"column":67}},"69":{"start":{"line":223,"column":4},"end":{"line":223,"column":97}},"70":{"start":{"line":224,"column":4},"end":{"line":226,"column":7}},"71":{"start":{"line":227,"column":4},"end":{"line":227,"column":72}},"72":{"start":{"line":230,"column":33},"end":{"line":234,"column":29}},"73":{"start":{"line":231,"column":4},"end":{"line":233,"column":7}},"74":{"start":{"line":236,"column":31},"end":{"line":253,"column":45}},"75":{"start":{"line":237,"column":4},"end":{"line":252,"column":7}},"76":{"start":{"line":238,"column":6},"end":{"line":238,"column":104}},"77":{"start":{"line":240,"column":31},"end":{"line":240,"column":88}},"78":{"start":{"line":241,"column":27},"end":{"line":241,"column":76}},"79":{"start":{"line":243,"column":6},"end":{"line":245,"column":7}},"80":{"start":{"line":244,"column":8},"end":{"line":244,"column":70}},"81":{"start":{"line":247,"column":6},"end":{"line":249,"column":7}},"82":{"start":{"line":248,"column":8},"end":{"line":248,"column":68}},"83":{"start":{"line":251,"column":6},"end":{"line":251,"column":79}},"84":{"start":{"line":255,"column":2},"end":{"line":257,"column":191}},"85":{"start":{"line":255,"column":24},"end":{"line":257,"column":3}}},"fnMap":{"0":{"name":"useManageTokens","decl":{"start":{"line":55,"column":24},"end":{"line":55,"column":39}},"loc":{"start":{"line":55,"column":42},"end":{"line":258,"column":1}},"line":55},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":38},"end":{"line":64,"column":39}},"loc":{"start":{"line":64,"column":75},"end":{"line":92,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":94,"column":40},"end":{"line":94,"column":41}},"loc":{"start":{"line":94,"column":79},"end":{"line":122,"column":3}},"line":94},"3":{"name":"(anonymous_3)","decl":{"start":{"line":124,"column":43},"end":{"line":124,"column":44}},"loc":{"start":{"line":124,"column":82},"end":{"line":131,"column":3}},"line":124},"4":{"name":"(anonymous_4)","decl":{"start":{"line":133,"column":40},"end":{"line":133,"column":41}},"loc":{"start":{"line":133,"column":76},"end":{"line":161,"column":3}},"line":133},"5":{"name":"(anonymous_5)","decl":{"start":{"line":163,"column":34},"end":{"line":163,"column":35}},"loc":{"start":{"line":163,"column":72},"end":{"line":179,"column":3}},"line":163},"6":{"name":"(anonymous_6)","decl":{"start":{"line":181,"column":39},"end":{"line":181,"column":40}},"loc":{"start":{"line":181,"column":109},"end":{"line":200,"column":3}},"line":181},"7":{"name":"(anonymous_7)","decl":{"start":{"line":194,"column":26},"end":{"line":194,"column":27}},"loc":{"start":{"line":194,"column":41},"end":{"line":197,"column":7}},"line":194},"8":{"name":"(anonymous_8)","decl":{"start":{"line":202,"column":34},"end":{"line":202,"column":35}},"loc":{"start":{"line":202,"column":118},"end":{"line":218,"column":3}},"line":202},"9":{"name":"(anonymous_9)","decl":{"start":{"line":210,"column":14},"end":{"line":210,"column":15}},"loc":{"start":{"line":210,"column":25},"end":{"line":210,"column":78}},"line":210},"10":{"name":"(anonymous_10)","decl":{"start":{"line":211,"column":11},"end":{"line":211,"column":12}},"loc":{"start":{"line":211,"column":31},"end":{"line":214,"column":7}},"line":211},"11":{"name":"(anonymous_11)","decl":{"start":{"line":220,"column":37},"end":{"line":220,"column":38}},"loc":{"start":{"line":220,"column":91},"end":{"line":228,"column":3}},"line":220},"12":{"name":"(anonymous_12)","decl":{"start":{"line":230,"column":45},"end":{"line":230,"column":46}},"loc":{"start":{"line":230,"column":124},"end":{"line":234,"column":3}},"line":230},"13":{"name":"(anonymous_13)","decl":{"start":{"line":236,"column":43},"end":{"line":236,"column":44}},"loc":{"start":{"line":236,"column":195},"end":{"line":253,"column":3}},"line":236},"14":{"name":"(anonymous_14)","decl":{"start":{"line":237,"column":49},"end":{"line":237,"column":50}},"loc":{"start":{"line":237,"column":55},"end":{"line":252,"column":5}},"line":237},"15":{"name":"(anonymous_15)","decl":{"start":{"line":255,"column":17},"end":{"line":255,"column":18}},"loc":{"start":{"line":255,"column":24},"end":{"line":257,"column":3}},"line":255}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":55},"end":{"line":66,"column":82}},"type":"default-arg","locations":[{"start":{"line":66,"column":78},"end":{"line":66,"column":82}}],"line":66},"1":{"loc":{"start":{"line":75,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":75},"2":{"loc":{"start":{"line":86,"column":6},"end":{"line":89,"column":7}},"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":89,"column":7}},{"start":{},"end":{}}],"line":86},"3":{"loc":{"start":{"line":96,"column":46},"end":{"line":96,"column":73}},"type":"default-arg","locations":[{"start":{"line":96,"column":69},"end":{"line":96,"column":73}}],"line":96},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":106},"5":{"loc":{"start":{"line":110,"column":4},"end":{"line":120,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":120,"column":5}},{"start":{},"end":{}}],"line":110},"6":{"loc":{"start":{"line":135,"column":4},"end":{"line":139,"column":5}},"type":"if","locations":[{"start":{"line":135,"column":4},"end":{"line":139,"column":5}},{"start":{},"end":{}}],"line":135},"7":{"loc":{"start":{"line":135,"column":8},"end":{"line":135,"column":155}},"type":"binary-expr","locations":[{"start":{"line":135,"column":8},"end":{"line":135,"column":53}},{"start":{"line":135,"column":57},"end":{"line":135,"column":66}},{"start":{"line":135,"column":70},"end":{"line":135,"column":155}}],"line":135},"8":{"loc":{"start":{"line":148,"column":4},"end":{"line":160,"column":5}},"type":"if","locations":[{"start":{"line":148,"column":4},"end":{"line":160,"column":5}},{"start":{},"end":{}}],"line":148},"9":{"loc":{"start":{"line":154,"column":6},"end":{"line":156,"column":7}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":156,"column":7}},{"start":{},"end":{}}],"line":154},"10":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":101}},"type":"binary-expr","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":46}},{"start":{"line":154,"column":50},"end":{"line":154,"column":101}}],"line":154},"11":{"loc":{"start":{"line":170,"column":4},"end":{"line":178,"column":5}},"type":"if","locations":[{"start":{"line":170,"column":4},"end":{"line":178,"column":5}},{"start":{},"end":{}}],"line":170},"12":{"loc":{"start":{"line":189,"column":4},"end":{"line":199,"column":5}},"type":"if","locations":[{"start":{"line":189,"column":4},"end":{"line":199,"column":5}},{"start":{},"end":{}}],"line":189},"13":{"loc":{"start":{"line":208,"column":27},"end":{"line":208,"column":55}},"type":"binary-expr","locations":[{"start":{"line":208,"column":27},"end":{"line":208,"column":49}},{"start":{"line":208,"column":53},"end":{"line":208,"column":55}}],"line":208},"14":{"loc":{"start":{"line":210,"column":25},"end":{"line":210,"column":78}},"type":"binary-expr","locations":[{"start":{"line":210,"column":25},"end":{"line":210,"column":55}},{"start":{"line":210,"column":59},"end":{"line":210,"column":78}}],"line":210},"15":{"loc":{"start":{"line":240,"column":31},"end":{"line":240,"column":88}},"type":"binary-expr","locations":[{"start":{"line":240,"column":31},"end":{"line":240,"column":52}},{"start":{"line":240,"column":56},"end":{"line":240,"column":88}}],"line":240},"16":{"loc":{"start":{"line":241,"column":27},"end":{"line":241,"column":76}},"type":"binary-expr","locations":[{"start":{"line":241,"column":27},"end":{"line":241,"column":44}},{"start":{"line":241,"column":48},"end":{"line":241,"column":76}}],"line":241},"17":{"loc":{"start":{"line":243,"column":6},"end":{"line":245,"column":7}},"type":"if","locations":[{"start":{"line":243,"column":6},"end":{"line":245,"column":7}},{"start":{},"end":{}}],"line":243},"18":{"loc":{"start":{"line":247,"column":6},"end":{"line":249,"column":7}},"type":"if","locations":[{"start":{"line":247,"column":6},"end":{"line":249,"column":7}},{"start":{},"end":{}}],"line":247}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useStorage.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useStorage.tsx","statementMap":{"0":{"start":{"line":14,"column":19},"end":{"line":14,"column":42}},"1":{"start":{"line":16,"column":25},"end":{"line":27,"column":16}},"2":{"start":{"line":20,"column":4},"end":{"line":25,"column":5}},"3":{"start":{"line":21,"column":6},"end":{"line":24,"column":9}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"5":{"start":{"line":29,"column":2},"end":{"line":29,"column":28}}},"fnMap":{"0":{"name":"useStorage","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":37},"end":{"line":30,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":37},"end":{"line":16,"column":38}},"loc":{"start":{"line":19,"column":31},"end":{"line":27,"column":3}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},"type":"default-arg","locations":[{"start":{"line":18,"column":26},"end":{"line":18,"column":31}}],"line":18},"1":{"loc":{"start":{"line":20,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":25,"column":5}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx","statementMap":{"0":{"start":{"line":53,"column":39},"end":{"line":53,"column":59}},"1":{"start":{"line":61,"column":19},"end":{"line":61,"column":42}},"2":{"start":{"line":62,"column":25},"end":{"line":62,"column":60}},"3":{"start":{"line":63,"column":21},"end":{"line":63,"column":52}},"4":{"start":{"line":64,"column":17},"end":{"line":64,"column":44}},"5":{"start":{"line":65,"column":17},"end":{"line":65,"column":48}},"6":{"start":{"line":66,"column":19},"end":{"line":66,"column":62}},"7":{"start":{"line":67,"column":35},"end":{"line":67,"column":80}},"8":{"start":{"line":68,"column":22},"end":{"line":68,"column":49}},"9":{"start":{"line":69,"column":16},"end":{"line":69,"column":37}},"10":{"start":{"line":70,"column":24},"end":{"line":70,"column":49}},"11":{"start":{"line":71,"column":24},"end":{"line":71,"column":87}},"12":{"start":{"line":71,"column":38},"end":{"line":71,"column":72}},"13":{"start":{"line":72,"column":18},"end":{"line":72,"column":32}},"14":{"start":{"line":73,"column":28},"end":{"line":79,"column":3}},"15":{"start":{"line":80,"column":22},"end":{"line":80,"column":33}},"16":{"start":{"line":83,"column":24},"end":{"line":86,"column":3}},"17":{"start":{"line":84,"column":46},"end":{"line":84,"column":83}},"18":{"start":{"line":84,"column":67},"end":{"line":84,"column":82}},"19":{"start":{"line":89,"column":18},"end":{"line":92,"column":3}},"20":{"start":{"line":90,"column":58},"end":{"line":90,"column":93}},"21":{"start":{"line":95,"column":29},"end":{"line":122,"column":3}},"22":{"start":{"line":104,"column":10},"end":{"line":104,"column":14}},"23":{"start":{"line":105,"column":24},"end":{"line":105,"column":81}},"24":{"start":{"line":106,"column":6},"end":{"line":117,"column":9}},"25":{"start":{"line":125,"column":26},"end":{"line":130,"column":3}},"26":{"start":{"line":126,"column":10},"end":{"line":126,"column":75}},"27":{"start":{"line":133,"column":27},"end":{"line":139,"column":3}},"28":{"start":{"line":135,"column":6},"end":{"line":135,"column":27}},"29":{"start":{"line":136,"column":6},"end":{"line":136,"column":49}},"30":{"start":{"line":142,"column":23},"end":{"line":159,"column":51}},"31":{"start":{"line":143,"column":4},"end":{"line":143,"column":27}},"32":{"start":{"line":144,"column":4},"end":{"line":158,"column":5}},"33":{"start":{"line":145,"column":6},"end":{"line":154,"column":9}},"34":{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},"35":{"start":{"line":152,"column":10},"end":{"line":152,"column":47}},"36":{"start":{"line":157,"column":6},"end":{"line":157,"column":43}},"37":{"start":{"line":162,"column":21},"end":{"line":190,"column":15}},"38":{"start":{"line":163,"column":25},"end":{"line":172,"column":6}},"39":{"start":{"line":174,"column":4},"end":{"line":189,"column":5}},"40":{"start":{"line":175,"column":6},"end":{"line":179,"column":9}},"41":{"start":{"line":181,"column":6},"end":{"line":188,"column":9}},"42":{"start":{"line":192,"column":24},"end":{"line":195,"column":8}},"43":{"start":{"line":197,"column":30},"end":{"line":204,"column":8}},"44":{"start":{"line":198,"column":4},"end":{"line":198,"column":57}},"45":{"start":{"line":200,"column":4},"end":{"line":203,"column":7}},"46":{"start":{"line":206,"column":22},"end":{"line":221,"column":3}},"47":{"start":{"line":208,"column":6},"end":{"line":208,"column":49}},"48":{"start":{"line":210,"column":6},"end":{"line":218,"column":10}},"49":{"start":{"line":210,"column":58},"end":{"line":218,"column":8}},"50":{"start":{"line":223,"column":26},"end":{"line":235,"column":3}},"51":{"start":{"line":225,"column":6},"end":{"line":225,"column":53}},"52":{"start":{"line":227,"column":6},"end":{"line":232,"column":10}},"53":{"start":{"line":227,"column":62},"end":{"line":232,"column":8}},"54":{"start":{"line":238,"column":21},"end":{"line":250,"column":3}},"55":{"start":{"line":240,"column":6},"end":{"line":240,"column":48}},"56":{"start":{"line":242,"column":6},"end":{"line":247,"column":10}},"57":{"start":{"line":242,"column":58},"end":{"line":247,"column":8}},"58":{"start":{"line":252,"column":29},"end":{"line":349,"column":3}},"59":{"start":{"line":265,"column":26},"end":{"line":296,"column":8}},"60":{"start":{"line":297,"column":6},"end":{"line":346,"column":7}},"61":{"start":{"line":298,"column":8},"end":{"line":306,"column":9}},"62":{"start":{"line":300,"column":53},"end":{"line":300,"column":142}},"63":{"start":{"line":302,"column":10},"end":{"line":304,"column":12}},"64":{"start":{"line":303,"column":50},"end":{"line":303,"column":146}},"65":{"start":{"line":305,"column":10},"end":{"line":305,"column":67}},"66":{"start":{"line":307,"column":8},"end":{"line":326,"column":9}},"67":{"start":{"line":308,"column":10},"end":{"line":308,"column":79}},"68":{"start":{"line":309,"column":33},"end":{"line":309,"column":61}},"69":{"start":{"line":310,"column":50},"end":{"line":310,"column":52}},"70":{"start":{"line":311,"column":10},"end":{"line":319,"column":29}},"71":{"start":{"line":312,"column":12},"end":{"line":317,"column":13}},"72":{"start":{"line":313,"column":14},"end":{"line":316,"column":17}},"73":{"start":{"line":318,"column":12},"end":{"line":318,"column":25}},"74":{"start":{"line":321,"column":25},"end":{"line":324,"column":12}},"75":{"start":{"line":325,"column":10},"end":{"line":325,"column":83}},"76":{"start":{"line":328,"column":8},"end":{"line":345,"column":9}},"77":{"start":{"line":329,"column":10},"end":{"line":329,"column":76}},"78":{"start":{"line":330,"column":33},"end":{"line":330,"column":61}},"79":{"start":{"line":331,"column":33},"end":{"line":336,"column":15}},"80":{"start":{"line":332,"column":31},"end":{"line":332,"column":89}},"81":{"start":{"line":333,"column":37},"end":{"line":336,"column":13}},"82":{"start":{"line":338,"column":37},"end":{"line":343,"column":12}},"83":{"start":{"line":344,"column":10},"end":{"line":344,"column":104}},"84":{"start":{"line":352,"column":44},"end":{"line":419,"column":3}},"85":{"start":{"line":354,"column":33},"end":{"line":354,"column":136}},"86":{"start":{"line":355,"column":6},"end":{"line":355,"column":38}},"87":{"start":{"line":355,"column":31},"end":{"line":355,"column":38}},"88":{"start":{"line":357,"column":6},"end":{"line":360,"column":9}},"89":{"start":{"line":362,"column":31},"end":{"line":364,"column":40}},"90":{"start":{"line":363,"column":25},"end":{"line":363,"column":62}},"91":{"start":{"line":364,"column":27},"end":{"line":364,"column":39}},"92":{"start":{"line":366,"column":6},"end":{"line":369,"column":7}},"93":{"start":{"line":367,"column":8},"end":{"line":367,"column":91}},"94":{"start":{"line":368,"column":8},"end":{"line":368,"column":15}},"95":{"start":{"line":371,"column":30},"end":{"line":374,"column":12}},"96":{"start":{"line":372,"column":8},"end":{"line":372,"column":34}},"97":{"start":{"line":373,"column":8},"end":{"line":373,"column":19}},"98":{"start":{"line":376,"column":30},"end":{"line":376,"column":71}},"99":{"start":{"line":378,"column":23},"end":{"line":378,"column":70}},"100":{"start":{"line":379,"column":34},"end":{"line":381,"column":7}},"101":{"start":{"line":380,"column":19},"end":{"line":380,"column":95}},"102":{"start":{"line":383,"column":29},"end":{"line":393,"column":12}},"103":{"start":{"line":384,"column":29},"end":{"line":388,"column":40}},"104":{"start":{"line":388,"column":30},"end":{"line":388,"column":39}},"105":{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},"106":{"start":{"line":390,"column":10},"end":{"line":390,"column":25}},"107":{"start":{"line":392,"column":8},"end":{"line":392,"column":19}},"108":{"start":{"line":395,"column":6},"end":{"line":400,"column":10}},"109":{"start":{"line":395,"column":66},"end":{"line":400,"column":8}},"110":{"start":{"line":402,"column":6},"end":{"line":414,"column":9}},"111":{"start":{"line":416,"column":6},"end":{"line":416,"column":68}},"112":{"start":{"line":421,"column":41},"end":{"line":526,"column":3}},"113":{"start":{"line":423,"column":33},"end":{"line":423,"column":138}},"114":{"start":{"line":424,"column":6},"end":{"line":424,"column":38}},"115":{"start":{"line":424,"column":31},"end":{"line":424,"column":38}},"116":{"start":{"line":426,"column":6},"end":{"line":429,"column":9}},"117":{"start":{"line":431,"column":32},"end":{"line":431,"column":33}},"118":{"start":{"line":433,"column":28},"end":{"line":433,"column":68}},"119":{"start":{"line":435,"column":52},"end":{"line":435,"column":54}},"120":{"start":{"line":437,"column":51},"end":{"line":446,"column":24}},"121":{"start":{"line":438,"column":8},"end":{"line":444,"column":9}},"122":{"start":{"line":439,"column":10},"end":{"line":443,"column":13}},"123":{"start":{"line":440,"column":12},"end":{"line":442,"column":13}},"124":{"start":{"line":441,"column":14},"end":{"line":441,"column":57}},"125":{"start":{"line":445,"column":8},"end":{"line":445,"column":19}},"126":{"start":{"line":448,"column":6},"end":{"line":493,"column":7}},"127":{"start":{"line":449,"column":30},"end":{"line":449,"column":74}},"128":{"start":{"line":449,"column":53},"end":{"line":449,"column":73}},"129":{"start":{"line":451,"column":8},"end":{"line":492,"column":9}},"130":{"start":{"line":452,"column":31},"end":{"line":452,"column":62}},"131":{"start":{"line":453,"column":35},"end":{"line":453,"column":68}},"132":{"start":{"line":455,"column":10},"end":{"line":491,"column":11}},"133":{"start":{"line":456,"column":36},"end":{"line":456,"column":89}},"134":{"start":{"line":457,"column":30},"end":{"line":457,"column":77}},"135":{"start":{"line":459,"column":42},"end":{"line":461,"column":13}},"136":{"start":{"line":460,"column":25},"end":{"line":460,"column":101}},"137":{"start":{"line":463,"column":35},"end":{"line":474,"column":18}},"138":{"start":{"line":464,"column":35},"end":{"line":468,"column":46}},"139":{"start":{"line":468,"column":36},"end":{"line":468,"column":45}},"140":{"start":{"line":469,"column":14},"end":{"line":471,"column":15}},"141":{"start":{"line":469,"column":55},"end":{"line":469,"column":79}},"142":{"start":{"line":470,"column":16},"end":{"line":470,"column":31}},"143":{"start":{"line":473,"column":14},"end":{"line":473,"column":25}},"144":{"start":{"line":476,"column":12},"end":{"line":476,"column":57}},"145":{"start":{"line":478,"column":39},"end":{"line":484,"column":15}},"146":{"start":{"line":478,"column":99},"end":{"line":484,"column":14}},"147":{"start":{"line":486,"column":12},"end":{"line":486,"column":68}},"148":{"start":{"line":488,"column":12},"end":{"line":488,"column":144}},"149":{"start":{"line":490,"column":12},"end":{"line":490,"column":128}},"150":{"start":{"line":495,"column":6},"end":{"line":507,"column":9}},"151":{"start":{"line":509,"column":6},"end":{"line":521,"column":7}},"152":{"start":{"line":510,"column":47},"end":{"line":513,"column":11}},"153":{"start":{"line":514,"column":41},"end":{"line":517,"column":10}},"154":{"start":{"line":518,"column":8},"end":{"line":520,"column":9}},"155":{"start":{"line":519,"column":10},"end":{"line":519,"column":63}},"156":{"start":{"line":523,"column":6},"end":{"line":523,"column":68}},"157":{"start":{"line":528,"column":33},"end":{"line":541,"column":3}},"158":{"start":{"line":530,"column":6},"end":{"line":530,"column":56}},"159":{"start":{"line":532,"column":33},"end":{"line":537,"column":8}},"160":{"start":{"line":538,"column":6},"end":{"line":538,"column":100}},"161":{"start":{"line":543,"column":33},"end":{"line":555,"column":3}},"162":{"start":{"line":545,"column":6},"end":{"line":545,"column":35}},"163":{"start":{"line":547,"column":33},"end":{"line":551,"column":8}},"164":{"start":{"line":552,"column":6},"end":{"line":552,"column":80}},"165":{"start":{"line":557,"column":30},"end":{"line":577,"column":3}},"166":{"start":{"line":559,"column":22},"end":{"line":559,"column":55}},"167":{"start":{"line":560,"column":27},"end":{"line":560,"column":65}},"168":{"start":{"line":561,"column":26},"end":{"line":566,"column":9}},"169":{"start":{"line":562,"column":23},"end":{"line":562,"column":87}},"170":{"start":{"line":563,"column":21},"end":{"line":563,"column":57}},"171":{"start":{"line":568,"column":6},"end":{"line":568,"column":48}},"172":{"start":{"line":570,"column":6},"end":{"line":574,"column":9}},"173":{"start":{"line":579,"column":33},"end":{"line":603,"column":14}},"174":{"start":{"line":580,"column":23},"end":{"line":600,"column":42}},"175":{"start":{"line":581,"column":32},"end":{"line":597,"column":28}},"176":{"start":{"line":582,"column":30},"end":{"line":582,"column":90}},"177":{"start":{"line":585,"column":8},"end":{"line":589,"column":9}},"178":{"start":{"line":587,"column":10},"end":{"line":587,"column":39}},"179":{"start":{"line":588,"column":10},"end":{"line":588,"column":42}},"180":{"start":{"line":590,"column":8},"end":{"line":594,"column":9}},"181":{"start":{"line":591,"column":10},"end":{"line":593,"column":11}},"182":{"start":{"line":592,"column":12},"end":{"line":592,"column":23}},"183":{"start":{"line":595,"column":8},"end":{"line":595,"column":28}},"184":{"start":{"line":596,"column":8},"end":{"line":596,"column":19}},"185":{"start":{"line":598,"column":6},"end":{"line":598,"column":50}},"186":{"start":{"line":599,"column":6},"end":{"line":599,"column":24}},"187":{"start":{"line":602,"column":4},"end":{"line":602,"column":22}},"188":{"start":{"line":605,"column":26},"end":{"line":629,"column":63}},"189":{"start":{"line":606,"column":4},"end":{"line":609,"column":7}},"190":{"start":{"line":610,"column":37},"end":{"line":610,"column":61}},"191":{"start":{"line":611,"column":33},"end":{"line":626,"column":5}},"192":{"start":{"line":615,"column":23},"end":{"line":615,"column":35}},"193":{"start":{"line":616,"column":10},"end":{"line":618,"column":11}},"194":{"start":{"line":617,"column":12},"end":{"line":617,"column":77}},"195":{"start":{"line":621,"column":18},"end":{"line":625,"column":8}},"196":{"start":{"line":627,"column":4},"end":{"line":627,"column":83}},"197":{"start":{"line":628,"column":4},"end":{"line":628,"column":68}},"198":{"start":{"line":631,"column":34},"end":{"line":676,"column":3}},"199":{"start":{"line":633,"column":36},"end":{"line":637,"column":34}},"200":{"start":{"line":638,"column":6},"end":{"line":638,"column":41}},"201":{"start":{"line":638,"column":34},"end":{"line":638,"column":41}},"202":{"start":{"line":640,"column":6},"end":{"line":643,"column":9}},"203":{"start":{"line":644,"column":6},"end":{"line":671,"column":8}},"204":{"start":{"line":648,"column":25},"end":{"line":648,"column":37}},"205":{"start":{"line":649,"column":12},"end":{"line":662,"column":13}},"206":{"start":{"line":650,"column":14},"end":{"line":660,"column":17}},"207":{"start":{"line":661,"column":14},"end":{"line":661,"column":79}},"208":{"start":{"line":665,"column":20},"end":{"line":670,"column":10}},"209":{"start":{"line":672,"column":6},"end":{"line":672,"column":70}},"210":{"start":{"line":673,"column":6},"end":{"line":673,"column":24}},"211":{"start":{"line":678,"column":36},"end":{"line":724,"column":3}},"212":{"start":{"line":680,"column":36},"end":{"line":684,"column":36}},"213":{"start":{"line":685,"column":6},"end":{"line":685,"column":41}},"214":{"start":{"line":685,"column":34},"end":{"line":685,"column":41}},"215":{"start":{"line":687,"column":6},"end":{"line":690,"column":9}},"216":{"start":{"line":691,"column":35},"end":{"line":718,"column":7}},"217":{"start":{"line":695,"column":25},"end":{"line":695,"column":37}},"218":{"start":{"line":696,"column":12},"end":{"line":709,"column":13}},"219":{"start":{"line":697,"column":14},"end":{"line":707,"column":17}},"220":{"start":{"line":708,"column":14},"end":{"line":708,"column":79}},"221":{"start":{"line":712,"column":20},"end":{"line":717,"column":10}},"222":{"start":{"line":719,"column":6},"end":{"line":719,"column":85}},"223":{"start":{"line":720,"column":6},"end":{"line":720,"column":70}},"224":{"start":{"line":721,"column":6},"end":{"line":721,"column":24}},"225":{"start":{"line":726,"column":35},"end":{"line":743,"column":3}},"226":{"start":{"line":728,"column":6},"end":{"line":728,"column":53}},"227":{"start":{"line":730,"column":21},"end":{"line":738,"column":9}},"228":{"start":{"line":730,"column":84},"end":{"line":738,"column":8}},"229":{"start":{"line":740,"column":6},"end":{"line":740,"column":79}},"230":{"start":{"line":745,"column":35},"end":{"line":752,"column":8}},"231":{"start":{"line":746,"column":4},"end":{"line":746,"column":38}},"232":{"start":{"line":748,"column":4},"end":{"line":751,"column":8}},"233":{"start":{"line":748,"column":67},"end":{"line":751,"column":6}},"234":{"start":{"line":754,"column":2},"end":{"line":807,"column":4}},"235":{"start":{"line":755,"column":11},"end":{"line":780,"column":5}}},"fnMap":{"0":{"name":"useTokens","decl":{"start":{"line":60,"column":24},"end":{"line":60,"column":33}},"loc":{"start":{"line":60,"column":36},"end":{"line":808,"column":1}},"line":60},"1":{"name":"(anonymous_1)","decl":{"start":{"line":71,"column":32},"end":{"line":71,"column":33}},"loc":{"start":{"line":71,"column":38},"end":{"line":71,"column":72}},"line":71},"2":{"name":"(anonymous_2)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":46},"end":{"line":84,"column":83}},"line":84},"3":{"name":"(anonymous_3)","decl":{"start":{"line":84,"column":60},"end":{"line":84,"column":61}},"loc":{"start":{"line":84,"column":67},"end":{"line":84,"column":82}},"line":84},"4":{"name":"(anonymous_4)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":58},"end":{"line":90,"column":93}},"line":90},"5":{"name":"(anonymous_5)","decl":{"start":{"line":96,"column":4},"end":{"line":96,"column":5}},"loc":{"start":{"line":96,"column":41},"end":{"line":118,"column":5}},"line":96},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":4},"end":{"line":126,"column":5}},"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":75}},"line":126},"7":{"name":"(anonymous_7)","decl":{"start":{"line":134,"column":4},"end":{"line":134,"column":5}},"loc":{"start":{"line":134,"column":27},"end":{"line":137,"column":5}},"line":134},"8":{"name":"(anonymous_8)","decl":{"start":{"line":142,"column":35},"end":{"line":142,"column":36}},"loc":{"start":{"line":142,"column":41},"end":{"line":159,"column":3}},"line":142},"9":{"name":"(anonymous_9)","decl":{"start":{"line":149,"column":14},"end":{"line":149,"column":15}},"loc":{"start":{"line":149,"column":26},"end":{"line":154,"column":7}},"line":149},"10":{"name":"(anonymous_10)","decl":{"start":{"line":162,"column":33},"end":{"line":162,"column":34}},"loc":{"start":{"line":162,"column":45},"end":{"line":190,"column":3}},"line":162},"11":{"name":"(anonymous_11)","decl":{"start":{"line":192,"column":36},"end":{"line":192,"column":37}},"loc":{"start":{"line":192,"column":48},"end":{"line":195,"column":3}},"line":192},"12":{"name":"(anonymous_12)","decl":{"start":{"line":197,"column":42},"end":{"line":197,"column":43}},"loc":{"start":{"line":197,"column":77},"end":{"line":204,"column":3}},"line":197},"13":{"name":"(anonymous_13)","decl":{"start":{"line":207,"column":4},"end":{"line":207,"column":5}},"loc":{"start":{"line":207,"column":112},"end":{"line":219,"column":5}},"line":207},"14":{"name":"(anonymous_14)","decl":{"start":{"line":210,"column":46},"end":{"line":210,"column":47}},"loc":{"start":{"line":210,"column":58},"end":{"line":218,"column":8}},"line":210},"15":{"name":"(anonymous_15)","decl":{"start":{"line":224,"column":4},"end":{"line":224,"column":5}},"loc":{"start":{"line":224,"column":87},"end":{"line":233,"column":5}},"line":224},"16":{"name":"(anonymous_16)","decl":{"start":{"line":227,"column":50},"end":{"line":227,"column":51}},"loc":{"start":{"line":227,"column":62},"end":{"line":232,"column":8}},"line":227},"17":{"name":"(anonymous_17)","decl":{"start":{"line":239,"column":4},"end":{"line":239,"column":5}},"loc":{"start":{"line":239,"column":78},"end":{"line":248,"column":5}},"line":239},"18":{"name":"(anonymous_18)","decl":{"start":{"line":242,"column":46},"end":{"line":242,"column":47}},"loc":{"start":{"line":242,"column":58},"end":{"line":247,"column":8}},"line":242},"19":{"name":"(anonymous_19)","decl":{"start":{"line":253,"column":4},"end":{"line":253,"column":5}},"loc":{"start":{"line":263,"column":10},"end":{"line":347,"column":5}},"line":263},"20":{"name":"(anonymous_20)","decl":{"start":{"line":300,"column":35},"end":{"line":300,"column":36}},"loc":{"start":{"line":300,"column":53},"end":{"line":300,"column":142}},"line":300},"21":{"name":"(anonymous_21)","decl":{"start":{"line":303,"column":31},"end":{"line":303,"column":32}},"loc":{"start":{"line":303,"column":50},"end":{"line":303,"column":146}},"line":303},"22":{"name":"(anonymous_22)","decl":{"start":{"line":311,"column":29},"end":{"line":311,"column":30}},"loc":{"start":{"line":311,"column":40},"end":{"line":319,"column":11}},"line":311},"23":{"name":"(anonymous_23)","decl":{"start":{"line":332,"column":20},"end":{"line":332,"column":21}},"loc":{"start":{"line":332,"column":31},"end":{"line":332,"column":89}},"line":332},"24":{"name":"(anonymous_24)","decl":{"start":{"line":333,"column":17},"end":{"line":333,"column":18}},"loc":{"start":{"line":333,"column":37},"end":{"line":336,"column":13}},"line":333},"25":{"name":"(anonymous_25)","decl":{"start":{"line":353,"column":4},"end":{"line":353,"column":5}},"loc":{"start":{"line":353,"column":46},"end":{"line":417,"column":5}},"line":353},"26":{"name":"(anonymous_26)","decl":{"start":{"line":363,"column":16},"end":{"line":363,"column":17}},"loc":{"start":{"line":363,"column":25},"end":{"line":363,"column":62}},"line":363},"27":{"name":"(anonymous_27)","decl":{"start":{"line":364,"column":13},"end":{"line":364,"column":14}},"loc":{"start":{"line":364,"column":27},"end":{"line":364,"column":39}},"line":364},"28":{"name":"(anonymous_28)","decl":{"start":{"line":371,"column":50},"end":{"line":371,"column":51}},"loc":{"start":{"line":371,"column":64},"end":{"line":374,"column":7}},"line":371},"29":{"name":"(anonymous_29)","decl":{"start":{"line":380,"column":8},"end":{"line":380,"column":9}},"loc":{"start":{"line":380,"column":19},"end":{"line":380,"column":95}},"line":380},"30":{"name":"(anonymous_30)","decl":{"start":{"line":383,"column":56},"end":{"line":383,"column":57}},"loc":{"start":{"line":383,"column":86},"end":{"line":393,"column":7}},"line":383},"31":{"name":"(anonymous_31)","decl":{"start":{"line":388,"column":15},"end":{"line":388,"column":16}},"loc":{"start":{"line":388,"column":30},"end":{"line":388,"column":39}},"line":388},"32":{"name":"(anonymous_32)","decl":{"start":{"line":395,"column":54},"end":{"line":395,"column":55}},"loc":{"start":{"line":395,"column":66},"end":{"line":400,"column":8}},"line":395},"33":{"name":"(anonymous_33)","decl":{"start":{"line":422,"column":4},"end":{"line":422,"column":5}},"loc":{"start":{"line":422,"column":40},"end":{"line":524,"column":5}},"line":422},"34":{"name":"(anonymous_34)","decl":{"start":{"line":437,"column":65},"end":{"line":437,"column":66}},"loc":{"start":{"line":437,"column":81},"end":{"line":446,"column":7}},"line":437},"35":{"name":"(anonymous_35)","decl":{"start":{"line":439,"column":59},"end":{"line":439,"column":60}},"loc":{"start":{"line":439,"column":68},"end":{"line":443,"column":11}},"line":439},"36":{"name":"(anonymous_36)","decl":{"start":{"line":449,"column":42},"end":{"line":449,"column":43}},"loc":{"start":{"line":449,"column":53},"end":{"line":449,"column":73}},"line":449},"37":{"name":"(anonymous_37)","decl":{"start":{"line":460,"column":14},"end":{"line":460,"column":15}},"loc":{"start":{"line":460,"column":25},"end":{"line":460,"column":101}},"line":460},"38":{"name":"(anonymous_38)","decl":{"start":{"line":463,"column":64},"end":{"line":463,"column":65}},"loc":{"start":{"line":463,"column":94},"end":{"line":474,"column":13}},"line":463},"39":{"name":"(anonymous_39)","decl":{"start":{"line":468,"column":21},"end":{"line":468,"column":22}},"loc":{"start":{"line":468,"column":36},"end":{"line":468,"column":45}},"line":468},"40":{"name":"(anonymous_40)","decl":{"start":{"line":469,"column":44},"end":{"line":469,"column":45}},"loc":{"start":{"line":469,"column":55},"end":{"line":469,"column":79}},"line":469},"41":{"name":"(anonymous_41)","decl":{"start":{"line":478,"column":87},"end":{"line":478,"column":88}},"loc":{"start":{"line":478,"column":99},"end":{"line":484,"column":14}},"line":478},"42":{"name":"(anonymous_42)","decl":{"start":{"line":529,"column":4},"end":{"line":529,"column":5}},"loc":{"start":{"line":529,"column":71},"end":{"line":539,"column":5}},"line":529},"43":{"name":"(anonymous_43)","decl":{"start":{"line":544,"column":4},"end":{"line":544,"column":5}},"loc":{"start":{"line":544,"column":41},"end":{"line":553,"column":5}},"line":544},"44":{"name":"(anonymous_44)","decl":{"start":{"line":558,"column":4},"end":{"line":558,"column":5}},"loc":{"start":{"line":558,"column":39},"end":{"line":575,"column":5}},"line":558},"45":{"name":"(anonymous_45)","decl":{"start":{"line":562,"column":16},"end":{"line":562,"column":17}},"loc":{"start":{"line":562,"column":23},"end":{"line":562,"column":87}},"line":562},"46":{"name":"(anonymous_46)","decl":{"start":{"line":563,"column":13},"end":{"line":563,"column":14}},"loc":{"start":{"line":563,"column":21},"end":{"line":563,"column":57}},"line":563},"47":{"name":"(anonymous_47)","decl":{"start":{"line":579,"column":45},"end":{"line":579,"column":46}},"loc":{"start":{"line":579,"column":51},"end":{"line":603,"column":3}},"line":579},"48":{"name":"(anonymous_48)","decl":{"start":{"line":580,"column":53},"end":{"line":580,"column":54}},"loc":{"start":{"line":580,"column":95},"end":{"line":600,"column":5}},"line":580},"49":{"name":"(anonymous_49)","decl":{"start":{"line":581,"column":49},"end":{"line":581,"column":50}},"loc":{"start":{"line":581,"column":69},"end":{"line":597,"column":7}},"line":581},"50":{"name":"(anonymous_50)","decl":{"start":{"line":605,"column":38},"end":{"line":605,"column":39}},"loc":{"start":{"line":605,"column":50},"end":{"line":629,"column":3}},"line":605},"51":{"name":"(anonymous_51)","decl":{"start":{"line":614,"column":23},"end":{"line":614,"column":24}},"loc":{"start":{"line":614,"column":54},"end":{"line":619,"column":9}},"line":614},"52":{"name":"(anonymous_52)","decl":{"start":{"line":621,"column":6},"end":{"line":621,"column":7}},"loc":{"start":{"line":621,"column":18},"end":{"line":625,"column":8}},"line":621},"53":{"name":"(anonymous_53)","decl":{"start":{"line":632,"column":4},"end":{"line":632,"column":5}},"loc":{"start":{"line":632,"column":46},"end":{"line":674,"column":5}},"line":632},"54":{"name":"(anonymous_54)","decl":{"start":{"line":647,"column":25},"end":{"line":647,"column":26}},"loc":{"start":{"line":647,"column":56},"end":{"line":663,"column":11}},"line":647},"55":{"name":"(anonymous_55)","decl":{"start":{"line":665,"column":8},"end":{"line":665,"column":9}},"loc":{"start":{"line":665,"column":20},"end":{"line":670,"column":10}},"line":665},"56":{"name":"(anonymous_56)","decl":{"start":{"line":679,"column":4},"end":{"line":679,"column":5}},"loc":{"start":{"line":679,"column":40},"end":{"line":722,"column":5}},"line":679},"57":{"name":"(anonymous_57)","decl":{"start":{"line":694,"column":25},"end":{"line":694,"column":26}},"loc":{"start":{"line":694,"column":56},"end":{"line":710,"column":11}},"line":694},"58":{"name":"(anonymous_58)","decl":{"start":{"line":712,"column":8},"end":{"line":712,"column":9}},"loc":{"start":{"line":712,"column":20},"end":{"line":717,"column":10}},"line":712},"59":{"name":"(anonymous_59)","decl":{"start":{"line":727,"column":4},"end":{"line":727,"column":5}},"loc":{"start":{"line":727,"column":51},"end":{"line":741,"column":5}},"line":727},"60":{"name":"(anonymous_60)","decl":{"start":{"line":730,"column":72},"end":{"line":730,"column":73}},"loc":{"start":{"line":730,"column":84},"end":{"line":738,"column":8}},"line":730},"61":{"name":"(anonymous_61)","decl":{"start":{"line":745,"column":47},"end":{"line":745,"column":48}},"loc":{"start":{"line":745,"column":94},"end":{"line":752,"column":3}},"line":745},"62":{"name":"(anonymous_62)","decl":{"start":{"line":748,"column":55},"end":{"line":748,"column":56}},"loc":{"start":{"line":748,"column":67},"end":{"line":751,"column":6}},"line":748},"63":{"name":"(anonymous_63)","decl":{"start":{"line":755,"column":4},"end":{"line":755,"column":5}},"loc":{"start":{"line":755,"column":11},"end":{"line":780,"column":5}},"line":755}},"branchMap":{"0":{"loc":{"start":{"line":98,"column":8},"end":{"line":98,"column":32}},"type":"default-arg","locations":[{"start":{"line":98,"column":27},"end":{"line":98,"column":32}}],"line":98},"1":{"loc":{"start":{"line":99,"column":8},"end":{"line":99,"column":28}},"type":"default-arg","locations":[{"start":{"line":99,"column":24},"end":{"line":99,"column":28}}],"line":99},"2":{"loc":{"start":{"line":100,"column":8},"end":{"line":100,"column":32}},"type":"default-arg","locations":[{"start":{"line":100,"column":27},"end":{"line":100,"column":32}}],"line":100},"3":{"loc":{"start":{"line":101,"column":8},"end":{"line":101,"column":28}},"type":"default-arg","locations":[{"start":{"line":101,"column":23},"end":{"line":101,"column":28}}],"line":101},"4":{"loc":{"start":{"line":102,"column":8},"end":{"line":102,"column":33}},"type":"default-arg","locations":[{"start":{"line":102,"column":28},"end":{"line":102,"column":33}}],"line":102},"5":{"loc":{"start":{"line":103,"column":8},"end":{"line":103,"column":28}},"type":"default-arg","locations":[{"start":{"line":103,"column":23},"end":{"line":103,"column":28}}],"line":103},"6":{"loc":{"start":{"line":105,"column":24},"end":{"line":105,"column":81}},"type":"cond-expr","locations":[{"start":{"line":105,"column":43},"end":{"line":105,"column":62}},{"start":{"line":105,"column":65},"end":{"line":105,"column":81}}],"line":105},"7":{"loc":{"start":{"line":144,"column":4},"end":{"line":158,"column":5}},"type":"if","locations":[{"start":{"line":144,"column":4},"end":{"line":158,"column":5}},{"start":{"line":155,"column":11},"end":{"line":158,"column":5}}],"line":144},"8":{"loc":{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},"type":"if","locations":[{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},{"start":{},"end":{}}],"line":150},"9":{"loc":{"start":{"line":150,"column":12},"end":{"line":150,"column":35}},"type":"binary-expr","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":18}},{"start":{"line":150,"column":22},"end":{"line":150,"column":35}}],"line":150},"10":{"loc":{"start":{"line":174,"column":4},"end":{"line":189,"column":5}},"type":"if","locations":[{"start":{"line":174,"column":4},"end":{"line":189,"column":5}},{"start":{},"end":{}}],"line":174},"11":{"loc":{"start":{"line":174,"column":8},"end":{"line":174,"column":84}},"type":"binary-expr","locations":[{"start":{"line":174,"column":8},"end":{"line":174,"column":20}},{"start":{"line":174,"column":24},"end":{"line":174,"column":56}},{"start":{"line":174,"column":60},"end":{"line":174,"column":84}}],"line":174},"12":{"loc":{"start":{"line":224,"column":45},"end":{"line":224,"column":82}},"type":"default-arg","locations":[{"start":{"line":224,"column":62},"end":{"line":224,"column":82}}],"line":224},"13":{"loc":{"start":{"line":246,"column":20},"end":{"line":246,"column":58}},"type":"binary-expr","locations":[{"start":{"line":246,"column":20},"end":{"line":246,"column":35}},{"start":{"line":246,"column":39},"end":{"line":246,"column":58}}],"line":246},"14":{"loc":{"start":{"line":297,"column":6},"end":{"line":346,"column":7}},"type":"if","locations":[{"start":{"line":297,"column":6},"end":{"line":346,"column":7}},{"start":{},"end":{}}],"line":297},"15":{"loc":{"start":{"line":297,"column":10},"end":{"line":297,"column":43}},"type":"binary-expr","locations":[{"start":{"line":297,"column":10},"end":{"line":297,"column":21}},{"start":{"line":297,"column":25},"end":{"line":297,"column":43}}],"line":297},"16":{"loc":{"start":{"line":298,"column":8},"end":{"line":306,"column":9}},"type":"if","locations":[{"start":{"line":298,"column":8},"end":{"line":306,"column":9}},{"start":{},"end":{}}],"line":298},"17":{"loc":{"start":{"line":299,"column":10},"end":{"line":300,"column":143}},"type":"binary-expr","locations":[{"start":{"line":299,"column":10},"end":{"line":299,"column":41}},{"start":{"line":300,"column":13},"end":{"line":300,"column":143}}],"line":299},"18":{"loc":{"start":{"line":307,"column":8},"end":{"line":326,"column":9}},"type":"if","locations":[{"start":{"line":307,"column":8},"end":{"line":326,"column":9}},{"start":{},"end":{}}],"line":307},"19":{"loc":{"start":{"line":309,"column":33},"end":{"line":309,"column":61}},"type":"binary-expr","locations":[{"start":{"line":309,"column":33},"end":{"line":309,"column":55}},{"start":{"line":309,"column":59},"end":{"line":309,"column":61}}],"line":309},"20":{"loc":{"start":{"line":312,"column":12},"end":{"line":317,"column":13}},"type":"if","locations":[{"start":{"line":312,"column":12},"end":{"line":317,"column":13}},{"start":{},"end":{}}],"line":312},"21":{"loc":{"start":{"line":312,"column":16},"end":{"line":312,"column":74}},"type":"binary-expr","locations":[{"start":{"line":312,"column":16},"end":{"line":312,"column":51}},{"start":{"line":312,"column":55},"end":{"line":312,"column":74}}],"line":312},"22":{"loc":{"start":{"line":328,"column":8},"end":{"line":345,"column":9}},"type":"if","locations":[{"start":{"line":328,"column":8},"end":{"line":345,"column":9}},{"start":{},"end":{}}],"line":328},"23":{"loc":{"start":{"line":330,"column":33},"end":{"line":330,"column":61}},"type":"binary-expr","locations":[{"start":{"line":330,"column":33},"end":{"line":330,"column":55}},{"start":{"line":330,"column":59},"end":{"line":330,"column":61}}],"line":330},"24":{"loc":{"start":{"line":332,"column":31},"end":{"line":332,"column":89}},"type":"binary-expr","locations":[{"start":{"line":332,"column":31},"end":{"line":332,"column":66}},{"start":{"line":332,"column":70},"end":{"line":332,"column":89}}],"line":332},"25":{"loc":{"start":{"line":354,"column":33},"end":{"line":354,"column":136}},"type":"binary-expr","locations":[{"start":{"line":354,"column":34},"end":{"line":354,"column":59}},{"start":{"line":354,"column":63},"end":{"line":354,"column":83}},{"start":{"line":354,"column":87},"end":{"line":354,"column":108}},{"start":{"line":354,"column":113},"end":{"line":354,"column":136}}],"line":354},"26":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":38}},"type":"if","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":38}},{"start":{},"end":{}}],"line":355},"27":{"loc":{"start":{"line":366,"column":6},"end":{"line":369,"column":7}},"type":"if","locations":[{"start":{"line":366,"column":6},"end":{"line":369,"column":7}},{"start":{},"end":{}}],"line":366},"28":{"loc":{"start":{"line":380,"column":19},"end":{"line":380,"column":95}},"type":"binary-expr","locations":[{"start":{"line":380,"column":19},"end":{"line":380,"column":42}},{"start":{"line":380,"column":46},"end":{"line":380,"column":95}}],"line":380},"29":{"loc":{"start":{"line":385,"column":10},"end":{"line":385,"column":74}},"type":"binary-expr","locations":[{"start":{"line":385,"column":10},"end":{"line":385,"column":35}},{"start":{"line":385,"column":39},"end":{"line":385,"column":74}}],"line":385},"30":{"loc":{"start":{"line":386,"column":10},"end":{"line":386,"column":64}},"type":"binary-expr","locations":[{"start":{"line":386,"column":10},"end":{"line":386,"column":30}},{"start":{"line":386,"column":34},"end":{"line":386,"column":64}}],"line":386},"31":{"loc":{"start":{"line":387,"column":10},"end":{"line":387,"column":70}},"type":"binary-expr","locations":[{"start":{"line":387,"column":10},"end":{"line":387,"column":31}},{"start":{"line":387,"column":35},"end":{"line":387,"column":70}}],"line":387},"32":{"loc":{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},"type":"if","locations":[{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},{"start":{},"end":{}}],"line":389},"33":{"loc":{"start":{"line":423,"column":33},"end":{"line":423,"column":138}},"type":"binary-expr","locations":[{"start":{"line":423,"column":34},"end":{"line":423,"column":59}},{"start":{"line":423,"column":63},"end":{"line":423,"column":83}},{"start":{"line":423,"column":87},"end":{"line":423,"column":108}},{"start":{"line":423,"column":113},"end":{"line":423,"column":138}}],"line":423},"34":{"loc":{"start":{"line":424,"column":6},"end":{"line":424,"column":38}},"type":"if","locations":[{"start":{"line":424,"column":6},"end":{"line":424,"column":38}},{"start":{},"end":{}}],"line":424},"35":{"loc":{"start":{"line":438,"column":8},"end":{"line":444,"column":9}},"type":"if","locations":[{"start":{"line":438,"column":8},"end":{"line":444,"column":9}},{"start":{},"end":{}}],"line":438},"36":{"loc":{"start":{"line":440,"column":12},"end":{"line":442,"column":13}},"type":"if","locations":[{"start":{"line":440,"column":12},"end":{"line":442,"column":13}},{"start":{},"end":{}}],"line":440},"37":{"loc":{"start":{"line":440,"column":16},"end":{"line":440,"column":79}},"type":"binary-expr","locations":[{"start":{"line":440,"column":16},"end":{"line":440,"column":43}},{"start":{"line":440,"column":47},"end":{"line":440,"column":79}}],"line":440},"38":{"loc":{"start":{"line":451,"column":8},"end":{"line":492,"column":9}},"type":"if","locations":[{"start":{"line":451,"column":8},"end":{"line":492,"column":9}},{"start":{},"end":{}}],"line":451},"39":{"loc":{"start":{"line":455,"column":10},"end":{"line":491,"column":11}},"type":"if","locations":[{"start":{"line":455,"column":10},"end":{"line":491,"column":11}},{"start":{"line":489,"column":17},"end":{"line":491,"column":11}}],"line":455},"40":{"loc":{"start":{"line":460,"column":25},"end":{"line":460,"column":101}},"type":"binary-expr","locations":[{"start":{"line":460,"column":25},"end":{"line":460,"column":48}},{"start":{"line":460,"column":52},"end":{"line":460,"column":101}}],"line":460},"41":{"loc":{"start":{"line":465,"column":16},"end":{"line":465,"column":80}},"type":"binary-expr","locations":[{"start":{"line":465,"column":16},"end":{"line":465,"column":41}},{"start":{"line":465,"column":45},"end":{"line":465,"column":80}}],"line":465},"42":{"loc":{"start":{"line":466,"column":16},"end":{"line":466,"column":70}},"type":"binary-expr","locations":[{"start":{"line":466,"column":16},"end":{"line":466,"column":36}},{"start":{"line":466,"column":40},"end":{"line":466,"column":70}}],"line":466},"43":{"loc":{"start":{"line":467,"column":16},"end":{"line":467,"column":76}},"type":"binary-expr","locations":[{"start":{"line":467,"column":16},"end":{"line":467,"column":37}},{"start":{"line":467,"column":41},"end":{"line":467,"column":76}}],"line":467},"44":{"loc":{"start":{"line":469,"column":14},"end":{"line":471,"column":15}},"type":"if","locations":[{"start":{"line":469,"column":14},"end":{"line":471,"column":15}},{"start":{},"end":{}}],"line":469},"45":{"loc":{"start":{"line":469,"column":18},"end":{"line":469,"column":80}},"type":"binary-expr","locations":[{"start":{"line":469,"column":18},"end":{"line":469,"column":30}},{"start":{"line":469,"column":34},"end":{"line":469,"column":80}}],"line":469},"46":{"loc":{"start":{"line":509,"column":6},"end":{"line":521,"column":7}},"type":"if","locations":[{"start":{"line":509,"column":6},"end":{"line":521,"column":7}},{"start":{},"end":{}}],"line":509},"47":{"loc":{"start":{"line":518,"column":8},"end":{"line":520,"column":9}},"type":"if","locations":[{"start":{"line":518,"column":8},"end":{"line":520,"column":9}},{"start":{},"end":{}}],"line":518},"48":{"loc":{"start":{"line":582,"column":30},"end":{"line":582,"column":90}},"type":"binary-expr","locations":[{"start":{"line":582,"column":30},"end":{"line":582,"column":84}},{"start":{"line":582,"column":88},"end":{"line":582,"column":90}}],"line":582},"49":{"loc":{"start":{"line":585,"column":8},"end":{"line":589,"column":9}},"type":"if","locations":[{"start":{"line":585,"column":8},"end":{"line":589,"column":9}},{"start":{},"end":{}}],"line":585},"50":{"loc":{"start":{"line":585,"column":12},"end":{"line":585,"column":95}},"type":"binary-expr","locations":[{"start":{"line":585,"column":12},"end":{"line":585,"column":58}},{"start":{"line":585,"column":62},"end":{"line":585,"column":95}}],"line":585},"51":{"loc":{"start":{"line":585,"column":13},"end":{"line":585,"column":40}},"type":"binary-expr","locations":[{"start":{"line":585,"column":13},"end":{"line":585,"column":34}},{"start":{"line":585,"column":38},"end":{"line":585,"column":40}}],"line":585},"52":{"loc":{"start":{"line":590,"column":8},"end":{"line":594,"column":9}},"type":"if","locations":[{"start":{"line":590,"column":8},"end":{"line":594,"column":9}},{"start":{},"end":{}}],"line":590},"53":{"loc":{"start":{"line":590,"column":12},"end":{"line":590,"column":93}},"type":"binary-expr","locations":[{"start":{"line":590,"column":12},"end":{"line":590,"column":47}},{"start":{"line":590,"column":51},"end":{"line":590,"column":93}}],"line":590},"54":{"loc":{"start":{"line":591,"column":10},"end":{"line":593,"column":11}},"type":"if","locations":[{"start":{"line":591,"column":10},"end":{"line":593,"column":11}},{"start":{},"end":{}}],"line":591},"55":{"loc":{"start":{"line":616,"column":10},"end":{"line":618,"column":11}},"type":"if","locations":[{"start":{"line":616,"column":10},"end":{"line":618,"column":11}},{"start":{},"end":{}}],"line":616},"56":{"loc":{"start":{"line":633,"column":36},"end":{"line":637,"column":34}},"type":"binary-expr","locations":[{"start":{"line":633,"column":37},"end":{"line":633,"column":62}},{"start":{"line":634,"column":13},"end":{"line":634,"column":36}},{"start":{"line":635,"column":13},"end":{"line":635,"column":37}},{"start":{"line":636,"column":13},"end":{"line":636,"column":37}},{"start":{"line":637,"column":11},"end":{"line":637,"column":34}}],"line":633},"57":{"loc":{"start":{"line":638,"column":6},"end":{"line":638,"column":41}},"type":"if","locations":[{"start":{"line":638,"column":6},"end":{"line":638,"column":41}},{"start":{},"end":{}}],"line":638},"58":{"loc":{"start":{"line":649,"column":12},"end":{"line":662,"column":13}},"type":"if","locations":[{"start":{"line":649,"column":12},"end":{"line":662,"column":13}},{"start":{},"end":{}}],"line":649},"59":{"loc":{"start":{"line":680,"column":36},"end":{"line":684,"column":36}},"type":"binary-expr","locations":[{"start":{"line":680,"column":37},"end":{"line":680,"column":62}},{"start":{"line":681,"column":13},"end":{"line":681,"column":36}},{"start":{"line":682,"column":13},"end":{"line":682,"column":37}},{"start":{"line":683,"column":13},"end":{"line":683,"column":37}},{"start":{"line":684,"column":11},"end":{"line":684,"column":36}}],"line":680},"60":{"loc":{"start":{"line":685,"column":6},"end":{"line":685,"column":41}},"type":"if","locations":[{"start":{"line":685,"column":6},"end":{"line":685,"column":41}},{"start":{},"end":{}}],"line":685},"61":{"loc":{"start":{"line":696,"column":12},"end":{"line":709,"column":13}},"type":"if","locations":[{"start":{"line":696,"column":12},"end":{"line":709,"column":13}},{"start":{},"end":{}}],"line":696}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0,0,0,0],"57":[0,0],"58":[0,0],"59":[0,0,0,0,0],"60":[0,0],"61":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/index.ts","statementMap":{"0":{"start":{"line":3,"column":27},"end":{"line":3,"column":49}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/tokenState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/middlewares/tokenState.ts","statementMap":{"0":{"start":{"line":4,"column":45},"end":{"line":14,"column":1}},"1":{"start":{"line":16,"column":36},"end":{"line":32,"column":1}},"2":{"start":{"line":16,"column":47},"end":{"line":32,"column":1}},"3":{"start":{"line":16,"column":57},"end":{"line":32,"column":1}},"4":{"start":{"line":17,"column":20},"end":{"line":17,"column":36}},"5":{"start":{"line":18,"column":2},"end":{"line":18,"column":15}},"6":{"start":{"line":19,"column":20},"end":{"line":19,"column":36}},"7":{"start":{"line":21,"column":2},"end":{"line":31,"column":3}},"8":{"start":{"line":25,"column":4},"end":{"line":30,"column":7}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":36},"end":{"line":16,"column":37}},"loc":{"start":{"line":16,"column":47},"end":{"line":32,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":47},"end":{"line":16,"column":48}},"loc":{"start":{"line":16,"column":57},"end":{"line":32,"column":1}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":57},"end":{"line":16,"column":58}},"loc":{"start":{"line":16,"column":69},"end":{"line":32,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":21},"1":{"loc":{"start":{"line":22,"column":4},"end":{"line":23,"column":67}},"type":"binary-expr","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":73}},{"start":{"line":23,"column":9},"end":{"line":23,"column":67}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/branchState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/branchState.tsx","statementMap":{"0":{"start":{"line":8,"column":27},"end":{"line":18,"column":2}},"1":{"start":{"line":13,"column":45},"end":{"line":16,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":45},"end":{"line":16,"column":5}},"line":13}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/index.tsx","statementMap":{"0":{"start":{"line":9,"column":33},"end":{"line":16,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/inspectState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/inspectState.tsx","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":36,"column":2}},"1":{"start":{"line":17,"column":51},"end":{"line":20,"column":5}},"2":{"start":{"line":21,"column":52},"end":{"line":26,"column":5}},"3":{"start":{"line":24,"column":49},"end":{"line":24,"column":63}},"4":{"start":{"line":27,"column":62},"end":{"line":30,"column":5}},"5":{"start":{"line":31,"column":64},"end":{"line":34,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":23},"end":{"line":17,"column":24}},"loc":{"start":{"line":17,"column":51},"end":{"line":20,"column":5}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":26},"end":{"line":21,"column":27}},"loc":{"start":{"line":21,"column":52},"end":{"line":26,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":38},"end":{"line":24,"column":39}},"loc":{"start":{"line":24,"column":49},"end":{"line":24,"column":63}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":32},"end":{"line":27,"column":33}},"loc":{"start":{"line":27,"column":62},"end":{"line":30,"column":5}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":34},"end":{"line":31,"column":35}},"loc":{"start":{"line":31,"column":64},"end":{"line":34,"column":5}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":22},"end":{"line":25,"column":41}},"type":"cond-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":24,"column":64}},{"start":{"line":25,"column":10},"end":{"line":25,"column":41}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/settings.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/settings.tsx","statementMap":{"0":{"start":{"line":58,"column":14},"end":{"line":63,"column":1}},"1":{"start":{"line":59,"column":2},"end":{"line":62,"column":5}},"2":{"start":{"line":65,"column":24},"end":{"line":284,"column":2}},"3":{"start":{"line":101,"column":6},"end":{"line":104,"column":7}},"4":{"start":{"line":103,"column":8},"end":{"line":103,"column":22}},"5":{"start":{"line":106,"column":6},"end":{"line":109,"column":8}},"6":{"start":{"line":112,"column":6},"end":{"line":115,"column":8}},"7":{"start":{"line":118,"column":6},"end":{"line":121,"column":8}},"8":{"start":{"line":124,"column":6},"end":{"line":131,"column":8}},"9":{"start":{"line":134,"column":6},"end":{"line":134,"column":32}},"10":{"start":{"line":135,"column":6},"end":{"line":142,"column":8}},"11":{"start":{"line":146,"column":6},"end":{"line":146,"column":76}},"12":{"start":{"line":148,"column":6},"end":{"line":151,"column":7}},"13":{"start":{"line":150,"column":8},"end":{"line":150,"column":22}},"14":{"start":{"line":153,"column":6},"end":{"line":156,"column":8}},"15":{"start":{"line":159,"column":6},"end":{"line":162,"column":8}},"16":{"start":{"line":165,"column":6},"end":{"line":168,"column":8}},"17":{"start":{"line":171,"column":6},"end":{"line":171,"column":19}},"18":{"start":{"line":172,"column":6},"end":{"line":172,"column":19}},"19":{"start":{"line":175,"column":6},"end":{"line":178,"column":8}},"20":{"start":{"line":181,"column":6},"end":{"line":184,"column":8}},"21":{"start":{"line":187,"column":6},"end":{"line":190,"column":8}},"22":{"start":{"line":193,"column":6},"end":{"line":196,"column":8}},"23":{"start":{"line":199,"column":6},"end":{"line":202,"column":8}},"24":{"start":{"line":205,"column":6},"end":{"line":208,"column":8}},"25":{"start":{"line":211,"column":6},"end":{"line":214,"column":8}},"26":{"start":{"line":217,"column":6},"end":{"line":220,"column":8}},"27":{"start":{"line":223,"column":18},"end":{"line":283,"column":3}},"28":{"start":{"line":225,"column":6},"end":{"line":225,"column":38}},"29":{"start":{"line":226,"column":6},"end":{"line":226,"column":32}},"30":{"start":{"line":229,"column":6},"end":{"line":233,"column":9}},"31":{"start":{"line":236,"column":6},"end":{"line":240,"column":9}},"32":{"start":{"line":243,"column":6},"end":{"line":243,"column":32}},"33":{"start":{"line":246,"column":6},"end":{"line":246,"column":32}},"34":{"start":{"line":249,"column":6},"end":{"line":249,"column":32}},"35":{"start":{"line":252,"column":6},"end":{"line":252,"column":32}},"36":{"start":{"line":255,"column":6},"end":{"line":255,"column":32}},"37":{"start":{"line":258,"column":6},"end":{"line":258,"column":32}},"38":{"start":{"line":261,"column":6},"end":{"line":261,"column":32}},"39":{"start":{"line":264,"column":6},"end":{"line":264,"column":32}},"40":{"start":{"line":267,"column":6},"end":{"line":267,"column":32}},"41":{"start":{"line":270,"column":6},"end":{"line":270,"column":32}},"42":{"start":{"line":273,"column":6},"end":{"line":273,"column":32}},"43":{"start":{"line":276,"column":6},"end":{"line":276,"column":32}},"44":{"start":{"line":280,"column":8},"end":{"line":280,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":58,"column":14},"end":{"line":58,"column":15}},"loc":{"start":{"line":58,"column":40},"end":{"line":63,"column":1}},"line":58},"1":{"name":"(anonymous_1)","decl":{"start":{"line":100,"column":4},"end":{"line":100,"column":5}},"loc":{"start":{"line":100,"column":49},"end":{"line":110,"column":5}},"line":100},"2":{"name":"(anonymous_2)","decl":{"start":{"line":111,"column":4},"end":{"line":111,"column":5}},"loc":{"start":{"line":111,"column":44},"end":{"line":116,"column":5}},"line":111},"3":{"name":"(anonymous_3)","decl":{"start":{"line":117,"column":4},"end":{"line":117,"column":5}},"loc":{"start":{"line":117,"column":40},"end":{"line":122,"column":5}},"line":117},"4":{"name":"(anonymous_4)","decl":{"start":{"line":123,"column":4},"end":{"line":123,"column":5}},"loc":{"start":{"line":123,"column":69},"end":{"line":132,"column":5}},"line":123},"5":{"name":"(anonymous_5)","decl":{"start":{"line":133,"column":4},"end":{"line":133,"column":5}},"loc":{"start":{"line":133,"column":101},"end":{"line":143,"column":5}},"line":133},"6":{"name":"(anonymous_6)","decl":{"start":{"line":144,"column":4},"end":{"line":144,"column":5}},"loc":{"start":{"line":144,"column":49},"end":{"line":157,"column":5}},"line":144},"7":{"name":"(anonymous_7)","decl":{"start":{"line":158,"column":4},"end":{"line":158,"column":5}},"loc":{"start":{"line":158,"column":44},"end":{"line":163,"column":5}},"line":158},"8":{"name":"(anonymous_8)","decl":{"start":{"line":164,"column":4},"end":{"line":164,"column":5}},"loc":{"start":{"line":164,"column":49},"end":{"line":169,"column":5}},"line":164},"9":{"name":"(anonymous_9)","decl":{"start":{"line":170,"column":4},"end":{"line":170,"column":5}},"loc":{"start":{"line":170,"column":31},"end":{"line":173,"column":5}},"line":170},"10":{"name":"(anonymous_10)","decl":{"start":{"line":174,"column":4},"end":{"line":174,"column":5}},"loc":{"start":{"line":174,"column":46},"end":{"line":179,"column":5}},"line":174},"11":{"name":"(anonymous_11)","decl":{"start":{"line":180,"column":4},"end":{"line":180,"column":5}},"loc":{"start":{"line":180,"column":45},"end":{"line":185,"column":5}},"line":180},"12":{"name":"(anonymous_12)","decl":{"start":{"line":186,"column":4},"end":{"line":186,"column":5}},"loc":{"start":{"line":186,"column":47},"end":{"line":191,"column":5}},"line":186},"13":{"name":"(anonymous_13)","decl":{"start":{"line":192,"column":4},"end":{"line":192,"column":5}},"loc":{"start":{"line":192,"column":86},"end":{"line":197,"column":5}},"line":192},"14":{"name":"(anonymous_14)","decl":{"start":{"line":198,"column":4},"end":{"line":198,"column":5}},"loc":{"start":{"line":198,"column":49},"end":{"line":203,"column":5}},"line":198},"15":{"name":"(anonymous_15)","decl":{"start":{"line":204,"column":4},"end":{"line":204,"column":5}},"loc":{"start":{"line":204,"column":51},"end":{"line":209,"column":5}},"line":204},"16":{"name":"(anonymous_16)","decl":{"start":{"line":210,"column":4},"end":{"line":210,"column":5}},"loc":{"start":{"line":210,"column":48},"end":{"line":215,"column":5}},"line":210},"17":{"name":"(anonymous_17)","decl":{"start":{"line":216,"column":4},"end":{"line":216,"column":5}},"loc":{"start":{"line":216,"column":65},"end":{"line":221,"column":5}},"line":216},"18":{"name":"(anonymous_18)","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":12}},"loc":{"start":{"line":223,"column":18},"end":{"line":283,"column":3}},"line":223},"19":{"name":"(anonymous_19)","decl":{"start":{"line":224,"column":17},"end":{"line":224,"column":18}},"loc":{"start":{"line":224,"column":49},"end":{"line":227,"column":5}},"line":224},"20":{"name":"(anonymous_20)","decl":{"start":{"line":228,"column":19},"end":{"line":228,"column":20}},"loc":{"start":{"line":228,"column":32},"end":{"line":234,"column":5}},"line":228},"21":{"name":"(anonymous_21)","decl":{"start":{"line":235,"column":29},"end":{"line":235,"column":30}},"loc":{"start":{"line":235,"column":42},"end":{"line":241,"column":5}},"line":235},"22":{"name":"(anonymous_22)","decl":{"start":{"line":242,"column":25},"end":{"line":242,"column":26}},"loc":{"start":{"line":242,"column":49},"end":{"line":244,"column":5}},"line":242},"23":{"name":"(anonymous_23)","decl":{"start":{"line":245,"column":27},"end":{"line":245,"column":28}},"loc":{"start":{"line":245,"column":51},"end":{"line":247,"column":5}},"line":245},"24":{"name":"(anonymous_24)","decl":{"start":{"line":248,"column":19},"end":{"line":248,"column":20}},"loc":{"start":{"line":248,"column":43},"end":{"line":250,"column":5}},"line":248},"25":{"name":"(anonymous_25)","decl":{"start":{"line":251,"column":21},"end":{"line":251,"column":22}},"loc":{"start":{"line":251,"column":45},"end":{"line":253,"column":5}},"line":251},"26":{"name":"(anonymous_26)","decl":{"start":{"line":254,"column":23},"end":{"line":254,"column":24}},"loc":{"start":{"line":254,"column":47},"end":{"line":256,"column":5}},"line":254},"27":{"name":"(anonymous_27)","decl":{"start":{"line":257,"column":38},"end":{"line":257,"column":39}},"loc":{"start":{"line":257,"column":62},"end":{"line":259,"column":5}},"line":257},"28":{"name":"(anonymous_28)","decl":{"start":{"line":260,"column":20},"end":{"line":260,"column":21}},"loc":{"start":{"line":260,"column":44},"end":{"line":262,"column":5}},"line":260},"29":{"name":"(anonymous_29)","decl":{"start":{"line":263,"column":19},"end":{"line":263,"column":20}},"loc":{"start":{"line":263,"column":43},"end":{"line":265,"column":5}},"line":263},"30":{"name":"(anonymous_30)","decl":{"start":{"line":266,"column":25},"end":{"line":266,"column":26}},"loc":{"start":{"line":266,"column":49},"end":{"line":268,"column":5}},"line":266},"31":{"name":"(anonymous_31)","decl":{"start":{"line":269,"column":21},"end":{"line":269,"column":22}},"loc":{"start":{"line":269,"column":45},"end":{"line":271,"column":5}},"line":269},"32":{"name":"(anonymous_32)","decl":{"start":{"line":272,"column":26},"end":{"line":272,"column":27}},"loc":{"start":{"line":272,"column":50},"end":{"line":274,"column":5}},"line":272},"33":{"name":"(anonymous_33)","decl":{"start":{"line":275,"column":41},"end":{"line":275,"column":42}},"loc":{"start":{"line":275,"column":65},"end":{"line":277,"column":5}},"line":275},"34":{"name":"(anonymous_34)","decl":{"start":{"line":279,"column":48},"end":{"line":279,"column":49}},"loc":{"start":{"line":280,"column":8},"end":{"line":280,"column":24}},"line":280}},"branchMap":{"0":{"loc":{"start":{"line":101,"column":6},"end":{"line":104,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":104,"column":7}},{"start":{},"end":{}}],"line":101},"1":{"loc":{"start":{"line":127,"column":23},"end":{"line":127,"column":59}},"type":"binary-expr","locations":[{"start":{"line":127,"column":23},"end":{"line":127,"column":50}},{"start":{"line":127,"column":54},"end":{"line":127,"column":59}}],"line":127},"2":{"loc":{"start":{"line":148,"column":6},"end":{"line":151,"column":7}},"type":"if","locations":[{"start":{"line":148,"column":6},"end":{"line":151,"column":7}},{"start":{},"end":{}}],"line":148},"3":{"loc":{"start":{"line":238,"column":15},"end":{"line":238,"column":55}},"type":"cond-expr","locations":[{"start":{"line":238,"column":37},"end":{"line":238,"column":39}},{"start":{"line":238,"column":42},"end":{"line":238,"column":55}}],"line":238},"4":{"loc":{"start":{"line":239,"column":16},"end":{"line":239,"column":57}},"type":"cond-expr","locations":[{"start":{"line":239,"column":38},"end":{"line":239,"column":40}},{"start":{"line":239,"column":43},"end":{"line":239,"column":57}}],"line":239}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/tokenState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/tokenState.tsx","statementMap":{"0":{"start":{"line":92,"column":26},"end":{"line":966,"column":2}},"1":{"start":{"line":113,"column":6},"end":{"line":113,"column":43}},"2":{"start":{"line":114,"column":6},"end":{"line":114,"column":17}},"3":{"start":{"line":136,"column":45},"end":{"line":139,"column":5}},"4":{"start":{"line":140,"column":45},"end":{"line":143,"column":5}},"5":{"start":{"line":144,"column":50},"end":{"line":147,"column":5}},"6":{"start":{"line":149,"column":6},"end":{"line":152,"column":8}},"7":{"start":{"line":154,"column":55},"end":{"line":161,"column":5}},"8":{"start":{"line":162,"column":49},"end":{"line":165,"column":5}},"9":{"start":{"line":166,"column":57},"end":{"line":169,"column":5}},"10":{"start":{"line":170,"column":51},"end":{"line":173,"column":5}},"11":{"start":{"line":174,"column":65},"end":{"line":180,"column":5}},"12":{"start":{"line":182,"column":6},"end":{"line":185,"column":7}},"13":{"start":{"line":183,"column":8},"end":{"line":183,"column":64}},"14":{"start":{"line":184,"column":8},"end":{"line":184,"column":21}},"15":{"start":{"line":187,"column":6},"end":{"line":187,"column":57}},"16":{"start":{"line":190,"column":6},"end":{"line":193,"column":7}},"17":{"start":{"line":191,"column":8},"end":{"line":191,"column":64}},"18":{"start":{"line":192,"column":8},"end":{"line":192,"column":21}},"19":{"start":{"line":194,"column":22},"end":{"line":194,"column":64}},"20":{"start":{"line":195,"column":6},"end":{"line":199,"column":9}},"21":{"start":{"line":197,"column":45},"end":{"line":197,"column":84}},"22":{"start":{"line":201,"column":45},"end":{"line":201,"column":146}},"23":{"start":{"line":201,"column":99},"end":{"line":201,"column":144}},"24":{"start":{"line":202,"column":50},"end":{"line":205,"column":5}},"25":{"start":{"line":207,"column":24},"end":{"line":207,"column":26}},"26":{"start":{"line":208,"column":6},"end":{"line":210,"column":9}},"27":{"start":{"line":209,"column":8},"end":{"line":209,"column":63}},"28":{"start":{"line":211,"column":6},"end":{"line":214,"column":8}},"29":{"start":{"line":216,"column":75},"end":{"line":219,"column":5}},"30":{"start":{"line":220,"column":37},"end":{"line":226,"column":5}},"31":{"start":{"line":228,"column":27},"end":{"line":228,"column":45}},"32":{"start":{"line":229,"column":6},"end":{"line":229,"column":37}},"33":{"start":{"line":230,"column":21},"end":{"line":230,"column":79}},"34":{"start":{"line":231,"column":6},"end":{"line":237,"column":8}},"35":{"start":{"line":240,"column":6},"end":{"line":243,"column":8}},"36":{"start":{"line":245,"column":68},"end":{"line":248,"column":5}},"37":{"start":{"line":250,"column":44},"end":{"line":250,"column":46}},"38":{"start":{"line":252,"column":28},"end":{"line":252,"column":87}},"39":{"start":{"line":252,"column":66},"end":{"line":252,"column":86}},"40":{"start":{"line":253,"column":6},"end":{"line":257,"column":7}},"41":{"start":{"line":254,"column":8},"end":{"line":256,"column":10}},"42":{"start":{"line":259,"column":6},"end":{"line":265,"column":8}},"43":{"start":{"line":269,"column":46},"end":{"line":269,"column":86}},"44":{"start":{"line":270,"column":6},"end":{"line":278,"column":9}},"45":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"46":{"start":{"line":272,"column":10},"end":{"line":272,"column":39}},"47":{"start":{"line":274,"column":35},"end":{"line":274,"column":98}},"48":{"start":{"line":274,"column":76},"end":{"line":274,"column":97}},"49":{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},"50":{"start":{"line":276,"column":10},"end":{"line":276,"column":111}},"51":{"start":{"line":280,"column":6},"end":{"line":283,"column":8}},"52":{"start":{"line":287,"column":46},"end":{"line":287,"column":86}},"53":{"start":{"line":288,"column":6},"end":{"line":297,"column":9}},"54":{"start":{"line":289,"column":35},"end":{"line":289,"column":98}},"55":{"start":{"line":289,"column":76},"end":{"line":289,"column":97}},"56":{"start":{"line":290,"column":8},"end":{"line":296,"column":9}},"57":{"start":{"line":291,"column":10},"end":{"line":295,"column":12}},"58":{"start":{"line":299,"column":6},"end":{"line":302,"column":8}},"59":{"start":{"line":305,"column":46},"end":{"line":305,"column":48}},"60":{"start":{"line":306,"column":6},"end":{"line":344,"column":9}},"61":{"start":{"line":307,"column":8},"end":{"line":343,"column":9}},"62":{"start":{"line":308,"column":37},"end":{"line":308,"column":102}},"63":{"start":{"line":308,"column":77},"end":{"line":308,"column":101}},"64":{"start":{"line":309,"column":10},"end":{"line":327,"column":11}},"65":{"start":{"line":310,"column":35},"end":{"line":310,"column":62}},"66":{"start":{"line":311,"column":12},"end":{"line":325,"column":30}},"67":{"start":{"line":326,"column":12},"end":{"line":326,"column":49}},"68":{"start":{"line":328,"column":15},"end":{"line":343,"column":9}},"69":{"start":{"line":329,"column":37},"end":{"line":329,"column":102}},"70":{"start":{"line":329,"column":77},"end":{"line":329,"column":101}},"71":{"start":{"line":330,"column":10},"end":{"line":342,"column":11}},"72":{"start":{"line":331,"column":29},"end":{"line":340,"column":13}},"73":{"start":{"line":341,"column":12},"end":{"line":341,"column":87}},"74":{"start":{"line":346,"column":6},"end":{"line":352,"column":8}},"75":{"start":{"line":357,"column":46},"end":{"line":357,"column":48}},"76":{"start":{"line":358,"column":51},"end":{"line":358,"column":53}},"77":{"start":{"line":359,"column":50},"end":{"line":359,"column":52}},"78":{"start":{"line":362,"column":23},"end":{"line":362,"column":32}},"79":{"start":{"line":363,"column":6},"end":{"line":369,"column":9}},"80":{"start":{"line":364,"column":8},"end":{"line":368,"column":11}},"81":{"start":{"line":365,"column":10},"end":{"line":367,"column":11}},"82":{"start":{"line":366,"column":12},"end":{"line":366,"column":44}},"83":{"start":{"line":372,"column":6},"end":{"line":397,"column":9}},"84":{"start":{"line":373,"column":8},"end":{"line":396,"column":11}},"85":{"start":{"line":374,"column":27},"end":{"line":374,"column":51}},"86":{"start":{"line":375,"column":10},"end":{"line":395,"column":11}},"87":{"start":{"line":376,"column":12},"end":{"line":391,"column":13}},"88":{"start":{"line":377,"column":52},"end":{"line":377,"column":78}},"89":{"start":{"line":378,"column":49},"end":{"line":378,"column":72}},"90":{"start":{"line":379,"column":14},"end":{"line":386,"column":15}},"91":{"start":{"line":380,"column":16},"end":{"line":380,"column":43}},"92":{"start":{"line":382,"column":16},"end":{"line":385,"column":19}},"93":{"start":{"line":388,"column":35},"end":{"line":388,"column":47}},"94":{"start":{"line":389,"column":14},"end":{"line":389,"column":53}},"95":{"start":{"line":390,"column":14},"end":{"line":390,"column":47}},"96":{"start":{"line":394,"column":12},"end":{"line":394,"column":34}},"97":{"start":{"line":399,"column":6},"end":{"line":405,"column":22}},"98":{"start":{"line":409,"column":49},"end":{"line":409,"column":51}},"99":{"start":{"line":410,"column":54},"end":{"line":410,"column":56}},"100":{"start":{"line":411,"column":53},"end":{"line":411,"column":55}},"101":{"start":{"line":414,"column":6},"end":{"line":440,"column":9}},"102":{"start":{"line":415,"column":8},"end":{"line":439,"column":11}},"103":{"start":{"line":417,"column":10},"end":{"line":438,"column":11}},"104":{"start":{"line":418,"column":29},"end":{"line":418,"column":90}},"105":{"start":{"line":418,"column":68},"end":{"line":418,"column":89}},"106":{"start":{"line":420,"column":12},"end":{"line":435,"column":13}},"107":{"start":{"line":421,"column":52},"end":{"line":421,"column":78}},"108":{"start":{"line":422,"column":49},"end":{"line":422,"column":72}},"109":{"start":{"line":423,"column":14},"end":{"line":432,"column":15}},"110":{"start":{"line":427,"column":16},"end":{"line":427,"column":43}},"111":{"start":{"line":429,"column":37},"end":{"line":429,"column":49}},"112":{"start":{"line":430,"column":16},"end":{"line":430,"column":55}},"113":{"start":{"line":431,"column":16},"end":{"line":431,"column":49}},"114":{"start":{"line":434,"column":14},"end":{"line":434,"column":36}},"115":{"start":{"line":437,"column":12},"end":{"line":437,"column":34}},"116":{"start":{"line":441,"column":6},"end":{"line":447,"column":22}},"117":{"start":{"line":450,"column":25},"end":{"line":450,"column":64}},"118":{"start":{"line":451,"column":20},"end":{"line":451,"column":93}},"119":{"start":{"line":451,"column":67},"end":{"line":451,"column":92}},"120":{"start":{"line":452,"column":23},"end":{"line":452,"column":53}},"121":{"start":{"line":453,"column":6},"end":{"line":456,"column":23}},"122":{"start":{"line":457,"column":6},"end":{"line":463,"column":8}},"123":{"start":{"line":466,"column":23},"end":{"line":472,"column":7}},"124":{"start":{"line":470,"column":69},"end":{"line":470,"column":93}},"125":{"start":{"line":474,"column":6},"end":{"line":474,"column":22}},"126":{"start":{"line":477,"column":14},"end":{"line":477,"column":15}},"127":{"start":{"line":478,"column":23},"end":{"line":497,"column":7}},"128":{"start":{"line":485,"column":16},"end":{"line":492,"column":17}},"129":{"start":{"line":486,"column":18},"end":{"line":489,"column":19}},"130":{"start":{"line":487,"column":20},"end":{"line":487,"column":27}},"131":{"start":{"line":488,"column":20},"end":{"line":488,"column":32}},"132":{"start":{"line":490,"column":18},"end":{"line":490,"column":25}},"133":{"start":{"line":491,"column":18},"end":{"line":491,"column":31}},"134":{"start":{"line":493,"column":16},"end":{"line":493,"column":48}},"135":{"start":{"line":495,"column":60},"end":{"line":495,"column":84}},"136":{"start":{"line":499,"column":6},"end":{"line":499,"column":22}},"137":{"start":{"line":502,"column":23},"end":{"line":510,"column":7}},"138":{"start":{"line":507,"column":23},"end":{"line":507,"column":92}},"139":{"start":{"line":512,"column":6},"end":{"line":512,"column":22}},"140":{"start":{"line":518,"column":10},"end":{"line":518,"column":14}},"141":{"start":{"line":519,"column":29},"end":{"line":519,"column":55}},"142":{"start":{"line":520,"column":36},"end":{"line":530,"column":24}},"143":{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},"144":{"start":{"line":522,"column":36},"end":{"line":522,"column":41}},"145":{"start":{"line":523,"column":31},"end":{"line":523,"column":71}},"146":{"start":{"line":524,"column":10},"end":{"line":527,"column":12}},"147":{"start":{"line":529,"column":8},"end":{"line":529,"column":21}},"148":{"start":{"line":532,"column":23},"end":{"line":538,"column":7}},"149":{"start":{"line":539,"column":6},"end":{"line":539,"column":36}},"150":{"start":{"line":545,"column":10},"end":{"line":545,"column":14}},"151":{"start":{"line":546,"column":33},"end":{"line":548,"column":7}},"152":{"start":{"line":547,"column":19},"end":{"line":547,"column":78}},"153":{"start":{"line":549,"column":28},"end":{"line":556,"column":8}},"154":{"start":{"line":550,"column":34},"end":{"line":550,"column":39}},"155":{"start":{"line":551,"column":41},"end":{"line":551,"column":77}},"156":{"start":{"line":552,"column":8},"end":{"line":555,"column":10}},"157":{"start":{"line":558,"column":24},"end":{"line":565,"column":12}},"158":{"start":{"line":559,"column":8},"end":{"line":563,"column":9}},"159":{"start":{"line":560,"column":10},"end":{"line":560,"column":62}},"160":{"start":{"line":562,"column":10},"end":{"line":562,"column":39}},"161":{"start":{"line":564,"column":8},"end":{"line":564,"column":19}},"162":{"start":{"line":567,"column":6},"end":{"line":570,"column":8}},"163":{"start":{"line":572,"column":68},"end":{"line":575,"column":5}},"164":{"start":{"line":576,"column":55},"end":{"line":579,"column":5}},"165":{"start":{"line":580,"column":77},"end":{"line":583,"column":5}},"166":{"start":{"line":584,"column":54},"end":{"line":587,"column":5}},"167":{"start":{"line":588,"column":52},"end":{"line":591,"column":5}},"168":{"start":{"line":596,"column":25},"end":{"line":599,"column":7}},"169":{"start":{"line":600,"column":6},"end":{"line":603,"column":22}},"170":{"start":{"line":605,"column":35},"end":{"line":612,"column":5}},"171":{"start":{"line":613,"column":67},"end":{"line":616,"column":5}},"172":{"start":{"line":617,"column":70},"end":{"line":620,"column":5}},"173":{"start":{"line":624,"column":10},"end":{"line":624,"column":14}},"174":{"start":{"line":625,"column":46},"end":{"line":625,"column":48}},"175":{"start":{"line":626,"column":6},"end":{"line":638,"column":9}},"176":{"start":{"line":627,"column":8},"end":{"line":637,"column":9}},"177":{"start":{"line":628,"column":37},"end":{"line":628,"column":115}},"178":{"start":{"line":628,"column":77},"end":{"line":628,"column":114}},"179":{"start":{"line":629,"column":10},"end":{"line":636,"column":11}},"180":{"start":{"line":630,"column":35},"end":{"line":630,"column":62}},"181":{"start":{"line":631,"column":12},"end":{"line":634,"column":30}},"182":{"start":{"line":635,"column":12},"end":{"line":635,"column":49}},"183":{"start":{"line":640,"column":6},"end":{"line":646,"column":8}},"184":{"start":{"line":649,"column":42},"end":{"line":649,"column":44}},"185":{"start":{"line":650,"column":46},"end":{"line":650,"column":48}},"186":{"start":{"line":652,"column":6},"end":{"line":668,"column":9}},"187":{"start":{"line":653,"column":30},"end":{"line":653,"column":104}},"188":{"start":{"line":653,"column":55},"end":{"line":653,"column":103}},"189":{"start":{"line":655,"column":8},"end":{"line":667,"column":9}},"190":{"start":{"line":656,"column":10},"end":{"line":664,"column":11}},"191":{"start":{"line":657,"column":12},"end":{"line":663,"column":15}},"192":{"start":{"line":666,"column":10},"end":{"line":666,"column":32}},"193":{"start":{"line":670,"column":6},"end":{"line":676,"column":8}},"194":{"start":{"line":678,"column":100},"end":{"line":682,"column":5}},"195":{"start":{"line":685,"column":26},"end":{"line":965,"column":3}},"196":{"start":{"line":687,"column":6},"end":{"line":689,"column":7}},"197":{"start":{"line":688,"column":8},"end":{"line":688,"column":95}},"198":{"start":{"line":691,"column":6},"end":{"line":693,"column":7}},"199":{"start":{"line":692,"column":8},"end":{"line":692,"column":101}},"200":{"start":{"line":695,"column":6},"end":{"line":722,"column":7}},"201":{"start":{"line":696,"column":25},"end":{"line":696,"column":68}},"202":{"start":{"line":697,"column":8},"end":{"line":721,"column":9}},"203":{"start":{"line":698,"column":29},"end":{"line":709,"column":12}},"204":{"start":{"line":699,"column":12},"end":{"line":707,"column":13}},"205":{"start":{"line":700,"column":14},"end":{"line":706,"column":31}},"206":{"start":{"line":708,"column":12},"end":{"line":708,"column":25}},"207":{"start":{"line":711,"column":25},"end":{"line":711,"column":68}},"208":{"start":{"line":713,"column":10},"end":{"line":720,"column":13}},"209":{"start":{"line":725,"column":6},"end":{"line":725,"column":71}},"210":{"start":{"line":727,"column":6},"end":{"line":742,"column":7}},"211":{"start":{"line":728,"column":25},"end":{"line":728,"column":68}},"212":{"start":{"line":729,"column":8},"end":{"line":741,"column":9}},"213":{"start":{"line":730,"column":25},"end":{"line":730,"column":80}},"214":{"start":{"line":730,"column":52},"end":{"line":730,"column":79}},"215":{"start":{"line":731,"column":25},"end":{"line":731,"column":64}},"216":{"start":{"line":733,"column":10},"end":{"line":740,"column":13}},"217":{"start":{"line":745,"column":6},"end":{"line":745,"column":71}},"218":{"start":{"line":748,"column":6},"end":{"line":748,"column":71}},"219":{"start":{"line":751,"column":6},"end":{"line":751,"column":71}},"220":{"start":{"line":753,"column":6},"end":{"line":759,"column":7}},"221":{"start":{"line":754,"column":8},"end":{"line":758,"column":11}},"222":{"start":{"line":762,"column":6},"end":{"line":762,"column":71}},"223":{"start":{"line":765,"column":6},"end":{"line":765,"column":71}},"224":{"start":{"line":768,"column":6},"end":{"line":768,"column":71}},"225":{"start":{"line":770,"column":6},"end":{"line":776,"column":7}},"226":{"start":{"line":771,"column":8},"end":{"line":775,"column":11}},"227":{"start":{"line":779,"column":6},"end":{"line":779,"column":71}},"228":{"start":{"line":781,"column":6},"end":{"line":787,"column":7}},"229":{"start":{"line":782,"column":8},"end":{"line":786,"column":11}},"230":{"start":{"line":790,"column":6},"end":{"line":790,"column":71}},"231":{"start":{"line":792,"column":6},"end":{"line":801,"column":7}},"232":{"start":{"line":793,"column":8},"end":{"line":800,"column":11}},"233":{"start":{"line":796,"column":43},"end":{"line":799,"column":11}},"234":{"start":{"line":805,"column":6},"end":{"line":805,"column":61}},"235":{"start":{"line":807,"column":6},"end":{"line":809,"column":7}},"236":{"start":{"line":808,"column":8},"end":{"line":808,"column":45}},"237":{"start":{"line":812,"column":6},"end":{"line":812,"column":66}},"238":{"start":{"line":815,"column":6},"end":{"line":815,"column":66}},"239":{"start":{"line":818,"column":6},"end":{"line":818,"column":66}},"240":{"start":{"line":821,"column":6},"end":{"line":821,"column":71}},"241":{"start":{"line":823,"column":6},"end":{"line":828,"column":7}},"242":{"start":{"line":824,"column":8},"end":{"line":827,"column":11}},"243":{"start":{"line":831,"column":6},"end":{"line":831,"column":71}},"244":{"start":{"line":833,"column":6},"end":{"line":838,"column":7}},"245":{"start":{"line":834,"column":8},"end":{"line":837,"column":11}},"246":{"start":{"line":841,"column":6},"end":{"line":841,"column":25}},"247":{"start":{"line":846,"column":10},"end":{"line":846,"column":14}},"248":{"start":{"line":848,"column":29},"end":{"line":848,"column":70}},"249":{"start":{"line":849,"column":6},"end":{"line":856,"column":11}},"250":{"start":{"line":850,"column":27},"end":{"line":850,"column":86}},"251":{"start":{"line":852,"column":10},"end":{"line":855,"column":13}},"252":{"start":{"line":859,"column":6},"end":{"line":861,"column":7}},"253":{"start":{"line":860,"column":8},"end":{"line":860,"column":53}},"254":{"start":{"line":864,"column":35},"end":{"line":864,"column":39}},"255":{"start":{"line":866,"column":6},"end":{"line":866,"column":62}},"256":{"start":{"line":869,"column":23},"end":{"line":869,"column":70}},"257":{"start":{"line":870,"column":21},"end":{"line":870,"column":48}},"258":{"start":{"line":871,"column":6},"end":{"line":871,"column":29}},"259":{"start":{"line":871,"column":22},"end":{"line":871,"column":29}},"260":{"start":{"line":872,"column":6},"end":{"line":944,"column":7}},"261":{"start":{"line":873,"column":27},"end":{"line":873,"column":72}},"262":{"start":{"line":874,"column":27},"end":{"line":874,"column":72}},"263":{"start":{"line":877,"column":8},"end":{"line":879,"column":9}},"264":{"start":{"line":878,"column":10},"end":{"line":878,"column":56}},"265":{"start":{"line":882,"column":8},"end":{"line":884,"column":9}},"266":{"start":{"line":883,"column":10},"end":{"line":883,"column":75}},"267":{"start":{"line":886,"column":8},"end":{"line":941,"column":10}},"268":{"start":{"line":890,"column":14},"end":{"line":897,"column":16}},"269":{"start":{"line":893,"column":18},"end":{"line":893,"column":39}},"270":{"start":{"line":894,"column":18},"end":{"line":894,"column":29}},"271":{"start":{"line":898,"column":14},"end":{"line":898,"column":107}},"272":{"start":{"line":899,"column":14},"end":{"line":899,"column":91}},"273":{"start":{"line":900,"column":14},"end":{"line":900,"column":73}},"274":{"start":{"line":901,"column":14},"end":{"line":901,"column":73}},"275":{"start":{"line":906,"column":37},"end":{"line":906,"column":97}},"276":{"start":{"line":907,"column":37},"end":{"line":907,"column":97}},"277":{"start":{"line":910,"column":12},"end":{"line":913,"column":15}},"278":{"start":{"line":915,"column":12},"end":{"line":939,"column":15}},"279":{"start":{"line":943,"column":8},"end":{"line":943,"column":52}},"280":{"start":{"line":947,"column":45},"end":{"line":947,"column":100}},"281":{"start":{"line":949,"column":6},"end":{"line":949,"column":59}},"282":{"start":{"line":951,"column":6},"end":{"line":962,"column":7}},"283":{"start":{"line":952,"column":8},"end":{"line":961,"column":9}},"284":{"start":{"line":953,"column":26},"end":{"line":953,"column":44}},"285":{"start":{"line":954,"column":25},"end":{"line":954,"column":65}},"286":{"start":{"line":956,"column":10},"end":{"line":960,"column":13}},"287":{"start":{"line":964,"column":84},"end":{"line":964,"column":108}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":112,"column":96},"end":{"line":112,"column":97}},"loc":{"start":{"line":112,"column":116},"end":{"line":115,"column":5}},"line":112},"1":{"name":"(anonymous_1)","decl":{"start":{"line":136,"column":19},"end":{"line":136,"column":20}},"loc":{"start":{"line":136,"column":45},"end":{"line":139,"column":5}},"line":136},"2":{"name":"(anonymous_2)","decl":{"start":{"line":140,"column":19},"end":{"line":140,"column":20}},"loc":{"start":{"line":140,"column":45},"end":{"line":143,"column":5}},"line":140},"3":{"name":"(anonymous_3)","decl":{"start":{"line":144,"column":21},"end":{"line":144,"column":22}},"loc":{"start":{"line":144,"column":50},"end":{"line":147,"column":5}},"line":144},"4":{"name":"(anonymous_4)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":47},"end":{"line":153,"column":5}},"line":148},"5":{"name":"(anonymous_5)","decl":{"start":{"line":154,"column":25},"end":{"line":154,"column":26}},"loc":{"start":{"line":154,"column":55},"end":{"line":161,"column":5}},"line":154},"6":{"name":"(anonymous_6)","decl":{"start":{"line":162,"column":23},"end":{"line":162,"column":24}},"loc":{"start":{"line":162,"column":49},"end":{"line":165,"column":5}},"line":162},"7":{"name":"(anonymous_7)","decl":{"start":{"line":166,"column":21},"end":{"line":166,"column":22}},"loc":{"start":{"line":166,"column":57},"end":{"line":169,"column":5}},"line":166},"8":{"name":"(anonymous_8)","decl":{"start":{"line":170,"column":15},"end":{"line":170,"column":16}},"loc":{"start":{"line":170,"column":51},"end":{"line":173,"column":5}},"line":170},"9":{"name":"(anonymous_9)","decl":{"start":{"line":174,"column":21},"end":{"line":174,"column":22}},"loc":{"start":{"line":174,"column":65},"end":{"line":180,"column":5}},"line":174},"10":{"name":"(anonymous_10)","decl":{"start":{"line":181,"column":17},"end":{"line":181,"column":18}},"loc":{"start":{"line":181,"column":54},"end":{"line":188,"column":5}},"line":181},"11":{"name":"(anonymous_11)","decl":{"start":{"line":189,"column":23},"end":{"line":189,"column":24}},"loc":{"start":{"line":189,"column":80},"end":{"line":200,"column":5}},"line":189},"12":{"name":"(anonymous_12)","decl":{"start":{"line":197,"column":34},"end":{"line":197,"column":35}},"loc":{"start":{"line":197,"column":45},"end":{"line":197,"column":84}},"line":197},"13":{"name":"(anonymous_13)","decl":{"start":{"line":201,"column":20},"end":{"line":201,"column":21}},"loc":{"start":{"line":201,"column":45},"end":{"line":201,"column":146}},"line":201},"14":{"name":"(anonymous_14)","decl":{"start":{"line":201,"column":75},"end":{"line":201,"column":76}},"loc":{"start":{"line":201,"column":99},"end":{"line":201,"column":144}},"line":201},"15":{"name":"(anonymous_15)","decl":{"start":{"line":202,"column":24},"end":{"line":202,"column":25}},"loc":{"start":{"line":202,"column":50},"end":{"line":205,"column":5}},"line":202},"16":{"name":"(anonymous_16)","decl":{"start":{"line":206,"column":22},"end":{"line":206,"column":23}},"loc":{"start":{"line":206,"column":49},"end":{"line":215,"column":5}},"line":206},"17":{"name":"(anonymous_17)","decl":{"start":{"line":208,"column":19},"end":{"line":208,"column":20}},"loc":{"start":{"line":208,"column":28},"end":{"line":210,"column":7}},"line":208},"18":{"name":"(anonymous_18)","decl":{"start":{"line":216,"column":25},"end":{"line":216,"column":26}},"loc":{"start":{"line":216,"column":75},"end":{"line":219,"column":5}},"line":216},"19":{"name":"(anonymous_19)","decl":{"start":{"line":220,"column":25},"end":{"line":220,"column":26}},"loc":{"start":{"line":220,"column":37},"end":{"line":226,"column":5}},"line":220},"20":{"name":"(anonymous_20)","decl":{"start":{"line":227,"column":4},"end":{"line":227,"column":5}},"loc":{"start":{"line":227,"column":32},"end":{"line":238,"column":5}},"line":227},"21":{"name":"(anonymous_21)","decl":{"start":{"line":239,"column":4},"end":{"line":239,"column":5}},"loc":{"start":{"line":239,"column":50},"end":{"line":244,"column":5}},"line":239},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":15},"end":{"line":245,"column":16}},"loc":{"start":{"line":245,"column":68},"end":{"line":248,"column":5}},"line":245},"23":{"name":"(anonymous_23)","decl":{"start":{"line":249,"column":17},"end":{"line":249,"column":18}},"loc":{"start":{"line":249,"column":54},"end":{"line":266,"column":5}},"line":249},"24":{"name":"(anonymous_24)","decl":{"start":{"line":252,"column":59},"end":{"line":252,"column":60}},"loc":{"start":{"line":252,"column":66},"end":{"line":252,"column":86}},"line":252},"25":{"name":"(anonymous_25)","decl":{"start":{"line":267,"column":26},"end":{"line":267,"column":27}},"loc":{"start":{"line":267,"column":68},"end":{"line":284,"column":5}},"line":267},"26":{"name":"(anonymous_26)","decl":{"start":{"line":270,"column":19},"end":{"line":270,"column":20}},"loc":{"start":{"line":270,"column":30},"end":{"line":278,"column":7}},"line":270},"27":{"name":"(anonymous_27)","decl":{"start":{"line":274,"column":69},"end":{"line":274,"column":70}},"loc":{"start":{"line":274,"column":76},"end":{"line":274,"column":97}},"line":274},"28":{"name":"(anonymous_28)","decl":{"start":{"line":285,"column":24},"end":{"line":285,"column":25}},"loc":{"start":{"line":285,"column":64},"end":{"line":303,"column":5}},"line":285},"29":{"name":"(anonymous_29)","decl":{"start":{"line":288,"column":19},"end":{"line":288,"column":20}},"loc":{"start":{"line":288,"column":30},"end":{"line":297,"column":7}},"line":288},"30":{"name":"(anonymous_30)","decl":{"start":{"line":289,"column":69},"end":{"line":289,"column":70}},"loc":{"start":{"line":289,"column":76},"end":{"line":289,"column":97}},"line":289},"31":{"name":"(anonymous_31)","decl":{"start":{"line":304,"column":20},"end":{"line":304,"column":21}},"loc":{"start":{"line":304,"column":60},"end":{"line":353,"column":5}},"line":304},"32":{"name":"(anonymous_32)","decl":{"start":{"line":306,"column":40},"end":{"line":306,"column":41}},"loc":{"start":{"line":306,"column":54},"end":{"line":344,"column":7}},"line":306},"33":{"name":"(anonymous_33)","decl":{"start":{"line":308,"column":70},"end":{"line":308,"column":71}},"loc":{"start":{"line":308,"column":77},"end":{"line":308,"column":101}},"line":308},"34":{"name":"(anonymous_34)","decl":{"start":{"line":329,"column":70},"end":{"line":329,"column":71}},"loc":{"start":{"line":329,"column":77},"end":{"line":329,"column":101}},"line":329},"35":{"name":"(anonymous_35)","decl":{"start":{"line":356,"column":25},"end":{"line":356,"column":26}},"loc":{"start":{"line":356,"column":92},"end":{"line":406,"column":5}},"line":356},"36":{"name":"(anonymous_36)","decl":{"start":{"line":363,"column":42},"end":{"line":363,"column":43}},"loc":{"start":{"line":363,"column":56},"end":{"line":369,"column":7}},"line":363},"37":{"name":"(anonymous_37)","decl":{"start":{"line":364,"column":25},"end":{"line":364,"column":26}},"loc":{"start":{"line":364,"column":36},"end":{"line":368,"column":9}},"line":364},"38":{"name":"(anonymous_38)","decl":{"start":{"line":372,"column":44},"end":{"line":372,"column":45}},"loc":{"start":{"line":372,"column":56},"end":{"line":397,"column":7}},"line":372},"39":{"name":"(anonymous_39)","decl":{"start":{"line":373,"column":23},"end":{"line":373,"column":24}},"loc":{"start":{"line":373,"column":34},"end":{"line":396,"column":9}},"line":373},"40":{"name":"(anonymous_40)","decl":{"start":{"line":408,"column":28},"end":{"line":408,"column":29}},"loc":{"start":{"line":408,"column":101},"end":{"line":448,"column":5}},"line":408},"41":{"name":"(anonymous_41)","decl":{"start":{"line":414,"column":47},"end":{"line":414,"column":48}},"loc":{"start":{"line":414,"column":59},"end":{"line":440,"column":7}},"line":414},"42":{"name":"(anonymous_42)","decl":{"start":{"line":415,"column":23},"end":{"line":415,"column":24}},"loc":{"start":{"line":415,"column":34},"end":{"line":439,"column":9}},"line":415},"43":{"name":"(anonymous_43)","decl":{"start":{"line":418,"column":61},"end":{"line":418,"column":62}},"loc":{"start":{"line":418,"column":68},"end":{"line":418,"column":89}},"line":418},"44":{"name":"(anonymous_44)","decl":{"start":{"line":449,"column":15},"end":{"line":449,"column":16}},"loc":{"start":{"line":449,"column":52},"end":{"line":464,"column":5}},"line":449},"45":{"name":"(anonymous_45)","decl":{"start":{"line":451,"column":56},"end":{"line":451,"column":57}},"loc":{"start":{"line":451,"column":67},"end":{"line":451,"column":92}},"line":451},"46":{"name":"(anonymous_46)","decl":{"start":{"line":465,"column":17},"end":{"line":465,"column":18}},"loc":{"start":{"line":465,"column":54},"end":{"line":475,"column":5}},"line":465},"47":{"name":"(anonymous_47)","decl":{"start":{"line":470,"column":58},"end":{"line":470,"column":59}},"loc":{"start":{"line":470,"column":69},"end":{"line":470,"column":93}},"line":470},"48":{"name":"(anonymous_48)","decl":{"start":{"line":476,"column":27},"end":{"line":476,"column":28}},"loc":{"start":{"line":476,"column":64},"end":{"line":500,"column":5}},"line":476},"49":{"name":"(anonymous_49)","decl":{"start":{"line":484,"column":49},"end":{"line":484,"column":50}},"loc":{"start":{"line":484,"column":60},"end":{"line":494,"column":15}},"line":484},"50":{"name":"(anonymous_50)","decl":{"start":{"line":495,"column":49},"end":{"line":495,"column":50}},"loc":{"start":{"line":495,"column":60},"end":{"line":495,"column":84}},"line":495},"51":{"name":"(anonymous_51)","decl":{"start":{"line":501,"column":22},"end":{"line":501,"column":23}},"loc":{"start":{"line":501,"column":64},"end":{"line":513,"column":5}},"line":501},"52":{"name":"(anonymous_52)","decl":{"start":{"line":507,"column":12},"end":{"line":507,"column":13}},"loc":{"start":{"line":507,"column":23},"end":{"line":507,"column":92}},"line":507},"53":{"name":"(anonymous_53)","decl":{"start":{"line":515,"column":22},"end":{"line":515,"column":23}},"loc":{"start":{"line":515,"column":64},"end":{"line":540,"column":5}},"line":515},"54":{"name":"(anonymous_54)","decl":{"start":{"line":520,"column":55},"end":{"line":520,"column":56}},"loc":{"start":{"line":520,"column":66},"end":{"line":530,"column":7}},"line":520},"55":{"name":"(anonymous_55)","decl":{"start":{"line":542,"column":25},"end":{"line":542,"column":26}},"loc":{"start":{"line":542,"column":70},"end":{"line":571,"column":5}},"line":542},"56":{"name":"(anonymous_56)","decl":{"start":{"line":547,"column":8},"end":{"line":547,"column":9}},"loc":{"start":{"line":547,"column":19},"end":{"line":547,"column":78}},"line":547},"57":{"name":"(anonymous_57)","decl":{"start":{"line":549,"column":51},"end":{"line":549,"column":52}},"loc":{"start":{"line":549,"column":62},"end":{"line":556,"column":7}},"line":549},"58":{"name":"(anonymous_58)","decl":{"start":{"line":558,"column":87},"end":{"line":558,"column":88}},"loc":{"start":{"line":558,"column":101},"end":{"line":565,"column":7}},"line":558},"59":{"name":"(anonymous_59)","decl":{"start":{"line":572,"column":23},"end":{"line":572,"column":24}},"loc":{"start":{"line":572,"column":68},"end":{"line":575,"column":5}},"line":572},"60":{"name":"(anonymous_60)","decl":{"start":{"line":576,"column":27},"end":{"line":576,"column":28}},"loc":{"start":{"line":576,"column":55},"end":{"line":579,"column":5}},"line":576},"61":{"name":"(anonymous_61)","decl":{"start":{"line":580,"column":30},"end":{"line":580,"column":31}},"loc":{"start":{"line":580,"column":77},"end":{"line":583,"column":5}},"line":580},"62":{"name":"(anonymous_62)","decl":{"start":{"line":584,"column":27},"end":{"line":584,"column":28}},"loc":{"start":{"line":584,"column":54},"end":{"line":587,"column":5}},"line":584},"63":{"name":"(anonymous_63)","decl":{"start":{"line":588,"column":24},"end":{"line":588,"column":25}},"loc":{"start":{"line":588,"column":52},"end":{"line":591,"column":5}},"line":588},"64":{"name":"(anonymous_64)","decl":{"start":{"line":592,"column":21},"end":{"line":592,"column":22}},"loc":{"start":{"line":595,"column":21},"end":{"line":604,"column":5}},"line":595},"65":{"name":"(anonymous_65)","decl":{"start":{"line":605,"column":23},"end":{"line":605,"column":24}},"loc":{"start":{"line":605,"column":35},"end":{"line":612,"column":5}},"line":605},"66":{"name":"(anonymous_66)","decl":{"start":{"line":613,"column":19},"end":{"line":613,"column":20}},"loc":{"start":{"line":613,"column":67},"end":{"line":616,"column":5}},"line":613},"67":{"name":"(anonymous_67)","decl":{"start":{"line":617,"column":20},"end":{"line":617,"column":21}},"loc":{"start":{"line":617,"column":70},"end":{"line":620,"column":5}},"line":617},"68":{"name":"(anonymous_68)","decl":{"start":{"line":621,"column":27},"end":{"line":621,"column":28}},"loc":{"start":{"line":621,"column":75},"end":{"line":647,"column":5}},"line":621},"69":{"name":"(anonymous_69)","decl":{"start":{"line":626,"column":40},"end":{"line":626,"column":41}},"loc":{"start":{"line":626,"column":54},"end":{"line":638,"column":7}},"line":626},"70":{"name":"(anonymous_70)","decl":{"start":{"line":628,"column":70},"end":{"line":628,"column":71}},"loc":{"start":{"line":628,"column":77},"end":{"line":628,"column":114}},"line":628},"71":{"name":"(anonymous_71)","decl":{"start":{"line":648,"column":28},"end":{"line":648,"column":29}},"loc":{"start":{"line":648,"column":77},"end":{"line":677,"column":5}},"line":648},"72":{"name":"(anonymous_72)","decl":{"start":{"line":652,"column":21},"end":{"line":652,"column":22}},"loc":{"start":{"line":652,"column":32},"end":{"line":668,"column":7}},"line":652},"73":{"name":"(anonymous_73)","decl":{"start":{"line":653,"column":48},"end":{"line":653,"column":49}},"loc":{"start":{"line":653,"column":55},"end":{"line":653,"column":103}},"line":653},"74":{"name":"(anonymous_74)","decl":{"start":{"line":678,"column":23},"end":{"line":678,"column":24}},"loc":{"start":{"line":678,"column":100},"end":{"line":682,"column":5}},"line":678},"75":{"name":"(anonymous_75)","decl":{"start":{"line":685,"column":11},"end":{"line":685,"column":12}},"loc":{"start":{"line":685,"column":26},"end":{"line":965,"column":3}},"line":685},"76":{"name":"(anonymous_76)","decl":{"start":{"line":686,"column":4},"end":{"line":686,"column":5}},"loc":{"start":{"line":686,"column":54},"end":{"line":723,"column":5}},"line":686},"77":{"name":"(anonymous_77)","decl":{"start":{"line":698,"column":42},"end":{"line":698,"column":43}},"loc":{"start":{"line":698,"column":53},"end":{"line":709,"column":11}},"line":698},"78":{"name":"(anonymous_78)","decl":{"start":{"line":724,"column":4},"end":{"line":724,"column":5}},"loc":{"start":{"line":724,"column":56},"end":{"line":743,"column":5}},"line":724},"79":{"name":"(anonymous_79)","decl":{"start":{"line":730,"column":41},"end":{"line":730,"column":42}},"loc":{"start":{"line":730,"column":52},"end":{"line":730,"column":79}},"line":730},"80":{"name":"(anonymous_80)","decl":{"start":{"line":744,"column":4},"end":{"line":744,"column":5}},"loc":{"start":{"line":744,"column":28},"end":{"line":746,"column":5}},"line":744},"81":{"name":"(anonymous_81)","decl":{"start":{"line":747,"column":4},"end":{"line":747,"column":5}},"loc":{"start":{"line":747,"column":23},"end":{"line":749,"column":5}},"line":747},"82":{"name":"(anonymous_82)","decl":{"start":{"line":750,"column":4},"end":{"line":750,"column":5}},"loc":{"start":{"line":750,"column":41},"end":{"line":760,"column":5}},"line":750},"83":{"name":"(anonymous_83)","decl":{"start":{"line":761,"column":4},"end":{"line":761,"column":5}},"loc":{"start":{"line":761,"column":24},"end":{"line":763,"column":5}},"line":761},"84":{"name":"(anonymous_84)","decl":{"start":{"line":764,"column":4},"end":{"line":764,"column":5}},"loc":{"start":{"line":764,"column":26},"end":{"line":766,"column":5}},"line":764},"85":{"name":"(anonymous_85)","decl":{"start":{"line":767,"column":4},"end":{"line":767,"column":5}},"loc":{"start":{"line":767,"column":74},"end":{"line":777,"column":5}},"line":767},"86":{"name":"(anonymous_86)","decl":{"start":{"line":778,"column":4},"end":{"line":778,"column":5}},"loc":{"start":{"line":778,"column":44},"end":{"line":788,"column":5}},"line":778},"87":{"name":"(anonymous_87)","decl":{"start":{"line":789,"column":4},"end":{"line":789,"column":5}},"loc":{"start":{"line":789,"column":48},"end":{"line":802,"column":5}},"line":789},"88":{"name":"(anonymous_88)","decl":{"start":{"line":796,"column":25},"end":{"line":796,"column":26}},"loc":{"start":{"line":796,"column":43},"end":{"line":799,"column":11}},"line":796},"89":{"name":"(anonymous_89)","decl":{"start":{"line":803,"column":4},"end":{"line":803,"column":5}},"loc":{"start":{"line":803,"column":47},"end":{"line":810,"column":5}},"line":803},"90":{"name":"(anonymous_90)","decl":{"start":{"line":811,"column":4},"end":{"line":811,"column":5}},"loc":{"start":{"line":811,"column":25},"end":{"line":813,"column":5}},"line":811},"91":{"name":"(anonymous_91)","decl":{"start":{"line":814,"column":4},"end":{"line":814,"column":5}},"loc":{"start":{"line":814,"column":26},"end":{"line":816,"column":5}},"line":814},"92":{"name":"(anonymous_92)","decl":{"start":{"line":817,"column":4},"end":{"line":817,"column":5}},"loc":{"start":{"line":817,"column":26},"end":{"line":819,"column":5}},"line":817},"93":{"name":"(anonymous_93)","decl":{"start":{"line":820,"column":4},"end":{"line":820,"column":5}},"loc":{"start":{"line":820,"column":62},"end":{"line":829,"column":5}},"line":820},"94":{"name":"(anonymous_94)","decl":{"start":{"line":830,"column":4},"end":{"line":830,"column":5}},"loc":{"start":{"line":830,"column":56},"end":{"line":839,"column":5}},"line":830},"95":{"name":"(anonymous_95)","decl":{"start":{"line":840,"column":4},"end":{"line":840,"column":5}},"loc":{"start":{"line":840,"column":48},"end":{"line":842,"column":5}},"line":840},"96":{"name":"(anonymous_96)","decl":{"start":{"line":843,"column":4},"end":{"line":843,"column":5}},"loc":{"start":{"line":843,"column":63},"end":{"line":857,"column":5}},"line":843},"97":{"name":"(anonymous_97)","decl":{"start":{"line":850,"column":16},"end":{"line":850,"column":17}},"loc":{"start":{"line":850,"column":27},"end":{"line":850,"column":86}},"line":850},"98":{"name":"(anonymous_98)","decl":{"start":{"line":851,"column":17},"end":{"line":851,"column":18}},"loc":{"start":{"line":851,"column":35},"end":{"line":856,"column":9}},"line":851},"99":{"name":"(anonymous_99)","decl":{"start":{"line":858,"column":4},"end":{"line":858,"column":5}},"loc":{"start":{"line":858,"column":63},"end":{"line":862,"column":5}},"line":858},"100":{"name":"(anonymous_100)","decl":{"start":{"line":863,"column":4},"end":{"line":863,"column":5}},"loc":{"start":{"line":863,"column":63},"end":{"line":867,"column":5}},"line":863},"101":{"name":"(anonymous_101)","decl":{"start":{"line":868,"column":4},"end":{"line":868,"column":5}},"loc":{"start":{"line":868,"column":64},"end":{"line":945,"column":5}},"line":868},"102":{"name":"(anonymous_102)","decl":{"start":{"line":889,"column":27},"end":{"line":889,"column":28}},"loc":{"start":{"line":889,"column":52},"end":{"line":902,"column":13}},"line":889},"103":{"name":"(anonymous_103)","decl":{"start":{"line":892,"column":67},"end":{"line":892,"column":68}},"loc":{"start":{"line":892,"column":88},"end":{"line":895,"column":17}},"line":892},"104":{"name":"(anonymous_104)","decl":{"start":{"line":904,"column":10},"end":{"line":904,"column":11}},"loc":{"start":{"line":904,"column":16},"end":{"line":940,"column":11}},"line":904},"105":{"name":"(anonymous_105)","decl":{"start":{"line":946,"column":4},"end":{"line":946,"column":5}},"loc":{"start":{"line":946,"column":56},"end":{"line":963,"column":5}},"line":946},"106":{"name":"(anonymous_106)","decl":{"start":{"line":964,"column":64},"end":{"line":964,"column":65}},"loc":{"start":{"line":964,"column":84},"end":{"line":964,"column":108}},"line":964}},"branchMap":{"0":{"loc":{"start":{"line":159,"column":10},"end":{"line":159,"column":114}},"type":"cond-expr","locations":[{"start":{"line":159,"column":67},"end":{"line":159,"column":90}},{"start":{"line":159,"column":93},"end":{"line":159,"column":114}}],"line":159},"1":{"loc":{"start":{"line":176,"column":20},"end":{"line":176,"column":60}},"type":"binary-expr","locations":[{"start":{"line":176,"column":20},"end":{"line":176,"column":38}},{"start":{"line":176,"column":42},"end":{"line":176,"column":60}}],"line":176},"2":{"loc":{"start":{"line":177,"column":14},"end":{"line":177,"column":41}},"type":"binary-expr","locations":[{"start":{"line":177,"column":14},"end":{"line":177,"column":25}},{"start":{"line":177,"column":29},"end":{"line":177,"column":41}}],"line":177},"3":{"loc":{"start":{"line":178,"column":19},"end":{"line":178,"column":56}},"type":"binary-expr","locations":[{"start":{"line":178,"column":19},"end":{"line":178,"column":35}},{"start":{"line":178,"column":39},"end":{"line":178,"column":56}}],"line":178},"4":{"loc":{"start":{"line":179,"column":14},"end":{"line":179,"column":91}},"type":"binary-expr","locations":[{"start":{"line":179,"column":14},"end":{"line":179,"column":52}},{"start":{"line":179,"column":56},"end":{"line":179,"column":91}}],"line":179},"5":{"loc":{"start":{"line":179,"column":36},"end":{"line":179,"column":51}},"type":"binary-expr","locations":[{"start":{"line":179,"column":36},"end":{"line":179,"column":45}},{"start":{"line":179,"column":49},"end":{"line":179,"column":51}}],"line":179},"6":{"loc":{"start":{"line":182,"column":6},"end":{"line":185,"column":7}},"type":"if","locations":[{"start":{"line":182,"column":6},"end":{"line":185,"column":7}},{"start":{},"end":{}}],"line":182},"7":{"loc":{"start":{"line":190,"column":6},"end":{"line":193,"column":7}},"type":"if","locations":[{"start":{"line":190,"column":6},"end":{"line":193,"column":7}},{"start":{},"end":{}}],"line":190},"8":{"loc":{"start":{"line":201,"column":99},"end":{"line":201,"column":144}},"type":"cond-expr","locations":[{"start":{"line":201,"column":118},"end":{"line":201,"column":122}},{"start":{"line":201,"column":125},"end":{"line":201,"column":144}}],"line":201},"9":{"loc":{"start":{"line":253,"column":6},"end":{"line":257,"column":7}},"type":"if","locations":[{"start":{"line":253,"column":6},"end":{"line":257,"column":7}},{"start":{},"end":{}}],"line":253},"10":{"loc":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},{"start":{},"end":{}}],"line":271},"11":{"loc":{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},"type":"if","locations":[{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},{"start":{},"end":{}}],"line":275},"12":{"loc":{"start":{"line":290,"column":8},"end":{"line":296,"column":9}},"type":"if","locations":[{"start":{"line":290,"column":8},"end":{"line":296,"column":9}},{"start":{},"end":{}}],"line":290},"13":{"loc":{"start":{"line":307,"column":8},"end":{"line":343,"column":9}},"type":"if","locations":[{"start":{"line":307,"column":8},"end":{"line":343,"column":9}},{"start":{"line":328,"column":15},"end":{"line":343,"column":9}}],"line":307},"14":{"loc":{"start":{"line":309,"column":10},"end":{"line":327,"column":11}},"type":"if","locations":[{"start":{"line":309,"column":10},"end":{"line":327,"column":11}},{"start":{},"end":{}}],"line":309},"15":{"loc":{"start":{"line":328,"column":15},"end":{"line":343,"column":9}},"type":"if","locations":[{"start":{"line":328,"column":15},"end":{"line":343,"column":9}},{"start":{},"end":{}}],"line":328},"16":{"loc":{"start":{"line":330,"column":10},"end":{"line":342,"column":11}},"type":"if","locations":[{"start":{"line":330,"column":10},"end":{"line":342,"column":11}},{"start":{},"end":{}}],"line":330},"17":{"loc":{"start":{"line":365,"column":10},"end":{"line":367,"column":11}},"type":"if","locations":[{"start":{"line":365,"column":10},"end":{"line":367,"column":11}},{"start":{},"end":{}}],"line":365},"18":{"loc":{"start":{"line":375,"column":10},"end":{"line":395,"column":11}},"type":"if","locations":[{"start":{"line":375,"column":10},"end":{"line":395,"column":11}},{"start":{"line":392,"column":17},"end":{"line":395,"column":11}}],"line":375},"19":{"loc":{"start":{"line":376,"column":12},"end":{"line":391,"column":13}},"type":"if","locations":[{"start":{"line":376,"column":12},"end":{"line":391,"column":13}},{"start":{"line":387,"column":19},"end":{"line":391,"column":13}}],"line":376},"20":{"loc":{"start":{"line":377,"column":52},"end":{"line":377,"column":78}},"type":"binary-expr","locations":[{"start":{"line":377,"column":52},"end":{"line":377,"column":72}},{"start":{"line":377,"column":76},"end":{"line":377,"column":78}}],"line":377},"21":{"loc":{"start":{"line":378,"column":49},"end":{"line":378,"column":72}},"type":"binary-expr","locations":[{"start":{"line":378,"column":49},"end":{"line":378,"column":66}},{"start":{"line":378,"column":70},"end":{"line":378,"column":72}}],"line":378},"22":{"loc":{"start":{"line":379,"column":14},"end":{"line":386,"column":15}},"type":"if","locations":[{"start":{"line":379,"column":14},"end":{"line":386,"column":15}},{"start":{"line":381,"column":21},"end":{"line":386,"column":15}}],"line":379},"23":{"loc":{"start":{"line":417,"column":10},"end":{"line":438,"column":11}},"type":"if","locations":[{"start":{"line":417,"column":10},"end":{"line":438,"column":11}},{"start":{"line":436,"column":17},"end":{"line":438,"column":11}}],"line":417},"24":{"loc":{"start":{"line":420,"column":12},"end":{"line":435,"column":13}},"type":"if","locations":[{"start":{"line":420,"column":12},"end":{"line":435,"column":13}},{"start":{"line":433,"column":19},"end":{"line":435,"column":13}}],"line":420},"25":{"loc":{"start":{"line":421,"column":52},"end":{"line":421,"column":78}},"type":"binary-expr","locations":[{"start":{"line":421,"column":52},"end":{"line":421,"column":72}},{"start":{"line":421,"column":76},"end":{"line":421,"column":78}}],"line":421},"26":{"loc":{"start":{"line":422,"column":49},"end":{"line":422,"column":72}},"type":"binary-expr","locations":[{"start":{"line":422,"column":49},"end":{"line":422,"column":66}},{"start":{"line":422,"column":70},"end":{"line":422,"column":72}}],"line":422},"27":{"loc":{"start":{"line":423,"column":14},"end":{"line":432,"column":15}},"type":"if","locations":[{"start":{"line":423,"column":14},"end":{"line":432,"column":15}},{"start":{"line":428,"column":21},"end":{"line":432,"column":15}}],"line":423},"28":{"loc":{"start":{"line":424,"column":16},"end":{"line":425,"column":85}},"type":"binary-expr","locations":[{"start":{"line":424,"column":16},"end":{"line":424,"column":52}},{"start":{"line":425,"column":19},"end":{"line":425,"column":85}}],"line":424},"29":{"loc":{"start":{"line":450,"column":25},"end":{"line":450,"column":64}},"type":"cond-expr","locations":[{"start":{"line":450,"column":40},"end":{"line":450,"column":52}},{"start":{"line":450,"column":55},"end":{"line":450,"column":64}}],"line":450},"30":{"loc":{"start":{"line":483,"column":12},"end":{"line":495,"column":85}},"type":"cond-expr","locations":[{"start":{"line":484,"column":16},"end":{"line":494,"column":16}},{"start":{"line":495,"column":16},"end":{"line":495,"column":85}}],"line":483},"31":{"loc":{"start":{"line":485,"column":16},"end":{"line":492,"column":17}},"type":"if","locations":[{"start":{"line":485,"column":16},"end":{"line":492,"column":17}},{"start":{},"end":{}}],"line":485},"32":{"loc":{"start":{"line":486,"column":18},"end":{"line":489,"column":19}},"type":"if","locations":[{"start":{"line":486,"column":18},"end":{"line":489,"column":19}},{"start":{},"end":{}}],"line":486},"33":{"loc":{"start":{"line":507,"column":25},"end":{"line":507,"column":91}},"type":"binary-expr","locations":[{"start":{"line":507,"column":25},"end":{"line":507,"column":63}},{"start":{"line":507,"column":67},"end":{"line":507,"column":91}}],"line":507},"34":{"loc":{"start":{"line":519,"column":29},"end":{"line":519,"column":55}},"type":"binary-expr","locations":[{"start":{"line":519,"column":29},"end":{"line":519,"column":49}},{"start":{"line":519,"column":53},"end":{"line":519,"column":55}}],"line":519},"35":{"loc":{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},"type":"if","locations":[{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},{"start":{},"end":{}}],"line":521},"36":{"loc":{"start":{"line":521,"column":12},"end":{"line":521,"column":71}},"type":"binary-expr","locations":[{"start":{"line":521,"column":12},"end":{"line":521,"column":48}},{"start":{"line":521,"column":52},"end":{"line":521,"column":71}}],"line":521},"37":{"loc":{"start":{"line":547,"column":19},"end":{"line":547,"column":78}},"type":"binary-expr","locations":[{"start":{"line":547,"column":19},"end":{"line":547,"column":55}},{"start":{"line":547,"column":59},"end":{"line":547,"column":78}}],"line":547},"38":{"loc":{"start":{"line":559,"column":8},"end":{"line":563,"column":9}},"type":"if","locations":[{"start":{"line":559,"column":8},"end":{"line":563,"column":9}},{"start":{"line":561,"column":15},"end":{"line":563,"column":9}}],"line":559},"39":{"loc":{"start":{"line":627,"column":8},"end":{"line":637,"column":9}},"type":"if","locations":[{"start":{"line":627,"column":8},"end":{"line":637,"column":9}},{"start":{},"end":{}}],"line":627},"40":{"loc":{"start":{"line":628,"column":77},"end":{"line":628,"column":114}},"type":"binary-expr","locations":[{"start":{"line":628,"column":77},"end":{"line":628,"column":95}},{"start":{"line":628,"column":99},"end":{"line":628,"column":114}}],"line":628},"41":{"loc":{"start":{"line":629,"column":10},"end":{"line":636,"column":11}},"type":"if","locations":[{"start":{"line":629,"column":10},"end":{"line":636,"column":11}},{"start":{},"end":{}}],"line":629},"42":{"loc":{"start":{"line":653,"column":55},"end":{"line":653,"column":103}},"type":"binary-expr","locations":[{"start":{"line":653,"column":55},"end":{"line":653,"column":78}},{"start":{"line":653,"column":82},"end":{"line":653,"column":103}}],"line":653},"43":{"loc":{"start":{"line":655,"column":8},"end":{"line":667,"column":9}},"type":"if","locations":[{"start":{"line":655,"column":8},"end":{"line":667,"column":9}},{"start":{"line":665,"column":15},"end":{"line":667,"column":9}}],"line":655},"44":{"loc":{"start":{"line":656,"column":10},"end":{"line":664,"column":11}},"type":"if","locations":[{"start":{"line":656,"column":10},"end":{"line":664,"column":11}},{"start":{},"end":{}}],"line":656},"45":{"loc":{"start":{"line":687,"column":6},"end":{"line":689,"column":7}},"type":"if","locations":[{"start":{"line":687,"column":6},"end":{"line":689,"column":7}},{"start":{},"end":{}}],"line":687},"46":{"loc":{"start":{"line":687,"column":10},"end":{"line":687,"column":61}},"type":"binary-expr","locations":[{"start":{"line":687,"column":10},"end":{"line":687,"column":25}},{"start":{"line":687,"column":29},"end":{"line":687,"column":61}}],"line":687},"47":{"loc":{"start":{"line":691,"column":6},"end":{"line":693,"column":7}},"type":"if","locations":[{"start":{"line":691,"column":6},"end":{"line":693,"column":7}},{"start":{},"end":{}}],"line":691},"48":{"loc":{"start":{"line":691,"column":10},"end":{"line":691,"column":78}},"type":"binary-expr","locations":[{"start":{"line":691,"column":10},"end":{"line":691,"column":30}},{"start":{"line":691,"column":34},"end":{"line":691,"column":78}}],"line":691},"49":{"loc":{"start":{"line":695,"column":6},"end":{"line":722,"column":7}},"type":"if","locations":[{"start":{"line":695,"column":6},"end":{"line":722,"column":7}},{"start":{},"end":{}}],"line":695},"50":{"loc":{"start":{"line":695,"column":10},"end":{"line":695,"column":103}},"type":"binary-expr","locations":[{"start":{"line":695,"column":10},"end":{"line":695,"column":30}},{"start":{"line":695,"column":34},"end":{"line":695,"column":103}}],"line":695},"51":{"loc":{"start":{"line":697,"column":8},"end":{"line":721,"column":9}},"type":"if","locations":[{"start":{"line":697,"column":8},"end":{"line":721,"column":9}},{"start":{},"end":{}}],"line":697},"52":{"loc":{"start":{"line":699,"column":12},"end":{"line":707,"column":13}},"type":"if","locations":[{"start":{"line":699,"column":12},"end":{"line":707,"column":13}},{"start":{},"end":{}}],"line":699},"53":{"loc":{"start":{"line":727,"column":6},"end":{"line":742,"column":7}},"type":"if","locations":[{"start":{"line":727,"column":6},"end":{"line":742,"column":7}},{"start":{},"end":{}}],"line":727},"54":{"loc":{"start":{"line":729,"column":8},"end":{"line":741,"column":9}},"type":"if","locations":[{"start":{"line":729,"column":8},"end":{"line":741,"column":9}},{"start":{},"end":{}}],"line":729},"55":{"loc":{"start":{"line":753,"column":6},"end":{"line":759,"column":7}},"type":"if","locations":[{"start":{"line":753,"column":6},"end":{"line":759,"column":7}},{"start":{},"end":{}}],"line":753},"56":{"loc":{"start":{"line":770,"column":6},"end":{"line":776,"column":7}},"type":"if","locations":[{"start":{"line":770,"column":6},"end":{"line":776,"column":7}},{"start":{},"end":{}}],"line":770},"57":{"loc":{"start":{"line":781,"column":6},"end":{"line":787,"column":7}},"type":"if","locations":[{"start":{"line":781,"column":6},"end":{"line":787,"column":7}},{"start":{},"end":{}}],"line":781},"58":{"loc":{"start":{"line":792,"column":6},"end":{"line":801,"column":7}},"type":"if","locations":[{"start":{"line":792,"column":6},"end":{"line":801,"column":7}},{"start":{},"end":{}}],"line":792},"59":{"loc":{"start":{"line":807,"column":6},"end":{"line":809,"column":7}},"type":"if","locations":[{"start":{"line":807,"column":6},"end":{"line":809,"column":7}},{"start":{},"end":{}}],"line":807},"60":{"loc":{"start":{"line":823,"column":6},"end":{"line":828,"column":7}},"type":"if","locations":[{"start":{"line":823,"column":6},"end":{"line":828,"column":7}},{"start":{},"end":{}}],"line":823},"61":{"loc":{"start":{"line":833,"column":6},"end":{"line":838,"column":7}},"type":"if","locations":[{"start":{"line":833,"column":6},"end":{"line":838,"column":7}},{"start":{},"end":{}}],"line":833},"62":{"loc":{"start":{"line":848,"column":29},"end":{"line":848,"column":70}},"type":"binary-expr","locations":[{"start":{"line":848,"column":29},"end":{"line":848,"column":64}},{"start":{"line":848,"column":68},"end":{"line":848,"column":70}}],"line":848},"63":{"loc":{"start":{"line":850,"column":27},"end":{"line":850,"column":86}},"type":"binary-expr","locations":[{"start":{"line":850,"column":27},"end":{"line":850,"column":63}},{"start":{"line":850,"column":67},"end":{"line":850,"column":86}}],"line":850},"64":{"loc":{"start":{"line":859,"column":6},"end":{"line":861,"column":7}},"type":"if","locations":[{"start":{"line":859,"column":6},"end":{"line":861,"column":7}},{"start":{},"end":{}}],"line":859},"65":{"loc":{"start":{"line":871,"column":6},"end":{"line":871,"column":29}},"type":"if","locations":[{"start":{"line":871,"column":6},"end":{"line":871,"column":29}},{"start":{},"end":{}}],"line":871},"66":{"loc":{"start":{"line":877,"column":8},"end":{"line":879,"column":9}},"type":"if","locations":[{"start":{"line":877,"column":8},"end":{"line":879,"column":9}},{"start":{},"end":{}}],"line":877},"67":{"loc":{"start":{"line":882,"column":8},"end":{"line":884,"column":9}},"type":"if","locations":[{"start":{"line":882,"column":8},"end":{"line":884,"column":9}},{"start":{},"end":{}}],"line":882},"68":{"loc":{"start":{"line":916,"column":22},"end":{"line":916,"column":83}},"type":"cond-expr","locations":[{"start":{"line":916,"column":49},"end":{"line":916,"column":76}},{"start":{"line":916,"column":79},"end":{"line":916,"column":83}}],"line":916},"69":{"loc":{"start":{"line":925,"column":29},"end":{"line":925,"column":88}},"type":"binary-expr","locations":[{"start":{"line":925,"column":29},"end":{"line":925,"column":60}},{"start":{"line":925,"column":64},"end":{"line":925,"column":88}}],"line":925},"70":{"loc":{"start":{"line":930,"column":34},"end":{"line":930,"column":88}},"type":"binary-expr","locations":[{"start":{"line":930,"column":34},"end":{"line":930,"column":53}},{"start":{"line":930,"column":57},"end":{"line":930,"column":88}}],"line":930},"71":{"loc":{"start":{"line":951,"column":6},"end":{"line":962,"column":7}},"type":"if","locations":[{"start":{"line":951,"column":6},"end":{"line":962,"column":7}},{"start":{},"end":{}}],"line":951}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/uiState.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/uiState.tsx","statementMap":{"0":{"start":{"line":96,"column":42},"end":{"line":104,"column":1}},"1":{"start":{"line":106,"column":23},"end":{"line":470,"column":2}},"2":{"start":{"line":156,"column":63},"end":{"line":159,"column":5}},"3":{"start":{"line":160,"column":95},"end":{"line":163,"column":5}},"4":{"start":{"line":164,"column":57},"end":{"line":167,"column":5}},"5":{"start":{"line":168,"column":51},"end":{"line":171,"column":5}},"6":{"start":{"line":187,"column":10},"end":{"line":200,"column":5}},"7":{"start":{"line":201,"column":49},"end":{"line":204,"column":5}},"8":{"start":{"line":205,"column":32},"end":{"line":208,"column":5}},"9":{"start":{"line":209,"column":44},"end":{"line":212,"column":5}},"10":{"start":{"line":213,"column":53},"end":{"line":216,"column":5}},"11":{"start":{"line":217,"column":48},"end":{"line":220,"column":5}},"12":{"start":{"line":222,"column":6},"end":{"line":222,"column":46}},"13":{"start":{"line":224,"column":6},"end":{"line":227,"column":8}},"14":{"start":{"line":229,"column":60},"end":{"line":232,"column":5}},"15":{"start":{"line":233,"column":66},"end":{"line":236,"column":5}},"16":{"start":{"line":237,"column":38},"end":{"line":240,"column":5}},"17":{"start":{"line":242,"column":6},"end":{"line":245,"column":8}},"18":{"start":{"line":248,"column":6},"end":{"line":253,"column":8}},"19":{"start":{"line":251,"column":10},"end":{"line":251,"column":27}},"20":{"start":{"line":256,"column":6},"end":{"line":259,"column":8}},"21":{"start":{"line":262,"column":6},"end":{"line":265,"column":8}},"22":{"start":{"line":268,"column":6},"end":{"line":271,"column":8}},"23":{"start":{"line":274,"column":6},"end":{"line":277,"column":8}},"24":{"start":{"line":280,"column":6},"end":{"line":283,"column":8}},"25":{"start":{"line":286,"column":6},"end":{"line":289,"column":8}},"26":{"start":{"line":292,"column":6},"end":{"line":295,"column":8}},"27":{"start":{"line":298,"column":6},"end":{"line":301,"column":8}},"28":{"start":{"line":304,"column":6},"end":{"line":307,"column":8}},"29":{"start":{"line":310,"column":6},"end":{"line":313,"column":8}},"30":{"start":{"line":316,"column":6},"end":{"line":319,"column":8}},"31":{"start":{"line":322,"column":6},"end":{"line":325,"column":8}},"32":{"start":{"line":328,"column":6},"end":{"line":331,"column":8}},"33":{"start":{"line":334,"column":6},"end":{"line":337,"column":8}},"34":{"start":{"line":340,"column":6},"end":{"line":343,"column":8}},"35":{"start":{"line":346,"column":6},"end":{"line":349,"column":8}},"36":{"start":{"line":352,"column":6},"end":{"line":355,"column":8}},"37":{"start":{"line":358,"column":6},"end":{"line":373,"column":8}},"38":{"start":{"line":361,"column":10},"end":{"line":370,"column":11}},"39":{"start":{"line":362,"column":12},"end":{"line":369,"column":14}},"40":{"start":{"line":371,"column":10},"end":{"line":371,"column":21}},"41":{"start":{"line":376,"column":6},"end":{"line":390,"column":8}},"42":{"start":{"line":379,"column":10},"end":{"line":387,"column":11}},"43":{"start":{"line":380,"column":40},"end":{"line":380,"column":81}},"44":{"start":{"line":381,"column":12},"end":{"line":386,"column":14}},"45":{"start":{"line":388,"column":10},"end":{"line":388,"column":21}},"46":{"start":{"line":393,"column":6},"end":{"line":396,"column":8}},"47":{"start":{"line":399,"column":6},"end":{"line":402,"column":8}},"48":{"start":{"line":405,"column":6},"end":{"line":408,"column":8}},"49":{"start":{"line":411,"column":6},"end":{"line":414,"column":8}},"50":{"start":{"line":416,"column":51},"end":{"line":419,"column":5}},"51":{"start":{"line":420,"column":47},"end":{"line":423,"column":5}},"52":{"start":{"line":425,"column":26},"end":{"line":469,"column":3}},"53":{"start":{"line":427,"column":6},"end":{"line":429,"column":9}},"54":{"start":{"line":428,"column":8},"end":{"line":428,"column":46}},"55":{"start":{"line":432,"column":6},"end":{"line":435,"column":9}},"56":{"start":{"line":438,"column":6},"end":{"line":441,"column":9}},"57":{"start":{"line":444,"column":6},"end":{"line":447,"column":9}},"58":{"start":{"line":450,"column":6},"end":{"line":453,"column":9}},"59":{"start":{"line":456,"column":38},"end":{"line":456,"column":64}},"60":{"start":{"line":458,"column":6},"end":{"line":461,"column":9}},"61":{"start":{"line":464,"column":6},"end":{"line":467,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":156,"column":36},"end":{"line":156,"column":37}},"loc":{"start":{"line":156,"column":63},"end":{"line":159,"column":5}},"line":156},"1":{"name":"(anonymous_1)","decl":{"start":{"line":160,"column":23},"end":{"line":160,"column":24}},"loc":{"start":{"line":160,"column":95},"end":{"line":163,"column":5}},"line":160},"2":{"name":"(anonymous_2)","decl":{"start":{"line":164,"column":23},"end":{"line":164,"column":24}},"loc":{"start":{"line":164,"column":57},"end":{"line":167,"column":5}},"line":164},"3":{"name":"(anonymous_3)","decl":{"start":{"line":168,"column":24},"end":{"line":168,"column":25}},"loc":{"start":{"line":168,"column":51},"end":{"line":171,"column":5}},"line":168},"4":{"name":"(anonymous_4)","decl":{"start":{"line":172,"column":20},"end":{"line":172,"column":21}},"loc":{"start":{"line":187,"column":10},"end":{"line":200,"column":5}},"line":187},"5":{"name":"(anonymous_5)","decl":{"start":{"line":201,"column":23},"end":{"line":201,"column":24}},"loc":{"start":{"line":201,"column":49},"end":{"line":204,"column":5}},"line":201},"6":{"name":"(anonymous_6)","decl":{"start":{"line":205,"column":20},"end":{"line":205,"column":21}},"loc":{"start":{"line":205,"column":32},"end":{"line":208,"column":5}},"line":205},"7":{"name":"(anonymous_7)","decl":{"start":{"line":209,"column":17},"end":{"line":209,"column":18}},"loc":{"start":{"line":209,"column":44},"end":{"line":212,"column":5}},"line":209},"8":{"name":"(anonymous_8)","decl":{"start":{"line":213,"column":18},"end":{"line":213,"column":19}},"loc":{"start":{"line":213,"column":53},"end":{"line":216,"column":5}},"line":213},"9":{"name":"(anonymous_9)","decl":{"start":{"line":217,"column":21},"end":{"line":217,"column":22}},"loc":{"start":{"line":217,"column":48},"end":{"line":220,"column":5}},"line":217},"10":{"name":"(anonymous_10)","decl":{"start":{"line":221,"column":20},"end":{"line":221,"column":21}},"loc":{"start":{"line":221,"column":50},"end":{"line":228,"column":5}},"line":221},"11":{"name":"(anonymous_11)","decl":{"start":{"line":229,"column":24},"end":{"line":229,"column":25}},"loc":{"start":{"line":229,"column":60},"end":{"line":232,"column":5}},"line":229},"12":{"name":"(anonymous_12)","decl":{"start":{"line":233,"column":32},"end":{"line":233,"column":33}},"loc":{"start":{"line":233,"column":66},"end":{"line":236,"column":5}},"line":233},"13":{"name":"(anonymous_13)","decl":{"start":{"line":237,"column":26},"end":{"line":237,"column":27}},"loc":{"start":{"line":237,"column":38},"end":{"line":240,"column":5}},"line":237},"14":{"name":"(anonymous_14)","decl":{"start":{"line":241,"column":4},"end":{"line":241,"column":5}},"loc":{"start":{"line":241,"column":40},"end":{"line":246,"column":5}},"line":241},"15":{"name":"(anonymous_15)","decl":{"start":{"line":247,"column":4},"end":{"line":247,"column":5}},"loc":{"start":{"line":247,"column":37},"end":{"line":254,"column":5}},"line":247},"16":{"name":"(anonymous_16)","decl":{"start":{"line":250,"column":52},"end":{"line":250,"column":53}},"loc":{"start":{"line":251,"column":10},"end":{"line":251,"column":27}},"line":251},"17":{"name":"(anonymous_17)","decl":{"start":{"line":255,"column":4},"end":{"line":255,"column":5}},"loc":{"start":{"line":255,"column":21},"end":{"line":260,"column":5}},"line":255},"18":{"name":"(anonymous_18)","decl":{"start":{"line":261,"column":4},"end":{"line":261,"column":5}},"loc":{"start":{"line":261,"column":39},"end":{"line":266,"column":5}},"line":261},"19":{"name":"(anonymous_19)","decl":{"start":{"line":267,"column":4},"end":{"line":267,"column":5}},"loc":{"start":{"line":267,"column":56},"end":{"line":272,"column":5}},"line":267},"20":{"name":"(anonymous_20)","decl":{"start":{"line":273,"column":4},"end":{"line":273,"column":5}},"loc":{"start":{"line":273,"column":42},"end":{"line":278,"column":5}},"line":273},"21":{"name":"(anonymous_21)","decl":{"start":{"line":279,"column":4},"end":{"line":279,"column":5}},"loc":{"start":{"line":279,"column":44},"end":{"line":284,"column":5}},"line":279},"22":{"name":"(anonymous_22)","decl":{"start":{"line":285,"column":4},"end":{"line":285,"column":5}},"loc":{"start":{"line":285,"column":55},"end":{"line":290,"column":5}},"line":285},"23":{"name":"(anonymous_23)","decl":{"start":{"line":291,"column":4},"end":{"line":291,"column":5}},"loc":{"start":{"line":291,"column":66},"end":{"line":296,"column":5}},"line":291},"24":{"name":"(anonymous_24)","decl":{"start":{"line":297,"column":4},"end":{"line":297,"column":5}},"loc":{"start":{"line":297,"column":62},"end":{"line":302,"column":5}},"line":297},"25":{"name":"(anonymous_25)","decl":{"start":{"line":303,"column":4},"end":{"line":303,"column":5}},"loc":{"start":{"line":303,"column":62},"end":{"line":308,"column":5}},"line":303},"26":{"name":"(anonymous_26)","decl":{"start":{"line":309,"column":4},"end":{"line":309,"column":5}},"loc":{"start":{"line":309,"column":42},"end":{"line":314,"column":5}},"line":309},"27":{"name":"(anonymous_27)","decl":{"start":{"line":315,"column":4},"end":{"line":315,"column":5}},"loc":{"start":{"line":315,"column":56},"end":{"line":320,"column":5}},"line":315},"28":{"name":"(anonymous_28)","decl":{"start":{"line":321,"column":4},"end":{"line":321,"column":5}},"loc":{"start":{"line":321,"column":62},"end":{"line":326,"column":5}},"line":321},"29":{"name":"(anonymous_29)","decl":{"start":{"line":327,"column":4},"end":{"line":327,"column":5}},"loc":{"start":{"line":327,"column":65},"end":{"line":332,"column":5}},"line":327},"30":{"name":"(anonymous_30)","decl":{"start":{"line":333,"column":4},"end":{"line":333,"column":5}},"loc":{"start":{"line":333,"column":59},"end":{"line":338,"column":5}},"line":333},"31":{"name":"(anonymous_31)","decl":{"start":{"line":339,"column":4},"end":{"line":339,"column":5}},"loc":{"start":{"line":339,"column":43},"end":{"line":344,"column":5}},"line":339},"32":{"name":"(anonymous_32)","decl":{"start":{"line":345,"column":4},"end":{"line":345,"column":5}},"loc":{"start":{"line":345,"column":58},"end":{"line":350,"column":5}},"line":345},"33":{"name":"(anonymous_33)","decl":{"start":{"line":351,"column":4},"end":{"line":351,"column":5}},"loc":{"start":{"line":351,"column":27},"end":{"line":356,"column":5}},"line":351},"34":{"name":"(anonymous_34)","decl":{"start":{"line":357,"column":4},"end":{"line":357,"column":5}},"loc":{"start":{"line":357,"column":52},"end":{"line":374,"column":5}},"line":357},"35":{"name":"(anonymous_35)","decl":{"start":{"line":360,"column":49},"end":{"line":360,"column":50}},"loc":{"start":{"line":360,"column":58},"end":{"line":372,"column":9}},"line":360},"36":{"name":"(anonymous_36)","decl":{"start":{"line":375,"column":4},"end":{"line":375,"column":5}},"loc":{"start":{"line":375,"column":62},"end":{"line":391,"column":5}},"line":375},"37":{"name":"(anonymous_37)","decl":{"start":{"line":378,"column":49},"end":{"line":378,"column":50}},"loc":{"start":{"line":378,"column":58},"end":{"line":389,"column":9}},"line":378},"38":{"name":"(anonymous_38)","decl":{"start":{"line":392,"column":4},"end":{"line":392,"column":5}},"loc":{"start":{"line":392,"column":51},"end":{"line":397,"column":5}},"line":392},"39":{"name":"(anonymous_39)","decl":{"start":{"line":398,"column":4},"end":{"line":398,"column":5}},"loc":{"start":{"line":398,"column":65},"end":{"line":403,"column":5}},"line":398},"40":{"name":"(anonymous_40)","decl":{"start":{"line":404,"column":4},"end":{"line":404,"column":5}},"loc":{"start":{"line":404,"column":42},"end":{"line":409,"column":5}},"line":404},"41":{"name":"(anonymous_41)","decl":{"start":{"line":410,"column":4},"end":{"line":410,"column":5}},"loc":{"start":{"line":410,"column":30},"end":{"line":415,"column":5}},"line":410},"42":{"name":"(anonymous_42)","decl":{"start":{"line":416,"column":24},"end":{"line":416,"column":25}},"loc":{"start":{"line":416,"column":51},"end":{"line":419,"column":5}},"line":416},"43":{"name":"(anonymous_43)","decl":{"start":{"line":420,"column":21},"end":{"line":420,"column":22}},"loc":{"start":{"line":420,"column":47},"end":{"line":423,"column":5}},"line":420},"44":{"name":"(anonymous_44)","decl":{"start":{"line":425,"column":11},"end":{"line":425,"column":12}},"loc":{"start":{"line":425,"column":26},"end":{"line":469,"column":3}},"line":425},"45":{"name":"(anonymous_45)","decl":{"start":{"line":426,"column":19},"end":{"line":426,"column":20}},"loc":{"start":{"line":426,"column":32},"end":{"line":430,"column":5}},"line":426},"46":{"name":"(anonymous_46)","decl":{"start":{"line":427,"column":30},"end":{"line":427,"column":31}},"loc":{"start":{"line":427,"column":42},"end":{"line":429,"column":7}},"line":427},"47":{"name":"(anonymous_47)","decl":{"start":{"line":431,"column":32},"end":{"line":431,"column":33}},"loc":{"start":{"line":431,"column":45},"end":{"line":436,"column":5}},"line":431},"48":{"name":"(anonymous_48)","decl":{"start":{"line":437,"column":38},"end":{"line":437,"column":39}},"loc":{"start":{"line":437,"column":51},"end":{"line":442,"column":5}},"line":437},"49":{"name":"(anonymous_49)","decl":{"start":{"line":443,"column":41},"end":{"line":443,"column":42}},"loc":{"start":{"line":443,"column":54},"end":{"line":448,"column":5}},"line":443},"50":{"name":"(anonymous_50)","decl":{"start":{"line":449,"column":35},"end":{"line":449,"column":36}},"loc":{"start":{"line":449,"column":48},"end":{"line":454,"column":5}},"line":449},"51":{"name":"(anonymous_51)","decl":{"start":{"line":455,"column":18},"end":{"line":455,"column":19}},"loc":{"start":{"line":455,"column":37},"end":{"line":462,"column":5}},"line":455},"52":{"name":"(anonymous_52)","decl":{"start":{"line":463,"column":4},"end":{"line":463,"column":5}},"loc":{"start":{"line":463,"column":62},"end":{"line":468,"column":5}},"line":463}},"branchMap":{"0":{"loc":{"start":{"line":194,"column":23},"end":{"line":194,"column":78}},"type":"binary-expr","locations":[{"start":{"line":194,"column":23},"end":{"line":194,"column":41}},{"start":{"line":194,"column":45},"end":{"line":194,"column":78}}],"line":194},"1":{"loc":{"start":{"line":195,"column":22},"end":{"line":195,"column":75}},"type":"binary-expr","locations":[{"start":{"line":195,"column":22},"end":{"line":195,"column":39}},{"start":{"line":195,"column":43},"end":{"line":195,"column":75}}],"line":195},"2":{"loc":{"start":{"line":348,"column":25},"end":{"line":348,"column":75}},"type":"cond-expr","locations":[{"start":{"line":348,"column":43},"end":{"line":348,"column":65}},{"start":{"line":348,"column":68},"end":{"line":348,"column":75}}],"line":348},"3":{"loc":{"start":{"line":361,"column":10},"end":{"line":370,"column":11}},"type":"if","locations":[{"start":{"line":361,"column":10},"end":{"line":370,"column":11}},{"start":{},"end":{}}],"line":361},"4":{"loc":{"start":{"line":364,"column":18},"end":{"line":366,"column":20}},"type":"cond-expr","locations":[{"start":{"line":364,"column":48},"end":{"line":366,"column":15}},{"start":{"line":366,"column":18},"end":{"line":366,"column":20}}],"line":364},"5":{"loc":{"start":{"line":367,"column":30},"end":{"line":367,"column":53}},"type":"binary-expr","locations":[{"start":{"line":367,"column":30},"end":{"line":367,"column":48}},{"start":{"line":367,"column":52},"end":{"line":367,"column":53}}],"line":367},"6":{"loc":{"start":{"line":368,"column":27},"end":{"line":368,"column":46}},"type":"binary-expr","locations":[{"start":{"line":368,"column":27},"end":{"line":368,"column":41}},{"start":{"line":368,"column":45},"end":{"line":368,"column":46}}],"line":368},"7":{"loc":{"start":{"line":379,"column":10},"end":{"line":387,"column":11}},"type":"if","locations":[{"start":{"line":379,"column":10},"end":{"line":387,"column":11}},{"start":{},"end":{}}],"line":379},"8":{"loc":{"start":{"line":380,"column":41},"end":{"line":380,"column":64}},"type":"binary-expr","locations":[{"start":{"line":380,"column":41},"end":{"line":380,"column":59}},{"start":{"line":380,"column":63},"end":{"line":380,"column":64}}],"line":380},"9":{"loc":{"start":{"line":383,"column":27},"end":{"line":383,"column":65}},"type":"binary-expr","locations":[{"start":{"line":383,"column":27},"end":{"line":383,"column":46}},{"start":{"line":383,"column":50},"end":{"line":383,"column":65}}],"line":383},"10":{"loc":{"start":{"line":385,"column":27},"end":{"line":385,"column":64}},"type":"binary-expr","locations":[{"start":{"line":385,"column":27},"end":{"line":385,"column":41}},{"start":{"line":385,"column":45},"end":{"line":385,"column":64}}],"line":385},"11":{"loc":{"start":{"line":466,"column":25},"end":{"line":466,"column":86}},"type":"cond-expr","locations":[{"start":{"line":466,"column":43},"end":{"line":466,"column":76}},{"start":{"line":466,"column":79},"end":{"line":466,"column":86}}],"line":466}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/userState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/userState.ts","statementMap":{"0":{"start":{"line":37,"column":25},"end":{"line":135,"column":2}},"1":{"start":{"line":55,"column":6},"end":{"line":58,"column":8}},"2":{"start":{"line":61,"column":6},"end":{"line":64,"column":8}},"3":{"start":{"line":67,"column":6},"end":{"line":70,"column":8}},"4":{"start":{"line":73,"column":6},"end":{"line":76,"column":8}},"5":{"start":{"line":79,"column":6},"end":{"line":82,"column":8}},"6":{"start":{"line":85,"column":6},"end":{"line":88,"column":8}},"7":{"start":{"line":91,"column":6},"end":{"line":94,"column":8}},"8":{"start":{"line":97,"column":6},"end":{"line":100,"column":8}},"9":{"start":{"line":104,"column":26},"end":{"line":134,"column":3}},"10":{"start":{"line":106,"column":51},"end":{"line":106,"column":70}},"11":{"start":{"line":108,"column":6},"end":{"line":113,"column":7}},"12":{"start":{"line":109,"column":26},"end":{"line":109,"column":65}},"13":{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},"14":{"start":{"line":111,"column":10},"end":{"line":111,"column":102}},"15":{"start":{"line":115,"column":6},"end":{"line":118,"column":9}},"16":{"start":{"line":120,"column":6},"end":{"line":123,"column":9}},"17":{"start":{"line":125,"column":6},"end":{"line":125,"column":46}},"18":{"start":{"line":126,"column":6},"end":{"line":126,"column":50}},"19":{"start":{"line":127,"column":6},"end":{"line":127,"column":52}},"20":{"start":{"line":128,"column":6},"end":{"line":132,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":45},"end":{"line":59,"column":5}},"line":54},"1":{"name":"(anonymous_1)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":40},"end":{"line":65,"column":5}},"line":60},"2":{"name":"(anonymous_2)","decl":{"start":{"line":66,"column":4},"end":{"line":66,"column":5}},"loc":{"start":{"line":66,"column":54},"end":{"line":71,"column":5}},"line":66},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":53},"end":{"line":77,"column":5}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":78,"column":4},"end":{"line":78,"column":5}},"loc":{"start":{"line":78,"column":56},"end":{"line":83,"column":5}},"line":78},"5":{"name":"(anonymous_5)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":54},"end":{"line":89,"column":5}},"line":84},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":44},"end":{"line":95,"column":5}},"line":90},"7":{"name":"(anonymous_7)","decl":{"start":{"line":96,"column":4},"end":{"line":96,"column":5}},"loc":{"start":{"line":96,"column":54},"end":{"line":101,"column":5}},"line":96},"8":{"name":"(anonymous_8)","decl":{"start":{"line":104,"column":11},"end":{"line":104,"column":12}},"loc":{"start":{"line":104,"column":26},"end":{"line":134,"column":3}},"line":104},"9":{"name":"(anonymous_9)","decl":{"start":{"line":105,"column":22},"end":{"line":105,"column":23}},"loc":{"start":{"line":105,"column":52},"end":{"line":133,"column":5}},"line":105}},"branchMap":{"0":{"loc":{"start":{"line":108,"column":6},"end":{"line":113,"column":7}},"type":"if","locations":[{"start":{"line":108,"column":6},"end":{"line":113,"column":7}},{"start":{},"end":{}}],"line":108},"1":{"loc":{"start":{"line":108,"column":10},"end":{"line":108,"column":37}},"type":"binary-expr","locations":[{"start":{"line":108,"column":10},"end":{"line":108,"column":20}},{"start":{"line":108,"column":24},"end":{"line":108,"column":37}}],"line":108},"2":{"loc":{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},{"start":{},"end":{}}],"line":110}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/updateCheckForChangesAtomic.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/updateCheckForChangesAtomic.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"updateCheckForChangesAtomic","decl":{"start":{"line":4,"column":22},"end":{"line":4,"column":49}},"loc":{"start":{"line":4,"column":76},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setCreateStylesWithVariableReferences","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":53}},"loc":{"start":{"line":5,"column":56},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setIgnoreFirstPartForStyles","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":43}},"loc":{"start":{"line":5,"column":46},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setPrefixStylesWithThemeName","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":44}},"loc":{"start":{"line":5,"column":47},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setRemoveStylesAndVariablesWithoutConnection","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":60}},"loc":{"start":{"line":5,"column":63},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setRenameExistingStylesAndVariables","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":51}},"loc":{"start":{"line":5,"column":54},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStyleTypography.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStyleTypography.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setStylesTypography","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":35}},"loc":{"start":{"line":5,"column":38},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesColor.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setStylesColor","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":33},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesEffect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setStylesEffect.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setStylesEffect","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":31}},"loc":{"start":{"line":5,"column":34},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesBoolean.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesBoolean.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesBoolean","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":35}},"loc":{"start":{"line":5,"column":38},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesColor.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesColor","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":33}},"loc":{"start":{"line":5,"column":36},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesNumber.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesNumber.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesNumber","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":37},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesString.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/settingsState/setVariablesString.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":7,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setVariablesString","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":37},"end":{"line":12,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":10}},"loc":{"start":{"line":6,"column":59},"end":{"line":11,"column":3}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"assignStyleIdsToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":83},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"assignStyleIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":76},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"assignVariableIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":79},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/deleteTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/deleteTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"deleteTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":27}},"loc":{"start":{"line":4,"column":66},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"removeStyleIdsFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":79},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"removeStyleNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"loc":{"start":{"line":4,"column":81},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"removeVariableNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":45}},"loc":{"start":{"line":4,"column":84},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameStyleIdsToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":83},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameStyleNamesToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":85},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameVariableIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":79},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"renameVariableNamesToThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":82},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/saveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/saveTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"saveTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":25}},"loc":{"start":{"line":4,"column":64},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setActiveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setActiveTheme.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":110}}},"fnMap":{"0":{"name":"setActiveTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":30}},"loc":{"start":{"line":4,"column":69},"end":{"line":8,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":78},"end":{"line":7,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setDefaultTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setDefaultTokens.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":16,"column":4}},"1":{"start":{"line":10,"column":4},"end":{"line":15,"column":7}}},"fnMap":{"0":{"name":"setDefaultTokens","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":32}},"loc":{"start":{"line":8,"column":71},"end":{"line":17,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":21},"end":{"line":16,"column":3}},"line":9}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setEmptyTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/setEmptyTokens.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":11,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":10,"column":7}}},"fnMap":{"0":{"name":"setEmptyTokens","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":30}},"loc":{"start":{"line":4,"column":69},"end":{"line":12,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":11,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/updateThemeGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/effects/tokenState/updateThemeGroupName.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":10,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":9,"column":7}}},"fnMap":{"0":{"name":"updateThemeGroupName","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":36}},"loc":{"start":{"line":4,"column":75},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":10}},"loc":{"start":{"line":5,"column":21},"end":{"line":10,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setCreateStylesWithVariableReferences","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":53}},"loc":{"start":{"line":3,"column":109},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setIgnoreFirstPartForStyles","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":99},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setPrefixStylesWithThemeName","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":44}},"loc":{"start":{"line":3,"column":100},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setRemoveStylesAndVariablesWithoutConnection","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":60}},"loc":{"start":{"line":3,"column":116},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setRenameExistingStylesAndVariables","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":51}},"loc":{"start":{"line":3,"column":107},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setShouldSwapStyles","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":76},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesColor.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setStylesColor","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":86},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesEffect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesEffect.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setStylesEffect","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":87},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesTypography.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setStylesTypography.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setStylesTypography","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":91},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesBoolean","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":91},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesColor.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesColor","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":89},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesNumber.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesNumber.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesNumber","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":90},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesString.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/settingsState/setVariablesString.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":4}}},"fnMap":{"0":{"name":"setVariablesString","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":90},"end":{"line":8,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":46}},"1":{"start":{"line":7,"column":33},"end":{"line":7,"column":46}},"2":{"start":{"line":9,"column":24},"end":{"line":9,"column":41}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":107}},"4":{"start":{"line":10,"column":54},"end":{"line":10,"column":96}},"5":{"start":{"line":10,"column":81},"end":{"line":10,"column":95}},"6":{"start":{"line":11,"column":2},"end":{"line":22,"column":5}},"7":{"start":{"line":13,"column":24},"end":{"line":14,"column":84}},"8":{"start":{"line":13,"column":53},"end":{"line":14,"column":83}},"9":{"start":{"line":13,"column":122},"end":{"line":14,"column":82}},"10":{"start":{"line":14,"column":43},"end":{"line":14,"column":63}},"11":{"start":{"line":15,"column":29},"end":{"line":15,"column":87}},"12":{"start":{"line":15,"column":64},"end":{"line":15,"column":86}},"13":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"14":{"start":{"line":17,"column":6},"end":{"line":20,"column":9}},"15":{"start":{"line":24,"column":2},"end":{"line":27,"column":4}}},"fnMap":{"0":{"name":"assignStyleIdsToCurrentTheme","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":44}},"loc":{"start":{"line":5,"column":214},"end":{"line":28,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":43},"end":{"line":10,"column":44}},"loc":{"start":{"line":10,"column":54},"end":{"line":10,"column":96}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":74},"end":{"line":10,"column":75}},"loc":{"start":{"line":10,"column":81},"end":{"line":10,"column":95}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":35},"end":{"line":11,"column":36}},"loc":{"start":{"line":11,"column":61},"end":{"line":22,"column":3}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":42},"end":{"line":13,"column":43}},"loc":{"start":{"line":13,"column":53},"end":{"line":14,"column":83}},"line":13},"5":{"name":"(anonymous_5)","decl":{"start":{"line":13,"column":98},"end":{"line":13,"column":99}},"loc":{"start":{"line":13,"column":122},"end":{"line":14,"column":82}},"line":13},"6":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":36},"end":{"line":14,"column":37}},"loc":{"start":{"line":14,"column":43},"end":{"line":14,"column":63}},"line":14},"7":{"name":"(anonymous_7)","decl":{"start":{"line":15,"column":52},"end":{"line":15,"column":53}},"loc":{"start":{"line":15,"column":64},"end":{"line":15,"column":86}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":46}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":7,"column":46}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":13,"column":122},"end":{"line":14,"column":82}},"type":"binary-expr","locations":[{"start":{"line":13,"column":122},"end":{"line":13,"column":155}},{"start":{"line":14,"column":11},"end":{"line":14,"column":82}}],"line":13},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},{"start":{},"end":{}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts","statementMap":{"0":{"start":{"line":11,"column":27},"end":{"line":11,"column":77}},"1":{"start":{"line":11,"column":62},"end":{"line":11,"column":76}},"2":{"start":{"line":12,"column":2},"end":{"line":15,"column":17}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":17}},"4":{"start":{"line":17,"column":24},"end":{"line":17,"column":41}},"5":{"start":{"line":18,"column":2},"end":{"line":21,"column":5}},"6":{"start":{"line":23,"column":2},"end":{"line":26,"column":4}}},"fnMap":{"0":{"name":"assignStyleIdsToTheme","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":84},"end":{"line":27,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":50},"end":{"line":11,"column":51}},"loc":{"start":{"line":11,"column":62},"end":{"line":11,"column":76}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":15,"column":17}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":15,"column":17}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":14,"column":83}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":27}},{"start":{"line":14,"column":7},"end":{"line":14,"column":83}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":14,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":13,"column":5}},"2":{"start":{"line":15,"column":2},"end":{"line":18,"column":4}}},"fnMap":{"0":{"name":"assignVariableIdsToTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":120},"end":{"line":19,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":41},"end":{"line":5,"column":42}},"loc":{"start":{"line":6,"column":4},"end":{"line":13,"column":5}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":10},"end":{"line":12,"column":7}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":31}},{"start":{"line":8,"column":35},"end":{"line":12,"column":7}}],"line":8}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/deleteTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/deleteTheme.ts","statementMap":{"0":{"start":{"line":4,"column":25},"end":{"line":4,"column":42}},"1":{"start":{"line":5,"column":2},"end":{"line":9,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"3":{"start":{"line":7,"column":6},"end":{"line":7,"column":35}},"4":{"start":{"line":11,"column":2},"end":{"line":15,"column":4}},"5":{"start":{"line":13,"column":43},"end":{"line":13,"column":63}}},"fnMap":{"0":{"name":"deleteTheme","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":27}},"loc":{"start":{"line":3,"column":76},"end":{"line":16,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":38},"end":{"line":5,"column":39}},"loc":{"start":{"line":5,"column":49},"end":{"line":9,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":32},"end":{"line":13,"column":33}},"loc":{"start":{"line":13,"column":43},"end":{"line":13,"column":63}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},{"start":{},"end":{}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts","statementMap":{"0":{"start":{"line":10,"column":27},"end":{"line":10,"column":77}},"1":{"start":{"line":10,"column":62},"end":{"line":10,"column":76}},"2":{"start":{"line":11,"column":2},"end":{"line":16,"column":17}},"3":{"start":{"line":15,"column":60},"end":{"line":15,"column":120}},"4":{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},"5":{"start":{"line":18,"column":24},"end":{"line":18,"column":41}},"6":{"start":{"line":19,"column":16},"end":{"line":19,"column":46}},"7":{"start":{"line":20,"column":38},"end":{"line":20,"column":72}},"8":{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":49}},"10":{"start":{"line":24,"column":4},"end":{"line":26,"column":7}},"11":{"start":{"line":25,"column":6},"end":{"line":25,"column":46}},"12":{"start":{"line":28,"column":2},"end":{"line":31,"column":5}},"13":{"start":{"line":33,"column":2},"end":{"line":36,"column":4}}},"fnMap":{"0":{"name":"disconnectStyleFromTheme","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"loc":{"start":{"line":8,"column":87},"end":{"line":37,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":50},"end":{"line":10,"column":51}},"loc":{"start":{"line":10,"column":62},"end":{"line":10,"column":76}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":50},"end":{"line":15,"column":51}},"loc":{"start":{"line":15,"column":60},"end":{"line":15,"column":120}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":21},"end":{"line":24,"column":22}},"loc":{"start":{"line":24,"column":30},"end":{"line":26,"column":5}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":16,"column":17}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":16,"column":17}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":15,"column":123}},"type":"binary-expr","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":27}},{"start":{"line":13,"column":7},"end":{"line":13,"column":60}},{"start":{"line":14,"column":8},"end":{"line":14,"column":36}},{"start":{"line":14,"column":40},"end":{"line":14,"column":108}},{"start":{"line":15,"column":8},"end":{"line":15,"column":31}},{"start":{"line":15,"column":35},"end":{"line":15,"column":122}}],"line":12},"2":{"loc":{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},{"start":{"line":23,"column":9},"end":{"line":27,"column":3}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts","statementMap":{"0":{"start":{"line":9,"column":27},"end":{"line":9,"column":77}},"1":{"start":{"line":9,"column":62},"end":{"line":9,"column":76}},"2":{"start":{"line":10,"column":2},"end":{"line":13,"column":17}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":17}},"4":{"start":{"line":15,"column":24},"end":{"line":15,"column":41}},"5":{"start":{"line":16,"column":41},"end":{"line":16,"column":111}},"6":{"start":{"line":17,"column":2},"end":{"line":23,"column":3}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":52}},"8":{"start":{"line":20,"column":4},"end":{"line":22,"column":7}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":49}},"10":{"start":{"line":24,"column":2},"end":{"line":27,"column":5}},"11":{"start":{"line":29,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"disconnectVariableFromTheme","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":43}},"loc":{"start":{"line":8,"column":90},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":50},"end":{"line":9,"column":51}},"loc":{"start":{"line":9,"column":62},"end":{"line":9,"column":76}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":21},"end":{"line":20,"column":22}},"loc":{"start":{"line":20,"column":30},"end":{"line":22,"column":5}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":13,"column":17}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":13,"column":17}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":12,"column":63}},"type":"binary-expr","locations":[{"start":{"line":11,"column":4},"end":{"line":11,"column":27}},{"start":{"line":12,"column":7},"end":{"line":12,"column":63}}],"line":11},"2":{"loc":{"start":{"line":16,"column":47},"end":{"line":16,"column":108}},"type":"binary-expr","locations":[{"start":{"line":16,"column":47},"end":{"line":16,"column":102}},{"start":{"line":16,"column":106},"end":{"line":16,"column":108}}],"line":16},"3":{"loc":{"start":{"line":17,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":23,"column":3}},{"start":{"line":19,"column":9},"end":{"line":23,"column":3}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts","statementMap":{"0":{"start":{"line":4,"column":24},"end":{"line":4,"column":41}},"1":{"start":{"line":5,"column":2},"end":{"line":16,"column":5}},"2":{"start":{"line":6,"column":26},"end":{"line":6,"column":53}},"3":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"4":{"start":{"line":8,"column":6},"end":{"line":10,"column":9}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":66}},"6":{"start":{"line":9,"column":40},"end":{"line":9,"column":66}},"7":{"start":{"line":12,"column":4},"end":{"line":15,"column":6}},"8":{"start":{"line":18,"column":2},"end":{"line":21,"column":4}}},"fnMap":{"0":{"name":"removeStyleIdsFromThemes","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":92},"end":{"line":22,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":35},"end":{"line":16,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":44},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":64},"end":{"line":10,"column":7}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":66}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":66}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":41}},"1":{"start":{"line":6,"column":2},"end":{"line":17,"column":5}},"2":{"start":{"line":7,"column":26},"end":{"line":7,"column":60}},"3":{"start":{"line":8,"column":4},"end":{"line":12,"column":5}},"4":{"start":{"line":9,"column":6},"end":{"line":11,"column":9}},"5":{"start":{"line":10,"column":8},"end":{"line":10,"column":52}},"6":{"start":{"line":10,"column":26},"end":{"line":10,"column":52}},"7":{"start":{"line":13,"column":4},"end":{"line":16,"column":6}},"8":{"start":{"line":18,"column":2},"end":{"line":21,"column":4}}},"fnMap":{"0":{"name":"removeStyleNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"loc":{"start":{"line":4,"column":104},"end":{"line":22,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":35},"end":{"line":17,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":44},"end":{"line":9,"column":45}},"loc":{"start":{"line":9,"column":55},"end":{"line":11,"column":7}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":12,"column":5}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":83}},"type":"binary-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":66}},{"start":{"line":8,"column":70},"end":{"line":8,"column":83}}],"line":8},"2":{"loc":{"start":{"line":10,"column":8},"end":{"line":10,"column":52}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":52}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts","statementMap":{"0":{"start":{"line":5,"column":20},"end":{"line":16,"column":4}},"1":{"start":{"line":6,"column":26},"end":{"line":6,"column":63}},"2":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"3":{"start":{"line":8,"column":6},"end":{"line":10,"column":9}},"4":{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},"5":{"start":{"line":9,"column":26},"end":{"line":9,"column":52}},"6":{"start":{"line":12,"column":4},"end":{"line":15,"column":6}},"7":{"start":{"line":17,"column":2},"end":{"line":20,"column":4}}},"fnMap":{"0":{"name":"removeVariableNamesFromThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":45}},"loc":{"start":{"line":4,"column":107},"end":{"line":21,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":37},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":48},"end":{"line":16,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":44},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":55},"end":{"line":10,"column":7}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":11,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":7,"column":8},"end":{"line":7,"column":83}},"type":"binary-expr","locations":[{"start":{"line":7,"column":8},"end":{"line":7,"column":66}},{"start":{"line":7,"column":70},"end":{"line":7,"column":83}}],"line":7},"2":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":41}},"1":{"start":{"line":6,"column":26},"end":{"line":9,"column":8}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":37}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":15}},"4":{"start":{"line":10,"column":2},"end":{"line":24,"column":5}},"5":{"start":{"line":11,"column":26},"end":{"line":11,"column":53}},"6":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"7":{"start":{"line":13,"column":6},"end":{"line":18,"column":9}},"8":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":15,"column":10},"end":{"line":15,"column":75}},"10":{"start":{"line":16,"column":10},"end":{"line":16,"column":40}},"11":{"start":{"line":20,"column":4},"end":{"line":23,"column":6}},"12":{"start":{"line":26,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"renameStyleIdsToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":137},"end":{"line":30,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":72},"end":{"line":6,"column":73}},"loc":{"start":{"line":6,"column":87},"end":{"line":9,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":35},"end":{"line":24,"column":3}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":44},"end":{"line":13,"column":45}},"loc":{"start":{"line":13,"column":68},"end":{"line":18,"column":7}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":14,"column":12},"end":{"line":14,"column":66}},"type":"binary-expr","locations":[{"start":{"line":14,"column":12},"end":{"line":14,"column":38}},{"start":{"line":14,"column":42},"end":{"line":14,"column":66}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":41}},"1":{"start":{"line":6,"column":26},"end":{"line":9,"column":8}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":37}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":15}},"4":{"start":{"line":10,"column":2},"end":{"line":24,"column":5}},"5":{"start":{"line":11,"column":26},"end":{"line":11,"column":60}},"6":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"7":{"start":{"line":13,"column":6},"end":{"line":18,"column":9}},"8":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":15,"column":10},"end":{"line":15,"column":67}},"10":{"start":{"line":16,"column":10},"end":{"line":16,"column":36}},"11":{"start":{"line":20,"column":4},"end":{"line":23,"column":6}},"12":{"start":{"line":25,"column":2},"end":{"line":28,"column":4}}},"fnMap":{"0":{"name":"renameStyleNamesToCurrentTheme","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":119},"end":{"line":29,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":72},"end":{"line":6,"column":73}},"loc":{"start":{"line":6,"column":87},"end":{"line":9,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":35},"end":{"line":24,"column":3}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":44},"end":{"line":13,"column":45}},"loc":{"start":{"line":13,"column":55},"end":{"line":18,"column":7}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":14,"column":8},"end":{"line":17,"column":9}},{"start":{},"end":{}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSet.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":60}},"2":{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},"3":{"start":{"line":19,"column":2},"end":{"line":26,"column":4}},"4":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}}},"fnMap":{"0":{"name":"renameTokenSet","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":30}},"loc":{"start":{"line":10,"column":77},"end":{"line":27,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":13,"column":36}},"type":"binary-expr","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":52}},{"start":{"line":13,"column":7},"end":{"line":13,"column":36}}],"line":12},"2":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"type":"cond-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":34}},{"start":{"line":24,"column":10},"end":{"line":24,"column":29}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":62}},"2":{"start":{"line":16,"column":4},"end":{"line":16,"column":17}},"3":{"start":{"line":19,"column":2},"end":{"line":26,"column":4}},"4":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}}},"fnMap":{"0":{"name":"renameTokenSetFolder","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":36}},"loc":{"start":{"line":10,"column":83},"end":{"line":27,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":13,"column":36}},"type":"binary-expr","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":52}},{"start":{"line":13,"column":7},"end":{"line":13,"column":36}}],"line":12},"2":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":29}},"type":"cond-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":87}},{"start":{"line":24,"column":10},"end":{"line":24,"column":29}}],"line":22},"3":{"loc":{"start":{"line":22,"column":6},"end":{"line":22,"column":81}},"type":"binary-expr","locations":[{"start":{"line":22,"column":6},"end":{"line":22,"column":41}},{"start":{"line":22,"column":45},"end":{"line":22,"column":81}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts","statementMap":{"0":{"start":{"line":9,"column":24},"end":{"line":9,"column":41}},"1":{"start":{"line":10,"column":27},"end":{"line":10,"column":65}},"2":{"start":{"line":11,"column":2},"end":{"line":11,"column":80}},"3":{"start":{"line":11,"column":36},"end":{"line":11,"column":78}},"4":{"start":{"line":12,"column":2},"end":{"line":27,"column":5}},"5":{"start":{"line":13,"column":26},"end":{"line":13,"column":56}},"6":{"start":{"line":14,"column":4},"end":{"line":22,"column":5}},"7":{"start":{"line":15,"column":6},"end":{"line":21,"column":9}},"8":{"start":{"line":16,"column":27},"end":{"line":16,"column":52}},"9":{"start":{"line":17,"column":8},"end":{"line":20,"column":9}},"10":{"start":{"line":18,"column":10},"end":{"line":18,"column":65}},"11":{"start":{"line":19,"column":10},"end":{"line":19,"column":36}},"12":{"start":{"line":23,"column":4},"end":{"line":26,"column":6}},"13":{"start":{"line":29,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"renameVariableIdsToTheme","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"loc":{"start":{"line":8,"column":111},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":36},"end":{"line":11,"column":78}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":35},"end":{"line":27,"column":3}},"line":12},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":44},"end":{"line":15,"column":45}},"loc":{"start":{"line":15,"column":67},"end":{"line":21,"column":7}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":17,"column":8},"end":{"line":20,"column":9}},"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":20,"column":9}},{"start":{},"end":{}}],"line":17},"2":{"loc":{"start":{"line":17,"column":12},"end":{"line":17,"column":69}},"type":"binary-expr","locations":[{"start":{"line":17,"column":12},"end":{"line":17,"column":22}},{"start":{"line":17,"column":26},"end":{"line":17,"column":69}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts","statementMap":{"0":{"start":{"line":5,"column":26},"end":{"line":8,"column":8}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":37}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":15}},"3":{"start":{"line":9,"column":20},"end":{"line":23,"column":4}},"4":{"start":{"line":10,"column":39},"end":{"line":10,"column":69}},"5":{"start":{"line":11,"column":4},"end":{"line":18,"column":5}},"6":{"start":{"line":12,"column":6},"end":{"line":17,"column":9}},"7":{"start":{"line":13,"column":8},"end":{"line":16,"column":9}},"8":{"start":{"line":14,"column":10},"end":{"line":14,"column":93}},"9":{"start":{"line":15,"column":10},"end":{"line":15,"column":49}},"10":{"start":{"line":19,"column":4},"end":{"line":22,"column":6}},"11":{"start":{"line":24,"column":2},"end":{"line":27,"column":4}}},"fnMap":{"0":{"name":"renameVariableNamesToThemes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":116},"end":{"line":28,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":72},"end":{"line":5,"column":73}},"loc":{"start":{"line":5,"column":87},"end":{"line":8,"column":3}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":37},"end":{"line":9,"column":38}},"loc":{"start":{"line":9,"column":48},"end":{"line":23,"column":3}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":57},"end":{"line":12,"column":58}},"loc":{"start":{"line":12,"column":68},"end":{"line":17,"column":7}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":13,"column":8},"end":{"line":16,"column":9}},"type":"if","locations":[{"start":{"line":13,"column":8},"end":{"line":16,"column":9}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/saveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/saveTheme.ts","statementMap":{"0":{"start":{"line":19,"column":21},"end":{"line":19,"column":29}},"1":{"start":{"line":20,"column":18},"end":{"line":20,"column":53}},"2":{"start":{"line":21,"column":24},"end":{"line":21,"column":74}},"3":{"start":{"line":22,"column":28},"end":{"line":25,"column":3}},"4":{"start":{"line":24,"column":31},"end":{"line":24,"column":65}},"5":{"start":{"line":26,"column":27},"end":{"line":26,"column":82}},"6":{"start":{"line":26,"column":61},"end":{"line":26,"column":81}},"7":{"start":{"line":27,"column":21},"end":{"line":27,"column":83}},"8":{"start":{"line":29,"column":24},"end":{"line":29,"column":41}},"9":{"start":{"line":30,"column":2},"end":{"line":37,"column":5}},"10":{"start":{"line":39,"column":25},"end":{"line":39,"column":42}},"11":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"12":{"start":{"line":41,"column":4},"end":{"line":45,"column":7}},"13":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"14":{"start":{"line":43,"column":8},"end":{"line":43,"column":37}},"15":{"start":{"line":47,"column":4},"end":{"line":47,"column":70}},"16":{"start":{"line":49,"column":32},"end":{"line":52,"column":3}},"17":{"start":{"line":54,"column":2},"end":{"line":59,"column":3}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":83}},"19":{"start":{"line":61,"column":2},"end":{"line":61,"column":19}}},"fnMap":{"0":{"name":"saveTheme","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":25}},"loc":{"start":{"line":18,"column":72},"end":{"line":62,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":14},"end":{"line":24,"column":15}},"loc":{"start":{"line":24,"column":31},"end":{"line":24,"column":65}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":50},"end":{"line":26,"column":51}},"loc":{"start":{"line":26,"column":61},"end":{"line":26,"column":81}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":40},"end":{"line":41,"column":41}},"loc":{"start":{"line":41,"column":51},"end":{"line":45,"column":5}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":18},"end":{"line":20,"column":53}},"type":"binary-expr","locations":[{"start":{"line":20,"column":18},"end":{"line":20,"column":25}},{"start":{"line":20,"column":29},"end":{"line":20,"column":53}}],"line":20},"1":{"loc":{"start":{"line":27,"column":21},"end":{"line":27,"column":83}},"type":"cond-expr","locations":[{"start":{"line":27,"column":45},"end":{"line":27,"column":61}},{"start":{"line":27,"column":64},"end":{"line":27,"column":83}}],"line":27},"2":{"loc":{"start":{"line":34,"column":27},"end":{"line":34,"column":86}},"type":"binary-expr","locations":[{"start":{"line":34,"column":27},"end":{"line":34,"column":80}},{"start":{"line":34,"column":84},"end":{"line":34,"column":86}}],"line":34},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":48}},"type":"cond-expr","locations":[{"start":{"line":36,"column":22},"end":{"line":36,"column":43}},{"start":{"line":36,"column":46},"end":{"line":36,"column":48}}],"line":36},"4":{"loc":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":9},"end":{"line":48,"column":3}}],"line":40},"5":{"loc":{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":42},"6":{"loc":{"start":{"line":47,"column":19},"end":{"line":47,"column":58}},"type":"binary-expr","locations":[{"start":{"line":47,"column":19},"end":{"line":47,"column":30}},{"start":{"line":47,"column":34},"end":{"line":47,"column":58}}],"line":47},"7":{"loc":{"start":{"line":54,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":54},"8":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":33}},"type":"binary-expr","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":19}},{"start":{"line":54,"column":23},"end":{"line":54,"column":33}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setActiveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setActiveTheme.ts","statementMap":{"0":{"start":{"line":8,"column":32},"end":{"line":8,"column":121}},"1":{"start":{"line":8,"column":63},"end":{"line":8,"column":120}},"2":{"start":{"line":8,"column":105},"end":{"line":8,"column":119}},"3":{"start":{"line":10,"column":60},"end":{"line":10,"column":62}},"4":{"start":{"line":11,"column":2},"end":{"line":17,"column":5}},"5":{"start":{"line":12,"column":4},"end":{"line":16,"column":7}},"6":{"start":{"line":13,"column":6},"end":{"line":15,"column":7}},"7":{"start":{"line":14,"column":8},"end":{"line":14,"column":45}},"8":{"start":{"line":18,"column":27},"end":{"line":28,"column":5}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":76}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":43}},"11":{"start":{"line":29,"column":2},"end":{"line":33,"column":4}}},"fnMap":{"0":{"name":"setActiveTheme","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":30}},"loc":{"start":{"line":6,"column":155},"end":{"line":34,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":52},"end":{"line":8,"column":53}},"loc":{"start":{"line":8,"column":63},"end":{"line":8,"column":120}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":98},"end":{"line":8,"column":99}},"loc":{"start":{"line":8,"column":105},"end":{"line":8,"column":119}},"line":8},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":32},"end":{"line":11,"column":33}},"loc":{"start":{"line":11,"column":43},"end":{"line":17,"column":3}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":52},"end":{"line":12,"column":53}},"loc":{"start":{"line":12,"column":76},"end":{"line":16,"column":5}},"line":12},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":36},"end":{"line":20,"column":37}},"loc":{"start":{"line":21,"column":8},"end":{"line":21,"column":76}},"line":21},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":36},"end":{"line":25,"column":37}},"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":43}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":15,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":15,"column":7}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":18,"column":27},"end":{"line":28,"column":5}},"type":"cond-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":23,"column":5}},{"start":{"line":24,"column":6},"end":{"line":28,"column":5}}],"line":18},"2":{"loc":{"start":{"line":21,"column":19},"end":{"line":21,"column":75}},"type":"binary-expr","locations":[{"start":{"line":21,"column":19},"end":{"line":21,"column":48}},{"start":{"line":21,"column":52},"end":{"line":21,"column":75}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setDefaultTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setDefaultTokens.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":15}}},"fnMap":{"0":{"name":"setDefaultTokens","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":64},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setEmptyTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setEmptyTokens.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":15}}},"fnMap":{"0":{"name":"setEmptyTokens","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":62},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setTokenData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/setTokenData.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":17}},"2":{"start":{"line":16,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":52}},"4":{"start":{"line":19,"column":4},"end":{"line":19,"column":46}},"5":{"start":{"line":22,"column":21},"end":{"line":22,"column":89}},"6":{"start":{"line":23,"column":21},"end":{"line":23,"column":89}},"7":{"start":{"line":25,"column":32},"end":{"line":25,"column":51}},"8":{"start":{"line":26,"column":24},"end":{"line":28,"column":3}},"9":{"start":{"line":27,"column":44},"end":{"line":27,"column":115}},"10":{"start":{"line":29,"column":25},"end":{"line":29,"column":44}},"11":{"start":{"line":30,"column":2},"end":{"line":34,"column":5}},"12":{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},"13":{"start":{"line":31,"column":37},"end":{"line":31,"column":57}},"14":{"start":{"line":32,"column":6},"end":{"line":32,"column":35}},"15":{"start":{"line":36,"column":22},"end":{"line":36,"column":113}},"16":{"start":{"line":39,"column":26},"end":{"line":39,"column":160}},"17":{"start":{"line":43,"column":2},"end":{"line":64,"column":4}},"18":{"start":{"line":47,"column":51},"end":{"line":54,"column":5}},"19":{"start":{"line":51,"column":33},"end":{"line":51,"column":110}}},"fnMap":{"0":{"name":"setTokenData","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":28}},"loc":{"start":{"line":11,"column":90},"end":{"line":65,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":30},"end":{"line":27,"column":31}},"loc":{"start":{"line":27,"column":44},"end":{"line":27,"column":115}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":47},"end":{"line":30,"column":48}},"loc":{"start":{"line":30,"column":73},"end":{"line":34,"column":3}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":30},"end":{"line":31,"column":31}},"loc":{"start":{"line":31,"column":37},"end":{"line":31,"column":57}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":47,"column":39},"end":{"line":47,"column":40}},"loc":{"start":{"line":47,"column":51},"end":{"line":54,"column":5}},"line":47},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":10},"end":{"line":51,"column":11}},"loc":{"start":{"line":51,"column":33},"end":{"line":51,"column":110}},"line":51}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":20,"column":3}},{"start":{"line":18,"column":9},"end":{"line":20,"column":3}}],"line":16},"2":{"loc":{"start":{"line":22,"column":21},"end":{"line":22,"column":89}},"type":"cond-expr","locations":[{"start":{"line":22,"column":38},"end":{"line":22,"column":70}},{"start":{"line":22,"column":73},"end":{"line":22,"column":89}}],"line":22},"3":{"loc":{"start":{"line":23,"column":21},"end":{"line":23,"column":89}},"type":"cond-expr","locations":[{"start":{"line":23,"column":38},"end":{"line":23,"column":70}},{"start":{"line":23,"column":73},"end":{"line":23,"column":89}}],"line":23},"4":{"loc":{"start":{"line":27,"column":55},"end":{"line":27,"column":114}},"type":"binary-expr","locations":[{"start":{"line":27,"column":55},"end":{"line":27,"column":87}},{"start":{"line":27,"column":91},"end":{"line":27,"column":114}}],"line":27},"5":{"loc":{"start":{"line":30,"column":17},"end":{"line":30,"column":37}},"type":"binary-expr","locations":[{"start":{"line":30,"column":17},"end":{"line":30,"column":31}},{"start":{"line":30,"column":35},"end":{"line":30,"column":37}}],"line":30},"6":{"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":76}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":58}},{"start":{"line":31,"column":62},"end":{"line":31,"column":76}}],"line":31},"8":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":113}},"type":"cond-expr","locations":[{"start":{"line":36,"column":54},"end":{"line":36,"column":68}},{"start":{"line":36,"column":71},"end":{"line":36,"column":113}}],"line":36},"9":{"loc":{"start":{"line":39,"column":26},"end":{"line":39,"column":160}},"type":"cond-expr","locations":[{"start":{"line":39,"column":53},"end":{"line":39,"column":136}},{"start":{"line":39,"column":139},"end":{"line":39,"column":160}}],"line":39},"10":{"loc":{"start":{"line":47,"column":13},"end":{"line":47,"column":33}},"type":"binary-expr","locations":[{"start":{"line":47,"column":13},"end":{"line":47,"column":27}},{"start":{"line":47,"column":31},"end":{"line":47,"column":33}}],"line":47},"11":{"loc":{"start":{"line":51,"column":33},"end":{"line":51,"column":110}},"type":"binary-expr","locations":[{"start":{"line":51,"column":33},"end":{"line":51,"column":72}},{"start":{"line":51,"column":76},"end":{"line":51,"column":110}}],"line":51},"12":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":37}},"type":"binary-expr","locations":[{"start":{"line":55,"column":17},"end":{"line":55,"column":31}},{"start":{"line":55,"column":35},"end":{"line":55,"column":37}}],"line":55},"13":{"loc":{"start":{"line":56,"column":8},"end":{"line":60,"column":7}},"type":"cond-expr","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":10}},{"start":{"line":58,"column":8},"end":{"line":60,"column":7}}],"line":56},"14":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":97}},"type":"cond-expr","locations":[{"start":{"line":59,"column":56},"end":{"line":59,"column":64}},{"start":{"line":59,"column":67},"end":{"line":59,"column":97}}],"line":59},"15":{"loc":{"start":{"line":61,"column":18},"end":{"line":61,"column":100}},"type":"cond-expr","locations":[{"start":{"line":61,"column":50},"end":{"line":61,"column":84}},{"start":{"line":61,"column":87},"end":{"line":61,"column":100}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts","statementMap":{"0":{"start":{"line":6,"column":30},"end":{"line":9,"column":3}},"1":{"start":{"line":8,"column":30},"end":{"line":8,"column":59}},"2":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":12,"column":4},"end":{"line":19,"column":6}},"4":{"start":{"line":17,"column":59},"end":{"line":17,"column":93}},"5":{"start":{"line":22,"column":2},"end":{"line":30,"column":4}},"6":{"start":{"line":27,"column":57},"end":{"line":27,"column":92}}},"fnMap":{"0":{"name":"toggleManyTokenSets","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":35}},"loc":{"start":{"line":5,"column":101},"end":{"line":31,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":14},"end":{"line":8,"column":15}},"loc":{"start":{"line":8,"column":30},"end":{"line":8,"column":59}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":44},"end":{"line":17,"column":45}},"loc":{"start":{"line":17,"column":59},"end":{"line":17,"column":93}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":42},"end":{"line":27,"column":43}},"loc":{"start":{"line":27,"column":57},"end":{"line":27,"column":92}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":17,"column":4}}},"fnMap":{"0":{"name":"toggleUsedTokenSet","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"loc":{"start":{"line":4,"column":84},"end":{"line":18,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":18},"end":{"line":15,"column":33}},"type":"cond-expr","locations":[{"start":{"line":14,"column":10},"end":{"line":14,"column":32}},{"start":{"line":15,"column":10},"end":{"line":15,"column":33}}],"line":13}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts","statementMap":{"0":{"start":{"line":6,"column":42},"end":{"line":6,"column":44}},"1":{"start":{"line":7,"column":2},"end":{"line":26,"column":5}},"2":{"start":{"line":8,"column":4},"end":{"line":25,"column":5}},"3":{"start":{"line":9,"column":6},"end":{"line":12,"column":9}},"4":{"start":{"line":13,"column":11},"end":{"line":25,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"6":{"start":{"line":15,"column":8},"end":{"line":18,"column":11}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":27}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":34}},"9":{"start":{"line":24,"column":6},"end":{"line":24,"column":32}},"10":{"start":{"line":28,"column":25},"end":{"line":28,"column":42}},"11":{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},"12":{"start":{"line":30,"column":4},"end":{"line":30,"column":92}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":42}},"14":{"start":{"line":33,"column":32},"end":{"line":37,"column":3}},"15":{"start":{"line":39,"column":2},"end":{"line":39,"column":19}}},"fnMap":{"0":{"name":"updateThemeGroupName","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":36}},"loc":{"start":{"line":5,"column":112},"end":{"line":40,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":23},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":34},"end":{"line":26,"column":3}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":25,"column":5}},{"start":{"line":13,"column":11},"end":{"line":25,"column":5}}],"line":8},"1":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":66}},"type":"binary-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":49}},{"start":{"line":8,"column":53},"end":{"line":8,"column":66}}],"line":8},"2":{"loc":{"start":{"line":11,"column":12},"end":{"line":11,"column":55}},"type":"cond-expr","locations":[{"start":{"line":11,"column":27},"end":{"line":11,"column":50}},{"start":{"line":11,"column":53},"end":{"line":11,"column":55}}],"line":11},"3":{"loc":{"start":{"line":13,"column":11},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":11},"end":{"line":25,"column":5}},{"start":{"line":23,"column":11},"end":{"line":25,"column":5}}],"line":13},"4":{"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":88}},"type":"binary-expr","locations":[{"start":{"line":13,"column":15},"end":{"line":13,"column":56}},{"start":{"line":13,"column":60},"end":{"line":13,"column":88}}],"line":13},"5":{"loc":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},{"start":{"line":19,"column":13},"end":{"line":22,"column":7}}],"line":14},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":30,"column":19},"end":{"line":30,"column":59}},"type":"binary-expr","locations":[{"start":{"line":30,"column":19},"end":{"line":30,"column":31}},{"start":{"line":30,"column":35},"end":{"line":30,"column":59}}],"line":30}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/setLicenseStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/models/reducers/userState/setLicenseStatus.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":4}}},"fnMap":{"0":{"name":"setLicenseStatus","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":32}},"loc":{"start":{"line":4,"column":86},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/file.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/file.tsx","statementMap":{"0":{"start":{"line":8,"column":20},"end":{"line":8,"column":34}},"1":{"start":{"line":10,"column":31},"end":{"line":15,"column":17}},"2":{"start":{"line":11,"column":26},"end":{"line":11,"column":53}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":51}},"4":{"start":{"line":13,"column":19},"end":{"line":13,"column":51}},"5":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"6":{"start":{"line":17,"column":40},"end":{"line":34,"column":4}},"7":{"start":{"line":18,"column":20},"end":{"line":18,"column":47}},"8":{"start":{"line":19,"column":4},"end":{"line":30,"column":5}},"9":{"start":{"line":20,"column":22},"end":{"line":20,"column":46}},"10":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"11":{"start":{"line":22,"column":8},"end":{"line":22,"column":23}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":30}},"13":{"start":{"line":26,"column":6},"end":{"line":29,"column":8}},"14":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"15":{"start":{"line":36,"column":2},"end":{"line":40,"column":5}},"16":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}}},"fnMap":{"0":{"name":"useFile","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":31}},"loc":{"start":{"line":7,"column":34},"end":{"line":41,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":43},"end":{"line":10,"column":44}},"loc":{"start":{"line":10,"column":64},"end":{"line":15,"column":3}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":52},"end":{"line":17,"column":53}},"loc":{"start":{"line":17,"column":115},"end":{"line":32,"column":3}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":18}},"loc":{"start":{"line":36,"column":24},"end":{"line":38,"column":3}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":51}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":51}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/getRepositoryInformation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/getRepositoryInformation.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":23}},"1":{"start":{"line":3,"column":16},"end":{"line":3,"column":18}},"2":{"start":{"line":5,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":6,"column":19},"end":{"line":6,"column":40}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":45}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":25}},"6":{"start":{"line":11,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"getRepositoryInformation","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":40}},"loc":{"start":{"line":1,"column":104},"end":{"line":15,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":5,"column":6},"end":{"line":5,"column":50}},"type":"binary-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":5,"column":16}},{"start":{"line":5,"column":20},"end":{"line":5,"column":50}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/jsonbin.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/jsonbin.tsx","statementMap":{"0":{"start":{"line":26,"column":25},"end":{"line":26,"column":32}},"1":{"start":{"line":27,"column":2},"end":{"line":70,"column":3}},"2":{"start":{"line":28,"column":4},"end":{"line":28,"column":72}},"3":{"start":{"line":28,"column":24},"end":{"line":28,"column":72}},"4":{"start":{"line":30,"column":20},"end":{"line":30,"column":55}},"5":{"start":{"line":32,"column":20},"end":{"line":40,"column":5}},"6":{"start":{"line":42,"column":4},"end":{"line":66,"column":5}},"7":{"start":{"line":43,"column":27},"end":{"line":43,"column":51}},"8":{"start":{"line":44,"column":6},"end":{"line":51,"column":7}},"9":{"start":{"line":45,"column":8},"end":{"line":45,"column":83}},"10":{"start":{"line":46,"column":8},"end":{"line":46,"column":74}},"11":{"start":{"line":47,"column":8},"end":{"line":50,"column":10}},"12":{"start":{"line":53,"column":25},"end":{"line":53,"column":102}},"13":{"start":{"line":54,"column":6},"end":{"line":63,"column":7}},"14":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"15":{"start":{"line":56,"column":10},"end":{"line":56,"column":25}},"16":{"start":{"line":62,"column":8},"end":{"line":62,"column":101}},"17":{"start":{"line":64,"column":11},"end":{"line":66,"column":5}},"18":{"start":{"line":65,"column":6},"end":{"line":65,"column":21}},"19":{"start":{"line":68,"column":4},"end":{"line":68,"column":79}},"20":{"start":{"line":69,"column":4},"end":{"line":69,"column":45}},"21":{"start":{"line":72,"column":2},"end":{"line":72,"column":14}},"22":{"start":{"line":76,"column":19},"end":{"line":76,"column":42}},"23":{"start":{"line":77,"column":29},"end":{"line":77,"column":41}},"24":{"start":{"line":78,"column":17},"end":{"line":78,"column":44}},"25":{"start":{"line":79,"column":17},"end":{"line":79,"column":48}},"26":{"start":{"line":80,"column":22},"end":{"line":80,"column":54}},"27":{"start":{"line":81,"column":24},"end":{"line":81,"column":57}},"28":{"start":{"line":82,"column":35},"end":{"line":82,"column":80}},"29":{"start":{"line":84,"column":27},"end":{"line":121,"column":32}},"30":{"start":{"line":85,"column":41},"end":{"line":85,"column":48}},"31":{"start":{"line":86,"column":22},"end":{"line":86,"column":46}},"32":{"start":{"line":87,"column":4},"end":{"line":119,"column":5}},"33":{"start":{"line":88,"column":21},"end":{"line":88,"column":78}},"34":{"start":{"line":90,"column":6},"end":{"line":115,"column":7}},"35":{"start":{"line":91,"column":8},"end":{"line":101,"column":11}},"36":{"start":{"line":102,"column":8},"end":{"line":111,"column":11}},"37":{"start":{"line":112,"column":8},"end":{"line":112,"column":70}},"38":{"start":{"line":114,"column":8},"end":{"line":114,"column":34}},"39":{"start":{"line":117,"column":6},"end":{"line":117,"column":83}},"40":{"start":{"line":118,"column":6},"end":{"line":118,"column":23}},"41":{"start":{"line":120,"column":4},"end":{"line":120,"column":16}},"42":{"start":{"line":124,"column":32},"end":{"line":174,"column":16}},"43":{"start":{"line":127,"column":8},"end":{"line":127,"column":15}},"44":{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},"45":{"start":{"line":129,"column":6},"end":{"line":132,"column":8}},"46":{"start":{"line":134,"column":4},"end":{"line":173,"column":5}},"47":{"start":{"line":135,"column":22},"end":{"line":135,"column":57}},"48":{"start":{"line":136,"column":19},"end":{"line":136,"column":43}},"49":{"start":{"line":137,"column":6},"end":{"line":137,"column":68}},"50":{"start":{"line":139,"column":6},"end":{"line":148,"column":9}},"51":{"start":{"line":149,"column":6},"end":{"line":154,"column":7}},"52":{"start":{"line":150,"column":8},"end":{"line":153,"column":10}},"53":{"start":{"line":155,"column":6},"end":{"line":163,"column":7}},"54":{"start":{"line":156,"column":8},"end":{"line":156,"column":53}},"55":{"start":{"line":157,"column":8},"end":{"line":162,"column":10}},"56":{"start":{"line":164,"column":6},"end":{"line":164,"column":64}},"57":{"start":{"line":165,"column":6},"end":{"line":165,"column":18}},"58":{"start":{"line":167,"column":6},"end":{"line":167,"column":74}},"59":{"start":{"line":168,"column":6},"end":{"line":168,"column":31}},"60":{"start":{"line":169,"column":6},"end":{"line":172,"column":8}},"61":{"start":{"line":176,"column":32},"end":{"line":233,"column":4}},"62":{"start":{"line":179,"column":8},"end":{"line":179,"column":15}},"63":{"start":{"line":180,"column":4},"end":{"line":185,"column":5}},"64":{"start":{"line":181,"column":6},"end":{"line":184,"column":8}},"65":{"start":{"line":187,"column":20},"end":{"line":193,"column":6}},"66":{"start":{"line":194,"column":4},"end":{"line":199,"column":5}},"67":{"start":{"line":195,"column":6},"end":{"line":198,"column":8}},"68":{"start":{"line":200,"column":4},"end":{"line":225,"column":5}},"69":{"start":{"line":201,"column":6},"end":{"line":203,"column":9}},"70":{"start":{"line":204,"column":6},"end":{"line":209,"column":9}},"71":{"start":{"line":210,"column":6},"end":{"line":216,"column":9}},"72":{"start":{"line":217,"column":6},"end":{"line":221,"column":9}},"73":{"start":{"line":222,"column":38},"end":{"line":222,"column":177}},"74":{"start":{"line":223,"column":6},"end":{"line":223,"column":70}},"75":{"start":{"line":224,"column":6},"end":{"line":224,"column":21}},"76":{"start":{"line":226,"column":4},"end":{"line":226,"column":19}},"77":{"start":{"line":235,"column":2},"end":{"line":243,"column":5}},"78":{"start":{"line":235,"column":24},"end":{"line":239,"column":3}}},"fnMap":{"0":{"name":"updateJSONBinTokens","decl":{"start":{"line":23,"column":22},"end":{"line":23,"column":41}},"loc":{"start":{"line":25,"column":32},"end":{"line":73,"column":1}},"line":25},"1":{"name":"useJSONbin","decl":{"start":{"line":75,"column":16},"end":{"line":75,"column":26}},"loc":{"start":{"line":75,"column":29},"end":{"line":244,"column":1}},"line":75},"2":{"name":"(anonymous_2)","decl":{"start":{"line":84,"column":39},"end":{"line":84,"column":40}},"loc":{"start":{"line":84,"column":140},"end":{"line":121,"column":3}},"line":84},"3":{"name":"(anonymous_3)","decl":{"start":{"line":124,"column":44},"end":{"line":124,"column":45}},"loc":{"start":{"line":124,"column":175},"end":{"line":174,"column":3}},"line":124},"4":{"name":"(anonymous_4)","decl":{"start":{"line":176,"column":44},"end":{"line":176,"column":45}},"loc":{"start":{"line":176,"column":181},"end":{"line":227,"column":3}},"line":176},"5":{"name":"(anonymous_5)","decl":{"start":{"line":235,"column":17},"end":{"line":235,"column":18}},"loc":{"start":{"line":235,"column":24},"end":{"line":239,"column":3}},"line":235}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":38},"end":{"line":24,"column":57}},"type":"default-arg","locations":[{"start":{"line":24,"column":53},"end":{"line":24,"column":57}}],"line":24},"1":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":72}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":72}},{"start":{},"end":{}}],"line":28},"2":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":22}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":11}},{"start":{"line":28,"column":15},"end":{"line":28,"column":22}}],"line":28},"3":{"loc":{"start":{"line":37,"column":19},"end":{"line":37,"column":56}},"type":"binary-expr","locations":[{"start":{"line":37,"column":19},"end":{"line":37,"column":28}},{"start":{"line":37,"column":32},"end":{"line":37,"column":56}}],"line":37},"4":{"loc":{"start":{"line":42,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":66,"column":5}},{"start":{"line":64,"column":11},"end":{"line":66,"column":5}}],"line":42},"5":{"loc":{"start":{"line":44,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":51,"column":7}},{"start":{},"end":{}}],"line":44},"6":{"loc":{"start":{"line":53,"column":62},"end":{"line":53,"column":101}},"type":"binary-expr","locations":[{"start":{"line":53,"column":62},"end":{"line":53,"column":95}},{"start":{"line":53,"column":99},"end":{"line":53,"column":101}}],"line":53},"7":{"loc":{"start":{"line":54,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":63,"column":7}},{"start":{"line":58,"column":13},"end":{"line":63,"column":7}}],"line":54},"8":{"loc":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},{"start":{},"end":{}}],"line":55},"9":{"loc":{"start":{"line":64,"column":11},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":11},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":64},"10":{"loc":{"start":{"line":90,"column":6},"end":{"line":115,"column":7}},"type":"if","locations":[{"start":{"line":90,"column":6},"end":{"line":115,"column":7}},{"start":{},"end":{}}],"line":90},"11":{"loc":{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},{"start":{},"end":{}}],"line":128},"12":{"loc":{"start":{"line":128,"column":8},"end":{"line":128,"column":22}},"type":"binary-expr","locations":[{"start":{"line":128,"column":8},"end":{"line":128,"column":11}},{"start":{"line":128,"column":15},"end":{"line":128,"column":22}}],"line":128},"13":{"loc":{"start":{"line":149,"column":6},"end":{"line":154,"column":7}},"type":"if","locations":[{"start":{"line":149,"column":6},"end":{"line":154,"column":7}},{"start":{},"end":{}}],"line":149},"14":{"loc":{"start":{"line":155,"column":6},"end":{"line":163,"column":7}},"type":"if","locations":[{"start":{"line":155,"column":6},"end":{"line":163,"column":7}},{"start":{},"end":{}}],"line":155},"15":{"loc":{"start":{"line":155,"column":10},"end":{"line":155,"column":40}},"type":"binary-expr","locations":[{"start":{"line":155,"column":10},"end":{"line":155,"column":24}},{"start":{"line":155,"column":28},"end":{"line":155,"column":40}}],"line":155},"16":{"loc":{"start":{"line":180,"column":4},"end":{"line":185,"column":5}},"type":"if","locations":[{"start":{"line":180,"column":4},"end":{"line":185,"column":5}},{"start":{},"end":{}}],"line":180},"17":{"loc":{"start":{"line":180,"column":8},"end":{"line":180,"column":22}},"type":"binary-expr","locations":[{"start":{"line":180,"column":8},"end":{"line":180,"column":11}},{"start":{"line":180,"column":15},"end":{"line":180,"column":22}}],"line":180},"18":{"loc":{"start":{"line":194,"column":4},"end":{"line":199,"column":5}},"type":"if","locations":[{"start":{"line":194,"column":4},"end":{"line":199,"column":5}},{"start":{},"end":{}}],"line":194},"19":{"loc":{"start":{"line":200,"column":4},"end":{"line":225,"column":5}},"type":"if","locations":[{"start":{"line":200,"column":4},"end":{"line":225,"column":5}},{"start":{},"end":{}}],"line":200}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/url.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/url.tsx","statementMap":{"0":{"start":{"line":20,"column":19},"end":{"line":20,"column":42}},"1":{"start":{"line":21,"column":22},"end":{"line":21,"column":54}},"2":{"start":{"line":22,"column":24},"end":{"line":22,"column":57}},"3":{"start":{"line":24,"column":31},"end":{"line":26,"column":8}},"4":{"start":{"line":25,"column":4},"end":{"line":25,"column":51}},"5":{"start":{"line":29,"column":28},"end":{"line":95,"column":4}},"6":{"start":{"line":32,"column":8},"end":{"line":32,"column":15}},"7":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"8":{"start":{"line":34,"column":6},"end":{"line":37,"column":8}},"9":{"start":{"line":39,"column":20},"end":{"line":39,"column":49}},"10":{"start":{"line":41,"column":4},"end":{"line":88,"column":5}},"11":{"start":{"line":42,"column":22},"end":{"line":42,"column":46}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":41}},"13":{"start":{"line":44,"column":6},"end":{"line":49,"column":7}},"14":{"start":{"line":45,"column":8},"end":{"line":48,"column":10}},"15":{"start":{"line":50,"column":6},"end":{"line":80,"column":7}},"16":{"start":{"line":51,"column":8},"end":{"line":60,"column":11}},"17":{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},"18":{"start":{"line":63,"column":10},"end":{"line":68,"column":13}},"19":{"start":{"line":69,"column":10},"end":{"line":73,"column":13}},"20":{"start":{"line":74,"column":42},"end":{"line":74,"column":181}},"21":{"start":{"line":75,"column":10},"end":{"line":75,"column":74}},"22":{"start":{"line":76,"column":10},"end":{"line":76,"column":54}},"23":{"start":{"line":77,"column":10},"end":{"line":77,"column":25}},"24":{"start":{"line":79,"column":8},"end":{"line":79,"column":66}},"25":{"start":{"line":82,"column":6},"end":{"line":82,"column":70}},"26":{"start":{"line":83,"column":6},"end":{"line":83,"column":33}},"27":{"start":{"line":84,"column":6},"end":{"line":87,"column":8}},"28":{"start":{"line":89,"column":4},"end":{"line":89,"column":16}},"29":{"start":{"line":97,"column":2},"end":{"line":101,"column":5}},"30":{"start":{"line":97,"column":24},"end":{"line":99,"column":3}}},"fnMap":{"0":{"name":"useURL","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":30}},"loc":{"start":{"line":19,"column":33},"end":{"line":102,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":43},"end":{"line":24,"column":44}},"loc":{"start":{"line":25,"column":4},"end":{"line":25,"column":51}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":40},"end":{"line":29,"column":41}},"loc":{"start":{"line":29,"column":111},"end":{"line":90,"column":3}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":97,"column":17},"end":{"line":97,"column":18}},"loc":{"start":{"line":97,"column":24},"end":{"line":99,"column":3}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":38,"column":5}},{"start":{},"end":{}}],"line":33},"1":{"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":22}},"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":11}},{"start":{"line":33,"column":15},"end":{"line":33,"column":22}}],"line":33},"2":{"loc":{"start":{"line":44,"column":6},"end":{"line":49,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":49,"column":7}},{"start":{},"end":{}}],"line":44},"3":{"loc":{"start":{"line":50,"column":6},"end":{"line":80,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":80,"column":7}},{"start":{},"end":{}}],"line":50},"4":{"loc":{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},{"start":{},"end":{}}],"line":62}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/ado.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/ado.tsx","statementMap":{"0":{"start":{"line":28,"column":22},"end":{"line":316,"column":1}},"1":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"2":{"start":{"line":30,"column":17},"end":{"line":30,"column":48}},"3":{"start":{"line":31,"column":24},"end":{"line":31,"column":76}},"4":{"start":{"line":32,"column":22},"end":{"line":32,"column":54}},"5":{"start":{"line":33,"column":23},"end":{"line":33,"column":56}},"6":{"start":{"line":34,"column":35},"end":{"line":34,"column":80}},"7":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"8":{"start":{"line":36,"column":20},"end":{"line":36,"column":34}},"9":{"start":{"line":37,"column":22},"end":{"line":37,"column":34}},"10":{"start":{"line":38,"column":42},"end":{"line":38,"column":57}},"11":{"start":{"line":40,"column":31},"end":{"line":46,"column":17}},"12":{"start":{"line":41,"column":26},"end":{"line":41,"column":54}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"14":{"start":{"line":42,"column":26},"end":{"line":42,"column":69}},"15":{"start":{"line":43,"column":4},"end":{"line":43,"column":67}},"16":{"start":{"line":43,"column":24},"end":{"line":43,"column":67}},"17":{"start":{"line":44,"column":4},"end":{"line":44,"column":51}},"18":{"start":{"line":44,"column":19},"end":{"line":44,"column":51}},"19":{"start":{"line":45,"column":4},"end":{"line":45,"column":25}},"20":{"start":{"line":48,"column":24},"end":{"line":54,"column":15}},"21":{"start":{"line":49,"column":26},"end":{"line":52,"column":6}},"22":{"start":{"line":53,"column":4},"end":{"line":53,"column":25}},"23":{"start":{"line":56,"column":26},"end":{"line":131,"column":4}},"24":{"start":{"line":57,"column":20},"end":{"line":57,"column":49}},"25":{"start":{"line":59,"column":4},"end":{"line":59,"column":54}},"26":{"start":{"line":61,"column":25},"end":{"line":61,"column":74}},"27":{"start":{"line":62,"column":4},"end":{"line":117,"column":5}},"28":{"start":{"line":63,"column":46},"end":{"line":63,"column":58}},"29":{"start":{"line":64,"column":6},"end":{"line":116,"column":7}},"30":{"start":{"line":65,"column":8},"end":{"line":65,"column":61}},"31":{"start":{"line":65,"column":26},"end":{"line":65,"column":61}},"32":{"start":{"line":66,"column":25},"end":{"line":68,"column":9}},"33":{"start":{"line":69,"column":8},"end":{"line":76,"column":11}},"34":{"start":{"line":78,"column":8},"end":{"line":78,"column":104}},"35":{"start":{"line":79,"column":8},"end":{"line":79,"column":74}},"36":{"start":{"line":80,"column":8},"end":{"line":86,"column":11}},"37":{"start":{"line":87,"column":8},"end":{"line":91,"column":11}},"38":{"start":{"line":92,"column":25},"end":{"line":92,"column":54}},"39":{"start":{"line":93,"column":8},"end":{"line":93,"column":51}},"40":{"start":{"line":94,"column":40},"end":{"line":94,"column":110}},"41":{"start":{"line":95,"column":8},"end":{"line":95,"column":72}},"42":{"start":{"line":96,"column":8},"end":{"line":96,"column":41}},"43":{"start":{"line":98,"column":8},"end":{"line":102,"column":10}},"44":{"start":{"line":104,"column":8},"end":{"line":104,"column":26}},"45":{"start":{"line":105,"column":8},"end":{"line":105,"column":47}},"46":{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},"47":{"start":{"line":107,"column":10},"end":{"line":110,"column":12}},"48":{"start":{"line":112,"column":8},"end":{"line":115,"column":10}},"49":{"start":{"line":119,"column":4},"end":{"line":122,"column":6}},"50":{"start":{"line":133,"column":28},"end":{"line":138,"column":38}},"51":{"start":{"line":134,"column":20},"end":{"line":134,"column":49}},"52":{"start":{"line":135,"column":4},"end":{"line":135,"column":71}},"53":{"start":{"line":135,"column":45},"end":{"line":135,"column":71}},"54":{"start":{"line":136,"column":27},"end":{"line":136,"column":51}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":59}},"56":{"start":{"line":140,"column":28},"end":{"line":176,"column":4}},"57":{"start":{"line":141,"column":20},"end":{"line":141,"column":49}},"58":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"59":{"start":{"line":143,"column":6},"end":{"line":143,"column":40}},"60":{"start":{"line":145,"column":4},"end":{"line":145,"column":71}},"61":{"start":{"line":145,"column":45},"end":{"line":145,"column":71}},"62":{"start":{"line":147,"column":4},"end":{"line":147,"column":59}},"63":{"start":{"line":149,"column":4},"end":{"line":171,"column":5}},"64":{"start":{"line":150,"column":22},"end":{"line":150,"column":46}},"65":{"start":{"line":151,"column":6},"end":{"line":156,"column":7}},"66":{"start":{"line":152,"column":8},"end":{"line":155,"column":10}},"67":{"start":{"line":157,"column":6},"end":{"line":164,"column":7}},"68":{"start":{"line":159,"column":29},"end":{"line":159,"column":127}},"69":{"start":{"line":160,"column":8},"end":{"line":163,"column":10}},"70":{"start":{"line":166,"column":6},"end":{"line":166,"column":30}},"71":{"start":{"line":167,"column":6},"end":{"line":170,"column":8}},"72":{"start":{"line":172,"column":4},"end":{"line":172,"column":16}},"73":{"start":{"line":178,"column":28},"end":{"line":245,"column":4}},"74":{"start":{"line":179,"column":4},"end":{"line":236,"column":5}},"75":{"start":{"line":180,"column":22},"end":{"line":180,"column":51}},"76":{"start":{"line":181,"column":23},"end":{"line":181,"column":52}},"77":{"start":{"line":182,"column":6},"end":{"line":182,"column":49}},"78":{"start":{"line":183,"column":6},"end":{"line":188,"column":7}},"79":{"start":{"line":184,"column":8},"end":{"line":187,"column":10}},"80":{"start":{"line":190,"column":6},"end":{"line":190,"column":39}},"81":{"start":{"line":192,"column":22},"end":{"line":192,"column":46}},"82":{"start":{"line":193,"column":6},"end":{"line":198,"column":7}},"83":{"start":{"line":194,"column":8},"end":{"line":197,"column":10}},"84":{"start":{"line":199,"column":6},"end":{"line":227,"column":7}},"85":{"start":{"line":200,"column":8},"end":{"line":225,"column":9}},"86":{"start":{"line":205,"column":31},"end":{"line":205,"column":52}},"87":{"start":{"line":206,"column":10},"end":{"line":224,"column":11}},"88":{"start":{"line":207,"column":33},"end":{"line":207,"column":100}},"89":{"start":{"line":208,"column":12},"end":{"line":214,"column":15}},"90":{"start":{"line":215,"column":12},"end":{"line":219,"column":15}},"91":{"start":{"line":220,"column":44},"end":{"line":220,"column":128}},"92":{"start":{"line":221,"column":12},"end":{"line":221,"column":76}},"93":{"start":{"line":222,"column":12},"end":{"line":222,"column":58}},"94":{"start":{"line":223,"column":12},"end":{"line":223,"column":49}},"95":{"start":{"line":226,"column":8},"end":{"line":226,"column":23}},"96":{"start":{"line":228,"column":6},"end":{"line":228,"column":44}},"97":{"start":{"line":230,"column":6},"end":{"line":230,"column":70}},"98":{"start":{"line":231,"column":6},"end":{"line":231,"column":30}},"99":{"start":{"line":232,"column":6},"end":{"line":235,"column":8}},"100":{"start":{"line":247,"column":31},"end":{"line":288,"column":3}},"101":{"start":{"line":249,"column":29},"end":{"line":249,"column":49}},"102":{"start":{"line":250,"column":31},"end":{"line":250,"column":53}},"103":{"start":{"line":252,"column":6},"end":{"line":254,"column":7}},"104":{"start":{"line":253,"column":8},"end":{"line":253,"column":71}},"105":{"start":{"line":255,"column":19},"end":{"line":255,"column":51}},"106":{"start":{"line":257,"column":6},"end":{"line":272,"column":7}},"107":{"start":{"line":258,"column":8},"end":{"line":261,"column":11}},"108":{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},"109":{"start":{"line":263,"column":10},"end":{"line":263,"column":51}},"110":{"start":{"line":267,"column":8},"end":{"line":267,"column":110}},"111":{"start":{"line":268,"column":8},"end":{"line":271,"column":10}},"112":{"start":{"line":273,"column":6},"end":{"line":278,"column":8}},"113":{"start":{"line":290,"column":27},"end":{"line":294,"column":28}},"114":{"start":{"line":291,"column":20},"end":{"line":291,"column":49}},"115":{"start":{"line":292,"column":21},"end":{"line":292,"column":50}},"116":{"start":{"line":293,"column":4},"end":{"line":293,"column":20}},"117":{"start":{"line":296,"column":26},"end":{"line":299,"column":28}},"118":{"start":{"line":297,"column":20},"end":{"line":297,"column":49}},"119":{"start":{"line":298,"column":4},"end":{"line":298,"column":51}},"120":{"start":{"line":301,"column":2},"end":{"line":315,"column":5}},"121":{"start":{"line":301,"column":30},"end":{"line":308,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":28,"column":22},"end":{"line":28,"column":23}},"loc":{"start":{"line":28,"column":28},"end":{"line":316,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":49},"end":{"line":40,"column":50}},"loc":{"start":{"line":40,"column":78},"end":{"line":46,"column":3}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":42},"end":{"line":48,"column":43}},"loc":{"start":{"line":48,"column":54},"end":{"line":54,"column":3}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":44},"end":{"line":56,"column":45}},"loc":{"start":{"line":56,"column":135},"end":{"line":123,"column":3}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":133,"column":46},"end":{"line":133,"column":47}},"loc":{"start":{"line":133,"column":122},"end":{"line":138,"column":3}},"line":133},"5":{"name":"(anonymous_5)","decl":{"start":{"line":140,"column":46},"end":{"line":140,"column":47}},"loc":{"start":{"line":140,"column":158},"end":{"line":173,"column":3}},"line":140},"6":{"name":"(anonymous_6)","decl":{"start":{"line":178,"column":46},"end":{"line":178,"column":47}},"loc":{"start":{"line":178,"column":110},"end":{"line":237,"column":3}},"line":178},"7":{"name":"(anonymous_7)","decl":{"start":{"line":248,"column":4},"end":{"line":248,"column":5}},"loc":{"start":{"line":248,"column":67},"end":{"line":279,"column":5}},"line":248},"8":{"name":"(anonymous_8)","decl":{"start":{"line":290,"column":45},"end":{"line":290,"column":46}},"loc":{"start":{"line":290,"column":80},"end":{"line":294,"column":3}},"line":290},"9":{"name":"(anonymous_9)","decl":{"start":{"line":296,"column":44},"end":{"line":296,"column":45}},"loc":{"start":{"line":296,"column":109},"end":{"line":299,"column":3}},"line":296},"10":{"name":"(anonymous_10)","decl":{"start":{"line":301,"column":23},"end":{"line":301,"column":24}},"loc":{"start":{"line":301,"column":30},"end":{"line":308,"column":3}},"line":301}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":67}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":43,"column":67}},{"start":{},"end":{}}],"line":43},"2":{"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":51}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":51}},{"start":{},"end":{}}],"line":44},"3":{"loc":{"start":{"line":62,"column":4},"end":{"line":117,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":117,"column":5}},{"start":{},"end":{}}],"line":62},"4":{"loc":{"start":{"line":65,"column":8},"end":{"line":65,"column":61}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":61}},{"start":{},"end":{}}],"line":65},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":106,"column":12},"end":{"line":106,"column":43}},"type":"binary-expr","locations":[{"start":{"line":106,"column":12},"end":{"line":106,"column":30}},{"start":{"line":106,"column":34},"end":{"line":106,"column":43}}],"line":106},"7":{"loc":{"start":{"line":135,"column":4},"end":{"line":135,"column":71}},"type":"if","locations":[{"start":{"line":135,"column":4},"end":{"line":135,"column":71}},{"start":{},"end":{}}],"line":135},"8":{"loc":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":142},"9":{"loc":{"start":{"line":145,"column":4},"end":{"line":145,"column":71}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":145,"column":71}},{"start":{},"end":{}}],"line":145},"10":{"loc":{"start":{"line":151,"column":6},"end":{"line":156,"column":7}},"type":"if","locations":[{"start":{"line":151,"column":6},"end":{"line":156,"column":7}},{"start":{},"end":{}}],"line":151},"11":{"loc":{"start":{"line":157,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":164,"column":7}},{"start":{},"end":{}}],"line":157},"12":{"loc":{"start":{"line":159,"column":64},"end":{"line":159,"column":126}},"type":"binary-expr","locations":[{"start":{"line":159,"column":64},"end":{"line":159,"column":95}},{"start":{"line":159,"column":99},"end":{"line":159,"column":126}}],"line":159},"13":{"loc":{"start":{"line":183,"column":6},"end":{"line":188,"column":7}},"type":"if","locations":[{"start":{"line":183,"column":6},"end":{"line":188,"column":7}},{"start":{},"end":{}}],"line":183},"14":{"loc":{"start":{"line":193,"column":6},"end":{"line":198,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":198,"column":7}},{"start":{},"end":{}}],"line":193},"15":{"loc":{"start":{"line":199,"column":6},"end":{"line":227,"column":7}},"type":"if","locations":[{"start":{"line":199,"column":6},"end":{"line":227,"column":7}},{"start":{},"end":{}}],"line":199},"16":{"loc":{"start":{"line":200,"column":8},"end":{"line":225,"column":9}},"type":"if","locations":[{"start":{"line":200,"column":8},"end":{"line":225,"column":9}},{"start":{},"end":{}}],"line":200},"17":{"loc":{"start":{"line":201,"column":10},"end":{"line":203,"column":98}},"type":"binary-expr","locations":[{"start":{"line":201,"column":10},"end":{"line":201,"column":42}},{"start":{"line":202,"column":13},"end":{"line":202,"column":45}},{"start":{"line":203,"column":13},"end":{"line":203,"column":98}}],"line":201},"18":{"loc":{"start":{"line":203,"column":22},"end":{"line":203,"column":76}},"type":"binary-expr","locations":[{"start":{"line":203,"column":22},"end":{"line":203,"column":53}},{"start":{"line":203,"column":57},"end":{"line":203,"column":76}}],"line":203},"19":{"loc":{"start":{"line":206,"column":10},"end":{"line":224,"column":11}},"type":"if","locations":[{"start":{"line":206,"column":10},"end":{"line":224,"column":11}},{"start":{},"end":{}}],"line":206},"20":{"loc":{"start":{"line":252,"column":6},"end":{"line":254,"column":7}},"type":"if","locations":[{"start":{"line":252,"column":6},"end":{"line":254,"column":7}},{"start":{},"end":{}}],"line":252},"21":{"loc":{"start":{"line":257,"column":6},"end":{"line":272,"column":7}},"type":"if","locations":[{"start":{"line":257,"column":6},"end":{"line":272,"column":7}},{"start":{"line":265,"column":13},"end":{"line":272,"column":7}}],"line":257},"22":{"loc":{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},"type":"if","locations":[{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},{"start":{},"end":{}}],"line":262},"23":{"loc":{"start":{"line":275,"column":16},"end":{"line":275,"column":37}},"type":"binary-expr","locations":[{"start":{"line":275,"column":16},"end":{"line":275,"column":27}},{"start":{"line":275,"column":31},"end":{"line":275,"column":37}}],"line":275},"24":{"loc":{"start":{"line":276,"column":16},"end":{"line":276,"column":37}},"type":"binary-expr","locations":[{"start":{"line":276,"column":16},"end":{"line":276,"column":27}},{"start":{"line":276,"column":31},"end":{"line":276,"column":37}}],"line":276}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":10,"column":70},"end":{"line":15,"column":122}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":122}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":70},"end":{"line":10,"column":71}},"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":122}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":18},"end":{"line":15,"column":46}},"type":"binary-expr","locations":[{"start":{"line":15,"column":18},"end":{"line":15,"column":27}},{"start":{"line":15,"column":31},"end":{"line":15,"column":46}}],"line":15}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/ado/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/bitbucket.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/bitbucket.tsx","statementMap":{"0":{"start":{"line":29,"column":17},"end":{"line":29,"column":44}},"1":{"start":{"line":30,"column":22},"end":{"line":30,"column":54}},"2":{"start":{"line":32,"column":17},"end":{"line":32,"column":48}},"3":{"start":{"line":33,"column":24},"end":{"line":33,"column":58}},"4":{"start":{"line":34,"column":23},"end":{"line":34,"column":56}},"5":{"start":{"line":35,"column":35},"end":{"line":35,"column":80}},"6":{"start":{"line":36,"column":20},"end":{"line":36,"column":34}},"7":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"8":{"start":{"line":38,"column":22},"end":{"line":38,"column":34}},"9":{"start":{"line":39,"column":42},"end":{"line":39,"column":57}},"10":{"start":{"line":41,"column":31},"end":{"line":57,"column":3}},"11":{"start":{"line":43,"column":29},"end":{"line":43,"column":50}},"12":{"start":{"line":44,"column":28},"end":{"line":50,"column":7}},"13":{"start":{"line":51,"column":6},"end":{"line":51,"column":71}},"14":{"start":{"line":51,"column":28},"end":{"line":51,"column":71}},"15":{"start":{"line":52,"column":6},"end":{"line":52,"column":69}},"16":{"start":{"line":52,"column":26},"end":{"line":52,"column":69}},"17":{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},"18":{"start":{"line":53,"column":21},"end":{"line":53,"column":53}},"19":{"start":{"line":54,"column":6},"end":{"line":54,"column":27}},"20":{"start":{"line":59,"column":24},"end":{"line":65,"column":15}},"21":{"start":{"line":60,"column":26},"end":{"line":63,"column":6}},"22":{"start":{"line":64,"column":4},"end":{"line":64,"column":25}},"23":{"start":{"line":67,"column":32},"end":{"line":140,"column":4}},"24":{"start":{"line":68,"column":20},"end":{"line":68,"column":49}},"25":{"start":{"line":70,"column":4},"end":{"line":70,"column":54}},"26":{"start":{"line":72,"column":25},"end":{"line":72,"column":74}},"27":{"start":{"line":73,"column":4},"end":{"line":121,"column":5}},"28":{"start":{"line":74,"column":46},"end":{"line":74,"column":58}},"29":{"start":{"line":75,"column":6},"end":{"line":120,"column":7}},"30":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"31":{"start":{"line":76,"column":26},"end":{"line":76,"column":61}},"32":{"start":{"line":77,"column":25},"end":{"line":79,"column":9}},"33":{"start":{"line":80,"column":8},"end":{"line":84,"column":56}},"34":{"start":{"line":85,"column":8},"end":{"line":85,"column":110}},"35":{"start":{"line":86,"column":8},"end":{"line":86,"column":74}},"36":{"start":{"line":87,"column":8},"end":{"line":93,"column":11}},"37":{"start":{"line":94,"column":8},"end":{"line":98,"column":11}},"38":{"start":{"line":99,"column":40},"end":{"line":99,"column":110}},"39":{"start":{"line":100,"column":8},"end":{"line":100,"column":72}},"40":{"start":{"line":101,"column":8},"end":{"line":101,"column":41}},"41":{"start":{"line":102,"column":8},"end":{"line":106,"column":10}},"42":{"start":{"line":108,"column":8},"end":{"line":108,"column":26}},"43":{"start":{"line":109,"column":8},"end":{"line":109,"column":53}},"44":{"start":{"line":110,"column":8},"end":{"line":115,"column":9}},"45":{"start":{"line":111,"column":10},"end":{"line":114,"column":12}},"46":{"start":{"line":116,"column":8},"end":{"line":119,"column":10}},"47":{"start":{"line":123,"column":4},"end":{"line":128,"column":6}},"48":{"start":{"line":142,"column":28},"end":{"line":152,"column":3}},"49":{"start":{"line":146,"column":22},"end":{"line":146,"column":64}},"50":{"start":{"line":147,"column":6},"end":{"line":147,"column":73}},"51":{"start":{"line":147,"column":47},"end":{"line":147,"column":73}},"52":{"start":{"line":148,"column":29},"end":{"line":148,"column":53}},"53":{"start":{"line":149,"column":6},"end":{"line":149,"column":61}},"54":{"start":{"line":154,"column":34},"end":{"line":186,"column":3}},"55":{"start":{"line":156,"column":22},"end":{"line":156,"column":51}},"56":{"start":{"line":157,"column":6},"end":{"line":157,"column":73}},"57":{"start":{"line":157,"column":47},"end":{"line":157,"column":73}},"58":{"start":{"line":159,"column":28},"end":{"line":159,"column":49}},"59":{"start":{"line":161,"column":6},"end":{"line":163,"column":9}},"60":{"start":{"line":165,"column":6},"end":{"line":182,"column":7}},"61":{"start":{"line":166,"column":24},"end":{"line":166,"column":48}},"62":{"start":{"line":167,"column":8},"end":{"line":172,"column":9}},"63":{"start":{"line":168,"column":10},"end":{"line":171,"column":12}},"64":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"65":{"start":{"line":174,"column":10},"end":{"line":174,"column":25}},"66":{"start":{"line":177,"column":8},"end":{"line":177,"column":32}},"67":{"start":{"line":178,"column":8},"end":{"line":181,"column":10}},"68":{"start":{"line":183,"column":6},"end":{"line":183,"column":18}},"69":{"start":{"line":189,"column":34},"end":{"line":261,"column":3}},"70":{"start":{"line":191,"column":6},"end":{"line":248,"column":7}},"71":{"start":{"line":192,"column":24},"end":{"line":192,"column":53}},"72":{"start":{"line":193,"column":28},"end":{"line":193,"column":57}},"73":{"start":{"line":194,"column":8},"end":{"line":194,"column":54}},"74":{"start":{"line":195,"column":8},"end":{"line":200,"column":9}},"75":{"start":{"line":196,"column":10},"end":{"line":199,"column":12}},"76":{"start":{"line":202,"column":30},"end":{"line":202,"column":51}},"77":{"start":{"line":203,"column":8},"end":{"line":203,"column":58}},"78":{"start":{"line":205,"column":24},"end":{"line":205,"column":48}},"79":{"start":{"line":206,"column":8},"end":{"line":211,"column":9}},"80":{"start":{"line":207,"column":10},"end":{"line":210,"column":12}},"81":{"start":{"line":212,"column":8},"end":{"line":239,"column":9}},"82":{"start":{"line":213,"column":10},"end":{"line":237,"column":11}},"83":{"start":{"line":218,"column":33},"end":{"line":218,"column":54}},"84":{"start":{"line":219,"column":12},"end":{"line":236,"column":13}},"85":{"start":{"line":220,"column":35},"end":{"line":220,"column":102}},"86":{"start":{"line":221,"column":14},"end":{"line":226,"column":17}},"87":{"start":{"line":227,"column":14},"end":{"line":231,"column":17}},"88":{"start":{"line":232,"column":46},"end":{"line":232,"column":130}},"89":{"start":{"line":233,"column":14},"end":{"line":233,"column":78}},"90":{"start":{"line":234,"column":14},"end":{"line":234,"column":60}},"91":{"start":{"line":235,"column":14},"end":{"line":235,"column":57}},"92":{"start":{"line":238,"column":10},"end":{"line":238,"column":25}},"93":{"start":{"line":240,"column":8},"end":{"line":240,"column":52}},"94":{"start":{"line":242,"column":8},"end":{"line":242,"column":78}},"95":{"start":{"line":243,"column":8},"end":{"line":243,"column":32}},"96":{"start":{"line":244,"column":8},"end":{"line":247,"column":10}},"97":{"start":{"line":263,"column":37},"end":{"line":292,"column":3}},"98":{"start":{"line":265,"column":19},"end":{"line":265,"column":57}},"99":{"start":{"line":266,"column":6},"end":{"line":279,"column":7}},"100":{"start":{"line":267,"column":8},"end":{"line":270,"column":11}},"101":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"102":{"start":{"line":272,"column":10},"end":{"line":272,"column":51}},"103":{"start":{"line":275,"column":8},"end":{"line":278,"column":10}},"104":{"start":{"line":280,"column":6},"end":{"line":285,"column":8}},"105":{"start":{"line":294,"column":33},"end":{"line":300,"column":3}},"106":{"start":{"line":296,"column":22},"end":{"line":296,"column":51}},"107":{"start":{"line":297,"column":6},"end":{"line":297,"column":37}},"108":{"start":{"line":302,"column":32},"end":{"line":308,"column":3}},"109":{"start":{"line":304,"column":22},"end":{"line":304,"column":51}},"110":{"start":{"line":305,"column":6},"end":{"line":305,"column":53}},"111":{"start":{"line":310,"column":2},"end":{"line":327,"column":4}},"112":{"start":{"line":311,"column":11},"end":{"line":318,"column":5}}},"fnMap":{"0":{"name":"useBitbucket","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":31},"end":{"line":328,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":70},"end":{"line":55,"column":5}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":36},"end":{"line":59,"column":37}},"loc":{"start":{"line":59,"column":48},"end":{"line":65,"column":3}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":44},"end":{"line":67,"column":45}},"loc":{"start":{"line":67,"column":141},"end":{"line":129,"column":3}},"line":67},"4":{"name":"(anonymous_4)","decl":{"start":{"line":143,"column":4},"end":{"line":143,"column":5}},"loc":{"start":{"line":145,"column":115},"end":{"line":150,"column":5}},"line":145},"5":{"name":"(anonymous_5)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":122},"end":{"line":184,"column":5}},"line":155},"6":{"name":"(anonymous_6)","decl":{"start":{"line":190,"column":4},"end":{"line":190,"column":5}},"loc":{"start":{"line":190,"column":74},"end":{"line":249,"column":5}},"line":190},"7":{"name":"(anonymous_7)","decl":{"start":{"line":264,"column":4},"end":{"line":264,"column":5}},"loc":{"start":{"line":264,"column":73},"end":{"line":286,"column":5}},"line":264},"8":{"name":"(anonymous_8)","decl":{"start":{"line":295,"column":4},"end":{"line":295,"column":5}},"loc":{"start":{"line":295,"column":45},"end":{"line":298,"column":5}},"line":295},"9":{"name":"(anonymous_9)","decl":{"start":{"line":303,"column":4},"end":{"line":303,"column":5}},"loc":{"start":{"line":303,"column":75},"end":{"line":306,"column":5}},"line":303},"10":{"name":"(anonymous_10)","decl":{"start":{"line":311,"column":4},"end":{"line":311,"column":5}},"loc":{"start":{"line":311,"column":11},"end":{"line":318,"column":5}},"line":311}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":34}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":13}},{"start":{"line":46,"column":17},"end":{"line":46,"column":34}}],"line":46},"1":{"loc":{"start":{"line":47,"column":8},"end":{"line":47,"column":33}},"type":"binary-expr","locations":[{"start":{"line":47,"column":8},"end":{"line":47,"column":12}},{"start":{"line":47,"column":16},"end":{"line":47,"column":33}}],"line":47},"2":{"loc":{"start":{"line":48,"column":8},"end":{"line":48,"column":29}},"type":"binary-expr","locations":[{"start":{"line":48,"column":8},"end":{"line":48,"column":23}},{"start":{"line":48,"column":27},"end":{"line":48,"column":29}}],"line":48},"3":{"loc":{"start":{"line":51,"column":6},"end":{"line":51,"column":71}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":51,"column":71}},{"start":{},"end":{}}],"line":51},"4":{"loc":{"start":{"line":52,"column":6},"end":{"line":52,"column":69}},"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":52,"column":69}},{"start":{},"end":{}}],"line":52},"5":{"loc":{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},"type":"if","locations":[{"start":{"line":53,"column":6},"end":{"line":53,"column":53}},{"start":{},"end":{}}],"line":53},"6":{"loc":{"start":{"line":73,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":121,"column":5}},{"start":{},"end":{}}],"line":73},"7":{"loc":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},{"start":{},"end":{}}],"line":76},"8":{"loc":{"start":{"line":110,"column":8},"end":{"line":115,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":8},"end":{"line":115,"column":9}},{"start":{},"end":{}}],"line":110},"9":{"loc":{"start":{"line":110,"column":12},"end":{"line":110,"column":92}},"type":"binary-expr","locations":[{"start":{"line":110,"column":12},"end":{"line":110,"column":30}},{"start":{"line":110,"column":34},"end":{"line":110,"column":92}}],"line":110},"10":{"loc":{"start":{"line":147,"column":6},"end":{"line":147,"column":73}},"type":"if","locations":[{"start":{"line":147,"column":6},"end":{"line":147,"column":73}},{"start":{},"end":{}}],"line":147},"11":{"loc":{"start":{"line":157,"column":6},"end":{"line":157,"column":73}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":157,"column":73}},{"start":{},"end":{}}],"line":157},"12":{"loc":{"start":{"line":167,"column":8},"end":{"line":172,"column":9}},"type":"if","locations":[{"start":{"line":167,"column":8},"end":{"line":172,"column":9}},{"start":{},"end":{}}],"line":167},"13":{"loc":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},{"start":{},"end":{}}],"line":173},"14":{"loc":{"start":{"line":195,"column":8},"end":{"line":200,"column":9}},"type":"if","locations":[{"start":{"line":195,"column":8},"end":{"line":200,"column":9}},{"start":{},"end":{}}],"line":195},"15":{"loc":{"start":{"line":195,"column":12},"end":{"line":195,"column":47}},"type":"binary-expr","locations":[{"start":{"line":195,"column":12},"end":{"line":195,"column":24}},{"start":{"line":195,"column":28},"end":{"line":195,"column":47}}],"line":195},"16":{"loc":{"start":{"line":206,"column":8},"end":{"line":211,"column":9}},"type":"if","locations":[{"start":{"line":206,"column":8},"end":{"line":211,"column":9}},{"start":{},"end":{}}],"line":206},"17":{"loc":{"start":{"line":212,"column":8},"end":{"line":239,"column":9}},"type":"if","locations":[{"start":{"line":212,"column":8},"end":{"line":239,"column":9}},{"start":{},"end":{}}],"line":212},"18":{"loc":{"start":{"line":213,"column":10},"end":{"line":237,"column":11}},"type":"if","locations":[{"start":{"line":213,"column":10},"end":{"line":237,"column":11}},{"start":{},"end":{}}],"line":213},"19":{"loc":{"start":{"line":214,"column":12},"end":{"line":216,"column":100}},"type":"binary-expr","locations":[{"start":{"line":214,"column":12},"end":{"line":214,"column":44}},{"start":{"line":215,"column":15},"end":{"line":215,"column":47}},{"start":{"line":216,"column":15},"end":{"line":216,"column":100}}],"line":214},"20":{"loc":{"start":{"line":216,"column":24},"end":{"line":216,"column":78}},"type":"binary-expr","locations":[{"start":{"line":216,"column":24},"end":{"line":216,"column":55}},{"start":{"line":216,"column":59},"end":{"line":216,"column":78}}],"line":216},"21":{"loc":{"start":{"line":219,"column":12},"end":{"line":236,"column":13}},"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":236,"column":13}},{"start":{},"end":{}}],"line":219},"22":{"loc":{"start":{"line":266,"column":6},"end":{"line":279,"column":7}},"type":"if","locations":[{"start":{"line":266,"column":6},"end":{"line":279,"column":7}},{"start":{"line":274,"column":13},"end":{"line":279,"column":7}}],"line":266},"23":{"loc":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},{"start":{},"end":{}}],"line":271},"24":{"loc":{"start":{"line":282,"column":16},"end":{"line":282,"column":37}},"type":"binary-expr","locations":[{"start":{"line":282,"column":16},"end":{"line":282,"column":27}},{"start":{"line":282,"column":31},"end":{"line":282,"column":37}}],"line":282},"25":{"loc":{"start":{"line":283,"column":16},"end":{"line":283,"column":37}},"type":"binary-expr","locations":[{"start":{"line":283,"column":16},"end":{"line":283,"column":27}},{"start":{"line":283,"column":31},"end":{"line":283,"column":37}}],"line":283}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":11,"column":18},"end":{"line":11,"column":70}},"1":{"start":{"line":13,"column":2},"end":{"line":13,"column":65}}},"fnMap":{"0":{"name":"getBitbucketCreatePullRequestUrl","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":48}},"loc":{"start":{"line":10,"column":3},"end":{"line":14,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":70}},"type":"cond-expr","locations":[{"start":{"line":11,"column":40},"end":{"line":11,"column":44}},{"start":{"line":11,"column":47},"end":{"line":11,"column":70}}],"line":11},"1":{"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":37}},"type":"binary-expr","locations":[{"start":{"line":11,"column":18},"end":{"line":11,"column":22}},{"start":{"line":11,"column":26},"end":{"line":11,"column":37}}],"line":11}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/bitbucket/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/generic/versionedStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/generic/versionedStorage.ts","statementMap":{"0":{"start":{"line":39,"column":42},"end":{"line":39,"column":80}},"1":{"start":{"line":41,"column":2},"end":{"line":110,"column":3}},"2":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"3":{"start":{"line":42,"column":13},"end":{"line":42,"column":69}},"4":{"start":{"line":45,"column":4},"end":{"line":45,"column":68}},"5":{"start":{"line":45,"column":56},"end":{"line":45,"column":68}},"6":{"start":{"line":47,"column":20},"end":{"line":47,"column":76}},"7":{"start":{"line":48,"column":26},"end":{"line":48,"column":45}},"8":{"start":{"line":49,"column":20},"end":{"line":57,"column":5}},"9":{"start":{"line":59,"column":4},"end":{"line":82,"column":5}},"10":{"start":{"line":60,"column":27},"end":{"line":60,"column":51}},"11":{"start":{"line":62,"column":6},"end":{"line":71,"column":7}},"12":{"start":{"line":64,"column":29},"end":{"line":64,"column":97}},"13":{"start":{"line":65,"column":8},"end":{"line":65,"column":92}},"14":{"start":{"line":66,"column":8},"end":{"line":66,"column":70}},"15":{"start":{"line":67,"column":8},"end":{"line":70,"column":10}},"16":{"start":{"line":73,"column":25},"end":{"line":73,"column":102}},"17":{"start":{"line":75,"column":6},"end":{"line":81,"column":7}},"18":{"start":{"line":76,"column":8},"end":{"line":76,"column":101}},"19":{"start":{"line":77,"column":8},"end":{"line":80,"column":10}},"20":{"start":{"line":86,"column":20},"end":{"line":86,"column":77}},"21":{"start":{"line":88,"column":4},"end":{"line":93,"column":5}},"22":{"start":{"line":89,"column":6},"end":{"line":92,"column":8}},"23":{"start":{"line":96,"column":4},"end":{"line":96,"column":88}},"24":{"start":{"line":97,"column":4},"end":{"line":97,"column":52}},"25":{"start":{"line":98,"column":4},"end":{"line":101,"column":6}},"26":{"start":{"line":104,"column":4},"end":{"line":104,"column":88}},"27":{"start":{"line":105,"column":4},"end":{"line":105,"column":55}},"28":{"start":{"line":106,"column":4},"end":{"line":109,"column":6}},"29":{"start":{"line":114,"column":19},"end":{"line":114,"column":42}},"30":{"start":{"line":115,"column":29},"end":{"line":115,"column":41}},"31":{"start":{"line":116,"column":17},"end":{"line":116,"column":44}},"32":{"start":{"line":117,"column":17},"end":{"line":117,"column":48}},"33":{"start":{"line":118,"column":22},"end":{"line":118,"column":54}},"34":{"start":{"line":119,"column":24},"end":{"line":119,"column":57}},"35":{"start":{"line":120,"column":35},"end":{"line":120,"column":80}},"36":{"start":{"line":122,"column":43},"end":{"line":163,"column":3}},"37":{"start":{"line":128,"column":10},"end":{"line":128,"column":17}},"38":{"start":{"line":129,"column":24},"end":{"line":129,"column":48}},"39":{"start":{"line":130,"column":21},"end":{"line":130,"column":97}},"40":{"start":{"line":131,"column":6},"end":{"line":158,"column":7}},"41":{"start":{"line":132,"column":8},"end":{"line":143,"column":11}},"42":{"start":{"line":144,"column":8},"end":{"line":154,"column":11}},"43":{"start":{"line":155,"column":8},"end":{"line":155,"column":43}},"44":{"start":{"line":157,"column":8},"end":{"line":157,"column":34}},"45":{"start":{"line":159,"column":6},"end":{"line":159,"column":83}},"46":{"start":{"line":160,"column":6},"end":{"line":160,"column":18}},"47":{"start":{"line":166,"column":48},"end":{"line":218,"column":3}},"48":{"start":{"line":172,"column":10},"end":{"line":172,"column":17}},"49":{"start":{"line":173,"column":6},"end":{"line":173,"column":27}},"50":{"start":{"line":173,"column":15},"end":{"line":173,"column":27}},"51":{"start":{"line":174,"column":6},"end":{"line":215,"column":7}},"52":{"start":{"line":175,"column":24},"end":{"line":175,"column":80}},"53":{"start":{"line":176,"column":21},"end":{"line":176,"column":45}},"54":{"start":{"line":177,"column":8},"end":{"line":177,"column":43}},"55":{"start":{"line":179,"column":8},"end":{"line":189,"column":11}},"56":{"start":{"line":190,"column":8},"end":{"line":197,"column":9}},"57":{"start":{"line":191,"column":10},"end":{"line":191,"column":108}},"58":{"start":{"line":192,"column":10},"end":{"line":192,"column":40}},"59":{"start":{"line":193,"column":10},"end":{"line":196,"column":12}},"60":{"start":{"line":198,"column":8},"end":{"line":208,"column":9}},"61":{"start":{"line":199,"column":10},"end":{"line":199,"column":55}},"62":{"start":{"line":200,"column":10},"end":{"line":207,"column":12}},"63":{"start":{"line":209,"column":8},"end":{"line":209,"column":66}},"64":{"start":{"line":210,"column":8},"end":{"line":210,"column":20}},"65":{"start":{"line":212,"column":8},"end":{"line":212,"column":106}},"66":{"start":{"line":213,"column":8},"end":{"line":213,"column":35}},"67":{"start":{"line":214,"column":8},"end":{"line":214,"column":20}},"68":{"start":{"line":220,"column":41},"end":{"line":294,"column":3}},"69":{"start":{"line":226,"column":10},"end":{"line":226,"column":17}},"70":{"start":{"line":227,"column":6},"end":{"line":227,"column":27}},"71":{"start":{"line":227,"column":15},"end":{"line":227,"column":27}},"72":{"start":{"line":230,"column":24},"end":{"line":230,"column":48}},"73":{"start":{"line":231,"column":21},"end":{"line":231,"column":97}},"74":{"start":{"line":233,"column":6},"end":{"line":238,"column":7}},"75":{"start":{"line":234,"column":8},"end":{"line":237,"column":10}},"76":{"start":{"line":240,"column":22},"end":{"line":240,"column":74}},"77":{"start":{"line":242,"column":6},"end":{"line":247,"column":7}},"78":{"start":{"line":243,"column":8},"end":{"line":246,"column":10}},"79":{"start":{"line":248,"column":6},"end":{"line":289,"column":7}},"80":{"start":{"line":249,"column":8},"end":{"line":256,"column":11}},"81":{"start":{"line":257,"column":8},"end":{"line":267,"column":11}},"82":{"start":{"line":268,"column":8},"end":{"line":274,"column":11}},"83":{"start":{"line":275,"column":8},"end":{"line":281,"column":11}},"84":{"start":{"line":282,"column":40},"end":{"line":286,"column":9}},"85":{"start":{"line":287,"column":8},"end":{"line":287,"column":72}},"86":{"start":{"line":288,"column":8},"end":{"line":288,"column":23}},"87":{"start":{"line":291,"column":6},"end":{"line":291,"column":21}},"88":{"start":{"line":296,"column":2},"end":{"line":303,"column":4}},"89":{"start":{"line":297,"column":11},"end":{"line":301,"column":5}}},"fnMap":{"0":{"name":"updateGenericVersionedTokens","decl":{"start":{"line":31,"column":22},"end":{"line":31,"column":50}},"loc":{"start":{"line":38,"column":90},"end":{"line":111,"column":1}},"line":38},"1":{"name":"useGenericVersionedStorage","decl":{"start":{"line":113,"column":16},"end":{"line":113,"column":42}},"loc":{"start":{"line":113,"column":45},"end":{"line":304,"column":1}},"line":113},"2":{"name":"(anonymous_2)","decl":{"start":{"line":123,"column":4},"end":{"line":123,"column":5}},"loc":{"start":{"line":125,"column":9},"end":{"line":161,"column":5}},"line":125},"3":{"name":"(anonymous_3)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":169,"column":45},"end":{"line":216,"column":5}},"line":169},"4":{"name":"(anonymous_4)","decl":{"start":{"line":221,"column":4},"end":{"line":221,"column":5}},"loc":{"start":{"line":223,"column":45},"end":{"line":292,"column":5}},"line":223},"5":{"name":"(anonymous_5)","decl":{"start":{"line":297,"column":4},"end":{"line":297,"column":5}},"loc":{"start":{"line":297,"column":11},"end":{"line":301,"column":5}},"line":297}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":2},"end":{"line":36,"column":21}},"type":"default-arg","locations":[{"start":{"line":36,"column":17},"end":{"line":36,"column":21}}],"line":36},"1":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":69}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":45,"column":4},"end":{"line":45,"column":68}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":68}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":54,"column":19},"end":{"line":54,"column":56}},"type":"binary-expr","locations":[{"start":{"line":54,"column":19},"end":{"line":54,"column":28}},{"start":{"line":54,"column":32},"end":{"line":54,"column":56}}],"line":54},"4":{"loc":{"start":{"line":59,"column":4},"end":{"line":82,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":82,"column":5}},{"start":{},"end":{}}],"line":59},"5":{"loc":{"start":{"line":62,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":62},"6":{"loc":{"start":{"line":64,"column":29},"end":{"line":64,"column":97}},"type":"binary-expr","locations":[{"start":{"line":64,"column":29},"end":{"line":64,"column":55}},{"start":{"line":64,"column":59},"end":{"line":64,"column":97}}],"line":64},"7":{"loc":{"start":{"line":73,"column":62},"end":{"line":73,"column":101}},"type":"binary-expr","locations":[{"start":{"line":73,"column":62},"end":{"line":73,"column":95}},{"start":{"line":73,"column":99},"end":{"line":73,"column":101}}],"line":73},"8":{"loc":{"start":{"line":75,"column":6},"end":{"line":81,"column":7}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":81,"column":7}},{"start":{},"end":{}}],"line":75},"9":{"loc":{"start":{"line":88,"column":4},"end":{"line":93,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":93,"column":5}},{"start":{},"end":{}}],"line":88},"10":{"loc":{"start":{"line":131,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":131,"column":6},"end":{"line":158,"column":7}},{"start":{},"end":{}}],"line":131},"11":{"loc":{"start":{"line":173,"column":6},"end":{"line":173,"column":27}},"type":"if","locations":[{"start":{"line":173,"column":6},"end":{"line":173,"column":27}},{"start":{},"end":{}}],"line":173},"12":{"loc":{"start":{"line":190,"column":8},"end":{"line":197,"column":9}},"type":"if","locations":[{"start":{"line":190,"column":8},"end":{"line":197,"column":9}},{"start":{},"end":{}}],"line":190},"13":{"loc":{"start":{"line":198,"column":8},"end":{"line":208,"column":9}},"type":"if","locations":[{"start":{"line":198,"column":8},"end":{"line":208,"column":9}},{"start":{},"end":{}}],"line":198},"14":{"loc":{"start":{"line":198,"column":12},"end":{"line":198,"column":42}},"type":"binary-expr","locations":[{"start":{"line":198,"column":12},"end":{"line":198,"column":26}},{"start":{"line":198,"column":30},"end":{"line":198,"column":42}}],"line":198},"15":{"loc":{"start":{"line":227,"column":6},"end":{"line":227,"column":27}},"type":"if","locations":[{"start":{"line":227,"column":6},"end":{"line":227,"column":27}},{"start":{},"end":{}}],"line":227},"16":{"loc":{"start":{"line":233,"column":6},"end":{"line":238,"column":7}},"type":"if","locations":[{"start":{"line":233,"column":6},"end":{"line":238,"column":7}},{"start":{},"end":{}}],"line":233},"17":{"loc":{"start":{"line":242,"column":6},"end":{"line":247,"column":7}},"type":"if","locations":[{"start":{"line":242,"column":6},"end":{"line":247,"column":7}},{"start":{},"end":{}}],"line":242},"18":{"loc":{"start":{"line":248,"column":6},"end":{"line":289,"column":7}},"type":"if","locations":[{"start":{"line":248,"column":6},"end":{"line":289,"column":7}},{"start":{},"end":{}}],"line":248}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":9,"column":14},"end":{"line":9,"column":63}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":44}},"2":{"start":{"line":13,"column":2},"end":{"line":13,"column":57}}},"fnMap":{"0":{"name":"getGithubCreatePullRequestUrl","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":45}},"loc":{"start":{"line":8,"column":3},"end":{"line":14,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":14},"end":{"line":9,"column":63}},"type":"cond-expr","locations":[{"start":{"line":9,"column":36},"end":{"line":9,"column":40}},{"start":{"line":9,"column":43},"end":{"line":9,"column":63}}],"line":9},"1":{"loc":{"start":{"line":9,"column":14},"end":{"line":9,"column":33}},"type":"binary-expr","locations":[{"start":{"line":9,"column":14},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":33}}],"line":9}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/github.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/github.tsx","statementMap":{"0":{"start":{"line":30,"column":17},"end":{"line":30,"column":44}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":54}},"2":{"start":{"line":32,"column":17},"end":{"line":32,"column":48}},"3":{"start":{"line":33,"column":24},"end":{"line":33,"column":58}},"4":{"start":{"line":34,"column":23},"end":{"line":34,"column":56}},"5":{"start":{"line":35,"column":35},"end":{"line":35,"column":80}},"6":{"start":{"line":36,"column":20},"end":{"line":36,"column":34}},"7":{"start":{"line":37,"column":19},"end":{"line":37,"column":42}},"8":{"start":{"line":38,"column":22},"end":{"line":38,"column":34}},"9":{"start":{"line":39,"column":42},"end":{"line":39,"column":57}},"10":{"start":{"line":41,"column":31},"end":{"line":49,"column":17}},"11":{"start":{"line":42,"column":27},"end":{"line":42,"column":48}},"12":{"start":{"line":43,"column":26},"end":{"line":43,"column":142}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":69}},"14":{"start":{"line":45,"column":26},"end":{"line":45,"column":69}},"15":{"start":{"line":46,"column":4},"end":{"line":46,"column":67}},"16":{"start":{"line":46,"column":24},"end":{"line":46,"column":67}},"17":{"start":{"line":47,"column":4},"end":{"line":47,"column":51}},"18":{"start":{"line":47,"column":19},"end":{"line":47,"column":51}},"19":{"start":{"line":48,"column":4},"end":{"line":48,"column":25}},"20":{"start":{"line":51,"column":24},"end":{"line":57,"column":15}},"21":{"start":{"line":52,"column":26},"end":{"line":55,"column":6}},"22":{"start":{"line":56,"column":4},"end":{"line":56,"column":25}},"23":{"start":{"line":59,"column":29},"end":{"line":134,"column":4}},"24":{"start":{"line":60,"column":20},"end":{"line":60,"column":49}},"25":{"start":{"line":61,"column":4},"end":{"line":61,"column":54}},"26":{"start":{"line":62,"column":25},"end":{"line":62,"column":74}},"27":{"start":{"line":63,"column":4},"end":{"line":115,"column":5}},"28":{"start":{"line":64,"column":46},"end":{"line":64,"column":58}},"29":{"start":{"line":65,"column":6},"end":{"line":114,"column":7}},"30":{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},"31":{"start":{"line":66,"column":26},"end":{"line":66,"column":61}},"32":{"start":{"line":67,"column":25},"end":{"line":69,"column":9}},"33":{"start":{"line":70,"column":8},"end":{"line":77,"column":11}},"34":{"start":{"line":78,"column":26},"end":{"line":78,"column":54}},"35":{"start":{"line":79,"column":8},"end":{"line":79,"column":107}},"36":{"start":{"line":80,"column":8},"end":{"line":80,"column":111}},"37":{"start":{"line":81,"column":8},"end":{"line":87,"column":11}},"38":{"start":{"line":88,"column":8},"end":{"line":92,"column":11}},"39":{"start":{"line":93,"column":40},"end":{"line":93,"column":110}},"40":{"start":{"line":94,"column":8},"end":{"line":94,"column":72}},"41":{"start":{"line":95,"column":8},"end":{"line":95,"column":41}},"42":{"start":{"line":96,"column":8},"end":{"line":100,"column":10}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":26}},"44":{"start":{"line":103,"column":8},"end":{"line":103,"column":50}},"45":{"start":{"line":104,"column":8},"end":{"line":109,"column":9}},"46":{"start":{"line":105,"column":10},"end":{"line":108,"column":12}},"47":{"start":{"line":110,"column":8},"end":{"line":113,"column":10}},"48":{"start":{"line":117,"column":4},"end":{"line":122,"column":6}},"49":{"start":{"line":136,"column":28},"end":{"line":143,"column":38}},"50":{"start":{"line":139,"column":20},"end":{"line":139,"column":62}},"51":{"start":{"line":140,"column":4},"end":{"line":140,"column":71}},"52":{"start":{"line":140,"column":45},"end":{"line":140,"column":71}},"53":{"start":{"line":141,"column":27},"end":{"line":141,"column":51}},"54":{"start":{"line":142,"column":4},"end":{"line":142,"column":59}},"55":{"start":{"line":145,"column":31},"end":{"line":183,"column":4}},"56":{"start":{"line":146,"column":20},"end":{"line":146,"column":49}},"57":{"start":{"line":147,"column":4},"end":{"line":147,"column":71}},"58":{"start":{"line":147,"column":45},"end":{"line":147,"column":71}},"59":{"start":{"line":149,"column":26},"end":{"line":149,"column":47}},"60":{"start":{"line":151,"column":4},"end":{"line":153,"column":7}},"61":{"start":{"line":155,"column":4},"end":{"line":178,"column":5}},"62":{"start":{"line":156,"column":22},"end":{"line":156,"column":46}},"63":{"start":{"line":157,"column":6},"end":{"line":162,"column":7}},"64":{"start":{"line":158,"column":8},"end":{"line":161,"column":10}},"65":{"start":{"line":163,"column":6},"end":{"line":172,"column":7}},"66":{"start":{"line":165,"column":29},"end":{"line":165,"column":127}},"67":{"start":{"line":166,"column":26},"end":{"line":166,"column":54}},"68":{"start":{"line":167,"column":8},"end":{"line":171,"column":10}},"69":{"start":{"line":174,"column":6},"end":{"line":177,"column":8}},"70":{"start":{"line":179,"column":4},"end":{"line":179,"column":16}},"71":{"start":{"line":186,"column":31},"end":{"line":258,"column":4}},"72":{"start":{"line":187,"column":4},"end":{"line":247,"column":5}},"73":{"start":{"line":188,"column":22},"end":{"line":188,"column":51}},"74":{"start":{"line":189,"column":26},"end":{"line":189,"column":55}},"75":{"start":{"line":190,"column":6},"end":{"line":190,"column":52}},"76":{"start":{"line":191,"column":6},"end":{"line":196,"column":7}},"77":{"start":{"line":192,"column":8},"end":{"line":195,"column":10}},"78":{"start":{"line":198,"column":28},"end":{"line":198,"column":49}},"79":{"start":{"line":199,"column":6},"end":{"line":199,"column":56}},"80":{"start":{"line":201,"column":22},"end":{"line":201,"column":46}},"81":{"start":{"line":202,"column":6},"end":{"line":207,"column":7}},"82":{"start":{"line":203,"column":8},"end":{"line":206,"column":10}},"83":{"start":{"line":208,"column":6},"end":{"line":238,"column":7}},"84":{"start":{"line":209,"column":8},"end":{"line":236,"column":9}},"85":{"start":{"line":214,"column":31},"end":{"line":214,"column":52}},"86":{"start":{"line":215,"column":10},"end":{"line":235,"column":11}},"87":{"start":{"line":216,"column":30},"end":{"line":216,"column":58}},"88":{"start":{"line":217,"column":33},"end":{"line":217,"column":100}},"89":{"start":{"line":218,"column":12},"end":{"line":224,"column":15}},"90":{"start":{"line":225,"column":12},"end":{"line":229,"column":15}},"91":{"start":{"line":230,"column":44},"end":{"line":230,"column":130}},"92":{"start":{"line":231,"column":12},"end":{"line":231,"column":76}},"93":{"start":{"line":232,"column":12},"end":{"line":232,"column":58}},"94":{"start":{"line":233,"column":12},"end":{"line":233,"column":93}},"95":{"start":{"line":234,"column":12},"end":{"line":234,"column":52}},"96":{"start":{"line":237,"column":8},"end":{"line":237,"column":23}},"97":{"start":{"line":239,"column":6},"end":{"line":239,"column":47}},"98":{"start":{"line":241,"column":6},"end":{"line":241,"column":73}},"99":{"start":{"line":242,"column":6},"end":{"line":242,"column":30}},"100":{"start":{"line":243,"column":6},"end":{"line":246,"column":8}},"101":{"start":{"line":260,"column":34},"end":{"line":286,"column":4}},"102":{"start":{"line":261,"column":17},"end":{"line":261,"column":52}},"103":{"start":{"line":262,"column":4},"end":{"line":275,"column":5}},"104":{"start":{"line":263,"column":6},"end":{"line":266,"column":9}},"105":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"106":{"start":{"line":268,"column":8},"end":{"line":268,"column":49}},"107":{"start":{"line":271,"column":6},"end":{"line":274,"column":8}},"108":{"start":{"line":276,"column":4},"end":{"line":281,"column":6}},"109":{"start":{"line":288,"column":30},"end":{"line":291,"column":28}},"110":{"start":{"line":289,"column":20},"end":{"line":289,"column":49}},"111":{"start":{"line":290,"column":4},"end":{"line":290,"column":35}},"112":{"start":{"line":293,"column":29},"end":{"line":296,"column":28}},"113":{"start":{"line":294,"column":20},"end":{"line":294,"column":49}},"114":{"start":{"line":295,"column":4},"end":{"line":295,"column":51}},"115":{"start":{"line":298,"column":37},"end":{"line":309,"column":28}},"116":{"start":{"line":299,"column":20},"end":{"line":299,"column":49}},"117":{"start":{"line":300,"column":4},"end":{"line":308,"column":5}},"118":{"start":{"line":301,"column":24},"end":{"line":301,"column":52}},"119":{"start":{"line":302,"column":6},"end":{"line":304,"column":7}},"120":{"start":{"line":303,"column":8},"end":{"line":303,"column":20}},"121":{"start":{"line":305,"column":6},"end":{"line":305,"column":19}},"122":{"start":{"line":307,"column":6},"end":{"line":307,"column":19}},"123":{"start":{"line":311,"column":2},"end":{"line":327,"column":5}},"124":{"start":{"line":311,"column":24},"end":{"line":319,"column":3}}},"fnMap":{"0":{"name":"useGitHub","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":25}},"loc":{"start":{"line":29,"column":28},"end":{"line":328,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":43},"end":{"line":41,"column":44}},"loc":{"start":{"line":41,"column":106},"end":{"line":49,"column":3}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":37}},"loc":{"start":{"line":51,"column":48},"end":{"line":57,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":41},"end":{"line":59,"column":42}},"loc":{"start":{"line":59,"column":135},"end":{"line":123,"column":3}},"line":59},"4":{"name":"(anonymous_4)","decl":{"start":{"line":136,"column":40},"end":{"line":136,"column":41}},"loc":{"start":{"line":138,"column":110},"end":{"line":143,"column":3}},"line":138},"5":{"name":"(anonymous_5)","decl":{"start":{"line":145,"column":43},"end":{"line":145,"column":44}},"loc":{"start":{"line":145,"column":158},"end":{"line":180,"column":3}},"line":145},"6":{"name":"(anonymous_6)","decl":{"start":{"line":186,"column":43},"end":{"line":186,"column":44}},"loc":{"start":{"line":186,"column":110},"end":{"line":248,"column":3}},"line":186},"7":{"name":"(anonymous_7)","decl":{"start":{"line":260,"column":46},"end":{"line":260,"column":47}},"loc":{"start":{"line":260,"column":112},"end":{"line":282,"column":3}},"line":260},"8":{"name":"(anonymous_8)","decl":{"start":{"line":288,"column":42},"end":{"line":288,"column":43}},"loc":{"start":{"line":288,"column":80},"end":{"line":291,"column":3}},"line":288},"9":{"name":"(anonymous_9)","decl":{"start":{"line":293,"column":41},"end":{"line":293,"column":42}},"loc":{"start":{"line":293,"column":109},"end":{"line":296,"column":3}},"line":293},"10":{"name":"(anonymous_10)","decl":{"start":{"line":298,"column":49},"end":{"line":298,"column":50}},"loc":{"start":{"line":298,"column":105},"end":{"line":309,"column":3}},"line":298},"11":{"name":"(anonymous_11)","decl":{"start":{"line":311,"column":17},"end":{"line":311,"column":18}},"loc":{"start":{"line":311,"column":24},"end":{"line":319,"column":3}},"line":311}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":65},"end":{"line":43,"column":91}},"type":"binary-expr","locations":[{"start":{"line":43,"column":65},"end":{"line":43,"column":70}},{"start":{"line":43,"column":74},"end":{"line":43,"column":91}}],"line":43},"1":{"loc":{"start":{"line":43,"column":93},"end":{"line":43,"column":118}},"type":"binary-expr","locations":[{"start":{"line":43,"column":93},"end":{"line":43,"column":97}},{"start":{"line":43,"column":101},"end":{"line":43,"column":118}}],"line":43},"2":{"loc":{"start":{"line":43,"column":120},"end":{"line":43,"column":141}},"type":"binary-expr","locations":[{"start":{"line":43,"column":120},"end":{"line":43,"column":135}},{"start":{"line":43,"column":139},"end":{"line":43,"column":141}}],"line":43},"3":{"loc":{"start":{"line":45,"column":4},"end":{"line":45,"column":69}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":69}},{"start":{},"end":{}}],"line":45},"4":{"loc":{"start":{"line":46,"column":4},"end":{"line":46,"column":67}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":46,"column":67}},{"start":{},"end":{}}],"line":46},"5":{"loc":{"start":{"line":47,"column":4},"end":{"line":47,"column":51}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":47,"column":51}},{"start":{},"end":{}}],"line":47},"6":{"loc":{"start":{"line":63,"column":4},"end":{"line":115,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":115,"column":5}},{"start":{},"end":{}}],"line":63},"7":{"loc":{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},{"start":{},"end":{}}],"line":66},"8":{"loc":{"start":{"line":80,"column":76},"end":{"line":80,"column":106}},"type":"cond-expr","locations":[{"start":{"line":80,"column":88},"end":{"line":80,"column":101}},{"start":{"line":80,"column":104},"end":{"line":80,"column":106}}],"line":80},"9":{"loc":{"start":{"line":104,"column":8},"end":{"line":109,"column":9}},"type":"if","locations":[{"start":{"line":104,"column":8},"end":{"line":109,"column":9}},{"start":{},"end":{}}],"line":104},"10":{"loc":{"start":{"line":104,"column":12},"end":{"line":104,"column":92}},"type":"binary-expr","locations":[{"start":{"line":104,"column":12},"end":{"line":104,"column":30}},{"start":{"line":104,"column":34},"end":{"line":104,"column":92}}],"line":104},"11":{"loc":{"start":{"line":140,"column":4},"end":{"line":140,"column":71}},"type":"if","locations":[{"start":{"line":140,"column":4},"end":{"line":140,"column":71}},{"start":{},"end":{}}],"line":140},"12":{"loc":{"start":{"line":147,"column":4},"end":{"line":147,"column":71}},"type":"if","locations":[{"start":{"line":147,"column":4},"end":{"line":147,"column":71}},{"start":{},"end":{}}],"line":147},"13":{"loc":{"start":{"line":157,"column":6},"end":{"line":162,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":162,"column":7}},{"start":{},"end":{}}],"line":157},"14":{"loc":{"start":{"line":163,"column":6},"end":{"line":172,"column":7}},"type":"if","locations":[{"start":{"line":163,"column":6},"end":{"line":172,"column":7}},{"start":{},"end":{}}],"line":163},"15":{"loc":{"start":{"line":165,"column":64},"end":{"line":165,"column":126}},"type":"binary-expr","locations":[{"start":{"line":165,"column":64},"end":{"line":165,"column":95}},{"start":{"line":165,"column":99},"end":{"line":165,"column":126}}],"line":165},"16":{"loc":{"start":{"line":191,"column":6},"end":{"line":196,"column":7}},"type":"if","locations":[{"start":{"line":191,"column":6},"end":{"line":196,"column":7}},{"start":{},"end":{}}],"line":191},"17":{"loc":{"start":{"line":191,"column":10},"end":{"line":191,"column":45}},"type":"binary-expr","locations":[{"start":{"line":191,"column":10},"end":{"line":191,"column":22}},{"start":{"line":191,"column":26},"end":{"line":191,"column":45}}],"line":191},"18":{"loc":{"start":{"line":202,"column":6},"end":{"line":207,"column":7}},"type":"if","locations":[{"start":{"line":202,"column":6},"end":{"line":207,"column":7}},{"start":{},"end":{}}],"line":202},"19":{"loc":{"start":{"line":208,"column":6},"end":{"line":238,"column":7}},"type":"if","locations":[{"start":{"line":208,"column":6},"end":{"line":238,"column":7}},{"start":{},"end":{}}],"line":208},"20":{"loc":{"start":{"line":209,"column":8},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":209,"column":8},"end":{"line":236,"column":9}},{"start":{},"end":{}}],"line":209},"21":{"loc":{"start":{"line":210,"column":10},"end":{"line":212,"column":98}},"type":"binary-expr","locations":[{"start":{"line":210,"column":10},"end":{"line":210,"column":42}},{"start":{"line":211,"column":13},"end":{"line":211,"column":45}},{"start":{"line":212,"column":13},"end":{"line":212,"column":98}}],"line":210},"22":{"loc":{"start":{"line":212,"column":22},"end":{"line":212,"column":76}},"type":"binary-expr","locations":[{"start":{"line":212,"column":22},"end":{"line":212,"column":53}},{"start":{"line":212,"column":57},"end":{"line":212,"column":76}}],"line":212},"23":{"loc":{"start":{"line":215,"column":10},"end":{"line":235,"column":11}},"type":"if","locations":[{"start":{"line":215,"column":10},"end":{"line":235,"column":11}},{"start":{},"end":{}}],"line":215},"24":{"loc":{"start":{"line":233,"column":58},"end":{"line":233,"column":88}},"type":"cond-expr","locations":[{"start":{"line":233,"column":70},"end":{"line":233,"column":83}},{"start":{"line":233,"column":86},"end":{"line":233,"column":88}}],"line":233},"25":{"loc":{"start":{"line":262,"column":4},"end":{"line":275,"column":5}},"type":"if","locations":[{"start":{"line":262,"column":4},"end":{"line":275,"column":5}},{"start":{"line":270,"column":11},"end":{"line":275,"column":5}}],"line":262},"26":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{},"end":{}}],"line":267},"27":{"loc":{"start":{"line":278,"column":14},"end":{"line":278,"column":35}},"type":"binary-expr","locations":[{"start":{"line":278,"column":14},"end":{"line":278,"column":25}},{"start":{"line":278,"column":29},"end":{"line":278,"column":35}}],"line":278},"28":{"loc":{"start":{"line":279,"column":14},"end":{"line":279,"column":35}},"type":"binary-expr","locations":[{"start":{"line":279,"column":14},"end":{"line":279,"column":25}},{"start":{"line":279,"column":29},"end":{"line":279,"column":35}}],"line":279},"29":{"loc":{"start":{"line":302,"column":6},"end":{"line":304,"column":7}},"type":"if","locations":[{"start":{"line":302,"column":6},"end":{"line":304,"column":7}},{"start":{},"end":{}}],"line":302},"30":{"loc":{"start":{"line":302,"column":10},"end":{"line":302,"column":75}},"type":"binary-expr","locations":[{"start":{"line":302,"column":10},"end":{"line":302,"column":19}},{"start":{"line":302,"column":23},"end":{"line":302,"column":40}},{"start":{"line":302,"column":44},"end":{"line":302,"column":75}}],"line":302}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/github/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts","statementMap":{"0":{"start":{"line":6,"column":18},"end":{"line":6,"column":46}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":49}}},"fnMap":{"0":{"name":"getGitlabCreatePullRequestUrl","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":45}},"loc":{"start":{"line":5,"column":2},"end":{"line":9,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":46}},"type":"binary-expr","locations":[{"start":{"line":6,"column":18},"end":{"line":6,"column":22}},{"start":{"line":6,"column":26},"end":{"line":6,"column":46}}],"line":6}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/gitlab.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/gitlab.tsx","statementMap":{"0":{"start":{"line":31,"column":29},"end":{"line":42,"column":1}},"1":{"start":{"line":34,"column":6},"end":{"line":34,"column":13}},"2":{"start":{"line":35,"column":27},"end":{"line":35,"column":74}},"3":{"start":{"line":37,"column":24},"end":{"line":37,"column":136}},"4":{"start":{"line":38,"column":2},"end":{"line":38,"column":51}},"5":{"start":{"line":38,"column":16},"end":{"line":38,"column":51}},"6":{"start":{"line":39,"column":2},"end":{"line":39,"column":49}},"7":{"start":{"line":39,"column":14},"end":{"line":39,"column":49}},"8":{"start":{"line":40,"column":2},"end":{"line":40,"column":49}},"9":{"start":{"line":40,"column":17},"end":{"line":40,"column":49}},"10":{"start":{"line":41,"column":2},"end":{"line":41,"column":41}},"11":{"start":{"line":45,"column":17},"end":{"line":45,"column":44}},"12":{"start":{"line":46,"column":17},"end":{"line":46,"column":48}},"13":{"start":{"line":47,"column":24},"end":{"line":47,"column":79}},"14":{"start":{"line":48,"column":23},"end":{"line":48,"column":56}},"15":{"start":{"line":49,"column":22},"end":{"line":49,"column":54}},"16":{"start":{"line":50,"column":35},"end":{"line":50,"column":80}},"17":{"start":{"line":51,"column":20},"end":{"line":51,"column":34}},"18":{"start":{"line":52,"column":19},"end":{"line":52,"column":42}},"19":{"start":{"line":54,"column":22},"end":{"line":54,"column":34}},"20":{"start":{"line":55,"column":42},"end":{"line":55,"column":57}},"21":{"start":{"line":57,"column":31},"end":{"line":57,"column":61}},"22":{"start":{"line":59,"column":24},"end":{"line":65,"column":15}},"23":{"start":{"line":60,"column":26},"end":{"line":63,"column":6}},"24":{"start":{"line":64,"column":4},"end":{"line":64,"column":25}},"25":{"start":{"line":67,"column":29},"end":{"line":145,"column":4}},"26":{"start":{"line":68,"column":20},"end":{"line":68,"column":66}},"27":{"start":{"line":70,"column":4},"end":{"line":70,"column":54}},"28":{"start":{"line":72,"column":25},"end":{"line":72,"column":74}},"29":{"start":{"line":73,"column":4},"end":{"line":128,"column":5}},"30":{"start":{"line":74,"column":46},"end":{"line":74,"column":58}},"31":{"start":{"line":75,"column":6},"end":{"line":127,"column":7}},"32":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"33":{"start":{"line":76,"column":26},"end":{"line":76,"column":61}},"34":{"start":{"line":77,"column":25},"end":{"line":79,"column":9}},"35":{"start":{"line":80,"column":8},"end":{"line":87,"column":11}},"36":{"start":{"line":88,"column":33},"end":{"line":88,"column":68}},"37":{"start":{"line":89,"column":8},"end":{"line":89,"column":107}},"38":{"start":{"line":90,"column":8},"end":{"line":90,"column":137}},"39":{"start":{"line":91,"column":8},"end":{"line":97,"column":11}},"40":{"start":{"line":98,"column":8},"end":{"line":102,"column":11}},"41":{"start":{"line":103,"column":25},"end":{"line":103,"column":54}},"42":{"start":{"line":104,"column":8},"end":{"line":104,"column":51}},"43":{"start":{"line":105,"column":40},"end":{"line":105,"column":110}},"44":{"start":{"line":106,"column":8},"end":{"line":106,"column":72}},"45":{"start":{"line":107,"column":8},"end":{"line":107,"column":41}},"46":{"start":{"line":108,"column":8},"end":{"line":113,"column":10}},"47":{"start":{"line":115,"column":8},"end":{"line":115,"column":26}},"48":{"start":{"line":116,"column":8},"end":{"line":116,"column":50}},"49":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"50":{"start":{"line":118,"column":10},"end":{"line":121,"column":12}},"51":{"start":{"line":123,"column":8},"end":{"line":126,"column":10}},"52":{"start":{"line":129,"column":4},"end":{"line":132,"column":6}},"53":{"start":{"line":147,"column":28},"end":{"line":154,"column":49}},"54":{"start":{"line":150,"column":20},"end":{"line":150,"column":66}},"55":{"start":{"line":151,"column":4},"end":{"line":151,"column":71}},"56":{"start":{"line":151,"column":45},"end":{"line":151,"column":71}},"57":{"start":{"line":152,"column":27},"end":{"line":152,"column":51}},"58":{"start":{"line":153,"column":4},"end":{"line":153,"column":59}},"59":{"start":{"line":156,"column":31},"end":{"line":190,"column":58}},"60":{"start":{"line":157,"column":20},"end":{"line":157,"column":66}},"61":{"start":{"line":158,"column":4},"end":{"line":158,"column":71}},"62":{"start":{"line":158,"column":45},"end":{"line":158,"column":71}},"63":{"start":{"line":159,"column":4},"end":{"line":161,"column":7}},"64":{"start":{"line":163,"column":4},"end":{"line":188,"column":5}},"65":{"start":{"line":164,"column":22},"end":{"line":164,"column":46}},"66":{"start":{"line":165,"column":6},"end":{"line":170,"column":7}},"67":{"start":{"line":166,"column":8},"end":{"line":169,"column":10}},"68":{"start":{"line":172,"column":6},"end":{"line":181,"column":7}},"69":{"start":{"line":174,"column":29},"end":{"line":174,"column":127}},"70":{"start":{"line":175,"column":33},"end":{"line":175,"column":68}},"71":{"start":{"line":176,"column":8},"end":{"line":180,"column":10}},"72":{"start":{"line":183,"column":6},"end":{"line":183,"column":30}},"73":{"start":{"line":184,"column":6},"end":{"line":187,"column":8}},"74":{"start":{"line":189,"column":4},"end":{"line":189,"column":16}},"75":{"start":{"line":192,"column":31},"end":{"line":267,"column":4}},"76":{"start":{"line":193,"column":4},"end":{"line":253,"column":5}},"77":{"start":{"line":194,"column":22},"end":{"line":194,"column":68}},"78":{"start":{"line":195,"column":26},"end":{"line":195,"column":55}},"79":{"start":{"line":196,"column":6},"end":{"line":196,"column":52}},"80":{"start":{"line":198,"column":6},"end":{"line":203,"column":7}},"81":{"start":{"line":199,"column":8},"end":{"line":202,"column":10}},"82":{"start":{"line":205,"column":6},"end":{"line":205,"column":43}},"83":{"start":{"line":207,"column":22},"end":{"line":207,"column":46}},"84":{"start":{"line":208,"column":6},"end":{"line":213,"column":7}},"85":{"start":{"line":209,"column":8},"end":{"line":212,"column":10}},"86":{"start":{"line":214,"column":6},"end":{"line":244,"column":7}},"87":{"start":{"line":215,"column":8},"end":{"line":242,"column":9}},"88":{"start":{"line":220,"column":31},"end":{"line":220,"column":52}},"89":{"start":{"line":221,"column":10},"end":{"line":241,"column":11}},"90":{"start":{"line":222,"column":37},"end":{"line":222,"column":72}},"91":{"start":{"line":223,"column":33},"end":{"line":223,"column":100}},"92":{"start":{"line":224,"column":12},"end":{"line":230,"column":15}},"93":{"start":{"line":231,"column":12},"end":{"line":235,"column":15}},"94":{"start":{"line":236,"column":44},"end":{"line":236,"column":130}},"95":{"start":{"line":237,"column":12},"end":{"line":237,"column":76}},"96":{"start":{"line":238,"column":12},"end":{"line":238,"column":58}},"97":{"start":{"line":239,"column":12},"end":{"line":239,"column":119}},"98":{"start":{"line":240,"column":12},"end":{"line":240,"column":52}},"99":{"start":{"line":243,"column":8},"end":{"line":243,"column":23}},"100":{"start":{"line":245,"column":6},"end":{"line":245,"column":47}},"101":{"start":{"line":247,"column":6},"end":{"line":247,"column":73}},"102":{"start":{"line":248,"column":6},"end":{"line":248,"column":32}},"103":{"start":{"line":249,"column":6},"end":{"line":252,"column":8}},"104":{"start":{"line":269,"column":34},"end":{"line":303,"column":4}},"105":{"start":{"line":270,"column":27},"end":{"line":270,"column":47}},"106":{"start":{"line":271,"column":29},"end":{"line":271,"column":51}},"107":{"start":{"line":272,"column":4},"end":{"line":274,"column":5}},"108":{"start":{"line":273,"column":6},"end":{"line":273,"column":69}},"109":{"start":{"line":275,"column":17},"end":{"line":275,"column":52}},"110":{"start":{"line":277,"column":4},"end":{"line":292,"column":5}},"111":{"start":{"line":278,"column":6},"end":{"line":281,"column":9}},"112":{"start":{"line":282,"column":6},"end":{"line":284,"column":7}},"113":{"start":{"line":283,"column":8},"end":{"line":283,"column":49}},"114":{"start":{"line":287,"column":6},"end":{"line":287,"column":108}},"115":{"start":{"line":288,"column":6},"end":{"line":291,"column":8}},"116":{"start":{"line":293,"column":4},"end":{"line":298,"column":6}},"117":{"start":{"line":305,"column":30},"end":{"line":308,"column":39}},"118":{"start":{"line":306,"column":20},"end":{"line":306,"column":66}},"119":{"start":{"line":307,"column":4},"end":{"line":307,"column":35}},"120":{"start":{"line":310,"column":29},"end":{"line":313,"column":39}},"121":{"start":{"line":311,"column":20},"end":{"line":311,"column":66}},"122":{"start":{"line":312,"column":4},"end":{"line":312,"column":51}},"123":{"start":{"line":315,"column":37},"end":{"line":326,"column":39}},"124":{"start":{"line":316,"column":20},"end":{"line":316,"column":66}},"125":{"start":{"line":317,"column":4},"end":{"line":325,"column":5}},"126":{"start":{"line":318,"column":31},"end":{"line":318,"column":66}},"127":{"start":{"line":319,"column":6},"end":{"line":321,"column":7}},"128":{"start":{"line":320,"column":8},"end":{"line":320,"column":20}},"129":{"start":{"line":322,"column":6},"end":{"line":322,"column":19}},"130":{"start":{"line":324,"column":6},"end":{"line":324,"column":19}},"131":{"start":{"line":328,"column":2},"end":{"line":344,"column":5}},"132":{"start":{"line":328,"column":24},"end":{"line":336,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":29},"end":{"line":31,"column":30}},"loc":{"start":{"line":31,"column":87},"end":{"line":42,"column":1}},"line":31},"1":{"name":"useGitLab","decl":{"start":{"line":44,"column":16},"end":{"line":44,"column":25}},"loc":{"start":{"line":44,"column":28},"end":{"line":345,"column":1}},"line":44},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":36},"end":{"line":59,"column":37}},"loc":{"start":{"line":59,"column":48},"end":{"line":65,"column":3}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":41},"end":{"line":67,"column":42}},"loc":{"start":{"line":67,"column":135},"end":{"line":133,"column":3}},"line":67},"4":{"name":"(anonymous_4)","decl":{"start":{"line":147,"column":40},"end":{"line":147,"column":41}},"loc":{"start":{"line":149,"column":81},"end":{"line":154,"column":3}},"line":149},"5":{"name":"(anonymous_5)","decl":{"start":{"line":156,"column":43},"end":{"line":156,"column":44}},"loc":{"start":{"line":156,"column":158},"end":{"line":190,"column":3}},"line":156},"6":{"name":"(anonymous_6)","decl":{"start":{"line":192,"column":43},"end":{"line":192,"column":44}},"loc":{"start":{"line":192,"column":110},"end":{"line":254,"column":3}},"line":192},"7":{"name":"(anonymous_7)","decl":{"start":{"line":269,"column":46},"end":{"line":269,"column":47}},"loc":{"start":{"line":269,"column":112},"end":{"line":299,"column":3}},"line":269},"8":{"name":"(anonymous_8)","decl":{"start":{"line":305,"column":42},"end":{"line":305,"column":43}},"loc":{"start":{"line":305,"column":80},"end":{"line":308,"column":3}},"line":305},"9":{"name":"(anonymous_9)","decl":{"start":{"line":310,"column":41},"end":{"line":310,"column":42}},"loc":{"start":{"line":310,"column":115},"end":{"line":313,"column":3}},"line":310},"10":{"name":"(anonymous_10)","decl":{"start":{"line":315,"column":49},"end":{"line":315,"column":50}},"loc":{"start":{"line":315,"column":105},"end":{"line":326,"column":3}},"line":315},"11":{"name":"(anonymous_11)","decl":{"start":{"line":328,"column":17},"end":{"line":328,"column":18}},"loc":{"start":{"line":328,"column":24},"end":{"line":336,"column":3}},"line":328}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":92},"end":{"line":37,"column":105}},"type":"binary-expr","locations":[{"start":{"line":37,"column":92},"end":{"line":37,"column":99}},{"start":{"line":37,"column":103},"end":{"line":37,"column":105}}],"line":37},"1":{"loc":{"start":{"line":38,"column":2},"end":{"line":38,"column":51}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":38,"column":51}},{"start":{},"end":{}}],"line":38},"2":{"loc":{"start":{"line":39,"column":2},"end":{"line":39,"column":49}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":39,"column":49}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":40,"column":49}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":40,"column":49}},{"start":{},"end":{}}],"line":40},"4":{"loc":{"start":{"line":73,"column":4},"end":{"line":128,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":128,"column":5}},{"start":{},"end":{}}],"line":73},"5":{"loc":{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":76,"column":61}},{"start":{},"end":{}}],"line":76},"6":{"loc":{"start":{"line":90,"column":76},"end":{"line":90,"column":132}},"type":"cond-expr","locations":[{"start":{"line":90,"column":95},"end":{"line":90,"column":127}},{"start":{"line":90,"column":130},"end":{"line":90,"column":132}}],"line":90},"7":{"loc":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},{"start":{},"end":{}}],"line":117},"8":{"loc":{"start":{"line":151,"column":4},"end":{"line":151,"column":71}},"type":"if","locations":[{"start":{"line":151,"column":4},"end":{"line":151,"column":71}},{"start":{},"end":{}}],"line":151},"9":{"loc":{"start":{"line":158,"column":4},"end":{"line":158,"column":71}},"type":"if","locations":[{"start":{"line":158,"column":4},"end":{"line":158,"column":71}},{"start":{},"end":{}}],"line":158},"10":{"loc":{"start":{"line":165,"column":6},"end":{"line":170,"column":7}},"type":"if","locations":[{"start":{"line":165,"column":6},"end":{"line":170,"column":7}},{"start":{},"end":{}}],"line":165},"11":{"loc":{"start":{"line":172,"column":6},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":172,"column":6},"end":{"line":181,"column":7}},{"start":{},"end":{}}],"line":172},"12":{"loc":{"start":{"line":174,"column":64},"end":{"line":174,"column":126}},"type":"binary-expr","locations":[{"start":{"line":174,"column":64},"end":{"line":174,"column":95}},{"start":{"line":174,"column":99},"end":{"line":174,"column":126}}],"line":174},"13":{"loc":{"start":{"line":179,"column":14},"end":{"line":179,"column":70}},"type":"cond-expr","locations":[{"start":{"line":179,"column":33},"end":{"line":179,"column":65}},{"start":{"line":179,"column":68},"end":{"line":179,"column":70}}],"line":179},"14":{"loc":{"start":{"line":198,"column":6},"end":{"line":203,"column":7}},"type":"if","locations":[{"start":{"line":198,"column":6},"end":{"line":203,"column":7}},{"start":{},"end":{}}],"line":198},"15":{"loc":{"start":{"line":198,"column":10},"end":{"line":198,"column":45}},"type":"binary-expr","locations":[{"start":{"line":198,"column":10},"end":{"line":198,"column":22}},{"start":{"line":198,"column":26},"end":{"line":198,"column":45}}],"line":198},"16":{"loc":{"start":{"line":208,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":208,"column":6},"end":{"line":213,"column":7}},{"start":{},"end":{}}],"line":208},"17":{"loc":{"start":{"line":214,"column":6},"end":{"line":244,"column":7}},"type":"if","locations":[{"start":{"line":214,"column":6},"end":{"line":244,"column":7}},{"start":{},"end":{}}],"line":214},"18":{"loc":{"start":{"line":215,"column":8},"end":{"line":242,"column":9}},"type":"if","locations":[{"start":{"line":215,"column":8},"end":{"line":242,"column":9}},{"start":{},"end":{}}],"line":215},"19":{"loc":{"start":{"line":216,"column":10},"end":{"line":218,"column":98}},"type":"binary-expr","locations":[{"start":{"line":216,"column":10},"end":{"line":216,"column":42}},{"start":{"line":217,"column":13},"end":{"line":217,"column":45}},{"start":{"line":218,"column":13},"end":{"line":218,"column":98}}],"line":216},"20":{"loc":{"start":{"line":218,"column":22},"end":{"line":218,"column":76}},"type":"binary-expr","locations":[{"start":{"line":218,"column":22},"end":{"line":218,"column":53}},{"start":{"line":218,"column":57},"end":{"line":218,"column":76}}],"line":218},"21":{"loc":{"start":{"line":221,"column":10},"end":{"line":241,"column":11}},"type":"if","locations":[{"start":{"line":221,"column":10},"end":{"line":241,"column":11}},{"start":{},"end":{}}],"line":221},"22":{"loc":{"start":{"line":239,"column":58},"end":{"line":239,"column":114}},"type":"cond-expr","locations":[{"start":{"line":239,"column":77},"end":{"line":239,"column":109}},{"start":{"line":239,"column":112},"end":{"line":239,"column":114}}],"line":239},"23":{"loc":{"start":{"line":272,"column":4},"end":{"line":274,"column":5}},"type":"if","locations":[{"start":{"line":272,"column":4},"end":{"line":274,"column":5}},{"start":{},"end":{}}],"line":272},"24":{"loc":{"start":{"line":277,"column":4},"end":{"line":292,"column":5}},"type":"if","locations":[{"start":{"line":277,"column":4},"end":{"line":292,"column":5}},{"start":{"line":285,"column":11},"end":{"line":292,"column":5}}],"line":277},"25":{"loc":{"start":{"line":282,"column":6},"end":{"line":284,"column":7}},"type":"if","locations":[{"start":{"line":282,"column":6},"end":{"line":284,"column":7}},{"start":{},"end":{}}],"line":282},"26":{"loc":{"start":{"line":295,"column":14},"end":{"line":295,"column":35}},"type":"binary-expr","locations":[{"start":{"line":295,"column":14},"end":{"line":295,"column":25}},{"start":{"line":295,"column":29},"end":{"line":295,"column":35}}],"line":295},"27":{"loc":{"start":{"line":296,"column":14},"end":{"line":296,"column":35}},"type":"binary-expr","locations":[{"start":{"line":296,"column":14},"end":{"line":296,"column":25}},{"start":{"line":296,"column":29},"end":{"line":296,"column":35}}],"line":296},"28":{"loc":{"start":{"line":319,"column":6},"end":{"line":321,"column":7}},"type":"if","locations":[{"start":{"line":319,"column":6},"end":{"line":321,"column":7}},{"start":{},"end":{}}],"line":319},"29":{"loc":{"start":{"line":319,"column":10},"end":{"line":319,"column":113}},"type":"binary-expr","locations":[{"start":{"line":319,"column":10},"end":{"line":319,"column":28}},{"start":{"line":319,"column":32},"end":{"line":319,"column":52}},{"start":{"line":319,"column":56},"end":{"line":319,"column":113}}],"line":319}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/gitlab/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/getSupernovaOpenCloud.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/getSupernovaOpenCloud.ts","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":3,"column":45}}},"fnMap":{"0":{"name":"getSupernovaOpenCloud","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":37}},"loc":{"start":{"line":2,"column":63},"end":{"line":4,"column":1}},"line":2}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":9},"end":{"line":3,"column":44}},"type":"binary-expr","locations":[{"start":{"line":3,"column":9},"end":{"line":3,"column":12}},{"start":{"line":3,"column":16},"end":{"line":3,"column":44}}],"line":3}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/supernova.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/supernova/supernova.tsx","statementMap":{"0":{"start":{"line":30,"column":17},"end":{"line":30,"column":44}},"1":{"start":{"line":31,"column":22},"end":{"line":31,"column":54}},"2":{"start":{"line":32,"column":17},"end":{"line":32,"column":48}},"3":{"start":{"line":33,"column":23},"end":{"line":33,"column":56}},"4":{"start":{"line":34,"column":35},"end":{"line":34,"column":80}},"5":{"start":{"line":35,"column":19},"end":{"line":35,"column":42}},"6":{"start":{"line":36,"column":24},"end":{"line":36,"column":58}},"7":{"start":{"line":37,"column":42},"end":{"line":37,"column":57}},"8":{"start":{"line":39,"column":31},"end":{"line":42,"column":8}},"9":{"start":{"line":40,"column":26},"end":{"line":40,"column":109}},"10":{"start":{"line":41,"column":4},"end":{"line":41,"column":25}},"11":{"start":{"line":44,"column":32},"end":{"line":117,"column":3}},"12":{"start":{"line":46,"column":22},"end":{"line":46,"column":57}},"13":{"start":{"line":48,"column":6},"end":{"line":48,"column":56}},"14":{"start":{"line":49,"column":27},"end":{"line":49,"column":76}},"15":{"start":{"line":50,"column":6},"end":{"line":114,"column":7}},"16":{"start":{"line":51,"column":8},"end":{"line":106,"column":9}},"17":{"start":{"line":52,"column":27},"end":{"line":54,"column":11}},"18":{"start":{"line":55,"column":10},"end":{"line":64,"column":12}},"19":{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},"20":{"start":{"line":66,"column":10},"end":{"line":66,"column":54}},"21":{"start":{"line":67,"column":10},"end":{"line":73,"column":13}},"22":{"start":{"line":74,"column":10},"end":{"line":78,"column":13}},"23":{"start":{"line":79,"column":42},"end":{"line":79,"column":112}},"24":{"start":{"line":80,"column":10},"end":{"line":80,"column":74}},"25":{"start":{"line":81,"column":10},"end":{"line":81,"column":43}},"26":{"start":{"line":82,"column":10},"end":{"line":87,"column":12}},"27":{"start":{"line":89,"column":10},"end":{"line":89,"column":28}},"28":{"start":{"line":91,"column":10},"end":{"line":101,"column":11}},"29":{"start":{"line":92,"column":34},"end":{"line":92,"column":64}},"30":{"start":{"line":93,"column":12},"end":{"line":98,"column":13}},"31":{"start":{"line":94,"column":14},"end":{"line":97,"column":16}},"32":{"start":{"line":100,"column":12},"end":{"line":100,"column":29}},"33":{"start":{"line":102,"column":10},"end":{"line":105,"column":12}},"34":{"start":{"line":108,"column":8},"end":{"line":113,"column":10}},"35":{"start":{"line":119,"column":34},"end":{"line":148,"column":4}},"36":{"start":{"line":120,"column":20},"end":{"line":120,"column":49}},"37":{"start":{"line":122,"column":4},"end":{"line":144,"column":5}},"38":{"start":{"line":123,"column":22},"end":{"line":123,"column":46}},"39":{"start":{"line":124,"column":6},"end":{"line":129,"column":7}},"40":{"start":{"line":125,"column":8},"end":{"line":128,"column":10}},"41":{"start":{"line":130,"column":6},"end":{"line":138,"column":7}},"42":{"start":{"line":132,"column":29},"end":{"line":132,"column":127}},"43":{"start":{"line":134,"column":8},"end":{"line":137,"column":10}},"44":{"start":{"line":140,"column":6},"end":{"line":143,"column":8}},"45":{"start":{"line":145,"column":4},"end":{"line":145,"column":16}},"46":{"start":{"line":151,"column":34},"end":{"line":164,"column":3}},"47":{"start":{"line":153,"column":6},"end":{"line":161,"column":7}},"48":{"start":{"line":154,"column":8},"end":{"line":154,"column":61}},"49":{"start":{"line":156,"column":8},"end":{"line":156,"column":87}},"50":{"start":{"line":157,"column":8},"end":{"line":160,"column":10}},"51":{"start":{"line":166,"column":37},"end":{"line":197,"column":3}},"52":{"start":{"line":168,"column":19},"end":{"line":168,"column":57}},"53":{"start":{"line":169,"column":6},"end":{"line":174,"column":7}},"54":{"start":{"line":170,"column":8},"end":{"line":173,"column":10}},"55":{"start":{"line":175,"column":6},"end":{"line":188,"column":7}},"56":{"start":{"line":176,"column":8},"end":{"line":179,"column":11}},"57":{"start":{"line":180,"column":8},"end":{"line":182,"column":9}},"58":{"start":{"line":181,"column":10},"end":{"line":181,"column":51}},"59":{"start":{"line":184,"column":8},"end":{"line":187,"column":10}},"60":{"start":{"line":189,"column":6},"end":{"line":194,"column":8}},"61":{"start":{"line":199,"column":2},"end":{"line":207,"column":4}},"62":{"start":{"line":200,"column":11},"end":{"line":205,"column":5}}},"fnMap":{"0":{"name":"useSupernova","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":28}},"loc":{"start":{"line":29,"column":31},"end":{"line":208,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":43},"end":{"line":39,"column":44}},"loc":{"start":{"line":39,"column":78},"end":{"line":42,"column":3}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":101},"end":{"line":115,"column":5}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":119,"column":46},"end":{"line":119,"column":47}},"loc":{"start":{"line":119,"column":123},"end":{"line":146,"column":3}},"line":119},"4":{"name":"(anonymous_4)","decl":{"start":{"line":152,"column":4},"end":{"line":152,"column":5}},"loc":{"start":{"line":152,"column":74},"end":{"line":162,"column":5}},"line":152},"5":{"name":"(anonymous_5)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":167,"column":73},"end":{"line":195,"column":5}},"line":167},"6":{"name":"(anonymous_6)","decl":{"start":{"line":200,"column":4},"end":{"line":200,"column":5}},"loc":{"start":{"line":200,"column":11},"end":{"line":205,"column":5}},"line":200}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":6},"end":{"line":114,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":114,"column":7}},{"start":{"line":107,"column":13},"end":{"line":114,"column":7}}],"line":50},"1":{"loc":{"start":{"line":93,"column":12},"end":{"line":98,"column":13}},"type":"if","locations":[{"start":{"line":93,"column":12},"end":{"line":98,"column":13}},{"start":{},"end":{}}],"line":93},"2":{"loc":{"start":{"line":124,"column":6},"end":{"line":129,"column":7}},"type":"if","locations":[{"start":{"line":124,"column":6},"end":{"line":129,"column":7}},{"start":{},"end":{}}],"line":124},"3":{"loc":{"start":{"line":130,"column":6},"end":{"line":138,"column":7}},"type":"if","locations":[{"start":{"line":130,"column":6},"end":{"line":138,"column":7}},{"start":{},"end":{}}],"line":130},"4":{"loc":{"start":{"line":132,"column":64},"end":{"line":132,"column":126}},"type":"binary-expr","locations":[{"start":{"line":132,"column":64},"end":{"line":132,"column":95}},{"start":{"line":132,"column":99},"end":{"line":132,"column":126}}],"line":132},"5":{"loc":{"start":{"line":169,"column":6},"end":{"line":174,"column":7}},"type":"if","locations":[{"start":{"line":169,"column":6},"end":{"line":174,"column":7}},{"start":{},"end":{}}],"line":169},"6":{"loc":{"start":{"line":175,"column":6},"end":{"line":188,"column":7}},"type":"if","locations":[{"start":{"line":175,"column":6},"end":{"line":188,"column":7}},{"start":{"line":183,"column":13},"end":{"line":188,"column":7}}],"line":175},"7":{"loc":{"start":{"line":180,"column":8},"end":{"line":182,"column":9}},"type":"if","locations":[{"start":{"line":180,"column":8},"end":{"line":182,"column":9}},{"start":{},"end":{}}],"line":180},"8":{"loc":{"start":{"line":191,"column":16},"end":{"line":191,"column":37}},"type":"binary-expr","locations":[{"start":{"line":191,"column":16},"end":{"line":191,"column":27}},{"start":{"line":191,"column":31},"end":{"line":191,"column":37}}],"line":191},"9":{"loc":{"start":{"line":192,"column":16},"end":{"line":192,"column":37}},"type":"binary-expr","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":27}},{"start":{"line":192,"column":31},"end":{"line":192,"column":37}}],"line":192}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/tokensStudio.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/providers/tokens-studio/tokensStudio.tsx","statementMap":{"0":{"start":{"line":52,"column":25},"end":{"line":60,"column":1}},"1":{"start":{"line":53,"column":2},"end":{"line":56,"column":3}},"2":{"start":{"line":54,"column":4},"end":{"line":54,"column":98}},"3":{"start":{"line":55,"column":4},"end":{"line":55,"column":31}},"4":{"start":{"line":58,"column":2},"end":{"line":58,"column":76}},"5":{"start":{"line":59,"column":2},"end":{"line":59,"column":29}},"6":{"start":{"line":62,"column":34},"end":{"line":73,"column":1}},"7":{"start":{"line":65,"column":24},"end":{"line":65,"column":49}},"8":{"start":{"line":67,"column":2},"end":{"line":72,"column":5}},"9":{"start":{"line":76,"column":17},"end":{"line":76,"column":44}},"10":{"start":{"line":77,"column":22},"end":{"line":77,"column":54}},"11":{"start":{"line":78,"column":17},"end":{"line":78,"column":48}},"12":{"start":{"line":79,"column":23},"end":{"line":79,"column":56}},"13":{"start":{"line":80,"column":35},"end":{"line":80,"column":80}},"14":{"start":{"line":81,"column":19},"end":{"line":81,"column":42}},"15":{"start":{"line":82,"column":24},"end":{"line":82,"column":58}},"16":{"start":{"line":83,"column":42},"end":{"line":83,"column":57}},"17":{"start":{"line":85,"column":31},"end":{"line":88,"column":8}},"18":{"start":{"line":86,"column":26},"end":{"line":86,"column":51}},"19":{"start":{"line":87,"column":4},"end":{"line":87,"column":25}},"20":{"start":{"line":90,"column":35},"end":{"line":162,"column":3}},"21":{"start":{"line":92,"column":22},"end":{"line":92,"column":57}},"22":{"start":{"line":94,"column":6},"end":{"line":94,"column":56}},"23":{"start":{"line":95,"column":27},"end":{"line":95,"column":76}},"24":{"start":{"line":96,"column":6},"end":{"line":148,"column":7}},"25":{"start":{"line":97,"column":8},"end":{"line":140,"column":9}},"26":{"start":{"line":98,"column":27},"end":{"line":100,"column":11}},"27":{"start":{"line":101,"column":10},"end":{"line":110,"column":12}},"28":{"start":{"line":111,"column":10},"end":{"line":111,"column":93}},"29":{"start":{"line":112,"column":10},"end":{"line":112,"column":54}},"30":{"start":{"line":113,"column":10},"end":{"line":119,"column":13}},"31":{"start":{"line":120,"column":10},"end":{"line":124,"column":13}},"32":{"start":{"line":125,"column":42},"end":{"line":125,"column":112}},"33":{"start":{"line":126,"column":10},"end":{"line":126,"column":74}},"34":{"start":{"line":127,"column":10},"end":{"line":127,"column":43}},"35":{"start":{"line":128,"column":10},"end":{"line":133,"column":12}},"36":{"start":{"line":135,"column":10},"end":{"line":135,"column":28}},"37":{"start":{"line":136,"column":10},"end":{"line":139,"column":12}},"38":{"start":{"line":142,"column":8},"end":{"line":147,"column":10}},"39":{"start":{"line":164,"column":37},"end":{"line":195,"column":3}},"40":{"start":{"line":166,"column":22},"end":{"line":166,"column":51}},"41":{"start":{"line":168,"column":6},"end":{"line":191,"column":7}},"42":{"start":{"line":169,"column":24},"end":{"line":169,"column":48}},"43":{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},"44":{"start":{"line":171,"column":10},"end":{"line":174,"column":12}},"45":{"start":{"line":176,"column":8},"end":{"line":185,"column":9}},"46":{"start":{"line":177,"column":31},"end":{"line":180,"column":11}},"47":{"start":{"line":181,"column":10},"end":{"line":184,"column":12}},"48":{"start":{"line":187,"column":8},"end":{"line":190,"column":10}},"49":{"start":{"line":192,"column":6},"end":{"line":192,"column":18}},"50":{"start":{"line":197,"column":37},"end":{"line":229,"column":3}},"51":{"start":{"line":199,"column":6},"end":{"line":226,"column":7}},"52":{"start":{"line":200,"column":24},"end":{"line":200,"column":53}},"53":{"start":{"line":201,"column":21},"end":{"line":201,"column":45}},"54":{"start":{"line":203,"column":8},"end":{"line":205,"column":9}},"55":{"start":{"line":204,"column":10},"end":{"line":204,"column":46}},"56":{"start":{"line":206,"column":8},"end":{"line":211,"column":11}},"57":{"start":{"line":212,"column":8},"end":{"line":212,"column":54}},"58":{"start":{"line":213,"column":8},"end":{"line":218,"column":10}},"59":{"start":{"line":220,"column":8},"end":{"line":220,"column":61}},"60":{"start":{"line":221,"column":8},"end":{"line":221,"column":91}},"61":{"start":{"line":222,"column":8},"end":{"line":225,"column":10}},"62":{"start":{"line":231,"column":40},"end":{"line":253,"column":3}},"63":{"start":{"line":233,"column":19},"end":{"line":233,"column":60}},"64":{"start":{"line":234,"column":6},"end":{"line":239,"column":7}},"65":{"start":{"line":235,"column":8},"end":{"line":238,"column":10}},"66":{"start":{"line":241,"column":6},"end":{"line":244,"column":9}},"67":{"start":{"line":245,"column":6},"end":{"line":250,"column":8}},"68":{"start":{"line":255,"column":2},"end":{"line":263,"column":4}},"69":{"start":{"line":256,"column":11},"end":{"line":261,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":52,"column":25},"end":{"line":52,"column":26}},"loc":{"start":{"line":52,"column":63},"end":{"line":60,"column":1}},"line":52},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":34},"end":{"line":62,"column":35}},"loc":{"start":{"line":64,"column":26},"end":{"line":73,"column":1}},"line":64},"2":{"name":"useTokensStudio","decl":{"start":{"line":75,"column":16},"end":{"line":75,"column":31}},"loc":{"start":{"line":75,"column":34},"end":{"line":264,"column":1}},"line":75},"3":{"name":"(anonymous_3)","decl":{"start":{"line":85,"column":43},"end":{"line":85,"column":44}},"loc":{"start":{"line":85,"column":81},"end":{"line":88,"column":3}},"line":85},"4":{"name":"(anonymous_4)","decl":{"start":{"line":91,"column":4},"end":{"line":91,"column":5}},"loc":{"start":{"line":91,"column":104},"end":{"line":149,"column":5}},"line":91},"5":{"name":"(anonymous_5)","decl":{"start":{"line":165,"column":4},"end":{"line":165,"column":5}},"loc":{"start":{"line":165,"column":84},"end":{"line":193,"column":5}},"line":165},"6":{"name":"(anonymous_6)","decl":{"start":{"line":198,"column":4},"end":{"line":198,"column":5}},"loc":{"start":{"line":198,"column":77},"end":{"line":227,"column":5}},"line":198},"7":{"name":"(anonymous_7)","decl":{"start":{"line":232,"column":4},"end":{"line":232,"column":5}},"loc":{"start":{"line":232,"column":76},"end":{"line":251,"column":5}},"line":232},"8":{"name":"(anonymous_8)","decl":{"start":{"line":256,"column":4},"end":{"line":256,"column":5}},"loc":{"start":{"line":256,"column":11},"end":{"line":261,"column":5}},"line":256}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":2},"end":{"line":56,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":56,"column":3}},{"start":{},"end":{}}],"line":53},"1":{"loc":{"start":{"line":96,"column":6},"end":{"line":148,"column":7}},"type":"if","locations":[{"start":{"line":96,"column":6},"end":{"line":148,"column":7}},{"start":{"line":141,"column":13},"end":{"line":148,"column":7}}],"line":96},"2":{"loc":{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},"type":"if","locations":[{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},{"start":{},"end":{}}],"line":170},"3":{"loc":{"start":{"line":176,"column":8},"end":{"line":185,"column":9}},"type":"if","locations":[{"start":{"line":176,"column":8},"end":{"line":185,"column":9}},{"start":{},"end":{}}],"line":176},"4":{"loc":{"start":{"line":179,"column":12},"end":{"line":179,"column":74}},"type":"binary-expr","locations":[{"start":{"line":179,"column":12},"end":{"line":179,"column":43}},{"start":{"line":179,"column":47},"end":{"line":179,"column":74}}],"line":179},"5":{"loc":{"start":{"line":203,"column":8},"end":{"line":205,"column":9}},"type":"if","locations":[{"start":{"line":203,"column":8},"end":{"line":205,"column":9}},{"start":{},"end":{}}],"line":203},"6":{"loc":{"start":{"line":203,"column":12},"end":{"line":203,"column":46}},"type":"binary-expr","locations":[{"start":{"line":203,"column":12},"end":{"line":203,"column":17}},{"start":{"line":203,"column":21},"end":{"line":203,"column":46}}],"line":203},"7":{"loc":{"start":{"line":217,"column":20},"end":{"line":217,"column":39}},"type":"binary-expr","locations":[{"start":{"line":217,"column":20},"end":{"line":217,"column":33}},{"start":{"line":217,"column":37},"end":{"line":217,"column":39}}],"line":217},"8":{"loc":{"start":{"line":234,"column":6},"end":{"line":239,"column":7}},"type":"if","locations":[{"start":{"line":234,"column":6},"end":{"line":239,"column":7}},{"start":{},"end":{}}],"line":234},"9":{"loc":{"start":{"line":234,"column":10},"end":{"line":234,"column":44}},"type":"binary-expr","locations":[{"start":{"line":234,"column":10},"end":{"line":234,"column":15}},{"start":{"line":234,"column":19},"end":{"line":234,"column":44}}],"line":234},"10":{"loc":{"start":{"line":247,"column":16},"end":{"line":247,"column":37}},"type":"binary-expr","locations":[{"start":{"line":247,"column":16},"end":{"line":247,"column":27}},{"start":{"line":247,"column":31},"end":{"line":247,"column":37}}],"line":247},"11":{"loc":{"start":{"line":248,"column":16},"end":{"line":248,"column":37}},"type":"binary-expr","locations":[{"start":{"line":248,"column":16},"end":{"line":248,"column":27}},{"start":{"line":248,"column":31},"end":{"line":248,"column":37}}],"line":248}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateAliasesInState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateAliasesInState.ts","statementMap":{"0":{"start":{"line":7,"column":32},"end":{"line":7,"column":34}},"1":{"start":{"line":8,"column":24},"end":{"line":73,"column":3}},"2":{"start":{"line":10,"column":24},"end":{"line":67,"column":8}},"3":{"start":{"line":11,"column":8},"end":{"line":66,"column":9}},"4":{"start":{"line":13,"column":27},"end":{"line":13,"column":52}},"5":{"start":{"line":15,"column":10},"end":{"line":17,"column":11}},"6":{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},"7":{"start":{"line":16,"column":44},"end":{"line":16,"column":66}},"8":{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},"9":{"start":{"line":21,"column":34},"end":{"line":24,"column":19}},"10":{"start":{"line":21,"column":60},"end":{"line":24,"column":18}},"11":{"start":{"line":22,"column":14},"end":{"line":22,"column":81}},"12":{"start":{"line":23,"column":14},"end":{"line":23,"column":23}},"13":{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},"14":{"start":{"line":27,"column":14},"end":{"line":27,"column":68}},"15":{"start":{"line":27,"column":46},"end":{"line":27,"column":68}},"16":{"start":{"line":30,"column":12},"end":{"line":33,"column":29}},"17":{"start":{"line":37,"column":10},"end":{"line":51,"column":11}},"18":{"start":{"line":38,"column":34},"end":{"line":41,"column":18}},"19":{"start":{"line":39,"column":14},"end":{"line":39,"column":81}},"20":{"start":{"line":40,"column":14},"end":{"line":40,"column":23}},"21":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"22":{"start":{"line":44,"column":14},"end":{"line":44,"column":68}},"23":{"start":{"line":44,"column":46},"end":{"line":44,"column":68}},"24":{"start":{"line":47,"column":12},"end":{"line":50,"column":29}},"25":{"start":{"line":53,"column":27},"end":{"line":53,"column":99}},"26":{"start":{"line":54,"column":10},"end":{"line":56,"column":11}},"27":{"start":{"line":55,"column":12},"end":{"line":55,"column":66}},"28":{"start":{"line":55,"column":44},"end":{"line":55,"column":66}},"29":{"start":{"line":59,"column":10},"end":{"line":62,"column":27}},"30":{"start":{"line":64,"column":10},"end":{"line":64,"column":27}},"31":{"start":{"line":65,"column":10},"end":{"line":65,"column":23}},"32":{"start":{"line":69,"column":6},"end":{"line":69,"column":27}},"33":{"start":{"line":70,"column":6},"end":{"line":70,"column":17}},"34":{"start":{"line":74,"column":2},"end":{"line":74,"column":40}}},"fnMap":{"0":{"name":"updateAliasesInState","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":36}},"loc":{"start":{"line":6,"column":96},"end":{"line":75,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":28},"end":{"line":71,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":48},"end":{"line":10,"column":49}},"loc":{"start":{"line":10,"column":59},"end":{"line":67,"column":7}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":53},"end":{"line":21,"column":54}},"loc":{"start":{"line":21,"column":60},"end":{"line":24,"column":18}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":118},"end":{"line":21,"column":119}},"loc":{"start":{"line":21,"column":133},"end":{"line":24,"column":13}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":105},"end":{"line":38,"column":106}},"loc":{"start":{"line":38,"column":120},"end":{"line":41,"column":13}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":10},"end":{"line":17,"column":11}},"type":"if","locations":[{"start":{"line":15,"column":10},"end":{"line":17,"column":11}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},"type":"if","locations":[{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},{"start":{},"end":{}}],"line":16},"2":{"loc":{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},"type":"if","locations":[{"start":{"line":20,"column":10},"end":{"line":34,"column":11}},{"start":{},"end":{}}],"line":20},"3":{"loc":{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":27,"column":14},"end":{"line":27,"column":68}},"type":"if","locations":[{"start":{"line":27,"column":14},"end":{"line":27,"column":68}},{"start":{},"end":{}}],"line":27},"5":{"loc":{"start":{"line":37,"column":10},"end":{"line":51,"column":11}},"type":"if","locations":[{"start":{"line":37,"column":10},"end":{"line":51,"column":11}},{"start":{},"end":{}}],"line":37},"6":{"loc":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"type":"if","locations":[{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},{"start":{},"end":{}}],"line":43},"7":{"loc":{"start":{"line":44,"column":14},"end":{"line":44,"column":68}},"type":"if","locations":[{"start":{"line":44,"column":14},"end":{"line":44,"column":68}},{"start":{},"end":{}}],"line":44},"8":{"loc":{"start":{"line":54,"column":10},"end":{"line":56,"column":11}},"type":"if","locations":[{"start":{"line":54,"column":10},"end":{"line":56,"column":11}},{"start":{},"end":{}}],"line":54},"9":{"loc":{"start":{"line":55,"column":12},"end":{"line":55,"column":66}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":55,"column":66}},{"start":{},"end":{}}],"line":55}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateModify.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/app/store/utils/updateModify.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":107}},"1":{"start":{"line":5,"column":94},"end":{"line":5,"column":107}},"2":{"start":{"line":7,"column":22},"end":{"line":7,"column":66}},"3":{"start":{"line":8,"column":2},"end":{"line":16,"column":3}},"4":{"start":{"line":9,"column":4},"end":{"line":15,"column":28}},"5":{"start":{"line":10,"column":6},"end":{"line":13,"column":8}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":20}},"7":{"start":{"line":18,"column":2},"end":{"line":27,"column":19}}},"fnMap":{"0":{"name":"updateModify","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":70},"end":{"line":28,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":102},"end":{"line":9,"column":103}},"loc":{"start":{"line":9,"column":138},"end":{"line":15,"column":5}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":107}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":107}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":5,"column":6},"end":{"line":5,"column":92}},"type":"binary-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":5,"column":43}},{"start":{"line":5,"column":47},"end":{"line":5,"column":92}}],"line":5},"2":{"loc":{"start":{"line":8,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":8},"3":{"loc":{"start":{"line":8,"column":6},"end":{"line":8,"column":143}},"type":"binary-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":42}},{"start":{"line":8,"column":46},"end":{"line":8,"column":90}},{"start":{"line":8,"column":94},"end":{"line":8,"column":143}}],"line":8},"4":{"loc":{"start":{"line":24,"column":12},"end":{"line":24,"column":61}},"type":"binary-expr","locations":[{"start":{"line":24,"column":12},"end":{"line":24,"column":25}},{"start":{"line":24,"column":29},"end":{"line":24,"column":61}}],"line":24}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/properties.js": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/properties.js","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenType.defs.json.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenType.defs.json.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenTypes.js": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/config/tokenTypes.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":278,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/AliasRegex.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/AliasRegex.ts","statementMap":{"0":{"start":{"line":2,"column":36},"end":{"line":2,"column":62}},"1":{"start":{"line":5,"column":26},"end":{"line":5,"column":72}},"2":{"start":{"line":7,"column":32},"end":{"line":7,"column":52}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ApplyVariablesStyleOrder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ApplyVariablesStyleOrder.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BackgroundJobs.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BackgroundJobs.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BoxShadowTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/BoxShadowTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorModifierTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorModifierTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorSpaceTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ColorSpaceTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DefaultWindowSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DefaultWindowSize.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":4,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Direction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Direction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DocumentationProperties.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/DocumentationProperties.ts","statementMap":{"0":{"start":{"line":4,"column":57},"end":{"line":25,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/EditTokenFormStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/EditTokenFormStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ErrorMessages.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ErrorMessages.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ExportProviderType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ExportProviderType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/InternalTokenGroup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/InternalTokenGroup.ts","statementMap":{"0":{"start":{"line":1,"column":40},"end":{"line":1,"column":66}},"1":{"start":{"line":2,"column":46},"end":{"line":2,"column":56}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LicenseStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LicenseStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LoadProviderType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/LoadProviderType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ModalOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ModalOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Properties.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Properties.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataKeys.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataKeys.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":21,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataNamespaces.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SharedPluginDataNamespaces.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StorageProviderType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StorageProviderType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleIdBackupKeys.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleIdBackupKeys.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":5,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/StyleOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SystemFilenames.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/SystemFilenames.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Tabs.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/Tabs.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenSetStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenSetStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"df9f738bbc7decdd2826b08b73ce28747ce293ef"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/TokenTypes.ts","statementMap":{"0":{"start":{"line":29,"column":47},"end":{"line":42,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"611b47a0cfc82ab1f170da507a79d4132357dc83"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/UpdateMode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/UpdateMode.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ValidNodeTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/ValidNodeTypes.ts","statementMap":{"0":{"start":{"line":1,"column":42},"end":{"line":15,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/VariableTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/VariableTypes.ts","statementMap":{"0":{"start":{"line":3,"column":42},"end":{"line":21,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/defaultBaseFontSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/defaultBaseFontSize.ts","statementMap":{"0":{"start":{"line":1,"column":35},"end":{"line":1,"column":39}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/docUrls.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/docUrls.ts","statementMap":{"0":{"start":{"line":1,"column":23},"end":{"line":3,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/numberRegex.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/constants/numberRegex.ts","statementMap":{"0":{"start":{"line":1,"column":27},"end":{"line":1,"column":44}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/AuthContext.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/AuthContext.tsx","statementMap":{"0":{"start":{"line":11,"column":28},"end":{"line":19,"column":1}},"1":{"start":{"line":21,"column":20},"end":{"line":21,"column":71}},"2":{"start":{"line":23,"column":28},"end":{"line":118,"column":1}},"3":{"start":{"line":30,"column":34},"end":{"line":30,"column":65}},"4":{"start":{"line":31,"column":36},"end":{"line":31,"column":48}},"5":{"start":{"line":32,"column":46},"end":{"line":32,"column":61}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":22}},"7":{"start":{"line":37,"column":4},"end":{"line":40,"column":7}},"8":{"start":{"line":44,"column":4},"end":{"line":44,"column":22}},"9":{"start":{"line":45,"column":4},"end":{"line":45,"column":22}},"10":{"start":{"line":46,"column":4},"end":{"line":46,"column":34}},"11":{"start":{"line":48,"column":4},"end":{"line":51,"column":7}},"12":{"start":{"line":54,"column":16},"end":{"line":69,"column":8}},"13":{"start":{"line":55,"column":4},"end":{"line":55,"column":28}},"14":{"start":{"line":56,"column":28},"end":{"line":56,"column":60}},"15":{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},"16":{"start":{"line":58,"column":6},"end":{"line":58,"column":57}},"17":{"start":{"line":60,"column":6},"end":{"line":60,"column":36}},"18":{"start":{"line":61,"column":6},"end":{"line":61,"column":24}},"19":{"start":{"line":62,"column":6},"end":{"line":65,"column":9}},"20":{"start":{"line":68,"column":4},"end":{"line":68,"column":29}},"21":{"start":{"line":71,"column":17},"end":{"line":86,"column":8}},"22":{"start":{"line":72,"column":4},"end":{"line":72,"column":28}},"23":{"start":{"line":73,"column":28},"end":{"line":73,"column":61}},"24":{"start":{"line":74,"column":4},"end":{"line":83,"column":5}},"25":{"start":{"line":75,"column":6},"end":{"line":75,"column":57}},"26":{"start":{"line":77,"column":6},"end":{"line":77,"column":37}},"27":{"start":{"line":78,"column":6},"end":{"line":78,"column":24}},"28":{"start":{"line":79,"column":6},"end":{"line":82,"column":9}},"29":{"start":{"line":85,"column":4},"end":{"line":85,"column":29}},"30":{"start":{"line":88,"column":2},"end":{"line":102,"column":22}},"31":{"start":{"line":90,"column":6},"end":{"line":96,"column":9}},"32":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"33":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"34":{"start":{"line":94,"column":10},"end":{"line":94,"column":25}},"35":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"36":{"start":{"line":100,"column":6},"end":{"line":100,"column":35}},"37":{"start":{"line":104,"column":23},"end":{"line":115,"column":3}},"38":{"start":{"line":105,"column":11},"end":{"line":113,"column":5}},"39":{"start":{"line":117,"column":2},"end":{"line":117,"column":86}},"40":{"start":{"line":120,"column":16},"end":{"line":126,"column":1}},"41":{"start":{"line":121,"column":18},"end":{"line":121,"column":41}},"42":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"43":{"start":{"line":123,"column":4},"end":{"line":123,"column":73}},"44":{"start":{"line":125,"column":2},"end":{"line":125,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":10}},"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":17}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":10},"end":{"line":14,"column":11}},"loc":{"start":{"line":14,"column":16},"end":{"line":14,"column":18}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":17}},"loc":{"start":{"line":15,"column":22},"end":{"line":15,"column":24}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":17}},"loc":{"start":{"line":18,"column":22},"end":{"line":18,"column":24}},"line":18},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":28},"end":{"line":23,"column":29}},"loc":{"start":{"line":29,"column":6},"end":{"line":118,"column":1}},"line":29},"5":{"name":"handleLogin","decl":{"start":{"line":34,"column":11},"end":{"line":34,"column":22}},"loc":{"start":{"line":34,"column":39},"end":{"line":41,"column":3}},"line":34},"6":{"name":"handleLogout","decl":{"start":{"line":43,"column":11},"end":{"line":43,"column":23}},"loc":{"start":{"line":43,"column":26},"end":{"line":52,"column":3}},"line":43},"7":{"name":"(anonymous_7)","decl":{"start":{"line":54,"column":28},"end":{"line":54,"column":29}},"loc":{"start":{"line":54,"column":59},"end":{"line":69,"column":3}},"line":54},"8":{"name":"(anonymous_8)","decl":{"start":{"line":71,"column":29},"end":{"line":71,"column":30}},"loc":{"start":{"line":71,"column":61},"end":{"line":86,"column":3}},"line":71},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":12},"end":{"line":88,"column":13}},"loc":{"start":{"line":88,"column":18},"end":{"line":102,"column":3}},"line":88},"10":{"name":"checkAuthData","decl":{"start":{"line":89,"column":19},"end":{"line":89,"column":32}},"loc":{"start":{"line":89,"column":49},"end":{"line":97,"column":5}},"line":89},"11":{"name":"(anonymous_11)","decl":{"start":{"line":90,"column":38},"end":{"line":90,"column":39}},"loc":{"start":{"line":90,"column":67},"end":{"line":96,"column":7}},"line":90},"12":{"name":"(anonymous_12)","decl":{"start":{"line":105,"column":4},"end":{"line":105,"column":5}},"loc":{"start":{"line":105,"column":11},"end":{"line":113,"column":5}},"line":105},"13":{"name":"(anonymous_13)","decl":{"start":{"line":120,"column":16},"end":{"line":120,"column":17}},"loc":{"start":{"line":120,"column":22},"end":{"line":126,"column":1}},"line":120}},"branchMap":{"0":{"loc":{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":66,"column":5}},{"start":{"line":59,"column":11},"end":{"line":66,"column":5}}],"line":57},"1":{"loc":{"start":{"line":58,"column":19},"end":{"line":58,"column":55}},"type":"binary-expr","locations":[{"start":{"line":58,"column":19},"end":{"line":58,"column":28}},{"start":{"line":58,"column":32},"end":{"line":58,"column":55}}],"line":58},"2":{"loc":{"start":{"line":74,"column":4},"end":{"line":83,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":83,"column":5}},{"start":{"line":76,"column":11},"end":{"line":83,"column":5}}],"line":74},"3":{"loc":{"start":{"line":75,"column":19},"end":{"line":75,"column":55}},"type":"binary-expr","locations":[{"start":{"line":75,"column":19},"end":{"line":75,"column":28}},{"start":{"line":75,"column":32},"end":{"line":75,"column":55}}],"line":75},"4":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":93,"column":15},"end":{"line":95,"column":9}}],"line":91},"5":{"loc":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":99},"6":{"loc":{"start":{"line":106,"column":12},"end":{"line":106,"column":34}},"type":"binary-expr","locations":[{"start":{"line":106,"column":12},"end":{"line":106,"column":26}},{"start":{"line":106,"column":30},"end":{"line":106,"column":34}}],"line":106},"7":{"loc":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},{"start":{},"end":{}}],"line":122}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/DragControlsContext.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/DragControlsContext.tsx","statementMap":{"0":{"start":{"line":8,"column":35},"end":{"line":10,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/ReorderContext.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/ReorderContext.ts","statementMap":{"0":{"start":{"line":16,"column":30},"end":{"line":18,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/TokensContext.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/TokensContext.ts","statementMap":{"0":{"start":{"line":8,"column":29},"end":{"line":10,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/context/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ActiveThemeProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ActiveThemeProperty.ts","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":13,"column":1}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"2":{"start":{"line":10,"column":13},"end":{"line":12,"column":11}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":13},"end":{"line":12,"column":11}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":64},"end":{"line":10,"column":65}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}},"type":"cond-expr","locations":[{"start":{"line":11,"column":12},"end":{"line":11,"column":29}},{"start":{"line":11,"column":32},"end":{"line":11,"column":34}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ApiProvidersProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ApiProvidersProperty.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":17,"column":1}},"1":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"2":{"start":{"line":11,"column":19},"end":{"line":11,"column":69}},"3":{"start":{"line":12,"column":4},"end":{"line":12,"column":45}},"4":{"start":{"line":12,"column":31},"end":{"line":12,"column":45}},"5":{"start":{"line":13,"column":4},"end":{"line":15,"column":7}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":16},"end":{"line":16,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":40},"end":{"line":13,"column":41}},"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":31}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":19},"end":{"line":11,"column":69}},"type":"binary-expr","locations":[{"start":{"line":11,"column":19},"end":{"line":11,"column":63}},{"start":{"line":11,"column":67},"end":{"line":11,"column":69}}],"line":11},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":45}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":45}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/AuthDataProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/AuthDataProperty.ts","statementMap":{"0":{"start":{"line":5,"column":32},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"2":{"start":{"line":9,"column":16},"end":{"line":9,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":48}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CheckForChangesProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CheckForChangesProperty.ts","statementMap":{"0":{"start":{"line":5,"column":39},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":31},"end":{"line":8,"column":44}},"2":{"start":{"line":9,"column":13},"end":{"line":9,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":8,"column":44}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":29}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageCleanup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageCleanup.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":2,"column":52}},"1":{"start":{"line":4,"column":22},"end":{"line":4,"column":68}},"2":{"start":{"line":4,"column":43},"end":{"line":4,"column":67}},"3":{"start":{"line":6,"column":26},"end":{"line":6,"column":85}},"4":{"start":{"line":6,"column":54},"end":{"line":6,"column":84}},"5":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":47}}},"fnMap":{"0":{"name":"cleanupOldTokenPrefixes","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":69},"end":{"line":11,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":34},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":43},"end":{"line":4,"column":67}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":45},"end":{"line":6,"column":46}},"loc":{"start":{"line":6,"column":54},"end":{"line":6,"column":84}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ClientStorageProperty.ts","statementMap":{"0":{"start":{"line":6,"column":23},"end":{"line":6,"column":38}},"1":{"start":{"line":8,"column":37},"end":{"line":54,"column":1}},"2":{"start":{"line":10,"column":24},"end":{"line":10,"column":80}},"3":{"start":{"line":12,"column":20},"end":{"line":12,"column":45}},"4":{"start":{"line":13,"column":4},"end":{"line":17,"column":5}},"5":{"start":{"line":14,"column":23},"end":{"line":14,"column":59}},"6":{"start":{"line":15,"column":6},"end":{"line":15,"column":120}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":19}},"8":{"start":{"line":18,"column":24},"end":{"line":18,"column":46}},"9":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":45}},"11":{"start":{"line":24,"column":4},"end":{"line":24,"column":60}},"12":{"start":{"line":27,"column":4},"end":{"line":52,"column":5}},"13":{"start":{"line":28,"column":25},"end":{"line":28,"column":64}},"14":{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},"15":{"start":{"line":30,"column":8},"end":{"line":30,"column":26}},"16":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"17":{"start":{"line":33,"column":8},"end":{"line":33,"column":20}},"18":{"start":{"line":36,"column":27},"end":{"line":36,"column":58}},"19":{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},"20":{"start":{"line":38,"column":8},"end":{"line":38,"column":20}},"21":{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},"22":{"start":{"line":42,"column":23},"end":{"line":42,"column":47}},"23":{"start":{"line":44,"column":8},"end":{"line":44,"column":22}},"24":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"25":{"start":{"line":47,"column":8},"end":{"line":47,"column":20}},"26":{"start":{"line":50,"column":6},"end":{"line":50,"column":67}},"27":{"start":{"line":51,"column":6},"end":{"line":51,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":59},"end":{"line":25,"column":3}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":26},"end":{"line":53,"column":3}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":24},"end":{"line":10,"column":80}},"type":"cond-expr","locations":[{"start":{"line":10,"column":48},"end":{"line":10,"column":51}},{"start":{"line":10,"column":54},"end":{"line":10,"column":80}}],"line":10},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":17,"column":5}},{"start":{},"end":{}}],"line":13},"2":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":20},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},{"start":{},"end":{}}],"line":32},"5":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CollapsedTokenSetsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/CollapsedTokenSetsProperty.ts","statementMap":{"0":{"start":{"line":6,"column":42},"end":{"line":14,"column":1}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"2":{"start":{"line":10,"column":13},"end":{"line":13,"column":8}},"3":{"start":{"line":11,"column":24},"end":{"line":11,"column":54}},"4":{"start":{"line":12,"column":4},"end":{"line":12,"column":57}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":34}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":13},"end":{"line":13,"column":8}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":41},"end":{"line":10,"column":42}},"loc":{"start":{"line":10,"column":47},"end":{"line":13,"column":3}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":24},"end":{"line":11,"column":54}},"type":"cond-expr","locations":[{"start":{"line":11,"column":32},"end":{"line":11,"column":49}},{"start":{"line":11,"column":52},"end":{"line":11,"column":54}}],"line":11},"1":{"loc":{"start":{"line":12,"column":11},"end":{"line":12,"column":56}},"type":"cond-expr","locations":[{"start":{"line":12,"column":40},"end":{"line":12,"column":51}},{"start":{"line":12,"column":54},"end":{"line":12,"column":56}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FigmaStorageProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FigmaStorageProperty.ts","statementMap":{"0":{"start":{"line":10,"column":44},"end":{"line":10,"column":75}},"1":{"start":{"line":14,"column":70},"end":{"line":14,"column":94}},"2":{"start":{"line":14,"column":81},"end":{"line":14,"column":94}},"3":{"start":{"line":16,"column":73},"end":{"line":16,"column":105}},"4":{"start":{"line":16,"column":84},"end":{"line":16,"column":105}},"5":{"start":{"line":24,"column":4},"end":{"line":24,"column":35}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":19}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":46}},"8":{"start":{"line":26,"column":19},"end":{"line":26,"column":46}},"9":{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},"10":{"start":{"line":27,"column":15},"end":{"line":27,"column":34}},"11":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"12":{"start":{"line":38,"column":20},"end":{"line":38,"column":64}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":60}},"14":{"start":{"line":42,"column":4},"end":{"line":49,"column":5}},"15":{"start":{"line":43,"column":23},"end":{"line":43,"column":42}},"16":{"start":{"line":44,"column":24},"end":{"line":44,"column":35}},"17":{"start":{"line":45,"column":18},"end":{"line":45,"column":45}},"18":{"start":{"line":47,"column":20},"end":{"line":47,"column":68}},"19":{"start":{"line":48,"column":6},"end":{"line":48,"column":60}},"20":{"start":{"line":51,"column":4},"end":{"line":51,"column":16}},"21":{"start":{"line":61,"column":4},"end":{"line":64,"column":5}},"22":{"start":{"line":62,"column":6},"end":{"line":62,"column":103}},"23":{"start":{"line":63,"column":6},"end":{"line":63,"column":13}},"24":{"start":{"line":66,"column":4},"end":{"line":73,"column":5}},"25":{"start":{"line":67,"column":23},"end":{"line":67,"column":42}},"26":{"start":{"line":68,"column":24},"end":{"line":68,"column":35}},"27":{"start":{"line":69,"column":18},"end":{"line":69,"column":45}},"28":{"start":{"line":71,"column":26},"end":{"line":71,"column":76}},"29":{"start":{"line":72,"column":6},"end":{"line":72,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":70},"end":{"line":14,"column":71}},"loc":{"start":{"line":14,"column":81},"end":{"line":14,"column":94}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":73},"end":{"line":16,"column":74}},"loc":{"start":{"line":16,"column":84},"end":{"line":16,"column":105}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":23,"column":4},"end":{"line":28,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":36,"column":90},"end":{"line":52,"column":3}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":2},"end":{"line":60,"column":3}},"loc":{"start":{"line":60,"column":89},"end":{"line":74,"column":3}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":46}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":46}},{"start":{},"end":{}}],"line":26},"1":{"loc":{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},{"start":{},"end":{}}],"line":27},"2":{"loc":{"start":{"line":36,"column":20},"end":{"line":36,"column":47}},"type":"default-arg","locations":[{"start":{"line":36,"column":37},"end":{"line":36,"column":47}}],"line":36},"3":{"loc":{"start":{"line":36,"column":49},"end":{"line":36,"column":69}},"type":"default-arg","locations":[{"start":{"line":36,"column":64},"end":{"line":36,"column":69}}],"line":36},"4":{"loc":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":37},"5":{"loc":{"start":{"line":39,"column":13},"end":{"line":39,"column":59}},"type":"cond-expr","locations":[{"start":{"line":39,"column":21},"end":{"line":39,"column":52}},{"start":{"line":39,"column":55},"end":{"line":39,"column":59}}],"line":39},"6":{"loc":{"start":{"line":42,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":42},"7":{"loc":{"start":{"line":48,"column":13},"end":{"line":48,"column":59}},"type":"cond-expr","locations":[{"start":{"line":48,"column":21},"end":{"line":48,"column":52}},{"start":{"line":48,"column":55},"end":{"line":48,"column":59}}],"line":48},"8":{"loc":{"start":{"line":60,"column":38},"end":{"line":60,"column":65}},"type":"default-arg","locations":[{"start":{"line":60,"column":55},"end":{"line":60,"column":65}}],"line":60},"9":{"loc":{"start":{"line":60,"column":67},"end":{"line":60,"column":87}},"type":"default-arg","locations":[{"start":{"line":60,"column":82},"end":{"line":60,"column":87}}],"line":60},"10":{"loc":{"start":{"line":61,"column":4},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":64,"column":5}},{"start":{},"end":{}}],"line":61},"11":{"loc":{"start":{"line":62,"column":51},"end":{"line":62,"column":101}},"type":"cond-expr","locations":[{"start":{"line":62,"column":59},"end":{"line":62,"column":94}},{"start":{"line":62,"column":97},"end":{"line":62,"column":101}}],"line":62},"12":{"loc":{"start":{"line":66,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":66},"13":{"loc":{"start":{"line":71,"column":26},"end":{"line":71,"column":76}},"type":"cond-expr","locations":[{"start":{"line":71,"column":34},"end":{"line":71,"column":69}},{"start":{"line":71,"column":72},"end":{"line":71,"column":76}}],"line":71}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FileKeyProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/FileKeyProperty.ts","statementMap":{"0":{"start":{"line":5,"column":31},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":13},"end":{"line":8,"column":18}},"2":{"start":{"line":9,"column":13},"end":{"line":9,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":18}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":18}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/InitialLoadProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/InitialLoadProperty.ts","statementMap":{"0":{"start":{"line":3,"column":35},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/IsCompressedProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/IsCompressedProperty.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":13},"end":{"line":8,"column":26}},"2":{"start":{"line":9,"column":21},"end":{"line":9,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":26}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":21},"end":{"line":9,"column":37}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LastOpenedProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LastOpenedProperty.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":8,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":26}},"2":{"start":{"line":7,"column":13},"end":{"line":7,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":26}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":32}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LicenseKeyProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/LicenseKeyProperty.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts","statementMap":{"0":{"start":{"line":3,"column":53},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerInspectProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerInspectProperty.ts","statementMap":{"0":{"start":{"line":3,"column":50},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSetsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSetsProperty.ts","statementMap":{"0":{"start":{"line":3,"column":47},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts","statementMap":{"0":{"start":{"line":3,"column":56},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageSizeManager.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageSizeManager.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":3,"column":49}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":52}},"2":{"start":{"line":8,"column":22},"end":{"line":8,"column":68}},"3":{"start":{"line":8,"column":43},"end":{"line":8,"column":67}},"4":{"start":{"line":9,"column":18},"end":{"line":9,"column":19}},"5":{"start":{"line":10,"column":2},"end":{"line":15,"column":3}},"6":{"start":{"line":11,"column":18},"end":{"line":11,"column":57}},"7":{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":55}},"9":{"start":{"line":16,"column":2},"end":{"line":16,"column":19}}},"fnMap":{"0":{"name":"getStorageSize","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":36}},"loc":{"start":{"line":5,"column":56},"end":{"line":17,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":34},"end":{"line":8,"column":35}},"loc":{"start":{"line":8,"column":43},"end":{"line":8,"column":67}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageTypeProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/StorageTypeProperty.ts","statementMap":{"0":{"start":{"line":8,"column":35},"end":{"line":13,"column":1}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":71}},"2":{"start":{"line":12,"column":13},"end":{"line":12,"column":45}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":71}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":13},"end":{"line":12,"column":45}},"line":12}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ThemesProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ThemesProperty.ts","statementMap":{"0":{"start":{"line":8,"column":30},"end":{"line":21,"column":1}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"2":{"start":{"line":12,"column":27},"end":{"line":20,"column":8}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"4":{"start":{"line":13,"column":16},"end":{"line":13,"column":26}},"5":{"start":{"line":14,"column":4},"end":{"line":17,"column":5}},"6":{"start":{"line":15,"column":26},"end":{"line":15,"column":56}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":59}},"8":{"start":{"line":18,"column":25},"end":{"line":18,"column":51}},"9":{"start":{"line":19,"column":4},"end":{"line":19,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":27},"end":{"line":20,"column":8}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":63},"end":{"line":12,"column":64}},"loc":{"start":{"line":12,"column":69},"end":{"line":20,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":17,"column":5}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":15,"column":26},"end":{"line":15,"column":56}},"type":"cond-expr","locations":[{"start":{"line":15,"column":34},"end":{"line":15,"column":51}},{"start":{"line":15,"column":54},"end":{"line":15,"column":56}}],"line":15},"3":{"loc":{"start":{"line":16,"column":13},"end":{"line":16,"column":58}},"type":"cond-expr","locations":[{"start":{"line":16,"column":42},"end":{"line":16,"column":53}},{"start":{"line":16,"column":56},"end":{"line":16,"column":58}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/TokenFormatProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/TokenFormatProperty.ts","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UiSettingsProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UiSettingsProperty.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":10,"column":1}},"1":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"2":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":62}},{"start":{"line":9,"column":66},"end":{"line":9,"column":68}}],"line":9}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UpdatedAtProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UpdatedAtProperty.ts","statementMap":{"0":{"start":{"line":5,"column":33},"end":{"line":8,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedEmailProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedEmailProperty.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":103}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedTokenSetProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UsedTokenSetProperty.ts","statementMap":{"0":{"start":{"line":7,"column":36},"end":{"line":12,"column":1}},"1":{"start":{"line":10,"column":13},"end":{"line":10,"column":34}},"2":{"start":{"line":11,"column":13},"end":{"line":11,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":13},"end":{"line":10,"column":34}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":38}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":38}},"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":32}},{"start":{"line":11,"column":36},"end":{"line":11,"column":38}}],"line":11}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UserIdProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/UserIdProperty.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ValuesProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/ValuesProperty.ts","statementMap":{"0":{"start":{"line":8,"column":30},"end":{"line":18,"column":1}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"2":{"start":{"line":12,"column":27},"end":{"line":17,"column":8}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"4":{"start":{"line":13,"column":16},"end":{"line":13,"column":26}},"5":{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},"6":{"start":{"line":14,"column":23},"end":{"line":14,"column":48}},"7":{"start":{"line":15,"column":25},"end":{"line":15,"column":51}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":51}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":27},"end":{"line":17,"column":8}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":75},"end":{"line":12,"column":76}},"loc":{"start":{"line":12,"column":81},"end":{"line":17,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":26}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":48}},{"start":{},"end":{}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/VersionProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/VersionProperty.ts","statementMap":{"0":{"start":{"line":5,"column":31},"end":{"line":8,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/figmaStorage/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useChangedState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useChangedState.ts","statementMap":{"0":{"start":{"line":16,"column":21},"end":{"line":16,"column":52}},"1":{"start":{"line":17,"column":17},"end":{"line":17,"column":44}},"2":{"start":{"line":18,"column":17},"end":{"line":18,"column":48}},"3":{"start":{"line":19,"column":22},"end":{"line":19,"column":54}},"4":{"start":{"line":20,"column":26},"end":{"line":20,"column":62}},"5":{"start":{"line":21,"column":22},"end":{"line":21,"column":54}},"6":{"start":{"line":22,"column":19},"end":{"line":22,"column":32}},"7":{"start":{"line":24,"column":27},"end":{"line":31,"column":47}},"8":{"start":{"line":25,"column":26},"end":{"line":25,"column":45}},"9":{"start":{"line":26,"column":4},"end":{"line":30,"column":7}},"10":{"start":{"line":33,"column":27},"end":{"line":43,"column":47}},"11":{"start":{"line":34,"column":26},"end":{"line":34,"column":45}},"12":{"start":{"line":35,"column":4},"end":{"line":42,"column":6}},"13":{"start":{"line":45,"column":21},"end":{"line":51,"column":73}},"14":{"start":{"line":46,"column":23},"end":{"line":46,"column":92}},"15":{"start":{"line":48,"column":4},"end":{"line":48,"column":58}},"16":{"start":{"line":50,"column":4},"end":{"line":50,"column":22}},"17":{"start":{"line":53,"column":2},"end":{"line":53,"column":60}}},"fnMap":{"0":{"name":"useChangedState","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":31}},"loc":{"start":{"line":15,"column":34},"end":{"line":54,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":35},"end":{"line":24,"column":36}},"loc":{"start":{"line":24,"column":41},"end":{"line":31,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":35},"end":{"line":33,"column":36}},"loc":{"start":{"line":33,"column":41},"end":{"line":43,"column":3}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":29},"end":{"line":45,"column":30}},"loc":{"start":{"line":45,"column":35},"end":{"line":51,"column":3}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":16},"end":{"line":29,"column":91}},"type":"cond-expr","locations":[{"start":{"line":29,"column":69},"end":{"line":29,"column":86}},{"start":{"line":29,"column":89},"end":{"line":29,"column":91}}],"line":29},"1":{"loc":{"start":{"line":39,"column":18},"end":{"line":39,"column":93}},"type":"cond-expr","locations":[{"start":{"line":39,"column":71},"end":{"line":39,"column":88}},{"start":{"line":39,"column":91},"end":{"line":39,"column":93}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useDelayedFlag.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useDelayedFlag.ts","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":4,"column":41}},"1":{"start":{"line":6,"column":2},"end":{"line":23,"column":46}},"2":{"start":{"line":7,"column":4},"end":{"line":21,"column":5}},"3":{"start":{"line":8,"column":6},"end":{"line":20,"column":7}},"4":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"5":{"start":{"line":10,"column":28},"end":{"line":10,"column":68}},"6":{"start":{"line":10,"column":45},"end":{"line":10,"column":58}},"7":{"start":{"line":11,"column":10},"end":{"line":11,"column":47}},"8":{"start":{"line":11,"column":23},"end":{"line":11,"column":46}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":22}},"10":{"start":{"line":14,"column":13},"end":{"line":20,"column":7}},"11":{"start":{"line":15,"column":8},"end":{"line":18,"column":9}},"12":{"start":{"line":16,"column":28},"end":{"line":16,"column":69}},"13":{"start":{"line":16,"column":45},"end":{"line":16,"column":59}},"14":{"start":{"line":17,"column":10},"end":{"line":17,"column":47}},"15":{"start":{"line":17,"column":23},"end":{"line":17,"column":46}},"16":{"start":{"line":19,"column":8},"end":{"line":19,"column":23}},"17":{"start":{"line":22,"column":4},"end":{"line":22,"column":20}},"18":{"start":{"line":25,"column":2},"end":{"line":25,"column":14}}},"fnMap":{"0":{"name":"useDelayedFlag","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":99},"end":{"line":26,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":12},"end":{"line":6,"column":13}},"loc":{"start":{"line":6,"column":18},"end":{"line":23,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":39},"end":{"line":10,"column":40}},"loc":{"start":{"line":10,"column":45},"end":{"line":10,"column":58}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":17},"end":{"line":11,"column":18}},"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":46}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":39},"end":{"line":16,"column":40}},"loc":{"start":{"line":16,"column":45},"end":{"line":16,"column":59}},"line":16},"5":{"name":"(anonymous_5)","decl":{"start":{"line":17,"column":17},"end":{"line":17,"column":18}},"loc":{"start":{"line":17,"column":23},"end":{"line":17,"column":46}},"line":17},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":11},"end":{"line":22,"column":12}},"loc":{"start":{"line":22,"column":17},"end":{"line":22,"column":19}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":31},"end":{"line":3,"column":44}},"type":"default-arg","locations":[{"start":{"line":3,"column":39},"end":{"line":3,"column":44}}],"line":3},"1":{"loc":{"start":{"line":3,"column":46},"end":{"line":3,"column":59}},"type":"default-arg","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":59}}],"line":3},"2":{"loc":{"start":{"line":3,"column":61},"end":{"line":3,"column":78}},"type":"default-arg","locations":[{"start":{"line":3,"column":73},"end":{"line":3,"column":78}}],"line":3},"3":{"loc":{"start":{"line":3,"column":80},"end":{"line":3,"column":97}},"type":"default-arg","locations":[{"start":{"line":3,"column":93},"end":{"line":3,"column":97}}],"line":3},"4":{"loc":{"start":{"line":7,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":21,"column":5}},{"start":{},"end":{}}],"line":7},"5":{"loc":{"start":{"line":8,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":8,"column":6},"end":{"line":20,"column":7}},{"start":{"line":14,"column":13},"end":{"line":20,"column":7}}],"line":8},"6":{"loc":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},{"start":{},"end":{}}],"line":9},"7":{"loc":{"start":{"line":14,"column":13},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":13},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":14},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":18,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":18,"column":9}},{"start":{},"end":{}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaFonts.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaFonts.tsx","statementMap":{"0":{"start":{"line":8,"column":19},"end":{"line":8,"column":42}},"1":{"start":{"line":11,"column":24},"end":{"line":16,"column":24}},"2":{"start":{"line":12,"column":23},"end":{"line":14,"column":6}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"4":{"start":{"line":18,"column":2},"end":{"line":22,"column":5}},"5":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"fnMap":{"0":{"name":"useFigmaFonts","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":40},"end":{"line":23,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":36},"end":{"line":11,"column":37}},"loc":{"start":{"line":11,"column":48},"end":{"line":16,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":17},"end":{"line":18,"column":18}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}},"line":18}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useFigmaTheme.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":4,"column":55}},"1":{"start":{"line":6,"column":2},"end":{"line":22,"column":9}},"2":{"start":{"line":7,"column":26},"end":{"line":7,"column":67}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":55}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":27}},"5":{"start":{"line":11,"column":21},"end":{"line":14,"column":6}},"6":{"start":{"line":12,"column":25},"end":{"line":12,"column":61}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":33}},"8":{"start":{"line":16,"column":4},"end":{"line":19,"column":7}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":39}},"10":{"start":{"line":21,"column":17},"end":{"line":21,"column":38}},"11":{"start":{"line":24,"column":2},"end":{"line":24,"column":25}}},"fnMap":{"0":{"name":"useFigmaTheme","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":32},"end":{"line":25,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":12},"end":{"line":6,"column":13}},"loc":{"start":{"line":6,"column":18},"end":{"line":22,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":42},"end":{"line":11,"column":43}},"loc":{"start":{"line":11,"column":48},"end":{"line":14,"column":5}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":17},"end":{"line":21,"column":38}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":26},"end":{"line":7,"column":67}},"type":"binary-expr","locations":[{"start":{"line":7,"column":26},"end":{"line":7,"column":61}},{"start":{"line":7,"column":65},"end":{"line":7,"column":67}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useGetActiveState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useGetActiveState.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":25,"column":5}},"1":{"start":{"line":10,"column":24},"end":{"line":10,"column":29}},"2":{"start":{"line":11,"column":4},"end":{"line":16,"column":5}},"3":{"start":{"line":15,"column":6},"end":{"line":15,"column":19}},"4":{"start":{"line":17,"column":4},"end":{"line":24,"column":6}},"5":{"start":{"line":21,"column":8},"end":{"line":22,"column":62}}},"fnMap":{"0":{"name":"useGetActiveState","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":33}},"loc":{"start":{"line":8,"column":107},"end":{"line":26,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":21},"end":{"line":9,"column":22}},"loc":{"start":{"line":9,"column":43},"end":{"line":25,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":25},"end":{"line":19,"column":26}},"loc":{"start":{"line":21,"column":8},"end":{"line":22,"column":62}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":13,"column":27}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":27}},{"start":{"line":13,"column":9},"end":{"line":13,"column":27}}],"line":12},"2":{"loc":{"start":{"line":18,"column":6},"end":{"line":23,"column":8}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":52}},{"start":{"line":19,"column":9},"end":{"line":23,"column":8}}],"line":18},"3":{"loc":{"start":{"line":21,"column":8},"end":{"line":22,"column":62}},"type":"binary-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":32}},{"start":{"line":22,"column":11},"end":{"line":22,"column":62}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useSetNodeData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useSetNodeData.ts","statementMap":{"0":{"start":{"line":11,"column":16},"end":{"line":11,"column":37}},"1":{"start":{"line":13,"column":22},"end":{"line":21,"column":13}},"2":{"start":{"line":14,"column":21},"end":{"line":14,"column":60}},"3":{"start":{"line":15,"column":4},"end":{"line":20,"column":7}},"4":{"start":{"line":23,"column":2},"end":{"line":23,"column":21}}},"fnMap":{"0":{"name":"useSetNodeData","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":38}},"loc":{"start":{"line":10,"column":41},"end":{"line":24,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":34},"end":{"line":13,"column":35}},"loc":{"start":{"line":13,"column":96},"end":{"line":21,"column":3}},"line":13}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useShortcut.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useShortcut.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":4,"column":43}},"1":{"start":{"line":7,"column":2},"end":{"line":9,"column":5}},"2":{"start":{"line":11,"column":2},"end":{"line":23,"column":5}},"3":{"start":{"line":12,"column":15},"end":{"line":12,"column":29}},"4":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":68}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":29}},"7":{"start":{"line":19,"column":4},"end":{"line":22,"column":6}},"8":{"start":{"line":20,"column":22},"end":{"line":20,"column":49}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":59}},"10":{"start":{"line":21,"column":24},"end":{"line":21,"column":59}}},"fnMap":{"0":{"name":"useShortcut","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":27}},"loc":{"start":{"line":6,"column":84},"end":{"line":24,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":12},"end":{"line":11,"column":13}},"loc":{"start":{"line":11,"column":18},"end":{"line":23,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":11},"end":{"line":19,"column":12}},"loc":{"start":{"line":19,"column":17},"end":{"line":22,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":21,"column":59}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":59}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/CanceledError.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/CanceledError.ts","statementMap":{"0":{"start":{"line":3,"column":4},"end":{"line":3,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":2},"end":{"line":2,"column":3}},"loc":{"start":{"line":2,"column":16},"end":{"line":4,"column":3}},"line":2}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessCancelToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessCancelToken.ts","statementMap":{"0":{"start":{"line":4,"column":14},"end":{"line":4,"column":24}},"1":{"start":{"line":6,"column":63},"end":{"line":8,"column":3}},"2":{"start":{"line":11,"column":4},"end":{"line":11,"column":55}},"3":{"start":{"line":11,"column":49},"end":{"line":11,"column":53}},"4":{"start":{"line":15,"column":4},"end":{"line":15,"column":40}},"5":{"start":{"line":16,"column":4},"end":{"line":21,"column":6}},"6":{"start":{"line":17,"column":22},"end":{"line":17,"column":60}},"7":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"8":{"start":{"line":19,"column":8},"end":{"line":19,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":18},"end":{"line":12,"column":3}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":11,"column":49},"end":{"line":11,"column":53}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":47},"end":{"line":22,"column":3}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":11},"end":{"line":16,"column":12}},"loc":{"start":{"line":16,"column":17},"end":{"line":21,"column":5}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessStepStatus.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/ProcessStepStatus.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/useProcess.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/hooks/useProcess/useProcess.ts","statementMap":{"0":{"start":{"line":14,"column":40},"end":{"line":14,"column":64}},"1":{"start":{"line":15,"column":44},"end":{"line":15,"column":95}},"2":{"start":{"line":16,"column":22},"end":{"line":16,"column":65}},"3":{"start":{"line":16,"column":36},"end":{"line":16,"column":60}},"4":{"start":{"line":18,"column":21},"end":{"line":22,"column":41}},"5":{"start":{"line":19,"column":4},"end":{"line":21,"column":47}},"6":{"start":{"line":24,"column":18},"end":{"line":54,"column":26}},"7":{"start":{"line":25,"column":36},"end":{"line":25,"column":38}},"8":{"start":{"line":27,"column":4},"end":{"line":53,"column":5}},"9":{"start":{"line":28,"column":6},"end":{"line":28,"column":50}},"10":{"start":{"line":29,"column":19},"end":{"line":29,"column":62}},"11":{"start":{"line":29,"column":43},"end":{"line":29,"column":61}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":63}},"13":{"start":{"line":30,"column":17},"end":{"line":30,"column":63}},"14":{"start":{"line":32,"column":6},"end":{"line":45,"column":9}},"15":{"start":{"line":34,"column":10},"end":{"line":36,"column":14}},"16":{"start":{"line":35,"column":12},"end":{"line":35,"column":40}},"17":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"18":{"start":{"line":39,"column":12},"end":{"line":39,"column":31}},"19":{"start":{"line":40,"column":12},"end":{"line":40,"column":64}},"20":{"start":{"line":41,"column":12},"end":{"line":41,"column":57}},"21":{"start":{"line":47,"column":6},"end":{"line":47,"column":47}},"22":{"start":{"line":49,"column":6},"end":{"line":49,"column":49}},"23":{"start":{"line":50,"column":6},"end":{"line":50,"column":16}},"24":{"start":{"line":52,"column":6},"end":{"line":52,"column":36}},"25":{"start":{"line":52,"column":30},"end":{"line":52,"column":34}},"26":{"start":{"line":56,"column":16},"end":{"line":63,"column":22}},"27":{"start":{"line":57,"column":4},"end":{"line":62,"column":5}},"28":{"start":{"line":58,"column":22},"end":{"line":58,"column":30}},"29":{"start":{"line":59,"column":6},"end":{"line":59,"column":26}},"30":{"start":{"line":60,"column":6},"end":{"line":60,"column":47}},"31":{"start":{"line":61,"column":6},"end":{"line":61,"column":25}},"32":{"start":{"line":65,"column":15},"end":{"line":73,"column":35}},"33":{"start":{"line":66,"column":29},"end":{"line":66,"column":78}},"34":{"start":{"line":66,"column":58},"end":{"line":66,"column":77}},"35":{"start":{"line":67,"column":4},"end":{"line":72,"column":5}},"36":{"start":{"line":68,"column":23},"end":{"line":68,"column":50}},"37":{"start":{"line":69,"column":6},"end":{"line":69,"column":35}},"38":{"start":{"line":70,"column":6},"end":{"line":70,"column":47}},"39":{"start":{"line":71,"column":6},"end":{"line":71,"column":34}},"40":{"start":{"line":75,"column":16},"end":{"line":78,"column":8}},"41":{"start":{"line":76,"column":4},"end":{"line":76,"column":25}},"42":{"start":{"line":77,"column":4},"end":{"line":77,"column":45}},"43":{"start":{"line":80,"column":2},"end":{"line":96,"column":5}},"44":{"start":{"line":80,"column":24},"end":{"line":88,"column":3}}},"fnMap":{"0":{"name":"useProcess","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":26}},"loc":{"start":{"line":13,"column":79},"end":{"line":97,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":30},"end":{"line":16,"column":31}},"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":60}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":29},"end":{"line":18,"column":30}},"loc":{"start":{"line":19,"column":4},"end":{"line":21,"column":47}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":30},"end":{"line":24,"column":31}},"loc":{"start":{"line":24,"column":60},"end":{"line":54,"column":3}},"line":24},"4":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":30},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":43},"end":{"line":29,"column":61}},"line":29},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":26},"end":{"line":33,"column":27}},"loc":{"start":{"line":33,"column":47},"end":{"line":37,"column":9}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":34,"column":50},"end":{"line":34,"column":51}},"loc":{"start":{"line":34,"column":56},"end":{"line":36,"column":11}},"line":34},"7":{"name":"(anonymous_7)","decl":{"start":{"line":37,"column":17},"end":{"line":37,"column":18}},"loc":{"start":{"line":37,"column":26},"end":{"line":43,"column":9}},"line":37},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":22},"end":{"line":52,"column":23}},"loc":{"start":{"line":52,"column":30},"end":{"line":52,"column":34}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":28},"end":{"line":56,"column":29}},"loc":{"start":{"line":56,"column":40},"end":{"line":63,"column":3}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":65,"column":27},"end":{"line":65,"column":28}},"loc":{"start":{"line":65,"column":39},"end":{"line":73,"column":3}},"line":65},"11":{"name":"(anonymous_11)","decl":{"start":{"line":66,"column":45},"end":{"line":66,"column":46}},"loc":{"start":{"line":66,"column":58},"end":{"line":66,"column":77}},"line":66},"12":{"name":"(anonymous_12)","decl":{"start":{"line":75,"column":28},"end":{"line":75,"column":29}},"loc":{"start":{"line":75,"column":34},"end":{"line":78,"column":3}},"line":75},"13":{"name":"(anonymous_13)","decl":{"start":{"line":80,"column":17},"end":{"line":80,"column":18}},"loc":{"start":{"line":80,"column":24},"end":{"line":88,"column":3}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":21,"column":47}},"type":"binary-expr","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":16}},{"start":{"line":20,"column":7},"end":{"line":20,"column":50}},{"start":{"line":21,"column":7},"end":{"line":21,"column":47}}],"line":19},"1":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":63}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":30,"column":63}},{"start":{},"end":{}}],"line":30},"2":{"loc":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},{"start":{},"end":{}}],"line":38},"3":{"loc":{"start":{"line":38,"column":14},"end":{"line":38,"column":49}},"type":"binary-expr","locations":[{"start":{"line":38,"column":14},"end":{"line":38,"column":17}},{"start":{"line":38,"column":21},"end":{"line":38,"column":49}}],"line":38},"4":{"loc":{"start":{"line":57,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":62,"column":5}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":67,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":67},"6":{"loc":{"start":{"line":67,"column":8},"end":{"line":67,"column":68}},"type":"binary-expr","locations":[{"start":{"line":67,"column":8},"end":{"line":67,"column":29}},{"start":{"line":67,"column":33},"end":{"line":67,"column":68}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/i18next.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/i18next.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/index.ts","statementMap":{"0":{"start":{"line":11,"column":14},"end":{"line":11,"column":44}},"1":{"start":{"line":13,"column":26},"end":{"line":13,"column":166}},"2":{"start":{"line":15,"column":25},"end":{"line":22,"column":1}},"3":{"start":{"line":27,"column":25},"end":{"line":50,"column":2}},"4":{"start":{"line":52,"column":28},"end":{"line":69,"column":4}},"5":{"start":{"line":61,"column":47},"end":{"line":61,"column":97}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":61,"column":36},"end":{"line":61,"column":37}},"loc":{"start":{"line":61,"column":45},"end":{"line":61,"column":99}},"line":61}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":28},"end":{"line":61,"column":111}},"type":"cond-expr","locations":[{"start":{"line":61,"column":36},"end":{"line":61,"column":99}},{"start":{"line":61,"column":102},"end":{"line":61,"column":111}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/en/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/en/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/es/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/es/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/fr/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/fr/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/hi/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/hi/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/nl/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/nl/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/zh/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/i18n/lang/zh/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/icons/index.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/icons/index.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/browser.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/browser.ts","statementMap":{"0":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/handlers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/handlers.ts","statementMap":{"0":{"start":{"line":4,"column":42},"end":{"line":4,"column":88}},"1":{"start":{"line":5,"column":42},"end":{"line":5,"column":86}},"2":{"start":{"line":6,"column":49},"end":{"line":6,"column":91}},"3":{"start":{"line":8,"column":45},"end":{"line":8,"column":58}},"4":{"start":{"line":9,"column":49},"end":{"line":9,"column":63}},"5":{"start":{"line":11,"column":37},"end":{"line":11,"column":61}},"6":{"start":{"line":12,"column":36},"end":{"line":12,"column":58}},"7":{"start":{"line":14,"column":37},"end":{"line":22,"column":2}},"8":{"start":{"line":15,"column":17},"end":{"line":15,"column":51}},"9":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"10":{"start":{"line":18,"column":4},"end":{"line":18,"column":79}},"11":{"start":{"line":21,"column":2},"end":{"line":21,"column":77}},"12":{"start":{"line":24,"column":42},"end":{"line":38,"column":2}},"13":{"start":{"line":25,"column":21},"end":{"line":25,"column":59}},"14":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"15":{"start":{"line":28,"column":4},"end":{"line":28,"column":78}},"16":{"start":{"line":30,"column":2},"end":{"line":37,"column":4}},"17":{"start":{"line":40,"column":40},"end":{"line":54,"column":2}},"18":{"start":{"line":41,"column":25},"end":{"line":41,"column":59}},"19":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"20":{"start":{"line":43,"column":4},"end":{"line":43,"column":77}},"21":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"22":{"start":{"line":46,"column":4},"end":{"line":51,"column":6}},"23":{"start":{"line":53,"column":2},"end":{"line":53,"column":15}},"24":{"start":{"line":56,"column":24},"end":{"line":64,"column":1}},"25":{"start":{"line":63,"column":79},"end":{"line":63,"column":132}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":45},"end":{"line":14,"column":46}},"loc":{"start":{"line":14,"column":64},"end":{"line":22,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":50},"end":{"line":24,"column":51}},"loc":{"start":{"line":24,"column":69},"end":{"line":38,"column":1}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":48},"end":{"line":40,"column":49}},"loc":{"start":{"line":40,"column":67},"end":{"line":54,"column":1}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":63,"column":60},"end":{"line":63,"column":61}},"loc":{"start":{"line":63,"column":79},"end":{"line":63,"column":132}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":27},"2":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":42},"3":{"loc":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},{"start":{},"end":{}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/server.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/mocks/server.ts","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":6,"column":46}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderGroup.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderGroup.tsx","statementMap":{"0":{"start":{"line":21,"column":2},"end":{"line":21,"column":20}},"1":{"start":{"line":25,"column":2},"end":{"line":25,"column":37}},"2":{"start":{"line":37,"column":20},"end":{"line":37,"column":29}},"3":{"start":{"line":39,"column":31},"end":{"line":39,"column":33}},"4":{"start":{"line":40,"column":23},"end":{"line":40,"column":36}},"5":{"start":{"line":42,"column":18},"end":{"line":67,"column":55}},"6":{"start":{"line":42,"column":59},"end":{"line":67,"column":3}},"7":{"start":{"line":45,"column":6},"end":{"line":51,"column":7}},"8":{"start":{"line":47,"column":38},"end":{"line":47,"column":59}},"9":{"start":{"line":49,"column":8},"end":{"line":49,"column":48}},"10":{"start":{"line":50,"column":8},"end":{"line":50,"column":31}},"11":{"start":{"line":54,"column":6},"end":{"line":54,"column":39}},"12":{"start":{"line":54,"column":32},"end":{"line":54,"column":39}},"13":{"start":{"line":56,"column":23},"end":{"line":56,"column":90}},"14":{"start":{"line":58,"column":6},"end":{"line":65,"column":7}},"15":{"start":{"line":59,"column":8},"end":{"line":59,"column":36}},"16":{"start":{"line":60,"column":8},"end":{"line":64,"column":10}},"17":{"start":{"line":63,"column":31},"end":{"line":63,"column":59}},"18":{"start":{"line":69,"column":2},"end":{"line":71,"column":5}},"19":{"start":{"line":70,"column":4},"end":{"line":70,"column":33}},"20":{"start":{"line":73,"column":2},"end":{"line":79,"column":4}}},"fnMap":{"0":{"name":"getValue","decl":{"start":{"line":20,"column":9},"end":{"line":20,"column":17}},"loc":{"start":{"line":20,"column":40},"end":{"line":22,"column":1}},"line":20},"1":{"name":"compareMin","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":19}},"loc":{"start":{"line":24,"column":55},"end":{"line":26,"column":1}},"line":24},"2":{"name":"ReorderGroup","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":28}},"loc":{"start":{"line":36,"column":2},"end":{"line":80,"column":1}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":52},"end":{"line":42,"column":53}},"loc":{"start":{"line":42,"column":59},"end":{"line":67,"column":3}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":18},"end":{"line":44,"column":19}},"loc":{"start":{"line":44,"column":37},"end":{"line":52,"column":5}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":47,"column":27},"end":{"line":47,"column":28}},"loc":{"start":{"line":47,"column":38},"end":{"line":47,"column":59}},"line":47},"6":{"name":"(anonymous_6)","decl":{"start":{"line":53,"column":17},"end":{"line":53,"column":18}},"loc":{"start":{"line":53,"column":43},"end":{"line":66,"column":5}},"line":53},"7":{"name":"(anonymous_7)","decl":{"start":{"line":63,"column":20},"end":{"line":63,"column":21}},"loc":{"start":{"line":63,"column":31},"end":{"line":63,"column":59}},"line":63},"8":{"name":"(anonymous_8)","decl":{"start":{"line":69,"column":12},"end":{"line":69,"column":13}},"loc":{"start":{"line":69,"column":18},"end":{"line":71,"column":3}},"line":69}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":45,"column":6},"end":{"line":51,"column":7}},{"start":{},"end":{}}],"line":45},"1":{"loc":{"start":{"line":46,"column":8},"end":{"line":47,"column":67}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":14}},{"start":{"line":47,"column":11},"end":{"line":47,"column":67}}],"line":46},"2":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":39}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":39}},{"start":{},"end":{}}],"line":54},"3":{"loc":{"start":{"line":56,"column":24},"end":{"line":56,"column":60}},"type":"binary-expr","locations":[{"start":{"line":56,"column":24},"end":{"line":56,"column":44}},{"start":{"line":56,"column":48},"end":{"line":56,"column":60}}],"line":56},"4":{"loc":{"start":{"line":58,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":58,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderItem.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/motion/ReorderItem.tsx","statementMap":{"0":{"start":{"line":20,"column":2},"end":{"line":20,"column":69}},"1":{"start":{"line":33,"column":20},"end":{"line":33,"column":29}},"2":{"start":{"line":35,"column":18},"end":{"line":35,"column":44}},"3":{"start":{"line":36,"column":46},"end":{"line":36,"column":54}},"4":{"start":{"line":38,"column":16},"end":{"line":41,"column":3}},"5":{"start":{"line":43,"column":17},"end":{"line":43,"column":109}},"6":{"start":{"line":43,"column":75},"end":{"line":43,"column":107}},"7":{"start":{"line":45,"column":25},"end":{"line":45,"column":49}},"8":{"start":{"line":47,"column":21},"end":{"line":53,"column":47}},"9":{"start":{"line":48,"column":25},"end":{"line":48,"column":37}},"10":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"11":{"start":{"line":50,"column":6},"end":{"line":50,"column":60}},"12":{"start":{"line":52,"column":4},"end":{"line":52,"column":34}},"13":{"start":{"line":55,"column":30},"end":{"line":57,"column":8}},"14":{"start":{"line":56,"column":4},"end":{"line":56,"column":38}},"15":{"start":{"line":59,"column":2},"end":{"line":61,"column":16}},"16":{"start":{"line":60,"column":4},"end":{"line":60,"column":49}},"17":{"start":{"line":63,"column":2},"end":{"line":81,"column":4}}},"fnMap":{"0":{"name":"useDefaultMotionValue","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":30}},"loc":{"start":{"line":17,"column":69},"end":{"line":21,"column":1}},"line":17},"1":{"name":"ReorderItem","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":27}},"loc":{"start":{"line":32,"column":2},"end":{"line":82,"column":1}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":50},"end":{"line":43,"column":51}},"loc":{"start":{"line":43,"column":75},"end":{"line":43,"column":107}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":39},"end":{"line":47,"column":40}},"loc":{"start":{"line":47,"column":113},"end":{"line":53,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":48},"end":{"line":55,"column":49}},"loc":{"start":{"line":55,"column":67},"end":{"line":57,"column":3}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":59,"column":12},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":18},"end":{"line":61,"column":3}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":43},"end":{"line":17,"column":67}},"type":"default-arg","locations":[{"start":{"line":17,"column":66},"end":{"line":17,"column":67}}],"line":17},"1":{"loc":{"start":{"line":20,"column":9},"end":{"line":20,"column":68}},"type":"cond-expr","locations":[{"start":{"line":20,"column":32},"end":{"line":20,"column":37}},{"start":{"line":20,"column":40},"end":{"line":20,"column":68}}],"line":20},"2":{"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":17}},"type":"default-arg","locations":[{"start":{"line":29,"column":13},"end":{"line":29,"column":17}}],"line":29},"3":{"loc":{"start":{"line":43,"column":75},"end":{"line":43,"column":107}},"type":"cond-expr","locations":[{"start":{"line":43,"column":96},"end":{"line":43,"column":97}},{"start":{"line":43,"column":100},"end":{"line":43,"column":107}}],"line":43},"4":{"loc":{"start":{"line":43,"column":75},"end":{"line":43,"column":93}},"type":"binary-expr","locations":[{"start":{"line":43,"column":75},"end":{"line":43,"column":82}},{"start":{"line":43,"column":86},"end":{"line":43,"column":93}}],"line":43},"5":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/CanceledError.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/CanceledError.ts","statementMap":{"0":{"start":{"line":3,"column":4},"end":{"line":3,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":2},"end":{"line":2,"column":3}},"loc":{"start":{"line":2,"column":16},"end":{"line":4,"column":3}},"line":2}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/NodeManager.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/NodeManager.ts","statementMap":{"0":{"start":{"line":18,"column":43},"end":{"line":18,"column":47}},"1":{"start":{"line":21,"column":4},"end":{"line":29,"column":7}},"2":{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},"3":{"start":{"line":23,"column":8},"end":{"line":25,"column":30}},"4":{"start":{"line":24,"column":22},"end":{"line":24,"column":27}},"5":{"start":{"line":25,"column":23},"end":{"line":25,"column":28}},"6":{"start":{"line":27,"column":8},"end":{"line":27,"column":14}},"7":{"start":{"line":33,"column":4},"end":{"line":33,"column":33}},"8":{"start":{"line":34,"column":17},"end":{"line":34,"column":38}},"9":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},"10":{"start":{"line":35,"column":15},"end":{"line":35,"column":27}},"11":{"start":{"line":36,"column":4},"end":{"line":40,"column":6}},"12":{"start":{"line":48,"column":20},"end":{"line":48,"column":85}},"13":{"start":{"line":49,"column":41},"end":{"line":49,"column":50}},"14":{"start":{"line":50,"column":45},"end":{"line":50,"column":47}},"15":{"start":{"line":53,"column":4},"end":{"line":53,"column":33}},"16":{"start":{"line":55,"column":34},"end":{"line":55,"column":38}},"17":{"start":{"line":56,"column":36},"end":{"line":56,"column":38}},"18":{"start":{"line":57,"column":4},"end":{"line":65,"column":5}},"19":{"start":{"line":58,"column":6},"end":{"line":58,"column":40}},"20":{"start":{"line":59,"column":11},"end":{"line":65,"column":5}},"21":{"start":{"line":60,"column":6},"end":{"line":60,"column":87}},"22":{"start":{"line":61,"column":11},"end":{"line":65,"column":5}},"23":{"start":{"line":62,"column":6},"end":{"line":62,"column":94}},"24":{"start":{"line":64,"column":6},"end":{"line":64,"column":80}},"25":{"start":{"line":67,"column":4},"end":{"line":75,"column":7}},"26":{"start":{"line":77,"column":4},"end":{"line":92,"column":9}},"27":{"start":{"line":78,"column":6},"end":{"line":90,"column":7}},"28":{"start":{"line":78,"column":27},"end":{"line":78,"column":28}},"29":{"start":{"line":79,"column":8},"end":{"line":89,"column":12}},"30":{"start":{"line":80,"column":23},"end":{"line":80,"column":47}},"31":{"start":{"line":82,"column":10},"end":{"line":86,"column":13}},"32":{"start":{"line":87,"column":10},"end":{"line":87,"column":25}},"33":{"start":{"line":88,"column":10},"end":{"line":88,"column":38}},"34":{"start":{"line":91,"column":6},"end":{"line":91,"column":34}},"35":{"start":{"line":93,"column":4},"end":{"line":93,"column":33}},"36":{"start":{"line":95,"column":4},"end":{"line":98,"column":7}},"37":{"start":{"line":100,"column":4},"end":{"line":100,"column":25}},"38":{"start":{"line":104,"column":34},"end":{"line":104,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":20,"column":34},"end":{"line":30,"column":3}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":29},"end":{"line":21,"column":30}},"loc":{"start":{"line":21,"column":38},"end":{"line":29,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":22},"end":{"line":24,"column":27}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":17},"end":{"line":25,"column":18}},"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":28}},"line":25},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":2},"end":{"line":32,"column":3}},"loc":{"start":{"line":32,"column":68},"end":{"line":41,"column":3}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":47,"column":5},"end":{"line":101,"column":3}},"line":47},"6":{"name":"(anonymous_6)","decl":{"start":{"line":77,"column":21},"end":{"line":77,"column":22}},"loc":{"start":{"line":77,"column":33},"end":{"line":92,"column":5}},"line":77},"7":{"name":"(anonymous_7)","decl":{"start":{"line":79,"column":44},"end":{"line":79,"column":45}},"loc":{"start":{"line":79,"column":56},"end":{"line":89,"column":9}},"line":79}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},{"start":{"line":26,"column":13},"end":{"line":28,"column":7}}],"line":22},"1":{"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":57,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":65,"column":5}},{"start":{"line":59,"column":11},"end":{"line":65,"column":5}}],"line":57},"3":{"loc":{"start":{"line":59,"column":11},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":11},"end":{"line":65,"column":5}},{"start":{"line":61,"column":11},"end":{"line":65,"column":5}}],"line":59},"4":{"loc":{"start":{"line":61,"column":11},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":11},"end":{"line":65,"column":5}},{"start":{"line":63,"column":11},"end":{"line":65,"column":5}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ProgressTracker.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ProgressTracker.ts","statementMap":{"0":{"start":{"line":8,"column":21},"end":{"line":8,"column":22}},"1":{"start":{"line":10,"column":26},"end":{"line":10,"column":27}},"2":{"start":{"line":12,"column":33},"end":{"line":12,"column":34}},"3":{"start":{"line":14,"column":31},"end":{"line":14,"column":32}},"4":{"start":{"line":17,"column":4},"end":{"line":17,"column":24}},"5":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":22}},"7":{"start":{"line":24,"column":4},"end":{"line":24,"column":27}},"8":{"start":{"line":25,"column":4},"end":{"line":25,"column":34}},"9":{"start":{"line":26,"column":4},"end":{"line":26,"column":31}},"10":{"start":{"line":27,"column":4},"end":{"line":27,"column":41}},"11":{"start":{"line":31,"column":4},"end":{"line":31,"column":28}},"12":{"start":{"line":35,"column":4},"end":{"line":44,"column":5}},"13":{"start":{"line":36,"column":6},"end":{"line":41,"column":9}},"14":{"start":{"line":42,"column":6},"end":{"line":42,"column":43}},"15":{"start":{"line":43,"column":6},"end":{"line":43,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":16,"column":54},"end":{"line":21,"column":3}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":20},"end":{"line":28,"column":3}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":2},"end":{"line":30,"column":3}},"loc":{"start":{"line":30,"column":16},"end":{"line":32,"column":3}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":29},"end":{"line":45,"column":3}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":52}},"type":"default-arg","locations":[{"start":{"line":16,"column":48},"end":{"line":16,"column":52}}],"line":16},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":35,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":35},"3":{"loc":{"start":{"line":40,"column":53},"end":{"line":40,"column":76}},"type":"binary-expr","locations":[{"start":{"line":40,"column":53},"end":{"line":40,"column":71}},{"start":{"line":40,"column":75},"end":{"line":40,"column":76}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ResolvedTypographyObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/ResolvedTypographyObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/SharedDataHandler.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/SharedDataHandler.ts","statementMap":{"0":{"start":{"line":8,"column":4},"end":{"line":8,"column":24}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":56}},"2":{"start":{"line":16,"column":18},"end":{"line":16,"column":63}},"3":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"4":{"start":{"line":18,"column":6},"end":{"line":18,"column":66}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":17}},"6":{"start":{"line":24,"column":17},"end":{"line":24,"column":32}},"7":{"start":{"line":25,"column":43},"end":{"line":25,"column":45}},"8":{"start":{"line":26,"column":4},"end":{"line":41,"column":7}},"9":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"10":{"start":{"line":28,"column":22},"end":{"line":28,"column":41}},"11":{"start":{"line":29,"column":8},"end":{"line":38,"column":9}},"12":{"start":{"line":30,"column":10},"end":{"line":37,"column":11}},"13":{"start":{"line":33,"column":32},"end":{"line":33,"column":77}},"14":{"start":{"line":34,"column":12},"end":{"line":34,"column":38}},"15":{"start":{"line":36,"column":12},"end":{"line":36,"column":30}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":18}},"17":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"18":{"start":{"line":46,"column":4},"end":{"line":46,"column":64}},"19":{"start":{"line":50,"column":39},"end":{"line":50,"column":95}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":26},"end":{"line":9,"column":3}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":23},"end":{"line":13,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":15,"column":93},"end":{"line":21,"column":3}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":42},"end":{"line":43,"column":3}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":17},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":26},"end":{"line":41,"column":5}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":45,"column":50},"end":{"line":47,"column":3}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":14},"end":{"line":18,"column":54}},"type":"cond-expr","locations":[{"start":{"line":18,"column":28},"end":{"line":18,"column":46}},{"start":{"line":18,"column":49},"end":{"line":18,"column":54}}],"line":18},"2":{"loc":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":27},"3":{"loc":{"start":{"line":29,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":33,"column":32},"end":{"line":33,"column":77}},"type":"cond-expr","locations":[{"start":{"line":33,"column":51},"end":{"line":33,"column":57}},{"start":{"line":33,"column":60},"end":{"line":33,"column":77}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenFormatStoreClass.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenFormatStoreClass.ts","statementMap":{"0":{"start":{"line":6,"column":36},"end":{"line":9,"column":1}},"1":{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},"2":{"start":{"line":22,"column":4},"end":{"line":22,"column":31}},"3":{"start":{"line":23,"column":4},"end":{"line":23,"column":45}},"4":{"start":{"line":24,"column":4},"end":{"line":24,"column":44}},"5":{"start":{"line":27,"column":21},"end":{"line":32,"column":3}},"6":{"start":{"line":28,"column":4},"end":{"line":28,"column":25}},"7":{"start":{"line":29,"column":4},"end":{"line":29,"column":81}},"8":{"start":{"line":30,"column":4},"end":{"line":30,"column":78}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":99}},"10":{"start":{"line":34,"column":21},"end":{"line":34,"column":38}},"11":{"start":{"line":34,"column":27},"end":{"line":34,"column":38}},"12":{"start":{"line":37,"column":27},"end":{"line":37,"column":54}},"13":{"start":{"line":38,"column":40},"end":{"line":38,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":20,"column":16},"end":{"line":25,"column":3}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":21},"end":{"line":27,"column":22}},"loc":{"start":{"line":27,"column":53},"end":{"line":32,"column":3}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":21},"end":{"line":34,"column":22}},"loc":{"start":{"line":34,"column":27},"end":{"line":34,"column":38}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":25},"end":{"line":29,"column":80}},"type":"cond-expr","locations":[{"start":{"line":29,"column":62},"end":{"line":29,"column":70}},{"start":{"line":29,"column":73},"end":{"line":29,"column":80}}],"line":29},"1":{"loc":{"start":{"line":30,"column":24},"end":{"line":30,"column":77}},"type":"cond-expr","locations":[{"start":{"line":30,"column":61},"end":{"line":30,"column":68}},{"start":{"line":30,"column":71},"end":{"line":30,"column":77}}],"line":30},"2":{"loc":{"start":{"line":31,"column":31},"end":{"line":31,"column":98}},"type":"cond-expr","locations":[{"start":{"line":31,"column":68},"end":{"line":31,"column":82}},{"start":{"line":31,"column":85},"end":{"line":31,"column":98}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenValueRetriever.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/TokenValueRetriever.ts","statementMap":{"0":{"start":{"line":23,"column":33},"end":{"line":25,"column":17}},"1":{"start":{"line":27,"column":30},"end":{"line":27,"column":90}},"2":{"start":{"line":27,"column":78},"end":{"line":27,"column":79}},"3":{"start":{"line":28,"column":49},"end":{"line":28,"column":120}},"4":{"start":{"line":28,"column":108},"end":{"line":28,"column":109}},"5":{"start":{"line":30,"column":4},"end":{"line":30,"column":69}},"6":{"start":{"line":50,"column":4},"end":{"line":50,"column":91}},"7":{"start":{"line":51,"column":4},"end":{"line":51,"column":61}},"8":{"start":{"line":52,"column":4},"end":{"line":52,"column":81}},"9":{"start":{"line":53,"column":4},"end":{"line":53,"column":56}},"10":{"start":{"line":54,"column":4},"end":{"line":54,"column":62}},"11":{"start":{"line":55,"column":4},"end":{"line":55,"column":46}},"12":{"start":{"line":56,"column":4},"end":{"line":56,"column":73}},"13":{"start":{"line":58,"column":4},"end":{"line":72,"column":8}},"14":{"start":{"line":59,"column":25},"end":{"line":59,"column":60}},"15":{"start":{"line":61,"column":72},"end":{"line":61,"column":109}},"16":{"start":{"line":63,"column":22},"end":{"line":63,"column":159}},"17":{"start":{"line":64,"column":37},"end":{"line":64,"column":135}},"18":{"start":{"line":66,"column":6},"end":{"line":71,"column":9}},"19":{"start":{"line":76,"column":4},"end":{"line":76,"column":38}},"20":{"start":{"line":81,"column":24},"end":{"line":81,"column":50}},"21":{"start":{"line":82,"column":29},"end":{"line":82,"column":111}},"22":{"start":{"line":83,"column":30},"end":{"line":83,"column":74}},"23":{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},"24":{"start":{"line":85,"column":6},"end":{"line":85,"column":62}},"25":{"start":{"line":86,"column":6},"end":{"line":86,"column":22}},"26":{"start":{"line":88,"column":27},"end":{"line":88,"column":159}},"27":{"start":{"line":89,"column":4},"end":{"line":89,"column":38}},"28":{"start":{"line":89,"column":25},"end":{"line":89,"column":38}},"29":{"start":{"line":90,"column":4},"end":{"line":102,"column":5}},"30":{"start":{"line":91,"column":6},"end":{"line":101,"column":7}},"31":{"start":{"line":92,"column":30},"end":{"line":92,"column":92}},"32":{"start":{"line":93,"column":8},"end":{"line":97,"column":9}},"33":{"start":{"line":94,"column":10},"end":{"line":94,"column":70}},"34":{"start":{"line":95,"column":10},"end":{"line":95,"column":35}},"35":{"start":{"line":96,"column":10},"end":{"line":96,"column":26}},"36":{"start":{"line":99,"column":8},"end":{"line":99,"column":51}},"37":{"start":{"line":100,"column":8},"end":{"line":100,"column":26}},"38":{"start":{"line":104,"column":4},"end":{"line":104,"column":44}},"39":{"start":{"line":104,"column":32},"end":{"line":104,"column":44}},"40":{"start":{"line":105,"column":4},"end":{"line":105,"column":16}},"41":{"start":{"line":109,"column":4},"end":{"line":109,"column":23}},"42":{"start":{"line":113,"column":4},"end":{"line":113,"column":77}},"43":{"start":{"line":113,"column":39},"end":{"line":113,"column":77}},"44":{"start":{"line":114,"column":4},"end":{"line":114,"column":41}},"45":{"start":{"line":114,"column":21},"end":{"line":114,"column":41}},"46":{"start":{"line":115,"column":4},"end":{"line":115,"column":65}},"47":{"start":{"line":115,"column":33},"end":{"line":115,"column":65}},"48":{"start":{"line":116,"column":4},"end":{"line":116,"column":59}},"49":{"start":{"line":116,"column":30},"end":{"line":116,"column":59}},"50":{"start":{"line":117,"column":4},"end":{"line":117,"column":63}},"51":{"start":{"line":117,"column":30},"end":{"line":117,"column":63}},"52":{"start":{"line":118,"column":4},"end":{"line":118,"column":81}},"53":{"start":{"line":118,"column":39},"end":{"line":118,"column":81}},"54":{"start":{"line":119,"column":4},"end":{"line":119,"column":101}},"55":{"start":{"line":119,"column":49},"end":{"line":119,"column":101}},"56":{"start":{"line":123,"column":35},"end":{"line":123,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":3}},"loc":{"start":{"line":22,"column":68},"end":{"line":31,"column":3}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":71},"end":{"line":27,"column":72}},"loc":{"start":{"line":27,"column":78},"end":{"line":27,"column":79}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":101},"end":{"line":28,"column":102}},"loc":{"start":{"line":28,"column":108},"end":{"line":28,"column":109}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":49,"column":5},"end":{"line":73,"column":3}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":58,"column":50},"end":{"line":58,"column":51}},"loc":{"start":{"line":58,"column":61},"end":{"line":72,"column":5}},"line":58},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":75,"column":32},"end":{"line":77,"column":3}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":79,"column":55},"end":{"line":106,"column":3}},"line":79},"7":{"name":"(anonymous_7)","decl":{"start":{"line":108,"column":2},"end":{"line":108,"column":3}},"loc":{"start":{"line":108,"column":21},"end":{"line":110,"column":3}},"line":108},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":3}},"loc":{"start":{"line":112,"column":22},"end":{"line":120,"column":3}},"line":112}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":33},"end":{"line":25,"column":17}},"type":"cond-expr","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":47}},{"start":{"line":25,"column":8},"end":{"line":25,"column":17}}],"line":23},"1":{"loc":{"start":{"line":23,"column":33},"end":{"line":23,"column":97}},"type":"binary-expr","locations":[{"start":{"line":23,"column":33},"end":{"line":23,"column":62}},{"start":{"line":23,"column":66},"end":{"line":23,"column":97}}],"line":23},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":36}},"type":"default-arg","locations":[{"start":{"line":38,"column":31},"end":{"line":38,"column":36}}],"line":38},"3":{"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":46}},"type":"default-arg","locations":[{"start":{"line":39,"column":41},"end":{"line":39,"column":46}}],"line":39},"4":{"loc":{"start":{"line":40,"column":4},"end":{"line":40,"column":85}},"type":"default-arg","locations":[{"start":{"line":40,"column":37},"end":{"line":40,"column":85}}],"line":40},"5":{"loc":{"start":{"line":50,"column":27},"end":{"line":50,"column":90}},"type":"cond-expr","locations":[{"start":{"line":50,"column":68},"end":{"line":50,"column":83}},{"start":{"line":50,"column":86},"end":{"line":50,"column":90}}],"line":50},"6":{"loc":{"start":{"line":53,"column":27},"end":{"line":53,"column":55}},"type":"binary-expr","locations":[{"start":{"line":53,"column":27},"end":{"line":53,"column":42}},{"start":{"line":53,"column":46},"end":{"line":53,"column":55}}],"line":53},"7":{"loc":{"start":{"line":54,"column":30},"end":{"line":54,"column":61}},"type":"binary-expr","locations":[{"start":{"line":54,"column":30},"end":{"line":54,"column":48}},{"start":{"line":54,"column":52},"end":{"line":54,"column":61}}],"line":54},"8":{"loc":{"start":{"line":63,"column":22},"end":{"line":63,"column":159}},"type":"binary-expr","locations":[{"start":{"line":63,"column":22},"end":{"line":63,"column":61}},{"start":{"line":63,"column":65},"end":{"line":63,"column":123}},{"start":{"line":63,"column":127},"end":{"line":63,"column":159}}],"line":63},"9":{"loc":{"start":{"line":64,"column":37},"end":{"line":64,"column":135}},"type":"cond-expr","locations":[{"start":{"line":64,"column":79},"end":{"line":64,"column":96}},{"start":{"line":64,"column":99},"end":{"line":64,"column":135}}],"line":64},"10":{"loc":{"start":{"line":70,"column":27},"end":{"line":70,"column":79}},"type":"cond-expr","locations":[{"start":{"line":70,"column":37},"end":{"line":70,"column":59}},{"start":{"line":70,"column":62},"end":{"line":70,"column":79}}],"line":70},"11":{"loc":{"start":{"line":82,"column":29},"end":{"line":82,"column":111}},"type":"binary-expr","locations":[{"start":{"line":82,"column":29},"end":{"line":82,"column":69}},{"start":{"line":82,"column":73},"end":{"line":82,"column":111}}],"line":82},"12":{"loc":{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},{"start":{},"end":{}}],"line":84},"13":{"loc":{"start":{"line":88,"column":27},"end":{"line":88,"column":159}},"type":"binary-expr","locations":[{"start":{"line":88,"column":27},"end":{"line":88,"column":65}},{"start":{"line":88,"column":70},"end":{"line":88,"column":158}}],"line":88},"14":{"loc":{"start":{"line":88,"column":70},"end":{"line":88,"column":158}},"type":"cond-expr","locations":[{"start":{"line":88,"column":89},"end":{"line":88,"column":151}},{"start":{"line":88,"column":154},"end":{"line":88,"column":158}}],"line":88},"15":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":38}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":38}},{"start":{},"end":{}}],"line":89},"16":{"loc":{"start":{"line":90,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":102,"column":5}},{"start":{},"end":{}}],"line":90},"17":{"loc":{"start":{"line":90,"column":8},"end":{"line":90,"column":64}},"type":"binary-expr","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":26}},{"start":{"line":90,"column":30},"end":{"line":90,"column":64}}],"line":90},"18":{"loc":{"start":{"line":93,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":97,"column":9}},{"start":{},"end":{}}],"line":93},"19":{"loc":{"start":{"line":104,"column":4},"end":{"line":104,"column":44}},"type":"if","locations":[{"start":{"line":104,"column":4},"end":{"line":104,"column":44}},{"start":{},"end":{}}],"line":104},"20":{"loc":{"start":{"line":113,"column":4},"end":{"line":113,"column":77}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":113,"column":77}},{"start":{},"end":{}}],"line":113},"21":{"loc":{"start":{"line":114,"column":4},"end":{"line":114,"column":41}},"type":"if","locations":[{"start":{"line":114,"column":4},"end":{"line":114,"column":41}},{"start":{},"end":{}}],"line":114},"22":{"loc":{"start":{"line":115,"column":4},"end":{"line":115,"column":65}},"type":"if","locations":[{"start":{"line":115,"column":4},"end":{"line":115,"column":65}},{"start":{},"end":{}}],"line":115},"23":{"loc":{"start":{"line":116,"column":4},"end":{"line":116,"column":59}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":116,"column":59}},{"start":{},"end":{}}],"line":116},"24":{"loc":{"start":{"line":117,"column":4},"end":{"line":117,"column":63}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":117,"column":63}},{"start":{},"end":{}}],"line":117},"25":{"loc":{"start":{"line":118,"column":4},"end":{"line":118,"column":81}},"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":118,"column":81}},{"start":{},"end":{}}],"line":118},"26":{"loc":{"start":{"line":119,"column":4},"end":{"line":119,"column":101}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":119,"column":101}},{"start":{},"end":{}}],"line":119}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/Worker.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/Worker.ts","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"1":{"start":{"line":12,"column":30},"end":{"line":12,"column":39}},"2":{"start":{"line":14,"column":20},"end":{"line":14,"column":38}},"3":{"start":{"line":16,"column":60},"end":{"line":16,"column":64}},"4":{"start":{"line":18,"column":17},"end":{"line":44,"column":3}},"5":{"start":{"line":19,"column":23},"end":{"line":19,"column":24}},"6":{"start":{"line":21,"column":41},"end":{"line":21,"column":50}},"7":{"start":{"line":24,"column":4},"end":{"line":37,"column":5}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":29}},"9":{"start":{"line":26,"column":6},"end":{"line":31,"column":10}},"10":{"start":{"line":27,"column":8},"end":{"line":30,"column":11}},"11":{"start":{"line":28,"column":10},"end":{"line":28,"column":60}},"12":{"start":{"line":29,"column":10},"end":{"line":29,"column":20}},"13":{"start":{"line":33,"column":6},"end":{"line":33,"column":24}},"14":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"15":{"start":{"line":35,"column":8},"end":{"line":35,"column":14}},"16":{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},"17":{"start":{"line":40,"column":6},"end":{"line":40,"column":48}},"18":{"start":{"line":43,"column":4},"end":{"line":43,"column":32}},"19":{"start":{"line":46,"column":20},"end":{"line":57,"column":3}},"20":{"start":{"line":47,"column":4},"end":{"line":47,"column":26}},"21":{"start":{"line":48,"column":15},"end":{"line":48,"column":31}},"22":{"start":{"line":49,"column":20},"end":{"line":54,"column":6}},"23":{"start":{"line":50,"column":6},"end":{"line":52,"column":9}},"24":{"start":{"line":51,"column":8},"end":{"line":51,"column":33}},"25":{"start":{"line":53,"column":6},"end":{"line":53,"column":48}},"26":{"start":{"line":55,"column":4},"end":{"line":55,"column":30}},"27":{"start":{"line":56,"column":4},"end":{"line":56,"column":19}},"28":{"start":{"line":59,"column":18},"end":{"line":63,"column":3}},"29":{"start":{"line":60,"column":4},"end":{"line":60,"column":22}},"30":{"start":{"line":61,"column":4},"end":{"line":61,"column":46}},"31":{"start":{"line":62,"column":4},"end":{"line":62,"column":38}},"32":{"start":{"line":65,"column":17},"end":{"line":67,"column":3}},"33":{"start":{"line":66,"column":4},"end":{"line":66,"column":46}},"34":{"start":{"line":69,"column":16},"end":{"line":74,"column":3}},"35":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"36":{"start":{"line":71,"column":6},"end":{"line":71,"column":35}},"37":{"start":{"line":72,"column":6},"end":{"line":72,"column":28}},"38":{"start":{"line":77,"column":29},"end":{"line":77,"column":41}},"39":{"start":{"line":78,"column":0},"end":{"line":78,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":17},"end":{"line":18,"column":18}},"loc":{"start":{"line":18,"column":29},"end":{"line":44,"column":3}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":31},"end":{"line":26,"column":32}},"loc":{"start":{"line":26,"column":44},"end":{"line":31,"column":7}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":23},"end":{"line":27,"column":24}},"loc":{"start":{"line":27,"column":35},"end":{"line":30,"column":9}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":20},"end":{"line":46,"column":21}},"loc":{"start":{"line":46,"column":61},"end":{"line":57,"column":3}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":49,"column":35},"end":{"line":49,"column":36}},"loc":{"start":{"line":49,"column":49},"end":{"line":54,"column":5}},"line":49},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":36},"end":{"line":50,"column":37}},"loc":{"start":{"line":50,"column":42},"end":{"line":52,"column":7}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":59,"column":18},"end":{"line":59,"column":19}},"loc":{"start":{"line":59,"column":24},"end":{"line":63,"column":3}},"line":59},"7":{"name":"(anonymous_7)","decl":{"start":{"line":65,"column":17},"end":{"line":65,"column":18}},"loc":{"start":{"line":65,"column":23},"end":{"line":67,"column":3}},"line":65},"8":{"name":"(anonymous_8)","decl":{"start":{"line":69,"column":16},"end":{"line":69,"column":17}},"loc":{"start":{"line":69,"column":22},"end":{"line":74,"column":3}},"line":69}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},{"start":{},"end":{}}],"line":34},"1":{"loc":{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":39},"2":{"loc":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyAssetTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyAssetTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":11,"column":4},"end":{"line":11,"column":64}}},"fnMap":{"0":{"name":"applyAssetTokenValuesOnNode","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":49}},"loc":{"start":{"line":9,"column":2},"end":{"line":13,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":73}},"type":"binary-expr","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":18}},{"start":{"line":10,"column":22},"end":{"line":10,"column":54}},{"start":{"line":10,"column":58},"end":{"line":10,"column":73}}],"line":10}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBackgroundBlurValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBackgroundBlurValuesOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":92}}},"fnMap":{"0":{"name":"applyBackgroundBlurValuesOnNode","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":53}},"loc":{"start":{"line":11,"column":2},"end":{"line":15,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":114}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":23}},{"start":{"line":12,"column":27},"end":{"line":12,"column":71}},{"start":{"line":12,"column":75},"end":{"line":12,"column":114}}],"line":12}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBooleanTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBooleanTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"1":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"2":{"start":{"line":17,"column":6},"end":{"line":17,"column":26}},"3":{"start":{"line":18,"column":11},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":27}}},"fnMap":{"0":{"name":"applyBooleanTokenValuesOnNode","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":51}},"loc":{"start":{"line":9,"column":2},"end":{"line":22,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":14,"column":68}},"type":"binary-expr","locations":[{"start":{"line":11,"column":4},"end":{"line":11,"column":21}},{"start":{"line":12,"column":7},"end":{"line":12,"column":44}},{"start":{"line":13,"column":7},"end":{"line":13,"column":45}},{"start":{"line":14,"column":7},"end":{"line":14,"column":68}}],"line":11},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":11},"end":{"line":20,"column":5}}],"line":16},"3":{"loc":{"start":{"line":18,"column":11},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":11},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderRadiusValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderRadiusValuesOnNode.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":106,"column":3}},"1":{"start":{"line":17,"column":4},"end":{"line":65,"column":5}},"2":{"start":{"line":22,"column":37},"end":{"line":22,"column":75}},"3":{"start":{"line":23,"column":6},"end":{"line":64,"column":7}},"4":{"start":{"line":25,"column":10},"end":{"line":36,"column":11}},"5":{"start":{"line":26,"column":12},"end":{"line":35,"column":13}},"6":{"start":{"line":34,"column":14},"end":{"line":34,"column":108}},"7":{"start":{"line":37,"column":10},"end":{"line":37,"column":16}},"8":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"9":{"start":{"line":40,"column":12},"end":{"line":40,"column":113}},"10":{"start":{"line":41,"column":12},"end":{"line":41,"column":114}},"11":{"start":{"line":42,"column":12},"end":{"line":42,"column":117}},"12":{"start":{"line":43,"column":12},"end":{"line":43,"column":116}},"13":{"start":{"line":45,"column":10},"end":{"line":45,"column":16}},"14":{"start":{"line":47,"column":10},"end":{"line":52,"column":11}},"15":{"start":{"line":48,"column":12},"end":{"line":48,"column":113}},"16":{"start":{"line":49,"column":12},"end":{"line":49,"column":114}},"17":{"start":{"line":50,"column":12},"end":{"line":50,"column":117}},"18":{"start":{"line":51,"column":12},"end":{"line":51,"column":116}},"19":{"start":{"line":53,"column":10},"end":{"line":53,"column":16}},"20":{"start":{"line":55,"column":10},"end":{"line":60,"column":11}},"21":{"start":{"line":56,"column":12},"end":{"line":56,"column":113}},"22":{"start":{"line":57,"column":12},"end":{"line":57,"column":114}},"23":{"start":{"line":58,"column":12},"end":{"line":58,"column":117}},"24":{"start":{"line":59,"column":12},"end":{"line":59,"column":116}},"25":{"start":{"line":61,"column":10},"end":{"line":61,"column":16}},"26":{"start":{"line":63,"column":10},"end":{"line":63,"column":16}},"27":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"28":{"start":{"line":72,"column":6},"end":{"line":74,"column":7}},"29":{"start":{"line":73,"column":8},"end":{"line":73,"column":110}},"30":{"start":{"line":76,"column":4},"end":{"line":85,"column":5}},"31":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"32":{"start":{"line":83,"column":8},"end":{"line":83,"column":112}},"33":{"start":{"line":86,"column":4},"end":{"line":95,"column":5}},"34":{"start":{"line":92,"column":6},"end":{"line":94,"column":7}},"35":{"start":{"line":93,"column":8},"end":{"line":93,"column":118}},"36":{"start":{"line":96,"column":4},"end":{"line":105,"column":5}},"37":{"start":{"line":102,"column":6},"end":{"line":104,"column":7}},"38":{"start":{"line":103,"column":8},"end":{"line":103,"column":116}}},"fnMap":{"0":{"name":"applyBorderRadiusValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":51}},"loc":{"start":{"line":12,"column":2},"end":{"line":107,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":106,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":106,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":38}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":29}},{"start":{"line":15,"column":7},"end":{"line":15,"column":38}}],"line":14},"2":{"loc":{"start":{"line":17,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":18,"column":6},"end":{"line":20,"column":46}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":48}},{"start":{"line":19,"column":9},"end":{"line":19,"column":49}},{"start":{"line":20,"column":9},"end":{"line":20,"column":46}}],"line":18},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":64,"column":7}},"type":"switch","locations":[{"start":{"line":24,"column":8},"end":{"line":37,"column":16}},{"start":{"line":38,"column":8},"end":{"line":45,"column":16}},{"start":{"line":46,"column":8},"end":{"line":53,"column":16}},{"start":{"line":54,"column":8},"end":{"line":61,"column":16}},{"start":{"line":62,"column":8},"end":{"line":63,"column":16}}],"line":23},"5":{"loc":{"start":{"line":25,"column":10},"end":{"line":36,"column":11}},"type":"if","locations":[{"start":{"line":25,"column":10},"end":{"line":36,"column":11}},{"start":{},"end":{}}],"line":25},"6":{"loc":{"start":{"line":26,"column":12},"end":{"line":35,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":35,"column":13}},{"start":{},"end":{}}],"line":26},"7":{"loc":{"start":{"line":28,"column":16},"end":{"line":31,"column":90}},"type":"binary-expr","locations":[{"start":{"line":28,"column":17},"end":{"line":28,"column":83}},{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},{"start":{"line":30,"column":20},"end":{"line":30,"column":90}},{"start":{"line":31,"column":20},"end":{"line":31,"column":89}}],"line":28},"8":{"loc":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"type":"if","locations":[{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},{"start":{},"end":{}}],"line":39},"9":{"loc":{"start":{"line":47,"column":10},"end":{"line":52,"column":11}},"type":"if","locations":[{"start":{"line":47,"column":10},"end":{"line":52,"column":11}},{"start":{},"end":{}}],"line":47},"10":{"loc":{"start":{"line":55,"column":10},"end":{"line":60,"column":11}},"type":"if","locations":[{"start":{"line":55,"column":10},"end":{"line":60,"column":11}},{"start":{},"end":{}}],"line":55},"11":{"loc":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},{"start":{},"end":{}}],"line":66},"12":{"loc":{"start":{"line":67,"column":6},"end":{"line":70,"column":53}},"type":"binary-expr","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":29}},{"start":{"line":68,"column":9},"end":{"line":68,"column":58}},{"start":{"line":69,"column":9},"end":{"line":69,"column":56}},{"start":{"line":70,"column":9},"end":{"line":70,"column":53}}],"line":67},"13":{"loc":{"start":{"line":72,"column":6},"end":{"line":74,"column":7}},"type":"if","locations":[{"start":{"line":72,"column":6},"end":{"line":74,"column":7}},{"start":{},"end":{}}],"line":72},"14":{"loc":{"start":{"line":76,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":76},"15":{"loc":{"start":{"line":77,"column":6},"end":{"line":80,"column":54}},"type":"binary-expr","locations":[{"start":{"line":77,"column":6},"end":{"line":77,"column":30}},{"start":{"line":78,"column":9},"end":{"line":78,"column":59}},{"start":{"line":79,"column":9},"end":{"line":79,"column":57}},{"start":{"line":80,"column":9},"end":{"line":80,"column":54}}],"line":77},"16":{"loc":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":82},"17":{"loc":{"start":{"line":86,"column":4},"end":{"line":95,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":95,"column":5}},{"start":{},"end":{}}],"line":86},"18":{"loc":{"start":{"line":87,"column":6},"end":{"line":90,"column":57}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":33}},{"start":{"line":88,"column":9},"end":{"line":88,"column":62}},{"start":{"line":89,"column":9},"end":{"line":89,"column":60}},{"start":{"line":90,"column":9},"end":{"line":90,"column":57}}],"line":87},"19":{"loc":{"start":{"line":92,"column":6},"end":{"line":94,"column":7}},"type":"if","locations":[{"start":{"line":92,"column":6},"end":{"line":94,"column":7}},{"start":{},"end":{}}],"line":92},"20":{"loc":{"start":{"line":96,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":96},"21":{"loc":{"start":{"line":97,"column":6},"end":{"line":100,"column":56}},"type":"binary-expr","locations":[{"start":{"line":97,"column":6},"end":{"line":97,"column":32}},{"start":{"line":98,"column":9},"end":{"line":98,"column":61}},{"start":{"line":99,"column":9},"end":{"line":99,"column":59}},{"start":{"line":100,"column":9},"end":{"line":100,"column":56}}],"line":97},"22":{"loc":{"start":{"line":102,"column":6},"end":{"line":104,"column":7}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":104,"column":7}},{"start":{},"end":{}}],"line":102}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0,0,0,0],"5":[0,0],"6":[0,0],"7":[0,0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0,0,0],"16":[0,0],"17":[0,0],"18":[0,0,0,0],"19":[0,0],"20":[0,0],"21":[0,0,0,0],"22":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":74}},"2":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":84}},"4":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":88}},"6":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"7":{"start":{"line":24,"column":4},"end":{"line":24,"column":90}},"8":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"9":{"start":{"line":27,"column":4},"end":{"line":27,"column":86}},"10":{"start":{"line":31,"column":2},"end":{"line":37,"column":3}},"11":{"start":{"line":32,"column":4},"end":{"line":36,"column":7}},"12":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"13":{"start":{"line":41,"column":4},"end":{"line":47,"column":5}},"14":{"start":{"line":42,"column":6},"end":{"line":46,"column":9}}},"fnMap":{"0":{"name":"applyBorderValuesOnNode","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":39}},"loc":{"start":{"line":12,"column":2},"end":{"line":49,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":60}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":19}},{"start":{"line":14,"column":23},"end":{"line":14,"column":60}}],"line":14},"2":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":66}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":22}},{"start":{"line":17,"column":26},"end":{"line":17,"column":66}}],"line":17},"4":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":20},"5":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":70}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":24}},{"start":{"line":20,"column":28},"end":{"line":20,"column":70}}],"line":20},"6":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{},"end":{}}],"line":23},"7":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":72}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":25}},{"start":{"line":23,"column":29},"end":{"line":23,"column":72}}],"line":23},"8":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"9":{"loc":{"start":{"line":26,"column":6},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":23}},{"start":{"line":26,"column":27},"end":{"line":26,"column":68}}],"line":26},"10":{"loc":{"start":{"line":31,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":31},"11":{"loc":{"start":{"line":31,"column":6},"end":{"line":31,"column":94}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":19}},{"start":{"line":31,"column":23},"end":{"line":31,"column":56}},{"start":{"line":31,"column":60},"end":{"line":31,"column":94}}],"line":31},"12":{"loc":{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":48,"column":3}},{"start":{},"end":{}}],"line":40},"13":{"loc":{"start":{"line":40,"column":6},"end":{"line":40,"column":89}},"type":"binary-expr","locations":[{"start":{"line":40,"column":6},"end":{"line":40,"column":47}},{"start":{"line":40,"column":51},"end":{"line":40,"column":89}}],"line":40},"14":{"loc":{"start":{"line":41,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":41},"15":{"loc":{"start":{"line":41,"column":8},"end":{"line":41,"column":45}},"type":"binary-expr","locations":[{"start":{"line":41,"column":8},"end":{"line":41,"column":25}},{"start":{"line":41,"column":29},"end":{"line":41,"column":45}}],"line":41}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderWidthValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyBorderWidthValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":28,"column":3}},"1":{"start":{"line":27,"column":4},"end":{"line":27,"column":96}},"2":{"start":{"line":30,"column":2},"end":{"line":37,"column":3}},"3":{"start":{"line":36,"column":4},"end":{"line":36,"column":105}},"4":{"start":{"line":39,"column":2},"end":{"line":46,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":111}},"6":{"start":{"line":48,"column":2},"end":{"line":55,"column":3}},"7":{"start":{"line":54,"column":4},"end":{"line":54,"column":114}},"8":{"start":{"line":57,"column":2},"end":{"line":64,"column":3}},"9":{"start":{"line":63,"column":4},"end":{"line":63,"column":108}}},"fnMap":{"0":{"name":"applyBorderWidthValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":50}},"loc":{"start":{"line":12,"column":2},"end":{"line":65,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":25,"column":5}},"type":"binary-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":26}},{"start":{"line":16,"column":7},"end":{"line":16,"column":48}},{"start":{"line":17,"column":7},"end":{"line":17,"column":46}},{"start":{"line":18,"column":7},"end":{"line":18,"column":43}},{"start":{"line":20,"column":7},"end":{"line":25,"column":5}}],"line":15},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":24,"column":79}},"type":"binary-expr","locations":[{"start":{"line":21,"column":7},"end":{"line":21,"column":74}},{"start":{"line":22,"column":10},"end":{"line":22,"column":79}},{"start":{"line":23,"column":10},"end":{"line":23,"column":80}},{"start":{"line":24,"column":10},"end":{"line":24,"column":78}}],"line":21},"3":{"loc":{"start":{"line":30,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":30},"4":{"loc":{"start":{"line":31,"column":4},"end":{"line":34,"column":80}},"type":"binary-expr","locations":[{"start":{"line":31,"column":4},"end":{"line":31,"column":29}},{"start":{"line":32,"column":7},"end":{"line":32,"column":51}},{"start":{"line":33,"column":7},"end":{"line":33,"column":49}},{"start":{"line":34,"column":7},"end":{"line":34,"column":80}}],"line":31},"5":{"loc":{"start":{"line":39,"column":2},"end":{"line":46,"column":3}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":46,"column":3}},{"start":{},"end":{}}],"line":39},"6":{"loc":{"start":{"line":40,"column":4},"end":{"line":43,"column":84}},"type":"binary-expr","locations":[{"start":{"line":40,"column":4},"end":{"line":40,"column":31}},{"start":{"line":41,"column":7},"end":{"line":41,"column":53}},{"start":{"line":42,"column":7},"end":{"line":42,"column":51}},{"start":{"line":43,"column":7},"end":{"line":43,"column":84}}],"line":40},"7":{"loc":{"start":{"line":48,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":48,"column":2},"end":{"line":55,"column":3}},{"start":{},"end":{}}],"line":48},"8":{"loc":{"start":{"line":49,"column":4},"end":{"line":52,"column":86}},"type":"binary-expr","locations":[{"start":{"line":49,"column":4},"end":{"line":49,"column":32}},{"start":{"line":50,"column":7},"end":{"line":50,"column":54}},{"start":{"line":51,"column":7},"end":{"line":51,"column":52}},{"start":{"line":52,"column":7},"end":{"line":52,"column":86}}],"line":49},"9":{"loc":{"start":{"line":57,"column":2},"end":{"line":64,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":64,"column":3}},{"start":{},"end":{}}],"line":57},"10":{"loc":{"start":{"line":58,"column":4},"end":{"line":61,"column":82}},"type":"binary-expr","locations":[{"start":{"line":58,"column":4},"end":{"line":58,"column":30}},{"start":{"line":59,"column":7},"end":{"line":59,"column":52}},{"start":{"line":60,"column":7},"end":{"line":60,"column":50}},{"start":{"line":61,"column":7},"end":{"line":61,"column":82}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0],"10":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyColorTokenOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyColorTokenOnNode.ts","statementMap":{"0":{"start":{"line":11,"column":20},"end":{"line":11,"column":29}},"1":{"start":{"line":12,"column":21},"end":{"line":12,"column":32}},"2":{"start":{"line":13,"column":2},"end":{"line":47,"column":3}},"3":{"start":{"line":20,"column":26},"end":{"line":20,"column":67}},"4":{"start":{"line":21,"column":26},"end":{"line":21,"column":48}},"5":{"start":{"line":24,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":25,"column":31},"end":{"line":25,"column":53}},"7":{"start":{"line":26,"column":28},"end":{"line":26,"column":77}},"8":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"9":{"start":{"line":28,"column":8},"end":{"line":38,"column":9}},"10":{"start":{"line":30,"column":10},"end":{"line":30,"column":45}},"11":{"start":{"line":31,"column":10},"end":{"line":31,"column":53}},"12":{"start":{"line":32,"column":15},"end":{"line":38,"column":9}},"13":{"start":{"line":37,"column":10},"end":{"line":37,"column":69}},"14":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":45,"column":9}}},"fnMap":{"0":{"name":"applyColorTokenOnNode","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":43}},"loc":{"start":{"line":10,"column":116},"end":{"line":48,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":18,"column":78}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":14}},{"start":{"line":15,"column":7},"end":{"line":15,"column":37}},{"start":{"line":16,"column":7},"end":{"line":16,"column":22}},{"start":{"line":17,"column":7},"end":{"line":17,"column":16}},{"start":{"line":18,"column":7},"end":{"line":18,"column":78}}],"line":14},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":27},"4":{"loc":{"start":{"line":28,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":38,"column":9}},{"start":{"line":32,"column":15},"end":{"line":38,"column":9}}],"line":28},"5":{"loc":{"start":{"line":32,"column":15},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":15},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":32},"6":{"loc":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},{"start":{},"end":{}}],"line":42},"7":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":102}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":24}},{"start":{"line":42,"column":29},"end":{"line":42,"column":44}},{"start":{"line":42,"column":48},"end":{"line":42,"column":101}}],"line":42}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyDimensionTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyDimensionTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":37,"column":3}},"1":{"start":{"line":18,"column":4},"end":{"line":36,"column":5}},"2":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"3":{"start":{"line":20,"column":8},"end":{"line":20,"column":43}},"4":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":93}},"6":{"start":{"line":26,"column":11},"end":{"line":36,"column":5}},"7":{"start":{"line":27,"column":6},"end":{"line":35,"column":7}},"8":{"start":{"line":33,"column":21},"end":{"line":33,"column":85}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":32}}},"fnMap":{"0":{"name":"applyDimensionTokenValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":53}},"loc":{"start":{"line":12,"column":2},"end":{"line":38,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":41}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":43}},{"start":{"line":15,"column":7},"end":{"line":15,"column":44}},{"start":{"line":16,"column":7},"end":{"line":16,"column":41}}],"line":14},"2":{"loc":{"start":{"line":18,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":36,"column":5}},{"start":{"line":26,"column":11},"end":{"line":36,"column":5}}],"line":18},"3":{"loc":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},{"start":{},"end":{}}],"line":19},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":26,"column":11},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":11},"end":{"line":36,"column":5}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":27,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":35,"column":7}},{"start":{},"end":{}}],"line":27},"7":{"loc":{"start":{"line":29,"column":10},"end":{"line":30,"column":71}},"type":"binary-expr","locations":[{"start":{"line":29,"column":11},"end":{"line":29,"column":66}},{"start":{"line":30,"column":14},"end":{"line":30,"column":70}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyNumberTokenValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyNumberTokenValuesOnNode.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":33,"column":3}},"1":{"start":{"line":14,"column":4},"end":{"line":32,"column":5}},"2":{"start":{"line":15,"column":6},"end":{"line":17,"column":7}},"3":{"start":{"line":16,"column":8},"end":{"line":16,"column":43}},"4":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"5":{"start":{"line":20,"column":8},"end":{"line":20,"column":90}},"6":{"start":{"line":22,"column":11},"end":{"line":32,"column":5}},"7":{"start":{"line":23,"column":6},"end":{"line":31,"column":7}},"8":{"start":{"line":29,"column":21},"end":{"line":29,"column":82}},"9":{"start":{"line":30,"column":8},"end":{"line":30,"column":32}}},"fnMap":{"0":{"name":"applyNumberTokenValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":50}},"loc":{"start":{"line":12,"column":2},"end":{"line":34,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":115}},"type":"binary-expr","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":42}},{"start":{"line":13,"column":46},"end":{"line":13,"column":80}},{"start":{"line":13,"column":84},"end":{"line":13,"column":115}}],"line":13},"2":{"loc":{"start":{"line":14,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":32,"column":5}},{"start":{"line":22,"column":11},"end":{"line":32,"column":5}}],"line":14},"3":{"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":7}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":17,"column":7}},{"start":{},"end":{}}],"line":15},"4":{"loc":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},{"start":{},"end":{}}],"line":19},"5":{"loc":{"start":{"line":22,"column":11},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":11},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":22},"6":{"loc":{"start":{"line":23,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":31,"column":7}},{"start":{},"end":{}}],"line":23},"7":{"loc":{"start":{"line":25,"column":10},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":25,"column":11},"end":{"line":25,"column":63}},{"start":{"line":26,"column":14},"end":{"line":26,"column":67}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyOpacityValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyOpacityValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},"1":{"start":{"line":21,"column":4},"end":{"line":21,"column":83}}},"fnMap":{"0":{"name":"applyOpacityValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":46}},"loc":{"start":{"line":12,"column":2},"end":{"line":23,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":19,"column":65}},"type":"binary-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":21}},{"start":{"line":16,"column":7},"end":{"line":16,"column":44}},{"start":{"line":17,"column":7},"end":{"line":17,"column":42}},{"start":{"line":18,"column":7},"end":{"line":18,"column":39}},{"start":{"line":19,"column":7},"end":{"line":19,"column":65}}],"line":15}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyPositionTokenOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyPositionTokenOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":23,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"2":{"start":{"line":16,"column":16},"end":{"line":16,"column":75}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":17}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"5":{"start":{"line":20,"column":16},"end":{"line":20,"column":75}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":17}}},"fnMap":{"0":{"name":"applyPositionTokenOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":46}},"loc":{"start":{"line":12,"column":2},"end":{"line":24,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":23,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":84}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":30}},{"start":{"line":14,"column":34},"end":{"line":14,"column":54}},{"start":{"line":14,"column":58},"end":{"line":14,"column":84}}],"line":14},"2":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":15},"3":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":69}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":39}},{"start":{"line":15,"column":43},"end":{"line":15,"column":69}}],"line":15},"4":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":19},"5":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":69}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":39}},{"start":{"line":19,"column":43},"end":{"line":19,"column":69}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyRotationValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyRotationValuesOnNode.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":24,"column":3}},"1":{"start":{"line":22,"column":21},"end":{"line":22,"column":86}},"2":{"start":{"line":23,"column":4},"end":{"line":23,"column":31}}},"fnMap":{"0":{"name":"applyRotationValuesOnNode","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":47}},"loc":{"start":{"line":13,"column":2},"end":{"line":25,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":24,"column":3}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":16,"column":4},"end":{"line":20,"column":40}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":28}},{"start":{"line":17,"column":7},"end":{"line":17,"column":27}},{"start":{"line":18,"column":7},"end":{"line":18,"column":45}},{"start":{"line":19,"column":7},"end":{"line":19,"column":33}},{"start":{"line":20,"column":7},"end":{"line":20,"column":40}}],"line":16}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyShadowValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyShadowValuesOnNode.ts","statementMap":{"0":{"start":{"line":16,"column":2},"end":{"line":47,"column":3}},"1":{"start":{"line":17,"column":26},"end":{"line":17,"column":72}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},"3":{"start":{"line":18,"column":24},"end":{"line":18,"column":31}},"4":{"start":{"line":19,"column":26},"end":{"line":19,"column":48}},"5":{"start":{"line":22,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":23,"column":6},"end":{"line":39,"column":7}},"7":{"start":{"line":24,"column":33},"end":{"line":24,"column":57}},"8":{"start":{"line":25,"column":30},"end":{"line":25,"column":81}},"9":{"start":{"line":26,"column":8},"end":{"line":38,"column":9}},"10":{"start":{"line":27,"column":10},"end":{"line":37,"column":11}},"11":{"start":{"line":29,"column":12},"end":{"line":29,"column":47}},"12":{"start":{"line":30,"column":12},"end":{"line":30,"column":55}},"13":{"start":{"line":31,"column":17},"end":{"line":37,"column":11}},"14":{"start":{"line":36,"column":12},"end":{"line":36,"column":71}},"15":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"16":{"start":{"line":43,"column":6},"end":{"line":45,"column":7}},"17":{"start":{"line":44,"column":8},"end":{"line":44,"column":68}}},"fnMap":{"0":{"name":"applyShadowValuesOnNode","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":45}},"loc":{"start":{"line":15,"column":2},"end":{"line":48,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":84}},"type":"binary-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":23}},{"start":{"line":16,"column":27},"end":{"line":16,"column":66}},{"start":{"line":16,"column":70},"end":{"line":16,"column":84}}],"line":16},"2":{"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":31}},{"start":{},"end":{}}],"line":18},"3":{"loc":{"start":{"line":22,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":22},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":26,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":27,"column":10},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":27,"column":10},"end":{"line":37,"column":11}},{"start":{"line":31,"column":17},"end":{"line":37,"column":11}}],"line":27},"7":{"loc":{"start":{"line":31,"column":17},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":31,"column":17},"end":{"line":37,"column":11}},{"start":{},"end":{}}],"line":31},"8":{"loc":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":104}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":24}},{"start":{"line":42,"column":29},"end":{"line":42,"column":44}},{"start":{"line":42,"column":48},"end":{"line":42,"column":103}}],"line":42},"10":{"loc":{"start":{"line":43,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":43,"column":6},"end":{"line":45,"column":7}},{"start":{},"end":{}}],"line":43}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySizingValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySizingValuesOnNode.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":29,"column":3}},"1":{"start":{"line":27,"column":17},"end":{"line":27,"column":78}},"2":{"start":{"line":28,"column":4},"end":{"line":28,"column":28}},"3":{"start":{"line":32,"column":2},"end":{"line":40,"column":3}},"4":{"start":{"line":39,"column":4},"end":{"line":39,"column":91}},"5":{"start":{"line":43,"column":2},"end":{"line":51,"column":3}},"6":{"start":{"line":50,"column":4},"end":{"line":50,"column":91}},"7":{"start":{"line":54,"column":2},"end":{"line":104,"column":3}},"8":{"start":{"line":62,"column":4},"end":{"line":70,"column":5}},"9":{"start":{"line":69,"column":6},"end":{"line":69,"column":86}},"10":{"start":{"line":73,"column":4},"end":{"line":81,"column":5}},"11":{"start":{"line":80,"column":6},"end":{"line":80,"column":86}},"12":{"start":{"line":84,"column":4},"end":{"line":92,"column":5}},"13":{"start":{"line":91,"column":6},"end":{"line":91,"column":88}},"14":{"start":{"line":95,"column":4},"end":{"line":103,"column":5}},"15":{"start":{"line":102,"column":6},"end":{"line":102,"column":88}}},"fnMap":{"0":{"name":"applySizingValuesOnNode","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":45}},"loc":{"start":{"line":14,"column":2},"end":{"line":105,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},"type":"binary-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":20}},{"start":{"line":19,"column":7},"end":{"line":19,"column":43}},{"start":{"line":20,"column":7},"end":{"line":20,"column":41}},{"start":{"line":21,"column":7},"end":{"line":21,"column":38}},{"start":{"line":22,"column":7},"end":{"line":25,"column":5}}],"line":18},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":24,"column":64}},"type":"binary-expr","locations":[{"start":{"line":23,"column":7},"end":{"line":23,"column":59}},{"start":{"line":24,"column":10},"end":{"line":24,"column":63}}],"line":23},"3":{"loc":{"start":{"line":32,"column":2},"end":{"line":40,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":40,"column":3}},{"start":{},"end":{}}],"line":32},"4":{"loc":{"start":{"line":33,"column":4},"end":{"line":37,"column":61}},"type":"binary-expr","locations":[{"start":{"line":33,"column":4},"end":{"line":33,"column":20}},{"start":{"line":34,"column":7},"end":{"line":34,"column":42}},{"start":{"line":35,"column":7},"end":{"line":35,"column":40}},{"start":{"line":36,"column":7},"end":{"line":36,"column":37}},{"start":{"line":37,"column":7},"end":{"line":37,"column":61}}],"line":33},"5":{"loc":{"start":{"line":43,"column":2},"end":{"line":51,"column":3}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":51,"column":3}},{"start":{},"end":{}}],"line":43},"6":{"loc":{"start":{"line":44,"column":4},"end":{"line":48,"column":63}},"type":"binary-expr","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":20}},{"start":{"line":45,"column":7},"end":{"line":45,"column":43}},{"start":{"line":46,"column":7},"end":{"line":46,"column":41}},{"start":{"line":47,"column":7},"end":{"line":47,"column":38}},{"start":{"line":48,"column":7},"end":{"line":48,"column":63}}],"line":44},"7":{"loc":{"start":{"line":54,"column":2},"end":{"line":104,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":104,"column":3}},{"start":{},"end":{}}],"line":54},"8":{"loc":{"start":{"line":55,"column":4},"end":{"line":59,"column":118}},"type":"binary-expr","locations":[{"start":{"line":55,"column":4},"end":{"line":55,"column":28}},{"start":{"line":56,"column":7},"end":{"line":56,"column":27}},{"start":{"line":57,"column":7},"end":{"line":57,"column":33}},{"start":{"line":58,"column":8},"end":{"line":58,"column":26}},{"start":{"line":59,"column":10},"end":{"line":59,"column":21}},{"start":{"line":59,"column":25},"end":{"line":59,"column":56}},{"start":{"line":59,"column":60},"end":{"line":59,"column":87}},{"start":{"line":59,"column":91},"end":{"line":59,"column":116}}],"line":55},"9":{"loc":{"start":{"line":62,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":62},"10":{"loc":{"start":{"line":63,"column":6},"end":{"line":67,"column":69}},"type":"binary-expr","locations":[{"start":{"line":63,"column":6},"end":{"line":63,"column":24}},{"start":{"line":64,"column":9},"end":{"line":64,"column":47}},{"start":{"line":65,"column":9},"end":{"line":65,"column":45}},{"start":{"line":66,"column":9},"end":{"line":66,"column":42}},{"start":{"line":67,"column":9},"end":{"line":67,"column":69}}],"line":63},"11":{"loc":{"start":{"line":73,"column":4},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":81,"column":5}},{"start":{},"end":{}}],"line":73},"12":{"loc":{"start":{"line":74,"column":6},"end":{"line":78,"column":69}},"type":"binary-expr","locations":[{"start":{"line":74,"column":6},"end":{"line":74,"column":24}},{"start":{"line":75,"column":9},"end":{"line":75,"column":47}},{"start":{"line":76,"column":9},"end":{"line":76,"column":45}},{"start":{"line":77,"column":9},"end":{"line":77,"column":42}},{"start":{"line":78,"column":9},"end":{"line":78,"column":69}}],"line":74},"13":{"loc":{"start":{"line":84,"column":4},"end":{"line":92,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":92,"column":5}},{"start":{},"end":{}}],"line":84},"14":{"loc":{"start":{"line":85,"column":6},"end":{"line":89,"column":71}},"type":"binary-expr","locations":[{"start":{"line":85,"column":6},"end":{"line":85,"column":25}},{"start":{"line":86,"column":9},"end":{"line":86,"column":48}},{"start":{"line":87,"column":9},"end":{"line":87,"column":46}},{"start":{"line":88,"column":9},"end":{"line":88,"column":43}},{"start":{"line":89,"column":9},"end":{"line":89,"column":71}}],"line":85},"15":{"loc":{"start":{"line":95,"column":4},"end":{"line":103,"column":5}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":103,"column":5}},{"start":{},"end":{}}],"line":95},"16":{"loc":{"start":{"line":96,"column":6},"end":{"line":100,"column":71}},"type":"binary-expr","locations":[{"start":{"line":96,"column":6},"end":{"line":96,"column":25}},{"start":{"line":97,"column":9},"end":{"line":97,"column":48}},{"start":{"line":98,"column":9},"end":{"line":98,"column":46}},{"start":{"line":99,"column":9},"end":{"line":99,"column":43}},{"start":{"line":100,"column":9},"end":{"line":100,"column":71}}],"line":96}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0,0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0],"8":[0,0,0,0,0,0,0,0],"9":[0,0],"10":[0,0,0,0,0],"11":[0,0],"12":[0,0,0,0,0],"13":[0,0],"14":[0,0,0,0,0],"15":[0,0],"16":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySpacingValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applySpacingValuesOnNode.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":59,"column":3}},"1":{"start":{"line":20,"column":30},"end":{"line":20,"column":63}},"2":{"start":{"line":21,"column":20},"end":{"line":21,"column":83}},"3":{"start":{"line":22,"column":4},"end":{"line":58,"column":5}},"4":{"start":{"line":24,"column":8},"end":{"line":36,"column":9}},"5":{"start":{"line":32,"column":10},"end":{"line":32,"column":37}},"6":{"start":{"line":33,"column":10},"end":{"line":33,"column":38}},"7":{"start":{"line":34,"column":10},"end":{"line":34,"column":36}},"8":{"start":{"line":35,"column":10},"end":{"line":35,"column":39}},"9":{"start":{"line":37,"column":8},"end":{"line":37,"column":14}},"10":{"start":{"line":39,"column":8},"end":{"line":39,"column":96}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":98}},"12":{"start":{"line":41,"column":8},"end":{"line":41,"column":99}},"13":{"start":{"line":42,"column":8},"end":{"line":42,"column":97}},"14":{"start":{"line":43,"column":8},"end":{"line":43,"column":14}},"15":{"start":{"line":45,"column":8},"end":{"line":45,"column":96}},"16":{"start":{"line":46,"column":8},"end":{"line":46,"column":98}},"17":{"start":{"line":47,"column":8},"end":{"line":47,"column":99}},"18":{"start":{"line":48,"column":8},"end":{"line":48,"column":97}},"19":{"start":{"line":49,"column":8},"end":{"line":49,"column":14}},"20":{"start":{"line":51,"column":8},"end":{"line":51,"column":96}},"21":{"start":{"line":52,"column":8},"end":{"line":52,"column":98}},"22":{"start":{"line":53,"column":8},"end":{"line":53,"column":99}},"23":{"start":{"line":54,"column":8},"end":{"line":54,"column":97}},"24":{"start":{"line":55,"column":8},"end":{"line":55,"column":14}},"25":{"start":{"line":57,"column":8},"end":{"line":57,"column":14}},"26":{"start":{"line":60,"column":2},"end":{"line":76,"column":3}},"27":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"28":{"start":{"line":72,"column":32},"end":{"line":72,"column":105}},"29":{"start":{"line":73,"column":6},"end":{"line":73,"column":43}},"30":{"start":{"line":74,"column":6},"end":{"line":74,"column":44}},"31":{"start":{"line":77,"column":2},"end":{"line":93,"column":3}},"32":{"start":{"line":83,"column":4},"end":{"line":92,"column":5}},"33":{"start":{"line":89,"column":30},"end":{"line":89,"column":101}},"34":{"start":{"line":90,"column":6},"end":{"line":90,"column":40}},"35":{"start":{"line":91,"column":6},"end":{"line":91,"column":43}},"36":{"start":{"line":95,"column":2},"end":{"line":109,"column":3}},"37":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"38":{"start":{"line":102,"column":6},"end":{"line":102,"column":51}},"39":{"start":{"line":103,"column":11},"end":{"line":105,"column":5}},"40":{"start":{"line":104,"column":6},"end":{"line":104,"column":41}},"41":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"42":{"start":{"line":107,"column":6},"end":{"line":107,"column":93}},"43":{"start":{"line":111,"column":2},"end":{"line":120,"column":3}},"44":{"start":{"line":117,"column":4},"end":{"line":119,"column":5}},"45":{"start":{"line":118,"column":6},"end":{"line":118,"column":107}},"46":{"start":{"line":122,"column":2},"end":{"line":131,"column":3}},"47":{"start":{"line":128,"column":4},"end":{"line":130,"column":5}},"48":{"start":{"line":129,"column":6},"end":{"line":129,"column":91}},"49":{"start":{"line":132,"column":2},"end":{"line":141,"column":3}},"50":{"start":{"line":138,"column":4},"end":{"line":140,"column":5}},"51":{"start":{"line":139,"column":6},"end":{"line":139,"column":95}},"52":{"start":{"line":143,"column":2},"end":{"line":152,"column":3}},"53":{"start":{"line":149,"column":4},"end":{"line":151,"column":5}},"54":{"start":{"line":150,"column":6},"end":{"line":150,"column":97}},"55":{"start":{"line":154,"column":2},"end":{"line":163,"column":3}},"56":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"57":{"start":{"line":161,"column":6},"end":{"line":161,"column":93}}},"fnMap":{"0":{"name":"applySpacingValuesOnNode","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":46}},"loc":{"start":{"line":12,"column":2},"end":{"line":164,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":39}},"type":"binary-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":25}},{"start":{"line":16,"column":7},"end":{"line":16,"column":44}},{"start":{"line":17,"column":7},"end":{"line":17,"column":42}},{"start":{"line":18,"column":7},"end":{"line":18,"column":39}}],"line":15},"2":{"loc":{"start":{"line":22,"column":4},"end":{"line":58,"column":5}},"type":"switch","locations":[{"start":{"line":23,"column":6},"end":{"line":37,"column":14}},{"start":{"line":38,"column":6},"end":{"line":43,"column":14}},{"start":{"line":44,"column":6},"end":{"line":49,"column":14}},{"start":{"line":50,"column":6},"end":{"line":55,"column":14}},{"start":{"line":56,"column":6},"end":{"line":57,"column":14}}],"line":22},"3":{"loc":{"start":{"line":24,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":36,"column":9}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":26,"column":12},"end":{"line":29,"column":78}},"type":"binary-expr","locations":[{"start":{"line":26,"column":13},"end":{"line":26,"column":72}},{"start":{"line":27,"column":16},"end":{"line":27,"column":76}},{"start":{"line":28,"column":16},"end":{"line":28,"column":74}},{"start":{"line":29,"column":16},"end":{"line":29,"column":77}}],"line":26},"5":{"loc":{"start":{"line":60,"column":2},"end":{"line":76,"column":3}},"type":"if","locations":[{"start":{"line":60,"column":2},"end":{"line":76,"column":3}},{"start":{},"end":{}}],"line":60},"6":{"loc":{"start":{"line":61,"column":4},"end":{"line":64,"column":49}},"type":"binary-expr","locations":[{"start":{"line":61,"column":4},"end":{"line":61,"column":25}},{"start":{"line":62,"column":7},"end":{"line":62,"column":54}},{"start":{"line":63,"column":7},"end":{"line":63,"column":52}},{"start":{"line":64,"column":7},"end":{"line":64,"column":49}}],"line":61},"7":{"loc":{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":75,"column":5}},{"start":{},"end":{}}],"line":66},"8":{"loc":{"start":{"line":68,"column":8},"end":{"line":69,"column":83}},"type":"binary-expr","locations":[{"start":{"line":68,"column":9},"end":{"line":68,"column":78}},{"start":{"line":69,"column":12},"end":{"line":69,"column":82}}],"line":68},"9":{"loc":{"start":{"line":77,"column":2},"end":{"line":93,"column":3}},"type":"if","locations":[{"start":{"line":77,"column":2},"end":{"line":93,"column":3}},{"start":{},"end":{}}],"line":77},"10":{"loc":{"start":{"line":78,"column":4},"end":{"line":81,"column":47}},"type":"binary-expr","locations":[{"start":{"line":78,"column":4},"end":{"line":78,"column":24}},{"start":{"line":79,"column":7},"end":{"line":79,"column":52}},{"start":{"line":80,"column":7},"end":{"line":80,"column":50}},{"start":{"line":81,"column":7},"end":{"line":81,"column":47}}],"line":78},"11":{"loc":{"start":{"line":83,"column":4},"end":{"line":92,"column":5}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":92,"column":5}},{"start":{},"end":{}}],"line":83},"12":{"loc":{"start":{"line":85,"column":8},"end":{"line":86,"column":82}},"type":"binary-expr","locations":[{"start":{"line":85,"column":9},"end":{"line":85,"column":75}},{"start":{"line":86,"column":12},"end":{"line":86,"column":81}}],"line":85},"13":{"loc":{"start":{"line":95,"column":2},"end":{"line":109,"column":3}},"type":"if","locations":[{"start":{"line":95,"column":2},"end":{"line":109,"column":3}},{"start":{},"end":{}}],"line":95},"14":{"loc":{"start":{"line":96,"column":4},"end":{"line":99,"column":43}},"type":"binary-expr","locations":[{"start":{"line":96,"column":4},"end":{"line":96,"column":25}},{"start":{"line":97,"column":7},"end":{"line":97,"column":48}},{"start":{"line":98,"column":7},"end":{"line":98,"column":46}},{"start":{"line":99,"column":7},"end":{"line":99,"column":43}}],"line":96},"15":{"loc":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},{"start":{"line":103,"column":11},"end":{"line":105,"column":5}}],"line":101},"16":{"loc":{"start":{"line":103,"column":11},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":11},"end":{"line":105,"column":5}},{"start":{},"end":{}}],"line":103},"17":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{},"end":{}}],"line":106},"18":{"loc":{"start":{"line":111,"column":2},"end":{"line":120,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":120,"column":3}},{"start":{},"end":{}}],"line":111},"19":{"loc":{"start":{"line":112,"column":4},"end":{"line":115,"column":50}},"type":"binary-expr","locations":[{"start":{"line":112,"column":4},"end":{"line":112,"column":32}},{"start":{"line":113,"column":7},"end":{"line":113,"column":55}},{"start":{"line":114,"column":7},"end":{"line":114,"column":53}},{"start":{"line":115,"column":7},"end":{"line":115,"column":50}}],"line":112},"20":{"loc":{"start":{"line":117,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":119,"column":5}},{"start":{},"end":{}}],"line":117},"21":{"loc":{"start":{"line":122,"column":2},"end":{"line":131,"column":3}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":131,"column":3}},{"start":{},"end":{}}],"line":122},"22":{"loc":{"start":{"line":123,"column":4},"end":{"line":126,"column":42}},"type":"binary-expr","locations":[{"start":{"line":123,"column":4},"end":{"line":123,"column":24}},{"start":{"line":124,"column":7},"end":{"line":124,"column":47}},{"start":{"line":125,"column":7},"end":{"line":125,"column":45}},{"start":{"line":126,"column":7},"end":{"line":126,"column":42}}],"line":123},"23":{"loc":{"start":{"line":128,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":128},"24":{"loc":{"start":{"line":132,"column":2},"end":{"line":141,"column":3}},"type":"if","locations":[{"start":{"line":132,"column":2},"end":{"line":141,"column":3}},{"start":{},"end":{}}],"line":132},"25":{"loc":{"start":{"line":133,"column":4},"end":{"line":136,"column":44}},"type":"binary-expr","locations":[{"start":{"line":133,"column":4},"end":{"line":133,"column":26}},{"start":{"line":134,"column":7},"end":{"line":134,"column":49}},{"start":{"line":135,"column":7},"end":{"line":135,"column":47}},{"start":{"line":136,"column":7},"end":{"line":136,"column":44}}],"line":133},"26":{"loc":{"start":{"line":138,"column":4},"end":{"line":140,"column":5}},"type":"if","locations":[{"start":{"line":138,"column":4},"end":{"line":140,"column":5}},{"start":{},"end":{}}],"line":138},"27":{"loc":{"start":{"line":143,"column":2},"end":{"line":152,"column":3}},"type":"if","locations":[{"start":{"line":143,"column":2},"end":{"line":152,"column":3}},{"start":{},"end":{}}],"line":143},"28":{"loc":{"start":{"line":144,"column":4},"end":{"line":147,"column":45}},"type":"binary-expr","locations":[{"start":{"line":144,"column":4},"end":{"line":144,"column":27}},{"start":{"line":145,"column":7},"end":{"line":145,"column":50}},{"start":{"line":146,"column":7},"end":{"line":146,"column":48}},{"start":{"line":147,"column":7},"end":{"line":147,"column":45}}],"line":144},"29":{"loc":{"start":{"line":149,"column":4},"end":{"line":151,"column":5}},"type":"if","locations":[{"start":{"line":149,"column":4},"end":{"line":151,"column":5}},{"start":{},"end":{}}],"line":149},"30":{"loc":{"start":{"line":154,"column":2},"end":{"line":163,"column":3}},"type":"if","locations":[{"start":{"line":154,"column":2},"end":{"line":163,"column":3}},{"start":{},"end":{}}],"line":154},"31":{"loc":{"start":{"line":155,"column":4},"end":{"line":158,"column":43}},"type":"binary-expr","locations":[{"start":{"line":155,"column":4},"end":{"line":155,"column":25}},{"start":{"line":156,"column":7},"end":{"line":156,"column":48}},{"start":{"line":157,"column":7},"end":{"line":157,"column":46}},{"start":{"line":158,"column":7},"end":{"line":158,"column":43}}],"line":155},"32":{"loc":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},{"start":{},"end":{}}],"line":160}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0,0,0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0,0],"20":[0,0],"21":[0,0],"22":[0,0,0,0],"23":[0,0],"24":[0,0],"25":[0,0,0,0],"26":[0,0],"27":[0,0],"28":[0,0,0,0],"29":[0,0],"30":[0,0],"31":[0,0,0,0],"32":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTextCharacterValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTextCharacterValuesOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"2":{"start":{"line":14,"column":6},"end":{"line":14,"column":47}},"3":{"start":{"line":17,"column":20},"end":{"line":17,"column":113}},"4":{"start":{"line":18,"column":6},"end":{"line":18,"column":38}},"5":{"start":{"line":23,"column":2},"end":{"line":33,"column":3}},"6":{"start":{"line":29,"column":4},"end":{"line":32,"column":5}},"7":{"start":{"line":30,"column":6},"end":{"line":30,"column":47}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":36}},"9":{"start":{"line":35,"column":2},"end":{"line":42,"column":3}},"10":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"11":{"start":{"line":37,"column":6},"end":{"line":37,"column":47}},"12":{"start":{"line":39,"column":20},"end":{"line":39,"column":98}},"13":{"start":{"line":40,"column":6},"end":{"line":40,"column":38}},"14":{"start":{"line":45,"column":2},"end":{"line":50,"column":3}},"15":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"16":{"start":{"line":47,"column":6},"end":{"line":47,"column":47}},"17":{"start":{"line":48,"column":6},"end":{"line":48,"column":49}},"18":{"start":{"line":53,"column":2},"end":{"line":58,"column":3}},"19":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"20":{"start":{"line":55,"column":6},"end":{"line":55,"column":47}},"21":{"start":{"line":56,"column":6},"end":{"line":56,"column":51}}},"fnMap":{"0":{"name":"applyTextCharacterValuesOnNode","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":52}},"loc":{"start":{"line":10,"column":2},"end":{"line":59,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":13},"2":{"loc":{"start":{"line":13,"column":8},"end":{"line":13,"column":61}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":28}},{"start":{"line":13,"column":32},"end":{"line":13,"column":61}}],"line":13},"3":{"loc":{"start":{"line":17,"column":20},"end":{"line":17,"column":113}},"type":"cond-expr","locations":[{"start":{"line":17,"column":60},"end":{"line":17,"column":93}},{"start":{"line":17,"column":96},"end":{"line":17,"column":113}}],"line":17},"4":{"loc":{"start":{"line":23,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":24,"column":4},"end":{"line":27,"column":39}},"type":"binary-expr","locations":[{"start":{"line":24,"column":4},"end":{"line":24,"column":24}},{"start":{"line":25,"column":7},"end":{"line":25,"column":36}},{"start":{"line":26,"column":7},"end":{"line":26,"column":38}},{"start":{"line":27,"column":7},"end":{"line":27,"column":39}}],"line":24},"6":{"loc":{"start":{"line":29,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":35,"column":2},"end":{"line":42,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":42,"column":3}},{"start":{},"end":{}}],"line":35},"8":{"loc":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":36},"9":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":61}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":28}},{"start":{"line":36,"column":32},"end":{"line":36,"column":61}}],"line":36},"10":{"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":98}},"type":"cond-expr","locations":[{"start":{"line":39,"column":55},"end":{"line":39,"column":83}},{"start":{"line":39,"column":86},"end":{"line":39,"column":98}}],"line":39},"11":{"loc":{"start":{"line":45,"column":2},"end":{"line":50,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":50,"column":3}},{"start":{},"end":{}}],"line":45},"12":{"loc":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":46},"13":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":61}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":28}},{"start":{"line":46,"column":32},"end":{"line":46,"column":61}}],"line":46},"14":{"loc":{"start":{"line":53,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":58,"column":3}},{"start":{},"end":{}}],"line":53},"15":{"loc":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":54},"16":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":61}},"type":"binary-expr","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":28}},{"start":{"line":54,"column":32},"end":{"line":54,"column":61}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTypographyTokenOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/applyTypographyTokenOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":64}},"2":{"start":{"line":15,"column":2},"end":{"line":15,"column":19}},"3":{"start":{"line":19,"column":2},"end":{"line":43,"column":4}},"4":{"start":{"line":47,"column":21},"end":{"line":47,"column":47}},"5":{"start":{"line":49,"column":2},"end":{"line":63,"column":4}},"6":{"start":{"line":72,"column":2},"end":{"line":72,"column":38}},"7":{"start":{"line":72,"column":31},"end":{"line":72,"column":38}},"8":{"start":{"line":74,"column":24},"end":{"line":74,"column":96}},"9":{"start":{"line":75,"column":24},"end":{"line":75,"column":46}},"10":{"start":{"line":78,"column":2},"end":{"line":87,"column":3}},"11":{"start":{"line":79,"column":29},"end":{"line":79,"column":51}},"12":{"start":{"line":80,"column":26},"end":{"line":80,"column":80}},"13":{"start":{"line":81,"column":4},"end":{"line":86,"column":5}},"14":{"start":{"line":82,"column":6},"end":{"line":82,"column":41}},"15":{"start":{"line":83,"column":6},"end":{"line":83,"column":49}},"16":{"start":{"line":84,"column":11},"end":{"line":86,"column":5}},"17":{"start":{"line":85,"column":6},"end":{"line":85,"column":65}},"18":{"start":{"line":90,"column":2},"end":{"line":90,"column":86}},"19":{"start":{"line":90,"column":79},"end":{"line":90,"column":86}},"20":{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},"21":{"start":{"line":93,"column":4},"end":{"line":93,"column":63}},"22":{"start":{"line":94,"column":4},"end":{"line":94,"column":11}},"23":{"start":{"line":98,"column":30},"end":{"line":98,"column":75}},"24":{"start":{"line":99,"column":22},"end":{"line":99,"column":61}},"25":{"start":{"line":102,"column":2},"end":{"line":107,"column":5}}},"fnMap":{"0":{"name":"formatValue","decl":{"start":{"line":11,"column":9},"end":{"line":11,"column":20}},"loc":{"start":{"line":11,"column":53},"end":{"line":16,"column":1}},"line":11},"1":{"name":"buildResolvedValueObject","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":33}},"loc":{"start":{"line":18,"column":65},"end":{"line":44,"column":1}},"line":18},"2":{"name":"buildValueObject","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":25}},"loc":{"start":{"line":46,"column":59},"end":{"line":64,"column":1}},"line":46},"3":{"name":"applyTypographyTokenOnNode","decl":{"start":{"line":66,"column":22},"end":{"line":66,"column":48}},"loc":{"start":{"line":71,"column":2},"end":{"line":108,"column":1}},"line":71}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":13,"column":18},"end":{"line":13,"column":62}},"type":"cond-expr","locations":[{"start":{"line":13,"column":42},"end":{"line":13,"column":47}},{"start":{"line":13,"column":50},"end":{"line":13,"column":62}}],"line":13},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":46}},"type":"binary-expr","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":23}},{"start":{"line":22,"column":11},"end":{"line":22,"column":48}},{"start":{"line":23,"column":11},"end":{"line":23,"column":46}}],"line":21},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":28,"column":46}},"type":"binary-expr","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":22}},{"start":{"line":27,"column":11},"end":{"line":27,"column":47}},{"start":{"line":28,"column":11},"end":{"line":28,"column":46}}],"line":26},"4":{"loc":{"start":{"line":31,"column":6},"end":{"line":33,"column":46}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":22}},{"start":{"line":32,"column":11},"end":{"line":32,"column":47}},{"start":{"line":33,"column":11},"end":{"line":33,"column":46}}],"line":31},"5":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":95}},"type":"binary-expr","locations":[{"start":{"line":36,"column":6},"end":{"line":36,"column":20}},{"start":{"line":36,"column":24},"end":{"line":36,"column":58}},{"start":{"line":36,"column":62},"end":{"line":36,"column":95}}],"line":36},"6":{"loc":{"start":{"line":38,"column":31},"end":{"line":38,"column":91}},"type":"binary-expr","locations":[{"start":{"line":38,"column":31},"end":{"line":38,"column":49}},{"start":{"line":38,"column":53},"end":{"line":38,"column":91}}],"line":38},"7":{"loc":{"start":{"line":39,"column":34},"end":{"line":39,"column":100}},"type":"binary-expr","locations":[{"start":{"line":39,"column":34},"end":{"line":39,"column":55}},{"start":{"line":39,"column":59},"end":{"line":39,"column":100}}],"line":39},"8":{"loc":{"start":{"line":40,"column":33},"end":{"line":40,"column":97}},"type":"binary-expr","locations":[{"start":{"line":40,"column":33},"end":{"line":40,"column":53}},{"start":{"line":40,"column":57},"end":{"line":40,"column":97}}],"line":40},"9":{"loc":{"start":{"line":41,"column":26},"end":{"line":41,"column":76}},"type":"binary-expr","locations":[{"start":{"line":41,"column":26},"end":{"line":41,"column":39}},{"start":{"line":41,"column":43},"end":{"line":41,"column":76}}],"line":41},"10":{"loc":{"start":{"line":42,"column":32},"end":{"line":42,"column":94}},"type":"binary-expr","locations":[{"start":{"line":42,"column":32},"end":{"line":42,"column":51}},{"start":{"line":42,"column":55},"end":{"line":42,"column":94}}],"line":42},"11":{"loc":{"start":{"line":47,"column":21},"end":{"line":47,"column":47}},"type":"binary-expr","locations":[{"start":{"line":47,"column":21},"end":{"line":47,"column":41}},{"start":{"line":47,"column":45},"end":{"line":47,"column":47}}],"line":47},"12":{"loc":{"start":{"line":50,"column":16},"end":{"line":50,"column":107}},"type":"cond-expr","locations":[{"start":{"line":50,"column":56},"end":{"line":50,"column":83}},{"start":{"line":50,"column":86},"end":{"line":50,"column":107}}],"line":50},"13":{"loc":{"start":{"line":51,"column":16},"end":{"line":51,"column":105}},"type":"cond-expr","locations":[{"start":{"line":51,"column":55},"end":{"line":51,"column":81}},{"start":{"line":51,"column":84},"end":{"line":51,"column":105}}],"line":51},"14":{"loc":{"start":{"line":52,"column":16},"end":{"line":52,"column":105}},"type":"cond-expr","locations":[{"start":{"line":52,"column":55},"end":{"line":52,"column":81}},{"start":{"line":52,"column":84},"end":{"line":52,"column":105}}],"line":52},"15":{"loc":{"start":{"line":53,"column":14},"end":{"line":53,"column":97}},"type":"cond-expr","locations":[{"start":{"line":53,"column":51},"end":{"line":53,"column":75}},{"start":{"line":53,"column":78},"end":{"line":53,"column":97}}],"line":53},"16":{"loc":{"start":{"line":54,"column":19},"end":{"line":54,"column":115}},"type":"cond-expr","locations":[{"start":{"line":54,"column":60},"end":{"line":54,"column":88}},{"start":{"line":54,"column":91},"end":{"line":54,"column":115}}],"line":54},"17":{"loc":{"start":{"line":55,"column":22},"end":{"line":57,"column":35}},"type":"cond-expr","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":39}},{"start":{"line":57,"column":8},"end":{"line":57,"column":35}}],"line":55},"18":{"loc":{"start":{"line":58,"column":21},"end":{"line":60,"column":34}},"type":"cond-expr","locations":[{"start":{"line":59,"column":8},"end":{"line":59,"column":38}},{"start":{"line":60,"column":8},"end":{"line":60,"column":34}}],"line":58},"19":{"loc":{"start":{"line":61,"column":14},"end":{"line":61,"column":95}},"type":"cond-expr","locations":[{"start":{"line":61,"column":50},"end":{"line":61,"column":73}},{"start":{"line":61,"column":76},"end":{"line":61,"column":95}}],"line":61},"20":{"loc":{"start":{"line":62,"column":20},"end":{"line":62,"column":119}},"type":"cond-expr","locations":[{"start":{"line":62,"column":62},"end":{"line":62,"column":91}},{"start":{"line":62,"column":94},"end":{"line":62,"column":119}}],"line":62},"21":{"loc":{"start":{"line":72,"column":2},"end":{"line":72,"column":38}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":72,"column":38}},{"start":{},"end":{}}],"line":72},"22":{"loc":{"start":{"line":74,"column":24},"end":{"line":74,"column":96}},"type":"cond-expr","locations":[{"start":{"line":74,"column":42},"end":{"line":74,"column":89}},{"start":{"line":74,"column":92},"end":{"line":74,"column":96}}],"line":74},"23":{"loc":{"start":{"line":78,"column":2},"end":{"line":87,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":87,"column":3}},{"start":{},"end":{}}],"line":78},"24":{"loc":{"start":{"line":78,"column":6},"end":{"line":78,"column":87}},"type":"binary-expr","locations":[{"start":{"line":78,"column":6},"end":{"line":78,"column":22}},{"start":{"line":78,"column":26},"end":{"line":78,"column":39}},{"start":{"line":78,"column":43},"end":{"line":78,"column":87}}],"line":78},"25":{"loc":{"start":{"line":81,"column":4},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":81,"column":4},"end":{"line":86,"column":5}},{"start":{"line":84,"column":11},"end":{"line":86,"column":5}}],"line":81},"26":{"loc":{"start":{"line":81,"column":8},"end":{"line":81,"column":106}},"type":"binary-expr","locations":[{"start":{"line":81,"column":8},"end":{"line":81,"column":21}},{"start":{"line":81,"column":25},"end":{"line":81,"column":106}}],"line":81},"27":{"loc":{"start":{"line":84,"column":11},"end":{"line":86,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":11},"end":{"line":86,"column":5}},{"start":{},"end":{}}],"line":84},"28":{"loc":{"start":{"line":84,"column":15},"end":{"line":84,"column":87}},"type":"binary-expr","locations":[{"start":{"line":84,"column":15},"end":{"line":84,"column":28}},{"start":{"line":84,"column":32},"end":{"line":84,"column":87}}],"line":84},"29":{"loc":{"start":{"line":90,"column":2},"end":{"line":90,"column":86}},"type":"if","locations":[{"start":{"line":90,"column":2},"end":{"line":90,"column":86}},{"start":{},"end":{}}],"line":90},"30":{"loc":{"start":{"line":90,"column":6},"end":{"line":90,"column":77}},"type":"binary-expr","locations":[{"start":{"line":90,"column":6},"end":{"line":90,"column":21}},{"start":{"line":90,"column":26},"end":{"line":90,"column":76}}],"line":90},"31":{"loc":{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},"type":"if","locations":[{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},{"start":{},"end":{}}],"line":92},"32":{"loc":{"start":{"line":92,"column":6},"end":{"line":92,"column":117}},"type":"binary-expr","locations":[{"start":{"line":92,"column":6},"end":{"line":92,"column":21}},{"start":{"line":92,"column":25},"end":{"line":92,"column":38}},{"start":{"line":92,"column":42},"end":{"line":92,"column":86}},{"start":{"line":92,"column":90},"end":{"line":92,"column":117}}],"line":92}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0,0],"4":[0,0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/compareStyleWithToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/compareStyleWithToken.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":29,"column":3}},"1":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"2":{"start":{"line":16,"column":24},"end":{"line":16,"column":29}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":55}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"5":{"start":{"line":20,"column":24},"end":{"line":20,"column":29}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":73}},"7":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"8":{"start":{"line":24,"column":24},"end":{"line":24,"column":29}},"9":{"start":{"line":25,"column":6},"end":{"line":25,"column":74}},"10":{"start":{"line":28,"column":4},"end":{"line":28,"column":46}},"11":{"start":{"line":30,"column":2},"end":{"line":30,"column":15}}},"fnMap":{"0":{"name":"compareStyleValueWithTokenValue","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":55}},"loc":{"start":{"line":13,"column":11},"end":{"line":31,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":66}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":30}},{"start":{"line":15,"column":34},"end":{"line":15,"column":66}}],"line":15},"2":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":19},"3":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":70}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},{"start":{"line":19,"column":33},"end":{"line":19,"column":70}}],"line":19},"4":{"loc":{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":23,"column":8},"end":{"line":23,"column":72}},"type":"binary-expr","locations":[{"start":{"line":23,"column":8},"end":{"line":23,"column":31}},{"start":{"line":23,"column":35},"end":{"line":23,"column":72}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/controller.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/controller.ts","statementMap":{"0":{"start":{"line":11,"column":0},"end":{"line":11,"column":45}},"1":{"start":{"line":12,"column":0},"end":{"line":12,"column":100}},"2":{"start":{"line":13,"column":0},"end":{"line":13,"column":101}},"3":{"start":{"line":14,"column":0},"end":{"line":17,"column":2}},"4":{"start":{"line":18,"column":0},"end":{"line":18,"column":108}},"5":{"start":{"line":19,"column":0},"end":{"line":22,"column":2}},"6":{"start":{"line":23,"column":0},"end":{"line":26,"column":2}},"7":{"start":{"line":28,"column":0},"end":{"line":31,"column":2}},"8":{"start":{"line":32,"column":0},"end":{"line":35,"column":2}},"9":{"start":{"line":36,"column":0},"end":{"line":36,"column":102}},"10":{"start":{"line":37,"column":0},"end":{"line":37,"column":119}},"11":{"start":{"line":38,"column":0},"end":{"line":38,"column":101}},"12":{"start":{"line":39,"column":0},"end":{"line":39,"column":110}},"13":{"start":{"line":40,"column":0},"end":{"line":40,"column":95}},"14":{"start":{"line":41,"column":0},"end":{"line":41,"column":101}},"15":{"start":{"line":42,"column":0},"end":{"line":42,"column":99}},"16":{"start":{"line":43,"column":0},"end":{"line":43,"column":105}},"17":{"start":{"line":44,"column":0},"end":{"line":44,"column":90}},"18":{"start":{"line":45,"column":0},"end":{"line":45,"column":103}},"19":{"start":{"line":46,"column":0},"end":{"line":46,"column":109}},"20":{"start":{"line":47,"column":0},"end":{"line":47,"column":117}},"21":{"start":{"line":48,"column":0},"end":{"line":48,"column":89}},"22":{"start":{"line":49,"column":0},"end":{"line":49,"column":111}},"23":{"start":{"line":50,"column":0},"end":{"line":50,"column":103}},"24":{"start":{"line":51,"column":0},"end":{"line":51,"column":103}},"25":{"start":{"line":52,"column":0},"end":{"line":52,"column":103}},"26":{"start":{"line":53,"column":0},"end":{"line":53,"column":90}},"27":{"start":{"line":54,"column":0},"end":{"line":54,"column":106}},"28":{"start":{"line":55,"column":0},"end":{"line":55,"column":108}},"29":{"start":{"line":56,"column":0},"end":{"line":59,"column":2}},"30":{"start":{"line":60,"column":0},"end":{"line":60,"column":112}},"31":{"start":{"line":61,"column":0},"end":{"line":61,"column":120}},"32":{"start":{"line":62,"column":0},"end":{"line":62,"column":106}},"33":{"start":{"line":63,"column":0},"end":{"line":63,"column":143}},"34":{"start":{"line":64,"column":0},"end":{"line":64,"column":139}},"35":{"start":{"line":65,"column":0},"end":{"line":65,"column":102}},"36":{"start":{"line":66,"column":0},"end":{"line":66,"column":120}},"37":{"start":{"line":67,"column":0},"end":{"line":67,"column":146}},"38":{"start":{"line":68,"column":0},"end":{"line":68,"column":118}},"39":{"start":{"line":69,"column":0},"end":{"line":72,"column":2}},"40":{"start":{"line":73,"column":0},"end":{"line":73,"column":109}},"41":{"start":{"line":74,"column":0},"end":{"line":74,"column":109}},"42":{"start":{"line":75,"column":0},"end":{"line":75,"column":104}},"43":{"start":{"line":76,"column":0},"end":{"line":76,"column":122}},"44":{"start":{"line":78,"column":0},"end":{"line":80,"column":3}},"45":{"start":{"line":79,"column":2},"end":{"line":79,"column":23}},"46":{"start":{"line":82,"column":0},"end":{"line":84,"column":3}},"47":{"start":{"line":83,"column":2},"end":{"line":83,"column":24}},"48":{"start":{"line":86,"column":0},"end":{"line":88,"column":3}},"49":{"start":{"line":87,"column":2},"end":{"line":87,"column":28}},"50":{"start":{"line":90,"column":0},"end":{"line":90,"column":85}},"51":{"start":{"line":90,"column":62},"end":{"line":90,"column":83}},"52":{"start":{"line":92,"column":0},"end":{"line":92,"column":7}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":78,"column":18},"end":{"line":78,"column":19}},"loc":{"start":{"line":78,"column":24},"end":{"line":80,"column":1}},"line":78},"1":{"name":"(anonymous_1)","decl":{"start":{"line":82,"column":28},"end":{"line":82,"column":29}},"loc":{"start":{"line":82,"column":34},"end":{"line":84,"column":1}},"line":82},"2":{"name":"(anonymous_2)","decl":{"start":{"line":86,"column":27},"end":{"line":86,"column":28}},"loc":{"start":{"line":86,"column":59},"end":{"line":88,"column":1}},"line":86},"3":{"name":"(anonymous_3)","decl":{"start":{"line":90,"column":29},"end":{"line":90,"column":30}},"loc":{"start":{"line":90,"column":62},"end":{"line":90,"column":83}},"line":90}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesInPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesInPlugin.ts","statementMap":{"0":{"start":{"line":30,"column":20},"end":{"line":32,"column":4}},"1":{"start":{"line":33,"column":31},"end":{"line":33,"column":101}},"2":{"start":{"line":33,"column":66},"end":{"line":33,"column":100}},"3":{"start":{"line":34,"column":70},"end":{"line":34,"column":72}},"4":{"start":{"line":35,"column":61},"end":{"line":35,"column":63}},"5":{"start":{"line":36,"column":59},"end":{"line":36,"column":61}},"6":{"start":{"line":37,"column":37},"end":{"line":37,"column":39}},"7":{"start":{"line":38,"column":37},"end":{"line":38,"column":81}},"8":{"start":{"line":39,"column":47},"end":{"line":39,"column":100}},"9":{"start":{"line":41,"column":34},"end":{"line":41,"column":35}},"10":{"start":{"line":43,"column":23},"end":{"line":43,"column":135}},"11":{"start":{"line":44,"column":2},"end":{"line":72,"column":3}},"12":{"start":{"line":45,"column":26},"end":{"line":45,"column":76}},"13":{"start":{"line":46,"column":24},"end":{"line":46,"column":98}},"14":{"start":{"line":48,"column":4},"end":{"line":66,"column":8}},"15":{"start":{"line":49,"column":37},"end":{"line":49,"column":120}},"16":{"start":{"line":51,"column":6},"end":{"line":51,"column":41}},"17":{"start":{"line":51,"column":34},"end":{"line":51,"column":41}},"18":{"start":{"line":53,"column":29},"end":{"line":55,"column":8}},"19":{"start":{"line":56,"column":6},"end":{"line":56,"column":74}},"20":{"start":{"line":57,"column":6},"end":{"line":64,"column":7}},"21":{"start":{"line":58,"column":8},"end":{"line":62,"column":10}},"22":{"start":{"line":63,"column":8},"end":{"line":63,"column":116}},"23":{"start":{"line":65,"column":6},"end":{"line":65,"column":50}},"24":{"start":{"line":68,"column":30},"end":{"line":68,"column":117}},"25":{"start":{"line":71,"column":4},"end":{"line":71,"column":104}},"26":{"start":{"line":74,"column":2},"end":{"line":74,"column":81}},"27":{"start":{"line":75,"column":46},"end":{"line":75,"column":99}},"28":{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},"29":{"start":{"line":78,"column":4},"end":{"line":78,"column":42}},"30":{"start":{"line":80,"column":4},"end":{"line":80,"column":186}},"31":{"start":{"line":82,"column":2},"end":{"line":85,"column":4}}},"fnMap":{"0":{"name":"createLocalVariablesInPlugin","decl":{"start":{"line":28,"column":30},"end":{"line":28,"column":58}},"loc":{"start":{"line":28,"column":149},"end":{"line":86,"column":1}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":55},"end":{"line":33,"column":56}},"loc":{"start":{"line":33,"column":66},"end":{"line":33,"column":100}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":47},"end":{"line":48,"column":48}},"loc":{"start":{"line":48,"column":64},"end":{"line":66,"column":5}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":23},"end":{"line":43,"column":135}},"type":"binary-expr","locations":[{"start":{"line":43,"column":23},"end":{"line":43,"column":49}},{"start":{"line":43,"column":53},"end":{"line":43,"column":77}},{"start":{"line":43,"column":81},"end":{"line":43,"column":106}},{"start":{"line":43,"column":110},"end":{"line":43,"column":135}}],"line":43},"1":{"loc":{"start":{"line":44,"column":2},"end":{"line":72,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":72,"column":3}},{"start":{},"end":{}}],"line":44},"2":{"loc":{"start":{"line":44,"column":6},"end":{"line":44,"column":66}},"type":"binary-expr","locations":[{"start":{"line":44,"column":6},"end":{"line":44,"column":19}},{"start":{"line":44,"column":23},"end":{"line":44,"column":37}},{"start":{"line":44,"column":41},"end":{"line":44,"column":66}}],"line":44},"3":{"loc":{"start":{"line":49,"column":69},"end":{"line":49,"column":94}},"type":"binary-expr","locations":[{"start":{"line":49,"column":69},"end":{"line":49,"column":80}},{"start":{"line":49,"column":84},"end":{"line":49,"column":94}}],"line":49},"4":{"loc":{"start":{"line":51,"column":6},"end":{"line":51,"column":41}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":51,"column":41}},{"start":{},"end":{}}],"line":51},"5":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":32}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":21}},{"start":{"line":51,"column":25},"end":{"line":51,"column":32}}],"line":51},"6":{"loc":{"start":{"line":57,"column":6},"end":{"line":64,"column":7}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":64,"column":7}},{"start":{},"end":{}}],"line":57},"7":{"loc":{"start":{"line":74,"column":31},"end":{"line":74,"column":80}},"type":"binary-expr","locations":[{"start":{"line":74,"column":31},"end":{"line":74,"column":75}},{"start":{"line":74,"column":79},"end":{"line":74,"column":80}}],"line":74},"8":{"loc":{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},"type":"if","locations":[{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},{"start":{"line":79,"column":9},"end":{"line":81,"column":3}}],"line":77}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesWithoutModesInPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createLocalVariablesWithoutModesInPlugin.ts","statementMap":{"0":{"start":{"line":27,"column":70},"end":{"line":27,"column":72}},"1":{"start":{"line":28,"column":61},"end":{"line":28,"column":63}},"2":{"start":{"line":29,"column":59},"end":{"line":29,"column":61}},"3":{"start":{"line":30,"column":37},"end":{"line":30,"column":39}},"4":{"start":{"line":31,"column":37},"end":{"line":31,"column":80}},"5":{"start":{"line":32,"column":47},"end":{"line":32,"column":99}},"6":{"start":{"line":34,"column":34},"end":{"line":34,"column":35}},"7":{"start":{"line":36,"column":23},"end":{"line":36,"column":135}},"8":{"start":{"line":37,"column":2},"end":{"line":83,"column":3}},"9":{"start":{"line":38,"column":38},"end":{"line":49,"column":27}},"10":{"start":{"line":39,"column":6},"end":{"line":47,"column":7}},"11":{"start":{"line":40,"column":8},"end":{"line":46,"column":11}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":17}},"13":{"start":{"line":51,"column":27},"end":{"line":51,"column":61}},"14":{"start":{"line":51,"column":53},"end":{"line":51,"column":60}},"15":{"start":{"line":53,"column":26},"end":{"line":56,"column":30}},"16":{"start":{"line":54,"column":6},"end":{"line":54,"column":32}},"17":{"start":{"line":55,"column":6},"end":{"line":55,"column":17}},"18":{"start":{"line":58,"column":24},"end":{"line":58,"column":107}},"19":{"start":{"line":60,"column":4},"end":{"line":80,"column":8}},"20":{"start":{"line":61,"column":6},"end":{"line":79,"column":7}},"21":{"start":{"line":62,"column":39},"end":{"line":62,"column":101}},"22":{"start":{"line":64,"column":8},"end":{"line":64,"column":43}},"23":{"start":{"line":64,"column":36},"end":{"line":64,"column":43}},"24":{"start":{"line":66,"column":31},"end":{"line":68,"column":10}},"25":{"start":{"line":69,"column":8},"end":{"line":69,"column":76}},"26":{"start":{"line":70,"column":8},"end":{"line":77,"column":9}},"27":{"start":{"line":71,"column":10},"end":{"line":75,"column":12}},"28":{"start":{"line":76,"column":10},"end":{"line":76,"column":118}},"29":{"start":{"line":78,"column":8},"end":{"line":78,"column":52}},"30":{"start":{"line":81,"column":30},"end":{"line":81,"column":79}},"31":{"start":{"line":82,"column":4},"end":{"line":82,"column":104}},"32":{"start":{"line":85,"column":2},"end":{"line":85,"column":81}},"33":{"start":{"line":86,"column":46},"end":{"line":86,"column":112}},"34":{"start":{"line":88,"column":2},"end":{"line":92,"column":3}},"35":{"start":{"line":89,"column":4},"end":{"line":89,"column":42}},"36":{"start":{"line":91,"column":4},"end":{"line":91,"column":186}},"37":{"start":{"line":93,"column":2},"end":{"line":96,"column":4}}},"fnMap":{"0":{"name":"createLocalVariablesWithoutModesInPlugin","decl":{"start":{"line":25,"column":30},"end":{"line":25,"column":70}},"loc":{"start":{"line":25,"column":166},"end":{"line":97,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":58},"end":{"line":38,"column":59}},"loc":{"start":{"line":38,"column":104},"end":{"line":49,"column":5}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":44},"end":{"line":51,"column":45}},"loc":{"start":{"line":51,"column":53},"end":{"line":51,"column":60}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":46},"end":{"line":53,"column":47}},"loc":{"start":{"line":53,"column":60},"end":{"line":56,"column":5}},"line":53},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":39},"end":{"line":60,"column":40}},"loc":{"start":{"line":60,"column":77},"end":{"line":80,"column":5}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":23},"end":{"line":36,"column":135}},"type":"binary-expr","locations":[{"start":{"line":36,"column":23},"end":{"line":36,"column":49}},{"start":{"line":36,"column":53},"end":{"line":36,"column":77}},{"start":{"line":36,"column":81},"end":{"line":36,"column":106}},{"start":{"line":36,"column":110},"end":{"line":36,"column":135}}],"line":36},"1":{"loc":{"start":{"line":37,"column":2},"end":{"line":83,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":83,"column":3}},{"start":{},"end":{}}],"line":37},"2":{"loc":{"start":{"line":39,"column":6},"end":{"line":47,"column":7}},"type":"if","locations":[{"start":{"line":39,"column":6},"end":{"line":47,"column":7}},{"start":{},"end":{}}],"line":39},"3":{"loc":{"start":{"line":61,"column":6},"end":{"line":79,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":79,"column":7}},{"start":{},"end":{}}],"line":61},"4":{"loc":{"start":{"line":64,"column":8},"end":{"line":64,"column":43}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":64,"column":43}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":64,"column":12},"end":{"line":64,"column":34}},"type":"binary-expr","locations":[{"start":{"line":64,"column":12},"end":{"line":64,"column":23}},{"start":{"line":64,"column":27},"end":{"line":64,"column":34}}],"line":64},"6":{"loc":{"start":{"line":70,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":70},"7":{"loc":{"start":{"line":85,"column":31},"end":{"line":85,"column":80}},"type":"binary-expr","locations":[{"start":{"line":85,"column":31},"end":{"line":85,"column":75}},{"start":{"line":85,"column":79},"end":{"line":85,"column":80}}],"line":85},"8":{"loc":{"start":{"line":88,"column":2},"end":{"line":92,"column":3}},"type":"if","locations":[{"start":{"line":88,"column":2},"end":{"line":92,"column":3}},{"start":{"line":90,"column":9},"end":{"line":92,"column":3}}],"line":88}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createNecessaryVariableCollections.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createNecessaryVariableCollections.ts","statementMap":{"0":{"start":{"line":6,"column":25},"end":{"line":6,"column":81}},"1":{"start":{"line":7,"column":38},"end":{"line":7,"column":97}},"2":{"start":{"line":7,"column":63},"end":{"line":7,"column":96}},"3":{"start":{"line":9,"column":2},"end":{"line":40,"column":9}},"4":{"start":{"line":10,"column":29},"end":{"line":10,"column":68}},"5":{"start":{"line":11,"column":31},"end":{"line":13,"column":36}},"6":{"start":{"line":11,"column":56},"end":{"line":11,"column":92}},"7":{"start":{"line":12,"column":35},"end":{"line":13,"column":35}},"8":{"start":{"line":15,"column":4},"end":{"line":33,"column":5}},"9":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"10":{"start":{"line":19,"column":8},"end":{"line":19,"column":51}},"11":{"start":{"line":22,"column":19},"end":{"line":22,"column":127}},"12":{"start":{"line":22,"column":56},"end":{"line":22,"column":126}},"13":{"start":{"line":24,"column":6},"end":{"line":30,"column":7}},"14":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"15":{"start":{"line":26,"column":10},"end":{"line":26,"column":72}},"16":{"start":{"line":29,"column":8},"end":{"line":29,"column":66}},"17":{"start":{"line":31,"column":6},"end":{"line":31,"column":35}},"18":{"start":{"line":32,"column":6},"end":{"line":32,"column":17}},"19":{"start":{"line":35,"column":26},"end":{"line":35,"column":84}},"20":{"start":{"line":37,"column":4},"end":{"line":37,"column":79}},"21":{"start":{"line":38,"column":4},"end":{"line":38,"column":28}},"22":{"start":{"line":39,"column":4},"end":{"line":39,"column":15}}},"fnMap":{"0":{"name":"createNecessaryVariableCollections","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":56}},"loc":{"start":{"line":5,"column":140},"end":{"line":41,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":52},"end":{"line":7,"column":53}},"loc":{"start":{"line":7,"column":63},"end":{"line":7,"column":96}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":66},"end":{"line":9,"column":67}},"loc":{"start":{"line":9,"column":89},"end":{"line":40,"column":3}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":40},"end":{"line":11,"column":41}},"loc":{"start":{"line":11,"column":56},"end":{"line":11,"column":92}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":27},"end":{"line":12,"column":28}},"loc":{"start":{"line":12,"column":35},"end":{"line":13,"column":35}},"line":12},"5":{"name":"(anonymous_5)","decl":{"start":{"line":22,"column":49},"end":{"line":22,"column":50}},"loc":{"start":{"line":22,"column":56},"end":{"line":22,"column":126}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":29},"end":{"line":10,"column":68}},"type":"binary-expr","locations":[{"start":{"line":10,"column":29},"end":{"line":10,"column":47}},{"start":{"line":10,"column":51},"end":{"line":10,"column":68}}],"line":10},"1":{"loc":{"start":{"line":11,"column":31},"end":{"line":13,"column":36}},"type":"binary-expr","locations":[{"start":{"line":11,"column":31},"end":{"line":11,"column":93}},{"start":{"line":12,"column":7},"end":{"line":13,"column":36}}],"line":11},"2":{"loc":{"start":{"line":12,"column":35},"end":{"line":13,"column":35}},"type":"binary-expr","locations":[{"start":{"line":12,"column":35},"end":{"line":12,"column":76}},{"start":{"line":13,"column":7},"end":{"line":13,"column":35}}],"line":12},"3":{"loc":{"start":{"line":15,"column":4},"end":{"line":33,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":33,"column":5}},{"start":{},"end":{}}],"line":15},"4":{"loc":{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":18},"5":{"loc":{"start":{"line":22,"column":56},"end":{"line":22,"column":126}},"type":"binary-expr","locations":[{"start":{"line":22,"column":56},"end":{"line":22,"column":94}},{"start":{"line":22,"column":98},"end":{"line":22,"column":126}}],"line":22},"6":{"loc":{"start":{"line":24,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":24,"column":6},"end":{"line":30,"column":7}},{"start":{"line":28,"column":13},"end":{"line":30,"column":7}}],"line":24},"7":{"loc":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},{"start":{},"end":{}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createVariableMode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/createVariableMode.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":36}},"2":{"start":{"line":7,"column":4},"end":{"line":17,"column":5}},"3":{"start":{"line":8,"column":20},"end":{"line":8,"column":64}},"4":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"5":{"start":{"line":10,"column":30},"end":{"line":10,"column":49}},"6":{"start":{"line":11,"column":8},"end":{"line":11,"column":125}},"7":{"start":{"line":13,"column":8},"end":{"line":13,"column":51}},"8":{"start":{"line":16,"column":6},"end":{"line":16,"column":21}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":12}}},"fnMap":{"0":{"name":"createVariableMode","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":42}},"loc":{"start":{"line":3,"column":89},"end":{"line":20,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":17,"column":5}},{"start":{"line":15,"column":11},"end":{"line":17,"column":5}}],"line":7},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"type":"if","locations":[{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},{"start":{"line":12,"column":13},"end":{"line":14,"column":7}}],"line":9},"2":{"loc":{"start":{"line":11,"column":72},"end":{"line":11,"column":104}},"type":"cond-expr","locations":[{"start":{"line":11,"column":88},"end":{"line":11,"column":95}},{"start":{"line":11,"column":98},"end":{"line":11,"column":104}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/findCollectionAndModeIdForTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/findCollectionAndModeIdForTheme.ts","statementMap":{"0":{"start":{"line":3,"column":29},"end":{"line":3,"column":84}},"1":{"start":{"line":3,"column":57},"end":{"line":3,"column":83}},"2":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":36}},"4":{"start":{"line":9,"column":17},"end":{"line":9,"column":74}},"5":{"start":{"line":9,"column":54},"end":{"line":9,"column":73}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":26}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":32}}},"fnMap":{"0":{"name":"findCollectionAndModeIdForTheme","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":47}},"loc":{"start":{"line":2,"column":181},"end":{"line":14,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":49},"end":{"line":3,"column":50}},"loc":{"start":{"line":3,"column":57},"end":{"line":3,"column":83}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":47},"end":{"line":9,"column":48}},"loc":{"start":{"line":9,"column":54},"end":{"line":9,"column":73}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/generateTokensToCreate.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/generateTokensToCreate.ts","statementMap":{"0":{"start":{"line":20,"column":27},"end":{"line":22,"column":34}},"1":{"start":{"line":21,"column":32},"end":{"line":21,"column":117}},"2":{"start":{"line":22,"column":25},"end":{"line":22,"column":33}},"3":{"start":{"line":23,"column":19},"end":{"line":23,"column":115}},"4":{"start":{"line":24,"column":2},"end":{"line":26,"column":4}},"5":{"start":{"line":25,"column":16},"end":{"line":25,"column":145}}},"fnMap":{"0":{"name":"generateTokensToCreate","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":38}},"loc":{"start":{"line":18,"column":3},"end":{"line":27,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":12},"end":{"line":21,"column":13}},"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":117}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":9},"end":{"line":22,"column":10}},"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":33}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":16},"end":{"line":25,"column":145}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":20}},"type":"default-arg","locations":[{"start":{"line":12,"column":18},"end":{"line":12,"column":20}}],"line":12},"1":{"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":117}},"type":"binary-expr","locations":[{"start":{"line":21,"column":32},"end":{"line":21,"column":65}},{"start":{"line":21,"column":70},"end":{"line":21,"column":87}},{"start":{"line":21,"column":91},"end":{"line":21,"column":116}}],"line":21},"2":{"loc":{"start":{"line":25,"column":16},"end":{"line":25,"column":145}},"type":"binary-expr","locations":[{"start":{"line":25,"column":17},"end":{"line":25,"column":40}},{"start":{"line":25,"column":44},"end":{"line":25,"column":93}},{"start":{"line":25,"column":98},"end":{"line":25,"column":145}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0,0],"2":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedStylesFromNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedStylesFromNode.ts","statementMap":{"0":{"start":{"line":20,"column":40},"end":{"line":20,"column":42}},"1":{"start":{"line":22,"column":21},"end":{"line":22,"column":69}},"2":{"start":{"line":23,"column":2},"end":{"line":42,"column":3}},"3":{"start":{"line":24,"column":18},"end":{"line":24,"column":38}},"4":{"start":{"line":25,"column":47},"end":{"line":25,"column":69}},"5":{"start":{"line":26,"column":4},"end":{"line":36,"column":5}},"6":{"start":{"line":27,"column":26},"end":{"line":27,"column":37}},"7":{"start":{"line":28,"column":16},"end":{"line":28,"column":29}},"8":{"start":{"line":29,"column":6},"end":{"line":31,"column":9}},"9":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":62}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":25}},"12":{"start":{"line":37,"column":27},"end":{"line":37,"column":96}},"13":{"start":{"line":37,"column":71},"end":{"line":37,"column":85}},"14":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"15":{"start":{"line":39,"column":32},"end":{"line":39,"column":96}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":90}},"17":{"start":{"line":44,"column":2},"end":{"line":44,"column":21}},"18":{"start":{"line":48,"column":40},"end":{"line":48,"column":42}},"19":{"start":{"line":49,"column":2},"end":{"line":84,"column":3}},"20":{"start":{"line":50,"column":29},"end":{"line":50,"column":53}},"21":{"start":{"line":51,"column":23},"end":{"line":51,"column":71}},"22":{"start":{"line":52,"column":4},"end":{"line":83,"column":5}},"23":{"start":{"line":52,"column":59},"end":{"line":52,"column":122}},"24":{"start":{"line":53,"column":22},"end":{"line":53,"column":52}},"25":{"start":{"line":55,"column":45},"end":{"line":67,"column":8}},"26":{"start":{"line":56,"column":27},"end":{"line":56,"column":73}},"27":{"start":{"line":57,"column":50},"end":{"line":57,"column":75}},"28":{"start":{"line":59,"column":8},"end":{"line":59,"column":61}},"29":{"start":{"line":60,"column":8},"end":{"line":60,"column":75}},"30":{"start":{"line":61,"column":8},"end":{"line":61,"column":45}},"31":{"start":{"line":62,"column":8},"end":{"line":62,"column":45}},"32":{"start":{"line":63,"column":8},"end":{"line":63,"column":46}},"33":{"start":{"line":64,"column":8},"end":{"line":64,"column":53}},"34":{"start":{"line":66,"column":8},"end":{"line":66,"column":28}},"35":{"start":{"line":69,"column":6},"end":{"line":82,"column":7}},"36":{"start":{"line":70,"column":31},"end":{"line":73,"column":20}},"37":{"start":{"line":72,"column":28},"end":{"line":72,"column":42}},"38":{"start":{"line":75,"column":44},"end":{"line":79,"column":9}},"39":{"start":{"line":81,"column":8},"end":{"line":81,"column":38}},"40":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"41":{"start":{"line":87,"column":29},"end":{"line":87,"column":51}},"42":{"start":{"line":88,"column":4},"end":{"line":88,"column":75}},"43":{"start":{"line":91,"column":2},"end":{"line":94,"column":3}},"44":{"start":{"line":92,"column":29},"end":{"line":92,"column":53}},"45":{"start":{"line":93,"column":4},"end":{"line":93,"column":77}},"46":{"start":{"line":96,"column":2},"end":{"line":131,"column":3}},"47":{"start":{"line":97,"column":29},"end":{"line":97,"column":51}},"48":{"start":{"line":98,"column":23},"end":{"line":98,"column":74}},"49":{"start":{"line":100,"column":4},"end":{"line":130,"column":5}},"50":{"start":{"line":101,"column":25},"end":{"line":101,"column":51}},"51":{"start":{"line":102,"column":25},"end":{"line":102,"column":51}},"52":{"start":{"line":103,"column":25},"end":{"line":103,"column":83}},"53":{"start":{"line":104,"column":23},"end":{"line":104,"column":53}},"54":{"start":{"line":105,"column":28},"end":{"line":105,"column":92}},"55":{"start":{"line":106,"column":31},"end":{"line":106,"column":69}},"56":{"start":{"line":107,"column":30},"end":{"line":107,"column":67}},"57":{"start":{"line":108,"column":23},"end":{"line":108,"column":77}},"58":{"start":{"line":109,"column":29},"end":{"line":109,"column":95}},"59":{"start":{"line":111,"column":18},"end":{"line":121,"column":7}},"60":{"start":{"line":123,"column":29},"end":{"line":126,"column":18}},"61":{"start":{"line":125,"column":26},"end":{"line":125,"column":40}},"62":{"start":{"line":128,"column":26},"end":{"line":128,"column":91}},"63":{"start":{"line":129,"column":6},"end":{"line":129,"column":36}},"64":{"start":{"line":133,"column":2},"end":{"line":133,"column":21}}},"fnMap":{"0":{"name":"getStyleFromNode","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":25}},"loc":{"start":{"line":19,"column":118},"end":{"line":45,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":58},"end":{"line":37,"column":59}},"loc":{"start":{"line":37,"column":71},"end":{"line":37,"column":85}},"line":37},"2":{"name":"getAppliedStylesFromNode","decl":{"start":{"line":47,"column":24},"end":{"line":47,"column":48}},"loc":{"start":{"line":47,"column":83},"end":{"line":134,"column":1}},"line":47},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":47},"end":{"line":52,"column":48}},"loc":{"start":{"line":52,"column":59},"end":{"line":52,"column":122}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":57},"end":{"line":55,"column":58}},"loc":{"start":{"line":55,"column":69},"end":{"line":67,"column":7}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":15},"end":{"line":72,"column":16}},"loc":{"start":{"line":72,"column":28},"end":{"line":72,"column":42}},"line":72},"6":{"name":"(anonymous_6)","decl":{"start":{"line":125,"column":13},"end":{"line":125,"column":14}},"loc":{"start":{"line":125,"column":26},"end":{"line":125,"column":40}},"line":125}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":2},"end":{"line":42,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":42,"column":3}},{"start":{},"end":{}}],"line":23},"1":{"loc":{"start":{"line":26,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":36,"column":5}},{"start":{"line":32,"column":11},"end":{"line":36,"column":5}}],"line":26},"2":{"loc":{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":11},"end":{"line":36,"column":5}},{"start":{"line":34,"column":11},"end":{"line":36,"column":5}}],"line":32},"3":{"loc":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":38},"4":{"loc":{"start":{"line":39,"column":32},"end":{"line":39,"column":96}},"type":"cond-expr","locations":[{"start":{"line":39,"column":56},"end":{"line":39,"column":71}},{"start":{"line":39,"column":74},"end":{"line":39,"column":96}}],"line":39},"5":{"loc":{"start":{"line":49,"column":2},"end":{"line":84,"column":3}},"type":"if","locations":[{"start":{"line":49,"column":2},"end":{"line":84,"column":3}},{"start":{},"end":{}}],"line":49},"6":{"loc":{"start":{"line":52,"column":4},"end":{"line":83,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":83,"column":5}},{"start":{},"end":{}}],"line":52},"7":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":123}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":18}},{"start":{"line":52,"column":22},"end":{"line":52,"column":123}}],"line":52},"8":{"loc":{"start":{"line":52,"column":59},"end":{"line":52,"column":122}},"type":"binary-expr","locations":[{"start":{"line":52,"column":59},"end":{"line":52,"column":88}},{"start":{"line":52,"column":92},"end":{"line":52,"column":122}}],"line":52},"9":{"loc":{"start":{"line":64,"column":30},"end":{"line":64,"column":52}},"type":"binary-expr","locations":[{"start":{"line":64,"column":30},"end":{"line":64,"column":47}},{"start":{"line":64,"column":51},"end":{"line":64,"column":52}}],"line":64},"10":{"loc":{"start":{"line":69,"column":6},"end":{"line":82,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":82,"column":7}},{"start":{},"end":{}}],"line":69},"11":{"loc":{"start":{"line":76,"column":17},"end":{"line":76,"column":58}},"type":"cond-expr","locations":[{"start":{"line":76,"column":38},"end":{"line":76,"column":45}},{"start":{"line":76,"column":48},"end":{"line":76,"column":58}}],"line":76},"12":{"loc":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},{"start":{},"end":{}}],"line":86},"13":{"loc":{"start":{"line":91,"column":2},"end":{"line":94,"column":3}},"type":"if","locations":[{"start":{"line":91,"column":2},"end":{"line":94,"column":3}},{"start":{},"end":{}}],"line":91},"14":{"loc":{"start":{"line":96,"column":2},"end":{"line":131,"column":3}},"type":"if","locations":[{"start":{"line":96,"column":2},"end":{"line":131,"column":3}},{"start":{},"end":{}}],"line":96},"15":{"loc":{"start":{"line":100,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":100}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedVariablesFromNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getAppliedVariablesFromNode.ts","statementMap":{"0":{"start":{"line":13,"column":46},"end":{"line":13,"column":48}},"1":{"start":{"line":14,"column":2},"end":{"line":86,"column":3}},"2":{"start":{"line":15,"column":4},"end":{"line":85,"column":7}},"3":{"start":{"line":16,"column":6},"end":{"line":42,"column":7}},"4":{"start":{"line":17,"column":27},"end":{"line":17,"column":61}},"5":{"start":{"line":18,"column":8},"end":{"line":41,"column":9}},"6":{"start":{"line":19,"column":27},"end":{"line":19,"column":70}},"7":{"start":{"line":20,"column":10},"end":{"line":40,"column":11}},"8":{"start":{"line":21,"column":26},"end":{"line":21,"column":43}},"9":{"start":{"line":22,"column":58},"end":{"line":22,"column":80}},"10":{"start":{"line":23,"column":12},"end":{"line":34,"column":13}},"11":{"start":{"line":24,"column":34},"end":{"line":24,"column":48}},"12":{"start":{"line":25,"column":24},"end":{"line":25,"column":40}},"13":{"start":{"line":26,"column":14},"end":{"line":31,"column":17}},"14":{"start":{"line":33,"column":14},"end":{"line":33,"column":36}},"15":{"start":{"line":35,"column":12},"end":{"line":39,"column":15}},"16":{"start":{"line":43,"column":6},"end":{"line":70,"column":7}},"17":{"start":{"line":44,"column":27},"end":{"line":44,"column":63}},"18":{"start":{"line":46,"column":8},"end":{"line":69,"column":9}},"19":{"start":{"line":47,"column":27},"end":{"line":47,"column":70}},"20":{"start":{"line":48,"column":10},"end":{"line":68,"column":11}},"21":{"start":{"line":49,"column":26},"end":{"line":49,"column":45}},"22":{"start":{"line":50,"column":58},"end":{"line":50,"column":80}},"23":{"start":{"line":51,"column":12},"end":{"line":62,"column":13}},"24":{"start":{"line":52,"column":34},"end":{"line":52,"column":48}},"25":{"start":{"line":53,"column":24},"end":{"line":53,"column":40}},"26":{"start":{"line":54,"column":14},"end":{"line":59,"column":17}},"27":{"start":{"line":61,"column":14},"end":{"line":61,"column":36}},"28":{"start":{"line":63,"column":12},"end":{"line":67,"column":15}},"29":{"start":{"line":71,"column":6},"end":{"line":84,"column":7}},"30":{"start":{"line":72,"column":27},"end":{"line":72,"column":35}},"31":{"start":{"line":73,"column":8},"end":{"line":83,"column":9}},"32":{"start":{"line":74,"column":27},"end":{"line":74,"column":70}},"33":{"start":{"line":75,"column":10},"end":{"line":82,"column":11}},"34":{"start":{"line":76,"column":12},"end":{"line":81,"column":15}},"35":{"start":{"line":88,"column":2},"end":{"line":88,"column":24}}},"fnMap":{"0":{"name":"getAppliedVariablesFromNode","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":51}},"loc":{"start":{"line":12,"column":89},"end":{"line":89,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":48},"end":{"line":15,"column":49}},"loc":{"start":{"line":15,"column":66},"end":{"line":85,"column":5}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":86,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":86,"column":3}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":77}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":30}},{"start":{"line":14,"column":34},"end":{"line":14,"column":54}},{"start":{"line":14,"column":58},"end":{"line":14,"column":77}}],"line":14},"2":{"loc":{"start":{"line":16,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":42,"column":7}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":68}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":25}},{"start":{"line":16,"column":29},"end":{"line":16,"column":44}},{"start":{"line":16,"column":48},"end":{"line":16,"column":68}}],"line":16},"4":{"loc":{"start":{"line":18,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":18,"column":8},"end":{"line":41,"column":9}},{"start":{},"end":{}}],"line":18},"5":{"loc":{"start":{"line":20,"column":10},"end":{"line":40,"column":11}},"type":"if","locations":[{"start":{"line":20,"column":10},"end":{"line":40,"column":11}},{"start":{},"end":{}}],"line":20},"6":{"loc":{"start":{"line":23,"column":12},"end":{"line":34,"column":13}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":34,"column":13}},{"start":{"line":32,"column":19},"end":{"line":34,"column":13}}],"line":23},"7":{"loc":{"start":{"line":43,"column":6},"end":{"line":70,"column":7}},"type":"if","locations":[{"start":{"line":43,"column":6},"end":{"line":70,"column":7}},{"start":{},"end":{}}],"line":43},"8":{"loc":{"start":{"line":43,"column":10},"end":{"line":43,"column":51}},"type":"binary-expr","locations":[{"start":{"line":43,"column":10},"end":{"line":43,"column":27}},{"start":{"line":43,"column":31},"end":{"line":43,"column":51}}],"line":43},"9":{"loc":{"start":{"line":46,"column":8},"end":{"line":69,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":69,"column":9}},{"start":{},"end":{}}],"line":46},"10":{"loc":{"start":{"line":48,"column":10},"end":{"line":68,"column":11}},"type":"if","locations":[{"start":{"line":48,"column":10},"end":{"line":68,"column":11}},{"start":{},"end":{}}],"line":48},"11":{"loc":{"start":{"line":48,"column":14},"end":{"line":48,"column":82}},"type":"binary-expr","locations":[{"start":{"line":48,"column":14},"end":{"line":48,"column":22}},{"start":{"line":48,"column":26},"end":{"line":48,"column":43}},{"start":{"line":48,"column":47},"end":{"line":48,"column":82}}],"line":48},"12":{"loc":{"start":{"line":51,"column":12},"end":{"line":62,"column":13}},"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":62,"column":13}},{"start":{"line":60,"column":19},"end":{"line":62,"column":13}}],"line":51},"13":{"loc":{"start":{"line":71,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":71,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":71},"14":{"loc":{"start":{"line":71,"column":10},"end":{"line":71,"column":46}},"type":"binary-expr","locations":[{"start":{"line":71,"column":10},"end":{"line":71,"column":31}},{"start":{"line":71,"column":35},"end":{"line":71,"column":46}}],"line":71},"15":{"loc":{"start":{"line":73,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":83,"column":9}},{"start":{},"end":{}}],"line":73},"16":{"loc":{"start":{"line":73,"column":12},"end":{"line":73,"column":56}},"type":"binary-expr","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":22}},{"start":{"line":73,"column":26},"end":{"line":73,"column":56}}],"line":73},"17":{"loc":{"start":{"line":75,"column":10},"end":{"line":82,"column":11}},"type":"if","locations":[{"start":{"line":75,"column":10},"end":{"line":82,"column":11}},{"start":{},"end":{}}],"line":75},"18":{"loc":{"start":{"line":80,"column":18},"end":{"line":80,"column":82}},"type":"binary-expr","locations":[{"start":{"line":80,"column":18},"end":{"line":80,"column":29}},{"start":{"line":80,"column":33},"end":{"line":80,"column":82}}],"line":80}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getFigmaDashPattern.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getFigmaDashPattern.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":15,"column":3}},"1":{"start":{"line":4,"column":6},"end":{"line":4,"column":20}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":20}},"3":{"start":{"line":8,"column":6},"end":{"line":8,"column":20}},"4":{"start":{"line":10,"column":6},"end":{"line":10,"column":20}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":21}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":22}}},"fnMap":{"0":{"name":"getFigmaDashPattern","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":43}},"loc":{"start":{"line":1,"column":65},"end":{"line":16,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":15,"column":3}},"type":"switch","locations":[{"start":{"line":3,"column":4},"end":{"line":4,"column":20}},{"start":{"line":5,"column":4},"end":{"line":6,"column":20}},{"start":{"line":7,"column":4},"end":{"line":8,"column":20}},{"start":{"line":9,"column":4},"end":{"line":10,"column":20}},{"start":{"line":11,"column":4},"end":{"line":12,"column":21}},{"start":{"line":13,"column":4},"end":{"line":14,"column":22}}],"line":2}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getVariablesWithoutZombies.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/getVariablesWithoutZombies.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":14,"column":3}},"1":{"start":{"line":8,"column":27},"end":{"line":8,"column":73}},"2":{"start":{"line":9,"column":39},"end":{"line":9,"column":166}},"3":{"start":{"line":9,"column":119},"end":{"line":9,"column":165}},"4":{"start":{"line":9,"column":151},"end":{"line":9,"column":164}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":115}},"6":{"start":{"line":10,"column":47},"end":{"line":10,"column":113}},"7":{"start":{"line":12,"column":4},"end":{"line":12,"column":55}},"8":{"start":{"line":13,"column":4},"end":{"line":13,"column":14}}},"fnMap":{"0":{"name":"getVariablesWithoutZombies","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":48}},"loc":{"start":{"line":6,"column":72},"end":{"line":15,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":102},"end":{"line":9,"column":103}},"loc":{"start":{"line":9,"column":119},"end":{"line":9,"column":165}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":135},"end":{"line":9,"column":136}},"loc":{"start":{"line":9,"column":151},"end":{"line":9,"column":164}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":10,"column":33},"end":{"line":10,"column":34}},"loc":{"start":{"line":10,"column":47},"end":{"line":10,"column":113}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":20},"end":{"line":12,"column":53}},"type":"binary-expr","locations":[{"start":{"line":12,"column":20},"end":{"line":12,"column":34}},{"start":{"line":12,"column":38},"end":{"line":12,"column":53}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/helpers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/helpers.ts","statementMap":{"0":{"start":{"line":15,"column":15},"end":{"line":15,"column":29}},"1":{"start":{"line":17,"column":2},"end":{"line":27,"column":3}},"2":{"start":{"line":18,"column":15},"end":{"line":18,"column":42}},"3":{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},"4":{"start":{"line":20,"column":6},"end":{"line":20,"column":41}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":18}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":48}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":39}},"8":{"start":{"line":29,"column":2},"end":{"line":29,"column":16}},"9":{"start":{"line":33,"column":16},"end":{"line":33,"column":30}},"10":{"start":{"line":35,"column":2},"end":{"line":45,"column":3}},"11":{"start":{"line":36,"column":16},"end":{"line":36,"column":54}},"12":{"start":{"line":37,"column":4},"end":{"line":41,"column":5}},"13":{"start":{"line":38,"column":6},"end":{"line":38,"column":43}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":75}},"15":{"start":{"line":43,"column":4},"end":{"line":43,"column":49}},"16":{"start":{"line":44,"column":4},"end":{"line":44,"column":41}},"17":{"start":{"line":47,"column":2},"end":{"line":47,"column":17}},"18":{"start":{"line":59,"column":2},"end":{"line":112,"column":3}},"19":{"start":{"line":65,"column":6},"end":{"line":65,"column":65}},"20":{"start":{"line":69,"column":6},"end":{"line":69,"column":83}},"21":{"start":{"line":90,"column":6},"end":{"line":90,"column":65}},"22":{"start":{"line":93,"column":6},"end":{"line":93,"column":71}},"23":{"start":{"line":95,"column":6},"end":{"line":95,"column":88}},"24":{"start":{"line":98,"column":6},"end":{"line":98,"column":85}},"25":{"start":{"line":100,"column":6},"end":{"line":100,"column":79}},"26":{"start":{"line":102,"column":6},"end":{"line":102,"column":48}},"27":{"start":{"line":104,"column":6},"end":{"line":104,"column":54}},"28":{"start":{"line":106,"column":6},"end":{"line":106,"column":60}},"29":{"start":{"line":109,"column":6},"end":{"line":109,"column":71}},"30":{"start":{"line":111,"column":6},"end":{"line":111,"column":19}}},"fnMap":{"0":{"name":"getUserId","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":34},"end":{"line":30,"column":1}},"line":14},"1":{"name":"getFileKey","decl":{"start":{"line":32,"column":22},"end":{"line":32,"column":32}},"loc":{"start":{"line":32,"column":35},"end":{"line":48,"column":1}},"line":32},"2":{"name":"transformValue","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":30}},"loc":{"start":{"line":58,"column":116},"end":{"line":113,"column":1}},"line":58}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},{"start":{"line":21,"column":11},"end":{"line":23,"column":5}}],"line":19},"1":{"loc":{"start":{"line":37,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":41,"column":5}},{"start":{"line":39,"column":11},"end":{"line":41,"column":5}}],"line":37},"2":{"loc":{"start":{"line":58,"column":82},"end":{"line":58,"column":114}},"type":"default-arg","locations":[{"start":{"line":58,"column":109},"end":{"line":58,"column":114}}],"line":58},"3":{"loc":{"start":{"line":59,"column":2},"end":{"line":112,"column":3}},"type":"switch","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":32}},{"start":{"line":61,"column":4},"end":{"line":61,"column":35}},{"start":{"line":62,"column":4},"end":{"line":62,"column":37}},{"start":{"line":63,"column":4},"end":{"line":63,"column":38}},{"start":{"line":64,"column":4},"end":{"line":65,"column":65}},{"start":{"line":66,"column":4},"end":{"line":66,"column":17}},{"start":{"line":67,"column":4},"end":{"line":67,"column":18}},{"start":{"line":68,"column":4},"end":{"line":69,"column":83}},{"start":{"line":70,"column":4},"end":{"line":70,"column":26}},{"start":{"line":71,"column":4},"end":{"line":71,"column":24}},{"start":{"line":72,"column":4},"end":{"line":72,"column":31}},{"start":{"line":73,"column":4},"end":{"line":73,"column":32}},{"start":{"line":74,"column":4},"end":{"line":74,"column":35}},{"start":{"line":75,"column":4},"end":{"line":75,"column":34}},{"start":{"line":76,"column":4},"end":{"line":76,"column":19}},{"start":{"line":77,"column":4},"end":{"line":77,"column":29}},{"start":{"line":78,"column":4},"end":{"line":78,"column":27}},{"start":{"line":79,"column":4},"end":{"line":79,"column":22}},{"start":{"line":80,"column":4},"end":{"line":80,"column":24}},{"start":{"line":81,"column":4},"end":{"line":81,"column":25}},{"start":{"line":82,"column":4},"end":{"line":82,"column":23}},{"start":{"line":83,"column":4},"end":{"line":83,"column":23}},{"start":{"line":84,"column":4},"end":{"line":84,"column":28}},{"start":{"line":85,"column":4},"end":{"line":85,"column":27}},{"start":{"line":86,"column":4},"end":{"line":86,"column":21}},{"start":{"line":87,"column":4},"end":{"line":87,"column":20}},{"start":{"line":88,"column":4},"end":{"line":88,"column":21}},{"start":{"line":89,"column":4},"end":{"line":90,"column":65}},{"start":{"line":91,"column":4},"end":{"line":91,"column":23}},{"start":{"line":92,"column":4},"end":{"line":93,"column":71}},{"start":{"line":94,"column":4},"end":{"line":95,"column":88}},{"start":{"line":96,"column":4},"end":{"line":96,"column":23}},{"start":{"line":97,"column":4},"end":{"line":98,"column":85}},{"start":{"line":99,"column":4},"end":{"line":100,"column":79}},{"start":{"line":101,"column":4},"end":{"line":102,"column":48}},{"start":{"line":103,"column":4},"end":{"line":104,"column":54}},{"start":{"line":105,"column":4},"end":{"line":106,"column":60}},{"start":{"line":107,"column":4},"end":{"line":107,"column":22}},{"start":{"line":108,"column":4},"end":{"line":109,"column":71}},{"start":{"line":110,"column":4},"end":{"line":111,"column":19}}],"line":59}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/mergeVariableReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/mergeVariableReferences.ts","statementMap":{"0":{"start":{"line":9,"column":25},"end":{"line":9,"column":59}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":29}},"2":{"start":{"line":12,"column":2},"end":{"line":20,"column":5}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":48}},"4":{"start":{"line":13,"column":41},"end":{"line":13,"column":48}},"5":{"start":{"line":14,"column":4},"end":{"line":19,"column":7}},"6":{"start":{"line":17,"column":6},"end":{"line":17,"column":43}},"7":{"start":{"line":17,"column":36},"end":{"line":17,"column":43}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":43}},"9":{"start":{"line":21,"column":2},"end":{"line":29,"column":5}},"10":{"start":{"line":22,"column":4},"end":{"line":22,"column":48}},"11":{"start":{"line":22,"column":41},"end":{"line":22,"column":48}},"12":{"start":{"line":23,"column":4},"end":{"line":28,"column":7}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":43}},"14":{"start":{"line":26,"column":36},"end":{"line":26,"column":43}},"15":{"start":{"line":27,"column":6},"end":{"line":27,"column":43}},"16":{"start":{"line":30,"column":2},"end":{"line":34,"column":5}},"17":{"start":{"line":31,"column":27},"end":{"line":31,"column":61}},"18":{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},"19":{"start":{"line":32,"column":39},"end":{"line":32,"column":46}},"20":{"start":{"line":33,"column":4},"end":{"line":33,"column":48}},"21":{"start":{"line":36,"column":2},"end":{"line":36,"column":19}}},"fnMap":{"0":{"name":"mergeVariableReferencesWithLocalVariables","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":63}},"loc":{"start":{"line":8,"column":153},"end":{"line":37,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":17},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":28},"end":{"line":20,"column":3}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":59},"end":{"line":14,"column":60}},"loc":{"start":{"line":14,"column":88},"end":{"line":19,"column":5}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":20},"end":{"line":21,"column":21}},"loc":{"start":{"line":21,"column":31},"end":{"line":29,"column":3}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":59},"end":{"line":23,"column":60}},"loc":{"start":{"line":23,"column":88},"end":{"line":28,"column":5}},"line":23},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":25},"end":{"line":30,"column":26}},"loc":{"start":{"line":30,"column":39},"end":{"line":34,"column":3}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":64},"end":{"line":8,"column":90}},"type":"default-arg","locations":[{"start":{"line":8,"column":88},"end":{"line":8,"column":90}}],"line":8},"1":{"loc":{"start":{"line":8,"column":92},"end":{"line":8,"column":121}},"type":"default-arg","locations":[{"start":{"line":8,"column":119},"end":{"line":8,"column":121}}],"line":8},"2":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":48}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":48}},{"start":{},"end":{}}],"line":13},"3":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":43}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":43}},{"start":{},"end":{}}],"line":17},"4":{"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":48}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":48}},{"start":{},"end":{}}],"line":22},"5":{"loc":{"start":{"line":26,"column":6},"end":{"line":26,"column":43}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":43}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},{"start":{},"end":{}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/node.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/node.ts","statementMap":{"0":{"start":{"line":24,"column":2},"end":{"line":35,"column":3}},"1":{"start":{"line":26,"column":6},"end":{"line":26,"column":20}},"2":{"start":{"line":28,"column":6},"end":{"line":28,"column":27}},"3":{"start":{"line":30,"column":6},"end":{"line":30,"column":24}},"4":{"start":{"line":32,"column":6},"end":{"line":32,"column":21}},"5":{"start":{"line":34,"column":6},"end":{"line":34,"column":21}},"6":{"start":{"line":38,"column":26},"end":{"line":44,"column":2}},"7":{"start":{"line":56,"column":23},"end":{"line":98,"column":8}},"8":{"start":{"line":57,"column":26},"end":{"line":57,"column":49}},"9":{"start":{"line":59,"column":4},"end":{"line":59,"column":35}},"10":{"start":{"line":59,"column":24},"end":{"line":59,"column":35}},"11":{"start":{"line":60,"column":4},"end":{"line":95,"column":5}},"12":{"start":{"line":62,"column":6},"end":{"line":92,"column":7}},"13":{"start":{"line":63,"column":25},"end":{"line":63,"column":77}},"14":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"15":{"start":{"line":65,"column":10},"end":{"line":65,"column":244}},"16":{"start":{"line":67,"column":13},"end":{"line":92,"column":7}},"17":{"start":{"line":68,"column":8},"end":{"line":75,"column":11}},"18":{"start":{"line":70,"column":10},"end":{"line":70,"column":46}},"19":{"start":{"line":72,"column":10},"end":{"line":74,"column":11}},"20":{"start":{"line":73,"column":12},"end":{"line":73,"column":42}},"21":{"start":{"line":76,"column":13},"end":{"line":92,"column":7}},"22":{"start":{"line":78,"column":8},"end":{"line":78,"column":92}},"23":{"start":{"line":79,"column":13},"end":{"line":92,"column":7}},"24":{"start":{"line":86,"column":8},"end":{"line":86,"column":52}},"25":{"start":{"line":88,"column":8},"end":{"line":88,"column":39}},"26":{"start":{"line":91,"column":8},"end":{"line":91,"column":83}},"27":{"start":{"line":94,"column":6},"end":{"line":94,"column":31}},"28":{"start":{"line":97,"column":4},"end":{"line":97,"column":15}},"29":{"start":{"line":99,"column":2},"end":{"line":99,"column":22}},"30":{"start":{"line":105,"column":22},"end":{"line":105,"column":64}},"31":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"32":{"start":{"line":108,"column":4},"end":{"line":108,"column":23}},"33":{"start":{"line":110,"column":2},"end":{"line":110,"column":49}},"34":{"start":{"line":123,"column":2},"end":{"line":171,"column":3}},"35":{"start":{"line":124,"column":25},"end":{"line":124,"column":77}},"36":{"start":{"line":125,"column":24},"end":{"line":125,"column":51}},"37":{"start":{"line":126,"column":17},"end":{"line":126,"column":19}},"38":{"start":{"line":127,"column":35},"end":{"line":127,"column":37}},"39":{"start":{"line":128,"column":20},"end":{"line":128,"column":38}},"40":{"start":{"line":129,"column":19},"end":{"line":129,"column":38}},"41":{"start":{"line":131,"column":4},"end":{"line":145,"column":5}},"42":{"start":{"line":132,"column":6},"end":{"line":132,"column":73}},"43":{"start":{"line":133,"column":6},"end":{"line":133,"column":73}},"44":{"start":{"line":135,"column":6},"end":{"line":135,"column":74}},"45":{"start":{"line":136,"column":6},"end":{"line":136,"column":74}},"46":{"start":{"line":139,"column":6},"end":{"line":141,"column":7}},"47":{"start":{"line":140,"column":8},"end":{"line":140,"column":75}},"48":{"start":{"line":142,"column":6},"end":{"line":144,"column":7}},"49":{"start":{"line":143,"column":8},"end":{"line":143,"column":75}},"50":{"start":{"line":147,"column":24},"end":{"line":147,"column":72}},"51":{"start":{"line":148,"column":20},"end":{"line":148,"column":58}},"52":{"start":{"line":149,"column":22},"end":{"line":149,"column":62}},"53":{"start":{"line":150,"column":28},"end":{"line":150,"column":148}},"54":{"start":{"line":151,"column":31},"end":{"line":151,"column":80}},"55":{"start":{"line":152,"column":24},"end":{"line":152,"column":66}},"56":{"start":{"line":153,"column":4},"end":{"line":168,"column":5}},"57":{"start":{"line":154,"column":26},"end":{"line":157,"column":12}},"58":{"start":{"line":155,"column":8},"end":{"line":155,"column":91}},"59":{"start":{"line":156,"column":8},"end":{"line":156,"column":19}},"60":{"start":{"line":158,"column":6},"end":{"line":167,"column":8}},"61":{"start":{"line":170,"column":4},"end":{"line":170,"column":43}},"62":{"start":{"line":172,"column":2},"end":{"line":172,"column":14}},"63":{"start":{"line":177,"column":2},"end":{"line":177,"column":43}},"64":{"start":{"line":181,"column":2},"end":{"line":181,"column":71}},"65":{"start":{"line":185,"column":2},"end":{"line":185,"column":83}},"66":{"start":{"line":189,"column":2},"end":{"line":189,"column":89}},"67":{"start":{"line":193,"column":2},"end":{"line":193,"column":77}},"68":{"start":{"line":197,"column":15},"end":{"line":197,"column":36}},"69":{"start":{"line":198,"column":2},"end":{"line":205,"column":3}},"70":{"start":{"line":203,"column":4},"end":{"line":203,"column":41}},"71":{"start":{"line":204,"column":4},"end":{"line":204,"column":49}},"72":{"start":{"line":209,"column":16},"end":{"line":211,"column":54}},"73":{"start":{"line":210,"column":4},"end":{"line":210,"column":52}},"74":{"start":{"line":212,"column":2},"end":{"line":212,"column":38}},"75":{"start":{"line":217,"column":2},"end":{"line":230,"column":3}},"76":{"start":{"line":218,"column":26},"end":{"line":218,"column":56}},"77":{"start":{"line":219,"column":54},"end":{"line":219,"column":56}},"78":{"start":{"line":220,"column":4},"end":{"line":229,"column":5}},"79":{"start":{"line":221,"column":6},"end":{"line":226,"column":9}},"80":{"start":{"line":222,"column":32},"end":{"line":222,"column":50}},"81":{"start":{"line":223,"column":8},"end":{"line":223,"column":100}},"82":{"start":{"line":223,"column":43},"end":{"line":223,"column":100}},"83":{"start":{"line":224,"column":8},"end":{"line":224,"column":104}},"84":{"start":{"line":224,"column":43},"end":{"line":224,"column":104}},"85":{"start":{"line":225,"column":8},"end":{"line":225,"column":83}},"86":{"start":{"line":227,"column":62},"end":{"line":227,"column":68}},"87":{"start":{"line":228,"column":6},"end":{"line":228,"column":79}},"88":{"start":{"line":231,"column":2},"end":{"line":247,"column":3}},"89":{"start":{"line":233,"column":26},"end":{"line":233,"column":61}},"90":{"start":{"line":234,"column":4},"end":{"line":245,"column":5}},"91":{"start":{"line":235,"column":6},"end":{"line":244,"column":7}},"92":{"start":{"line":236,"column":8},"end":{"line":239,"column":9}},"93":{"start":{"line":237,"column":39},"end":{"line":237,"column":132}},"94":{"start":{"line":238,"column":10},"end":{"line":238,"column":52}},"95":{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},"96":{"start":{"line":241,"column":39},"end":{"line":241,"column":132}},"97":{"start":{"line":242,"column":10},"end":{"line":242,"column":52}},"98":{"start":{"line":246,"column":4},"end":{"line":246,"column":91}},"99":{"start":{"line":248,"column":2},"end":{"line":250,"column":3}},"100":{"start":{"line":249,"column":4},"end":{"line":249,"column":94}},"101":{"start":{"line":251,"column":2},"end":{"line":253,"column":3}},"102":{"start":{"line":252,"column":4},"end":{"line":252,"column":96}},"103":{"start":{"line":254,"column":2},"end":{"line":256,"column":3}},"104":{"start":{"line":255,"column":4},"end":{"line":255,"column":95}},"105":{"start":{"line":257,"column":2},"end":{"line":259,"column":3}},"106":{"start":{"line":258,"column":4},"end":{"line":258,"column":97}},"107":{"start":{"line":260,"column":2},"end":{"line":260,"column":16}}},"fnMap":{"0":{"name":"returnValueToLookFor","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":36}},"loc":{"start":{"line":23,"column":50},"end":{"line":36,"column":1}},"line":23},"1":{"name":"mapValuesToTokens","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":33}},"loc":{"start":{"line":55,"column":127},"end":{"line":100,"column":1}},"line":55},"2":{"name":"(anonymous_2)","decl":{"start":{"line":56,"column":78},"end":{"line":56,"column":79}},"loc":{"start":{"line":56,"column":107},"end":{"line":98,"column":3}},"line":56},"3":{"name":"(anonymous_3)","decl":{"start":{"line":68,"column":52},"end":{"line":68,"column":53}},"loc":{"start":{"line":68,"column":75},"end":{"line":75,"column":9}},"line":68},"4":{"name":"getSavedStorageType","decl":{"start":{"line":102,"column":22},"end":{"line":102,"column":41}},"loc":{"start":{"line":102,"column":66},"end":{"line":111,"column":1}},"line":102},"5":{"name":"getTokenData","decl":{"start":{"line":113,"column":22},"end":{"line":113,"column":34}},"loc":{"start":{"line":122,"column":10},"end":{"line":173,"column":1}},"line":122},"6":{"name":"(anonymous_6)","decl":{"start":{"line":154,"column":86},"end":{"line":154,"column":87}},"loc":{"start":{"line":154,"column":115},"end":{"line":157,"column":7}},"line":154},"7":{"name":"saveStorageType","decl":{"start":{"line":176,"column":22},"end":{"line":176,"column":37}},"loc":{"start":{"line":176,"column":60},"end":{"line":178,"column":1}},"line":176},"8":{"name":"saveOnboardingExplainerSets","decl":{"start":{"line":180,"column":22},"end":{"line":180,"column":49}},"loc":{"start":{"line":180,"column":84},"end":{"line":182,"column":1}},"line":180},"9":{"name":"saveOnboardingExplainerExportSets","decl":{"start":{"line":184,"column":22},"end":{"line":184,"column":55}},"loc":{"start":{"line":184,"column":96},"end":{"line":186,"column":1}},"line":184},"10":{"name":"saveOnboardingExplainerSyncProviders","decl":{"start":{"line":188,"column":22},"end":{"line":188,"column":58}},"loc":{"start":{"line":188,"column":102},"end":{"line":190,"column":1}},"line":188},"11":{"name":"saveOnboardingExplainerInspect","decl":{"start":{"line":192,"column":22},"end":{"line":192,"column":52}},"loc":{"start":{"line":192,"column":90},"end":{"line":194,"column":1}},"line":192},"12":{"name":"goToNode","decl":{"start":{"line":196,"column":16},"end":{"line":196,"column":24}},"loc":{"start":{"line":196,"column":37},"end":{"line":206,"column":1}},"line":196},"13":{"name":"selectNodes","decl":{"start":{"line":208,"column":16},"end":{"line":208,"column":27}},"loc":{"start":{"line":208,"column":43},"end":{"line":213,"column":1}},"line":208},"14":{"name":"(anonymous_14)","decl":{"start":{"line":209,"column":59},"end":{"line":209,"column":60}},"loc":{"start":{"line":210,"column":4},"end":{"line":210,"column":52}},"line":210},"15":{"name":"destructureTokenForAlias","decl":{"start":{"line":216,"column":16},"end":{"line":216,"column":40}},"loc":{"start":{"line":216,"column":134},"end":{"line":261,"column":1}},"line":216},"16":{"name":"(anonymous_16)","decl":{"start":{"line":221,"column":54},"end":{"line":221,"column":55}},"loc":{"start":{"line":221,"column":77},"end":{"line":226,"column":7}},"line":221}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":2},"end":{"line":35,"column":3}},"type":"switch","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":20}},{"start":{"line":27,"column":4},"end":{"line":28,"column":27}},{"start":{"line":29,"column":4},"end":{"line":30,"column":24}},{"start":{"line":31,"column":4},"end":{"line":32,"column":21}},{"start":{"line":33,"column":4},"end":{"line":34,"column":21}}],"line":24},"1":{"loc":{"start":{"line":59,"column":4},"end":{"line":59,"column":35}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":59,"column":35}},{"start":{},"end":{}}],"line":59},"2":{"loc":{"start":{"line":60,"column":4},"end":{"line":95,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":95,"column":5}},{"start":{"line":93,"column":11},"end":{"line":95,"column":5}}],"line":60},"3":{"loc":{"start":{"line":62,"column":6},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":92,"column":7}},{"start":{"line":67,"column":13},"end":{"line":92,"column":7}}],"line":62},"4":{"loc":{"start":{"line":62,"column":10},"end":{"line":62,"column":106}},"type":"binary-expr","locations":[{"start":{"line":62,"column":10},"end":{"line":62,"column":50}},{"start":{"line":62,"column":54},"end":{"line":62,"column":106}}],"line":62},"5":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},{"start":{},"end":{}}],"line":64},"6":{"loc":{"start":{"line":65,"column":21},"end":{"line":65,"column":243}},"type":"cond-expr","locations":[{"start":{"line":65,"column":64},"end":{"line":65,"column":155}},{"start":{"line":65,"column":158},"end":{"line":65,"column":243}}],"line":65},"7":{"loc":{"start":{"line":67,"column":13},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":13},"end":{"line":92,"column":7}},{"start":{"line":76,"column":13},"end":{"line":92,"column":7}}],"line":67},"8":{"loc":{"start":{"line":72,"column":10},"end":{"line":74,"column":11}},"type":"if","locations":[{"start":{"line":72,"column":10},"end":{"line":74,"column":11}},{"start":{},"end":{}}],"line":72},"9":{"loc":{"start":{"line":72,"column":14},"end":{"line":72,"column":143}},"type":"binary-expr","locations":[{"start":{"line":72,"column":14},"end":{"line":72,"column":39}},{"start":{"line":72,"column":43},"end":{"line":72,"column":88}},{"start":{"line":72,"column":92},"end":{"line":72,"column":108}},{"start":{"line":72,"column":112},"end":{"line":72,"column":143}}],"line":72},"10":{"loc":{"start":{"line":76,"column":13},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":76,"column":13},"end":{"line":92,"column":7}},{"start":{"line":79,"column":13},"end":{"line":92,"column":7}}],"line":76},"11":{"loc":{"start":{"line":78,"column":19},"end":{"line":78,"column":91}},"type":"cond-expr","locations":[{"start":{"line":78,"column":47},"end":{"line":78,"column":72}},{"start":{"line":78,"column":75},"end":{"line":78,"column":91}}],"line":78},"12":{"loc":{"start":{"line":79,"column":13},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":79,"column":13},"end":{"line":92,"column":7}},{"start":{"line":89,"column":13},"end":{"line":92,"column":7}}],"line":79},"13":{"loc":{"start":{"line":80,"column":8},"end":{"line":84,"column":34}},"type":"binary-expr","locations":[{"start":{"line":80,"column":8},"end":{"line":80,"column":48}},{"start":{"line":81,"column":11},"end":{"line":81,"column":51}},{"start":{"line":82,"column":11},"end":{"line":82,"column":50}},{"start":{"line":83,"column":11},"end":{"line":83,"column":41}},{"start":{"line":83,"column":45},"end":{"line":83,"column":70}},{"start":{"line":84,"column":11},"end":{"line":84,"column":34}}],"line":80},"14":{"loc":{"start":{"line":91,"column":19},"end":{"line":91,"column":82}},"type":"binary-expr","locations":[{"start":{"line":91,"column":19},"end":{"line":91,"column":59}},{"start":{"line":91,"column":63},"end":{"line":91,"column":82}}],"line":91},"15":{"loc":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"type":"if","locations":[{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},{"start":{},"end":{}}],"line":107},"16":{"loc":{"start":{"line":124,"column":25},"end":{"line":124,"column":77}},"type":"binary-expr","locations":[{"start":{"line":124,"column":25},"end":{"line":124,"column":68}},{"start":{"line":124,"column":72},"end":{"line":124,"column":77}}],"line":124},"17":{"loc":{"start":{"line":131,"column":4},"end":{"line":145,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":145,"column":5}},{"start":{"line":134,"column":11},"end":{"line":145,"column":5}}],"line":131},"18":{"loc":{"start":{"line":132,"column":15},"end":{"line":132,"column":72}},"type":"binary-expr","locations":[{"start":{"line":132,"column":15},"end":{"line":132,"column":66}},{"start":{"line":132,"column":70},"end":{"line":132,"column":72}}],"line":132},"19":{"loc":{"start":{"line":133,"column":15},"end":{"line":133,"column":72}},"type":"binary-expr","locations":[{"start":{"line":133,"column":15},"end":{"line":133,"column":66}},{"start":{"line":133,"column":70},"end":{"line":133,"column":72}}],"line":133},"20":{"loc":{"start":{"line":135,"column":15},"end":{"line":135,"column":73}},"type":"binary-expr","locations":[{"start":{"line":135,"column":15},"end":{"line":135,"column":67}},{"start":{"line":135,"column":71},"end":{"line":135,"column":73}}],"line":135},"21":{"loc":{"start":{"line":136,"column":15},"end":{"line":136,"column":73}},"type":"binary-expr","locations":[{"start":{"line":136,"column":15},"end":{"line":136,"column":67}},{"start":{"line":136,"column":71},"end":{"line":136,"column":73}}],"line":136},"22":{"loc":{"start":{"line":139,"column":6},"end":{"line":141,"column":7}},"type":"if","locations":[{"start":{"line":139,"column":6},"end":{"line":141,"column":7}},{"start":{},"end":{}}],"line":139},"23":{"loc":{"start":{"line":140,"column":17},"end":{"line":140,"column":74}},"type":"binary-expr","locations":[{"start":{"line":140,"column":17},"end":{"line":140,"column":68}},{"start":{"line":140,"column":72},"end":{"line":140,"column":74}}],"line":140},"24":{"loc":{"start":{"line":142,"column":6},"end":{"line":144,"column":7}},"type":"if","locations":[{"start":{"line":142,"column":6},"end":{"line":144,"column":7}},{"start":{},"end":{}}],"line":142},"25":{"loc":{"start":{"line":143,"column":17},"end":{"line":143,"column":74}},"type":"binary-expr","locations":[{"start":{"line":143,"column":17},"end":{"line":143,"column":68}},{"start":{"line":143,"column":72},"end":{"line":143,"column":74}}],"line":143},"26":{"loc":{"start":{"line":147,"column":24},"end":{"line":147,"column":72}},"type":"binary-expr","locations":[{"start":{"line":147,"column":24},"end":{"line":147,"column":66}},{"start":{"line":147,"column":70},"end":{"line":147,"column":72}}],"line":147},"27":{"loc":{"start":{"line":150,"column":28},"end":{"line":150,"column":148}},"type":"binary-expr","locations":[{"start":{"line":150,"column":28},"end":{"line":150,"column":89}},{"start":{"line":150,"column":93},"end":{"line":150,"column":139}},{"start":{"line":150,"column":143},"end":{"line":150,"column":148}}],"line":150},"28":{"loc":{"start":{"line":153,"column":4},"end":{"line":168,"column":5}},"type":"if","locations":[{"start":{"line":153,"column":4},"end":{"line":168,"column":5}},{"start":{},"end":{}}],"line":153},"29":{"loc":{"start":{"line":155,"column":19},"end":{"line":155,"column":90}},"type":"cond-expr","locations":[{"start":{"line":155,"column":53},"end":{"line":155,"column":76}},{"start":{"line":155,"column":79},"end":{"line":155,"column":90}}],"line":155},"30":{"loc":{"start":{"line":162,"column":19},"end":{"line":162,"column":34}},"type":"binary-expr","locations":[{"start":{"line":162,"column":19},"end":{"line":162,"column":28}},{"start":{"line":162,"column":32},"end":{"line":162,"column":34}}],"line":162},"31":{"loc":{"start":{"line":163,"column":17},"end":{"line":163,"column":30}},"type":"binary-expr","locations":[{"start":{"line":163,"column":17},"end":{"line":163,"column":24}},{"start":{"line":163,"column":28},"end":{"line":163,"column":30}}],"line":163},"32":{"loc":{"start":{"line":198,"column":2},"end":{"line":205,"column":3}},"type":"if","locations":[{"start":{"line":198,"column":2},"end":{"line":205,"column":3}},{"start":{},"end":{}}],"line":198},"33":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":31}},"type":"binary-expr","locations":[{"start":{"line":199,"column":4},"end":{"line":199,"column":8}},{"start":{"line":200,"column":7},"end":{"line":200,"column":27}},{"start":{"line":201,"column":7},"end":{"line":201,"column":31}}],"line":199},"34":{"loc":{"start":{"line":210,"column":4},"end":{"line":210,"column":52}},"type":"binary-expr","locations":[{"start":{"line":210,"column":4},"end":{"line":210,"column":24}},{"start":{"line":210,"column":28},"end":{"line":210,"column":52}}],"line":210},"35":{"loc":{"start":{"line":217,"column":2},"end":{"line":230,"column":3}},"type":"if","locations":[{"start":{"line":217,"column":2},"end":{"line":230,"column":3}},{"start":{},"end":{}}],"line":217},"36":{"loc":{"start":{"line":217,"column":6},"end":{"line":217,"column":34}},"type":"binary-expr","locations":[{"start":{"line":217,"column":6},"end":{"line":217,"column":12}},{"start":{"line":217,"column":16},"end":{"line":217,"column":34}}],"line":217},"37":{"loc":{"start":{"line":220,"column":4},"end":{"line":229,"column":5}},"type":"if","locations":[{"start":{"line":220,"column":4},"end":{"line":229,"column":5}},{"start":{},"end":{}}],"line":220},"38":{"loc":{"start":{"line":223,"column":8},"end":{"line":223,"column":100}},"type":"if","locations":[{"start":{"line":223,"column":8},"end":{"line":223,"column":100}},{"start":{},"end":{}}],"line":223},"39":{"loc":{"start":{"line":224,"column":8},"end":{"line":224,"column":104}},"type":"if","locations":[{"start":{"line":224,"column":8},"end":{"line":224,"column":104}},{"start":{},"end":{}}],"line":224},"40":{"loc":{"start":{"line":231,"column":2},"end":{"line":247,"column":3}},"type":"if","locations":[{"start":{"line":231,"column":2},"end":{"line":247,"column":3}},{"start":{},"end":{}}],"line":231},"41":{"loc":{"start":{"line":231,"column":6},"end":{"line":231,"column":75}},"type":"binary-expr","locations":[{"start":{"line":231,"column":6},"end":{"line":231,"column":12}},{"start":{"line":231,"column":16},"end":{"line":231,"column":29}},{"start":{"line":231,"column":33},"end":{"line":231,"column":52}},{"start":{"line":231,"column":56},"end":{"line":231,"column":75}}],"line":231},"42":{"loc":{"start":{"line":234,"column":4},"end":{"line":245,"column":5}},"type":"if","locations":[{"start":{"line":234,"column":4},"end":{"line":245,"column":5}},{"start":{},"end":{}}],"line":234},"43":{"loc":{"start":{"line":234,"column":8},"end":{"line":234,"column":66}},"type":"binary-expr","locations":[{"start":{"line":234,"column":8},"end":{"line":234,"column":21}},{"start":{"line":234,"column":25},"end":{"line":234,"column":66}}],"line":234},"44":{"loc":{"start":{"line":235,"column":6},"end":{"line":244,"column":7}},"type":"if","locations":[{"start":{"line":235,"column":6},"end":{"line":244,"column":7}},{"start":{},"end":{}}],"line":235},"45":{"loc":{"start":{"line":236,"column":8},"end":{"line":239,"column":9}},"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":239,"column":9}},{"start":{},"end":{}}],"line":236},"46":{"loc":{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},{"start":{},"end":{}}],"line":240},"47":{"loc":{"start":{"line":246,"column":30},"end":{"line":246,"column":87}},"type":"cond-expr","locations":[{"start":{"line":246,"column":51},"end":{"line":246,"column":54}},{"start":{"line":246,"column":57},"end":{"line":246,"column":87}}],"line":246},"48":{"loc":{"start":{"line":248,"column":2},"end":{"line":250,"column":3}},"type":"if","locations":[{"start":{"line":248,"column":2},"end":{"line":250,"column":3}},{"start":{},"end":{}}],"line":248},"49":{"loc":{"start":{"line":248,"column":6},"end":{"line":248,"column":32}},"type":"binary-expr","locations":[{"start":{"line":248,"column":6},"end":{"line":248,"column":12}},{"start":{"line":248,"column":16},"end":{"line":248,"column":32}}],"line":248},"50":{"loc":{"start":{"line":249,"column":30},"end":{"line":249,"column":90}},"type":"cond-expr","locations":[{"start":{"line":249,"column":51},"end":{"line":249,"column":54}},{"start":{"line":249,"column":57},"end":{"line":249,"column":90}}],"line":249},"51":{"loc":{"start":{"line":251,"column":2},"end":{"line":253,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":253,"column":3}},{"start":{},"end":{}}],"line":251},"52":{"loc":{"start":{"line":251,"column":6},"end":{"line":251,"column":34}},"type":"binary-expr","locations":[{"start":{"line":251,"column":6},"end":{"line":251,"column":12}},{"start":{"line":251,"column":16},"end":{"line":251,"column":34}}],"line":251},"53":{"loc":{"start":{"line":252,"column":30},"end":{"line":252,"column":92}},"type":"cond-expr","locations":[{"start":{"line":252,"column":51},"end":{"line":252,"column":54}},{"start":{"line":252,"column":57},"end":{"line":252,"column":92}}],"line":252},"54":{"loc":{"start":{"line":254,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":254,"column":2},"end":{"line":256,"column":3}},{"start":{},"end":{}}],"line":254},"55":{"loc":{"start":{"line":254,"column":6},"end":{"line":254,"column":33}},"type":"binary-expr","locations":[{"start":{"line":254,"column":6},"end":{"line":254,"column":12}},{"start":{"line":254,"column":16},"end":{"line":254,"column":33}}],"line":254},"56":{"loc":{"start":{"line":255,"column":30},"end":{"line":255,"column":91}},"type":"cond-expr","locations":[{"start":{"line":255,"column":51},"end":{"line":255,"column":54}},{"start":{"line":255,"column":57},"end":{"line":255,"column":91}}],"line":255},"57":{"loc":{"start":{"line":257,"column":2},"end":{"line":259,"column":3}},"type":"if","locations":[{"start":{"line":257,"column":2},"end":{"line":259,"column":3}},{"start":{},"end":{}}],"line":257},"58":{"loc":{"start":{"line":257,"column":6},"end":{"line":257,"column":35}},"type":"binary-expr","locations":[{"start":{"line":257,"column":6},"end":{"line":257,"column":12}},{"start":{"line":257,"column":16},"end":{"line":257,"column":35}}],"line":257},"59":{"loc":{"start":{"line":258,"column":30},"end":{"line":258,"column":93}},"type":"cond-expr","locations":[{"start":{"line":258,"column":51},"end":{"line":258,"column":54}},{"start":{"line":258,"column":57},"end":{"line":258,"column":93}}],"line":258}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0,0,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/notifiers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/notifiers.ts","statementMap":{"0":{"start":{"line":18,"column":2},"end":{"line":18,"column":26}},"1":{"start":{"line":22,"column":2},"end":{"line":26,"column":5}},"2":{"start":{"line":30,"column":2},"end":{"line":30,"column":30}},"3":{"start":{"line":34,"column":2},"end":{"line":36,"column":5}},"4":{"start":{"line":48,"column":2},"end":{"line":53,"column":5}},"5":{"start":{"line":119,"column":2},"end":{"line":153,"column":5}},"6":{"start":{"line":154,"column":2},"end":{"line":157,"column":5}},"7":{"start":{"line":161,"column":2},"end":{"line":161,"column":70}},"8":{"start":{"line":165,"column":2},"end":{"line":165,"column":60}},"9":{"start":{"line":172,"column":2},"end":{"line":176,"column":5}},"10":{"start":{"line":180,"column":2},"end":{"line":180,"column":64}},"11":{"start":{"line":184,"column":2},"end":{"line":188,"column":5}},"12":{"start":{"line":192,"column":2},"end":{"line":196,"column":5}}},"fnMap":{"0":{"name":"notifyUI","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":24}},"loc":{"start":{"line":17,"column":66},"end":{"line":19,"column":1}},"line":17},"1":{"name":"notifyToUI","decl":{"start":{"line":21,"column":16},"end":{"line":21,"column":26}},"loc":{"start":{"line":21,"column":79},"end":{"line":27,"column":1}},"line":21},"2":{"name":"postToUI","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":24}},"loc":{"start":{"line":29,"column":49},"end":{"line":31,"column":1}},"line":29},"3":{"name":"notifyNoSelection","decl":{"start":{"line":33,"column":16},"end":{"line":33,"column":33}},"loc":{"start":{"line":33,"column":36},"end":{"line":37,"column":1}},"line":33},"4":{"name":"notifySelection","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":31}},"loc":{"start":{"line":47,"column":3},"end":{"line":54,"column":1}},"line":47},"5":{"name":"notifyUISettings","decl":{"start":{"line":87,"column":16},"end":{"line":87,"column":32}},"loc":{"start":{"line":118,"column":2},"end":{"line":158,"column":1}},"line":118},"6":{"name":"notifyAPIProviders","decl":{"start":{"line":160,"column":16},"end":{"line":160,"column":34}},"loc":{"start":{"line":160,"column":72},"end":{"line":162,"column":1}},"line":160},"7":{"name":"notifyStyleValues","decl":{"start":{"line":164,"column":16},"end":{"line":164,"column":33}},"loc":{"start":{"line":164,"column":80},"end":{"line":166,"column":1}},"line":164},"8":{"name":"notifyVariableValues","decl":{"start":{"line":168,"column":16},"end":{"line":168,"column":36}},"loc":{"start":{"line":171,"column":2},"end":{"line":177,"column":1}},"line":171},"9":{"name":"notifySetTokens","decl":{"start":{"line":179,"column":16},"end":{"line":179,"column":31}},"loc":{"start":{"line":179,"column":52},"end":{"line":181,"column":1}},"line":179},"10":{"name":"notifyException","decl":{"start":{"line":183,"column":16},"end":{"line":183,"column":31}},"loc":{"start":{"line":183,"column":58},"end":{"line":189,"column":1}},"line":183},"11":{"name":"trackFromPlugin","decl":{"start":{"line":191,"column":16},"end":{"line":191,"column":31}},"loc":{"start":{"line":191,"column":58},"end":{"line":197,"column":1}},"line":191}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":77}},"type":"default-arg","locations":[{"start":{"line":21,"column":75},"end":{"line":21,"column":77}}],"line":21},"1":{"loc":{"start":{"line":108,"column":4},"end":{"line":108,"column":23}},"type":"default-arg","locations":[{"start":{"line":108,"column":19},"end":{"line":108,"column":23}}],"line":108},"2":{"loc":{"start":{"line":183,"column":47},"end":{"line":183,"column":56}},"type":"default-arg","locations":[{"start":{"line":183,"column":54},"end":{"line":183,"column":56}}],"line":183},"3":{"loc":{"start":{"line":191,"column":47},"end":{"line":191,"column":56}},"type":"default-arg","locations":[{"start":{"line":191,"column":54},"end":{"line":191,"column":56}}],"line":191}},"s":{"0":0,"1":0,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":7,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":7,"9":0,"10":0,"11":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f09719774110a0611d01830a4dfc36b93ecba787"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/performCodeGen.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/performCodeGen.ts","statementMap":{"0":{"start":{"line":4,"column":20},"end":{"line":4,"column":43}},"1":{"start":{"line":6,"column":15},"end":{"line":13,"column":15}},"2":{"start":{"line":8,"column":20},"end":{"line":8,"column":65}},"3":{"start":{"line":10,"column":6},"end":{"line":10,"column":42}},"4":{"start":{"line":12,"column":19},"end":{"line":12,"column":20}},"5":{"start":{"line":15,"column":2},"end":{"line":21,"column":4}}},"fnMap":{"0":{"name":"performCodeGen","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":60},"end":{"line":22,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":18},"end":{"line":11,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":13}},"loc":{"start":{"line":12,"column":19},"end":{"line":12,"column":20}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":13},"end":{"line":10,"column":41}},"type":"binary-expr","locations":[{"start":{"line":10,"column":13},"end":{"line":10,"column":18}},{"start":{"line":10,"column":22},"end":{"line":10,"column":41}}],"line":10},"1":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":56}},"type":"cond-expr","locations":[{"start":{"line":18,"column":26},"end":{"line":18,"column":49}},{"start":{"line":18,"column":52},"end":{"line":18,"column":56}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pluginData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pluginData.ts","statementMap":{"0":{"start":{"line":16,"column":26},"end":{"line":68,"column":8}},"1":{"start":{"line":17,"column":49},"end":{"line":17,"column":53}},"2":{"start":{"line":19,"column":4},"end":{"line":30,"column":7}},"3":{"start":{"line":20,"column":23},"end":{"line":20,"column":84}},"4":{"start":{"line":20,"column":42},"end":{"line":20,"column":83}},"5":{"start":{"line":21,"column":6},"end":{"line":29,"column":7}},"6":{"start":{"line":22,"column":8},"end":{"line":22,"column":48}},"7":{"start":{"line":24,"column":25},"end":{"line":24,"column":72}},"8":{"start":{"line":26,"column":8},"end":{"line":28,"column":11}},"9":{"start":{"line":33,"column":27},"end":{"line":33,"column":65}},"10":{"start":{"line":34,"column":4},"end":{"line":48,"column":7}},"11":{"start":{"line":36,"column":29},"end":{"line":36,"column":140}},"12":{"start":{"line":36,"column":48},"end":{"line":36,"column":139}},"13":{"start":{"line":36,"column":105},"end":{"line":36,"column":138}},"14":{"start":{"line":37,"column":6},"end":{"line":47,"column":7}},"15":{"start":{"line":38,"column":25},"end":{"line":38,"column":82}},"16":{"start":{"line":39,"column":8},"end":{"line":46,"column":11}},"17":{"start":{"line":51,"column":24},"end":{"line":51,"column":59}},"18":{"start":{"line":52,"column":4},"end":{"line":66,"column":7}},"19":{"start":{"line":54,"column":29},"end":{"line":54,"column":137}},"20":{"start":{"line":54,"column":48},"end":{"line":54,"column":136}},"21":{"start":{"line":54,"column":102},"end":{"line":54,"column":135}},"22":{"start":{"line":55,"column":6},"end":{"line":65,"column":7}},"23":{"start":{"line":56,"column":25},"end":{"line":56,"column":79}},"24":{"start":{"line":57,"column":8},"end":{"line":64,"column":11}},"25":{"start":{"line":67,"column":4},"end":{"line":67,"column":15}},"26":{"start":{"line":70,"column":2},"end":{"line":70,"column":25}},"27":{"start":{"line":74,"column":34},"end":{"line":92,"column":8}},"28":{"start":{"line":76,"column":24},"end":{"line":76,"column":59}},"29":{"start":{"line":77,"column":4},"end":{"line":81,"column":7}},"30":{"start":{"line":78,"column":6},"end":{"line":80,"column":9}},"31":{"start":{"line":84,"column":27},"end":{"line":84,"column":65}},"32":{"start":{"line":85,"column":4},"end":{"line":89,"column":7}},"33":{"start":{"line":86,"column":6},"end":{"line":88,"column":9}},"34":{"start":{"line":90,"column":4},"end":{"line":90,"column":26}},"35":{"start":{"line":91,"column":4},"end":{"line":91,"column":15}},"36":{"start":{"line":93,"column":2},"end":{"line":93,"column":33}},"37":{"start":{"line":104,"column":50},"end":{"line":104,"column":52}},"38":{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},"39":{"start":{"line":109,"column":4},"end":{"line":109,"column":97}},"40":{"start":{"line":109,"column":35},"end":{"line":109,"column":97}},"41":{"start":{"line":110,"column":4},"end":{"line":110,"column":82}},"42":{"start":{"line":112,"column":24},"end":{"line":112,"column":58}},"43":{"start":{"line":113,"column":2},"end":{"line":113,"column":102}},"44":{"start":{"line":114,"column":2},"end":{"line":114,"column":69}},"45":{"start":{"line":118,"column":2},"end":{"line":132,"column":6}},"46":{"start":{"line":119,"column":4},"end":{"line":131,"column":5}},"47":{"start":{"line":120,"column":6},"end":{"line":120,"column":49}},"48":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"49":{"start":{"line":122,"column":8},"end":{"line":122,"column":40}},"50":{"start":{"line":125,"column":6},"end":{"line":130,"column":9}},"51":{"start":{"line":126,"column":8},"end":{"line":126,"column":52}},"52":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"53":{"start":{"line":128,"column":10},"end":{"line":128,"column":43}},"54":{"start":{"line":136,"column":2},"end":{"line":139,"column":6}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":51}},"56":{"start":{"line":138,"column":4},"end":{"line":138,"column":36}}},"fnMap":{"0":{"name":"transformPluginDataToSelectionValues","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":52}},"loc":{"start":{"line":15,"column":102},"end":{"line":71,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":62},"end":{"line":16,"column":63}},"loc":{"start":{"line":16,"column":77},"end":{"line":68,"column":3}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":35},"end":{"line":19,"column":36}},"loc":{"start":{"line":19,"column":53},"end":{"line":30,"column":5}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":32},"end":{"line":20,"column":33}},"loc":{"start":{"line":20,"column":42},"end":{"line":20,"column":83}},"line":20},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":27},"end":{"line":34,"column":28}},"loc":{"start":{"line":34,"column":41},"end":{"line":48,"column":5}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":38},"end":{"line":36,"column":39}},"loc":{"start":{"line":36,"column":48},"end":{"line":36,"column":139}},"line":36},"6":{"name":"(anonymous_6)","decl":{"start":{"line":36,"column":95},"end":{"line":36,"column":96}},"loc":{"start":{"line":36,"column":105},"end":{"line":36,"column":138}},"line":36},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":24},"end":{"line":52,"column":25}},"loc":{"start":{"line":52,"column":35},"end":{"line":66,"column":5}},"line":52},"8":{"name":"(anonymous_8)","decl":{"start":{"line":54,"column":38},"end":{"line":54,"column":39}},"loc":{"start":{"line":54,"column":48},"end":{"line":54,"column":136}},"line":54},"9":{"name":"(anonymous_9)","decl":{"start":{"line":54,"column":92},"end":{"line":54,"column":93}},"loc":{"start":{"line":54,"column":102},"end":{"line":54,"column":135}},"line":54},"10":{"name":"transformPluginDataToMainNodeSelectionValues","decl":{"start":{"line":73,"column":16},"end":{"line":73,"column":60}},"loc":{"start":{"line":73,"column":110},"end":{"line":94,"column":1}},"line":73},"11":{"name":"(anonymous_11)","decl":{"start":{"line":74,"column":70},"end":{"line":74,"column":71}},"loc":{"start":{"line":74,"column":85},"end":{"line":92,"column":3}},"line":74},"12":{"name":"(anonymous_12)","decl":{"start":{"line":77,"column":24},"end":{"line":77,"column":25}},"loc":{"start":{"line":77,"column":35},"end":{"line":81,"column":5}},"line":77},"13":{"name":"(anonymous_13)","decl":{"start":{"line":85,"column":27},"end":{"line":85,"column":28}},"loc":{"start":{"line":85,"column":38},"end":{"line":89,"column":5}},"line":85},"14":{"name":"sendPluginValues","decl":{"start":{"line":102,"column":22},"end":{"line":102,"column":38}},"loc":{"start":{"line":102,"column":179},"end":{"line":115,"column":1}},"line":102},"15":{"name":"removePluginData","decl":{"start":{"line":117,"column":22},"end":{"line":117,"column":38}},"loc":{"start":{"line":117,"column":176},"end":{"line":133,"column":1}},"line":117},"16":{"name":"(anonymous_16)","decl":{"start":{"line":118,"column":31},"end":{"line":118,"column":32}},"loc":{"start":{"line":118,"column":47},"end":{"line":132,"column":3}},"line":118},"17":{"name":"(anonymous_17)","decl":{"start":{"line":125,"column":40},"end":{"line":125,"column":41}},"loc":{"start":{"line":125,"column":50},"end":{"line":130,"column":7}},"line":125},"18":{"name":"setNonePluginData","decl":{"start":{"line":135,"column":22},"end":{"line":135,"column":39}},"loc":{"start":{"line":135,"column":119},"end":{"line":140,"column":1}},"line":135},"19":{"name":"(anonymous_19)","decl":{"start":{"line":136,"column":31},"end":{"line":136,"column":32}},"loc":{"start":{"line":136,"column":47},"end":{"line":139,"column":3}},"line":136}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":42},"end":{"line":20,"column":83}},"type":"binary-expr","locations":[{"start":{"line":20,"column":42},"end":{"line":20,"column":59}},{"start":{"line":20,"column":63},"end":{"line":20,"column":83}}],"line":20},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":29,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":29,"column":7}},{"start":{"line":23,"column":13},"end":{"line":29,"column":7}}],"line":21},"2":{"loc":{"start":{"line":36,"column":48},"end":{"line":36,"column":139}},"type":"binary-expr","locations":[{"start":{"line":36,"column":48},"end":{"line":36,"column":75}},{"start":{"line":36,"column":79},"end":{"line":36,"column":139}}],"line":36},"3":{"loc":{"start":{"line":37,"column":6},"end":{"line":47,"column":7}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":47,"column":7}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":54,"column":48},"end":{"line":54,"column":136}},"type":"binary-expr","locations":[{"start":{"line":54,"column":48},"end":{"line":54,"column":72}},{"start":{"line":54,"column":76},"end":{"line":54,"column":136}}],"line":54},"5":{"loc":{"start":{"line":55,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":55,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},"type":"if","locations":[{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},{"start":{},"end":{}}],"line":108},"7":{"loc":{"start":{"line":108,"column":6},"end":{"line":108,"column":47}},"type":"binary-expr","locations":[{"start":{"line":108,"column":6},"end":{"line":108,"column":26}},{"start":{"line":108,"column":30},"end":{"line":108,"column":47}}],"line":108},"8":{"loc":{"start":{"line":109,"column":4},"end":{"line":109,"column":97}},"type":"if","locations":[{"start":{"line":109,"column":4},"end":{"line":109,"column":97}},{"start":{},"end":{}}],"line":109},"9":{"loc":{"start":{"line":113,"column":37},"end":{"line":113,"column":58}},"type":"binary-expr","locations":[{"start":{"line":113,"column":37},"end":{"line":113,"column":52}},{"start":{"line":113,"column":56},"end":{"line":113,"column":58}}],"line":113},"10":{"loc":{"start":{"line":117,"column":53},"end":{"line":117,"column":78}},"type":"default-arg","locations":[{"start":{"line":117,"column":74},"end":{"line":117,"column":78}}],"line":117},"11":{"loc":{"start":{"line":119,"column":4},"end":{"line":131,"column":5}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":131,"column":5}},{"start":{"line":124,"column":11},"end":{"line":131,"column":5}}],"line":119},"12":{"loc":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"type":"if","locations":[{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},{"start":{},"end":{}}],"line":121},"13":{"loc":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"type":"if","locations":[{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},{"start":{},"end":{}}],"line":127}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/processTextStyleProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/processTextStyleProperty.ts","statementMap":{"0":{"start":{"line":16,"column":25},"end":{"line":16,"column":92}},"1":{"start":{"line":17,"column":2},"end":{"line":41,"column":3}},"2":{"start":{"line":18,"column":21},"end":{"line":18,"column":89}},"3":{"start":{"line":18,"column":48},"end":{"line":18,"column":88}},"4":{"start":{"line":19,"column":4},"end":{"line":40,"column":5}},"5":{"start":{"line":20,"column":29},"end":{"line":20,"column":62}},"6":{"start":{"line":23,"column":28},"end":{"line":30,"column":14}},"7":{"start":{"line":24,"column":8},"end":{"line":24,"column":32}},"8":{"start":{"line":24,"column":19},"end":{"line":24,"column":32}},"9":{"start":{"line":25,"column":27},"end":{"line":28,"column":50}},"10":{"start":{"line":25,"column":78},"end":{"line":28,"column":42}},"11":{"start":{"line":29,"column":8},"end":{"line":29,"column":34}},"12":{"start":{"line":33,"column":6},"end":{"line":39,"column":7}},"13":{"start":{"line":34,"column":8},"end":{"line":38,"column":10}},"14":{"start":{"line":44,"column":21},"end":{"line":44,"column":58}},"15":{"start":{"line":45,"column":27},"end":{"line":45,"column":95}},"16":{"start":{"line":47,"column":18},"end":{"line":47,"column":35}},"17":{"start":{"line":48,"column":2},"end":{"line":54,"column":3}},"18":{"start":{"line":49,"column":4},"end":{"line":53,"column":5}},"19":{"start":{"line":50,"column":6},"end":{"line":50,"column":48}},"20":{"start":{"line":51,"column":11},"end":{"line":53,"column":5}},"21":{"start":{"line":52,"column":6},"end":{"line":52,"column":48}},"22":{"start":{"line":56,"column":2},"end":{"line":60,"column":4}}},"fnMap":{"0":{"name":"processTextStyleProperty","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":40}},"loc":{"start":{"line":14,"column":22},"end":{"line":61,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":41},"end":{"line":18,"column":42}},"loc":{"start":{"line":18,"column":48},"end":{"line":18,"column":88}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":85},"end":{"line":23,"column":86}},"loc":{"start":{"line":23,"column":111},"end":{"line":30,"column":7}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":67},"end":{"line":25,"column":68}},"loc":{"start":{"line":25,"column":78},"end":{"line":28,"column":42}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":19,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":19},"2":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":26}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":16}},{"start":{"line":19,"column":20},"end":{"line":19,"column":26}}],"line":19},"3":{"loc":{"start":{"line":24,"column":8},"end":{"line":24,"column":32}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":32}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":25,"column":27},"end":{"line":28,"column":50}},"type":"cond-expr","locations":[{"start":{"line":25,"column":53},"end":{"line":28,"column":43}},{"start":{"line":28,"column":46},"end":{"line":28,"column":50}}],"line":25},"5":{"loc":{"start":{"line":25,"column":78},"end":{"line":28,"column":42}},"type":"binary-expr","locations":[{"start":{"line":25,"column":78},"end":{"line":25,"column":103}},{"start":{"line":26,"column":13},"end":{"line":26,"column":27}},{"start":{"line":27,"column":13},"end":{"line":27,"column":28}},{"start":{"line":28,"column":13},"end":{"line":28,"column":42}}],"line":25},"6":{"loc":{"start":{"line":29,"column":15},"end":{"line":29,"column":33}},"type":"binary-expr","locations":[{"start":{"line":29,"column":15},"end":{"line":29,"column":25}},{"start":{"line":29,"column":29},"end":{"line":29,"column":33}}],"line":29},"7":{"loc":{"start":{"line":33,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":39,"column":7}},{"start":{},"end":{}}],"line":33},"8":{"loc":{"start":{"line":36,"column":17},"end":{"line":36,"column":108}},"type":"cond-expr","locations":[{"start":{"line":36,"column":59},"end":{"line":36,"column":78}},{"start":{"line":36,"column":81},"end":{"line":36,"column":108}}],"line":36},"9":{"loc":{"start":{"line":45,"column":27},"end":{"line":45,"column":95}},"type":"cond-expr","locations":[{"start":{"line":45,"column":46},"end":{"line":45,"column":74}},{"start":{"line":45,"column":77},"end":{"line":45,"column":95}}],"line":45},"10":{"loc":{"start":{"line":48,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":48,"column":2},"end":{"line":54,"column":3}},{"start":{},"end":{}}],"line":48},"11":{"loc":{"start":{"line":49,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":53,"column":5}},{"start":{"line":51,"column":11},"end":{"line":53,"column":5}}],"line":49},"12":{"loc":{"start":{"line":51,"column":11},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":11},"end":{"line":53,"column":5}},{"start":{},"end":{}}],"line":51}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullStyles.ts","statementMap":{"0":{"start":{"line":23,"column":17},"end":{"line":23,"column":37}},"1":{"start":{"line":25,"column":37},"end":{"line":25,"column":39}},"2":{"start":{"line":26,"column":41},"end":{"line":26,"column":43}},"3":{"start":{"line":27,"column":38},"end":{"line":27,"column":40}},"4":{"start":{"line":28,"column":43},"end":{"line":28,"column":45}},"5":{"start":{"line":29,"column":42},"end":{"line":29,"column":44}},"6":{"start":{"line":30,"column":42},"end":{"line":30,"column":44}},"7":{"start":{"line":31,"column":40},"end":{"line":31,"column":42}},"8":{"start":{"line":32,"column":44},"end":{"line":32,"column":46}},"9":{"start":{"line":33,"column":47},"end":{"line":33,"column":49}},"10":{"start":{"line":34,"column":31},"end":{"line":34,"column":33}},"11":{"start":{"line":35,"column":39},"end":{"line":35,"column":41}},"12":{"start":{"line":36,"column":45},"end":{"line":36,"column":47}},"13":{"start":{"line":37,"column":2},"end":{"line":76,"column":3}},"14":{"start":{"line":38,"column":4},"end":{"line":75,"column":6}},"15":{"start":{"line":41,"column":27},"end":{"line":41,"column":52}},"16":{"start":{"line":43,"column":24},"end":{"line":43,"column":39}},"17":{"start":{"line":44,"column":53},"end":{"line":44,"column":75}},"18":{"start":{"line":45,"column":10},"end":{"line":47,"column":11}},"19":{"start":{"line":46,"column":12},"end":{"line":46,"column":56}},"20":{"start":{"line":48,"column":10},"end":{"line":61,"column":11}},"21":{"start":{"line":49,"column":32},"end":{"line":49,"column":43}},"22":{"start":{"line":50,"column":22},"end":{"line":50,"column":35}},"23":{"start":{"line":51,"column":12},"end":{"line":56,"column":15}},"24":{"start":{"line":57,"column":17},"end":{"line":61,"column":11}},"25":{"start":{"line":58,"column":12},"end":{"line":58,"column":68}},"26":{"start":{"line":60,"column":12},"end":{"line":60,"column":31}},"27":{"start":{"line":62,"column":33},"end":{"line":65,"column":22}},"28":{"start":{"line":64,"column":30},"end":{"line":64,"column":44}},"29":{"start":{"line":67,"column":10},"end":{"line":73,"column":19}},"30":{"start":{"line":78,"column":2},"end":{"line":305,"column":3}},"31":{"start":{"line":79,"column":35},"end":{"line":79,"column":37}},"32":{"start":{"line":80,"column":41},"end":{"line":80,"column":43}},"33":{"start":{"line":81,"column":41},"end":{"line":81,"column":43}},"34":{"start":{"line":82,"column":42},"end":{"line":82,"column":44}},"35":{"start":{"line":83,"column":41},"end":{"line":83,"column":43}},"36":{"start":{"line":84,"column":46},"end":{"line":84,"column":48}},"37":{"start":{"line":85,"column":36},"end":{"line":85,"column":38}},"38":{"start":{"line":86,"column":48},"end":{"line":86,"column":50}},"39":{"start":{"line":88,"column":28},"end":{"line":88,"column":54}},"40":{"start":{"line":89,"column":27},"end":{"line":89,"column":61}},"41":{"start":{"line":91,"column":4},"end":{"line":100,"column":7}},"42":{"start":{"line":92,"column":6},"end":{"line":92,"column":84}},"43":{"start":{"line":92,"column":50},"end":{"line":92,"column":84}},"44":{"start":{"line":93,"column":6},"end":{"line":93,"column":44}},"45":{"start":{"line":94,"column":6},"end":{"line":94,"column":44}},"46":{"start":{"line":95,"column":6},"end":{"line":95,"column":114}},"47":{"start":{"line":95,"column":65},"end":{"line":95,"column":114}},"48":{"start":{"line":96,"column":6},"end":{"line":96,"column":110}},"49":{"start":{"line":96,"column":63},"end":{"line":96,"column":110}},"50":{"start":{"line":97,"column":6},"end":{"line":97,"column":49}},"51":{"start":{"line":98,"column":6},"end":{"line":98,"column":82}},"52":{"start":{"line":98,"column":49},"end":{"line":98,"column":82}},"53":{"start":{"line":99,"column":6},"end":{"line":99,"column":106}},"54":{"start":{"line":99,"column":61},"end":{"line":99,"column":106}},"55":{"start":{"line":102,"column":4},"end":{"line":111,"column":7}},"56":{"start":{"line":102,"column":52},"end":{"line":111,"column":5}},"57":{"start":{"line":110,"column":17},"end":{"line":110,"column":33}},"58":{"start":{"line":113,"column":35},"end":{"line":115,"column":5}},"59":{"start":{"line":114,"column":19},"end":{"line":114,"column":89}},"60":{"start":{"line":114,"column":38},"end":{"line":114,"column":82}},"61":{"start":{"line":117,"column":4},"end":{"line":126,"column":7}},"62":{"start":{"line":117,"column":54},"end":{"line":126,"column":5}},"63":{"start":{"line":125,"column":17},"end":{"line":125,"column":59}},"64":{"start":{"line":128,"column":4},"end":{"line":150,"column":7}},"65":{"start":{"line":129,"column":28},"end":{"line":130,"column":40}},"66":{"start":{"line":129,"column":60},"end":{"line":130,"column":39}},"67":{"start":{"line":132,"column":6},"end":{"line":138,"column":7}},"68":{"start":{"line":133,"column":8},"end":{"line":137,"column":10}},"69":{"start":{"line":140,"column":6},"end":{"line":149,"column":8}},"70":{"start":{"line":148,"column":14},"end":{"line":148,"column":24}},"71":{"start":{"line":152,"column":4},"end":{"line":173,"column":7}},"72":{"start":{"line":152,"column":68},"end":{"line":152,"column":79}},"73":{"start":{"line":153,"column":28},"end":{"line":153,"column":97}},"74":{"start":{"line":153,"column":60},"end":{"line":153,"column":96}},"75":{"start":{"line":155,"column":6},"end":{"line":161,"column":7}},"76":{"start":{"line":156,"column":8},"end":{"line":160,"column":10}},"77":{"start":{"line":163,"column":6},"end":{"line":172,"column":8}},"78":{"start":{"line":171,"column":14},"end":{"line":171,"column":24}},"79":{"start":{"line":175,"column":4},"end":{"line":184,"column":7}},"80":{"start":{"line":175,"column":59},"end":{"line":184,"column":5}},"81":{"start":{"line":183,"column":17},"end":{"line":183,"column":33}},"82":{"start":{"line":186,"column":4},"end":{"line":192,"column":10}},"83":{"start":{"line":187,"column":22},"end":{"line":187,"column":27}},"84":{"start":{"line":188,"column":27},"end":{"line":192,"column":7}},"85":{"start":{"line":194,"column":4},"end":{"line":203,"column":7}},"86":{"start":{"line":194,"column":56},"end":{"line":203,"column":5}},"87":{"start":{"line":202,"column":17},"end":{"line":202,"column":62}},"88":{"start":{"line":205,"column":4},"end":{"line":209,"column":8}},"89":{"start":{"line":205,"column":43},"end":{"line":209,"column":5}},"90":{"start":{"line":211,"column":4},"end":{"line":215,"column":8}},"91":{"start":{"line":211,"column":55},"end":{"line":215,"column":5}},"92":{"start":{"line":217,"column":4},"end":{"line":304,"column":7}},"93":{"start":{"line":218,"column":26},"end":{"line":225,"column":7}},"94":{"start":{"line":223,"column":18},"end":{"line":223,"column":52}},"95":{"start":{"line":227,"column":30},"end":{"line":234,"column":7}},"96":{"start":{"line":232,"column":18},"end":{"line":232,"column":104}},"97":{"start":{"line":236,"column":30},"end":{"line":243,"column":7}},"98":{"start":{"line":241,"column":18},"end":{"line":241,"column":84}},"99":{"start":{"line":244,"column":28},"end":{"line":251,"column":7}},"100":{"start":{"line":249,"column":18},"end":{"line":249,"column":56}},"101":{"start":{"line":252,"column":33},"end":{"line":259,"column":7}},"102":{"start":{"line":257,"column":18},"end":{"line":257,"column":90}},"103":{"start":{"line":260,"column":36},"end":{"line":269,"column":8}},"104":{"start":{"line":261,"column":8},"end":{"line":267,"column":9}},"105":{"start":{"line":262,"column":38},"end":{"line":262,"column":117}},"106":{"start":{"line":262,"column":65},"end":{"line":262,"column":116}},"107":{"start":{"line":263,"column":10},"end":{"line":266,"column":11}},"108":{"start":{"line":264,"column":35},"end":{"line":264,"column":79}},"109":{"start":{"line":265,"column":12},"end":{"line":265,"column":46}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":62}},"111":{"start":{"line":270,"column":35},"end":{"line":272,"column":7}},"112":{"start":{"line":271,"column":36},"end":{"line":271,"column":88}},"113":{"start":{"line":273,"column":28},"end":{"line":275,"column":7}},"114":{"start":{"line":274,"column":36},"end":{"line":274,"column":98}},"115":{"start":{"line":276,"column":34},"end":{"line":278,"column":7}},"116":{"start":{"line":277,"column":36},"end":{"line":277,"column":110}},"117":{"start":{"line":280,"column":18},"end":{"line":290,"column":7}},"118":{"start":{"line":292,"column":29},"end":{"line":295,"column":18}},"119":{"start":{"line":294,"column":26},"end":{"line":294,"column":40}},"120":{"start":{"line":297,"column":46},"end":{"line":297,"column":111}},"121":{"start":{"line":299,"column":6},"end":{"line":301,"column":7}},"122":{"start":{"line":300,"column":8},"end":{"line":300,"column":52}},"123":{"start":{"line":303,"column":6},"end":{"line":303,"column":25}},"124":{"start":{"line":307,"column":2},"end":{"line":348,"column":3}},"125":{"start":{"line":308,"column":4},"end":{"line":347,"column":6}},"126":{"start":{"line":311,"column":27},"end":{"line":311,"column":113}},"127":{"start":{"line":311,"column":59},"end":{"line":311,"column":112}},"128":{"start":{"line":313,"column":31},"end":{"line":313,"column":66}},"129":{"start":{"line":314,"column":34},"end":{"line":314,"column":61}},"130":{"start":{"line":316,"column":49},"end":{"line":327,"column":12}},"131":{"start":{"line":317,"column":54},"end":{"line":317,"column":79}},"132":{"start":{"line":319,"column":12},"end":{"line":319,"column":61}},"133":{"start":{"line":320,"column":12},"end":{"line":320,"column":75}},"134":{"start":{"line":321,"column":12},"end":{"line":321,"column":45}},"135":{"start":{"line":322,"column":12},"end":{"line":322,"column":45}},"136":{"start":{"line":323,"column":12},"end":{"line":323,"column":46}},"137":{"start":{"line":324,"column":12},"end":{"line":324,"column":53}},"138":{"start":{"line":326,"column":12},"end":{"line":326,"column":32}},"139":{"start":{"line":329,"column":10},"end":{"line":329,"column":36}},"140":{"start":{"line":329,"column":24},"end":{"line":329,"column":36}},"141":{"start":{"line":331,"column":33},"end":{"line":334,"column":22}},"142":{"start":{"line":333,"column":30},"end":{"line":333,"column":44}},"143":{"start":{"line":336,"column":50},"end":{"line":340,"column":11}},"144":{"start":{"line":341,"column":10},"end":{"line":343,"column":11}},"145":{"start":{"line":342,"column":12},"end":{"line":342,"column":56}},"146":{"start":{"line":345,"column":10},"end":{"line":345,"column":29}},"147":{"start":{"line":350,"column":23},"end":{"line":363,"column":3}},"148":{"start":{"line":367,"column":24},"end":{"line":372,"column":7}},"149":{"start":{"line":368,"column":3},"end":{"line":370,"column":4}},"150":{"start":{"line":369,"column":5},"end":{"line":369,"column":22}},"151":{"start":{"line":371,"column":3},"end":{"line":371,"column":14}},"152":{"start":{"line":374,"column":1},"end":{"line":374,"column":35}}},"fnMap":{"0":{"name":"pullStyles","decl":{"start":{"line":22,"column":30},"end":{"line":22,"column":40}},"loc":{"start":{"line":22,"column":86},"end":{"line":375,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":16},"end":{"line":41,"column":17}},"loc":{"start":{"line":41,"column":27},"end":{"line":41,"column":52}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":13},"end":{"line":42,"column":14}},"loc":{"start":{"line":42,"column":24},"end":{"line":74,"column":9}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":64,"column":17},"end":{"line":64,"column":18}},"loc":{"start":{"line":64,"column":30},"end":{"line":64,"column":44}},"line":64},"4":{"name":"(anonymous_4)","decl":{"start":{"line":91,"column":28},"end":{"line":91,"column":29}},"loc":{"start":{"line":91,"column":39},"end":{"line":100,"column":5}},"line":91},"5":{"name":"(anonymous_5)","decl":{"start":{"line":102,"column":36},"end":{"line":102,"column":37}},"loc":{"start":{"line":102,"column":52},"end":{"line":111,"column":5}},"line":102},"6":{"name":"(anonymous_6)","decl":{"start":{"line":110,"column":6},"end":{"line":110,"column":7}},"loc":{"start":{"line":110,"column":17},"end":{"line":110,"column":33}},"line":110},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":6},"end":{"line":114,"column":7}},"loc":{"start":{"line":114,"column":19},"end":{"line":114,"column":89}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":114,"column":31},"end":{"line":114,"column":32}},"loc":{"start":{"line":114,"column":38},"end":{"line":114,"column":82}},"line":114},"9":{"name":"(anonymous_9)","decl":{"start":{"line":117,"column":38},"end":{"line":117,"column":39}},"loc":{"start":{"line":117,"column":54},"end":{"line":126,"column":5}},"line":117},"10":{"name":"(anonymous_10)","decl":{"start":{"line":125,"column":6},"end":{"line":125,"column":7}},"loc":{"start":{"line":125,"column":17},"end":{"line":125,"column":59}},"line":125},"11":{"name":"(anonymous_11)","decl":{"start":{"line":128,"column":45},"end":{"line":128,"column":46}},"loc":{"start":{"line":128,"column":60},"end":{"line":150,"column":5}},"line":128},"12":{"name":"(anonymous_12)","decl":{"start":{"line":129,"column":49},"end":{"line":129,"column":50}},"loc":{"start":{"line":129,"column":60},"end":{"line":130,"column":39}},"line":129},"13":{"name":"(anonymous_13)","decl":{"start":{"line":148,"column":8},"end":{"line":148,"column":9}},"loc":{"start":{"line":148,"column":14},"end":{"line":148,"column":24}},"line":148},"14":{"name":"(anonymous_14)","decl":{"start":{"line":152,"column":58},"end":{"line":152,"column":59}},"loc":{"start":{"line":152,"column":68},"end":{"line":152,"column":79}},"line":152},"15":{"name":"(anonymous_15)","decl":{"start":{"line":152,"column":87},"end":{"line":152,"column":88}},"loc":{"start":{"line":152,"column":108},"end":{"line":173,"column":5}},"line":152},"16":{"name":"(anonymous_16)","decl":{"start":{"line":153,"column":49},"end":{"line":153,"column":50}},"loc":{"start":{"line":153,"column":60},"end":{"line":153,"column":96}},"line":153},"17":{"name":"(anonymous_17)","decl":{"start":{"line":171,"column":8},"end":{"line":171,"column":9}},"loc":{"start":{"line":171,"column":14},"end":{"line":171,"column":24}},"line":171},"18":{"name":"(anonymous_18)","decl":{"start":{"line":175,"column":43},"end":{"line":175,"column":44}},"loc":{"start":{"line":175,"column":59},"end":{"line":184,"column":5}},"line":175},"19":{"name":"(anonymous_19)","decl":{"start":{"line":183,"column":6},"end":{"line":183,"column":7}},"loc":{"start":{"line":183,"column":17},"end":{"line":183,"column":33}},"line":183},"20":{"name":"(anonymous_20)","decl":{"start":{"line":187,"column":12},"end":{"line":187,"column":13}},"loc":{"start":{"line":187,"column":22},"end":{"line":187,"column":27}},"line":187},"21":{"name":"(anonymous_21)","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":12}},"loc":{"start":{"line":188,"column":27},"end":{"line":192,"column":7}},"line":188},"22":{"name":"(anonymous_22)","decl":{"start":{"line":194,"column":40},"end":{"line":194,"column":41}},"loc":{"start":{"line":194,"column":56},"end":{"line":203,"column":5}},"line":194},"23":{"name":"(anonymous_23)","decl":{"start":{"line":202,"column":6},"end":{"line":202,"column":7}},"loc":{"start":{"line":202,"column":17},"end":{"line":202,"column":62}},"line":202},"24":{"name":"(anonymous_24)","decl":{"start":{"line":205,"column":31},"end":{"line":205,"column":32}},"loc":{"start":{"line":205,"column":43},"end":{"line":209,"column":5}},"line":205},"25":{"name":"(anonymous_25)","decl":{"start":{"line":211,"column":43},"end":{"line":211,"column":44}},"loc":{"start":{"line":211,"column":55},"end":{"line":215,"column":5}},"line":211},"26":{"name":"(anonymous_26)","decl":{"start":{"line":217,"column":37},"end":{"line":217,"column":38}},"loc":{"start":{"line":217,"column":48},"end":{"line":304,"column":5}},"line":217},"27":{"name":"(anonymous_27)","decl":{"start":{"line":223,"column":10},"end":{"line":223,"column":11}},"loc":{"start":{"line":223,"column":18},"end":{"line":223,"column":52}},"line":223},"28":{"name":"(anonymous_28)","decl":{"start":{"line":232,"column":10},"end":{"line":232,"column":11}},"loc":{"start":{"line":232,"column":18},"end":{"line":232,"column":104}},"line":232},"29":{"name":"(anonymous_29)","decl":{"start":{"line":241,"column":10},"end":{"line":241,"column":11}},"loc":{"start":{"line":241,"column":18},"end":{"line":241,"column":84}},"line":241},"30":{"name":"(anonymous_30)","decl":{"start":{"line":249,"column":10},"end":{"line":249,"column":11}},"loc":{"start":{"line":249,"column":18},"end":{"line":249,"column":56}},"line":249},"31":{"name":"(anonymous_31)","decl":{"start":{"line":257,"column":10},"end":{"line":257,"column":11}},"loc":{"start":{"line":257,"column":18},"end":{"line":257,"column":90}},"line":257},"32":{"name":"(anonymous_32)","decl":{"start":{"line":260,"column":58},"end":{"line":260,"column":59}},"loc":{"start":{"line":260,"column":86},"end":{"line":269,"column":7}},"line":260},"33":{"name":"(anonymous_33)","decl":{"start":{"line":262,"column":58},"end":{"line":262,"column":59}},"loc":{"start":{"line":262,"column":65},"end":{"line":262,"column":116}},"line":262},"34":{"name":"(anonymous_34)","decl":{"start":{"line":271,"column":8},"end":{"line":271,"column":9}},"loc":{"start":{"line":271,"column":36},"end":{"line":271,"column":88}},"line":271},"35":{"name":"(anonymous_35)","decl":{"start":{"line":274,"column":8},"end":{"line":274,"column":9}},"loc":{"start":{"line":274,"column":36},"end":{"line":274,"column":98}},"line":274},"36":{"name":"(anonymous_36)","decl":{"start":{"line":277,"column":8},"end":{"line":277,"column":9}},"loc":{"start":{"line":277,"column":36},"end":{"line":277,"column":110}},"line":277},"37":{"name":"(anonymous_37)","decl":{"start":{"line":294,"column":13},"end":{"line":294,"column":14}},"loc":{"start":{"line":294,"column":26},"end":{"line":294,"column":40}},"line":294},"38":{"name":"(anonymous_38)","decl":{"start":{"line":311,"column":16},"end":{"line":311,"column":17}},"loc":{"start":{"line":311,"column":27},"end":{"line":311,"column":113}},"line":311},"39":{"name":"(anonymous_39)","decl":{"start":{"line":311,"column":47},"end":{"line":311,"column":48}},"loc":{"start":{"line":311,"column":59},"end":{"line":311,"column":112}},"line":311},"40":{"name":"(anonymous_40)","decl":{"start":{"line":312,"column":13},"end":{"line":312,"column":14}},"loc":{"start":{"line":312,"column":24},"end":{"line":346,"column":9}},"line":312},"41":{"name":"(anonymous_41)","decl":{"start":{"line":316,"column":69},"end":{"line":316,"column":70}},"loc":{"start":{"line":316,"column":81},"end":{"line":327,"column":11}},"line":316},"42":{"name":"(anonymous_42)","decl":{"start":{"line":333,"column":17},"end":{"line":333,"column":18}},"loc":{"start":{"line":333,"column":30},"end":{"line":333,"column":44}},"line":333},"43":{"name":"(anonymous_43)","decl":{"start":{"line":367,"column":74},"end":{"line":367,"column":75}},"loc":{"start":{"line":367,"column":97},"end":{"line":372,"column":2}},"line":367}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":2},"end":{"line":76,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":76,"column":3}},{"start":{},"end":{}}],"line":37},"1":{"loc":{"start":{"line":45,"column":10},"end":{"line":47,"column":11}},"type":"if","locations":[{"start":{"line":45,"column":10},"end":{"line":47,"column":11}},{"start":{},"end":{}}],"line":45},"2":{"loc":{"start":{"line":48,"column":10},"end":{"line":61,"column":11}},"type":"if","locations":[{"start":{"line":48,"column":10},"end":{"line":61,"column":11}},{"start":{"line":57,"column":17},"end":{"line":61,"column":11}}],"line":48},"3":{"loc":{"start":{"line":57,"column":17},"end":{"line":61,"column":11}},"type":"if","locations":[{"start":{"line":57,"column":17},"end":{"line":61,"column":11}},{"start":{"line":59,"column":17},"end":{"line":61,"column":11}}],"line":57},"4":{"loc":{"start":{"line":67,"column":17},"end":{"line":73,"column":18}},"type":"cond-expr","locations":[{"start":{"line":68,"column":14},"end":{"line":72,"column":13}},{"start":{"line":73,"column":14},"end":{"line":73,"column":18}}],"line":67},"5":{"loc":{"start":{"line":78,"column":2},"end":{"line":305,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":305,"column":3}},{"start":{},"end":{}}],"line":78},"6":{"loc":{"start":{"line":92,"column":6},"end":{"line":92,"column":84}},"type":"if","locations":[{"start":{"line":92,"column":6},"end":{"line":92,"column":84}},{"start":{},"end":{}}],"line":92},"7":{"loc":{"start":{"line":95,"column":6},"end":{"line":95,"column":114}},"type":"if","locations":[{"start":{"line":95,"column":6},"end":{"line":95,"column":114}},{"start":{},"end":{}}],"line":95},"8":{"loc":{"start":{"line":96,"column":6},"end":{"line":96,"column":110}},"type":"if","locations":[{"start":{"line":96,"column":6},"end":{"line":96,"column":110}},{"start":{},"end":{}}],"line":96},"9":{"loc":{"start":{"line":98,"column":6},"end":{"line":98,"column":82}},"type":"if","locations":[{"start":{"line":98,"column":6},"end":{"line":98,"column":82}},{"start":{},"end":{}}],"line":98},"10":{"loc":{"start":{"line":99,"column":6},"end":{"line":99,"column":106}},"type":"if","locations":[{"start":{"line":99,"column":6},"end":{"line":99,"column":106}},{"start":{},"end":{}}],"line":99},"11":{"loc":{"start":{"line":114,"column":38},"end":{"line":114,"column":82}},"type":"binary-expr","locations":[{"start":{"line":114,"column":38},"end":{"line":114,"column":59}},{"start":{"line":114,"column":63},"end":{"line":114,"column":82}}],"line":114},"12":{"loc":{"start":{"line":129,"column":60},"end":{"line":130,"column":39}},"type":"binary-expr","locations":[{"start":{"line":129,"column":60},"end":{"line":129,"column":97}},{"start":{"line":130,"column":4},"end":{"line":130,"column":39}}],"line":129},"13":{"loc":{"start":{"line":132,"column":6},"end":{"line":138,"column":7}},"type":"if","locations":[{"start":{"line":132,"column":6},"end":{"line":138,"column":7}},{"start":{},"end":{}}],"line":132},"14":{"loc":{"start":{"line":155,"column":6},"end":{"line":161,"column":7}},"type":"if","locations":[{"start":{"line":155,"column":6},"end":{"line":161,"column":7}},{"start":{},"end":{}}],"line":155},"15":{"loc":{"start":{"line":232,"column":18},"end":{"line":232,"column":104}},"type":"binary-expr","locations":[{"start":{"line":232,"column":18},"end":{"line":232,"column":66}},{"start":{"line":232,"column":70},"end":{"line":232,"column":104}}],"line":232},"16":{"loc":{"start":{"line":261,"column":8},"end":{"line":267,"column":9}},"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":267,"column":9}},{"start":{},"end":{}}],"line":261},"17":{"loc":{"start":{"line":263,"column":10},"end":{"line":266,"column":11}},"type":"if","locations":[{"start":{"line":263,"column":10},"end":{"line":266,"column":11}},{"start":{},"end":{}}],"line":263},"18":{"loc":{"start":{"line":299,"column":6},"end":{"line":301,"column":7}},"type":"if","locations":[{"start":{"line":299,"column":6},"end":{"line":301,"column":7}},{"start":{},"end":{}}],"line":299},"19":{"loc":{"start":{"line":307,"column":2},"end":{"line":348,"column":3}},"type":"if","locations":[{"start":{"line":307,"column":2},"end":{"line":348,"column":3}},{"start":{},"end":{}}],"line":307},"20":{"loc":{"start":{"line":324,"column":34},"end":{"line":324,"column":52}},"type":"binary-expr","locations":[{"start":{"line":324,"column":34},"end":{"line":324,"column":47}},{"start":{"line":324,"column":51},"end":{"line":324,"column":52}}],"line":324},"21":{"loc":{"start":{"line":329,"column":10},"end":{"line":329,"column":36}},"type":"if","locations":[{"start":{"line":329,"column":10},"end":{"line":329,"column":36}},{"start":{},"end":{}}],"line":329},"22":{"loc":{"start":{"line":337,"column":19},"end":{"line":337,"column":60}},"type":"cond-expr","locations":[{"start":{"line":337,"column":40},"end":{"line":337,"column":47}},{"start":{"line":337,"column":50},"end":{"line":337,"column":60}}],"line":337},"23":{"loc":{"start":{"line":341,"column":10},"end":{"line":343,"column":11}},"type":"if","locations":[{"start":{"line":341,"column":10},"end":{"line":343,"column":11}},{"start":{},"end":{}}],"line":341},"24":{"loc":{"start":{"line":368,"column":3},"end":{"line":370,"column":4}},"type":"if","locations":[{"start":{"line":368,"column":3},"end":{"line":370,"column":4}},{"start":{},"end":{}}],"line":368}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts","statementMap":{"0":{"start":{"line":12,"column":42},"end":{"line":12,"column":44}},"1":{"start":{"line":13,"column":44},"end":{"line":13,"column":46}},"2":{"start":{"line":14,"column":43},"end":{"line":14,"column":45}},"3":{"start":{"line":15,"column":43},"end":{"line":15,"column":45}},"4":{"start":{"line":16,"column":46},"end":{"line":16,"column":48}},"5":{"start":{"line":18,"column":16},"end":{"line":18,"column":18}},"6":{"start":{"line":19,"column":2},"end":{"line":29,"column":3}},"7":{"start":{"line":20,"column":23},"end":{"line":20,"column":71}},"8":{"start":{"line":21,"column":21},"end":{"line":21,"column":49}},"9":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"10":{"start":{"line":23,"column":32},"end":{"line":25,"column":43}},"11":{"start":{"line":27,"column":6},"end":{"line":27,"column":75}},"12":{"start":{"line":31,"column":25},"end":{"line":31,"column":59}},"13":{"start":{"line":33,"column":22},"end":{"line":37,"column":6}},"14":{"start":{"line":40,"column":27},"end":{"line":44,"column":6}},"15":{"start":{"line":46,"column":2},"end":{"line":212,"column":3}},"16":{"start":{"line":47,"column":21},"end":{"line":47,"column":72}},"17":{"start":{"line":48,"column":4},"end":{"line":58,"column":5}},"18":{"start":{"line":49,"column":29},"end":{"line":49,"column":112}},"19":{"start":{"line":50,"column":6},"end":{"line":57,"column":7}},"20":{"start":{"line":51,"column":8},"end":{"line":55,"column":10}},"21":{"start":{"line":54,"column":53},"end":{"line":54,"column":93}},"22":{"start":{"line":56,"column":8},"end":{"line":56,"column":72}},"23":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"24":{"start":{"line":62,"column":33},"end":{"line":62,"column":75}},"25":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"26":{"start":{"line":64,"column":8},"end":{"line":64,"column":17}},"27":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"28":{"start":{"line":69,"column":6},"end":{"line":69,"column":51}},"29":{"start":{"line":72,"column":25},"end":{"line":72,"column":61}},"30":{"start":{"line":73,"column":4},"end":{"line":211,"column":5}},"31":{"start":{"line":74,"column":6},"end":{"line":208,"column":7}},"32":{"start":{"line":76,"column":10},"end":{"line":104,"column":13}},"33":{"start":{"line":78,"column":12},"end":{"line":83,"column":13}},"34":{"start":{"line":79,"column":41},"end":{"line":79,"column":83}},"35":{"start":{"line":80,"column":14},"end":{"line":82,"column":15}},"36":{"start":{"line":81,"column":16},"end":{"line":81,"column":23}},"37":{"start":{"line":87,"column":12},"end":{"line":92,"column":13}},"38":{"start":{"line":88,"column":28},"end":{"line":88,"column":69}},"39":{"start":{"line":89,"column":14},"end":{"line":89,"column":66}},"40":{"start":{"line":91,"column":14},"end":{"line":91,"column":56}},"41":{"start":{"line":94,"column":29},"end":{"line":94,"column":83}},"42":{"start":{"line":94,"column":59},"end":{"line":94,"column":76}},"43":{"start":{"line":95,"column":12},"end":{"line":103,"column":13}},"44":{"start":{"line":96,"column":14},"end":{"line":102,"column":17}},"45":{"start":{"line":105,"column":10},"end":{"line":105,"column":16}},"46":{"start":{"line":107,"column":10},"end":{"line":132,"column":13}},"47":{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},"48":{"start":{"line":110,"column":41},"end":{"line":110,"column":83}},"49":{"start":{"line":111,"column":14},"end":{"line":113,"column":15}},"50":{"start":{"line":112,"column":16},"end":{"line":112,"column":23}},"51":{"start":{"line":116,"column":29},"end":{"line":116,"column":83}},"52":{"start":{"line":116,"column":59},"end":{"line":116,"column":76}},"53":{"start":{"line":118,"column":12},"end":{"line":123,"column":13}},"54":{"start":{"line":119,"column":28},"end":{"line":119,"column":69}},"55":{"start":{"line":120,"column":14},"end":{"line":120,"column":66}},"56":{"start":{"line":122,"column":14},"end":{"line":122,"column":49}},"57":{"start":{"line":125,"column":12},"end":{"line":131,"column":15}},"58":{"start":{"line":133,"column":10},"end":{"line":133,"column":16}},"59":{"start":{"line":135,"column":10},"end":{"line":160,"column":13}},"60":{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},"61":{"start":{"line":138,"column":41},"end":{"line":138,"column":83}},"62":{"start":{"line":139,"column":14},"end":{"line":141,"column":15}},"63":{"start":{"line":140,"column":16},"end":{"line":140,"column":23}},"64":{"start":{"line":144,"column":29},"end":{"line":144,"column":83}},"65":{"start":{"line":144,"column":59},"end":{"line":144,"column":76}},"66":{"start":{"line":146,"column":12},"end":{"line":151,"column":13}},"67":{"start":{"line":147,"column":28},"end":{"line":147,"column":69}},"68":{"start":{"line":148,"column":14},"end":{"line":148,"column":66}},"69":{"start":{"line":150,"column":14},"end":{"line":150,"column":33}},"70":{"start":{"line":153,"column":12},"end":{"line":159,"column":15}},"71":{"start":{"line":161,"column":10},"end":{"line":161,"column":16}},"72":{"start":{"line":163,"column":10},"end":{"line":204,"column":13}},"73":{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},"74":{"start":{"line":166,"column":41},"end":{"line":166,"column":83}},"75":{"start":{"line":167,"column":14},"end":{"line":169,"column":15}},"76":{"start":{"line":168,"column":16},"end":{"line":168,"column":23}},"77":{"start":{"line":172,"column":46},"end":{"line":172,"column":61}},"78":{"start":{"line":173,"column":12},"end":{"line":184,"column":13}},"79":{"start":{"line":174,"column":28},"end":{"line":174,"column":69}},"80":{"start":{"line":175,"column":14},"end":{"line":175,"column":66}},"81":{"start":{"line":176,"column":19},"end":{"line":184,"column":13}},"82":{"start":{"line":177,"column":14},"end":{"line":183,"column":15}},"83":{"start":{"line":178,"column":16},"end":{"line":178,"column":107}},"84":{"start":{"line":179,"column":21},"end":{"line":183,"column":15}},"85":{"start":{"line":180,"column":16},"end":{"line":180,"column":66}},"86":{"start":{"line":182,"column":16},"end":{"line":182,"column":59}},"87":{"start":{"line":185,"column":29},"end":{"line":185,"column":83}},"88":{"start":{"line":185,"column":59},"end":{"line":185,"column":76}},"89":{"start":{"line":187,"column":12},"end":{"line":203,"column":13}},"90":{"start":{"line":188,"column":14},"end":{"line":194,"column":17}},"91":{"start":{"line":196,"column":14},"end":{"line":202,"column":17}},"92":{"start":{"line":205,"column":10},"end":{"line":205,"column":16}},"93":{"start":{"line":207,"column":10},"end":{"line":207,"column":16}},"94":{"start":{"line":210,"column":6},"end":{"line":210,"column":77}},"95":{"start":{"line":214,"column":23},"end":{"line":220,"column":3}},"96":{"start":{"line":224,"column":43},"end":{"line":224,"column":45}},"97":{"start":{"line":226,"column":2},"end":{"line":266,"column":3}},"98":{"start":{"line":227,"column":4},"end":{"line":265,"column":8}},"99":{"start":{"line":229,"column":6},"end":{"line":234,"column":7}},"100":{"start":{"line":230,"column":35},"end":{"line":230,"column":77}},"101":{"start":{"line":231,"column":8},"end":{"line":233,"column":9}},"102":{"start":{"line":232,"column":10},"end":{"line":232,"column":17}},"103":{"start":{"line":236,"column":6},"end":{"line":264,"column":10}},"104":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"105":{"start":{"line":239,"column":37},"end":{"line":239,"column":79}},"106":{"start":{"line":240,"column":10},"end":{"line":242,"column":11}},"107":{"start":{"line":241,"column":12},"end":{"line":241,"column":19}},"108":{"start":{"line":245,"column":36},"end":{"line":245,"column":106}},"109":{"start":{"line":245,"column":65},"end":{"line":245,"column":105}},"110":{"start":{"line":247,"column":35},"end":{"line":250,"column":15}},"111":{"start":{"line":247,"column":82},"end":{"line":250,"column":9}},"112":{"start":{"line":252,"column":8},"end":{"line":263,"column":11}},"113":{"start":{"line":268,"column":2},"end":{"line":279,"column":3}},"114":{"start":{"line":269,"column":28},"end":{"line":274,"column":10}},"115":{"start":{"line":270,"column":6},"end":{"line":272,"column":7}},"116":{"start":{"line":271,"column":8},"end":{"line":271,"column":25}},"117":{"start":{"line":273,"column":6},"end":{"line":273,"column":17}},"118":{"start":{"line":275,"column":4},"end":{"line":275,"column":58}},"119":{"start":{"line":277,"column":4},"end":{"line":277,"column":54}},"120":{"start":{"line":278,"column":4},"end":{"line":278,"column":29}}},"fnMap":{"0":{"name":"pullVariables","decl":{"start":{"line":10,"column":30},"end":{"line":10,"column":43}},"loc":{"start":{"line":10,"column":134},"end":{"line":280,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":54,"column":42},"end":{"line":54,"column":43}},"loc":{"start":{"line":54,"column":53},"end":{"line":54,"column":93}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":76,"column":56},"end":{"line":76,"column":57}},"loc":{"start":{"line":76,"column":75},"end":{"line":104,"column":11}},"line":76},"3":{"name":"(anonymous_3)","decl":{"start":{"line":94,"column":52},"end":{"line":94,"column":53}},"loc":{"start":{"line":94,"column":59},"end":{"line":94,"column":76}},"line":94},"4":{"name":"(anonymous_4)","decl":{"start":{"line":107,"column":56},"end":{"line":107,"column":57}},"loc":{"start":{"line":107,"column":75},"end":{"line":132,"column":11}},"line":107},"5":{"name":"(anonymous_5)","decl":{"start":{"line":116,"column":52},"end":{"line":116,"column":53}},"loc":{"start":{"line":116,"column":59},"end":{"line":116,"column":76}},"line":116},"6":{"name":"(anonymous_6)","decl":{"start":{"line":135,"column":56},"end":{"line":135,"column":57}},"loc":{"start":{"line":135,"column":75},"end":{"line":160,"column":11}},"line":135},"7":{"name":"(anonymous_7)","decl":{"start":{"line":144,"column":52},"end":{"line":144,"column":53}},"loc":{"start":{"line":144,"column":59},"end":{"line":144,"column":76}},"line":144},"8":{"name":"(anonymous_8)","decl":{"start":{"line":163,"column":56},"end":{"line":163,"column":57}},"loc":{"start":{"line":163,"column":75},"end":{"line":204,"column":11}},"line":163},"9":{"name":"(anonymous_9)","decl":{"start":{"line":185,"column":52},"end":{"line":185,"column":53}},"loc":{"start":{"line":185,"column":59},"end":{"line":185,"column":76}},"line":185},"10":{"name":"(anonymous_10)","decl":{"start":{"line":227,"column":59},"end":{"line":227,"column":60}},"loc":{"start":{"line":227,"column":81},"end":{"line":265,"column":5}},"line":227},"11":{"name":"(anonymous_11)","decl":{"start":{"line":236,"column":45},"end":{"line":236,"column":46}},"loc":{"start":{"line":236,"column":61},"end":{"line":264,"column":7}},"line":236},"12":{"name":"(anonymous_12)","decl":{"start":{"line":245,"column":58},"end":{"line":245,"column":59}},"loc":{"start":{"line":245,"column":65},"end":{"line":245,"column":105}},"line":245},"13":{"name":"(anonymous_13)","decl":{"start":{"line":247,"column":62},"end":{"line":247,"column":63}},"loc":{"start":{"line":247,"column":82},"end":{"line":250,"column":9}},"line":247},"14":{"name":"(anonymous_14)","decl":{"start":{"line":269,"column":78},"end":{"line":269,"column":79}},"loc":{"start":{"line":269,"column":101},"end":{"line":274,"column":5}},"line":269}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":23,"column":32},"end":{"line":25,"column":43}},"type":"cond-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":24,"column":31}},{"start":{"line":25,"column":10},"end":{"line":25,"column":43}}],"line":23},"3":{"loc":{"start":{"line":27,"column":16},"end":{"line":27,"column":74}},"type":"cond-expr","locations":[{"start":{"line":27,"column":44},"end":{"line":27,"column":69}},{"start":{"line":27,"column":72},"end":{"line":27,"column":74}}],"line":27},"4":{"loc":{"start":{"line":48,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":48},"5":{"loc":{"start":{"line":50,"column":6},"end":{"line":57,"column":7}},"type":"if","locations":[{"start":{"line":50,"column":6},"end":{"line":57,"column":7}},{"start":{},"end":{}}],"line":50},"6":{"loc":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":61},"7":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":49}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":35}},{"start":{"line":61,"column":39},"end":{"line":61,"column":49}}],"line":61},"8":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":68},"10":{"loc":{"start":{"line":74,"column":6},"end":{"line":208,"column":7}},"type":"switch","locations":[{"start":{"line":75,"column":8},"end":{"line":105,"column":16}},{"start":{"line":106,"column":8},"end":{"line":133,"column":16}},{"start":{"line":134,"column":8},"end":{"line":161,"column":16}},{"start":{"line":162,"column":8},"end":{"line":205,"column":16}},{"start":{"line":206,"column":8},"end":{"line":207,"column":16}}],"line":74},"11":{"loc":{"start":{"line":78,"column":12},"end":{"line":83,"column":13}},"type":"if","locations":[{"start":{"line":78,"column":12},"end":{"line":83,"column":13}},{"start":{},"end":{}}],"line":78},"12":{"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":57}},"type":"binary-expr","locations":[{"start":{"line":78,"column":16},"end":{"line":78,"column":43}},{"start":{"line":78,"column":47},"end":{"line":78,"column":57}}],"line":78},"13":{"loc":{"start":{"line":80,"column":14},"end":{"line":82,"column":15}},"type":"if","locations":[{"start":{"line":80,"column":14},"end":{"line":82,"column":15}},{"start":{},"end":{}}],"line":80},"14":{"loc":{"start":{"line":80,"column":18},"end":{"line":80,"column":88}},"type":"binary-expr","locations":[{"start":{"line":80,"column":18},"end":{"line":80,"column":36}},{"start":{"line":80,"column":40},"end":{"line":80,"column":88}}],"line":80},"15":{"loc":{"start":{"line":87,"column":12},"end":{"line":92,"column":13}},"type":"if","locations":[{"start":{"line":87,"column":12},"end":{"line":92,"column":13}},{"start":{"line":90,"column":19},"end":{"line":92,"column":13}}],"line":87},"16":{"loc":{"start":{"line":87,"column":16},"end":{"line":87,"column":95}},"type":"binary-expr","locations":[{"start":{"line":87,"column":16},"end":{"line":87,"column":41}},{"start":{"line":87,"column":45},"end":{"line":87,"column":60}},{"start":{"line":87,"column":64},"end":{"line":87,"column":95}}],"line":87},"17":{"loc":{"start":{"line":95,"column":12},"end":{"line":103,"column":13}},"type":"if","locations":[{"start":{"line":95,"column":12},"end":{"line":103,"column":13}},{"start":{},"end":{}}],"line":95},"18":{"loc":{"start":{"line":101,"column":20},"end":{"line":101,"column":85}},"type":"cond-expr","locations":[{"start":{"line":101,"column":43},"end":{"line":101,"column":80}},{"start":{"line":101,"column":83},"end":{"line":101,"column":85}}],"line":101},"19":{"loc":{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},"type":"if","locations":[{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},{"start":{},"end":{}}],"line":109},"20":{"loc":{"start":{"line":109,"column":16},"end":{"line":109,"column":57}},"type":"binary-expr","locations":[{"start":{"line":109,"column":16},"end":{"line":109,"column":43}},{"start":{"line":109,"column":47},"end":{"line":109,"column":57}}],"line":109},"21":{"loc":{"start":{"line":111,"column":14},"end":{"line":113,"column":15}},"type":"if","locations":[{"start":{"line":111,"column":14},"end":{"line":113,"column":15}},{"start":{},"end":{}}],"line":111},"22":{"loc":{"start":{"line":111,"column":18},"end":{"line":111,"column":88}},"type":"binary-expr","locations":[{"start":{"line":111,"column":18},"end":{"line":111,"column":36}},{"start":{"line":111,"column":40},"end":{"line":111,"column":88}}],"line":111},"23":{"loc":{"start":{"line":118,"column":12},"end":{"line":123,"column":13}},"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":123,"column":13}},{"start":{"line":121,"column":19},"end":{"line":123,"column":13}}],"line":118},"24":{"loc":{"start":{"line":118,"column":16},"end":{"line":118,"column":95}},"type":"binary-expr","locations":[{"start":{"line":118,"column":16},"end":{"line":118,"column":41}},{"start":{"line":118,"column":45},"end":{"line":118,"column":60}},{"start":{"line":118,"column":64},"end":{"line":118,"column":95}}],"line":118},"25":{"loc":{"start":{"line":130,"column":18},"end":{"line":130,"column":83}},"type":"cond-expr","locations":[{"start":{"line":130,"column":41},"end":{"line":130,"column":78}},{"start":{"line":130,"column":81},"end":{"line":130,"column":83}}],"line":130},"26":{"loc":{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},"type":"if","locations":[{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},{"start":{},"end":{}}],"line":137},"27":{"loc":{"start":{"line":137,"column":16},"end":{"line":137,"column":57}},"type":"binary-expr","locations":[{"start":{"line":137,"column":16},"end":{"line":137,"column":43}},{"start":{"line":137,"column":47},"end":{"line":137,"column":57}}],"line":137},"28":{"loc":{"start":{"line":139,"column":14},"end":{"line":141,"column":15}},"type":"if","locations":[{"start":{"line":139,"column":14},"end":{"line":141,"column":15}},{"start":{},"end":{}}],"line":139},"29":{"loc":{"start":{"line":139,"column":18},"end":{"line":139,"column":88}},"type":"binary-expr","locations":[{"start":{"line":139,"column":18},"end":{"line":139,"column":36}},{"start":{"line":139,"column":40},"end":{"line":139,"column":88}}],"line":139},"30":{"loc":{"start":{"line":146,"column":12},"end":{"line":151,"column":13}},"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":151,"column":13}},{"start":{"line":149,"column":19},"end":{"line":151,"column":13}}],"line":146},"31":{"loc":{"start":{"line":146,"column":16},"end":{"line":146,"column":95}},"type":"binary-expr","locations":[{"start":{"line":146,"column":16},"end":{"line":146,"column":41}},{"start":{"line":146,"column":45},"end":{"line":146,"column":60}},{"start":{"line":146,"column":64},"end":{"line":146,"column":95}}],"line":146},"32":{"loc":{"start":{"line":158,"column":18},"end":{"line":158,"column":83}},"type":"cond-expr","locations":[{"start":{"line":158,"column":41},"end":{"line":158,"column":78}},{"start":{"line":158,"column":81},"end":{"line":158,"column":83}}],"line":158},"33":{"loc":{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},"type":"if","locations":[{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},{"start":{},"end":{}}],"line":165},"34":{"loc":{"start":{"line":165,"column":16},"end":{"line":165,"column":57}},"type":"binary-expr","locations":[{"start":{"line":165,"column":16},"end":{"line":165,"column":43}},{"start":{"line":165,"column":47},"end":{"line":165,"column":57}}],"line":165},"35":{"loc":{"start":{"line":167,"column":14},"end":{"line":169,"column":15}},"type":"if","locations":[{"start":{"line":167,"column":14},"end":{"line":169,"column":15}},{"start":{},"end":{}}],"line":167},"36":{"loc":{"start":{"line":167,"column":18},"end":{"line":167,"column":88}},"type":"binary-expr","locations":[{"start":{"line":167,"column":18},"end":{"line":167,"column":36}},{"start":{"line":167,"column":40},"end":{"line":167,"column":88}}],"line":167},"37":{"loc":{"start":{"line":173,"column":12},"end":{"line":184,"column":13}},"type":"if","locations":[{"start":{"line":173,"column":12},"end":{"line":184,"column":13}},{"start":{"line":176,"column":19},"end":{"line":184,"column":13}}],"line":173},"38":{"loc":{"start":{"line":173,"column":16},"end":{"line":173,"column":95}},"type":"binary-expr","locations":[{"start":{"line":173,"column":16},"end":{"line":173,"column":41}},{"start":{"line":173,"column":45},"end":{"line":173,"column":60}},{"start":{"line":173,"column":64},"end":{"line":173,"column":95}}],"line":173},"39":{"loc":{"start":{"line":176,"column":19},"end":{"line":184,"column":13}},"type":"if","locations":[{"start":{"line":176,"column":19},"end":{"line":184,"column":13}},{"start":{},"end":{}}],"line":176},"40":{"loc":{"start":{"line":177,"column":14},"end":{"line":183,"column":15}},"type":"if","locations":[{"start":{"line":177,"column":14},"end":{"line":183,"column":15}},{"start":{"line":179,"column":21},"end":{"line":183,"column":15}}],"line":177},"41":{"loc":{"start":{"line":179,"column":21},"end":{"line":183,"column":15}},"type":"if","locations":[{"start":{"line":179,"column":21},"end":{"line":183,"column":15}},{"start":{"line":181,"column":21},"end":{"line":183,"column":15}}],"line":179},"42":{"loc":{"start":{"line":187,"column":12},"end":{"line":203,"column":13}},"type":"if","locations":[{"start":{"line":187,"column":12},"end":{"line":203,"column":13}},{"start":{"line":195,"column":19},"end":{"line":203,"column":13}}],"line":187},"43":{"loc":{"start":{"line":187,"column":16},"end":{"line":187,"column":55}},"type":"binary-expr","locations":[{"start":{"line":187,"column":16},"end":{"line":187,"column":37}},{"start":{"line":187,"column":41},"end":{"line":187,"column":55}}],"line":187},"44":{"loc":{"start":{"line":193,"column":20},"end":{"line":193,"column":85}},"type":"cond-expr","locations":[{"start":{"line":193,"column":43},"end":{"line":193,"column":80}},{"start":{"line":193,"column":83},"end":{"line":193,"column":85}}],"line":193},"45":{"loc":{"start":{"line":201,"column":20},"end":{"line":201,"column":85}},"type":"cond-expr","locations":[{"start":{"line":201,"column":43},"end":{"line":201,"column":80}},{"start":{"line":201,"column":83},"end":{"line":201,"column":85}}],"line":201},"46":{"loc":{"start":{"line":226,"column":2},"end":{"line":266,"column":3}},"type":"if","locations":[{"start":{"line":226,"column":2},"end":{"line":266,"column":3}},{"start":{},"end":{}}],"line":226},"47":{"loc":{"start":{"line":229,"column":6},"end":{"line":234,"column":7}},"type":"if","locations":[{"start":{"line":229,"column":6},"end":{"line":234,"column":7}},{"start":{},"end":{}}],"line":229},"48":{"loc":{"start":{"line":231,"column":8},"end":{"line":233,"column":9}},"type":"if","locations":[{"start":{"line":231,"column":8},"end":{"line":233,"column":9}},{"start":{},"end":{}}],"line":231},"49":{"loc":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},{"start":{},"end":{}}],"line":238},"50":{"loc":{"start":{"line":240,"column":10},"end":{"line":242,"column":11}},"type":"if","locations":[{"start":{"line":240,"column":10},"end":{"line":242,"column":11}},{"start":{},"end":{}}],"line":240},"51":{"loc":{"start":{"line":240,"column":14},"end":{"line":240,"column":91}},"type":"binary-expr","locations":[{"start":{"line":240,"column":14},"end":{"line":240,"column":32}},{"start":{"line":240,"column":36},"end":{"line":240,"column":91}}],"line":240},"52":{"loc":{"start":{"line":270,"column":6},"end":{"line":272,"column":7}},"type":"if","locations":[{"start":{"line":270,"column":6},"end":{"line":272,"column":7}},{"start":{},"end":{}}],"line":270}},"s":{"0":7,"1":7,"2":7,"3":7,"4":7,"5":7,"6":7,"7":2,"8":2,"9":2,"10":2,"11":2,"12":7,"13":7,"14":7,"15":7,"16":42,"17":42,"18":7,"19":7,"20":7,"21":28,"22":7,"23":42,"24":12,"25":12,"26":6,"27":36,"28":36,"29":36,"30":36,"31":36,"32":6,"33":24,"34":4,"35":4,"36":2,"37":22,"38":0,"39":0,"40":22,"41":22,"42":53,"43":22,"44":22,"45":6,"46":6,"47":24,"48":4,"49":4,"50":2,"51":22,"52":53,"53":22,"54":0,"55":0,"56":22,"57":22,"58":6,"59":6,"60":24,"61":4,"62":4,"63":2,"64":22,"65":53,"66":22,"67":0,"68":0,"69":22,"70":22,"71":6,"72":18,"73":72,"74":12,"75":12,"76":6,"77":66,"78":66,"79":0,"80":0,"81":66,"82":66,"83":24,"84":42,"85":12,"86":30,"87":66,"88":159,"89":66,"90":36,"91":30,"92":18,"93":0,"94":0,"95":7,"96":7,"97":7,"98":1,"99":1,"100":0,"101":0,"102":0,"103":1,"104":4,"105":0,"106":0,"107":0,"108":4,"109":24,"110":4,"111":0,"112":4,"113":7,"114":7,"115":35,"116":24,"117":35,"118":7,"119":0,"120":0},"f":{"0":7,"1":28,"2":24,"3":53,"4":24,"5":53,"6":24,"7":53,"8":72,"9":159,"10":1,"11":4,"12":24,"13":0,"14":35},"b":{"0":[2,5],"1":[2,0],"2":[2,0],"3":[2,0],"4":[7,35],"5":[7,0],"6":[12,30],"7":[42,12],"8":[6,6],"9":[36,0],"10":[6,6,6,18,0],"11":[4,20],"12":[24,4],"13":[2,2],"14":[4,4],"15":[0,22],"16":[22,22,0],"17":[22,0],"18":[0,22],"19":[4,20],"20":[24,4],"21":[2,2],"22":[4,4],"23":[0,22],"24":[22,0,0],"25":[0,22],"26":[4,20],"27":[24,4],"28":[2,2],"29":[4,4],"30":[0,22],"31":[22,0,0],"32":[0,22],"33":[12,60],"34":[72,12],"35":[6,6],"36":[12,12],"37":[0,66],"38":[66,0,0],"39":[66,0],"40":[24,42],"41":[12,30],"42":[36,30],"43":[66,42],"44":[0,36],"45":[0,30],"46":[1,6],"47":[0,1],"48":[0,0],"49":[0,4],"50":[0,0],"51":[0,0],"52":[24,11]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7b49191d63eee44e45112b28907636a1c3079d0b"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removePluginDataByMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removePluginDataByMap.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":19,"column":5}},"1":{"start":{"line":21,"column":18},"end":{"line":21,"column":77}},"2":{"start":{"line":22,"column":39},"end":{"line":22,"column":48}},"3":{"start":{"line":23,"column":2},"end":{"line":32,"column":5}},"4":{"start":{"line":24,"column":4},"end":{"line":31,"column":8}},"5":{"start":{"line":25,"column":6},"end":{"line":25,"column":34}},"6":{"start":{"line":26,"column":6},"end":{"line":26,"column":49}},"7":{"start":{"line":27,"column":6},"end":{"line":27,"column":38}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":21}},"9":{"start":{"line":30,"column":6},"end":{"line":30,"column":34}},"10":{"start":{"line":33,"column":2},"end":{"line":33,"column":30}},"11":{"start":{"line":34,"column":2},"end":{"line":37,"column":5}}},"fnMap":{"0":{"name":"removePluginDataByMap","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":43}},"loc":{"start":{"line":10,"column":140},"end":{"line":38,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":46},"end":{"line":32,"column":3}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":40},"end":{"line":24,"column":41}},"loc":{"start":{"line":24,"column":52},"end":{"line":31,"column":5}},"line":24}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeStylesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeStylesFromPlugin.ts","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":9,"column":51}},"1":{"start":{"line":10,"column":22},"end":{"line":10,"column":49}},"2":{"start":{"line":11,"column":21},"end":{"line":11,"column":47}},"3":{"start":{"line":12,"column":20},"end":{"line":12,"column":68}},"4":{"start":{"line":14,"column":20},"end":{"line":16,"column":4}},"5":{"start":{"line":17,"column":31},"end":{"line":21,"column":47}},"6":{"start":{"line":18,"column":23},"end":{"line":20,"column":5}},"7":{"start":{"line":19,"column":29},"end":{"line":19,"column":90}},"8":{"start":{"line":21,"column":28},"end":{"line":21,"column":46}},"9":{"start":{"line":22,"column":20},"end":{"line":22,"column":98}},"10":{"start":{"line":22,"column":56},"end":{"line":22,"column":97}},"11":{"start":{"line":24,"column":22},"end":{"line":29,"column":6}},"12":{"start":{"line":25,"column":23},"end":{"line":25,"column":85}},"13":{"start":{"line":25,"column":52},"end":{"line":25,"column":84}},"14":{"start":{"line":27,"column":6},"end":{"line":27,"column":29}},"15":{"start":{"line":28,"column":6},"end":{"line":28,"column":30}},"16":{"start":{"line":30,"column":2},"end":{"line":30,"column":21}}},"fnMap":{"0":{"name":"removeStylesFromPlugin","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":52}},"loc":{"start":{"line":8,"column":80},"end":{"line":31,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":23},"end":{"line":20,"column":5}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":6},"end":{"line":19,"column":7}},"loc":{"start":{"line":19,"column":29},"end":{"line":19,"column":90}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":9},"end":{"line":21,"column":10}},"loc":{"start":{"line":21,"column":28},"end":{"line":21,"column":46}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":45},"end":{"line":22,"column":46}},"loc":{"start":{"line":22,"column":56},"end":{"line":22,"column":97}},"line":22},"5":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":13}},"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":85}},"line":25},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":38},"end":{"line":25,"column":39}},"loc":{"start":{"line":25,"column":52},"end":{"line":25,"column":84}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":10}},"loc":{"start":{"line":26,"column":28},"end":{"line":29,"column":5}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":29},"end":{"line":19,"column":90}},"type":"binary-expr","locations":[{"start":{"line":19,"column":29},"end":{"line":19,"column":54}},{"start":{"line":19,"column":58},"end":{"line":19,"column":90}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeValuesFromNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/removeValuesFromNode.ts","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":7,"column":3}},"1":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":9,"column":44},"end":{"line":9,"column":53}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":22}},"4":{"start":{"line":16,"column":2},"end":{"line":248,"column":3}},"5":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"6":{"start":{"line":19,"column":25},"end":{"line":19,"column":35}},"7":{"start":{"line":20,"column":26},"end":{"line":20,"column":37}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":36}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":41}},"10":{"start":{"line":24,"column":6},"end":{"line":24,"column":12}},"11":{"start":{"line":26,"column":6},"end":{"line":31,"column":7}},"12":{"start":{"line":27,"column":25},"end":{"line":27,"column":35}},"13":{"start":{"line":28,"column":26},"end":{"line":28,"column":37}},"14":{"start":{"line":29,"column":8},"end":{"line":29,"column":35}},"15":{"start":{"line":30,"column":8},"end":{"line":30,"column":41}},"16":{"start":{"line":32,"column":6},"end":{"line":32,"column":12}},"17":{"start":{"line":34,"column":6},"end":{"line":41,"column":7}},"18":{"start":{"line":40,"column":8},"end":{"line":40,"column":30}},"19":{"start":{"line":42,"column":6},"end":{"line":42,"column":12}},"20":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"21":{"start":{"line":45,"column":8},"end":{"line":45,"column":31}},"22":{"start":{"line":47,"column":6},"end":{"line":47,"column":12}},"23":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"24":{"start":{"line":50,"column":8},"end":{"line":50,"column":32}},"25":{"start":{"line":52,"column":6},"end":{"line":52,"column":12}},"26":{"start":{"line":54,"column":6},"end":{"line":56,"column":7}},"27":{"start":{"line":55,"column":8},"end":{"line":55,"column":35}},"28":{"start":{"line":57,"column":6},"end":{"line":57,"column":12}},"29":{"start":{"line":59,"column":6},"end":{"line":61,"column":7}},"30":{"start":{"line":60,"column":8},"end":{"line":60,"column":34}},"31":{"start":{"line":62,"column":6},"end":{"line":62,"column":12}},"32":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"33":{"start":{"line":65,"column":8},"end":{"line":65,"column":30}},"34":{"start":{"line":67,"column":6},"end":{"line":67,"column":12}},"35":{"start":{"line":69,"column":6},"end":{"line":71,"column":7}},"36":{"start":{"line":70,"column":8},"end":{"line":70,"column":30}},"37":{"start":{"line":72,"column":6},"end":{"line":72,"column":12}},"38":{"start":{"line":74,"column":6},"end":{"line":76,"column":7}},"39":{"start":{"line":75,"column":8},"end":{"line":75,"column":30}},"40":{"start":{"line":77,"column":6},"end":{"line":77,"column":12}},"41":{"start":{"line":79,"column":6},"end":{"line":81,"column":7}},"42":{"start":{"line":80,"column":8},"end":{"line":80,"column":30}},"43":{"start":{"line":82,"column":6},"end":{"line":82,"column":12}},"44":{"start":{"line":84,"column":6},"end":{"line":86,"column":7}},"45":{"start":{"line":85,"column":8},"end":{"line":85,"column":30}},"46":{"start":{"line":87,"column":6},"end":{"line":87,"column":12}},"47":{"start":{"line":89,"column":6},"end":{"line":91,"column":7}},"48":{"start":{"line":90,"column":8},"end":{"line":90,"column":86}},"49":{"start":{"line":90,"column":55},"end":{"line":90,"column":84}},"50":{"start":{"line":92,"column":6},"end":{"line":92,"column":12}},"51":{"start":{"line":94,"column":6},"end":{"line":96,"column":7}},"52":{"start":{"line":95,"column":8},"end":{"line":95,"column":90}},"53":{"start":{"line":95,"column":55},"end":{"line":95,"column":88}},"54":{"start":{"line":97,"column":6},"end":{"line":97,"column":12}},"55":{"start":{"line":99,"column":6},"end":{"line":101,"column":7}},"56":{"start":{"line":100,"column":8},"end":{"line":100,"column":32}},"57":{"start":{"line":102,"column":6},"end":{"line":102,"column":12}},"58":{"start":{"line":104,"column":6},"end":{"line":113,"column":7}},"59":{"start":{"line":112,"column":8},"end":{"line":112,"column":25}},"60":{"start":{"line":114,"column":6},"end":{"line":114,"column":12}},"61":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"62":{"start":{"line":117,"column":8},"end":{"line":117,"column":24}},"63":{"start":{"line":119,"column":6},"end":{"line":119,"column":12}},"64":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"65":{"start":{"line":122,"column":8},"end":{"line":122,"column":26}},"66":{"start":{"line":124,"column":6},"end":{"line":124,"column":12}},"67":{"start":{"line":126,"column":6},"end":{"line":132,"column":7}},"68":{"start":{"line":127,"column":8},"end":{"line":127,"column":29}},"69":{"start":{"line":128,"column":8},"end":{"line":128,"column":30}},"70":{"start":{"line":129,"column":8},"end":{"line":129,"column":28}},"71":{"start":{"line":130,"column":8},"end":{"line":130,"column":31}},"72":{"start":{"line":131,"column":8},"end":{"line":131,"column":29}},"73":{"start":{"line":133,"column":6},"end":{"line":133,"column":12}},"74":{"start":{"line":135,"column":6},"end":{"line":137,"column":7}},"75":{"start":{"line":136,"column":8},"end":{"line":136,"column":28}},"76":{"start":{"line":138,"column":6},"end":{"line":138,"column":12}},"77":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"78":{"start":{"line":141,"column":8},"end":{"line":141,"column":30}},"79":{"start":{"line":143,"column":6},"end":{"line":143,"column":12}},"80":{"start":{"line":145,"column":6},"end":{"line":147,"column":7}},"81":{"start":{"line":146,"column":8},"end":{"line":146,"column":31}},"82":{"start":{"line":148,"column":6},"end":{"line":148,"column":12}},"83":{"start":{"line":150,"column":6},"end":{"line":152,"column":7}},"84":{"start":{"line":151,"column":8},"end":{"line":151,"column":29}},"85":{"start":{"line":153,"column":6},"end":{"line":153,"column":12}},"86":{"start":{"line":155,"column":6},"end":{"line":158,"column":7}},"87":{"start":{"line":156,"column":8},"end":{"line":156,"column":29}},"88":{"start":{"line":157,"column":8},"end":{"line":157,"column":30}},"89":{"start":{"line":159,"column":6},"end":{"line":159,"column":12}},"90":{"start":{"line":161,"column":6},"end":{"line":164,"column":7}},"91":{"start":{"line":162,"column":8},"end":{"line":162,"column":28}},"92":{"start":{"line":163,"column":8},"end":{"line":163,"column":31}},"93":{"start":{"line":165,"column":6},"end":{"line":165,"column":12}},"94":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"95":{"start":{"line":168,"column":8},"end":{"line":168,"column":29}},"96":{"start":{"line":170,"column":6},"end":{"line":170,"column":12}},"97":{"start":{"line":172,"column":6},"end":{"line":174,"column":7}},"98":{"start":{"line":173,"column":8},"end":{"line":173,"column":24}},"99":{"start":{"line":175,"column":6},"end":{"line":175,"column":12}},"100":{"start":{"line":177,"column":6},"end":{"line":179,"column":7}},"101":{"start":{"line":178,"column":8},"end":{"line":178,"column":26}},"102":{"start":{"line":180,"column":6},"end":{"line":182,"column":7}},"103":{"start":{"line":181,"column":8},"end":{"line":181,"column":30}},"104":{"start":{"line":183,"column":6},"end":{"line":185,"column":7}},"105":{"start":{"line":184,"column":8},"end":{"line":184,"column":34}},"106":{"start":{"line":186,"column":6},"end":{"line":186,"column":12}},"107":{"start":{"line":188,"column":6},"end":{"line":191,"column":7}},"108":{"start":{"line":189,"column":8},"end":{"line":189,"column":33}},"109":{"start":{"line":190,"column":8},"end":{"line":190,"column":39}},"110":{"start":{"line":192,"column":6},"end":{"line":194,"column":7}},"111":{"start":{"line":193,"column":8},"end":{"line":193,"column":34}},"112":{"start":{"line":195,"column":6},"end":{"line":195,"column":12}},"113":{"start":{"line":197,"column":6},"end":{"line":200,"column":7}},"114":{"start":{"line":198,"column":8},"end":{"line":198,"column":35}},"115":{"start":{"line":199,"column":8},"end":{"line":199,"column":39}},"116":{"start":{"line":201,"column":6},"end":{"line":203,"column":7}},"117":{"start":{"line":202,"column":8},"end":{"line":202,"column":34}},"118":{"start":{"line":204,"column":6},"end":{"line":204,"column":12}},"119":{"start":{"line":206,"column":6},"end":{"line":209,"column":7}},"120":{"start":{"line":207,"column":8},"end":{"line":207,"column":36}},"121":{"start":{"line":208,"column":8},"end":{"line":208,"column":39}},"122":{"start":{"line":210,"column":6},"end":{"line":212,"column":7}},"123":{"start":{"line":211,"column":8},"end":{"line":211,"column":34}},"124":{"start":{"line":213,"column":6},"end":{"line":213,"column":12}},"125":{"start":{"line":215,"column":6},"end":{"line":218,"column":7}},"126":{"start":{"line":216,"column":8},"end":{"line":216,"column":34}},"127":{"start":{"line":217,"column":8},"end":{"line":217,"column":39}},"128":{"start":{"line":219,"column":6},"end":{"line":221,"column":7}},"129":{"start":{"line":220,"column":8},"end":{"line":220,"column":34}},"130":{"start":{"line":222,"column":6},"end":{"line":222,"column":12}},"131":{"start":{"line":224,"column":6},"end":{"line":226,"column":7}},"132":{"start":{"line":225,"column":8},"end":{"line":225,"column":28}},"133":{"start":{"line":227,"column":6},"end":{"line":227,"column":12}},"134":{"start":{"line":229,"column":6},"end":{"line":231,"column":7}},"135":{"start":{"line":230,"column":8},"end":{"line":230,"column":37}},"136":{"start":{"line":232,"column":6},"end":{"line":232,"column":12}},"137":{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},"138":{"start":{"line":235,"column":8},"end":{"line":235,"column":29}},"139":{"start":{"line":237,"column":6},"end":{"line":244,"column":7}},"140":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"141":{"start":{"line":239,"column":27},"end":{"line":239,"column":37}},"142":{"start":{"line":240,"column":28},"end":{"line":240,"column":39}},"143":{"start":{"line":241,"column":10},"end":{"line":241,"column":32}},"144":{"start":{"line":242,"column":10},"end":{"line":242,"column":43}},"145":{"start":{"line":245,"column":6},"end":{"line":245,"column":12}},"146":{"start":{"line":247,"column":6},"end":{"line":247,"column":12}}},"fnMap":{"0":{"name":"removeStrokeIfEmptySides","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":33}},"loc":{"start":{"line":4,"column":40},"end":{"line":12,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":33},"end":{"line":9,"column":34}},"loc":{"start":{"line":9,"column":44},"end":{"line":9,"column":53}},"line":9},"2":{"name":"removeValuesFromNode","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":44}},"loc":{"start":{"line":14,"column":79},"end":{"line":249,"column":1}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":90,"column":43},"end":{"line":90,"column":44}},"loc":{"start":{"line":90,"column":55},"end":{"line":90,"column":84}},"line":90},"4":{"name":"(anonymous_4)","decl":{"start":{"line":95,"column":43},"end":{"line":95,"column":44}},"loc":{"start":{"line":95,"column":55},"end":{"line":95,"column":88}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":248,"column":3}},"type":"switch","locations":[{"start":{"line":17,"column":4},"end":{"line":24,"column":12}},{"start":{"line":25,"column":4},"end":{"line":32,"column":12}},{"start":{"line":33,"column":4},"end":{"line":42,"column":12}},{"start":{"line":43,"column":4},"end":{"line":47,"column":12}},{"start":{"line":48,"column":4},"end":{"line":52,"column":12}},{"start":{"line":53,"column":4},"end":{"line":57,"column":12}},{"start":{"line":58,"column":4},"end":{"line":62,"column":12}},{"start":{"line":63,"column":4},"end":{"line":67,"column":12}},{"start":{"line":68,"column":4},"end":{"line":72,"column":12}},{"start":{"line":73,"column":4},"end":{"line":77,"column":12}},{"start":{"line":78,"column":4},"end":{"line":82,"column":12}},{"start":{"line":83,"column":4},"end":{"line":87,"column":12}},{"start":{"line":88,"column":4},"end":{"line":92,"column":12}},{"start":{"line":93,"column":4},"end":{"line":97,"column":12}},{"start":{"line":98,"column":4},"end":{"line":102,"column":12}},{"start":{"line":103,"column":4},"end":{"line":114,"column":12}},{"start":{"line":115,"column":4},"end":{"line":119,"column":12}},{"start":{"line":120,"column":4},"end":{"line":124,"column":12}},{"start":{"line":125,"column":4},"end":{"line":133,"column":12}},{"start":{"line":134,"column":4},"end":{"line":138,"column":12}},{"start":{"line":139,"column":4},"end":{"line":143,"column":12}},{"start":{"line":144,"column":4},"end":{"line":148,"column":12}},{"start":{"line":149,"column":4},"end":{"line":153,"column":12}},{"start":{"line":154,"column":4},"end":{"line":159,"column":12}},{"start":{"line":160,"column":4},"end":{"line":165,"column":12}},{"start":{"line":166,"column":4},"end":{"line":170,"column":12}},{"start":{"line":171,"column":4},"end":{"line":175,"column":12}},{"start":{"line":176,"column":4},"end":{"line":186,"column":12}},{"start":{"line":187,"column":4},"end":{"line":195,"column":12}},{"start":{"line":196,"column":4},"end":{"line":204,"column":12}},{"start":{"line":205,"column":4},"end":{"line":213,"column":12}},{"start":{"line":214,"column":4},"end":{"line":222,"column":12}},{"start":{"line":223,"column":4},"end":{"line":227,"column":12}},{"start":{"line":228,"column":4},"end":{"line":232,"column":12}},{"start":{"line":233,"column":4},"end":{"line":245,"column":12}},{"start":{"line":246,"column":4},"end":{"line":247,"column":12}}],"line":16},"2":{"loc":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},{"start":{},"end":{}}],"line":18},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":31,"column":7}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":34,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":34,"column":6},"end":{"line":41,"column":7}},{"start":{},"end":{}}],"line":34},"5":{"loc":{"start":{"line":35,"column":8},"end":{"line":38,"column":36}},"type":"binary-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":30}},{"start":{"line":36,"column":11},"end":{"line":36,"column":51}},{"start":{"line":37,"column":11},"end":{"line":37,"column":42}},{"start":{"line":38,"column":11},"end":{"line":38,"column":36}}],"line":35},"6":{"loc":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},{"start":{},"end":{}}],"line":44},"7":{"loc":{"start":{"line":44,"column":10},"end":{"line":44,"column":78}},"type":"binary-expr","locations":[{"start":{"line":44,"column":10},"end":{"line":44,"column":33}},{"start":{"line":44,"column":37},"end":{"line":44,"column":78}}],"line":44},"8":{"loc":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},{"start":{},"end":{}}],"line":49},"9":{"loc":{"start":{"line":49,"column":10},"end":{"line":49,"column":80}},"type":"binary-expr","locations":[{"start":{"line":49,"column":10},"end":{"line":49,"column":34}},{"start":{"line":49,"column":38},"end":{"line":49,"column":80}}],"line":49},"10":{"loc":{"start":{"line":54,"column":6},"end":{"line":56,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":56,"column":7}},{"start":{},"end":{}}],"line":54},"11":{"loc":{"start":{"line":54,"column":10},"end":{"line":54,"column":86}},"type":"binary-expr","locations":[{"start":{"line":54,"column":10},"end":{"line":54,"column":37}},{"start":{"line":54,"column":41},"end":{"line":54,"column":86}}],"line":54},"12":{"loc":{"start":{"line":59,"column":6},"end":{"line":61,"column":7}},"type":"if","locations":[{"start":{"line":59,"column":6},"end":{"line":61,"column":7}},{"start":{},"end":{}}],"line":59},"13":{"loc":{"start":{"line":59,"column":10},"end":{"line":59,"column":84}},"type":"binary-expr","locations":[{"start":{"line":59,"column":10},"end":{"line":59,"column":36}},{"start":{"line":59,"column":40},"end":{"line":59,"column":84}}],"line":59},"14":{"loc":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":64},"15":{"loc":{"start":{"line":64,"column":10},"end":{"line":64,"column":76}},"type":"binary-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":32}},{"start":{"line":64,"column":36},"end":{"line":64,"column":76}}],"line":64},"16":{"loc":{"start":{"line":69,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":69},"17":{"loc":{"start":{"line":69,"column":10},"end":{"line":69,"column":79}},"type":"binary-expr","locations":[{"start":{"line":69,"column":10},"end":{"line":69,"column":35}},{"start":{"line":69,"column":39},"end":{"line":69,"column":79}}],"line":69},"18":{"loc":{"start":{"line":74,"column":6},"end":{"line":76,"column":7}},"type":"if","locations":[{"start":{"line":74,"column":6},"end":{"line":76,"column":7}},{"start":{},"end":{}}],"line":74},"19":{"loc":{"start":{"line":74,"column":10},"end":{"line":74,"column":81}},"type":"binary-expr","locations":[{"start":{"line":74,"column":10},"end":{"line":74,"column":37}},{"start":{"line":74,"column":41},"end":{"line":74,"column":81}}],"line":74},"20":{"loc":{"start":{"line":79,"column":6},"end":{"line":81,"column":7}},"type":"if","locations":[{"start":{"line":79,"column":6},"end":{"line":81,"column":7}},{"start":{},"end":{}}],"line":79},"21":{"loc":{"start":{"line":79,"column":10},"end":{"line":79,"column":82}},"type":"binary-expr","locations":[{"start":{"line":79,"column":10},"end":{"line":79,"column":38}},{"start":{"line":79,"column":42},"end":{"line":79,"column":82}}],"line":79},"22":{"loc":{"start":{"line":84,"column":6},"end":{"line":86,"column":7}},"type":"if","locations":[{"start":{"line":84,"column":6},"end":{"line":86,"column":7}},{"start":{},"end":{}}],"line":84},"23":{"loc":{"start":{"line":84,"column":10},"end":{"line":84,"column":80}},"type":"binary-expr","locations":[{"start":{"line":84,"column":10},"end":{"line":84,"column":36}},{"start":{"line":84,"column":40},"end":{"line":84,"column":80}}],"line":84},"24":{"loc":{"start":{"line":89,"column":6},"end":{"line":91,"column":7}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":91,"column":7}},{"start":{},"end":{}}],"line":89},"25":{"loc":{"start":{"line":89,"column":10},"end":{"line":89,"column":66}},"type":"binary-expr","locations":[{"start":{"line":89,"column":10},"end":{"line":89,"column":27}},{"start":{"line":89,"column":31},"end":{"line":89,"column":66}}],"line":89},"26":{"loc":{"start":{"line":94,"column":6},"end":{"line":96,"column":7}},"type":"if","locations":[{"start":{"line":94,"column":6},"end":{"line":96,"column":7}},{"start":{},"end":{}}],"line":94},"27":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":66}},"type":"binary-expr","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":27}},{"start":{"line":94,"column":31},"end":{"line":94,"column":66}}],"line":94},"28":{"loc":{"start":{"line":99,"column":6},"end":{"line":101,"column":7}},"type":"if","locations":[{"start":{"line":99,"column":6},"end":{"line":101,"column":7}},{"start":{},"end":{}}],"line":99},"29":{"loc":{"start":{"line":99,"column":10},"end":{"line":99,"column":86}},"type":"binary-expr","locations":[{"start":{"line":99,"column":10},"end":{"line":99,"column":37}},{"start":{"line":99,"column":41},"end":{"line":99,"column":86}}],"line":99},"30":{"loc":{"start":{"line":104,"column":6},"end":{"line":113,"column":7}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":113,"column":7}},{"start":{},"end":{}}],"line":104},"31":{"loc":{"start":{"line":105,"column":8},"end":{"line":110,"column":36}},"type":"binary-expr","locations":[{"start":{"line":105,"column":8},"end":{"line":105,"column":25}},{"start":{"line":106,"column":11},"end":{"line":106,"column":46}},{"start":{"line":107,"column":11},"end":{"line":107,"column":33}},{"start":{"line":108,"column":11},"end":{"line":108,"column":42}},{"start":{"line":109,"column":11},"end":{"line":109,"column":37}},{"start":{"line":110,"column":11},"end":{"line":110,"column":36}}],"line":105},"32":{"loc":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"type":"if","locations":[{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},{"start":{},"end":{}}],"line":116},"33":{"loc":{"start":{"line":116,"column":10},"end":{"line":116,"column":62}},"type":"binary-expr","locations":[{"start":{"line":116,"column":10},"end":{"line":116,"column":25}},{"start":{"line":116,"column":29},"end":{"line":116,"column":62}}],"line":116},"34":{"loc":{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},"type":"if","locations":[{"start":{"line":121,"column":6},"end":{"line":123,"column":7}},{"start":{},"end":{}}],"line":121},"35":{"loc":{"start":{"line":121,"column":10},"end":{"line":121,"column":66}},"type":"binary-expr","locations":[{"start":{"line":121,"column":10},"end":{"line":121,"column":27}},{"start":{"line":121,"column":31},"end":{"line":121,"column":66}}],"line":121},"36":{"loc":{"start":{"line":126,"column":6},"end":{"line":132,"column":7}},"type":"if","locations":[{"start":{"line":126,"column":6},"end":{"line":132,"column":7}},{"start":{},"end":{}}],"line":126},"37":{"loc":{"start":{"line":126,"column":10},"end":{"line":126,"column":74}},"type":"binary-expr","locations":[{"start":{"line":126,"column":10},"end":{"line":126,"column":31}},{"start":{"line":126,"column":35},"end":{"line":126,"column":74}}],"line":126},"38":{"loc":{"start":{"line":135,"column":6},"end":{"line":137,"column":7}},"type":"if","locations":[{"start":{"line":135,"column":6},"end":{"line":137,"column":7}},{"start":{},"end":{}}],"line":135},"39":{"loc":{"start":{"line":135,"column":10},"end":{"line":135,"column":72}},"type":"binary-expr","locations":[{"start":{"line":135,"column":10},"end":{"line":135,"column":30}},{"start":{"line":135,"column":34},"end":{"line":135,"column":72}}],"line":135},"40":{"loc":{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},"type":"if","locations":[{"start":{"line":140,"column":6},"end":{"line":142,"column":7}},{"start":{},"end":{}}],"line":140},"41":{"loc":{"start":{"line":140,"column":10},"end":{"line":140,"column":76}},"type":"binary-expr","locations":[{"start":{"line":140,"column":10},"end":{"line":140,"column":32}},{"start":{"line":140,"column":36},"end":{"line":140,"column":76}}],"line":140},"42":{"loc":{"start":{"line":145,"column":6},"end":{"line":147,"column":7}},"type":"if","locations":[{"start":{"line":145,"column":6},"end":{"line":147,"column":7}},{"start":{},"end":{}}],"line":145},"43":{"loc":{"start":{"line":145,"column":10},"end":{"line":145,"column":78}},"type":"binary-expr","locations":[{"start":{"line":145,"column":10},"end":{"line":145,"column":33}},{"start":{"line":145,"column":37},"end":{"line":145,"column":78}}],"line":145},"44":{"loc":{"start":{"line":150,"column":6},"end":{"line":152,"column":7}},"type":"if","locations":[{"start":{"line":150,"column":6},"end":{"line":152,"column":7}},{"start":{},"end":{}}],"line":150},"45":{"loc":{"start":{"line":150,"column":10},"end":{"line":150,"column":74}},"type":"binary-expr","locations":[{"start":{"line":150,"column":10},"end":{"line":150,"column":31}},{"start":{"line":150,"column":35},"end":{"line":150,"column":74}}],"line":150},"46":{"loc":{"start":{"line":155,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":155,"column":6},"end":{"line":158,"column":7}},{"start":{},"end":{}}],"line":155},"47":{"loc":{"start":{"line":155,"column":10},"end":{"line":155,"column":74}},"type":"binary-expr","locations":[{"start":{"line":155,"column":10},"end":{"line":155,"column":31}},{"start":{"line":155,"column":35},"end":{"line":155,"column":74}}],"line":155},"48":{"loc":{"start":{"line":161,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":164,"column":7}},{"start":{},"end":{}}],"line":161},"49":{"loc":{"start":{"line":161,"column":10},"end":{"line":161,"column":72}},"type":"binary-expr","locations":[{"start":{"line":161,"column":10},"end":{"line":161,"column":30}},{"start":{"line":161,"column":34},"end":{"line":161,"column":72}}],"line":161},"50":{"loc":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"type":"if","locations":[{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},{"start":{},"end":{}}],"line":167},"51":{"loc":{"start":{"line":167,"column":10},"end":{"line":167,"column":74}},"type":"binary-expr","locations":[{"start":{"line":167,"column":10},"end":{"line":167,"column":31}},{"start":{"line":167,"column":35},"end":{"line":167,"column":74}}],"line":167},"52":{"loc":{"start":{"line":172,"column":6},"end":{"line":174,"column":7}},"type":"if","locations":[{"start":{"line":172,"column":6},"end":{"line":174,"column":7}},{"start":{},"end":{}}],"line":172},"53":{"loc":{"start":{"line":172,"column":10},"end":{"line":172,"column":62}},"type":"binary-expr","locations":[{"start":{"line":172,"column":10},"end":{"line":172,"column":25}},{"start":{"line":172,"column":29},"end":{"line":172,"column":62}}],"line":172},"54":{"loc":{"start":{"line":177,"column":6},"end":{"line":179,"column":7}},"type":"if","locations":[{"start":{"line":177,"column":6},"end":{"line":179,"column":7}},{"start":{},"end":{}}],"line":177},"55":{"loc":{"start":{"line":177,"column":10},"end":{"line":177,"column":66}},"type":"binary-expr","locations":[{"start":{"line":177,"column":10},"end":{"line":177,"column":27}},{"start":{"line":177,"column":31},"end":{"line":177,"column":66}}],"line":177},"56":{"loc":{"start":{"line":180,"column":6},"end":{"line":182,"column":7}},"type":"if","locations":[{"start":{"line":180,"column":6},"end":{"line":182,"column":7}},{"start":{},"end":{}}],"line":180},"57":{"loc":{"start":{"line":180,"column":10},"end":{"line":180,"column":76}},"type":"binary-expr","locations":[{"start":{"line":180,"column":10},"end":{"line":180,"column":32}},{"start":{"line":180,"column":36},"end":{"line":180,"column":76}}],"line":180},"58":{"loc":{"start":{"line":183,"column":6},"end":{"line":185,"column":7}},"type":"if","locations":[{"start":{"line":183,"column":6},"end":{"line":185,"column":7}},{"start":{},"end":{}}],"line":183},"59":{"loc":{"start":{"line":183,"column":10},"end":{"line":183,"column":74}},"type":"binary-expr","locations":[{"start":{"line":183,"column":10},"end":{"line":183,"column":31}},{"start":{"line":183,"column":35},"end":{"line":183,"column":74}}],"line":183},"60":{"loc":{"start":{"line":188,"column":6},"end":{"line":191,"column":7}},"type":"if","locations":[{"start":{"line":188,"column":6},"end":{"line":191,"column":7}},{"start":{},"end":{}}],"line":188},"61":{"loc":{"start":{"line":188,"column":10},"end":{"line":188,"column":82}},"type":"binary-expr","locations":[{"start":{"line":188,"column":10},"end":{"line":188,"column":35}},{"start":{"line":188,"column":39},"end":{"line":188,"column":82}}],"line":188},"62":{"loc":{"start":{"line":192,"column":6},"end":{"line":194,"column":7}},"type":"if","locations":[{"start":{"line":192,"column":6},"end":{"line":194,"column":7}},{"start":{},"end":{}}],"line":192},"63":{"loc":{"start":{"line":192,"column":10},"end":{"line":192,"column":74}},"type":"binary-expr","locations":[{"start":{"line":192,"column":10},"end":{"line":192,"column":31}},{"start":{"line":192,"column":35},"end":{"line":192,"column":74}}],"line":192},"64":{"loc":{"start":{"line":197,"column":6},"end":{"line":200,"column":7}},"type":"if","locations":[{"start":{"line":197,"column":6},"end":{"line":200,"column":7}},{"start":{},"end":{}}],"line":197},"65":{"loc":{"start":{"line":197,"column":10},"end":{"line":197,"column":86}},"type":"binary-expr","locations":[{"start":{"line":197,"column":10},"end":{"line":197,"column":37}},{"start":{"line":197,"column":41},"end":{"line":197,"column":86}}],"line":197},"66":{"loc":{"start":{"line":201,"column":6},"end":{"line":203,"column":7}},"type":"if","locations":[{"start":{"line":201,"column":6},"end":{"line":203,"column":7}},{"start":{},"end":{}}],"line":201},"67":{"loc":{"start":{"line":201,"column":10},"end":{"line":201,"column":74}},"type":"binary-expr","locations":[{"start":{"line":201,"column":10},"end":{"line":201,"column":31}},{"start":{"line":201,"column":35},"end":{"line":201,"column":74}}],"line":201},"68":{"loc":{"start":{"line":206,"column":6},"end":{"line":209,"column":7}},"type":"if","locations":[{"start":{"line":206,"column":6},"end":{"line":209,"column":7}},{"start":{},"end":{}}],"line":206},"69":{"loc":{"start":{"line":206,"column":10},"end":{"line":206,"column":88}},"type":"binary-expr","locations":[{"start":{"line":206,"column":10},"end":{"line":206,"column":38}},{"start":{"line":206,"column":42},"end":{"line":206,"column":88}}],"line":206},"70":{"loc":{"start":{"line":210,"column":6},"end":{"line":212,"column":7}},"type":"if","locations":[{"start":{"line":210,"column":6},"end":{"line":212,"column":7}},{"start":{},"end":{}}],"line":210},"71":{"loc":{"start":{"line":210,"column":10},"end":{"line":210,"column":74}},"type":"binary-expr","locations":[{"start":{"line":210,"column":10},"end":{"line":210,"column":31}},{"start":{"line":210,"column":35},"end":{"line":210,"column":74}}],"line":210},"72":{"loc":{"start":{"line":215,"column":6},"end":{"line":218,"column":7}},"type":"if","locations":[{"start":{"line":215,"column":6},"end":{"line":218,"column":7}},{"start":{},"end":{}}],"line":215},"73":{"loc":{"start":{"line":215,"column":10},"end":{"line":215,"column":84}},"type":"binary-expr","locations":[{"start":{"line":215,"column":10},"end":{"line":215,"column":36}},{"start":{"line":215,"column":40},"end":{"line":215,"column":84}}],"line":215},"74":{"loc":{"start":{"line":219,"column":6},"end":{"line":221,"column":7}},"type":"if","locations":[{"start":{"line":219,"column":6},"end":{"line":221,"column":7}},{"start":{},"end":{}}],"line":219},"75":{"loc":{"start":{"line":219,"column":10},"end":{"line":219,"column":74}},"type":"binary-expr","locations":[{"start":{"line":219,"column":10},"end":{"line":219,"column":31}},{"start":{"line":219,"column":35},"end":{"line":219,"column":74}}],"line":219},"76":{"loc":{"start":{"line":224,"column":6},"end":{"line":226,"column":7}},"type":"if","locations":[{"start":{"line":224,"column":6},"end":{"line":226,"column":7}},{"start":{},"end":{}}],"line":224},"77":{"loc":{"start":{"line":224,"column":10},"end":{"line":224,"column":66}},"type":"binary-expr","locations":[{"start":{"line":224,"column":10},"end":{"line":224,"column":27}},{"start":{"line":224,"column":31},"end":{"line":224,"column":66}}],"line":224},"78":{"loc":{"start":{"line":229,"column":6},"end":{"line":231,"column":7}},"type":"if","locations":[{"start":{"line":229,"column":6},"end":{"line":231,"column":7}},{"start":{},"end":{}}],"line":229},"79":{"loc":{"start":{"line":229,"column":10},"end":{"line":229,"column":80}},"type":"binary-expr","locations":[{"start":{"line":229,"column":10},"end":{"line":229,"column":34}},{"start":{"line":229,"column":38},"end":{"line":229,"column":80}}],"line":229},"80":{"loc":{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},"type":"if","locations":[{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},{"start":{},"end":{}}],"line":234},"81":{"loc":{"start":{"line":237,"column":6},"end":{"line":244,"column":7}},"type":"if","locations":[{"start":{"line":237,"column":6},"end":{"line":244,"column":7}},{"start":{},"end":{}}],"line":237},"82":{"loc":{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":238,"column":8},"end":{"line":243,"column":9}},{"start":{},"end":{}}],"line":238}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0,0,0,0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameStylesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameStylesFromPlugin.ts","statementMap":{"0":{"start":{"line":12,"column":50},"end":{"line":16,"column":4}},"1":{"start":{"line":17,"column":20},"end":{"line":17,"column":68}},"2":{"start":{"line":19,"column":20},"end":{"line":21,"column":4}},"3":{"start":{"line":23,"column":31},"end":{"line":23,"column":234}},"4":{"start":{"line":23,"column":66},"end":{"line":23,"column":190}},"5":{"start":{"line":23,"column":134},"end":{"line":23,"column":189}},"6":{"start":{"line":23,"column":215},"end":{"line":23,"column":233}},"7":{"start":{"line":24,"column":31},"end":{"line":24,"column":33}},"8":{"start":{"line":25,"column":31},"end":{"line":25,"column":33}},"9":{"start":{"line":28,"column":2},"end":{"line":39,"column":5}},"10":{"start":{"line":29,"column":4},"end":{"line":33,"column":53}},"11":{"start":{"line":30,"column":50},"end":{"line":30,"column":94}},"12":{"start":{"line":31,"column":50},"end":{"line":31,"column":97}},"13":{"start":{"line":32,"column":45},"end":{"line":32,"column":91}},"14":{"start":{"line":34,"column":4},"end":{"line":38,"column":53}},"15":{"start":{"line":35,"column":50},"end":{"line":35,"column":94}},"16":{"start":{"line":36,"column":50},"end":{"line":36,"column":97}},"17":{"start":{"line":37,"column":45},"end":{"line":37,"column":91}},"18":{"start":{"line":40,"column":22},"end":{"line":47,"column":46}},"19":{"start":{"line":40,"column":50},"end":{"line":47,"column":4}},"20":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"21":{"start":{"line":42,"column":20},"end":{"line":42,"column":74}},"22":{"start":{"line":42,"column":53},"end":{"line":42,"column":73}},"23":{"start":{"line":43,"column":6},"end":{"line":43,"column":39}},"24":{"start":{"line":44,"column":6},"end":{"line":44,"column":18}},"25":{"start":{"line":46,"column":4},"end":{"line":46,"column":17}},"26":{"start":{"line":47,"column":29},"end":{"line":47,"column":45}},"27":{"start":{"line":49,"column":2},"end":{"line":49,"column":21}}},"fnMap":{"0":{"name":"renameStylesFromPlugin","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":52}},"loc":{"start":{"line":11,"column":2},"end":{"line":50,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":55},"end":{"line":23,"column":56}},"loc":{"start":{"line":23,"column":66},"end":{"line":23,"column":190}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":111},"end":{"line":23,"column":112}},"loc":{"start":{"line":23,"column":134},"end":{"line":23,"column":189}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":196},"end":{"line":23,"column":197}},"loc":{"start":{"line":23,"column":215},"end":{"line":23,"column":233}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":25},"end":{"line":28,"column":26}},"loc":{"start":{"line":28,"column":36},"end":{"line":39,"column":3}},"line":28},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":39},"end":{"line":30,"column":40}},"loc":{"start":{"line":30,"column":50},"end":{"line":30,"column":94}},"line":30},"6":{"name":"(anonymous_6)","decl":{"start":{"line":31,"column":39},"end":{"line":31,"column":40}},"loc":{"start":{"line":31,"column":50},"end":{"line":31,"column":97}},"line":31},"7":{"name":"(anonymous_7)","decl":{"start":{"line":32,"column":39},"end":{"line":32,"column":40}},"loc":{"start":{"line":32,"column":45},"end":{"line":32,"column":91}},"line":32},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":39},"end":{"line":35,"column":40}},"loc":{"start":{"line":35,"column":50},"end":{"line":35,"column":94}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":36,"column":50},"end":{"line":36,"column":97}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":37,"column":39},"end":{"line":37,"column":40}},"loc":{"start":{"line":37,"column":45},"end":{"line":37,"column":91}},"line":37},"11":{"name":"(anonymous_11)","decl":{"start":{"line":40,"column":39},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":50},"end":{"line":47,"column":4}},"line":40},"12":{"name":"(anonymous_12)","decl":{"start":{"line":40,"column":68},"end":{"line":40,"column":69}},"loc":{"start":{"line":40,"column":85},"end":{"line":47,"column":3}},"line":40},"13":{"name":"(anonymous_13)","decl":{"start":{"line":42,"column":43},"end":{"line":42,"column":44}},"loc":{"start":{"line":42,"column":53},"end":{"line":42,"column":73}},"line":42},"14":{"name":"(anonymous_14)","decl":{"start":{"line":47,"column":10},"end":{"line":47,"column":11}},"loc":{"start":{"line":47,"column":29},"end":{"line":47,"column":45}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":134},"end":{"line":23,"column":189}},"type":"binary-expr","locations":[{"start":{"line":23,"column":134},"end":{"line":23,"column":153}},{"start":{"line":23,"column":157},"end":{"line":23,"column":189}}],"line":23},"1":{"loc":{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":41}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameVariablesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/renameVariablesFromPlugin.ts","statementMap":{"0":{"start":{"line":7,"column":20},"end":{"line":9,"column":4}},"1":{"start":{"line":10,"column":22},"end":{"line":10,"column":45}},"2":{"start":{"line":11,"column":31},"end":{"line":30,"column":4}},"3":{"start":{"line":12,"column":41},"end":{"line":12,"column":43}},"4":{"start":{"line":13,"column":40},"end":{"line":18,"column":10}},"5":{"start":{"line":14,"column":6},"end":{"line":16,"column":7}},"6":{"start":{"line":15,"column":8},"end":{"line":15,"column":66}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":17}},"8":{"start":{"line":19,"column":4},"end":{"line":25,"column":7}},"9":{"start":{"line":20,"column":23},"end":{"line":20,"column":46}},"10":{"start":{"line":21,"column":6},"end":{"line":24,"column":7}},"11":{"start":{"line":22,"column":8},"end":{"line":22,"column":59}},"12":{"start":{"line":23,"column":8},"end":{"line":23,"column":46}},"13":{"start":{"line":26,"column":4},"end":{"line":29,"column":6}},"14":{"start":{"line":32,"column":2},"end":{"line":32,"column":30}}},"fnMap":{"0":{"name":"renameVariablesFromPlugin","decl":{"start":{"line":6,"column":30},"end":{"line":6,"column":55}},"loc":{"start":{"line":6,"column":81},"end":{"line":33,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":42},"end":{"line":11,"column":43}},"loc":{"start":{"line":11,"column":53},"end":{"line":30,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":74},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":90},"end":{"line":18,"column":5}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":40},"end":{"line":19,"column":41}},"loc":{"start":{"line":19,"column":56},"end":{"line":25,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":6},"end":{"line":16,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":16,"column":7}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":24,"column":7}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/rotateNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/rotateNode.ts","statementMap":{"0":{"start":{"line":1,"column":31},"end":{"line":25,"column":1}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":21}},"3":{"start":{"line":7,"column":6},"end":{"line":7,"column":30}},"4":{"start":{"line":10,"column":11},"end":{"line":10,"column":12}},"5":{"start":{"line":11,"column":11},"end":{"line":11,"column":12}},"6":{"start":{"line":13,"column":2},"end":{"line":16,"column":3}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":43}},"8":{"start":{"line":15,"column":4},"end":{"line":15,"column":43}},"9":{"start":{"line":18,"column":13},"end":{"line":18,"column":19}},"10":{"start":{"line":19,"column":13},"end":{"line":19,"column":19}},"11":{"start":{"line":21,"column":13},"end":{"line":21,"column":27}},"12":{"start":{"line":22,"column":13},"end":{"line":22,"column":28}},"13":{"start":{"line":24,"column":2},"end":{"line":24,"column":26}},"14":{"start":{"line":27,"column":33},"end":{"line":35,"column":1}},"15":{"start":{"line":28,"column":17},"end":{"line":28,"column":38}},"16":{"start":{"line":29,"column":2},"end":{"line":34,"column":3}},"17":{"start":{"line":30,"column":4},"end":{"line":30,"column":22}},"18":{"start":{"line":31,"column":30},"end":{"line":31,"column":54}},"19":{"start":{"line":32,"column":4},"end":{"line":32,"column":34}},"20":{"start":{"line":33,"column":4},"end":{"line":33,"column":35}},"21":{"start":{"line":37,"column":26},"end":{"line":57,"column":1}},"22":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"23":{"start":{"line":39,"column":4},"end":{"line":39,"column":32}},"24":{"start":{"line":41,"column":2},"end":{"line":56,"column":3}},"25":{"start":{"line":42,"column":18},"end":{"line":42,"column":41}},"26":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"27":{"start":{"line":44,"column":19},"end":{"line":44,"column":40}},"28":{"start":{"line":46,"column":4},"end":{"line":46,"column":26}},"29":{"start":{"line":48,"column":4},"end":{"line":55,"column":5}},"30":{"start":{"line":49,"column":19},"end":{"line":49,"column":139}},"31":{"start":{"line":51,"column":19},"end":{"line":51,"column":140}},"32":{"start":{"line":53,"column":6},"end":{"line":53,"column":20}},"33":{"start":{"line":54,"column":6},"end":{"line":54,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":31},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":52},"end":{"line":25,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":33},"end":{"line":27,"column":34}},"loc":{"start":{"line":27,"column":54},"end":{"line":35,"column":1}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":26},"end":{"line":37,"column":27}},"loc":{"start":{"line":37,"column":62},"end":{"line":57,"column":1}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":13},"2":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":101}},"type":"binary-expr","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":17}},{"start":{"line":13,"column":21},"end":{"line":13,"column":57}},{"start":{"line":13,"column":61},"end":{"line":13,"column":101}}],"line":13},"3":{"loc":{"start":{"line":29,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":34,"column":3}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":29,"column":6},"end":{"line":29,"column":62}},"type":"binary-expr","locations":[{"start":{"line":29,"column":6},"end":{"line":29,"column":12}},{"start":{"line":29,"column":16},"end":{"line":29,"column":34}},{"start":{"line":29,"column":38},"end":{"line":29,"column":62}}],"line":29},"5":{"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},{"start":{},"end":{}}],"line":38},"6":{"loc":{"start":{"line":41,"column":2},"end":{"line":56,"column":3}},"type":"if","locations":[{"start":{"line":41,"column":2},"end":{"line":56,"column":3}},{"start":{},"end":{}}],"line":41},"7":{"loc":{"start":{"line":41,"column":6},"end":{"line":41,"column":52}},"type":"binary-expr","locations":[{"start":{"line":41,"column":6},"end":{"line":41,"column":24}},{"start":{"line":41,"column":28},"end":{"line":41,"column":52}}],"line":41},"8":{"loc":{"start":{"line":48,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":48}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendDocumentChange.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendDocumentChange.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":11}},"2":{"start":{"line":7,"column":24},"end":{"line":7,"column":156}},"3":{"start":{"line":7,"column":65},"end":{"line":7,"column":128}},"4":{"start":{"line":7,"column":146},"end":{"line":7,"column":155}},"5":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":11}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":30}}},"fnMap":{"0":{"name":"sendDocumentChange","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":69},"end":{"line":12,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":53},"end":{"line":7,"column":54}},"loc":{"start":{"line":7,"column":65},"end":{"line":7,"column":128}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":134},"end":{"line":7,"column":135}},"loc":{"start":{"line":7,"column":146},"end":{"line":7,"column":155}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":136}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":40}},{"start":{"line":4,"column":44},"end":{"line":4,"column":95}},{"start":{"line":4,"column":99},"end":{"line":4,"column":136}}],"line":4},"2":{"loc":{"start":{"line":7,"column":65},"end":{"line":7,"column":128}},"type":"binary-expr","locations":[{"start":{"line":7,"column":65},"end":{"line":7,"column":91}},{"start":{"line":7,"column":95},"end":{"line":7,"column":128}}],"line":7},"3":{"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendSelectionChange.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/sendSelectionChange.ts","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":13,"column":123}},"1":{"start":{"line":14,"column":33},"end":{"line":14,"column":67}},"2":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":24}},"4":{"start":{"line":18,"column":4},"end":{"line":18,"column":16}},"5":{"start":{"line":20,"column":2},"end":{"line":20,"column":97}}},"fnMap":{"0":{"name":"sendSelectionChange","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":41}},"loc":{"start":{"line":7,"column":78},"end":{"line":21,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":16},"end":{"line":13,"column":123}},"type":"cond-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":120}},{"start":{"line":13,"column":6},"end":{"line":13,"column":123}}],"line":9},"1":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":68}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":33}},{"start":{"line":9,"column":37},"end":{"line":9,"column":68}}],"line":9},"2":{"loc":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBackgroundBlurOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBackgroundBlurOnTarget.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":28,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":25,"column":5}},"2":{"start":{"line":11,"column":34},"end":{"line":11,"column":105}},"3":{"start":{"line":11,"column":71},"end":{"line":11,"column":104}},"4":{"start":{"line":12,"column":23},"end":{"line":12,"column":42}},"5":{"start":{"line":13,"column":37},"end":{"line":17,"column":7}},"6":{"start":{"line":19,"column":6},"end":{"line":23,"column":7}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":94}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":36}},"9":{"start":{"line":24,"column":6},"end":{"line":24,"column":34}},"10":{"start":{"line":27,"column":4},"end":{"line":27,"column":44}}},"fnMap":{"0":{"name":"setBackgroundBlurOnTarget","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":49}},"loc":{"start":{"line":8,"column":2},"end":{"line":29,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":59},"end":{"line":11,"column":60}},"loc":{"start":{"line":11,"column":71},"end":{"line":11,"column":104}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":25,"column":5}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":19,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":23,"column":7}},{"start":{"line":21,"column":13},"end":{"line":23,"column":7}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBooleanValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBooleanValuesOnVariable.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":15,"column":3}},"1":{"start":{"line":5,"column":34},"end":{"line":5,"column":61}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":156}},"3":{"start":{"line":6,"column":149},"end":{"line":6,"column":156}},"4":{"start":{"line":8,"column":21},"end":{"line":8,"column":37}},"5":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"6":{"start":{"line":11,"column":6},"end":{"line":11,"column":47}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":54}}},"fnMap":{"0":{"name":"setBooleanValuesOnVariable","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":50}},"loc":{"start":{"line":3,"column":100},"end":{"line":16,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":156}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":156}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":6,"column":8},"end":{"line":6,"column":147}},"type":"binary-expr","locations":[{"start":{"line":6,"column":8},"end":{"line":6,"column":43}},{"start":{"line":6,"column":47},"end":{"line":6,"column":147}}],"line":6},"2":{"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":146}},"type":"binary-expr","locations":[{"start":{"line":6,"column":49},"end":{"line":6,"column":91}},{"start":{"line":6,"column":95},"end":{"line":6,"column":146}}],"line":6},"3":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderColorValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderColorValuesOnTarget.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":46,"column":3}},"1":{"start":{"line":18,"column":4},"end":{"line":45,"column":5}},"2":{"start":{"line":19,"column":28},"end":{"line":19,"column":64}},"3":{"start":{"line":20,"column":28},"end":{"line":20,"column":50}},"4":{"start":{"line":21,"column":6},"end":{"line":38,"column":7}},"5":{"start":{"line":23,"column":33},"end":{"line":23,"column":57}},"6":{"start":{"line":24,"column":30},"end":{"line":24,"column":81}},"7":{"start":{"line":25,"column":8},"end":{"line":37,"column":9}},"8":{"start":{"line":26,"column":10},"end":{"line":36,"column":11}},"9":{"start":{"line":28,"column":12},"end":{"line":28,"column":47}},"10":{"start":{"line":29,"column":12},"end":{"line":29,"column":55}},"11":{"start":{"line":30,"column":17},"end":{"line":36,"column":11}},"12":{"start":{"line":35,"column":12},"end":{"line":35,"column":71}},"13":{"start":{"line":40,"column":6},"end":{"line":44,"column":7}},"14":{"start":{"line":41,"column":8},"end":{"line":43,"column":11}}},"fnMap":{"0":{"name":"setBorderColorValuesOnTarget","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":50}},"loc":{"start":{"line":16,"column":10},"end":{"line":47,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":46,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":46,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":38,"column":7}},{"start":{},"end":{}}],"line":21},"3":{"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":43}},"type":"binary-expr","locations":[{"start":{"line":21,"column":10},"end":{"line":21,"column":23}},{"start":{"line":21,"column":27},"end":{"line":21,"column":43}}],"line":21},"4":{"loc":{"start":{"line":25,"column":8},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":37,"column":9}},{"start":{},"end":{}}],"line":25},"5":{"loc":{"start":{"line":26,"column":10},"end":{"line":36,"column":11}},"type":"if","locations":[{"start":{"line":26,"column":10},"end":{"line":36,"column":11}},{"start":{"line":30,"column":17},"end":{"line":36,"column":11}}],"line":26},"6":{"loc":{"start":{"line":30,"column":17},"end":{"line":36,"column":11}},"type":"if","locations":[{"start":{"line":30,"column":17},"end":{"line":36,"column":11}},{"start":{},"end":{}}],"line":30},"7":{"loc":{"start":{"line":40,"column":6},"end":{"line":44,"column":7}},"type":"if","locations":[{"start":{"line":40,"column":6},"end":{"line":44,"column":7}},{"start":{},"end":{}}],"line":40},"8":{"loc":{"start":{"line":40,"column":10},"end":{"line":40,"column":106}},"type":"binary-expr","locations":[{"start":{"line":40,"column":10},"end":{"line":40,"column":26}},{"start":{"line":40,"column":31},"end":{"line":40,"column":46}},{"start":{"line":40,"column":50},"end":{"line":40,"column":105}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setBorderValuesOnTarget.ts","statementMap":{"0":{"start":{"line":14,"column":20},"end":{"line":14,"column":25}},"1":{"start":{"line":15,"column":27},"end":{"line":15,"column":32}},"2":{"start":{"line":16,"column":2},"end":{"line":79,"column":3}},"3":{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},"4":{"start":{"line":24,"column":6},"end":{"line":24,"column":87}},"5":{"start":{"line":26,"column":4},"end":{"line":34,"column":5}},"6":{"start":{"line":33,"column":6},"end":{"line":33,"column":90}},"7":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"8":{"start":{"line":42,"column":6},"end":{"line":42,"column":92}},"9":{"start":{"line":44,"column":4},"end":{"line":52,"column":5}},"10":{"start":{"line":51,"column":6},"end":{"line":51,"column":93}},"11":{"start":{"line":53,"column":4},"end":{"line":61,"column":5}},"12":{"start":{"line":60,"column":6},"end":{"line":60,"column":91}},"13":{"start":{"line":63,"column":4},"end":{"line":76,"column":5}},"14":{"start":{"line":64,"column":27},"end":{"line":64,"column":33}},"15":{"start":{"line":65,"column":6},"end":{"line":74,"column":7}},"16":{"start":{"line":67,"column":10},"end":{"line":67,"column":34}},"17":{"start":{"line":68,"column":10},"end":{"line":68,"column":16}},"18":{"start":{"line":70,"column":10},"end":{"line":70,"column":107}},"19":{"start":{"line":71,"column":10},"end":{"line":71,"column":16}},"20":{"start":{"line":73,"column":10},"end":{"line":73,"column":16}},"21":{"start":{"line":75,"column":6},"end":{"line":75,"column":42}},"22":{"start":{"line":78,"column":4},"end":{"line":78,"column":49}}},"fnMap":{"0":{"name":"setBorderValuesOnTarget","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":53}},"loc":{"start":{"line":13,"column":2},"end":{"line":80,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":22,"column":67}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":30}},{"start":{"line":19,"column":9},"end":{"line":19,"column":37}},{"start":{"line":20,"column":9},"end":{"line":20,"column":32}},{"start":{"line":21,"column":9},"end":{"line":21,"column":14}},{"start":{"line":22,"column":9},"end":{"line":22,"column":67}}],"line":18},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":27,"column":6},"end":{"line":31,"column":70}},"type":"binary-expr","locations":[{"start":{"line":27,"column":6},"end":{"line":27,"column":33}},{"start":{"line":28,"column":9},"end":{"line":28,"column":37}},{"start":{"line":29,"column":9},"end":{"line":29,"column":32}},{"start":{"line":30,"column":9},"end":{"line":30,"column":23}},{"start":{"line":31,"column":9},"end":{"line":31,"column":70}}],"line":27},"4":{"loc":{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":35},"5":{"loc":{"start":{"line":36,"column":6},"end":{"line":40,"column":72}},"type":"binary-expr","locations":[{"start":{"line":36,"column":6},"end":{"line":36,"column":35}},{"start":{"line":37,"column":9},"end":{"line":37,"column":37}},{"start":{"line":38,"column":9},"end":{"line":38,"column":32}},{"start":{"line":39,"column":9},"end":{"line":39,"column":25}},{"start":{"line":40,"column":9},"end":{"line":40,"column":72}}],"line":36},"6":{"loc":{"start":{"line":44,"column":4},"end":{"line":52,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":52,"column":5}},{"start":{},"end":{}}],"line":44},"7":{"loc":{"start":{"line":45,"column":6},"end":{"line":49,"column":73}},"type":"binary-expr","locations":[{"start":{"line":45,"column":6},"end":{"line":45,"column":36}},{"start":{"line":46,"column":9},"end":{"line":46,"column":37}},{"start":{"line":47,"column":9},"end":{"line":47,"column":32}},{"start":{"line":48,"column":9},"end":{"line":48,"column":26}},{"start":{"line":49,"column":9},"end":{"line":49,"column":73}}],"line":45},"8":{"loc":{"start":{"line":53,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":53},"9":{"loc":{"start":{"line":54,"column":6},"end":{"line":58,"column":71}},"type":"binary-expr","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":34}},{"start":{"line":55,"column":9},"end":{"line":55,"column":37}},{"start":{"line":56,"column":9},"end":{"line":56,"column":32}},{"start":{"line":57,"column":9},"end":{"line":57,"column":24}},{"start":{"line":58,"column":9},"end":{"line":58,"column":71}}],"line":54},"10":{"loc":{"start":{"line":63,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":76,"column":5}},{"start":{},"end":{}}],"line":63},"11":{"loc":{"start":{"line":63,"column":8},"end":{"line":63,"column":92}},"type":"binary-expr","locations":[{"start":{"line":63,"column":8},"end":{"line":63,"column":36}},{"start":{"line":63,"column":40},"end":{"line":63,"column":65}},{"start":{"line":63,"column":69},"end":{"line":63,"column":92}}],"line":63},"12":{"loc":{"start":{"line":65,"column":6},"end":{"line":74,"column":7}},"type":"switch","locations":[{"start":{"line":66,"column":8},"end":{"line":68,"column":16}},{"start":{"line":69,"column":8},"end":{"line":71,"column":16}},{"start":{"line":72,"column":8},"end":{"line":73,"column":16}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0,0,0,0],"4":[0,0],"5":[0,0,0,0,0],"6":[0,0],"7":[0,0,0,0,0],"8":[0,0],"9":[0,0,0,0,0],"10":[0,0],"11":[0,0,0],"12":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnTarget.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":11,"column":54}},"1":{"start":{"line":14,"column":29},"end":{"line":20,"column":1}},"2":{"start":{"line":15,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":75}},"4":{"start":{"line":16,"column":48},"end":{"line":16,"column":75}},"5":{"start":{"line":17,"column":4},"end":{"line":17,"column":72}},"6":{"start":{"line":17,"column":46},"end":{"line":17,"column":72}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":78}},"8":{"start":{"line":18,"column":50},"end":{"line":18,"column":78}},"9":{"start":{"line":22,"column":31},"end":{"line":59,"column":1}},"10":{"start":{"line":23,"column":25},"end":{"line":25,"column":19}},"11":{"start":{"line":26,"column":47},"end":{"line":26,"column":91}},"12":{"start":{"line":28,"column":19},"end":{"line":28,"column":66}},"13":{"start":{"line":29,"column":36},"end":{"line":29,"column":49}},"14":{"start":{"line":31,"column":49},"end":{"line":31,"column":75}},"15":{"start":{"line":32,"column":2},"end":{"line":52,"column":3}},"16":{"start":{"line":33,"column":28},"end":{"line":33,"column":68}},"17":{"start":{"line":35,"column":4},"end":{"line":51,"column":5}},"18":{"start":{"line":36,"column":6},"end":{"line":50,"column":10}},"19":{"start":{"line":37,"column":40},"end":{"line":37,"column":117}},"20":{"start":{"line":38,"column":8},"end":{"line":48,"column":9}},"21":{"start":{"line":39,"column":10},"end":{"line":47,"column":12}},"22":{"start":{"line":49,"column":8},"end":{"line":49,"column":20}},"23":{"start":{"line":53,"column":34},"end":{"line":57,"column":3}},"24":{"start":{"line":58,"column":2},"end":{"line":58,"column":18}},"25":{"start":{"line":70,"column":42},"end":{"line":70,"column":131}},"26":{"start":{"line":71,"column":2},"end":{"line":131,"column":3}},"27":{"start":{"line":72,"column":26},"end":{"line":72,"column":63}},"28":{"start":{"line":73,"column":4},"end":{"line":73,"column":68}},"29":{"start":{"line":73,"column":61},"end":{"line":73,"column":68}},"30":{"start":{"line":74,"column":28},"end":{"line":74,"column":47}},"31":{"start":{"line":75,"column":26},"end":{"line":75,"column":87}},"32":{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},"33":{"start":{"line":77,"column":46},"end":{"line":77,"column":53}},"34":{"start":{"line":78,"column":38},"end":{"line":78,"column":42}},"35":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"36":{"start":{"line":80,"column":6},"end":{"line":80,"column":47}},"37":{"start":{"line":81,"column":11},"end":{"line":85,"column":5}},"38":{"start":{"line":82,"column":6},"end":{"line":82,"column":46}},"39":{"start":{"line":83,"column":11},"end":{"line":85,"column":5}},"40":{"start":{"line":84,"column":6},"end":{"line":84,"column":48}},"41":{"start":{"line":87,"column":4},"end":{"line":124,"column":5}},"42":{"start":{"line":88,"column":28},"end":{"line":88,"column":72}},"43":{"start":{"line":89,"column":23},"end":{"line":89,"column":73}},"44":{"start":{"line":90,"column":6},"end":{"line":90,"column":65}},"45":{"start":{"line":93,"column":40},"end":{"line":93,"column":45}},"46":{"start":{"line":95,"column":40},"end":{"line":95,"column":122}},"47":{"start":{"line":96,"column":38},"end":{"line":96,"column":119}},"48":{"start":{"line":98,"column":6},"end":{"line":104,"column":7}},"49":{"start":{"line":99,"column":8},"end":{"line":103,"column":9}},"50":{"start":{"line":100,"column":10},"end":{"line":100,"column":129}},"51":{"start":{"line":102,"column":10},"end":{"line":102,"column":69}},"52":{"start":{"line":109,"column":28},"end":{"line":109,"column":72}},"53":{"start":{"line":110,"column":27},"end":{"line":110,"column":54}},"54":{"start":{"line":112,"column":6},"end":{"line":123,"column":7}},"55":{"start":{"line":114,"column":8},"end":{"line":119,"column":9}},"56":{"start":{"line":115,"column":10},"end":{"line":115,"column":72}},"57":{"start":{"line":117,"column":37},"end":{"line":117,"column":147}},"58":{"start":{"line":118,"column":10},"end":{"line":118,"column":55}},"59":{"start":{"line":121,"column":8},"end":{"line":121,"column":62}},"60":{"start":{"line":122,"column":8},"end":{"line":122,"column":67}},"61":{"start":{"line":125,"column":4},"end":{"line":127,"column":5}},"62":{"start":{"line":126,"column":6},"end":{"line":126,"column":39}},"63":{"start":{"line":128,"column":4},"end":{"line":128,"column":22}},"64":{"start":{"line":130,"column":4},"end":{"line":130,"column":44}}},"fnMap":{"0":{"name":"hasModifier","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":20}},"loc":{"start":{"line":10,"column":41},"end":{"line":12,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":29},"end":{"line":14,"column":30}},"loc":{"start":{"line":14,"column":71},"end":{"line":20,"column":1}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":32}},"loc":{"start":{"line":22,"column":63},"end":{"line":59,"column":1}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":72},"end":{"line":36,"column":73}},"loc":{"start":{"line":36,"column":95},"end":{"line":50,"column":7}},"line":36},"4":{"name":"setColorValuesOnTarget","decl":{"start":{"line":61,"column":30},"end":{"line":61,"column":52}},"loc":{"start":{"line":68,"column":3},"end":{"line":132,"column":1}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":62}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":20}},{"start":{"line":15,"column":24},"end":{"line":15,"column":62}}],"line":15},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":75}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":75}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":46}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":24}},{"start":{"line":16,"column":28},"end":{"line":16,"column":46}}],"line":16},"4":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":72}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":72}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":44}},"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":23}},{"start":{"line":17,"column":27},"end":{"line":17,"column":44}}],"line":17},"6":{"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":78}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":78}},{"start":{},"end":{}}],"line":18},"7":{"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":48}},"type":"binary-expr","locations":[{"start":{"line":18,"column":8},"end":{"line":18,"column":25}},{"start":{"line":18,"column":29},"end":{"line":18,"column":48}}],"line":18},"8":{"loc":{"start":{"line":23,"column":25},"end":{"line":25,"column":19}},"type":"cond-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":24}},{"start":{"line":25,"column":6},"end":{"line":25,"column":19}}],"line":23},"9":{"loc":{"start":{"line":23,"column":25},"end":{"line":23,"column":80}},"type":"binary-expr","locations":[{"start":{"line":23,"column":25},"end":{"line":23,"column":58}},{"start":{"line":23,"column":62},"end":{"line":23,"column":80}}],"line":23},"10":{"loc":{"start":{"line":32,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":52,"column":3}},{"start":{},"end":{}}],"line":32},"11":{"loc":{"start":{"line":35,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":35},"12":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":51}},"type":"binary-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":21}},{"start":{"line":35,"column":25},"end":{"line":35,"column":51}}],"line":35},"13":{"loc":{"start":{"line":38,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":48,"column":9}},{"start":{},"end":{}}],"line":38},"14":{"loc":{"start":{"line":70,"column":42},"end":{"line":70,"column":131}},"type":"binary-expr","locations":[{"start":{"line":70,"column":42},"end":{"line":70,"column":103}},{"start":{"line":70,"column":107},"end":{"line":70,"column":131}}],"line":70},"15":{"loc":{"start":{"line":73,"column":4},"end":{"line":73,"column":68}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":73,"column":68}},{"start":{},"end":{}}],"line":73},"16":{"loc":{"start":{"line":73,"column":8},"end":{"line":73,"column":59}},"type":"binary-expr","locations":[{"start":{"line":73,"column":8},"end":{"line":73,"column":44}},{"start":{"line":73,"column":48},"end":{"line":73,"column":59}}],"line":73},"17":{"loc":{"start":{"line":74,"column":28},"end":{"line":74,"column":47}},"type":"binary-expr","locations":[{"start":{"line":74,"column":28},"end":{"line":74,"column":41}},{"start":{"line":74,"column":45},"end":{"line":74,"column":47}}],"line":74},"18":{"loc":{"start":{"line":75,"column":26},"end":{"line":75,"column":87}},"type":"binary-expr","locations":[{"start":{"line":75,"column":26},"end":{"line":75,"column":36}},{"start":{"line":75,"column":40},"end":{"line":75,"column":87}}],"line":75},"19":{"loc":{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},{"start":{},"end":{}}],"line":77},"20":{"loc":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},{"start":{"line":81,"column":11},"end":{"line":85,"column":5}}],"line":79},"21":{"loc":{"start":{"line":79,"column":8},"end":{"line":79,"column":46}},"type":"binary-expr","locations":[{"start":{"line":79,"column":8},"end":{"line":79,"column":24}},{"start":{"line":79,"column":28},"end":{"line":79,"column":46}}],"line":79},"22":{"loc":{"start":{"line":80,"column":22},"end":{"line":80,"column":46}},"type":"binary-expr","locations":[{"start":{"line":80,"column":22},"end":{"line":80,"column":38}},{"start":{"line":80,"column":42},"end":{"line":80,"column":46}}],"line":80},"23":{"loc":{"start":{"line":81,"column":11},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":81,"column":11},"end":{"line":85,"column":5}},{"start":{"line":83,"column":11},"end":{"line":85,"column":5}}],"line":81},"24":{"loc":{"start":{"line":81,"column":15},"end":{"line":81,"column":83}},"type":"binary-expr","locations":[{"start":{"line":81,"column":15},"end":{"line":81,"column":30}},{"start":{"line":81,"column":34},"end":{"line":81,"column":51}},{"start":{"line":81,"column":55},"end":{"line":81,"column":83}}],"line":81},"25":{"loc":{"start":{"line":82,"column":22},"end":{"line":82,"column":45}},"type":"binary-expr","locations":[{"start":{"line":82,"column":22},"end":{"line":82,"column":37}},{"start":{"line":82,"column":41},"end":{"line":82,"column":45}}],"line":82},"26":{"loc":{"start":{"line":83,"column":11},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":83,"column":11},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":83},"27":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":55}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":32}},{"start":{"line":83,"column":36},"end":{"line":83,"column":55}}],"line":83},"28":{"loc":{"start":{"line":84,"column":22},"end":{"line":84,"column":47}},"type":"binary-expr","locations":[{"start":{"line":84,"column":22},"end":{"line":84,"column":39}},{"start":{"line":84,"column":43},"end":{"line":84,"column":47}}],"line":84},"29":{"loc":{"start":{"line":87,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":124,"column":5}},{"start":{"line":91,"column":11},"end":{"line":124,"column":5}}],"line":87},"30":{"loc":{"start":{"line":95,"column":40},"end":{"line":95,"column":122}},"type":"binary-expr","locations":[{"start":{"line":95,"column":40},"end":{"line":95,"column":80}},{"start":{"line":95,"column":84},"end":{"line":95,"column":122}}],"line":95},"31":{"loc":{"start":{"line":98,"column":6},"end":{"line":104,"column":7}},"type":"if","locations":[{"start":{"line":98,"column":6},"end":{"line":104,"column":7}},{"start":{},"end":{}}],"line":98},"32":{"loc":{"start":{"line":98,"column":10},"end":{"line":98,"column":128}},"type":"binary-expr","locations":[{"start":{"line":98,"column":10},"end":{"line":98,"column":35}},{"start":{"line":98,"column":39},"end":{"line":98,"column":62}},{"start":{"line":98,"column":66},"end":{"line":98,"column":97}},{"start":{"line":98,"column":101},"end":{"line":98,"column":128}}],"line":98},"33":{"loc":{"start":{"line":110,"column":27},"end":{"line":110,"column":54}},"type":"binary-expr","locations":[{"start":{"line":110,"column":27},"end":{"line":110,"column":40}},{"start":{"line":110,"column":44},"end":{"line":110,"column":54}}],"line":110},"34":{"loc":{"start":{"line":112,"column":6},"end":{"line":123,"column":7}},"type":"if","locations":[{"start":{"line":112,"column":6},"end":{"line":123,"column":7}},{"start":{},"end":{}}],"line":112},"35":{"loc":{"start":{"line":114,"column":8},"end":{"line":119,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":119,"column":9}},{"start":{"line":116,"column":15},"end":{"line":119,"column":9}}],"line":114},"36":{"loc":{"start":{"line":117,"column":57},"end":{"line":117,"column":146}},"type":"cond-expr","locations":[{"start":{"line":117,"column":92},"end":{"line":117,"column":104}},{"start":{"line":117,"column":107},"end":{"line":117,"column":146}}],"line":117},"37":{"loc":{"start":{"line":117,"column":107},"end":{"line":117,"column":146}},"type":"binary-expr","locations":[{"start":{"line":117,"column":107},"end":{"line":117,"column":126}},{"start":{"line":117,"column":130},"end":{"line":117,"column":140}},{"start":{"line":117,"column":144},"end":{"line":117,"column":146}}],"line":117},"38":{"loc":{"start":{"line":125,"column":4},"end":{"line":127,"column":5}},"type":"if","locations":[{"start":{"line":125,"column":4},"end":{"line":127,"column":5}},{"start":{},"end":{}}],"line":125},"39":{"loc":{"start":{"line":125,"column":8},"end":{"line":125,"column":46}},"type":"binary-expr","locations":[{"start":{"line":125,"column":8},"end":{"line":125,"column":19}},{"start":{"line":125,"column":23},"end":{"line":125,"column":46}}],"line":125}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0,0],"38":[0,0],"39":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setColorValuesOnVariable.ts","statementMap":{"0":{"start":{"line":7,"column":29},"end":{"line":7,"column":81}},"1":{"start":{"line":7,"column":46},"end":{"line":7,"column":81}},"2":{"start":{"line":9,"column":2},"end":{"line":14,"column":4}},"3":{"start":{"line":18,"column":2},"end":{"line":19,"column":120}},"4":{"start":{"line":23,"column":2},"end":{"line":44,"column":3}},"5":{"start":{"line":24,"column":31},"end":{"line":24,"column":57}},"6":{"start":{"line":25,"column":34},"end":{"line":25,"column":61}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":142}},"8":{"start":{"line":26,"column":135},"end":{"line":26,"column":142}},"9":{"start":{"line":28,"column":26},"end":{"line":28,"column":136}},"10":{"start":{"line":29,"column":21},"end":{"line":29,"column":121}},"11":{"start":{"line":31,"column":4},"end":{"line":39,"column":5}},"12":{"start":{"line":32,"column":6},"end":{"line":38,"column":7}},"13":{"start":{"line":37,"column":8},"end":{"line":37,"column":15}},"14":{"start":{"line":41,"column":4},"end":{"line":41,"column":45}},"15":{"start":{"line":43,"column":4},"end":{"line":43,"column":52}}},"fnMap":{"0":{"name":"normalizeFigmaColor","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":35}},"loc":{"start":{"line":6,"column":99},"end":{"line":15,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":29},"end":{"line":7,"column":30}},"loc":{"start":{"line":7,"column":46},"end":{"line":7,"column":81}},"line":7},"2":{"name":"isFigmaColorObject","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":27}},"loc":{"start":{"line":17,"column":61},"end":{"line":20,"column":1}},"line":17},"3":{"name":"setColorValuesOnVariable","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":48}},"loc":{"start":{"line":22,"column":98},"end":{"line":45,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":9},"end":{"line":19,"column":119}},"type":"binary-expr","locations":[{"start":{"line":18,"column":9},"end":{"line":18,"column":32}},{"start":{"line":18,"column":36},"end":{"line":18,"column":46}},{"start":{"line":18,"column":50},"end":{"line":18,"column":60}},{"start":{"line":18,"column":64},"end":{"line":18,"column":74}},{"start":{"line":18,"column":78},"end":{"line":18,"column":88}},{"start":{"line":19,"column":7},"end":{"line":19,"column":32}},{"start":{"line":19,"column":36},"end":{"line":19,"column":61}},{"start":{"line":19,"column":65},"end":{"line":19,"column":90}},{"start":{"line":19,"column":94},"end":{"line":19,"column":119}}],"line":18},"1":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":142}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":142}},{"start":{},"end":{}}],"line":26},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":133}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":30}},{"start":{"line":26,"column":34},"end":{"line":26,"column":133}}],"line":26},"3":{"loc":{"start":{"line":26,"column":36},"end":{"line":26,"column":132}},"type":"binary-expr","locations":[{"start":{"line":26,"column":36},"end":{"line":26,"column":77}},{"start":{"line":26,"column":81},"end":{"line":26,"column":132}}],"line":26},"4":{"loc":{"start":{"line":28,"column":26},"end":{"line":28,"column":136}},"type":"cond-expr","locations":[{"start":{"line":28,"column":70},"end":{"line":28,"column":112}},{"start":{"line":28,"column":115},"end":{"line":28,"column":136}}],"line":28},"5":{"loc":{"start":{"line":29,"column":21},"end":{"line":29,"column":121}},"type":"cond-expr","locations":[{"start":{"line":29,"column":49},"end":{"line":29,"column":94}},{"start":{"line":29,"column":97},"end":{"line":29,"column":121}}],"line":29},"6":{"loc":{"start":{"line":31,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":73}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":41}},{"start":{"line":31,"column":45},"end":{"line":31,"column":73}}],"line":31},"8":{"loc":{"start":{"line":32,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":38,"column":7}},{"start":{},"end":{}}],"line":32},"9":{"loc":{"start":{"line":32,"column":10},"end":{"line":35,"column":43}},"type":"binary-expr","locations":[{"start":{"line":32,"column":11},"end":{"line":32,"column":41}},{"start":{"line":33,"column":12},"end":{"line":33,"column":42}},{"start":{"line":34,"column":12},"end":{"line":34,"column":42}},{"start":{"line":35,"column":12},"end":{"line":35,"column":42}}],"line":32}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setEffectValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setEffectValuesOnTarget.ts","statementMap":{"0":{"start":{"line":20,"column":2},"end":{"line":29,"column":3}},"1":{"start":{"line":22,"column":6},"end":{"line":22,"column":54}},"2":{"start":{"line":24,"column":6},"end":{"line":24,"column":54}},"3":{"start":{"line":26,"column":6},"end":{"line":26,"column":53}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":48}},"5":{"start":{"line":42,"column":42},"end":{"line":42,"column":131}},"6":{"start":{"line":44,"column":32},"end":{"line":44,"column":64}},"7":{"start":{"line":45,"column":22},"end":{"line":45,"column":27}},"8":{"start":{"line":47,"column":23},"end":{"line":61,"column":3}},"9":{"start":{"line":62,"column":2},"end":{"line":77,"column":3}},"10":{"start":{"line":63,"column":4},"end":{"line":74,"column":5}},"11":{"start":{"line":64,"column":6},"end":{"line":73,"column":7}},"12":{"start":{"line":65,"column":32},"end":{"line":65,"column":103}},"13":{"start":{"line":66,"column":8},"end":{"line":72,"column":9}},"14":{"start":{"line":67,"column":32},"end":{"line":67,"column":138}},"15":{"start":{"line":68,"column":10},"end":{"line":71,"column":12}},"16":{"start":{"line":76,"column":4},"end":{"line":76,"column":21}},"17":{"start":{"line":78,"column":2},"end":{"line":78,"column":16}},"18":{"start":{"line":87,"column":2},"end":{"line":121,"column":3}},"19":{"start":{"line":88,"column":26},"end":{"line":88,"column":63}},"20":{"start":{"line":89,"column":4},"end":{"line":89,"column":53}},"21":{"start":{"line":89,"column":46},"end":{"line":89,"column":53}},"22":{"start":{"line":90,"column":35},"end":{"line":90,"column":48}},"23":{"start":{"line":91,"column":48},"end":{"line":91,"column":114}},"24":{"start":{"line":92,"column":4},"end":{"line":92,"column":53}},"25":{"start":{"line":92,"column":46},"end":{"line":92,"column":53}},"26":{"start":{"line":94,"column":4},"end":{"line":113,"column":5}},"27":{"start":{"line":95,"column":27},"end":{"line":100,"column":9}},"28":{"start":{"line":96,"column":26},"end":{"line":98,"column":10}},"29":{"start":{"line":99,"column":8},"end":{"line":99,"column":25}},"30":{"start":{"line":102,"column":6},"end":{"line":102,"column":92}},"31":{"start":{"line":102,"column":52},"end":{"line":102,"column":92}},"32":{"start":{"line":103,"column":11},"end":{"line":113,"column":5}},"33":{"start":{"line":104,"column":6},"end":{"line":112,"column":7}},"34":{"start":{"line":105,"column":26},"end":{"line":107,"column":10}},"35":{"start":{"line":108,"column":8},"end":{"line":110,"column":10}},"36":{"start":{"line":111,"column":8},"end":{"line":111,"column":26}},"37":{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},"38":{"start":{"line":116,"column":6},"end":{"line":116,"column":39}},"39":{"start":{"line":119,"column":4},"end":{"line":119,"column":45}},"40":{"start":{"line":120,"column":4},"end":{"line":120,"column":21}}},"fnMap":{"0":{"name":"transformShadowKeyToFigmaVariable","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":42}},"loc":{"start":{"line":19,"column":85},"end":{"line":30,"column":1}},"line":19},"1":{"name":"tryApplyCompositeVariable","decl":{"start":{"line":32,"column":15},"end":{"line":32,"column":40}},"loc":{"start":{"line":39,"column":3},"end":{"line":79,"column":1}},"line":39},"2":{"name":"setEffectValuesOnTarget","decl":{"start":{"line":81,"column":30},"end":{"line":81,"column":53}},"loc":{"start":{"line":86,"column":2},"end":{"line":122,"column":1}},"line":86},"3":{"name":"(anonymous_3)","decl":{"start":{"line":95,"column":55},"end":{"line":95,"column":56}},"loc":{"start":{"line":95,"column":71},"end":{"line":100,"column":7}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":29,"column":3}},"type":"switch","locations":[{"start":{"line":21,"column":4},"end":{"line":22,"column":54}},{"start":{"line":23,"column":4},"end":{"line":24,"column":54}},{"start":{"line":25,"column":4},"end":{"line":26,"column":53}},{"start":{"line":27,"column":4},"end":{"line":28,"column":48}}],"line":20},"1":{"loc":{"start":{"line":42,"column":42},"end":{"line":42,"column":131}},"type":"binary-expr","locations":[{"start":{"line":42,"column":42},"end":{"line":42,"column":103}},{"start":{"line":42,"column":107},"end":{"line":42,"column":131}}],"line":42},"2":{"loc":{"start":{"line":58,"column":16},"end":{"line":58,"column":43}},"type":"binary-expr","locations":[{"start":{"line":58,"column":16},"end":{"line":58,"column":31}},{"start":{"line":58,"column":35},"end":{"line":58,"column":43}}],"line":58},"3":{"loc":{"start":{"line":60,"column":7},"end":{"line":60,"column":139}},"type":"cond-expr","locations":[{"start":{"line":60,"column":60},"end":{"line":60,"column":134}},{"start":{"line":60,"column":137},"end":{"line":60,"column":139}}],"line":60},"4":{"loc":{"start":{"line":60,"column":7},"end":{"line":60,"column":57}},"type":"binary-expr","locations":[{"start":{"line":60,"column":7},"end":{"line":60,"column":34}},{"start":{"line":60,"column":38},"end":{"line":60,"column":57}}],"line":60},"5":{"loc":{"start":{"line":64,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":73,"column":7}},{"start":{},"end":{}}],"line":64},"6":{"loc":{"start":{"line":64,"column":10},"end":{"line":64,"column":107}},"type":"binary-expr","locations":[{"start":{"line":64,"column":10},"end":{"line":64,"column":40}},{"start":{"line":64,"column":44},"end":{"line":64,"column":72}},{"start":{"line":64,"column":76},"end":{"line":64,"column":107}}],"line":64},"7":{"loc":{"start":{"line":66,"column":8},"end":{"line":72,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":72,"column":9}},{"start":{},"end":{}}],"line":66},"8":{"loc":{"start":{"line":85,"column":2},"end":{"line":85,"column":28}},"type":"default-arg","locations":[{"start":{"line":85,"column":19},"end":{"line":85,"column":28}}],"line":85},"9":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":53}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":53}},{"start":{},"end":{}}],"line":89},"10":{"loc":{"start":{"line":92,"column":4},"end":{"line":92,"column":53}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":92,"column":53}},{"start":{},"end":{}}],"line":92},"11":{"loc":{"start":{"line":94,"column":4},"end":{"line":113,"column":5}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":113,"column":5}},{"start":{"line":103,"column":11},"end":{"line":113,"column":5}}],"line":94},"12":{"loc":{"start":{"line":102,"column":6},"end":{"line":102,"column":92}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":102,"column":92}},{"start":{},"end":{}}],"line":102},"13":{"loc":{"start":{"line":102,"column":10},"end":{"line":102,"column":50}},"type":"binary-expr","locations":[{"start":{"line":102,"column":10},"end":{"line":102,"column":29}},{"start":{"line":102,"column":33},"end":{"line":102,"column":50}}],"line":102},"14":{"loc":{"start":{"line":103,"column":11},"end":{"line":113,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":11},"end":{"line":113,"column":5}},{"start":{},"end":{}}],"line":103},"15":{"loc":{"start":{"line":104,"column":6},"end":{"line":112,"column":7}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":112,"column":7}},{"start":{},"end":{}}],"line":104},"16":{"loc":{"start":{"line":104,"column":10},"end":{"line":104,"column":50}},"type":"binary-expr","locations":[{"start":{"line":104,"column":10},"end":{"line":104,"column":29}},{"start":{"line":104,"column":33},"end":{"line":104,"column":50}}],"line":104},"17":{"loc":{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},"type":"if","locations":[{"start":{"line":115,"column":4},"end":{"line":117,"column":5}},{"start":{},"end":{}}],"line":115},"18":{"loc":{"start":{"line":115,"column":8},"end":{"line":115,"column":46}},"type":"binary-expr","locations":[{"start":{"line":115,"column":8},"end":{"line":115,"column":19}},{"start":{"line":115,"column":23},"end":{"line":115,"column":46}}],"line":115}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setFontStyleOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setFontStyleOnTarget.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":6,"column":38}},"1":{"start":{"line":6,"column":31},"end":{"line":6,"column":38}},"2":{"start":{"line":9,"column":6},"end":{"line":9,"column":11}},"3":{"start":{"line":11,"column":17},"end":{"line":11,"column":106}},"4":{"start":{"line":12,"column":16},"end":{"line":12,"column":104}},"5":{"start":{"line":14,"column":2},"end":{"line":70,"column":3}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":49}},"7":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"8":{"start":{"line":17,"column":6},"end":{"line":20,"column":8}},"9":{"start":{"line":23,"column":28},"end":{"line":23,"column":45}},"10":{"start":{"line":24,"column":28},"end":{"line":24,"column":78}},"11":{"start":{"line":25,"column":65},"end":{"line":25,"column":67}},"12":{"start":{"line":26,"column":4},"end":{"line":41,"column":7}},"13":{"start":{"line":27,"column":35},"end":{"line":27,"column":83}},"14":{"start":{"line":28,"column":6},"end":{"line":40,"column":7}},"15":{"start":{"line":29,"column":8},"end":{"line":34,"column":11}},"16":{"start":{"line":30,"column":10},"end":{"line":33,"column":13}},"17":{"start":{"line":36,"column":8},"end":{"line":39,"column":11}},"18":{"start":{"line":43,"column":21},"end":{"line":43,"column":26}},"19":{"start":{"line":45,"column":4},"end":{"line":66,"column":5}},"20":{"start":{"line":45,"column":17},"end":{"line":45,"column":18}},"21":{"start":{"line":46,"column":22},"end":{"line":46,"column":27}},"22":{"start":{"line":47,"column":6},"end":{"line":61,"column":11}},"23":{"start":{"line":50,"column":10},"end":{"line":56,"column":11}},"24":{"start":{"line":51,"column":12},"end":{"line":54,"column":14}},"25":{"start":{"line":55,"column":12},"end":{"line":55,"column":29}},"26":{"start":{"line":60,"column":10},"end":{"line":60,"column":28}},"27":{"start":{"line":62,"column":6},"end":{"line":65,"column":7}},"28":{"start":{"line":63,"column":8},"end":{"line":63,"column":27}},"29":{"start":{"line":64,"column":8},"end":{"line":64,"column":14}},"30":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"31":{"start":{"line":68,"column":6},"end":{"line":68,"column":86}}},"fnMap":{"0":{"name":"setFontStyleOnTarget","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":42}},"loc":{"start":{"line":5,"column":200},"end":{"line":71,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":29},"end":{"line":26,"column":30}},"loc":{"start":{"line":26,"column":54},"end":{"line":41,"column":5}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":32},"end":{"line":29,"column":33}},"loc":{"start":{"line":29,"column":52},"end":{"line":34,"column":9}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":14},"end":{"line":49,"column":15}},"loc":{"start":{"line":49,"column":20},"end":{"line":57,"column":9}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":15},"end":{"line":59,"column":16}},"loc":{"start":{"line":59,"column":21},"end":{"line":61,"column":9}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":38}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":38}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":11,"column":17},"end":{"line":11,"column":106}},"type":"binary-expr","locations":[{"start":{"line":11,"column":17},"end":{"line":11,"column":39}},{"start":{"line":11,"column":44},"end":{"line":11,"column":105}}],"line":11},"2":{"loc":{"start":{"line":11,"column":44},"end":{"line":11,"column":105}},"type":"cond-expr","locations":[{"start":{"line":11,"column":78},"end":{"line":11,"column":100}},{"start":{"line":11,"column":103},"end":{"line":11,"column":105}}],"line":11},"3":{"loc":{"start":{"line":12,"column":16},"end":{"line":12,"column":104}},"type":"binary-expr","locations":[{"start":{"line":12,"column":16},"end":{"line":12,"column":38}},{"start":{"line":12,"column":43},"end":{"line":12,"column":103}}],"line":12},"4":{"loc":{"start":{"line":12,"column":43},"end":{"line":12,"column":103}},"type":"cond-expr","locations":[{"start":{"line":12,"column":77},"end":{"line":12,"column":98}},{"start":{"line":12,"column":101},"end":{"line":12,"column":103}}],"line":12},"5":{"loc":{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":21,"column":5}},{"start":{},"end":{}}],"line":16},"6":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":32}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":18}},{"start":{"line":16,"column":22},"end":{"line":16,"column":32}}],"line":16},"7":{"loc":{"start":{"line":28,"column":6},"end":{"line":40,"column":7}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":40,"column":7}},{"start":{"line":35,"column":13},"end":{"line":40,"column":7}}],"line":28},"8":{"loc":{"start":{"line":50,"column":10},"end":{"line":56,"column":11}},"type":"if","locations":[{"start":{"line":50,"column":10},"end":{"line":56,"column":11}},{"start":{},"end":{}}],"line":50},"9":{"loc":{"start":{"line":62,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":62},"10":{"loc":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setImageValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setImageValuesOnTarget.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":33,"column":3}},"1":{"start":{"line":9,"column":35},"end":{"line":9,"column":40}},"2":{"start":{"line":10,"column":4},"end":{"line":26,"column":5}},"3":{"start":{"line":11,"column":31},"end":{"line":16,"column":10}},"4":{"start":{"line":12,"column":28},"end":{"line":12,"column":50}},"5":{"start":{"line":14,"column":10},"end":{"line":14,"column":60}},"6":{"start":{"line":15,"column":10},"end":{"line":15,"column":22}},"7":{"start":{"line":17,"column":6},"end":{"line":25,"column":7}},"8":{"start":{"line":18,"column":22},"end":{"line":18,"column":73}},"9":{"start":{"line":19,"column":25},"end":{"line":23,"column":18}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":34}},"11":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"12":{"start":{"line":29,"column":6},"end":{"line":29,"column":39}},"13":{"start":{"line":32,"column":4},"end":{"line":32,"column":44}}},"fnMap":{"0":{"name":"setImageValuesOnTarget","decl":{"start":{"line":4,"column":30},"end":{"line":4,"column":52}},"loc":{"start":{"line":7,"column":2},"end":{"line":34,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":14},"end":{"line":12,"column":15}},"loc":{"start":{"line":12,"column":28},"end":{"line":12,"column":50}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":15},"end":{"line":13,"column":16}},"loc":{"start":{"line":13,"column":21},"end":{"line":16,"column":9}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":10,"column":8},"end":{"line":10,"column":57}},"type":"binary-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":25}},{"start":{"line":10,"column":29},"end":{"line":10,"column":57}}],"line":10},"2":{"loc":{"start":{"line":17,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":28},"4":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":46}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":19}},{"start":{"line":28,"column":23},"end":{"line":28,"column":46}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setNumberValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setNumberValuesOnVariable.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":65}},"3":{"start":{"line":8,"column":34},"end":{"line":8,"column":61}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":155}},"5":{"start":{"line":9,"column":148},"end":{"line":9,"column":155}},"6":{"start":{"line":11,"column":21},"end":{"line":11,"column":26}},"7":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":47}},"9":{"start":{"line":17,"column":4},"end":{"line":17,"column":80}}},"fnMap":{"0":{"name":"setNumberValuesOnVariable","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"loc":{"start":{"line":3,"column":99},"end":{"line":19,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":155}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":155}},{"start":{},"end":{}}],"line":9},"2":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":146}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":43}},{"start":{"line":9,"column":47},"end":{"line":9,"column":146}}],"line":9},"3":{"loc":{"start":{"line":9,"column":49},"end":{"line":9,"column":145}},"type":"binary-expr","locations":[{"start":{"line":9,"column":49},"end":{"line":9,"column":90}},{"start":{"line":9,"column":94},"end":{"line":9,"column":145}}],"line":9},"4":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setStringValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setStringValuesOnVariable.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":5,"column":34},"end":{"line":5,"column":61}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":142}},"3":{"start":{"line":6,"column":135},"end":{"line":6,"column":142}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":44}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":53}}},"fnMap":{"0":{"name":"setStringValuesOnVariable","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"loc":{"start":{"line":3,"column":99},"end":{"line":14,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":142}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":142}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":6,"column":8},"end":{"line":6,"column":133}},"type":"binary-expr","locations":[{"start":{"line":6,"column":8},"end":{"line":6,"column":30}},{"start":{"line":6,"column":34},"end":{"line":6,"column":133}}],"line":6},"2":{"loc":{"start":{"line":6,"column":36},"end":{"line":6,"column":132}},"type":"binary-expr","locations":[{"start":{"line":6,"column":36},"end":{"line":6,"column":77}},{"start":{"line":6,"column":81},"end":{"line":6,"column":132}}],"line":6},"3":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setTextValuesOnTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setTextValuesOnTarget.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":25,"column":3}},"1":{"start":{"line":11,"column":26},"end":{"line":11,"column":63}},"2":{"start":{"line":12,"column":4},"end":{"line":12,"column":53}},"3":{"start":{"line":12,"column":46},"end":{"line":12,"column":53}},"4":{"start":{"line":13,"column":35},"end":{"line":13,"column":48}},"5":{"start":{"line":14,"column":52},"end":{"line":14,"column":118}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"7":{"start":{"line":15,"column":46},"end":{"line":15,"column":53}},"8":{"start":{"line":17,"column":4},"end":{"line":22,"column":5}},"9":{"start":{"line":18,"column":6},"end":{"line":20,"column":9}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":83}},"11":{"start":{"line":21,"column":50},"end":{"line":21,"column":83}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":66}}},"fnMap":{"0":{"name":"setTextValuesOnTarget","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":43}},"loc":{"start":{"line":9,"column":2},"end":{"line":26,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":29}},"type":"default-arg","locations":[{"start":{"line":8,"column":25},"end":{"line":8,"column":29}}],"line":8},"1":{"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":53}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":12,"column":53}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},{"start":{},"end":{}}],"line":15},"3":{"loc":{"start":{"line":17,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":17},"4":{"loc":{"start":{"line":21,"column":6},"end":{"line":21,"column":83}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":83}},{"start":{},"end":{}}],"line":21},"5":{"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":48}},"type":"binary-expr","locations":[{"start":{"line":21,"column":10},"end":{"line":21,"column":33}},{"start":{"line":21,"column":37},"end":{"line":21,"column":48}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnNode.ts","statementMap":{"0":{"start":{"line":36,"column":2},"end":{"line":69,"column":3}},"1":{"start":{"line":37,"column":4},"end":{"line":66,"column":5}},"2":{"start":{"line":43,"column":6},"end":{"line":48,"column":9}},"3":{"start":{"line":44,"column":8},"end":{"line":47,"column":9}},"4":{"start":{"line":45,"column":10},"end":{"line":45,"column":56}},"5":{"start":{"line":46,"column":10},"end":{"line":46,"column":29}},"6":{"start":{"line":49,"column":6},"end":{"line":49,"column":70}},"7":{"start":{"line":50,"column":6},"end":{"line":50,"column":76}},"8":{"start":{"line":51,"column":6},"end":{"line":51,"column":70}},"9":{"start":{"line":52,"column":6},"end":{"line":52,"column":78}},"10":{"start":{"line":53,"column":6},"end":{"line":53,"column":75}},"11":{"start":{"line":54,"column":6},"end":{"line":54,"column":71}},"12":{"start":{"line":55,"column":6},"end":{"line":55,"column":70}},"13":{"start":{"line":56,"column":6},"end":{"line":56,"column":71}},"14":{"start":{"line":57,"column":6},"end":{"line":57,"column":72}},"15":{"start":{"line":58,"column":6},"end":{"line":58,"column":54}},"16":{"start":{"line":59,"column":6},"end":{"line":59,"column":71}},"17":{"start":{"line":60,"column":6},"end":{"line":60,"column":73}},"18":{"start":{"line":61,"column":6},"end":{"line":61,"column":60}},"19":{"start":{"line":62,"column":6},"end":{"line":62,"column":78}},"20":{"start":{"line":63,"column":6},"end":{"line":63,"column":75}},"21":{"start":{"line":64,"column":6},"end":{"line":64,"column":62}},"22":{"start":{"line":65,"column":6},"end":{"line":65,"column":63}},"23":{"start":{"line":68,"column":4},"end":{"line":68,"column":49}}},"fnMap":{"0":{"name":"setValuesOnNode","decl":{"start":{"line":25,"column":30},"end":{"line":25,"column":45}},"loc":{"start":{"line":35,"column":3},"end":{"line":70,"column":1}},"line":35},"1":{"name":"(anonymous_1)","decl":{"start":{"line":43,"column":37},"end":{"line":43,"column":38}},"loc":{"start":{"line":43,"column":55},"end":{"line":48,"column":7}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":2},"end":{"line":29,"column":36}},"type":"default-arg","locations":[{"start":{"line":29,"column":17},"end":{"line":29,"column":36}}],"line":29},"1":{"loc":{"start":{"line":37,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":37},"2":{"loc":{"start":{"line":38,"column":6},"end":{"line":41,"column":35}},"type":"binary-expr","locations":[{"start":{"line":38,"column":6},"end":{"line":38,"column":31}},{"start":{"line":39,"column":9},"end":{"line":39,"column":40}},{"start":{"line":40,"column":9},"end":{"line":40,"column":31}},{"start":{"line":41,"column":9},"end":{"line":41,"column":35}}],"line":38},"3":{"loc":{"start":{"line":44,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":47,"column":9}},{"start":{},"end":{}}],"line":44}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/setValuesOnVariable.ts","statementMap":{"0":{"start":{"line":25,"column":49},"end":{"line":25,"column":51}},"1":{"start":{"line":26,"column":63},"end":{"line":26,"column":65}},"2":{"start":{"line":27,"column":40},"end":{"line":27,"column":42}},"3":{"start":{"line":28,"column":2},"end":{"line":100,"column":3}},"4":{"start":{"line":29,"column":4},"end":{"line":97,"column":8}},"5":{"start":{"line":30,"column":27},"end":{"line":30,"column":82}},"6":{"start":{"line":34,"column":23},"end":{"line":34,"column":191}},"7":{"start":{"line":34,"column":52},"end":{"line":34,"column":118}},"8":{"start":{"line":36,"column":6},"end":{"line":96,"column":7}},"9":{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},"10":{"start":{"line":39,"column":10},"end":{"line":39,"column":49}},"11":{"start":{"line":40,"column":10},"end":{"line":40,"column":37}},"12":{"start":{"line":42,"column":8},"end":{"line":48,"column":9}},"13":{"start":{"line":49,"column":8},"end":{"line":49,"column":55}},"14":{"start":{"line":51,"column":8},"end":{"line":81,"column":9}},"15":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"16":{"start":{"line":54,"column":14},"end":{"line":54,"column":70}},"17":{"start":{"line":56,"column":12},"end":{"line":56,"column":18}},"18":{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},"19":{"start":{"line":59,"column":14},"end":{"line":59,"column":68}},"20":{"start":{"line":61,"column":12},"end":{"line":61,"column":18}},"21":{"start":{"line":63,"column":26},"end":{"line":63,"column":45}},"22":{"start":{"line":64,"column":12},"end":{"line":67,"column":13}},"23":{"start":{"line":65,"column":39},"end":{"line":65,"column":92}},"24":{"start":{"line":66,"column":14},"end":{"line":66,"column":82}},"25":{"start":{"line":68,"column":12},"end":{"line":68,"column":18}},"26":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"27":{"start":{"line":72,"column":14},"end":{"line":72,"column":69}},"28":{"start":{"line":75,"column":19},"end":{"line":77,"column":13}},"29":{"start":{"line":76,"column":14},"end":{"line":76,"column":72}},"30":{"start":{"line":78,"column":12},"end":{"line":78,"column":18}},"31":{"start":{"line":80,"column":12},"end":{"line":80,"column":18}},"32":{"start":{"line":82,"column":41},"end":{"line":82,"column":43}},"33":{"start":{"line":83,"column":8},"end":{"line":87,"column":9}},"34":{"start":{"line":84,"column":10},"end":{"line":84,"column":105}},"35":{"start":{"line":86,"column":10},"end":{"line":86,"column":71}},"36":{"start":{"line":88,"column":8},"end":{"line":88,"column":50}},"37":{"start":{"line":89,"column":8},"end":{"line":95,"column":9}},"38":{"start":{"line":90,"column":10},"end":{"line":94,"column":13}},"39":{"start":{"line":99,"column":4},"end":{"line":99,"column":58}},"40":{"start":{"line":102,"column":2},"end":{"line":106,"column":4}}},"fnMap":{"0":{"name":"setValuesOnVariable","decl":{"start":{"line":17,"column":30},"end":{"line":17,"column":49}},"loc":{"start":{"line":24,"column":2},"end":{"line":107,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":33},"end":{"line":29,"column":34}},"loc":{"start":{"line":29,"column":50},"end":{"line":97,"column":5}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":45},"end":{"line":34,"column":46}},"loc":{"start":{"line":34,"column":52},"end":{"line":34,"column":118}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":22}},"type":"default-arg","locations":[{"start":{"line":23,"column":17},"end":{"line":23,"column":22}}],"line":23},"1":{"loc":{"start":{"line":34,"column":23},"end":{"line":34,"column":191}},"type":"binary-expr","locations":[{"start":{"line":34,"column":23},"end":{"line":34,"column":119}},{"start":{"line":34,"column":123},"end":{"line":34,"column":191}}],"line":34},"2":{"loc":{"start":{"line":34,"column":52},"end":{"line":34,"column":118}},"type":"binary-expr","locations":[{"start":{"line":34,"column":53},"end":{"line":34,"column":79}},{"start":{"line":34,"column":83},"end":{"line":34,"column":92}},{"start":{"line":34,"column":97},"end":{"line":34,"column":118}}],"line":34},"3":{"loc":{"start":{"line":36,"column":6},"end":{"line":96,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":96,"column":7}},{"start":{},"end":{}}],"line":36},"4":{"loc":{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},{"start":{},"end":{}}],"line":38},"5":{"loc":{"start":{"line":38,"column":12},"end":{"line":38,"column":56}},"type":"binary-expr","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":40}},{"start":{"line":38,"column":44},"end":{"line":38,"column":56}}],"line":38},"6":{"loc":{"start":{"line":42,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":48,"column":9}},{"start":{},"end":{}}],"line":42},"7":{"loc":{"start":{"line":49,"column":31},"end":{"line":49,"column":54}},"type":"binary-expr","locations":[{"start":{"line":49,"column":31},"end":{"line":49,"column":48}},{"start":{"line":49,"column":52},"end":{"line":49,"column":54}}],"line":49},"8":{"loc":{"start":{"line":51,"column":8},"end":{"line":81,"column":9}},"type":"switch","locations":[{"start":{"line":52,"column":10},"end":{"line":56,"column":18}},{"start":{"line":57,"column":10},"end":{"line":61,"column":18}},{"start":{"line":62,"column":10},"end":{"line":69,"column":11}},{"start":{"line":70,"column":10},"end":{"line":78,"column":18}},{"start":{"line":79,"column":10},"end":{"line":80,"column":18}}],"line":51},"9":{"loc":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},{"start":{},"end":{}}],"line":53},"10":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":77}},"type":"binary-expr","locations":[{"start":{"line":53,"column":16},"end":{"line":53,"column":47}},{"start":{"line":53,"column":51},"end":{"line":53,"column":77}}],"line":53},"11":{"loc":{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},"type":"if","locations":[{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},{"start":{},"end":{}}],"line":58},"12":{"loc":{"start":{"line":58,"column":16},"end":{"line":58,"column":77}},"type":"binary-expr","locations":[{"start":{"line":58,"column":16},"end":{"line":58,"column":47}},{"start":{"line":58,"column":51},"end":{"line":58,"column":77}}],"line":58},"13":{"loc":{"start":{"line":64,"column":12},"end":{"line":67,"column":13}},"type":"if","locations":[{"start":{"line":64,"column":12},"end":{"line":67,"column":13}},{"start":{},"end":{}}],"line":64},"14":{"loc":{"start":{"line":64,"column":16},"end":{"line":64,"column":65}},"type":"binary-expr","locations":[{"start":{"line":64,"column":16},"end":{"line":64,"column":41}},{"start":{"line":64,"column":45},"end":{"line":64,"column":65}}],"line":64},"15":{"loc":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},{"start":{"line":75,"column":19},"end":{"line":77,"column":13}}],"line":71},"16":{"loc":{"start":{"line":71,"column":16},"end":{"line":71,"column":77}},"type":"binary-expr","locations":[{"start":{"line":71,"column":16},"end":{"line":71,"column":47}},{"start":{"line":71,"column":51},"end":{"line":71,"column":77}}],"line":71},"17":{"loc":{"start":{"line":75,"column":19},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":75,"column":19},"end":{"line":77,"column":13}},{"start":{},"end":{}}],"line":75},"18":{"loc":{"start":{"line":75,"column":23},"end":{"line":75,"column":91}},"type":"binary-expr","locations":[{"start":{"line":75,"column":23},"end":{"line":75,"column":61}},{"start":{"line":75,"column":65},"end":{"line":75,"column":91}}],"line":75},"19":{"loc":{"start":{"line":83,"column":8},"end":{"line":87,"column":9}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":87,"column":9}},{"start":{"line":85,"column":15},"end":{"line":87,"column":9}}],"line":83},"20":{"loc":{"start":{"line":83,"column":12},"end":{"line":83,"column":72}},"type":"binary-expr","locations":[{"start":{"line":83,"column":12},"end":{"line":83,"column":26}},{"start":{"line":83,"column":30},"end":{"line":83,"column":72}}],"line":83},"21":{"loc":{"start":{"line":89,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":89,"column":8},"end":{"line":95,"column":9}},{"start":{},"end":{}}],"line":89},"22":{"loc":{"start":{"line":89,"column":12},"end":{"line":89,"column":53}},"type":"binary-expr","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":17}},{"start":{"line":89,"column":21},"end":{"line":89,"column":53}}],"line":89}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/store.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/store.ts","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/transformTypographyKeyToFigmaVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/transformTypographyKeyToFigmaVariable.ts","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":4,"column":4},"end":{"line":4,"column":70}},"2":{"start":{"line":4,"column":50},"end":{"line":4,"column":70}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":23}},"4":{"start":{"line":7,"column":2},"end":{"line":7,"column":42}}},"fnMap":{"0":{"name":"transformTypographyKeyToFigmaVariable","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":53}},"loc":{"start":{"line":1,"column":122},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":3},"1":{"loc":{"start":{"line":3,"column":6},"end":{"line":3,"column":45}},"type":"binary-expr","locations":[{"start":{"line":3,"column":6},"end":{"line":3,"column":26}},{"start":{"line":3,"column":30},"end":{"line":3,"column":45}}],"line":3},"2":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":70}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":70}},{"start":{},"end":{}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/tryApplyTypographyCompositeVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/tryApplyTypographyCompositeVariable.ts","statementMap":{"0":{"start":{"line":19,"column":45},"end":{"line":19,"column":71}},"1":{"start":{"line":20,"column":40},"end":{"line":20,"column":117}},"2":{"start":{"line":21,"column":18},"end":{"line":21,"column":39}},"3":{"start":{"line":22,"column":42},"end":{"line":22,"column":163}},"4":{"start":{"line":24,"column":2},"end":{"line":24,"column":40}},"5":{"start":{"line":24,"column":33},"end":{"line":24,"column":40}},"6":{"start":{"line":26,"column":2},"end":{"line":75,"column":3}},"7":{"start":{"line":28,"column":4},"end":{"line":72,"column":5}},"8":{"start":{"line":28,"column":85},"end":{"line":28,"column":116}},"9":{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},"10":{"start":{"line":29,"column":38},"end":{"line":29,"column":45}},"11":{"start":{"line":30,"column":40},"end":{"line":30,"column":45}},"12":{"start":{"line":31,"column":6},"end":{"line":56,"column":7}},"13":{"start":{"line":32,"column":32},"end":{"line":32,"column":137}},"14":{"start":{"line":33,"column":20},"end":{"line":33,"column":87}},"15":{"start":{"line":37,"column":8},"end":{"line":45,"column":9}},"16":{"start":{"line":38,"column":37},"end":{"line":38,"column":83}},"17":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"18":{"start":{"line":40,"column":34},"end":{"line":40,"column":141}},"19":{"start":{"line":40,"column":97},"end":{"line":40,"column":140}},"20":{"start":{"line":41,"column":12},"end":{"line":43,"column":13}},"21":{"start":{"line":42,"column":14},"end":{"line":42,"column":55}},"22":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"23":{"start":{"line":47,"column":10},"end":{"line":47,"column":90}},"24":{"start":{"line":47,"column":47},"end":{"line":47,"column":90}},"25":{"start":{"line":48,"column":10},"end":{"line":54,"column":11}},"26":{"start":{"line":49,"column":12},"end":{"line":49,"column":58}},"27":{"start":{"line":50,"column":12},"end":{"line":50,"column":47}},"28":{"start":{"line":53,"column":12},"end":{"line":53,"column":79}},"29":{"start":{"line":58,"column":6},"end":{"line":71,"column":7}},"30":{"start":{"line":60,"column":8},"end":{"line":70,"column":9}},"31":{"start":{"line":61,"column":10},"end":{"line":63,"column":11}},"32":{"start":{"line":62,"column":12},"end":{"line":62,"column":130}},"33":{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},"34":{"start":{"line":65,"column":47},"end":{"line":65,"column":90}},"35":{"start":{"line":66,"column":35},"end":{"line":66,"column":96}},"36":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"37":{"start":{"line":68,"column":12},"end":{"line":68,"column":51}},"38":{"start":{"line":74,"column":4},"end":{"line":74,"column":21}}},"fnMap":{"0":{"name":"tryApplyTypographyCompositeVariable","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":57}},"loc":{"start":{"line":16,"column":3},"end":{"line":76,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":66},"end":{"line":28,"column":67}},"loc":{"start":{"line":28,"column":85},"end":{"line":28,"column":116}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":87},"end":{"line":40,"column":88}},"loc":{"start":{"line":40,"column":97},"end":{"line":40,"column":140}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":42},"end":{"line":22,"column":163}},"type":"binary-expr","locations":[{"start":{"line":22,"column":43},"end":{"line":22,"column":50}},{"start":{"line":22,"column":54},"end":{"line":22,"column":115}},{"start":{"line":22,"column":121},"end":{"line":22,"column":129}},{"start":{"line":22,"column":133},"end":{"line":22,"column":162}}],"line":22},"1":{"loc":{"start":{"line":24,"column":2},"end":{"line":24,"column":40}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":24,"column":40}},{"start":{},"end":{}}],"line":24},"2":{"loc":{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},{"start":{},"end":{}}],"line":29},"3":{"loc":{"start":{"line":31,"column":6},"end":{"line":56,"column":7}},"type":"if","locations":[{"start":{"line":31,"column":6},"end":{"line":56,"column":7}},{"start":{},"end":{}}],"line":31},"4":{"loc":{"start":{"line":31,"column":10},"end":{"line":31,"column":154}},"type":"binary-expr","locations":[{"start":{"line":31,"column":10},"end":{"line":31,"column":64}},{"start":{"line":31,"column":68},"end":{"line":31,"column":119}},{"start":{"line":31,"column":123},"end":{"line":31,"column":154}}],"line":31},"5":{"loc":{"start":{"line":37,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":45,"column":9}},{"start":{},"end":{}}],"line":37},"6":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":51}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":32}},{"start":{"line":37,"column":36},"end":{"line":37,"column":51}}],"line":37},"7":{"loc":{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},"type":"if","locations":[{"start":{"line":39,"column":10},"end":{"line":44,"column":11}},{"start":{},"end":{}}],"line":39},"8":{"loc":{"start":{"line":40,"column":35},"end":{"line":40,"column":78}},"type":"binary-expr","locations":[{"start":{"line":40,"column":35},"end":{"line":40,"column":72}},{"start":{"line":40,"column":76},"end":{"line":40,"column":78}}],"line":40},"9":{"loc":{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":55,"column":9}},{"start":{},"end":{}}],"line":46},"10":{"loc":{"start":{"line":47,"column":10},"end":{"line":47,"column":90}},"type":"if","locations":[{"start":{"line":47,"column":10},"end":{"line":47,"column":90}},{"start":{},"end":{}}],"line":47},"11":{"loc":{"start":{"line":58,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":58,"column":6},"end":{"line":71,"column":7}},{"start":{},"end":{}}],"line":58},"12":{"loc":{"start":{"line":60,"column":8},"end":{"line":70,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":70,"column":9}},{"start":{"line":64,"column":15},"end":{"line":70,"column":9}}],"line":60},"13":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":72}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":40}},{"start":{"line":60,"column":44},"end":{"line":60,"column":72}}],"line":60},"14":{"loc":{"start":{"line":61,"column":10},"end":{"line":63,"column":11}},"type":"if","locations":[{"start":{"line":61,"column":10},"end":{"line":63,"column":11}},{"start":{},"end":{}}],"line":61},"15":{"loc":{"start":{"line":61,"column":14},"end":{"line":61,"column":86}},"type":"binary-expr","locations":[{"start":{"line":61,"column":14},"end":{"line":61,"column":34}},{"start":{"line":61,"column":39},"end":{"line":61,"column":60}},{"start":{"line":61,"column":64},"end":{"line":61,"column":85}}],"line":61},"16":{"loc":{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},"type":"if","locations":[{"start":{"line":65,"column":10},"end":{"line":65,"column":90}},{"start":{},"end":{}}],"line":65},"17":{"loc":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"type":"if","locations":[{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},{"start":{},"end":{}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/unbindVariableFromTarget.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/unbindVariableFromTarget.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"1":{"start":{"line":5,"column":22},"end":{"line":5,"column":40}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":101}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":28}},"4":{"start":{"line":8,"column":4},"end":{"line":8,"column":23}},"5":{"start":{"line":11,"column":2},"end":{"line":11,"column":21}}},"fnMap":{"0":{"name":"unbindVariableFromTarget","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":46}},"loc":{"start":{"line":3,"column":132},"end":{"line":12,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":6,"column":60},"end":{"line":6,"column":84}},"type":"binary-expr","locations":[{"start":{"line":6,"column":60},"end":{"line":6,"column":72}},{"start":{"line":6,"column":76},"end":{"line":6,"column":84}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateColorStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateColorStyles.ts","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":9,"column":44}},"1":{"start":{"line":10,"column":24},"end":{"line":10,"column":46}},"2":{"start":{"line":11,"column":50},"end":{"line":11,"column":52}},"3":{"start":{"line":13,"column":2},"end":{"line":31,"column":6}},"4":{"start":{"line":14,"column":4},"end":{"line":30,"column":5}},"5":{"start":{"line":15,"column":20},"end":{"line":15,"column":52}},"6":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"7":{"start":{"line":17,"column":8},"end":{"line":17,"column":32}},"8":{"start":{"line":19,"column":6},"end":{"line":19,"column":45}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":88}},"10":{"start":{"line":21,"column":11},"end":{"line":30,"column":5}},"11":{"start":{"line":22,"column":20},"end":{"line":22,"column":50}},"12":{"start":{"line":23,"column":6},"end":{"line":23,"column":45}},"13":{"start":{"line":24,"column":6},"end":{"line":24,"column":88}},"14":{"start":{"line":25,"column":11},"end":{"line":30,"column":5}},"15":{"start":{"line":26,"column":20},"end":{"line":26,"column":44}},"16":{"start":{"line":27,"column":6},"end":{"line":27,"column":30}},"17":{"start":{"line":28,"column":6},"end":{"line":28,"column":45}},"18":{"start":{"line":29,"column":6},"end":{"line":29,"column":88}},"19":{"start":{"line":32,"column":2},"end":{"line":32,"column":25}}},"fnMap":{"0":{"name":"updateColorStyles","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":166},"end":{"line":33,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":36},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":53},"end":{"line":31,"column":3}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":122},"end":{"line":8,"column":142}},"type":"default-arg","locations":[{"start":{"line":8,"column":137},"end":{"line":8,"column":142}}],"line":8},"1":{"loc":{"start":{"line":8,"column":144},"end":{"line":8,"column":164}},"type":"default-arg","locations":[{"start":{"line":8,"column":159},"end":{"line":8,"column":164}}],"line":8},"2":{"loc":{"start":{"line":14,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":30,"column":5}},{"start":{"line":21,"column":11},"end":{"line":30,"column":5}}],"line":14},"3":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{},"end":{}}],"line":16},"4":{"loc":{"start":{"line":21,"column":11},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":11},"end":{"line":30,"column":5}},{"start":{"line":25,"column":11},"end":{"line":30,"column":5}}],"line":21},"5":{"loc":{"start":{"line":25,"column":11},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":11},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateEffectStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateEffectStyles.ts","statementMap":{"0":{"start":{"line":19,"column":30},"end":{"line":19,"column":52}},"1":{"start":{"line":20,"column":31},"end":{"line":20,"column":54}},"2":{"start":{"line":21,"column":50},"end":{"line":21,"column":52}},"3":{"start":{"line":23,"column":2},"end":{"line":43,"column":6}},"4":{"start":{"line":24,"column":4},"end":{"line":42,"column":5}},"5":{"start":{"line":25,"column":26},"end":{"line":25,"column":65}},"6":{"start":{"line":26,"column":6},"end":{"line":28,"column":7}},"7":{"start":{"line":27,"column":8},"end":{"line":27,"column":38}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":51}},"9":{"start":{"line":30,"column":6},"end":{"line":30,"column":75}},"10":{"start":{"line":31,"column":11},"end":{"line":42,"column":5}},"11":{"start":{"line":32,"column":26},"end":{"line":32,"column":63}},"12":{"start":{"line":33,"column":6},"end":{"line":33,"column":51}},"13":{"start":{"line":35,"column":6},"end":{"line":35,"column":75}},"14":{"start":{"line":36,"column":11},"end":{"line":42,"column":5}},"15":{"start":{"line":37,"column":20},"end":{"line":37,"column":45}},"16":{"start":{"line":38,"column":6},"end":{"line":38,"column":30}},"17":{"start":{"line":39,"column":6},"end":{"line":39,"column":45}},"18":{"start":{"line":41,"column":6},"end":{"line":41,"column":69}},"19":{"start":{"line":45,"column":2},"end":{"line":45,"column":25}}},"fnMap":{"0":{"name":"updateEffectStyles","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":48}},"loc":{"start":{"line":18,"column":3},"end":{"line":46,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":37},"end":{"line":23,"column":38}},"loc":{"start":{"line":23,"column":54},"end":{"line":43,"column":3}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":22}},"type":"default-arg","locations":[{"start":{"line":11,"column":17},"end":{"line":11,"column":22}}],"line":11},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":22}},"type":"default-arg","locations":[{"start":{"line":12,"column":17},"end":{"line":12,"column":22}}],"line":12},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":42,"column":5}},{"start":{"line":31,"column":11},"end":{"line":42,"column":5}}],"line":24},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":28,"column":7}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":31,"column":11},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":11},"end":{"line":42,"column":5}},{"start":{"line":36,"column":11},"end":{"line":42,"column":5}}],"line":31},"5":{"loc":{"start":{"line":36,"column":11},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":11},"end":{"line":42,"column":5}},{"start":{},"end":{}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateNodes.ts","statementMap":{"0":{"start":{"line":17,"column":27},"end":{"line":17,"column":41}},"1":{"start":{"line":19,"column":2},"end":{"line":27,"column":5}},"2":{"start":{"line":29,"column":18},"end":{"line":29,"column":72}},"3":{"start":{"line":30,"column":39},"end":{"line":30,"column":48}},"4":{"start":{"line":32,"column":17},"end":{"line":32,"column":55}},"5":{"start":{"line":34,"column":2},"end":{"line":56,"column":5}},"6":{"start":{"line":35,"column":4},"end":{"line":55,"column":6}},"7":{"start":{"line":37,"column":8},"end":{"line":53,"column":9}},"8":{"start":{"line":38,"column":30},"end":{"line":38,"column":77}},"9":{"start":{"line":39,"column":30},"end":{"line":39,"column":70}},"10":{"start":{"line":40,"column":10},"end":{"line":47,"column":12}},"11":{"start":{"line":49,"column":10},"end":{"line":49,"column":38}},"12":{"start":{"line":51,"column":10},"end":{"line":51,"column":25}},"13":{"start":{"line":52,"column":10},"end":{"line":52,"column":38}},"14":{"start":{"line":57,"column":2},"end":{"line":57,"column":30}},"15":{"start":{"line":59,"column":2},"end":{"line":62,"column":5}}},"fnMap":{"0":{"name":"updateNodes","decl":{"start":{"line":12,"column":22},"end":{"line":12,"column":33}},"loc":{"start":{"line":15,"column":2},"end":{"line":63,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},"loc":{"start":{"line":34,"column":53},"end":{"line":56,"column":3}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":29},"end":{"line":36,"column":30}},"loc":{"start":{"line":36,"column":41},"end":{"line":54,"column":7}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":27},"end":{"line":17,"column":41}},"type":"binary-expr","locations":[{"start":{"line":17,"column":27},"end":{"line":17,"column":35}},{"start":{"line":17,"column":39},"end":{"line":17,"column":41}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updatePluginDataAndNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updatePluginDataAndNodes.ts","statementMap":{"0":{"start":{"line":19,"column":27},"end":{"line":19,"column":41}},"1":{"start":{"line":21,"column":20},"end":{"line":21,"column":53}},"2":{"start":{"line":22,"column":2},"end":{"line":30,"column":5}},"3":{"start":{"line":32,"column":18},"end":{"line":32,"column":77}},"4":{"start":{"line":33,"column":39},"end":{"line":33,"column":48}},"5":{"start":{"line":35,"column":2},"end":{"line":70,"column":5}},"6":{"start":{"line":36,"column":4},"end":{"line":69,"column":8}},"7":{"start":{"line":37,"column":6},"end":{"line":68,"column":7}},"8":{"start":{"line":38,"column":8},"end":{"line":51,"column":12}},"9":{"start":{"line":39,"column":28},"end":{"line":39,"column":49}},"10":{"start":{"line":40,"column":10},"end":{"line":50,"column":11}},"11":{"start":{"line":42,"column":14},"end":{"line":42,"column":106}},"12":{"start":{"line":43,"column":14},"end":{"line":43,"column":20}},"13":{"start":{"line":45,"column":14},"end":{"line":45,"column":81}},"14":{"start":{"line":46,"column":14},"end":{"line":46,"column":20}},"15":{"start":{"line":48,"column":14},"end":{"line":48,"column":66}},"16":{"start":{"line":49,"column":14},"end":{"line":49,"column":20}},"17":{"start":{"line":52,"column":28},"end":{"line":52,"column":76}},"18":{"start":{"line":53,"column":29},"end":{"line":53,"column":70}},"19":{"start":{"line":55,"column":8},"end":{"line":62,"column":10}},"20":{"start":{"line":64,"column":8},"end":{"line":64,"column":36}},"21":{"start":{"line":66,"column":8},"end":{"line":66,"column":23}},"22":{"start":{"line":67,"column":8},"end":{"line":67,"column":36}},"23":{"start":{"line":71,"column":2},"end":{"line":71,"column":30}},"24":{"start":{"line":73,"column":2},"end":{"line":76,"column":5}}},"fnMap":{"0":{"name":"updatePluginDataAndNodes","decl":{"start":{"line":15,"column":22},"end":{"line":15,"column":46}},"loc":{"start":{"line":17,"column":134},"end":{"line":77,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":16},"end":{"line":35,"column":17}},"loc":{"start":{"line":35,"column":26},"end":{"line":70,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":40},"end":{"line":36,"column":41}},"loc":{"start":{"line":36,"column":52},"end":{"line":69,"column":5}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":58},"end":{"line":38,"column":59}},"loc":{"start":{"line":38,"column":82},"end":{"line":51,"column":9}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":27},"end":{"line":19,"column":41}},"type":"binary-expr","locations":[{"start":{"line":19,"column":27},"end":{"line":19,"column":35}},{"start":{"line":19,"column":39},"end":{"line":19,"column":41}}],"line":19},"1":{"loc":{"start":{"line":40,"column":10},"end":{"line":50,"column":11}},"type":"switch","locations":[{"start":{"line":41,"column":12},"end":{"line":43,"column":20}},{"start":{"line":44,"column":12},"end":{"line":46,"column":20}},{"start":{"line":47,"column":12},"end":{"line":49,"column":20}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateStyles.ts","statementMap":{"0":{"start":{"line":21,"column":20},"end":{"line":23,"column":4}},"1":{"start":{"line":24,"column":23},"end":{"line":26,"column":14}},"2":{"start":{"line":25,"column":23},"end":{"line":25,"column":87}},"3":{"start":{"line":25,"column":72},"end":{"line":25,"column":86}},"4":{"start":{"line":28,"column":22},"end":{"line":41,"column":34}},"5":{"start":{"line":30,"column":24},"end":{"line":30,"column":168}},"6":{"start":{"line":30,"column":70},"end":{"line":30,"column":167}},"7":{"start":{"line":30,"column":131},"end":{"line":30,"column":166}},"8":{"start":{"line":32,"column":19},"end":{"line":32,"column":94}},"9":{"start":{"line":33,"column":18},"end":{"line":33,"column":96}},"10":{"start":{"line":34,"column":17},"end":{"line":34,"column":66}},"11":{"start":{"line":35,"column":4},"end":{"line":40,"column":62}},"12":{"start":{"line":41,"column":23},"end":{"line":41,"column":33}},"13":{"start":{"line":43,"column":22},"end":{"line":46,"column":5}},"14":{"start":{"line":43,"column":48},"end":{"line":43,"column":83}},"15":{"start":{"line":47,"column":21},"end":{"line":50,"column":5}},"16":{"start":{"line":47,"column":47},"end":{"line":47,"column":87}},"17":{"start":{"line":51,"column":23},"end":{"line":54,"column":5}},"18":{"start":{"line":51,"column":49},"end":{"line":51,"column":89}},"19":{"start":{"line":56,"column":2},"end":{"line":56,"column":62}},"20":{"start":{"line":56,"column":52},"end":{"line":56,"column":62}},"21":{"start":{"line":58,"column":22},"end":{"line":64,"column":53}},"22":{"start":{"line":64,"column":23},"end":{"line":64,"column":52}},"23":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"24":{"start":{"line":66,"column":4},"end":{"line":66,"column":114}},"25":{"start":{"line":69,"column":2},"end":{"line":69,"column":21}}},"fnMap":{"0":{"name":"updateStyles","decl":{"start":{"line":14,"column":30},"end":{"line":14,"column":42}},"loc":{"start":{"line":19,"column":35},"end":{"line":70,"column":1}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":13}},"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":87}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":65},"end":{"line":25,"column":66}},"loc":{"start":{"line":25,"column":72},"end":{"line":25,"column":86}},"line":25},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":33},"end":{"line":28,"column":34}},"loc":{"start":{"line":28,"column":44},"end":{"line":41,"column":3}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":59},"end":{"line":30,"column":60}},"loc":{"start":{"line":30,"column":70},"end":{"line":30,"column":167}},"line":30},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":115},"end":{"line":30,"column":116}},"loc":{"start":{"line":30,"column":131},"end":{"line":30,"column":166}},"line":30},"6":{"name":"(anonymous_6)","decl":{"start":{"line":41,"column":12},"end":{"line":41,"column":13}},"loc":{"start":{"line":41,"column":23},"end":{"line":41,"column":33}},"line":41},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":41},"end":{"line":43,"column":42}},"loc":{"start":{"line":43,"column":48},"end":{"line":43,"column":83}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":47,"column":40},"end":{"line":47,"column":41}},"loc":{"start":{"line":47,"column":47},"end":{"line":47,"column":87}},"line":47},"9":{"name":"(anonymous_9)","decl":{"start":{"line":51,"column":42},"end":{"line":51,"column":43}},"loc":{"start":{"line":51,"column":49},"end":{"line":51,"column":89}},"line":51},"10":{"name":"(anonymous_10)","decl":{"start":{"line":64,"column":10},"end":{"line":64,"column":11}},"loc":{"start":{"line":64,"column":23},"end":{"line":64,"column":52}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":17,"column":22}},"type":"default-arg","locations":[{"start":{"line":17,"column":17},"end":{"line":17,"column":22}}],"line":17},"1":{"loc":{"start":{"line":30,"column":24},"end":{"line":30,"column":168}},"type":"binary-expr","locations":[{"start":{"line":30,"column":24},"end":{"line":30,"column":37}},{"start":{"line":30,"column":41},"end":{"line":30,"column":168}}],"line":30},"2":{"loc":{"start":{"line":32,"column":19},"end":{"line":32,"column":94}},"type":"cond-expr","locations":[{"start":{"line":32,"column":71},"end":{"line":32,"column":87}},{"start":{"line":32,"column":90},"end":{"line":32,"column":94}}],"line":32},"3":{"loc":{"start":{"line":32,"column":19},"end":{"line":32,"column":68}},"type":"binary-expr","locations":[{"start":{"line":32,"column":19},"end":{"line":32,"column":53}},{"start":{"line":32,"column":57},"end":{"line":32,"column":68}}],"line":32},"4":{"loc":{"start":{"line":33,"column":18},"end":{"line":33,"column":96}},"type":"cond-expr","locations":[{"start":{"line":33,"column":91},"end":{"line":33,"column":92}},{"start":{"line":33,"column":95},"end":{"line":33,"column":96}}],"line":33},"5":{"loc":{"start":{"line":33,"column":18},"end":{"line":33,"column":88}},"type":"binary-expr","locations":[{"start":{"line":33,"column":18},"end":{"line":33,"column":52}},{"start":{"line":33,"column":56},"end":{"line":33,"column":88}}],"line":33},"6":{"loc":{"start":{"line":38,"column":13},"end":{"line":38,"column":123}},"type":"cond-expr","locations":[{"start":{"line":38,"column":47},"end":{"line":38,"column":109}},{"start":{"line":38,"column":112},"end":{"line":38,"column":123}}],"line":38},"7":{"loc":{"start":{"line":39,"column":15},"end":{"line":39,"column":103}},"type":"cond-expr","locations":[{"start":{"line":39,"column":52},"end":{"line":39,"column":98}},{"start":{"line":39,"column":101},"end":{"line":39,"column":103}}],"line":39},"8":{"loc":{"start":{"line":56,"column":2},"end":{"line":56,"column":62}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":56,"column":62}},{"start":{},"end":{}}],"line":56},"9":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":50}},"type":"binary-expr","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":18}},{"start":{"line":56,"column":22},"end":{"line":56,"column":33}},{"start":{"line":56,"column":37},"end":{"line":56,"column":50}}],"line":56},"10":{"loc":{"start":{"line":59,"column":8},"end":{"line":59,"column":127}},"type":"cond-expr","locations":[{"start":{"line":59,"column":33},"end":{"line":59,"column":122}},{"start":{"line":59,"column":125},"end":{"line":59,"column":127}}],"line":59},"11":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":147}},"type":"cond-expr","locations":[{"start":{"line":60,"column":32},"end":{"line":60,"column":142}},{"start":{"line":60,"column":145},"end":{"line":60,"column":147}}],"line":60},"12":{"loc":{"start":{"line":61,"column":8},"end":{"line":63,"column":12}},"type":"cond-expr","locations":[{"start":{"line":61,"column":34},"end":{"line":63,"column":7}},{"start":{"line":63,"column":10},"end":{"line":63,"column":12}}],"line":61},"13":{"loc":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},{"start":{},"end":{}}],"line":65},"14":{"loc":{"start":{"line":65,"column":6},"end":{"line":65,"column":56}},"type":"binary-expr","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":40}},{"start":{"line":65,"column":44},"end":{"line":65,"column":56}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateTextStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateTextStyles.ts","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":10,"column":48}},"1":{"start":{"line":11,"column":29},"end":{"line":11,"column":50}},"2":{"start":{"line":12,"column":50},"end":{"line":12,"column":52}},"3":{"start":{"line":14,"column":2},"end":{"line":32,"column":6}},"4":{"start":{"line":15,"column":4},"end":{"line":31,"column":5}},"5":{"start":{"line":16,"column":24},"end":{"line":16,"column":61}},"6":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":36}},"8":{"start":{"line":20,"column":6},"end":{"line":20,"column":49}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":71}},"10":{"start":{"line":22,"column":11},"end":{"line":31,"column":5}},"11":{"start":{"line":23,"column":24},"end":{"line":23,"column":59}},"12":{"start":{"line":24,"column":6},"end":{"line":24,"column":49}},"13":{"start":{"line":25,"column":6},"end":{"line":25,"column":71}},"14":{"start":{"line":26,"column":11},"end":{"line":31,"column":5}},"15":{"start":{"line":27,"column":20},"end":{"line":27,"column":43}},"16":{"start":{"line":28,"column":6},"end":{"line":28,"column":30}},"17":{"start":{"line":29,"column":6},"end":{"line":29,"column":45}},"18":{"start":{"line":30,"column":6},"end":{"line":30,"column":67}},"19":{"start":{"line":34,"column":2},"end":{"line":34,"column":25}}},"fnMap":{"0":{"name":"updateTextStyles","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":46}},"loc":{"start":{"line":8,"column":191},"end":{"line":35,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":35},"end":{"line":14,"column":36}},"loc":{"start":{"line":14,"column":52},"end":{"line":32,"column":3}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":147},"end":{"line":8,"column":167}},"type":"default-arg","locations":[{"start":{"line":8,"column":162},"end":{"line":8,"column":167}}],"line":8},"1":{"loc":{"start":{"line":8,"column":169},"end":{"line":8,"column":189}},"type":"default-arg","locations":[{"start":{"line":8,"column":184},"end":{"line":8,"column":189}}],"line":8},"2":{"loc":{"start":{"line":15,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":31,"column":5}},{"start":{"line":22,"column":11},"end":{"line":31,"column":5}}],"line":15},"3":{"loc":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},{"start":{},"end":{}}],"line":17},"4":{"loc":{"start":{"line":22,"column":11},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":11},"end":{"line":31,"column":5}},{"start":{"line":26,"column":11},"end":{"line":31,"column":5}}],"line":22},"5":{"loc":{"start":{"line":26,"column":11},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":11},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariables.ts","statementMap":{"0":{"start":{"line":30,"column":25},"end":{"line":35,"column":4}},"1":{"start":{"line":43,"column":32},"end":{"line":45,"column":60}},"2":{"start":{"line":45,"column":19},"end":{"line":45,"column":59}},"3":{"start":{"line":47,"column":45},"end":{"line":47,"column":47}},"4":{"start":{"line":48,"column":2},"end":{"line":52,"column":5}},"5":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"6":{"start":{"line":50,"column":6},"end":{"line":50,"column":78}},"7":{"start":{"line":54,"column":22},"end":{"line":61,"column":3}},"8":{"start":{"line":62,"column":37},"end":{"line":62,"column":39}},"9":{"start":{"line":65,"column":2},"end":{"line":72,"column":3}},"10":{"start":{"line":66,"column":4},"end":{"line":71,"column":9}},"11":{"start":{"line":67,"column":28},"end":{"line":67,"column":93}},"12":{"start":{"line":69,"column":8},"end":{"line":69,"column":44}},"13":{"start":{"line":70,"column":8},"end":{"line":70,"column":26}},"14":{"start":{"line":74,"column":2},"end":{"line":78,"column":4}}},"fnMap":{"0":{"name":"updateVariables","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":45}},"loc":{"start":{"line":29,"column":24},"end":{"line":79,"column":1}},"line":29},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":13}},"loc":{"start":{"line":45,"column":19},"end":{"line":45,"column":59}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":25},"end":{"line":48,"column":26}},"loc":{"start":{"line":48,"column":36},"end":{"line":52,"column":3}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":67,"column":14},"end":{"line":67,"column":15}},"loc":{"start":{"line":67,"column":28},"end":{"line":67,"column":93}},"line":67},"4":{"name":"(anonymous_4)","decl":{"start":{"line":68,"column":15},"end":{"line":68,"column":16}},"loc":{"start":{"line":68,"column":29},"end":{"line":71,"column":7}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49},"1":{"loc":{"start":{"line":65,"column":2},"end":{"line":72,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":72,"column":3}},{"start":{},"end":{}}],"line":65}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesFromPlugin.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesFromPlugin.ts","statementMap":{"0":{"start":{"line":14,"column":20},"end":{"line":16,"column":4}},"1":{"start":{"line":17,"column":22},"end":{"line":17,"column":45}},"2":{"start":{"line":18,"column":28},"end":{"line":21,"column":8}},"3":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"4":{"start":{"line":20,"column":4},"end":{"line":20,"column":15}},"5":{"start":{"line":23,"column":2},"end":{"line":80,"column":5}},"6":{"start":{"line":24,"column":4},"end":{"line":79,"column":5}},"7":{"start":{"line":26,"column":32},"end":{"line":26,"column":96}},"8":{"start":{"line":30,"column":6},"end":{"line":78,"column":7}},"9":{"start":{"line":31,"column":25},"end":{"line":31,"column":85}},"10":{"start":{"line":32,"column":8},"end":{"line":77,"column":9}},"11":{"start":{"line":33,"column":10},"end":{"line":76,"column":11}},"12":{"start":{"line":35,"column":45},"end":{"line":35,"column":47}},"13":{"start":{"line":36,"column":12},"end":{"line":40,"column":13}},"14":{"start":{"line":37,"column":14},"end":{"line":37,"column":113}},"15":{"start":{"line":39,"column":14},"end":{"line":39,"column":77}},"16":{"start":{"line":41,"column":38},"end":{"line":41,"column":96}},"17":{"start":{"line":42,"column":12},"end":{"line":47,"column":13}},"18":{"start":{"line":43,"column":14},"end":{"line":46,"column":17}},"19":{"start":{"line":49,"column":12},"end":{"line":75,"column":13}},"20":{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},"21":{"start":{"line":52,"column":18},"end":{"line":52,"column":88}},"22":{"start":{"line":54,"column":16},"end":{"line":54,"column":22}},"23":{"start":{"line":56,"column":16},"end":{"line":58,"column":17}},"24":{"start":{"line":57,"column":18},"end":{"line":57,"column":90}},"25":{"start":{"line":59,"column":16},"end":{"line":59,"column":22}},"26":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"27":{"start":{"line":62,"column":18},"end":{"line":62,"column":89}},"28":{"start":{"line":64,"column":16},"end":{"line":64,"column":22}},"29":{"start":{"line":71,"column":16},"end":{"line":71,"column":95}},"30":{"start":{"line":72,"column":16},"end":{"line":72,"column":22}},"31":{"start":{"line":74,"column":16},"end":{"line":74,"column":22}}},"fnMap":{"0":{"name":"updateVariablesFromPlugin","decl":{"start":{"line":13,"column":30},"end":{"line":13,"column":55}},"loc":{"start":{"line":13,"column":93},"end":{"line":81,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":111},"end":{"line":18,"column":112}},"loc":{"start":{"line":18,"column":126},"end":{"line":21,"column":3}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":27},"end":{"line":23,"column":28}},"loc":{"start":{"line":23,"column":38},"end":{"line":80,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":8},"end":{"line":26,"column":9}},"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":96}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":24},"1":{"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":96}},"type":"binary-expr","locations":[{"start":{"line":26,"column":32},"end":{"line":26,"column":65}},{"start":{"line":26,"column":69},"end":{"line":26,"column":96}}],"line":26},"2":{"loc":{"start":{"line":30,"column":6},"end":{"line":78,"column":7}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":78,"column":7}},{"start":{},"end":{}}],"line":30},"3":{"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":78}},"type":"binary-expr","locations":[{"start":{"line":30,"column":10},"end":{"line":30,"column":56}},{"start":{"line":30,"column":60},"end":{"line":30,"column":78}}],"line":30},"4":{"loc":{"start":{"line":32,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":32},"5":{"loc":{"start":{"line":33,"column":10},"end":{"line":76,"column":11}},"type":"if","locations":[{"start":{"line":33,"column":10},"end":{"line":76,"column":11}},{"start":{"line":48,"column":17},"end":{"line":76,"column":11}}],"line":33},"6":{"loc":{"start":{"line":36,"column":12},"end":{"line":40,"column":13}},"type":"if","locations":[{"start":{"line":36,"column":12},"end":{"line":40,"column":13}},{"start":{"line":38,"column":19},"end":{"line":40,"column":13}}],"line":36},"7":{"loc":{"start":{"line":36,"column":16},"end":{"line":36,"column":80}},"type":"binary-expr","locations":[{"start":{"line":36,"column":16},"end":{"line":36,"column":32}},{"start":{"line":36,"column":36},"end":{"line":36,"column":80}}],"line":36},"8":{"loc":{"start":{"line":42,"column":12},"end":{"line":47,"column":13}},"type":"if","locations":[{"start":{"line":42,"column":12},"end":{"line":47,"column":13}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":49,"column":12},"end":{"line":75,"column":13}},"type":"switch","locations":[{"start":{"line":50,"column":14},"end":{"line":54,"column":22}},{"start":{"line":55,"column":14},"end":{"line":59,"column":22}},{"start":{"line":60,"column":14},"end":{"line":64,"column":22}},{"start":{"line":65,"column":14},"end":{"line":65,"column":37}},{"start":{"line":66,"column":14},"end":{"line":66,"column":40}},{"start":{"line":67,"column":14},"end":{"line":67,"column":44}},{"start":{"line":68,"column":14},"end":{"line":68,"column":43}},{"start":{"line":69,"column":14},"end":{"line":69,"column":38}},{"start":{"line":70,"column":14},"end":{"line":72,"column":22}},{"start":{"line":73,"column":14},"end":{"line":74,"column":22}}],"line":49},"10":{"loc":{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},"type":"if","locations":[{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},{"start":{},"end":{}}],"line":51},"11":{"loc":{"start":{"line":56,"column":16},"end":{"line":58,"column":17}},"type":"if","locations":[{"start":{"line":56,"column":16},"end":{"line":58,"column":17}},{"start":{},"end":{}}],"line":56},"12":{"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"type":"if","locations":[{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},{"start":{},"end":{}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0,0,0,0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesToReference.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/updateVariablesToReference.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":4,"column":41}},"1":{"start":{"line":5,"column":2},"end":{"line":24,"column":6}},"2":{"start":{"line":6,"column":30},"end":{"line":6,"column":81}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":35}},"4":{"start":{"line":7,"column":28},"end":{"line":7,"column":35}},"5":{"start":{"line":9,"column":4},"end":{"line":13,"column":5}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},"7":{"start":{"line":12,"column":6},"end":{"line":12,"column":49}},"8":{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},"9":{"start":{"line":14,"column":19},"end":{"line":14,"column":26}},"10":{"start":{"line":15,"column":4},"end":{"line":23,"column":5}},"11":{"start":{"line":16,"column":6},"end":{"line":19,"column":9}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":52}},"13":{"start":{"line":22,"column":6},"end":{"line":22,"column":78}},"14":{"start":{"line":25,"column":2},"end":{"line":25,"column":26}}},"fnMap":{"0":{"name":"updateVariablesToReference","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":56}},"loc":{"start":{"line":3,"column":169},"end":{"line":26,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":52},"end":{"line":5,"column":53}},"loc":{"start":{"line":5,"column":77},"end":{"line":24,"column":3}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":35}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":35}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},{"start":{},"end":{}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/applySiblingStyle.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/applySiblingStyle.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":95,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":92,"column":5}},"2":{"start":{"line":11,"column":35},"end":{"line":11,"column":118}},"3":{"start":{"line":12,"column":35},"end":{"line":12,"column":118}},"4":{"start":{"line":14,"column":10},"end":{"line":16,"column":11}},"5":{"start":{"line":15,"column":12},"end":{"line":15,"column":50}},"6":{"start":{"line":17,"column":10},"end":{"line":19,"column":11}},"7":{"start":{"line":18,"column":12},"end":{"line":18,"column":50}},"8":{"start":{"line":22,"column":10},"end":{"line":35,"column":11}},"9":{"start":{"line":23,"column":35},"end":{"line":23,"column":116}},"10":{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},"11":{"start":{"line":25,"column":14},"end":{"line":25,"column":48}},"12":{"start":{"line":28,"column":12},"end":{"line":34,"column":15}},"13":{"start":{"line":29,"column":37},"end":{"line":29,"column":111}},"14":{"start":{"line":31,"column":14},"end":{"line":33,"column":15}},"15":{"start":{"line":32,"column":16},"end":{"line":32,"column":85}},"16":{"start":{"line":37,"column":10},"end":{"line":50,"column":11}},"17":{"start":{"line":38,"column":35},"end":{"line":38,"column":116}},"18":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"19":{"start":{"line":40,"column":14},"end":{"line":40,"column":48}},"20":{"start":{"line":43,"column":12},"end":{"line":49,"column":15}},"21":{"start":{"line":44,"column":37},"end":{"line":44,"column":111}},"22":{"start":{"line":46,"column":14},"end":{"line":48,"column":15}},"23":{"start":{"line":47,"column":16},"end":{"line":47,"column":85}},"24":{"start":{"line":52,"column":8},"end":{"line":52,"column":14}},"25":{"start":{"line":68,"column":33},"end":{"line":68,"column":139}},"26":{"start":{"line":69,"column":35},"end":{"line":69,"column":145}},"27":{"start":{"line":70,"column":35},"end":{"line":70,"column":145}},"28":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"29":{"start":{"line":72,"column":12},"end":{"line":72,"column":46}},"30":{"start":{"line":74,"column":10},"end":{"line":76,"column":11}},"31":{"start":{"line":75,"column":12},"end":{"line":75,"column":50}},"32":{"start":{"line":77,"column":10},"end":{"line":79,"column":11}},"33":{"start":{"line":78,"column":12},"end":{"line":78,"column":50}},"34":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"35":{"start":{"line":81,"column":12},"end":{"line":81,"column":122}},"36":{"start":{"line":81,"column":59},"end":{"line":81,"column":119}},"37":{"start":{"line":84,"column":8},"end":{"line":84,"column":14}},"38":{"start":{"line":87,"column":8},"end":{"line":87,"column":118}},"39":{"start":{"line":87,"column":55},"end":{"line":87,"column":115}},"40":{"start":{"line":88,"column":8},"end":{"line":88,"column":14}},"41":{"start":{"line":91,"column":8},"end":{"line":91,"column":14}},"42":{"start":{"line":94,"column":4},"end":{"line":94,"column":25}}},"fnMap":{"0":{"name":"applySiblingStyleId","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":41}},"loc":{"start":{"line":5,"column":129},"end":{"line":96,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":64},"end":{"line":28,"column":65}},"loc":{"start":{"line":28,"column":83},"end":{"line":34,"column":13}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":64},"end":{"line":43,"column":65}},"loc":{"start":{"line":43,"column":83},"end":{"line":49,"column":13}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":81,"column":48},"end":{"line":81,"column":49}},"loc":{"start":{"line":81,"column":59},"end":{"line":81,"column":119}},"line":81},"4":{"name":"(anonymous_4)","decl":{"start":{"line":87,"column":44},"end":{"line":87,"column":45}},"loc":{"start":{"line":87,"column":55},"end":{"line":87,"column":115}},"line":87}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":92,"column":5}},"type":"switch","locations":[{"start":{"line":9,"column":6},"end":{"line":52,"column":14}},{"start":{"line":55,"column":6},"end":{"line":55,"column":21}},{"start":{"line":56,"column":6},"end":{"line":56,"column":18}},{"start":{"line":57,"column":6},"end":{"line":57,"column":21}},{"start":{"line":58,"column":6},"end":{"line":58,"column":18}},{"start":{"line":59,"column":6},"end":{"line":59,"column":23}},{"start":{"line":60,"column":6},"end":{"line":60,"column":20}},{"start":{"line":61,"column":6},"end":{"line":61,"column":23}},{"start":{"line":62,"column":6},"end":{"line":62,"column":22}},{"start":{"line":63,"column":6},"end":{"line":63,"column":27}},{"start":{"line":64,"column":6},"end":{"line":64,"column":19}},{"start":{"line":65,"column":6},"end":{"line":65,"column":21}},{"start":{"line":66,"column":6},"end":{"line":84,"column":14}},{"start":{"line":86,"column":6},"end":{"line":88,"column":14}},{"start":{"line":90,"column":6},"end":{"line":91,"column":14}}],"line":7},"1":{"loc":{"start":{"line":14,"column":10},"end":{"line":16,"column":11}},"type":"if","locations":[{"start":{"line":14,"column":10},"end":{"line":16,"column":11}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":17,"column":10},"end":{"line":19,"column":11}},"type":"if","locations":[{"start":{"line":17,"column":10},"end":{"line":19,"column":11}},{"start":{},"end":{}}],"line":17},"3":{"loc":{"start":{"line":22,"column":10},"end":{"line":35,"column":11}},"type":"if","locations":[{"start":{"line":22,"column":10},"end":{"line":35,"column":11}},{"start":{"line":27,"column":17},"end":{"line":35,"column":11}}],"line":22},"4":{"loc":{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":31,"column":14},"end":{"line":33,"column":15}},"type":"if","locations":[{"start":{"line":31,"column":14},"end":{"line":33,"column":15}},{"start":{},"end":{}}],"line":31},"6":{"loc":{"start":{"line":37,"column":10},"end":{"line":50,"column":11}},"type":"if","locations":[{"start":{"line":37,"column":10},"end":{"line":50,"column":11}},{"start":{"line":42,"column":17},"end":{"line":50,"column":11}}],"line":37},"7":{"loc":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"type":"if","locations":[{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},{"start":{},"end":{}}],"line":39},"8":{"loc":{"start":{"line":46,"column":14},"end":{"line":48,"column":15}},"type":"if","locations":[{"start":{"line":46,"column":14},"end":{"line":48,"column":15}},{"start":{},"end":{}}],"line":46},"9":{"loc":{"start":{"line":68,"column":33},"end":{"line":68,"column":139}},"type":"binary-expr","locations":[{"start":{"line":68,"column":33},"end":{"line":68,"column":54}},{"start":{"line":68,"column":58},"end":{"line":68,"column":139}}],"line":68},"10":{"loc":{"start":{"line":69,"column":35},"end":{"line":69,"column":145}},"type":"binary-expr","locations":[{"start":{"line":69,"column":35},"end":{"line":69,"column":58}},{"start":{"line":69,"column":62},"end":{"line":69,"column":145}}],"line":69},"11":{"loc":{"start":{"line":70,"column":35},"end":{"line":70,"column":145}},"type":"binary-expr","locations":[{"start":{"line":70,"column":35},"end":{"line":70,"column":58}},{"start":{"line":70,"column":62},"end":{"line":70,"column":145}}],"line":70},"12":{"loc":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"type":"if","locations":[{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},{"start":{},"end":{}}],"line":71},"13":{"loc":{"start":{"line":74,"column":10},"end":{"line":76,"column":11}},"type":"if","locations":[{"start":{"line":74,"column":10},"end":{"line":76,"column":11}},{"start":{},"end":{}}],"line":74},"14":{"loc":{"start":{"line":77,"column":10},"end":{"line":79,"column":11}},"type":"if","locations":[{"start":{"line":77,"column":10},"end":{"line":79,"column":11}},{"start":{},"end":{}}],"line":77},"15":{"loc":{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":82,"column":11}},{"start":{},"end":{}}],"line":80},"16":{"loc":{"start":{"line":80,"column":14},"end":{"line":80,"column":139}},"type":"binary-expr","locations":[{"start":{"line":80,"column":14},"end":{"line":80,"column":117}},{"start":{"line":80,"column":121},"end":{"line":80,"column":139}}],"line":80}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts","statementMap":{"0":{"start":{"line":12,"column":117},"end":{"line":71,"column":1}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":9}},"2":{"start":{"line":16,"column":31},"end":{"line":16,"column":71}},"3":{"start":{"line":17,"column":35},"end":{"line":17,"column":69}},"4":{"start":{"line":18,"column":36},"end":{"line":18,"column":71}},"5":{"start":{"line":20,"column":24},"end":{"line":20,"column":46}},"6":{"start":{"line":21,"column":29},"end":{"line":21,"column":50}},"7":{"start":{"line":22,"column":31},"end":{"line":22,"column":54}},"8":{"start":{"line":25,"column":47},"end":{"line":25,"column":49}},"9":{"start":{"line":26,"column":2},"end":{"line":30,"column":5}},"10":{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":91}},"12":{"start":{"line":33,"column":28},"end":{"line":39,"column":6}},"13":{"start":{"line":40,"column":2},"end":{"line":42,"column":5}},"14":{"start":{"line":41,"column":4},"end":{"line":41,"column":42}},"15":{"start":{"line":45,"column":17},"end":{"line":45,"column":62}},"16":{"start":{"line":46,"column":16},"end":{"line":46,"column":48}},"17":{"start":{"line":47,"column":2},"end":{"line":65,"column":5}},"18":{"start":{"line":48,"column":17},"end":{"line":48,"column":66}},"19":{"start":{"line":49,"column":4},"end":{"line":64,"column":5}},"20":{"start":{"line":50,"column":25},"end":{"line":50,"column":48}},"21":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"22":{"start":{"line":52,"column":8},"end":{"line":52,"column":57}},"23":{"start":{"line":54,"column":11},"end":{"line":64,"column":5}},"24":{"start":{"line":55,"column":24},"end":{"line":55,"column":52}},"25":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"26":{"start":{"line":57,"column":8},"end":{"line":57,"column":56}},"27":{"start":{"line":59,"column":11},"end":{"line":64,"column":5}},"28":{"start":{"line":60,"column":26},"end":{"line":60,"column":56}},"29":{"start":{"line":61,"column":6},"end":{"line":63,"column":7}},"30":{"start":{"line":62,"column":8},"end":{"line":62,"column":58}},"31":{"start":{"line":67,"column":2},"end":{"line":70,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":117},"end":{"line":12,"column":118}},"loc":{"start":{"line":12,"column":132},"end":{"line":71,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":50},"end":{"line":26,"column":51}},"loc":{"start":{"line":26,"column":78},"end":{"line":30,"column":3}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":59},"end":{"line":40,"column":60}},"loc":{"start":{"line":41,"column":4},"end":{"line":41,"column":42}},"line":41},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":34},"end":{"line":47,"column":35}},"loc":{"start":{"line":47,"column":45},"end":{"line":65,"column":3}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":69}},"type":"binary-expr","locations":[{"start":{"line":16,"column":36},"end":{"line":16,"column":63}},{"start":{"line":16,"column":67},"end":{"line":16,"column":69}}],"line":16},"1":{"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},{"start":{},"end":{}}],"line":27},"2":{"loc":{"start":{"line":28,"column":63},"end":{"line":28,"column":89}},"type":"binary-expr","locations":[{"start":{"line":28,"column":63},"end":{"line":28,"column":83}},{"start":{"line":28,"column":87},"end":{"line":28,"column":89}}],"line":28},"3":{"loc":{"start":{"line":33,"column":28},"end":{"line":39,"column":6}},"type":"cond-expr","locations":[{"start":{"line":34,"column":6},"end":{"line":34,"column":70}},{"start":{"line":35,"column":6},"end":{"line":39,"column":6}}],"line":33},"4":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":53}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":46}},{"start":{"line":36,"column":49},"end":{"line":36,"column":53}}],"line":36},"5":{"loc":{"start":{"line":37,"column":6},"end":{"line":37,"column":62}},"type":"cond-expr","locations":[{"start":{"line":37,"column":34},"end":{"line":37,"column":55}},{"start":{"line":37,"column":58},"end":{"line":37,"column":62}}],"line":37},"6":{"loc":{"start":{"line":38,"column":6},"end":{"line":38,"column":59}},"type":"cond-expr","locations":[{"start":{"line":38,"column":31},"end":{"line":38,"column":52}},{"start":{"line":38,"column":55},"end":{"line":38,"column":59}}],"line":38},"7":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":62}},"type":"cond-expr","locations":[{"start":{"line":45,"column":45},"end":{"line":45,"column":55}},{"start":{"line":45,"column":58},"end":{"line":45,"column":62}}],"line":45},"8":{"loc":{"start":{"line":46,"column":16},"end":{"line":46,"column":48}},"type":"cond-expr","locations":[{"start":{"line":46,"column":43},"end":{"line":46,"column":44}},{"start":{"line":46,"column":47},"end":{"line":46,"column":48}}],"line":46},"9":{"loc":{"start":{"line":49,"column":4},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":64,"column":5}},{"start":{"line":54,"column":11},"end":{"line":64,"column":5}}],"line":49},"10":{"loc":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},{"start":{},"end":{}}],"line":51},"11":{"loc":{"start":{"line":54,"column":11},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":11},"end":{"line":64,"column":5}},{"start":{"line":59,"column":11},"end":{"line":64,"column":5}}],"line":54},"12":{"loc":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},{"start":{},"end":{}}],"line":56},"13":{"loc":{"start":{"line":59,"column":11},"end":{"line":64,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":11},"end":{"line":64,"column":5}},{"start":{},"end":{}}],"line":59},"14":{"loc":{"start":{"line":61,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":63,"column":7}},{"start":{},"end":{}}],"line":61}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts","statementMap":{"0":{"start":{"line":5,"column":123},"end":{"line":36,"column":1}},"1":{"start":{"line":6,"column":28},"end":{"line":6,"column":31}},"2":{"start":{"line":7,"column":30},"end":{"line":7,"column":75}},"3":{"start":{"line":8,"column":21},"end":{"line":8,"column":94}},"4":{"start":{"line":8,"column":54},"end":{"line":8,"column":93}},"5":{"start":{"line":9,"column":15},"end":{"line":9,"column":67}},"6":{"start":{"line":9,"column":45},"end":{"line":9,"column":66}},"7":{"start":{"line":10,"column":28},"end":{"line":15,"column":3}},"8":{"start":{"line":13,"column":21},"end":{"line":13,"column":62}},"9":{"start":{"line":14,"column":25},"end":{"line":14,"column":50}},"10":{"start":{"line":16,"column":2},"end":{"line":32,"column":3}},"11":{"start":{"line":17,"column":58},"end":{"line":17,"column":60}},"12":{"start":{"line":18,"column":39},"end":{"line":18,"column":80}},"13":{"start":{"line":19,"column":4},"end":{"line":24,"column":7}},"14":{"start":{"line":20,"column":23},"end":{"line":20,"column":77}},"15":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"16":{"start":{"line":22,"column":8},"end":{"line":22,"column":57}},"17":{"start":{"line":25,"column":4},"end":{"line":31,"column":6}},"18":{"start":{"line":33,"column":2},"end":{"line":35,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":123},"end":{"line":5,"column":124}},"loc":{"start":{"line":5,"column":138},"end":{"line":36,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":54},"end":{"line":8,"column":93}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":38},"end":{"line":9,"column":39}},"loc":{"start":{"line":9,"column":45},"end":{"line":9,"column":66}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":14},"end":{"line":13,"column":15}},"loc":{"start":{"line":13,"column":21},"end":{"line":13,"column":62}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":11},"end":{"line":14,"column":12}},"loc":{"start":{"line":14,"column":25},"end":{"line":14,"column":50}},"line":14},"5":{"name":"(anonymous_5)","decl":{"start":{"line":19,"column":39},"end":{"line":19,"column":40}},"loc":{"start":{"line":19,"column":50},"end":{"line":24,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":67},"end":{"line":8,"column":92}},"type":"binary-expr","locations":[{"start":{"line":8,"column":67},"end":{"line":8,"column":78}},{"start":{"line":8,"column":82},"end":{"line":8,"column":92}}],"line":8},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":16},"2":{"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":24}},"type":"binary-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":16}},{"start":{"line":16,"column":20},"end":{"line":16,"column":24}}],"line":16},"3":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts","statementMap":{"0":{"start":{"line":12,"column":97},"end":{"line":59,"column":1}},"1":{"start":{"line":14,"column":2},"end":{"line":58,"column":3}},"2":{"start":{"line":15,"column":33},"end":{"line":15,"column":36}},"3":{"start":{"line":16,"column":24},"end":{"line":16,"column":102}},"4":{"start":{"line":17,"column":22},"end":{"line":17,"column":55}},"5":{"start":{"line":18,"column":4},"end":{"line":26,"column":7}},"6":{"start":{"line":28,"column":20},"end":{"line":28,"column":79}},"7":{"start":{"line":29,"column":41},"end":{"line":29,"column":50}},"8":{"start":{"line":30,"column":25},"end":{"line":30,"column":48}},"9":{"start":{"line":32,"column":4},"end":{"line":47,"column":7}},"10":{"start":{"line":33,"column":6},"end":{"line":46,"column":10}},"11":{"start":{"line":34,"column":8},"end":{"line":43,"column":11}},"12":{"start":{"line":35,"column":28},"end":{"line":35,"column":55}},"13":{"start":{"line":37,"column":26},"end":{"line":37,"column":103}},"14":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"15":{"start":{"line":39,"column":29},"end":{"line":39,"column":60}},"16":{"start":{"line":40,"column":30},"end":{"line":40,"column":54}},"17":{"start":{"line":41,"column":12},"end":{"line":41,"column":64}},"18":{"start":{"line":44,"column":8},"end":{"line":44,"column":23}},"19":{"start":{"line":45,"column":8},"end":{"line":45,"column":36}},"20":{"start":{"line":49,"column":4},"end":{"line":49,"column":32}},"21":{"start":{"line":51,"column":4},"end":{"line":54,"column":7}},"22":{"start":{"line":55,"column":4},"end":{"line":55,"column":32}},"23":{"start":{"line":57,"column":4},"end":{"line":57,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":97},"end":{"line":12,"column":98}},"loc":{"start":{"line":12,"column":112},"end":{"line":59,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":24},"end":{"line":32,"column":25}},"loc":{"start":{"line":32,"column":46},"end":{"line":47,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":42},"end":{"line":33,"column":43}},"loc":{"start":{"line":33,"column":54},"end":{"line":46,"column":7}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":39},"end":{"line":34,"column":40}},"loc":{"start":{"line":34,"column":57},"end":{"line":43,"column":9}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":103}},"type":"cond-expr","locations":[{"start":{"line":37,"column":38},"end":{"line":37,"column":76}},{"start":{"line":37,"column":79},"end":{"line":37,"column":103}}],"line":37},"1":{"loc":{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":42,"column":11}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/cancelOperation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/cancelOperation.ts","statementMap":{"0":{"start":{"line":7,"column":96},"end":{"line":12,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":25}},"2":{"start":{"line":9,"column":2},"end":{"line":11,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":96},"end":{"line":7,"column":97}},"loc":{"start":{"line":7,"column":108},"end":{"line":12,"column":1}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/changedTabs.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/changedTabs.ts","statementMap":{"0":{"start":{"line":6,"column":88},"end":{"line":10,"column":1}},"1":{"start":{"line":7,"column":38},"end":{"line":7,"column":41}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":60}},"3":{"start":{"line":9,"column":2},"end":{"line":9,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":88},"end":{"line":6,"column":89}},"loc":{"start":{"line":6,"column":103},"end":{"line":10,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createAnnotation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createAnnotation.ts","statementMap":{"0":{"start":{"line":5,"column":98},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":98},"end":{"line":5,"column":99}},"loc":{"start":{"line":5,"column":113},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariables.ts","statementMap":{"0":{"start":{"line":6,"column":107},"end":{"line":12,"column":1}},"1":{"start":{"line":7,"column":17},"end":{"line":7,"column":97}},"2":{"start":{"line":8,"column":2},"end":{"line":11,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":107},"end":{"line":6,"column":108}},"loc":{"start":{"line":6,"column":122},"end":{"line":12,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts","statementMap":{"0":{"start":{"line":6,"column":133},"end":{"line":12,"column":1}},"1":{"start":{"line":7,"column":17},"end":{"line":7,"column":107}},"2":{"start":{"line":8,"column":2},"end":{"line":11,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":133},"end":{"line":6,"column":134}},"loc":{"start":{"line":6,"column":148},"end":{"line":12,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/createStyles.ts","statementMap":{"0":{"start":{"line":7,"column":90},"end":{"line":33,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":28,"column":3}},"2":{"start":{"line":11,"column":8},"end":{"line":11,"column":72}},"3":{"start":{"line":12,"column":4},"end":{"line":20,"column":7}},"4":{"start":{"line":21,"column":21},"end":{"line":21,"column":90}},"5":{"start":{"line":23,"column":4},"end":{"line":25,"column":6}},"6":{"start":{"line":27,"column":4},"end":{"line":27,"column":21}},"7":{"start":{"line":30,"column":2},"end":{"line":32,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":90},"end":{"line":7,"column":91}},"loc":{"start":{"line":7,"column":105},"end":{"line":33,"column":1}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/credentials.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/credentials.ts","statementMap":{"0":{"start":{"line":5,"column":87},"end":{"line":8,"column":1}},"1":{"start":{"line":6,"column":25},"end":{"line":6,"column":28}},"2":{"start":{"line":7,"column":2},"end":{"line":7,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":87},"end":{"line":5,"column":88}},"loc":{"start":{"line":5,"column":102},"end":{"line":8,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts","statementMap":{"0":{"start":{"line":5,"column":130},"end":{"line":25,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":24,"column":3}},"2":{"start":{"line":9,"column":27},"end":{"line":9,"column":83}},"3":{"start":{"line":11,"column":50},"end":{"line":18,"column":7}},"4":{"start":{"line":11,"column":86},"end":{"line":18,"column":5}},"5":{"start":{"line":14,"column":45},"end":{"line":17,"column":7}},"6":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},"7":{"start":{"line":22,"column":4},"end":{"line":22,"column":64}},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":130},"end":{"line":5,"column":131}},"loc":{"start":{"line":7,"column":6},"end":{"line":25,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":69},"end":{"line":11,"column":70}},"loc":{"start":{"line":11,"column":86},"end":{"line":18,"column":5}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":34},"end":{"line":14,"column":35}},"loc":{"start":{"line":14,"column":45},"end":{"line":17,"column":7}},"line":14}},"branchMap":{},"s":{"0":1,"1":2,"2":2,"3":1,"4":2,"5":3,"6":1,"7":1,"8":1},"f":{"0":2,"1":2,"2":3},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8afeedfbc5e32b474fb15c239f42bf0253498952"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getFigmaFonts.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getFigmaFonts.ts","statementMap":{"0":{"start":{"line":4,"column":93},"end":{"line":9,"column":1}},"1":{"start":{"line":5,"column":25},"end":{"line":5,"column":62}},"2":{"start":{"line":6,"column":2},"end":{"line":8,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":93},"end":{"line":4,"column":94}},"loc":{"start":{"line":4,"column":105},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts","statementMap":{"0":{"start":{"line":3,"column":25},"end":{"line":3,"column":27}},"1":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":16}},"3":{"start":{"line":12,"column":28},"end":{"line":12,"column":61}},"4":{"start":{"line":14,"column":20},"end":{"line":14,"column":47}},"5":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":51}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":16}},"8":{"start":{"line":22,"column":19},"end":{"line":22,"column":105}},"9":{"start":{"line":22,"column":72},"end":{"line":22,"column":104}},"10":{"start":{"line":23,"column":2},"end":{"line":60,"column":3}},"11":{"start":{"line":24,"column":28},"end":{"line":24,"column":57}},"12":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"13":{"start":{"line":28,"column":6},"end":{"line":28,"column":67}},"14":{"start":{"line":29,"column":6},"end":{"line":29,"column":18}},"15":{"start":{"line":32,"column":24},"end":{"line":32,"column":39}},"16":{"start":{"line":35,"column":4},"end":{"line":49,"column":5}},"17":{"start":{"line":36,"column":6},"end":{"line":36,"column":44}},"18":{"start":{"line":40,"column":28},"end":{"line":40,"column":73}},"19":{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},"20":{"start":{"line":42,"column":8},"end":{"line":46,"column":11}},"21":{"start":{"line":43,"column":10},"end":{"line":45,"column":51}},"22":{"start":{"line":44,"column":29},"end":{"line":44,"column":46}},"23":{"start":{"line":45,"column":25},"end":{"line":45,"column":49}},"24":{"start":{"line":47,"column":8},"end":{"line":47,"column":46}},"25":{"start":{"line":51,"column":23},"end":{"line":51,"column":56}},"26":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"27":{"start":{"line":55,"column":6},"end":{"line":55,"column":81}},"28":{"start":{"line":56,"column":6},"end":{"line":56,"column":18}},"29":{"start":{"line":59,"column":4},"end":{"line":59,"column":25}},"30":{"start":{"line":61,"column":2},"end":{"line":61,"column":14}}},"fnMap":{"0":{"name":"getNewStyleId","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":35}},"loc":{"start":{"line":6,"column":124},"end":{"line":62,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":57},"end":{"line":22,"column":58}},"loc":{"start":{"line":22,"column":72},"end":{"line":22,"column":104}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":50},"end":{"line":42,"column":51}},"loc":{"start":{"line":42,"column":63},"end":{"line":46,"column":9}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":18},"end":{"line":44,"column":19}},"loc":{"start":{"line":44,"column":29},"end":{"line":44,"column":46}},"line":44},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":19},"end":{"line":45,"column":20}},"loc":{"start":{"line":45,"column":25},"end":{"line":45,"column":49}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":16},"2":{"loc":{"start":{"line":23,"column":2},"end":{"line":60,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":60,"column":3}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":27},"4":{"loc":{"start":{"line":35,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":49,"column":5}},{"start":{"line":37,"column":11},"end":{"line":49,"column":5}}],"line":35},"5":{"loc":{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":41,"column":6},"end":{"line":48,"column":7}},{"start":{},"end":{}}],"line":41},"6":{"loc":{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":54}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getThemeReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getThemeReferences.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":10,"column":42}},"1":{"start":{"line":12,"column":20},"end":{"line":14,"column":4}},"2":{"start":{"line":16,"column":52},"end":{"line":16,"column":61}},"3":{"start":{"line":17,"column":59},"end":{"line":17,"column":68}},"4":{"start":{"line":19,"column":23},"end":{"line":19,"column":124}},"5":{"start":{"line":19,"column":59},"end":{"line":19,"column":123}},"6":{"start":{"line":19,"column":108},"end":{"line":19,"column":122}},"7":{"start":{"line":21,"column":26},"end":{"line":21,"column":113}},"8":{"start":{"line":23,"column":2},"end":{"line":34,"column":5}},"9":{"start":{"line":24,"column":4},"end":{"line":28,"column":7}},"10":{"start":{"line":25,"column":6},"end":{"line":27,"column":7}},"11":{"start":{"line":26,"column":8},"end":{"line":26,"column":55}},"12":{"start":{"line":29,"column":4},"end":{"line":33,"column":7}},"13":{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},"14":{"start":{"line":31,"column":8},"end":{"line":31,"column":49}},"15":{"start":{"line":37,"column":43},"end":{"line":39,"column":100}},"16":{"start":{"line":37,"column":71},"end":{"line":38,"column":62}},"17":{"start":{"line":38,"column":29},"end":{"line":38,"column":61}},"18":{"start":{"line":39,"column":20},"end":{"line":39,"column":92}},"19":{"start":{"line":39,"column":55},"end":{"line":39,"column":91}},"20":{"start":{"line":42,"column":45},"end":{"line":43,"column":98}},"21":{"start":{"line":42,"column":80},"end":{"line":43,"column":97}},"22":{"start":{"line":43,"column":30},"end":{"line":43,"column":96}},"23":{"start":{"line":45,"column":2},"end":{"line":51,"column":5}},"24":{"start":{"line":46,"column":4},"end":{"line":50,"column":7}},"25":{"start":{"line":47,"column":6},"end":{"line":49,"column":7}},"26":{"start":{"line":48,"column":8},"end":{"line":48,"column":55}},"27":{"start":{"line":54,"column":25},"end":{"line":54,"column":59}},"28":{"start":{"line":56,"column":2},"end":{"line":61,"column":5}},"29":{"start":{"line":57,"column":35},"end":{"line":57,"column":71}},"30":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"31":{"start":{"line":59,"column":6},"end":{"line":59,"column":72}},"32":{"start":{"line":63,"column":23},"end":{"line":63,"column":51}},"33":{"start":{"line":64,"column":22},"end":{"line":64,"column":49}},"34":{"start":{"line":65,"column":21},"end":{"line":65,"column":47}},"35":{"start":{"line":66,"column":22},"end":{"line":66,"column":70}},"36":{"start":{"line":69,"column":2},"end":{"line":74,"column":5}},"37":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"38":{"start":{"line":71,"column":34},"end":{"line":71,"column":67}},"39":{"start":{"line":72,"column":6},"end":{"line":72,"column":62}},"40":{"start":{"line":76,"column":2},"end":{"line":78,"column":4}}},"fnMap":{"0":{"name":"getThemeReferences","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":40}},"loc":{"start":{"line":9,"column":78},"end":{"line":79,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":48},"end":{"line":19,"column":49}},"loc":{"start":{"line":19,"column":59},"end":{"line":19,"column":123}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":101},"end":{"line":19,"column":102}},"loc":{"start":{"line":19,"column":108},"end":{"line":19,"column":122}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":24},"end":{"line":23,"column":25}},"loc":{"start":{"line":23,"column":35},"end":{"line":34,"column":3}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":65},"end":{"line":24,"column":66}},"loc":{"start":{"line":24,"column":90},"end":{"line":28,"column":5}},"line":24},"5":{"name":"(anonymous_5)","decl":{"start":{"line":29,"column":62},"end":{"line":29,"column":63}},"loc":{"start":{"line":29,"column":84},"end":{"line":33,"column":5}},"line":29},"6":{"name":"(anonymous_6)","decl":{"start":{"line":37,"column":60},"end":{"line":37,"column":61}},"loc":{"start":{"line":37,"column":71},"end":{"line":38,"column":62}},"line":37},"7":{"name":"(anonymous_7)","decl":{"start":{"line":38,"column":12},"end":{"line":38,"column":13}},"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":61}},"line":38},"8":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":10}},"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":92}},"line":39},"9":{"name":"(anonymous_9)","decl":{"start":{"line":39,"column":46},"end":{"line":39,"column":47}},"loc":{"start":{"line":39,"column":55},"end":{"line":39,"column":91}},"line":39},"10":{"name":"(anonymous_10)","decl":{"start":{"line":42,"column":69},"end":{"line":42,"column":70}},"loc":{"start":{"line":42,"column":80},"end":{"line":43,"column":97}},"line":42},"11":{"name":"(anonymous_11)","decl":{"start":{"line":43,"column":10},"end":{"line":43,"column":11}},"loc":{"start":{"line":43,"column":30},"end":{"line":43,"column":96}},"line":43},"12":{"name":"(anonymous_12)","decl":{"start":{"line":45,"column":46},"end":{"line":45,"column":47}},"loc":{"start":{"line":45,"column":57},"end":{"line":51,"column":3}},"line":45},"13":{"name":"(anonymous_13)","decl":{"start":{"line":46,"column":65},"end":{"line":46,"column":66}},"loc":{"start":{"line":46,"column":90},"end":{"line":50,"column":5}},"line":46},"14":{"name":"(anonymous_14)","decl":{"start":{"line":56,"column":25},"end":{"line":56,"column":26}},"loc":{"start":{"line":56,"column":39},"end":{"line":61,"column":3}},"line":56},"15":{"name":"(anonymous_15)","decl":{"start":{"line":69,"column":22},"end":{"line":69,"column":23}},"loc":{"start":{"line":69,"column":33},"end":{"line":74,"column":3}},"line":69}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":26},"end":{"line":21,"column":113}},"type":"cond-expr","locations":[{"start":{"line":21,"column":81},"end":{"line":21,"column":101}},{"start":{"line":21,"column":104},"end":{"line":21,"column":113}}],"line":21},"1":{"loc":{"start":{"line":21,"column":26},"end":{"line":21,"column":78}},"type":"binary-expr","locations":[{"start":{"line":21,"column":26},"end":{"line":21,"column":51}},{"start":{"line":21,"column":55},"end":{"line":21,"column":78}}],"line":21},"2":{"loc":{"start":{"line":24,"column":19},"end":{"line":24,"column":55}},"type":"binary-expr","locations":[{"start":{"line":24,"column":19},"end":{"line":24,"column":49}},{"start":{"line":24,"column":53},"end":{"line":24,"column":55}}],"line":24},"3":{"loc":{"start":{"line":25,"column":6},"end":{"line":27,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":27,"column":7}},{"start":{},"end":{}}],"line":25},"4":{"loc":{"start":{"line":29,"column":19},"end":{"line":29,"column":52}},"type":"binary-expr","locations":[{"start":{"line":29,"column":19},"end":{"line":29,"column":46}},{"start":{"line":29,"column":50},"end":{"line":29,"column":52}}],"line":29},"5":{"loc":{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},{"start":{},"end":{}}],"line":30},"6":{"loc":{"start":{"line":46,"column":19},"end":{"line":46,"column":55}},"type":"binary-expr","locations":[{"start":{"line":46,"column":19},"end":{"line":46,"column":49}},{"start":{"line":46,"column":53},"end":{"line":46,"column":55}}],"line":46},"7":{"loc":{"start":{"line":47,"column":6},"end":{"line":49,"column":7}},"type":"if","locations":[{"start":{"line":47,"column":6},"end":{"line":49,"column":7}},{"start":{},"end":{}}],"line":47},"8":{"loc":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":58},"9":{"loc":{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":73,"column":5}},{"start":{},"end":{}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/gotoNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/gotoNode.ts","statementMap":{"0":{"start":{"line":5,"column":82},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":19}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":82},"end":{"line":5,"column":83}},"loc":{"start":{"line":5,"column":97},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/notify.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/notify.ts","statementMap":{"0":{"start":{"line":5,"column":77},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":77},"end":{"line":5,"column":78}},"loc":{"start":{"line":5,"column":92},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/preview.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/preview.ts","statementMap":{"0":{"start":{"line":5,"column":109},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":17},"end":{"line":6,"column":32}},"2":{"start":{"line":8,"column":2},"end":{"line":11,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":109},"end":{"line":5,"column":110}},"loc":{"start":{"line":5,"column":121},"end":{"line":12,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullStyles.ts","statementMap":{"0":{"start":{"line":5,"column":86},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":86},"end":{"line":5,"column":87}},"loc":{"start":{"line":5,"column":101},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/pullVariables.ts","statementMap":{"0":{"start":{"line":5,"column":92},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":92},"end":{"line":5,"column":93}},"loc":{"start":{"line":5,"column":107},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/remapTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/remapTokens.ts","statementMap":{"0":{"start":{"line":12,"column":88},"end":{"line":58,"column":1}},"1":{"start":{"line":13,"column":2},"end":{"line":57,"column":3}},"2":{"start":{"line":16,"column":8},"end":{"line":16,"column":11}},"3":{"start":{"line":17,"column":24},"end":{"line":17,"column":86}},"4":{"start":{"line":18,"column":22},"end":{"line":18,"column":55}},"5":{"start":{"line":19,"column":4},"end":{"line":27,"column":7}},"6":{"start":{"line":29,"column":20},"end":{"line":29,"column":79}},"7":{"start":{"line":30,"column":41},"end":{"line":30,"column":50}},"8":{"start":{"line":32,"column":4},"end":{"line":46,"column":7}},"9":{"start":{"line":33,"column":6},"end":{"line":45,"column":10}},"10":{"start":{"line":34,"column":8},"end":{"line":42,"column":11}},"11":{"start":{"line":35,"column":10},"end":{"line":37,"column":11}},"12":{"start":{"line":36,"column":12},"end":{"line":36,"column":19}},"13":{"start":{"line":38,"column":10},"end":{"line":41,"column":11}},"14":{"start":{"line":39,"column":30},"end":{"line":39,"column":53}},"15":{"start":{"line":40,"column":12},"end":{"line":40,"column":64}},"16":{"start":{"line":43,"column":8},"end":{"line":43,"column":23}},"17":{"start":{"line":44,"column":8},"end":{"line":44,"column":36}},"18":{"start":{"line":48,"column":4},"end":{"line":48,"column":32}},"19":{"start":{"line":50,"column":4},"end":{"line":53,"column":7}},"20":{"start":{"line":54,"column":4},"end":{"line":54,"column":32}},"21":{"start":{"line":56,"column":4},"end":{"line":56,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":88},"end":{"line":12,"column":89}},"loc":{"start":{"line":12,"column":103},"end":{"line":58,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":24},"end":{"line":32,"column":25}},"loc":{"start":{"line":32,"column":46},"end":{"line":46,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":42},"end":{"line":33,"column":43}},"loc":{"start":{"line":33,"column":54},"end":{"line":45,"column":7}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":35},"end":{"line":34,"column":36}},"loc":{"start":{"line":34,"column":59},"end":{"line":42,"column":9}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":10},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":35,"column":10},"end":{"line":37,"column":11}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":35,"column":14},"end":{"line":35,"column":65}},"type":"binary-expr","locations":[{"start":{"line":35,"column":14},"end":{"line":35,"column":45}},{"start":{"line":35,"column":49},"end":{"line":35,"column":65}}],"line":35},"2":{"loc":{"start":{"line":38,"column":10},"end":{"line":41,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":41,"column":11}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeSingleCredential.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeSingleCredential.ts","statementMap":{"0":{"start":{"line":5,"column":111},"end":{"line":8,"column":1}},"1":{"start":{"line":6,"column":22},"end":{"line":6,"column":25}},"2":{"start":{"line":7,"column":2},"end":{"line":7,"column":45}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":111},"end":{"line":5,"column":112}},"loc":{"start":{"line":5,"column":126},"end":{"line":8,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStyles.ts","statementMap":{"0":{"start":{"line":5,"column":90},"end":{"line":17,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":12,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":9,"column":6}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":21}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":90},"end":{"line":5,"column":91}},"loc":{"start":{"line":5,"column":105},"end":{"line":17,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts","statementMap":{"0":{"start":{"line":4,"column":126},"end":{"line":22,"column":1}},"1":{"start":{"line":5,"column":2},"end":{"line":21,"column":3}},"2":{"start":{"line":6,"column":16},"end":{"line":6,"column":17}},"3":{"start":{"line":7,"column":24},"end":{"line":11,"column":40}},"4":{"start":{"line":11,"column":25},"end":{"line":11,"column":39}},"5":{"start":{"line":12,"column":4},"end":{"line":17,"column":7}},"6":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"7":{"start":{"line":14,"column":8},"end":{"line":14,"column":23}},"8":{"start":{"line":15,"column":8},"end":{"line":15,"column":19}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":43}},"10":{"start":{"line":20,"column":4},"end":{"line":20,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":126},"end":{"line":4,"column":127}},"loc":{"start":{"line":4,"column":141},"end":{"line":22,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":12},"end":{"line":11,"column":13}},"loc":{"start":{"line":11,"column":25},"end":{"line":11,"column":39}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":35},"end":{"line":17,"column":5}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeTokensByValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/removeTokensByValue.ts","statementMap":{"0":{"start":{"line":7,"column":106},"end":{"line":20,"column":1}},"1":{"start":{"line":8,"column":63},"end":{"line":8,"column":65}},"2":{"start":{"line":10,"column":2},"end":{"line":15,"column":5}},"3":{"start":{"line":11,"column":4},"end":{"line":14,"column":8}},"4":{"start":{"line":12,"column":24},"end":{"line":12,"column":50}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":82}},"6":{"start":{"line":13,"column":21},"end":{"line":13,"column":82}},"7":{"start":{"line":17,"column":2},"end":{"line":17,"column":87}},"8":{"start":{"line":17,"column":28},"end":{"line":17,"column":87}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":106},"end":{"line":7,"column":107}},"loc":{"start":{"line":7,"column":121},"end":{"line":20,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":29},"end":{"line":10,"column":30}},"loc":{"start":{"line":10,"column":40},"end":{"line":15,"column":3}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":35},"end":{"line":14,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":82}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":82}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":17,"column":2},"end":{"line":17,"column":87}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":17,"column":87}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameStyles.ts","statementMap":{"0":{"start":{"line":5,"column":90},"end":{"line":17,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":12,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":9,"column":6}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":21}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":90},"end":{"line":5,"column":91}},"loc":{"start":{"line":5,"column":105},"end":{"line":17,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/renameVariables.ts","statementMap":{"0":{"start":{"line":5,"column":96},"end":{"line":7,"column":2}},"1":{"start":{"line":5,"column":112},"end":{"line":7,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":96},"end":{"line":5,"column":97}},"loc":{"start":{"line":5,"column":112},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resizeWindow.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resizeWindow.ts","statementMap":{"0":{"start":{"line":4,"column":90},"end":{"line":6,"column":1}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":90},"end":{"line":4,"column":91}},"loc":{"start":{"line":4,"column":105},"end":{"line":6,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts","statementMap":{"0":{"start":{"line":4,"column":99},"end":{"line":43,"column":1}},"1":{"start":{"line":5,"column":25},"end":{"line":9,"column":3}},"2":{"start":{"line":11,"column":25},"end":{"line":38,"column":3}},"3":{"start":{"line":13,"column":28},"end":{"line":13,"column":60}},"4":{"start":{"line":14,"column":6},"end":{"line":25,"column":7}},"5":{"start":{"line":15,"column":8},"end":{"line":24,"column":9}},"6":{"start":{"line":16,"column":30},"end":{"line":16,"column":81}},"7":{"start":{"line":17,"column":10},"end":{"line":21,"column":12}},"8":{"start":{"line":23,"column":10},"end":{"line":23,"column":29}},"9":{"start":{"line":27,"column":25},"end":{"line":27,"column":72}},"10":{"start":{"line":27,"column":56},"end":{"line":27,"column":71}},"11":{"start":{"line":28,"column":6},"end":{"line":34,"column":7}},"12":{"start":{"line":29,"column":8},"end":{"line":33,"column":10}},"13":{"start":{"line":36,"column":6},"end":{"line":36,"column":20}},"14":{"start":{"line":40,"column":2},"end":{"line":42,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":99},"end":{"line":4,"column":100}},"loc":{"start":{"line":4,"column":114},"end":{"line":43,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":21},"end":{"line":12,"column":22}},"loc":{"start":{"line":12,"column":35},"end":{"line":37,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":45},"end":{"line":27,"column":46}},"loc":{"start":{"line":27,"column":56},"end":{"line":27,"column":71}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":28,"column":6},"end":{"line":34,"column":7}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":34,"column":7}},{"start":{},"end":{}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts","statementMap":{"0":{"start":{"line":9,"column":105},"end":{"line":31,"column":1}},"1":{"start":{"line":10,"column":27},"end":{"line":10,"column":50}},"2":{"start":{"line":11,"column":63},"end":{"line":11,"column":65}},"3":{"start":{"line":12,"column":2},"end":{"line":27,"column":6}},"4":{"start":{"line":13,"column":4},"end":{"line":26,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":17,"column":8}},"6":{"start":{"line":19,"column":23},"end":{"line":19,"column":81}},"7":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"8":{"start":{"line":21,"column":8},"end":{"line":24,"column":10}},"9":{"start":{"line":28,"column":2},"end":{"line":30,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":105},"end":{"line":9,"column":106}},"loc":{"start":{"line":9,"column":120},"end":{"line":31,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":40},"end":{"line":12,"column":41}},"loc":{"start":{"line":12,"column":62},"end":{"line":27,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":26,"column":5}},{"start":{"line":18,"column":11},"end":{"line":26,"column":5}}],"line":13},"1":{"loc":{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":20,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/selectNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/selectNodes.ts","statementMap":{"0":{"start":{"line":7,"column":88},"end":{"line":9,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":88},"end":{"line":7,"column":89}},"loc":{"start":{"line":7,"column":103},"end":{"line":9,"column":1}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setAuthData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setAuthData.ts","statementMap":{"0":{"start":{"line":5,"column":89},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":89},"end":{"line":5,"column":90}},"loc":{"start":{"line":5,"column":104},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setInitialLoad.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setInitialLoad.ts","statementMap":{"0":{"start":{"line":5,"column":95},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":95},"end":{"line":5,"column":96}},"loc":{"start":{"line":5,"column":110},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setLicenseKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setLicenseKey.ts","statementMap":{"0":{"start":{"line":5,"column":93},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":93},"end":{"line":5,"column":94}},"loc":{"start":{"line":5,"column":108},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNodeData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNodeData.ts","statementMap":{"0":{"start":{"line":9,"column":89},"end":{"line":35,"column":1}},"1":{"start":{"line":10,"column":2},"end":{"line":34,"column":3}},"2":{"start":{"line":11,"column":4},"end":{"line":31,"column":5}},"3":{"start":{"line":12,"column":24},"end":{"line":12,"column":56}},"4":{"start":{"line":13,"column":20},"end":{"line":13,"column":47}},"5":{"start":{"line":16,"column":10},"end":{"line":16,"column":74}},"6":{"start":{"line":18,"column":6},"end":{"line":25,"column":9}},"7":{"start":{"line":27,"column":6},"end":{"line":29,"column":9}},"8":{"start":{"line":30,"column":6},"end":{"line":30,"column":28}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":89},"end":{"line":9,"column":90}},"loc":{"start":{"line":9,"column":104},"end":{"line":35,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts","statementMap":{"0":{"start":{"line":12,"column":107},"end":{"line":53,"column":1}},"1":{"start":{"line":13,"column":57},"end":{"line":13,"column":59}},"2":{"start":{"line":15,"column":2},"end":{"line":19,"column":5}},"3":{"start":{"line":16,"column":4},"end":{"line":18,"column":7}},"4":{"start":{"line":17,"column":6},"end":{"line":17,"column":104}},"5":{"start":{"line":20,"column":2},"end":{"line":28,"column":5}},"6":{"start":{"line":30,"column":18},"end":{"line":30,"column":77}},"7":{"start":{"line":31,"column":39},"end":{"line":31,"column":48}},"8":{"start":{"line":33,"column":2},"end":{"line":44,"column":5}},"9":{"start":{"line":34,"column":4},"end":{"line":43,"column":8}},"10":{"start":{"line":35,"column":6},"end":{"line":40,"column":9}},"11":{"start":{"line":36,"column":29},"end":{"line":36,"column":54}},"12":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"13":{"start":{"line":38,"column":10},"end":{"line":38,"column":66}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":21}},"15":{"start":{"line":42,"column":6},"end":{"line":42,"column":34}},"16":{"start":{"line":46,"column":2},"end":{"line":46,"column":30}},"17":{"start":{"line":48,"column":2},"end":{"line":51,"column":5}},"18":{"start":{"line":52,"column":2},"end":{"line":52,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":107},"end":{"line":12,"column":108}},"loc":{"start":{"line":12,"column":122},"end":{"line":53,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":26},"end":{"line":15,"column":27}},"loc":{"start":{"line":15,"column":37},"end":{"line":19,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":25}},"loc":{"start":{"line":16,"column":36},"end":{"line":18,"column":5}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":40},"end":{"line":33,"column":41}},"loc":{"start":{"line":33,"column":60},"end":{"line":44,"column":3}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":40},"end":{"line":34,"column":41}},"loc":{"start":{"line":34,"column":52},"end":{"line":43,"column":5}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":19},"end":{"line":35,"column":20}},"loc":{"start":{"line":35,"column":34},"end":{"line":40,"column":7}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":26},"end":{"line":17,"column":103}},"type":"cond-expr","locations":[{"start":{"line":17,"column":46},"end":{"line":17,"column":84}},{"start":{"line":17,"column":87},"end":{"line":17,"column":103}}],"line":17},"1":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},{"start":{},"end":{}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts","statementMap":{"0":{"start":{"line":5,"column":130},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":77}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":130},"end":{"line":5,"column":131}},"loc":{"start":{"line":5,"column":145},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts","statementMap":{"0":{"start":{"line":5,"column":124},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":71}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":124},"end":{"line":5,"column":125}},"loc":{"start":{"line":5,"column":139},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts","statementMap":{"0":{"start":{"line":5,"column":118},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":118},"end":{"line":5,"column":119}},"loc":{"start":{"line":5,"column":133},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts","statementMap":{"0":{"start":{"line":5,"column":136},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":83}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":136},"end":{"line":5,"column":137}},"loc":{"start":{"line":5,"column":151},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts","statementMap":{"0":{"start":{"line":5,"column":104},"end":{"line":9,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":104},"end":{"line":5,"column":105}},"loc":{"start":{"line":5,"column":119},"end":{"line":9,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setStorageType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setStorageType.ts","statementMap":{"0":{"start":{"line":5,"column":95},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":95},"end":{"line":5,"column":96}},"loc":{"start":{"line":5,"column":110},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUi.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUi.ts","statementMap":{"0":{"start":{"line":8,"column":76},"end":{"line":44,"column":1}},"1":{"start":{"line":9,"column":16},"end":{"line":9,"column":62}},"2":{"start":{"line":10,"column":17},"end":{"line":10,"column":65}},"3":{"start":{"line":11,"column":2},"end":{"line":38,"column":5}},"4":{"start":{"line":39,"column":2},"end":{"line":39,"column":33}},"5":{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},"6":{"start":{"line":41,"column":4},"end":{"line":41,"column":40}},"7":{"start":{"line":42,"column":4},"end":{"line":42,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":76},"end":{"line":8,"column":77}},"loc":{"start":{"line":8,"column":91},"end":{"line":44,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":62}},"type":"binary-expr","locations":[{"start":{"line":9,"column":16},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":62}}],"line":9},"1":{"loc":{"start":{"line":10,"column":17},"end":{"line":10,"column":65}},"type":"binary-expr","locations":[{"start":{"line":10,"column":17},"end":{"line":10,"column":37}},{"start":{"line":10,"column":41},"end":{"line":10,"column":65}}],"line":10},"2":{"loc":{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},{"start":{},"end":{}}],"line":40}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUsedEmail.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/setUsedEmail.ts","statementMap":{"0":{"start":{"line":5,"column":91},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":91},"end":{"line":5,"column":92}},"loc":{"start":{"line":5,"column":106},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":32},"end":{"line":6,"column":49}},"type":"binary-expr","locations":[{"start":{"line":6,"column":32},"end":{"line":6,"column":41}},{"start":{"line":6,"column":45},"end":{"line":6,"column":49}}],"line":6}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/swapStyles.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/swapStyles.ts","statementMap":{"0":{"start":{"line":7,"column":32},"end":{"line":7,"column":34}},"1":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"2":{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},"3":{"start":{"line":10,"column":38},"end":{"line":10,"column":83}},"4":{"start":{"line":11,"column":6},"end":{"line":11,"column":12}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":85}},"6":{"start":{"line":13,"column":39},"end":{"line":13,"column":85}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":12}},"8":{"start":{"line":16,"column":6},"end":{"line":16,"column":77}},"9":{"start":{"line":16,"column":44},"end":{"line":16,"column":75}},"10":{"start":{"line":17,"column":6},"end":{"line":17,"column":12}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":51}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":12}},"13":{"start":{"line":22,"column":2},"end":{"line":22,"column":18}},"14":{"start":{"line":27,"column":23},"end":{"line":27,"column":122}},"15":{"start":{"line":27,"column":48},"end":{"line":27,"column":102}},"16":{"start":{"line":27,"column":87},"end":{"line":27,"column":101}},"17":{"start":{"line":27,"column":115},"end":{"line":27,"column":121}},"18":{"start":{"line":29,"column":32},"end":{"line":36,"column":25}},"19":{"start":{"line":30,"column":4},"end":{"line":34,"column":5}},"20":{"start":{"line":31,"column":6},"end":{"line":33,"column":9}},"21":{"start":{"line":32,"column":8},"end":{"line":32,"column":70}},"22":{"start":{"line":35,"column":4},"end":{"line":35,"column":15}},"23":{"start":{"line":39,"column":22},"end":{"line":44,"column":22}},"24":{"start":{"line":40,"column":4},"end":{"line":42,"column":7}},"25":{"start":{"line":41,"column":6},"end":{"line":41,"column":31}},"26":{"start":{"line":43,"column":4},"end":{"line":43,"column":15}},"27":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"28":{"start":{"line":46,"column":4},"end":{"line":46,"column":11}},"29":{"start":{"line":49,"column":2},"end":{"line":51,"column":5}},"30":{"start":{"line":50,"column":4},"end":{"line":50,"column":81}}},"fnMap":{"0":{"name":"getRootNode","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":20}},"loc":{"start":{"line":6,"column":45},"end":{"line":23,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":34},"end":{"line":16,"column":35}},"loc":{"start":{"line":16,"column":44},"end":{"line":16,"column":75}},"line":16},"2":{"name":"swapStyles","decl":{"start":{"line":26,"column":22},"end":{"line":26,"column":32}},"loc":{"start":{"line":26,"column":120},"end":{"line":52,"column":1}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":27,"column":37},"end":{"line":27,"column":38}},"loc":{"start":{"line":27,"column":48},"end":{"line":27,"column":102}},"line":27},"4":{"name":"(anonymous_4)","decl":{"start":{"line":27,"column":80},"end":{"line":27,"column":81}},"loc":{"start":{"line":27,"column":87},"end":{"line":27,"column":101}},"line":27},"5":{"name":"(anonymous_5)","decl":{"start":{"line":27,"column":108},"end":{"line":27,"column":109}},"loc":{"start":{"line":27,"column":115},"end":{"line":27,"column":121}},"line":27},"6":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":46},"end":{"line":29,"column":47}},"loc":{"start":{"line":29,"column":62},"end":{"line":36,"column":3}},"line":29},"7":{"name":"(anonymous_7)","decl":{"start":{"line":31,"column":58},"end":{"line":31,"column":59}},"loc":{"start":{"line":31,"column":84},"end":{"line":33,"column":7}},"line":31},"8":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":67},"end":{"line":39,"column":68}},"loc":{"start":{"line":39,"column":98},"end":{"line":44,"column":3}},"line":39},"9":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":35},"end":{"line":40,"column":36}},"loc":{"start":{"line":40,"column":48},"end":{"line":42,"column":5}},"line":40},"10":{"name":"(anonymous_10)","decl":{"start":{"line":49,"column":34},"end":{"line":49,"column":35}},"loc":{"start":{"line":49,"column":45},"end":{"line":51,"column":3}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"type":"switch","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":12}},{"start":{"line":12,"column":4},"end":{"line":14,"column":12}},{"start":{"line":15,"column":4},"end":{"line":17,"column":12}},{"start":{"line":18,"column":4},"end":{"line":20,"column":12}}],"line":8},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},"type":"if","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":83}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":85}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":85}},{"start":{},"end":{}}],"line":13},"3":{"loc":{"start":{"line":30,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":30},"4":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":45},"5":{"loc":{"start":{"line":45,"column":6},"end":{"line":45,"column":71}},"type":"binary-expr","locations":[{"start":{"line":45,"column":6},"end":{"line":45,"column":29}},{"start":{"line":45,"column":33},"end":{"line":45,"column":55}},{"start":{"line":45,"column":59},"end":{"line":45,"column":71}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/update.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/update.ts","statementMap":{"0":{"start":{"line":13,"column":77},"end":{"line":64,"column":1}},"1":{"start":{"line":14,"column":39},"end":{"line":14,"column":41}},"2":{"start":{"line":15,"column":2},"end":{"line":30,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":29,"column":7}},"4":{"start":{"line":31,"column":2},"end":{"line":59,"column":3}},"5":{"start":{"line":34,"column":8},"end":{"line":34,"column":72}},"6":{"start":{"line":35,"column":4},"end":{"line":43,"column":7}},"7":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"8":{"start":{"line":47,"column":6},"end":{"line":47,"column":58}},"9":{"start":{"line":50,"column":4},"end":{"line":52,"column":7}},"10":{"start":{"line":54,"column":4},"end":{"line":54,"column":49}},"11":{"start":{"line":55,"column":30},"end":{"line":55,"column":126}},"12":{"start":{"line":56,"column":4},"end":{"line":58,"column":5}},"13":{"start":{"line":57,"column":6},"end":{"line":57,"column":77}},"14":{"start":{"line":61,"column":2},"end":{"line":63,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":77},"end":{"line":13,"column":78}},"loc":{"start":{"line":13,"column":92},"end":{"line":64,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":30,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":30,"column":3}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":38}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":21}},{"start":{"line":15,"column":25},"end":{"line":15,"column":38}}],"line":15},"2":{"loc":{"start":{"line":24,"column":23},"end":{"line":24,"column":51}},"type":"binary-expr","locations":[{"start":{"line":24,"column":23},"end":{"line":24,"column":42}},{"start":{"line":24,"column":46},"end":{"line":24,"column":51}}],"line":24},"3":{"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":63}},"type":"binary-expr","locations":[{"start":{"line":26,"column":19},"end":{"line":26,"column":34}},{"start":{"line":26,"column":38},"end":{"line":26,"column":63}}],"line":26},"4":{"loc":{"start":{"line":31,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":59,"column":3}},{"start":{},"end":{}}],"line":31},"5":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":46},"6":{"loc":{"start":{"line":56,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":56,"column":4},"end":{"line":58,"column":5}},{"start":{},"end":{}}],"line":56},"7":{"loc":{"start":{"line":56,"column":8},"end":{"line":56,"column":91}},"type":"binary-expr","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":23}},{"start":{"line":56,"column":27},"end":{"line":56,"column":37}},{"start":{"line":56,"column":41},"end":{"line":56,"column":70}},{"start":{"line":56,"column":74},"end":{"line":56,"column":91}}],"line":56}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts","statementMap":{"0":{"start":{"line":6,"column":110},"end":{"line":9,"column":1}},"1":{"start":{"line":7,"column":18},"end":{"line":7,"column":36}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":106}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":110},"end":{"line":6,"column":111}},"loc":{"start":{"line":6,"column":125},"end":{"line":9,"column":1}},"line":6}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateVariables.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/updateVariables.ts","statementMap":{"0":{"start":{"line":5,"column":96},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":47}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":96},"end":{"line":5,"column":97}},"loc":{"start":{"line":5,"column":111},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/boxShadow.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/boxShadow.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"1":{"start":{"line":6,"column":6},"end":{"line":6,"column":28}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":27}},"3":{"start":{"line":13,"column":2},"end":{"line":18,"column":3}},"4":{"start":{"line":15,"column":6},"end":{"line":15,"column":41}},"5":{"start":{"line":17,"column":6},"end":{"line":17,"column":40}}},"fnMap":{"0":{"name":"convertBoxShadowTypeToFigma","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":59},"end":{"line":10,"column":1}},"line":3},"1":{"name":"convertBoxShadowTypeFromFigma","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":45}},"loc":{"start":{"line":12,"column":61},"end":{"line":19,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"type":"switch","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":28}},{"start":{"line":7,"column":4},"end":{"line":8,"column":27}}],"line":4},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":18,"column":3}},"type":"switch","locations":[{"start":{"line":14,"column":4},"end":{"line":15,"column":41}},{"start":{"line":16,"column":4},"end":{"line":17,"column":40}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/colors.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/colors.ts","statementMap":{"0":{"start":{"line":13,"column":12},"end":{"line":13,"column":37}},"1":{"start":{"line":14,"column":12},"end":{"line":14,"column":39}},"2":{"start":{"line":15,"column":12},"end":{"line":15,"column":38}},"3":{"start":{"line":16,"column":12},"end":{"line":16,"column":60}},"4":{"start":{"line":18,"column":19},"end":{"line":25,"column":3}},"5":{"start":{"line":28,"column":2},"end":{"line":32,"column":5}},"6":{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},"7":{"start":{"line":30,"column":6},"end":{"line":30,"column":31}},"8":{"start":{"line":34,"column":2},"end":{"line":34,"column":33}},"9":{"start":{"line":38,"column":12},"end":{"line":38,"column":25}},"10":{"start":{"line":39,"column":10},"end":{"line":39,"column":23}},"11":{"start":{"line":40,"column":10},"end":{"line":40,"column":23}},"12":{"start":{"line":41,"column":12},"end":{"line":41,"column":32}},"13":{"start":{"line":44,"column":2},"end":{"line":44,"column":11}},"14":{"start":{"line":45,"column":2},"end":{"line":45,"column":11}},"15":{"start":{"line":47,"column":12},"end":{"line":47,"column":41}},"16":{"start":{"line":48,"column":12},"end":{"line":48,"column":50}},"17":{"start":{"line":49,"column":12},"end":{"line":49,"column":21}},"18":{"start":{"line":50,"column":10},"end":{"line":50,"column":11}},"19":{"start":{"line":51,"column":10},"end":{"line":51,"column":11}},"20":{"start":{"line":52,"column":10},"end":{"line":52,"column":11}},"21":{"start":{"line":54,"column":2},"end":{"line":78,"column":3}},"22":{"start":{"line":55,"column":4},"end":{"line":55,"column":10}},"23":{"start":{"line":56,"column":4},"end":{"line":56,"column":10}},"24":{"start":{"line":57,"column":4},"end":{"line":57,"column":10}},"25":{"start":{"line":58,"column":9},"end":{"line":78,"column":3}},"26":{"start":{"line":59,"column":4},"end":{"line":59,"column":10}},"27":{"start":{"line":60,"column":4},"end":{"line":60,"column":10}},"28":{"start":{"line":61,"column":4},"end":{"line":61,"column":10}},"29":{"start":{"line":62,"column":9},"end":{"line":78,"column":3}},"30":{"start":{"line":63,"column":4},"end":{"line":63,"column":10}},"31":{"start":{"line":64,"column":4},"end":{"line":64,"column":10}},"32":{"start":{"line":65,"column":4},"end":{"line":65,"column":10}},"33":{"start":{"line":66,"column":9},"end":{"line":78,"column":3}},"34":{"start":{"line":67,"column":4},"end":{"line":67,"column":10}},"35":{"start":{"line":68,"column":4},"end":{"line":68,"column":10}},"36":{"start":{"line":69,"column":4},"end":{"line":69,"column":10}},"37":{"start":{"line":70,"column":9},"end":{"line":78,"column":3}},"38":{"start":{"line":71,"column":4},"end":{"line":71,"column":10}},"39":{"start":{"line":72,"column":4},"end":{"line":72,"column":10}},"40":{"start":{"line":73,"column":4},"end":{"line":73,"column":10}},"41":{"start":{"line":74,"column":9},"end":{"line":78,"column":3}},"42":{"start":{"line":75,"column":4},"end":{"line":75,"column":10}},"43":{"start":{"line":76,"column":4},"end":{"line":76,"column":10}},"44":{"start":{"line":77,"column":4},"end":{"line":77,"column":10}},"45":{"start":{"line":79,"column":2},"end":{"line":79,"column":32}},"46":{"start":{"line":80,"column":2},"end":{"line":80,"column":32}},"47":{"start":{"line":81,"column":2},"end":{"line":81,"column":32}},"48":{"start":{"line":83,"column":2},"end":{"line":83,"column":22}},"49":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"50":{"start":{"line":93,"column":2},"end":{"line":121,"column":3}},"51":{"start":{"line":94,"column":22},"end":{"line":94,"column":98}},"52":{"start":{"line":98,"column":8},"end":{"line":98,"column":35}},"53":{"start":{"line":99,"column":4},"end":{"line":101,"column":6}},"54":{"start":{"line":102,"column":4},"end":{"line":102,"column":24}},"55":{"start":{"line":103,"column":9},"end":{"line":121,"column":3}},"56":{"start":{"line":104,"column":22},"end":{"line":104,"column":89}},"57":{"start":{"line":105,"column":27},"end":{"line":105,"column":48}},"58":{"start":{"line":108,"column":8},"end":{"line":108,"column":35}},"59":{"start":{"line":109,"column":4},"end":{"line":111,"column":6}},"60":{"start":{"line":112,"column":4},"end":{"line":112,"column":24}},"61":{"start":{"line":116,"column":14},"end":{"line":116,"column":41}},"62":{"start":{"line":117,"column":4},"end":{"line":119,"column":6}},"63":{"start":{"line":120,"column":4},"end":{"line":120,"column":28}},"64":{"start":{"line":123,"column":2},"end":{"line":126,"column":4}},"65":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"66":{"start":{"line":131,"column":4},"end":{"line":131,"column":32}},"67":{"start":{"line":133,"column":2},"end":{"line":133,"column":49}},"68":{"start":{"line":137,"column":2},"end":{"line":137,"column":60}}},"fnMap":{"0":{"name":"RGBAToHexA","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":26}},"loc":{"start":{"line":12,"column":120},"end":{"line":35,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":19},"end":{"line":28,"column":20}},"loc":{"start":{"line":28,"column":32},"end":{"line":32,"column":3}},"line":28},"2":{"name":"hslaToRgba","decl":{"start":{"line":37,"column":16},"end":{"line":37,"column":26}},"loc":{"start":{"line":37,"column":49},"end":{"line":84,"column":1}},"line":37},"3":{"name":"roundToTwo","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":19}},"loc":{"start":{"line":86,"column":33},"end":{"line":88,"column":1}},"line":86},"4":{"name":"convertToFigmaColor","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":35}},"loc":{"start":{"line":90,"column":51},"end":{"line":127,"column":1}},"line":90},"5":{"name":"convertFigmaColorToHex","decl":{"start":{"line":129,"column":16},"end":{"line":129,"column":38}},"loc":{"start":{"line":129,"column":84},"end":{"line":134,"column":1}},"line":129},"6":{"name":"convertFigmaPaintToHex","decl":{"start":{"line":136,"column":16},"end":{"line":136,"column":38}},"loc":{"start":{"line":136,"column":66},"end":{"line":138,"column":1}},"line":136}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":29},"1":{"loc":{"start":{"line":41,"column":12},"end":{"line":41,"column":32}},"type":"binary-expr","locations":[{"start":{"line":41,"column":12},"end":{"line":41,"column":27}},{"start":{"line":41,"column":31},"end":{"line":41,"column":32}}],"line":41},"2":{"loc":{"start":{"line":54,"column":2},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":78,"column":3}},{"start":{"line":58,"column":9},"end":{"line":78,"column":3}}],"line":54},"3":{"loc":{"start":{"line":54,"column":6},"end":{"line":54,"column":22}},"type":"binary-expr","locations":[{"start":{"line":54,"column":6},"end":{"line":54,"column":12}},{"start":{"line":54,"column":16},"end":{"line":54,"column":22}}],"line":54},"4":{"loc":{"start":{"line":58,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":58,"column":9},"end":{"line":78,"column":3}},{"start":{"line":62,"column":9},"end":{"line":78,"column":3}}],"line":58},"5":{"loc":{"start":{"line":58,"column":13},"end":{"line":58,"column":31}},"type":"binary-expr","locations":[{"start":{"line":58,"column":13},"end":{"line":58,"column":20}},{"start":{"line":58,"column":24},"end":{"line":58,"column":31}}],"line":58},"6":{"loc":{"start":{"line":62,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":62,"column":9},"end":{"line":78,"column":3}},{"start":{"line":66,"column":9},"end":{"line":78,"column":3}}],"line":62},"7":{"loc":{"start":{"line":62,"column":13},"end":{"line":62,"column":32}},"type":"binary-expr","locations":[{"start":{"line":62,"column":13},"end":{"line":62,"column":21}},{"start":{"line":62,"column":25},"end":{"line":62,"column":32}}],"line":62},"8":{"loc":{"start":{"line":66,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":9},"end":{"line":78,"column":3}},{"start":{"line":70,"column":9},"end":{"line":78,"column":3}}],"line":66},"9":{"loc":{"start":{"line":66,"column":13},"end":{"line":66,"column":32}},"type":"binary-expr","locations":[{"start":{"line":66,"column":13},"end":{"line":66,"column":21}},{"start":{"line":66,"column":25},"end":{"line":66,"column":32}}],"line":66},"10":{"loc":{"start":{"line":70,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":9},"end":{"line":78,"column":3}},{"start":{"line":74,"column":9},"end":{"line":78,"column":3}}],"line":70},"11":{"loc":{"start":{"line":70,"column":13},"end":{"line":70,"column":32}},"type":"binary-expr","locations":[{"start":{"line":70,"column":13},"end":{"line":70,"column":21}},{"start":{"line":70,"column":25},"end":{"line":70,"column":32}}],"line":70},"12":{"loc":{"start":{"line":74,"column":9},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":74,"column":9},"end":{"line":78,"column":3}},{"start":{},"end":{}}],"line":74},"13":{"loc":{"start":{"line":74,"column":13},"end":{"line":74,"column":32}},"type":"binary-expr","locations":[{"start":{"line":74,"column":13},"end":{"line":74,"column":21}},{"start":{"line":74,"column":25},"end":{"line":74,"column":32}}],"line":74},"14":{"loc":{"start":{"line":93,"column":2},"end":{"line":121,"column":3}},"type":"if","locations":[{"start":{"line":93,"column":2},"end":{"line":121,"column":3}},{"start":{"line":103,"column":9},"end":{"line":121,"column":3}}],"line":93},"15":{"loc":{"start":{"line":97,"column":15},"end":{"line":97,"column":20}},"type":"default-arg","locations":[{"start":{"line":97,"column":19},"end":{"line":97,"column":20}}],"line":97},"16":{"loc":{"start":{"line":103,"column":9},"end":{"line":121,"column":3}},"type":"if","locations":[{"start":{"line":103,"column":9},"end":{"line":121,"column":3}},{"start":{"line":113,"column":9},"end":{"line":121,"column":3}}],"line":103},"17":{"loc":{"start":{"line":107,"column":15},"end":{"line":107,"column":20}},"type":"default-arg","locations":[{"start":{"line":107,"column":19},"end":{"line":107,"column":20}}],"line":107},"18":{"loc":{"start":{"line":115,"column":15},"end":{"line":115,"column":20}},"type":"default-arg","locations":[{"start":{"line":115,"column":19},"end":{"line":115,"column":20}}],"line":115},"19":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{},"end":{}}],"line":130}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0],"16":[0,0],"17":[0],"18":[0],"19":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":2,"column":38}},"1":{"start":{"line":3,"column":2},"end":{"line":12,"column":3}},"2":{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},"3":{"start":{"line":5,"column":27},"end":{"line":5,"column":49}},"4":{"start":{"line":6,"column":6},"end":{"line":6,"column":57}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":23}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}},"7":{"start":{"line":11,"column":4},"end":{"line":11,"column":23}}},"fnMap":{"0":{"name":"convertFontFamilyToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":40}},"loc":{"start":{"line":1,"column":90},"end":{"line":13,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":56},"end":{"line":1,"column":88}},"type":"default-arg","locations":[{"start":{"line":1,"column":83},"end":{"line":1,"column":88}}],"line":1},"1":{"loc":{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/fontWeight.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/fontWeight.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":19}},"2":{"start":{"line":6,"column":2},"end":{"line":27,"column":3}},"3":{"start":{"line":8,"column":6},"end":{"line":8,"column":34}},"4":{"start":{"line":10,"column":6},"end":{"line":10,"column":72}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":23}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":35}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":24}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":76}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":22}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":68}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":32}},"12":{"start":{"line":26,"column":6},"end":{"line":26,"column":21}}},"fnMap":{"0":{"name":"convertFontWeightToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":40}},"loc":{"start":{"line":1,"column":100},"end":{"line":28,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":56},"end":{"line":1,"column":88}},"type":"default-arg","locations":[{"start":{"line":1,"column":83},"end":{"line":1,"column":88}}],"line":1},"1":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2},"2":{"loc":{"start":{"line":6,"column":2},"end":{"line":27,"column":3}},"type":"switch","locations":[{"start":{"line":7,"column":4},"end":{"line":8,"column":34}},{"start":{"line":9,"column":4},"end":{"line":10,"column":72}},{"start":{"line":11,"column":4},"end":{"line":12,"column":23}},{"start":{"line":13,"column":4},"end":{"line":14,"column":35}},{"start":{"line":15,"column":4},"end":{"line":16,"column":24}},{"start":{"line":17,"column":4},"end":{"line":18,"column":76}},{"start":{"line":19,"column":4},"end":{"line":20,"column":22}},{"start":{"line":21,"column":4},"end":{"line":22,"column":68}},{"start":{"line":23,"column":4},"end":{"line":24,"column":32}},{"start":{"line":25,"column":4},"end":{"line":26,"column":21}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/generic.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/generic.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":29}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":45}},"2":{"start":{"line":12,"column":2},"end":{"line":17,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":58}},"5":{"start":{"line":16,"column":4},"end":{"line":16,"column":63}},"6":{"start":{"line":18,"column":2},"end":{"line":18,"column":27}}},"fnMap":{"0":{"name":"convertNumberToFigma","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":52},"end":{"line":5,"column":1}},"line":3},"1":{"name":"fakeZeroForFigma","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":32}},"loc":{"start":{"line":7,"column":48},"end":{"line":9,"column":1}},"line":7},"2":{"name":"convertTypographyNumberToFigma","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":46}},"loc":{"start":{"line":11,"column":84},"end":{"line":19,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":9},"end":{"line":8,"column":44}},"type":"cond-expr","locations":[{"start":{"line":8,"column":31},"end":{"line":8,"column":36}},{"start":{"line":8,"column":39},"end":{"line":8,"column":44}}],"line":8},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":82}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":31}},{"start":{"line":12,"column":36},"end":{"line":12,"column":56}},{"start":{"line":12,"column":60},"end":{"line":12,"column":81}}],"line":12},"3":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/gradients.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/gradients.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":6,"column":56}},"1":{"start":{"line":10,"column":47},"end":{"line":10,"column":52}},"2":{"start":{"line":11,"column":30},"end":{"line":13,"column":15}},"3":{"start":{"line":12,"column":19},"end":{"line":12,"column":97}},"4":{"start":{"line":14,"column":25},"end":{"line":14,"column":90}},"5":{"start":{"line":15,"column":21},"end":{"line":15,"column":69}},"6":{"start":{"line":16,"column":21},"end":{"line":16,"column":61}},"7":{"start":{"line":17,"column":2},"end":{"line":17,"column":74}},"8":{"start":{"line":20,"column":25},"end":{"line":23,"column":1}},"9":{"start":{"line":21,"column":30},"end":{"line":21,"column":45}},"10":{"start":{"line":22,"column":2},"end":{"line":22,"column":90}},"11":{"start":{"line":27,"column":16},"end":{"line":27,"column":112}},"12":{"start":{"line":27,"column":103},"end":{"line":27,"column":111}},"13":{"start":{"line":30,"column":14},"end":{"line":30,"column":17}},"14":{"start":{"line":31,"column":2},"end":{"line":68,"column":3}},"15":{"start":{"line":32,"column":4},"end":{"line":32,"column":52}},"16":{"start":{"line":33,"column":4},"end":{"line":33,"column":18}},"17":{"start":{"line":34,"column":9},"end":{"line":68,"column":3}},"18":{"start":{"line":35,"column":4},"end":{"line":35,"column":59}},"19":{"start":{"line":36,"column":4},"end":{"line":36,"column":18}},"20":{"start":{"line":37,"column":9},"end":{"line":68,"column":3}},"21":{"start":{"line":38,"column":22},"end":{"line":38,"column":49}},"22":{"start":{"line":39,"column":4},"end":{"line":39,"column":18}},"23":{"start":{"line":40,"column":4},"end":{"line":67,"column":5}},"24":{"start":{"line":42,"column":8},"end":{"line":42,"column":20}},"25":{"start":{"line":43,"column":8},"end":{"line":43,"column":14}},"26":{"start":{"line":45,"column":8},"end":{"line":45,"column":20}},"27":{"start":{"line":46,"column":8},"end":{"line":46,"column":14}},"28":{"start":{"line":48,"column":8},"end":{"line":48,"column":18}},"29":{"start":{"line":49,"column":8},"end":{"line":49,"column":14}},"30":{"start":{"line":51,"column":8},"end":{"line":51,"column":19}},"31":{"start":{"line":52,"column":8},"end":{"line":52,"column":14}},"32":{"start":{"line":54,"column":8},"end":{"line":54,"column":20}},"33":{"start":{"line":55,"column":8},"end":{"line":55,"column":14}},"34":{"start":{"line":57,"column":8},"end":{"line":57,"column":20}},"35":{"start":{"line":58,"column":8},"end":{"line":58,"column":14}},"36":{"start":{"line":60,"column":8},"end":{"line":60,"column":20}},"37":{"start":{"line":61,"column":8},"end":{"line":61,"column":14}},"38":{"start":{"line":63,"column":8},"end":{"line":63,"column":19}},"39":{"start":{"line":64,"column":8},"end":{"line":64,"column":14}},"40":{"start":{"line":66,"column":8},"end":{"line":66,"column":14}},"41":{"start":{"line":70,"column":18},"end":{"line":70,"column":31}},"42":{"start":{"line":71,"column":14},"end":{"line":71,"column":39}},"43":{"start":{"line":73,"column":27},"end":{"line":73,"column":56}},"44":{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},"45":{"start":{"line":76,"column":4},"end":{"line":76,"column":58}},"46":{"start":{"line":79,"column":14},"end":{"line":79,"column":27}},"47":{"start":{"line":80,"column":14},"end":{"line":80,"column":27}},"48":{"start":{"line":82,"column":14},"end":{"line":82,"column":15}},"49":{"start":{"line":84,"column":24},"end":{"line":84,"column":52}},"50":{"start":{"line":85,"column":2},"end":{"line":85,"column":24}},"51":{"start":{"line":92,"column":20},"end":{"line":92,"column":31}},"52":{"start":{"line":93,"column":20},"end":{"line":93,"column":31}},"53":{"start":{"line":97,"column":13},"end":{"line":97,"column":52}},"54":{"start":{"line":98,"column":13},"end":{"line":98,"column":52}},"55":{"start":{"line":100,"column":31},"end":{"line":104,"column":4}},"56":{"start":{"line":106,"column":34},"end":{"line":106,"column":66}},"57":{"start":{"line":108,"column":24},"end":{"line":117,"column":19}},"58":{"start":{"line":109,"column":26},"end":{"line":109,"column":41}},"59":{"start":{"line":110,"column":31},"end":{"line":110,"column":68}},"60":{"start":{"line":111,"column":26},"end":{"line":111,"column":31}},"61":{"start":{"line":112,"column":4},"end":{"line":112,"column":30}},"62":{"start":{"line":113,"column":4},"end":{"line":116,"column":6}},"63":{"start":{"line":119,"column":2},"end":{"line":122,"column":4}}},"fnMap":{"0":{"name":"convertDegreeToNumber","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":37}},"loc":{"start":{"line":5,"column":68},"end":{"line":7,"column":1}},"line":5},"1":{"name":"convertFigmaGradientToString","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":44}},"loc":{"start":{"line":9,"column":67},"end":{"line":18,"column":1}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":19},"end":{"line":12,"column":97}},"line":12},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":25},"end":{"line":20,"column":26}},"loc":{"start":{"line":20,"column":52},"end":{"line":23,"column":1}},"line":20},"4":{"name":"convertStringToFigmaGradient","decl":{"start":{"line":26,"column":16},"end":{"line":26,"column":44}},"loc":{"start":{"line":26,"column":60},"end":{"line":123,"column":1}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":27,"column":96},"end":{"line":27,"column":97}},"loc":{"start":{"line":27,"column":103},"end":{"line":27,"column":111}},"line":27},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":34},"end":{"line":108,"column":35}},"loc":{"start":{"line":108,"column":52},"end":{"line":117,"column":3}},"line":108}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":47}},"type":"default-arg","locations":[{"start":{"line":20,"column":45},"end":{"line":20,"column":47}}],"line":20},"1":{"loc":{"start":{"line":31,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":68,"column":3}},{"start":{"line":34,"column":9},"end":{"line":68,"column":3}}],"line":31},"2":{"loc":{"start":{"line":34,"column":9},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":9},"end":{"line":68,"column":3}},{"start":{"line":37,"column":9},"end":{"line":68,"column":3}}],"line":34},"3":{"loc":{"start":{"line":37,"column":9},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":9},"end":{"line":68,"column":3}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":40,"column":4},"end":{"line":67,"column":5}},"type":"switch","locations":[{"start":{"line":41,"column":6},"end":{"line":43,"column":14}},{"start":{"line":44,"column":6},"end":{"line":46,"column":14}},{"start":{"line":47,"column":6},"end":{"line":49,"column":14}},{"start":{"line":50,"column":6},"end":{"line":52,"column":14}},{"start":{"line":53,"column":6},"end":{"line":55,"column":14}},{"start":{"line":56,"column":6},"end":{"line":58,"column":14}},{"start":{"line":59,"column":6},"end":{"line":61,"column":14}},{"start":{"line":62,"column":6},"end":{"line":64,"column":14}},{"start":{"line":65,"column":6},"end":{"line":66,"column":14}}],"line":40},"5":{"loc":{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},"type":"if","locations":[{"start":{"line":74,"column":2},"end":{"line":77,"column":3}},{"start":{},"end":{}}],"line":74},"6":{"loc":{"start":{"line":115,"column":16},"end":{"line":115,"column":92}},"type":"cond-expr","locations":[{"start":{"line":115,"column":35},"end":{"line":115,"column":69}},{"start":{"line":115,"column":72},"end":{"line":115,"column":92}}],"line":115}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0,0,0,0,0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/letterSpacing.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/letterSpacing.ts","statementMap":{"0":{"start":{"line":6,"column":44},"end":{"line":6,"column":48}},"1":{"start":{"line":7,"column":16},"end":{"line":7,"column":37}},"2":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"3":{"start":{"line":9,"column":4},"end":{"line":12,"column":6}},"4":{"start":{"line":13,"column":9},"end":{"line":21,"column":3}},"5":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"6":{"start":{"line":15,"column":6},"end":{"line":15,"column":65}},"7":{"start":{"line":17,"column":4},"end":{"line":20,"column":6}},"8":{"start":{"line":22,"column":2},"end":{"line":22,"column":23}},"9":{"start":{"line":26,"column":26},"end":{"line":26,"column":36}},"10":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"11":{"start":{"line":28,"column":4},"end":{"line":28,"column":35}},"12":{"start":{"line":30,"column":2},"end":{"line":30,"column":27}}},"fnMap":{"0":{"name":"convertLetterSpacingToFigma","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":43}},"loc":{"start":{"line":5,"column":151},"end":{"line":23,"column":1}},"line":5},"1":{"name":"convertFigmaToLetterSpacing","decl":{"start":{"line":25,"column":16},"end":{"line":25,"column":43}},"loc":{"start":{"line":25,"column":88},"end":{"line":31,"column":1}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":86},"end":{"line":5,"column":118}},"type":"default-arg","locations":[{"start":{"line":5,"column":113},"end":{"line":5,"column":118}}],"line":5},"1":{"loc":{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":21,"column":3}},{"start":{"line":13,"column":9},"end":{"line":21,"column":3}}],"line":8},"2":{"loc":{"start":{"line":13,"column":9},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":9},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":13},"3":{"loc":{"start":{"line":13,"column":13},"end":{"line":13,"column":110}},"type":"binary-expr","locations":[{"start":{"line":13,"column":13},"end":{"line":13,"column":37}},{"start":{"line":13,"column":41},"end":{"line":13,"column":61}},{"start":{"line":13,"column":65},"end":{"line":13,"column":85}},{"start":{"line":13,"column":89},"end":{"line":13,"column":110}}],"line":13},"4":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":14},"5":{"loc":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":27}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/lineHeight.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/lineHeight.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":4,"column":42}},"1":{"start":{"line":5,"column":16},"end":{"line":5,"column":37}},"2":{"start":{"line":6,"column":18},"end":{"line":6,"column":35}},"3":{"start":{"line":7,"column":2},"end":{"line":24,"column":3}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":65}},"6":{"start":{"line":11,"column":4},"end":{"line":14,"column":6}},"7":{"start":{"line":15,"column":9},"end":{"line":24,"column":3}},"8":{"start":{"line":16,"column":4},"end":{"line":19,"column":6}},"9":{"start":{"line":21,"column":4},"end":{"line":23,"column":6}},"10":{"start":{"line":25,"column":2},"end":{"line":25,"column":20}},"11":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"12":{"start":{"line":30,"column":4},"end":{"line":30,"column":40}},"13":{"start":{"line":31,"column":4},"end":{"line":33,"column":3}},"14":{"start":{"line":32,"column":4},"end":{"line":32,"column":46}},"15":{"start":{"line":34,"column":2},"end":{"line":34,"column":16}}},"fnMap":{"0":{"name":"convertLineHeightToFigma","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":145},"end":{"line":26,"column":1}},"line":3},"1":{"name":"convertFigmaToLineHeight","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":40}},"loc":{"start":{"line":28,"column":82},"end":{"line":35,"column":1}},"line":28}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":83},"end":{"line":3,"column":115}},"type":"default-arg","locations":[{"start":{"line":3,"column":110},"end":{"line":3,"column":115}}],"line":3},"1":{"loc":{"start":{"line":7,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":24,"column":3}},{"start":{"line":15,"column":9},"end":{"line":24,"column":3}}],"line":7},"2":{"loc":{"start":{"line":7,"column":6},"end":{"line":7,"column":99}},"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":26}},{"start":{"line":7,"column":30},"end":{"line":7,"column":50}},{"start":{"line":7,"column":54},"end":{"line":7,"column":74}},{"start":{"line":7,"column":78},"end":{"line":7,"column":99}}],"line":7},"3":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":8},"4":{"loc":{"start":{"line":15,"column":9},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":9},"end":{"line":24,"column":3}},{"start":{"line":20,"column":9},"end":{"line":24,"column":3}}],"line":15},"5":{"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":87}},"type":"binary-expr","locations":[{"start":{"line":15,"column":13},"end":{"line":15,"column":43}},{"start":{"line":15,"column":47},"end":{"line":15,"column":87}}],"line":15},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/numberMatchesPercentage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/numberMatchesPercentage.ts","statementMap":{"0":{"start":{"line":3,"column":39},"end":{"line":3,"column":145}},"1":{"start":{"line":3,"column":58},"end":{"line":3,"column":145}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":39},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":58},"end":{"line":3,"column":145}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":66},"end":{"line":3,"column":144}},"type":"binary-expr","locations":[{"start":{"line":3,"column":66},"end":{"line":3,"column":96}},{"start":{"line":3,"column":100},"end":{"line":3,"column":144}}],"line":3}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/offset.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/offset.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":5,"column":4}}},"fnMap":{"0":{"name":"convertOffsetToFigma","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":93},"end":{"line":6,"column":1}},"line":1}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/opacity.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/opacity.ts","statementMap":{"0":{"start":{"line":3,"column":18},"end":{"line":3,"column":39}},"1":{"start":{"line":5,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":6,"column":25},"end":{"line":6,"column":56}},"3":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":26}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":30}},"6":{"start":{"line":14,"column":23},"end":{"line":14,"column":36}},"7":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":30}},"9":{"start":{"line":18,"column":2},"end":{"line":18,"column":22}}},"fnMap":{"0":{"name":"convertOpacityToFigma","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":97},"end":{"line":19,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},{"start":{},"end":{}}],"line":7},"2":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":15},"3":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":72}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":30}},{"start":{"line":15,"column":34},"end":{"line":15,"column":51}},{"start":{"line":15,"column":55},"end":{"line":15,"column":72}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textCase.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textCase.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":20,"column":3}},"1":{"start":{"line":5,"column":6},"end":{"line":5,"column":21}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":21}},"3":{"start":{"line":11,"column":6},"end":{"line":11,"column":21}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":38}},"5":{"start":{"line":17,"column":6},"end":{"line":17,"column":45}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":24}},"7":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"8":{"start":{"line":26,"column":6},"end":{"line":26,"column":25}},"9":{"start":{"line":28,"column":6},"end":{"line":28,"column":25}},"10":{"start":{"line":30,"column":6},"end":{"line":30,"column":26}},"11":{"start":{"line":32,"column":6},"end":{"line":32,"column":26}},"12":{"start":{"line":34,"column":6},"end":{"line":34,"column":33}},"13":{"start":{"line":36,"column":6},"end":{"line":36,"column":20}}},"fnMap":{"0":{"name":"convertTextCaseToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":64},"end":{"line":21,"column":1}},"line":1},"1":{"name":"convertFigmaToTextCase","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":38}},"loc":{"start":{"line":23,"column":54},"end":{"line":38,"column":1}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":20,"column":3}},"type":"switch","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":21}},{"start":{"line":4,"column":4},"end":{"line":5,"column":21}},{"start":{"line":6,"column":4},"end":{"line":6,"column":21}},{"start":{"line":7,"column":4},"end":{"line":8,"column":21}},{"start":{"line":9,"column":4},"end":{"line":9,"column":22}},{"start":{"line":10,"column":4},"end":{"line":11,"column":21}},{"start":{"line":12,"column":4},"end":{"line":12,"column":22}},{"start":{"line":13,"column":4},"end":{"line":14,"column":38}},{"start":{"line":15,"column":4},"end":{"line":15,"column":26}},{"start":{"line":16,"column":4},"end":{"line":17,"column":45}},{"start":{"line":18,"column":4},"end":{"line":19,"column":24}}],"line":2},"1":{"loc":{"start":{"line":24,"column":2},"end":{"line":37,"column":3}},"type":"switch","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":25}},{"start":{"line":27,"column":4},"end":{"line":28,"column":25}},{"start":{"line":29,"column":4},"end":{"line":30,"column":26}},{"start":{"line":31,"column":4},"end":{"line":32,"column":26}},{"start":{"line":33,"column":4},"end":{"line":34,"column":33}},{"start":{"line":35,"column":4},"end":{"line":36,"column":20}}],"line":24}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0],"1":[0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textDecoration.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaTransforms/textDecoration.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":10,"column":3}},"1":{"start":{"line":4,"column":6},"end":{"line":4,"column":25}},"2":{"start":{"line":7,"column":6},"end":{"line":7,"column":29}},"3":{"start":{"line":9,"column":6},"end":{"line":9,"column":20}},"4":{"start":{"line":14,"column":2},"end":{"line":21,"column":3}},"5":{"start":{"line":16,"column":6},"end":{"line":16,"column":25}},"6":{"start":{"line":18,"column":6},"end":{"line":18,"column":28}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":20}}},"fnMap":{"0":{"name":"convertTextDecorationToFigma","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":60},"end":{"line":11,"column":1}},"line":1},"1":{"name":"convertFigmaToTextDecoration","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":44}},"loc":{"start":{"line":13,"column":60},"end":{"line":22,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":10,"column":3}},"type":"switch","locations":[{"start":{"line":3,"column":4},"end":{"line":4,"column":25}},{"start":{"line":5,"column":4},"end":{"line":5,"column":24}},{"start":{"line":6,"column":4},"end":{"line":7,"column":29}},{"start":{"line":8,"column":4},"end":{"line":9,"column":20}}],"line":2},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":21,"column":3}},"type":"switch","locations":[{"start":{"line":15,"column":4},"end":{"line":16,"column":25}},{"start":{"line":17,"column":4},"end":{"line":18,"column":28}},{"start":{"line":19,"column":4},"end":{"line":20,"column":20}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":28}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":28}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":39}},"4":{"start":{"line":6,"column":2},"end":{"line":6,"column":15}}},"fnMap":{"0":{"name":"getShadowBehindNodeFromEffect","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":62},"end":{"line":7,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":28}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":2,"column":28}},{"start":{},"end":{}}],"line":2},"1":{"loc":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},{"start":{},"end":{}}],"line":3}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleUtils.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleUtils.ts","statementMap":{"0":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":30}},"2":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":28}},"4":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":30}},"6":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":21,"column":4},"end":{"line":21,"column":28}},"8":{"start":{"line":23,"column":2},"end":{"line":23,"column":19}},"9":{"start":{"line":27,"column":2},"end":{"line":37,"column":5}},"10":{"start":{"line":28,"column":4},"end":{"line":35,"column":5}},"11":{"start":{"line":29,"column":6},"end":{"line":34,"column":7}},"12":{"start":{"line":30,"column":28},"end":{"line":30,"column":53}},"13":{"start":{"line":31,"column":8},"end":{"line":31,"column":27}},"14":{"start":{"line":33,"column":8},"end":{"line":33,"column":19}},"15":{"start":{"line":36,"column":4},"end":{"line":36,"column":15}},"16":{"start":{"line":46,"column":18},"end":{"line":46,"column":80}},"17":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"18":{"start":{"line":48,"column":18},"end":{"line":48,"column":45}},"19":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"20":{"start":{"line":50,"column":6},"end":{"line":50,"column":28}},"21":{"start":{"line":53,"column":2},"end":{"line":53,"column":39}},"22":{"start":{"line":61,"column":18},"end":{"line":61,"column":80}},"23":{"start":{"line":62,"column":2},"end":{"line":62,"column":53}},"24":{"start":{"line":67,"column":2},"end":{"line":67,"column":87}},"25":{"start":{"line":72,"column":2},"end":{"line":72,"column":51}}},"fnMap":{"0":{"name":"getStyleId","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":26}},"loc":{"start":{"line":10,"column":63},"end":{"line":24,"column":1}},"line":10},"1":{"name":"getStyleIdFromBackup","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":29}},"loc":{"start":{"line":26,"column":65},"end":{"line":38,"column":1}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":54},"end":{"line":27,"column":55}},"loc":{"start":{"line":27,"column":63},"end":{"line":37,"column":3}},"line":27},"3":{"name":"getNonLocalStyle","decl":{"start":{"line":40,"column":16},"end":{"line":40,"column":32}},"loc":{"start":{"line":44,"column":28},"end":{"line":54,"column":1}},"line":44},"4":{"name":"getLocalStyle","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":29}},"loc":{"start":{"line":60,"column":28},"end":{"line":63,"column":1}},"line":60},"5":{"name":"setStyleIdBackup","decl":{"start":{"line":65,"column":16},"end":{"line":65,"column":32}},"loc":{"start":{"line":65,"column":85},"end":{"line":68,"column":1}},"line":65},"6":{"name":"clearStyleIdBackup","decl":{"start":{"line":70,"column":16},"end":{"line":70,"column":34}},"loc":{"start":{"line":70,"column":70},"end":{"line":73,"column":1}},"line":70}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":80}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":38}},{"start":{"line":11,"column":42},"end":{"line":11,"column":80}}],"line":11},"2":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":14},"3":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":76}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":21}},{"start":{"line":14,"column":25},"end":{"line":14,"column":36}},{"start":{"line":14,"column":40},"end":{"line":14,"column":76}}],"line":14},"4":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":80}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":23}},{"start":{"line":17,"column":27},"end":{"line":17,"column":38}},{"start":{"line":17,"column":42},"end":{"line":17,"column":80}}],"line":17},"6":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":20},"7":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":90}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":26}},{"start":{"line":20,"column":30},"end":{"line":20,"column":50}},{"start":{"line":20,"column":54},"end":{"line":20,"column":90}}],"line":20},"8":{"loc":{"start":{"line":28,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":28},"9":{"loc":{"start":{"line":46,"column":18},"end":{"line":46,"column":80}},"type":"binary-expr","locations":[{"start":{"line":46,"column":18},"end":{"line":46,"column":39}},{"start":{"line":46,"column":43},"end":{"line":46,"column":80}}],"line":46},"10":{"loc":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},{"start":{},"end":{}}],"line":47},"11":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":49},"12":{"loc":{"start":{"line":61,"column":18},"end":{"line":61,"column":80}},"type":"binary-expr","locations":[{"start":{"line":61,"column":18},"end":{"line":61,"column":39}},{"start":{"line":61,"column":43},"end":{"line":61,"column":80}}],"line":61},"13":{"loc":{"start":{"line":67,"column":47},"end":{"line":67,"column":85}},"type":"cond-expr","locations":[{"start":{"line":67,"column":57},"end":{"line":67,"column":80}},{"start":{"line":67,"column":83},"end":{"line":67,"column":85}}],"line":67}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts","statementMap":{"0":{"start":{"line":10,"column":32},"end":{"line":10,"column":64}},"1":{"start":{"line":11,"column":22},"end":{"line":11,"column":27}},"2":{"start":{"line":12,"column":2},"end":{"line":28,"column":4}},"3":{"start":{"line":36,"column":2},"end":{"line":45,"column":3}},"4":{"start":{"line":37,"column":30},"end":{"line":37,"column":95}},"5":{"start":{"line":38,"column":25},"end":{"line":38,"column":44}},"6":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"7":{"start":{"line":40,"column":6},"end":{"line":43,"column":9}},"8":{"start":{"line":41,"column":28},"end":{"line":41,"column":95}},"9":{"start":{"line":42,"column":8},"end":{"line":42,"column":55}},"10":{"start":{"line":46,"column":2},"end":{"line":46,"column":15}}},"fnMap":{"0":{"name":"convertBoxShadowToFigmaEffect","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":38}},"loc":{"start":{"line":9,"column":97},"end":{"line":29,"column":1}},"line":9},"1":{"name":"effectStyleMatchesBoxShadowToken","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":48}},"loc":{"start":{"line":35,"column":2},"end":{"line":47,"column":1}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":32},"end":{"line":40,"column":33}},"loc":{"start":{"line":40,"column":54},"end":{"line":43,"column":7}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"type":"binary-expr","locations":[{"start":{"line":26,"column":16},"end":{"line":26,"column":31}},{"start":{"line":26,"column":35},"end":{"line":26,"column":43}}],"line":26},"1":{"loc":{"start":{"line":36,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":36,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":36},"2":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":55}},"type":"binary-expr","locations":[{"start":{"line":36,"column":6},"end":{"line":36,"column":17}},{"start":{"line":36,"column":21},"end":{"line":36,"column":55}}],"line":36},"3":{"loc":{"start":{"line":37,"column":30},"end":{"line":37,"column":95}},"type":"cond-expr","locations":[{"start":{"line":37,"column":62},"end":{"line":37,"column":76}},{"start":{"line":37,"column":79},"end":{"line":37,"column":95}}],"line":37},"4":{"loc":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":6,"column":50}},"1":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":8,"column":31},"end":{"line":8,"column":62}},"3":{"start":{"line":9,"column":35},"end":{"line":9,"column":68}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":48}},"5":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"6":{"start":{"line":13,"column":49},"end":{"line":13,"column":89}},"7":{"start":{"line":14,"column":38},"end":{"line":18,"column":5}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":48}},"9":{"start":{"line":21,"column":2},"end":{"line":21,"column":15}}},"fnMap":{"0":{"name":"paintStyleMatchesColorToken","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":43}},"loc":{"start":{"line":5,"column":100},"end":{"line":22,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":21},"end":{"line":6,"column":50}},"type":"binary-expr","locations":[{"start":{"line":6,"column":21},"end":{"line":6,"column":42}},{"start":{"line":6,"column":46},"end":{"line":6,"column":50}}],"line":6},"1":{"loc":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":7},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":17}},"2":{"start":{"line":23,"column":6},"end":{"line":23,"column":21}},"3":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":17}},"5":{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":17}},"7":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"8":{"start":{"line":32,"column":4},"end":{"line":32,"column":17}},"9":{"start":{"line":35,"column":26},"end":{"line":35,"column":89}},"10":{"start":{"line":36,"column":2},"end":{"line":48,"column":3}},"11":{"start":{"line":37,"column":22},"end":{"line":37,"column":26}},"12":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":80}},"14":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"15":{"start":{"line":42,"column":6},"end":{"line":42,"column":19}},"16":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"17":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"18":{"start":{"line":46,"column":6},"end":{"line":46,"column":19}},"19":{"start":{"line":50,"column":29},"end":{"line":50,"column":97}},"20":{"start":{"line":51,"column":2},"end":{"line":58,"column":3}},"21":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"22":{"start":{"line":56,"column":6},"end":{"line":56,"column":19}},"23":{"start":{"line":59,"column":2},"end":{"line":64,"column":3}},"24":{"start":{"line":63,"column":4},"end":{"line":63,"column":17}},"25":{"start":{"line":65,"column":2},"end":{"line":70,"column":3}},"26":{"start":{"line":69,"column":4},"end":{"line":69,"column":17}},"27":{"start":{"line":72,"column":24},"end":{"line":72,"column":82}},"28":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"29":{"start":{"line":74,"column":4},"end":{"line":74,"column":17}},"30":{"start":{"line":77,"column":30},"end":{"line":77,"column":100}},"31":{"start":{"line":78,"column":2},"end":{"line":80,"column":3}},"32":{"start":{"line":79,"column":4},"end":{"line":79,"column":17}},"33":{"start":{"line":81,"column":2},"end":{"line":81,"column":14}}},"fnMap":{"0":{"name":"textStyleMatchesTypographyToken","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":47}},"loc":{"start":{"line":8,"column":2},"end":{"line":82,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":9,"column":55}},"type":"binary-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":16}},{"start":{"line":9,"column":20},"end":{"line":9,"column":55}}],"line":9},"2":{"loc":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},{"start":{},"end":{}}],"line":25},"3":{"loc":{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},{"start":{},"end":{}}],"line":28},"4":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":31},"5":{"loc":{"start":{"line":31,"column":6},"end":{"line":31,"column":106}},"type":"binary-expr","locations":[{"start":{"line":31,"column":6},"end":{"line":31,"column":28}},{"start":{"line":31,"column":32},"end":{"line":31,"column":106}}],"line":31},"6":{"loc":{"start":{"line":36,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":36,"column":2},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}],"line":36},"7":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":38},"8":{"loc":{"start":{"line":38,"column":8},"end":{"line":38,"column":98}},"type":"binary-expr","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":23}},{"start":{"line":38,"column":27},"end":{"line":38,"column":58}},{"start":{"line":38,"column":62},"end":{"line":38,"column":98}}],"line":38},"9":{"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":79}},"type":"binary-expr","locations":[{"start":{"line":39,"column":20},"end":{"line":39,"column":45}},{"start":{"line":39,"column":49},"end":{"line":39,"column":79}}],"line":39},"10":{"loc":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},{"start":{},"end":{}}],"line":41},"11":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{},"end":{}}],"line":44},"12":{"loc":{"start":{"line":44,"column":13},"end":{"line":44,"column":84}},"type":"binary-expr","locations":[{"start":{"line":44,"column":13},"end":{"line":44,"column":44}},{"start":{"line":44,"column":48},"end":{"line":44,"column":84}}],"line":44},"13":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45},"14":{"loc":{"start":{"line":45,"column":8},"end":{"line":45,"column":114}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":58}},{"start":{"line":45,"column":62},"end":{"line":45,"column":114}}],"line":45},"15":{"loc":{"start":{"line":51,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":58,"column":3}},{"start":{},"end":{}}],"line":51},"16":{"loc":{"start":{"line":52,"column":4},"end":{"line":53,"column":66}},"type":"binary-expr","locations":[{"start":{"line":52,"column":4},"end":{"line":52,"column":61}},{"start":{"line":53,"column":7},"end":{"line":53,"column":66}}],"line":52},"17":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":55},"18":{"loc":{"start":{"line":55,"column":8},"end":{"line":55,"column":104}},"type":"binary-expr","locations":[{"start":{"line":55,"column":9},"end":{"line":55,"column":34}},{"start":{"line":55,"column":38},"end":{"line":55,"column":66}},{"start":{"line":55,"column":71},"end":{"line":55,"column":104}}],"line":55},"19":{"loc":{"start":{"line":59,"column":2},"end":{"line":64,"column":3}},"type":"if","locations":[{"start":{"line":59,"column":2},"end":{"line":64,"column":3}},{"start":{},"end":{}}],"line":59},"20":{"loc":{"start":{"line":60,"column":4},"end":{"line":61,"column":104}},"type":"binary-expr","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":34}},{"start":{"line":61,"column":7},"end":{"line":61,"column":104}}],"line":60},"21":{"loc":{"start":{"line":65,"column":2},"end":{"line":70,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":70,"column":3}},{"start":{},"end":{}}],"line":65},"22":{"loc":{"start":{"line":66,"column":4},"end":{"line":67,"column":101}},"type":"binary-expr","locations":[{"start":{"line":66,"column":4},"end":{"line":66,"column":33}},{"start":{"line":67,"column":7},"end":{"line":67,"column":101}}],"line":66},"23":{"loc":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"type":"if","locations":[{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},{"start":{},"end":{}}],"line":73},"24":{"loc":{"start":{"line":78,"column":2},"end":{"line":80,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":80,"column":3}},{"start":{},"end":{}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/timing.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/timing.ts","statementMap":{"0":{"start":{"line":11,"column":20},"end":{"line":25,"column":1}},"1":{"start":{"line":12,"column":16},"end":{"line":12,"column":33}},"2":{"start":{"line":13,"column":17},"end":{"line":13,"column":21}},"3":{"start":{"line":14,"column":14},"end":{"line":14,"column":31}},"4":{"start":{"line":16,"column":2},"end":{"line":24,"column":4}},"5":{"start":{"line":27,"column":25},"end":{"line":39,"column":1}},"6":{"start":{"line":28,"column":16},"end":{"line":28,"column":33}},"7":{"start":{"line":29,"column":17},"end":{"line":29,"column":27}},"8":{"start":{"line":30,"column":14},"end":{"line":30,"column":31}},"9":{"start":{"line":31,"column":2},"end":{"line":38,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":20},"end":{"line":11,"column":21}},"loc":{"start":{"line":11,"column":56},"end":{"line":25,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":25},"end":{"line":27,"column":26}},"loc":{"start":{"line":27,"column":75},"end":{"line":39,"column":1}},"line":27}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/transaction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/profiling/transaction.ts","statementMap":{"0":{"start":{"line":6,"column":11},"end":{"line":6,"column":15}},"1":{"start":{"line":7,"column":22},"end":{"line":7,"column":37}},"2":{"start":{"line":9,"column":22},"end":{"line":17,"column":1}},"3":{"start":{"line":10,"column":2},"end":{"line":16,"column":3}},"4":{"start":{"line":13,"column":6},"end":{"line":13,"column":38}},"5":{"start":{"line":15,"column":6},"end":{"line":15,"column":19}},"6":{"start":{"line":40,"column":31},"end":{"line":68,"column":1}},"7":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"8":{"start":{"line":43,"column":4},"end":{"line":43,"column":16}},"9":{"start":{"line":46,"column":22},"end":{"line":46,"column":59}},"10":{"start":{"line":48,"column":2},"end":{"line":48,"column":72}},"11":{"start":{"line":48,"column":44},"end":{"line":48,"column":70}},"12":{"start":{"line":49,"column":15},"end":{"line":49,"column":85}},"13":{"start":{"line":53,"column":2},"end":{"line":64,"column":3}},"14":{"start":{"line":54,"column":4},"end":{"line":54,"column":24}},"15":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"16":{"start":{"line":56,"column":6},"end":{"line":56,"column":46}},"17":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"18":{"start":{"line":60,"column":4},"end":{"line":60,"column":34}},"19":{"start":{"line":61,"column":4},"end":{"line":61,"column":14}},"20":{"start":{"line":63,"column":4},"end":{"line":63,"column":18}},"21":{"start":{"line":66,"column":2},"end":{"line":66,"column":23}},"22":{"start":{"line":67,"column":2},"end":{"line":67,"column":16}},"23":{"start":{"line":70,"column":31},"end":{"line":106,"column":1}},"24":{"start":{"line":72,"column":2},"end":{"line":74,"column":3}},"25":{"start":{"line":73,"column":4},"end":{"line":73,"column":16}},"26":{"start":{"line":76,"column":22},"end":{"line":76,"column":65}},"27":{"start":{"line":77,"column":23},"end":{"line":77,"column":59}},"28":{"start":{"line":80,"column":2},"end":{"line":103,"column":3}},"29":{"start":{"line":82,"column":17},"end":{"line":85,"column":6}},"30":{"start":{"line":87,"column":4},"end":{"line":100,"column":5}},"31":{"start":{"line":88,"column":6},"end":{"line":88,"column":26}},"32":{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},"33":{"start":{"line":91,"column":8},"end":{"line":91,"column":49}},"34":{"start":{"line":94,"column":6},"end":{"line":94,"column":25}},"35":{"start":{"line":96,"column":6},"end":{"line":96,"column":36}},"36":{"start":{"line":97,"column":6},"end":{"line":97,"column":16}},"37":{"start":{"line":99,"column":6},"end":{"line":99,"column":20}},"38":{"start":{"line":102,"column":4},"end":{"line":102,"column":18}},"39":{"start":{"line":105,"column":2},"end":{"line":105,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":28},"end":{"line":17,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":31},"end":{"line":40,"column":32}},"loc":{"start":{"line":40,"column":97},"end":{"line":68,"column":1}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":33},"end":{"line":48,"column":34}},"loc":{"start":{"line":48,"column":44},"end":{"line":48,"column":70}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":70,"column":31},"end":{"line":70,"column":32}},"loc":{"start":{"line":70,"column":97},"end":{"line":106,"column":1}},"line":70}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":16,"column":3}},"type":"switch","locations":[{"start":{"line":11,"column":4},"end":{"line":11,"column":22}},{"start":{"line":12,"column":4},"end":{"line":13,"column":38}},{"start":{"line":14,"column":4},"end":{"line":15,"column":19}}],"line":10},"1":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{},"end":{}}],"line":55},"3":{"loc":{"start":{"line":72,"column":2},"end":{"line":74,"column":3}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":74,"column":3}},{"start":{},"end":{}}],"line":72},"4":{"loc":{"start":{"line":80,"column":2},"end":{"line":103,"column":3}},"type":"if","locations":[{"start":{"line":80,"column":2},"end":{"line":103,"column":3}},{"start":{"line":101,"column":9},"end":{"line":103,"column":3}}],"line":80},"5":{"loc":{"start":{"line":80,"column":6},"end":{"line":80,"column":33}},"type":"binary-expr","locations":[{"start":{"line":80,"column":6},"end":{"line":80,"column":17}},{"start":{"line":80,"column":21},"end":{"line":80,"column":33}}],"line":80},"6":{"loc":{"start":{"line":82,"column":18},"end":{"line":82,"column":45}},"type":"binary-expr","locations":[{"start":{"line":82,"column":18},"end":{"line":82,"column":30}},{"start":{"line":82,"column":34},"end":{"line":82,"column":45}}],"line":82},"7":{"loc":{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},"type":"if","locations":[{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},{"start":{},"end":{}}],"line":90}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeApiProviderSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeApiProviderSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":4,"column":104}},"1":{"start":{"line":4,"column":84},"end":{"line":4,"column":103}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":73},"end":{"line":4,"column":74}},"loc":{"start":{"line":4,"column":84},"end":{"line":4,"column":103}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTabSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTabSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeThemeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeThemeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetReadOnlySelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetReadOnlySelector.ts","statementMap":{"0":{"start":{"line":4,"column":46},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":44},"end":{"line":6,"column":87}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":44},"end":{"line":6,"column":87}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokenSetSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":18},"end":{"line":6,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":43}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokensTabSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/activeTokensTabSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/aliasBaseFontSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/aliasBaseFontSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/allTokenSetsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/allTokenSetsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":18},"end":{"line":6,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":48}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiProvidersSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiProvidersSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/apiSelector.ts","statementMap":{"0":{"start":{"line":5,"column":27},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":22}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/backgroundJobsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/backgroundJobsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/baseFontSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/baseFontSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/branchSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/branchSelector.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":3,"column":69}},"1":{"start":{"line":3,"column":52},"end":{"line":3,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":52},"end":{"line":3,"column":69}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changedStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changedStateSelector.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changelogSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/changelogSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenSetsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenSetsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":42},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":37}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenTypeObjSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokenTypeObjSelector.ts","statementMap":{"0":{"start":{"line":4,"column":45},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/collapsedTokensSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/confirmStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/confirmStateSelector.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":31}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/createStylesWithVariableReferencesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/createStylesWithVariableReferencesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":58},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":53}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/displayTypeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/displayTypeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editProhibitedSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editProhibitedSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":4,"column":105}},"1":{"start":{"line":4,"column":84},"end":{"line":4,"column":104}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":73},"end":{"line":4,"column":74}},"loc":{"start":{"line":4,"column":84},"end":{"line":4,"column":104}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editTokenSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/editTokenSelector.ts","statementMap":{"0":{"start":{"line":5,"column":33},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/figmaFontsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/figmaFontsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getClientEmail.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getClientEmail.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":4,"column":113}},"1":{"start":{"line":4,"column":80},"end":{"line":4,"column":112}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":69},"end":{"line":4,"column":70}},"loc":{"start":{"line":4,"column":80},"end":{"line":4,"column":112}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getEntitlements.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getEntitlements.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":4,"column":115}},"1":{"start":{"line":4,"column":81},"end":{"line":4,"column":114}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":70},"end":{"line":4,"column":71}},"loc":{"start":{"line":4,"column":81},"end":{"line":4,"column":114}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getLastopened.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/getLastopened.ts","statementMap":{"0":{"start":{"line":4,"column":29},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/hasUnsavedChangesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/hasUnsavedChangesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/ignoreFirstPartForStylesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/ignoreFirstPartForStylesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":48},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedThemesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedThemesSelector.ts","statementMap":{"0":{"start":{"line":5,"column":38},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedTokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/importedTokensSelector.ts","statementMap":{"0":{"start":{"line":5,"column":38},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":33}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectDeepSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectDeepSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/inspectStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":36},"end":{"line":3,"column":76}},"1":{"start":{"line":3,"column":58},"end":{"line":3,"column":76}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":36},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":58},"end":{"line":3,"column":76}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/isWaitingForBackgroundJobSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/isWaitingForBackgroundJobSelector.ts","statementMap":{"0":{"start":{"line":6,"column":33},"end":{"line":6,"column":79}},"1":{"start":{"line":6,"column":76},"end":{"line":6,"column":79}},"2":{"start":{"line":8,"column":49},"end":{"line":18,"column":1}},"3":{"start":{"line":12,"column":20},"end":{"line":12,"column":57}},"4":{"start":{"line":12,"column":39},"end":{"line":12,"column":56}},"5":{"start":{"line":13,"column":4},"end":{"line":16,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":33},"end":{"line":6,"column":34}},"loc":{"start":{"line":6,"column":76},"end":{"line":6,"column":79}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":18},"end":{"line":17,"column":3}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":30},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":39},"end":{"line":12,"column":56}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":11},"end":{"line":16,"column":14}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":25}},{"start":{"line":15,"column":10},"end":{"line":15,"column":17}},{"start":{"line":15,"column":21},"end":{"line":15,"column":79}},{"start":{"line":16,"column":9},"end":{"line":16,"column":14}}],"line":13},"1":{"loc":{"start":{"line":15,"column":22},"end":{"line":15,"column":49}},"type":"binary-expr","locations":[{"start":{"line":15,"column":22},"end":{"line":15,"column":44}},{"start":{"line":15,"column":48},"end":{"line":15,"column":49}}],"line":15},"2":{"loc":{"start":{"line":15,"column":55},"end":{"line":15,"column":78}},"type":"binary-expr","locations":[{"start":{"line":15,"column":55},"end":{"line":15,"column":73}},{"start":{"line":15,"column":77},"end":{"line":15,"column":78}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0,0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/languageSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/languageSelector.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/lastSyncedStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/lastSyncedStateSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseDetailsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseDetailsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":4,"column":104}},"1":{"start":{"line":4,"column":83},"end":{"line":4,"column":103}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":72},"end":{"line":4,"column":73}},"loc":{"start":{"line":4,"column":83},"end":{"line":4,"column":103}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeyErrorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeyErrorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":4,"column":103}},"1":{"start":{"line":4,"column":84},"end":{"line":4,"column":102}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":73},"end":{"line":4,"column":74}},"loc":{"start":{"line":4,"column":84},"end":{"line":4,"column":102}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeySelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseKeySelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":4,"column":96}},"1":{"start":{"line":4,"column":79},"end":{"line":4,"column":95}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":68},"end":{"line":4,"column":69}},"loc":{"start":{"line":4,"column":79},"end":{"line":4,"column":95}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseStatusSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/licenseStatusSelector.ts","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":4,"column":102}},"1":{"start":{"line":4,"column":82},"end":{"line":4,"column":101}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":71},"end":{"line":4,"column":72}},"loc":{"start":{"line":4,"column":82},"end":{"line":4,"column":101}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateBranchSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateBranchSelector.ts","statementMap":{"0":{"start":{"line":5,"column":43},"end":{"line":13,"column":1}},"1":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"2":{"start":{"line":9,"column":6},"end":{"line":9,"column":24}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":11},"end":{"line":12,"column":3}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/localApiStateSelector.ts","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":32}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/mainNodeSelectionValuesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/mainNodeSelectionValuesSelector.ts","statementMap":{"0":{"start":{"line":5,"column":47},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":42}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/manageThemesModalOpenSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/manageThemesModalOpenSelector.ts","statementMap":{"0":{"start":{"line":4,"column":45},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":40}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/planSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/planSelector.ts","statementMap":{"0":{"start":{"line":4,"column":28},"end":{"line":4,"column":99}},"1":{"start":{"line":4,"column":73},"end":{"line":4,"column":98}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":62},"end":{"line":4,"column":63}},"loc":{"start":{"line":4,"column":73},"end":{"line":4,"column":98}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/prefixStylesWithThemeNameSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/prefixStylesWithThemeNameSelector.ts","statementMap":{"0":{"start":{"line":4,"column":49},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":44}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/projectURLSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/projectURLSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/remoteDataSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/remoteDataSelector.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":29}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts","statementMap":{"0":{"start":{"line":4,"column":65},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":60}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/renameExistingStylesAndVariablesSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/renameExistingStylesAndVariablesSelector.ts","statementMap":{"0":{"start":{"line":4,"column":56},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":51}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/rootStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/rootStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":60}},"1":{"start":{"line":3,"column":55},"end":{"line":3,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":33},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":55},"end":{"line":3,"column":60}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/scrollPositionSetSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/scrollPositionSetSelector.ts","statementMap":{"0":{"start":{"line":4,"column":41},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":36}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/secondScreenSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/secondScreenSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":4,"column":105}},"1":{"start":{"line":4,"column":79},"end":{"line":4,"column":104}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":68},"end":{"line":4,"column":69}},"loc":{"start":{"line":4,"column":79},"end":{"line":4,"column":104}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/sessionRecordingSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/sessionRecordingSelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/settingsStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/settingsStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":3,"column":73}},"1":{"start":{"line":3,"column":59},"end":{"line":3,"column":73}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":59},"end":{"line":3,"column":73}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showAutoSuggestSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showAutoSuggestSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showConvertTokenFormatModalSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showConvertTokenFormatModalSelector.ts","statementMap":{"0":{"start":{"line":4,"column":51},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":46}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEditFormSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEditFormSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEmptyGroupsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showEmptyGroupsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPullDialogSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPullDialogSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPushDialogSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/showPushDialogSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storageTypeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storageTypeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storeTokenIdInJsonEditorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/storeTokenIdInJsonEditorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":48},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":43}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stringTokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stringTokensSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesColorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesColorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesEffectSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesEffectSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesTypographySelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/stylesTypographySelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeByIdSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeByIdSelector.ts","statementMap":{"0":{"start":{"line":5,"column":19},"end":{"line":5,"column":55}},"1":{"start":{"line":5,"column":53},"end":{"line":5,"column":55}},"2":{"start":{"line":6,"column":33},"end":{"line":14,"column":1}},"3":{"start":{"line":10,"column":4},"end":{"line":12,"column":14}},"4":{"start":{"line":11,"column":6},"end":{"line":11,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":19},"end":{"line":5,"column":20}},"loc":{"start":{"line":5,"column":53},"end":{"line":5,"column":55}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":14}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":17}},"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":21}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":14}},"type":"binary-expr","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":6}},{"start":{"line":12,"column":10},"end":{"line":12,"column":14}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeObjectsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeObjectsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeOptionsSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themeOptionsSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":4},"end":{"line":11,"column":7}},"2":{"start":{"line":7,"column":62},"end":{"line":11,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":7}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":36},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":62},"end":{"line":11,"column":5}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesListSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesListSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":25}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/themesSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"2":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":27},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFilterSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFilterSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFormatSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenFormatSelector.ts","statementMap":{"0":{"start":{"line":4,"column":35},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":30}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetMetadataSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetMetadataSelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":4,"column":109}},"1":{"start":{"line":4,"column":86},"end":{"line":4,"column":108}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":75},"end":{"line":4,"column":76}},"loc":{"start":{"line":4,"column":86},"end":{"line":4,"column":108}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetStatusSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenSetStatusSelector.ts","statementMap":{"0":{"start":{"line":6,"column":38},"end":{"line":12,"column":1}},"1":{"start":{"line":8,"column":42},"end":{"line":8,"column":50}},"2":{"start":{"line":10,"column":4},"end":{"line":10,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":42},"end":{"line":8,"column":50}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":56}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":56}},"type":"binary-expr","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},{"start":{"line":10,"column":33},"end":{"line":10,"column":56}}],"line":10}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":34},"end":{"line":3,"column":72}},"1":{"start":{"line":3,"column":56},"end":{"line":3,"column":72}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":34},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":56},"end":{"line":3,"column":72}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenTypeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokenTypeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSelector.ts","statementMap":{"0":{"start":{"line":5,"column":30},"end":{"line":13,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":25}},"line":7}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"2":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":29}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":27},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensStudioPATSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/tokensStudioPATSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":12,"column":1}},"1":{"start":{"line":6,"column":17},"end":{"line":6,"column":42}},"2":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":17},"end":{"line":6,"column":42}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":27},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":44}},"line":9}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiDisabledSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiDisabledSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/uiStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":3,"column":66}},"1":{"start":{"line":3,"column":53},"end":{"line":3,"column":66}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":31},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":53},"end":{"line":3,"column":66}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/updateModeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/updateModeSelector.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":8,"column":1}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":48}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":48}},"type":"binary-expr","locations":[{"start":{"line":7,"column":13},"end":{"line":7,"column":29}},{"start":{"line":7,"column":33},"end":{"line":7,"column":48}}],"line":7}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedEmailSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedEmailSelector.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":4,"column":94}},"1":{"start":{"line":4,"column":78},"end":{"line":4,"column":93}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":67},"end":{"line":4,"column":68}},"loc":{"start":{"line":4,"column":78},"end":{"line":4,"column":93}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedTokenSetSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/usedTokenSetSelector.ts","statementMap":{"0":{"start":{"line":4,"column":36},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":31}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userIdSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userIdSelector.ts","statementMap":{"0":{"start":{"line":4,"column":30},"end":{"line":4,"column":88}},"1":{"start":{"line":4,"column":75},"end":{"line":4,"column":87}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":64},"end":{"line":4,"column":65}},"loc":{"start":{"line":4,"column":75},"end":{"line":4,"column":87}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userNameSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userNameSelector.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":4,"column":92}},"1":{"start":{"line":4,"column":77},"end":{"line":4,"column":91}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":66},"end":{"line":4,"column":67}},"loc":{"start":{"line":4,"column":77},"end":{"line":4,"column":91}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userStateSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/userStateSelector.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":70}},"1":{"start":{"line":3,"column":55},"end":{"line":3,"column":70}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":33},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":55},"end":{"line":3,"column":70}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesBooleanSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesBooleanSelector.ts","statementMap":{"0":{"start":{"line":4,"column":40},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":35}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesColorSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesColorSelector.ts","statementMap":{"0":{"start":{"line":4,"column":38},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":33}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesNumberSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesNumberSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesStringSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/variablesStringSelector.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"line":6}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/windowSizeSelector.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/selectors/windowSizeSelector.ts","statementMap":{"0":{"start":{"line":4,"column":34},"end":{"line":4,"column":98}},"1":{"start":{"line":4,"column":83},"end":{"line":4,"column":97}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":72},"end":{"line":4,"column":73}},"loc":{"start":{"line":4,"column":83},"end":{"line":4,"column":97}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/ADOTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/ADOTokenStorage.ts","statementMap":{"0":{"start":{"line":15,"column":19},"end":{"line":15,"column":36}},"1":{"start":{"line":70,"column":4},"end":{"line":70,"column":44}},"2":{"start":{"line":71,"column":4},"end":{"line":71,"column":25}},"3":{"start":{"line":72,"column":4},"end":{"line":72,"column":31}},"4":{"start":{"line":73,"column":4},"end":{"line":73,"column":53}},"5":{"start":{"line":74,"column":4},"end":{"line":74,"column":25}},"6":{"start":{"line":78,"column":4},"end":{"line":78,"column":25}},"7":{"start":{"line":91,"column":24},"end":{"line":93,"column":18}},"8":{"start":{"line":92,"column":69},"end":{"line":92,"column":93}},"9":{"start":{"line":94,"column":18},"end":{"line":94,"column":133}},"10":{"start":{"line":95,"column":16},"end":{"line":105,"column":5}},"11":{"start":{"line":106,"column":4},"end":{"line":106,"column":15}},"12":{"start":{"line":110,"column":4},"end":{"line":110,"column":83}},"13":{"start":{"line":110,"column":70},"end":{"line":110,"column":83}},"14":{"start":{"line":112,"column":23},"end":{"line":121,"column":6}},"15":{"start":{"line":122,"column":4},"end":{"line":122,"column":26}},"16":{"start":{"line":126,"column":4},"end":{"line":139,"column":5}},"17":{"start":{"line":127,"column":23},"end":{"line":134,"column":8}},"18":{"start":{"line":135,"column":6},"end":{"line":135,"column":35}},"19":{"start":{"line":137,"column":6},"end":{"line":137,"column":21}},"20":{"start":{"line":138,"column":6},"end":{"line":138,"column":37}},"21":{"start":{"line":143,"column":4},"end":{"line":157,"column":5}},"22":{"start":{"line":144,"column":23},"end":{"line":152,"column":8}},"23":{"start":{"line":153,"column":6},"end":{"line":153,"column":35}},"24":{"start":{"line":155,"column":6},"end":{"line":155,"column":21}},"25":{"start":{"line":156,"column":6},"end":{"line":156,"column":37}},"26":{"start":{"line":161,"column":22},"end":{"line":161,"column":42}},"27":{"start":{"line":162,"column":30},"end":{"line":162,"column":32}},"28":{"start":{"line":163,"column":4},"end":{"line":167,"column":5}},"29":{"start":{"line":164,"column":6},"end":{"line":166,"column":7}},"30":{"start":{"line":165,"column":8},"end":{"line":165,"column":62}},"31":{"start":{"line":168,"column":4},"end":{"line":168,"column":20}},"32":{"start":{"line":172,"column":22},"end":{"line":172,"column":59}},"33":{"start":{"line":173,"column":4},"end":{"line":180,"column":5}},"34":{"start":{"line":174,"column":23},"end":{"line":178,"column":8}},"35":{"start":{"line":179,"column":6},"end":{"line":179,"column":50}},"36":{"start":{"line":181,"column":4},"end":{"line":181,"column":17}},"37":{"start":{"line":185,"column":22},"end":{"line":185,"column":42}},"38":{"start":{"line":186,"column":21},"end":{"line":186,"column":60}},"39":{"start":{"line":187,"column":4},"end":{"line":191,"column":5}},"40":{"start":{"line":188,"column":6},"end":{"line":190,"column":7}},"41":{"start":{"line":189,"column":8},"end":{"line":189,"column":66}},"42":{"start":{"line":192,"column":25},"end":{"line":192,"column":65}},"43":{"start":{"line":193,"column":4},"end":{"line":193,"column":102}},"44":{"start":{"line":197,"column":4},"end":{"line":203,"column":6}},"45":{"start":{"line":207,"column":4},"end":{"line":223,"column":5}},"46":{"start":{"line":210,"column":23},"end":{"line":218,"column":8}},"47":{"start":{"line":219,"column":6},"end":{"line":219,"column":35}},"48":{"start":{"line":221,"column":6},"end":{"line":221,"column":21}},"49":{"start":{"line":222,"column":6},"end":{"line":222,"column":16}},"50":{"start":{"line":227,"column":4},"end":{"line":243,"column":5}},"51":{"start":{"line":228,"column":23},"end":{"line":238,"column":8}},"52":{"start":{"line":239,"column":6},"end":{"line":239,"column":35}},"53":{"start":{"line":241,"column":6},"end":{"line":241,"column":21}},"54":{"start":{"line":242,"column":6},"end":{"line":242,"column":37}},"55":{"start":{"line":247,"column":4},"end":{"line":339,"column":5}},"56":{"start":{"line":248,"column":6},"end":{"line":300,"column":7}},"57":{"start":{"line":249,"column":26},"end":{"line":249,"column":47}},"58":{"start":{"line":250,"column":26},"end":{"line":254,"column":18}},"59":{"start":{"line":251,"column":30},"end":{"line":251,"column":58}},"60":{"start":{"line":253,"column":12},"end":{"line":253,"column":65}},"61":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"62":{"start":{"line":256,"column":31},"end":{"line":256,"column":41}},"63":{"start":{"line":258,"column":33},"end":{"line":267,"column":9}},"64":{"start":{"line":260,"column":24},"end":{"line":260,"column":48}},"65":{"start":{"line":261,"column":37},"end":{"line":261,"column":78}},"66":{"start":{"line":262,"column":12},"end":{"line":264,"column":13}},"67":{"start":{"line":263,"column":14},"end":{"line":263,"column":43}},"68":{"start":{"line":265,"column":12},"end":{"line":265,"column":24}},"69":{"start":{"line":268,"column":8},"end":{"line":299,"column":12}},"70":{"start":{"line":269,"column":27},"end":{"line":269,"column":43}},"71":{"start":{"line":270,"column":10},"end":{"line":296,"column":11}},"72":{"start":{"line":271,"column":25},"end":{"line":271,"column":96}},"73":{"start":{"line":272,"column":12},"end":{"line":278,"column":13}},"74":{"start":{"line":273,"column":14},"end":{"line":277,"column":48}},"75":{"start":{"line":280,"column":12},"end":{"line":295,"column":13}},"76":{"start":{"line":281,"column":14},"end":{"line":287,"column":15}},"77":{"start":{"line":282,"column":16},"end":{"line":286,"column":52}},"78":{"start":{"line":289,"column":14},"end":{"line":294,"column":56}},"79":{"start":{"line":298,"column":10},"end":{"line":298,"column":22}},"80":{"start":{"line":302,"column":25},"end":{"line":302,"column":45}},"81":{"start":{"line":303,"column":41},"end":{"line":303,"column":97}},"82":{"start":{"line":305,"column":6},"end":{"line":330,"column":7}},"83":{"start":{"line":306,"column":53},"end":{"line":306,"column":84}},"84":{"start":{"line":308,"column":8},"end":{"line":329,"column":10}},"85":{"start":{"line":322,"column":12},"end":{"line":322,"column":65}},"86":{"start":{"line":323,"column":99},"end":{"line":328,"column":11}},"87":{"start":{"line":331,"column":6},"end":{"line":333,"column":7}},"88":{"start":{"line":332,"column":8},"end":{"line":332,"column":18}},"89":{"start":{"line":334,"column":6},"end":{"line":336,"column":8}},"90":{"start":{"line":338,"column":6},"end":{"line":338,"column":21}},"91":{"start":{"line":340,"column":4},"end":{"line":340,"column":14}},"92":{"start":{"line":347,"column":28},"end":{"line":358,"column":32}},"93":{"start":{"line":358,"column":21},"end":{"line":358,"column":31}},"94":{"start":{"line":360,"column":4},"end":{"line":363,"column":5}},"95":{"start":{"line":361,"column":27},"end":{"line":361,"column":88}},"96":{"start":{"line":362,"column":6},"end":{"line":362,"column":36}},"97":{"start":{"line":365,"column":27},"end":{"line":365,"column":61}},"98":{"start":{"line":367,"column":27},"end":{"line":388,"column":6}},"99":{"start":{"line":389,"column":4},"end":{"line":389,"column":26}},"100":{"start":{"line":393,"column":24},"end":{"line":393,"column":82}},"101":{"start":{"line":394,"column":22},"end":{"line":394,"column":43}},"102":{"start":{"line":395,"column":27},"end":{"line":395,"column":62}},"103":{"start":{"line":395,"column":47},"end":{"line":395,"column":55}},"104":{"start":{"line":396,"column":37},"end":{"line":409,"column":8}},"105":{"start":{"line":398,"column":30},"end":{"line":398,"column":70}},"106":{"start":{"line":399,"column":8},"end":{"line":408,"column":11}},"107":{"start":{"line":412,"column":29},"end":{"line":412,"column":55}},"108":{"start":{"line":413,"column":4},"end":{"line":415,"column":5}},"109":{"start":{"line":414,"column":6},"end":{"line":414,"column":65}},"110":{"start":{"line":417,"column":4},"end":{"line":440,"column":5}},"111":{"start":{"line":418,"column":24},"end":{"line":418,"column":109}},"112":{"start":{"line":418,"column":49},"end":{"line":418,"column":77}},"113":{"start":{"line":418,"column":94},"end":{"line":418,"column":102}},"114":{"start":{"line":419,"column":28},"end":{"line":420,"column":52}},"115":{"start":{"line":419,"column":59},"end":{"line":419,"column":134}},"116":{"start":{"line":419,"column":98},"end":{"line":419,"column":133}},"117":{"start":{"line":420,"column":32},"end":{"line":420,"column":50}},"118":{"start":{"line":421,"column":31},"end":{"line":429,"column":8}},"119":{"start":{"line":422,"column":30},"end":{"line":422,"column":70}},"120":{"start":{"line":423,"column":8},"end":{"line":428,"column":11}},"121":{"start":{"line":430,"column":22},"end":{"line":430,"column":71}},"122":{"start":{"line":432,"column":23},"end":{"line":437,"column":8}},"123":{"start":{"line":439,"column":6},"end":{"line":439,"column":24}},"124":{"start":{"line":442,"column":21},"end":{"line":447,"column":6}},"125":{"start":{"line":448,"column":4},"end":{"line":448,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":59,"column":2},"end":{"line":59,"column":3}},"loc":{"start":{"line":69,"column":5},"end":{"line":75,"column":3}},"line":69},"1":{"name":"(anonymous_1)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":35},"end":{"line":79,"column":3}},"line":77},"2":{"name":"(anonymous_2)","decl":{"start":{"line":81,"column":2},"end":{"line":81,"column":3}},"loc":{"start":{"line":90,"column":34},"end":{"line":107,"column":3}},"line":90},"3":{"name":"(anonymous_3)","decl":{"start":{"line":92,"column":46},"end":{"line":92,"column":47}},"loc":{"start":{"line":92,"column":69},"end":{"line":92,"column":93}},"line":92},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":109,"column":44},"end":{"line":123,"column":3}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":125,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":125,"column":109},"end":{"line":140,"column":3}},"line":125},"6":{"name":"(anonymous_6)","decl":{"start":{"line":142,"column":2},"end":{"line":142,"column":3}},"loc":{"start":{"line":142,"column":45},"end":{"line":158,"column":3}},"line":142},"7":{"name":"(anonymous_7)","decl":{"start":{"line":160,"column":2},"end":{"line":160,"column":3}},"loc":{"start":{"line":160,"column":31},"end":{"line":169,"column":3}},"line":160},"8":{"name":"(anonymous_8)","decl":{"start":{"line":171,"column":2},"end":{"line":171,"column":3}},"loc":{"start":{"line":171,"column":92},"end":{"line":182,"column":3}},"line":171},"9":{"name":"(anonymous_9)","decl":{"start":{"line":184,"column":2},"end":{"line":184,"column":3}},"loc":{"start":{"line":184,"column":76},"end":{"line":194,"column":3}},"line":184},"10":{"name":"(anonymous_10)","decl":{"start":{"line":196,"column":2},"end":{"line":196,"column":3}},"loc":{"start":{"line":196,"column":60},"end":{"line":204,"column":3}},"line":196},"11":{"name":"(anonymous_11)","decl":{"start":{"line":206,"column":2},"end":{"line":206,"column":3}},"loc":{"start":{"line":206,"column":64},"end":{"line":224,"column":3}},"line":206},"12":{"name":"(anonymous_12)","decl":{"start":{"line":226,"column":2},"end":{"line":226,"column":3}},"loc":{"start":{"line":226,"column":88},"end":{"line":244,"column":3}},"line":226},"13":{"name":"(anonymous_13)","decl":{"start":{"line":246,"column":2},"end":{"line":246,"column":3}},"loc":{"start":{"line":246,"column":90},"end":{"line":341,"column":3}},"line":246},"14":{"name":"(anonymous_14)","decl":{"start":{"line":251,"column":19},"end":{"line":251,"column":20}},"loc":{"start":{"line":251,"column":30},"end":{"line":251,"column":58}},"line":251},"15":{"name":"(anonymous_15)","decl":{"start":{"line":252,"column":16},"end":{"line":252,"column":17}},"loc":{"start":{"line":253,"column":12},"end":{"line":253,"column":65}},"line":253},"16":{"name":"(anonymous_16)","decl":{"start":{"line":259,"column":24},"end":{"line":259,"column":25}},"loc":{"start":{"line":259,"column":44},"end":{"line":266,"column":11}},"line":259},"17":{"name":"(anonymous_17)","decl":{"start":{"line":268,"column":75},"end":{"line":268,"column":76}},"loc":{"start":{"line":268,"column":99},"end":{"line":299,"column":9}},"line":268},"18":{"name":"(anonymous_18)","decl":{"start":{"line":321,"column":42},"end":{"line":321,"column":43}},"loc":{"start":{"line":322,"column":12},"end":{"line":322,"column":65}},"line":322},"19":{"name":"(anonymous_19)","decl":{"start":{"line":323,"column":76},"end":{"line":323,"column":77}},"loc":{"start":{"line":323,"column":99},"end":{"line":328,"column":11}},"line":323},"20":{"name":"(anonymous_20)","decl":{"start":{"line":343,"column":2},"end":{"line":343,"column":3}},"loc":{"start":{"line":345,"column":53},"end":{"line":390,"column":3}},"line":345},"21":{"name":"(anonymous_21)","decl":{"start":{"line":358,"column":12},"end":{"line":358,"column":13}},"loc":{"start":{"line":358,"column":21},"end":{"line":358,"column":31}},"line":358},"22":{"name":"(anonymous_22)","decl":{"start":{"line":392,"column":2},"end":{"line":392,"column":3}},"loc":{"start":{"line":392,"column":153},"end":{"line":449,"column":3}},"line":392},"23":{"name":"(anonymous_23)","decl":{"start":{"line":395,"column":38},"end":{"line":395,"column":39}},"loc":{"start":{"line":395,"column":47},"end":{"line":395,"column":55}},"line":395},"24":{"name":"(anonymous_24)","decl":{"start":{"line":397,"column":11},"end":{"line":397,"column":12}},"loc":{"start":{"line":397,"column":32},"end":{"line":409,"column":7}},"line":397},"25":{"name":"(anonymous_25)","decl":{"start":{"line":418,"column":38},"end":{"line":418,"column":39}},"loc":{"start":{"line":418,"column":49},"end":{"line":418,"column":77}},"line":418},"26":{"name":"(anonymous_26)","decl":{"start":{"line":418,"column":85},"end":{"line":418,"column":86}},"loc":{"start":{"line":418,"column":94},"end":{"line":418,"column":102}},"line":418},"27":{"name":"(anonymous_27)","decl":{"start":{"line":419,"column":45},"end":{"line":419,"column":46}},"loc":{"start":{"line":419,"column":59},"end":{"line":419,"column":134}},"line":419},"28":{"name":"(anonymous_28)","decl":{"start":{"line":419,"column":88},"end":{"line":419,"column":89}},"loc":{"start":{"line":419,"column":98},"end":{"line":419,"column":133}},"line":419},"29":{"name":"(anonymous_29)","decl":{"start":{"line":420,"column":13},"end":{"line":420,"column":14}},"loc":{"start":{"line":420,"column":32},"end":{"line":420,"column":50}},"line":420},"30":{"name":"(anonymous_30)","decl":{"start":{"line":421,"column":49},"end":{"line":421,"column":50}},"loc":{"start":{"line":421,"column":59},"end":{"line":429,"column":7}},"line":421}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":13},"end":{"line":60,"column":24}},"type":"default-arg","locations":[{"start":{"line":60,"column":22},"end":{"line":60,"column":24}}],"line":60},"1":{"loc":{"start":{"line":65,"column":4},"end":{"line":65,"column":33}},"type":"default-arg","locations":[{"start":{"line":65,"column":27},"end":{"line":65,"column":33}}],"line":65},"2":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":18}},"type":"default-arg","locations":[{"start":{"line":89,"column":13},"end":{"line":89,"column":18}}],"line":89},"3":{"loc":{"start":{"line":91,"column":24},"end":{"line":93,"column":18}},"type":"cond-expr","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":111}},{"start":{"line":93,"column":8},"end":{"line":93,"column":18}}],"line":91},"4":{"loc":{"start":{"line":94,"column":31},"end":{"line":94,"column":63}},"type":"cond-expr","locations":[{"start":{"line":94,"column":43},"end":{"line":94,"column":58}},{"start":{"line":94,"column":61},"end":{"line":94,"column":63}}],"line":94},"5":{"loc":{"start":{"line":110,"column":4},"end":{"line":110,"column":83}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":110,"column":83}},{"start":{},"end":{}}],"line":110},"6":{"loc":{"start":{"line":110,"column":8},"end":{"line":110,"column":68}},"type":"binary-expr","locations":[{"start":{"line":110,"column":8},"end":{"line":110,"column":36}},{"start":{"line":110,"column":40},"end":{"line":110,"column":68}}],"line":110},"7":{"loc":{"start":{"line":125,"column":24},"end":{"line":125,"column":48}},"type":"default-arg","locations":[{"start":{"line":125,"column":41},"end":{"line":125,"column":48}}],"line":125},"8":{"loc":{"start":{"line":164,"column":6},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":164,"column":6},"end":{"line":166,"column":7}},{"start":{},"end":{}}],"line":164},"9":{"loc":{"start":{"line":171,"column":44},"end":{"line":171,"column":72}},"type":"default-arg","locations":[{"start":{"line":171,"column":61},"end":{"line":171,"column":72}}],"line":171},"10":{"loc":{"start":{"line":173,"column":4},"end":{"line":180,"column":5}},"type":"if","locations":[{"start":{"line":173,"column":4},"end":{"line":180,"column":5}},{"start":{},"end":{}}],"line":173},"11":{"loc":{"start":{"line":179,"column":13},"end":{"line":179,"column":49}},"type":"binary-expr","locations":[{"start":{"line":179,"column":13},"end":{"line":179,"column":40}},{"start":{"line":179,"column":44},"end":{"line":179,"column":49}}],"line":179},"12":{"loc":{"start":{"line":188,"column":6},"end":{"line":190,"column":7}},"type":"if","locations":[{"start":{"line":188,"column":6},"end":{"line":190,"column":7}},{"start":{},"end":{}}],"line":188},"13":{"loc":{"start":{"line":192,"column":25},"end":{"line":192,"column":65}},"type":"binary-expr","locations":[{"start":{"line":192,"column":25},"end":{"line":192,"column":50}},{"start":{"line":192,"column":54},"end":{"line":192,"column":65}}],"line":192},"14":{"loc":{"start":{"line":193,"column":11},"end":{"line":193,"column":101}},"type":"cond-expr","locations":[{"start":{"line":193,"column":32},"end":{"line":193,"column":68}},{"start":{"line":193,"column":71},"end":{"line":193,"column":101}}],"line":193},"15":{"loc":{"start":{"line":206,"column":24},"end":{"line":206,"column":48}},"type":"default-arg","locations":[{"start":{"line":206,"column":39},"end":{"line":206,"column":48}}],"line":206},"16":{"loc":{"start":{"line":233,"column":14},"end":{"line":236,"column":11}},"type":"binary-expr","locations":[{"start":{"line":233,"column":14},"end":{"line":233,"column":25}},{"start":{"line":233,"column":29},"end":{"line":236,"column":11}}],"line":233},"17":{"loc":{"start":{"line":248,"column":6},"end":{"line":300,"column":7}},"type":"if","locations":[{"start":{"line":248,"column":6},"end":{"line":300,"column":7}},{"start":{},"end":{}}],"line":248},"18":{"loc":{"start":{"line":250,"column":26},"end":{"line":254,"column":18}},"type":"binary-expr","locations":[{"start":{"line":250,"column":26},"end":{"line":254,"column":12}},{"start":{"line":254,"column":16},"end":{"line":254,"column":18}}],"line":250},"19":{"loc":{"start":{"line":253,"column":12},"end":{"line":253,"column":65}},"type":"cond-expr","locations":[{"start":{"line":253,"column":33},"end":{"line":253,"column":61}},{"start":{"line":253,"column":64},"end":{"line":253,"column":65}}],"line":253},"20":{"loc":{"start":{"line":253,"column":13},"end":{"line":253,"column":29}},"type":"binary-expr","locations":[{"start":{"line":253,"column":13},"end":{"line":253,"column":19}},{"start":{"line":253,"column":23},"end":{"line":253,"column":29}}],"line":253},"21":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"if","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},{"start":{},"end":{}}],"line":256},"22":{"loc":{"start":{"line":262,"column":12},"end":{"line":264,"column":13}},"type":"if","locations":[{"start":{"line":262,"column":12},"end":{"line":264,"column":13}},{"start":{},"end":{}}],"line":262},"23":{"loc":{"start":{"line":270,"column":10},"end":{"line":296,"column":11}},"type":"if","locations":[{"start":{"line":270,"column":10},"end":{"line":296,"column":11}},{"start":{},"end":{}}],"line":270},"24":{"loc":{"start":{"line":272,"column":12},"end":{"line":278,"column":13}},"type":"if","locations":[{"start":{"line":272,"column":12},"end":{"line":278,"column":13}},{"start":{},"end":{}}],"line":272},"25":{"loc":{"start":{"line":272,"column":16},"end":{"line":272,"column":77}},"type":"binary-expr","locations":[{"start":{"line":272,"column":16},"end":{"line":272,"column":47}},{"start":{"line":272,"column":51},"end":{"line":272,"column":77}}],"line":272},"26":{"loc":{"start":{"line":280,"column":12},"end":{"line":295,"column":13}},"type":"if","locations":[{"start":{"line":280,"column":12},"end":{"line":295,"column":13}},{"start":{},"end":{}}],"line":280},"27":{"loc":{"start":{"line":281,"column":14},"end":{"line":287,"column":15}},"type":"if","locations":[{"start":{"line":281,"column":14},"end":{"line":287,"column":15}},{"start":{},"end":{}}],"line":281},"28":{"loc":{"start":{"line":305,"column":6},"end":{"line":330,"column":7}},"type":"if","locations":[{"start":{"line":305,"column":6},"end":{"line":330,"column":7}},{"start":{},"end":{}}],"line":305},"29":{"loc":{"start":{"line":306,"column":16},"end":{"line":306,"column":28}},"type":"default-arg","locations":[{"start":{"line":306,"column":26},"end":{"line":306,"column":28}}],"line":306},"30":{"loc":{"start":{"line":314,"column":14},"end":{"line":320,"column":16}},"type":"cond-expr","locations":[{"start":{"line":314,"column":26},"end":{"line":320,"column":11}},{"start":{"line":320,"column":14},"end":{"line":320,"column":16}}],"line":314},"31":{"loc":{"start":{"line":327,"column":18},"end":{"line":327,"column":58}},"type":"cond-expr","locations":[{"start":{"line":327,"column":45},"end":{"line":327,"column":53}},{"start":{"line":327,"column":56},"end":{"line":327,"column":58}}],"line":327},"32":{"loc":{"start":{"line":331,"column":6},"end":{"line":333,"column":7}},"type":"if","locations":[{"start":{"line":331,"column":6},"end":{"line":333,"column":7}},{"start":{},"end":{}}],"line":331},"33":{"loc":{"start":{"line":344,"column":21},"end":{"line":344,"column":56}},"type":"default-arg","locations":[{"start":{"line":344,"column":37},"end":{"line":344,"column":56}}],"line":344},"34":{"loc":{"start":{"line":360,"column":4},"end":{"line":363,"column":5}},"type":"if","locations":[{"start":{"line":360,"column":4},"end":{"line":363,"column":5}},{"start":{},"end":{}}],"line":360},"35":{"loc":{"start":{"line":361,"column":27},"end":{"line":361,"column":88}},"type":"binary-expr","locations":[{"start":{"line":361,"column":27},"end":{"line":361,"column":50}},{"start":{"line":361,"column":54},"end":{"line":361,"column":88}}],"line":361},"36":{"loc":{"start":{"line":372,"column":25},"end":{"line":372,"column":54}},"type":"binary-expr","locations":[{"start":{"line":372,"column":25},"end":{"line":372,"column":39}},{"start":{"line":372,"column":43},"end":{"line":372,"column":54}}],"line":372},"37":{"loc":{"start":{"line":392,"column":98},"end":{"line":392,"column":133}},"type":"default-arg","locations":[{"start":{"line":392,"column":128},"end":{"line":392,"column":133}}],"line":392},"38":{"loc":{"start":{"line":395,"column":27},"end":{"line":395,"column":62}},"type":"binary-expr","locations":[{"start":{"line":395,"column":27},"end":{"line":395,"column":56}},{"start":{"line":395,"column":60},"end":{"line":395,"column":62}}],"line":395},"39":{"loc":{"start":{"line":398,"column":30},"end":{"line":398,"column":70}},"type":"cond-expr","locations":[{"start":{"line":398,"column":53},"end":{"line":398,"column":57}},{"start":{"line":398,"column":60},"end":{"line":398,"column":70}}],"line":398},"40":{"loc":{"start":{"line":400,"column":22},"end":{"line":400,"column":95}},"type":"cond-expr","locations":[{"start":{"line":400,"column":63},"end":{"line":400,"column":78}},{"start":{"line":400,"column":81},"end":{"line":400,"column":95}}],"line":400},"41":{"loc":{"start":{"line":413,"column":4},"end":{"line":415,"column":5}},"type":"if","locations":[{"start":{"line":413,"column":4},"end":{"line":415,"column":5}},{"start":{},"end":{}}],"line":413},"42":{"loc":{"start":{"line":417,"column":4},"end":{"line":440,"column":5}},"type":"if","locations":[{"start":{"line":417,"column":4},"end":{"line":440,"column":5}},{"start":{},"end":{}}],"line":417},"43":{"loc":{"start":{"line":418,"column":24},"end":{"line":418,"column":109}},"type":"binary-expr","locations":[{"start":{"line":418,"column":24},"end":{"line":418,"column":103}},{"start":{"line":418,"column":107},"end":{"line":418,"column":109}}],"line":418},"44":{"loc":{"start":{"line":419,"column":98},"end":{"line":419,"column":133}},"type":"binary-expr","locations":[{"start":{"line":419,"column":98},"end":{"line":419,"column":106}},{"start":{"line":419,"column":110},"end":{"line":419,"column":133}}],"line":419},"45":{"loc":{"start":{"line":420,"column":32},"end":{"line":420,"column":50}},"type":"binary-expr","locations":[{"start":{"line":420,"column":32},"end":{"line":420,"column":44}},{"start":{"line":420,"column":48},"end":{"line":420,"column":50}}],"line":420},"46":{"loc":{"start":{"line":422,"column":30},"end":{"line":422,"column":70}},"type":"cond-expr","locations":[{"start":{"line":422,"column":53},"end":{"line":422,"column":57}},{"start":{"line":422,"column":60},"end":{"line":422,"column":70}}],"line":422}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/BitbucketTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/BitbucketTokenStorage.ts","statementMap":{"0":{"start":{"line":31,"column":4},"end":{"line":31,"column":56}},"1":{"start":{"line":32,"column":4},"end":{"line":34,"column":6}},"2":{"start":{"line":36,"column":4},"end":{"line":42,"column":7}},"3":{"start":{"line":48,"column":21},"end":{"line":51,"column":6}},"4":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"5":{"start":{"line":54,"column":6},"end":{"line":54,"column":25}},"6":{"start":{"line":58,"column":4},"end":{"line":58,"column":75}},"7":{"start":{"line":58,"column":50},"end":{"line":58,"column":61}},"8":{"start":{"line":75,"column":4},"end":{"line":111,"column":5}},"9":{"start":{"line":76,"column":27},"end":{"line":79,"column":8}},"10":{"start":{"line":81,"column":31},"end":{"line":81,"column":52}},"11":{"start":{"line":82,"column":27},"end":{"line":84,"column":7}},"12":{"start":{"line":83,"column":40},"end":{"line":83,"column":77}},"13":{"start":{"line":86,"column":6},"end":{"line":94,"column":7}},"14":{"start":{"line":93,"column":8},"end":{"line":93,"column":60}},"15":{"start":{"line":96,"column":24},"end":{"line":105,"column":8}},"16":{"start":{"line":107,"column":6},"end":{"line":107,"column":38}},"17":{"start":{"line":109,"column":6},"end":{"line":109,"column":25}},"18":{"start":{"line":110,"column":6},"end":{"line":110,"column":19}},"19":{"start":{"line":118,"column":24},"end":{"line":118,"column":74}},"20":{"start":{"line":119,"column":4},"end":{"line":119,"column":51}},"21":{"start":{"line":119,"column":38},"end":{"line":119,"column":51}},"22":{"start":{"line":120,"column":4},"end":{"line":128,"column":5}},"23":{"start":{"line":121,"column":23},"end":{"line":121,"column":82}},"24":{"start":{"line":122,"column":25},"end":{"line":122,"column":53}},"25":{"start":{"line":124,"column":23},"end":{"line":124,"column":60}},"26":{"start":{"line":125,"column":6},"end":{"line":125,"column":24}},"27":{"start":{"line":127,"column":6},"end":{"line":127,"column":19}},"28":{"start":{"line":145,"column":30},"end":{"line":145,"column":32}},"29":{"start":{"line":146,"column":37},"end":{"line":146,"column":57}},"30":{"start":{"line":148,"column":4},"end":{"line":176,"column":5}},"31":{"start":{"line":149,"column":23},"end":{"line":154,"column":8}},"32":{"start":{"line":156,"column":6},"end":{"line":158,"column":7}},"33":{"start":{"line":157,"column":8},"end":{"line":157,"column":81}},"34":{"start":{"line":160,"column":19},"end":{"line":160,"column":40}},"35":{"start":{"line":161,"column":6},"end":{"line":173,"column":7}},"36":{"start":{"line":162,"column":26},"end":{"line":162,"column":88}},"37":{"start":{"line":162,"column":60},"end":{"line":162,"column":87}},"38":{"start":{"line":163,"column":8},"end":{"line":163,"column":54}},"39":{"start":{"line":166,"column":34},"end":{"line":170,"column":9}},"40":{"start":{"line":168,"column":35},"end":{"line":168,"column":67}},"41":{"start":{"line":169,"column":43},"end":{"line":169,"column":108}},"42":{"start":{"line":172,"column":8},"end":{"line":172,"column":65}},"43":{"start":{"line":175,"column":6},"end":{"line":175,"column":38}},"44":{"start":{"line":178,"column":4},"end":{"line":178,"column":24}},"45":{"start":{"line":182,"column":21},"end":{"line":187,"column":6}},"46":{"start":{"line":189,"column":4},"end":{"line":191,"column":5}},"47":{"start":{"line":190,"column":6},"end":{"line":190,"column":79}},"48":{"start":{"line":193,"column":17},"end":{"line":193,"column":38}},"49":{"start":{"line":195,"column":4},"end":{"line":195,"column":16}},"50":{"start":{"line":199,"column":27},"end":{"line":199,"column":66}},"51":{"start":{"line":201,"column":4},"end":{"line":288,"column":5}},"52":{"start":{"line":202,"column":18},"end":{"line":202,"column":132}},"53":{"start":{"line":205,"column":6},"end":{"line":235,"column":7}},"54":{"start":{"line":206,"column":25},"end":{"line":206,"column":54}},"55":{"start":{"line":208,"column":8},"end":{"line":234,"column":10}},"56":{"start":{"line":224,"column":55},"end":{"line":224,"column":108}},"57":{"start":{"line":228,"column":63},"end":{"line":233,"column":11}},"58":{"start":{"line":238,"column":6},"end":{"line":280,"column":7}},"59":{"start":{"line":239,"column":26},"end":{"line":239,"column":69}},"60":{"start":{"line":241,"column":33},"end":{"line":248,"column":9}},"61":{"start":{"line":242,"column":39},"end":{"line":247,"column":38}},"62":{"start":{"line":247,"column":27},"end":{"line":247,"column":37}},"63":{"start":{"line":250,"column":8},"end":{"line":279,"column":11}},"64":{"start":{"line":251,"column":27},"end":{"line":251,"column":43}},"65":{"start":{"line":252,"column":27},"end":{"line":252,"column":85}},"66":{"start":{"line":253,"column":21},"end":{"line":253,"column":77}},"67":{"start":{"line":254,"column":10},"end":{"line":254,"column":43}},"68":{"start":{"line":255,"column":25},"end":{"line":255,"column":70}},"69":{"start":{"line":257,"column":10},"end":{"line":263,"column":11}},"70":{"start":{"line":258,"column":12},"end":{"line":262,"column":14}},"71":{"start":{"line":265,"column":10},"end":{"line":271,"column":11}},"72":{"start":{"line":266,"column":12},"end":{"line":270,"column":14}},"73":{"start":{"line":273,"column":10},"end":{"line":278,"column":12}},"74":{"start":{"line":282,"column":6},"end":{"line":284,"column":8}},"75":{"start":{"line":286,"column":6},"end":{"line":286,"column":32}},"76":{"start":{"line":287,"column":6},"end":{"line":287,"column":16}},"77":{"start":{"line":325,"column":31},"end":{"line":325,"column":41}},"78":{"start":{"line":327,"column":17},"end":{"line":327,"column":31}},"79":{"start":{"line":329,"column":27},"end":{"line":329,"column":66}},"80":{"start":{"line":330,"column":37},"end":{"line":330,"column":39}},"81":{"start":{"line":332,"column":4},"end":{"line":355,"column":5}},"82":{"start":{"line":333,"column":6},"end":{"line":354,"column":7}},"83":{"start":{"line":334,"column":20},"end":{"line":334,"column":113}},"84":{"start":{"line":335,"column":30},"end":{"line":335,"column":73}},"85":{"start":{"line":337,"column":59},"end":{"line":337,"column":61}},"86":{"start":{"line":338,"column":8},"end":{"line":345,"column":9}},"87":{"start":{"line":339,"column":10},"end":{"line":344,"column":13}},"88":{"start":{"line":340,"column":12},"end":{"line":343,"column":13}},"89":{"start":{"line":341,"column":35},"end":{"line":341,"column":65}},"90":{"start":{"line":342,"column":14},"end":{"line":342,"column":53}},"91":{"start":{"line":347,"column":31},"end":{"line":347,"column":49}},"92":{"start":{"line":349,"column":8},"end":{"line":351,"column":10}},"93":{"start":{"line":350,"column":24},"end":{"line":350,"column":87}},"94":{"start":{"line":361,"column":4},"end":{"line":367,"column":7}},"95":{"start":{"line":362,"column":6},"end":{"line":362,"column":33}},"96":{"start":{"line":366,"column":6},"end":{"line":366,"column":33}},"97":{"start":{"line":369,"column":4},"end":{"line":371,"column":7}},"98":{"start":{"line":370,"column":6},"end":{"line":370,"column":47}},"99":{"start":{"line":373,"column":21},"end":{"line":379,"column":6}},"100":{"start":{"line":381,"column":4},"end":{"line":381,"column":20}},"101":{"start":{"line":390,"column":21},"end":{"line":401,"column":6}},"102":{"start":{"line":402,"column":4},"end":{"line":402,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":30,"column":2},"end":{"line":30,"column":3}},"loc":{"start":{"line":30,"column":102},"end":{"line":43,"column":3}},"line":30},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":50},"end":{"line":59,"column":3}},"line":47},"2":{"name":"(anonymous_2)","decl":{"start":{"line":58,"column":38},"end":{"line":58,"column":39}},"loc":{"start":{"line":58,"column":50},"end":{"line":58,"column":61}},"line":58},"3":{"name":"(anonymous_3)","decl":{"start":{"line":74,"column":2},"end":{"line":74,"column":3}},"loc":{"start":{"line":74,"column":61},"end":{"line":112,"column":3}},"line":74},"4":{"name":"(anonymous_4)","decl":{"start":{"line":83,"column":8},"end":{"line":83,"column":9}},"loc":{"start":{"line":83,"column":40},"end":{"line":83,"column":77}},"line":83},"5":{"name":"(anonymous_5)","decl":{"start":{"line":117,"column":2},"end":{"line":117,"column":3}},"loc":{"start":{"line":117,"column":44},"end":{"line":129,"column":3}},"line":117},"6":{"name":"(anonymous_6)","decl":{"start":{"line":144,"column":2},"end":{"line":144,"column":3}},"loc":{"start":{"line":144,"column":83},"end":{"line":179,"column":3}},"line":144},"7":{"name":"(anonymous_7)","decl":{"start":{"line":162,"column":45},"end":{"line":162,"column":46}},"loc":{"start":{"line":162,"column":60},"end":{"line":162,"column":87}},"line":162},"8":{"name":"(anonymous_8)","decl":{"start":{"line":168,"column":20},"end":{"line":168,"column":21}},"loc":{"start":{"line":168,"column":35},"end":{"line":168,"column":67}},"line":168},"9":{"name":"(anonymous_9)","decl":{"start":{"line":169,"column":17},"end":{"line":169,"column":18}},"loc":{"start":{"line":169,"column":43},"end":{"line":169,"column":108}},"line":169},"10":{"name":"(anonymous_10)","decl":{"start":{"line":181,"column":2},"end":{"line":181,"column":3}},"loc":{"start":{"line":181,"column":73},"end":{"line":196,"column":3}},"line":181},"11":{"name":"(anonymous_11)","decl":{"start":{"line":198,"column":2},"end":{"line":198,"column":3}},"loc":{"start":{"line":198,"column":90},"end":{"line":289,"column":3}},"line":198},"12":{"name":"(anonymous_12)","decl":{"start":{"line":224,"column":44},"end":{"line":224,"column":45}},"loc":{"start":{"line":224,"column":55},"end":{"line":224,"column":108}},"line":224},"13":{"name":"(anonymous_13)","decl":{"start":{"line":228,"column":40},"end":{"line":228,"column":41}},"loc":{"start":{"line":228,"column":63},"end":{"line":233,"column":11}},"line":228},"14":{"name":"(anonymous_14)","decl":{"start":{"line":242,"column":24},"end":{"line":242,"column":25}},"loc":{"start":{"line":242,"column":39},"end":{"line":247,"column":38}},"line":242},"15":{"name":"(anonymous_15)","decl":{"start":{"line":247,"column":18},"end":{"line":247,"column":19}},"loc":{"start":{"line":247,"column":27},"end":{"line":247,"column":37}},"line":247},"16":{"name":"(anonymous_16)","decl":{"start":{"line":250,"column":36},"end":{"line":250,"column":37}},"loc":{"start":{"line":250,"column":60},"end":{"line":279,"column":9}},"line":250},"17":{"name":"(anonymous_17)","decl":{"start":{"line":322,"column":2},"end":{"line":322,"column":3}},"loc":{"start":{"line":324,"column":31},"end":{"line":382,"column":3}},"line":324},"18":{"name":"(anonymous_18)","decl":{"start":{"line":339,"column":32},"end":{"line":339,"column":33}},"loc":{"start":{"line":339,"column":42},"end":{"line":344,"column":11}},"line":339},"19":{"name":"(anonymous_19)","decl":{"start":{"line":350,"column":10},"end":{"line":350,"column":11}},"loc":{"start":{"line":350,"column":24},"end":{"line":350,"column":87}},"line":350},"20":{"name":"(anonymous_20)","decl":{"start":{"line":361,"column":34},"end":{"line":361,"column":35}},"loc":{"start":{"line":361,"column":55},"end":{"line":367,"column":5}},"line":361},"21":{"name":"(anonymous_21)","decl":{"start":{"line":369,"column":29},"end":{"line":369,"column":30}},"loc":{"start":{"line":369,"column":43},"end":{"line":371,"column":5}},"line":369},"22":{"name":"(anonymous_22)","decl":{"start":{"line":384,"column":2},"end":{"line":384,"column":3}},"loc":{"start":{"line":389,"column":22},"end":{"line":403,"column":3}},"line":389}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":18},"end":{"line":38,"column":45}},"type":"binary-expr","locations":[{"start":{"line":38,"column":18},"end":{"line":38,"column":31}},{"start":{"line":38,"column":35},"end":{"line":38,"column":45}}],"line":38},"1":{"loc":{"start":{"line":41,"column":15},"end":{"line":41,"column":40}},"type":"binary-expr","locations":[{"start":{"line":41,"column":15},"end":{"line":41,"column":27}},{"start":{"line":41,"column":31},"end":{"line":41,"column":40}}],"line":41},"2":{"loc":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":53},"3":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":35}},"type":"binary-expr","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":17}},{"start":{"line":53,"column":21},"end":{"line":53,"column":35}}],"line":53},"4":{"loc":{"start":{"line":81,"column":31},"end":{"line":81,"column":52}},"type":"binary-expr","locations":[{"start":{"line":81,"column":31},"end":{"line":81,"column":37}},{"start":{"line":81,"column":41},"end":{"line":81,"column":52}}],"line":81},"5":{"loc":{"start":{"line":86,"column":6},"end":{"line":94,"column":7}},"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":94,"column":7}},{"start":{},"end":{}}],"line":86},"6":{"loc":{"start":{"line":87,"column":8},"end":{"line":91,"column":36}},"type":"binary-expr","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":26}},{"start":{"line":88,"column":11},"end":{"line":88,"column":36}},{"start":{"line":89,"column":11},"end":{"line":89,"column":24}},{"start":{"line":90,"column":11},"end":{"line":90,"column":31}},{"start":{"line":91,"column":11},"end":{"line":91,"column":36}}],"line":87},"7":{"loc":{"start":{"line":119,"column":4},"end":{"line":119,"column":51}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":119,"column":51}},{"start":{},"end":{}}],"line":119},"8":{"loc":{"start":{"line":124,"column":26},"end":{"line":124,"column":59}},"type":"binary-expr","locations":[{"start":{"line":124,"column":26},"end":{"line":124,"column":48}},{"start":{"line":124,"column":52},"end":{"line":124,"column":59}}],"line":124},"9":{"loc":{"start":{"line":156,"column":6},"end":{"line":158,"column":7}},"type":"if","locations":[{"start":{"line":156,"column":6},"end":{"line":158,"column":7}},{"start":{},"end":{}}],"line":156},"10":{"loc":{"start":{"line":161,"column":6},"end":{"line":173,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":173,"column":7}},{"start":{},"end":{}}],"line":161},"11":{"loc":{"start":{"line":161,"column":10},"end":{"line":161,"column":51}},"type":"binary-expr","locations":[{"start":{"line":161,"column":10},"end":{"line":161,"column":21}},{"start":{"line":161,"column":25},"end":{"line":161,"column":51}}],"line":161},"12":{"loc":{"start":{"line":175,"column":20},"end":{"line":175,"column":37}},"type":"binary-expr","locations":[{"start":{"line":175,"column":20},"end":{"line":175,"column":29}},{"start":{"line":175,"column":33},"end":{"line":175,"column":37}}],"line":175},"13":{"loc":{"start":{"line":189,"column":4},"end":{"line":191,"column":5}},"type":"if","locations":[{"start":{"line":189,"column":4},"end":{"line":191,"column":5}},{"start":{},"end":{}}],"line":189},"14":{"loc":{"start":{"line":205,"column":6},"end":{"line":235,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":235,"column":7}},{"start":{},"end":{}}],"line":205},"15":{"loc":{"start":{"line":212,"column":18},"end":{"line":212,"column":40}},"type":"binary-expr","locations":[{"start":{"line":212,"column":18},"end":{"line":212,"column":34}},{"start":{"line":212,"column":38},"end":{"line":212,"column":40}}],"line":212},"16":{"loc":{"start":{"line":214,"column":14},"end":{"line":222,"column":16}},"type":"cond-expr","locations":[{"start":{"line":215,"column":14},"end":{"line":221,"column":13}},{"start":{"line":222,"column":14},"end":{"line":222,"column":16}}],"line":214},"17":{"loc":{"start":{"line":238,"column":6},"end":{"line":280,"column":7}},"type":"if","locations":[{"start":{"line":238,"column":6},"end":{"line":280,"column":7}},{"start":{},"end":{}}],"line":238},"18":{"loc":{"start":{"line":252,"column":27},"end":{"line":252,"column":85}},"type":"cond-expr","locations":[{"start":{"line":252,"column":56},"end":{"line":252,"column":60}},{"start":{"line":252,"column":63},"end":{"line":252,"column":85}}],"line":252},"19":{"loc":{"start":{"line":257,"column":10},"end":{"line":263,"column":11}},"type":"if","locations":[{"start":{"line":257,"column":10},"end":{"line":263,"column":11}},{"start":{},"end":{}}],"line":257},"20":{"loc":{"start":{"line":265,"column":10},"end":{"line":271,"column":11}},"type":"if","locations":[{"start":{"line":265,"column":10},"end":{"line":271,"column":11}},{"start":{},"end":{}}],"line":265},"21":{"loc":{"start":{"line":332,"column":4},"end":{"line":355,"column":5}},"type":"if","locations":[{"start":{"line":332,"column":4},"end":{"line":355,"column":5}},{"start":{},"end":{}}],"line":332},"22":{"loc":{"start":{"line":332,"column":8},"end":{"line":332,"column":72}},"type":"binary-expr","locations":[{"start":{"line":332,"column":8},"end":{"line":332,"column":41}},{"start":{"line":332,"column":45},"end":{"line":332,"column":72}}],"line":332},"23":{"loc":{"start":{"line":338,"column":8},"end":{"line":345,"column":9}},"type":"if","locations":[{"start":{"line":338,"column":8},"end":{"line":345,"column":9}},{"start":{},"end":{}}],"line":338},"24":{"loc":{"start":{"line":340,"column":12},"end":{"line":343,"column":13}},"type":"if","locations":[{"start":{"line":340,"column":12},"end":{"line":343,"column":13}},{"start":{},"end":{}}],"line":340},"25":{"loc":{"start":{"line":340,"column":16},"end":{"line":340,"column":73}},"type":"binary-expr","locations":[{"start":{"line":340,"column":16},"end":{"line":340,"column":43}},{"start":{"line":340,"column":47},"end":{"line":340,"column":73}}],"line":340},"26":{"loc":{"start":{"line":350,"column":24},"end":{"line":350,"column":87}},"type":"binary-expr","locations":[{"start":{"line":350,"column":24},"end":{"line":350,"column":58}},{"start":{"line":350,"column":62},"end":{"line":350,"column":87}}],"line":350}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/FileTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/FileTokenStorage.ts","statementMap":{"0":{"start":{"line":20,"column":34},"end":{"line":22,"column":3}},"1":{"start":{"line":25,"column":4},"end":{"line":25,"column":12}},"2":{"start":{"line":26,"column":4},"end":{"line":26,"column":23}},"3":{"start":{"line":30,"column":4},"end":{"line":30,"column":39}},"4":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"5":{"start":{"line":35,"column":4},"end":{"line":134,"column":5}},"6":{"start":{"line":36,"column":6},"end":{"line":90,"column":7}},"7":{"start":{"line":37,"column":26},"end":{"line":40,"column":12}},"8":{"start":{"line":37,"column":66},"end":{"line":37,"column":107}},"9":{"start":{"line":39,"column":12},"end":{"line":39,"column":121}},"10":{"start":{"line":42,"column":29},"end":{"line":56,"column":11}},"11":{"start":{"line":42,"column":53},"end":{"line":56,"column":10}},"12":{"start":{"line":43,"column":25},"end":{"line":43,"column":41}},"13":{"start":{"line":44,"column":10},"end":{"line":44,"column":34}},"14":{"start":{"line":45,"column":10},"end":{"line":55,"column":12}},"15":{"start":{"line":46,"column":32},"end":{"line":46,"column":55}},"16":{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},"17":{"start":{"line":48,"column":37},"end":{"line":48,"column":60}},"18":{"start":{"line":49,"column":39},"end":{"line":49,"column":91}},"19":{"start":{"line":50,"column":14},"end":{"line":52,"column":15}},"20":{"start":{"line":51,"column":16},"end":{"line":51,"column":47}},"21":{"start":{"line":54,"column":12},"end":{"line":54,"column":26}},"22":{"start":{"line":58,"column":33},"end":{"line":58,"column":64}},"23":{"start":{"line":59,"column":8},"end":{"line":89,"column":12}},"24":{"start":{"line":60,"column":41},"end":{"line":60,"column":57}},"25":{"start":{"line":61,"column":10},"end":{"line":87,"column":11}},"26":{"start":{"line":62,"column":25},"end":{"line":62,"column":113}},"27":{"start":{"line":63,"column":12},"end":{"line":69,"column":13}},"28":{"start":{"line":64,"column":14},"end":{"line":68,"column":48}},"29":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"30":{"start":{"line":72,"column":14},"end":{"line":76,"column":16}},"31":{"start":{"line":79,"column":12},"end":{"line":86,"column":13}},"32":{"start":{"line":80,"column":14},"end":{"line":85,"column":56}},"33":{"start":{"line":88,"column":10},"end":{"line":88,"column":22}},"34":{"start":{"line":91,"column":6},"end":{"line":131,"column":7}},"35":{"start":{"line":92,"column":23},"end":{"line":92,"column":39}},"36":{"start":{"line":93,"column":8},"end":{"line":93,"column":41}},"37":{"start":{"line":94,"column":8},"end":{"line":130,"column":11}},"38":{"start":{"line":95,"column":10},"end":{"line":129,"column":12}},"39":{"start":{"line":96,"column":27},"end":{"line":96,"column":50}},"40":{"start":{"line":98,"column":12},"end":{"line":127,"column":13}},"41":{"start":{"line":99,"column":37},"end":{"line":99,"column":55}},"42":{"start":{"line":100,"column":39},"end":{"line":100,"column":99}},"43":{"start":{"line":101,"column":14},"end":{"line":123,"column":15}},"44":{"start":{"line":102,"column":61},"end":{"line":102,"column":82}},"45":{"start":{"line":103,"column":16},"end":{"line":122,"column":19}},"46":{"start":{"line":116,"column":93},"end":{"line":121,"column":19}},"47":{"start":{"line":124,"column":14},"end":{"line":126,"column":17}},"48":{"start":{"line":128,"column":12},"end":{"line":128,"column":24}},"49":{"start":{"line":133,"column":6},"end":{"line":133,"column":21}},"50":{"start":{"line":135,"column":4},"end":{"line":135,"column":14}},"51":{"start":{"line":139,"column":4},"end":{"line":139,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":31},"end":{"line":27,"column":3}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":29,"column":27},"end":{"line":32,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":90},"end":{"line":136,"column":3}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":56},"end":{"line":37,"column":57}},"loc":{"start":{"line":37,"column":66},"end":{"line":37,"column":107}},"line":37},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},"loc":{"start":{"line":39,"column":12},"end":{"line":39,"column":121}},"line":39},"5":{"name":"(anonymous_5)","decl":{"start":{"line":42,"column":43},"end":{"line":42,"column":44}},"loc":{"start":{"line":42,"column":53},"end":{"line":56,"column":10}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":42,"column":65},"end":{"line":42,"column":66}},"loc":{"start":{"line":42,"column":78},"end":{"line":56,"column":9}},"line":42},"7":{"name":"(anonymous_7)","decl":{"start":{"line":45,"column":26},"end":{"line":45,"column":27}},"loc":{"start":{"line":45,"column":38},"end":{"line":55,"column":11}},"line":45},"8":{"name":"(anonymous_8)","decl":{"start":{"line":59,"column":75},"end":{"line":59,"column":76}},"loc":{"start":{"line":59,"column":99},"end":{"line":89,"column":9}},"line":59},"9":{"name":"(anonymous_9)","decl":{"start":{"line":94,"column":92},"end":{"line":94,"column":93}},"loc":{"start":{"line":94,"column":105},"end":{"line":130,"column":9}},"line":94},"10":{"name":"(anonymous_10)","decl":{"start":{"line":95,"column":26},"end":{"line":95,"column":27}},"loc":{"start":{"line":95,"column":38},"end":{"line":129,"column":11}},"line":95},"11":{"name":"(anonymous_11)","decl":{"start":{"line":116,"column":70},"end":{"line":116,"column":71}},"loc":{"start":{"line":116,"column":93},"end":{"line":121,"column":19}},"line":116},"12":{"name":"(anonymous_12)","decl":{"start":{"line":138,"column":2},"end":{"line":138,"column":3}},"loc":{"start":{"line":138,"column":41},"end":{"line":140,"column":3}},"line":138}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":6},"end":{"line":90,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":90,"column":7}},{"start":{},"end":{}}],"line":36},"1":{"loc":{"start":{"line":36,"column":10},"end":{"line":36,"column":62}},"type":"binary-expr","locations":[{"start":{"line":36,"column":10},"end":{"line":36,"column":37}},{"start":{"line":36,"column":41},"end":{"line":36,"column":62}}],"line":36},"2":{"loc":{"start":{"line":39,"column":12},"end":{"line":39,"column":121}},"type":"cond-expr","locations":[{"start":{"line":39,"column":61},"end":{"line":39,"column":117}},{"start":{"line":39,"column":120},"end":{"line":39,"column":121}}],"line":39},"3":{"loc":{"start":{"line":39,"column":13},"end":{"line":39,"column":57}},"type":"binary-expr","locations":[{"start":{"line":39,"column":13},"end":{"line":39,"column":33}},{"start":{"line":39,"column":37},"end":{"line":39,"column":57}}],"line":39},"4":{"loc":{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},"type":"if","locations":[{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},{"start":{},"end":{}}],"line":47},"5":{"loc":{"start":{"line":47,"column":16},"end":{"line":47,"column":56}},"type":"binary-expr","locations":[{"start":{"line":47,"column":16},"end":{"line":47,"column":27}},{"start":{"line":47,"column":31},"end":{"line":47,"column":56}}],"line":47},"6":{"loc":{"start":{"line":50,"column":14},"end":{"line":52,"column":15}},"type":"if","locations":[{"start":{"line":50,"column":14},"end":{"line":52,"column":15}},{"start":{},"end":{}}],"line":50},"7":{"loc":{"start":{"line":61,"column":10},"end":{"line":87,"column":11}},"type":"if","locations":[{"start":{"line":61,"column":10},"end":{"line":87,"column":11}},{"start":{},"end":{}}],"line":61},"8":{"loc":{"start":{"line":63,"column":12},"end":{"line":69,"column":13}},"type":"if","locations":[{"start":{"line":63,"column":12},"end":{"line":69,"column":13}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":16},"end":{"line":63,"column":77}},"type":"binary-expr","locations":[{"start":{"line":63,"column":16},"end":{"line":63,"column":47}},{"start":{"line":63,"column":51},"end":{"line":63,"column":77}}],"line":63},"10":{"loc":{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":77,"column":13}},{"start":{},"end":{}}],"line":71},"11":{"loc":{"start":{"line":79,"column":12},"end":{"line":86,"column":13}},"type":"if","locations":[{"start":{"line":79,"column":12},"end":{"line":86,"column":13}},{"start":{},"end":{}}],"line":79},"12":{"loc":{"start":{"line":91,"column":6},"end":{"line":131,"column":7}},"type":"if","locations":[{"start":{"line":91,"column":6},"end":{"line":131,"column":7}},{"start":{},"end":{}}],"line":91},"13":{"loc":{"start":{"line":98,"column":12},"end":{"line":127,"column":13}},"type":"if","locations":[{"start":{"line":98,"column":12},"end":{"line":127,"column":13}},{"start":{},"end":{}}],"line":98},"14":{"loc":{"start":{"line":98,"column":16},"end":{"line":98,"column":46}},"type":"binary-expr","locations":[{"start":{"line":98,"column":16},"end":{"line":98,"column":22}},{"start":{"line":98,"column":26},"end":{"line":98,"column":46}}],"line":98},"15":{"loc":{"start":{"line":101,"column":14},"end":{"line":123,"column":15}},"type":"if","locations":[{"start":{"line":101,"column":14},"end":{"line":123,"column":15}},{"start":{},"end":{}}],"line":101},"16":{"loc":{"start":{"line":102,"column":24},"end":{"line":102,"column":36}},"type":"default-arg","locations":[{"start":{"line":102,"column":34},"end":{"line":102,"column":36}}],"line":102},"17":{"loc":{"start":{"line":107,"column":26},"end":{"line":107,"column":63}},"type":"cond-expr","locations":[{"start":{"line":107,"column":51},"end":{"line":107,"column":58}},{"start":{"line":107,"column":61},"end":{"line":107,"column":63}}],"line":107},"18":{"loc":{"start":{"line":109,"column":22},"end":{"line":115,"column":24}},"type":"cond-expr","locations":[{"start":{"line":109,"column":34},"end":{"line":115,"column":19}},{"start":{"line":115,"column":22},"end":{"line":115,"column":24}}],"line":109},"19":{"loc":{"start":{"line":120,"column":26},"end":{"line":120,"column":66}},"type":"cond-expr","locations":[{"start":{"line":120,"column":53},"end":{"line":120,"column":61}},{"start":{"line":120,"column":64},"end":{"line":120,"column":66}}],"line":120}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0],"17":[0,0],"18":[0,0],"19":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GenericVersionedStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GenericVersionedStorage.ts","statementMap":{"0":{"start":{"line":12,"column":31},"end":{"line":17,"column":2}},"1":{"start":{"line":34,"column":23},"end":{"line":34,"column":143}},"2":{"start":{"line":34,"column":106},"end":{"line":34,"column":143}},"3":{"start":{"line":34,"column":125},"end":{"line":34,"column":142}},"4":{"start":{"line":52,"column":35},"end":{"line":58,"column":15}},"5":{"start":{"line":60,"column":4},"end":{"line":74,"column":5}},"6":{"start":{"line":62,"column":8},"end":{"line":62,"column":23}},"7":{"start":{"line":63,"column":8},"end":{"line":63,"column":25}},"8":{"start":{"line":64,"column":8},"end":{"line":64,"column":14}},"9":{"start":{"line":66,"column":8},"end":{"line":66,"column":23}},"10":{"start":{"line":67,"column":8},"end":{"line":67,"column":14}},"11":{"start":{"line":69,"column":8},"end":{"line":69,"column":24}},"12":{"start":{"line":70,"column":8},"end":{"line":70,"column":14}},"13":{"start":{"line":72,"column":8},"end":{"line":72,"column":41}},"14":{"start":{"line":73,"column":8},"end":{"line":73,"column":21}},"15":{"start":{"line":76,"column":21},"end":{"line":86,"column":6}},"16":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"17":{"start":{"line":89,"column":6},"end":{"line":89,"column":39}},"18":{"start":{"line":91,"column":4},"end":{"line":93,"column":5}},"19":{"start":{"line":92,"column":6},"end":{"line":92,"column":29}},"20":{"start":{"line":94,"column":4},"end":{"line":94,"column":17}},"21":{"start":{"line":98,"column":4},"end":{"line":98,"column":12}},"22":{"start":{"line":99,"column":4},"end":{"line":99,"column":19}},"23":{"start":{"line":100,"column":4},"end":{"line":100,"column":21}},"24":{"start":{"line":101,"column":4},"end":{"line":104,"column":7}},"25":{"start":{"line":108,"column":4},"end":{"line":128,"column":6}},"26":{"start":{"line":122,"column":110},"end":{"line":127,"column":7}},"27":{"start":{"line":132,"column":21},"end":{"line":140,"column":6}},"28":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"29":{"start":{"line":143,"column":6},"end":{"line":143,"column":39}},"30":{"start":{"line":145,"column":4},"end":{"line":153,"column":5}},"31":{"start":{"line":146,"column":29},"end":{"line":146,"column":50}},"32":{"start":{"line":147,"column":31},"end":{"line":147,"column":90}},"33":{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},"34":{"start":{"line":149,"column":37},"end":{"line":149,"column":93}},"35":{"start":{"line":150,"column":8},"end":{"line":150,"column":107}},"36":{"start":{"line":151,"column":8},"end":{"line":151,"column":77}},"37":{"start":{"line":156,"column":4},"end":{"line":156,"column":14}},"38":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"39":{"start":{"line":161,"column":6},"end":{"line":161,"column":101}},"40":{"start":{"line":164,"column":45},"end":{"line":169,"column":5}},"41":{"start":{"line":170,"column":4},"end":{"line":182,"column":7}},"42":{"start":{"line":171,"column":6},"end":{"line":181,"column":7}},"43":{"start":{"line":172,"column":8},"end":{"line":175,"column":10}},"44":{"start":{"line":176,"column":13},"end":{"line":181,"column":7}},"45":{"start":{"line":177,"column":8},"end":{"line":180,"column":10}},"46":{"start":{"line":184,"column":21},"end":{"line":193,"column":6}},"47":{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},"48":{"start":{"line":196,"column":6},"end":{"line":196,"column":39}},"49":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"50":{"start":{"line":200,"column":6},"end":{"line":200,"column":18}},"51":{"start":{"line":203,"column":4},"end":{"line":203,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":34,"column":23},"end":{"line":34,"column":24}},"loc":{"start":{"line":34,"column":106},"end":{"line":34,"column":143}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":118},"end":{"line":34,"column":119}},"loc":{"start":{"line":34,"column":125},"end":{"line":34,"column":142}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":3}},"loc":{"start":{"line":51,"column":5},"end":{"line":95,"column":3}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":97,"column":2},"end":{"line":97,"column":3}},"loc":{"start":{"line":97,"column":111},"end":{"line":105,"column":3}},"line":97},"4":{"name":"(anonymous_4)","decl":{"start":{"line":107,"column":2},"end":{"line":107,"column":3}},"loc":{"start":{"line":107,"column":121},"end":{"line":129,"column":3}},"line":107},"5":{"name":"(anonymous_5)","decl":{"start":{"line":122,"column":87},"end":{"line":122,"column":88}},"loc":{"start":{"line":122,"column":110},"end":{"line":127,"column":7}},"line":122},"6":{"name":"(anonymous_6)","decl":{"start":{"line":131,"column":2},"end":{"line":131,"column":3}},"loc":{"start":{"line":131,"column":79},"end":{"line":157,"column":3}},"line":131},"7":{"name":"(anonymous_7)","decl":{"start":{"line":159,"column":2},"end":{"line":159,"column":3}},"loc":{"start":{"line":159,"column":94},"end":{"line":204,"column":3}},"line":159},"8":{"name":"(anonymous_8)","decl":{"start":{"line":170,"column":18},"end":{"line":170,"column":19}},"loc":{"start":{"line":170,"column":28},"end":{"line":182,"column":5}},"line":170}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":96},"end":{"line":49,"column":143}},"type":"default-arg","locations":[{"start":{"line":49,"column":141},"end":{"line":49,"column":143}}],"line":49},"1":{"loc":{"start":{"line":60,"column":4},"end":{"line":74,"column":5}},"type":"switch","locations":[{"start":{"line":61,"column":6},"end":{"line":64,"column":14}},{"start":{"line":65,"column":6},"end":{"line":67,"column":14}},{"start":{"line":68,"column":6},"end":{"line":70,"column":14}},{"start":{"line":71,"column":6},"end":{"line":73,"column":21}}],"line":60},"2":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{},"end":{}}],"line":88},"3":{"loc":{"start":{"line":91,"column":4},"end":{"line":93,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":93,"column":5}},{"start":{},"end":{}}],"line":91},"4":{"loc":{"start":{"line":97,"column":62},"end":{"line":97,"column":109}},"type":"default-arg","locations":[{"start":{"line":97,"column":107},"end":{"line":97,"column":109}}],"line":97},"5":{"loc":{"start":{"line":112,"column":14},"end":{"line":112,"column":32}},"type":"binary-expr","locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":26}},{"start":{"line":112,"column":30},"end":{"line":112,"column":32}}],"line":112},"6":{"loc":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":142},"7":{"loc":{"start":{"line":145,"column":4},"end":{"line":153,"column":5}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":153,"column":5}},{"start":{},"end":{}}],"line":145},"8":{"loc":{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},"type":"if","locations":[{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},{"start":{},"end":{}}],"line":148},"9":{"loc":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},{"start":{},"end":{}}],"line":160},"10":{"loc":{"start":{"line":171,"column":6},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":171,"column":6},"end":{"line":181,"column":7}},{"start":{"line":176,"column":13},"end":{"line":181,"column":7}}],"line":171},"11":{"loc":{"start":{"line":173,"column":14},"end":{"line":173,"column":38}},"type":"binary-expr","locations":[{"start":{"line":173,"column":14},"end":{"line":173,"column":32}},{"start":{"line":173,"column":36},"end":{"line":173,"column":38}}],"line":173},"12":{"loc":{"start":{"line":176,"column":13},"end":{"line":181,"column":7}},"type":"if","locations":[{"start":{"line":176,"column":13},"end":{"line":181,"column":7}},{"start":{},"end":{}}],"line":176},"13":{"loc":{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},"type":"if","locations":[{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},{"start":{},"end":{}}],"line":195},"14":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},{"start":{},"end":{}}],"line":199}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitTokenStorage.ts","statementMap":{"0":{"start":{"line":37,"column":29},"end":{"line":37,"column":35}},"1":{"start":{"line":39,"column":27},"end":{"line":39,"column":29}},"2":{"start":{"line":41,"column":42},"end":{"line":41,"column":51}},"3":{"start":{"line":43,"column":34},"end":{"line":45,"column":3}},"4":{"start":{"line":47,"column":43},"end":{"line":47,"column":52}},"5":{"start":{"line":56,"column":4},"end":{"line":56,"column":12}},"6":{"start":{"line":57,"column":4},"end":{"line":57,"column":25}},"7":{"start":{"line":58,"column":4},"end":{"line":58,"column":23}},"8":{"start":{"line":59,"column":4},"end":{"line":59,"column":33}},"9":{"start":{"line":60,"column":4},"end":{"line":60,"column":27}},"10":{"start":{"line":61,"column":4},"end":{"line":61,"column":29}},"11":{"start":{"line":65,"column":4},"end":{"line":65,"column":25}},"12":{"start":{"line":66,"column":4},"end":{"line":66,"column":16}},"13":{"start":{"line":70,"column":4},"end":{"line":70,"column":31}},"14":{"start":{"line":71,"column":4},"end":{"line":71,"column":16}},"15":{"start":{"line":75,"column":4},"end":{"line":75,"column":39}},"16":{"start":{"line":76,"column":4},"end":{"line":76,"column":16}},"17":{"start":{"line":80,"column":4},"end":{"line":80,"column":40}},"18":{"start":{"line":81,"column":4},"end":{"line":81,"column":16}},"19":{"start":{"line":95,"column":21},"end":{"line":95,"column":47}},"20":{"start":{"line":96,"column":4},"end":{"line":96,"column":39}},"21":{"start":{"line":96,"column":26},"end":{"line":96,"column":39}},"22":{"start":{"line":98,"column":51},"end":{"line":98,"column":53}},"23":{"start":{"line":99,"column":4},"end":{"line":125,"column":5}},"24":{"start":{"line":100,"column":6},"end":{"line":111,"column":18}},"25":{"start":{"line":102,"column":10},"end":{"line":108,"column":11}},"26":{"start":{"line":103,"column":12},"end":{"line":103,"column":39}},"27":{"start":{"line":104,"column":17},"end":{"line":108,"column":11}},"28":{"start":{"line":105,"column":12},"end":{"line":105,"column":63}},"29":{"start":{"line":106,"column":17},"end":{"line":108,"column":11}},"30":{"start":{"line":107,"column":12},"end":{"line":107,"column":69}},"31":{"start":{"line":109,"column":10},"end":{"line":109,"column":21}},"32":{"start":{"line":112,"column":11},"end":{"line":125,"column":5}},"33":{"start":{"line":113,"column":6},"end":{"line":121,"column":9}},"34":{"start":{"line":114,"column":8},"end":{"line":120,"column":9}},"35":{"start":{"line":115,"column":10},"end":{"line":115,"column":104}},"36":{"start":{"line":116,"column":15},"end":{"line":120,"column":9}},"37":{"start":{"line":117,"column":10},"end":{"line":117,"column":117}},"38":{"start":{"line":118,"column":15},"end":{"line":120,"column":9}},"39":{"start":{"line":119,"column":10},"end":{"line":119,"column":119}},"40":{"start":{"line":124,"column":6},"end":{"line":124,"column":68}},"41":{"start":{"line":126,"column":4},"end":{"line":131,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":3}},"loc":{"start":{"line":55,"column":4},"end":{"line":62,"column":3}},"line":55},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":2},"end":{"line":64,"column":3}},"loc":{"start":{"line":64,"column":38},"end":{"line":67,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":69,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":69,"column":34},"end":{"line":72,"column":3}},"line":69},"3":{"name":"(anonymous_3)","decl":{"start":{"line":74,"column":2},"end":{"line":74,"column":3}},"loc":{"start":{"line":74,"column":27},"end":{"line":77,"column":3}},"line":74},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":79,"column":28},"end":{"line":82,"column":3}},"line":79},"5":{"name":"(anonymous_5)","decl":{"start":{"line":94,"column":2},"end":{"line":94,"column":3}},"loc":{"start":{"line":94,"column":107},"end":{"line":132,"column":3}},"line":94},"6":{"name":"(anonymous_6)","decl":{"start":{"line":101,"column":45},"end":{"line":101,"column":46}},"loc":{"start":{"line":101,"column":60},"end":{"line":110,"column":9}},"line":101},"7":{"name":"(anonymous_7)","decl":{"start":{"line":113,"column":20},"end":{"line":113,"column":21}},"loc":{"start":{"line":113,"column":30},"end":{"line":121,"column":7}},"line":113}},"branchMap":{"0":{"loc":{"start":{"line":96,"column":4},"end":{"line":96,"column":39}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":96,"column":39}},{"start":{},"end":{}}],"line":96},"1":{"loc":{"start":{"line":99,"column":4},"end":{"line":125,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":125,"column":5}},{"start":{"line":112,"column":11},"end":{"line":125,"column":5}}],"line":99},"2":{"loc":{"start":{"line":102,"column":10},"end":{"line":108,"column":11}},"type":"if","locations":[{"start":{"line":102,"column":10},"end":{"line":108,"column":11}},{"start":{"line":104,"column":17},"end":{"line":108,"column":11}}],"line":102},"3":{"loc":{"start":{"line":104,"column":17},"end":{"line":108,"column":11}},"type":"if","locations":[{"start":{"line":104,"column":17},"end":{"line":108,"column":11}},{"start":{"line":106,"column":17},"end":{"line":108,"column":11}}],"line":104},"4":{"loc":{"start":{"line":105,"column":30},"end":{"line":105,"column":47}},"type":"binary-expr","locations":[{"start":{"line":105,"column":30},"end":{"line":105,"column":41}},{"start":{"line":105,"column":45},"end":{"line":105,"column":47}}],"line":105},"5":{"loc":{"start":{"line":106,"column":17},"end":{"line":108,"column":11}},"type":"if","locations":[{"start":{"line":106,"column":17},"end":{"line":108,"column":11}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":107,"column":33},"end":{"line":107,"column":52}},"type":"binary-expr","locations":[{"start":{"line":107,"column":33},"end":{"line":107,"column":46}},{"start":{"line":107,"column":50},"end":{"line":107,"column":52}}],"line":107},"7":{"loc":{"start":{"line":112,"column":11},"end":{"line":125,"column":5}},"type":"if","locations":[{"start":{"line":112,"column":11},"end":{"line":125,"column":5}},{"start":{"line":122,"column":11},"end":{"line":125,"column":5}}],"line":112},"8":{"loc":{"start":{"line":114,"column":8},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":120,"column":9}},{"start":{"line":116,"column":15},"end":{"line":120,"column":9}}],"line":114},"9":{"loc":{"start":{"line":116,"column":15},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":116,"column":15},"end":{"line":120,"column":9}},{"start":{"line":118,"column":15},"end":{"line":120,"column":9}}],"line":116},"10":{"loc":{"start":{"line":118,"column":15},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":118,"column":15},"end":{"line":120,"column":9}},{"start":{},"end":{}}],"line":118},"11":{"loc":{"start":{"line":128,"column":6},"end":{"line":128,"column":54}},"type":"binary-expr","locations":[{"start":{"line":128,"column":6},"end":{"line":128,"column":31}},{"start":{"line":128,"column":35},"end":{"line":128,"column":54}}],"line":128}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GithubTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GithubTokenStorage.ts","statementMap":{"0":{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},"1":{"start":{"line":34,"column":6},"end":{"line":34,"column":22}},"2":{"start":{"line":36,"column":6},"end":{"line":36,"column":22}},"3":{"start":{"line":41,"column":36},"end":{"line":44,"column":1}},"4":{"start":{"line":55,"column":4},"end":{"line":55,"column":46}},"5":{"start":{"line":56,"column":4},"end":{"line":58,"column":6}},"6":{"start":{"line":61,"column":39},"end":{"line":61,"column":95}},"7":{"start":{"line":62,"column":4},"end":{"line":65,"column":32}},"8":{"start":{"line":69,"column":4},"end":{"line":74,"column":7}},"9":{"start":{"line":80,"column":4},"end":{"line":85,"column":5}},"10":{"start":{"line":81,"column":23},"end":{"line":81,"column":48}},"11":{"start":{"line":82,"column":21},"end":{"line":82,"column":74}},"12":{"start":{"line":82,"column":47},"end":{"line":82,"column":73}},"13":{"start":{"line":83,"column":6},"end":{"line":83,"column":71}},"14":{"start":{"line":83,"column":19},"end":{"line":83,"column":71}},"15":{"start":{"line":84,"column":6},"end":{"line":84,"column":31}},"16":{"start":{"line":88,"column":19},"end":{"line":88,"column":81}},"17":{"start":{"line":89,"column":40},"end":{"line":95,"column":6}},"18":{"start":{"line":97,"column":4},"end":{"line":101,"column":5}},"19":{"start":{"line":98,"column":24},"end":{"line":98,"column":91}},"20":{"start":{"line":98,"column":72},"end":{"line":98,"column":90}},"21":{"start":{"line":99,"column":6},"end":{"line":99,"column":75}},"22":{"start":{"line":99,"column":22},"end":{"line":99,"column":75}},"23":{"start":{"line":100,"column":6},"end":{"line":100,"column":27}},"24":{"start":{"line":105,"column":4},"end":{"line":107,"column":5}},"25":{"start":{"line":106,"column":6},"end":{"line":106,"column":50}},"26":{"start":{"line":109,"column":4},"end":{"line":109,"column":52}},"27":{"start":{"line":113,"column":21},"end":{"line":113,"column":46}},"28":{"start":{"line":114,"column":4},"end":{"line":114,"column":50}},"29":{"start":{"line":114,"column":37},"end":{"line":114,"column":48}},"30":{"start":{"line":118,"column":4},"end":{"line":134,"column":5}},"31":{"start":{"line":119,"column":24},"end":{"line":119,"column":56}},"32":{"start":{"line":120,"column":21},"end":{"line":120,"column":43}},"33":{"start":{"line":121,"column":27},"end":{"line":126,"column":8}},"34":{"start":{"line":127,"column":24},"end":{"line":129,"column":8}},"35":{"start":{"line":130,"column":6},"end":{"line":130,"column":34}},"36":{"start":{"line":132,"column":6},"end":{"line":132,"column":25}},"37":{"start":{"line":133,"column":6},"end":{"line":133,"column":19}},"38":{"start":{"line":138,"column":4},"end":{"line":138,"column":83}},"39":{"start":{"line":138,"column":70},"end":{"line":138,"column":83}},"40":{"start":{"line":139,"column":24},"end":{"line":139,"column":78}},"41":{"start":{"line":140,"column":4},"end":{"line":140,"column":46}},"42":{"start":{"line":140,"column":33},"end":{"line":140,"column":46}},"43":{"start":{"line":141,"column":4},"end":{"line":151,"column":5}},"44":{"start":{"line":142,"column":23},"end":{"line":147,"column":8}},"45":{"start":{"line":148,"column":6},"end":{"line":148,"column":24}},"46":{"start":{"line":150,"column":6},"end":{"line":150,"column":19}},"47":{"start":{"line":155,"column":4},"end":{"line":274,"column":5}},"48":{"start":{"line":156,"column":29},"end":{"line":156,"column":68}},"49":{"start":{"line":157,"column":23},"end":{"line":167,"column":8}},"50":{"start":{"line":170,"column":6},"end":{"line":267,"column":7}},"51":{"start":{"line":171,"column":29},"end":{"line":171,"column":78}},"52":{"start":{"line":172,"column":29},"end":{"line":178,"column":10}},"53":{"start":{"line":179,"column":8},"end":{"line":236,"column":9}},"54":{"start":{"line":180,"column":28},"end":{"line":184,"column":12}},"55":{"start":{"line":181,"column":12},"end":{"line":181,"column":40}},"56":{"start":{"line":183,"column":12},"end":{"line":183,"column":65}},"57":{"start":{"line":185,"column":35},"end":{"line":197,"column":13}},"58":{"start":{"line":186,"column":12},"end":{"line":196,"column":38}},"59":{"start":{"line":198,"column":10},"end":{"line":235,"column":14}},"60":{"start":{"line":199,"column":29},"end":{"line":199,"column":45}},"61":{"start":{"line":200,"column":12},"end":{"line":233,"column":13}},"62":{"start":{"line":205,"column":31},"end":{"line":205,"column":99}},"63":{"start":{"line":206,"column":25},"end":{"line":206,"column":81}},"64":{"start":{"line":207,"column":14},"end":{"line":207,"column":47}},"65":{"start":{"line":208,"column":29},"end":{"line":208,"column":100}},"66":{"start":{"line":211,"column":14},"end":{"line":217,"column":15}},"67":{"start":{"line":212,"column":16},"end":{"line":216,"column":18}},"68":{"start":{"line":219,"column":14},"end":{"line":225,"column":15}},"69":{"start":{"line":220,"column":16},"end":{"line":224,"column":18}},"70":{"start":{"line":227,"column":14},"end":{"line":232,"column":16}},"71":{"start":{"line":234,"column":12},"end":{"line":234,"column":24}},"72":{"start":{"line":237,"column":13},"end":{"line":267,"column":7}},"73":{"start":{"line":238,"column":21},"end":{"line":238,"column":55}},"74":{"start":{"line":239,"column":8},"end":{"line":263,"column":9}},"75":{"start":{"line":240,"column":25},"end":{"line":240,"column":64}},"76":{"start":{"line":241,"column":10},"end":{"line":262,"column":12}},"77":{"start":{"line":255,"column":14},"end":{"line":255,"column":67}},"78":{"start":{"line":256,"column":101},"end":{"line":261,"column":13}},"79":{"start":{"line":264,"column":8},"end":{"line":266,"column":10}},"80":{"start":{"line":269,"column":6},"end":{"line":269,"column":16}},"81":{"start":{"line":272,"column":6},"end":{"line":272,"column":32}},"82":{"start":{"line":273,"column":6},"end":{"line":273,"column":16}},"83":{"start":{"line":278,"column":21},"end":{"line":291,"column":6}},"84":{"start":{"line":292,"column":4},"end":{"line":292,"column":22}},"85":{"start":{"line":296,"column":4},"end":{"line":340,"column":5}},"86":{"start":{"line":297,"column":23},"end":{"line":302,"column":8}},"87":{"start":{"line":304,"column":6},"end":{"line":335,"column":7}},"88":{"start":{"line":305,"column":38},"end":{"line":313,"column":10}},"89":{"start":{"line":308,"column":45},"end":{"line":312,"column":11}},"90":{"start":{"line":315,"column":8},"end":{"line":334,"column":9}},"91":{"start":{"line":316,"column":31},"end":{"line":321,"column":12}},"92":{"start":{"line":323,"column":10},"end":{"line":333,"column":11}},"93":{"start":{"line":324,"column":30},"end":{"line":328,"column":14}},"94":{"start":{"line":325,"column":14},"end":{"line":325,"column":42}},"95":{"start":{"line":327,"column":14},"end":{"line":327,"column":67}},"96":{"start":{"line":330,"column":34},"end":{"line":331,"column":95}},"97":{"start":{"line":330,"column":65},"end":{"line":330,"column":166}},"98":{"start":{"line":330,"column":104},"end":{"line":330,"column":165}},"99":{"start":{"line":331,"column":38},"end":{"line":331,"column":93}},"100":{"start":{"line":332,"column":12},"end":{"line":332,"column":114}},"101":{"start":{"line":337,"column":6},"end":{"line":337,"column":87}},"102":{"start":{"line":339,"column":6},"end":{"line":339,"column":87}},"103":{"start":{"line":344,"column":4},"end":{"line":363,"column":5}},"104":{"start":{"line":345,"column":29},"end":{"line":345,"column":68}},"105":{"start":{"line":346,"column":23},"end":{"line":352,"column":8}},"106":{"start":{"line":354,"column":6},"end":{"line":357,"column":7}},"107":{"start":{"line":355,"column":29},"end":{"line":355,"column":78}},"108":{"start":{"line":356,"column":8},"end":{"line":356,"column":28}},"109":{"start":{"line":358,"column":6},"end":{"line":358,"column":31}},"110":{"start":{"line":361,"column":6},"end":{"line":361,"column":32}},"111":{"start":{"line":362,"column":6},"end":{"line":362,"column":16}}},"fnMap":{"0":{"name":"getTreeMode","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":27}},"loc":{"start":{"line":31,"column":59},"end":{"line":38,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":3}},"loc":{"start":{"line":54,"column":4},"end":{"line":66,"column":3}},"line":54},"2":{"name":"(anonymous_2)","decl":{"start":{"line":68,"column":2},"end":{"line":68,"column":3}},"loc":{"start":{"line":68,"column":30},"end":{"line":75,"column":3}},"line":68},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":52},"end":{"line":110,"column":3}},"line":77},"4":{"name":"(anonymous_4)","decl":{"start":{"line":82,"column":36},"end":{"line":82,"column":37}},"loc":{"start":{"line":82,"column":47},"end":{"line":82,"column":73}},"line":82},"5":{"name":"(anonymous_5)","decl":{"start":{"line":98,"column":62},"end":{"line":98,"column":63}},"loc":{"start":{"line":98,"column":72},"end":{"line":98,"column":90}},"line":98},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":3}},"loc":{"start":{"line":112,"column":31},"end":{"line":115,"column":3}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":25},"end":{"line":114,"column":26}},"loc":{"start":{"line":114,"column":37},"end":{"line":114,"column":48}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":117,"column":2},"end":{"line":117,"column":3}},"loc":{"start":{"line":117,"column":61},"end":{"line":135,"column":3}},"line":117},"9":{"name":"(anonymous_9)","decl":{"start":{"line":137,"column":2},"end":{"line":137,"column":3}},"loc":{"start":{"line":137,"column":44},"end":{"line":152,"column":3}},"line":137},"10":{"name":"(anonymous_10)","decl":{"start":{"line":154,"column":2},"end":{"line":154,"column":3}},"loc":{"start":{"line":154,"column":90},"end":{"line":275,"column":3}},"line":154},"11":{"name":"(anonymous_11)","decl":{"start":{"line":180,"column":58},"end":{"line":180,"column":59}},"loc":{"start":{"line":181,"column":12},"end":{"line":181,"column":40}},"line":181},"12":{"name":"(anonymous_12)","decl":{"start":{"line":182,"column":18},"end":{"line":182,"column":19}},"loc":{"start":{"line":183,"column":12},"end":{"line":183,"column":65}},"line":183},"13":{"name":"(anonymous_13)","decl":{"start":{"line":185,"column":67},"end":{"line":185,"column":68}},"loc":{"start":{"line":186,"column":12},"end":{"line":196,"column":38}},"line":186},"14":{"name":"(anonymous_14)","decl":{"start":{"line":198,"column":77},"end":{"line":198,"column":78}},"loc":{"start":{"line":198,"column":101},"end":{"line":235,"column":11}},"line":198},"15":{"name":"(anonymous_15)","decl":{"start":{"line":254,"column":46},"end":{"line":254,"column":47}},"loc":{"start":{"line":255,"column":14},"end":{"line":255,"column":67}},"line":255},"16":{"name":"(anonymous_16)","decl":{"start":{"line":256,"column":78},"end":{"line":256,"column":79}},"loc":{"start":{"line":256,"column":101},"end":{"line":261,"column":13}},"line":256},"17":{"name":"(anonymous_17)","decl":{"start":{"line":277,"column":2},"end":{"line":277,"column":3}},"loc":{"start":{"line":277,"column":206},"end":{"line":293,"column":3}},"line":277},"18":{"name":"(anonymous_18)","decl":{"start":{"line":295,"column":2},"end":{"line":295,"column":3}},"loc":{"start":{"line":295,"column":146},"end":{"line":341,"column":3}},"line":295},"19":{"name":"(anonymous_19)","decl":{"start":{"line":308,"column":34},"end":{"line":308,"column":35}},"loc":{"start":{"line":308,"column":45},"end":{"line":312,"column":11}},"line":308},"20":{"name":"(anonymous_20)","decl":{"start":{"line":324,"column":60},"end":{"line":324,"column":61}},"loc":{"start":{"line":325,"column":14},"end":{"line":325,"column":42}},"line":325},"21":{"name":"(anonymous_21)","decl":{"start":{"line":326,"column":20},"end":{"line":326,"column":21}},"loc":{"start":{"line":327,"column":14},"end":{"line":327,"column":67}},"line":327},"22":{"name":"(anonymous_22)","decl":{"start":{"line":330,"column":51},"end":{"line":330,"column":52}},"loc":{"start":{"line":330,"column":65},"end":{"line":330,"column":166}},"line":330},"23":{"name":"(anonymous_23)","decl":{"start":{"line":330,"column":94},"end":{"line":330,"column":95}},"loc":{"start":{"line":330,"column":104},"end":{"line":330,"column":165}},"line":330},"24":{"name":"(anonymous_24)","decl":{"start":{"line":331,"column":19},"end":{"line":331,"column":20}},"loc":{"start":{"line":331,"column":38},"end":{"line":331,"column":93}},"line":331},"25":{"name":"(anonymous_25)","decl":{"start":{"line":343,"column":2},"end":{"line":343,"column":3}},"loc":{"start":{"line":343,"column":47},"end":{"line":364,"column":3}},"line":343}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},"type":"switch","locations":[{"start":{"line":33,"column":4},"end":{"line":34,"column":22}},{"start":{"line":35,"column":4},"end":{"line":36,"column":22}}],"line":32},"1":{"loc":{"start":{"line":64,"column":15},"end":{"line":64,"column":40}},"type":"binary-expr","locations":[{"start":{"line":64,"column":15},"end":{"line":64,"column":27}},{"start":{"line":64,"column":31},"end":{"line":64,"column":40}}],"line":64},"2":{"loc":{"start":{"line":80,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":80},"3":{"loc":{"start":{"line":83,"column":6},"end":{"line":83,"column":71}},"type":"if","locations":[{"start":{"line":83,"column":6},"end":{"line":83,"column":71}},{"start":{},"end":{}}],"line":83},"4":{"loc":{"start":{"line":88,"column":19},"end":{"line":88,"column":81}},"type":"cond-expr","locations":[{"start":{"line":88,"column":40},"end":{"line":88,"column":76}},{"start":{"line":88,"column":79},"end":{"line":88,"column":81}}],"line":88},"5":{"loc":{"start":{"line":97,"column":4},"end":{"line":101,"column":5}},"type":"if","locations":[{"start":{"line":97,"column":4},"end":{"line":101,"column":5}},{"start":{},"end":{}}],"line":97},"6":{"loc":{"start":{"line":99,"column":6},"end":{"line":99,"column":75}},"type":"if","locations":[{"start":{"line":99,"column":6},"end":{"line":99,"column":75}},{"start":{},"end":{}}],"line":99},"7":{"loc":{"start":{"line":105,"column":4},"end":{"line":107,"column":5}},"type":"if","locations":[{"start":{"line":105,"column":4},"end":{"line":107,"column":5}},{"start":{},"end":{}}],"line":105},"8":{"loc":{"start":{"line":119,"column":33},"end":{"line":119,"column":54}},"type":"binary-expr","locations":[{"start":{"line":119,"column":33},"end":{"line":119,"column":39}},{"start":{"line":119,"column":43},"end":{"line":119,"column":54}}],"line":119},"9":{"loc":{"start":{"line":138,"column":4},"end":{"line":138,"column":83}},"type":"if","locations":[{"start":{"line":138,"column":4},"end":{"line":138,"column":83}},{"start":{},"end":{}}],"line":138},"10":{"loc":{"start":{"line":138,"column":8},"end":{"line":138,"column":68}},"type":"binary-expr","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":36}},{"start":{"line":138,"column":40},"end":{"line":138,"column":68}}],"line":138},"11":{"loc":{"start":{"line":140,"column":4},"end":{"line":140,"column":46}},"type":"if","locations":[{"start":{"line":140,"column":4},"end":{"line":140,"column":46}},{"start":{},"end":{}}],"line":140},"12":{"loc":{"start":{"line":170,"column":6},"end":{"line":267,"column":7}},"type":"if","locations":[{"start":{"line":170,"column":6},"end":{"line":267,"column":7}},{"start":{"line":237,"column":13},"end":{"line":267,"column":7}}],"line":170},"13":{"loc":{"start":{"line":179,"column":8},"end":{"line":236,"column":9}},"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":236,"column":9}},{"start":{},"end":{}}],"line":179},"14":{"loc":{"start":{"line":179,"column":12},"end":{"line":179,"column":61}},"type":"binary-expr","locations":[{"start":{"line":179,"column":12},"end":{"line":179,"column":24}},{"start":{"line":179,"column":28},"end":{"line":179,"column":61}}],"line":179},"15":{"loc":{"start":{"line":183,"column":12},"end":{"line":183,"column":65}},"type":"cond-expr","locations":[{"start":{"line":183,"column":33},"end":{"line":183,"column":61}},{"start":{"line":183,"column":64},"end":{"line":183,"column":65}}],"line":183},"16":{"loc":{"start":{"line":183,"column":13},"end":{"line":183,"column":29}},"type":"binary-expr","locations":[{"start":{"line":183,"column":13},"end":{"line":183,"column":19}},{"start":{"line":183,"column":23},"end":{"line":183,"column":29}}],"line":183},"17":{"loc":{"start":{"line":186,"column":12},"end":{"line":196,"column":38}},"type":"cond-expr","locations":[{"start":{"line":186,"column":28},"end":{"line":196,"column":14}},{"start":{"line":196,"column":17},"end":{"line":196,"column":38}}],"line":186},"18":{"loc":{"start":{"line":189,"column":20},"end":{"line":189,"column":115}},"type":"cond-expr","locations":[{"start":{"line":189,"column":63},"end":{"line":189,"column":76}},{"start":{"line":189,"column":79},"end":{"line":189,"column":115}}],"line":189},"19":{"loc":{"start":{"line":200,"column":12},"end":{"line":233,"column":13}},"type":"if","locations":[{"start":{"line":200,"column":12},"end":{"line":233,"column":13}},{"start":{},"end":{}}],"line":200},"20":{"loc":{"start":{"line":201,"column":14},"end":{"line":203,"column":50}},"type":"binary-expr","locations":[{"start":{"line":201,"column":14},"end":{"line":201,"column":18}},{"start":{"line":202,"column":17},"end":{"line":202,"column":34}},{"start":{"line":203,"column":17},"end":{"line":203,"column":50}}],"line":201},"21":{"loc":{"start":{"line":205,"column":31},"end":{"line":205,"column":99}},"type":"cond-expr","locations":[{"start":{"line":205,"column":65},"end":{"line":205,"column":69}},{"start":{"line":205,"column":72},"end":{"line":205,"column":99}}],"line":205},"22":{"loc":{"start":{"line":211,"column":14},"end":{"line":217,"column":15}},"type":"if","locations":[{"start":{"line":211,"column":14},"end":{"line":217,"column":15}},{"start":{},"end":{}}],"line":211},"23":{"loc":{"start":{"line":219,"column":14},"end":{"line":225,"column":15}},"type":"if","locations":[{"start":{"line":219,"column":14},"end":{"line":225,"column":15}},{"start":{},"end":{}}],"line":219},"24":{"loc":{"start":{"line":237,"column":13},"end":{"line":267,"column":7}},"type":"if","locations":[{"start":{"line":237,"column":13},"end":{"line":267,"column":7}},{"start":{},"end":{}}],"line":237},"25":{"loc":{"start":{"line":239,"column":8},"end":{"line":263,"column":9}},"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":263,"column":9}},{"start":{},"end":{}}],"line":239},"26":{"loc":{"start":{"line":245,"column":20},"end":{"line":245,"column":40}},"type":"binary-expr","locations":[{"start":{"line":245,"column":20},"end":{"line":245,"column":34}},{"start":{"line":245,"column":38},"end":{"line":245,"column":40}}],"line":245},"27":{"loc":{"start":{"line":247,"column":16},"end":{"line":253,"column":18}},"type":"cond-expr","locations":[{"start":{"line":247,"column":35},"end":{"line":253,"column":13}},{"start":{"line":253,"column":16},"end":{"line":253,"column":18}}],"line":247},"28":{"loc":{"start":{"line":304,"column":6},"end":{"line":335,"column":7}},"type":"if","locations":[{"start":{"line":304,"column":6},"end":{"line":335,"column":7}},{"start":{},"end":{}}],"line":304},"29":{"loc":{"start":{"line":315,"column":8},"end":{"line":334,"column":9}},"type":"if","locations":[{"start":{"line":315,"column":8},"end":{"line":334,"column":9}},{"start":{},"end":{}}],"line":315},"30":{"loc":{"start":{"line":323,"column":10},"end":{"line":333,"column":11}},"type":"if","locations":[{"start":{"line":323,"column":10},"end":{"line":333,"column":11}},{"start":{},"end":{}}],"line":323},"31":{"loc":{"start":{"line":327,"column":14},"end":{"line":327,"column":67}},"type":"cond-expr","locations":[{"start":{"line":327,"column":35},"end":{"line":327,"column":63}},{"start":{"line":327,"column":66},"end":{"line":327,"column":67}}],"line":327},"32":{"loc":{"start":{"line":327,"column":15},"end":{"line":327,"column":31}},"type":"binary-expr","locations":[{"start":{"line":327,"column":15},"end":{"line":327,"column":21}},{"start":{"line":327,"column":25},"end":{"line":327,"column":31}}],"line":327},"33":{"loc":{"start":{"line":330,"column":104},"end":{"line":330,"column":165}},"type":"binary-expr","locations":[{"start":{"line":330,"column":104},"end":{"line":330,"column":117}},{"start":{"line":330,"column":121},"end":{"line":330,"column":165}}],"line":330},"34":{"loc":{"start":{"line":331,"column":38},"end":{"line":331,"column":93}},"type":"binary-expr","locations":[{"start":{"line":331,"column":38},"end":{"line":331,"column":87}},{"start":{"line":331,"column":91},"end":{"line":331,"column":93}}],"line":331},"35":{"loc":{"start":{"line":354,"column":6},"end":{"line":357,"column":7}},"type":"if","locations":[{"start":{"line":354,"column":6},"end":{"line":357,"column":7}},{"start":{},"end":{}}],"line":354}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitlabTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/GitlabTokenStorage.ts","statementMap":{"0":{"start":{"line":25,"column":39},"end":{"line":25,"column":43}},"1":{"start":{"line":27,"column":37},"end":{"line":27,"column":41}},"2":{"start":{"line":45,"column":4},"end":{"line":45,"column":43}},"3":{"start":{"line":47,"column":4},"end":{"line":47,"column":55}},"4":{"start":{"line":48,"column":4},"end":{"line":51,"column":7}},"5":{"start":{"line":52,"column":4},"end":{"line":52,"column":25}},"6":{"start":{"line":53,"column":4},"end":{"line":53,"column":53}},"7":{"start":{"line":57,"column":21},"end":{"line":61,"column":6}},"8":{"start":{"line":62,"column":4},"end":{"line":68,"column":5}},"9":{"start":{"line":63,"column":22},"end":{"line":63,"column":101}},"10":{"start":{"line":63,"column":45},"end":{"line":63,"column":97}},"11":{"start":{"line":64,"column":6},"end":{"line":67,"column":7}},"12":{"start":{"line":65,"column":8},"end":{"line":65,"column":36}},"13":{"start":{"line":66,"column":8},"end":{"line":66,"column":44}},"14":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"15":{"start":{"line":71,"column":6},"end":{"line":71,"column":48}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":16}},"17":{"start":{"line":77,"column":4},"end":{"line":77,"column":68}},"18":{"start":{"line":77,"column":25},"end":{"line":77,"column":68}},"19":{"start":{"line":78,"column":21},"end":{"line":78,"column":73}},"20":{"start":{"line":79,"column":4},"end":{"line":79,"column":49}},"21":{"start":{"line":79,"column":36},"end":{"line":79,"column":47}},"22":{"start":{"line":83,"column":4},"end":{"line":83,"column":68}},"23":{"start":{"line":83,"column":25},"end":{"line":83,"column":68}},"24":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"25":{"start":{"line":85,"column":23},"end":{"line":89,"column":7}},"26":{"start":{"line":90,"column":6},"end":{"line":90,"column":29}},"27":{"start":{"line":92,"column":6},"end":{"line":92,"column":25}},"28":{"start":{"line":93,"column":6},"end":{"line":93,"column":19}},"29":{"start":{"line":98,"column":4},"end":{"line":98,"column":83}},"30":{"start":{"line":98,"column":70},"end":{"line":98,"column":83}},"31":{"start":{"line":99,"column":4},"end":{"line":99,"column":68}},"32":{"start":{"line":99,"column":25},"end":{"line":99,"column":68}},"33":{"start":{"line":101,"column":24},"end":{"line":101,"column":71}},"34":{"start":{"line":102,"column":4},"end":{"line":110,"column":5}},"35":{"start":{"line":103,"column":6},"end":{"line":103,"column":71}},"36":{"start":{"line":103,"column":58},"end":{"line":103,"column":71}},"37":{"start":{"line":104,"column":32},"end":{"line":106,"column":8}},"38":{"start":{"line":107,"column":6},"end":{"line":107,"column":94}},"39":{"start":{"line":109,"column":6},"end":{"line":109,"column":23}},"40":{"start":{"line":111,"column":4},"end":{"line":111,"column":17}},"41":{"start":{"line":115,"column":18},"end":{"line":119,"column":6}},"42":{"start":{"line":121,"column":45},"end":{"line":121,"column":47}},"43":{"start":{"line":122,"column":24},"end":{"line":127,"column":10}},"44":{"start":{"line":123,"column":18},"end":{"line":123,"column":68}},"45":{"start":{"line":124,"column":6},"end":{"line":124,"column":35}},"46":{"start":{"line":124,"column":21},"end":{"line":124,"column":35}},"47":{"start":{"line":125,"column":6},"end":{"line":125,"column":31}},"48":{"start":{"line":126,"column":6},"end":{"line":126,"column":17}},"49":{"start":{"line":129,"column":4},"end":{"line":137,"column":5}},"50":{"start":{"line":130,"column":25},"end":{"line":130,"column":72}},"51":{"start":{"line":130,"column":46},"end":{"line":130,"column":71}},"52":{"start":{"line":131,"column":28},"end":{"line":131,"column":76}},"53":{"start":{"line":131,"column":49},"end":{"line":131,"column":75}},"54":{"start":{"line":133,"column":6},"end":{"line":136,"column":7}},"55":{"start":{"line":134,"column":28},"end":{"line":134,"column":45}},"56":{"start":{"line":135,"column":8},"end":{"line":135,"column":75}},"57":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"58":{"start":{"line":140,"column":6},"end":{"line":149,"column":7}},"59":{"start":{"line":141,"column":8},"end":{"line":146,"column":10}},"60":{"start":{"line":148,"column":8},"end":{"line":148,"column":61}},"61":{"start":{"line":154,"column":4},"end":{"line":154,"column":63}},"62":{"start":{"line":154,"column":25},"end":{"line":154,"column":63}},"63":{"start":{"line":156,"column":4},"end":{"line":241,"column":5}},"64":{"start":{"line":157,"column":6},"end":{"line":206,"column":7}},"65":{"start":{"line":158,"column":22},"end":{"line":162,"column":10}},"66":{"start":{"line":164,"column":26},"end":{"line":168,"column":10}},"67":{"start":{"line":165,"column":10},"end":{"line":165,"column":37}},"68":{"start":{"line":167,"column":10},"end":{"line":167,"column":63}},"69":{"start":{"line":170,"column":33},"end":{"line":172,"column":11}},"70":{"start":{"line":171,"column":10},"end":{"line":171,"column":96}},"71":{"start":{"line":174,"column":8},"end":{"line":205,"column":12}},"72":{"start":{"line":175,"column":27},"end":{"line":175,"column":43}},"73":{"start":{"line":176,"column":10},"end":{"line":202,"column":11}},"74":{"start":{"line":177,"column":25},"end":{"line":177,"column":111}},"75":{"start":{"line":178,"column":27},"end":{"line":178,"column":72}},"76":{"start":{"line":180,"column":12},"end":{"line":186,"column":13}},"77":{"start":{"line":181,"column":14},"end":{"line":185,"column":16}},"78":{"start":{"line":188,"column":12},"end":{"line":194,"column":13}},"79":{"start":{"line":189,"column":14},"end":{"line":193,"column":16}},"80":{"start":{"line":196,"column":12},"end":{"line":201,"column":14}},"81":{"start":{"line":204,"column":10},"end":{"line":204,"column":22}},"82":{"start":{"line":208,"column":19},"end":{"line":208,"column":106}},"83":{"start":{"line":209,"column":25},"end":{"line":209,"column":76}},"84":{"start":{"line":211,"column":6},"end":{"line":235,"column":7}},"85":{"start":{"line":212,"column":23},"end":{"line":212,"column":68}},"86":{"start":{"line":213,"column":8},"end":{"line":234,"column":10}},"87":{"start":{"line":227,"column":12},"end":{"line":227,"column":65}},"88":{"start":{"line":228,"column":99},"end":{"line":233,"column":11}},"89":{"start":{"line":236,"column":6},"end":{"line":238,"column":8}},"90":{"start":{"line":240,"column":6},"end":{"line":240,"column":25}},"91":{"start":{"line":242,"column":4},"end":{"line":242,"column":14}},"92":{"start":{"line":246,"column":4},"end":{"line":246,"column":63}},"93":{"start":{"line":246,"column":25},"end":{"line":246,"column":63}},"94":{"start":{"line":248,"column":21},"end":{"line":248,"column":47}},"95":{"start":{"line":249,"column":21},"end":{"line":249,"column":106}},"96":{"start":{"line":250,"column":25},"end":{"line":250,"column":90}},"97":{"start":{"line":252,"column":4},"end":{"line":255,"column":5}},"98":{"start":{"line":253,"column":27},"end":{"line":253,"column":67}},"99":{"start":{"line":254,"column":6},"end":{"line":254,"column":52}},"100":{"start":{"line":257,"column":17},"end":{"line":261,"column":6}},"101":{"start":{"line":263,"column":4},"end":{"line":276,"column":5}},"102":{"start":{"line":265,"column":6},"end":{"line":273,"column":7}},"103":{"start":{"line":266,"column":8},"end":{"line":272,"column":10}},"104":{"start":{"line":275,"column":6},"end":{"line":275,"column":52}},"105":{"start":{"line":278,"column":40},"end":{"line":281,"column":6}},"106":{"start":{"line":279,"column":21},"end":{"line":279,"column":86}},"107":{"start":{"line":279,"column":41},"end":{"line":279,"column":63}},"108":{"start":{"line":280,"column":6},"end":{"line":280,"column":43}},"109":{"start":{"line":284,"column":22},"end":{"line":286,"column":31}},"110":{"start":{"line":285,"column":24},"end":{"line":285,"column":51}},"111":{"start":{"line":286,"column":21},"end":{"line":286,"column":30}},"112":{"start":{"line":288,"column":26},"end":{"line":290,"column":5}},"113":{"start":{"line":289,"column":20},"end":{"line":289,"column":77}},"114":{"start":{"line":289,"column":59},"end":{"line":289,"column":76}},"115":{"start":{"line":292,"column":4},"end":{"line":299,"column":5}},"116":{"start":{"line":293,"column":6},"end":{"line":298,"column":8}},"117":{"start":{"line":294,"column":41},"end":{"line":297,"column":9}},"118":{"start":{"line":301,"column":4},"end":{"line":313,"column":5}},"119":{"start":{"line":302,"column":6},"end":{"line":307,"column":8}},"120":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"121":{"start":{"line":310,"column":8},"end":{"line":310,"column":77}},"122":{"start":{"line":312,"column":6},"end":{"line":312,"column":25}},"123":{"start":{"line":315,"column":4},"end":{"line":317,"column":5}},"124":{"start":{"line":316,"column":6},"end":{"line":316,"column":64}},"125":{"start":{"line":318,"column":4},"end":{"line":318,"column":16}},"126":{"start":{"line":322,"column":4},"end":{"line":322,"column":63}},"127":{"start":{"line":322,"column":25},"end":{"line":322,"column":63}},"128":{"start":{"line":324,"column":4},"end":{"line":349,"column":5}},"129":{"start":{"line":325,"column":6},"end":{"line":341,"column":7}},"130":{"start":{"line":326,"column":22},"end":{"line":330,"column":10}},"131":{"start":{"line":331,"column":26},"end":{"line":335,"column":10}},"132":{"start":{"line":332,"column":10},"end":{"line":332,"column":37}},"133":{"start":{"line":334,"column":10},"end":{"line":334,"column":63}},"134":{"start":{"line":337,"column":21},"end":{"line":337,"column":114}},"135":{"start":{"line":338,"column":23},"end":{"line":338,"column":102}},"136":{"start":{"line":339,"column":30},"end":{"line":339,"column":79}},"137":{"start":{"line":340,"column":8},"end":{"line":340,"column":37}},"138":{"start":{"line":342,"column":19},"end":{"line":342,"column":103}},"139":{"start":{"line":343,"column":21},"end":{"line":343,"column":100}},"140":{"start":{"line":344,"column":28},"end":{"line":344,"column":77}},"141":{"start":{"line":345,"column":6},"end":{"line":345,"column":35}},"142":{"start":{"line":347,"column":6},"end":{"line":347,"column":32}},"143":{"start":{"line":348,"column":6},"end":{"line":348,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":37,"column":2},"end":{"line":37,"column":3}},"loc":{"start":{"line":44,"column":4},"end":{"line":54,"column":3}},"line":44},"1":{"name":"(anonymous_1)","decl":{"start":{"line":56,"column":2},"end":{"line":56,"column":3}},"loc":{"start":{"line":56,"column":33},"end":{"line":74,"column":3}},"line":56},"2":{"name":"(anonymous_2)","decl":{"start":{"line":63,"column":38},"end":{"line":63,"column":39}},"loc":{"start":{"line":63,"column":45},"end":{"line":63,"column":97}},"line":63},"3":{"name":"(anonymous_3)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":31},"end":{"line":80,"column":3}},"line":76},"4":{"name":"(anonymous_4)","decl":{"start":{"line":79,"column":24},"end":{"line":79,"column":25}},"loc":{"start":{"line":79,"column":36},"end":{"line":79,"column":47}},"line":79},"5":{"name":"(anonymous_5)","decl":{"start":{"line":82,"column":2},"end":{"line":82,"column":3}},"loc":{"start":{"line":82,"column":61},"end":{"line":95,"column":3}},"line":82},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":2},"end":{"line":97,"column":3}},"loc":{"start":{"line":97,"column":44},"end":{"line":112,"column":3}},"line":97},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":2},"end":{"line":114,"column":3}},"loc":{"start":{"line":114,"column":83},"end":{"line":151,"column":3}},"line":114},"8":{"name":"(anonymous_8)","decl":{"start":{"line":122,"column":37},"end":{"line":122,"column":38}},"loc":{"start":{"line":122,"column":78},"end":{"line":127,"column":5}},"line":122},"9":{"name":"(anonymous_9)","decl":{"start":{"line":130,"column":36},"end":{"line":130,"column":37}},"loc":{"start":{"line":130,"column":46},"end":{"line":130,"column":71}},"line":130},"10":{"name":"(anonymous_10)","decl":{"start":{"line":131,"column":39},"end":{"line":131,"column":40}},"loc":{"start":{"line":131,"column":49},"end":{"line":131,"column":75}},"line":131},"11":{"name":"(anonymous_11)","decl":{"start":{"line":153,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":153,"column":90},"end":{"line":243,"column":3}},"line":153},"12":{"name":"(anonymous_12)","decl":{"start":{"line":164,"column":39},"end":{"line":164,"column":40}},"loc":{"start":{"line":165,"column":10},"end":{"line":165,"column":37}},"line":165},"13":{"name":"(anonymous_13)","decl":{"start":{"line":166,"column":16},"end":{"line":166,"column":17}},"loc":{"start":{"line":167,"column":10},"end":{"line":167,"column":63}},"line":167},"14":{"name":"(anonymous_14)","decl":{"start":{"line":170,"column":65},"end":{"line":170,"column":66}},"loc":{"start":{"line":171,"column":10},"end":{"line":171,"column":96}},"line":171},"15":{"name":"(anonymous_15)","decl":{"start":{"line":174,"column":75},"end":{"line":174,"column":76}},"loc":{"start":{"line":174,"column":99},"end":{"line":205,"column":9}},"line":174},"16":{"name":"(anonymous_16)","decl":{"start":{"line":226,"column":44},"end":{"line":226,"column":45}},"loc":{"start":{"line":227,"column":12},"end":{"line":227,"column":65}},"line":227},"17":{"name":"(anonymous_17)","decl":{"start":{"line":228,"column":76},"end":{"line":228,"column":77}},"loc":{"start":{"line":228,"column":99},"end":{"line":233,"column":11}},"line":228},"18":{"name":"(anonymous_18)","decl":{"start":{"line":245,"column":2},"end":{"line":245,"column":3}},"loc":{"start":{"line":245,"column":146},"end":{"line":319,"column":3}},"line":245},"19":{"name":"(anonymous_19)","decl":{"start":{"line":278,"column":70},"end":{"line":278,"column":71}},"loc":{"start":{"line":278,"column":95},"end":{"line":281,"column":5}},"line":278},"20":{"name":"(anonymous_20)","decl":{"start":{"line":279,"column":31},"end":{"line":279,"column":32}},"loc":{"start":{"line":279,"column":41},"end":{"line":279,"column":63}},"line":279},"21":{"name":"(anonymous_21)","decl":{"start":{"line":285,"column":14},"end":{"line":285,"column":15}},"loc":{"start":{"line":285,"column":24},"end":{"line":285,"column":51}},"line":285},"22":{"name":"(anonymous_22)","decl":{"start":{"line":286,"column":11},"end":{"line":286,"column":12}},"loc":{"start":{"line":286,"column":21},"end":{"line":286,"column":30}},"line":286},"23":{"name":"(anonymous_23)","decl":{"start":{"line":289,"column":6},"end":{"line":289,"column":7}},"loc":{"start":{"line":289,"column":20},"end":{"line":289,"column":77}},"line":289},"24":{"name":"(anonymous_24)","decl":{"start":{"line":289,"column":49},"end":{"line":289,"column":50}},"loc":{"start":{"line":289,"column":59},"end":{"line":289,"column":76}},"line":289},"25":{"name":"(anonymous_25)","decl":{"start":{"line":294,"column":26},"end":{"line":294,"column":27}},"loc":{"start":{"line":294,"column":41},"end":{"line":297,"column":9}},"line":294},"26":{"name":"(anonymous_26)","decl":{"start":{"line":321,"column":2},"end":{"line":321,"column":3}},"loc":{"start":{"line":321,"column":59},"end":{"line":350,"column":3}},"line":321},"27":{"name":"(anonymous_27)","decl":{"start":{"line":331,"column":39},"end":{"line":331,"column":40}},"loc":{"start":{"line":332,"column":10},"end":{"line":332,"column":37}},"line":332},"28":{"name":"(anonymous_28)","decl":{"start":{"line":333,"column":16},"end":{"line":333,"column":17}},"loc":{"start":{"line":334,"column":10},"end":{"line":334,"column":63}},"line":334}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":19}},"type":"default-arg","locations":[{"start":{"line":42,"column":13},"end":{"line":42,"column":19}}],"line":42},"1":{"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":33}},"type":"default-arg","locations":[{"start":{"line":43,"column":27},"end":{"line":43,"column":33}}],"line":43},"2":{"loc":{"start":{"line":50,"column":12},"end":{"line":50,"column":37}},"type":"binary-expr","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":37}}],"line":50},"3":{"loc":{"start":{"line":62,"column":4},"end":{"line":68,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":68,"column":5}},{"start":{},"end":{}}],"line":62},"4":{"loc":{"start":{"line":64,"column":6},"end":{"line":67,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":67,"column":7}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{},"end":{}}],"line":70},"6":{"loc":{"start":{"line":77,"column":4},"end":{"line":77,"column":68}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":77,"column":68}},{"start":{},"end":{}}],"line":77},"7":{"loc":{"start":{"line":83,"column":4},"end":{"line":83,"column":68}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":68}},{"start":{},"end":{}}],"line":83},"8":{"loc":{"start":{"line":88,"column":17},"end":{"line":88,"column":38}},"type":"binary-expr","locations":[{"start":{"line":88,"column":17},"end":{"line":88,"column":23}},{"start":{"line":88,"column":27},"end":{"line":88,"column":38}}],"line":88},"9":{"loc":{"start":{"line":98,"column":4},"end":{"line":98,"column":83}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":98,"column":83}},{"start":{},"end":{}}],"line":98},"10":{"loc":{"start":{"line":98,"column":8},"end":{"line":98,"column":68}},"type":"binary-expr","locations":[{"start":{"line":98,"column":8},"end":{"line":98,"column":36}},{"start":{"line":98,"column":40},"end":{"line":98,"column":68}}],"line":98},"11":{"loc":{"start":{"line":99,"column":4},"end":{"line":99,"column":68}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":99,"column":68}},{"start":{},"end":{}}],"line":99},"12":{"loc":{"start":{"line":103,"column":6},"end":{"line":103,"column":71}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":103,"column":71}},{"start":{},"end":{}}],"line":103},"13":{"loc":{"start":{"line":103,"column":10},"end":{"line":103,"column":56}},"type":"binary-expr","locations":[{"start":{"line":103,"column":10},"end":{"line":103,"column":22}},{"start":{"line":103,"column":26},"end":{"line":103,"column":56}}],"line":103},"14":{"loc":{"start":{"line":124,"column":6},"end":{"line":124,"column":35}},"type":"if","locations":[{"start":{"line":124,"column":6},"end":{"line":124,"column":35}},{"start":{},"end":{}}],"line":124},"15":{"loc":{"start":{"line":133,"column":6},"end":{"line":136,"column":7}},"type":"if","locations":[{"start":{"line":133,"column":6},"end":{"line":136,"column":7}},{"start":{},"end":{}}],"line":133},"16":{"loc":{"start":{"line":133,"column":10},"end":{"line":133,"column":37}},"type":"binary-expr","locations":[{"start":{"line":133,"column":10},"end":{"line":133,"column":20}},{"start":{"line":133,"column":24},"end":{"line":133,"column":37}}],"line":133},"17":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{},"end":{}}],"line":139},"18":{"loc":{"start":{"line":154,"column":4},"end":{"line":154,"column":63}},"type":"if","locations":[{"start":{"line":154,"column":4},"end":{"line":154,"column":63}},{"start":{},"end":{}}],"line":154},"19":{"loc":{"start":{"line":157,"column":6},"end":{"line":206,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":206,"column":7}},{"start":{},"end":{}}],"line":157},"20":{"loc":{"start":{"line":167,"column":10},"end":{"line":167,"column":63}},"type":"cond-expr","locations":[{"start":{"line":167,"column":31},"end":{"line":167,"column":59}},{"start":{"line":167,"column":62},"end":{"line":167,"column":63}}],"line":167},"21":{"loc":{"start":{"line":167,"column":11},"end":{"line":167,"column":27}},"type":"binary-expr","locations":[{"start":{"line":167,"column":11},"end":{"line":167,"column":17}},{"start":{"line":167,"column":21},"end":{"line":167,"column":27}}],"line":167},"22":{"loc":{"start":{"line":176,"column":10},"end":{"line":202,"column":11}},"type":"if","locations":[{"start":{"line":176,"column":10},"end":{"line":202,"column":11}},{"start":{},"end":{}}],"line":176},"23":{"loc":{"start":{"line":176,"column":14},"end":{"line":176,"column":74}},"type":"binary-expr","locations":[{"start":{"line":176,"column":14},"end":{"line":176,"column":45}},{"start":{"line":176,"column":49},"end":{"line":176,"column":74}}],"line":176},"24":{"loc":{"start":{"line":180,"column":12},"end":{"line":186,"column":13}},"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":186,"column":13}},{"start":{},"end":{}}],"line":180},"25":{"loc":{"start":{"line":188,"column":12},"end":{"line":194,"column":13}},"type":"if","locations":[{"start":{"line":188,"column":12},"end":{"line":194,"column":13}},{"start":{},"end":{}}],"line":188},"26":{"loc":{"start":{"line":209,"column":25},"end":{"line":209,"column":76}},"type":"cond-expr","locations":[{"start":{"line":209,"column":52},"end":{"line":209,"column":56}},{"start":{"line":209,"column":59},"end":{"line":209,"column":76}}],"line":209},"27":{"loc":{"start":{"line":211,"column":6},"end":{"line":235,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":6},"end":{"line":235,"column":7}},{"start":{},"end":{}}],"line":211},"28":{"loc":{"start":{"line":217,"column":18},"end":{"line":217,"column":38}},"type":"binary-expr","locations":[{"start":{"line":217,"column":18},"end":{"line":217,"column":32}},{"start":{"line":217,"column":36},"end":{"line":217,"column":38}}],"line":217},"29":{"loc":{"start":{"line":219,"column":14},"end":{"line":225,"column":16}},"type":"cond-expr","locations":[{"start":{"line":219,"column":33},"end":{"line":225,"column":11}},{"start":{"line":225,"column":14},"end":{"line":225,"column":16}}],"line":219},"30":{"loc":{"start":{"line":246,"column":4},"end":{"line":246,"column":63}},"type":"if","locations":[{"start":{"line":246,"column":4},"end":{"line":246,"column":63}},{"start":{},"end":{}}],"line":246},"31":{"loc":{"start":{"line":249,"column":21},"end":{"line":249,"column":106}},"type":"cond-expr","locations":[{"start":{"line":249,"column":51},"end":{"line":249,"column":94}},{"start":{"line":249,"column":97},"end":{"line":249,"column":106}}],"line":249},"32":{"loc":{"start":{"line":250,"column":25},"end":{"line":250,"column":90}},"type":"cond-expr","locations":[{"start":{"line":250,"column":55},"end":{"line":250,"column":64}},{"start":{"line":250,"column":67},"end":{"line":250,"column":90}}],"line":250},"33":{"loc":{"start":{"line":252,"column":4},"end":{"line":255,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":255,"column":5}},{"start":{},"end":{}}],"line":252},"34":{"loc":{"start":{"line":252,"column":8},"end":{"line":252,"column":56}},"type":"binary-expr","locations":[{"start":{"line":252,"column":8},"end":{"line":252,"column":26}},{"start":{"line":252,"column":30},"end":{"line":252,"column":56}}],"line":252},"35":{"loc":{"start":{"line":253,"column":27},"end":{"line":253,"column":67}},"type":"binary-expr","locations":[{"start":{"line":253,"column":27},"end":{"line":253,"column":52}},{"start":{"line":253,"column":56},"end":{"line":253,"column":67}}],"line":253},"36":{"loc":{"start":{"line":265,"column":6},"end":{"line":273,"column":7}},"type":"if","locations":[{"start":{"line":265,"column":6},"end":{"line":273,"column":7}},{"start":{},"end":{}}],"line":265},"37":{"loc":{"start":{"line":279,"column":21},"end":{"line":279,"column":86}},"type":"cond-expr","locations":[{"start":{"line":279,"column":67},"end":{"line":279,"column":75}},{"start":{"line":279,"column":78},"end":{"line":279,"column":86}}],"line":279},"38":{"loc":{"start":{"line":292,"column":4},"end":{"line":299,"column":5}},"type":"if","locations":[{"start":{"line":292,"column":4},"end":{"line":299,"column":5}},{"start":{},"end":{}}],"line":292},"39":{"loc":{"start":{"line":292,"column":8},"end":{"line":292,"column":64}},"type":"binary-expr","locations":[{"start":{"line":292,"column":8},"end":{"line":292,"column":32}},{"start":{"line":292,"column":36},"end":{"line":292,"column":64}}],"line":292},"40":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{},"end":{}}],"line":309},"41":{"loc":{"start":{"line":309,"column":10},"end":{"line":309,"column":122}},"type":"binary-expr","locations":[{"start":{"line":309,"column":10},"end":{"line":309,"column":29}},{"start":{"line":309,"column":33},"end":{"line":309,"column":122}}],"line":309},"42":{"loc":{"start":{"line":315,"column":4},"end":{"line":317,"column":5}},"type":"if","locations":[{"start":{"line":315,"column":4},"end":{"line":317,"column":5}},{"start":{},"end":{}}],"line":315},"43":{"loc":{"start":{"line":322,"column":4},"end":{"line":322,"column":63}},"type":"if","locations":[{"start":{"line":322,"column":4},"end":{"line":322,"column":63}},{"start":{},"end":{}}],"line":322},"44":{"loc":{"start":{"line":325,"column":6},"end":{"line":341,"column":7}},"type":"if","locations":[{"start":{"line":325,"column":6},"end":{"line":341,"column":7}},{"start":{},"end":{}}],"line":325},"45":{"loc":{"start":{"line":334,"column":10},"end":{"line":334,"column":63}},"type":"cond-expr","locations":[{"start":{"line":334,"column":31},"end":{"line":334,"column":59}},{"start":{"line":334,"column":62},"end":{"line":334,"column":63}}],"line":334},"46":{"loc":{"start":{"line":334,"column":11},"end":{"line":334,"column":27}},"type":"binary-expr","locations":[{"start":{"line":334,"column":11},"end":{"line":334,"column":17}},{"start":{"line":334,"column":21},"end":{"line":334,"column":27}}],"line":334},"47":{"loc":{"start":{"line":339,"column":39},"end":{"line":339,"column":78}},"type":"binary-expr","locations":[{"start":{"line":339,"column":39},"end":{"line":339,"column":72}},{"start":{"line":339,"column":76},"end":{"line":339,"column":78}}],"line":339},"48":{"loc":{"start":{"line":340,"column":15},"end":{"line":340,"column":36}},"type":"binary-expr","locations":[{"start":{"line":340,"column":15},"end":{"line":340,"column":28}},{"start":{"line":340,"column":32},"end":{"line":340,"column":36}}],"line":340},"49":{"loc":{"start":{"line":344,"column":37},"end":{"line":344,"column":76}},"type":"binary-expr","locations":[{"start":{"line":344,"column":37},"end":{"line":344,"column":70}},{"start":{"line":344,"column":74},"end":{"line":344,"column":76}}],"line":344},"50":{"loc":{"start":{"line":345,"column":13},"end":{"line":345,"column":34}},"type":"binary-expr","locations":[{"start":{"line":345,"column":13},"end":{"line":345,"column":26}},{"start":{"line":345,"column":30},"end":{"line":345,"column":34}}],"line":345}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/JSONBinTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/JSONBinTokenStorage.ts","statementMap":{"0":{"start":{"line":24,"column":22},"end":{"line":27,"column":2}},"1":{"start":{"line":39,"column":21},"end":{"line":57,"column":6}},"2":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"3":{"start":{"line":60,"column":6},"end":{"line":60,"column":39}},"4":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"5":{"start":{"line":64,"column":6},"end":{"line":64,"column":29}},"6":{"start":{"line":67,"column":4},"end":{"line":67,"column":17}},"7":{"start":{"line":71,"column":4},"end":{"line":71,"column":12}},"8":{"start":{"line":72,"column":4},"end":{"line":72,"column":17}},"9":{"start":{"line":73,"column":4},"end":{"line":73,"column":25}},"10":{"start":{"line":75,"column":4},"end":{"line":75,"column":40}},"11":{"start":{"line":76,"column":4},"end":{"line":76,"column":67}},"12":{"start":{"line":77,"column":4},"end":{"line":77,"column":60}},"13":{"start":{"line":83,"column":4},"end":{"line":106,"column":6}},"14":{"start":{"line":100,"column":105},"end":{"line":105,"column":7}},"15":{"start":{"line":110,"column":21},"end":{"line":119,"column":6}},"16":{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},"17":{"start":{"line":122,"column":6},"end":{"line":122,"column":39}},"18":{"start":{"line":125,"column":4},"end":{"line":137,"column":5}},"19":{"start":{"line":126,"column":29},"end":{"line":126,"column":50}},"20":{"start":{"line":127,"column":31},"end":{"line":129,"column":39}},"21":{"start":{"line":130,"column":6},"end":{"line":133,"column":7}},"22":{"start":{"line":131,"column":28},"end":{"line":131,"column":71}},"23":{"start":{"line":132,"column":8},"end":{"line":132,"column":59}},"24":{"start":{"line":134,"column":6},"end":{"line":136,"column":8}},"25":{"start":{"line":138,"column":4},"end":{"line":138,"column":14}},"26":{"start":{"line":142,"column":36},"end":{"line":149,"column":5}},"27":{"start":{"line":150,"column":4},"end":{"line":167,"column":7}},"28":{"start":{"line":151,"column":6},"end":{"line":166,"column":7}},"29":{"start":{"line":152,"column":8},"end":{"line":155,"column":10}},"30":{"start":{"line":156,"column":13},"end":{"line":166,"column":7}},"31":{"start":{"line":157,"column":8},"end":{"line":160,"column":10}},"32":{"start":{"line":161,"column":13},"end":{"line":166,"column":7}},"33":{"start":{"line":162,"column":8},"end":{"line":165,"column":10}},"34":{"start":{"line":169,"column":21},"end":{"line":178,"column":6}},"35":{"start":{"line":180,"column":4},"end":{"line":182,"column":5}},"36":{"start":{"line":181,"column":6},"end":{"line":181,"column":39}},"37":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"38":{"start":{"line":185,"column":6},"end":{"line":185,"column":18}},"39":{"start":{"line":188,"column":4},"end":{"line":188,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":38,"column":5},"end":{"line":68,"column":3}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":70,"column":2},"end":{"line":70,"column":3}},"loc":{"start":{"line":70,"column":42},"end":{"line":78,"column":3}},"line":70},"2":{"name":"(anonymous_2)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":98},"end":{"line":107,"column":3}},"line":80},"3":{"name":"(anonymous_3)","decl":{"start":{"line":100,"column":82},"end":{"line":100,"column":83}},"loc":{"start":{"line":100,"column":105},"end":{"line":105,"column":7}},"line":100},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":109,"column":107},"end":{"line":139,"column":3}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":141,"column":2},"end":{"line":141,"column":3}},"loc":{"start":{"line":141,"column":89},"end":{"line":189,"column":3}},"line":141},"6":{"name":"(anonymous_6)","decl":{"start":{"line":150,"column":18},"end":{"line":150,"column":19}},"loc":{"start":{"line":150,"column":28},"end":{"line":167,"column":5}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":59},"1":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":63},"2":{"loc":{"start":{"line":87,"column":14},"end":{"line":87,"column":32}},"type":"binary-expr","locations":[{"start":{"line":87,"column":14},"end":{"line":87,"column":26}},{"start":{"line":87,"column":30},"end":{"line":87,"column":32}}],"line":87},"3":{"loc":{"start":{"line":93,"column":19},"end":{"line":93,"column":73}},"type":"binary-expr","locations":[{"start":{"line":93,"column":19},"end":{"line":93,"column":42}},{"start":{"line":93,"column":46},"end":{"line":93,"column":58}},{"start":{"line":93,"column":62},"end":{"line":93,"column":73}}],"line":93},"4":{"loc":{"start":{"line":94,"column":21},"end":{"line":94,"column":92}},"type":"binary-expr","locations":[{"start":{"line":94,"column":21},"end":{"line":94,"column":46}},{"start":{"line":94,"column":50},"end":{"line":94,"column":64}},{"start":{"line":94,"column":68},"end":{"line":94,"column":92}}],"line":94},"5":{"loc":{"start":{"line":95,"column":14},"end":{"line":97,"column":16}},"type":"cond-expr","locations":[{"start":{"line":95,"column":46},"end":{"line":97,"column":11}},{"start":{"line":97,"column":14},"end":{"line":97,"column":16}}],"line":95},"6":{"loc":{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},"type":"if","locations":[{"start":{"line":121,"column":4},"end":{"line":123,"column":5}},{"start":{},"end":{}}],"line":121},"7":{"loc":{"start":{"line":125,"column":4},"end":{"line":137,"column":5}},"type":"if","locations":[{"start":{"line":125,"column":4},"end":{"line":137,"column":5}},{"start":{},"end":{}}],"line":125},"8":{"loc":{"start":{"line":130,"column":6},"end":{"line":133,"column":7}},"type":"if","locations":[{"start":{"line":130,"column":6},"end":{"line":133,"column":7}},{"start":{},"end":{}}],"line":130},"9":{"loc":{"start":{"line":151,"column":6},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":151,"column":6},"end":{"line":166,"column":7}},{"start":{"line":156,"column":13},"end":{"line":166,"column":7}}],"line":151},"10":{"loc":{"start":{"line":153,"column":14},"end":{"line":153,"column":38}},"type":"binary-expr","locations":[{"start":{"line":153,"column":14},"end":{"line":153,"column":32}},{"start":{"line":153,"column":36},"end":{"line":153,"column":38}}],"line":153},"11":{"loc":{"start":{"line":156,"column":13},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":156,"column":13},"end":{"line":166,"column":7}},{"start":{"line":161,"column":13},"end":{"line":166,"column":7}}],"line":156},"12":{"loc":{"start":{"line":158,"column":14},"end":{"line":158,"column":40}},"type":"binary-expr","locations":[{"start":{"line":158,"column":14},"end":{"line":158,"column":34}},{"start":{"line":158,"column":38},"end":{"line":158,"column":40}}],"line":158},"13":{"loc":{"start":{"line":161,"column":13},"end":{"line":166,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":13},"end":{"line":166,"column":7}},{"start":{},"end":{}}],"line":161},"14":{"loc":{"start":{"line":180,"column":4},"end":{"line":182,"column":5}},"type":"if","locations":[{"start":{"line":180,"column":4},"end":{"line":182,"column":5}},{"start":{},"end":{}}],"line":180},"15":{"loc":{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},"type":"if","locations":[{"start":{"line":184,"column":4},"end":{"line":186,"column":5}},{"start":{},"end":{}}],"line":184}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/RemoteTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/RemoteTokenStorage.ts","statementMap":{"0":{"start":{"line":58,"column":54},"end":{"line":58,"column":56}},"1":{"start":{"line":62,"column":28},"end":{"line":62,"column":107}},"2":{"start":{"line":63,"column":4},"end":{"line":70,"column":7}},"3":{"start":{"line":64,"column":6},"end":{"line":69,"column":9}},"4":{"start":{"line":73,"column":4},"end":{"line":77,"column":7}},"5":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"6":{"start":{"line":80,"column":6},"end":{"line":84,"column":9}},"7":{"start":{"line":87,"column":4},"end":{"line":87,"column":42}},"8":{"start":{"line":91,"column":51},"end":{"line":94,"column":5}},"9":{"start":{"line":98,"column":18},"end":{"line":98,"column":35}},"10":{"start":{"line":100,"column":4},"end":{"line":123,"column":5}},"11":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"12":{"start":{"line":102,"column":8},"end":{"line":102,"column":20}},"13":{"start":{"line":104,"column":6},"end":{"line":118,"column":9}},"14":{"start":{"line":105,"column":8},"end":{"line":117,"column":9}},"15":{"start":{"line":106,"column":10},"end":{"line":106,"column":55}},"16":{"start":{"line":107,"column":15},"end":{"line":117,"column":9}},"17":{"start":{"line":108,"column":10},"end":{"line":111,"column":12}},"18":{"start":{"line":112,"column":15},"end":{"line":117,"column":9}},"19":{"start":{"line":113,"column":10},"end":{"line":116,"column":12}},"20":{"start":{"line":119,"column":6},"end":{"line":122,"column":8}},"21":{"start":{"line":124,"column":4},"end":{"line":127,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":104},"end":{"line":88,"column":3}},"line":57},"1":{"name":"(anonymous_1)","decl":{"start":{"line":63,"column":44},"end":{"line":63,"column":45}},"loc":{"start":{"line":63,"column":66},"end":{"line":70,"column":5}},"line":63},"2":{"name":"(anonymous_2)","decl":{"start":{"line":90,"column":2},"end":{"line":90,"column":3}},"loc":{"start":{"line":90,"column":72},"end":{"line":128,"column":3}},"line":90},"3":{"name":"(anonymous_3)","decl":{"start":{"line":104,"column":20},"end":{"line":104,"column":21}},"loc":{"start":{"line":104,"column":30},"end":{"line":118,"column":7}},"line":104}},"branchMap":{"0":{"loc":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},{"start":{},"end":{}}],"line":79},"1":{"loc":{"start":{"line":79,"column":8},"end":{"line":79,"column":43}},"type":"binary-expr","locations":[{"start":{"line":79,"column":8},"end":{"line":79,"column":26}},{"start":{"line":79,"column":30},"end":{"line":79,"column":43}}],"line":79},"2":{"loc":{"start":{"line":100,"column":4},"end":{"line":123,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":123,"column":5}},{"start":{},"end":{}}],"line":100},"3":{"loc":{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":103,"column":7}},{"start":{},"end":{}}],"line":101},"4":{"loc":{"start":{"line":105,"column":8},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":117,"column":9}},{"start":{"line":107,"column":15},"end":{"line":117,"column":9}}],"line":105},"5":{"loc":{"start":{"line":107,"column":15},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":15},"end":{"line":117,"column":9}},{"start":{"line":112,"column":15},"end":{"line":117,"column":9}}],"line":107},"6":{"loc":{"start":{"line":112,"column":15},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":112,"column":15},"end":{"line":117,"column":9}},{"start":{},"end":{}}],"line":112}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/SupernovaTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/SupernovaTokenStorage.ts","statementMap":{"0":{"start":{"line":25,"column":4},"end":{"line":25,"column":12}},"1":{"start":{"line":27,"column":22},"end":{"line":27,"column":34}},"2":{"start":{"line":28,"column":22},"end":{"line":28,"column":51}},"3":{"start":{"line":29,"column":20},"end":{"line":29,"column":103}},"4":{"start":{"line":30,"column":4},"end":{"line":42,"column":5}},"5":{"start":{"line":31,"column":6},"end":{"line":33,"column":8}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":81}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":94}},"8":{"start":{"line":39,"column":6},"end":{"line":39,"column":27}},"9":{"start":{"line":40,"column":6},"end":{"line":40,"column":29}},"10":{"start":{"line":41,"column":6},"end":{"line":41,"column":92}},"11":{"start":{"line":46,"column":4},"end":{"line":90,"column":5}},"12":{"start":{"line":48,"column":23},"end":{"line":48,"column":53}},"13":{"start":{"line":51,"column":6},"end":{"line":57,"column":7}},"14":{"start":{"line":52,"column":26},"end":{"line":52,"column":69}},"15":{"start":{"line":53,"column":8},"end":{"line":53,"column":31}},"16":{"start":{"line":56,"column":8},"end":{"line":56,"column":18}},"17":{"start":{"line":58,"column":6},"end":{"line":84,"column":8}},"18":{"start":{"line":74,"column":52},"end":{"line":74,"column":105}},"19":{"start":{"line":78,"column":61},"end":{"line":83,"column":9}},"20":{"start":{"line":86,"column":6},"end":{"line":86,"column":27}},"21":{"start":{"line":87,"column":6},"end":{"line":89,"column":8}},"22":{"start":{"line":96,"column":21},"end":{"line":96,"column":51}},"23":{"start":{"line":97,"column":23},"end":{"line":99,"column":12}},"24":{"start":{"line":100,"column":4},"end":{"line":111,"column":7}},"25":{"start":{"line":101,"column":6},"end":{"line":110,"column":7}},"26":{"start":{"line":102,"column":8},"end":{"line":102,"column":75}},"27":{"start":{"line":103,"column":13},"end":{"line":110,"column":7}},"28":{"start":{"line":104,"column":8},"end":{"line":104,"column":42}},"29":{"start":{"line":105,"column":13},"end":{"line":110,"column":7}},"30":{"start":{"line":106,"column":8},"end":{"line":109,"column":10}},"31":{"start":{"line":113,"column":22},"end":{"line":113,"column":46}},"32":{"start":{"line":114,"column":24},"end":{"line":125,"column":5}},"33":{"start":{"line":127,"column":19},"end":{"line":127,"column":44}},"34":{"start":{"line":128,"column":4},"end":{"line":128,"column":46}},"35":{"start":{"line":129,"column":4},"end":{"line":129,"column":16}},"36":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"37":{"start":{"line":134,"column":6},"end":{"line":134,"column":44}},"38":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"39":{"start":{"line":137,"column":6},"end":{"line":137,"column":48}},"40":{"start":{"line":139,"column":4},"end":{"line":141,"column":5}},"41":{"start":{"line":140,"column":6},"end":{"line":140,"column":49}},"42":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"43":{"start":{"line":143,"column":6},"end":{"line":143,"column":52}},"44":{"start":{"line":145,"column":4},"end":{"line":145,"column":49}},"45":{"start":{"line":153,"column":4},"end":{"line":166,"column":5}},"46":{"start":{"line":154,"column":27},"end":{"line":154,"column":83}},"47":{"start":{"line":155,"column":34},"end":{"line":155,"column":69}},"48":{"start":{"line":156,"column":6},"end":{"line":161,"column":7}},"49":{"start":{"line":157,"column":8},"end":{"line":160,"column":10}},"50":{"start":{"line":164,"column":6},"end":{"line":164,"column":37}},"51":{"start":{"line":165,"column":6},"end":{"line":165,"column":25}},"52":{"start":{"line":167,"column":4},"end":{"line":167,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":60},"end":{"line":43,"column":3}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":45,"column":90},"end":{"line":91,"column":3}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":74,"column":41},"end":{"line":74,"column":42}},"loc":{"start":{"line":74,"column":52},"end":{"line":74,"column":105}},"line":74},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":38},"end":{"line":78,"column":39}},"loc":{"start":{"line":78,"column":61},"end":{"line":83,"column":9}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":93,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":93,"column":82},"end":{"line":130,"column":3}},"line":93},"5":{"name":"(anonymous_5)","decl":{"start":{"line":100,"column":18},"end":{"line":100,"column":19}},"loc":{"start":{"line":100,"column":28},"end":{"line":111,"column":5}},"line":100},"6":{"name":"(anonymous_6)","decl":{"start":{"line":132,"column":2},"end":{"line":132,"column":3}},"loc":{"start":{"line":132,"column":54},"end":{"line":146,"column":3}},"line":132},"7":{"name":"(anonymous_7)","decl":{"start":{"line":148,"column":2},"end":{"line":148,"column":3}},"loc":{"start":{"line":151,"column":5},"end":{"line":168,"column":3}},"line":151}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":42,"column":5}},{"start":{"line":34,"column":11},"end":{"line":42,"column":5}}],"line":30},"1":{"loc":{"start":{"line":30,"column":8},"end":{"line":30,"column":93}},"type":"binary-expr","locations":[{"start":{"line":30,"column":8},"end":{"line":30,"column":28}},{"start":{"line":30,"column":33},"end":{"line":30,"column":40}},{"start":{"line":30,"column":45},"end":{"line":30,"column":66}},{"start":{"line":30,"column":70},"end":{"line":30,"column":91}}],"line":30},"2":{"loc":{"start":{"line":36,"column":29},"end":{"line":36,"column":80}},"type":"cond-expr","locations":[{"start":{"line":36,"column":39},"end":{"line":36,"column":51}},{"start":{"line":36,"column":54},"end":{"line":36,"column":80}}],"line":36},"3":{"loc":{"start":{"line":38,"column":28},"end":{"line":38,"column":93}},"type":"cond-expr","locations":[{"start":{"line":38,"column":38},"end":{"line":38,"column":64}},{"start":{"line":38,"column":67},"end":{"line":38,"column":93}}],"line":38},"4":{"loc":{"start":{"line":62,"column":16},"end":{"line":62,"column":37}},"type":"binary-expr","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":31}},{"start":{"line":62,"column":35},"end":{"line":62,"column":37}}],"line":62},"5":{"loc":{"start":{"line":64,"column":12},"end":{"line":72,"column":14}},"type":"cond-expr","locations":[{"start":{"line":65,"column":12},"end":{"line":71,"column":11}},{"start":{"line":72,"column":12},"end":{"line":72,"column":14}}],"line":64},"6":{"loc":{"start":{"line":101,"column":6},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":101,"column":6},"end":{"line":110,"column":7}},{"start":{"line":103,"column":13},"end":{"line":110,"column":7}}],"line":101},"7":{"loc":{"start":{"line":102,"column":34},"end":{"line":102,"column":58}},"type":"binary-expr","locations":[{"start":{"line":102,"column":34},"end":{"line":102,"column":52}},{"start":{"line":102,"column":56},"end":{"line":102,"column":58}}],"line":102},"8":{"loc":{"start":{"line":103,"column":13},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":103,"column":13},"end":{"line":110,"column":7}},{"start":{"line":105,"column":13},"end":{"line":110,"column":7}}],"line":103},"9":{"loc":{"start":{"line":105,"column":13},"end":{"line":110,"column":7}},"type":"if","locations":[{"start":{"line":105,"column":13},"end":{"line":110,"column":7}},{"start":{},"end":{}}],"line":105},"10":{"loc":{"start":{"line":107,"column":14},"end":{"line":107,"column":40}},"type":"binary-expr","locations":[{"start":{"line":107,"column":14},"end":{"line":107,"column":34}},{"start":{"line":107,"column":38},"end":{"line":107,"column":40}}],"line":107},"11":{"loc":{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":135,"column":5}},{"start":{},"end":{}}],"line":133},"12":{"loc":{"start":{"line":133,"column":8},"end":{"line":133,"column":78}},"type":"binary-expr","locations":[{"start":{"line":133,"column":8},"end":{"line":133,"column":42}},{"start":{"line":133,"column":46},"end":{"line":133,"column":78}}],"line":133},"13":{"loc":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},{"start":{},"end":{}}],"line":136},"14":{"loc":{"start":{"line":136,"column":8},"end":{"line":136,"column":86}},"type":"binary-expr","locations":[{"start":{"line":136,"column":8},"end":{"line":136,"column":46}},{"start":{"line":136,"column":50},"end":{"line":136,"column":86}}],"line":136},"15":{"loc":{"start":{"line":139,"column":4},"end":{"line":141,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":141,"column":5}},{"start":{},"end":{}}],"line":139},"16":{"loc":{"start":{"line":139,"column":8},"end":{"line":139,"column":88}},"type":"binary-expr","locations":[{"start":{"line":139,"column":8},"end":{"line":139,"column":47}},{"start":{"line":139,"column":51},"end":{"line":139,"column":88}}],"line":139},"17":{"loc":{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":142,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":142},"18":{"loc":{"start":{"line":142,"column":8},"end":{"line":142,"column":94}},"type":"binary-expr","locations":[{"start":{"line":142,"column":8},"end":{"line":142,"column":50}},{"start":{"line":142,"column":54},"end":{"line":142,"column":94}}],"line":142},"19":{"loc":{"start":{"line":156,"column":6},"end":{"line":161,"column":7}},"type":"if","locations":[{"start":{"line":156,"column":6},"end":{"line":161,"column":7}},{"start":{},"end":{}}],"line":156},"20":{"loc":{"start":{"line":156,"column":10},"end":{"line":156,"column":45}},"type":"binary-expr","locations":[{"start":{"line":156,"column":10},"end":{"line":156,"column":22}},{"start":{"line":156,"column":26},"end":{"line":156,"column":45}}],"line":156}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/TokensStudioTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/TokensStudioTokenStorage.ts","statementMap":{"0":{"start":{"line":29,"column":23},"end":{"line":29,"column":29}},"1":{"start":{"line":31,"column":19},"end":{"line":35,"column":2}},"2":{"start":{"line":31,"column":39},"end":{"line":35,"column":2}},"3":{"start":{"line":51,"column":2},"end":{"line":123,"column":3}},"4":{"start":{"line":52,"column":17},"end":{"line":59,"column":6}},"5":{"start":{"line":61,"column":4},"end":{"line":63,"column":5}},"6":{"start":{"line":62,"column":6},"end":{"line":62,"column":18}},"7":{"start":{"line":65,"column":22},"end":{"line":65,"column":76}},"8":{"start":{"line":66,"column":27},"end":{"line":66,"column":61}},"9":{"start":{"line":69,"column":4},"end":{"line":71,"column":5}},"10":{"start":{"line":70,"column":6},"end":{"line":70,"column":182}},"11":{"start":{"line":73,"column":23},"end":{"line":81,"column":5}},"12":{"start":{"line":75,"column":8},"end":{"line":75,"column":39}},"13":{"start":{"line":75,"column":28},"end":{"line":75,"column":39}},"14":{"start":{"line":76,"column":8},"end":{"line":76,"column":77}},"15":{"start":{"line":77,"column":8},"end":{"line":77,"column":93}},"16":{"start":{"line":78,"column":8},"end":{"line":78,"column":19}},"17":{"start":{"line":84,"column":26},"end":{"line":86,"column":39}},"18":{"start":{"line":85,"column":23},"end":{"line":85,"column":75}},"19":{"start":{"line":86,"column":25},"end":{"line":86,"column":38}},"20":{"start":{"line":88,"column":17},"end":{"line":88,"column":39}},"21":{"start":{"line":89,"column":24},"end":{"line":89,"column":81}},"22":{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},"23":{"start":{"line":92,"column":6},"end":{"line":115,"column":9}},"24":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"25":{"start":{"line":94,"column":10},"end":{"line":94,"column":17}},"26":{"start":{"line":97,"column":46},"end":{"line":112,"column":12}},"27":{"start":{"line":98,"column":30},"end":{"line":98,"column":37}},"28":{"start":{"line":100,"column":38},"end":{"line":100,"column":62}},"29":{"start":{"line":102,"column":12},"end":{"line":111,"column":14}},"30":{"start":{"line":114,"column":8},"end":{"line":114,"column":45}},"31":{"start":{"line":118,"column":4},"end":{"line":118,"column":52}},"32":{"start":{"line":120,"column":4},"end":{"line":120,"column":31}},"33":{"start":{"line":121,"column":4},"end":{"line":121,"column":46}},"34":{"start":{"line":122,"column":4},"end":{"line":122,"column":16}},"35":{"start":{"line":140,"column":4},"end":{"line":140,"column":12}},"36":{"start":{"line":141,"column":4},"end":{"line":141,"column":17}},"37":{"start":{"line":142,"column":4},"end":{"line":142,"column":23}},"38":{"start":{"line":143,"column":4},"end":{"line":143,"column":25}},"39":{"start":{"line":144,"column":4},"end":{"line":144,"column":37}},"40":{"start":{"line":145,"column":4},"end":{"line":145,"column":27}},"41":{"start":{"line":146,"column":4},"end":{"line":146,"column":36}},"42":{"start":{"line":150,"column":4},"end":{"line":150,"column":17}},"43":{"start":{"line":151,"column":4},"end":{"line":151,"column":23}},"44":{"start":{"line":152,"column":4},"end":{"line":152,"column":25}},"45":{"start":{"line":153,"column":4},"end":{"line":153,"column":37}},"46":{"start":{"line":157,"column":49},"end":{"line":157,"column":51}},"47":{"start":{"line":158,"column":35},"end":{"line":158,"column":37}},"48":{"start":{"line":159,"column":49},"end":{"line":159,"column":51}},"49":{"start":{"line":161,"column":4},"end":{"line":180,"column":5}},"50":{"start":{"line":162,"column":26},"end":{"line":162,"column":80}},"51":{"start":{"line":164,"column":6},"end":{"line":164,"column":35}},"52":{"start":{"line":165,"column":6},"end":{"line":165,"column":41}},"53":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"54":{"start":{"line":168,"column":8},"end":{"line":168,"column":55}},"55":{"start":{"line":171,"column":6},"end":{"line":173,"column":7}},"56":{"start":{"line":172,"column":8},"end":{"line":172,"column":59}},"57":{"start":{"line":176,"column":6},"end":{"line":176,"column":76}},"58":{"start":{"line":176,"column":26},"end":{"line":176,"column":76}},"59":{"start":{"line":177,"column":6},"end":{"line":179,"column":8}},"60":{"start":{"line":181,"column":4},"end":{"line":207,"column":5}},"61":{"start":{"line":183,"column":54},"end":{"line":188,"column":9}},"62":{"start":{"line":183,"column":104},"end":{"line":188,"column":7}},"63":{"start":{"line":190,"column":6},"end":{"line":196,"column":7}},"64":{"start":{"line":191,"column":8},"end":{"line":195,"column":11}},"65":{"start":{"line":198,"column":6},"end":{"line":204,"column":7}},"66":{"start":{"line":199,"column":8},"end":{"line":203,"column":11}},"67":{"start":{"line":206,"column":6},"end":{"line":206,"column":27}},"68":{"start":{"line":208,"column":4},"end":{"line":210,"column":6}},"69":{"start":{"line":220,"column":4},"end":{"line":220,"column":61}},"70":{"start":{"line":221,"column":4},"end":{"line":221,"column":28}},"71":{"start":{"line":235,"column":4},"end":{"line":240,"column":7}},"72":{"start":{"line":242,"column":4},"end":{"line":244,"column":5}},"73":{"start":{"line":243,"column":6},"end":{"line":243,"column":45}},"74":{"start":{"line":246,"column":4},"end":{"line":246,"column":77}},"75":{"start":{"line":250,"column":4},"end":{"line":278,"column":5}},"76":{"start":{"line":251,"column":6},"end":{"line":253,"column":7}},"77":{"start":{"line":252,"column":8},"end":{"line":252,"column":40}},"78":{"start":{"line":255,"column":27},"end":{"line":265,"column":8}},"79":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"80":{"start":{"line":268,"column":8},"end":{"line":268,"column":44}},"81":{"start":{"line":271,"column":6},"end":{"line":271,"column":49}},"82":{"start":{"line":272,"column":6},"end":{"line":272,"column":71}},"83":{"start":{"line":274,"column":6},"end":{"line":274,"column":26}},"84":{"start":{"line":276,"column":6},"end":{"line":276,"column":33}},"85":{"start":{"line":277,"column":6},"end":{"line":277,"column":68}},"86":{"start":{"line":282,"column":4},"end":{"line":310,"column":5}},"87":{"start":{"line":283,"column":27},"end":{"line":294,"column":8}},"88":{"start":{"line":296,"column":6},"end":{"line":298,"column":7}},"89":{"start":{"line":297,"column":8},"end":{"line":297,"column":44}},"90":{"start":{"line":300,"column":6},"end":{"line":300,"column":49}},"91":{"start":{"line":301,"column":6},"end":{"line":301,"column":73}},"92":{"start":{"line":303,"column":6},"end":{"line":303,"column":26}},"93":{"start":{"line":305,"column":6},"end":{"line":305,"column":33}},"94":{"start":{"line":306,"column":6},"end":{"line":308,"column":9}},"95":{"start":{"line":309,"column":6},"end":{"line":309,"column":68}},"96":{"start":{"line":314,"column":4},"end":{"line":340,"column":5}},"97":{"start":{"line":315,"column":6},"end":{"line":317,"column":7}},"98":{"start":{"line":316,"column":8},"end":{"line":316,"column":40}},"99":{"start":{"line":319,"column":27},"end":{"line":327,"column":8}},"100":{"start":{"line":329,"column":6},"end":{"line":331,"column":7}},"101":{"start":{"line":330,"column":8},"end":{"line":330,"column":44}},"102":{"start":{"line":333,"column":6},"end":{"line":333,"column":49}},"103":{"start":{"line":334,"column":6},"end":{"line":334,"column":75}},"104":{"start":{"line":336,"column":6},"end":{"line":336,"column":26}},"105":{"start":{"line":338,"column":6},"end":{"line":338,"column":33}},"106":{"start":{"line":339,"column":6},"end":{"line":339,"column":68}},"107":{"start":{"line":344,"column":4},"end":{"line":365,"column":5}},"108":{"start":{"line":345,"column":27},"end":{"line":352,"column":8}},"109":{"start":{"line":354,"column":6},"end":{"line":356,"column":7}},"110":{"start":{"line":355,"column":8},"end":{"line":355,"column":44}},"111":{"start":{"line":358,"column":6},"end":{"line":358,"column":55}},"112":{"start":{"line":359,"column":6},"end":{"line":359,"column":79}},"113":{"start":{"line":361,"column":6},"end":{"line":361,"column":26}},"114":{"start":{"line":363,"column":6},"end":{"line":363,"column":33}},"115":{"start":{"line":364,"column":6},"end":{"line":364,"column":74}},"116":{"start":{"line":369,"column":4},"end":{"line":394,"column":5}},"117":{"start":{"line":370,"column":27},"end":{"line":381,"column":8}},"118":{"start":{"line":383,"column":6},"end":{"line":385,"column":7}},"119":{"start":{"line":384,"column":8},"end":{"line":384,"column":44}},"120":{"start":{"line":387,"column":6},"end":{"line":387,"column":51}},"121":{"start":{"line":388,"column":6},"end":{"line":388,"column":75}},"122":{"start":{"line":390,"column":6},"end":{"line":390,"column":26}},"123":{"start":{"line":392,"column":6},"end":{"line":392,"column":33}},"124":{"start":{"line":393,"column":6},"end":{"line":393,"column":70}},"125":{"start":{"line":398,"column":4},"end":{"line":423,"column":5}},"126":{"start":{"line":399,"column":27},"end":{"line":410,"column":8}},"127":{"start":{"line":412,"column":6},"end":{"line":414,"column":7}},"128":{"start":{"line":413,"column":8},"end":{"line":413,"column":44}},"129":{"start":{"line":416,"column":6},"end":{"line":416,"column":51}},"130":{"start":{"line":417,"column":6},"end":{"line":417,"column":75}},"131":{"start":{"line":419,"column":6},"end":{"line":419,"column":26}},"132":{"start":{"line":421,"column":6},"end":{"line":421,"column":33}},"133":{"start":{"line":422,"column":6},"end":{"line":422,"column":70}},"134":{"start":{"line":427,"column":4},"end":{"line":449,"column":5}},"135":{"start":{"line":428,"column":27},"end":{"line":436,"column":8}},"136":{"start":{"line":438,"column":6},"end":{"line":440,"column":7}},"137":{"start":{"line":439,"column":8},"end":{"line":439,"column":44}},"138":{"start":{"line":442,"column":6},"end":{"line":442,"column":51}},"139":{"start":{"line":443,"column":6},"end":{"line":443,"column":77}},"140":{"start":{"line":445,"column":6},"end":{"line":445,"column":26}},"141":{"start":{"line":447,"column":6},"end":{"line":447,"column":33}},"142":{"start":{"line":448,"column":6},"end":{"line":448,"column":70}},"143":{"start":{"line":453,"column":29},"end":{"line":453,"column":51}},"144":{"start":{"line":454,"column":4},"end":{"line":454,"column":27}},"145":{"start":{"line":455,"column":4},"end":{"line":455,"column":36}},"146":{"start":{"line":457,"column":4},"end":{"line":485,"column":5}},"147":{"start":{"line":458,"column":48},"end":{"line":458,"column":63}},"148":{"start":{"line":460,"column":6},"end":{"line":484,"column":7}},"149":{"start":{"line":462,"column":10},"end":{"line":462,"column":65}},"150":{"start":{"line":463,"column":10},"end":{"line":463,"column":16}},"151":{"start":{"line":465,"column":10},"end":{"line":465,"column":65}},"152":{"start":{"line":466,"column":10},"end":{"line":466,"column":16}},"153":{"start":{"line":468,"column":10},"end":{"line":468,"column":65}},"154":{"start":{"line":469,"column":10},"end":{"line":469,"column":16}},"155":{"start":{"line":471,"column":10},"end":{"line":471,"column":70}},"156":{"start":{"line":472,"column":10},"end":{"line":472,"column":16}},"157":{"start":{"line":474,"column":10},"end":{"line":474,"column":67}},"158":{"start":{"line":475,"column":10},"end":{"line":475,"column":16}},"159":{"start":{"line":477,"column":10},"end":{"line":477,"column":67}},"160":{"start":{"line":478,"column":10},"end":{"line":478,"column":16}},"161":{"start":{"line":480,"column":10},"end":{"line":480,"column":67}},"162":{"start":{"line":481,"column":10},"end":{"line":481,"column":16}},"163":{"start":{"line":483,"column":10},"end":{"line":483,"column":74}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":19},"end":{"line":31,"column":20}},"loc":{"start":{"line":31,"column":39},"end":{"line":35,"column":2}},"line":31},"1":{"name":"getProjectData","decl":{"start":{"line":50,"column":15},"end":{"line":50,"column":29}},"loc":{"start":{"line":50,"column":99},"end":{"line":124,"column":1}},"line":50},"2":{"name":"(anonymous_2)","decl":{"start":{"line":74,"column":6},"end":{"line":74,"column":7}},"loc":{"start":{"line":74,"column":25},"end":{"line":79,"column":7}},"line":74},"3":{"name":"(anonymous_3)","decl":{"start":{"line":85,"column":12},"end":{"line":85,"column":13}},"loc":{"start":{"line":85,"column":23},"end":{"line":85,"column":75}},"line":85},"4":{"name":"(anonymous_4)","decl":{"start":{"line":86,"column":11},"end":{"line":86,"column":12}},"loc":{"start":{"line":86,"column":25},"end":{"line":86,"column":38}},"line":86},"5":{"name":"(anonymous_5)","decl":{"start":{"line":92,"column":26},"end":{"line":92,"column":27}},"loc":{"start":{"line":92,"column":56},"end":{"line":115,"column":7}},"line":92},"6":{"name":"(anonymous_6)","decl":{"start":{"line":98,"column":19},"end":{"line":98,"column":20}},"loc":{"start":{"line":98,"column":30},"end":{"line":98,"column":37}},"line":98},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":15},"end":{"line":99,"column":16}},"loc":{"start":{"line":99,"column":26},"end":{"line":112,"column":11}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":139,"column":2},"end":{"line":139,"column":3}},"loc":{"start":{"line":139,"column":57},"end":{"line":147,"column":3}},"line":139},"9":{"name":"(anonymous_9)","decl":{"start":{"line":149,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":149,"column":63},"end":{"line":154,"column":3}},"line":149},"10":{"name":"(anonymous_10)","decl":{"start":{"line":156,"column":2},"end":{"line":156,"column":3}},"loc":{"start":{"line":156,"column":90},"end":{"line":211,"column":3}},"line":156},"11":{"name":"(anonymous_11)","decl":{"start":{"line":183,"column":81},"end":{"line":183,"column":82}},"loc":{"start":{"line":183,"column":104},"end":{"line":188,"column":7}},"line":183},"12":{"name":"(anonymous_12)","decl":{"start":{"line":213,"column":2},"end":{"line":213,"column":3}},"loc":{"start":{"line":219,"column":22},"end":{"line":222,"column":3}},"line":219},"13":{"name":"(anonymous_13)","decl":{"start":{"line":224,"column":2},"end":{"line":224,"column":3}},"loc":{"start":{"line":234,"column":5},"end":{"line":247,"column":3}},"line":234},"14":{"name":"(anonymous_14)","decl":{"start":{"line":249,"column":2},"end":{"line":249,"column":3}},"loc":{"start":{"line":249,"column":77},"end":{"line":279,"column":3}},"line":249},"15":{"name":"(anonymous_15)","decl":{"start":{"line":281,"column":2},"end":{"line":281,"column":3}},"loc":{"start":{"line":281,"column":77},"end":{"line":311,"column":3}},"line":281},"16":{"name":"(anonymous_16)","decl":{"start":{"line":313,"column":2},"end":{"line":313,"column":3}},"loc":{"start":{"line":313,"column":77},"end":{"line":341,"column":3}},"line":313},"17":{"name":"(anonymous_17)","decl":{"start":{"line":343,"column":2},"end":{"line":343,"column":3}},"loc":{"start":{"line":343,"column":82},"end":{"line":366,"column":3}},"line":343},"18":{"name":"(anonymous_18)","decl":{"start":{"line":368,"column":2},"end":{"line":368,"column":3}},"loc":{"start":{"line":368,"column":79},"end":{"line":395,"column":3}},"line":368},"19":{"name":"(anonymous_19)","decl":{"start":{"line":397,"column":2},"end":{"line":397,"column":3}},"loc":{"start":{"line":397,"column":79},"end":{"line":424,"column":3}},"line":397},"20":{"name":"(anonymous_20)","decl":{"start":{"line":426,"column":2},"end":{"line":426,"column":3}},"loc":{"start":{"line":426,"column":79},"end":{"line":450,"column":3}},"line":426},"21":{"name":"(anonymous_21)","decl":{"start":{"line":452,"column":2},"end":{"line":452,"column":3}},"loc":{"start":{"line":452,"column":31},"end":{"line":486,"column":3}},"line":452}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":8},"end":{"line":32,"column":62}},"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":42}},{"start":{"line":32,"column":46},"end":{"line":32,"column":62}}],"line":32},"1":{"loc":{"start":{"line":61,"column":4},"end":{"line":63,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":63,"column":5}},{"start":{},"end":{}}],"line":61},"2":{"loc":{"start":{"line":69,"column":4},"end":{"line":71,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":71,"column":5}},{"start":{},"end":{}}],"line":69},"3":{"loc":{"start":{"line":75,"column":8},"end":{"line":75,"column":39}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":39}},{"start":{},"end":{}}],"line":75},"4":{"loc":{"start":{"line":85,"column":23},"end":{"line":85,"column":75}},"type":"cond-expr","locations":[{"start":{"line":85,"column":69},"end":{"line":85,"column":70}},{"start":{"line":85,"column":73},"end":{"line":85,"column":75}}],"line":85},"5":{"loc":{"start":{"line":85,"column":25},"end":{"line":85,"column":42}},"type":"binary-expr","locations":[{"start":{"line":85,"column":25},"end":{"line":85,"column":37}},{"start":{"line":85,"column":41},"end":{"line":85,"column":42}}],"line":85},"6":{"loc":{"start":{"line":85,"column":48},"end":{"line":85,"column":65}},"type":"binary-expr","locations":[{"start":{"line":85,"column":48},"end":{"line":85,"column":60}},{"start":{"line":85,"column":64},"end":{"line":85,"column":65}}],"line":85},"7":{"loc":{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":116,"column":5}},{"start":{},"end":{}}],"line":91},"8":{"loc":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},{"start":{},"end":{}}],"line":93},"9":{"loc":{"start":{"line":109,"column":34},"end":{"line":109,"column":71}},"type":"binary-expr","locations":[{"start":{"line":109,"column":34},"end":{"line":109,"column":58}},{"start":{"line":109,"column":62},"end":{"line":109,"column":71}}],"line":109},"10":{"loc":{"start":{"line":110,"column":28},"end":{"line":110,"column":59}},"type":"binary-expr","locations":[{"start":{"line":110,"column":28},"end":{"line":110,"column":46}},{"start":{"line":110,"column":50},"end":{"line":110,"column":59}}],"line":110},"11":{"loc":{"start":{"line":165,"column":15},"end":{"line":165,"column":40}},"type":"binary-expr","locations":[{"start":{"line":165,"column":15},"end":{"line":165,"column":34}},{"start":{"line":165,"column":38},"end":{"line":165,"column":40}}],"line":165},"12":{"loc":{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},"type":"if","locations":[{"start":{"line":167,"column":6},"end":{"line":169,"column":7}},{"start":{},"end":{}}],"line":167},"13":{"loc":{"start":{"line":171,"column":6},"end":{"line":173,"column":7}},"type":"if","locations":[{"start":{"line":171,"column":6},"end":{"line":173,"column":7}},{"start":{},"end":{}}],"line":171},"14":{"loc":{"start":{"line":176,"column":6},"end":{"line":176,"column":76}},"type":"if","locations":[{"start":{"line":176,"column":6},"end":{"line":176,"column":76}},{"start":{},"end":{}}],"line":176},"15":{"loc":{"start":{"line":178,"column":22},"end":{"line":178,"column":109}},"type":"cond-expr","locations":[{"start":{"line":178,"column":39},"end":{"line":178,"column":63}},{"start":{"line":178,"column":66},"end":{"line":178,"column":109}}],"line":178},"16":{"loc":{"start":{"line":181,"column":4},"end":{"line":207,"column":5}},"type":"if","locations":[{"start":{"line":181,"column":4},"end":{"line":207,"column":5}},{"start":{},"end":{}}],"line":181},"17":{"loc":{"start":{"line":190,"column":6},"end":{"line":196,"column":7}},"type":"if","locations":[{"start":{"line":190,"column":6},"end":{"line":196,"column":7}},{"start":{},"end":{}}],"line":190},"18":{"loc":{"start":{"line":198,"column":6},"end":{"line":204,"column":7}},"type":"if","locations":[{"start":{"line":198,"column":6},"end":{"line":204,"column":7}},{"start":{},"end":{}}],"line":198},"19":{"loc":{"start":{"line":242,"column":4},"end":{"line":244,"column":5}},"type":"if","locations":[{"start":{"line":242,"column":4},"end":{"line":244,"column":5}},{"start":{},"end":{}}],"line":242},"20":{"loc":{"start":{"line":251,"column":6},"end":{"line":253,"column":7}},"type":"if","locations":[{"start":{"line":251,"column":6},"end":{"line":253,"column":7}},{"start":{},"end":{}}],"line":251},"21":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{},"end":{}}],"line":267},"22":{"loc":{"start":{"line":289,"column":18},"end":{"line":289,"column":43}},"type":"binary-expr","locations":[{"start":{"line":289,"column":18},"end":{"line":289,"column":30}},{"start":{"line":289,"column":34},"end":{"line":289,"column":43}}],"line":289},"23":{"loc":{"start":{"line":296,"column":6},"end":{"line":298,"column":7}},"type":"if","locations":[{"start":{"line":296,"column":6},"end":{"line":298,"column":7}},{"start":{},"end":{}}],"line":296},"24":{"loc":{"start":{"line":306,"column":73},"end":{"line":306,"column":98}},"type":"binary-expr","locations":[{"start":{"line":306,"column":73},"end":{"line":306,"column":85}},{"start":{"line":306,"column":89},"end":{"line":306,"column":98}}],"line":306},"25":{"loc":{"start":{"line":315,"column":6},"end":{"line":317,"column":7}},"type":"if","locations":[{"start":{"line":315,"column":6},"end":{"line":317,"column":7}},{"start":{},"end":{}}],"line":315},"26":{"loc":{"start":{"line":329,"column":6},"end":{"line":331,"column":7}},"type":"if","locations":[{"start":{"line":329,"column":6},"end":{"line":331,"column":7}},{"start":{},"end":{}}],"line":329},"27":{"loc":{"start":{"line":354,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":354,"column":6},"end":{"line":356,"column":7}},{"start":{},"end":{}}],"line":354},"28":{"loc":{"start":{"line":383,"column":6},"end":{"line":385,"column":7}},"type":"if","locations":[{"start":{"line":383,"column":6},"end":{"line":385,"column":7}},{"start":{},"end":{}}],"line":383},"29":{"loc":{"start":{"line":404,"column":16},"end":{"line":404,"column":57}},"type":"binary-expr","locations":[{"start":{"line":404,"column":16},"end":{"line":404,"column":28}},{"start":{"line":404,"column":32},"end":{"line":404,"column":57}}],"line":404},"30":{"loc":{"start":{"line":412,"column":6},"end":{"line":414,"column":7}},"type":"if","locations":[{"start":{"line":412,"column":6},"end":{"line":414,"column":7}},{"start":{},"end":{}}],"line":412},"31":{"loc":{"start":{"line":438,"column":6},"end":{"line":440,"column":7}},"type":"if","locations":[{"start":{"line":438,"column":6},"end":{"line":440,"column":7}},{"start":{},"end":{}}],"line":438},"32":{"loc":{"start":{"line":460,"column":6},"end":{"line":484,"column":7}},"type":"switch","locations":[{"start":{"line":461,"column":8},"end":{"line":463,"column":16}},{"start":{"line":464,"column":8},"end":{"line":466,"column":16}},{"start":{"line":467,"column":8},"end":{"line":469,"column":16}},{"start":{"line":470,"column":8},"end":{"line":472,"column":16}},{"start":{"line":473,"column":8},"end":{"line":475,"column":16}},{"start":{"line":476,"column":8},"end":{"line":478,"column":16}},{"start":{"line":479,"column":8},"end":{"line":481,"column":16}},{"start":{"line":482,"column":8},"end":{"line":483,"column":74}}],"line":460}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/UrlTokenStorage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/UrlTokenStorage.ts","statementMap":{"0":{"start":{"line":24,"column":4},"end":{"line":24,"column":12}},"1":{"start":{"line":25,"column":4},"end":{"line":25,"column":19}},"2":{"start":{"line":26,"column":4},"end":{"line":26,"column":25}},"3":{"start":{"line":30,"column":4},"end":{"line":47,"column":6}},"4":{"start":{"line":41,"column":88},"end":{"line":46,"column":7}},"5":{"start":{"line":51,"column":26},"end":{"line":53,"column":10}},"6":{"start":{"line":55,"column":20},"end":{"line":58,"column":5}},"7":{"start":{"line":60,"column":21},"end":{"line":63,"column":6}},"8":{"start":{"line":65,"column":4},"end":{"line":88,"column":5}},"9":{"start":{"line":66,"column":29},"end":{"line":66,"column":50}},"10":{"start":{"line":67,"column":31},"end":{"line":67,"column":84}},"11":{"start":{"line":69,"column":6},"end":{"line":72,"column":7}},"12":{"start":{"line":70,"column":31},"end":{"line":70,"column":63}},"13":{"start":{"line":71,"column":8},"end":{"line":71,"column":58}},"14":{"start":{"line":75,"column":41},"end":{"line":75,"column":101}},"15":{"start":{"line":76,"column":6},"end":{"line":84,"column":7}},"16":{"start":{"line":77,"column":31},"end":{"line":77,"column":62}},"17":{"start":{"line":78,"column":60},"end":{"line":78,"column":74}},"18":{"start":{"line":79,"column":8},"end":{"line":83,"column":11}},"19":{"start":{"line":85,"column":6},"end":{"line":87,"column":8}},"20":{"start":{"line":90,"column":4},"end":{"line":90,"column":14}},"21":{"start":{"line":94,"column":4},"end":{"line":94,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":43},"end":{"line":27,"column":3}},"line":23},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":29,"column":73},"end":{"line":48,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":41,"column":65},"end":{"line":41,"column":66}},"loc":{"start":{"line":41,"column":88},"end":{"line":46,"column":7}},"line":41},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":50,"column":90},"end":{"line":91,"column":3}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":93,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":93,"column":41},"end":{"line":95,"column":3}},"line":93}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":14},"end":{"line":34,"column":32}},"type":"binary-expr","locations":[{"start":{"line":34,"column":14},"end":{"line":34,"column":26}},{"start":{"line":34,"column":30},"end":{"line":34,"column":32}}],"line":34},"1":{"loc":{"start":{"line":39,"column":14},"end":{"line":39,"column":34}},"type":"binary-expr","locations":[{"start":{"line":39,"column":14},"end":{"line":39,"column":28}},{"start":{"line":39,"column":32},"end":{"line":39,"column":34}}],"line":39},"2":{"loc":{"start":{"line":51,"column":26},"end":{"line":53,"column":10}},"type":"cond-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":57}},{"start":{"line":53,"column":8},"end":{"line":53,"column":10}}],"line":51},"3":{"loc":{"start":{"line":65,"column":4},"end":{"line":88,"column":5}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":88,"column":5}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":69,"column":6},"end":{"line":72,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":72,"column":7}},{"start":{},"end":{}}],"line":69},"5":{"loc":{"start":{"line":76,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":84,"column":7}},{"start":{},"end":{}}],"line":76},"6":{"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":28}},"type":"default-arg","locations":[{"start":{"line":78,"column":26},"end":{"line":78,"column":28}}],"line":78},"7":{"loc":{"start":{"line":78,"column":30},"end":{"line":78,"column":44}},"type":"default-arg","locations":[{"start":{"line":78,"column":42},"end":{"line":78,"column":44}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0],"7":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/complexSingleFileSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/complexSingleFileSchema.ts","statementMap":{"0":{"start":{"line":19,"column":75},"end":{"line":23,"column":2}},"1":{"start":{"line":20,"column":3},"end":{"line":22,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":82},"end":{"line":19,"column":83}},"loc":{"start":{"line":20,"column":3},"end":{"line":22,"column":44}},"line":20}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/multiFileSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/multiFileSchema.ts","statementMap":{"0":{"start":{"line":5,"column":31},"end":{"line":7,"column":3}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleFileSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleFileSchema.ts","statementMap":{"0":{"start":{"line":7,"column":32},"end":{"line":15,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleTokenSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/singleTokenSchema.ts","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":7,"column":16}},"1":{"start":{"line":9,"column":29},"end":{"line":13,"column":16}},"2":{"start":{"line":15,"column":33},"end":{"line":15,"column":76}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/themeObjectSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/themeObjectSchema.ts","statementMap":{"0":{"start":{"line":4,"column":33},"end":{"line":17,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/tokensMapSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/schemas/tokensMapSchema.ts","statementMap":{"0":{"start":{"line":8,"column":64},"end":{"line":10,"column":2}},"1":{"start":{"line":9,"column":2},"end":{"line":9,"column":84}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":71},"end":{"line":8,"column":72}},"loc":{"start":{"line":9,"column":2},"end":{"line":9,"column":84}},"line":9}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":19},"end":{"line":18,"column":62}},"1":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"2":{"start":{"line":21,"column":4},"end":{"line":21,"column":43}},"3":{"start":{"line":24,"column":19},"end":{"line":30,"column":18}},"4":{"start":{"line":32,"column":17},"end":{"line":32,"column":40}},"5":{"start":{"line":33,"column":18},"end":{"line":33,"column":57}},"6":{"start":{"line":35,"column":2},"end":{"line":43,"column":5}}},"fnMap":{"0":{"name":"createTokenInTokensStudio","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":47}},"loc":{"start":{"line":17,"column":37},"end":{"line":44,"column":1}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenSetInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/createTokenSetInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":21},"end":{"line":18,"column":68}},"1":{"start":{"line":20,"column":2},"end":{"line":32,"column":5}},"2":{"start":{"line":25,"column":6},"end":{"line":30,"column":9}}},"fnMap":{"0":{"name":"createTokenSetInTokensStudio","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":50}},"loc":{"start":{"line":17,"column":40},"end":{"line":33,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":21},"end":{"line":24,"column":22}},"loc":{"start":{"line":24,"column":27},"end":{"line":31,"column":5}},"line":24}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":2},"end":{"line":28,"column":5}},"1":{"start":{"line":24,"column":31},"end":{"line":24,"column":75}},"2":{"start":{"line":25,"column":6},"end":{"line":25,"column":36}},"3":{"start":{"line":26,"column":6},"end":{"line":26,"column":42}}},"fnMap":{"0":{"name":"deleteTokenSetFromTokensStudio","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":52}},"loc":{"start":{"line":17,"column":42},"end":{"line":29,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":27,"column":5}},"line":23}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":20},"end":{"line":26,"column":26}},"1":{"start":{"line":28,"column":20},"end":{"line":28,"column":47}},"2":{"start":{"line":30,"column":2},"end":{"line":40,"column":3}},"3":{"start":{"line":31,"column":28},"end":{"line":31,"column":47}},"4":{"start":{"line":32,"column":31},"end":{"line":32,"column":62}},"5":{"start":{"line":33,"column":27},"end":{"line":33,"column":78}},"6":{"start":{"line":35,"column":4},"end":{"line":39,"column":7}}},"fnMap":{"0":{"name":"duplicateTokenInTokensStudio","decl":{"start":{"line":14,"column":22},"end":{"line":14,"column":50}},"loc":{"start":{"line":17,"column":37},"end":{"line":41,"column":1}},"line":17}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts","statementMap":{"0":{"start":{"line":18,"column":2},"end":{"line":34,"column":5}},"1":{"start":{"line":24,"column":31},"end":{"line":24,"column":75}},"2":{"start":{"line":25,"column":6},"end":{"line":25,"column":44}},"3":{"start":{"line":27,"column":6},"end":{"line":32,"column":9}}},"fnMap":{"0":{"name":"updateTokenSetInTokensStudio","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":50}},"loc":{"start":{"line":17,"column":40},"end":{"line":35,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":33,"column":5}},"line":23}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts","statementMap":{"0":{"start":{"line":3,"column":43},"end":{"line":17,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenMutation.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenSetMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/createTokenSetMutation.ts","statementMap":{"0":{"start":{"line":3,"column":41},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts","statementMap":{"0":{"start":{"line":3,"column":43},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenMutation.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts","statementMap":{"0":{"start":{"line":3,"column":41},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getGeneratorQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getGeneratorQuery.ts","statementMap":{"0":{"start":{"line":1,"column":35},"end":{"line":12,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getOrgsQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getOrgsQuery.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":18,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getProjectDataQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getProjectDataQuery.ts","statementMap":{"0":{"start":{"line":3,"column":38},"end":{"line":32,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getTokenSetQuery.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/getTokenSetQuery.ts","statementMap":{"0":{"start":{"line":3,"column":35},"end":{"line":21,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/tokenFragment.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/tokenFragment.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":54,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts","statementMap":{"0":{"start":{"line":3,"column":43},"end":{"line":17,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenMutation.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":8,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts","statementMap":{"0":{"start":{"line":3,"column":41},"end":{"line":15,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts","statementMap":{"0":{"start":{"line":3,"column":47},"end":{"line":17,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts","statementMap":{"0":{"start":{"line":10,"column":27},"end":{"line":29,"column":1}},"1":{"start":{"line":11,"column":31},"end":{"line":11,"column":37}},"2":{"start":{"line":13,"column":62},"end":{"line":13,"column":64}},"3":{"start":{"line":14,"column":38},"end":{"line":14,"column":40}},"4":{"start":{"line":16,"column":25},"end":{"line":16,"column":80}},"5":{"start":{"line":16,"column":52},"end":{"line":16,"column":72}},"6":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"7":{"start":{"line":19,"column":27},"end":{"line":19,"column":81}},"8":{"start":{"line":19,"column":56},"end":{"line":19,"column":80}},"9":{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":67}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":45}},"12":{"start":{"line":28,"column":2},"end":{"line":28,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":27},"end":{"line":10,"column":28}},"loc":{"start":{"line":10,"column":70},"end":{"line":29,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":41},"end":{"line":16,"column":42}},"loc":{"start":{"line":16,"column":52},"end":{"line":16,"column":72}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":41},"end":{"line":19,"column":42}},"loc":{"start":{"line":19,"column":56},"end":{"line":19,"column":80}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},{"start":{"line":23,"column":11},"end":{"line":25,"column":5}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts","statementMap":{"0":{"start":{"line":3,"column":38},"end":{"line":14,"column":1}},"1":{"start":{"line":4,"column":64},"end":{"line":4,"column":66}},"2":{"start":{"line":6,"column":2},"end":{"line":11,"column":5}},"3":{"start":{"line":7,"column":4},"end":{"line":10,"column":5}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":80}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":51}},"6":{"start":{"line":13,"column":2},"end":{"line":13,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":38},"end":{"line":3,"column":39}},"loc":{"start":{"line":3,"column":68},"end":{"line":14,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"loc":{"start":{"line":6,"column":28},"end":{"line":11,"column":3}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":10,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":8,"column":41},"end":{"line":8,"column":79}},"type":"binary-expr","locations":[{"start":{"line":8,"column":41},"end":{"line":8,"column":73}},{"start":{"line":8,"column":77},"end":{"line":8,"column":79}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts","statementMap":{"0":{"start":{"line":25,"column":6},"end":{"line":25,"column":15}},"1":{"start":{"line":28,"column":6},"end":{"line":28,"column":15}},"2":{"start":{"line":30,"column":42},"end":{"line":30,"column":46}},"3":{"start":{"line":31,"column":62},"end":{"line":31,"column":64}},"4":{"start":{"line":32,"column":38},"end":{"line":32,"column":40}},"5":{"start":{"line":34,"column":2},"end":{"line":69,"column":3}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":68}},"7":{"start":{"line":37,"column":6},"end":{"line":37,"column":12}},"8":{"start":{"line":40,"column":33},"end":{"line":44,"column":8}},"9":{"start":{"line":45,"column":6},"end":{"line":45,"column":55}},"10":{"start":{"line":46,"column":6},"end":{"line":46,"column":67}},"11":{"start":{"line":47,"column":6},"end":{"line":47,"column":67}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":12}},"13":{"start":{"line":51,"column":33},"end":{"line":55,"column":8}},"14":{"start":{"line":56,"column":6},"end":{"line":56,"column":67}},"15":{"start":{"line":57,"column":6},"end":{"line":57,"column":67}},"16":{"start":{"line":58,"column":6},"end":{"line":58,"column":12}},"17":{"start":{"line":66,"column":6},"end":{"line":66,"column":59}},"18":{"start":{"line":67,"column":6},"end":{"line":67,"column":12}},"19":{"start":{"line":71,"column":2},"end":{"line":94,"column":3}},"20":{"start":{"line":72,"column":22},"end":{"line":82,"column":5}},"21":{"start":{"line":74,"column":46},"end":{"line":81,"column":7}},"22":{"start":{"line":85,"column":4},"end":{"line":87,"column":5}},"23":{"start":{"line":86,"column":6},"end":{"line":86,"column":45}},"24":{"start":{"line":89,"column":4},"end":{"line":93,"column":7}},"25":{"start":{"line":96,"column":2},"end":{"line":112,"column":3}},"26":{"start":{"line":97,"column":4},"end":{"line":111,"column":7}},"27":{"start":{"line":114,"column":2},"end":{"line":124,"column":3}},"28":{"start":{"line":115,"column":4},"end":{"line":123,"column":5}},"29":{"start":{"line":116,"column":6},"end":{"line":122,"column":9}}},"fnMap":{"0":{"name":"updateThemeGroupsInTokensStudio","decl":{"start":{"line":18,"column":22},"end":{"line":18,"column":53}},"loc":{"start":{"line":22,"column":43},"end":{"line":125,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":74,"column":34},"end":{"line":74,"column":35}},"loc":{"start":{"line":74,"column":46},"end":{"line":81,"column":7}},"line":74}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":2},"end":{"line":69,"column":3}},"type":"switch","locations":[{"start":{"line":35,"column":4},"end":{"line":38,"column":5}},{"start":{"line":39,"column":4},"end":{"line":49,"column":5}},{"start":{"line":50,"column":4},"end":{"line":59,"column":5}},{"start":{"line":60,"column":4},"end":{"line":60,"column":54}},{"start":{"line":61,"column":4},"end":{"line":61,"column":47}},{"start":{"line":62,"column":4},"end":{"line":62,"column":51}},{"start":{"line":63,"column":4},"end":{"line":63,"column":44}},{"start":{"line":64,"column":4},"end":{"line":64,"column":50}},{"start":{"line":65,"column":4},"end":{"line":67,"column":12}},{"start":{"line":68,"column":4},"end":{"line":68,"column":12}}],"line":34},"1":{"loc":{"start":{"line":85,"column":4},"end":{"line":87,"column":5}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":87,"column":5}},{"start":{},"end":{}}],"line":85},"2":{"loc":{"start":{"line":96,"column":2},"end":{"line":112,"column":3}},"type":"if","locations":[{"start":{"line":96,"column":2},"end":{"line":112,"column":3}},{"start":{},"end":{}}],"line":96},"3":{"loc":{"start":{"line":114,"column":2},"end":{"line":124,"column":3}},"type":"if","locations":[{"start":{"line":114,"column":2},"end":{"line":124,"column":3}},{"start":{},"end":{}}],"line":114}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts","statementMap":{"0":{"start":{"line":10,"column":25},"end":{"line":80,"column":1}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":12}},"2":{"start":{"line":17,"column":27},"end":{"line":22,"column":8}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":62}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":15}},"6":{"start":{"line":23,"column":26},"end":{"line":28,"column":8}},"7":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":62}},"9":{"start":{"line":27,"column":4},"end":{"line":27,"column":15}},"10":{"start":{"line":30,"column":42},"end":{"line":30,"column":46}},"11":{"start":{"line":31,"column":62},"end":{"line":31,"column":64}},"12":{"start":{"line":32,"column":40},"end":{"line":32,"column":42}},"13":{"start":{"line":34,"column":22},"end":{"line":34,"column":74}},"14":{"start":{"line":34,"column":51},"end":{"line":34,"column":73}},"15":{"start":{"line":36,"column":2},"end":{"line":38,"column":3}},"16":{"start":{"line":37,"column":4},"end":{"line":37,"column":77}},"17":{"start":{"line":40,"column":2},"end":{"line":77,"column":3}},"18":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"19":{"start":{"line":44,"column":6},"end":{"line":44,"column":75}},"20":{"start":{"line":47,"column":6},"end":{"line":47,"column":34}},"21":{"start":{"line":51,"column":30},"end":{"line":51,"column":54}},"22":{"start":{"line":53,"column":4},"end":{"line":76,"column":5}},"23":{"start":{"line":54,"column":26},"end":{"line":54,"column":49}},"24":{"start":{"line":55,"column":44},"end":{"line":55,"column":46}},"25":{"start":{"line":56,"column":6},"end":{"line":62,"column":7}},"26":{"start":{"line":58,"column":8},"end":{"line":58,"column":55}},"27":{"start":{"line":61,"column":8},"end":{"line":61,"column":36}},"28":{"start":{"line":65,"column":39},"end":{"line":65,"column":69}},"29":{"start":{"line":66,"column":6},"end":{"line":70,"column":7}},"30":{"start":{"line":67,"column":8},"end":{"line":67,"column":57}},"31":{"start":{"line":69,"column":8},"end":{"line":69,"column":48}},"32":{"start":{"line":72,"column":6},"end":{"line":72,"column":67}},"33":{"start":{"line":75,"column":6},"end":{"line":75,"column":75}},"34":{"start":{"line":79,"column":2},"end":{"line":79,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":25},"end":{"line":10,"column":26}},"loc":{"start":{"line":10,"column":79},"end":{"line":80,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":45},"end":{"line":17,"column":46}},"loc":{"start":{"line":17,"column":61},"end":{"line":22,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":43},"end":{"line":23,"column":44}},"loc":{"start":{"line":23,"column":59},"end":{"line":28,"column":3}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":37},"end":{"line":34,"column":38}},"loc":{"start":{"line":34,"column":51},"end":{"line":34,"column":73}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":19,"column":30},"end":{"line":19,"column":52}},"type":"binary-expr","locations":[{"start":{"line":19,"column":30},"end":{"line":19,"column":46}},{"start":{"line":19,"column":50},"end":{"line":19,"column":52}}],"line":19},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":25,"column":30},"end":{"line":25,"column":52}},"type":"binary-expr","locations":[{"start":{"line":25,"column":30},"end":{"line":25,"column":46}},{"start":{"line":25,"column":50},"end":{"line":25,"column":52}}],"line":25},"4":{"loc":{"start":{"line":36,"column":2},"end":{"line":38,"column":3}},"type":"if","locations":[{"start":{"line":36,"column":2},"end":{"line":38,"column":3}},{"start":{},"end":{}}],"line":36},"5":{"loc":{"start":{"line":40,"column":2},"end":{"line":77,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":77,"column":3}},{"start":{"line":49,"column":9},"end":{"line":77,"column":3}}],"line":40},"6":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":45,"column":11},"end":{"line":48,"column":5}}],"line":42},"7":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":40}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":13}},{"start":{"line":42,"column":17},"end":{"line":42,"column":40}}],"line":42},"8":{"loc":{"start":{"line":53,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":76,"column":5}},{"start":{"line":73,"column":11},"end":{"line":76,"column":5}}],"line":53},"9":{"loc":{"start":{"line":56,"column":6},"end":{"line":62,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":62,"column":7}},{"start":{"line":59,"column":13},"end":{"line":62,"column":7}}],"line":56},"10":{"loc":{"start":{"line":66,"column":6},"end":{"line":70,"column":7}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":70,"column":7}},{"start":{"line":68,"column":13},"end":{"line":70,"column":7}}],"line":66}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts","statementMap":{"0":{"start":{"line":9,"column":36},"end":{"line":22,"column":1}},"1":{"start":{"line":10,"column":28},"end":{"line":10,"column":34}},"2":{"start":{"line":12,"column":2},"end":{"line":21,"column":7}},"3":{"start":{"line":13,"column":23},"end":{"line":13,"column":46}},"4":{"start":{"line":15,"column":6},"end":{"line":20,"column":7}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":88}},"6":{"start":{"line":17,"column":8},"end":{"line":19,"column":11}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":36},"end":{"line":9,"column":37}},"loc":{"start":{"line":9,"column":88},"end":{"line":22,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":12},"end":{"line":13,"column":13}},"loc":{"start":{"line":13,"column":23},"end":{"line":13,"column":46}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":24},"end":{"line":21,"column":5}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":16,"column":46},"end":{"line":16,"column":87}},"type":"binary-expr","locations":[{"start":{"line":16,"column":46},"end":{"line":16,"column":81}},{"start":{"line":16,"column":85},"end":{"line":16,"column":87}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/compositionFields.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/compositionFields.ts","statementMap":{"0":{"start":{"line":3,"column":46},"end":{"line":9,"column":1}},"1":{"start":{"line":12,"column":41},"end":{"line":17,"column":1}},"2":{"start":{"line":13,"column":17},"end":{"line":15,"column":15}},"3":{"start":{"line":14,"column":22},"end":{"line":14,"column":82}},"4":{"start":{"line":16,"column":2},"end":{"line":16,"column":16}},"5":{"start":{"line":20,"column":33},"end":{"line":20,"column":70}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":41},"end":{"line":12,"column":42}},"loc":{"start":{"line":12,"column":84},"end":{"line":17,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":12},"end":{"line":14,"column":13}},"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":82}},"line":14}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/storage/tokensStudio/utils/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stories/tokensForStories.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/stories/tokensForStories.ts","statementMap":{"0":{"start":{"line":3,"column":32},"end":{"line":134,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/core.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/core.ts","statementMap":{"0":{"start":{"line":3,"column":21},"end":{"line":6,"column":1}},"1":{"start":{"line":8,"column":21},"end":{"line":12,"column":1}},"2":{"start":{"line":14,"column":21},"end":{"line":27,"column":1}},"3":{"start":{"line":29,"column":21},"end":{"line":39,"column":1}},"4":{"start":{"line":41,"column":27},"end":{"line":44,"column":1}},"5":{"start":{"line":46,"column":25},"end":{"line":52,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/dark.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/dark.ts","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":56,"column":1}},"1":{"start":{"line":58,"column":23},"end":{"line":65,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/light.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/tokens/light.ts","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":56,"column":1}},"1":{"start":{"line":58,"column":23},"end":{"line":65,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/AsyncMessages.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"052cff7fbc9226e362f10b4e3fc0484437475623"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Auth.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Auth.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ChangelogItem.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ChangelogItem.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/CompositionTokenProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/CompositionTokenProperty.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/DeepTokensMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/DeepTokensMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ExportTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ExportTokenSet.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/FigmaStyleMaps.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/FigmaStyleMaps.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/MapValuesToTokensResult.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/MapValuesToTokensResult.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Modifier.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/Modifier.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeInfo.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/NodeTokenRefValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/OptionalPartial.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/OptionalPartial.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullStylesOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullStylesOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/PullVariablesOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RawVariableReferenceMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RawVariableReferenceMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RemoteResponseData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RemoteResponseData.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RootModel.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/RootModel.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SecondScreen.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SecondScreen.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionGroup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionGroup.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/SelectionValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ShowFormOptions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ShowFormOptions.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StitchesCSS.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StitchesCSS.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StorageType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StorageType.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StoryblokStory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StoryblokStory.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StyleIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/StyleIdMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObjectsList.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/ThemeObjectsList.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/TokenMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/TokenMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateNodesSettings.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateNodesSettings.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateRemoteFunction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UpdateRemoteFunction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UsedTokenSetsMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/UsedTokenSetsMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableReferenceMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/VariableReferenceMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/messages.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/messages.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e192597f1ccf92df3f051992f0eca8271809355b"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/userData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/userData.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/valueTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/valueTypes.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenGroupPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenGroupPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DeleteTokenPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenGroupPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenGroupPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/DuplicateTokenPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokenGroupPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokenGroupPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokensAcrossSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/RenameTokensAcrossSets.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokenDataPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokenDataPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromStylesPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromStylesPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromVariablesPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/SetTokensFromVariablesPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/ToggleManyTokenSetsPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/ToggleManyTokenSetsPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateDocumentPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateDocumentPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenPayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenPayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenVariablePayload.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/UpdateTokenVariablePayload.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/payloads/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/PropertyObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/PropertyObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/properties/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/ActionMeta.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/ActionMeta.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyInspectStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyInspectStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnySettingsStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnySettingsStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyTokenStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyTokenStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyUiStateAction.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/AnyUiStateAction.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/redux/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenList.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenList.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/AnyTokenSet.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/DeepKeyTokenMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/DeepKeyTokenMap.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/EditTokenObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/EditTokenObject.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/ImportToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/ImportToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleAssetToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleAssetToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBooleanToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBooleanToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderRadiusToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderRadiusToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderWidthToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBorderWidthToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBoxShadowToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleBoxShadowToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleColorToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleColorToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleCompositionToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleCompositionToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleDimensionToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleDimensionToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontFamiliesToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontFamiliesToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontSizesToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontSizesToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontWeightsToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleFontWeightsToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleGenericToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleGenericToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLetterSpacingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLetterSpacingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLineHeightsToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleLineHeightsToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleNumberToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleNumberToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOpacityToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOpacityToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOtherToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleOtherToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleParagraphSpacingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleParagraphSpacingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSizingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSizingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSpacingToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleSpacingToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextCaseToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextCaseToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextDecorationToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextDecorationToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTextToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTypographyToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/SingleTypographyToken.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenToRename.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenToRename.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenTypeSchema.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenTypeSchema.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenValues.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokenValues.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStore.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStore.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStoreValuesSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/TokensStoreValuesSet.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/tokens/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBorderValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBorderValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBoxShadowValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenBoxShadowValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextCaseValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextCaseValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextDecorationValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTextDecorationValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTypographyValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/TokenTypographyValue.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/types/values/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/TokenResolver.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/TokenResolver.ts","statementMap":{"0":{"start":{"line":21,"column":4},"end":{"line":21,"column":25}},"1":{"start":{"line":22,"column":4},"end":{"line":22,"column":30}},"2":{"start":{"line":23,"column":4},"end":{"line":23,"column":26}},"3":{"start":{"line":25,"column":4},"end":{"line":25,"column":28}},"4":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"5":{"start":{"line":31,"column":6},"end":{"line":31,"column":43}},"6":{"start":{"line":37,"column":4},"end":{"line":37,"column":25}},"7":{"start":{"line":38,"column":4},"end":{"line":38,"column":30}},"8":{"start":{"line":39,"column":4},"end":{"line":39,"column":26}},"9":{"start":{"line":40,"column":4},"end":{"line":40,"column":28}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":37}},"11":{"start":{"line":47,"column":55},"end":{"line":47,"column":57}},"12":{"start":{"line":49,"column":4},"end":{"line":58,"column":5}},"13":{"start":{"line":50,"column":28},"end":{"line":50,"column":57}},"14":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"15":{"start":{"line":52,"column":8},"end":{"line":52,"column":45}},"16":{"start":{"line":54,"column":6},"end":{"line":57,"column":37}},"17":{"start":{"line":60,"column":4},"end":{"line":60,"column":26}},"18":{"start":{"line":64,"column":18},"end":{"line":64,"column":51}},"19":{"start":{"line":65,"column":25},"end":{"line":65,"column":43}},"20":{"start":{"line":68,"column":26},"end":{"line":68,"column":33}},"21":{"start":{"line":69,"column":30},"end":{"line":69,"column":44}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":116}},"23":{"start":{"line":77,"column":4},"end":{"line":106,"column":5}},"24":{"start":{"line":78,"column":33},"end":{"line":78,"column":122}},"25":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"26":{"start":{"line":82,"column":8},"end":{"line":82,"column":58}},"27":{"start":{"line":86,"column":23},"end":{"line":86,"column":55}},"28":{"start":{"line":89,"column":6},"end":{"line":103,"column":7}},"29":{"start":{"line":90,"column":8},"end":{"line":97,"column":9}},"30":{"start":{"line":92,"column":10},"end":{"line":96,"column":13}},"31":{"start":{"line":99,"column":8},"end":{"line":102,"column":11}},"32":{"start":{"line":105,"column":6},"end":{"line":105,"column":22}},"33":{"start":{"line":109,"column":4},"end":{"line":109,"column":23}},"34":{"start":{"line":114,"column":20},"end":{"line":114,"column":43}},"35":{"start":{"line":117,"column":4},"end":{"line":122,"column":5}},"36":{"start":{"line":118,"column":26},"end":{"line":118,"column":48}},"37":{"start":{"line":119,"column":6},"end":{"line":121,"column":7}},"38":{"start":{"line":120,"column":8},"end":{"line":120,"column":27}},"39":{"start":{"line":127,"column":4},"end":{"line":259,"column":5}},"40":{"start":{"line":128,"column":25},"end":{"line":128,"column":71}},"41":{"start":{"line":130,"column":45},"end":{"line":130,"column":56}},"42":{"start":{"line":134,"column":6},"end":{"line":225,"column":7}},"43":{"start":{"line":135,"column":21},"end":{"line":135,"column":43}},"44":{"start":{"line":138,"column":8},"end":{"line":144,"column":9}},"45":{"start":{"line":139,"column":10},"end":{"line":143,"column":40}},"46":{"start":{"line":147,"column":27},"end":{"line":147,"column":31}},"47":{"start":{"line":148,"column":31},"end":{"line":148,"column":35}},"48":{"start":{"line":151,"column":8},"end":{"line":168,"column":9}},"49":{"start":{"line":152,"column":24},"end":{"line":152,"column":54}},"50":{"start":{"line":153,"column":10},"end":{"line":153,"column":43}},"51":{"start":{"line":154,"column":10},"end":{"line":154,"column":36}},"52":{"start":{"line":154,"column":30},"end":{"line":154,"column":36}},"53":{"start":{"line":156,"column":34},"end":{"line":156,"column":55}},"54":{"start":{"line":157,"column":30},"end":{"line":157,"column":64}},"55":{"start":{"line":159,"column":10},"end":{"line":167,"column":11}},"56":{"start":{"line":160,"column":40},"end":{"line":160,"column":149}},"57":{"start":{"line":162,"column":12},"end":{"line":164,"column":13}},"58":{"start":{"line":163,"column":14},"end":{"line":163,"column":87}},"59":{"start":{"line":166,"column":12},"end":{"line":166,"column":18}},"60":{"start":{"line":174,"column":29},"end":{"line":174,"column":52}},"61":{"start":{"line":175,"column":29},"end":{"line":175,"column":57}},"62":{"start":{"line":176,"column":41},"end":{"line":176,"column":63}},"63":{"start":{"line":177,"column":8},"end":{"line":177,"column":53}},"64":{"start":{"line":179,"column":8},"end":{"line":224,"column":9}},"65":{"start":{"line":181,"column":10},"end":{"line":183,"column":11}},"66":{"start":{"line":182,"column":12},"end":{"line":182,"column":59}},"67":{"start":{"line":185,"column":40},"end":{"line":185,"column":67}},"68":{"start":{"line":186,"column":10},"end":{"line":186,"column":50}},"69":{"start":{"line":188,"column":37},"end":{"line":188,"column":136}},"70":{"start":{"line":189,"column":10},"end":{"line":191,"column":11}},"71":{"start":{"line":190,"column":12},"end":{"line":190,"column":89}},"72":{"start":{"line":194,"column":10},"end":{"line":198,"column":11}},"73":{"start":{"line":195,"column":12},"end":{"line":197,"column":42}},"74":{"start":{"line":201,"column":10},"end":{"line":205,"column":11}},"75":{"start":{"line":202,"column":12},"end":{"line":202,"column":81}},"76":{"start":{"line":203,"column":17},"end":{"line":205,"column":11}},"77":{"start":{"line":204,"column":12},"end":{"line":204,"column":50}},"78":{"start":{"line":208,"column":44},"end":{"line":208,"column":94}},"79":{"start":{"line":209,"column":10},"end":{"line":223,"column":11}},"80":{"start":{"line":210,"column":39},"end":{"line":210,"column":107}},"81":{"start":{"line":211,"column":32},"end":{"line":211,"column":122}},"82":{"start":{"line":213,"column":12},"end":{"line":217,"column":13}},"83":{"start":{"line":214,"column":14},"end":{"line":214,"column":39}},"84":{"start":{"line":216,"column":14},"end":{"line":216,"column":191}},"85":{"start":{"line":220,"column":12},"end":{"line":222,"column":42}},"86":{"start":{"line":229,"column":6},"end":{"line":250,"column":7}},"87":{"start":{"line":232,"column":27},"end":{"line":232,"column":119}},"88":{"start":{"line":233,"column":8},"end":{"line":237,"column":9}},"89":{"start":{"line":234,"column":10},"end":{"line":234,"column":32}},"90":{"start":{"line":236,"column":10},"end":{"line":236,"column":86}},"91":{"start":{"line":240,"column":27},"end":{"line":240,"column":43}},"92":{"start":{"line":242,"column":37},"end":{"line":242,"column":64}},"93":{"start":{"line":247,"column":8},"end":{"line":249,"column":38}},"94":{"start":{"line":253,"column":6},"end":{"line":255,"column":7}},"95":{"start":{"line":254,"column":8},"end":{"line":254,"column":46}},"96":{"start":{"line":258,"column":6},"end":{"line":258,"column":55}},"97":{"start":{"line":262,"column":4},"end":{"line":288,"column":5}},"98":{"start":{"line":263,"column":35},"end":{"line":263,"column":37}},"99":{"start":{"line":265,"column":28},"end":{"line":265,"column":33}},"100":{"start":{"line":266,"column":6},"end":{"line":274,"column":7}},"101":{"start":{"line":268,"column":29},"end":{"line":268,"column":103}},"102":{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},"103":{"start":{"line":270,"column":10},"end":{"line":270,"column":33}},"104":{"start":{"line":273,"column":8},"end":{"line":273,"column":47}},"105":{"start":{"line":277,"column":28},"end":{"line":279,"column":35}},"106":{"start":{"line":281,"column":6},"end":{"line":283,"column":7}},"107":{"start":{"line":282,"column":8},"end":{"line":282,"column":46}},"108":{"start":{"line":285,"column":6},"end":{"line":285,"column":62}},"109":{"start":{"line":287,"column":6},"end":{"line":287,"column":27}},"110":{"start":{"line":291,"column":4},"end":{"line":322,"column":5}},"111":{"start":{"line":292,"column":53},"end":{"line":292,"column":55}},"112":{"start":{"line":294,"column":28},"end":{"line":294,"column":33}},"113":{"start":{"line":295,"column":6},"end":{"line":309,"column":7}},"114":{"start":{"line":296,"column":8},"end":{"line":308,"column":9}},"115":{"start":{"line":297,"column":37},"end":{"line":297,"column":82}},"116":{"start":{"line":298,"column":32},"end":{"line":298,"column":120}},"117":{"start":{"line":300,"column":10},"end":{"line":302,"column":11}},"118":{"start":{"line":301,"column":12},"end":{"line":301,"column":35}},"119":{"start":{"line":304,"column":10},"end":{"line":306,"column":11}},"120":{"start":{"line":305,"column":12},"end":{"line":305,"column":35}},"121":{"start":{"line":307,"column":10},"end":{"line":307,"column":52}},"122":{"start":{"line":311,"column":28},"end":{"line":311,"column":140}},"123":{"start":{"line":313,"column":6},"end":{"line":315,"column":7}},"124":{"start":{"line":314,"column":8},"end":{"line":314,"column":46}},"125":{"start":{"line":319,"column":6},"end":{"line":319,"column":62}},"126":{"start":{"line":321,"column":6},"end":{"line":321,"column":27}},"127":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"128":{"start":{"line":328,"column":4},"end":{"line":328,"column":40}},"129":{"start":{"line":332,"column":29},"end":{"line":332,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":20,"column":37},"end":{"line":26,"column":3}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":29,"column":35},"end":{"line":33,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":36,"column":70},"end":{"line":43,"column":3}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":46,"column":58},"end":{"line":61,"column":3}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":63,"column":53},"end":{"line":72,"column":3}},"line":63},"5":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":75,"column":129},"end":{"line":110,"column":3}},"line":75},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":3}},"loc":{"start":{"line":112,"column":118},"end":{"line":325,"column":3}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":327,"column":2},"end":{"line":327,"column":3}},"loc":{"start":{"line":327,"column":57},"end":{"line":329,"column":3}},"line":327}},"branchMap":{"0":{"loc":{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":53,"column":7}},{"start":{},"end":{}}],"line":51},"1":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":89}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":49}},{"start":{"line":51,"column":53},"end":{"line":51,"column":89}}],"line":51},"2":{"loc":{"start":{"line":71,"column":11},"end":{"line":71,"column":115}},"type":"binary-expr","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":27}},{"start":{"line":71,"column":31},"end":{"line":71,"column":54}},{"start":{"line":71,"column":60},"end":{"line":71,"column":83}},{"start":{"line":71,"column":87},"end":{"line":71,"column":114}}],"line":71},"3":{"loc":{"start":{"line":75,"column":50},"end":{"line":75,"column":93}},"type":"default-arg","locations":[{"start":{"line":75,"column":84},"end":{"line":75,"column":93}}],"line":75},"4":{"loc":{"start":{"line":77,"column":4},"end":{"line":106,"column":5}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":106,"column":5}},{"start":{},"end":{}}],"line":77},"5":{"loc":{"start":{"line":78,"column":33},"end":{"line":78,"column":122}},"type":"cond-expr","locations":[{"start":{"line":78,"column":75},"end":{"line":78,"column":108}},{"start":{"line":78,"column":111},"end":{"line":78,"column":122}}],"line":78},"6":{"loc":{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},"type":"if","locations":[{"start":{"line":81,"column":6},"end":{"line":83,"column":7}},{"start":{},"end":{}}],"line":81},"7":{"loc":{"start":{"line":89,"column":6},"end":{"line":103,"column":7}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":103,"column":7}},{"start":{},"end":{}}],"line":89},"8":{"loc":{"start":{"line":89,"column":10},"end":{"line":89,"column":96}},"type":"binary-expr","locations":[{"start":{"line":89,"column":10},"end":{"line":89,"column":35}},{"start":{"line":89,"column":39},"end":{"line":89,"column":84}},{"start":{"line":89,"column":88},"end":{"line":89,"column":96}}],"line":89},"9":{"loc":{"start":{"line":90,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":97,"column":9}},{"start":{},"end":{}}],"line":90},"10":{"loc":{"start":{"line":95,"column":19},"end":{"line":95,"column":169}},"type":"binary-expr","locations":[{"start":{"line":95,"column":19},"end":{"line":95,"column":156}},{"start":{"line":95,"column":160},"end":{"line":95,"column":169}}],"line":95},"11":{"loc":{"start":{"line":112,"column":47},"end":{"line":112,"column":90}},"type":"default-arg","locations":[{"start":{"line":112,"column":81},"end":{"line":112,"column":90}}],"line":112},"12":{"loc":{"start":{"line":114,"column":20},"end":{"line":114,"column":43}},"type":"binary-expr","locations":[{"start":{"line":114,"column":20},"end":{"line":114,"column":30}},{"start":{"line":114,"column":34},"end":{"line":114,"column":43}}],"line":114},"13":{"loc":{"start":{"line":117,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":122,"column":5}},{"start":{},"end":{}}],"line":117},"14":{"loc":{"start":{"line":117,"column":8},"end":{"line":117,"column":41}},"type":"binary-expr","locations":[{"start":{"line":117,"column":8},"end":{"line":117,"column":15}},{"start":{"line":117,"column":19},"end":{"line":117,"column":41}}],"line":117},"15":{"loc":{"start":{"line":119,"column":6},"end":{"line":121,"column":7}},"type":"if","locations":[{"start":{"line":119,"column":6},"end":{"line":121,"column":7}},{"start":{},"end":{}}],"line":119},"16":{"loc":{"start":{"line":127,"column":4},"end":{"line":259,"column":5}},"type":"if","locations":[{"start":{"line":127,"column":4},"end":{"line":259,"column":5}},{"start":{},"end":{}}],"line":127},"17":{"loc":{"start":{"line":128,"column":25},"end":{"line":128,"column":71}},"type":"binary-expr","locations":[{"start":{"line":128,"column":25},"end":{"line":128,"column":65}},{"start":{"line":128,"column":69},"end":{"line":128,"column":71}}],"line":128},"18":{"loc":{"start":{"line":138,"column":8},"end":{"line":144,"column":9}},"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":144,"column":9}},{"start":{},"end":{}}],"line":138},"19":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":36}},"type":"if","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":36}},{"start":{},"end":{}}],"line":154},"20":{"loc":{"start":{"line":159,"column":10},"end":{"line":167,"column":11}},"type":"if","locations":[{"start":{"line":159,"column":10},"end":{"line":167,"column":11}},{"start":{"line":165,"column":17},"end":{"line":167,"column":11}}],"line":159},"21":{"loc":{"start":{"line":159,"column":14},"end":{"line":159,"column":46}},"type":"binary-expr","locations":[{"start":{"line":159,"column":14},"end":{"line":159,"column":25}},{"start":{"line":159,"column":29},"end":{"line":159,"column":46}}],"line":159},"22":{"loc":{"start":{"line":162,"column":12},"end":{"line":164,"column":13}},"type":"if","locations":[{"start":{"line":162,"column":12},"end":{"line":164,"column":13}},{"start":{},"end":{}}],"line":162},"23":{"loc":{"start":{"line":162,"column":16},"end":{"line":162,"column":110}},"type":"binary-expr","locations":[{"start":{"line":162,"column":16},"end":{"line":162,"column":61}},{"start":{"line":162,"column":65},"end":{"line":162,"column":110}}],"line":162},"24":{"loc":{"start":{"line":179,"column":8},"end":{"line":224,"column":9}},"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":224,"column":9}},{"start":{"line":206,"column":15},"end":{"line":224,"column":9}}],"line":179},"25":{"loc":{"start":{"line":181,"column":10},"end":{"line":183,"column":11}},"type":"if","locations":[{"start":{"line":181,"column":10},"end":{"line":183,"column":11}},{"start":{},"end":{}}],"line":181},"26":{"loc":{"start":{"line":181,"column":14},"end":{"line":181,"column":122}},"type":"binary-expr","locations":[{"start":{"line":181,"column":14},"end":{"line":181,"column":45}},{"start":{"line":181,"column":50},"end":{"line":181,"column":86}},{"start":{"line":181,"column":90},"end":{"line":181,"column":121}}],"line":181},"27":{"loc":{"start":{"line":189,"column":10},"end":{"line":191,"column":11}},"type":"if","locations":[{"start":{"line":189,"column":10},"end":{"line":191,"column":11}},{"start":{},"end":{}}],"line":189},"28":{"loc":{"start":{"line":194,"column":10},"end":{"line":198,"column":11}},"type":"if","locations":[{"start":{"line":194,"column":10},"end":{"line":198,"column":11}},{"start":{},"end":{}}],"line":194},"29":{"loc":{"start":{"line":201,"column":10},"end":{"line":205,"column":11}},"type":"if","locations":[{"start":{"line":201,"column":10},"end":{"line":205,"column":11}},{"start":{"line":203,"column":17},"end":{"line":205,"column":11}}],"line":201},"30":{"loc":{"start":{"line":201,"column":14},"end":{"line":201,"column":142}},"type":"binary-expr","locations":[{"start":{"line":201,"column":14},"end":{"line":201,"column":44}},{"start":{"line":201,"column":49},"end":{"line":201,"column":93}},{"start":{"line":201,"column":97},"end":{"line":201,"column":141}}],"line":201},"31":{"loc":{"start":{"line":203,"column":17},"end":{"line":205,"column":11}},"type":"if","locations":[{"start":{"line":203,"column":17},"end":{"line":205,"column":11}},{"start":{},"end":{}}],"line":203},"32":{"loc":{"start":{"line":209,"column":10},"end":{"line":223,"column":11}},"type":"if","locations":[{"start":{"line":209,"column":10},"end":{"line":223,"column":11}},{"start":{"line":218,"column":17},"end":{"line":223,"column":11}}],"line":209},"33":{"loc":{"start":{"line":209,"column":14},"end":{"line":209,"column":97}},"type":"binary-expr","locations":[{"start":{"line":209,"column":14},"end":{"line":209,"column":39}},{"start":{"line":209,"column":43},"end":{"line":209,"column":97}}],"line":209},"34":{"loc":{"start":{"line":213,"column":12},"end":{"line":217,"column":13}},"type":"if","locations":[{"start":{"line":213,"column":12},"end":{"line":217,"column":13}},{"start":{"line":215,"column":19},"end":{"line":217,"column":13}}],"line":213},"35":{"loc":{"start":{"line":216,"column":27},"end":{"line":216,"column":190}},"type":"cond-expr","locations":[{"start":{"line":216,"column":134},"end":{"line":216,"column":176}},{"start":{"line":216,"column":179},"end":{"line":216,"column":190}}],"line":216},"36":{"loc":{"start":{"line":216,"column":28},"end":{"line":216,"column":130}},"type":"binary-expr","locations":[{"start":{"line":216,"column":28},"end":{"line":216,"column":58}},{"start":{"line":216,"column":63},"end":{"line":216,"column":94}},{"start":{"line":216,"column":98},"end":{"line":216,"column":129}}],"line":216},"37":{"loc":{"start":{"line":229,"column":6},"end":{"line":250,"column":7}},"type":"if","locations":[{"start":{"line":229,"column":6},"end":{"line":250,"column":7}},{"start":{"line":238,"column":13},"end":{"line":250,"column":7}}],"line":229},"38":{"loc":{"start":{"line":229,"column":10},"end":{"line":229,"column":108}},"type":"binary-expr","locations":[{"start":{"line":229,"column":11},"end":{"line":229,"column":41}},{"start":{"line":229,"column":45},"end":{"line":229,"column":75}},{"start":{"line":229,"column":80},"end":{"line":229,"column":108}}],"line":229},"39":{"loc":{"start":{"line":233,"column":8},"end":{"line":237,"column":9}},"type":"if","locations":[{"start":{"line":233,"column":8},"end":{"line":237,"column":9}},{"start":{"line":235,"column":15},"end":{"line":237,"column":9}}],"line":233},"40":{"loc":{"start":{"line":248,"column":66},"end":{"line":248,"column":119}},"type":"cond-expr","locations":[{"start":{"line":248,"column":89},"end":{"line":248,"column":114}},{"start":{"line":248,"column":117},"end":{"line":248,"column":119}}],"line":248},"41":{"loc":{"start":{"line":248,"column":126},"end":{"line":248,"column":215}},"type":"cond-expr","locations":[{"start":{"line":248,"column":179},"end":{"line":248,"column":210}},{"start":{"line":248,"column":213},"end":{"line":248,"column":215}}],"line":248},"42":{"loc":{"start":{"line":253,"column":6},"end":{"line":255,"column":7}},"type":"if","locations":[{"start":{"line":253,"column":6},"end":{"line":255,"column":7}},{"start":{},"end":{}}],"line":253},"43":{"loc":{"start":{"line":262,"column":4},"end":{"line":288,"column":5}},"type":"if","locations":[{"start":{"line":262,"column":4},"end":{"line":288,"column":5}},{"start":{},"end":{}}],"line":262},"44":{"loc":{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},"type":"if","locations":[{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},{"start":{},"end":{}}],"line":269},"45":{"loc":{"start":{"line":278,"column":67},"end":{"line":278,"column":109}},"type":"cond-expr","locations":[{"start":{"line":278,"column":85},"end":{"line":278,"column":104}},{"start":{"line":278,"column":107},"end":{"line":278,"column":109}}],"line":278},"46":{"loc":{"start":{"line":281,"column":6},"end":{"line":283,"column":7}},"type":"if","locations":[{"start":{"line":281,"column":6},"end":{"line":283,"column":7}},{"start":{},"end":{}}],"line":281},"47":{"loc":{"start":{"line":291,"column":4},"end":{"line":322,"column":5}},"type":"if","locations":[{"start":{"line":291,"column":4},"end":{"line":322,"column":5}},{"start":{},"end":{}}],"line":291},"48":{"loc":{"start":{"line":291,"column":8},"end":{"line":291,"column":63}},"type":"binary-expr","locations":[{"start":{"line":291,"column":8},"end":{"line":291,"column":39}},{"start":{"line":291,"column":43},"end":{"line":291,"column":63}}],"line":291},"49":{"loc":{"start":{"line":296,"column":8},"end":{"line":308,"column":9}},"type":"if","locations":[{"start":{"line":296,"column":8},"end":{"line":308,"column":9}},{"start":{},"end":{}}],"line":296},"50":{"loc":{"start":{"line":300,"column":10},"end":{"line":302,"column":11}},"type":"if","locations":[{"start":{"line":300,"column":10},"end":{"line":302,"column":11}},{"start":{},"end":{}}],"line":300},"51":{"loc":{"start":{"line":304,"column":10},"end":{"line":306,"column":11}},"type":"if","locations":[{"start":{"line":304,"column":10},"end":{"line":306,"column":11}},{"start":{},"end":{}}],"line":304},"52":{"loc":{"start":{"line":304,"column":14},"end":{"line":304,"column":83}},"type":"binary-expr","locations":[{"start":{"line":304,"column":14},"end":{"line":304,"column":53}},{"start":{"line":304,"column":57},"end":{"line":304,"column":83}}],"line":304},"53":{"loc":{"start":{"line":311,"column":67},"end":{"line":311,"column":109}},"type":"cond-expr","locations":[{"start":{"line":311,"column":85},"end":{"line":311,"column":104}},{"start":{"line":311,"column":107},"end":{"line":311,"column":109}}],"line":311},"54":{"loc":{"start":{"line":313,"column":6},"end":{"line":315,"column":7}},"type":"if","locations":[{"start":{"line":313,"column":6},"end":{"line":315,"column":7}},{"start":{},"end":{}}],"line":313}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0],"37":[0,0],"38":[0,0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addIdPropertyToTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addIdPropertyToTokens.ts","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":35,"column":8}},"1":{"start":{"line":7,"column":25},"end":{"line":32,"column":6}},"2":{"start":{"line":8,"column":6},"end":{"line":30,"column":7}},"3":{"start":{"line":9,"column":38},"end":{"line":9,"column":75}},"4":{"start":{"line":10,"column":30},"end":{"line":16,"column":9}},"5":{"start":{"line":17,"column":8},"end":{"line":29,"column":10}},"6":{"start":{"line":31,"column":6},"end":{"line":31,"column":19}},"7":{"start":{"line":33,"column":4},"end":{"line":33,"column":28}},"8":{"start":{"line":34,"column":4},"end":{"line":34,"column":15}},"9":{"start":{"line":37,"column":2},"end":{"line":37,"column":18}}},"fnMap":{"0":{"name":"addIdPropertyToTokens","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":45}},"loc":{"start":{"line":5,"column":84},"end":{"line":38,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":79},"end":{"line":6,"column":80}},"loc":{"start":{"line":6,"column":100},"end":{"line":35,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":33},"end":{"line":7,"column":34}},"loc":{"start":{"line":7,"column":44},"end":{"line":32,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":8,"column":6},"end":{"line":30,"column":7}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":20,"column":14},"end":{"line":28,"column":16}},"type":"cond-expr","locations":[{"start":{"line":20,"column":57},"end":{"line":28,"column":11}},{"start":{"line":28,"column":14},"end":{"line":28,"column":16}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addLicenseKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/addLicenseKey.ts","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":13,"column":63}},"1":{"start":{"line":15,"column":31},"end":{"line":15,"column":35}},"2":{"start":{"line":16,"column":26},"end":{"line":16,"column":33}},"3":{"start":{"line":20,"column":6},"end":{"line":20,"column":50}},"4":{"start":{"line":22,"column":2},"end":{"line":47,"column":3}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":61}},"6":{"start":{"line":24,"column":4},"end":{"line":24,"column":46}},"7":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"8":{"start":{"line":26,"column":6},"end":{"line":26,"column":85}},"9":{"start":{"line":30,"column":4},"end":{"line":30,"column":50}},"10":{"start":{"line":31,"column":4},"end":{"line":35,"column":7}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":64}},"12":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":47}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":44}},"15":{"start":{"line":43,"column":4},"end":{"line":46,"column":7}},"16":{"start":{"line":48,"column":2},"end":{"line":48,"column":40}}},"fnMap":{"0":{"name":"addLicenseKey","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":35}},"loc":{"start":{"line":12,"column":3},"end":{"line":49,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":47,"column":3}},{"start":{"line":28,"column":9},"end":{"line":47,"column":3}}],"line":22},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{},"end":{}}],"line":25},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/analytics.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/analytics.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":31}},"2":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":12,"column":4},"end":{"line":12,"column":31}},"4":{"start":{"line":14,"column":4},"end":{"line":19,"column":7}},"5":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":30}},"7":{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},"8":{"start":{"line":31,"column":4},"end":{"line":35,"column":7}}},"fnMap":{"0":{"name":"track","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":21}},"loc":{"start":{"line":4,"column":47},"end":{"line":8,"column":1}},"line":4},"1":{"name":"identify","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":112},"end":{"line":21,"column":1}},"line":10},"2":{"name":"setUserData","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":27}},"loc":{"start":{"line":23,"column":61},"end":{"line":27,"column":1}},"line":23},"3":{"name":"initializeAnalytics","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":35}},"loc":{"start":{"line":29,"column":38},"end":{"line":37,"column":1}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":36},"end":{"line":4,"column":45}},"type":"default-arg","locations":[{"start":{"line":4,"column":43},"end":{"line":4,"column":45}}],"line":4},"1":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5},"2":{"loc":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},{"start":{},"end":{}}],"line":11},"3":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":50}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":39}},{"start":{"line":11,"column":43},"end":{"line":11,"column":50}}],"line":11},"4":{"loc":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":24,"column":6},"end":{"line":24,"column":63}},"type":"binary-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":39}},{"start":{"line":24,"column":43},"end":{"line":24,"column":63}}],"line":24},"6":{"loc":{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},{"start":{},"end":{}}],"line":30}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/annotations.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/annotations.tsx","statementMap":{"0":{"start":{"line":7,"column":13},"end":{"line":7,"column":15}},"1":{"start":{"line":8,"column":18},"end":{"line":8,"column":20}},"2":{"start":{"line":9,"column":18},"end":{"line":9,"column":61}},"3":{"start":{"line":10,"column":19},"end":{"line":10,"column":59}},"4":{"start":{"line":11,"column":17},"end":{"line":11,"column":43}},"5":{"start":{"line":12,"column":21},"end":{"line":12,"column":48}},"6":{"start":{"line":13,"column":20},"end":{"line":13,"column":40}},"7":{"start":{"line":14,"column":19},"end":{"line":14,"column":45}},"8":{"start":{"line":15,"column":20},"end":{"line":15,"column":48}},"9":{"start":{"line":21,"column":2},"end":{"line":21,"column":62}},"10":{"start":{"line":21,"column":28},"end":{"line":21,"column":62}},"11":{"start":{"line":23,"column":2},"end":{"line":45,"column":3}},"12":{"start":{"line":24,"column":4},"end":{"line":44,"column":5}},"13":{"start":{"line":25,"column":6},"end":{"line":38,"column":7}},"14":{"start":{"line":26,"column":8},"end":{"line":37,"column":9}},"15":{"start":{"line":29,"column":12},"end":{"line":29,"column":30}},"16":{"start":{"line":30,"column":12},"end":{"line":30,"column":18}},"17":{"start":{"line":32,"column":12},"end":{"line":32,"column":78}},"18":{"start":{"line":33,"column":12},"end":{"line":33,"column":18}},"19":{"start":{"line":35,"column":12},"end":{"line":35,"column":30}},"20":{"start":{"line":36,"column":12},"end":{"line":36,"column":18}},"21":{"start":{"line":39,"column":6},"end":{"line":39,"column":26}},"22":{"start":{"line":40,"column":6},"end":{"line":40,"column":26}},"23":{"start":{"line":41,"column":6},"end":{"line":43,"column":33}},"24":{"start":{"line":47,"column":2},"end":{"line":50,"column":4}},"25":{"start":{"line":54,"column":10},"end":{"line":54,"column":11}},"26":{"start":{"line":55,"column":10},"end":{"line":55,"column":11}},"27":{"start":{"line":58,"column":33},"end":{"line":58,"column":79}},"28":{"start":{"line":60,"column":2},"end":{"line":78,"column":3}},"29":{"start":{"line":62,"column":6},"end":{"line":62,"column":60}},"30":{"start":{"line":63,"column":6},"end":{"line":63,"column":56}},"31":{"start":{"line":64,"column":6},"end":{"line":64,"column":12}},"32":{"start":{"line":66,"column":6},"end":{"line":66,"column":60}},"33":{"start":{"line":67,"column":6},"end":{"line":67,"column":62}},"34":{"start":{"line":68,"column":6},"end":{"line":68,"column":12}},"35":{"start":{"line":70,"column":6},"end":{"line":70,"column":60}},"36":{"start":{"line":71,"column":6},"end":{"line":71,"column":61}},"37":{"start":{"line":72,"column":6},"end":{"line":72,"column":12}},"38":{"start":{"line":75,"column":6},"end":{"line":75,"column":55}},"39":{"start":{"line":76,"column":6},"end":{"line":76,"column":62}},"40":{"start":{"line":77,"column":6},"end":{"line":77,"column":12}},"41":{"start":{"line":80,"column":2},"end":{"line":80,"column":28}},"42":{"start":{"line":87,"column":2},"end":{"line":120,"column":7}},"43":{"start":{"line":88,"column":23},"end":{"line":88,"column":55}},"44":{"start":{"line":90,"column":19},"end":{"line":90,"column":38}},"45":{"start":{"line":91,"column":6},"end":{"line":91,"column":37}},"46":{"start":{"line":92,"column":6},"end":{"line":92,"column":44}},"47":{"start":{"line":93,"column":6},"end":{"line":93,"column":39}},"48":{"start":{"line":94,"column":6},"end":{"line":94,"column":72}},"49":{"start":{"line":95,"column":6},"end":{"line":95,"column":42}},"50":{"start":{"line":96,"column":6},"end":{"line":96,"column":42}},"51":{"start":{"line":98,"column":23},"end":{"line":98,"column":41}},"52":{"start":{"line":99,"column":24},"end":{"line":99,"column":42}},"53":{"start":{"line":100,"column":6},"end":{"line":100,"column":57}},"54":{"start":{"line":101,"column":6},"end":{"line":101,"column":57}},"55":{"start":{"line":102,"column":6},"end":{"line":102,"column":64}},"56":{"start":{"line":104,"column":6},"end":{"line":117,"column":7}},"57":{"start":{"line":105,"column":8},"end":{"line":105,"column":39}},"58":{"start":{"line":106,"column":8},"end":{"line":106,"column":39}},"59":{"start":{"line":107,"column":8},"end":{"line":107,"column":46}},"60":{"start":{"line":108,"column":8},"end":{"line":108,"column":65}},"61":{"start":{"line":109,"column":8},"end":{"line":109,"column":35}},"62":{"start":{"line":111,"column":8},"end":{"line":111,"column":38}},"63":{"start":{"line":112,"column":8},"end":{"line":112,"column":40}},"64":{"start":{"line":113,"column":8},"end":{"line":113,"column":64}},"65":{"start":{"line":114,"column":8},"end":{"line":114,"column":47}},"66":{"start":{"line":115,"column":8},"end":{"line":115,"column":35}},"67":{"start":{"line":116,"column":8},"end":{"line":116,"column":36}},"68":{"start":{"line":119,"column":6},"end":{"line":119,"column":29}},"69":{"start":{"line":124,"column":20},"end":{"line":124,"column":50}},"70":{"start":{"line":127,"column":15},"end":{"line":127,"column":34}},"71":{"start":{"line":128,"column":2},"end":{"line":128,"column":86}},"72":{"start":{"line":129,"column":2},"end":{"line":129,"column":18}},"73":{"start":{"line":130,"column":2},"end":{"line":130,"column":28}},"74":{"start":{"line":131,"column":2},"end":{"line":131,"column":67}},"75":{"start":{"line":132,"column":2},"end":{"line":132,"column":69}},"76":{"start":{"line":135,"column":15},"end":{"line":135,"column":34}},"77":{"start":{"line":136,"column":2},"end":{"line":136,"column":31}},"78":{"start":{"line":137,"column":2},"end":{"line":137,"column":90}},"79":{"start":{"line":138,"column":2},"end":{"line":138,"column":35}},"80":{"start":{"line":139,"column":2},"end":{"line":139,"column":52}},"81":{"start":{"line":140,"column":2},"end":{"line":140,"column":58}},"82":{"start":{"line":141,"column":2},"end":{"line":141,"column":24}},"83":{"start":{"line":142,"column":2},"end":{"line":142,"column":36}},"84":{"start":{"line":143,"column":2},"end":{"line":143,"column":67}},"85":{"start":{"line":144,"column":2},"end":{"line":144,"column":32}},"86":{"start":{"line":147,"column":2},"end":{"line":147,"column":67}},"87":{"start":{"line":150,"column":19},"end":{"line":150,"column":59}},"88":{"start":{"line":151,"column":2},"end":{"line":151,"column":22}},"89":{"start":{"line":152,"column":2},"end":{"line":152,"column":22}},"90":{"start":{"line":155,"column":2},"end":{"line":155,"column":49}},"91":{"start":{"line":158,"column":22},"end":{"line":158,"column":41}},"92":{"start":{"line":159,"column":2},"end":{"line":159,"column":33}},"93":{"start":{"line":160,"column":2},"end":{"line":160,"column":25}},"94":{"start":{"line":161,"column":2},"end":{"line":161,"column":35}},"95":{"start":{"line":162,"column":2},"end":{"line":162,"column":36}},"96":{"start":{"line":164,"column":16},"end":{"line":164,"column":36}},"97":{"start":{"line":165,"column":2},"end":{"line":170,"column":4}},"98":{"start":{"line":171,"column":2},"end":{"line":171,"column":59}},"99":{"start":{"line":172,"column":2},"end":{"line":172,"column":25}},"100":{"start":{"line":173,"column":2},"end":{"line":173,"column":40}},"101":{"start":{"line":174,"column":2},"end":{"line":186,"column":3}},"102":{"start":{"line":176,"column":6},"end":{"line":176,"column":27}},"103":{"start":{"line":177,"column":6},"end":{"line":177,"column":12}},"104":{"start":{"line":179,"column":6},"end":{"line":179,"column":27}},"105":{"start":{"line":180,"column":6},"end":{"line":180,"column":12}},"106":{"start":{"line":182,"column":6},"end":{"line":182,"column":26}},"107":{"start":{"line":183,"column":6},"end":{"line":183,"column":12}},"108":{"start":{"line":185,"column":6},"end":{"line":185,"column":12}},"109":{"start":{"line":188,"column":20},"end":{"line":188,"column":67}},"110":{"start":{"line":191,"column":2},"end":{"line":194,"column":3}},"111":{"start":{"line":192,"column":4},"end":{"line":192,"column":86}},"112":{"start":{"line":193,"column":4},"end":{"line":193,"column":46}},"113":{"start":{"line":195,"column":2},"end":{"line":195,"column":34}},"114":{"start":{"line":196,"column":2},"end":{"line":196,"column":33}},"115":{"start":{"line":199,"column":2},"end":{"line":205,"column":3}},"116":{"start":{"line":200,"column":4},"end":{"line":200,"column":27}},"117":{"start":{"line":201,"column":4},"end":{"line":201,"column":34}},"118":{"start":{"line":203,"column":4},"end":{"line":203,"column":34}},"119":{"start":{"line":204,"column":4},"end":{"line":204,"column":27}},"120":{"start":{"line":208,"column":2},"end":{"line":208,"column":38}},"121":{"start":{"line":212,"column":20},"end":{"line":215,"column":3}},"122":{"start":{"line":213,"column":4},"end":{"line":213,"column":41}},"123":{"start":{"line":214,"column":4},"end":{"line":214,"column":42}},"124":{"start":{"line":217,"column":2},"end":{"line":222,"column":3}},"125":{"start":{"line":218,"column":4},"end":{"line":218,"column":58}},"126":{"start":{"line":218,"column":27},"end":{"line":218,"column":56}},"127":{"start":{"line":220,"column":4},"end":{"line":220,"column":21}},"128":{"start":{"line":221,"column":4},"end":{"line":221,"column":78}}},"fnMap":{"0":{"name":"getParentSelection","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":27}},"loc":{"start":{"line":20,"column":2},"end":{"line":51,"column":1}},"line":20},"1":{"name":"calcPosition","decl":{"start":{"line":53,"column":9},"end":{"line":53,"column":21}},"loc":{"start":{"line":53,"column":83},"end":{"line":81,"column":1}},"line":53},"2":{"name":"createProperties","decl":{"start":{"line":83,"column":9},"end":{"line":83,"column":25}},"loc":{"start":{"line":86,"column":2},"end":{"line":121,"column":1}},"line":86},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":12},"end":{"line":88,"column":13}},"loc":{"start":{"line":88,"column":23},"end":{"line":88,"column":55}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":13},"end":{"line":89,"column":14}},"loc":{"start":{"line":89,"column":31},"end":{"line":120,"column":5}},"line":89},"5":{"name":"createAnno","decl":{"start":{"line":123,"column":9},"end":{"line":123,"column":19}},"loc":{"start":{"line":123,"column":66},"end":{"line":209,"column":1}},"line":123},"6":{"name":"createAnnotation","decl":{"start":{"line":211,"column":22},"end":{"line":211,"column":38}},"loc":{"start":{"line":211,"column":85},"end":{"line":223,"column":1}},"line":211},"7":{"name":"(anonymous_7)","decl":{"start":{"line":212,"column":20},"end":{"line":212,"column":21}},"loc":{"start":{"line":212,"column":32},"end":{"line":215,"column":3}},"line":212},"8":{"name":"(anonymous_8)","decl":{"start":{"line":218,"column":21},"end":{"line":218,"column":22}},"loc":{"start":{"line":218,"column":27},"end":{"line":218,"column":56}},"line":218}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":84},"end":{"line":17,"column":119}},"type":"default-arg","locations":[{"start":{"line":17,"column":95},"end":{"line":17,"column":119}}],"line":17},"1":{"loc":{"start":{"line":21,"column":2},"end":{"line":21,"column":62}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":21,"column":62}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":23,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":35}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":21}},{"start":{"line":23,"column":25},"end":{"line":23,"column":35}}],"line":23},"4":{"loc":{"start":{"line":24,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":24},"5":{"loc":{"start":{"line":25,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":38,"column":7}},{"start":{},"end":{}}],"line":25},"6":{"loc":{"start":{"line":26,"column":8},"end":{"line":37,"column":9}},"type":"switch","locations":[{"start":{"line":27,"column":10},"end":{"line":27,"column":29}},{"start":{"line":28,"column":10},"end":{"line":30,"column":18}},{"start":{"line":31,"column":10},"end":{"line":33,"column":18}},{"start":{"line":34,"column":10},"end":{"line":36,"column":18}}],"line":26},"7":{"loc":{"start":{"line":41,"column":13},"end":{"line":43,"column":32}},"type":"cond-expr","locations":[{"start":{"line":42,"column":10},"end":{"line":42,"column":71}},{"start":{"line":43,"column":10},"end":{"line":43,"column":32}}],"line":41},"8":{"loc":{"start":{"line":60,"column":2},"end":{"line":78,"column":3}},"type":"switch","locations":[{"start":{"line":61,"column":4},"end":{"line":64,"column":12}},{"start":{"line":65,"column":4},"end":{"line":68,"column":12}},{"start":{"line":69,"column":4},"end":{"line":72,"column":12}},{"start":{"line":73,"column":4},"end":{"line":77,"column":12}}],"line":60},"9":{"loc":{"start":{"line":104,"column":6},"end":{"line":117,"column":7}},"type":"if","locations":[{"start":{"line":104,"column":6},"end":{"line":117,"column":7}},{"start":{"line":110,"column":13},"end":{"line":117,"column":7}}],"line":104},"10":{"loc":{"start":{"line":128,"column":20},"end":{"line":128,"column":85}},"type":"cond-expr","locations":[{"start":{"line":128,"column":60},"end":{"line":128,"column":70}},{"start":{"line":128,"column":73},"end":{"line":128,"column":85}}],"line":128},"11":{"loc":{"start":{"line":174,"column":2},"end":{"line":186,"column":3}},"type":"switch","locations":[{"start":{"line":175,"column":4},"end":{"line":177,"column":12}},{"start":{"line":178,"column":4},"end":{"line":180,"column":12}},{"start":{"line":181,"column":4},"end":{"line":183,"column":12}},{"start":{"line":184,"column":4},"end":{"line":185,"column":12}}],"line":174},"12":{"loc":{"start":{"line":191,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":191,"column":2},"end":{"line":194,"column":3}},{"start":{},"end":{}}],"line":191},"13":{"loc":{"start":{"line":199,"column":2},"end":{"line":205,"column":3}},"type":"if","locations":[{"start":{"line":199,"column":2},"end":{"line":205,"column":3}},{"start":{"line":202,"column":9},"end":{"line":205,"column":3}}],"line":199}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/attemptOrFallback.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/attemptOrFallback.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":16}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":23}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":20}}},"fnMap":{"0":{"name":"attemptOrFallback","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":63},"end":{"line":8,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkIfTokenCanCreateVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkIfTokenCanCreateVariable.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":32,"column":3}},"1":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"2":{"start":{"line":17,"column":6},"end":{"line":17,"column":49}},"3":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"4":{"start":{"line":21,"column":6},"end":{"line":21,"column":19}},"5":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":19}},"7":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":19}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"10":{"start":{"line":33,"column":2},"end":{"line":33,"column":15}}},"fnMap":{"0":{"name":"checkIfTokenCanCreateVariable","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":53}},"loc":{"start":{"line":6,"column":121},"end":{"line":34,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":8,"column":4},"end":{"line":13,"column":103}},"type":"binary-expr","locations":[{"start":{"line":8,"column":5},"end":{"line":8,"column":36}},{"start":{"line":8,"column":40},"end":{"line":8,"column":63}},{"start":{"line":9,"column":8},"end":{"line":9,"column":60}},{"start":{"line":9,"column":64},"end":{"line":9,"column":88}},{"start":{"line":10,"column":8},"end":{"line":10,"column":72}},{"start":{"line":10,"column":76},"end":{"line":10,"column":100}},{"start":{"line":11,"column":8},"end":{"line":11,"column":41}},{"start":{"line":11,"column":45},"end":{"line":11,"column":70}},{"start":{"line":12,"column":8},"end":{"line":12,"column":46}},{"start":{"line":12,"column":50},"end":{"line":12,"column":82}},{"start":{"line":12,"column":86},"end":{"line":12,"column":110}},{"start":{"line":13,"column":8},"end":{"line":13,"column":46}},{"start":{"line":13,"column":50},"end":{"line":13,"column":74}},{"start":{"line":13,"column":78},"end":{"line":13,"column":102}}],"line":8},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":121}},"type":"binary-expr","locations":[{"start":{"line":16,"column":9},"end":{"line":16,"column":48}},{"start":{"line":16,"column":52},"end":{"line":16,"column":85}},{"start":{"line":16,"column":90},"end":{"line":16,"column":121}}],"line":16},"4":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":20},"5":{"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":119}},"type":"binary-expr","locations":[{"start":{"line":20,"column":8},"end":{"line":20,"column":39}},{"start":{"line":20,"column":43},"end":{"line":20,"column":74}},{"start":{"line":20,"column":78},"end":{"line":20,"column":119}}],"line":20},"6":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24},"7":{"loc":{"start":{"line":24,"column":8},"end":{"line":24,"column":107}},"type":"binary-expr","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":46}},{"start":{"line":24,"column":50},"end":{"line":24,"column":81}},{"start":{"line":24,"column":85},"end":{"line":24,"column":107}}],"line":24},"8":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":28},"9":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":150}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":38}},{"start":{"line":28,"column":42},"end":{"line":28,"column":75}},{"start":{"line":28,"column":79},"end":{"line":28,"column":110}},{"start":{"line":28,"column":114},"end":{"line":28,"column":150}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkStorageSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/checkStorageSize.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":6,"column":28},"end":{"line":6,"column":50}},"2":{"start":{"line":7,"column":27},"end":{"line":7,"column":59}},"3":{"start":{"line":10,"column":24},"end":{"line":10,"column":58}},"4":{"start":{"line":11,"column":21},"end":{"line":11,"column":39}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":39}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":53}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":13}}},"fnMap":{"0":{"name":"checkStorageSize","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":32}},"loc":{"start":{"line":4,"column":54},"end":{"line":18,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/compareLastSyncedState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/compareLastSyncedState.ts","statementMap":{"0":{"start":{"line":19,"column":22},"end":{"line":19,"column":68}},"1":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"2":{"start":{"line":22,"column":4},"end":{"line":22,"column":17}},"3":{"start":{"line":25,"column":32},"end":{"line":25,"column":118}},"4":{"start":{"line":27,"column":2},"end":{"line":30,"column":4}}},"fnMap":{"0":{"name":"compareLastSyncedState","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":38}},"loc":{"start":{"line":18,"column":2},"end":{"line":31,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},{"start":{},"end":{}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convert.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convert.ts","statementMap":{"0":{"start":{"line":12,"column":38},"end":{"line":19,"column":2}},"1":{"start":{"line":12,"column":74},"end":{"line":19,"column":1}},"2":{"start":{"line":27,"column":41},"end":{"line":30,"column":6}},"3":{"start":{"line":27,"column":100},"end":{"line":30,"column":6}},"4":{"start":{"line":28,"column":2},"end":{"line":28,"column":96}},"5":{"start":{"line":29,"column":2},"end":{"line":29,"column":13}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":38},"end":{"line":12,"column":39}},"loc":{"start":{"line":12,"column":74},"end":{"line":19,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":41},"end":{"line":27,"column":42}},"loc":{"start":{"line":27,"column":100},"end":{"line":30,"column":6}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":114},"end":{"line":27,"column":115}},"loc":{"start":{"line":27,"column":130},"end":{"line":30,"column":1}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":65},"end":{"line":27,"column":95}},"type":"default-arg","locations":[{"start":{"line":27,"column":90},"end":{"line":27,"column":95}}],"line":27},"1":{"loc":{"start":{"line":28,"column":11},"end":{"line":28,"column":39}},"type":"binary-expr","locations":[{"start":{"line":28,"column":11},"end":{"line":28,"column":33}},{"start":{"line":28,"column":37},"end":{"line":28,"column":39}}],"line":28},"2":{"loc":{"start":{"line":28,"column":41},"end":{"line":28,"column":94}},"type":"cond-expr","locations":[{"start":{"line":28,"column":57},"end":{"line":28,"column":86}},{"start":{"line":28,"column":89},"end":{"line":28,"column":94}}],"line":28}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertModifiedColorToHex.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertModifiedColorToHex.ts","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":6,"column":31}},"1":{"start":{"line":7,"column":2},"end":{"line":13,"column":3}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":53}},"3":{"start":{"line":9,"column":33},"end":{"line":9,"column":57}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":71}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}}},"fnMap":{"0":{"name":"convertModifiedColorToHex","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":41}},"loc":{"start":{"line":5,"column":86},"end":{"line":14,"column":1}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToDefaultProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToDefaultProperty.ts","statementMap":{"0":{"start":{"line":4,"column":21},"end":{"line":4,"column":23}},"1":{"start":{"line":5,"column":2},"end":{"line":52,"column":3}},"2":{"start":{"line":16,"column":6},"end":{"line":16,"column":34}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":12}},"4":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":12}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":29}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":12}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":36}},"9":{"start":{"line":32,"column":6},"end":{"line":32,"column":12}},"10":{"start":{"line":34,"column":6},"end":{"line":34,"column":37}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":12}},"12":{"start":{"line":37,"column":6},"end":{"line":37,"column":34}},"13":{"start":{"line":38,"column":6},"end":{"line":38,"column":12}},"14":{"start":{"line":40,"column":6},"end":{"line":40,"column":36}},"15":{"start":{"line":41,"column":6},"end":{"line":41,"column":12}},"16":{"start":{"line":44,"column":6},"end":{"line":44,"column":36}},"17":{"start":{"line":45,"column":6},"end":{"line":45,"column":12}},"18":{"start":{"line":47,"column":6},"end":{"line":47,"column":27}},"19":{"start":{"line":48,"column":6},"end":{"line":48,"column":12}},"20":{"start":{"line":50,"column":6},"end":{"line":50,"column":22}},"21":{"start":{"line":51,"column":6},"end":{"line":51,"column":12}},"22":{"start":{"line":53,"column":2},"end":{"line":53,"column":14}}},"fnMap":{"0":{"name":"convertToDefaultProperty","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":40}},"loc":{"start":{"line":3,"column":67},"end":{"line":54,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":52,"column":3}},"type":"switch","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":26}},{"start":{"line":7,"column":4},"end":{"line":7,"column":27}},{"start":{"line":8,"column":4},"end":{"line":8,"column":27}},{"start":{"line":9,"column":4},"end":{"line":9,"column":32}},{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},{"start":{"line":11,"column":4},"end":{"line":11,"column":38}},{"start":{"line":12,"column":4},"end":{"line":12,"column":31}},{"start":{"line":13,"column":4},"end":{"line":13,"column":32}},{"start":{"line":14,"column":4},"end":{"line":14,"column":34}},{"start":{"line":15,"column":4},"end":{"line":17,"column":12}},{"start":{"line":18,"column":4},"end":{"line":18,"column":40}},{"start":{"line":19,"column":4},"end":{"line":19,"column":41}},{"start":{"line":20,"column":4},"end":{"line":20,"column":43}},{"start":{"line":21,"column":4},"end":{"line":23,"column":12}},{"start":{"line":24,"column":4},"end":{"line":26,"column":12}},{"start":{"line":27,"column":4},"end":{"line":27,"column":35}},{"start":{"line":28,"column":4},"end":{"line":28,"column":36}},{"start":{"line":29,"column":4},"end":{"line":29,"column":37}},{"start":{"line":30,"column":4},"end":{"line":32,"column":12}},{"start":{"line":33,"column":4},"end":{"line":35,"column":12}},{"start":{"line":36,"column":4},"end":{"line":38,"column":12}},{"start":{"line":39,"column":4},"end":{"line":41,"column":12}},{"start":{"line":42,"column":4},"end":{"line":42,"column":23}},{"start":{"line":43,"column":4},"end":{"line":45,"column":12}},{"start":{"line":46,"column":4},"end":{"line":48,"column":12}},{"start":{"line":49,"column":4},"end":{"line":51,"column":12}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToOrderObj.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertToOrderObj.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":5,"column":9}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":21}},"2":{"start":{"line":4,"column":4},"end":{"line":4,"column":15}}},"fnMap":{"0":{"name":"convertToOrderObj","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":65},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":59},"end":{"line":2,"column":60}},"loc":{"start":{"line":2,"column":80},"end":{"line":5,"column":3}},"line":2}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenNameToPath.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenNameToPath.ts","statementMap":{"0":{"start":{"line":2,"column":19},"end":{"line":2,"column":73}},"1":{"start":{"line":2,"column":61},"end":{"line":2,"column":72}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":19}},"4":{"start":{"line":6,"column":21},"end":{"line":6,"column":39}},"5":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":37}},"7":{"start":{"line":12,"column":2},"end":{"line":12,"column":20}}},"fnMap":{"0":{"name":"convertTokenNameToPath","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":93},"end":{"line":13,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":51},"end":{"line":2,"column":52}},"loc":{"start":{"line":2,"column":61},"end":{"line":2,"column":72}},"line":2}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":53},"end":{"line":1,"column":81}},"type":"default-arg","locations":[{"start":{"line":1,"column":77},"end":{"line":1,"column":81}}],"line":1},"1":{"loc":{"start":{"line":1,"column":83},"end":{"line":1,"column":91}},"type":"default-arg","locations":[{"start":{"line":1,"column":90},"end":{"line":1,"column":91}}],"line":1},"2":{"loc":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":10,"column":3}},{"start":{},"end":{}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenToFormat.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenToFormat.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":48}},"1":{"start":{"line":4,"column":30},"end":{"line":4,"column":48}},"2":{"start":{"line":7,"column":6},"end":{"line":7,"column":11}},"3":{"start":{"line":8,"column":2},"end":{"line":14,"column":3}},"4":{"start":{"line":9,"column":26},"end":{"line":9,"column":28}},"5":{"start":{"line":10,"column":4},"end":{"line":12,"column":7}},"6":{"start":{"line":11,"column":6},"end":{"line":11,"column":53}},"7":{"start":{"line":13,"column":4},"end":{"line":13,"column":25}},"8":{"start":{"line":15,"column":2},"end":{"line":15,"column":51}},"9":{"start":{"line":15,"column":38},"end":{"line":15,"column":51}},"10":{"start":{"line":16,"column":22},"end":{"line":21,"column":3}},"11":{"start":{"line":22,"column":2},"end":{"line":22,"column":38}},"12":{"start":{"line":23,"column":2},"end":{"line":23,"column":21}}},"fnMap":{"0":{"name":"convertTokenToFormat","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":64},"end":{"line":24,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":34},"end":{"line":10,"column":35}},"loc":{"start":{"line":10,"column":50},"end":{"line":12,"column":5}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":44},"end":{"line":3,"column":62}},"type":"default-arg","locations":[{"start":{"line":3,"column":57},"end":{"line":3,"column":62}}],"line":3},"1":{"loc":{"start":{"line":4,"column":2},"end":{"line":4,"column":48}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":4,"column":48}},{"start":{},"end":{}}],"line":4},"2":{"loc":{"start":{"line":8,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":14,"column":3}},{"start":{},"end":{}}],"line":8},"3":{"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":51}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":51}},{"start":{},"end":{}}],"line":15},"4":{"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":59}},"type":"cond-expr","locations":[{"start":{"line":18,"column":16},"end":{"line":18,"column":54}},{"start":{"line":18,"column":57},"end":{"line":18,"column":59}}],"line":18},"5":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":56}},"type":"cond-expr","locations":[{"start":{"line":19,"column":15},"end":{"line":19,"column":51}},{"start":{"line":19,"column":54},"end":{"line":19,"column":56}}],"line":19},"6":{"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":77}},"type":"cond-expr","locations":[{"start":{"line":20,"column":22},"end":{"line":20,"column":72}},{"start":{"line":20,"column":75},"end":{"line":20,"column":77}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenTypeToVariableType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokenTypeToVariableType.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":7,"column":19}},"2":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"3":{"start":{"line":12,"column":6},"end":{"line":12,"column":21}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":23}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":22}},"6":{"start":{"line":20,"column":6},"end":{"line":20,"column":21}}},"fnMap":{"0":{"name":"convertTokenTypeToVariableType","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":120},"end":{"line":22,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":6,"column":6},"end":{"line":6,"column":67}},"type":"binary-expr","locations":[{"start":{"line":6,"column":6},"end":{"line":6,"column":38}},{"start":{"line":6,"column":42},"end":{"line":6,"column":67}}],"line":6},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":21,"column":3}},"type":"switch","locations":[{"start":{"line":11,"column":4},"end":{"line":12,"column":21}},{"start":{"line":13,"column":4},"end":{"line":14,"column":23}},{"start":{"line":15,"column":4},"end":{"line":15,"column":34}},{"start":{"line":16,"column":4},"end":{"line":16,"column":33}},{"start":{"line":17,"column":4},"end":{"line":18,"column":22}},{"start":{"line":19,"column":4},"end":{"line":20,"column":21}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokens.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokens.tsx","statementMap":{"0":{"start":{"line":83,"column":2},"end":{"line":160,"column":3}},"1":{"start":{"line":84,"column":4},"end":{"line":84,"column":46}},"2":{"start":{"line":85,"column":4},"end":{"line":85,"column":57}},"3":{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},"4":{"start":{"line":88,"column":6},"end":{"line":88,"column":81}},"5":{"start":{"line":90,"column":4},"end":{"line":98,"column":5}},"6":{"start":{"line":91,"column":6},"end":{"line":91,"column":51}},"7":{"start":{"line":92,"column":6},"end":{"line":92,"column":64}},"8":{"start":{"line":94,"column":6},"end":{"line":94,"column":57}},"9":{"start":{"line":95,"column":6},"end":{"line":97,"column":7}},"10":{"start":{"line":96,"column":8},"end":{"line":96,"column":66}},"11":{"start":{"line":99,"column":9},"end":{"line":160,"column":3}},"12":{"start":{"line":105,"column":4},"end":{"line":105,"column":46}},"13":{"start":{"line":106,"column":4},"end":{"line":109,"column":11}},"14":{"start":{"line":107,"column":6},"end":{"line":107,"column":106}},"15":{"start":{"line":108,"column":6},"end":{"line":108,"column":17}},"16":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"17":{"start":{"line":111,"column":6},"end":{"line":111,"column":81}},"18":{"start":{"line":113,"column":4},"end":{"line":118,"column":5}},"19":{"start":{"line":114,"column":6},"end":{"line":114,"column":51}},"20":{"start":{"line":115,"column":6},"end":{"line":115,"column":64}},"21":{"start":{"line":117,"column":6},"end":{"line":117,"column":71}},"22":{"start":{"line":119,"column":9},"end":{"line":160,"column":3}},"23":{"start":{"line":122,"column":23},"end":{"line":122,"column":28}},"24":{"start":{"line":123,"column":4},"end":{"line":123,"column":20}},"25":{"start":{"line":125,"column":4},"end":{"line":130,"column":5}},"26":{"start":{"line":126,"column":72},"end":{"line":126,"column":77}},"27":{"start":{"line":127,"column":6},"end":{"line":127,"column":55}},"28":{"start":{"line":128,"column":6},"end":{"line":128,"column":36}},"29":{"start":{"line":129,"column":6},"end":{"line":129,"column":43}},"30":{"start":{"line":132,"column":4},"end":{"line":153,"column":5}},"31":{"start":{"line":133,"column":6},"end":{"line":152,"column":9}},"32":{"start":{"line":134,"column":27},"end":{"line":146,"column":10}},"33":{"start":{"line":137,"column":42},"end":{"line":137,"column":43}},"34":{"start":{"line":147,"column":8},"end":{"line":151,"column":9}},"35":{"start":{"line":148,"column":10},"end":{"line":148,"column":63}},"36":{"start":{"line":149,"column":15},"end":{"line":151,"column":9}},"37":{"start":{"line":150,"column":10},"end":{"line":150,"column":45}},"38":{"start":{"line":156,"column":4},"end":{"line":159,"column":6}},"39":{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},"40":{"start":{"line":163,"column":4},"end":{"line":163,"column":61}},"41":{"start":{"line":166,"column":2},"end":{"line":166,"column":55}},"42":{"start":{"line":170,"column":19},"end":{"line":174,"column":4}},"43":{"start":{"line":177,"column":2},"end":{"line":182,"column":5}},"44":{"start":{"line":178,"column":4},"end":{"line":178,"column":47}},"45":{"start":{"line":178,"column":27},"end":{"line":178,"column":47}},"46":{"start":{"line":179,"column":4},"end":{"line":179,"column":59}},"47":{"start":{"line":179,"column":33},"end":{"line":179,"column":59}},"48":{"start":{"line":180,"column":4},"end":{"line":180,"column":45}},"49":{"start":{"line":180,"column":26},"end":{"line":180,"column":45}},"50":{"start":{"line":181,"column":4},"end":{"line":181,"column":17}}},"fnMap":{"0":{"name":"checkForTokens","decl":{"start":{"line":49,"column":9},"end":{"line":49,"column":23}},"loc":{"start":{"line":73,"column":99},"end":{"line":167,"column":1}},"line":73},"1":{"name":"(anonymous_1)","decl":{"start":{"line":106,"column":91},"end":{"line":106,"column":92}},"loc":{"start":{"line":106,"column":112},"end":{"line":109,"column":5}},"line":106},"2":{"name":"(anonymous_2)","decl":{"start":{"line":133,"column":43},"end":{"line":133,"column":44}},"loc":{"start":{"line":133,"column":61},"end":{"line":152,"column":7}},"line":133},"3":{"name":"(anonymous_3)","decl":{"start":{"line":137,"column":35},"end":{"line":137,"column":36}},"loc":{"start":{"line":137,"column":42},"end":{"line":137,"column":43}},"line":137},"4":{"name":"convertToTokenArray","decl":{"start":{"line":169,"column":24},"end":{"line":169,"column":43}},"loc":{"start":{"line":169,"column":76},"end":{"line":183,"column":1}},"line":169},"5":{"name":"(anonymous_5)","decl":{"start":{"line":177,"column":35},"end":{"line":177,"column":36}},"loc":{"start":{"line":177,"column":46},"end":{"line":182,"column":3}},"line":177}},"branchMap":{"0":{"loc":{"start":{"line":52,"column":2},"end":{"line":52,"column":13}},"type":"default-arg","locations":[{"start":{"line":52,"column":9},"end":{"line":52,"column":13}}],"line":52},"1":{"loc":{"start":{"line":53,"column":2},"end":{"line":53,"column":26}},"type":"default-arg","locations":[{"start":{"line":53,"column":21},"end":{"line":53,"column":26}}],"line":53},"2":{"loc":{"start":{"line":54,"column":2},"end":{"line":54,"column":26}},"type":"default-arg","locations":[{"start":{"line":54,"column":21},"end":{"line":54,"column":26}}],"line":54},"3":{"loc":{"start":{"line":55,"column":2},"end":{"line":55,"column":22}},"type":"default-arg","locations":[{"start":{"line":55,"column":17},"end":{"line":55,"column":22}}],"line":55},"4":{"loc":{"start":{"line":56,"column":2},"end":{"line":56,"column":27}},"type":"default-arg","locations":[{"start":{"line":56,"column":22},"end":{"line":56,"column":27}}],"line":56},"5":{"loc":{"start":{"line":57,"column":2},"end":{"line":57,"column":22}},"type":"default-arg","locations":[{"start":{"line":57,"column":17},"end":{"line":57,"column":22}}],"line":57},"6":{"loc":{"start":{"line":59,"column":2},"end":{"line":59,"column":16}},"type":"default-arg","locations":[{"start":{"line":59,"column":15},"end":{"line":59,"column":16}}],"line":59},"7":{"loc":{"start":{"line":60,"column":2},"end":{"line":60,"column":22}},"type":"default-arg","locations":[{"start":{"line":60,"column":21},"end":{"line":60,"column":22}}],"line":60},"8":{"loc":{"start":{"line":83,"column":2},"end":{"line":160,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":160,"column":3}},{"start":{"line":99,"column":9},"end":{"line":160,"column":3}}],"line":83},"9":{"loc":{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},{"start":{},"end":{}}],"line":87},"10":{"loc":{"start":{"line":87,"column":8},"end":{"line":87,"column":108}},"type":"binary-expr","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":46}},{"start":{"line":87,"column":50},"end":{"line":87,"column":108}}],"line":87},"11":{"loc":{"start":{"line":90,"column":4},"end":{"line":98,"column":5}},"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":98,"column":5}},{"start":{"line":93,"column":11},"end":{"line":98,"column":5}}],"line":90},"12":{"loc":{"start":{"line":90,"column":8},"end":{"line":90,"column":55}},"type":"binary-expr","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":40}},{"start":{"line":90,"column":44},"end":{"line":90,"column":55}}],"line":90},"13":{"loc":{"start":{"line":95,"column":6},"end":{"line":97,"column":7}},"type":"if","locations":[{"start":{"line":95,"column":6},"end":{"line":97,"column":7}},{"start":{},"end":{}}],"line":95},"14":{"loc":{"start":{"line":95,"column":10},"end":{"line":95,"column":81}},"type":"binary-expr","locations":[{"start":{"line":95,"column":10},"end":{"line":95,"column":57}},{"start":{"line":95,"column":61},"end":{"line":95,"column":81}}],"line":95},"15":{"loc":{"start":{"line":99,"column":9},"end":{"line":160,"column":3}},"type":"if","locations":[{"start":{"line":99,"column":9},"end":{"line":160,"column":3}},{"start":{"line":119,"column":9},"end":{"line":160,"column":3}}],"line":99},"16":{"loc":{"start":{"line":100,"column":4},"end":{"line":103,"column":33}},"type":"binary-expr","locations":[{"start":{"line":100,"column":4},"end":{"line":100,"column":34}},{"start":{"line":101,"column":7},"end":{"line":101,"column":36}},{"start":{"line":102,"column":7},"end":{"line":102,"column":38}},{"start":{"line":103,"column":7},"end":{"line":103,"column":33}}],"line":100},"17":{"loc":{"start":{"line":107,"column":17},"end":{"line":107,"column":105}},"type":"cond-expr","locations":[{"start":{"line":107,"column":69},"end":{"line":107,"column":99}},{"start":{"line":107,"column":102},"end":{"line":107,"column":105}}],"line":107},"18":{"loc":{"start":{"line":107,"column":17},"end":{"line":107,"column":66}},"type":"binary-expr","locations":[{"start":{"line":107,"column":17},"end":{"line":107,"column":46}},{"start":{"line":107,"column":50},"end":{"line":107,"column":66}}],"line":107},"19":{"loc":{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":112,"column":5}},{"start":{},"end":{}}],"line":110},"20":{"loc":{"start":{"line":110,"column":8},"end":{"line":110,"column":108}},"type":"binary-expr","locations":[{"start":{"line":110,"column":8},"end":{"line":110,"column":46}},{"start":{"line":110,"column":50},"end":{"line":110,"column":108}}],"line":110},"21":{"loc":{"start":{"line":113,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":118,"column":5}},{"start":{"line":116,"column":11},"end":{"line":118,"column":5}}],"line":113},"22":{"loc":{"start":{"line":113,"column":8},"end":{"line":113,"column":55}},"type":"binary-expr","locations":[{"start":{"line":113,"column":8},"end":{"line":113,"column":40}},{"start":{"line":113,"column":44},"end":{"line":113,"column":55}}],"line":113},"23":{"loc":{"start":{"line":119,"column":9},"end":{"line":160,"column":3}},"type":"if","locations":[{"start":{"line":119,"column":9},"end":{"line":160,"column":3}},{"start":{"line":154,"column":9},"end":{"line":160,"column":3}}],"line":119},"24":{"loc":{"start":{"line":125,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":125,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":125},"25":{"loc":{"start":{"line":132,"column":4},"end":{"line":153,"column":5}},"type":"if","locations":[{"start":{"line":132,"column":4},"end":{"line":153,"column":5}},{"start":{},"end":{}}],"line":132},"26":{"loc":{"start":{"line":132,"column":8},"end":{"line":132,"column":68}},"type":"binary-expr","locations":[{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},{"start":{"line":132,"column":47},"end":{"line":132,"column":68}}],"line":132},"27":{"loc":{"start":{"line":147,"column":8},"end":{"line":151,"column":9}},"type":"if","locations":[{"start":{"line":147,"column":8},"end":{"line":151,"column":9}},{"start":{"line":149,"column":15},"end":{"line":151,"column":9}}],"line":147},"28":{"loc":{"start":{"line":147,"column":12},"end":{"line":147,"column":26}},"type":"binary-expr","locations":[{"start":{"line":147,"column":12},"end":{"line":147,"column":16}},{"start":{"line":147,"column":20},"end":{"line":147,"column":26}}],"line":147},"29":{"loc":{"start":{"line":149,"column":15},"end":{"line":151,"column":9}},"type":"if","locations":[{"start":{"line":149,"column":15},"end":{"line":151,"column":9}},{"start":{},"end":{}}],"line":149},"30":{"loc":{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},"type":"if","locations":[{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},{"start":{},"end":{}}],"line":162},"31":{"loc":{"start":{"line":162,"column":6},"end":{"line":162,"column":83}},"type":"binary-expr","locations":[{"start":{"line":162,"column":6},"end":{"line":162,"column":37}},{"start":{"line":162,"column":41},"end":{"line":162,"column":62}},{"start":{"line":162,"column":66},"end":{"line":162,"column":83}}],"line":162},"32":{"loc":{"start":{"line":178,"column":4},"end":{"line":178,"column":47}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":178,"column":47}},{"start":{},"end":{}}],"line":178},"33":{"loc":{"start":{"line":179,"column":4},"end":{"line":179,"column":59}},"type":"if","locations":[{"start":{"line":179,"column":4},"end":{"line":179,"column":59}},{"start":{},"end":{}}],"line":179},"34":{"loc":{"start":{"line":180,"column":4},"end":{"line":180,"column":45}},"type":"if","locations":[{"start":{"line":180,"column":4},"end":{"line":180,"column":45}},{"start":{},"end":{}}],"line":180}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0,0],"32":[0,0],"33":[0,0],"34":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensObjectToResolved.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensObjectToResolved.ts","statementMap":{"0":{"start":{"line":24,"column":17},"end":{"line":24,"column":41}},"1":{"start":{"line":26,"column":17},"end":{"line":32,"column":3}},"2":{"start":{"line":31,"column":51},"end":{"line":31,"column":85}},"3":{"start":{"line":34,"column":19},"end":{"line":34,"column":57}},"4":{"start":{"line":36,"column":17},"end":{"line":36,"column":78}},"5":{"start":{"line":37,"column":2},"end":{"line":37,"column":16}}},"fnMap":{"0":{"name":"convertTokensObjectToResolved","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":53}},"loc":{"start":{"line":22,"column":2},"end":{"line":38,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":36},"end":{"line":31,"column":37}},"loc":{"start":{"line":31,"column":51},"end":{"line":31,"column":85}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":25}},"type":"default-arg","locations":[{"start":{"line":12,"column":23},"end":{"line":12,"column":25}}],"line":12},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":13,"column":29}},"type":"default-arg","locations":[{"start":{"line":13,"column":27},"end":{"line":13,"column":29}}],"line":13},"2":{"loc":{"start":{"line":14,"column":2},"end":{"line":21,"column":3}},"type":"default-arg","locations":[{"start":{"line":14,"column":32},"end":{"line":21,"column":3}}],"line":14}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToGroupedObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToGroupedObject.ts","statementMap":{"0":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"1":{"start":{"line":17,"column":2},"end":{"line":50,"column":9}},"2":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"3":{"start":{"line":19,"column":6},"end":{"line":19,"column":72}},"4":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":17}},"6":{"start":{"line":24,"column":16},"end":{"line":24,"column":25}},"7":{"start":{"line":25,"column":26},"end":{"line":25,"column":72}},"8":{"start":{"line":26,"column":4},"end":{"line":26,"column":30}},"9":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"10":{"start":{"line":28,"column":6},"end":{"line":28,"column":90}},"11":{"start":{"line":30,"column":6},"end":{"line":30,"column":39}},"12":{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},"13":{"start":{"line":34,"column":6},"end":{"line":34,"column":36}},"14":{"start":{"line":36,"column":4},"end":{"line":36,"column":42}},"15":{"start":{"line":37,"column":4},"end":{"line":37,"column":53}},"16":{"start":{"line":38,"column":4},"end":{"line":48,"column":5}},"17":{"start":{"line":44,"column":23},"end":{"line":44,"column":50}},"18":{"start":{"line":45,"column":6},"end":{"line":45,"column":44}},"19":{"start":{"line":47,"column":6},"end":{"line":47,"column":42}},"20":{"start":{"line":49,"column":4},"end":{"line":49,"column":15}},"21":{"start":{"line":52,"column":2},"end":{"line":52,"column":18}}},"fnMap":{"0":{"name":"convertTokensToGroupedObject","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":52}},"loc":{"start":{"line":15,"column":2},"end":{"line":53,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":27},"end":{"line":17,"column":28}},"loc":{"start":{"line":17,"column":43},"end":{"line":50,"column":3}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":66}},"type":"binary-expr","locations":[{"start":{"line":18,"column":8},"end":{"line":18,"column":41}},{"start":{"line":18,"column":45},"end":{"line":18,"column":66}}],"line":18},"2":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{},"end":{}}],"line":21},"3":{"loc":{"start":{"line":21,"column":8},"end":{"line":21,"column":79}},"type":"binary-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":30}},{"start":{"line":21,"column":34},"end":{"line":21,"column":79}}],"line":21},"4":{"loc":{"start":{"line":24,"column":16},"end":{"line":24,"column":25}},"type":"binary-expr","locations":[{"start":{"line":24,"column":16},"end":{"line":24,"column":19}},{"start":{"line":24,"column":23},"end":{"line":24,"column":25}}],"line":24},"5":{"loc":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},{"start":{"line":29,"column":11},"end":{"line":31,"column":5}}],"line":27},"6":{"loc":{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":33},"7":{"loc":{"start":{"line":38,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":48,"column":5}},{"start":{"line":46,"column":11},"end":{"line":48,"column":5}}],"line":38},"8":{"loc":{"start":{"line":39,"column":6},"end":{"line":42,"column":77}},"type":"binary-expr","locations":[{"start":{"line":39,"column":7},"end":{"line":39,"column":33}},{"start":{"line":39,"column":37},"end":{"line":39,"column":81}},{"start":{"line":40,"column":10},"end":{"line":40,"column":32}},{"start":{"line":40,"column":36},"end":{"line":40,"column":80}},{"start":{"line":41,"column":10},"end":{"line":41,"column":37}},{"start":{"line":41,"column":41},"end":{"line":41,"column":86}},{"start":{"line":42,"column":10},"end":{"line":42,"column":32}},{"start":{"line":42,"column":36},"end":{"line":42,"column":76}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertTokensToObject.ts","statementMap":{"0":{"start":{"line":9,"column":19},"end":{"line":46,"column":8}},"1":{"start":{"line":10,"column":46},"end":{"line":10,"column":48}},"2":{"start":{"line":11,"column":4},"end":{"line":43,"column":7}},"3":{"start":{"line":12,"column":28},"end":{"line":12,"column":52}},"4":{"start":{"line":13,"column":29},"end":{"line":13,"column":84}},"5":{"start":{"line":16,"column":44},"end":{"line":16,"column":58}},"6":{"start":{"line":19,"column":6},"end":{"line":42,"column":7}},"7":{"start":{"line":21,"column":69},"end":{"line":21,"column":85}},"8":{"start":{"line":24,"column":8},"end":{"line":24,"column":92}},"9":{"start":{"line":27,"column":8},"end":{"line":27,"column":75}},"10":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"11":{"start":{"line":30,"column":10},"end":{"line":30,"column":83}},"12":{"start":{"line":32,"column":8},"end":{"line":32,"column":73}},"13":{"start":{"line":35,"column":8},"end":{"line":35,"column":69}},"14":{"start":{"line":36,"column":8},"end":{"line":36,"column":70}},"15":{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},"16":{"start":{"line":39,"column":10},"end":{"line":39,"column":78}},"17":{"start":{"line":41,"column":8},"end":{"line":41,"column":68}},"18":{"start":{"line":44,"column":4},"end":{"line":44,"column":29}},"19":{"start":{"line":45,"column":4},"end":{"line":45,"column":15}},"20":{"start":{"line":48,"column":2},"end":{"line":48,"column":18}}},"fnMap":{"0":{"name":"convertTokensToObject","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":119},"end":{"line":49,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":85},"end":{"line":9,"column":86}},"loc":{"start":{"line":9,"column":106},"end":{"line":46,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":17}},"loc":{"start":{"line":11,"column":27},"end":{"line":43,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":42,"column":7}},{"start":{"line":33,"column":13},"end":{"line":42,"column":7}}],"line":19},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},{"start":{},"end":{}}],"line":29},"2":{"loc":{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},{"start":{},"end":{}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertVariableTypeToProperty.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/convertVariableTypeToProperty.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":17,"column":3}},"1":{"start":{"line":6,"column":6},"end":{"line":6,"column":40}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":49}},"3":{"start":{"line":10,"column":6},"end":{"line":10,"column":50}},"4":{"start":{"line":12,"column":6},"end":{"line":12,"column":52}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":53}},"6":{"start":{"line":16,"column":6},"end":{"line":16,"column":40}}},"fnMap":{"0":{"name":"convertVariableTypeToProperty","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":53}},"loc":{"start":{"line":3,"column":88},"end":{"line":18,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":17,"column":3}},"type":"switch","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":40}},{"start":{"line":7,"column":4},"end":{"line":8,"column":49}},{"start":{"line":9,"column":4},"end":{"line":10,"column":50}},{"start":{"line":11,"column":4},"end":{"line":12,"column":52}},{"start":{"line":13,"column":4},"end":{"line":14,"column":53}},{"start":{"line":15,"column":4},"end":{"line":16,"column":40}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/credentials.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/credentials.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":44,"column":3}},"1":{"start":{"line":10,"column":17},"end":{"line":10,"column":50}},"2":{"start":{"line":11,"column":54},"end":{"line":11,"column":56}},"3":{"start":{"line":12,"column":4},"end":{"line":38,"column":5}},"4":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"5":{"start":{"line":15,"column":29},"end":{"line":15,"column":31}},"6":{"start":{"line":17,"column":6},"end":{"line":21,"column":7}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":99}},"8":{"start":{"line":18,"column":62},"end":{"line":18,"column":97}},"9":{"start":{"line":20,"column":8},"end":{"line":20,"column":93}},"10":{"start":{"line":20,"column":62},"end":{"line":20,"column":91}},"11":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"12":{"start":{"line":24,"column":8},"end":{"line":24,"column":63}},"13":{"start":{"line":27,"column":6},"end":{"line":32,"column":7}},"14":{"start":{"line":28,"column":8},"end":{"line":31,"column":11}},"15":{"start":{"line":34,"column":6},"end":{"line":37,"column":9}},"16":{"start":{"line":39,"column":4},"end":{"line":39,"column":56}},"17":{"start":{"line":40,"column":25},"end":{"line":40,"column":58}},"18":{"start":{"line":41,"column":4},"end":{"line":41,"column":43}},"19":{"start":{"line":43,"column":4},"end":{"line":43,"column":78}},"20":{"start":{"line":48,"column":2},"end":{"line":61,"column":3}},"21":{"start":{"line":49,"column":17},"end":{"line":49,"column":50}},"22":{"start":{"line":50,"column":54},"end":{"line":50,"column":56}},"23":{"start":{"line":51,"column":4},"end":{"line":55,"column":5}},"24":{"start":{"line":52,"column":6},"end":{"line":54,"column":8}},"25":{"start":{"line":53,"column":25},"end":{"line":53,"column":65}},"26":{"start":{"line":53,"column":82},"end":{"line":53,"column":83}},"27":{"start":{"line":56,"column":4},"end":{"line":56,"column":56}},"28":{"start":{"line":57,"column":25},"end":{"line":57,"column":58}},"29":{"start":{"line":58,"column":4},"end":{"line":58,"column":43}},"30":{"start":{"line":60,"column":4},"end":{"line":60,"column":78}}},"fnMap":{"0":{"name":"updateCredentials","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":39}},"loc":{"start":{"line":8,"column":73},"end":{"line":45,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":55},"end":{"line":18,"column":56}},"loc":{"start":{"line":18,"column":62},"end":{"line":18,"column":97}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":55},"end":{"line":20,"column":56}},"loc":{"start":{"line":20,"column":62},"end":{"line":20,"column":91}},"line":20},"3":{"name":"removeSingleCredential","decl":{"start":{"line":47,"column":22},"end":{"line":47,"column":44}},"loc":{"start":{"line":47,"column":78},"end":{"line":62,"column":1}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":17},"end":{"line":53,"column":18}},"loc":{"start":{"line":53,"column":25},"end":{"line":53,"column":65}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":75},"end":{"line":53,"column":76}},"loc":{"start":{"line":53,"column":82},"end":{"line":53,"column":83}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":38,"column":5}},{"start":{"line":33,"column":11},"end":{"line":38,"column":5}}],"line":12},"1":{"loc":{"start":{"line":17,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":21,"column":7}},{"start":{"line":19,"column":13},"end":{"line":21,"column":7}}],"line":17},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":27,"column":6},"end":{"line":32,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":32,"column":7}},{"start":{},"end":{}}],"line":27},"4":{"loc":{"start":{"line":27,"column":10},"end":{"line":27,"column":42}},"type":"binary-expr","locations":[{"start":{"line":27,"column":10},"end":{"line":27,"column":15}},{"start":{"line":27,"column":19},"end":{"line":27,"column":42}}],"line":27},"5":{"loc":{"start":{"line":30,"column":22},"end":{"line":30,"column":58}},"type":"binary-expr","locations":[{"start":{"line":30,"column":22},"end":{"line":30,"column":40}},{"start":{"line":30,"column":44},"end":{"line":30,"column":58}}],"line":30},"6":{"loc":{"start":{"line":36,"column":20},"end":{"line":36,"column":56}},"type":"binary-expr","locations":[{"start":{"line":36,"column":20},"end":{"line":36,"column":38}},{"start":{"line":36,"column":42},"end":{"line":36,"column":56}}],"line":36},"7":{"loc":{"start":{"line":41,"column":23},"end":{"line":41,"column":41}},"type":"binary-expr","locations":[{"start":{"line":41,"column":23},"end":{"line":41,"column":35}},{"start":{"line":41,"column":39},"end":{"line":41,"column":41}}],"line":41},"8":{"loc":{"start":{"line":51,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":51},"9":{"loc":{"start":{"line":53,"column":25},"end":{"line":53,"column":65}},"type":"cond-expr","locations":[{"start":{"line":53,"column":57},"end":{"line":53,"column":61}},{"start":{"line":53,"column":64},"end":{"line":53,"column":65}}],"line":53},"10":{"loc":{"start":{"line":58,"column":23},"end":{"line":58,"column":41}},"type":"binary-expr","locations":[{"start":{"line":58,"column":23},"end":{"line":58,"column":35}},{"start":{"line":58,"column":39},"end":{"line":58,"column":41}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/detectFormat.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/detectFormat.tsx","statementMap":{"0":{"start":{"line":5,"column":28},"end":{"line":5,"column":50}},"1":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":66}},"3":{"start":{"line":7,"column":19},"end":{"line":7,"column":66}},"4":{"start":{"line":8,"column":4},"end":{"line":8,"column":35}},"5":{"start":{"line":10,"column":2},"end":{"line":10,"column":66}},"6":{"start":{"line":10,"column":17},"end":{"line":10,"column":66}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":35}}},"fnMap":{"0":{"name":"detectFormat","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":65},"end":{"line":12,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":66}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":66}},{"start":{},"end":{}}],"line":7},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":66}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":10,"column":66}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/expand.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/expand.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":29,"column":9}},"1":{"start":{"line":16,"column":4},"end":{"line":26,"column":5}},"2":{"start":{"line":18,"column":30},"end":{"line":18,"column":32}},"3":{"start":{"line":19,"column":6},"end":{"line":19,"column":50}},"4":{"start":{"line":20,"column":6},"end":{"line":20,"column":75}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":42}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":29}},"7":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}}},"fnMap":{"0":{"name":"expand","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"loc":{"start":{"line":14,"column":52},"end":{"line":30,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":46},"end":{"line":15,"column":47}},"loc":{"start":{"line":15,"column":67},"end":{"line":29,"column":3}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":26,"column":5}},{"start":{"line":24,"column":11},"end":{"line":26,"column":5}}],"line":16},"1":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":58}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":31}},{"start":{"line":16,"column":35},"end":{"line":16,"column":58}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fetchFeatureFlags.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fetchFeatureFlags.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":9,"column":4},"end":{"line":11,"column":8}},"2":{"start":{"line":10,"column":6},"end":{"line":10,"column":18}},"3":{"start":{"line":14,"column":2},"end":{"line":37,"column":3}},"4":{"start":{"line":17,"column":8},"end":{"line":17,"column":86}},"5":{"start":{"line":18,"column":61},"end":{"line":22,"column":5}},"6":{"start":{"line":23,"column":4},"end":{"line":25,"column":7}},"7":{"start":{"line":24,"column":6},"end":{"line":24,"column":41}},"8":{"start":{"line":26,"column":27},"end":{"line":26,"column":68}},"9":{"start":{"line":27,"column":19},"end":{"line":30,"column":6}},"10":{"start":{"line":31,"column":4},"end":{"line":31,"column":34}},"11":{"start":{"line":32,"column":21},"end":{"line":32,"column":38}},"12":{"start":{"line":33,"column":28},"end":{"line":35,"column":5}},"13":{"start":{"line":34,"column":53},"end":{"line":34,"column":77}},"14":{"start":{"line":36,"column":4},"end":{"line":36,"column":27}},"15":{"start":{"line":38,"column":2},"end":{"line":38,"column":14}}},"fnMap":{"0":{"name":"fetchFeatureFlags","decl":{"start":{"line":7,"column":30},"end":{"line":7,"column":47}},"loc":{"start":{"line":7,"column":68},"end":{"line":39,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":77},"end":{"line":9,"column":78}},"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":18}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":26},"end":{"line":23,"column":27}},"loc":{"start":{"line":23,"column":43},"end":{"line":25,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":35},"end":{"line":34,"column":36}},"loc":{"start":{"line":34,"column":53},"end":{"line":34,"column":77}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":14},"2":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":44}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":25}},{"start":{"line":14,"column":29},"end":{"line":14,"column":44}}],"line":14},"3":{"loc":{"start":{"line":19,"column":12},"end":{"line":19,"column":22}},"type":"binary-expr","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":16}},{"start":{"line":19,"column":20},"end":{"line":19,"column":22}}],"line":19},"4":{"loc":{"start":{"line":20,"column":13},"end":{"line":20,"column":30}},"type":"binary-expr","locations":[{"start":{"line":20,"column":13},"end":{"line":20,"column":24}},{"start":{"line":20,"column":28},"end":{"line":20,"column":30}}],"line":20},"5":{"loc":{"start":{"line":26,"column":27},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":26,"column":27},"end":{"line":26,"column":62}},{"start":{"line":26,"column":66},"end":{"line":26,"column":68}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/filterValidCompositionTokenTypes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/filterValidCompositionTokenTypes.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":182}},"1":{"start":{"line":4,"column":37},"end":{"line":4,"column":180}}},"fnMap":{"0":{"name":"filterValidCompositionTokenTypes","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":48}},"loc":{"start":{"line":3,"column":81},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":27},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":37},"end":{"line":4,"column":180}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findAll.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findAll.ts","statementMap":{"0":{"start":{"line":4,"column":17},"end":{"line":4,"column":46}},"1":{"start":{"line":5,"column":28},"end":{"line":11,"column":5}},"2":{"start":{"line":12,"column":2},"end":{"line":21,"column":5}},"3":{"start":{"line":13,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":14,"column":6},"end":{"line":19,"column":8}},"5":{"start":{"line":22,"column":2},"end":{"line":22,"column":18}}},"fnMap":{"0":{"name":"findAll","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":23}},"loc":{"start":{"line":3,"column":117},"end":{"line":23,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":17}},"loc":{"start":{"line":12,"column":26},"end":{"line":21,"column":3}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":52},"end":{"line":3,"column":71}},"type":"default-arg","locations":[{"start":{"line":3,"column":66},"end":{"line":3,"column":71}}],"line":3},"1":{"loc":{"start":{"line":3,"column":73},"end":{"line":3,"column":103}},"type":"default-arg","locations":[{"start":{"line":3,"column":98},"end":{"line":3,"column":103}}],"line":3},"2":{"loc":{"start":{"line":4,"column":17},"end":{"line":4,"column":46}},"type":"cond-expr","locations":[{"start":{"line":4,"column":31},"end":{"line":4,"column":41}},{"start":{"line":4,"column":44},"end":{"line":4,"column":46}}],"line":4},"3":{"loc":{"start":{"line":5,"column":28},"end":{"line":11,"column":5}},"type":"cond-expr","locations":[{"start":{"line":6,"column":6},"end":{"line":6,"column":8}},{"start":{"line":7,"column":6},"end":{"line":11,"column":5}}],"line":5},"4":{"loc":{"start":{"line":13,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findBoundVariable.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findBoundVariable.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":18,"column":4}},"1":{"start":{"line":10,"column":4},"end":{"line":16,"column":5}},"2":{"start":{"line":11,"column":23},"end":{"line":11,"column":99}},"3":{"start":{"line":11,"column":50},"end":{"line":11,"column":98}},"4":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"5":{"start":{"line":13,"column":31},"end":{"line":13,"column":64}},"6":{"start":{"line":14,"column":8},"end":{"line":14,"column":42}},"7":{"start":{"line":17,"column":4},"end":{"line":17,"column":28}}},"fnMap":{"0":{"name":"findBoundVariable","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":33}},"loc":{"start":{"line":8,"column":39},"end":{"line":19,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":37},"end":{"line":18,"column":3}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":43},"end":{"line":11,"column":44}},"loc":{"start":{"line":11,"column":50},"end":{"line":11,"column":98}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findDifferentState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findDifferentState.ts","statementMap":{"0":{"start":{"line":17,"column":45},"end":{"line":17,"column":47}},"1":{"start":{"line":18,"column":2},"end":{"line":52,"column":5}},"2":{"start":{"line":19,"column":37},"end":{"line":19,"column":39}},"3":{"start":{"line":20,"column":41},"end":{"line":20,"column":43}},"4":{"start":{"line":21,"column":41},"end":{"line":21,"column":43}},"5":{"start":{"line":23,"column":4},"end":{"line":42,"column":7}},"6":{"start":{"line":24,"column":23},"end":{"line":24,"column":85}},"7":{"start":{"line":24,"column":63},"end":{"line":24,"column":84}},"8":{"start":{"line":25,"column":6},"end":{"line":41,"column":7}},"9":{"start":{"line":26,"column":8},"end":{"line":31,"column":9}},"10":{"start":{"line":27,"column":44},"end":{"line":27,"column":56}},"11":{"start":{"line":28,"column":10},"end":{"line":28,"column":49}},"12":{"start":{"line":29,"column":10},"end":{"line":29,"column":45}},"13":{"start":{"line":30,"column":10},"end":{"line":30,"column":43}},"14":{"start":{"line":32,"column":8},"end":{"line":38,"column":9}},"15":{"start":{"line":33,"column":10},"end":{"line":37,"column":13}},"16":{"start":{"line":40,"column":8},"end":{"line":40,"column":56}},"17":{"start":{"line":44,"column":4},"end":{"line":49,"column":7}},"18":{"start":{"line":45,"column":23},"end":{"line":45,"column":88}},"19":{"start":{"line":45,"column":66},"end":{"line":45,"column":87}},"20":{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},"21":{"start":{"line":47,"column":8},"end":{"line":47,"column":63}},"22":{"start":{"line":50,"column":31},"end":{"line":50,"column":81}},"23":{"start":{"line":51,"column":4},"end":{"line":51,"column":49}},"24":{"start":{"line":55,"column":2},"end":{"line":60,"column":5}},"25":{"start":{"line":56,"column":30},"end":{"line":56,"column":82}},"26":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"27":{"start":{"line":58,"column":6},"end":{"line":58,"column":92}},"28":{"start":{"line":58,"column":53},"end":{"line":58,"column":87}},"29":{"start":{"line":62,"column":39},"end":{"line":62,"column":41}},"30":{"start":{"line":63,"column":35},"end":{"line":63,"column":37}},"31":{"start":{"line":64,"column":39},"end":{"line":64,"column":41}},"32":{"start":{"line":65,"column":2},"end":{"line":74,"column":5}},"33":{"start":{"line":66,"column":21},"end":{"line":66,"column":68}},"34":{"start":{"line":66,"column":50},"end":{"line":66,"column":67}},"35":{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},"36":{"start":{"line":68,"column":6},"end":{"line":70,"column":7}},"37":{"start":{"line":69,"column":8},"end":{"line":69,"column":63}},"38":{"start":{"line":72,"column":6},"end":{"line":72,"column":54}},"39":{"start":{"line":76,"column":2},"end":{"line":80,"column":5}},"40":{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},"41":{"start":{"line":77,"column":41},"end":{"line":77,"column":58}},"42":{"start":{"line":78,"column":6},"end":{"line":78,"column":61}},"43":{"start":{"line":82,"column":2},"end":{"line":87,"column":4}},"44":{"start":{"line":84,"column":63},"end":{"line":84,"column":80}}},"fnMap":{"0":{"name":"findDifferentState","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":34}},"loc":{"start":{"line":16,"column":114},"end":{"line":88,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":47},"end":{"line":18,"column":48}},"loc":{"start":{"line":18,"column":71},"end":{"line":52,"column":3}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":19},"end":{"line":23,"column":20}},"loc":{"start":{"line":23,"column":30},"end":{"line":42,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":56},"end":{"line":24,"column":57}},"loc":{"start":{"line":24,"column":63},"end":{"line":24,"column":84}},"line":24},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":40},"end":{"line":44,"column":41}},"loc":{"start":{"line":44,"column":51},"end":{"line":49,"column":5}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":59},"end":{"line":45,"column":60}},"loc":{"start":{"line":45,"column":66},"end":{"line":45,"column":87}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":55,"column":43},"end":{"line":55,"column":44}},"loc":{"start":{"line":55,"column":67},"end":{"line":60,"column":3}},"line":55},"7":{"name":"(anonymous_7)","decl":{"start":{"line":58,"column":41},"end":{"line":58,"column":42}},"loc":{"start":{"line":58,"column":53},"end":{"line":58,"column":87}},"line":58},"8":{"name":"(anonymous_8)","decl":{"start":{"line":65,"column":30},"end":{"line":65,"column":31}},"loc":{"start":{"line":65,"column":41},"end":{"line":74,"column":3}},"line":65},"9":{"name":"(anonymous_9)","decl":{"start":{"line":66,"column":43},"end":{"line":66,"column":44}},"loc":{"start":{"line":66,"column":50},"end":{"line":66,"column":67}},"line":66},"10":{"name":"(anonymous_10)","decl":{"start":{"line":76,"column":27},"end":{"line":76,"column":28}},"loc":{"start":{"line":76,"column":38},"end":{"line":80,"column":3}},"line":76},"11":{"name":"(anonymous_11)","decl":{"start":{"line":77,"column":34},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":41},"end":{"line":77,"column":58}},"line":77},"12":{"name":"(anonymous_12)","decl":{"start":{"line":84,"column":46},"end":{"line":84,"column":47}},"loc":{"start":{"line":84,"column":63},"end":{"line":84,"column":80}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":25,"column":6},"end":{"line":41,"column":7}},{"start":{"line":39,"column":13},"end":{"line":41,"column":7}}],"line":25},"1":{"loc":{"start":{"line":26,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":31,"column":9}},{"start":{},"end":{}}],"line":26},"2":{"loc":{"start":{"line":32,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":38,"column":9}},{"start":{},"end":{}}],"line":32},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},{"start":{},"end":{}}],"line":46},"4":{"loc":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},{"start":{},"end":{}}],"line":57},"5":{"loc":{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},{"start":{"line":71,"column":11},"end":{"line":73,"column":5}}],"line":67},"6":{"loc":{"start":{"line":68,"column":6},"end":{"line":70,"column":7}},"type":"if","locations":[{"start":{"line":68,"column":6},"end":{"line":70,"column":7}},{"start":{},"end":{}}],"line":68},"7":{"loc":{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":77},"8":{"loc":{"start":{"line":86,"column":14},"end":{"line":86,"column":96}},"type":"cond-expr","locations":[{"start":{"line":86,"column":68},"end":{"line":86,"column":89}},{"start":{"line":86,"column":92},"end":{"line":86,"column":96}}],"line":86}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findReferences.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/findReferences.tsx","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":3,"column":25}},"1":{"start":{"line":4,"column":22},"end":{"line":4,"column":25}},"2":{"start":{"line":6,"column":30},"end":{"line":17,"column":1}},"3":{"start":{"line":7,"column":18},"end":{"line":7,"column":58}},"4":{"start":{"line":8,"column":2},"end":{"line":15,"column":3}},"5":{"start":{"line":9,"column":4},"end":{"line":14,"column":7}},"6":{"start":{"line":10,"column":6},"end":{"line":12,"column":7}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":46}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"9":{"start":{"line":16,"column":2},"end":{"line":16,"column":14}},"10":{"start":{"line":19,"column":36},"end":{"line":19,"column":106}},"11":{"start":{"line":19,"column":60},"end":{"line":19,"column":106}},"12":{"start":{"line":21,"column":38},"end":{"line":31,"column":1}},"13":{"start":{"line":22,"column":21},"end":{"line":22,"column":47}},"14":{"start":{"line":24,"column":2},"end":{"line":29,"column":3}},"15":{"start":{"line":25,"column":4},"end":{"line":28,"column":7}},"16":{"start":{"line":26,"column":6},"end":{"line":26,"column":45}},"17":{"start":{"line":26,"column":34},"end":{"line":26,"column":45}},"18":{"start":{"line":27,"column":6},"end":{"line":27,"column":19}},"19":{"start":{"line":30,"column":2},"end":{"line":30,"column":12}},"20":{"start":{"line":33,"column":33},"end":{"line":48,"column":1}},"21":{"start":{"line":34,"column":2},"end":{"line":45,"column":3}},"22":{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},"23":{"start":{"line":36,"column":25},"end":{"line":36,"column":68}},"24":{"start":{"line":37,"column":21},"end":{"line":37,"column":31}},"25":{"start":{"line":38,"column":6},"end":{"line":40,"column":9}},"26":{"start":{"line":39,"column":8},"end":{"line":39,"column":56}},"27":{"start":{"line":41,"column":6},"end":{"line":41,"column":22}},"28":{"start":{"line":44,"column":4},"end":{"line":44,"column":78}},"29":{"start":{"line":47,"column":2},"end":{"line":47,"column":20}},"30":{"start":{"line":50,"column":33},"end":{"line":70,"column":1}},"31":{"start":{"line":51,"column":25},"end":{"line":51,"column":27}},"32":{"start":{"line":52,"column":14},"end":{"line":52,"column":15}},"33":{"start":{"line":53,"column":19},"end":{"line":53,"column":20}},"34":{"start":{"line":54,"column":2},"end":{"line":67,"column":3}},"35":{"start":{"line":54,"column":15},"end":{"line":54,"column":16}},"36":{"start":{"line":55,"column":4},"end":{"line":60,"column":5}},"37":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"38":{"start":{"line":57,"column":8},"end":{"line":57,"column":23}},"39":{"start":{"line":59,"column":6},"end":{"line":59,"column":17}},"40":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"41":{"start":{"line":62,"column":6},"end":{"line":62,"column":17}},"42":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"43":{"start":{"line":64,"column":8},"end":{"line":64,"column":60}},"44":{"start":{"line":69,"column":2},"end":{"line":69,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":30},"end":{"line":6,"column":31}},"loc":{"start":{"line":6,"column":54},"end":{"line":17,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":23},"end":{"line":9,"column":24}},"loc":{"start":{"line":9,"column":33},"end":{"line":14,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":36},"end":{"line":19,"column":37}},"loc":{"start":{"line":19,"column":60},"end":{"line":19,"column":106}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":38},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":86},"end":{"line":31,"column":1}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":25,"column":29},"end":{"line":25,"column":30}},"loc":{"start":{"line":25,"column":38},"end":{"line":28,"column":5}},"line":25},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":33},"end":{"line":33,"column":34}},"loc":{"start":{"line":33,"column":91},"end":{"line":48,"column":1}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":25},"end":{"line":38,"column":26}},"loc":{"start":{"line":38,"column":40},"end":{"line":40,"column":7}},"line":38},"7":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":33},"end":{"line":50,"column":34}},"loc":{"start":{"line":50,"column":57},"end":{"line":70,"column":1}},"line":50}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":15,"column":3}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":15,"column":3}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":12,"column":7}},"type":"if","locations":[{"start":{"line":10,"column":6},"end":{"line":12,"column":7}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":24,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":26,"column":6},"end":{"line":26,"column":45}},"type":"if","locations":[{"start":{"line":26,"column":6},"end":{"line":26,"column":45}},{"start":{},"end":{}}],"line":26},"4":{"loc":{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},{"start":{},"end":{}}],"line":35},"5":{"loc":{"start":{"line":55,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":60,"column":5}},{"start":{},"end":{}}],"line":55},"6":{"loc":{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":58,"column":7}},{"start":{},"end":{}}],"line":56},"7":{"loc":{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":66,"column":5}},{"start":{},"end":{}}],"line":61},"8":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":52}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":39}},{"start":{"line":61,"column":43},"end":{"line":61,"column":52}}],"line":61},"9":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},{"start":{},"end":{}}],"line":63},"10":{"loc":{"start":{"line":69,"column":22},"end":{"line":69,"column":60}},"type":"binary-expr","locations":[{"start":{"line":69,"column":22},"end":{"line":69,"column":54}},{"start":{"line":69,"column":58},"end":{"line":69,"column":60}}],"line":69}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatCount.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatCount.ts","statementMap":{"0":{"start":{"line":6,"column":27},"end":{"line":20,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":18,"column":3}},"2":{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},"3":{"start":{"line":10,"column":6},"end":{"line":10,"column":32}},"4":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":18}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":43}},"7":{"start":{"line":19,"column":2},"end":{"line":19,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":27},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":54},"end":{"line":20,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":18,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},{"start":{},"end":{}}],"line":9},"2":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatNumber.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatNumber.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":41}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}}},"fnMap":{"0":{"name":"formatNumber","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":28}},"loc":{"start":{"line":1,"column":50},"end":{"line":6,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/formatTokens.ts","statementMap":{"0":{"start":{"line":34,"column":26},"end":{"line":34,"column":65}},"1":{"start":{"line":35,"column":19},"end":{"line":35,"column":21}},"2":{"start":{"line":36,"column":2},"end":{"line":75,"column":5}},"3":{"start":{"line":37,"column":4},"end":{"line":74,"column":7}},"4":{"start":{"line":38,"column":44},"end":{"line":38,"column":91}},"5":{"start":{"line":40,"column":32},"end":{"line":40,"column":70}},"6":{"start":{"line":42,"column":6},"end":{"line":45,"column":7}},"7":{"start":{"line":43,"column":26},"end":{"line":43,"column":78}},"8":{"start":{"line":44,"column":8},"end":{"line":44,"column":114}},"9":{"start":{"line":46,"column":6},"end":{"line":73,"column":7}},"10":{"start":{"line":52,"column":8},"end":{"line":70,"column":9}},"11":{"start":{"line":53,"column":32},"end":{"line":53,"column":75}},"12":{"start":{"line":53,"column":59},"end":{"line":53,"column":74}},"13":{"start":{"line":54,"column":10},"end":{"line":64,"column":11}},"14":{"start":{"line":55,"column":12},"end":{"line":61,"column":13}},"15":{"start":{"line":56,"column":14},"end":{"line":56,"column":112}},"16":{"start":{"line":58,"column":31},"end":{"line":58,"column":59}},"17":{"start":{"line":59,"column":39},"end":{"line":59,"column":75}},"18":{"start":{"line":60,"column":14},"end":{"line":60,"column":118}},"19":{"start":{"line":63,"column":12},"end":{"line":63,"column":110}},"20":{"start":{"line":66,"column":27},"end":{"line":66,"column":57}},"21":{"start":{"line":67,"column":35},"end":{"line":67,"column":71}},"22":{"start":{"line":69,"column":10},"end":{"line":69,"column":114}},"23":{"start":{"line":72,"column":8},"end":{"line":72,"column":106}},"24":{"start":{"line":77,"column":2},"end":{"line":77,"column":43}}},"fnMap":{"0":{"name":"formatTokens","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":36}},"loc":{"start":{"line":33,"column":12},"end":{"line":78,"column":1}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":20},"end":{"line":36,"column":21}},"loc":{"start":{"line":36,"column":34},"end":{"line":75,"column":3}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":30},"end":{"line":37,"column":31}},"loc":{"start":{"line":37,"column":41},"end":{"line":74,"column":5}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":52},"end":{"line":53,"column":53}},"loc":{"start":{"line":53,"column":59},"end":{"line":53,"column":74}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":26}},"type":"default-arg","locations":[{"start":{"line":26,"column":21},"end":{"line":26,"column":26}}],"line":26},"1":{"loc":{"start":{"line":27,"column":2},"end":{"line":27,"column":22}},"type":"default-arg","locations":[{"start":{"line":27,"column":18},"end":{"line":27,"column":22}}],"line":27},"2":{"loc":{"start":{"line":28,"column":2},"end":{"line":28,"column":26}},"type":"default-arg","locations":[{"start":{"line":28,"column":21},"end":{"line":28,"column":26}}],"line":28},"3":{"loc":{"start":{"line":29,"column":2},"end":{"line":29,"column":22}},"type":"default-arg","locations":[{"start":{"line":29,"column":17},"end":{"line":29,"column":22}}],"line":29},"4":{"loc":{"start":{"line":30,"column":2},"end":{"line":30,"column":27}},"type":"default-arg","locations":[{"start":{"line":30,"column":22},"end":{"line":30,"column":27}}],"line":30},"5":{"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":22}},"type":"default-arg","locations":[{"start":{"line":31,"column":17},"end":{"line":31,"column":22}}],"line":31},"6":{"loc":{"start":{"line":32,"column":2},"end":{"line":32,"column":34}},"type":"default-arg","locations":[{"start":{"line":32,"column":29},"end":{"line":32,"column":34}}],"line":32},"7":{"loc":{"start":{"line":34,"column":26},"end":{"line":34,"column":65}},"type":"cond-expr","locations":[{"start":{"line":34,"column":45},"end":{"line":34,"column":49}},{"start":{"line":34,"column":52},"end":{"line":34,"column":65}}],"line":34},"8":{"loc":{"start":{"line":42,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":45,"column":7}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":44,"column":22},"end":{"line":44,"column":83}},"type":"cond-expr","locations":[{"start":{"line":44,"column":40},"end":{"line":44,"column":71}},{"start":{"line":44,"column":74},"end":{"line":44,"column":83}}],"line":44},"10":{"loc":{"start":{"line":46,"column":6},"end":{"line":73,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":73,"column":7}},{"start":{"line":71,"column":13},"end":{"line":73,"column":7}}],"line":46},"11":{"loc":{"start":{"line":47,"column":8},"end":{"line":50,"column":61}},"type":"binary-expr","locations":[{"start":{"line":47,"column":9},"end":{"line":47,"column":45}},{"start":{"line":47,"column":49},"end":{"line":47,"column":65}},{"start":{"line":48,"column":12},"end":{"line":48,"column":48}},{"start":{"line":48,"column":52},"end":{"line":48,"column":64}},{"start":{"line":49,"column":12},"end":{"line":49,"column":49}},{"start":{"line":49,"column":53},"end":{"line":49,"column":70}},{"start":{"line":50,"column":12},"end":{"line":50,"column":44}},{"start":{"line":50,"column":48},"end":{"line":50,"column":60}}],"line":47},"12":{"loc":{"start":{"line":52,"column":8},"end":{"line":70,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":70,"column":9}},{"start":{"line":65,"column":15},"end":{"line":70,"column":9}}],"line":52},"13":{"loc":{"start":{"line":54,"column":10},"end":{"line":64,"column":11}},"type":"if","locations":[{"start":{"line":54,"column":10},"end":{"line":64,"column":11}},{"start":{"line":62,"column":17},"end":{"line":64,"column":11}}],"line":54},"14":{"loc":{"start":{"line":55,"column":12},"end":{"line":61,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":61,"column":13}},{"start":{"line":57,"column":19},"end":{"line":61,"column":13}}],"line":55},"15":{"loc":{"start":{"line":56,"column":28},"end":{"line":56,"column":91}},"type":"cond-expr","locations":[{"start":{"line":56,"column":46},"end":{"line":56,"column":78}},{"start":{"line":56,"column":81},"end":{"line":56,"column":91}}],"line":56},"16":{"loc":{"start":{"line":60,"column":28},"end":{"line":60,"column":91}},"type":"cond-expr","locations":[{"start":{"line":60,"column":46},"end":{"line":60,"column":78}},{"start":{"line":60,"column":81},"end":{"line":60,"column":91}}],"line":60},"17":{"loc":{"start":{"line":63,"column":26},"end":{"line":63,"column":89}},"type":"cond-expr","locations":[{"start":{"line":63,"column":44},"end":{"line":63,"column":76}},{"start":{"line":63,"column":79},"end":{"line":63,"column":89}}],"line":63},"18":{"loc":{"start":{"line":69,"column":24},"end":{"line":69,"column":87}},"type":"cond-expr","locations":[{"start":{"line":69,"column":42},"end":{"line":69,"column":74}},{"start":{"line":69,"column":77},"end":{"line":69,"column":87}}],"line":69},"19":{"loc":{"start":{"line":72,"column":22},"end":{"line":72,"column":85}},"type":"cond-expr","locations":[{"start":{"line":72,"column":40},"end":{"line":72,"column":72}},{"start":{"line":72,"column":75},"end":{"line":72,"column":85}}],"line":72}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0,0,0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fuzzySearch.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/fuzzySearch.ts","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":30}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":28}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":17}},"4":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":31}},"6":{"start":{"line":14,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":14,"column":9},"end":{"line":22,"column":3}},"8":{"start":{"line":14,"column":22},"end":{"line":14,"column":23}},"9":{"start":{"line":14,"column":29},"end":{"line":14,"column":30}},"10":{"start":{"line":15,"column":16},"end":{"line":15,"column":36}},"11":{"start":{"line":16,"column":4},"end":{"line":20,"column":5}},"12":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"13":{"start":{"line":18,"column":8},"end":{"line":18,"column":23}},"14":{"start":{"line":21,"column":4},"end":{"line":21,"column":17}},"15":{"start":{"line":23,"column":2},"end":{"line":23,"column":14}}},"fnMap":{"0":{"name":"fuzzySearch","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":70},"end":{"line":24,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":19,"column":7}},{"start":{},"end":{}}],"line":17}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/generateId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/generateId.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":23}},"1":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"3":{"start":{"line":4,"column":22},"end":{"line":4,"column":64}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":64}},"5":{"start":{"line":7,"column":2},"end":{"line":7,"column":22}}},"fnMap":{"0":{"name":"generateId","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":26}},"loc":{"start":{"line":1,"column":116},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":40},"end":{"line":1,"column":114}},"type":"default-arg","locations":[{"start":{"line":1,"column":50},"end":{"line":1,"column":114}}],"line":1}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getActiveTheme.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getActiveTheme.ts","statementMap":{"0":{"start":{"line":4,"column":22},"end":{"line":4,"column":54}},"1":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":23}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":12}}},"fnMap":{"0":{"name":"getActiveTheme","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":81},"end":{"line":9,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesIdMap.ts","statementMap":{"0":{"start":{"line":2,"column":23},"end":{"line":2,"column":51}},"1":{"start":{"line":3,"column":30},"end":{"line":3,"column":60}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":76}},"3":{"start":{"line":4,"column":34},"end":{"line":4,"column":74}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":29}}},"fnMap":{"0":{"name":"getEffectStylesIdMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":36}},"loc":{"start":{"line":1,"column":39},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":23},"end":{"line":4,"column":24}},"loc":{"start":{"line":4,"column":34},"end":{"line":4,"column":74}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesKeyMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getEffectStylesKeyMap.ts","statementMap":{"0":{"start":{"line":2,"column":23},"end":{"line":2,"column":51}},"1":{"start":{"line":3,"column":31},"end":{"line":3,"column":61}},"2":{"start":{"line":4,"column":2},"end":{"line":8,"column":5}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":70}},"4":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":56}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":30}}},"fnMap":{"0":{"name":"getEffectStylesKeyMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":37}},"loc":{"start":{"line":1,"column":40},"end":{"line":10,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":23},"end":{"line":4,"column":24}},"loc":{"start":{"line":4,"column":34},"end":{"line":8,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLabelForProperty.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLabelForProperty.tsx","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":57,"column":3}},"1":{"start":{"line":10,"column":6},"end":{"line":10,"column":30}},"2":{"start":{"line":13,"column":6},"end":{"line":13,"column":35}},"3":{"start":{"line":16,"column":6},"end":{"line":16,"column":32}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":38}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":36}},"7":{"start":{"line":28,"column":6},"end":{"line":28,"column":30}},"8":{"start":{"line":31,"column":6},"end":{"line":31,"column":20}},"9":{"start":{"line":34,"column":6},"end":{"line":34,"column":22}},"10":{"start":{"line":37,"column":6},"end":{"line":37,"column":21}},"11":{"start":{"line":40,"column":6},"end":{"line":40,"column":21}},"12":{"start":{"line":43,"column":6},"end":{"line":43,"column":28}},"13":{"start":{"line":46,"column":6},"end":{"line":46,"column":28}},"14":{"start":{"line":49,"column":6},"end":{"line":49,"column":27}},"15":{"start":{"line":52,"column":6},"end":{"line":52,"column":29}},"16":{"start":{"line":55,"column":6},"end":{"line":55,"column":17}}},"fnMap":{"0":{"name":"getLabelForProperty","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":35}},"loc":{"start":{"line":7,"column":78},"end":{"line":58,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":57,"column":3}},"type":"switch","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},{"start":{"line":12,"column":4},"end":{"line":14,"column":5}},{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},{"start":{"line":36,"column":4},"end":{"line":38,"column":5}},{"start":{"line":39,"column":4},"end":{"line":41,"column":5}},{"start":{"line":42,"column":4},"end":{"line":44,"column":5}},{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{"line":48,"column":4},"end":{"line":50,"column":5}},{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},{"start":{"line":54,"column":4},"end":{"line":56,"column":5}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLastOpened.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLastOpened.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":7,"column":48}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":47}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":52}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":47}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":13}},"6":{"start":{"line":15,"column":2},"end":{"line":15,"column":14}}},"fnMap":{"0":{"name":"getLastOpened","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":63},"end":{"line":16,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":11},"end":{"line":7,"column":47}},"type":"binary-expr","locations":[{"start":{"line":7,"column":11},"end":{"line":7,"column":42}},{"start":{"line":7,"column":46},"end":{"line":7,"column":47}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLicenseKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getLicenseKey.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":23,"column":3}},"1":{"start":{"line":9,"column":16},"end":{"line":9,"column":90}},"2":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"3":{"start":{"line":11,"column":6},"end":{"line":11,"column":30}},"4":{"start":{"line":14,"column":24},"end":{"line":14,"column":40}},"5":{"start":{"line":15,"column":4},"end":{"line":17,"column":6}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":24}},"7":{"start":{"line":20,"column":4},"end":{"line":22,"column":6}}},"fnMap":{"0":{"name":"getLicenseKey","decl":{"start":{"line":7,"column":30},"end":{"line":7,"column":43}},"loc":{"start":{"line":7,"column":99},"end":{"line":24,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{},"end":{}}],"line":10}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getOnboardingExplainer.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getOnboardingExplainer.ts","statementMap":{"0":{"start":{"line":5,"column":13},"end":{"line":10,"column":1}},"1":{"start":{"line":11,"column":24},"end":{"line":11,"column":25}},"2":{"start":{"line":14,"column":2},"end":{"line":34,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":53}},"4":{"start":{"line":17,"column":4},"end":{"line":27,"column":5}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":72}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":84}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":90}},"8":{"start":{"line":21,"column":6},"end":{"line":21,"column":78}},"9":{"start":{"line":23,"column":6},"end":{"line":23,"column":56}},"10":{"start":{"line":24,"column":6},"end":{"line":24,"column":62}},"11":{"start":{"line":25,"column":6},"end":{"line":25,"column":65}},"12":{"start":{"line":26,"column":6},"end":{"line":26,"column":59}},"13":{"start":{"line":29,"column":4},"end":{"line":29,"column":62}},"14":{"start":{"line":30,"column":4},"end":{"line":30,"column":54}},"15":{"start":{"line":31,"column":4},"end":{"line":31,"column":60}},"16":{"start":{"line":32,"column":4},"end":{"line":32,"column":63}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":57}},"18":{"start":{"line":36,"column":2},"end":{"line":36,"column":14}}},"fnMap":{"0":{"name":"getOnboardingExplainer","decl":{"start":{"line":13,"column":30},"end":{"line":13,"column":52}},"loc":{"start":{"line":13,"column":55},"end":{"line":37,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":16},"end":{"line":16,"column":52}},"type":"binary-expr","locations":[{"start":{"line":16,"column":16},"end":{"line":16,"column":47}},{"start":{"line":16,"column":51},"end":{"line":16,"column":52}}],"line":16},"1":{"loc":{"start":{"line":17,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":27,"column":5}},{"start":{"line":22,"column":11},"end":{"line":27,"column":5}}],"line":17},"2":{"loc":{"start":{"line":18,"column":18},"end":{"line":18,"column":71}},"type":"binary-expr","locations":[{"start":{"line":18,"column":18},"end":{"line":18,"column":62}},{"start":{"line":18,"column":66},"end":{"line":18,"column":71}}],"line":18},"3":{"loc":{"start":{"line":19,"column":24},"end":{"line":19,"column":83}},"type":"binary-expr","locations":[{"start":{"line":19,"column":24},"end":{"line":19,"column":74}},{"start":{"line":19,"column":78},"end":{"line":19,"column":83}}],"line":19},"4":{"loc":{"start":{"line":20,"column":27},"end":{"line":20,"column":89}},"type":"binary-expr","locations":[{"start":{"line":20,"column":27},"end":{"line":20,"column":80}},{"start":{"line":20,"column":84},"end":{"line":20,"column":89}}],"line":20},"5":{"loc":{"start":{"line":21,"column":21},"end":{"line":21,"column":77}},"type":"binary-expr","locations":[{"start":{"line":21,"column":21},"end":{"line":21,"column":68}},{"start":{"line":21,"column":72},"end":{"line":21,"column":77}}],"line":21}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesIdMap.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":2,"column":44}},"1":{"start":{"line":3,"column":23},"end":{"line":3,"column":52}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":63}},"3":{"start":{"line":4,"column":28},"end":{"line":4,"column":61}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":22}}},"fnMap":{"0":{"name":"getPaintStylesIdMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":35}},"loc":{"start":{"line":1,"column":38},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":28},"end":{"line":4,"column":61}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesKeyMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPaintStylesKeyMap.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":2,"column":44}},"1":{"start":{"line":3,"column":24},"end":{"line":3,"column":53}},"2":{"start":{"line":4,"column":2},"end":{"line":8,"column":5}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":70}},"4":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":49}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":23}}},"fnMap":{"0":{"name":"getPaintStylesKeyMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":36}},"loc":{"start":{"line":1,"column":39},"end":{"line":10,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":28},"end":{"line":8,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPathName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getPathName.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":40}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":26}}},"fnMap":{"0":{"name":"getPathName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":27}},"loc":{"start":{"line":1,"column":41},"end":{"line":6,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},{"start":{},"end":{}}],"line":2}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getProviderIcon.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getProviderIcon.tsx","statementMap":{"0":{"start":{"line":13,"column":2},"end":{"line":36,"column":3}},"1":{"start":{"line":15,"column":6},"end":{"line":15,"column":26}},"2":{"start":{"line":17,"column":6},"end":{"line":17,"column":27}},"3":{"start":{"line":19,"column":6},"end":{"line":19,"column":32}},"4":{"start":{"line":21,"column":6},"end":{"line":21,"column":28}},"5":{"start":{"line":23,"column":6},"end":{"line":23,"column":25}},"6":{"start":{"line":25,"column":6},"end":{"line":25,"column":31}},"7":{"start":{"line":27,"column":6},"end":{"line":27,"column":29}},"8":{"start":{"line":29,"column":6},"end":{"line":29,"column":31}},"9":{"start":{"line":31,"column":6},"end":{"line":31,"column":29}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":34}},"11":{"start":{"line":35,"column":6},"end":{"line":35,"column":18}}},"fnMap":{"0":{"name":"getProviderIcon","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":63},"end":{"line":37,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":36,"column":3}},"type":"switch","locations":[{"start":{"line":14,"column":4},"end":{"line":15,"column":26}},{"start":{"line":16,"column":4},"end":{"line":17,"column":27}},{"start":{"line":18,"column":4},"end":{"line":19,"column":32}},{"start":{"line":20,"column":4},"end":{"line":21,"column":28}},{"start":{"line":22,"column":4},"end":{"line":23,"column":25}},{"start":{"line":24,"column":4},"end":{"line":25,"column":31}},{"start":{"line":26,"column":4},"end":{"line":27,"column":29}},{"start":{"line":28,"column":4},"end":{"line":29,"column":31}},{"start":{"line":30,"column":4},"end":{"line":31,"column":29}},{"start":{"line":32,"column":4},"end":{"line":33,"column":34}},{"start":{"line":34,"column":4},"end":{"line":35,"column":18}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getResolvedTextValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getResolvedTextValue.ts","statementMap":{"0":{"start":{"line":5,"column":28},"end":{"line":5,"column":30}},"1":{"start":{"line":6,"column":2},"end":{"line":28,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},"3":{"start":{"line":8,"column":20},"end":{"line":13,"column":12}},"4":{"start":{"line":9,"column":34},"end":{"line":11,"column":14}},"5":{"start":{"line":10,"column":10},"end":{"line":10,"column":51}},"6":{"start":{"line":12,"column":8},"end":{"line":12,"column":65}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":36}},"8":{"start":{"line":16,"column":20},"end":{"line":18,"column":12}},"9":{"start":{"line":17,"column":8},"end":{"line":17,"column":49}},"10":{"start":{"line":19,"column":6},"end":{"line":19,"column":36}},"11":{"start":{"line":21,"column":9},"end":{"line":28,"column":3}},"12":{"start":{"line":22,"column":18},"end":{"line":24,"column":10}},"13":{"start":{"line":23,"column":6},"end":{"line":23,"column":40}},"14":{"start":{"line":25,"column":4},"end":{"line":25,"column":34}},"15":{"start":{"line":26,"column":9},"end":{"line":28,"column":3}},"16":{"start":{"line":27,"column":4},"end":{"line":27,"column":30}},"17":{"start":{"line":29,"column":2},"end":{"line":29,"column":21}}},"fnMap":{"0":{"name":"getResolvedTextValue","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":65},"end":{"line":30,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":54},"end":{"line":8,"column":55}},"loc":{"start":{"line":8,"column":74},"end":{"line":13,"column":7}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":77},"end":{"line":9,"column":78}},"loc":{"start":{"line":10,"column":10},"end":{"line":10,"column":51}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":70},"end":{"line":16,"column":71}},"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":49}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":68},"end":{"line":22,"column":69}},"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":40}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":28,"column":3}},{"start":{"line":21,"column":9},"end":{"line":28,"column":3}}],"line":6},"1":{"loc":{"start":{"line":6,"column":6},"end":{"line":6,"column":82}},"type":"binary-expr","locations":[{"start":{"line":6,"column":6},"end":{"line":6,"column":42}},{"start":{"line":6,"column":46},"end":{"line":6,"column":82}}],"line":6},"2":{"loc":{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},{"start":{"line":15,"column":11},"end":{"line":20,"column":5}}],"line":7},"3":{"loc":{"start":{"line":21,"column":9},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":9},"end":{"line":28,"column":3}},{"start":{"line":26,"column":9},"end":{"line":28,"column":3}}],"line":21},"4":{"loc":{"start":{"line":26,"column":9},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":9},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"5":{"loc":{"start":{"line":26,"column":13},"end":{"line":26,"column":79}},"type":"binary-expr","locations":[{"start":{"line":26,"column":13},"end":{"line":26,"column":44}},{"start":{"line":26,"column":48},"end":{"line":26,"column":79}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesIdMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesIdMap.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":47}},"1":{"start":{"line":3,"column":27},"end":{"line":3,"column":55}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":71}},"3":{"start":{"line":4,"column":32},"end":{"line":4,"column":69}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":26}}},"fnMap":{"0":{"name":"getTextStylesIdMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":37},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":21},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":32},"end":{"line":4,"column":69}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesKeyMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTextStylesKeyMap.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":2,"column":47}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":56}},"2":{"start":{"line":4,"column":2},"end":{"line":8,"column":5}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":70}},"4":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":53}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":27}}},"fnMap":{"0":{"name":"getTextStylesKeyMap","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":35}},"loc":{"start":{"line":1,"column":38},"end":{"line":10,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":21},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":32},"end":{"line":8,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":69}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenSetsOrder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenSetsOrder.ts","statementMap":{"0":{"start":{"line":12,"column":32},"end":{"line":12,"column":51}},"1":{"start":{"line":13,"column":23},"end":{"line":13,"column":145}},"2":{"start":{"line":13,"column":61},"end":{"line":13,"column":144}},"3":{"start":{"line":14,"column":22},"end":{"line":16,"column":50}},"4":{"start":{"line":15,"column":21},"end":{"line":15,"column":48}},"5":{"start":{"line":16,"column":20},"end":{"line":16,"column":49}},"6":{"start":{"line":18,"column":2},"end":{"line":21,"column":3}},"7":{"start":{"line":19,"column":4},"end":{"line":19,"column":65}},"8":{"start":{"line":20,"column":4},"end":{"line":20,"column":38}},"9":{"start":{"line":23,"column":25},"end":{"line":23,"column":58}},"10":{"start":{"line":25,"column":2},"end":{"line":25,"column":55}}},"fnMap":{"0":{"name":"getTokenSetsOrder","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":33}},"loc":{"start":{"line":11,"column":80},"end":{"line":26,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":52},"end":{"line":13,"column":53}},"loc":{"start":{"line":13,"column":61},"end":{"line":13,"column":144}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":12},"end":{"line":15,"column":13}},"loc":{"start":{"line":15,"column":21},"end":{"line":15,"column":48}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":10},"end":{"line":16,"column":11}},"loc":{"start":{"line":16,"column":20},"end":{"line":16,"column":49}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":61},"end":{"line":13,"column":144}},"type":"binary-expr","locations":[{"start":{"line":13,"column":61},"end":{"line":13,"column":101}},{"start":{"line":13,"column":105},"end":{"line":13,"column":144}}],"line":13},"1":{"loc":{"start":{"line":18,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":18}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenTypeKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenTypeKey.ts","statementMap":{"0":{"start":{"line":4,"column":14},"end":{"line":4,"column":38}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":71}}},"fnMap":{"0":{"name":"getTokenTypeKey","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":76},"end":{"line":6,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":32},"end":{"line":3,"column":66}},"type":"default-arg","locations":[{"start":{"line":3,"column":61},"end":{"line":3,"column":66}}],"line":3},"1":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":70}},"type":"cond-expr","locations":[{"start":{"line":5,"column":52},"end":{"line":5,"column":64}},{"start":{"line":5,"column":67},"end":{"line":5,"column":70}}],"line":5},"2":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":49}},"type":"binary-expr","locations":[{"start":{"line":5,"column":9},"end":{"line":5,"column":26}},{"start":{"line":5,"column":30},"end":{"line":5,"column":49}}],"line":5}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenValueKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getTokenValueKey.ts","statementMap":{"0":{"start":{"line":4,"column":14},"end":{"line":4,"column":39}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":71}}},"fnMap":{"0":{"name":"getTokenValueKey","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":77},"end":{"line":6,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":33},"end":{"line":3,"column":67}},"type":"default-arg","locations":[{"start":{"line":3,"column":62},"end":{"line":3,"column":67}}],"line":3},"1":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":70}},"type":"cond-expr","locations":[{"start":{"line":5,"column":52},"end":{"line":5,"column":64}},{"start":{"line":5,"column":67},"end":{"line":5,"column":70}}],"line":5},"2":{"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":49}},"type":"binary-expr","locations":[{"start":{"line":5,"column":9},"end":{"line":5,"column":26}},{"start":{"line":5,"column":30},"end":{"line":5,"column":49}}],"line":5}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUTF16StringSize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUTF16StringSize.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":24}}},"fnMap":{"0":{"name":"getUTF16StringSize","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":56},"end":{"line":3,"column":1}},"line":1}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUsedTokenSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getUsedTokenSet.ts","statementMap":{"0":{"start":{"line":7,"column":24},"end":{"line":7,"column":57}},"1":{"start":{"line":8,"column":47},"end":{"line":8,"column":49}},"2":{"start":{"line":9,"column":2},"end":{"line":26,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":23,"column":6}},"4":{"start":{"line":15,"column":36},"end":{"line":15,"column":56}},"5":{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},"6":{"start":{"line":19,"column":12},"end":{"line":19,"column":46}},"7":{"start":{"line":25,"column":4},"end":{"line":25,"column":32}},"8":{"start":{"line":27,"column":2},"end":{"line":27,"column":14}}},"fnMap":{"0":{"name":"getUsedTokenSet","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":74},"end":{"line":28,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":6},"end":{"line":15,"column":7}},"loc":{"start":{"line":15,"column":36},"end":{"line":15,"column":56}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":6},"end":{"line":16,"column":7}},"loc":{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":20},"end":{"line":18,"column":21}},"loc":{"start":{"line":19,"column":12},"end":{"line":19,"column":46}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getValueWithReferences.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getValueWithReferences.ts","statementMap":{"0":{"start":{"line":7,"column":14},"end":{"line":7,"column":27}},"1":{"start":{"line":25,"column":2},"end":{"line":37,"column":3}},"2":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"3":{"start":{"line":27,"column":6},"end":{"line":27,"column":23}},"4":{"start":{"line":29,"column":4},"end":{"line":36,"column":5}},"5":{"start":{"line":30,"column":31},"end":{"line":30,"column":52}},"6":{"start":{"line":31,"column":34},"end":{"line":31,"column":54}},"7":{"start":{"line":32,"column":25},"end":{"line":32,"column":99}},"8":{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":25}},"10":{"start":{"line":38,"column":2},"end":{"line":38,"column":25}},"11":{"start":{"line":47,"column":2},"end":{"line":54,"column":3}},"12":{"start":{"line":48,"column":4},"end":{"line":53,"column":36}},"13":{"start":{"line":49,"column":21},"end":{"line":49,"column":56}},"14":{"start":{"line":51,"column":6},"end":{"line":51,"column":102}},"15":{"start":{"line":52,"column":6},"end":{"line":52,"column":17}},"16":{"start":{"line":55,"column":2},"end":{"line":55,"column":111}},"17":{"start":{"line":59,"column":2},"end":{"line":61,"column":3}},"18":{"start":{"line":60,"column":4},"end":{"line":60,"column":23}},"19":{"start":{"line":63,"column":2},"end":{"line":69,"column":3}},"20":{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},"21":{"start":{"line":65,"column":23},"end":{"line":65,"column":62}},"22":{"start":{"line":66,"column":6},"end":{"line":66,"column":99}},"23":{"start":{"line":66,"column":48},"end":{"line":66,"column":97}},"24":{"start":{"line":68,"column":4},"end":{"line":68,"column":111}},"25":{"start":{"line":71,"column":2},"end":{"line":71,"column":62}}},"fnMap":{"0":{"name":"getSimpleValue","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":122},"end":{"line":39,"column":1}},"line":6},"1":{"name":"getComplexValue","decl":{"start":{"line":41,"column":9},"end":{"line":41,"column":24}},"loc":{"start":{"line":45,"column":2},"end":{"line":56,"column":1}},"line":45},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":48},"end":{"line":48,"column":49}},"loc":{"start":{"line":48,"column":69},"end":{"line":53,"column":5}},"line":48},"3":{"name":"getValueWithReferences","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":38}},"loc":{"start":{"line":58,"column":88},"end":{"line":72,"column":1}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":66,"column":29},"end":{"line":66,"column":30}},"loc":{"start":{"line":66,"column":48},"end":{"line":66,"column":97}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":25,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":25},"1":{"loc":{"start":{"line":25,"column":6},"end":{"line":25,"column":75}},"type":"binary-expr","locations":[{"start":{"line":25,"column":6},"end":{"line":25,"column":34}},{"start":{"line":25,"column":38},"end":{"line":25,"column":75}}],"line":25},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":29,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":36,"column":5}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":32,"column":25},"end":{"line":32,"column":99}},"type":"cond-expr","locations":[{"start":{"line":32,"column":61},"end":{"line":32,"column":77}},{"start":{"line":32,"column":80},"end":{"line":32,"column":99}}],"line":32},"5":{"loc":{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},{"start":{},"end":{}}],"line":33},"6":{"loc":{"start":{"line":47,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":54,"column":3}},{"start":{},"end":{}}],"line":47},"7":{"loc":{"start":{"line":59,"column":2},"end":{"line":61,"column":3}},"type":"if","locations":[{"start":{"line":59,"column":2},"end":{"line":61,"column":3}},{"start":{},"end":{}}],"line":59},"8":{"loc":{"start":{"line":63,"column":2},"end":{"line":69,"column":3}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":69,"column":3}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":6},"end":{"line":63,"column":159}},"type":"binary-expr","locations":[{"start":{"line":63,"column":6},"end":{"line":63,"column":42}},{"start":{"line":63,"column":46},"end":{"line":63,"column":82}},{"start":{"line":63,"column":86},"end":{"line":63,"column":123}},{"start":{"line":63,"column":127},"end":{"line":63,"column":159}}],"line":63},"10":{"loc":{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},{"start":{},"end":{}}],"line":64}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getVariablesMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/getVariablesMap.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":7,"column":9}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":25}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":15}}},"fnMap":{"0":{"name":"getVariablesMap","decl":{"start":{"line":3,"column":22},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":40},"end":{"line":8,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":79},"end":{"line":4,"column":80}},"loc":{"start":{"line":4,"column":94},"end":{"line":7,"column":3}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokenValues.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokenValues.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":71}},"1":{"start":{"line":4,"column":53},"end":{"line":4,"column":69}}},"fnMap":{"0":{"name":"hasTokenValues","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":69},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":42},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":53},"end":{"line":4,"column":69}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":23},"end":{"line":4,"column":35}},"type":"binary-expr","locations":[{"start":{"line":4,"column":23},"end":{"line":4,"column":29}},{"start":{"line":4,"column":33},"end":{"line":4,"column":35}}],"line":4}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/hasTokens.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":53}},"1":{"start":{"line":4,"column":44},"end":{"line":4,"column":51}}},"fnMap":{"0":{"name":"hasTokens","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":25}},"loc":{"start":{"line":3,"column":48},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":33},"end":{"line":4,"column":34}},"loc":{"start":{"line":4,"column":44},"end":{"line":4,"column":51}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAliasReference.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAliasReference.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":78}}},"fnMap":{"0":{"name":"isVariableWithAliasReference","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":87},"end":{"line":3,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":9},"end":{"line":2,"column":77}},"type":"binary-expr","locations":[{"start":{"line":2,"column":9},"end":{"line":2,"column":32}},{"start":{"line":2,"column":36},"end":{"line":2,"column":47}},{"start":{"line":2,"column":51},"end":{"line":2,"column":77}}],"line":2}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAutoLayout.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isAutoLayout.tsx","statementMap":{"0":{"start":{"line":1,"column":28},"end":{"line":1,"column":111}},"1":{"start":{"line":1,"column":49},"end":{"line":1,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":28},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":49},"end":{"line":1,"column":111}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":49},"end":{"line":1,"column":111}},"type":"binary-expr","locations":[{"start":{"line":1,"column":49},"end":{"line":1,"column":69}},{"start":{"line":1,"column":73},"end":{"line":1,"column":111}}],"line":1}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isColorEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isColorEqual.ts","statementMap":{"0":{"start":{"line":14,"column":2},"end":{"line":14,"column":75}}},"fnMap":{"0":{"name":"isColorEqual","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":28}},"loc":{"start":{"line":3,"column":57},"end":{"line":15,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEffectEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEffectEqual.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":28,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":27,"column":5}},"2":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"3":{"start":{"line":10,"column":8},"end":{"line":19,"column":10}},"4":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"5":{"start":{"line":25,"column":8},"end":{"line":25,"column":49}},"6":{"start":{"line":29,"column":2},"end":{"line":29,"column":15}}},"fnMap":{"0":{"name":"isEffectEqual","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":66},"end":{"line":30,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":24}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":13}},{"start":{"line":4,"column":17},"end":{"line":4,"column":24}}],"line":4},"2":{"loc":{"start":{"line":5,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":27,"column":5}},{"start":{},"end":{}}],"line":5},"3":{"loc":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":6},"4":{"loc":{"start":{"line":7,"column":8},"end":{"line":8,"column":79}},"type":"binary-expr","locations":[{"start":{"line":7,"column":9},"end":{"line":7,"column":39}},{"start":{"line":7,"column":43},"end":{"line":7,"column":73}},{"start":{"line":8,"column":12},"end":{"line":8,"column":43}},{"start":{"line":8,"column":47},"end":{"line":8,"column":78}}],"line":7},"5":{"loc":{"start":{"line":11,"column":10},"end":{"line":16,"column":52}},"type":"binary-expr","locations":[{"start":{"line":11,"column":10},"end":{"line":11,"column":52}},{"start":{"line":12,"column":13},"end":{"line":12,"column":50}},{"start":{"line":13,"column":13},"end":{"line":13,"column":50}},{"start":{"line":14,"column":13},"end":{"line":14,"column":46}},{"start":{"line":15,"column":13},"end":{"line":15,"column":46}},{"start":{"line":16,"column":13},"end":{"line":16,"column":52}}],"line":11},"6":{"loc":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},{"start":{},"end":{}}],"line":21},"7":{"loc":{"start":{"line":22,"column":8},"end":{"line":23,"column":75}},"type":"binary-expr","locations":[{"start":{"line":22,"column":9},"end":{"line":22,"column":43}},{"start":{"line":22,"column":47},"end":{"line":22,"column":81}},{"start":{"line":23,"column":12},"end":{"line":23,"column":41}},{"start":{"line":23,"column":45},"end":{"line":23,"column":74}}],"line":22}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0,0,0,0,0],"6":[0,0],"7":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isEqual.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":11,"column":4},"end":{"line":11,"column":16}},"2":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":16}},"4":{"start":{"line":19,"column":2},"end":{"line":24,"column":3}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":17}},"6":{"start":{"line":26,"column":2},"end":{"line":29,"column":3}},"7":{"start":{"line":28,"column":4},"end":{"line":28,"column":17}},"8":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"9":{"start":{"line":32,"column":4},"end":{"line":32,"column":17}},"10":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"11":{"start":{"line":36,"column":4},"end":{"line":36,"column":41}},"12":{"start":{"line":39,"column":2},"end":{"line":41,"column":3}},"13":{"start":{"line":40,"column":4},"end":{"line":40,"column":65}},"14":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"15":{"start":{"line":44,"column":4},"end":{"line":44,"column":42}},"16":{"start":{"line":47,"column":2},"end":{"line":47,"column":47}},"17":{"start":{"line":52,"column":2},"end":{"line":52,"column":49}},"18":{"start":{"line":56,"column":14},"end":{"line":56,"column":27}},"19":{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},"20":{"start":{"line":59,"column":4},"end":{"line":59,"column":17}},"21":{"start":{"line":62,"column":2},"end":{"line":66,"column":3}},"22":{"start":{"line":62,"column":15},"end":{"line":62,"column":16}},"23":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"24":{"start":{"line":64,"column":6},"end":{"line":64,"column":19}},"25":{"start":{"line":68,"column":2},"end":{"line":68,"column":14}},"26":{"start":{"line":75,"column":16},"end":{"line":75,"column":35}},"27":{"start":{"line":76,"column":16},"end":{"line":76,"column":35}},"28":{"start":{"line":77,"column":14},"end":{"line":77,"column":26}},"29":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"30":{"start":{"line":80,"column":4},"end":{"line":80,"column":17}},"31":{"start":{"line":83,"column":2},"end":{"line":95,"column":3}},"32":{"start":{"line":83,"column":15},"end":{"line":83,"column":16}},"33":{"start":{"line":84,"column":17},"end":{"line":84,"column":25}},"34":{"start":{"line":86,"column":4},"end":{"line":94,"column":5}},"35":{"start":{"line":93,"column":6},"end":{"line":93,"column":19}},"36":{"start":{"line":97,"column":2},"end":{"line":97,"column":14}}},"fnMap":{"0":{"name":"isEqual","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":59},"end":{"line":48,"column":1}},"line":9},"1":{"name":"compareNativeSubtypes","decl":{"start":{"line":50,"column":9},"end":{"line":50,"column":30}},"loc":{"start":{"line":50,"column":57},"end":{"line":53,"column":1}},"line":50},"2":{"name":"compareArrays","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":53},"end":{"line":69,"column":1}},"line":55},"3":{"name":"compareObjects","decl":{"start":{"line":74,"column":9},"end":{"line":74,"column":23}},"loc":{"start":{"line":74,"column":50},"end":{"line":98,"column":1}},"line":74}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":10},"1":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":15},"2":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":44}},"type":"binary-expr","locations":[{"start":{"line":15,"column":6},"end":{"line":15,"column":23}},{"start":{"line":15,"column":27},"end":{"line":15,"column":44}}],"line":15},"3":{"loc":{"start":{"line":19,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":24,"column":3}},{"start":{},"end":{}}],"line":19},"4":{"loc":{"start":{"line":20,"column":4},"end":{"line":21,"column":59}},"type":"binary-expr","locations":[{"start":{"line":20,"column":4},"end":{"line":20,"column":35}},{"start":{"line":21,"column":7},"end":{"line":21,"column":59}}],"line":20},"5":{"loc":{"start":{"line":26,"column":2},"end":{"line":29,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":29,"column":3}},{"start":{},"end":{}}],"line":26},"6":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":35},"8":{"loc":{"start":{"line":39,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":39},"9":{"loc":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},{"start":{},"end":{}}],"line":43},"10":{"loc":{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},"type":"if","locations":[{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},{"start":{},"end":{}}],"line":58},"11":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{},"end":{}}],"line":63},"12":{"loc":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"type":"if","locations":[{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},{"start":{},"end":{}}],"line":79},"13":{"loc":{"start":{"line":86,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":86},"14":{"loc":{"start":{"line":88,"column":8},"end":{"line":90,"column":46}},"type":"binary-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":35}},{"start":{"line":89,"column":11},"end":{"line":89,"column":28}},{"start":{"line":90,"column":11},"end":{"line":90,"column":46}}],"line":88}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isJSONString.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isJSONString.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":20}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":17}},"3":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}}},"fnMap":{"0":{"name":"IsJSONString","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":36}},"loc":{"start":{"line":1,"column":50},"end":{"line":8,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isPaintEqual.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isPaintEqual.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":49,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":47,"column":5}},"2":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"3":{"start":{"line":7,"column":8},"end":{"line":19,"column":10}},"4":{"start":{"line":22,"column":6},"end":{"line":46,"column":7}},"5":{"start":{"line":23,"column":8},"end":{"line":45,"column":10}},"6":{"start":{"line":26,"column":12},"end":{"line":37,"column":113}},"7":{"start":{"line":40,"column":12},"end":{"line":40,"column":56}},"8":{"start":{"line":43,"column":12},"end":{"line":43,"column":56}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":17}},"10":{"start":{"line":50,"column":2},"end":{"line":50,"column":27}}},"fnMap":{"0":{"name":"isPaintEqual","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":28}},"loc":{"start":{"line":3,"column":61},"end":{"line":51,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":40},"end":{"line":25,"column":41}},"loc":{"start":{"line":26,"column":12},"end":{"line":37,"column":113}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":47},"end":{"line":39,"column":48}},"loc":{"start":{"line":40,"column":12},"end":{"line":40,"column":56}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":47},"end":{"line":42,"column":48}},"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":56}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":49,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":22}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":12}},{"start":{"line":4,"column":16},"end":{"line":4,"column":22}}],"line":4},"2":{"loc":{"start":{"line":5,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":5},"3":{"loc":{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},"type":"if","locations":[{"start":{"line":6,"column":6},"end":{"line":20,"column":7}},{"start":{},"end":{}}],"line":6},"4":{"loc":{"start":{"line":6,"column":10},"end":{"line":6,"column":60}},"type":"binary-expr","locations":[{"start":{"line":6,"column":10},"end":{"line":6,"column":33}},{"start":{"line":6,"column":37},"end":{"line":6,"column":60}}],"line":6},"5":{"loc":{"start":{"line":8,"column":10},"end":{"line":18,"column":78}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":43}},{"start":{"line":18,"column":13},"end":{"line":18,"column":78}}],"line":8},"6":{"loc":{"start":{"line":22,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":46,"column":7}},{"start":{},"end":{}}],"line":22},"7":{"loc":{"start":{"line":22,"column":10},"end":{"line":22,"column":80}},"type":"binary-expr","locations":[{"start":{"line":22,"column":10},"end":{"line":22,"column":43}},{"start":{"line":22,"column":47},"end":{"line":22,"column":80}}],"line":22},"8":{"loc":{"start":{"line":24,"column":10},"end":{"line":44,"column":12}},"type":"binary-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":24,"column":69}},{"start":{"line":25,"column":13},"end":{"line":38,"column":12}},{"start":{"line":39,"column":13},"end":{"line":41,"column":12}},{"start":{"line":42,"column":13},"end":{"line":44,"column":12}}],"line":24},"9":{"loc":{"start":{"line":26,"column":12},"end":{"line":37,"column":113}},"type":"binary-expr","locations":[{"start":{"line":26,"column":12},"end":{"line":26,"column":66}},{"start":{"line":37,"column":17},"end":{"line":37,"column":113}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isSameCredentials.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/isSameCredentials.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":55}},"2":{"start":{"line":13,"column":2},"end":{"line":44,"column":3}},"3":{"start":{"line":18,"column":6},"end":{"line":23,"column":8}},"4":{"start":{"line":28,"column":6},"end":{"line":28,"column":84}},"5":{"start":{"line":31,"column":6},"end":{"line":36,"column":8}},"6":{"start":{"line":38,"column":6},"end":{"line":41,"column":8}},"7":{"start":{"line":43,"column":6},"end":{"line":43,"column":19}}},"fnMap":{"0":{"name":"isSameCredentials","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":26}},"loc":{"start":{"line":7,"column":11},"end":{"line":45,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":9,"column":97}},"type":"binary-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":51}},{"start":{"line":9,"column":55},"end":{"line":9,"column":76}},{"start":{"line":9,"column":80},"end":{"line":9,"column":97}}],"line":9},"2":{"loc":{"start":{"line":13,"column":2},"end":{"line":44,"column":3}},"type":"switch","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":36}},{"start":{"line":15,"column":4},"end":{"line":15,"column":36}},{"start":{"line":16,"column":4},"end":{"line":16,"column":33}},{"start":{"line":17,"column":4},"end":{"line":24,"column":5}},{"start":{"line":25,"column":4},"end":{"line":25,"column":55}},{"start":{"line":26,"column":4},"end":{"line":26,"column":37}},{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},{"start":{"line":30,"column":4},"end":{"line":36,"column":8}},{"start":{"line":37,"column":4},"end":{"line":41,"column":8}},{"start":{"line":42,"column":4},"end":{"line":43,"column":19}}],"line":13},"3":{"loc":{"start":{"line":19,"column":8},"end":{"line":22,"column":46}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":35}},{"start":{"line":20,"column":11},"end":{"line":20,"column":50}},{"start":{"line":21,"column":11},"end":{"line":21,"column":50}},{"start":{"line":22,"column":11},"end":{"line":22,"column":46}}],"line":19},"4":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":83}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":40}},{"start":{"line":28,"column":44},"end":{"line":28,"column":83}}],"line":28},"5":{"loc":{"start":{"line":32,"column":8},"end":{"line":35,"column":80}},"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":35}},{"start":{"line":33,"column":11},"end":{"line":33,"column":50}},{"start":{"line":34,"column":11},"end":{"line":34,"column":64}},{"start":{"line":35,"column":11},"end":{"line":35,"column":80}}],"line":32},"6":{"loc":{"start":{"line":39,"column":8},"end":{"line":40,"column":50}},"type":"binary-expr","locations":[{"start":{"line":39,"column":8},"end":{"line":39,"column":35}},{"start":{"line":40,"column":11},"end":{"line":40,"column":50}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0,0,0,0,0,0,0,0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/lastIndexOf.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/lastIndexOf.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":2,"column":17},"end":{"line":2,"column":33}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":17}},"4":{"start":{"line":7,"column":2},"end":{"line":7,"column":12}}},"fnMap":{"0":{"name":"lastIndexOf","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":27}},"loc":{"start":{"line":1,"column":103},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},{"start":{},"end":{}}],"line":3}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/ldUserFactory.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/ldUserFactory.ts","statementMap":{"0":{"start":{"line":2,"column":59},"end":{"line":4,"column":3}},"1":{"start":{"line":5,"column":2},"end":{"line":7,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":39}},"3":{"start":{"line":9,"column":2},"end":{"line":13,"column":4}}},"fnMap":{"0":{"name":"ldUserFactory","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":102},"end":{"line":14,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":41},"end":{"line":7,"column":3}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":10},"end":{"line":3,"column":20}},"type":"binary-expr","locations":[{"start":{"line":3,"column":10},"end":{"line":3,"column":14}},{"start":{"line":3,"column":18},"end":{"line":3,"column":20}}],"line":3}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapThemeToVariableInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapThemeToVariableInfo.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},"1":{"start":{"line":5,"column":14},"end":{"line":5,"column":24}},"2":{"start":{"line":6,"column":2},"end":{"line":12,"column":9}},"3":{"start":{"line":7,"column":4},"end":{"line":10,"column":6}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":15}}},"fnMap":{"0":{"name":"mapThemeToVariableInfo","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":74},"end":{"line":13,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":100},"end":{"line":6,"column":101}},"loc":{"start":{"line":6,"column":134},"end":{"line":12,"column":3}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":6,"column":24},"end":{"line":6,"column":61}},"type":"binary-expr","locations":[{"start":{"line":6,"column":24},"end":{"line":6,"column":55}},{"start":{"line":6,"column":59},"end":{"line":6,"column":61}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapTokensToVariableInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mapTokensToVariableInfo.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":13,"column":21}}},"fnMap":{"0":{"name":"mapTokensToVariableInfo","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":39}},"loc":{"start":{"line":7,"column":118},"end":{"line":14,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":165}},"type":"cond-expr","locations":[{"start":{"line":10,"column":82},"end":{"line":10,"column":151}},{"start":{"line":10,"column":154},"end":{"line":10,"column":165}}],"line":10},"1":{"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":78}},"type":"binary-expr","locations":[{"start":{"line":10,"column":12},"end":{"line":10,"column":43}},{"start":{"line":10,"column":47},"end":{"line":10,"column":78}}],"line":10},"2":{"loc":{"start":{"line":12,"column":16},"end":{"line":12,"column":66}},"type":"binary-expr","locations":[{"start":{"line":12,"column":16},"end":{"line":12,"column":60}},{"start":{"line":12,"column":64},"end":{"line":12,"column":66}}],"line":12}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchStyleName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchStyleName.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"matchStyleName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":30}},"loc":{"start":{"line":6,"column":2},"end":{"line":15,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":11,"column":36}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":35}},{"start":{"line":9,"column":7},"end":{"line":9,"column":36}},{"start":{"line":10,"column":7},"end":{"line":10,"column":38}},{"start":{"line":11,"column":7},"end":{"line":11,"column":36}}],"line":8}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchVariableName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/matchVariableName.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":8,"column":4}}},"fnMap":{"0":{"name":"matchVariableName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":33}},"loc":{"start":{"line":5,"column":2},"end":{"line":9,"column":1}},"line":5}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/migrate.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/migrate.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":7,"column":28}},"2":{"start":{"line":9,"column":2},"end":{"line":9,"column":25}}},"fnMap":{"0":{"name":"migrate","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":5,"column":10},"end":{"line":10,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":8,"column":3}},{"start":{},"end":{}}],"line":6}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mixpanel.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/mixpanel.tsx","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/modifyColor.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/modifyColor.ts","statementMap":{"0":{"start":{"line":10,"column":16},"end":{"line":10,"column":36}},"1":{"start":{"line":11,"column":22},"end":{"line":11,"column":27}},"2":{"start":{"line":12,"column":2},"end":{"line":35,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":30,"column":5}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":88}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":14}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":87}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":14}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":102}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":14}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":70}},"11":{"start":{"line":25,"column":8},"end":{"line":25,"column":14}},"12":{"start":{"line":28,"column":8},"end":{"line":28,"column":30}},"13":{"start":{"line":29,"column":8},"end":{"line":29,"column":14}},"14":{"start":{"line":31,"column":4},"end":{"line":31,"column":53}},"15":{"start":{"line":32,"column":4},"end":{"line":32,"column":67}},"16":{"start":{"line":34,"column":4},"end":{"line":34,"column":21}}},"fnMap":{"0":{"name":"modifyColor","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":27}},"loc":{"start":{"line":9,"column":72},"end":{"line":36,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":30,"column":5}},"type":"switch","locations":[{"start":{"line":14,"column":6},"end":{"line":16,"column":14}},{"start":{"line":17,"column":6},"end":{"line":19,"column":14}},{"start":{"line":20,"column":6},"end":{"line":22,"column":14}},{"start":{"line":23,"column":6},"end":{"line":26,"column":7}},{"start":{"line":27,"column":6},"end":{"line":29,"column":14}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0},"b":{"0":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/normalizeVariableName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/normalizeVariableName.ts","statementMap":{"0":{"start":{"line":2,"column":19},"end":{"line":2,"column":61}},"1":{"start":{"line":2,"column":49},"end":{"line":2,"column":60}},"2":{"start":{"line":3,"column":33},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":32}}},"fnMap":{"0":{"name":"normalizeVariableName","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":37}},"loc":{"start":{"line":1,"column":52},"end":{"line":5,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":39},"end":{"line":2,"column":40}},"loc":{"start":{"line":2,"column":49},"end":{"line":2,"column":60}},"line":2}},"branchMap":{},"s":{"0":36,"1":36,"2":36,"3":36},"f":{"0":36,"1":36},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a22b8ecda48e57c100d59ebb324912e2809ee56a"} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseJson.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseJson.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":69}}},"fnMap":{"0":{"name":"parseJson","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":51},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseTokenValues.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/parseTokenValues.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"1":{"start":{"line":10,"column":4},"end":{"line":12,"column":6}},"2":{"start":{"line":18,"column":24},"end":{"line":35,"column":8}},"3":{"start":{"line":19,"column":24},"end":{"line":19,"column":32}},"4":{"start":{"line":21,"column":4},"end":{"line":24,"column":5}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":41}},"6":{"start":{"line":23,"column":6},"end":{"line":23,"column":18}},"7":{"start":{"line":26,"column":4},"end":{"line":32,"column":5}},"8":{"start":{"line":27,"column":6},"end":{"line":27,"column":38}},"9":{"start":{"line":29,"column":31},"end":{"line":29,"column":75}},"10":{"start":{"line":30,"column":6},"end":{"line":30,"column":46}},"11":{"start":{"line":31,"column":6},"end":{"line":31,"column":18}},"12":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"13":{"start":{"line":37,"column":2},"end":{"line":37,"column":43}}},"fnMap":{"0":{"name":"parseTokenValues","decl":{"start":{"line":7,"column":24},"end":{"line":7,"column":40}},"loc":{"start":{"line":7,"column":102},"end":{"line":38,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":80},"end":{"line":18,"column":81}},"loc":{"start":{"line":18,"column":109},"end":{"line":35,"column":3}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":24,"column":5}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":32,"column":5}},{"start":{},"end":{}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeIdPropertyFromTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeIdPropertyFromTokens.ts","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":10,"column":8}},"1":{"start":{"line":7,"column":25},"end":{"line":7,"column":71}},"2":{"start":{"line":7,"column":44},"end":{"line":7,"column":70}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":28}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":15}},"5":{"start":{"line":12,"column":2},"end":{"line":12,"column":18}}},"fnMap":{"0":{"name":"removeIdPropertyFromTokens","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":50}},"loc":{"start":{"line":5,"column":90},"end":{"line":13,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":79},"end":{"line":6,"column":80}},"loc":{"start":{"line":6,"column":100},"end":{"line":10,"column":3}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":33},"end":{"line":7,"column":34}},"loc":{"start":{"line":7,"column":44},"end":{"line":7,"column":70}},"line":7}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeLicense.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeLicense.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":26,"column":3}},"1":{"start":{"line":6,"column":27},"end":{"line":10,"column":5}},"2":{"start":{"line":11,"column":16},"end":{"line":11,"column":92}},"3":{"start":{"line":12,"column":4},"end":{"line":15,"column":5}},"4":{"start":{"line":13,"column":18},"end":{"line":13,"column":34}},"5":{"start":{"line":14,"column":6},"end":{"line":14,"column":21}},"6":{"start":{"line":17,"column":24},"end":{"line":17,"column":40}},"7":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"8":{"start":{"line":22,"column":4},"end":{"line":22,"column":19}},"9":{"start":{"line":23,"column":4},"end":{"line":25,"column":6}}},"fnMap":{"0":{"name":"removeLicense","decl":{"start":{"line":1,"column":30},"end":{"line":1,"column":43}},"loc":{"start":{"line":4,"column":45},"end":{"line":27,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeTokenId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/removeTokenId.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":52}},"2":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"3":{"start":{"line":7,"column":6},"end":{"line":7,"column":50}},"4":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":33}},"6":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":29}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":15}}},"fnMap":{"0":{"name":"removeTokenId","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":94},"end":{"line":19,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":77}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":23}},{"start":{"line":4,"column":27},"end":{"line":4,"column":39}},{"start":{"line":4,"column":43},"end":{"line":4,"column":77}}],"line":4},"2":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},{"start":{},"end":{}}],"line":6},"3":{"loc":{"start":{"line":6,"column":20},"end":{"line":6,"column":62}},"type":"binary-expr","locations":[{"start":{"line":6,"column":20},"end":{"line":6,"column":56}},{"start":{"line":6,"column":60},"end":{"line":6,"column":62}}],"line":6},"4":{"loc":{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":11},"5":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":63}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":39}},{"start":{"line":11,"column":43},"end":{"line":11,"column":63}}],"line":11},"6":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":3}},{"start":{},"end":{}}],"line":15},"7":{"loc":{"start":{"line":15,"column":18},"end":{"line":15,"column":41}},"type":"binary-expr","locations":[{"start":{"line":15,"column":18},"end":{"line":15,"column":35}},{"start":{"line":15,"column":39},"end":{"line":15,"column":41}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/reorderItemInSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/reorderItemInSet.ts","statementMap":{},"fnMap":{"0":{"name":"reorderItemInSet","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":35},"end":{"line":3,"column":1}},"line":1}},"branchMap":{},"s":{},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/setTokenKey.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/setTokenKey.ts","statementMap":{"0":{"start":{"line":14,"column":17},"end":{"line":14,"column":63}},"1":{"start":{"line":16,"column":2},"end":{"line":27,"column":3}},"2":{"start":{"line":17,"column":4},"end":{"line":17,"column":42}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":28}},"5":{"start":{"line":22,"column":22},"end":{"line":22,"column":60}},"6":{"start":{"line":23,"column":4},"end":{"line":23,"column":31}},"7":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":34}},"9":{"start":{"line":29,"column":2},"end":{"line":29,"column":15}}},"fnMap":{"0":{"name":"setTokenKey","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":27}},"loc":{"start":{"line":13,"column":180},"end":{"line":30,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":27,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":27,"column":3}},{"start":{"line":21,"column":9},"end":{"line":27,"column":3}}],"line":16},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":22,"column":22},"end":{"line":22,"column":60}},"type":"binary-expr","locations":[{"start":{"line":22,"column":22},"end":{"line":22,"column":42}},{"start":{"line":22,"column":46},"end":{"line":22,"column":60}}],"line":22},"3":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":5}},{"start":{},"end":{}}],"line":24}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSelectionValueByProperties.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSelectionValueByProperties.ts","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":6,"column":48}},"1":{"start":{"line":7,"column":2},"end":{"line":8,"column":60}},"2":{"start":{"line":7,"column":64},"end":{"line":7,"column":133}},"3":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}}},"fnMap":{"0":{"name":"sortSelectionValueByProperties","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":46}},"loc":{"start":{"line":5,"column":70},"end":{"line":9,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":54},"end":{"line":7,"column":55}},"loc":{"start":{"line":7,"column":64},"end":{"line":7,"column":133}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":10}},"loc":{"start":{"line":8,"column":17},"end":{"line":8,"column":56}},"line":8}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0,"2":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSets.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/sortSets.ts","statementMap":{"0":{"start":{"line":7,"column":18},"end":{"line":7,"column":54}},"1":{"start":{"line":8,"column":18},"end":{"line":8,"column":54}},"2":{"start":{"line":11,"column":2},"end":{"line":11,"column":36}},"3":{"start":{"line":11,"column":27},"end":{"line":11,"column":36}},"4":{"start":{"line":14,"column":2},"end":{"line":14,"column":130}},"5":{"start":{"line":14,"column":120},"end":{"line":14,"column":130}},"6":{"start":{"line":15,"column":2},"end":{"line":15,"column":129}},"7":{"start":{"line":15,"column":120},"end":{"line":15,"column":129}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":11}}},"fnMap":{"0":{"name":"sortSets","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":24}},"loc":{"start":{"line":5,"column":73},"end":{"line":19,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":18},"end":{"line":7,"column":54}},"type":"binary-expr","locations":[{"start":{"line":7,"column":18},"end":{"line":7,"column":27}},{"start":{"line":7,"column":31},"end":{"line":7,"column":54}}],"line":7},"1":{"loc":{"start":{"line":8,"column":18},"end":{"line":8,"column":54}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":27}},{"start":{"line":8,"column":31},"end":{"line":8,"column":54}}],"line":8},"2":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":36}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":11,"column":36}},{"start":{},"end":{}}],"line":11},"3":{"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":130}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":14,"column":130}},{"start":{},"end":{}}],"line":14},"4":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":118}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":41}},{"start":{"line":14,"column":46},"end":{"line":14,"column":80}},{"start":{"line":14,"column":84},"end":{"line":14,"column":117}}],"line":14},"5":{"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":129}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":129}},{"start":{},"end":{}}],"line":15},"6":{"loc":{"start":{"line":15,"column":6},"end":{"line":15,"column":118}},"type":"binary-expr","locations":[{"start":{"line":15,"column":7},"end":{"line":15,"column":41}},{"start":{"line":15,"column":45},"end":{"line":15,"column":78}},{"start":{"line":15,"column":83},"end":{"line":15,"column":118}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/splitIntoChunks.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/splitIntoChunks.ts","statementMap":{"0":{"start":{"line":8,"column":27},"end":{"line":8,"column":29}},"1":{"start":{"line":9,"column":21},"end":{"line":9,"column":23}},"2":{"start":{"line":10,"column":22},"end":{"line":10,"column":23}},"3":{"start":{"line":11,"column":19},"end":{"line":11,"column":43}},"4":{"start":{"line":14,"column":2},"end":{"line":26,"column":3}},"5":{"start":{"line":14,"column":15},"end":{"line":14,"column":16}},"6":{"start":{"line":15,"column":17},"end":{"line":15,"column":23}},"7":{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},"8":{"start":{"line":19,"column":6},"end":{"line":19,"column":32}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":26}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":24}},"11":{"start":{"line":23,"column":6},"end":{"line":23,"column":27}},"12":{"start":{"line":24,"column":6},"end":{"line":24,"column":25}},"13":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"14":{"start":{"line":30,"column":4},"end":{"line":30,"column":30}},"15":{"start":{"line":33,"column":2},"end":{"line":33,"column":16}}},"fnMap":{"0":{"name":"splitIntoChunks","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":31}},"loc":{"start":{"line":7,"column":73},"end":{"line":34,"column":1}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":25,"column":5}},{"start":{"line":22,"column":11},"end":{"line":25,"column":5}}],"line":18},"1":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":29}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/storyblok.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/storyblok.ts","statementMap":{"0":{"start":{"line":4,"column":20},"end":{"line":12,"column":4}},"1":{"start":{"line":13,"column":51},"end":{"line":13,"column":80}},"2":{"start":{"line":14,"column":2},"end":{"line":14,"column":83}},"3":{"start":{"line":18,"column":2},"end":{"line":41,"column":3}},"4":{"start":{"line":19,"column":18},"end":{"line":19,"column":52}},"5":{"start":{"line":20,"column":26},"end":{"line":20,"column":58}},"6":{"start":{"line":21,"column":21},"end":{"line":32,"column":5}},"7":{"start":{"line":34,"column":16},"end":{"line":36,"column":5}},"8":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"9":{"start":{"line":38,"column":22},"end":{"line":38,"column":72}},"10":{"start":{"line":38,"column":50},"end":{"line":38,"column":70}},"11":{"start":{"line":39,"column":6},"end":{"line":39,"column":28}}},"fnMap":{"0":{"name":"formatDate","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":26}},"loc":{"start":{"line":3,"column":49},"end":{"line":15,"column":1}},"line":3},"1":{"name":"fetchChangelog","decl":{"start":{"line":17,"column":30},"end":{"line":17,"column":44}},"loc":{"start":{"line":17,"column":140},"end":{"line":42,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":38},"end":{"line":38,"column":39}},"loc":{"start":{"line":38,"column":50},"end":{"line":38,"column":70}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":41,"column":3}},{"start":{},"end":{}}],"line":18},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":18,"column":73}},"type":"binary-expr","locations":[{"start":{"line":18,"column":6},"end":{"line":18,"column":40}},{"start":{"line":18,"column":44},"end":{"line":18,"column":73}}],"line":18},"2":{"loc":{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/stringifyTokens.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/stringifyTokens.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":12,"column":3}},"1":{"start":{"line":10,"column":28},"end":{"line":10,"column":81}},"2":{"start":{"line":11,"column":4},"end":{"line":11,"column":80}},"3":{"start":{"line":13,"column":2},"end":{"line":13,"column":34}},"4":{"start":{"line":21,"column":19},"end":{"line":21,"column":21}},"5":{"start":{"line":22,"column":2},"end":{"line":51,"column":5}},"6":{"start":{"line":23,"column":26},"end":{"line":23,"column":50}},"7":{"start":{"line":24,"column":42},"end":{"line":24,"column":97}},"8":{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},"9":{"start":{"line":26,"column":68},"end":{"line":26,"column":84}},"10":{"start":{"line":27,"column":39},"end":{"line":27,"column":67}},"11":{"start":{"line":29,"column":6},"end":{"line":29,"column":86}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":70}},"13":{"start":{"line":31,"column":6},"end":{"line":31,"column":82}},"14":{"start":{"line":32,"column":6},"end":{"line":36,"column":7}},"15":{"start":{"line":33,"column":8},"end":{"line":33,"column":32}},"16":{"start":{"line":34,"column":8},"end":{"line":34,"column":33}},"17":{"start":{"line":35,"column":8},"end":{"line":35,"column":39}},"18":{"start":{"line":37,"column":6},"end":{"line":37,"column":30}},"19":{"start":{"line":38,"column":6},"end":{"line":38,"column":62}},"20":{"start":{"line":40,"column":39},"end":{"line":40,"column":55}},"21":{"start":{"line":41,"column":6},"end":{"line":41,"column":63}},"22":{"start":{"line":42,"column":6},"end":{"line":42,"column":65}},"23":{"start":{"line":43,"column":6},"end":{"line":43,"column":77}},"24":{"start":{"line":44,"column":6},"end":{"line":48,"column":7}},"25":{"start":{"line":45,"column":8},"end":{"line":45,"column":32}},"26":{"start":{"line":46,"column":8},"end":{"line":46,"column":33}},"27":{"start":{"line":47,"column":8},"end":{"line":47,"column":39}},"28":{"start":{"line":49,"column":6},"end":{"line":49,"column":62}},"29":{"start":{"line":53,"column":2},"end":{"line":53,"column":43}}},"fnMap":{"0":{"name":"getGroupTypeName","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":32}},"loc":{"start":{"line":8,"column":80},"end":{"line":14,"column":1}},"line":8},"1":{"name":"stringifyTokens","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":39}},"loc":{"start":{"line":20,"column":10},"end":{"line":54,"column":1}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":34},"end":{"line":22,"column":35}},"loc":{"start":{"line":22,"column":45},"end":{"line":51,"column":3}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":12,"column":3}},{"start":{},"end":{}}],"line":9},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":50,"column":5}},{"start":{"line":39,"column":11},"end":{"line":50,"column":5}}],"line":25},"2":{"loc":{"start":{"line":32,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":36,"column":7}},{"start":{},"end":{}}],"line":32},"3":{"loc":{"start":{"line":44,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":48,"column":7}},{"start":{},"end":{}}],"line":44}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/themeListToTree.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/themeListToTree.ts","statementMap":{"0":{"start":{"line":17,"column":15},"end":{"line":63,"column":8}},"1":{"start":{"line":18,"column":24},"end":{"line":22,"column":5}},"2":{"start":{"line":19,"column":16},"end":{"line":21,"column":91}},"3":{"start":{"line":24,"column":4},"end":{"line":61,"column":5}},"4":{"start":{"line":25,"column":6},"end":{"line":34,"column":9}},"5":{"start":{"line":35,"column":6},"end":{"line":44,"column":9}},"6":{"start":{"line":46,"column":29},"end":{"line":50,"column":14}},"7":{"start":{"line":47,"column":18},"end":{"line":49,"column":96}},"8":{"start":{"line":51,"column":6},"end":{"line":60,"column":9}},"9":{"start":{"line":62,"column":4},"end":{"line":62,"column":15}},"10":{"start":{"line":64,"column":2},"end":{"line":64,"column":14}}},"fnMap":{"0":{"name":"themeListToTree","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":31}},"loc":{"start":{"line":16,"column":57},"end":{"line":65,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":40},"end":{"line":17,"column":41}},"loc":{"start":{"line":17,"column":55},"end":{"line":63,"column":3}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":6},"end":{"line":19,"column":7}},"loc":{"start":{"line":19,"column":16},"end":{"line":21,"column":91}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":8},"end":{"line":47,"column":9}},"loc":{"start":{"line":47,"column":18},"end":{"line":49,"column":96}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":16},"end":{"line":21,"column":91}},"type":"binary-expr","locations":[{"start":{"line":19,"column":16},"end":{"line":19,"column":28}},{"start":{"line":20,"column":13},"end":{"line":20,"column":47}},{"start":{"line":20,"column":51},"end":{"line":20,"column":74}},{"start":{"line":21,"column":14},"end":{"line":21,"column":48}},{"start":{"line":21,"column":52},"end":{"line":21,"column":89}}],"line":19},"1":{"loc":{"start":{"line":24,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":61,"column":5}},{"start":{"line":45,"column":11},"end":{"line":61,"column":5}}],"line":24},"2":{"loc":{"start":{"line":27,"column":15},"end":{"line":27,"column":54}},"type":"binary-expr","locations":[{"start":{"line":27,"column":15},"end":{"line":27,"column":26}},{"start":{"line":27,"column":30},"end":{"line":27,"column":54}}],"line":27},"3":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":52}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":24}},{"start":{"line":28,"column":28},"end":{"line":28,"column":52}}],"line":28},"4":{"loc":{"start":{"line":30,"column":14},"end":{"line":30,"column":53}},"type":"binary-expr","locations":[{"start":{"line":30,"column":14},"end":{"line":30,"column":25}},{"start":{"line":30,"column":29},"end":{"line":30,"column":53}}],"line":30},"5":{"loc":{"start":{"line":32,"column":15},"end":{"line":32,"column":54}},"type":"binary-expr","locations":[{"start":{"line":32,"column":15},"end":{"line":32,"column":26}},{"start":{"line":32,"column":30},"end":{"line":32,"column":54}}],"line":32},"6":{"loc":{"start":{"line":39,"column":16},"end":{"line":39,"column":55}},"type":"binary-expr","locations":[{"start":{"line":39,"column":16},"end":{"line":39,"column":27}},{"start":{"line":39,"column":31},"end":{"line":39,"column":55}}],"line":39},"7":{"loc":{"start":{"line":40,"column":17},"end":{"line":40,"column":56}},"type":"binary-expr","locations":[{"start":{"line":40,"column":17},"end":{"line":40,"column":28}},{"start":{"line":40,"column":32},"end":{"line":40,"column":56}}],"line":40},"8":{"loc":{"start":{"line":47,"column":18},"end":{"line":49,"column":96}},"type":"binary-expr","locations":[{"start":{"line":47,"column":18},"end":{"line":47,"column":38}},{"start":{"line":48,"column":15},"end":{"line":48,"column":49}},{"start":{"line":48,"column":53},"end":{"line":48,"column":79}},{"start":{"line":49,"column":16},"end":{"line":49,"column":50}},{"start":{"line":49,"column":54},"end":{"line":49,"column":94}}],"line":47},"9":{"loc":{"start":{"line":55,"column":16},"end":{"line":55,"column":55}},"type":"binary-expr","locations":[{"start":{"line":55,"column":16},"end":{"line":55,"column":27}},{"start":{"line":55,"column":31},"end":{"line":55,"column":55}}],"line":55},"10":{"loc":{"start":{"line":56,"column":17},"end":{"line":56,"column":56}},"type":"binary-expr","locations":[{"start":{"line":56,"column":17},"end":{"line":56,"column":28}},{"start":{"line":56,"column":32},"end":{"line":56,"column":56}}],"line":56}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0,0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0],"9":[0,0],"10":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenArrayGroupToMap.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenArrayGroupToMap.ts","statementMap":{"0":{"start":{"line":4,"column":26},"end":{"line":4,"column":109}},"1":{"start":{"line":4,"column":87},"end":{"line":4,"column":106}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":25}}},"fnMap":{"0":{"name":"tokenArrayGroupToMap","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":59},"end":{"line":6,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":75},"end":{"line":4,"column":76}},"loc":{"start":{"line":4,"column":87},"end":{"line":4,"column":106}},"line":4}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenHelpers.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenHelpers.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":29,"column":43}},"1":{"start":{"line":16,"column":25},"end":{"line":16,"column":69}},"2":{"start":{"line":16,"column":48},"end":{"line":16,"column":68}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":34}},"4":{"start":{"line":17,"column":23},"end":{"line":17,"column":34}},"5":{"start":{"line":19,"column":4},"end":{"line":27,"column":7}},"6":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"7":{"start":{"line":22,"column":8},"end":{"line":22,"column":31}},"8":{"start":{"line":24,"column":13},"end":{"line":26,"column":7}},"9":{"start":{"line":25,"column":8},"end":{"line":25,"column":31}},"10":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}},"11":{"start":{"line":33,"column":2},"end":{"line":35,"column":33}},"12":{"start":{"line":34,"column":21},"end":{"line":34,"column":61}},"13":{"start":{"line":35,"column":23},"end":{"line":35,"column":31}},"14":{"start":{"line":44,"column":56},"end":{"line":49,"column":3}},"15":{"start":{"line":52,"column":22},"end":{"line":54,"column":60}},"16":{"start":{"line":52,"column":74},"end":{"line":54,"column":60}},"17":{"start":{"line":56,"column":2},"end":{"line":91,"column":26}},"18":{"start":{"line":57,"column":22},"end":{"line":57,"column":43}},"19":{"start":{"line":58,"column":4},"end":{"line":89,"column":7}},"20":{"start":{"line":59,"column":28},"end":{"line":59,"column":80}},"21":{"start":{"line":59,"column":58},"end":{"line":59,"column":79}},"22":{"start":{"line":60,"column":28},"end":{"line":60,"column":55}},"23":{"start":{"line":61,"column":23},"end":{"line":64,"column":22}},"24":{"start":{"line":66,"column":6},"end":{"line":88,"column":7}},"25":{"start":{"line":68,"column":8},"end":{"line":68,"column":36}},"26":{"start":{"line":69,"column":13},"end":{"line":88,"column":7}},"27":{"start":{"line":78,"column":8},"end":{"line":84,"column":26}},"28":{"start":{"line":87,"column":8},"end":{"line":87,"column":47}},"29":{"start":{"line":90,"column":4},"end":{"line":90,"column":24}}},"fnMap":{"0":{"name":"getOverallConfig","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":32}},"loc":{"start":{"line":14,"column":82},"end":{"line":30,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":31},"end":{"line":15,"column":32}},"loc":{"start":{"line":15,"column":49},"end":{"line":29,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":37},"end":{"line":16,"column":38}},"loc":{"start":{"line":16,"column":48},"end":{"line":16,"column":68}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":59},"end":{"line":19,"column":60}},"loc":{"start":{"line":19,"column":83},"end":{"line":27,"column":5}},"line":19},"4":{"name":"getEnabledTokenSets","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":35}},"loc":{"start":{"line":32,"column":69},"end":{"line":36,"column":1}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":34,"column":12},"end":{"line":34,"column":13}},"loc":{"start":{"line":34,"column":21},"end":{"line":34,"column":61}},"line":34},"6":{"name":"(anonymous_6)","decl":{"start":{"line":35,"column":9},"end":{"line":35,"column":10}},"loc":{"start":{"line":35,"column":23},"end":{"line":35,"column":31}},"line":35},"7":{"name":"mergeTokenGroups","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":32}},"loc":{"start":{"line":43,"column":17},"end":{"line":92,"column":1}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":22},"end":{"line":52,"column":23}},"loc":{"start":{"line":52,"column":74},"end":{"line":54,"column":60}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":31},"end":{"line":56,"column":32}},"loc":{"start":{"line":56,"column":58},"end":{"line":91,"column":3}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":22},"end":{"line":58,"column":23}},"loc":{"start":{"line":58,"column":33},"end":{"line":89,"column":5}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":51},"end":{"line":59,"column":52}},"loc":{"start":{"line":59,"column":58},"end":{"line":59,"column":79}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":34}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":34}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":26,"column":7}},{"start":{"line":24,"column":13},"end":{"line":26,"column":7}}],"line":21},"2":{"loc":{"start":{"line":24,"column":13},"end":{"line":26,"column":7}},"type":"if","locations":[{"start":{"line":24,"column":13},"end":{"line":26,"column":7}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":24,"column":17},"end":{"line":24,"column":93}},"type":"binary-expr","locations":[{"start":{"line":24,"column":17},"end":{"line":24,"column":49}},{"start":{"line":24,"column":53},"end":{"line":24,"column":93}}],"line":24},"4":{"loc":{"start":{"line":32,"column":36},"end":{"line":32,"column":67}},"type":"default-arg","locations":[{"start":{"line":32,"column":65},"end":{"line":32,"column":67}}],"line":32},"5":{"loc":{"start":{"line":40,"column":2},"end":{"line":40,"column":33}},"type":"default-arg","locations":[{"start":{"line":40,"column":31},"end":{"line":40,"column":33}}],"line":40},"6":{"loc":{"start":{"line":41,"column":2},"end":{"line":41,"column":38}},"type":"default-arg","locations":[{"start":{"line":41,"column":36},"end":{"line":41,"column":38}}],"line":41},"7":{"loc":{"start":{"line":52,"column":74},"end":{"line":54,"column":60}},"type":"binary-expr","locations":[{"start":{"line":52,"column":74},"end":{"line":52,"column":107}},{"start":{"line":53,"column":7},"end":{"line":53,"column":37}},{"start":{"line":54,"column":7},"end":{"line":54,"column":60}}],"line":52},"8":{"loc":{"start":{"line":57,"column":22},"end":{"line":57,"column":43}},"type":"binary-expr","locations":[{"start":{"line":57,"column":22},"end":{"line":57,"column":37}},{"start":{"line":57,"column":41},"end":{"line":57,"column":43}}],"line":57},"9":{"loc":{"start":{"line":66,"column":6},"end":{"line":88,"column":7}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":88,"column":7}},{"start":{"line":69,"column":13},"end":{"line":88,"column":7}}],"line":66},"10":{"loc":{"start":{"line":69,"column":13},"end":{"line":88,"column":7}},"type":"if","locations":[{"start":{"line":69,"column":13},"end":{"line":88,"column":7}},{"start":{"line":85,"column":13},"end":{"line":88,"column":7}}],"line":69},"11":{"loc":{"start":{"line":70,"column":8},"end":{"line":75,"column":41}},"type":"binary-expr","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":43}},{"start":{"line":71,"column":11},"end":{"line":71,"column":29}},{"start":{"line":72,"column":11},"end":{"line":72,"column":50}},{"start":{"line":73,"column":11},"end":{"line":73,"column":45}},{"start":{"line":74,"column":11},"end":{"line":74,"column":46}},{"start":{"line":75,"column":11},"end":{"line":75,"column":41}}],"line":70}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0],"5":[0],"6":[0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transform.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transform.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":8,"column":71}}},"fnMap":{"0":{"name":"transform","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":18}},"loc":{"start":{"line":7,"column":98},"end":{"line":9,"column":1}},"line":7}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transformProviderName.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/transformProviderName.tsx","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":24,"column":1}},"1":{"start":{"line":4,"column":2},"end":{"line":23,"column":3}},"2":{"start":{"line":6,"column":6},"end":{"line":6,"column":26}},"3":{"start":{"line":8,"column":6},"end":{"line":8,"column":22}},"4":{"start":{"line":10,"column":6},"end":{"line":10,"column":22}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":32}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":19}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":19}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":25}},"9":{"start":{"line":20,"column":6},"end":{"line":20,"column":36}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":72},"end":{"line":24,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":23,"column":3}},"type":"switch","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":26}},{"start":{"line":7,"column":4},"end":{"line":8,"column":22}},{"start":{"line":9,"column":4},"end":{"line":10,"column":22}},{"start":{"line":11,"column":4},"end":{"line":12,"column":32}},{"start":{"line":13,"column":4},"end":{"line":14,"column":19}},{"start":{"line":15,"column":4},"end":{"line":16,"column":19}},{"start":{"line":17,"column":4},"end":{"line":18,"column":25}},{"start":{"line":19,"column":4},"end":{"line":20,"column":36}},{"start":{"line":21,"column":4},"end":{"line":22,"column":22}}],"line":4}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trimValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trimValue.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":11,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":10,"column":31}},"2":{"start":{"line":6,"column":6},"end":{"line":9,"column":12}},"3":{"start":{"line":7,"column":8},"end":{"line":7,"column":43}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":19}},"5":{"start":{"line":11,"column":4},"end":{"line":16,"column":3}},"6":{"start":{"line":12,"column":4},"end":{"line":15,"column":11}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":41}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":17}},"9":{"start":{"line":17,"column":2},"end":{"line":17,"column":33}}},"fnMap":{"0":{"name":"trimValue","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":85},"end":{"line":18,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":21},"end":{"line":5,"column":22}},"loc":{"start":{"line":6,"column":6},"end":{"line":9,"column":12}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":58},"end":{"line":6,"column":59}},"loc":{"start":{"line":6,"column":81},"end":{"line":9,"column":7}},"line":6},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":64},"end":{"line":12,"column":65}},"loc":{"start":{"line":12,"column":87},"end":{"line":15,"column":5}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":11,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyColorVariableId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyColorVariableId.ts","statementMap":{"0":{"start":{"line":12,"column":45},"end":{"line":12,"column":71}},"1":{"start":{"line":13,"column":30},"end":{"line":13,"column":113}},"2":{"start":{"line":14,"column":17},"end":{"line":14,"column":41}},"3":{"start":{"line":16,"column":2},"end":{"line":16,"column":51}},"4":{"start":{"line":16,"column":38},"end":{"line":16,"column":51}},"5":{"start":{"line":18,"column":19},"end":{"line":18,"column":79}},"6":{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},"7":{"start":{"line":19,"column":17},"end":{"line":19,"column":30}},"8":{"start":{"line":21,"column":2},"end":{"line":44,"column":3}},"9":{"start":{"line":22,"column":37},"end":{"line":22,"column":83}},"10":{"start":{"line":23,"column":4},"end":{"line":28,"column":5}},"11":{"start":{"line":24,"column":24},"end":{"line":24,"column":43}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":111}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":31}},"14":{"start":{"line":27,"column":6},"end":{"line":27,"column":67}},"15":{"start":{"line":29,"column":4},"end":{"line":34,"column":5}},"16":{"start":{"line":30,"column":25},"end":{"line":30,"column":46}},"17":{"start":{"line":31,"column":6},"end":{"line":31,"column":113}},"18":{"start":{"line":32,"column":6},"end":{"line":32,"column":34}},"19":{"start":{"line":33,"column":6},"end":{"line":33,"column":69}},"20":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"21":{"start":{"line":37,"column":24},"end":{"line":37,"column":44}},"22":{"start":{"line":38,"column":6},"end":{"line":38,"column":111}},"23":{"start":{"line":39,"column":6},"end":{"line":39,"column":32}},"24":{"start":{"line":40,"column":6},"end":{"line":40,"column":68}},"25":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"26":{"start":{"line":45,"column":2},"end":{"line":45,"column":15}}},"fnMap":{"0":{"name":"tryApplyColorVariableId","decl":{"start":{"line":11,"column":22},"end":{"line":11,"column":45}},"loc":{"start":{"line":11,"column":114},"end":{"line":46,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":51}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":16,"column":51}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":36}},"type":"binary-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":12}},{"start":{"line":16,"column":16},"end":{"line":16,"column":36}}],"line":16},"2":{"loc":{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},{"start":{},"end":{}}],"line":19},"3":{"loc":{"start":{"line":23,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":23,"column":8},"end":{"line":23,"column":45}},"type":"binary-expr","locations":[{"start":{"line":23,"column":8},"end":{"line":23,"column":24}},{"start":{"line":23,"column":28},"end":{"line":23,"column":45}}],"line":23},"5":{"loc":{"start":{"line":25,"column":62},"end":{"line":25,"column":90}},"type":"binary-expr","locations":[{"start":{"line":25,"column":62},"end":{"line":25,"column":74}},{"start":{"line":25,"column":78},"end":{"line":25,"column":90}}],"line":25},"6":{"loc":{"start":{"line":29,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":29},"7":{"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":49}},"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":26}},{"start":{"line":29,"column":30},"end":{"line":29,"column":49}}],"line":29},"8":{"loc":{"start":{"line":31,"column":63},"end":{"line":31,"column":92}},"type":"binary-expr","locations":[{"start":{"line":31,"column":63},"end":{"line":31,"column":76}},{"start":{"line":31,"column":80},"end":{"line":31,"column":92}}],"line":31},"9":{"loc":{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":41,"column":5}},{"start":{},"end":{}}],"line":36},"10":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":47}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":25}},{"start":{"line":36,"column":29},"end":{"line":36,"column":47}}],"line":36},"11":{"loc":{"start":{"line":38,"column":62},"end":{"line":38,"column":90}},"type":"binary-expr","locations":[{"start":{"line":38,"column":62},"end":{"line":38,"column":74}},{"start":{"line":38,"column":78},"end":{"line":38,"column":90}}],"line":38}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyEffectVariableId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyEffectVariableId.ts","statementMap":{"0":{"start":{"line":5,"column":45},"end":{"line":5,"column":71}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"2":{"start":{"line":6,"column":91},"end":{"line":6,"column":104}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":68}},"4":{"start":{"line":10,"column":2},"end":{"line":14,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":80}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":28}},"7":{"start":{"line":15,"column":2},"end":{"line":15,"column":15}}},"fnMap":{"0":{"name":"tryApplyEffectVariableId","decl":{"start":{"line":4,"column":22},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":78},"end":{"line":16,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},{"start":{},"end":{}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyVariableId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryApplyVariableId.ts","statementMap":{"0":{"start":{"line":5,"column":45},"end":{"line":5,"column":71}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"2":{"start":{"line":6,"column":91},"end":{"line":6,"column":104}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":79}},"4":{"start":{"line":10,"column":2},"end":{"line":31,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":30,"column":5}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":44}},"7":{"start":{"line":13,"column":6},"end":{"line":27,"column":7}},"8":{"start":{"line":14,"column":32},"end":{"line":14,"column":71}},"9":{"start":{"line":15,"column":28},"end":{"line":15,"column":59}},"10":{"start":{"line":16,"column":8},"end":{"line":23,"column":9}},"11":{"start":{"line":18,"column":26},"end":{"line":18,"column":32}},"12":{"start":{"line":19,"column":32},"end":{"line":19,"column":53}},"13":{"start":{"line":20,"column":26},"end":{"line":20,"column":73}},"14":{"start":{"line":22,"column":10},"end":{"line":22,"column":25}},"15":{"start":{"line":26,"column":8},"end":{"line":26,"column":47}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":30}},"17":{"start":{"line":32,"column":2},"end":{"line":32,"column":15}}},"fnMap":{"0":{"name":"tryApplyVariableId","decl":{"start":{"line":4,"column":22},"end":{"line":4,"column":40}},"loc":{"start":{"line":4,"column":106},"end":{"line":33,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":104}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":30}},"type":"binary-expr","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":14}},{"start":{"line":10,"column":18},"end":{"line":10,"column":30}}],"line":10},"3":{"loc":{"start":{"line":13,"column":6},"end":{"line":27,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":27,"column":7}},{"start":{},"end":{}}],"line":13},"4":{"loc":{"start":{"line":16,"column":8},"end":{"line":23,"column":9}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":23,"column":9}},{"start":{},"end":{}}],"line":16},"5":{"loc":{"start":{"line":16,"column":12},"end":{"line":16,"column":104}},"type":"binary-expr","locations":[{"start":{"line":16,"column":12},"end":{"line":16,"column":43}},{"start":{"line":16,"column":47},"end":{"line":16,"column":82}},{"start":{"line":16,"column":86},"end":{"line":16,"column":104}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryParseJson.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tryParseJson.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":23}},"3":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}}},"fnMap":{"0":{"name":"tryParseJson","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":28}},"loc":{"start":{"line":1,"column":63},"end":{"line":8,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trySetStyleId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/trySetStyleId.ts","statementMap":{"0":{"start":{"line":7,"column":45},"end":{"line":7,"column":71}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":104}},"2":{"start":{"line":8,"column":91},"end":{"line":8,"column":104}},"3":{"start":{"line":9,"column":2},"end":{"line":52,"column":3}},"4":{"start":{"line":11,"column":26},"end":{"line":11,"column":63}},"5":{"start":{"line":12,"column":26},"end":{"line":23,"column":6}},"6":{"start":{"line":13,"column":25},"end":{"line":13,"column":52}},"7":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"8":{"start":{"line":15,"column":8},"end":{"line":15,"column":31}},"9":{"start":{"line":16,"column":13},"end":{"line":22,"column":7}},"10":{"start":{"line":17,"column":8},"end":{"line":21,"column":13}},"11":{"start":{"line":18,"column":33},"end":{"line":18,"column":56}},"12":{"start":{"line":20,"column":12},"end":{"line":20,"column":28}},"13":{"start":{"line":24,"column":4},"end":{"line":24,"column":37}},"14":{"start":{"line":24,"column":24},"end":{"line":24,"column":37}},"15":{"start":{"line":25,"column":4},"end":{"line":34,"column":5}},"16":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"17":{"start":{"line":27,"column":6},"end":{"line":33,"column":8}},"18":{"start":{"line":36,"column":4},"end":{"line":39,"column":5}},"19":{"start":{"line":37,"column":6},"end":{"line":37,"column":41}},"20":{"start":{"line":38,"column":6},"end":{"line":38,"column":112}},"21":{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},"22":{"start":{"line":42,"column":6},"end":{"line":42,"column":39}},"23":{"start":{"line":43,"column":6},"end":{"line":43,"column":108}},"24":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"25":{"start":{"line":47,"column":6},"end":{"line":47,"column":41}},"26":{"start":{"line":48,"column":6},"end":{"line":48,"column":112}},"27":{"start":{"line":51,"column":4},"end":{"line":51,"column":51}},"28":{"start":{"line":53,"column":2},"end":{"line":53,"column":15}}},"fnMap":{"0":{"name":"trySetStyleId","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":35}},"loc":{"start":{"line":6,"column":86},"end":{"line":54,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":52},"end":{"line":12,"column":53}},"loc":{"start":{"line":12,"column":73},"end":{"line":23,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":17}},"loc":{"start":{"line":18,"column":33},"end":{"line":18,"column":56}},"line":18},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":17},"end":{"line":19,"column":18}},"loc":{"start":{"line":19,"column":23},"end":{"line":21,"column":11}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":104}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":8,"column":104}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":22,"column":7}},{"start":{"line":16,"column":13},"end":{"line":22,"column":7}}],"line":14},"2":{"loc":{"start":{"line":16,"column":13},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":13},"end":{"line":22,"column":7}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":24,"column":4},"end":{"line":24,"column":37}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":24,"column":37}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":25},"5":{"loc":{"start":{"line":25,"column":8},"end":{"line":25,"column":48}},"type":"binary-expr","locations":[{"start":{"line":25,"column":8},"end":{"line":25,"column":23}},{"start":{"line":25,"column":27},"end":{"line":25,"column":48}}],"line":25},"6":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":102}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":42}},{"start":{"line":28,"column":47},"end":{"line":28,"column":60}},{"start":{"line":28,"column":64},"end":{"line":28,"column":101}}],"line":28},"7":{"loc":{"start":{"line":36,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":36},"8":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":52}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":25}},{"start":{"line":36,"column":29},"end":{"line":36,"column":52}}],"line":36},"9":{"loc":{"start":{"line":38,"column":13},"end":{"line":38,"column":111}},"type":"binary-expr","locations":[{"start":{"line":38,"column":13},"end":{"line":38,"column":49}},{"start":{"line":38,"column":54},"end":{"line":38,"column":67}},{"start":{"line":38,"column":71},"end":{"line":38,"column":110}}],"line":38},"10":{"loc":{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},{"start":{},"end":{}}],"line":41},"11":{"loc":{"start":{"line":41,"column":8},"end":{"line":41,"column":48}},"type":"binary-expr","locations":[{"start":{"line":41,"column":8},"end":{"line":41,"column":23}},{"start":{"line":41,"column":27},"end":{"line":41,"column":48}}],"line":41},"12":{"loc":{"start":{"line":43,"column":13},"end":{"line":43,"column":107}},"type":"binary-expr","locations":[{"start":{"line":43,"column":13},"end":{"line":43,"column":47}},{"start":{"line":43,"column":52},"end":{"line":43,"column":65}},{"start":{"line":43,"column":69},"end":{"line":43,"column":106}}],"line":43},"13":{"loc":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":46},"14":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":52}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":25}},{"start":{"line":46,"column":29},"end":{"line":46,"column":52}}],"line":46},"15":{"loc":{"start":{"line":48,"column":13},"end":{"line":48,"column":111}},"type":"binary-expr","locations":[{"start":{"line":48,"column":13},"end":{"line":48,"column":49}},{"start":{"line":48,"column":54},"end":{"line":48,"column":67}},{"start":{"line":48,"column":71},"end":{"line":48,"column":110}}],"line":48}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0],"15":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/types.d.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/types.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/uiSettings.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/uiSettings.ts","statementMap":{"0":{"start":{"line":10,"column":2},"end":{"line":44,"column":3}},"1":{"start":{"line":11,"column":17},"end":{"line":11,"column":48}},"2":{"start":{"line":12,"column":4},"end":{"line":41,"column":7}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":78}},"4":{"start":{"line":48,"column":32},"end":{"line":48,"column":51}},"5":{"start":{"line":49,"column":2},"end":{"line":148,"column":3}},"6":{"start":{"line":50,"column":17},"end":{"line":50,"column":48}},"7":{"start":{"line":81,"column":4},"end":{"line":144,"column":5}},"8":{"start":{"line":82,"column":6},"end":{"line":82,"column":32}},"9":{"start":{"line":83,"column":6},"end":{"line":83,"column":34}},"10":{"start":{"line":84,"column":6},"end":{"line":84,"column":39}},"11":{"start":{"line":85,"column":6},"end":{"line":85,"column":98}},"12":{"start":{"line":86,"column":6},"end":{"line":86,"column":54}},"13":{"start":{"line":87,"column":6},"end":{"line":87,"column":89}},"14":{"start":{"line":88,"column":6},"end":{"line":88,"column":95}},"15":{"start":{"line":89,"column":6},"end":{"line":89,"column":187}},"16":{"start":{"line":90,"column":6},"end":{"line":90,"column":108}},"17":{"start":{"line":91,"column":6},"end":{"line":91,"column":95}},"18":{"start":{"line":92,"column":6},"end":{"line":92,"column":101}},"19":{"start":{"line":93,"column":6},"end":{"line":93,"column":98}},"20":{"start":{"line":94,"column":6},"end":{"line":94,"column":98}},"21":{"start":{"line":95,"column":6},"end":{"line":95,"column":87}},"22":{"start":{"line":96,"column":6},"end":{"line":96,"column":101}},"23":{"start":{"line":97,"column":6},"end":{"line":97,"column":89}},"24":{"start":{"line":98,"column":6},"end":{"line":98,"column":126}},"25":{"start":{"line":99,"column":6},"end":{"line":99,"column":155}},"26":{"start":{"line":100,"column":6},"end":{"line":100,"column":129}},"27":{"start":{"line":101,"column":6},"end":{"line":101,"column":150}},"28":{"start":{"line":102,"column":6},"end":{"line":102,"column":177}},"29":{"start":{"line":103,"column":6},"end":{"line":103,"column":104}},"30":{"start":{"line":104,"column":6},"end":{"line":104,"column":119}},"31":{"start":{"line":105,"column":6},"end":{"line":105,"column":87}},"32":{"start":{"line":106,"column":6},"end":{"line":106,"column":102}},"33":{"start":{"line":107,"column":6},"end":{"line":107,"column":102}},"34":{"start":{"line":108,"column":6},"end":{"line":108,"column":126}},"35":{"start":{"line":109,"column":6},"end":{"line":109,"column":66}},"36":{"start":{"line":110,"column":6},"end":{"line":139,"column":8}},"37":{"start":{"line":141,"column":6},"end":{"line":143,"column":7}},"38":{"start":{"line":142,"column":8},"end":{"line":142,"column":35}},"39":{"start":{"line":146,"column":4},"end":{"line":146,"column":23}},"40":{"start":{"line":147,"column":4},"end":{"line":147,"column":78}},"41":{"start":{"line":149,"column":2},"end":{"line":149,"column":18}}},"fnMap":{"0":{"name":"updateUISettings","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":38}},"loc":{"start":{"line":9,"column":75},"end":{"line":45,"column":1}},"line":9},"1":{"name":"getUISettings","decl":{"start":{"line":47,"column":22},"end":{"line":47,"column":35}},"loc":{"start":{"line":47,"column":75},"end":{"line":150,"column":1}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":24},"end":{"line":13,"column":77}},"type":"binary-expr","locations":[{"start":{"line":13,"column":24},"end":{"line":13,"column":51}},{"start":{"line":13,"column":55},"end":{"line":13,"column":77}}],"line":13},"1":{"loc":{"start":{"line":14,"column":13},"end":{"line":14,"column":44}},"type":"binary-expr","locations":[{"start":{"line":14,"column":13},"end":{"line":14,"column":29}},{"start":{"line":14,"column":33},"end":{"line":14,"column":44}}],"line":14},"2":{"loc":{"start":{"line":15,"column":16},"end":{"line":15,"column":53}},"type":"binary-expr","locations":[{"start":{"line":15,"column":16},"end":{"line":15,"column":35}},{"start":{"line":15,"column":39},"end":{"line":15,"column":53}}],"line":15},"3":{"loc":{"start":{"line":16,"column":14},"end":{"line":16,"column":47}},"type":"binary-expr","locations":[{"start":{"line":16,"column":14},"end":{"line":16,"column":31}},{"start":{"line":16,"column":35},"end":{"line":16,"column":47}}],"line":16},"4":{"loc":{"start":{"line":17,"column":23},"end":{"line":17,"column":74}},"type":"binary-expr","locations":[{"start":{"line":17,"column":23},"end":{"line":17,"column":49}},{"start":{"line":17,"column":53},"end":{"line":17,"column":74}}],"line":17},"5":{"loc":{"start":{"line":18,"column":18},"end":{"line":18,"column":59}},"type":"binary-expr","locations":[{"start":{"line":18,"column":18},"end":{"line":18,"column":39}},{"start":{"line":18,"column":43},"end":{"line":18,"column":59}}],"line":18},"6":{"loc":{"start":{"line":19,"column":20},"end":{"line":19,"column":65}},"type":"binary-expr","locations":[{"start":{"line":19,"column":20},"end":{"line":19,"column":43}},{"start":{"line":19,"column":47},"end":{"line":19,"column":65}}],"line":19},"7":{"loc":{"start":{"line":20,"column":22},"end":{"line":20,"column":71}},"type":"binary-expr","locations":[{"start":{"line":20,"column":22},"end":{"line":20,"column":47}},{"start":{"line":20,"column":51},"end":{"line":20,"column":71}}],"line":20},"8":{"loc":{"start":{"line":21,"column":38},"end":{"line":21,"column":119}},"type":"binary-expr","locations":[{"start":{"line":21,"column":38},"end":{"line":21,"column":79}},{"start":{"line":21,"column":83},"end":{"line":21,"column":119}}],"line":21},"9":{"loc":{"start":{"line":22,"column":26},"end":{"line":22,"column":83}},"type":"binary-expr","locations":[{"start":{"line":22,"column":26},"end":{"line":22,"column":55}},{"start":{"line":22,"column":59},"end":{"line":22,"column":83}}],"line":22},"10":{"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":101}},"type":"binary-expr","locations":[{"start":{"line":23,"column":32},"end":{"line":23,"column":67}},{"start":{"line":23,"column":71},"end":{"line":23,"column":101}}],"line":23},"11":{"loc":{"start":{"line":24,"column":42},"end":{"line":24,"column":131}},"type":"binary-expr","locations":[{"start":{"line":24,"column":42},"end":{"line":24,"column":87}},{"start":{"line":24,"column":91},"end":{"line":24,"column":131}}],"line":24},"12":{"loc":{"start":{"line":25,"column":33},"end":{"line":25,"column":104}},"type":"binary-expr","locations":[{"start":{"line":25,"column":33},"end":{"line":25,"column":69}},{"start":{"line":25,"column":73},"end":{"line":25,"column":104}}],"line":25},"13":{"loc":{"start":{"line":26,"column":40},"end":{"line":26,"column":125}},"type":"binary-expr","locations":[{"start":{"line":26,"column":40},"end":{"line":26,"column":83}},{"start":{"line":26,"column":87},"end":{"line":26,"column":125}}],"line":26},"14":{"loc":{"start":{"line":27,"column":49},"end":{"line":27,"column":152}},"type":"binary-expr","locations":[{"start":{"line":27,"column":49},"end":{"line":27,"column":101}},{"start":{"line":27,"column":105},"end":{"line":27,"column":152}}],"line":27},"15":{"loc":{"start":{"line":28,"column":24},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":28,"column":24},"end":{"line":28,"column":51}},{"start":{"line":28,"column":55},"end":{"line":28,"column":77}}],"line":28},"16":{"loc":{"start":{"line":29,"column":22},"end":{"line":29,"column":71}},"type":"binary-expr","locations":[{"start":{"line":29,"column":22},"end":{"line":29,"column":47}},{"start":{"line":29,"column":51},"end":{"line":29,"column":71}}],"line":29},"17":{"loc":{"start":{"line":30,"column":23},"end":{"line":30,"column":74}},"type":"binary-expr","locations":[{"start":{"line":30,"column":23},"end":{"line":30,"column":49}},{"start":{"line":30,"column":53},"end":{"line":30,"column":74}}],"line":30},"18":{"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":74}},"type":"binary-expr","locations":[{"start":{"line":31,"column":23},"end":{"line":31,"column":49}},{"start":{"line":31,"column":53},"end":{"line":31,"column":74}}],"line":31},"19":{"loc":{"start":{"line":32,"column":19},"end":{"line":32,"column":62}},"type":"binary-expr","locations":[{"start":{"line":32,"column":19},"end":{"line":32,"column":41}},{"start":{"line":32,"column":45},"end":{"line":32,"column":62}}],"line":32},"20":{"loc":{"start":{"line":33,"column":20},"end":{"line":33,"column":65}},"type":"binary-expr","locations":[{"start":{"line":33,"column":20},"end":{"line":33,"column":43}},{"start":{"line":33,"column":47},"end":{"line":33,"column":65}}],"line":33},"21":{"loc":{"start":{"line":34,"column":24},"end":{"line":34,"column":77}},"type":"binary-expr","locations":[{"start":{"line":34,"column":24},"end":{"line":34,"column":51}},{"start":{"line":34,"column":55},"end":{"line":34,"column":77}}],"line":34},"22":{"loc":{"start":{"line":35,"column":19},"end":{"line":35,"column":62}},"type":"binary-expr","locations":[{"start":{"line":35,"column":19},"end":{"line":35,"column":41}},{"start":{"line":35,"column":45},"end":{"line":35,"column":62}}],"line":35},"23":{"loc":{"start":{"line":36,"column":24},"end":{"line":36,"column":77}},"type":"binary-expr","locations":[{"start":{"line":36,"column":24},"end":{"line":36,"column":51}},{"start":{"line":36,"column":55},"end":{"line":36,"column":77}}],"line":36},"24":{"loc":{"start":{"line":37,"column":20},"end":{"line":37,"column":65}},"type":"binary-expr","locations":[{"start":{"line":37,"column":20},"end":{"line":37,"column":43}},{"start":{"line":37,"column":47},"end":{"line":37,"column":65}}],"line":37},"25":{"loc":{"start":{"line":38,"column":25},"end":{"line":38,"column":80}},"type":"binary-expr","locations":[{"start":{"line":38,"column":25},"end":{"line":38,"column":53}},{"start":{"line":38,"column":57},"end":{"line":38,"column":80}}],"line":38},"26":{"loc":{"start":{"line":39,"column":32},"end":{"line":39,"column":101}},"type":"binary-expr","locations":[{"start":{"line":39,"column":32},"end":{"line":39,"column":67}},{"start":{"line":39,"column":71},"end":{"line":39,"column":101}}],"line":39},"27":{"loc":{"start":{"line":40,"column":19},"end":{"line":40,"column":62}},"type":"binary-expr","locations":[{"start":{"line":40,"column":19},"end":{"line":40,"column":41}},{"start":{"line":40,"column":45},"end":{"line":40,"column":62}}],"line":40},"28":{"loc":{"start":{"line":47,"column":36},"end":{"line":47,"column":49}},"type":"default-arg","locations":[{"start":{"line":47,"column":45},"end":{"line":47,"column":49}}],"line":47},"29":{"loc":{"start":{"line":81,"column":4},"end":{"line":144,"column":5}},"type":"if","locations":[{"start":{"line":81,"column":4},"end":{"line":144,"column":5}},{"start":{},"end":{}}],"line":81},"30":{"loc":{"start":{"line":82,"column":14},"end":{"line":82,"column":31}},"type":"binary-expr","locations":[{"start":{"line":82,"column":14},"end":{"line":82,"column":24}},{"start":{"line":82,"column":28},"end":{"line":82,"column":31}}],"line":82},"31":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":33}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":26}},{"start":{"line":83,"column":30},"end":{"line":83,"column":33}}],"line":83},"32":{"loc":{"start":{"line":84,"column":17},"end":{"line":84,"column":38}},"type":"binary-expr","locations":[{"start":{"line":84,"column":17},"end":{"line":84,"column":30}},{"start":{"line":84,"column":34},"end":{"line":84,"column":38}}],"line":84},"33":{"loc":{"start":{"line":85,"column":24},"end":{"line":85,"column":97}},"type":"cond-expr","locations":[{"start":{"line":85,"column":70},"end":{"line":85,"column":74}},{"start":{"line":85,"column":77},"end":{"line":85,"column":97}}],"line":85},"34":{"loc":{"start":{"line":86,"column":19},"end":{"line":86,"column":53}},"type":"binary-expr","locations":[{"start":{"line":86,"column":19},"end":{"line":86,"column":34}},{"start":{"line":86,"column":38},"end":{"line":86,"column":53}}],"line":86},"35":{"loc":{"start":{"line":87,"column":21},"end":{"line":87,"column":88}},"type":"cond-expr","locations":[{"start":{"line":87,"column":64},"end":{"line":87,"column":68}},{"start":{"line":87,"column":71},"end":{"line":87,"column":88}}],"line":87},"36":{"loc":{"start":{"line":88,"column":23},"end":{"line":88,"column":94}},"type":"cond-expr","locations":[{"start":{"line":88,"column":68},"end":{"line":88,"column":72}},{"start":{"line":88,"column":75},"end":{"line":88,"column":94}}],"line":88},"37":{"loc":{"start":{"line":89,"column":39},"end":{"line":89,"column":186}},"type":"cond-expr","locations":[{"start":{"line":89,"column":100},"end":{"line":89,"column":148}},{"start":{"line":89,"column":151},"end":{"line":89,"column":186}}],"line":89},"38":{"loc":{"start":{"line":90,"column":27},"end":{"line":90,"column":107}},"type":"cond-expr","locations":[{"start":{"line":90,"column":76},"end":{"line":90,"column":81}},{"start":{"line":90,"column":84},"end":{"line":90,"column":107}}],"line":90},"39":{"loc":{"start":{"line":91,"column":23},"end":{"line":91,"column":94}},"type":"cond-expr","locations":[{"start":{"line":91,"column":68},"end":{"line":91,"column":72}},{"start":{"line":91,"column":75},"end":{"line":91,"column":94}}],"line":91},"40":{"loc":{"start":{"line":92,"column":25},"end":{"line":92,"column":100}},"type":"cond-expr","locations":[{"start":{"line":92,"column":72},"end":{"line":92,"column":76}},{"start":{"line":92,"column":79},"end":{"line":92,"column":100}}],"line":92},"41":{"loc":{"start":{"line":93,"column":24},"end":{"line":93,"column":97}},"type":"cond-expr","locations":[{"start":{"line":93,"column":70},"end":{"line":93,"column":74}},{"start":{"line":93,"column":77},"end":{"line":93,"column":97}}],"line":93},"42":{"loc":{"start":{"line":94,"column":24},"end":{"line":94,"column":97}},"type":"cond-expr","locations":[{"start":{"line":94,"column":70},"end":{"line":94,"column":74}},{"start":{"line":94,"column":77},"end":{"line":94,"column":97}}],"line":94},"43":{"loc":{"start":{"line":95,"column":20},"end":{"line":95,"column":86}},"type":"cond-expr","locations":[{"start":{"line":95,"column":62},"end":{"line":95,"column":67}},{"start":{"line":95,"column":70},"end":{"line":95,"column":86}}],"line":95},"44":{"loc":{"start":{"line":96,"column":25},"end":{"line":96,"column":100}},"type":"cond-expr","locations":[{"start":{"line":96,"column":72},"end":{"line":96,"column":76}},{"start":{"line":96,"column":79},"end":{"line":96,"column":100}}],"line":96},"45":{"loc":{"start":{"line":97,"column":21},"end":{"line":97,"column":88}},"type":"cond-expr","locations":[{"start":{"line":97,"column":64},"end":{"line":97,"column":68}},{"start":{"line":97,"column":71},"end":{"line":97,"column":88}}],"line":97},"46":{"loc":{"start":{"line":98,"column":33},"end":{"line":98,"column":125}},"type":"cond-expr","locations":[{"start":{"line":98,"column":88},"end":{"line":98,"column":93}},{"start":{"line":98,"column":96},"end":{"line":98,"column":125}}],"line":98},"47":{"loc":{"start":{"line":99,"column":43},"end":{"line":99,"column":154}},"type":"cond-expr","locations":[{"start":{"line":99,"column":108},"end":{"line":99,"column":112}},{"start":{"line":99,"column":115},"end":{"line":99,"column":154}}],"line":99},"48":{"loc":{"start":{"line":100,"column":34},"end":{"line":100,"column":128}},"type":"cond-expr","locations":[{"start":{"line":100,"column":90},"end":{"line":100,"column":95}},{"start":{"line":100,"column":98},"end":{"line":100,"column":128}}],"line":100},"49":{"loc":{"start":{"line":101,"column":41},"end":{"line":101,"column":149}},"type":"cond-expr","locations":[{"start":{"line":101,"column":104},"end":{"line":101,"column":109}},{"start":{"line":101,"column":112},"end":{"line":101,"column":149}}],"line":101},"50":{"loc":{"start":{"line":102,"column":50},"end":{"line":102,"column":176}},"type":"cond-expr","locations":[{"start":{"line":102,"column":122},"end":{"line":102,"column":127}},{"start":{"line":102,"column":130},"end":{"line":102,"column":176}}],"line":102},"51":{"loc":{"start":{"line":103,"column":21},"end":{"line":103,"column":103}},"type":"cond-expr","locations":[{"start":{"line":103,"column":64},"end":{"line":103,"column":83}},{"start":{"line":103,"column":86},"end":{"line":103,"column":103}}],"line":103},"52":{"loc":{"start":{"line":104,"column":26},"end":{"line":104,"column":118}},"type":"cond-expr","locations":[{"start":{"line":104,"column":74},"end":{"line":104,"column":93}},{"start":{"line":104,"column":96},"end":{"line":104,"column":118}}],"line":104},"53":{"loc":{"start":{"line":105,"column":20},"end":{"line":105,"column":86}},"type":"cond-expr","locations":[{"start":{"line":105,"column":62},"end":{"line":105,"column":67}},{"start":{"line":105,"column":70},"end":{"line":105,"column":86}}],"line":105},"54":{"loc":{"start":{"line":106,"column":25},"end":{"line":106,"column":101}},"type":"cond-expr","locations":[{"start":{"line":106,"column":72},"end":{"line":106,"column":77}},{"start":{"line":106,"column":80},"end":{"line":106,"column":101}}],"line":106},"55":{"loc":{"start":{"line":107,"column":25},"end":{"line":107,"column":101}},"type":"cond-expr","locations":[{"start":{"line":107,"column":72},"end":{"line":107,"column":77}},{"start":{"line":107,"column":80},"end":{"line":107,"column":101}}],"line":107},"56":{"loc":{"start":{"line":108,"column":33},"end":{"line":108,"column":125}},"type":"cond-expr","locations":[{"start":{"line":108,"column":88},"end":{"line":108,"column":93}},{"start":{"line":108,"column":96},"end":{"line":108,"column":125}}],"line":108},"57":{"loc":{"start":{"line":109,"column":20},"end":{"line":109,"column":65}},"type":"binary-expr","locations":[{"start":{"line":109,"column":20},"end":{"line":109,"column":36}},{"start":{"line":109,"column":40},"end":{"line":109,"column":65}}],"line":109},"58":{"loc":{"start":{"line":141,"column":6},"end":{"line":143,"column":7}},"type":"if","locations":[{"start":{"line":141,"column":6},"end":{"line":143,"column":7}},{"start":{},"end":{}}],"line":141}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/updateTokenPayloadToSingleToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/updateTokenPayloadToSingleToken.ts","statementMap":{"0":{"start":{"line":9,"column":32},"end":{"line":9,"column":71}},"1":{"start":{"line":11,"column":2},"end":{"line":25,"column":19}}},"fnMap":{"0":{"name":"updateTokenPayloadToSingleToken","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":47}},"loc":{"start":{"line":8,"column":15},"end":{"line":26,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":28}},"type":"cond-expr","locations":[{"start":{"line":18,"column":17},"end":{"line":18,"column":23}},{"start":{"line":18,"column":26},"end":{"line":18,"column":28}}],"line":18},"1":{"loc":{"start":{"line":22,"column":8},"end":{"line":24,"column":10}},"type":"cond-expr","locations":[{"start":{"line":22,"column":30},"end":{"line":24,"column":5}},{"start":{"line":24,"column":8},"end":{"line":24,"column":10}}],"line":22}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateGroupName.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateGroupName.ts","statementMap":{"0":{"start":{"line":12,"column":21},"end":{"line":15,"column":1}},"1":{"start":{"line":13,"column":20},"end":{"line":13,"column":35}},"2":{"start":{"line":14,"column":2},"end":{"line":14,"column":42}},"3":{"start":{"line":17,"column":30},"end":{"line":32,"column":1}},"4":{"start":{"line":18,"column":27},"end":{"line":18,"column":42}},"5":{"start":{"line":19,"column":27},"end":{"line":19,"column":42}},"6":{"start":{"line":22,"column":22},"end":{"line":22,"column":31}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":5}},"8":{"start":{"line":25,"column":4},"end":{"line":28,"column":5}},"9":{"start":{"line":26,"column":25},"end":{"line":26,"column":93}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":34}},"11":{"start":{"line":31,"column":2},"end":{"line":31,"column":33}},"12":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"13":{"start":{"line":36,"column":4},"end":{"line":36,"column":46}},"14":{"start":{"line":38,"column":25},"end":{"line":43,"column":7}},"15":{"start":{"line":39,"column":23},"end":{"line":39,"column":76}},"16":{"start":{"line":40,"column":29},"end":{"line":43,"column":5}},"17":{"start":{"line":45,"column":36},"end":{"line":47,"column":4}},"18":{"start":{"line":46,"column":4},"end":{"line":46,"column":57}},"19":{"start":{"line":46,"column":32},"end":{"line":46,"column":56}},"20":{"start":{"line":49,"column":33},"end":{"line":49,"column":88}},"21":{"start":{"line":50,"column":31},"end":{"line":57,"column":4}},"22":{"start":{"line":52,"column":25},"end":{"line":52,"column":77}},"23":{"start":{"line":52,"column":52},"end":{"line":52,"column":76}},"24":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"25":{"start":{"line":54,"column":6},"end":{"line":54,"column":54}},"26":{"start":{"line":56,"column":4},"end":{"line":56,"column":17}},"27":{"start":{"line":59,"column":27},"end":{"line":59,"column":233}},"28":{"start":{"line":59,"column":62},"end":{"line":59,"column":232}},"29":{"start":{"line":59,"column":98},"end":{"line":59,"column":115}},"30":{"start":{"line":59,"column":170},"end":{"line":59,"column":231}},"31":{"start":{"line":60,"column":2},"end":{"line":60,"column":98}},"32":{"start":{"line":60,"column":68},"end":{"line":60,"column":85}},"33":{"start":{"line":62,"column":33},"end":{"line":62,"column":149}},"34":{"start":{"line":62,"column":91},"end":{"line":62,"column":148}},"35":{"start":{"line":64,"column":2},"end":{"line":69,"column":3}},"36":{"start":{"line":65,"column":4},"end":{"line":68,"column":6}},"37":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"38":{"start":{"line":71,"column":4},"end":{"line":74,"column":6}},"39":{"start":{"line":76,"column":2},"end":{"line":76,"column":14}},"40":{"start":{"line":84,"column":2},"end":{"line":86,"column":3}},"41":{"start":{"line":85,"column":4},"end":{"line":85,"column":46}},"42":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"43":{"start":{"line":88,"column":4},"end":{"line":88,"column":16}},"44":{"start":{"line":90,"column":29},"end":{"line":90,"column":132}},"45":{"start":{"line":90,"column":71},"end":{"line":90,"column":130}},"46":{"start":{"line":91,"column":24},"end":{"line":98,"column":4}},"47":{"start":{"line":92,"column":30},"end":{"line":92,"column":35}},"48":{"start":{"line":93,"column":37},"end":{"line":93,"column":73}},"49":{"start":{"line":94,"column":4},"end":{"line":97,"column":6}},"50":{"start":{"line":100,"column":20},"end":{"line":107,"column":8}},"51":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"52":{"start":{"line":102,"column":6},"end":{"line":102,"column":52}},"53":{"start":{"line":104,"column":6},"end":{"line":104,"column":29}},"54":{"start":{"line":106,"column":4},"end":{"line":106,"column":15}},"55":{"start":{"line":109,"column":29},"end":{"line":122,"column":8}},"56":{"start":{"line":110,"column":4},"end":{"line":119,"column":5}},"57":{"start":{"line":111,"column":38},"end":{"line":111,"column":55}},"58":{"start":{"line":112,"column":40},"end":{"line":112,"column":54}},"59":{"start":{"line":114,"column":30},"end":{"line":114,"column":242}},"60":{"start":{"line":114,"column":68},"end":{"line":114,"column":241}},"61":{"start":{"line":114,"column":107},"end":{"line":114,"column":124}},"62":{"start":{"line":114,"column":179},"end":{"line":114,"column":240}},"63":{"start":{"line":115,"column":6},"end":{"line":115,"column":101}},"64":{"start":{"line":115,"column":71},"end":{"line":115,"column":88}},"65":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"66":{"start":{"line":117,"column":8},"end":{"line":117,"column":40}},"67":{"start":{"line":121,"column":4},"end":{"line":121,"column":15}},"68":{"start":{"line":124,"column":67},"end":{"line":132,"column":8}},"69":{"start":{"line":125,"column":35},"end":{"line":125,"column":100}},"70":{"start":{"line":126,"column":30},"end":{"line":126,"column":132}},"71":{"start":{"line":126,"column":74},"end":{"line":126,"column":131}},"72":{"start":{"line":127,"column":4},"end":{"line":129,"column":5}},"73":{"start":{"line":128,"column":6},"end":{"line":128,"column":48}},"74":{"start":{"line":131,"column":4},"end":{"line":131,"column":15}},"75":{"start":{"line":134,"column":2},"end":{"line":139,"column":3}},"76":{"start":{"line":135,"column":4},"end":{"line":138,"column":6}},"77":{"start":{"line":140,"column":2},"end":{"line":145,"column":3}},"78":{"start":{"line":141,"column":4},"end":{"line":144,"column":6}},"79":{"start":{"line":146,"column":2},"end":{"line":146,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":21},"end":{"line":12,"column":22}},"loc":{"start":{"line":12,"column":31},"end":{"line":15,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":30},"end":{"line":17,"column":31}},"loc":{"start":{"line":17,"column":64},"end":{"line":32,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":18}},"loc":{"start":{"line":24,"column":28},"end":{"line":29,"column":3}},"line":24},"3":{"name":"validateRenameGroupName","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":39}},"loc":{"start":{"line":34,"column":80},"end":{"line":77,"column":1}},"line":34},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":12},"end":{"line":39,"column":13}},"loc":{"start":{"line":39,"column":23},"end":{"line":39,"column":76}},"line":39},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":10}},"loc":{"start":{"line":40,"column":29},"end":{"line":43,"column":5}},"line":40},"6":{"name":"(anonymous_6)","decl":{"start":{"line":45,"column":58},"end":{"line":45,"column":59}},"loc":{"start":{"line":46,"column":4},"end":{"line":46,"column":57}},"line":46},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":25},"end":{"line":46,"column":26}},"loc":{"start":{"line":46,"column":32},"end":{"line":46,"column":56}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":50,"column":50},"end":{"line":50,"column":51}},"loc":{"start":{"line":50,"column":61},"end":{"line":57,"column":3}},"line":50},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":45},"end":{"line":52,"column":46}},"loc":{"start":{"line":52,"column":52},"end":{"line":52,"column":76}},"line":52},"10":{"name":"(anonymous_10)","decl":{"start":{"line":59,"column":55},"end":{"line":59,"column":56}},"loc":{"start":{"line":59,"column":62},"end":{"line":59,"column":232}},"line":59},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":91},"end":{"line":59,"column":92}},"loc":{"start":{"line":59,"column":98},"end":{"line":59,"column":115}},"line":59},"12":{"name":"(anonymous_12)","decl":{"start":{"line":59,"column":163},"end":{"line":59,"column":164}},"loc":{"start":{"line":59,"column":170},"end":{"line":59,"column":231}},"line":59},"13":{"name":"(anonymous_13)","decl":{"start":{"line":60,"column":58},"end":{"line":60,"column":59}},"loc":{"start":{"line":60,"column":68},"end":{"line":60,"column":85}},"line":60},"14":{"name":"(anonymous_14)","decl":{"start":{"line":62,"column":80},"end":{"line":62,"column":81}},"loc":{"start":{"line":62,"column":91},"end":{"line":62,"column":148}},"line":62},"15":{"name":"validateDuplicateGroupName","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":42}},"loc":{"start":{"line":83,"column":9},"end":{"line":147,"column":1}},"line":83},"16":{"name":"(anonymous_16)","decl":{"start":{"line":90,"column":59},"end":{"line":90,"column":60}},"loc":{"start":{"line":90,"column":71},"end":{"line":90,"column":130}},"line":90},"17":{"name":"(anonymous_17)","decl":{"start":{"line":91,"column":47},"end":{"line":91,"column":48}},"loc":{"start":{"line":91,"column":58},"end":{"line":98,"column":3}},"line":91},"18":{"name":"(anonymous_18)","decl":{"start":{"line":100,"column":77},"end":{"line":100,"column":78}},"loc":{"start":{"line":100,"column":91},"end":{"line":107,"column":3}},"line":100},"19":{"name":"(anonymous_19)","decl":{"start":{"line":109,"column":59},"end":{"line":109,"column":60}},"loc":{"start":{"line":109,"column":76},"end":{"line":122,"column":3}},"line":109},"20":{"name":"(anonymous_20)","decl":{"start":{"line":114,"column":61},"end":{"line":114,"column":62}},"loc":{"start":{"line":114,"column":68},"end":{"line":114,"column":241}},"line":114},"21":{"name":"(anonymous_21)","decl":{"start":{"line":114,"column":100},"end":{"line":114,"column":101}},"loc":{"start":{"line":114,"column":107},"end":{"line":114,"column":124}},"line":114},"22":{"name":"(anonymous_22)","decl":{"start":{"line":114,"column":172},"end":{"line":114,"column":173}},"loc":{"start":{"line":114,"column":179},"end":{"line":114,"column":240}},"line":114},"23":{"name":"(anonymous_23)","decl":{"start":{"line":115,"column":61},"end":{"line":115,"column":62}},"loc":{"start":{"line":115,"column":71},"end":{"line":115,"column":88}},"line":115},"24":{"name":"(anonymous_24)","decl":{"start":{"line":124,"column":92},"end":{"line":124,"column":93}},"loc":{"start":{"line":124,"column":119},"end":{"line":132,"column":3}},"line":124},"25":{"name":"(anonymous_25)","decl":{"start":{"line":126,"column":63},"end":{"line":126,"column":64}},"loc":{"start":{"line":126,"column":74},"end":{"line":126,"column":131}},"line":126}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":28,"column":5}},{"start":{},"end":{}}],"line":25},"1":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":39,"column":23},"end":{"line":39,"column":76}},"type":"binary-expr","locations":[{"start":{"line":39,"column":23},"end":{"line":39,"column":53}},{"start":{"line":39,"column":57},"end":{"line":39,"column":76}}],"line":39},"3":{"loc":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":53},"4":{"loc":{"start":{"line":59,"column":62},"end":{"line":59,"column":232}},"type":"binary-expr","locations":[{"start":{"line":59,"column":63},"end":{"line":59,"column":127}},{"start":{"line":59,"column":132},"end":{"line":59,"column":232}}],"line":59},"5":{"loc":{"start":{"line":59,"column":170},"end":{"line":59,"column":231}},"type":"binary-expr","locations":[{"start":{"line":59,"column":170},"end":{"line":59,"column":187}},{"start":{"line":59,"column":191},"end":{"line":59,"column":208}},{"start":{"line":59,"column":212},"end":{"line":59,"column":231}}],"line":59},"6":{"loc":{"start":{"line":62,"column":33},"end":{"line":62,"column":149}},"type":"binary-expr","locations":[{"start":{"line":62,"column":34},"end":{"line":62,"column":53}},{"start":{"line":62,"column":58},"end":{"line":62,"column":149}}],"line":62},"7":{"loc":{"start":{"line":64,"column":2},"end":{"line":69,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":69,"column":3}},{"start":{},"end":{}}],"line":64},"8":{"loc":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},{"start":{},"end":{}}],"line":70},"9":{"loc":{"start":{"line":84,"column":2},"end":{"line":86,"column":3}},"type":"if","locations":[{"start":{"line":84,"column":2},"end":{"line":86,"column":3}},{"start":{},"end":{}}],"line":84},"10":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{},"end":{}}],"line":87},"11":{"loc":{"start":{"line":90,"column":71},"end":{"line":90,"column":130}},"type":"binary-expr","locations":[{"start":{"line":90,"column":71},"end":{"line":90,"column":107}},{"start":{"line":90,"column":111},"end":{"line":90,"column":130}}],"line":90},"12":{"loc":{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},"type":"if","locations":[{"start":{"line":101,"column":4},"end":{"line":105,"column":5}},{"start":{"line":103,"column":11},"end":{"line":105,"column":5}}],"line":101},"13":{"loc":{"start":{"line":110,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":4},"end":{"line":119,"column":5}},{"start":{},"end":{}}],"line":110},"14":{"loc":{"start":{"line":114,"column":68},"end":{"line":114,"column":241}},"type":"binary-expr","locations":[{"start":{"line":114,"column":69},"end":{"line":114,"column":136}},{"start":{"line":114,"column":141},"end":{"line":114,"column":241}}],"line":114},"15":{"loc":{"start":{"line":114,"column":179},"end":{"line":114,"column":240}},"type":"binary-expr","locations":[{"start":{"line":114,"column":179},"end":{"line":114,"column":196}},{"start":{"line":114,"column":200},"end":{"line":114,"column":217}},{"start":{"line":114,"column":221},"end":{"line":114,"column":240}}],"line":114},"16":{"loc":{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},"type":"if","locations":[{"start":{"line":116,"column":6},"end":{"line":118,"column":7}},{"start":{},"end":{}}],"line":116},"17":{"loc":{"start":{"line":127,"column":4},"end":{"line":129,"column":5}},"type":"if","locations":[{"start":{"line":127,"column":4},"end":{"line":129,"column":5}},{"start":{},"end":{}}],"line":127},"18":{"loc":{"start":{"line":134,"column":2},"end":{"line":139,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":139,"column":3}},{"start":{},"end":{}}],"line":134},"19":{"loc":{"start":{"line":140,"column":2},"end":{"line":145,"column":3}},"type":"if","locations":[{"start":{"line":140,"column":2},"end":{"line":145,"column":3}},{"start":{},"end":{}}],"line":140}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateLicense.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateLicense.ts","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":30,"column":3}},"1":{"start":{"line":10,"column":16},"end":{"line":14,"column":5}},"2":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"3":{"start":{"line":17,"column":6},"end":{"line":17,"column":30}},"4":{"start":{"line":20,"column":24},"end":{"line":20,"column":40}},"5":{"start":{"line":21,"column":4},"end":{"line":23,"column":6}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":19}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":31}},"8":{"start":{"line":27,"column":4},"end":{"line":29,"column":6}}},"fnMap":{"0":{"name":"validateLicense","decl":{"start":{"line":4,"column":30},"end":{"line":4,"column":45}},"loc":{"start":{"line":8,"column":93},"end":{"line":31,"column":1}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":47}},"type":"cond-expr","locations":[{"start":{"line":12,"column":19},"end":{"line":12,"column":42}},{"start":{"line":12,"column":45},"end":{"line":12,"column":47}}],"line":12},"1":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateStudioTokensExtensions.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/validateStudioTokensExtensions.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":7,"column":34},"end":{"line":14,"column":10}},"2":{"start":{"line":8,"column":24},"end":{"line":8,"column":74}},"3":{"start":{"line":9,"column":6},"end":{"line":11,"column":7}},"4":{"start":{"line":10,"column":8},"end":{"line":10,"column":30}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":20}},"6":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":35}},"8":{"start":{"line":20,"column":2},"end":{"line":20,"column":19}}},"fnMap":{"0":{"name":"validateStudioTokensExtensions","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":54}},"loc":{"start":{"line":5,"column":100},"end":{"line":21,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":94},"end":{"line":7,"column":95}},"loc":{"start":{"line":7,"column":109},"end":{"line":14,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":8,"column":25},"end":{"line":8,"column":70}},"type":"binary-expr","locations":[{"start":{"line":8,"column":25},"end":{"line":8,"column":64}},{"start":{"line":8,"column":68},"end":{"line":8,"column":70}}],"line":8},"2":{"loc":{"start":{"line":9,"column":6},"end":{"line":11,"column":7}},"type":"if","locations":[{"start":{"line":9,"column":6},"end":{"line":11,"column":7}},{"start":{},"end":{}}],"line":9},"3":{"loc":{"start":{"line":9,"column":10},"end":{"line":9,"column":58}},"type":"binary-expr","locations":[{"start":{"line":9,"column":10},"end":{"line":9,"column":19}},{"start":{"line":9,"column":23},"end":{"line":9,"column":58}}],"line":9},"4":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},{"start":{},"end":{}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/waitForMessage.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/waitForMessage.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":19,"column":5}},"1":{"start":{"line":11,"column":20},"end":{"line":16,"column":5}},"2":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"3":{"start":{"line":13,"column":8},"end":{"line":13,"column":55}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":71}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":48}}},"fnMap":{"0":{"name":"waitForMessage","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":117},"end":{"line":20,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":52},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":61},"end":{"line":19,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":20},"end":{"line":11,"column":21}},"loc":{"start":{"line":11,"column":38},"end":{"line":16,"column":5}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":15,"column":7}},{"start":{},"end":{}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkCanReferenceVariable.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkCanReferenceVariable.tsx","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":6,"column":122}}},"fnMap":{"0":{"name":"checkCanReferenceVariable","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":41}},"loc":{"start":{"line":5,"column":137},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":9},"end":{"line":6,"column":121}},"type":"binary-expr","locations":[{"start":{"line":6,"column":9},"end":{"line":6,"column":69}},{"start":{"line":6,"column":73},"end":{"line":6,"column":121}}],"line":6}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfAlias.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfAlias.tsx","statementMap":{"0":{"start":{"line":9,"column":2},"end":{"line":37,"column":3}},"1":{"start":{"line":10,"column":21},"end":{"line":10,"column":26}},"2":{"start":{"line":11,"column":4},"end":{"line":28,"column":5}},"3":{"start":{"line":12,"column":6},"end":{"line":12,"column":52}},"4":{"start":{"line":13,"column":11},"end":{"line":28,"column":5}},"5":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"6":{"start":{"line":19,"column":8},"end":{"line":19,"column":68}},"7":{"start":{"line":21,"column":27},"end":{"line":21,"column":83}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":144}},"9":{"start":{"line":22,"column":48},"end":{"line":22,"column":142}},"10":{"start":{"line":22,"column":91},"end":{"line":22,"column":141}},"11":{"start":{"line":24,"column":11},"end":{"line":28,"column":5}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":18}},"13":{"start":{"line":27,"column":6},"end":{"line":27,"column":69}},"14":{"start":{"line":31,"column":4},"end":{"line":34,"column":5}},"15":{"start":{"line":32,"column":25},"end":{"line":32,"column":56}},"16":{"start":{"line":33,"column":6},"end":{"line":33,"column":32}},"17":{"start":{"line":36,"column":4},"end":{"line":36,"column":120}},"18":{"start":{"line":38,"column":2},"end":{"line":38,"column":15}}},"fnMap":{"0":{"name":"checkIfAlias","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":28}},"loc":{"start":{"line":8,"column":98},"end":{"line":39,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":37},"end":{"line":22,"column":38}},"loc":{"start":{"line":22,"column":48},"end":{"line":22,"column":142}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":74},"end":{"line":22,"column":75}},"loc":{"start":{"line":22,"column":91},"end":{"line":22,"column":141}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":58},"end":{"line":8,"column":87}},"type":"default-arg","locations":[{"start":{"line":8,"column":85},"end":{"line":8,"column":87}}],"line":8},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":28,"column":5}},{"start":{"line":13,"column":11},"end":{"line":28,"column":5}}],"line":11},"2":{"loc":{"start":{"line":13,"column":11},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":11},"end":{"line":28,"column":5}},{"start":{"line":24,"column":11},"end":{"line":28,"column":5}}],"line":13},"3":{"loc":{"start":{"line":14,"column":6},"end":{"line":16,"column":41}},"type":"binary-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":42}},{"start":{"line":15,"column":9},"end":{"line":15,"column":45}},{"start":{"line":16,"column":9},"end":{"line":16,"column":41}}],"line":14},"4":{"loc":{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":23,"column":7}},{"start":{"line":20,"column":13},"end":{"line":23,"column":7}}],"line":18},"5":{"loc":{"start":{"line":21,"column":27},"end":{"line":21,"column":83}},"type":"cond-expr","locations":[{"start":{"line":21,"column":56},"end":{"line":21,"column":67}},{"start":{"line":21,"column":70},"end":{"line":21,"column":83}}],"line":21},"6":{"loc":{"start":{"line":24,"column":11},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":11},"end":{"line":28,"column":5}},{"start":{"line":26,"column":11},"end":{"line":28,"column":5}}],"line":24},"7":{"loc":{"start":{"line":31,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":34,"column":5}},{"start":{},"end":{}}],"line":31},"8":{"loc":{"start":{"line":36,"column":49},"end":{"line":36,"column":95}},"type":"cond-expr","locations":[{"start":{"line":36,"column":77},"end":{"line":36,"column":87}},{"start":{"line":36,"column":90},"end":{"line":36,"column":95}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfContainsAlias.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/checkIfContainsAlias.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":27}},"1":{"start":{"line":5,"column":14},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":2},"end":{"line":6,"column":63}}},"fnMap":{"0":{"name":"checkIfContainsAlias","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":36}},"loc":{"start":{"line":4,"column":83},"end":{"line":7,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":27}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":27}},{"start":{},"end":{}}],"line":5}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/getAliasValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/getAliasValue.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"1":{"start":{"line":24,"column":4},"end":{"line":24,"column":23}},"2":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"3":{"start":{"line":27,"column":4},"end":{"line":27,"column":34}},"4":{"start":{"line":29,"column":2},"end":{"line":29,"column":26}},"5":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"6":{"start":{"line":38,"column":4},"end":{"line":38,"column":29}},"7":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"8":{"start":{"line":41,"column":24},"end":{"line":41,"column":49}},"9":{"start":{"line":42,"column":21},"end":{"line":42,"column":54}},"10":{"start":{"line":43,"column":4},"end":{"line":43,"column":54}},"11":{"start":{"line":45,"column":2},"end":{"line":45,"column":15}},"12":{"start":{"line":55,"column":66},"end":{"line":55,"column":89}},"13":{"start":{"line":56,"column":2},"end":{"line":176,"column":3}},"14":{"start":{"line":57,"column":45},"end":{"line":57,"column":120}},"15":{"start":{"line":58,"column":4},"end":{"line":130,"column":5}},"16":{"start":{"line":59,"column":33},"end":{"line":120,"column":8}},"17":{"start":{"line":60,"column":8},"end":{"line":118,"column":9}},"18":{"start":{"line":62,"column":10},"end":{"line":66,"column":11}},"19":{"start":{"line":63,"column":12},"end":{"line":63,"column":57}},"20":{"start":{"line":65,"column":12},"end":{"line":65,"column":45}},"21":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"22":{"start":{"line":68,"column":12},"end":{"line":68,"column":95}},"23":{"start":{"line":70,"column":42},"end":{"line":70,"column":74}},"24":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"25":{"start":{"line":72,"column":12},"end":{"line":72,"column":100}},"26":{"start":{"line":75,"column":37},"end":{"line":75,"column":61}},"27":{"start":{"line":76,"column":60},"end":{"line":76,"column":84}},"28":{"start":{"line":77,"column":41},"end":{"line":77,"column":69}},"29":{"start":{"line":78,"column":57},"end":{"line":78,"column":89}},"30":{"start":{"line":79,"column":49},"end":{"line":79,"column":77}},"31":{"start":{"line":80,"column":29},"end":{"line":84,"column":11}},"32":{"start":{"line":81,"column":19},"end":{"line":83,"column":58}},"33":{"start":{"line":86,"column":10},"end":{"line":88,"column":11}},"34":{"start":{"line":87,"column":12},"end":{"line":87,"column":80}},"35":{"start":{"line":90,"column":10},"end":{"line":100,"column":11}},"36":{"start":{"line":95,"column":30},"end":{"line":95,"column":40}},"37":{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},"38":{"start":{"line":97,"column":36},"end":{"line":97,"column":106}},"39":{"start":{"line":98,"column":14},"end":{"line":98,"column":85}},"40":{"start":{"line":102,"column":10},"end":{"line":117,"column":11}},"41":{"start":{"line":110,"column":34},"end":{"line":110,"column":86}},"42":{"start":{"line":111,"column":12},"end":{"line":116,"column":14}},"43":{"start":{"line":119,"column":8},"end":{"line":119,"column":19}},"44":{"start":{"line":122,"column":6},"end":{"line":125,"column":9}},"45":{"start":{"line":123,"column":34},"end":{"line":123,"column":59}},"46":{"start":{"line":124,"column":8},"end":{"line":124,"column":103}},"47":{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},"48":{"start":{"line":128,"column":8},"end":{"line":128,"column":29}},"49":{"start":{"line":131,"column":4},"end":{"line":172,"column":5}},"50":{"start":{"line":132,"column":34},"end":{"line":132,"column":63}},"51":{"start":{"line":133,"column":6},"end":{"line":171,"column":7}},"52":{"start":{"line":134,"column":35},"end":{"line":134,"column":70}},"53":{"start":{"line":135,"column":8},"end":{"line":135,"column":78}},"54":{"start":{"line":135,"column":52},"end":{"line":135,"column":78}},"55":{"start":{"line":136,"column":25},"end":{"line":136,"column":57}},"56":{"start":{"line":137,"column":8},"end":{"line":169,"column":9}},"57":{"start":{"line":145,"column":10},"end":{"line":162,"column":11}},"58":{"start":{"line":149,"column":12},"end":{"line":161,"column":15}},"59":{"start":{"line":163,"column":10},"end":{"line":168,"column":13}},"60":{"start":{"line":170,"column":8},"end":{"line":170,"column":24}},"61":{"start":{"line":174,"column":4},"end":{"line":174,"column":90}},"62":{"start":{"line":175,"column":4},"end":{"line":175,"column":16}},"63":{"start":{"line":178,"column":2},"end":{"line":180,"column":3}},"64":{"start":{"line":179,"column":4},"end":{"line":179,"column":47}},"65":{"start":{"line":181,"column":2},"end":{"line":181,"column":23}}},"fnMap":{"0":{"name":"getReturnedValue","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":25}},"loc":{"start":{"line":16,"column":64},"end":{"line":30,"column":1}},"line":16},"1":{"name":"replaceAliasWithResolvedReference","decl":{"start":{"line":32,"column":9},"end":{"line":32,"column":42}},"loc":{"start":{"line":36,"column":2},"end":{"line":46,"column":1}},"line":36},"2":{"name":"getAliasValue","decl":{"start":{"line":48,"column":16},"end":{"line":48,"column":29}},"loc":{"start":{"line":53,"column":119},"end":{"line":182,"column":1}},"line":53},"3":{"name":"(anonymous_3)","decl":{"start":{"line":59,"column":65},"end":{"line":59,"column":66}},"loc":{"start":{"line":59,"column":74},"end":{"line":120,"column":7}},"line":59},"4":{"name":"(anonymous_4)","decl":{"start":{"line":81,"column":12},"end":{"line":81,"column":13}},"loc":{"start":{"line":81,"column":19},"end":{"line":83,"column":58}},"line":81},"5":{"name":"(anonymous_5)","decl":{"start":{"line":122,"column":30},"end":{"line":122,"column":31}},"loc":{"start":{"line":122,"column":52},"end":{"line":125,"column":7}},"line":122}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":22,"column":43}},"type":"binary-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":29}},{"start":{"line":19,"column":7},"end":{"line":19,"column":38}},{"start":{"line":20,"column":8},"end":{"line":20,"column":45}},{"start":{"line":21,"column":9},"end":{"line":21,"column":46}},{"start":{"line":22,"column":9},"end":{"line":22,"column":42}}],"line":18},"2":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":40},"5":{"loc":{"start":{"line":40,"column":6},"end":{"line":40,"column":71}},"type":"binary-expr","locations":[{"start":{"line":40,"column":6},"end":{"line":40,"column":11}},{"start":{"line":40,"column":16},"end":{"line":40,"column":41}},{"start":{"line":40,"column":45},"end":{"line":40,"column":70}}],"line":40},"6":{"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":28}},"type":"default-arg","locations":[{"start":{"line":50,"column":26},"end":{"line":50,"column":28}}],"line":50},"7":{"loc":{"start":{"line":51,"column":2},"end":{"line":51,"column":28}},"type":"default-arg","locations":[{"start":{"line":51,"column":24},"end":{"line":51,"column":28}}],"line":51},"8":{"loc":{"start":{"line":52,"column":2},"end":{"line":52,"column":27}},"type":"default-arg","locations":[{"start":{"line":52,"column":26},"end":{"line":52,"column":27}}],"line":52},"9":{"loc":{"start":{"line":57,"column":45},"end":{"line":57,"column":120}},"type":"cond-expr","locations":[{"start":{"line":57,"column":81},"end":{"line":57,"column":113}},{"start":{"line":57,"column":116},"end":{"line":57,"column":120}}],"line":57},"10":{"loc":{"start":{"line":58,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":58},"11":{"loc":{"start":{"line":60,"column":8},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":118,"column":9}},{"start":{},"end":{}}],"line":60},"12":{"loc":{"start":{"line":62,"column":10},"end":{"line":66,"column":11}},"type":"if","locations":[{"start":{"line":62,"column":10},"end":{"line":66,"column":11}},{"start":{"line":64,"column":17},"end":{"line":66,"column":11}}],"line":62},"13":{"loc":{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},"type":"if","locations":[{"start":{"line":67,"column":10},"end":{"line":69,"column":11}},{"start":{},"end":{}}],"line":67},"14":{"loc":{"start":{"line":67,"column":14},"end":{"line":67,"column":100}},"type":"binary-expr","locations":[{"start":{"line":67,"column":15},"end":{"line":67,"column":40}},{"start":{"line":67,"column":44},"end":{"line":67,"column":72}},{"start":{"line":67,"column":77},"end":{"line":67,"column":100}}],"line":67},"15":{"loc":{"start":{"line":68,"column":19},"end":{"line":68,"column":94}},"type":"cond-expr","locations":[{"start":{"line":68,"column":53},"end":{"line":68,"column":75}},{"start":{"line":68,"column":78},"end":{"line":68,"column":94}}],"line":68},"16":{"loc":{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},"type":"if","locations":[{"start":{"line":71,"column":10},"end":{"line":73,"column":11}},{"start":{},"end":{}}],"line":71},"17":{"loc":{"start":{"line":81,"column":19},"end":{"line":83,"column":58}},"type":"binary-expr","locations":[{"start":{"line":81,"column":19},"end":{"line":81,"column":43}},{"start":{"line":82,"column":17},"end":{"line":82,"column":50}},{"start":{"line":83,"column":17},"end":{"line":83,"column":58}}],"line":81},"18":{"loc":{"start":{"line":86,"column":10},"end":{"line":88,"column":11}},"type":"if","locations":[{"start":{"line":86,"column":10},"end":{"line":88,"column":11}},{"start":{},"end":{}}],"line":86},"19":{"loc":{"start":{"line":90,"column":10},"end":{"line":100,"column":11}},"type":"if","locations":[{"start":{"line":90,"column":10},"end":{"line":100,"column":11}},{"start":{},"end":{}}],"line":90},"20":{"loc":{"start":{"line":91,"column":12},"end":{"line":93,"column":71}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":36}},{"start":{"line":92,"column":15},"end":{"line":92,"column":58}},{"start":{"line":93,"column":15},"end":{"line":93,"column":71}}],"line":91},"21":{"loc":{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},"type":"if","locations":[{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},{"start":{},"end":{}}],"line":96},"22":{"loc":{"start":{"line":96,"column":16},"end":{"line":96,"column":66}},"type":"binary-expr","locations":[{"start":{"line":96,"column":16},"end":{"line":96,"column":41}},{"start":{"line":96,"column":45},"end":{"line":96,"column":66}}],"line":96},"23":{"loc":{"start":{"line":102,"column":10},"end":{"line":117,"column":11}},"type":"if","locations":[{"start":{"line":102,"column":10},"end":{"line":117,"column":11}},{"start":{},"end":{}}],"line":102},"24":{"loc":{"start":{"line":103,"column":12},"end":{"line":108,"column":106}},"type":"binary-expr","locations":[{"start":{"line":103,"column":12},"end":{"line":103,"column":56}},{"start":{"line":104,"column":15},"end":{"line":104,"column":39}},{"start":{"line":105,"column":15},"end":{"line":105,"column":66}},{"start":{"line":106,"column":15},"end":{"line":106,"column":50}},{"start":{"line":107,"column":15},"end":{"line":107,"column":69}},{"start":{"line":108,"column":15},"end":{"line":108,"column":106}}],"line":103},"25":{"loc":{"start":{"line":112,"column":14},"end":{"line":112,"column":115}},"type":"binary-expr","locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":81}},{"start":{"line":112,"column":85},"end":{"line":112,"column":115}}],"line":112},"26":{"loc":{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},"type":"if","locations":[{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},{"start":{},"end":{}}],"line":127},"27":{"loc":{"start":{"line":131,"column":4},"end":{"line":172,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":172,"column":5}},{"start":{},"end":{}}],"line":131},"28":{"loc":{"start":{"line":131,"column":8},"end":{"line":131,"column":58}},"type":"binary-expr","locations":[{"start":{"line":131,"column":8},"end":{"line":131,"column":21}},{"start":{"line":131,"column":25},"end":{"line":131,"column":58}}],"line":131},"29":{"loc":{"start":{"line":133,"column":6},"end":{"line":171,"column":7}},"type":"if","locations":[{"start":{"line":133,"column":6},"end":{"line":171,"column":7}},{"start":{},"end":{}}],"line":133},"30":{"loc":{"start":{"line":135,"column":8},"end":{"line":135,"column":78}},"type":"if","locations":[{"start":{"line":135,"column":8},"end":{"line":135,"column":78}},{"start":{},"end":{}}],"line":135},"31":{"loc":{"start":{"line":137,"column":8},"end":{"line":169,"column":9}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":169,"column":9}},{"start":{},"end":{}}],"line":137},"32":{"loc":{"start":{"line":138,"column":10},"end":{"line":143,"column":32}},"type":"binary-expr","locations":[{"start":{"line":138,"column":10},"end":{"line":138,"column":35}},{"start":{"line":139,"column":13},"end":{"line":139,"column":38}},{"start":{"line":140,"column":13},"end":{"line":140,"column":58}},{"start":{"line":141,"column":13},"end":{"line":141,"column":21}},{"start":{"line":142,"column":13},"end":{"line":142,"column":24}},{"start":{"line":143,"column":13},"end":{"line":143,"column":32}}],"line":138},"33":{"loc":{"start":{"line":145,"column":10},"end":{"line":162,"column":11}},"type":"if","locations":[{"start":{"line":145,"column":10},"end":{"line":162,"column":11}},{"start":{},"end":{}}],"line":145},"34":{"loc":{"start":{"line":146,"column":12},"end":{"line":147,"column":81}},"type":"binary-expr","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":90}},{"start":{"line":147,"column":15},"end":{"line":147,"column":81}}],"line":146},"35":{"loc":{"start":{"line":153,"column":16},"end":{"line":160,"column":23}},"type":"binary-expr","locations":[{"start":{"line":153,"column":16},"end":{"line":160,"column":17}},{"start":{"line":160,"column":21},"end":{"line":160,"column":23}}],"line":153},"36":{"loc":{"start":{"line":178,"column":2},"end":{"line":180,"column":3}},"type":"if","locations":[{"start":{"line":178,"column":2},"end":{"line":180,"column":3}},{"start":{},"end":{}}],"line":178},"37":{"loc":{"start":{"line":178,"column":6},"end":{"line":178,"column":56}},"type":"binary-expr","locations":[{"start":{"line":178,"column":6},"end":{"line":178,"column":19}},{"start":{"line":178,"column":23},"end":{"line":178,"column":56}}],"line":178}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0],"7":[0],"8":[0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0,0,0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/alias/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/convertToRgb.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/convertToRgb.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":48,"column":3}},"1":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"2":{"start":{"line":8,"column":6},"end":{"line":8,"column":19}},"3":{"start":{"line":10,"column":21},"end":{"line":10,"column":56}},"4":{"start":{"line":11,"column":22},"end":{"line":11,"column":39}},"5":{"start":{"line":12,"column":22},"end":{"line":12,"column":39}},"6":{"start":{"line":13,"column":24},"end":{"line":13,"column":29}},"7":{"start":{"line":15,"column":4},"end":{"line":44,"column":5}},"8":{"start":{"line":16,"column":26},"end":{"line":16,"column":84}},"9":{"start":{"line":16,"column":79},"end":{"line":16,"column":83}},"10":{"start":{"line":17,"column":26},"end":{"line":17,"column":84}},"11":{"start":{"line":17,"column":79},"end":{"line":17,"column":83}},"12":{"start":{"line":18,"column":6},"end":{"line":22,"column":7}},"13":{"start":{"line":19,"column":8},"end":{"line":21,"column":11}},"14":{"start":{"line":20,"column":10},"end":{"line":20,"column":69}},"15":{"start":{"line":23,"column":6},"end":{"line":41,"column":7}},"16":{"start":{"line":24,"column":8},"end":{"line":40,"column":11}},"17":{"start":{"line":25,"column":32},"end":{"line":25,"column":37}},"18":{"start":{"line":26,"column":31},"end":{"line":26,"column":77}},"19":{"start":{"line":27,"column":39},"end":{"line":27,"column":67}},"20":{"start":{"line":31,"column":22},"end":{"line":31,"column":25}},"21":{"start":{"line":32,"column":10},"end":{"line":37,"column":11}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":61}},"23":{"start":{"line":34,"column":12},"end":{"line":34,"column":65}},"24":{"start":{"line":36,"column":12},"end":{"line":36,"column":82}},"25":{"start":{"line":36,"column":72},"end":{"line":36,"column":80}},"26":{"start":{"line":38,"column":20},"end":{"line":38,"column":48}},"27":{"start":{"line":39,"column":10},"end":{"line":39,"column":105}},"28":{"start":{"line":43,"column":6},"end":{"line":43,"column":37}},"29":{"start":{"line":45,"column":4},"end":{"line":45,"column":25}},"30":{"start":{"line":47,"column":4},"end":{"line":47,"column":21}},"31":{"start":{"line":50,"column":2},"end":{"line":50,"column":15}}},"fnMap":{"0":{"name":"convertToRgb","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"loc":{"start":{"line":5,"column":52},"end":{"line":51,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":72},"end":{"line":16,"column":73}},"loc":{"start":{"line":16,"column":79},"end":{"line":16,"column":83}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":72},"end":{"line":17,"column":73}},"loc":{"start":{"line":17,"column":79},"end":{"line":17,"column":83}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":28},"end":{"line":19,"column":29}},"loc":{"start":{"line":19,"column":39},"end":{"line":21,"column":9}},"line":19},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":28},"end":{"line":24,"column":29}},"loc":{"start":{"line":24,"column":39},"end":{"line":40,"column":9}},"line":24},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":65},"end":{"line":36,"column":66}},"loc":{"start":{"line":36,"column":72},"end":{"line":36,"column":80}},"line":36}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":22,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":22,"column":7}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":41,"column":7}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":32,"column":10},"end":{"line":37,"column":11}},"type":"if","locations":[{"start":{"line":32,"column":10},"end":{"line":37,"column":11}},{"start":{"line":35,"column":17},"end":{"line":37,"column":11}}],"line":32},"4":{"loc":{"start":{"line":34,"column":20},"end":{"line":34,"column":64}},"type":"binary-expr","locations":[{"start":{"line":34,"column":20},"end":{"line":34,"column":57}},{"start":{"line":34,"column":61},"end":{"line":34,"column":64}}],"line":34},"5":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":33}},"type":"default-arg","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":33}}],"line":36}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/darken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/darken.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":46,"column":3}},"1":{"start":{"line":7,"column":24},"end":{"line":7,"column":35}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":34}},"3":{"start":{"line":9,"column":24},"end":{"line":9,"column":71}},"4":{"start":{"line":10,"column":27},"end":{"line":10,"column":71}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":39}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":36}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":19}},"8":{"start":{"line":16,"column":24},"end":{"line":16,"column":35}},"9":{"start":{"line":17,"column":25},"end":{"line":17,"column":34}},"10":{"start":{"line":18,"column":27},"end":{"line":18,"column":71}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":19}},"13":{"start":{"line":23,"column":24},"end":{"line":23,"column":38}},"14":{"start":{"line":24,"column":21},"end":{"line":24,"column":74}},"15":{"start":{"line":25,"column":23},"end":{"line":25,"column":76}},"16":{"start":{"line":26,"column":22},"end":{"line":26,"column":75}},"17":{"start":{"line":27,"column":6},"end":{"line":27,"column":36}},"18":{"start":{"line":28,"column":6},"end":{"line":28,"column":38}},"19":{"start":{"line":29,"column":6},"end":{"line":29,"column":37}},"20":{"start":{"line":30,"column":6},"end":{"line":30,"column":23}},"21":{"start":{"line":34,"column":21},"end":{"line":34,"column":70}},"22":{"start":{"line":35,"column":23},"end":{"line":35,"column":72}},"23":{"start":{"line":36,"column":22},"end":{"line":36,"column":71}},"24":{"start":{"line":37,"column":6},"end":{"line":37,"column":34}},"25":{"start":{"line":38,"column":6},"end":{"line":38,"column":36}},"26":{"start":{"line":39,"column":6},"end":{"line":39,"column":35}},"27":{"start":{"line":40,"column":6},"end":{"line":40,"column":19}},"28":{"start":{"line":44,"column":6},"end":{"line":44,"column":34}}},"fnMap":{"0":{"name":"darken","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":82},"end":{"line":47,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":46,"column":3}},"type":"switch","locations":[{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},{"start":{"line":15,"column":4},"end":{"line":21,"column":5}},{"start":{"line":22,"column":4},"end":{"line":31,"column":5}},{"start":{"line":33,"column":4},"end":{"line":41,"column":5}},{"start":{"line":43,"column":4},"end":{"line":45,"column":5}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0},"b":{"0":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getColorSwatchStyle.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getColorSwatchStyle.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":110}}},"fnMap":{"0":{"name":"getColorSwatchStyle","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":35}},"loc":{"start":{"line":1,"column":56},"end":{"line":3,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":9},"end":{"line":2,"column":109}},"type":"cond-expr","locations":[{"start":{"line":2,"column":36},"end":{"line":2,"column":80}},{"start":{"line":2,"column":83},"end":{"line":2,"column":109}}],"line":2}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getReferenceTokensFromGradient.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/getReferenceTokensFromGradient.ts","statementMap":{"0":{"start":{"line":1,"column":46},"end":{"line":14,"column":1}},"1":{"start":{"line":2,"column":26},"end":{"line":2,"column":94}},"2":{"start":{"line":3,"column":36},"end":{"line":11,"column":8}},"3":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":44}},"5":{"start":{"line":8,"column":6},"end":{"line":8,"column":63}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":15}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":46},"end":{"line":1,"column":47}},"loc":{"start":{"line":1,"column":78},"end":{"line":14,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":59},"end":{"line":3,"column":60}},"loc":{"start":{"line":3,"column":92},"end":{"line":11,"column":3}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":48}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":26}},{"start":{"line":5,"column":30},"end":{"line":5,"column":48}}],"line":5},"2":{"loc":{"start":{"line":8,"column":15},"end":{"line":8,"column":61}},"type":"cond-expr","locations":[{"start":{"line":8,"column":25},"end":{"line":8,"column":56}},{"start":{"line":8,"column":59},"end":{"line":8,"column":61}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/isLightOrDark.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/isLightOrDark.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":19}},"2":{"start":{"line":8,"column":2},"end":{"line":12,"column":3}},"3":{"start":{"line":9,"column":4},"end":{"line":9,"column":58}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":19}}},"fnMap":{"0":{"name":"lightOrDark","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":27}},"loc":{"start":{"line":4,"column":43},"end":{"line":13,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":9,"column":11},"end":{"line":9,"column":57}},"type":"cond-expr","locations":[{"start":{"line":9,"column":41},"end":{"line":9,"column":48}},{"start":{"line":9,"column":51},"end":{"line":9,"column":57}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/lighten.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/lighten.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":44,"column":3}},"1":{"start":{"line":7,"column":24},"end":{"line":7,"column":35}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":40}},"3":{"start":{"line":9,"column":24},"end":{"line":9,"column":71}},"4":{"start":{"line":10,"column":27},"end":{"line":10,"column":73}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":39}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":36}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":19}},"8":{"start":{"line":16,"column":24},"end":{"line":16,"column":35}},"9":{"start":{"line":17,"column":25},"end":{"line":17,"column":40}},"10":{"start":{"line":18,"column":27},"end":{"line":18,"column":73}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":19}},"13":{"start":{"line":23,"column":24},"end":{"line":23,"column":38}},"14":{"start":{"line":24,"column":21},"end":{"line":24,"column":80}},"15":{"start":{"line":25,"column":23},"end":{"line":25,"column":82}},"16":{"start":{"line":26,"column":22},"end":{"line":26,"column":81}},"17":{"start":{"line":27,"column":6},"end":{"line":27,"column":36}},"18":{"start":{"line":28,"column":6},"end":{"line":28,"column":38}},"19":{"start":{"line":29,"column":6},"end":{"line":29,"column":37}},"20":{"start":{"line":30,"column":6},"end":{"line":30,"column":23}},"21":{"start":{"line":33,"column":21},"end":{"line":33,"column":76}},"22":{"start":{"line":34,"column":23},"end":{"line":34,"column":78}},"23":{"start":{"line":35,"column":22},"end":{"line":35,"column":77}},"24":{"start":{"line":36,"column":6},"end":{"line":36,"column":34}},"25":{"start":{"line":37,"column":6},"end":{"line":37,"column":36}},"26":{"start":{"line":38,"column":6},"end":{"line":38,"column":35}},"27":{"start":{"line":39,"column":6},"end":{"line":39,"column":19}},"28":{"start":{"line":42,"column":6},"end":{"line":42,"column":35}}},"fnMap":{"0":{"name":"lighten","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":23}},"loc":{"start":{"line":4,"column":83},"end":{"line":45,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":44,"column":3}},"type":"switch","locations":[{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},{"start":{"line":15,"column":4},"end":{"line":21,"column":5}},{"start":{"line":22,"column":4},"end":{"line":31,"column":5}},{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},{"start":{"line":41,"column":4},"end":{"line":43,"column":5}}],"line":5}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0},"b":{"0":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/mix.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/mix.ts","statementMap":{"0":{"start":{"line":5,"column":19},"end":{"line":5,"column":59}},"1":{"start":{"line":7,"column":2},"end":{"line":7,"column":84}}},"fnMap":{"0":{"name":"mix","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":19}},"loc":{"start":{"line":4,"column":96},"end":{"line":8,"column":1}},"line":4}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/transparentize.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/color/transparentize.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":57}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":15}}},"fnMap":{"0":{"name":"transparentize","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":61},"end":{"line":6,"column":1}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/compareUpdatedAt.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/compareUpdatedAt.ts","statementMap":{"0":{"start":{"line":2,"column":18},"end":{"line":2,"column":50}},"1":{"start":{"line":3,"column":18},"end":{"line":3,"column":50}},"2":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":26}},"4":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":18}},"6":{"start":{"line":10,"column":2},"end":{"line":10,"column":24}}},"fnMap":{"0":{"name":"compareUpdatedAt","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":115},"end":{"line":11,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":4},"1":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":3}},{"start":{},"end":{}}],"line":7}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/date/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/ensureFolderIsTogether.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/ensureFolderIsTogether.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"1":{"start":{"line":8,"column":26},"end":{"line":8,"column":73}},"2":{"start":{"line":8,"column":52},"end":{"line":8,"column":72}},"3":{"start":{"line":9,"column":22},"end":{"line":9,"column":73}},"4":{"start":{"line":9,"column":52},"end":{"line":9,"column":72}},"5":{"start":{"line":10,"column":18},"end":{"line":10,"column":43}},"6":{"start":{"line":11,"column":24},"end":{"line":11,"column":84}},"7":{"start":{"line":11,"column":51},"end":{"line":11,"column":83}},"8":{"start":{"line":12,"column":4},"end":{"line":17,"column":7}},"9":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"10":{"start":{"line":14,"column":32},"end":{"line":14,"column":82}},"11":{"start":{"line":14,"column":62},"end":{"line":14,"column":81}},"12":{"start":{"line":15,"column":8},"end":{"line":15,"column":82}},"13":{"start":{"line":20,"column":2},"end":{"line":20,"column":19}}},"fnMap":{"0":{"name":"ensureFolderIsTogether","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":117},"end":{"line":21,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":42},"end":{"line":8,"column":43}},"loc":{"start":{"line":8,"column":52},"end":{"line":8,"column":72}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":42},"end":{"line":9,"column":43}},"loc":{"start":{"line":9,"column":52},"end":{"line":9,"column":72}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":11,"column":51},"end":{"line":11,"column":83}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":40},"end":{"line":17,"column":5}},"line":12},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":52},"end":{"line":14,"column":53}},"loc":{"start":{"line":14,"column":62},"end":{"line":14,"column":81}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":18,"column":3}},{"start":{},"end":{}}],"line":6},"1":{"loc":{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":16,"column":7}},{"start":{},"end":{}}],"line":13}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":77}},"2":{"start":{"line":6,"column":66},"end":{"line":6,"column":75}},"3":{"start":{"line":8,"column":19},"end":{"line":11,"column":4}},"4":{"start":{"line":9,"column":4},"end":{"line":10,"column":41}},"5":{"start":{"line":13,"column":27},"end":{"line":21,"column":4}},"6":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"7":{"start":{"line":15,"column":28},"end":{"line":17,"column":11}},"8":{"start":{"line":16,"column":8},"end":{"line":16,"column":71}},"9":{"start":{"line":18,"column":6},"end":{"line":18,"column":49}},"10":{"start":{"line":20,"column":4},"end":{"line":20,"column":31}},"11":{"start":{"line":22,"column":2},"end":{"line":22,"column":26}}},"fnMap":{"0":{"name":"findOrderableTargetIndexesInThemeList","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":124},"end":{"line":23,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":52},"end":{"line":6,"column":53}},"loc":{"start":{"line":6,"column":66},"end":{"line":6,"column":75}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":32},"end":{"line":8,"column":33}},"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":41}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":40},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":50},"end":{"line":21,"column":3}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":41},"end":{"line":15,"column":42}},"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":71}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":41}},"type":"binary-expr","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":24}},{"start":{"line":10,"column":7},"end":{"line":10,"column":41}}],"line":9},"2":{"loc":{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":19,"column":5}},{"start":{},"end":{}}],"line":14},"3":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":71}},"type":"cond-expr","locations":[{"start":{"line":16,"column":54},"end":{"line":16,"column":63}},{"start":{"line":16,"column":66},"end":{"line":16,"column":71}}],"line":16}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/dragDropOrder/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/error/handleReactError.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/error/handleReactError.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":23}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":33}}},"fnMap":{"0":{"name":"handleReactError","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":45},"end":{"line":6,"column":1}},"line":3}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/goToNodeId.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/goToNodeId.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"goToNodeId","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":39},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/selectNodes.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/selectNodes.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":8,"column":5}}},"fnMap":{"0":{"name":"selectNodes","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":27}},"loc":{"start":{"line":4,"column":43},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/updateLocalTokensData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figma/updateLocalTokensData.ts","statementMap":{"0":{"start":{"line":30,"column":2},"end":{"line":30,"column":43}},"1":{"start":{"line":32,"column":2},"end":{"line":54,"column":3}},"2":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}},"3":{"start":{"line":36,"column":26},"end":{"line":36,"column":69}},"4":{"start":{"line":37,"column":26},"end":{"line":37,"column":108}},"5":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":39,"column":6},"end":{"line":39,"column":49}},"7":{"start":{"line":43,"column":26},"end":{"line":43,"column":69}},"8":{"start":{"line":44,"column":26},"end":{"line":44,"column":108}},"9":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"10":{"start":{"line":46,"column":6},"end":{"line":46,"column":49}},"11":{"start":{"line":49,"column":20},"end":{"line":49,"column":38}},"12":{"start":{"line":51,"column":4},"end":{"line":51,"column":83}},"13":{"start":{"line":52,"column":4},"end":{"line":52,"column":83}},"14":{"start":{"line":53,"column":4},"end":{"line":53,"column":112}},"15":{"start":{"line":55,"column":2},"end":{"line":55,"column":58}},"16":{"start":{"line":56,"column":2},"end":{"line":56,"column":51}},"17":{"start":{"line":57,"column":2},"end":{"line":57,"column":55}},"18":{"start":{"line":58,"column":2},"end":{"line":58,"column":69}},"19":{"start":{"line":59,"column":2},"end":{"line":59,"column":55}}},"fnMap":{"0":{"name":"updateLocalTokensData","decl":{"start":{"line":29,"column":22},"end":{"line":29,"column":43}},"loc":{"start":{"line":29,"column":62},"end":{"line":60,"column":1}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":54,"column":3}},{"start":{"line":48,"column":9},"end":{"line":54,"column":3}}],"line":32},"1":{"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":108}},"type":"binary-expr","locations":[{"start":{"line":37,"column":26},"end":{"line":37,"column":40}},{"start":{"line":37,"column":44},"end":{"line":37,"column":108}}],"line":37},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},{"start":{},"end":{}}],"line":38},"3":{"loc":{"start":{"line":44,"column":26},"end":{"line":44,"column":108}},"type":"binary-expr","locations":[{"start":{"line":44,"column":26},"end":{"line":44,"column":40}},{"start":{"line":44,"column":44},"end":{"line":44,"column":108}}],"line":44},"4":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},{"start":{},"end":{}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/readSharedPluginData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/readSharedPluginData.ts","statementMap":{"0":{"start":{"line":2,"column":24},"end":{"line":2,"column":31}},"1":{"start":{"line":5,"column":28},"end":{"line":5,"column":37}},"2":{"start":{"line":28,"column":2},"end":{"line":31,"column":3}},"3":{"start":{"line":29,"column":18},"end":{"line":29,"column":59}},"4":{"start":{"line":30,"column":4},"end":{"line":30,"column":25}},"5":{"start":{"line":34,"column":18},"end":{"line":34,"column":44}},"6":{"start":{"line":35,"column":20},"end":{"line":35,"column":65}},"7":{"start":{"line":37,"column":2},"end":{"line":74,"column":3}},"8":{"start":{"line":38,"column":4},"end":{"line":73,"column":5}},"9":{"start":{"line":40,"column":23},"end":{"line":40,"column":67}},"10":{"start":{"line":42,"column":6},"end":{"line":46,"column":7}},"11":{"start":{"line":44,"column":22},"end":{"line":44,"column":63}},"12":{"start":{"line":45,"column":8},"end":{"line":45,"column":29}},"13":{"start":{"line":48,"column":6},"end":{"line":66,"column":7}},"14":{"start":{"line":50,"column":30},"end":{"line":53,"column":10}},"15":{"start":{"line":51,"column":27},"end":{"line":51,"column":61}},"16":{"start":{"line":52,"column":10},"end":{"line":52,"column":64}},"17":{"start":{"line":56,"column":23},"end":{"line":56,"column":55}},"18":{"start":{"line":59,"column":8},"end":{"line":62,"column":9}},"19":{"start":{"line":59,"column":35},"end":{"line":59,"column":41}},"20":{"start":{"line":60,"column":10},"end":{"line":60,"column":58}},"21":{"start":{"line":61,"column":10},"end":{"line":61,"column":22}},"22":{"start":{"line":65,"column":8},"end":{"line":65,"column":31}},"23":{"start":{"line":68,"column":6},"end":{"line":68,"column":73}},"24":{"start":{"line":69,"column":6},"end":{"line":69,"column":18}},"25":{"start":{"line":71,"column":6},"end":{"line":71,"column":52}},"26":{"start":{"line":72,"column":6},"end":{"line":72,"column":18}},"27":{"start":{"line":77,"column":16},"end":{"line":77,"column":57}},"28":{"start":{"line":78,"column":2},"end":{"line":78,"column":23}}},"fnMap":{"0":{"name":"readSharedPluginData","decl":{"start":{"line":22,"column":22},"end":{"line":22,"column":42}},"loc":{"start":{"line":26,"column":26},"end":{"line":79,"column":1}},"line":26},"1":{"name":"(anonymous_1)","decl":{"start":{"line":50,"column":69},"end":{"line":50,"column":70}},"loc":{"start":{"line":50,"column":79},"end":{"line":53,"column":9}},"line":50},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":24},"end":{"line":59,"column":25}},"loc":{"start":{"line":59,"column":35},"end":{"line":59,"column":41}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":2},"end":{"line":25,"column":29}},"type":"default-arg","locations":[{"start":{"line":25,"column":19},"end":{"line":25,"column":29}}],"line":25},"1":{"loc":{"start":{"line":28,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":31,"column":3}},{"start":{},"end":{}}],"line":28},"2":{"loc":{"start":{"line":30,"column":11},"end":{"line":30,"column":24}},"type":"binary-expr","locations":[{"start":{"line":30,"column":11},"end":{"line":30,"column":16}},{"start":{"line":30,"column":20},"end":{"line":30,"column":24}}],"line":30},"3":{"loc":{"start":{"line":37,"column":2},"end":{"line":74,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":74,"column":3}},{"start":{},"end":{}}],"line":37},"4":{"loc":{"start":{"line":42,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":46,"column":7}},{"start":{},"end":{}}],"line":42},"5":{"loc":{"start":{"line":45,"column":15},"end":{"line":45,"column":28}},"type":"binary-expr","locations":[{"start":{"line":45,"column":15},"end":{"line":45,"column":20}},{"start":{"line":45,"column":24},"end":{"line":45,"column":28}}],"line":45},"6":{"loc":{"start":{"line":48,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":48,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":48},"7":{"loc":{"start":{"line":48,"column":10},"end":{"line":48,"column":55}},"type":"binary-expr","locations":[{"start":{"line":48,"column":10},"end":{"line":48,"column":37}},{"start":{"line":48,"column":41},"end":{"line":48,"column":55}}],"line":48},"8":{"loc":{"start":{"line":59,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":62,"column":9}},{"start":{},"end":{}}],"line":59},"9":{"loc":{"start":{"line":78,"column":9},"end":{"line":78,"column":22}},"type":"binary-expr","locations":[{"start":{"line":78,"column":9},"end":{"line":78,"column":14}},{"start":{"line":78,"column":18},"end":{"line":78,"column":22}}],"line":78}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/writeSharedPluginData.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/figmaStorage/writeSharedPluginData.ts","statementMap":{"0":{"start":{"line":5,"column":23},"end":{"line":5,"column":32}},"1":{"start":{"line":8,"column":24},"end":{"line":8,"column":31}},"2":{"start":{"line":11,"column":28},"end":{"line":11,"column":37}},"3":{"start":{"line":35,"column":2},"end":{"line":61,"column":3}},"4":{"start":{"line":37,"column":4},"end":{"line":37,"column":50}},"5":{"start":{"line":40,"column":20},"end":{"line":40,"column":46}},"6":{"start":{"line":41,"column":4},"end":{"line":41,"column":54}},"7":{"start":{"line":44,"column":4},"end":{"line":58,"column":5}},"8":{"start":{"line":45,"column":24},"end":{"line":45,"column":69}},"9":{"start":{"line":46,"column":6},"end":{"line":55,"column":7}},"10":{"start":{"line":47,"column":25},"end":{"line":47,"column":69}},"11":{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},"12":{"start":{"line":50,"column":10},"end":{"line":53,"column":11}},"13":{"start":{"line":50,"column":23},"end":{"line":50,"column":24}},"14":{"start":{"line":51,"column":29},"end":{"line":51,"column":63}},"15":{"start":{"line":52,"column":12},"end":{"line":52,"column":63}},"16":{"start":{"line":60,"column":4},"end":{"line":60,"column":11}},"17":{"start":{"line":63,"column":2},"end":{"line":66,"column":3}},"18":{"start":{"line":64,"column":4},"end":{"line":64,"column":53}},"19":{"start":{"line":65,"column":4},"end":{"line":65,"column":11}},"20":{"start":{"line":69,"column":21},"end":{"line":69,"column":46}},"21":{"start":{"line":71,"column":2},"end":{"line":136,"column":3}},"22":{"start":{"line":73,"column":20},"end":{"line":73,"column":46}},"23":{"start":{"line":74,"column":4},"end":{"line":74,"column":86}},"24":{"start":{"line":77,"column":4},"end":{"line":77,"column":53}},"25":{"start":{"line":80,"column":4},"end":{"line":94,"column":5}},"26":{"start":{"line":81,"column":24},"end":{"line":81,"column":69}},"27":{"start":{"line":82,"column":6},"end":{"line":91,"column":7}},"28":{"start":{"line":83,"column":25},"end":{"line":83,"column":69}},"29":{"start":{"line":84,"column":8},"end":{"line":90,"column":9}},"30":{"start":{"line":86,"column":10},"end":{"line":89,"column":11}},"31":{"start":{"line":86,"column":23},"end":{"line":86,"column":24}},"32":{"start":{"line":87,"column":29},"end":{"line":87,"column":63}},"33":{"start":{"line":88,"column":12},"end":{"line":88,"column":63}},"34":{"start":{"line":97,"column":19},"end":{"line":97,"column":57}},"35":{"start":{"line":98,"column":22},"end":{"line":98,"column":35}},"36":{"start":{"line":101,"column":20},"end":{"line":101,"column":46}},"37":{"start":{"line":102,"column":4},"end":{"line":109,"column":6}},"38":{"start":{"line":112,"column":4},"end":{"line":115,"column":5}},"39":{"start":{"line":112,"column":17},"end":{"line":112,"column":18}},"40":{"start":{"line":113,"column":23},"end":{"line":113,"column":57}},"41":{"start":{"line":114,"column":6},"end":{"line":114,"column":64}},"42":{"start":{"line":118,"column":4},"end":{"line":118,"column":50}},"43":{"start":{"line":121,"column":4},"end":{"line":135,"column":5}},"44":{"start":{"line":122,"column":24},"end":{"line":122,"column":69}},"45":{"start":{"line":123,"column":6},"end":{"line":132,"column":7}},"46":{"start":{"line":124,"column":25},"end":{"line":124,"column":69}},"47":{"start":{"line":125,"column":8},"end":{"line":131,"column":9}},"48":{"start":{"line":127,"column":10},"end":{"line":130,"column":11}},"49":{"start":{"line":127,"column":23},"end":{"line":127,"column":32}},"50":{"start":{"line":128,"column":29},"end":{"line":128,"column":63}},"51":{"start":{"line":129,"column":12},"end":{"line":129,"column":63}}},"fnMap":{"0":{"name":"writeSharedPluginData","decl":{"start":{"line":29,"column":22},"end":{"line":29,"column":43}},"loc":{"start":{"line":34,"column":17},"end":{"line":137,"column":1}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":2},"end":{"line":33,"column":29}},"type":"default-arg","locations":[{"start":{"line":33,"column":19},"end":{"line":33,"column":29}}],"line":33},"1":{"loc":{"start":{"line":35,"column":2},"end":{"line":61,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":61,"column":3}},{"start":{},"end":{}}],"line":35},"2":{"loc":{"start":{"line":46,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":55,"column":7}},{"start":{},"end":{}}],"line":46},"3":{"loc":{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},{"start":{},"end":{}}],"line":48},"4":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":57}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":39}},{"start":{"line":48,"column":43},"end":{"line":48,"column":57}}],"line":48},"5":{"loc":{"start":{"line":63,"column":2},"end":{"line":66,"column":3}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":66,"column":3}},{"start":{},"end":{}}],"line":63},"6":{"loc":{"start":{"line":71,"column":2},"end":{"line":136,"column":3}},"type":"if","locations":[{"start":{"line":71,"column":2},"end":{"line":136,"column":3}},{"start":{"line":95,"column":9},"end":{"line":136,"column":3}}],"line":71},"7":{"loc":{"start":{"line":82,"column":6},"end":{"line":91,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":91,"column":7}},{"start":{},"end":{}}],"line":82},"8":{"loc":{"start":{"line":84,"column":8},"end":{"line":90,"column":9}},"type":"if","locations":[{"start":{"line":84,"column":8},"end":{"line":90,"column":9}},{"start":{},"end":{}}],"line":84},"9":{"loc":{"start":{"line":84,"column":12},"end":{"line":84,"column":57}},"type":"binary-expr","locations":[{"start":{"line":84,"column":12},"end":{"line":84,"column":39}},{"start":{"line":84,"column":43},"end":{"line":84,"column":57}}],"line":84},"10":{"loc":{"start":{"line":123,"column":6},"end":{"line":132,"column":7}},"type":"if","locations":[{"start":{"line":123,"column":6},"end":{"line":132,"column":7}},{"start":{},"end":{}}],"line":123},"11":{"loc":{"start":{"line":125,"column":8},"end":{"line":131,"column":9}},"type":"if","locations":[{"start":{"line":125,"column":8},"end":{"line":131,"column":9}},{"start":{},"end":{}}],"line":125},"12":{"loc":{"start":{"line":125,"column":12},"end":{"line":125,"column":87}},"type":"binary-expr","locations":[{"start":{"line":125,"column":12},"end":{"line":125,"column":39}},{"start":{"line":125,"column":43},"end":{"line":125,"column":57}},{"start":{"line":125,"column":61},"end":{"line":125,"column":87}}],"line":125}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"f":{"0":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isColorToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isColorToken.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":5,"column":46}},"1":{"start":{"line":5,"column":33},"end":{"line":5,"column":46}},"2":{"start":{"line":6,"column":2},"end":{"line":6,"column":41}}},"fnMap":{"0":{"name":"isColorToken","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":82},"end":{"line":7,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":46}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":46}},{"start":{},"end":{}}],"line":5}},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isCompositeBorderValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isCompositeBorderValue.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":20,"column":4}},"1":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}}},"fnMap":{"0":{"name":"isCompositeBorderValue","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":38}},"loc":{"start":{"line":5,"column":116},"end":{"line":21,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":19,"column":5}},"type":"binary-expr","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":9}},{"start":{"line":9,"column":6},"end":{"line":18,"column":8}}],"line":7},"1":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":46}},"type":"cond-expr","locations":[{"start":{"line":9,"column":31},"end":{"line":9,"column":36}},{"start":{"line":9,"column":39},"end":{"line":9,"column":46}}],"line":9},"2":{"loc":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}},"type":"binary-expr","locations":[{"start":{"line":12,"column":8},"end":{"line":12,"column":9}},{"start":{"line":12,"column":13},"end":{"line":12,"column":34}},{"start":{"line":14,"column":10},"end":{"line":14,"column":22}},{"start":{"line":15,"column":13},"end":{"line":15,"column":25}},{"start":{"line":16,"column":13},"end":{"line":16,"column":25}}],"line":12}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isDocumentationType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isDocumentationType.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":112}}},"fnMap":{"0":{"name":"isDocumentationType","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":63},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isGitProvider.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isGitProvider.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":17,"column":4}}},"fnMap":{"0":{"name":"isGitProvider","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":29}},"loc":{"start":{"line":11,"column":60},"end":{"line":18,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":16,"column":58}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":49}},{"start":{"line":14,"column":7},"end":{"line":14,"column":55}},{"start":{"line":15,"column":7},"end":{"line":15,"column":55}},{"start":{"line":16,"column":7},"end":{"line":16,"column":58}}],"line":13}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isMatchingStyle.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isMatchingStyle.ts","statementMap":{"0":{"start":{"line":5,"column":20},"end":{"line":5,"column":68}},"1":{"start":{"line":5,"column":56},"end":{"line":5,"column":67}},"2":{"start":{"line":6,"column":22},"end":{"line":6,"column":41}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":35}}},"fnMap":{"0":{"name":"isMatchingStyle","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":31}},"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":46},"end":{"line":5,"column":47}},"loc":{"start":{"line":5,"column":56},"end":{"line":5,"column":67}},"line":5}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPartOfInstance.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPartOfInstance.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":2,"column":32}}},"fnMap":{"0":{"name":"isPartOfInstance","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":49},"end":{"line":3,"column":1}},"line":1}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPrimitiveValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPrimitiveValue.ts","statementMap":{"0":{"start":{"line":2,"column":2},"end":{"line":6,"column":4}}},"fnMap":{"0":{"name":"isPrimitiveValue","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":94},"end":{"line":7,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":32}},"type":"binary-expr","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},{"start":{"line":4,"column":7},"end":{"line":4,"column":33}},{"start":{"line":5,"column":7},"end":{"line":5,"column":32}}],"line":3}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPropertyType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isPropertyType.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":59}}},"fnMap":{"0":{"name":"isPropertyType","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":30}},"loc":{"start":{"line":3,"column":80},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBorderToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBorderToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":19,"column":4}},"5":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":46}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"isSingleBorderToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":35}},"loc":{"start":{"line":11,"column":30},"end":{"line":20,"column":1}},"line":11},"1":{"name":"isSingleBorderTokenInJSON","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":41}},"loc":{"start":{"line":22,"column":105},"end":{"line":30,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":45}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":10},"end":{"line":18,"column":50}},{"start":{"line":18,"column":54},"end":{"line":18,"column":94}}],"line":16},"3":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":25,"column":4},"end":{"line":25,"column":57}},{"start":{"line":26,"column":8},"end":{"line":26,"column":60}},{"start":{"line":27,"column":10},"end":{"line":27,"column":62}},{"start":{"line":28,"column":11},"end":{"line":28,"column":75}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":20,"column":4}},"5":{"start":{"line":24,"column":2},"end":{"line":24,"column":46}},"6":{"start":{"line":24,"column":33},"end":{"line":24,"column":46}},"7":{"start":{"line":25,"column":2},"end":{"line":31,"column":4}}},"fnMap":{"0":{"name":"isSingleBoxShadowToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":38}},"loc":{"start":{"line":11,"column":33},"end":{"line":21,"column":1}},"line":11},"1":{"name":"isSingleBoxShadowTokenInJSON","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":44}},"loc":{"start":{"line":23,"column":111},"end":{"line":32,"column":1}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":19,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":49}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":9},"end":{"line":18,"column":44}},{"start":{"line":19,"column":10},"end":{"line":19,"column":50}},{"start":{"line":19,"column":54},"end":{"line":19,"column":94}}],"line":16},"3":{"loc":{"start":{"line":24,"column":2},"end":{"line":24,"column":46}},"type":"if","locations":[{"start":{"line":24,"column":2},"end":{"line":24,"column":46}},{"start":{},"end":{}}],"line":24},"4":{"loc":{"start":{"line":26,"column":4},"end":{"line":30,"column":77}},"type":"binary-expr","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},{"start":{"line":27,"column":8},"end":{"line":27,"column":60}},{"start":{"line":28,"column":9},"end":{"line":28,"column":56}},{"start":{"line":29,"column":10},"end":{"line":29,"column":62}},{"start":{"line":30,"column":11},"end":{"line":30,"column":75}}],"line":26}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0,0],"3":[0,0],"4":[0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleBoxShadowValue.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":22,"column":4}},"1":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}}},"fnMap":{"0":{"name":"isSingleBoxShadowValue","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":38}},"loc":{"start":{"line":6,"column":119},"end":{"line":23,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":15},"end":{"line":13,"column":16}},"loc":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":21,"column":5}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":9}},{"start":{"line":10,"column":6},"end":{"line":10,"column":31}},{"start":{"line":11,"column":9},"end":{"line":20,"column":8}}],"line":8},"1":{"loc":{"start":{"line":11,"column":11},"end":{"line":11,"column":49}},"type":"cond-expr","locations":[{"start":{"line":11,"column":34},"end":{"line":11,"column":39}},{"start":{"line":11,"column":42},"end":{"line":11,"column":49}}],"line":11},"2":{"loc":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},"type":"binary-expr","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":9}},{"start":{"line":14,"column":13},"end":{"line":14,"column":34}},{"start":{"line":15,"column":12},"end":{"line":15,"column":23}},{"start":{"line":15,"column":27},"end":{"line":15,"column":39}},{"start":{"line":17,"column":10},"end":{"line":17,"column":47}},{"start":{"line":18,"column":13},"end":{"line":18,"column":51}}],"line":14}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleCompositionToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleCompositionToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":19,"column":4}},"5":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":46}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"isSingleCompositionToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":40}},"loc":{"start":{"line":11,"column":35},"end":{"line":20,"column":1}},"line":11},"1":{"name":"isSingleCompositionTokenInJSON","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":46}},"loc":{"start":{"line":22,"column":109},"end":{"line":30,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":50}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":10},"end":{"line":18,"column":50}},{"start":{"line":18,"column":54},"end":{"line":18,"column":94}}],"line":16},"3":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":25,"column":4},"end":{"line":25,"column":62}},{"start":{"line":26,"column":8},"end":{"line":26,"column":60}},{"start":{"line":27,"column":10},"end":{"line":27,"column":62}},{"start":{"line":28,"column":11},"end":{"line":28,"column":75}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleInternalTokenValueObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleInternalTokenValueObject.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":13,"column":4}}},"fnMap":{"0":{"name":"isSingleInternalTokenValueObject","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":48}},"loc":{"start":{"line":3,"column":119},"end":{"line":14,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":12,"column":5}},"type":"binary-expr","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":9}},{"start":{"line":6,"column":7},"end":{"line":6,"column":32}},{"start":{"line":7,"column":7},"end":{"line":7,"column":23}},{"start":{"line":9,"column":6},"end":{"line":9,"column":40}},{"start":{"line":10,"column":9},"end":{"line":10,"column":29}},{"start":{"line":11,"column":9},"end":{"line":11,"column":80}}],"line":5},"1":{"loc":{"start":{"line":11,"column":11},"end":{"line":11,"column":79}},"type":"binary-expr","locations":[{"start":{"line":11,"column":11},"end":{"line":11,"column":42}},{"start":{"line":11,"column":47},"end":{"line":11,"column":52}},{"start":{"line":11,"column":56},"end":{"line":11,"column":78}}],"line":11}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleToken.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":9,"column":4}}},"fnMap":{"0":{"name":"isSingleToken","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":78},"end":{"line":10,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":22}},"type":"binary-expr","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":9}},{"start":{"line":6,"column":7},"end":{"line":6,"column":32}},{"start":{"line":7,"column":7},"end":{"line":7,"column":23}},{"start":{"line":8,"column":7},"end":{"line":8,"column":22}}],"line":5}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenInJson.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenInJson.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":14,"column":4}}},"fnMap":{"0":{"name":"isSingleTokenInJSON","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":87},"end":{"line":15,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":13,"column":5}},"type":"binary-expr","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":9}},{"start":{"line":7,"column":7},"end":{"line":7,"column":32}},{"start":{"line":8,"column":7},"end":{"line":8,"column":41}},{"start":{"line":10,"column":6},"end":{"line":10,"column":61}},{"start":{"line":11,"column":9},"end":{"line":11,"column":50}},{"start":{"line":12,"column":9},"end":{"line":12,"column":140}}],"line":6},"1":{"loc":{"start":{"line":12,"column":11},"end":{"line":12,"column":139}},"type":"binary-expr","locations":[{"start":{"line":12,"column":11},"end":{"line":12,"column":63}},{"start":{"line":12,"column":68},"end":{"line":12,"column":73}},{"start":{"line":12,"column":77},"end":{"line":12,"column":138}}],"line":12}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenValueObject.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTokenValueObject.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":16,"column":4}}},"fnMap":{"0":{"name":"isSingleTokenValueObject","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":40}},"loc":{"start":{"line":6,"column":111},"end":{"line":17,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":9}},{"start":{"line":9,"column":7},"end":{"line":9,"column":32}},{"start":{"line":10,"column":7},"end":{"line":10,"column":41}},{"start":{"line":12,"column":6},"end":{"line":12,"column":61}},{"start":{"line":13,"column":9},"end":{"line":13,"column":50}},{"start":{"line":14,"column":9},"end":{"line":14,"column":140}}],"line":8},"1":{"loc":{"start":{"line":14,"column":11},"end":{"line":14,"column":139}},"type":"binary-expr","locations":[{"start":{"line":14,"column":11},"end":{"line":14,"column":63}},{"start":{"line":14,"column":68},"end":{"line":14,"column":73}},{"start":{"line":14,"column":77},"end":{"line":14,"column":138}}],"line":14}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0],"1":[0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyToken.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyToken.ts","statementMap":{"0":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"1":{"start":{"line":12,"column":33},"end":{"line":12,"column":46}},"2":{"start":{"line":13,"column":23},"end":{"line":13,"column":57}},"3":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"4":{"start":{"line":15,"column":2},"end":{"line":19,"column":4}},"5":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":46}},"7":{"start":{"line":24,"column":2},"end":{"line":29,"column":4}}},"fnMap":{"0":{"name":"isSingleTypographyToken","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":39}},"loc":{"start":{"line":11,"column":34},"end":{"line":20,"column":1}},"line":11},"1":{"name":"isSingleTypographyTokenInJSON","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":45}},"loc":{"start":{"line":22,"column":113},"end":{"line":30,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":36}},"type":"default-arg","locations":[{"start":{"line":10,"column":31},"end":{"line":10,"column":36}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":96}},"type":"binary-expr","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":49}},{"start":{"line":17,"column":8},"end":{"line":17,"column":48}},{"start":{"line":18,"column":10},"end":{"line":18,"column":50}},{"start":{"line":18,"column":54},"end":{"line":18,"column":94}}],"line":16},"3":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":46}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":25,"column":4},"end":{"line":28,"column":77}},"type":"binary-expr","locations":[{"start":{"line":25,"column":4},"end":{"line":25,"column":61}},{"start":{"line":26,"column":8},"end":{"line":26,"column":60}},{"start":{"line":27,"column":10},"end":{"line":27,"column":62}},{"start":{"line":28,"column":11},"end":{"line":28,"column":75}}],"line":25}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyValue.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isSingleTypographyValue.ts","statementMap":{"0":{"start":{"line":6,"column":2},"end":{"line":27,"column":4}},"1":{"start":{"line":13,"column":8},"end":{"line":24,"column":9}}},"fnMap":{"0":{"name":"isSingleTypographyValue","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":39}},"loc":{"start":{"line":5,"column":121},"end":{"line":28,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":15},"end":{"line":12,"column":16}},"loc":{"start":{"line":13,"column":8},"end":{"line":24,"column":9}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":26,"column":5}},"type":"binary-expr","locations":[{"start":{"line":7,"column":4},"end":{"line":7,"column":9}},{"start":{"line":9,"column":6},"end":{"line":9,"column":31}},{"start":{"line":10,"column":9},"end":{"line":25,"column":8}}],"line":7},"1":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":49}},"type":"cond-expr","locations":[{"start":{"line":10,"column":34},"end":{"line":10,"column":39}},{"start":{"line":10,"column":42},"end":{"line":10,"column":49}}],"line":10},"2":{"loc":{"start":{"line":13,"column":8},"end":{"line":24,"column":9}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":9}},{"start":{"line":13,"column":13},"end":{"line":13,"column":34}},{"start":{"line":15,"column":10},"end":{"line":15,"column":27}},{"start":{"line":16,"column":13},"end":{"line":16,"column":30}},{"start":{"line":17,"column":13},"end":{"line":17,"column":28}},{"start":{"line":18,"column":13},"end":{"line":18,"column":30}},{"start":{"line":19,"column":13},"end":{"line":19,"column":33}},{"start":{"line":20,"column":13},"end":{"line":20,"column":36}},{"start":{"line":21,"column":13},"end":{"line":21,"column":35}},{"start":{"line":22,"column":13},"end":{"line":22,"column":28}},{"start":{"line":23,"column":13},"end":{"line":23,"column":34}}],"line":13}},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0,0,0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenGroupWithType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenGroupWithType.ts","statementMap":{"0":{"start":{"line":17,"column":2},"end":{"line":24,"column":4}}},"fnMap":{"0":{"name":"isTokenGroupWithType","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":36}},"loc":{"start":{"line":16,"column":79},"end":{"line":25,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":23,"column":58}},"type":"binary-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":18,"column":9}},{"start":{"line":19,"column":7},"end":{"line":19,"column":32}},{"start":{"line":21,"column":8},"end":{"line":21,"column":45}},{"start":{"line":21,"column":50},"end":{"line":21,"column":84}},{"start":{"line":21,"column":88},"end":{"line":21,"column":140}},{"start":{"line":21,"column":144},"end":{"line":21,"column":206}},{"start":{"line":22,"column":7},"end":{"line":22,"column":40}},{"start":{"line":23,"column":7},"end":{"line":23,"column":58}}],"line":18}},"s":{"0":0},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenType.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/is/isTokenType.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":59}}},"fnMap":{"0":{"name":"isTokenType","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":27}},"loc":{"start":{"line":3,"column":77},"end":{"line":5,"column":1}},"line":3}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/checkAndEvaluateMath.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/checkAndEvaluateMath.ts","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":27}},"1":{"start":{"line":14,"column":0},"end":{"line":14,"column":108}},"2":{"start":{"line":14,"column":76},"end":{"line":14,"column":107}},"3":{"start":{"line":23,"column":0},"end":{"line":23,"column":101}},"4":{"start":{"line":23,"column":75},"end":{"line":23,"column":100}},"5":{"start":{"line":32,"column":0},"end":{"line":32,"column":103}},"6":{"start":{"line":32,"column":75},"end":{"line":32,"column":102}},"7":{"start":{"line":41,"column":0},"end":{"line":49,"column":2}},"8":{"start":{"line":42,"column":13},"end":{"line":42,"column":27}},"9":{"start":{"line":44,"column":2},"end":{"line":48,"column":4}},"10":{"start":{"line":45,"column":19},"end":{"line":45,"column":85}},"11":{"start":{"line":46,"column":14},"end":{"line":46,"column":62}},"12":{"start":{"line":46,"column":43},"end":{"line":46,"column":58}},"13":{"start":{"line":47,"column":4},"end":{"line":47,"column":13}},"14":{"start":{"line":52,"column":0},"end":{"line":54,"column":2}},"15":{"start":{"line":53,"column":2},"end":{"line":53,"column":23}},"16":{"start":{"line":59,"column":2},"end":{"line":63,"column":3}},"17":{"start":{"line":60,"column":4},"end":{"line":60,"column":43}},"18":{"start":{"line":62,"column":4},"end":{"line":62,"column":16}},"19":{"start":{"line":65,"column":22},"end":{"line":65,"column":64}},"20":{"start":{"line":67,"column":21},"end":{"line":67,"column":25}},"21":{"start":{"line":70,"column":2},"end":{"line":73,"column":3}},"22":{"start":{"line":71,"column":4},"end":{"line":71,"column":72}},"23":{"start":{"line":72,"column":4},"end":{"line":72,"column":28}},"24":{"start":{"line":77,"column":2},"end":{"line":81,"column":3}},"25":{"start":{"line":78,"column":4},"end":{"line":78,"column":51}},"26":{"start":{"line":80,"column":4},"end":{"line":80,"column":16}},"27":{"start":{"line":82,"column":2},"end":{"line":86,"column":3}},"28":{"start":{"line":83,"column":4},"end":{"line":83,"column":82}},"29":{"start":{"line":85,"column":4},"end":{"line":85,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":27},"end":{"line":14,"column":28}},"loc":{"start":{"line":14,"column":76},"end":{"line":14,"column":107}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":24},"end":{"line":23,"column":25}},"loc":{"start":{"line":23,"column":75},"end":{"line":23,"column":100}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":24},"end":{"line":32,"column":25}},"loc":{"start":{"line":32,"column":75},"end":{"line":32,"column":102}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":33},"end":{"line":41,"column":34}},"loc":{"start":{"line":41,"column":61},"end":{"line":49,"column":1}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":9},"end":{"line":44,"column":10}},"loc":{"start":{"line":44,"column":24},"end":{"line":48,"column":3}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":28},"end":{"line":46,"column":29}},"loc":{"start":{"line":46,"column":43},"end":{"line":46,"column":58}},"line":46},"6":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":26},"end":{"line":52,"column":27}},"loc":{"start":{"line":52,"column":62},"end":{"line":54,"column":1}},"line":52},"7":{"name":"checkAndEvaluateMath","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":36}},"loc":{"start":{"line":56,"column":51},"end":{"line":87,"column":1}},"line":56}},"branchMap":{"0":{"loc":{"start":{"line":70,"column":2},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":2},"end":{"line":73,"column":3}},{"start":{},"end":{}}],"line":70},"1":{"loc":{"start":{"line":70,"column":6},"end":{"line":70,"column":50}},"type":"binary-expr","locations":[{"start":{"line":70,"column":6},"end":{"line":70,"column":17}},{"start":{"line":70,"column":21},"end":{"line":70,"column":50}}],"line":70},"2":{"loc":{"start":{"line":83,"column":11},"end":{"line":83,"column":81}},"type":"cond-expr","locations":[{"start":{"line":83,"column":18},"end":{"line":83,"column":39}},{"start":{"line":83,"column":42},"end":{"line":83,"column":81}}],"line":83}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/math/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/checkReorder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/checkReorder.ts","statementMap":{"0":{"start":{"line":10,"column":59},"end":{"line":10,"column":64}},"1":{"start":{"line":12,"column":2},"end":{"line":12,"column":30}},"2":{"start":{"line":12,"column":17},"end":{"line":12,"column":30}},"3":{"start":{"line":14,"column":16},"end":{"line":14,"column":63}},"4":{"start":{"line":14,"column":42},"end":{"line":14,"column":62}},"5":{"start":{"line":16,"column":2},"end":{"line":16,"column":33}},"6":{"start":{"line":16,"column":20},"end":{"line":16,"column":33}},"7":{"start":{"line":18,"column":21},"end":{"line":18,"column":42}},"8":{"start":{"line":19,"column":18},"end":{"line":19,"column":36}},"9":{"start":{"line":21,"column":2},"end":{"line":28,"column":3}},"10":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":99}},"12":{"start":{"line":24,"column":64},"end":{"line":24,"column":91}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":114}},"14":{"start":{"line":26,"column":79},"end":{"line":26,"column":106}},"15":{"start":{"line":29,"column":19},"end":{"line":29,"column":35}},"16":{"start":{"line":31,"column":2},"end":{"line":33,"column":17}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":17}},"18":{"start":{"line":35,"column":15},"end":{"line":35,"column":27}},"19":{"start":{"line":36,"column":29},"end":{"line":36,"column":44}},"20":{"start":{"line":37,"column":25},"end":{"line":37,"column":81}},"21":{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},"22":{"start":{"line":42,"column":4},"end":{"line":42,"column":45}},"23":{"start":{"line":45,"column":2},"end":{"line":45,"column":15}}},"fnMap":{"0":{"name":"checkReorder","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"loc":{"start":{"line":11,"column":17},"end":{"line":46,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":45},"end":{"line":10,"column":46}},"loc":{"start":{"line":10,"column":59},"end":{"line":10,"column":64}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":32},"end":{"line":14,"column":33}},"loc":{"start":{"line":14,"column":42},"end":{"line":14,"column":62}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":44},"end":{"line":24,"column":45}},"loc":{"start":{"line":24,"column":64},"end":{"line":24,"column":91}},"line":24},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":59},"end":{"line":26,"column":60}},"loc":{"start":{"line":26,"column":79},"end":{"line":26,"column":106}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":65}},"type":"default-arg","locations":[{"start":{"line":10,"column":35},"end":{"line":10,"column":65}}],"line":10},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":30}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":30}},{"start":{},"end":{}}],"line":12},"2":{"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":33}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":16,"column":33}},{"start":{},"end":{}}],"line":16},"3":{"loc":{"start":{"line":18,"column":21},"end":{"line":18,"column":42}},"type":"cond-expr","locations":[{"start":{"line":18,"column":36},"end":{"line":18,"column":37}},{"start":{"line":18,"column":40},"end":{"line":18,"column":42}}],"line":18},"4":{"loc":{"start":{"line":21,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":21},"5":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":11},"end":{"line":27,"column":5}}],"line":23},"6":{"loc":{"start":{"line":24,"column":18},"end":{"line":24,"column":98}},"type":"binary-expr","locations":[{"start":{"line":24,"column":18},"end":{"line":24,"column":92}},{"start":{"line":24,"column":96},"end":{"line":24,"column":98}}],"line":24},"7":{"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":113}},"type":"binary-expr","locations":[{"start":{"line":26,"column":18},"end":{"line":26,"column":107}},{"start":{"line":26,"column":111},"end":{"line":26,"column":113}}],"line":26},"8":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":17}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":17}},{"start":{},"end":{}}],"line":31},"9":{"loc":{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},{"start":{},"end":{}}],"line":38},"10":{"loc":{"start":{"line":39,"column":4},"end":{"line":40,"column":77}},"type":"binary-expr","locations":[{"start":{"line":39,"column":5},"end":{"line":39,"column":21}},{"start":{"line":39,"column":25},"end":{"line":39,"column":66}},{"start":{"line":40,"column":14},"end":{"line":40,"column":31}},{"start":{"line":40,"column":35},"end":{"line":40,"column":76}}],"line":39}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/moveItem.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/motion/moveItem.ts","statementMap":{"0":{"start":{"line":3,"column":21},"end":{"line":3,"column":71}},"1":{"start":{"line":5,"column":2},"end":{"line":10,"column":3}},"2":{"start":{"line":6,"column":21},"end":{"line":6,"column":65}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":43}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":34}},"5":{"start":{"line":12,"column":2},"end":{"line":12,"column":13}}},"fnMap":{"0":{"name":"moveItem","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":24}},"loc":{"start":{"line":2,"column":79},"end":{"line":13,"column":1}},"line":2}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":21},"end":{"line":3,"column":71}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":59}},{"start":{"line":3,"column":62},"end":{"line":3,"column":71}}],"line":3},"1":{"loc":{"start":{"line":5,"column":2},"end":{"line":10,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":10,"column":3}},{"start":{},"end":{}}],"line":5},"2":{"loc":{"start":{"line":5,"column":6},"end":{"line":5,"column":48}},"type":"binary-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":5,"column":21}},{"start":{"line":5,"column":25},"end":{"line":5,"column":48}}],"line":5},"3":{"loc":{"start":{"line":6,"column":21},"end":{"line":6,"column":65}},"type":"cond-expr","locations":[{"start":{"line":6,"column":35},"end":{"line":6,"column":55}},{"start":{"line":6,"column":58},"end":{"line":6,"column":65}}],"line":6}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/init.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/init.ts","statementMap":{"0":{"start":{"line":8,"column":2},"end":{"line":25,"column":5}},"1":{"start":{"line":9,"column":4},"end":{"line":13,"column":7}},"2":{"start":{"line":15,"column":4},"end":{"line":18,"column":7}},"3":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"4":{"start":{"line":21,"column":6},"end":{"line":21,"column":26}},"5":{"start":{"line":24,"column":4},"end":{"line":24,"column":14}}},"fnMap":{"0":{"name":"init","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":26}},"loc":{"start":{"line":7,"column":29},"end":{"line":26,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":25}},"loc":{"start":{"line":8,"column":42},"end":{"line":23,"column":3}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":11},"end":{"line":23,"column":12}},"loc":{"start":{"line":23,"column":20},"end":{"line":25,"column":3}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":61}},"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":34}},{"start":{"line":11,"column":38},"end":{"line":11,"column":61}}],"line":11},"1":{"loc":{"start":{"line":12,"column":14},"end":{"line":12,"column":64}},"type":"binary-expr","locations":[{"start":{"line":12,"column":14},"end":{"line":12,"column":36}},{"start":{"line":12,"column":40},"end":{"line":12,"column":64}}],"line":12},"2":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{},"end":{}}],"line":20}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/startup.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/plugin/startup.ts","statementMap":{"0":{"start":{"line":29,"column":6},"end":{"line":43,"column":4}},"1":{"start":{"line":45,"column":2},"end":{"line":65,"column":4}}},"fnMap":{"0":{"name":"startup","decl":{"start":{"line":13,"column":22},"end":{"line":13,"column":29}},"loc":{"start":{"line":13,"column":32},"end":{"line":66,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":17},"end":{"line":53,"column":37}},"type":"binary-expr","locations":[{"start":{"line":53,"column":17},"end":{"line":53,"column":28}},{"start":{"line":53,"column":32},"end":{"line":53,"column":37}}],"line":53},"1":{"loc":{"start":{"line":54,"column":20},"end":{"line":57,"column":12}},"type":"cond-expr","locations":[{"start":{"line":54,"column":37},"end":{"line":57,"column":5}},{"start":{"line":57,"column":8},"end":{"line":57,"column":12}}],"line":54},"2":{"loc":{"start":{"line":58,"column":10},"end":{"line":62,"column":12}},"type":"cond-expr","locations":[{"start":{"line":58,"column":30},"end":{"line":62,"column":5}},{"start":{"line":62,"column":8},"end":{"line":62,"column":12}}],"line":58}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/joinPath.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/joinPath.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":6,"column":15}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":48}}},"fnMap":{"0":{"name":"joinPath","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":24}},"loc":{"start":{"line":3,"column":45},"end":{"line":7,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":48}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/slugify.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/slugify.ts","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":10,"column":26}}},"fnMap":{"0":{"name":"slugify","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":23}},"loc":{"start":{"line":2,"column":38},"end":{"line":11,"column":1}},"line":2}},"branchMap":{},"s":{"0":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/decodeBase64.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/decodeBase64.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":2,"column":27}},"1":{"start":{"line":3,"column":21},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":38}},"3":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":5,"column":15},"end":{"line":5,"column":16}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":34}},"6":{"start":{"line":8,"column":18},"end":{"line":8,"column":35}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":31}}},"fnMap":{"0":{"name":"decodeBase64","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":28}},"loc":{"start":{"line":1,"column":45},"end":{"line":10,"column":1}},"line":1}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"f":{"0":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/string/ui/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/applyTokenSetOrder.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/applyTokenSetOrder.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":21}},"2":{"start":{"line":8,"column":2},"end":{"line":17,"column":4}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":49}},"4":{"start":{"line":11,"column":23},"end":{"line":11,"column":49}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":53}},"6":{"start":{"line":12,"column":44},"end":{"line":12,"column":53}},"7":{"start":{"line":13,"column":6},"end":{"line":13,"column":54}},"8":{"start":{"line":13,"column":44},"end":{"line":13,"column":54}},"9":{"start":{"line":14,"column":6},"end":{"line":14,"column":74}},"10":{"start":{"line":14,"column":46},"end":{"line":14,"column":74}},"11":{"start":{"line":15,"column":6},"end":{"line":15,"column":42}}},"fnMap":{"0":{"name":"applyTokenSetOrder","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":152},"end":{"line":18,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},"loc":{"start":{"line":9,"column":45},"end":{"line":16,"column":5}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":79}},"type":"default-arg","locations":[{"start":{"line":3,"column":77},"end":{"line":3,"column":79}}],"line":3},"1":{"loc":{"start":{"line":3,"column":81},"end":{"line":3,"column":150}},"type":"default-arg","locations":[{"start":{"line":3,"column":146},"end":{"line":3,"column":150}}],"line":3},"2":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{},"end":{}}],"line":4},"3":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":56}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":31}},{"start":{"line":4,"column":35},"end":{"line":4,"column":56}}],"line":4},"4":{"loc":{"start":{"line":10,"column":23},"end":{"line":10,"column":49}},"type":"binary-expr","locations":[{"start":{"line":10,"column":23},"end":{"line":10,"column":43}},{"start":{"line":10,"column":47},"end":{"line":10,"column":49}}],"line":10},"5":{"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":49}},"type":"binary-expr","locations":[{"start":{"line":11,"column":23},"end":{"line":11,"column":43}},{"start":{"line":11,"column":47},"end":{"line":11,"column":49}}],"line":11},"6":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":53}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":53}},{"start":{},"end":{}}],"line":12},"7":{"loc":{"start":{"line":12,"column":10},"end":{"line":12,"column":42}},"type":"binary-expr","locations":[{"start":{"line":12,"column":10},"end":{"line":12,"column":25}},{"start":{"line":12,"column":29},"end":{"line":12,"column":42}}],"line":12},"8":{"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":54}},"type":"if","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":54}},{"start":{},"end":{}}],"line":13},"9":{"loc":{"start":{"line":13,"column":10},"end":{"line":13,"column":42}},"type":"binary-expr","locations":[{"start":{"line":13,"column":10},"end":{"line":13,"column":23}},{"start":{"line":13,"column":27},"end":{"line":13,"column":42}}],"line":13},"10":{"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":74}},"type":"if","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":74}},{"start":{},"end":{}}],"line":14},"11":{"loc":{"start":{"line":14,"column":10},"end":{"line":14,"column":44}},"type":"binary-expr","locations":[{"start":{"line":14,"column":10},"end":{"line":14,"column":25}},{"start":{"line":14,"column":29},"end":{"line":14,"column":44}}],"line":14},"12":{"loc":{"start":{"line":14,"column":53},"end":{"line":14,"column":73}},"type":"cond-expr","locations":[{"start":{"line":14,"column":67},"end":{"line":14,"column":69}},{"start":{"line":14,"column":72},"end":{"line":14,"column":73}}],"line":14},"13":{"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":41}},"type":"cond-expr","locations":[{"start":{"line":15,"column":35},"end":{"line":15,"column":37}},{"start":{"line":15,"column":40},"end":{"line":15,"column":41}}],"line":15}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx","statementMap":{"0":{"start":{"line":5,"column":19},"end":{"line":8,"column":4}},"1":{"start":{"line":6,"column":4},"end":{"line":7,"column":41}},"2":{"start":{"line":9,"column":27},"end":{"line":17,"column":4}},"3":{"start":{"line":10,"column":4},"end":{"line":15,"column":5}},"4":{"start":{"line":11,"column":28},"end":{"line":13,"column":11}},"5":{"start":{"line":12,"column":8},"end":{"line":12,"column":71}},"6":{"start":{"line":14,"column":6},"end":{"line":14,"column":49}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":31}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":26}}},"fnMap":{"0":{"name":"findOrderableTargetIndexesInTokenSetTreeList","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":60}},"loc":{"start":{"line":4,"column":131},"end":{"line":19,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":32},"end":{"line":5,"column":33}},"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":41}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":40},"end":{"line":9,"column":41}},"loc":{"start":{"line":9,"column":50},"end":{"line":17,"column":3}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":71}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":41}},"type":"binary-expr","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":24}},{"start":{"line":7,"column":7},"end":{"line":7,"column":41}}],"line":6},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":10},"2":{"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":71}},"type":"cond-expr","locations":[{"start":{"line":12,"column":54},"end":{"line":12,"column":63}},{"start":{"line":12,"column":66},"end":{"line":12,"column":71}}],"line":12}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findParentIndexToInsertSet.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/findParentIndexToInsertSet.ts","statementMap":{"0":{"start":{"line":4,"column":37},"end":{"line":17,"column":54}},"1":{"start":{"line":5,"column":26},"end":{"line":5,"column":43}},"2":{"start":{"line":6,"column":23},"end":{"line":6,"column":45}},"3":{"start":{"line":7,"column":31},"end":{"line":7,"column":90}},"4":{"start":{"line":7,"column":63},"end":{"line":7,"column":89}},"5":{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},"6":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"7":{"start":{"line":10,"column":8},"end":{"line":13,"column":10}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":45}}},"fnMap":{"0":{"name":"findParentIndexToInsertSet","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":42}},"loc":{"start":{"line":3,"column":103},"end":{"line":20,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":71},"end":{"line":4,"column":72}},"loc":{"start":{"line":4,"column":92},"end":{"line":17,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":52},"end":{"line":7,"column":53}},"loc":{"start":{"line":7,"column":63},"end":{"line":7,"column":89}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":15,"column":5}},{"start":{},"end":{}}],"line":8},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},"type":"if","locations":[{"start":{"line":9,"column":6},"end":{"line":14,"column":7}},{"start":{},"end":{}}],"line":9}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/index.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/mapTokensToStyleInfo.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/mapTokensToStyleInfo.ts","statementMap":{"0":{"start":{"line":12,"column":7},"end":{"line":12,"column":9}},"1":{"start":{"line":14,"column":18},"end":{"line":14,"column":40}},"2":{"start":{"line":15,"column":2},"end":{"line":26,"column":5}},"3":{"start":{"line":16,"column":4},"end":{"line":25,"column":7}},"4":{"start":{"line":17,"column":24},"end":{"line":17,"column":58}},"5":{"start":{"line":18,"column":29},"end":{"line":18,"column":88}},"6":{"start":{"line":19,"column":6},"end":{"line":24,"column":7}},"7":{"start":{"line":20,"column":8},"end":{"line":23,"column":10}},"8":{"start":{"line":28,"column":2},"end":{"line":28,"column":13}}},"fnMap":{"0":{"name":"mapTokensToStyleInfo","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":36}},"loc":{"start":{"line":8,"column":2},"end":{"line":29,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":18},"end":{"line":15,"column":19}},"loc":{"start":{"line":15,"column":33},"end":{"line":26,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":19},"end":{"line":16,"column":20}},"loc":{"start":{"line":16,"column":30},"end":{"line":25,"column":5}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":24,"column":7}},{"start":{},"end":{}}],"line":19}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToList.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToList.ts","statementMap":{"0":{"start":{"line":5,"column":2},"end":{"line":13,"column":6}},"1":{"start":{"line":5,"column":30},"end":{"line":13,"column":3}}},"fnMap":{"0":{"name":"tokenSetListToList","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"loc":{"start":{"line":4,"column":64},"end":{"line":14,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":19},"end":{"line":5,"column":20}},"loc":{"start":{"line":5,"column":30},"end":{"line":13,"column":3}},"line":5}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToTree.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/tokenSetListToTree.ts","statementMap":{"0":{"start":{"line":14,"column":15},"end":{"line":60,"column":8}},"1":{"start":{"line":15,"column":17},"end":{"line":15,"column":32}},"2":{"start":{"line":16,"column":23},"end":{"line":16,"column":73}},"3":{"start":{"line":17,"column":24},"end":{"line":17,"column":73}},"4":{"start":{"line":17,"column":48},"end":{"line":17,"column":72}},"5":{"start":{"line":19,"column":4},"end":{"line":35,"column":5}},"6":{"start":{"line":20,"column":30},"end":{"line":20,"column":51}},"7":{"start":{"line":21,"column":6},"end":{"line":34,"column":9}},"8":{"start":{"line":22,"column":22},"end":{"line":22,"column":31}},"9":{"start":{"line":23,"column":8},"end":{"line":33,"column":9}},"10":{"start":{"line":23,"column":32},"end":{"line":23,"column":107}},"11":{"start":{"line":24,"column":10},"end":{"line":32,"column":13}},"12":{"start":{"line":37,"column":4},"end":{"line":58,"column":5}},"13":{"start":{"line":38,"column":29},"end":{"line":38,"column":96}},"14":{"start":{"line":38,"column":50},"end":{"line":38,"column":88}},"15":{"start":{"line":39,"column":6},"end":{"line":47,"column":9}},"16":{"start":{"line":49,"column":6},"end":{"line":57,"column":9}},"17":{"start":{"line":59,"column":4},"end":{"line":59,"column":15}},"18":{"start":{"line":63,"column":2},"end":{"line":63,"column":14}}},"fnMap":{"0":{"name":"tokenSetListToTree","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":34}},"loc":{"start":{"line":13,"column":52},"end":{"line":64,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":40},"end":{"line":14,"column":41}},"loc":{"start":{"line":14,"column":55},"end":{"line":60,"column":3}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":38},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":48},"end":{"line":17,"column":72}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":31}},"loc":{"start":{"line":21,"column":52},"end":{"line":34,"column":7}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":22},"end":{"line":23,"column":23}},"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":107}},"line":23},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":40},"end":{"line":38,"column":41}},"loc":{"start":{"line":38,"column":50},"end":{"line":38,"column":88}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":23},"end":{"line":16,"column":73}},"type":"cond-expr","locations":[{"start":{"line":16,"column":41},"end":{"line":16,"column":68}},{"start":{"line":16,"column":71},"end":{"line":16,"column":73}}],"line":16},"1":{"loc":{"start":{"line":19,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":35,"column":5}},{"start":{},"end":{}}],"line":19},"2":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":44}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":25}},{"start":{"line":19,"column":29},"end":{"line":19,"column":44}}],"line":19},"3":{"loc":{"start":{"line":23,"column":8},"end":{"line":33,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":33,"column":9}},{"start":{},"end":{}}],"line":23},"4":{"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":107}},"type":"binary-expr","locations":[{"start":{"line":23,"column":32},"end":{"line":23,"column":91}},{"start":{"line":23,"column":95},"end":{"line":23,"column":107}}],"line":23},"5":{"loc":{"start":{"line":37,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":58,"column":5}},{"start":{"line":48,"column":11},"end":{"line":58,"column":5}}],"line":37}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/updateTokenSetsInState.ts": {"path":"/home/runner/work/figma-plugin/figma-plugin/packages/tokens-studio-for-figma/src/utils/tokenset/updateTokenSetsInState.ts","statementMap":{"0":{"start":{"line":13,"column":27},"end":{"line":13,"column":44}},"1":{"start":{"line":14,"column":27},"end":{"line":14,"column":52}},"2":{"start":{"line":15,"column":18},"end":{"line":30,"column":8}},"3":{"start":{"line":16,"column":4},"end":{"line":28,"column":5}},"4":{"start":{"line":17,"column":22},"end":{"line":17,"column":45}},"5":{"start":{"line":18,"column":6},"end":{"line":25,"column":7}},"6":{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},"7":{"start":{"line":20,"column":10},"end":{"line":20,"column":49}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":26}},"9":{"start":{"line":24,"column":8},"end":{"line":24,"column":35}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":34}},"11":{"start":{"line":29,"column":4},"end":{"line":29,"column":15}},"12":{"start":{"line":32,"column":2},"end":{"line":35,"column":5}},"13":{"start":{"line":33,"column":21},"end":{"line":33,"column":101}},"14":{"start":{"line":34,"column":4},"end":{"line":34,"column":64}},"15":{"start":{"line":37,"column":27},"end":{"line":37,"column":47}},"16":{"start":{"line":38,"column":2},"end":{"line":47,"column":3}},"17":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"18":{"start":{"line":40,"column":34},"end":{"line":40,"column":44}},"19":{"start":{"line":41,"column":6},"end":{"line":41,"column":45}},"20":{"start":{"line":43,"column":6},"end":{"line":43,"column":30}},"21":{"start":{"line":45,"column":9},"end":{"line":47,"column":3}},"22":{"start":{"line":46,"column":4},"end":{"line":46,"column":69}},"23":{"start":{"line":49,"column":25},"end":{"line":49,"column":50}},"24":{"start":{"line":50,"column":19},"end":{"line":50,"column":36}},"25":{"start":{"line":51,"column":2},"end":{"line":62,"column":3}},"26":{"start":{"line":52,"column":33},"end":{"line":52,"column":61}},"27":{"start":{"line":53,"column":4},"end":{"line":53,"column":105}},"28":{"start":{"line":54,"column":4},"end":{"line":61,"column":8}},"29":{"start":{"line":54,"column":44},"end":{"line":61,"column":5}},"30":{"start":{"line":64,"column":2},"end":{"line":82,"column":3}},"31":{"start":{"line":65,"column":4},"end":{"line":69,"column":7}},"32":{"start":{"line":66,"column":29},"end":{"line":66,"column":86}},"33":{"start":{"line":67,"column":6},"end":{"line":67,"column":62}},"34":{"start":{"line":68,"column":6},"end":{"line":68,"column":49}},"35":{"start":{"line":70,"column":4},"end":{"line":81,"column":7}},"36":{"start":{"line":71,"column":34},"end":{"line":71,"column":64}},"37":{"start":{"line":72,"column":6},"end":{"line":76,"column":9}},"38":{"start":{"line":73,"column":31},"end":{"line":73,"column":93}},"39":{"start":{"line":74,"column":8},"end":{"line":74,"column":74}},"40":{"start":{"line":75,"column":8},"end":{"line":75,"column":56}},"41":{"start":{"line":77,"column":6},"end":{"line":80,"column":8}},"42":{"start":{"line":84,"column":2},"end":{"line":95,"column":3}},"43":{"start":{"line":85,"column":4},"end":{"line":94,"column":7}},"44":{"start":{"line":86,"column":6},"end":{"line":86,"column":55}},"45":{"start":{"line":87,"column":6},"end":{"line":93,"column":10}},"46":{"start":{"line":87,"column":46},"end":{"line":93,"column":7}},"47":{"start":{"line":97,"column":24},"end":{"line":97,"column":51}},"48":{"start":{"line":98,"column":24},"end":{"line":98,"column":81}},"49":{"start":{"line":98,"column":71},"end":{"line":98,"column":79}},"50":{"start":{"line":99,"column":20},"end":{"line":99,"column":22}},"51":{"start":{"line":100,"column":2},"end":{"line":102,"column":5}},"52":{"start":{"line":100,"column":39},"end":{"line":100,"column":45}},"53":{"start":{"line":100,"column":65},"end":{"line":100,"column":69}},"54":{"start":{"line":101,"column":4},"end":{"line":101,"column":60}},"55":{"start":{"line":104,"column":2},"end":{"line":110,"column":4}}},"fnMap":{"0":{"name":"updateTokenSetsInState","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":38}},"loc":{"start":{"line":12,"column":14},"end":{"line":111,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":80},"end":{"line":15,"column":81}},"loc":{"start":{"line":15,"column":108},"end":{"line":30,"column":3}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":23},"end":{"line":32,"column":24}},"loc":{"start":{"line":32,"column":35},"end":{"line":35,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":54,"column":32},"end":{"line":54,"column":33}},"loc":{"start":{"line":54,"column":44},"end":{"line":61,"column":5}},"line":54},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":29},"end":{"line":65,"column":30}},"loc":{"start":{"line":65,"column":56},"end":{"line":69,"column":5}},"line":65},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":32},"end":{"line":70,"column":33}},"loc":{"start":{"line":70,"column":43},"end":{"line":81,"column":5}},"line":70},"6":{"name":"(anonymous_6)","decl":{"start":{"line":72,"column":31},"end":{"line":72,"column":32}},"loc":{"start":{"line":72,"column":58},"end":{"line":76,"column":7}},"line":72},"7":{"name":"(anonymous_7)","decl":{"start":{"line":85,"column":25},"end":{"line":85,"column":26}},"loc":{"start":{"line":85,"column":37},"end":{"line":94,"column":5}},"line":85},"8":{"name":"(anonymous_8)","decl":{"start":{"line":87,"column":34},"end":{"line":87,"column":35}},"loc":{"start":{"line":87,"column":46},"end":{"line":93,"column":7}},"line":87},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":55},"end":{"line":98,"column":56}},"loc":{"start":{"line":98,"column":71},"end":{"line":98,"column":79}},"line":98},"10":{"name":"(anonymous_10)","decl":{"start":{"line":100,"column":23},"end":{"line":100,"column":24}},"loc":{"start":{"line":100,"column":39},"end":{"line":100,"column":45}},"line":100},"11":{"name":"(anonymous_11)","decl":{"start":{"line":100,"column":51},"end":{"line":100,"column":52}},"loc":{"start":{"line":100,"column":65},"end":{"line":100,"column":69}},"line":100},"12":{"name":"(anonymous_12)","decl":{"start":{"line":100,"column":79},"end":{"line":100,"column":80}},"loc":{"start":{"line":100,"column":88},"end":{"line":102,"column":3}},"line":100}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":28,"column":5}},{"start":{"line":26,"column":11},"end":{"line":28,"column":5}}],"line":16},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":18,"column":6},"end":{"line":25,"column":7}},{"start":{"line":23,"column":13},"end":{"line":25,"column":7}}],"line":18},"2":{"loc":{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},{"start":{},"end":{}}],"line":19},"3":{"loc":{"start":{"line":33,"column":21},"end":{"line":33,"column":101}},"type":"cond-expr","locations":[{"start":{"line":33,"column":43},"end":{"line":33,"column":52}},{"start":{"line":33,"column":55},"end":{"line":33,"column":101}}],"line":33},"4":{"loc":{"start":{"line":34,"column":44},"end":{"line":34,"column":61}},"type":"binary-expr","locations":[{"start":{"line":34,"column":44},"end":{"line":34,"column":55}},{"start":{"line":34,"column":59},"end":{"line":34,"column":61}}],"line":34},"5":{"loc":{"start":{"line":38,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":47,"column":3}},{"start":{"line":45,"column":9},"end":{"line":47,"column":3}}],"line":38},"6":{"loc":{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":44,"column":5}},{"start":{"line":42,"column":11},"end":{"line":44,"column":5}}],"line":39},"7":{"loc":{"start":{"line":45,"column":9},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":9},"end":{"line":47,"column":3}},{"start":{},"end":{}}],"line":45},"8":{"loc":{"start":{"line":51,"column":2},"end":{"line":62,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":62,"column":3}},{"start":{},"end":{}}],"line":51},"9":{"loc":{"start":{"line":64,"column":2},"end":{"line":82,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":82,"column":3}},{"start":{},"end":{}}],"line":64},"10":{"loc":{"start":{"line":66,"column":29},"end":{"line":66,"column":86}},"type":"binary-expr","locations":[{"start":{"line":66,"column":29},"end":{"line":66,"column":59}},{"start":{"line":66,"column":63},"end":{"line":66,"column":86}}],"line":66},"11":{"loc":{"start":{"line":73,"column":31},"end":{"line":73,"column":93}},"type":"binary-expr","locations":[{"start":{"line":73,"column":31},"end":{"line":73,"column":66}},{"start":{"line":73,"column":70},"end":{"line":73,"column":93}}],"line":73},"12":{"loc":{"start":{"line":84,"column":2},"end":{"line":95,"column":3}},"type":"if","locations":[{"start":{"line":84,"column":2},"end":{"line":95,"column":3}},{"start":{},"end":{}}],"line":84}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}} -} diff --git a/packages/tokens-studio-for-figma/lcov-report/base.css b/packages/tokens-studio-for-figma/lcov-report/base.css deleted file mode 100644 index f418035b4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/packages/tokens-studio-for-figma/lcov-report/block-navigation.js b/packages/tokens-studio-for-figma/lcov-report/block-navigation.js deleted file mode 100644 index cc1213023..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/block-navigation.js +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } - - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/packages/tokens-studio-for-figma/lcov-report/favicon.png b/packages/tokens-studio-for-figma/lcov-report/favicon.png deleted file mode 100644 index c1525b811a167671e9de1fa78aab9f5c0b61cef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 1.07% - Statements - 146/13611 -
- - -
- 0.95% - Branches - 86/9016 -
- - -
- 0.71% - Functions - 23/3200 -
- - -
- 1.07% - Lines - 139/12924 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
src -
-
10.64%28/2633.59%5/1393.7%2/5410.76%28/260
src/app -
-
0%0/270%0/140%0/40%0/27
src/app/assets/hints -
-
0%0/00%0/00%0/00%0/0
src/app/asyncMessageHandlers -
-
0%0/240%0/70%0/80%0/24
src/app/components -
-
0%0/21170%0/14770%0/5680%0/2012
src/app/components/Accordion -
-
0%0/60%0/100%0/20%0/6
src/app/components/AddLicenseKey -
-
0%0/370%0/300%0/90%0/36
src/app/components/AppContainer -
-
0%0/430%0/190%0/90%0/42
src/app/components/AppContainer/startupProcessSteps -
-
0%0/1210%0/870%0/150%0/116
src/app/components/AuthModal -
-
0%0/180%0/160%0/40%0/18
src/app/components/ColorPicker -
-
0%0/640%0/490%0/150%0/64
src/app/components/DownshiftInput -
-
0%0/1240%0/1080%0/440%0/115
src/app/components/DuplicateResolver -
-
0%0/70%0/160%0/40%0/7
src/app/components/ErrorFallback -
-
0%0/1100%0/00%0/10%0/1
src/app/components/ExportProvider -
-
0%0/550%0/20%0/170%0/54
src/app/components/Flex -
-
0%0/1100%0/0100%0/00%0/1
src/app/components/LanguageSelector -
-
0%0/12100%0/00%0/50%0/10
src/app/components/LaunchDarkly -
-
0%0/100%0/80%0/50%0/10
src/app/components/ManageStylesAndVariables -
-
0%0/1600%0/380%0/580%0/148
src/app/components/ManageThemesModal -
-
0%0/3430%0/2090%0/1120%0/327
src/app/components/Modal -
-
0%0/120%0/360%0/30%0/12
src/app/components/MoreButton -
-
0%0/600%0/190%0/210%0/57
src/app/components/NavbarUndoButton -
-
0%0/110%0/40%0/20%0/11
src/app/components/PresetProvider -
-
0%0/22100%0/00%0/60%0/22
src/app/components/ResolvingLoader -
-
0%0/4100%0/00%0/10%0/4
src/app/components/SecondScreen -
-
0%0/180%0/220%0/30%0/18
src/app/components/SecondScreenSync -
-
0%0/430%0/300%0/110%0/41
src/app/components/Settings -
-
0%0/400%0/180%0/70%0/40
src/app/components/StorageItemForm -
-
0%0/1840%0/2010%0/570%0/167
src/app/components/StyledDragger -
-
0%0/150%0/50%0/40%0/13
src/app/components/TabButton -
-
0%0/50%0/80%0/20%0/5
src/app/components/ThemeSelector -
-
0%0/460%0/300%0/160%0/37
src/app/components/TokenButton -
-
0%0/870%0/490%0/220%0/81
src/app/components/TokenFlowButton -
-
0%0/200%0/60%0/20%0/20
src/app/components/TokenGroup -
-
0%0/650%0/230%0/200%0/61
src/app/components/TokenSetItem -
-
0%0/310%0/240%0/110%0/29
src/app/components/TokenSetTree -
-
0%0/170%0/150%0/100%0/15
src/app/components/TokenTooltip -
-
0%0/520%0/770%0/160%0/50
src/app/components/inspector -
-
0%0/340%0/150%0/70%0/32
src/app/components/modals -
-
0%0/1780%0/740%0/560%0/173
src/app/enhancers/undoableEnhancer -
-
0%0/500%0/220%0/190%0/48
src/app/hooks -
-
0%0/1670%0/760%0/490%0/164
src/app/preview -
-
0%0/1270%0/1010%0/290%0/124
src/app/store -
-
0%0/6110%0/3310%0/1010%0/590
src/app/store/middlewares -
-
0%0/100%0/40%0/30%0/8
src/app/store/models -
-
0%0/4250%0/1860%0/2110%0/413
src/app/store/models/effects -
-
0%0/1100%0/00%0/10%0/1
src/app/store/models/effects/settingsState -
-
0%0/24100%0/00%0/240%0/24
src/app/store/models/effects/tokenState -
-
0%0/32100%0/00%0/320%0/32
src/app/store/models/reducers/settingsState -
-
0%0/13100%0/00%0/130%0/13
src/app/store/models/reducers/tokenState -
-
0%0/2240%0/1580%0/770%0/207
src/app/store/models/reducers/userState -
-
0%0/1100%0/00%0/10%0/1
src/app/store/providers -
-
0%0/1340%0/570%0/150%0/129
src/app/store/providers/ado -
-
0%0/1240%0/530%0/120%0/117
src/app/store/providers/bitbucket -
-
0%0/1150%0/570%0/120%0/109
src/app/store/providers/generic -
-
0%0/900%0/370%0/60%0/86
src/app/store/providers/github -
-
0%0/1280%0/680%0/130%0/121
src/app/store/providers/gitlab -
-
0%0/1350%0/640%0/130%0/128
src/app/store/providers/supernova -
-
0%0/640%0/220%0/80%0/64
src/app/store/providers/tokens-studio -
-
0%0/700%0/240%0/90%0/70
src/app/store/utils -
-
0%0/430%0/310%0/80%0/37
src/config -
-
0%0/1100%0/0100%0/00%0/1
src/constants -
-
6.66%1/15100%0/0100%0/06.66%1/15
src/context -
-
0%0/480%0/160%0/140%0/48
src/figmaStorage -
-
0%0/1450%0/640%0/430%0/134
src/hooks -
-
0%0/770%0/320%0/260%0/70
src/hooks/useProcess -
-
0%0/550%0/170%0/190%0/48
src/i18n -
-
0%0/60%0/20%0/10%0/6
src/i18n/lang/en -
-
0%0/00%0/00%0/00%0/0
src/i18n/lang/es -
-
0%0/00%0/00%0/00%0/0
src/i18n/lang/fr -
-
0%0/00%0/00%0/00%0/0
src/i18n/lang/hi -
-
0%0/00%0/00%0/00%0/0
src/i18n/lang/nl -
-
0%0/00%0/00%0/00%0/0
src/i18n/lang/zh -
-
0%0/00%0/00%0/00%0/0
src/icons -
-
0%0/00%0/00%0/00%0/0
src/mocks -
-
0%0/280%0/80%0/40%0/28
src/motion -
-
0%0/390%0/200%0/150%0/36
src/plugin -
-
4.93%104/21084.17%81/19404.69%16/3414.98%99/1987
src/plugin/asyncMessageHandlers -
-
2.07%9/4340%0/1902.75%3/1091.93%8/413
src/plugin/figmaTransforms -
-
0%0/2310%0/1510%0/320%0/229
src/plugin/figmaUtils -
-
0%0/310%0/360%0/80%0/30
src/plugin/figmaUtils/styleMatchers -
-
0%0/550%0/680%0/50%0/55
src/profiling -
-
0%0/500%0/170%0/60%0/49
src/selectors -
-
0%0/2040%0/160%0/1040%0/178
src/storage -
-
0%0/9320%0/5860%0/1850%0/889
src/storage/schemas -
-
0%0/10100%0/00%0/20%0/10
src/storage/tokensStudio -
-
0%0/250%0/20%0/80%0/25
src/storage/tokensStudio/graphql -
-
0%0/15100%0/0100%0/00%0/15
src/storage/tokensStudio/updateThemeGroupsInTokensStudio -
-
0%0/920%0/500%0/140%0/89
src/storage/tokensStudio/utils -
-
0%0/6100%0/00%0/20%0/6
src/stories -
-
0%0/1100%0/0100%0/00%0/1
src/tokens -
-
0%0/10100%0/0100%0/00%0/10
src/types -
-
0%0/00%0/00%0/00%0/0
src/types/payloads -
-
0%0/00%0/00%0/00%0/0
src/types/properties -
-
0%0/00%0/00%0/00%0/0
src/types/redux -
-
0%0/00%0/00%0/00%0/0
src/types/tokens -
-
0%0/00%0/00%0/00%0/0
src/types/values -
-
0%0/00%0/00%0/00%0/0
src/utils -
-
0.27%4/14410%0/11480.74%2/2670.22%3/1363
src/utils/alias -
-
0%0/890%0/1100%0/110%0/85
src/utils/color -
-
0%0/1080%0/330%0/140%0/105
src/utils/date -
-
0%0/70%0/40%0/10%0/7
src/utils/dragDropOrder -
-
0%0/260%0/120%0/110%0/21
src/utils/error -
-
0%0/2100%0/00%0/10%0/2
src/utils/figma -
-
0%0/220%0/100%0/30%0/22
src/utils/figmaStorage -
-
0%0/810%0/450%0/40%0/76
src/utils/is -
-
0%0/560%0/1380%0/280%0/46
src/utils/math -
-
0%0/300%0/60%0/80%0/26
src/utils/motion -
-
0%0/300%0/310%0/60%0/25
src/utils/plugin -
-
0%0/80%0/120%0/40%0/8
src/utils/string -
-
0%0/3100%0/00%0/30%0/3
src/utils/string/ui -
-
0%0/8100%0/00%0/10%0/7
src/utils/tokenset -
-
0%0/1170%0/760%0/330%0/104
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/prettify.css b/packages/tokens-studio-for-figma/lcov-report/prettify.css deleted file mode 100644 index b317a7cda..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/packages/tokens-studio-for-figma/lcov-report/prettify.js b/packages/tokens-studio-for-figma/lcov-report/prettify.js deleted file mode 100644 index b3225238f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/packages/tokens-studio-for-figma/lcov-report/sort-arrow-sprite.png b/packages/tokens-studio-for-figma/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 6ed68316eb3f65dec9063332d2f69bf3093bbfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc diff --git a/packages/tokens-studio-for-figma/lcov-report/sorter.js b/packages/tokens-studio-for-figma/lcov-report/sorter.js deleted file mode 100644 index 2bb296a8c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/sorter.js +++ /dev/null @@ -1,196 +0,0 @@ -/* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - if ( - row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()) - ) { - row.style.display = ''; - } else { - row.style.display = 'none'; - } - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html deleted file mode 100644 index be4dc50e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannel.ts.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - Code coverage report for src/AsyncMessageChannel.ts - - - - - - - - - -
-
-

All files / src AsyncMessageChannel.ts

-
- -
- 12% - Statements - 6/50 -
- - -
- 2.94% - Branches - 1/34 -
- - -
- 8.33% - Functions - 1/12 -
- - -
- 12.5% - Lines - 6/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -2x -  -2x -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  - 
import hash from 'object-hash';
-import {
-  AsyncMessageResults, AsyncMessageResultsMap, AsyncMessages, AsyncMessagesMap, AsyncMessageTypes,
-} from './types/AsyncMessages';
- 
-import { AsyncMessageChannelPreview } from './AsyncMessageChannelPreview';
- 
-// credits goes to https://github.com/microsoft/TypeScript/issues/23182#issuecomment-379091887
-type IsTypeOnlyObject<Obj extends Record<PropertyKey, unknown>> = [keyof Obj] extends ['type'] ? true : false;
- 
-type IncomingMessageEvent<Message = unknown> = {
-  data: {
-    pluginMessage: {
-      id: string
-      message: Message
-    } | {
-      id: string
-      error: unknown
-    }
-  }
-};
- 
-export type AsyncMessageChannelHandlers = {
-  [K in AsyncMessageTypes]: (incoming: AsyncMessagesMap[K]) => Promise<
-  IsTypeOnlyObject<AsyncMessageResultsMap[K]> extends true
-    ? void
-    : Omit<AsyncMessageResultsMap[K], 'type'>
-  >
-};
- 
-class AsyncMessageChannel {
-  public static PluginInstance: AsyncMessageChannel = new AsyncMessageChannel(true);
- 
-  public static ReactInstance: AsyncMessageChannel = new AsyncMessageChannel(false);
- 
-  protected $handlers: Partial<AsyncMessageChannelHandlers> = {};
- 
-  protected isInFigmaSandbox = false;
- 
-  constructor(inFigmaSandbox: boolean) {
-    this.isInFigmaSandbox = inFigmaSandbox;
-  }
- 
-  public attachMessageListener<Message>(callback: (msg: Message) => void | false | Promise<void | false>) {
-    if (this.isInFigmaSandbox) {
-      const listener = async (msg: Message) => {
-        const possiblePromise = callback(msg);
-        if (possiblePromise === false || (possiblePromise && await possiblePromise === false)) {
-          figma.ui.off('message', listener);
-        }
-      };
-      figma.ui.on('message', listener);
-      return () => figma.ui.off('message', listener);
-    }
- 
-    const listener = async (event: { data: { pluginMessage: Message } }) => {
-      const possiblePromise = callback(event.data.pluginMessage);
-      if (possiblePromise === false || (possiblePromise && await possiblePromise === false)) {
-        window.removeEventListener('message', listener);
-      }
-    };
-    window.addEventListener('message', listener);
-    return () => window.removeEventListener('message', listener);
-  }
- 
-  public connect() {
-    return this.attachMessageListener(async (msg: { id?: string; message?: AsyncMessages }) => {
-      // This appears to be related to the monaco editor being opened. It appears to post a message to the window message event listener with no data.
-      if (!msg || !msg.id || !msg.message || !msg.message.type.startsWith('async/')) {
-        // eslint-disable-next-line no-console
-        // console.warn('Invalid message received', msg);
-        return;
-      }
-      const handler = this.$handlers[msg.message.type] as AsyncMessageChannelHandlers[AsyncMessageTypes] | undefined;
-      if (handler) {
-        try {
-          // @README need to cast to any to make this work
-          // it causes a complex type which can not be resolved due to its depth
-          const result = await (handler as any)(msg.message);
-          const payload = result
-            ? { ...result, type: msg.message.type }
-            : { type: msg.message.type };
- 
-          if (this.isInFigmaSandbox) {
-            figma.ui.postMessage({
-              id: msg.id,
-              message: payload,
-            });
-          } else {
-            parent.postMessage({
-              pluginMessage: { id: msg.id, message: payload },
-            }, '*');
-          }
-        } catch (err) {
-          console.error(err);
-          if (this.isInFigmaSandbox) {
-            figma.ui.postMessage({
-              id: msg.id,
-              error: err,
-            });
-          } else {
-            parent.postMessage({
-              pluginMessage: { id: msg.id, error: err },
-            }, '*');
-          }
-        }
-      }
-    });
-  }
- 
-  public handle<T extends AsyncMessageTypes>(
-    type: T,
-    fn: AsyncMessageChannelHandlers[T],
-  ) {
-    this.$handlers[type] = fn;
-  }
- 
-  public async message<Message extends AsyncMessages>(message: Message) {
-    const messageId = hash({
-      message,
-      datetime: Date.now(),
-    });
-    const promise = new Promise<AsyncMessageResults & { type: Message['type'] }>((resolve, reject) => {
-      this.attachMessageListener((msg: IncomingMessageEvent<AsyncMessageResults & { type: Message['type'] }>['data']['pluginMessage']) => {
-        if (msg.id === messageId) {
-          if ('message' in msg) {
-            resolve(msg.message);
-          } else {
-            reject(msg.error);
-          }
-          return false;
-        }
-        return undefined;
-      });
-    });
-    if (this.isInFigmaSandbox) {
-      figma.ui.postMessage({ id: messageId, message });
-    } else {
-      parent.postMessage(
-        { pluginMessage: { id: messageId, message } },
-        '*',
-      );
-    }
-    return promise;
-  }
-}
- 
-const ExportedAsyncMessageChannel = !process.env.PREVIEW_ENV ? AsyncMessageChannel : AsyncMessageChannelPreview;
- 
-export { ExportedAsyncMessageChannel as AsyncMessageChannel };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html deleted file mode 100644 index fc0cdf63c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/AsyncMessageChannelPreview.ts.html +++ /dev/null @@ -1,1003 +0,0 @@ - - - - - - Code coverage report for src/AsyncMessageChannelPreview.ts - - - - - - - - - -
-
-

All files / src AsyncMessageChannelPreview.ts

-
- -
- 17.32% - Statements - 22/127 -
- - -
- 5.4% - Branches - 4/74 -
- - -
- 3.7% - Functions - 1/27 -
- - -
- 17.46% - Lines - 22/126 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -1x -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -2x -  -2x -  -2x -  -2x -  -2x -  -2x -  -  -2x -2x -1x -1x -  -  -1x -  -  -2x -  -  -  -  -2x -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import hash from 'object-hash';
-import {
-  AsyncMessageResults,
-  AsyncMessageResultsMap,
-  AsyncMessages,
-  AsyncMessagesMap,
-  AsyncMessageTypes,
-} from './types/AsyncMessages';
- 
-// credits goes to https://github.com/microsoft/TypeScript/issues/23182#issuecomment-379091887
-type IsTypeOnlyObject<Obj extends Record<PropertyKey, unknown>> = [keyof Obj] extends ['type'] ? true : false;
- 
-type IncomingMessageEvent<Message = unknown> = {
-  data: {
-    pluginMessage:
-    | {
-      id: string;
-      message: Message;
-    }
-    | {
-      id: string;
-      error: unknown;
-    };
-  };
-};
- 
-export type AsyncMessageChannelHandlers = {
-  [K in AsyncMessageTypes]: (
-    incoming: AsyncMessagesMap[K],
-  ) => Promise<IsTypeOnlyObject<AsyncMessageResultsMap[K]> extends true ? void : Omit<AsyncMessageResultsMap[K], 'type'>>;
-};
- 
-export const WEBSOCKET_SERVER_URL = 'ws://localhost:9001/ws';
- 
-const sendWsMessage = <Message>(ws, msg: Message) => {
-  const message = JSON.stringify(msg);
-  if (ws && ws.readyState === 1) {
-    ws.send(message);
-  } else {
-    setTimeout(() => {
-      sendWsMessage(ws, msg);
-    }, 1000);
-  }
-};
- 
-const sendMessageToController = (pluginMessage) => {
-  parent.postMessage({ pluginMessage }, '*');
-};
- 
-const sendMessageToUi = (pluginMessage) => {
-  figma.ui.postMessage(pluginMessage);
-};
- 
-const parseWsEvent = (event) => {
-  try {
-    const msg = JSON.parse(event.data);
-    if (msg.src === 'server') {
-      const temp = JSON.parse(msg.message);
-      return temp;
-    }
-  } catch (err) {
-    console.warn('not a valid message', err);
-    return null;
-  }
-  return null;
-};
- 
-enum Environment {
-  PLUGIN = 'PLUGIN',
-  UI = 'UI',
-  BROWSER = 'BROWSER',
-}
- 
-enum WebSocketsSource {
-  browser = 'browser',
-  ui = 'ui',
-  figma = 'figma',
-}
- 
-enum PreviewEnvVar {
-  browser = 'browser',
-  figma = 'figma',
-}
- 
-export class AsyncMessageChannelPreview {
-  public static PluginInstance: AsyncMessageChannelPreview = new AsyncMessageChannelPreview(true);
- 
-  public static ReactInstance: AsyncMessageChannelPreview = new AsyncMessageChannelPreview(false);
- 
-  protected $handlers: Partial<AsyncMessageChannelHandlers> = {};
- 
-  protected isInFigmaSandbox = false;
- 
-  protected environment: Environment | null = null;
- 
-  protected isPreview: boolean = false;
- 
-  protected ws: WebSocket | null = null;
- 
-  public isWsConnected: boolean = false;
- 
-  constructor(inFigmaSandbox: boolean) {
-    this.isInFigmaSandbox = inFigmaSandbox;
-    if (inFigmaSandbox) {
-      this.environment = Environment.PLUGIN;
-    } else Iif (process.env.PREVIEW_ENV === PreviewEnvVar.browser) {
-      this.environment = Environment.BROWSER;
-    } else {
-      this.environment = Environment.UI;
-    }
- 
-    Iif (process.env.PREVIEW_ENV) {
-      this.isPreview = true;
-    }
-  }
- 
-  private sendMessageToBrowser = (msg) => {
-    sendWsMessage(this.ws, { ...msg, src: WebSocketsSource.ui });
-  };
- 
-  private sendMessageFromBrowser = (msg) => {
-    sendWsMessage(this.ws, { ...msg, src: WebSocketsSource.browser });
-  };
- 
-  public getWs() {
-    return this.ws;
-  }
- 
-  private listenerFactory<Message>(callback, removeEventListener, parseEvent = (event) => event) {
-    const listener = async (msg: Message) => {
-      const possiblePromise = callback(parseEvent(msg));
-      if (possiblePromise === false || (possiblePromise && (await possiblePromise) === false)) {
-        removeEventListener('message', listener);
-      }
-    };
- 
-    return listener;
-  }
- 
-  public attachMessageListener<Message>(callback: (msg: Message) => void | false | Promise<void | false>) {
-    switch (this.environment) {
-      case Environment.PLUGIN: {
-        const listener = this.listenerFactory(callback, figma.ui.off);
-        figma.ui.on('message', listener);
-        return () => figma.ui.off('message', listener);
-      }
-      case Environment.BROWSER:
-      case Environment.UI: {
-        const wsListener = this.isPreview
-          ? this.listenerFactory(callback, this.ws?.removeEventListener, parseWsEvent)
-          : null;
-        const listener = this.listenerFactory(
-          callback,
-          window.removeEventListener,
-          (event: { data: { pluginMessage: Message } }) => event.data.pluginMessage,
-        );
-        window.addEventListener('message', listener);
-        if (wsListener) {
-          this.ws?.addEventListener('message', wsListener);
-        }
-        return () => {
-          window.removeEventListener('message', listener);
-          if (wsListener) {
-            this.ws?.removeEventListener('message', wsListener);
-          }
-        };
-      }
-      default: {
-        return null;
-      }
-    }
-  }
- 
-  private startWebSocketConnection() {
-    if (this.ws === null) {
-      this.ws = new WebSocket(WEBSOCKET_SERVER_URL);
-      const self = this;
-      this.ws.addEventListener('open', () => {
-        self.isWsConnected = true;
-      });
-      this.ws.addEventListener('close', () => {
-        self.isWsConnected = false;
-        setTimeout(() => {
-          self.ws = null;
-          this.startWebSocketConnection();
-        }, 5000);
-      });
-    }
- 
-    return () => {
-      if (this.ws) {
-        this.ws.close();
-      }
-    };
-  }
- 
-  private onMessageEvent = async (msg: { id?: string; message?: AsyncMessages; src?: WebSocketsSource }) => {
-    // This appears to be related to the monaco editor being opened. It appears to post a message to the window message event listener with no data.
-    if (!msg || !msg.id || !msg.message || !msg.message.type.startsWith('async/')) {
-      // eslint-disable-next-line no-console
-      if ((msg as any)?.type && this.environment === Environment.UI) {
-        if (msg.src !== WebSocketsSource.browser) {
-          this.sendMessageToBrowser({ ...msg, src: WebSocketsSource.ui });
-        } else {
-          sendMessageToController(msg);
-        }
-        return;
-      }
-      return;
-    }
-    const handler = this.$handlers[msg.message.type] as AsyncMessageChannelHandlers[AsyncMessageTypes] | undefined;
-    if (this.environment === Environment.UI && this.isPreview) {
-      if (msg.src !== WebSocketsSource.browser) {
-        this.sendMessageToBrowser({ ...msg, src: WebSocketsSource.ui });
-      } else {
-        sendMessageToController(msg);
-      }
-      return;
-    }
-    if (handler) {
-      try {
-        // @README need to cast to any to make this work
-        // it causes a complex type which can not be resolved due to its depth
-        const result = await (handler as any)(msg.message);
-        const payload = result ? { ...result, type: msg.message.type } : { type: msg.message.type };
- 
-        if (this.isInFigmaSandbox) {
-          sendMessageToUi({
-            id: msg.id,
-            message: payload,
-          });
-        } else if (this.environment === Environment.BROWSER) {
-          this.sendMessageFromBrowser({ id: msg.id, message: payload, src: WebSocketsSource.browser });
-        } else {
-          sendMessageToController({ id: msg.id, message: payload });
-        }
-      } catch (err) {
-        console.error(err);
-        if (this.isInFigmaSandbox) {
-          sendMessageToUi({
-            id: msg.id,
-            error: err,
-          });
-        } else {
-          sendMessageToController({ id: msg.id, error: err });
-        }
-      }
-    }
-  };
- 
-  public connect() {
-    if (this.environment !== Environment.PLUGIN && this.isPreview) {
-      this.startWebSocketConnection();
-    }
- 
-    return this.attachMessageListener(this.onMessageEvent);
-  }
- 
-  public handle<T extends AsyncMessageTypes>(type: T, fn: AsyncMessageChannelHandlers[T]) {
-    this.$handlers[type] = fn;
-  }
- 
-  public async message<Message extends AsyncMessages>(message: Message) {
-    const messageId = hash({
-      message,
-      datetime: Date.now(),
-    });
-    const promise = new Promise<AsyncMessageResults & { type: Message['type'] }>((resolve, reject) => {
-      this.attachMessageListener(
-        (msg: IncomingMessageEvent<AsyncMessageResults & { type: Message['type'] }>['data']['pluginMessage']) => {
-          if (msg?.id === messageId) {
-            if ('message' in msg) {
-              resolve(msg.message);
-            } else {
-              reject(msg.error);
-            }
-            return false;
-          }
-          return undefined;
-        },
-      );
-    });
-    switch (this.environment) {
-      case Environment.PLUGIN: {
-        sendMessageToUi({ id: messageId, message, src: WebSocketsSource.figma });
-        break;
-      }
-      case Environment.UI: {
-        if (this.isPreview) {
-          this.sendMessageToBrowser({ id: messageId, message });
-        } else {
-          sendMessageToController({ id: messageId, message });
-        }
-        break;
-      }
-      case Environment.BROWSER: {
-        this.sendMessageFromBrowser({ id: messageId, message });
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    return promise;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html deleted file mode 100644 index 29edd4045..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/images.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/assets/hints/images.ts - - - - - - - - - -
-
-

All files / src/app/assets/hints images.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
declare module '*.png';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html deleted file mode 100644 index 14340b98d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/assets/hints/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/assets/hints - - - - - - - - - -
-
-

All files src/app/assets/hints

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
images.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html deleted file mode 100644 index cc37af82b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/getThemeInfo.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/asyncMessageHandlers/getThemeInfo.ts - - - - - - - - - -
-
-

All files / src/app/asyncMessageHandlers getThemeInfo.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { store } from '@/app/store';
-import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { activeThemeSelector, themesListSelector } from '@/selectors';
-import { ThemeObjectsList } from '@/types';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-interface ThemeInfo {
-  activeTheme: Record<string, string>;
-  themes: ThemeObjectsList;
-}
- 
-export const getThemeInfo: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_THEME_INFO] = async (): Promise<ThemeInfo> => {
-  const state = store.getState();
-  const activeTheme = activeThemeSelector(state);
-  const themesList = themesListSelector(state);
- 
-  return {
-    activeTheme,
-    themes: themesList,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html deleted file mode 100644 index ee8a4a9a2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/asyncMessageHandlers - - - - - - - - - -
-
-

All files src/app/asyncMessageHandlers

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
getThemeInfo.ts -
-
0%0/5100%0/00%0/10%0/5
index.ts -
-
0%0/00%0/00%0/00%0/0
startup.tsx -
-
0%0/190%0/70%0/70%0/19
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html deleted file mode 100644 index b87f0f26e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/asyncMessageHandlers/index.ts - - - - - - - - - -
-
-

All files / src/app/asyncMessageHandlers index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './getThemeInfo';
-export * from './startup';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html deleted file mode 100644 index 838115740..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/asyncMessageHandlers/startup.tsx.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - Code coverage report for src/app/asyncMessageHandlers/startup.tsx - - - - - - - - - -
-
-

All files / src/app/asyncMessageHandlers startup.tsx

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useEffect, useState } from 'react';
-import { createRoot } from 'react-dom/client';
-import * as Sentry from '@sentry/react';
-import { Provider, useStore } from 'react-redux';
-import i18next from 'i18next';
-import * as Tooltip from '@radix-ui/react-tooltip';
- 
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes, StartupMessage } from '@/types/AsyncMessages';
-import { ErrorFallback } from '../components/ErrorFallback';
-import { RootState, store } from '../store';
-import { AppContainer } from '../components/AppContainer';
-import PreviewApp from '../preview/preview';
-import FigmaLoading from '../components/FigmaLoading';
- 
-// eslint-disable-next-line
-const PREVIEW_ENV = process.env.PREVIEW_ENV;
- 
-const StartupApp = () => {
-  const [params, setParams] = useState<StartupMessage | null>(null);
-  const rootStore = useStore<RootState>();
-  const state = rootStore.getState();
-  const fallbackLanguage = state.settings?.language;
- 
-  useEffect(() => {
-    i18next.changeLanguage(params?.settings?.language || fallbackLanguage || 'en');
-  }, [params?.settings?.language, fallbackLanguage]);
- 
-  useEffect(() => {
-    AsyncMessageChannel.ReactInstance.handle(AsyncMessageTypes.STARTUP, async (startupParams) => {
-      setParams(startupParams);
-    });
- 
-    return () => {
-      AsyncMessageChannel.ReactInstance.handle(AsyncMessageTypes.STARTUP, (() => {}) as any);
-    };
-  }, []);
- 
-  const appContainer = (
-    params ? <AppContainer {...params} /> : (
-      <FigmaLoading
-        isLoading
-      >
-        <span />
-      </FigmaLoading>
-    )
-  );
- 
-  return PREVIEW_ENV ? (
-    <PreviewApp>
-      {appContainer}
-    </PreviewApp>
-  ) : appContainer;
-};
- 
-export const startup = async () => {
-  const container = document.getElementById('app');
- 
-  // Side effect from first load
- 
-  const root = createRoot(container!);
-  root.render(
-    <Sentry.ErrorBoundary fallback={ErrorFallback}>
-      <Provider store={store}>
-        <Tooltip.Provider>
-          <StartupApp />
-        </Tooltip.Provider>
-      </Provider>
-    </Sentry.ErrorBoundary>,
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html deleted file mode 100644 index 0e79556f2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/Accordion.tsx.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - Code coverage report for src/app/components/Accordion/Accordion.tsx - - - - - - - - - -
-
-

All files / src/app/components/Accordion Accordion.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  PropsWithChildren, ReactNode, useCallback, useState,
-} from 'react';
-import { motion, AnimatePresence, useReducedMotion } from 'framer-motion';
-import { Box, IconButton, Stack } from '@tokens-studio/ui';
-import type { StitchesCSS } from '@/types';
-import { StyledContainer } from './StyledContainer';
-import { IconChevronDown, IconChevronRight } from '@/icons';
-import { Flex } from '../Flex';
- 
-type Props = PropsWithChildren<{
-  label: ReactNode
-  extra?: ReactNode
-  css?: StitchesCSS
-  disabled?: boolean
-  isOpenByDefault?: boolean
-  height?: string | number
-}>;
- 
-export function Accordion({
-  css, label, extra, disabled, isOpenByDefault, height, children,
-}: Props) {
-  const reducedMotion = useReducedMotion();
-  const [isOpen, setIsOpen] = useState(isOpenByDefault ?? false);
- 
-  const handleToggle = useCallback(() => {
-    setIsOpen(!isOpen);
-  }, [isOpen]);
- 
-  return (
-    <StyledContainer css={css}>
-      <Box css={{
-        gridColumn: '1',
-        gridRow: '1',
-      }}
-      >
-        <IconButton
-          data-testid="accordion-toggle"
-          size="small"
-          variant="invisible"
-          icon={isOpen ? <IconChevronDown /> : <IconChevronRight />}
-          disabled={disabled}
-          onClick={handleToggle}
-        />
-      </Box>
-      <Stack css={{
-        gridRow: '1',
-        gridColumn: '2',
-        justifyContent: 'space-between',
-        alignItems: 'center',
-        minHeight: '100%',
-      }}
-      >
-        <Box>{label}</Box>
-        <Flex css={{ height: 0, alignItems: 'center' }}>
-          {extra}
-        </Flex>
-      </Stack>
-      <AnimatePresence>
-        {isOpen && (
-          <motion.div
-            style={{
-              overflow: 'hidden',
-              gridColumn: '2',
-              gridRow: '2',
-            }}
-            key="content"
-            data-testid="accordion-content"
-            transition={reducedMotion ? {
-              duration: 0,
-            } : undefined}
-            initial={{ opacity: 0, height: 0 }}
-            exit={{ opacity: 0, height: 0 }}
-            animate={{ opacity: 1, height: 'auto' }}
-          >
-            <Box css={{ paddingTop: '$4', maxHeight: height || 'inherit', overflowY: 'scroll' }}>
-              {children}
-            </Box>
-          </motion.div>
-        )}
-      </AnimatePresence>
-    </StyledContainer>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html deleted file mode 100644 index 7a79f8877..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/StyledContainer.tsx.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/components/Accordion/StyledContainer.tsx - - - - - - - - - -
-
-

All files / src/app/components/Accordion StyledContainer.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledContainer = styled('div', {
-  display: 'grid',
-  gap: '0 $3',
-  gridTemplateColumns: 'auto 1fr',
-  alignItems: 'start',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html deleted file mode 100644 index 209aac45a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/components/Accordion - - - - - - - - - -
-
-

All files src/app/components/Accordion

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Accordion.tsx -
-
0%0/50%0/100%0/20%0/5
StyledContainer.tsx -
-
0%0/1100%0/0100%0/00%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html deleted file mode 100644 index da60f997e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Accordion/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/Accordion/index.ts - - - - - - - - - -
-
-

All files / src/app/components/Accordion index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { Accordion } from './Accordion';
- 
-export default Accordion;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html deleted file mode 100644 index 8a05e3e61..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/AddLicenseKey.tsx.html +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - Code coverage report for src/app/components/AddLicenseKey/AddLicenseKey.tsx - - - - - - - - - -
-
-

All files / src/app/components/AddLicenseKey AddLicenseKey.tsx

-
- -
- 0% - Statements - 0/37 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable jsx-a11y/label-has-associated-control */
-import React, {
-  useCallback, useEffect, useState,
-} from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useLDClient } from 'launchdarkly-react-client-sdk';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Heading, TextInput, Box, Stack, IconButton,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { licenseKeySelector } from '@/selectors/licenseKeySelector';
-import { styled } from '@/stitches.config';
-import { Dispatch } from '@/app/store';
-import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
-import useConfirm from '@/app/hooks/useConfirm';
-import { AddLicenseSource } from '@/app/store/models/userState';
-import ProBadge from '../ProBadge';
-import { userIdSelector } from '@/selectors/userIdSelector';
-import { licenseDetailsSelector } from '@/selectors';
-import { ldUserFactory } from '@/utils/ldUserFactory';
-import { ErrorMessage } from '../ErrorMessage';
-import { addLicenseKey } from '@/utils/addLicenseKey';
- 
-export default function AddLicenseKey() {
-  const dispatch = useDispatch<Dispatch>();
-  const existingKey = useSelector(licenseKeySelector);
-  const licenseDetails = useSelector(licenseDetailsSelector);
-  const licenseKeyError = useSelector(licenseKeyErrorSelector);
-  const [newKey, setLicenseKey] = useState(existingKey);
-  const { confirm } = useConfirm();
-  const userId = useSelector(userIdSelector);
-  const ldClient = useLDClient();
-  const { t } = useTranslation(['licence']);
-  const [isMasked, setIsMasked] = useState(true);
- 
-  const toggleMask = useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const addKey = useCallback(async () => {
-    if (newKey) {
-      await addLicenseKey(
-        dispatch,
-        { key: newKey, source: AddLicenseSource.UI },
-        {
-          userId,
-        },
-      );
-    }
-  }, [newKey, dispatch, userId]);
- 
-  const removeAccessToFeatures = useCallback(() => {
-    if (userId) {
-      ldClient?.identify({
-        key: userId,
-      });
-    }
-  }, [userId, ldClient]);
- 
-  const removeKey = useCallback(async () => {
-    if (licenseKeyError) {
-      dispatch.userState.removeLicenseKey(undefined);
-    } else {
-      const confirmation = await confirm({
-        text: t('confirmRemove') as string,
-        description: t('keepLicenseSafe'),
-        confirmAction: t('removeKey') as string,
-      });
-      if (confirmation) {
-        dispatch.userState.removeLicenseKey(undefined);
-        removeAccessToFeatures();
-      }
-    }
-  }, [t, dispatch, confirm, removeAccessToFeatures, licenseKeyError]);
- 
-  const ManageSubscriptionLink = styled('a', {
-    color: '$accentDefault',
-    fontSize: '$xsmall',
-  });
- 
-  useEffect(() => {
-    setLicenseKey(existingKey);
-  }, [existingKey]);
- 
-  useEffect(() => {
-    if (userId && existingKey && licenseDetails) {
-      ldClient?.identify(
-        ldUserFactory(userId, licenseDetails.plan, licenseDetails.entitlements, licenseDetails.clientEmail),
-      );
-    }
-  }, [userId, ldClient, existingKey, licenseDetails]);
- 
-  const onLicenseKeyChange = useCallback((ev: React.ChangeEvent<HTMLInputElement>) => {
-    setLicenseKey(ev.target.value.trim());
-  }, []);
- 
-  const addLicenseKeyButton = !existingKey && (
-    <Button onClick={addKey} disabled={existingKey === newKey}>
-      {t('addLicenseKey')}
-    </Button>
-  );
- 
-  const removeLicenseKeyButton = existingKey && <Button onClick={removeKey}>{t('removeLicenseKey')}</Button>;
- 
-  return (
-    <Stack direction="column" gap={3} css={{ padding: '0 $4' }}>
-      <Stack direction="row" gap={2} align="center" justify="between">
-        <Heading size="medium">{t('licenseKey')}</Heading>
-        <Stack direction="row" gap={2} align="center">
-          <ProBadge campaign="add-license-key" />
-          {existingKey && !licenseKeyError && (
-            <ManageSubscriptionLink href="https://account.tokens.studio" target="_blank">
-              {t('manageSubscription')}
-            </ManageSubscriptionLink>
-          )}
-        </Stack>
-      </Stack>
-      <Stack
-        direction="row"
-        gap={2}
-        css={{
-          display: 'flex',
-          alignItems: 'flex-end',
-          width: '100%',
-        }}
-      >
-        <Box css={{ flexGrow: 1 }}>
-          <TextInput
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-            name="license-key"
-            data-testid="settings-license-key-input"
-            value={newKey || ''}
-            onChange={onLicenseKeyChange}
-            validationStatus={licenseKeyError ? 'error' : undefined}
-          />
-          {licenseKeyError && (
-            <Box css={{ paddingTop: '$2' }}>
-              <ErrorMessage>{licenseKeyError}</ErrorMessage>
-            </Box>
-          )}
-        </Box>
-        {addLicenseKeyButton}
-        {removeLicenseKeyButton}
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html deleted file mode 100644 index 5077c5bd0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/AddLicenseKey - - - - - - - - - -
-
-

All files src/app/components/AddLicenseKey

-
- -
- 0% - Statements - 0/37 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AddLicenseKey.tsx -
-
0%0/370%0/300%0/90%0/36
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html deleted file mode 100644 index 22e8bef7d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AddLicenseKey/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/AddLicenseKey/index.ts - - - - - - - - - -
-
-

All files / src/app/components/AddLicenseKey index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import AddLicenseKey from './AddLicenseKey';
- 
-export { AddLicenseKey };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html deleted file mode 100644 index cfba057e4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AnnotationBuilder.tsx.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - Code coverage report for src/app/components/AnnotationBuilder.tsx - - - - - - - - - -
-
-

All files / src/app/components AnnotationBuilder.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { IconButton } from '@tokens-studio/ui';
-import { uiStateSelector } from '@/selectors';
-import createAnnotation from './createAnnotation';
-import Stack from './Stack';
-import Text from './Text';
-import Box from './Box';
-import { isEqual } from '@/utils/isEqual';
-import { Direction } from '@/constants/Direction';
- 
-export default function AnnotationBuilder() {
-  const { t } = useTranslation(['inspect']);
-  const uiState = useSelector(uiStateSelector, isEqual);
- 
-  const createAnnotationLeft = React.useCallback(() => {
-    createAnnotation(uiState.mainNodeSelectionValues, Direction.LEFT);
-  }, [uiState]);
- 
-  const createAnnotationTop = React.useCallback(() => {
-    createAnnotation(uiState.mainNodeSelectionValues, Direction.TOP);
-  }, [uiState]);
- 
-  const createAnnotationBottom = React.useCallback(() => {
-    createAnnotation(uiState.mainNodeSelectionValues, Direction.BOTTOM);
-  }, [uiState]);
- 
-  const createAnnotationRight = React.useCallback(() => {
-    createAnnotation(uiState.mainNodeSelectionValues, Direction.RIGHT);
-  }, [uiState]);
- 
-  return Object.entries(uiState.mainNodeSelectionValues).length > 0 ? (
-    <Box css={{ borderBottom: '1px solid $borderMuted', paddingBottom: '$4', marginBottom: '$4' }}>
-      <Stack direction="row" align="center" justify="between">
-        <Text bold>{t('addAnnotation')}</Text>
-        <Stack direction="row" align="center" gap={2}>
-          <IconButton onClick={createAnnotationLeft} icon="←" />
-          <Stack direction="column" gap={2}>
-            <IconButton onClick={createAnnotationTop} icon="↑" />
-            <IconButton onClick={createAnnotationBottom} icon="↓" />
-          </Stack>
-          <IconButton onClick={createAnnotationRight} icon="→" />
-        </Stack>
-      </Stack>
-    </Box>
-  ) : null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html deleted file mode 100644 index 90c767ed2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/App.tsx.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - Code coverage report for src/app/components/App.tsx - - - - - - - - - -
-
-

All files / src/app/components App.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { IconoirProvider } from 'iconoir-react';
-import Settings from './Settings';
-import Inspector from './Inspector';
-import Tokens from './Tokens';
-import StartScreen from './StartScreen';
-import Navbar from './Navbar';
-import FigmaLoading from './FigmaLoading';
-import SecondSceen from './SecondScreen';
-import Footer from './Footer';
-import Box from './Box';
-import { activeTabSelector } from '@/selectors';
-import PluginResizerWrapper from './PluginResizer';
-import LoadingBar from './LoadingBar';
-import { ConvertToDTCGModal } from './ConvertToDTCGModal';
- 
-function App() {
-  const activeTab = useSelector(activeTabSelector);
- 
-  return (
-    <Box css={{ isolation: 'isolate' }}>
-      <IconoirProvider
-        iconProps={{
-          color: '$fgDefault',
-          strokeWidth: 1.5,
-          width: '1rem',
-          height: '1rem',
-        }}
-      >
-        {activeTab !== 'loading' && <LoadingBar />}
-        <PluginResizerWrapper>
-          <Box
-            css={{
-              display: 'flex',
-              flexDirection: 'column',
-              height: '100%',
-              overflow: 'hidden',
-            }}
-          >
-            <Box
-              css={{
-                display: 'flex',
-                flexDirection: 'column',
-                flexGrow: 1,
-                height: '100%',
-                overflow: 'hidden',
-              }}
-            >
-              {activeTab === 'loading' && <FigmaLoading />}
-              {activeTab !== 'start' && activeTab !== 'loading' && <Navbar />}
-              {activeTab === 'start' && <StartScreen />}
-              <Tokens isActive={activeTab === 'tokens'} />
-              {activeTab === 'inspector' && <Inspector />}
-              {activeTab === 'secondscreen' && <SecondSceen />}
-              {activeTab === 'settings' && <Settings />}
-            </Box>
-            {activeTab !== 'loading' && activeTab !== 'start' && <Footer />}
-          </Box>
- 
-        </PluginResizerWrapper>
-        <ConvertToDTCGModal />
-      </IconoirProvider>
-    </Box>
-  );
-}
- 
-export default App;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html deleted file mode 100644 index 336d8d41f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/AppContainer.tsx.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/AppContainer.tsx - - - - - - - - - -
-
-

All files / src/app/components/AppContainer AppContainer.tsx

-
- -
- 0% - Statements - 0/28 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useEffect, useState } from 'react';
-import { useDispatch } from 'react-redux';
-import App from '../App';
-import FigmaLoading from '../FigmaLoading';
-import { AsyncMessageTypes, StartupMessage } from '@/types/AsyncMessages';
-import type { Dispatch } from '@/app/store';
-import { Tabs } from '@/constants/Tabs';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { useStartupProcess } from './useStartupProcess';
-import { ProcessStepStatus } from '@/hooks';
-import { withLDProviderWrapper } from '../LaunchDarkly';
-import { ApplicationInitSteps } from './ApplicationInitSteps';
-import ConfirmDialog from '../ConfirmDialog';
-import WindowResizer from '../WindowResizer';
-import ImportedTokensDialog from '../ImportedTokensDialog';
-import PushDialog from '../PushDialog';
-import Changelog from '../Changelog';
-import OnboardingFlow from '../OnboardingFlow';
-import { Initiator } from '../Initiator';
-import { globalStyles } from '../globalStyles';
-import { AuthContextProvider } from '@/context/AuthContext';
-import SecondScreenSync from '../SecondScreenSync';
-import AuthModal from '../AuthModal';
-import PullDialog from '../PullDialog';
-import { useFigmaTheme } from '@/hooks/useFigmaTheme';
-import Box from '../Box';
-import { darkThemeMode, lightThemeMode } from '@/stitches.config';
- 
-type Props = StartupMessage & {
-  // @README only for unit testing purposes
-  startupProcess?: ReturnType<typeof useStartupProcess>;
-};
- 
-const applicationInitStepLabels = {
-  [ApplicationInitSteps.SAVE_PLUGIN_DATA]: 'Receiving local data',
-  [ApplicationInitSteps.ADD_LICENSE]: 'Verifying license',
-  [ApplicationInitSteps.GET_LD_FLAGS]: 'Initializing LaunchDarkly',
-  [ApplicationInitSteps.SAVE_STORAGE_INFORMATION]: 'Checking storage type',
-  [ApplicationInitSteps.PULL_TOKENS]: 'Fetching (remote) tokens',
-};
- 
-export const AppContainer = withLDProviderWrapper((params: Props) => {
-  const { isDarkTheme } = useFigmaTheme();
-  const dispatch = useDispatch<Dispatch>();
-  const startupProcess = useStartupProcess(params);
- 
-  const [showLoadingScreen, setShowLoadingScreen] = useState(true);
- 
-  const handleCancelLoadingScreen = useCallback(() => {
-    startupProcess.cancelToken.cancel();
-    dispatch.uiState.setActiveTab(Tabs.START);
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.CANCEL_OPERATION,
-    });
- 
-    setShowLoadingScreen(false);
-  }, [dispatch, startupProcess]);
- 
-  const handlePerformStartup = useCallback(async () => {
-    if (
-      !startupProcess.isComplete
-      && startupProcess.currentStatus !== ProcessStepStatus.FAILED
-      && startupProcess.currentStatus !== ProcessStepStatus.CANCELED
-    ) {
-      if (startupProcess.currentStep === null) {
-        await startupProcess.start();
-      } else if (startupProcess.currentStatus === ProcessStepStatus.DONE) {
-        await startupProcess.next();
-      }
-    } else if (startupProcess.isComplete) {
-      setShowLoadingScreen(false);
-    }
-  }, [startupProcess]);
- 
-  useEffect(() => {
-    handlePerformStartup();
-  }, [handlePerformStartup]);
- 
-  useEffect(() => {
-    if (isDarkTheme) {
-      document.body.className = darkThemeMode;
-    } else {
-      document.body.className = lightThemeMode;
-    }
-  }, [isDarkTheme]);
- 
-  globalStyles();
- 
-  const appContent = (
-    <Box css={{ backgroundColor: '$bgDefault', color: '$fgDefault' }}>
-      <FigmaLoading
-        isLoading={showLoadingScreen}
-        label={startupProcess.currentStep ? applicationInitStepLabels[startupProcess.currentStep] : undefined}
-        onCancel={handleCancelLoadingScreen}
-      >
-        <App />
-      </FigmaLoading>
-      <Initiator />
-      <ConfirmDialog />
-      <ImportedTokensDialog />
-      <PushDialog />
-      {
-        !showLoadingScreen && <PullDialog />
-      }
-      <WindowResizer />
-      <OnboardingFlow />
-      <Changelog />
-      <SecondScreenSync />
-      <AuthModal />
-    </Box>
-  );
- 
-  return <AuthContextProvider authData={params.authData}>{appContent}</AuthContextProvider>;
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html deleted file mode 100644 index e2f34a535..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/ApplicationInitSteps.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/ApplicationInitSteps.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer ApplicationInitSteps.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
export enum ApplicationInitSteps {
-  SAVE_PLUGIN_DATA = 'save-plugin-data',
-  ADD_LICENSE = 'add-license',
-  GET_LD_FLAGS = 'get-ld-flags',
-  SAVE_STORAGE_INFORMATION = 'save-storage-information',
-  PULL_TOKENS = 'pull-tokens',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html deleted file mode 100644 index b971f4473..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer - - - - - - - - - -
-
-

All files src/app/components/AppContainer

-
- -
- 0% - Statements - 0/43 -
- - -
- 0% - Branches - 0/19 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/42 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AppContainer.tsx -
-
0%0/280%0/170%0/50%0/28
ApplicationInitSteps.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
useStartupProcess.ts -
-
0%0/150%0/20%0/40%0/14
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html deleted file mode 100644 index 10c70633d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/index.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './AppContainer';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html deleted file mode 100644 index 9e8246337..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer/startupProcessSteps addLicenseFactory.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { Dispatch } from '@/app/store';
-import { AddLicenseSource } from '@/app/store/models/userState';
-import { LicenseStatus } from '@/constants/LicenseStatus';
-import type { StartupMessage } from '@/types/AsyncMessages';
-import { addLicenseKey } from '@/utils/addLicenseKey';
-import getLicenseKey from '@/utils/getLicenseKey';
- 
-export function addLicenseFactory(dispatch: Dispatch, params: StartupMessage) {
-  return async () => {
-    const { user } = params;
-    let { licenseKey } = params;
-    const { initialLoad } = params;
- 
-    if ((licenseKey === null || licenseKey === undefined) && (initialLoad && initialLoad.toString() !== 'true')) {
-      const result = await getLicenseKey(user!.figmaId);
-      if ('key' in result && result.key) {
-        licenseKey = result.key;
-      }
-    }
- 
-    if (licenseKey) {
-      await addLicenseKey(dispatch, {
-        key: licenseKey,
-        source: AddLicenseSource.INITAL_LOAD,
-      }, {
-        userId: user!.figmaId,
-        userName: user!.name,
-      });
-    } else {
-      dispatch.userState.setLicenseStatus(LicenseStatus.NO_LICENSE);
-    }
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html deleted file mode 100644 index bacd9d63a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer/startupProcessSteps getLdFlagsFactory.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Store } from 'redux';
-import * as Sentry from '@sentry/react';
-import type { LDClient } from 'launchdarkly-js-client-sdk';
-import { RootState } from '@/app/store';
-import { entitlementsSelector } from '@/selectors/getEntitlements';
-import { licenseKeySelector } from '@/selectors/licenseKeySelector';
-import { planSelector } from '@/selectors/planSelector';
-import type { StartupMessage } from '@/types/AsyncMessages';
-import { setUserData } from '@/utils/analytics';
-import { clientEmailSelector } from '@/selectors/getClientEmail';
-import { ldUserFactory } from '@/utils/ldUserFactory';
- 
-export function getLdFlagsFactory(store: Store<RootState>, ldClientPromise: Promise<LDClient>, params: StartupMessage) {
-  return async () => {
-    const { user } = params;
-    const state = store.getState();
-    const plan = planSelector(state);
-    const entitlements = entitlementsSelector(state);
-    const licenseKey = licenseKeySelector(state);
-    const clientEmail = clientEmailSelector(state);
- 
-    if (user?.userId && licenseKey) {
-      setUserData({ plan: plan ? 'pro' : 'free' });
-      try {
-        await (await ldClientPromise)?.identify(ldUserFactory(
-          user.userId,
-          plan,
-          entitlements,
-          clientEmail,
-        ));
-      } catch (err) {
-        console.error(err);
-        Sentry.captureException(err);
-        setUserData({ plan: 'free' });
-      }
-    } else {
-      setUserData({ plan: 'free' });
-    }
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html deleted file mode 100644 index f36fe48a0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps - - - - - - - - - -
-
-

All files src/app/components/AppContainer/startupProcessSteps

-
- -
- 0% - Statements - 0/121 -
- - -
- 0% - Branches - 0/87 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/116 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
addLicenseFactory.ts -
-
0%0/110%0/120%0/20%0/11
getLdFlagsFactory.ts -
-
0%0/150%0/60%0/20%0/15
index.ts -
-
0%0/00%0/00%0/00%0/0
pullTokensFactory.ts -
-
0%0/680%0/570%0/60%0/64
savePluginDataFactory.ts -
-
0%0/180%0/60%0/20%0/18
saveStorageInformationFactory.ts -
-
0%0/90%0/60%0/30%0/8
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html deleted file mode 100644 index 87c22fdfa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/index.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps/index.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer/startupProcessSteps index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export * from './savePluginDataFactory';
-export * from './addLicenseFactory';
-export * from './getLdFlagsFactory';
-export * from './saveStorageInformationFactory';
-export * from './pullTokensFactory';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html deleted file mode 100644 index a8fd8365e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts.html +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer/startupProcessSteps pullTokensFactory.ts

-
- -
- 0% - Statements - 0/68 -
- - -
- 0% - Branches - 0/57 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/64 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as Sentry from '@sentry/react';
-import type { LDFlagSet } from 'launchdarkly-js-client-sdk';
-import { Store } from 'redux';
-import { INTERNAL_THEMES_NO_GROUP } from '../../../../constants/InternalTokenGroup';
-import type { StartupMessage } from '@/types/AsyncMessages';
-import type { Dispatch, RootState } from '@/app/store';
-import { Tabs } from '@/constants/Tabs';
-import { storageTypeSelector } from '@/selectors';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import useConfirm from '@/app/hooks/useConfirm';
-import isSameCredentials from '@/utils/isSameCredentials';
-import { track } from '@/utils/analytics';
-import { hasTokenValues } from '@/utils/hasTokenValues';
-import { notifyToUI } from '@/plugin/notifiers';
-import type useRemoteTokens from '@/app/store/remoteTokens';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { isGitProvider } from '@/utils/is';
- 
-export function pullTokensFactory(
-  store: Store<RootState>,
-  dispatch: Dispatch,
-  flags: LDFlagSet,
-  params: StartupMessage,
-  useConfirmResult: ReturnType<typeof useConfirm>,
-  useRemoteTokensResult: ReturnType<typeof useRemoteTokens>,
-) {
-  const activeTheme = typeof params.activeTheme === 'string' ? { [INTERNAL_THEMES_NO_GROUP]: params.activeTheme } : params.activeTheme;
- 
-  const askUserIfRecoverLocalChanges = async () => {
-    const shouldRecoverLocalChanges = await useConfirmResult.confirm({
-      text: 'Recover local changes?',
-      description: 'You have local changes unsaved to the remote storage.',
-    });
-    return shouldRecoverLocalChanges;
-  };
- 
-  const getApiCredentials = async (shouldPull: boolean, isRemoteStorage: boolean) => {
-    const state = store.getState();
-    const storageType = storageTypeSelector(state);
- 
-    if (isRemoteStorage) {
-      const matchingSet = params.localApiProviders?.find((provider) => (
-        isSameCredentials(provider, storageType)
-      ));
- 
-      if (matchingSet) {
-        // found API credentials
-        try {
-          const isMultifile = isGitProvider(matchingSet) && 'filePath' in matchingSet && !matchingSet.filePath.endsWith('.json');
-          track('Fetched from remote', { provider: matchingSet.provider, isMultifile });
-          if (!matchingSet.internalId) {
-            track('missingInternalId', { provider: matchingSet.provider });
-          }
- 
-          if (
-            matchingSet.provider === StorageProviderType.GITHUB
-            || matchingSet.provider === StorageProviderType.GITLAB
-            || matchingSet.provider === StorageProviderType.ADO
-            || matchingSet.provider === StorageProviderType.BITBUCKET
-          ) {
-            const branches = await useRemoteTokensResult.fetchBranches(matchingSet);
-            if (branches) dispatch.branchState.setBranches(branches);
-          }
- 
-          dispatch.uiState.setApiData(matchingSet);
-          dispatch.uiState.setLocalApiState(matchingSet);
-          // we don't want to update nodes if we're pulling from remote
-          dispatch.tokenState.setActiveTheme({ newActiveTheme: activeTheme || null, shouldUpdateNodes: false });
-          dispatch.tokenState.setCollapsedTokenSets(params.localTokenData?.collapsedTokenSets || []);
- 
-          const remoteData = await useRemoteTokensResult.pullTokens({
-            context: matchingSet,
-            featureFlags: flags,
-            activeTheme,
-            usedTokenSet: params.localTokenData?.usedTokenSet,
-            collapsedTokenSets: params.localTokenData?.collapsedTokenSets,
-            updateLocalTokens: shouldPull,
-          });
- 
-          if (shouldPull) {
-            // If there's no data stored on the remote, show a message - e.g. file doesn't exist.
-            if (!remoteData) {
-              notifyToUI('Failed to fetch tokens from remote storage', { error: true });
-              dispatch.uiState.setActiveTab(Tabs.START);
-              return;
-            }
- 
-            if (remoteData?.status === 'failure') {
-              // If we have some error reading tokens, we let the user know - e.g. schema validation doesn't pass.
-              notifyToUI(remoteData.errorMessage, { error: true });
-              dispatch.uiState.setActiveTab(Tabs.START);
-            } else {
-              // If we succeeded we can move on to show the tokens screen
-              dispatch.uiState.setActiveTab(Tabs.TOKENS);
-            }
-          } else {
-            dispatch.uiState.setActiveTab(Tabs.TOKENS);
-          }
-        } catch (err) {
-          console.error(err);
-          Sentry.captureException(err);
-          dispatch.uiState.setActiveTab(Tabs.START);
-          dispatch.uiState.completeJob(BackgroundJobs.UI_PULLTOKENS);
-          notifyToUI('Failed to fetch tokens, check your credentials', { error: true });
-        }
-      } else {
-        // no API credentials available for storage type
-        dispatch.uiState.setActiveTab(Tabs.START);
-      }
-    } else if (params.localTokenData) {
-      if (params.localTokenData.tokenFormat) dispatch.tokenState.setTokenFormat(params.localTokenData.tokenFormat);
-      dispatch.tokenState.setTokenData({ ...params.localTokenData, activeTheme });
-      const existTokens = hasTokenValues(params.localTokenData.values);
-      if (existTokens) dispatch.uiState.setActiveTab(Tabs.TOKENS);
-      else dispatch.uiState.setActiveTab(Tabs.START);
-    }
-  };
- 
-  return async () => {
-    const state = store.getState();
-    const storageType = storageTypeSelector(state);
-    const isRemoteStorage = [
-      StorageProviderType.ADO,
-      StorageProviderType.GITHUB,
-      StorageProviderType.GITLAB,
-      StorageProviderType.BITBUCKET,
-      StorageProviderType.JSONBIN,
-      StorageProviderType.GENERIC_VERSIONED_STORAGE,
-      StorageProviderType.URL,
-      StorageProviderType.SUPERNOVA,
-      StorageProviderType.TOKENS_STUDIO,
-    ].includes(storageType.provider);
- 
-    const hasLocalData = params.localTokenData
-                         && Object.values(params.localTokenData?.values ?? {}).some((value) => value.length > 0);
- 
-    // Check if storage is remote and local data is empty
-    if (isRemoteStorage && !hasLocalData) {
-      // Pull tokens from remote since local data is empty
-      await getApiCredentials(true, isRemoteStorage);
-    } else if (params.localTokenData) {
-      const checkForChanges = params.localTokenData.checkForChanges ?? false;
- 
-      if (
-        !checkForChanges
-        || (
-          isRemoteStorage
-          && checkForChanges && (!await askUserIfRecoverLocalChanges())
-        )
-      ) {
-        // get API credentials
-        await getApiCredentials(true, isRemoteStorage);
-      } else {
-        if (params.localTokenData.tokenFormat) dispatch.tokenState.setTokenFormat(params.localTokenData.tokenFormat);
-        // User confirmed to recover local changes
-        dispatch.tokenState.setTokenData({ ...params.localTokenData, activeTheme });
- 
-        if (hasLocalData) {
-          // local tokens found
-          await getApiCredentials(false, isRemoteStorage);
-        } else {
-          // no local tokens - go to start
-          dispatch.uiState.setActiveTab(Tabs.START);
-        }
-      }
-    } else {
-      // no local token values - go to start tab
-      dispatch.uiState.setActiveTab(Tabs.START);
-    }
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html deleted file mode 100644 index 31599d50b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer/startupProcessSteps savePluginDataFactory.ts

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { Dispatch } from '@/app/store';
-import type { StartupMessage } from '@/types/AsyncMessages';
-import { identify, track } from '@/utils/analytics';
-import * as pjs from '../../../../../package.json';
- 
-export function savePluginDataFactory(dispatch: Dispatch, params: StartupMessage) {
-  return async () => {
-    const { user, usedEmail } = params;
-    if (user) {
-      // initiate analytics
-      if (user.userId) {
-        identify({
-          userId: user.userId,
-          figmaId: user.userId,
-          name: user.name,
-        });
-      }
-      track('Launched', { version: pjs.version });
-      const {
-        width, height, showEmptyGroups, ...rest
-      } = params.settings;
-      const settings = {
-        uiWindow: {
-          width,
-          height,
-          isMinimized: false,
-        },
-        ...rest,
-      };
-      dispatch.userState.setUserId(user.figmaId);
-      dispatch.userState.setUsedEmail(usedEmail ?? undefined);
-      dispatch.userState.setUserName(user.name);
-      dispatch.uiState.setLastOpened(params.lastOpened);
-      dispatch.uiState.setOnboardingExplainerSets(params.onboardingExplainer.sets);
-      dispatch.uiState.setOnboardingExplainerExportSets(params.onboardingExplainer.exportSets);
-      dispatch.uiState.setOnboardingExplainerSyncProviders(params.onboardingExplainer.syncProviders);
-      dispatch.uiState.setOnboardingExplainerInspect(params.onboardingExplainer.inspect);
-      dispatch.settings.setUISettings(settings);
-    } else {
-      throw new Error('User not found');
-    }
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html deleted file mode 100644 index 6e845c820..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer/startupProcessSteps saveStorageInformationFactory.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import useStorage from '@/app/store/useStorage';
-import type { Dispatch } from '@/app/store';
-import type { StartupMessage } from '@/types/AsyncMessages';
- 
-export function saveStorageInformationFactory(
-  dispatch: Dispatch,
-  params: StartupMessage,
-  useStorageResult: ReturnType<typeof useStorage>,
-) {
-  return async () => {
-    const { setStorageType } = useStorageResult;
-    const providers = params.localApiProviders ?? [];
-    setStorageType({ provider: params.storageType });
-    dispatch.uiState.setAPIProviders(providers);
-    // Find first valid Tokens Studio provider and use its secret as PAT
-    const tokensStudioProvider = providers.find((provider) => provider.provider === 'tokensstudio' && provider.secret);
-    if (tokensStudioProvider?.secret) {
-      dispatch.userState.setTokensStudioPAT(tokensStudioProvider.secret);
-    }
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html deleted file mode 100644 index f21995c38..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AppContainer/useStartupProcess.ts.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - Code coverage report for src/app/components/AppContainer/useStartupProcess.ts - - - - - - - - - -
-
-

All files / src/app/components/AppContainer useStartupProcess.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  useEffect,
-  useMemo,
-} from 'react';
-import { useDispatch, useStore } from 'react-redux';
-import { useLDClient } from 'launchdarkly-react-client-sdk';
-import { LDClient } from 'launchdarkly-js-client-sdk';
-import { StartupMessage } from '@/types/AsyncMessages';
-import { useProcess } from '@/hooks';
-import { ApplicationInitSteps } from './ApplicationInitSteps';
-import { Dispatch, RootState } from '@/app/store';
-import {
-  addLicenseFactory, savePluginDataFactory, getLdFlagsFactory, saveStorageInformationFactory, pullTokensFactory,
-} from './startupProcessSteps';
-import useStorage from '@/app/store/useStorage';
-import { useFlags } from '../LaunchDarkly';
-import useConfirm from '@/app/hooks/useConfirm';
-import useRemoteTokens from '@/app/store/remoteTokens';
- 
-let ldClientPromiseResolver: (client: LDClient) => void;
-const ldClientPromise = new Promise<LDClient>((resolve) => {
-  ldClientPromiseResolver = resolve;
-});
- 
-export function useStartupProcess(params: StartupMessage) {
-  const ldClient = useLDClient();
-  const store = useStore<RootState>();
-  const dispatch = useDispatch<Dispatch>();
-  const useStorageResult = useStorage();
-  const useConfirmResult = useConfirm();
-  const useRemoteTokensResult = useRemoteTokens();
-  const flags = useFlags();
- 
-  const startupProcess = useProcess<ApplicationInitSteps>(useMemo(() => ([
-    {
-      key: ApplicationInitSteps.SAVE_PLUGIN_DATA,
-      fn: savePluginDataFactory(dispatch, params),
-    },
-    {
-      key: ApplicationInitSteps.ADD_LICENSE,
-      fn: addLicenseFactory(dispatch, params),
-    },
-    {
-      key: ApplicationInitSteps.GET_LD_FLAGS,
-      fn: getLdFlagsFactory(store, ldClientPromise, params),
-    },
-    {
-      key: ApplicationInitSteps.SAVE_STORAGE_INFORMATION,
-      fn: saveStorageInformationFactory(dispatch, params, useStorageResult),
-    },
-    {
-      key: ApplicationInitSteps.PULL_TOKENS,
-      fn: pullTokensFactory(store, dispatch, flags, params, useConfirmResult, useRemoteTokensResult),
-    },
-  // disabling as we don't want some of those deps to trigger the process
-  // eslint-disable-next-line react-hooks/exhaustive-deps
-  ]), [params, store, flags]));
- 
-  useEffect(() => {
-    if (ldClient) {
-      ldClientPromiseResolver(ldClient);
-    }
-  }, [ldClient]);
- 
-  return startupProcess;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html deleted file mode 100644 index 63f6b8b85..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ApplySelector.tsx.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - Code coverage report for src/app/components/ApplySelector.tsx - - - - - - - - - -
-
-

All files / src/app/components ApplySelector.tsx

-
- -
- 0% - Statements - 0/15 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import React from 'react';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, DropdownMenu, Stack,
-} from '@tokens-studio/ui';
-import { Check } from 'iconoir-react';
-import { Dispatch } from '../store';
-import IconChevronDown from '@/icons/chevrondown.svg';
-import { settingsStateSelector } from '@/selectors';
-import { isEqual } from '@/utils/isEqual';
-import { UpdateMode } from '@/constants/UpdateMode';
-import useTokens from '../store/useTokens';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
- 
-export default function ApplySelector() {
-  const { updateMode, applyVariablesStylesOrRawValue } = useSelector(settingsStateSelector, isEqual);
-  const { t } = useTranslation(['tokens']);
- 
-  const { handleUpdate } = useTokens();
- 
-  const { setUpdateMode, setApplyVariablesStyleOrRawValue } = useDispatch<Dispatch>().settings;
- 
-  const handleApplySelection = React.useCallback(() => {
-    setUpdateMode(UpdateMode.SELECTION);
-  }, [setUpdateMode]);
- 
-  const handleApplyPage = React.useCallback(() => {
-    setUpdateMode(UpdateMode.PAGE);
-  }, [setUpdateMode]);
- 
-  const handleApplyDocument = React.useCallback(() => {
-    setUpdateMode(UpdateMode.DOCUMENT);
-  }, [setUpdateMode]);
- 
-  const handlePreferVariablesStyles = React.useCallback(() => {
-    setApplyVariablesStyleOrRawValue(ApplyVariablesStylesOrRawValues.VARIABLES_STYLES);
-  }, [setApplyVariablesStyleOrRawValue]);
- 
-  const handlePreferRawValues = React.useCallback(() => {
-    setApplyVariablesStyleOrRawValue(ApplyVariablesStylesOrRawValues.RAW_VALUES);
-  }, [setApplyVariablesStyleOrRawValue]);
- 
-  return (
-    <Stack direction="row">
-      <Button
-        data-testid="update-button"
-        variant="primary"
-        size="small"
-        css={{
-          borderTopRightRadius: 0,
-          borderBottomRightRadius: 0,
-          borderRightColor: 'transparent',
-        }}
-        onClick={handleUpdate}
-      >
-        {t('applyTo.button')}
-        {' '}
-        {updateMode}
-      </Button>
-      <DropdownMenu>
-        <DropdownMenu.Trigger
-          asChild
-          data-testid="apply-selector"
-        >
-          <Button
-            variant="primary"
-            size="small"
-            css={{
-              borderTopLeftRadius: 0,
-              borderBottomLeftRadius: 0,
-              borderLeftColor: 'rgba(255, 255, 255, 0.2)',
-              width: '$controlSmall',
-              justifyContent: 'center',
-            }}
-          >
-            <IconChevronDown />
-          </Button>
-        </DropdownMenu.Trigger>
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content side="top" css={{ maxWidth: '350px' }}>
-            <DropdownMenu.Label>{t('applyTo.applyCurrentTokensTo')}</DropdownMenu.Label>
-            <DropdownMenu.RadioGroup value={updateMode}>
-              <DropdownMenu.RadioItem
-                data-testid="apply-to-selection"
-                value={UpdateMode.SELECTION}
-                onSelect={handleApplySelection}
-              >
-                <DropdownMenu.ItemIndicator>
-                  <Check />
-                </DropdownMenu.ItemIndicator>
-                {t('applyTo.selection.title')}
-              </DropdownMenu.RadioItem>
-              <DropdownMenu.RadioItem data-testid="apply-to-page" value={UpdateMode.PAGE} onSelect={handleApplyPage}>
-                <DropdownMenu.ItemIndicator>
-                  <Check />
-                </DropdownMenu.ItemIndicator>
-                {t('applyTo.page.title')}
-              </DropdownMenu.RadioItem>
-              <DropdownMenu.RadioItem
-                data-testid="apply-to-document"
-                value={UpdateMode.DOCUMENT}
-                onSelect={handleApplyDocument}
-              >
-                <DropdownMenu.ItemIndicator>
-                  <Check />
-                </DropdownMenu.ItemIndicator>
-                {t('applyTo.document.title')}
-              </DropdownMenu.RadioItem>
-            </DropdownMenu.RadioGroup>
-            <DropdownMenu.Separator />
-            <DropdownMenu.Label>{t('applyTo.applyCurrentTokensAs')}</DropdownMenu.Label>
-            <DropdownMenu.RadioGroup value={applyVariablesStylesOrRawValue}>
-              <DropdownMenu.RadioItem
-                data-testid="apply-variables-styles"
-                value={ApplyVariablesStylesOrRawValues.VARIABLES_STYLES}
-                onSelect={handlePreferVariablesStyles}
-              >
-                <DropdownMenu.ItemIndicator>
-                  <Check />
-                </DropdownMenu.ItemIndicator>
-                {t('applyTo.variablesStyles.title')}
-              </DropdownMenu.RadioItem>
-              <DropdownMenu.RadioItem
-                data-testid="apply-raw-values"
-                value={ApplyVariablesStylesOrRawValues.RAW_VALUES}
-                onSelect={handlePreferRawValues}
-              >
-                <DropdownMenu.ItemIndicator>
-                  <Check />
-                </DropdownMenu.ItemIndicator>
-                {t('applyTo.rawValues.title')}
-              </DropdownMenu.RadioItem>
-            </DropdownMenu.RadioGroup>
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html deleted file mode 100644 index b1142ce0f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/components/AuthModal - - - - - - - - - -
-
-

All files src/app/components/AuthModal

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/180%0/160%0/40%0/18
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html deleted file mode 100644 index 2c8edc97c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/AuthModal/index.tsx.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - Code coverage report for src/app/components/AuthModal/index.tsx - - - - - - - - - -
-
-

All files / src/app/components/AuthModal index.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { ChangeEvent, useCallback, useState } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import {
-  Box, Button, Label, Stack, TextInput, Link, Text,
-} from '@tokens-studio/ui';
-import { ChevronLeftIcon } from '@radix-ui/react-icons';
-import { useAuth } from '@/context/AuthContext';
-import { secondScreenSelector } from '@/selectors/secondScreenSelector';
-import Modal from '../Modal';
-import { Dispatch } from '@/app/store';
-import { usedEmailSelector } from '@/selectors/usedEmailSelector';
- 
-enum AuthModes {
-  LOGIN = 'login',
-  SIGNUP = 'signup',
-}
- 
-export default function AuthModal() {
-  const {
-    user, authInProgress, logIn, signUp, authError, setAuthError,
-  } = useAuth();
-  const dispatch = useDispatch<Dispatch>();
-  const [mode, setMode] = useState<AuthModes>(AuthModes.LOGIN);
-  const secondScreenEnabled = useSelector(secondScreenSelector);
-  const usedEmail = useSelector(usedEmailSelector);
- 
-  const [values, setValues] = React.useState({
-    email: usedEmail || '',
-    password: '',
-  });
- 
-  const handleChange = useCallback(
-    (e: ChangeEvent<HTMLInputElement>) => {
-      const { name, value } = e.target;
-      setValues({
-        ...values,
-        [name]: value,
-      });
-    },
-    [setValues, values],
-  );
- 
-  const onCtaClick = useCallback(() => {
-    setMode(mode === AuthModes.LOGIN ? AuthModes.SIGNUP : AuthModes.LOGIN);
-    setValues({ email: '', password: '' });
-    setAuthError('');
-  }, [mode, setAuthError]);
- 
-  const onSubmitButtonClick = useCallback(() => {
-    if (mode === 'login') {
-      logIn(values);
-    } else {
-      signUp(values);
-    }
-  }, [mode, logIn, signUp, values]);
- 
-  return (
-    <Modal
-      title={mode === AuthModes.LOGIN ? 'Log in' : 'Sign up'}
-      showClose
-      close={dispatch.uiState.toggleSecondScreen}
-      isOpen={secondScreenEnabled && !user}
-    >
-      <Stack direction="column" align="start" gap={5}>
-        <Label css={{ width: '100%' }}>
-          Email
-          <TextInput name="email" type="email" value={values.email} onChange={handleChange} />
-        </Label>
-        <Label css={{ width: '100%' }}>
-          Password
-          <TextInput name="password" type="password" value={values.password} onChange={handleChange} />
-        </Label>
-        <Button loading={authInProgress} variant="primary" onClick={onSubmitButtonClick}>
-          {mode === AuthModes.LOGIN ? 'Log in' : 'Sign up'}
-        </Button>
-        {mode === AuthModes.LOGIN && (
-          <>
-            <Box css={{ display: 'flex', gap: '$3', alignItems: 'center' }}>
-              <Text>Do not have an account ?</Text>
-              <Button size="small" onClick={onCtaClick}>
-                Sign up here
-              </Button>
- 
-            </Box>
-            <Box css={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
-              <Link target="_blank" href={`${process.env.SECOND_SCREEN_APP_URL}/password-recovery`} rel="noreferrer">Forgot password ?</Link>
-            </Box>
-          </>
-        )}
-        {mode === AuthModes.SIGNUP && (
-        <Button icon={<ChevronLeftIcon />} size="small" variant="invisible" onClick={onCtaClick}>
-          Back to login
-        </Button>
-        )}
- 
-        <Box
-          css={{
-            display: 'flex',
-            color: '$dangerFg',
-            fontSize: '$xsmall',
-            width: '100%',
-            justifyContent: 'center',
-          }}
-        >
-          {authError}
-        </Box>
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html deleted file mode 100644 index 5db92f933..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenDownShiftInput.tsx.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - Code coverage report for src/app/components/BorderTokenDownShiftInput.tsx - - - - - - - - - -
-
-

All files / src/app/components BorderTokenDownShiftInput.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import DownshiftInput from './DownshiftInput';
-import { getLabelForProperty } from '@/utils/getLabelForProperty';
-import { getAliasValue } from '@/utils/alias';
-import { ColorPickerTrigger } from './ColorPickerTrigger';
- 
-export default function BorderTokenDownShiftInput({
-  name,
-  value,
-  type,
-  resolvedTokens,
-  handleChange,
-  setInputValue,
-  handleToggleInputHelper,
-  onSubmit,
-}: {
-  name: string;
-  value: string;
-  type: string;
-  resolvedTokens: ResolveTokenValuesResult[];
-  handleChange: (property: string, value: string) => void;
-  setInputValue: (newInputValue: string, property: string) => void;
-  handleToggleInputHelper?: () => void;
-  onSubmit: () => void;
-}) {
-  const [resolvedColor, setResolvedColor] = React.useState<string>(value ? String(value) : '');
- 
-  React.useEffect(() => {
-    if (name === 'color' && value && value.startsWith('{')) {
-      const aliasValue = getAliasValue(value, resolvedTokens);
-      setResolvedColor(aliasValue ? String(aliasValue) : '');
-    } else {
-      setResolvedColor(typeof value === 'string' ? value : '');
-    }
-  }, [value, resolvedTokens, name]);
- 
-  const handleBorderDownShiftInputChange = React.useCallback(
-    (newInputValue: string) => setInputValue(newInputValue, name),
-    [name, setInputValue],
-  );
-  const getIconComponent = React.useMemo(() => getLabelForProperty(name), [name]);
- 
-  const { t } = useTranslation(['tokens']);
-  const mapTypeToPlaceHolder = {
-    color: t('forms.border.color'),
-    width: t('forms.border.width'),
-    style: 'solid | dashed',
-  };
- 
-  return (
-    <DownshiftInput
-      name={name}
-      value={value}
-      type={type}
-      label={getIconComponent}
-      inlineLabel
-      resolvedTokens={resolvedTokens}
-      handleChange={handleChange}
-      setInputValue={handleBorderDownShiftInputChange}
-      placeholder={mapTypeToPlaceHolder[name as keyof typeof mapTypeToPlaceHolder] as unknown as string}
-      prefix={
-        name === 'color' && (
-          <ColorPickerTrigger onClick={handleToggleInputHelper} background={resolvedColor} />
-        )
-      }
-      suffix
-      onSubmit={onSubmit}
-    />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html deleted file mode 100644 index 27cbb114b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BorderTokenForm.tsx.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - Code coverage report for src/app/components/BorderTokenForm.tsx - - - - - - - - - -
-
-

All files / src/app/components BorderTokenForm.tsx

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/39 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useState } from 'react';
-import { useUIDSeed } from 'react-uid';
-import get from 'just-safe-get';
-import { TokensIcon, LinkBreak2Icon } from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import { IconButton, Heading } from '@tokens-studio/ui';
-import { EditTokenObject, SingleBorderToken } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import Stack from './Stack';
-import BorderTokenDownShiftInput from './BorderTokenDownShiftInput';
-import ColorPicker from './ColorPicker';
-import DownshiftInput from './DownshiftInput';
-import ResolvedTokenDisplay from './ResolvedTokenDisplay';
-import { checkIfContainsAlias } from '@/utils/alias';
-import { findReferences } from '@/utils/findReferences';
- 
-const propertyTypes = {
-  color: TokenTypes.COLOR,
-  width: TokenTypes.BORDER_WIDTH,
-  style: 'strokeStyle',
-};
- 
-export default function BorderTokenForm({
-  internalEditToken,
-  resolvedTokens,
-  handleBorderValueChange,
-  handleBorderValueDownShiftInputChange,
-  handleBorderAliasValueChange,
-  handleDownShiftInputChange,
-  setBorderValue,
-  onSubmit,
-}: {
-  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.BORDER }>;
-  resolvedTokens: ResolveTokenValuesResult[];
-  handleBorderValueChange: (newInputValue: string, property: string) => void;
-  handleBorderValueDownShiftInputChange: (newInputValue: string, property: string) => void;
-  handleBorderAliasValueChange: (property: string, value: string) => void;
-  handleDownShiftInputChange: (newInputValue: string) => void;
-  setBorderValue: (newBorderValue: SingleBorderToken['value']) => void;
-  onSubmit: () => void;
-}) {
-  const seed = useUIDSeed();
-  const isAliasMode = internalEditToken.value && typeof internalEditToken.value === 'string';
-  const [mode, setMode] = useState(isAliasMode ? 'alias' : 'input');
-  const [alias, setAlias] = useState('');
-  const { t } = useTranslation(['tokens']);
-  const [inputHelperOpen, setInputHelperOpen] = useState<boolean>(false);
- 
-  const selectedToken = React.useMemo<SingleBorderToken | null>(() => {
-    const search = findReferences(String(internalEditToken.value));
-    if (search && search.length > 0) {
-      const foundToken = resolvedTokens.find((t) => t.name === search[0]);
-      if (foundToken) return foundToken as SingleBorderToken;
-    }
-    return null;
-  }, [internalEditToken, resolvedTokens]);
- 
-  const handleToggleInputHelper = React.useCallback(() => setInputHelperOpen(!inputHelperOpen), [inputHelperOpen]);
-  const onColorChange = React.useCallback(
-    (color: string) => {
-      handleBorderValueDownShiftInputChange(color, 'color');
-    },
-    [handleBorderValueDownShiftInputChange],
-  );
- 
-  const handleMode = React.useCallback(() => {
-    if (mode === 'alias' && typeof internalEditToken.value === 'string') {
-      setBorderValue(selectedToken?.rawValue ?? {});
-    }
-    setMode(mode === 'input' ? 'alias' : 'input');
-    setAlias('');
-  }, [mode, selectedToken, internalEditToken, setBorderValue]);
- 
-  return (
-    <Stack direction="column" gap={2}>
-      <Stack direction="row" gap={2} justify="between" align="center">
-        <Heading>{t('value')}</Heading>
-        {mode === 'input' ? (
-          <IconButton
-            tooltip={t('reference-mode')}
-            data-testid="mode-change-button"
-            onClick={handleMode}
-            icon={<TokensIcon />}
-          />
-        ) : (
-          <IconButton
-            tooltip={t('input-mode')}
-            data-testid="mode-change-button"
-            onClick={handleMode}
-            icon={<LinkBreak2Icon />}
-          />
-        )}
-      </Stack>
-      {mode === 'input' && internalEditToken.schema.schemas.value.type === 'object' ? (
-        <Stack gap={2} direction="column">
-          {Object.entries(internalEditToken.schema.schemas.value.properties ?? {}).map(([key], keyIndex) => (
-            <React.Fragment key={`border-input-fragment-${seed(keyIndex)}`}>
-              <BorderTokenDownShiftInput
-                name={key}
-                key={`border-input-${seed(keyIndex)}`}
-                value={typeof internalEditToken.value === 'object' ? get(internalEditToken.value, key, '') : ''}
-                type={propertyTypes[key as keyof typeof propertyTypes]}
-                resolvedTokens={resolvedTokens}
-                handleChange={handleBorderValueChange}
-                setInputValue={handleBorderValueDownShiftInputChange}
-                handleToggleInputHelper={handleToggleInputHelper}
-                onSubmit={onSubmit}
-              />
-              {inputHelperOpen && key === 'color' && (
-                <ColorPicker
-                  value={typeof internalEditToken.value === 'object' && get(internalEditToken.value, key, '')}
-                  onChange={onColorChange}
-                />
-              )}
-            </React.Fragment>
-          ))}
-        </Stack>
-      ) : (
-        <Stack direction="column" gap={2}>
-          <DownshiftInput
-            value={!isAliasMode ? '' : String(internalEditToken.value)}
-            type={internalEditToken.type}
-            label={internalEditToken.schema.property}
-            inlineLabel
-            resolvedTokens={resolvedTokens}
-            initialName={internalEditToken.initialName}
-            handleChange={handleBorderAliasValueChange}
-            setInputValue={handleDownShiftInputChange}
-            placeholder={t('valueOrAlias')}
-            suffix
-            onSubmit={onSubmit}
-          />
- 
-          {isAliasMode
-            && typeof internalEditToken.value === 'string'
-            && checkIfContainsAlias(internalEditToken.value) && (
-              <ResolvedTokenDisplay alias={alias} selectedToken={selectedToken} />
-          )}
-        </Stack>
-      )}
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html deleted file mode 100644 index 03d0223d1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Box.tsx.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/components/Box.tsx - - - - - - - - - -
-
-

All files / src/app/components Box.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-const Box = styled('div', {});
- 
-export default Box;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html deleted file mode 100644 index 90bdca59c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BoxShadowInput.tsx.html +++ /dev/null @@ -1,628 +0,0 @@ - - - - - - Code coverage report for src/app/components/BoxShadowInput.tsx - - - - - - - - - -
-
-

All files / src/app/components BoxShadowInput.tsx

-
- -
- 0% - Statements - 0/35 -
- - -
- 0% - Branches - 0/45 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useState } from 'react';
-import compact from 'just-compact';
-import { HTML5Backend } from 'react-dnd-html5-backend';
-import { DndProvider } from 'react-dnd';
-import { TokensIcon, LinkBreak2Icon } from '@radix-ui/react-icons';
-import { useUIDSeed } from 'react-uid';
-import { IconButton, Heading } from '@tokens-studio/ui';
-import { checkIfContainsAlias } from '@/utils/alias';
-import { findReferences } from '@/utils/findReferences';
-import IconPlus from '@/icons/plus.svg';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import Box from './Box';
-import ResolvedTokenDisplay from './ResolvedTokenDisplay';
-import DownshiftInput from './DownshiftInput';
-import { TokenBoxshadowValue } from '@/types/values';
-import { TokenTypes } from '@/constants/TokenTypes';
-import SingleBoxShadowInput, { newTokenValue } from './SingleBoxShadowInput';
-import { EditTokenObject } from '@/types/tokens';
- 
-type EditTokenType = Extract<EditTokenObject, { type: TokenTypes.BOX_SHADOW }>;
- 
-export default function BoxShadowInput({
-  resolvedTokens,
-  internalEditToken,
-  handleBoxShadowValueChange,
-  handleBoxShadowAliasValueChange,
-  handleDownShiftInputChange,
-  onSubmit,
-}: {
-  resolvedTokens: ResolveTokenValuesResult[];
-  internalEditToken: EditTokenType;
-  handleBoxShadowValueChange: (shadow: TokenBoxshadowValue | TokenBoxshadowValue[]) => void;
-  handleBoxShadowAliasValueChange: (property: string, value: string) => void;
-  handleDownShiftInputChange: (newInputValue: string) => void;
-  onSubmit: () => void
-}) {
-  const seed = useUIDSeed();
-  const isAliasMode = (internalEditToken.value && typeof internalEditToken.value === 'string');
-  const [mode, setMode] = useState(isAliasMode ? 'alias' : 'input');
-  const [alias, setAlias] = useState('');
- 
-  const handleMode = React.useCallback(() => {
-    const changeMode = (mode === 'input') ? 'alias' : 'input';
-    setMode(changeMode);
-    setAlias('');
-  }, [mode]);
- 
-  const selectedToken = React.useMemo(() => {
-    const search = findReferences(typeof internalEditToken.value === 'string' ? internalEditToken.value : '');
-    if (search && search.length > 0) {
-      const foundToken = resolvedTokens.find((t) => t.name === search[0]);
-      if (foundToken) return foundToken;
-    }
-    return null;
-  }, [internalEditToken, resolvedTokens]);
- 
-  const mappedItems = React.useMemo(() => {
-    if (typeof internalEditToken.value === 'string' && selectedToken) return selectedToken.value as TokenBoxshadowValue | TokenBoxshadowValue[];
-    if (typeof internalEditToken.value !== 'string') return internalEditToken.value;
-    return undefined;
-  }, [internalEditToken.value, selectedToken]);
- 
-  const addShadow = React.useCallback(() => {
-    if (Array.isArray(internalEditToken.value)) {
-      handleBoxShadowValueChange([...internalEditToken.value, newTokenValue]);
-    } else if (typeof internalEditToken.value === 'undefined' || typeof internalEditToken.value === 'string') {
-      handleBoxShadowValueChange(compact([newTokenValue, newTokenValue]));
-    } else if (typeof internalEditToken.value !== 'string') {
-      handleBoxShadowValueChange(compact([internalEditToken.value, newTokenValue]));
-    }
-  }, [internalEditToken, handleBoxShadowValueChange]);
- 
-  const removeShadow = React.useCallback((index: number) => {
-    if (Array.isArray(internalEditToken.value) && internalEditToken.value.length > 1) {
-      handleBoxShadowValueChange(internalEditToken.value.filter((_, i) => i !== index));
-    }
-  }, [internalEditToken, handleBoxShadowValueChange]);
- 
-  return (
-    <div>
-      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
-        <Heading size="small">Shadow</Heading>
-        <Box css={{ display: 'flex' }}>
-          {mode === 'input' ? (
-            <>
-              <IconButton
-                tooltip="Reference mode"
-                data-testid="mode-change-button"
-                onClick={handleMode}
-                icon={<TokensIcon />}
-                variant="invisible"
-                size="small"
-              />
-              <IconButton
-                tooltip="Add another shadow"
-                data-testid="button-shadow-add-multiple"
-                onClick={addShadow}
-                icon={<IconPlus />}
-                variant="invisible"
-                size="small"
-              />
-            </>
-          ) : (
-            <IconButton
-              tooltip="Input mode"
-              data-testid="mode-change-button"
-              onClick={handleMode}
-              icon={<LinkBreak2Icon />}
-              variant="invisible"
-              size="small"
-            />
-          )}
-        </Box>
-      </Box>
-      <Box css={{ display: 'flex', flexDirection: 'column', gap: '$4' }}>
-        {
-          mode === 'input' ? (
-            <DndProvider backend={HTML5Backend}>
-              {Array.isArray(mappedItems) ? (
-                mappedItems.map((token, index) => (
-                  <SingleBoxShadowInput
-                    isMultiple
-                    value={mappedItems}
-                    handleBoxShadowValueChange={handleBoxShadowValueChange}
-                    shadowItem={token}
-                    index={index}
-                    id={String(index)}
-                    key={`single-shadow-${seed(index)}`}
-                    onRemove={removeShadow}
-                    resolvedTokens={resolvedTokens}
-                    onSubmit={onSubmit}
-                  />
-                ))
-              ) : (
-                <SingleBoxShadowInput
-                  handleBoxShadowValueChange={handleBoxShadowValueChange}
-                  index={0}
-                  value={mappedItems}
-                  shadowItem={mappedItems}
-                  onRemove={removeShadow}
-                  resolvedTokens={resolvedTokens}
-                  onSubmit={onSubmit}
-                />
-              )}
-            </DndProvider>
-          ) : (
-            <Box css={{
-              display: 'flex', flexDirection: 'column', gap: '$2',
-            }}
-            >
-              <DownshiftInput
-                value={!isAliasMode ? '' : String(internalEditToken.value)}
-                type={internalEditToken.type}
-                label={TokenTypes.BOX_SHADOW}
-                inlineLabel
-                resolvedTokens={resolvedTokens}
-                initialName={internalEditToken.initialName}
-                handleChange={handleBoxShadowAliasValueChange}
-                setInputValue={handleDownShiftInputChange}
-                placeholder="Value or {alias}"
-                suffix
-                onSubmit={onSubmit}
-              />
-              {(
-                isAliasMode
-                && selectedToken
-                && typeof internalEditToken.value === 'string'
-                && checkIfContainsAlias(internalEditToken.value)
-              ) && (
-              <ResolvedTokenDisplay
-                alias={alias}
-                selectedToken={selectedToken}
-              />
-              )}
-            </Box>
-          )
-        }
-      </Box>
-    </div>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html deleted file mode 100644 index 3a11b38a7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSelector.tsx.html +++ /dev/null @@ -1,814 +0,0 @@ - - - - - - Code coverage report for src/app/components/BranchSelector.tsx - - - - - - - - - -
-
-

All files / src/app/components BranchSelector.tsx

-
- -
- 0% - Statements - 0/66 -
- - -
- 0% - Branches - 0/35 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/65 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useEffect, useState } from 'react';
-import { useSelector, useDispatch } from 'react-redux';
-import { ChevronRightIcon } from '@radix-ui/react-icons';
-import { GitBranchIcon } from '@primer/octicons-react';
-import { useUIDSeed } from 'react-uid';
-import { useTranslation } from 'react-i18next';
-import { Button, DropdownMenu } from '@tokens-studio/ui';
-import {
-  branchSelector,
-  localApiStateBranchSelector,
-  apiSelector,
-  usedTokenSetSelector,
-  localApiStateSelector,
-  activeThemeSelector,
-} from '@/selectors';
-import useRemoteTokens from '../store/remoteTokens';
-import useConfirm from '@/app/hooks/useConfirm';
-import useStorage from '@/app/store/useStorage';
-import CreateBranchModal from './modals/CreateBranchModal';
-import { Dispatch } from '../store';
-import { BranchSwitchMenuRadioElement } from './BranchSwitchMenuRadioElement';
-import { isGitProvider } from '@/utils/is';
-import ProBadge from './ProBadge';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { StorageTypeCredentials } from '@/types/StorageType';
-import { track } from '@/utils/analytics';
-import { useChangedState } from '@/hooks/useChangedState';
-import { useIsProUser } from '../hooks/useIsProUser';
- 
-const BranchSwitchMenuItemElement: React.FC<
-React.PropsWithChildren<
-React.PropsWithChildren<{
-  branch: string;
-  createNewBranchFrom: (branch: string) => void;
-}>
->
-> = ({ branch, createNewBranchFrom }) => {
-  const onSelect = React.useCallback(() => createNewBranchFrom(branch), [branch, createNewBranchFrom]);
- 
-  return (
-    <DropdownMenu.Item
-      data-testid={`branch-selector-create-branch-from-branch-${branch}`}
-      onSelect={onSelect}
-      css={{ position: 'relative' }}
-    >
-      {branch}
-    </DropdownMenu.Item>
-  );
-};
- 
-export default function BranchSelector() {
-  const seed = useUIDSeed();
-  const { confirm } = useConfirm();
-  const { pullTokens, pushTokens } = useRemoteTokens();
-  const dispatch = useDispatch<Dispatch>();
-  const isProUser = useIsProUser();
-  const { setStorageType } = useStorage();
- 
-  const branchState = useSelector(branchSelector);
-  const localApiState = useSelector(localApiStateSelector);
-  const localApiStateBranch = useSelector(localApiStateBranchSelector);
-  const apiData = useSelector(apiSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const { t } = useTranslation(['branch', 'licence']);
-  const [currentBranch, setCurrentBranch] = useState(localApiStateBranch);
-  const [startBranch, setStartBranch] = useState<string | null>(null);
-  const [createBranchModalVisible, setCreateBranchModalVisible] = useState(false);
-  const [isCurrentChanges, setIsCurrentChanges] = useState(false);
-  const { hasChanges } = useChangedState();
- 
-  useEffect(() => {
-    setCurrentBranch(localApiStateBranch);
-  }, [localApiStateBranch, setCurrentBranch]);
- 
-  const askUserIfPushChanges = React.useCallback(async () => {
-    const confirmResult = await confirm({
-      text: t('unSavedChanges') as string,
-      description: t('ifYouCreate') as string,
-      confirmAction: t('discardChanges') as string,
-      cancelAction: t('cancel') as string,
-    });
-    if (confirmResult) {
-      return confirmResult.result;
-    }
-    return null;
-  }, [confirm, t]);
- 
-  const createBranchByChange = React.useCallback(() => {
-    track('Create new branch from current changes');
-    setIsCurrentChanges(true);
-    setStartBranch(currentBranch ?? null);
-    setCreateBranchModalVisible(true);
-  }, [currentBranch]);
- 
-  const createNewBranchFrom = React.useCallback(
-    async (branch: string) => {
-      track('Create new branch from specific branch');
- 
-      if (hasChanges && (await askUserIfPushChanges())) {
-        await pushTokens();
-      }
- 
-      setStartBranch(branch);
-      setCreateBranchModalVisible(true);
-    },
-    [hasChanges, askUserIfPushChanges, pushTokens],
-  );
- 
-  const changeAndPull = React.useCallback(
-    async (branch: string) => {
-      if (isGitProvider(apiData) && isGitProvider(localApiState)) {
-        setCurrentBranch(branch);
-        dispatch.uiState.setApiData({ ...apiData, branch });
-        dispatch.uiState.setLocalApiState({ ...localApiState, branch });
-        await pullTokens({
-          context: { ...apiData, branch }, usedTokenSet, activeTheme, updateLocalTokens: true,
-        });
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: { ...apiData, branch },
-        });
-        setStorageType({ provider: { ...apiData, branch } as StorageTypeCredentials, shouldSetInDocument: true });
-      }
-    },
-    [apiData, localApiState, pullTokens, usedTokenSet, activeTheme, dispatch],
-  );
- 
-  const onBranchSelected = React.useCallback(
-    async (branch: string) => {
-      track('Branch changed');
-      if (hasChanges) {
-        if (await askUserIfPushChanges()) {
-          await changeAndPull(branch);
-        }
-      } else {
-        await changeAndPull(branch);
-      }
-    },
-    [hasChanges, askUserIfPushChanges, changeAndPull],
-  );
- 
-  // @params
-  /*
-   ** branch: branch name which is just created.
-   ** branches: a list of branch names before new branch is created.
-   */
-  const onCreateBranchModalSuccess = React.useCallback(
-    (branch: string, branches: string[]) => {
-      setCreateBranchModalVisible(false);
-      setCurrentBranch(branch);
-      if (isGitProvider(apiData) && isGitProvider(localApiState)) {
-        dispatch.branchState.setBranches(branches.includes(branch) ? branches : [...branches, branch]);
-        dispatch.uiState.setApiData({ ...apiData, branch });
-        dispatch.uiState.setLocalApiState({ ...localApiState, branch });
-      }
-    },
-    [dispatch, apiData, localApiState],
-  );
- 
-  const handleCloseModal = React.useCallback(() => {
-    setCreateBranchModalVisible(false);
-  }, []);
- 
-  return currentBranch ? (
-    <>
-      <DropdownMenu>
-        <DropdownMenu.Trigger asChild data-testid="branch-selector-menu-trigger">
-          <Button size="small" variant="invisible" icon={<GitBranchIcon />}>
-            {currentBranch}
-          </Button>
-        </DropdownMenu.Trigger>
- 
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content side="top" sideOffset={0} className="content scroll-container" css={{ maxWidth: '70vw' }}>
-            <DropdownMenu.Sub>
-              <DropdownMenu.SubTrigger
-                data-testid="branch-selector-create-new-branch-trigger"
-                disabled={!isProUser}
-              >
-                {t('createNewBranch')}
-                <DropdownMenu.TrailingVisual>
-                  <ChevronRightIcon />
-                </DropdownMenu.TrailingVisual>
-              </DropdownMenu.SubTrigger>
-              <DropdownMenu.SubContent>
-                {hasChanges && (
-                  <DropdownMenu.Item
-                    data-testid="branch-selector-create-new-branch-from-current-change"
-                    onSelect={createBranchByChange}
-                  >
-                    {t('currentChanges')}
-                  </DropdownMenu.Item>
-                )}
-                {branchState.branches.length > 0
-                  && branchState.branches.map((branch, index) => (
-                    <BranchSwitchMenuItemElement
-                      key={seed(index)}
-                      branch={branch}
-                      createNewBranchFrom={createNewBranchFrom}
-                    />
-                  ))}
-              </DropdownMenu.SubContent>
-            </DropdownMenu.Sub>
-            <DropdownMenu.Separator />
-            {!isProUser && (
-              <>
-                <DropdownMenu.Item css={{ display: 'flex', justifyContent: 'space-between' }}>
-                  <span>{t('upgradeToPro', { ns: 'licence' })}</span>
-                  <ProBadge campaign="branch-selector" compact />
-                </DropdownMenu.Item>
-                <DropdownMenu.Separator />
-              </>
-            )}
-            <DropdownMenu.RadioGroup value={currentBranch}>
-              {branchState.branches.length > 0
-                && branchState.branches.map((branch, index) => (
-                  <BranchSwitchMenuRadioElement
-                    disabled={!isProUser}
-                    key={`radio_${seed(index)}`}
-                    branch={branch}
-                    branchSelected={onBranchSelected}
-                  />
-                ))}
-            </DropdownMenu.RadioGroup>
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-      {createBranchModalVisible && startBranch && (
-        <CreateBranchModal
-          isOpen={createBranchModalVisible}
-          onClose={handleCloseModal}
-          onSuccess={onCreateBranchModalSuccess}
-          startBranch={startBranch}
-          isCurrentChanges={isCurrentChanges}
-        />
-      )}
-    </>
-  ) : (
-    <div />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html deleted file mode 100644 index 353dc2c39..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BranchSwitchMenuRadioElement.tsx.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Code coverage report for src/app/components/BranchSwitchMenuRadioElement.tsx - - - - - - - - - -
-
-

All files / src/app/components BranchSwitchMenuRadioElement.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Check } from 'iconoir-react';
-import { DropdownMenu } from '@tokens-studio/ui';
- 
-type Props = {
-  branch: string;
-  branchSelected: (branch: string) => void;
-  disabled?: boolean;
-};
- 
-export const BranchSwitchMenuRadioElement: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  disabled,
-  branch,
-  branchSelected,
-}) => {
-  const onSelect = React.useCallback(() => branchSelected(branch), [branch, branchSelected]);
- 
-  return (
-    <DropdownMenu.RadioItem
-      disabled={disabled}
-      data-testid={`branch-switch-menu-radio-element-${branch}`}
-      value={branch}
-      onSelect={onSelect}
-      css={{ position: 'relative' }}
-    >
-      <DropdownMenu.ItemIndicator>
-        <Check data-testid="branch-switch-menu-check-icon" />
-      </DropdownMenu.ItemIndicator>
-      {branch}
-    </DropdownMenu.RadioItem>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html deleted file mode 100644 index 2b43437d4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/BrokenReferenceIndicator.tsx.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/app/components/BrokenReferenceIndicator.tsx - - - - - - - - - -
-
-

All files / src/app/components BrokenReferenceIndicator.tsx

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { SingleToken } from '@/types/tokens';
-import { TokensContext } from '@/context';
-import StyledBrokenReferenceIndicator from './StyledBrokenReferenceIndicator';
- 
-type Props = {
-  token: SingleToken;
-};
- 
-export default function BrokenReferenceIndicator({ token }: Props) {
-  const tokensContext = React.useContext(TokensContext);
- 
-  const failedToResolve = React.useMemo(() => (
-    tokensContext.resolvedTokens.find((t) => t.name === token.name)?.failedToResolve
-  ), [token, tokensContext.resolvedTokens]);
- 
-  if (failedToResolve) {
-    return (
-      <StyledBrokenReferenceIndicator />
-    );
-  }
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html deleted file mode 100644 index c60e5e37a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Callout.tsx.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for src/app/components/Callout.tsx - - - - - - - - - -
-
-

All files / src/app/components Callout.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
-import { Box, Button, Heading } from '@tokens-studio/ui';
-import Stack from './Stack';
-import Text from './Text';
- 
-type Props = {
-  id: string
-  heading: React.ReactNode
-  description: React.ReactNode
-  action: {
-    text: React.ReactNode
-    onClick: React.ComponentProps<typeof Button>['onClick']
-  }
-};
- 
-export default function Callout({
-  heading, description, action, id,
-}: Props) {
-  return (
-    <Box css={{
-      backgroundColor: '$dangerBg', border: '1px solid', borderColor: '$dangerBorder', padding: '$5', borderRadius: '$small',
-    }}
-    >
-      <Stack direction="row" gap={4}>
-        <Box css={{ color: '$dangerFg', marginTop: '$3' }}>
-          <ExclamationTriangleIcon />
-        </Box>
-        <Stack direction="column" gap={4}>
-          <Stack align="start" direction="column" gap={2}>
-            <Heading>{heading}</Heading>
-            <Text muted size="xsmall">{description}</Text>
-          </Stack>
-          <Box>
-            <Button data-testid={id} size="small" variant="primary" onClick={action.onClick}>
-              {action.text}
-            </Button>
-          </Box>
-        </Stack>
-      </Stack>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html deleted file mode 100644 index 7334eea32..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangeStateListingHeading.tsx.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - Code coverage report for src/app/components/ChangeStateListingHeading.tsx - - - - - - - - - -
-
-

All files / src/app/components ChangeStateListingHeading.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Heading } from '@tokens-studio/ui';
-import {
-  IconCollapseArrow, IconExpandArrow,
-} from '@/icons';
-import Box from './Box';
-import Stack from './Stack';
-import { Count } from './Count';
-import { styled } from '@/stitches.config';
- 
-type Props = {
-  isCollapsed: boolean;
-  count?: number;
-  label: string;
-  set: string;
-  onCollapse: (e: React.MouseEvent<HTMLButtonElement>, key: string) => void;
-};
- 
-const StyledChangedStateGroupHeadingButton = styled('button', {
-  display: 'flex',
-  alignItems: 'center',
-  width: '100%',
-  height: '100%',
-  padding: '$2',
-  gap: '$2',
-  '&:hover, &:focus': {
-    backgroundColor: '$bgSubtle',
-    outline: 'none',
-  },
-  variants: {
-    isCollapsed: {
-      true: {
-        opacity: 0.5,
-      },
-    },
-  },
-});
- 
-export default function ChangeStateListingHeading({
-  isCollapsed,
-  count,
-  label,
-  set,
-  onCollapse,
-}: Props) {
-  const handleCollapse = React.useCallback((e: React.MouseEvent<HTMLButtonElement>) => {
-    onCollapse(e, label);
-  }, [onCollapse, label]);
- 
-  return (
-    <Stack direction="row" align="center" justify="between" gap={4} css={{ position: 'relative' }}>
-      <StyledChangedStateGroupHeadingButton
-        isCollapsed={isCollapsed}
-        type="button"
-        onClick={handleCollapse}
-        data-testid={`changestatelisting-${set}-collapse-button`}
-      >
-        <Box css={{ padding: '$2' }}>{isCollapsed ? <IconCollapseArrow /> : <IconExpandArrow />}</Box>
-        <Heading size="medium">{label}</Heading>
-        {count && <Count count={count} />}
-      </StyledChangedStateGroupHeadingButton>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html deleted file mode 100644 index 6f3567b05..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedStateList.tsx.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - Code coverage report for src/app/components/ChangedStateList.tsx - - - - - - - - - -
-
-

All files / src/app/components ChangedStateList.tsx

-
- -
- 0% - Statements - 0/21 -
- - -
- 0% - Branches - 0/29 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { Box, Stack, Text } from '@tokens-studio/ui';
-import ChangeStateListingHeading from './ChangeStateListingHeading';
-import ChangedTokenItem from './ChangedTokenItem';
-import { StyledDiff } from './StyledDiff';
-import { useChangedState } from '@/hooks/useChangedState';
- 
-function ChangedStateList({ type }: { type: 'push' | 'pull' }) {
-  const { changedPullState, changedPushState } = useChangedState();
-  const [collapsed, setCollapsed] = React.useState(false);
-  const { t } = useTranslation(['tokens']);
-  const [collapsedChangedStateList, setCollapsedChangedStateList] = React.useState<Array<string>>([]);
- 
-  const changedState = type === 'push' ? changedPushState : changedPullState;
- 
-  const handleSetIntCollapsed = React.useCallback((e: React.MouseEvent<HTMLButtonElement>, tokenSet: string) => {
-    e.stopPropagation();
-    if (e.altKey) {
-      if (collapsed) {
-        setCollapsedChangedStateList([]);
-      } else {
-        const collapsedStateSetList = [...Object.keys(changedState.tokens), '$themes', '$metadata'];
-        setCollapsedChangedStateList(collapsedStateSetList);
-      }
-      setCollapsed(!collapsed);
-    } else if (collapsedChangedStateList.includes(tokenSet)) {
-      setCollapsedChangedStateList(collapsedChangedStateList.filter((item) => item !== tokenSet));
-    } else {
-      setCollapsedChangedStateList([...collapsedChangedStateList, tokenSet]);
-    }
-  }, [collapsedChangedStateList, changedState.tokens, collapsed]);
- 
-  return (
-    <Stack direction="column" gap={1} css={{ padding: '$4', width: '100%' }}>
-      {Object.entries(changedState.tokens).length > 0 && Object.entries(changedState.tokens)?.map(([tokenSet, tokenList]) => (
-        <Box key={tokenSet} css={{ maxWidth: '100%' }}>
-          <ChangeStateListingHeading count={tokenList.length} onCollapse={handleSetIntCollapsed} set={tokenSet} label={tokenSet} isCollapsed={collapsedChangedStateList.includes(tokenSet)} />
-          {!collapsedChangedStateList.includes(tokenSet) && tokenList && (
-            tokenList.map((token) => (
-              <ChangedTokenItem key={token.name} token={token} />
-            ))
-          )}
-        </Box>
-      ))}
-      {
-        changedState.themes.length > 0 && (
-          <>
-            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$themes" label="$themes" isCollapsed={collapsedChangedStateList.includes('$themes')} />
-            {!collapsedChangedStateList.includes('$themes') && (
-              changedState.themes.map((theme) => (
-                <Stack
-                  direction="row"
-                  justify="between"
-                  align="center"
-                  gap={3}
-                  css={{ padding: '$1 $4' }}
-                  key={theme.id}
-                >
-                  <Text bold size="small">{theme.name}</Text>
-                  {
-                    theme.importType === 'REMOVE' && (
-                    <StyledDiff type="danger">
-                      {t('configurationRemoved')}
-                    </StyledDiff>
-                    )
-                  }
-                  {
-                    (theme.importType === 'NEW' || theme.importType === 'UPDATE') && (
-                    <StyledDiff type="success">
-                      {theme.importType === 'NEW' ? t('configuration-added') : t('configurationChanged') }
-                    </StyledDiff>
-                    )
-                  }
-                </Stack>
-              ))
-            )}
-          </>
-        )
-      }
-      {
-        (changedState.metadata?.tokenSetOrder && Object.entries(changedState.metadata.tokenSetOrder).length > 0) && (
-          <>
-            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$metadata" label="$metadata" isCollapsed={collapsedChangedStateList.includes('$metadata')} />
-            {!collapsedChangedStateList.includes('$metadata') && (
-              <Stack
-                direction="row"
-                justify="end"
-                align="end"
-                css={{ padding: '$1 $4' }}
-              >
-                <StyledDiff type="danger">
-                  {t('configurationChanged')}
-                </StyledDiff>
-              </Stack>
-            )}
-          </>
-        )
-      }
-    </Stack>
-  );
-}
- 
-export default ChangedStateList;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html deleted file mode 100644 index b736bc7ef..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ChangedTokenItem.tsx.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - Code coverage report for src/app/components/ChangedTokenItem.tsx - - - - - - - - - -
-
-

All files / src/app/components ChangedTokenItem.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/21 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import Stack from './Stack';
-import Text from './Text';
-import { ImportToken } from '@/types/tokens';
-import { StyledDiff } from './StyledDiff';
- 
-export default function ChangedTokenItem({
-  token,
-}: {
-  token: ImportToken;
-}) {
-  const { t } = useTranslation(['general']);
- 
-  return (
-    <Stack direction="row" justify="between" css={{ padding: '$2 0' }}>
-      <Stack direction={token.importType === 'REMOVE' ? 'row' : 'column'} gap={1} justify="between" css={{ width: '100%' }}>
-        <Text bold size="small" css={{ wordBreak: 'break-word' }}>{token.name}</Text>
-        {
-          ((token.importType === 'UPDATE' && token.oldValue) || token.importType === 'NEW') && (
-            <Stack direction="row" align="center" justify="between" gap={3}>
-              <Text size="small">{t('value')}</Text>
-              <Stack direction="row" align="center" gap={1} css={{ maxWidth: '60%' }}>
-                {token.oldValue ? (
-                  <StyledDiff type="danger">
-                    {typeof token.oldValue === 'object' ? JSON.stringify(token.oldValue) : token.oldValue}
-                  </StyledDiff>
-                ) : null}
-                <StyledDiff type="success">
-                  {typeof token.value === 'object' ? JSON.stringify(token.value) : token.value}
-                </StyledDiff>
-              </Stack>
-            </Stack>
-          )
-        }
-        {((token.importType === 'UPDATE' && token.oldDescription) || (token.importType === 'NEW' && token.description)) && (
-        <Stack direction="row" align="start" justify="between" gap={1}>
-          <Text size="small">{t('description')}</Text>
-          <Stack direction="column" align="end" gap={1} css={{ maxWidth: '60%' }}>
-            {token.oldDescription ? (
-              <StyledDiff type="danger">
-                {token.oldDescription}
-              </StyledDiff>
-            ) : null}
-            <StyledDiff type="success">
-              {token.description}
-            </StyledDiff>
-          </Stack>
-        </Stack>
-        )}
-        {
-          token.importType === 'REMOVE' && (
-            <StyledDiff type="danger">
-              {t('removed')}
-            </StyledDiff>
-          )
-        }
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html deleted file mode 100644 index e09486ab8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Changelog.tsx.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for src/app/components/Changelog.tsx - - - - - - - - - -
-
-

All files / src/app/components Changelog.tsx

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { Button, Heading } from '@tokens-studio/ui';
-import Text from './Text';
-import Modal from './Modal';
-import { changelogSelector } from '@/selectors';
-import Stack from './Stack';
-import { styled } from '@/stitches.config';
- 
-const StyledReadMoreLink = styled('a', {
-  color: '$accentDefault',
-  fontSize: '$xsmall',
-});
- 
-const StyledImage = styled('img', {
-  marginBottom: '$4',
-  borderRadius: '$medium',
-});
- 
-export default function Changelog() {
-  const [changelogOpen, setChangelogOpen] = React.useState(true);
-  const changelog = useSelector(changelogSelector);
-  const { t } = useTranslation(['general']);
- 
-  const [activeIndex, setIndex] = React.useState(0);
- 
-  const handleNext = React.useCallback(() => {
-    setIndex(activeIndex + 1);
-  }, [activeIndex]);
- 
-  const handlePrev = React.useCallback(() => {
-    setIndex(activeIndex - 1);
-  }, [activeIndex]);
- 
-  const handleClose = React.useCallback(() => {
-    setChangelogOpen(false);
-  }, []);
- 
-  return (
-    <Modal title={t('changelog')} showClose isOpen={changelog.length > 0 && changelogOpen} close={handleClose}>
-      <Stack direction="column" gap={4}>
-        <div>
-          {changelog.map((item, index) => (
-            <Stack
-              // eslint-disable-next-line no-underscore-dangle
-              key={item._uid}
-              direction="column"
-              gap={2}
-              align="start"
-              css={{ display: index === activeIndex ? 'flex' : 'none' }}
-            >
-              {item.image && <StyledImage src={item.image.filename} alt={item.image.alt} />}
-              <Heading>{item.title}</Heading>
-              <Text size="small">{item.excerpt}</Text>
-              {item.read_more_link && (
-                <StyledReadMoreLink
-                  target="_blank"
-                  rel="noreferrer"
-                  href={item.read_more_link}
-                >
-                  {item.read_more_text ? item.read_more_text : t('readMore')}
-                </StyledReadMoreLink>
-              )}
-            </Stack>
-          ))}
-        </div>
-        <Stack direction="row" gap={2} justify="between">
-          <Button data-testid="button-changelog-close" onClick={handleClose} variant="secondary">
-            {t('close')}
-          </Button>
-          <Stack direction="row" justify="between" gap={2}>
-            {activeIndex !== 0 && (
-              <Button data-testid="button-changelog-prev" onClick={handlePrev} variant="secondary">
-                {t('previous')}
-              </Button>
-            )}
-            {changelog.length > activeIndex + 1 && (
-              <Button data-testid="button-changelog-next" variant="primary" onClick={handleNext}>
-                {t('next')}
-              </Button>
-            )}
-          </Stack>
-        </Stack>
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html deleted file mode 100644 index a25e561ba..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/ColorPicker.tsx.html +++ /dev/null @@ -1,751 +0,0 @@ - - - - - - Code coverage report for src/app/components/ColorPicker/ColorPicker.tsx - - - - - - - - - -
-
-

All files / src/app/components/ColorPicker ColorPicker.tsx

-
- -
- 0% - Statements - 0/64 -
- - -
- 0% - Branches - 0/49 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/64 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { RgbaColorPicker, RgbaColor } from 'react-colorful';
-import { parseToRgb, parseToHsl, toColorString } from 'polished';
-import { Button } from '@tokens-studio/ui';
-import Input from '../Input';
-import Stack from '../Stack';
- 
-enum InputMode {
-  RGBA = 'rgba',
-  HSLA = 'hsla',
-}
- 
-type Rgba = {
-  r: number;
-  g: number;
-  b: number;
-  a: number;
-};
- 
-type Hsla = {
-  h: number;
-  s: number;
-  l: number;
-  a: number;
-};
- 
-type Props = {
-  value?: string;
-  onChange: (color: string) => void;
-};
- 
-const DEFAULT_RGBA = Object.freeze({
-  r: 0, g: 0, b: 0, a: 1,
-});
-const DEFAULT_HSLA = Object.freeze({
-  h: 0, s: 0, l: 0, a: 1,
-});
-const PROPS: Omit<React.ComponentProps<typeof Input>, 'name'> = {
-  full: true,
-  type: 'number',
-};
- 
-const roundTo = (input: number, precision: number) => {
-  const factor = 10 ** precision;
-  return Math.round((input + Number.EPSILON) * factor) / factor;
-};
- 
-const hexToRgbaColor = (value: string) => {
-  try {
-    const parsed = parseToRgb(value || '#000000');
-    return {
-      r: Math.round(parsed.red),
-      g: Math.round(parsed.green),
-      b: Math.round(parsed.blue),
-      a: 'alpha' in parsed ? roundTo(parsed.alpha, 2) : 1,
-    };
-  } catch (err) {
-    console.error(err);
-    return { ...DEFAULT_RGBA };
-  }
-};
- 
-const hexToHslaColor = (value: string) => {
-  try {
-    const parsed = parseToHsl(value || '#000000');
-    return {
-      h: Math.round(parsed.hue),
-      s: Math.round(parsed.saturation * 100),
-      l: Math.round(parsed.lightness * 100),
-      a: 'alpha' in parsed ? roundTo(parsed.alpha, 2) : 1,
-    };
-  } catch (err) {
-    console.error(err);
-    return { ...DEFAULT_HSLA };
-  }
-};
- 
-const ColorPicker: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value = '#000000', onChange }) => {
-  const [inputMode, setInputMode] = React.useState(InputMode.RGBA);
-  const [internalValue, setInternalValue] = React.useState(value);
-  const [rgba, setRgba] = React.useState<Rgba>(hexToRgbaColor(value));
-  const [hsla, setHsla] = React.useState<Hsla>(hexToHslaColor(value));
- 
-  const handlePickerChange = React.useCallback(
-    (inputValue: RgbaColor) => {
-      const hex = toColorString({
-        red: inputValue.r,
-        green: inputValue.g,
-        blue: inputValue.b,
-        alpha: inputValue.a,
-      });
-      setHsla(hexToHslaColor(hex));
-      setRgba(hexToRgbaColor(hex));
-      setInternalValue(hex);
-      onChange(hex);
-    },
-    [onChange],
-  );
- 
-  const handleColorPartValueChange = React.useCallback(
-    (part: keyof typeof rgba | keyof typeof hsla, val: number) => {
-      if (part === 'r' || part === 'g' || part === 'b' || (part === 'a' && inputMode === InputMode.RGBA)) {
-        const hex = toColorString({
-          red: part === 'r' ? val : rgba.r,
-          green: part === 'g' ? val : rgba.g,
-          blue: part === 'b' ? val : rgba.b,
-          alpha: part === 'a' ? val : rgba.a,
-        });
-        setRgba({ ...rgba, [part]: val });
-        setHsla(hexToHslaColor(hex));
-        setInternalValue(hex);
-        onChange(hex);
-      } else if (part === 'h' || part === 's' || part === 'l' || (part === 'a' && inputMode === InputMode.HSLA)) {
-        const hex = toColorString({
-          hue: part === 'h' ? val : hsla.h,
-          saturation: (part === 's' ? val : hsla.s) / 100,
-          lightness: (part === 'l' ? val : hsla.l) / 100,
-          alpha: part === 'a' ? val : hsla.a,
-        });
-        setHsla({ ...hsla, [part]: val });
-        setRgba(hexToRgbaColor(hex));
-        setInternalValue(hex);
-        onChange(hex);
-      }
-    },
-    [rgba, hsla, inputMode, onChange],
-  );
- 
-  const handleRedChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('r', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleGreenChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('g', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleBlueChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('b', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleHueChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('h', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleSaturationChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('s', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleLightnessChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('l', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleAlphaChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => handleColorPartValueChange('a', event.currentTarget.valueAsNumber),
-    [handleColorPartValueChange],
-  );
- 
-  const handleInputModeToggle = React.useCallback(() => {
-    setInputMode(inputMode === InputMode.RGBA ? InputMode.HSLA : InputMode.RGBA);
-  }, [inputMode]);
- 
-  React.useEffect(() => {
-    if (value !== internalValue) {
-      setInternalValue(value);
-      setRgba(hexToRgbaColor(value));
-      setHsla(hexToHslaColor(value));
-    }
-  }, [value, internalValue]);
- 
-  return (
-    <Stack direction="column" gap={1} css={{ marginTop: '$2' }}>
-      <div className="color-picker">
-        <RgbaColorPicker color={rgba} onChange={handlePickerChange} />
-      </div>
-      <Stack direction="row" gap={1}>
-        {inputMode === InputMode.RGBA && (
-        <Stack direction="row" gap={1}>
-          <Input {...PROPS} min={0} max={255} name="r" value={rgba.r} onChange={handleRedChange} />
-          <Input {...PROPS} min={0} max={255} name="g" value={rgba.g} onChange={handleGreenChange} />
-          <Input {...PROPS} min={0} max={255} name="b" value={rgba.b} onChange={handleBlueChange} />
-          <Input
-            {...PROPS}
-            min={0}
-            max={1}
-            step="0.01"
-            name="a"
-            value={rgba.a}
-            onChange={handleAlphaChange}
-          />
-        </Stack>
-        )}
-        {inputMode === InputMode.HSLA && (
-        <Stack direction="row" gap={1}>
-          <Input {...PROPS} min={0} max={360} name="h" value={hsla.h} onChange={handleHueChange} />
-          <Input {...PROPS} min={0} max={100} name="s" value={hsla.s} onChange={handleSaturationChange} />
-          <Input {...PROPS} min={0} max={100} name="l" value={hsla.l} onChange={handleLightnessChange} />
-          <Input
-            {...PROPS}
-            step="0.01"
-            min={0}
-            max={1}
-            name="a"
-            value={hsla.a}
-            onChange={handleAlphaChange}
-          />
-        </Stack>
-        )}
-        <Button variant="secondary" size="small" onClick={handleInputModeToggle}>
-          {inputMode === InputMode.RGBA ? 'RGB(A)' : 'HSL(A)'}
-        </Button>
-      </Stack>
-    </Stack>
-  );
-};
- 
-export default ColorPicker;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html deleted file mode 100644 index d7ef518a8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/ColorPicker - - - - - - - - - -
-
-

All files src/app/components/ColorPicker

-
- -
- 0% - Statements - 0/64 -
- - -
- 0% - Branches - 0/49 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/64 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ColorPicker.tsx -
-
0%0/640%0/490%0/150%0/64
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html deleted file mode 100644 index ed11c60cc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPicker/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/components/ColorPicker/index.ts - - - - - - - - - -
-
-

All files / src/app/components/ColorPicker index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
// eslint-disable-next-line
-export { default } from './ColorPicker';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html deleted file mode 100644 index bfe30f82e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorPickerTrigger.tsx.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/app/components/ColorPickerTrigger.tsx - - - - - - - - - -
-
-

All files / src/app/components ColorPickerTrigger.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { styled } from '@/stitches.config';
- 
-const TriggerButton = styled('button', {
-  width: '$5',
-  height: '$5',
-  borderRadius: '$small',
-  border: '1px solid $borderMuted',
-  cursor: 'pointer',
-  fontSize: 0,
-});
- 
-type Props = {
-  onClick?: () => void;
-  background: string | undefined;
-};
- 
-export const ColorPickerTrigger: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  onClick, background,
-}) => (
-  <TriggerButton
-    type="button"
-    css={{ background }}
-    onClick={onClick}
-  />
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html deleted file mode 100644 index 7d2466592..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ColorTokenForm.tsx.html +++ /dev/null @@ -1,1045 +0,0 @@ - - - - - - Code coverage report for src/app/components/ColorTokenForm.tsx - - - - - - - - - -
-
-

All files / src/app/components ColorTokenForm.tsx

-
- -
- 0% - Statements - 0/77 -
- - -
- 0% - Branches - 0/74 -
- - -
- 0% - Functions - 0/21 -
- - -
- 0% - Lines - 0/75 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useUIDSeed } from 'react-uid';
-import { useTranslation } from 'react-i18next';
-import {
-  IconButton, Heading, Select,
-} from '@tokens-studio/ui';
-import IconPlus from '@/icons/plus.svg';
-import IconMinus from '@/icons/minus.svg';
-import { EditTokenObject } from '@/types/tokens';
-import Box from './Box';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import DownshiftInput from './DownshiftInput';
-import ColorPicker from './ColorPicker';
-import { checkIfContainsAlias, getAliasValue } from '@/utils/alias';
-import { getLabelForProperty } from '@/utils/getLabelForProperty';
-import { ColorModifier, MixModifier } from '@/types/Modifier';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
-import { modifyColor } from '@/utils/modifyColor';
-import { convertModifiedColorToHex } from '@/utils/convertModifiedColorToHex';
-import { ColorPickerTrigger } from './ColorPickerTrigger';
-import ProBadge from './ProBadge';
-import { useIsProUser } from '../hooks/useIsProUser';
- 
-const defaultValue = '0';
- 
-export default function ColorTokenForm({
-  internalEditToken,
-  resolvedTokens,
-  resolvedValue,
-  handleColorChange,
-  handleColorDownShiftInputChange,
-  handleColorModifyChange,
-  handleRemoveColorModify,
-  onSubmit,
-}: {
-  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.COLOR }>;
-  resolvedTokens: ResolveTokenValuesResult[];
-  resolvedValue: ReturnType<typeof getAliasValue>
-  handleColorChange: (property: string, value: string) => void;
-  handleColorDownShiftInputChange: (newInputValue: string) => void;
-  handleColorModifyChange: (newModify: ColorModifier) => void;
-  handleRemoveColorModify: () => void;
-  onSubmit: () => void
-}) {
-  const seed = useUIDSeed();
-  const { t } = useTranslation(['tokens']);
-  const [inputHelperOpen, setInputHelperOpen] = React.useState(false);
-  const [inputMixHelperOpen, setInputMixHelperOpen] = React.useState(false);
-  const [modifyVisible, setModifyVisible] = React.useState(false);
-  const isProUser = useIsProUser();
- 
-  React.useEffect(() => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      setModifyVisible(true);
-    }
-  }, [internalEditToken]);
- 
-  const resolvedMixValue = React.useMemo(() => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX && internalEditToken?.$extensions?.['studio.tokens']?.modify?.color) {
-      return typeof internalEditToken?.$extensions?.['studio.tokens']?.modify?.color === 'string'
-        ? getAliasValue(internalEditToken?.$extensions?.['studio.tokens']?.modify?.color, resolvedTokens)
-        : null;
-    }
-    return null;
-  }, [internalEditToken, resolvedTokens]);
- 
-  const resolvedModifyAmountValue = React.useMemo(() => (internalEditToken?.$extensions?.['studio.tokens']?.modify?.value
-    ? getAliasValue(internalEditToken?.$extensions?.['studio.tokens']?.modify?.value, resolvedTokens)
-    : null), [internalEditToken, resolvedTokens]);
- 
-  const modifiedColor = useMemo(() => {
-    try {
-      if (resolvedValue) {
-        if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-          const modifierType = internalEditToken?.$extensions?.['studio.tokens']?.modify?.type;
-          if (modifierType === ColorModifierTypes.LIGHTEN || modifierType === ColorModifierTypes.DARKEN || modifierType === ColorModifierTypes.ALPHA) {
-            return modifyColor(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue) });
-          }
-          if (modifierType === ColorModifierTypes.MIX && resolvedMixValue) {
-            return modifyColor(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue), color: String(resolvedMixValue) });
-          }
-          return resolvedValue;
-        }
-        return resolvedValue;
-      }
-      return null;
-    } catch (e) {
-      console.error(e);
-      return null;
-    }
-  }, [internalEditToken, resolvedValue, resolvedMixValue, resolvedModifyAmountValue]);
- 
-  const displayColor = useMemo(() => {
-    if (resolvedValue) {
-      if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-        const modifierType = internalEditToken?.$extensions?.['studio.tokens']?.modify?.type;
-        if (modifierType === ColorModifierTypes.LIGHTEN || modifierType === ColorModifierTypes.DARKEN || modifierType === ColorModifierTypes.ALPHA) {
-          return convertModifiedColorToHex(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue) });
-        }
-        if (modifierType === ColorModifierTypes.MIX && resolvedMixValue) {
-          return convertModifiedColorToHex(String(resolvedValue), { ...internalEditToken?.$extensions?.['studio.tokens']?.modify, value: String(resolvedModifyAmountValue), color: String(resolvedMixValue) });
-        }
-        return resolvedValue;
-      }
-      return resolvedValue;
-    }
-    return null;
-  }, [internalEditToken, resolvedValue, resolvedMixValue, resolvedModifyAmountValue]);
- 
-  const handleToggleInputHelper = useCallback(() => {
-    setInputHelperOpen(!inputHelperOpen);
-  }, [inputHelperOpen]);
- 
-  const handleToggleMixInputHelper = useCallback(() => {
-    setInputMixHelperOpen(!inputMixHelperOpen);
-  }, [inputMixHelperOpen]);
- 
-  const handleColorValueChange = useCallback((color: string) => {
-    handleColorDownShiftInputChange(color);
-  }, [handleColorDownShiftInputChange]);
- 
-  const handleModifyChange = React.useCallback((newModify: ColorModifier) => {
-    handleColorModifyChange(newModify);
-  }, [handleColorModifyChange]);
- 
-  const addModify = useCallback(() => {
-    handleModifyChange({
-      type: ColorModifierTypes.LIGHTEN,
-      value: defaultValue,
-      space: ColorSpaceTypes.LCH,
-    });
-  }, [handleModifyChange]);
- 
-  const removeModify = useCallback(() => {
-    setModifyVisible(false);
-    handleRemoveColorModify();
-  }, [handleRemoveColorModify]);
- 
-  const onOperationSelected = useCallback((operation: string) => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      handleModifyChange({
-        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
-        type: operation,
-      } as ColorModifier);
-    }
-  }, [internalEditToken, handleModifyChange]);
- 
-  const onColorSpaceSelected = useCallback((colorSpace: string) => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      handleModifyChange({
-        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
-        space: colorSpace,
-      } as ColorModifier);
-    }
-  }, [internalEditToken, handleModifyChange]);
- 
-  const handleModifyValueChange = useCallback((property: string, value: string) => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      handleModifyChange({
-        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
-        value: value.replace(',', '.'),
-      });
-    }
-  }, [internalEditToken, handleModifyChange]);
- 
-  const handleModifyValueDownShiftInputChange = useCallback((newModifyValue: string) => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      handleModifyChange({
-        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
-        value: newModifyValue,
-      });
-    }
-  }, [internalEditToken, handleModifyChange]);
- 
-  const handleMixColorChange = useCallback((mixColor: string) => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      handleModifyChange({
-        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
-        color: mixColor,
-      } as MixModifier);
-    }
-  }, [internalEditToken, handleModifyChange]);
- 
-  const handleMixColorInputChange = useCallback((property: string, value: string) => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify) {
-      handleModifyChange({
-        ...internalEditToken?.$extensions?.['studio.tokens']?.modify,
-        color: value,
-      } as MixModifier);
-    }
-  }, [internalEditToken, handleModifyChange]);
- 
-  const getLabel = React.useMemo(() => getLabelForProperty(internalEditToken?.$extensions?.['studio.tokens']?.modify?.type || `${t('tokens.amount')}`), [internalEditToken]);
- 
-  return (
-    <>
-      <DownshiftInput
-        value={internalEditToken.value}
-        type={TokenTypes.COLOR}
-        label={internalEditToken.schema?.property}
-        resolvedTokens={resolvedTokens}
-        initialName={internalEditToken.initialName}
-        handleChange={handleColorChange}
-        setInputValue={handleColorDownShiftInputChange}
-        placeholder="#000000, hsla(), rgba() or {alias}"
-        prefix={(
-          <ColorPickerTrigger onClick={handleToggleInputHelper} background={String(resolvedValue)} />
-        )}
-        suffix
-        onSubmit={onSubmit}
-      />
-      {inputHelperOpen && (
-        <ColorPicker value={internalEditToken.value} onChange={handleColorValueChange} />
-      )}
-      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
-        <Box css={{ display: 'flex', gap: '$3', alignItems: 'center' }}>
-          <Heading size="small">{t('modify')}</Heading>
-          <ProBadge campaign="modify-color" compact />
-        </Box>
-        {
-          !modifyVisible ? (
-            <IconButton
-              tooltip={t('addNewModifier')}
-              data-testid="button-add-new-modify"
-              onClick={addModify}
-              disabled={!isProUser}
-              icon={<IconPlus />}
-              variant="invisible"
-            />
-          ) : (
-            <IconButton
-              tooltip={t('removeModifier')}
-              data-testid="button-remove=modify"
-              onClick={removeModify}
-              disabled={!isProUser}
-              icon={<IconMinus />}
-              variant="invisible"
-            />
-          )
-        }
-      </Box>
-      {
-        modifyVisible && isProUser && (
-          <>
-            <Box css={{
-              display: 'flex',
-              justifyContent: 'space-between',
-              alignItems: 'center',
-              gap: '$3',
-              '& > .relative ': {
-                flex: '2',
-              },
-            }}
-            >
-              <Select data-testid="colortokenform-operation-selector" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.type || 'Choose an operation'} onValueChange={onOperationSelected}>
-                <Select.Trigger data-testid="colortokenform-operation-button" label="Operation" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.type || 'Choose an operation'} />
-                <Select.Content>
-                  {Object.values(ColorModifierTypes).map((operation, index) => <Select.Item key={`operation-${seed(index)}`} value={operation}>{operation}</Select.Item>)}
-                </Select.Content>
-              </Select>
-              <Select data-testid="colortokenform-colorspace-selector" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.space || 'Choose a color space'} onValueChange={onColorSpaceSelected}>
-                <Select.Trigger css={{ flexGrow: 1 }} label="Space" value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.space || 'Choose a color space'} />
-                <Select.Content>
-                  {Object.values(ColorSpaceTypes).map((colorSpace, index) => <Select.Item key={`colorspace-${seed(index)}`} value={colorSpace}>{colorSpace}</Select.Item>)}
-                </Select.Content>
-              </Select>
-            </Box>
-            {
-              internalEditToken?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX && (
-                <>
-                  <DownshiftInput
-                    value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.color}
-                    type={TokenTypes.COLOR}
-                    resolvedTokens={resolvedTokens}
-                    handleChange={handleMixColorInputChange}
-                    setInputValue={handleMixColorChange}
-                    placeholder="#000000, hsla(), rgba() or {alias}"
-                    prefix={(
-                      <ColorPickerTrigger onClick={handleToggleMixInputHelper} background={String(resolvedMixValue)} />
-                    )}
-                    suffix
-                    onSubmit={onSubmit}
-                  />
-                  {inputMixHelperOpen && (
-                    <ColorPicker value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.color} onChange={handleMixColorChange} />
-                  )}
-                </>
-              )
-            }
-            <DownshiftInput
-              value={internalEditToken?.$extensions?.['studio.tokens']?.modify?.value}
-              type={TokenTypes.OTHER}
-              resolvedTokens={resolvedTokens}
-              handleChange={handleModifyValueChange}
-              setInputValue={handleModifyValueDownShiftInputChange}
-              placeholder={t('value0to1OrAlias')}
-              suffix
-              label={getLabel}
-              inlineLabel
-              onSubmit={onSubmit}
-            />
-          </>
-        )
-      }
-      {(checkIfContainsAlias(internalEditToken.value) || internalEditToken?.$extensions?.['studio.tokens']?.modify) && (
-        <Box css={{
-          display: 'flex', gap: '$3', background: '$bgSubtle', color: '$fgMuted', padding: '$3', borderRadius: '$2',
-        }}
-        >
-          {internalEditToken.type === 'color' ? (
-            <ColorPickerTrigger background={String(displayColor)} />
-          ) : null}
-          {String(modifiedColor)}
-        </Box>
-      )}
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html deleted file mode 100644 index cc0777064..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/CompositionTokenForm.tsx.html +++ /dev/null @@ -1,532 +0,0 @@ - - - - - - Code coverage report for src/app/components/CompositionTokenForm.tsx - - - - - - - - - -
-
-

All files / src/app/components CompositionTokenForm.tsx

-
- -
- 0% - Statements - 0/41 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/39 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useUIDSeed } from 'react-uid';
-import { useTranslation } from 'react-i18next';
-import { IconButton, Heading } from '@tokens-studio/ui';
-import IconPlus from '@/icons/plus.svg';
-import { Properties } from '@/constants/Properties';
-import { EditTokenObject } from '@/types/tokens';
-import Box from './Box';
-import SingleCompositionTokenForm from './SingleCompositionTokenForm';
-import { CompositionTokenProperty } from '@/types/CompositionTokenProperty';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { filterValidCompositionTokenTypes } from '@/utils/filterValidCompositionTokenTypes';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { ReorderGroup } from '@/motion/ReorderGroup';
-import { SingleCompositionTokenContent } from './SingleCompositionTokenContent';
-import { DragItem } from './StyledDragger/DragItem';
- 
-export default function CompositionTokenForm({
-  internalEditToken,
-  setTokenValue,
-  resolvedTokens,
-  onSubmit,
-}: {
-  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.COMPOSITION }>;
-  setTokenValue: (newTokenValue: NodeTokenRefMap) => void;
-  resolvedTokens: ResolveTokenValuesResult[];
-  onSubmit: () => void
-}) {
-  const seed = useUIDSeed();
-  const [orderObj, setOrderObj] = React.useState<NodeTokenRefMap>({});
-  const [error, setError] = React.useState(false);
-  const { t } = useTranslation(['tokens']);
- 
-  const propertiesMenu = React.useMemo(() => (
-    filterValidCompositionTokenTypes(Object.keys(Properties)).map((key: string) => (
-      String(Properties[key as CompositionTokenProperty])
-    ))
-  ), []);
- 
-  React.useEffect(() => {
-    const defaultOrderObj: NodeTokenRefMap = {};
-    Object.keys(internalEditToken.value || internalEditToken.schema.schemas.value.properties).forEach((key, index) => {
-      defaultOrderObj[key as CompositionTokenProperty] = String(index);
-    });
-    setOrderObj(defaultOrderObj);
-  }, []);
- 
-  // keep order of the properties in composition token
-  const arrangedTokenValue = React.useMemo<NodeTokenRefMap>(() => {
-    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
-    return Object.assign({}, ...Object.keys(internalEditTokenValue).sort((a, b) => Number(orderObj[a as CompositionTokenProperty]) - Number(orderObj[b as CompositionTokenProperty]))
-      .map((x) => ({ [x as CompositionTokenProperty]: internalEditTokenValue[x as CompositionTokenProperty] })));
-  }, [internalEditToken, orderObj]);
- 
-  const addToken = useCallback(() => {
-    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
-    if (internalEditTokenValue.hasOwnProperty('') || Object.keys(internalEditTokenValue).length === 0) {
-      setError(true);
-    }
-    internalEditTokenValue['' as CompositionTokenProperty] = '';
-    setTokenValue(internalEditTokenValue as NodeTokenRefMap);
-  }, [internalEditToken]);
- 
-  const removeToken = useCallback((property: string) => {
-    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
-    const { [property as keyof typeof internalEditTokenValue]: removeProperty, ...newTokenValue } = internalEditTokenValue;
-    setTokenValue(newTokenValue as NodeTokenRefMap);
-  }, [internalEditToken]);
- 
-  const handleOrderObj = useCallback((newOrderObj: NodeTokenRefMap) => {
-    setOrderObj(newOrderObj);
-  }, []);
- 
-  const handleReorder = React.useCallback((reorderedItems: string[]) => {
-    const newOrderObj: NodeTokenRefMap = {};
-    const internalEditTokenValue = internalEditToken.value || internalEditToken.schema.schemas.value.properties;
-    reorderedItems.forEach((key, index) => {
-      newOrderObj[key as keyof typeof Properties] = String(index);
-    });
-    const rearrangedTokenValue = Object.assign({}, ...Object.keys(internalEditTokenValue).sort((a, b) => Number(newOrderObj[a as CompositionTokenProperty]) - Number(newOrderObj[b as CompositionTokenProperty]))
-      .map((x) => ({ [x as CompositionTokenProperty]: internalEditTokenValue[x as CompositionTokenProperty] })));
-    setOrderObj(newOrderObj);
-    setTokenValue(rearrangedTokenValue as NodeTokenRefMap);
-  }, [internalEditToken, setTokenValue]);
- 
-  return (
-    <div>
-      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
-        <Heading size="small">{t('tokens')}</Heading>
-        <IconButton
-          tooltip={error ? t('chooseAPropertyFirst') : t('addAnotherStyle')}
-          data-testid="button-style-add-multiple"
-          onClick={addToken}
-          icon={<IconPlus />}
-          disabled={error}
-          size="small"
-          variant="invisible"
-        />
-      </Box>
-      <Box css={{ display: 'flex', flexDirection: 'column', gap: '$4' }}>
-        {
-            Object.entries(arrangedTokenValue).length < 1 ? (
-              <SingleCompositionTokenForm
-                index={0}
-                property=""
-                propertyValue=""
-                tokenValue={arrangedTokenValue}
-                properties={propertiesMenu}
-                resolvedTokens={resolvedTokens}
-                setTokenValue={setTokenValue}
-                onRemove={removeToken}
-                setOrderObj={handleOrderObj}
-                setError={setError}
-                onSubmit={onSubmit}
-              />
-            ) : (
-              <ReorderGroup
-                layoutScroll
-                values={Object.keys(arrangedTokenValue)}
-                onReorder={handleReorder}
-              >
-                {
-                  Object.entries(arrangedTokenValue).map(([property, propertyValue], index) => (
-                    <DragItem<string> key={property} item={property}>
-                      <SingleCompositionTokenContent
-                        key={`single-style-${seed(index)}`}
-                        index={index}
-                        property={property}
-                        propertyValue={propertyValue}
-                        tokenValue={arrangedTokenValue}
-                        properties={propertiesMenu}
-                        resolvedTokens={resolvedTokens}
-                        setTokenValue={setTokenValue}
-                        onRemove={removeToken}
-                        setOrderObj={handleOrderObj}
-                        setError={setError}
-                        onSubmit={onSubmit}
-                      />
-                    </DragItem>
-                  ))
-                }
-              </ReorderGroup>
-            )
-          }
-      </Box>
-    </div>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html deleted file mode 100644 index afa16b29f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConfirmDialog.tsx.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - Code coverage report for src/app/components/ConfirmDialog.tsx - - - - - - - - - -
-
-

All files / src/app/components ConfirmDialog.tsx

-
- -
- 0% - Statements - 0/43 -
- - -
- 0% - Branches - 0/28 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/38 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import {
-  Button, Box, Text, Checkbox, Label, TextInput, Stack,
-} from '@tokens-studio/ui';
-import useConfirm from '../hooks/useConfirm';
-import Modal from './Modal';
- 
-const ChoiceCheckbox: React.FC<React.PropsWithChildren<React.PropsWithChildren<{
-  checked?: boolean
-  choice: { key: string; unique?: boolean; enabled?: boolean }
-  onCheckedChange: (key: string, unique?: boolean) => void
-}>>> = ({
-  checked,
-  choice,
-  onCheckedChange,
-}) => {
-  const handleCheckedChange = React.useCallback(() => {
-    onCheckedChange(choice.key, choice.unique);
-  }, [choice, onCheckedChange]);
- 
-  return (
-    <Checkbox
-      checked={!!checked}
-      defaultChecked={choice.enabled}
-      id={choice.key}
-      onCheckedChange={handleCheckedChange}
-    />
-  );
-};
- 
-function ConfirmDialog() {
-  const confirmButton = React.useRef<HTMLButtonElement | null>(null);
-  const firstInput = React.useRef<HTMLInputElement | null>(null);
-  const {
-    onConfirm, onCancel, confirmState,
-  } = useConfirm();
-  const [chosen, setChosen] = React.useState<string[]>([]);
-  const [inputValue, setInputValue] = React.useState('');
- 
-  React.useEffect(() => {
-    setInputValue('');
-  }, [confirmState.show]);
- 
-  const toggleChosen = React.useCallback(
-    (id: string, unique?: boolean) => {
-      if (unique) {
-        const index = chosen.indexOf(id);
-        if (index === -1) {
-          return setChosen([id]);
-        }
-        return setChosen(chosen.filter((item) => item !== id));
-      }
-      const index = chosen.indexOf(id);
-      if (index === -1) {
-        setChosen([...chosen, id]);
-      } else {
-        setChosen(chosen.filter((item) => item !== id));
-      }
- 
-      return () => {};
-    },
-    [chosen],
-  );
- 
-  const handleInputChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
-    setInputValue(event.target.value);
-  }, []);
- 
-  const handleConfirm = React.useCallback((event: React.FormEvent<HTMLFormElement>) => {
-    event.preventDefault();
-    if (confirmState.input) {
-      onConfirm(inputValue);
-    } else {
-      onConfirm(chosen);
-    }
-  }, [chosen, inputValue, confirmState, onConfirm]);
- 
-  React.useEffect(() => {
-    if (confirmState.choices) setChosen(confirmState.choices.filter((c) => c.enabled).map((c) => c.key));
-    if (firstInput.current) {
-      firstInput.current.focus();
-    } else if (confirmButton.current) {
-      confirmButton.current.focus();
-    }
-  }, [confirmState.show, confirmButton, confirmState.choices, firstInput]);
- 
-  const isDangerVariant = confirmState?.variant === 'danger';
- 
-  return confirmState.show ? (
-    <Modal isOpen close={onCancel} title={confirmState?.text && confirmState.text}>
-      <form id={confirmState.formId} onSubmit={handleConfirm}>
-        <Stack direction="column" justify="start" gap={4}>
-          <Stack direction="column" gap={4}>
-            {confirmState?.description && (
-              <Text muted>{confirmState.description}</Text>
-            )}
-            {confirmState?.input ? (
-              <TextInput
-                id="input"
-                type={confirmState.input.type}
-                value={inputValue}
-                onChange={handleInputChange}
-                ref={firstInput}
-                required
-              />
-            ) : null}
-            {confirmState?.choices?.length ? (
-              <Stack direction="column" align="start" gap={2}>
-                {confirmState.choices.map((choice) => (
-                  <Box
-                    css={{ display: 'flex', alignItems: 'center', flexDirection: 'row' }}
-                    key={choice.key}
-                  >
-                    <ChoiceCheckbox
-                      checked={chosen.includes(choice.key)}
-                      choice={choice}
-                      onCheckedChange={toggleChosen}
-                    />
-                    <Label css={{ paddingLeft: '$3' }} htmlFor={choice.key}>
-                      {choice.label}
-                    </Label>
-                  </Box>
-                ))}
-              </Stack>
-            ) : null}
-          </Stack>
-          <Stack direction="row" gap={3} justify={isDangerVariant ? 'between' : 'end'}>
-            <Button variant="secondary" onClick={onCancel}>
-              {confirmState?.cancelAction}
-            </Button>
-            <Button type="submit" variant={isDangerVariant ? 'danger' : 'primary'} ref={confirmButton}>
-              {confirmState?.confirmAction}
-            </Button>
-          </Stack>
-        </Stack>
-      </form>
-    </Modal>
-  ) : null;
-}
-export default ConfirmDialog;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html deleted file mode 100644 index 5f22a58e3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ConvertToDTCGModal.tsx.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - Code coverage report for src/app/components/ConvertToDTCGModal.tsx - - - - - - - - - -
-
-

All files / src/app/components ConvertToDTCGModal.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  Box, Button, Link, Stack,
-} from '@tokens-studio/ui';
-import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import Modal from './Modal';
-import { Dispatch } from '../store';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
-import { useChangedState } from '@/hooks/useChangedState';
-import { ErrorMessage } from './ErrorMessage';
-import { showConvertTokenFormatModalSelector } from '@/selectors/showConvertTokenFormatModalSelector';
-import useRemoteTokens from '../store/remoteTokens';
-import w3cConvertImage from '@/app/assets/hints/w3cformat.png';
-import legacyConvertImage from '@/app/assets/hints/legacyformat.png';
-import { storageTypeSelector } from '@/selectors';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export function ConvertToDTCGModal() {
-  const dispatch = useDispatch<Dispatch>();
-  const showConvertTokenFormatModal = useSelector(showConvertTokenFormatModalSelector);
-  const tokenFormat = useSelector(tokenFormatSelector);
-  const { hasChanges } = useChangedState();
-  const { pushTokens } = useRemoteTokens();
-  const { t } = useTranslation(['storage']);
-  const storageType = useSelector(storageTypeSelector);
- 
-  const isDTCG = tokenFormat === TokenFormatOptions.DTCG;
- 
-  const handleClose = React.useCallback(() => {
-    dispatch.uiState.setShowConvertTokenFormatModal(false);
-  }, [dispatch.uiState]);
- 
-  const handleConvert = React.useCallback(() => {
-    dispatch.tokenState.setTokenFormat(isDTCG ? TokenFormatOptions.Legacy : TokenFormatOptions.DTCG);
-    dispatch.uiState.setShowConvertTokenFormatModal(false);
-    if (storageType.provider === StorageProviderType.LOCAL) return;
-    pushTokens({
-      overrides: isDTCG ? {
-        branch: 'w3c-dtcg-conversion-revert',
-        commitMessage: 'Revert conversion to W3C DTCG format',
-      } : {
-        branch: 'w3c-dtcg-conversion',
-        commitMessage: 'Convert to W3C DTCG format, read more at https://docs.tokens.studio/convert-to-dtcg-format',
-      },
-    });
-  }, [dispatch, pushTokens, isDTCG, storageType]);
- 
-  const hasRemoteChanges = hasChanges && storageType.provider !== StorageProviderType.LOCAL;
- 
-  return (
-    <Modal title={isDTCG ? t('w3cformatmodaltitle') : t('w3cconverttitle')} isOpen={showConvertTokenFormatModal} close={handleClose} showClose>
-      <Stack direction="column" align="start" gap={4} css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
-        <Box as="img" src={isDTCG ? legacyConvertImage : w3cConvertImage} css={{ borderRadius: '$small' }} />
-        <Box>
-          {isDTCG ? t('w3cformatmodaldescription') : t('legacyformatmodaldescription')}
-        </Box>
-        <Stack gap={4} align="center">
-          <Button variant="primary" onClick={handleConvert} disabled={hasRemoteChanges}>
-            {isDTCG ? t('converttolegacy') : t('converttow3c')}
-          </Button>
-          <Link href="https://docs.tokens.studio/manage-settings/token-format" target="_blank">{t('readmoreformat')}</Link>
-        </Stack>
-        {hasRemoteChanges && <ErrorMessage>{t('pushfirsterror')}</ErrorMessage>}
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html deleted file mode 100644 index 9fec3757a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Count.tsx.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/app/components/Count.tsx - - - - - - - - - -
-
-

All files / src/app/components Count.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import Box from './Box';
- 
-export function Count({ count }: { count: number; }) {
-  return (
-    <Box
-      css={{
-        backgroundColor: '$bgSubtle',
-        color: '$fgMuted',
-        borderRadius: '$full',
-        padding: '$2 $3',
-      }}
-    >
-      {count}
- 
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html deleted file mode 100644 index 6cd034b80..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DirtyStateBadgeWrapper.tsx.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/components/DirtyStateBadgeWrapper.tsx - - - - - - - - - -
-
-

All files / src/app/components DirtyStateBadgeWrapper.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { Box } from '@tokens-studio/ui';
-import React from 'react';
-import { StyledDirtyStateBadge } from './StyledDirtyStateBadge';
- 
-export function DirtyStateBadgeWrapper({ badge, children }: { badge: boolean, children: React.ReactNode }) {
-  return (
-    <Box css={{ position: 'relative' }}>
-      {badge && <StyledDirtyStateBadge />}
-      {children}
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html deleted file mode 100644 index 843ed18df..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Divider.tsx.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/components/Divider.tsx - - - - - - - - - -
-
-

All files / src/app/components Divider.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const Divider = styled('div', {
-  borderBottom: '1px solid $borderMuted',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html deleted file mode 100644 index 89d067227..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/DownshiftInput.tsx.html +++ /dev/null @@ -1,1189 +0,0 @@ - - - - - - Code coverage report for src/app/components/DownshiftInput/DownshiftInput.tsx - - - - - - - - - -
-
-

All files / src/app/components/DownshiftInput DownshiftInput.tsx

-
- -
- 0% - Statements - 0/82 -
- - -
- 0% - Branches - 0/73 -
- - -
- 0% - Functions - 0/27 -
- - -
- 0% - Lines - 0/74 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import Downshift from 'downshift';
-import { useSelector, useDispatch } from 'react-redux';
-import {
-  Box, Stack, Tooltip, Text, IconButton,
-} from '@tokens-studio/ui';
-import * as Popover from '@radix-ui/react-popover';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { Dispatch } from '@/app/store';
-import { StyledIconDisclosure } from '../StyledInputSuffix';
-import { SingleToken } from '@/types/tokens';
-import { StyledPrefix } from '../Input';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { Properties } from '@/constants/Properties';
-import { isDocumentationType } from '@/utils/is/isDocumentationType';
-import { useReferenceTokenType } from '@/app/hooks/useReferenceTokenType';
-import { ErrorValidation } from '../ErrorValidation';
-import useFigmaFonts from '@/hooks/useFigmaFonts';
-import { figmaFontsSelector } from '@/selectors';
-import {
-  StyledButton,
-  StyledDownshiftInput,
-  StyledList, StyledItem, StyledItemColor, StyledItemColorDiv, StyledItemName, StyledItemValue, StyledPart,
-} from './StyledDownshiftInput';
-import fuzzySearch from '@/utils/fuzzySearch';
-import MentionsInput from './MentionInput';
-import getResolvedText from '@/utils/getResolvedTextValue';
-import { getColorSwatchStyle } from '@/utils/color/getColorSwatchStyle';
- 
-type SearchField = 'Tokens' | 'Fonts' | 'Weights';
- 
-interface DownShiftProps {
-  name?: string;
-  type: string;
-  label?: React.ReactElement | string;
-  inlineLabel?: boolean;
-  error?: string;
-  value?: string;
-  initialName?: string;
-  placeholder?: string;
-  prefix?: React.ReactNode;
-  suffix?: boolean;
-  resolvedTokens: ResolveTokenValuesResult[];
-  externalFontFamily?: string;
-  isComposition?: boolean;
-  setInputValue(value: string): void;
-  handleChange: (property: string, value: string) => void;
-  handleBlur?: () => void;
-  onSubmit?: () => void
-}
- 
-export const DownshiftInput: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<DownShiftProps>>> = ({
-  name,
-  type,
-  label,
-  inlineLabel = false,
-  error,
-  value,
-  initialName,
-  prefix,
-  suffix,
-  placeholder,
-  isComposition,
-  setInputValue,
-  resolvedTokens,
-  externalFontFamily,
-  handleChange,
-  handleBlur,
-  onSubmit,
-}) => {
-  const [showAutoSuggest, setShowAutoSuggest] = React.useState(false);
-  const [searchInput, setSearchInput] = React.useState('');
-  const [currentSearchField, setCurrentSearchField] = React.useState<SearchField>('Tokens');
-  const dispatch = useDispatch<Dispatch>();
-  const figmaFonts = useSelector(figmaFontsSelector);
-  const searchInputRef = React.useRef<HTMLInputElement>(null);
-  const windowHeight = React.useRef(window.innerHeight);
-  const downShiftContainerHeight = (windowHeight.current / 10) * 3;
-  const referenceTokenTypes = useReferenceTokenType(type as TokenTypes);
-  const { getFigmaFonts } = useFigmaFonts();
-  const externalSearchField = useMemo<SearchField | undefined>(() => {
-    if (type === TokenTypes.FONT_FAMILIES) return 'Fonts';
-    if (type === TokenTypes.FONT_WEIGHTS) return 'Weights';
-    return undefined;
-  }, [type]);
- 
-  React.useEffect(() => {
-    if (searchInputRef.current) {
-      searchInputRef.current.focus();
-    }
-  }, []);
- 
-  React.useEffect(() => {
-    if (externalSearchField === 'Fonts') {
-      getFigmaFonts();
-    }
-  }, [externalSearchField, getFigmaFonts]);
- 
-  React.useEffect(() => {
-    if (!showAutoSuggest) {
-      setSearchInput('');
-    }
-    dispatch.uiState.setShowAutoSuggest(showAutoSuggest);
-  }, [showAutoSuggest, dispatch.uiState]);
- 
-  const filteredTokenItems = useMemo(
-    () => {
-      let initialFilteredValues: ResolveTokenValuesResult[] = [];
-      if (isDocumentationType(type as Properties)) {
-        initialFilteredValues = resolvedTokens
-          .filter((token: SingleToken) => token.name.toLowerCase() !== initialName?.toLowerCase()).sort((a, b) => (
-            a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
-          ));
-      } else {
-        initialFilteredValues = resolvedTokens
-          .filter((token: SingleToken) => referenceTokenTypes.includes(token?.type) && token.name.toLowerCase() !== initialName?.toLowerCase()).sort((a, b) => (
-            a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
-          ));
-      }
-      if (searchInput) {
-        return initialFilteredValues.filter((token: SingleToken) => fuzzySearch(searchInput.toLowerCase(), token.name.toLowerCase()));
-      }
-      return initialFilteredValues;
-    },
-    [resolvedTokens, type, initialName, referenceTokenTypes, searchInput],
-  );
- 
-  const filteredValues = useMemo(() => {
-    let initialFilteredValues: Array<string> = [];
-    if (currentSearchField === 'Fonts') {
-      initialFilteredValues = [...new Set(figmaFonts.map((font) => font.fontName.family))];
-    }
-    if (currentSearchField === 'Weights' && externalFontFamily) {
-      initialFilteredValues = figmaFonts.filter((font) => font.fontName.family === externalFontFamily).map((selectedFont) => selectedFont.fontName.style);
-    }
-    if (searchInput) {
-      return initialFilteredValues.filter((filteredValue: string) => fuzzySearch(searchInput, filteredValue));
-    }
-    return initialFilteredValues;
-  }, [figmaFonts, currentSearchField, externalFontFamily, searchInput]);
- 
-  const getHighlightedText = useCallback((text: string, highlight: string) => {
-    // Split on highlight term and include term into parts, ignore case
-    const parts = text.split(new RegExp(`(${highlight.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')})`, 'gi'));
-    return (
-      (
-        <span>
-          {parts.map((part, i) => {
-            const key = `${part}-${i}`;
-            return (
-              <StyledPart key={key} matches={part === highlight}>
-                {part}
-              </StyledPart>
-            );
-          })}
-          {' '}
-        </span>
-      )
-    );
-  }, []);
-    // eslint-enable react/no-array-index-key
-  const handleSelect = useCallback((selectedItem: any) => {
-    if (selectedItem) {
-      if (currentSearchField === 'Tokens') {
-        setInputValue(value?.includes('$') ? `$${selectedItem}` : `{${selectedItem}}`);
-        setShowAutoSuggest(false);
-      } else {
-        setInputValue(selectedItem);
-      }
-    }
-    setShowAutoSuggest(false);
-  }, [setInputValue, value, currentSearchField]);
- 
-  const handleSearchInputChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>((e) => {
-    setSearchInput(e.target.value);
-  }, []);
- 
-  const handleChangeSearchField = React.useCallback(() => {
-    if (currentSearchField === 'Tokens' && externalSearchField) setCurrentSearchField(externalSearchField);
-    else setCurrentSearchField('Tokens');
-  }, [currentSearchField, externalSearchField]);
- 
-  const handleOnFocus = React.useCallback(() => {
-    setShowAutoSuggest(false);
-  }, []);
- 
-  const hasPrefix = inlineLabel || Boolean(prefix);
- 
-  return (
-    <Downshift onSelect={handleSelect} isOpen={showAutoSuggest}>
-      {({
-        highlightedIndex, getItemProps, getInputProps,
-      }) => (
-        <div style={{ position: 'relative' }}>
-          <Stack direction="row" justify="between" align="center" css={{ marginBottom: '$1' }}>
-            {label && !inlineLabel ? <Text size="small" bold>{label}</Text> : null}
-            {error ? <ErrorValidation>{error}</ErrorValidation> : null}
-          </Stack>
-          <Box css={{ display: 'flex', position: 'relative', width: '100%' }} className="input">
-            {!!inlineLabel && !prefix && (
-              <Tooltip label={name}><StyledPrefix isText css={{ height: 'auto' }}>{label}</StyledPrefix></Tooltip>
-            )}
-            {!!prefix && <StyledPrefix isComposition={isComposition} css={{ height: 'auto' }}>{prefix}</StyledPrefix>}
-            <MentionsInput
-              name={name}
-              type={type}
-              value={value}
-              initialName={initialName}
-              placeholder={placeholder}
-              resolvedTokens={resolvedTokens}
-              handleChange={handleChange}
-              handleBlur={handleBlur}
-              handleOnFocus={handleOnFocus}
-              onSubmit={onSubmit}
-              hasPrefix={hasPrefix}
-            />
-            {suffix && (
-            <Popover.Root open={showAutoSuggest} onOpenChange={setShowAutoSuggest}>
-              <Popover.Trigger asChild>
-                <IconButton
-                  data-testid="downshift-input-suffix-button"
-                  icon={<StyledIconDisclosure />}
-                  size="small"
-                  css={{
-                    borderTopLeftRadius: 0, borderBottomLeftRadius: 0, boxShadow: 'none', height: 'auto',
-                  }}
-                />
-              </Popover.Trigger>
-              {/* Using Anchor to control the width of the popover to match the parent input */}
-              <Popover.Anchor style={{
-                position: 'absolute', left: 0, right: 0, height: '100%', pointerEvents: 'none',
-              }}
-              />
-              <Popover.Portal>
-                <Popover.Content side="bottom" align="end" sideOffset={4} style={{ pointerEvents: 'all', width: 'var(--radix-popover-trigger-width)' }}>
-                  <Box
-                    css={{
-                      backgroundColor: '$bgCanvas',
-                      border: '1px solid',
-                      borderColor: '$borderSubtle',
-                      borderRadius: '$medium',
-                      boxShadow: '$contextMenu',
-                    }}
-                  >
-                    <Box
-                      css={{
-                        display: 'flex', flexDirection: 'column', gap: '$3', padding: '$3', borderBottom: '1px solid $borderSubtle',
-                      }}
-                    >
-                      {
-                        externalSearchField && (
-                          <Box css={{ display: 'flex', gap: '$3' }}>
-                            <StyledButton isFocused={currentSearchField === 'Tokens'} onClick={handleChangeSearchField}>
-                              Tokens
-                            </StyledButton>
-                            <StyledButton isFocused={currentSearchField !== 'Tokens'} onClick={handleChangeSearchField}>
-                              {externalSearchField}
-                            </StyledButton>
-                          </Box>
-                        )
-                      }
-                      <StyledDownshiftInput
-                        inputRef={searchInputRef}
-                        value={searchInput}
-                        onChange={handleSearchInputChange}
-                        getInputProps={getInputProps}
-                        data-testid="downshift-search-input"
-                      />
-                    </Box>
-                    {
-                      currentSearchField === 'Tokens' && filteredTokenItems.length > 0 && (
-                      <StyledList className="content scroll-container" height={Math.min(downShiftContainerHeight, 30 * filteredTokenItems.length)} width="100%" itemCount={filteredTokenItems.length} itemSize={30}>
-                        {({ index, style }) => {
-                          const token = filteredTokenItems[index];
-                          return (
-                            <Tooltip
-                              side="bottom"
-                              label={(
-                                <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
-                                  <StyledItemName css={{ color: '$tooltipFg' }}>
-                                    {getHighlightedText(token.name, searchInput || '')}
-                                  </StyledItemName>
-                                  <StyledItemValue css={{ color: '$tooltipFgMuted' }}>
-                                    <span>{getResolvedText(token)}</span>
-                                  </StyledItemValue>
-                                </Stack>
-                              )}
-                            >
-                              <StyledItem
-                                data-testid="downshift-input-item"
-                                className="dropdown-item"
-                                {...getItemProps({ key: token.name, index, item: token.name })}
-                                isFocused={highlightedIndex === index}
-                                style={style}
-                              // eslint-disable-next-line react/jsx-no-bind
-                                onMouseDown={() => handleSelect(token.name)}
-                              >
-                                {type === 'color' && (
-                                <StyledItemColorDiv>
-                                  <StyledItemColor style={getColorSwatchStyle(token.value.toString())} />
-                                </StyledItemColorDiv>
-                                )}
-                                <StyledItemName truncate>
-                                  {getHighlightedText(token.name, searchInput || '')}
-                                </StyledItemName>
-                                <StyledItemValue truncate>
-                                  <span>{getResolvedText(token)}</span>
-                                </StyledItemValue>
-                              </StyledItem>
-                            </Tooltip>
-                          );
-                        }}
-                      </StyledList>
-                      )
-                    }
-                    {
-                      currentSearchField !== 'Tokens' && filteredValues.length > 0 && (
-                        <StyledList className="content scroll-container" height={Math.min(downShiftContainerHeight, 30 * filteredValues.length)} width="100%" itemCount={filteredValues.length} itemSize={30}>
-                            {({ index, style }) => {
-                              const filteredValue = filteredValues[index];
-                              return (
-                                <Tooltip
-                                  side="bottom"
-                                  label={(
-                                    <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
-                                      <StyledItemValue css={{ color: '$tooltipFg' }}>
-                                        {getHighlightedText(filteredValue, searchInput || '')}
-                                      </StyledItemValue>
-                                    </Stack>
-                              )}
-                                >
-                                  <StyledItem
-                                    data-testid="downshift-input-item"
-                                    className="dropdown-item"
-                                    {...getItemProps({ key: value, index, item: value })}
-                                    isFocused={highlightedIndex === index}
-                                    style={style}
-                                  // eslint-disable-next-line react/jsx-no-bind
-                                    onMouseDown={() => handleSelect(filteredValue)}
-                                  >
-                                    <StyledItemName truncate>
-                                      {getHighlightedText(filteredValue, searchInput || '')}
-                                    </StyledItemName>
-                                  </StyledItem>
-                                </Tooltip>
-                              );
-                            }}
-                        </StyledList>
-                      )
-                    }
-                    {
-                      ((currentSearchField !== 'Tokens' && filteredValues.length === 0) || (currentSearchField === 'Tokens' && filteredTokenItems.length === 0)) && (
-                      <Box css={{ padding: '$3', color: '$fgMuted', fontSize: '$small' }}>
-                        No suggestions found
-                      </Box>
-                      )
-                    }
-                  </Box>
-                </Popover.Content>
-              </Popover.Portal>
-            </Popover.Root>
-            )}
-          </Box>
-        </div>
-      )}
-    </Downshift>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html deleted file mode 100644 index fa47b2659..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/MentionInput.tsx.html +++ /dev/null @@ -1,604 +0,0 @@ - - - - - - Code coverage report for src/app/components/DownshiftInput/MentionInput.tsx - - - - - - - - - -
-
-

All files / src/app/components/DownshiftInput MentionInput.tsx

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/31 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/29 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo } from 'react';
-import Mentions from 'rc-mentions';
-import {
-  Stack,
-  Tooltip,
-} from '@tokens-studio/ui';
-import { SingleToken } from '@/types/tokens';
-import { useReferenceTokenType } from '@/app/hooks/useReferenceTokenType';
- 
-// Styles
-import {
-  StyledItem, StyledItemColor, StyledItemColorDiv, StyledItemName, StyledItemValue, StyledPart,
-} from './StyledDownshiftInput';
-import './mentions.css';
- 
-// Utils
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { isDocumentationType } from '@/utils/is/isDocumentationType';
-import getResolvedTextValue from '@/utils/getResolvedTextValue';
-import { getColorSwatchStyle } from '@/utils/color/getColorSwatchStyle';
- 
-// Constants
-import { Properties } from '@/constants/Properties';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-export interface SuggestionDataItem {
-  id: string;
-  display: string;
-}
- 
-interface Props {
-  autoFocus?: boolean;
-  name?: string;
-  type: string;
-  value?: string;
-  initialName?: string;
-  placeholder?: string;
-  resolvedTokens: ResolveTokenValuesResult[];
-  handleChange: (property: string, value: string) => void;
-  handleBlur?: () => void;
-  handleOnFocus?: React.FocusEventHandler<HTMLTextAreaElement>;
-  onSubmit?: () => void;
-  hasPrefix?: boolean;
-}
- 
-const { Option } = Mentions;
- 
-export default function MentionsInput({
-  autoFocus = false,
-  name = 'value',
-  type,
-  value,
-  initialName,
-  placeholder,
-  resolvedTokens,
-  handleChange,
-  handleBlur,
-  handleOnFocus,
-  onSubmit,
-  hasPrefix = false,
-}: Props) {
-  const referenceTokenTypes = useReferenceTokenType(type as TokenTypes);
- 
-  const mentionData = useMemo<SuggestionDataItem[]>(() => {
-    if (isDocumentationType(type as Properties)) {
-      return resolvedTokens
-        .filter((token: SingleToken) => token.name !== initialName).sort((a, b) => (
-          a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
-        )).map((resolvedToken) => ({
-          id: `${resolvedToken.name}}`,
-          display: resolvedToken.name,
-        }));
-    }
-    return resolvedTokens
-      .filter((token: SingleToken) => referenceTokenTypes.includes(token?.type) && token.name !== initialName).sort((a, b) => (
-        a.name.localeCompare(b.name, undefined, { numeric: true, sensitivity: 'base' })
-      )).map((resolvedToken) => ({
-        id: `${resolvedToken.name}}`,
-        display: resolvedToken.name,
-      }));
-  }, [initialName, resolvedTokens, referenceTokenTypes, type]);
- 
-  const handleMentionInputChange = React.useCallback((newValue: string) => {
-    handleChange(name, newValue.replace(/}(?=\s)[^{}]*}/gi, '}'));
-  }, [handleChange, name]);
- 
-  const handleInputBlur = React.useCallback(() => {
-    if (handleBlur) {
-      handleBlur();
-    }
-  }, [handleBlur]);
- 
-  const getHighlightedText = React.useCallback((text: string, highlight: string) => {
-    // Note that the highlight might be numeric, hence we cast it to a string
-    // Split on highlight term and include term into parts, ignore case
-    const parts = text.split(new RegExp(`(${String(highlight).replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')})`, 'gi'));
-    return (
-      <span>
-        {parts.map((part, i) => (
-          // eslint-disable-next-line react/no-array-index-key
-          <StyledPart key={i} matches={part.toLowerCase() === String(highlight).toLowerCase()}>
-            {part}
-          </StyledPart>
-        ))}
-        {' '}
-      </span>
-    );
-  }, []);
- 
-  const renderMentionListItem = React.useCallback((
-    suggestion: SuggestionDataItem,
-  ) => {
-    const resolvedToken = resolvedTokens.find((token) => referenceTokenTypes.includes(token?.type) && token.name === suggestion.display);
-    return (
-      <Option
-        key={(suggestion.id as string) || 'not-found'}
-        value={suggestion.id as string}
-        className="mentions-item"
-      >
-        <Tooltip
-          side="bottom"
-          label={(
-            <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
-              <StyledItemName css={{ color: '$tooltipFg' }}>
-                {getHighlightedText(resolvedToken?.name ?? '', value || '')}
-              </StyledItemName>
-              {resolvedToken && (
-                <StyledItemValue css={{ color: '$tooltipFgMuted' }}>
-                  <span>
-                    {getResolvedTextValue(resolvedToken)}
-                  </span>
-                </StyledItemValue>
-              )}
-            </Stack>
-          )}
-        >
-          <StyledItem className="dropdown-item">
-            {type === 'color' && <StyledItemColorDiv><StyledItemColor style={resolvedToken?.value ? getColorSwatchStyle(resolvedToken?.value.toString()) : {}} /></StyledItemColorDiv>}
-            <StyledItemName truncate>{getHighlightedText(resolvedToken?.name ?? '', value || '')}</StyledItemName>
-            {resolvedToken && <StyledItemValue truncate>{getResolvedTextValue(resolvedToken)}</StyledItemValue>}
-          </StyledItem>
-        </Tooltip>
-      </Option>
-    );
-  }, [resolvedTokens, type, getHighlightedText, referenceTokenTypes, value]);
- 
-  const handleEnterKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLTextAreaElement>) => {
-    e.preventDefault();
-    onSubmit?.();
-  }, [onSubmit]);
- 
-  return (
-    <Mentions
-      autoSize
-      name={name}
-      value={value}
-      placeholder={placeholder}
-      prefix={['{']}
-      placement="bottom"
-      autoFocus={autoFocus}
-      onChange={handleMentionInputChange}
-      onBlur={handleInputBlur}
-      onFocus={handleOnFocus}
-      onPressEnter={handleEnterKeyDown}
-      data-testid={`mention-input-${name}`}
-      className={hasPrefix ? '' : 'mentions-no-prefix'}
-    >
-      {mentionData.map((item) => (
-        renderMentionListItem(item)
-      ))}
-    </Mentions>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html deleted file mode 100644 index 5fba3415d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/StyledDownshiftInput.tsx.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - Code coverage report for src/app/components/DownshiftInput/StyledDownshiftInput.tsx - - - - - - - - - -
-
-

All files / src/app/components/DownshiftInput StyledDownshiftInput.tsx

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { ComponentType } from 'react';
-import type { GetInputPropsOptions } from 'downshift';
-import { FixedSizeList as List } from 'react-window';
-import { TextInput } from '@tokens-studio/ui';
-import { styled } from '@/stitches.config';
- 
-type Props = {
-  type?: string;
-  name?: string;
-  value?: string;
-  placeholder?: string;
-  suffix?: React.ReactNode;
-  inputRef: React.RefObject<HTMLInputElement>;
-  dataCy?: string;
-  getInputProps: <T>(options?: T) => T & GetInputPropsOptions;
-  onChange?: React.ChangeEventHandler<HTMLInputElement>;
-  onBlur?: React.ChangeEventHandler<HTMLInputElement>;
-};
- 
-export const StyledDropdown = styled('div', {
-  position: 'absolute',
-  zIndex: '10',
-  width: '100%',
-  maxHeight: '30vh',
-  borderBottomLeftRadius: '$medium',
-  borderBottomRightRadius: '$medium',
-  overflowY: 'auto',
-  backgroundColor: '$bgDefault',
-  cursor: 'pointer',
-  boxShadow: '$contextMenu',
-  padding: '$3',
-});
- 
-export const StyledList = styled(List as ComponentType<any>, {
-  zIndex: '10',
-  maxHeight: '30vh',
-  overflowY: 'auto',
-  backgroundColor: '$bgCanvas',
-  cursor: 'pointer',
-  padding: '$2',
-});
- 
-export const StyledItemValue = styled('div', {
-  fontSize: '$xxsmall',
-  color: '$fgDefault',
-  fontWeight: '$normal',
-  textAlign: 'right',
-  flex: '1 0 auto',
-  variants: {
-    truncate: {
-      true: {
-        maxWidth: '50%',
-        overflow: 'hidden',
-        textOverflow: 'ellipsis',
-        textWrap: 'nowrap',
-      },
-    },
-  },
-});
- 
-export const StyledItem = styled('div', {
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'space-between',
-  padding: '$2 $3',
-  fontSize: '$xxsmall',
-  variants: {
-    isFocused: {
-      true: {
-        borderRadius: '0 !important',
-        backgroundColor: '$bgSubtle',
-      },
-    },
-  },
-});
- 
-export const StyledItemColorDiv = styled('div', {
-  flexShrink: 0,
-  marginRight: '$2',
-});
- 
-export const StyledItemColor = styled('div', {
-  width: '20px',
-  height: '20px',
-  borderRadius: '$medium',
-  border: '1px solid $borderMuted',
-});
- 
-export const StyledItemName = styled('div', {
-  fontSize: '$xsmall',
-  color: '$fgDefault',
-  fontWeight: '$sansBold',
-  flex: '1 1 auto',
-  lineHeight: '1.4',
-  wordBreak: 'break-word',
-  marginRight: '$2',
-  variants: {
-    truncate: {
-      true: {
-        overflow: 'hidden',
-        textOverflow: 'ellipsis',
-        textWrap: 'nowrap',
-      },
-    },
-  },
-});
- 
-export const StyledPart = styled('span', {
-  variants: {
-    matches: {
-      true: {
-        fontWeight: '$sansSemibold',
-      },
-    },
-  },
-});
- 
-export const StyledButton = styled('button', {
-  padding: '$2 $3',
-  fontSize: '$xsmall',
- 
-  variants: {
-    isFocused: {
-      false: {
-        color: '$fgDisabled',
-      },
-    },
-  },
-});
- 
-export const StyledDownshiftInput: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  type,
-  name,
-  value,
-  placeholder,
-  inputRef,
-  dataCy,
-  onChange,
-  onBlur,
-  getInputProps,
-}) => {
-  const { ref, size, ...inputProps } = getInputProps({
-    ref: inputRef,
-    name,
-    label: type || null,
-    value: value || '',
-    placeholder,
-    onChange,
-    onBlur,
-  });
- 
-  return (
-    <TextInput
-      ref={ref as React.MutableRefObject<HTMLInputElement>}
-      data-testid={dataCy}
-      {...inputProps}
-    />
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html deleted file mode 100644 index 0c049d919..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/app/components/DownshiftInput - - - - - - - - - -
-
-

All files src/app/components/DownshiftInput

-
- -
- 0% - Statements - 0/124 -
- - -
- 0% - Branches - 0/108 -
- - -
- 0% - Functions - 0/44 -
- - -
- 0% - Lines - 0/115 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
DownshiftInput.tsx -
-
0%0/820%0/730%0/270%0/74
MentionInput.tsx -
-
0%0/300%0/310%0/160%0/29
StyledDownshiftInput.tsx -
-
0%0/120%0/40%0/10%0/12
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html deleted file mode 100644 index 631b2faf0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DownshiftInput/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/DownshiftInput/index.ts - - - - - - - - - -
-
-

All files / src/app/components/DownshiftInput index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { DownshiftInput } from './DownshiftInput';
- 
-export default DownshiftInput;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html deleted file mode 100644 index 2303cf6a4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - Code coverage report for src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx - - - - - - - - - -
-
-

All files / src/app/components/DuplicateResolver ResolveDuplicateTokenGroup.tsx

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useUIDSeed } from 'react-uid';
-import {
-  Heading, RadioGroup, RadioIndicator, RadioItem, RadioItemBefore,
-  Stack,
-  Text,
-  Tooltip,
-} from '@tokens-studio/ui';
-import { SingleToken } from '@/types/tokens';
-import Box from '../Box';
-import { TokenTooltipContentValue } from '../TokenTooltip/TokenTooltipContentValue';
-import { isSingleBoxShadowToken } from '@/utils/is';
-import { SingleShadowValueDisplay } from '../TokenTooltip/SingleShadowValueDisplay';
-import { TokenBoxshadowValue } from '@/types/values';
- 
-function ResolveDuplicateTokenSingle({ token }: { token: SingleToken }) {
-  const seed = useUIDSeed();
-  return (
-    <Tooltip label={`Type: ${token.type}`}>
-      <Box
-        css={{
-          background: '$bgSubtle',
-          fontSize: '$small',
-          padding: '$2 $3',
-          borderRadius: '$small',
-          border: (typeof token.value === 'string' && (token.value as string).startsWith('#')) ? `1px solid ${token.value as string}` : undefined,
-        }}
-      >
-        {(isSingleBoxShadowToken(token) && Array.isArray(token.value)) ? (
-          <Stack direction="column" align="start" gap={3} wrap>
-            {token.value.map((t, index) => (
-              <SingleShadowValueDisplay
-                key={seed(t)}
-                value={Array.isArray(token.value) ? token.value[index] as TokenBoxshadowValue : undefined}
-                resolvedValue={t as TokenBoxshadowValue}
-              />
-            ))}
-          </Stack>
-        ) : (
-          <>
-            {/* Comment to avoid nested ternary warning */}
-            {typeof token.value === 'string' ? <Text>{token.value as string}</Text>
-              : <TokenTooltipContentValue token={token} ignoreResolvedValue />}
-          </>
- 
-        )}
-      </Box>
-    </Tooltip>
-  );
-}
- 
-export default function ResolveDuplicateTokenGroup({
-  setName, group, onRadioClick, selectedTokens,
-}: {
-  setName: string, group: [string, SingleToken[]], onRadioClick: (value: string) => void, selectedTokens: { [key: string]: { [key: string]: number | string } }
-}) {
-  const [groupKey, groupValue] = group;
-  const checkedToken = `${setName}:${groupKey}:${selectedTokens?.[setName]?.[groupKey] || 0}`;
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        flexDirection: 'column',
-        justifyContent: 'space-between',
-        marginBottom: '$3',
-      }}
-      key={`${groupKey}`}
-    >
-      <Stack direction="row" css={{ marginBottom: '$4' }}>
-        <Heading size="small">
-          <Box as="span" css={{ minWidth: '$9', display: 'inline-flex' }}>Token</Box>
-          {groupKey}
-        </Heading>
-      </Stack>
-      <Stack direction="row">
-        <Heading size="small" css={{ minWidth: '$9' }}>Value</Heading>
-        <RadioGroup
-          onValueChange={onRadioClick}
-          value={checkedToken}
-          css={{ gap: '$3' }}
-        >
-          {groupValue.map((uniqueToken, i) => (
-            // eslint-disable-next-line react/no-array-index-key
-            <RadioItem key={`${uniqueToken.name}-${i}`} value={`${setName}:${uniqueToken.name}:${i}`} css={{ alignItems: 'center' }}>
-              <RadioItemBefore data-state={checkedToken === `${setName}:${uniqueToken.name}:${i}` ? 'checked' : 'unchecked'} css={{ flexShrink: 0 }}>
-                <RadioIndicator />
-              </RadioItemBefore>
-              <ResolveDuplicateTokenSingle token={uniqueToken} />
-            </RadioItem>
-          ))}
-        </RadioGroup>
-      </Stack>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html deleted file mode 100644 index d31ae0518..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/DuplicateResolver/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/components/DuplicateResolver - - - - - - - - - -
-
-

All files src/app/components/DuplicateResolver

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ResolveDuplicateTokenGroup.tsx -
-
0%0/70%0/160%0/40%0/7
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html deleted file mode 100644 index fb0aef2e5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenForm.tsx.html +++ /dev/null @@ -1,2254 +0,0 @@ - - - - - - Code coverage report for src/app/components/EditTokenForm.tsx - - - - - - - - - -
-
-

All files / src/app/components EditTokenForm.tsx

-
- -
- 0% - Statements - 0/210 -
- - -
- 0% - Branches - 0/222 -
- - -
- 0% - Functions - 0/49 -
- - -
- 0% - Lines - 0/203 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 -566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Heading, Textarea, Label, Stack,
-} from '@tokens-studio/ui';
-import { track } from '@/utils/analytics';
-import { useShortcut } from '@/hooks/useShortcut';
-import { Dispatch } from '../store';
-import useManageTokens from '../store/useManageTokens';
-import CompositionTokenForm from './CompositionTokenForm';
-import Input from './Input';
-import Text from './Text';
-import useConfirm from '../hooks/useConfirm';
-import useTokens from '../store/useTokens';
-import {
-  EditTokenObject,
-  SingleBorderToken,
-  SingleBoxShadowToken,
-  SingleDimensionToken,
-  SingleToken,
-  SingleTypographyToken,
-} from '@/types/tokens';
-import { checkIfAlias, checkIfContainsAlias, getAliasValue } from '@/utils/alias';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import {
-  activeTokenSetSelector, editTokenSelector, themesListSelector, tokensSelector,
-} from '@/selectors';
-import { TokenTypes } from '@/constants/TokenTypes';
-import TypographyInput from './TypographyInput';
-import DownshiftInput from './DownshiftInput';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { UpdateMode } from '@/constants/UpdateMode';
-import trimValue from '@/utils/trimValue';
-import BoxShadowInput from './BoxShadowInput';
-import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import { StyleOptions } from '@/constants/StyleOptions';
-import BorderTokenForm from './BorderTokenForm';
-import Box from './Box';
-import ColorTokenForm from './ColorTokenForm';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { ColorModifier } from '@/types/Modifier';
-import { MultiSelectDropdown } from './MultiSelectDropdown';
-import { tokenTypesToCreateVariable } from '@/constants/VariableTypes';
-import { ModalOptions } from '@/constants/ModalOptions';
- 
-let lastUsedRenameOption: UpdateMode = UpdateMode.SELECTION;
-let lastUsedRenameStyles = false;
- 
-type Props = {
-  resolvedTokens: ResolveTokenValuesResult[];
-};
- 
-type Choice = { key: string; label: string; enabled?: boolean; unique?: boolean };
- 
-// @TODO this needs to be reviewed from a typings perspective + performance
-function EditTokenForm({ resolvedTokens }: Props) {
-  const { t } = useTranslation(['tokens', 'errors']);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const tokens = useSelector(tokensSelector);
-  const editToken = useSelector(editTokenSelector);
-  const themes = useSelector(themesListSelector);
-  const [selectedTokenSets, setSelectedTokenSets] = React.useState<string[]>([activeTokenSet]);
-  const {
-    editSingleToken, createSingleToken, duplicateSingleToken, renameTokensAcrossSets,
-  } = useManageTokens();
-  const {
-    remapToken, renameStylesFromTokens, renameVariablesFromToken, updateVariablesFromToken,
-  } = useTokens();
-  const dispatch = useDispatch<Dispatch>();
-  const [error, setError] = React.useState<string | null>(null);
-  const [internalEditToken, setInternalEditToken] = React.useState<typeof editToken>(editToken);
-  const { confirm } = useConfirm();
-  const isValidDimensionToken = React.useMemo(
-    () => internalEditToken.type === TokenTypes.DIMENSION
-      && (internalEditToken.value?.endsWith('px')
-        || internalEditToken.value?.endsWith('rem')
-        || checkIfAlias(internalEditToken as SingleDimensionToken, resolvedTokens)),
-    [internalEditToken, resolvedTokens, checkIfAlias],
-  );
-  const isValidColorToken = React.useMemo(() => {
-    if (internalEditToken?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX) {
-      return !!internalEditToken?.$extensions?.['studio.tokens']?.modify?.color;
-    }
-    return true;
-  }, [internalEditToken]);
- 
-  const isValid = React.useMemo(() => {
-    if (
-      internalEditToken?.type === TokenTypes.COMPOSITION
-      && internalEditToken.value
-      && (internalEditToken.value.hasOwnProperty('') || Object.keys(internalEditToken.value).length === 0)
-    ) {
-      return false;
-    }
-    if (internalEditToken.type === TokenTypes.DIMENSION) {
-      return true;
-    }
-    if (internalEditToken.type === TokenTypes.COLOR) {
-      return isValidColorToken;
-    }
-    return internalEditToken?.value && internalEditToken.name && !error;
-  }, [internalEditToken, error, isValidColorToken, isValidDimensionToken]);
- 
-  const hasNameThatExistsAlready = React.useMemo(() => {
-    const editToken = resolvedTokens
-      .filter((t) => selectedTokenSets.includes(t.internal__Parent ?? ''))
-      .find((t) => t.name === internalEditToken?.name);
- 
-    if (editToken) {
-      editToken.description = internalEditToken.description;
-    }
- 
-    return editToken;
-  }, [internalEditToken, resolvedTokens, activeTokenSet, selectedTokenSets]);
- 
-  const hasAnotherTokenThatStartsWithName = React.useMemo(
-    () => resolvedTokens
-      .filter((t) => t.internal__Parent === activeTokenSet)
-      .filter((t) => t.name !== internalEditToken?.initialName)
-      .find((t) => t.name.startsWith(`${internalEditToken?.name}.`)),
-    [internalEditToken, resolvedTokens, activeTokenSet],
-  );
- 
-  const hasCurlyBraces = React.useMemo(() => {
-    if (internalEditToken?.name) {
-      return internalEditToken.name.includes('{') || internalEditToken.name.includes('}');
-    }
-    return false;
-  }, [internalEditToken]);
- 
-  const hasDollarForFirstCharacter = React.useMemo(() => {
-    if (internalEditToken?.name) {
-      return internalEditToken.name.startsWith('$');
-    }
-    return false;
-  }, [internalEditToken]);
- 
-  const hasPriorTokenName = React.useMemo(() => {
-    const tokensWithSameParent = resolvedTokens.filter((t) => t.internal__Parent === activeTokenSet);
-    if (internalEditToken.status && [EditTokenFormStatus.CREATE, EditTokenFormStatus.DUPLICATE].includes(internalEditToken.status)) {
-      // If we are creating a new token, disallow naming it as a prefix of an existing token
-      return tokensWithSameParent.find((t) => internalEditToken.name?.startsWith(`${t.name}.`));
-    }
-    if (internalEditToken?.status === EditTokenFormStatus.EDIT) {
-      // If we are editing a token, only disallow the name if it's prefix matches another token and it is not the token we are currently editing
-      return tokensWithSameParent.find(
-        (t) => internalEditToken.name?.startsWith(`${t.name}.`) && internalEditToken.initialName !== t.name,
-      );
-    }
-    return false;
-  }, [internalEditToken, resolvedTokens, activeTokenSet]);
- 
-  const nameWasChanged = React.useMemo(
-    () => internalEditToken?.initialName !== internalEditToken?.name,
-    [internalEditToken],
-  );
- 
-  const hasEmptyGroups = React.useMemo(() => {
-    if (internalEditToken?.name) {
-      return internalEditToken.name.includes('..')
-        || internalEditToken.name.startsWith('.')
-        || internalEditToken.name.endsWith('.');
-    }
-    return false;
-  }, [internalEditToken]);
- 
-  React.useEffect(() => {
-    if ((internalEditToken?.status !== EditTokenFormStatus.EDIT || nameWasChanged) && hasNameThatExistsAlready) {
-      setError(t('tokenNamesMustBeUnique', { ns: 'errors' }));
-    }
-    if (
-      (internalEditToken?.status !== EditTokenFormStatus.EDIT || nameWasChanged)
-      && hasAnotherTokenThatStartsWithName
-    ) {
-      setError(t('mustNotUseNameOfAnotherGroup', { ns: 'errors' }));
-    }
-    if ((internalEditToken?.status || nameWasChanged) && hasPriorTokenName) {
-      setError(t('cantCreateGroupThatSharesNameWithExistingToken', { ns: 'errors' }));
-    }
-    if ((internalEditToken?.status || nameWasChanged) && hasDollarForFirstCharacter) {
-      setError(t('tokenNamesCantStartWithDollar', { ns: 'errors' }));
-    }
-    if ((internalEditToken?.status || nameWasChanged) && hasCurlyBraces) {
-      setError(t('tokenNamesCantContainCurlyBraces', { ns: 'errors' }));
-    }
-    if ((internalEditToken?.status || nameWasChanged) && hasEmptyGroups) {
-      setError(t('tokenNamesCantContainEmptyGroups', { ns: 'errors' }));
-    }
-  }, [internalEditToken, hasNameThatExistsAlready, nameWasChanged, hasAnotherTokenThatStartsWithName, hasEmptyGroups]);
- 
-  const handleChange = React.useCallback(
-    (property: string, value: string) => {
-      setError(null);
-      if (internalEditToken) {
-        setInternalEditToken({ ...internalEditToken, [property]: value });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleNameChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>(
-    (e) => {
-      setError(null);
-      if (internalEditToken) {
-        setInternalEditToken({ ...internalEditToken, [e.target.name]: e.target.value });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleBlur = React.useCallback(() => {
-    if (internalEditToken.type === TokenTypes.DIMENSION && !isValidDimensionToken) {
-      setError(t('valueMustIncludePxOrRem', { ns: 'errors' }));
-    }
-  }, [internalEditToken, isValidDimensionToken]);
- 
-  const handleBoxShadowValueChange = React.useCallback(
-    (shadow: SingleBoxShadowToken['value']) => {
-      setError(null);
-      if (internalEditToken?.type === TokenTypes.BOX_SHADOW) {
-        setInternalEditToken((prev) => ({ ...prev, value: shadow } as typeof editToken));
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleCompositionChange = React.useCallback(
-    (newTokenValue: NodeTokenRefMap) => {
-      if (internalEditToken?.type === TokenTypes.COMPOSITION) {
-        setInternalEditToken((prev) => ({ ...prev, value: newTokenValue } as EditTokenObject));
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleTypographyValueChange = React.useCallback(
-    (property: string, value: string) => {
-      if (internalEditToken?.type === TokenTypes.TYPOGRAPHY && typeof internalEditToken?.value !== 'string') {
-        if (value) {
-          setInternalEditToken({
-            ...internalEditToken,
-            value: {
-              ...internalEditToken.value,
-              [property]: value,
-            },
-          });
-        } else if (internalEditToken.value) {
-          delete internalEditToken.value[property as keyof typeof internalEditToken.value];
-          setInternalEditToken({
-            ...internalEditToken,
-          });
-        }
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleTypographyValueDownShiftInputChange = React.useCallback(
-    (newInputValue: string, property: string) => {
-      if (internalEditToken?.type === TokenTypes.TYPOGRAPHY && typeof internalEditToken?.value !== 'string') {
-        setInternalEditToken({
-          ...internalEditToken,
-          value: { ...internalEditToken.value, [property]: newInputValue },
-        });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const setTypographyValue = React.useCallback(
-    (newTypographyValue: SingleTypographyToken['value']) => {
-      if (internalEditToken?.type === TokenTypes.TYPOGRAPHY && typeof newTypographyValue === 'object') {
-        setInternalEditToken({
-          ...internalEditToken,
-          value: { ...newTypographyValue },
-        });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleBorderValueChange = React.useCallback(
-    (property: string, value: string) => {
-      if (internalEditToken?.type === TokenTypes.BORDER && typeof internalEditToken?.value !== 'string') {
-        setInternalEditToken({
-          ...internalEditToken,
-          value: {
-            ...internalEditToken.value,
-            [property]: value,
-          },
-        });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const handleBorderValueDownShiftInputChange = React.useCallback(
-    (newInputValue: string, property: string) => {
-      if (internalEditToken?.type === TokenTypes.BORDER && typeof internalEditToken?.value !== 'string') {
-        setInternalEditToken({
-          ...internalEditToken,
-          value: { ...internalEditToken.value, [property]: newInputValue },
-        });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const setBorderValue = React.useCallback(
-    (newBorderValue: SingleBorderToken['value']) => {
-      if (internalEditToken?.type === TokenTypes.BORDER && typeof newBorderValue === 'object') {
-        setInternalEditToken({
-          ...internalEditToken,
-          value: { ...newBorderValue },
-        });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const removeColorModify = React.useCallback(() => {
-    const newValue = { ...internalEditToken.$extensions?.['studio.tokens'] };
-    delete newValue?.modify;
-    setInternalEditToken({
-      ...internalEditToken,
-      $extensions: {
-        ...internalEditToken.$extensions,
-        'studio.tokens': Object.keys(newValue).length > 0 ? newValue : undefined,
-      } as SingleToken['$extensions'],
-    });
-  }, [internalEditToken]);
- 
-  const handleColorModifyChange = React.useCallback(
-    (newModify: ColorModifier) => {
-      setInternalEditToken({
-        ...internalEditToken,
-        $extensions: {
-          ...internalEditToken.$extensions,
-          'studio.tokens': {
-            ...internalEditToken.$extensions?.['studio.tokens'],
-            modify: newModify,
-          },
-        } as SingleToken['$extensions'],
-      });
-    },
-    [internalEditToken],
-  );
- 
-  const handleDownShiftInputChange = React.useCallback(
-    (newInputValue: string) => {
-      setInternalEditToken({
-        ...internalEditToken,
-        value: newInputValue,
-      } as typeof editToken);
-    },
-    [internalEditToken],
-  );
- 
-  const handleDescriptionChange = React.useCallback(
-    (value: string) => {
-      if (internalEditToken) {
-        setInternalEditToken({
-          ...internalEditToken,
-          description: value,
-        });
-      }
-    },
-    [internalEditToken],
-  );
- 
-  const resolvedValue = React.useMemo(() => {
-    if (internalEditToken) {
-      return typeof internalEditToken?.value === 'string'
-        ? getAliasValue(internalEditToken as SingleToken, resolvedTokens, false)
-        : null;
-    }
-    return null;
-  }, [internalEditToken, resolvedTokens]);
- 
-  // @TODO update to useCallback
-  const submitTokenValue = async ({
-    type, value, name, $extensions,
-  }: EditTokenObject) => {
-    if (internalEditToken && value && name) {
-      let oldName: string | undefined;
-      if (internalEditToken.initialName !== name && internalEditToken.initialName) {
-        oldName = internalEditToken.initialName;
-      }
-      const trimmedValue = trimValue(value);
-      const newName = name
-        .split('/')
-        .map((n) => n.trim())
-        .join('.');
-      if (internalEditToken.status === EditTokenFormStatus.CREATE) {
-        track('Create token', { type: internalEditToken.type, isModifier: !!$extensions?.['studio.tokens']?.modify });
-        createSingleToken({
-          description: internalEditToken.description ?? internalEditToken.oldDescription,
-          parent: activeTokenSet,
-          name: newName,
-          type,
-          value: trimmedValue as SingleToken['value'],
-          ...($extensions ? { $extensions } : {}),
-        });
-      } else if (internalEditToken.status === EditTokenFormStatus.EDIT) {
-        editSingleToken({
-          description: internalEditToken.description ?? internalEditToken.oldDescription,
-          parent: activeTokenSet,
-          name: newName,
-          oldName,
-          type,
-          value: trimmedValue as SingleToken['value'],
-          ...($extensions ? { $extensions } : {}),
-        });
-        if (themes.length > 0 && tokenTypesToCreateVariable.includes(internalEditToken.type)) {
-          updateVariablesFromToken({
-            parent: activeTokenSet,
-            name: internalEditToken.initialName ?? name,
-            type,
-            value: resolvedValue,
-            rawValue: internalEditToken.value,
-            ...($extensions ? { $extensions } : {}),
-          });
-        }
-        // When users change token names the applied tokens on layers are still pointing to the old name, ask user to remap
-        if (oldName && oldName !== newName) {
-          track('Edit token', { renamed: true, type: internalEditToken.type });
-          const choices: Choice[] = [
-            {
-              key: UpdateMode.SELECTION,
-              label: 'Selection',
-              unique: true,
-              enabled: UpdateMode.SELECTION === lastUsedRenameOption,
-            },
-            {
-              key: UpdateMode.PAGE,
-              label: 'Page',
-              unique: true,
-              enabled: UpdateMode.PAGE === lastUsedRenameOption,
-            },
-            {
-              key: UpdateMode.DOCUMENT,
-              label: 'Document',
-              unique: true,
-              enabled: UpdateMode.DOCUMENT === lastUsedRenameOption,
-            },
-          ];
-          if (themes.length > 0 && tokenTypesToCreateVariable.includes(internalEditToken.type)) {
-            choices.push({
-              key: ModalOptions.RENAME_VARIABLE,
-              label: 'Rename variable',
-            });
-          }
-          if (
-            themes.length > 0
-            && [TokenTypes.COLOR, TokenTypes.TYPOGRAPHY, TokenTypes.BOX_SHADOW].includes(internalEditToken.type)
-          ) {
-            choices.push({
-              key: StyleOptions.RENAME,
-              label: 'Rename style',
-              enabled: lastUsedRenameStyles,
-            });
-          }
-          const tokenSetsContainsSameToken: string[] = [];
-          Object.entries(tokens).forEach(([tokenSet, tokenList]) => {
-            if (tokenList.find((token) => token.name === oldName)) {
-              tokenSetsContainsSameToken.push(tokenSet);
-            }
-          });
-          if (tokenSetsContainsSameToken.length > 1) {
-            choices.push({
-              key: ModalOptions.RENAME_ACROSS_SETS,
-              label: 'Rename in other sets',
-            });
-          }
-          const confirmData = await confirm({
-            text: `Remap all tokens that use ${oldName} to ${newName}?`,
-            description: 'This will change all layers that used the old token name. This could take a while.',
-            choices,
-          });
-          if (confirmData && confirmData.result) {
-            if (
-              confirmData.data.some((data: string) => [UpdateMode.DOCUMENT, UpdateMode.PAGE, UpdateMode.SELECTION].includes(data as UpdateMode))
-            ) {
-              remapToken(oldName, newName, confirmData.data[0]);
-              lastUsedRenameOption = confirmData.data[0] as UpdateMode;
-            }
-            if (confirmData.data.includes(ModalOptions.RENAME_ACROSS_SETS)) {
-              renameTokensAcrossSets(oldName, newName, type, tokenSetsContainsSameToken);
-            }
-            if (confirmData.data.includes(StyleOptions.RENAME)) {
-              renameStylesFromTokens([{ oldName, newName }], activeTokenSet);
-              lastUsedRenameStyles = true;
-            }
-            if (confirmData.data.includes(ModalOptions.RENAME_VARIABLE)) {
-              renameVariablesFromToken({ oldName, newName });
-            }
-          }
-        } else {
-          track('Edit token', { renamed: false });
-        }
-      } else if (internalEditToken.status === EditTokenFormStatus.DUPLICATE) {
-        oldName = internalEditToken.initialName?.slice(0, internalEditToken.initialName?.lastIndexOf('-copy'));
-        duplicateSingleToken({
-          description: internalEditToken.description ?? internalEditToken.oldDescription,
-          parent: activeTokenSet,
-          newName,
-          oldName,
-          type,
-          value: trimmedValue as SingleToken['value'],
-          tokenSets: selectedTokenSets,
-          ...($extensions ? { $extensions } : {}),
-        });
-      }
-    }
-  };
- 
-  const checkAndSubmitTokenValue = React.useCallback(() => {
-    if (internalEditToken.type === TokenTypes.DIMENSION && !isValidDimensionToken) {
-      setError(t('valueMustIncludePxOrRem', { ns: 'errors' }));
-      return;
-    }
-    if (isValid && internalEditToken) {
-      submitTokenValue(internalEditToken);
-      dispatch.uiState.setShowEditForm(false);
-    }
-  }, [dispatch, isValid, internalEditToken, submitTokenValue, isValidDimensionToken]);
- 
-  const handleFormSubmit = React.useCallback((e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    checkAndSubmitTokenValue();
-  }, [checkAndSubmitTokenValue]);
- 
-  const handleSaveShortcut = React.useCallback(
-    (e: KeyboardEvent) => {
-      if (e.metaKey || e.ctrlKey) {
-        checkAndSubmitTokenValue();
-      }
-    },
-    [checkAndSubmitTokenValue],
-  );
- 
-  useShortcut(['Enter'], handleSaveShortcut);
- 
-  const handleReset = React.useCallback(() => {
-    dispatch.uiState.setShowEditForm(false);
-  }, [dispatch]);
- 
-  const handleSelectedItemChange = React.useCallback((selectedItems: string[]) => {
-    setSelectedTokenSets(selectedItems);
-    if (selectedItems.length > 0) setError(null);
-  }, []);
- 
-  const renderTokenForm = () => {
-    if (!internalEditToken) return null;
- 
-    switch (internalEditToken.type) {
-      case TokenTypes.BOX_SHADOW: {
-        return (
-          <BoxShadowInput
-            handleBoxShadowValueChange={handleBoxShadowValueChange}
-            handleBoxShadowAliasValueChange={handleChange}
-            resolvedTokens={resolvedTokens}
-            internalEditToken={internalEditToken}
-            handleDownShiftInputChange={handleDownShiftInputChange}
-            onSubmit={checkAndSubmitTokenValue}
-          />
-        );
-      }
-      case TokenTypes.TYPOGRAPHY: {
-        return (
-          <TypographyInput
-            internalEditToken={internalEditToken}
-            handleTypographyValueChange={handleTypographyValueChange}
-            handleTypographyAliasValueChange={handleChange}
-            resolvedTokens={resolvedTokens}
-            handleTypographyValueDownShiftInputChange={handleTypographyValueDownShiftInputChange}
-            handleDownShiftInputChange={handleDownShiftInputChange}
-            setTypographyValue={setTypographyValue}
-            onSubmit={checkAndSubmitTokenValue}
-          />
-        );
-      }
-      case TokenTypes.COMPOSITION: {
-        return (
-          <CompositionTokenForm
-            internalEditToken={internalEditToken}
-            setTokenValue={handleCompositionChange}
-            resolvedTokens={resolvedTokens}
-            onSubmit={checkAndSubmitTokenValue}
-          />
-        );
-      }
-      case TokenTypes.BORDER: {
-        return (
-          <BorderTokenForm
-            internalEditToken={internalEditToken}
-            resolvedTokens={resolvedTokens}
-            handleBorderValueChange={handleBorderValueChange}
-            handleBorderValueDownShiftInputChange={handleBorderValueDownShiftInputChange}
-            handleBorderAliasValueChange={handleChange}
-            handleDownShiftInputChange={handleDownShiftInputChange}
-            setBorderValue={setBorderValue}
-            onSubmit={checkAndSubmitTokenValue}
-          />
-        );
-      }
-      case TokenTypes.COLOR: {
-        return (
-          <ColorTokenForm
-            internalEditToken={internalEditToken}
-            resolvedTokens={resolvedTokens}
-            resolvedValue={resolvedValue}
-            handleColorChange={handleChange}
-            handleColorDownShiftInputChange={handleDownShiftInputChange}
-            handleColorModifyChange={handleColorModifyChange}
-            handleRemoveColorModify={removeColorModify}
-            onSubmit={checkAndSubmitTokenValue}
-          />
-        );
-      }
-      default: {
-        return (
-          <div>
-            <DownshiftInput
-              value={internalEditToken.value}
-              type={internalEditToken.type}
-              label={internalEditToken.schema?.property}
-              resolvedTokens={resolvedTokens}
-              initialName={internalEditToken.initialName}
-              handleChange={handleChange}
-              handleBlur={handleBlur}
-              setInputValue={handleDownShiftInputChange}
-              placeholder="Value or {alias}"
-              suffix
-              onSubmit={checkAndSubmitTokenValue}
-            />
- 
-            {checkIfContainsAlias(internalEditToken.value) && (
-              <Box
-                css={{
-                  display: 'flex',
-                  padding: '$3',
-                  marginTop: '$3',
-                  fontFamily: '$mono',
-                  color: '$fgMuted',
-                  backgroundColor: '$bgSubtle',
-                  borderColor: '$borderSubtle',
-                  borderRadius: '$medium',
-                  fontSize: '$xxs',
-                  alignItems: 'center',
-                }}
-              >
-                {resolvedValue?.toString()}
-              </Box>
-            )}
-          </div>
-        );
-      }
-    }
-  };
- 
-  return (
-    <form onSubmit={handleFormSubmit}>
-      <Stack gap={3} direction="column" justify="start">
-        <Input
-          required
-          full
-          label={t('name')}
-          value={internalEditToken?.name}
-          onChange={handleNameChange}
-          type="text"
-          autofocus
-          name="name"
-          error={error}
-          placeholder={t('uniqueName')}
-        />
-        {renderTokenForm()}
- 
-        {internalEditToken?.schema?.explainer && (
-          <Text muted size="small">
-            {internalEditToken.schema.explainer}
-          </Text>
-        )}
-        <Box>
-          <Heading size="small">{t('description')}</Heading>
-          <Textarea
-            key="description"
-            value={internalEditToken?.description || ''}
-            placeholder={t('optionalDescription')}
-            onChange={handleDescriptionChange}
-            rows={3}
-            css={{ fontSize: '$xsmall', padding: '$3' }}
-          />
-        </Box>
-        {internalEditToken.status === EditTokenFormStatus.DUPLICATE && (
-          <Box>
-            <Label>{t('set', { ns: 'general' })}</Label>
-            <MultiSelectDropdown
-              menuItems={Object.keys(tokens)}
-              selectedItems={selectedTokenSets}
-              handleSelectedItemChange={handleSelectedItemChange}
-            />
-          </Box>
-        )}
-        <Stack direction="row" justify="end" gap={3}>
-          <Button variant="secondary" type="button" onClick={handleReset}>
-            {t('cancel')}
-          </Button>
-          <Button disabled={!isValid || !!error} variant="primary" type="submit">
-            {internalEditToken?.status === EditTokenFormStatus.CREATE && t('create')}
-            {internalEditToken?.status === EditTokenFormStatus.EDIT && t('save')}
-            {internalEditToken?.status !== EditTokenFormStatus.CREATE
-              && internalEditToken?.status !== EditTokenFormStatus.EDIT
-              && t('duplicate')}
-          </Button>
-        </Stack>
-      </Stack>
-    </form>
-  );
-}
- 
-export default EditTokenForm;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html deleted file mode 100644 index 351e69eab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/EditTokenFormModal.tsx.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - Code coverage report for src/app/components/EditTokenFormModal.tsx - - - - - - - - - -
-
-

All files / src/app/components EditTokenFormModal.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { useDispatch, useSelector } from 'react-redux';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { Dispatch } from '../store';
-import EditTokenForm from './EditTokenForm';
-import Modal from './Modal';
-import { editTokenSelector } from '@/selectors';
-import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import { showAutoSuggestSelector } from '@/selectors/showAutoSuggestSelector';
- 
-type Props = {
-  resolvedTokens: ResolveTokenValuesResult[];
-};
- 
-const EditTokenFormModal: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ resolvedTokens }) => {
-  const editToken = useSelector(editTokenSelector);
-  const showAutoSuggest = useSelector(showAutoSuggestSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const { t } = useTranslation(['tokens']);
- 
-  const handleReset = React.useCallback(() => {
-    if (!showAutoSuggest) {
-      dispatch.uiState.setShowEditForm(false);
-    }
-  }, [dispatch, showAutoSuggest]);
- 
-  if (!editToken) {
-    return null;
-  }
- 
-  return (
-    <Modal
-      compact
-      size="large"
-      isOpen
-      modal={false}
-      close={handleReset}
-      // eslint-disable-next-line no-nested-ternary
-      title={editToken.status === EditTokenFormStatus.CREATE ? t('newToken')
-        : editToken.status === EditTokenFormStatus.DUPLICATE ? t('duplicateToken') : editToken.initialName}
-    >
-      <EditTokenForm resolvedTokens={resolvedTokens} />
-    </Modal>
-  );
-};
- 
-export default EditTokenFormModal;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html deleted file mode 100644 index 0f72d9715..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/ErrorFallback.tsx.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/app/components/ErrorFallback/ErrorFallback.tsx - - - - - - - - - -
-
-

All files / src/app/components/ErrorFallback ErrorFallback.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Heading } from '@tokens-studio/ui';
-import Stack from '../Stack';
-import Text from '../Text';
- 
-export function ErrorFallback({ error }: { error: Error }) {
-  return (
-    <Stack direction="column" align="center" gap={4} justify="center" css={{ padding: '$4', height: '100%', textAlign: 'center' }}>
-      <Heading>An unexpected error has occured</Heading>
-      <Stack direction="column" gap={3}>
-        <Text size="xsmall" muted>{error.message}</Text>
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html deleted file mode 100644 index 69ff5a198..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/ErrorFallback - - - - - - - - - -
-
-

All files src/app/components/ErrorFallback

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ErrorFallback.tsx -
-
0%0/1100%0/00%0/10%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html deleted file mode 100644 index 4d8fd744b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorFallback/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/ErrorFallback/index.ts - - - - - - - - - -
-
-

All files / src/app/components/ErrorFallback index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './ErrorFallback';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html deleted file mode 100644 index 1c4f25414..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorMessage.tsx.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/components/ErrorMessage.tsx - - - - - - - - - -
-
-

All files / src/app/components ErrorMessage.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const ErrorMessage = styled('div', {
-  backgroundColor: '$dangerBg',
-  border: '1px solid $dangerBorder',
-  color: '$dangerFg',
-  borderRadius: '$small',
-  padding: '$4',
-  fontSize: '$xs',
-  fontWeight: '$sansBold',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html deleted file mode 100644 index 564c1ea6f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ErrorValidation.tsx.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/app/components/ErrorValidation.tsx - - - - - - - - - -
-
-

All files / src/app/components ErrorValidation.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const ErrorValidation = styled('div', {
-  color: '$dangerFg',
-  fontWeight: '$sansBold',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html deleted file mode 100644 index 90fdd3897..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExplainerModal.tsx.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/app/components/ExplainerModal.tsx - - - - - - - - - -
-
-

All files / src/app/components ExplainerModal.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { HelpCircle } from 'iconoir-react';
-import { IconButton, Stack } from '@tokens-studio/ui';
-import React from 'react';
-import Modal from './Modal';
- 
-export function ExplainerModal({ title, children, ...props }: { title: string, children: React.ReactNode }) {
-  const [open, setOpen] = React.useState(false);
-  const handleClose = React.useCallback(() => setOpen(false), []);
-  const handleOpen = React.useCallback(() => setOpen(true), []);
-  return (
-    <>
-      <Modal title={title} isOpen={open} close={handleClose} {...props} showClose>
-        <Stack direction="column" align="start" gap={4} css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
-          {children}
-        </Stack>
-      </Modal>
-      <IconButton icon={<HelpCircle />} variant="invisible" size="small" onClick={handleOpen} />
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html deleted file mode 100644 index d076463a0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/MultiFilesExport.tsx.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - Code coverage report for src/app/components/ExportProvider/MultiFilesExport.tsx - - - - - - - - - -
-
-

All files / src/app/components/ExportProvider MultiFilesExport.tsx

-
- -
- 0% - Statements - 0/22 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { useUIDSeed } from 'react-uid';
-import JSZip from 'jszip';
-import { saveAs } from 'file-saver';
-import { Button, Heading } from '@tokens-studio/ui';
-import convertTokensToObject from '@/utils/convertTokensToObject';
-import Stack from '../Stack';
-import { IconFile } from '@/icons';
-import {
-  tokensSelector, themesListSelector, storeTokenIdInJsonEditorSelector,
-} from '@/selectors';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { track } from '@/utils/analytics';
- 
-type Props = {
-  onClose: () => void;
-};
- 
-export default function MultiFilesExport({ onClose }: Props) {
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const seed = useUIDSeed();
- 
-  const filesChangeset = React.useMemo(() => {
-    const changeObj: Record<string, string> = {};
-    Object.entries(convertTokensToObject(tokens, storeTokenIdInJsonEditor)).forEach(([key, value]) => {
-      changeObj[`${key}.json`] = JSON.stringify(value, null, 2);
-    });
-    changeObj[`${SystemFilenames.THEMES}.json`] = JSON.stringify(themes, null, 2);
-    const metadata = {
-      tokenSetOrder: Object.keys(tokens),
-    };
-    changeObj[`${SystemFilenames.METADATA}.json`] = JSON.stringify(metadata, null, 2);
-    return changeObj;
-  }, [tokens, themes]);
- 
-  const downLoadDataAsZip = React.useCallback(() => {
-    const zip = new JSZip();
-    Object.entries(filesChangeset)?.forEach(([key, value]) => {
-      zip.file(key, value);
-    });
-    zip.generateAsync({ type: 'blob' })
-      .then((content) => {
-        saveAs(content, 'tokens.zip');
-      });
-    track('Export directory');
- 
-    onClose();
-  }, [filesChangeset, onClose]);
- 
-  return (
-    <Stack direction="column" gap={4}>
-      <Heading size="small">Preview</Heading>
-      <Stack
-        direction="column"
-        gap={3}
-        className="content scroll-container"
-        css={{
-          border: '1px solid',
-          borderColor: '$borderSubtle',
-          padding: '$4',
-          borderRadius: '$small',
-          maxHeight: '200px',
-        }}
-      >
-        {
-          Object.keys(filesChangeset)?.map((key, index) => (
-            <Stack direction="row" align="start" gap={3} css={{ fontSize: '$xsmall' }} key={seed(index)}>
-              <IconFile />
-              {key}
-            </Stack>
-          ))
-        }
-      </Stack>
-      <Stack width="full" direction="row" justify="end" gap={4}>
-        <Button variant="secondary" onClick={onClose}>
-          Cancel
-        </Button>
-        <Button variant="primary" onClick={downLoadDataAsZip}>
-          Export
-        </Button>
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html deleted file mode 100644 index eca3bd20f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/SingleFileExport.tsx.html +++ /dev/null @@ -1,595 +0,0 @@ - - - - - - Code coverage report for src/app/components/ExportProvider/SingleFileExport.tsx - - - - - - - - - -
-
-

All files / src/app/components/ExportProvider SingleFileExport.tsx

-
- -
- 0% - Statements - 0/33 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/10 -
- - -
- 0% - Lines - 0/32 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import set from 'set-value';
-import {
-  Button, Heading, Textarea, Checkbox,
-} from '@tokens-studio/ui';
-import useTokens from '@/app/store/useTokens';
-import {
-  themesListSelector, tokensSelector,
-} from '@/selectors';
-import Label from '../Label';
-import Box from '../Box';
-import Stack from '../Stack';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { track } from '@/utils/analytics';
- 
-type Props = {
-  onClose: () => void
-};
- 
-export default function SingleFileExport({ onClose }: Props) {
-  const { getFormattedTokens } = useTokens();
-  const [includeAllTokens, setIncludeAllTokens] = React.useState(false);
-  const [includeParent, setIncludeParent] = React.useState(true);
-  const [expandTypography, setExpandTypography] = React.useState(false);
-  const [expandShadow, setExpandShadow] = React.useState(false);
-  const [expandComposition, setExpandComposition] = React.useState(false);
-  const [expandBorder, setExpandBorder] = React.useState(false);
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
- 
-  const handleToggleIncludeAllTokens = React.useCallback(() => {
-    setIncludeAllTokens(!includeAllTokens);
-  }, [includeAllTokens]);
- 
-  const handleToggleIncludeParent = React.useCallback(() => {
-    setIncludeParent(!includeParent);
-  }, [includeParent]);
- 
-  const handleToggleExpandTypograhy = React.useCallback(() => {
-    setExpandTypography(!expandTypography);
-  }, [expandTypography]);
- 
-  const handleToggleExpandShadow = React.useCallback(() => {
-    setExpandShadow(!expandShadow);
-  }, [expandShadow]);
- 
-  const handleToggleExpandComposition = React.useCallback(() => {
-    setExpandComposition(!expandComposition);
-  }, [expandComposition]);
- 
-  const handleToggleExpandBorder = React.useCallback(() => {
-    setExpandBorder(!expandBorder);
-  }, [expandBorder]);
- 
-  const handleClickExport = React.useCallback(() => {
-    track('Export file', {
-      includeParent, includeAllTokens, expandComposition, expandShadow, expandTypography, expandBorder,
-    });
-    onClose();
-  }, [expandComposition, expandShadow, expandTypography, expandBorder, includeAllTokens, includeParent, onClose]);
- 
-  const formattedTokens = React.useMemo(() => getFormattedTokens({
-    includeAllTokens, includeParent, expandTypography, expandShadow, expandComposition, expandBorder,
-  }), [includeAllTokens, includeParent, expandTypography, expandShadow, expandComposition, expandBorder, getFormattedTokens]);
- 
-  const exportData = React.useMemo(() => {
-    const returnValue = JSON.parse(formattedTokens);
-    if (includeAllTokens) {
-      set(returnValue, SystemFilenames.THEMES, themes);
-      set(returnValue, SystemFilenames.METADATA, {
-        tokenSetOrder: Object.keys(tokens),
-      });
-    }
-    return JSON.stringify(returnValue, null, 2);
-  }, [formattedTokens, tokens, themes, includeAllTokens]);
- 
-  return (
-    <Stack gap={4} direction="column">
-      <Box css={{ display: 'flex', flexDirection: 'column', gap: 5 }}>
-        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
-          <Checkbox
-            id="includeAllTokens"
-            checked={includeAllTokens}
-            defaultChecked={includeAllTokens}
-            onCheckedChange={handleToggleIncludeAllTokens}
-          />
-          <Label htmlFor="includeAllTokens">All token sets</Label>
-        </Box>
-        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
-          <Checkbox
-            disabled={includeAllTokens}
-            id="includeParent"
-            checked={includeParent}
-            defaultChecked={includeParent}
-            onCheckedChange={handleToggleIncludeParent}
-          />
-          <Label disabled={includeAllTokens} htmlFor="includeParent">
-            Include parent key
-          </Label>
-        </Box>
-      </Box>
-      <Box css={{ display: 'flex', flexDirection: 'column', gap: 5 }}>
-        <Heading size="small">Options</Heading>
-        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
-          <Checkbox
-            id="expandTypography"
-            checked={expandTypography}
-            defaultChecked={expandTypography}
-            onCheckedChange={handleToggleExpandTypograhy}
-          />
-          <Label htmlFor="expandTypography">Expand Typography</Label>
-        </Box>
-        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
-          <Checkbox
-            id="expandShadow"
-            checked={expandShadow}
-            defaultChecked={expandShadow}
-            onCheckedChange={handleToggleExpandShadow}
-          />
-          <Label htmlFor="expandShadow">Expand Shadows</Label>
-        </Box>
-        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
-          <Checkbox
-            id="expandComposition"
-            checked={expandComposition}
-            defaultChecked={expandComposition}
-            onCheckedChange={handleToggleExpandComposition}
-          />
-          <Label htmlFor="expandComposition">Expand Composition</Label>
-        </Box>
-        <Box css={{ display: 'flex', alignItems: 'center', gap: 4 }}>
-          <Checkbox
-            id="expandBorder"
-            checked={expandBorder}
-            defaultChecked={expandBorder}
-            onCheckedChange={handleToggleExpandBorder}
-          />
-          <Label htmlFor="expandBorder">Expand Border</Label>
-        </Box>
-      </Box>
-      <Heading size="small">Preview</Heading>
-      <Textarea
-        rows={10}
-        disabled
-        value={exportData}
-        css={{
-          fontFamily: '$mono',
-          fontSize: '$xxsmall',
-          lineHeight: '140%',
-        }}
-      />
-      <Stack width="full" direction="row" justify="end" gap={4}>
-        <Button variant="secondary" onClick={onClose}>
-          Cancel
-        </Button>
-        <Button
-          as="a"
-          href={`data:text/json;charset=utf-8,${encodeURIComponent(exportData)}`}
-          // @ts-ignore Exception to allow setting the download prop here
-          download="tokens.json"
-          variant="primary"
-          onClick={handleClickExport}
-        >
-          Export
-        </Button>
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html deleted file mode 100644 index b55d9b744..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ExportProvider/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/ExportProvider - - - - - - - - - -
-
-

All files src/app/components/ExportProvider

-
- -
- 0% - Statements - 0/55 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/17 -
- - -
- 0% - Lines - 0/54 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
MultiFilesExport.tsx -
-
0%0/22100%0/00%0/70%0/22
SingleFileExport.tsx -
-
0%0/330%0/20%0/100%0/32
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html deleted file mode 100644 index c8e6c4083..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/FigmaLoading.tsx.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - Code coverage report for src/app/components/FigmaLoading.tsx - - - - - - - - - -
-
-

All files / src/app/components FigmaLoading.tsx

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { PropsWithChildren } from 'react';
-import { useTranslation } from 'react-i18next';
-import { Box, Spinner, Stack } from '@tokens-studio/ui';
-import TokensStudioIcon from '@/icons/tokensstudio.svg';
-import TokensStudioWord from '@/icons/tokensstudio-word.svg';
-import * as pjs from '../../../package.json';
-import { styled } from '@/stitches.config';
- 
-const StyledLoadingScreen = styled(Stack, {
-  background: '$loadingScreenBg',
-  height: '100vh',
-  color: '$loadingScreenFg',
-});
- 
-const StyledTokensStudioIcon = styled(TokensStudioIcon, {
-  width: '150px',
-  height: '125px',
-});
- 
-const StyledTokensStudioWord = styled(TokensStudioWord, {
-  width: '200px',
-  height: '25px',
-});
- 
-const StyledLoadingButton = styled('button', {
-  textDecoration: 'underline',
-  color: '$loadingScreenFgMuted',
-  '&:hover, &:focus': {
-    color: '$loadingScreenFg',
-  },
-});
- 
-type Props = PropsWithChildren<{
-  isLoading?: boolean
-  label?: string
-  onCancel?: () => void
-}>;
- 
-export default function FigmaLoading({
-  isLoading, label, onCancel, children,
-}: Props) {
-  const { t } = useTranslation(['startScreen']);
- 
-  if (!isLoading) {
-    return (
-      <Box>
-        {children}
-      </Box>
-    );
-  }
- 
-  return (
-    <StyledLoadingScreen data-testid="figmaloading" justify="center" direction="column" gap={4} className="content scroll-container">
-      <Stack direction="column" gap={4} align="center">
-        <Stack direction="column" gap={4} align="center">
-          <StyledTokensStudioIcon />
-          <StyledTokensStudioWord />
-        </Stack>
-        <Stack direction="column" gap={4} align="center" css={{ color: '$loadingScreenFgMuted' }}>
-          {t('version')}
-          {' '}
-          {pjs.version}
-        </Stack>
-        <Stack direction="row" gap={4} justify="center" align="center">
-          <Spinner onAccent />
-          <Stack direction="column" gap={4} justify="center" align="center">
-            {label ?? t('loadingWait')}
-          </Stack>
-        </Stack>
-        <Stack direction="row" gap={4}>
-          <StyledLoadingButton type="button" onClick={onCancel}>{t('cancel')}</StyledLoadingButton>
-        </Stack>
-      </Stack>
-    </StyledLoadingScreen>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html deleted file mode 100644 index cbbb733dc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/Flex.tsx.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/app/components/Flex/Flex.tsx - - - - - - - - - -
-
-

All files / src/app/components/Flex Flex.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const Flex = styled('div', {
-  display: 'flex',
-  variants: {
-    justifyContent: {
-      center: { justifyContent: 'center' },
-      start: { justifyContent: 'flex-start' },
-      end: { justifyContent: 'flex-end' },
-      between: { justifyContent: 'space-between' },
-      around: { justifyContent: 'space-around' },
-    },
-    alignItems: {
-      center: { alignItems: 'center' },
-      start: { alignItems: 'flex-start' },
-      end: { alignItems: 'flex-end' },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html deleted file mode 100644 index e5c38c4c7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/Flex - - - - - - - - - -
-
-

All files src/app/components/Flex

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Flex.tsx -
-
0%0/1100%0/0100%0/00%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html deleted file mode 100644 index 97918ebad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Flex/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/Flex/index.ts - - - - - - - - - -
-
-

All files / src/app/components/Flex index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export { Flex } from './Flex';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html deleted file mode 100644 index 57ed3d616..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Footer.tsx.html +++ /dev/null @@ -1,637 +0,0 @@ - - - - - - Code coverage report for src/app/components/Footer.tsx - - - - - - - - - -
-
-

All files / src/app/components Footer.tsx

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useSelector } from 'react-redux';
-import { DownloadIcon, UploadIcon } from '@primer/octicons-react';
-import { useTranslation } from 'react-i18next';
-import { Button, IconButton } from '@tokens-studio/ui';
-import { WarningTriangleSolid } from 'iconoir-react';
-import * as pjs from '../../../package.json';
-import Box from './Box';
-import Stack from './Stack';
-import BranchSelector from './BranchSelector';
-import useRemoteTokens from '../store/remoteTokens';
-import {
-  localApiStateSelector,
-  editProhibitedSelector,
-  storageTypeSelector,
-  usedTokenSetSelector,
-  projectURLSelector,
-  activeThemeSelector,
-  uiStateSelector,
-  tokensSizeSelector,
-  themesSizeSelector,
-} from '@/selectors';
-import DocsIcon from '@/icons/docs.svg';
-import RefreshIcon from '@/icons/refresh.svg';
-import FeedbackIcon from '@/icons/feedback.svg';
-import Tooltip from './Tooltip';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { isGitProvider } from '@/utils/is';
-import IconLibrary from '@/icons/library.svg';
-import ProBadge from './ProBadge';
-import { transformProviderName } from '@/utils/transformProviderName';
-import { DirtyStateBadgeWrapper } from './DirtyStateBadgeWrapper';
-import { useChangedState } from '@/hooks/useChangedState';
-import { docUrls } from '@/constants/docUrls';
-import { TokenFormatBadge } from './TokenFormatBadge';
-import { isEqual } from '@/utils/isEqual';
-import { useStorageSizeWarning } from '../hooks/useStorageSizeWarning';
- 
-export default function Footer() {
-  const storageType = useSelector(storageTypeSelector);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const localApiState = useSelector(localApiStateSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const tokensSize = useSelector(tokensSizeSelector);
-  const themesSize = useSelector(themesSizeSelector);
-  const projectURL = useSelector(projectURLSelector);
-  const uiState = useSelector(uiStateSelector, isEqual);
-  const { pullTokens, pushTokens, checkRemoteChange } = useRemoteTokens();
-  const { t } = useTranslation(['footer', 'licence']);
-  const activeTheme = useSelector(activeThemeSelector);
-  const { hasChanges: hasLocalChange } = useChangedState();
-  const { hasRemoteChange } = uiState;
- 
-  React.useEffect(() => {
-    const interval = setInterval(() => {
-      checkRemoteChange();
-    }, 60000);
-    return () => clearInterval(interval);
-  }, [checkRemoteChange]);
- 
-  const onPushButtonClicked = React.useCallback(() => pushTokens(), [pushTokens]);
-  const onPullButtonClicked = React.useCallback(() => pullTokens({ usedTokenSet, activeTheme }), [pullTokens, usedTokenSet, activeTheme]);
-  const handlePullTokens = useCallback(() => {
-    pullTokens({ usedTokenSet, activeTheme, updateLocalTokens: true });
-  }, [pullTokens, usedTokenSet, activeTheme]);
- 
-  const handleBadgeClick = useStorageSizeWarning();
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        alignItems: 'center',
-        justifyContent: 'space-between',
-        flexShrink: 0,
-        padding: '$3',
-        borderTop: '1px solid $borderMuted',
-      }}
-    >
-      <Stack direction="row" align="center" gap={2}>
-        {storageType.provider === StorageProviderType.LOCAL && (tokensSize > 100 || themesSize > 100) && (
-          <Button
-            icon={<WarningTriangleSolid />}
-            size="small"
-            variant="invisible"
-            onClick={handleBadgeClick}
-          >
-            {`${tokensSize > 100 ? tokensSize : themesSize} KB`}
-          </Button>
-        )}
-        {((isGitProvider(localApiState) && localApiState.branch) || storageType.provider === StorageProviderType.SUPERNOVA) && (
-          <>
-            <BranchSelector />
-            <TokenFormatBadge />
-            <DirtyStateBadgeWrapper badge={hasRemoteChange}>
-              <IconButton
-                data-testid="footer-pull-button"
-                icon={<DownloadIcon />}
-                onClick={onPullButtonClicked}
-                variant="invisible"
-                size="small"
-                tooltipSide="top"
-                tooltip={
-                  t('pullFrom', {
-                    provider: transformProviderName(storageType.provider),
-                  }) as string
-                }
-              />
-            </DirtyStateBadgeWrapper>
-            <DirtyStateBadgeWrapper badge={hasLocalChange}>
-              <IconButton
-                data-testid="footer-push-button"
-                icon={<UploadIcon />}
-                onClick={onPushButtonClicked}
-                variant="invisible"
-                size="small"
-                tooltipSide="top"
-                disabled={editProhibited || !hasLocalChange}
-                tooltip={
-                  t('pushTo', {
-                    provider: transformProviderName(storageType.provider),
-                  }) as string
-                }
-              />
-            </DirtyStateBadgeWrapper>
-          </>
-        )}
-        {storageType.provider !== StorageProviderType.LOCAL
-          && storageType.provider !== StorageProviderType.GITHUB
-          && storageType.provider !== StorageProviderType.GITLAB
-          && storageType.provider !== StorageProviderType.ADO
-          && storageType.provider !== StorageProviderType.BITBUCKET
-          && storageType.provider !== StorageProviderType.SUPERNOVA
-          ? (
-            <Stack align="center" direction="row" gap={2}>
-              {storageType.provider === StorageProviderType.JSONBIN && (
-                <Tooltip label={t('goTo', {
-                  provider: transformProviderName(storageType.provider),
-                }) as string}
-                >
-                  <IconButton icon={<IconLibrary />} href={projectURL} />
-                </Tooltip>
-              )}
-              <IconButton
-                tooltip={t('pullFrom', {
-                  provider: transformProviderName(storageType.provider),
-                }) as string}
-                onClick={handlePullTokens}
-                variant="invisible"
-                size="small"
-                icon={<RefreshIcon />}
-              />
-            </Stack>
-          ) : null}
-      </Stack>
-      <Stack direction="row" gap={4} align="center">
-        <Box css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
-          <a href="https://tokens.studio/changelog" target="_blank" rel="noreferrer">{`V ${pjs.version}`}</a>
-        </Box>
-        <Stack direction="row" gap={1}>
-          <ProBadge campaign="footer" />
-          <IconButton
-            as="a"
-            href={docUrls.root}
-            icon={<DocsIcon />}
-            variant="invisible"
-            size="small"
-            tooltip={t('docs') as string}
-            target="_blank"
-          />
-          <IconButton
-            as="a"
-            href="https://tokensstudio.featurebase.app/?b=65971b8c143e3c7207d29602"
-            icon={<FeedbackIcon />}
-            variant="invisible"
-            size="small"
-            tooltip={t('feedback') as string}
-            target="_blank"
-          />
-        </Stack>
-      </Stack>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html deleted file mode 100644 index d8aba3141..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/IconToggleableDisclosure.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/IconToggleableDisclosure.tsx - - - - - - - - - -
-
-

All files / src/app/components IconToggleableDisclosure.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
-import IconDisclosure from '@/icons/disclosure.svg';
- 
-const IconToggleableDisclosure = styled(
-  IconDisclosure,
-  {
-    transition: 'transform 0.2s ease-in-out',
-    variants: {
-      open: {
-        true: {
-          transform: 'rotate(0deg)',
-        },
-        false: {
-          transform: 'rotate(180deg)',
-        },
-      },
-    },
-  },
-);
- 
-export default IconToggleableDisclosure;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html deleted file mode 100644 index a717382ed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportVariablesDialog.tsx.html +++ /dev/null @@ -1,613 +0,0 @@ - - - - - - Code coverage report for src/app/components/ImportVariablesDialog.tsx - - - - - - - - - -
-
-

All files / src/app/components ImportVariablesDialog.tsx

-
- -
- 0% - Statements - 0/46 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/17 -
- - -
- 0% - Lines - 0/45 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useState, useCallback, useEffect } from 'react';
-import { useTranslation } from 'react-i18next';
-import { Button, Checkbox, Stack, Heading } from '@tokens-studio/ui';
-import Modal from './Modal';
-import Box from './Box';
-import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection';
- 
-type Props = {
-  isOpen: boolean;
-  onClose: () => void;
-  onConfirm: (selectedCollections: SelectedCollections, options: { useDimensions: boolean; useRem: boolean }) => void;
-  collections: VariableCollectionInfo[];
-};
- 
-export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, collections }: Props) {
-  const { t } = useTranslation();
-  const [selectedCollections, setSelectedCollections] = useState<SelectedCollections>({});
-  const [useDimensions, setUseDimensions] = useState(false);
-  const [useRem, setUseRem] = useState(false);
- 
-  // Initialize all collections as selected with all modes selected by default
-  useEffect(() => {
-    if (collections.length > 0) {
-      const initialSelection: SelectedCollections = {};
-      collections.forEach((collection) => {
-        initialSelection[collection.id] = {
-          name: collection.name,
-          selectedModes: collection.modes.map((mode) => mode.modeId),
-        };
-      });
-      setSelectedCollections(initialSelection);
-    }
-  }, [collections]);
- 
-  const handleCollectionToggle = useCallback((collectionId: string, collectionName: string, modes: { modeId: string; name: string }[]) => {
-    setSelectedCollections((prev) => {
-      const isCurrentlySelected = prev[collectionId];
-      if (isCurrentlySelected) {
-        // Remove collection
-        const newSelection = { ...prev };
-        delete newSelection[collectionId];
-        return newSelection;
-      } else {
-        // Add collection with all modes selected
-        return {
-          ...prev,
-          [collectionId]: {
-            name: collectionName,
-            selectedModes: modes.map((mode) => mode.modeId),
-          },
-        };
-      }
-    });
-  }, []);
- 
-  const handleModeToggle = useCallback((collectionId: string, modeId: string) => {
-    setSelectedCollections((prev) => {
-      const collection = prev[collectionId];
-      if (!collection) return prev;
- 
-      const isCurrentlySelected = collection.selectedModes.includes(modeId);
-      const newSelectedModes = isCurrentlySelected
-        ? collection.selectedModes.filter((id) => id !== modeId)
-        : [...collection.selectedModes, modeId];
- 
-      // If no modes are selected, remove the collection entirely
-      if (newSelectedModes.length === 0) {
-        const newSelection = { ...prev };
-        delete newSelection[collectionId];
-        return newSelection;
-      }
- 
-      return {
-        ...prev,
-        [collectionId]: {
-          ...collection,
-          selectedModes: newSelectedModes,
-        },
-      };
-    });
-  }, []);
- 
-  const handleConfirm = useCallback(() => {
-    onConfirm(selectedCollections, { useDimensions, useRem });
-  }, [selectedCollections, useDimensions, useRem, onConfirm]);
- 
-  const hasSelections = Object.keys(selectedCollections).length > 0;
- 
-  return (
-    <Modal
-      title="Import variables"
-      showClose
-      isOpen={isOpen}
-      close={onClose}
-      footer={(
-        <Stack direction="row" gap={4} justify="between">
-          <Button variant="secondary" onClick={onClose}>
-            Cancel
-          </Button>
-          <Button variant="primary" disabled={!hasSelections} onClick={handleConfirm}>
-            Import
-          </Button>
-        </Stack>
-      )}
-    >
-      <Stack direction="column" gap={4} css={{ padding: '$4' }}>
-        <Box css={{ fontSize: '$small', color: '$fgMuted' }}>
-          Select which variable collections and modes to import. Sets will be created for each selected mode.
-        </Box>
- 
-        {/* Options */}
-        <Stack direction="column" gap={2}>
-          <Heading size="small">Options</Heading>
-          <Checkbox
-            checked={useDimensions}
-            onCheckedChange={(checked) => setUseDimensions(checked === true)}
-            id="useDimensions"
-          >
-            Convert numbers to dimensions
-          </Checkbox>
-          <Checkbox
-            checked={useRem}
-            onCheckedChange={(checked) => setUseRem(checked === true)}
-            id="useRem"
-          >
-            Use rem for dimension values
-          </Checkbox>
-        </Stack>
- 
-        {/* Collections */}
-        <Stack direction="column" gap={3}>
-          <Heading size="small">Variable Collections</Heading>
-          {collections.map((collection) => {
-            const isCollectionSelected = !!selectedCollections[collection.id];
-            const selectedModes = selectedCollections[collection.id]?.selectedModes || [];
-            const allModesSelected = isCollectionSelected && selectedModes.length === collection.modes.length;
- 
-            return (
-              <Box key={collection.id} css={{ borderLeft: '2px solid $borderMuted', paddingLeft: '$3' }}>
-                <Stack direction="column" gap={2}>
-                  <Checkbox
-                    checked={isCollectionSelected}
-                    onCheckedChange={() => handleCollectionToggle(collection.id, collection.name, collection.modes)}
-                    id={`collection-${collection.id}`}
-                  >
-                    <strong>{collection.name}</strong>
-                  </Checkbox>
-                  
-                  {isCollectionSelected && (
-                    <Stack direction="column" gap={1} css={{ marginLeft: '$4' }}>
-                      {collection.modes.map((mode) => (
-                        <Checkbox
-                          key={mode.modeId}
-                          checked={selectedModes.includes(mode.modeId)}
-                          onCheckedChange={() => handleModeToggle(collection.id, mode.modeId)}
-                          id={`mode-${collection.id}-${mode.modeId}`}
-                        >
-                          {mode.name}
-                        </Checkbox>
-                      ))}
-                    </Stack>
-                  )}
-                </Stack>
-              </Box>
-            );
-          })}
-        </Stack>
- 
-        {!hasSelections && (
-          <Box css={{ padding: '$3', backgroundColor: '$dangerBg', color: '$dangerFg', borderRadius: '$small' }}>
-            Please select at least one collection and mode to import.
-          </Box>
-        )}
-      </Stack>
-    </Modal>
-  );
-}
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html deleted file mode 100644 index 3cedfe826..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ImportedTokensDialog.tsx.html +++ /dev/null @@ -1,1174 +0,0 @@ - - - - - - Code coverage report for src/app/components/ImportedTokensDialog.tsx - - - - - - - - - -
-
-

All files / src/app/components ImportedTokensDialog.tsx

-
- -
- 0% - Statements - 0/86 -
- - -
- 0% - Branches - 0/39 -
- - -
- 0% - Functions - 0/34 -
- - -
- 0% - Lines - 0/75 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { IconButton, Button } from '@tokens-studio/ui';
-import Modal from './Modal';
-import { Dispatch } from '../store';
-import useManageTokens from '../store/useManageTokens';
-import {
-  activeTokenSetSelector, importedTokensSelector, importedThemesSelector, themesListSelector,
-} from '@/selectors';
-import Stack from './Stack';
-import AddIcon from '@/icons/add.svg';
-import TrashIcon from '@/icons/trash.svg';
-import Box from './Box';
-import { ImportToken } from '@/types/tokens';
-import Text from './Text';
-import Accordion from './Accordion';
-import { Count } from './Count';
-import { track } from '@/utils/analytics';
- 
-function NewOrExistingToken({
-  token,
-  updateAction,
-  removeToken,
-  updateToken,
-  index,
-}: {
-  token: ImportToken;
-  updateAction: string;
-  index: number;
-  removeToken: (token: ImportToken, index: number) => void;
-  updateToken: (token: ImportToken, index: number) => void;
-}) {
-  const { t } = useTranslation(['general', 'tokens']);
-  const onRemoveToken = React.useCallback(() => {
-    removeToken(token, index);
-  }, [removeToken, token, index]);
- 
-  const onUpdateToken = React.useCallback(() => {
-    updateToken(token, index);
-  }, [updateToken, token, index]);
- 
-  const importedTokens = useSelector(importedTokensSelector);
- 
-  const allParents = [...new Set([...importedTokens.newTokens.map((newToken: ImportToken) => newToken.parent), ...importedTokens.updatedTokens.map((updatedToken) => updatedToken.parent)])];
-  const isMultiParent = allParents.length > 1;
- 
-  return (
-    <Stack direction="row" justify="between">
-      <Stack direction="column" gap={1}>
-        <Stack direction="row" gap={2}>
-          {isMultiParent && (<Text size="small" muted>{token.parent}</Text>)}
-          <Text bold size="small">{token.name}</Text>
-        </Stack>
-        <Stack direction="row" align="center" gap={1}>
-          <Box css={{
-            padding: '$2',
-            wordBreak: 'break-all',
-            fontWeight: '$sansBold',
-            borderRadius: '$small',
-            fontSize: '$xsmall',
-            backgroundColor: '$successBg',
-            color: '$successFg',
-          }}
-          >
-            {typeof token.value === 'object' ? JSON.stringify(token.value) : token.value}
-          </Box>
-          {token.oldValue ? (
-            <Box css={{
-              padding: '$2',
-              wordBreak: 'break-all',
-              fontWeight: '$sansBold',
-              borderRadius: '$small',
-              fontSize: '$xsmall',
-              backgroundColor: '$dangerBg',
-              color: '$dangerFg',
-            }}
-            >
-              {typeof token.oldValue === 'object' ? JSON.stringify(token.oldValue) : token.oldValue}
-            </Box>
-          ) : null}
-        </Stack>
-        {(token.description || token.oldDescription) && (
-          <Text size="small">
-            {token.description}
-            {' '}
-            {token.oldDescription ? ` (before: ${token.oldDescription})` : ''}
-          </Text>
-        )}
-      </Stack>
-      <Stack direction="row" align="center" gap={1}>
-        <IconButton variant="invisible" size="small" data-testid="imported-tokens-dialog-update-button" tooltip={updateAction} icon={<AddIcon />} onClick={onUpdateToken} />
-        <IconButton variant="invisible" size="small" data-testid="imported-tokens-dialog-remove-button" tooltip={t('ignore')} icon={<TrashIcon />} onClick={onRemoveToken} />
-      </Stack>
-    </Stack>
-  );
-}
- 
-export default function ImportedTokensDialog() {
-  const dispatch = useDispatch<Dispatch>();
-  const { editSingleToken, createSingleToken, importMultipleTokens } = useManageTokens();
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const themes = useSelector(themesListSelector);
-  const importedTokens = useSelector(importedTokensSelector);
-  const importedThemes = useSelector(importedThemesSelector);
-  const [newThemes, setNewThemes] = React.useState(importedThemes.newThemes);
-  const [updatedThemes, setUpdatedThemes] = React.useState(importedThemes.updatedThemes);
-  const [newTokens, setNewTokens] = React.useState(importedTokens.newTokens);
-  const [updatedTokens, setUpdatedTokens] = React.useState(importedTokens.updatedTokens);
- 
-  const { t } = useTranslation(['tokens']);
- 
-  const handleIgnoreExistingToken = React.useCallback((token, index) => {
-    const tokens = updatedTokens.filter((updatedToken) => updatedTokens.indexOf(updatedToken) !== index);
-    setUpdatedTokens(tokens);
-  }, [setUpdatedTokens, updatedTokens]);
- 
-  const handleIgnoreNewToken = React.useCallback((token, index) => {
-    setNewTokens(newTokens.filter((newToken) => newTokens.indexOf(newToken) !== index));
-  }, [setNewTokens, newTokens]);
- 
-  const handleCreateAllClick = React.useCallback(() => {
-    const multipleNewTokens = newTokens.map((token) => ({
-      parent: token.parent || activeTokenSet,
-      name: token.name,
-      value: token.value,
-      type: token.type,
-      description: token.description,
-      shouldUpdateDocument: false,
-    }));
- 
-    // Create new Tokens
-    importMultipleTokens({ multipleNewTokens });
-    setNewTokens([]);
-  }, [activeTokenSet, importMultipleTokens, newTokens]);
- 
-  const handleUpdateAllClick = React.useCallback(() => {
-    const multipleUpdatedTokens = updatedTokens.map((token) => ({
-      parent: token.parent || activeTokenSet,
-      name: token.name,
-      value: token.value,
-      type: token.type,
-      description: token.description,
-      shouldUpdateDocument: false,
-    }));
- 
-    // Update all existing tokens
-    importMultipleTokens({ multipleUpdatedTokens });
-    setUpdatedTokens([]);
-  }, [updatedTokens, importMultipleTokens, activeTokenSet]);
- 
-  const handleImportAllClick = React.useCallback(() => {
-    const multipleUpdatedTokens = updatedTokens.map((token) => ({
-      parent: token.parent || activeTokenSet,
-      name: token.name,
-      value: token.value,
-      type: token.type,
-      description: token.description,
-      shouldUpdateDocument: false,
-    }));
- 
-    const multipleNewTokens = newTokens.map((token) => ({
-      parent: token.parent || activeTokenSet,
-      name: token.name,
-      value: token.value,
-      type: token.type,
-      description: token.description,
-      shouldUpdateDocument: false,
-    }));
- 
-    if (newThemes.length > 0 || updatedThemes.length > 0) {
-      dispatch.tokenState.setThemes([
-        ...themes.filter((theme) => !updatedThemes.some((updatedTheme) => updatedTheme.group === theme.group)),
-        ...newThemes,
-        ...updatedThemes,
-      ]);
-    }
- 
-    // Update all existing tokens, and create new ones
-    importMultipleTokens({ multipleUpdatedTokens, multipleNewTokens });
- 
-    const combinedTokens = [...multipleUpdatedTokens, ...multipleNewTokens];
- 
-    const uniqueCollectionCount = combinedTokens.reduce((acc, token) => {
-      if (token.parent && !acc.includes(token.parent)) {
-        acc.push(token.parent);
-      }
-      return acc;
-    }, [] as string[]).length;
- 
-    track('Import variables', {
-      totalCount: multipleUpdatedTokens.length + multipleNewTokens.length,
-      updatedCount: multipleUpdatedTokens.length,
-      newCount: multipleNewTokens.length,
-      colorTokens: combinedTokens.filter((token) => token.type === 'color').length,
-      textTokens: combinedTokens.filter((token) => token.type === 'text').length,
-      numberTokens: combinedTokens.filter((token) => token.type === 'number').length,
-      booleanTokens: combinedTokens.filter((token) => token.type === 'boolean').length,
-      dimensionTokens: combinedTokens.filter((token) => token.type === 'dimension').length,
-      collectionCount: uniqueCollectionCount,
-    });
- 
-    setUpdatedTokens([]);
-    setNewTokens([]);
-    setNewThemes([]);
-    setUpdatedThemes([]);
-  }, [activeTokenSet, importMultipleTokens, newTokens, updatedTokens, themes, newThemes, updatedThemes, dispatch]);
- 
-  const handleCreateSingleClick = React.useCallback((token: any) => {
-    // Create new tokens according to styles
-    createSingleToken({
-      parent: activeTokenSet,
-      name: token.name,
-      value: token.value,
-      type: token.type,
-      description: token.description,
-      shouldUpdateDocument: false,
-    });
-    track('Import single variable', { type: token.type });
-    setNewTokens(newTokens.filter((newToken) => newToken.name !== token.name));
-  }, [newTokens, activeTokenSet, createSingleToken]);
- 
-  const handleUpdateSingleClick = React.useCallback((token: any) => {
-    // Go through each token that needs to be updated
-    editSingleToken({
-      parent: activeTokenSet,
-      name: token.name,
-      value: token.value,
-      type: token.type,
-      description: token.description,
-      shouldUpdateDocument: false,
-    });
-    track('Update single variable', { type: token.type });
- 
-    setUpdatedTokens(updatedTokens.filter((updatedToken) => updatedToken.name !== token.name));
-  }, [updatedTokens, editSingleToken, activeTokenSet]);
- 
-  const handleClose = React.useCallback(() => {
-    dispatch.tokenState.resetImportedTokens();
-  }, [dispatch]);
- 
-  // If the imported tokens change, update the state
-  React.useEffect(() => {
-    setNewTokens(importedTokens.newTokens);
-    setUpdatedTokens(importedTokens.updatedTokens);
-  }, [importedTokens.newTokens, importedTokens.updatedTokens]);
- 
-  React.useEffect(() => {
-    setNewThemes(importedThemes.newThemes);
-    setUpdatedThemes(importedThemes.updatedThemes);
-  }, [importedThemes.newThemes, importedThemes.updatedThemes]);
- 
-  const ListLength = 50;
- 
-  return (
-    <Modal
-      title={t('importVariables', { ns: 'tokens' })}
-      size="large"
-      showClose
-      isOpen={newTokens.length > 0 || updatedTokens.length > 0}
-      close={handleClose}
-      stickyFooter
-      footer={(
-        <Stack direction="row" justify="end" gap={2}>
-          <Button variant="secondary" data-testid="button-import-close" onClick={handleClose}>
-            {t('cancel')}
-          </Button>
-          <Button variant="primary" data-testid="button-import-all" onClick={handleImportAllClick}>
-            {t('importAll')}
-          </Button>
-        </Stack>
-      )}
-    >
-      <Stack direction="column" gap={6}>
-        {newTokens.length > 0 && (
-          <Accordion
-            label={t('newTokens', { ns: 'tokens' })}
-            isOpenByDefault
-            extra={(
-              <Stack direction="row" gap={2} align="center">
-                <Count count={newTokens.length} />
-                {' '}
-                <Button variant="secondary" data-testid="button-import-create-all" onClick={handleCreateAllClick}>
-                  {t('createAll', { ns: 'tokens' })}
-                </Button>
-              </Stack>
-            )}
-          >
-            {
-              newTokens.slice(0, ListLength - 1).map((token, index) => (
-                <NewOrExistingToken
-                  key={token.parent + token.name}
-                  index={index}
-                  token={token}
-                  updateAction="Create New"
-                  removeToken={handleIgnoreNewToken}
-                  updateToken={handleCreateSingleClick}
-                />
-              ))
-}
-            {' '}
-            {newTokens.length > ListLength && (
-            <Text
-              css={{ marginBlockStart: '$3' }}
-              size="small"
-            >
-              ...
-              {' '}
-              {t('and', { ns: 'general' })}
-              {' '}
-              {newTokens.length - ListLength}
-              {' '}
-              {t('more', { ns: 'general' })}
- 
-            </Text>
-            )}
- 
-          </Accordion>
-        )}
-        {updatedTokens.length > 0 && (
-          <Accordion
-            label={t('existingTokens', { ns: 'tokens' })}
-            isOpenByDefault
-            extra={(
-              <Stack direction="row" gap={2} align="center">
-                <Count count={updatedTokens.length} />
-                {' '}
-                <Button variant="secondary" data-testid="button-import-update-all" onClick={handleUpdateAllClick}>
-                  {t('updateAll')}
-                </Button>
-              </Stack>
-            )}
-          >
-            {
-              updatedTokens.slice(0, ListLength).map((token, index) => (
-                <NewOrExistingToken
-                  key={token.parent + token.name}
-                  token={token}
-                  index={index}
-                  updateAction="Update Existing"
-                  removeToken={handleIgnoreExistingToken}
-                  updateToken={handleUpdateSingleClick}
-                />
-              ))
-            }
-            { updatedTokens.length > 4 && (
- 
-            <Text css={{ marginBlockStart: '$3' }} size="small">
-              ...
-              {' '}
-              {t('and', { ns: 'general' })}
-              {' '}
-              {updatedTokens.length - ListLength}
-              {' '}
-              {t('more', { ns: 'general' })}
-            </Text>
-            )}
-          </Accordion>
-        )}
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html deleted file mode 100644 index 8fb5b3344..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Initiator.tsx.html +++ /dev/null @@ -1,640 +0,0 @@ - - - - - - Code coverage report for src/app/components/Initiator.tsx - - - - - - - - - -
-
-

All files / src/app/components Initiator.tsx

-
- -
- 0% - Statements - 0/94 -
- - -
- 0% - Branches - 0/40 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/92 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as Sentry from '@sentry/react';
-import { useEffect } from 'react';
-import { useDispatch } from 'react-redux';
-import { MessageFromPluginTypes, PostToUIMessage } from '@/types/messages';
-import useRemoteTokens from '../store/remoteTokens';
-import { Dispatch } from '../store';
-import useStorage from '../store/useStorage';
-import { sortSelectionValueByProperties } from '@/utils/sortSelectionValueByProperties';
-import { convertToOrderObj } from '@/utils/convertToOrderObj';
-import { Properties } from '@/constants/Properties';
-import { Tabs } from '@/constants/Tabs';
-import { hasTokenValues } from '@/utils/hasTokenValues';
-import { track } from '@/utils/analytics';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageChannelPreview } from '@/AsyncMessageChannelPreview';
- 
-// @README this component is not the "Initiator" anymore - as it is named
-// but solely acts as the interface between the plugin and the UI
- 
-const parseWsEvent = (event) => {
-  try {
-    const msg = JSON.parse(event.data);
-    if (msg.src === 'server') {
-      const temp = JSON.parse(msg.message);
-      return temp;
-    }
-  } catch (err) {
-    console.error('not a valid message', err);
-    return null;
-  }
-  return null;
-};
- 
-export function Initiator() {
-  const dispatch = useDispatch<Dispatch>();
-  const { pullTokens, fetchBranches } = useRemoteTokens();
-  const { setStorageType } = useStorage();
- 
-  useEffect(() => {
-    const onMessageEvent = async (event: {
-      data: {
-        pluginMessage: PostToUIMessage;
-      };
-    }) => {
-      if (event.data.pluginMessage) {
-        const { pluginMessage } = event.data;
-        switch (pluginMessage.type) {
-          case MessageFromPluginTypes.SELECTION: {
-            const { selectionValues, mainNodeSelectionValues, selectedNodes } = pluginMessage;
-            dispatch.uiState.setSelectedLayers(selectedNodes);
-            dispatch.uiState.setDisabled(false);
-            if (mainNodeSelectionValues.length > 1) {
-              const allMainNodeSelectionValues = mainNodeSelectionValues.reduce((acc, crr) => (
-                Object.assign(acc, crr)
-              ), {});
-              const sortedMainNodeSelectionValues = sortSelectionValueByProperties(allMainNodeSelectionValues);
-              dispatch.uiState.setMainNodeSelectionValues(sortedMainNodeSelectionValues);
-            } else if (mainNodeSelectionValues.length > 0) {
-              // When only one node is selected, we can set the state
-              const sortedMainNodeSelectionValues = sortSelectionValueByProperties(mainNodeSelectionValues[0]);
-              dispatch.uiState.setMainNodeSelectionValues(sortedMainNodeSelectionValues);
-            } else {
-              // When only one is selected and it doesn't contain any tokens, reset.
-              dispatch.uiState.setMainNodeSelectionValues({});
-            }
- 
-            // Selection values are all tokens across all layers, used in Multi Inspector.
-            if (selectionValues) {
-              const orderObj = convertToOrderObj(Properties);
-              const sortedSelectionValues = selectionValues.sort((a, b) => orderObj[a.type] - orderObj[b.type]);
-              dispatch.uiState.setSelectionValues(sortedSelectionValues);
-            } else {
-              dispatch.uiState.resetSelectionValues();
-            }
-            break;
-          }
-          case MessageFromPluginTypes.NO_SELECTION: {
-            dispatch.uiState.setDisabled(true);
-            dispatch.uiState.setSelectedLayers(0);
-            dispatch.uiState.resetSelectionValues();
-            dispatch.uiState.setMainNodeSelectionValues({});
-            break;
-          }
-          case MessageFromPluginTypes.SET_TOKENS: {
-            const { values } = pluginMessage;
-            if (values) {
-              dispatch.tokenState.setTokenData(values);
-              const existTokens = hasTokenValues(values?.values ?? {});
-              if (existTokens) dispatch.uiState.setActiveTab(Tabs.TOKENS);
-              else dispatch.uiState.setActiveTab(Tabs.START);
-            }
-            break;
-          }
-          case MessageFromPluginTypes.NOTIFY_EXCEPTION: {
-            Sentry.captureException({ error: pluginMessage.error, ...pluginMessage.opts });
-            break;
-          }
-          case MessageFromPluginTypes.TRACK_FROM_PLUGIN: {
-            track(pluginMessage.title, pluginMessage.opts);
-            break;
-          }
-          case MessageFromPluginTypes.API_PROVIDERS: {
-            dispatch.uiState.setAPIProviders(pluginMessage.providers);
-            break;
-          }
-          case MessageFromPluginTypes.UI_SETTINGS: {
-            dispatch.settings.setUISettings(pluginMessage.settings);
-            dispatch.settings.triggerWindowChange();
-            break;
-          }
-          case MessageFromPluginTypes.STYLES: {
-            const { values } = pluginMessage;
-            if (values) {
-              track('Import styles');
-              dispatch.tokenState.setTokensFromStyles(values);
-              dispatch.uiState.setActiveTab(Tabs.TOKENS);
-            }
-            break;
-          }
- 
-          case MessageFromPluginTypes.VARIABLES: {
-            const { values, themes } = pluginMessage;
-            if (values) {
-              dispatch.tokenState.setTokensFromVariables(values);
-              dispatch.uiState.setActiveTab(Tabs.TOKENS);
-            }
-            if (themes) {
-              dispatch.tokenState.setThemesFromVariables(themes);
-            }
-            break;
-          }
- 
-          case MessageFromPluginTypes.SHOW_EMPTY_GROUPS: {
-            dispatch.uiState.toggleShowEmptyGroups(pluginMessage.showEmptyGroups);
-            break;
-          }
-          case MessageFromPluginTypes.START_JOB: {
-            dispatch.uiState.startJob(pluginMessage.job);
-            break;
-          }
-          case MessageFromPluginTypes.COMPLETE_JOB: {
-            dispatch.uiState.completeJob(pluginMessage.name);
-            break;
-          }
-          case MessageFromPluginTypes.CLEAR_JOBS: {
-            dispatch.uiState.clearJobs();
-            break;
-          }
-          case MessageFromPluginTypes.ADD_JOB_TASKS: {
-            dispatch.uiState.addJobTasks({
-              name: pluginMessage.name,
-              count: pluginMessage.count,
-              expectedTimePerTask: pluginMessage.expectedTimePerTask,
-            });
-            break;
-          }
-          case MessageFromPluginTypes.COMPLETE_JOB_TASKS: {
-            dispatch.uiState.completeJobTasks({
-              name: pluginMessage.name,
-              count: pluginMessage.count,
-              timePerTask: pluginMessage.timePerTask,
-            });
-            break;
-          }
-          default:
-            break;
-        }
-      }
-    };
-    if (process.env.PREVIEW_ENV === 'browser') {
-      const listener = (e) => {
-        const event = parseWsEvent(e);
-        onMessageEvent({ data: { pluginMessage: event } });
-      };
-      (AsyncMessageChannel as typeof AsyncMessageChannelPreview).ReactInstance.getWs()?.addEventListener('message', listener);
-      return () => {
-        (AsyncMessageChannel as typeof AsyncMessageChannelPreview).ReactInstance.getWs()?.removeEventListener('message', listener);
-      };
-    }
-    window.onmessage = onMessageEvent;
-    return () => {};
-  }, [dispatch, pullTokens, fetchBranches, setStorageType]);
- 
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html deleted file mode 100644 index a220973a6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Input.tsx.html +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - Code coverage report for src/app/components/Input.tsx - - - - - - - - - -
-
-

All files / src/app/components Input.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/43 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { styled } from '@/stitches.config';
-import IconVisibility from '@/icons/visibilityon.svg';
-import IconVisibilityOff from '@/icons/visibilityoff.svg';
-import type { StitchesCSS } from '@/types';
-import Box from './Box';
-import Stack from './Stack';
-import { ErrorValidation } from './ErrorValidation';
- 
-type Props = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> & {
-  form?: string;
-  name?: string;
-  inputRef?: React.MutableRefObject<HTMLInputElement | null>;
-  error?: string | null;
-  required?: boolean;
-  autofocus?: boolean;
-  tabindex?: number | null;
-  label?: string | null;
-  full?: boolean;
-  value?: string | number;
-  defaultValue?: string | number;
-  type?: string;
-  custom?: string;
-  placeholder?: string;
-  prefix?: React.ReactNode;
-  suffix?: React.ReactNode;
-  step?: string;
-  isMasked?: boolean;
-  onChange?: React.ChangeEventHandler<HTMLInputElement>;
-  disabled?: boolean;
-  size?: 'small' | 'large';
-  css?: StitchesCSS
-};
- 
-const StyledIcon = styled('div', {
-  width: '20px',
-  height: '20px',
-  marginRight: '4px',
-  marginLeft: '4px',
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'center',
-  cursor: 'pointer',
-});
- 
-const StyledInput = styled('input', {
-  padding: '0 $3',
-  flexGrow: 1,
-  width: '100%',
-  backgroundColor: '$bgDefault',
-  border: '1px solid $borderMuted',
-  fontSize: '$xsmall',
-  borderRadius: '$small',
-  position: 'relative',
- 
-  '&:focus-within': {
-    boxShadow: '$focus',
-  },
- 
-  variants: {
-    size: {
-      small: {
-        height: '$controlSmall',
-      },
-      large: {
-        height: '$controlLarge',
-      },
-    },
-    hasSuffix: {
-      true: {
-        borderTopRightRadius: 0,
-        borderBottomRightRadius: 0,
-        borderRight: 0,
-      },
-    },
-    hasPrefix: {
-      true: {
-        borderTopLeftRadius: 0,
-        borderBottomLeftRadius: 0,
-      },
-    },
-  },
-});
- 
-const StyledSuffix = styled('button', {
-  backgroundColor: '$bgDefault',
-  border: '1px solid $borderMuted',
-  borderTopLeftRadius: 0,
-  borderBottomLeftRadius: 0,
-  borderLeft: 0,
-  display: 'flex',
-  alignItems: 'center',
- 
-  '&:focus': {
-    outline: 'none',
-    backgroundColor: '$accentDefault',
-    color: '$fgOnEmphasis',
-  },
- 
-  variants: {
-    size: {
-      small: {
-        width: '$controlSmall',
-        height: '$controlSmall',
-      },
-      large: {
-        width: '$controlLarge',
-        height: '$controlLarge',
-      },
-    },
-  },
-});
- 
-const StyledPrefix = styled('div', {
-  padding: '0 $3',
-  height: '$controlSmall',
-  flexShrink: 0,
-  border: '1px solid $borderMuted',
-  borderRadius: '$small',
-  borderTopRightRadius: 0,
-  borderBottomRightRadius: 0,
-  borderRight: 0,
-  backgroundColor: '$bgDefault',
-  display: 'flex',
-  alignItems: 'center',
-  fontSize: '$xsmall',
-  color: '$fgMuted',
- 
-  '&:focus': {
-    outline: 'none',
-    boxShadow: 'none',
-    backgroundColor: '$bgSubtle',
-  },
- 
-  variants: {
-    isText: {
-      true: {
-        minWidth: '60px',
-      },
-    },
-    isComposition: {
-      true: {
-        padding: '0',
-      },
-    },
-  },
-});
- 
-const StyledLabel = styled('label', {
-  display: 'block',
-  fontWeight: '$sansBold',
-  fontSize: '$small',
-});
- 
-const Input = React.forwardRef<HTMLInputElement, Props>(({
-  form,
-  name,
-  autofocus,
-  error = '',
-  required = false,
-  tabindex = null,
-  label = null,
-  full,
-  onChange,
-  value,
-  defaultValue,
-  type,
-  prefix,
-  suffix,
-  step,
-  custom = '',
-  inputRef,
-  placeholder = '',
-  isMasked = false,
-  size = 'small',
-  ...inputProps
-}, ref) => {
-  // if isMasked is true, then we need to handle toggle visibility
-  const [show, setShow] = React.useState(false);
-  const htmlInputRef = React.useRef<HTMLInputElement>(null);
-  const reifiedRef = inputRef || htmlInputRef;
- 
-  const handleVisibility = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {
-    e.preventDefault();
-    setShow(!show);
-    if (reifiedRef?.current?.type) {
-      reifiedRef.current.type = reifiedRef?.current?.type === 'password' ? 'text' : 'password';
-    }
-  }, [show, reifiedRef]);
- 
-  React.useEffect(() => {
-    if (autofocus && htmlInputRef && htmlInputRef.current) {
-      htmlInputRef.current.focus();
-    }
-  }, [autofocus, htmlInputRef]);
- 
-  return (
-    <StyledLabel htmlFor={name} css={{ width: full ? '100%' : '' }}>
-      {(!!label || !!error) && (
-        <Stack direction="row" justify="between" align="center" css={{ marginBottom: '$1' }}>
-          {label || null}
-          {error ? (
-            <ErrorValidation>{error}</ErrorValidation>
-          ) : null}
-        </Stack>
-      )}
-      <Box css={{ display: 'flex', position: 'relative', width: full ? '100%' : '' }} className="input">
-        {!!prefix && <StyledPrefix>{prefix}</StyledPrefix>}
-        <StyledInput
-          form={form}
-          ref={inputRef || ref || htmlInputRef}
-          spellCheck={false}
-          tabIndex={tabindex ?? undefined}
-          type={type}
-          value={value}
-          defaultValue={defaultValue}
-          name={name}
-          onChange={onChange}
-          required={required}
-          autoFocus={autofocus}
-          step={step}
-          data-custom={custom}
-          placeholder={placeholder}
-          hasPrefix={!!prefix}
-          hasSuffix={!!isMasked}
-          size={size}
-          data-testid={`input-${name}`}
-          {...inputProps}
-        />
-        {!!suffix && <span>{suffix}</span>}
-        {isMasked && (
-          <StyledSuffix type="button" onClick={handleVisibility}>
-            <StyledIcon>{show ? <IconVisibility /> : <IconVisibilityOff />}</StyledIcon>
-          </StyledSuffix>
-        )}
-      </Box>
-    </StyledLabel>
-  );
-});
- 
-export default Input;
-export { StyledInput, StyledPrefix, StyledSuffix };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html deleted file mode 100644 index 25ef99f08..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectSearchOptionDropdown.tsx.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - Code coverage report for src/app/components/InspectSearchOptionDropdown.tsx - - - - - - - - - -
-
-

All files / src/app/components InspectSearchOptionDropdown.tsx

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { Check } from 'iconoir-react';
-import { useDispatch, useSelector } from 'react-redux';
-import { DropdownMenu, IconButton } from '@tokens-studio/ui';
-import { inspectStateSelector } from '@/selectors';
-import { Dispatch } from '../store';
-import { isEqual } from '@/utils/isEqual';
-import { IconSettings } from '@/icons';
- 
-export default function InspectSearchOptionDropdown() {
-  const inspectState = useSelector(inspectStateSelector, isEqual);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const handleIsShowBrokenReferences = React.useCallback((checked: boolean) => {
-    dispatch.inspectState.toggleShowBrokenReferences(checked);
-  }, [dispatch.inspectState]);
- 
-  const handleIsShowResolvedReferences = React.useCallback((checked: boolean) => {
-    dispatch.inspectState.toggleShowResolvedReferences(checked);
-  }, [dispatch.inspectState]);
- 
-  const { t } = useTranslation(['inspect']);
- 
-  return (
-    <DropdownMenu>
-      <DropdownMenu.Trigger asChild data-testid="inspect-search-option-dropdown">
-        <IconButton icon={<IconSettings />} variant="invisible" tooltip="Options" tooltipSide="bottom" />
-      </DropdownMenu.Trigger>
- 
-      <DropdownMenu.Portal>
-        <DropdownMenu.Content>
-          <DropdownMenu.CheckboxItem
-            data-testid="show-broken-references"
-            checked={inspectState.isShowBrokenReferences}
-            onCheckedChange={handleIsShowBrokenReferences}
-          >
-            <DropdownMenu.ItemIndicator>
-              <Check />
-            </DropdownMenu.ItemIndicator>
-            {t('showBrokenReferences')}
-          </DropdownMenu.CheckboxItem>
-          <DropdownMenu.CheckboxItem
-            data-testid="show-resolved-references"
-            checked={inspectState.isShowResolvedReferences}
-            onCheckedChange={handleIsShowResolvedReferences}
-          >
-            <DropdownMenu.ItemIndicator>
-              <Check />
-            </DropdownMenu.ItemIndicator>
-            {t('showResolvedReferences')}
-          </DropdownMenu.CheckboxItem>
-        </DropdownMenu.Content>
-      </DropdownMenu.Portal>
-    </DropdownMenu>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html deleted file mode 100644 index 004e1cea6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Inspector.tsx.html +++ /dev/null @@ -1,469 +0,0 @@ - - - - - - Code coverage report for src/app/components/Inspector.tsx - - - - - - - - - -
-
-

All files / src/app/components Inspector.tsx

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Checkbox, TextInput, ToggleGroup, Tooltip,
-} from '@tokens-studio/ui';
-import { Search } from 'iconoir-react';
-import Box from './Box';
-import InspectorDebugView from './InspectorDebugView';
-import InspectorMultiView from './InspectorMultiView';
-import IconDebug from '@/icons/debug.svg';
-import IconInspect from '@/icons/multiinspect.svg';
-import { Dispatch } from '../store';
-import Label from './Label';
-import { mergeTokenGroups } from '@/utils/tokenHelpers';
-import { track } from '@/utils/analytics';
-import {
-  inspectDeepSelector,
-  tokensSelector,
-  usedTokenSetSelector,
-} from '@/selectors';
-import InspectSearchOptionDropdown from './InspectSearchOptionDropdown';
-import Stack from './Stack';
-import { defaultTokenResolver } from '@/utils/TokenResolver';
- 
-function Inspector() {
-  const [inspectView, setInspectView] = React.useState('multi');
-  const { t } = useTranslation(['inspect']);
-  const [searchInputValue, setSearchInputValue] = React.useState<string>('');
-  const dispatch = useDispatch<Dispatch>();
-  const tokens = useSelector(tokensSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const inspectDeep = useSelector(inspectDeepSelector);
-  // TODO: Put this into state in a performant way
-  const resolvedTokens = React.useMemo(() => (
-    defaultTokenResolver.setTokens(mergeTokenGroups(tokens, usedTokenSet))
-  ), [tokens, usedTokenSet]);
- 
-  const handleSetInspectView = React.useCallback((view: 'multi' | 'debug') => {
-    if (view) {
-      track('setInspectView', { view });
-      setInspectView(view);
-    }
-  }, []);
- 
-  function renderInspectView() {
-    switch (inspectView) {
-      case 'debug': return <InspectorDebugView resolvedTokens={resolvedTokens} />;
-      case 'multi': return <InspectorMultiView resolvedTokens={resolvedTokens} tokenToSearch={searchInputValue} />;
-      default: return null;
-    }
-  }
- 
-  const handleSearchInputChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
-    setSearchInputValue(event.target.value);
-  }, []);
- 
-  const handleSetInspectDeep = React.useCallback(() => dispatch.settings.setInspectDeep(!inspectDeep), [dispatch, inspectDeep]);
- 
-  return (
-    <Box css={{
-      gap: '$2', flexGrow: 1, display: 'flex', flexDirection: 'column', height: '100%', overflow: 'hidden',
-    }}
-    >
-      <Box css={{
-        display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', gap: '$2', padding: '$2', borderBottom: '1px solid $borderMuted',
-      }}
-      >
-        <Box
-          css={{
-            display: 'flex',
-            flexDirection: 'row',
-            alignItems: 'center',
-            gap: '$3',
-          }}
-        >
-          <TextInput
-            value={searchInputValue}
-            onChange={handleSearchInputChange}
-            type="text"
-            placeholder={`${t('search')}…`}
-            leadingVisual={<Search />}
-          />
-        </Box>
-        <Stack direction="row" align="center" gap={2}>
-          <Stack direction="row" align="center">
-            <Checkbox
-              checked={inspectDeep}
-              id="inspectDeep"
-              onCheckedChange={handleSetInspectDeep}
-            />
-            <Tooltip label={t('scansSelected') as string} side="bottom">
-              <Label htmlFor="inspectDeep">
-                <Box css={{
-                  fontWeight: '$sansBold', fontSize: '$xsmall', padding: '$2',
-                }}
-                >
-                  {t('deepInspect')}
-                </Box>
-              </Label>
-            </Tooltip>
-          </Stack>
-          <InspectSearchOptionDropdown />
-          <ToggleGroup
-            size="small"
-            type="single"
-            value={inspectView}
-            onValueChange={handleSetInspectView}
-          >
-            {/* Disabling tooltip for now due to https://github.com/radix-ui/primitives/issues/602
-            <ToggleGroup.Item value="multi" tooltip={t('inspectLayers') as string} tooltipSide="bottom"> */}
-            <ToggleGroup.Item value="multi">
-              <IconInspect />
-            </ToggleGroup.Item>
-            {/* Disabling tooltip for now due to https://github.com/radix-ui/primitives/issues/602
-              <ToggleGroup.Item value="debug" tooltip={t('debugAndAnnotate') as string} tooltipSide="bottom"> */}
-            <ToggleGroup.Item value="debug">
-              <IconDebug />
-            </ToggleGroup.Item>
-          </ToggleGroup>
-        </Stack>
-      </Box>
-      {renderInspectView()}
-    </Box>
-  );
-}
- 
-export default Inspector;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html deleted file mode 100644 index a562d5708..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorDebugView.tsx.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - Code coverage report for src/app/components/InspectorDebugView.tsx - - - - - - - - - -
-
-

All files / src/app/components InspectorDebugView.tsx

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { EmptyState } from '@tokens-studio/ui';
-import Box from './Box';
-import AnnotationBuilder from './AnnotationBuilder';
-import { SingleToken } from '@/types/tokens';
-import useTokens from '../store/useTokens';
-import { uiStateSelector } from '@/selectors';
-import Stack from './Stack';
-import { isEqual } from '@/utils/isEqual';
-import { StyledInspectBadge } from './StyledInspectBadge';
-import Text from './Text';
-import { StyleIdBackupKeys } from '@/constants/StyleIdBackupKeys';
-import { styled } from '@/stitches.config';
- 
-const StyledCode = styled('code', {
-  display: 'flex',
-  alignItems: 'center',
-  flexWrap: 'wrap',
-  gap: '$3',
-});
- 
-export default function InspectorDebugView({ resolvedTokens }: { resolvedTokens: SingleToken[] }) {
-  const uiState = useSelector(uiStateSelector, isEqual);
-  const { getTokenValue } = useTokens();
-  const { t } = useTranslation(['inspect']);
-  const getResolvedValue = useCallback((property: string, value: string) => {
-    const resolvedToken = getTokenValue(value, resolvedTokens);
-    if (resolvedToken) return JSON.stringify(resolvedToken);
-    const resolvedValue = uiState.selectionValues.find((item) => item.category === property && item.value === value)?.resolvedValue;
-    if (resolvedValue) {
-      return JSON.stringify({
-        value: resolvedValue,
-        type: property,
-        name: value,
-        rawValue: resolvedValue,
-      });
-    }
-    return undefined;
-  }, [getTokenValue, resolvedTokens, uiState.selectionValues]);
- 
-  function renderBlankslate() {
-    if (uiState.selectedLayers > 1) return <EmptyState title={t('moreThan1Layer.title')} description={t('moreThan1Layer.description')} />;
-    return <EmptyState title={uiState.selectedLayers === 1 ? t('noTokensFound') : t('noLayersSelected')} description={uiState.selectedLayers === 1 ? t('selectedLayerContainsNoTokens') : t('selectALayerToSeeAppliedTokens')} />;
-  }
- 
-  return (
-    <Box
-      css={{
-        display: 'flex', flexDirection: 'column', flexGrow: 1, padding: '$4',
-      }}
-      className="content scroll-container"
-    >
-      <Stack direction="column" css={{ flexGrow: 1 }}>
-        <AnnotationBuilder />
- 
-        {uiState.selectedLayers === 1 && Object.entries(uiState.mainNodeSelectionValues).length > 0
-          ? (
-            <Stack direction="column" gap={5}>
-              {Object.entries(uiState.mainNodeSelectionValues)
-                .filter(([key, value]) => !StyleIdBackupKeys.includes(key) && value !== 'delete')
-                .map(([property, value]) => (
-                  <StyledCode key={property}>
-                    <Text bold>
-                      {property}
-                      {': '}
-                    </Text>
-                    <StyledInspectBadge>
-                      {typeof value === 'string' && value.split('.').join('-')}
-                    </StyledInspectBadge>
-                    <Text size="xsmall" muted css={{ wordBreak: 'break-all' }}>{`/* ${getResolvedValue(property, value)} */`}</Text>
-                  </StyledCode>
-                ))}
-            </Stack>
-          )
-          : (
-            <Stack direction="column" gap={4} css={{ padding: '$5', margin: 'auto' }}>
-              {renderBlankslate()}
-            </Stack>
-          )}
-      </Stack>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html deleted file mode 100644 index 9dd8b3b40..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorMultiView.tsx.html +++ /dev/null @@ -1,601 +0,0 @@ - - - - - - Code coverage report for src/app/components/InspectorMultiView.tsx - - - - - - - - - -
-
-

All files / src/app/components InspectorMultiView.tsx

-
- -
- 0% - Statements - 0/51 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/21 -
- - -
- 0% - Lines - 0/44 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector, useDispatch } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Box, Checkbox, Label, Stack, Button, EmptyState,
-} from '@tokens-studio/ui';
-import { Dispatch } from '../store';
-import useTokens from '../store/useTokens';
-import InspectorTokenGroup from './InspectorTokenGroup';
-import { SingleToken } from '@/types/tokens';
-import { inspectStateSelector, uiStateSelector } from '@/selectors';
-import { isEqual } from '@/utils/isEqual';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { Properties } from '@/constants/Properties';
-import { SelectionGroup } from '@/types';
-import { NodeInfo } from '@/types/NodeInfo';
-import { StyleIdBackupKeys } from '@/constants/StyleIdBackupKeys';
-import OnboardingExplainer from './OnboardingExplainer';
-import BulkRemapModal from './modals/BulkRemapModal';
- 
-export default function InspectorMultiView({ resolvedTokens, tokenToSearch }: { resolvedTokens: SingleToken[], tokenToSearch: string }) {
-  const { t } = useTranslation(['inspect']);
- 
-  const onboardingData = {
-    title: t('inspect'),
-    text: t('inspectOnboard'),
-    url: 'https://docs.tokens.studio/debug/inspect-tokens?ref=onboarding_explainer_inspect',
-  };
- 
-  const inspectState = useSelector(inspectStateSelector, isEqual);
-  const uiState = useSelector(uiStateSelector, isEqual);
-  const { removeTokensByValue, setNoneValuesOnNode } = useTokens();
-  const [bulkRemapModalVisible, setShowBulkRemapModalVisible] = React.useState(false);
-  const dispatch = useDispatch<Dispatch>();
- 
-  React.useEffect(() => {
-    dispatch.inspectState.setSelectedTokens([]);
-  }, [uiState.selectionValues]);
- 
-  const filteredSelectionValues = React.useMemo(() => {
-    let result = uiState.selectionValues;
-    if (!inspectState.isShowBrokenReferences) {
-      result = result.filter((token) => resolvedTokens.find((resolvedToken) => resolvedToken.name === token.value) || token.resolvedValue);
-    }
-    if (!inspectState.isShowResolvedReferences) {
-      result = result.filter((token) => (!resolvedTokens.find((resolvedToken) => resolvedToken.name === token.value) && !token.resolvedValue));
-    }
-    return tokenToSearch ? result.filter((token) => token.value.includes(tokenToSearch)) : result;
-  }, [uiState.selectionValues, inspectState.isShowBrokenReferences, inspectState.isShowResolvedReferences, resolvedTokens, tokenToSearch]);
- 
-  const groupedSelectionValues = React.useMemo(() => (
-    filteredSelectionValues.reduce<Partial<
-    Record<TokenTypes, SelectionGroup[]>
-    & Record<Properties, SelectionGroup[]>
-    >>((acc, curr) => {
-      if (StyleIdBackupKeys.includes(curr.type)) return acc;
-      if (acc[curr.category]) {
-        const sameValueIndex = acc[curr.category]!.findIndex((v) => v.value === curr.value);
- 
-        if (sameValueIndex > -1) {
-          acc[curr.category]![sameValueIndex].nodes.push(...curr.nodes);
-        } else {
-          acc[curr.category] = [...acc[curr.category]!, curr];
-        }
-      } else {
-        acc[curr.category] = [curr];
-      }
- 
-      return acc;
-    }, {})
-  ), [filteredSelectionValues]);
- 
-  const removeTokens = React.useCallback(() => {
-    const valuesToRemove = uiState.selectionValues
-      .filter((v) => inspectState.selectedTokens.includes(`${v.category}-${v.value}`))
-      .map((v) => ({ nodes: v.nodes, property: v.type })) as ({
-      property: Properties;
-      nodes: NodeInfo[];
-    }[]);
- 
-    removeTokensByValue(valuesToRemove);
-  }, [inspectState.selectedTokens, removeTokensByValue, uiState.selectionValues]);
- 
-  const handleSelectAll = React.useCallback(() => {
-    dispatch.inspectState.setSelectedTokens(
-      inspectState.selectedTokens.length === filteredSelectionValues.length
-        ? []
-        : filteredSelectionValues.map((v) => `${v.category}-${v.value}`),
-    );
-  }, [dispatch.inspectState, inspectState.selectedTokens.length, filteredSelectionValues]);
- 
-  const closeOnboarding = React.useCallback(() => {
-    dispatch.uiState.setOnboardingExplainerInspect(false);
-  }, [dispatch]);
- 
-  const setNoneValues = React.useCallback(() => {
-    setNoneValuesOnNode(resolvedTokens);
-  }, [setNoneValuesOnNode, resolvedTokens]);
- 
-  const handleShowBulkRemap = React.useCallback(() => {
-    setShowBulkRemapModalVisible(true);
-  }, []);
- 
-  const handleHideBulkRemap = React.useCallback(() => {
-    setShowBulkRemapModalVisible(false);
-  }, []);
- 
-  return (
-    <>
-      {uiState.selectionValues.length > 0 && (
-        <Box css={{
-          display: 'inline-flex', paddingInline: '$4', rowGap: '$3', justifyContent: 'space-between',
-        }}
-        >
-          <Box css={{
-            display: 'flex', alignItems: 'center', gap: '$3', fontSize: '$small', flexBasis: '80px', flexShrink: 0,
-          }}
-          >
-            <Checkbox
-              checked={inspectState.selectedTokens.length === uiState.selectionValues.length}
-              id="selectAll"
-              onCheckedChange={handleSelectAll}
-            />
-            <Label htmlFor="selectAll" css={{ fontSize: '$small', fontWeight: '$sansBold', whiteSpace: 'nowrap' }}>
-              {t('selectAll')}
-            </Label>
-          </Box>
-          <Box css={{
-            display: 'flex', flexDirection: 'row', flexWrap: 'wrap', justifyContent: 'flex-end', gap: '$3',
-          }}
-          >
-            <Button size="small" onClick={handleShowBulkRemap} variant="secondary">
-              {t('bulkRemap')}
-            </Button>
-            <Button size="small" onClick={setNoneValues} disabled={inspectState.selectedTokens.length === 0} variant="secondary">
-              {t('setToNone')}
-            </Button>
-            <Button size="small" onClick={removeTokens} disabled={inspectState.selectedTokens.length === 0} variant="danger">
-              {t('removeSelected')}
-            </Button>
-          </Box>
-        </Box>
-      )}
-      <Box
-        css={{
-          display: 'flex', flexDirection: 'column', flexGrow: 1, padding: '$4',
-        }}
-        className="content scroll-container"
-      >
-        {uiState.selectionValues.length > 0 ? (
-          <Box css={{ display: 'flex', flexDirection: 'column', gap: '$1' }}>
-            {Object.entries(groupedSelectionValues).map((group) => <InspectorTokenGroup key={`inspect-group-${group[0]}`} group={group as [Properties, SelectionGroup[]]} resolvedTokens={resolvedTokens} />)}
-          </Box>
-        ) : (
-          <Stack direction="column" gap={4} css={{ padding: '$5', margin: 'auto' }}>
-            <EmptyState title={uiState.selectedLayers > 0 ? t('noTokensFound') : t('noLayersSelected')} description={uiState.selectedLayers > 0 ? t('noLayersWithTokens') : t('selectLayer')} />
-            {/* FIXME: Use selectors - this rerenders */}
-            {uiState.onboardingExplainerInspect && (
-              <OnboardingExplainer data={onboardingData} closeOnboarding={closeOnboarding} />
-            )}
-          </Stack>
-        )}
-      </Box>
-      {bulkRemapModalVisible && (
-        <BulkRemapModal
-          isOpen={bulkRemapModalVisible}
-          onClose={handleHideBulkRemap}
-        />
-      )}
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html deleted file mode 100644 index b8d21fa90..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorResolvedToken.tsx.html +++ /dev/null @@ -1,589 +0,0 @@ - - - - - - Code coverage report for src/app/components/InspectorResolvedToken.tsx - - - - - - - - - -
-
-

All files / src/app/components InspectorResolvedToken.tsx

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import Box from './Box';
-import Tooltip from './Tooltip';
-import IconBrokenLink from '@/icons/brokenlink.svg';
-import IconShadow from '@/icons/shadow.svg';
-import IconComposition from '@/icons/composition.svg';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { IconBorder, IconImage } from '@/icons';
-import { SingleToken } from '@/types/tokens';
-import { TokenTooltip } from './TokenTooltip';
-import { TokenTypographyValue, TokenBoxshadowValue, TokenBorderValue } from '@/types/values';
- 
-type Props = {
-  name: string;
-  value: SingleToken['value']
-  rawValue?: Partial<Record<TokenTypes, string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | TokenBoxshadowValue[]>>
-  type: string;
-};
- 
-export default function InspectorResolvedToken({ token }: { token: Props }) {
-  const { t } = useTranslation(['inspect']);
-  // TODO: Introduce shared component for token tooltips
-  if (!token) {
-    return (
-      <Tooltip label={t('tokenNotFound')} side="bottom">
-        <Box
-          css={{
-            width: '24px',
-            height: '24px',
-            borderRadius: '100%',
-            border: '1px solid $borderMuted',
-            backgroundColor: '$bgSubtle',
-            display: 'flex',
-            alignItems: 'center',
-            justifyContent: 'center',
-          }}
-        >
-          <IconBrokenLink />
-        </Box>
-      </Tooltip>
-    );
-  }
-  switch (token?.type) {
-    case TokenTypes.COLOR: {
-      return (
-        <Box
-          css={{
-            background: String(token.value),
-            width: '24px',
-            height: '24px',
-            borderRadius: '100%',
-            border: '1px solid $borderMuted',
-            fontSize: 0,
-            flexShrink: 0,
-          }}
-        />
-      );
-    }
-    case TokenTypes.TYPOGRAPHY: {
-      return (
-        <Box
-          css={{
-            background: '$bgSubtle',
-            fontSize: '$small',
-            padding: '$2 $3',
-            borderRadius: '$small',
-            width: '40px',
-          }}
-        >
-          aA
-        </Box>
-      );
-    }
-    // TODO: Show shadow preview
-    case TokenTypes.BOX_SHADOW: {
-      return (
-        <Box
-          css={{
-            background: '$bgSubtle',
-            fontSize: '$small',
-            padding: '$2 $3',
-            borderRadius: '$small',
-            width: '40px',
-          }}
-        >
-          <IconShadow />
-        </Box>
-      );
-    }
-    case TokenTypes.COMPOSITION: {
-      let compositionToken: SingleToken = {} as SingleToken;
-      if (token.rawValue) {
-        compositionToken = {
-          name: token.name,
-          type: token.type,
-          value: token.rawValue,
-        };
-      }
- 
-      return (
-        <TokenTooltip token={compositionToken}>
-          <Box
-            css={{
-              background: '$bgSubtle',
-              fontSize: '$small',
-              padding: '$2 $3',
-              borderRadius: '$small',
-              width: '40px',
-            }}
-          >
-            <IconComposition />
-          </Box>
-        </TokenTooltip>
-      );
-    }
- 
-    case TokenTypes.ASSET: {
-      return (
-        <Box
-          css={{
-            background: '$bgSubtle',
-            fontSize: '$small',
-            padding: '$2 $3',
-            borderRadius: '$small',
-            width: '40px',
-          }}
-        >
-          <IconImage />
-        </Box>
-      );
-    }
- 
-    case TokenTypes.BORDER: {
-      return (
-        <Box
-          css={{
-            background: '$bgSubtle',
-            fontSize: '$small',
-            padding: '$2 $3',
-            borderRadius: '$small',
-            width: '40px',
-          }}
-        >
-          <IconBorder />
-        </Box>
-      );
-    }
- 
-    default: {
-      return (
-        <Box
-          css={{
-            background: '$bgSubtle',
-            fontSize: '$small',
-            padding: '$2 $3',
-            borderRadius: '$small',
-            width: '40px',
-            fontFamily: '$mono',
-            overflow: 'hidden',
-          }}
-        >
-          {String(token.value)}
-        </Box>
-      );
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html deleted file mode 100644 index 4e2f19b3d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenGroup.tsx.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/app/components/InspectorTokenGroup.tsx - - - - - - - - - -
-
-

All files / src/app/components InspectorTokenGroup.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Heading } from '@tokens-studio/ui';
-import { SingleToken } from '@/types/tokens';
-import Box from './Box';
-import InspectorTokenSingle from './InspectorTokenSingle';
-import { Properties } from '@/constants/Properties';
-import { SelectionGroup } from '@/types';
- 
-export default function InspectorTokenGroup({ group, resolvedTokens }: { group: [Properties, SelectionGroup[]], resolvedTokens: SingleToken[] }) {
-  const [groupKey, groupValue] = group;
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        flexDirection: 'column',
-        justifyContent: 'space-between',
-        marginBottom: '$3',
-      }}
-      key={`${groupKey}`}
-    >
-      <Heading size="small">{groupKey}</Heading>
-      {groupValue.map((uniqueToken) => <InspectorTokenSingle key={`${uniqueToken.category}-${uniqueToken.value}`} token={uniqueToken} resolvedTokens={resolvedTokens} />)}
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html deleted file mode 100644 index faa0c8639..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/InspectorTokenSingle.tsx.html +++ /dev/null @@ -1,655 +0,0 @@ - - - - - - Code coverage report for src/app/components/InspectorTokenSingle.tsx - - - - - - - - - -
-
-

All files / src/app/components InspectorTokenSingle.tsx

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/38 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { ValueNoneIcon } from '@radix-ui/react-icons';
-import { shallowEqual, useDispatch, useSelector } from 'react-redux';
-import { IconButton, Button, Checkbox } from '@tokens-studio/ui';
-import { SingleToken } from '@/types/tokens';
-import Box from './Box';
-import useTokens from '../store/useTokens';
-import InspectorResolvedToken from './InspectorResolvedToken';
-import { Dispatch } from '../store';
-import { SelectionGroup } from '@/types';
-import IconToggleableDisclosure from '@/app/components/IconToggleableDisclosure';
-import TokenNodes from './inspector/TokenNodes';
-import { inspectStateSelector } from '@/selectors';
-import { useTypeForProperty } from '../hooks/useTypeForProperty';
-import DownshiftInput from './DownshiftInput';
-import Modal from './Modal';
-import Stack from './Stack';
-import { IconBrokenLink, IconVariable } from '@/icons';
-import StyleIcon from '@/icons/style.svg';
-import Tooltip from './Tooltip';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { TokensContext } from '@/context';
- 
-export default function InspectorTokenSingle({
-  token,
-  resolvedTokens,
-}: {
-  token: SelectionGroup;
-  resolvedTokens: SingleToken[];
-}) {
-  // If token has the resolvedValue property, that means it is the style not a token
-  const { handleRemap, getTokenValue } = useTokens();
-  const property = useTypeForProperty(token.category);
-  const inspectState = useSelector(inspectStateSelector, shallowEqual);
-  const dispatch = useDispatch<Dispatch>();
-  const [newTokenName, setNewTokenName] = React.useState<string>(token.value);
-  const [showDialog, setShowDialog] = React.useState<boolean>(false);
-  const [isChecked, setChecked] = React.useState<boolean>(false);
-  const [isBrokenLink, setIsBrokenLink] = React.useState<boolean>(false);
-  const tokensContext = React.useContext(TokensContext);
- 
-  const { t } = useTranslation(['inspect']);
- 
-  const tokenToDisplay = React.useMemo(() => {
-    if (token.resolvedValue) {
-      return { name: token.value, value: token.resolvedValue, type: property };
-    }
-    const resolvedToken = getTokenValue(token.value, resolvedTokens);
-    if (resolvedToken) {
-      if (resolvedToken.type === TokenTypes.COMPOSITION) {
-        return {
-          name: resolvedToken.name, value: resolvedToken.value, rawValue: resolvedToken.rawValue, type: resolvedToken.type,
-        };
-      }
- 
-      return { name: resolvedToken.name, value: resolvedToken.value, type: resolvedToken.type };
-    }
-    return null;
-  }, [token, property, getTokenValue, resolvedTokens]);
- 
-  React.useEffect(() => {
-    setChecked(inspectState.selectedTokens.includes(`${token.category}-${token.value}`));
-    if (!resolvedTokens.find((resolvedToken) => resolvedToken.name === token.value) && !token.resolvedValue) setIsBrokenLink(true);
-  }, [inspectState.selectedTokens, token]);
- 
-  React.useEffect(() => {
-    tokensContext.resolvedTokens = resolvedTokens;
-  }, [resolvedTokens]);
- 
-  const handleDownShiftInputChange = React.useCallback((newInputValue: string) => {
-    setNewTokenName(newInputValue.replace(/[{}$]/g, ''));
-  }, []);
- 
-  const handleChange = React.useCallback((property: string, value: string) => {
-    setNewTokenName(value);
-  }, []);
- 
-  const onConfirm = React.useCallback(() => {
-    handleRemap(token.category, token.value, newTokenName, resolvedTokens);
-    setShowDialog(false);
-  }, [token, handleRemap, newTokenName, resolvedTokens]);
- 
-  const handleClick = React.useCallback(() => {
-    setShowDialog(true);
-  }, []);
- 
-  const onCancel = React.useCallback(() => {
-    setShowDialog(false);
-  }, []);
- 
-  const onCheckedChanged = React.useCallback(() => {
-    dispatch.inspectState.toggleSelectedTokens(`${token.category}-${token.value}`);
-  }, [token, dispatch.inspectState]);
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        flexDirection: 'row',
-        justifyContent: 'space-between',
-        width: '100%',
-        paddingTop: '$2',
-        paddingBottom: '$2',
-      }}
-      data-testid={`inspector-token-single-${token.category}`}
-    >
-      <Box
-        css={{
-          display: 'flex',
-          flexDirection: 'row',
-          alignItems: 'center',
-          gap: '$4',
-        }}
-      >
-        <Checkbox
-          style={{ flexShrink: 0 }}
-          checked={isChecked}
-          id={`${token.category}-${token.value}`}
-          onCheckedChange={onCheckedChanged}
-        />
-        {
-          (token.value === 'none' || tokenToDisplay?.value === 'none') && <ValueNoneIcon style={{ flexShrink: 0 }} />
-        }
-        {
-          isBrokenLink && token.value !== 'none' && <IconBrokenLink style={{ flexShrink: 0 }} />
-        }
-        {(tokenToDisplay && tokenToDisplay.value !== 'none' && tokenToDisplay.name !== 'none') && (
-          <InspectorResolvedToken token={tokenToDisplay} />
-        )}
-        <Box
-          css={{
-            display: 'flex',
-            flexDirection: 'row',
-            alignItems: 'center',
-            gap: '$1',
-          }}
-        >
-          {token.appliedType === 'variable' && <Tooltip label={t('appliedVariable')}><IconVariable /></Tooltip>}
-          {token.appliedType === 'style' && <Tooltip label={t('appliedStyle')}><StyleIcon /></Tooltip>}
-          <Box css={{ fontSize: '$small' }}>{token.value}</Box>
-          {
-            !token.resolvedValue && (
-            <IconButton
-              tooltip={t('changeToAnotherToken')}
-              data-testid="button-token-remap"
-              onClick={handleClick}
-              icon={<IconToggleableDisclosure />}
-              size="small"
-              variant="invisible"
-            />
-            )
-          }
-        </Box>
-        {
-          showDialog && (
-            <Modal modal={false} title={t('chooseANewTokenForValue', { value: tokenToDisplay?.name || token.value })} size="large" isOpen close={onCancel}>
-              <form
-                onSubmit={onConfirm}
-              >
-                <Stack direction="column" gap={4}>
-                  <DownshiftInput
-                    value={newTokenName}
-                    type={property}
-                    resolvedTokens={resolvedTokens}
-                    handleChange={handleChange}
-                    setInputValue={handleDownShiftInputChange}
-                    placeholder={t('chooseANewToken')}
-                    suffix
-                    onSubmit={onConfirm}
-                  />
- 
-                  <Stack direction="row" gap={4} justify="between">
-                    <Button variant="secondary" onClick={onCancel}>
-                      {t('cancel')}
-                    </Button>
-                    <Button type="submit" variant="primary">
-                      {t('remap')}
-                    </Button>
-                  </Stack>
-                </Stack>
-              </form>
-            </Modal>
-          )
-        }
-      </Box>
-      <TokenNodes nodes={token.nodes} />
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html deleted file mode 100644 index e55dace9d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/JSONEditor.tsx.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - Code coverage report for src/app/components/JSONEditor.tsx - - - - - - - - - -
-
-

All files / src/app/components JSONEditor.tsx

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import Editor, { useMonaco } from '@monaco-editor/react';
-import Box from './Box';
-import { useShortcut } from '@/hooks/useShortcut';
-import { activeApiProviderSelector, activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors';
-import useTokens from '../store/useTokens';
-import { useFigmaTheme } from '@/hooks/useFigmaTheme';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-type Props = {
-  stringTokens: string;
-  handleChange: (tokens: string) => void;
-};
- 
-function JSONEditor({
-  stringTokens,
-  handleChange,
-}: Props) {
-  const editProhibited = useSelector(editProhibitedSelector);
-  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
-  const activeApiProvider = useSelector(activeApiProviderSelector);
-  const isTokensStudioProvider = activeApiProvider === StorageProviderType.TOKENS_STUDIO;
- 
-  const { handleJSONUpdate } = useTokens();
-  const { isDarkTheme } = useFigmaTheme();
-  const monaco = useMonaco();
- 
-  monaco?.languages.json.jsonDefaults.setDiagnosticsOptions({
-    schemas: [{
-      fileMatch: ['*'],
-      uri: 'https://schemas.tokens.studio/latest/tokens-schema.json',
-    }],
-    enableSchemaRequest: true,
-  });
- 
-  const handleJsonEditChange = React.useCallback((value: string | undefined) => {
-    handleChange(value ?? '');
-  }, [handleChange]);
- 
-  const handleSaveShortcut = React.useCallback((event: KeyboardEvent) => {
-    if (event.metaKey || event.ctrlKey) {
-      handleJSONUpdate(stringTokens);
-    }
-  }, [handleJSONUpdate, stringTokens]);
- 
-  useShortcut(['KeyS'], handleSaveShortcut);
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        flexDirection: 'column',
-        flexGrow: 1,
-        height: '100%',
-        position: 'relative',
-      }}
-    >
-      <Editor
-        language="json"
-        onChange={handleJsonEditChange}
-        value={stringTokens}
-        theme={isDarkTheme ? 'vs-dark' : 'vs-light'}
-        options={{
-          minimap: {
-            enabled: false,
-          },
-          lineNumbers: 'on',
-          fontSize: 11,
-          wordWrap: 'on',
-          contextmenu: false,
-          readOnly: editProhibited || activeTokenSetReadOnly || isTokensStudioProvider,
-        }}
-      />
-    </Box>
-  );
-}
-export default JSONEditor;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html deleted file mode 100644 index cd7ad8103..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Label.tsx.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/app/components/Label.tsx - - - - - - - - - -
-
-

All files / src/app/components Label.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { ReactNode } from 'react';
-import { styled } from '@/stitches.config';
-import type { StitchesCSS } from '@/types';
- 
-export default function Label({
-  htmlFor,
-  children,
-  disabled = false,
-  css,
-}: {
-  htmlFor: string;
-  children: ReactNode;
-  disabled?: boolean;
-  css?: StitchesCSS;
-}) {
-  const StyledLabel = styled('label', {
-    fontSize: '$small',
-    lineHeight: 1,
-    userSelect: 'none',
-    variants: {
-      isDisabled: {
-        true: {
-          color: '$fgDisabled',
-        },
-        false: {
-          color: '$fgDefault',
-        },
-      },
-    },
-  });
- 
-  return (
-    <StyledLabel isDisabled={disabled} css={css} htmlFor={htmlFor}>
-      {children}
-    </StyledLabel>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html deleted file mode 100644 index fc4b677ab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/components/LanguageSelector - - - - - - - - - -
-
-

All files src/app/components/LanguageSelector

-
- -
- 0% - Statements - 0/12 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/12100%0/00%0/50%0/10
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html deleted file mode 100644 index 28696cc82..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LanguageSelector/index.tsx.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for src/app/components/LanguageSelector/index.tsx - - - - - - - - - -
-
-

All files / src/app/components/LanguageSelector index.tsx

-
- -
- 0% - Statements - 0/12 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import React, { useMemo } from 'react';
-import { Label, Select, Stack } from '@tokens-studio/ui';
-import { useTranslation } from 'react-i18next';
-import { Dispatch } from '@/app/store';
- 
-import { languages } from '@/i18n';
-import { languageSelector } from '@/selectors';
-import { track } from '@/utils/analytics';
- 
-export const LanguageSelector = () => {
-  const { t } = useTranslation(['settings']);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const currentLang = useSelector(languageSelector);
-  const displayLang = useMemo(() => languages.find((l) => l.code === currentLang)?.title, [currentLang]);
- 
-  const handleValueChange = React.useCallback(
-    (value: string) => {
-      track('setLanguage', { value });
-      dispatch.settings.setLanguage(value);
-    },
-    [dispatch.settings],
-  );
- 
-  return (
-    <Stack direction="row" justify="between" align="center" gap={4} css={{ width: '100%' }}>
-      <Label>{t('language')}</Label>
-      <Select value={currentLang} onValueChange={handleValueChange}>
-        <Select.Trigger value={displayLang} data-testid="choose-language" />
-        <Select.Content>
-          {languages.map((lang) => (
-            <Select.Item key={lang.code} value={lang.code}>
-              {lang.title}
-            </Select.Item>
-          ))}
-        </Select.Content>
-      </Select>
-    </Stack>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html deleted file mode 100644 index c582de7bc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/LDProvider.tsx.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/app/components/LaunchDarkly/LDProvider.tsx - - - - - - - - - -
-
-

All files / src/app/components/LaunchDarkly LDProvider.tsx

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { LDProvider } from 'launchdarkly-react-client-sdk';
-import { useSelector } from 'react-redux';
-import { userIdSelector } from '@/selectors/userIdSelector';
-import { licenseKeySelector } from '@/selectors/licenseKeySelector';
- 
-interface LDProviderProps {
-  children: JSX.Element;
-}
- 
-const ldClientSideId = process.env.LAUNCHDARKLY_SDK_CLIENT || '';
- 
-export const LDProviderWrapper = ({ children }: LDProviderProps) => {
-  const userId = useSelector(userIdSelector);
-  // @README we only want to set-up LD if there is a license key to reduce the amount of API calls
-  const licenseKey = useSelector(licenseKeySelector);
- 
-  return (
-    <LDProvider
-      deferInitialization
-      clientSideID={ldClientSideId}
-      user={userId && licenseKey ? { key: userId } : undefined}
-    >
-      {children}
-    </LDProvider>
-  );
-};
- 
-export function withLDProviderWrapper<P>(Component: React.ComponentType<React.PropsWithChildren<React.PropsWithChildren<P>>>) {
-  return (props: P) => (
-    <LDProviderWrapper>
-      <Component {...props} />
-    </LDProviderWrapper>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html deleted file mode 100644 index 124a926f7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/components/LaunchDarkly - - - - - - - - - -
-
-

All files src/app/components/LaunchDarkly

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
LDProvider.tsx -
-
0%0/70%0/60%0/30%0/7
index.ts -
-
0%0/00%0/00%0/00%0/0
useFlags.ts -
-
0%0/30%0/20%0/20%0/3
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html deleted file mode 100644 index f11998020..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/components/LaunchDarkly/index.ts - - - - - - - - - -
-
-

All files / src/app/components/LaunchDarkly index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './useFlags';
-export * from './LDProvider';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html deleted file mode 100644 index ba5a52aa7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LaunchDarkly/useFlags.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/LaunchDarkly/useFlags.ts - - - - - - - - - -
-
-

All files / src/app/components/LaunchDarkly useFlags.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { useFlags as useFlagsRaw } from 'launchdarkly-react-client-sdk';
- 
-export const useFlags = process.env.LAUNCHDARKLY_FLAGS
-  ? () => (
-    Object.fromEntries(process.env.LAUNCHDARKLY_FLAGS!.split(',').map((flag) => (
-      [flag, true]
-    )))
-  )
-  : useFlagsRaw;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html deleted file mode 100644 index 0c2e7840b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Link.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/Link.tsx - - - - - - - - - -
-
-

All files / src/app/components Link.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { styled } from '@/stitches.config';
- 
-const StyledLink = styled('a', {
-  color: '$accentDefault',
-  textDecoration: 'none',
-  ':hover': {
-    textDecoration: 'underline',
-  },
-});
- 
-type Props = {
-  href: string
-  children: React.ReactNode
-};
- 
-export default function Link({ href, children }: Props) {
-  return (
-    <StyledLink href={href} target="_blank" rel="noreferrer">{children}</StyledLink>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html deleted file mode 100644 index a8d60b401..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LoadingBar.tsx.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - Code coverage report for src/app/components/LoadingBar.tsx - - - - - - - - - -
-
-

All files / src/app/components LoadingBar.tsx

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/28 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import get from 'just-safe-get';
-import { useSelector } from 'react-redux';
-import {
-  Box, Button, Spinner, Stack, Text,
-} from '@tokens-studio/ui';
-import { useDelayedFlag } from '@/hooks';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { backgroundJobsSelector, windowSizeSelector } from '@/selectors';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { formatNumber } from '@/utils/formatNumber';
-// TODO : i18n needs some refactoring
-export const backgroundJobTitles = {
-  [BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA]: 'Finding nodes...',
-  [BackgroundJobs.PLUGIN_UPDATENODES]: 'Updating nodes...',
-  [BackgroundJobs.PLUGIN_UPDATEPLUGINDATA]: 'Updating plugin data...',
-  [BackgroundJobs.UI_PULLTOKENS]: 'Fetching remote tokens...',
-  [BackgroundJobs.UI_APPLYNODEVALUE]: 'Applying node value...',
-  [BackgroundJobs.UI_EDITSINGLETOKEN]: 'Updating token...',
-  [BackgroundJobs.UI_CREATESINGLETOKEN]: 'Creating token...',
-  [BackgroundJobs.UI_DELETETOKENGROUP]: 'Deleting token...',
-  [BackgroundJobs.UI_DUPLICATETOKEN]: 'Duplicating token...',
-  [BackgroundJobs.UI_REDOING]: 'Redoing action...',
-  [BackgroundJobs.UI_UNDOING]: 'Undoing action...',
-  [BackgroundJobs.UI_ATTACHING_LOCAL_STYLES]: 'Attaching local styles to theme...',
-  [BackgroundJobs.UI_CREATEVARIABLES]: 'Creating variables...',
-  [BackgroundJobs.UI_CREATE_STYLES]: 'Creating styles...',
-};
- 
-export default function LoadingBar() {
-  const backgroundJobs = useSelector(backgroundJobsSelector);
-  const windowSize = useSelector(windowSizeSelector);
- 
-  const hasInfiniteJobs = React.useMemo(() => backgroundJobs.some((job) => job.isInfinite), [backgroundJobs]);
-  const expectedWaitTime = React.useMemo(() => backgroundJobs.reduce((time, job) => (
-    time + (job.totalTasks ? (
-      (job.totalTasks - (job.completedTasks ?? 0)) * (job.timePerTask ?? 0)
-    ) : 0)
-  ), 0), [backgroundJobs]);
-  const expectedWaitTimeInSeconds = React.useMemo(() => (
-    Math.round(expectedWaitTime / 1000)
-  ), [expectedWaitTime]);
-  const shouldShow = useDelayedFlag(
-    !(
-      (!backgroundJobs.length || expectedWaitTime < 100)
-      && !hasInfiniteJobs
-    ),
-  );
-  const completedTasks = React.useMemo(() => backgroundJobs.reduce((total, job) => (
-    total + (job.completedTasks ?? 0)
-  ), 0), [backgroundJobs]);
-  const totalTasks = React.useMemo(() => backgroundJobs.reduce((total, job) => (
-    total + (job.totalTasks ?? 0)
-  ), 0), [backgroundJobs]);
- 
-  const handleCancel = React.useCallback(() => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.CANCEL_OPERATION,
-    });
-  }, []);
- 
-  if (!shouldShow) {
-    return null;
-  }
- 
-  const message = get(backgroundJobTitles, backgroundJobs[backgroundJobs.length - 1]?.name ?? '', '');
- 
-  return (
-    <Box css={{ position: 'fixed', width: '100%', zIndex: 20 }} data-testid="loadingBar">
-      <Stack
-        direction="row"
-        align="center"
-        gap={2}
-        css={{
-          backgroundColor: !windowSize?.isMinimized ? '$bgSubtle' : 'unset', padding: '$2', borderRadius: '$small', margin: '$2',
-        }}
-      >
-        <Spinner />
-        {!windowSize?.isMinimized && (
-          <Stack direction="row" align="center" justify="between" css={{ flexGrow: 1 }}>
-            <Text size="xsmall" bold>
-              {message || 'Hold on, updating...'}
-              {completedTasks > 0 && totalTasks > 0 && (
-                ` ${formatNumber(completedTasks)}/${formatNumber(totalTasks)}`
-              )}
-            </Text>
-            <Stack direction="row" align="center" gap={1}>
-              <Text size="xsmall" muted>
-                {expectedWaitTimeInSeconds >= 1 && (
-                  `${expectedWaitTimeInSeconds}s`
-                )}
-              </Text>
-              <Button variant="invisible" size="small" onClick={handleCancel}>Cancel</Button>
-            </Stack>
-          </Stack>
-        )}
-      </Stack>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html deleted file mode 100644 index 43cd7b018..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/LocalStorageItem.tsx.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - Code coverage report for src/app/components/LocalStorageItem.tsx - - - - - - - - - -
-
-

All files / src/app/components LocalStorageItem.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Box, Text,
-} from '@tokens-studio/ui';
-import { useDispatch, useSelector } from 'react-redux';
- 
-import { IconFile } from '@/icons';
-import { StyledStorageItem } from './StyledStorageItem';
-import { Dispatch } from '../store';
-import useStorage from '../store/useStorage';
-import { storageTypeSelector } from '@/selectors';
-import useConfirm from '../hooks/useConfirm';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { TokenFormatBadge } from './TokenFormatBadge';
- 
-const LocalStorageItem = () => {
-  const { t } = useTranslation(['storage']);
-  const dispatch = useDispatch<Dispatch>();
-  const storageType = useSelector(storageTypeSelector);
-  const { confirm } = useConfirm();
-  const { setStorageType } = useStorage();
- 
-  const handleSubmitLocalStorage = React.useCallback(() => {
-    dispatch.uiState.setLocalApiState({ provider: StorageProviderType.LOCAL });
-    // setStorageProvider(StorageProviderType.LOCAL);
-    setStorageType({
-      provider: { provider: StorageProviderType.LOCAL },
-      shouldSetInDocument: true,
-    });
-    dispatch.tokenState.setEditProhibited(false);
-  }, [dispatch.tokenState, dispatch.uiState, setStorageType]);
- 
-  const handleSetLocalStorage = React.useCallback(async () => {
-    if (storageType?.provider !== StorageProviderType.LOCAL) {
-      const confirmResult = await confirm({
-        text: t('setToDocumentStorage') as string,
-        description: t('youCanAlwaysGoBack') as string,
-      });
-      if (confirmResult) {
-        handleSubmitLocalStorage();
-      }
-    }
-    return null;
-  }, [confirm, handleSubmitLocalStorage, storageType?.provider, t]);
- 
-  const isActive = storageType.provider === StorageProviderType.LOCAL;
- 
-  return (
-    <StyledStorageItem active={isActive}>
-      <Box
-        css={{
-          alignItems: 'center',
-          flexDirection: 'row',
-          flexGrow: '1',
-          display: 'flex',
-          overflow: 'hidden',
-          gap: '$3',
-        }}
-      >
-        <Box>
-          <IconFile />
-        </Box>
-        <Box>
-          <Box css={{ fontSize: '$small', fontWeight: '$sansBold' }}>{t('localDocument')}</Box>
-          <Text muted size="xsmall">Tokens will be stored on this Figma file</Text>
-        </Box>
-      </Box>
-      <Box
-        css={{
-          marginRight: '$2',
-          minHeight: '$controlSmall',
-          display: 'flex',
-          alignItems: 'center',
-        }}
-      >
-        {isActive ? (
-          <TokenFormatBadge extended />
-        ) : (
-          <Button
-            data-testid="button-storage-item-apply"
-            size="small"
-            variant="secondary"
-            onClick={handleSetLocalStorage}
-          >
-            {t('apply')}
-          </Button>
-        )}
-      </Box>
-    </StyledStorageItem>
-  );
-};
- 
-export default LocalStorageItem;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html deleted file mode 100644 index 799bf70be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx.html +++ /dev/null @@ -1,625 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables ExportSetsTab.tsx

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { FileDirectoryIcon } from '@primer/octicons-react';
-import {
-  Tabs, Stack, Heading, Button,
-} from '@tokens-studio/ui';
-import React, { useMemo } from 'react';
-import { useDispatch, useSelector, useStore } from 'react-redux';
-import { useForm, Controller } from 'react-hook-form';
-import { useTranslation } from 'react-i18next';
- 
-import Modal from '../Modal';
-import { TokenSetTreeContent } from '../TokenSetTree/TokenSetTreeContent';
-import { StyledCard } from './StyledCard';
- 
-import { ExplainerModal } from '../ExplainerModal';
-import OnboardingExplainer from '../OnboardingExplainer';
-import { Dispatch } from '../../store';
- 
-import { allTokenSetsSelector, usedTokenSetSelector } from '@/selectors';
-import { docsLinks } from './docsLinks';
-import { RootState } from '@/app/store';
-import { tokenSetListToTree, TreeItem } from '@/utils/tokenset';
-import { TokenSetThemeItem } from '../ManageThemesModal/TokenSetThemeItem';
-import { FormValues } from '../ManageThemesModal/CreateOrEditThemeForm';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { ExportTokenSet } from '@/types/ExportTokenSet';
- 
-export default function ExportSetsTab({ selectedSets, setSelectedSets }: { selectedSets: ExportTokenSet[], setSelectedSets: (sets: ExportTokenSet[]) => void }) {
-  const dispatch = useDispatch<Dispatch>();
-  const closeOnboarding = React.useCallback(() => {
-    dispatch.uiState.setOnboardingExplainerExportSets(false);
-  }, [dispatch]);
-  const onboardingExplainerExportSets = useSelector((state: RootState) => state.uiState.onboardingExplainerExportSets);
- 
-  const { t } = useTranslation(['manageStylesAndVariables']);
- 
-  const store = useStore<RootState>();
- 
-  const selectedTokenSets = React.useMemo(() => (
-    usedTokenSetSelector(store.getState())
-  ), [store]);
- 
-  const {
-    control, getValues, reset,
-  } = useForm<FormValues>({
-    defaultValues: {
-      tokenSets: { ...selectedTokenSets },
-    },
-  });
- 
-  const [showChangeSets, setShowChangeSets] = React.useState(false);
-  const [previousSetSelection, setPreviousSetSelection] = React.useState({});
- 
-  const allSets = useSelector(allTokenSetsSelector);
- 
-  const availableTokenSets = useSelector(allTokenSetsSelector);
- 
-  const setsTree = React.useMemo(() => tokenSetListToTree(availableTokenSets), [availableTokenSets]);
- 
-  const handleCancelChangeSets = React.useCallback(() => {
-    reset(previousSetSelection);
-    setShowChangeSets(false);
-  }, [previousSetSelection, reset]);
- 
-  const handleSaveChangeSets = React.useCallback(() => {
-    setShowChangeSets(false);
-  }, []);
- 
-  const handleShowChangeSets = React.useCallback(() => {
-    setShowChangeSets(true);
-    setPreviousSetSelection(getValues());
-  }, [getValues]);
- 
-  const TokenSetThemeItemInput = React.useCallback((props: React.PropsWithChildren<{ item: TreeItem }>) => (
-    <Controller
-      name="tokenSets"
-      control={control}
-      // this is the only way to do this
-      // eslint-disable-next-line
-      render={({ field }) => (
-        <TokenSetThemeItem
-          {...props}
-          value={field.value}
-          onChange={field.onChange}
-        />
-      )}
-    />
-  ), [control]);
- 
-  const selectedEnabledSets = useMemo(() => selectedSets.filter((set) => set.status === TokenSetStatus.ENABLED), [selectedSets]);
- 
-  React.useEffect(() => {
-    if (!showChangeSets) {
-      const currentSelectedSets = getValues();
-      const internalSelectedTokenSets: ExportTokenSet[] = Object.keys(currentSelectedSets.tokenSets).reduce((acc: ExportTokenSet[], curr: string) => {
-        if (currentSelectedSets.tokenSets[curr] !== TokenSetStatus.DISABLED) {
-          const tokenSet = {
-            set: curr,
-            status: currentSelectedSets.tokenSets[curr],
-          } as ExportTokenSet;
-          acc.push(tokenSet);
-        }
-        return acc;
-      }, [] as ExportTokenSet[]);
-      setSelectedSets([...internalSelectedTokenSets]);
-    }
-  }, [showChangeSets, getValues, setSelectedSets]);
- 
-  return (
-    <Tabs.Content value="useSets">
-      <StyledCard>
-        <Stack direction="column" align="start" gap={6}>
-          <Stack direction="column" align="start" gap={4}>
-            {onboardingExplainerExportSets ? (
-              <OnboardingExplainer
-                data={{
-                  text: t('exportSetsTab.intro'),
-                  title: t('exportSetsTab.confirmSets'),
-                  url: docsLinks.stylesAndVariables,
-                }}
-                closeOnboarding={closeOnboarding}
-              />
-            ) : (
-              <Stack direction="row" align="center" gap={2}>
-                <Heading>{t('exportSetsTab.confirmSets')}</Heading>
-                <ExplainerModal title={t('exportSetsTab.confirmSets')}>
-                  {t('exportSetsTab.intro')}
-                  {/* Commenting out until we have those docs ready <Link target="_blank" href={docsLinks.stylesAndVariables}>{`${t('generic.learnMore')} – ${t('docs.stylesAndVariables')}`}</Link> */}
-                </ExplainerModal>
-              </Stack>
-            )}
-          </Stack>
-          <Stack direction="row" align="start" gap={2}>
-            <FileDirectoryIcon size="small" />
-            <span>
-              {selectedEnabledSets.length}
-              {' of '}
-              {allSets.length}
-              {' '}
-              {t('exportSetsTab.setsSelectedForExport')}
-            </span>
-          </Stack>
-          <Button variant="secondary" size="small" onClick={handleShowChangeSets}>{t('actions.changeSets')}</Button>
-        </Stack>
-      </StyledCard>
-      <Modal
-        size="fullscreen"
-        full
-        compact
-        isOpen={showChangeSets}
-        close={handleCancelChangeSets}
-        backArrow
-        title="Styles and Variables / Export Sets"
-        footer={(
-          <Stack direction="row" gap={4} justify="between">
-            <Button variant="secondary" onClick={handleCancelChangeSets}>
-              {t('actions.cancel')}
-            </Button>
-            <Button variant="primary" onClick={handleSaveChangeSets}>
-              {t('actions.confirm')}
-            </Button>
-          </Stack>
-          )}
-      >
-        <Heading>
-          {t('exportSetsTab.changeSetsHeading')}
-        </Heading>
-        {/* Commenting until we have docs <Link target="_blank" href={docsLinks.sets}>{`${t('generic.learnMore')} – ${t('docs.referenceOnlyMode')}`}</Link> */}
-        <Stack
-          direction="column"
-          gap={1}
-          css={{
-            marginBlockStart: '$4',
-          }}
-        >
-          <TokenSetTreeContent items={setsTree} renderItemContent={TokenSetThemeItemInput} keyPosition="end" />
-        </Stack>
-      </Modal>
-    </Tabs.Content>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html deleted file mode 100644 index d6381be6a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables ExportThemesTab.tsx

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import {
-  Button, Heading, Tabs, Box, Stack, Checkbox, Label,
-} from '@tokens-studio/ui';
-import { useTranslation } from 'react-i18next';
-import { StyledCard } from './StyledCard';
-import {
-  themesListSelector,
-} from '@/selectors';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
-import { ThemeObject } from '@/types';
-import { LabelledCheckbox } from './LabelledCheckbox';
- 
-export default function ExportThemesTab({ selectedThemes, setSelectedThemes }: { selectedThemes: string[], setSelectedThemes: (themes: string[]) => void }) {
-  const { t } = useTranslation(['manageStylesAndVariables']);
-  const themes = useSelector(themesListSelector);
-  const isProUser = useIsProUser();
- 
-  const ThemeGroups = React.useMemo(() => {
-    const uniqueGroups: string[] = themes.reduce((unique: string[], theme) => {
-      if (theme.group && !unique.includes(theme.group)) {
-        unique.push(theme.group);
-      }
-      return unique;
-    }, []);
-    return uniqueGroups;
-  }, [themes]);
- 
-  const ungroupedThemes = React.useMemo(() => themes.filter((theme) => !theme.group), [themes]);
- 
-  // TODO: Remeber selected themes in document storage
-  // Reloading the plugin shouldn't forget the selected themes
- 
-  const handleSelectTheme = React.useCallback((themeId: string) => {
-    if (selectedThemes.includes(themeId)) {
-      setSelectedThemes(selectedThemes.filter((id) => id !== themeId));
-    } else {
-      setSelectedThemes([...selectedThemes, themeId]);
-    }
-  }, [selectedThemes, setSelectedThemes]);
- 
-  const handleSelectAllThemes = React.useCallback(() => {
-    if (selectedThemes.length === themes.length) {
-      setSelectedThemes([]);
-    } else {
-      setSelectedThemes(themes.map((theme) => theme.id));
-    }
-  }, [themes, selectedThemes, setSelectedThemes]);
- 
-  function createThemeRow(theme: ThemeObject) {
-    return (
-      <Stack
-        gap={3}
-        key={theme.id}
-      >
-        {/* eslint-disable-next-line react/jsx-no-bind */}
-        <LabelledCheckbox id={theme.id} checked={selectedThemes.includes(theme.id)} onChange={() => handleSelectTheme(theme.id)} label={theme.name} />
-        {/* TODO: Add theme details */}
-        {/* <ThemeDetails /> */}
-        {/* <IconButton variant="invisible" size="small" tooltip="Details" icon={<ChevronRightIcon />} /> */}
-      </Stack>
-    );
-  }
- 
-  return (
-    <Tabs.Content value="useThemes">
-      {themes.length === 0 ? (
-        <StyledCard>
-          <Stack direction="column" align="start" gap={4}>
-            {isProUser ? (
-              <>
-                <Heading size="medium">{t('exportThemesTab.headingPro')}</Heading>
-                <p>{t('exportThemesTab.introPro')}</p>
-                {/* Commenting out until we have docs <Link target="_blank" href={docsLinks.themes}>
-                  {' '}
-                  {t('generic.learnMore')}
-                  {' – '}
-                  {t('generic.themes')}
-                </Link> */}
-              </>
-            ) : (
-              <>
-                <Heading size="medium">{t('exportThemesTab.headingBasic')}</Heading>
-                <p>{t('exportThemesTab.introBasic')}</p>
-                {/* Commenting out until we have docs <Link target="_blank" href={docsLinks.themes}>
-                  {t('generic.learnMore')}
-                  {' – '}
-                  {t('generic.themes')}
-                </Link> */}
-                <Box css={{
-                  alignSelf: 'flex-end',
-                }}
-                >
-                  <Button variant="secondary" size="small">{t('actions.getPRO')}</Button>
-                </Box>
-              </>
-            )}
-          </Stack>
- 
-        </StyledCard>
-      ) : (
-        <StyledCard>
-          <Stack direction="column" align="start" gap={4}>
-            <Heading>{t('exportThemesTab.confirmThemes')}</Heading>
-            <p>{t('exportThemesTab.combinationsOfSetsMakeThemes')}</p>
-            <Stack direction="column" width="full" gap={4}>
-              <Stack direction="row" gap={3} align="center">
-                <Checkbox id="check-all-themes" checked={selectedThemes.length === themes.length} onCheckedChange={handleSelectAllThemes} />
-                <Label htmlFor="check-all-themes">{t('generic.selectAll')}</Label>
-              </Stack>
-              {ThemeGroups.map((group) => (
-                <Stack direction="column" gap={2}>
-                  <Heading size="small">{group}</Heading>
-                  {themes.filter((theme) => theme.group === group).map((theme) => createThemeRow(theme))}
-                </Stack>
-              ))}
-              {ungroupedThemes.length ? (
-                <Stack direction="column" gap={2}>
-                  <Heading size="small">{t('generic.noGroup')}</Heading>
-                  {ungroupedThemes.map((theme) => createThemeRow(theme))}
-                </Stack>
-              ) : null}
-            </Stack>
-          </Stack>
- 
-        </StyledCard>
-      )}
-    </Tabs.Content>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html deleted file mode 100644 index 941ee693d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables LabelledCheckbox.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Checkbox, Label, Stack } from '@tokens-studio/ui';
- 
-export const LabelledCheckbox = ({
-  label, id, checked, onChange, name,
-}: { label: string; id: string; checked: boolean; onChange: any, name?: string }) => (
-  <>
-    {/* TODO, checkbox needs the name prop from the DS pr */}
-    {/* @ts-ignore next-line */}
-    <Stack direction="row" gap={2} css={{ alignItems: 'center' }}>
-      <Checkbox name={name} id={id} checked={checked} onCheckedChange={onChange} />
-      <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor={id}>{label}</Label>
-    </Stack>
-  </>
- 
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html deleted file mode 100644 index 29f5c4aa5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx.html +++ /dev/null @@ -1,466 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables ManageStylesAndVariables.tsx

-
- -
- 0% - Statements - 0/36 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/35 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Stack, Tabs,
-} from '@tokens-studio/ui';
-import {
-  ChevronLeftIcon, SlidersIcon,
-} from '@primer/octicons-react';
-import { useSelector } from 'react-redux';
-import { StyledProBadge } from '../ProBadge';
-import Modal from '../Modal';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
- 
-import OptionsModal from './OptionsModal';
-import useTokens from '@/app/store/useTokens';
-import ExportSetsTab from './ExportSetsTab';
-import ExportThemesTab from './ExportThemesTab';
-import { allTokenSetsSelector, themesListSelector } from '@/selectors';
-import { ExportTokenSet } from '@/types/ExportTokenSet';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-export default function ManageStylesAndVariables({ showModal, setShowModal }: { showModal: boolean, setShowModal: (show: boolean) => void }) {
-  const { t } = useTranslation(['manageStylesAndVariables']);
- 
-  const isProUser = useIsProUser();
- 
-  const [showOptions, setShowOptions] = React.useState(true);
-  const [activeTab, setActiveTab] = React.useState<'useThemes' | 'useSets'>(isProUser ? 'useThemes' : 'useSets');
- 
-  const allSets = useSelector(allTokenSetsSelector);
-  const themes = useSelector(themesListSelector);
- 
-  const [selectedThemes, setSelectedThemes] = React.useState<string[]>(themes.map((theme) => theme.id));
- 
-  const [selectedSets, setSelectedSets] = React.useState<ExportTokenSet[]>(allSets.map((set) => {
-    const tokenSet = {
-      set,
-      status: TokenSetStatus.ENABLED,
-    };
-    return tokenSet;
-  }));
- 
-  const {
-    createVariablesFromSets, createVariablesFromThemes, createStylesFromSelectedTokenSets, createStylesFromSelectedThemes,
-  } = useTokens();
- 
-  const handleShowOptions = React.useCallback(() => {
-    setShowOptions(true);
-  }, []);
- 
-  const handleCancelOptions = React.useCallback(() => {
-    // DO NOT SAVE THE OPTIONS
-    setShowOptions(false);
-  }, []);
- 
-  const handleExportToFigma = React.useCallback(async () => {
-    setShowModal(false);
-    if (activeTab === 'useSets') {
-      await createVariablesFromSets(selectedSets);
-      await createStylesFromSelectedTokenSets(selectedSets);
-    } else if (activeTab === 'useThemes') {
-      await createVariablesFromThemes(selectedThemes);
-      await createStylesFromSelectedThemes(selectedThemes);
-    }
-  }, [setShowModal, activeTab, selectedThemes, selectedSets, createVariablesFromSets, createStylesFromSelectedTokenSets, createVariablesFromThemes, createStylesFromSelectedThemes]);
-  const canExportToFigma = activeTab === 'useSets' ? selectedSets.length > 0 : selectedThemes.length > 0;
- 
-  const handleTabChange = React.useCallback((tab: 'useThemes' | 'useSets') => {
-    setActiveTab(tab);
-  }, []);
- 
-  const handleClose = React.useCallback(() => {
-    if (showOptions) {
-      setShowOptions(false);
-    } else {
-      setShowModal(false);
-    }
-  }, [setShowModal, showOptions]);
- 
-  const onInteractOutside = React.useCallback((event: Event) => {
-    event.preventDefault();
-  }, []);
- 
-  return (
-    <>
-      <Modal
-        size="fullscreen"
-        title={t('modalTitle')}
-        showClose
-        isOpen={showModal}
-        close={handleClose}
-        onInteractOutside={onInteractOutside}
-        footer={(
-          <Stack direction="row" gap={4} justify="between">
-            <Button variant="invisible" id="manageStyles-button-close" onClick={handleClose} icon={<ChevronLeftIcon />}>
-              {t('actions.cancel')}
-            </Button>
-            <Stack direction="row" gap={4}>
-              <Button variant="secondary" icon={<SlidersIcon />} id="manageStyles-button-options" onClick={handleShowOptions}>
-                {t('actions.options')}
-              </Button>
-              <Button variant="primary" id="pullDialog-button-override" onClick={handleExportToFigma} disabled={!canExportToFigma}>
-                {t('actions.export')}
-              </Button>
-            </Stack>
-          </Stack>
-  )}
-        stickyFooter
-      >
-        <Tabs defaultValue={activeTab}>
-          <Tabs.List>
-            {/* eslint-disable-next-line react/jsx-no-bind */}
-            <Tabs.Trigger value="useThemes" onClick={() => handleTabChange('useThemes')}>
-              {t('tabs.exportThemes')}
-              <StyledProBadge css={{ marginInlineStart: '$2' }}>{isProUser ? 'PRO' : 'Get PRO'}</StyledProBadge>
-            </Tabs.Trigger>
-            {/* eslint-disable-next-line react/jsx-no-bind */}
-            <Tabs.Trigger value="useSets" onClick={() => handleTabChange('useSets')}>{t('tabs.exportSets')}</Tabs.Trigger>
-          </Tabs.List>
-          <ExportThemesTab selectedThemes={selectedThemes} setSelectedThemes={setSelectedThemes} />
-          <ExportSetsTab selectedSets={selectedSets} setSelectedSets={setSelectedSets} />
-        </Tabs>
-      </Modal>
-      <OptionsModal isOpen={showModal && showOptions} title={t('optionsModalTitle')} closeAction={handleCancelOptions} />
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html deleted file mode 100644 index b7e8c50b0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/OptionsModal.tsx.html +++ /dev/null @@ -1,892 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/OptionsModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables OptionsModal.tsx

-
- -
- 0% - Statements - 0/49 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/47 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import {
-  Stack, Label, Box, Button, Switch, Text,
-} from '@tokens-studio/ui';
-import { styled } from '@stitches/react';
-import {
-  ChevronLeftIcon,
-} from '@primer/octicons-react';
-import { useDispatch, useSelector } from 'react-redux';
-import { Modal } from '../Modal/Modal';
-import { LabelledCheckbox } from './LabelledCheckbox';
-import { ExplainerModal } from '../ExplainerModal';
-import {
-  ignoreFirstPartForStylesSelector,
-  prefixStylesWithThemeNameSelector,
-  createStylesWithVariableReferencesSelector,
-  removeStylesAndVariablesWithoutConnectionSelector,
-  renameExistingStylesAndVariablesSelector,
-  variablesColorSelector,
-  variablesNumberSelector,
-  variablesBooleanSelector,
-  variablesStringSelector,
-  stylesColorSelector,
-  stylesEffectSelector,
-  stylesTypographySelector,
-} from '@/selectors';
-import ignoreFirstPartImage from '@/app/assets/hints/ignoreFirstPartForStyles.png';
-import prefixStylesImage from '@/app/assets/hints/prefixStyles.png';
-import { Dispatch } from '../../store';
- 
-const StyledCheckboxGrid = styled(Box, {
-  display: 'grid', gridTemplateColumns: 'min-content 1fr', gridGap: '$3', alignItems: 'center',
-});
- 
-// TODO: expose types from @tokens-studio/ui/checkbox
-type CheckedState = boolean | 'indeterminate';
- 
-export default function OptionsModal({ isOpen, title, closeAction }: { isOpen: boolean, title: string, closeAction: () => void }) {
-  const rulesRemoveStylesAndVariablesWithoutConnection = useSelector(removeStylesAndVariablesWithoutConnectionSelector);
-  const rulesRenameExisting = useSelector(renameExistingStylesAndVariablesSelector);
- 
-  const rulesIgnoreFirstPartForStyles = useSelector(ignoreFirstPartForStylesSelector);
-  const rulesPrefixStylesWithThemeName = useSelector(prefixStylesWithThemeNameSelector);
-  const rulesCreateStylesWithVariableReferences = useSelector(createStylesWithVariableReferencesSelector);
- 
-  const variablesColor = useSelector(variablesColorSelector);
-  const variablesNumber = useSelector(variablesNumberSelector);
-  const variablesBoolean = useSelector(variablesBooleanSelector);
-  const variablesString = useSelector(variablesStringSelector);
-  const stylesColor = useSelector(stylesColorSelector);
-  const stylesTypography = useSelector(stylesTypographySelector);
-  const stylesEffect = useSelector(stylesEffectSelector);
- 
-  const dispatch = useDispatch<Dispatch>();
- 
-  const handleIgnoreChange = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setIgnoreFirstPartForStyles(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handlePrefixWithThemeNameChange = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setPrefixStylesWithThemeName(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handleCreateStylesWithVariableReferencesChange = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setCreateStylesWithVariableReferences(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handleRenameExistingChange = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setRenameExistingStylesAndVariables(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handleRemoveStylesAndVariablesWithoutConnectionChange = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setRemoveStylesAndVariablesWithoutConnection(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handleExportVariablesColor = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setVariablesColor(!!state);
-      // color can be created *either* styles or variables, we dont want both. if we're setting this to true, disable the other one
-      if (state) dispatch.settings.setStylesColor(!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handleExportVariablesNumber = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setVariablesNumber(!!state);
-    },
-    [dispatch.settings],
-  );
-  const handleExportVariablesBoolean = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setVariablesBoolean(!!state);
-    },
-    [dispatch.settings],
-  );
-  const handleExportVariablesString = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setVariablesString(!!state);
-    },
-    [dispatch.settings],
-  );
-  const handleExportStylesColor = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setStylesColor(!!state);
-      // color can be created *either* styles or variables, we dont want both. if we're setting this to true, disable the other one
-      if (state) dispatch.settings.setVariablesColor(!state);
-    },
-    [dispatch.settings],
-  );
-  const handleExportStylesTypography = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setStylesTypography(!!state);
-    },
-    [dispatch.settings],
-  );
-  const handleExportStylesEffect = React.useCallback(
-    (state: CheckedState) => {
-      dispatch.settings.setStylesEffect(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const handleSaveOptions = React.useCallback(() => {
-    closeAction();
-  }, [closeAction]);
- 
-  const onInteractOutside = (event: Event) => {
-    event.preventDefault();
-  };
- 
-  const { t } = useTranslation(['manageStylesAndVariables', 'tokens']);
- 
-  return (
-    <Modal
-      size="fullscreen"
-      title={title}
-      backArrow
-      isOpen={isOpen}
-      close={closeAction}
-      /* eslint-disable-next-line react/jsx-no-bind */
-      onInteractOutside={(event) => onInteractOutside(event)}
-      footer={(
-        <Stack direction="row" justify="between" gap={4}>
-          <Button variant="invisible" id="manageStyles-button-close" onClick={closeAction} icon={<ChevronLeftIcon />}>
-            {t('actions.cancel')}
-          </Button>
- 
-          <Button variant="primary" id="pullDialog-button-overwrite" onClick={handleSaveOptions}>
-            {t('actions.confirm')}
-          </Button>
- 
-        </Stack>
-)}
-      stickyFooter
-    >
-      <Stack direction="column" align="start" gap={4}>
-        <Stack direction="column" align="start" gap={3}>
-          <Text>{t('options.intro')}</Text>
-          {/* Commenting out until we have docs <Link target="_blank" href="https://docs.tokens.studio/">{`${t('generic.learnMore')} – ${t('docs.exportToFigmaOptions')}`}</Link> */}
-        </Stack>
-        <form>
-          <Stack direction="column" gap={6}>
-            <Box>
-              <Text bold css={{ fontSize: '$medium', marginBottom: '$2' }}>{t('options.createAndUpdate')}</Text>
-              <Box css={{
-                width: '100%', display: 'grid', gridTemplateColumns: '1fr 1px 1fr', columnGap: '$5',
-              }}
-              >
-                <Stack direction="column" gap={3}>
-                  <Text css={{ fontWeight: '$sansMedium' }}>{t('generic.variables')}</Text>
-                  <LabelledCheckbox id="variablesColor" onChange={handleExportVariablesColor} checked={!!variablesColor} label={t('variables.color')} />
-                  <LabelledCheckbox id="variablesString" onChange={handleExportVariablesString} checked={!!variablesString} label={t('variables.string')} />
-                  <LabelledCheckbox id="variablesNumber" onChange={handleExportVariablesNumber} checked={!!variablesNumber} label={t('variables.number')} />
-                  <LabelledCheckbox id="variablesBoolean" onChange={handleExportVariablesBoolean} checked={!!variablesBoolean} label={t('variables.boolean')} />
-                </Stack>
-                <Box css={{ alignSelf: 'stretch', width: '1px', border: '1px solid $colors$borderSubtle' }} />
-                <Stack direction="column" gap={3}>
-                  <Text css={{ fontWeight: '$sansMedium' }}>{t('generic.styles')}</Text>
-                  <LabelledCheckbox id="styleColor" onChange={handleExportStylesColor} checked={!!stylesColor} label={t('styles.color')} />
-                  <LabelledCheckbox id="stylesTypography" onChange={handleExportStylesTypography} checked={!!stylesTypography} label={t('styles.typography')} />
-                  <LabelledCheckbox id="stylesEffect" onChange={handleExportStylesEffect} checked={!!stylesEffect} label={t('styles.effects')} />
-                </Stack>
-              </Box>
-            </Box>
-            <StyledCheckboxGrid>
-              <Text bold css={{ fontSize: '$medium', gridColumnStart: 1, gridColumnEnd: 4 }}>{t('options.tokensExportedToFigmaShould')}</Text>
-              <Switch
-                data-testid="ignoreFirstPartForStyles"
-                id="ignoreFirstPartForStyles"
-                checked={!!rulesIgnoreFirstPartForStyles}
-                defaultChecked={rulesIgnoreFirstPartForStyles}
-                onCheckedChange={handleIgnoreChange}
-              />
-              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="ignoreFirstPartForStyles">{t('options.ignorePrefix')}</Label>
-              <ExplainerModal title={t('options.ignorePrefix')}>
-                <Box as="img" src={ignoreFirstPartImage} css={{ borderRadius: '$small' }} />
-                <Box>{t('options.ignorePrefixExplanation')}</Box>
-              </ExplainerModal>
- 
-              <Switch
-                data-testid="prefixStylesWithThemeName"
-                id="prefixStylesWithThemeName"
-                checked={!!rulesPrefixStylesWithThemeName}
-                defaultChecked={rulesPrefixStylesWithThemeName}
-                onCheckedChange={handlePrefixWithThemeNameChange}
-              />
-              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="prefixStylesWithThemeName">{t('options.prefixStyles')}</Label>
-              <ExplainerModal title={t('options.prefixStyles')}>
-                <Box as="img" src={prefixStylesImage} css={{ borderRadius: '$small' }} />
-                <Box>{t('options.prefixStylesExplanation')}</Box>
-              </ExplainerModal>
- 
-              <Switch
-                data-testid="createStylesWithVariableReferences"
-                id="createStylesWithVariableReferences"
-                checked={!!rulesCreateStylesWithVariableReferences}
-                defaultChecked={rulesCreateStylesWithVariableReferences}
-                onCheckedChange={handleCreateStylesWithVariableReferencesChange}
-              />
-              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="createStylesWithVariableReferences">{t('options.createStylesWithVariableReferences')}</Label>
-              <ExplainerModal title={t('options.createStylesWithVariableReferences')}>
-                <Box>{t('options.createStylesWithVariableReferencesExplanation')}</Box>
-              </ExplainerModal>
-              <Switch
-                data-testid="renameExisting"
-                id="renameExisting"
-                checked={!!rulesRenameExisting}
-                defaultChecked={rulesRenameExisting}
-                onCheckedChange={handleRenameExistingChange}
-              />
-              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="renameExisting">{t('options.renameExisting')}</Label>
-              <ExplainerModal title={t('options.renameExisting')}>
-                <Box>{t('options.renameExistingExplanation')}</Box>
-              </ExplainerModal>
-              <Switch
-                data-testid="removeWithoutConnection"
-                id="removeWithoutConnection"
-                checked={!!rulesRemoveStylesAndVariablesWithoutConnection}
-                defaultChecked={rulesRemoveStylesAndVariablesWithoutConnection}
-                onCheckedChange={handleRemoveStylesAndVariablesWithoutConnectionChange}
-              />
-              <Label css={{ fontWeight: '$sansRegular', fontSize: '$xsmall' }} htmlFor="removeWithoutConnection">{t('options.removeWithoutConnection')}</Label>
-              <ExplainerModal title={t('options.removeWithoutConnection')}>
-                <Box>{t('options.removeWithoutConnectionExplanation')}</Box>
-              </ExplainerModal>
-            </StyledCheckboxGrid>
-          </Stack>
-        </form>
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html deleted file mode 100644 index 6df2d32b1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/StyledCard.tsx.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/StyledCard.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables StyledCard.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import { Box } from '@tokens-studio/ui';
-import { styled } from '@stitches/react';
- 
-export const StyledCard = styled(Box, {
-  borderRadius: '$medium',
-  border: '1px solid $colors$borderSubtle',
-  padding: '$4',
-  display: 'flex',
-  flexDirection: 'column',
-  marginBlock: '$4',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html deleted file mode 100644 index 675606027..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/ThemeDetails.tsx.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/ThemeDetails.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables ThemeDetails.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Stack, Label } from '@tokens-studio/ui';
-import {
-  DiffAddedIcon, DiffRemovedIcon, PencilIcon, AlertFillIcon,
-} from '@primer/octicons-react';
-/*
- 
-This component is not needed at the moment,
-but it will be used in the future to show the theme details in the theme list.
- 
-@TODO: Add a custom hook to get the theme details from the theme object
- 
-*/
- 
-export const ThemeDetails = () => (
-  <Stack
-    direction="row"
-    gap={4}
-    css={{
-      label: {
-        display: 'inline-flex',
-        flexDirection: 'row',
-      },
-    }}
-  >
-    <Label css={{ color: '$successFg', fontSize: '$xxsmall' }}>
-      <DiffAddedIcon size="small" />
-      9999
-    </Label>
-    <Label css={{ color: '$dangerFg', fontSize: '$xxsmall' }}>
-      <DiffRemovedIcon size="small" />
-      9999
-    </Label>
-    <Label css={{ color: '$accentEmphasis', fontSize: '$xxsmall' }}>
-      <PencilIcon size="small" />
-      9999
-    </Label>
-    <Label css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
-      <AlertFillIcon size="small" />
-      9999
-    </Label>
-  </Stack>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html deleted file mode 100644 index f0d6955f1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/docsLinks.tsx.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables/docsLinks.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageStylesAndVariables docsLinks.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export const docsLinks = {
-  stylesAndVariables: 'https://docs.tokens.studio/',
-  themes: 'https://docs.tokens.studio/',
-  sets: 'https://docs.tokens.studio/',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html deleted file mode 100644 index 8790b6890..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageStylesAndVariables/index.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageStylesAndVariables - - - - - - - - - -
-
-

All files src/app/components/ManageStylesAndVariables

-
- -
- 0% - Statements - 0/160 -
- - -
- 0% - Branches - 0/38 -
- - -
- 0% - Functions - 0/58 -
- - -
- 0% - Lines - 0/148 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ExportSetsTab.tsx -
-
0%0/400%0/60%0/140%0/36
ExportThemesTab.tsx -
-
0%0/290%0/140%0/150%0/24
LabelledCheckbox.tsx -
-
0%0/2100%0/00%0/10%0/2
ManageStylesAndVariables.tsx -
-
0%0/360%0/140%0/110%0/35
OptionsModal.tsx -
-
0%0/490%0/40%0/160%0/47
StyledCard.tsx -
-
0%0/1100%0/0100%0/00%0/1
ThemeDetails.tsx -
-
0%0/2100%0/00%0/10%0/2
docsLinks.tsx -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html deleted file mode 100644 index 0daa3892d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx.html +++ /dev/null @@ -1,730 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal CreateOrEditThemeForm.tsx

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo, useState } from 'react';
-import { useForm, Controller } from 'react-hook-form';
-import { useSelector, useStore } from 'react-redux';
-import {
-  Box, Button, IconButton, Stack,
-} from '@tokens-studio/ui';
-import { NavArrowLeft } from 'iconoir-react';
-import { useTranslation } from 'react-i18next';
-import { allTokenSetsSelector, themesListSelector, usedTokenSetSelector } from '@/selectors';
-import { StyledNameInputBox } from './StyledNameInputBox';
-import { StyledCreateOrEditThemeFormHeaderFlex } from './StyledCreateOrEditThemeFormHeaderFlex';
-import { tokenSetListToTree, tokenSetListToList, TreeItem } from '@/utils/tokenset';
-import { useIsGitMultiFileEnabled } from '@/app/hooks/useIsGitMultiFileEnabled';
-import { TokenSetThemeItem } from './TokenSetThemeItem';
-import { StyledForm } from './StyledForm';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { RootState } from '@/app/store';
-import { IconPlus } from '@/icons';
-import { StyledCreateOrEditThemeFormTabsFlex } from './StyledCreateOrEditThemeFormTabsFlex';
-import Input from '../Input';
-import { TabButton } from '../TabButton';
-import { ThemeStyleManagementForm } from './ThemeStyleManagementForm';
-import { TokenSetTreeContent } from '../TokenSetTree/TokenSetTreeContent';
-import { ThemeGroupDropDownMenu } from './ThemeGroupDropDownMenu';
- 
-export type FormValues = {
-  name: string
-  group?: string
-  tokenSets: Record<string, TokenSetStatus>
-};
- 
-export enum ThemeFormTabs {
-  SETS = 'sets',
-  STYLES_VARIABLES = 'Styles & Variables',
-}
- 
-type Props = {
-  id?: string
-  defaultValues?: Partial<FormValues>
-  onSubmit: (values: FormValues) => void
-  onCancel: () => void
-};
- 
-export const CreateOrEditThemeForm: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  id, defaultValues, onSubmit, onCancel,
-}) => {
-  const store = useStore<RootState>();
-  const [activeTab, setActiveTab] = useState(ThemeFormTabs.SETS);
-  const [showGroupInput, setShowGroupInput] = useState(false);
-  const githubMfsEnabled = useIsGitMultiFileEnabled();
-  const selectedTokenSets = useMemo(() => (
-    usedTokenSetSelector(store.getState())
-  ), [store]);
-  const availableTokenSets = useSelector(allTokenSetsSelector);
-  const themes = useSelector(themesListSelector);
-  const groupNames = useMemo(() => ([...new Set(themes.filter((t) => t?.group).map((t) => t.group as string))]), [themes]);
-  const { t } = useTranslation(['tokens', 'errors']);
- 
-  const treeOrListItems = useMemo(() => (
-    githubMfsEnabled
-      ? tokenSetListToTree(availableTokenSets)
-      : tokenSetListToList(availableTokenSets)
-  ), [githubMfsEnabled, availableTokenSets]);
- 
-  const {
-    register, handleSubmit, control, resetField,
-  } = useForm<FormValues>({
-    defaultValues: {
-      tokenSets: { ...selectedTokenSets },
-      ...defaultValues,
-    },
-  });
- 
-  const handleGroupKeyDown = useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {
-    if (e.key === 'Escape') {
-      e.stopPropagation();
-      resetField('group');
-      setShowGroupInput(false);
-    }
-  }, [resetField]);
- 
-  const TokenSetThemeItemInput = useCallback((props: React.PropsWithChildren<{ item: TreeItem }>) => (
-    <Controller
-      name="tokenSets"
-      control={control}
-      // this is the only way to do this
-      // eslint-disable-next-line
-      render={({ field }) => (
-        <TokenSetThemeItem
-          {...props}
-          value={field.value}
-          onChange={field.onChange}
-        />
-      )}
-    />
-  ), [control]);
- 
-  const handleAddGroup = React.useCallback(() => [
-    setShowGroupInput(true),
-  ], []);
- 
-  return (
-    <StyledForm id="form-create-or-edit-theme" onSubmit={handleSubmit(onSubmit)}>
-      <StyledNameInputBox css={{
-        width: '100%', position: 'sticky', top: 0, zIndex: 2,
-      }}
-      >
-        <StyledCreateOrEditThemeFormHeaderFlex>
-          <IconButton
-            tooltip={t('returnToOverview')}
-            data-testid="button-return-to-overview"
-            icon={<NavArrowLeft />}
-            size="small"
-            variant="invisible"
-            onClick={onCancel}
-          />
-          <Stack
-            direction="row"
-            align="center"
-            gap={1}
-            css={{
-              width: '100%',
-              paddingBlock: '$4',
-              justifyContent: 'space-evenly',
-            }}
-          >
-            <Stack direction="row" gap={1} align="center">
-              {
-            showGroupInput ? (
-              <Input
-                full
-                autofocus
-                data-testid="create-or-edit-theme-form--group--name"
-                {...register('group')}
-                placeholder={t('addGroup')}
-                onKeyDown={handleGroupKeyDown}
-                css={{
-                  display: 'flex',
-                }}
-              />
-            ) : (
-              <Box css={{ width: '100%' }}>
-                {
-                  groupNames.length > 0 ? (
-                    <Controller
-                      name="group"
-                      control={control}
-                      // eslint-disable-next-line
-                      render={({ field }) => (
-                        <ThemeGroupDropDownMenu
-                          availableGroups={groupNames}
-                          selectedGroup={field.value}
-                          onChange={field.onChange}
-                          addGroup={handleAddGroup}
-                        />
-                      )}
-                    />
-                  ) : (
-                    <Button
-                      data-testid="button-manage-themes-modal-new-group"
-                      variant="secondary"
-                      icon={<IconPlus />}
-                      onClick={handleAddGroup}
-                      size="small"
-                    >
-                      {t('addGroup')}
-                    </Button>
-                  )
-                }
-              </Box>
-            )
-          }
-              <Box css={{ margin: '0 $3' }}>/</Box>
-            </Stack>
-            <Stack direction="row" gap={1} align="center" css={{ flexGrow: 1 }}>
-              <Input
-                full
-                data-testid="create-or-edit-theme-form--input--name"
-                {...register('name', { required: true })}
-                placeholder={t('themeName')}
-              />
-            </Stack>
-          </Stack>
- 
-        </StyledCreateOrEditThemeFormHeaderFlex>
-      </StyledNameInputBox>
-      {id && (
- 
-      <StyledCreateOrEditThemeFormTabsFlex>
-        <TabButton name={ThemeFormTabs.SETS} activeTab={activeTab} label={t('sets.title')} onSwitch={setActiveTab} small />
-        <TabButton name={ThemeFormTabs.STYLES_VARIABLES} activeTab={activeTab} label={t('stylesAndVariables')} onSwitch={setActiveTab} small />
-      </StyledCreateOrEditThemeFormTabsFlex>
-      )}
-      <Stack direction="column" gap={1}>
-        {activeTab === ThemeFormTabs.SETS && (
-        <Stack direction="column" gap={1} css={{ padding: '$3 $4 $3' }}>
-          <TokenSetTreeContent
-            items={treeOrListItems}
-            renderItemContent={TokenSetThemeItemInput}
-            keyPosition="end"
-          />
-        </Stack>
-        )}
-        {(activeTab === ThemeFormTabs.STYLES_VARIABLES && id) && (
-        <Box css={{ padding: '$3' }}>
-          <Box css={{ padding: '$1', marginBottom: '$2' }}>
-            {t('stylesVarMultiDimensionalThemesWarning')}
-          </Box>
-          <ThemeStyleManagementForm id={id} />
-        </Box>
-        )}
-      </Stack>
-    </StyledForm>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html deleted file mode 100644 index a0637416a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ManageThemesModal.tsx.html +++ /dev/null @@ -1,937 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ManageThemesModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ManageThemesModal.tsx

-
- -
- 0% - Statements - 0/75 -
- - -
- 0% - Branches - 0/66 -
- - -
- 0% - Functions - 0/18 -
- - -
- 0% - Lines - 0/72 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useMemo, useState, useRef, useEffect,
-} from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import omit from 'just-omit';
-import debounce from 'lodash.debounce';
-import { Button, EmptyState } from '@tokens-studio/ui';
-import { styled } from '@stitches/react';
-import { useTranslation } from 'react-i18next';
-import { activeThemeSelector, themesListSelector } from '@/selectors';
-import Modal from '../Modal';
-import { Dispatch } from '@/app/store';
-import Stack from '../Stack';
-import IconPlus from '@/icons/plus.svg';
-import { CreateOrEditThemeForm, FormValues } from './CreateOrEditThemeForm';
-import { ThemeObject, ThemeObjectsList } from '@/types';
-import Box from '../Box';
-import { track } from '@/utils/analytics';
-import useConfirm from '@/app/hooks/useConfirm';
-import { ThemeListItemContent } from './ThemeListItemContent';
-import { DragItem } from '../StyledDragger/DragItem';
-import { ReorderGroup } from '@/motion/ReorderGroup';
-import { ThemeListGroupHeader } from './ThemeListGroupHeader';
-import { INTERNAL_THEMES_NO_GROUP, INTERNAL_THEMES_NO_GROUP_LABEL } from '@/constants/InternalTokenGroup';
-import { TreeItem, themeListToTree } from '@/utils/themeListToTree';
-import { ItemData } from '@/context';
-import { checkReorder } from '@/utils/motion';
-import { ensureFolderIsTogether, findOrderableTargetIndexesInThemeList } from '@/utils/dragDropOrder';
- 
-type Props = unknown;
- 
-const StyledReorderGroup = styled(ReorderGroup, {
-  display: 'grid',
-  gridTemplateColumns: '1fr',
-  gridAutoFlow: 'row',
-  '> li > button': {
-    display: 'grid',
-    gridTemplateColumns: 'auto 1fr min-content',
-    gridAutoFlow: 'column',
-  },
-});
- 
-export const ManageThemesModal: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = () => {
-  const dispatch = useDispatch<Dispatch>();
-  const themes = useSelector(themesListSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const { confirm } = useConfirm();
-  const [themeEditorOpen, setThemeEditorOpen] = useState<boolean | string>(false);
-  const [themeListScrollPosition, setThemeListScrollPosition] = useState<number>(0);
-  const themeListRef = useRef<HTMLDivElement>(null);
-  const treeItems = themeListToTree(themes);
-  const { t } = useTranslation(['tokens']);
- 
-  const themeEditorDefaultValues: Partial<ThemeObject> = useMemo(() => {
-    const themeObject = themes.find(({ id }) => id === themeEditorOpen);
-    if (themeObject) {
-      return {
-        name: themeObject.name,
-        tokenSets: themeObject.selectedTokenSets,
-        ...(themeObject?.group ? { group: themeObject.group } : {}),
-      };
-    }
-    return {};
-  }, [themes, themeEditorOpen]);
- 
-  const handleClose = useCallback(() => {
-    dispatch.uiState.setManageThemesModalOpen(false);
-  }, [dispatch]);
- 
-  const handleToggleThemeEditor = useCallback((theme?: ThemeObject) => {
-    if (theme && typeof theme !== 'boolean') {
-      const nextState = theme.id === themeEditorOpen ? false : theme.id;
-      if (nextState) {
-        if (themeListRef.current) {
-          setThemeListScrollPosition(themeListRef.current.scrollTop);
-        }
-      }
-      setThemeEditorOpen(nextState);
-    } else {
-      setThemeEditorOpen(!themeEditorOpen);
-    }
-  }, [themeEditorOpen]);
- 
-  const handleToggleOpenThemeEditor = useCallback(() => {
-    setThemeEditorOpen(!themeEditorOpen);
-  }, [themeEditorOpen]);
- 
-  const handleDeleteTheme = useCallback(async () => {
-    if (typeof themeEditorOpen === 'string') {
-      const confirmDelete = await confirm({ text: t('confirmDeleteTheme'), confirmAction: t('delete'), variant: 'danger' });
-      if (confirmDelete) {
-        track('Delete theme', { id: themeEditorOpen });
-        dispatch.tokenState.deleteTheme(themeEditorOpen);
-        setThemeEditorOpen(false);
-      }
-    }
-  }, [confirm, dispatch.tokenState, t, themeEditorOpen]);
- 
-  const handleCancelEdit = useCallback(() => {
-    setThemeEditorOpen(false);
-  }, []);
- 
-  const handleSubmit = useCallback((values: FormValues) => {
-    const id = typeof themeEditorOpen === 'string' ? themeEditorOpen : undefined;
-    if (id) {
-      track('Edit theme', { id, values });
-    } else {
-      track('Create theme', { values });
-    }
-    dispatch.tokenState.saveTheme({
-      id,
-      name: values.name,
-      selectedTokenSets: values.tokenSets,
-      ...(values?.group ? { group: values.group } : {}),
-      meta: {
-        oldName: themeEditorDefaultValues?.name,
-        oldGroup: themeEditorDefaultValues?.group,
-      },
-    });
-    setThemeEditorOpen(false);
-  }, [themeEditorOpen, dispatch.tokenState, themeEditorDefaultValues]);
- 
-  const handleReorder = React.useCallback((reorderedItems: TreeItem[]) => {
-    let currentGroup = '';
-    const updatedThemes = reorderedItems.reduce<ThemeObjectsList>((acc, curr) => {
-      if (!curr.isLeaf && typeof curr.value === 'string') {
-        currentGroup = curr.value;
-      }
-      if (curr.isLeaf && typeof curr.value === 'object') {
-        acc.push({
-          ...omit(curr.value, 'group'),
-          ...(currentGroup === INTERNAL_THEMES_NO_GROUP ? {} : { group: currentGroup }),
-        });
-      }
-      return acc;
-    }, []);
-    const newActiveTheme = activeTheme;
-    Object.keys(newActiveTheme).forEach((group) => {
-      // check whether the activeTheme is still belong to the group
-      if (updatedThemes.findIndex((theme) => theme.id === activeTheme?.[group] && theme.group === group) < 0) {
-        delete newActiveTheme[group];
-      }
-    });
-    dispatch.tokenState.setThemes(updatedThemes);
-  }, [dispatch.tokenState, activeTheme]);
- 
-  const handleCheckReorder = React.useCallback((
-    order: ItemData<typeof treeItems[number]>[],
-    value: typeof treeItems[number],
-    offset: number,
-    velocity: number,
-  ) => {
-    const availableIndexes = findOrderableTargetIndexesInThemeList(
-      velocity,
-      value,
-      order,
-    );
-    let nextOrder = checkReorder(order, value, offset, velocity, availableIndexes);
-    // ensure folders stay together
-    if (!value.isLeaf) {
-      nextOrder = ensureFolderIsTogether<TreeItem>(value, order, nextOrder);
-    }
-    return nextOrder;
-  }, []);
- 
-  useEffect(() => {
-    if (themeListRef.current) {
-      themeListRef.current.scrollTop = themeListScrollPosition;
-    }
-  }, [themeEditorOpen, themeListScrollPosition]);
- 
-  const handleThemeListScroll = useCallback(() => {
-    if (themeListRef.current) {
-      setThemeListScrollPosition(themeListRef.current.scrollTop);
-    }
-  }, []);
- 
-  const debouncedHandleThemeListScroll = useMemo(() => debounce(handleThemeListScroll, 200), [handleThemeListScroll]);
- 
-  return (
-    <Modal
-      isOpen
-      full
-      title={t('themes')}
-      stickyFooter
-      showClose
-      footer={(
-        <Stack gap={2} direction="row" justify="end">
-          {!themeEditorOpen && (
-            <Button
-              data-testid="button-manage-themes-modal-new-theme"
-              variant="secondary"
-              icon={<IconPlus />}
-              onClick={handleToggleOpenThemeEditor}
-            >
-              {t('newTheme')}
-            </Button>
-          )}
-          {themeEditorOpen && (
-            <>
-              <Box css={{ marginRight: 'auto' }}>
-                {typeof themeEditorOpen === 'string' && (
-                <Button
-                  data-testid="button-manage-themes-modal-delete-theme"
-                  variant="danger"
-                  type="submit"
-                  onClick={handleDeleteTheme}
-                >
-                  {t('delete')}
-                </Button>
-                )}
-              </Box>
-              <Stack direction="row" gap={4}>
-                <Button
-                  data-testid="button-manage-themes-modal-cancel"
-                  variant="secondary"
-                  onClick={handleToggleOpenThemeEditor}
-                >
-                  {t('cancel')}
-                </Button>
-                <Button
-                  data-testid="button-manage-themes-modal-save-theme"
-                  variant="primary"
-                  type="submit"
-                  form="form-create-or-edit-theme"
-                >
-                  {t('saveTheme')}
-                </Button>
-              </Stack>
-            </>
-          )}
-        </Stack>
-      )}
-      close={handleClose}
-      scrollContainerRef={themeListRef}
-    >
-      {!themes.length && !themeEditorOpen && (
-        <EmptyState
-          css={{ padding: '$8 $4' }}
-          title={t('manageThemesModal.emptyTitle')}
-          description={t('manageThemesModal.emptyDescription')}
-        />
-      )}
-      {!!themes.length && !themeEditorOpen && (
-        <Box
-          css={{ padding: '$3 $2 $3 0' }}
-          onScroll={debouncedHandleThemeListScroll}
-        >
-          <StyledReorderGroup
-            layoutScroll
-            values={treeItems}
-            onReorder={handleReorder}
-            checkReorder={handleCheckReorder as (order: ItemData<unknown>[], value: unknown, offset: number, velocity: number) => ItemData<unknown>[]}
-          >
-            {
-            treeItems.map((item) => (
-              <DragItem<TreeItem> key={item.key} item={item}>
-                {
-                  item.isLeaf && typeof item.value === 'object' ? (
-                    <ThemeListItemContent item={item.value} isActive={activeTheme?.[item.parent as string] === item.value.id} onOpen={handleToggleThemeEditor} groupName={item.parent as string} />
-                  ) : (
-                    <ThemeListGroupHeader
-                      label={item.value === INTERNAL_THEMES_NO_GROUP ? INTERNAL_THEMES_NO_GROUP_LABEL : item.value as string}
-                      groupName={item.value as string}
-                    />
-                  )
-                }
-              </DragItem>
-            ))
-          }
-          </StyledReorderGroup>
-        </Box>
-      )}
-      {themeEditorOpen && (
-      <CreateOrEditThemeForm
-        id={typeof themeEditorOpen === 'string' ? themeEditorOpen : undefined}
-        defaultValues={themeEditorDefaultValues}
-        onSubmit={handleSubmit}
-        onCancel={handleCancelEdit}
-      />
-      )}
-    </Modal>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html deleted file mode 100644 index 3363b69d4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/SingleThemeEntry.tsx.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/SingleThemeEntry.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal SingleThemeEntry.tsx

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import {
-  IconButton, Label, Stack, Switch, Box,
-} from '@tokens-studio/ui';
-import { styled } from '@stitches/react';
-import { ThemeObject } from '@/types';
-import IconDiveInto from '@/icons/dive-into.svg';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { Dispatch } from '@/app/store';
-import { activeThemeSelector } from '@/selectors';
- 
-type Props = {
-  theme: ThemeObject
-  isActive: boolean
-  groupName: string
-  onOpen: (theme: ThemeObject) => void
-};
- 
-const StyledCountLabel = styled('span', {
-  display: 'inline-flex',
-  alignItems: 'center',
-  justifyContent: 'flex-start',
-  gap: '$2',
-  fontSize: '$xsmall',
-  color: '$fgMuted',
-  '&:not(:last-of-type)::after': {
-    content: "'·'",
-    paddingRight: '$1',
-    marginRight: '$1',
-    color: '$fgMuted',
-  },
-  variants: {
-    variant: {
-      danger: {
-        color: '$dangerFg',
-      },
-    },
-  },
-});
- 
-export const SingleThemeEntry: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  theme, isActive, groupName, onOpen,
-}) => {
-  const activeTheme = useSelector(activeThemeSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const tokenSetCount = useMemo(() => (
-    Object.entries(theme.selectedTokenSets)
-      .filter(([, status]) => status !== TokenSetStatus.DISABLED)
-      .length
-  ), [theme]);
- 
-  const stylesCount = useMemo(() => (
-    Object.values(theme.$figmaStyleReferences ?? {}).length
-  ), [theme]);
- 
-  const variablesCount = useMemo(() => (
-    Object.values(theme.$figmaVariableReferences ?? {}).length
-  ), [theme]);
- 
-  const handleOpenClick = useCallback(() => {
-    onOpen(theme);
-  }, [theme, onOpen]);
- 
-  const handleToggle = useCallback(() => {
-    const newActiveTheme = activeTheme;
-    if (isActive) {
-      delete newActiveTheme[groupName];
-    } else {
-      newActiveTheme[groupName] = theme.id;
-    }
-    dispatch.tokenState.setActiveTheme({ newActiveTheme, shouldUpdateNodes: true });
-  }, [dispatch, theme.id, isActive, activeTheme, groupName]);
- 
-  return (
-    <Box
-      key={theme.id}
-      data-testid="singlethemeentry"
-      css={{
-        display: 'grid',
-        gridAutoFlow: 'column',
-        gridTemplateColumns: 'min-content auto repeat(3, max-content) min-content',
-        alignItems: 'center',
-        gridGap: '$2',
-        flex: 1,
-      }}
-    >
- 
-      <Switch checked={isActive} onCheckedChange={handleToggle} />
-      <Label>
-        {' '}
-        {theme.name}
-      </Label>
- 
-      <Stack>
-        {tokenSetCount > 0 ? (
-          <StyledCountLabel>
-            {tokenSetCount}
-            {' '}
-            {tokenSetCount === 1 ? 'set' : 'sets'}
-          </StyledCountLabel>
-        ) : <StyledCountLabel variant="danger">No sets defined</StyledCountLabel>}
-        {stylesCount > 0 && (
-        <StyledCountLabel>
-          {stylesCount}
-          {' '}
-          {stylesCount === 1 ? 'style' : 'styles'}
-        </StyledCountLabel>
-        )}
-        {variablesCount > 0 && (
-        <StyledCountLabel>
-          {variablesCount}
-          {' '}
-          {variablesCount === 1 ? 'variable' : 'variables'}
-        </StyledCountLabel>
-        )}
-      </Stack>
- 
-      <IconButton
-        data-testid={`singlethemeentry-${theme.id}`}
-        icon={<IconDiveInto />}
-        onClick={handleOpenClick}
-        size="small"
-        variant="invisible"
-      />
- 
-    </Box>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html deleted file mode 100644 index 33a35c8a8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal StyledCreateOrEditThemeFormHeaderFlex.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
-import { Flex } from '../Flex';
- 
-export const StyledCreateOrEditThemeFormHeaderFlex = styled(Flex, {
-  gap: '$3',
-  alignItems: 'center',
-  justifyContent: 'flex-start',
-  width: '100%',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html deleted file mode 100644 index 9a61c6f17..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal StyledCreateOrEditThemeFormTabsFlex.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
-import { Flex } from '../Flex';
- 
-export const StyledCreateOrEditThemeFormTabsFlex = styled(Flex, {
-  marginLeft: 'auto',
-  padding: '$3',
-  borderBottom: '1px solid $borderSubtle',
-  gap: '$5',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html deleted file mode 100644 index 712041ad6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledForm.tsx.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/StyledForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal StyledForm.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledForm = styled('form', {
-  marginBottom: 0,
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html deleted file mode 100644 index 70098a797..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledNameInputBox.tsx.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/StyledNameInputBox.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal StyledNameInputBox.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { Box } from '@tokens-studio/ui';
-import { styled } from '@/stitches.config';
- 
-export const StyledNameInputBox = styled(Box, {
-  padding: '0 $4',
-  borderBottomColor: '$borderSubtle',
-  borderBottomWidth: '1px',
-  backgroundColor: '$bgDefault',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html deleted file mode 100644 index 98a7f5498..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeLabel.tsx.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/StyledThemeLabel.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal StyledThemeLabel.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Box } from '@tokens-studio/ui';
-import { styled } from '@/stitches.config';
- 
-export const StyledThemeLabel = styled(Box, {
-  overflow: 'hidden',
-  textOverflow: 'ellipsis',
-  userSelect: 'none',
-  cursor: 'pointer',
-  whiteSpace: 'nowrap',
-  display: 'block',
-  alignItems: 'center',
-  gap: '$2',
-  variants: {
-    ignored: {
-      true: {
-        color: '$fgMuted',
-      },
-    },
-    variant: {
-      folder: {
-        color: '$fgMuted',
-        fontWeight: '$sansBold',
-      },
-      leaf: {},
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html deleted file mode 100644 index 4dc14086d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal StyledThemeMetaLabel.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
-import Box from '../Box';
- 
-export const StyledThemeMetaLabel = styled(Box, {
-  fontSize: '$small',
-  color: '$fgMuted',
-  overflow: 'hidden',
-  whiteSpace: 'nowrap',
-  textOverflow: 'ellipsis',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html deleted file mode 100644 index b96ef437f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeGroupDropDownMenu.tsx

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { Check } from 'iconoir-react';
-import { Button, DropdownMenu } from '@tokens-studio/ui';
-import { useTranslation } from 'react-i18next';
-import Box from '../Box';
-import { IconPlus } from '@/icons';
- 
-type Props = {
-  availableGroups: string[]
-  selectedGroup?: string
-  onChange: (value: string) => void
-  addGroup: () => void
-};
- 
-export const ThemeGroupDropDownMenu: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  availableGroups, selectedGroup, onChange, addGroup,
-}) => {
-  const { t } = useTranslation(['tokens']);
-  const handleSelectGroup = useCallback((groupName: string) => {
-    onChange(groupName);
-  }, [onChange]);
- 
-  const themeGroupList = React.useMemo(() => availableGroups.map((groupName) => {
-    const handleSelect = () => handleSelectGroup(groupName);
-    return (
-      <DropdownMenu.RadioItem
-        key={groupName}
-        value={groupName}
-          // eslint-disable-next-line react/jsx-no-bind
-        onSelect={handleSelect}
-      >
-        <DropdownMenu.ItemIndicator>
-          <Check />
-        </DropdownMenu.ItemIndicator>
-        <Box>
-          {groupName}
-        </Box>
-      </DropdownMenu.RadioItem>
-    );
-  }), [availableGroups, handleSelectGroup]);
- 
-  return (
-    <DropdownMenu>
-      <DropdownMenu.Trigger asChild>
-        {
-          selectedGroup ? (
-            <Button variant="secondary" asDropdown size="small">
-              <span>{selectedGroup}</span>
-            </Button>
-          ) : (
-            <Box css={{ display: 'flex', alignItems: 'center', gap: '$2' }}>
-              <Button
-                data-testid="button-manage-themes-modal-group-dropdown"
-                variant="secondary"
-                icon={<IconPlus />}
-                size="small"
-                asDropdown
-              >
-                {t('addGroup')}
-              </Button>
-            </Box>
-          )
-        }
-      </DropdownMenu.Trigger>
-      <DropdownMenu.Portal>
-        <DropdownMenu.Content
-          side="bottom"
-          css={{
-            maxWidth: '70vw',
-          }}
-        >
-          <DropdownMenu.RadioGroup value={selectedGroup ?? ''}>
-            {themeGroupList}
-          </DropdownMenu.RadioGroup>
-          <DropdownMenu.Separator />
-          <DropdownMenu.Item
-            css={{
-              paddingLeft: '$7',
-            }}
-            onSelect={addGroup}
-          >
-            {t('createNewGroup')}
-          </DropdownMenu.Item>
-        </DropdownMenu.Content>
-      </DropdownMenu.Portal>
-    </DropdownMenu>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html deleted file mode 100644 index 9d7295413..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeListGroupHeader.tsx

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useContext, useState,
-} from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { IconButton } from '@tokens-studio/ui';
-import { Xmark, Check } from 'iconoir-react';
-import { editProhibitedSelector } from '@/selectors';
-import { DragControlsContext } from '@/context';
-import { StyledDragButton } from '../StyledDragger/StyledDragButton';
-import { DragGrabber } from '../StyledDragger/DragGrabber';
-import Text from '../Text';
-import Box from '../Box';
-import Input from '../Input';
-import IconPencil from '@/icons/pencil.svg';
-import { Dispatch } from '@/app/store';
-import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
- 
-type Props = React.PropsWithChildren<{
-  groupName: string
-  label: string
-}>;
- 
-export function ThemeListGroupHeader({
-  groupName,
-  label,
-}: Props) {
-  const dispatch = useDispatch<Dispatch>();
-  const dragContext = useContext(DragControlsContext);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const [currentGroupName, setCurrentGroupName] = useState<string>(groupName === INTERNAL_THEMES_NO_GROUP ? '' : groupName);
-  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
-    dragContext.controls?.start(event);
-  }, [dragContext.controls]);
-  const [isGroupNameEditing, setIsGroupNameEditing] = useState<boolean>(false);
- 
-  const handleEditButtonClick = useCallback(() => {
-    setIsGroupNameEditing(true);
-  }, [setIsGroupNameEditing]);
-  const handleCancel = useCallback(() => {
-    setCurrentGroupName(groupName);
-    setIsGroupNameEditing(false);
-  }, [setIsGroupNameEditing]);
- 
-  const handleSubmit = React.useCallback(() => {
-    dispatch.tokenState.updateThemeGroupName(groupName, currentGroupName);
-    setIsGroupNameEditing(false);
-  }, [currentGroupName, groupName]);
- 
-  const handleKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {
-    if (e.key === 'Enter') {
-      handleSubmit();
-    } else if (e.key === 'Escape') {
-      e.stopPropagation();
-      handleCancel();
-    }
-  }, [currentGroupName, groupName, dispatch.tokenState]);
- 
-  const handleGroupNameChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
-    setCurrentGroupName(event.target.value);
-  }, []);
- 
-  return (
-    <StyledDragButton
-      type="button"
-      canReorder={!editProhibited}
-      css={{
-        marginBottom: '$2',
-        backgroundColor: '$bgDefault',
-        display: 'flex',
-        cursor: 'inherit',
-        '&:not(:first-of-type)': { marginTop: '$4' },
-      }}
-    >
-      <DragGrabber
-        item={groupName}
-        canReorder={!editProhibited}
-        onDragStart={handleDragStart}
-      />
-      <Box css={{
-        display: 'flex',
-        alignItems: 'center',
-        gap: '$2',
-        '& > div > button ': {
-          display: 'none',
-        },
-        '&:hover > div > button ': {
-          display: 'block',
-        },
-      }}
-      >
-        {!isGroupNameEditing ? (
-          <>
-            <Text css={{
-              color: '$fgMuted', height: '$controlSmall', display: 'flex', alignItems: 'center',
-            }}
-            >
-              {label}
-            </Text>
-            <IconButton
-              onClick={handleEditButtonClick}
-              icon={<IconPencil />}
-              size="small"
-              variant="invisible"
-              tooltip="Rename group"
-            />
-          </>
-        ) : (
-          <>
-            <Input
-              type="text"
-              name={`groupName-${groupName}`}
-              value={currentGroupName}
-              onChange={handleGroupNameChange}
-              onKeyDown={handleKeyDown}
-              autofocus
-              full
-            />
-            <IconButton
-              onClick={handleCancel}
-              icon={<Xmark />}
-              color="$dangerBorder"
-              size="small"
-              tooltip="Cancel"
-            />
-            <IconButton
-              onClick={handleSubmit}
-              icon={<Check />}
-              size="small"
-              variant="primary"
-              tooltip="Confirm"
-            />
-          </>
-        )}
-      </Box>
-    </StyledDragButton>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html deleted file mode 100644 index 27a77ece8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeListItemContent.tsx.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeListItemContent.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeListItemContent.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useContext,
-} from 'react';
-import { useSelector } from 'react-redux';
-import { styled } from '@stitches/react';
-import { editProhibitedSelector } from '@/selectors';
-import { DragControlsContext } from '@/context';
-import { StyledDragButton } from '../StyledDragger/StyledDragButton';
-import { DragGrabber } from '../StyledDragger/DragGrabber';
-import { SingleThemeEntry } from './SingleThemeEntry';
-import { ThemeObject } from '@/types';
- 
-type Props = React.PropsWithChildren<{
-  item: ThemeObject
-  isActive: boolean
-  groupName: string
-  onOpen: (theme?: ThemeObject) => void;
-}>;
- 
-const StyledDragGrabber = styled(DragGrabber, {
-  gridArea: 'handle',
-});
- 
-export function ThemeListItemContent({
-  item,
-  isActive,
-  groupName,
-  onOpen,
-}: Props) {
-  const dragContext = useContext(DragControlsContext);
-  const editProhibited = useSelector(editProhibitedSelector);
- 
-  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
-    dragContext.controls?.start(event);
-  }, [dragContext.controls]);
- 
-  return (
-    <StyledDragButton
-      type="button"
-      canReorder={!editProhibited}
-      css={{
-        padding: 0, width: '100%', display: 'inherit', cursor: 'inherit',
-      }}
-    >
-      <StyledDragGrabber<ThemeObject>
-        item={item}
-        canReorder={!editProhibited}
-        onDragStart={handleDragStart}
-      />
-      <SingleThemeEntry
-        key={item.id}
-        theme={item}
-        isActive={isActive}
-        groupName={groupName}
-        onOpen={onOpen}
- 
-      />
-    </StyledDragButton>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html deleted file mode 100644 index fc4ea66b4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeStyleManagementCategory.tsx

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo, useState } from 'react';
-import { useSelector } from 'react-redux';
-import { Button, Heading, Checkbox } from '@tokens-studio/ui';
-import { useTranslation } from 'react-i18next';
-import Box from '../Box';
-import Accordion from '../Accordion';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { isWaitingForBackgroundJobSelector } from '@/selectors';
-import { RootState } from '@/app/store';
-import { StyleInfo, ThemeStyleManagementCategoryStyleEntry } from './ThemeStyleManagementCategoryStyleEntry';
-import Stack from '../Stack';
-import { Count } from '../Count';
-import Label from '../Label';
- 
-type Props = {
-  label: string
-  styles: Record<string, StyleInfo>
-  icon?: React.ReactNode | null
-  onAttachLocalStyles: () => void
-  onDisconnectStyle: (name: string) => void
-  onDisconnectSelectedStyle: (names: string[]) => void
-};
- 
-export const ThemeStyleManagementCategory: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  label,
-  icon,
-  styles,
-  onAttachLocalStyles,
-  onDisconnectStyle,
-  onDisconnectSelectedStyle,
-}) => {
-  const isAttachingLocalStyles = useSelector(useCallback((state: RootState) => (
-    isWaitingForBackgroundJobSelector(state, BackgroundJobs.UI_ATTACHING_LOCAL_STYLES)
-  ), []));
-  const [selectedStyles, setSelectedStyles] = useState<string[]>([]);
-  const { t } = useTranslation(['tokens', 'errors']);
- 
-  const stylesEntries = useMemo(() => Object.entries(styles), [styles]);
- 
-  const handleSelectAll = React.useCallback(() => {
-    setSelectedStyles(
-      selectedStyles.length === stylesEntries.length
-        ? []
-        : stylesEntries.map(([token]) => token),
-    );
-  }, [selectedStyles, stylesEntries]);
- 
-  const handleDisconnectSelectedStyles = useCallback(() => {
-    onDisconnectSelectedStyle(selectedStyles);
-  }, [selectedStyles, onDisconnectSelectedStyle]);
- 
-  const handleToggleSelectedStyle = useCallback((token: string) => {
-    setSelectedStyles(
-      selectedStyles.includes(token)
-        ? selectedStyles.filter((style) => style !== token)
-        : [...selectedStyles, token],
-    );
-  }, [selectedStyles]);
- 
-  return (
-    <Accordion
-      data-testid={`themestylemanagementcategory-accordion-${label.toLowerCase()}`}
-      disabled={stylesEntries.length === 0}
-      label={(
-        <Stack direction="row" gap={2} align="center">
-          <Heading size="medium">
-            {label}
-          </Heading>
-          {stylesEntries.length > 0 ? <Count count={stylesEntries.length} /> : null}
-        </Stack>
-      )}
-      extra={(
-        <Button
-          size="small"
-          disabled={isAttachingLocalStyles}
-          onClick={onAttachLocalStyles}
-        >
-          {t('attachLocalStyles')}
-        </Button>
-      )}
-      isOpenByDefault={false}
-    >
-      {
-        stylesEntries.length > 0 && (
-          <Stack
-            align="center"
-            justify="between"
-            gap={3}
-            css={{
-              paddingInline: '$1', paddingTop: '$2',
-            }}
-          >
-            <Stack
-              align="center"
-              gap={3}
-              css={{ fontSize: '$small' }}
-            >
-              <Checkbox
-                checked={selectedStyles.length === stylesEntries.length}
-                id="detachSelected"
-                onCheckedChange={handleSelectAll}
-              />
-              <Label htmlFor="detachSelected" css={{ fontSize: '$small', fontWeight: '$sansBold' }}>
-                {t('selectAll')}
-              </Label>
-            </Stack>
-            <Stack gap={1}>
-              <Button onClick={handleDisconnectSelectedStyles} disabled={selectedStyles.length === 0} variant="danger" size="small">
-                {t('detachSelected')}
-              </Button>
-            </Stack>
-          </Stack>
-        )
-      }
-      <Box css={{
-        display: 'grid', gap: '$2', gridTemplateColumns: 'minmax(0, 1fr)', padding: '$1',
-      }}
-      >
-        {stylesEntries.map(([token, styleInfo]) => (
-          <ThemeStyleManagementCategoryStyleEntry
-            key={token}
-            icon={icon}
-            token={token}
-            styleInfo={styleInfo}
-            isChecked={selectedStyles.includes(token)}
-            onDisconnectStyle={onDisconnectStyle}
-            handleToggleSelectedStyle={handleToggleSelectedStyle}
-          />
-        ))}
-      </Box>
-    </Accordion>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html deleted file mode 100644 index 96f584a7b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeStyleManagementCategoryStyleEntry.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { ArrowRightIcon, LinkBreak1Icon, LinkBreak2Icon } from '@radix-ui/react-icons';
-import {
-  Box, IconButton, Tooltip, Checkbox,
-} from '@tokens-studio/ui';
-import { Flex } from '../Flex';
-import Text from '../Text';
-import ResolvingLoader from '../ResolvingLoader';
-import Stack from '../Stack';
- 
-export type StyleInfo = {
-  id: string
-  name?: string
-  failedToResolve?: boolean
-};
- 
-type Props = {
-  token: string
-  styleInfo: StyleInfo
-  icon?: React.ReactNode | null
-  isChecked: boolean
-  onDisconnectStyle: (token: string) => void
-  handleToggleSelectedStyle: (token: string) => void
-};
- 
-export const ThemeStyleManagementCategoryStyleEntry: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  token,
-  styleInfo,
-  icon,
-  isChecked,
-  onDisconnectStyle,
-  handleToggleSelectedStyle,
-}) => {
-  const handleDisconnectStyle = useCallback(() => {
-    onDisconnectStyle(token);
-  }, [token, onDisconnectStyle]);
- 
-  const onCheckedChanged = useCallback(() => {
-    handleToggleSelectedStyle(token);
-  }, [token, handleToggleSelectedStyle]);
- 
-  return (
-    <Flex
-      key={token}
-      css={{
-        gap: '$3',
-        justifyContent: 'flex-start',
-        alignItems: 'center',
-      }}
-    >
-      <Checkbox
-        checked={isChecked}
-        id={token}
-        onCheckedChange={onCheckedChanged}
-      />
- 
-      {icon && <Box>{icon}</Box>}
-      <Flex
-        css={{
-          gap: '$3',
-          justifyContent: 'flex-start',
-          alignItems: 'center',
-          width: '100%',
-          minWidth: 0,
-        }}
-      >
-        <Tooltip
-          side="bottom"
-          label={(
-            <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
-              <Text css={{ color: '$tooltipFg' }}>
-                {token}
-              </Text>
-              <Text css={{ color: '$tooltipFgMuted' }}>
-                {styleInfo.name}
-              </Text>
-            </Stack>
-          )}
-        >
-          <Box css={{
-            flexGrow: 1, display: 'flex', alignItems: 'center', gap: '$3', overflow: 'hidden',
-          }}
-          >
-            <Text css={{ overflow: 'hidden', textOverflow: 'ellipsis' }} size="small">{token}</Text>
-            <Box css={{ flexShrink: 0 }}>
-              <ArrowRightIcon />
-            </Box>
-            {(!styleInfo.name && !styleInfo.failedToResolve) && (
-            <ResolvingLoader />
-            )}
-            {(!styleInfo.name && styleInfo.failedToResolve) && (
-            <Stack direction="row" gap={1} css={{ color: '$dangerFg' }}>
-              <LinkBreak1Icon />
-              Reference not found
-            </Stack>
-            )}
-            {styleInfo.name && (
-            <Text bold size="small" title={styleInfo.name} css={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>{styleInfo.name}</Text>
-            )}
-          </Box>
-        </Tooltip>
-        <IconButton size="small" variant="invisible" tooltip="Detach style" icon={<LinkBreak2Icon />} data-testid="themestylemanagementcategorystyleentry-unlink" onClick={handleDisconnectStyle} />
-      </Flex>
-    </Flex>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html deleted file mode 100644 index a942ec245..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx.html +++ /dev/null @@ -1,721 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeStyleManagementForm.tsx

-
- -
- 0% - Statements - 0/79 -
- - -
- 0% - Branches - 0/38 -
- - -
- 0% - Functions - 0/23 -
- - -
- 0% - Lines - 0/77 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useEffect, useMemo, useState,
-} from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import * as Sentry from '@sentry/react';
-import { settingsStateSelector, tokensSelector, themeByIdSelector } from '@/selectors';
-import { mapTokensToStyleInfo } from '@/utils/tokenset';
-import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
-import { Dispatch, RootState } from '@/app/store';
-import { TokenTypes } from '@/constants/TokenTypes';
-import Box from '../Box';
-import { ThemeStyleManagementCategory } from './ThemeStyleManagementCategory';
-import { AsyncMessageTypes, AttachLocalStylesToTheme } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import type { StyleInfo } from './ThemeStyleManagementCategoryStyleEntry';
-import { track } from '@/utils/analytics';
-import { ThemeVariableManagement } from './ThemeVariableManagement';
- 
-type StyleInfoPerCategory = Partial<Record<'typography' | 'colors' | 'effects', Record<string, StyleInfo>>>;
- 
-type Props = {
-  id: string
-};
- 
-export const ThemeStyleManagementForm: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ id }) => {
-  const [rawStyleInfo, setRawStyleInfo] = useState<StyleInfoPerCategory>({});
-  const [resolvedStyleInfo, setResolvedStyleInfo] = useState<StyleInfoPerCategory>({});
-  const dispatch = useDispatch<Dispatch>();
-  const theme = useSelector(useCallback((state: RootState) => (
-    themeByIdSelector(state, id)
-  ), [id]));
-  const settings = useSelector(settingsStateSelector);
-  const tokenSets = useSelector(tokensSelector);
- 
-  const stylesInfo = useMemo(() => {
-    if (theme) {
-      const stylePathSlice = settings.ignoreFirstPartForStyles ? 1 : 0;
-      const stylePathPrefix = settings.prefixStylesWithThemeName
-        ? theme.name
-        : null;
-      return mapTokensToStyleInfo(
-        tokenSets,
-        theme.$figmaStyleReferences ?? {},
-        (name) => convertTokenNameToPath(name, stylePathPrefix, stylePathSlice),
-      );
-    }
- 
-    return null;
-  }, [theme, tokenSets, settings]);
- 
-  const tokenStyleGroups = useMemo(() => {
-    if (stylesInfo) {
-      const typography: (typeof stylesInfo)[string][] = [];
-      const colors: (typeof stylesInfo)[string][] = [];
-      const effects: (typeof stylesInfo)[string][] = [];
-      const entries = Object.entries(stylesInfo);
-      entries.forEach(([,{ styleId, token }]) => {
-        if (token.type === TokenTypes.TYPOGRAPHY) {
-          typography.push({ styleId, token });
-        } else if (token.type === TokenTypes.COLOR) {
-          colors.push({ styleId, token });
-        } else if (token.type === TokenTypes.BOX_SHADOW) {
-          effects.push({ styleId, token });
-        }
-      });
- 
-      return { typography, colors, effects };
-    }
- 
-    return null;
-  }, [stylesInfo]);
- 
-  const attachLocalStyles = useCallback(async (category: AttachLocalStylesToTheme['category']) => {
-    if (theme) {
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_ATTACHING_LOCAL_STYLES,
-        isInfinite: true,
-      });
-      const result = await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME,
-        tokens: tokenSets,
-        category,
-        theme,
-        settings,
-      });
-      if (result.$figmaStyleReferences) {
-        track('Attach styles to theme', {
-          category,
-          count: Object.values(result.$figmaStyleReferences).length,
-        });
-        dispatch.tokenState.assignStyleIdsToTheme({
-          id: result.id,
-          styleIds: result.$figmaStyleReferences,
-        });
-      }
-      dispatch.uiState.completeJob(BackgroundJobs.UI_ATTACHING_LOCAL_STYLES);
-    }
-  }, [theme, tokenSets, settings, dispatch]);
- 
-  const handleDisconnectStyle = useCallback((token: string) => {
-    if (theme) {
-      track('Disconnect style', { token });
-      dispatch.tokenState.disconnectStyleFromTheme({
-        id: theme.id,
-        key: token,
-      });
-    }
-  }, [theme, dispatch.tokenState]);
- 
-  const handleDisconnectSelectedStyle = useCallback((tokens: string[]) => {
-    if (theme) {
-      track('Disconnect selected styles', { tokens });
-      dispatch.tokenState.disconnectStyleFromTheme({
-        id: theme.id,
-        key: tokens,
-      });
-    }
-  }, [theme, dispatch.tokenState]);
- 
-  const handleAttachLocalTextStyles = useCallback(() => {
-    attachLocalStyles('typography');
-  }, [attachLocalStyles]);
- 
-  const handleAttachLocalColorStyles = useCallback(() => {
-    attachLocalStyles('colors');
-  }, [attachLocalStyles]);
- 
-  const handleAttachLocalEffectStyles = useCallback(() => {
-    attachLocalStyles('effects');
-  }, [attachLocalStyles]);
- 
-  useEffect(() => {
-    const allStyleIds = Object.values(rawStyleInfo).reduce<string[]>((list, map) => (
-      list.concat(Object.values(map).map((info) => info.id))
-    ), []);
-    if (allStyleIds.length > 0) {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.RESOLVE_STYLE_INFO,
-        styleIds: allStyleIds,
-      }).then(({ resolvedValues }) => {
-        const nextStyleInfo = Object.fromEntries(Object.entries(rawStyleInfo).map(([category, stylesInfoMap]) => (
-          [category, Object.fromEntries(Object.entries(stylesInfoMap).map(([tokenName, styleInfo]) => {
-            const resolvedInfo = resolvedValues.find((resolved) => resolved.id === styleInfo.id);
-            return [tokenName, {
-              id: styleInfo.id,
-              name: resolvedInfo?.name,
-              failedToResolve: !resolvedInfo?.key,
-            }];
-          }))]
-        )));
-        setResolvedStyleInfo(nextStyleInfo);
-      }).catch((err) => {
-        console.error(err);
-        Sentry.captureException(err);
-      });
-    }
-  }, [rawStyleInfo]);
- 
-  useEffect(() => {
-    if (tokenStyleGroups) {
-      const styleInfo = Object.entries(tokenStyleGroups).reduce<StyleInfoPerCategory>((acc, [category, styles]) => {
-        if (styles) {
-          type StylesInfoMap = Record<string, StyleInfo>;
-          acc[(category as keyof StyleInfoPerCategory)] = styles.reduce<StylesInfoMap>((map, { styleId, token }) => {
-            map[token.name] = {
-              id: styleId,
-              failedToResolve: false,
-            };
-            return map;
-          }, {});
-        }
-        return acc;
-      }, {});
-      setResolvedStyleInfo(styleInfo);
-      setRawStyleInfo(styleInfo);
-    }
-  }, [tokenStyleGroups]);
- 
-  if (!tokenStyleGroups) {
-    return null;
-  }
- 
-  return (
-    <Box css={{ padding: '$3 0', display: 'grid', gap: '$6' }}>
-      <ThemeStyleManagementCategory
-        label="Typography"
-        styles={resolvedStyleInfo.typography ?? {}}
-        onAttachLocalStyles={handleAttachLocalTextStyles}
-        onDisconnectStyle={handleDisconnectStyle}
-        onDisconnectSelectedStyle={handleDisconnectSelectedStyle}
-      />
-      <ThemeStyleManagementCategory
-        label="Colors"
-        styles={resolvedStyleInfo.colors ?? {}}
-        onAttachLocalStyles={handleAttachLocalColorStyles}
-        onDisconnectStyle={handleDisconnectStyle}
-        onDisconnectSelectedStyle={handleDisconnectSelectedStyle}
-      />
-      <ThemeStyleManagementCategory
-        label="Effects"
-        styles={resolvedStyleInfo.effects ?? {}}
-        onAttachLocalStyles={handleAttachLocalEffectStyles}
-        onDisconnectStyle={handleDisconnectStyle}
-        onDisconnectSelectedStyle={handleDisconnectSelectedStyle}
-      />
-      <ThemeVariableManagement
-        id={id}
-      />
-    </Box>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html deleted file mode 100644 index 74db52bd6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagement.tsx.html +++ /dev/null @@ -1,646 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeVariableManagement.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeVariableManagement.tsx

-
- -
- 0% - Statements - 0/47 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/18 -
- - -
- 0% - Lines - 0/43 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useMemo, useState, useEffect,
-} from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import * as Sentry from '@sentry/react';
-import { Button, Heading, Checkbox } from '@tokens-studio/ui';
-import Box from '../Box';
-import Accordion from '../Accordion';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { isWaitingForBackgroundJobSelector, themeByIdSelector, tokensSelector } from '@/selectors';
-import { Dispatch, RootState } from '@/app/store';
-import Stack from '../Stack';
-import { Count } from '../Count';
-import Label from '../Label';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { track } from '@/utils/analytics';
-import { ThemeVariableManagementEntry, VariableInfo } from './ThemeVariableManagementEntry';
-import mapThemeToVariableInfo from '@/utils/mapThemeToVariableInfo';
-import { wrapTransaction } from '@/profiling/transaction';
- 
-type Props = {
-  id: string
-};
- 
-export const ThemeVariableManagement: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ id }) => {
-  const theme = useSelector(useCallback((state: RootState) => (
-    themeByIdSelector(state, id)
-  ), [id]));
-  const tokens = useSelector(tokensSelector);
-  const isAttachingLocalVariables = useSelector(useCallback((state: RootState) => (
-    isWaitingForBackgroundJobSelector(state, BackgroundJobs.UI_ATTACHING_LOCAL_VARIABLES)
-  ), []));
-  const [selectedVariables, setSelectedVariables] = useState<string[]>([]);
-  const [resolvedVariableInfo, setResolvedVariableInfo] = useState<Record<string, VariableInfo>>(mapThemeToVariableInfo(theme));
-  const dispatch = useDispatch<Dispatch>();
-  const variableEntries = useMemo(() => Object.entries(resolvedVariableInfo), [resolvedVariableInfo]);
- 
-  useEffect(() => {
-    const allVariableIds = Object.values(theme?.$figmaVariableReferences ?? {}).map((variableId) => variableId);
-    if (allVariableIds.length > 0) {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.RESOLVE_VARIABLE_INFO,
-        variableIds: allVariableIds,
-      }).then(({ resolvedValues }) => {
-        const nextResolvedVariableInfo = Object.fromEntries(Object.entries(theme?.$figmaVariableReferences ?? {}).map(([tokenName, variableId]) => [tokenName, {
-          id: variableId,
-          name: resolvedValues[variableId]?.name,
-          isResolved: !!resolvedValues[variableId]?.key,
-        }]));
-        setResolvedVariableInfo(nextResolvedVariableInfo);
-      }).catch((err) => {
-        console.error(err);
-        Sentry.captureException(err);
-      });
-    } else {
-      setResolvedVariableInfo({});
-    }
-  }, [theme]);
- 
-  const handleSelectAll = React.useCallback(() => {
-    setSelectedVariables(
-      selectedVariables.length === variableEntries.length
-        ? []
-        : variableEntries.map(([token]) => token),
-    );
-  }, [selectedVariables, variableEntries]);
- 
-  const handleDisconnectSelectedVariables = useCallback(() => {
-    if (theme) {
-      track('Disconnect selected variables', { selectedVariables });
-      dispatch.tokenState.disconnectVariableFromTheme({
-        id: theme.id,
-        key: selectedVariables,
-      });
-    }
-  }, [theme, dispatch.tokenState, selectedVariables]);
- 
-  const handleToggleSelectedVariable = useCallback((token: string) => {
-    setSelectedVariables(
-      selectedVariables.includes(token)
-        ? selectedVariables.filter((style) => style !== token)
-        : [...selectedVariables, token],
-    );
-  }, [selectedVariables]);
- 
-  const handleDisconnectVariable = useCallback((token: string) => {
-    if (theme) {
-      track('Disconnect variable', { token });
-      dispatch.tokenState.disconnectVariableFromTheme({
-        id: theme.id,
-        key: token,
-      });
-    }
-  }, [theme, dispatch.tokenState]);
- 
-  const handleAttachLocalVariables = useCallback(async () => {
-    if (theme) {
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_ATTACHING_LOCAL_VARIABLES,
-        isInfinite: true,
-      });
-      const result = await wrapTransaction({ name: 'attachVariables' }, async () => await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME,
-        tokens,
-        theme,
-      }));
-      if (result.variableInfo) {
-        track('Attach variables to theme', {
-          count: Object.values(result.variableInfo.variableIds).length,
-        });
-        dispatch.tokenState.assignVariableIdsToTheme({
-          [id]: result.variableInfo,
-        });
-      }
-      dispatch.uiState.completeJob(BackgroundJobs.UI_ATTACHING_LOCAL_VARIABLES);
-    }
-  }, [theme, tokens, id, dispatch]);
- 
-  return (
-    <Accordion
-      data-testid="themevariablemanagement-accordion"
-      disabled={variableEntries.length === 0}
-      label={(
-        <Stack direction="row" gap={2} align="center">
-          <Heading size="medium">
-            Variables
-          </Heading>
-          {variableEntries.length > 0 ? <Count count={variableEntries.length} /> : null}
-        </Stack>
-      )}
-      extra={(
-        <Button
-          size="small"
-          disabled={isAttachingLocalVariables}
-          onClick={handleAttachLocalVariables}
-        >
-          Attach local variables
-        </Button>
-      )}
-      isOpenByDefault={false}
-    >
-      {
-        variableEntries.length > 0 && (
-          <Box css={{
-            display: 'flex', alignItems: 'center', gap: '$3', justifyContent: 'space-between', paddingInline: '$1', paddingTop: '$2',
-          }}
-          >
-            <Box css={{
-              display: 'flex', alignItems: 'center', gap: '$3', fontSize: '$small',
-            }}
-            >
-              <Checkbox
-                checked={selectedVariables.length === variableEntries.length}
-                id="detachSelected"
-                onCheckedChange={handleSelectAll}
-              />
-              <Label htmlFor="detachSelected" css={{ fontSize: '$small', fontWeight: '$sansBold' }}>
-                Select all
-              </Label>
-            </Box>
-            <Box css={{ display: 'flex', flexDirection: 'row', gap: '$1' }}>
-              <Button onClick={handleDisconnectSelectedVariables} disabled={selectedVariables.length === 0} variant="danger" size="small">
-                Detach selected
-              </Button>
-            </Box>
-          </Box>
-        )
-      }
-      <Box css={{
-        display: 'grid', gap: '$2', gridTemplateColumns: 'minmax(0, 1fr)', padding: '$1',
-      }}
-      >
-        {variableEntries.map(([token, variableInfo]) => (
-          <ThemeVariableManagementEntry
-            key={token}
-            token={token}
-            variableInfo={variableInfo}
-            isChecked={selectedVariables.includes(token)}
-            onDisconnectVariable={handleDisconnectVariable}
-            handleToggleSelectedVariable={handleToggleSelectedVariable}
-          />
-        ))}
-      </Box>
-    </Accordion>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html deleted file mode 100644 index d08e9e3de..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal ThemeVariableManagementEntry.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { ArrowRightIcon, LinkBreak1Icon, LinkBreak2Icon } from '@radix-ui/react-icons';
-import {
-  Box, IconButton, Tooltip, Checkbox,
-} from '@tokens-studio/ui';
-import { Flex } from '../Flex';
-import Text from '../Text';
-import ResolvingLoader from '../ResolvingLoader';
-import Stack from '../Stack';
- 
-export type VariableInfo = {
-  id: string
-  name?: string
-  isResolved?: boolean
-};
- 
-type Props = {
-  token: string
-  variableInfo: VariableInfo
-  isChecked: boolean
-  onDisconnectVariable: (token: string) => void
-  handleToggleSelectedVariable: (token: string) => void
-};
- 
-export const ThemeVariableManagementEntry: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  token,
-  variableInfo,
-  isChecked,
-  onDisconnectVariable,
-  handleToggleSelectedVariable,
-}) => {
-  const handleDisconnectVariable = useCallback(() => {
-    onDisconnectVariable(token);
-  }, [token, onDisconnectVariable]);
- 
-  const onCheckedChanged = useCallback(() => {
-    handleToggleSelectedVariable(token);
-  }, [token, handleToggleSelectedVariable]);
- 
-  return (
-    <Flex
-      key={token}
-      css={{
-        gap: '$3',
-        justifyContent: 'flex-start',
-        alignItems: 'center',
-      }}
-    >
-      <Checkbox
-        checked={isChecked}
-        id={token}
-        onCheckedChange={onCheckedChanged}
-      />
- 
-      <Flex
-        css={{
-          gap: '$3',
-          justifyContent: 'flex-start',
-          alignItems: 'center',
-          width: '100%',
-          minWidth: 0,
-        }}
-      >
-        <Tooltip
-          side="bottom"
-          label={(
-            <Stack direction="column" align="start" gap={1} css={{ wordBreak: 'break-word' }}>
-              <Text css={{ color: '$tooltipFg' }}>
-                {token}
-              </Text>
-              <Text css={{ color: '$tooltipFgMuted' }}>
-                {variableInfo.name}
-              </Text>
-            </Stack>
-          )}
-        >
-          <Box css={{
-            flexGrow: 0, display: 'flex', alignItems: 'center', gap: '$3', overflow: 'hidden',
-          }}
-          >
-            <Text css={{ overflow: 'hidden', textOverflow: 'ellipsis' }} size="small">{token}</Text>
-            <Box css={{ flexShrink: 0 }}>
-              <ArrowRightIcon />
-            </Box>
-            {(!variableInfo.name && !variableInfo.isResolved) && (
-            <ResolvingLoader />
-            )}
-            {(!variableInfo.name && variableInfo.isResolved) && (
-            <Stack direction="row" gap={1} css={{ color: '$dangerFg' }}>
-              <LinkBreak1Icon />
-              Reference not found
-            </Stack>
-            )}
-            {variableInfo.name && (
-            <Text bold size="small" title={variableInfo.name} css={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>{variableInfo.name}</Text>
-            )}
-          </Box>
-        </Tooltip>
-        <IconButton tooltip="Detach variable" icon={<LinkBreak2Icon />} variant="invisible" data-testid="ThemeVariableManagementEntry-unlink" onClick={handleDisconnectVariable} />
-      </Flex>
-    </Flex>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html deleted file mode 100644 index fedbd4da3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/TokenSetThemeItem.tsx.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/TokenSetThemeItem.tsx - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal TokenSetThemeItem.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import {
-  Box, Stack, ToggleGroup,
-} from '@tokens-studio/ui';
-import { Check, Xmark, CodeBrackets } from 'iconoir-react';
-import { useTranslation } from 'react-i18next';
-import { TreeItem } from '@/utils/tokenset';
-import { StyledThemeLabel } from './StyledThemeLabel';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-type Props = {
-  item: TreeItem
-  value: Record<string, TokenSetStatus>
-  onChange: (value: Record<string, TokenSetStatus>) => void
-};
- 
-const tokenSetStatusValues = Object.values(TokenSetStatus);
-const tokenSetStatusLabels = {
-  [TokenSetStatus.DISABLED]: 'disabled',
-  [TokenSetStatus.SOURCE]: 'referenceOnly',
-  [TokenSetStatus.ENABLED]: 'enabled',
-};
- 
-export const TokenSetThemeItem: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  item, value, children, onChange,
-}) => {
-  const tokenSetStatus = useMemo(() => (
-    value?.[item.path] ?? TokenSetStatus.DISABLED
-  ), [item.path, value]);
-  const { t } = useTranslation(['tokens']);
- 
-  const handleValueChange = useCallback((status: string) => {
-    if (status) {
-      onChange({
-        ...value,
-        [item.path]: status as TokenSetStatus,
-      });
-    }
-  }, [item, value, onChange]);
- 
-  const statusIcon = (status) => {
-    if (status === TokenSetStatus.ENABLED) {
-      return <Check />;
-    }
-    if (status === TokenSetStatus.SOURCE) {
-      return <CodeBrackets />;
-    }
-    return <Xmark />;
-  };
- 
-  return (
-    (
-      <Stack direction="row" align="center" css={{ width: '100%' }}>
-        {item.level > 0 && (
-        // repeat the box n times according to item.level
-          (Array.from({ length: item.level }).map((_, index) => (
-            <Box
-            // eslint-disable-next-line react/no-array-index-key
-              key={`${item.path}-indicator-${index}`}
-              css={{
-                marginLeft: '$3',
-                height: '$7',
-                width: '$4',
-                borderLeft: '1px solid $borderMuted',
-              }}
-            />
-          )))
-        )}
-        {children}
-        {item.isLeaf && (
-        <Stack
-          direction="row"
-          justify="between"
-          align="center"
-          css={{ width: '100%' }}
-        >
- 
-          <StyledThemeLabel variant="leaf" ignored={tokenSetStatus === TokenSetStatus.DISABLED}>
-            {item.label}
-          </StyledThemeLabel>
-          <ToggleGroup
-            type="single"
-            size="small"
-            value={tokenSetStatus}
-            onValueChange={handleValueChange}
-            defaultValue={tokenSetStatus}
-          >
-            {tokenSetStatusValues.map((status) => (
- 
-              <ToggleGroup.Item key={status} tooltip={t(tokenSetStatusLabels[status])} tooltipSide="top" value={status} data-testid={`tokensettheme-item--ToggleGroup-content--${item.label}--${status}`}>
-                {statusIcon(status)}
-              </ToggleGroup.Item>
- 
-            ))}
-          </ToggleGroup>
-        </Stack>
-        )}
-      </Stack>
-    )
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html deleted file mode 100644 index aaf17bf0b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal - - - - - - - - - -
-
-

All files src/app/components/ManageThemesModal

-
- -
- 0% - Statements - 0/343 -
- - -
- 0% - Branches - 0/209 -
- - -
- 0% - Functions - 0/112 -
- - -
- 0% - Lines - 0/327 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
CreateOrEditThemeForm.tsx -
-
0%0/290%0/150%0/110%0/25
ManageThemesModal.tsx -
-
0%0/750%0/660%0/180%0/72
SingleThemeEntry.tsx -
-
0%0/200%0/180%0/70%0/20
StyledCreateOrEditThemeFormHeaderFlex.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledCreateOrEditThemeFormTabsFlex.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledForm.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledNameInputBox.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledThemeLabel.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledThemeMetaLabel.tsx -
-
0%0/1100%0/0100%0/00%0/1
ThemeGroupDropDownMenu.tsx -
-
0%0/100%0/40%0/50%0/8
ThemeListGroupHeader.tsx -
-
0%0/240%0/80%0/70%0/24
ThemeListItemContent.tsx -
-
0%0/6100%0/00%0/20%0/6
ThemeStyleManagementCategory.tsx -
-
0%0/170%0/80%0/90%0/16
ThemeStyleManagementCategoryStyleEntry.tsx -
-
0%0/60%0/100%0/30%0/6
ThemeStyleManagementForm.tsx -
-
0%0/790%0/380%0/230%0/77
ThemeVariableManagement.tsx -
-
0%0/470%0/220%0/180%0/43
ThemeVariableManagementEntry.tsx -
-
0%0/60%0/80%0/30%0/6
TokenSetThemeItem.tsx -
-
0%0/180%0/120%0/60%0/18
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html deleted file mode 100644 index e88a91515..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ManageThemesModal/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/ManageThemesModal/index.ts - - - - - - - - - -
-
-

All files / src/app/components/ManageThemesModal index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export { ManageThemesModal } from './ManageThemesModal';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html deleted file mode 100644 index 524ddae4b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/Modal.tsx.html +++ /dev/null @@ -1,715 +0,0 @@ - - - - - - Code coverage report for src/app/components/Modal/Modal.tsx - - - - - - - - - -
-
-

All files / src/app/components/Modal Modal.tsx

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import {
-  Stack, Dialog, IconButton, Box, Heading,
-} from '@tokens-studio/ui';
-import { XIcon } from '@primer/octicons-react';
-import { ArrowLeft } from 'iconoir-react';
-import { ModalFooter } from './ModalFooter';
-import { styled } from '@/stitches.config';
- 
-export type ModalProps = {
-  id?: string;
-  title?: string;
-  full?: boolean;
-  size?: 'large' | 'fullscreen';
-  compact?: boolean;
-  isOpen?: boolean;
-  children: React.ReactNode;
-  footer?: React.ReactNode;
-  stickyFooter?: boolean;
-  showClose?: boolean;
-  backArrow?: boolean;
-  icon?: React.ReactNode;
-  close?: () => void;
-  modal?: boolean;
-  onInteractOutside?: (event: Event) => void;
-  scrollContainerRef?: React.RefObject<HTMLDivElement>;
-};
- 
-const StyledBody = styled('div', {
-  position: 'relative',
-  padding: '$4',
-  variants: {
-    full: {
-      true: {
-        padding: 0,
-      },
-    },
-    compact: {
-      true: {
-        padding: '$4',
-      },
-    },
-  },
-});
- 
-const StyledDialogContent = styled(Dialog.Content, {
-  '&:focus-visible': {
-    outline: 'none',
-  },
-  variants: {
-    size: {
-      large: {
-        width: 'calc(100vw - $7)',
-        maxWidth: '480px',
-        padding: 0,
-        boxShadow: '$contextMenu',
-        borderColor: '$borderSubtle',
-      },
-      fullscreen: {
-        width: '100vw',
-        maxWidth: '100vw',
-        padding: 0,
-        height: '100vh',
-        maxHeight: '100vh',
-        borderRadius: 0,
-        border: 'none',
-        boxShadow: 'none',
-      },
-      regular: {
-        padding: '0',
-      },
-    },
-  },
-  defaultVariants: {
-    size: 'regular',
-  },
-});
- 
-export function Modal({
-  id,
-  title,
-  full,
-  size,
-  isOpen,
-  close,
-  children,
-  footer,
-  stickyFooter = false,
-  showClose = false,
-  compact = false,
-  modal = true,
-  backArrow = false,
-  icon,
-  onInteractOutside,
-  scrollContainerRef,
-}: ModalProps) {
-  const handleClose = React.useCallback(() => {
-    if (close) {
-      close();
-    }
-  }, [close]);
- 
-  const handleOnOpenChange = React.useCallback(
-    (open) => {
-      if (!open) {
-        if (close) {
-          close();
-        }
-      }
-    },
-    [close],
-  );
- 
-  return (
-    <Dialog open={isOpen} onOpenChange={handleOnOpenChange} modal={modal}>
-      <Dialog.Portal>
-        <Dialog.Overlay />
-        <Box
-          css={{
-            position: 'fixed',
-            inset: 0,
-            backgroundColor: '$modalBackdrop',
-          }}
-        />
-        <StyledDialogContent size={size} onInteractOutside={onInteractOutside}>
-          <Box
-            css={{
-              display: 'flex',
-              flexDirection: 'column',
-              overflow: 'hidden',
-            }}
-          >
-            {(showClose || title || backArrow || icon) && (
-              <Stack
-                direction="row"
-                justify={backArrow ? 'start' : 'between'}
-                align="center"
-                css={{
-                  borderBottomColor: '$borderSubtle',
-                  borderBottomWidth: '1px',
-                  borderTopLeftRadius: '$medium',
-                  borderTopRightRadius: '$medium',
-                  padding: '$4',
-                  position: 'sticky',
-                  backgroundColor: '$bgDefault',
-                  top: 0,
-                  zIndex: 10,
-                  gap: '$3',
-                }}
-              >
-                {backArrow && (
-                  <IconButton
-                    onClick={handleClose}
-                    data-testid="back-arrow"
-                    icon={<ArrowLeft />}
-                    size="small"
-                    variant="invisible"
-                  />
-                )}
-                <Box
-                  css={{
-                    display: 'flex',
-                    alignItems: 'center',
-                    gap: '$3',
-                  }}
-                >
-                  {icon && <Box>{icon}</Box>}
-                  {title && (
-                    <Dialog.Title asChild>
-                      <Heading as="h6" size="small">
-                        {title}
-                      </Heading>
-                    </Dialog.Title>
-                  )}
-                </Box>
-                {showClose && (
-                  <IconButton
-                    onClick={handleClose || null}
-                    data-testid="close-button"
-                    icon={<XIcon />}
-                    size="small"
-                    variant="invisible"
-                  />
-                )}
-              </Stack>
-            )}
-            <StyledBody
-              compact={compact}
-              full={full}
-              data-testid={id}
-              ref={scrollContainerRef}
-              css={{
-                scrollPaddingBlockEnd: footer ? '$4' : 0,
-                marginBottom: footer && size === 'fullscreen' ? 'calc(var(--sizes-controlMedium) + var(--space-6))' : 0, // Size of the fixed footer incl default sized buttons
-              }}
-              className="content scroll-container"
-            >
-              {children}
-            </StyledBody>
-            {!!footer && (
-              <ModalFooter stickyFooter={stickyFooter} fullscreen={size === 'fullscreen'}>
-                {footer}
-              </ModalFooter>
-            )}
-          </Box>
-        </StyledDialogContent>
-      </Dialog.Portal>
-    </Dialog>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html deleted file mode 100644 index 3fca7edc4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalFooter.tsx.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/app/components/Modal/ModalFooter.tsx - - - - - - - - - -
-
-

All files / src/app/components/Modal ModalFooter.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const ModalFooter = styled('footer', {
-  padding: '$4',
-  borderTopColor: '$borderMuted',
-  borderTopWidth: '1px',
-  variants: {
-    stickyFooter: {
-      true: {
-        backgroundColor: '$bgDefault',
-        position: 'sticky',
-        left: 0,
-        right: 0,
-        bottom: -0.5,
-        zIndex: 1,
-      },
-    },
-    fullscreen: {
-      true: {
-        position: 'absolute',
-        bottom: 0,
-        left: 0,
-        right: 0,
-        zIndex: 1,
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html deleted file mode 100644 index c50479e59..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/ModalHeader.tsx.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/app/components/Modal/ModalHeader.tsx - - - - - - - - - -
-
-

All files / src/app/components/Modal ModalHeader.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-// @README the padding is handled by the close button
-export const ModalHeader = styled('header', {
-  borderBottomColor: '$borderMuted',
-  borderBottomWidth: '1px',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html deleted file mode 100644 index 00dff1f27..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/app/components/Modal - - - - - - - - - -
-
-

All files src/app/components/Modal

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Modal.tsx -
-
0%0/100%0/360%0/30%0/10
ModalFooter.tsx -
-
0%0/1100%0/0100%0/00%0/1
ModalHeader.tsx -
-
0%0/1100%0/0100%0/00%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html deleted file mode 100644 index 0d0b4e92b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Modal/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/Modal/index.ts - - - - - - - - - -
-
-

All files / src/app/components/Modal index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { Modal } from './Modal';
- 
-export default Modal;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html deleted file mode 100644 index d5df61262..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButton.tsx.html +++ /dev/null @@ -1,730 +0,0 @@ - - - - - - Code coverage report for src/app/components/MoreButton/MoreButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/MoreButton MoreButton.tsx

-
- -
- 0% - Statements - 0/52 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/18 -
- - -
- 0% - Lines - 0/49 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable react/jsx-no-bind */
-/* eslint-disable no-console */
- 
-import React, { useMemo } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { ChevronRightIcon } from '@radix-ui/react-icons';
-import copy from 'copy-to-clipboard';
- 
-import { ContextMenu } from '@tokens-studio/ui';
-import { styled } from '@/stitches.config';
-import { activeTokenSetReadOnlySelector, activeTokenSetSelector, editProhibitedSelector } from '@/selectors';
-import { PropertyObject } from '@/types/properties';
-import { MoreButtonProperty } from './MoreButtonProperty';
-import { DocumentationProperties } from '@/constants/DocumentationProperties';
-import { SingleToken } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
-import useSetNodeData from '@/hooks/useSetNodeData';
-import { Dispatch } from '@/app/store';
-import { TokensContext } from '@/context';
-import { SelectionValue, ShowFormOptions } from '@/types';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { track } from '@/utils/analytics';
-import useManageTokens from '@/app/store/useManageTokens';
-import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import TokenButtonContent from '../TokenButton/TokenButtonContent';
-import { useGetActiveState } from '@/hooks';
-import { usePropertiesForTokenType } from '../../hooks/usePropertiesForType';
-import { getAliasValue } from '@/utils/alias';
- 
-const RightSlot = styled('div', {
-  marginLeft: 'auto',
-  paddingLeft: 16,
-  color: '$contextMenuFg',
-  ':focus > &': { color: 'white' },
-  '[data-disabled] &': { color: '$disabled' },
-});
- 
-// @TODO typing
- 
-type Props = {
-  token: SingleToken;
-  type: TokenTypes;
-  showForm: (options: ShowFormOptions) => void;
-};
- 
-export const MoreButton: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  token,
-  type,
-  showForm,
-}) => {
-  const tokensContext = React.useContext(TokensContext);
-  const setNodeData = useSetNodeData();
-  const dispatch = useDispatch<Dispatch>();
-  const editProhibited = useSelector(editProhibitedSelector);
-  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const { deleteSingleToken } = useManageTokens();
- 
-  const canEdit = !editProhibited && !activeTokenSetReadOnly;
- 
-  const resolvedValue = useMemo(
-    () => getAliasValue(token, tokensContext.resolvedTokens),
-    [token, tokensContext.resolvedTokens],
-  );
- 
-  const properties = usePropertiesForTokenType(type, resolvedValue?.toString());
- 
-  // @TODO check type property typing
-  const visibleProperties = React.useMemo(() => properties.filter((p) => p.label), [properties]);
- 
-  const handleEditClick = React.useCallback(() => {
-    showForm({ name: token.name, token, status: EditTokenFormStatus.EDIT });
-  }, [token, showForm]);
- 
-  const handleCopyTokenName = (props: unknown, text: string) => {
-    copy(text, {});
-  };
- 
-  const handleDeleteClick = React.useCallback(() => {
-    deleteSingleToken({
-      parent: activeTokenSet,
-      path: token.name,
-      type: token.type,
-      sourceId: token.$extensions?.['studio.tokens']?.urn,
-    });
-  }, [activeTokenSet, deleteSingleToken, token.$extensions, token.name, token.type]);
- 
-  const handleDuplicateClick = React.useCallback(() => {
-    showForm({ name: `${token.name}-copy`, token, status: EditTokenFormStatus.DUPLICATE });
-  }, [showForm, token]);
- 
-  // TODO: This should probably move to state or a hook
-  const setPluginValue = React.useCallback(
-    async (value: SelectionValue) => {
-      dispatch.uiState.startJob({ name: BackgroundJobs.UI_APPLYNODEVALUE });
-      await setNodeData(value, tokensContext.resolvedTokens);
-      dispatch.uiState.completeJob(BackgroundJobs.UI_APPLYNODEVALUE);
-    },
-    [dispatch, tokensContext.resolvedTokens, setNodeData],
-  );
- 
-  const activeStateProperties = React.useMemo(() => {
-    const childProperties: PropertyObject[] = [];
-    properties.forEach((property) => {
-      if (property.childProperties) {
-        childProperties.push(...property.childProperties);
-      }
-    });
-    return [...properties, ...childProperties, ...DocumentationProperties];
-  }, [properties]);
- 
-  const active = useGetActiveState(activeStateProperties, type, token.name);
- 
-  const handleClick = React.useCallback(
-    (givenProperties: PropertyObject, isActive = active) => {
-      track('Apply Token', { givenProperties });
-      const newProps: SelectionValue = {
-        [givenProperties.name]: isActive ? 'delete' : token.name,
-      };
-      if (givenProperties.clear) {
-        givenProperties.clear.map((item) => Object.assign(newProps, { [item]: 'delete' }));
-      }
- 
-      setPluginValue(newProps);
-    },
-    [active, token.name, setPluginValue],
-  );
- 
-  const handleTokenClick = React.useCallback(
-    (event: React.MouseEvent<HTMLButtonElement>) => {
-      const isMacBrowser = /Mac/.test(navigator.platform);
-      if (canEdit && ((isMacBrowser && event.metaKey) || (!isMacBrowser && event.ctrlKey))) {
-        handleEditClick();
-      } else {
-        handleClick(properties[0]);
-      }
-    },
-    [canEdit, handleEditClick, handleClick, properties],
-  );
- 
-  return (
-    <ContextMenu>
-      <ContextMenu.Trigger id={`${token.name}-button}`}>
-        <TokenButtonContent type={type} active={active} onClick={handleTokenClick} token={token} />
-      </ContextMenu.Trigger>
-      <ContextMenu.Portal>
-        <ContextMenu.Content alignOffset={5} collisionPadding={30}>
-          {visibleProperties.map((property) => (property.childProperties ? (
-            <ContextMenu.Sub key={property.label}>
-              <ContextMenu.SubTrigger>
-                {property.label}
-                <RightSlot>
-                  <ChevronRightIcon />
-                </RightSlot>
-              </ContextMenu.SubTrigger>
-              <ContextMenu.Portal>
-                <ContextMenu.SubContent alignOffset={-5} collisionPadding={30}>
-                  {property.childProperties.map((childProperty) => (
-                    <MoreButtonProperty
-                      key={childProperty.name}
-                      value={token.name}
-                      property={childProperty}
-                      onClick={handleClick}
-                    />
-                  ))}
-                </ContextMenu.SubContent>
-              </ContextMenu.Portal>
-            </ContextMenu.Sub>
-          ) : (
-            <MoreButtonProperty
-              key={property.name}
-              value={token.name}
-              property={property}
-              onClick={handleClick}
-              disabled={property.disabled}
-            />
-          )))}
-          <ContextMenu.Sub>
-            <ContextMenu.SubTrigger>
-              Documentation Tokens
-              <RightSlot>
-                <ChevronRightIcon />
-              </RightSlot>
-            </ContextMenu.SubTrigger>
-            <ContextMenu.Portal>
-              <ContextMenu.SubContent alignOffset={-5} collisionPadding={30}>
-                {DocumentationProperties.map((property) => (
-                  <MoreButtonProperty
-                    key={property.name}
-                    value={token.name}
-                    property={property}
-                    onClick={handleClick}
-                  />
-                ))}
-              </ContextMenu.SubContent>
-            </ContextMenu.Portal>
-          </ContextMenu.Sub>
-          <ContextMenu.Separator />
-          <ContextMenu.Item onSelect={handleEditClick} disabled={!canEdit}>
-            Edit Token
-          </ContextMenu.Item>
-          <ContextMenu.Item onSelect={handleDuplicateClick} disabled={!canEdit}>
-            Duplicate Token
-          </ContextMenu.Item>
-          <ContextMenu.Item onSelect={(event) => handleCopyTokenName(event, token.name)}>
-            Copy Token Path
-          </ContextMenu.Item>
-          <ContextMenu.Item onSelect={handleDeleteClick} disabled={!canEdit}>
-            Delete Token
-          </ContextMenu.Item>
-        </ContextMenu.Content>
-      </ContextMenu.Portal>
-    </ContextMenu>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html deleted file mode 100644 index b2532c123..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/MoreButtonProperty.tsx.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - Code coverage report for src/app/components/MoreButton/MoreButtonProperty.tsx - - - - - - - - - -
-
-

All files / src/app/components/MoreButton MoreButtonProperty.tsx

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { CheckIcon } from '@radix-ui/react-icons';
-import {
-  ContextMenu,
-} from '@tokens-studio/ui';
-import { PropertyObject } from '@/types/properties';
-import { mainNodeSelectionValuesSelector } from '@/selectors';
- 
-type Props = {
-  value: string;
-  property: PropertyObject;
-  onClick: (properties: PropertyObject, isActive: boolean) => void;
-  disabled?: boolean;
-};
- 
-export const MoreButtonProperty: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  value, property, onClick, disabled = false,
-}) => {
-  const mainNodeSelectionValues = useSelector(mainNodeSelectionValuesSelector);
-  const isActive = React.useMemo(() => (
-    mainNodeSelectionValues[property.name] === value
-  ), [value, property, mainNodeSelectionValues]);
-  const handleClick = React.useCallback((e: any) => {
-    e.preventDefault();
-    onClick(property, isActive);
-  }, [property, isActive, onClick]);
- 
-  return (
-    <ContextMenu.CheckboxItem
-      key={property.label}
-      checked={isActive}
-      onSelect={handleClick}
-      disabled={disabled}
-    >
-      <ContextMenu.ItemIndicator>
-        <CheckIcon />
-      </ContextMenu.ItemIndicator>
-      {property.label}
-    </ContextMenu.CheckboxItem>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html deleted file mode 100644 index 29309384d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/components/MoreButton - - - - - - - - - -
-
-

All files src/app/components/MoreButton

-
- -
- 0% - Statements - 0/60 -
- - -
- 0% - Branches - 0/19 -
- - -
- 0% - Functions - 0/21 -
- - -
- 0% - Lines - 0/57 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
MoreButton.tsx -
-
0%0/520%0/180%0/180%0/49
MoreButtonProperty.tsx -
-
0%0/80%0/10%0/30%0/8
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html deleted file mode 100644 index 7a17d2585..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MoreButton/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/MoreButton/index.ts - - - - - - - - - -
-
-

All files / src/app/components/MoreButton index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './MoreButton';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html deleted file mode 100644 index 9d7004b75..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectCheckboxItem.tsx.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/app/components/MultiSelectCheckboxItem.tsx - - - - - - - - - -
-
-

All files / src/app/components MultiSelectCheckboxItem.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Check } from 'iconoir-react';
-import { DropdownMenu } from '@tokens-studio/ui';
-import Box from './Box';
- 
-type Props = {
-  item: string;
-  isSelected: boolean;
-  onItemSelected: (selectedItem: string) => void;
-};
- 
-export const MultiSelectCheckboxItem: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  item,
-  isSelected,
-  onItemSelected,
-}) => {
-  const handleSelect = React.useCallback(() => {
-    onItemSelected(item);
-  }, [item, onItemSelected]);
- 
-  return (
-    <DropdownMenu.CheckboxItem
-      checked={isSelected}
-      onSelect={handleSelect}
-      css={{ display: 'flex', padding: '$3 0' }}
-    >
-      <Box css={{ width: '$5' }}>
-        <DropdownMenu.ItemIndicator css={{ position: 'inherit' }}>
-          <Check />
-        </DropdownMenu.ItemIndicator>
-      </Box>
-      <Box>
-        {item}
-      </Box>
-    </DropdownMenu.CheckboxItem>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html deleted file mode 100644 index 59f152327..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/MultiSelectDropdown.tsx.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for src/app/components/MultiSelectDropdown.tsx - - - - - - - - - -
-
-

All files / src/app/components MultiSelectDropdown.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useUIDSeed } from 'react-uid';
-import { DropdownMenu, Button } from '@tokens-studio/ui';
- 
-import { MultiSelectCheckboxItem } from './MultiSelectCheckboxItem';
- 
-type Props = {
-  menuItems: string[];
-  selectedItems: string[]
-  handleSelectedItemChange: (selectedItems: string[]) => void
-};
- 
-export const MultiSelectDropdown: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  menuItems,
-  selectedItems,
-  handleSelectedItemChange,
-}) => {
-  const seed = useUIDSeed();
-  const selectedItemsString = React.useMemo(() => selectedItems.join(','), [selectedItems]);
- 
-  const handleSelectedItem = React.useCallback((selectedItem: string) => {
-    if (selectedItems.includes(selectedItem)) {
-      const newSelectedItems = selectedItems.filter((item) => item !== selectedItem);
-      handleSelectedItemChange(newSelectedItems);
-    } else {
-      const newSelectedItems = [...selectedItems, selectedItem];
-      handleSelectedItemChange(newSelectedItems);
-    }
-  }, [selectedItems, handleSelectedItemChange]);
- 
-  return (
-    <DropdownMenu>
-      <DropdownMenu.Trigger asChild>
-        <Button asDropdown>
-          {selectedItemsString}
-        </Button>
-      </DropdownMenu.Trigger>
-      <DropdownMenu.Portal>
-        <DropdownMenu.Content side="bottom" className="content scroll-container" css={{ maxHeight: 'clamp(100px, 30vh, 500px)' }}>
-          {
-          menuItems.map((menuItem, index) => <MultiSelectCheckboxItem key={`multi_checkbox_${seed(index)}`} item={menuItem} isSelected={selectedItems.includes(menuItem)} onItemSelected={handleSelectedItem} />)
-        }
-        </DropdownMenu.Content>
-      </DropdownMenu.Portal>
-    </DropdownMenu>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html deleted file mode 100644 index 1b7c8dbe3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Navbar.tsx.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - Code coverage report for src/app/components/Navbar.tsx - - - - - - - - - -
-
-

All files / src/app/components Navbar.tsx

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { IconButton } from '@tokens-studio/ui';
-import Box from './Box';
-import { Tabs } from '@/constants/Tabs';
-import Stack from './Stack';
-import { TabButton } from './TabButton';
-import { NavbarUndoButton } from './NavbarUndoButton';
-import Minimize from '@/icons/minimize.svg';
-import IconSecondScreenOn from '@/icons/second-screen-on.svg';
-import IconSecondScreenOff from '@/icons/second-screen-off.svg';
-import IconSecondScreenIndeterminate from '@/icons/second-screen-indeterminate.svg';
-import useMinimizeWindow from './useMinimizeWindow';
-import { activeTabSelector } from '@/selectors';
-import { Dispatch } from '../store';
-import TokenFlowButton from './TokenFlowButton';
-import { secondScreenSelector } from '@/selectors/secondScreenSelector';
-import { licenseKeySelector } from '@/selectors/licenseKeySelector';
-import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
-import { useAuth } from '@/context/AuthContext';
- 
-const Navbar: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => {
-  const { user } = useAuth();
-  const activeTab = useSelector(activeTabSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const { handleResize } = useMinimizeWindow();
-  const { t } = useTranslation(['navbar']);
-  const existingKey = useSelector(licenseKeySelector);
-  const licenseKeyError = useSelector(licenseKeyErrorSelector);
-  const secondScreenisEnabled = useSelector(secondScreenSelector);
- 
-  const handleSwitch = useCallback(
-    (tab: Tabs) => {
-      dispatch.uiState.setActiveTab(tab);
-    },
-    [dispatch.uiState],
-  );
- 
-  const secondScreenIcon = useMemo(() => {
-    if (user && secondScreenisEnabled) return <IconSecondScreenOn />;
-    if (user && secondScreenisEnabled === false) return <IconSecondScreenOff />;
-    return <IconSecondScreenIndeterminate />;
-  }, [secondScreenisEnabled, user]);
- 
-  const switchToSecondScreen = useCallback(() => {
-    dispatch.uiState.setActiveTab(Tabs.SECONDSCREEN);
-  }, [dispatch.uiState]);
- 
-  return (
-    <Box
-      css={{
-        position: 'sticky',
-        top: 0,
-        display: 'flex',
-        alignItems: 'center',
-        justifyContent: 'space-between',
-        background: '$bgDefault',
-        borderBottom: '1px solid $borderMuted',
-        zIndex: 1,
-        transform: 'translateY(-1px)',
-      }}
-    >
-      <Stack gap={0} direction="row" align="center" justify="between">
-        <Stack gap={0} direction="row" align="center" justify="start">
-          <TabButton name={Tabs.TOKENS} activeTab={activeTab} label={t('tokens')} onSwitch={handleSwitch} />
-          <TabButton name={Tabs.INSPECTOR} activeTab={activeTab} label={t('inspect')} onSwitch={handleSwitch} />
-          <TabButton name={Tabs.SETTINGS} activeTab={activeTab} label={t('settings')} onSwitch={handleSwitch} />
-        </Stack>
-        <NavbarUndoButton />
-      </Stack>
-      <Stack direction="row" align="center" justify="end" gap={1} css={{ paddingRight: '$2', flexBasis: 'min-content' }}>
-        { (existingKey && !licenseKeyError) && <IconButton size="small" variant="invisible" icon={secondScreenIcon} tooltip="Second Screen" onClick={switchToSecondScreen} />}
-        <TokenFlowButton />
-        <IconButton size="small" variant="invisible" tooltip={t('minimize') as string} onClick={handleResize} icon={<Minimize />} />
-      </Stack>
-    </Box>
-  );
-};
- 
-export default Navbar;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html deleted file mode 100644 index c7c5388e5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/NavbarUndoButton.tsx.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for src/app/components/NavbarUndoButton/NavbarUndoButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/NavbarUndoButton NavbarUndoButton.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import IconUndo from '@/icons/undo.svg';
-import { useCanUndo } from '../../hooks/useCanUndo';
-import { styled } from '@/stitches.config';
-import { UndoableEnhancerState } from '@/app/enhancers/undoableEnhancer/UndoableEnhancerState';
-import Tooltip from '../Tooltip';
-import { useActionsHistory } from '@/app/hooks/useActionsHistory';
-import { AnyAction } from '@/types/redux';
- 
-const StyledUndoButton = styled('button', {
-  padding: '$4',
-  marginLeft: 'auto',
-});
- 
-const StyledUndoIcon = styled(IconUndo, {
-  width: '12px',
-  height: '12px',
-});
- 
-const actionLabels: Partial<Record<AnyAction<true>['type'], string>> = {
-  'tokenState/deleteToken': 'Delete token',
-  'tokenState/duplicateToken': 'Duplicate token',
-  'tokenState/createToken': 'Create token',
-};
- 
-export const NavbarUndoButton: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => {
-  const canUndo = useCanUndo();
-  const actionsHistory = useActionsHistory();
- 
-  const handleUndo = useCallback(() => {
-    UndoableEnhancerState.undo();
-  }, []);
- 
-  if (canUndo && actionsHistory.length) {
-    return (
-      <Tooltip label={`Undo "${actionLabels[actionsHistory[actionsHistory.length - 1].action.type]}"`}>
-        <StyledUndoButton type="button" onClick={handleUndo}>
-          <StyledUndoIcon />
-        </StyledUndoButton>
-      </Tooltip>
-    );
-  }
- 
-  return null;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html deleted file mode 100644 index d039198c7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/NavbarUndoButton - - - - - - - - - -
-
-

All files src/app/components/NavbarUndoButton

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
NavbarUndoButton.tsx -
-
0%0/110%0/40%0/20%0/11
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html deleted file mode 100644 index 035fcadd8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/NavbarUndoButton/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/NavbarUndoButton/index.ts - - - - - - - - - -
-
-

All files / src/app/components/NavbarUndoButton index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export { NavbarUndoButton } from './NavbarUndoButton';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html deleted file mode 100644 index 419b090ca..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingExplainer.tsx.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/app/components/OnboardingExplainer.tsx - - - - - - - - - -
-
-

All files / src/app/components OnboardingExplainer.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { InfoCircledIcon, Cross1Icon } from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import {
-  Link, IconButton, Heading, Box, Stack,
-} from '@tokens-studio/ui';
-import { styled } from '@/stitches.config';
- 
-const StyledInfoIconButton = styled(InfoCircledIcon, {
-  color: '$accentDefault',
-});
- 
-const StyledTextPlan = styled('p', {
-  fontWeight: '$sansRegular',
-  color: '$fgDefault',
-  fontSize: '$xsmall',
-});
- 
-type Props = {
-  data: {
-    title: string,
-    text: string,
-    url: string,
-  };
-  closeOnboarding: () => void;
-};
- 
-export default function OnboardingExplainer({ data, closeOnboarding }: Props) {
-  const { t } = useTranslation(['general']);
-  return (
-    <Box css={data.title === 'Sets' ? {
-      display: 'flex', flexDirection: 'column', gap: '$2', padding: '$4', borderTop: '1px solid $borderMuted', borderBottom: '1px solid $borderMuted',
-    } : {
-      display: 'flex', flexDirection: 'column', gap: '$2', padding: '$4', border: '1px solid $borderSubtle', borderRadius: '$medium',
-    }}
-    >
-      <Stack direction="row" gap={2} justify="between">
-        <Stack direction="row" justify="between" gap={2} align="center">
-          <StyledInfoIconButton />
-          <Heading size="small">{data.title}</Heading>
-        </Stack>
-        <IconButton variant="invisible" size="small" data-testid="closeButton" onClick={closeOnboarding} icon={<Cross1Icon />} />
-      </Stack>
-      <StyledTextPlan>
-        {data.text}
-      </StyledTextPlan>
-      <Link href={data.url} target="_blank" rel="noreferrer">
-        {t('readMore')}
-      </Link>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html deleted file mode 100644 index 1067dd193..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/OnboardingFlow.tsx.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - Code coverage report for src/app/components/OnboardingFlow.tsx - - - - - - - - - -
-
-

All files / src/app/components OnboardingFlow.tsx

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable global-require */
-import React from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { Button, Heading } from '@tokens-studio/ui';
-import Text from './Text';
-import Modal from './Modal';
-import { getLastopened } from '@/selectors';
-import Stack from './Stack';
-import { styled } from '@/stitches.config';
- 
-const StyledLink = styled('a', {
-  display: 'inline-flex',
-  fontSize: '$1',
-  color: '$accentDefault',
-});
- 
-const StyledImage = styled('img', {
-  borderRadius: '$medium',
-  marginBottom: '$3',
-});
- 
-function fetchOnboardingImage(idx: number) {
-  switch (idx) {
-    case 0:
-      return require('../assets/onboardingflow/0.webp');
-    case 1:
-      return require('../assets/onboardingflow/1.webp');
-    case 2:
-      return require('../assets/onboardingflow/2.webp');
-    case 3:
-      return require('../assets/onboardingflow/3.webp');
-    case 4:
-      return require('../assets/onboardingflow/4.webp');
-    default:
-      return '';
-  }
-}
- 
-export default function OnboardingFlow() {
-  const { t } = useTranslation(['onBoarding']);
-  const onboardingflow = [
-    {
-      title: 'welcome',
-      excerpt: 'welcomeText',
-    },
-    {
-      title: 'createTokens',
-      excerpt: 'createTokensText',
-      read_more_link: 'https://docs.tokens.studio/tokens/creating-tokens',
-    },
-    {
-      title: 'reference',
-      excerpt: 'referenceText',
-      read_more_link: 'https://docs.tokens.studio/tokens/aliases',
-    },
-    {
-      title: 'apply',
-      excerpt: 'applyText',
-      read_more_link: 'https://docs.tokens.studio/tokens/applying-tokens',
-    },
-    {
-      title: 'knowMore',
-      excerpt: 'knowMoreText',
-      read_more_link: 'https://docs.tokens.studio',
-    },
-  ];
- 
-  const [onboardingFlowOpen, setOnboardingFlowOpen] = React.useState(true);
-  const [activeIndex, setIndex] = React.useState(0);
- 
-  const lastOpened = useSelector(getLastopened);
- 
-  const handleNext = React.useCallback(() => {
-    setIndex(activeIndex + 1);
-  }, [activeIndex]);
- 
-  const handlePrev = React.useCallback(() => {
-    setIndex(activeIndex - 1);
-  }, [activeIndex]);
- 
-  const handleClose = React.useCallback(() => {
-    setOnboardingFlowOpen(false);
-  }, []);
- 
-  return (
-    <Modal showClose isOpen={lastOpened === 0 && onboardingFlowOpen} close={handleClose}>
-      <Stack direction="column" gap={4}>
-        {onboardingflow.map((item, index) => (
-          <Stack
-            // eslint-disable-next-line react/no-array-index-key
-            key={`onboarding-${index}`}
-            direction="column"
-            gap={3}
-            align="start"
-            css={{ textAlign: 'left', display: index === activeIndex ? 'flex' : 'none' }}
-          >
-            <StyledImage src={fetchOnboardingImage(index)} alt="" />
-            <Heading size="medium">{t(item.title)}</Heading>
-            <Text size="small">{t(item.excerpt)}</Text>
-            {item.read_more_link && (
-              <StyledLink
-                target="_blank"
-                rel="noreferrer"
-                href={item.read_more_link}
-              >
-                {t('readMore')}
-              </StyledLink>
-            )}
-          </Stack>
-        ))}
-        <Stack direction="row" gap={2} justify={activeIndex > 1 ? 'between' : 'end'}>
-          {activeIndex > 1 && (
-            <Button data-testid="button-changelog-prev" onClick={handlePrev} variant="secondary">
-              {t('previous')}
-            </Button>
-          )}
-          {onboardingflow.length > activeIndex + 1 ? (
-            <Button data-testid="button-changelog-next" variant="primary" onClick={handleNext}>
-              {t('next')}
-            </Button>
-          ) : (
-            <Button data-testid="button-changelog-close" variant="primary" onClick={handleClose}>
-              {t('close')}
-            </Button>
-          )}
-        </Stack>
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html deleted file mode 100644 index 3c234f483..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PluginResizer.tsx.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/app/components/PluginResizer.tsx - - - - - - - - - -
-
-

All files / src/app/components PluginResizer.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { IconButton } from '@tokens-studio/ui';
-import Maximize from '@/icons/maximize.svg';
-import useMinimizeWindow from './useMinimizeWindow';
-import Box from './Box';
- 
-type Props = {
-  children: React.ReactElement;
-};
- 
-const PluginResizerWrapper: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ children }) => {
-  const { isPluginminimized, handleResize } = useMinimizeWindow();
- 
-  return isPluginminimized ? (
-    <Box css={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
-      <IconButton size="large" onClick={handleResize} variant="invisible" icon={<Maximize />} />
-    </Box>
-  ) : (
-    children
-  );
-};
-export default PluginResizerWrapper;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html deleted file mode 100644 index 9c3932be2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/DefaultPreset.tsx.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - Code coverage report for src/app/components/PresetProvider/DefaultPreset.tsx - - - - - - - - - -
-
-

All files / src/app/components/PresetProvider DefaultPreset.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch } from 'react-redux';
-import {
-  Button, Heading, Stack, Text,
-} from '@tokens-studio/ui';
-import { Dispatch } from '@/app/store';
-import { track } from '@/utils/analytics';
- 
-type Props = {
-  onCancel: () => void;
-};
- 
-export default function DefaultPreset({ onCancel }: Props) {
-  const dispatch = useDispatch<Dispatch>();
-  const handleSetDefault = React.useCallback(() => {
-    track('Load preset');
-    dispatch.tokenState.setDefaultTokens();
-    onCancel();
-  }, [dispatch, onCancel]);
- 
-  return (
-    <Stack direction="column" gap={4}>
-      <Stack direction="column" gap={2}>
-        <Heading size="small">
-          Override your current tokens by applying a preset.
-        </Heading>
-        <Text>The preset contains a wide variety of tokens and some token sets to give you an idea of what you can do. Warning: This will override your tokens!</Text>
-      </Stack>
-      <Stack direction="row" gap={3} justify="end">
-        <Button variant="secondary" onClick={onCancel}>
-          Cancel
-        </Button>
-        <Button variant="primary" onClick={handleSetDefault}>
-          Load Preset
-        </Button>
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html deleted file mode 100644 index 3e86e1635..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/FilePreset.tsx.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - Code coverage report for src/app/components/PresetProvider/FilePreset.tsx - - - - - - - - - -
-
-

All files / src/app/components/PresetProvider FilePreset.tsx

-
- -
- 0% - Statements - 0/16 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import {
-  Button, Heading, Stack, Text,
-} from '@tokens-studio/ui';
-import { DeepTokensMap, ThemeObjectsList } from '@/types';
-import { SingleToken } from '@/types/tokens';
-import {
-  usedTokenSetSelector,
-  activeThemeSelector,
-} from '@/selectors';
-import useRemoteTokens from '../../store/remoteTokens';
-import { track } from '@/utils/analytics';
- 
-declare module 'react' {
-  interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
-    // extends React's HTMLAttributes
-    directory?: string;
-    webkitdirectory?: string;
-  }
-}
- 
-export type SingleFileObject = Record<string, (
-  Record<string, SingleToken<false> | DeepTokensMap<false>>
-)> & {
-  $themes?: ThemeObjectsList
-};
- 
-type Props = {
-  onCancel: () => void;
-};
- 
-export default function FilePreset({ onCancel }: Props) {
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const hiddenFileInput = React.useRef<HTMLInputElement>(null);
-  const hiddenDirectoryInput = React.useRef<HTMLInputElement>(null);
-  const { fetchTokensFromFileOrDirectory } = useRemoteTokens();
- 
-  const handleFileButtonClick = React.useCallback(() => {
-    track('Import', { type: 'file' });
-    hiddenFileInput.current?.click();
-  }, [hiddenFileInput]);
- 
-  const handleDirectoryButtonClick = React.useCallback(() => {
-    track('Import', { type: 'directory' });
-    hiddenDirectoryInput.current?.click();
-  }, [hiddenDirectoryInput]);
- 
-  const handleFileOrDirectoryChange = React.useCallback(async (event: React.ChangeEvent<HTMLInputElement>) => {
-    const { files } = event.target;
- 
-    await fetchTokensFromFileOrDirectory({ files, usedTokenSet, activeTheme });
-    onCancel();
-  }, [fetchTokensFromFileOrDirectory, onCancel, activeTheme, usedTokenSet]);
- 
-  return (
-    <Stack direction="column" gap={4}>
-      <Stack direction="column" gap={2}>
-        <Heading size="small">
-          Import your existing tokens JSON files into the plugin.
-        </Heading>
-        <Text>
-          If you&lsquo;re using a single file, the first-level keys should be the token set names. If you&lsquo;re using multiple files, the file name / path are the set names.
-        </Text>
-      </Stack>
-      <Stack direction="row" gap={3} justify="end">
-        <Button variant="secondary" onClick={onCancel}>
-          Cancel
-        </Button>
-        <Button variant="primary" onClick={handleFileButtonClick}>
-          Choose file
-        </Button>
-        <input
-          type="file"
-          ref={hiddenFileInput}
-          style={{ display: 'none' }}
-          onChange={handleFileOrDirectoryChange}
-          accept=".json"
-        />
-        <Button variant="primary" onClick={handleDirectoryButtonClick}>
-          Choose folder
-        </Button>
-        <input
-          type="file"
-          ref={hiddenDirectoryInput}
-          style={{ display: 'none' }}
-          onChange={handleFileOrDirectoryChange}
-          webkitdirectory=""
-        />
-      </Stack>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html deleted file mode 100644 index 64aac8883..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PresetProvider/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/PresetProvider - - - - - - - - - -
-
-

All files src/app/components/PresetProvider

-
- -
- 0% - Statements - 0/22 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
DefaultPreset.tsx -
-
0%0/6100%0/00%0/20%0/6
FilePreset.tsx -
-
0%0/16100%0/00%0/40%0/16
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html deleted file mode 100644 index 722ea5814..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ProBadge.tsx.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for src/app/components/ProBadge.tsx - - - - - - - - - -
-
-

All files / src/app/components ProBadge.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { styled } from '@/stitches.config';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
- 
-export const StyledProBadge = styled('a', {
-  display: 'inline-flex',
-  alignItems: 'center',
-  justifyContent: 'center',
-  fontSize: '$xxsmall',
-  padding: '$2',
-  borderRadius: '$medium',
-  backgroundColor: '$proBg',
-  lineHeight: 1,
-  color: '$proFg',
-  fontWeight: '$sansBold',
-  textTransform: 'uppercase',
-  border: '1px solid transparent',
- 
-  '&:hover, &:focus': {
-    borderColor: '$proBorder',
-  },
-});
- 
-type Props = {
-  readonly compact?: boolean;
-  readonly campaign: string;
-};
- 
-export default function ProBadge({ compact, campaign }: Props) {
-  const isProUser = useIsProUser();
-  const { t } = useTranslation(['licence']);
- 
-  const link = `https://tokens.studio/pro?ref=figma-plugin&utm_source=figma-plugin&utm_medium=pro-badge&utm_campaign=${campaign}`;
- 
-  return (
-    <StyledProBadge href={link} target="_blank">
-      {isProUser || compact ? t('pro') : t('getPro')}
-    </StyledProBadge>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html deleted file mode 100644 index fbe84b735..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PullDialog.tsx.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - Code coverage report for src/app/components/PullDialog.tsx - - - - - - - - - -
-
-

All files / src/app/components PullDialog.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Heading, Spinner, Stack,
-} from '@tokens-studio/ui';
-import { storageTypeSelector } from '@/selectors';
-import usePullDialog from '../hooks/usePullDialog';
-import Modal from './Modal';
- 
-import { transformProviderName } from '@/utils/transformProviderName';
-import ChangedStateList from './ChangedStateList';
- 
-function PullDialog() {
-  const { onConfirm, onCancel, pullDialogMode } = usePullDialog();
-  const storageType = useSelector(storageTypeSelector);
- 
-  const { t } = useTranslation(['sync']);
- 
-  const handleOverrideClick = React.useCallback(() => {
-    onConfirm();
-  }, [onConfirm]);
- 
-  const handleClose = React.useCallback(() => {
-    onCancel();
-  }, [onCancel]);
- 
-  switch (pullDialogMode) {
-    case 'initial': {
-      return (
-        <Modal
-          title={t('pullFrom', { provider: transformProviderName(storageType.provider) })}
-          showClose
-          full
-          size="large"
-          isOpen
-          close={onCancel}
-          stickyFooter
-          footer={(
-            <Stack direction="row" gap={4} justify="between">
-              <Button variant="secondary" id="pullDialog-button-close" onClick={handleClose}>
-                {t('cancel')}
-              </Button>
-              <Button variant="primary" id="pullDialog-button-override" onClick={handleOverrideClick}>
-                {t('pullTokens')}
-              </Button>
-            </Stack>
-          )}
-        >
-          <Stack direction="row" gap={2} css={{ padding: '$4', paddingBottom: 0 }}>
-            {t('override')}
-          </Stack>
-          <ChangedStateList type="pull" />
-        </Modal>
-      );
-    }
-    case 'loading': {
-      return (
-        <Modal isOpen close={onCancel}>
-          <Stack direction="column" gap={4} justify="center" align="center" css={{ padding: '$4 0' }}>
-            <Spinner />
-            <Heading size="medium">{t('pullFrom', { provider: transformProviderName(storageType.provider) })}</Heading>
-          </Stack>
-        </Modal>
-      );
-    }
-    default: {
-      return null;
-    }
-  }
-}
-export default PullDialog;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html deleted file mode 100644 index 696f9861d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialog.tsx.html +++ /dev/null @@ -1,805 +0,0 @@ - - - - - - Code coverage report for src/app/components/PushDialog.tsx - - - - - - - - - -
-
-

All files / src/app/components PushDialog.tsx

-
- -
- 0% - Statements - 0/46 -
- - -
- 0% - Branches - 0/76 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/45 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { useSelector } from 'react-redux';
-import {
-  Button, Heading, Spinner, Stack, Text, ToggleGroup,
-} from '@tokens-studio/ui';
-import { localApiStateSelector, storageTypeSelector } from '@/selectors';
-import usePushDialog from '../hooks/usePushDialog';
-import { getBitbucketCreatePullRequestUrl } from '../store/providers/bitbucket';
-import { getGithubCreatePullRequestUrl } from '../store/providers/github';
-import { getGitlabCreatePullRequestUrl } from '../store/providers/gitlab';
-import { getADOCreatePullRequestUrl } from '../store/providers/ado';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { isGitProvider } from '@/utils/is';
-import { useShortcut } from '@/hooks/useShortcut';
-import { transformProviderName } from '@/utils/transformProviderName';
-import ChangedStateList from './ChangedStateList';
-import PushJSON from './PushJSON';
-import PushSettingForm from './PushSettingForm';
-import { getSupernovaOpenCloud } from '../store/providers/supernova/getSupernovaOpenCloud';
-import Modal from './Modal';
- 
-export enum PushDialogTabs {
-  COMMIT = 'commit',
-  DIFF = 'diff',
-  JSON = 'json',
-}
- 
-function PushDialog() {
-  const { onConfirm, onCancel, showPushDialog } = usePushDialog();
-  const { t } = useTranslation(['sync']);
-  const localApiState = useSelector(localApiStateSelector);
-  const storageType = useSelector(storageTypeSelector);
-  const [commitMessage, setCommitMessage] = React.useState('');
-  const [branch, setBranch] = React.useState((isGitProvider(localApiState) ? localApiState.branch : '') || '');
-  const [activeTab, setActiveTab] = React.useState(PushDialogTabs.COMMIT);
- 
-  const handleToggleValueChange = React.useCallback((value: PushDialogTabs) => {
-    if (value) setActiveTab(value);
-  }, []);
- 
-  const redirectHref = React.useMemo(() => {
-    let redirectHref = '';
-    if (localApiState && 'id' in localApiState && localApiState.id) {
-      switch (localApiState.provider) {
-        case StorageProviderType.GITHUB:
-          redirectHref = getGithubCreatePullRequestUrl({
-            base: localApiState.baseUrl,
-            repo: localApiState.id,
-            branch,
-          });
-          break;
-        case StorageProviderType.BITBUCKET:
-          redirectHref = getBitbucketCreatePullRequestUrl({
-            base: localApiState.baseUrl,
-            repo: localApiState.id,
-            branch,
-          });
-          break;
-        case StorageProviderType.GITLAB: {
-          redirectHref = getGitlabCreatePullRequestUrl(localApiState.id, localApiState.baseUrl);
-          break;
-        }
-        case StorageProviderType.ADO:
-          redirectHref = getADOCreatePullRequestUrl({
-            branch,
-            projectId: localApiState.name,
-            orgUrl: localApiState.baseUrl,
-            repositoryId: localApiState.id,
-          });
-          break;
-        default:
-          break;
-      }
-    } else if (localApiState.provider === StorageProviderType.SUPERNOVA) {
-      redirectHref = getSupernovaOpenCloud(localApiState.designSystemUrl);
-    }
-    return redirectHref;
-  }, [branch, localApiState]);
- 
-  const handleCommitMessageChange = React.useCallback(
-    (val: string) => {
-      setCommitMessage(val);
-    },
-    [setCommitMessage],
-  );
- 
-  const handleBranchChange = React.useCallback(
-    (event: React.ChangeEvent<HTMLInputElement>) => {
-      setBranch(event.target.value);
-    },
-    [setBranch],
-  );
- 
-  React.useEffect(() => {
-    if (showPushDialog?.state === 'initial' && isGitProvider(localApiState)) {
-      setCommitMessage(showPushDialog?.overrides?.commitMessage ?? '');
-      setBranch(showPushDialog?.overrides?.branch ?? localApiState.branch ?? '');
-    }
-  }, [showPushDialog, localApiState]);
- 
-  const handlePushChanges = React.useCallback(() => {
-    if (localApiState.provider === StorageProviderType.SUPERNOVA || (commitMessage && branch)) {
-      onConfirm(commitMessage, branch);
-    }
-  }, [branch, commitMessage, onConfirm, localApiState]);
- 
-  const handleSaveShortcut = React.useCallback(
-    (event: KeyboardEvent) => {
-      if (showPushDialog?.state === 'initial' && (event.metaKey || event.ctrlKey)) {
-        handlePushChanges();
-      }
-    },
-    [handlePushChanges, showPushDialog],
-  );
- 
-  useShortcut(['Enter'], handleSaveShortcut);
- 
-  switch (showPushDialog?.state) {
-    case 'dtcgconversion':
-    case 'initial': {
-      return (
-        <Modal
-          full
-          title={t('pushTo', { provider: transformProviderName(storageType.provider) })}
-          showClose
-          isOpen
-          close={onCancel}
-          stickyFooter
-          footer={(
-            <Stack direction="row" justify="end" gap={4}>
-              <Button variant="secondary" data-testid="push-dialog-button-close" onClick={onCancel}>
-                {t('cancel')}
-              </Button>
-              <Button
-                variant="primary"
-                data-testid="push-dialog-button-push-changes"
-                disabled={localApiState.provider !== StorageProviderType.SUPERNOVA && (!commitMessage || !branch)}
-                onClick={handlePushChanges}
-              >
-                {t('pushChanges')}
-              </Button>
-            </Stack>
-          )}
-        >
-          <Stack direction="column" align="start">
-            <ToggleGroup type="single" value={activeTab} onValueChange={handleToggleValueChange} css={{ marginLeft: '$3', marginTop: '$3' }}>
-              <ToggleGroup.Item iconOnly={false} value={PushDialogTabs.COMMIT}>
-                {t('commit')}
-              </ToggleGroup.Item>
-              <ToggleGroup.Item iconOnly={false} value={PushDialogTabs.DIFF}>
-                {t('diff')}
-              </ToggleGroup.Item>
-              <ToggleGroup.Item iconOnly={false} value={PushDialogTabs.JSON}>
-                JSON
-              </ToggleGroup.Item>
-            </ToggleGroup>
-            {activeTab !== 'commit' && localApiState.provider === StorageProviderType.SUPERNOVA && (
-              <Stack direction="row" gap={2} align="center" css={{ display: 'inline', padding: '$4' }}>
-                {t('thisWillPushYourLocalChangesToTheBranch')}
-                {' '}
-                <Text
-                  bold
-                  css={{
-                    display: 'inline',
-                    whiteSpace: 'nowrap',
-                    background: '$bgSubtle',
-                    padding: '$2',
-                  }}
-                >
-                  {branch}
-                </Text>
-              </Stack>
-            )}
-            {activeTab === 'commit' && (
-              <PushSettingForm
-                commitMessage={commitMessage}
-                branch={branch}
-                handleBranchChange={handleBranchChange}
-                handleCommitMessageChange={handleCommitMessageChange}
-              />
-            )}
-            {activeTab === 'diff' && <ChangedStateList type="push" />}
-            {activeTab === 'json' && <PushJSON />}
-          </Stack>
-        </Modal>
-      );
-    }
-    case 'loading': {
-      return (
-        <Modal isOpen close={onCancel}>
-          <Stack direction="column" gap={4} justify="center" align="center" css={{ padding: '$4 0' }}>
-            <Spinner />
-            <Heading size="medium">
-              {t('pushingTo')}
-              {localApiState.provider === StorageProviderType.GITHUB && ' GitHub'}
-              {localApiState.provider === StorageProviderType.GITLAB && ' GitLab'}
-              {localApiState.provider === StorageProviderType.BITBUCKET && ' Bitbucket'}
-              {localApiState.provider === StorageProviderType.ADO && ' ADO'}
-              {localApiState.provider === StorageProviderType.SUPERNOVA && ' Supernova.io'}
-            </Heading>
-          </Stack>
-        </Modal>
-      );
-    }
-    case 'success': {
-      return (
-        <Modal isOpen close={onCancel}>
-          <Stack direction="column" align="center" gap={6} css={{ textAlign: 'center', padding: '$4 0' }}>
-            <Stack direction="column" gap={4}>
-              <Heading data-testid="push-dialog-success-heading" size="medium">
-                All done!
-              </Heading>
-              <Text size="small">
-                {t('changesPushedTo')}
-                {localApiState.provider === StorageProviderType.GITHUB && ' GitHub'}
-                {localApiState.provider === StorageProviderType.GITLAB && ' GitLab'}
-                {localApiState.provider === StorageProviderType.BITBUCKET && ' Bitbucket'}
-                {localApiState.provider === StorageProviderType.ADO && ' ADO'}
-                {localApiState.provider === StorageProviderType.SUPERNOVA && ' Supernova.io'}
-              </Text>
-            </Stack>
-            {/* @ts-ignore Exception for Button to accept target */}
-            <Button as="a" target="_blank" rel="noopener noreferrer" variant="primary" href={redirectHref}>
-              {localApiState.provider === StorageProviderType.SUPERNOVA ? (
-                <>{t('openSupernovaWorkspace')}</>
-              ) : (
-                <>{t('createPullRequest')}</>
-              )}
-            </Button>
-          </Stack>
-        </Modal>
-      );
-    }
-    default: {
-      return null;
-    }
-  }
-}
-export default PushDialog;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html deleted file mode 100644 index 99ba93000..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushDialogSupernovaConfirm.tsx.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/app/components/PushDialogSupernovaConfirm.tsx - - - - - - - - - -
-
-

All files / src/app/components PushDialogSupernovaConfirm.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { Heading } from '@tokens-studio/ui';
-import Box from './Box';
-import Text from './Text';
-import Stack from './Stack';
- 
-type Props = {
-  designSystemUrl: string | undefined;
-};
- 
-function PushDialogSupernovaConfirm({ designSystemUrl }: Props) {
-  const { t } = useTranslation(['sync']);
- 
-  return (
-    <Stack direction="column" gap={3} css={{ padding: '0 $4' }}>
-      <Text size="small">{t('pushYourLocalChangesToYourSupernovaIoDesignSystem')}</Text>
-      <Heading size="small">{t('designSystem')}</Heading>
-      <Box
-        css={{
-          padding: '$2',
-          fontFamily: '$mono',
-          color: '$fgMuted',
-          background: '$bgSubtle',
-          borderRadius: '$medium',
-        }}
-      >
-        {designSystemUrl || t('designSystem')}
-      </Box>
-    </Stack>
-  );
-}
-export default PushDialogSupernovaConfirm;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html deleted file mode 100644 index e5b6410fc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushJSON.tsx.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - Code coverage report for src/app/components/PushJSON.tsx - - - - - - - - - -
-
-

All files / src/app/components PushJSON.tsx

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/21 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import Stack from './Stack';
-import ChangeStateListingHeading from './ChangeStateListingHeading';
-import { storeTokenIdInJsonEditorSelector, themesListSelector, tokensSelector } from '@/selectors';
-import stringifyTokens from '@/utils/stringifyTokens';
-import { styled } from '@/stitches.config';
- 
-const StyledJSONContent = styled('pre', {
-  padding: '$2 0',
-  whiteSpace: 'pre-wrap',
-  overflow: 'hiden',
-});
- 
-function PushJSON() {
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const [collapsed, setCollapsed] = React.useState(false);
-  const [collapsedChangedStateList, setCollapsedChangedStateList] = React.useState<Array<string>>([]);
- 
-  const handleSetIntCollapsed = React.useCallback((e: React.MouseEvent<HTMLButtonElement>, tokenSet: string) => {
-    e.stopPropagation();
-    if (e.altKey) {
-      if (collapsed) {
-        setCollapsedChangedStateList([]);
-      } else {
-        const collapsedStateSetList = [...Object.keys(tokens), '$themes', '$metadata'];
-        setCollapsedChangedStateList(collapsedStateSetList);
-      }
-      setCollapsed(!collapsed);
-    } else if (collapsedChangedStateList.includes(tokenSet)) {
-      setCollapsedChangedStateList(collapsedChangedStateList.filter((item) => item !== tokenSet));
-    } else {
-      setCollapsedChangedStateList([...collapsedChangedStateList, tokenSet]);
-    }
-  }, [collapsedChangedStateList, tokens, collapsed]);
- 
-  return (
-    <Stack
-      direction="column"
-      gap={1}
-      css={{ padding: '$4' }}
-    >
-      {Object.entries(tokens).length > 0 && Object.entries(tokens)?.map(([tokenSet, tokenList]) => (
-        tokenList.length > 0 && (
-          <>
-            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set={tokenSet} label={tokenSet} isCollapsed={collapsedChangedStateList.includes(tokenSet)} />
-            {!collapsedChangedStateList.includes(tokenSet) && tokenList && (
-            <StyledJSONContent>
-              {stringifyTokens(tokens, tokenSet, storeTokenIdInJsonEditor)}
-            </StyledJSONContent>
-            )}
-          </>
-        )
-      ))}
-      {
-        themes.length > 0 && (
-          <>
-            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$themes" label="$themes" isCollapsed={collapsedChangedStateList.includes('$themes')} />
-            {!collapsedChangedStateList.includes('$themes') && (
-            <StyledJSONContent>
-              {JSON.stringify(themes, null, 2)}
-              {' '}
-            </StyledJSONContent>
-            )}
-          </>
-        )
-      }
-      {
-        Object.keys(tokens).length > 0 && (
-          <>
-            <ChangeStateListingHeading onCollapse={handleSetIntCollapsed} set="$metadata" label="$metadata" isCollapsed={collapsedChangedStateList.includes('$metadata')} />
-            {!collapsedChangedStateList.includes('$metadata') && (
-            <StyledJSONContent>
-              {JSON.stringify(Object.keys(tokens), null, 2)}
-            </StyledJSONContent>
-            )}
-          </>
-        )
-      }
-    </Stack>
-  );
-}
- 
-export default PushJSON;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html deleted file mode 100644 index 1af52fbda..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/PushSettingForm.tsx.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for src/app/components/PushSettingForm.tsx - - - - - - - - - -
-
-

All files / src/app/components PushSettingForm.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Heading, Textarea, Stack, Box, Text, TextInput, FormField, Label,
-} from '@tokens-studio/ui';
-import { localApiStateSelector } from '@/selectors';
- 
-import PushDialogSupernovaConfirm from './PushDialogSupernovaConfirm';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-type Props = {
-  commitMessage: string,
-  branch: string,
-  handleCommitMessageChange: (val: string) => void,
-  handleBranchChange: (event: React.ChangeEvent<HTMLInputElement>) => void
-};
- 
-function PushSettingForm({
-  commitMessage, branch, handleCommitMessageChange, handleBranchChange,
-}: Props) {
-  const localApiState = useSelector(localApiStateSelector);
- 
-  const handleMessageChange = useCallback((value: string) => {
-    handleCommitMessageChange(value);
-  }, [handleCommitMessageChange]);
- 
-  const { t } = useTranslation(['sync']);
- 
-  return localApiState.provider === StorageProviderType.SUPERNOVA ? <PushDialogSupernovaConfirm designSystemUrl={localApiState.designSystemUrl} /> : (
-    <Stack direction="column" gap={3} css={{ padding: '$4', width: '100%' }}>
-      <Text size="small">{t('pushYourLocalChangesToYourRepository')}</Text>
-      <Box css={{
-        padding: '$2', fontFamily: '$mono', color: '$fgMuted', background: '$bgSubtle', borderRadius: '$medium',
-      }}
-      >
-        {'id' in localApiState ? localApiState.id : null}
-      </Box>
-      <Heading size="small">{t('commitMessage')}</Heading>
-      <Textarea
-        data-testid="push-dialog-commit-message"
-        rows={3}
-        value={commitMessage}
-        onChange={handleMessageChange}
-        placeholder="Enter commit message"
-      />
-      <FormField>
-        <Label htmlFor="branch">{t('branch')}</Label>
-        <TextInput
-          value={branch}
-          onChange={handleBranchChange}
-          type="text"
-          name="branch"
-          id="branch"
-          required
-        />
-      </FormField>
-    </Stack>
-  );
-}
- 
-export default PushSettingForm;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html deleted file mode 100644 index d6da84815..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/RemConfiguration.tsx.html +++ /dev/null @@ -1,577 +0,0 @@ - - - - - - Code coverage report for src/app/components/RemConfiguration.tsx - - - - - - - - - -
-
-

All files / src/app/components RemConfiguration.tsx

-
- -
- 0% - Statements - 0/37 -
- - -
- 0% - Branches - 0/26 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/35 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable jsx-a11y/label-has-associated-control */
-import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { useDispatch, useSelector } from 'react-redux';
-import {
-  Box, Button, Label, Stack, Text,
-} from '@tokens-studio/ui';
-import remConfigurationImage from '@/app/assets/hints/remConfiguration.png';
-import IconBrokenLink from '@/icons/brokenlink.svg';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { mergeTokenGroups } from '@/utils/tokenHelpers';
-import { Dispatch } from '../store';
-import {
-  tokensSelector, usedTokenSetSelector, activeTokenSetSelector, aliasBaseFontSizeSelector,
-} from '@/selectors';
-import DownshiftInput from './DownshiftInput';
-import { getAliasValue } from '@/utils/alias';
-import { defaultTokenResolver } from '@/utils/TokenResolver';
-import Modal from './Modal';
-import { ExplainerModal } from './ExplainerModal';
- 
-const RemConfiguration = () => {
-  const aliasBaseFontSize = useSelector(aliasBaseFontSizeSelector);
-  const tokens = useSelector(tokensSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const { t } = useTranslation(['settings']);
-  const [modalVisible, setModalVisible] = React.useState(false);
-  const [isBrokenLink, setIsBrokenLink] = React.useState<boolean>(false);
- 
-  const toggleModalVisible = React.useCallback(() => setModalVisible((prev) => !prev), []);
- 
-  const resolvedTokens = React.useMemo(
-    () => defaultTokenResolver.setTokens(
-      mergeTokenGroups(tokens, usedTokenSet, {}, activeTokenSet),
-    ),
-    [tokens, usedTokenSet, activeTokenSet],
-  );
- 
-  const displayBaseFontValue = React.useMemo(() => {
-    const resolvedAliasBaseFontSize = getAliasValue(aliasBaseFontSize, resolvedTokens);
-    let formattedpxValue = 16;
-    if (typeof resolvedAliasBaseFontSize === 'string' || typeof resolvedAliasBaseFontSize === 'number') {
-      const resolvedAliasBaseFontSizeValue = typeof resolvedAliasBaseFontSize === 'number'
-        ? resolvedAliasBaseFontSize
-        : parseFloat(resolvedAliasBaseFontSize);
-      if (isNaN(resolvedAliasBaseFontSizeValue)) {
-        formattedpxValue = 16;
-        setIsBrokenLink(true);
-      } else {
-        formattedpxValue = Number(resolvedAliasBaseFontSizeValue.toFixed(2));
-        setIsBrokenLink(false);
-      }
-      return `1rem = ${formattedpxValue}px`;
-    }
-    return '1rem = 16px';
-  }, [aliasBaseFontSize, resolvedTokens]);
- 
-  const handleBaseFontSizeChange = React.useCallback(
-    (property: string, value: string) => {
-      dispatch.settings.setAliasBaseFontSize(value);
-      const resolvedValue = getAliasValue(value, resolvedTokens);
-      if (typeof resolvedValue === 'string' || typeof resolvedValue === 'number') {
-        dispatch.settings.setBaseFontSize(String(resolvedValue));
-      }
-    },
-    [dispatch.settings, resolvedTokens],
-  );
- 
-  const handleDownShiftInputChange = React.useCallback(
-    (newInputValue: string) => {
-      dispatch.settings.setAliasBaseFontSize(newInputValue);
-      const resolvedValue = getAliasValue(newInputValue, resolvedTokens);
-      if (typeof resolvedValue === 'string' || typeof resolvedValue === 'number') {
-        dispatch.settings.setBaseFontSize(String(resolvedValue));
-      }
-    },
-    [dispatch.settings, resolvedTokens],
-  );
- 
-  return (
-    <Stack direction="row" align="center" justify="between" css={{ width: '100%' }}>
-      <Stack direction="column" align="start" gap={1}>
-        <Stack direction="row" align="center" gap={1}>
-          <Label>{t('baseFont')}</Label>
-          <ExplainerModal title={displayBaseFontValue}>
-            <Box as="img" src={remConfigurationImage} css={{ borderRadius: '$small' }} />
-            <Box>{t('baseFontExplanation')}</Box>
-          </ExplainerModal>
-        </Stack>
-        <Stack direction="row" align="center" gap={1}>
-          {aliasBaseFontSize.startsWith('{') && (
-            <Box
-              css={{
-                borderRadius: '$small',
-                display: 'flex',
-                alignItems: 'center',
-                backgroundColor: isBrokenLink ? '$dangerBg' : '$accentBg',
-                padding: '$2',
-              }}
-            >
-              <Label css={{ fontSize: '$small', color: isBrokenLink ? '$dangerFg' : '$accentDefault' }}>
-                {aliasBaseFontSize}
-              </Label>
-              {isBrokenLink && (
-                <IconBrokenLink
-                  style={{
-                    color: 'var(--colors-dangerFg)', width: 'var(--sizes-6)', height: 'var(--sizes-6)', marginLeft: '3px',
-                  }}
-                />
-              )}
-            </Box>
-          )}
-          <Label
-            css={{
-              fontSize: '$xsmall',
-              color: '$fgMuted',
-              marginLeft: aliasBaseFontSize.startsWith('{') ? '$3' : '',
-            }}
-          >
-            {displayBaseFontValue}
-          </Label>
-        </Stack>
-      </Stack>
- 
-      <Button onClick={toggleModalVisible} variant="secondary">
-        {t('change')}
-      </Button>
- 
-      <Modal
-        isOpen={modalVisible}
-        close={toggleModalVisible}
-        title={displayBaseFontValue}
-        showClose
-        modal={false}
-        footer={(
-          <Stack direction="row" justify="end">
-            <Button onClick={toggleModalVisible} variant="primary">
-              {t('confirm')}
-            </Button>
-          </Stack>
-        )}
-      >
-        <Stack direction="column" gap={3} css={{ padding: '$4' }}>
-          <Text muted>{t('baseFontExplanation')}</Text>
-          <Label>{t('chooseANewToken')}</Label>
-          <Box css={{ position: 'relative' }}>
-            <DownshiftInput
-              value={aliasBaseFontSize}
-              type={TokenTypes.FONT_SIZES}
-              resolvedTokens={resolvedTokens}
-              handleChange={handleBaseFontSizeChange}
-              setInputValue={handleDownShiftInputChange}
-              suffix
-            />
-          </Box>
-        </Stack>
-      </Modal>
-    </Stack>
-  );
-};
- 
-export default RemConfiguration;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html deleted file mode 100644 index 993fbbba5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedBorderValueDisplay.tsx.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvedBorderValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components ResolvedBorderValueDisplay.tsx

-
- -
- 0% - Statements - 0/9 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { useUIDSeed } from 'react-uid';
-import { SingleBorderToken } from '@/types/tokens';
-import { styled } from '@/stitches.config';
-import Box from './Box';
- 
-type Props = {
-  value: SingleBorderToken['value']
-};
- 
-const StyledPropertyItem = styled('div', {
-  color: '$fgMuted',
-  marginBottom: '$2',
-});
- 
-const StyledValueItem = styled('div', {
-  marginBottom: '$2',
-});
- 
-export const ResolvedBorderValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value }) => {
-  const seed = useUIDSeed();
-  const { t } = useTranslation(['tokens']);
-  const properties = {
-    color: t('border.color'),
-    width: t('border.width'),
-    style: t('border.style'),
-  };
- 
-  return (
-    <Box css={{
-      display: 'flex', backgroundColor: '$bgSubtle', padding: '$4', fontSize: '$xsmall',
-    }}
-    >
-      <Box css={{ display: 'grid', marginRight: '$6' }}>
-        {Object.values(properties).map((v) => (
-          <StyledPropertyItem key={seed(v)}>{v}</StyledPropertyItem>
-        ))}
- 
-      </Box>
-      <Box>
-        {Object.keys(properties).map((key) => (
-          <StyledValueItem key={seed(key)}>
-            {value[key as keyof typeof value]}
-            &nbsp;
-          </StyledValueItem>
-        ))}
-      </Box>
-    </Box>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html deleted file mode 100644 index a59aed84c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedShadowValueDisplay.tsx.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvedShadowValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components ResolvedShadowValueDisplay.tsx

-
- -
- 0% - Statements - 0/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useUIDSeed } from 'react-uid';
-import Box from './Box';
-import { styled } from '@/stitches.config';
-import { TokenBoxshadowValue } from '@/types/values';
- 
-type Props = {
-  shadows: TokenBoxshadowValue[];
-};
- 
-const StyledIndexItem = styled('div', {
-  color: '$fgMuted',
-  marginBottom: '$2',
-});
- 
-const StyledValueItem = styled('div', {
-  marginBottom: '$2',
-});
- 
-export const ResolvedShadowValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ shadows }) => {
-  const seed = useUIDSeed();
- 
-  return (
-    <Box css={{
-      display: 'flex', backgroundColor: '$bgSubtle', padding: '$4', fontSize: '$xsmall',
-    }}
-    >
-      <Box css={{ display: 'grid', marginRight: '$9' }}>
-        {shadows.map((shadow, index) => (
-          <StyledIndexItem key={seed(shadow)}>{index + 1}</StyledIndexItem>
-        ))}
-      </Box>
- 
-      <Box css={{ display: 'grid', marginLeft: '$6' }}>
-        {shadows.map((shadow) => (
-          <StyledValueItem key={seed(shadow)}>
-            {shadow.x}
-            {' '}
-            {shadow.y}
-            {' '}
-            {shadow.blur}
-            {' '}
-            {shadow.spread}
-            {' '}
-            {shadow.color}
-          </StyledValueItem>
-        ))}
-      </Box>
-    </Box>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html deleted file mode 100644 index 3822c0e3c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTokenDisplay.tsx.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvedTokenDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components ResolvedTokenDisplay.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { isSingleBorderToken, isSingleBoxShadowToken, isSingleTypographyToken } from '@/utils/is';
-import { SingleBorderToken, SingleTypographyToken } from '@/types/tokens';
-import Box from './Box';
-import { ResolvedShadowValueDisplay } from './ResolvedShadowValueDisplay';
-import { ResolvedTypographyValueDisplay } from './ResolvedTypographyValueDisplay';
-import { TokenBoxshadowValue } from '@/types/values';
-import { ResolvedBorderValueDisplay } from './ResolvedBorderValueDisplay';
- 
-export default function ResolvedTokenDisplay({
-  alias,
-  selectedToken,
-}: {
-  alias: string;
-  selectedToken: ResolveTokenValuesResult | null;
-}) {
-  const valueToCheck = React.useMemo(() => (
-    (selectedToken ? selectedToken?.value : alias)
-  ), [selectedToken, alias]);
- 
-  if (selectedToken && isSingleTypographyToken(selectedToken)) {
-    return (
-      <ResolvedTypographyValueDisplay
-        value={valueToCheck as SingleTypographyToken['value']}
-      />
-    );
-  }
- 
-  if (selectedToken && isSingleBoxShadowToken(selectedToken)) {
-    if (Array.isArray(valueToCheck)) return <ResolvedShadowValueDisplay shadows={valueToCheck as TokenBoxshadowValue[]} />;
-    return <ResolvedShadowValueDisplay shadows={[valueToCheck as TokenBoxshadowValue]} />;
-  }
- 
-  if (selectedToken && isSingleBorderToken(selectedToken)) {
-    return (
-      <ResolvedBorderValueDisplay
-        value={valueToCheck as SingleBorderToken['value']}
-      />
-    );
-  }
- 
-  if (typeof valueToCheck !== 'string' && typeof valueToCheck !== 'number') {
-    return <div>{JSON.stringify(valueToCheck, null, 2)}</div>;
-  }
- 
-  return (
-    <Box css={{ display: 'flex', flexDirection: 'column', gap: '$2' }}>
-      {valueToCheck}
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html deleted file mode 100644 index c1c6966d8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvedTypographyValueDisplay.tsx.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvedTypographyValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components ResolvedTypographyValueDisplay.tsx

-
- -
- 0% - Statements - 0/9 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { useUIDSeed } from 'react-uid';
-import { SingleTypographyToken } from '@/types/tokens';
-import { styled } from '@/stitches.config';
-import Box from './Box';
- 
-type Props = {
-  value: SingleTypographyToken['value']
-};
- 
-const StyledPropertyItem = styled('div', {
-  color: '$fgMuted',
-  marginBottom: '$2',
-});
- 
-const StyledValueItem = styled('div', {
-  marginBottom: '$2',
-});
- 
-export const ResolvedTypographyValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value }) => {
-  const seed = useUIDSeed();
- 
-  const { t } = useTranslation(['tokens']);
- 
-  const properties = {
-    fontFamily: t('font.fontFamily'),
-    fontWeight: t('font.fontWeight'),
-    fontSize: t('font.fontSize'),
-    lineHeight: t('font.lineHeight'),
-    letterSpacing: t('font.letterSpacing'),
-    paragraphSpacing: t('font.paragraphSpacing'),
-    paragraphIndent: t('font.paragraphIndent'),
-    textDecoration: t('font.textDecoration'),
-    textCase: t('font.textCase'),
-  };
- 
-  return (
-    <Box css={{
-      display: 'flex', backgroundColor: '$bgSubtle', padding: '$4', fontSize: '$xsmall',
-    }}
-    >
-      <Box css={{ display: 'grid', marginRight: '$6' }}>
-        {Object.values(properties).map((value) => (
-          <StyledPropertyItem key={seed(value)}>{value}</StyledPropertyItem>
-        ))}
- 
-      </Box>
-      <Box>
-        {Object.keys(properties).map((key) => (
-          <StyledValueItem key={seed(key)}>
-            {value[key as keyof typeof value]}
-            &nbsp;
-          </StyledValueItem>
-        ))}
-      </Box>
-    </Box>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html deleted file mode 100644 index ebf67a343..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/ResolvingLoader.tsx.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvingLoader/ResolvingLoader.tsx - - - - - - - - - -
-
-

All files / src/app/components/ResolvingLoader ResolvingLoader.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { keyframes, styled } from '@/stitches.config';
-import Box from '../Box';
-import { Flex } from '../Flex';
- 
-const bounceUpDown = keyframes({
-  '0%': { transform: 'translateY(-20%)' },
-  '50%': { transform: 'translateY(20%)' },
-  '100%': { transform: 'translateY(-20%)' },
-});
- 
-const StyledResolvingLoaderBubble = styled('div', {
-  width: '4px',
-  height: '4px',
-  borderRadius: '$full',
-  background: '$fgMuted',
-  animation: `${bounceUpDown} 1000ms 0ms infinite linear`,
-});
- 
-export const ResolvingLoader: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => (
-  <Flex>
-    <Box
-      css={{
-        display: 'grid',
-        padding: '$3',
-        gap: '$2',
-        borderRadius: '$small',
-        background: '$bgSubtle',
-        gridTemplateColumns: 'repeat(3, 1fr)',
-      }}
-    >
-      <StyledResolvingLoaderBubble />
-      <StyledResolvingLoaderBubble css={{ animationDelay: '300ms' }} />
-      <StyledResolvingLoaderBubble css={{ animationDelay: '600ms' }} />
-    </Box>
-  </Flex>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html deleted file mode 100644 index 6da0c923c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvingLoader - - - - - - - - - -
-
-

All files src/app/components/ResolvingLoader

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ResolvingLoader.tsx -
-
0%0/4100%0/00%0/10%0/4
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html deleted file mode 100644 index 674611d19..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ResolvingLoader/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/ResolvingLoader/index.ts - - - - - - - - - -
-
-

All files / src/app/components/ResolvingLoader index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { ResolvingLoader } from './ResolvingLoader';
- 
-export default ResolvingLoader;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html deleted file mode 100644 index 5c9b1f89c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/components/SecondScreen - - - - - - - - - -
-
-

All files src/app/components/SecondScreen

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/180%0/220%0/30%0/18
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html deleted file mode 100644 index da54f7343..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreen/index.tsx.html +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - Code coverage report for src/app/components/SecondScreen/index.tsx - - - - - - - - - -
-
-

All files / src/app/components/SecondScreen index.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import {
-  Link1Icon, LinkBreak1Icon, EnterIcon, ExitIcon, ExternalLinkIcon,
-} from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import {
-  Box, Stack, Button, Heading, Switch,
-} from '@tokens-studio/ui';
-import { useAuth } from '@/context/AuthContext';
-import { secondScreenSelector } from '@/selectors/secondScreenSelector';
-import { Dispatch } from '@/app/store';
-import { styled } from '@/stitches.config';
-import { track } from '@/utils/analytics';
-import { Divider } from '../Divider';
- 
-export const StyledBetaBadge = styled('span', {
-  display: 'inline-flex',
-  alignItems: 'center',
-  justifyContent: 'center',
-  fontSize: '$xxsmall',
-  padding: '$2',
-  borderRadius: '$medium',
-  backgroundColor: '$accentBg',
-  lineHeight: 1,
-  color: '$fgDefault',
-  fontWeight: '$sansBold',
-  textTransform: 'uppercase',
-  border: '1px solid transparent',
-});
- 
-const StyledP = styled('p', {
-  fontWeight: '$sansRegular',
-  color: '$fgDefault',
-  fontSize: '$xsmall',
-});
- 
-const StyledReadMoreLink = styled('a', {
-  color: '$accentDefault',
-  fontSize: '$xsmall',
-});
- 
-export default function SecondScreen() {
-  const { t } = useTranslation(['settings', 'general']);
-  const isEnabled = useSelector(secondScreenSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const { user, handleLogout } = useAuth();
- 
-  const onSyncClick = useCallback(() => {
-    dispatch.uiState.toggleSecondScreen();
-  }, [dispatch.uiState]);
- 
-  const handleOpenSecondScreen = useCallback(() => {
-    track('Open second screen');
-    window.open(process.env.SECOND_SCREEN_APP_URL);
-  }, []);
- 
-  let statusColor;
- 
-  if (!user) {
-    statusColor = '$fgMuted';
-  } else if (isEnabled && user) {
-    statusColor = '$successFg';
-  } else {
-    statusColor = '$dangerFg';
-  }
- 
-  return (
-    <Box className="content scroll-container">
-      <Stack direction="column" gap={4} css={{ padding: '$3 0' }}>
- 
-        <Stack direction="column" gap={2} css={{ padding: '0 $4' }} justify="between" align="start">
-          <Heading>
-            Second Screen
-            {' '}
-            <StyledBetaBadge>BETA</StyledBetaBadge>
-          </Heading>
-          <StyledP>
-            {t('secondScreenExplainer')}
-            <StyledReadMoreLink href="https://docs.tokens.studio/sync/second-screen" target="_blank" rel="noreferrer">{t('readMore', { ns: 'general' })}</StyledReadMoreLink>
-          </StyledP>
-        </Stack>
-        {
-          user ? (
-            <>
-              <Stack direction="column" gap={2} css={{ padding: '0 $4' }}>
-                <Stack
-                  gap={4}
-                  direction="row"
-                  align="center"
-                  justify="between"
-                  css={{
-                    backgroundColor: '$bgSubtle',
-                    borderColor: statusColor,
-                    borderWidth: '1px',
-                    padding: '$3 $5',
-                    fontSize: '$xsmall',
-                    borderRadius: '6px',
-                    color: statusColor,
-                    marginBottom: '$3',
-                    width: '100%',
-                    height: '4rem',
-                  }}
-                >
-                  <Stack
-                    direction="column"
-                    gap={1}
-                  >
-                    <Stack direction="row" align="center" gap={3} css={{ fontWeight: '$sansBold' }}>
-                      {isEnabled && user ? <Link1Icon /> : <LinkBreak1Icon />}
-                      {isEnabled && user ? t('connected') : t('notConnected')}
-                    </Stack>
-                    <Box>
-                      {isEnabled && user ? t('liveSyncActive') : t('liveSyncInactive')}
-                    </Box>
- 
-                  </Stack>
- 
-                  <Switch disabled={user === null} id="syncswitch" checked={isEnabled && !!user} onCheckedChange={onSyncClick} />
-                </Stack>
-                <Box>
-                  <Button disabled={user == null} variant="secondary" size="small" icon={<ExternalLinkIcon />} onClick={handleOpenSecondScreen}>
-                    {t('openSecondScreen')}
-                  </Button>
-                </Box>
-              </Stack>
- 
-              <Divider />
- 
-              <Stack direction="column" align="start" gap={3} css={{ padding: '0 $4' }}>
- 
-                <Button variant="secondary" size="small" icon={<ExitIcon />} onClick={handleLogout}>
-                  {t('signOut')}
-                </Button>
-                <Box css={{
-                  fontWeight: '$sansRegular', fontSize: '$xsmall', overflow: 'hidden', textOverflow: 'ellipsis',
-                }}
-                >
-                  {t('signedInAs')}
-                  {' '}
-                  {user.email}
-                </Box>
-              </Stack>
-            </>
- 
-          ) : (
-            <Stack direction="column" align="start" gap={2} css={{ padding: '0 $4' }}>
-              <Button variant="primary" icon={<EnterIcon />} onClick={onSyncClick}>
-                {t('signInToContinue')}
-              </Button>
-            </Stack>
-          )
-        }
- 
-      </Stack>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html deleted file mode 100644 index 1b7ca92af..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/components/SecondScreenSync - - - - - - - - - -
-
-

All files src/app/components/SecondScreenSync

-
- -
- 0% - Statements - 0/43 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/430%0/300%0/110%0/41
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html deleted file mode 100644 index d57b0c7f4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SecondScreenSync/index.tsx.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - Code coverage report for src/app/components/SecondScreenSync/index.tsx - - - - - - - - - -
-
-

All files / src/app/components/SecondScreenSync index.tsx

-
- -
- 0% - Statements - 0/43 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useCallback, useEffect } from 'react';
-import * as Sentry from '@sentry/react';
-import { useDispatch, useSelector } from 'react-redux';
-import { RealtimeChannel, RealtimePostgresUpdatePayload } from '@supabase/realtime-js';
-import {
-  activeThemeSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { useAuth } from '@/context/AuthContext';
-import { secondScreenSelector } from '@/selectors/secondScreenSelector';
-import supabase from '@/supabase';
-import { Dispatch } from '@/app/store';
-import { Clients, TokenData } from '@/types/SecondScreen';
- 
-export default function SecondScreenSync() {
-  const secondScreenOn = useSelector(secondScreenSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const tokens = useSelector(tokensSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const themes = useSelector(themesListSelector);
-  const usedTokenSets = useSelector(usedTokenSetSelector);
-  const { user } = useAuth();
- 
-  // Listen to data changes and update the state
-  useEffect(() => {
-    let dbUpdateChannel: RealtimeChannel | null = null;
- 
-    if (user && secondScreenOn) {
-      dbUpdateChannel = supabase
-        .channel('value-db-changes')
-        .on(
-          'postgres_changes',
-          {
-            event: 'UPDATE',
-            schema: 'public',
-            table: 'tokens',
-            filter: `owner_email=eq.${user.email}`,
-          },
-          (payload: RealtimePostgresUpdatePayload<TokenData>) => {
-            if (payload.new.last_updated_by !== Clients.PLUGIN && payload.new.synced_data) {
-              dispatch.tokenState.setNewTokenData(payload.new.synced_data);
-            }
-          },
-        )
-        .subscribe((status: any, err: any) => {
-          if (err) {
-            console.error(err);
-            Sentry.captureException(err);
-          }
-        });
-    }
-    return () => {
-      if (dbUpdateChannel) {
-        if (dbUpdateChannel) supabase.realtime.removeChannel(dbUpdateChannel);
-      }
-    };
-  }, [user, secondScreenOn, dispatch.tokenState]);
- 
-  // Listen to state changes and update the db
-  useEffect(() => {
-    async function updateRemoteData(email: string, data: string) {
-      await supabase.postgrest
-        .from('tokens')
-        .upsert(
-          { synced_data: data, owner_email: email, last_updated_by: Clients.PLUGIN },
-          { onConflict: 'owner_email', ignoreDuplicates: false },
-        )
-        .eq('owner_email', email);
-    }
- 
-    if (secondScreenOn && user) {
-      const data = JSON.stringify({
-        sets: tokens,
-        themes,
-        usedTokenSets,
-        activeTheme,
-      });
- 
-      updateRemoteData(user.email, data);
-    }
-  }, [tokens, themes, secondScreenOn, user, usedTokenSets, activeTheme]);
- 
-  // this is used for tracking if the plugin is on
-  const createChannel = useCallback(() => {
-    let channel: RealtimeChannel | null = null;
-    if (user && secondScreenOn) {
-      channel = supabase.channel(`${user.id}`, {
-        config: {
-          presence: {
-            key: `plugin-${user.email}`,
-          },
-        },
-      });
- 
-      channel.subscribe(async (status) => {
-        if (status === 'SUBSCRIBED' && channel) {
-          try {
-            await channel.track({ online_at: new Date().toISOString() });
-          } catch (error) {
-            if (error) {
-              console.log('channel error', error);
-              Sentry.captureException(error);
-            }
-          }
-        }
-      });
-    }
- 
-    return channel;
-  }, [secondScreenOn, user]);
- 
-  useEffect(() => {
-    const channel = createChannel();
-    return () => {
-      if (channel) supabase.realtime.removeChannel(channel);
-    };
-  }, [createChannel]);
- 
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html deleted file mode 100644 index 19d35287e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Select.tsx.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/app/components/Select.tsx - - - - - - - - - -
-
-

All files / src/app/components Select.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { styled } from '@/stitches.config';
-import type { StitchesCSS } from '@/types';
- 
-const StyledSelect = styled('select', {
-  fontSize: '$xsmall',
-  height: '$controlSmall',
-  paddingLeft: '$2',
-  lineHeight: 1,
-  backgroundColor: '$bgDefault',
-  color: '$fgDefault',
-  border: '1px solid $borderMuted',
-  cursor: 'pointer',
-  '&:focus': { boxShadow: '$focus', outline: 'none' },
-});
- 
-type StyledSelectProps = React.ComponentProps<typeof StyledSelect>;
-type Props = {
-  id: string;
-  css?: StitchesCSS;
-  value?: StyledSelectProps['value'];
-  onChange?: StyledSelectProps['onChange'];
-};
- 
-export default function Select({
-  css, value, id, onChange, children,
-}: React.PropsWithChildren<Props>) {
-  return (
-    <StyledSelect css={css} value={value} name={id} data-testid={id} id={id} onChange={onChange}>
-      {children}
-    </StyledSelect>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html deleted file mode 100644 index 767da1260..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/Settings.tsx.html +++ /dev/null @@ -1,751 +0,0 @@ - - - - - - Code coverage report for src/app/components/Settings/Settings.tsx - - - - - - - - - -
-
-

All files / src/app/components/Settings Settings.tsx

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable jsx-a11y/label-has-associated-control */
-import React, { useState, useEffect } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Box, Link, Text, Button, Heading, Label, Stack, Switch,
-} from '@tokens-studio/ui';
-import { track } from '@/utils/analytics';
-import SyncSettings from '../SyncSettings';
-import { LanguageSelector } from '../LanguageSelector';
-import { Dispatch } from '../../store';
-import {
-  storeTokenIdInJsonEditorSelector,
-  uiStateSelector,
-} from '@/selectors';
-import AddLicenseKey from '../AddLicenseKey/AddLicenseKey';
-import { Divider } from '../Divider';
-import OnboardingExplainer from '../OnboardingExplainer';
-import RemConfiguration from '../RemConfiguration';
-import { replay } from '@/app/sentry';
-import { sessionRecordingSelector } from '@/selectors/sessionRecordingSelector';
-import { useFlags } from '../LaunchDarkly';
-import { ExplainerModal } from '../ExplainerModal';
- 
-// TODO: expose types from @tokens-studio/ui/checkbox
-type CheckedState = boolean | 'indeterminate';
- 
-function Settings() {
-  const { t } = useTranslation(['settings']);
- 
-  const onboardingData = {
-    title: t('whereTokensStored'),
-    text: t('whereTokensStoredOnboarding'),
-    url: 'https://docs.tokens.studio/token-storage/remote?ref=onboarding_explainer_syncproviders',
-  };
- 
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const uiState = useSelector(uiStateSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const debugMode = useSelector(sessionRecordingSelector);
-  const [debugSession, setDebugSession] = useState('');
-  const { idStorage } = useFlags();
- 
-  const toggleDebugMode = React.useCallback(async (checked: CheckedState) => {
-    if (checked && process.env.ENVIRONMENT === 'development') {
-      console.warn('Session recording is disabled in development mode');
-    }
- 
-    dispatch.settings.setSessionRecording(!!checked);
-    if (checked) {
-      // Display the info to the user
-      try {
-        let id = await replay.getReplayId();
-        if (!id) {
-          // Force start the replay functionality
-          replay.start();
-          id = await replay.getReplayId();
-        }
-        setDebugSession(id || '');
-      } catch (err) {
-        console.warn('Replay is likely in progress already', err);
-      }
-    } else {
-      try {
-        replay.stop();
-      } catch (err) {
-        console.warn('Replay is likely stopped already', err);
-      }
-    }
-  }, []);
- 
-  // Load once on mount.
-  useEffect(() => {
-    async function getSessionId() {
-      try {
-        const id = replay.getReplayId();
-        setDebugSession(id || '');
-      } catch (err) {
-        // Silently fail
-      }
-    }
-    getSessionId();
-  });
- 
-  const handleStoreTokenIdInJsonEditorChange = React.useCallback(
-    (state: CheckedState) => {
-      track('setStoreTokenIdInJsonEditorSelector', { value: state });
-      dispatch.settings.setStoreTokenIdInJsonEditorSelector(!!state);
-    },
-    [dispatch.settings],
-  );
- 
-  const closeOnboarding = React.useCallback(() => {
-    dispatch.uiState.setOnboardingExplainerSyncProviders(false);
-  }, [dispatch]);
- 
-  const handleResetButton = React.useCallback(() => {
-    dispatch.uiState.setOnboardingExplainerSets(true);
-    dispatch.uiState.setOnboardingExplainerExportSets(true);
-    dispatch.uiState.setOnboardingExplainerInspect(true);
-    dispatch.uiState.setOnboardingExplainerSyncProviders(true);
-    dispatch.uiState.setLastOpened(0);
-  }, [dispatch]);
- 
-  return (
-    <Box className="content scroll-container">
-      <Stack direction="column" gap={4} css={{ padding: '$3 0' }}>
-        <AddLicenseKey />
-        <Divider />
-        {uiState.onboardingExplainerSyncProviders && (
-          <Stack direction="column" gap={2} css={{ padding: '$4' }}>
-            <OnboardingExplainer data={onboardingData} closeOnboarding={closeOnboarding} />
-          </Stack>
-        )}
-        <SyncSettings />
-        <Divider />
-        <Stack direction="column" align="start" gap={4} css={{ padding: '0 $4' }}>
-          <Heading size="medium">{t('settings')}</Heading>
-          <Stack
-            direction="column"
-            css={{
-              border: '1px solid $borderSubtle',
-              borderRadius: '$medium',
-              padding: '$4',
-              width: '100%',
-            }}
-          >
-            <LanguageSelector />
-          </Stack>
-          <Stack
-            direction="column"
-            gap={4}
-            css={{
-              border: '1px solid $borderSubtle',
-              borderRadius: '$medium',
-              padding: '$4',
-              width: '100%',
-            }}
-          >
- 
-            {idStorage && (
-              <Stack direction="row" gap={3} align="center" css={{ width: '100%' }}>
-                <Label htmlFor="storeTokenIdInJsonEditor">{t('storeTokenId')}</Label>
-                <Switch
-                  id="storeTokenIdInJsonEditor"
-                  checked={!!storeTokenIdInJsonEditor}
-                  defaultChecked={storeTokenIdInJsonEditor}
-                  onCheckedChange={handleStoreTokenIdInJsonEditorChange}
-                />
-              </Stack>
-            )}
-            <RemConfiguration />
-          </Stack>
-          <Stack
-            direction="column"
-            gap={4}
-            css={{
-              border: '1px solid $borderSubtle',
-              borderRadius: '$medium',
-              padding: '$4',
-              width: '100%',
-            }}
-          >
-            <Stack direction="column" gap={2} css={{ width: '100%' }}>
-              <Stack direction="row" align="center" justify="between" gap={1}>
-                <Stack direction="row" gap={2} align="center">
-                  <Label htmlFor="enableDebugging">{t('enableSessionRecording')}</Label>
-                  <ExplainerModal title={t('enableSessionRecording')}>
-                    <Box css={{
-                      color: '$fgMuted',
-                      fontSize: '$xsmall',
-                    }}
-                    >
-                      {t('sessionRecordingDescription')}
-                      {' '}
-                      {t('dataCollectedIsAnonymised')}
-                      {' '}
-                      {t('forMoreInformationPleaseSeeOur')}
-                      {' '}
-                      <Link href="https://tokens.studio/privacy" target="_blank" rel="noreferrer">{t('privacyPolicy')}</Link>
-                    </Box>
-                  </ExplainerModal>
-                </Stack>
-                <Box css={{ flexShrink: 0 }}>
-                  <Switch
-                    id="enableDebugging"
-                    checked={!!debugMode}
-                    defaultChecked={debugMode}
-                    onCheckedChange={toggleDebugMode}
-                  />
-                </Box>
-              </Stack>
-              <Box
-                css={{
-                  color: '$fgMuted',
-                  fontSize: '$xsmall',
-                  lineHeight: 1.5,
-                }}
-              >
-                {debugSession && (
-                <Text>
-                  {t('yourCurrentSessionIdIs')}
-                  {' '}
-                  <b>{debugSession}</b>
-                </Text>
-                )}
-              </Box>
-            </Stack>
-            <Stack direction="row" justify="between" gap={2} align="center" css={{ width: '100%' }}>
-              <Label>{t('resetOnboarding')}</Label>
-              <Button variant="secondary" data-testid="reset-onboarding" onClick={handleResetButton}>
-                {t('resetOnboarding')}
-              </Button>
-            </Stack>
-          </Stack>
-        </Stack>
-      </Stack>
-    </Box>
-  );
-}
- 
-export default Settings;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html deleted file mode 100644 index cba975811..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/Settings - - - - - - - - - -
-
-

All files src/app/components/Settings

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Settings.tsx -
-
0%0/400%0/180%0/70%0/40
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html deleted file mode 100644 index a97d164c6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Settings/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/Settings/index.ts - - - - - - - - - -
-
-

All files / src/app/components/Settings index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import Settings from './Settings';
- 
-export default Settings;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html deleted file mode 100644 index 13ce9034d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SettingsDropdown.tsx.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - Code coverage report for src/app/components/SettingsDropdown.tsx - - - - - - - - - -
-
-

All files / src/app/components SettingsDropdown.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { Box, DropdownMenu, IconButton } from '@tokens-studio/ui';
-import { Check, Settings } from 'iconoir-react';
-import { Dispatch } from '../store';
-import { settingsStateSelector, localApiStateSelector } from '@/selectors';
-import { isEqual } from '@/utils/isEqual';
- 
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export default function SettingsDropdown() {
-  const localApiState = useSelector(localApiStateSelector);
-  const { t } = useTranslation(['tokens']);
- 
-  const {
-    updateRemote, updateOnChange, shouldSwapStyles, shouldUpdateStyles,
-  } = useSelector(settingsStateSelector, isEqual);
- 
-  const {
-    setUpdateOnChange, setUpdateRemote, setShouldSwapStyles, setShouldUpdateStyles,
-  } = useDispatch<Dispatch>().settings;
- 
-  const handleUpdateOnChange = React.useCallback(() => {
-    setUpdateOnChange(!updateOnChange);
-  }, [updateOnChange, setUpdateOnChange]);
- 
-  const handleUpdateRemote = React.useCallback(() => {
-    setUpdateRemote(!updateRemote);
-  }, [updateRemote, setUpdateRemote]);
- 
-  const handleShouldSwapStyles = React.useCallback(() => {
-    setShouldSwapStyles(!shouldSwapStyles);
-  }, [shouldSwapStyles, setShouldSwapStyles]);
- 
-  const handleShouldUpdateStyles = React.useCallback(() => {
-    setShouldUpdateStyles(!shouldUpdateStyles);
-  }, [shouldUpdateStyles, setShouldUpdateStyles]);
- 
-  return (
-    <DropdownMenu>
-      <DropdownMenu.Trigger asChild data-testid="bottom-bar-settings">
-        <IconButton variant="invisible" size="small" icon={<Settings />} />
-      </DropdownMenu.Trigger>
- 
-      <DropdownMenu.Portal>
-        <DropdownMenu.Content side="top" css={{ maxWidth: '300px' }}>
-          <DropdownMenu.CheckboxItem
-            data-testid="update-on-change"
-            checked={updateOnChange}
-            onCheckedChange={handleUpdateOnChange}
-          >
-            <DropdownMenu.ItemIndicator>
-              <Check />
-            </DropdownMenu.ItemIndicator>
-            {t('update.onChange.title')}
-            <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
-              {t('update.onChange.description')}
-            </Box>
-          </DropdownMenu.CheckboxItem>
-          {localApiState?.provider === StorageProviderType.JSONBIN ? (
-            <DropdownMenu.CheckboxItem
-              data-testid="update-remote"
-              checked={updateRemote}
-              onCheckedChange={handleUpdateRemote}
-            >
-              <DropdownMenu.ItemIndicator>
-                <Check />
-              </DropdownMenu.ItemIndicator>
-              {t('update.remoteJSONBin.title')}
-              <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
-                {t('update.remoteJSONBin.description')}
-              </Box>
-            </DropdownMenu.CheckboxItem>
-          ) : null}
-          <DropdownMenu.CheckboxItem
-            data-testid="swap-styles"
-            checked={shouldSwapStyles}
-            onCheckedChange={handleShouldSwapStyles}
-          >
-            <DropdownMenu.ItemIndicator>
-              <Check />
-            </DropdownMenu.ItemIndicator>
-            {t('update.swapStyles.title')}
-            <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
-              {t('update.swapStyles.description')}
-            </Box>
-          </DropdownMenu.CheckboxItem>
-          <DropdownMenu.CheckboxItem
-            data-testid="should-update-styles"
-            checked={shouldUpdateStyles}
-            onCheckedChange={handleShouldUpdateStyles}
-          >
-            <DropdownMenu.ItemIndicator>
-              <Check />
-            </DropdownMenu.ItemIndicator>
-            {t('update.shouldUpdateStyles.title')}
-            <Box css={{ color: '$fgMuted', fontSize: '$xxsmall' }}>
-              {t('update.shouldUpdateStyles.description')}
-            </Box>
-          </DropdownMenu.CheckboxItem>
-        </DropdownMenu.Content>
-      </DropdownMenu.Portal>
-    </DropdownMenu>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html deleted file mode 100644 index 57409a22d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowDownShiftInput.tsx.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - Code coverage report for src/app/components/SingleBoxShadowDownShiftInput.tsx - - - - - - - - - -
-
-

All files / src/app/components SingleBoxShadowDownShiftInput.tsx

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import DownshiftInput from './DownshiftInput';
-import { ColorPickerTrigger } from './ColorPickerTrigger';
-import { getAliasValue } from '@/utils/alias';
- 
-export default function SingleBoxShadowDownShiftInput({
-  name,
-  value,
-  type,
-  resolvedTokens,
-  handleChange,
-  setInputValue,
-  handleToggleInputHelper,
-  onSubmit,
-}: {
-  name: string;
-  value: string;
-  type: string;
-  resolvedTokens: ResolveTokenValuesResult[];
-  handleChange: (property: string, value: string) => void;
-  setInputValue: (newInputValue: string, property: string) => void;
-  handleToggleInputHelper?: () => void;
-  onSubmit: () => void;
-}) {
-  const { t } = useTranslation(['tokens']);
-  const [resolvedColor, setResolvedColor] = React.useState<string>(value ? String(value) : '');
- 
-  React.useEffect(() => {
-    if (name === 'color' && value && value.startsWith('{')) {
-      const aliasValue = getAliasValue(value, resolvedTokens);
-      setResolvedColor(aliasValue ? String(aliasValue) : '');
-    } else {
-      setResolvedColor(typeof value === 'string' ? value : '');
-    }
-  }, [value, resolvedTokens, name]);
- 
-  const handleBoxshadowDownShiftInputChange = React.useCallback(
-    (newInputValue: string) => setInputValue(newInputValue, name),
-    [name, setInputValue],
-  );
-  return (
-    <DownshiftInput
-      name={name}
-      value={value}
-      type={type}
-      label={name}
-      inlineLabel
-      resolvedTokens={resolvedTokens}
-      handleChange={handleChange}
-      setInputValue={handleBoxshadowDownShiftInputChange}
-      placeholder={name === 'color' ? t('colorOrAlias') : t('valueOrAlias')}
-      prefix={
-        name === 'color'
-        && resolvedColor && (
-          <ColorPickerTrigger background={resolvedColor} onClick={handleToggleInputHelper}>
-            {value}
-          </ColorPickerTrigger>
-        )
-      }
-      suffix
-      onSubmit={onSubmit}
-    />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html deleted file mode 100644 index 41d608b89..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleBoxShadowInput.tsx.html +++ /dev/null @@ -1,892 +0,0 @@ - - - - - - Code coverage report for src/app/components/SingleBoxShadowInput.tsx - - - - - - - - - -
-
-

All files / src/app/components SingleBoxShadowInput.tsx

-
- -
- 0% - Statements - 0/69 -
- - -
- 0% - Branches - 0/48 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/67 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import {
-  useDrop, useDrag, DropTargetMonitor,
-} from 'react-dnd';
-import { useUIDSeed } from 'react-uid';
-import { XYCoord } from 'dnd-core';
-import debounce from 'lodash.debounce';
-import { useTranslation } from 'react-i18next';
-import {
-  Box, IconButton, Stack, ToggleGroup,
-} from '@tokens-studio/ui';
-import IconMinus from '@/icons/minus.svg';
-import IconGrabber from '@/icons/grabber.svg';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { TokenBoxshadowValue } from '@/types/values';
-import ColorPicker from './ColorPicker';
-import SingleBoxShadowDownShiftInput from './SingleBoxShadowDownShiftInput';
-import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
- 
-interface DragItem {
-  index: number;
-  id: string;
-  type: string;
-}
- 
-enum ItemTypes {
-  CARD = 'card',
-}
- 
-const propertyTypes = {
-  x: 'sizing',
-  y: 'sizing',
-  blur: 'sizing',
-  spread: 'sizing',
-  color: 'color',
-};
- 
-export const newTokenValue: TokenBoxshadowValue = {
-  x: '0', y: '0', blur: '0', spread: '0', color: '#000000', type: BoxShadowTypes.INNER_SHADOW,
-};
- 
-export default function SingleBoxShadowInput({
-  value,
-  isMultiple = false,
-  shadowItem,
-  index,
-  handleBoxShadowValueChange,
-  onRemove,
-  id,
-  resolvedTokens,
-  onSubmit,
-}: {
-  value?: TokenBoxshadowValue | TokenBoxshadowValue[]
-  isMultiple?: boolean;
-  shadowItem?: TokenBoxshadowValue;
-  index: number;
-  handleBoxShadowValueChange: (shadow: TokenBoxshadowValue | TokenBoxshadowValue[]) => void;
-  onRemove: (index: number) => void;
-  id?: string;
-  resolvedTokens: ResolveTokenValuesResult[];
-  onSubmit: () => void
-}) {
-  const seed = useUIDSeed();
-  const [inputHelperOpen, setInputHelperOpen] = React.useState<boolean>(false);
-  const { t } = useTranslation(['tokens']);
-  const handleToggleInputHelper = React.useCallback(() => setInputHelperOpen(!inputHelperOpen), [inputHelperOpen]);
- 
-  const onChange = React.useCallback((property: string, newValue: string) => {
-    if (Array.isArray(value)) {
-      const values = [...value];
-      values.splice(index, 1, { ...value[index], [property]: newValue });
-      handleBoxShadowValueChange(values);
-    } else {
-      handleBoxShadowValueChange({
-        ...newTokenValue,
-        ...value,
-        [property]: newValue,
-      });
-    }
-  }, [index, value, handleBoxShadowValueChange]);
- 
-  const onTypeChange = React.useCallback((newValue: BoxShadowTypes) => {
-    if (newValue !== BoxShadowTypes.DROP_SHADOW && newValue !== BoxShadowTypes.INNER_SHADOW) return;
-    if (Array.isArray(value)) {
-      const values = [...value];
-      values.splice(index, 1, { ...value[index], type: newValue });
-      handleBoxShadowValueChange(values);
-    } else {
-      handleBoxShadowValueChange({
-        ...newTokenValue,
-        ...value,
-        type: newValue,
-      });
-    }
-  }, [index, value, handleBoxShadowValueChange]);
- 
-  const handleBoxshadowValueDownShiftInputChange = React.useCallback((newInputValue: string, property: string) => {
-    if (Array.isArray(value)) {
-      const values = [...value];
-      values.splice(index, 1, { ...value[index], [property]: newInputValue });
-      handleBoxShadowValueChange(values);
-    } else {
-      handleBoxShadowValueChange({
-        ...newTokenValue,
-        ...value,
-        [property]: newInputValue,
-      });
-    }
-  }, [index, value, handleBoxShadowValueChange]);
- 
-  const exchangeBoxshadowValue = React.useCallback((newValue: TokenBoxshadowValue | TokenBoxshadowValue[]) => {
-    handleBoxShadowValueChange(newValue);
-  }, [handleBoxShadowValueChange]);
- 
-  const onColorChange = React.useCallback((color: string) => {
-    if (Array.isArray(value)) {
-      const values = [...value];
-      values.splice(index, 1, { ...value[index], color: color.trim() });
-      handleBoxShadowValueChange(values);
-    } else {
-      handleBoxShadowValueChange({
-        ...newTokenValue,
-        ...value,
-        color,
-      });
-    }
-  }, [index, value, handleBoxShadowValueChange]);
- 
-  const onMoveDebounce = React.useCallback((dragIndex: number, hoverIndex: number) => {
-    const values = value;
-    if (Array.isArray(values)) {
-      const dragItem = values[dragIndex];
-      values.splice(dragIndex, 1);
-      values.splice(hoverIndex, 0, dragItem);
-    }
-    exchangeBoxshadowValue(values ?? []);
-  }, [value, exchangeBoxshadowValue]);
- 
-  const onMove = debounce(onMoveDebounce, 300);
- 
-  const handleRemove = React.useCallback(() => {
-    onRemove(index);
-  }, [index, onRemove]);
- 
-  const ref = React.useRef<HTMLDivElement>(null);
- 
-  interface DropCollectedProps {
-    handlerId: string;
-  }
- 
-  const [{ handlerId }, drop] = useDrop<DragItem, DropTargetMonitor, DropCollectedProps>({
-    accept: ItemTypes.CARD,
-    collect: (monitor: DropTargetMonitor) => ({
-      handlerId: monitor.getHandlerId()?.toString() ?? 'default-dnd-handler-id',
-    }),
-    hover(item: DragItem, monitor: DropTargetMonitor) {
-      if (!ref.current) {
-        return;
-      }
-      const dragIndex = item.index;
-      const hoverIndex = index;
- 
-      if (dragIndex === hoverIndex) {
-        return;
-      }
- 
-      const hoverBoundingRect = ref.current?.getBoundingClientRect();
- 
-      const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
- 
-      const clientOffset = monitor.getClientOffset();
- 
-      const hoverClientY = (clientOffset as XYCoord).y - hoverBoundingRect.top;
- 
-      if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {
-        return;
-      }
- 
-      if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {
-        return;
-      }
- 
-      onMove(dragIndex, hoverIndex);
-      item.index = hoverIndex;
-    },
-  });
- 
-  // TODO: Check this... AI fixed it..
-  const [{ isDragging }, drag] = useDrag({
-    type: ItemTypes.CARD,
-    item: {
-      type: ItemTypes.CARD,
-      id,
-      index,
-    },
-    collect: (monitor: any) => ({
-      isDragging: monitor.isDragging(),
-    }),
-  });
- 
-  drag(drop(ref));
- 
-  // TODO: i18n: remove isMultiple logic? - doesn't seem to need a translaton
- 
-  return (
-    <Box css={{
-      display: 'flex', flexDirection: 'column', gap: '$2', opacity: isDragging ? 0 : 1,
-    }}
-    >
- 
-      <Box css={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }} ref={ref}>
-        {isMultiple && (
-          <Box css={{ display: 'flex', width: '$8' }}>
-            <IconButton
-              tooltip="Click to drag"
-              icon={<IconGrabber />}
-              data-handler-id={handlerId}
-              variant="invisible"
-              size="small"
-            />
-          </Box>
-        )}
-        <Stack justify="end" css={{ width: '100%' }}>
-          <ToggleGroup type="single" value={shadowItem?.type ?? newTokenValue.type} onValueChange={onTypeChange}>
-            <ToggleGroup.Item iconOnly={false} value="innerShadow">{t('shadow.inner')}</ToggleGroup.Item>
-            <ToggleGroup.Item iconOnly={false} value="dropShadow">{t('shadow.drop')}</ToggleGroup.Item>
-          </ToggleGroup>
-        </Stack>
-        {isMultiple && (
-          <IconButton
-            tooltip={t('shadow.removeThisShadow')}
-            data-testid="button-shadow-remove-multiple"
-            onClick={handleRemove}
-            icon={<IconMinus />}
-            variant="invisible"
-          />
-        )}
-      </Box>
-      <Box css={{
-        display: 'flex', flexDirection: 'column', gap: '$2', paddingLeft: isMultiple ? '$8' : '0',
-      }}
-      >
-        {
-          Object.keys(propertyTypes).map((key, keyIndex) => (
-            <>
-              <SingleBoxShadowDownShiftInput
-                name={key}
-                key={`boxshadow-input-${seed(index)}-${seed(keyIndex)}`}
-                value={String(
-                  shadowItem?.[key as keyof typeof propertyTypes]
-                  ?? newTokenValue[key as keyof typeof newTokenValue],
-                )}
-                type={propertyTypes[key as keyof typeof propertyTypes]}
-                resolvedTokens={resolvedTokens}
-                handleChange={onChange}
-                setInputValue={handleBoxshadowValueDownShiftInputChange}
-                handleToggleInputHelper={handleToggleInputHelper}
-                onSubmit={onSubmit}
-              />
-              {inputHelperOpen && key === 'color' && (
-                <ColorPicker value={shadowItem?.[key] || newTokenValue?.[key]} onChange={onColorChange} />
-              )}
-            </>
-          ))
-        }
-      </Box>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html deleted file mode 100644 index a07d54d21..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenContent.tsx.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - Code coverage report for src/app/components/SingleCompositionTokenContent.tsx - - - - - - - - - -
-
-

All files / src/app/components SingleCompositionTokenContent.tsx

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useContext,
-} from 'react';
-import { useSelector } from 'react-redux';
-import { useUIDSeed } from 'react-uid';
-import { activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors';
-import { DragControlsContext } from '@/context';
-import SingleCompositionTokenForm from './SingleCompositionTokenForm';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { StyledDragButton } from './StyledDragger/StyledDragButton';
-import { DragGrabber } from './StyledDragger/DragGrabber';
- 
-type Props = React.PropsWithChildren<{
-  index: number;
-  property: string;
-  propertyValue: string;
-  tokenValue: NodeTokenRefMap;
-  properties: string[];
-  resolvedTokens: ResolveTokenValuesResult[];
-  setTokenValue: (neweTokenValue: NodeTokenRefMap) => void;
-  onRemove: (property: string) => void;
-  setOrderObj: (newOrderObj: NodeTokenRefMap) => void;
-  setError: (newError: boolean) => void;
-  onSubmit: () => void
-}>;
- 
-export function SingleCompositionTokenContent({
-  index,
-  property,
-  propertyValue,
-  tokenValue,
-  properties,
-  resolvedTokens,
-  setTokenValue,
-  onRemove,
-  setOrderObj,
-  setError,
-  onSubmit,
-}: Props) {
-  const dragContext = useContext(DragControlsContext);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
-  const seed = useUIDSeed();
- 
-  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
-    dragContext.controls?.start(event);
-  }, [dragContext.controls]);
- 
-  return (
-    <StyledDragButton
-      grabberVisible
-      type="button"
-      style={{ cursor: 'inherit' }}
-      css={{ padding: '$1 0 $1 $1' }}
-    >
-      <DragGrabber<string>
-        item={property}
-        canReorder={!editProhibited && !activeTokenSetReadOnly}
-        onDragStart={handleDragStart}
-      />
-      <SingleCompositionTokenForm
-        key={`single-style-${seed(index)}`}
-        index={index}
-        property={property}
-        propertyValue={propertyValue}
-        tokenValue={tokenValue}
-        properties={properties}
-        resolvedTokens={resolvedTokens}
-        setTokenValue={setTokenValue}
-        onRemove={onRemove}
-        setOrderObj={setOrderObj}
-        setError={setError}
-        onSubmit={onSubmit}
-      />
-    </StyledDragButton>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html deleted file mode 100644 index 8ebaa3586..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleCompositionTokenForm.tsx.html +++ /dev/null @@ -1,526 +0,0 @@ - - - - - - Code coverage report for src/app/components/SingleCompositionTokenForm.tsx - - - - - - - - - -
-
-

All files / src/app/components SingleCompositionTokenForm.tsx

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useTranslation } from 'react-i18next';
-import { useUIDSeed } from 'react-uid';
-import {
-  Select, Box, IconButton, Stack,
-} from '@tokens-studio/ui';
-import IconMinus from '@/icons/minus.svg';
-import { Properties } from '@/constants/Properties';
-import { CompositionTokenProperty } from '@/types/CompositionTokenProperty';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import DownshiftInput from './DownshiftInput';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { useTypeForProperty } from '../hooks/useTypeForProperty';
- 
-export default function SingleCompositionTokenForm({
-  index,
-  property,
-  propertyValue,
-  tokenValue,
-  properties,
-  resolvedTokens,
-  setTokenValue,
-  onRemove,
-  setOrderObj,
-  setError,
-  onSubmit,
-}: {
-  index: number;
-  property: string;
-  propertyValue: string;
-  tokenValue: NodeTokenRefMap;
-  properties: string[];
-  resolvedTokens: ResolveTokenValuesResult[];
-  setTokenValue: (neweTokenValue: NodeTokenRefMap) => void;
-  onRemove: (property: string) => void;
-  setOrderObj: (newOrderObj: NodeTokenRefMap) => void;
-  setError: (newError: boolean) => void;
-  onSubmit: () => void
-}) {
-  const propertyType = useTypeForProperty(property);
-  const seed = useUIDSeed();
-  const { t } = useTranslation(['tokens']);
- 
-  const onPropertySelected = useCallback((newProperty: string) => {
-    // keep the order of the properties when select new property
-    const newOrderObj: NodeTokenRefMap = {};
-    const keysInTokenValue = Object.keys(tokenValue);
-    keysInTokenValue.splice(index, 1, newProperty);
-    keysInTokenValue.forEach((key, idx) => {
-      newOrderObj[key as keyof typeof Properties] = String(idx);
-    });
-    setOrderObj(newOrderObj);
- 
-    // set newTokenValue
-    delete tokenValue[property as keyof typeof Properties];
-    tokenValue[newProperty as keyof typeof Properties] = propertyValue;
-    setTokenValue(tokenValue);
-    setError(false);
-  }, [index, property, propertyValue, setError, setOrderObj, setTokenValue, tokenValue]);
- 
-  const onPropertyValueChanged = React.useCallback(
-    (type: string, value: string) => {
-      tokenValue[property as CompositionTokenProperty] = value;
-      setTokenValue(tokenValue);
-    },
-    [property, setTokenValue, tokenValue],
-  );
- 
-  const handleDownShiftInputChange = React.useCallback((newInputValue: string) => {
-    tokenValue[property as CompositionTokenProperty] = newInputValue;
-    setTokenValue(tokenValue);
-  }, [property, setTokenValue, tokenValue]);
- 
-  const handleRemove = useCallback(() => {
-    onRemove(property);
-  }, [onRemove, property]);
- 
-  const renderSelect = () => (
-    <Select value={property || t('chooseAProperty')} onValueChange={onPropertySelected}>
-      <Select.Trigger
-        value={property || t('chooseAProperty')}
-        size="small"
-        css={{
-          borderTopRightRadius: '0',
-          borderBottomRightRadius: '0',
-          height: 'auto',
-          alignSelf: 'stretch',
-          width: '155px',
-          overflow: 'hidden',
-          textOverflow: 'ellipsis',
-          border: 'none', // We're using a wrapper that controls the border
-          '& * svg': property ? { // Hides the arrow for properties
-            display: 'none',
-          } : {},
-        }}
-        data-testid="composition-token-dropdown"
-      />
-      <Select.Content>
-        {properties.length > 0
-              && properties.map((prop, idx) => <Select.Item data-testid={`item-dropdown-menu-element-${prop}`} key={`property-${seed(idx)}`} value={prop}>{prop}</Select.Item>)}
-      </Select.Content>
-    </Select>
-  );
- 
-  return (
-    <Box css={{
-      width: '100%',
-      display: 'flex',
-      justifyContent: 'space-between',
-      alignItems: 'center',
-      gap: '$3',
-      '& > .relative ': {
-        flex: '2',
-      },
-    }}
-    >
-      <Stack direction="row" css={{ flex: 1, alignItems: 'center' }}>
-        <Box css={{ flexGrow: 1 }}>
-          <DownshiftInput
-            value={propertyValue}
-            type={propertyType}
-            resolvedTokens={resolvedTokens}
-            handleChange={onPropertyValueChanged}
-            setInputValue={handleDownShiftInputChange}
-            prefix={renderSelect()}
-            isComposition
-            placeholder={
-              propertyType === 'color' ? t('colorOrAlias') : t('valueOrAlias')
-            }
-            suffix
-            onSubmit={onSubmit}
-          />
-        </Box>
-      </Stack>
-      <Box css={{ width: '$5', marginRight: '$4' }}>
-        <IconButton
-          tooltip={t('removeThisStyle')}
-          data-testid="button-style-remove-multiple"
-          onClick={handleRemove}
-          icon={<IconMinus />}
-          size="small"
-          variant="invisible"
-        />
-      </Box>
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html deleted file mode 100644 index 1307bc9ab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SingleTypographyDownShiftInput.tsx.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - Code coverage report for src/app/components/SingleTypographyDownShiftInput.tsx - - - - - - - - - -
-
-

All files / src/app/components SingleTypographyDownShiftInput.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import DownshiftInput from './DownshiftInput';
-import { getLabelForProperty } from '@/utils/getLabelForProperty';
- 
-export default function SingleTypographyDownShiftInput({
-  name,
-  value,
-  type,
-  resolvedTokens,
-  externalFontFamily,
-  handleChange,
-  setInputValue,
-  onSubmit,
-}: {
-  name: string,
-  value: string;
-  type: string;
-  resolvedTokens: ResolveTokenValuesResult[];
-  externalFontFamily?: string;
-  handleChange: (property: string, value: string) => void;
-  setInputValue: (newInputValue: string, property: string) => void;
-  onSubmit: () => void
-}) {
-  const handleBoxshadowDownShiftInputChange = React.useCallback((newInputValue: string) => {
-    setInputValue(newInputValue, name);
-  }, [name, setInputValue]);
- 
-  const getIconComponent = React.useMemo(() => getLabelForProperty(name), [name]);
- 
-  const { t } = useTranslation(['tokens']);
- 
-  return (
-    <DownshiftInput
-      name={name}
-      value={value}
-      type={type}
-      label={getIconComponent}
-      inlineLabel
-      resolvedTokens={resolvedTokens}
-      externalFontFamily={externalFontFamily}
-      handleChange={handleChange}
-      setInputValue={handleBoxshadowDownShiftInputChange}
-      placeholder={`${name} ${t('valueOrAlias')}`}
-      suffix
-      onSubmit={onSubmit}
-    />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html deleted file mode 100644 index 514a20adf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Stack.tsx.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/Stack.tsx - - - - - - - - - -
-
-

All files / src/app/components Stack.tsx

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { Stack as StackPrimitive } from '@tokens-studio/ui';
- 
-export default StackPrimitive;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html deleted file mode 100644 index 6a95266a6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StartScreen.tsx.html +++ /dev/null @@ -1,556 +0,0 @@ - - - - - - Code coverage report for src/app/components/StartScreen.tsx - - - - - - - - - -
-
-

All files / src/app/components StartScreen.tsx

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import {
-  BookmarkIcon, ReaderIcon, ChatBubbleIcon, GitHubLogoIcon,
-} from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import { Button, Heading } from '@tokens-studio/ui';
-import TokensStudioLogo from '@/icons/tokensstudio-full.svg';
-import Text from './Text';
-import Callout from './Callout';
-import { Dispatch } from '../store';
-import { apiProvidersSelector, storageTypeSelector } from '@/selectors';
-import Stack from './Stack';
-import { styled } from '@/stitches.config';
-import { Tabs } from '@/constants/Tabs';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import Box from './Box';
-import { transformProviderName } from '@/utils/transformProviderName';
-import { track } from '@/utils/analytics';
-import Footer from './Footer';
- 
-const StyledTokensStudioIcon = styled(TokensStudioLogo, {
-  width: '200px',
-  height: '23px',
-});
- 
-const HelpfulLink = styled('a', {
-  color: '$fgMuted',
-  display: 'flex',
-  alignItems: 'center',
-  gap: '$3',
-  padding: '0 $1',
-  fontSize: '$xsmall',
-  '&:hover, &:focus': {
-    color: '$fgDefault',
-  },
-});
- 
-function StartScreen() {
-  const dispatch = useDispatch<Dispatch>();
-  const { t } = useTranslation(['startScreen']);
- 
-  const storageType = useSelector(storageTypeSelector);
-  const apiProviders = useSelector(apiProvidersSelector);
- 
-  const onSetEmptyTokens = React.useCallback(() => {
-    track('Start with empty set');
-    dispatch.uiState.setActiveTab(Tabs.TOKENS);
-    dispatch.tokenState.setEmptyTokens();
-  }, [dispatch]);
- 
-  const onSetDefaultTokens = React.useCallback(() => {
-    track('Start with exmaple set');
-    dispatch.uiState.setActiveTab(Tabs.TOKENS);
-    dispatch.tokenState.setDefaultTokens();
-  }, [dispatch]);
- 
-  const onSetSyncClick = React.useCallback(() => {
-    if (storageType.provider === StorageProviderType.LOCAL) {
-      return;
-    }
-    const matchingProvider = apiProviders.find((i) => i.internalId === storageType?.internalId);
-    const credentialsToSet = matchingProvider
-      ? { ...matchingProvider, provider: storageType.provider, new: true }
-      : {
-        ...storageType,
-        new: true,
-      };
-    dispatch.uiState.setActiveTab(Tabs.SETTINGS);
-    dispatch.tokenState.setEmptyTokens();
-    dispatch.uiState.setLocalApiState(credentialsToSet);
-  }, [apiProviders, dispatch.tokenState, dispatch.uiState, storageType]);
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        flexDirection: 'column',
-        height: '100%',
-        overflow: 'hidden',
-      }}
-    >
-      <Box className="content scroll-container" css={{ padding: '$5', height: '100%', display: 'flex' }}>
-        <Stack
-          direction="column"
-          gap={6}
-          align="start"
-          css={{
-            padding: '$7',
-            margin: 'auto',
-            maxWidth: '400px',
-            borderRadius: '$medium',
-          }}
-        >
-          <Stack direction="row" gap={4}>
-            <StyledTokensStudioIcon />
-          </Stack>
-          <Text muted>{t('intro')}</Text>
-          <Stack direction="column" gap={4}>
-            <Heading size="large">
-              {' '}
-              {t('guides')}
-            </Heading>
-            <Stack direction="column" gap={3}>
-              <HelpfulLink href="https://docs.tokens.studio/get-started/install-figma-plugin?ref=startscreen" target="_blank">
-                <BookmarkIcon />
-                {t('gettingStarted')}
-              </HelpfulLink>
-              <HelpfulLink href="https://docs.tokens.studio/?ref=startscreen" target="_blank">
-                <ReaderIcon />
-                {t('documentation')}
-              </HelpfulLink>
-              <HelpfulLink href="https://tokens.studio/slack" target="_blank">
-                <ChatBubbleIcon />
-                {t('joinSlack')}
-              </HelpfulLink>
-            </Stack>
-          </Stack>
-          {storageType?.provider !== StorageProviderType.LOCAL ? (
-            <Callout
-              id="callout-action-setupsync"
-              heading={t('couldNotLoadTokens', { provider: transformProviderName(storageType?.provider) })}
-              description={t('unableToFetchRemote')}
-              action={{
-                onClick: onSetSyncClick,
-                text: t('enterCredentials'),
-              }}
-            />
-          ) : (
-            <Stack direction="row" gap={2}>
-              <Button data-testid="button-configure" size="small" variant="primary" onClick={onSetEmptyTokens}>
-                {t('newEmptyFile')}
-              </Button>
-              <Button data-testid="button-configure-preset" size="small" variant="invisible" onClick={onSetDefaultTokens}>
-                {t('loadExample')}
-              </Button>
-            </Stack>
-          )}
-          <Stack direction="row" align="center" gap={3}>
-            <GitHubLogoIcon />
-            <a
-              href="https://github.com/tokens-studio/figma-plugin"
-              style={{ textDecoration: 'underline', color: '$fgMuted', fontSize: '$xsmall' }}
-              target="_blank"
-              rel="noreferrer"
-            >
-              {t('foundIssue')}
-            </a>
-          </Stack>
-        </Stack>
-      </Box>
-      <Footer />
-    </Box>
-  );
-}
- 
-export default StartScreen;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html deleted file mode 100644 index c965710e4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItem.tsx.html +++ /dev/null @@ -1,583 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItem.tsx - - - - - - - - - -
-
-

All files / src/app/components StorageItem.tsx

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import { useDispatch, useSelector } from 'react-redux';
-import { DotsVerticalIcon, ExclamationTriangleIcon } from '@radix-ui/react-icons';
-import {
-  Button, Box, Badge, Stack, IconButton, DropdownMenu,
-} from '@tokens-studio/ui';
-import isSameCredentials from '@/utils/isSameCredentials';
-import useRemoteTokens from '../store/remoteTokens';
-import { storageTypeSelector } from '@/selectors';
-import { StyledStorageItem } from './StyledStorageItem';
-import { StorageProviderType, type StorageTypeCredentials } from '@/types/StorageType';
-import { isGitProvider } from '@/utils/is';
-import useConfirm from '../hooks/useConfirm';
-import { getProviderIcon } from '@/utils/getProviderIcon';
-import useStorage from '../store/useStorage';
-import { Dispatch } from '../store';
-import { TokenFormatBadge } from './TokenFormatBadge';
- 
-type Props = {
-  item: StorageTypeCredentials;
-  onEdit: () => void;
-};
- 
-const StorageItem = ({ item, onEdit }: Props) => {
-  const [hasErrored, setHasErrored] = React.useState(false);
-  const [errorMessage, setErrorMessage] = React.useState<string>();
-  const storageType = useSelector(storageTypeSelector);
-  const { provider, id, name } = item;
-  const branch = isGitProvider(item) ? item.branch : null;
-  const { restoreStoredProvider, deleteProvider } = useRemoteTokens();
-  const { confirm } = useConfirm();
-  const { setStorageType } = useStorage();
-  const dispatch = useDispatch<Dispatch>();
- 
-  const { t } = useTranslation(['storage']);
- 
-  const askUserIfDelete = React.useCallback(async () => {
-    const shouldDelete = await confirm({
-      text: t('confirmDelete') as string,
-    });
-    return shouldDelete;
-  }, [confirm, t]);
- 
-  const isActive = React.useCallback(() => isSameCredentials(item, storageType), [item, storageType]);
- 
-  const handleDelete = React.useCallback(async () => {
-    if (await askUserIfDelete()) {
-      deleteProvider(item);
-      dispatch.tokenState.setEditProhibited(false);
-      dispatch.uiState.setLocalApiState({ provider: StorageProviderType.LOCAL });
-      setStorageType({
-        provider: { provider: StorageProviderType.LOCAL },
-        shouldSetInDocument: true,
-      });
-    }
-  }, [deleteProvider, item, askUserIfDelete, setStorageType, dispatch.uiState, dispatch.tokenState]);
- 
-  const handleRestore = React.useCallback(async () => {
-    const response = await restoreStoredProvider(item);
-    if (response.status === 'success') {
-      setHasErrored(false);
-    } else {
-      setHasErrored(true);
-      setErrorMessage(response?.errorMessage);
-    }
-  }, [item, restoreStoredProvider]);
- 
-  return (
-    <StyledStorageItem data-testid={`storageitem-${provider}-${id}`} key={`${provider}-${id}`} active={isActive()}>
-      <Stack
-        direction="column"
-        gap={1}
-        css={{
-          flexGrow: '1',
-          overflow: 'hidden',
-        }}
-      >
-        <Stack
-          direction="row"
-          gap={3}
-          css={{
-            flexGrow: '1',
-            overflow: 'hidden',
-            maxWidth: 'stretch',
-          }}
-        >
-          <Box css={{ color: '$fgDefault' }}>{getProviderIcon(provider)}</Box>
-          <Stack direction="column" gap={0} css={{ overflow: 'hidden' }}>
-            <Box
-              css={{
-                textOverflow: 'ellipsis',
-                overflow: 'hidden',
-                whiteSpace: 'nowrap',
-                fontSize: '$small',
-                fontWeight: '$sansBold',
-              }}
-            >
-              {name}
-            </Box>
-            <Box
-              css={{
-                whiteSpace: 'nowrap',
-                textOverflow: 'ellipsis',
-                overflow: 'hidden',
-                color: '$fgMuted',
-                fontSize: '$xsmall',
-                maxWidth: '100%',
-              }}
-            >
-              {id}
-              {' '}
-              {branch && ` (${branch})`}
-            </Box>
-          </Stack>
-        </Stack>
-        {hasErrored && isActive() && (
-          <Box
-            css={{
-              display: 'flex',
-              flexDirection: 'row',
-              color: '$dangerFg',
-              gap: '$3',
-              marginTop: '$3',
-            }}
-            data-testid="error-message"
-          >
-            <ExclamationTriangleIcon />
-            {errorMessage}
-          </Box>
-        )}
-      </Stack>
-      <Box css={{ marginRight: '$1' }}>
-        {isActive() ? (
-          <Stack gap={2} align="center">
-            {storageType.provider !== StorageProviderType.TOKENS_STUDIO && (
-              <TokenFormatBadge extended />
-            )}
-            <Badge>{t('active')}</Badge>
-          </Stack>
-        ) : (
-          <Button data-testid="button-storage-item-apply" variant="secondary" size="small" onClick={handleRestore}>
-            {t('apply')}
-          </Button>
-        )}
-      </Box>
-      <DropdownMenu>
-        <DropdownMenu.Trigger asChild data-testid="storage-item-tools-dropdown">
-          <IconButton icon={<DotsVerticalIcon />} variant="invisible" size="small" />
-        </DropdownMenu.Trigger>
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content>
-            <DropdownMenu.Item textValue={t('edit')} onSelect={onEdit}>
-              {t('edit')}
-            </DropdownMenu.Item>
-            <DropdownMenu.Item textValue={t('delete')} onSelect={handleDelete} css={{ color: '$dangerFg' }}>
-              {t('delete')}
-            </DropdownMenu.Item>
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-    </StyledStorageItem>
-  );
-};
- 
-export default StorageItem;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html deleted file mode 100644 index aff65a360..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm.tsx.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm.tsx - - - - - - - - - -
-
-

All files / src/app/components StorageItemForm.tsx

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import GitForm from './StorageItemForm/GitForm';
-import ADOForm from './StorageItemForm/ADOForm';
-import JSONBinForm from './StorageItemForm/JSONBinForm';
-import URLForm from './StorageItemForm/URLForm';
-import GenericVersionedForm from './StorageItemForm/GenericVersioned';
-import BitbucketForm from './StorageItemForm/BitbucketForm';
- 
-import { ChangeEventHandler } from './StorageItemForm/types';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import SupernovaForm from './StorageItemForm/SupernovaForm';
-import TokensStudioForm from './StorageItemForm/TokensStudioForm';
- 
-type Props = {
-  values: StorageTypeFormValues<true>;
-  onChange: ChangeEventHandler;
-  onCancel: () => void;
-  onSubmit: (values: StorageTypeFormValues<false>) => void;
-  isNew?: boolean;
-  hasErrored?: boolean;
-  errorMessage?: string;
- 
-};
- 
-export default function StorageItemForm({
-  isNew = false, onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  switch (values.provider) {
-    case StorageProviderType.GITHUB:
-    case StorageProviderType.GITLAB: {
-      return (
-        <GitForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.BITBUCKET: {
-      return (
-        <BitbucketForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.ADO: {
-      return (
-        <ADOForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.URL: {
-      return (
-        <URLForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
-      return (
-        <GenericVersionedForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.JSONBIN: {
-      return (
-        <JSONBinForm
-          isNew={isNew}
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.SUPERNOVA: {
-      return (
-        <SupernovaForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    case StorageProviderType.TOKENS_STUDIO: {
-      return (
-        <TokensStudioForm
-          onChange={onChange}
-          onSubmit={onSubmit}
-          onCancel={onCancel}
-          values={values}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      );
-    }
-    default: {
-      return null;
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html deleted file mode 100644 index d89785452..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/ADOForm.tsx.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/ADOForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm ADOForm.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import zod from 'zod';
-import {
-  Button, FormField, Stack, Text, Link, IconButton, Label, TextInput,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.ADO }>;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.ADO }>;
-  onChange: ChangeEventHandler;
-  onCancel: () => void;
-  onSubmit: (values: ValidatedFormValues) => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function ADOForm({
-  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  const { t } = useTranslation(['storage']);
-  const [isMasked, setIsMasked] = React.useState(true);
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string().optional(),
-        id: zod.string(),
-        branch: zod.string(),
-        filePath: zod.string(),
-        baseUrl: zod.string(),
-        secret: zod.string(),
-        internalId: zod.string().optional(),
-      });
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>
-          {t('providers.ado.description')}
-          {' '}
-          <Link href="https://docs.tokens.studio/token-storage/remote/sync-git-azure-devops?ref=addprovider" target="_blank" rel="noreferrer">
-            {t('providers.ado.readMore')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="baseUrl">{t('providers.ado.orgUrl')}</Label>
-          <TextInput
-            autoFocus
-            value={values.baseUrl || ''}
-            placeholder="https://dev.azure.com/my_organization_name"
-            onChange={onChange}
-            type="text"
-            name="baseUrl"
-            id="baseUrl"
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="name">{t('providers.ado.projectName')}</Label>
-          <TextInput value={values.name || ''} onChange={onChange} type="text" name="name" id="name" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.ado.pat')}</Label>
-          <TextInput
-            value={values.secret || ''}
-            onChange={onChange}
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-            name="secret"
-            id="secret"
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.ado.repositoryName')}</Label>
-          <TextInput value={values.id || ''} onChange={onChange} type="text" name="id" id="id" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="branch">{t('branch')}</Label>
-          <TextInput name="branch" id="branch" value={values.branch || ''} onChange={onChange} type="text" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="filePath">{t('filePath')}</Label>
-          <TextInput
-            value={values.filePath || ''}
-            onChange={onChange}
-            type="text"
-            name="filePath"
-            id="filePath"
-            required
-          />
-          <Text muted>{t('filePathCaption')}</Text>
-        </FormField>
- 
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
- 
-          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html deleted file mode 100644 index 6cafbfe03..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/BitbucketForm.tsx.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/BitbucketForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm BitbucketForm.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import zod from 'zod';
-import {
-  Button, TextInput, Stack, FormField, Label, Link, IconButton, Text,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.BITBUCKET }>;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.BITBUCKET }>;
-  onChange: ChangeEventHandler;
-  onSubmit: (values: ValidatedFormValues) => void;
-  onCancel: () => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function BitbucketForm({
-  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  const { t } = useTranslation(['storage']);
-  const [isMasked, setIsMasked] = React.useState(true);
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string(),
-        username: zod.string(),
-        id: zod.string(),
-        branch: zod.string(),
-        filePath: zod.string(),
-        baseUrl: zod.string().optional(),
-        secret: zod.string(),
-        internalId: zod.string().optional(),
-      });
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>{t('bitBucketExplained')}</Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          <Link
-            href="https://docs.tokens.studio/token-storage/remote/sync-git-bitbucket?ref=addprovider"
-            target="_blank"
-            rel="noreferrer"
-          >
-            {t('readMoreBitBucket')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('name')}</Label>
-          <TextInput value={values.name || ''} onChange={onChange} type="text" name="name" id="name" required />
-          <Text muted>{t('nameHelpText')}</Text>
-        </FormField>
-        <FormField>
-          <Label htmlFor="name">{t('providers.bitbucket.username')}</Label>
-          <TextInput
-            value={values.username || ''}
-            onChange={onChange}
-            type="text"
-            name="username"
-            id="username"
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.bitbucket.appPassword')}</Label>
-          <TextInput
-            value={values.secret || ''}
-            onChange={onChange}
-            name="secret"
-            id="secret"
-            required
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="id">{t('providers.bitbucket.repository')}</Label>
-          <TextInput value={values.id || ''} onChange={onChange} type="text" name="id" id="id" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="branch">{t('branch')}</Label>
-          <TextInput value={values.branch || ''} onChange={onChange} type="text" name="branch" id="branch" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="filePath">{t('filePath')}</Label>
-          <TextInput
-            value={values.filePath || ''}
-            onChange={onChange}
-            type="text"
-            name="filePath"
-            id="filePath"
-            required
-          />
-          <Text muted size="xsmall">
-            {t('filePathCaption')}
-          </Text>
-        </FormField>
- 
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
-          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html deleted file mode 100644 index aecb9a6b2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GenericVersioned.tsx.html +++ /dev/null @@ -1,793 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/GenericVersioned.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm GenericVersioned.tsx

-
- -
- 0% - Statements - 0/44 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import zod from 'zod';
-import { useTranslation } from 'react-i18next';
-import {
-  Box,
-  Stack,
-  Text,
-  Link,
-  IconButton,
-  Button,
-  Heading,
-  Select,
-  TextInput,
-  Label,
-  FormField,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { StorageTypeFormValues, GenericVersionedStorageFlow } from '@/types/StorageType';
-import XIcon from '@/icons/x.svg';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<
-StorageTypeFormValues<false>,
-{ provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }
->;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>;
-  onChange: ChangeEventHandler;
-  onCancel: () => void;
-  onSubmit: (values: ValidatedFormValues) => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-const zodSchema = zod.object({
-  provider: zod.string(),
-  id: zod.string(),
-  name: zod.string(),
-  flow: zod.string(),
-  additionalHeaders: zod.array(
-    zod.object({
-      name: zod.string(),
-      value: zod.string().default('storage.providers.generic.'),
-    }),
-  ),
-  internalId: zod.string().optional(),
-});
- 
-export default function GenericVersionedForm({
-  onChange,
-  onSubmit,
-  onCancel,
-  values,
-  hasErrored,
-  errorMessage,
-}: Props) {
-  const { t } = useTranslation(['storage']);
-  const [isMasked, setIsMasked] = React.useState(true);
- 
-  const toggleMask = useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
-      const validationResult = zodSchema.safeParse({ additionalHeaders: [], ...values });
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          provider: StorageProviderType.GENERIC_VERSIONED_STORAGE,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      } else {
-        // eslint-disable-next-line no-console
-        console.log(validationResult, values);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  const handleValueChange = useCallback(
-    (flow: string) => onChange({
-      target: {
-        name: 'flow',
-        value: flow as GenericVersionedStorageFlow,
-      },
-    }),
-    [onChange],
-  );
- 
-  const flow = useMemo(() => {
-    // If the form was created initially, default to Read write flow
-    if (typeof values.flow === 'undefined') {
-      const defaultFlow = GenericVersionedStorageFlow.READ_WRITE;
-      handleValueChange(defaultFlow);
-      return defaultFlow;
-    }
-    return values.flow;
-  }, [handleValueChange, values.flow]);
- 
-  // Always leave headers at the end
-  const headers = useMemo(
-    () => [...(values.additionalHeaders || []), { name: '', value: '' }],
-    [values.additionalHeaders],
-  );
- 
-  const headerChange = useCallback(
-    (changedHeaders: any) => {
-      onChange({
-        target: {
-          name: 'additionalHeaders',
-          value: changedHeaders,
-        },
-      });
-    },
-    [onChange],
-  );
-  const onHeaderChange = useCallback(
-    (e: React.ChangeEvent<HTMLInputElement>) => {
-      // Get the name of the target
-      const key = e.target.name;
-      const { value } = e.target;
- 
-      const index = Number(e.target.dataset.index);
- 
-      // Attempt to access the header at that value
-      const sampleHeader = headers[index];
- 
-      // Create a new header. Don't mutate the existing header
-      const newHeader = {
-        ...sampleHeader,
-        [key]: value,
-      };
- 
-      headers[index] = newHeader;
- 
-      const newHeaders = headers.filter((x) => x.name.length);
-      headerChange(newHeaders);
-    },
-    [headerChange, headers],
-  );
- 
-  const handleClose = useCallback(
-    (e: any) => {
-      const index = Number(e.target.dataset.index);
- 
-      const removedHeaders = [...headers];
-      removedHeaders.splice(index, 1);
-      const newHeaders = removedHeaders.filter((x) => x.name.length);
-      headerChange(newHeaders);
-    },
-    [headers, headerChange],
-  );
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>{t('providers.generic.description')}</Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          <Link href="https://docs.tokens.studio/token-storage/remote/sync-server-generic?ref=addprovider" target="_blank" rel="noreferrer">
-            {t('providers.generic.readMore')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('providers.generic.name')}</Label>
-          <TextInput name="name" id="name" value={values.name || ''} onChange={onChange} type="text" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="id">{t('providers.generic.url')}</Label>
-          <TextInput value={values.id || ''} onChange={onChange} type="text" name="id" id="id" required />
-        </FormField>
-        <FormField>
-          <Label>{t('providers.generic.flowType')}</Label>
-          <Select value={flow} onValueChange={handleValueChange}>
-            <Select.Trigger data-testid="flow-dropdown" value={flow} />
-            <Select.Content>
-              <Select.Item value={GenericVersionedStorageFlow.READ_ONLY}>{t('providers.generic.readOnly')}</Select.Item>
-              <Select.Item value={GenericVersionedStorageFlow.READ_WRITE}>
-                {t('providers.generic.readWrite')}
-              </Select.Item>
-              <Select.Item value={GenericVersionedStorageFlow.READ_WRITE_CREATE}>
-                {t('providers.generic.readWriteCreate')}
-              </Select.Item>
-            </Select.Content>
-          </Select>
-        </FormField>
-        <Stack direction="column" gap={5}>
-          <Heading size="medium">{t('providers.generic.additionalHeaders')}</Heading>
-          {headers.map((x, i) => (
-            <Box css={{ display: 'flex', alignItems: 'flex-end', gap: '1em' }}>
-              <FormField>
-                <Label htmlFor="name">{t('providers.generic.name')}</Label>
-                <TextInput value={x?.name} onChange={onHeaderChange} type="text" name="name" id="name" data-index={i} />
-              </FormField>
-              <FormField>
-                <Label htmlFor="name">{t('providers.generic.value')}</Label>
-                <TextInput
-                  value={x.value}
-                  disabled={!x.name}
-                  onChange={onHeaderChange}
-                  type={isMasked ? 'password' : 'text'}
-                  trailingAction={(
-                    <IconButton
-                      variant="invisible"
-                      size="small"
-                      onClick={toggleMask}
-                      icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-                    />
-                  )}
-                  name="value"
-                  id="value"
-                  data-index={i}
-                />
-              </FormField>
-              <IconButton onClick={handleClose} data-index={i} variant="invisible" icon={<XIcon />} />
-            </Box>
-          ))}
-        </Stack>
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
-          <Button variant="primary" type="submit" disabled={!values.id}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html deleted file mode 100644 index fb2ef8b98..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/GitForm.tsx.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/GitForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm GitForm.tsx

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/28 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import zod from 'zod';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, FormField, IconButton, Label, Link, Stack, Text, TextInput,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeFormValues } from '@/types/StorageType';
- 
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<
-StorageTypeFormValues<false>,
-{ provider: StorageProviderType.GITHUB | StorageProviderType.GITLAB }
->;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.GITHUB | StorageProviderType.GITLAB }>;
-  onChange: ChangeEventHandler;
-  onSubmit: (values: ValidatedFormValues) => void;
-  onCancel: () => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function GitForm({
-  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  const [isMasked, setIsMasked] = React.useState(true);
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const { t } = useTranslation(['storage']);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string(),
-        id: zod.string(),
-        branch: zod.string(),
-        filePath: zod.string(),
-        baseUrl: zod.string().optional(),
-        secret: zod.string(),
-        internalId: zod.string().optional(),
-      });
- 
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  const baseUrlPlaceholder = `https://${values.provider}.hyma.com`;
-  const gitExplainedText = values.provider === StorageProviderType.GITHUB ? t('gitHubExplained') : t('gitLabExplained');
-  const readMoreText = values.provider === StorageProviderType.GITHUB ? t('readMoreGitHub') : t('readMoreGitLab');
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>{gitExplainedText}</Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          <Link
-            href={`https://docs.tokens.studio/sync/${values.provider}?ref=addprovider`}
-            target="_blank"
-            rel="noreferrer"
-          >
-            {readMoreText}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('name')}</Label>
-          <TextInput
-            autoFocus
-            name="name"
-            id="name"
-            value={values.name || ''}
-            onChange={onChange}
-            type="text"
-            required
-          />
-          <Text muted>{t('nameHelpText')}</Text>
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('pat')}</Label>
-          <TextInput
-            name="secret"
-            id="secret"
-            value={values.secret || ''}
-            onChange={onChange}
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="id">{t('repo')}</Label>
-          <TextInput name="id" id="id" value={values.id || ''} onChange={onChange} type="text" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="branch">{t('branch')}</Label>
-          <TextInput name="branch" id="branch" value={values.branch || ''} onChange={onChange} type="text" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="filePath">{t('filePath')}</Label>
-          <TextInput
-            name="filePath"
-            id="filePath"
-            defaultValue=""
-            value={values.filePath || ''}
-            onChange={onChange}
-            type="text"
-          />
-          <Text muted size="xsmall">
-            {t('filePathCaption')}
-          </Text>
-        </FormField>
-        <FormField>
-          <Label htmlFor="baseUrl">{t('baseUrl')}</Label>
-          <TextInput
-            name="baseUrl"
-            id="baseUrl"
-            value={values.baseUrl || ''}
-            placeholder={baseUrlPlaceholder}
-            onChange={onChange}
-            type="text"
-          />
-          <Text muted>{t('baseUrlHelpText')}</Text>
-        </FormField>
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
- 
-          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html deleted file mode 100644 index fe60cfa09..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/JSONBinForm.tsx.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/JSONBinForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm JSONBinForm.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/21 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import zod from 'zod';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, FormField, IconButton, Label, Link, Stack, Text, TextInput,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.JSONBIN }>;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.JSONBIN }>;
-  onChange: ChangeEventHandler;
-  onCancel: () => void;
-  onSubmit: (values: ValidatedFormValues) => void;
-  isNew?: boolean;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function JSONBinForm({
-  isNew = false,
-  onChange,
-  onSubmit,
-  onCancel,
-  values,
-  hasErrored,
-  errorMessage,
-}: Props) {
-  const { t } = useTranslation(['storage']);
-  const [isMasked, setIsMasked] = React.useState(true);
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string().optional(),
-        id: zod.string().optional(),
-        secret: zod.string(),
-        internalId: zod.string().optional(),
-      });
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          provider: StorageProviderType.JSONBIN,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>{t('providers.jsonbin.description')}</Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          <Link href="https://docs.tokens.studio/token-storage/remote/sync-cloud-jsonbin?ref=addprovider" target="_blank" rel="noreferrer">
-            {t('providers.jsonbin.readMore')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('name')}</Label>
-          <TextInput
-            autoFocus
-            name="name"
-            id="name"
-            value={values.name || ''}
-            onChange={onChange}
-            type="text"
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.jsonbin.apiKey')}</Label>
-          <TextInput
-            name="secret"
-            id="secret"
-            value={values.secret || ''}
-            onChange={onChange}
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="id">{`ID${isNew ? ' (optional)' : ''}`}</Label>
-          <TextInput name="id" id="id" value={values.id || ''} onChange={onChange} type="text" required={!isNew} />
-          <Text muted>{t('providers.jsonbin.idHelp')}</Text>
-        </FormField>
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
- 
-          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html deleted file mode 100644 index d37eb8ff2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/SupernovaForm.tsx.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/SupernovaForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm SupernovaForm.tsx

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useRef } from 'react';
-import zod from 'zod';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Textarea, TextInput, Stack, Text, Link, Label, IconButton, FormField,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { generateId } from '@/utils/generateId';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.SUPERNOVA }>;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.SUPERNOVA }>;
-  onChange: React.ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;
-  onSubmit: (values: ValidatedFormValues) => void;
-  onCancel: () => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function SupernovaForm({
-  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  const inputEl = useRef<HTMLInputElement | null>(null);
-  const [isMasked, setIsMasked] = React.useState(true);
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const { t } = useTranslation(['storage']);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string(),
-        designSystemUrl: zod.string(),
-        secret: zod.string(),
-        mapping: zod.string(),
-        internalId: zod.string().optional(),
-      });
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  const handleMappingChange = React.useCallback(
-    (value: string, event: React.ChangeEvent<HTMLTextAreaElement>) => {
-      // TODO: Refactor how we pass on state here. Right now storage item form requires the full event.
-      onChange({ ...event, target: { ...event.target, name: 'mapping', value: event.target.value } });
-    },
-    [onChange],
-  );
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>{t('providers.supernova.description')}</Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          <Link href="https://docs.tokens.studio/token-storage/remote/sync-cloud-supernova?ref=addprovider" target="_blank" rel="noreferrer">
-            {t('providers.supernova.readMore')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('name')}</Label>
-          <TextInput name="name" id="name" value={values.name || ''} onChange={onChange} type="text" required />
-          <Text muted>{t('nameHelpText')}</Text>
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.supernova.accessToken')}</Label>
-          <TextInput
-            name="secret"
-            id="secret"
-            value={values.secret || ''}
-            onChange={onChange}
-            ref={inputEl}
-            required
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="designSystemUrl">{t('providers.supernova.dsUrl')}</Label>
-          <TextInput
-            name="designSystemUrl"
-            id="designSystemUrl"
-            value={values.designSystemUrl || ''}
-            onChange={onChange}
-            type="text"
-            required
-          />
-        </FormField>
-        <FormField>
-          <Label htmlFor="mapping">Supernova &lt;&gt; Tokens Studio mapping</Label>
-          <Textarea id="mapping" rows={8} value={values.mapping ?? ''} onChange={handleMappingChange} placeholder="" />
-        </FormField>
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
-          <Button
-            variant="primary"
-            type="submit"
-            disabled={!values.secret && !values.name && !values.designSystemUrl && !values.mapping}
-          >
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html deleted file mode 100644 index 03fc98baa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/TokensStudioForm.tsx.html +++ /dev/null @@ -1,886 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/TokensStudioForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm TokensStudioForm.tsx

-
- -
- 0% - Statements - 0/56 -
- - -
- 0% - Branches - 0/46 -
- - -
- 0% - Functions - 0/19 -
- - -
- 0% - Lines - 0/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useEffect } from 'react';
-import { useDispatch } from 'react-redux';
-import zod from 'zod';
-import {
-  Box,
-  Button,
-  FormField,
-  Heading,
-  IconButton,
-  Label,
-  Link,
-  Select,
-  Stack,
-  Text,
-  TextInput,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import { create, Organization } from '@tokens-studio/sdk';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
-import TokensStudioWord from '@/icons/tokensstudio-word.svg';
-import { styled } from '@/stitches.config';
-import { GET_ORGS_QUERY } from '@/storage/tokensStudio/graphql';
-import { Dispatch } from '@/app/store';
- 
-const StyledTokensStudioWord = styled(TokensStudioWord, {
-  width: '200px',
-  height: '25px',
-});
- 
-type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.TOKENS_STUDIO }>;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.TOKENS_STUDIO }>;
-  onChange: ChangeEventHandler;
-  onSubmit: (values: ValidatedFormValues) => void;
-  onCancel: () => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function TokensStudioForm({
-  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  const { t } = useTranslation(['storage']);
-  const [fetchOrgsError, setFetchOrgsError] = React.useState<string | null>(null);
-  const [orgData, setOrgData] = React.useState<Organization[]>([]);
-  const [isMasked, setIsMasked] = React.useState(true);
-  const [showTeaser, setShowTeaser] = React.useState(true);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string(),
-        id: zod.string(),
-        secret: zod.string(),
-        internalId: zod.string().optional(),
-        orgId: zod.string(),
-      });
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  React.useEffect(() => {
-    if (values.secret) {
-      setShowTeaser(false);
-    }
-  }, [values]);
- 
-  const handleDismissTeaser = React.useCallback(() => {
-    setShowTeaser(false);
-  }, []);
- 
-  const fetchOrgData = React.useCallback(async () => {
-    try {
-      const client = create({
-        host: process.env.TOKENS_STUDIO_API_HOST || 'localhost:4200',
-        secure: process.env.NODE_ENV !== 'development',
-        auth: `Bearer ${values.secret}`,
-      });
-      const result = await client.query({
-        query: GET_ORGS_QUERY,
-      });
-      if (result.data?.organizations && values.secret) {
-        setOrgData(result.data.organizations.data as Organization[]);
-        dispatch.userState.setTokensStudioPAT(values.secret);
-      }
-    } catch (error) {
-      setFetchOrgsError('Error fetching organization data. Please check your Studio API key.');
-    }
-  }, [values.secret, dispatch]);
- 
-  useEffect(() => {
-    if (values.secret) {
-      fetchOrgData();
-    }
-  }, [values.secret, fetchOrgData]);
- 
-  const orgOptions = React.useMemo(
-    () => orgData?.map((org) => ({
-      label: org.name,
-      value: org.id,
-    })),
-    [orgData],
-  );
- 
-  const onOrgChange = React.useCallback(
-    (value: string) => {
-      onChange({ target: { name: 'orgId', value } });
-    },
-    [onChange],
-  );
- 
-  const projectOptions = React.useMemo(() => {
-    if (!orgData) return [];
-    const selectedOrgData = orgData.find((org) => org.id === values.orgId);
-    if (!selectedOrgData) return [];
-    return selectedOrgData.projects.data.map((project) => ({
-      label: project.name,
-      value: project.id,
-    }));
-  }, [orgData, values.orgId]);
- 
-  const selectedOrg = orgOptions?.find((org) => org.value === values.orgId);
- 
-  const selectedProject = projectOptions?.find((project) => project.value === values.id);
- 
-  const onProjectChange = React.useCallback(
-    (value: string) => {
-      onChange({ target: { name: 'id', value } });
-    },
-    [onChange],
-  );
- 
-  return showTeaser ? (
-    <Stack direction="column" align="start" gap={5}>
-      <StyledTokensStudioWord />
-      <Stack direction="column" gap={3}>
-        <Heading size="large">A dedicated design tokens management platform</Heading>
-        <Box>
-          We are working a dedicated design tokens management platform built on our powerful node-based graph engine
-          including plug and play token transformation - suitable for enterprises! Still in early access, sign up for
-          the waitlist!
-        </Box>
-        <Link href="https://tokens.studio/studio" target="_blank" rel="noreferrer">
-          Learn more
-        </Link>
-      </Stack>
-      <Button onClick={handleDismissTeaser}>Already got access?</Button>
-    </Stack>
-  ) : (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>
-          {t('providers.tokensstudio.descriptionFirstPart')}
-          {' '}
-          <Link
-            href="https://q2gsw2tok1e.typeform.com/to/pJCwLVh2?typeform-source=tokens.studio"
-            target="_blank"
-            rel="noreferrer"
-          >
-            {t('providers.tokensstudio.signupText')}
-          </Link>
-        </Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          {t('providers.tokensstudio.descriptionSecondPart')}
-          <Link
-            href="https://docs.tokens.studio/token-storage/remote/sync-cloud-studio-platform?ref=addprovider"
-            target="_blank"
-            rel="noreferrer"
-          >
-            {t('providers.tokensstudio.tokensStudioSyncGuide')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('providers.tokensstudio.name')}</Label>
-          <TextInput name="name" id="name" value={values.name || ''} onChange={onChange} type="text" required />
-          <Text muted>{t('nameHelpText')}</Text>
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.tokensstudio.pat')}</Label>
-          <TextInput
-            value={values.secret || ''}
-            onChange={onChange}
-            name="secret"
-            id="secret"
-            onBlur={fetchOrgData}
-            required
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-          />
-          {fetchOrgsError && <Text muted>{fetchOrgsError}</Text>}
-        </FormField>
-        {orgOptions?.length > 0 && (
-          <Stack direction="column" gap={2}>
-            <Label htmlFor="org">{t('providers.tokensstudio.selectOrgLabel')}</Label>
-            <div>
-              <Select value={values.orgId ?? ''} onValueChange={onOrgChange} name="org">
-                <Select.Trigger value={selectedOrg?.label || 'Choose an organization'} />
-                <Select.Content>
-                  {orgOptions?.map((option) => (
-                    <Select.Item key={option.value} value={option.value}>
-                      {option.label}
-                    </Select.Item>
-                  ))}
-                </Select.Content>
-              </Select>
-            </div>
-          </Stack>
-        )}
- 
-        {projectOptions?.length > 0 && (
-          <Stack direction="column" gap={2}>
-            <Label htmlFor="org">{t('providers.tokensstudio.selectProjectLabel')}</Label>
-            <div>
-              <Select value={values.id ?? ''} onValueChange={onProjectChange} name="id">
-                <Select.Trigger value={selectedProject?.label || 'Choose a project'} />
-                <Select.Content>
-                  {projectOptions?.map((option) => (
-                    <Select.Item key={option.value} value={option.value}>
-                      {option.label}
-                    </Select.Item>
-                  ))}
-                </Select.Content>
-              </Select>
-            </div>
-          </Stack>
-        )}
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
-          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html deleted file mode 100644 index a01a06008..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/URLForm.tsx.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/URLForm.tsx - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm URLForm.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import zod from 'zod';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, TextInput, Stack, Text, Link, Label, IconButton, FormField,
-} from '@tokens-studio/ui';
-import { EyeClosedIcon, EyeOpenIcon } from '@radix-ui/react-icons';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { generateId } from '@/utils/generateId';
-import { ChangeEventHandler } from './types';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type ValidatedFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.URL }>;
-type Props = {
-  values: Extract<StorageTypeFormValues<true>, { provider: StorageProviderType.URL }>;
-  onChange: ChangeEventHandler;
-  onCancel: () => void;
-  onSubmit: (values: ValidatedFormValues) => void;
-  hasErrored?: boolean;
-  errorMessage?: string;
-};
- 
-export default function URLForm({
-  onChange, onSubmit, onCancel, values, hasErrored, errorMessage,
-}: Props) {
-  const { t } = useTranslation(['storage']);
- 
-  const [isMasked, setIsMasked] = React.useState(false);
- 
-  const toggleMask = React.useCallback(() => {
-    setIsMasked((prev) => !prev);
-  }, []);
- 
-  const handleSubmit = React.useCallback(
-    (event: React.FormEvent<HTMLFormElement>) => {
-      event.preventDefault();
- 
-      const zodSchema = zod.object({
-        provider: zod.string(),
-        name: zod.string().optional(),
-        id: zod.string(),
-        secret: zod.string().optional(),
-        internalId: zod.string().optional(),
-      });
-      const validationResult = zodSchema.safeParse(values);
-      if (validationResult.success) {
-        const formFields = {
-          ...validationResult.data,
-          provider: StorageProviderType.URL,
-          internalId: validationResult.data.internalId || generateId(24),
-        } as ValidatedFormValues;
-        onSubmit(formFields);
-      }
-    },
-    [values, onSubmit],
-  );
- 
-  return (
-    <form onSubmit={handleSubmit}>
-      <Stack direction="column" gap={5}>
-        <Text muted>{t('providers.url.description')}</Text>
-        <Text muted css={{ marginTop: '$2' }}>
-          <Link href="https://docs.tokens.studio/token-storage/remote/sync-server-url?ref=addprovider" target="_blank" rel="noreferrer">
-            {t('providers.url.readMore')}
-          </Link>
-        </Text>
-        <FormField>
-          <Label htmlFor="name">{t('name')}</Label>
-          <TextInput
-            autoFocus
-            name="name"
-            id="name"
-            value={values.name || ''}
-            onChange={onChange}
-            type="text"
-            required
-          />
-          <Text muted>{t('nameHelpText')}</Text>
-        </FormField>
-        <FormField>
-          <Label htmlFor="id">{t('providers.url.url')}</Label>
-          <TextInput name="id" id="id" value={values.id || ''} onChange={onChange} type="text" required />
-        </FormField>
-        <FormField>
-          <Label htmlFor="secret">{t('providers.url.headers')}</Label>
-          <TextInput
-            name="secret"
-            id="secret"
-            value={values.secret || ''}
-            onChange={onChange}
-            type={isMasked ? 'password' : 'text'}
-            trailingAction={(
-              <IconButton
-                variant="invisible"
-                size="small"
-                onClick={toggleMask}
-                icon={isMasked ? <EyeClosedIcon /> : <EyeOpenIcon />}
-              />
-            )}
-          />
-        </FormField>
-        <Stack direction="row" justify="end" gap={4}>
-          <Button variant="secondary" onClick={onCancel}>
-            {t('cancel')}
-          </Button>
- 
-          <Button variant="primary" type="submit" disabled={!values.secret && !values.name}>
-            {t('save')}
-          </Button>
-        </Stack>
-        {hasErrored && <ErrorMessage data-testid="provider-modal-error">{errorMessage}</ErrorMessage>}
-      </Stack>
-    </form>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html deleted file mode 100644 index d0fde9db1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/index.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm - - - - - - - - - -
-
-

All files src/app/components/StorageItemForm

-
- -
- 0% - Statements - 0/184 -
- - -
- 0% - Branches - 0/201 -
- - -
- 0% - Functions - 0/57 -
- - -
- 0% - Lines - 0/167 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ADOForm.tsx -
-
0%0/130%0/240%0/40%0/12
BitbucketForm.tsx -
-
0%0/130%0/240%0/40%0/12
GenericVersioned.tsx -
-
0%0/440%0/180%0/130%0/41
GitForm.tsx -
-
0%0/160%0/280%0/40%0/15
JSONBinForm.tsx -
-
0%0/130%0/210%0/40%0/12
SupernovaForm.tsx -
-
0%0/160%0/220%0/50%0/15
TokensStudioForm.tsx -
-
0%0/560%0/460%0/190%0/48
URLForm.tsx -
-
0%0/130%0/180%0/40%0/12
types.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html deleted file mode 100644 index d40d1781b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StorageItemForm/types.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/components/StorageItemForm/types.ts - - - - - - - - - -
-
-

All files / src/app/components/StorageItemForm types.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export type Eventlike = { target: { name: string, value: unknown } };
-export type ChangeEventHandler = (e:Eventlike) => void;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html deleted file mode 100644 index 356c19f07..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledBrokenReferenceIndicator.tsx.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledBrokenReferenceIndicator.tsx - - - - - - - - - -
-
-

All files / src/app/components StyledBrokenReferenceIndicator.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import IconBrokenLink from '@/icons/brokenlink.svg';
-import { styled } from '@/stitches.config';
- 
-const StyledIndicator = styled('div', {
-  position: 'absolute',
-  top: '3px',
-  right: '3px',
-  borderRadius: '100%',
-  border: '1px solid $bgDefault',
-  background: '$dangerFg',
-  width: '6px',
-  height: '6px',
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'center',
-});
- 
-export default function StyledBrokenReferenceIndicator() {
-  return (
-    <StyledIndicator>
-      <IconBrokenLink />
-    </StyledIndicator>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html deleted file mode 100644 index bb5f74ffa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDiff.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDiff.tsx - - - - - - - - - -
-
-

All files / src/app/components StyledDiff.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledDiff = styled(('div'), {
-  padding: '$2 $3',
-  wordBreak: 'break-all',
-  fontWeight: '$sansBold',
-  borderRadius: '$medium',
-  fontSize: '$xsmall',
-  variants: {
-    type: {
-      success: {
-        backgroundColor: '$successBg',
-        color: '$successFg',
-      },
-      danger: {
-        backgroundColor: '$dangerBg',
-        color: '$dangerFg',
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html deleted file mode 100644 index cbde1c5a6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDirtyStateBadge.tsx.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDirtyStateBadge.tsx - - - - - - - - - -
-
-

All files / src/app/components StyledDirtyStateBadge.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledDirtyStateBadge = styled('div', {
-  position: 'absolute',
-  top: 0,
-  right: 0,
-  width: '$3',
-  height: '$3',
-  borderRadius: '100px',
-  backgroundColor: '$accentEmphasis',
-  pointerEvents: 'none',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html deleted file mode 100644 index 5b0de5d3c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragGrabber.tsx.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger/DragGrabber.tsx - - - - - - - - - -
-
-

All files / src/app/components/StyledDragger DragGrabber.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import IconGrabber from '@/icons/grabber.svg';
-import { StyledGrabber } from './StyledGrabber';
-import { StyledBeforeFlex } from './StyledBeforeFlex';
- 
-export type Props<T> = {
-  item: T;
-  canReorder?: boolean;
-  onDragStart?: (event: React.PointerEvent<HTMLDivElement>, item: T) => void;
-};
- 
-export function DragGrabber<T>({ item, canReorder = false, onDragStart }: Props<T>) {
-  const handleGrabberPointerDown = useCallback<React.PointerEventHandler<HTMLDivElement>>(
-    (event) => {
-      if (onDragStart) onDragStart(event, item);
-    },
-    [item, onDragStart],
-  );
- 
-  return (
-    <StyledBeforeFlex>
-      <StyledGrabber onPointerDown={handleGrabberPointerDown} canReorder={canReorder}>
-        <IconGrabber />
-      </StyledGrabber>
-    </StyledBeforeFlex>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html deleted file mode 100644 index e538d5f61..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/DragItem.tsx.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger/DragItem.tsx - - - - - - - - - -
-
-

All files / src/app/components/StyledDragger DragItem.tsx

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo } from 'react';
-import { useDragControls, useMotionValue } from 'framer-motion';
-import { Stack } from '@tokens-studio/ui';
-import { useSelector } from 'react-redux';
- 
-import { editProhibitedSelector } from '@/selectors';
-import { DragControlsContext } from '@/context';
-import { ReorderItem } from '@/motion/ReorderItem';
-import { useRaisedShadow } from '../use-raised-shadow';
- 
-type Props<T> = React.PropsWithChildren<{
-  item: T;
-}>;
- 
-export function DragItem<T>({ item, children }: Props<T>) {
-  const y = useMotionValue(0);
-  const boxShadow = useRaisedShadow(y);
-  const controls = useDragControls();
-  const editProhibited = useSelector(editProhibitedSelector);
-  const contextValue = useMemo(() => ({ controls }), [controls]);
- 
-  return (!editProhibited)
-    ? (
-      <DragControlsContext.Provider value={contextValue}>
-        <ReorderItem
-          dragListener={false}
-          dragControls={controls}
-          value={item}
-          style={{ boxShadow, y }}
-        >
-          {children}
-        </ReorderItem>
-      </DragControlsContext.Provider>
-    )
-    : (
-      <Stack direction="row">
-        {children}
-      </Stack>
-    );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html deleted file mode 100644 index e70ccbd1e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledBeforeFlex.tsx.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger/StyledBeforeFlex.tsx - - - - - - - - - -
-
-

All files / src/app/components/StyledDragger StyledBeforeFlex.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { Flex } from '../Flex';
-import { styled } from '@/stitches.config';
- 
-export const StyledBeforeFlex = styled(Flex, {
-  paddingRight: '$2',
-  gap: '0px',
-  alignSelf: 'stretch',
-  alignItems: 'center',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html deleted file mode 100644 index cb72a5e6b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledCheckbox.tsx.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger/StyledCheckbox.tsx - - - - - - - - - -
-
-

All files / src/app/components/StyledDragger StyledCheckbox.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Box from '../Box';
-import { styled } from '@/stitches.config';
- 
-export const StyledCheckbox = styled(Box, {
-  position: 'absolute',
-  right: '$4',
-  height: '100%',
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'space-between',
-  variants: {
-    checked: {
-      true: {
-        opacity: 1,
-      },
-      indeterminate: {
-        opacity: 1,
-      },
-      false: {
-        opacity: 0.5,
-        '&:hover, &:focus': {
-          opacity: 1,
-        },
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html deleted file mode 100644 index b92d6e5f1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledDragButton.tsx.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger/StyledDragButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/StyledDragger StyledDragButton.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
-import { StyledCheckbox } from './StyledCheckbox';
-import { StyledGrabber } from './StyledGrabber';
- 
-export const StyledDragButton = styled('button', {
-  display: 'flex',
-  width: '100%',
-  textAlign: 'left',
-  '&:hover, &:focus': {
-    boxShadow: 'none',
-    [`+ ${StyledCheckbox}`]: {
-      opacity: 1,
-    },
-  },
-  variants: {
-    isActive: {
-      true: {
-        backgroundColor: '$accentBg',
-        borderColor: '$accentDefault',
-      },
-      false: {
-        '&:focus, &:hover': {
-          background: '$bgSubtle',
-        },
-      },
-    },
-    grabberVisible: {
-      true: {
-        [`${StyledGrabber}`]: {
-          opacity: 1,
-        },
-      },
-    },
-    canReorder: {
-      true: {
-        '&:hover, &:focus': {
-          [`${StyledGrabber}`]: {
-            opacity: 1,
-          },
-        },
-      },
-    },
-    itemType: {
-      folder: {
-        cursor: 'default',
-        '&:hover, &:focus': {
-          backgroundColor: 'inherit',
-        },
-      },
-      set: {},
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html deleted file mode 100644 index 5a00c8113..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/StyledGrabber.tsx.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger/StyledGrabber.tsx - - - - - - - - - -
-
-

All files / src/app/components/StyledDragger StyledGrabber.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Box from '../Box';
-import { styled } from '@/stitches.config';
- 
-export const StyledGrabber = styled(Box, {
-  display: 'flex',
-  alignItems: 'center',
-  width: '$4',
-  height: '100%',
-  color: '$fgSubtle',
-  opacity: 0,
-  variants: {
-    canReorder: {
-      true: {
-        cursor: 'grab',
-        '&:hover': {
-          opacity: 1,
-        },
-      },
-      false: {
-        pointerEvents: 'none',
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html deleted file mode 100644 index 946da6982..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledDragger/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledDragger - - - - - - - - - -
-
-

All files src/app/components/StyledDragger

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
DragGrabber.tsx -
-
0%0/40%0/30%0/20%0/3
DragItem.tsx -
-
0%0/70%0/20%0/20%0/6
StyledBeforeFlex.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledCheckbox.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledDragButton.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledGrabber.tsx -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html deleted file mode 100644 index 277c2b589..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInputSuffix.tsx.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledInputSuffix.tsx - - - - - - - - - -
-
-

All files / src/app/components StyledInputSuffix.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
-import IconDisclosure from '@/icons/disclosure.svg';
- 
-export const StyledIconDisclosure = styled(IconDisclosure, {
-  width: '16px',
-  height: '16px',
-  transition: 'transform 0.2s ease-in-out',
-});
- 
-export const StyledInputSuffix = styled('button', {
-  width: '$controlSmall',
-  height: '$controlSmall',
-  backgroundColor: '$bgSubtle',
-  border: '1px solid',
-  borderColor: '$borderMuted',
-  borderTopRightRadius: '$small',
-  borderBottomRightRadius: '$small',
-  display: 'flex',
-  justifyContent: 'center',
-  alignItems: 'center',
- 
-  '&:focus': {
-    outline: 'none',
-    backgroundColor: '$accentDefault',
-    color: '$fgOnEmphasis',
-    boxShadow: 'none',
-    borderColor: '$accentDefault',
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html deleted file mode 100644 index 3d3510576..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledInspectBadge.tsx.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledInspectBadge.tsx - - - - - - - - - -
-
-

All files / src/app/components StyledInspectBadge.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledInspectBadge = styled('div', {
-  padding: '$2',
-  color: '$fgDefault',
-  background: '$bgSubtle',
-  borderRadius: '$small',
-  fontSize: '$xsmall',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html deleted file mode 100644 index 4be05ee39..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StyledStorageItem.tsx.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/app/components/StyledStorageItem.tsx - - - - - - - - - -
-
-

All files / src/app/components StyledStorageItem.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledStorageItem = styled('div', {
-  border: '1px solid',
-  padding: '$3',
-  textAlign: 'left',
-  display: 'flex',
-  width: '100%',
-  flexDirection: 'row',
-  justifyContent: 'space-between',
-  borderRadius: '$medium',
-  alignItems: 'center',
-  variants: {
-    active: {
-      true: {
-        borderColor: '$accentBorder',
-        backgroundColor: '$accentBg',
-      },
-      false: {
-        borderColor: '$borderSubtle',
-        backgroundColor: 'transparent',
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html deleted file mode 100644 index ee0fd4a4c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/StylesDropdown.tsx.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - Code coverage report for src/app/components/StylesDropdown.tsx - - - - - - - - - -
-
-

All files / src/app/components StylesDropdown.tsx

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { DropdownMenu, Button } from '@tokens-studio/ui';
-import useTokens from '../store/useTokens';
- 
-import { activeTokenSetReadOnlySelector, editProhibitedSelector, themesListSelector } from '@/selectors';
-import ManageStylesAndVariables from './ManageStylesAndVariables/ManageStylesAndVariables';
-import ImportVariablesDialog from './ImportVariablesDialog';
-import { useImportVariables } from '../hooks/useImportVariables';
-import { useIsProUser } from '../hooks/useIsProUser';
- 
-export default function StylesDropdown() {
-  const editProhibited = useSelector(editProhibitedSelector);
-  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
-  const themes = useSelector(themesListSelector);
-  const proUser = useIsProUser();
-  const importDisabled = editProhibited || activeTokenSetReadOnly;
- 
-  const { pullStyles } = useTokens();
-  const { t } = useTranslation(['tokens']);
- 
-  const [showModal, setShowModal] = React.useState(false);
-  const {
-    isDialogOpen,
-    collections,
-    isLoading,
-    openDialog,
-    closeDialog,
-    importVariables,
-  } = useImportVariables();
- 
-  const handleOpenModal = useCallback(() => {
-    setShowModal(true);
-  }, [setShowModal]);
- 
-  const handleImportVariables = useCallback(() => {
-    openDialog();
-  }, [openDialog]);
- 
-  const handleConfirmImport = useCallback((selectedCollections, options) => {
-    importVariables(selectedCollections, options, themes, proUser);
-  }, [importVariables, themes, proUser]);
- 
-  return (
-    <>
-      <DropdownMenu>
-        <DropdownMenu.Trigger asChild>
-          <Button size="small" asDropdown>
-            {t('stylesAndVariables')}
-          </Button>
-        </DropdownMenu.Trigger>
- 
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content side="top">
-            <DropdownMenu.Item textValue="Export styles & variables" onSelect={handleOpenModal}>{t('exportStylesAndVariables')}</DropdownMenu.Item>
-            <DropdownMenu.Item textValue="Import variables" disabled={importDisabled || isLoading} onSelect={handleImportVariables}>{t('importVariables')}</DropdownMenu.Item>
-            <DropdownMenu.Item textValue="Import styles" disabled={importDisabled} onSelect={pullStyles}>{t('importStyles')}</DropdownMenu.Item>
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-      {showModal && <ManageStylesAndVariables showModal={showModal} setShowModal={setShowModal} />}
-      <ImportVariablesDialog
-        isOpen={isDialogOpen}
-        onClose={closeDialog}
-        onConfirm={handleConfirmImport}
-        collections={collections}
-      />
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html deleted file mode 100644 index 73bdd9c5d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/SyncSettings.tsx.html +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - Code coverage report for src/app/components/SyncSettings.tsx - - - - - - - - - -
-
-

All files / src/app/components SyncSettings.tsx

-
- -
- 0% - Statements - 0/37 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable jsx-a11y/label-has-associated-control */
-import React, { useMemo } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Heading, Button, Box, Stack, Dialog,
-} from '@tokens-studio/ui';
-import { track } from '@/utils/analytics';
-import StorageItem from './StorageItem';
-import EditStorageItemModal from './modals/EditStorageItemModal';
-import CreateStorageItemModal from './modals/CreateStorageItemModal';
-import { Dispatch } from '../store';
-import { apiProvidersSelector, localApiStateSelector } from '@/selectors';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import useRemoteTokens from '../store/remoteTokens';
-import { StorageTypeCredentials } from '@/types/StorageType';
-import LocalStorageItem from './LocalStorageItem';
-import { getProviderIcon } from '@/utils/getProviderIcon';
-import { StyledBetaBadge } from './SecondScreen';
- 
-const SyncSettings = () => {
-  const localApiState = useSelector(localApiStateSelector);
- 
-  const { t } = useTranslation(['storage']);
- 
-  const providers = useMemo(() => [
-    {
-      text: t('providers.url.title'),
-      type: StorageProviderType.URL,
-    },
-    {
-      text: t('providers.jsonbin.title'),
-      type: StorageProviderType.JSONBIN,
-    },
-    {
-      text: 'GitHub',
-      type: StorageProviderType.GITHUB,
-    },
-    {
-      text: 'GitLab',
-      type: StorageProviderType.GITLAB,
-    },
-    {
-      text: 'Azure DevOps',
-      type: StorageProviderType.ADO,
-    },
-    {
-      text: 'BitBucket',
-      type: StorageProviderType.BITBUCKET,
-      beta: true,
-    },
-    {
-      text: 'Supernova',
-      type: StorageProviderType.SUPERNOVA,
-    },
-    {
-      text: t('providers.generic.title'),
-      type: StorageProviderType.GENERIC_VERSIONED_STORAGE,
-    },
-    {
-      text: 'Tokens Studio',
-      type: StorageProviderType.TOKENS_STUDIO,
-      beta: true,
-    },
-  ], [t]);
- 
-  const apiProviders = useSelector(apiProvidersSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const [open, setOpen] = React.useState(false);
- 
-  const { fetchBranches } = useRemoteTokens();
- 
-  const [editStorageItemModalVisible, setShowEditStorageModalVisible] = React.useState(Boolean(localApiState.new));
-  const [createStorageItemModalVisible, setShowCreateStorageModalVisible] = React.useState(false);
-  const [storageProvider, setStorageProvider] = React.useState(localApiState.provider);
- 
-  const setLocalBranches = React.useCallback(
-    async (provider: StorageTypeCredentials) => {
-      const branches = await fetchBranches(provider);
-      if (branches) {
-        dispatch.branchState.setBranches(branches);
-      }
-    },
-    [dispatch.branchState, fetchBranches],
-  );
- 
-  const handleEditClick = React.useCallback(
-    (provider: any) => () => {
-      track('Edit Credentials');
-      dispatch.uiState.setLocalApiState(provider);
-      setShowEditStorageModalVisible(true);
-      setLocalBranches(provider);
-    },
-    [dispatch.uiState, setLocalBranches],
-  );
- 
-  const handleShowAddCredentials = React.useCallback((provider: StorageProviderType) => {
-    track('Add Credentials', { provider });
-    setShowCreateStorageModalVisible(true);
-  }, []);
- 
-  const handleProviderClick = React.useCallback(
-    (provider: StorageProviderType) => () => {
-      setOpen(false);
-      setStorageProvider(provider);
-      handleShowAddCredentials(provider);
-    },
-    [handleShowAddCredentials],
-  );
- 
-  const handleHideStorageModal = React.useCallback(() => {
-    setShowEditStorageModalVisible(false);
-  }, []);
- 
-  const handleHideAddCredentials = React.useCallback(() => {
-    setShowCreateStorageModalVisible(false);
-  }, []);
- 
-  return (
-    <Box css={{ display: 'flex', flexDirection: 'column', flexGrow: 1 }}>
-      {editStorageItemModalVisible && (
-        <EditStorageItemModal
-          isOpen={editStorageItemModalVisible}
-          onClose={handleHideStorageModal}
-          initialValue={localApiState}
-          onSuccess={handleHideStorageModal}
-        />
-      )}
-      {createStorageItemModalVisible && (
-        <CreateStorageItemModal
-          isOpen={createStorageItemModalVisible}
-          onClose={handleHideAddCredentials}
-          onSuccess={handleHideAddCredentials}
-          storageProvider={storageProvider}
-        />
-      )}
-      <Box css={{ padding: '0 $4' }}>
-        <Stack gap={4} direction="column" align="start">
-          <Stack direction="row" justify="between" align="center" css={{ width: '100%' }}>
-            <Heading size="medium">{t('syncProviders')}</Heading>
-            <Dialog modal open={open} onOpenChange={setOpen}>
-              <Dialog.Trigger asChild>
-                <Button variant="secondary" size="small" data-testid="add-storage-item-button">
-                  {t('addNewSyncProvider')}
-                </Button>
-              </Dialog.Trigger>
-              <Dialog.Portal>
-                <Dialog.Overlay />
-                <Dialog.Content className="content scroll-container">
-                  <Heading>{t('addNewSyncProvider')}</Heading>
- 
-                  <Stack direction="column" gap={4}>
-                    {
-                    providers.map((provider) => (
-                      <Stack direction="row" justify="between" align="center" key={provider.text}>
-                        <Stack direction="column">
-                          <Box css={{
-                            color: '$fgDefault', display: 'inline-flex', gap: '$2', alignItems: 'center',
-                          }}
-                          >
-                            <Box css={{ color: '$fgMuted' }}>{getProviderIcon(provider.type)}</Box>
-                            {provider.text}
-                            {provider.beta && <StyledBetaBadge>BETA</StyledBetaBadge>}
-                          </Box>
-                        </Stack>
-                        <Button
-                          key={provider.type}
-                          onClick={handleProviderClick(provider.type)}
-                          variant="secondary"
-                          size="small"
-                          data-testid={`add-${provider.text}-credential`}
-                        >
-                          {t('choose')}
-                        </Button>
-                      </Stack>
-                    ))
-                  }
-                  </Stack>
-                </Dialog.Content>
-              </Dialog.Portal>
-            </Dialog>
-          </Stack>
-          <Stack direction="column" gap={2} width="full" align="start">
-            <LocalStorageItem />
-            {apiProviders.length > 0 && apiProviders.map((item) => (
-              <StorageItem
-                key={item?.internalId || `${item.provider}-${item.id}`}
-                onEdit={handleEditClick(item)}
-                item={item}
-              />
-            ))}
-          </Stack>
-        </Stack>
-      </Box>
-    </Box>
-  );
-};
- 
-export default SyncSettings;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html deleted file mode 100644 index 712226e31..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/TabButton.tsx.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - Code coverage report for src/app/components/TabButton/TabButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/TabButton TabButton.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Tabs } from '@/constants/Tabs';
-import { styled } from '@/stitches.config';
-import { track } from '@/utils/analytics';
-import Box from '../Box';
-import Tooltip from '../Tooltip';
- 
-type Props<T extends string> = {
-  name: T
-  label?: string
-  activeTab?: T
-  disabled?: boolean
-  onSwitch: (tab: T) => void
-  startEnhancer?: React.ReactNode
-  endEnhancer?: React.ReactNode,
-  tooltip?: string;
-  tooltipSide?: 'bottom' | 'left' | 'top' | undefined;
-  small?: boolean;
-};
- 
-const StyledButton = styled('button', {
-  padding: '$5 $4',
-  maxWidth: 'fit-content',
-  fontSize: '$xsmall',
-  fontWeight: '$sansBold',
-  display: 'flex',
-  flexDirection: 'row',
-  alignItems: 'center',
-  gap: '$2',
-  cursor: 'pointer',
-  color: '$fgMuted',
-  opacity: 0.7,
-  whiteSpace: 'nowrap',
-  textOverflow: 'ellipsis',
-  '&:not(:disabled):focus, &:not(:disabled):hover': {
-    outline: 'none',
-    boxShadow: 'none',
-    color: '$fgDefault',
-  },
-  '> svg': {
-    minHeight: '100%',
-  },
-  '&:disabled': {
-    pointerEvents: 'none',
-    color: '$fgDisabled',
-  },
-  variants: {
-    isActive: {
-      true: { color: '$fgDefault', opacity: 1 },
-    },
-    small: {
-      true: {
-        padding: '0',
-      },
-    },
-  },
-});
- 
-export function TabButton<T extends string = Tabs>({
-  name, label, activeTab, disabled, onSwitch, startEnhancer, endEnhancer, tooltip, tooltipSide, small,
-}: Props<T>) {
-  const onClick = React.useCallback(() => {
-    track('Switched tab', { from: activeTab, to: name });
-    onSwitch(name);
-  }, [activeTab, name, onSwitch]);
- 
-  return (
-    <StyledButton
-      data-testid={`navitem-${name}`}
-      type="button"
-      isActive={activeTab === name}
-      data-active={activeTab === name}
-      name={name}
-      disabled={disabled}
-      onClick={onClick}
-      small={small}
-    >
-      <Tooltip side={tooltipSide} label={tooltip ?? ''}>
-        <>
-          {startEnhancer && startEnhancer}
-          {label && (
-          <Box css={{
-            overflow: 'hidden',
-            textOverflow: 'ellipsis',
-            whiteSpace: 'nowrap',
-          }}
-          >
-            {label}
-          </Box>
-          )}
-          {endEnhancer && endEnhancer}
-        </>
-      </Tooltip>
-    </StyledButton>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html deleted file mode 100644 index b44e68426..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/TabButton - - - - - - - - - -
-
-

All files src/app/components/TabButton

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
TabButton.tsx -
-
0%0/50%0/80%0/20%0/5
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html deleted file mode 100644 index dfdbc5503..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TabButton/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/TabButton/index.ts - - - - - - - - - -
-
-

All files / src/app/components/TabButton index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export { TabButton } from './TabButton';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html deleted file mode 100644 index c3e5bf44d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Text.tsx.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/components/Text.tsx - - - - - - - - - -
-
-

All files / src/app/components Text.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import React, { type HTMLAttributes } from 'react';
-import { Text as InternalText, type TextProps } from '@tokens-studio/ui';
- 
-function WrappedText(props: TextProps & HTMLAttributes<Element>) {
-  const { size = 'xsmall' } = props;
-  return <InternalText {...props} size={size} />;
-}
- 
-export default WrappedText;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html deleted file mode 100644 index 4c7f3f921..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/ThemeSelector.tsx.html +++ /dev/null @@ -1,541 +0,0 @@ - - - - - - Code coverage report for src/app/components/ThemeSelector/ThemeSelector.tsx - - - - - - - - - -
-
-

All files / src/app/components/ThemeSelector ThemeSelector.tsx

-
- -
- 0% - Statements - 0/46 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/37 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { Check, NavArrowRight } from 'iconoir-react';
-import { useTranslation } from 'react-i18next';
-import { DropdownMenu, Button } from '@tokens-studio/ui';
-import { activeThemeSelector, themeOptionsSelector } from '@/selectors';
-import Text from '../Text';
-import { Dispatch } from '@/app/store';
-import ProBadge from '../ProBadge';
-import { track } from '@/utils/analytics';
-import { INTERNAL_THEMES_NO_GROUP, INTERNAL_THEMES_NO_GROUP_LABEL } from '@/constants/InternalTokenGroup';
-import Box from '../Box';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
- 
-type AvailableTheme = {
-  value: string
-  label: string
-  group?: string
-};
- 
-export const ThemeSelector: React.FC<React.PropsWithChildren<React.PropsWithChildren<unknown>>> = () => {
-  const isProUser = useIsProUser();
-  const dispatch = useDispatch<Dispatch>();
-  const { t } = useTranslation(['tokens']);
-  const activeTheme = useSelector(activeThemeSelector);
-  const availableThemes = useSelector(themeOptionsSelector);
-  const groupNames = useMemo(() => ([...new Set(availableThemes.map((theme) => theme.group || INTERNAL_THEMES_NO_GROUP))]), [availableThemes]);
- 
-  const handleClearTheme = useCallback(() => {
-    dispatch.tokenState.setActiveTheme({ newActiveTheme: {}, shouldUpdateNodes: true });
-  }, [dispatch]);
- 
-  const handleSelectTheme = useCallback((themeId: string) => {
-    const groupOfTheme = availableThemes.find((theme) => theme.value === themeId)?.group ?? INTERNAL_THEMES_NO_GROUP;
-    const nextTheme = activeTheme;
-    if (typeof nextTheme[groupOfTheme] !== 'undefined' && nextTheme[groupOfTheme] === themeId) {
-      delete nextTheme[groupOfTheme];
-    } else {
-      nextTheme[groupOfTheme] = themeId;
-    }
-    if (nextTheme) {
-      track('Apply theme', { id: nextTheme });
-    } else {
-      track('Reset theme');
-    }
-    dispatch.tokenState.setActiveTheme({ newActiveTheme: nextTheme, shouldUpdateNodes: true });
-  }, [dispatch, activeTheme, availableThemes]);
- 
-  const handleManageThemes = useCallback(() => {
-    dispatch.uiState.setManageThemesModalOpen(true);
-  }, [dispatch]);
- 
-  const activeThemeLabel = useMemo(() => {
-    if (activeTheme) {
-      if (Object.keys(activeTheme).length === 0) return 'None';
-      if (Object.keys(activeTheme).length === 1) {
-        const themeOption = availableThemes.find(({ value }) => value === Object.values(activeTheme)[0]);
-        return themeOption ? themeOption.label : 'Unknown';
-      }
-      return `${Object.keys(activeTheme).length} active`;
-    }
-    return 'None';
-  }, [activeTheme, availableThemes]);
- 
-  const renderThemeOption = useCallback((themes: AvailableTheme[]) => themes.map(({ label, value }) => {
-    const handleSelect = () => handleSelectTheme(value);
-    return (
-      <DropdownMenu.RadioItem
-        key={value}
-        value={value}
-        data-testid={`themeselector--themeoptions--${value}`}
-        // @README we can disable this because we are using Memo for the whole list anyways
-        // eslint-disable-next-line react/jsx-no-bind
-        onSelect={handleSelect}
-      >
-        <DropdownMenu.ItemIndicator>
-          <Check />
-        </DropdownMenu.ItemIndicator>
-        {label}
-      </DropdownMenu.RadioItem>
-    );
-  }), [handleSelectTheme]);
- 
-  const availableThemeOptions = useMemo(() => (
-    <Box className="content scroll-container" css={{ maxHeight: '$dropdownMaxHeight' }}>
-      {
-        groupNames.map((groupName) => {
-          const filteredThemes = groupName === INTERNAL_THEMES_NO_GROUP ? availableThemes.filter((theme) => (typeof theme?.group === 'undefined')) : availableThemes.filter((theme) => (theme?.group === groupName));
-          return (
-            filteredThemes.length > 0 && (
-              <DropdownMenu.RadioGroup key={groupName} value={typeof activeTheme[groupName] !== 'undefined' ? activeTheme[groupName] : ''}>
-                <Text css={{ color: '$fgMuted', padding: '$2 $3' }}>{groupName === INTERNAL_THEMES_NO_GROUP ? INTERNAL_THEMES_NO_GROUP_LABEL : groupName}</Text>
-                {
-                  renderThemeOption(filteredThemes)
-                }
-              </DropdownMenu.RadioGroup>
-            )
-          );
-        })
-      }
-    </Box>
-  ), [availableThemes, groupNames, activeTheme, renderThemeOption]);
- 
-  return (
-    <DropdownMenu>
-      <DropdownMenu.Trigger asChild data-testid="themeselector-dropdown">
-        <Button variant="invisible" asDropdown css={{ flexShrink: 1, overflow: 'hidden' }}>
-          <Box css={{
-            marginRight: '$2',
-            color: '$fgMuted',
-            fontWeight: '$sansRegular',
-          }}
-          >
-            {t('theme')}
-            :
-          </Box>
-          {activeThemeLabel}
-        </Button>
-      </DropdownMenu.Trigger>
-      <DropdownMenu.Portal>
-        <DropdownMenu.Content
-          data-testid="themeselector-dropdown-content"
-          side="bottom"
-          css={{ minWidth: '180px', maxWidth: '70vw' }}
-          align="end"
-          className="content scroll-container"
-        >
-          <DropdownMenu.Item
-            data-testid="themeselector-managethemes"
-            css={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}
-            disabled={!isProUser}
-            onSelect={handleManageThemes}
-          >
-            <span>{t('manageThemes')}</span>
-            {!isProUser && <ProBadge campaign="manage-themes" compact />}
-            <DropdownMenu.TrailingVisual>
-              <NavArrowRight />
-            </DropdownMenu.TrailingVisual>
-          </DropdownMenu.Item>
-          <DropdownMenu.Separator />
-          {availableThemes.length === 0 && (
-          <DropdownMenu.RadioItem css={{ paddingLeft: '$6' }} value="" disabled={!activeTheme} onSelect={handleClearTheme}>
-            <Text css={{ color: '$fgDisabled', fontSize: '$xsmall' }}>{t('noThemes')}</Text>
-          </DropdownMenu.RadioItem>
-          )}
-          {availableThemeOptions}
- 
-        </DropdownMenu.Content>
-      </DropdownMenu.Portal>
-    </DropdownMenu>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html deleted file mode 100644 index f4f644f74..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/components/ThemeSelector - - - - - - - - - -
-
-

All files src/app/components/ThemeSelector

-
- -
- 0% - Statements - 0/46 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/37 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ThemeSelector.tsx -
-
0%0/460%0/300%0/160%0/37
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html deleted file mode 100644 index d6a02927a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ThemeSelector/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/ThemeSelector/index.ts - - - - - - - - - -
-
-

All files / src/app/components/ThemeSelector index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export { ThemeSelector } from './ThemeSelector';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html deleted file mode 100644 index 090030394..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToggleEmptyButton.tsx.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/app/components/ToggleEmptyButton.tsx - - - - - - - - - -
-
-

All files / src/app/components ToggleEmptyButton.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { Button } from '@tokens-studio/ui';
-import { showEmptyGroupsSelector } from '@/selectors';
-import { Dispatch } from '../store';
-import Stack from './Stack';
- 
-export default function ToggleEmptyButton() {
-  const showEmptyGroups = useSelector(showEmptyGroupsSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const { t } = useTranslation(['tokens']);
- 
-  const handleShowEmptyGroups = React.useCallback(() => {
-    dispatch.uiState.toggleShowEmptyGroups(null);
-  }, [dispatch]);
- 
-  return (
-    <Stack direction="row" align="center" justify="center" css={{ marginTop: '$4', marginBottom: '$4' }}>
-      <Button variant="secondary" size="small" onClick={handleShowEmptyGroups}>
-        {t(showEmptyGroups ? 'hide' : 'show')}
-        {' '}
-        {t('emptyGroups')}
-      </Button>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html deleted file mode 100644 index de960d1e2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DragOverItem.tsx.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton/DragOverItem.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenButton DragOverItem.tsx

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/19 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo } from 'react';
-import cx from 'classnames';
-import { useSelector } from 'react-redux';
-import { SingleToken } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { displayTypeSelector } from '@/selectors';
- 
-type Props = {
-  token: SingleToken;
-  draggedToken: SingleToken | null;
-  dragOverToken: SingleToken | null;
-};
- 
-export const DragOverItem: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  token,
-  draggedToken,
-  dragOverToken,
-}) => {
-  const displayType = useSelector(displayTypeSelector);
- 
-  const isDraggable = useMemo(() => (
-    token.name && isNaN(Number(token.name.split('.')[token.name.split('.').length - 1]))
-  ), [token]);
- 
-  const isColorAndListDisplayType = useMemo(() => (
-    token.type === TokenTypes.COLOR && displayType === 'LIST'
-  ), [token, displayType]);
- 
-  const hasDragOverToken = useMemo(() => {
-    if (
-      draggedToken
-      && draggedToken !== token
-      && dragOverToken === token
-      && isDraggable
-      && draggedToken.type === dragOverToken.type
-    ) {
-      const draggedItemName = draggedToken?.name.split('.');
-      const dragOverName = dragOverToken?.name.split('.');
-      const draggedItemNameArray = draggedItemName.slice(0, draggedItemName.length - 1);
-      const dragOverNameArray = dragOverName.slice(0, dragOverName.length - 1);
- 
-      if (draggedItemNameArray.toString() === dragOverNameArray.toString()) {
-        return true;
-      }
-    }
- 
-    return false;
-  }, [token, draggedToken, dragOverToken, isDraggable]);
- 
-  return (
-    <div
-      className={cx(
-        (hasDragOverToken && isColorAndListDisplayType) && 'drag-over-item-list-absolute',
-        (hasDragOverToken && !isColorAndListDisplayType) && 'drag-over-item-grid-absolute',
-      )}
-    />
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html deleted file mode 100644 index a8689be68..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/DraggableWrapper.tsx.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton/DraggableWrapper.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenButton DraggableWrapper.tsx

-
- -
- 0% - Statements - 0/42 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useDispatch, useSelector, useStore } from 'react-redux';
-import { activeTokenSetSelector, tokensSelector } from '@/selectors';
-import { SingleToken } from '@/types/tokens';
-import { Dispatch, RootState } from '@/app/store';
- 
-type Props = {
-  token: SingleToken;
-  draggedToken: SingleToken | null;
-  dragOverToken: SingleToken | null;
-  setDraggedToken: (token: SingleToken | null) => void;
-  setDragOverToken: (token: SingleToken | null) => void;
-};
- 
-export const DraggableWrapper: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  token, draggedToken, setDraggedToken, setDragOverToken, children,
-}) => {
-  const store = useStore<RootState>();
-  const dispatch = useDispatch<Dispatch>();
-  const activeTokenSet = useSelector(activeTokenSetSelector);
- 
-  const isDraggable = useMemo(() => (
-    token.name && isNaN(Number(token.name.split('.')[token.name.split('.').length - 1]))
-  ), [token]);
- 
-  const handleDrag = useCallback((e: React.DragEvent<HTMLDivElement>) => e.stopPropagation(), []);
-  const handleDragEnter = useCallback((e: React.DragEvent<HTMLDivElement>) => e.stopPropagation(), []);
-  const handleDragLeave = useCallback((e: React.DragEvent<HTMLDivElement>) => e.stopPropagation(), []);
- 
-  const handleDragStart = useCallback((e: React.DragEvent<HTMLDivElement>) => {
-    e.stopPropagation();
-    setDraggedToken(token);
-  }, [token, setDraggedToken]);
- 
-  const handleDragEnd = React.useCallback((e: React.DragEvent<HTMLDivElement>) => {
-    e.stopPropagation();
-    setDragOverToken(null);
-  }, [setDragOverToken]);
- 
-  const handleDragOver = React.useCallback((e: React.DragEvent<HTMLDivElement>) => {
-    e.stopPropagation();
-    e.preventDefault();
-    setDragOverToken(token);
-  }, [token, setDragOverToken]);
- 
-  const handleDrop = React.useCallback((e: React.DragEvent<HTMLDivElement>) => {
-    e.stopPropagation();
- 
-    const tokens = tokensSelector(store.getState());
- 
-    let draggedTokenIndex: number | null = null;
-    let dropTokenIndex: number | null = null;
- 
-    if (draggedToken && token && draggedToken.type === token.type) {
-      tokens[activeTokenSet].forEach((element, index) => {
-        if (element.name === draggedToken.name) draggedTokenIndex = index;
-        if (element.name === token.name) dropTokenIndex = index;
-      });
-      if (draggedTokenIndex !== null && dropTokenIndex !== null) {
-        const insertTokensIndex = draggedTokenIndex > dropTokenIndex ? dropTokenIndex : dropTokenIndex - 1;
-        const set = [...tokens[activeTokenSet]];
-        set.splice(insertTokensIndex, 0, set.splice(draggedTokenIndex, 1)[0]);
-        const newTokens = {
-          ...tokens,
-          [activeTokenSet]: set,
-        };
-        dispatch.tokenState.setTokens(newTokens);
-      }
-    }
-  }, [store, token, draggedToken, dispatch, activeTokenSet]);
- 
-  const draggerProps = React.useMemo(() => ({
-    draggable: !!isDraggable,
-    onDrag: handleDrag,
-    onDrop: handleDrop,
-    onDragEnd: handleDragEnd,
-    onDragEnter: handleDragEnter,
-    onDragLeave: handleDragLeave,
-    onDragStart: handleDragStart,
-    onDragOver: handleDragOver,
-  }), [
-    isDraggable,
-    handleDrag,
-    handleDrop,
-    handleDragEnd,
-    handleDragEnter,
-    handleDragLeave,
-    handleDragStart,
-    handleDragOver,
-  ]);
- 
-  return (
-    <div
-      {...draggerProps}
-    >
-      {children}
-    </div>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html deleted file mode 100644 index 5b282e131..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/StyledTokenButton.tsx.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton/StyledTokenButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenButton StyledTokenButton.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { styled } from '@/stitches.config';
- 
-export const StyledTokenButtonText = styled('span', {
-  color: '$fgDefault',
-  padding: '$2 $3',
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'flex-start',
-  flexShrink: 0,
-  textAlign: 'left',
-  gap: '$2',
-  fontSize: '$xsmall',
-});
- 
-export const StyledTokenButton = styled('button', {
-  position: 'relative',
-  marginBottom: '$2',
-  marginRight: '$2',
-  backgroundColor: '$bgSubtle',
-  '&:hover, &:focus': {
-    backgroundColor: '$accentBg',
-  },
-  variants: {
-    tokenType: {
-      [TokenTypes.COLOR]: {
-        [`& ${StyledTokenButtonText}::before`]: {
-          width: '$6',
-          height: '$6',
-          flexShrink: 0,
-          border: '1px solid',
-          content: '',
-          borderRadius: '$full',
-          background: 'var(--backgroundColor)',
-          borderColor: 'var(--borderColor)',
-        },
-      },
-    },
-    displayType: {
-      LIST: {
-        width: '100%',
-        borderRadius: '$medium',
-        backgroundColor: 'transparent',
-        [`& ${StyledTokenButtonText}`]: {
-          justifyContent: 'flex-start',
-        },
-      },
-      GRID: {
-        borderRadius: '$medium',
-        [`& ${StyledTokenButtonText}`]: {
-          borderRadius: '$full',
-        },
-      },
-    },
-    active: {
-      true: {
-        backgroundColor: '$accentBg',
-        boxShadow: '$focusMuted !important',
-        '&:hover, &:focus': {
-          boxShadow: '$focusMuted !important',
-        },
-      },
-    },
-    disabled: {
-      true: {
-        borderColor: '$borderDefault',
-      },
-    },
-  },
-  compoundVariants: [
-    {
-      displayType: 'LIST',
-      tokenType: TokenTypes.COLOR,
-      css: {
-        width: '100%',
-        '&:hover, &:focus': {
-          backgroundColor: '$accentBg',
-        },
-      },
-    },
-    {
-      displayType: 'GRID',
-      tokenType: TokenTypes.COLOR,
-      css: {
-        borderRadius: '$full',
-        backgroundColor: 'transparent',
-        '&:hover, &:focus': {
-          outline: 'none',
-          boxShadow: '$tokenFocus',
-          backgroundColor: 'transparent',
-        },
-        [`& ${StyledTokenButtonText}`]: {
-          padding: 0,
-        },
-      },
-    },
-  ],
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html deleted file mode 100644 index c030390b6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButton.tsx.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton/TokenButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenButton TokenButton.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { SingleToken } from '@/types/tokens';
-import { MoreButton } from '../MoreButton';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-import { DragOverItem } from './DragOverItem';
-import { DraggableWrapper } from './DraggableWrapper';
-import { ShowFormOptions } from '@/types/ShowFormOptions';
- 
-// @TODO fix typings
- 
-type Props = {
-  type: TokenTypes;
-  token: SingleToken;
-  showForm: (options: ShowFormOptions) => void;
-  draggedToken: SingleToken | null;
-  dragOverToken: SingleToken | null;
-  setDraggedToken: (token: SingleToken | null) => void;
-  setDragOverToken: (token: SingleToken | null) => void;
-};
- 
-export const TokenButton: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  type,
-  token,
-  showForm,
-  draggedToken,
-  dragOverToken,
-  setDraggedToken,
-  setDragOverToken,
-}) => (
-  <DraggableWrapper
-    token={token}
-    dragOverToken={dragOverToken}
-    draggedToken={draggedToken}
-    setDragOverToken={setDragOverToken}
-    setDraggedToken={setDraggedToken}
-  >
-    {/* TODO: We should restructure and rename MoreButton as it's only ever used in TokenButton */}
-    <MoreButton
-      token={token}
-      type={type}
-      showForm={showForm}
-    />
-    <DragOverItem
-      token={token}
-      draggedToken={draggedToken}
-      dragOverToken={dragOverToken}
-    />
-  </DraggableWrapper>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html deleted file mode 100644 index a4f6bbb6a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/TokenButtonContent.tsx.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton/TokenButtonContent.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenButton TokenButtonContent.tsx

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useContext, useMemo } from 'react';
-import { useSelector } from 'react-redux';
-import { TokensContext } from '@/context';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
-import { TokenTooltip } from '../TokenTooltip';
-import BrokenReferenceIndicator from '../BrokenReferenceIndicator';
-import { displayTypeSelector, uiDisabledSelector } from '@/selectors';
-import { StyledTokenButton, StyledTokenButtonText } from './StyledTokenButton';
-import useTokens from '@/app/store/useTokens';
- 
-type Props = {
-  active: boolean;
-  type: TokenTypes;
-  token: SingleToken;
-  onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
-};
- 
-export default function TokenButtonContent({
-  token, active, type, onClick,
-}: Props) {
-  const tokensContext = useContext(TokensContext);
-  const uiDisabled = useSelector(uiDisabledSelector);
-  const displayType = useSelector(displayTypeSelector);
-  const { getTokenValue } = useTokens();
- 
-  const displayValue = useMemo(() => (
-    getTokenValue(token.name, tokensContext.resolvedTokens)?.value
-  ), [token, tokensContext.resolvedTokens, getTokenValue]);
- 
-  const showValue = React.useMemo(() => {
-    let show = true;
-    if (type === TokenTypes.COLOR) {
-      show = false;
-      if (displayType === 'LIST') {
-        show = true;
-      }
-    }
-    return show;
-  }, [type, displayType]);
- 
-  // Only show the last part of a token in a group
-  const visibleName = React.useMemo(() => {
-    const visibleDepth = 1;
-    return (token.name ?? '').split('.').slice(-visibleDepth).join('.');
-  }, [token.name]);
- 
-  const handleButtonClick = React.useCallback((event: React.MouseEvent<HTMLButtonElement>) => {
-    event.preventDefault();
-    onClick(event);
-  }, [onClick]);
- 
-  const cssOverrides = React.useMemo(() => {
-    switch (type) {
-      case TokenTypes.COLOR: {
-        return {
-          '--backgroundColor': String(displayValue),
-          '--borderColor': '$colors$borderMuted',
-        };
-      }
-      case TokenTypes.BORDER_RADIUS: {
-        return {
-          borderRadius: `${displayValue}px`,
-        };
-      }
-      default: {
-        return {};
-      }
-    }
-  }, [type, displayValue]);
- 
-  return (
-    <TokenTooltip token={token}>
-      <StyledTokenButton tokenType={type as TokenTypes.COLOR} displayType={type === TokenTypes.COLOR ? displayType : 'GRID'} active={active} disabled={uiDisabled} type="button" onClick={handleButtonClick} css={cssOverrides}>
-        <BrokenReferenceIndicator token={token} />
-        <StyledTokenButtonText>{showValue && <span>{visibleName}</span>}</StyledTokenButtonText>
-      </StyledTokenButton>
-    </TokenTooltip>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html deleted file mode 100644 index 8ffa88c8d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton - - - - - - - - - -
-
-

All files src/app/components/TokenButton

-
- -
- 0% - Statements - 0/87 -
- - -
- 0% - Branches - 0/49 -
- - -
- 0% - Functions - 0/22 -
- - -
- 0% - Lines - 0/81 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
DragOverItem.tsx -
-
0%0/160%0/190%0/40%0/16
DraggableWrapper.tsx -
-
0%0/420%0/170%0/110%0/36
StyledTokenButton.tsx -
-
0%0/2100%0/0100%0/00%0/2
TokenButton.tsx -
-
0%0/2100%0/00%0/10%0/2
TokenButtonContent.tsx -
-
0%0/250%0/130%0/60%0/25
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html deleted file mode 100644 index 36d2ab884..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenButton/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenButton/index.ts - - - - - - - - - -
-
-

All files / src/app/components/TokenButton index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './TokenButton';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html deleted file mode 100644 index 365a17547..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFilter.tsx.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenFilter.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenFilter.tsx

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDebouncedCallback } from 'use-debounce';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { XCircleFillIcon } from '@primer/octicons-react';
-import { Box, IconButton } from '@tokens-studio/ui';
-import { Search } from 'iconoir-react';
-import { Dispatch } from '../store';
-import { styled } from '@/stitches.config';
-import { tokenFilterSelector } from '@/selectors';
- 
-const StyledInput = styled('input', {
-  background: 'transparent',
-  border: 'none',
-  borderRadius: '$small',
-  color: '$fgDefault',
-  fontSize: '$small',
-  width: '100%',
-  height: '$controlMedium',
-  paddingLeft: '$6',
-  paddingRight: '$1',
-  gap: '$2',
-  '&:hover': {
-    backgroundColor: '$bgSubtle',
-  },
-  '&:focus-visible': {
-    outline: 'none',
-    boxShadow: '$focus',
-  },
-});
- 
-const TokenFilter = () => {
-  const tokenFilter = useSelector(tokenFilterSelector);
-  const [tokenString, setTokenString] = React.useState(tokenFilter);
-  const dispatch = useDispatch<Dispatch>();
-  const { t } = useTranslation(['general']);
- 
-  const debounced = useDebouncedCallback((value) => {
-    dispatch.uiState.setTokenFilter(value);
-  }, 250);
- 
-  const handleChange = React.useCallback((e: any) => {
-    const { value } = e.target;
-    setTokenString(value);
-    debounced(value);
-  }, [debounced]);
- 
-  const handleResetSearchString = React.useCallback(() => {
-    setTokenString('');
-    dispatch.uiState.setTokenFilter('');
-  }, [dispatch.uiState]);
- 
-  return (
-    <Box
-      css={{
-        display: 'flex',
-        flexGrow: 1,
-        flexShrink: 1,
-        flexBasis: 0,
-        alignItems: 'center',
-        gap: '$2',
-        position: 'relative',
-      }}
-    >
-      <Box css={{ position: 'absolute', left: '$2' }}><Search /></Box>
-      <StyledInput
-        spellCheck={false}
-        type="text"
-        value={tokenString}
-        onChange={handleChange}
-        placeholder={t('search') as string}
-      />
-      {tokenString && (
-        <Box css={{ position: 'absolute', right: '$2' }}>
-          <IconButton
-            onClick={handleResetSearchString}
-            icon={<XCircleFillIcon />}
-            css={{ color: '$fgMuted' }}
-            variant="invisible"
-            size="small"
-          />
-        </Box>
-      )}
-    </Box>
-  );
-};
- 
-export default TokenFilter;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html deleted file mode 100644 index 97163c87f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenFlowButton - - - - - - - - - -
-
-

All files src/app/components/TokenFlowButton

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/200%0/60%0/20%0/20
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html deleted file mode 100644 index 20b96a65b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFlowButton/index.tsx.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenFlowButton/index.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenFlowButton index.tsx

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useState } from 'react';
-import { useSelector } from 'react-redux';
-import { IconButton } from '@tokens-studio/ui';
-import FlowIcon from '@/icons/flow.svg';
- 
-import {
-  themeObjectsSelector,
-  activeThemeSelector,
-  themeOptionsSelector,
-  usedTokenSetSelector,
-  tokensSelector,
-} from '@/selectors';
-import { track } from '@/utils/analytics';
-import { licenseKeySelector } from '@/selectors/licenseKeySelector';
-import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
- 
-export default function TokenFlowButton() {
-  const activeTheme = useSelector(activeThemeSelector);
-  const availableThemes = useSelector(themeOptionsSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const themeObjects = useSelector(themeObjectsSelector);
-  const tokens = useSelector(tokensSelector);
-  const existingKey = useSelector(licenseKeySelector);
-  const licenseKeyError = useSelector(licenseKeyErrorSelector);
- 
-  const [loading, setLoading] = useState(false);
- 
-  const handleOpenTokenFlowApp = useCallback(async () => {
-    setLoading(true);
-    track('Open visualization');
-    const tokenData = JSON.stringify(tokens, null, 2);
-    try {
-      const response = await fetch(`${process.env.TOKEN_FLOW_APP_URL}/api/tokens`, {
-        method: 'POST',
-        headers: {
-          'Content-Type': 'application/json',
-        },
-        body: JSON.stringify({
-          tokenData,
-          activeTheme,
-          availableThemes,
-          usedTokenSet,
-          themeObjects,
-        }),
-      });
-      if (response.ok) {
-        const data = await response.json();
-        window.open(`${process.env.TOKEN_FLOW_APP_URL}?id=${data.result}`);
-      }
-    } catch (error) {
-      console.error('Error:', error);
-    }
-    setLoading(false);
-  }, [activeTheme, availableThemes, themeObjects, tokens, usedTokenSet]);
- 
-  return (
-    (existingKey && !licenseKeyError)
-      ? (
-        <IconButton
-          size="small"
-          variant="invisible"
-          tooltip="Open visualization flow"
-          data-testid="token-flow-button"
-          loading={loading}
-          onClick={handleOpenTokenFlowApp}
-          icon={<FlowIcon />}
-        />
-      ) : null
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html deleted file mode 100644 index f8f886357..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenFormatBadge.tsx.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenFormatBadge.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenFormatBadge.tsx

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import {
-  Button,
-  IconButton,
-} from '@tokens-studio/ui';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { Dispatch } from '../store';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
-import DesignTokenIcon from '@/icons/designtoken.svg';
-import LegacyFormatIcon from '@/icons/legacyformat.svg';
- 
-export function TokenFormatBadge({ extended = false }: { extended?: boolean }) {
-  const { t } = useTranslation(['storage']);
-  const tokenFormat = useSelector(tokenFormatSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const isDTCG = tokenFormat === TokenFormatOptions.DTCG;
- 
-  const handleOpenModal = useCallback(() => {
-    dispatch.uiState.setShowConvertTokenFormatModal(true);
-  }, [dispatch.uiState]);
- 
-  if (extended) {
-    return isDTCG ? <Button icon={<DesignTokenIcon />} onClick={handleOpenModal} variant="invisible" size="small">{t('w3cformat')}</Button> : <Button icon={<LegacyFormatIcon />} onClick={handleOpenModal} variant="invisible" size="small">{t('legacyformat')}</Button>;
-  }
- 
-  return isDTCG ? <IconButton tooltip={t('w3cformat')} tooltipSide="top" onClick={handleOpenModal} variant="invisible" size="small" icon={<DesignTokenIcon />} /> : (
-    <IconButton tooltip={t('legacyformattooltip')} tooltipSide="top" onClick={handleOpenModal} variant="invisible" size="small" icon={<LegacyFormatIcon />} />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html deleted file mode 100644 index ff5eaccd2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroup.tsx.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenGroup/StyledTokenGroup.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenGroup StyledTokenGroup.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledTokenGroup = styled('div', {
-  display: 'flex',
-  flexDirection: 'column',
-  flexWrap: 'wrap',
-  justifyContent: 'flex-start',
-  variants: {
-    displayType: {
-      LIST: {
-        flexDirection: 'column',
-      },
-      GRID: {
-        flexDirection: 'row',
-      },
-    },
-  },
-});
- 
-export const StyledTokenGroupItems = styled('div', {
-  display: 'flex',
-  flexDirection: 'column',
-  width: '100%',
-  // need to create a class to create traversal
-  [`& ${StyledTokenGroup}`]: {
-    position: 'relative',
-    '&::before': {
-      content: '',
-      bottom: '14px',
-      top: 0,
-      left: 0,
-      position: 'absolute',
-      width: '4px',
-      borderBottomLeftRadius: '$medium',
-      borderLeft: '1px solid $borderMuted',
-      borderBottom: '1px solid $borderMuted',
-    },
-    marginLeft: '$1',
-    paddingLeft: '$3',
-    '.property-wrapper': {
-      marginBottom: 0,
-      paddingBottom: 0,
-      paddingLeft: 0,
-      borderLeft: 'none',
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html deleted file mode 100644 index 0617a8a4f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/StyledTokenGroupHeading.tsx.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenGroup/StyledTokenGroupHeading.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenGroup StyledTokenGroupHeading.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { IconButton } from '@tokens-studio/ui';
-import { styled } from '@/stitches.config';
- 
-export const StyledTokenGroupAddIcon = styled(IconButton, {
-  opacity: 0,
-  '&:hover, &:focus, &:focus-within': {
-    opacity: 1,
-  },
-});
- 
-export const StyledTokenGroupHeading = styled('div', {
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'space-between',
-  '&:hover, &:focus': {
-    [`& ${StyledTokenGroupAddIcon}`]: {
-      opacity: 1,
-    },
-  },
-});
- 
-export const StyledTokenGroupHeadingCollapsable = styled('button', {
-  display: 'flex',
-  alignItems: 'center',
-  padding: '$1 $2',
-  marginLeft: '-$2',
-  gap: '$2',
-  borderRadius: '$small',
-  '&:hover, &:focus': {
-    backgroundColor: '$bgSubtle',
-    boxShadow: 'none',
-    border: 'none',
-    [`+ ${StyledTokenGroupAddIcon}`]: {
-      opacity: 1,
-    },
-  },
-  '> svg': {
-    opacity: 0.5,
-  },
-  variants: {
-    collapsed: {
-      true: {
-        opacity: 0.75,
-      },
-    },
-  },
-});
- 
-export const StyledTokenGroupHeadingButton = styled('button', {
-  display: 'flex',
-  alignItems: 'center',
-  width: '100%',
-  height: '100%',
-  padding: '$4',
-  gap: '$2',
-  '&:hover, &:focus': {
-    backgroundColor: '$bgSubtle',
-    outline: 'none',
-  },
-  variants: {
-    isCollapsed: {
-      true: {
-        opacity: 0.5,
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html deleted file mode 100644 index 1e15288d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroup.tsx.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenGroup/TokenGroup.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenGroup TokenGroup.tsx

-
- -
- 0% - Statements - 0/21 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo, useState } from 'react';
-import { useSelector } from 'react-redux';
-import { TokenGroupHeading } from './TokenGroupHeading';
-import { StyledTokenGroup, StyledTokenGroupItems } from './StyledTokenGroup';
-import { TokenButton } from '@/app/components/TokenButton';
-import { displayTypeSelector } from '@/selectors';
-import { DeepKeyTokenMap, SingleToken, TokenTypeSchema } from '@/types/tokens';
-import { isSingleToken } from '@/utils/is';
-import { collapsedTokensSelector } from '@/selectors/collapsedTokensSelector';
-import { ShowFormOptions, ShowNewFormOptions } from '@/types';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-type Props = {
-  schema: TokenTypeSchema;
-  tokenValues: DeepKeyTokenMap;
-  path?: string | null;
-  tokenKey: string;
-  showNewForm: (opts: ShowNewFormOptions) => void;
-  showForm: (opts: ShowFormOptions) => void;
-};
- 
-const TokenGroup: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  tokenValues, showNewForm, showForm, schema, path = null, tokenKey,
-}) => {
-  const collapsed = useSelector(collapsedTokensSelector);
-  const displayType = useSelector(displayTypeSelector);
- 
-  const tokenValuesEntries = React.useMemo(() => (
-    Object.entries(tokenValues).map(([name, value]) => {
-      const stringPath = [path, name].filter((n) => n).join('.');
-      const isTokenGroup = !isSingleToken(value);
-      const parent = path || '';
- 
-      return {
-        stringPath,
-        name,
-        value,
-        isTokenGroup,
-        parent,
-      };
-    })
-  ), [tokenValues, path]);
- 
-  const mappedItems = useMemo(() => (
-    tokenValuesEntries.filter((item) => (
-      // remove items which are in a collapsed parent
-      (!collapsed.some((parentKey) => (item.parent?.startsWith(parentKey) && item.parent?.charAt(parentKey.length) === '.')
-      || item.parent === parentKey))
-    )).map((item) => ({
-      item,
-    }))
-  ), [tokenValuesEntries, collapsed]);
- 
-  const [draggedToken, setDraggedToken] = useState<SingleToken | null>(null);
-  const [dragOverToken, setDragOverToken] = useState<SingleToken | null>(null);
- 
-  if (mappedItems.length === 0) {
-    return null;
-  }
-  return (
-    (
-      <StyledTokenGroup displayType={schema.type === TokenTypes.COLOR ? displayType : 'GRID'}>
-        {mappedItems.map(({ item }) => (
-          <React.Fragment key={item.stringPath}>
-            {typeof item.value === 'object' && !isSingleToken(item.value) ? (
-            // Need to add class to self-reference in css traversal
-              (
-                <StyledTokenGroupItems className="property-wrapper" data-testid={`token-group-${item.stringPath}`}>
-                  <TokenGroupHeading showNewForm={showNewForm} label={item.name} path={item.stringPath} id="listing" type={schema.type || tokenKey} />
-                  <TokenGroup
-                    tokenValues={item.value}
-                    showNewForm={showNewForm}
-                    showForm={showForm}
-                    schema={schema}
-                    path={item.stringPath}
-                    tokenKey={tokenKey}
-                  />
-                </StyledTokenGroupItems>
-              )
-            ) : (
-              <TokenButton
-                type={schema.type}
-                token={item.value}
-                showForm={showForm}
-                draggedToken={draggedToken}
-                dragOverToken={dragOverToken}
-                setDraggedToken={setDraggedToken}
-                setDragOverToken={setDragOverToken}
-              />
-            )}
-          </React.Fragment>
-        ))}
-      </StyledTokenGroup>
-    )
-  );
-};
- 
-export default React.memo(TokenGroup);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html deleted file mode 100644 index f284df1cf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/TokenGroupHeading.tsx.html +++ /dev/null @@ -1,532 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenGroup/TokenGroupHeading.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenGroup TokenGroupHeading.tsx

-
- -
- 0% - Statements - 0/38 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Heading,
-  ContextMenu,
-} from '@tokens-studio/ui';
-import Stack from '../Stack';
-import useManageTokens from '../../store/useManageTokens';
-import { activeApiProviderSelector, activeTokenSetReadOnlySelector, editProhibitedSelector } from '@/selectors';
-import { IconCollapseArrow, IconExpandArrow, IconAdd } from '@/icons';
-import { StyledTokenGroupHeading, StyledTokenGroupAddIcon, StyledTokenGroupHeadingCollapsable } from './StyledTokenGroupHeading';
-import { Dispatch } from '../../store';
-import { collapsedTokensSelector } from '@/selectors/collapsedTokensSelector';
-import { ShowNewFormOptions } from '@/types';
-import useTokens from '../../store/useTokens';
-import RenameTokenGroupModal from '../modals/RenameTokenGroupModal';
-import DuplicateTokenGroupModal from '../modals/DuplicateTokenGroupModal';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export type Props = {
-  id: string
-  label: string
-  path: string
-  type: string
-  showNewForm: (opts: ShowNewFormOptions) => void;
-};
- 
-export function TokenGroupHeading({
-  label, path, id, type, showNewForm,
-}: Props) {
-  const { t } = useTranslation(['tokens']);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
-  const activeApiProvider = useSelector(activeApiProviderSelector);
-  const [newTokenGroupName, setNewTokenGroupName] = React.useState<string>(path);
-  const [showRenameTokenGroupModal, setShowRenameTokenGroupModal] = React.useState<boolean>(false);
-  const [showDuplicateTokenGroupModal, setShowDuplicateTokenGroupModal] = React.useState<boolean>(false);
-  const { deleteGroup, renameGroup } = useManageTokens();
-  const dispatch = useDispatch<Dispatch>();
-  const collapsed = useSelector(collapsedTokensSelector);
-  const { remapTokensInGroup } = useTokens();
-  const isTokensStudioProvider = activeApiProvider === StorageProviderType.TOKENS_STUDIO;
- 
-  const canEdit = !editProhibited && !activeTokenSetReadOnly && !isTokensStudioProvider;
- 
-  const handleDelete = React.useCallback(() => {
-    deleteGroup(path, type);
-  }, [deleteGroup, path, type]);
- 
-  const handleRename = React.useCallback(() => {
-    setNewTokenGroupName(path);
-    setShowRenameTokenGroupModal(true);
-  }, [path]);
- 
-  const handleRenameTokenGroupSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    const tokensToRename = await renameGroup(path, newTokenGroupName, type);
-    await remapTokensInGroup({
-      oldGroupName: `${path}.`, newGroupName: `${newTokenGroupName}.`, type, tokensToRename,
-    });
-    setShowRenameTokenGroupModal(false);
-  }, [newTokenGroupName, path, renameGroup, type, remapTokensInGroup]);
- 
-  const handleNewTokenGroupNameChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
-    setNewTokenGroupName(e.target.value);
-  }, []);
- 
-  const handleRenameTokenGroupModalClose = React.useCallback(() => {
-    setShowRenameTokenGroupModal(false);
-  }, []);
- 
-  const handleDuplicateTokenGroupModalClose = React.useCallback(() => {
-    setShowDuplicateTokenGroupModal(false);
-  }, []);
- 
-  const handleDuplicate = React.useCallback(() => {
-    setNewTokenGroupName(`${path}-copy`);
-    setShowDuplicateTokenGroupModal(true);
-  }, [path]);
- 
-  const handleToggleCollapsed = useCallback(() => {
-    dispatch.tokenState.setCollapsedTokens(collapsed.includes(path) ? collapsed.filter((s) => s !== path) : [...collapsed, path]);
-  }, [collapsed, dispatch.tokenState, path]);
- 
-  const handleShowNewForm = useCallback(() => showNewForm({ name: `${path}.` }), [path, showNewForm]);
- 
-  return (
-    <StyledTokenGroupHeading>
-      <StyledTokenGroupHeadingCollapsable
-        collapsed={collapsed.includes(path)}
-        data-testid={`tokenlisting-group-${path}`}
-        type="button"
-      >
-        <ContextMenu>
-          <ContextMenu.Trigger data-testid={`group-heading-${path}-${label}-${id}`} onClick={handleToggleCollapsed}>
-            <Stack direction="row" gap={2} align="center" css={{ color: '$fgMuted' }}>
-              {collapsed.includes(path) ? <IconCollapseArrow /> : <IconExpandArrow />}
-              <Heading muted size="small">{label}</Heading>
-            </Stack>
-          </ContextMenu.Trigger>
-          <ContextMenu.Portal>
-            <ContextMenu.Content>
-              <ContextMenu.Item disabled={!canEdit} onSelect={handleRename}>
-                {t('rename')}
-              </ContextMenu.Item>
-              <ContextMenu.Item disabled={!canEdit} onSelect={handleDuplicate}>
-                {t('duplicate')}
-              </ContextMenu.Item>
-              <ContextMenu.Item disabled={!canEdit} onSelect={handleDelete}>
-                {t('delete')}
-              </ContextMenu.Item>
-            </ContextMenu.Content>
-          </ContextMenu.Portal>
-        </ContextMenu>
-      </StyledTokenGroupHeadingCollapsable>
- 
-      <RenameTokenGroupModal
-        isOpen={showRenameTokenGroupModal}
-        newName={newTokenGroupName}
-        oldName={path}
-        onClose={handleRenameTokenGroupModalClose}
-        handleRenameTokenGroupSubmit={handleRenameTokenGroupSubmit}
-        handleNewTokenGroupNameChange={handleNewTokenGroupNameChange}
-        type={type}
-      />
- 
-      <DuplicateTokenGroupModal
-        isOpen={showDuplicateTokenGroupModal}
-        type={type}
-        newName={newTokenGroupName}
-        oldName={path}
-        onClose={handleDuplicateTokenGroupModalClose}
-        handleNewTokenGroupNameChange={handleNewTokenGroupNameChange}
-      />
- 
-      <StyledTokenGroupAddIcon
-        icon={<IconAdd />}
-        tooltip={t('addNew', { ns: 'tokens' })}
-        tooltipSide="left"
-        onClick={handleShowNewForm}
-        disabled={!canEdit}
-        data-testid="button-add-new-token-in-group"
-        size="small"
-        variant="invisible"
-      />
-    </StyledTokenGroupHeading>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html deleted file mode 100644 index e76557db4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenGroup - - - - - - - - - -
-
-

All files src/app/components/TokenGroup

-
- -
- 0% - Statements - 0/65 -
- - -
- 0% - Branches - 0/23 -
- - -
- 0% - Functions - 0/20 -
- - -
- 0% - Lines - 0/61 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
StyledTokenGroup.tsx -
-
0%0/2100%0/0100%0/00%0/2
StyledTokenGroupHeading.tsx -
-
0%0/4100%0/0100%0/00%0/4
TokenGroup.tsx -
-
0%0/210%0/160%0/90%0/19
TokenGroupHeading.tsx -
-
0%0/380%0/70%0/110%0/36
index.tsx -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html deleted file mode 100644 index 687d7bf79..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenGroup/index.tsx.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenGroup/index.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenGroup index.tsx

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * as TokenGroup from './TokenGroup';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html deleted file mode 100644 index a1c09eb31..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenInput.tsx.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenInput.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenInput.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-import * as LabelPrimitive from '@radix-ui/react-label';
-import { styled } from '@/stitches.config';
- 
-const StyledLabel = styled(LabelPrimitive.Root, {
-  fontSize: 12,
-  fontWeight: 500,
-  color: '$fgMuted',
-  userSelect: 'none',
-  pointerEvents: 'none',
-  padding: '$3',
-  borderRight: '1px solid $borderDefault',
-  position: 'absolute',
-  left: 0,
-  top: 0,
-  width: '80px',
-  height: '100%',
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'flex-start',
-});
- 
-const Input = styled('input', {
-  all: 'unset',
-  borderRadius: '$small',
-  padding: '$4 $3',
-  paddingLeft: 'calc(80px + $4)',
-  fontSize: 12,
-  lineHeight: 1,
-  color: '$fgDefault',
-  border: '1px solid $borderDefault',
-  width: '100%',
-  '&:focus': { boxShadow: '$focus' },
-});
- 
-const Wrapper = styled('div', {
-  position: 'relative',
-  display: 'flex',
-});
- 
-type Props = {
-  name: string
-  label: string
-  type: string
-  onChange: React.ChangeEventHandler<HTMLInputElement>
-  value?: string | number
-  required?: boolean
-  custom?: string
-  placeholder?: string
-};
- 
-function TokenInput({
-  name, required = false, label, onChange, custom = '', value, type, placeholder = '',
-}: Props) {
-  return (
-    <Wrapper>
-      <StyledLabel htmlFor={name}>{label}</StyledLabel>
-      <Input
-        spellCheck={false}
-        type={type}
-        value={value}
-        name={name}
-        onChange={onChange}
-        required={required}
-        data-custom={custom}
-        placeholder={placeholder}
-      />
-    </Wrapper>
-  );
-}
- 
-export default TokenInput;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html deleted file mode 100644 index eafb8039c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListing.tsx.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenListing.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenListing.tsx

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { HTML5Backend } from 'react-dnd-html5-backend';
-import { DndProvider } from 'react-dnd';
-import { DeepKeyTokenMap, EditTokenObject, TokenTypeSchema } from '@/types/tokens';
-import TokenGroup from './TokenGroup/TokenGroup';
-import { Dispatch } from '../store';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { collapsedSelector, collapsedTokenTypeObjSelector, showEmptyGroupsSelector } from '@/selectors';
-import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import { ShowFormOptions, ShowNewFormOptions } from '@/types';
-import Box from './Box';
-import TokenListingHeading from './TokenListingHeading';
- 
-type Props = {
-  tokenKey: string;
-  label: string;
-  schema: TokenTypeSchema;
-  values: DeepKeyTokenMap;
-  isPro?: boolean;
-};
- 
-const TokenListing: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  tokenKey, label, schema, values, isPro,
-}) => {
-  const showEmptyGroups = useSelector(showEmptyGroupsSelector);
-  const collapsedTokenTypeObj = useSelector(collapsedTokenTypeObjSelector);
-  const collapsed = useSelector(collapsedSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const showForm = React.useCallback(
-    ({ token, name, status }: ShowFormOptions) => {
-      dispatch.uiState.setShowEditForm(true);
-      const type = token?.type || schema.type;
-      dispatch.uiState.setEditToken({
-        ...token,
-        type,
-        schema,
-        status,
-        initialName: name,
-        name,
-        value: type === TokenTypes.COLOR && !token?.value ? '#' : token?.value,
-      } as EditTokenObject);
-    },
-    [schema, dispatch],
-  );
- 
-  const showNewForm = React.useCallback(
-    ({ name = '' }: ShowNewFormOptions) => {
-      showForm({ token: null, name, status: EditTokenFormStatus.CREATE });
-    },
-    [showForm],
-  );
- 
-  const showDisplayToggle = React.useMemo(() => schema.type === TokenTypes.COLOR, [schema.type]);
- 
-  // TODO: Move this to state
-  const handleSetIntCollapsed = React.useCallback(
-    (e: React.MouseEvent<HTMLButtonElement>) => {
-      e.stopPropagation();
-      if (e.altKey) {
-        dispatch.uiState.toggleCollapsed();
-        const newCollapsedObj = Object.keys(collapsedTokenTypeObj).reduce<Record<string, boolean>>((acc, key) => {
-          acc[key] = !collapsed;
-          return acc;
-        }, {});
-        dispatch.tokenState.setCollapsedTokenTypeObj(newCollapsedObj);
-      } else {
-        dispatch.tokenState.setCollapsedTokenTypeObj({
-          ...collapsedTokenTypeObj,
-          [tokenKey]: !collapsedTokenTypeObj[tokenKey as TokenTypes],
-        });
-      }
-    },
-    [dispatch, collapsedTokenTypeObj, tokenKey, collapsed],
-  );
- 
-  if (!values && !showEmptyGroups) return null;
- 
-  return (
-    <Box css={{ borderBottom: '1px solid $borderMuted' }} data-testid={`tokenlisting-${tokenKey}`}>
-      <TokenListingHeading
-        onCollapse={handleSetIntCollapsed}
-        showDisplayToggle={showDisplayToggle}
-        tokenKey={tokenKey}
-        label={label}
-        isPro={isPro}
-        showNewForm={showNewForm}
-        isCollapsed={collapsedTokenTypeObj[tokenKey as TokenTypes]}
-      />
-      {values && (
-        <DndProvider backend={HTML5Backend}>
-          <Box
-            data-testid={`tokenlisting-${tokenKey}-content`}
-            css={{
-              padding: '$4',
-              display: collapsedTokenTypeObj[tokenKey as TokenTypes] ? 'none' : 'block',
-              paddingTop: '$1',
-            }}
-          >
-            <TokenGroup
-              tokenValues={values}
-              showNewForm={showNewForm}
-              showForm={showForm}
-              schema={schema}
-              tokenKey={tokenKey}
-            />
-          </Box>
-        </DndProvider>
-      )}
-    </Box>
-  );
-};
- 
-// @README the memo props check used to be a deep equals
-// but because the token sorting is done based on the order of an object
-// it comes as back as equals since object key order is disregarded in lodash's
-// isEqual check.
-// @TODO we should probably not rely on object key order for sorting anyways
-// since JS technically does not always ensure the same order of object keys.
-// in practice this is always the case but it is something to keep in mind in theory
-export default React.memo(TokenListing);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html deleted file mode 100644 index 274ab8e83..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenListingHeading.tsx.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenListingHeading.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenListingHeading.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { IconButton, Heading } from '@tokens-studio/ui';
-import {
-  IconCollapseArrow, IconExpandArrow, IconList, IconGrid, IconAdd,
-} from '@/icons';
-import { activeTokenSetReadOnlySelector, displayTypeSelector, editProhibitedSelector } from '@/selectors';
-import ProBadge from './ProBadge';
- 
-import { Dispatch } from '../store';
-import Tooltip from './Tooltip';
-import Box from './Box';
-import Stack from './Stack';
-import { StyledTokenGroupHeadingButton } from './TokenGroup/StyledTokenGroupHeading';
-import { useIsProUser } from '../hooks/useIsProUser';
- 
-type Props = {
-  isCollapsed: boolean;
-  isPro?: boolean;
-  showNewForm: (options: { name?: string }) => void;
-  label: string;
-  tokenKey: string;
-  showDisplayToggle: boolean;
-  onCollapse: (e: React.MouseEvent<HTMLButtonElement>) => void;
-};
- 
-export default function TokenListingHeading({
-  isPro,
-  isCollapsed,
-  showNewForm,
-  label,
-  tokenKey,
-  showDisplayToggle,
-  onCollapse,
-}: Props) {
-  const dispatch = useDispatch<Dispatch>();
-  const isProUser = useIsProUser();
- 
-  const editProhibited = useSelector(editProhibitedSelector);
-  const activeTokenSetReadOnly = useSelector(activeTokenSetReadOnlySelector);
- 
-  const displayType = useSelector(displayTypeSelector);
-  const handleShowNewForm = React.useCallback(() => showNewForm({}), [showNewForm]);
- 
-  const handleToggleDisplayType = React.useCallback(() => {
-    dispatch.uiState.setDisplayType(displayType === 'GRID' ? 'LIST' : 'GRID');
-  }, [displayType, dispatch]);
- 
-  const { t } = useTranslation(['tokens']);
- 
-  return (
-    <Stack direction="row" align="center" justify="between" gap={4} css={{ position: 'relative' }}>
-      <StyledTokenGroupHeadingButton
-        isCollapsed={isCollapsed}
-        type="button"
-        onClick={onCollapse}
-        data-testid={`tokenlisting-${tokenKey}-collapse-button`}
-      >
-        <Tooltip label={`Alt + Click ${t('toggle')}`}>
-          <Box css={{ padding: '$2', margin: '-$2' }}>{isCollapsed ? <IconCollapseArrow /> : <IconExpandArrow />}</Box>
-        </Tooltip>
-        <Heading size="small">{label}</Heading>
-        {isPro ? <ProBadge campaign={`${tokenKey}-listing`} /> : null}
-      </StyledTokenGroupHeadingButton>
-      <Box
-        css={{
-          position: 'absolute',
-          right: 0,
-          display: 'flex',
-          marginRight: '$2',
-        }}
-      >
-        {showDisplayToggle && (
-          <IconButton
-            icon={displayType === 'GRID' ? <IconList /> : <IconGrid />}
-            tooltip={displayType === 'GRID' ? t('showAsList') : t('showAsGrid')}
-            onClick={handleToggleDisplayType}
-            variant="invisible"
-            size="small"
-          />
-        )}
- 
-        <IconButton
-          data-testid="button-add-new-token"
-          // TODO: Add proper logic to disable adding a token type depending on flags
-          disabled={editProhibited || activeTokenSetReadOnly || (isPro && !isProUser)}
-          icon={<IconAdd />}
-          tooltip={t('addNew')}
-          onClick={handleShowNewForm}
-          variant="invisible"
-          size="small"
-        />
-      </Box>
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html deleted file mode 100644 index ad55ada23..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/StyledWrapper.tsx.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetItem/StyledWrapper.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenSetItem StyledWrapper.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import Box from '../Box';
-import { styled } from '@/stitches.config';
- 
-export const StyledWrapper = styled(Box, {
-  display: 'flex',
-  position: 'relative',
-  alignItems: 'center',
-  gap: '$1',
-  fontWeight: '$sansBold',
-  fontSize: '$xsmall',
-  width: '100%',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html deleted file mode 100644 index 062c30f36..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/TokenSetItem.tsx.html +++ /dev/null @@ -1,739 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetItem/TokenSetItem.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenSetItem TokenSetItem.tsx

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useSelector } from 'react-redux';
-import { CheckIcon } from '@radix-ui/react-icons';
-import { useTranslation } from 'react-i18next';
-import {
-  Checkbox, ContextMenu, Tooltip, Box, Text,
-} from '@tokens-studio/ui';
-import { StyledCheckbox } from '../StyledDragger/StyledCheckbox';
-import { StyledWrapper } from './StyledWrapper';
-import { tokenSetStatusSelector } from '@/selectors';
-import { RootState } from '@/app/store';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import IconIndeterminateAlt from '@/icons/indeterminate-alt.svg';
-import { TreeItem } from '@/utils/tokenset';
-import { DragGrabber } from '../StyledDragger/DragGrabber';
-import { StyledDragButton } from '../StyledDragger/StyledDragButton';
-import { formatCount } from '@/utils/formatCount';
- 
-export type TokenSetItemProps = {
-  item: TreeItem & { tokenCount?: number };
-  isCollapsed?: boolean; // eslint-disable-line react/no-unused-prop-types
-  isActive?: boolean;
-  isChecked: boolean | 'indeterminate';
-  canEdit: boolean;
-  canDuplicate?: boolean;
-  canDelete: boolean;
-  canReorder?: boolean;
-  extraBefore?: React.ReactNode;
-  onClick: (item: TreeItem) => void;
-  onCollapse?: (itemPath: string) => void; // eslint-disable-line react/no-unused-prop-types
-  onCheck: (checked: boolean, item: TreeItem) => void;
-  onRename: (set: string) => void;
-  onDelete: (set: string) => void;
-  onDuplicate: (set: string) => void;
-  onTreatAsSource: (set: string) => void;
-  onDragStart?: (event: React.PointerEvent<HTMLDivElement>, item: TreeItem) => void;
-};
- 
-export function TokenSetItem({
-  item,
-  onClick,
-  isActive = false,
-  isChecked,
-  onCheck,
-  canEdit,
-  canDuplicate = true,
-  canDelete,
-  canReorder = false,
-  extraBefore,
-  onRename,
-  onDelete,
-  onDuplicate,
-  onTreatAsSource,
-  onDragStart,
-}: TokenSetItemProps) {
-  const statusSelector = useCallback((state: RootState) => tokenSetStatusSelector(state, item.path), [item]);
-  const tokenSetStatus = useSelector(statusSelector);
-  const { t } = useTranslation(['tokens']);
- 
-  const handleClick = useCallback(() => {
-    onClick(item);
-  }, [item, onClick]);
- 
-  const handleRename = useCallback(() => {
-    onRename(item.path);
-  }, [item.path, onRename]);
- 
-  const handleDelete = useCallback(() => {
-    onDelete(item.path);
-  }, [item.path, onDelete]);
- 
-  const handleDuplicate = useCallback(() => {
-    onDuplicate(item.path);
-  }, [item.path, onDuplicate]);
- 
-  const handleTreatAsSource = useCallback(() => {
-    onTreatAsSource(item.path);
-  }, [item.path, onTreatAsSource]);
- 
-  const handleCheckedChange = useCallback(() => {
-    onCheck(!isChecked, item);
-  }, [item, isChecked, onCheck]);
- 
-  const handleGrabberPointerDown = useCallback<React.PointerEventHandler<HTMLDivElement>>(
-    (event) => {
-      if (onDragStart) onDragStart(event, item);
-    },
-    [item, onDragStart],
-  );
- 
-  const getCheckboxTooltip = useCallback(() => {
-    if (tokenSetStatus === TokenSetStatus.SOURCE) {
-      return t('sets.sourceDescription') as string;
-    }
-    if (isChecked) {
-      return t('sets.activeDescription') as string;
-    }
-    return t('sets.inactiveDescription') as string;
-  }, [isChecked, tokenSetStatus, t]);
- 
-  const renderIcon = useCallback(
-    (checked: typeof isChecked, fallbackIcon: React.ReactNode) => {
-      if (tokenSetStatus === TokenSetStatus.SOURCE) {
-        return <IconIndeterminateAlt />;
-      }
-      return fallbackIcon;
-    },
-    [tokenSetStatus],
-  );
- 
-  return (
-    <StyledWrapper>
-      <ContextMenu>
-        {!item.isLeaf ? (
-          <ContextMenu.Trigger asChild id={`${item.path}-trigger`}>
-            <StyledDragButton
-              itemType="folder"
-              type="button"
-              data-testid={`tokensetitem-${item.path}`}
-              css={{
-                padding: '$3 $7 $3 $1',
-                paddingLeft: `${5 * item.level}px`,
-              }}
-              isActive={isActive}
-              canReorder={canReorder}
-              onClick={handleClick}
-            >
-              <DragGrabber item={item} canReorder={canReorder} onDragStart={handleGrabberPointerDown} />
-              {extraBefore}
-            </StyledDragButton>
-          </ContextMenu.Trigger>
-        ) : (
-          <ContextMenu.Trigger asChild id={`${item.path}-trigger`}>
-            <StyledDragButton
-              type="button"
-              css={{
-                padding: '$3 $6 $3 $1',
-                paddingLeft: `${5 * item.level}px`,
-              }}
-              data-testid={`tokensetitem-${item.path}`}
-              isActive={isActive}
-              canReorder={canReorder}
-              onClick={handleClick}
-            >
-              <DragGrabber item={item} canReorder={canReorder} onDragStart={handleGrabberPointerDown} />
-              <Box
-                css={{
-                  display: 'flex',
-                  alignItems: 'center',
-                  gap: '$2',
-                  overflow: 'hidden',
-                  height: '1.5em',
-                  maxWidth: 'calc(100% - $sizes$6)',
-                  whiteSpace: 'nowrap',
-                  textOverflow: 'ellipsis',
-                  userSelect: 'none',
-                }}
-              >
-                <Tooltip label={item.label} side="right">
-                  <span style={{ overflow: 'hidden' }}>{item.label}</span>
-                </Tooltip>
-                {item.tokenCount !== undefined && item.tokenCount > 0 && (
-                  <Text size="xsmall" muted css={{ flexShrink: 0 }}>
-                    {formatCount(item.tokenCount)}
-                  </Text>
-                )}
-              </Box>
-            </StyledDragButton>
-          </ContextMenu.Trigger>
-        )}
-        <ContextMenu.Portal>
-          <ContextMenu.Content>
-            <ContextMenu.Item onSelect={handleRename} disabled={!canEdit}>{t('rename')}</ContextMenu.Item>
-            {item.isLeaf && (
-              <>
-                <ContextMenu.Item disabled={!canEdit || !canDuplicate} onSelect={handleDuplicate}>{t('duplicate')}</ContextMenu.Item>
-                <ContextMenu.Item disabled={!canEdit || !canDelete} onSelect={handleDelete}>
-                  {t('delete')}
-                </ContextMenu.Item>
-                <ContextMenu.Separator />
-                <ContextMenu.CheckboxItem
-                  checked={tokenSetStatus === TokenSetStatus.SOURCE}
-                  onSelect={handleTreatAsSource}
-                >
-                  <ContextMenu.ItemIndicator>
-                    <CheckIcon />
-                  </ContextMenu.ItemIndicator>
-                  {t('sets.treatAsSource')}
-                </ContextMenu.CheckboxItem>
-              </>
-            )}
-          </ContextMenu.Content>
-        </ContextMenu.Portal>
-      </ContextMenu>
-      <StyledCheckbox checked={isChecked}>
-        {item.isLeaf ? (
-          <Tooltip label={getCheckboxTooltip()} side="right">
-            <Checkbox
-              id={item.path}
-              data-testid={`tokensetitem-${item.path}-checkbox`}
-              checked={isChecked}
-              renderIcon={renderIcon}
-              onCheckedChange={handleCheckedChange}
-            />
-          </Tooltip>
-        ) : (
-          <Checkbox
-            id={item.path}
-            data-testid={`tokensetitem-${item.path}-checkbox`}
-            checked={isChecked}
-            renderIcon={renderIcon}
-            onCheckedChange={handleCheckedChange}
-          />
-        )}
-      </StyledCheckbox>
-    </StyledWrapper>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html deleted file mode 100644 index 0155e1c38..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetItem - - - - - - - - - -
-
-

All files src/app/components/TokenSetItem

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/29 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
StyledWrapper.tsx -
-
0%0/1100%0/0100%0/00%0/1
TokenSetItem.tsx -
-
0%0/300%0/240%0/110%0/28
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html deleted file mode 100644 index a76998ec7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetItem/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetItem/index.ts - - - - - - - - - -
-
-

All files / src/app/components/TokenSetItem index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export { TokenSetItem } from './TokenSetItem';
-export type { TokenSetItemProps } from './TokenSetItem';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html deleted file mode 100644 index eb3a9e3a9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetListItemContent.tsx.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetListItemContent.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenSetListItemContent.tsx

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { Dispatch } from '../store';
-import { TokenSetItem } from './TokenSetItem';
-import useConfirm from '../hooks/useConfirm';
-import {
-  activeTokenSetSelector,
-  editProhibitedSelector,
-  hasUnsavedChangesSelector,
-  tokenSetMetadataSelector,
-  usedTokenSetSelector,
-} from '@/selectors';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { DragControlsContext } from '@/context';
-import { TreeItem } from '@/utils/tokenset';
- 
-type ExtendedTreeItem = TreeItem & {
-  tokenSets: string[];
-  onRename: (tokenSet: string) => void;
-  onDelete: (tokenSet: string) => void;
-  onDuplicate: (tokenSet: string) => void;
-  saveScrollPositionSet: (tokenSet: string) => void;
-};
-type TreeRenderFunction = (props: React.PropsWithChildren<{
-  item: ExtendedTreeItem
-}>) => React.ReactNode;
- 
-export function TokenSetListItemContent({ item }: Parameters<TreeRenderFunction>[0]) {
-  const { confirm } = useConfirm();
-  const dragContext = React.useContext(DragControlsContext);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const tokenSetMetadata = useSelector(tokenSetMetadataSelector);
-  const hasUnsavedChanges = useSelector(hasUnsavedChangesSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const { t } = useTranslation(['tokens']);
- 
-  const handleClick = useCallback(async (set: TreeItem) => {
-    if (set.isLeaf) {
-      if (hasUnsavedChanges) {
-        const userChoice = await confirm({ text: t('youHaveUnsavedChanges'), description: t('changesWillBeDiscarded') });
-        if (userChoice) {
-          dispatch.tokenState.setActiveTokenSet(set.path);
-          item.saveScrollPositionSet(activeTokenSet);
-        }
-      } else {
-        dispatch.tokenState.setActiveTokenSet(set.path);
-        item.saveScrollPositionSet(activeTokenSet);
-      }
-    }
-  }, [confirm, dispatch, hasUnsavedChanges, item, activeTokenSet]);
- 
-  const handleCheckedChange = useCallback((checked: boolean, treeItem: TreeItem) => {
-    dispatch.tokenState.toggleUsedTokenSet(treeItem.path);
-  }, [dispatch]);
- 
-  const handleTreatAsSource = useCallback((tokenSetPath: string) => {
-    dispatch.tokenState.toggleTreatAsSource(tokenSetPath);
-  }, [dispatch]);
- 
-  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
-    dragContext.controls?.start(event);
-  }, [dragContext.controls]);
- 
-  return (
-    <TokenSetItem
-      key={item.key}
-      isActive={activeTokenSet === item.path}
-      onClick={handleClick}
-      isChecked={usedTokenSet?.[item.path] === TokenSetStatus.ENABLED || (
-        usedTokenSet?.[item.path] === TokenSetStatus.SOURCE ? 'indeterminate' : false
-      )}
-      item={item}
-      onCheck={handleCheckedChange}
-      canEdit={!editProhibited}
-      canDuplicate={!tokenSetMetadata[item.path]?.isDynamic}
-      canReorder={!editProhibited}
-      canDelete={!editProhibited || Object.keys(item.tokenSets).length > 1}
-      onRename={item.onRename}
-      onDelete={item.onDelete}
-      onDuplicate={item.onDuplicate}
-      onDragStart={handleDragStart}
-      onTreatAsSource={handleTreatAsSource}
-    />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html deleted file mode 100644 index 9167f6e19..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetSelector.tsx.html +++ /dev/null @@ -1,841 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetSelector.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenSetSelector.tsx

-
- -
- 0% - Statements - 0/74 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/18 -
- - -
- 0% - Lines - 0/73 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Box, Stack, Label, Button, TextInput,
-} from '@tokens-studio/ui';
-import { Resizable } from 're-resizable';
-import { track } from '@/utils/analytics';
-import useConfirm from '../hooks/useConfirm';
-import { Dispatch } from '../store';
-import IconAdd from '@/icons/add.svg';
-import Modal from './Modal';
-import TokenSetTree from './TokenSetTree';
-import {
-  editProhibitedSelector, tokensSelector, uiStateSelector, storageTypeSelector,
-} from '@/selectors';
-import OnboardingExplainer from './OnboardingExplainer';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export default function TokenSetSelector({ saveScrollPositionSet }: { saveScrollPositionSet: (tokenSet: string) => void }) {
-  const { t } = useTranslation(['tokens']);
- 
-  const onboardingData = {
-    title: t('sets.title'),
-    text: t('sets.description'),
-    url: 'https://docs.tokens.studio/manage-tokens/token-sets?ref=onboarding_explainer_sets',
-  };
- 
-  const tokens = useSelector(tokensSelector);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const uiState = useSelector(uiStateSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const { confirm } = useConfirm();
-  const storageType = useSelector(storageTypeSelector);
- 
-  const [showNewTokenSetFields, setShowNewTokenSetFields] = React.useState(false);
-  const [showRenameTokenSetFields, setShowRenameTokenSetFields] = React.useState(false);
-  const [newTokenSetName, handleNewTokenSetNameChange] = React.useState('');
-  const [oldTokenSetName, setOldTokenSetName] = React.useState('');
-  const [isDuplicate, setIsDuplicate] = React.useState(false);
-  const allTokenSets = React.useMemo(() => Object.keys(tokens), [tokens]);
- 
-  React.useEffect(() => {
-    const scrollPositionSet = allTokenSets.reduce<Record<string, number>>((acc, crr) => {
-      acc[crr] = 0;
-      return acc;
-    }, {});
-    dispatch.uiState.setScrollPositionSet(scrollPositionSet);
-  }, [allTokenSets, dispatch]);
- 
-  React.useEffect(() => {
-    setShowNewTokenSetFields(false);
-  }, [tokens]);
- 
-  const handleNewTokenSetSubmit = React.useCallback((e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    track('Created token set', { name: newTokenSetName });
-    dispatch.tokenState.addTokenSet(newTokenSetName.trim());
-    dispatch.tokenState.setActiveTokenSet(newTokenSetName.trim());
-    handleNewTokenSetNameChange('');
-  }, [dispatch, newTokenSetName]);
- 
-  const handleDeleteTokenSet = React.useCallback(async (tokenSet: string) => {
-    track('Deleted token set');
- 
-    const userConfirmation = await confirm({
-      text: t('sets.delete', { tokenSet }) as string,
-      description: storageType.provider === StorageProviderType.TOKENS_STUDIO ? t('sets.deleteConfirmationStudio') : t('sets.deleteConfirmation'),
-    });
-    if (userConfirmation) {
-      dispatch.tokenState.deleteTokenSet(tokenSet);
-    }
-  }, [confirm, dispatch, t, storageType]);
- 
-  const handleRenameTokenSet = React.useCallback((tokenSet: string) => {
-    track('Renamed token set');
-    handleNewTokenSetNameChange(tokenSet);
-    setOldTokenSetName(tokenSet);
-    setIsDuplicate(false);
-    setShowRenameTokenSetFields(true);
-  }, []);
- 
-  const handleDuplicateTokenSet = React.useCallback((tokenSet: string) => {
-    const newTokenSetName = `${tokenSet}_${t('sets.duplicateSetSuffix')}`;
-    handleNewTokenSetNameChange(newTokenSetName);
-    setOldTokenSetName(tokenSet);
-    setIsDuplicate(true);
-    setShowRenameTokenSetFields(true);
-  }, []);
- 
-  const handleRenameTokenSetSubmit = React.useCallback((e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    if (isDuplicate) {
-      track('Duplicate token set', { name: newTokenSetName });
-      dispatch.tokenState.duplicateTokenSet(newTokenSetName, oldTokenSetName);
-    } else if (tokens.hasOwnProperty(oldTokenSetName)) {
-      dispatch.tokenState.renameTokenSet({ oldName: oldTokenSetName, newName: newTokenSetName.trim() });
-    } else {
-      dispatch.tokenState.renameTokenSetFolder({ oldName: oldTokenSetName, newName: newTokenSetName.trim() });
-    }
-    setOldTokenSetName('');
-    handleNewTokenSetNameChange('');
-    setShowRenameTokenSetFields(false);
-  }, [dispatch, newTokenSetName, oldTokenSetName, isDuplicate, tokens]);
- 
-  const handleReorder = useCallback((values: string[]) => {
-    dispatch.tokenState.setTokenSetOrder(values);
-  }, [dispatch]);
- 
-  const closeOnboarding = useCallback(() => {
-    dispatch.uiState.setOnboardingExplainerSets(false);
-  }, [dispatch]);
- 
-  const handleDelete = useCallback((set: string) => {
-    handleDeleteTokenSet(set);
-  }, [handleDeleteTokenSet]);
- 
-  const handleCloseRenameModal = useCallback(() => {
-    setShowRenameTokenSetFields(false);
-    handleNewTokenSetNameChange('');
-  }, []);
- 
-  const handleChangeName = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {
-    handleNewTokenSetNameChange(event.target.value);
-  }, []);
- 
-  const handleCloseNewTokenSetModal = useCallback(() => {
-    setShowNewTokenSetFields(false);
-  }, []);
- 
-  const handleOpenNewTokenSetModal = useCallback(() => {
-    setShowNewTokenSetFields(true);
-  }, []);
- 
-  const handleResize = useCallback((e, direction, ref, d) => {
-    dispatch.uiState.setSidebarWidth(uiState.sidebarWidth + d.width);
-  }, [uiState, dispatch.uiState]);
- 
-  return (
-    <Resizable
-      size={{ width: uiState.sidebarWidth, height: '100%' }}
-      onResizeStop={handleResize}
-      minWidth={100}
-      maxWidth="50vw"
-      enable={{
-        right: true,
-      }}
-    >
-      <Box
-        css={{
-          display: 'flex',
-          height: '100%',
-          flexDirection: 'column',
-          width: '100%',
-          borderRight: '1px solid',
-          borderColor: '$borderMuted',
-          overflowY: 'auto',
-        }}
-        className="content"
-      >
-        <TokenSetTree
-          tokenSets={allTokenSets}
-          onRename={handleRenameTokenSet}
-          onDelete={handleDelete}
-          onDuplicate={handleDuplicateTokenSet}
-          onReorder={handleReorder}
-          saveScrollPositionSet={saveScrollPositionSet}
-        />
-        <Modal
-          title={`${isDuplicate ? t('duplicate') : t('rename')} ${oldTokenSetName}`}
-          isOpen={showRenameTokenSetFields}
-          close={handleCloseRenameModal}
-        >
-          <form onSubmit={handleRenameTokenSetSubmit}>
-            <Stack direction="column" gap={4}>
-              <Stack direction="column" gap={2}>
-                <Label htmlFor="tokensetname">Name</Label>
-                <TextInput
-                  autoFocus
-                  value={newTokenSetName}
-                  onChange={handleChangeName}
-                  type="text"
-                  name="tokensetname"
-                  data-testid="rename-set-input"
-                  required
-                />
-              </Stack>
-              <Stack direction="row" gap={4} justify="end">
-                <Button variant="secondary" onClick={handleCloseRenameModal}>
-                  {t('cancel')}
-                </Button>
-                <Button type="submit" variant="primary" disabled={!newTokenSetName}>
-                  {
-                  isDuplicate ? t('save') : t('change')
-                }
-                </Button>
-              </Stack>
-            </Stack>
-          </form>
-        </Modal>
-        <Modal
-          title={t('sets.new') as string}
-          data-testid="new-set-modal"
-          isOpen={showNewTokenSetFields}
-          close={handleCloseNewTokenSetModal}
-        >
-          <form onSubmit={handleNewTokenSetSubmit}>
-            <Stack direction="column" gap={4}>
-              <Stack direction="column" gap={2}>
-                <Label htmlFor="tokensetname">Name</Label>
-                <TextInput
-                  value={newTokenSetName}
-                  onChange={handleChangeName}
-                  type="text"
-                  name="tokensetname"
-                  required
-                  data-testid="token-set-input"
-                  autoFocus
-                  placeholder="Enter a name"
-                />
-              </Stack>
-              <Stack direction="row" gap={4} justify="end">
-                <Button variant="secondary" onClick={handleCloseNewTokenSetModal}>
-                  {t('cancel')}
-                </Button>
-                <Button data-testid="create-token-set" type="submit" variant="primary">
-                  {t('create')}
-                </Button>
-              </Stack>
-            </Stack>
-          </form>
-        </Modal>
-        <Stack direction="column" css={{ padding: '$3' }}>
-          <Button
-            icon={<IconAdd />}
-            size="small"
-            data-testid="button-new-token-set"
-            type="button"
-            disabled={editProhibited}
-            onClick={handleOpenNewTokenSetModal}
-            css={{ justifyContent: 'center' }}
-          >
-            {t('sets.new')}
-          </Button>
-        </Stack>
-        {uiState.onboardingExplainerSets && (
-        <OnboardingExplainer data={onboardingData} closeOnboarding={closeOnboarding} />
-        )}
-      </Box>
-    </Resizable>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html deleted file mode 100644 index dfb4d903f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree.tsx.html +++ /dev/null @@ -1,742 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTree.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenSetTree.tsx

-
- -
- 0% - Statements - 0/79 -
- - -
- 0% - Branches - 0/38 -
- - -
- 0% - Functions - 0/29 -
- - -
- 0% - Lines - 0/68 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useMemo,
-} from 'react';
-import { useSelector } from 'react-redux';
-import debounce from 'lodash.debounce';
-import {
-  activeTokenSetSelector,
-  collapsedTokenSetsSelector,
-  editProhibitedSelector,
-  tokenFilterSelector,
-  tokensSelector,
-  usedTokenSetSelector,
-} from '@/selectors';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { isEqual } from '@/utils/isEqual';
-import {
-  findOrderableTargetIndexesInTokenSetTreeList,
-  tokenSetListToTree, TreeItem,
-} from '@/utils/tokenset';
-import { ensureFolderIsTogether } from '@/utils/dragDropOrder';
-import { ReorderGroup } from '@/motion/ReorderGroup';
-import { ItemData } from '@/context';
-import { checkReorder } from '@/utils/motion';
-import { DragItem } from './StyledDragger/DragItem';
-import { TokenSetTreeItemContent } from './TokenSetTreeItemContent';
-import { TokenSetTreeContent } from './TokenSetTree/TokenSetTreeContent';
- 
-type ExtendedTreeItem = TreeItem & {
-  tokenSets: string[];
-  items: TreeItem[]
-  isActive: boolean
-  canDelete: boolean
-  checkedState: boolean | 'indeterminate'
-  tokenCount?: number
-  onRename: (tokenSet: string) => void
-  onDelete: (tokenSet: string) => void
-  onDuplicate: (tokenSet: string) => void
-  saveScrollPositionSet: (tokenSet: string) => void
-};
- 
-type TokenSetTreeProps = {
-  tokenSets: string[]
-  onReorder: (sets: string[]) => void;
-  onRename: (tokenSet: string) => void
-  onDelete: (tokenSet: string) => void
-  onDuplicate: (tokenSet: string) => void
-  saveScrollPositionSet: (tokenSet: string) => void
-};
- 
-export default function TokenSetTree({
-  tokenSets, onReorder, onRename, onDelete, onDuplicate, saveScrollPositionSet,
-}: TokenSetTreeProps) {
-  const tokens = useSelector(tokensSelector);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const collapsed = useSelector(collapsedTokenSetsSelector);
-  const externalItems = useMemo(() => tokenSetListToTree(tokenSets), [tokenSets]);
-  const [items, setItems] = React.useState<TreeItem[]>(externalItems);
-  const tokenFilter = useSelector(tokenFilterSelector);
- 
-  const debouncedOnReorder = React.useMemo(() => debounce(onReorder, 500), [onReorder]);
- 
-  const filteredSetItems = React.useMemo(() => {
-    const tokenSetsContainingItemsThatMatchFilter = new Set<string>();
-    const tokenCountMap = new Map<string, number>();
- 
-    Object.entries(tokens).forEach(([setName, setContent]) => {
-      const matchingTokens = setContent.filter((token) => token.name.toLowerCase().includes(tokenFilter.toLowerCase()));
- 
-      const setNameMatches = setName.toLowerCase().includes(tokenFilter.toLowerCase());
- 
-      if (matchingTokens.length > 0 || setNameMatches) {
-        // Add the matching set and all its parent folders
-        let currentPath = setName;
-        while (currentPath) {
-          tokenSetsContainingItemsThatMatchFilter.add(currentPath);
- 
-          // Only count direct matches for the specific set, not parent folders
-          if (currentPath === setName) {
-            tokenCountMap.set(currentPath, matchingTokens.length);
-          }
- 
-          currentPath = currentPath.split('/').slice(0, -1).join('/');
-        }
-      }
-    });
- 
-    return externalItems
-      .filter((item) => tokenSetsContainingItemsThatMatchFilter.has(item.path))
-      .map((item) => ({
-        ...item,
-        tokenCount: tokenFilter ? tokenCountMap.get(item.path) || 0 : undefined,
-      }));
-  }, [externalItems, tokenFilter, tokens]);
- 
-  React.useEffect(() => {
-    // Compare saved tokenSet order with GUI tokenSet order and update the tokenSet if there is a difference
-    if (!isEqual(Object.keys(tokens), externalItems.filter(({ isLeaf }) => isLeaf).map(({ path }) => path))) {
-      debouncedOnReorder(filteredSetItems.filter(({ isLeaf }) => isLeaf).map(({ path }) => path));
-    }
-    // Filter externalItems based on tokenFilter. Filter on the children as well as the name of the set
-    setItems(filteredSetItems);
-  }, [externalItems, tokens, debouncedOnReorder, tokenFilter, filteredSetItems]);
- 
-  const determineCheckedState = useCallback((item: TreeItem) => {
-    if (item.isLeaf) {
-      if (usedTokenSet?.[item.path] === TokenSetStatus.SOURCE) {
-        return 'indeterminate';
-      }
-      return usedTokenSet?.[item.path] === TokenSetStatus.ENABLED;
-    }
- 
-    const itemPaths = items.filter((i) => i.path.startsWith(item.path) && i.path !== item.path).map((i) => i.path);
-    const childTokenSetStatuses = Object.entries(usedTokenSet)
-      .filter(([tokenSet]) => itemPaths.includes(tokenSet))
-      .map(([, tokenSetStatus]) => tokenSetStatus);
- 
-    if (childTokenSetStatuses.every((status) => (
-      status === TokenSetStatus.ENABLED
-    ))) {
-      // @README all children are ENABLED
-      return true;
-    }
- 
-    if (childTokenSetStatuses.some((status) => (
-      status === TokenSetStatus.ENABLED
-      || status === TokenSetStatus.SOURCE
-    ))) {
-      // @README some children are ENABLED or treated as SOURCE
-      return 'indeterminate';
-    }
- 
-    return false;
-  }, [items, usedTokenSet]);
- 
-  const mappedItems = useMemo(() => (
-    items.map((item) => ({
-      ...item,
-      tokenSets,
-      items,
-      onRename,
-      onDelete,
-      onDuplicate,
-      saveScrollPositionSet,
-      isActive: activeTokenSet === item.path && item.isLeaf,
-      canDelete: !editProhibited || Object.keys(tokenSets).length > 1,
-      checkedState: determineCheckedState(item) as ReturnType<typeof determineCheckedState>,
-    }))
-  ), [
-    items,
-    activeTokenSet,
-    editProhibited,
-    tokenSets,
-    determineCheckedState,
-    onRename,
-    onDelete,
-    onDuplicate,
-    saveScrollPositionSet,
-  ]);
- 
-  const handleReorder = React.useCallback((reorderedItems: ExtendedTreeItem[]) => {
-    const nextItems = reorderedItems.reduce<typeof items>((acc, item) => {
-      const found = items.find(({ id }) => item.id === id);
-      if (found) {
-        // check if this group is collapsed
-        acc.push(found);
-        const itemIsCollapsed = collapsed.includes(item.key);
-        if (itemIsCollapsed && !item.isLeaf) {
-          // also include all children
-          return acc.concat(items.filter((possibleChild) => (
-            possibleChild.parent && possibleChild.parent.startsWith(item.path)
-          )));
-        }
-      }
-      return acc;
-    }, []);
- 
-    setItems(nextItems);
- 
-    debouncedOnReorder(nextItems
-      .filter(({ isLeaf }) => isLeaf)
-      .map(({ path }) => path));
-  }, [items, collapsed, debouncedOnReorder]);
- 
-  const handleCheckReorder = React.useCallback((
-    order: ItemData<typeof mappedItems[number]>[],
-    value: typeof mappedItems[number],
-    offset: number,
-    velocity: number,
-  ) => {
-    const availableIndexes = findOrderableTargetIndexesInTokenSetTreeList(
-      velocity,
-      value,
-      order,
-    );
-    let nextOrder = checkReorder(order, value, offset, velocity, availableIndexes);
-    // ensure folders stay together
-    if (!value.isLeaf) {
-      nextOrder = ensureFolderIsTogether(value, order, nextOrder);
-    }
-    return nextOrder;
-  }, []);
- 
-  return (
-    <ReorderGroup
-      layoutScroll
-      values={mappedItems}
-      checkReorder={handleCheckReorder}
-      onReorder={handleReorder}
-    >
-      <TokenSetTreeContent<ExtendedTreeItem>
-        items={mappedItems}
-        renderItem={DragItem}
-        renderItemContent={TokenSetTreeItemContent}
-      />
-    </ReorderGroup>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html deleted file mode 100644 index c40045db1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButton.tsx.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTree/StyledFolderButton.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenSetTree StyledFolderButton.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { styled } from '@/stitches.config';
- 
-export const StyledFolderButton = styled('button', {
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'center',
-  overflow: 'hidden',
-  flexShrink: 1,
-  zIndex: 1,
-  '&:focus': {
-    boxShadow: 'none',
-  },
-  variants: {
-    size: {
-      small: {
-        padding: 0,
-        fontSize: '$xsmall',
-        gap: '$1',
-      },
-      default: {
-        padding: '$2',
-        gap: '$3',
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html deleted file mode 100644 index 2b06bfbe4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenSetTree StyledFolderButtonChevronBox.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Box from '../Box';
-import { styled } from '@/stitches.config';
- 
-export const StyledFolderButtonChevronBox = styled(Box, {
-  transition: 'transform 0.2s ease-in-out',
-  display: 'flex',
-  alignItems: 'center',
-  justifyContent: 'center',
-  flexShrink: 0,
-  color: '$fgSubtle',
-  variants: {
-    collapsed: {
-      true: {
-        transform: 'rotate(-90deg)',
-      },
-      false: {
-        transform: 'rotate(0deg)',
-      },
-    },
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html deleted file mode 100644 index fda787393..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/StyledItem.tsx.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTree/StyledItem.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenSetTree StyledItem.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import Box from '../Box';
-import { styled } from '@/stitches.config';
- 
-export const StyledItem = styled(Box, {
-  display: 'flex',
-  position: 'relative',
-  alignItems: 'center',
-  gap: '$1',
-  fontWeight: '$sansBold',
-  fontSize: '$xsmall',
-  width: '100%',
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html deleted file mode 100644 index e3cc4a6dd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/TokenSetTreeContent.tsx.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTree/TokenSetTreeContent.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenSetTree TokenSetTreeContent.tsx

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/10 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { Box } from '@tokens-studio/ui';
-import { IconExpandArrow } from '@/icons';
-import { StyledFolderButton } from './StyledFolderButton';
-import { StyledItem } from './StyledItem';
-import { StyledFolderButtonChevronBox } from './StyledFolderButtonChevronBox';
-import { Dispatch } from '../../store';
-import {
-  collapsedTokenSetsSelector,
-} from '@/selectors';
-import { StyledThemeLabel } from '../ManageThemesModal/StyledThemeLabel';
- 
-type TreeItem<ItemType = unknown> = {
-  key: string
-  level: number
-  parent: string | null
-  isLeaf: boolean,
-  label: string
-  id: string
-  tokenCount?: number
-} & ItemType;
- 
-type SharedProps<T extends TreeItem> = {
-  items: T[]
-  renderItem?: (props: { item: T, children: React.ReactNode }) => React.ReactElement | null
-  renderItemContent: (props: { item: T, children: React.ReactNode }) => React.ReactElement | null
-  keyPosition?: 'start' | 'end'
-};
- 
-type Props<T extends TreeItem> = SharedProps<T>;
- 
-export function TokenSetTreeContent<T extends TreeItem>({
-  items,
-  renderItem: RenderItem = ({ children }) => React.createElement(React.Fragment, {}, children),
-  renderItemContent: RenderItemContent,
-  keyPosition = 'start',
-}: Props<T>) {
-  const collapsed = useSelector(collapsedTokenSetsSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const handleToggleCollapsed = useCallback((key: string) => {
-    dispatch.tokenState.setCollapsedTokenSets(collapsed.includes(key) ? collapsed.filter((s) => s !== key) : [...collapsed, key]);
-  }, [dispatch, collapsed]);
- 
-  const mappedItems = useMemo(() => (
-    items.filter((item) => (
-      // remove items which are in a collapsed parent
-      !collapsed.some((parentKey) => item.parent === parentKey
-      || (item.parent?.startsWith(parentKey) && item.parent?.charAt(parentKey.length) === '/'))
-    )).map((item) => ({
-      item,
-      onToggleCollapsed: () => handleToggleCollapsed(item.key),
-    }))
-  ), [items, collapsed, handleToggleCollapsed]);
- 
-  return (
-    <>
-      {mappedItems.map(({ item, onToggleCollapsed }) => (
-        <RenderItem key={item.id} item={item}>
-          <StyledItem>
-            <RenderItemContent item={item}>
-              {(!item.isLeaf) && (
-                <StyledFolderButton
-                  type="button"
-                  onClick={onToggleCollapsed}
-                  size={keyPosition === 'start' ? 'small' : 'default'}
-                >
-                  {keyPosition === 'start' ? (
-                    <Box css={{ display: 'flex', alignItems: 'center', gap: '$2' }}>
-                      <StyledThemeLabel variant="folder">{item.label}</StyledThemeLabel>
-                    </Box>
-                  ) : null}
-                  <StyledFolderButtonChevronBox collapsed={collapsed.includes(item.key)}>
-                    <IconExpandArrow />
-                  </StyledFolderButtonChevronBox>
-                  {keyPosition === 'end' ? (
-                    <Box css={{ display: 'flex', alignItems: 'center', gap: '$2' }}>
-                      <StyledThemeLabel variant="folder">{item.label}</StyledThemeLabel>
-                    </Box>
-                  ) : null}
-                </StyledFolderButton>
-              )}
-            </RenderItemContent>
-          </StyledItem>
-        </RenderItem>
-      ))}
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html deleted file mode 100644 index 26ae50c61..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTree/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTree - - - - - - - - - -
-
-

All files src/app/components/TokenSetTree

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/10 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
StyledFolderButton.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledFolderButtonChevronBox.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledItem.tsx -
-
0%0/1100%0/0100%0/00%0/1
TokenSetTreeContent.tsx -
-
0%0/140%0/150%0/100%0/12
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html deleted file mode 100644 index ebe20f1b5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenSetTreeItemContent.tsx.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenSetTreeItemContent.tsx - - - - - - - - - -
-
-

All files / src/app/components TokenSetTreeItemContent.tsx

-
- -
- 0% - Statements - 0/23 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useCallback, useContext,
-} from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { TokenSetItem } from './TokenSetItem';
-import {
-  activeApiProviderSelector,
-  activeTokenSetSelector,
-  editProhibitedSelector,
-  tokenSetMetadataSelector,
-} from '@/selectors';
-import { TreeItem } from '@/utils/tokenset';
-import { DragControlsContext } from '@/context';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-type ExtendedTreeItem = TreeItem & {
-  tokenSets: string[];
-  items: TreeItem[]
-  isActive: boolean
-  canDelete: boolean
-  checkedState: boolean | 'indeterminate'
-  onRename: (tokenSet: string) => void
-  onDelete: (tokenSet: string) => void
-  onDuplicate: (tokenSet: string) => void
-  saveScrollPositionSet: (tokenSet: string) => void
-};
- 
-type TokenSetTreeItemContentProps = React.PropsWithChildren<{
-  item: ExtendedTreeItem
-}>;
- 
-export function TokenSetTreeItemContent({
-  item, children,
-}: TokenSetTreeItemContentProps) {
-  const dispatch = useDispatch();
-  const dragContext = useContext(DragControlsContext);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const editProhibited = useSelector(editProhibitedSelector);
-  const tokenSetMetadata = useSelector(tokenSetMetadataSelector);
-  const activeApiProvider = useSelector(activeApiProviderSelector);
- 
-  const isTokensStudioProvider = activeApiProvider === StorageProviderType.TOKENS_STUDIO;
- 
-  const handleClick = useCallback((set: TreeItem) => {
-    if (set.isLeaf) {
-      dispatch.tokenState.setActiveTokenSet(set.path);
-      item.saveScrollPositionSet(activeTokenSet);
-    }
-  }, [dispatch, item, activeTokenSet]);
- 
-  const handleCheckedChange = useCallback((shouldCheck: boolean, set: TreeItem) => {
-    if (set.isLeaf) {
-      dispatch.tokenState.toggleUsedTokenSet(set.path);
-    } else {
-      const itemPaths = item.items.filter((i) => i.path.startsWith(set.path) && i.path !== set.path).map((i) => i.path);
-      dispatch.tokenState.toggleManyTokenSets({ shouldCheck, sets: itemPaths });
-    }
-  }, [dispatch, item]);
- 
-  const handleTreatAsSource = useCallback((tokenSetPath: string) => {
-    dispatch.tokenState.toggleTreatAsSource(tokenSetPath);
-  }, [dispatch]);
- 
-  const handleDragStart = useCallback((event: React.PointerEvent<HTMLDivElement>) => {
-    dragContext.controls?.start(event);
-  }, [dragContext.controls]);
- 
-  return (
-    <TokenSetItem
-      key={item.path}
-      isActive={item.isActive}
-      onClick={handleClick}
-      isChecked={item.checkedState}
-      item={item}
-      onCheck={handleCheckedChange}
-      canEdit={!editProhibited}
-      canDuplicate={!isTokensStudioProvider && !tokenSetMetadata[item.path]?.isDynamic}
-      canReorder={!editProhibited}
-      canDelete={item.canDelete}
-      extraBefore={children}
-      onRename={item.onRename}
-      onDelete={item.onDelete}
-      onDuplicate={item.onDuplicate}
-      onTreatAsSource={handleTreatAsSource}
-      onDragStart={handleDragStart}
-    />
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html deleted file mode 100644 index d3f921891..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/AliasBadge.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/AliasBadge.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip AliasBadge.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { styled } from '@/stitches.config';
- 
-const StyledAliasBadge = styled('div', {
-  padding: '$1 $2',
-  backgroundColor: '$tooltipBgAccent',
-  color: '$tooltipFgAccent',
-  height: '100%',
-  wordBreak: 'break-word',
-  flexShrink: 1,
-});
- 
-type Props = {
-  value: string | number | null;
-};
- 
-export default function AliasBadge({ value }: Props) {
-  return (
-    <StyledAliasBadge>{value}</StyledAliasBadge>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html deleted file mode 100644 index ff7f166d7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/NotFoundBadge.tsx.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/NotFoundBadge.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip NotFoundBadge.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { LinkBreak2Icon } from '@radix-ui/react-icons';
-import { styled } from '@/stitches.config';
- 
-const StyledAliasBadge = styled('div', {
-  color: '$tooltipFgDanger',
-});
- 
-export default function NotFoundBadge() {
-  return (
-    <StyledAliasBadge data-testid="not-found-badge">
-      <LinkBreak2Icon />
-    </StyledAliasBadge>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html deleted file mode 100644 index e7cfb7f6d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip SingleBorderValueDisplay.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { TokenBorderValue } from '@/types/values';
-import TooltipProperty from './TooltipProperty';
-import Stack from '../Stack';
- 
-type Props = {
-  value: TokenBorderValue;
-  resolvedValue: TokenBorderValue;
-};
- 
-export const SingleBorderValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue }) => (
-  <Stack direction="column" align="start" gap={1}>
-    <TooltipProperty label="Color" value={value.color} resolvedValue={resolvedValue?.color} />
-    <TooltipProperty label="Width" value={value.width} resolvedValue={resolvedValue?.width} />
-    <TooltipProperty label="Style" value={value.style} resolvedValue={resolvedValue?.style} />
-  </Stack>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html deleted file mode 100644 index 41f0b2107..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleColorValueDisplay.tsx.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/SingleColorValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip SingleColorValueDisplay.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import TooltipProperty from './TooltipProperty';
-import Stack from '../Stack';
-import { ColorModifier } from '@/types/Modifier';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import Box from '../Box';
- 
-type Props = {
-  value: string;
-  resolvedValue: string
-  modifier: ColorModifier | undefined;
-};
- 
-export const SingleColorValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue, modifier }) => (
-  <Stack direction="column" align="start" gap={1}>
-    <Box css={{ color: '$tooltipFgMuted' }}>
-      {
-      modifier && (
-        modifier.type === ColorModifierTypes.MIX ? (
-          <span>{`mix(${modifier.color}, ${modifier.value}) / ${modifier.space}`}</span>
-        ) : (
-          <span>{`${modifier.type}(${modifier.value}) / ${modifier.space}`}</span>
-        )
-      )
-    }
-    </Box>
-    <TooltipProperty value={value} resolvedValue={resolvedValue} />
-  </Stack>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html deleted file mode 100644 index 6ff083017..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip SingleCompositionValueDisplay.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { SingleToken } from '@/types/tokens';
-import TooltipProperty from './TooltipProperty';
-import { CompositionTokenValue } from '@/types/CompositionTokenProperty';
- 
-type Props = {
-  property: string;
-  value: SingleToken['value'] | number;
-  resolvedValue: CompositionTokenValue | number | false;
-};
- 
-export const SingleCompositionValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ property, value, resolvedValue }) => {
-  const resolvedValueString = (typeof resolvedValue === 'string' || typeof resolvedValue === 'number' || resolvedValue === undefined) ? resolvedValue : '…';
-  return (
-    <TooltipProperty
-      label={property}
-      value={typeof value === 'string' || typeof value === 'number' ? value : '…'}
-      resolvedValue={(resolvedValue === false) ? undefined : resolvedValueString}
-    />
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html deleted file mode 100644 index 5898d8678..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip SingleShadowValueDisplay.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import Box from '../Box';
-import Stack from '../Stack';
-import { TokenBoxshadowValue } from '@/types/values';
-import TooltipProperty from './TooltipProperty';
- 
-type Props = {
-  value?: TokenBoxshadowValue;
-  resolvedValue?: TokenBoxshadowValue | null;
-};
- 
-export const SingleShadowValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue }) => (
-  <Box>
-    <Box css={{ display: 'flex', color: '$tooltipFg' }}>{resolvedValue?.type}</Box>
-    <Stack direction="row" align="start" gap={2} wrap>
-      <TooltipProperty value={value?.x} resolvedValue={resolvedValue?.x} />
-      <TooltipProperty value={value?.y} resolvedValue={resolvedValue?.y} />
-      <TooltipProperty value={value?.blur} resolvedValue={resolvedValue?.blur} />
-      <TooltipProperty value={value?.spread} resolvedValue={resolvedValue?.spread} />
-      <TooltipProperty value={value?.color} resolvedValue={resolvedValue?.color} />
-    </Stack>
-  </Box>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html deleted file mode 100644 index 72c5ee756..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip SingleTypographyValueDisplay.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { TokenTypographyValue } from '@/types/values';
-import TooltipProperty from './TooltipProperty';
-import Stack from '../Stack';
- 
-type Props = {
-  value: TokenTypographyValue;
-  resolvedValue?: TokenTypographyValue;
-};
- 
-export const SingleTypographyValueDisplay: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ value, resolvedValue }) => (
-  <Stack direction="column" align="start" gap={1}>
-    {typeof value === 'string' ? (
-      <TooltipProperty
-        value={value}
-      />
-    ) : null}
-    <TooltipProperty label="Font" value={value.fontFamily} resolvedValue={resolvedValue?.fontFamily} />
-    <TooltipProperty label="Weight" value={value.fontWeight} resolvedValue={resolvedValue?.fontWeight} />
-    <TooltipProperty label="Size" value={value.fontSize} resolvedValue={resolvedValue?.fontSize} />
-    <TooltipProperty label="Line height" value={value.lineHeight} resolvedValue={resolvedValue?.lineHeight} />
-    <TooltipProperty label="Tracking" value={value.letterSpacing} resolvedValue={resolvedValue?.letterSpacing} />
-    <TooltipProperty
-      label="Paragraph spacing"
-      value={value.paragraphSpacing}
-      resolvedValue={resolvedValue?.paragraphSpacing}
-    />
-    <TooltipProperty
-      label="Paragraph indent"
-      value={value.paragraphIndent}
-      resolvedValue={resolvedValue?.paragraphIndent}
-    />
-    <TooltipProperty label="Text case" value={value.textCase} resolvedValue={resolvedValue?.textCase} />
-    <TooltipProperty
-      label="Text decoration"
-      value={value.textDecoration}
-      resolvedValue={resolvedValue?.textDecoration}
-    />
-  </Stack>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html deleted file mode 100644 index 406068fda..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltip.tsx.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/TokenTooltip.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip TokenTooltip.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { SingleToken } from '@/types/tokens';
-import Tooltip from '../Tooltip';
-import { TokenTooltipContent } from './TokenTooltipContent';
-import { showEditFormSelector } from '@/selectors';
- 
-type Props = {
-  token: SingleToken;
-};
- 
-export const TokenTooltip: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({
-  children,
-  token,
-}) => {
-  // When we open the token edit form we don't want tooltips to show through, which is happening sometimes
-  const showEditForm = useSelector(showEditFormSelector);
- 
-  if (!children || !React.isValidElement(children)) {
-    return null;
-  }
- 
-  return (
-    <Tooltip
-      side="bottom"
-      label={showEditForm ? '' : (
-        <TokenTooltipContent
-          token={token}
-        />
-      )}
-    >
-      {children}
-    </Tooltip>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html deleted file mode 100644 index 2afc89be1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContent.tsx.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/TokenTooltipContent.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip TokenTooltipContent.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { SingleToken } from '@/types/tokens';
-import { TokenTooltipContentValue } from './TokenTooltipContentValue';
-import Box from '../Box';
-import Stack from '../Stack';
-import { TokensContext } from '@/context';
-import NotFoundBadge from './NotFoundBadge';
- 
-type Props = {
-  token: SingleToken;
-};
- 
-export const TokenTooltipContent: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ token }) => {
-  const tokensContext = React.useContext(TokensContext);
- 
-  const failedToResolve = React.useMemo(() => (
-    tokensContext.resolvedTokens.find((t) => t.name === token.name)?.failedToResolve
-  ), [token, tokensContext.resolvedTokens]);
- 
-  return (
-    <Stack direction="column" gap={1} css={{ background: '$tooltipBg', fontSize: '$xsmall' }}>
-      <Stack
-        direction="row"
-        justify="start"
-        align="center"
-        gap={2}
-        css={{
-          fontWeight: '$sansBold',
-          color: '$tooltipFg',
-          position: 'relative',
-        }}
-      >
-        {token.name.split('.')[token.name.split('.').length - 1]}
-        {failedToResolve ? <NotFoundBadge /> : null}
-      </Stack>
- 
-      <Stack direction="column" align="start" gap={2} wrap>
-        <TokenTooltipContentValue token={token} />
-      </Stack>
-      {token.description && <Box css={{ color: '$tooltipFgMuted', padding: '$1 $2' }}>{token.description}</Box>}
-    </Stack>
-  );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html deleted file mode 100644 index 02c42a0f7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TokenTooltipContentValue.tsx.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/TokenTooltipContentValue.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip TokenTooltipContentValue.tsx

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import get from 'just-safe-get';
-import { useUIDSeed } from 'react-uid';
-import useTokens from '../../store/useTokens';
-import { SingleToken } from '@/types/tokens';
-import { SingleShadowValueDisplay } from './SingleShadowValueDisplay';
-import { TokensContext } from '@/context';
-import {
-  isSingleBoxShadowToken, isSingleTypographyToken, isSingleCompositionToken, isSingleBorderToken,
-} from '@/utils/is';
-import { SingleTypographyValueDisplay } from './SingleTypographyValueDisplay';
-import { TokenBorderValue, TokenBoxshadowValue, TokenTypographyValue } from '@/types/values';
-import { SingleCompositionValueDisplay } from './SingleCompositionValueDisplay';
-import TooltipProperty from './TooltipProperty';
-import Stack from '../Stack';
-import { CompositionTokenValue } from '@/types/CompositionTokenProperty';
-import { SingleBorderValueDisplay } from './SingleBorderValueDisplay';
-import { isColorToken } from '@/utils/is/isColorToken';
-import { SingleColorValueDisplay } from './SingleColorValueDisplay';
- 
-type Props = {
-  token: SingleToken;
-  ignoreResolvedValue?: boolean;
-};
- 
-// Returns token value in display format
-export const TokenTooltipContentValue: React.FC<React.PropsWithChildren<React.PropsWithChildren<Props>>> = ({ token, ignoreResolvedValue }) => {
-  const seed = useUIDSeed();
-  const tokensContext = React.useContext(TokensContext);
-  const { getTokenValue } = useTokens();
-  const resolvedValue = React.useMemo(() => (ignoreResolvedValue ? undefined : getTokenValue(token.name, tokensContext.resolvedTokens)?.value), [
-    token,
-    getTokenValue,
-    tokensContext.resolvedTokens,
-    ignoreResolvedValue,
-  ]);
- 
-  if (isSingleTypographyToken(token, true)) {
-    return (
-      <SingleTypographyValueDisplay
-        value={token.value as TokenTypographyValue}
-        resolvedValue={resolvedValue as TokenTypographyValue}
-      />
-    );
-  }
- 
-  if (
-    (resolvedValue || ignoreResolvedValue)
-    && typeof resolvedValue !== 'string'
-    && !Array.isArray(resolvedValue)
-    && isSingleCompositionToken(token, true)
-  ) {
-    return (
-      <Stack direction="column" align="start" gap={2} wrap>
-        {Object.entries(token.value).map(([property, value], index) => (
-          <SingleCompositionValueDisplay
-            key={seed(index)}
-            property={property}
-            value={value}
-            // @TODO strengthen the type checking here
-            resolvedValue={ignoreResolvedValue ? false : get(resolvedValue as SingleToken, property) as CompositionTokenValue}
-          />
-        ))}
-      </Stack>
-    );
-  }
- 
-  if (isSingleBoxShadowToken(token, true)) {
-    if (Array.isArray(resolvedValue)) {
-      return (
-        <Stack direction="column" align="start" gap={3} wrap>
-          {typeof token.value === 'string' ? (
-            <TooltipProperty
-              value={token.value}
-            />
-          ) : null}
-          {resolvedValue.map((t, index) => (
-            <SingleShadowValueDisplay
-              key={seed(t)}
-              value={Array.isArray(token.value) ? token.value[index] as TokenBoxshadowValue : undefined}
-              resolvedValue={t as TokenBoxshadowValue}
-            />
-          ))}
-        </Stack>
-      );
-    }
- 
-    return (
-      <div>
-        {typeof token.value === 'string' ? (
-          <TooltipProperty
-            value={token.value}
-          />
-        ) : null}
-        <SingleShadowValueDisplay
-          // @TODO strengthen type checking here
-          value={token.value as TokenBoxshadowValue}
-          resolvedValue={resolvedValue as TokenBoxshadowValue}
-        />
-      </div>
-    );
-  }
- 
-  if (isSingleBorderToken(token, true)) {
-    return (
-      <SingleBorderValueDisplay
-        value={token.value as TokenBorderValue}
-        resolvedValue={resolvedValue as TokenBorderValue}
-      />
-    );
-  }
- 
-  if (isColorToken(token)) {
-    return (
-      <SingleColorValueDisplay
-        value={String(token.value)}
-        resolvedValue={String(resolvedValue)}
-        modifier={token.$extensions?.['studio.tokens']?.modify}
-      />
-    );
-  }
- 
-  if (typeof token.value !== 'string' && typeof token.value !== 'number') {
-    return <TooltipProperty value={JSON.stringify(token.value, null, 2)} />;
-  }
- 
-  if (resolvedValue && typeof resolvedValue !== 'string' && typeof resolvedValue !== 'number') {
-    return <TooltipProperty value={token.value} resolvedValue={JSON.stringify(resolvedValue, null, 2)} />;
-  }
- 
-  return <TooltipProperty value={token.value} resolvedValue={resolvedValue} />;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html deleted file mode 100644 index bcb322555..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/TooltipProperty.tsx.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/TooltipProperty.tsx - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip TooltipProperty.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { isEqual } from '@/utils/isEqual';
-import Box from '../Box';
-import Stack from '../Stack';
-import AliasBadge from './AliasBadge';
- 
-type Props = {
-  label?: string;
-  value?: string | number;
-  resolvedValue?: string | number | null;
-};
- 
-export default function TooltipProperty({ label, value, resolvedValue }: Props) {
-  return typeof value !== 'undefined' || typeof resolvedValue !== 'undefined' ? (
-    <Stack
-      direction="row"
-      align="center"
-      css={{
-        borderRadius: '$medium',
-        backgroundColor: '$tooltipBgSubtle',
-        overflow: 'hidden',
-        display: 'inline-flex',
-      }}
-    >
-      {(label || typeof value !== 'undefined') && (
-        <Stack direction="row" align="center" gap={2} css={{ padding: '$1 $2', color: '$tooltipFg' }}>
-          {label}
-          {typeof value !== 'undefined' && (
-            <Box css={{ color: '$tooltipFgMuted', flexShrink: 1, wordBreak: 'break-word' }}>
-              {value}
-            </Box>
-          )}
-        </Stack>
-      )}
-      {typeof resolvedValue !== 'undefined' && !isEqual(String(resolvedValue), String(value)) && typeof resolvedValue !== 'object' ? <AliasBadge value={resolvedValue} /> : null}
-    </Stack>
-  ) : null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html deleted file mode 100644 index 5b2739016..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip - - - - - - - - - -
-
-

All files src/app/components/TokenTooltip

-
- -
- 0% - Statements - 0/52 -
- - -
- 0% - Branches - 0/77 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/50 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AliasBadge.tsx -
-
0%0/2100%0/00%0/10%0/2
NotFoundBadge.tsx -
-
0%0/2100%0/00%0/10%0/2
SingleBorderValueDisplay.tsx -
-
0%0/2100%0/00%0/10%0/2
SingleColorValueDisplay.tsx -
-
0%0/20%0/40%0/10%0/2
SingleCompositionValueDisplay.tsx -
-
0%0/30%0/110%0/10%0/3
SingleShadowValueDisplay.tsx -
-
0%0/2100%0/00%0/10%0/2
SingleTypographyValueDisplay.tsx -
-
0%0/20%0/20%0/10%0/2
TokenTooltip.tsx -
-
0%0/50%0/60%0/10%0/5
TokenTooltipContent.tsx -
-
0%0/60%0/40%0/30%0/5
TokenTooltipContentValue.tsx -
-
0%0/250%0/360%0/40%0/24
TooltipProperty.tsx -
-
0%0/10%0/140%0/10%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html deleted file mode 100644 index 3355eef37..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokenTooltip/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokenTooltip/index.ts - - - - - - - - - -
-
-

All files / src/app/components/TokenTooltip index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './TokenTooltip';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html deleted file mode 100644 index e968e8c37..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tokens.tsx.html +++ /dev/null @@ -1,1012 +0,0 @@ - - - - - - Code coverage report for src/app/components/Tokens.tsx - - - - - - - - - -
-
-

All files / src/app/components Tokens.tsx

-
- -
- 0% - Statements - 0/70 -
- - -
- 0% - Branches - 0/37 -
- - -
- 0% - Functions - 0/19 -
- - -
- 0% - Lines - 0/67 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable jsx-a11y/label-has-associated-control */
-import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { AnimatePresence, motion } from 'framer-motion';
-import { ToggleGroup, IconButton } from '@tokens-studio/ui';
-import { mergeTokenGroups } from '@/utils/tokenHelpers';
-import TokenListing from './TokenListing';
-import TokensBottomBar from './TokensBottomBar';
-import ToggleEmptyButton from './ToggleEmptyButton';
-import { mappedTokens } from './createTokenObj';
-import { Dispatch } from '../store';
-import TokenSetSelector from './TokenSetSelector';
-import TokenFilter from './TokenFilter';
-import EditTokenFormModal from './EditTokenFormModal';
-import JSONEditor from './JSONEditor';
-import Box from './Box';
-import IconListing from '@/icons/listing.svg';
-import useTokens from '../store/useTokens';
-import AttentionIcon from '@/icons/attention.svg';
-import { TokensContext } from '@/context';
-import {
-  activeTokenSetSelector, aliasBaseFontSizeSelector, manageThemesModalOpenSelector, scrollPositionSetSelector, showEditFormSelector, tokenFilterSelector, tokensSelector, tokenTypeSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { ThemeSelector } from './ThemeSelector';
-import { ManageThemesModal } from './ManageThemesModal';
-import { activeTokensTabSelector } from '@/selectors/activeTokensTabSelector';
-import { stringTokensSelector } from '@/selectors/stringTokensSelector';
-import { getAliasValue } from '@/utils/alias';
-import SidebarIcon from '@/icons/sidebar.svg';
-import { defaultTokenResolver } from '@/utils/TokenResolver';
-import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
-import { IconJson } from '@/icons';
- 
-const StatusToast = ({ open, error }: { open: boolean; error: string | null }) => {
-  const [isOpen, setOpen] = React.useState(open);
-  React.useEffect(() => {
-    setOpen(open);
-  }, [open]);
- 
-  return (
-    <AnimatePresence>
-      {isOpen ? (
-        <motion.div initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: 20 }}>
-          <Box
-            css={{
-              position: 'absolute',
-              bottom: 0,
-              right: 0,
-              left: 0,
-              padding: '$3',
-            }}
-          >
-            <Box
-              css={{
-                background: '$dangerBg',
-                border: '1px solid $dangerBorder',
-                color: '$dangerFg',
-                fontSize: '$xsmall',
-                fontWeight: '$sansBold',
-                padding: '$3 $4',
-                paddingLeft: 0,
-                boxShadow: '$contextMenu',
-                borderRadius: '$medium',
-                display: 'flex',
-                gap: '$2',
-                width: '100%',
-                alignItems: 'flex-start',
-                justifyContent: 'space-between',
-                wordBreak: 'break-word',
-              }}
-            >
-              <Box css={{ flexShrink: 0 }}>
-                <AttentionIcon />
-              </Box>
-              {error}
-            </Box>
-          </Box>
-        </motion.div>
-      ) : null}
-    </AnimatePresence>
-  );
-};
- 
-function Tokens({ isActive }: { isActive: boolean }) {
-  const tokens = useSelector(tokensSelector);
-  const tokenFormat = useSelector(tokenFormatSelector);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const activeTokensTab = useSelector(activeTokensTabSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const stringTokens = useSelector(stringTokensSelector);
-  const showEditForm = useSelector(showEditFormSelector);
-  const manageThemesModalOpen = useSelector(manageThemesModalOpenSelector);
-  const scrollPositionSet = useSelector(scrollPositionSetSelector);
-  const tokenFilter = useSelector(tokenFilterSelector);
-  const aliasBaseFontSize = useSelector(aliasBaseFontSizeSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const [tokenSetsVisible, setTokenSetsVisible] = React.useState(true);
-  const { getStringTokens } = useTokens();
-  const tokenDiv = React.useRef<HTMLDivElement>(null);
- 
-  React.useEffect(() => {
-    if (tokenDiv.current) {
-      tokenDiv.current.addEventListener('scroll', () => {}, false);
-    }
-  }, []);
- 
-  React.useEffect(() => {
-    if (scrollPositionSet && tokenDiv.current && typeof tokenDiv.current.scrollTo === 'function') {
-      tokenDiv.current.scrollTo(0, scrollPositionSet[activeTokenSet]);
-    }
-  }, [activeTokenSet]);
- 
-  const resolvedTokens = React.useMemo(
-    () => defaultTokenResolver.setTokens(mergeTokenGroups(tokens, usedTokenSet, {}, activeTokenSet)),
-    [tokens, usedTokenSet, activeTokenSet],
-  );
- 
-  const tokenType = useSelector(tokenTypeSelector);
- 
-  const [error, setError] = React.useState<string | null>(null);
- 
-  const handleChangeJSON = React.useCallback((val: string) => {
-    setError(null);
-    dispatch.tokenState.setStringTokens(val);
-  }, [dispatch.tokenState]);
- 
-  const memoizedTokens = React.useMemo(() => {
-    if (tokens[activeTokenSet]) {
-      const mapped = mappedTokens(tokens[activeTokenSet], tokenFilter).sort((a, b) => {
-        if (b[1].values) {
-          return 1;
-        }
-        if (a[1].values) {
-          return -1;
-        }
-        return 0;
-      });
-      return mapped.map(([key, { values, isPro, ...schema }]) => ({
-        key,
-        values,
-        schema,
-        isPro,
-      }));
-    }
-    return [];
-  }, [tokens, activeTokenSet, tokenFilter]);
- 
-  const handleToggleTokenSetsVisibility = React.useCallback(() => {
-    setTokenSetsVisible(!tokenSetsVisible);
-  }, [tokenSetsVisible]);
- 
-  const [activeTokensTabToggleState, setActiveTokensTabToggleState] = React.useState<'list' | 'json'>(activeTokensTab);
- 
-  const handleSetTokensTab = React.useCallback((tab: 'list' | 'json') => {
-    if (tab === 'list' || tab === 'json') {
-      setActiveTokensTabToggleState(tab);
-      dispatch.uiState.setActiveTokensTab(tab);
-    }
-  }, [dispatch.uiState]);
- 
-  const tokensContextValue = React.useMemo(() => ({
-    resolvedTokens,
-  }), [resolvedTokens]);
- 
-  React.useEffect(() => {
-    // @README these dependencies aren't exhaustive
-    // because of specific logic requirements
-    setError(null);
-    dispatch.tokenState.setStringTokens(getStringTokens());
-  }, [tokens, activeTokenSet, tokenFormat, tokenType, dispatch.tokenState]); // getStringTokens removed to fix bug around first paste/edit (useEffect was being triggered)
- 
-  React.useEffect(() => {
-    // @README these dependencies aren't exhaustive
-    // because of specific logic requirements
-    if (getStringTokens() !== stringTokens) {
-      dispatch.tokenState.setHasUnsavedChanges(true);
-    } else {
-      dispatch.tokenState.setHasUnsavedChanges(false);
-    }
-  }, [dispatch, tokens, stringTokens, activeTokenSet, getStringTokens]);
- 
-  React.useEffect(() => {
-    const newBaseFontSize = getAliasValue(aliasBaseFontSize, resolvedTokens);
-    dispatch.settings.setBaseFontSize(String(newBaseFontSize));
-  }, [resolvedTokens, aliasBaseFontSize]);
- 
-  const saveScrollPositionSet = React.useCallback((tokenSet: string) => {
-    if (tokenDiv.current) {
-      dispatch.uiState.setScrollPositionSet({ ...scrollPositionSet, [tokenSet]: tokenDiv.current?.scrollTop });
-    }
-  }, [dispatch, scrollPositionSet]);
- 
-  if (!isActive) return null;
- 
-  return (
-    <TokensContext.Provider value={tokensContextValue}>
-      <Box
-        css={{
-          flexGrow: 1,
-          display: 'flex',
-          flexDirection: 'column',
-          height: '100%',
-          overflow: 'hidden',
-        }}
-      >
-        <Box
-          css={{
-            display: 'flex',
-            flexDirection: 'row',
-            alignItems: 'center',
-            padding: '$2',
-            gap: '$2',
-            borderBottom: '1px solid',
-            borderColor: '$borderMuted',
-          }}
-        >
-          <IconButton
-            onClick={handleToggleTokenSetsVisibility}
-            icon={<SidebarIcon />}
-            tooltipSide="bottom"
-            size="small"
-            variant="invisible"
-            tooltip={tokenSetsVisible ? 'Collapse sidebar' : 'Expand sidebar'}
-          />
-          <TokenFilter />
-          <ThemeSelector />
-          <Box
-            css={{
-              display: 'flex',
-              gap: '$2',
-              flexDirection: 'row',
-              alignItems: 'center',
-            }}
-          >
-            <ToggleGroup
-              size="small"
-              type="single"
-              value={activeTokensTabToggleState}
-              onValueChange={handleSetTokensTab}
-            >
-              <ToggleGroup.Item value="list">
-                <IconListing />
-              </ToggleGroup.Item>
-              <ToggleGroup.Item value="json">
-                <IconJson />
-              </ToggleGroup.Item>
-            </ToggleGroup>
-          </Box>
-        </Box>
-        <Box
-          css={{
-            display: 'flex',
-            flexDirection: 'row',
-            flexGrow: 1,
-            borderBottom: '1px solid',
-            borderColor: '$borderMuted',
-            height: '100%',
-            overflow: 'hidden',
-          }}
-        >
-          {tokenSetsVisible && (
-            <TokenSetSelector saveScrollPositionSet={saveScrollPositionSet} />
-          )}
-          <Box
-            css={{
-              flexGrow: 1,
-              display: 'flex',
-              flexDirection: 'column',
-              height: '100%',
-              overflow: 'hidden',
-            }}
-          >
-            {activeTokensTab === 'json' ? (
-              <Box css={{ position: 'relative', height: '100%' }}>
-                <JSONEditor stringTokens={stringTokens} handleChange={handleChangeJSON} />
-                <StatusToast
-                  open={Boolean(error)}
-                  error={error}
-                />
-              </Box>
-            ) : (
-              <Box ref={tokenDiv} css={{ width: '100%', paddingBottom: '$6' }} className="content scroll-container">
-                {memoizedTokens.map(({
-                  key, values, isPro, schema,
-                }) => (
-                  <div key={key}>
-                    <TokenListing
-                      tokenKey={key}
-                      label={schema.label || key}
-                      schema={schema}
-                      values={values}
-                      isPro={isPro}
-                    />
-                  </div>
-                ))}
-                <ToggleEmptyButton />
-                {showEditForm && <EditTokenFormModal resolvedTokens={resolvedTokens} />}
-              </Box>
-            )}
-          </Box>
-          {manageThemesModalOpen && <ManageThemesModal />}
-        </Box>
-        <TokensBottomBar handleError={setError} />
-      </Box>
-    </TokensContext.Provider>
-  );
-}
- 
-export default Tokens;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html deleted file mode 100644 index 32844999d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TokensBottomBar.tsx.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - Code coverage report for src/app/components/TokensBottomBar.tsx - - - - - - - - - -
-
-

All files / src/app/components TokensBottomBar.tsx

-
- -
- 0% - Statements - 0/27 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/27 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
- 
-// Components
-import { Button, IconButton } from '@tokens-studio/ui';
-import { WarningTriangleSolid } from 'iconoir-react';
-import ApplySelector from './ApplySelector';
-import Box from './Box';
-import StylesDropdown from './StylesDropdown';
-import Stack from './Stack';
-import SettingsDropdown from './SettingsDropdown';
-import ToolsDropdown from './ToolsDropdown';
- 
-// State
-import useTokens from '../store/useTokens';
-import { hasUnsavedChangesSelector, tokensSelector } from '@/selectors';
-import { stringTokensSelector } from '@/selectors/stringTokensSelector';
- 
-// Utils
-import { track } from '@/utils/analytics';
-import parseTokenValues from '@/utils/parseTokenValues';
-import parseJson from '@/utils/parseJson';
-import ResolveDuplicateTokensModal from './modals/ResolveDuplicateTokensModal';
- 
-type Props = {
-  handleError: (error: string) => void;
-};
- 
-export default function TokensBottomBar({ handleError }: Props) {
-  const hasUnsavedChanges = useSelector(hasUnsavedChangesSelector);
-  const stringTokens = useSelector(stringTokensSelector);
-  const tokens = useSelector(tokensSelector);
-  const [showResolveDuplicateTokensModal, setShowResolveDuplicateTokensModal] = React.useState<boolean>(false);
- 
-  const handleResolveDuplicateTokensModalClose = React.useCallback(() => {
-    setShowResolveDuplicateTokensModal(false);
-  }, []);
- 
-  const handleResolveDuplicateOpen = React.useCallback(() => {
-    setShowResolveDuplicateTokensModal(true);
-  }, []);
- 
-  const { handleJSONUpdate } = useTokens();
- 
-  const hasDuplicates = useMemo(
-    () => Object.keys(tokens).some((setName) => {
-      const currentSetTokens = tokens[setName];
-      const seenNames = new Set();
- 
-      return currentSetTokens.some((token) => {
-        if (seenNames.has(token.name)) {
-          return true;
-        }
-        seenNames.add(token.name);
-        return false;
-      });
-    }),
-    [tokens],
-  );
- 
-  const handleSaveJSON = useCallback(() => {
-    try {
-      const parsedTokens = parseJson(stringTokens);
-      parseTokenValues(parsedTokens);
-      track('Saved in JSON');
-      handleJSONUpdate(stringTokens);
-    } catch (e) {
-      handleError(`Unable to read JSON: ${JSON.stringify(e)}`);
-    }
-  }, [handleError, handleJSONUpdate, stringTokens]);
- 
-  const { t } = useTranslation(['general']);
- 
-  return (
-    <Box css={{
-      width: '100%', backgroundColor: '$bgDefault',
-    }}
-    >
-      {hasUnsavedChanges ? (
-        <Box
-          css={{
-            padding: '$3 $4',
-            display: 'flex',
-            gap: '$1',
-            width: '100%',
-            alignItems: 'center',
-            justifyContent: 'space-between',
-          }}
-        >
-          <Box css={{ fontSize: '$xsmall' }}>{t('unsavedChanges')}</Box>
-          <Button variant="primary" onClick={handleSaveJSON}>
-            {t('save')}
-            {' '}
-            JSON
-          </Button>
-        </Box>
-      )
-        : (
-          <Stack
-            direction="row"
-            gap={2}
-            justify="between"
-            align="center"
-            css={{
-              padding: '$3',
-            }}
-          >
-            <Stack direction="row" gap={1} css={{ color: '$fgMuted', fontSize: '$xsmall' }}>
-              <ToolsDropdown />
-              <StylesDropdown />
-            </Stack>
-            <Stack direction="row" gap={2}>
-              {hasDuplicates && (
-                <IconButton
-                  onClick={handleResolveDuplicateOpen}
-                  icon={<WarningTriangleSolid />}
-                  data-testid="resolve-duplicate-modal-open-button"
-                  variant="danger"
-                  size="small"
-                  tooltip="Duplicate Tokens Found"
-                />
-              )}
-              <ApplySelector />
-              <SettingsDropdown />
-            </Stack>
-          </Stack>
-        )}
-      {showResolveDuplicateTokensModal && (
-        <ResolveDuplicateTokensModal
-          isOpen={showResolveDuplicateTokensModal}
-          onClose={handleResolveDuplicateTokensModalClose}
-        />
-      )}
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html deleted file mode 100644 index 209cde3d6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/ToolsDropdown.tsx.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/app/components/ToolsDropdown.tsx - - - - - - - - - -
-
-

All files / src/app/components ToolsDropdown.tsx

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { DropdownMenu, IconButton } from '@tokens-studio/ui';
- 
-import { FileZipIcon } from '@primer/octicons-react';
-import { editProhibitedSelector } from '@/selectors';
-import PresetModal from './modals/PresetModal';
-import ExportModal from './modals/ExportModal';
- 
-export default function ToolsDropdown() {
-  const editProhibited = useSelector(editProhibitedSelector);
- 
-  const { t } = useTranslation(['tokens']);
- 
-  const [presetModalVisible, showPresetModal] = React.useState(false);
-  const [exportModalVisible, showExportModal] = React.useState(false);
- 
-  const handleCloseExportModal = useCallback(() => {
-    showExportModal(false);
-  }, []);
- 
-  const handleClosePresetModal = useCallback(() => {
-    showPresetModal(false);
-  }, []);
- 
-  const handleShowPresetModal = useCallback(() => {
-    showPresetModal(true);
-  }, []);
-  const handleShowExportModal = useCallback(() => {
-    showExportModal(true);
-  }, []);
- 
-  return (
-    <>
-      <DropdownMenu>
-        <DropdownMenu.Trigger asChild>
-          <IconButton tooltip={t('tools')} aria-label={t('tools')} size="small" variant="invisible" icon={<FileZipIcon />} />
-        </DropdownMenu.Trigger>
- 
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content side="top">
-            <DropdownMenu.Item disabled={editProhibited} onSelect={handleShowPresetModal}>{t('loadFromFileOrPreset')}</DropdownMenu.Item>
-            <DropdownMenu.Item disabled={editProhibited} onSelect={handleShowExportModal}>{t('exportToFile')}</DropdownMenu.Item>
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-      {exportModalVisible && <ExportModal onClose={handleCloseExportModal} />}
-      {presetModalVisible && <PresetModal onClose={handleClosePresetModal} />}
-    </>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html deleted file mode 100644 index e77433418..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/Tooltip.tsx.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/components/Tooltip.tsx - - - - - - - - - -
-
-

All files / src/app/components Tooltip.tsx

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { Tooltip as TooltipPrimitive } from '@tokens-studio/ui';
- 
-export default TooltipPrimitive;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html deleted file mode 100644 index bae5fd22e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/TypographyInput.tsx.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - Code coverage report for src/app/components/TypographyInput.tsx - - - - - - - - - -
-
-

All files / src/app/components TypographyInput.tsx

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/38 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import get from 'just-safe-get';
-import { TokensIcon, LinkBreak2Icon } from '@radix-ui/react-icons';
-import { useUIDSeed } from 'react-uid';
-import { IconButton, Heading } from '@tokens-studio/ui';
-import { checkIfContainsAlias, getAliasValue } from '@/utils/alias';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import ResolvedTokenDisplay from './ResolvedTokenDisplay';
-import { findReferences } from '@/utils/findReferences';
-import { EditTokenObject, SingleTypographyToken } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
-import SingleTypographyDownShiftInput from './SingleTypographyDownShiftInput';
-import DownshiftInput from './DownshiftInput';
-import Stack from './Stack';
- 
-const properties = {
-  fontSize: 'fontSizes',
-  fontFamily: 'fontFamilies',
-  fontWeight: 'fontWeights',
-  letterSpacing: 'letterSpacing',
-  paragraphSpacing: 'paragraphSpacing',
-  paragraphIndent: 'paragraphIndent',
-  textDecoration: 'textDecoration',
-  lineHeight: 'lineHeights',
-  textCase: 'textCase',
-};
- 
-export default function TypographyInput({
-  internalEditToken,
-  handleTypographyValueChange,
-  handleTypographyAliasValueChange,
-  resolvedTokens,
-  handleTypographyValueDownShiftInputChange,
-  handleDownShiftInputChange,
-  setTypographyValue,
-  onSubmit,
-}: {
-  internalEditToken: Extract<EditTokenObject, { type: TokenTypes.TYPOGRAPHY }>;
-  handleTypographyValueChange: (property: string, value: string) => void;
-  handleTypographyAliasValueChange: (property: string, value: string) => void;
-  resolvedTokens: ResolveTokenValuesResult[];
-  handleTypographyValueDownShiftInputChange: (newInputValue: string, property: string) => void;
-  handleDownShiftInputChange: (newInputValue: string) => void;
-  setTypographyValue: (newTypographyValue: SingleTypographyToken['value']) => void;
-  onSubmit: () => void
-}) {
-  const { t } = useTranslation(['tokens']);
-  const seed = useUIDSeed();
-  const isAliasMode = (internalEditToken.value && typeof internalEditToken.value === 'string');
-  const [mode, setMode] = useState(isAliasMode ? 'alias' : 'input');
-  const [alias, setAlias] = useState('');
-  const selectedFontFamily = useMemo(() => {
-    if (typeof internalEditToken.value === 'object') {
-      const resolvedFontFamily = getAliasValue(internalEditToken.value?.fontFamily ?? '', resolvedTokens);
-      return String(resolvedFontFamily);
-    }
-    return '';
-  }, [internalEditToken, resolvedTokens]);
- 
-  const selectedToken = React.useMemo<SingleTypographyToken | null>(() => {
-    const search = findReferences(String(internalEditToken.value));
-    if (search && search.length > 0) {
-      const foundToken = resolvedTokens.find((t) => t.name === search[0]);
-      if (foundToken) return foundToken as SingleTypographyToken;
-    }
-    return null;
-  }, [internalEditToken, resolvedTokens]);
- 
-  const handleMode = React.useCallback(() => {
-    if (mode === 'alias' && typeof internalEditToken.value === 'string') {
-      setTypographyValue(selectedToken?.rawValue ?? {});
-    }
-    setMode((mode === 'input') ? 'alias' : 'input');
-    setAlias('');
-  }, [mode, selectedToken, internalEditToken, setTypographyValue]);
- 
-  return (
-    <Stack direction="column" gap={2}>
-      <Stack direction="row" gap={2} justify="between" align="center">
-        <Heading>{t('types.Typography')}</Heading>
-        {
-          mode === 'input' ? (
-            <IconButton
-              tooltip={t('referenceMode')}
-              data-testid="mode-change-button"
-              onClick={handleMode}
-              icon={<TokensIcon />}
-            />
-          ) : (
-            <IconButton
-              tooltip={t('inputMode')}
-              data-testid="mode-change-button"
-              onClick={handleMode}
-              icon={<LinkBreak2Icon />}
-            />
-          )
-        }
-      </Stack>
-      {(mode === 'input' && internalEditToken.schema.schemas.value.type === 'object') ? (
-        <Stack gap={2} direction="column">
-          {Object.entries(internalEditToken.schema.schemas.value.properties ?? {}).map(([key], keyIndex) => (
-            <SingleTypographyDownShiftInput
-              name={key}
-              key={`typography-input-${seed(keyIndex)}`}
-              value={typeof internalEditToken.value === 'object' ? get(internalEditToken.value, key, '') : ''}
-              type={properties[key as keyof typeof properties]}
-              resolvedTokens={resolvedTokens}
-              handleChange={handleTypographyValueChange}
-              setInputValue={handleTypographyValueDownShiftInputChange}
-              externalFontFamily={selectedFontFamily}
-              onSubmit={onSubmit}
-            />
-          ))}
-        </Stack>
-      ) : (
-        <Stack direction="column" gap={2}>
-          <DownshiftInput
-            value={!isAliasMode ? '' : String(internalEditToken.value)}
-            type={internalEditToken.type}
-            label={internalEditToken.schema.property}
-            inlineLabel
-            resolvedTokens={resolvedTokens}
-            initialName={internalEditToken.initialName}
-            handleChange={handleTypographyAliasValueChange}
-            setInputValue={handleDownShiftInputChange}
-            placeholder={t('valueOrAlias')}
-            suffix
-            onSubmit={onSubmit}
-          />
- 
-          {isAliasMode && typeof internalEditToken.value === 'string' && checkIfContainsAlias(internalEditToken.value) && (
-            <ResolvedTokenDisplay
-              alias={alias}
-              selectedToken={selectedToken}
-            />
-          )}
-        </Stack>
-      )}
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html deleted file mode 100644 index bce9267e5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/WindowResizer.tsx.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/app/components/WindowResizer.tsx - - - - - - - - - -
-
-

All files / src/app/components WindowResizer.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable jsx-a11y/label-has-associated-control */
-import React from 'react';
-import { useDispatch } from 'react-redux';
-import debounce from 'lodash.debounce';
-import { Dispatch } from '../store';
-import IconResizeWindow from '@/icons/resizewindow.svg';
-import { track } from '@/utils/analytics';
- 
-export default function WindowResizer() {
-  const dispatch = useDispatch<Dispatch>();
-  const cornerRef = React.useRef<HTMLDivElement>(null);
- 
-  const debouncedSizeChange = React.useRef(
-    debounce(
-      (width, height) => track('Set Window Size', { width, height }),
-      300,
-    ),
-  ).current;
- 
-  const handleSizeChange = React.useCallback((e: PointerEvent) => {
-    const size = {
-      width: Math.max(300, Math.floor(e.clientX + 5)),
-      height: Math.max(200, Math.floor(e.clientY + 5)),
-    };
-    dispatch.settings.setWindowSize({
-      ...size,
-    });
-    debouncedSizeChange(size.width, size.height);
-  }, [debouncedSizeChange, dispatch.settings]);
- 
-  const onDown = React.useCallback((e: any) => {
-    if (cornerRef.current) {
-      cornerRef.current.onpointermove = handleSizeChange;
-      cornerRef.current.setPointerCapture(e.pointerId);
-    }
-  }, [handleSizeChange]);
- 
-  const onUp = React.useCallback((e: any) => {
-    if (cornerRef.current) {
-      cornerRef.current.onpointermove = null;
-      cornerRef.current.releasePointerCapture(e.pointerId);
-      dispatch.settings.triggerWindowChange();
-    }
-  }, [dispatch.settings]);
- 
-  // @TODO: Fix this when modals are open
-  return (
-    <div id="corner" onPointerDown={onDown} onPointerUp={onUp} ref={cornerRef} style={{ zIndex: 999 }}>
-      <IconResizeWindow />
-    </div>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html deleted file mode 100644 index 7e483143a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/createAnnotation.tsx.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/app/components/createAnnotation.tsx - - - - - - - - - -
-
-

All files / src/app/components createAnnotation.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { Direction } from '@/constants/Direction';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { track } from '@/utils/analytics';
-import type { SelectionValue } from '@/types';
- 
-const createAnnotation = (selectionValue: SelectionValue, direction: Direction = Direction.LEFT) => {
-  track('Created annotation', { direction });
- 
-  AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.CREATE_ANNOTATION,
-    tokens: selectionValue,
-    direction,
-  });
-};
- 
-export default createAnnotation;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html deleted file mode 100644 index 26158e7e9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/createTokenObj.tsx.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - Code coverage report for src/app/components/createTokenObj.tsx - - - - - - - - - -
-
-

All files / src/app/components createTokenObj.tsx

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import set from 'set-value';
-import extend from 'just-extend';
-import tokenTypes from '../../config/tokenType.defs.json';
-import { DeepKeyTokenMap, SingleToken, TokenTypeSchema } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-type CreateTokensObjectResult = Partial<Record<TokenTypes, {
-  values: DeepKeyTokenMap
-}>>;
- 
-export function transformName(name: string): TokenTypes {
-  switch (name) {
-    case 'color':
-    case 'colors':
-      return TokenTypes.COLOR;
-    case 'space':
-    case 'spacing':
-      return TokenTypes.SPACING;
-    case 'size':
-    case 'sizing':
-      return TokenTypes.SIZING;
-    case 'boxShadow':
-      return TokenTypes.BOX_SHADOW;
-    case 'borderRadius':
-      return TokenTypes.BORDER_RADIUS;
-    case 'borderWidth':
-      return TokenTypes.BORDER_WIDTH;
-    case 'opacity':
-      return TokenTypes.OPACITY;
-    case 'fontFamilies':
-      return TokenTypes.FONT_FAMILIES;
-    case 'fontWeights':
-      return TokenTypes.FONT_WEIGHTS;
-    case 'fontSizes':
-      return TokenTypes.FONT_SIZES;
-    case 'lineHeights':
-      return TokenTypes.LINE_HEIGHTS;
-    case 'typography':
-      return TokenTypes.TYPOGRAPHY;
-    case 'letterSpacing':
-      return TokenTypes.LETTER_SPACING;
-    case 'paragraphSpacing':
-      return TokenTypes.PARAGRAPH_SPACING;
-    case 'composition':
-      return TokenTypes.COMPOSITION;
-    case 'border':
-      return TokenTypes.BORDER;
-    case 'asset':
-      return TokenTypes.ASSET;
-    default:
-      return TokenTypes.OTHER;
-  }
-}
- 
-export function appendTypeToToken(token: Omit<SingleToken, 'type'> & { type?: TokenTypes; }): SingleToken {
-  const typeToSet = token.type ? token.type : transformName(token.name.split('.').slice(0, 1).toString());
-  return {
-    ...token,
-    type: typeToSet,
-  } as SingleToken;
-}
- 
-// Creates a tokens object so that tokens are displayed in groups in the UI.
-export function createTokensObject(tokens: (Omit<SingleToken, 'type'> & { type?: TokenTypes; })[], tokenFilter = '') {
-  if (tokens.length > 0) {
-    const obj = tokens.reduce<CreateTokensObjectResult>((acc, cur) => {
-      let hasSubstring:boolean = false;
-      try {
-        hasSubstring = cur.name?.toLowerCase().search(tokenFilter?.toLowerCase()) >= 0;
-      } catch {
-        hasSubstring = cur.name?.indexOf(tokenFilter) >= 0;
-      }
-      if (tokenFilter === '' || hasSubstring) {
-        const propToSet = cur.type ? cur.type : transformName(cur.name.split('.').slice(0, 1).toString());
- 
-        if (!acc[propToSet]?.values) {
-          acc[propToSet] = { values: {} };
-        }
- 
-        // we can use ! here because in the previous block we are ensuring
-        // the values object exists
-        set(acc[propToSet]!.values, cur.name, extend(true, {}, cur) as SingleToken);
-      }
-      return acc;
-    }, {});
-    return obj;
-  }
-  return {};
-}
- 
-// Takes an array of tokens, transforms them into
-// an object and merges that with values we require for the UI
-export function mappedTokens(tokens: SingleToken[], tokenFilter: string) {
-  const tokenObj = extend(true, {}, tokenTypes) as Record<
-  TokenTypes,
-  TokenTypeSchema & { values: DeepKeyTokenMap }
-  >;
-  const tokenObjects = createTokensObject(tokens, tokenFilter);
- 
-  Object.entries(tokenObjects).forEach(([key, group]) => {
-    tokenObj[key as TokenTypes] = {
-      ...(tokenObj[key as TokenTypes] ?? {}),
-      values: group.values,
-    };
-  });
- 
-  return Object.entries(tokenObj);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html deleted file mode 100644 index 7e7a90b75..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/custom.d.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/app/components/custom.d.ts - - - - - - - - - -
-
-

All files / src/app/components custom.d.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
declare module '*.svg' {
-  const content: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<React.SVGAttributes<SVGElement>>>>;
-  export default content;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html deleted file mode 100644 index 2ee9123ac..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/globalStyles.tsx.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - Code coverage report for src/app/components/globalStyles.tsx - - - - - - - - - -
-
-

All files / src/app/components globalStyles.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { globalCss } from '@/stitches.config';
- 
-export const globalStyles = globalCss({
-  '@import': [
-    "url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap')",
-  ],
-  body: {
-    fontFamily: '$sans',
-    fontSize: '$xsmall',
-    letterSpacing: '0',
-    color: '$fgDefault',
-  },
-  form: {
-    marginBottom: 0,
-  },
-  'button[disabled]': {
-    opacity: 0.5,
-  },
-  'button:focus': {
-    outline: 'none',
-  },
-  'textarea.input, select.input, input.input': {
-    outline: 'none',
-    padding: '$2',
-  },
-  '.input textarea:focus, .input select:focus, .input input:focus': {
-    outline: 'none',
-  },
-  input: {
-    background: '$bgDefault',
-  },
-  '.drag-over-item-grid-absolute': {
-    position: 'absolute',
-    content: "''",
-    width: '5px',
-    height: '24px',
-    top: '0px',
-    left: -'4px',
-    backgroundColor: '$accentDefault',
-  },
-  '.drag-over-item-list-absolute': {
-    position: 'absolute',
-    content: "''",
-    width: '100%',
-    height: '4px',
-    top: '-4px',
-    backgroundColor: '$accentDefault',
-  },
-  '.scroll-container': {
-    overflowY: 'scroll',
-  },
-  '.content::-webkit-scrollbar, .ReactModal__Content::-webkit-scrollbar,  textarea::-webkit-scrollbar': {
-    width: 'var(--sizes-scrollbarWidth, 9px)',
-  },
-  '.overflow-x-auto::-webkit-scrollbar': {
-    height: '9px',
-  },
-  '.content::-webkit-scrollbar-thumb, .overflow-x-auto::-webkit-scrollbar-thumb, .ReactModal__Content::-webkit-scrollbar-thumb, textarea::-webkit-scrollbar-thumb': {
-    backgroundColor: '$borderMuted',
-    borderRadius: '9px',
-    border: '2px solid var(--figma-color-bg)',
-  },
-  '.content-dark::-webkit-scrollbar-thumb': {
-    backgroundColor: 'var(--colors-contextMenuFgMuted, #000) !important',
-    borderColor: 'var(--colors-contextMenuBg, #333) !important',
-    borderRadius: '9px',
-    border: '2px solid',
-  },
-  '#corner': {
-    position: 'fixed',
-    right: 0,
-    bottom: 0,
-    cursor: 'nwse-resize',
-    pointerEvents: 'all',
-  },
-  '.color-picker .react-colorful': {
-    width: '100%',
-  },
-  '.color-picker .react-colorful__saturation': {
-    borderRadius: '$small',
-  },
- 
-  '.color-picker .react-colorful__hue, .color-picker .react-colorful__alpha': {
-    height: '$4',
-    borderRadius: '$small',
-  },
- 
-  '.color-picker .react-colorful__hue-pointer, .color-picker .react-colorful__alpha-pointer': {
-    height: '$4',
-    width: '$4',
-  },
- 
-  '.color-picker .react-colorful__hue': {
-    marginTop: '$3',
-    marginBottom: '$2',
-  },
- 
-  '.color-picker .react-colorful__alpha': {
-    marginTop: '$2',
-    marginBottom: '$3',
-  },
-  '.ReactModal__Content': {
-    backgroundColor: '$bgDefault !important',
-    border: '1px solid !important',
-    borderColor: '$borderMuted !important',
-    overflowX: 'hidden !important',
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html deleted file mode 100644 index 4eb40a22a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/index.html +++ /dev/null @@ -1,1691 +0,0 @@ - - - - - - Code coverage report for src/app/components - - - - - - - - - -
-
-

All files src/app/components

-
- -
- 0% - Statements - 0/2117 -
- - -
- 0% - Branches - 0/1477 -
- - -
- 0% - Functions - 0/568 -
- - -
- 0% - Lines - 0/2012 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AnnotationBuilder.tsx -
-
0%0/110%0/20%0/50%0/11
App.tsx -
-
0%0/20%0/180%0/10%0/2
ApplySelector.tsx -
-
0%0/15100%0/00%0/60%0/15
BorderTokenDownShiftInput.tsx -
-
0%0/130%0/130%0/40%0/12
BorderTokenForm.tsx -
-
0%0/260%0/390%0/70%0/23
Box.tsx -
-
0%0/1100%0/0100%0/00%0/1
BoxShadowInput.tsx -
-
0%0/350%0/450%0/90%0/30
BranchSelector.tsx -
-
0%0/660%0/350%0/130%0/65
BranchSwitchMenuRadioElement.tsx -
-
0%0/4100%0/00%0/20%0/3
BrokenReferenceIndicator.tsx -
-
0%0/70%0/20%0/30%0/6
Callout.tsx -
-
0%0/1100%0/00%0/10%0/1
ChangeStateListingHeading.tsx -
-
0%0/40%0/40%0/20%0/4
ChangedStateList.tsx -
-
0%0/210%0/290%0/60%0/20
ChangedTokenItem.tsx -
-
0%0/20%0/210%0/10%0/2
Changelog.tsx -
-
0%0/140%0/140%0/50%0/14
ColorPickerTrigger.tsx -
-
0%0/3100%0/00%0/10%0/3
ColorTokenForm.tsx -
-
0%0/770%0/740%0/210%0/75
CompositionTokenForm.tsx -
-
0%0/410%0/180%0/160%0/39
ConfirmDialog.tsx -
-
0%0/430%0/280%0/140%0/38
ConvertToDTCGModal.tsx -
-
0%0/180%0/180%0/30%0/17
Count.tsx -
-
0%0/1100%0/00%0/10%0/1
DirtyStateBadgeWrapper.tsx -
-
0%0/10%0/20%0/10%0/1
Divider.tsx -
-
0%0/1100%0/0100%0/00%0/1
EditTokenForm.tsx -
-
0%0/2100%0/2220%0/490%0/203
EditTokenFormModal.tsx -
-
0%0/110%0/80%0/20%0/11
ErrorMessage.tsx -
-
0%0/1100%0/0100%0/00%0/1
ErrorValidation.tsx -
-
0%0/1100%0/0100%0/00%0/1
ExplainerModal.tsx -
-
0%0/6100%0/00%0/30%0/4
FigmaLoading.tsx -
-
0%0/80%0/40%0/10%0/8
Footer.tsx -
-
0%0/260%0/220%0/70%0/23
IconToggleableDisclosure.tsx -
-
0%0/1100%0/0100%0/00%0/1
ImportVariablesDialog.tsx -
-
0%0/460%0/180%0/170%0/45
ImportedTokensDialog.tsx -
-
0%0/860%0/390%0/340%0/75
Initiator.tsx -
-
0%0/940%0/400%0/90%0/92
Input.tsx -
-
0%0/180%0/430%0/30%0/18
InspectSearchOptionDropdown.tsx -
-
0%0/8100%0/00%0/30%0/8
Inspector.tsx -
-
0%0/220%0/50%0/60%0/21
InspectorDebugView.tsx -
-
0%0/190%0/200%0/60%0/16
InspectorMultiView.tsx -
-
0%0/510%0/300%0/210%0/44
InspectorResolvedToken.tsx -
-
0%0/140%0/110%0/10%0/14
InspectorTokenGroup.tsx -
-
0%0/3100%0/00%0/20%0/3
InspectorTokenSingle.tsx -
-
0%0/400%0/300%0/110%0/38
JSONEditor.tsx -
-
0%0/150%0/110%0/30%0/15
Label.tsx -
-
0%0/20%0/10%0/10%0/2
Link.tsx -
-
0%0/2100%0/00%0/10%0/2
LoadingBar.tsx -
-
0%0/240%0/280%0/110%0/19
LocalStorageItem.tsx -
-
0%0/180%0/60%0/30%0/18
MultiSelectCheckboxItem.tsx -
-
0%0/4100%0/00%0/20%0/4
MultiSelectDropdown.tsx -
-
0%0/130%0/20%0/50%0/11
Navbar.tsx -
-
0%0/200%0/110%0/40%0/18
OnboardingExplainer.tsx -
-
0%0/40%0/20%0/10%0/4
OnboardingFlow.tsx -
-
0%0/220%0/180%0/60%0/22
PluginResizer.tsx -
-
0%0/30%0/20%0/10%0/3
ProBadge.tsx -
-
0%0/50%0/40%0/10%0/5
PullDialog.tsx -
-
0%0/110%0/30%0/30%0/11
PushDialog.tsx -
-
0%0/460%0/760%0/80%0/45
PushDialogSupernovaConfirm.tsx -
-
0%0/20%0/20%0/10%0/2
PushJSON.tsx -
-
0%0/200%0/210%0/40%0/19
PushSettingForm.tsx -
-
0%0/50%0/40%0/20%0/5
RemConfiguration.tsx -
-
0%0/370%0/260%0/70%0/35
ResolvedBorderValueDisplay.tsx -
-
0%0/9100%0/00%0/30%0/9
ResolvedShadowValueDisplay.tsx -
-
0%0/7100%0/00%0/30%0/7
ResolvedTokenDisplay.tsx -
-
0%0/130%0/200%0/20%0/12
ResolvedTypographyValueDisplay.tsx -
-
0%0/9100%0/00%0/30%0/9
Select.tsx -
-
0%0/2100%0/00%0/10%0/2
SettingsDropdown.tsx -
-
0%0/130%0/20%0/50%0/13
SingleBoxShadowDownShiftInput.tsx -
-
0%0/100%0/160%0/30%0/10
SingleBoxShadowInput.tsx -
-
0%0/690%0/480%0/130%0/67
SingleCompositionTokenContent.tsx -
-
0%0/70%0/20%0/20%0/7
SingleCompositionTokenForm.tsx -
-
0%0/260%0/100%0/80%0/26
SingleTypographyDownShiftInput.tsx -
-
0%0/6100%0/00%0/30%0/5
Stack.tsx -
-
0%0/00%0/00%0/00%0/0
StartScreen.tsx -
-
0%0/240%0/60%0/50%0/23
StorageItem.tsx -
-
0%0/290%0/150%0/50%0/28
StorageItemForm.tsx -
-
0%0/100%0/110%0/10%0/10
StyledBrokenReferenceIndicator.tsx -
-
0%0/2100%0/00%0/10%0/2
StyledDiff.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledDirtyStateBadge.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledInputSuffix.tsx -
-
0%0/2100%0/0100%0/00%0/2
StyledInspectBadge.tsx -
-
0%0/1100%0/0100%0/00%0/1
StyledStorageItem.tsx -
-
0%0/1100%0/0100%0/00%0/1
StylesDropdown.tsx -
-
0%0/160%0/60%0/40%0/16
SyncSettings.tsx -
-
0%0/370%0/120%0/120%0/36
Text.tsx -
-
0%0/20%0/10%0/10%0/2
ToggleEmptyButton.tsx -
-
0%0/60%0/20%0/20%0/6
TokenFilter.tsx -
-
0%0/160%0/20%0/40%0/16
TokenFormatBadge.tsx -
-
0%0/90%0/70%0/20%0/9
TokenInput.tsx -
-
0%0/40%0/30%0/10%0/4
TokenListing.tsx -
-
0%0/250%0/170%0/60%0/23
TokenListingHeading.tsx -
-
0%0/110%0/160%0/30%0/10
TokenSetListItemContent.tsx -
-
0%0/250%0/120%0/50%0/25
TokenSetSelector.tsx -
-
0%0/740%0/140%0/180%0/73
TokenSetTree.tsx -
-
0%0/790%0/380%0/290%0/68
TokenSetTreeItemContent.tsx -
-
0%0/230%0/80%0/70%0/21
Tokens.tsx -
-
0%0/700%0/370%0/190%0/67
TokensBottomBar.tsx -
-
0%0/270%0/80%0/70%0/27
ToolsDropdown.tsx -
-
0%0/130%0/40%0/50%0/13
Tooltip.tsx -
-
0%0/00%0/00%0/00%0/0
TypographyInput.tsx -
-
0%0/260%0/380%0/60%0/24
WindowResizer.tsx -
-
0%0/180%0/40%0/50%0/18
createAnnotation.tsx -
-
0%0/30%0/10%0/10%0/3
createTokenObj.tsx -
-
0%0/400%0/360%0/60%0/40
custom.d.ts -
-
0%0/00%0/00%0/00%0/0
globalStyles.tsx -
-
0%0/1100%0/0100%0/00%0/1
use-raised-shadow.ts -
-
0%0/140%0/60%0/30%0/14
useMinimizeWindow.tsx -
-
0%0/110%0/40%0/30%0/10
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html deleted file mode 100644 index c7a149a11..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/NodeIcon.tsx.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/app/components/inspector/NodeIcon.tsx - - - - - - - - - -
-
-

All files / src/app/components/inspector NodeIcon.tsx

-
- -
- 0% - Statements - 0/21 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import {
-  ComponentInstanceIcon,
-  FrameIcon,
-  TextIcon,
-  MixIcon,
-  GroupIcon,
-  BoxIcon,
-  MinusIcon,
-  ValueIcon,
-} from '@radix-ui/react-icons';
-import Box from '../Box';
- 
-interface NodeIconProps {
-  type: NodeType;
-  width?: number;
-  height?: number;
-}
- 
-export default function NodeIcon({ type, width = 12, height = 12 }: NodeIconProps): JSX.Element | null {
-  let icon;
-  switch (type) {
-    case 'TEXT':
-      icon = <TextIcon width={width} height={height} />;
-      break;
-    case 'FRAME':
-      icon = <FrameIcon width={width} height={height} />;
-      break;
-    case 'INSTANCE':
-      icon = <ComponentInstanceIcon width={width} height={height} />;
-      break;
-    case 'VECTOR':
-      icon = <MixIcon width={width} height={height} />;
-      break;
-    case 'GROUP':
-      icon = <GroupIcon width={width} height={height} />;
-      break;
-    case 'RECTANGLE':
-      icon = <BoxIcon width={width} height={height} />;
-      break;
-    case 'LINE':
-      icon = <MinusIcon width={width} height={height} />;
-      break;
-    case 'ELLIPSE':
-      icon = <ValueIcon width={width} height={height} />;
-      break;
-    default:
-      break;
-  }
-  if (!icon) return null;
-  return (
-    <Box
-      css={{
-        marginRight: '$3',
-        display: 'flex',
-        alignItems: 'center',
-        svg: {
-          fill: '$contextMenuFg',
-        },
-      }}
-    >
-      {icon}
-    </Box>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html deleted file mode 100644 index cb1f21f8b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNode.tsx.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for src/app/components/inspector/TokenNode.tsx - - - - - - - - - -
-
-

All files / src/app/components/inspector TokenNode.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { DropdownMenu } from '@tokens-studio/ui';
-import NodeIcon from './NodeIcon';
-import Box from '../Box';
-import { goToNodeId } from '@/utils/figma';
-import { NodeInfo } from '@/types/NodeInfo';
- 
-export default function TokenNode({ id, name, type }: NodeInfo) {
-  const onNodeSelect = useCallback(() => {
-    goToNodeId(id);
-  }, [id]);
- 
-  return (
-    <DropdownMenu.Item
-      key={id}
-      onSelect={onNodeSelect}
-      css={{
-        // Note: This is quite bad. We should not massacre a dropdown menu for it to be rendered as a context menu. let's think about introducing a dark version of our dropdown menu
-        display: 'flex',
-        color: '$contextMenuFg',
-        padding: '$1 $4',
-        '&:hover:not([data-disabled]), &:focus:not([data-disabled])': {
-          backgroundColor: '$contextMenuBgHover',
-        },
-      }}
-    >
- 
-      <NodeIcon type={type} />
-      <Box
-        css={{
-          whiteSpace: 'nowrap',
-          overflow: 'hidden',
-          textOverflow: 'ellipsis',
-        }}
-        title={name}
-      >
-        {name}
-      </Box>
-    </DropdownMenu.Item>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html deleted file mode 100644 index 07550d7d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/TokenNodes.tsx.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - Code coverage report for src/app/components/inspector/TokenNodes.tsx - - - - - - - - - -
-
-

All files / src/app/components/inspector TokenNodes.tsx

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { Crosshair2Icon } from '@radix-ui/react-icons';
-import {
-  DropdownMenu, Stack, Button, IconButton,
-} from '@tokens-studio/ui';
-import Box from '../Box';
-import IconLayers from '@/icons/layers.svg';
-import { selectNodes } from '@/utils/figma/selectNodes';
-import { NodeInfo } from '@/types/NodeInfo';
-import TokenNode from './TokenNode';
- 
-const NODE_HEIGHT = 22;
-const VISIBLE_VIEWPORT_NODES = 10;
-const CONTAINER_PADDING = 8;
- 
-export default function TokenNodes({ nodes }: { nodes: NodeInfo[] }) {
-  const selectAllNodes = useCallback(() => {
-    const nodeIds = nodes.map(({ id }) => id);
-    selectNodes(nodeIds);
-  }, [nodes]);
- 
-  const dropdownContent = (
-    <DropdownMenu.Content
-      css={{
-        width: '164px',
-        background: '$contextMenuBg',
-        borderRadius: '$medium',
-        padding: '$2 0',
-        fontSize: '$small',
-        maxHeight: `${VISIBLE_VIEWPORT_NODES * NODE_HEIGHT + CONTAINER_PADDING}px`,
-      }}
-      sideOffset={4}
-      className={`content content-dark ${nodes.length > VISIBLE_VIEWPORT_NODES ? 'scroll-container' : null}`}
-    >
- 
-      {nodes.map(({ id, name, type }) => (
-        <TokenNode key={id} id={id} name={name} type={type} />
-      ))}
-    </DropdownMenu.Content>
-  );
- 
-  return (
-    <Stack
-      align="center"
-      gap={1}
-    >
-      <DropdownMenu>
-        <Box
-          css={{
-            display: 'flex',
-            alignItems: 'center',
-            gap: '$3',
-            fontWeight: '$sansBold',
-            fontSize: '$small',
-          }}
-        >
-          <DropdownMenu.Trigger asChild>
-            <Button variant="invisible" size="small" icon={<IconLayers />}>
-              {nodes.length}
-            </Button>
-          </DropdownMenu.Trigger>
-          {dropdownContent}
-        </Box>
-      </DropdownMenu>
-      <IconButton
-        tooltip="Select all"
-        tooltipSide="bottom"
-        onClick={selectAllNodes}
-        variant="invisible"
-        size="small"
-        icon={<Crosshair2Icon />}
-      />
-    </Stack>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html deleted file mode 100644 index c6276e5f9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/inspector/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/components/inspector - - - - - - - - - -
-
-

All files src/app/components/inspector

-
- -
- 0% - Statements - 0/34 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/32 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
NodeIcon.tsx -
-
0%0/210%0/130%0/10%0/20
TokenNode.tsx -
-
0%0/3100%0/00%0/20%0/3
TokenNodes.tsx -
-
0%0/100%0/20%0/40%0/9
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html deleted file mode 100644 index f8d89be4d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/BulkRemapModal.tsx.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/BulkRemapModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals BulkRemapModal.tsx

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { Button, Checkbox } from '@tokens-studio/ui';
-import Modal from '../Modal';
-import Stack from '../Stack';
-import Input from '../Input';
-import useTokens from '../../store/useTokens';
-import Box from '../Box';
-import Label from '../Label';
-import { UpdateMode } from '@/constants/UpdateMode';
- 
-type Props = {
-  isOpen: boolean
-  onClose: () => void;
-};
- 
-export default function BulkRemapModal({ isOpen, onClose }: Props) {
-  const [oldName, setOldName] = React.useState('');
-  const [newName, setNewName] = React.useState('');
-  const [shouldRemapDocument, setShouldRemapDocument] = React.useState(false);
-  const { handleBulkRemap } = useTokens();
- 
-  const handleClose = React.useCallback(() => {
-    onClose();
-  }, [onClose]);
- 
-  const onConfirm = React.useCallback(async () => {
-    const updateMode = shouldRemapDocument ? UpdateMode.DOCUMENT : UpdateMode.SELECTION;
-    await handleBulkRemap(newName, oldName, updateMode);
-    onClose();
-  }, [handleBulkRemap, onClose, newName, oldName, shouldRemapDocument]);
- 
-  const handleOldNameChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>((e) => {
-    setOldName(e.target.value);
-  }, []);
- 
-  const handleNewNameChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>((e) => {
-    setNewName(e.target.value);
-  }, []);
- 
-  const updateShouldRemapDocument = React.useCallback(() => {
-    setShouldRemapDocument(!shouldRemapDocument);
-  }, [shouldRemapDocument]);
- 
-  return (
-    <Modal size="large" showClose isOpen={isOpen} close={handleClose} title="Bulk remap">
-      <form
-        onSubmit={onConfirm}
-      >
-        <Stack direction="column" gap={4}>
-          <Input
-            full
-            required
-            autofocus
-            type="text"
-            label="Match"
-            value={oldName}
-            placeholder=""
-            onChange={handleOldNameChange}
-            name="oldName"
-          />
-          <Input
-            required
-            full
-            type="text"
-            label="Remap"
-            value={newName}
-            placeholder=""
-            onChange={handleNewNameChange}
-            name="newName"
-          />
-          <Box css={{
-            display: 'flex', alignItems: 'center', gap: '$3', fontSize: '$small',
-          }}
-          >
-            <Checkbox
-              checked={shouldRemapDocument}
-              id="remapDocument"
-              onCheckedChange={updateShouldRemapDocument}
-            />
-            <Label htmlFor="remapDocument" css={{ fontSize: '$small', fontWeight: '$sansBold' }}>
-              Remap across document (slow)
-            </Label>
-          </Box>
-          <Stack direction="row" gap={4} justify="between">
-            <Button variant="secondary" onClick={onClose}>
-              Cancel
-            </Button>
-            <Button type="submit" variant="primary">
-              Remap
-            </Button>
-          </Stack>
-        </Stack>
-      </form>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html deleted file mode 100644 index 1a92bc1c5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateBranchModal.tsx.html +++ /dev/null @@ -1,514 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/CreateBranchModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals CreateBranchModal.tsx

-
- -
- 0% - Statements - 0/32 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useSelector } from 'react-redux';
-import { Button, Stack } from '@tokens-studio/ui';
-import Modal from '../Modal';
-import Input from '../Input';
-import useRemoteTokens from '../../store/remoteTokens';
-import {
-  activeThemeSelector, apiSelector, localApiStateSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { isGitProvider } from '@/utils/is';
-import type { StorageTypeCredentials } from '@/types/StorageType';
-import { ErrorMessage } from '../ErrorMessage';
- 
-type Props = {
-  isOpen: boolean;
-  startBranch: string | null;
-  isCurrentChanges: boolean;
-  onClose: (arg: boolean) => void;
-  onSuccess: (branch: string, branches: string[]) => void;
-};
- 
-type FormData = {
-  branch: string
-};
- 
-export default function CreateBranchModal({
-  isOpen, onClose, onSuccess, startBranch, isCurrentChanges,
-}: Props) {
-  const {
-    addNewBranch, pushTokens, fetchBranches, pullTokens,
-  } = useRemoteTokens();
- 
-  const localApiState = useSelector(localApiStateSelector);
-  const apiData = useSelector(apiSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
- 
-  const [formFields, setFormFields] = React.useState<FormData>({} as FormData);
-  const [hasErrored, setHasErrored] = React.useState<boolean>(false);
-  const branchInputRef = React.useRef<HTMLInputElement | null>(null);
- 
-  /* @lifecycle
-  ** set focus on input
-  */
-  React.useEffect(() => {
-    setTimeout(() => {
-      branchInputRef.current?.focus();
-    }, 200);
-  }, []);
- 
-  const isBranchNameValid = React.useMemo(() => !/\s/.test(formFields.branch), [formFields]);
- 
-  const handleChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
-    setFormFields({ ...formFields, [e.target.name]: e.target.value });
-  }, [formFields]);
- 
-  const handleSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
- 
-    const { branch } = formFields;
- 
-    setHasErrored(false);
- 
-    if (
-      isGitProvider(localApiState)
-      && isGitProvider(apiData)
-    ) {
-      // type casting because of "name" error - ignoring because not important
-      const response = await addNewBranch(localApiState as StorageTypeCredentials, branch, startBranch ?? undefined);
-      const branches = await fetchBranches(localApiState as StorageTypeCredentials);
-      if (response) {
-        onSuccess(branch, branches ?? []);
-        if (!isCurrentChanges) {
-          await pullTokens({
-            context: { ...apiData, branch }, usedTokenSet, activeTheme, updateLocalTokens: true,
-          });
-        }
-      } else {
-        setHasErrored(true);
-      }
- 
-      if (isCurrentChanges) {
-        await pushTokens({ context: { ...apiData, branch } });
-      }
-    }
-  }, [
-    formFields,
-    localApiState,
-    apiData,
-    addNewBranch,
-    isCurrentChanges,
-    fetchBranches,
-    pushTokens,
-    onSuccess,
-    startBranch,
-    activeTheme,
-    pullTokens,
-    usedTokenSet,
-  ]);
- 
-  const handleModalClose = React.useCallback(() => onClose(false), [onClose]);
- 
-  return (
-    <Modal title={`Create a new branch from ${isCurrentChanges ? 'current changes' : startBranch}`} size="large" isOpen={isOpen} close={handleModalClose}>
-      <form onSubmit={handleSubmit}>
-        <Stack direction="column" gap={4}>
-          <Input
-            required
-            full
-            autofocus
-            type="text"
-            label="Branch name"
-            value={formFields.branch}
-            placeholder="branch"
-            onChange={handleChange}
-            name="branch"
-            inputRef={branchInputRef}
-          />
-          {
-            !isBranchNameValid && (
-              <ErrorMessage data-testid="provider-modal-error">
-                Branch name cannot contain spaces
-              </ErrorMessage>
-            )
-          }
-          <Stack direction="row" justify="end" gap={4}>
-            <Button variant="secondary" onClick={handleModalClose}>
-              Cancel
-            </Button>
-            <Button variant="primary" type="submit" disabled={!('branch' in formFields && isBranchNameValid)}>
-              Create branch
-            </Button>
-          </Stack>
-          {hasErrored && (
-            <ErrorMessage data-testid="provider-modal-error">
-              There was an error connecting. Check your credentials.
-            </ErrorMessage>
-          )}
-        </Stack>
-      </form>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html deleted file mode 100644 index 8486b7dad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/CreateStorageItemModal.tsx.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/CreateStorageItemModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals CreateStorageItemModal.tsx

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import Modal from '../Modal';
-import StorageItemForm from '../StorageItemForm';
-import useRemoteTokens from '../../store/remoteTokens';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { getProviderIcon } from '@/utils/getProviderIcon';
-import { Eventlike } from '../StorageItemForm/types';
- 
-type Props = {
-  isOpen: boolean;
-  onClose: () => void;
-  onSuccess: () => void;
-  storageProvider: StorageProviderType;
-};
- 
-export default function CreateStorageItemModal({
-  isOpen, onClose, onSuccess, storageProvider,
-}: Props) {
-  const { addNewProviderItem } = useRemoteTokens();
-  const [hasErrored, setHasErrored] = React.useState(false);
-  const [errorMessage, setErrorMessage] = React.useState<string>();
- 
-  const getHeaderText = (storageProvider: StorageProviderType) => {
-    const icon = getProviderIcon(storageProvider);
-    const providerText = {
-      url: 'a server URL',
-      jsonbin: 'JSONBIN',
-      github: 'GitHub',
-      gitlab: 'GitLab',
-      ado: 'Azure DevOps',
-      bitbucket: 'Bitbucket',
-      supernova: 'Supernova',
-      genericVersionedStorage: 'Generic Versioned Storage',
-      tokensstudio: 'Tokens Studio',
-    }[storageProvider] || storageProvider;
-    return { icon, text: `Sync to ${providerText}` };
-  };
- 
-  const { icon, text } = getHeaderText(storageProvider);
- 
-  const [formFields, setFormFields] = React.useState<StorageTypeFormValues<true>>(
-    React.useMemo(
-      () => ({
-        provider: storageProvider,
-      }),
-      [storageProvider],
-    ),
-  );
- 
-  const handleCreateNewClick = React.useCallback(
-    async (values: StorageTypeFormValues<false>) => {
-      setHasErrored(false);
-      const response = await addNewProviderItem(values);
-      if (response.status === 'success') {
-        onSuccess();
-      } else {
-        setHasErrored(true);
-        setErrorMessage(response?.errorMessage);
-      }
-    },
-    [addNewProviderItem, onSuccess],
-  );
- 
-  const handleChange = React.useCallback(
-    (e: Eventlike) => {
-      setFormFields({ ...formFields, [e.target.name]: e.target.value });
-    },
-    [formFields],
-  );
- 
-  const handleSubmit = React.useCallback(
-    (values: StorageTypeFormValues<false>) => {
-      handleCreateNewClick(values);
-    },
-    [handleCreateNewClick],
-  );
- 
-  return (
-    <Modal icon={icon} title={text} size="large" isOpen={isOpen} close={onClose}>
-      <StorageItemForm
-        isNew
-        onChange={handleChange}
-        onSubmit={handleSubmit}
-        onCancel={onClose}
-        values={formFields}
-        hasErrored={hasErrored}
-        errorMessage={errorMessage}
-      />
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html deleted file mode 100644 index 3c477deca..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/DuplicateTokenGroupModal.tsx.html +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/DuplicateTokenGroupModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals DuplicateTokenGroupModal.tsx

-
- -
- 0% - Statements - 0/28 -
- - -
- 0% - Branches - 0/19 -
- - -
- 0% - Functions - 0/10 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, TextInput, Stack, Text,
-  Tooltip,
-} from '@tokens-studio/ui';
-import Modal from '../Modal';
-import { MultiSelectDropdown } from '../MultiSelectDropdown';
-import { ErrorMessage } from '../ErrorMessage';
-import { activeTokenSetSelector, tokensSelector } from '@/selectors';
-import useManageTokens from '@/app/store/useManageTokens';
-import { StyledTokenButton, StyledTokenButtonText } from '../TokenButton/StyledTokenButton';
-import { validateDuplicateGroupName, ErrorType } from '@/utils/validateGroupName';
- 
-type Props = {
-  isOpen: boolean;
-  type: string;
-  newName: string;
-  oldName: string;
-  onClose?: () => void;
-  handleNewTokenGroupNameChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
-};
- 
-export default function DuplicateTokenGroupModal({
-  isOpen, type, newName, oldName, onClose, handleNewTokenGroupNameChange,
-}: Props) {
-  const tokens = useSelector(tokensSelector);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const [selectedTokenSets, setSelectedTokenSets] = React.useState<string[]>([activeTokenSet]);
-  const { duplicateGroup } = useManageTokens();
-  const { t } = useTranslation(['tokens']);
- 
-  const handleSelectedItemChange = React.useCallback((selectedItems: string[]) => {
-    setSelectedTokenSets(selectedItems);
-  }, []);
- 
-  const handleDuplicateTokenGroupSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    duplicateGroup({
-      oldName, newName, tokenSets: selectedTokenSets, type,
-    });
-    if (onClose) {
-      onClose();
-    }
-  }, [duplicateGroup, oldName, newName, selectedTokenSets, type, onClose]);
- 
-  const error = useMemo(() => {
-    if (!isOpen) {
-      return null;
-    }
-    if (newName === oldName && selectedTokenSets.includes(activeTokenSet)) {
-      return {
-        type: ErrorType.ExistingGroup,
-      };
-    }
-    if (selectedTokenSets.length === 0) {
-      return {
-        type: ErrorType.NoSetSelected,
-      };
-    }
-    return validateDuplicateGroupName(tokens, selectedTokenSets, activeTokenSet, type, oldName, newName);
-  }, [isOpen, activeTokenSet, newName, oldName, selectedTokenSets, tokens, type]);
- 
-  const canDuplicate = !error;
- 
-  return (
-    <Modal
-      title={t('duplicateGroup') as string}
-      isOpen={isOpen}
-      close={onClose}
-      size="large"
-      footer={(
-        <form id="duplicateTokenGroup" onSubmit={handleDuplicateTokenGroupSubmit}>
-          <Stack direction="row" justify="end" gap={4}>
-            <Button variant="secondary" onClick={onClose}>
-              {t('cancel')}
-            </Button>
-            <Button type="submit" variant="primary" disabled={!canDuplicate}>
-              {t('duplicate')}
-            </Button>
-          </Stack>
-        </form>
-    )}
-    >
-      <Stack direction="column" justify="center" align="start" gap={4}>
-        <TextInput
-          form="duplicateTokenGroup"
-          onChange={handleNewTokenGroupNameChange}
-          type="text"
-          name="tokengroupname"
-          value={newName}
-          autoFocus
-          required
-          css={{ width: '100%' }}
-        />
-        {!canDuplicate && error?.type && (
-          <ErrorMessage css={{ width: '100%', maxHeight: 150, overflow: 'scroll' }}>
-            {{
-              [ErrorType.NoSetSelected]: t('duplicateGroupModal.errors.noSetSelected'),
-              [ErrorType.EmptyGroupName]: t('duplicateGroupModal.errors.emptyGroupName'),
-              [ErrorType.ExistingGroup]: t('duplicateGroupModal.errors.existingGroup'),
-              [ErrorType.OverlappingToken]: error.foundOverlappingTokens && (
-                <>
-                  {t('duplicateGroupModal.errors.overlappingToken', {
-                    tokenSets: Object.keys(error.foundOverlappingTokens).map((n) => `“${n}”`).join(', '),
-                  })}
-                    {Object.entries(error.foundOverlappingTokens).map(([selectedSet, overlappingTokens]) => (
-                      <>
-                        <Tooltip label="Set" side="right">
-                          <Text css={{ marginTop: '$2', marginBottom: '$2', fontWeight: '$bold' }}>
-                            {selectedSet}
-                          </Text>
-                        </Tooltip>
-                        <Stack direction="row" gap={2}>
-                          {overlappingTokens.map((t) => (
-                            <StyledTokenButton as="div" css={{ display: 'inline-flex', borderRadius: '$small', margin: 0 }}>
-                              <StyledTokenButtonText css={{ wordBreak: 'break-word' }}><span>{t.name}</span></StyledTokenButtonText>
-                            </StyledTokenButton>
-                          ))}
-                        </Stack>
-                      </>
-                    ))}
-                </>
-              ),
-              [ErrorType.OverlappingGroup]: (
-                <>
-                  {t('duplicateGroupModal.errors.overlappingGroup', {
-                    groupName: newName, tokenSets: error.possibleDuplicates && Object.keys(error.possibleDuplicates).map((n) => `“${n}”`).join(', '),
-                  })}
-                  {error.possibleDuplicates && Object.entries(error.possibleDuplicates).map(([selectedSet, overlappingTokens]) => (
-                    <>
-                      <Tooltip label="Set" side="right">
-                        <Text css={{ marginTop: '$2', marginBottom: '$2', fontWeight: '$bold' }}>
-                          {selectedSet}
-                        </Text>
-                      </Tooltip>
-                      <Stack direction="row" wrap css={{ marginTop: '$2' }}>
-                        {overlappingTokens.map(({ name }) => (
-                          <StyledTokenButton as="div" css={{ borderRadius: '$small' }}>
-                            <StyledTokenButtonText css={{ wordBreak: 'break-word' }}><span>{name}</span></StyledTokenButtonText>
-                          </StyledTokenButton>
-                        ))}
-                      </Stack>
-                    </>
-                  ))}
-                </>
-              ),
-            }[error.type]}
-          </ErrorMessage>
-        )}
-        <MultiSelectDropdown menuItems={Object.keys(tokens)} selectedItems={selectedTokenSets} handleSelectedItemChange={handleSelectedItemChange} />
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html deleted file mode 100644 index ac5f75298..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/EditStorageItemModal.tsx.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/EditStorageItemModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals EditStorageItemModal.tsx

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useTranslation } from 'react-i18next';
-import Modal from '../Modal';
-import StorageItemForm from '../StorageItemForm';
-import useRemoteTokens from '../../store/remoteTokens';
-import Stack from '../Stack';
-import { StorageTypeFormValues } from '@/types/StorageType';
-import { Eventlike } from '../StorageItemForm/types';
- 
-type Props = {
-  isOpen: boolean;
-  initialValue: StorageTypeFormValues<true>;
-  onClose: () => void;
-  onSuccess: () => void;
-};
- 
-export default function EditStorageItemModal({
-  isOpen, initialValue, onClose, onSuccess,
-}: Props) {
-  const { t } = useTranslation(['storage']);
-  const [formFields, setFormFields] = React.useState<StorageTypeFormValues<true>>(initialValue);
-  const [hasErrored, setHasErrored] = React.useState(false);
-  const { addNewProviderItem } = useRemoteTokens();
-  const [errorMessage, setErrorMessage] = React.useState<string>();
- 
-  const handleChange = React.useCallback((e: Eventlike) => {
-    setFormFields({ ...formFields, [e.target.name]: e.target.value });
-  }, [formFields]);
- 
-  const handleSubmit = React.useCallback(async (values: StorageTypeFormValues<false>) => {
-    const response = await addNewProviderItem(values);
-    if (response.status === 'success') {
-      onSuccess();
-    } else {
-      setHasErrored(true);
-      setErrorMessage(response?.errorMessage);
-    }
-  }, [addNewProviderItem, onSuccess]);
- 
-  return (
-    <Modal title={t('editCredentials') as string} id="modal-edit-storage-item" isOpen={isOpen} close={onClose}>
-      <Stack direction="column" gap={4}>
-        <StorageItemForm
-          onChange={handleChange}
-          onSubmit={handleSubmit}
-          onCancel={onClose}
-          values={formFields}
-          hasErrored={hasErrored}
-          errorMessage={errorMessage}
-        />
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html deleted file mode 100644 index c6c744d5f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ExportModal.tsx.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/ExportModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals ExportModal.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { ToggleGroup, Box, Stack } from '@tokens-studio/ui';
-import { ExportProviderType } from '@/constants/ExportProviderType';
-import Modal from '../Modal';
-import SingleFileExport from '../ExportProvider/SingleFileExport';
-import MultiFilesExport from '../ExportProvider/MultiFilesExport';
- 
-type Props = {
-  onClose: () => void
-};
- 
-export default function ExportModal({ onClose }: Props) {
-  const [exportMode, setExportMode] = React.useState<string>(ExportProviderType.MULTIPLE);
- 
-  const handleModeChange = React.useCallback((mode: ExportProviderType.SINGLE | ExportProviderType.MULTIPLE) => {
-    if (mode) {
-      setExportMode(mode);
-    }
-  }, []);
- 
-  return (
-    <Modal size="large" isOpen close={onClose} title="Export tokens">
-      <Stack gap={4} direction="column">
-        <Box>
-          <ToggleGroup type="single" value={exportMode} onValueChange={handleModeChange}>
-            <ToggleGroup.Item iconOnly={false} value={ExportProviderType.SINGLE}>Single file</ToggleGroup.Item>
-            <ToggleGroup.Item iconOnly={false} value={ExportProviderType.MULTIPLE}>Multiple files</ToggleGroup.Item>
-          </ToggleGroup>
-        </Box>
-        {
-          exportMode === ExportProviderType.SINGLE
-            ? <SingleFileExport onClose={onClose} />
-            : <MultiFilesExport onClose={onClose} />
-        }
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html deleted file mode 100644 index b3b183dec..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/PresetModal.tsx.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/PresetModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals PresetModal.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useState } from 'react';
-import { ToggleGroup, Box, Stack } from '@tokens-studio/ui';
-import Modal from '../Modal';
-import { LoadProviderType } from '@/constants/LoadProviderType';
-import DefaultPreset from '../PresetProvider/DefaultPreset';
-import FilePreset from '../PresetProvider/FilePreset';
- 
-type Props = {
-  onClose: () => void
-};
- 
-export default function PresetModal({ onClose }: Props) {
-  const [importMode, setImportMode] = useState<string>(LoadProviderType.FILE);
- 
-  const handleValueChange = React.useCallback((provider: LoadProviderType) => {
-    if (provider) {
-      setImportMode(provider);
-    }
-  }, []);
- 
-  return (
-    <Modal showClose isOpen close={onClose} title="Import">
-      <Stack direction="column" justify="center" gap={4}>
-        <Stack direction="column" gap={4}>
-          <Box>
-            <ToggleGroup type="single" value={importMode} onValueChange={handleValueChange}>
-              <ToggleGroup.Item iconOnly={false} value={LoadProviderType.FILE}>File or Folder</ToggleGroup.Item>
-              <ToggleGroup.Item iconOnly={false} value={LoadProviderType.PRESET}>Preset</ToggleGroup.Item>
-            </ToggleGroup>
-          </Box>
-          {
-            importMode === LoadProviderType.PRESET
-              ? <DefaultPreset onCancel={onClose} />
-              : <FilePreset onCancel={onClose} />
-          }
-        </Stack>
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html deleted file mode 100644 index dbf70fb84..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/RenameTokenGroupModal.tsx.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/RenameTokenGroupModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals RenameTokenGroupModal.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useMemo } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import { Button } from '@tokens-studio/ui';
-import { tokensSelector, activeTokenSetSelector } from '@/selectors';
-import { ErrorMessage } from '../ErrorMessage';
-import Modal from '../Modal';
-import Stack from '../Stack';
-import Input from '../Input';
-import Text from '../Text';
-import { StyledTokenButton, StyledTokenButtonText } from '../TokenButton/StyledTokenButton';
-import { validateRenameGroupName, ErrorType } from '@/utils/validateGroupName';
- 
-type Props = {
-  isOpen: boolean
-  newName: string
-  oldName: string
-  onClose?: () => void;
-  handleRenameTokenGroupSubmit?: (e: React.FormEvent<HTMLFormElement>) => void
-  handleNewTokenGroupNameChange?: (e: React.ChangeEvent<HTMLInputElement>) => void
-  type: string
-};
- 
-export default function RenameTokenGroupModal({
-  isOpen, newName, oldName, onClose, handleRenameTokenGroupSubmit, handleNewTokenGroupNameChange, type,
-}: Props) {
-  const tokens = useSelector(tokensSelector);
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const { t } = useTranslation(['tokens', 'general']);
- 
-  const error = useMemo(() => {
-    if (newName === oldName || !isOpen) {
-      return null;
-    }
- 
-    return validateRenameGroupName(tokens[activeTokenSet], type, oldName, newName);
-  }, [isOpen, activeTokenSet, newName, oldName, tokens, type]);
- 
-  const canRename = !(newName === oldName || error);
- 
-  return (
-    <Modal
-      title={`${t('rename')} ${oldName}`}
-      isOpen={isOpen}
-      close={onClose}
-      footer={(
-        <form id="renameTokenGroup" onSubmit={handleRenameTokenGroupSubmit}>
-          <Stack direction="row" justify="end" gap={4}>
-            <Button variant="secondary" onClick={onClose}>
-              {t('cancel')}
-            </Button>
-            <Button type="submit" variant="primary" disabled={!canRename}>
-              {t('change')}
-            </Button>
-          </Stack>
-        </form>
-    )}
-    >
-      <Stack direction="column" gap={4}>
-        <Input
-          full
-          onChange={handleNewTokenGroupNameChange}
-          type="text"
-          value={newName}
-          autofocus
-          required
-        />
-        {!canRename && error && (
-          <ErrorMessage css={{ width: '100%', maxHeight: 150, overflow: 'scroll' }}>
-            {{
-              [ErrorType.EmptyGroupName]: t('duplicateGroupModal.errors.emptyGroupName'),
-              [ErrorType.OverlappingToken]: error.foundOverlappingTokens?.length > 0 && (
-                <>
-                  {t('renameGroupModal.errors.overlappingToken', {
-                    tokenSet: activeTokenSet,
-                  })}
-                  {error.foundOverlappingTokens?.map((t) => (
-                    <StyledTokenButton
-                      as="div"
-                      css={{
-                        display: 'inline-flex', borderRadius: '$small', margin: 0, marginLeft: '$2',
-                      }}
-                    >
-                      <StyledTokenButtonText key={t.name} css={{ wordBreak: 'break-word' }}><span>{t.name}</span></StyledTokenButtonText>
-                    </StyledTokenButton>
-                  ))}
-                </>
-              ),
-              [ErrorType.OverlappingGroup]: (
-                <>
-                  {t('renameGroupModal.errors.overlappingGroup', {
-                    groupName: newName,
-                    tokenSet: activeTokenSet,
-                  })}
-                  <Stack direction="row" wrap css={{ marginTop: '$2' }}>
-                    {error.possibleDuplicates?.map(({ name }) => (
-                      <StyledTokenButton as="div" css={{ borderRadius: '$small' }}>
-                        <StyledTokenButtonText css={{ wordBreak: 'break-word' }}><span>{name}</span></StyledTokenButtonText>
-                      </StyledTokenButton>
-                    ))}
-                  </Stack>
-                </>
-              ),
-            }[error.type]}
-          </ErrorMessage>
-        )}
-        <Text muted>{t('renameGroupModal.infoSameType')}</Text>
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html deleted file mode 100644 index 4f890c4b4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/ResolveDuplicateTokensModal.tsx.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals/ResolveDuplicateTokensModal.tsx - - - - - - - - - -
-
-

All files / src/app/components/modals ResolveDuplicateTokensModal.tsx

-
- -
- 0% - Statements - 0/44 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback, useMemo, useState } from 'react';
-import { useSelector } from 'react-redux';
-import { useTranslation } from 'react-i18next';
-import {
-  Button, Stack, Text,
-} from '@tokens-studio/ui';
-import Modal from '../Modal';
-import { tokensSelector } from '@/selectors';
-import ResolveDuplicateTokenGroup from '../DuplicateResolver/ResolveDuplicateTokenGroup';
-import { SingleToken } from '@/types/tokens';
-import useManageTokens from '@/app/store/useManageTokens';
-import { track } from '@/utils/analytics';
- 
-type Props = {
-  isOpen: boolean;
-  onClose: () => void;
-};
- 
-export default function ResolveDuplicateTokensModal({
-  isOpen, onClose,
-}: Props) {
-  const tokens = useSelector(tokensSelector);
-  const { deleteDuplicates } = useManageTokens();
-  const { t } = useTranslation(['tokens']);
-  const [selectedTokens, setSelectedTokens] = useState<{ [setName: string]: { [tokenName: string]: number } }>(Object.keys(tokens).reduce((acc, setName) => {
-    acc[setName] = {};
-    return acc;
-  }, {}));
- 
-  const { duplicateTokens, duplicateTokensToDelete } = useMemo<{
-    duplicateTokens: { [key: string]: { [key: string]: SingleToken[] } },
-    duplicateTokensToDelete: { [key: string]: { [tokenName: string]: number } }
-  }>(() => {
-    const duplicateTokensObj = Object.keys(tokens).reduce((acc, setName) => {
-      const currentSetTokens = tokens[setName];
-      const duplicatesByName = currentSetTokens.reduce((acc2, token) => {
-        const allTokensWithName = currentSetTokens.filter((a) => a.name === token.name);
-        if (allTokensWithName.length > 1) {
-          acc2[token.name] = allTokensWithName.map((duplicateToken, i) => ({
-            ...duplicateToken,
-            selected: i === Number(selectedTokens?.[setName]?.[token.name] || 0),
-          }));
-        }
- 
-        return acc2;
-      }, {});
- 
-      acc[setName] = duplicatesByName;
-      return acc;
-    }, {});
- 
-    const toDelete = Object.keys(duplicateTokensObj).reduce((acc, setName): { [key: string]: { [key: string]: number } } => {
-      const tokensForSet = duplicateTokensObj[setName];
- 
-      const mappedDuplicateTokens = Object.keys(tokensForSet).reduce<{ [key: string]: number }>((acc2, tokenName) => {
-        acc2[tokenName] = tokensForSet[tokenName].findIndex((val) => val.selected) as number;
-        return acc2;
-      }, {});
- 
-      acc[setName] = mappedDuplicateTokens;
-      return acc;
-    }, {} as { [key: string]: { [key: string]: number } });
-    return { duplicateTokensToDelete: toDelete, duplicateTokens: duplicateTokensObj };
-  }, [tokens, selectedTokens]);
- 
-  const onRadioClick = useCallback((value) => {
-    const [setName, tokenName, index] = value.split(':');
-    setSelectedTokens({
-      ...selectedTokens,
-      [setName]: {
-        ...selectedTokens[setName],
-        [tokenName]: index,
-      },
-    });
-  }, [setSelectedTokens, selectedTokens]);
- 
-  const handleDuplicateTokenGroupSubmit = React.useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    const listToDel: { set: string, path: string, index: number }[] = [];
-    Object.entries(duplicateTokensToDelete).forEach(([set, duplicates]) => {
-      Object.keys(duplicates)?.forEach((duplicateName) => {
-        const index = duplicates[duplicateName];
-        listToDel.push({ set, path: duplicateName, index });
-      });
-    });
-    track('Duplicate tokens removed', { count: listToDel.length });
-    await deleteDuplicates(listToDel);
-    onClose();
-  }, [duplicateTokensToDelete, onClose, deleteDuplicates]);
- 
-  const canResolve = true; // Placeholder incase some error validation is needed
- 
-  return (
-    <Modal
-      title={t('resolveDuplicateTokensModal.title')}
-      isOpen={isOpen}
-      close={onClose}
-      showClose
-      size="large"
-      footer={(
-        <form id="resolveDuplicateTokenGroup" onSubmit={handleDuplicateTokenGroupSubmit}>
-          <Stack direction="row" justify="end" gap={4}>
-            <Button variant="secondary" onClick={onClose}>
-              {t('cancel')}
-            </Button>
-            <Button type="submit" variant="primary" disabled={!canResolve}>
-              {t('resolveDuplicateTokensModal.submit')}
-            </Button>
-          </Stack>
-        </form>
-    )}
-    >
-      <Stack direction="column" justify="center" align="start" gap={4}>
-        <Text css={{ marginBottom: '$4' }}>
-          {t('resolveDuplicateTokensModal.description')}
-        </Text>
-        {Object.entries(duplicateTokens).map(([setName, allTokens]) => ((Object.keys(allTokens).length > 0) ? (
-          <Stack direction="column" key={`duplicateTokens-${setName}`}>
-            <Text bold css={{ fontSize: '$large', marginBottom: '$5' }}>{setName}</Text>
-            {Object.entries(allTokens).map(([tokenName, duplicates]) => (
-              <ResolveDuplicateTokenGroup
-                group={[tokenName, duplicates]}
-                setName={setName}
-                onRadioClick={onRadioClick}
-                selectedTokens={selectedTokens}
-              />
-            ))}
-          </Stack>
-        ) : null))}
-      </Stack>
-    </Modal>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html deleted file mode 100644 index 2e5a21483..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/modals/index.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - Code coverage report for src/app/components/modals - - - - - - - - - -
-
-

All files src/app/components/modals

-
- -
- 0% - Statements - 0/178 -
- - -
- 0% - Branches - 0/74 -
- - -
- 0% - Functions - 0/56 -
- - -
- 0% - Lines - 0/173 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
BulkRemapModal.tsx -
-
0%0/170%0/20%0/60%0/17
CreateBranchModal.tsx -
-
0%0/320%0/220%0/70%0/30
CreateStorageItemModal.tsx -
-
0%0/220%0/40%0/60%0/22
DuplicateTokenGroupModal.tsx -
-
0%0/280%0/190%0/100%0/28
EditStorageItemModal.tsx -
-
0%0/140%0/20%0/30%0/14
ExportModal.tsx -
-
0%0/50%0/40%0/20%0/5
PresetModal.tsx -
-
0%0/50%0/40%0/20%0/5
RenameTokenGroupModal.tsx -
-
0%0/110%0/110%0/40%0/11
ResolveDuplicateTokensModal.tsx -
-
0%0/440%0/60%0/160%0/41
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html deleted file mode 100644 index d49a071e1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/use-raised-shadow.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/app/components/use-raised-shadow.ts - - - - - - - - - -
-
-

All files / src/app/components use-raised-shadow.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { animate, MotionValue, useMotionValue } from 'framer-motion';
-import { useEffect } from 'react';
- 
-const inactiveShadow = '0px 0px 0px rgba(0,0,0,0.8)';
- 
-export function useRaisedShadow(value: MotionValue<number>) {
-  const boxShadow = useMotionValue(inactiveShadow);
- 
-  useEffect(() => {
-    let isActive = false;
-    value.onChange((latest) => {
-      const wasActive = isActive;
-      if (latest !== 0) {
-        isActive = true;
-        if (isActive !== wasActive) {
-          animate(boxShadow, '5px 5px 10px rgba(0,0,0,0.3)');
-        }
-      } else {
-        isActive = false;
-        if (isActive !== wasActive) {
-          animate(boxShadow, inactiveShadow);
-        }
-      }
-    });
-  }, [value, boxShadow]);
- 
-  return boxShadow;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html deleted file mode 100644 index 70e4e8f6a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/components/useMinimizeWindow.tsx.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Code coverage report for src/app/components/useMinimizeWindow.tsx - - - - - - - - - -
-
-

All files / src/app/components useMinimizeWindow.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { Dispatch } from '../store';
- 
-import { windowSizeSelector } from '@/selectors';
- 
-const useMinimizeWindow = () => {
-  const dispatch = useDispatch<Dispatch>();
-  const windowSize = useSelector(windowSizeSelector);
-  const [isPluginminimized, setIsPluginminimized] = React.useState(false);
- 
-  const handleResize = React.useCallback(() => {
-    if (windowSize) {
-      dispatch.settings.setMinimizePluginWindow({
-        width: windowSize.width,
-        height: windowSize.height,
-        isMinimized: !windowSize.isMinimized,
-      });
-    }
-  }, [dispatch, windowSize]);
- 
-  React.useEffect(() => {
-    if (windowSize) setIsPluginminimized(windowSize.isMinimized);
-  }, [windowSize]);
- 
-  return {
-    isPluginminimized,
-    handleResize,
-  };
-};
- 
-export default useMinimizeWindow;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html deleted file mode 100644 index 05f2e31c0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - Code coverage report for src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts - - - - - - - - - -
-
-

All files / src/app/enhancers/undoableEnhancer UndoableEnhancerState.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import EventEmitter from 'eventemitter3';
-import type { AnyAction } from '@/types/redux';
- 
-type EventTypes = 'actionsHistoryChanged' | 'actionsHistoryPointerChanged';
- 
-type UndoableAction<S = any> = {
-  action: AnyAction<true>;
-  snapshot: S;
-};
- 
-type UndoableEnhancerStateType = {
-  $e: EventEmitter<EventTypes>;
-  // @README this index will be pointing to the last registered action (back to front)
-  // when undoing an action this number will increase -- undoing the previous action
-  // when redoing an action this number will decrease -- redoing the action it is currently pointing at
-  actionsHistoryPointer: number;
-  actionsHistory: UndoableAction[];
-  undo: () => number;
-  redo: () => number;
-  push: (...args: UndoableAction[]) => UndoableAction[];
-};
- 
-export const UndoableEnhancerState: UndoableEnhancerStateType = {
-  $e: new EventEmitter<EventTypes>(),
-  actionsHistoryPointer: 0,
-  actionsHistory: [],
-  push: (...args) => {
-    UndoableEnhancerState.actionsHistory = [
-      ...UndoableEnhancerState.actionsHistory.slice(0, UndoableEnhancerState.actionsHistory.length - UndoableEnhancerState.actionsHistoryPointer),
-      ...args,
-    ];
-    UndoableEnhancerState.actionsHistoryPointer = 0;
-    UndoableEnhancerState.$e.emit('actionsHistoryChanged', UndoableEnhancerState.actionsHistory);
-    return UndoableEnhancerState.actionsHistory;
-  },
-  undo: () => {
-    const nextIndex = Math.min(
-      UndoableEnhancerState.actionsHistory.length,
-      UndoableEnhancerState.actionsHistoryPointer + 1,
-    );
-    if (nextIndex !== UndoableEnhancerState.actionsHistoryPointer) {
-      const previousIndex = UndoableEnhancerState.actionsHistoryPointer;
-      UndoableEnhancerState.actionsHistoryPointer = nextIndex;
-      UndoableEnhancerState.$e.emit('actionsHistoryPointerChanged', previousIndex, nextIndex);
-    }
-    return UndoableEnhancerState.actionsHistoryPointer;
-  },
-  redo: () => {
-    const nextIndex = Math.max(0, UndoableEnhancerState.actionsHistoryPointer - 1);
-    if (nextIndex !== UndoableEnhancerState.actionsHistoryPointer) {
-      UndoableEnhancerState.actionsHistoryPointer = nextIndex;
-      UndoableEnhancerState.$e.emit('actionsHistoryPointerChanged', UndoableEnhancerState.actionsHistoryPointer);
-    }
-    return UndoableEnhancerState.actionsHistoryPointer;
-  },
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html deleted file mode 100644 index d662dc7df..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/app/enhancers/undoableEnhancer - - - - - - - - - -
-
-

All files src/app/enhancers/undoableEnhancer

-
- -
- 0% - Statements - 0/50 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/19 -
- - -
- 0% - Lines - 0/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
UndoableEnhancerState.ts -
-
0%0/160%0/40%0/30%0/16
index.ts -
-
0%0/00%0/00%0/00%0/0
undoableActionDefinitions.ts -
-
0%0/120%0/40%0/100%0/12
undoableEnhancer.ts -
-
0%0/220%0/140%0/60%0/20
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html deleted file mode 100644 index ea6deba1d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/enhancers/undoableEnhancer/index.ts - - - - - - - - - -
-
-

All files / src/app/enhancers/undoableEnhancer index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export { undoableEnhancer } from './undoableEnhancer';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html deleted file mode 100644 index 3a0dcbc9e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - - - Code coverage report for src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts - - - - - - - - - -
-
-

All files / src/app/enhancers/undoableEnhancer undoableActionDefinitions.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/10 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { Dispatch } from 'redux';
-import type { AnyAction } from '@/types/redux';
-import type { RootState } from '@/app/store';
-import { SingleToken } from '@/types/tokens';
-import { UpdateTokenPayload } from '@/types/payloads';
- 
-// @TODO improve dispatch typing
-type Effect<S = any, A extends AnyAction<true> = AnyAction<true>> = (dispatch: Dispatch<AnyAction<true>>, action: A, snapshot: S) => void;
-type UndoableActionDefinition<S = any, A extends AnyAction<true> = AnyAction<true>> = {
-  type: A['type'];
-  undo: Effect<S, A>;
-  redo: Effect<S, A>;
-  getStateSnapshot: (action: A, state?: RootState) => S;
-};
- 
-export const undoableActionDefinitions = [
-  {
-    type: 'tokenState/deleteToken',
-    getStateSnapshot: ({ payload }, state) => (
-      state?.tokenState.tokens[payload.parent].find((token) => (
-        token.name === payload.path
-      )) ?? null
-    ),
-    redo: (dispatch, action) => {
-      dispatch({
-        type: 'tokenState/deleteToken',
-        payload: action.payload,
-        meta: { silent: true },
-      });
-    },
-    undo: (dispatch, action, snapshot) => {
-      if (snapshot) {
-        dispatch({
-          type: 'tokenState/createToken',
-          payload: {
-            name: action.payload.path,
-            parent: action.payload.parent,
-            value: snapshot.value,
-            shouldUpdate: true,
-            type: snapshot.type,
-            description: snapshot.description,
-          } as UpdateTokenPayload,
-          meta: { silent: true },
-        });
-      }
-    },
-  } as UndoableActionDefinition<SingleToken | null, AnyAction<true> & {
-    type: 'tokenState/deleteToken'
-  }>,
-  {
-    type: 'tokenState/createToken',
-    getStateSnapshot: () => null,
-    redo: (dispatch, action) => {
-      dispatch({
-        type: 'tokenState/createToken',
-        payload: action.payload,
-        meta: { silent: true },
-      });
-    },
-    undo: (dispatch, { payload }) => {
-      dispatch({
-        type: 'tokenState/deleteToken',
-        payload: { parent: payload.parent, path: payload.name },
-        meta: { silent: true },
-      });
-    },
-  } as UndoableActionDefinition<null, AnyAction<true> & {
-    type: 'tokenState/createToken'
-  }>,
-  {
-    type: 'tokenState/duplicateToken',
-    getStateSnapshot: () => null,
-    redo: (dispatch, action) => {
-      dispatch({
-        type: 'tokenState/duplicateToken',
-        payload: action.payload,
-        meta: { silent: true },
-      });
-    },
-    undo: (dispatch, { payload }) => {
-      dispatch({
-        type: 'tokenState/deleteToken',
-        payload: { parent: payload.parent, path: payload.newName },
-        meta: { silent: true },
-      });
-    },
-  } as UndoableActionDefinition<null, AnyAction<true> & {
-    type: 'tokenState/duplicateToken'
-  }>,
-] as UndoableActionDefinition[];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html deleted file mode 100644 index e943951ef..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/enhancers/undoableEnhancer/undoableEnhancer.ts.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - Code coverage report for src/app/enhancers/undoableEnhancer/undoableEnhancer.ts - - - - - - - - - -
-
-

All files / src/app/enhancers/undoableEnhancer undoableEnhancer.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type {
-  Reducer, StoreEnhancerStoreCreator, PreloadedState, StoreEnhancer,
-} from 'redux';
-import type { AnyAction } from '@/types/redux';
-import type { RootState } from '../../store';
-import { undoableActionDefinitions } from './undoableActionDefinitions';
-import { UndoableEnhancerState } from './UndoableEnhancerState';
- 
-type StoreCreator = StoreEnhancerStoreCreator<RootState, AnyAction<true>>;
-type AppReducer = Reducer<RootState, AnyAction<true>>;
-type AppPreloadedState = PreloadedState<RootState>;
- 
-export const undoableEnhancer = ((next: StoreCreator) => (reducer: AppReducer, preloadedState?: AppPreloadedState) => {
-  const undoableEnhancerReducer: AppReducer = (state, action) => {
-    const undoableAction = undoableActionDefinitions.find((def) => def.type === action.type);
-    if (!('meta' in action && action.meta?.silent) && undoableAction) {
-      type ActionType = Parameters<typeof undoableAction['getStateSnapshot']>[0];
-      const snapshot = undoableAction.getStateSnapshot(action as ActionType, state);
-      UndoableEnhancerState.push({ action, snapshot });
-    }
-    const nextState = reducer(state, action);
-    return nextState;
-  };
-  const store = next(undoableEnhancerReducer, preloadedState);
- 
-  UndoableEnhancerState.$e.on('actionsHistoryPointerChanged', (previousIndex: number, nextIndex: number) => {
-    const didUndo = nextIndex > previousIndex;
-    const actionIndex = didUndo
-      ? UndoableEnhancerState.actionsHistory.length - previousIndex - 1
-      : UndoableEnhancerState.actionsHistory.length - nextIndex - 1;
-    const actionToPerform = UndoableEnhancerState.actionsHistory[actionIndex];
-    if (actionToPerform) {
-      const actionDefinition = undoableActionDefinitions.find((def) => (
-        def.type === actionToPerform.action.type
-      ));
-      if (actionDefinition) {
-        const handler = didUndo ? actionDefinition.undo : actionDefinition.redo;
-        handler(store.dispatch, actionToPerform.action, actionToPerform.snapshot);
-      }
-    }
-  });
- 
-  return store;
-}) as unknown as StoreEnhancer;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html deleted file mode 100644 index 53fcced5b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/index.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - Code coverage report for src/app/hooks - - - - - - - - - -
-
-

All files src/app/hooks

-
- -
- 0% - Statements - 0/167 -
- - -
- 0% - Branches - 0/76 -
- - -
- 0% - Functions - 0/49 -
- - -
- 0% - Lines - 0/164 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
useActionsHistory.ts -
-
0%0/7100%0/00%0/40%0/7
useCanUndo.ts -
-
0%0/90%0/20%0/40%0/9
useConfirm.tsx -
-
0%0/180%0/40%0/80%0/17
useImportVariables.tsx -
-
0%0/21100%0/00%0/40%0/21
useIsGitMultiFileEnabled.ts -
-
0%0/30%0/50%0/20%0/3
useIsProUser.ts -
-
0%0/50%0/40%0/20%0/5
usePropertiesForType.ts -
-
0%0/380%0/250%0/30%0/38
usePullDialog.tsx -
-
0%0/190%0/20%0/80%0/18
usePushDialog.tsx -
-
0%0/190%0/20%0/80%0/18
useReferenceTokenType.ts -
-
0%0/120%0/100%0/20%0/12
useStorageSizeWarning.tsx -
-
0%0/80%0/20%0/20%0/8
useTypeForProperty.ts -
-
0%0/80%0/200%0/20%0/8
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html deleted file mode 100644 index 8d39ba948..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useActionsHistory.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useActionsHistory.ts - - - - - - - - - -
-
-

All files / src/app/hooks useActionsHistory.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useCallback, useEffect, useState } from 'react';
-import { UndoableEnhancerState } from '../enhancers/undoableEnhancer/UndoableEnhancerState';
- 
-export function useActionsHistory() {
-  const [actionsHistory, setActionsHistory] = useState(UndoableEnhancerState.actionsHistory);
- 
-  const updateActionsHistory = useCallback(() => {
-    // use this to wait for the current stack to clear
-    // so we don't trigger the useSelector hooks whilst the previous reducer
-    // is still running
-    setTimeout(() => {
-      setActionsHistory(UndoableEnhancerState.actionsHistory);
-    }, 0);
-  }, []);
- 
-  useEffect(() => {
-    UndoableEnhancerState.$e.on('actionsHistoryChanged', updateActionsHistory);
-  }, [updateActionsHistory]);
- 
-  return actionsHistory;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html deleted file mode 100644 index 796fced38..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useCanUndo.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useCanUndo.ts - - - - - - - - - -
-
-

All files / src/app/hooks useCanUndo.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useCallback, useEffect, useState } from 'react';
-import { UndoableEnhancerState } from '../enhancers/undoableEnhancer/UndoableEnhancerState';
- 
-export function useCanUndo() {
-  const [canUndo, setCanUndo] = useState(false);
- 
-  const updateCanUndo = useCallback(() => {
-    // use this to wait for the current stack to clear
-    // so we don't trigger the useSelector hooks whilst the previous reducer
-    // is still running
-    setTimeout(() => {
-      const nextCanUndo = (
-        UndoableEnhancerState.actionsHistory.length > 0
-        && UndoableEnhancerState.actionsHistoryPointer < UndoableEnhancerState.actionsHistory.length
-      );
-      setCanUndo(nextCanUndo);
-    }, 0);
-  }, []);
- 
-  useEffect(() => {
-    UndoableEnhancerState.$e.on('actionsHistoryChanged', updateCanUndo);
-    UndoableEnhancerState.$e.on('actionsHistoryPointerChanged', updateCanUndo);
-  }, [updateCanUndo]);
- 
-  return canUndo;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html deleted file mode 100644 index 70c54c69c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useConfirm.tsx.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useConfirm.tsx - - - - - - - - - -
-
-

All files / src/app/hooks useConfirm.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import {
-  useCallback, useMemo,
-} from 'react';
-import { Dispatch } from '../store';
-import { ConfirmProps } from '../store/models/uiState';
-import { confirmStateSelector } from '@/selectors';
- 
-export type ResolveCallbackPayload<C = any> = false | {
-  result: true;
-  data: C;
-};
- 
-let resolveCallback: (payload: ResolveCallbackPayload<any>) => void = () => {};
- 
-function useConfirm<C = any>() {
-  const confirmState = useSelector(confirmStateSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const confirm = useCallback((opts: ConfirmProps) => {
-    const {
-      text,
-      description,
-      confirmAction,
-      cancelAction,
-      choices,
-      input,
-      variant,
-      formId,
-    } = opts;
- 
-    dispatch.uiState.setShowConfirm({
-      input,
-      description,
-      confirmAction,
-      cancelAction,
-      text: text ?? '',
-      choices: choices ?? [],
-      variant,
-      formId,
-    });
- 
-    return new Promise<ResolveCallbackPayload<C>>((res) => {
-      resolveCallback = res;
-    });
-  }, [dispatch.uiState]);
- 
-  const closeConfirm = useCallback(() => {
-    dispatch.uiState.setHideConfirm();
-  }, [dispatch.uiState]);
- 
-  const onCancel = useCallback(() => {
-    resolveCallback(false);
-    closeConfirm();
-  }, [closeConfirm]);
- 
-  const onConfirm = useCallback((data: C) => {
-    resolveCallback({ result: true, data });
-    closeConfirm();
-  }, [closeConfirm]);
- 
-  return useMemo(() => ({
-    confirm, onConfirm, onCancel, confirmState,
-  }), [confirm, onConfirm, onCancel, confirmState]);
-}
- 
-export default useConfirm;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html deleted file mode 100644 index a55687c4f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useImportVariables.tsx.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useImportVariables.tsx - - - - - - - - - -
-
-

All files / src/app/hooks useImportVariables.tsx

-
- -
- 0% - Statements - 0/21 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useState, useCallback } from 'react';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection';
-import { ThemeObjectsList } from '@/types/ThemeObjectsList';
- 
-export function useImportVariables() {
-  const [isDialogOpen, setIsDialogOpen] = useState(false);
-  const [collections, setCollections] = useState<VariableCollectionInfo[]>([]);
-  const [isLoading, setIsLoading] = useState(false);
- 
-  const openDialog = useCallback(async () => {
-    setIsLoading(true);
-    try {
-      // Fetch available collections first
-      const response = await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS,
-      });
-      
-      setCollections(response.collections);
-      setIsDialogOpen(true);
-    } catch (error) {
-      console.error('Error fetching variable collections:', error);
-      setCollections([]);
-    } finally {
-      setIsLoading(false);
-    }
-  }, []);
- 
-  const closeDialog = useCallback(() => {
-    setIsDialogOpen(false);
-    setCollections([]);
-  }, []);
- 
-  const importVariables = useCallback(async (
-    selectedCollections: SelectedCollections,
-    options: { useDimensions: boolean; useRem: boolean },
-    themes: ThemeObjectsList,
-    proUser: boolean
-  ) => {
-    try {
-      await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.PULL_VARIABLES,
-        options: {
-          useDimensions: options.useDimensions,
-          useRem: options.useRem,
-          selectedCollections,
-        },
-        themes,
-        proUser,
-      });
-      closeDialog();
-    } catch (error) {
-      console.error('Error importing variables:', error);
-    }
-  }, [closeDialog]);
- 
-  return {
-    isDialogOpen,
-    collections,
-    isLoading,
-    openDialog,
-    closeDialog,
-    importVariables,
-  };
-}
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html deleted file mode 100644 index e30e95f34..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsGitMultiFileEnabled.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useIsGitMultiFileEnabled.ts - - - - - - - - - -
-
-

All files / src/app/hooks useIsGitMultiFileEnabled.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useSelector } from 'react-redux';
-import { useMemo } from 'react';
-import { apiSelector } from '@/selectors';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export function useIsGitMultiFileEnabled() {
-  const api = useSelector(apiSelector);
- 
-  return useMemo(
-    () => Boolean((api?.provider === StorageProviderType.GITHUB
-            || api?.provider === StorageProviderType.GITLAB
-            || api?.provider === StorageProviderType.ADO
-            || api?.provider === StorageProviderType.BITBUCKET)
-          && !api?.filePath?.endsWith('.json')),
-    [api],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html deleted file mode 100644 index 7886452c1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useIsProUser.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useIsProUser.ts - - - - - - - - - -
-
-

All files / src/app/hooks useIsProUser.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useSelector } from 'react-redux';
-import { useMemo } from 'react';
-import { licenseKeySelector } from '@/selectors/licenseKeySelector';
-import { licenseKeyErrorSelector } from '@/selectors/licenseKeyErrorSelector';
-import { tokensStudioPATSelector } from '@/selectors/tokensStudioPATSelector';
- 
-export function useIsProUser() {
-  const existingKey = useSelector(licenseKeySelector);
-  const licenseKeyError = useSelector(licenseKeyErrorSelector);
-  const validPAT = useSelector(tokensStudioPATSelector);
- 
-  return useMemo(() => (
-    Boolean(existingKey && !licenseKeyError) || Boolean(validPAT)
-  ), [existingKey, licenseKeyError, validPAT]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html deleted file mode 100644 index 226474a8e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePropertiesForType.ts.html +++ /dev/null @@ -1,820 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/usePropertiesForType.ts - - - - - - - - - -
-
-

All files / src/app/hooks usePropertiesForType.ts

-
- -
- 0% - Statements - 0/38 -
- - -
- 0% - Branches - 0/25 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/38 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useMemo } from 'react';
-import { Properties } from '@/constants/Properties';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { PropertyObject } from '@/types/properties';
-import { isPropertyType } from '@/utils/is';
-import { SingleToken } from '@/types/tokens';
- 
-const spacingProperties = (value?: SingleToken['value']) => {
-  const isMultiValue = typeof value === 'string' && value.split(' ').length > 1;
-  const gapIndex = isMultiValue ? 1 : 0;
-  const properties = [
-    {
-      label: 'All',
-      name: Properties.spacing,
-      clear: [
-        Properties.counterAxisSpacing,
-        Properties.horizontalPadding,
-        Properties.verticalPadding,
-        Properties.paddingLeft,
-        Properties.paddingRight,
-        Properties.paddingTop,
-        Properties.paddingBottom,
-      ],
-    },
-    {
-      label: 'Horizontal padding',
-      name: Properties.horizontalPadding,
-      clear: [
-        Properties.paddingLeft,
-        Properties.paddingRight,
-      ],
-      disabled: isMultiValue,
-    },
-    {
-      label: 'Vertical padding',
-      name: Properties.verticalPadding,
-      clear: [
-        Properties.paddingTop,
-        Properties.paddingBottom,
-      ],
-      disabled: isMultiValue,
-    },
-    { label: 'Row gap', name: Properties.counterAxisSpacing, disabled: isMultiValue },
-    { label: 'Top', name: Properties.paddingTop, disabled: isMultiValue },
-    { label: 'Right', name: Properties.paddingRight, disabled: isMultiValue },
-    { label: 'Bottom', name: Properties.paddingBottom, disabled: isMultiValue },
-    { label: 'Left', name: Properties.paddingLeft, disabled: isMultiValue },
-  ];
- 
-  properties.splice(gapIndex, 0, { label: 'Gap', name: Properties.itemSpacing, disabled: isMultiValue });
-  return properties;
-};
- 
-const sizingProperties = [{
-  label: 'All',
-  name: Properties.sizing,
-  clear: [Properties.width, Properties.height],
-},
-{ label: 'Width', name: Properties.width },
-{ label: 'Height', name: Properties.height },
-{ label: 'Min width', name: Properties.minWidth },
-{ label: 'Max width', name: Properties.maxWidth },
-{ label: 'Min height', name: Properties.minHeight },
-{ label: 'Max height', name: Properties.maxHeight }];
- 
-export function usePropertiesForTokenType(type: TokenTypes, value?: SingleToken['value']): PropertyObject[] {
-  let disabled = false;
-  if ((type === TokenTypes.BORDER_RADIUS || type === TokenTypes.SPACING) && typeof value === 'string') {
-    disabled = value.split(' ').length > 1;
-  }
-  return useMemo(() => {
-    const properties: PropertyObject[] = [];
-    switch (type) {
-      case TokenTypes.BORDER_RADIUS:
-        properties.push(
-          {
-            label: 'All',
-            name: Properties.borderRadius,
-            clear: [
-              Properties.borderRadiusTopLeft,
-              Properties.borderRadiusTopRight,
-              Properties.borderRadiusBottomRight,
-              Properties.borderRadiusBottomLeft,
-            ],
-          },
-          { label: 'Top Left', name: Properties.borderRadiusTopLeft, disabled },
-          { label: 'Top Right', name: Properties.borderRadiusTopRight, disabled },
-          { label: 'Bottom Right', name: Properties.borderRadiusBottomRight, disabled },
-          { label: 'Bottom Left', name: Properties.borderRadiusBottomLeft, disabled },
-        );
-        break;
-      case TokenTypes.BORDER:
-        properties.push(
-          {
-            label: 'All',
-            name: Properties.border,
-            clear: [
-              Properties.borderTop,
-              Properties.borderRight,
-              Properties.borderBottom,
-              Properties.borderLeft,
-            ],
-          },
-          { label: 'Top', name: Properties.borderTop, disabled },
-          { label: 'Right', name: Properties.borderRight, disabled },
-          { label: 'Bottom', name: Properties.borderBottom, disabled },
-          { label: 'Left', name: Properties.borderLeft, disabled },
-        );
-        break;
-      case TokenTypes.BORDER_WIDTH:
-        properties.push(
-          {
-            label: 'All',
-            name: Properties.borderWidth,
-            clear: [
-              Properties.borderWidthTop,
-              Properties.borderWidthRight,
-              Properties.borderWidthBottom,
-              Properties.borderWidthLeft,
-            ],
-          },
-          { label: 'Top', name: Properties.borderWidthTop },
-          { label: 'Right', name: Properties.borderWidthRight },
-          { label: 'Bottom', name: Properties.borderWidthBottom },
-          { label: 'Left', name: Properties.borderWidthLeft },
-        );
-        break;
-      case TokenTypes.SPACING:
-        properties.push(...spacingProperties(value));
-        break;
-      case TokenTypes.SIZING:
-        properties.push(...sizingProperties);
-        break;
-      case TokenTypes.COLOR:
-        properties.push(
-          {
-            label: 'Fill',
-            name: Properties.fill,
-          },
-          {
-            label: 'Border',
-            name: Properties.borderColor,
-          },
-        );
-        break;
-      case TokenTypes.DIMENSION:
-      case TokenTypes.NUMBER:
-        if (type === TokenTypes.DIMENSION) {
-          properties.push({
-            name: Properties.dimension,
-            invisible: true,
-          });
-        } else {
-          properties.push({
-            name: Properties.number,
-            invisible: true,
-          });
-        }
-        properties.push(
-          {
-            label: 'Spacing',
-            name: Properties.spacing,
-            childProperties: [
-              ...spacingProperties(value),
-            ],
-          },
-          {
-            label: 'Sizing',
-            name: Properties.sizing,
-            childProperties: [
-              ...sizingProperties,
-            ],
-          },
-          {
-            label: 'Border radius',
-            name: Properties.borderRadius,
-            childProperties: [
-              {
-                label: 'All',
-                name: Properties.borderRadius,
-                clear: [
-                  Properties.borderRadiusTopLeft,
-                  Properties.borderRadiusTopRight,
-                  Properties.borderRadiusBottomRight,
-                  Properties.borderRadiusBottomLeft,
-                ],
-              },
-              { label: 'Top Left', name: Properties.borderRadiusTopLeft },
-              { label: 'Top Right', name: Properties.borderRadiusTopRight },
-              { label: 'Bottom Right', name: Properties.borderRadiusBottomRight },
-              { label: 'Bottom Left', name: Properties.borderRadiusBottomLeft },
-            ],
-          },
-          {
-            label: 'Border width',
-            name: Properties.borderWidth,
-            childProperties: [
-              {
-                label: 'All',
-                name: Properties.borderWidth,
-                clear: [
-                  Properties.borderWidthTop,
-                  Properties.borderWidthRight,
-                  Properties.borderWidthBottom,
-                  Properties.borderWidthLeft,
-                ],
-              },
-              { label: 'Top', name: Properties.borderWidthTop },
-              { label: 'Right', name: Properties.borderWidthRight },
-              { label: 'Bottom', name: Properties.borderWidthBottom },
-              { label: 'Left', name: Properties.borderWidthLeft },
-            ],
-          },
-          {
-            label: 'Background blur',
-            name: Properties.backgroundBlur,
-          },
-          { label: 'x', name: Properties.x },
-          { label: 'y', name: Properties.y },
-        );
- 
-        if (type === TokenTypes.NUMBER) {
-          properties.push({
-            label: 'Rotation',
-            name: Properties.rotation,
-          });
-        }
-        break;
-      case TokenTypes.BOOLEAN:
-        properties.push(
-          { label: 'Visibility', name: Properties.visibility },
-        );
-        break;
-      default:
-        if (isPropertyType(type)) {
-          properties.push({
-            name: type,
-            label: type,
-          });
-        }
-        break;
-    }
-    return properties;
-  }, [disabled, type, value]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html deleted file mode 100644 index 112363d3b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePullDialog.tsx.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/usePullDialog.tsx - - - - - - - - - -
-
-

All files / src/app/hooks usePullDialog.tsx

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { showPullDialogSelector } from '@/selectors';
-import { Dispatch } from '../store';
- 
-export type PullDialogPromiseResult = boolean;
- 
-export type UseDialogResult = {
-  pullDialogMode?: string | boolean
-  closePullDialog: () => void
-  showPullDialog: (givenState?: string) => Promise<PullDialogPromiseResult | null>
-  onConfirm: () => void
-  onCancel: () => void
-};
- 
-let resolveCallback: (result: PullDialogPromiseResult | null) => void = () => {};
-function usePullDialog(): UseDialogResult {
-  const pullDialogMode = useSelector(showPullDialogSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const showPullDialog: UseDialogResult['showPullDialog'] = useCallback((givenState) => {
-    if (givenState) {
-      dispatch.uiState.setShowPullDialog(givenState);
-    } else {
-      dispatch.uiState.setShowPullDialog('initial');
-    }
-    return new Promise<PullDialogPromiseResult | null>((res) => {
-      resolveCallback = res;
-    });
-  }, [dispatch]);
- 
-  const closePullDialog = useCallback(() => {
-    dispatch.uiState.setShowPullDialog(false);
-  }, [dispatch]);
- 
-  const onCancel = useCallback(() => {
-    closePullDialog();
-    resolveCallback(false);
-  }, [closePullDialog]);
- 
-  const onConfirm = useCallback(() => {
-    closePullDialog();
-    resolveCallback(true);
-  }, [closePullDialog]);
- 
-  return useMemo(() => ({
-    showPullDialog, onConfirm, onCancel, pullDialogMode, closePullDialog,
-  }), [showPullDialog, onConfirm, onCancel, closePullDialog, pullDialogMode]);
-}
- 
-export default usePullDialog;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html deleted file mode 100644 index e83c1bf00..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/usePushDialog.tsx.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/usePushDialog.tsx - - - - - - - - - -
-
-

All files / src/app/hooks usePushDialog.tsx

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { showPushDialogSelector } from '@/selectors';
-import { Dispatch } from '../store';
-import { PushOverrides } from '../store/remoteTokens';
- 
-// @TODO fix using useCallback and other memoization
- 
-export type PushDialogPromiseResult = {
-  commitMessage: string;
-  customBranch: string;
-};
- 
-export type UseDialogResult = {
-  showPushDialog?: { state: string | boolean, overrides?: PushOverrides };
-  closePushDialog: () => void
-  pushDialog: ({ state, overrides }: { state?: string, overrides?: PushOverrides }) => Promise<PushDialogPromiseResult | null>
-  onConfirm: (commitMessage: string, customBranch: string) => void
-  onCancel: () => void
-};
- 
-let resolveCallback: (result: PushDialogPromiseResult | null) => void = () => {};
-function usePushDialog(): UseDialogResult {
-  const showPushDialog = useSelector(showPushDialogSelector);
-  const dispatch = useDispatch<Dispatch>();
- 
-  const pushDialog: UseDialogResult['pushDialog'] = useCallback(({ state, overrides }) => {
-    if (state) {
-      dispatch.uiState.setShowPushDialog({ state, overrides });
-    } else {
-      dispatch.uiState.setShowPushDialog({ state: 'initial', overrides });
-    }
-    return new Promise<PushDialogPromiseResult | null>((res) => {
-      resolveCallback = res;
-    });
-  }, [dispatch]);
- 
-  const closePushDialog = useCallback(() => {
-    dispatch.uiState.setShowPushDialog({ state: false });
-  }, [dispatch]);
- 
-  const onCancel = useCallback(() => {
-    closePushDialog();
-    resolveCallback(null);
-  }, [closePushDialog]);
- 
-  const onConfirm = useCallback((commitMessage: string, customBranch: string) => {
-    dispatch.uiState.setShowPushDialog({ state: 'loading' });
-    resolveCallback({ commitMessage, customBranch });
-  }, [dispatch]);
- 
-  return useMemo(() => ({
-    pushDialog, onConfirm, onCancel, showPushDialog, closePushDialog,
-  }), [pushDialog, onConfirm, onCancel, closePushDialog, showPushDialog]);
-}
- 
-export default usePushDialog;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html deleted file mode 100644 index 1ad30ce23..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useReferenceTokenType.ts.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useReferenceTokenType.ts - - - - - - - - - -
-
-

All files / src/app/hooks useReferenceTokenType.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useMemo } from 'react';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-export function useReferenceTokenType(type: TokenTypes): TokenTypes[] {
-  return useMemo(() => {
-    switch (type) {
-      case TokenTypes.SIZING:
-        return [TokenTypes.SIZING, TokenTypes.DIMENSION, TokenTypes.NUMBER];
-      case TokenTypes.SPACING:
-        return [TokenTypes.SPACING, TokenTypes.DIMENSION, TokenTypes.NUMBER];
-      case TokenTypes.BORDER_RADIUS:
-        return [TokenTypes.BORDER_RADIUS, TokenTypes.DIMENSION, TokenTypes.NUMBER];
-      case TokenTypes.BORDER_WIDTH:
-        return [TokenTypes.BORDER_WIDTH, TokenTypes.DIMENSION, TokenTypes.NUMBER];
-      case TokenTypes.LINE_HEIGHTS:
-        return [TokenTypes.LINE_HEIGHTS, TokenTypes.NUMBER, TokenTypes.DIMENSION];
-      case TokenTypes.FONT_SIZES:
-        return [TokenTypes.FONT_SIZES, TokenTypes.NUMBER, TokenTypes.DIMENSION];
-      case TokenTypes.PARAGRAPH_SPACING:
-        return [TokenTypes.PARAGRAPH_SPACING, TokenTypes.NUMBER, TokenTypes.DIMENSION];
-      case TokenTypes.PARAGRAPH_INDENT:
-        return [TokenTypes.PARAGRAPH_INDENT, TokenTypes.NUMBER, TokenTypes.DIMENSION];
-      case TokenTypes.LETTER_SPACING:
-        return [TokenTypes.LETTER_SPACING, TokenTypes.NUMBER, TokenTypes.DIMENSION];
-      default:
-        return [type];
-    }
-  }, [type]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html deleted file mode 100644 index 3d032660e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useStorageSizeWarning.tsx.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useStorageSizeWarning.tsx - - - - - - - - - -
-
-

All files / src/app/hooks useStorageSizeWarning.tsx

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { useCallback } from 'react';
-import { useDispatch } from 'react-redux';
-import { useTranslation, Trans } from 'react-i18next';
-import useConfirm from '@/app/hooks/useConfirm';
-import { Dispatch } from '@/app/store';
-import { Tabs } from '@/constants/Tabs';
- 
-export function useStorageSizeWarning() {
-  const { confirm } = useConfirm();
-  const { t } = useTranslation(['tokens']);
-  const dispatch = useDispatch<Dispatch>();
- 
-  return useCallback(async () => {
-    const description = (
-      <Trans
-        i18nKey="storageLimitWarning.description"
-        ns="tokens"
-        components={{
-          br: <br />,
-          // text coming from i18n
-          // eslint-disable-next-line jsx-a11y/control-has-associated-label, jsx-a11y/anchor-has-content
-          firstLink: <a style={{ textDecoration: 'underline', color: 'var(--colors-fgAccent)' }} href="https://docs.tokens.studio/token-storage/local/figma-data-limit" target="_blank" rel="noreferrer" />,
-        }}
-      />
-    );
- 
-    const confirmed = await confirm({
-      text: t('storageLimitWarning.title'),
-      description,
-      confirmAction: t('storageLimitWarning.switchToRemote'),
-    });
-    if (confirmed) {
-      dispatch.uiState.setActiveTab(Tabs.SETTINGS);
-    }
-  }, [confirm, t, dispatch]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html deleted file mode 100644 index 982e8b13e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/hooks/useTypeForProperty.ts.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/app/hooks/useTypeForProperty.ts - - - - - - - - - -
-
-

All files / src/app/hooks useTypeForProperty.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useMemo } from 'react';
-import { Properties } from '@/constants/Properties';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-export function useTypeForProperty(property: string): string {
-  return useMemo(() => {
-    switch (property) {
-      case Properties.width:
-      case Properties.height:
-        return TokenTypes.SIZING;
-      case Properties.itemSpacing:
-      case Properties.verticalPadding:
-      case Properties.horizontalPadding:
-      case Properties.paddingTop:
-      case Properties.paddingLeft:
-      case Properties.paddingBottom:
-      case Properties.paddingRight:
-        return TokenTypes.SPACING;
-      case Properties.borderRadiusTopLeft:
-      case Properties.borderRadiusTopRight:
-      case Properties.borderRadiusBottomLeft:
-      case Properties.borderRadiusBottomRight:
-        return TokenTypes.BORDER_RADIUS;
-      case Properties.borderColor:
-      case Properties.fill:
-        return TokenTypes.COLOR;
-      case Properties.borderWidthTop:
-      case Properties.borderWidthLeft:
-      case Properties.borderWidthRight:
-      case Properties.borderWidthBottom:
-        return TokenTypes.BORDER_WIDTH;
-      default:
-        return property;
-    }
-  }, [property]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/index.html deleted file mode 100644 index 396bc2d47..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app - - - - - - - - - -
-
-

All files src/app

-
- -
- 0% - Statements - 0/27 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/27 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/5100%0/0100%0/00%0/5
sentry.ts -
-
0%0/190%0/140%0/30%0/19
store.ts -
-
0%0/3100%0/00%0/10%0/3
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html deleted file mode 100644 index d28258c8b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/index.tsx.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/app/index.tsx - - - - - - - - - -
-
-

All files / src/app index.tsx

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import 'regenerator-runtime/runtime';
-import './assets/fonts/jetbrainsmono.css';
-import './styles/preflight.css';
-import '@/i18n';
-import * as asyncHandlers from './asyncMessageHandlers';
-import { startup } from './asyncMessageHandlers/startup';
-import { initializeAnalytics } from '../utils/analytics';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { initializeSentry } from './sentry';
- 
-initializeAnalytics();
-initializeSentry();
- 
-AsyncMessageChannel.ReactInstance.connect();
-AsyncMessageChannel.ReactInstance.handle(AsyncMessageTypes.GET_THEME_INFO, asyncHandlers.getThemeInfo);
- 
-startup();
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html deleted file mode 100644 index d9c34ddbb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/preview - - - - - - - - - -
-
-

All files src/app/preview

-
- -
- 0% - Statements - 0/127 -
- - -
- 0% - Branches - 0/101 -
- - -
- 0% - Functions - 0/29 -
- - -
- 0% - Lines - 0/124 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
preview.tsx -
-
0%0/730%0/630%0/180%0/72
previewUtils.ts -
-
0%0/240%0/240%0/20%0/24
usePreviewState.tsx -
-
0%0/300%0/140%0/90%0/28
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html deleted file mode 100644 index 8fde2d1b1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/preview.tsx.html +++ /dev/null @@ -1,1591 +0,0 @@ - - - - - - Code coverage report for src/app/preview/preview.tsx - - - - - - - - - -
-
-

All files / src/app/preview preview.tsx

-
- -
- 0% - Statements - 0/73 -
- - -
- 0% - Branches - 0/63 -
- - -
- 0% - Functions - 0/18 -
- - -
- 0% - Lines - 0/72 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  FormEvent,
-  ReactNode,
-  useCallback,
-  useEffect,
-  useState,
-} from 'react';
-import {
-  Box, Button, DropdownMenu, IconButton, Stack, Text,
-} from '@tokens-studio/ui';
-import { useDispatch, useSelector } from 'react-redux';
-import hash from 'object-hash';
-import { Code, Expand, Collapse } from 'iconoir-react';
- 
-import { Editor } from '@monaco-editor/react';
-import { CSS } from '@stitches/react';
-import { Dispatch } from '../store';
-import { AsyncMessageChannel } from '../../AsyncMessageChannel';
-import { AsyncMessageChannelPreview } from '../../AsyncMessageChannelPreview';
-import { AsyncMessageTypes, StartupMessage } from '@/types/AsyncMessages';
-import { SavedSettings } from '@/plugin/notifiers';
-import { UpdateMode } from '@/constants/UpdateMode';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import Modal from '../components/Modal';
- 
-import './preview.css';
-import { settingsStateSelector, uiStateSelector } from '@/selectors';
-import { Tabs } from '@/constants/Tabs';
-import { setFigmaBrowserTheme } from './previewUtils';
-import { useFigmaTheme } from '@/hooks/useFigmaTheme';
-import { usePreviewState } from './usePreviewState';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
- 
-// eslint-disable-next-line
-const PREVIEW_ENV = process.env.PREVIEW_ENV;
- 
-const mockUser = {
-  figmaId: 'figma:1234',
-  userId: 'uid:1234',
-  name: 'Jan Six',
-};
- 
-// @ts-ignore
-const mockSettings: SavedSettings = {
-  language: 'en',
-  width: 500,
-  height: 800,
-  ignoreFirstPartForStyles: false,
-  inspectDeep: false,
-  prefixStylesWithThemeName: false,
-  showEmptyGroups: true,
-  updateMode: UpdateMode.PAGE,
-  updateOnChange: false,
-  updateRemote: true,
-};
- 
-// const mockStartupParams: Omit<StartupMessage, 'licenseKey'> = {
-const mockStartupParams: Omit<StartupMessage, 'licenseKey'> = {
-  type: AsyncMessageTypes.STARTUP,
-  activeTheme: {},
-  lastOpened: Date.now(),
-  initialLoad: true,
-  usedEmail: null,
-  authData: null,
-  onboardingExplainer: {
-    sets: true,
-    exportSets: true,
-    inspect: true,
-    syncProviders: true,
-  },
-  localApiProviders: [],
-  settings: mockSettings,
-  storageType: {
-    provider: StorageProviderType.LOCAL,
-  },
-  user: mockUser,
-  localTokenData: {
-    activeTheme: '',
-    checkForChanges: true,
-    themes: [],
-    usedTokenSet: null,
-    updatedAt: new Date().toISOString(),
-    values: {},
-    collapsedTokenSets: null,
-    tokenFormat: TokenFormatOptions.Legacy,
-    version: '91',
-  },
-};
- 
-const mockActions = {
-  STARTUP: {
-    default: mockStartupParams,
-  },
-};
- 
-const dispatchMockMessage = (message) => {
-  const messageId = hash({
-    message,
-    datetime: Date.now(),
-  });
- 
-  const msg = { id: messageId, message };
-  window.postMessage({ pluginMessage: msg });
-};
- 
-const MockMessageForm = ({ type, handleClose }: { type?: string, handleClose: () => void }) => {
-  const [value, setValue] = useState({
-    STARTUP: JSON.stringify(mockStartupParams, null, 2),
-    DEFAULT: '',
-  }[type || 'DEFAULT'] || '');
-  const [error, setError] = useState('');
-  const handleJsonEditChange = useCallback((val) => {
-    try {
-      JSON.parse(val);
-      if (error) {
-        setError('');
-      }
-      setValue(val);
-    } catch (err) {
-      setError('Not valid JSON');
-    }
-  }, [setValue, error]);
-  const { isDarkTheme } = useFigmaTheme();
- 
-  const isValid = true;
- 
-  const checkAndSubmitMessage = useCallback((e: FormEvent<HTMLFormElement>) => {
-    e.preventDefault();
-    const message = JSON.parse(value);
-    dispatchMockMessage(message);
- 
-    handleClose();
-  }, [value, handleClose]);
- 
-  return (
-    <form onSubmit={checkAndSubmitMessage} style={{ display: 'flex', flexGrow: 1, height: '100%' }}>
-      <Stack
-        gap={3}
-        direction="column"
-        justify="start"
-        css={{
-          minHeight: '$8', position: 'relative', flexGrow: 1, height: '100%',
-        }}
-      >
-        <Text>WIP</Text>
-        <Box
-          css={{
-            display: 'flex',
-            flexDirection: 'column',
-            flexGrow: 1,
-            height: '100%',
-            position: 'relative',
-          }}
-        >
-          <Editor
-            language="json"
-            onChange={handleJsonEditChange}
-            value={value}
-            theme={isDarkTheme ? 'vs-dark' : 'vs-light'}
-            height={400}
-            options={{
-              minimap: {
-                enabled: false,
-              },
-              lineNumbers: 'off',
-              fontSize: 11,
-              wordWrap: 'on',
-              contextmenu: false,
-            }}
-          />
-        </Box>
-        <Box css={{ padding: '$3', paddingTop: '$2', paddingBottom: '$2' }}>
-          <Text css={{ opacity: error ? 1 : 0, color: '$dangerFg' }}>{error || '0'}</Text>
-        </Box>
-        <Stack direction="row" justify="end" gap={3}>
-          <Button variant="secondary" type="button" onClick={handleClose}>
-            Cancel
-          </Button>
-          <Button disabled={!isValid || !!error} variant="primary" type="submit">
-            Submit
-          </Button>
-        </Stack>
-      </Stack>
-    </form>
-  );
-};
- 
-const PreviewMockMessageModal = ({ type, handleClose }: { type: string | undefined, handleClose: () => void }) => (
-  <Modal
-    size="large"
-    isOpen
-    modal
-    close={handleClose}
-    title="Create Mock Action"
-    full
-  >
-    <MockMessageForm type={type} handleClose={handleClose} />
-  </Modal>
-);
- 
-const PreviewPluginWindow = ({
-  height = 600, width = '100%', children, css = {}, fullscreen, updateHash,
-}: { children: ReactNode, height?: number | string, width?: number | string, css: CSS | undefined, fullscreen?: boolean, updateHash: any }) => {
-  useEffect(() => {
-    AsyncMessageChannelPreview.ReactInstance.message({
-      type: AsyncMessageTypes.PREVIEW_REQUEST_STARTUP,
-    });
-  }, []);
-  const toggleFullscreen = useCallback(() => {
-    updateHash({ fullscreen: !fullscreen });
-  }, [fullscreen, updateHash]);
-  const { isDarkTheme } = useFigmaTheme();
- 
-  return (
-    <Stack direction="column" css={{ height, width, ...css }}>
-      <Stack
-        direction="row"
-        css={{
-          padding: '$2', paddingLeft: '$3', minHeight: '40px', background: '$bgSurface', borderBottom: '1px solid $bgSubtle',
-        }}
-        align="center"
-      >
-        <Stack
-          align="center"
-          justify="center"
-          css={{
-            height: '$7', width: '$7', marginRight: '-$3', marginLeft: '-$2',
-          }}
-        >
-          <Code style={{
-            background: 'black', color: 'white', borderRadius: 2, height: 20, width: 20, padding: 2,
-          }}
-          />
-        </Stack>
-        <Stack css={{ flex: 1 }}>
-          <Text css={{ paddingLeft: '$3', fontSize: '$small', fontWeight: '$sansSemibold' }}>Tokens Studio for Figma</Text>
-        </Stack>
-        <Stack align="center" justify="center" css={{ height: '$7', width: '$7' }}>
-          {fullscreen ? (
-            <IconButton
-              tooltip=""
-              data-testid="123"
-              icon={(
-                <Collapse style={{
-                  color: isDarkTheme ? 'white' : 'black', borderRadius: 2, height: 20, width: 20,
-                }}
-                />
-              )}
-              size="small"
-              variant="invisible"
-              onClick={toggleFullscreen}
-            />
-          ) : (
-            <IconButton
-              tooltip=""
-              data-testid="123"
-              icon={(
-                <Expand style={{
-                  color: isDarkTheme ? 'white' : 'black', borderRadius: 2, height: 20, width: 20,
-                }}
-                />
-              )}
-              size="small"
-              variant="invisible"
-              onClick={toggleFullscreen}
-            />
-          )}
-        </Stack>
-      </Stack>
-      <Box css={{
-        width,
-        height,
-      }}
-      >
-        {children}
-      </Box>
-    </Stack>
-  );
-};
- 
-const themes = {
-  light: 'Light',
-  dark: 'Dark',
-  system: 'System',
-};
- 
-function PreviewApp({ children }: { children: ReactNode }) {
-  const isConnected = (AsyncMessageChannel as typeof AsyncMessageChannelPreview).ReactInstance.isWsConnected;
-  const [mockMessageModalOpen, setMockMessageModalOpen] = useState('');
-  const dispatch = useDispatch<Dispatch>();
-  const settings = useSelector(settingsStateSelector);
-  const uiState = useSelector(uiStateSelector);
-  const {
-    data: {
-      tab, action, subAction, theme, fullscreen,
-    }, updateHash,
-  } = usePreviewState();
- 
-  useEffect(() => {
-    if (action) {
-      if (mockActions[action][subAction]) {
-        dispatchMockMessage(mockActions[action][subAction]);
-      } else if (mockActions[action]) {
-        dispatchMockMessage(mockActions[action]);
-      }
-    }
-    if (theme) {
-      setFigmaBrowserTheme(theme, updateHash);
-    }
-    if (tab) {
-      dispatch.uiState.setActiveTab(Tabs[tab]);
-    }
-  }, []);
- 
-  useEffect(() => {
-    if (uiState.activeTab && tab !== uiState.activeTab) {
-      updateHash({
-        tab: uiState.activeTab,
-      });
-    }
-  }, [uiState.activeTab, tab, updateHash]);
- 
-  const onThemeSelected = useCallback((type) => () => {
-    setFigmaBrowserTheme(type, updateHash);
-  }, [updateHash]);
-  const onActionSelected = React.useCallback(
-    (type: string) => () => {
-      if (type === 'CUSTOM') {
-        setMockMessageModalOpen(type);
-      } else {
-        const message = mockActions[type]?.type ? mockActions[type] : mockActions[type].default;
-        if (message) {
-          dispatchMockMessage(message);
-          updateHash({
-            action: mockActions[type]?.type ? type : `${type}.default`,
-          });
-        }
-      }
-    },
-    [updateHash],
-  );
- 
-  const handleCloseCustomModal = useCallback(() => {
-    setMockMessageModalOpen('');
-  }, []);
-  // const resetApp = useCallback(() => {
-  //   store.dispatch({ type: 'RESET_APP' });
-  // }, []);
- 
-  const previewHeader = (
-    <Stack
-      direction="row"
-      css={{
-        color: '$fgMuted',
-        backgroundColor: '$bgSurface',
-        padding: '$4',
-        borderRadius: '$medium',
-        marginBottom: '$7',
-        justifyContent: 'space-between',
-        alignItems: 'center',
-        gap: '$3',
-      }}
-    >
-      <Text css={{ fontSize: '$large' }}>Web Preview</Text>
-      <Stack css={{ flex: 1 }}><span /></Stack>
-      {mockMessageModalOpen && <PreviewMockMessageModal type={mockMessageModalOpen} handleClose={handleCloseCustomModal} />}
-      {/* <Button onClick={resetApp}>
-        RESET
-      </Button> */}
-      <DropdownMenu>
-        <DropdownMenu.Trigger asChild data-testid="add-storage-item-dropdown">
-          <Button asDropdown>
-            Theme
-          </Button>
-        </DropdownMenu.Trigger>
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content
-            side="bottom"
-            className="content scroll-container"
-          >
-            {
-            Object.keys(themes).map((type) => (
-              <DropdownMenu.Item
-                key={type}
-                onSelect={onThemeSelected(type)}
-                css={{ display: 'flex', gap: '$3' }}
-              >
-                {themes[type]}
-              </DropdownMenu.Item>
-            ))
-          }
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-      <DropdownMenu>
-        <DropdownMenu.Trigger asChild data-testid="add-storage-item-dropdown">
-          <Button asDropdown>
-            Mock Actions
-          </Button>
-        </DropdownMenu.Trigger>
-        <DropdownMenu.Portal>
-          <DropdownMenu.Content
-            side="bottom"
-            className="content scroll-container"
-          >
-            {
-            [{ type: 'STARTUP' }, { type: 'CUSTOM' }].map((mockAction) => (
-              <DropdownMenu.Item
-                key={mockAction.type}
-                onSelect={onActionSelected(mockAction.type)}
-                css={{ display: 'flex', gap: '$3' }}
-              >
-                {mockAction.type}
-              </DropdownMenu.Item>
-            ))
-          }
-          </DropdownMenu.Content>
-        </DropdownMenu.Portal>
-      </DropdownMenu>
-      <Stack
-        direction="row"
-        css={{
-          paddingTop: '$2',
-          paddingBottom: '$2',
-          paddingLeft: '$3',
-          paddingRight: '$3',
-          height: '$7',
-          alignItems: 'center',
-          border: `1px solid ${isConnected ? '$successFg' : '$dangerFg'}`,
-          backgroundColor: isConnected ? '$successBg' : '$dangerBg',
-          borderRadius: '$small',
-        }}
-      >
-        <Text css={{ fontSize: '$base', color: isConnected ? '$successFg' : '$dangerFg' }}>
-          {isConnected ? 'Connected' : 'Disconnected'}
-        </Text>
-      </Stack>
-    </Stack>
-  );
- 
-  return (
-    <Box css={{
-      justifyContent: 'center', alignItems: 'center', padding: '$7', backgroundColor: '$bgSubtle', height: '100vh',
-    }}
-    >
-      {PREVIEW_ENV === 'browser' ? (
-        <>
-          {previewHeader}
-          <PreviewPluginWindow
-            height={fullscreen ? '100%' : settings.uiWindow?.height}
-            width={fullscreen ? '100%' : settings.uiWindow?.width}
-            css={fullscreen ? {
-              height: '100%',
-              width: '100%',
-              position: 'fixed',
-              top: 0,
-              left: 0,
-            } : undefined}
-            fullscreen={fullscreen}
-            updateHash={updateHash}
-          >
-            {children}
-          </PreviewPluginWindow>
-        </>
-      ) : (
-        <>
-          {previewHeader}
-          {/* <Stack
-            css={{
-              color: '$fgMuted',
-              backgroundColor: '$bgSurface',
-              padding: '$4',
-              borderRadius: '$medium',
-              marginBottom: '$7',
-              justifyContent: 'space-between',
-              alignItems: 'center',
-              gap: '$3',
-            }}
-          >
-            <Stack direction="row">
-              <Label htmlFor="websocketconnect">WebSockets Server</Label>
-              <TextInput
-                autoFocus
-                value={websocketsServer} // eslint-disable-next-line
-                onChange={(e) => {
-                  setWebsocketsServer(e.target.value);
-                }}
-                type="text"
-                name="websocketconnect"
-                data-testid="websocket-connect"
-                required
-              />
-              <Button>Connect</Button>
-            </Stack>
-          </Stack> */}
-        </>
-      )}
-    </Box>
-  );
-}
- 
-export default PreviewApp;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html deleted file mode 100644 index a5d2a8787..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/previewUtils.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for src/app/preview/previewUtils.ts - - - - - - - - - -
-
-

All files / src/app/preview previewUtils.ts

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
const getPreferredColorScheme = () => {
-  if (window.matchMedia) {
-    if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
-      return 'dark';
-    }
-  }
-  return 'light';
-};
- 
-export const setFigmaBrowserTheme = (theme, updateHash) => {
-  const htmlClassList = document.documentElement?.classList || [];
-  const isDark = htmlClassList.contains('figma-dark');
- 
-  switch (theme) {
-    case 'light': {
-      if (isDark) {
-        htmlClassList.remove('figma-dark');
-      }
- 
-      break;
-    }
-    case 'dark': {
-      if (!isDark) {
-        htmlClassList.add('figma-dark');
-      }
- 
-      break;
-    }
-    case 'system': {
-      const systemTheme = getPreferredColorScheme();
-      if (systemTheme === 'dark' && !isDark) {
-        htmlClassList.add('figma-dark');
-      } else if (systemTheme === 'light' && isDark) {
-        htmlClassList.remove('figma-dark');
-      }
-      break;
-    }
-    default: {
-      break;
-    }
-  }
-  if (updateHash) {
-    updateHash({ theme });
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html deleted file mode 100644 index 60382b8a3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/preview/usePreviewState.tsx.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - Code coverage report for src/app/preview/usePreviewState.tsx - - - - - - - - - -
-
-

All files / src/app/preview usePreviewState.tsx

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  useCallback, useEffect, useState,
-} from 'react';
- 
-export const getHashParams = () => {
-  const params = new URLSearchParams(window.location.hash.slice(1));
-  const tab = params.get('tab') || '';
-  const [action, subAction] = params.get('action')?.split('.') || [];
-  const theme = params.get('theme') || 'system';
-  const fullscreen = Boolean(params.get('fullscreen'));
- 
-  return {
-    tab,
-    action,
-    subAction,
-    theme,
-    fullscreen,
-  };
-};
- 
-type State = {
-  tab: string,
-  action: string,
-  subAction: string,
-  theme: string,
-  fullscreen: boolean,
-};
- 
-export function usePreviewState() {
-  const [data, setData] = useState<State>(getHashParams());
- 
-  useEffect(() => {
-    const updateStateFromHash = () => {
-      const hashParams = getHashParams();
-      const statePatch = Object.keys(data).reduce((acc, id) => {
-        if (data[id] !== hashParams[id]) {
-          acc[id] = hashParams[id];
-        }
-        return acc;
-      }, {});
- 
-      if (Object.keys(statePatch).length > 0) {
-        setData((state) => ({ ...state, ...statePatch }));
-      }
-    };
- 
-    window.addEventListener('hashchange', updateStateFromHash);
- 
-    return () => window.removeEventListener('hashchange', updateStateFromHash);
-  }, [data]);
-  const updateHash = useCallback((hashData) => {
-    const urlParams = new URLSearchParams(window.location.hash.slice(1));
-    Object.keys(hashData).forEach((k) => {
-      let value = hashData[k];
-      if (k === 'fullscreen') {
-        value = hashData[k] ? 'true' : '';
-      }
-      urlParams.set(k, value);
-    });
-    window.location.hash = `#${urlParams.toString()}`;
-  }, []);
- 
-  return { data, updateHash };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html deleted file mode 100644 index 5b6528a07..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/sentry.ts.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - Code coverage report for src/app/sentry.ts - - - - - - - - - -
-
-

All files / src/app sentry.ts

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable no-bitwise */
-import * as Sentry from '@sentry/react';
-import * as pjs from '../../package.json';
- 
-const DSN = process.env.SENTRY_DSN;
- 
-// Bitwise operators are used to force conversion of  the string to a number
-const SAMPLING = ~~(process.env.SENTRY_SAMPLING!) || 0.1;
-const PROFILE_RATE = ~~(process.env.SENTRY_PROFILE_SAMPLING!) || 0.1;
-const REPLAY_RATE = ~~(process.env.SENTRY_REPLAY_SAMPLING!) || 0;
- 
-export const replay = new Sentry.Replay({
-  // Make sure we never leak any sensitive data
-  maskAllText: true,
-  blockAllMedia: true,
-});
- 
-export const setupReplay = () => {
-  setTimeout(() => {
-    try {
-      const client = Sentry.getCurrentHub().getClient();
- 
-      if (client) {
-        if (!client?.getIntegration(Sentry.Replay)) {
-          // @ts-ignore This should never be undefined after the check above
-          client.addIntegration(new Replay());
-        }
-      }
-    } catch (error) {
-      console.error('Error setting up Sentry Replay:', error);
-    }
-  }, 2000); // Delay by 2000 milliseconds (2 seconds) to make sure we load in UI properly, see https://github.com/tokens-studio/figma-plugin/issues/3073
-};
- 
-export const initializeSentry = () => {
-  switch (process.env.ENVIRONMENT) {
-    case 'alpha':
-    case 'beta':
-    case 'production':
-      Sentry.init({
-        dsn: DSN,
-        release: `figma-tokens@${pjs.version}`,
-        environment: process.env.ENVIRONMENT,
-        tracesSampleRate: SAMPLING,
-        // @ts-ignore Note: This gives an error. No clue why 🤷
-        profilesSampleRate: PROFILE_RATE,
-        replaysSessionSampleRate: REPLAY_RATE,
-        // We always want to replay errors
-        replaysOnErrorSampleRate: 1.0,
-        integrations: [],
-      });
-      Sentry.addTracingExtensions();
-      break;
-    default:
-      break;
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html deleted file mode 100644 index d8a35b84d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store.ts.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/app/store.ts - - - - - - - - - -
-
-

All files / src/app store.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { init, RematchDispatch } from '@rematch/core';
-import { RootModel } from '@/types/RootModel';
-import { models } from './store/models';
-import { middlewares } from './store/middlewares';
- 
-import type { UIState } from './store/models/uiState';
-import type { SettingsState } from './store/models/settings';
-import type { TokenState } from './store/models/tokenState';
-import { UserState } from './store/models/userState';
-import type { InspectState } from './store/models/inspectState';
-import type { BranchState } from './store/models/branchState';
-import { undoableEnhancer } from './enhancers/undoableEnhancer';
- 
-export const store = init({
-  models,
-  redux: {
-    devtoolOptions: {},
-    enhancers: [undoableEnhancer],
-    rootReducers: {
-      RESET_APP: () => undefined,
-    },
-    middlewares,
-  },
-});
- 
-(window as any).store = store;
-export type Store = typeof store;
-export type Dispatch = RematchDispatch<RootModel>;
-export type RootState = {
-  uiState: UIState;
-  settings: SettingsState;
-  tokenState: TokenState;
-  inspectState: InspectState;
-  userState: UserState;
-  branchState: BranchState;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html deleted file mode 100644 index fecf16175..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src/app/store - - - - - - - - - -
-
-

All files src/app/store

-
- -
- 0% - Statements - 0/611 -
- - -
- 0% - Branches - 0/331 -
- - -
- 0% - Functions - 0/101 -
- - -
- 0% - Lines - 0/590 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
remoteTokens.tsx -
-
0%0/2450%0/1390%0/150%0/242
updateSources.tsx -
-
0%0/380%0/240%0/40%0/36
useManageTokens.tsx -
-
0%0/860%0/370%0/160%0/85
useStorage.tsx -
-
0%0/60%0/30%0/20%0/6
useTokens.tsx -
-
0%0/2360%0/1280%0/640%0/221
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html deleted file mode 100644 index dcb8fb728..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/store/middlewares - - - - - - - - - -
-
-

All files src/app/store/middlewares

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/1100%0/0100%0/00%0/1
tokenState.ts -
-
0%0/90%0/40%0/30%0/7
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html deleted file mode 100644 index f26995850..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/app/store/middlewares/index.ts - - - - - - - - - -
-
-

All files / src/app/store/middlewares index.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { tokenStateMiddleware } from './tokenState';
- 
-export const middlewares = [tokenStateMiddleware];
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html deleted file mode 100644 index 78cc17b46..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/middlewares/tokenState.ts.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Code coverage report for src/app/store/middlewares/tokenState.ts - - - - - - - - - -
-
-

All files / src/app/store/middlewares tokenState.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageProviderType } from '@/constants/StorageProviderType';
-import { updateThemeGroupsInTokensStudio } from '@/storage/tokensStudio/updateThemeGroupsInTokensStudio';
- 
-const actionsToTriggerUpdateInTokensStudio = [
-  'tokenState/assignVariableIdsToCurrentTheme',
-  'tokenState/assignVariableIdsToTheme',
-  'tokenState/assignStyleIdsToCurrentTheme',
-  'tokenState/assignStyleIdsToTheme',
-  'tokenState/saveTheme',
-  'tokenState/deleteTheme',
-  'tokenState/updateThemeGroupName',
-  'tokenState/disconnectVariableFromTheme',
-  'tokenState/disconnectStyleFromTheme',
-];
- 
-export const tokenStateMiddleware = (store) => (next) => (action) => {
-  const prevState = store.getState();
-  next(action);
-  const nextState = store.getState();
- 
-  if (
-    nextState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO
-      && actionsToTriggerUpdateInTokensStudio.includes(action.type)
-  ) {
-    updateThemeGroupsInTokensStudio({
-      prevState,
-      rootState: nextState,
-      action,
-      dispatch: store.dispatch,
-    });
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html deleted file mode 100644 index 53c0bd46f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/branchState.tsx.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/branchState.tsx - - - - - - - - - -
-
-

All files / src/app/store/models branchState.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createModel } from '@rematch/core';
-import { RootModel } from '@/types/RootModel';
- 
-export interface BranchState {
-  branches: string[]
-}
- 
-export const branchState = createModel<RootModel>()({
-  state: {
-    branches: [],
-  } as BranchState,
-  reducers: {
-    setBranches: (state, data: string[]) => ({
-      ...state,
-      branches: data,
-    }),
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html deleted file mode 100644 index 7409fd63e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects - - - - - - - - - -
-
-

All files src/app/store/models/effects

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
updateCheckForChangesAtomic.ts -
-
0%0/1100%0/00%0/10%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html deleted file mode 100644 index 92b2683b5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState - - - - - - - - - -
-
-

All files src/app/store/models/effects/settingsState

-
- -
- 0% - Statements - 0/24 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/24 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
setCreateStylesWithVariableReferences.ts -
-
0%0/2100%0/00%0/20%0/2
setIgnoreFirstPartForStyles.ts -
-
0%0/2100%0/00%0/20%0/2
setPrefixStylesWithThemeName.ts -
-
0%0/2100%0/00%0/20%0/2
setRemoveStylesAndVariablesWithoutConnection.ts -
-
0%0/2100%0/00%0/20%0/2
setRenameExistingStylesAndVariables.ts -
-
0%0/2100%0/00%0/20%0/2
setStyleTypography.ts -
-
0%0/2100%0/00%0/20%0/2
setStylesColor.ts -
-
0%0/2100%0/00%0/20%0/2
setStylesEffect.ts -
-
0%0/2100%0/00%0/20%0/2
setVariablesBoolean.ts -
-
0%0/2100%0/00%0/20%0/2
setVariablesColor.ts -
-
0%0/2100%0/00%0/20%0/2
setVariablesNumber.ts -
-
0%0/2100%0/00%0/20%0/2
setVariablesString.ts -
-
0%0/2100%0/00%0/20%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html deleted file mode 100644 index 0e4a9b584..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/index.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/index.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './setPrefixStylesWithThemeName';
-export * from './setStyleTypography';
-export * from './setStylesColor';
-export * from './setStylesEffect';
-export * from './setVariablesBoolean';
-export * from './setVariablesColor';
-export * from './setVariablesNumber';
-export * from './setVariablesString';
-export * from './setCreateStylesWithVariableReferences';
-export * from './setIgnoreFirstPartForStyles';
-export * from './setRenameExistingStylesAndVariables';
-export * from './setRemoveStylesAndVariablesWithoutConnection';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html deleted file mode 100644 index b58414bad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setCreateStylesWithVariableReferences.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setCreateStylesWithVariableReferences() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html deleted file mode 100644 index fefabfc44..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setIgnoreFirstPartForStyles.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setIgnoreFirstPartForStyles() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html deleted file mode 100644 index de775e8df..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setPrefixStylesWithThemeName.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setPrefixStylesWithThemeName() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html deleted file mode 100644 index a3b17ddc8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setRemoveStylesAndVariablesWithoutConnection.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setRemoveStylesAndVariablesWithoutConnection() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html deleted file mode 100644 index aa139b412..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setRenameExistingStylesAndVariables.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setRenameExistingStylesAndVariables() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html deleted file mode 100644 index dbfe1ba88..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStyleTypography.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setStyleTypography.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setStyleTypography.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setStylesTypography() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html deleted file mode 100644 index 1fdcff114..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesColor.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setStylesColor.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setStylesColor.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setStylesColor() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html deleted file mode 100644 index e7d495e51..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setStylesEffect.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setStylesEffect.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setStylesEffect.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setStylesEffect() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html deleted file mode 100644 index 30aae588e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesBoolean.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setVariablesBoolean.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setVariablesBoolean.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setVariablesBoolean() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html deleted file mode 100644 index f810763f2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesColor.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setVariablesColor.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setVariablesColor.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setVariablesColor() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html deleted file mode 100644 index b3c931fc1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesNumber.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setVariablesNumber.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setVariablesNumber.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setVariablesNumber() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html deleted file mode 100644 index cfcfccbae..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/settingsState/setVariablesString.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/settingsState/setVariablesString.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/settingsState setVariablesString.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RootState } from '@/app/store';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function setVariablesString() {
-  return (payload: boolean, rootState: RootState): void => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_UI,
-      ...rootState.settings,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html deleted file mode 100644 index e2226d7ed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState assignStyleIdsToCurrentTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function assignStyleIdsToCurrentTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html deleted file mode 100644 index d15e04bf1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState assignStyleIdsToTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function assignStyleIdsToTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html deleted file mode 100644 index 54db74eab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState assignVariableIdsToTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function assignVariableIdsToTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html deleted file mode 100644 index 1c08e14f6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/deleteTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/deleteTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState deleteTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function deleteTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html deleted file mode 100644 index 737f5931d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState - - - - - - - - - -
-
-

All files src/app/store/models/effects/tokenState

-
- -
- 0% - Statements - 0/32 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/32 -
- - -
- 0% - Lines - 0/32 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
assignStyleIdsToCurrentTheme.ts -
-
0%0/2100%0/00%0/20%0/2
assignStyleIdsToTheme.ts -
-
0%0/2100%0/00%0/20%0/2
assignVariableIdsToTheme.ts -
-
0%0/2100%0/00%0/20%0/2
deleteTheme.ts -
-
0%0/2100%0/00%0/20%0/2
index.ts -
-
0%0/00%0/00%0/00%0/0
removeStyleIdsFromThemes.ts -
-
0%0/2100%0/00%0/20%0/2
removeStyleNamesFromThemes.ts -
-
0%0/2100%0/00%0/20%0/2
removeVariableNamesFromThemes.ts -
-
0%0/2100%0/00%0/20%0/2
renameStyleIdsToCurrentTheme.ts -
-
0%0/2100%0/00%0/20%0/2
renameStyleNamesToCurrentTheme.ts -
-
0%0/2100%0/00%0/20%0/2
renameVariableIdsToTheme.ts -
-
0%0/2100%0/00%0/20%0/2
renameVariableNamesToThemes.ts -
-
0%0/2100%0/00%0/20%0/2
saveTheme.ts -
-
0%0/2100%0/00%0/20%0/2
setActiveTheme.ts -
-
0%0/2100%0/00%0/20%0/2
setDefaultTokens.ts -
-
0%0/2100%0/00%0/20%0/2
setEmptyTokens.ts -
-
0%0/2100%0/00%0/20%0/2
updateThemeGroupName.ts -
-
0%0/2100%0/00%0/20%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html deleted file mode 100644 index 9e8f402fd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/index.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/index.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './saveTheme';
-export * from './setActiveTheme';
-export * from './setDefaultTokens';
-export * from './setEmptyTokens';
-export * from './assignStyleIdsToCurrentTheme';
-export * from './deleteTheme';
-export * from './assignStyleIdsToTheme';
-export * from './renameStyleIdsToCurrentTheme';
-export * from './removeStyleIdsFromThemes';
-export * from './renameStyleNamesToCurrentTheme';
-export * from './removeStyleNamesFromThemes';
-export * from './updateThemeGroupName';
-export * from './assignVariableIdsToTheme';
-export * from './renameVariableIdsToTheme';
-export * from './renameVariableNamesToThemes';
-export * from './removeVariableNamesFromThemes';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html deleted file mode 100644 index 2467fda19..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState removeStyleIdsFromThemes.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function removeStyleIdsFromThemes(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html deleted file mode 100644 index 2e0742294..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState removeStyleNamesFromThemes.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function removeStyleNamesFromThemes(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: false,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html deleted file mode 100644 index 040d66c71..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState removeVariableNamesFromThemes.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function removeVariableNamesFromThemes(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: false,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html deleted file mode 100644 index 9934ec03d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState renameStyleIdsToCurrentTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function renameStyleIdsToCurrentTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html deleted file mode 100644 index 5d6e770be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState renameStyleNamesToCurrentTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function renameStyleNamesToCurrentTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: false,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html deleted file mode 100644 index 9f31b1799..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState renameVariableIdsToTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function renameVariableIdsToTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html deleted file mode 100644 index c3212b679..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState renameVariableNamesToThemes.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function renameVariableNamesToThemes(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: false,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html deleted file mode 100644 index 766c13c9e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/saveTheme.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/saveTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState saveTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function saveTheme(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html deleted file mode 100644 index bfb6fe644..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setActiveTheme.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/setActiveTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState setActiveTheme.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function setActiveTheme(dispatch: RematchDispatch<RootModel>) {
-  return (payload: { themeId: string, shouldUpdateNodes?: boolean }): void => {
-    dispatch.tokenState.updateDocument({ updateRemote: false, shouldUpdateNodes: payload.shouldUpdateNodes });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html deleted file mode 100644 index 9d41c9d0c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setDefaultTokens.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/setDefaultTokens.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState setDefaultTokens.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import defaultJSON from '@/config/default.json';
-import type { RootModel } from '@/types/RootModel';
-import parseTokenValues from '@/utils/parseTokenValues';
-import { SetTokenDataPayload } from '@/types/payloads';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-export function setDefaultTokens(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.setTokenData({
-      values: parseTokenValues(defaultJSON as unknown as SetTokenDataPayload['values']),
-      themes: [],
-      activeTheme: {},
-      usedTokenSet: { core: TokenSetStatus.SOURCE, light: TokenSetStatus.ENABLED, theme: TokenSetStatus.ENABLED },
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html deleted file mode 100644 index cc60dc945..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/setEmptyTokens.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/setEmptyTokens.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState setEmptyTokens.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function setEmptyTokens(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.setTokenData({
-      values: [],
-      themes: [],
-      activeTheme: {},
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html deleted file mode 100644 index 01a505cff..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/tokenState/updateThemeGroupName.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/tokenState/updateThemeGroupName.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects/tokenState updateThemeGroupName.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import type { RematchDispatch } from '@rematch/core';
-import type { RootModel } from '@/types/RootModel';
- 
-export function updateThemeGroupName(dispatch: RematchDispatch<RootModel>) {
-  return (): void => {
-    dispatch.tokenState.updateDocument({
-      updateRemote: true,
-      shouldUpdateNodes: false,
-    });
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html deleted file mode 100644 index a3c612699..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/effects/updateCheckForChangesAtomic.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/effects/updateCheckForChangesAtomic.ts - - - - - - - - - -
-
-

All files / src/app/store/models/effects updateCheckForChangesAtomic.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export async function updateCheckForChangesAtomic(checkForChanges: boolean) {
-  await AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES,
-    checkForChanges,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html deleted file mode 100644 index e20c44a26..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for src/app/store/models - - - - - - - - - -
-
-

All files src/app/store/models

-
- -
- 0% - Statements - 0/425 -
- - -
- 0% - Branches - 0/186 -
- - -
- 0% - Functions - 0/211 -
- - -
- 0% - Lines - 0/413 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
branchState.tsx -
-
0%0/2100%0/00%0/10%0/2
index.tsx -
-
0%0/1100%0/0100%0/00%0/1
inspectState.tsx -
-
0%0/60%0/20%0/50%0/6
settings.tsx -
-
0%0/450%0/100%0/350%0/45
tokenState.tsx -
-
0%0/2880%0/1440%0/1070%0/276
uiState.tsx -
-
0%0/620%0/240%0/530%0/62
userState.ts -
-
0%0/210%0/60%0/100%0/21
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html deleted file mode 100644 index 32628db46..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/index.tsx.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/index.tsx - - - - - - - - - -
-
-

All files / src/app/store/models index.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { settings } from './settings';
-import { uiState } from './uiState';
-import { tokenState } from './tokenState';
-import { inspectState } from './inspectState';
-import { userState } from './userState';
-import { branchState } from './branchState';
-import { RootModel } from '@/types/RootModel';
- 
-export const models: RootModel = {
-  uiState,
-  settings,
-  tokenState,
-  inspectState,
-  userState,
-  branchState,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html deleted file mode 100644 index 1bc63b722..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/inspectState.tsx.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/inspectState.tsx - - - - - - - - - -
-
-

All files / src/app/store/models inspectState.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createModel } from '@rematch/core';
-import { RootModel } from '@/types/RootModel';
- 
-export interface InspectState {
-  selectedTokens: string[]
-  isShowBrokenReferences: boolean,
-  isShowResolvedReferences: boolean,
-}
- 
-export const inspectState = createModel<RootModel>()({
-  state: {
-    selectedTokens: [],
-    isShowBrokenReferences: true,
-    isShowResolvedReferences: true,
-  } as InspectState,
-  reducers: {
-    setSelectedTokens: (state, data: string[]) => ({
-      ...state,
-      selectedTokens: data,
-    }),
-    toggleSelectedTokens: (state, data: string) => ({
-      ...state,
-      selectedTokens: state.selectedTokens.includes(data)
-        ? state.selectedTokens.filter((token) => token !== data)
-        : [...state.selectedTokens, data],
-    }),
-    toggleShowBrokenReferences: (state, payload: boolean) => ({
-      ...state,
-      isShowBrokenReferences: payload,
-    }),
-    toggleShowResolvedReferences: (state, payload: boolean) => ({
-      ...state,
-      isShowResolvedReferences: payload,
-    }),
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html deleted file mode 100644 index 9d57d83f3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState - - - - - - - - - -
-
-

All files src/app/store/models/reducers/settingsState

-
- -
- 0% - Statements - 0/13 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
setCreateStylesWithVariableReferences.ts -
-
0%0/1100%0/00%0/10%0/1
setIgnoreFirstPartForStyles.ts -
-
0%0/1100%0/00%0/10%0/1
setPrefixStylesWithThemeName.ts -
-
0%0/1100%0/00%0/10%0/1
setRemoveStylesAndVariablesWithoutConnection.ts -
-
0%0/1100%0/00%0/10%0/1
setRenameExistingStylesAndVariables.ts -
-
0%0/1100%0/00%0/10%0/1
setShouldSwapStyles.tsx -
-
0%0/1100%0/00%0/10%0/1
setStylesColor.ts -
-
0%0/1100%0/00%0/10%0/1
setStylesEffect.ts -
-
0%0/1100%0/00%0/10%0/1
setStylesTypography.ts -
-
0%0/1100%0/00%0/10%0/1
setVariablesBoolean.ts -
-
0%0/1100%0/00%0/10%0/1
setVariablesColor.ts -
-
0%0/1100%0/00%0/10%0/1
setVariablesNumber.ts -
-
0%0/1100%0/00%0/10%0/1
setVariablesString.ts -
-
0%0/1100%0/00%0/10%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html deleted file mode 100644 index 63a603a05..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/index.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/index.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './setPrefixStylesWithThemeName';
-export * from './setShouldSwapStyles';
-export * from './setStylesColor';
-export * from './setStylesEffect';
-export * from './setStylesTypography';
-export * from './setVariablesBoolean';
-export * from './setVariablesColor';
-export * from './setVariablesNumber';
-export * from './setVariablesString';
-export * from './setCreateStylesWithVariableReferences';
-export * from './setIgnoreFirstPartForStyles';
-export * from './setRenameExistingStylesAndVariables';
-export * from './setRemoveStylesAndVariablesWithoutConnection';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html deleted file mode 100644 index 967f70977..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setCreateStylesWithVariableReferences.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setCreateStylesWithVariableReferences(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    createStylesWithVariableReferences: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html deleted file mode 100644 index 4ba6864fc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setIgnoreFirstPartForStyles.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setIgnoreFirstPartForStyles(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    ignoreFirstPartForStyles: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html deleted file mode 100644 index cf0219976..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setPrefixStylesWithThemeName.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setPrefixStylesWithThemeName(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    prefixStylesWithThemeName: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html deleted file mode 100644 index d47119ed7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setRemoveStylesAndVariablesWithoutConnection.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setRemoveStylesAndVariablesWithoutConnection(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    removeStylesAndVariablesWithoutConnection: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html deleted file mode 100644 index d97ce6209..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setRenameExistingStylesAndVariables.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setRenameExistingStylesAndVariables(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    renameExistingStylesAndVariables: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html deleted file mode 100644 index 2481699d3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setShouldSwapStyles.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setShouldSwapStyles(state: SettingsState, payload: boolean) {
-  return {
-    ...state,
-    shouldSwapStyles: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html deleted file mode 100644 index c42b5a230..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesColor.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setStylesColor.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setStylesColor.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setStylesColor(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    stylesColor: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html deleted file mode 100644 index 62e63d193..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesEffect.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setStylesEffect.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setStylesEffect.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setStylesEffect(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    stylesEffect: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html deleted file mode 100644 index 33a10a36a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setStylesTypography.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setStylesTypography.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setStylesTypography.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setStylesTypography(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    stylesTypography: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html deleted file mode 100644 index 4fe42d734..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesBoolean.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setVariablesBoolean.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setVariablesBoolean.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setVariablesBoolean(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    variablesBoolean: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html deleted file mode 100644 index 8887d63be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesColor.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setVariablesColor.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setVariablesColor.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setVariablesColor(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    variablesColor: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html deleted file mode 100644 index 71f706e72..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesNumber.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setVariablesNumber.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setVariablesNumber.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setVariablesNumber(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    variablesNumber: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html deleted file mode 100644 index 4275f6bb5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/settingsState/setVariablesString.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/settingsState/setVariablesString.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/settingsState setVariablesString.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { SettingsState } from '../../settings';
- 
-export function setVariablesString(state: SettingsState, payload: boolean): SettingsState {
-  return {
-    ...state,
-    variablesString: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html deleted file mode 100644 index 2730535a8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState assignStyleIdsToCurrentTheme.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
- 
-export function assignStyleIdsToCurrentTheme(state: TokenState, { styleIds, tokens, selectedThemes }: { styleIds: Record<string, string>, tokens: ResolveTokenValuesResult[], selectedThemes: string[] }): TokenState {
-  // ignore if there is no selectedThemes
-  if (selectedThemes.length < 1) return state;
- 
-  const updatedThemes = [...state.themes];
-  const activeThemes = state.themes.filter((theme) => selectedThemes.some((v) => v === theme.id)).reverse();
-  Object.entries(styleIds).forEach(([tokenName, styleId]) => {
-    // Find the activeTheme object which involved this token
-    const activeTheme = activeThemes.find((theme) => Object.entries(theme.selectedTokenSets).some(([tokenSet, status]) => status === TokenSetStatus.ENABLED
-        && tokenSet === tokens.find((t) => t.name === tokenName)?.internal__Parent));
-    const themeObjectIndex = state.themes.findIndex(({ id }) => activeTheme?.id === id);
-    if (themeObjectIndex !== -1) {
-      updatedThemes.splice(themeObjectIndex, 1, {
-        ...state.themes[themeObjectIndex],
-        $figmaStyleReferences: { ...updatedThemes[themeObjectIndex].$figmaStyleReferences, ...{ [tokenName]: styleId } },
-      });
-    }
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html deleted file mode 100644 index d20564886..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState assignStyleIdsToTheme.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isEqual } from '@/utils/isEqual';
-import type { TokenState } from '../../tokenState';
- 
-type Payload = {
-  id: string
-  styleIds: Record<string, string>
-};
- 
-export function assignStyleIdsToTheme(state: TokenState, data: Payload): TokenState {
-  // ignore if the theme does not exist for some reason
-  const themeObjectIndex = state.themes.findIndex(({ id }) => data.id === id);
-  if (
-    themeObjectIndex === -1
-    || isEqual(data.styleIds, state.themes[themeObjectIndex].$figmaStyleReferences)
-  ) return state;
- 
-  const updatedThemes = [...state.themes];
-  updatedThemes.splice(themeObjectIndex, 1, {
-    ...state.themes[themeObjectIndex],
-    $figmaStyleReferences: { ...state.themes[themeObjectIndex].$figmaStyleReferences, ...data.styleIds },
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html deleted file mode 100644 index 3aa4ef29c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState assignVariableIdsToTheme.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
-import { LocalVariableInfo } from '@/plugin/createLocalVariablesInPlugin';
- 
-export function assignVariableIdsToTheme(state: TokenState, variableIds: Record<string, LocalVariableInfo>): TokenState {
-  const updatedThemes = state.themes.map((theme) => (
-    {
-      ...theme,
-      ...(variableIds[theme.id] && {
-        $figmaCollectionId: variableIds[theme.id].collectionId,
-        $figmaModeId: variableIds[theme.id].modeId,
-        $figmaVariableReferences: variableIds[theme.id].variableIds,
-      }),
-    }
-  ));
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html deleted file mode 100644 index c298f1f0d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/deleteTheme.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/deleteTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState deleteTheme.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-export function deleteTheme(state: TokenState, themeId: string): TokenState {
-  const newActiveTheme = state.activeTheme;
-  Object.keys(newActiveTheme).forEach((group) => {
-    if (newActiveTheme[group] === themeId) {
-      delete newActiveTheme[group];
-    }
-  });
- 
-  return {
-    ...state,
-    themes: state.themes.filter((theme) => theme.id !== themeId),
-    activeTheme: newActiveTheme,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html deleted file mode 100644 index 6fa21888f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState disconnectStyleFromTheme.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-type Payload = {
-  id: string
-  key: string | string[]
-};
- 
-export function disconnectStyleFromTheme(state: TokenState, data: Payload): TokenState {
-  // ignore if the theme does not exist for some reason
-  const themeObjectIndex = state.themes.findIndex(({ id }) => data.id === id);
-  if (
-    themeObjectIndex === -1
-    || !state.themes[themeObjectIndex].$figmaStyleReferences
-    || (typeof data.key === 'string' && !(data.key in state.themes[themeObjectIndex].$figmaStyleReferences!))
-    || (Array.isArray(data.key) && !data.key.some((key) => (key in state.themes[themeObjectIndex].$figmaStyleReferences!)))
-  ) return state;
- 
-  const updatedThemes = [...state.themes];
-  const theme = state.themes[themeObjectIndex];
-  const updatedFigmaStyleReferences = { ...theme.$figmaStyleReferences };
-  if (typeof data.key === 'string') {
-    delete updatedFigmaStyleReferences[data.key];
-  } else {
-    data.key.forEach((key) => {
-      delete updatedFigmaStyleReferences[key];
-    });
-  }
-  updatedThemes.splice(themeObjectIndex, 1, {
-    ...state.themes[themeObjectIndex],
-    $figmaStyleReferences: { ...updatedFigmaStyleReferences },
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html deleted file mode 100644 index efff96eca..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState disconnectVariableFromTheme.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-type Payload = {
-  id: string
-  key: string | string[]
-};
- 
-export function disconnectVariableFromTheme(state: TokenState, data: Payload): TokenState {
-  const themeObjectIndex = state.themes.findIndex(({ id }) => data.id === id);
-  if (
-    themeObjectIndex === -1
-    || !state.themes[themeObjectIndex].$figmaVariableReferences
-  ) return state;
- 
-  const updatedThemes = [...state.themes];
-  const updatedFigmaVariableReferences = { ...(state.themes[themeObjectIndex].$figmaVariableReferences ?? {}) };
-  if (typeof data.key === 'string') {
-    delete updatedFigmaVariableReferences[data.key];
-  } else {
-    data.key.forEach((key) => {
-      delete updatedFigmaVariableReferences[key];
-    });
-  }
-  updatedThemes.splice(themeObjectIndex, 1, {
-    ...state.themes[themeObjectIndex],
-    $figmaVariableReferences: { ...updatedFigmaVariableReferences },
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html deleted file mode 100644 index 6c9154930..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.html +++ /dev/null @@ -1,461 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState - - - - - - - - - -
-
-

All files src/app/store/models/reducers/tokenState

-
- -
- 0% - Statements - 0/224 -
- - -
- 0% - Branches - 0/158 -
- - -
- 0% - Functions - 0/77 -
- - -
- 0% - Lines - 0/207 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
assignStyleIdsToCurrentTheme.ts -
-
0%0/160%0/60%0/80%0/10
assignStyleIdsToTheme.ts -
-
0%0/70%0/40%0/20%0/6
assignVariableIdsToTheme.ts -
-
0%0/30%0/20%0/20%0/3
deleteTheme.ts -
-
0%0/60%0/20%0/30%0/6
disconnectStyleFromTheme.ts -
-
0%0/140%0/100%0/40%0/13
disconnectVariableFromTheme.ts -
-
0%0/120%0/80%0/30%0/11
index.ts -
-
0%0/00%0/00%0/00%0/0
removeStyleIdsFromThemes.ts -
-
0%0/90%0/40%0/30%0/8
removeStyleNamesFromThemes.ts -
-
0%0/90%0/60%0/30%0/8
removeVariableNamesFromThemes.ts -
-
0%0/80%0/60%0/30%0/7
renameStyleIdsToCurrentTheme.ts -
-
0%0/130%0/60%0/40%0/13
renameStyleNamesToCurrentTheme.ts -
-
0%0/130%0/40%0/40%0/13
renameTokenSet.ts -
-
0%0/50%0/60%0/20%0/5
renameTokenSetFolder.ts -
-
0%0/50%0/80%0/20%0/5
renameVariableIdsToTheme.ts -
-
0%0/140%0/60%0/40%0/13
renameVariableNamesToThemes.ts -
-
0%0/120%0/40%0/40%0/12
saveTheme.ts -
-
0%0/200%0/180%0/40%0/19
setActiveTheme.ts -
-
0%0/120%0/60%0/70%0/10
setDefaultTokens.ts -
-
0%0/1100%0/00%0/10%0/1
setEmptyTokens.ts -
-
0%0/1100%0/00%0/10%0/1
setTokenData.ts -
-
0%0/200%0/320%0/60%0/19
toggleManyTokenSets.ts -
-
0%0/70%0/20%0/40%0/7
toggleUsedTokenSet.ts -
-
0%0/10%0/20%0/10%0/1
updateThemeGroupName.ts -
-
0%0/160%0/160%0/20%0/16
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html deleted file mode 100644 index 02fb24093..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/index.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/index.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './saveTheme';
-export * from './setActiveTheme';
-export * from './deleteTheme';
-export * from './setTokenData';
-export * from './setEmptyTokens';
-export * from './setDefaultTokens';
-export * from './assignStyleIdsToCurrentTheme';
-export * from './renameTokenSet';
-export * from './renameTokenSetFolder';
-export * from './toggleManyTokenSets';
-export * from './toggleUsedTokenSet';
-export * from './assignStyleIdsToTheme';
-export * from './disconnectStyleFromTheme';
-export * from './renameStyleIdsToCurrentTheme';
-export * from './removeStyleIdsFromThemes';
-export * from './renameStyleNamesToCurrentTheme';
-export * from './removeStyleNamesFromThemes';
-export * from './updateThemeGroupName';
-export * from './assignVariableIdsToTheme';
-export * from './disconnectVariableFromTheme';
-export * from './renameVariableIdsToTheme';
-export * from './renameVariableNamesToThemes';
-export * from './removeVariableNamesFromThemes';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html deleted file mode 100644 index 3d6e837be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState removeStyleIdsFromThemes.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-export function removeStyleIdsFromThemes(state: TokenState, styleIds: string[]): TokenState {
-  const updatedThemes = [...state.themes];
-  updatedThemes.forEach((theme) => {
-    const updatedTokens = theme.$figmaStyleReferences;
-    if (updatedTokens) {
-      Object.entries(updatedTokens).forEach(([key, styleId]) => {
-        if (styleIds.includes(styleId)) delete updatedTokens[key];
-      });
-    }
-    theme = {
-      ...theme,
-      $figmaStyleReferences: updatedTokens,
-    };
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html deleted file mode 100644 index 2158ba5bf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState removeStyleNamesFromThemes.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import type { TokenState } from '../../tokenState';
- 
-export function removeStyleNamesFromThemes(state: TokenState, name: string, parent: string): TokenState {
-  const updatedThemes = [...state.themes];
-  updatedThemes.forEach((theme) => {
-    const updatedTokens = { ...theme.$figmaStyleReferences };
-    if (theme.selectedTokenSets[parent] === TokenSetStatus.ENABLED && updatedTokens) {
-      Object.entries(updatedTokens).forEach(([key]) => {
-        if (name === key) delete updatedTokens[key];
-      });
-    }
-    theme = {
-      ...theme,
-      $figmaStyleReferences: updatedTokens,
-    };
-  });
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html deleted file mode 100644 index 37487f97f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState removeVariableNamesFromThemes.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import type { TokenState } from '../../tokenState';
- 
-export function removeVariableNamesFromThemes(state: TokenState, name: string, parent: string): TokenState {
-  const newThemes = state.themes.map((theme) => {
-    const updatedTokens = { ...theme.$figmaVariableReferences };
-    if (theme.selectedTokenSets[parent] === TokenSetStatus.ENABLED && updatedTokens) {
-      Object.entries(updatedTokens).forEach(([key]) => {
-        if (name === key) delete updatedTokens[key];
-      });
-    }
-    return {
-      ...theme,
-      $figmaVariableReferences: updatedTokens,
-    };
-  });
-  return {
-    ...state,
-    themes: newThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html deleted file mode 100644 index 1b644dc69..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState renameStyleIdsToCurrentTheme.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokensToRenamePayload } from '@/app/store/useTokens';
-import type { TokenState } from '../../tokenState';
- 
-export function renameStyleIdsToCurrentTheme(state: TokenState, styleIds: string[], tokensToRename: TokensToRenamePayload[]): TokenState {
-  const updatedThemes = [...state.themes];
-  const oldToNewNameMap = tokensToRename.reduce<Record<string, string>>((acc, curr) => {
-    acc[curr.oldName] = curr.newName;
-    return acc;
-  }, {});
-  updatedThemes.forEach((theme) => {
-    const updatedTokens = theme.$figmaStyleReferences;
-    if (updatedTokens) {
-      Object.entries(updatedTokens).forEach(([oldName, styleId]) => {
-        if (styleIds.includes(styleId) && oldToNewNameMap[oldName]) {
-          updatedTokens[oldToNewNameMap[oldName]] = updatedTokens[oldName];
-          delete updatedTokens[oldName];
-        }
-      });
-    }
-    theme = {
-      ...theme,
-      $figmaStyleReferences: updatedTokens,
-    };
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html deleted file mode 100644 index 0c7d70db0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState renameStyleNamesToCurrentTheme.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokensToRenamePayload } from '@/app/store/useTokens';
-import type { TokenState } from '../../tokenState';
- 
-export function renameStyleNamesToCurrentTheme(state: TokenState, tokensToRename: TokensToRenamePayload[]): TokenState {
-  const updatedThemes = [...state.themes];
-  const oldToNewNameMap = tokensToRename.reduce<Record<string, string>>((acc, curr) => {
-    acc[curr.oldName] = curr.newName;
-    return acc;
-  }, {});
-  updatedThemes.forEach((theme) => {
-    const updatedTokens = { ...theme.$figmaStyleReferences };
-    if (updatedTokens) {
-      Object.entries(updatedTokens).forEach(([key]) => {
-        if (oldToNewNameMap[key]) {
-          updatedTokens[oldToNewNameMap[key]] = updatedTokens[key];
-          delete updatedTokens[key];
-        }
-      });
-    }
-    theme = {
-      ...theme,
-      $figmaStyleReferences: updatedTokens,
-    };
-  });
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html deleted file mode 100644 index 39dae1b04..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSet.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/renameTokenSet.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState renameTokenSet.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { notifyToUI } from '@/plugin/notifiers';
-import type { TokenState } from '../../tokenState';
-import { updateTokenSetsInState } from '@/utils/tokenset/updateTokenSetsInState';
- 
-type Payload = {
-  oldName: string
-  newName: string
-};
- 
-export function renameTokenSet(state: TokenState, data: Payload): TokenState {
-  if (
-    Object.keys(state.tokens).includes(data.newName)
-    && data.oldName !== data.newName
-  ) {
-    notifyToUI('Token set already exists', { error: true });
-    return state;
-  }
- 
-  return updateTokenSetsInState(
-    state,
-    (setName, tokenSet) => (
-      setName === data.oldName
-        ? [data.newName, tokenSet]
-        : [setName, tokenSet]
-    ),
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html deleted file mode 100644 index fd712f2e9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState renameTokenSetFolder.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { notifyToUI } from '@/plugin/notifiers';
-import { updateTokenSetsInState } from '@/utils/tokenset/updateTokenSetsInState';
-import type { TokenState } from '../../tokenState';
- 
-type Payload = {
-  oldName: string
-  newName: string
-};
- 
-export function renameTokenSetFolder(state: TokenState, data: Payload): TokenState {
-  if (
-    Object.keys(state.tokens).includes(data.newName)
-    && data.oldName !== data.newName
-  ) {
-    notifyToUI('Folder name already exists', { error: true });
-    return state;
-  }
- 
-  return updateTokenSetsInState(
-    state,
-    (setName, tokenSet) => (
-      setName.indexOf(data.oldName) === 0 && setName[data.oldName.length] === '/'
-        ? [data.newName + setName.slice(data.oldName.length, setName.length), tokenSet]
-        : [setName, tokenSet]
-    ),
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html deleted file mode 100644 index 4f46ee83b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState renameVariableIdsToTheme.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-export type RenameVariableToken = {
-  oldName: string,
-  newName: string,
-  variableIds: string[]
-};
-export function renameVariableIdsToTheme(state: TokenState, variableTokens: RenameVariableToken[]): TokenState {
-  const updatedThemes = [...state.themes];
-  const variableTokenMap = new Map<string, RenameVariableToken>();
-  variableTokens.forEach((token) => variableTokenMap.set(token.oldName, token));
-  updatedThemes.forEach((theme) => {
-    const updatedTokens = theme.$figmaVariableReferences;
-    if (updatedTokens) {
-      Object.entries(updatedTokens).forEach(([key, variableId]) => {
-        const renameInfo = variableTokenMap.get(key);
-        if (renameInfo && renameInfo.variableIds.includes(variableId)) {
-          updatedTokens[renameInfo.newName] = updatedTokens[key];
-          delete updatedTokens[key];
-        }
-      });
-    }
-    theme = {
-      ...theme,
-      $figmaVariableReferences: updatedTokens,
-    };
-  });
- 
-  return {
-    ...state,
-    themes: updatedThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html deleted file mode 100644 index f0f33e4e5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState renameVariableNamesToThemes.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokensToRenamePayload } from '@/app/store/useTokens';
-import type { TokenState } from '../../tokenState';
- 
-export function renameVariableNamesToThemes(state: TokenState, tokensToRename: TokensToRenamePayload[]): TokenState {
-  const oldToNewNameMap = tokensToRename.reduce<Record<string, string>>((acc, curr) => {
-    acc[curr.oldName] = curr.newName;
-    return acc;
-  }, {});
-  const newThemes = state.themes.map((theme) => {
-    const updatedVariablesReferences = theme.$figmaVariableReferences;
-    if (updatedVariablesReferences) {
-      Object.entries(updatedVariablesReferences).forEach(([key]) => {
-        if (oldToNewNameMap[key]) {
-          updatedVariablesReferences[oldToNewNameMap[key]] = updatedVariablesReferences[key];
-          delete updatedVariablesReferences[key];
-        }
-      });
-    }
-    return {
-      ...theme,
-      $figmaVariableReferences: updatedVariablesReferences,
-    };
-  });
-  return {
-    ...state,
-    themes: newThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html deleted file mode 100644 index 0b89a7684..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/saveTheme.ts.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/saveTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState saveTheme.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import hash from 'object-hash';
-import omit from 'just-omit';
-import { ThemeObject } from '@/types';
-import type { TokenState } from '../../tokenState';
-import { setActiveTheme } from './setActiveTheme';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
- 
-type Payload = Omit<ThemeObject, 'id' | '$figmaStyleReferences'> & {
-  id?: string,
-  group?: string,
-  meta?: {
-    oldName?: string,
-    oldGroup?: string,
-  }
-};
- 
-export function saveTheme(state: TokenState, data: Payload): TokenState {
-  const isNewTheme = !data.id;
-  const themeId = data.id || hash([Date.now(), data]);
-  const isActiveTheme = Object.values(state.activeTheme).includes(themeId);
-  const selectedTokenSets = Object.fromEntries(
-    Object.entries(data.selectedTokenSets)
-      .filter(([, status]) => (status !== TokenSetStatus.DISABLED)),
-  );
-  const themeObjectIndex = state.themes.findIndex((theme) => theme.id === themeId);
-  const startIndex = themeObjectIndex > -1 ? themeObjectIndex : state.themes.length;
- 
-  const updatedThemes = [...state.themes];
-  updatedThemes.splice(startIndex, 1, {
-    ...omit(state.themes[themeObjectIndex], 'group'),
-    id: themeId,
-    name: data.name,
-    $figmaStyleReferences: state.themes[themeObjectIndex]?.$figmaStyleReferences ?? {},
-    selectedTokenSets,
-    ...(data?.group ? { group: data.group } : {}),
-  });
- 
-  const newActiveTheme = state.activeTheme;
-  if (!isActiveTheme) {
-    Object.keys(newActiveTheme).forEach((group) => {
-      if (newActiveTheme[group] === themeId) {
-        delete newActiveTheme[group];
-      }
-    });
-  } else {
-    newActiveTheme[data?.group ?? INTERNAL_THEMES_NO_GROUP] = themeId;
-  }
-  const nextState: TokenState = {
-    ...state,
-    themes: updatedThemes,
-  };
- 
-  if (isActiveTheme || isNewTheme) {
-    // @README if this theme is currently active or if it's a new theme
-    // we will also run the setActiveTheme reducer
-    // we don't want to update nodes or styles though.
-    return setActiveTheme(nextState, { newActiveTheme, shouldUpdateNodes: false });
-  }
- 
-  return nextState;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html deleted file mode 100644 index 21425e79f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setActiveTheme.ts.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/setActiveTheme.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState setActiveTheme.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import type { TokenState } from '../../tokenState';
- 
-// Needed to add a flag if all nodes should be updated, as otherwise all nodes are updated when we launch the plugin which we dont want to do. Feel free to refactor this.
-// This flag is only needed in the effects file, but we're declaring properties here
-export function setActiveTheme(state: TokenState, { newActiveTheme }: { newActiveTheme: Record<string, string>, shouldUpdateNodes?: boolean }): TokenState {
-  // Filter activeThemes
-  const activeThemeObjectList = state.themes.filter((theme) => Object.values(newActiveTheme).some((v) => v === theme.id));
-  // Store all activeTokenSets through all activeThemes
-  const selectedTokenSets: Record<string, TokenSetStatus> = {};
-  activeThemeObjectList.forEach((theme) => {
-    Object.entries(theme.selectedTokenSets).forEach(([tokenSet, status]) => {
-      if (status !== TokenSetStatus.DISABLED) {
-        selectedTokenSets[tokenSet] = status;
-      }
-    });
-  });
-  const usedTokenSetsMap = activeThemeObjectList.length > 0
-    ? Object.fromEntries(
-      Object.keys(state.tokens).map((tokenSet) => (
-        [tokenSet, selectedTokenSets?.[tokenSet] ?? TokenSetStatus.DISABLED]
-      )),
-    )
-    : Object.fromEntries(
-      Object.keys(state.tokens).map((tokenSet) => (
-        [tokenSet, TokenSetStatus.DISABLED]
-      )),
-    );
-  return {
-    ...state,
-    usedTokenSet: usedTokenSetsMap,
-    activeTheme: newActiveTheme,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html deleted file mode 100644 index 2e094088d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setDefaultTokens.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/setDefaultTokens.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState setDefaultTokens.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-export function setDefaultTokens(state: TokenState): TokenState {
-  return state;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html deleted file mode 100644 index 4c64f34b3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setEmptyTokens.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/setEmptyTokens.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState setEmptyTokens.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import type { TokenState } from '../../tokenState';
- 
-export function setEmptyTokens(state: TokenState): TokenState {
-  return state;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html deleted file mode 100644 index ada2f5113..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/setTokenData.ts.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/setTokenData.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState setTokenData.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/32 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import type { SetTokenDataPayload } from '@/types/payloads';
-import parseTokenValues from '@/utils/parseTokenValues';
-import type { TokenState } from '../../tokenState';
-import removeIdPropertyFromTokens from '@/utils/removeIdPropertyFromTokens';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { TokenStore } from '@/types/tokens';
-import { checkStorageSize } from '@/utils/checkStorageSize';
- 
-export function setTokenData(state: TokenState, payload: SetTokenDataPayload): TokenState {
-  if (payload.values.length === 0) {
-    return state;
-  }
-  let values;
-  if (!Array.isArray) {
-    values = payload.values as TokenStore['values'];
-  } else {
-    values = parseTokenValues(payload.values);
-  }
- 
-  const tokensSize = payload.values ? checkStorageSize(payload.values) : state.tokensSize;
-  const themesSize = payload.themes ? checkStorageSize(payload.themes) : state.themesSize;
- 
-  const allAvailableTokenSets = Object.keys(values);
-  const usedTokenSets = Object.fromEntries(
-    allAvailableTokenSets.map((tokenSet) => [tokenSet, payload.usedTokenSet?.[tokenSet] ?? TokenSetStatus.DISABLED]),
-  );
-  const newActiveTheme = payload.activeTheme;
-  Object.entries(newActiveTheme ?? {}).forEach(([group, activeTheme]) => {
-    if (!payload.themes?.find((t) => t.id === activeTheme) && newActiveTheme) {
-      delete newActiveTheme[group];
-    }
-  });
- 
-  const tokenValues = Array.isArray(payload.values) ? payload.values : removeIdPropertyFromTokens(payload.values);
- 
-  // When the remote data has changed, we will update the last synced state
-  const lastSyncedState = payload.hasChangedRemote ? JSON.stringify(compact([tokenValues, payload.themes, TokenFormat.format]), null, 2) : state.lastSyncedState;
- 
-  // @README (1) for the sake of normalization we will set the DISABLED status for all available token sets
-  // this way we can always be certain the status is available. This behavior is also reflected in the createTokenSet logic
-  return {
-    ...state,
-    lastSyncedState,
-    tokens: values,
-    themes: (payload.themes ?? []).map((theme) => ({
-      ...theme,
-      selectedTokenSets: Object.fromEntries(
-        Object.entries(theme.selectedTokenSets).filter(
-          ([setName, status]) => allAvailableTokenSets.includes(setName) && status !== TokenSetStatus.DISABLED,
-        ),
-      ),
-    })),
-    activeTheme: newActiveTheme ?? {},
-    ...(Object.keys(payload.values).includes(state.activeTokenSet)
-      ? {}
-      : {
-        activeTokenSet: Array.isArray(payload.values) ? 'global' : Object.keys(payload.values)[0],
-      }),
-    usedTokenSet: Array.isArray(payload.values) ? { global: TokenSetStatus.ENABLED } : usedTokenSets,
-    tokensSize,
-    themesSize,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html deleted file mode 100644 index 3cf3f9fef..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState toggleManyTokenSets.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { ToggleManyTokenSetsPayload } from '@/types/payloads';
-import type { TokenState } from '../../tokenState';
- 
-export function toggleManyTokenSets(state: TokenState, data: ToggleManyTokenSetsPayload): TokenState {
-  const oldSetsWithoutInput = Object.fromEntries(
-    Object.entries(state.usedTokenSet)
-      .filter(([tokenSet]) => !data.sets.includes(tokenSet)),
-  );
- 
-  if (data.shouldCheck) {
-    return {
-      ...state,
-      activeTheme: {},
-      usedTokenSet: {
-        ...oldSetsWithoutInput,
-        ...Object.fromEntries(data.sets.map((tokenSet) => ([tokenSet, TokenSetStatus.ENABLED]))),
-      },
-    };
-  }
- 
-  return {
-    ...state,
-    activeTheme: {},
-    usedTokenSet: {
-      ...oldSetsWithoutInput,
-      ...Object.fromEntries(data.sets.map((tokenSet) => ([tokenSet, TokenSetStatus.DISABLED]))),
-      // @README see comment (1) - ensure that all token sets are always available
-    },
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html deleted file mode 100644 index f25cf179d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState toggleUsedTokenSet.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import type { TokenState } from '../../tokenState';
- 
-export function toggleUsedTokenSet(state: TokenState, tokenSet: string): TokenState {
-  return {
-    ...state,
-    activeTheme: {},
-    usedTokenSet: {
-      ...state.usedTokenSet,
-      // @README it was decided the user can not simply toggle to the intermediate SOURCE state
-      // this means for toggling we only switch between ENABLED and DISABLED
-      // setting as source is a separate action
-      [tokenSet]: state.usedTokenSet[tokenSet] === TokenSetStatus.DISABLED
-        ? TokenSetStatus.ENABLED
-        : TokenSetStatus.DISABLED,
-    },
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html deleted file mode 100644 index d98eeb9e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/tokenState/updateThemeGroupName.ts.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/tokenState/updateThemeGroupName.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/tokenState updateThemeGroupName.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObjectsList } from '@/types';
-import type { TokenState } from '../../tokenState';
-import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
- 
-export function updateThemeGroupName(state: TokenState, oldGroupName: string, newGroupName: string): TokenState {
-  const updatedThemes: ThemeObjectsList = [];
-  state.themes.forEach((theme) => {
-    if (oldGroupName === INTERNAL_THEMES_NO_GROUP && !theme?.group) {
-      updatedThemes.push({
-        ...theme,
-        ...(newGroupName ? { group: newGroupName } : {}),
-      });
-    } else if (oldGroupName !== INTERNAL_THEMES_NO_GROUP && theme.group === oldGroupName) {
-      if (newGroupName) {
-        updatedThemes.push({
-          ...theme,
-          group: newGroupName,
-        });
-      } else {
-        delete theme.group;
-        updatedThemes.push(theme);
-      }
-    } else {
-      updatedThemes.push(theme);
-    }
-  });
- 
-  const newActiveTheme = state.activeTheme;
-  if (state.activeTheme?.[oldGroupName]) {
-    newActiveTheme[newGroupName || INTERNAL_THEMES_NO_GROUP] = newActiveTheme[oldGroupName];
-    delete newActiveTheme?.[oldGroupName];
-  }
-  const nextState: TokenState = {
-    ...state,
-    themes: updatedThemes,
-    activeTheme: newActiveTheme,
-  };
- 
-  return nextState;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html deleted file mode 100644 index bea09720a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/userState - - - - - - - - - -
-
-

All files src/app/store/models/reducers/userState

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
setLicenseStatus.ts -
-
0%0/1100%0/00%0/10%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html deleted file mode 100644 index a0069e239..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/userState/index.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/userState index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './setLicenseStatus';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html deleted file mode 100644 index f23cde174..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/reducers/userState/setLicenseStatus.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/reducers/userState/setLicenseStatus.ts - - - - - - - - - -
-
-

All files / src/app/store/models/reducers/userState setLicenseStatus.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import type { LicenseStatus } from '@/constants/LicenseStatus';
-import type { UserState } from '../../userState';
- 
-export function setLicenseStatus(state: UserState, payload: LicenseStatus): UserState {
-  return {
-    ...state,
-    licenseStatus: payload,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html deleted file mode 100644 index 4c130b00f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/settings.tsx.html +++ /dev/null @@ -1,937 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/settings.tsx - - - - - - - - - -
-
-

All files / src/app/store/models settings.tsx

-
- -
- 0% - Statements - 0/45 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/35 -
- - -
- 0% - Lines - 0/45 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable import/prefer-default-export */
-import { createModel } from '@rematch/core';
-import i18next from 'i18next';
-import { track } from '@/utils/analytics';
-import { RootModel } from '@/types/RootModel';
-import { UpdateMode } from '@/constants/UpdateMode';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import * as settingsStateReducers from './reducers/settingsState';
-import * as settingsStateEffects from './effects/settingsState';
-import { defaultBaseFontSize } from '@/constants/defaultBaseFontSize';
-import { setupReplay } from '@/app/sentry';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
- 
-type WindowSettingsType = {
-  width: number;
-  height: number;
-  isMinimized: boolean;
-};
- 
-type TokenModeType = 'object' | 'array';
- 
-export interface SettingsState {
-  language: string,
-  uiWindow?: WindowSettingsType;
-  updateMode: UpdateMode;
-  updateRemote: boolean;
-  updateOnChange?: boolean;
-  applyVariablesStylesOrRawValue?: ApplyVariablesStylesOrRawValues;
-  tokenType?: TokenModeType;
-  inspectDeep: boolean;
-  shouldSwapStyles: boolean;
-  shouldUpdateStyles: boolean;
-  baseFontSize: string;
-  aliasBaseFontSize: string;
-  /**
-   * Whether the user has opted in for session recording in Sentry
-  */
-  sessionRecording: boolean;
-  storeTokenIdInJsonEditor: boolean;
-  /*
-   * Export styles and variables options
-  */
-  variablesColor: boolean;
-  variablesString: boolean;
-  variablesNumber: boolean;
-  variablesBoolean: boolean;
-  stylesColor: boolean;
-  stylesTypography: boolean;
-  stylesEffect: boolean;
-  ignoreFirstPartForStyles?: boolean;
-  prefixStylesWithThemeName?: boolean;
-  createStylesWithVariableReferences?: boolean;
-  renameExistingStylesAndVariables?: boolean;
-  removeStylesAndVariablesWithoutConnection?: boolean;
-}
- 
-const setUI = (state: SettingsState) => {
-  AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.SET_UI,
-    ...state,
-  });
-};
- 
-export const settings = createModel<RootModel>()({
-  state: {
-    uiWindow: {
-      width: 400,
-      height: 600,
-      isMinimized: false,
-    },
-    language: 'en',
-    sessionRecording: false,
-    updateMode: UpdateMode.SELECTION,
-    updateRemote: true,
-    updateOnChange: false,
-    applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues.VARIABLES_STYLES,
-    tokenType: 'object',
-    ignoreFirstPartForStyles: false,
-    prefixStylesWithThemeName: false,
-    renameExistingStylesAndVariables: false,
-    removeStylesAndVariablesWithoutConnection: false,
-    createStylesWithVariableReferences: false,
-    inspectDeep: false,
-    shouldSwapStyles: false,
-    shouldUpdateStyles: false,
-    baseFontSize: defaultBaseFontSize,
-    aliasBaseFontSize: defaultBaseFontSize,
-    storeTokenIdInJsonEditor: false,
-    variablesColor: true,
-    variablesString: true,
-    variablesNumber: true,
-    variablesBoolean: true,
-    stylesColor: true,
-    stylesTypography: true,
-    stylesEffect: true,
-  } as SettingsState,
-  reducers: {
-    ...settingsStateReducers,
-    setSessionRecording(state, payload: boolean) {
-      if (payload) {
-        // Setup the session recording if it's not already setup
-        setupReplay();
-      }
- 
-      return {
-        ...state,
-        sessionRecording: payload,
-      };
-    },
-    setInspectDeep(state, payload: boolean) {
-      return {
-        ...state,
-        inspectDeep: payload,
-      };
-    },
-    setLanguage(state, payload: string) {
-      return {
-        ...state,
-        language: payload,
-      };
-    },
-    setWindowSize(state, payload: { width: number; height: number }) {
-      return {
-        ...state,
-        uiWindow: {
-          isMinimized: state.uiWindow?.isMinimized ?? false,
-          width: payload.width,
-          height: payload.height,
-        },
-      };
-    },
-    setMinimizePluginWindow(state, payload: { isMinimized: boolean; width: number; height: number }) {
-      track('Minimized plugin');
-      return {
-        ...state,
-        uiWindow: {
-          width: payload.width,
-          height: payload.height,
-          isMinimized: payload.isMinimized,
-        },
-      };
-    },
-    setUISettings(state, payload: SettingsState) {
-      // track ui setting to see usage
-      track('ignoreFirstPart', { isSet: payload.ignoreFirstPartForStyles });
- 
-      if (payload.sessionRecording) {
-        // Setup the initial session recording
-        setupReplay();
-      }
- 
-      return {
-        ...state,
-        ...payload,
-      };
-    },
-    setBaseFontSize(state, payload: string) {
-      return {
-        ...state,
-        baseFontSize: payload,
-      };
-    },
-    setAliasBaseFontSize(state, payload: string) {
-      return {
-        ...state,
-        aliasBaseFontSize: payload,
-      };
-    },
-    triggerWindowChange(state) {
-      setUI(state);
-      return state;
-    },
-    setUpdateMode(state, payload: UpdateMode) {
-      return {
-        ...state,
-        updateMode: payload,
-      };
-    },
-    setUpdateRemote(state, payload: boolean) {
-      return {
-        ...state,
-        updateRemote: payload,
-      };
-    },
-    setUpdateOnChange(state, payload: boolean) {
-      return {
-        ...state,
-        updateOnChange: payload,
-      };
-    },
-    setApplyVariablesStyleOrRawValue(state, payload: ApplyVariablesStylesOrRawValues) {
-      return {
-        ...state,
-        applyVariablesStylesOrRawValue: payload,
-      };
-    },
-    setShouldSwapStyles(state, payload: boolean) {
-      return {
-        ...state,
-        shouldSwapStyles: payload,
-      };
-    },
-    setShouldUpdateStyles(state, payload: boolean) {
-      return {
-        ...state,
-        shouldUpdateStyles: payload,
-      };
-    },
-    setTokenType(state, payload: TokenModeType) {
-      return {
-        ...state,
-        tokenType: payload,
-      };
-    },
-    setStoreTokenIdInJsonEditorSelector(state, payload: boolean) {
-      return {
-        ...state,
-        storeTokenIdInJsonEditor: payload,
-      };
-    },
-  },
-  effects: () => ({
-    setLanguage: (payload: string, rootState) => {
-      i18next.changeLanguage(payload);
-      setUI(rootState.settings);
-    },
-    setWindowSize: (payload) => {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.RESIZE_WINDOW,
-        width: payload.width,
-        height: payload.height,
-      });
-    },
-    setMinimizePluginWindow: (payload) => {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.RESIZE_WINDOW,
-        width: payload.isMinimized ? 50 : payload.width,
-        height: payload.isMinimized ? 50 : payload.height,
-      });
-    },
-    setShouldSwapStyles: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setShouldUpdateStyles: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setUpdateMode: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setUpdateRemote: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setUpdateOnChange: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setApplyVariablesStyleOrRawValue: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setInspectDeep: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setUISettings: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setSessionRecording: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setBaseFontSize: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setAliasBaseFontSize: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    setStoreTokenIdInJsonEditorSelector: (payload, rootState) => {
-      setUI(rootState.settings);
-    },
-    ...Object.fromEntries(
-      (Object.entries(settingsStateEffects).map(([key, factory]) => (
-        [key, factory()]
-      ))),
-    ),
-  }),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html deleted file mode 100644 index 5d12053c1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/tokenState.tsx.html +++ /dev/null @@ -1,2983 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/tokenState.tsx - - - - - - - - - -
-
-

All files / src/app/store/models tokenState.tsx

-
- -
- 0% - Statements - 0/288 -
- - -
- 0% - Branches - 0/144 -
- - -
- 0% - Functions - 0/107 -
- - -
- 0% - Lines - 0/276 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 -566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -727 -728 -729 -730 -731 -732 -733 -734 -735 -736 -737 -738 -739 -740 -741 -742 -743 -744 -745 -746 -747 -748 -749 -750 -751 -752 -753 -754 -755 -756 -757 -758 -759 -760 -761 -762 -763 -764 -765 -766 -767 -768 -769 -770 -771 -772 -773 -774 -775 -776 -777 -778 -779 -780 -781 -782 -783 -784 -785 -786 -787 -788 -789 -790 -791 -792 -793 -794 -795 -796 -797 -798 -799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809 -810 -811 -812 -813 -814 -815 -816 -817 -818 -819 -820 -821 -822 -823 -824 -825 -826 -827 -828 -829 -830 -831 -832 -833 -834 -835 -836 -837 -838 -839 -840 -841 -842 -843 -844 -845 -846 -847 -848 -849 -850 -851 -852 -853 -854 -855 -856 -857 -858 -859 -860 -861 -862 -863 -864 -865 -866 -867 -868 -869 -870 -871 -872 -873 -874 -875 -876 -877 -878 -879 -880 -881 -882 -883 -884 -885 -886 -887 -888 -889 -890 -891 -892 -893 -894 -895 -896 -897 -898 -899 -900 -901 -902 -903 -904 -905 -906 -907 -908 -909 -910 -911 -912 -913 -914 -915 -916 -917 -918 -919 -920 -921 -922 -923 -924 -925 -926 -927 -928 -929 -930 -931 -932 -933 -934 -935 -936 -937 -938 -939 -940 -941 -942 -943 -944 -945 -946 -947 -948 -949 -950 -951 -952 -953 -954 -955 -956 -957 -958 -959 -960 -961 -962 -963 -964 -965 -966 -967  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable import/prefer-default-export */
-import { compressToUTF16 } from 'lz-string';
-import omit from 'just-omit';
-import { createModel } from '@rematch/core';
-import extend from 'just-extend';
-import { v4 as uuidv4 } from 'uuid';
-import * as tokenStateReducers from './reducers/tokenState';
-import * as tokenStateEffects from './effects/tokenState';
-import parseTokenValues from '@/utils/parseTokenValues';
-import { notifyToUI } from '@/plugin/notifiers';
-import parseJson from '@/utils/parseJson';
-import { TokenData } from '@/types/SecondScreen';
-import updateTokensOnSources from '../updateSources';
-import {
-  AnyTokenList, ImportToken, SingleToken, TokenStore, TokenToRename,
-} from '@/types/tokens';
-import { updateCheckForChangesAtomic } from './effects/updateCheckForChangesAtomic';
-import {
-  DeleteTokenPayload,
-  SetTokenDataPayload,
-  SetTokensFromStylesPayload,
-  UpdateDocumentPayload,
-  UpdateTokenPayload,
-  RenameTokenGroupPayload,
-  DuplicateTokenGroupPayload,
-  DuplicateTokenPayload,
-  DeleteTokenGroupPayload,
-  StyleToCreateToken,
-  VariableToCreateToken,
-  SetTokensFromVariablesPayload,
-} from '@/types/payloads';
-import { updateTokenPayloadToSingleToken } from '@/utils/updateTokenPayloadToSingleToken';
-import { RootModel } from '@/types/RootModel';
-import { ThemeObjectsList, UsedTokenSetsMap } from '@/types';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { isEqual } from '@/utils/isEqual';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { updateTokenSetsInState } from '@/utils/tokenset/updateTokenSetsInState';
-import { TokenTypes } from '@/constants/TokenTypes';
-import tokenTypes from '@/config/tokenType.defs.json';
-import { CompareStateType, findDifferentState } from '@/utils/findDifferentState';
-import { RenameTokensAcrossSetsPayload } from '@/types/payloads/RenameTokensAcrossSets';
-import { wrapTransaction } from '@/profiling/transaction';
-import addIdPropertyToTokens from '@/utils/addIdPropertyToTokens';
-import { TokenFormat, TokenFormatOptions, setFormat } from '@/plugin/TokenFormatStoreClass';
-import { pushToTokensStudio } from '../providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import {
-  createTokenInTokensStudio,
-  duplicateTokenInTokensStudio,
-  createTokenSetInTokensStudio,
-  updateTokenSetInTokensStudio,
-} from '@/storage/tokensStudio';
-import { deleteTokenSetFromTokensStudio } from '@/storage/tokensStudio/deleteTokenSetFromTokensStudio';
-import { updateAliasesInState } from '../utils/updateAliasesInState';
-import { CreateSingleTokenData, EditSingleTokenData } from '../useManageTokens';
-import { singleTokensToRawTokenSet } from '@/utils/convert';
-import { checkStorageSize } from '@/utils/checkStorageSize';
- 
-export interface TokenState {
-  tokens: Record<string, AnyTokenList>;
-  stringTokens: string;
-  themes: ThemeObjectsList;
-  lastSyncedState: string; // @README for reference, at this time this is a JSON stringified representation of the tokens and themes ([tokens, themes])
-  importedTokens: {
-    newTokens: ImportToken[];
-    updatedTokens: ImportToken[];
-  };
-  activeTheme: Record<string, string>;
-  activeTokenSet: string;
-  usedTokenSet: UsedTokenSetsMap;
-  editProhibited: boolean;
-  hasUnsavedChanges: boolean;
-  collapsedTokenSets: string[];
-  collapsedTokenTypeObj: Record<TokenTypes, boolean>;
-  checkForChanges: boolean;
-  collapsedTokens: string[];
-  changedState: CompareStateType;
-  remoteData: CompareStateType;
-  tokenFormat: TokenFormatOptions;
-  tokenSetMetadata: Record<string, { isDynamic?: boolean }>;
-  importedThemes: {
-    newThemes: ThemeObjectsList;
-    updatedThemes: ThemeObjectsList;
-  };
-  compressedTokens: string;
-  compressedThemes: string;
-  tokensSize: number;
-  themesSize: number;
-}
- 
-export const tokenState = createModel<RootModel>()({
-  state: {
-    tokens: {
-      global: [],
-    },
-    stringTokens: '',
-    themes: [],
-    lastSyncedState: JSON.stringify([{ global: [] }, []], null, 2),
-    importedTokens: {
-      newTokens: [],
-      updatedTokens: [],
-    },
-    activeTheme: {},
-    activeTokenSet: 'global',
-    usedTokenSet: {
-      global: TokenSetStatus.ENABLED,
-    },
-    editProhibited: false,
-    hasUnsavedChanges: false,
-    collapsedTokenSets: [],
-    collapsedTokenTypeObj: Object.keys(tokenTypes).reduce<Partial<Record<TokenTypes, boolean>>>((acc, tokenType) => {
-      acc[tokenType as TokenTypes] = false;
-      return acc;
-    }, {}),
-    checkForChanges: false,
-    collapsedTokens: [],
-    changedState: {},
-    remoteData: {
-      tokens: {},
-      themes: [],
-      metadata: null,
-    },
-    tokenFormat: TokenFormatOptions.Legacy,
-    tokenSetMetadata: {},
-    importedThemes: {
-      newThemes: [],
-      updatedThemes: [],
-    },
-    compressedTokens: '',
-    compressedThemes: '',
-    tokensSize: 0,
-    themesSize: 0,
-  } as unknown as TokenState,
-  reducers: {
-    setTokensSize: (state, size: number) => ({
-      ...state,
-      tokensSize: size,
-    }),
-    setThemesSize: (state, size: number) => ({
-      ...state,
-      themesSize: size,
-    }),
-    setStringTokens: (state, payload: string) => ({
-      ...state,
-      stringTokens: payload,
-    }),
-    setEditProhibited(state, payload: boolean) {
-      return {
-        ...state,
-        editProhibited: payload,
-      };
-    },
-    toggleTreatAsSource: (state, tokenSet: string) => ({
-      ...state,
-      usedTokenSet: {
-        ...state.usedTokenSet,
-        [tokenSet]:
-          state.usedTokenSet[tokenSet] === TokenSetStatus.SOURCE ? TokenSetStatus.DISABLED : TokenSetStatus.SOURCE,
-      },
-    }),
-    setActiveTokenSet: (state, data: string) => ({
-      ...state,
-      activeTokenSet: data,
-    }),
-    setUsedTokenSet: (state, data: UsedTokenSetsMap) => ({
-      ...state,
-      usedTokenSet: data,
-    }),
-    setThemes: (state, data: ThemeObjectsList) => ({
-      ...state,
-      themes: [...data],
-    }),
-    setNewTokenData: (state, data: TokenData['synced_data']) => ({
-      ...state,
-      usedTokenSet: data.usedTokenSets || state.usedTokenSet,
-      themes: data.themes || state.themes,
-      activeTheme: data.activeTheme || state.activeTheme,
-      tokens: addIdPropertyToTokens(data.sets ?? {}) || addIdPropertyToTokens(state.tokens),
-    }),
-    addTokenSet: (state, name: string): TokenState => {
-      if (name in state.tokens) {
-        notifyToUI('Token set already exists', { error: true });
-        return state;
-      }
- 
-      return updateTokenSetsInState(state, null, [name]);
-    },
-    duplicateTokenSet: (state, newName: string, oldName: string): TokenState => {
-      if (!(oldName in state.tokens)) {
-        notifyToUI('Token set does not exist', { error: true });
-        return state;
-      }
-      const indexOf = Object.keys(state.tokens).indexOf(oldName);
-      return updateTokenSetsInState(state, null, [
-        newName,
-        state.tokens[oldName].map((token) => extend(true, {}, token) as typeof token),
-        indexOf + 1,
-      ]);
-    },
-    deleteTokenSet: (state, name: string) => updateTokenSetsInState(state, (setName, tokenSet) => (setName === name ? null : [setName, tokenSet])),
-    setLastSyncedState: (state, data: string) => ({
-      ...state,
-      lastSyncedState: data,
-    }),
-    setTokenSetOrder: (state, data: string[]) => {
-      const newTokens = {};
-      data.forEach((set) => {
-        Object.assign(newTokens, { [set]: state.tokens[set] });
-      });
-      return {
-        ...state,
-        tokens: newTokens,
-      };
-    },
-    setTokenSetMetadata: (state, data: TokenState['tokenSetMetadata']) => ({
-      ...state,
-      tokenSetMetadata: data,
-    }),
-    resetImportedTokens: (state) => ({
-      ...state,
-      importedTokens: {
-        newTokens: [],
-        updatedTokens: [],
-      },
-    }),
-    setJSONData(state, payload) {
-      const parsedTokens = parseJson(payload);
-      parseTokenValues(parsedTokens);
-      const values = parseTokenValues({ [state.activeTokenSet]: parsedTokens });
-      return {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          ...addIdPropertyToTokens(values),
-        },
-      };
-    },
-    setHasUnsavedChanges(state, payload: boolean) {
-      return {
-        ...state,
-        hasUnsavedChanges: payload,
-      };
-    },
-    setTokens: (state, newTokens: Record<string, AnyTokenList>) => ({
-      ...state,
-      tokens: addIdPropertyToTokens(newTokens),
-    }),
-    createToken: (state, data: UpdateTokenPayload) => {
-      let newTokens: TokenStore['values'] = {};
- 
-      const existingToken = state.tokens[data.parent].find((n) => n.name === data.name);
-      if (!existingToken) {
-        newTokens = {
-          [data.parent]: [...state.tokens[data.parent], updateTokenPayloadToSingleToken(data, uuidv4())],
-        };
-      }
- 
-      return {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          ...newTokens,
-        },
-      };
-    },
-    createMultipleTokens: (state, data: CreateSingleTokenData[]) => {
-      // This is a deep clone of the tokens so that we force an update in the UI even if just the value changes
-      const newTokens: TokenStore['values'] = JSON.parse(JSON.stringify(state.tokens));
-      data.forEach((token) => {
-        if (!newTokens[token.parent]) {
-          newTokens[token.parent] = [];
-        }
-        const existingTokenIndex = newTokens[token.parent].findIndex((n) => n.name === token.name);
-        if (existingTokenIndex === -1) {
-          newTokens[token.parent].push(updateTokenPayloadToSingleToken(token as UpdateTokenPayload, uuidv4()));
-        }
-      });
- 
-      return {
-        ...state,
-        tokens: newTokens,
-      };
-    },
-    editMultipleTokens: (state, data: EditSingleTokenData[]) => {
-      // This is a deep clone of the tokens so that we force an update in the UI even if just the value changes
-      const newTokens: TokenStore['values'] = JSON.parse(JSON.stringify(state.tokens));
-      data.forEach((token) => {
-        const existingTokenIndex = newTokens[token.parent].findIndex((n) => n.name === token.name);
-        if (existingTokenIndex > -1) {
-          newTokens[token.parent] = [
-            ...newTokens[token.parent].slice(0, existingTokenIndex),
-            updateTokenPayloadToSingleToken(token as UpdateTokenPayload, uuidv4()),
-            ...newTokens[token.parent].slice(existingTokenIndex + 1),
-          ];
-        }
-      });
- 
-      return {
-        ...state,
-        tokens: newTokens,
-      };
-    },
-    duplicateToken: (state, data: DuplicateTokenPayload) => {
-      const newTokens: TokenStore['values'] = {};
-      Object.keys(state.tokens).forEach((tokenSet) => {
-        if (tokenSet === data.parent) {
-          const existingTokenIndex = state.tokens[tokenSet].findIndex((n) => n.name === data?.oldName);
-          if (existingTokenIndex > -1) {
-            const existingTokens = [...state.tokens[tokenSet]];
-            existingTokens.splice(existingTokenIndex + 1, 0, {
-              ...omit(state.tokens[tokenSet][existingTokenIndex], 'description', '$extensions'),
-              ...updateTokenPayloadToSingleToken(
-                {
-                  parent: data.parent,
-                  name: data.newName,
-                  type: data.type,
-                  value: data.value,
-                  description: data.description,
-                  oldName: data.oldName,
-                  $extensions: data.$extensions,
-                } as UpdateTokenPayload,
-                uuidv4(),
-              ),
-            } as SingleToken);
-            newTokens[tokenSet] = existingTokens;
-          }
-        } else if (data.tokenSets.includes(tokenSet)) {
-          const existingTokenIndex = state.tokens[tokenSet].findIndex((n) => n.name === data?.newName);
-          if (existingTokenIndex < 0) {
-            const newToken = updateTokenPayloadToSingleToken(
-              {
-                name: data.newName,
-                type: data.type,
-                value: data.value,
-                description: data.description,
-                $extensions: data.$extensions,
-              } as UpdateTokenPayload,
-              uuidv4(),
-            );
-            newTokens[tokenSet] = [...state.tokens[tokenSet], newToken as SingleToken];
-          }
-        }
-      });
- 
-      return {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          ...newTokens,
-        },
-      };
-    },
- 
-    // Imports received styles as tokens, if needed
-    setTokensFromStyles: (state, receivedStyles: SetTokensFromStylesPayload): TokenState => {
-      const newTokens: StyleToCreateToken[] = [];
-      const existingTokens: StyleToCreateToken[] = [];
-      const updatedTokens: StyleToCreateToken[] = [];
- 
-      // Create a map of token names to tokens once, outside the loop
-      const tokenMap = new Map();
-      Object.values(state.tokens).forEach((tokenSet) => {
-        tokenSet.forEach((token) => {
-          if (!tokenMap.has(token.name)) { // Only store first occurrence
-            tokenMap.set(token.name, token);
-          }
-        });
-      });
- 
-      // Iterate over received styles and check if they existed before or need updating
-      Object.values(receivedStyles).forEach((values) => {
-        values.forEach((token) => {
-          const oldValue = tokenMap.get(token.name);
-          if (oldValue) {
-            if (isEqual(oldValue.value, token.value)) {
-              const normalizedOldValueDescription = oldValue.description ?? '';
-              const normalizedTokenDescription = token.description ?? '';
-              if (isEqual(normalizedOldValueDescription, normalizedTokenDescription)) {
-                existingTokens.push(token);
-              } else {
-                updatedTokens.push({
-                  ...token,
-                  oldDescription: oldValue.description,
-                });
-              }
-            } else {
-              const updatedToken = { ...token };
-              updatedToken.oldValue = oldValue.value;
-              updatedTokens.push(updatedToken);
-            }
-          } else {
-            // Token doesn't exist in any token set
-            newTokens.push(token);
-          }
-        });
-      });
- 
-      return {
-        ...state,
-        importedTokens: {
-          newTokens,
-          updatedTokens,
-        },
-      } as TokenState;
-    },
-    // Imports received variables as tokens, if needed
-    setTokensFromVariables: (state, receivedVariables: SetTokensFromVariablesPayload): TokenState => {
-      const newTokens: VariableToCreateToken[] = [];
-      const existingTokens: VariableToCreateToken[] = [];
-      const updatedTokens: VariableToCreateToken[] = [];
- 
-      // Iterate over received styles and check if they existed before or need updating
-      Object.values(receivedVariables).forEach((values) => {
-        values.forEach((token) => {
-          // If a set exists for the token
-          if (state.tokens[token.parent]) {
-            const oldValue = state.tokens[token.parent].find((t) => t.name === token.name);
-            // If the token already exists
-            if (oldValue) {
-              const normalizedOldValueDescription = oldValue.description ?? '';
-              const normalizedTokenDescription = token.description ?? '';
-              if (
-                isEqual(oldValue.value, token.value)
-                && isEqual(normalizedOldValueDescription, normalizedTokenDescription)
-              ) {
-                existingTokens.push(token);
-              } else {
-                const updatedToken = { ...token };
-                updatedToken.oldValue = oldValue.value;
-                updatedTokens.push(updatedToken);
-              }
-            } else {
-              newTokens.push(token);
-            }
-          } else {
-            newTokens.push(token);
-          }
-        });
-      });
-      return {
-        ...state,
-        importedTokens: {
-          newTokens,
-          updatedTokens,
-        },
-      } as TokenState;
-    },
-    editToken: (state, data: UpdateTokenPayload) => {
-      const nameToFind = data.oldName ? data.oldName : data.name;
-      const index = state.tokens[data.parent].findIndex((token) => token.name === nameToFind);
-      const newArray = [...state.tokens[data.parent]];
-      newArray[index] = {
-        ...omit(newArray[index], 'description'),
-        ...updateTokenPayloadToSingleToken(data),
-      } as SingleToken;
-      return {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          [data.parent]: newArray,
-        },
-      };
-    },
-    deleteToken: (state, data: DeleteTokenPayload) => {
-      const newState = {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          [data.parent]: state.tokens[data.parent].filter((token) => token.name !== data.path),
-        },
-      };
- 
-      return newState;
-    },
-    deleteDuplicateTokens: (state, data: DeleteTokenPayload) => {
-      let i = 0;
-      const newState = {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          [data.parent]:
-            typeof data.index === 'number'
-              ? state.tokens[data.parent].filter((token) => {
-                if (token.name === data.path) {
-                  if (i === data.index) {
-                    i += 1;
-                    return true;
-                  }
-                  i += 1;
-                  return false;
-                }
-                return token.name !== data.path;
-              })
-              : state.tokens[data.parent].filter((token) => token.name !== data.path),
-        },
-      };
- 
-      return newState;
-    },
-    deleteTokenGroup: (state, data: DeleteTokenGroupPayload) => {
-      const newState = {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          [data.parent]: state.tokens[data.parent].filter(
-            (token) => !(token.name.startsWith(`${data.path}.`) && token.type === data.type),
-          ),
-        },
-      };
- 
-      return newState;
-    },
- 
-    renameTokenGroup: (state, data: RenameTokenGroupPayload) => {
-      const {
-        oldName, newName, type, parent,
-      } = data;
-      const tokensInParent = state.tokens[parent] ?? [];
-      const renamedTokensInParent = tokensInParent.map((token) => {
-        if (token.name.startsWith(`${oldName}.`) && token.type === type) {
-          const { name, ...rest } = token;
-          const newTokenName = name.replace(`${oldName}`, `${newName}`);
-          return {
-            ...rest,
-            name: newTokenName,
-          };
-        }
-        return token;
-      }) as AnyTokenList;
- 
-      const newState = {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          [parent]: renamedTokensInParent,
-        },
-      };
-      return newState as TokenState;
-    },
- 
-    duplicateTokenGroup: (state, data: DuplicateTokenGroupPayload) => {
-      const {
-        parent, oldName, newName, tokenSets, type,
-      } = data;
-      const selectedTokenGroup = state.tokens[parent].filter(
-        (token) => token.name.startsWith(`${oldName}.`) && token.type === type,
-      );
-      const newTokenGroup = selectedTokenGroup.map((token) => {
-        const { name, ...rest } = token;
-        const duplicatedTokenGroupName = token.name.replace(oldName, newName);
-        return {
-          name: duplicatedTokenGroupName,
-          ...rest,
-        };
-      });
- 
-      const newTokens = Object.keys(state.tokens).reduce<Record<string, AnyTokenList>>((acc, key) => {
-        if (tokenSets.includes(key)) {
-          acc[key] = [...state.tokens[key], ...newTokenGroup];
-        } else {
-          acc[key] = state.tokens[key];
-        }
-        return acc;
-      }, {});
- 
-      return {
-        ...state,
-        tokens: newTokens,
-      };
-    },
-    setUpdatedAliases: (state, newTokens: TokenStore['values']) => ({
-      ...state,
-      tokens: newTokens,
-    }),
-    setCollapsedTokenSets: (state, data: string[]) => ({
-      ...state,
-      collapsedTokenSets: data,
-    }),
-    setCollapsedTokenTypeObj: (state, data: Record<TokenTypes, boolean>) => ({
-      ...state,
-      collapsedTokenTypeObj: data,
-    }),
-    updateCheckForChanges: (state, data: boolean) => ({
-      ...state,
-      checkForChanges: data,
-    }),
-    setCollapsedTokens: (state, data: string[]) => ({
-      ...state,
-      collapsedTokens: data,
-    }),
-    setChangedState: (
-      state,
-      receivedState: { tokens: Record<string, AnyTokenList>; themes: ThemeObjectsList },
-    ): TokenState => {
-      const localState = {
-        tokens: state.tokens,
-        themes: state.themes,
-      };
-      return {
-        ...state,
-        changedState: findDifferentState(localState, receivedState),
-      } as TokenState;
-    },
-    resetChangedState: (state) => ({
-      ...state,
-      changedState: {
-        tokens: {},
-        themes: [],
-        tokensSize: 0,
-      },
-    }),
-    setRemoteData: (state, data: CompareStateType): TokenState => ({
-      ...state,
-      remoteData: data,
-    }),
-    setTokenFormat: (state, data: TokenFormatOptions): TokenState => ({
-      ...state,
-      tokenFormat: data,
-    }),
-    renameTokenAcrossSets: (state, data: RenameTokensAcrossSetsPayload) => {
-      const {
-        oldName, newName, type, tokenSets,
-      } = data;
-      const newTokens: TokenStore['values'] = {};
-      Object.keys(state.tokens).forEach((tokenSet) => {
-        if (tokenSets.includes(tokenSet)) {
-          const existingTokenIndex = state.tokens[tokenSet].findIndex((n) => n.name === oldName && n.type === type);
-          if (existingTokenIndex > -1) {
-            const existingTokens = [...state.tokens[tokenSet]];
-            existingTokens.splice(existingTokenIndex, 1, {
-              ...state.tokens[tokenSet][existingTokenIndex],
-              name: newName,
-            } as SingleToken);
-            newTokens[tokenSet] = existingTokens;
-          }
-        }
-      });
- 
-      return {
-        ...state,
-        tokens: {
-          ...state.tokens,
-          ...newTokens,
-        },
-      };
-    },
-    setThemesFromVariables: (state, themes: ThemeObjectsList): TokenState => {
-      const newThemes: ThemeObjectsList = [];
-      const updatedThemes: ThemeObjectsList = [];
- 
-      themes.forEach((theme) => {
-        const existingTheme = state.themes.find((t) => t.group === theme.group && t.name === theme.name);
- 
-        if (existingTheme) {
-          if (!isEqual(existingTheme.selectedTokenSets, theme.selectedTokenSets)) {
-            updatedThemes.push({
-              ...theme,
-              selectedTokenSets: {
-                ...existingTheme.selectedTokenSets,
-                ...theme.selectedTokenSets,
-              },
-            });
-          }
-        } else {
-          newThemes.push(theme);
-        }
-      });
- 
-      return {
-        ...state,
-        importedThemes: {
-          newThemes,
-          updatedThemes,
-        },
-      };
-    },
-    setCompressedData: (state, payload: { compressedTokens: string; compressedThemes: string }) => ({
-      ...state,
-      compressedTokens: payload.compressedTokens,
-      compressedThemes: payload.compressedThemes,
-    }),
-    ...tokenStateReducers,
-  },
-  effects: (dispatch) => ({
-    editToken(payload: UpdateTokenPayload, rootState) {
-      if (payload.oldName && payload.oldName !== payload.name) {
-        dispatch.tokenState.updateAliases({ oldName: payload.oldName, newName: payload.name });
-      }
- 
-      if (payload.shouldUpdate && rootState.settings.updateMode !== 'document') {
-        dispatch.tokenState.updateDocument({ shouldUpdateNodes: rootState.settings.updateOnChange });
-      }
- 
-      if (payload.shouldUpdate && rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        const tokenSet = rootState.tokenState.tokens[payload.parent];
-        if (tokenSet) {
-          const updatedSet = tokenSet.map((token) => {
-            if (token.name === payload.oldName) {
-              return {
-                name: payload.name,
-                description: payload.description,
-                value: payload.value,
-                type: payload.type,
-                $extensions: payload.$extensions,
-              } as SingleToken;
-            }
-            return token;
-          });
- 
-          const rawSet = singleTokensToRawTokenSet(updatedSet, true);
- 
-          pushToTokensStudio({
-            context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-            action: 'UPDATE_TOKEN_SET',
-            data: {
-              raw: rawSet,
-              name: payload.parent,
-            },
-          });
-        }
-      }
-    },
-    deleteToken(payload: DeleteTokenPayload, rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        const tokenSet = rootState.tokenState.tokens[payload.parent];
-        if (tokenSet) {
-          const newSet = tokenSet.filter((token) => token.name !== payload.path);
-          const rawSet = singleTokensToRawTokenSet(newSet, true);
- 
-          pushToTokensStudio({
-            context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-            action: 'UPDATE_TOKEN_SET',
-            data: {
-              raw: rawSet,
-              name: payload.parent,
-            },
-          });
-        }
-      }
-    },
-    deleteDuplicateTokens() {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
-    },
-    deleteTokenGroup() {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
-    },
-    addTokenSet(name: string, rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        createTokenSetInTokensStudio({
-          rootState,
-          name,
-          onTokenSetCreated: dispatch.tokenState.setTokenSetMetadata,
-        });
-      }
-    },
-    duplicateTokenSet() {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
-    },
-    duplicateTokenGroup() {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
-    },
-    renameTokenSet(data: { oldName: string; newName: string }, rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        updateTokenSetInTokensStudio({
-          rootState,
-          data,
-          onTokenSetUpdated: dispatch.tokenState.setTokenSetMetadata,
-        });
-      }
-    },
-    deleteTokenSet(name: string, rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        deleteTokenSetFromTokensStudio({
-          rootState,
-          name,
-          onTokenSetDeleted: dispatch.tokenState.setTokenSetMetadata,
-        });
-      }
-    },
-    setTokenSetOrder(data: string[], rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        pushToTokensStudio({
-          context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-          action: 'UPDATE_TOKEN_SET_ORDER',
-          data: data.map((name, index) => ({
-            orderIndex: index,
-            path: name,
-          })),
-        });
-      }
-    },
-    setTokenData(payload: SetTokenDataPayload) {
-      // When tokens update we set the format to the format that we parsed
-      dispatch.tokenState.setTokenFormat(TokenFormat.format);
- 
-      if (payload.shouldUpdate) {
-        dispatch.tokenState.updateDocument();
-      }
-    },
-    toggleUsedTokenSet() {
-      dispatch.tokenState.updateDocument({ updateRemote: false });
-    },
-    toggleManyTokenSets() {
-      dispatch.tokenState.updateDocument({ updateRemote: false });
-    },
-    toggleTreatAsSource() {
-      dispatch.tokenState.updateDocument({ updateRemote: false });
-    },
-    duplicateToken(payload: DuplicateTokenPayload, rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        duplicateTokenInTokensStudio({
-          rootState,
-          payload,
-        });
-      }
-    },
-    createToken(payload: UpdateTokenPayload, rootState) {
-      dispatch.tokenState.updateDocument({ shouldUpdateNodes: false });
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        createTokenInTokensStudio({
-          rootState,
-          payload,
-        });
-      }
-    },
-    setTokenFormat(payload: TokenFormatOptions) {
-      setFormat(payload);
-    },
-    renameTokenGroup(data: RenameTokenGroupPayload, rootState) {
-      const {
-        oldName, newName, type, parent,
-      } = data;
- 
-      const tokensInParent = rootState.tokenState.tokens[parent] ?? [];
-      tokensInParent
-        .filter((token) => token.name.startsWith(`${newName}.`) && token.type === type)
-        .forEach((updatedToken) => {
-          dispatch.tokenState.updateAliases({
-            oldName: updatedToken.name.replace(`${newName}`, `${oldName}`),
-            newName: updatedToken.name,
-          });
-        });
-    },
-    updateCheckForChanges(checkForChanges: boolean, rootState) {
-      if (rootState.uiState.storageType.provider !== StorageProviderType.LOCAL) {
-        updateCheckForChangesAtomic(checkForChanges);
-      }
-    },
-    renameTokenAcrossSets(data: RenameTokensAcrossSetsPayload) {
-      const { oldName, newName } = data;
- 
-      dispatch.tokenState.updateAliases({ oldName, newName });
-    },
-    updateDocument(options?: UpdateDocumentPayload, rootState?) {
-      const defaults = { shouldUpdateNodes: true, updateRemote: true };
-      const params = { ...defaults, ...options };
-      if (!rootState) return;
-      try {
-        const tokensSize = checkStorageSize(rootState.tokenState.tokens);
-        const themesSize = checkStorageSize(rootState.tokenState.themes);
- 
-        // Update the tokensSize in state if it has changed
-        if (rootState.tokenState.tokensSize !== tokensSize) {
-          dispatch.tokenState.setTokensSize(tokensSize);
-        }
- 
-        // Update the themesSize in state if it has changed
-        if (rootState.tokenState.themesSize !== themesSize) {
-          dispatch.tokenState.setThemesSize(Number(themesSize.toFixed(1)));
-        }
- 
-        wrapTransaction(
-          {
-            name: 'updateDocument',
-            statExtractor: (result, transaction) => {
-              transaction.setMeasurement(
-                'tokens',
-                Object.entries(rootState.tokenState.tokens).reduce((acc, [, tokens]) => {
-                  acc += tokens.length;
-                  return acc;
-                }, 0),
-                '',
-              );
-              transaction.setMeasurement('tokenSets', Object.keys(rootState.tokenState.tokens).length, '');
-              transaction.setMeasurement('themes', rootState.tokenState.themes.length, '');
-              transaction.setMeasurement('tokensSize', tokensSize, 'KB');
-              transaction.setMeasurement('themesSize', themesSize, 'KB');
-            },
-          },
-          () => {
-            // Compress tokens and themes
-            const compressedTokens = compressToUTF16(JSON.stringify(rootState.tokenState.tokens));
-            const compressedThemes = compressToUTF16(JSON.stringify(rootState.tokenState.themes));
- 
-            // Update the compressed values in state
-            dispatch.tokenState.setCompressedData({
-              compressedTokens,
-              compressedThemes,
-            });
- 
-            updateTokensOnSources({
-              tokens: params.shouldUpdateNodes ? rootState.tokenState.tokens : null,
-              compressedTokens,
-              tokenValues: rootState.tokenState.tokens,
-              usedTokenSet: rootState.tokenState.usedTokenSet,
-              themes: rootState.tokenState.themes,
-              compressedThemes,
-              activeTheme: rootState.tokenState.activeTheme,
-              settings: rootState.settings,
-              updatedAt: new Date().toISOString(),
-              lastUpdatedAt: rootState.uiState.lastUpdatedAt ?? new Date().toISOString(),
-              isLocal: rootState.uiState.storageType.provider === StorageProviderType.LOCAL,
-              editProhibited: rootState.tokenState.editProhibited,
-              api: rootState.uiState.api,
-              storageType: rootState.uiState.storageType,
-              shouldUpdateRemote: params.updateRemote && rootState.settings.updateRemote,
-              checkForChanges: rootState.tokenState.checkForChanges,
-              shouldSwapStyles: rootState.settings.shouldSwapStyles,
-              collapsedTokenSets: rootState.tokenState.collapsedTokenSets,
-              storeTokenIdInJsonEditor: rootState.settings.storeTokenIdInJsonEditor,
-              dispatch,
-              tokenFormat: rootState.tokenState.tokenFormat,
-              tokensSize: rootState.tokenState.tokensSize,
-              themesSize: rootState.tokenState.themesSize,
-            });
-          },
-        );
-      } catch (e) {
-        console.error('Error updating document', e);
-      }
-    },
-    async updateAliases(data: TokenToRename, rootState) {
-      const { updatedTokens, updatedSets } = updateAliasesInState(rootState.tokenState.tokens, data);
- 
-      dispatch.tokenState.setUpdatedAliases(updatedTokens);
- 
-      if (rootState.uiState.api?.provider === StorageProviderType.TOKENS_STUDIO) {
-        for (const set of updatedSets) {
-          const content = updatedTokens[set];
-          const rawSet = singleTokensToRawTokenSet(content, true);
- 
-          pushToTokensStudio({
-            context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-            action: 'UPDATE_TOKEN_SET',
-            data: { raw: rawSet, name: set },
-          });
-        }
-      }
-    },
-    ...Object.fromEntries(Object.entries(tokenStateEffects).map(([key, factory]) => [key, factory(dispatch)])),
-  }),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html deleted file mode 100644 index d0e138aed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/uiState.tsx.html +++ /dev/null @@ -1,1495 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/uiState.tsx - - - - - - - - - -
-
-

All files / src/app/store/models uiState.tsx

-
- -
- 0% - Statements - 0/62 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/53 -
- - -
- 0% - Lines - 0/62 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable import/prefer-default-export */
-import { createModel } from '@rematch/core';
-import { track } from '@/utils/analytics';
-import type { RootModel } from '@/types/RootModel';
-import fetchChangelog from '@/utils/storyblok';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { SelectionGroup, StoryblokStory } from '@/types';
-import { Tabs } from '@/constants/Tabs';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageType, StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { EditTokenObject } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { PushOverrides } from '../remoteTokens';
- 
-type DisplayType = 'GRID' | 'LIST';
- 
-type SelectionValue = NodeTokenRefMap;
- 
-export type ConfirmProps = {
-  show?: boolean;
-  text?: string;
-  description?: React.ReactNode;
-  choices?: { key: string; label: string; enabled?: boolean, unique?: boolean }[];
-  confirmAction?: string;
-  cancelAction?: string;
-  variant?: 'danger';
-  input?: {
-    type: 'text';
-    placeholder: string;
-  };
-  formId?: string;
-};
- 
-export type AddJobTasksPayload = {
-  name: string;
-  count: number;
-  expectedTimePerTask?: number;
-};
- 
-export type CompleteJobTasksPayload = {
-  name: string;
-  count: number;
-  timePerTask?: number;
-};
- 
-export type BackgroundJob = {
-  name: string;
-  isInfinite?: boolean;
-  timePerTask?: number;
-  completedTasks?: number;
-  totalTasks?: number;
-};
-export interface UIState {
-  backgroundJobs: BackgroundJob[]
-  selectionValues: SelectionGroup[];
-  mainNodeSelectionValues: SelectionValue
-  displayType: DisplayType;
-  disabled: boolean;
-  activeTab: Tabs;
-  activeTokensTab: 'list' | 'json';
-  projectURL: string;
-  storageType: StorageType;
-  api: StorageTypeCredentials;
-  apiProviders: StorageTypeCredentials[];
-  localApiState: StorageTypeFormValues<true>;
-  lastUpdatedAt: string | null;
-  changelog: StoryblokStory['content'][];
-  lastOpened: number | null;
-  onboardingExplainerSets: boolean;
-  onboardingExplainerExportSets: boolean;
-  onboardingExplainerSyncProviders: boolean;
-  onboardingExplainerInspect: boolean;
-  editToken: EditTokenObject;
-  showEditForm: boolean;
-  tokenFilter: string;
-  confirmState: ConfirmProps;
-  showPushDialog: { state: string | false, overrides?: PushOverrides };
-  showPullDialog: string | false;
-  showEmptyGroups: boolean;
-  collapsed: boolean;
-  selectedLayers: number;
-  manageThemesModalOpen: boolean;
-  scrollPositionSet: Record<string, number>;
-  figmaFonts: Font[]
-  secondScreenEnabled: boolean;
-  showAutoSuggest: boolean;
-  showConvertTokenFormatModal: boolean;
-  sidebarWidth: number;
-  hasRemoteChange: boolean;
-}
- 
-const defaultConfirmState: ConfirmProps = {
-  show: false,
-  text: '',
-  description: '',
-  choices: undefined,
-  confirmAction: 'Yes',
-  cancelAction: 'Cancel',
-  input: undefined,
-};
- 
-export const uiState = createModel<RootModel>()({
-  state: {
-    selectionValues: [] as SelectionGroup[],
-    mainNodeSelectionValues: {} as SelectionValue,
-    disabled: false,
-    displayType: 'GRID',
-    backgroundJobs: [],
-    activeTab: Tabs.LOADING,
-    activeTokensTab: 'list',
-    projectURL: '',
-    storageType: {
-      provider: StorageProviderType.LOCAL,
-    },
-    api: null,
-    apiProviders: [],
-    localApiState: {
-      provider: StorageProviderType.LOCAL,
-      new: false,
-      format: TokenFormatOptions.Legacy,
-    },
-    lastUpdatedAt: null,
-    changelog: [],
-    lastOpened: '',
-    onboardingExplainerSets: null,
-    onboardingExplainerExportSets: null,
-    onboardingExplainerSyncProviders: null,
-    onboardingExplainerInspect: null,
-    editToken: {
-      type: TokenTypes.OTHER,
-      status: EditTokenFormStatus.CREATE,
-    },
-    showEditForm: false,
-    tokenFilter: '',
-    tokenFilterVisible: false,
-    confirmState: defaultConfirmState,
-    showPushDialog: { state: false },
-    showPullDialog: false,
-    showEmptyGroups: true,
-    collapsed: false,
-    selectedLayers: 0,
-    manageThemesModalOpen: false,
-    scrollPositionSet: {},
-    figmaFonts: [],
-    secondScreenEnabled: false,
-    showAutoSuggest: false,
-    showConvertTokenFormatModal: false,
-    sidebarWidth: 150,
-    hasRemoteChange: false,
-  } as unknown as UIState,
-  reducers: {
-    setShowConvertTokenFormatModal: (state, data: boolean) => ({
-      ...state,
-      showConvertTokenFormatModal: data,
-    }),
-    setShowPushDialog: (state, data: { state: string | false, overrides?: PushOverrides }) => ({
-      ...state,
-      showPushDialog: data,
-    }),
-    setShowPullDialog: (state, data: string | false) => ({
-      ...state,
-      showPullDialog: data,
-    }),
-    setHasRemoteChange: (state, data: boolean) => ({
-      ...state,
-      hasRemoteChange: data,
-    }),
-    setShowConfirm: (
-      state,
-      data: {
-        text: string;
-        description?: React.ReactNode;
-        choices: { key: string; label: string; enabled?: boolean; unique?: boolean }[];
-        confirmAction?: string;
-        cancelAction?: string;
-        variant?: 'danger';
-        input?: {
-          type: 'text';
-          placeholder: string;
-        };
-        formId?: string;
-      },
-    ) => ({
-      ...state,
-      confirmState: {
-        show: true,
-        text: data.text,
-        description: data.description,
-        choices: data.choices,
-        confirmAction: data.confirmAction || defaultConfirmState.confirmAction,
-        cancelAction: data.cancelAction || defaultConfirmState.cancelAction,
-        input: data.input,
-        variant: data.variant,
-        formId: data.formId,
-      },
-    }),
-    setSelectedLayers: (state, data: number) => ({
-      ...state,
-      selectedLayers: data,
-    }),
-    setHideConfirm: (state) => ({
-      ...state,
-      confirmState: defaultConfirmState,
-    }),
-    setDisabled: (state, data: boolean) => ({
-      ...state,
-      disabled: data,
-    }),
-    setEditToken: (state, data: EditTokenObject) => ({
-      ...state,
-      editToken: data,
-    }),
-    setShowEditForm: (state, data: boolean) => ({
-      ...state,
-      showEditForm: data,
-    }),
-    setDisplayType: (state, data: DisplayType) => {
-      track('setDisplayType', { type: data });
- 
-      return {
-        ...state,
-        displayType: data,
-      };
-    },
-    setSelectionValues: (state, data: SelectionGroup[]) => ({
-      ...state,
-      selectionValues: data,
-    }),
-    setMainNodeSelectionValues: (state, data: SelectionValue) => ({
-      ...state,
-      mainNodeSelectionValues: data,
-    }),
-    resetSelectionValues: (state) => ({
-      ...state,
-      selectionValues: [] as SelectionGroup[],
-    }),
-    startJob(state, job: BackgroundJob) {
-      return {
-        ...state,
-        backgroundJobs: [...state.backgroundJobs, { ...job }],
-      };
-    },
-    completeJob(state, name: string) {
-      return {
-        ...state,
-        backgroundJobs: state.backgroundJobs.filter((job) => (
-          job.name !== name
-        )),
-      };
-    },
-    clearJobs(state) {
-      return {
-        ...state,
-        backgroundJobs: [],
-      };
-    },
-    setActiveTab(state, payload: Tabs) {
-      return {
-        ...state,
-        activeTab: payload,
-      };
-    },
-    setActiveTokensTab(state, payload: 'list' | 'json') {
-      return {
-        ...state,
-        activeTokensTab: payload,
-      };
-    },
-    setProjectURL(state, payload: string) {
-      return {
-        ...state,
-        projectURL: payload,
-      };
-    },
-    setStorage(state, payload: StorageType) {
-      return {
-        ...state,
-        storageType: payload,
-      };
-    },
-    setApiData(state, payload: StorageTypeCredentials) {
-      return {
-        ...state,
-        api: payload,
-      };
-    },
-    setLocalApiState(state, payload: StorageTypeFormValues<true>) {
-      return {
-        ...state,
-        localApiState: payload,
-      };
-    },
-    setAPIProviders(state, payload: StorageTypeCredentials[]) {
-      return {
-        ...state,
-        apiProviders: payload,
-      };
-    },
-    setChangelog(state, payload: StoryblokStory['content'][]) {
-      return {
-        ...state,
-        changelog: payload,
-      };
-    },
-    setLastOpened(state, payload: number) {
-      return {
-        ...state,
-        lastOpened: payload,
-      };
-    },
-    setOnboardingExplainerSets(state, payload: boolean) {
-      return {
-        ...state,
-        onboardingExplainerSets: payload,
-      };
-    },
-    setOnboardingExplainerExportSets(state, payload: boolean) {
-      return {
-        ...state,
-        onboardingExplainerExportSets: payload,
-      };
-    },
-    setOnboardingExplainerSyncProviders(state, payload: boolean) {
-      return {
-        ...state,
-        onboardingExplainerSyncProviders: payload,
-      };
-    },
-    setOnboardingExplainerInspect(state, payload: boolean) {
-      return {
-        ...state,
-        onboardingExplainerInspect: payload,
-      };
-    },
-    setTokenFilter(state, payload: string) {
-      return {
-        ...state,
-        tokenFilter: payload,
-      };
-    },
-    toggleShowEmptyGroups(state, payload: boolean | null) {
-      return {
-        ...state,
-        showEmptyGroups: payload == null ? !state.showEmptyGroups : payload,
-      };
-    },
-    toggleCollapsed(state) {
-      return {
-        ...state,
-        collapsed: !state.collapsed,
-      };
-    },
-    addJobTasks(state, payload: AddJobTasksPayload) {
-      return {
-        ...state,
-        backgroundJobs: state.backgroundJobs.map((job) => {
-          if (job.name === payload.name) {
-            return {
-              ...job,
-              ...(payload.expectedTimePerTask ? {
-                timePerTask: payload.expectedTimePerTask,
-              } : {}),
-              completedTasks: job.completedTasks ?? 0,
-              totalTasks: (job.totalTasks ?? 0) + payload.count,
-            };
-          }
-          return job;
-        }),
-      };
-    },
-    completeJobTasks(state, payload: CompleteJobTasksPayload) {
-      return {
-        ...state,
-        backgroundJobs: state.backgroundJobs.map((job) => {
-          if (job.name === payload.name) {
-            const totalCompletedTasks = (job.completedTasks ?? 0) + payload.count;
-            return {
-              ...job,
-              timePerTask: payload.timePerTask ?? job.timePerTask,
-              completedTasks: totalCompletedTasks,
-              totalTasks: (job.totalTasks ?? totalCompletedTasks),
-            };
-          }
-          return job;
-        }),
-      };
-    },
-    setManageThemesModalOpen(state, open: boolean) {
-      return {
-        ...state,
-        manageThemesModalOpen: open,
-      };
-    },
-    setScrollPositionSet(state, payload: Record<string, number>) {
-      return {
-        ...state,
-        scrollPositionSet: payload,
-      };
-    },
-    setFigmaFonts(state, payload: Font[]) {
-      return {
-        ...state,
-        figmaFonts: payload,
-      };
-    },
-    toggleSecondScreen(state) {
-      return {
-        ...state,
-        secondScreenEnabled: !state.secondScreenEnabled,
-      };
-    },
-    setShowAutoSuggest: (state, data: boolean) => ({
-      ...state,
-      showAutoSuggest: data,
-    }),
-    setSidebarWidth: (state, data: number) => ({
-      ...state,
-      sidebarWidth: data,
-    }),
-  },
-  effects: (dispatch) => ({
-    setLastOpened: (payload) => {
-      fetchChangelog(payload, (result) => {
-        dispatch.uiState.setChangelog(result);
-      });
-    },
-    setOnboardingExplainerSets: (payload) => {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS,
-        onboardingExplainerSets: payload,
-      });
-    },
-    setOnboardingExplainerExportSets: (payload) => {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS,
-        onboardingExplainerExportSets: payload,
-      });
-    },
-    setOnboardingExplainerSyncProviders: (payload) => {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS,
-        onboardingExplainerSyncProviders: payload,
-      });
-    },
-    setOnboardingExplainerInspect: (payload) => {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT,
-        onboardingExplainerInspect: payload,
-      });
-    },
-    setActiveTab: (payload: Tabs) => {
-      const requiresSelectionValues = payload === Tabs.INSPECTOR;
- 
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CHANGED_TABS,
-        requiresSelectionValues,
-      });
-    },
-    toggleShowEmptyGroups(payload: null | boolean, rootState) {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS,
-        showEmptyGroups: payload == null ? rootState.uiState.showEmptyGroups : payload,
-      });
-    },
-  }),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html deleted file mode 100644 index 5355c820d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/models/userState.ts.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - Code coverage report for src/app/store/models/userState.ts - - - - - - - - - -
-
-

All files / src/app/store/models userState.ts

-
- -
- 0% - Statements - 0/21 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/10 -
- - -
- 0% - Lines - 0/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createModel } from '@rematch/core';
-import { RootModel } from '@/types/RootModel';
-import { notifyToUI } from '@/plugin/notifiers';
-import removeLicense from '@/utils/removeLicense';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { LicenseStatus } from '@/constants/LicenseStatus';
-import * as userStateReducers from './reducers/userState';
- 
-export enum AddLicenseSource {
-  INITAL_LOAD,
-  UI,
-}
- 
-export enum Entitlements {
-  PRO = 'pro',
-  BETA = 'beta',
-}
-export interface UserState {
-  userId: string | null;
-  initialLoad: boolean;
-  licenseKey: string | undefined;
-  licenseError: string | undefined;
-  licenseStatus: LicenseStatus;
-  userName: string;
-  licenseDetails: LicenseDetails;
-  usedEmail: string | undefined;
-  tokensStudioPAT: string | null;
-}
- 
-interface LicenseDetails {
-  plan: string | undefined;
-  clientEmail: string | undefined;
-  entitlements: string[];
-}
- 
-export const userState = createModel<RootModel>()({
-  state: {
-    userId: null,
-    initialLoad: false,
-    licenseStatus: LicenseStatus.UNKNOWN,
-    licenseKey: undefined,
-    licenseError: undefined,
-    userName: '',
-    usedEmail: '',
-    licenseDetails: {
-      plan: '',
-      clientEmail: undefined,
-      entitlements: [],
-    },
-    tokensStudioPAT: null,
-  } as UserState,
-  reducers: {
-    setUserId(state, payload: string | null) {
-      return {
-        ...state,
-        userId: payload,
-      };
-    },
-    setUserName(state, payload: string) {
-      return {
-        ...state,
-        userName: payload,
-      };
-    },
-    setLicenseKey(state, payload: string | undefined) {
-      return {
-        ...state,
-        licenseKey: payload,
-      };
-    },
-    setUsedEmail(state, payload: string | undefined) {
-      return {
-        ...state,
-        usedEmail: payload,
-      };
-    },
-    setLicenseError(state, payload: string | undefined) {
-      return {
-        ...state,
-        licenseError: payload,
-      };
-    },
-    setLicenseDetails(state, payload: LicenseDetails) {
-      return {
-        ...state,
-        licenseDetails: payload,
-      };
-    },
-    setInitialLoad(state, payload: boolean) {
-      return {
-        ...state,
-        initialLoad: payload,
-      };
-    },
-    setTokensStudioPAT(state, payload: string | null) {
-      return {
-        ...state,
-        tokensStudioPAT: payload,
-      };
-    },
-    ...userStateReducers,
-  },
-  effects: (dispatch) => ({
-    removeLicenseKey: async (payload, rootState) => {
-      const { licenseKey, userId, licenseError } = rootState.userState;
- 
-      if (licenseKey && !licenseError) {
-        const { error } = await removeLicense(licenseKey, userId);
-        if (error) {
-          notifyToUI('Error removing license, please contact support@tokens.studio', { error: true });
-        }
-      }
-      // clear license key related state
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_LICENSE_KEY,
-        licenseKey: payload,
-      });
- 
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_INITIAL_LOAD,
-        initialLoad: true,
-      });
- 
-      dispatch.userState.setInitialLoad(true);
-      dispatch.userState.setLicenseKey(undefined);
-      dispatch.userState.setLicenseError(undefined);
-      dispatch.userState.setLicenseDetails({
-        plan: '',
-        entitlements: [],
-        clientEmail: '',
-      });
-    },
-  }),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html deleted file mode 100644 index 69664eb08..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/ado.tsx.html +++ /dev/null @@ -1,1033 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/ado/ado.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers/ado ado.tsx

-
- -
- 0% - Statements - 0/122 -
- - -
- 0% - Branches - 0/51 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/115 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import React from 'react';
-import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import useConfirm from '@/app/hooks/useConfirm';
-import usePushDialog from '@/app/hooks/usePushDialog';
-import { notifyToUI } from '../../../../plugin/notifiers';
-import {
-  localApiStateSelector, tokensSelector, themesListSelector, activeThemeSelector, usedTokenSetSelector, storeTokenIdInJsonEditorSelector,
-} from '@/selectors';
-import { ADOTokenStorage } from '@/storage/ADOTokenStorage';
-import { isEqual } from '@/utils/isEqual';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { PushOverrides } from '../../remoteTokens';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-type AdoCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.ADO; }>;
-type AdoFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.ADO; }>;
- 
-export const useADO = () => {
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const localApiState = useSelector(localApiStateSelector) as AdoCredentials;
-  const activeTheme = useSelector(activeThemeSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const isProUser = useIsProUser();
-  const { confirm } = useConfirm();
-  const { pushDialog, closePushDialog } = usePushDialog();
- 
-  const storageClientFactory = React.useCallback((context: AdoCredentials) => {
-    const storageClient = new ADOTokenStorage(context);
-    if (context.filePath) storageClient.changePath(context.filePath);
-    if (context.branch) storageClient.selectBranch(context.branch);
-    if (isProUser) storageClient.enableMultiFile();
-    return storageClient;
-  }, [isProUser]);
- 
-  const askUserIfPull = React.useCallback(async () => {
-    const confirmResult = await confirm({
-      text: 'Pull from Ado?',
-      description: 'Your repo already contains tokens, do you want to pull these now?',
-    });
-    return confirmResult;
-  }, [confirm]);
- 
-  const pushTokensToADO = React.useCallback(async (context: AdoCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
-    const storage = storageClientFactory(context);
- 
-    dispatch.uiState.setLocalApiState({ ...context });
- 
-    const pushSettings = await pushDialog({ state: 'initial', overrides });
-    if (pushSettings) {
-      const { commitMessage, customBranch } = pushSettings;
-      try {
-        if (customBranch) storage.selectBranch(customBranch);
-        const metadata = {
-          tokenSetOrder: Object.keys(tokens),
-        };
-        await storage.save({
-          themes,
-          tokens,
-          metadata,
-        }, {
-          commitMessage,
-          storeTokenIdInJsonEditor,
-        });
- 
-        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as AdoCredentials);
-        dispatch.uiState.setApiData({ ...context, branch: customBranch });
-        dispatch.tokenState.setTokenData({
-          values: tokens,
-          themes,
-          usedTokenSet,
-          activeTheme,
-          hasChangedRemote: true,
-        });
-        dispatch.tokenState.setRemoteData({
-          tokens,
-          themes,
-          metadata,
-        });
-        const branches = await storage.fetchBranches();
-        dispatch.branchState.setBranches(branches);
-        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
-        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-        pushDialog({ state: 'success' });
- 
-        return {
-          status: 'success',
-          tokens,
-          themes,
-        };
-      } catch (e) {
-        closePushDialog();
-        console.log('Error pushing to ADO', e);
-        if (e instanceof Error && e.message) {
-          return {
-            status: 'failure',
-            errorMessage: e.message,
-          };
-        }
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.ADO_CREDENTIAL_ERROR,
-        };
-      }
-    }
- 
-    return {
-      status: 'failure',
-      errorMessage: 'Push to remote cancelled!',
-    };
-  }, [
-    dispatch,
-    storageClientFactory,
-    tokens,
-    themes,
-    pushDialog,
-    closePushDialog,
-    localApiState,
-  ]);
- 
-  const checkAndSetAccess = React.useCallback(async (context: AdoCredentials, receivedFeatureFlags?: LDProps['flags']) => {
-    const storage = storageClientFactory(context);
-    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
-    const hasWriteAccess = await storage.canWrite();
-    dispatch.tokenState.setEditProhibited(!hasWriteAccess);
-  }, [dispatch, storageClientFactory]);
- 
-  const pullTokensFromADO = React.useCallback(async (context: AdoCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
-    const storage = storageClientFactory(context);
-    if (context.branch) {
-      storage.setSource(context.branch);
-    }
-    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
- 
-    await checkAndSetAccess(context, receivedFeatureFlags);
- 
-    try {
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
-        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
-        return {
-          ...content,
-          tokens: sortedTokens,
-        };
-      }
-    } catch (e) {
-      console.log('Error', e);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.ADO_CREDENTIAL_ERROR,
-      };
-    }
-    return null;
-  }, [
-    checkAndSetAccess,
-    storageClientFactory,
-  ]);
- 
-  const syncTokensWithADO = React.useCallback(async (context: AdoCredentials): Promise<RemoteResponseData> => {
-    try {
-      const storage = storageClientFactory(context);
-      const branches = await storage.fetchBranches();
-      dispatch.branchState.setBranches(branches);
-      if (branches.length === 0) {
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
-        };
-      }
- 
-      await checkAndSetAccess(context);
- 
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        if (
-          !isEqual(content.tokens, tokens)
-          || !isEqual(content.themes, themes)
-          || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
-        ) {
-          const userDecision = await askUserIfPull();
-          if (userDecision) {
-            const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
-            dispatch.tokenState.setTokenData({
-              values: sortedValues,
-              themes: content.themes,
-              usedTokenSet,
-              activeTheme,
-              hasChangedRemote: true,
-            });
-            dispatch.tokenState.setRemoteData({
-              tokens: sortedValues,
-              themes: content.themes,
-              metadata: content.metadata,
-            });
-            const stringifiedRemoteTokens = JSON.stringify(compact([sortedValues, content.themes, TokenFormat.format]), null, 2);
-            dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-            dispatch.tokenState.setCollapsedTokenSets([]);
-            notifyToUI('Pulled tokens from ADO');
-          }
-        }
-        return content;
-      }
-      return await pushTokensToADO(context);
-    } catch (e) {
-      notifyToUI(ErrorMessages.ADO_CREDENTIAL_ERROR, { error: true });
-      console.log('Error', e);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.ADO_CREDENTIAL_ERROR,
-      };
-    }
-  }, [
-    askUserIfPull,
-    dispatch,
-    pushTokensToADO,
-    storageClientFactory,
-    themes,
-    tokens,
-    checkAndSetAccess,
-  ]);
- 
-  const addNewADOCredentials = React.useCallback(
-    async (context: AdoFormValues): Promise<RemoteResponseData> => {
-      const previousBranch = localApiState.branch;
-      const previousFilePath = localApiState.filePath;
- 
-      if (previousBranch !== context.branch) {
-        context = { ...context, previousSourceBranch: previousBranch };
-      }
-      const data = await syncTokensWithADO(context);
- 
-      if (data.status === 'success') {
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: context,
-        });
-        if (!data.tokens) {
-          notifyToUI('No tokens stored on remote');
-        }
-      } else {
-        // Go back to the previous setup if the user cancelled pushing to the remote or there was an error
-        dispatch.uiState.setLocalApiState({ ...context, branch: previousBranch, filePath: previousFilePath });
-        return {
-          status: 'failure',
-          errorMessage: data.errorMessage,
-        };
-      }
-      return {
-        status: 'success',
-        tokens: data.tokens ?? tokens,
-        themes: data.themes ?? themes,
-        metadata: {},
-      };
-    },
-    [
-      dispatch,
-      tokens,
-      themes,
-      usedTokenSet,
-      activeTheme,
-      syncTokensWithADO,
-    ],
-  );
- 
-  const fetchADOBranches = React.useCallback(async (context: AdoCredentials) => {
-    const storage = storageClientFactory(context);
-    const branches = await storage.fetchBranches();
-    return branches;
-  }, [storageClientFactory]);
- 
-  const createADOBranch = React.useCallback((context: AdoCredentials, newBranch: string, source?: string) => {
-    const storage = storageClientFactory(context);
-    return storage.createBranch(newBranch, source);
-  }, [storageClientFactory]);
- 
-  return React.useMemo(() => ({
-    addNewADOCredentials,
-    syncTokensWithADO,
-    pullTokensFromADO,
-    pushTokensToADO,
-    fetchADOBranches,
-    createADOBranch,
-  }), [
-    addNewADOCredentials,
-    syncTokensWithADO,
-    pullTokensFromADO,
-    pushTokensToADO,
-    fetchADOBranches,
-    createADOBranch,
-  ]);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html deleted file mode 100644 index b33bd229c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/getADOCreatePullRequestUrl.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/ado/getADOCreatePullRequestUrl.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/ado getADOCreatePullRequestUrl.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
interface GetADOCreatePullRequestUrl {
-  (args: {
-    branch?: string
-    orgUrl?: string
-    projectId?: string
-    repositoryId?: string
-  }): string
-}
- 
-export const getADOCreatePullRequestUrl: GetADOCreatePullRequestUrl = ({
-  branch,
-  orgUrl,
-  projectId,
-  repositoryId,
-}) => `${orgUrl}${projectId && `/${projectId}`}/_git/${repositoryId}/pullrequestcreate?sourceRef=${branch}&targetRef=main`;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html deleted file mode 100644 index c92fee892..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/ado - - - - - - - - - -
-
-

All files src/app/store/providers/ado

-
- -
- 0% - Statements - 0/124 -
- - -
- 0% - Branches - 0/53 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/117 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ado.tsx -
-
0%0/1220%0/510%0/110%0/115
getADOCreatePullRequestUrl.ts -
-
0%0/20%0/20%0/10%0/2
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html deleted file mode 100644 index db98e354b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/ado/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/ado/index.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/ado index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './getADOCreatePullRequestUrl';
-export * from './ado';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html deleted file mode 100644 index 2da5d7a39..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/bitbucket.tsx.html +++ /dev/null @@ -1,1069 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/bitbucket/bitbucket.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers/bitbucket bitbucket.tsx

-
- -
- 0% - Statements - 0/113 -
- - -
- 0% - Branches - 0/53 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/107 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import useConfirm from '@/app/hooks/useConfirm';
-import usePushDialog from '@/app/hooks/usePushDialog';
-import { notifyToUI } from '@/plugin/notifiers';
-import {
-  activeThemeSelector, storeTokenIdInJsonEditorSelector, localApiStateSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { BitbucketTokenStorage } from '@/storage/BitbucketTokenStorage';
-import { isEqual } from '@/utils/isEqual';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { PushOverrides } from '../../remoteTokens';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-type BitbucketCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.BITBUCKET }>;
-type BitbucketFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.BITBUCKET }>;
- 
-export function useBitbucket() {
-  const tokens = useSelector(tokensSelector);
-  const activeTheme = useSelector(activeThemeSelector);
- 
-  const themes = useSelector(themesListSelector);
-  const localApiState = useSelector(localApiStateSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const isProUser = useIsProUser();
-  const dispatch = useDispatch<Dispatch>();
-  const { confirm } = useConfirm();
-  const { pushDialog, closePushDialog } = usePushDialog();
- 
-  const storageClientFactory = useCallback(
-    (context: BitbucketCredentials, owner?: string, repo?: string) => {
-      const splitContextId = context.id.split('/');
-      const storageClient = new BitbucketTokenStorage(
-        context.secret,
-        owner ?? splitContextId[0],
-        repo ?? splitContextId[1],
-        context.baseUrl ?? '',
-        context.username,
-      );
-      if (context.filePath) storageClient.changePath(context.filePath);
-      if (context.branch) storageClient.selectBranch(context.branch);
-      if (isProUser) storageClient.enableMultiFile();
-      return storageClient;
-    },
-    [isProUser],
-  );
- 
-  const askUserIfPull = useCallback(async () => {
-    const confirmResult = await confirm({
-      text: 'Pull from Bitbucket?',
-      description: 'Your repo already contains tokens, do you want to pull these now?',
-    });
-    return confirmResult;
-  }, [confirm]);
- 
-  const pushTokensToBitbucket = useCallback(async (context: BitbucketCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
-    const storage = storageClientFactory(context);
- 
-    dispatch.uiState.setLocalApiState({ ...context });
- 
-    const pushSettings = await pushDialog({ state: 'initial', overrides });
-    if (pushSettings) {
-      const { commitMessage, customBranch } = pushSettings;
-      try {
-        if (customBranch) storage.selectBranch(customBranch);
-        const metadata = {
-          tokenSetOrder: Object.keys(tokens),
-        };
-        await storage.save({
-          themes,
-          tokens,
-          metadata,
-        }, { commitMessage, storeTokenIdInJsonEditor });
-        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as BitbucketCredentials);
-        dispatch.uiState.setApiData({ ...context, branch: customBranch });
-        dispatch.tokenState.setTokenData({
-          values: tokens,
-          themes,
-          usedTokenSet,
-          activeTheme,
-          hasChangedRemote: true,
-        });
-        dispatch.tokenState.setRemoteData({
-          tokens,
-          themes,
-          metadata,
-        });
-        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
-        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-        pushDialog({ state: 'success' });
-        return {
-          status: 'success',
-          tokens,
-          themes,
-        };
-      } catch (e) {
-        closePushDialog();
-        console.log('Error pushing to Bitbucket', e);
-        if (e instanceof Error && e.message === ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR) {
-          return {
-            status: 'failure',
-            errorMessage: ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR,
-          };
-        }
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.BITBUCKET_CREDENTIAL_ERROR,
-        };
-      }
-    }
- 
-    return {
-      status: 'success',
-      tokens,
-      themes,
-      metadata: {},
-    };
-  }, [
-    storageClientFactory,
-    dispatch.uiState,
-    dispatch.tokenState,
-    pushDialog,
-    closePushDialog,
-    tokens,
-    themes,
-    localApiState,
-    usedTokenSet,
-    activeTheme,
-  ]);
- 
-  const checkAndSetAccess = useCallback(
-    async ({
-      context, owner, repo, receivedFeatureFlags,
-    }: { context: BitbucketCredentials; owner: string; repo: string, receivedFeatureFlags?: LDProps['flags'] }) => {
-      const storage = storageClientFactory(context, owner, repo);
-      if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
-      const hasWriteAccess = await storage.canWrite();
-      dispatch.tokenState.setEditProhibited(!hasWriteAccess);
-    },
-    [dispatch, storageClientFactory],
-  );
- 
-  const pullTokensFromBitbucket = useCallback(
-    async (context: BitbucketCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
-      const storage = storageClientFactory(context);
-      if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
- 
-      const [owner, repo] = context.id.split('/');
- 
-      await checkAndSetAccess({
-        context, owner, repo, receivedFeatureFlags,
-      });
- 
-      try {
-        const content = await storage.retrieve();
-        if (content?.status === 'failure') {
-          return {
-            status: 'failure',
-            errorMessage: content.errorMessage,
-          };
-        }
-        if (content) {
-          return content;
-        }
-      } catch (e) {
-        console.log('Error', e);
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.BITBUCKET_CREDENTIAL_ERROR,
-        };
-      }
-      return null;
-    },
-    [checkAndSetAccess, storageClientFactory],
-  );
- 
-  // Function to initially check auth and sync tokens with Bitbucket
-  const syncTokensWithBitbucket = useCallback(
-    async (context: BitbucketCredentials): Promise<RemoteResponseData> => {
-      try {
-        const storage = storageClientFactory(context);
-        const hasBranches = await storage.fetchBranches();
-        dispatch.branchState.setBranches(hasBranches);
-        if (!hasBranches || !hasBranches.length) {
-          return {
-            status: 'failure',
-            errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
-          };
-        }
- 
-        const [owner, repo] = context.id.split('/');
-        await checkAndSetAccess({ context, owner, repo });
- 
-        const content = await storage.retrieve();
-        if (content?.status === 'failure') {
-          return {
-            status: 'failure',
-            errorMessage: content.errorMessage,
-          };
-        }
-        if (content) {
-          if (
-            !isEqual(content.tokens, tokens)
-            || !isEqual(content.themes, themes)
-            || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
-          ) {
-            const userDecision = await askUserIfPull();
-            if (userDecision) {
-              const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
-              dispatch.tokenState.setTokenData({
-                values: sortedValues,
-                themes: content.themes,
-                activeTheme,
-                usedTokenSet,
-              });
-              dispatch.tokenState.setRemoteData({
-                tokens: sortedValues,
-                themes: content.themes,
-                metadata: content.metadata,
-              });
-              const stringifiedRemoteTokens = JSON.stringify(compact([sortedValues, content.themes, TokenFormat.format]), null, 2);
-              dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-              dispatch.tokenState.setCollapsedTokenSets([]);
-              notifyToUI('Pulled tokens from Bitbucket');
-            }
-          }
-          return content;
-        }
-        return await pushTokensToBitbucket(context);
-      } catch (e) {
-        notifyToUI(ErrorMessages.BITBUCKET_CREDENTIAL_ERROR, { error: true });
-        console.log('Error', e);
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.BITBUCKET_CREDENTIAL_ERROR,
-        };
-      }
-    },
-    [
-      askUserIfPull,
-      dispatch,
-      pushTokensToBitbucket,
-      storageClientFactory,
-      usedTokenSet,
-      activeTheme,
-      themes,
-      tokens,
-      checkAndSetAccess,
-    ],
-  );
- 
-  const addNewBitbucketCredentials = useCallback(
-    async (context: BitbucketFormValues): Promise<RemoteResponseData> => {
-      const data = await syncTokensWithBitbucket(context);
-      if (data.status === 'success') {
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: context,
-        });
-        if (!data.tokens) {
-          notifyToUI('No tokens stored on remote');
-        }
-      } else {
-        return {
-          status: 'failure',
-          errorMessage: data.errorMessage,
-        };
-      }
-      return {
-        status: 'success',
-        tokens: data.tokens ?? tokens,
-        themes: data.themes ?? themes,
-        metadata: {},
-      };
-    },
-    [
-      syncTokensWithBitbucket,
-      tokens,
-      themes,
-    ],
-  );
- 
-  const fetchBitbucketBranches = useCallback(
-    async (context: BitbucketCredentials) => {
-      const storage = storageClientFactory(context);
-      return storage.fetchBranches();
-    },
-    [storageClientFactory],
-  );
- 
-  const createBitbucketBranch = useCallback(
-    (context: BitbucketCredentials, newBranch: string, source?: string) => {
-      const storage = storageClientFactory(context);
-      return storage.createBranch(newBranch, source);
-    },
-    [storageClientFactory],
-  );
- 
-  return useMemo(
-    () => ({
-      addNewBitbucketCredentials,
-      syncTokensWithBitbucket,
-      pullTokensFromBitbucket,
-      pushTokensToBitbucket,
-      fetchBitbucketBranches,
-      createBitbucketBranch,
-    }),
-    [
-      addNewBitbucketCredentials,
-      syncTokensWithBitbucket,
-      pullTokensFromBitbucket,
-      pushTokensToBitbucket,
-      fetchBitbucketBranches,
-      createBitbucketBranch,
-    ],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html deleted file mode 100644 index b90a73bf3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/bitbucket getBitbucketCreatePullRequestUrl.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/** Returns a URL to a page where the user can create a pull request with a given branch */
-export function getBitbucketCreatePullRequestUrl({
-  base,
-  repo,
-  branch,
-}: {
-  base?: string;
-  repo: string;
-  branch?: string;
-}) {
-  const baseUrl = base && base !== '' ? base : 'https://bitbucket.org';
- 
-  return `${baseUrl}/${repo}/pull-requests/new?source=${branch}`;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html deleted file mode 100644 index a20ab6920..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/bitbucket - - - - - - - - - -
-
-

All files src/app/store/providers/bitbucket

-
- -
- 0% - Statements - 0/115 -
- - -
- 0% - Branches - 0/57 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/109 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
bitbucket.tsx -
-
0%0/1130%0/530%0/110%0/107
getBitbucketCreatePullRequestUrl.ts -
-
0%0/20%0/40%0/10%0/2
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html deleted file mode 100644 index 2a549dc31..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/bitbucket/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/bitbucket/index.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/bitbucket index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './bitbucket';
-export * from './getBitbucketCreatePullRequestUrl';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html deleted file mode 100644 index ab91bdb77..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/file.tsx.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/file.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers file.tsx

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useCallback, useMemo } from 'react';
-import { FileTokenStorage } from '@/storage/FileTokenStorage';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
- 
-export default function useFile() {
-  const isProUser = useIsProUser();
- 
-  const storageClientFactory = useCallback((files: FileList) => {
-    const storageClient = new FileTokenStorage(files);
- 
-    if (isProUser) storageClient.enableMultiFile();
-    return storageClient;
-  }, [isProUser]);
- 
-  const readTokensFromFileOrDirectory = useCallback(async (files: FileList): Promise<RemoteResponseData | null> => {
-    const storage = storageClientFactory(files);
-    try {
-      const content = await storage.retrieve();
-      if (content) {
-        return content;
-      }
-    } catch (e) {
-      console.log('Error', e);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.FILE_CREDENTIAL_ERROR,
-      };
-    }
-    return null;
-  }, [
-    storageClientFactory,
-  ]);
- 
-  return useMemo(() => ({
-    readTokensFromFileOrDirectory,
-  }), [
-    readTokensFromFileOrDirectory,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html deleted file mode 100644 index 5b672692f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/generic - - - - - - - - - -
-
-

All files src/app/store/providers/generic

-
- -
- 0% - Statements - 0/90 -
- - -
- 0% - Branches - 0/37 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/86 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
versionedStorage.ts -
-
0%0/900%0/370%0/60%0/86
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html deleted file mode 100644 index 0ae15454a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/generic/versionedStorage.ts.html +++ /dev/null @@ -1,997 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/generic/versionedStorage.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/generic versionedStorage.ts

-
- -
- 0% - Statements - 0/90 -
- - -
- 0% - Branches - 0/37 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/86 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import { notifyToUI } from '../../../../plugin/notifiers';
-import * as pjs from '../../../../../package.json';
-import useStorage from '../../useStorage';
-import { compareUpdatedAt } from '@/utils/date';
-import {
-  activeThemeSelector,
-  storeTokenIdInJsonEditorSelector,
-  themesListSelector,
-  tokensSelector,
-  usedTokenSetSelector,
-} from '@/selectors';
-import { UpdateRemoteFunctionPayload } from '@/types/UpdateRemoteFunction';
-import { GenericVersionedMeta, GenericVersionedStorage } from '@/storage';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import {
-  StorageTypeCredentials,
-  StorageTypeFormValues,
-  GenericVersionedStorageFlow,
-  GenericVersionedStorageType,
-} from '@/types/StorageType';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-export async function updateGenericVersionedTokens({
-  tokens,
-  themes,
-  context,
-  updatedAt,
-  oldUpdatedAt = null,
-  storeTokenIdInJsonEditor,
-}: UpdateRemoteFunctionPayload): Promise<RemoteResponseData<GenericVersionedMeta> | null> {
-  const { id, additionalHeaders, flow } = context as GenericVersionedStorageType;
- 
-  try {
-    if (!id) throw new Error('Missing Generic Versioned Storage ID');
- 
-    // Read Only is not allowed to save to external
-    if (flow === GenericVersionedStorageFlow.READ_ONLY) return null;
- 
-    const storage = new GenericVersionedStorage(id, flow, additionalHeaders);
-    const tokenSetOrder = Object.keys(tokens);
-    const payload = {
-      tokens,
-      themes,
-      metadata: {
-        tokenSetOrder,
-        updatedAt: updatedAt ?? new Date().toISOString(),
-        version: pjs.version,
-      },
-    };
- 
-    if (oldUpdatedAt) {
-      const remoteTokens = await storage.retrieve();
- 
-      if (remoteTokens?.status === 'failure') {
-        // eslint-disable-next-line no-console
-        const errorMessage = remoteTokens?.errorMessage || ErrorMessages.GENERAL_CONNECTION_ERROR;
-        notifyToUI('Error updating Generic Storage, check console (F12) ', { error: true });
-        console.error('Error updating Generic storage', errorMessage);
-        return {
-          status: 'failure',
-          errorMessage,
-        };
-      }
- 
-      const comparison = await compareUpdatedAt(oldUpdatedAt, remoteTokens?.metadata?.updatedAt ?? '');
- 
-      if (comparison === 'remote_newer') {
-        notifyToUI('Error updating tokens as remote is newer, please update first', { error: true });
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.REMOTE_VERSION_NEWER,
-        };
-      }
-    }
- 
-    // If the oldUpdatedAt doesn't exist, we still save the tokens
-    // This happens in createNewGenericVersionedStorage
-    const success = await storage.save(payload, { storeTokenIdInJsonEditor });
- 
-    if (success) {
-      return {
-        status: 'success',
-        ...payload,
-      };
-    }
- 
-    // eslint-disable-next-line no-console
-    notifyToUI('Error updating Generic Storage, check console (F12) ', { error: true });
-    console.error('Error updating Generic storage');
-    return {
-      status: 'failure',
-      errorMessage: ErrorMessages.REMOTE_CREDENTIAL_ERROR,
-    };
-  } catch (e) {
-    // eslint-disable-next-line no-console
-    notifyToUI('Error updating Generic Storage, check console (F12) ', { error: true });
-    console.error('Error updating Generic Storage', e);
-    return {
-      status: 'failure',
-      errorMessage: String(e),
-    };
-  }
-}
- 
-export function useGenericVersionedStorage() {
-  const dispatch = useDispatch<Dispatch>();
-  const { setStorageType } = useStorage();
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const usedTokenSets = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
- 
-  const createNewGenericVersionedStorage = useCallback(
-    async (
-      context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>,
-    ) => {
-      const {
-        id, name, additionalHeaders, internalId, flow,
-      } = context;
-      const updatedAt = new Date().toISOString();
-      const result = await GenericVersionedStorage.create(id, updatedAt, flow, additionalHeaders);
-      if (result) {
-        updateGenericVersionedTokens({
-          tokens,
-          context: {
-            id,
-            additionalHeaders,
-            flow,
-          },
-          themes,
-          updatedAt,
-          storeTokenIdInJsonEditor,
-          dispatch,
-        });
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: {
-            provider: StorageProviderType.GENERIC_VERSIONED_STORAGE,
-            id,
-            flow,
-            internalId,
-            name,
-            additionalHeaders,
-          },
-        });
-        dispatch.uiState.setProjectURL(id);
- 
-        return result.metadata.id;
-      }
-      notifyToUI('Something went wrong. See console for details', { error: true });
-      return null;
-    },
-    [dispatch, themes, tokens],
-  );
- 
-  // Read tokens from endpoint
-  const pullTokensFromGenericVersionedStorage = useCallback(
-    async (
-      context: Extract<StorageTypeCredentials, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>,
-    ): Promise<RemoteResponseData | null> => {
-      const {
-        id, additionalHeaders, name, internalId, flow,
-      } = context;
-      if (!id) return null;
-      try {
-        const storage = new GenericVersionedStorage(id, flow, additionalHeaders);
-        const data = await storage.retrieve();
-        dispatch.uiState.setProjectURL(id);
- 
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: {
-            internalId,
-            name,
-            id,
-            flow,
-            additionalHeaders,
-            provider: StorageProviderType.GENERIC_VERSIONED_STORAGE,
-          },
-        });
-        if (data?.status === 'failure') {
-          notifyToUI('Error fetching from Generic Versioned Storage, check console (F12)', { error: true });
-          console.error('Error:', data);
-          return {
-            status: 'failure',
-            errorMessage: data.errorMessage,
-          };
-        }
-        if (data?.metadata && data?.tokens) {
-          dispatch.tokenState.setEditProhibited(false);
-          return {
-            ...data,
-            metadata: {
-              // Define a fallback
-              tokenSetOrder: Object.keys(data.tokens),
-              ...data.metadata,
-            },
-          };
-        }
-        notifyToUI('No tokens stored on remote', { error: true });
-        return null;
-      } catch (e) {
-        notifyToUI('Error fetching from Generic Versioned Storage, check console (F12)', { error: true });
-        console.error('Error:', e);
-        return null;
-      }
-    },
-    [dispatch],
-  );
- 
-  const addGenericVersionedCredentials = useCallback(
-    async (
-      context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GENERIC_VERSIONED_STORAGE }>,
-    ): Promise<RemoteResponseData | null> => {
-      const {
-        provider, id, name, additionalHeaders, internalId, flow,
-      } = context;
-      if (!id) return null;
- 
-      // Always attempt create first if required
-      const updatedAt = new Date().toISOString();
-      const result = await GenericVersionedStorage.create(id, updatedAt, flow, additionalHeaders);
- 
-      if (!result) {
-        return {
-          status: 'failure',
-          errorMessage: 'Failed to create endpoint',
-        };
-      }
- 
-      const content = await pullTokensFromGenericVersionedStorage(context);
- 
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        dispatch.uiState.setApiData({
-          provider,
-          id,
-          name,
-          additionalHeaders,
-          internalId,
-          flow,
-        });
-        setStorageType({
-          provider: {
-            provider,
-            id,
-            additionalHeaders,
-            name,
-            internalId,
-            flow,
-          },
-          shouldSetInDocument: true,
-        });
-        dispatch.tokenState.setTokenData({
-          values: content.tokens,
-          themes: content.themes,
-          usedTokenSet: usedTokenSets,
-          activeTheme,
-          hasChangedRemote: true,
-        });
-        dispatch.tokenState.setRemoteData({
-          tokens: content.tokens,
-          themes: content.themes,
-          metadata: {
-            tokenSetOrder: Object.keys(content.tokens),
-          },
-        });
-        const stringifiedRemoteTokens = JSON.stringify(
-          compact([content.tokens, content.themes, TokenFormat.format]),
-          null,
-          2,
-        );
-        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-        return content;
-      }
- 
-      return content;
-    },
-    [dispatch, pullTokensFromGenericVersionedStorage, setStorageType, usedTokenSets, activeTheme],
-  );
- 
-  return useMemo(
-    () => ({
-      addGenericVersionedCredentials,
-      pullTokensFromGenericVersionedStorage,
-      createNewGenericVersionedStorage,
-    }),
-    [addGenericVersionedCredentials, pullTokensFromGenericVersionedStorage, createNewGenericVersionedStorage],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html deleted file mode 100644 index ef85d2b7a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/getRepositoryInformation.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/getRepositoryInformation.ts - - - - - - - - - -
-
-

All files / src/app/store/providers getRepositoryInformation.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function getRepositoryInformation(repository: string): { ownerId: string, repositoryId: string } {
-  let repositoryId = '';
-  let ownerId = '';
- 
-  if (repository && typeof repository === 'string') {
-    const values = repository.split('/');
-    repositoryId = values[values.length - 1];
-    ([ownerId] = values);
-  }
- 
-  return {
-    repositoryId,
-    ownerId,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html deleted file mode 100644 index 7f0e460b1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/getGithubCreatePullRequestUrl.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/github/getGithubCreatePullRequestUrl.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/github getGithubCreatePullRequestUrl.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/** Returns a URL to a page where the user can create a pull request with a given branch */
-export function getGithubCreatePullRequestUrl({
-  base, repo, branch,
-}: {
-  base?: string,
-  repo: string,
-  branch?: string
-}) {
-  const url = base && base !== '' ? base : 'https://github.com';
-  // We need to remove the `api/v3` part of the URL for GHE instances
-  const baseUrl = url.replace('/api/v3', '');
- 
-  return `${baseUrl}/${repo}/compare/${branch}?expand=1`;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html deleted file mode 100644 index b8d420d49..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/github.tsx.html +++ /dev/null @@ -1,1069 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/github/github.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers/github github.tsx

-
- -
- 0% - Statements - 0/125 -
- - -
- 0% - Branches - 0/64 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/118 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import useConfirm from '@/app/hooks/useConfirm';
-import usePushDialog from '@/app/hooks/usePushDialog';
-import { notifyToUI } from '@/plugin/notifiers';
-import {
-  activeThemeSelector,
-  storeTokenIdInJsonEditorSelector,
-  localApiStateSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { GithubTokenStorage } from '@/storage/GithubTokenStorage';
-import { isEqual } from '@/utils/isEqual';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { PushOverrides } from '../../remoteTokens';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-type GithubCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.GITHUB; }>;
-type GithubFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GITHUB }>;
-export function useGitHub() {
-  const tokens = useSelector(tokensSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const themes = useSelector(themesListSelector);
-  const localApiState = useSelector(localApiStateSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const isProUser = useIsProUser();
-  const dispatch = useDispatch<Dispatch>();
-  const { confirm } = useConfirm();
-  const { pushDialog, closePushDialog } = usePushDialog();
- 
-  const storageClientFactory = useCallback((context: GithubCredentials, owner?: string, repo?: string) => {
-    const splitContextId = context.id.split('/');
-    const storageClient = new GithubTokenStorage(context.secret, owner ?? splitContextId[0], repo ?? splitContextId[1], context.baseUrl ?? '');
- 
-    if (context.filePath) storageClient.changePath(context.filePath);
-    if (context.branch) storageClient.selectBranch(context.branch);
-    if (isProUser) storageClient.enableMultiFile();
-    return storageClient;
-  }, [isProUser]);
- 
-  const askUserIfPull = useCallback(async () => {
-    const confirmResult = await confirm({
-      text: 'Pull from GitHub?',
-      description: 'Your repo already contains tokens, do you want to pull these now?',
-    });
-    return confirmResult;
-  }, [confirm]);
- 
-  const pushTokensToGitHub = useCallback(async (context: GithubCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
-    const storage = storageClientFactory(context);
-    dispatch.uiState.setLocalApiState({ ...context });
-    const pushSettings = await pushDialog({ state: 'initial', overrides });
-    if (pushSettings) {
-      const { commitMessage, customBranch } = pushSettings;
-      try {
-        if (customBranch) storage.selectBranch(customBranch);
-        const metadata = {
-          tokenSetOrder: Object.keys(tokens),
-        };
-        await storage.save({
-          themes,
-          tokens,
-          metadata,
-        }, {
-          commitMessage,
-          storeTokenIdInJsonEditor,
-        });
-        const commitSha = await storage.getCommitSha();
-        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as GithubCredentials);
-        dispatch.uiState.setApiData({ ...context, branch: customBranch, ...(commitSha ? { commitSha } : {}) });
-        dispatch.tokenState.setTokenData({
-          values: tokens,
-          themes,
-          usedTokenSet,
-          activeTheme,
-          hasChangedRemote: true,
-        });
-        dispatch.tokenState.setRemoteData({
-          tokens,
-          themes,
-          metadata,
-        });
-        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
-        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-        pushDialog({ state: 'success' });
-        return {
-          status: 'success',
-          tokens,
-          themes,
-        };
-      } catch (e) {
-        closePushDialog();
-        console.log('Error pushing to GitHub', e);
-        if (e instanceof Error && e.message === ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR) {
-          return {
-            status: 'failure',
-            errorMessage: ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR,
-          };
-        }
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.GITHUB_CREDENTIAL_ERROR,
-        };
-      }
-    }
- 
-    return {
-      status: 'success',
-      tokens,
-      themes,
-      metadata: {},
-    };
-  }, [
-    storageClientFactory,
-    dispatch.uiState,
-    dispatch.tokenState,
-    pushDialog,
-    closePushDialog,
-    tokens,
-    themes,
-    localApiState,
-    usedTokenSet,
-    activeTheme,
-  ]);
- 
-  const checkAndSetAccess = useCallback(async ({
-    context, owner, repo, receivedFeatureFlags,
-  }: { context: GithubCredentials; owner: string; repo: string, receivedFeatureFlags?: LDProps['flags'] }) => {
-    const storage = storageClientFactory(context, owner, repo);
-    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
-    const hasWriteAccess = await storage.canWrite();
-    dispatch.tokenState.setEditProhibited(!hasWriteAccess);
-  }, [dispatch, storageClientFactory]);
- 
-  const pullTokensFromGitHub = useCallback(async (context: GithubCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
-    const storage = storageClientFactory(context);
-    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
- 
-    const [owner, repo] = context.id.split('/');
- 
-    await checkAndSetAccess({
-      context, owner, repo, receivedFeatureFlags,
-    });
- 
-    try {
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
-        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
-        const commitSha = await storage.getCommitSha();
-        return {
-          ...content,
-          tokens: sortedTokens,
-          commitSha,
-        };
-      }
-    } catch (e) {
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.GITHUB_CREDENTIAL_ERROR,
-      };
-    }
-    return null;
-  }, [
-    checkAndSetAccess,
-    storageClientFactory,
-  ]);
- 
-  // Function to initially check auth and sync tokens with GitHub
-  const syncTokensWithGitHub = useCallback(async (context: GithubCredentials): Promise<RemoteResponseData> => {
-    try {
-      const storage = storageClientFactory(context);
-      const hasBranches = await storage.fetchBranches();
-      dispatch.branchState.setBranches(hasBranches);
-      if (!hasBranches || !hasBranches.length) {
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
-        };
-      }
- 
-      const [owner, repo] = context.id.split('/');
-      await checkAndSetAccess({ context, owner, repo });
- 
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        if (
-          !isEqual(content.tokens, tokens)
-          || !isEqual(content.themes, themes)
-          || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
-        ) {
-          const userDecision = await askUserIfPull();
-          if (userDecision) {
-            const commitSha = await storage.getCommitSha();
-            const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
-            dispatch.tokenState.setTokenData({
-              values: sortedValues,
-              themes: content.themes,
-              activeTheme,
-              usedTokenSet,
-              hasChangedRemote: true,
-            });
-            dispatch.tokenState.setRemoteData({
-              tokens: sortedValues,
-              themes: content.themes,
-              metadata: content.metadata,
-            });
-            const stringifiedRemoteTokens = JSON.stringify(compact([content.tokens, content.themes, TokenFormat.format]), null, 2);
-            dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-            dispatch.tokenState.setCollapsedTokenSets([]);
-            dispatch.uiState.setApiData({ ...context, ...(commitSha ? { commitSha } : {}) });
-            notifyToUI('Pulled tokens from GitHub');
-          }
-        }
-        return content;
-      }
-      return await pushTokensToGitHub(context);
-    } catch (e) {
-      notifyToUI(ErrorMessages.GITHUB_CREDENTIAL_ERROR, { error: true });
-      console.log('Error', e);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.GITHUB_CREDENTIAL_ERROR,
-      };
-    }
-  }, [
-    askUserIfPull,
-    dispatch,
-    pushTokensToGitHub,
-    storageClientFactory,
-    usedTokenSet,
-    activeTheme,
-    themes,
-    tokens,
-    checkAndSetAccess,
-  ]);
- 
-  const addNewGitHubCredentials = useCallback(async (context: GithubFormValues): Promise<RemoteResponseData> => {
-    const data = await syncTokensWithGitHub(context);
-    if (data.status === 'success') {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CREDENTIALS,
-        credential: context,
-      });
-      if (!data.tokens) {
-        notifyToUI('No tokens stored on remote');
-      }
-    } else {
-      return {
-        status: 'failure',
-        errorMessage: data.errorMessage,
-      };
-    }
-    return {
-      status: 'success',
-      tokens: data.tokens ?? tokens,
-      themes: data.themes ?? themes,
-      metadata: {},
-    };
-  }, [
-    syncTokensWithGitHub,
-    tokens,
-    themes,
-  ]);
- 
-  const fetchGithubBranches = useCallback(async (context: GithubCredentials) => {
-    const storage = storageClientFactory(context);
-    return storage.fetchBranches();
-  }, [storageClientFactory]);
- 
-  const createGithubBranch = useCallback((context: GithubCredentials, newBranch: string, source?: string) => {
-    const storage = storageClientFactory(context);
-    return storage.createBranch(newBranch, source);
-  }, [storageClientFactory]);
- 
-  const checkRemoteChangeForGitHub = useCallback(async (context: GithubCredentials): Promise<boolean> => {
-    const storage = storageClientFactory(context);
-    try {
-      const remoteSha = await storage.getCommitSha();
-      if (remoteSha && context.commitSha && context.commitSha !== remoteSha) {
-        return true;
-      }
-      return false;
-    } catch {
-      return false;
-    }
-  }, [storageClientFactory]);
- 
-  return useMemo(() => ({
-    addNewGitHubCredentials,
-    syncTokensWithGitHub,
-    pullTokensFromGitHub,
-    pushTokensToGitHub,
-    fetchGithubBranches,
-    createGithubBranch,
-    checkRemoteChangeForGitHub,
-  }), [
-    addNewGitHubCredentials,
-    syncTokensWithGitHub,
-    pullTokensFromGitHub,
-    pushTokensToGitHub,
-    fetchGithubBranches,
-    createGithubBranch,
-    checkRemoteChangeForGitHub,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html deleted file mode 100644 index 1436924ca..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/github - - - - - - - - - -
-
-

All files src/app/store/providers/github

-
- -
- 0% - Statements - 0/128 -
- - -
- 0% - Branches - 0/68 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/121 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
getGithubCreatePullRequestUrl.ts -
-
0%0/30%0/40%0/10%0/3
github.tsx -
-
0%0/1250%0/640%0/120%0/118
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html deleted file mode 100644 index 9e9b0f5e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/github/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/github/index.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/github index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './getGithubCreatePullRequestUrl';
-export * from './github';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html deleted file mode 100644 index 61291590b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/gitlab getGitlabCreatePullRequestUrl.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
/** Returns a URL to a page where the user can create a pull request with a given branch */
-export function getGitlabCreatePullRequestUrl(
-  id: string,
-  base?: string,
-) {
-  const baseUrl = base || 'https://gitlab.com';
- 
-  return `${baseUrl}/${id}/-/merge_requests/new`;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html deleted file mode 100644 index 846553233..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/gitlab.tsx.html +++ /dev/null @@ -1,1120 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/gitlab/gitlab.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers/gitlab gitlab.tsx

-
- -
- 0% - Statements - 0/133 -
- - -
- 0% - Branches - 0/62 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/126 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import useConfirm from '@/app/hooks/useConfirm';
-import usePushDialog from '@/app/hooks/usePushDialog';
-import { notifyToUI } from '@/plugin/notifiers';
-import {
-  activeThemeSelector,
-  storeTokenIdInJsonEditorSelector,
-  localApiStateSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { GitlabTokenStorage } from '@/storage/GitlabTokenStorage';
-import { isEqual } from '@/utils/isEqual';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { getRepositoryInformation } from '../getRepositoryInformation';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { PushOverrides } from '../../remoteTokens';
-import { useIsProUser } from '@/app/hooks/useIsProUser';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-export type GitlabCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.GITLAB; }>;
-type GitlabFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.GITLAB }>;
- 
-export const clientFactory = async (context: GitlabCredentials, isProUser: boolean) => {
-  const {
-    secret, baseUrl, id: repoPathWithNamespace, filePath, branch, previousSourceBranch,
-  } = context;
-  const { repositoryId } = getRepositoryInformation(repoPathWithNamespace);
- 
-  const storageClient = new GitlabTokenStorage(secret, repositoryId, repoPathWithNamespace, baseUrl ?? '', branch, previousSourceBranch);
-  if (filePath) storageClient.changePath(filePath);
-  if (branch) storageClient.selectBranch(branch);
-  if (isProUser) storageClient.enableMultiFile();
-  return storageClient.assignProjectId();
-};
- 
-export function useGitLab() {
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const localApiState = useSelector(localApiStateSelector) as GitlabCredentials;
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const isProUser = useIsProUser();
-  const dispatch = useDispatch<Dispatch>();
- 
-  const { confirm } = useConfirm();
-  const { pushDialog, closePushDialog } = usePushDialog();
- 
-  const storageClientFactory = useCallback(clientFactory, []);
- 
-  const askUserIfPull = useCallback(async () => {
-    const confirmResult = await confirm({
-      text: 'Pull from GitLab?',
-      description: 'Your repo already contains tokens, do you want to pull these now?',
-    });
-    return confirmResult;
-  }, [confirm]);
- 
-  const pushTokensToGitLab = useCallback(async (context: GitlabCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
-    const storage = await storageClientFactory(context, isProUser);
- 
-    dispatch.uiState.setLocalApiState({ ...context });
- 
-    const pushSettings = await pushDialog({ state: 'initial', overrides });
-    if (pushSettings) {
-      const { commitMessage, customBranch } = pushSettings;
-      try {
-        if (customBranch) storage.selectBranch(customBranch);
-        const metadata = {
-          tokenSetOrder: Object.keys(tokens),
-        };
-        await storage.save({
-          themes,
-          tokens,
-          metadata,
-        }, {
-          commitMessage,
-          storeTokenIdInJsonEditor,
-        });
-        const latestCommitDate = await storage.getLatestCommitDate();
-        dispatch.uiState.setLocalApiState({ ...localApiState, branch: customBranch } as GitlabCredentials);
-        dispatch.uiState.setApiData({ ...context, branch: customBranch, ...(latestCommitDate ? { commitDate: latestCommitDate } : {}) });
-        dispatch.tokenState.setTokenData({
-          values: tokens,
-          themes,
-          usedTokenSet,
-          activeTheme,
-          hasChangedRemote: true,
-        });
-        dispatch.tokenState.setRemoteData({
-          tokens,
-          themes,
-          metadata,
-        });
-        const branches = await storage.fetchBranches();
-        dispatch.branchState.setBranches(branches);
-        const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
-        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-        pushDialog({ state: 'success' });
-        return {
-          status: 'success',
-          tokens,
-          themes,
-          metadata: {},
-        };
-      } catch (e: any) {
-        closePushDialog();
-        console.log('Error pushing to GitLab', e);
-        if (e instanceof Error) {
-          return {
-            status: 'failure',
-            errorMessage: e.message,
-          };
-        }
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.GITLAB_CREDENTIAL_ERROR,
-        };
-      }
-    }
-    return {
-      status: 'failure',
-      errorMessage: 'Push to remote cancelled!',
-    };
-  }, [
-    dispatch,
-    storageClientFactory,
-    pushDialog,
-    closePushDialog,
-    tokens,
-    themes,
-    localApiState,
-    usedTokenSet,
-    activeTheme,
-    isProUser,
-    storeTokenIdInJsonEditor,
-  ]);
- 
-  const checkAndSetAccess = useCallback(async ({
-    context, receivedFeatureFlags,
-  }: { context: GitlabCredentials; receivedFeatureFlags?: LDProps['flags'] }) => {
-    const storage = await storageClientFactory(context, isProUser);
-    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
-    const hasWriteAccess = await storage.canWrite();
-    dispatch.tokenState.setEditProhibited(!hasWriteAccess);
-  }, [dispatch, storageClientFactory, isProUser]);
- 
-  const pullTokensFromGitLab = useCallback(async (context: GitlabCredentials, receivedFeatureFlags?: LDProps['flags']): Promise<RemoteResponseData | null> => {
-    const storage = await storageClientFactory(context, isProUser);
-    if (receivedFeatureFlags?.multiFileSync) storage.enableMultiFile();
-    await checkAndSetAccess({
-      context, receivedFeatureFlags,
-    });
- 
-    try {
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
- 
-      if (content) {
-        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
-        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
-        const latestCommitDate = await storage.getLatestCommitDate();
-        return {
-          ...content,
-          tokens: sortedTokens,
-          ...(latestCommitDate ? { commitDate: latestCommitDate } : {}),
-        };
-      }
-    } catch (e) {
-      console.log('Error', e);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.GITLAB_CREDENTIAL_ERROR,
-      };
-    }
-    return null;
-  }, [storageClientFactory, checkAndSetAccess, isProUser]);
- 
-  const syncTokensWithGitLab = useCallback(async (context: GitlabCredentials): Promise<RemoteResponseData> => {
-    try {
-      const storage = await storageClientFactory(context, isProUser);
-      const hasBranches = await storage.fetchBranches();
-      dispatch.branchState.setBranches(hasBranches);
- 
-      if (!hasBranches || !hasBranches.length) {
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.EMPTY_BRANCH_ERROR,
-        };
-      }
- 
-      await checkAndSetAccess({ context });
- 
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        if (
-          !isEqual(content.tokens, tokens)
-          || !isEqual(content.themes, themes)
-          || !isEqual(content.metadata?.tokenSetOrder ?? Object.keys(tokens), Object.keys(tokens))
-        ) {
-          const userDecision = await askUserIfPull();
-          if (userDecision) {
-            const latestCommitDate = await storage.getLatestCommitDate();
-            const sortedValues = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder);
-            dispatch.tokenState.setTokenData({
-              values: sortedValues,
-              themes: content.themes,
-              usedTokenSet,
-              activeTheme,
-              hasChangedRemote: true,
-            });
-            dispatch.tokenState.setRemoteData({
-              tokens: sortedValues,
-              themes: content.themes,
-              metadata: content.metadata,
-            });
-            const stringifiedRemoteTokens = JSON.stringify(compact([content.tokens, content.themes, TokenFormat.format]), null, 2);
-            dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-            dispatch.tokenState.setCollapsedTokenSets([]);
-            dispatch.uiState.setApiData({ ...context, ...(latestCommitDate ? { commitDate: latestCommitDate } : {}) });
-            notifyToUI('Pulled tokens from GitLab');
-          }
-        }
-        return content;
-      }
-      return await pushTokensToGitLab(context);
-    } catch (err) {
-      notifyToUI(ErrorMessages.GITLAB_CREDENTIAL_ERROR, { error: true });
-      console.log('Error', err);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.GITLAB_CREDENTIAL_ERROR,
-      };
-    }
-  }, [
-    storageClientFactory,
-    dispatch.branchState,
-    dispatch.tokenState,
-    pushTokensToGitLab,
-    tokens,
-    themes,
-    askUserIfPull,
-    usedTokenSet,
-    activeTheme,
-    checkAndSetAccess,
-    isProUser,
-    dispatch.uiState,
-  ]);
- 
-  const addNewGitLabCredentials = useCallback(async (context: GitlabFormValues): Promise<RemoteResponseData> => {
-    const previousBranch = localApiState.branch;
-    const previousFilePath = localApiState.filePath;
-    if (previousBranch !== context.branch) {
-      context = { ...context, previousSourceBranch: previousBranch };
-    }
-    const data = await syncTokensWithGitLab(context);
- 
-    if (data.status === 'success') {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CREDENTIALS,
-        credential: context,
-      });
-      if (!data.tokens) {
-        notifyToUI('No tokens stored on remote');
-      }
-    } else {
-      // Go back to the previous setup if the user cancelled pushing to the remote or there was an error
-      dispatch.uiState.setLocalApiState({ ...context, branch: previousBranch, filePath: previousFilePath });
-      return {
-        status: 'failure',
-        errorMessage: data.errorMessage,
-      };
-    }
-    return {
-      status: 'success',
-      tokens: data.tokens ?? tokens,
-      themes: data.themes ?? themes,
-      metadata: {},
-    };
-  }, [
-    syncTokensWithGitLab,
-    tokens,
-    themes,
-  ]);
- 
-  const fetchGitLabBranches = useCallback(async (context: GitlabCredentials) => {
-    const storage = await storageClientFactory(context, isProUser);
-    return storage.fetchBranches();
-  }, [storageClientFactory, isProUser]);
- 
-  const createGitLabBranch = useCallback(async (context: GitlabCredentials, newBranch: string, source?: string) => {
-    const storage = await storageClientFactory(context, isProUser);
-    return storage.createBranch(newBranch, source);
-  }, [storageClientFactory, isProUser]);
- 
-  const checkRemoteChangeForGitLab = useCallback(async (context: GitlabCredentials): Promise<boolean> => {
-    const storage = await storageClientFactory(context, isProUser);
-    try {
-      const latestCommitDate = await storage.getLatestCommitDate();
-      if (!!latestCommitDate && !!context.commitDate && new Date(latestCommitDate) > new Date(context.commitDate)) {
-        return true;
-      }
-      return false;
-    } catch {
-      return false;
-    }
-  }, [storageClientFactory, isProUser]);
- 
-  return useMemo(() => ({
-    addNewGitLabCredentials,
-    syncTokensWithGitLab,
-    pullTokensFromGitLab,
-    pushTokensToGitLab,
-    fetchGitLabBranches,
-    createGitLabBranch,
-    checkRemoteChangeForGitLab,
-  }), [
-    addNewGitLabCredentials,
-    syncTokensWithGitLab,
-    pullTokensFromGitLab,
-    pushTokensToGitLab,
-    fetchGitLabBranches,
-    createGitLabBranch,
-    checkRemoteChangeForGitLab,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html deleted file mode 100644 index 7382b4c23..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/gitlab - - - - - - - - - -
-
-

All files src/app/store/providers/gitlab

-
- -
- 0% - Statements - 0/135 -
- - -
- 0% - Branches - 0/64 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/128 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
getGitlabCreatePullRequestUrl.ts -
-
0%0/20%0/20%0/10%0/2
gitlab.tsx -
-
0%0/1330%0/620%0/120%0/126
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html deleted file mode 100644 index ad0f3dad7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/gitlab/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/gitlab/index.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/gitlab index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './getGitlabCreatePullRequestUrl';
-export * from './gitlab';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html deleted file mode 100644 index e7d6d13ee..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers - - - - - - - - - -
-
-

All files src/app/store/providers

-
- -
- 0% - Statements - 0/134 -
- - -
- 0% - Branches - 0/57 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/129 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
file.tsx -
-
0%0/170%0/40%0/40%0/15
getRepositoryInformation.ts -
-
0%0/70%0/40%0/10%0/7
jsonbin.tsx -
-
0%0/790%0/390%0/60%0/77
url.tsx -
-
0%0/310%0/100%0/40%0/30
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html deleted file mode 100644 index 6cb248c8d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/jsonbin.tsx.html +++ /dev/null @@ -1,817 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/jsonbin.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers jsonbin.tsx

-
- -
- 0% - Statements - 0/79 -
- - -
- 0% - Branches - 0/39 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/77 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import { notifyToUI } from '../../../plugin/notifiers';
-import * as pjs from '../../../../package.json';
-import useStorage from '../useStorage';
-import { compareUpdatedAt } from '@/utils/date';
-import {
-  activeThemeSelector, storeTokenIdInJsonEditorSelector, themesListSelector, tokensSelector, usedTokenSetSelector,
-} from '@/selectors';
-import { UpdateRemoteFunctionPayload } from '@/types/UpdateRemoteFunction';
-import { JSONBinTokenStorage } from '@/storage';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-export async function updateJSONBinTokens({
-  tokens, themes, context, updatedAt, oldUpdatedAt = null, storeTokenIdInJsonEditor,
-}: UpdateRemoteFunctionPayload) {
-  const { id, secret } = context;
-  try {
-    if (!id || !secret) throw new Error('Missing JSONBin ID or secret');
- 
-    const storage = new JSONBinTokenStorage(id, secret);
- 
-    const payload = {
-      tokens,
-      themes,
-      metadata: {
-        tokenSetOrder: Object.keys(tokens),
-        updatedAt: updatedAt ?? new Date().toISOString(),
-        version: pjs.version,
-      },
-    };
- 
-    if (oldUpdatedAt) {
-      const remoteTokens = await storage.retrieve();
-      if (remoteTokens?.status === 'failure') {
-        notifyToUI('Error updating JSONBin, check console (F12)', { error: true });
-        console.log('Error updating jsonbin', remoteTokens?.errorMessage);
-        return {
-          status: 'failure',
-          errorMessage: remoteTokens?.errorMessage,
-        };
-      }
- 
-      const comparison = await compareUpdatedAt(oldUpdatedAt, remoteTokens?.metadata?.updatedAt ?? '');
-      if (comparison === 'remote_older') {
-        if (await storage.save(payload, { storeTokenIdInJsonEditor })) {
-          return payload;
-        }
-      } else {
-        // Tell the user to choose between:
-        // A) Pull Remote values and replace local changes
-        // B) Overwrite Remote changes
-        notifyToUI('Error updating tokens as remote is newer, please update first', { error: true });
-      }
-    } else if (await storage.save(payload, { storeTokenIdInJsonEditor })) {
-      return payload;
-    }
-  } catch (e) {
-    notifyToUI('Error updating JSONBin, check console (F12)', { error: true });
-    console.log('Error updating jsonbin', e);
-  }
- 
-  return null;
-}
- 
-export function useJSONbin() {
-  const dispatch = useDispatch<Dispatch>();
-  const { setStorageType } = useStorage();
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const usedTokenSets = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
- 
-  const createNewJSONBin = useCallback(async (context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.JSONBIN }>) => {
-    const { secret, name, internalId } = context;
-    const updatedAt = new Date().toISOString();
-    try {
-      const result = await JSONBinTokenStorage.create(name, updatedAt, secret);
- 
-      if (result) {
-        await updateJSONBinTokens({
-          tokens,
-          context: {
-            id: result.metadata.id,
-            secret,
-          },
-          themes,
-          updatedAt,
-          storeTokenIdInJsonEditor,
-          dispatch,
-        });
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: {
-            provider: StorageProviderType.JSONBIN,
-            id: result.metadata.id,
-            internalId,
-            name,
-            secret,
-          },
-        });
-        dispatch.uiState.setProjectURL('https://jsonbin.io/app/bins');
- 
-        return result.metadata.id;
-      }
-    } catch (e) {
-      notifyToUI('Something went wrong. See console for details', { error: true });
-      console.error(e);
-    }
-    return null;
-  }, [dispatch, themes, tokens]);
- 
-  // Read tokens from JSONBin
-  const pullTokensFromJSONBin = useCallback(async (context: Extract<StorageTypeCredentials, { provider: StorageProviderType.JSONBIN }>): Promise<RemoteResponseData | null> => {
-    const {
-      id, secret, name, internalId,
-    } = context;
-    if (!id || !secret) {
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.ID_NON_EXIST_ERROR,
-      };
-    }
-    try {
-      const storage = new JSONBinTokenStorage(id, secret);
-      const data = await storage.retrieve();
-      dispatch.uiState.setProjectURL('https://jsonbin.io/app/bins');
- 
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CREDENTIALS,
-        credential: {
-          id,
-          internalId,
-          name,
-          secret,
-          provider: StorageProviderType.JSONBIN,
-        },
-      });
-      if (data?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: data.errorMessage,
-        };
-      }
-      if (data?.metadata && data?.tokens) {
-        dispatch.tokenState.setEditProhibited(false);
-        return {
-          ...data,
-          metadata: {
-            tokenSetOrder: Object.keys(data.tokens),
-          },
-        };
-      }
-      notifyToUI('No tokens stored on remote', { error: true });
-      return null;
-    } catch (e) {
-      notifyToUI(ErrorMessages.JSONBIN_CREDENTIAL_ERROR, { error: true });
-      console.log('Error:', e);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.JSONBIN_CREDENTIAL_ERROR,
-      };
-    }
-  }, [dispatch]);
- 
-  const addJSONBinCredentials = useCallback(async (context: Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.JSONBIN }>): Promise<RemoteResponseData | null> => {
-    const {
-      provider, id, name, secret, internalId,
-    } = context;
-    if (!id || !secret) {
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.ID_NON_EXIST_ERROR,
-      };
-    }
- 
-    const content = await pullTokensFromJSONBin({
-      provider,
-      id,
-      name,
-      secret,
-      internalId,
-    });
-    if (content?.status === 'failure') {
-      return {
-        status: 'failure',
-        errorMessage: content.errorMessage,
-      };
-    }
-    if (content) {
-      dispatch.uiState.setApiData({
-        provider, id, name, secret, internalId,
-      });
-      setStorageType({
-        provider: {
-          provider, id, name, internalId,
-        },
-        shouldSetInDocument: true,
-      });
-      dispatch.tokenState.setTokenData({
-        values: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
-        themes: content.themes,
-        usedTokenSet: usedTokenSets,
-        activeTheme,
-        hasChangedRemote: true,
-      });
-      dispatch.tokenState.setRemoteData({
-        tokens: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
-        themes: content.themes,
-        metadata: { tokenSetOrder: Object.keys(tokens) },
-      });
-      const stringifiedRemoteTokens = JSON.stringify(compact([applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder), content.themes, TokenFormat.format]), null, 2);
-      dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-      return content;
-    }
-    return content;
-  }, [
-    dispatch,
-    pullTokensFromJSONBin,
-    setStorageType,
-    activeTheme,
-    usedTokenSets,
-  ]);
- 
-  return useMemo(() => ({
-    addJSONBinCredentials,
-    pullTokensFromJSONBin,
-    createNewJSONBin,
-  }), [
-    addJSONBinCredentials,
-    pullTokensFromJSONBin,
-    createNewJSONBin,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html deleted file mode 100644 index fc2ecc2e7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/getSupernovaOpenCloud.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/supernova/getSupernovaOpenCloud.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/supernova getSupernovaOpenCloud.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
/** Returns a URL to a user workspace. If no workspace is provided, opens url to primary cloud environment that redirects to the first DS automatically */
-export function getSupernovaOpenCloud(url: string | undefined) {
-  return url ?? 'https://cloud.supernova.io';
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html deleted file mode 100644 index be0f5e634..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/supernova - - - - - - - - - -
-
-

All files src/app/store/providers/supernova

-
- -
- 0% - Statements - 0/64 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/64 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
getSupernovaOpenCloud.ts -
-
0%0/10%0/20%0/10%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
supernova.tsx -
-
0%0/630%0/200%0/70%0/63
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html deleted file mode 100644 index 5bcfd1afc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/supernova/index.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/supernova index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './supernova';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html deleted file mode 100644 index b1b65daa3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/supernova/supernova.tsx.html +++ /dev/null @@ -1,709 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/supernova/supernova.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers/supernova supernova.tsx

-
- -
- 0% - Statements - 0/63 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/63 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import { notifyToUI } from '@/plugin/notifiers';
-import {
-  activeThemeSelector,
-  storeTokenIdInJsonEditorSelector,
-  localApiStateSelector,
-  themesListSelector,
-  tokensSelector,
-  usedTokenSetSelector,
-} from '@/selectors';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { SupernovaTokenStorage } from '../../../../storage/SupernovaTokenStorage';
-import usePushDialog from '../../../hooks/usePushDialog';
-import { RemoteResponseData } from '../../../../types/RemoteResponseData';
-import { ErrorMessages } from '../../../../constants/ErrorMessages';
-import { applyTokenSetOrder } from '../../../../utils/tokenset';
-import { PushOverrides } from '../../remoteTokens';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-type SupernovaCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.SUPERNOVA }>;
-type SupernovaFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.SUPERNOVA }>;
- 
-export function useSupernova() {
-  const tokens = useSelector(tokensSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const themes = useSelector(themesListSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const localApiState = useSelector(localApiStateSelector);
-  const { pushDialog, closePushDialog } = usePushDialog();
- 
-  const storageClientFactory = useCallback((context: SupernovaCredentials) => {
-    const storageClient = new SupernovaTokenStorage(context.designSystemUrl, context.mapping, context.secret);
-    return storageClient;
-  }, []);
- 
-  const pushTokensToSupernova = useCallback(
-    async (context: SupernovaCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
-      const storage = await storageClientFactory(context);
- 
-      dispatch.uiState.setLocalApiState({ ...context });
-      const pushSettings = await pushDialog({ state: 'initial', overrides });
-      if (pushSettings) {
-        try {
-          const metadata = {
-            tokenSetOrder: Object.keys(tokens),
-          };
-          await storage.save(
-            {
-              themes,
-              tokens,
-              metadata,
-            },
-            {
-              storeTokenIdInJsonEditor,
-            },
-          );
-          dispatch.uiState.setLocalApiState({ ...localApiState } as SupernovaCredentials);
-          dispatch.uiState.setApiData({ ...context });
-          dispatch.tokenState.setTokenData({
-            values: tokens,
-            themes,
-            usedTokenSet,
-            activeTheme,
-            hasChangedRemote: true,
-          });
-          dispatch.tokenState.setRemoteData({
-            tokens,
-            themes,
-            metadata,
-          });
-          const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
-          dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-          pushDialog({ state: 'success' });
-          return {
-            status: 'success',
-            tokens,
-            themes,
-            metadata: {},
-          };
-        } catch (e: any) {
-          closePushDialog();
-          // Response can also be JSON because of how Supernova server works
-          try {
-            const parsedMessage = JSON.parse((e as any).message);
-            if (parsedMessage?.message) {
-              return {
-                status: 'failure',
-                errorMessage: parsedMessage.message,
-              };
-            }
-          } catch (e) {
-            console.error(e);
-          }
-          return {
-            status: 'failure',
-            errorMessage: (e as any).message,
-          };
-        }
-      } else {
-        return {
-          status: 'success',
-          tokens,
-          themes,
-          metadata: {},
-        };
-      }
-    },
-    [dispatch, storageClientFactory, pushDialog, closePushDialog, tokens, themes, localApiState, usedTokenSet, activeTheme],
-  );
- 
-  const pullTokensFromSupernova = useCallback(async (context: SupernovaCredentials): Promise<RemoteResponseData | null> => {
-    const storage = storageClientFactory(context);
- 
-    try {
-      const content = await storage.retrieve();
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        // If we didn't get a tokenSetOrder from metadata, use the order of the token sets as they appeared
-        const sortedTokens = applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder ?? Object.keys(content.tokens));
- 
-        return {
-          ...content,
-          tokens: sortedTokens,
-        };
-      }
-    } catch (e) {
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.SUPERNOVA_CREDENTIAL_ERROR,
-      };
-    }
-    return null;
-  }, [
-    storageClientFactory,
-  ]);
- 
-  // Function to initially check auth and sync tokens with Supernova
-  const syncTokensWithSupernova = useCallback(
-    async (context: SupernovaCredentials): Promise<RemoteResponseData> => {
-      try {
-        return (await pushTokensToSupernova(context)) as any;
-      } catch (e) {
-        notifyToUI('Error syncing with Supernova, check credentials', { error: true });
-        return {
-          status: 'failure',
-          errorMessage: 'Beta error message',
-        };
-      }
-    },
-    [pushTokensToSupernova],
-  );
- 
-  const addNewSupernovaCredentials = useCallback(
-    async (context: SupernovaFormValues): Promise<RemoteResponseData> => {
-      const data = await syncTokensWithSupernova(context);
-      if (!data) {
-        return {
-          status: 'failure',
-          errorMessage: 'Error syncing tokens',
-        };
-      }
-      if (data.status === 'success') {
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: context,
-        });
-        if (!data.tokens) {
-          notifyToUI('No tokens stored on remote');
-        }
-      } else {
-        return {
-          status: 'failure',
-          errorMessage: data.errorMessage,
-        };
-      }
-      return {
-        status: 'success',
-        tokens: data.tokens ?? tokens,
-        themes: data.themes ?? themes,
-        metadata: {},
-      };
-    },
-    [syncTokensWithSupernova, tokens, themes, dispatch.tokenState, usedTokenSet, activeTheme],
-  );
- 
-  return useMemo(
-    () => ({
-      addNewSupernovaCredentials,
-      syncTokensWithSupernova,
-      pushTokensToSupernova,
-      pullTokensFromSupernova,
-    }),
-    [addNewSupernovaCredentials, syncTokensWithSupernova, pushTokensToSupernova, pullTokensFromSupernova],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html deleted file mode 100644 index 07077f813..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/tokens-studio - - - - - - - - - -
-
-

All files src/app/store/providers/tokens-studio

-
- -
- 0% - Statements - 0/70 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/70 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
tokensStudio.tsx -
-
0%0/700%0/240%0/90%0/70
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html deleted file mode 100644 index 8648df987..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/tokens-studio/index.ts - - - - - - - - - -
-
-

All files / src/app/store/providers/tokens-studio index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './tokensStudio';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html deleted file mode 100644 index 87c620cc5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/tokens-studio/tokensStudio.tsx.html +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/tokens-studio/tokensStudio.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers/tokens-studio tokensStudio.tsx

-
- -
- 0% - Statements - 0/70 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/70 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import { notifyToUI } from '@/plugin/notifiers';
-import {
-  activeThemeSelector,
-  storeTokenIdInJsonEditorSelector,
-  localApiStateSelector,
-  themesListSelector,
-  tokensSelector,
-  usedTokenSetSelector,
-} from '@/selectors';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { TokensStudioTokenStorage } from '../../../../storage/TokensStudioTokenStorage'; // todo
-import usePushDialog from '../../../hooks/usePushDialog';
-import { RemoteResponseData } from '../../../../types/RemoteResponseData';
-import { ErrorMessages } from '../../../../constants/ErrorMessages';
-import { PushOverrides } from '../../remoteTokens';
-import { RemoteTokenStorageMetadata } from '@/storage/RemoteTokenStorage';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-type TokensStudioCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.TOKENS_STUDIO }>;
-type TokensStudioFormValues = Extract<StorageTypeFormValues<false>, { provider: StorageProviderType.TOKENS_STUDIO }>;
- 
-export type TokensStudioAction =
-  | 'CREATE_TOKEN'
-  | 'EDIT_TOKEN'
-  | 'DELETE_TOKEN'
-  | 'CREATE_TOKEN_SET'
-  | 'UPDATE_TOKEN_SET'
-  | 'DELETE_TOKEN_SET'
-  | 'UPDATE_TOKEN_SET_ORDER'
-  | 'CREATE_THEME_GROUP'
-  | 'UPDATE_THEME_GROUP'
-  | 'DELETE_THEME_GROUP';
- 
-interface PushToTokensStudio {
-  context: TokensStudioCredentials;
-  action: TokensStudioAction;
-  data: any;
-  metadata?: RemoteTokenStorageMetadata['tokenSetsData'];
-  successCallback?: () => void;
-}
- 
-let storageClientObject;
- 
-const getStorageClient = (context: TokensStudioCredentials) => {
-  if (!storageClientObject) {
-    storageClientObject = new TokensStudioTokenStorage(context.id, context.orgId, context.secret);
-    return storageClientObject;
-  }
- 
-  storageClientObject.setContext(context.id, context.orgId, context.secret);
-  return storageClientObject;
-};
- 
-export const pushToTokensStudio = async ({
-  context, action, data, metadata, successCallback,
-}: PushToTokensStudio) => {
-  const storageClient = getStorageClient(context);
- 
-  storageClient.push({
-    action,
-    data,
-    metadata,
-    successCallback,
-  });
-};
- 
-export function useTokensStudio() {
-  const tokens = useSelector(tokensSelector);
-  const activeTheme = useSelector(activeThemeSelector);
-  const themes = useSelector(themesListSelector);
-  const usedTokenSet = useSelector(usedTokenSetSelector);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const dispatch = useDispatch<Dispatch>();
-  const localApiState = useSelector(localApiStateSelector);
-  const { pushDialog, closePushDialog } = usePushDialog();
- 
-  const storageClientFactory = useCallback((context: TokensStudioCredentials) => {
-    const storageClient = getStorageClient(context);
-    return storageClient;
-  }, []);
- 
-  const pushTokensToTokensStudio = useCallback(
-    async (context: TokensStudioCredentials, overrides?: PushOverrides): Promise<RemoteResponseData> => {
-      const storage = await storageClientFactory(context);
- 
-      dispatch.uiState.setLocalApiState({ ...context });
-      const pushSettings = await pushDialog({ state: 'initial', overrides });
-      if (pushSettings) {
-        try {
-          const metadata = {
-            tokenSetOrder: Object.keys(tokens),
-          };
-          await storage.save(
-            {
-              themes,
-              tokens,
-              metadata,
-            },
-            {
-              storeTokenIdInJsonEditor,
-            },
-          );
-          dispatch.uiState.setLocalApiState({ ...localApiState } as TokensStudioCredentials);
-          dispatch.uiState.setApiData({ ...context });
-          dispatch.tokenState.setTokenData({
-            values: tokens,
-            themes,
-            usedTokenSet,
-            activeTheme,
-            hasChangedRemote: true,
-          });
-          dispatch.tokenState.setRemoteData({
-            tokens,
-            themes,
-            metadata,
-          });
-          const stringifiedRemoteTokens = JSON.stringify(compact([tokens, themes, TokenFormat.format]), null, 2);
-          dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-          pushDialog({ state: 'success' });
-          return {
-            status: 'success',
-            tokens,
-            themes,
-            metadata: {},
-          };
-        } catch (e: any) {
-          closePushDialog();
-          return {
-            status: 'failure',
-            errorMessage: (e as any).message,
-          };
-        }
-      } else {
-        return {
-          status: 'success',
-          tokens,
-          themes,
-          metadata: {},
-        };
-      }
-    },
-    [
-      storageClientFactory,
-      dispatch,
-      pushDialog,
-      tokens,
-      themes,
-      storeTokenIdInJsonEditor,
-      localApiState,
-      usedTokenSet,
-      activeTheme,
-      closePushDialog,
-    ],
-  );
- 
-  const pullTokensFromTokensStudio = useCallback(
-    async (context: TokensStudioCredentials): Promise<RemoteResponseData | null> => {
-      const storage = storageClientFactory(context);
- 
-      try {
-        const content = await storage.retrieve();
-        if (content?.status === 'failure') {
-          return {
-            status: 'failure',
-            errorMessage: content.errorMessage,
-          };
-        }
-        if (content) {
-          const sortedTokens = applyTokenSetOrder(
-            content.tokens,
-            content.metadata?.tokenSetOrder ?? Object.keys(content.tokens),
-          );
-          return {
-            ...content,
-            tokens: sortedTokens,
-          };
-        }
-      } catch (e) {
-        return {
-          status: 'failure',
-          errorMessage: ErrorMessages.TOKENSSTUDIO_CREDENTIAL_ERROR,
-        };
-      }
-      return null;
-    },
-    [storageClientFactory],
-  );
- 
-  const syncTokensWithTokensStudio = useCallback(
-    async (context: TokensStudioCredentials): Promise<RemoteResponseData> => {
-      try {
-        const storage = storageClientFactory(context);
-        const data = await storage.retrieve();
- 
-        if (!data || data.status === 'failure') {
-          throw new Error(data?.errorMessage);
-        }
-        dispatch.tokenState.setTokenData({
-          values: data.tokens,
-          themes: data.themes,
-          activeTheme,
-          usedTokenSet,
-        });
-        dispatch.tokenState.setCollapsedTokenSets([]);
-        return {
-          status: 'success',
-          tokens: data.tokens,
-          themes: data.themes,
-          metadata: data.metadata ?? {},
-        };
-      } catch (e) {
-        console.error('error syncing with Tokens Studio', e);
-        notifyToUI('Error syncing with Tokens Studio, check credentials', { error: true });
-        return {
-          status: 'failure',
-          errorMessage: JSON.stringify(e),
-        };
-      }
-    },
-    [activeTheme, dispatch.tokenState, storageClientFactory, usedTokenSet],
-  );
- 
-  const addNewTokensStudioCredentials = useCallback(
-    async (context: TokensStudioFormValues): Promise<RemoteResponseData> => {
-      const data = await syncTokensWithTokensStudio(context);
-      if (!data || data.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: data.errorMessage,
-        };
-      }
-      // TODO: I think we can refactor this for all providers and move this to remoteTokens and then remove individually
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CREDENTIALS,
-        credential: context,
-      });
-      return {
-        status: 'success',
-        tokens: data.tokens ?? tokens,
-        themes: data.themes ?? themes,
-        metadata: {},
-      };
-    },
-    [syncTokensWithTokensStudio, tokens, themes],
-  );
- 
-  return useMemo(
-    () => ({
-      addNewTokensStudioCredentials,
-      syncTokensWithTokensStudio,
-      pushTokensToTokensStudio,
-      pullTokensFromTokensStudio,
-    }),
-    [addNewTokensStudioCredentials, syncTokensWithTokensStudio, pushTokensToTokensStudio, pullTokensFromTokensStudio],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html deleted file mode 100644 index 0e170444e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/providers/url.tsx.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - Code coverage report for src/app/store/providers/url.tsx - - - - - - - - - -
-
-

All files / src/app/store/providers url.tsx

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import compact from 'just-compact';
-import { Dispatch } from '@/app/store';
-import { notifyToUI } from '../../../plugin/notifiers';
-import { UrlTokenStorage } from '@/storage/UrlTokenStorage';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeCredentials } from '@/types/StorageType';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { activeThemeSelector, usedTokenSetSelector } from '@/selectors';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-type UrlCredentials = Extract<StorageTypeCredentials, { provider: StorageProviderType.URL; }>;
- 
-export default function useURL() {
-  const dispatch = useDispatch<Dispatch>();
-  const activeTheme = useSelector(activeThemeSelector);
-  const usedTokenSets = useSelector(usedTokenSetSelector);
- 
-  const storageClientFactory = useCallback((context: UrlCredentials) => (
-    new UrlTokenStorage(context.id, context.secret)
-  ), []);
- 
-  // Read tokens from URL
-  const pullTokensFromURL = useCallback(async (context: UrlCredentials): Promise<RemoteResponseData | null> => {
-    const {
-      id, secret, name, internalId,
-    } = context;
-    if (!id && !secret) {
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.ID_NON_EXIST_ERROR,
-      };
-    }
-    const storage = storageClientFactory(context);
- 
-    try {
-      const content = await storage.retrieve();
-      dispatch.uiState.setProjectURL(id);
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content.errorMessage,
-        };
-      }
-      if (content) {
-        AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREDENTIALS,
-          credential: {
-            id,
-            internalId,
-            name,
-            secret,
-            provider: StorageProviderType.URL,
-          },
-        });
- 
-        if (Object.keys(content.tokens).length) {
-          dispatch.tokenState.setTokenData({
-            values: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
-            themes: content.themes,
-            usedTokenSet: usedTokenSets,
-            activeTheme,
-          });
-          dispatch.tokenState.setRemoteData({
-            tokens: applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder),
-            themes: content.themes,
-            metadata: content.metadata,
-          });
-          const stringifiedRemoteTokens = JSON.stringify(compact([applyTokenSetOrder(content.tokens, content.metadata?.tokenSetOrder), content.themes, TokenFormat.format]), null, 2);
-          dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-          dispatch.tokenState.setEditProhibited(true);
-          return content;
-        }
-        notifyToUI('No tokens stored on remote', { error: true });
-      }
-    } catch (err) {
-      notifyToUI(ErrorMessages.URL_CREDENTIAL_ERROR, { error: true });
-      console.log('Error:', err);
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.URL_CREDENTIAL_ERROR,
-      };
-    }
-    return null;
-  }, [
-    dispatch,
-    storageClientFactory,
-    activeTheme,
-    usedTokenSets,
-  ]);
- 
-  return useMemo(() => ({
-    pullTokensFromURL,
-  }), [
-    pullTokensFromURL,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html deleted file mode 100644 index fab3fd696..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/remoteTokens.tsx.html +++ /dev/null @@ -1,2164 +0,0 @@ - - - - - - Code coverage report for src/app/store/remoteTokens.tsx - - - - - - - - - -
-
-

All files / src/app/store remoteTokens.tsx

-
- -
- 0% - Statements - 0/245 -
- - -
- 0% - Branches - 0/139 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/242 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 -566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { LDProps } from 'launchdarkly-react-client-sdk/lib/withLDConsumer';
-import compact from 'just-compact';
-import { track } from '@/utils/analytics';
-import { useJSONbin } from './providers/jsonbin';
-import useURL from './providers/url';
-import { Dispatch } from '../store';
-import useStorage from './useStorage';
-import { useGitHub } from './providers/github';
-import { useGitLab } from './providers/gitlab';
-import { useSupernova } from './providers/supernova';
-import { useBitbucket } from './providers/bitbucket';
-import { useADO } from './providers/ado';
-import useFile from '@/app/store/providers/file';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import {
-  activeTabSelector, apiSelector, themesListSelector, tokensSelector,
-} from '@/selectors';
-import { ThemeObject, UsedTokenSetsMap } from '@/types';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
-import { useGenericVersionedStorage } from './providers/generic/versionedStorage';
-import { RemoteResponseData, RemoteResponseStatus } from '@/types/RemoteResponseData';
-import { getFormat, TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { applyTokenSetOrder } from '@/utils/tokenset';
-import { isEqual } from '@/utils/isEqual';
-import usePullDialog from '../hooks/usePullDialog';
-import { Tabs } from '@/constants/Tabs';
-import { useTokensStudio } from './providers/tokens-studio';
-import { notifyToUI } from '@/plugin/notifiers';
- 
-export type PushOverrides = { branch: string; commitMessage: string };
- 
-type PullTokensOptions = {
-  context?: StorageTypeCredentials;
-  featureFlags?: LDProps['flags'];
-  usedTokenSet?: UsedTokenSetsMap | null;
-  activeTheme?: Record<string, string>;
-  collapsedTokenSets?: string[] | null;
-  updateLocalTokens?: boolean;
-};
- 
-// @TODO typings and hooks
- 
-export default function useRemoteTokens() {
-  const dispatch = useDispatch<Dispatch>();
-  const api = useSelector(apiSelector);
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const activeTab = useSelector(activeTabSelector);
-  const { showPullDialog, closePullDialog } = usePullDialog();
- 
-  const { setStorageType } = useStorage();
-  const { pullTokensFromJSONBin, addJSONBinCredentials, createNewJSONBin } = useJSONbin();
-  const { addGenericVersionedCredentials, pullTokensFromGenericVersionedStorage, createNewGenericVersionedStorage } = useGenericVersionedStorage();
-  const {
-    addNewGitHubCredentials,
-    syncTokensWithGitHub,
-    pullTokensFromGitHub,
-    pushTokensToGitHub,
-    createGithubBranch,
-    fetchGithubBranches,
-    checkRemoteChangeForGitHub,
-  } = useGitHub();
-  const {
-    addNewGitLabCredentials,
-    syncTokensWithGitLab,
-    pullTokensFromGitLab,
-    pushTokensToGitLab,
-    fetchGitLabBranches,
-    createGitLabBranch,
-    checkRemoteChangeForGitLab,
-  } = useGitLab();
-  const {
-    addNewBitbucketCredentials,
-    syncTokensWithBitbucket,
-    pullTokensFromBitbucket,
-    pushTokensToBitbucket,
-    fetchBitbucketBranches,
-    createBitbucketBranch,
-  } = useBitbucket();
-  const {
-    addNewSupernovaCredentials, syncTokensWithSupernova, pushTokensToSupernova, pullTokensFromSupernova,
-  } = useSupernova();
-  const {
-    addNewTokensStudioCredentials,
-    syncTokensWithTokensStudio,
-    pushTokensToTokensStudio,
-    pullTokensFromTokensStudio,
-  } = useTokensStudio();
-  const {
-    addNewADOCredentials,
-    syncTokensWithADO,
-    pullTokensFromADO,
-    pushTokensToADO,
-    createADOBranch,
-    fetchADOBranches,
-  } = useADO();
-  const { pullTokensFromURL } = useURL();
-  const { readTokensFromFileOrDirectory } = useFile();
- 
-  const pullTokens = useCallback(
-    async ({
-      context = api,
-      featureFlags,
-      usedTokenSet,
-      activeTheme,
-      collapsedTokenSets,
-      updateLocalTokens = false,
-    }: PullTokensOptions) => {
-      showPullDialog('loading');
-      let remoteData: RemoteResponseData<unknown> | null = null;
-      switch (context.provider) {
-        case StorageProviderType.JSONBIN: {
-          remoteData = await pullTokensFromJSONBin(context);
-          break;
-        }
-        case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
-          remoteData = await pullTokensFromGenericVersionedStorage(context);
-          break;
-        }
-        case StorageProviderType.GITHUB: {
-          remoteData = await pullTokensFromGitHub(context, featureFlags);
-          break;
-        }
-        case StorageProviderType.BITBUCKET: {
-          remoteData = await pullTokensFromBitbucket(context, featureFlags);
-          break;
-        }
-        case StorageProviderType.GITLAB: {
-          remoteData = await pullTokensFromGitLab(context, featureFlags);
-          break;
-        }
-        case StorageProviderType.ADO: {
-          remoteData = await pullTokensFromADO(context, featureFlags);
-          break;
-        }
-        case StorageProviderType.URL: {
-          remoteData = await pullTokensFromURL(context);
-          break;
-        }
-        case StorageProviderType.SUPERNOVA: {
-          remoteData = await pullTokensFromSupernova(context);
-          break;
-        }
-        case StorageProviderType.TOKENS_STUDIO: {
-          remoteData = await pullTokensFromTokensStudio(context);
-          dispatch.tokenState.setTokenFormat(TokenFormatOptions.DTCG);
-          break;
-        }
-        default:
-          throw new Error('Not implemented');
-      }
-      if (remoteData?.status === 'success') {
-        dispatch.tokenState.setRemoteData({
-          tokens: remoteData.tokens,
-          themes: remoteData.themes,
-          metadata: remoteData.metadata,
-        });
-        dispatch.uiState.setHasRemoteChange(false);
-        const stringifiedRemoteTokens = JSON.stringify(
-          compact([remoteData.tokens, remoteData.themes, TokenFormat.format]),
-          null,
-          2,
-        );
-        dispatch.tokenState.setLastSyncedState(stringifiedRemoteTokens);
-        if (activeTab !== Tabs.LOADING) {
-          if (updateLocalTokens) {
-            const format = getFormat();
-            dispatch.tokenState.setTokenFormat(format);
-          }
-        }
-        if (activeTab === Tabs.LOADING || !isEqual(tokens, remoteData.tokens) || !isEqual(themes, remoteData.themes)) {
-          let shouldOverride = false;
-          if (activeTab !== Tabs.LOADING) {
-            dispatch.tokenState.setChangedState({
-              tokens: remoteData.tokens,
-              themes: remoteData.themes,
-            });
-            shouldOverride = !!(await showPullDialog());
-          }
-          if (shouldOverride || activeTab === Tabs.LOADING) {
-            switch (context.provider) {
-              case StorageProviderType.JSONBIN: {
-                break;
-              }
-              case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
-                break;
-              }
-              case StorageProviderType.GITHUB: {
-                dispatch.uiState.setApiData({
-                  ...context,
-                  ...(remoteData.commitSha ? { commitSha: remoteData.commitSha } : {}),
-                });
-                break;
-              }
-              case StorageProviderType.BITBUCKET: {
-                break;
-              }
-              case StorageProviderType.GITLAB: {
-                dispatch.uiState.setApiData({
-                  ...context,
-                  ...(remoteData.commitDate ? { commitDate: remoteData.commitDate } : {}),
-                });
-                break;
-              }
-              case StorageProviderType.ADO: {
-                break;
-              }
-              case StorageProviderType.URL: {
-                break;
-              }
-              case StorageProviderType.TOKENS_STUDIO: {
-                dispatch.tokenState.setTokenSetMetadata(remoteData.metadata?.tokenSetsData ?? {});
-                break;
-              }
-              default:
-                break;
-            }
-            const remoteThemes: ThemeObject[] = remoteData.themes || [];
-            // remove those active themes that are no longer present in remoteThemes
-            const filteredThemes = activeTheme
-              ? Object.keys(activeTheme).reduce((acc, key) => {
-                if (remoteThemes.find((theme) => theme.id === activeTheme[key])) {
-                  acc[key] = activeTheme[key];
-                }
-                return acc;
-              }, {} as Record<string, string>)
-              : {};
- 
-            if (updateLocalTokens || shouldOverride) {
-              dispatch.tokenState.setTokenData({
-                values: remoteData.tokens,
-                themes: remoteData.themes,
-                activeTheme: filteredThemes,
-                usedTokenSet: usedTokenSet ?? {},
-                hasChangedRemote: true,
-              });
- 
-              dispatch.tokenState.setCollapsedTokenSets(collapsedTokenSets || []);
-            }
-            track('Launched with token sets', {
-              count: Object.keys(remoteData.tokens).length,
-              setNames: Object.keys(remoteData.tokens),
-            });
-          }
-        }
-      }
-      try {
-        if (remoteData?.status === 'success') {
-          const setCount = Object.keys(remoteData.tokens).length;
-          const tokensCount = Object.values(remoteData.tokens).reduce((acc, set) => acc + set.length, 0);
-          const themeCount = Object.keys(remoteData.themes).length;
-          const tokenFormat = getFormat();
-          track('pullTokens', {
-            provider: context.provider,
-            setCount,
-            tokensCount,
-            themeCount,
-            tokenFormat,
-          });
-        } else {
-          track('pullTokens failure', { provider: context.provider });
-        }
-      } catch (e) {
-        console.error(e);
-      }
- 
-      dispatch.tokenState.resetChangedState();
-      closePullDialog();
-      return remoteData;
-    },
-    [
-      tokens,
-      themes,
-      activeTab,
-      dispatch,
-      api,
-      pullTokensFromGenericVersionedStorage,
-      pullTokensFromGitHub,
-      pullTokensFromGitLab,
-      pullTokensFromBitbucket,
-      pullTokensFromJSONBin,
-      pullTokensFromURL,
-      pullTokensFromADO,
-      showPullDialog,
-      closePullDialog,
-      pullTokensFromSupernova,
-      pullTokensFromTokensStudio,
-    ],
-  );
- 
-  const restoreStoredProvider = useCallback(
-    async (context: StorageTypeCredentials) => {
-      track('restoreStoredProvider', { provider: context.provider });
-      dispatch.uiState.setLocalApiState(context);
-      dispatch.uiState.setApiData(context);
-      dispatch.tokenState.setEditProhibited(false);
-      setStorageType({ provider: context, shouldSetInDocument: true });
-      let content: RemoteResponseData | null = null;
-      switch (context.provider) {
-        case StorageProviderType.GITHUB: {
-          content = await syncTokensWithGitHub(context);
-          break;
-        }
-        case StorageProviderType.GITLAB: {
-          content = await syncTokensWithGitLab(context);
-          break;
-        }
-        case StorageProviderType.BITBUCKET: {
-          content = await syncTokensWithBitbucket(context);
-          break;
-        }
-        case StorageProviderType.ADO: {
-          content = await syncTokensWithADO(context);
-          break;
-        }
-        case StorageProviderType.SUPERNOVA: {
-          content = await syncTokensWithSupernova(context);
-          break;
-        }
-        case StorageProviderType.TOKENS_STUDIO: {
-          content = await syncTokensWithTokensStudio(context);
-          dispatch.tokenState.setTokenFormat(TokenFormatOptions.DTCG);
-          break;
-        }
-        default:
-          content = await pullTokens({ context });
-      }
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content?.errorMessage,
-        };
-      }
-      if (content) {
-        return {
-          status: 'success',
-        };
-      }
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.GENERAL_CONNECTION_ERROR,
-      };
-    },
-    [
-      dispatch,
-      setStorageType,
-      pullTokens,
-      syncTokensWithGitHub,
-      syncTokensWithGitLab,
-      syncTokensWithBitbucket,
-      syncTokensWithADO,
-      syncTokensWithSupernova,
-      syncTokensWithTokensStudio,
-    ],
-  );
- 
-  const pushTokens = useCallback(
-    async ({ context = api, overrides }: { context?: StorageTypeCredentials; overrides?: PushOverrides } = {}) => {
-      const isFolder = 'filePath' in context && !context.filePath?.endsWith('.json');
-      let pushResult;
-      switch (context.provider) {
-        case StorageProviderType.GITHUB: {
-          pushResult = await pushTokensToGitHub(context, overrides);
-          break;
-        }
-        case StorageProviderType.GITLAB: {
-          pushResult = await pushTokensToGitLab(context);
-          break;
-        }
-        case StorageProviderType.BITBUCKET: {
-          pushResult = await pushTokensToBitbucket(context);
-          break;
-        }
-        case StorageProviderType.ADO: {
-          pushResult = await pushTokensToADO(context);
-          break;
-        }
-        case StorageProviderType.SUPERNOVA: {
-          pushResult = await pushTokensToSupernova(context);
-          break;
-        }
-        case StorageProviderType.TOKENS_STUDIO: {
-          pushResult = await pushTokensToTokensStudio(context);
-          break;
-        }
-        default:
-          throw new Error('Not implemented');
-      }
-      try {
-        if (pushResult?.status === 'success') {
-          const setCount = Object.keys(tokens).length;
-          const tokensCount = Object.values(tokens).reduce((acc, set) => acc + set.length, 0);
-          const themeCount = Object.keys(themes).length;
-          const tokenFormat = getFormat();
-          track('pushTokens', {
-            provider: context.provider,
-            isFolder,
-            setCount,
-            tokensCount,
-            themeCount,
-            tokenFormat,
-          });
-        } else {
-          track('pushTokens failure', { provider: context.provider, isFolder });
-        }
-      } catch (e) {
-        console.error(e);
-      }
-      if (pushResult.status && pushResult.status === 'failure') {
-        notifyToUI(pushResult.errorMessage, { error: true });
-      }
-    },
-    [
-      api,
-      pushTokensToGitHub,
-      pushTokensToGitLab,
-      pushTokensToBitbucket,
-      pushTokensToADO,
-      pushTokensToSupernova,
-      pushTokensToTokensStudio,
-      tokens,
-      themes,
-    ],
-  );
- 
-  const addNewProviderItem = useCallback(
-    async (credentials: StorageTypeFormValues<false>): Promise<RemoteResponseStatus> => {
-      let content: RemoteResponseData | null = null;
-      switch (credentials.provider) {
-        case StorageProviderType.JSONBIN: {
-          if (credentials.id) {
-            content = await addJSONBinCredentials(credentials);
-          } else {
-            const id = await createNewJSONBin(credentials);
-            if (id) {
-              credentials.id = id;
-              return {
-                status: 'success',
-              };
-            }
-            return {
-              status: 'failure',
-              errorMessage: ErrorMessages.JSONBIN_CREATE_ERROR,
-            };
-          }
-          break;
-        }
-        case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
-          if (credentials.id) {
-            content = await addGenericVersionedCredentials(credentials);
-          } else {
-            const id = await createNewGenericVersionedStorage(credentials);
-            if (id) {
-              credentials.id = id;
-              return {
-                status: 'success',
-              };
-            }
-          }
-          break;
-        }
-        case StorageProviderType.GITHUB: {
-          content = await addNewGitHubCredentials(credentials);
-          break;
-        }
-        case StorageProviderType.GITLAB: {
-          content = await addNewGitLabCredentials(credentials);
-          break;
-        }
-        case StorageProviderType.BITBUCKET: {
-          content = await addNewBitbucketCredentials(credentials);
-          break;
-        }
-        case StorageProviderType.ADO: {
-          content = await addNewADOCredentials(credentials);
-          break;
-        }
-        case StorageProviderType.URL: {
-          content = await pullTokensFromURL(credentials);
-          break;
-        }
-        case StorageProviderType.SUPERNOVA: {
-          content = await addNewSupernovaCredentials(credentials);
-          break;
-        }
-        case StorageProviderType.TOKENS_STUDIO: {
-          content = await addNewTokensStudioCredentials(credentials);
-          break;
-        }
-        default:
-          throw new Error('Not implemented');
-      }
-      if (content?.status === 'failure') {
-        return {
-          status: 'failure',
-          errorMessage: content?.errorMessage,
-        };
-      }
-      if (content) {
-        dispatch.uiState.setLocalApiState(credentials as StorageTypeCredentials); // in JSONBIN the ID can technically be omitted, but this function handles this by creating a new JSONBin and assigning the ID
-        dispatch.uiState.setApiData(credentials as StorageTypeCredentials);
-        setStorageType({ provider: credentials as StorageTypeCredentials, shouldSetInDocument: true });
-        return {
-          status: 'success',
-        };
-      }
-      return {
-        status: 'failure',
-        errorMessage: ErrorMessages.GENERAL_CONNECTION_ERROR,
-      };
-    },
-    [
-      dispatch,
-      addJSONBinCredentials,
-      addGenericVersionedCredentials,
-      addNewGitLabCredentials,
-      addNewGitHubCredentials,
-      addNewBitbucketCredentials,
-      addNewADOCredentials,
-      addNewSupernovaCredentials,
-      addNewTokensStudioCredentials,
-      createNewJSONBin,
-      createNewGenericVersionedStorage,
-      pullTokensFromURL,
-      setStorageType,
-    ],
-  );
- 
-  const addNewBranch = useCallback(
-    async (context: StorageTypeCredentials, branch: string, source?: string) => {
-      let newBranchCreated = false;
-      switch (context.provider) {
-        case StorageProviderType.GITHUB: {
-          newBranchCreated = await createGithubBranch(context, branch, source);
-          break;
-        }
-        case StorageProviderType.GITLAB: {
-          newBranchCreated = await createGitLabBranch(context, branch, source);
-          break;
-        }
-        case StorageProviderType.BITBUCKET: {
-          newBranchCreated = await createBitbucketBranch(context, branch, source);
-          break;
-        }
-        case StorageProviderType.ADO: {
-          newBranchCreated = await createADOBranch(context, branch, source);
-          break;
-        }
-        default:
-          throw new Error('Not implemented');
-      }
-      return newBranchCreated;
-    },
-    [createGithubBranch, createGitLabBranch, createBitbucketBranch, createADOBranch],
-  );
- 
-  const fetchBranches = useCallback(
-    async (context: StorageTypeCredentials) => {
-      switch (context.provider) {
-        case StorageProviderType.GITHUB:
-          return fetchGithubBranches(context);
-        case StorageProviderType.GITLAB:
-          return fetchGitLabBranches(context);
-        case StorageProviderType.BITBUCKET:
-          return fetchBitbucketBranches(context);
-        case StorageProviderType.ADO:
-          return fetchADOBranches(context);
-        default:
-          return null;
-      }
-    },
-    [fetchGithubBranches, fetchGitLabBranches, fetchBitbucketBranches, fetchADOBranches],
-  );
- 
-  const deleteProvider = useCallback((provider: any) => {
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL,
-      context: provider,
-    });
-  }, []);
- 
-  const fetchTokensFromFileOrDirectory = useCallback(
-    async ({
-      files,
-      usedTokenSet,
-      activeTheme,
-    }: {
-      files: FileList | null;
-      usedTokenSet?: UsedTokenSetsMap;
-      activeTheme?: Record<string, string>;
-    }) => {
-      track('fetchTokensFromFileOrDirectory');
-      dispatch.uiState.startJob({ name: BackgroundJobs.UI_FETCHTOKENSFROMFILE });
- 
-      if (files) {
-        const remoteData = await readTokensFromFileOrDirectory(files);
-        if (remoteData?.status === 'success') {
-          const sortedTokens = applyTokenSetOrder(
-            remoteData.tokens,
-            remoteData.metadata?.tokenSetOrder ?? Object.keys(remoteData.tokens),
-          );
-          dispatch.tokenState.setTokenData({
-            values: sortedTokens,
-            themes: remoteData.themes,
-            activeTheme: activeTheme ?? {},
-            usedTokenSet: usedTokenSet ?? {},
-          });
-          track('Launched with token sets', {
-            count: Object.keys(remoteData.tokens).length,
-            setNames: Object.keys(remoteData.tokens),
-          });
-        }
-        dispatch.uiState.completeJob(BackgroundJobs.UI_FETCHTOKENSFROMFILE);
-        return remoteData;
-      }
-      return null;
-    },
-    [dispatch, readTokensFromFileOrDirectory],
-  );
- 
-  const checkRemoteChange = useCallback(
-    async (context: StorageTypeCredentials = api): Promise<boolean> => {
-      let hasChange = false;
-      switch (context?.provider) {
-        case StorageProviderType.JSONBIN: {
-          hasChange = false;
-          break;
-        }
-        case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
-          hasChange = false;
-          break;
-        }
-        case StorageProviderType.GITHUB: {
-          hasChange = await checkRemoteChangeForGitHub(context);
-          break;
-        }
-        case StorageProviderType.BITBUCKET: {
-          hasChange = false;
-          break;
-        }
-        case StorageProviderType.GITLAB: {
-          hasChange = await checkRemoteChangeForGitLab(context);
-          break;
-        }
-        case StorageProviderType.ADO: {
-          hasChange = false;
-          break;
-        }
-        case StorageProviderType.URL: {
-          hasChange = false;
-          break;
-        }
-        default:
-          hasChange = false;
-          break;
-      }
-      dispatch.uiState.setHasRemoteChange(hasChange);
-      return hasChange;
-    },
-    [api, checkRemoteChangeForGitHub, checkRemoteChangeForGitLab, dispatch.uiState],
-  );
- 
-  return useMemo(
-    () => ({
-      restoreStoredProvider,
-      deleteProvider,
-      pullTokens,
-      pushTokens,
-      addNewProviderItem,
-      fetchBranches,
-      addNewBranch,
-      fetchTokensFromFileOrDirectory,
-      checkRemoteChange,
-    }),
-    [
-      restoreStoredProvider,
-      deleteProvider,
-      pullTokens,
-      pushTokens,
-      addNewProviderItem,
-      fetchBranches,
-      addNewBranch,
-      fetchTokensFromFileOrDirectory,
-      checkRemoteChange,
-    ],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html deleted file mode 100644 index f94c24a8a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/updateSources.tsx.html +++ /dev/null @@ -1,739 +0,0 @@ - - - - - - Code coverage report for src/app/store/updateSources.tsx - - - - - - - - - -
-
-

All files / src/app/store updateSources.tsx

-
- -
- 0% - Statements - 0/38 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { startTransaction } from '@sentry/react';
-import { mergeTokenGroups } from '@/utils/tokenHelpers';
-import { Dispatch } from '@/app/store';
-import { notifyToUI } from '../../plugin/notifiers';
-import { updateJSONBinTokens } from './providers/jsonbin';
-import { updateGenericVersionedTokens } from './providers/generic/versionedStorage';
-import { track } from '@/utils/analytics';
-import type { AnyTokenList } from '@/types/tokens';
-import type { ThemeObjectsList, UsedTokenSetsMap } from '@/types';
-import type { SettingsState } from './models/settings';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageType, StorageTypeCredentials } from '@/types/StorageType';
-import { defaultTokenResolver } from '@/utils/TokenResolver';
-import { getFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
- 
-type UpdateRemoteTokensPayload = {
-  provider: StorageProviderType;
-  tokens: Record<string, AnyTokenList>;
-  themes: ThemeObjectsList;
-  context: StorageTypeCredentials;
-  updatedAt: string;
-  oldUpdatedAt?: string;
-  storeTokenIdInJsonEditor: boolean;
-  dispatch: Dispatch
-};
- 
-type UpdateTokensOnSourcesPayload = {
-  tokens: Record<string, AnyTokenList> | null;
-  compressedTokens: string;
-  tokenValues: Record<string, AnyTokenList>;
-  usedTokenSet: UsedTokenSetsMap;
-  themes: ThemeObjectsList;
-  compressedThemes: string;
-  activeTheme: Record<string, string>;
-  settings: SettingsState;
-  updatedAt: string;
-  shouldUpdateRemote: boolean;
-  isLocal: boolean;
-  editProhibited: boolean;
-  storageType: StorageType;
-  lastUpdatedAt: string;
-  api: StorageTypeCredentials;
-  checkForChanges: boolean;
-  shouldSwapStyles?: boolean;
-  collapsedTokenSets: string[];
-  storeTokenIdInJsonEditor: boolean
-  dispatch: Dispatch
-  tokenFormat: TokenFormatOptions
-  tokensSize: number
-  themesSize: number
-};
- 
-async function updateRemoteTokens({
-  provider,
-  tokens,
-  themes,
-  context,
-  updatedAt,
-  oldUpdatedAt,
-  storeTokenIdInJsonEditor,
-  dispatch,
-}: UpdateRemoteTokensPayload) {
-  if (!context) return;
-  const setCount = Object.keys(tokens)?.length;
-  const tokensCount = Object.values(tokens).reduce((acc, set) => acc + set.length, 0);
-  const themeCount = Object.keys(themes).length;
-  const tokenFormat = getFormat();
-  switch (provider) {
-    case StorageProviderType.JSONBIN: {
-      notifyToUI('Updating JSONBin...');
-      await updateJSONBinTokens({
-        themes,
-        tokens,
-        context,
-        updatedAt,
-        oldUpdatedAt,
-        storeTokenIdInJsonEditor,
-        dispatch,
-      });
-      track('pushTokens', {
-        provider: StorageProviderType.JSONBIN, setCount, tokensCount, themeCount, tokenFormat,
-      });
- 
-      break;
-    }
-    case StorageProviderType.GENERIC_VERSIONED_STORAGE: {
-      notifyToUI('Updating Generic Remote...');
-      await updateGenericVersionedTokens({
-        themes,
-        tokens,
-        context,
-        updatedAt,
-        oldUpdatedAt,
-        storeTokenIdInJsonEditor,
-        dispatch,
-      });
- 
-      track('pushTokens', {
-        provider: StorageProviderType.GENERIC_VERSIONED_STORAGE, setCount, tokensCount, themeCount, tokenFormat,
-      });
- 
-      break;
-    }
-    case StorageProviderType.GITHUB: {
-      break;
-    }
-    case StorageProviderType.GITLAB: {
-      break;
-    }
-    case StorageProviderType.BITBUCKET: {
-      break;
-    }
-    case StorageProviderType.ADO: {
-      break;
-    }
-    case StorageProviderType.SUPERNOVA: {
-      break;
-    }
-    case StorageProviderType.TOKENS_STUDIO: {
-      break;
-    }
-    default:
-      throw new Error(`Unimplemented storage provider for ${provider}`);
-  }
-}
- 
-export default async function updateTokensOnSources({
-  tokens,
-  tokenValues,
-  usedTokenSet,
-  themes,
-  activeTheme,
-  settings,
-  updatedAt,
-  shouldUpdateRemote = true,
-  isLocal,
-  editProhibited,
-  storageType,
-  api,
-  lastUpdatedAt,
-  checkForChanges,
-  shouldSwapStyles,
-  collapsedTokenSets,
-  storeTokenIdInJsonEditor,
-  dispatch,
-  tokenFormat,
-  compressedTokens,
-  compressedThemes,
-}: UpdateTokensOnSourcesPayload) {
-  if (tokenValues && !isLocal && shouldUpdateRemote && !editProhibited) {
-    updateRemoteTokens({
-      provider: storageType.provider,
-      tokens: tokenValues,
-      themes,
-      context: api,
-      updatedAt,
-      oldUpdatedAt: lastUpdatedAt,
-      storeTokenIdInJsonEditor,
-      dispatch,
-    });
-  }
- 
-  const mergedTokens = tokens
-    ? defaultTokenResolver.setTokens(mergeTokenGroups(tokens, usedTokenSet))
-    : null;
- 
-  let tokensSize;
-  let themesSize;
- 
-  if (mergedTokens) {
-    try {
-      tokensSize = (compressedTokens.length / 1024) * 2; // UTF-16 uses 2 bytes per character
-      themesSize = (compressedThemes.length / 1024) * 2;
- 
-      track('tokens_size', {
-        size: tokensSize,
-        storageProvider: storageType.provider,
-      });
- 
-      track('themes_size', {
-        size: themesSize,
-        storageProvider: storageType.provider,
-      });
-    } catch (error) {
-      console.error('Failed to track tokens and themes size:', error);
-    }
-  }
- 
-  const transaction = startTransaction({
-    op: 'transaction',
-    name: 'Update Tokens',
-  });
-  AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.UPDATE,
-    tokenValues,
-    tokens: mergedTokens,
-    themes,
-    updatedAt,
-    settings,
-    usedTokenSet,
-    checkForChanges,
-    activeTheme,
-    shouldSwapStyles,
-    collapsedTokenSets,
-    tokenFormat,
-    storageProvider: storageType.provider,
-    storageSize: (tokensSize + themesSize),
-    compressedTokens,
-    compressedThemes,
-  }).then((result) => {
-    if (transaction) {
-      transaction.setMeasurement('nodes', result.nodes, '');
-      transaction.finish();
-    }
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html deleted file mode 100644 index 70c0cf6b4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useManageTokens.tsx.html +++ /dev/null @@ -1,859 +0,0 @@ - - - - - - Code coverage report for src/app/store/useManageTokens.tsx - - - - - - - - - -
-
-

All files / src/app/store useManageTokens.tsx

-
- -
- 0% - Statements - 0/86 -
- - -
- 0% - Branches - 0/37 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/85 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useStore } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { SingleToken, TokenToRename } from '@/types/tokens';
-import { Dispatch, RootState } from '../store';
-import useConfirm from '../hooks/useConfirm';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { activeTokenSetSelector, tokensSelector } from '@/selectors';
-import { TokenTypes } from '@/constants/TokenTypes';
-import {
-  DeleteTokenPayload, DuplicateTokenGroupPayload, DuplicateTokenPayload, UpdateTokenPayload,
-} from '@/types/payloads';
-import useTokens from './useTokens';
-import { StyleOptions } from '@/constants/StyleOptions';
-import { ColorModifier } from '@/types/Modifier';
-import { wrapTransaction } from '@/profiling/transaction';
- 
-// @TODO this typing could be more strict in the future
- 
-export type EditSingleTokenData = {
-  parent: string;
-  type: TokenTypes;
-  name: string;
-  value: SingleToken['value'];
-  description?: string;
-  oldName?: string;
-  shouldUpdateDocument?: boolean;
-  $extensions?: {
-    [key: string]: any;
-    'studio.tokens'?: {
-      [key: string]: any;
-      id?: string;
-      modify?: ColorModifier
-    }
-  }
-};
- 
-export type CreateSingleTokenData = {
-  parent: string;
-  type: TokenTypes;
-  name: string;
-  value: SingleToken['value'];
-  description?: string;
-  shouldUpdateDocument?: boolean;
-  $extensions?: {
-    [key: string]: any;
-    'studio.tokens'?: {
-      id?: string;
-      modify?: ColorModifier
-    }
-  }
-};
- 
-type Choice = { key: string; label: string; enabled?: boolean, unique?: boolean };
- 
-export default function useManageTokens() {
-  const store = useStore<RootState>();
-  const dispatch = useDispatch<Dispatch>();
-  const { confirm } = useConfirm();
-  const { removeStylesFromTokens } = useTokens();
-  const {
-    editToken, createToken, deleteToken, duplicateToken, deleteTokenGroup, renameTokenGroup, duplicateTokenGroup, renameTokenAcrossSets, deleteDuplicateTokens,
-  } = dispatch.tokenState;
- 
-  const editSingleToken = useCallback(async (data: EditSingleTokenData) => {
-    const {
-      parent, type, name, value, description, oldName, shouldUpdateDocument = true, $extensions,
-    } = data;
-    dispatch.uiState.startJob({
-      name: BackgroundJobs.UI_EDITSINGLETOKEN,
-      isInfinite: true,
-    });
- 
-    // should be a setting which users can toggle on / off to disable auto-sync after each token change
-    const shouldUpdate = true;
-    if (shouldUpdate) {
-      editToken({
-        parent,
-        name,
-        type,
-        value,
-        description,
-        oldName,
-        shouldUpdate: shouldUpdateDocument,
-        $extensions,
-      } as UpdateTokenPayload);
-      if (oldName) {
-        dispatch.tokenState.renameStyleNamesToCurrentTheme([{ oldName, newName: name }]);
-        dispatch.tokenState.renameVariableNamesToThemes([{ oldName, newName: name }]);
-      }
-    }
-    dispatch.uiState.completeJob(BackgroundJobs.UI_EDITSINGLETOKEN);
-  }, [editToken, dispatch.uiState, dispatch.tokenState]);
- 
-  const createSingleToken = useCallback(async (data: CreateSingleTokenData) => {
-    const {
-      parent, type, name, value, description, shouldUpdateDocument = true, $extensions,
-    } = data;
-    dispatch.uiState.startJob({
-      name: BackgroundJobs.UI_CREATESINGLETOKEN,
-      isInfinite: true,
-    });
-    // should be a setting which users can toggle on / off to disable auto-sync after each token change
-    const shouldUpdate = true;
- 
-    // Importing a variable token can make a new set
-    if (!store.getState().tokenState.tokens[parent]) {
-      dispatch.tokenState.addTokenSet(parent);
-    }
- 
-    if (shouldUpdate) {
-      createToken({
-        parent,
-        name,
-        type,
-        value,
-        description,
-        shouldUpdate: shouldUpdateDocument,
-        $extensions,
-      } as UpdateTokenPayload);
-    }
-    dispatch.uiState.completeJob(BackgroundJobs.UI_CREATESINGLETOKEN);
-  }, [createToken, dispatch.uiState, dispatch.tokenState, store]);
- 
-  const duplicateSingleToken = useCallback(async (data: DuplicateTokenPayload) => {
-    dispatch.uiState.startJob({
-      name: BackgroundJobs.UI_DUPLICATETOKEN,
-      isInfinite: true,
-    });
-    duplicateToken(data);
-    dispatch.uiState.completeJob(BackgroundJobs.UI_DUPLICATETOKEN);
-  }, [duplicateToken, dispatch.uiState]);
- 
-  const deleteSingleToken = useCallback(async (data: DeleteTokenPayload) => {
-    const choices: Choice[] = [];
-    if (store.getState().tokenState.themes.length > 0 && data.type && [TokenTypes.COLOR, TokenTypes.TYPOGRAPHY, TokenTypes.BOX_SHADOW].includes(data?.type)) {
-      choices.push({
-        key: StyleOptions.REMOVE, label: 'Delete associated style',
-      });
-    }
- 
-    const userConfirmation = await confirm({
-      text: 'Delete token?',
-      description: 'Are you sure you want to delete this token?',
-      choices,
-      confirmAction: 'Delete',
-      variant: 'danger',
-    });
-    if (userConfirmation) {
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_DELETETOKEN,
-        isInfinite: true,
-      });
-      deleteToken(data); // This triggers an updateDocument call as expected
-      if (Array.isArray(userConfirmation.data) && userConfirmation.data.includes(StyleOptions.REMOVE)) {
-        removeStylesFromTokens(data);
-      }
-      dispatch.uiState.completeJob(BackgroundJobs.UI_DELETETOKEN);
-      dispatch.tokenState.removeStyleNamesFromThemes(data.path, data.parent); // TODO: This triggers an updateDocument call
-      dispatch.tokenState.removeVariableNamesFromThemes(data.path, data.parent); // TODO: This triggers an updateDocument call - its own!
-    }
-  }, [confirm, deleteToken, dispatch.uiState]);
- 
-  const deleteGroup = useCallback(async (path: string, type: string) => {
-    const userConfirmation = await confirm({
-      text: 'Delete group?',
-      description: 'Are you sure you want to delete this group?',
-      variant: 'danger',
-      confirmAction: 'Delete',
-    });
-    if (userConfirmation) {
-      const activeTokenSet = activeTokenSetSelector(store.getState());
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_DELETETOKENGROUP,
-        isInfinite: true,
-      });
-      deleteTokenGroup({ parent: activeTokenSet, path, type });
-      dispatch.uiState.completeJob(BackgroundJobs.UI_DELETETOKENGROUP);
-    }
-  }, [store, confirm, deleteTokenGroup, dispatch.uiState]);
- 
-  const deleteDuplicates = useCallback(async (duplicates: { set: string, path: string, index: number }[]) => {
-    const userConfirmation = await confirm({
-      formId: 'confirmDeleteDuplicates',
-      text: 'Delete duplicate tokens?',
-      description: 'Are you sure you want to delete duplicate tokens, keeping only the selected ones?',
-      variant: 'danger',
-      confirmAction: 'Delete',
-    });
-    if (userConfirmation) {
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_DELETETOKENGROUP,
-        isInfinite: true,
-      });
-      duplicates?.forEach((duplicate) => {
-        const { set, path, index } = duplicate;
-        deleteDuplicateTokens({ parent: set, path, index });
-      });
-      dispatch.uiState.completeJob(BackgroundJobs.UI_DELETETOKENGROUP);
-    }
-  }, [confirm, deleteDuplicateTokens, dispatch.uiState]);
- 
-  const renameGroup = useCallback(async (oldName: string, newName: string, type: string): Promise<TokenToRename[]> => {
-    const activeTokenSet = activeTokenSetSelector(store.getState());
-    const tokens = tokensSelector(store.getState());
-    await renameTokenGroup({
-      parent: activeTokenSet, oldName, newName, type,
-    });
-    const tokensInParent = tokens[activeTokenSet] ?? [];
-    const tokensToRename = tokensInParent
-      .filter((token) => token.name.startsWith(oldName) && token.type === type)
-      .map((filteredToken) => ({
-        oldName: filteredToken.name,
-        newName: filteredToken.name.replace(oldName, newName),
-      }));
-    dispatch.tokenState.renameStyleNamesToCurrentTheme(tokensToRename);
-    dispatch.tokenState.renameVariableNamesToThemes(tokensToRename);
-    return tokensToRename;
-  }, [store, renameTokenGroup, dispatch.tokenState]);
- 
-  const duplicateGroup = useCallback((data: Omit<DuplicateTokenGroupPayload, 'parent'>) => {
-    const activeTokenSet = activeTokenSetSelector(store.getState());
- 
-    dispatch.uiState.startJob({ name: BackgroundJobs.UI_DUPLICATETOKENGROUP, isInfinite: true });
-    duplicateTokenGroup({
-      parent: activeTokenSet, oldName: data.oldName, newName: data.newName, tokenSets: data.tokenSets, type: data.type,
-    });
-    dispatch.uiState.completeJob(BackgroundJobs.UI_DUPLICATETOKENGROUP);
-  }, [store, duplicateTokenGroup, dispatch.uiState]);
- 
-  const renameTokensAcrossSets = useCallback(async (oldName: string, newName: string, type: string, tokenSets: string[]) => {
-    await renameTokenAcrossSets({
-      oldName, newName, type, tokenSets,
-    });
-  }, [renameTokenAcrossSets]);
- 
-  const importMultipleTokens = useCallback(async ({ multipleUpdatedTokens, multipleNewTokens }: { multipleUpdatedTokens?: EditSingleTokenData[], multipleNewTokens?: CreateSingleTokenData[] }) => {
-    wrapTransaction({ name: 'importVariables' }, () => {
-      dispatch.uiState.startJob({ name: BackgroundJobs.UI_RENAME_TOKEN_ACROSS_SETS, isInfinite: true });
- 
-      const hasUpdatedTokens = multipleUpdatedTokens && multipleUpdatedTokens.length > 0;
-      const hasNewTokens = multipleNewTokens && multipleNewTokens.length > 0;
- 
-      if (hasUpdatedTokens) {
-        dispatch.tokenState.editMultipleTokens(multipleUpdatedTokens);
-      }
- 
-      if (hasNewTokens) {
-        dispatch.tokenState.createMultipleTokens(multipleNewTokens);
-      }
- 
-      dispatch.uiState.completeJob(BackgroundJobs.UI_RENAME_TOKEN_ACROSS_SETS);
-    });
-  }, [dispatch.uiState, dispatch.tokenState]);
- 
-  return useMemo(() => ({
-    editSingleToken, createSingleToken, deleteSingleToken, deleteGroup, duplicateSingleToken, renameGroup, duplicateGroup, renameTokensAcrossSets, importMultipleTokens, deleteDuplicates,
-  }), [editSingleToken, createSingleToken, deleteSingleToken, deleteGroup, duplicateSingleToken, renameGroup, duplicateGroup, renameTokensAcrossSets, importMultipleTokens, deleteDuplicates]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html deleted file mode 100644 index edd3c83f3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useStorage.tsx.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/app/store/useStorage.tsx - - - - - - - - - -
-
-

All files / src/app/store useStorage.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch } from 'react-redux';
-import { useCallback } from 'react';
-import type { Dispatch } from '../store';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageType } from '@/types/StorageType';
- 
-type SetStorageTypeOptions = {
-  provider: StorageType;
-  shouldSetInDocument?: boolean;
-};
- 
-export default function useStorage() {
-  const dispatch = useDispatch<Dispatch>();
- 
-  const setStorageType = useCallback(({
-    provider,
-    shouldSetInDocument = false,
-  }: SetStorageTypeOptions) => {
-    if (shouldSetInDocument) {
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_STORAGE_TYPE,
-        storageType: provider,
-      });
-    }
-    dispatch.uiState.setStorage(provider);
-  }, [dispatch]);
- 
-  return { setStorageType };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html deleted file mode 100644 index fb485744e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/useTokens.tsx.html +++ /dev/null @@ -1,2509 +0,0 @@ - - - - - - Code coverage report for src/app/store/useTokens.tsx - - - - - - - - - -
-
-

All files / src/app/store useTokens.tsx

-
- -
- 0% - Statements - 0/236 -
- - -
- 0% - Branches - 0/128 -
- - -
- 0% - Functions - 0/64 -
- - -
- 0% - Lines - 0/221 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 -566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -727 -728 -729 -730 -731 -732 -733 -734 -735 -736 -737 -738 -739 -740 -741 -742 -743 -744 -745 -746 -747 -748 -749 -750 -751 -752 -753 -754 -755 -756 -757 -758 -759 -760 -761 -762 -763 -764 -765 -766 -767 -768 -769 -770 -771 -772 -773 -774 -775 -776 -777 -778 -779 -780 -781 -782 -783 -784 -785 -786 -787 -788 -789 -790 -791 -792 -793 -794 -795 -796 -797 -798 -799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector, useStore } from 'react-redux';
-import { useCallback, useMemo, useContext } from 'react';
-import { AnyTokenList, SingleToken, TokenToRename } from '@/types/tokens';
-import stringifyTokens from '@/utils/stringifyTokens';
-import formatTokens from '@/utils/formatTokens';
-import { getEnabledTokenSets, getOverallConfig, mergeTokenGroups } from '@/utils/tokenHelpers';
-import useConfirm from '../hooks/useConfirm';
-import { Properties } from '@/constants/Properties';
-import { track } from '@/utils/analytics';
-import { checkIfAlias, getAliasValue } from '@/utils/alias';
-import {
-  activeTokenSetSelector,
-  storeTokenIdInJsonEditorSelector,
-  inspectStateSelector,
-  settingsStateSelector,
-  tokensSelector,
-  uiStateSelector,
-  updateModeSelector,
-  themesListSelector,
-} from '@/selectors';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { isEqual } from '@/utils/isEqual';
-import { UpdateMode } from '@/constants/UpdateMode';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { NodeInfo } from '@/types/NodeInfo';
-import { TokensContext } from '@/context';
-import { Dispatch, RootState } from '../store';
-import { DeleteTokenPayload } from '@/types/payloads';
-import { notifyToUI } from '@/plugin/notifiers';
-import { UpdateTokenVariablePayload } from '@/types/payloads/UpdateTokenVariablePayload';
-import { wrapTransaction } from '@/profiling/transaction';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { defaultTokenResolver } from '@/utils/TokenResolver';
-import { getFormat } from '@/plugin/TokenFormatStoreClass';
-import { ExportTokenSet } from '@/types/ExportTokenSet';
-import { useIsProUser } from '../hooks/useIsProUser';
- 
-type ConfirmResult = ('textStyles' | 'colorStyles' | 'effectStyles' | string)[] | string;
- 
-type GetFormattedTokensOptions = {
-  includeAllTokens: boolean;
-  includeParent: boolean;
-  expandTypography: boolean;
-  expandShadow: boolean;
-  expandComposition: boolean;
-  expandBorder: boolean;
-};
- 
-type RemoveTokensByValueData = { property: Properties; nodes: NodeInfo[] }[];
- 
-let lastUsedRenameOption: UpdateMode = UpdateMode.SELECTION;
- 
-export type TokensToRenamePayload = {
-  oldName: string;
-  newName: string;
-};
- 
-export default function useTokens() {
-  const dispatch = useDispatch<Dispatch>();
-  const activeTokenSet = useSelector(activeTokenSetSelector);
-  const updateMode = useSelector(updateModeSelector);
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const settings = useSelector(settingsStateSelector, isEqual);
-  const storeTokenIdInJsonEditor = useSelector(storeTokenIdInJsonEditorSelector);
-  const { confirm } = useConfirm<ConfirmResult>();
-  const store = useStore<RootState>();
-  const tokensContext = useContext(TokensContext);
-  const shouldConfirm = useMemo(() => updateMode === UpdateMode.DOCUMENT, [updateMode]);
-  const proUser = useIsProUser();
-  const VALID_TOKEN_TYPES = [
-    TokenTypes.DIMENSION,
-    TokenTypes.BORDER_RADIUS,
-    TokenTypes.BORDER,
-    TokenTypes.BORDER_WIDTH,
-    TokenTypes.SPACING,
-  ];
-  const tokenFormat = getFormat();
- 
-  // Gets value of token
-  const getTokenValue = useCallback(
-    (name: string, resolved: AnyTokenList) => resolved.find((t) => t.name === name),
-    [],
-  );
- 
-  // Returns resolved value of a specific token
-  const isAlias = useCallback(
-    (token: SingleToken, resolvedTokens: AnyTokenList) => checkIfAlias(token, resolvedTokens),
-    [],
-  );
- 
-  // Returns formatted tokens for style dictionary
-  const getFormattedTokens = useCallback(
-    (opts: GetFormattedTokensOptions) => {
-      const {
-        includeAllTokens = false,
-        includeParent = true,
-        expandTypography = false,
-        expandShadow = false,
-        expandComposition = false,
-        expandBorder = false,
-      } = opts;
-      const tokenSets = includeAllTokens ? Object.keys(tokens) : [activeTokenSet];
-      return formatTokens({
-        tokens,
-        tokenSets,
-        resolvedTokens: tokensContext.resolvedTokens,
-        includeAllTokens,
-        includeParent,
-        expandTypography,
-        expandShadow,
-        expandComposition,
-        expandBorder,
-        storeTokenIdInJsonEditor,
-      });
-    },
-    // Adding tokenFormat as a dependency to cause a change when format changes
-    // eslint-disable-next-line react-hooks/exhaustive-deps
-    [tokens, activeTokenSet, storeTokenIdInJsonEditor, tokensContext.resolvedTokens, tokenFormat],
-  );
- 
-  // Returns stringified tokens for the JSON editor
-  const getStringTokens = useCallback(
-    () => stringifyTokens(tokens, activeTokenSet, storeTokenIdInJsonEditor),
-    // Adding tokenFormat as a dependency to cause a change when format changes
-    // eslint-disable-next-line react-hooks/exhaustive-deps
-    [tokens, activeTokenSet, storeTokenIdInJsonEditor, tokenFormat],
-  );
- 
-  // handles updating JSON
-  const handleJSONUpdate = useCallback(
-    (newTokens: string) => {
-      track('Update JSON');
-      dispatch.tokenState.setJSONData(newTokens);
-    },
-    [dispatch.tokenState],
-  );
- 
-  // Handles the update operation
-  const handleUpdate = useCallback(() => {
-    track('Update Tokens');
-    if (shouldConfirm) {
-      confirm({
-        text: 'Are you sure?',
-        description:
-          'You are about to run a document wide update. This operation can take more than 30 minutes on very large documents.',
-      }).then((result) => {
-        if (result && result.result) {
-          // @ts-ignore
-          dispatch.tokenState.updateDocument();
-        }
-      });
-    } else {
-      // @ts-ignore
-      dispatch.tokenState.updateDocument();
-    }
-  }, [confirm, dispatch.tokenState, shouldConfirm]);
- 
-  // Calls Figma asking for all local text- and color styles
-  const pullStyles = useCallback(async () => {
-    const userDecision = await confirm({
-      text: 'Import styles',
-      description: 'Which styles should be imported?',
-      confirmAction: 'Import',
-      choices: [
-        { key: 'colorStyles', label: 'Color', enabled: true },
-        { key: 'textStyles', label: 'Text', enabled: true },
-        { key: 'effectStyles', label: 'Shadows', enabled: true },
-      ],
-    });
- 
-    if (userDecision && Array.isArray(userDecision.data) && userDecision.data.length) {
-      track('Import styles', {
-        textStyles: userDecision.data.includes('textStyles'),
-        colorStyles: userDecision.data.includes('colorStyles'),
-        effectStyles: userDecision.data.includes('effectStyles'),
-      });
- 
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.PULL_STYLES,
-        styleTypes: {
-          textStyles: userDecision.data.includes('textStyles'),
-          colorStyles: userDecision.data.includes('colorStyles'),
-          effectStyles: userDecision.data.includes('effectStyles'),
-        },
-      });
-    }
-  }, [confirm]);
- 
-  const pullVariables = useCallback(async () => {
-    // This will be handled by the ImportVariablesDialog component
-    // The dialog will be opened by the component using the useImportVariables hook
-  }, []);
- 
-  const removeTokensByValue = useCallback((data: RemoveTokensByValueData) => {
-    track('removeTokensByValue', { count: data.length });
- 
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE,
-      tokensToRemove: data,
-    });
-  }, []);
- 
-  const handleRemap = useCallback(
-    async (type: Properties | TokenTypes, name: string, newTokenName: string, resolvedTokens: SingleToken[]) => {
-      track('remapToken', { fromInspect: true });
- 
-      wrapTransaction({ name: 'remapToken' }, async () => AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.REMAP_TOKENS,
-        category: type,
-        oldName: name,
-        newName: newTokenName,
-        updateMode: UpdateMode.SELECTION,
-        tokens: resolvedTokens,
-        settings,
-      }));
-    },
-    [settings],
-  );
- 
-  const handleBulkRemap = useCallback(
-    async (newName: string, oldName: string, bulkUpdateMode = UpdateMode.SELECTION) => {
-      track('bulkRemapToken', { fromInspect: true });
- 
-      wrapTransaction({ name: 'bulkRemapToken' }, async () => AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.BULK_REMAP_TOKENS,
-        oldName,
-        newName,
-        updateMode: bulkUpdateMode,
-      }));
-    },
-    [],
-  );
- 
-  // Calls Figma with an old name and new name and asks it to update all tokens that use the old name
-  const remapToken = useCallback(
-    async (oldName: string, newName: string, remapUpdateMode?: UpdateMode) => {
-      track('remapToken', { fromRename: true });
- 
-      wrapTransaction({ name: 'remapToken' }, async () => AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.REMAP_TOKENS,
-        oldName,
-        newName,
-        updateMode: remapUpdateMode || settings.updateMode,
-      }));
-    },
-    [settings.updateMode],
-  );
- 
-  const remapTokensInGroup = useCallback(
-    async ({
-      oldGroupName,
-      newGroupName,
-      type,
-      tokensToRename,
-    }: {
-      oldGroupName: string;
-      newGroupName: string;
-      type: string;
-      tokensToRename: TokenToRename[];
-    }) => {
-      // TODO: Move all of this logic to individual files, this hook is already way too overloaded
-      const confirmData = await confirm({
-        text: `Remap all tokens that use tokens in ${oldGroupName} group?`,
-        description: 'This will change all layers that used the old token name. This could take a while.',
-        choices: [
-          {
-            key: UpdateMode.SELECTION,
-            label: 'Selection',
-            unique: true,
-            enabled: UpdateMode.SELECTION === lastUsedRenameOption,
-          },
-          {
-            key: UpdateMode.PAGE,
-            label: 'Page',
-            unique: true,
-            enabled: UpdateMode.PAGE === lastUsedRenameOption,
-          },
-          {
-            key: UpdateMode.DOCUMENT,
-            label: 'Document',
-            unique: true,
-            enabled: UpdateMode.DOCUMENT === lastUsedRenameOption,
-          },
-          {
-            key: 'rename-variable-token-group',
-            label: 'Rename variables',
-          },
-          {
-            key: 'rename-style-token-group',
-            label: 'Rename styles',
-          },
-        ],
-      });
-      if (confirmData && confirmData.result) {
-        if (
-          Array.isArray(confirmData.data)
-          && confirmData.data.some((data: string) => [UpdateMode.DOCUMENT, UpdateMode.PAGE, UpdateMode.SELECTION].includes(data as UpdateMode))
-        ) {
-          await Promise.all(
-            tokensToRename.map((tokenToRename) => handleBulkRemap(tokenToRename.newName, tokenToRename.oldName, confirmData.data[0] as UpdateMode)),
-          );
-          lastUsedRenameOption = confirmData.data[0] as UpdateMode;
-        }
-        if (confirmData.data.includes('rename-variable-token-group')) {
-          track('renameVariablesInTokenGroup', { newGroupName, oldGroupName });
-          const tokensInParent = tokens[activeTokenSet] ?? [];
-          const tokensToRename: TokenToRename[] = [];
-          tokensInParent.map((token) => {
-            if (token.name.startsWith(oldGroupName) && token.type === type) {
-              tokensToRename.push({
-                oldName: token.name,
-                newName: token.name.replace(`${oldGroupName}`, `${newGroupName}`),
-              });
-            }
-            return token;
-          }) as AnyTokenList;
- 
-          const result = await AsyncMessageChannel.ReactInstance.message({
-            type: AsyncMessageTypes.RENAME_VARIABLES,
-            tokens: tokensToRename,
-          });
-          dispatch.tokenState.renameVariableIdsToTheme(result.renameVariableToken);
-        }
- 
-        if (confirmData.data.includes('rename-style-token-group')) {
-          track('renameStylesInTokenGroup', { newGroupName, oldGroupName });
-          const tokensInParent = tokens[activeTokenSet] ?? [];
-          const tokensToRename = tokensInParent
-            .filter((token) => token.name.startsWith(oldGroupName) && token.type === type)
-            .map((filteredToken) => ({
-              oldName: filteredToken.name,
-              newName: filteredToken.name.replace(oldGroupName, newGroupName),
-            }));
- 
-          const renameStylesResult = await AsyncMessageChannel.ReactInstance.message({
-            type: AsyncMessageTypes.RENAME_STYLES,
-            tokensToRename,
-            parent: activeTokenSet,
-            settings,
-          });
-          dispatch.tokenState.renameStyleIdsToCurrentTheme(renameStylesResult.styleIds, tokensToRename);
-        }
-      }
-    },
-    [activeTokenSet, tokens, confirm, handleBulkRemap, dispatch.tokenState, settings],
-  );
- 
-  // Asks user which styles to create, then calls Figma with all tokens to create styles
-  const createStylesFromSelectedTokenSets = useCallback(
-    async (selectedSets: ExportTokenSet[]) => {
-      const shouldCreateStyles = (settings.stylesTypography || settings.stylesColor || settings.stylesEffect) && selectedSets.length > 0;
-      if (!shouldCreateStyles) return;
- 
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_CREATE_STYLES,
-        isInfinite: true,
-      });
- 
-      const enabledTokenSets = selectedSets
-        .filter((set) => set.status === TokenSetStatus.ENABLED)
-        .map((tokenSet) => tokenSet.set);
- 
-      if (enabledTokenSets.length === 0) {
-        notifyToUI('No styles created. Make sure token sets are active.', { error: true });
-        return;
-      }
- 
-      const selectedSetsMap = selectedSets.reduce((acc, set) => {
-        acc[set.set] = set.status;
-        return acc;
-      }, {});
- 
-      const tokensToResolve = mergeTokenGroups(tokens, selectedSetsMap);
- 
-      const resolved = defaultTokenResolver.setTokens(tokensToResolve);
-      const withoutSourceTokens = resolved.filter(
-        (token) => !token.internal__Parent || enabledTokenSets.includes(token.internal__Parent), // filter out SOURCE tokens
-      );
- 
-      const tokensToCreate = withoutSourceTokens.reduce((acc: SingleToken[], curr) => {
-        const shouldCreate = [
-          settings.stylesTypography && curr.type === TokenTypes.TYPOGRAPHY,
-          settings.stylesColor && curr.type === TokenTypes.COLOR,
-          settings.stylesEffect && curr.type === TokenTypes.BOX_SHADOW,
-        ].some((isEnabled) => isEnabled);
-        if (shouldCreate) {
-          acc.push(curr);
-        }
-        return acc;
-      }, []);
- 
-      await wrapTransaction({ name: 'createStyles' }, async () => AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CREATE_STYLES,
-        tokens: tokensToCreate,
-        sourceTokens: resolved,
-        settings,
-      }));
- 
-      track('createStyles', {
-        type: 'sets',
-        textStyles: settings.stylesTypography,
-        colorStyles: settings.stylesColor,
-        effectStyles: settings.stylesEffect,
-        setCount: selectedSets.length,
-        totalStyles: tokensToCreate.length,
-        removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
-        renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
-        ignoreFirstPartForStyles: settings.ignoreFirstPartForStyles,
-        prefixStylesWithThemeName: settings.prefixStylesWithThemeName,
-        createStylesWithVariableReferences: settings.createStylesWithVariableReferences,
-      });
- 
-      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATE_STYLES);
-    },
-    [tokens, settings, dispatch.uiState],
-  );
- 
-  const createStylesFromSelectedThemes = useCallback(
-    async (selectedThemes: string[]) => {
-      const shouldCreateStyles = (settings.stylesTypography || settings.stylesColor || settings.stylesEffect) && selectedThemes.length > 0;
-      if (!shouldCreateStyles) return;
- 
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_CREATE_STYLES,
-        isInfinite: true,
-      });
- 
-      let totalTokensToCreate = 0;
-      // Iterate over all given selectedThemes, and combine the selectedTokenSets.
-      const overallConfig = getOverallConfig(themes, selectedThemes);
- 
-      const allStyleIds: Record<string, string[]> = {};
- 
-      const allExistingStyleReferences: string[] = themes.reduce((acc, theme) => {
-        if (theme.$figmaStyleReferences) {
-          Object.keys(theme.$figmaStyleReferences).forEach((key) => {
-            if (theme.$figmaStyleReferences && theme.$figmaStyleReferences[key]) {
-              acc.push(theme.$figmaStyleReferences[key]);
-            }
-          });
-        }
-        return acc;
-      }, [] as string[]);
- 
-      for (const themeId of selectedThemes) {
-        const selectedTheme = themes.find((theme) => theme.id === themeId);
- 
-        if (selectedTheme) {
-          const selectedSets = selectedTheme.selectedTokenSets;
-          const enabledTokenSets = getEnabledTokenSets(selectedSets);
- 
-          if (enabledTokenSets.length > 0) {
-            const tokensToResolve = mergeTokenGroups(tokens, selectedSets, overallConfig);
-            const allTokens = defaultTokenResolver.setTokens(tokensToResolve);
- 
-            const tokensFromEnabledSets = allTokens.filter(
-              (token) => !token.internal__Parent || enabledTokenSets.includes(token.internal__Parent), // only use enabled sets
-            );
- 
-            const tokensToCreate = tokensFromEnabledSets.reduce((acc: SingleToken[], curr) => {
-              const shouldCreate = [
-                settings.stylesTypography && curr.type === TokenTypes.TYPOGRAPHY,
-                settings.stylesColor && curr.type === TokenTypes.COLOR,
-                settings.stylesEffect && curr.type === TokenTypes.BOX_SHADOW,
-              ].some((isEnabled) => isEnabled);
-              if (shouldCreate && !acc.find((token) => curr.name === token.name)) {
-                acc.push(curr);
-              }
- 
-              return acc;
-            }, []);
- 
-            totalTokensToCreate += tokensToCreate.length;
- 
-            const createStylesResult = await wrapTransaction({ name: 'createStyles' }, async () => AsyncMessageChannel.ReactInstance.message({
-              type: AsyncMessageTypes.CREATE_STYLES,
-              tokens: tokensToCreate,
-              sourceTokens: allTokens,
-              settings,
-              selectedTheme,
-            }));
- 
-            Object.assign(allStyleIds, createStylesResult.styleIds);
- 
-            dispatch.tokenState.assignStyleIdsToCurrentTheme({ styleIds: createStylesResult.styleIds, tokens: tokensToCreate, selectedThemes });
-          } else {
-            notifyToUI(`No styles created for theme: ${selectedTheme.name}. Make sure some sets are enabled.`, { error: true });
-          }
-        }
-      }
- 
-      track('createStyles', {
-        type: 'themes',
-        textStyles: settings.stylesTypography,
-        colorStyles: settings.stylesColor,
-        effectStyles: settings.stylesEffect,
-        themesCount: selectedThemes.length,
-        totalTokens: totalTokensToCreate,
-        removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
-        renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
-        ignoreFirstPartForStyles: settings.ignoreFirstPartForStyles,
-        prefixStylesWithThemeName: settings.prefixStylesWithThemeName,
-        createStylesWithVariableReferences: settings.createStylesWithVariableReferences,
-      });
-      // Remove styles that aren't in the theme or in the exposed token object
-      if (settings.removeStylesAndVariablesWithoutConnection) {
-        const uniqueMergedStyleIds: string[] = Array.from(new Set([
-          ...Object.values(allExistingStyleReferences).flat(),
-          ...Object.values(allStyleIds).flat(),
-        ]));
-        const { countOfRemovedStyles } = await AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION,
-          usedStyleIds: uniqueMergedStyleIds,
-        });
-        if (countOfRemovedStyles > 0) {
-          notifyToUI(`${countOfRemovedStyles} styles removed`);
-        }
-      }
- 
-      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATE_STYLES);
-    },
-    [dispatch.tokenState, tokens, settings, themes, dispatch.uiState],
-  );
- 
-  const renameStylesFromTokens = useCallback(
-    async (tokensToRename: TokensToRenamePayload[], parent: string) => {
-      track('renameStyles', { tokensToRename, parent });
- 
-      const renameStylesResult = await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.RENAME_STYLES,
-        tokensToRename,
-        parent,
-        settings,
-      });
-      dispatch.tokenState.renameStyleIdsToCurrentTheme(renameStylesResult.styleIds, tokensToRename);
-    },
-    [settings, dispatch.tokenState],
-  );
- 
-  const removeStylesFromTokens = useCallback(
-    async (token: DeleteTokenPayload) => {
-      track('removeStyles', token);
- 
-      const removeStylesResult = await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.REMOVE_STYLES,
-        token,
-        settings,
-      });
-      dispatch.tokenState.removeStyleIdsFromThemes(removeStylesResult.styleIds);
-    },
-    [settings, dispatch.tokenState],
-  );
- 
-  const setNoneValuesOnNode = useCallback(
-    (resolvedTokens: SingleToken[]) => {
-      const uiState = uiStateSelector(store.getState());
-      const inspectState = inspectStateSelector(store.getState());
-      const tokensToSet = uiState.selectionValues
-        .filter((v) => inspectState.selectedTokens.includes(`${v.category}-${v.value}`))
-        .map((v) => ({ nodes: v.nodes, property: v.type })) as {
-        property: Properties;
-        nodes: NodeInfo[];
-      }[];
- 
-      track('setNoneValuesOnNode', tokensToSet);
- 
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_NONE_VALUES_ON_NODE,
-        tokensToSet,
-        tokens: resolvedTokens,
-      });
-    },
-    [store],
-  );
- 
-  const filterMultiValueTokens = useCallback(() => {
-    const tempTokens = Object.entries(tokens).reduce((tempTokens, [tokenSetKey, tokenList]) => {
-      const filteredTokenList = tokenList.reduce((acc, tokenItem) => {
-        const resolvedValue = getAliasValue(tokenItem, tokensContext.resolvedTokens) || '';
-        // If extension data exists, it is likely that the token is a complex token containing color modifier data, etc
-        // in which case we collapse the value as it cannot be used as a variable
-        if ((tokenItem.$extensions || {})['studio.tokens'] && typeof resolvedValue === 'string') {
-          // We don't want to change the actual value as this could cause unintended side effects
-          tokenItem = { ...tokenItem };
-          tokenItem.value = resolvedValue;
-        }
-        if (typeof tokenItem.value === 'string' && VALID_TOKEN_TYPES.includes(tokenItem.type)) {
-          if (resolvedValue.toString().trim().includes(' ')) {
-            return acc;
-          }
-        }
-        acc.push(tokenItem);
-        return acc;
-      }, [] as AnyTokenList);
-      tempTokens[tokenSetKey] = filteredTokenList;
-      return tempTokens;
-    }, {} as Record<string, AnyTokenList>);
- 
-    return tempTokens;
-  }, [tokens]);
- 
-  const createVariables = useCallback(async () => {
-    dispatch.uiState.startJob({
-      name: BackgroundJobs.UI_CREATEVARIABLES,
-      isInfinite: true,
-    });
-    const multiValueFilteredTokens = filterMultiValueTokens();
-    const createVariableResult = await wrapTransaction(
-      {
-        name: 'createVariables',
-        statExtractor: async (result, transaction) => {
-          const data = await result;
-          if (data) {
-            transaction.setMeasurement('variables', data.totalVariables, '');
-          }
-        },
-      },
-      async () => await AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.CREATE_LOCAL_VARIABLES,
-        tokens: multiValueFilteredTokens,
-        settings,
-      }),
-    );
-    dispatch.tokenState.assignVariableIdsToTheme(createVariableResult.variableIds);
-    dispatch.uiState.completeJob(BackgroundJobs.UI_CREATEVARIABLES);
-  }, [dispatch.tokenState, dispatch.uiState, tokens, settings]);
- 
-  const createVariablesFromSets = useCallback(
-    async (selectedSets: ExportTokenSet[]) => {
-      const shouldCreateVariables = (settings.variablesBoolean
-          || settings.variablesColor
-          || settings.variablesNumber
-          || settings.variablesString)
-        && selectedSets.length > 0;
-      if (!shouldCreateVariables) return;
- 
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_CREATEVARIABLES,
-        isInfinite: true,
-      });
-      await wrapTransaction(
-        {
-          name: 'createVariables',
-          statExtractor: async (result, transaction) => {
-            const data = await result;
-            if (data) {
-              track('createVariables', {
-                type: 'sets',
-                totalVariables: data.totalVariables,
-                setCount: selectedSets.length,
-                variablesColor: settings.variablesColor,
-                variablesNumber: settings.variablesNumber,
-                variablesString: settings.variablesString,
-                variablesBoolean: settings.variablesBoolean,
-                removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
-                renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
-              });
-              transaction.setMeasurement('variables', data.totalVariables, '');
-            }
-          },
-        },
-        async () => await AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES,
-          tokens,
-          settings,
-          selectedSets,
-        }),
-      );
-      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATEVARIABLES);
-      Promise.resolve();
-    },
-    [dispatch.uiState, tokens, settings],
-  );
- 
-  const createVariablesFromThemes = useCallback(
-    async (selectedThemes: string[]) => {
-      const shouldCreateVariables = (settings.variablesBoolean
-          || settings.variablesColor
-          || settings.variablesNumber
-          || settings.variablesString)
-        && selectedThemes.length > 0;
-      if (!shouldCreateVariables) return;
- 
-      dispatch.uiState.startJob({
-        name: BackgroundJobs.UI_CREATEVARIABLES,
-        isInfinite: true,
-      });
-      const createVariableResult = await wrapTransaction(
-        {
-          name: 'createVariables',
-          statExtractor: async (result, transaction) => {
-            const data = await result;
-            if (data) {
-              track('createVariables', {
-                type: 'themes',
-                totalVariables: data.totalVariables,
-                themeCount: selectedThemes.length,
-                variablesColor: settings.variablesColor,
-                variablesNumber: settings.variablesNumber,
-                variablesString: settings.variablesString,
-                variablesBoolean: settings.variablesBoolean,
-                removeStylesAndVariablesWithoutConnection: settings.removeStylesAndVariablesWithoutConnection,
-                renameExistingStylesAndVariables: settings.renameExistingStylesAndVariables,
-              });
-              transaction.setMeasurement('variables', data.totalVariables, '');
-            }
-          },
-        },
-        async () => await AsyncMessageChannel.ReactInstance.message({
-          type: AsyncMessageTypes.CREATE_LOCAL_VARIABLES,
-          tokens,
-          settings,
-          selectedThemes,
-        }),
-      );
-      dispatch.tokenState.assignVariableIdsToTheme(createVariableResult.variableIds);
-      dispatch.uiState.completeJob(BackgroundJobs.UI_CREATEVARIABLES);
-      Promise.resolve();
-    },
-    [dispatch.tokenState, dispatch.uiState, tokens, settings],
-  );
- 
-  const renameVariablesFromToken = useCallback(
-    async ({ oldName, newName }: TokenToRename) => {
-      track('renameVariables', { oldName, newName });
- 
-      const result = await wrapTransaction({ name: 'renameVariables' }, async () => AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.RENAME_VARIABLES,
-        tokens: [
-          {
-            oldName,
-            newName,
-          },
-        ],
-      }));
- 
-      dispatch.tokenState.renameVariableIdsToTheme(result.renameVariableToken);
-    },
-    [dispatch.tokenState],
-  );
- 
-  const updateVariablesFromToken = useCallback(async (payload: UpdateTokenVariablePayload) => {
-    track('updateVariables', payload);
- 
-    await wrapTransaction({ name: 'updateVariables' }, async () => AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.UPDATE_VARIABLES,
-      payload,
-    }));
-  }, []);
- 
-  return useMemo(
-    () => ({
-      isAlias,
-      getTokenValue,
-      getFormattedTokens,
-      getStringTokens,
-      createStylesFromSelectedTokenSets,
-      createStylesFromSelectedThemes,
-      pullStyles,
-      pullVariables,
-      remapToken,
-      remapTokensInGroup,
-      removeTokensByValue,
-      handleRemap,
-      renameStylesFromTokens,
-      handleBulkRemap,
-      removeStylesFromTokens,
-      setNoneValuesOnNode,
-      handleUpdate,
-      handleJSONUpdate,
-      createVariables,
-      createVariablesFromSets,
-      renameVariablesFromToken,
-      createVariablesFromThemes,
-      updateVariablesFromToken,
-      filterMultiValueTokens,
-    }),
-    [
-      isAlias,
-      getTokenValue,
-      getFormattedTokens,
-      getStringTokens,
-      createStylesFromSelectedTokenSets,
-      createStylesFromSelectedThemes,
-      pullStyles,
-      pullVariables,
-      remapToken,
-      remapTokensInGroup,
-      removeTokensByValue,
-      handleRemap,
-      renameStylesFromTokens,
-      handleBulkRemap,
-      removeStylesFromTokens,
-      setNoneValuesOnNode,
-      handleUpdate,
-      handleJSONUpdate,
-      createVariables,
-      createVariablesFromSets,
-      createVariablesFromThemes,
-      renameVariablesFromToken,
-      updateVariablesFromToken,
-      filterMultiValueTokens,
-    ],
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html deleted file mode 100644 index f7af53c09..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/app/store/utils - - - - - - - - - -
-
-

All files src/app/store/utils

-
- -
- 0% - Statements - 0/43 -
- - -
- 0% - Branches - 0/31 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/37 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
updateAliasesInState.ts -
-
0%0/350%0/200%0/60%0/30
updateModify.ts -
-
0%0/80%0/110%0/20%0/7
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html deleted file mode 100644 index d920b9d32..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateAliasesInState.ts.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - Code coverage report for src/app/store/utils/updateAliasesInState.ts - - - - - - - - - -
-
-

All files / src/app/store/utils updateAliasesInState.ts

-
- -
- 0% - Statements - 0/35 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AnyTokenList, SingleToken, TokenToRename } from '@/types/tokens';
-import { replaceReferences } from '@/utils/findReferences';
-import { TokenState } from '../models/tokenState';
-import { updateModify } from './updateModify';
- 
-export function updateAliasesInState(tokens: Record<string, AnyTokenList>, data: TokenToRename) {
-  const updatedSets: string[] = [];
-  const updatedTokens = Object.entries(tokens).reduce<TokenState['tokens']>(
-    (acc, [key, values]) => {
-      const newValues = values.map<SingleToken>((token) => {
-        try {
-        // Update references inside modify
-          const newToken = updateModify(token, data);
-          // check if $extensions was updated
-          if (JSON.stringify(newToken.$extensions) !== JSON.stringify(token.$extensions)) {
-            if (!updatedSets.includes(key)) updatedSets.push(key);
-          }
- 
-          // Update if token is of type array, e.g. box shadows
-          if (Array.isArray(newToken.value)) {
-            const newTokenValue = newToken.value.map((t) => Object.entries(t).reduce<Record<string, string | number>>((a, [k, v]) => {
-              a[k] = replaceReferences(v.toString(), data.oldName, data.newName);
-              return a;
-            }, {}));
- 
-            if (JSON.stringify(newTokenValue) !== JSON.stringify(newToken.value)) {
-              if (!updatedSets.includes(key)) updatedSets.push(key);
-            }
- 
-            return {
-              ...newToken,
-              value: newTokenValue,
-            } as SingleToken;
-          }
- 
-          // Update if we have a composite token value, e.g. typography
-          if (typeof newToken.value === 'object') {
-            const newTokenValue = Object.entries(newToken.value).reduce<Record<string, string | number>>((a, [k, v]) => {
-              a[k] = replaceReferences(v.toString(), data.oldName, data.newName);
-              return a;
-            }, {});
- 
-            if (JSON.stringify(newTokenValue) !== JSON.stringify(newToken.value)) {
-              if (!updatedSets.includes(key)) updatedSets.push(key);
-            }
- 
-            return {
-              ...newToken,
-              value: newTokenValue,
-            } as SingleToken;
-          }
- 
-          const newValue = replaceReferences(newToken.value.toString(), data.oldName, data.newName);
-          if (newValue !== newToken.value) {
-            if (!updatedSets.includes(key)) updatedSets.push(key);
-          }
- 
-          // Update for remaining token value types
-          return {
-            ...newToken,
-            value: newValue,
-          } as SingleToken;
-        } catch (e) {
-          console.error(e);
-          return token;
-        }
-      });
- 
-      acc[key] = newValues;
-      return acc;
-    },
-    {},
-  );
-  return { updatedTokens, updatedSets };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html deleted file mode 100644 index 9b75bfa2f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/app/store/utils/updateModify.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/app/store/utils/updateModify.ts - - - - - - - - - -
-
-

All files / src/app/store/utils updateModify.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ColorModifier } from '@/types/Modifier';
-import { SingleToken, TokenToRename } from '@/types/tokens';
- 
-export function updateModify(token: SingleToken, data: TokenToRename) {
-  if (!token.$extensions?.['studio.tokens'] && !token.$extensions?.['studio.tokens']?.modify) return token;
- 
-  let updatedModify = token.$extensions?.['studio.tokens']?.modify;
-  if (token.$extensions?.['studio.tokens'] && token.$extensions?.['studio.tokens']?.modify && token.$extensions?.['studio.tokens'].modify.value) {
-    updatedModify = Object.entries(token.$extensions?.['studio.tokens'].modify).reduce<ColorModifier>((modify, [key, value]: string[]) => {
-      modify = {
-        ...modify,
-        [key]: value.replace(data.oldName, data.newName),
-      };
-      return modify;
-    }, {} as ColorModifier);
-  }
- 
-  return {
-    ...token,
-    $extensions: {
-      ...token.$extensions,
-      'studio.tokens': {
-        ...token.$extensions['studio.tokens'],
-        ...(updatedModify && { modify: { ...updatedModify } }),
-      },
-    },
-  } as SingleToken;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/index.html b/packages/tokens-studio-for-figma/lcov-report/src/config/index.html deleted file mode 100644 index f74b82b9c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/config/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/config - - - - - - - - - -
-
-

All files src/config

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
properties.js -
-
0%0/00%0/00%0/00%0/0
tokenType.defs.json.d.ts -
-
0%0/00%0/00%0/00%0/0
tokenTypes.js -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html b/packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html deleted file mode 100644 index fd131bfc5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/config/properties.js.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for src/config/properties.js - - - - - - - - - -
-
-

All files / src/config properties.js

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export default {
-  values: 'other',
-  sizing: 'sizing',
-  height: 'sizing',
-  width: 'sizing',
-  minWidth: 'sizing',
-  maxWidth: 'sizing',
-  minHeight: 'sizing',
-  maxHeight: 'sizing',
-  spacing: 'spacing',
-  verticalPadding: 'spacing',
-  horizontalPadding: 'spacing',
-  counterAxisSpacing: 'spacing',
-  paddingTop: 'spacing',
-  paddingRight: 'spacing',
-  paddingBottom: 'spacing',
-  paddingLeft: 'spacing',
-  itemSpacing: 'spacing',
-  fill: 'color',
-  border: 'color',
-  borderRadius: 'borderRadius',
-  borderRadiusTopLeft: 'borderRadius',
-  borderRadiusTopRight: 'borderRadius',
-  borderRadiusBottomRight: 'borderRadius',
-  borderRadiusBottomLeft: 'borderRadius',
-  borderWidth: 'borderWidth',
-  boxShadow: 'boxShadow',
-  opacity: 'opacity',
-  fontFamilies: 'fontFamilies',
-  fontWeights: 'fontWeights',
-  fontSizes: 'fontSizes',
-  lineHeights: 'lineHeights',
-  typography: 'typography',
-  letterSpacing: 'letterSpacing',
-  paragraphSpacing: 'paragraphSpacing',
-  textCase: 'textCase',
-  textDecoration: 'textDecoration',
-  dimension: 'dimension',
-  text: 'text',
-  number: 'number',
-  tokenValue: 'documentation',
-  value: 'documentation',
-  tokenName: 'documentation',
-  description: 'documentation',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html deleted file mode 100644 index 7cebe5dab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/config/tokenType.defs.json.d.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/config/tokenType.defs.json.d.ts - - - - - - - - - -
-
-

All files / src/config tokenType.defs.json.d.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
declare const tokenTypes: Record<
-import('../constants/TokenTypes').TokenTypes,
-import('../types/tokens/TokenTypeSchema').TokenTypeSchema
->;
-export default tokenTypes;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html b/packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html deleted file mode 100644 index 593244916..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/config/tokenTypes.js.html +++ /dev/null @@ -1,922 +0,0 @@ - - - - - - Code coverage report for src/config/tokenTypes.js - - - - - - - - - -
-
-

All files / src/config tokenTypes.js

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { object } from 'dot-object';
- 
-const tokenTypes = {
-  sizing: {
-    label: 'Size',
-    property: 'Size',
-    type: 'sizing',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  spacing: {
-    label: 'Space',
-    property: 'Value',
-    type: 'spacing',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  color: {
-    label: 'Color',
-    property: 'Color',
-    type: 'color',
-    schema: {
-      value: 'color',
-      options: {
-        description: '',
-      },
-    },
-    help:
-      "If a (local) style is found with the same name it will match to that, if not, will use hex value. Use 'Create Style' to batch-create styles from your tokens (e.g. in your design library). In the future we'll load all 'remote' styles and reference them inside the JSON.",
-  },
-  borderRadius: {
-    label: 'Border Radius',
-    property: 'Border Radius',
-    type: 'borderRadius',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  borderWidth: {
-    label: 'Border Width',
-    property: 'Border Width',
-    type: 'borderWidth',
-    explainer: 'Enter as a number, e.g. 4',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  opacity: {
-    label: 'Opacity',
-    property: 'Opacity',
-    type: 'opacity',
-    explainer: 'Set as 50% or 0.5',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  boxShadow: {
-    label: 'Box Shadow',
-    property: 'Box Shadow',
-    type: 'boxShadow',
-    schema: {
-      value: {
-        x: '0',
-        y: '0',
-        blur: '0',
-        spread: '0',
-        color: '#000000',
-        type: 'dropShadow',
-      },
-      options: {
-        description: '',
-      },
-    },
-  },
-  typography: {
-    label: 'Typography',
-    property: 'Typography',
-    type: 'typography',
-    schema: {
-      value: {
-        fontFamily: 'Inter',
-        fontWeight: 'Regular',
-        lineHeight: 'AUTO',
-        fontSize: '18',
-        letterSpacing: '0%',
-        paragraphSpacing: '0',
-        paragraphIndent: '0',
-        textDecoration: 'none',
-        textCase: 'none',
-      },
-      options: {
-        description: '',
-      },
-    },
-    help:
-      "If a (local) style is found with the same name it will match to that, if not, will use raw font values. Use 'Create Style' to batch-create styles from your tokens (e.g. in your design library). In the future we'll load all 'remote' styles and reference them inside the JSON.",
-  },
-  fontFamilies: {
-    help: 'Only works in combination with a Font Weight',
-    label: 'Font Family',
-    property: 'Font Family',
-    type: 'fontFamilies',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  fontWeights: {
-    help: 'Only works in combination with a Font Family',
-    label: 'Font Weight',
-    property: 'Font Weight',
-    type: 'fontWeights',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  lineHeights: {
-    label: 'Line Height',
-    explainer: 'e.g. 100% or 14',
-    property: 'Line Height',
-    type: 'lineHeights',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  fontSizes: {
-    label: 'Font Size',
-    property: 'Font Size',
-    type: 'fontSizes',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  letterSpacing: {
-    label: 'Letter Spacing',
-    property: 'Letter Spacing',
-    type: 'letterSpacing',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  paragraphSpacing: {
-    label: 'Paragraph Spacing',
-    property: 'ParagraphSpacing',
-    type: 'paragraphSpacing',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  textCase: {
-    label: 'Text Case',
-    property: 'TextCase',
-    type: 'textCase',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-    explainer: 'none | uppercase | lowercase | capitalize',
-  },
-  textDecoration: {
-    label: 'Text Decoration',
-    property: 'TextDecoration',
-    type: 'textDecoration',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-    explainer: 'none | underline | line-through',
-  },
-  composition: {
-    label: 'Composition',
-    property: 'Composition',
-    type: 'composition',
-    schema: {
-      value: {},
-      options: {
-        description: '',
-      },
-    },
-  },
-  border: {
-    label: 'Border',
-    property: 'Border',
-    type: 'border',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  asset: {
-    label: 'Assets',
-    property: 'Asset',
-    type: 'asset',
-    explainer: 'Public URL of your asset',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  dimension: {
-    label: 'Dimension',
-    property: 'Dimension',
-    type: 'dimension',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  boolean: {
-    label: 'Boolean',
-    property: 'Boolean',
-    type: 'boolean',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-    explainer: 'true | false',
-  },
-  text: {
-    label: 'Text',
-    property: 'Text',
-    type: 'text',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  number: {
-    label: 'Number',
-    property: 'Number',
-    type: 'number',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-  other: {
-    label: 'Other',
-    property: 'other',
-    type: 'other',
-    schema: {
-      options: {
-        description: '',
-      },
-    },
-  },
-};
-export default tokenTypes;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html deleted file mode 100644 index 1696d1e85..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/AliasRegex.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/constants/AliasRegex.ts - - - - - - - - - -
-
-

All files / src/constants AliasRegex.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
// evaluates start of alias tokens such as $foo or {foo
-export const checkAliasStartRegex = /(\$[^\s,]+\w)|({([^]*))/g;
- 
-// evaluates tokens such as $foo or {foo}
-export const AliasRegex = /\{((?:[^{}]|{[^{}]*})*)\}|(?:\$([^\s,]+\w))/g;
- 
-export const AliasDollarRegex = /(?:\$([^\s,]+\w))/g;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html deleted file mode 100644 index f960c32c2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ApplyVariablesStyleOrder.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/ApplyVariablesStyleOrder.ts - - - - - - - - - -
-
-

All files / src/constants ApplyVariablesStyleOrder.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum ApplyVariablesStylesOrRawValues {
-  VARIABLES_STYLES = 'variables_styles',
-  RAW_VALUES = 'raw_values',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html deleted file mode 100644 index 4cd64ec2e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/BackgroundJobs.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/constants/BackgroundJobs.ts - - - - - - - - - -
-
-

All files / src/constants BackgroundJobs.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export enum BackgroundJobs {
-  NODEMANAGER_UPDATE = 'nodemanager_update',
-  NODEMANAGER_FINDNODESWITHDATA = 'nodemanager_findnodeswithdata',
-  PLUGIN_UPDATEPLUGINDATA = 'plugindata_updateplugindata',
-  PLUGIN_UPDATENODES = 'plugin_updatenodes',
-  PLUGIN_REMOVE_RELAUNCH_DATA = 'plugin_remove_relaunch_data',
-  UI_APPLYNODEVALUE = 'ui_applynodevalue',
-  UI_PULLTOKENS = 'ui_pulltokens',
-  UI_EDITSINGLETOKEN = 'ui_editsingltoken',
-  UI_CREATESINGLETOKEN = 'ui_createsingletoken',
-  UI_DUPLICATETOKEN = 'ui_duplicatetoken',
-  UI_DELETETOKEN = 'ui_deletetoken',
-  UI_DELETETOKENGROUP = 'ui_deletetokengroup',
-  UI_RENAMETOKENGROUP = 'ui_renametokengroup',
-  UI_DUPLICATETOKENGROUP = 'ui_duplicatetokengroup',
-  UI_FETCHTOKENSFROMFILE = 'ui_fetchtokensfromfile',
-  UI_UNDOING = 'ui_undoing',
-  UI_REDOING = 'ui_redoing',
-  UI_ATTACHING_LOCAL_STYLES = 'ui_attaching_local_styles',
-  UI_ATTACHING_LOCAL_VARIABLES = 'ui_attaching_local_variables',
-  UI_RENAME_TOKEN_ACROSS_SETS = 'ui_rename_token_across_sets',
-  UI_CREATEVARIABLES = 'ui_create_variables',
-  UI_CREATE_STYLES = 'ui_create_styles',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html deleted file mode 100644 index 46e3d07ae..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/BoxShadowTypes.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/BoxShadowTypes.ts - - - - - - - - - -
-
-

All files / src/constants BoxShadowTypes.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum BoxShadowTypes {
-  DROP_SHADOW = 'dropShadow',
-  INNER_SHADOW = 'innerShadow',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html deleted file mode 100644 index 25b5ba164..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorModifierTypes.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/constants/ColorModifierTypes.ts - - - - - - - - - -
-
-

All files / src/constants ColorModifierTypes.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export enum ColorModifierTypes {
-  LIGHTEN = 'lighten',
-  DARKEN = 'darken',
-  MIX = 'mix',
-  ALPHA = 'alpha',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html deleted file mode 100644 index 91545c811..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ColorSpaceTypes.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/constants/ColorSpaceTypes.ts - - - - - - - - - -
-
-

All files / src/constants ColorSpaceTypes.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export enum ColorSpaceTypes {
-  LCH = 'lch',
-  SRGB = 'srgb',
-  P3 = 'p3',
-  HSL = 'hsl',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html deleted file mode 100644 index aa9b5d81b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/DefaultWindowSize.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/DefaultWindowSize.ts - - - - - - - - - -
-
-

All files / src/constants DefaultWindowSize.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export const DefaultWindowSize = Object.freeze({
-  width: 400,
-  height: 600,
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html deleted file mode 100644 index ee4ce20a9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/Direction.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/constants/Direction.ts - - - - - - - - - -
-
-

All files / src/constants Direction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export enum Direction {
-  TOP = 'top',
-  RIGHT = 'right',
-  BOTTOM = 'bottom',
-  LEFT = 'left',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html deleted file mode 100644 index ae155e3c9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/DocumentationProperties.ts.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/constants/DocumentationProperties.ts - - - - - - - - - -
-
-

All files / src/constants DocumentationProperties.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { PropertyObject } from '@/types/properties';
-import { Properties } from './Properties';
- 
-export const DocumentationProperties: PropertyObject[] = [
-  {
-    label: 'Name',
-    name: Properties.tokenName,
-    clear: [Properties.tokenValue, Properties.value, Properties.description],
-  },
-  {
-    label: 'Raw value',
-    name: Properties.tokenValue,
-    clear: [Properties.tokenName, Properties.value, Properties.description],
-  },
-  {
-    label: 'Value',
-    name: Properties.value,
-    clear: [Properties.tokenName, Properties.tokenValue, Properties.description],
-  },
-  {
-    label: 'Description',
-    name: Properties.description,
-    clear: [Properties.tokenName, Properties.tokenValue, Properties.value],
-  },
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html deleted file mode 100644 index 1474e6242..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/EditTokenFormStatus.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/constants/EditTokenFormStatus.ts - - - - - - - - - -
-
-

All files / src/constants EditTokenFormStatus.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export enum EditTokenFormStatus {
-  CREATE = 'create',
-  EDIT = 'edit',
-  DUPLICATE = 'duplicate',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html deleted file mode 100644 index 5f4a3cf5c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ErrorMessages.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/constants/ErrorMessages.ts - - - - - - - - - -
-
-

All files / src/constants ErrorMessages.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export enum ErrorMessages {
-  GENERAL_CONNECTION_ERROR = 'There was an error connecting. Check your credentials.',
-  GITHUB_CREDENTIAL_ERROR = 'Error syncing with GitHub, check credentials',
-  GITLAB_CREDENTIAL_ERROR = 'Error syncing with GitLab, check credentials',
-  BITBUCKET_CREDENTIAL_ERROR = 'Error syncing with BitBucket, check credentials',
-  ADO_CREDENTIAL_ERROR = 'Error syncing with ADO, check credentials',
-  URL_CREDENTIAL_ERROR = 'Error fetching from URL, check console (F12)',
-  JSONBIN_CREDENTIAL_ERROR = 'Error fetching from JSONbin, check console (F12)',
-  SUPERNOVA_CREDENTIAL_ERROR = 'Error syncing with Supernova, check credentials or your mapping configuration',
-  SUPERNOVA_NOT_UPLOADED_YET_ERROR = 'There were no tokens imported from Tokens Studio to Supernova previously, please push your tokens first',
-  TOKENSSTUDIO_CREDENTIAL_ERROR = 'Error syncing with Tokens Studio, check credentials',
-  TOKENSSTUDIO_READ_ERROR = 'Unable to read from Tokens Studio, check console (F12)',
-  FILE_CREDENTIAL_ERROR = 'Error fetching from file, check console (F12)',
-  REMOTE_VERSION_NEWER = 'Remote version is newer than local version',
-  REMOTE_CREDENTIAL_ERROR = 'Error fetching from remote, check console (F12)',
-  EMPTY_BRANCH_ERROR = 'There is no branch',
-  VALIDATION_ERROR = "Contents don't pass schema validation",
-  ID_NON_EXIST_ERROR = 'ID or Secret should be exist',
-  JSONBIN_CREATE_ERROR = 'Error creating JSONbin token storage',
-  GIT_MULTIFILE_PERMISSION_ERROR = 'You try to save a multi-file project as a free user. Upgrade to Pro or add a json file at the end of the filepath (tokens.json)',
-  GITLAB_PUSH_TO_PROTECTED_BRANCH_ERROR = '403 Forbidden - You are not allowed to push into this branch',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html deleted file mode 100644 index 2315a7953..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ExportProviderType.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/ExportProviderType.ts - - - - - - - - - -
-
-

All files / src/constants ExportProviderType.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum ExportProviderType {
-  MULTIPLE = 'multiple',
-  SINGLE = 'single',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html deleted file mode 100644 index 99ed4dc9d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/InternalTokenGroup.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/constants/InternalTokenGroup.ts - - - - - - - - - -
-
-

All files / src/constants InternalTokenGroup.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export const INTERNAL_THEMES_NO_GROUP = 'internal_themes_no_group';
-export const INTERNAL_THEMES_NO_GROUP_LABEL = 'No group';
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html deleted file mode 100644 index abaec47dc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/LicenseStatus.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/constants/LicenseStatus.ts - - - - - - - - - -
-
-

All files / src/constants LicenseStatus.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
export enum LicenseStatus {
-  UNKNOWN = 'unknown',
-  NO_LICENSE = 'no_license',
-  VERIFYING = 'verifying',
-  VERIFIED = 'verified',
-  ERROR = 'error',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html deleted file mode 100644 index f5f7111fd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/LoadProviderType.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/LoadProviderType.ts - - - - - - - - - -
-
-

All files / src/constants LoadProviderType.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum LoadProviderType {
-  PRESET = 'preset',
-  FILE = 'file',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html deleted file mode 100644 index 1513ffef9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ModalOptions.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/ModalOptions.ts - - - - - - - - - -
-
-

All files / src/constants ModalOptions.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum ModalOptions {
-  RENAME_ACROSS_SETS = 'rename-across-sets',
-  RENAME_VARIABLE = 'rename-variable',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html deleted file mode 100644 index 869589cc8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/Properties.ts.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - Code coverage report for src/constants/Properties.ts - - - - - - - - - -
-
-

All files / src/constants Properties.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export enum Properties {
-  sizing = 'sizing',
-  height = 'height',
-  width = 'width',
-  minWidth = 'minWidth',
-  maxWidth = 'maxWidth',
-  minHeight = 'minHeight',
-  maxHeight = 'maxHeight',
-  spacing = 'spacing',
-  verticalPadding = 'verticalPadding',
-  horizontalPadding = 'horizontalPadding',
-  counterAxisSpacing = 'counterAxisSpacing',
-  paddingTop = 'paddingTop',
-  paddingRight = 'paddingRight',
-  paddingBottom = 'paddingBottom',
-  paddingLeft = 'paddingLeft',
-  itemSpacing = 'itemSpacing',
-  fill = 'fill',
-  backgroundBlur = 'backgroundBlur',
-  border = 'border',
-  borderTop = 'borderTop',
-  borderRight = 'borderRight',
-  borderBottom = 'borderBottom',
-  borderLeft = 'borderLeft',
-  borderColor = 'borderColor',
-  borderRadius = 'borderRadius',
-  borderRadiusTopLeft = 'borderRadiusTopLeft',
-  borderRadiusTopRight = 'borderRadiusTopRight',
-  borderRadiusBottomRight = 'borderRadiusBottomRight',
-  borderRadiusBottomLeft = 'borderRadiusBottomLeft',
-  borderWidth = 'borderWidth',
-  borderWidthTop = 'borderWidthTop',
-  borderWidthRight = 'borderWidthRight',
-  borderWidthBottom = 'borderWidthBottom',
-  borderWidthLeft = 'borderWidthLeft',
-  boxShadow = 'boxShadow',
-  opacity = 'opacity',
-  fontFamilies = 'fontFamilies',
-  fontWeights = 'fontWeights',
-  fontSizes = 'fontSizes',
-  lineHeights = 'lineHeights',
-  typography = 'typography',
-  composition = 'composition',
-  letterSpacing = 'letterSpacing',
-  paragraphSpacing = 'paragraphSpacing',
-  textCase = 'textCase',
-  dimension = 'dimension',
-  textDecoration = 'textDecoration',
-  asset = 'asset',
-  visibility = 'visibility',
-  text = 'text',
-  number = 'number',
-  tokenValue = 'tokenValue',
-  value = 'value',
-  tokenName = 'tokenName',
-  description = 'description',
-  rotation = 'rotation',
-  x = 'x',
-  y = 'y',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html deleted file mode 100644 index feb75d9a2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataKeys.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/constants/SharedPluginDataKeys.ts - - - - - - - - - -
-
-

All files / src/constants SharedPluginDataKeys.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from './Properties';
-import { SharedPluginDataNamespaces } from './SharedPluginDataNamespaces';
- 
-export const SharedPluginDataKeys = Object.freeze({
-  [SharedPluginDataNamespaces.TOKENS]: {
-    version: 'version',
-    values: 'values',
-    updatedAt: 'updatedAt',
-    storageType: 'storageType',
-    persistentNodesCache: 'persistentNodesCache',
-    usedTokenSet: 'usedTokenSet',
-    checkForChanges: 'checkForChanges',
-    activeTheme: 'activeTheme',
-    themes: 'themes',
-    collapsedTokenSets: 'collapsedTokenSets',
-    tokenFormat: 'tokenFormat',
-    fileKey: 'fileKey',
-    isCompressed: 'isCompressed',
-    ...Properties,
-  },
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html deleted file mode 100644 index a010c7f0a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/SharedPluginDataNamespaces.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/constants/SharedPluginDataNamespaces.ts - - - - - - - - - -
-
-

All files / src/constants SharedPluginDataNamespaces.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export enum SharedPluginDataNamespaces {
-  TOKENS = 'tokens',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html deleted file mode 100644 index e0566b642..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/StorageProviderType.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/constants/StorageProviderType.ts - - - - - - - - - -
-
-

All files / src/constants StorageProviderType.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
export enum StorageProviderType {
-  LOCAL = 'local',
-  GENERIC_VERSIONED_STORAGE = 'genericVersionedStorage',
-  JSONBIN = 'jsonbin',
-  GITHUB = 'github',
-  GITLAB = 'gitlab',
-  SUPERNOVA = 'supernova',
-  ADO = 'ado',
-  URL = 'url',
-  BITBUCKET = 'bitbucket',
-  TOKENS_STUDIO = 'tokensstudio',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html deleted file mode 100644 index b598b5ef8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleIdBackupKeys.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/constants/StyleIdBackupKeys.ts - - - - - - - - - -
-
-

All files / src/constants StyleIdBackupKeys.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export const StyleIdBackupKeys = [
-  'fillStyleId_original',
-  'textStyleId_original',
-  'effectStyleId_original',
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html deleted file mode 100644 index 901369b24..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/StyleOptions.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/StyleOptions.ts - - - - - - - - - -
-
-

All files / src/constants StyleOptions.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum StyleOptions {
-  REMOVE = 'style-remove',
-  RENAME = 'style-rename',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html deleted file mode 100644 index 920742ab3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/SystemFilenames.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/constants/SystemFilenames.ts - - - - - - - - - -
-
-

All files / src/constants SystemFilenames.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export enum SystemFilenames {
-  THEMES = '$themes',
-  METADATA = '$metadata',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html deleted file mode 100644 index 888ac95d1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/Tabs.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/constants/Tabs.ts - - - - - - - - - -
-
-

All files / src/constants Tabs.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
export enum Tabs {
-  START = 'start',
-  TOKENS = 'tokens',
-  JSON = 'json',
-  INSPECTOR = 'inspector',
-  SETTINGS = 'settings',
-  LOADING = 'loading',
-  SECONDSCREEN = 'secondscreen',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html deleted file mode 100644 index 358801d64..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenSetStatus.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/constants/TokenSetStatus.ts - - - - - - - - - -
-
-

All files / src/constants TokenSetStatus.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export enum TokenSetStatus {
-  DISABLED = 'disabled', // @README this means the token set is completely disabled
-  SOURCE = 'source', // @README this means the token set will be used to resolve references, but will be excluded from styles creation
-  ENABLED = 'enabled', // @README this means the token set is fully enabled and will affect style creation
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html deleted file mode 100644 index 35c572cc0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/TokenTypes.ts.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - Code coverage report for src/constants/TokenTypes.ts - - - - - - - - - -
-
-

All files / src/constants TokenTypes.ts

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export enum TokenTypes {
-  OTHER = 'other',
-  COLOR = 'color',
-  BORDER_RADIUS = 'borderRadius',
-  SIZING = 'sizing',
-  SPACING = 'spacing',
-  TEXT = 'text',
-  TYPOGRAPHY = 'typography',
-  OPACITY = 'opacity',
-  BORDER_WIDTH = 'borderWidth',
-  BOX_SHADOW = 'boxShadow',
-  FONT_FAMILIES = 'fontFamilies',
-  FONT_WEIGHTS = 'fontWeights',
-  LINE_HEIGHTS = 'lineHeights',
-  FONT_SIZES = 'fontSizes',
-  LETTER_SPACING = 'letterSpacing',
-  PARAGRAPH_SPACING = 'paragraphSpacing',
-  PARAGRAPH_INDENT = 'paragraphIndent',
-  TEXT_DECORATION = 'textDecoration',
-  TEXT_CASE = 'textCase',
-  COMPOSITION = 'composition',
-  DIMENSION = 'dimension',
-  BORDER = 'border',
-  ASSET = 'asset',
-  BOOLEAN = 'boolean',
-  NUMBER = 'number',
-}
- 
-export const ExportNumberVariablesTokenTypes = [
-  TokenTypes.BORDER_RADIUS,
-  TokenTypes.SIZING,
-  TokenTypes.SPACING,
-  TokenTypes.BORDER_WIDTH,
-  TokenTypes.DIMENSION,
-  TokenTypes.NUMBER,
-  TokenTypes.FONT_SIZES,
-  TokenTypes.LETTER_SPACING,
-  TokenTypes.LINE_HEIGHTS,
-  TokenTypes.PARAGRAPH_INDENT,
-  TokenTypes.PARAGRAPH_SPACING,
-  TokenTypes.OPACITY,
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html deleted file mode 100644 index 8a629de1f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/UpdateMode.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/constants/UpdateMode.ts - - - - - - - - - -
-
-

All files / src/constants UpdateMode.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export enum UpdateMode {
-  PAGE = 'page',
-  DOCUMENT = 'document',
-  SELECTION = 'selection',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html deleted file mode 100644 index ce3bc7dae..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/ValidNodeTypes.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/constants/ValidNodeTypes.ts - - - - - - - - - -
-
-

All files / src/constants ValidNodeTypes.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export const ValidNodeTypes: NodeType[] = [
-  'BOOLEAN_OPERATION',
-  'COMPONENT',
-  'COMPONENT_SET',
-  'ELLIPSE',
-  'FRAME',
-  'GROUP',
-  'INSTANCE',
-  'LINE',
-  'POLYGON',
-  'RECTANGLE',
-  'TEXT',
-  'VECTOR',
-  'STAR',
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html deleted file mode 100644 index 210813d13..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/VariableTypes.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/constants/VariableTypes.ts - - - - - - - - - -
-
-

All files / src/constants VariableTypes.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from './TokenTypes';
- 
-export const tokenTypesToCreateVariable = [
-  TokenTypes.DIMENSION,
-  TokenTypes.BORDER_RADIUS,
-  TokenTypes.BORDER_WIDTH,
-  TokenTypes.SPACING,
-  TokenTypes.SIZING,
-  TokenTypes.BOOLEAN,
-  TokenTypes.COLOR,
-  TokenTypes.NUMBER,
-  TokenTypes.TEXT,
-  TokenTypes.FONT_FAMILIES,
-  TokenTypes.FONT_SIZES,
-  TokenTypes.FONT_WEIGHTS,
-  TokenTypes.LINE_HEIGHTS,
-  TokenTypes.LETTER_SPACING,
-  TokenTypes.PARAGRAPH_SPACING,
-  TokenTypes.PARAGRAPH_INDENT,
-  TokenTypes.OPACITY,
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html deleted file mode 100644 index b7f345c66..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/defaultBaseFontSize.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/constants/defaultBaseFontSize.ts - - - - - - - - - -
-
-

All files / src/constants defaultBaseFontSize.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export const defaultBaseFontSize = '16';
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html deleted file mode 100644 index 81f0f453e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/docUrls.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/constants/docUrls.ts - - - - - - - - - -
-
-

All files / src/constants docUrls.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export const docUrls = {
-  root: 'https://docs.tokens.studio/?ref=pf',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/index.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/index.html deleted file mode 100644 index 8d45c4183..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/index.html +++ /dev/null @@ -1,581 +0,0 @@ - - - - - - Code coverage report for src/constants - - - - - - - - - -
-
-

All files src/constants

-
- -
- 6.66% - Statements - 1/15 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 6.66% - Lines - 1/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AliasRegex.ts -
-
0%0/3100%0/0100%0/00%0/3
ApplyVariablesStyleOrder.ts -
-
0%0/00%0/00%0/00%0/0
BackgroundJobs.ts -
-
0%0/00%0/00%0/00%0/0
BoxShadowTypes.ts -
-
0%0/00%0/00%0/00%0/0
ColorModifierTypes.ts -
-
0%0/00%0/00%0/00%0/0
ColorSpaceTypes.ts -
-
0%0/00%0/00%0/00%0/0
DefaultWindowSize.ts -
-
0%0/1100%0/0100%0/00%0/1
Direction.ts -
-
0%0/00%0/00%0/00%0/0
DocumentationProperties.ts -
-
0%0/1100%0/0100%0/00%0/1
EditTokenFormStatus.ts -
-
0%0/00%0/00%0/00%0/0
ErrorMessages.ts -
-
0%0/00%0/00%0/00%0/0
ExportProviderType.ts -
-
0%0/00%0/00%0/00%0/0
InternalTokenGroup.ts -
-
0%0/2100%0/0100%0/00%0/2
LicenseStatus.ts -
-
0%0/00%0/00%0/00%0/0
LoadProviderType.ts -
-
0%0/00%0/00%0/00%0/0
ModalOptions.ts -
-
0%0/00%0/00%0/00%0/0
Properties.ts -
-
0%0/00%0/00%0/00%0/0
SharedPluginDataKeys.ts -
-
0%0/1100%0/0100%0/00%0/1
SharedPluginDataNamespaces.ts -
-
0%0/00%0/00%0/00%0/0
StorageProviderType.ts -
-
0%0/00%0/00%0/00%0/0
StyleIdBackupKeys.ts -
-
0%0/1100%0/0100%0/00%0/1
StyleOptions.ts -
-
0%0/00%0/00%0/00%0/0
SystemFilenames.ts -
-
0%0/00%0/00%0/00%0/0
Tabs.ts -
-
0%0/00%0/00%0/00%0/0
TokenSetStatus.ts -
-
0%0/00%0/00%0/00%0/0
TokenTypes.ts -
-
100%1/1100%0/0100%0/0100%1/1
UpdateMode.ts -
-
0%0/00%0/00%0/00%0/0
ValidNodeTypes.ts -
-
0%0/1100%0/0100%0/00%0/1
VariableTypes.ts -
-
0%0/1100%0/0100%0/00%0/1
defaultBaseFontSize.ts -
-
0%0/1100%0/0100%0/00%0/1
docUrls.ts -
-
0%0/1100%0/0100%0/00%0/1
numberRegex.ts -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html deleted file mode 100644 index aea9c8c07..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/constants/numberRegex.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/constants/numberRegex.ts - - - - - - - - - -
-
-

All files / src/constants numberRegex.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export const numberRegex = /^-?\d+(\.\d+)?$/;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html deleted file mode 100644 index 964123deb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/context/AuthContext.tsx.html +++ /dev/null @@ -1,469 +0,0 @@ - - - - - - Code coverage report for src/context/AuthContext.tsx - - - - - - - - - -
-
-

All files / src/context AuthContext.tsx

-
- -
- 0% - Statements - 0/45 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/45 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {
-  useState, createContext, useContext, useEffect, useMemo, useCallback,
-} from 'react';
- 
-import supabase from '@/supabase';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AuthContextType, AuthData, AuthInfo } from '@/types/Auth';
-import { track } from '@/utils/analytics';
- 
-const defaultContextValue = {
-  user: null,
-  logIn: () => {},
-  signUp: () => {},
-  handleLogout: () => {},
-  authInProgress: false,
-  authError: '',
-  setAuthError: () => {},
-};
- 
-const AuthContext = createContext<AuthContextType>(defaultContextValue);
- 
-const AuthContextProvider = ({
-  children,
-  authData: savedAuthData,
-}: {
-  children: JSX.Element;
-  authData: AuthData | null;
-}) => {
-  const [authData, setAuthData] = useState<AuthData | null>(null);
-  const [authError, setAuthError] = useState('');
-  const [authInProgress, setAuthInProgress] = useState(false);
- 
-  function handleLogin(data: AuthData) {
-    setAuthData(data);
-    // Store user auth data in figma.clientStorage
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_AUTH_DATA,
-      auth: data,
-    });
-  }
- 
-  function handleLogout() {
-    setAuthData(null);
-    supabase.logout();
-    track('Logout second screen');
-    // Clear auth data in figma.clientStorage
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_AUTH_DATA,
-      auth: null,
-    });
-  }
- 
-  const logIn = useCallback(async (loginInfo: AuthInfo) => {
-    setAuthInProgress(true);
-    const { data, error } = await supabase.signIn(loginInfo);
-    if (error) {
-      setAuthError(error.msg || error.error_description);
-    } else {
-      track('Log in second screen');
-      handleLogin(data);
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_USED_EMAIL,
-        email: loginInfo.email,
-      });
-    }
- 
-    setAuthInProgress(false);
-  }, []);
- 
-  const signUp = useCallback(async (signUpInfo: AuthInfo) => {
-    setAuthInProgress(true);
-    const { data, error } = await supabase.signUp(signUpInfo);
-    if (error) {
-      setAuthError(error.msg || error.error_description);
-    } else {
-      track('Sign up second screen');
-      handleLogin(data);
-      AsyncMessageChannel.ReactInstance.message({
-        type: AsyncMessageTypes.SET_USED_EMAIL,
-        email: signUpInfo.email,
-      });
-    }
- 
-    setAuthInProgress(false);
-  }, []);
- 
-  useEffect(() => {
-    async function checkAuthData(data: AuthData) {
-      await supabase.verifyAuth(data, (result: AuthData | null) => {
-        if (result) {
-          handleLogin(result);
-        } else {
-          handleLogout();
-        }
-      });
-    }
- 
-    if (savedAuthData) {
-      checkAuthData(savedAuthData);
-    }
-  }, [savedAuthData]);
- 
-  const contextValue = useMemo(
-    () => ({
-      user: authData?.user ?? null,
-      authInProgress,
-      logIn,
-      signUp,
-      handleLogout,
-      authError,
-      setAuthError,
-    }),
-    [authData?.user, authInProgress, logIn, signUp, authError],
-  );
- 
-  return <AuthContext.Provider value={contextValue}>{children}</AuthContext.Provider>;
-};
- 
-const useAuth = () => {
-  const context = useContext(AuthContext);
-  if (context === undefined) {
-    throw new Error('useAuth must be used within a AuthContextProvider');
-  }
-  return context;
-};
- 
-export { AuthContextProvider, useAuth };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html deleted file mode 100644 index a66f0d63f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/context/DragControlsContext.tsx.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/context/DragControlsContext.tsx - - - - - - - - - -
-
-

All files / src/context DragControlsContext.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { createContext } from 'react';
-import type { DragControls } from 'framer-motion';
- 
-type ContextValue = {
-  controls: DragControls | null
-};
- 
-export const DragControlsContext = createContext<ContextValue>({
-  controls: null,
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html deleted file mode 100644 index 7991ac41b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/context/ReorderContext.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/context/ReorderContext.ts - - - - - - - - - -
-
-

All files / src/context ReorderContext.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/** Adapted from framer-motion */
-import { createContext } from 'react';
-import type { Axis, Box } from 'framer-motion';
- 
-export interface ReorderContextProps<T> {
-  axis: 'x' | 'y'
-  registerItem: (id: T, layout: Box) => void
-  updateOrder: (id: T, offset: number, velocity: number) => void
-}
- 
-export interface ItemData<T> {
-  value: T
-  layout: Axis
-}
- 
-export const ReorderContext = createContext<ReorderContextProps<any> | null>(
-  null,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html deleted file mode 100644 index 90e793670..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/context/TokensContext.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/context/TokensContext.ts - - - - - - - - - -
-
-

All files / src/context TokensContext.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { createContext } from 'react';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
- 
-export type TokensContextValue = {
-  resolvedTokens: ResolveTokenValuesResult[];
-};
- 
-export const TokensContext = createContext<TokensContextValue>({
-  resolvedTokens: [],
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/index.html b/packages/tokens-studio-for-figma/lcov-report/src/context/index.html deleted file mode 100644 index 92bb45fad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/context/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src/context - - - - - - - - - -
-
-

All files src/context

-
- -
- 0% - Statements - 0/48 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AuthContext.tsx -
-
0%0/450%0/160%0/140%0/45
DragControlsContext.tsx -
-
0%0/1100%0/0100%0/00%0/1
ReorderContext.ts -
-
0%0/1100%0/0100%0/00%0/1
TokensContext.ts -
-
0%0/1100%0/0100%0/00%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html deleted file mode 100644 index 7cc756794..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/context/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/context/index.ts - - - - - - - - - -
-
-

All files / src/context index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export * from './TokensContext';
-export * from './DragControlsContext';
-export * from './ReorderContext';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html deleted file mode 100644 index 485fe17c9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ActiveThemeProperty.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/ActiveThemeProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage ActiveThemeProperty.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { attemptOrFallback } from '@/utils/attemptOrFallback';
- 
-export const ActiveThemeProperty = new FigmaStorageProperty<Record<string, string> | string>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.activeTheme}`,
-  (value) => JSON.stringify(value),
-  (value) => attemptOrFallback<Record<string, string> | string>(() => (
-    value ? JSON.parse(value) : {}
-  ), value),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html deleted file mode 100644 index df2eb0d97..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ApiProvidersProperty.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/ApiProvidersProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage ApiProvidersProperty.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageTypeCredentials } from '@/types/StorageType';
-import { tryParseJson } from '@/utils/tryParseJson';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const ApiProvidersProperty = new FigmaStorageProperty<StorageTypeCredentials[]>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'apiProviders',
-  (incoming) => JSON.stringify(incoming),
-  (outgoing) => {
-    type PossibleIncomingType = StorageTypeCredentials[] | Record<string, StorageTypeCredentials>;
-    const result = tryParseJson<PossibleIncomingType>(outgoing) ?? [];
-    if (Array.isArray(result)) return result;
-    return Object.values(result).filter((value) => (
-      typeof value === 'object'
-    ));
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html deleted file mode 100644 index 097061a21..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/AuthDataProperty.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/AuthDataProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage AuthDataProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { AuthData } from '@/types/Auth';
-import { tryParseJson } from '@/utils/tryParseJson';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const AuthDataProperty = new FigmaStorageProperty<AuthData | null>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'auth',
-  (incoming) => JSON.stringify(incoming),
-  (outgoing) => tryParseJson<AuthData>(outgoing),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html deleted file mode 100644 index bb23a4b7b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CheckForChangesProperty.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/CheckForChangesProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage CheckForChangesProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-export const CheckForChangesProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.checkForChanges}`,
-  (value: boolean | string) => String(value),
-  (value) => value === 'true',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html deleted file mode 100644 index 476139de3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageCleanup.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/ClientStorageCleanup.ts - - - - - - - - - -
-
-

All files / src/figmaStorage ClientStorageCleanup.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
export async function cleanupOldTokenPrefixes(currentPrefix: string) {
-  const keys = await figma.clientStorage.keysAsync();
-  // Get all keys that contain either tokens or themes
-  const storageKeys = keys.filter((key) => key.includes('/tokens/'));
-  // Filter keys that don't start with the current prefix base (fileKey)
-  const otherPrefixKeys = storageKeys.filter((key) => !key.startsWith(currentPrefix));
- 
-  for (const key of otherPrefixKeys) {
-    await figma.clientStorage.deleteAsync(key);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html deleted file mode 100644 index 6559626e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ClientStorageProperty.ts.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/ClientStorageProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage ClientStorageProperty.ts

-
- -
- 0% - Statements - 0/28 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { decompressFromUTF16 } from 'lz-string';
-import { cleanupOldTokenPrefixes } from './ClientStorageCleanup';
-import { getStorageSize, SAFE_STORAGE_LIMIT } from './StorageSizeManager';
-import { getUTF16StringSize } from '@/utils/getUTF16StringSize';
- 
-const MAX_SIZE_LIMIT = 5 * 1024 * 1024; // 5MB in bytes, same as Figma's limit
- 
-export const ClientStorageProperty = {
-  async write(key: string, fileKey: string, value: string) {
-    const prefixedKey = key.includes(fileKey) ? key : `${fileKey}/tokens/${key}`;
- 
-    const newSize = getUTF16StringSize(value);
-    if (newSize > MAX_SIZE_LIMIT) {
-      const sizeInMB = (newSize / (1024 * 1024)).toFixed(2);
-      console.error(`Cannot write to client storage: Data size (${sizeInMB} MB) exceeds maximum limit in Figma of 5MB`);
-      return false;
-    }
-    const currentSize = await getStorageSize();
- 
-    if (currentSize + newSize > SAFE_STORAGE_LIMIT) {
-      await cleanupOldTokenPrefixes(fileKey);
-    }
- 
-    return figma.clientStorage.setAsync(prefixedKey, value);
-  },
-  async read(key: string) {
-    try {
-      const compressed = await figma.clientStorage.getAsync(key);
-      if (key.endsWith('/checkForChanges')) {
-        return compressed;
-      }
-      if (!compressed) {
-        return null;
-      }
- 
-      const decompressed = decompressFromUTF16(compressed);
-      if (!decompressed) {
-        return null;
-      }
- 
-      try {
-        const result = JSON.parse(decompressed);
- 
-        return result;
-      } catch (parseError) {
-        console.error('Error parsing decompressed data:', parseError);
-        return null;
-      }
-    } catch (error) {
-      console.error('Error in ClientStorageProperty.read:', error);
-      return null;
-    }
-  },
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html deleted file mode 100644 index 4c66db8a1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/CollapsedTokenSetsProperty.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/CollapsedTokenSetsProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage CollapsedTokenSetsProperty.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { attemptOrFallback } from '@/utils/attemptOrFallback';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-export const CollapsedTokenSetsProperty = new FigmaStorageProperty<string[]>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.collapsedTokenSets}`,
-  (value) => JSON.stringify(value),
-  (value) => attemptOrFallback<string[]>(() => {
-    const parsedValue = value ? JSON.parse(value) : [];
-    return Array.isArray(parsedValue) ? parsedValue : [];
-  }, []),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html deleted file mode 100644 index b3ec2fad6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FigmaStorageProperty.ts.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/FigmaStorageProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage FigmaStorageProperty.ts

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { readSharedPluginData } from '@/utils/figmaStorage/readSharedPluginData';
-import { writeSharedPluginData } from '@/utils/figmaStorage/writeSharedPluginData';
- 
-export enum FigmaStorageType {
-  CLIENT_STORAGE = 'client_storage',
-  SHARED_PLUGIN_DATA = 'shared_plugin_data',
-}
- 
-export class FigmaStorageProperty<V = string> {
-  protected storageType: FigmaStorageType = FigmaStorageType.CLIENT_STORAGE;
- 
-  protected key: string;
- 
-  protected stringify: (value: V, isCompressed?: boolean) => string = (value) => String(value);
- 
-  protected parse: (value: string, isCompressed?: boolean) => V | null = (value) => value as unknown as V;
- 
-  constructor(
-    storageType: FigmaStorageType,
-    key: string,
-    stringify?: (value: V, isCompressed?: boolean) => string,
-    parse?: (value: string, isCompressed?: boolean) => V | null,
-  ) {
-    this.storageType = storageType;
-    this.key = key;
-    if (stringify) this.stringify = stringify;
-    if (parse) this.parse = parse;
-  }
- 
-  /**
-   * Reads data from storage, automatically handling chunked data if present
-   * @param node The node to read from (defaults to figma.root)
-   * @param isCompressed Whether the data is compressed
-   * @returns The parsed value or null if no data is found
-   */
-  public async read(node: BaseNode = figma.root, isCompressed = false): Promise<V | null> {
-    if (this.storageType === FigmaStorageType.CLIENT_STORAGE) {
-      const value = await figma.clientStorage.getAsync(this.key);
-      return value ? this.parse(value, isCompressed) : null;
-    }
- 
-    if (this.storageType === FigmaStorageType.SHARED_PLUGIN_DATA) {
-      const keyParts = this.key.split('/');
-      const namespace = keyParts[0];
-      const key = keyParts.slice(1).join('/');
- 
-      const value = await readSharedPluginData(namespace, key, node);
-      return value ? this.parse(value, isCompressed) : null;
-    }
- 
-    return null;
-  }
- 
-  /**
-   * Writes data to storage, automatically chunking if needed
-   * @param value The value to write
-   * @param node The node to write to (defaults to figma.root)
-   * @param isCompressed Whether the data is compressed
-   */
-  public async write(value: V | null, node: BaseNode = figma.root, isCompressed = false) {
-    if (this.storageType === FigmaStorageType.CLIENT_STORAGE) {
-      await figma.clientStorage.setAsync(this.key, value ? this.stringify(value, isCompressed) : null);
-      return;
-    }
- 
-    if (this.storageType === FigmaStorageType.SHARED_PLUGIN_DATA) {
-      const keyParts = this.key.split('/');
-      const namespace = keyParts[0];
-      const key = keyParts.slice(1).join('/');
- 
-      const stringValue = value ? this.stringify(value, isCompressed) : null;
-      await writeSharedPluginData(namespace, key, stringValue, node);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html deleted file mode 100644 index 04cbff59f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/FileKeyProperty.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/FileKeyProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage FileKeyProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
- 
-export const FileKeyProperty = new FigmaStorageProperty(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.fileKey}`,
-  (value) => value,
-  (value) => value,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html deleted file mode 100644 index 7a2220f0f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/InitialLoadProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/InitialLoadProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage InitialLoadProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const InitialLoadProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'initialLoad',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html deleted file mode 100644 index 1e4e33d8b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/IsCompressedProperty.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/IsCompressedProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage IsCompressedProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-export const IsCompressedProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.isCompressed}`,
-  (value) => String(value),
-  (value: string) => value === 'true',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html deleted file mode 100644 index 32a9b3748..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LastOpenedProperty.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/LastOpenedProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage LastOpenedProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const LastOpenedProperty = new FigmaStorageProperty<number>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'lastOpened',
-  (value) => String(value),
-  (value) => parseInt(value, 10),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html deleted file mode 100644 index 9556042a7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/LicenseKeyProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/LicenseKeyProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage LicenseKeyProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const LicenseKeyProperty = new FigmaStorageProperty(
-  FigmaStorageType.CLIENT_STORAGE,
-  'licenseKey',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html deleted file mode 100644 index c33fea4e6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerExportSetsProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/OnboardingExplainerExportSetsProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage OnboardingExplainerExportSetsProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const OnboardingExplainerExportSetsProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'onboardingExplainerExportSets',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html deleted file mode 100644 index 38aad183e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerInspectProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/OnboardingExplainerInspectProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage OnboardingExplainerInspectProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const OnboardingExplainerInspectProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'onboardingExplainerInspect',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html deleted file mode 100644 index 4a0411282..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSetsProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/OnboardingExplainerSetsProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage OnboardingExplainerSetsProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const OnboardingExplainerSetsProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'onboardingExplainerSets',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html deleted file mode 100644 index 25b8746ec..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage OnboardingExplainerSyncProvidersProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const OnboardingExplainerSyncProvidersProperty = new FigmaStorageProperty<boolean>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'onboardingExplainerSyncProviders',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html deleted file mode 100644 index 74aea1137..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageSizeManager.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/StorageSizeManager.ts - - - - - - - - - -
-
-

All files / src/figmaStorage StorageSizeManager.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { getUTF16StringSize } from '@/utils/getUTF16StringSize';
- 
-export const SAFE_STORAGE_LIMIT = 4 * 1024 * 1024; // 4MB in bytes
- 
-export async function getStorageSize(): Promise<number> {
-  const keys = await figma.clientStorage.keysAsync();
-  // Get all keys that contain either tokens or themes
-  const storageKeys = keys.filter((key) => key.includes('/tokens/'));
-  let totalSize = 0;
-  for (const key of storageKeys) {
-    const value = await figma.clientStorage.getAsync(key);
-    if (value) {
-      totalSize += getUTF16StringSize(value as string);
-    }
-  }
-  return totalSize;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html deleted file mode 100644 index ceb120ab4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/StorageTypeProperty.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/StorageTypeProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage StorageTypeProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import omit from 'just-omit';
-import { StorageType } from '@/types/StorageType';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { tryParseJson } from '@/utils/tryParseJson';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-export const StorageTypeProperty = new FigmaStorageProperty<StorageType>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.storageType}`,
-  (value) => JSON.stringify(omit(value, 'secret' as keyof StorageType)),
-  (value) => tryParseJson<StorageType>(value),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html deleted file mode 100644 index 9c8318ff1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ThemesProperty.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/ThemesProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage ThemesProperty.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { compressToUTF16, decompressFromUTF16 } from 'lz-string';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { attemptOrFallback } from '@/utils/attemptOrFallback';
-import { ThemeObjectsList } from '@/types';
- 
-export const ThemesProperty = new FigmaStorageProperty<ThemeObjectsList>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.themes}`,
-  (value) => compressToUTF16(JSON.stringify(value)),
-  (value, isCompressed) => attemptOrFallback<ThemeObjectsList>(() => {
-    if (!value) return [];
-    if (!isCompressed) {
-      const parsedValue = value ? JSON.parse(value) : [];
-      return Array.isArray(parsedValue) ? parsedValue : [];
-    }
-    const decompressed = decompressFromUTF16(value);
-    return JSON.parse(decompressed);
-  }, []),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html deleted file mode 100644 index 942d11ba7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/TokenFormatProperty.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/TokenFormatProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage TokenFormatProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
- 
-export const TokenFormatProperty = new FigmaStorageProperty<TokenFormatOptions>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.tokenFormat}`,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html deleted file mode 100644 index 91c4f6e94..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UiSettingsProperty.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/UiSettingsProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage UiSettingsProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { SavedSettings } from '@/plugin/notifiers';
-import { tryParseJson } from '@/utils/tryParseJson';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const UiSettingsProperty = new FigmaStorageProperty<Partial<SavedSettings>>(
-  FigmaStorageType.CLIENT_STORAGE,
-  'uiSettings',
-  (incoming) => JSON.stringify(incoming),
-  (outgoing) => tryParseJson<Partial<SavedSettings>>(outgoing) ?? {},
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html deleted file mode 100644 index a96eeebd3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UpdatedAtProperty.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/UpdatedAtProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage UpdatedAtProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-export const UpdatedAtProperty = new FigmaStorageProperty(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.updatedAt}`,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html deleted file mode 100644 index 293d33020..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedEmailProperty.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/UsedEmailProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage UsedEmailProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const UsedEmailProperty = new FigmaStorageProperty(FigmaStorageType.CLIENT_STORAGE, 'usedEmail');
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html deleted file mode 100644 index c0aa40e6c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UsedTokenSetProperty.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/UsedTokenSetProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage UsedTokenSetProperty.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { UsedTokenSetsMap } from '@/types';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { tryParseJson } from '@/utils/tryParseJson';
- 
-export const UsedTokenSetProperty = new FigmaStorageProperty<string[] | UsedTokenSetsMap>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.usedTokenSet}`,
-  (value) => JSON.stringify(value),
-  (value) => tryParseJson(value) ?? {},
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html deleted file mode 100644 index a83206f2f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/UserIdProperty.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/UserIdProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage UserIdProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
- 
-export const UserIdProperty = new FigmaStorageProperty(
-  FigmaStorageType.CLIENT_STORAGE,
-  'userId',
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html deleted file mode 100644 index e5ec43720..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/ValuesProperty.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/ValuesProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage ValuesProperty.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { compressToUTF16, decompressFromUTF16 } from 'lz-string';
-import { attemptOrFallback } from '@/utils/attemptOrFallback';
-import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { AnyTokenList } from '@/types/tokens';
- 
-export const ValuesProperty = new FigmaStorageProperty<Record<string, AnyTokenList>>(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.values}`,
-  (value) => compressToUTF16(JSON.stringify(value)),
-  (value, isCompressed) => attemptOrFallback<Record<string, AnyTokenList>>(() => {
-    if (!value) return {};
-    if (!isCompressed) return JSON.parse(value);
-    const decompressed = decompressFromUTF16(value);
-    return JSON.parse(decompressed);
-  }, {}),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html deleted file mode 100644 index ec7116fdf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/VersionProperty.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/VersionProperty.ts - - - - - - - - - -
-
-

All files / src/figmaStorage VersionProperty.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { FigmaStorageProperty, FigmaStorageType } from './FigmaStorageProperty';
-import { SharedPluginDataKeys } from '@/constants/SharedPluginDataKeys';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-export const VersionProperty = new FigmaStorageProperty(
-  FigmaStorageType.SHARED_PLUGIN_DATA,
-  `${SharedPluginDataNamespaces.TOKENS}/${SharedPluginDataKeys.tokens.version}`,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html deleted file mode 100644 index 6d7da65c3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.html +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage - - - - - - - - - -
-
-

All files src/figmaStorage

-
- -
- 0% - Statements - 0/145 -
- - -
- 0% - Branches - 0/64 -
- - -
- 0% - Functions - 0/43 -
- - -
- 0% - Lines - 0/134 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ActiveThemeProperty.ts -
-
0%0/40%0/20%0/30%0/4
ApiProvidersProperty.ts -
-
0%0/70%0/40%0/30%0/6
AuthDataProperty.ts -
-
0%0/3100%0/00%0/20%0/3
CheckForChangesProperty.ts -
-
0%0/3100%0/00%0/20%0/3
ClientStorageCleanup.ts -
-
0%0/7100%0/00%0/30%0/5
ClientStorageProperty.ts -
-
0%0/280%0/120%0/20%0/28
CollapsedTokenSetsProperty.ts -
-
0%0/50%0/40%0/30%0/5
FigmaStorageProperty.ts -
-
0%0/300%0/240%0/50%0/26
FileKeyProperty.ts -
-
0%0/3100%0/00%0/20%0/3
InitialLoadProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
IsCompressedProperty.ts -
-
0%0/3100%0/00%0/20%0/3
LastOpenedProperty.ts -
-
0%0/3100%0/00%0/20%0/3
LicenseKeyProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerExportSetsProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerInspectProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerSetsProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
OnboardingExplainerSyncProvidersProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
StorageSizeManager.ts -
-
0%0/100%0/20%0/20%0/9
StorageTypeProperty.ts -
-
0%0/3100%0/00%0/20%0/3
ThemesProperty.ts -
-
0%0/100%0/80%0/30%0/9
TokenFormatProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
UiSettingsProperty.ts -
-
0%0/30%0/20%0/20%0/3
UpdatedAtProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
UsedEmailProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
UsedTokenSetProperty.ts -
-
0%0/30%0/20%0/20%0/3
UserIdProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
ValuesProperty.ts -
-
0%0/90%0/40%0/30%0/7
VersionProperty.ts -
-
0%0/1100%0/0100%0/00%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html deleted file mode 100644 index 43e7b77b4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/figmaStorage/index.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/figmaStorage/index.ts - - - - - - - - - -
-
-

All files / src/figmaStorage index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './FigmaStorageProperty';
-export * from './ApiProvidersProperty';
-export * from './UserIdProperty';
-export * from './ValuesProperty';
-export * from './ThemesProperty';
-export * from './ActiveThemeProperty';
-export * from './VersionProperty';
-export * from './UpdatedAtProperty';
-export * from './StorageTypeProperty';
-export * from './UsedTokenSetProperty';
-export * from './LastOpenedProperty';
-export * from './OnboardingExplainerSetsProperty';
-export * from './OnboardingExplainerExportSetsProperty';
-export * from './OnboardingExplainerSyncProvidersProperty';
-export * from './OnboardingExplainerInspectProperty';
-export * from './UiSettingsProperty';
-export * from './LicenseKeyProperty';
-export * from './AuthDataProperty';
-export * from './CollapsedTokenSetsProperty';
-export * from './InitialLoadProperty';
-export * from './TokenFormatProperty';
-export * from './FileKeyProperty';
-export * from './CheckForChangesProperty';
-export * from './IsCompressedProperty';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html deleted file mode 100644 index 1786b61e7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - Code coverage report for src/hooks - - - - - - - - - -
-
-

All files src/hooks

-
- -
- 0% - Statements - 0/77 -
- - -
- 0% - Branches - 0/32 -
- - -
- 0% - Functions - 0/26 -
- - -
- 0% - Lines - 0/70 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
useChangedState.ts -
-
0%0/180%0/40%0/40%0/18
useDelayedFlag.ts -
-
0%0/190%0/140%0/70%0/15
useFigmaFonts.tsx -
-
0%0/6100%0/00%0/30%0/5
useFigmaTheme.ts -
-
0%0/120%0/20%0/40%0/11
useGetActiveState.ts -
-
0%0/60%0/80%0/30%0/6
useSetNodeData.ts -
-
0%0/5100%0/00%0/20%0/5
useShortcut.ts -
-
0%0/110%0/40%0/30%0/10
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html deleted file mode 100644 index 45c2d1e5f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/hooks/index.ts - - - - - - - - - -
-
-

All files / src/hooks index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export * from './useDelayedFlag';
-export * from './useGetActiveState';
-export * from './useProcess';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html deleted file mode 100644 index f87562287..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useChangedState.ts.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/hooks/useChangedState.ts - - - - - - - - - -
-
-

All files / src/hooks useChangedState.ts

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch, useSelector } from 'react-redux';
-import { useMemo } from 'react';
-import {
-  lastSyncedStateSelector,
-  remoteDataSelector,
-  storageTypeSelector,
-  themesListSelector,
-  tokensSelector,
-} from '@/selectors';
-import { findDifferentState } from '@/utils/findDifferentState';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { compareLastSyncedState } from '@/utils/compareLastSyncedState';
-import { tokenFormatSelector } from '@/selectors/tokenFormatSelector';
- 
-export function useChangedState() {
-  const remoteData = useSelector(remoteDataSelector);
-  const tokens = useSelector(tokensSelector);
-  const themes = useSelector(themesListSelector);
-  const storageType = useSelector(storageTypeSelector);
-  const lastSyncedState = useSelector(lastSyncedStateSelector);
-  const tokenFormat = useSelector(tokenFormatSelector);
-  const dispatch = useDispatch();
- 
-  const changedPushState = useMemo(() => {
-    const tokenSetOrder = Object.keys(tokens);
-    return findDifferentState(remoteData, {
-      tokens,
-      themes,
-      metadata: storageType.provider !== StorageProviderType.LOCAL ? { tokenSetOrder } : {},
-    });
-  }, [remoteData, tokens, themes, storageType]);
- 
-  const changedPullState = useMemo(() => {
-    const tokenSetOrder = Object.keys(tokens);
-    return findDifferentState(
-      {
-        tokens,
-        themes,
-        metadata: storageType.provider !== StorageProviderType.LOCAL ? { tokenSetOrder } : {},
-      },
-      remoteData,
-    );
-  }, [remoteData, tokens, themes, storageType]);
- 
-  const hasChanges = useMemo(() => {
-    const hasChanged = !compareLastSyncedState(tokens, themes, lastSyncedState, tokenFormat);
- 
-    dispatch.tokenState.updateCheckForChanges(hasChanged);
- 
-    return hasChanged;
-  }, [tokens, themes, lastSyncedState, tokenFormat, dispatch.tokenState]);
- 
-  return { changedPushState, changedPullState, hasChanges };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html deleted file mode 100644 index b0b88d2b8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useDelayedFlag.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/hooks/useDelayedFlag.ts - - - - - - - - - -
-
-

All files / src/hooks useDelayedFlag.ts

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useEffect, useState } from 'react';
- 
-export function useDelayedFlag(value = false, timeout = 500, delayedOn = false, delayedOff = true) {
-  const [flag, setFlag] = useState(value);
- 
-  useEffect(() => {
-    if (flag !== value) {
-      if (value) {
-        if (delayedOn) {
-          const timeoutId = setTimeout(() => setFlag(true), timeout);
-          return () => clearTimeout(timeoutId);
-        }
-        setFlag(true);
-      } else if (!value) {
-        if (delayedOff) {
-          const timeoutId = setTimeout(() => setFlag(false), timeout);
-          return () => clearTimeout(timeoutId);
-        }
-        setFlag(false);
-      }
-    }
-    return () => {};
-  }, [value, timeout, delayedOn, delayedOff]);
- 
-  return flag;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html deleted file mode 100644 index 56ac8109d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaFonts.tsx.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/hooks/useFigmaFonts.tsx - - - - - - - - - -
-
-

All files / src/hooks useFigmaFonts.tsx

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useDispatch } from 'react-redux';
-import { useCallback, useMemo } from 'react';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { Dispatch } from '../app/store';
- 
-export default function useFigmaFonts() {
-  const dispatch = useDispatch<Dispatch>();
- 
-  // Gets value of token
-  const getFigmaFonts = useCallback(async () => {
-    const figmaFonts = await AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.GET_FIGMA_FONTS,
-    });
-    dispatch.uiState.setFigmaFonts(figmaFonts.fonts);
-  }, [dispatch.uiState]);
- 
-  return useMemo(() => ({
-    getFigmaFonts,
-  }), [
-    getFigmaFonts,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html deleted file mode 100644 index 703a1faf1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useFigmaTheme.ts.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/hooks/useFigmaTheme.ts - - - - - - - - - -
-
-

All files / src/hooks useFigmaTheme.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useState, useEffect } from 'react';
- 
-export function useFigmaTheme() {
-  const [isDarkTheme, setIsDarkTheme] = useState(false);
- 
-  useEffect(() => {
-    const htmlClassList = document.documentElement?.classList || [];
-    const isDark = htmlClassList.contains('figma-dark');
-    setIsDarkTheme(isDark);
- 
-    const observer = new MutationObserver(() => {
-      const isDarkMode = htmlClassList.contains('figma-dark');
-      setIsDarkTheme(isDarkMode);
-    });
- 
-    observer.observe(document.documentElement, {
-      attributes: true,
-      attributeFilter: ['class'],
-    });
- 
-    return () => observer.disconnect();
-  }, []);
- 
-  return { isDarkTheme };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html deleted file mode 100644 index 6fb5831fe..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useGetActiveState.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/hooks/useGetActiveState.ts - - - - - - - - - -
-
-

All files / src/hooks useGetActiveState.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useSelector } from 'react-redux';
-import { PropertyObject } from '@/types/properties';
-import { RootState } from '@/app/store';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { isPropertyType, isTokenType } from '@/utils/is';
- 
-// @README type should really be a Properties
-export function useGetActiveState(properties: (PropertyObject | TokenTypes)[], type: string, name: string) {
-  return useSelector((state: RootState) => {
-    const { uiState } = state;
-    if (
-      !isPropertyType(type)
-      && !isTokenType(type)
-    ) {
-      return false;
-    }
-    return (
-      uiState.mainNodeSelectionValues[type] === name
-      || properties.some((prop) => (
-        // @TODO: This no longer seems to work for color tokens as prop is always string?
-        typeof prop !== 'string'
-        && uiState.mainNodeSelectionValues[prop.name] === name
-      ))
-    );
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html deleted file mode 100644 index e5a189a94..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/CanceledError.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/hooks/useProcess/CanceledError.ts - - - - - - - - - -
-
-

All files / src/hooks/useProcess CanceledError.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export class CanceledError extends Error {
-  constructor() {
-    super('Canceled');
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html deleted file mode 100644 index d1ab17f2e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessCancelToken.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/hooks/useProcess/ProcessCancelToken.ts - - - - - - - - - -
-
-

All files / src/hooks/useProcess ProcessCancelToken.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
type EventTypes = 'canceled';
- 
-export class ProcessCancelToken {
-  public id = Date.now();
- 
-  private $eventHandlers: Record<EventTypes, (() => void)[]> = {
-    canceled: [],
-  };
- 
-  public cancel() {
-    this.$eventHandlers.canceled.forEach((fn) => fn());
-  }
- 
-  public on(event: EventTypes, fn: () => void) {
-    this.$eventHandlers[event].push(fn);
-    return () => {
-      const indexOf = this.$eventHandlers[event].indexOf(fn);
-      if (indexOf > -1) {
-        this.$eventHandlers[event].splice(indexOf, 1);
-      }
-    };
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html deleted file mode 100644 index c740a03fc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/ProcessStepStatus.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/hooks/useProcess/ProcessStepStatus.ts - - - - - - - - - -
-
-

All files / src/hooks/useProcess ProcessStepStatus.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
export enum ProcessStepStatus {
-  IDLE = 'idle',
-  PENDING = 'pending',
-  FAILED = 'failed',
-  CANCELED = 'canceled',
-  DONE = 'done',
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html deleted file mode 100644 index 970cde851..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src/hooks/useProcess - - - - - - - - - -
-
-

All files src/hooks/useProcess

-
- -
- 0% - Statements - 0/55 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/19 -
- - -
- 0% - Lines - 0/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
CanceledError.ts -
-
0%0/1100%0/00%0/10%0/1
ProcessCancelToken.ts -
-
0%0/90%0/20%0/40%0/8
ProcessStepStatus.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
useProcess.ts -
-
0%0/450%0/150%0/140%0/39
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html deleted file mode 100644 index bcd3671f2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/index.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/hooks/useProcess/index.ts - - - - - - - - - -
-
-

All files / src/hooks/useProcess index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export * from './useProcess';
-export * from './ProcessCancelToken';
-export * from './ProcessStepStatus';
-export * from './CanceledError';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html deleted file mode 100644 index f37a6517a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useProcess/useProcess.ts.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - Code coverage report for src/hooks/useProcess/useProcess.ts - - - - - - - - - -
-
-

All files / src/hooks/useProcess useProcess.ts

-
- -
- 0% - Statements - 0/45 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/39 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  useCallback, useMemo, useState,
-} from 'react';
-import { CanceledError } from '@/plugin/CanceledError';
-import { ProcessCancelToken } from './ProcessCancelToken';
-import { ProcessStepStatus } from './ProcessStepStatus';
- 
-export type ProcessStep<T extends string> = {
-  key: T
-  fn: (cancelToken: ProcessCancelToken) => Promise<void>
-};
- 
-export function useProcess<T extends string = string>(steps: ProcessStep<T>[]) {
-  const [currentStep, setCurrentStep] = useState<T | null>(null);
-  const [currentStatus, setCurrentStatus] = useState<ProcessStepStatus>(ProcessStepStatus.IDLE);
-  const cancelToken = useMemo(() => new ProcessCancelToken(), []);
- 
-  const isComplete = useMemo(() => (
-    steps.length
-    && steps[steps.length - 1].key === currentStep
-    && currentStatus === ProcessStepStatus.DONE
-  ), [steps, currentStep, currentStatus]);
- 
-  const perform = useCallback(async (currentKey: string) => {
-    const cleanup: (() => void)[] = [];
- 
-    try {
-      setCurrentStatus(ProcessStepStatus.PENDING);
-      const step = steps.find(({ key }) => key === currentKey);
-      if (!step) throw new Error(`Missing step ${currentKey}`);
- 
-      await Promise.race([
-        new Promise<void>((resolve, reject) => {
-          cleanup.push(cancelToken.on('canceled', () => {
-            reject(new CanceledError());
-          }));
-        }).catch((err) => {
-          if (err && err instanceof CanceledError) {
-            console.trace(err);
-            console.error(`Operation cancelled: ${currentKey}`);
-            setCurrentStatus(ProcessStepStatus.CANCELED);
-          }
-        }),
-        await step.fn(cancelToken),
-      ]);
- 
-      setCurrentStatus(ProcessStepStatus.DONE);
-    } catch (err) {
-      setCurrentStatus(ProcessStepStatus.FAILED);
-      throw err;
-    } finally {
-      cleanup.forEach((fn) => fn());
-    }
-  }, [steps, cancelToken]);
- 
-  const start = useCallback(async () => {
-    if (steps.length) {
-      const { key } = steps[0];
-      setCurrentStep(key);
-      setCurrentStatus(ProcessStepStatus.IDLE);
-      await perform(key);
-    }
-  }, [steps, perform]);
- 
-  const next = useCallback(async () => {
-    const currentStepIndex = steps.findIndex(({ key }) => key === currentStep);
-    if (currentStepIndex > -1 && currentStepIndex < steps.length - 1) {
-      const nextStep = steps[currentStepIndex + 1];
-      setCurrentStep(nextStep.key);
-      setCurrentStatus(ProcessStepStatus.IDLE);
-      await perform(nextStep.key);
-    }
-  }, [steps, perform, currentStep]);
- 
-  const reset = useCallback(() => {
-    setCurrentStep(null);
-    setCurrentStatus(ProcessStepStatus.IDLE);
-  }, []);
- 
-  return useMemo(() => ({
-    isComplete,
-    currentStep,
-    currentStatus,
-    start,
-    next,
-    reset,
-    cancelToken,
-  }), [
-    isComplete,
-    currentStep,
-    currentStatus,
-    start,
-    next,
-    reset,
-    cancelToken,
-  ]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html deleted file mode 100644 index bbb78e6f0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useSetNodeData.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/hooks/useSetNodeData.ts - - - - - - - - - -
-
-

All files / src/hooks useSetNodeData.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useCallback } from 'react';
-import { useStore } from 'react-redux';
-import { SelectionValue } from '@/types';
-import { AnyTokenList } from '@/types/tokens';
-import { settingsStateSelector } from '@/selectors';
-import { RootState } from '@/app/store';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
- 
-export default function useSetNodeData() {
-  const store = useStore<RootState>();
- 
-  const setNodeData = useCallback(async (data: SelectionValue, resolvedTokens: AnyTokenList) => {
-    const settings = settingsStateSelector(store.getState());
-    await AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_NODE_DATA,
-      values: data,
-      tokens: resolvedTokens,
-      settings,
-    });
-  }, [store]);
- 
-  return setNodeData;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html deleted file mode 100644 index 1510f846f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/hooks/useShortcut.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/hooks/useShortcut.ts - - - - - - - - - -
-
-

All files / src/hooks useShortcut.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useEffect } from 'react';
-import { useKeys } from 'rooks';
- 
-export const activeShortcuts: string[] = [];
- 
-export function useShortcut(keys: string[], action: (event: KeyboardEvent) => void) {
-  useKeys(keys, action, {
-    preventLostKeyup: true,
-  });
- 
-  useEffect(() => {
-    const id = keys.join('+');
-    if (activeShortcuts.includes(id)) {
-      console.warn(`Possibly duplicate shortcut registered: ${id}`);
-    }
- 
-    activeShortcuts.push(id);
- 
-    return () => {
-      const indexOf = activeShortcuts.indexOf(id);
-      if (indexOf > -1) activeShortcuts.splice(indexOf, 1);
-    };
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html deleted file mode 100644 index 8f4a848e1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/i18next.d.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/i18n/i18next.d.ts - - - - - - - - - -
-
-

All files / src/i18n i18next.d.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// import { resources, defaultNS } from './index.ts';
- 
-// declare module 'i18next' {
-//   interface CustomTypeOptions {
-//     defaultNS: typeof defaultNS
-//     resources: typeof resources['en'];
-//   }
-// }
- 
-/*
- 
-This module does nothing currently. Enabling it allows for types when doing i18n
-But the tree is too big for typescript to handle.
-https://github.com/i18next/react-i18next/issues?q=Type+instantiation+is+excessively+deep+and+possibly+infinite
-*/
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html deleted file mode 100644 index cc93bca23..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/i18n - - - - - - - - - -
-
-

All files src/i18n

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
i18next.d.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/60%0/20%0/10%0/6
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html deleted file mode 100644 index f26b1a282..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/index.ts.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - Code coverage report for src/i18n/index.ts - - - - - - - - - -
-
-

All files / src/i18n index.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import i18n from 'i18next';
-import { initReactI18next } from 'react-i18next';
- 
-import enTranslations from './lang/en';
-import frTranslations from './lang/fr';
-import esTranslations from './lang/es';
-import hiTranslations from './lang/hi';
-import nlTranslations from './lang/nl';
-import zhTranslations from './lang/zh';
- 
-const isSBX = process.env.NODE_ENV === 'sbx';
- 
-export const namespaces = ['branch', 'error', 'footer', 'general', 'inspect', 'licence', 'navbar', 'onBoarding', 'settings', 'storage', 'sync', 'tokens', 'variables'];
- 
-export const resources = {
-  en: enTranslations,
-  fr: frTranslations,
-  es: esTranslations,
-  hi: hiTranslations,
-  nl: nlTranslations,
-  zh: zhTranslations,
-};
- 
-/**
- * Add languages here
- */
-export const languages = [{
-  title: 'English',
-  code: 'en',
-},
-{
-  title: 'French',
-  code: 'fr',
-},
-{
-  title: 'Dutch',
-  code: 'nl',
-},
-{
-  title: 'Chinese',
-  code: 'zh',
-},
-{
-  title: 'Hindi',
-  code: 'hi',
-},
-{
-  title: 'Spanish',
-  code: 'es',
-}];
- 
-export const i18nInstance = i18n
-  // pass the i18n instance to react-i18next.
-  .use(initReactI18next)
-  .init({
-    fallbackLng: 'en',
-    resources,
-    defaultNS: 'general',
-    ns: namespaces,
-    // Only throw error in SBX
-    parseMissingKeyHandler: isSBX ? (key) => { throw new Error(`Missing translation for ${key}`); } : undefined,
-    lng: 'en',
-    interpolation: {
-      escapeValue: false, // react already safes from xss
-    },
-    react: {
-      useSuspense: false,
-    },
-  });
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html deleted file mode 100644 index 41f658301..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/en - - - - - - - - - -
-
-

All files src/i18n/lang/en

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html deleted file mode 100644 index 7bba6b217..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/en/index.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/en/index.ts - - - - - - - - - -
-
-

All files / src/i18n/lang/en index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import onBoarding from './onboarding.json';
-import startScreen from './startScreen.json';
-import licence from './licence.json';
-import tokens from './tokens.json';
-import footer from './footer.json';
-import errors from './errors.json';
-import sync from './sync.json';
-import navbar from './navbar.json';
-import inspect from './inspect.json';
-import settings from './settings.json';
-import storage from './storage.json';
-import general from './general.json';
-import branch from './branch.json';
-import manageStylesAndVariables from './manageStylesAndVariables.json';
- 
-export default {
-  general,
-  branch,
-  onBoarding,
-  startScreen,
-  navbar,
-  licence,
-  inspect,
-  tokens,
-  footer,
-  errors,
-  sync,
-  storage,
-  settings,
-  manageStylesAndVariables,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html deleted file mode 100644 index cc702277c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/es - - - - - - - - - -
-
-

All files src/i18n/lang/es

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html deleted file mode 100644 index a535233bc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/es/index.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/es/index.ts - - - - - - - - - -
-
-

All files / src/i18n/lang/es index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import onBoarding from './onboarding.json';
-import startScreen from './startScreen.json';
-import licence from './licence.json';
-import tokens from './tokens.json';
-import footer from './footer.json';
-import errors from './errors.json';
-import sync from './sync.json';
-import navbar from './navbar.json';
-import inspect from './inspect.json';
-import settings from './settings.json';
-import storage from './storage.json';
-import general from './general.json';
-import branch from './branch.json';
-import manageStylesAndVariables from './manageStylesAndVariables.json';
- 
-export default {
-  general,
-  branch,
-  onBoarding,
-  startScreen,
-  navbar,
-  licence,
-  inspect,
-  tokens,
-  footer,
-  errors,
-  sync,
-  storage,
-  settings,
-  manageStylesAndVariables,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html deleted file mode 100644 index dd902c884..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/fr - - - - - - - - - -
-
-

All files src/i18n/lang/fr

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html deleted file mode 100644 index 21bc167d9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/fr/index.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/fr/index.ts - - - - - - - - - -
-
-

All files / src/i18n/lang/fr index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import onBoarding from './onboarding.json';
-import startScreen from './startScreen.json';
-import licence from './licence.json';
-import tokens from './tokens.json';
-import footer from './footer.json';
-import errors from './errors.json';
-import sync from './sync.json';
-import navbar from './navbar.json';
-import inspect from './inspect.json';
-import settings from './settings.json';
-import storage from './storage.json';
-import general from './general.json';
-import branch from './branch.json';
-import manageStylesAndVariables from './manageStylesAndVariables.json';
- 
-export default {
-  general,
-  branch,
-  onBoarding,
-  startScreen,
-  navbar,
-  licence,
-  inspect,
-  tokens,
-  footer,
-  errors,
-  sync,
-  storage,
-  settings,
-  manageStylesAndVariables,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html deleted file mode 100644 index 069ea9f4f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/hi - - - - - - - - - -
-
-

All files src/i18n/lang/hi

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html deleted file mode 100644 index e6ec731a3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/hi/index.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/hi/index.ts - - - - - - - - - -
-
-

All files / src/i18n/lang/hi index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import onBoarding from './onboarding.json';
-import startScreen from './startScreen.json';
-import licence from './licence.json';
-import tokens from './tokens.json';
-import footer from './footer.json';
-import errors from './errors.json';
-import sync from './sync.json';
-import navbar from './navbar.json';
-import inspect from './inspect.json';
-import settings from './settings.json';
-import storage from './storage.json';
-import general from './general.json';
-import branch from './branch.json';
-import manageStylesAndVariables from './manageStylesAndVariables.json';
- 
-export default {
-  general,
-  branch,
-  onBoarding,
-  startScreen,
-  navbar,
-  licence,
-  inspect,
-  tokens,
-  footer,
-  errors,
-  sync,
-  storage,
-  settings,
-  manageStylesAndVariables,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html deleted file mode 100644 index a0537b9bd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/nl - - - - - - - - - -
-
-

All files src/i18n/lang/nl

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html deleted file mode 100644 index 0faf27220..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/nl/index.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/nl/index.ts - - - - - - - - - -
-
-

All files / src/i18n/lang/nl index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import onBoarding from './onboarding.json';
-import startScreen from './startScreen.json';
-import licence from './licence.json';
-import tokens from './tokens.json';
-import footer from './footer.json';
-import errors from './errors.json';
-import sync from './sync.json';
-import navbar from './navbar.json';
-import inspect from './inspect.json';
-import settings from './settings.json';
-import storage from './storage.json';
-import general from './general.json';
-import branch from './branch.json';
-import manageStylesAndVariables from './manageStylesAndVariables.json';
- 
-export default {
-  general,
-  branch,
-  onBoarding,
-  startScreen,
-  navbar,
-  licence,
-  inspect,
-  tokens,
-  footer,
-  errors,
-  sync,
-  storage,
-  settings,
-  manageStylesAndVariables,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html deleted file mode 100644 index 44121012d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/zh - - - - - - - - - -
-
-

All files src/i18n/lang/zh

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html deleted file mode 100644 index 32d7017cf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/i18n/lang/zh/index.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/i18n/lang/zh/index.ts - - - - - - - - - -
-
-

All files / src/i18n/lang/zh index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import onBoarding from './onboarding.json';
-import startScreen from './startScreen.json';
-import licence from './licence.json';
-import tokens from './tokens.json';
-import footer from './footer.json';
-import errors from './errors.json';
-import sync from './sync.json';
-import navbar from './navbar.json';
-import inspect from './inspect.json';
-import settings from './settings.json';
-import storage from './storage.json';
-import general from './general.json';
-import branch from './branch.json';
-import manageStylesAndVariables from './manageStylesAndVariables.json';
- 
-export default {
-  general,
-  branch,
-  onBoarding,
-  startScreen,
-  navbar,
-  licence,
-  inspect,
-  tokens,
-  footer,
-  errors,
-  sync,
-  storage,
-  settings,
-  manageStylesAndVariables,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/icons/index.html b/packages/tokens-studio-for-figma/lcov-report/src/icons/index.html deleted file mode 100644 index c30d226ba..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/icons/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/icons - - - - - - - - - -
-
-

All files src/icons

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html deleted file mode 100644 index 4a8429f19..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/icons/index.tsx.html +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - Code coverage report for src/icons/index.tsx - - - - - - - - - -
-
-

All files / src/icons index.tsx

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import IconAdd from './add.svg';
-import IconAttention from './attention.svg';
-import IconBell from './bell.svg';
-import IconBlend from './blend.svg';
-import IconBlendEmpty from './blendempty.svg';
-import IconBrokenLink from './brokenlink.svg';
-import IconCaretDown from './caretdown.svg';
-import IconChevronDown from './chevrondown.svg';
-import IconChevronRight from './chevronright.svg';
-import IconCode from './code.svg';
-import IconComposition from './composition.svg';
-import IconDebug from './debug.svg';
-import IconDisclosure from './disclosure.svg';
-import IconDiveInto from './dive-into.svg';
-import IconDocs from './docs.svg';
-import IconEdit from './edit.svg';
-import IconFeedback from './feedback.svg';
-import IconFigmaLetter from './figma-letter.svg';
-import IconFigmaLoading from './figma-loading.svg';
-import IconFigmaMark from './figma-mark.svg';
-import IconFolder from './folder.svg';
-import IconGap from './gap.svg';
-import IconGrabber from './grabber.svg';
-import IconGrid from './grid.svg';
-import IconHelp from './help.svg';
-import IconHorizontalPadding from './horizontalpadding.svg';
-import IconTrash from './IconTrash.svg';
-import IconImport from './import.svg';
-import IconIndeterminateAlt from './indeterminate-alt.svg';
-import IconJson from './json.svg';
-import IconLayers from './layers.svg';
-import IconLibrary from './library.svg';
-import IconList from './list.svg';
-import IconListing from './listing.svg';
-import IconLoading from './loading.svg';
-import IconMinus from './minus.svg';
-import IconMultiInspect from './multiinspect.svg';
-import IconPlus from './plus.svg';
-import IconRefresh from './refresh.svg';
-import IconResizeWindow from './resizewindow.svg';
-import IconShadow from './shadow.svg';
-import IconSpacing from './spacing.svg';
-import Icon_Trash from './trash.svg';
-import IconUndo from './undo.svg';
-import IconVerticalPadding from './verticalpadding.svg';
-import IconVisibilityOff from './visibilityoff.svg';
-import IconVisibility from './visibilityon.svg';
-import IconX from './x.svg';
-import IconFontSize from './font-size.svg';
-import IconLetterSpacing from './letter-spacing.svg';
-import IconParagraphSpacing from './paragraph-spacing.svg';
-import IconParagraphIndent from './paragraph-indent.svg';
-import IconTextCase from './text-case.svg';
-import IconTextDecoration from './text-decoration.svg';
-import IconLineHeight from './line-height.svg';
-import IconBack from './back.svg';
-import IconArrowRight from './arrow-right.svg';
-import IconUnlink from './unlink.svg';
-import IconFile from './file.svg';
-import IconCollapseArrow from './collapse-arrow.svg';
-import IconExpandArrow from './expand-arrow.svg';
-import IconBorder from './border.svg';
-import IconImage from './image.svg';
-import IconExclamationTriangle from './exclamation-triangle.svg';
-import IconSettings from './settings.svg';
-import IconPencil from './pencil.svg';
-import IconVariable from './variable.svg';
-import IconSecondScreen from './second-screen.svg';
- 
-export {
-  IconAdd,
-  IconAttention,
-  IconBell,
-  IconBlend,
-  IconBlendEmpty,
-  IconBrokenLink,
-  IconCaretDown,
-  IconChevronDown,
-  IconChevronRight,
-  IconCode,
-  IconComposition,
-  IconDebug,
-  IconDisclosure,
-  IconDiveInto,
-  IconDocs,
-  IconEdit,
-  IconFeedback,
-  IconFigmaLetter,
-  IconFigmaLoading,
-  IconFigmaMark,
-  IconFolder,
-  IconGap,
-  IconGrabber,
-  IconGrid,
-  IconHelp,
-  IconHorizontalPadding,
-  IconImport,
-  IconIndeterminateAlt,
-  IconJson,
-  IconLayers,
-  IconLibrary,
-  IconList,
-  IconListing,
-  IconLoading,
-  IconMinus,
-  IconMultiInspect,
-  IconPlus,
-  IconRefresh,
-  IconResizeWindow,
-  IconShadow,
-  IconSpacing,
-  IconTrash,
-  IconUndo,
-  IconVerticalPadding,
-  IconVisibilityOff,
-  IconVisibility,
-  IconX,
-  Icon_Trash,
-  IconFontSize,
-  IconLetterSpacing,
-  IconParagraphSpacing,
-  IconParagraphIndent,
-  IconTextCase,
-  IconTextDecoration,
-  IconLineHeight,
-  IconBack,
-  IconArrowRight,
-  IconUnlink,
-  IconFile,
-  IconCollapseArrow,
-  IconExpandArrow,
-  IconBorder,
-  IconImage,
-  IconExclamationTriangle,
-  IconSettings,
-  IconPencil,
-  IconVariable,
-  IconSecondScreen,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/index.html b/packages/tokens-studio-for-figma/lcov-report/src/index.html deleted file mode 100644 index bdaadd494..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src - - - - - - - - - -
-
-

All files src

-
- -
- 10.64% - Statements - 28/263 -
- - -
- 3.59% - Branches - 5/139 -
- - -
- 3.7% - Functions - 2/54 -
- - -
- 10.76% - Lines - 28/260 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AsyncMessageChannel.ts -
-
12%6/502.94%1/348.33%1/1212.5%6/48
AsyncMessageChannelPreview.ts -
-
17.32%22/1275.4%4/743.7%1/2717.46%22/126
stitches.config.ts -
-
0%0/4100%0/0100%0/00%0/4
supabase.ts -
-
0%0/810%0/310%0/150%0/81
wdyr.ts -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html deleted file mode 100644 index 3cbed3b29..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/mocks/browser.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/mocks/browser.ts - - - - - - - - - -
-
-

All files / src/mocks browser.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
// eslint-disable-next-line import/no-extraneous-dependencies
-import { setupWorker } from 'msw';
-import { handlers } from './handlers';
- 
-export const worker = setupWorker(...handlers);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html deleted file mode 100644 index d5cee672f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/mocks/handlers.ts.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - Code coverage report for src/mocks/handlers.ts - - - - - - - - - -
-
-

All files / src/mocks handlers.ts

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// eslint-disable-next-line import/no-extraneous-dependencies
-import { rest } from 'msw';
- 
-export const LICENSE_FOR_VALID_RESPONSE = 'validate-c421c421-c421c421c-4c21c421-c421c42';
-export const LICENSE_FOR_ERROR_RESPONSE = 'validate-error-c421c421-c421c421c421421-41';
-export const LICENSE_FOR_DETACH_ERROR_RESPONSE = 'detach-error-c421c421-c421c421c421421-41';
- 
-export const USER_ID_FOR_FOUND_LICENSE_KEY = 'pro-user-id';
-export const USER_ID_FOR_NOT_FOUND_LICENSE_KEY = 'free-user-id';
- 
-export const LICENSE_ERROR_MESSAGE = 'Validate error message';
-export const DETACH_ERROR_MESSAGE = 'Detach error message';
- 
-export const mockGetLicenseHandler = jest.fn((req, res, ctx) => {
-  const userId = req.url.searchParams.get('userId');
- 
-  if (userId === USER_ID_FOR_FOUND_LICENSE_KEY) {
-    return res(ctx.status(200), ctx.json({ key: LICENSE_FOR_VALID_RESPONSE }));
-  }
- 
-  return res(ctx.status(404), ctx.json({ message: 'No license key found' }));
-});
- 
-export const mockValidateLicenseHandler = jest.fn((req, res, ctx) => {
-  const licenseKey = req.url.searchParams.get('licenseKey');
- 
-  if (licenseKey === LICENSE_FOR_ERROR_RESPONSE) {
-    return res(ctx.status(500), ctx.json({ message: LICENSE_ERROR_MESSAGE }));
-  }
-  return res(
-    ctx.status(200),
-    ctx.json({
-      plan: 'pro',
-      entitlements: 'pro',
-      email: 'test@email.com',
-    }),
-  );
-});
- 
-export const mockDetachLicenseHandler = jest.fn((req, res, ctx) => {
-  const { licenseKey } = req.body as { licenseKey: string };
-  if (licenseKey === LICENSE_FOR_DETACH_ERROR_RESPONSE) {
-    return res(ctx.status(500), ctx.json({ message: DETACH_ERROR_MESSAGE }));
-  }
-  if (licenseKey === LICENSE_FOR_VALID_RESPONSE) {
-    return res(
-      ctx.status(200),
-      ctx.json({
-        key: LICENSE_FOR_VALID_RESPONSE,
-      }),
-    );
-  }
-  return res();
-});
- 
-export const handlers = [
-  rest.get(`${process.env.LICENSE_API_URL}/get-license`, mockGetLicenseHandler),
- 
-  rest.get(`${process.env.LICENSE_API_URL}/validate-license`, mockValidateLicenseHandler),
- 
-  rest.put(`${process.env.LICENSE_API_URL}/detach-license`, mockDetachLicenseHandler),
- 
-  rest.post(`${process.env.TOKEN_FLOW_APP_URL}/api/tokens`, (req, res, ctx) => res(ctx.status(200), ctx.json({ result: 'test-id' }))),
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html deleted file mode 100644 index a93657441..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/mocks/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/mocks - - - - - - - - - -
-
-

All files src/mocks

-
- -
- 0% - Statements - 0/28 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
browser.ts -
-
0%0/1100%0/0100%0/00%0/1
handlers.ts -
-
0%0/260%0/80%0/40%0/26
server.ts -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html deleted file mode 100644 index 010fe69cf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/mocks/server.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/mocks/server.ts - - - - - - - - - -
-
-

All files / src/mocks server.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
// eslint-disable-next-line import/no-extraneous-dependencies
-import { setupServer } from 'msw/node';
-import { handlers } from './handlers';
- 
-// Setup requests interception using the given handlers.
-export const server = setupServer(...handlers);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html deleted file mode 100644 index 3e975c9f9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderGroup.tsx.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - Code coverage report for src/motion/ReorderGroup.tsx - - - - - - - - - -
-
-

All files / src/motion ReorderGroup.tsx

-
- -
- 0% - Statements - 0/21 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* adapted from framer-motion */
-import {
-  HTMLMotionProps, motion,
-} from 'framer-motion';
-import * as React from 'react';
-import {
-  useEffect,
-  useRef,
-  useMemo,
-} from 'react';
-import { ItemData, ReorderContext, ReorderContextProps } from '@/context';
-import { checkReorder } from '@/utils/motion';
- 
-export interface Props<V> {
-  values: V[]
-  checkReorder?: (order: ItemData<V>[], value: V, offset: number, velocity: number) => ItemData<V>[]
-  onReorder: (newOrder: any[]) => void
-}
- 
-function getValue<V>(item: ItemData<V>) {
-  return item.value;
-}
- 
-function compareMin<V>(a: ItemData<V>, b: ItemData<V>) {
-  return a.layout.min - b.layout.min;
-}
- 
-export function ReorderGroup<V>(
-  {
-    children,
-    onReorder,
-    values,
-    checkReorder: checkReorderOverride,
-    ...props
-  }: Props<V> & HTMLMotionProps<any> & React.PropsWithChildren<unknown>,
-) {
-  const Component = motion.ul;
- 
-  const order: ItemData<V>[] = [];
-  const isReordering = useRef(false);
- 
-  const context = useMemo<ReorderContextProps<any>>(() => ({
-    axis: 'y',
-    registerItem: (value, layout) => {
-      if (
-        layout
-        && order.findIndex((entry) => value === entry.value) === -1
-      ) {
-        order.push({ value, layout: layout.y });
-        order.sort(compareMin);
-      }
-    },
-    updateOrder: (id, offset, velocity) => {
-      if (isReordering.current) return;
- 
-      const newOrder = (checkReorderOverride ?? checkReorder)(order, id, offset, velocity);
- 
-      if (order !== newOrder) {
-        isReordering.current = true;
-        onReorder(
-          newOrder
-            .map(getValue)
-            .filter((value) => values.indexOf(value) !== -1),
-        );
-      }
-    },
-  }), [order, values, checkReorderOverride, onReorder]);
- 
-  useEffect(() => {
-    isReordering.current = false;
-  });
- 
-  return (
-    <Component {...props}>
-      <ReorderContext.Provider value={context}>
-        {children}
-      </ReorderContext.Provider>
-    </Component>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html deleted file mode 100644 index ccbf3cda6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/motion/ReorderItem.tsx.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - Code coverage report for src/motion/ReorderItem.tsx - - - - - - - - - -
-
-

All files / src/motion ReorderItem.tsx

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  Box, HTMLMotionProps, isMotionValue, motion, PanInfo, useMotionValue, useTransform,
-} from 'framer-motion';
-import * as React from 'react';
-import {
-  useContext,
-  useEffect,
-  useRef,
-} from 'react';
-import { ReorderContext } from '@/context';
- 
-export interface Props<V> {
-  value: V
-  layout?: true | 'position'
-}
- 
-function useDefaultMotionValue(value: any, defaultValue: number = 0) {
-  // eslint complains about hook order
-  // eslint-disable-next-line
-  return isMotionValue(value) ? value : useMotionValue(defaultValue);
-}
- 
-export function ReorderItem<V>(
-  {
-    children,
-    style,
-    value,
-    onDrag,
-    layout = true,
-    ...props
-  }: Props<V> & HTMLMotionProps<any> & React.PropsWithChildren<unknown>,
-) {
-  const Component = motion.li;
- 
-  const context = useContext(ReorderContext);
-  const { axis, registerItem, updateOrder } = context!;
- 
-  const point = {
-    x: useDefaultMotionValue(style?.x),
-    y: useDefaultMotionValue(style?.y),
-  };
- 
-  const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => (latestX || latestY ? 1 : 'unset'));
- 
-  const measuredLayout = useRef<Box | null>(null);
- 
-  const handleDrag = React.useCallback((event: MouseEvent | TouchEvent | PointerEvent, gesturePoint: PanInfo) => {
-    const { velocity } = gesturePoint;
-    if (velocity[axis]) {
-      updateOrder(value, point[axis].get(), velocity[axis]);
-    }
-    onDrag?.(event, gesturePoint);
-  }, [axis, point, value, updateOrder, onDrag]);
- 
-  const handleLayoutMeasure = React.useCallback((measured: Box) => {
-    measuredLayout.current = measured;
-  }, []);
- 
-  useEffect(() => {
-    registerItem(value, measuredLayout.current!);
-  }, [context]);
- 
-  return (
-    <Component
-      drag={axis}
-      {...props}
-      dragSnapToOrigin
-      style={{
-        ...style,
-        x: point.x,
-        y: point.y,
-        zIndex,
-        transform: 'none',
-      }}
-      layout={layout}
-      onDrag={handleDrag}
-      onLayoutMeasure={handleLayoutMeasure}
-    >
-      {children}
-    </Component>
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/motion/index.html b/packages/tokens-studio-for-figma/lcov-report/src/motion/index.html deleted file mode 100644 index bc33191e3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/motion/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/motion - - - - - - - - - -
-
-

All files src/motion

-
- -
- 0% - Statements - 0/39 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ReorderGroup.tsx -
-
0%0/210%0/100%0/90%0/19
ReorderItem.tsx -
-
0%0/180%0/100%0/60%0/17
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html deleted file mode 100644 index f03765d95..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/CanceledError.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/plugin/CanceledError.ts - - - - - - - - - -
-
-

All files / src/plugin CanceledError.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export class CanceledError extends Error {
-  constructor() {
-    super('Operation cancelled.');
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html deleted file mode 100644 index 158649eda..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/NodeManager.ts.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - Code coverage report for src/plugin/NodeManager.ts - - - - - - - - - -
-
-

All files / src/plugin NodeManager.ts

-
- -
- 0% - Statements - 0/39 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/37 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { findAll } from '@/utils/findAll';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { tokensSharedDataHandler } from './SharedDataHandler';
-import { postToUI } from './notifiers';
-import { defaultWorker } from './Worker';
-import { ProgressTracker } from './ProgressTracker';
-import { UpdateMode } from '@/constants/UpdateMode';
- 
-export type NodeManagerNode = {
-  id: string;
-  node: BaseNode
-  tokens: NodeTokenRefMap;
-};
- 
-export class NodeManager {
-  private updating: Promise<void> | null = null;
- 
-  private async waitForUpdating() {
-    return new Promise<void>((res) => {
-      if (this.updating) {
-        this.updating
-          .then(() => res())
-          .catch(() => res());
-      } else {
-        res();
-      }
-    });
-  }
- 
-  public async getNode(id: string): Promise<NodeManagerNode | null> {
-    await this.waitForUpdating();
-    const node = figma.getNodeById(id);
-    if (!node) return null;
-    return {
-      node,
-      tokens: await tokensSharedDataHandler.getAll(node),
-      id: node.id,
-    };
-  }
- 
-  public async findBaseNodesWithData(opts: {
-    updateMode?: UpdateMode;
-    nodes?: readonly BaseNode[];
-    nodesWithoutPluginData?: boolean;
-  }) {
-    const tracker = new ProgressTracker(BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA);
-    const promises: Set<Promise<void>> = new Set();
-    const returnedNodes: NodeManagerNode[] = [];
- 
-    // wait for previous update
-    await this.waitForUpdating();
- 
-    const { updateMode, nodes } = opts;
-    let relevantNodes: BaseNode[] = [];
-    if (nodes) {
-      relevantNodes = Array.from(nodes);
-    } else if (updateMode === UpdateMode.PAGE) {
-      relevantNodes = findAll([figma.currentPage], false, opts.nodesWithoutPluginData);
-    } else if (updateMode === UpdateMode.SELECTION) {
-      relevantNodes = findAll(figma.currentPage.selection, true, opts.nodesWithoutPluginData);
-    } else {
-      relevantNodes = findAll([figma.root], false, opts.nodesWithoutPluginData);
-    }
- 
-    postToUI({
-      type: MessageFromPluginTypes.START_JOB,
-      job: {
-        name: BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA,
-        timePerTask: 0.5,
-        completedTasks: 0,
-        totalTasks: relevantNodes.length,
-      },
-    });
- 
-    this.updating = (async () => {
-      for (let nodeIndex = 0; nodeIndex < relevantNodes.length; nodeIndex += 1) {
-        promises.add(defaultWorker.schedule(async () => {
-          const node = relevantNodes[nodeIndex];
- 
-          returnedNodes.push({
-            node: relevantNodes[nodeIndex],
-            tokens: await tokensSharedDataHandler.getAll(node),
-            id: node.id,
-          });
-          tracker.next();
-          tracker.reportIfNecessary();
-        }));
-      }
-      await Promise.all(promises);
-    })();
-    await this.waitForUpdating();
- 
-    postToUI({
-      type: MessageFromPluginTypes.COMPLETE_JOB,
-      name: BackgroundJobs.NODEMANAGER_FINDNODESWITHDATA,
-    });
- 
-    return returnedNodes;
-  }
-}
- 
-export const defaultNodeManager = new NodeManager();
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html deleted file mode 100644 index 1f02ebb07..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/ProgressTracker.ts.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - Code coverage report for src/plugin/ProgressTracker.ts - - - - - - - - - -
-
-

All files / src/plugin ProgressTracker.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { postToUI } from './notifiers';
- 
-export class ProgressTracker {
-  private jobName: BackgroundJobs;
- 
-  private jobStart = 0;
- 
-  private totalProgress = 0;
- 
-  private lastReportedProgress = 0;
- 
-  private lastProgressReport = 0;
- 
-  constructor(name: BackgroundJobs, autoStart = true) {
-    this.jobName = name;
-    if (autoStart) {
-      this.startJob();
-    }
-  }
- 
-  public startJob() {
-    this.totalProgress = 0;
-    this.lastReportedProgress = 0;
-    this.jobStart = Date.now();
-    this.lastProgressReport = Date.now();
-  }
- 
-  public next() {
-    this.totalProgress += 1;
-  }
- 
-  public reportIfNecessary() {
-    if (Date.now() - this.lastProgressReport > 1000) {
-      postToUI({
-        type: MessageFromPluginTypes.COMPLETE_JOB_TASKS,
-        name: this.jobName,
-        count: this.totalProgress - this.lastReportedProgress,
-        timePerTask: (Date.now() - this.jobStart) / (this.totalProgress || 1),
-      });
-      this.lastProgressReport = Date.now();
-      this.lastReportedProgress = this.totalProgress;
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html deleted file mode 100644 index 72ff0beb5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/ResolvedTypographyObject.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/plugin/ResolvedTypographyObject.ts - - - - - - - - - -
-
-

All files / src/plugin ResolvedTypographyObject.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
export type ResolvedTypographyObject = {
-  fontFamily?: string;
-  fontWeight?: string;
-  fontSize?: string;
-  lineHeight?: string;
-  letterSpacing?: string;
-  paragraphSpacing?: string;
-  paragraphIndent?: string;
-  textCase?: string;
-  textDecoration?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html deleted file mode 100644 index 1458f85db..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/SharedDataHandler.ts.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - Code coverage report for src/plugin/SharedDataHandler.ts - - - - - - - - - -
-
-

All files / src/plugin SharedDataHandler.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
- 
-class SharedDataHandler {
-  private namespace: string;
- 
-  constructor(ns: string) {
-    this.namespace = ns;
-  }
- 
-  keys(node: BaseNode) {
-    return node.getSharedPluginDataKeys(this.namespace);
-  }
- 
-  get<Result = string>(node: BaseNode, key: string, transformer?: (value: string) => Result) {
-    const value = node.getSharedPluginData(this.namespace, key);
-    if (value) {
-      return (transformer ? transformer(value) : value) as Result;
-    }
-    return value;
-  }
- 
-  getAll<Result = string>(node: BaseNode) {
-    const keys = this.keys(node);
-    const result: Record<string, Result> = {};
-    keys.forEach((key) => {
-      if (key in Properties) {
-        const value = this.get(node, key);
-        if (value) {
-          try {
-            // make sure we catch JSON parse errors in case invalid property keys are set and found
-            // we're storing `none` as a string without quotes
-            const parsedValue = value === 'none' ? 'none' : JSON.parse(value);
-            result[key] = parsedValue;
-          } catch (err) {
-            console.warn(err);
-          }
-        }
-      }
-      return null;
-    });
-    return result;
-  }
- 
-  set(node: BaseNode, key: string, value: string) {
-    return node.setSharedPluginData(this.namespace, key, value);
-  }
-}
- 
-export const tokensSharedDataHandler = new SharedDataHandler(SharedPluginDataNamespaces.TOKENS);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html deleted file mode 100644 index cba984067..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenFormatStoreClass.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/plugin/TokenFormatStoreClass.ts - - - - - - - - - -
-
-

All files / src/plugin TokenFormatStoreClass.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export enum TokenFormatOptions {
-  DTCG = 'dtcg',
-  Legacy = 'legacy',
-}
- 
-export const TOKEN_FORMAT_OPTIONS = {
-  [TokenFormatOptions.DTCG]: { label: 'DTCG', value: TokenFormatOptions.DTCG },
-  [TokenFormatOptions.Legacy]: { label: 'Legacy', value: TokenFormatOptions.Legacy },
-};
- 
-export class TokenFormatStoreClass {
-  public tokenValueKey: 'value' | '$value';
- 
-  public tokenTypeKey: 'type' | '$type';
- 
-  public tokenDescriptionKey: 'description' | '$description';
- 
-  public format: TokenFormatOptions;
- 
-  constructor() {
-    this.tokenValueKey = 'value';
-    this.tokenTypeKey = 'type';
-    this.tokenDescriptionKey = 'description';
-    this.format = TokenFormatOptions.Legacy;
-  }
- 
-  public setFormat = (format: TokenFormatOptions) => {
-    this.format = format;
-    this.tokenValueKey = format === TokenFormatOptions.DTCG ? '$value' : 'value';
-    this.tokenTypeKey = format === TokenFormatOptions.DTCG ? '$type' : 'type';
-    this.tokenDescriptionKey = format === TokenFormatOptions.DTCG ? '$description' : 'description';
-  };
- 
-  public getFormat = () => this.format;
-}
- 
-export const TokenFormat = new TokenFormatStoreClass();
-export const { setFormat, getFormat } = TokenFormat;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html deleted file mode 100644 index fd67eafdb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/TokenValueRetriever.ts.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - - - Code coverage report for src/plugin/TokenValueRetriever.ts - - - - - - - - - -
-
-

All files / src/plugin TokenValueRetriever.ts

-
- -
- 0% - Statements - 0/57 -
- - -
- 0% - Branches - 0/52 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/46 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import { RawVariableReferenceMap } from '@/types/RawVariableReferenceMap';
-import { AnyTokenList } from '@/types/tokens';
- 
-export class TokenValueRetriever {
-  public tokens;
- 
-  public variableReferences;
- 
-  public cachedVariableReferences;
- 
-  private styleReferences;
- 
-  private stylePathPrefix;
- 
-  private ignoreFirstPartForStyles;
- 
-  public applyVariablesStylesOrRawValue;
- 
-  public createStylesWithVariableReferences;
- 
-  private getAdjustedTokenName(tokenName: string): [string, string] {
-    const withIgnoredFirstPart = this.ignoreFirstPartForStyles && tokenName.split('.').length > 1
-      ? tokenName.split('.').slice(1).join('.')
-      : tokenName;
- 
-    const adjustedTokenName = [this.stylePathPrefix, tokenName].filter((n) => n).join('.');
-    const adjustedTokenNameWithIgnoreFirstPart = [this.stylePathPrefix, withIgnoredFirstPart].filter((n) => n).join('.');
- 
-    return [adjustedTokenName, adjustedTokenNameWithIgnoreFirstPart];
-  }
- 
-  public initiate({
-    tokens,
-    variableReferences,
-    styleReferences,
-    stylePathPrefix,
-    ignoreFirstPartForStyles = false,
-    createStylesWithVariableReferences = false,
-    applyVariablesStylesOrRawValue = ApplyVariablesStylesOrRawValues.VARIABLES_STYLES,
-  }: { tokens: AnyTokenList,
-    variableReferences?: RawVariableReferenceMap,
-    styleReferences?: Map<string,
-    string>,
-    stylePathPrefix?: string,
-    ignoreFirstPartForStyles?: boolean,
-    createStylesWithVariableReferences?: boolean,
-    applyVariablesStylesOrRawValue?: ApplyVariablesStylesOrRawValues,
-  }) {
-    this.stylePathPrefix = typeof stylePathPrefix !== 'undefined' ? stylePathPrefix : null;
-    this.ignoreFirstPartForStyles = ignoreFirstPartForStyles;
-    this.createStylesWithVariableReferences = createStylesWithVariableReferences;
-    this.styleReferences = styleReferences || new Map();
-    this.variableReferences = variableReferences || new Map();
-    this.cachedVariableReferences = new Map();
-    this.applyVariablesStylesOrRawValue = applyVariablesStylesOrRawValue;
- 
-    this.tokens = new Map<string, any>(tokens.map((token) => {
-      const variableId = variableReferences?.get(token.name);
-      // For styles, we need to ignore the first part of the token name as well as consider theme prefix
-      const [adjustedTokenName, adjustedTokenNameWithIgnoreFirstPart] = this.getAdjustedTokenName(token.name);
- 
-      const styleId = styleReferences?.get(adjustedTokenName) || styleReferences?.get(adjustedTokenNameWithIgnoreFirstPart) || styleReferences?.get(token.name);
-      const finalAdjustedTokenName = styleReferences?.has(adjustedTokenName) ? adjustedTokenName : adjustedTokenNameWithIgnoreFirstPart;
- 
-      return [token.name, {
-        ...token,
-        variableId,
-        styleId,
-        adjustedTokenName: styleId ? finalAdjustedTokenName : adjustedTokenName,
-      }];
-    }));
-  }
- 
-  public get(tokenName: string) {
-    return this.tokens.get(tokenName);
-  }
- 
-  public async getVariableReference(tokenName: string) {
-    let variable;
-    const storedToken = this.tokens.get(tokenName);
-    const isUsingReference = storedToken?.rawValue?.startsWith?.('{') && storedToken?.rawValue?.endsWith?.('}');
-    const hasCachedVariable = this.cachedVariableReferences.has(tokenName);
-    if (hasCachedVariable) {
-      variable = this.cachedVariableReferences.get(tokenName);
-      return variable;
-    }
-    const variableMapped = this.variableReferences.get(tokenName) || (isUsingReference ? this.variableReferences.get(storedToken.rawValue.slice(1, -1)) : null);
-    if (!variableMapped) return false;
-    if (!hasCachedVariable && typeof variableMapped === 'string') {
-      try {
-        const foundVariable = await figma.variables.importVariableByKeyAsync(variableMapped);
-        if (foundVariable) {
-          this.cachedVariableReferences.set(tokenName, foundVariable);
-          variable = foundVariable;
-          return variable;
-        }
-      } catch (e) {
-        console.log('error importing variable', e);
-        Promise.reject(e);
-      }
-    }
- 
-    if (variable === undefined) return null;
-    return null;
-  }
- 
-  public getTokens() {
-    return this.tokens;
-  }
- 
-  public clearCache() {
-    if (this.cachedVariableReferences) this.cachedVariableReferences.clear();
-    if (this.tokens) this.tokens.clear();
-    if (this.variableReferences) this.variableReferences.clear();
-    if (this.styleReferences) this.styleReferences.clear();
-    if (this.stylePathPrefix) this.stylePathPrefix = undefined;
-    if (this.ignoreFirstPartForStyles) this.ignoreFirstPartForStyles = undefined;
-    if (this.createStylesWithVariableReferences) this.createStylesWithVariableReferences = undefined;
-  }
-}
- 
-const defaultTokenValueRetriever = new TokenValueRetriever();
- 
-export { defaultTokenValueRetriever };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html deleted file mode 100644 index 785f2ba79..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/Worker.ts.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - Code coverage report for src/plugin/Worker.ts - - - - - - - - - -
-
-

All files / src/plugin Worker.ts

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import EventEmitter from 'eventemitter3';
-import { CanceledError } from './CanceledError';
- 
-type PoolFn = {
-  id: number
-  fn: () => Promise<any>
-};
- 
-export class Worker {
-  private schedulerId = 0;
- 
-  private pool: Set<PoolFn> = new Set();
- 
-  private emitter = new EventEmitter();
- 
-  private timeoutId: ReturnType<typeof setTimeout> | null = null;
- 
-  private tick = async () => {
-    let numberOfJobs = 0;
- 
-    const promises: Set<Promise<void>> = new Set();
- 
-    // eslint-disable-next-line
-    for (const item of this.pool) {
-      this.pool.delete(item);
-      promises.add(new Promise((resolve) => {
-        item.fn().then((result) => {
-          this.emitter.emit(`completed/${item.id}`, result);
-          resolve();
-        });
-      }));
- 
-      numberOfJobs += 1;
-      if (numberOfJobs >= 30) {
-        break;
-      }
-    }
- 
-    if (this.timeoutId !== null) {
-      this.timeoutId = setTimeout(this.tick, 0);
-    }
- 
-    await Promise.all(promises);
-  };
- 
-  public schedule = <R extends any>(fn: () => Promise<R>) => {
-    this.schedulerId += 1;
-    const id = this.schedulerId;
-    const promise = new Promise<R>((res, rej) => {
-      this.emitter.once('canceled', () => {
-        rej(new CanceledError());
-      });
-      this.emitter.once(`completed/${id}`, res);
-    });
-    this.pool.add({ id, fn });
-    return promise;
-  };
- 
-  public cancel = () => {
-    this.pool.clear();
-    this.emitter.emit('canceled', Date.now());
-    this.emitter.removeAllListeners();
-  };
- 
-  public start = () => {
-    this.timeoutId = setTimeout(this.tick, 0);
-  };
- 
-  public stop = () => {
-    if (this.timeoutId) {
-      clearTimeout(this.timeoutId);
-      this.timeoutId = null;
-    }
-  };
-}
- 
-export const defaultWorker = new Worker();
-defaultWorker.start();
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html deleted file mode 100644 index 2753e43bb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyAssetTokenValuesOnNode.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyAssetTokenValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyAssetTokenValuesOnNode.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import setImageValuesOnTarget from './setImageValuesOnTarget';
- 
-export async function applyAssetTokenValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-) {
-  if (values.asset && typeof values.asset === 'string' && 'fills' in node) {
-    await setImageValuesOnTarget(node, { value: values.asset });
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html deleted file mode 100644 index 1cb1dbc0d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBackgroundBlurValuesOnNode.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyBackgroundBlurValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyBackgroundBlurValuesOnNode.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import setBackgroundBlurOnTarget from './setBackgroundBlurOnTarget';
- 
-export async function applyBackgroundBlurValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  if ('effects' in node && typeof values.backgroundBlur !== 'undefined' && isPrimitiveValue(values.backgroundBlur)) {
-    setBackgroundBlurOnTarget(node, { value: String(values.backgroundBlur) }, baseFontSize);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html deleted file mode 100644 index 8c7ada2f7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBooleanTokenValuesOnNode.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyBooleanTokenValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyBooleanTokenValuesOnNode.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
- 
-export async function applyBooleanTokenValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-) {
-  if (
-    'visible' in node
-    && typeof values.visibility === 'string'
-    && typeof data.visibility !== 'undefined'
-    && !(await tryApplyVariableId(node, 'visible', data.visibility))
-  ) {
-    if (values.visibility === 'true') {
-      node.visible = true;
-    } else if (values.visibility === 'false') {
-      node.visible = false;
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html deleted file mode 100644 index 42d32d374..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderRadiusValuesOnNode.ts.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyBorderRadiusValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyBorderRadiusValuesOnNode.ts

-
- -
- 0% - Statements - 0/39 -
- - -
- 0% - Branches - 0/60 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/39 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
- 
-export async function applyBorderRadiusValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  if (
-    node.type !== 'CONNECTOR' // need to exclude these layers as their cornerRadius in not editable
-    && node.type !== 'SHAPE_WITH_TEXT' // need to exclude these layers as their cornerRadius in not editable
-  ) {
-    if (
-      typeof values.borderRadius !== 'undefined'
-      && typeof data.borderRadius !== 'undefined'
-      && isPrimitiveValue(values.borderRadius)
-    ) {
-      const individualBorderRadius = String(values.borderRadius).split(' ');
-      switch (individualBorderRadius.length) {
-        case 1:
-          if ('cornerRadius' in node) {
-            if (
-              !(
-                (await tryApplyVariableId(node, 'topLeftRadius', data.borderRadius))
-                && (await tryApplyVariableId(node, 'topRightRadius', data.borderRadius))
-                && (await tryApplyVariableId(node, 'bottomRightRadius', data.borderRadius))
-                && (await tryApplyVariableId(node, 'bottomLeftRadius', data.borderRadius))
-              )
-            ) {
-              node.cornerRadius = transformValue(String(values.borderRadius), 'borderRadius', baseFontSize);
-            }
-          }
-          break;
-        case 2:
-          if ('topLeftRadius' in node) {
-            node.topLeftRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
-            node.topRightRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
-            node.bottomRightRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
-            node.bottomLeftRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
-          }
-          break;
-        case 3:
-          if ('topLeftRadius' in node) {
-            node.topLeftRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
-            node.topRightRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
-            node.bottomRightRadius = transformValue(String(individualBorderRadius[2]), 'borderRadius', baseFontSize);
-            node.bottomLeftRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
-          }
-          break;
-        case 4:
-          if ('topLeftRadius' in node) {
-            node.topLeftRadius = transformValue(String(individualBorderRadius[0]), 'borderRadius', baseFontSize);
-            node.topRightRadius = transformValue(String(individualBorderRadius[1]), 'borderRadius', baseFontSize);
-            node.bottomRightRadius = transformValue(String(individualBorderRadius[2]), 'borderRadius', baseFontSize);
-            node.bottomLeftRadius = transformValue(String(individualBorderRadius[3]), 'borderRadius', baseFontSize);
-          }
-          break;
-        default:
-          break;
-      }
-    }
-    if (
-      'topLeftRadius' in node
-      && typeof values.borderRadiusTopLeft !== 'undefined'
-      && typeof data.borderRadiusTopLeft !== 'undefined'
-      && isPrimitiveValue(values.borderRadiusTopLeft)
-    ) {
-      if (!(await tryApplyVariableId(node, 'topLeftRadius', data.borderRadiusTopLeft))) {
-        node.topLeftRadius = transformValue(String(values.borderRadiusTopLeft), 'borderRadius', baseFontSize);
-      }
-    }
-    if (
-      'topRightRadius' in node
-      && typeof values.borderRadiusTopRight !== 'undefined'
-      && typeof data.borderRadiusTopRight !== 'undefined'
-      && isPrimitiveValue(values.borderRadiusTopRight)
-    ) {
-      if (!(await tryApplyVariableId(node, 'topRightRadius', data.borderRadiusTopRight))) {
-        node.topRightRadius = transformValue(String(values.borderRadiusTopRight), 'borderRadius', baseFontSize);
-      }
-    }
-    if (
-      'bottomRightRadius' in node
-      && typeof values.borderRadiusBottomRight !== 'undefined'
-      && typeof data.borderRadiusBottomRight !== 'undefined'
-      && isPrimitiveValue(values.borderRadiusBottomRight)
-    ) {
-      if (!(await tryApplyVariableId(node, 'bottomRightRadius', data.borderRadiusBottomRight))) {
-        node.bottomRightRadius = transformValue(String(values.borderRadiusBottomRight), 'borderRadius', baseFontSize);
-      }
-    }
-    if (
-      'bottomLeftRadius' in node
-      && typeof values.borderRadiusBottomLeft !== 'undefined'
-      && typeof data.borderRadiusBottomLeft !== 'undefined'
-      && isPrimitiveValue(values.borderRadiusBottomLeft)
-    ) {
-      if (!(await tryApplyVariableId(node, 'bottomLeftRadius', data.borderRadiusBottomLeft))) {
-        node.bottomLeftRadius = transformValue(String(values.borderRadiusBottomLeft), 'borderRadius', baseFontSize);
-      }
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html deleted file mode 100644 index bf6cf3c29..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderValuesOnNode.ts.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyBorderValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyBorderValuesOnNode.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/33 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import setBorderValuesOnTarget from './setBorderValuesOnTarget';
-import { isCompositeBorderValue } from '@/utils/is/isCompositeBorderValue';
-import { setBorderColorValuesOnTarget } from './setBorderColorValuesOnTarget';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
- 
-export function applyBorderValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // Applies border composite tokens
-  if (values.border && isCompositeBorderValue(values.border)) {
-    setBorderValuesOnTarget(node, { value: values.border }, baseFontSize);
-  }
-  if (values.borderTop && isCompositeBorderValue(values.borderTop)) {
-    setBorderValuesOnTarget(node, { value: values.borderTop }, baseFontSize, 'top');
-  }
-  if (values.borderRight && isCompositeBorderValue(values.borderRight)) {
-    setBorderValuesOnTarget(node, { value: values.borderRight }, baseFontSize, 'right');
-  }
-  if (values.borderBottom && isCompositeBorderValue(values.borderBottom)) {
-    setBorderValuesOnTarget(node, { value: values.borderBottom }, baseFontSize, 'bottom');
-  }
-  if (values.borderLeft && isCompositeBorderValue(values.borderLeft)) {
-    setBorderValuesOnTarget(node, { value: values.borderLeft }, baseFontSize, 'left');
-  }
- 
-  // if applied border is just a string, it's the older version where border was just a color. apply color then.
-  if (values.border && typeof values.border === 'string' && typeof data.border !== 'undefined') {
-    setBorderColorValuesOnTarget({
-      node,
-      data: data.border,
-      value: values.border,
-    });
-  }
- 
-  // Applies border color
-  if (typeof values.borderColor !== 'undefined' && typeof values.borderColor === 'string') {
-    if ('strokes' in node && data.borderColor) {
-      setBorderColorValuesOnTarget({
-        node,
-        data: data.borderColor,
-        value: values.borderColor,
-      });
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html deleted file mode 100644 index bdf278a06..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyBorderWidthValuesOnNode.ts.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyBorderWidthValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyBorderWidthValuesOnNode.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/35 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
- 
-export async function applyBorderWidthValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // Applies border width tokens
-  if (
-    'strokeWeight' in node
-    && typeof values.borderWidth !== 'undefined'
-    && typeof data.borderWidth !== 'undefined'
-    && isPrimitiveValue(values.borderWidth)
-    // Have to set it individually as Figma does the same, hence the strokeWeight would never be set
-    && !(
-      (await tryApplyVariableId(node, 'strokeTopWeight', data.borderWidth))
-      && (await tryApplyVariableId(node, 'strokeRightWeight', data.borderWidth))
-      && (await tryApplyVariableId(node, 'strokeBottomWeight', data.borderWidth))
-      && (await tryApplyVariableId(node, 'strokeLeftWeight', data.borderWidth))
-    )
-  ) {
-    node.strokeWeight = transformValue(String(values.borderWidth), 'borderWidth', baseFontSize);
-  }
- 
-  if (
-    'strokeTopWeight' in node
-    && typeof values.borderWidthTop !== 'undefined'
-    && typeof data.borderWidthTop !== 'undefined'
-    && !(await tryApplyVariableId(node, 'strokeTopWeight', data.borderWidthTop))
-  ) {
-    node.strokeTopWeight = transformValue(String(values.borderWidthTop), 'borderWidthTop', baseFontSize);
-  }
- 
-  if (
-    'strokeRightWeight' in node
-    && typeof values.borderWidthRight !== 'undefined'
-    && typeof data.borderWidthRight !== 'undefined'
-    && !(await tryApplyVariableId(node, 'strokeRightWeight', data.borderWidthRight))
-  ) {
-    node.strokeRightWeight = transformValue(String(values.borderWidthRight), 'borderWidthRight', baseFontSize);
-  }
- 
-  if (
-    'strokeBottomWeight' in node
-    && typeof values.borderWidthBottom !== 'undefined'
-    && typeof data.borderWidthBottom !== 'undefined'
-    && !(await tryApplyVariableId(node, 'strokeBottomWeight', data.borderWidthBottom))
-  ) {
-    node.strokeBottomWeight = transformValue(String(values.borderWidthBottom), 'borderWidthBottom', baseFontSize);
-  }
- 
-  if (
-    'strokeLeftWeight' in node
-    && typeof values.borderWidthLeft !== 'undefined'
-    && typeof data.borderWidthLeft !== 'undefined'
-    && !(await tryApplyVariableId(node, 'strokeLeftWeight', data.borderWidthLeft))
-  ) {
-    node.strokeLeftWeight = transformValue(String(values.borderWidthLeft), 'borderWidthLeft', baseFontSize);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html deleted file mode 100644 index 9b72d8e99..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyColorTokenOnNode.ts.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyColorTokenOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyColorTokenOnNode.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ColorPaintType, tryApplyColorVariableId } from '@/utils/tryApplyColorVariableId';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
-import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
-import { paintStyleMatchesColorToken } from './figmaUtils/styleMatchers';
-import { trySetStyleId } from '@/utils/trySetStyleId';
-import setColorValuesOnTarget from './setColorValuesOnTarget';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { MapValuesToTokensResult } from '@/types';
- 
-export async function applyColorTokenOnNode(node: BaseNode, data: NodeTokenRefMap, values: MapValuesToTokensResult) {
-  const tokenName = data.fill;
-  const tokenValue = values.fill;
-  if (
-    tokenValue
-    && typeof tokenValue === 'string'
-    && 'fills' in node
-    && tokenName
-    && !(await tryApplyColorVariableId(node, tokenName, ColorPaintType.FILLS))
-  ) {
-    const resolvedToken = defaultTokenValueRetriever.get(tokenName);
-    let matchingStyleId = resolvedToken?.styleId;
- 
-    // Note: We should remove "backup style id" logic from here (this part). This was relevant before we had Themes, where style ids could not be saved to a token yet.
-    if (!matchingStyleId) {
-      const styleIdBackupKey = 'fillStyleId_original';
-      const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'fills');
-      if (nonLocalStyle) {
-        if (paintStyleMatchesColorToken(nonLocalStyle, resolvedToken?.value)) {
-          // Non-local style matches - use this and clear style id backup:
-          matchingStyleId = nonLocalStyle.id;
-          clearStyleIdBackup(node, styleIdBackupKey);
-        } else if (resolvedToken?.adjustedTokenName === nonLocalStyle.name) {
-          // Non-local style does NOT match, but style name and token path does,
-          // so we assume selected token value is an override (e.g. dark theme)
-          // Now backup up style id before overwriting with raw token value, so we
-          // can re-link the non-local style, when the token value matches again:
-          setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
-        }
-      }
-    }
- 
-    if (!matchingStyleId || (matchingStyleId && !(await trySetStyleId(node, 'fill', matchingStyleId)))) {
-      setColorValuesOnTarget({
-        target: node, token: tokenName, key: 'fills', givenValue: tokenValue,
-      });
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html deleted file mode 100644 index 4f6e05673..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyDimensionTokenValuesOnNode.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyDimensionTokenValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyDimensionTokenValuesOnNode.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
- 
-export async function applyDimensionTokenValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  if (
-    typeof values.dimension !== 'undefined'
-    && typeof data.dimension !== 'undefined'
-    && isPrimitiveValue(values.dimension)
-  ) {
-    if ('itemSpacing' in node) {
-      if (node.primaryAxisAlignItems === 'SPACE_BETWEEN') {
-        node.primaryAxisAlignItems = 'MIN';
-      }
- 
-      if (!(await tryApplyVariableId(node, 'itemSpacing', data.dimension))) {
-        node.itemSpacing = transformValue(String(values.dimension), 'spacing', baseFontSize);
-      }
-    } else if ('resize' in node) {
-      if (
-        !(
-          (await tryApplyVariableId(node, 'width', data.dimension))
-          && (await tryApplyVariableId(node, 'height', data.dimension))
-        )
-      ) {
-        const size = transformValue(String(values.dimension), 'sizing', baseFontSize);
-        node.resize(size, size);
-      }
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html deleted file mode 100644 index adbfe62b1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyNumberTokenValuesOnNode.ts.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyNumberTokenValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyNumberTokenValuesOnNode.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
- 
-export async function applyNumberTokenValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  if (typeof values.number !== 'undefined' && typeof data.number !== 'undefined' && isPrimitiveValue(values.number)) {
-    if ('itemSpacing' in node) {
-      if (node.primaryAxisAlignItems === 'SPACE_BETWEEN') {
-        node.primaryAxisAlignItems = 'MIN';
-      }
- 
-      if (!(await tryApplyVariableId(node, 'itemSpacing', data.number))) {
-        node.itemSpacing = transformValue(String(values.number), 'spacing', baseFontSize);
-      }
-    } else if ('resize' in node) {
-      if (
-        !(
-          (await tryApplyVariableId(node, 'width', data.number))
-          && (await tryApplyVariableId(node, 'height', data.number))
-        )
-      ) {
-        const size = transformValue(String(values.number), 'sizing', baseFontSize);
-        node.resize(size, size);
-      }
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html deleted file mode 100644 index 4379efff5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyOpacityValuesOnNode.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyOpacityValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyOpacityValuesOnNode.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
- 
-export async function applyOpacityValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // Applies opacity tokens to control layer opacity
-  if (
-    'opacity' in node
-    && typeof values.opacity !== 'undefined'
-    && typeof data.opacity !== 'undefined'
-    && isPrimitiveValue(values.opacity)
-    && !(await tryApplyVariableId(node, 'opacity', data.opacity))
-  ) {
-    node.opacity = transformValue(String(values.opacity), 'opacity', baseFontSize);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html deleted file mode 100644 index 8c183e629..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyPositionTokenOnNode.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyPositionTokenOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyPositionTokenOnNode.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { isPartOfInstance } from '@/utils/is/isPartOfInstance';
-import { transformValue } from './helpers';
- 
-export async function applyPositionTokenOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // Applies tokens for X & Y position
-  if (node.type !== 'DOCUMENT' && node.type !== 'PAGE' && !isPartOfInstance(node.id)) {
-    if (typeof values.x !== 'undefined' && isPrimitiveValue(values.x)) {
-      const x = transformValue(String(values.x), 'dimension', baseFontSize);
-      node.x = x;
-    }
-    if (typeof values.y !== 'undefined' && isPrimitiveValue(values.y)) {
-      const y = transformValue(String(values.y), 'dimension', baseFontSize);
-      node.y = y;
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html deleted file mode 100644 index 6db553190..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyRotationValuesOnNode.ts.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyRotationValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyRotationValuesOnNode.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { isPartOfInstance } from '@/utils/is/isPartOfInstance';
-import { transformValue } from './helpers';
-import { rotateNode } from './rotateNode';
- 
-export async function applyRotationValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // Applies tokens to control layer rotation
-  if (
-    node.type !== 'DOCUMENT'
-    && node.type !== 'PAGE'
-    && typeof values.rotation !== 'undefined'
-    && !isPartOfInstance(node.id)
-    && isPrimitiveValue(values.rotation)
-  ) {
-    const rotation = transformValue(String(values.rotation), 'rotation', baseFontSize);
-    rotateNode(node, rotation);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html deleted file mode 100644 index 9ffa9ce32..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyShadowValuesOnNode.ts.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyShadowValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyShadowValuesOnNode.ts

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import setEffectValuesOnTarget from './setEffectValuesOnTarget';
-import { isSingleBoxShadowValue } from '@/utils/is';
-import { trySetStyleId } from '@/utils/trySetStyleId';
-import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
-import { effectStyleMatchesBoxShadowToken } from './figmaUtils/styleMatchers';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
- 
-export async function applyShadowValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  if ('effects' in node && typeof values.boxShadow !== 'undefined' && data.boxShadow) {
-    const resolvedToken = defaultTokenValueRetriever.get(data.boxShadow);
-    if (!resolvedToken) return;
-    let matchingStyleId = resolvedToken?.styleId;
- 
-    // Note: We should remove "backup style id" logic from here (this part). This was relevant before we had Themes, where style ids could not be saved to a token yet.
-    if (!matchingStyleId) {
-      if (isSingleBoxShadowValue(values.boxShadow)) {
-        const styleIdBackupKey = 'effectStyleId_original';
-        const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'effects');
-        if (nonLocalStyle) {
-          if (effectStyleMatchesBoxShadowToken(nonLocalStyle, values.boxShadow, baseFontSize)) {
-            // Non-local style matches - use this and clear style id backup:
-            matchingStyleId = nonLocalStyle.id;
-            clearStyleIdBackup(node, styleIdBackupKey);
-          } else if (resolvedToken.adjustedTokenName === nonLocalStyle.name) {
-            // Non-local style does NOT match, but style name and token path does,
-            // so we assume selected token value is an override (e.g. dark theme)
-            // Now backup up style id before overwriting with raw token value, so we
-            // can re-link the non-local style, when the token value matches again:
-            setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
-          }
-        }
-      }
-    }
- 
-    if (!matchingStyleId || (matchingStyleId && !(await trySetStyleId(node, 'effect', matchingStyleId)))) {
-      if (isSingleBoxShadowValue(values.boxShadow)) {
-        setEffectValuesOnTarget(node, data.boxShadow, baseFontSize);
-      }
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html deleted file mode 100644 index 4488f33fc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySizingValuesOnNode.ts.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - Code coverage report for src/plugin/applySizingValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applySizingValuesOnNode.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/61 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
-import { isAutoLayout } from '@/utils/isAutoLayout';
-import { isPartOfInstance } from '@/utils/is/isPartOfInstance';
- 
-export async function applySizingValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // SIZING: BOTH
-  // When given just `size` we apply it to width and height
-  if (
-    'resize' in node
-    && typeof values.sizing !== 'undefined'
-    && typeof data.sizing !== 'undefined'
-    && isPrimitiveValue(values.sizing)
-    && !(
-      (await tryApplyVariableId(node, 'width', data.sizing))
-      && (await tryApplyVariableId(node, 'height', data.sizing))
-    )
-  ) {
-    const size = transformValue(String(values.sizing), 'sizing', baseFontSize);
-    node.resize(size, size);
-  }
- 
-  // SIZING: WIDTH
-  if (
-    'resize' in node
-    && typeof values.width !== 'undefined'
-    && typeof data.width !== 'undefined'
-    && isPrimitiveValue(values.width)
-    && !(await tryApplyVariableId(node, 'width', data.width))
-  ) {
-    node.resize(transformValue(String(values.width), 'sizing', baseFontSize), node.height);
-  }
- 
-  // SIZING: HEIGHT
-  if (
-    'resize' in node
-    && typeof values.height !== 'undefined'
-    && typeof data.height !== 'undefined'
-    && isPrimitiveValue(values.height)
-    && !(await tryApplyVariableId(node, 'height', data.height))
-  ) {
-    node.resize(node.width, transformValue(String(values.height), 'sizing', baseFontSize));
-  }
- 
-  // min width, max width, min height, max height only are applicable to autolayout frames or their direct children
-  if (
-    node.type !== 'DOCUMENT'
-    && node.type !== 'PAGE'
-    && !isPartOfInstance(node.id)
-    && (isAutoLayout(node)
-      || (node.parent && node.parent.type !== 'DOCUMENT' && node.parent.type !== 'PAGE' && isAutoLayout(node.parent)))
-  ) {
-    // SIZING: MIN WIDTH
-    if (
-      'minWidth' in node
-      && typeof values.minWidth !== 'undefined'
-      && typeof data.minWidth !== 'undefined'
-      && isPrimitiveValue(values.minWidth)
-      && !(await tryApplyVariableId(node, 'minWidth', data.minWidth))
-    ) {
-      node.minWidth = transformValue(String(values.minWidth), 'sizing', baseFontSize);
-    }
- 
-    // SIZING: MAX WIDTH
-    if (
-      'maxWidth' in node
-      && typeof values.maxWidth !== 'undefined'
-      && typeof data.maxWidth !== 'undefined'
-      && isPrimitiveValue(values.maxWidth)
-      && !(await tryApplyVariableId(node, 'maxWidth', data.maxWidth))
-    ) {
-      node.maxWidth = transformValue(String(values.maxWidth), 'sizing', baseFontSize);
-    }
- 
-    // SIZING: MIN HEIGHT
-    if (
-      'minHeight' in node
-      && typeof values.minHeight !== 'undefined'
-      && typeof data.minHeight !== 'undefined'
-      && isPrimitiveValue(values.minHeight)
-      && !(await tryApplyVariableId(node, 'minHeight', data.minHeight))
-    ) {
-      node.minHeight = transformValue(String(values.minHeight), 'sizing', baseFontSize);
-    }
- 
-    // SIZING: MAX HEIGHT
-    if (
-      'maxHeight' in node
-      && typeof values.maxHeight !== 'undefined'
-      && typeof data.maxHeight !== 'undefined'
-      && isPrimitiveValue(values.maxHeight)
-      && !(await tryApplyVariableId(node, 'maxHeight', data.maxHeight))
-    ) {
-      node.maxHeight = transformValue(String(values.maxHeight), 'sizing', baseFontSize);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html deleted file mode 100644 index e4daa19ad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applySpacingValuesOnNode.ts.html +++ /dev/null @@ -1,577 +0,0 @@ - - - - - - Code coverage report for src/plugin/applySpacingValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applySpacingValuesOnNode.ts

-
- -
- 0% - Statements - 0/58 -
- - -
- 0% - Branches - 0/89 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/58 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { isPrimitiveValue } from '@/utils/is';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
-import { transformValue } from './helpers';
- 
-export async function applySpacingValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  // Applies spacing type tokens
-  if (
-    'paddingLeft' in node
-    && typeof values.spacing !== 'undefined'
-    && typeof data.spacing !== 'undefined'
-    && isPrimitiveValue(values.spacing)
-  ) {
-    const individualSpacing = String(values.spacing).split(' ');
-    const spacing = transformValue(String(values.spacing), 'spacing', baseFontSize);
-    switch (individualSpacing.length) {
-      case 1:
-        if (
-          !(
-            (await tryApplyVariableId(node, 'paddingLeft', data.spacing))
-            && (await tryApplyVariableId(node, 'paddingRight', data.spacing))
-            && (await tryApplyVariableId(node, 'paddingTop', data.spacing))
-            && (await tryApplyVariableId(node, 'paddingBottom', data.spacing))
-          )
-        ) {
-          node.paddingLeft = spacing;
-          node.paddingRight = spacing;
-          node.paddingTop = spacing;
-          node.paddingBottom = spacing;
-        }
-        break;
-      case 2:
-        node.paddingTop = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
-        node.paddingRight = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
-        node.paddingBottom = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
-        node.paddingLeft = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
-        break;
-      case 3:
-        node.paddingTop = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
-        node.paddingRight = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
-        node.paddingBottom = transformValue(String(individualSpacing[2]), 'spacing', baseFontSize);
-        node.paddingLeft = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
-        break;
-      case 4:
-        node.paddingTop = transformValue(String(individualSpacing[0]), 'spacing', baseFontSize);
-        node.paddingRight = transformValue(String(individualSpacing[1]), 'spacing', baseFontSize);
-        node.paddingBottom = transformValue(String(individualSpacing[2]), 'spacing', baseFontSize);
-        node.paddingLeft = transformValue(String(individualSpacing[3]), 'spacing', baseFontSize);
-        break;
-      default:
-        break;
-    }
-  }
-  if (
-    'paddingLeft' in node
-    && typeof values.horizontalPadding !== 'undefined'
-    && typeof data.horizontalPadding !== 'undefined'
-    && isPrimitiveValue(values.horizontalPadding)
-  ) {
-    if (
-      !(
-        (await tryApplyVariableId(node, 'paddingLeft', data.horizontalPadding))
-        && (await tryApplyVariableId(node, 'paddingRight', data.horizontalPadding))
-      )
-    ) {
-      const horizontalPadding = transformValue(String(values.horizontalPadding), 'spacing', baseFontSize);
-      node.paddingLeft = horizontalPadding;
-      node.paddingRight = horizontalPadding;
-    }
-  }
-  if (
-    'paddingTop' in node
-    && typeof values.verticalPadding !== 'undefined'
-    && typeof data.verticalPadding !== 'undefined'
-    && isPrimitiveValue(values.verticalPadding)
-  ) {
-    if (
-      !(
-        (await tryApplyVariableId(node, 'paddingTop', data.verticalPadding))
-        && (await tryApplyVariableId(node, 'paddingBottom', data.verticalPadding))
-      )
-    ) {
-      const verticalPadding = transformValue(String(values.verticalPadding), 'spacing', baseFontSize);
-      node.paddingTop = verticalPadding;
-      node.paddingBottom = verticalPadding;
-    }
-  }
- 
-  if (
-    'itemSpacing' in node
-    && typeof values.itemSpacing !== 'undefined'
-    && typeof data.itemSpacing !== 'undefined'
-    && isPrimitiveValue(values.itemSpacing)
-  ) {
-    if (String(values.itemSpacing) === 'AUTO') {
-      node.primaryAxisAlignItems = 'SPACE_BETWEEN';
-    } else if (node.primaryAxisAlignItems === 'SPACE_BETWEEN') {
-      node.primaryAxisAlignItems = 'MIN';
-    }
-    if (!(await tryApplyVariableId(node, 'itemSpacing', data.itemSpacing))) {
-      node.itemSpacing = transformValue(String(values.itemSpacing), 'spacing', baseFontSize);
-    }
-  }
- 
-  if (
-    'counterAxisSpacing' in node
-    && typeof values.counterAxisSpacing !== 'undefined'
-    && typeof data.counterAxisSpacing !== 'undefined'
-    && isPrimitiveValue(values.counterAxisSpacing)
-  ) {
-    if (!(await tryApplyVariableId(node, 'counterAxisSpacing', data.counterAxisSpacing))) {
-      node.counterAxisSpacing = transformValue(String(values.counterAxisSpacing), 'spacing', baseFontSize);
-    }
-  }
- 
-  if (
-    'paddingTop' in node
-    && typeof values.paddingTop !== 'undefined'
-    && typeof data.paddingTop !== 'undefined'
-    && isPrimitiveValue(values.paddingTop)
-  ) {
-    if (!(await tryApplyVariableId(node, 'paddingTop', data.paddingTop))) {
-      node.paddingTop = transformValue(String(values.paddingTop), 'spacing', baseFontSize);
-    }
-  }
-  if (
-    'paddingRight' in node
-    && typeof values.paddingRight !== 'undefined'
-    && typeof data.paddingRight !== 'undefined'
-    && isPrimitiveValue(values.paddingRight)
-  ) {
-    if (!(await tryApplyVariableId(node, 'paddingRight', data.paddingRight))) {
-      node.paddingRight = transformValue(String(values.paddingRight), 'spacing', baseFontSize);
-    }
-  }
- 
-  if (
-    'paddingBottom' in node
-    && typeof values.paddingBottom !== 'undefined'
-    && typeof data.paddingBottom !== 'undefined'
-    && isPrimitiveValue(values.paddingBottom)
-  ) {
-    if (!(await tryApplyVariableId(node, 'paddingBottom', data.paddingBottom))) {
-      node.paddingBottom = transformValue(String(values.paddingBottom), 'spacing', baseFontSize);
-    }
-  }
- 
-  if (
-    'paddingLeft' in node
-    && typeof values.paddingLeft !== 'undefined'
-    && typeof data.paddingLeft !== 'undefined'
-    && isPrimitiveValue(values.paddingLeft)
-  ) {
-    if (!(await tryApplyVariableId(node, 'paddingLeft', data.paddingLeft))) {
-      node.paddingLeft = transformValue(String(values.paddingLeft), 'spacing', baseFontSize);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html deleted file mode 100644 index ceff96d7a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTextCharacterValuesOnNode.ts.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyTextCharacterValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyTextCharacterValuesOnNode.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
- 
-// Generic function to apply text character values to a node, useful for documentation purposes where users want to apply certain metadata of a token to their layers
-export async function applyTextCharacterValuesOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-) {
-  // Raw value for text layers
-  if (values.tokenValue) {
-    if ('characters' in node && node.fontName !== figma.mixed) {
-      await figma.loadFontAsync(node.fontName);
- 
-      // If we're inserting an object, stringify that
-      const value = typeof values.tokenValue === 'object' ? JSON.stringify(values.tokenValue) : values.tokenValue;
-      node.characters = String(value);
-    }
-  }
- 
-  // When a text token is applied we want to apply the token value
-  if (
-    'characters' in node
-    && node.fontName !== figma.mixed
-    && typeof values.text === 'string'
-    && typeof data.text !== 'undefined'
-  ) {
-    if (!(await tryApplyVariableId(node, 'characters', data.text))) {
-      await figma.loadFontAsync(node.fontName);
-      node.characters = values.text;
-    }
-  }
-  // Real value for text layers
-  if ('value' in values) {
-    if ('characters' in node && node.fontName !== figma.mixed) {
-      await figma.loadFontAsync(node.fontName);
-      // If we're inserting an object, stringify that
-      const value = typeof values.value === 'object' ? JSON.stringify(values.value) : values.value;
-      node.characters = String(value);
-    }
-  }
- 
-  // Name value for text layers
-  if (values.tokenName) {
-    if ('characters' in node && node.fontName !== figma.mixed) {
-      await figma.loadFontAsync(node.fontName);
-      node.characters = String(values.tokenName);
-    }
-  }
- 
-  // Name value for text layers
-  if (values.description) {
-    if ('characters' in node && node.fontName !== figma.mixed) {
-      await figma.loadFontAsync(node.fontName);
-      node.characters = String(values.description);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html deleted file mode 100644 index b8313a5e5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/applyTypographyTokenOnNode.ts.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - Code coverage report for src/plugin/applyTypographyTokenOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin applyTypographyTokenOnNode.ts

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/73 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isPrimitiveValue, isSingleTypographyValue } from '@/utils/is';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
-import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
-import { textStyleMatchesTypographyToken } from './figmaUtils/styleMatchers';
-import { setTextValuesOnTarget } from './setTextValuesOnTarget';
-import { trySetStyleId } from '@/utils/trySetStyleId';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { MapValuesToTokensResult } from '@/types';
-import { tryApplyTypographyCompositeVariable } from './tryApplyTypographyCompositeVariable';
- 
-function formatValue(value: any): string | undefined {
-  if (isPrimitiveValue(value)) {
-    return String(value.startsWith('{') ? value : `{${value}}`);
-  }
-  return undefined;
-}
- 
-function buildResolvedValueObject(resolvedToken: any, data: any) {
-  return {
-    fontFamily: formatValue(
-      data.fontFamilies
-        || resolvedToken?.rawValue?.fontFamilies
-        || resolvedToken?.rawValue?.fontFamily,
-    ),
-    fontWeight: formatValue(
-      data.fontWeights
-        || resolvedToken?.rawValue?.fontWeights
-        || resolvedToken?.rawValue?.fontWeight,
-    ),
-    lineHeight: formatValue(
-      data.lineHeights
-        || resolvedToken?.rawValue?.lineHeights
-        || resolvedToken?.rawValue?.lineHeight,
-    ),
-    fontSize: formatValue(
-      data.fontSizes || resolvedToken?.rawValue?.fontSizes || resolvedToken?.rawValue?.fontSize,
-    ),
-    letterSpacing: formatValue(data.letterSpacing || resolvedToken?.rawValue?.letterSpacing),
-    paragraphSpacing: formatValue(data.paragraphSpacing || resolvedToken?.rawValue?.paragraphSpacing),
-    paragraphIndent: formatValue(data.paragraphIndent || resolvedToken?.rawValue?.paragraphIndent),
-    textCase: formatValue(data.textCase || resolvedToken?.rawValue?.textCase),
-    textDecoration: formatValue(data.textDecoration || resolvedToken?.rawValue?.textDecoration),
-  };
-}
- 
-function buildValueObject(values: any, resolvedToken: any) {
-  const tokenValue = resolvedToken?.value || {};
- 
-  return {
-    fontFamily: isPrimitiveValue(values.fontFamilies) ? String(values.fontFamilies) : tokenValue.fontFamily,
-    fontWeight: isPrimitiveValue(values.fontWeights) ? String(values.fontWeights) : tokenValue.fontWeight,
-    lineHeight: isPrimitiveValue(values.lineHeights) ? String(values.lineHeights) : tokenValue.lineHeight,
-    fontSize: isPrimitiveValue(values.fontSizes) ? String(values.fontSizes) : tokenValue.fontSize,
-    letterSpacing: isPrimitiveValue(values.letterSpacing) ? String(values.letterSpacing) : tokenValue.letterSpacing,
-    paragraphSpacing: isPrimitiveValue(values.paragraphSpacing)
-      ? String(values.paragraphSpacing)
-      : tokenValue.paragraphSpacing,
-    paragraphIndent: isPrimitiveValue(values.paragraphIndent)
-      ? String(values.paragraphIndent)
-      : tokenValue.paragraphIndent,
-    textCase: isPrimitiveValue(values.textCase) ? String(values.textCase) : tokenValue.textCase,
-    textDecoration: isPrimitiveValue(values.textDecoration) ? String(values.textDecoration) : tokenValue.textDecoration,
-  };
-}
- 
-export async function applyTypographyTokenOnNode(
-  node: BaseNode,
-  data: NodeTokenRefMap,
-  values: MapValuesToTokensResult,
-  baseFontSize: string,
-) {
-  if (!(node.type === 'TEXT')) return;
- 
-  const resolvedToken = data.typography ? defaultTokenValueRetriever.get(data.typography) : null;
-  let matchingStyleId = resolvedToken?.styleId;
- 
-  // Backup logic for non-local styles
-  if (!matchingStyleId && resolvedToken && isSingleTypographyValue(resolvedToken.value)) {
-    const styleIdBackupKey = 'textStyleId_original';
-    const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'typography');
-    if (nonLocalStyle && textStyleMatchesTypographyToken(nonLocalStyle, resolvedToken.value, baseFontSize)) {
-      matchingStyleId = nonLocalStyle.id;
-      clearStyleIdBackup(node, styleIdBackupKey);
-    } else if (nonLocalStyle && resolvedToken.adjustedTokenName === nonLocalStyle?.name) {
-      setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
-    }
-  }
- 
-  // Apply matching style or fallback to applying values
-  if (matchingStyleId && (await trySetStyleId(node, 'text', matchingStyleId))) return;
-  // Apply typography token directly if no other properties exist
-  if (data.typography && resolvedToken && isSingleTypographyValue(resolvedToken.value) && !Object.keys(values).length) {
-    setTextValuesOnTarget(node, data.typography, baseFontSize);
-    return;
-  }
- 
-  // Build the resolved value and value objects
-  const resolvedValueObject = buildResolvedValueObject(resolvedToken, data);
-  const valueObject = buildValueObject(values, resolvedToken);
- 
-  // Apply the typography token and other values together
-  await tryApplyTypographyCompositeVariable({
-    target: node,
-    value: valueObject,
-    resolvedValue: resolvedValueObject,
-    baseFontSize,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html deleted file mode 100644 index 20c2e15f2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/applySiblingStyle.ts.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/applySiblingStyle.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers applySiblingStyle.ts

-
- -
- 0% - Statements - 0/43 -
- - -
- 0% - Branches - 0/47 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { getNewStyleId } from './getSiblingStyleId';
-import { StyleIdMap, StyleThemeMap } from '@/types/StyleIdMap';
- 
-// Goes through all styleable properties of a node and swaps the style - this traverses the whole tree of a node
-export async function applySiblingStyleId(node: BaseNode, styleIds: StyleIdMap, styleMap: StyleThemeMap, activeThemes: string[]) {
-  try {
-    switch (node.type) {
-      // Text layers can have stroke, effects and fill styles.
-      case 'TEXT':
-        {
-          const newStrokeStyleId = await getNewStyleId(node.strokeStyleId as string, styleIds, styleMap, activeThemes);
-          const newEffectStyleId = await getNewStyleId(node.effectStyleId as string, styleIds, styleMap, activeThemes);
- 
-          if (newStrokeStyleId) {
-            node.strokeStyleId = newStrokeStyleId;
-          }
-          if (newEffectStyleId) {
-            node.effectStyleId = newEffectStyleId;
-          }
- 
-          // A text layer can have mixed styles, we need to swap the segments.
-          if (node.textStyleId !== figma.mixed) {
-            const newTextStyleId = await getNewStyleId(node.textStyleId as string, styleIds, styleMap, activeThemes);
-            if (newTextStyleId) {
-              node.textStyleId = newTextStyleId;
-            }
-          } else {
-            node.getStyledTextSegments(['textStyleId']).forEach(async (segment) => {
-              const newTextStyleId = await getNewStyleId(segment.textStyleId, styleIds, styleMap, activeThemes);
- 
-              if (newTextStyleId) {
-                node.setRangeTextStyleId(segment.start, segment.end, newTextStyleId);
-              }
-            });
-          }
- 
-          if (node.fillStyleId !== figma.mixed) {
-            const newFillStyleId = await getNewStyleId(node.fillStyleId as string, styleIds, styleMap, activeThemes);
-            if (newFillStyleId) {
-              node.fillStyleId = newFillStyleId;
-            }
-          } else {
-            node.getStyledTextSegments(['fillStyleId']).forEach(async (segment) => {
-              const newFillStyleId = await getNewStyleId(segment.fillStyleId, styleIds, styleMap, activeThemes);
- 
-              if (newFillStyleId) {
-                node.setRangeFillStyleId(segment.start, segment.end, newFillStyleId);
-              }
-            });
-          }
-        }
-        break;
- 
-      // Vector layers can have stroke, effects and fill styles.
-      case 'ELLIPSE':
-      case 'LINE':
-      case 'POLYGON':
-      case 'STAR':
-      case 'RECTANGLE':
-      case 'VECTOR':
-      case 'COMPONENT':
-      case 'INSTANCE':
-      case 'COMPONENT_SET':
-      case 'FRAME':
-      case 'SECTION':
-      case 'BOOLEAN_OPERATION':
-        {
-          const newFillStyleId = 'fillStyleId' in node && await getNewStyleId(node.fillStyleId as string, styleIds, styleMap, activeThemes);
-          const newStrokeStyleId = 'strokeStyleId' in node && await getNewStyleId(node.strokeStyleId as string, styleIds, styleMap, activeThemes);
-          const newEffectStyleId = 'effectStyleId' in node && await getNewStyleId(node.effectStyleId as string, styleIds, styleMap, activeThemes);
-          if (newFillStyleId) {
-            node.fillStyleId = newFillStyleId;
-          }
-          if (newStrokeStyleId) {
-            node.strokeStyleId = newStrokeStyleId;
-          }
-          if (newEffectStyleId) {
-            node.effectStyleId = newEffectStyleId;
-          }
-          if (['COMPONENT', 'COMPONENT_SET', 'SECTION', 'INSTANCE', 'FRAME', 'BOOLEAN_OPERATION'].includes(node.type) && 'children' in node) {
-            await Promise.all(node.children.map((child) => applySiblingStyleId(child, styleIds, styleMap, activeThemes)));
-          }
-        }
-        break;
- 
-      case 'GROUP':
-        await Promise.all(node.children.map((child) => applySiblingStyleId(child, styleIds, styleMap, activeThemes)));
-        break;
- 
-      default:
-        break;
-    }
-  } catch (error) {
-    console.error(error);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html deleted file mode 100644 index 4d00f1dda..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers attachLocalStylesToTheme.ts

-
- -
- 0% - Statements - 0/32 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/32 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { SingleToken } from '@/types/tokens';
-import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
-import { getEffectStylesKeyMap } from '@/utils/getEffectStylesKeyMap';
-import { getPaintStylesKeyMap } from '@/utils/getPaintStylesKeyMap';
-import { getTextStylesKeyMap } from '@/utils/getTextStylesKeyMap';
- 
-export const attachLocalStylesToTheme: AsyncMessageChannelHandlers[AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME] = async (msg) => {
-  const {
-    theme, tokens, category, settings,
-  } = msg;
-  const figmaStyleReferences = { ...theme.$figmaStyleReferences ?? {} };
-  const ignoreFirstPartForStyles = settings?.ignoreFirstPartForStyles;
-  const prefixStylesWithThemeName = settings?.prefixStylesWithThemeName;
- 
-  const paintToKeyMap = getPaintStylesKeyMap();
-  const textStylesToKeyMap = getTextStylesKeyMap();
-  const effectStylesToKeyMap = getEffectStylesKeyMap();
- 
-  // step 1 list all tokens of the enabled token sets
-  let tokensToCreateStylesFor: SingleToken[] = [];
-  Object.entries(theme.selectedTokenSets).forEach(([tokenSetName, status]) => {
-    if (status === TokenSetStatus.ENABLED) {
-      tokensToCreateStylesFor = tokensToCreateStylesFor.concat(tokens[tokenSetName] ?? []);
-    }
-  });
- 
-  // step 2 only include the relevant token types
-  const enabledTokenTypes = category === 'all'
-    ? [TokenTypes.COLOR, TokenTypes.TYPOGRAPHY, TokenTypes.BOX_SHADOW]
-    : compact([
-      category === 'colors' ? TokenTypes.COLOR : null,
-      category === 'typography' ? TokenTypes.TYPOGRAPHY : null,
-      category === 'effects' ? TokenTypes.BOX_SHADOW : null,
-    ]);
-  tokensToCreateStylesFor = tokensToCreateStylesFor.filter((token) => (
-    enabledTokenTypes.includes(token.type)
-  ));
- 
-  // step 3 find and attach local styles
-  const prefix = prefixStylesWithThemeName ? theme.name : null;
-  const slice = ignoreFirstPartForStyles ? 1 : 0;
-  tokensToCreateStylesFor.forEach((token) => {
-    const path = convertTokenNameToPath(token.name, prefix, slice);
-    if (token.type === TokenTypes.COLOR) {
-      const colorStyle = paintToKeyMap.get(path);
-      if (colorStyle) {
-        figmaStyleReferences[token.name] = colorStyle.id;
-      }
-    } else if (token.type === TokenTypes.TYPOGRAPHY) {
-      const textStyle = textStylesToKeyMap.get(path);
-      if (textStyle) {
-        figmaStyleReferences[token.name] = textStyle.id;
-      }
-    } else if (token.type === TokenTypes.BOX_SHADOW) {
-      const effectStyle = effectStylesToKeyMap.get(path);
-      if (effectStyle) {
-        figmaStyleReferences[token.name] = effectStyle.id;
-      }
-    }
-  });
- 
-  return {
-    ...theme,
-    $figmaStyleReferences: figmaStyleReferences,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html deleted file mode 100644 index e280bf782..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers attachLocalVariablesToTheme.ts

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { generateTokensToCreate } from '../generateTokensToCreate';
- 
-export const attachLocalVariablesToTheme: AsyncMessageChannelHandlers[AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME] = async (msg) => {
-  const { tokens, theme } = msg;
-  const allFigmaCollections = figma.variables.getLocalVariableCollections();
-  const collection = allFigmaCollections.find((co) => co.name === (theme.group ?? theme.name));
-  const mode = collection?.modes.find((m) => m.name === theme.name);
-  const figmaVariableMaps = new Map(
-    figma.variables
-      .getLocalVariables()
-      .filter((v) => v.variableCollectionId === collection?.id)
-      .map((variable) => [variable.name, variable]),
-  );
-  if (collection && mode) {
-    const collectionVariableIds: Record<string, string> = {};
-    const tokensToCreateVariablesFor = generateTokensToCreate({ theme, tokens });
-    tokensToCreateVariablesFor.forEach((token) => {
-      const variable = figmaVariableMaps.get(token.name.split('.').join('/'));
-      if (variable) {
-        collectionVariableIds[token.name] = variable.key;
-      }
-    });
-    return {
-      variableInfo: {
-        collectionId: collection.id,
-        modeId: mode.modeId,
-        variableIds: collectionVariableIds,
-      },
-    };
-  }
-  return {
-    variableInfo: null,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html deleted file mode 100644 index e7ae7c23a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/bulkRemapTokens.ts.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/bulkRemapTokens.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers bulkRemapTokens.ts

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { defaultNodeManager } from '../NodeManager';
-import { sendSelectionChange } from '../sendSelectionChange';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { postToUI } from '../notifiers';
-import { ProgressTracker } from '../ProgressTracker';
-import { defaultWorker } from '../Worker';
- 
-export const bulkRemapTokens: AsyncMessageChannelHandlers[AsyncMessageTypes.BULK_REMAP_TOKENS] = async (msg) => {
-  // Big O(n * m) + Big O(updatePluginData) + Big O(sendSelectionChange): (n = amount of nodes, m = amount of tokens in the node)
-  try {
-    const { oldName, newName } = msg;
-    const allWithData = await defaultNodeManager.findBaseNodesWithData({ updateMode: msg.updateMode });
-    const namespace = SharedPluginDataNamespaces.TOKENS;
-    postToUI({
-      type: MessageFromPluginTypes.START_JOB,
-      job: {
-        name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-        timePerTask: 2,
-        completedTasks: 0,
-        totalTasks: allWithData.length,
-      },
-    });
- 
-    const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
-    const promises: Set<Promise<void>> = new Set();
-    const regexPattern = /^\/(.*)\/([gimsuy]*)$/;
- 
-    allWithData.forEach(({ node, tokens }) => {
-      promises.add(defaultWorker.schedule(async () => {
-        Object.entries(tokens).forEach(([key, value]) => {
-          const regexTest = oldName.match(regexPattern);
-          // If the pattern passed is a regex, use it, otherwise use the old name with a global flag
-          const pattern = regexTest ? new RegExp(regexTest[1], regexTest[2]) : new RegExp(oldName, 'g');
-          if (pattern.test(value)) {
-            const newValue = value.replace(pattern, newName);
-            const jsonValue = JSON.stringify(newValue);
-            node.setSharedPluginData(namespace, key, jsonValue);
-          }
-        });
-        tracker.next();
-        tracker.reportIfNecessary();
-      }));
-    });
- 
-    await Promise.all(promises);
- 
-    postToUI({
-      type: MessageFromPluginTypes.COMPLETE_JOB,
-      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-    });
-    await sendSelectionChange();
-  } catch (e) {
-    console.error(e);
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html deleted file mode 100644 index 989307a47..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/cancelOperation.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/cancelOperation.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers cancelOperation.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { postToUI } from '../notifiers';
-import { defaultWorker } from '../Worker';
- 
-export const cancelOperation: AsyncMessageChannelHandlers[AsyncMessageTypes.CANCEL_OPERATION] = async () => {
-  defaultWorker.cancel();
-  postToUI({
-    type: MessageFromPluginTypes.CLEAR_JOBS,
-  });
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html deleted file mode 100644 index 68bb4074f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/changedTabs.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/changedTabs.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers changedTabs.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import store from '../store';
-import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { sendSelectionChange } from '../sendSelectionChange';
- 
-export const changedTabs: AsyncMessageChannelHandlers[AsyncMessageTypes.CHANGED_TABS] = async (msg) => {
-  const { requiresSelectionValues } = msg;
-  store.shouldSendSelectionValues = requiresSelectionValues;
-  await sendSelectionChange();
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html deleted file mode 100644 index 992121a92..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createAnnotation.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/createAnnotation.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers createAnnotation.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { createAnnotation as createAnnotationFn } from '@/utils/annotations';
- 
-export const createAnnotation: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_ANNOTATION] = async (msg) => {
-  createAnnotationFn(msg.tokens, msg.direction);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html deleted file mode 100644 index f5a3065eb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariables.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/createLocalVariables.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers createLocalVariables.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import createLocalVariablesInPlugin from '../createLocalVariablesInPlugin';
- 
-// This function is used to create variables based on themes
-export const createLocalVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_LOCAL_VARIABLES] = async (msg) => {
-  const result = await createLocalVariablesInPlugin(msg.tokens, msg.settings, msg.selectedThemes);
-  return {
-    variableIds: result.allVariableCollectionIds,
-    totalVariables: result.totalVariables,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html deleted file mode 100644 index 5a11ea67d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers createLocalVariablesWithoutModes.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import createLocalVariablesWithoutModesInPlugin from '../createLocalVariablesWithoutModesInPlugin';
- 
-// This function is used to create variables based on token sets, without the use of themes
-export const createLocalVariablesWithoutModes: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES] = async (msg) => {
-  const result = await createLocalVariablesWithoutModesInPlugin(msg.tokens, msg.settings, msg.selectedSets);
-  return {
-    variableIds: result.allVariableCollectionIds,
-    totalVariables: result.totalVariables,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html deleted file mode 100644 index 22a252522..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/createStyles.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/createStyles.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers createStyles.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import updateStyles from '../updateStyles';
-import { getThemeReferences } from './getThemeReferences';
-import { defaultTokenValueRetriever } from '../TokenValueRetriever';
- 
-export const createStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.CREATE_STYLES] = async (msg) => {
-  try {
-    const {
-      figmaVariableReferences, figmaStyleReferences, stylePathPrefix,
-    } = await getThemeReferences(msg.settings.prefixStylesWithThemeName);
-    defaultTokenValueRetriever.initiate({
-      tokens: msg.sourceTokens,
-      variableReferences: figmaVariableReferences,
-      styleReferences: figmaStyleReferences,
-      stylePathPrefix,
-      ignoreFirstPartForStyles: msg.settings.ignoreFirstPartForStyles,
-      createStylesWithVariableReferences: msg.settings.createStylesWithVariableReferences,
-      applyVariablesStylesOrRawValue: msg.settings.applyVariablesStylesOrRawValue,
-    });
-    const styleIds = await updateStyles(msg.tokens, msg.settings, true, msg.selectedTheme);
- 
-    return {
-      styleIds,
-    };
-  } catch (e) {
-    console.error(e);
-  }
- 
-  return {
-    styleIds: {},
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html deleted file mode 100644 index 103a2ed69..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/credentials.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/credentials.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers credentials.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { updateCredentials } from '@/utils/credentials';
- 
-export const credentials: AsyncMessageChannelHandlers[AsyncMessageTypes.CREDENTIALS] = async (msg) => {
-  const { credential } = msg;
-  await updateCredentials(credential);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html deleted file mode 100644 index 91dfbdb92..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers getAvailableVariableCollections.ts

-
- -
- 100% - Statements - 9/9 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 8/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -1x -  -  -2x -2x -  -2x -  -  -3x -  -  -  -  -  -1x -  -1x -1x -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import type { VariableCollectionInfo } from '@/types/VariableCollectionSelection';
- 
-export const getAvailableVariableCollections: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS] = async (): Promise<{
-  collections: VariableCollectionInfo[]
-}> => {
-  try {
-    const allCollections = await figma.variables.getLocalVariableCollectionsAsync();
-    
-    const collections: VariableCollectionInfo[] = allCollections.map((collection) => ({
-      id: collection.id,
-      name: collection.name,
-      modes: collection.modes.map((mode) => ({
-        modeId: mode.modeId,
-        name: mode.name,
-      })),
-    }));
- 
-    return { collections };
-  } catch (error) {
-    console.error('Error getting variable collections:', error);
-    return { collections: [] };
-  }
-};
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html deleted file mode 100644 index 771044e3a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getFigmaFonts.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/getFigmaFonts.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers getFigmaFonts.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const getFigmaFonts: AsyncMessageChannelHandlers[AsyncMessageTypes.GET_FIGMA_FONTS] = async () => {
-  const availableFonts = await figma.listAvailableFontsAsync();
-  return {
-    fonts: availableFonts,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html deleted file mode 100644 index b07439afa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getSiblingStyleId.ts.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/getSiblingStyleId.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers getSiblingStyleId.ts

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StyleIdMap, StyleThemeMap } from '@/types/StyleIdMap';
- 
-const memo: StyleIdMap = {};
- 
-// Gets the sibling style for a given style considering the new theme
-export async function getNewStyleId(styleId: string, styleIds: StyleIdMap, styleMap: StyleThemeMap, activeThemes: string[]) {
-  if (!styleId) {
-    return null;
-  }
- 
-  // Removes the , 4:16 part after each style (we seem to store styleIds without that part)
-  const normalizedStyleId = styleId.split(',')[0].concat(',');
- 
-  const tokenName = styleIds[normalizedStyleId];
-  // If there is no figmaStyleReference for that token, we can't do anything
-  if (!tokenName) {
-    console.warn(`${normalizedStyleId} not found`);
-    return null;
-  }
- 
-  // Get the sibling style for the new theme
-  const newTheme = Object.keys(styleMap[tokenName]).find((themeName) => activeThemes.includes(themeName));
-  if (newTheme) {
-    const newStyleToFetch = styleMap[tokenName][newTheme];
- 
-    // If there is none, return
-    if (!newStyleToFetch) {
-      console.warn(`${tokenName} for theme ${newTheme} not found`);
-      return null;
-    }
- 
-    let actualStyleId = newStyleToFetch;
- 
-    // If we already have the styleId in memory, return it
-    if (memo.hasOwnProperty(newStyleToFetch)) {
-      actualStyleId = memo[newStyleToFetch];
-    } else {
-      // Otherwise, fetch it and store it in memory
-      // This fetches the remote style and returns the local styleId that we need to apply the token
-      const styleKeyMatch = newStyleToFetch.match(/^S:([a-zA-Z0-9_-]+),/);
-      if (styleKeyMatch) {
-        actualStyleId = await new Promise<string>((resolve) => {
-          figma.importStyleByKeyAsync(styleKeyMatch[1])
-            .then((style) => resolve(style.id))
-            .catch(() => resolve(newStyleToFetch));
-        });
-        memo[newStyleToFetch] = actualStyleId;
-      }
-    }
- 
-    const figmaStyle = figma.getStyleById(actualStyleId);
- 
-    // If there is no figmaStyle for that token, we can't do anything
-    if (!figmaStyle) {
-      console.warn(`figma style for ${tokenName} not found, ${newStyleToFetch}`);
-      return null;
-    }
- 
-    return figmaStyle.id;
-  }
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html deleted file mode 100644 index fa203b392..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/getThemeReferences.ts.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/getThemeReferences.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers getThemeReferences.ts

-
- -
- 0% - Statements - 0/41 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/16 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { RawVariableReferenceMap } from '@/types/RawVariableReferenceMap';
-import { defaultTokenValueRetriever } from '../TokenValueRetriever';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { getVariablesWithoutZombies } from '../getVariablesWithoutZombies';
-import { normalizeVariableName } from '@/utils/normalizeVariableName';
- 
-export async function getThemeReferences(prefixStylesWithThemeName?: boolean) {
-  defaultTokenValueRetriever.clearCache();
- 
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
- 
-  const figmaStyleReferences: Map<string, string> = new Map();
-  const figmaVariableReferences: RawVariableReferenceMap = new Map();
- 
-  const activeThemes = themeInfo.themes?.filter((theme) => Object.values(themeInfo.activeTheme).some((v) => v === theme.id));
- 
-  const stylePathPrefix = prefixStylesWithThemeName && activeThemes.length > 0 ? activeThemes[0].name : undefined;
- 
-  activeThemes?.forEach((theme) => {
-    Object.entries(theme.$figmaVariableReferences ?? {}).forEach(([token, variableId]) => {
-      if (!figmaVariableReferences.has(token)) {
-        figmaVariableReferences.set(token, variableId);
-      }
-    });
-    Object.entries(theme.$figmaStyleReferences ?? {}).forEach(([token, styleId]) => {
-      if (!figmaStyleReferences.has(token)) {
-        figmaStyleReferences.set(token, styleId);
-      }
-    });
-  });
- 
-  // We'll also add variables of source token sets to the references to properly resolve variables when used in styles
-  const allSourceTokenSetsOfActiveThemes = activeThemes.map((theme) => Object.entries(theme.selectedTokenSets)
-    .filter(([_, status]) => status === TokenSetStatus.SOURCE)) // filter only for source sets
-    .map((theme) => Object.keys(theme).filter((key) => theme[key] === TokenSetStatus.SOURCE)).flat(); // just return name
- 
-  // Get all themes containing the source token sets
-  const allThemesContainingSourceTokenSets = themeInfo.themes.filter((theme) => allSourceTokenSetsOfActiveThemes
-    .some((sourceTokenSet) => theme.selectedTokenSets[sourceTokenSet] === TokenSetStatus.ENABLED)); // Just get those where its enabled
- 
-  allThemesContainingSourceTokenSets?.forEach((theme) => {
-    Object.entries(theme.$figmaVariableReferences ?? {}).forEach(([token, variableId]) => {
-      if (!figmaVariableReferences.has(token)) {
-        figmaVariableReferences.set(token, variableId);
-      }
-    });
-  });
- 
-  // We'll also add local variables to the references in case of where we work with local sets
-  const localVariables = await getVariablesWithoutZombies();
- 
-  localVariables.forEach((variable) => {
-    const normalizedVariableName = normalizeVariableName(variable.name); // adjusting variable name to match the token name
-    if (!figmaVariableReferences.has(normalizedVariableName)) {
-      figmaVariableReferences.set(normalizedVariableName, variable.key);
-    }
-  });
- 
-  const effectStyles = figma.getLocalEffectStyles();
-  const paintStyles = figma.getLocalPaintStyles();
-  const textStyles = figma.getLocalTextStyles();
-  const localStyles = [...effectStyles, ...paintStyles, ...textStyles];
- 
-  // We'll also add local styles to the references in case of where we work with local sets
-  localStyles.forEach((style) => {
-    if (!figmaStyleReferences.has(style.name)) {
-      const normalizedStyleName = normalizeVariableName(style.name); // adjusting variable name to match the token name
-      figmaStyleReferences.set(normalizedStyleName, style.id);
-    }
-  });
- 
-  return {
-    figmaStyleReferences, figmaVariableReferences, stylePathPrefix,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html deleted file mode 100644 index bcd5f6370..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/gotoNode.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/gotoNode.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers gotoNode.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { goToNode } from '../node';
- 
-export const gotoNode: AsyncMessageChannelHandlers[AsyncMessageTypes.GOTO_NODE] = async (msg) => {
-  goToNode(msg.id);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html deleted file mode 100644 index f89395eff..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.html +++ /dev/null @@ -1,836 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers - - - - - - - - - -
-
-

All files src/plugin/asyncMessageHandlers

-
- -
- 2.07% - Statements - 9/434 -
- - -
- 0% - Branches - 0/190 -
- - -
- 2.75% - Functions - 3/109 -
- - -
- 1.93% - Lines - 8/413 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
applySiblingStyle.ts -
-
0%0/430%0/470%0/50%0/41
attachLocalStylesToTheme.ts -
-
0%0/320%0/300%0/40%0/32
attachLocalVariablesToTheme.ts -
-
0%0/190%0/80%0/60%0/17
bulkRemapTokens.ts -
-
0%0/240%0/40%0/40%0/24
cancelOperation.ts -
-
0%0/3100%0/00%0/10%0/3
changedTabs.ts -
-
0%0/4100%0/00%0/10%0/4
createAnnotation.ts -
-
0%0/2100%0/00%0/10%0/2
createLocalVariables.ts -
-
0%0/3100%0/00%0/10%0/3
createLocalVariablesWithoutModes.ts -
-
0%0/3100%0/00%0/10%0/3
createStyles.ts -
-
0%0/8100%0/00%0/10%0/8
credentials.ts -
-
0%0/3100%0/00%0/10%0/3
getAvailableVariableCollections.ts -
-
100%9/9100%0/0100%3/3100%8/8
getFigmaFonts.ts -
-
0%0/3100%0/00%0/10%0/3
getSiblingStyleId.ts -
-
0%0/310%0/140%0/50%0/30
getThemeReferences.ts -
-
0%0/410%0/200%0/160%0/36
gotoNode.ts -
-
0%0/2100%0/00%0/10%0/2
index.ts -
-
0%0/00%0/00%0/00%0/0
notify.ts -
-
0%0/2100%0/00%0/10%0/2
preview.ts -
-
0%0/3100%0/00%0/10%0/3
pullStyles.ts -
-
0%0/2100%0/00%0/10%0/2
pullVariables.ts -
-
0%0/2100%0/00%0/10%0/2
remapTokens.ts -
-
0%0/220%0/60%0/40%0/22
removeSingleCredential.ts -
-
0%0/3100%0/00%0/10%0/3
removeStyles.ts -
-
0%0/5100%0/00%0/10%0/5
removeStylesWithoutConnection.ts -
-
0%0/110%0/20%0/30%0/11
removeTokensByValue.ts -
-
0%0/100%0/40%0/30%0/8
renameStyles.ts -
-
0%0/5100%0/00%0/10%0/5
renameVariables.ts -
-
0%0/2100%0/00%0/10%0/1
resizeWindow.ts -
-
0%0/2100%0/00%0/10%0/2
resolveStyleInfo.ts -
-
0%0/150%0/40%0/30%0/14
resolveVariableInfo.ts -
-
0%0/100%0/40%0/20%0/10
selectNodes.ts -
-
0%0/2100%0/00%0/10%0/2
setAuthData.ts -
-
0%0/2100%0/00%0/10%0/2
setInitialLoad.ts -
-
0%0/2100%0/00%0/10%0/2
setLicenseKey.ts -
-
0%0/2100%0/00%0/10%0/2
setNodeData.ts -
-
0%0/100%0/20%0/10%0/10
setNoneValuesOnNode.ts -
-
0%0/190%0/40%0/60%0/19
setOnboardingExplainerExportSets.ts -
-
0%0/2100%0/00%0/10%0/2
setOnboardingExplainerInspect.ts -
-
0%0/2100%0/00%0/10%0/2
setOnboardingExplainerSets.ts -
-
0%0/2100%0/00%0/10%0/2
setOnboardingExplainerSyncProviders.ts -
-
0%0/2100%0/00%0/10%0/2
setShowEmptyGroups.ts -
-
0%0/2100%0/00%0/10%0/2
setStorageType.ts -
-
0%0/2100%0/00%0/10%0/2
setUi.ts -
-
0%0/80%0/60%0/10%0/8
setUsedEmail.ts -
-
0%0/20%0/20%0/10%0/2
swapStyles.ts -
-
0%0/310%0/150%0/110%0/25
update.ts -
-
0%0/150%0/180%0/10%0/15
updateCheckForChanges.ts -
-
0%0/3100%0/00%0/10%0/3
updateVariables.ts -
-
0%0/2100%0/00%0/10%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html deleted file mode 100644 index 94641aa5f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/index.ts.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/index.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './credentials';
-export * from './changedTabs';
-export * from './removeSingleCredential';
-export * from './setStorageType';
-export * from './setOnboardingExplainerSets';
-export * from './setOnboardingExplainerExportSets';
-export * from './setOnboardingExplainerSyncProviders';
-export * from './setOnboardingExplainerInspect';
-export * from './setNodeData';
-export * from './removeTokensByValue';
-export * from './remapTokens';
-export * from './gotoNode';
-export * from './selectNodes';
-export * from './pullStyles';
-export * from './pullVariables';
-export * from './notify';
-export * from './cancelOperation';
-export * from './resizeWindow';
-export * from './setShowEmptyGroups';
-export * from './setUi';
-export * from './createAnnotation';
-export * from './createStyles';
-export * from './update';
-export * from './updateCheckForChanges';
-export * from './setLicenseKey';
-export * from './attachLocalStylesToTheme';
-export * from './resolveStyleInfo';
-export * from './renameStyles';
-export * from './bulkRemapTokens';
-export * from './removeStyles';
-export * from './setAuthData';
-export * from './setNoneValuesOnNode';
-export * from './getFigmaFonts';
-export * from './getAvailableVariableCollections';
-export * from './setUsedEmail';
-export * from './createLocalVariables';
-export * from './createLocalVariablesWithoutModes';
-export * from './resolveVariableInfo';
-export * from './attachLocalVariablesToTheme';
-export * from './renameVariables';
-export * from './updateVariables';
-export * from './setInitialLoad';
-export * from './preview';
-export * from './removeStylesWithoutConnection';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html deleted file mode 100644 index 608bf7bdb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/notify.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/notify.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers notify.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { notifyUI } from '../notifiers';
- 
-export const notify: AsyncMessageChannelHandlers[AsyncMessageTypes.NOTIFY] = async (msg) => {
-  notifyUI(msg.msg, msg.opts);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html deleted file mode 100644 index 1da590ad9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/preview.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/preview.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers preview.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel, AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { startup } from '@/utils/plugin';
- 
-export const previewRequestStartup: AsyncMessageChannelHandlers[AsyncMessageTypes.PREVIEW_REQUEST_STARTUP] = async () => {
-  const params = await startup();
- 
-  AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.STARTUP,
-    ...params,
-  });
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html deleted file mode 100644 index eeead936e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullStyles.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/pullStyles.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers pullStyles.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import pullStylesFn from '../pullStyles';
- 
-export const pullStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.PULL_STYLES] = async (msg) => {
-  pullStylesFn(msg.styleTypes);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html deleted file mode 100644 index 236de1447..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/pullVariables.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/pullVariables.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers pullVariables.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import pullVariablesFn from '../pullVariables';
- 
-export const pullVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.PULL_VARIABLES] = async (msg) => {
-  pullVariablesFn(msg.options, msg.themes, msg.proUser);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html deleted file mode 100644 index 1117e42ab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/remapTokens.ts.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/remapTokens.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers remapTokens.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { defaultNodeManager } from '../NodeManager';
-import { sendSelectionChange } from '../sendSelectionChange';
-import { defaultWorker } from '../Worker';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { postToUI } from '../notifiers';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { ProgressTracker } from '../ProgressTracker';
- 
-export const remapTokens: AsyncMessageChannelHandlers[AsyncMessageTypes.REMAP_TOKENS] = async (msg) => {
-  try {
-    const {
-      oldName, newName, updateMode, category,
-    } = msg;
-    const allWithData = await defaultNodeManager.findBaseNodesWithData({ updateMode });
-    const namespace = SharedPluginDataNamespaces.TOKENS;
-    postToUI({
-      type: MessageFromPluginTypes.START_JOB,
-      job: {
-        name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-        timePerTask: 2,
-        completedTasks: 0,
-        totalTasks: allWithData.length,
-      },
-    });
- 
-    const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
-    const promises: Set<Promise<void>> = new Set();
- 
-    allWithData.forEach(({ node, tokens }) => {
-      promises.add(defaultWorker.schedule(async () => {
-        Object.entries(tokens).map(async ([key, value]) => {
-          if (typeof category !== 'undefined' && key !== category) {
-            return;
-          }
-          if (value === oldName) {
-            const jsonValue = JSON.stringify(newName);
-            node.setSharedPluginData(namespace, key, jsonValue);
-          }
-        });
-        tracker.next();
-        tracker.reportIfNecessary();
-      }));
-    });
- 
-    await Promise.all(promises);
- 
-    postToUI({
-      type: MessageFromPluginTypes.COMPLETE_JOB,
-      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-    });
-    await sendSelectionChange();
-  } catch (e) {
-    console.error(e);
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html deleted file mode 100644 index 295c65bc3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeSingleCredential.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/removeSingleCredential.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers removeSingleCredential.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { removeSingleCredential as removeSingleCredentialAsync } from '@/utils/credentials';
- 
-export const removeSingleCredential: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL] = async (msg) => {
-  const { context } = msg;
-  await removeSingleCredentialAsync(context);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html deleted file mode 100644 index f6169088d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStyles.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/removeStyles.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers removeStyles.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import removeStylesFromPlugin from '../removeStylesFromPlugin';
- 
-export const removeStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_STYLES] = async (msg) => {
-  try {
-    return {
-      styleIds: await removeStylesFromPlugin(msg.token),
-    };
-  } catch (e) {
-    console.error(e);
-  }
- 
-  return {
-    styleIds: [],
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html deleted file mode 100644 index 70749f3c5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers removeStylesWithoutConnection.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const removeStylesWithoutConnection: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION] = async (msg) => {
-  try {
-    let count = 0;
-    const localStyles = await Promise.all([
-      figma.getLocalPaintStylesAsync(),
-      figma.getLocalTextStylesAsync(),
-      figma.getLocalEffectStylesAsync(),
-    ]).then((results) => results.flat());
-    localStyles.forEach((style) => {
-      if (!msg.usedStyleIds.includes(style.id)) {
-        style.remove();
-        count += 1;
-      }
-    });
-    return { countOfRemovedStyles: count };
-  } catch (e) {
-    return { countOfRemovedStyles: 0 };
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html deleted file mode 100644 index 71f8576dd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/removeTokensByValue.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/removeTokensByValue.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers removeTokensByValue.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { sendSelectionChange } from '../sendSelectionChange';
-import { removePluginDataByMap } from '../removePluginDataByMap';
-import { Properties } from '@/constants/Properties';
- 
-export const removeTokensByValue: AsyncMessageChannelHandlers[AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE] = async (msg) => {
-  const nodesToRemove: { node: BaseNode, key: Properties }[] = [];
- 
-  msg.tokensToRemove.forEach((token) => {
-    token.nodes.forEach(((node) => {
-      const figmaNode = figma.getNodeById(node.id);
-      if (figmaNode) nodesToRemove.push({ node: figmaNode, key: token.property });
-    }));
-  });
- 
-  if (nodesToRemove.length) await removePluginDataByMap({ nodeKeyMap: nodesToRemove });
- 
-  sendSelectionChange();
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html deleted file mode 100644 index d40d3bc83..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameStyles.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/renameStyles.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers renameStyles.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import renameStylesFromPlugin from '../renameStylesFromPlugin';
- 
-export const renameStyles: AsyncMessageChannelHandlers[AsyncMessageTypes.RENAME_STYLES] = async (msg) => {
-  try {
-    return {
-      styleIds: await renameStylesFromPlugin(msg.tokensToRename, msg.parent),
-    };
-  } catch (e) {
-    console.error(e);
-  }
- 
-  return {
-    styleIds: [],
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html deleted file mode 100644 index 00b2c21a3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/renameVariables.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/renameVariables.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers renameVariables.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import renameVariablesFromPlugin from '../renameVariablesFromPlugin';
- 
-export const renameVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.RENAME_VARIABLES] = async (msg) => ({
-  renameVariableToken: await renameVariablesFromPlugin(msg.tokens),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html deleted file mode 100644 index b47d2d938..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resizeWindow.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/resizeWindow.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers resizeWindow.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const resizeWindow: AsyncMessageChannelHandlers[AsyncMessageTypes.RESIZE_WINDOW] = async (msg) => {
-  figma.ui.resize(msg.width, msg.height);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html deleted file mode 100644 index e8a6424d9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveStyleInfo.ts.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/resolveStyleInfo.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers resolveStyleInfo.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const resolveStyleInfo: AsyncMessageChannelHandlers[AsyncMessageTypes.RESOLVE_STYLE_INFO] = async (msg) => {
-  const allLocalStyles = [
-    ...figma.getLocalPaintStyles(),
-    ...figma.getLocalEffectStyles(),
-    ...figma.getLocalTextStyles(),
-  ];
- 
-  const resolvedValues = await Promise.all(
-    msg.styleIds.map(async (id) => {
-      const styleKeyMatch = id.match(/^S:([a-zA-Z0-9_-]+),/);
-      if (styleKeyMatch) {
-        try {
-          const remoteStyle = await figma.importStyleByKeyAsync(styleKeyMatch[1]);
-          return {
-            id,
-            key: remoteStyle.key,
-            name: remoteStyle.name,
-          };
-        } catch (err) {
-          console.error(err);
-        }
-      }
- 
-      const styleMatch = allLocalStyles.find((style) => style.id === id);
-      if (styleMatch) {
-        return {
-          id,
-          key: styleMatch.key,
-          name: styleMatch.name,
-        };
-      }
- 
-      return { id };
-    }),
-  );
- 
-  return {
-    resolvedValues,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html deleted file mode 100644 index 762775cd9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/resolveVariableInfo.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/resolveVariableInfo.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers resolveVariableInfo.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { getVariablesMap } from '@/utils/getVariablesMap';
- 
-export type ResolvedVariableInfo = {
-  name: string;
-  key: string
-};
-export const resolveVariableInfo: AsyncMessageChannelHandlers[AsyncMessageTypes.RESOLVE_VARIABLE_INFO] = async (msg) => {
-  const localVariableMap = await getVariablesMap();
-  const resolvedValues: Record<string, ResolvedVariableInfo> = {};
-  await Promise.all(msg.variableIds.map(async (variableId) => {
-    if (localVariableMap[variableId]) {
-      resolvedValues[variableId] = {
-        name: localVariableMap[variableId].name,
-        key: localVariableMap[variableId].key,
-      };
-    } else {
-      const variable = await figma.variables.importVariableByKeyAsync(variableId);
-      if (variable) {
-        resolvedValues[variableId] = {
-          name: variable.name,
-          key: variable.key,
-        };
-      }
-    }
-  }));
-  return {
-    resolvedValues,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html deleted file mode 100644 index 9bdb653b9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/selectNodes.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/selectNodes.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers selectNodes.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import {
-  selectNodes as selectNodesFn,
-} from '../node';
- 
-export const selectNodes: AsyncMessageChannelHandlers[AsyncMessageTypes.SELECT_NODES] = async (msg) => {
-  selectNodesFn(msg.ids);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html deleted file mode 100644 index c612830f9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setAuthData.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setAuthData.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setAuthData.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AuthDataProperty } from '@/figmaStorage/AuthDataProperty';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const setAuthData: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_AUTH_DATA] = async (msg) => {
-  await AuthDataProperty.write(msg.auth);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html deleted file mode 100644 index dd3c40ac3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setInitialLoad.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setInitialLoad.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setInitialLoad.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { InitialLoadProperty } from '@/figmaStorage/InitialLoadProperty';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const setInitialLoad: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_INITIAL_LOAD] = async (msg) => {
-  await InitialLoadProperty.write(msg.initialLoad);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html deleted file mode 100644 index a3d108a35..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setLicenseKey.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setLicenseKey.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setLicenseKey.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { LicenseKeyProperty } from '@/figmaStorage/LicenseKeyProperty';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const setLicenseKey: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_LICENSE_KEY] = async (msg) => {
-  await LicenseKeyProperty.write(msg.licenseKey);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html deleted file mode 100644 index 84a817ca1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNodeData.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setNodeData.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setNodeData.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { tokenArrayGroupToMap } from '@/utils/tokenArrayGroupToMap';
-import { updatePluginDataAndNodes } from '../updatePluginDataAndNodes';
-import { sendSelectionChange } from '../sendSelectionChange';
-import { getThemeReferences } from './getThemeReferences';
-import { defaultTokenValueRetriever } from '../TokenValueRetriever';
- 
-export const setNodeData: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_NODE_DATA] = async (msg) => {
-  try {
-    if (figma.currentPage.selection.length) {
-      const tokensMap = tokenArrayGroupToMap(msg.tokens);
-      const nodes = figma.currentPage.selection;
-      const {
-        figmaVariableReferences, figmaStyleReferences, stylePathPrefix,
-      } = await getThemeReferences(msg.settings.prefixStylesWithThemeName);
- 
-      await defaultTokenValueRetriever.initiate({
-        tokens: msg.tokens,
-        variableReferences: figmaVariableReferences,
-        styleReferences: figmaStyleReferences,
-        stylePathPrefix,
-        ignoreFirstPartForStyles: msg.settings.ignoreFirstPartForStyles,
-        applyVariablesStylesOrRawValue: msg.settings.applyVariablesStylesOrRawValue,
-      });
- 
-      await updatePluginDataAndNodes({
-        entries: nodes, values: msg.values, tokensMap, settings: msg.settings,
-      });
-      sendSelectionChange();
-    }
-  } catch (e) {
-    console.error(e);
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html deleted file mode 100644 index ef9878d61..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setNoneValuesOnNode.ts

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { sendSelectionChange } from '../sendSelectionChange';
-import { setNonePluginData } from '../pluginData';
-import { Properties } from '@/constants/Properties';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { postToUI } from '../notifiers';
-import { defaultWorker } from '../Worker';
-import { ProgressTracker } from '../ProgressTracker';
- 
-export const setNoneValuesOnNode: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_NONE_VALUES_ON_NODE] = async (msg) => {
-  const nodesToRemove: { [key: string]: Properties[] } = {};
- 
-  msg.tokensToSet.forEach((token) => {
-    token.nodes.forEach(({ id }) => {
-      nodesToRemove[id] = nodesToRemove[id] ? [...nodesToRemove[id], token.property] : [token.property];
-    });
-  });
-  postToUI({
-    type: MessageFromPluginTypes.START_JOB,
-    job: {
-      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-      timePerTask: 2,
-      completedTasks: 0,
-      totalTasks: Object.keys(nodesToRemove).length,
-    },
-  });
- 
-  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
-  const promises: Set<Promise<void>> = new Set();
- 
-  Object.entries(nodesToRemove).forEach(([nodeId, keys]) => {
-    promises.add(defaultWorker.schedule(async () => {
-      keys.forEach(async (key) => {
-        const nodeToUpdate = figma.getNodeById(nodeId);
-        if (nodeToUpdate) {
-          await setNonePluginData({ nodes: [nodeToUpdate], key });
-        }
-      });
-      tracker.next();
-      tracker.reportIfNecessary();
-    }));
-  });
- 
-  await Promise.all(promises);
- 
-  postToUI({
-    type: MessageFromPluginTypes.COMPLETE_JOB,
-    name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-  });
-  sendSelectionChange();
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html deleted file mode 100644 index 10fcd03ed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerExportSets.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { saveOnboardingExplainerExportSets } from '../node';
- 
-export const setOnboardingExplainerExportSets: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS] = async (msg) => {
-  await saveOnboardingExplainerExportSets(msg.onboardingExplainerExportSets);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html deleted file mode 100644 index ebfb30234..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerInspect.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { saveOnboardingExplainerInspect } from '../node';
- 
-export const setOnboardingExplainerInspect: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT] = async (msg) => {
-  await saveOnboardingExplainerInspect(msg.onboardingExplainerInspect);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html deleted file mode 100644 index 76fad7a05..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerSets.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { saveOnboardingExplainerSets } from '../node';
- 
-export const setOnboardingExplainerSets: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS] = async (msg) => {
-  await saveOnboardingExplainerSets(msg.onboardingExplainerSets);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html deleted file mode 100644 index bee9bfd7c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setOnboardingExplainerSyncProviders.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { saveOnboardingExplainerSyncProviders } from '../node';
- 
-export const setOnboardingExplainerSyncProviders: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS] = async (msg) => {
-  await saveOnboardingExplainerSyncProviders(msg.onboardingExplainerSyncProviders);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html deleted file mode 100644 index 62dac2445..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setShowEmptyGroups.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { updateUISettings } from '@/utils/uiSettings';
- 
-export const setShowEmptyGroups: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS] = async (msg) => {
-  updateUISettings({
-    showEmptyGroups: msg.showEmptyGroups,
-  });
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html deleted file mode 100644 index af3e41080..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setStorageType.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setStorageType.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setStorageType.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { saveStorageType } from '../node';
- 
-export const setStorageType: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_STORAGE_TYPE] = async (msg) => {
-  await saveStorageType(msg.storageType);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html deleted file mode 100644 index 9d0c503c5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUi.ts.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setUi.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setUi.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { DefaultWindowSize } from '@/constants/DefaultWindowSize';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { updateUISettings } from '@/utils/uiSettings';
-import { sendSelectionChange } from '../sendSelectionChange';
-import store from '../store';
- 
-export const setUi: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_UI] = async (msg) => {
-  const width = msg.uiWindow?.width ?? DefaultWindowSize.width;
-  const height = msg.uiWindow?.height ?? DefaultWindowSize.height;
-  updateUISettings({
-    width,
-    height,
-    updateMode: msg.updateMode,
-    language: msg.language,
-    updateRemote: msg.updateRemote,
-    updateOnChange: msg.updateOnChange,
-    shouldUpdateStyles: msg.shouldUpdateStyles,
-    applyVariablesStylesOrRawValue: msg.applyVariablesStylesOrRawValue,
-    ignoreFirstPartForStyles: msg.ignoreFirstPartForStyles,
-    createStylesWithVariableReferences: msg.createStylesWithVariableReferences,
-    prefixStylesWithThemeName: msg.prefixStylesWithThemeName,
-    renameExistingStylesAndVariables: msg.renameExistingStylesAndVariables,
-    removeStylesAndVariablesWithoutConnection: msg.removeStylesAndVariablesWithoutConnection,
-    variablesBoolean: msg.variablesBoolean,
-    variablesColor: msg.variablesColor,
-    variablesNumber: msg.variablesNumber,
-    variablesString: msg.variablesString,
-    stylesColor: msg.stylesColor,
-    stylesEffect: msg.stylesEffect,
-    stylesTypography: msg.stylesTypography,
-    inspectDeep: msg.inspectDeep,
-    baseFontSize: msg.baseFontSize,
-    sessionRecording: msg.sessionRecording,
-    aliasBaseFontSize: msg.aliasBaseFontSize,
-    shouldSwapStyles: msg.shouldSwapStyles,
-    storeTokenIdInJsonEditor: msg.storeTokenIdInJsonEditor,
-  });
-  figma.ui.resize(width, height);
-  if (store.inspectDeep !== msg.inspectDeep) {
-    store.inspectDeep = msg.inspectDeep;
-    sendSelectionChange();
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html deleted file mode 100644 index 569cfa375..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/setUsedEmail.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/setUsedEmail.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers setUsedEmail.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { UsedEmailProperty } from '@/figmaStorage/UsedEmailProperty';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export const setUsedEmail: AsyncMessageChannelHandlers[AsyncMessageTypes.SET_USED_EMAIL] = async (msg) => {
-  await UsedEmailProperty.write(msg.email ?? null);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html deleted file mode 100644 index 89b0e7529..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/swapStyles.ts.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/swapStyles.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers swapStyles.ts

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { UpdateMode } from '@/constants/UpdateMode';
-import { ThemeObjectsList } from '@/types';
-import { StyleIdMap, StyleThemeMap } from '@/types/StyleIdMap';
-import { applySiblingStyleId } from './applySiblingStyle';
- 
-function getRootNode(updateMode: UpdateMode) {
-  const rootNode: SceneNode[] = [];
-  switch (updateMode) {
-    case UpdateMode.PAGE:
-      if (figma.currentPage.children) rootNode.push(...figma.currentPage.children);
-      break;
-    case UpdateMode.SELECTION:
-      if (figma.currentPage.selection) rootNode.push(...figma.currentPage.selection);
-      break;
-    case UpdateMode.DOCUMENT:
-      figma.root.children.forEach((page) => rootNode.push(...page.children));
-      break;
-    default:
-      rootNode.push(...figma.currentPage.children);
-      break;
-  }
-  return rootNode;
-}
- 
-// Go through layers to swap styles
-export async function swapStyles(activeTheme: Record<string, string>, themes: ThemeObjectsList, updateMode: UpdateMode) {
-  const activeThemes = themes.filter((theme) => Object.values(activeTheme).some((v) => v === theme.id)).map((t) => t.name);
-  // Creates an object that groups sibling styles by token name and theme name, e.g. { 'color.background': { 'dark': 'S:1234,4:16', 'light': 'S:1235,4:16' } }
-  const mappedStyleReferences = themes.reduce((acc, theme) => {
-    if (theme.$figmaStyleReferences) {
-      Object.entries(theme.$figmaStyleReferences).forEach(([styleName, styleId]) => {
-        acc[styleName] = { ...acc[styleName], [theme.name]: styleId };
-      });
-    }
-    return acc;
-  }, {} as StyleThemeMap);
- 
-  // Creates an object that maps styleIds to token names, e.g. { 'S:1234,4:16': 'color.background' }
-  const allStyleIds = Object.entries(mappedStyleReferences).reduce((acc, [tokenName, mapping]) => {
-    Object.values(mapping).forEach((styleId) => {
-      acc[styleId] = tokenName;
-    });
-    return acc;
-  }, {} as StyleIdMap);
-  if (activeThemes.length < 1 || !mappedStyleReferences || !allStyleIds) {
-    return;
-  }
- 
-  getRootNode(updateMode).forEach((layer) => {
-    applySiblingStyleId(layer, allStyleIds, mappedStyleReferences, activeThemes);
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html deleted file mode 100644 index 6dd0a5912..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/update.ts.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/update.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers update.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { updateLocalTokensData } from '@/utils/figma';
-import { updateNodes } from '../updateNodes';
-import { NodeManagerNode, defaultNodeManager } from '../NodeManager';
-import { swapStyles } from './swapStyles';
-import { getThemeReferences } from './getThemeReferences';
-import { defaultTokenValueRetriever } from '../TokenValueRetriever';
-import { TokenFormatOptions } from '../TokenFormatStoreClass';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import updateStyles from '../updateStyles';
- 
-export const update: AsyncMessageChannelHandlers[AsyncMessageTypes.UPDATE] = async (msg) => {
-  let allWithData: NodeManagerNode[] = [];
-  if (msg.tokenValues && msg.updatedAt) {
-    await updateLocalTokensData({
-      tokens: msg.tokenValues,
-      themes: msg.themes,
-      compressedTokens: msg.compressedTokens,
-      compressedThemes: msg.compressedThemes,
-      activeTheme: msg.activeTheme,
-      usedTokenSets: msg.usedTokenSet,
-      updatedAt: msg.updatedAt,
-      checkForChanges: msg.checkForChanges ?? false,
-      collapsedTokenSets: msg.collapsedTokenSets,
-      tokenFormat: msg.tokenFormat || TokenFormatOptions.Legacy,
-      storageProvider: msg.storageProvider,
-      storageSize: msg.storageSize,
-    });
-  }
-  if (msg.tokens) {
-    const {
-      figmaVariableReferences, figmaStyleReferences, stylePathPrefix,
-    } = await getThemeReferences(msg.settings.prefixStylesWithThemeName);
-    defaultTokenValueRetriever.initiate({
-      tokens: msg.tokens,
-      variableReferences: figmaVariableReferences,
-      styleReferences: figmaStyleReferences,
-      stylePathPrefix,
-      ignoreFirstPartForStyles: msg.settings.ignoreFirstPartForStyles,
-      createStylesWithVariableReferences: msg.settings.createStylesWithVariableReferences,
-      applyVariablesStylesOrRawValue: msg.settings.applyVariablesStylesOrRawValue,
-    });
- 
-    // If the user has shouldUpdateStyles enabled, we need to upate styles (last used settings will be used, and we're using active themes)
-    if (msg.settings.shouldUpdateStyles) {
-      await updateStyles(msg.tokens, msg.settings, false);
-    }
- 
-    allWithData = await defaultNodeManager.findBaseNodesWithData({
-      updateMode: msg.settings.updateMode,
-    });
- 
-    await updateNodes(allWithData, msg.settings);
-    const shouldApplyStyles = msg.settings.applyVariablesStylesOrRawValue === ApplyVariablesStylesOrRawValues.VARIABLES_STYLES;
-    if (msg.activeTheme && msg.themes && msg.settings.shouldSwapStyles && shouldApplyStyles) {
-      await swapStyles(msg.activeTheme, msg.themes, msg.settings.updateMode);
-    }
-  }
- 
-  return {
-    nodes: allWithData.length,
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html deleted file mode 100644 index 56bdb09d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateCheckForChanges.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/updateCheckForChanges.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers updateCheckForChanges.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { ClientStorageProperty } from '@/figmaStorage/ClientStorageProperty';
-import { getFileKey } from '../helpers';
- 
-export const updateCheckForChanges: AsyncMessageChannelHandlers[AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES] = async (msg) => {
-  const fileKey = await getFileKey();
-  await ClientStorageProperty.write('checkForChanges', fileKey, msg.checkForChanges as unknown as string);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html deleted file mode 100644 index 26372ab8f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/asyncMessageHandlers/updateVariables.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/asyncMessageHandlers/updateVariables.ts - - - - - - - - - -
-
-

All files / src/plugin/asyncMessageHandlers updateVariables.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AsyncMessageChannelHandlers } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import updateVariablesFromPlugin from '../updateVariablesFromPlugin';
- 
-export const updateVariables: AsyncMessageChannelHandlers[AsyncMessageTypes.UPDATE_VARIABLES] = async (msg) => {
-  await updateVariablesFromPlugin(msg.payload);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html deleted file mode 100644 index 005ff304d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/compareStyleWithToken.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/plugin/compareStyleWithToken.ts - - - - - - - - - -
-
-

All files / src/plugin compareStyleWithToken.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
-import {
-  effectStyleMatchesBoxShadowToken,
-  paintStyleMatchesColorToken,
-  textStyleMatchesTypographyToken,
-} from './figmaUtils/styleMatchers';
- 
-export default function compareStyleValueWithTokenValue(
-  style: PaintStyle | EffectStyle | TextStyle,
-  token: SingleToken<true, { path: string }>,
-  baseFontSize: string,
-): boolean {
-  try {
-    if (style.type === 'PAINT' && token?.type === TokenTypes.COLOR) {
-      const { value } = token;
-      return paintStyleMatchesColorToken(style, value);
-    }
-    if (style.type === 'TEXT' && token?.type === TokenTypes.TYPOGRAPHY) {
-      const { value } = token;
-      return textStyleMatchesTypographyToken(style, value, baseFontSize);
-    }
-    if (style.type === 'EFFECT' && token?.type === TokenTypes.BOX_SHADOW) {
-      const { value } = token;
-      return effectStyleMatchesBoxShadowToken(style, value, baseFontSize);
-    }
-  } catch (e) {
-    console.log('error in compare styles', e);
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html deleted file mode 100644 index 1d9cb56bc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/controller.ts.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - Code coverage report for src/plugin/controller.ts - - - - - - - - - -
-
-

All files / src/plugin controller.ts

-
- -
- 0% - Statements - 0/53 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/52 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import 'regenerator-runtime/runtime';
-import * as asyncHandlers from './asyncMessageHandlers';
-import { defaultWorker } from './Worker';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { sendSelectionChange } from './sendSelectionChange';
-import { init } from '@/utils/plugin';
-import { sendDocumentChange } from './sendDocumentChange';
-import { performCodeGen } from './performCodeGen';
- 
-AsyncMessageChannel.PluginInstance.connect();
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREDENTIALS, asyncHandlers.credentials);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CHANGED_TABS, asyncHandlers.changedTabs);
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL,
-  asyncHandlers.removeSingleCredential,
-);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_STORAGE_TYPE, asyncHandlers.setStorageType);
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS,
-  asyncHandlers.setOnboardingExplainerSets,
-);
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS,
-  asyncHandlers.setOnboardingExplainerExportSets,
-);
- 
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS,
-  asyncHandlers.setOnboardingExplainerSyncProviders,
-);
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT,
-  asyncHandlers.setOnboardingExplainerInspect,
-);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_NODE_DATA, asyncHandlers.setNodeData);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE, asyncHandlers.removeTokensByValue);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMAP_TOKENS, asyncHandlers.remapTokens);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.BULK_REMAP_TOKENS, asyncHandlers.bulkRemapTokens);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GOTO_NODE, asyncHandlers.gotoNode);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SELECT_NODES, asyncHandlers.selectNodes);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.PULL_STYLES, asyncHandlers.pullStyles);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.PULL_VARIABLES, asyncHandlers.pullVariables);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.NOTIFY, asyncHandlers.notify);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESIZE_WINDOW, asyncHandlers.resizeWindow);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CANCEL_OPERATION, asyncHandlers.cancelOperation);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS, asyncHandlers.setShowEmptyGroups);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_UI, asyncHandlers.setUi);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_ANNOTATION, asyncHandlers.createAnnotation);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_STYLES, asyncHandlers.createStyles);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RENAME_STYLES, asyncHandlers.renameStyles);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_STYLES, asyncHandlers.removeStyles);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.UPDATE, asyncHandlers.update);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_LICENSE_KEY, asyncHandlers.setLicenseKey);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_INITIAL_LOAD, asyncHandlers.setInitialLoad);
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME,
-  asyncHandlers.attachLocalStylesToTheme,
-);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESOLVE_STYLE_INFO, asyncHandlers.resolveStyleInfo);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_NONE_VALUES_ON_NODE, asyncHandlers.setNoneValuesOnNode);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GET_FIGMA_FONTS, asyncHandlers.getFigmaFonts);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, asyncHandlers.getAvailableVariableCollections);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, asyncHandlers.removeStylesWithoutConnection);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_AUTH_DATA, asyncHandlers.setAuthData);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_LOCAL_VARIABLES, asyncHandlers.createLocalVariables);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES, asyncHandlers.createLocalVariablesWithoutModes);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RESOLVE_VARIABLE_INFO, asyncHandlers.resolveVariableInfo);
-AsyncMessageChannel.PluginInstance.handle(
-  AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME,
-  asyncHandlers.attachLocalVariablesToTheme,
-);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.RENAME_VARIABLES, asyncHandlers.renameVariables);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.UPDATE_VARIABLES, asyncHandlers.updateVariables);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.SET_USED_EMAIL, asyncHandlers.setUsedEmail);
-AsyncMessageChannel.PluginInstance.handle(AsyncMessageTypes.PREVIEW_REQUEST_STARTUP, asyncHandlers.previewRequestStartup);
- 
-figma.on('close', () => {
-  defaultWorker.stop();
-});
- 
-figma.on('selectionchange', () => {
-  sendSelectionChange();
-});
- 
-figma.on('documentchange', (event: DocumentChangeEvent) => {
-  sendDocumentChange(event);
-});
- 
-figma.codegen.on('generate', (event: any): CodegenResult[] => performCodeGen(event));
- 
-init();
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html deleted file mode 100644 index 649c5cd6c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesInPlugin.ts.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - Code coverage report for src/plugin/createLocalVariablesInPlugin.ts - - - - - - - - - -
-
-

All files / src/plugin createLocalVariablesInPlugin.ts

-
- -
- 0% - Statements - 0/32 -
- - -
- 0% - Branches - 0/21 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AnyTokenList } from '@/types/tokens';
-import { SettingsState } from '@/app/store/models/settings';
-import updateVariables from './updateVariables';
-import { ReferenceVariableType } from './setValuesOnVariable';
-import updateVariablesToReference from './updateVariablesToReference';
-import { notifyUI } from './notifiers';
-import { mergeVariableReferencesWithLocalVariables } from './mergeVariableReferences';
-import { findCollectionAndModeIdForTheme } from './findCollectionAndModeIdForTheme';
-import { createNecessaryVariableCollections } from './createNecessaryVariableCollections';
-import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
-import { getOverallConfig } from '@/utils/tokenHelpers';
- 
-export type LocalVariableInfo = {
-  collectionId: string;
-  modeId: string;
-  variableIds: Record<string, string>
-};
- 
-/**
-* This function is used to create and update variables based on themes
-* - It first creates the necessary variable collections and modes or returns existing ones
-* - It then checks if the selected themes generated any collections. It could be a user is in a Free plan and we were unable to create more than 1 mode. If mode wasnt created, we skip the theme.
-* - Then goes on to update variables for each theme
-* - There's another step that we perform where we check if any variables need to be using references to other variables. This is a second step, as we need to have all variables created first before we can reference them.
-* */
-export default async function createLocalVariablesInPlugin(tokens: Record<string, AnyTokenList>, settings: SettingsState, selectedThemes?: string[]) {
-  // Big O (n * m * x): (n: amount of themes, m: amount of variableCollections, x: amount of modes)
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
-  const selectedThemeObjects = themeInfo.themes.filter((theme) => selectedThemes?.includes(theme.id));
-  const allVariableCollectionIds: Record<string, LocalVariableInfo> = {};
-  let referenceVariableCandidates: ReferenceVariableType[] = [];
-  const updatedVariableCollections: VariableCollection[] = [];
-  let updatedVariables: Variable[] = [];
-  const figmaVariablesBeforeCreate = (await getVariablesWithoutZombies())?.length;
-  const figmaVariableCollectionsBeforeCreate = figma.variables.getLocalVariableCollections()?.length;
- 
-  let figmaVariablesAfterCreate = 0;
- 
-  const checkSetting = !settings.variablesBoolean && !settings.variablesColor && !settings.variablesNumber && !settings.variablesString;
-  if (!checkSetting && selectedThemes && selectedThemes.length > 0) {
-    const overallConfig = getOverallConfig(themeInfo.themes, selectedThemes);
-    const collections = await createNecessaryVariableCollections(themeInfo.themes, selectedThemes);
- 
-    await Promise.all(selectedThemeObjects.map(async (theme) => {
-      const { collection, modeId } = findCollectionAndModeIdForTheme(theme.group ?? theme.name, theme.name, collections);
- 
-      if (!collection || !modeId) return;
- 
-      const allVariableObj = await updateVariables({
-        collection, mode: modeId, theme, tokens, settings, overallConfig,
-      });
-      figmaVariablesAfterCreate += allVariableObj.removedVariables.length;
-      if (Object.keys(allVariableObj.variableIds).length > 0) {
-        allVariableCollectionIds[theme.id] = {
-          collectionId: collection.id,
-          modeId,
-          variableIds: allVariableObj.variableIds,
-        };
-        referenceVariableCandidates = referenceVariableCandidates.concat(allVariableObj.referenceVariableCandidate);
-      }
-      updatedVariableCollections.push(collection);
-    }));
-    // Gather references that we should use. Merge current theme references with the ones from all themes as well as local variables
-    const existingVariables = await mergeVariableReferencesWithLocalVariables(selectedThemeObjects, themeInfo.themes);
- 
-    // Update variables to use references instead of raw values
-    updatedVariables = await updateVariablesToReference(existingVariables, referenceVariableCandidates);
-  }
- 
-  figmaVariablesAfterCreate += (await getVariablesWithoutZombies())?.length ?? 0;
-  const figmaVariableCollectionsAfterCreate = figma.variables.getLocalVariableCollections()?.length;
- 
-  if (figmaVariablesAfterCreate === figmaVariablesBeforeCreate) {
-    notifyUI('No variables were created');
-  } else {
-    notifyUI(`${figmaVariableCollectionsAfterCreate - figmaVariableCollectionsBeforeCreate} collections and ${figmaVariablesAfterCreate - figmaVariablesBeforeCreate} variables created`);
-  }
-  return {
-    allVariableCollectionIds,
-    totalVariables: updatedVariables.length,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html deleted file mode 100644 index d893ed5d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createLocalVariablesWithoutModesInPlugin.ts.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - Code coverage report for src/plugin/createLocalVariablesWithoutModesInPlugin.ts - - - - - - - - - -
-
-

All files / src/plugin createLocalVariablesWithoutModesInPlugin.ts

-
- -
- 0% - Statements - 0/38 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AnyTokenList } from '@/types/tokens';
-import { SettingsState } from '@/app/store/models/settings';
-import updateVariables from './updateVariables';
-import { ReferenceVariableType } from './setValuesOnVariable';
-import updateVariablesToReference from './updateVariablesToReference';
-import { notifyUI } from './notifiers';
-import { ThemeObject, UsedTokenSetsMap } from '@/types';
-import { ExportTokenSet } from '@/types/ExportTokenSet';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { mergeVariableReferencesWithLocalVariables } from './mergeVariableReferences';
-import { LocalVariableInfo } from './createLocalVariablesInPlugin';
-import { findCollectionAndModeIdForTheme } from './findCollectionAndModeIdForTheme';
-import { createNecessaryVariableCollections } from './createNecessaryVariableCollections';
-import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
- 
-/**
-* This function is used to create variables based on token sets, without the use of themes
-* - We first create a "theme container" storing the selected token sets to get closer to theme logic
-* - It then creates the necessary variable collections and modes or returns existing ones
-* - It then checks if the selected themes generated any collections. It could be a user is in a Free plan and we were unable to create more than 1 mode. If mode wasnt created, we skip the theme.
-* - Then goes on to update variables for each theme
-* - There's another step that we perform where we check if any variables need to be using references to other variables. This is a second step, as we need to have all variables created first before we can reference them.
-* - TODO: Likely a good idea to merge this with createLocalVariablesInPlugin to reduce duplication
-* */
-export default async function createLocalVariablesWithoutModesInPlugin(tokens: Record<string, AnyTokenList>, settings: SettingsState, selectedSets: ExportTokenSet[]) {
-  // Big O (n * m * x): (n: amount of themes, m: amount of variableCollections, x: amount of modes)
-  const allVariableCollectionIds: Record<string, LocalVariableInfo> = {};
-  let referenceVariableCandidates: ReferenceVariableType[] = [];
-  const updatedVariableCollections: VariableCollection[] = [];
-  let updatedVariables: Variable[] = [];
-  const figmaVariablesBeforeCreate = (await getVariablesWithoutZombies()).length;
-  const figmaVariableCollectionsBeforeCreate = figma.variables.getLocalVariableCollections().length;
- 
-  let figmaVariablesAfterCreate = 0;
- 
-  const checkSetting = !settings.variablesBoolean && !settings.variablesColor && !settings.variablesNumber && !settings.variablesString;
-  if (!checkSetting) {
-    const themesToCreateCollections = selectedSets.reduce((acc: ThemeObject[], curr: ExportTokenSet) => {
-      if (curr.status === TokenSetStatus.ENABLED) {
-        acc.push({
-          selectedTokenSets: {
-            [curr.set]: curr.status,
-          },
-          id: curr.set,
-          name: curr.set,
-        });
-      }
-      return acc;
-    }, [] as ThemeObject[]);
- 
-    const selectedSetIds = selectedSets.map((set) => set.set);
- 
-    const overallConfig = selectedSets.reduce((acc, set) => {
-      acc[set.set] = set.status;
-      return acc;
-    }, {} as UsedTokenSetsMap);
- 
-    const collections = await createNecessaryVariableCollections(themesToCreateCollections, selectedSetIds);
- 
-    await Promise.all(selectedSets.map(async (set: ExportTokenSet, index) => {
-      if (set.status === TokenSetStatus.ENABLED) {
-        const { collection, modeId } = findCollectionAndModeIdForTheme(set.set, set.set, collections);
- 
-        if (!collection || !modeId) return;
- 
-        const allVariableObj = await updateVariables({
-          collection, mode: modeId, theme: { id: '123', name: set.set, selectedTokenSets: { [set.set]: set.status } }, overallConfig, tokens, settings, filterByTokenSet: set.set,
-        });
-        figmaVariablesAfterCreate += allVariableObj.removedVariables.length;
-        if (Object.keys(allVariableObj.variableIds).length > 0) {
-          allVariableCollectionIds[index] = {
-            collectionId: collection.id,
-            modeId,
-            variableIds: allVariableObj.variableIds,
-          };
-          referenceVariableCandidates = referenceVariableCandidates.concat(allVariableObj.referenceVariableCandidate);
-        }
-        updatedVariableCollections.push(collection);
-      }
-    }));
-    const existingVariables = await mergeVariableReferencesWithLocalVariables();
-    updatedVariables = await updateVariablesToReference(existingVariables, referenceVariableCandidates);
-  }
- 
-  figmaVariablesAfterCreate += (await getVariablesWithoutZombies())?.length ?? 0;
-  const figmaVariableCollectionsAfterCreate = (await figma.variables.getLocalVariableCollectionsAsync())?.length;
- 
-  if (figmaVariablesAfterCreate === figmaVariablesBeforeCreate) {
-    notifyUI('No variables were created');
-  } else {
-    notifyUI(`${figmaVariableCollectionsAfterCreate - figmaVariableCollectionsBeforeCreate} collections and ${figmaVariablesAfterCreate - figmaVariablesBeforeCreate} variables created`);
-  }
-  return {
-    allVariableCollectionIds,
-    totalVariables: updatedVariables.length,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html deleted file mode 100644 index 6430e5eed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createNecessaryVariableCollections.ts.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for src/plugin/createNecessaryVariableCollections.ts - - - - - - - - - -
-
-

All files / src/plugin createNecessaryVariableCollections.ts

-
- -
- 0% - Statements - 0/23 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObjectsList } from '@/types';
-import createVariableMode from './createVariableMode';
- 
-// Takes a given theme input and creates required variable collections with modes, or updates existing ones and renames / adds modes
-export async function createNecessaryVariableCollections(themes: ThemeObjectsList, selectedThemes: string[]): Promise<VariableCollection[]> {
-  const allCollections = await figma.variables.getLocalVariableCollectionsAsync();
-  const collectionsToCreateOrUpdate = themes.filter((theme) => selectedThemes.includes(theme.id));
- 
-  return collectionsToCreateOrUpdate.reduce<VariableCollection[]>((acc, currentTheme) => {
-    const nameOfCollection = currentTheme.group ?? currentTheme.name; // If there is a group, use that as the collection name, otherwise use the theme name (e.g. for when creating with sets we use the theme name)
-    const existingCollection = acc.find((collection) => collection.name === nameOfCollection)
-    || allCollections.find((vr) => vr.id === currentTheme.$figmaCollectionId
-    || vr.name === nameOfCollection);
- 
-    if (existingCollection) {
-      // Check if we already have a collection with the same name, if not find one by the id of $themes or as a fallback by name
-      // We do this because we might've found the collection by id, but the name might've changed
-      if (existingCollection.name !== nameOfCollection) {
-        existingCollection.name = nameOfCollection;
-      }
-      // If we found an existing collection, check if the mode exists, if not create it
-      const mode = existingCollection.modes.find((m) => m.modeId === currentTheme.$figmaModeId || m.name === currentTheme.name);
- 
-      if (mode) {
-        if (mode.name !== currentTheme.name) {
-          existingCollection.renameMode(mode.modeId, currentTheme.name);
-        }
-      } else {
-        createVariableMode(existingCollection, currentTheme.name);
-      }
-      acc.push(existingCollection);
-      return acc;
-    }
-    // If no existing collection is found, create a new one and rename the default mode
-    const newCollection = figma.variables.createVariableCollection(nameOfCollection);
- 
-    newCollection.renameMode(newCollection.modes[0].modeId, currentTheme.name);
-    acc.push(newCollection);
-    return acc;
-  }, []);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html deleted file mode 100644 index db31f2ea0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/createVariableMode.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/plugin/createVariableMode.ts - - - - - - - - - -
-
-

All files / src/plugin createVariableMode.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { notifyUI } from './notifiers';
- 
-export default function createVariableMode(collection: VariableCollection, mode: string) {
-  try {
-    return collection.addMode(mode);
-  } catch (e) {
-    if (e instanceof Error) {
-      const limit = /Limited to (\d) modes only/.exec(e.message);
-      if (limit) {
-        const isMoreThanOne = limit[1].length > 1;
-        notifyUI(`Your Figma plan only allows creation of ${limit[1]} ${isMoreThanOne ? 'modes' : 'mode'}`, { error: true });
-      } else {
-        console.error('Error', e.message, e.stack);
-      }
-    } else {
-      console.log(e);
-    }
-  }
-  return '';
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html deleted file mode 100644 index 02b5e7adb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/boxShadow.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/boxShadow.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms boxShadow.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
- 
-export function convertBoxShadowTypeToFigma(value: string) {
-  switch (value) {
-    case 'innerShadow':
-      return 'INNER_SHADOW';
-    default:
-      return 'DROP_SHADOW';
-  }
-}
- 
-export function convertBoxShadowTypeFromFigma(value: string) {
-  switch (value) {
-    case 'INNER_SHADOW':
-      return BoxShadowTypes.INNER_SHADOW;
-    default:
-      return BoxShadowTypes.DROP_SHADOW;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html deleted file mode 100644 index af8aedeb2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/colors.ts.html +++ /dev/null @@ -1,499 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/colors.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms colors.ts

-
- -
- 0% - Statements - 0/69 -
- - -
- 0% - Branches - 0/37 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/69 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { figmaRGBToHex, hexToFigmaRGB, webRGBToFigmaRGB } from '@figma-plugin/helpers';
-import { toHex } from 'color2k';
- 
-type WebRGBA = [number, number, number, number];
-interface RGBA {
-  r: number;
-  g: number;
-  b: number;
-  a?: number;
-}
- 
-export function RGBAToHexA(red: number | string, green: number | string, blue: number | string, alpha: number | string) {
-  const r = parseInt(String(red), 10);
-  const g = parseInt(String(green), 10);
-  const b = parseInt(String(blue), 10);
-  const a = parseFloat(parseFloat(String(alpha)).toFixed(2));
- 
-  const outParts = [
-    r.toString(16),
-    g.toString(16),
-    b.toString(16),
-    Math.round(a * 255)
-      .toString(16)
-      .substring(0, 2),
-  ];
- 
-  // Pad single-digit output values
-  outParts.forEach((part, i) => {
-    if (part.length === 1) {
-      outParts[i] = `0${part}`;
-    }
-  });
- 
-  return `#${outParts.join('')}`;
-}
- 
-export function hslaToRgba(hslaValues: number[]) {
-  const h = hslaValues[0];
-  let s = hslaValues[1];
-  let l = hslaValues[2];
-  const a = hslaValues?.[3] ?? 1;
- 
-  // Must be fractions of 1
-  s /= 100;
-  l /= 100;
- 
-  const c = (1 - Math.abs(2 * l - 1)) * s;
-  const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
-  const m = l - c / 2;
-  let r = 0;
-  let g = 0;
-  let b = 0;
- 
-  if (h >= 0 && h < 60) {
-    r = c;
-    g = x;
-    b = 0;
-  } else if (h >= 60 && h < 120) {
-    r = x;
-    g = c;
-    b = 0;
-  } else if (h >= 120 && h < 180) {
-    r = 0;
-    g = c;
-    b = x;
-  } else if (h >= 180 && h < 240) {
-    r = 0;
-    g = x;
-    b = c;
-  } else if (h >= 240 && h < 300) {
-    r = x;
-    g = 0;
-    b = c;
-  } else if (h >= 300 && h < 360) {
-    r = c;
-    g = 0;
-    b = x;
-  }
-  r = Math.round((r + m) * 255);
-  g = Math.round((g + m) * 255);
-  b = Math.round((b + m) * 255);
- 
-  return [r, g, b, a];
-}
- 
-function roundToTwo(num: number) {
-  return +`${Math.round(Number(`${num}e+2`))}e-2`;
-}
- 
-export function convertToFigmaColor(input: string) {
-  let color: RGBA;
-  let opacity;
-  if (input.startsWith('rgb')) {
-    const rgbValues = input.replace(/^rgba?\(|\s+|\)$/g, '').split(',').map(parseFloat) as WebRGBA;
- 
-    const {
-      r, g, b, a = 1,
-    } = webRGBToFigmaRGB(rgbValues);
-    color = {
-      r, g, b,
-    };
-    opacity = Number(a);
-  } else if (input.startsWith('hsl')) {
-    const hslValues = input.replace(/^hsla?\(|\s+|%|\)$/g, '').split(',').map(parseFloat);
-    const rgbValues: any = hslaToRgba(hslValues);
-    const {
-      r, g, b, a = 1,
-    } = webRGBToFigmaRGB(rgbValues);
-    color = {
-      r, g, b,
-    };
-    opacity = Number(a);
-  } else {
-    const {
-      r, g, b, a = 1,
-    }: RGBA = hexToFigmaRGB(toHex(input));
-    color = {
-      r, g, b,
-    };
-    opacity = roundToTwo(a);
-  }
- 
-  return {
-    color,
-    opacity,
-  };
-}
- 
-export function convertFigmaColorToHex(color: RGBA | RGB, opacity?: number): string {
-  if ('a' in color) {
-    return figmaRGBToHex(color);
-  }
-  return figmaRGBToHex({ ...color, a: opacity });
-}
- 
-export function convertFigmaPaintToHex(paint: SolidPaint): string {
-  return convertFigmaColorToHex(paint.color, paint.opacity);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html deleted file mode 100644 index fc38d8bf5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/convertFontFamilyToFigma.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/convertFontFamilyToFigma.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms convertFontFamilyToFigma.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function convertFontFamilyToFigma(value: string, shouldOutputForVariables = false) {
-  const stringValue = value.toString();
-  try {
-    if (shouldOutputForVariables) {
-      const fontFamilies = stringValue.split(',');
-      return fontFamilies[0].trim().replace(/['"]/g, '');
-    }
-    return stringValue;
-  } catch (e) {
-    console.error('font family err', stringValue, e);
-    return stringValue;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html deleted file mode 100644 index c6db097bb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/fontWeight.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/fontWeight.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms fontWeight.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function convertFontWeightToFigma(value: string, shouldOutputForVariables = false): string[] {
-  if (shouldOutputForVariables) {
-    return [value];
-  }
- 
-  switch (value) {
-    case '100':
-      return ['Thin', 'Hairline'];
-    case '200':
-      return ['ExtraLight', 'Extra Light', 'UltraLight', 'Ultra Light'];
-    case '300':
-      return ['Light'];
-    case '400':
-      return ['Regular', 'Normal'];
-    case '500':
-      return ['Medium'];
-    case '600':
-      return ['SemiBold', 'Semibold', 'Semi Bold', 'DemiBold', 'Demi Bold'];
-    case '700':
-      return ['Bold'];
-    case '800':
-      return ['ExtraBold', 'Extra Bold', 'UltraBold', 'Ultra Bold'];
-    case '900':
-      return ['Black', 'Heavy'];
-    default:
-      return [value];
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html deleted file mode 100644 index 13d23b188..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/generic.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/generic.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms generic.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { defaultBaseFontSize } from '@/constants/defaultBaseFontSize';
- 
-export function convertNumberToFigma(value: string) {
-  return parseInt(value, 10);
-}
- 
-export function fakeZeroForFigma(value: number) {
-  return Number(value) === 0 ? 0.001 : value;
-}
- 
-export function convertTypographyNumberToFigma(value: string, baseFontSize: string) {
-  if (typeof value === 'string' && (value.endsWith('em') || value.endsWith('rem'))) {
-    if (!isNaN(parseFloat(baseFontSize))) {
-      return parseFloat(value) * parseFloat(baseFontSize);
-    }
-    return parseFloat(value) * parseFloat(defaultBaseFontSize);
-  }
-  return parseFloat(value);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html deleted file mode 100644 index 578d4f01f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/gradients.ts.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/gradients.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms gradients.ts

-
- -
- 0% - Statements - 0/64 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/63 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { figmaRGBToHex, extractLinearGradientParamsFromTransform } from '@figma-plugin/helpers';
-import { Matrix } from 'ml-matrix';
-import { convertToFigmaColor } from './colors';
- 
-export function convertDegreeToNumber(degreeString: string): number {
-  return parseFloat(degreeString.split('deg').join(''));
-}
- 
-export function convertFigmaGradientToString(paint: GradientPaint) {
-  const { gradientTransform, gradientStops } = paint;
-  const gradientStopsString = gradientStops
-    .map((stop) => `${figmaRGBToHex(stop.color)} ${Math.round(stop.position * 100 * 100) / 100}%`)
-    .join(', ');
-  const { start, end } = extractLinearGradientParamsFromTransform(1, 1, gradientTransform);
-  const angleInRad = Math.atan2(end[1] - start[1], end[0] - start[0]);
-  const angleInDeg = Math.round((angleInRad * 180) / Math.PI);
-  return `linear-gradient(${angleInDeg + 90}deg, ${gradientStopsString})`;
-}
- 
-const roundToPrecision = (value, precision = 10) => {
-  const roundToPrecisionVal = 10 ** precision;
-  return Math.round((value + Number.EPSILON) * roundToPrecisionVal) / roundToPrecisionVal;
-};
- 
-// if node type check is needed due to bugs caused by obscure node types, use (value: string/*, node?: BaseNode | PaintStyle) and convertStringToFigmaGradient(value, target)
-export function convertStringToFigmaGradient(value: string) {
-  const parts = value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')).split(', ').map((s) => s.trim());
- 
-  // Default angle is to top (180 degrees)
-  let angle = 180;
-  if (parts[0].includes('deg')) {
-    angle = parseFloat(parts[0].replace('deg', ''));
-    parts.shift();
-  } else if (parts[0].includes('turn')) {
-    angle = parseFloat(parts[0].replace('turn', '')) * 360;
-    parts.shift();
-  } else if (parts[0].startsWith('to ')) {
-    const direction = parts[0].replace('to ', '');
-    parts.shift();
-    switch (direction) {
-      case 'top':
-        angle = 180;
-        break;
-      case 'right':
-        angle = 270;
-        break;
-      case 'bottom':
-        angle = 0;
-        break;
-      case 'left':
-        angle = 90;
-        break;
-      case 'top right':
-        angle = 225;
-        break;
-      case 'top left':
-        angle = 135;
-        break;
-      case 'bottom right':
-        angle = 315;
-        break;
-      case 'bottom left':
-        angle = 45;
-        break;
-      default:
-        break;
-    }
-  }
- 
-  const degrees = -(angle - 90);
-  const rad = degrees * (Math.PI / 180);
- 
-  let normalizedAngleRad = Math.abs(rad) % (Math.PI / 2);
-  if (normalizedAngleRad > Math.PI / 4) {
-    // adjust angle after 45 degrees to scale down correctly towards 90 degrees
-    normalizedAngleRad = Math.PI / 2 - normalizedAngleRad;
-  }
- 
-  const sin = Math.sin(rad);
-  const cos = Math.cos(rad);
- 
-  let scale = 1;
- 
-  const normalisedCos = Math.cos(normalizedAngleRad);
-  scale = normalisedCos;
-  // Implement fallback if bugs are caused by obscure node types. This appears to be unnecessary
-  // if (!['RECTANGLE', 'FRAME', 'VECTOR'].includes(node?.type || '')) {
-  //   // Old scale computation:
-  //   scale = angle % 90 === 0 ? 1 : Math.sqrt(1 + Math.tan(angle * (Math.PI / 180)) ** 2);
-  // }
- 
-  const scaledCos = cos * scale;
-  const scaledSin = sin * scale;
- 
-  // start by transforming to the gradient center, to keep the gradient centered after scaling
-  // which for figma is .5 .5 as it is a relative transform
-  const tx = 0.5 - 0.5 * scaledCos + 0.5 * scaledSin;
-  const ty = 0.5 - 0.5 * scaledSin - 0.5 * scaledCos;
- 
-  const transformationMatrix = new Matrix([
-    [roundToPrecision(scaledCos), roundToPrecision(-scaledSin), roundToPrecision(tx)],
-    [roundToPrecision(scaledSin), roundToPrecision(scaledCos), roundToPrecision(ty)],
-    [0, 0, 1],
-  ]);
- 
-  const gradientTransformMatrix = transformationMatrix.to2DArray();
- 
-  const gradientStops = parts.map((stop, i, arr) => {
-    const seperatedStop = stop.split(' ');
-    const { color, opacity } = convertToFigmaColor(seperatedStop[0]);
-    const gradientColor = color;
-    gradientColor.a = opacity;
-    return {
-      color: gradientColor,
-      position: seperatedStop[1] ? parseFloat(seperatedStop[1]) / 100 : i / (arr.length - 1),
-    };
-  }) as ColorStop[];
- 
-  return {
-    gradientStops,
-    gradientTransform: [gradientTransformMatrix[0], gradientTransformMatrix[1]] as Transform,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html deleted file mode 100644 index c57e56346..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/index.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms - - - - - - - - - -
-
-

All files src/plugin/figmaTransforms

-
- -
- 0% - Statements - 0/231 -
- - -
- 0% - Branches - 0/151 -
- - -
- 0% - Functions - 0/32 -
- - -
- 0% - Lines - 0/229 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
boxShadow.ts -
-
0%0/60%0/40%0/20%0/6
colors.ts -
-
0%0/690%0/370%0/70%0/69
convertFontFamilyToFigma.ts -
-
0%0/80%0/30%0/10%0/8
fontWeight.ts -
-
0%0/130%0/130%0/10%0/13
generic.ts -
-
0%0/70%0/90%0/30%0/7
gradients.ts -
-
0%0/640%0/200%0/70%0/63
letterSpacing.ts -
-
0%0/130%0/130%0/20%0/13
lineHeight.ts -
-
0%0/160%0/170%0/20%0/16
numberMatchesPercentage.ts -
-
0%0/20%0/20%0/10%0/1
offset.ts -
-
0%0/1100%0/00%0/10%0/1
opacity.ts -
-
0%0/100%0/90%0/10%0/10
textCase.ts -
-
0%0/140%0/170%0/20%0/14
textDecoration.ts -
-
0%0/80%0/70%0/20%0/8
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html deleted file mode 100644 index 2d8021721..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/letterSpacing.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/letterSpacing.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms letterSpacing.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { convertTypographyNumberToFigma } from './generic';
-import { numberMatchesPercentage } from './numberMatchesPercentage';
-import { numberRegex } from '../../constants/numberRegex';
- 
-export function convertLetterSpacingToFigma(inputValue: string, baseFontSize: string, shouldOutputForVariables = false): number | LetterSpacing | null {
-  let letterSpacing: LetterSpacing | null = null;
-  const value = inputValue.toString();
-  if (numberMatchesPercentage(value)) {
-    letterSpacing = {
-      unit: 'PERCENT',
-      value: Number(value.slice(0, -1)),
-    };
-  } else if (value.match(numberRegex) || value.endsWith('px') || value.endsWith('em') || value.endsWith('rem')) {
-    if (shouldOutputForVariables) {
-      return convertTypographyNumberToFigma(value, baseFontSize);
-    }
-    letterSpacing = {
-      unit: 'PIXELS',
-      value: convertTypographyNumberToFigma(value, baseFontSize),
-    };
-  }
-  return letterSpacing;
-}
- 
-export function convertFigmaToLetterSpacing(inputValue: LetterSpacing): string | number {
-  const { unit, value } = inputValue;
-  if (unit === 'PERCENT') {
-    return `${+value.toFixed(2)}%`;
-  }
-  return +value.toFixed(2);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html deleted file mode 100644 index ceae3b28d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/lineHeight.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/lineHeight.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms lineHeight.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { convertTypographyNumberToFigma } from './generic';
- 
-export function convertLineHeightToFigma(inputValue: string, baseFontSize: string, shouldOutputForVariables = false): number | LineHeight | null {
-  let lineHeight: LineHeight | null = null;
-  const value = inputValue.toString();
-  const numbers = /^-?\d+(\.\d+)?$/; // Matches both negative and positive numbers ending with %
-  if (value.match(numbers) || value.endsWith('px') || value.endsWith('em') || value.endsWith('rem')) {
-    if (shouldOutputForVariables) {
-      return convertTypographyNumberToFigma(value, baseFontSize);
-    }
-    lineHeight = {
-      unit: 'PIXELS',
-      value: convertTypographyNumberToFigma(value, baseFontSize),
-    };
-  } else if (value.trim().slice(-1) === '%' && value.trim().slice(0, -1).match(numbers)) {
-    lineHeight = {
-      unit: 'PERCENT',
-      value: Number(value.slice(0, -1)),
-    };
-  } else {
-    lineHeight = {
-      unit: 'AUTO',
-    };
-  }
-  return lineHeight;
-}
- 
-export function convertFigmaToLineHeight(inputValue: LineHeight): string | number {
-  if (inputValue.unit === 'PIXELS') {
-    return +inputValue.value.toFixed(2);
-  } if (inputValue.unit === 'PERCENT') {
-    return `${+inputValue.value.toFixed(2)}%`;
-  }
-  return 'AUTO';
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html deleted file mode 100644 index ceadee82e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/numberMatchesPercentage.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/numberMatchesPercentage.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms numberMatchesPercentage.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { numberRegex } from '../../constants/numberRegex';
- 
-export const numberMatchesPercentage = (value: string) => Boolean(value.trim().slice(-1) === '%' && value.trim().slice(0, -1).match(numberRegex));
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html deleted file mode 100644 index cfddda14b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/offset.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/offset.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms offset.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export default function convertOffsetToFigma(x: number, y: number): { x: number; y: number } {
-  return {
-    x,
-    y,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html deleted file mode 100644 index 14d46c7e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/opacity.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/opacity.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms opacity.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export default function convertOpacityToFigma(value: string, shouldOutputForVariables?: boolean) {
-  // Matches 50%, 100%, etc.
-  const matched = value.match(/(\d+%)/);
- 
-  if (matched) {
-    const matchedValue = Number(matched[0].slice(0, -1));
-    if (shouldOutputForVariables) {
-      return matchedValue;
-    }
-    return matchedValue / 100;
-  }
- 
-  // Figma expects floats to be between 1 and 100, yet our users can enter opacity as 0-1 as well. We need to create appropriately.
-  const numericValue = Number(value);
-  if (shouldOutputForVariables && numericValue >= 0 && numericValue <= 1) {
-    return numericValue * 100;
-  }
-  return numericValue;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html deleted file mode 100644 index 20a41c868..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textCase.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/textCase.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms textCase.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function convertTextCaseToFigma(value: string): TextCase {
-  switch (value.toLowerCase()) {
-    case 'uppercase':
-    case 'upper':
-      return 'UPPER';
-    case 'lowercase':
-    case 'lower':
-      return 'LOWER';
-    case 'capitalize':
-    case 'title':
-      return 'TITLE';
-    case 'small-caps':
-    case 'small_caps':
-      return 'SMALL_CAPS' as TextCase; // @TODO not sure if these are supported
-    case 'all-small-caps':
-    case 'small_caps_forced':
-      return 'SMALL_CAPS_FORCED' as TextCase; // @TODO not sure if these are supported
-    default:
-      return 'ORIGINAL';
-  }
-}
- 
-export function convertFigmaToTextCase(value: string) {
-  switch (value) {
-    case 'UPPER':
-      return 'uppercase';
-    case 'LOWER':
-      return 'lowercase';
-    case 'TITLE':
-      return 'capitalize';
-    case 'SMALL_CAPS':
-      return 'small_caps';
-    case 'SMALL_CAPS_FORCED':
-      return 'small_caps_forced';
-    default:
-      return 'none';
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html deleted file mode 100644 index 25a456c23..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaTransforms/textDecoration.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaTransforms/textDecoration.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaTransforms textDecoration.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function convertTextDecorationToFigma(value: string) {
-  switch (value.toLowerCase()) {
-    case 'underline':
-      return 'UNDERLINE';
-    case 'line-through':
-    case 'strikethrough':
-      return 'STRIKETHROUGH';
-    default:
-      return 'NONE';
-  }
-}
- 
-export function convertFigmaToTextDecoration(value: string) {
-  switch (value) {
-    case 'UNDERLINE':
-      return 'underline';
-    case 'STRIKETHROUGH':
-      return 'line-through';
-    default:
-      return 'none';
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html deleted file mode 100644 index bac8be1b6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaUtils getShadowBehindNodeFromEffect.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
export function getShadowBehindNodeFromEffect(effect: Effect) {
-  if (!effect) return false;
-  if (effect.type === 'DROP_SHADOW') {
-    return effect.showShadowBehindNode;
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html deleted file mode 100644 index 76fd4e695..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils - - - - - - - - - -
-
-

All files src/plugin/figmaUtils

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
getShadowBehindNodeFromEffect.ts -
-
0%0/50%0/40%0/10%0/4
styleUtils.ts -
-
0%0/260%0/320%0/70%0/26
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html deleted file mode 100644 index 27cc69699..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaUtils/styleMatchers effectStyleMatchesBoxShadowToken.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isEffectEqual } from '@/utils/isEffectEqual';
-import { TokenBoxshadowValue } from '@/types/values';
- 
-import { convertBoxShadowTypeToFigma } from '../../figmaTransforms/boxShadow';
-import { convertToFigmaColor } from '../../figmaTransforms/colors';
-import { convertTypographyNumberToFigma } from '../../figmaTransforms/generic';
-import convertOffsetToFigma from '../../figmaTransforms/offset';
- 
-function convertBoxShadowToFigmaEffect(value: TokenBoxshadowValue, baseFontSize: string): Effect {
-  const { color, opacity: a } = convertToFigmaColor(value.color);
-  const { r, g, b } = color;
-  return {
-    color: {
-      r,
-      g,
-      b,
-      a,
-    },
-    type: convertBoxShadowTypeToFigma(value.type),
-    spread: convertTypographyNumberToFigma(value.spread.toString(), baseFontSize),
-    radius: convertTypographyNumberToFigma(value.blur.toString(), baseFontSize),
-    offset: convertOffsetToFigma(
-      convertTypographyNumberToFigma(value.x.toString(), baseFontSize),
-      convertTypographyNumberToFigma(value.y.toString(), baseFontSize),
-    ),
-    blendMode: (value.blendMode || 'NORMAL') as BlendMode,
-    visible: true,
-  };
-}
- 
-export function effectStyleMatchesBoxShadowToken(
-  effectStyle: EffectStyle | undefined,
-  boxShadowToken: string | TokenBoxshadowValue | TokenBoxshadowValue[],
-  baseFontSize: string,
-) {
-  if (effectStyle && typeof boxShadowToken !== 'string') {
-    const boxShadowTokenArr = Array.isArray(boxShadowToken) ? boxShadowToken : [boxShadowToken];
-    const styleEffects = effectStyle.effects;
-    if (styleEffects.length === boxShadowTokenArr.length) {
-      return styleEffects.every((styleEffect, idx) => {
-        const tokenEffect = convertBoxShadowToFigmaEffect(boxShadowTokenArr[idx], baseFontSize);
-        return isEffectEqual(styleEffect, tokenEffect);
-      });
-    }
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html deleted file mode 100644 index 39d681c19..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/styleMatchers - - - - - - - - - -
-
-

All files src/plugin/figmaUtils/styleMatchers

-
- -
- 0% - Statements - 0/55 -
- - -
- 0% - Branches - 0/68 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/55 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
effectStyleMatchesBoxShadowToken.ts -
-
0%0/110%0/100%0/30%0/11
index.ts -
-
0%0/00%0/00%0/00%0/0
paintStyleMatchesColorToken.ts -
-
0%0/100%0/60%0/10%0/10
textStyleMatchesTypographyToken.ts -
-
0%0/340%0/520%0/10%0/34
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html deleted file mode 100644 index 1d555f8f5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/styleMatchers/index.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaUtils/styleMatchers index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export * from './effectStyleMatchesBoxShadowToken';
-export * from './paintStyleMatchesColorToken';
-export * from './textStyleMatchesTypographyToken';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html deleted file mode 100644 index 6611e81e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaUtils/styleMatchers paintStyleMatchesColorToken.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isPaintEqual } from '@/utils/isPaintEqual';
-import { convertStringToFigmaGradient } from '../../figmaTransforms/gradients';
-import { convertToFigmaColor } from '../../figmaTransforms/colors';
- 
-export function paintStyleMatchesColorToken(paintStyle: PaintStyle | undefined, colorToken: string) {
-  const stylePaint = paintStyle?.paints[0] ?? null;
-  if (stylePaint?.type === 'SOLID') {
-    const { color, opacity } = convertToFigmaColor(colorToken);
-    const tokenPaint: SolidPaint = { color, opacity, type: 'SOLID' };
-    return isPaintEqual(stylePaint, tokenPaint);
-  }
-  if (stylePaint?.type === 'GRADIENT_LINEAR') {
-    const { gradientStops, gradientTransform } = convertStringToFigmaGradient(colorToken);
-    const tokenPaint: GradientPaint = {
-      type: 'GRADIENT_LINEAR',
-      gradientTransform,
-      gradientStops,
-    };
-    return isPaintEqual(stylePaint, tokenPaint);
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html deleted file mode 100644 index fe34e2b4e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaUtils/styleMatchers textStyleMatchesTypographyToken.ts

-
- -
- 0% - Statements - 0/34 -
- - -
- 0% - Branches - 0/52 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/34 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { transformValue } from '../../helpers';
-import { TokenTypographyValue } from '@/types/values';
- 
-export function textStyleMatchesTypographyToken(
-  textStyle: TextStyle | undefined,
-  typographyToken: string | TokenTypographyValue,
-  baseFontSize: string,
-) {
-  if (!textStyle || typeof typographyToken === 'string') {
-    return false;
-  }
- 
-  const {
-    fontFamily,
-    fontWeight,
-    fontSize,
-    lineHeight,
-    letterSpacing,
-    paragraphSpacing,
-    paragraphIndent,
-    textCase,
-    textDecoration,
-  } = typographyToken;
- 
-  if (textStyle.fontName.family !== fontFamily) {
-    return false;
-  }
-  if (textStyle.fontName.style !== fontWeight) {
-    return false;
-  }
-  if (fontSize === undefined || textStyle.fontSize !== transformValue(fontSize, 'fontSizes', baseFontSize)) {
-    return false;
-  }
-  // This will default to `{ unit: 'AUTO' }` if lineHeight token is not set:
-  const tokenLineHeight = transformValue(String(lineHeight), 'lineHeights', baseFontSize);
-  if (tokenLineHeight?.unit !== textStyle.lineHeight.unit) {
-    let hasMismatch = true;
-    if (tokenLineHeight && tokenLineHeight.unit !== 'AUTO' && textStyle.lineHeight.unit !== 'AUTO') {
-      hasMismatch = tokenLineHeight.value > 0 || textStyle.lineHeight.value > 0;
-    }
-    if (hasMismatch) {
-      return false;
-    }
-  } else if (tokenLineHeight.unit !== 'AUTO' && textStyle.lineHeight.unit !== 'AUTO') {
-    if (tokenLineHeight.unit !== textStyle.lineHeight.unit || tokenLineHeight.value !== textStyle.lineHeight.value) {
-      return false;
-    }
-  }
-  // This will default to `null` if letterSpacing token is not set:
-  const tokenLetterSpacing = transformValue(String(letterSpacing), 'letterSpacing', baseFontSize);
-  if (
-    tokenLetterSpacing?.unit !== textStyle.letterSpacing.unit
-    || tokenLetterSpacing?.value !== textStyle.letterSpacing.value
-  ) {
-    if ((tokenLetterSpacing?.value && tokenLetterSpacing.value > 0) || textStyle.letterSpacing.value > 0) {
-      return false;
-    }
-  }
-  if (
-    paragraphSpacing === undefined
-    || textStyle.paragraphSpacing !== transformValue(paragraphSpacing, 'paragraphSpacing', baseFontSize)
-  ) {
-    return false;
-  }
-  if (
-    paragraphIndent === undefined
-    || textStyle.paragraphIndent !== transformValue(paragraphIndent, 'paragraphIndent', baseFontSize)
-  ) {
-    return false;
-  }
-  // This will default to `ORIGINAL` if textCase token is not set:
-  const tokenTextCase = transformValue(String(textCase), 'textCase', baseFontSize);
-  if (tokenTextCase !== textStyle.textCase) {
-    return false;
-  }
-  // This will default to `NONE` if textDecoration token is not set:
-  const tokenTextDecoration = transformValue(String(textDecoration), 'textDecoration', baseFontSize);
-  if (tokenTextDecoration !== textStyle.textDecoration) {
-    return false;
-  }
-  return true; //  All checks passed - text style matches typography token
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html deleted file mode 100644 index 690ce8fa0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/figmaUtils/styleUtils.ts.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - Code coverage report for src/plugin/figmaUtils/styleUtils.ts - - - - - - - - - -
-
-

All files / src/plugin/figmaUtils styleUtils.ts

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/32 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { tokensSharedDataHandler } from '../SharedDataHandler';
- 
-type StyleTypeName = 'effects' | 'fills' | 'strokes' | 'typography';
-type StyleType<T> =
-  T extends 'effects' ? EffectStyle :
-    T extends 'fills' | 'strokes' ? PaintStyle :
-      T extends 'typography' ? TextStyle :
-        never;
- 
-export function getStyleId(node: BaseNode, key: StyleTypeName) {
-  if (key === 'effects' && key in node && typeof node.effectStyleId === 'string') {
-    return node.effectStyleId;
-  }
-  if (key === 'fills' && key in node && typeof node.fillStyleId === 'string') {
-    return node.fillStyleId;
-  }
-  if (key === 'strokes' && key in node && typeof node.strokeStyleId === 'string') {
-    return node.strokeStyleId;
-  }
-  if (key === 'typography' && node.type === 'TEXT' && typeof node.textStyleId === 'string') {
-    return node.textStyleId;
-  }
-  return undefined;
-}
- 
-function getStyleIdFromBackup(node: BaseNode, backupKey: string) {
-  return tokensSharedDataHandler.get(node, backupKey, (val) => {
-    if (val) {
-      try {
-        const parsedValue = JSON.parse(val) as string;
-        return parsedValue;
-      } catch (e) {
-        return val;
-      }
-    }
-    return val;
-  });
-}
- 
-export function getNonLocalStyle<T extends StyleTypeName>(
-  node: BaseNode,
-  backupKey: string,
-  key: T,
-): StyleType<T> | undefined {
-  let nonLocalStyle: BaseStyle | undefined;
-  const styleId = getStyleId(node, key) || getStyleIdFromBackup(node, backupKey);
-  if (styleId) {
-    const style = figma.getStyleById(styleId);
-    if (style?.remote) {
-      nonLocalStyle = style;
-    }
-  }
-  return nonLocalStyle as StyleType<T>;
-}
- 
-export function getLocalStyle<T extends StyleTypeName>(
-  node: BaseNode,
-  backupKey: string,
-  key: T,
-): StyleType<T> | undefined {
-  const styleId = getStyleId(node, key) || getStyleIdFromBackup(node, backupKey);
-  return figma.getStyleById(styleId) as StyleType<T>;
-}
- 
-export function setStyleIdBackup(node: BaseNode, backupKey: string, styleId: string) {
-  // Setting to empty string will delete the plugin data key if the style id doesn't exist:
-  tokensSharedDataHandler.set(node, backupKey, styleId ? JSON.stringify(styleId) : '');
-}
- 
-export function clearStyleIdBackup(node: BaseNode, backupKey: string) {
-  // Setting to empty string will delete the plugin data key:
-  tokensSharedDataHandler.set(node, backupKey, '');
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html deleted file mode 100644 index 00d891d57..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/findCollectionAndModeIdForTheme.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/plugin/findCollectionAndModeIdForTheme.ts - - - - - - - - - -
-
-

All files / src/plugin findCollectionAndModeIdForTheme.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// Given an array of collections and a mode name and collection name, this function will return the collection and modeId if it exists
-export function findCollectionAndModeIdForTheme(collectionName: string, modeName: string, allCollections: VariableCollection[]): { collection: VariableCollection; modeId: string; } {
-  const existingCollection = allCollections.find((vr) => vr.name === collectionName);
-  let collection;
-  let modeId;
- 
-  if (existingCollection) {
-    collection = existingCollection;
-    const mode = existingCollection.modes.find((m) => m.name === modeName);
-    modeId = mode?.modeId;
-  }
- 
-  return { collection, modeId };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html deleted file mode 100644 index 99e6150c4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/generateTokensToCreate.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/plugin/generateTokensToCreate.ts - - - - - - - - - -
-
-

All files / src/plugin generateTokensToCreate.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/7 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { tokenTypesToCreateVariable } from '@/constants/VariableTypes';
-import { ThemeObject, UsedTokenSetsMap } from '@/types';
-import { AnyTokenList } from '@/types/tokens';
-import { defaultTokenResolver } from '@/utils/TokenResolver';
-import { mergeTokenGroups } from '@/utils/tokenHelpers';
- 
-export function generateTokensToCreate({
-  theme,
-  tokens,
-  filterByTokenSet,
-  overallConfig = {},
-}: {
-  theme: ThemeObject;
-  tokens: Record<string, AnyTokenList>;
-  filterByTokenSet?: string;
-  overallConfig?: UsedTokenSetsMap;
-}) {
-  // Big O(resolveTokenValues * mergeTokenGroups)
-  const enabledTokenSets = Object.entries(theme.selectedTokenSets)
-    .filter(([name, status]) => status === TokenSetStatus.ENABLED && (!filterByTokenSet || name === filterByTokenSet))
-    .map(([tokenSet]) => tokenSet);
-  const resolved = defaultTokenResolver.setTokens(mergeTokenGroups(tokens, theme.selectedTokenSets, overallConfig));
-  return resolved.filter(
-    (token) => ((!token.internal__Parent || enabledTokenSets.includes(token.internal__Parent)) && tokenTypesToCreateVariable.includes(token.type)), // filter out SOURCE tokens
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html deleted file mode 100644 index 388ee9393..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedStylesFromNode.ts.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - Code coverage report for src/plugin/getAppliedStylesFromNode.ts - - - - - - - - - -
-
-

All files / src/plugin getAppliedStylesFromNode.ts

-
- -
- 0% - Statements - 0/65 -
- - -
- 0% - Branches - 0/32 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/63 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { figmaRGBToHex } from '@figma-plugin/helpers';
-import { SingleColorToken, SingleToken } from '@/types/tokens';
-import { getLocalStyle } from './figmaUtils/styleUtils';
-import { TokenBoxshadowValue } from '@/types/values';
-import { convertBoxShadowTypeFromFigma } from './figmaTransforms/boxShadow';
-import { convertFigmaGradientToString } from './figmaTransforms/gradients';
-import { convertFigmaToLetterSpacing } from './figmaTransforms/letterSpacing';
-import { convertFigmaToTextCase } from './figmaTransforms/textCase';
-import { convertFigmaToTextDecoration } from './figmaTransforms/textDecoration';
-import { Properties } from '@/constants/Properties';
-import { convertFigmaToLineHeight } from './figmaTransforms/lineHeight';
- 
-export type SelectionStyle = {
-  name: string;
-  value: SingleToken['value'];
-  type: Properties
-};
- 
-function getStyleFromNode(node: BaseNode, styleIdBackupKey: string, styleType: 'fills' | 'strokes'): SelectionStyle[] {
-  const localStyles: SelectionStyle[] = [];
- 
-  const localStyle = getLocalStyle(node, styleIdBackupKey, styleType);
-  if (localStyle) {
-    const paint = localStyle.paints[0];
-    let styleObject: SingleColorToken | null = {} as SingleColorToken;
-    if (paint.type === 'SOLID') {
-      const { r, g, b } = paint.color;
-      const a = paint.opacity;
-      styleObject.value = figmaRGBToHex({
-        r, g, b, a,
-      });
-    } else if (paint.type === 'GRADIENT_LINEAR') {
-      styleObject.value = convertFigmaGradientToString(paint);
-    } else {
-      styleObject = null;
-    }
-    const normalizedName = localStyle.name.split('/').map((section) => section.trim()).join('.');
-    if (styleObject) {
-      const styleTypeConstant = styleType === 'fills' ? Properties.fill : Properties.borderColor;
-      localStyles.push({ ...styleObject, name: normalizedName, type: styleTypeConstant });
-    }
-  }
- 
-  return localStyles;
-}
- 
-export default function getAppliedStylesFromNode(node: BaseNode): SelectionStyle[] {
-  const localStyles: SelectionStyle[] = [];
-  if ('effects' in node) {
-    const styleIdBackupKey = 'effectStyleId_original';
-    const localStyle = getLocalStyle(node, styleIdBackupKey, 'effects');
-    if (localStyle && localStyle.effects.every((effect) => effect.type === 'DROP_SHADOW' || effect.type === 'INNER_SHADOW')) {
-      const effects = localStyle.effects as Effect[];
-      // convert paint to object containg x, y, spread, color
-      const shadows: TokenBoxshadowValue[] = effects.map((effect) => {
-        const rootEffect = effect as DropShadowEffect | InnerShadowEffect;
-        const effectObject: TokenBoxshadowValue = {} as TokenBoxshadowValue;
- 
-        effectObject.color = figmaRGBToHex(rootEffect.color);
-        effectObject.type = convertBoxShadowTypeFromFigma(rootEffect.type);
-        effectObject.x = rootEffect.offset.x;
-        effectObject.y = rootEffect.offset.y;
-        effectObject.blur = rootEffect.radius;
-        effectObject.spread = rootEffect.spread || 0;
- 
-        return effectObject;
-      });
- 
-      if (shadows.length > 0) {
-        const normalizedName = localStyle.name
-          .split('/')
-          .map((section) => section.trim())
-          .join('.');
- 
-        const styleObject: SelectionStyle = {
-          value: shadows.length > 1 ? shadows : shadows[0],
-          type: Properties.boxShadow,
-          name: normalizedName,
-        };
- 
-        localStyles.push(styleObject);
-      }
-    }
-  }
- 
-  if ('fills' in node) {
-    const styleIdBackupKey = 'fillStyleId_original';
-    localStyles.push(...getStyleFromNode(node, styleIdBackupKey, 'fills'));
-  }
- 
-  if ('strokes' in node) {
-    const styleIdBackupKey = 'strokeStyleId_original';
-    localStyles.push(...getStyleFromNode(node, styleIdBackupKey, 'strokes'));
-  }
- 
-  if (node.type === 'TEXT') {
-    const styleIdBackupKey = 'textStyleId_original';
-    const localStyle = getLocalStyle(node, styleIdBackupKey, 'typography');
- 
-    if (localStyle) {
-      const fontFamily = localStyle.fontName.family;
-      const fontWeight = localStyle.fontName?.style;
-      const lineHeight = convertFigmaToLineHeight(localStyle.lineHeight).toString();
-      const fontSize = localStyle.fontSize.toString();
-      const letterSpacing = convertFigmaToLetterSpacing(localStyle.letterSpacing).toString();
-      const paragraphSpacing = localStyle.paragraphSpacing.toString();
-      const paragraphIndent = localStyle.paragraphIndent.toString();
-      const textCase = convertFigmaToTextCase(localStyle.textCase.toString());
-      const textDecoration = convertFigmaToTextDecoration(localStyle.textDecoration.toString());
- 
-      const obj = {
-        fontFamily,
-        fontWeight,
-        lineHeight,
-        fontSize,
-        letterSpacing,
-        paragraphSpacing,
-        paragraphIndent,
-        textCase,
-        textDecoration,
-      };
- 
-      const normalizedName = localStyle.name
-        .split('/')
-        .map((section) => section.trim())
-        .join('.');
- 
-      const styleObject = { name: normalizedName, value: obj, type: Properties.typography };
-      localStyles.push(styleObject);
-    }
-  }
- 
-  return localStyles;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html deleted file mode 100644 index 1dd66af42..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getAppliedVariablesFromNode.ts.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - Code coverage report for src/plugin/getAppliedVariablesFromNode.ts - - - - - - - - - -
-
-

All files / src/plugin getAppliedVariablesFromNode.ts

-
- -
- 0% - Statements - 0/36 -
- - -
- 0% - Branches - 0/41 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/36 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { clone, figmaRGBToHex } from '@figma-plugin/helpers';
-import { Properties } from '@/constants/Properties';
-import { SingleColorToken } from '@/types/tokens';
-import convertVariableTypeToProperty from '@/utils/convertVariableTypeToProperty';
- 
-export type SelectionVariable = {
-  name: string;
-  type: Properties;
-  value?: string;
-};
- 
-export default function getAppliedVariablesFromNode(node: BaseNode): SelectionVariable[] {
-  const localVariables: SelectionVariable[] = [];
-  if (node.type !== 'DOCUMENT' && node.type !== 'PAGE' && node.boundVariables) {
-    Object.entries(node.boundVariables).forEach(([key, value]) => {
-      if ('fills' in node && key === 'fills' && Array.isArray(value)) {
-        const variableId = node.boundVariables?.fills?.[0].id;
-        if (variableId) {
-          const variable = figma.variables.getVariableById(variableId);
-          if (variable) {
-            const paint = clone(node.fills);
-            let variableObject: SingleColorToken | null = {} as SingleColorToken;
-            if (paint[0].type === 'SOLID') {
-              const { r, g, b } = paint[0].color;
-              const a = paint[0].opacity;
-              variableObject.value = figmaRGBToHex({
-                r,
-                g,
-                b,
-                a,
-              });
-            } else {
-              variableObject = null;
-            }
-            localVariables.push({
-              ...variableObject,
-              name: variable?.name.split('/').join('.'),
-              type: Properties.fill,
-            });
-          }
-        }
-      }
-      if (key === 'strokes' && Array.isArray(value)) {
-        const variableId = node.boundVariables?.strokes?.[0].id;
- 
-        if (variableId) {
-          const variable = figma.variables.getVariableById(variableId);
-          if (variable && 'strokes' in node && typeof node.strokes !== 'undefined') {
-            const paint = clone(node.strokes);
-            let variableObject: SingleColorToken | null = {} as SingleColorToken;
-            if (paint[0].type === 'SOLID') {
-              const { r, g, b } = paint[0].color;
-              const a = paint[0].opacity;
-              variableObject.value = figmaRGBToHex({
-                r,
-                g,
-                b,
-                a,
-              });
-            } else {
-              variableObject = null;
-            }
-            localVariables.push({
-              ...variableObject,
-              name: variable?.name.split('/').join('.'),
-              type: Properties.borderColor,
-            });
-          }
-        }
-      }
-      if (!Array.isArray(value) && key in node) {
-        const variableId = value.id;
-        if (variableId && typeof variableId === 'string') {
-          const variable = figma.variables.getVariableById(variableId);
-          if (variable) {
-            localVariables.push({
-              name: variable?.name.split('/').join('.'),
-              type: convertVariableTypeToProperty(key),
-              // @TODO:: Rightnow, We get value from node directly. We Should investigate whether we can get value from variable by current mode. Rightnow, seems like that there is noway to know the current mode
-              ...(key in node && { value: String(node[key as keyof typeof node]) }),
-            });
-          }
-        }
-      }
-    });
-  }
- 
-  return localVariables;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html deleted file mode 100644 index 8e855815b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getFigmaDashPattern.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/plugin/getFigmaDashPattern.ts - - - - - - - - - -
-
-

All files / src/plugin getFigmaDashPattern.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export default function getFigmaDashPattern(borderWidth: number) {
-  switch (borderWidth) {
-    case 1:
-      return [3, 2];
-    case 2:
-      return [6, 3];
-    case 3:
-      return [6, 3];
-    case 4:
-      return [8, 4];
-    case 5:
-      return [10, 5];
-    default:
-      return [10, 10];
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html deleted file mode 100644 index 6b2310d4f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/getVariablesWithoutZombies.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/plugin/getVariablesWithoutZombies.ts - - - - - - - - - -
-
-

All files / src/plugin getVariablesWithoutZombies.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// Figma has a weird bug where they return variables in getLocalVariables that dont exist anymore.
- 
-import { notifyException } from './notifiers';
- 
-// So we need to add another check to see if the variable collection exists - if not, it's a zombie variable and we should ignore it.
-export async function getVariablesWithoutZombies(): Promise<Variable[]> {
-  try {
-    const localVariables = await figma.variables.getLocalVariablesAsync();
-    const localVariableCollectionIds = await figma.variables.getLocalVariableCollectionsAsync()?.then((collections) => collections.map((collection) => collection.id));
-    return localVariables.filter((variable) => localVariableCollectionIds.includes(variable.variableCollectionId));
-  } catch (error: any) {
-    notifyException(error?.message ?? 'Unknown error');
-    return [];
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html deleted file mode 100644 index 42b142341..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/helpers.ts.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - Code coverage report for src/plugin/helpers.ts - - - - - - - - - -
-
-

All files / src/plugin helpers.ts

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/45 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/31 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import convertOpacityToFigma from './figmaTransforms/opacity';
-import { convertTypographyNumberToFigma, fakeZeroForFigma } from './figmaTransforms/generic';
-import { convertLetterSpacingToFigma } from './figmaTransforms/letterSpacing';
-import { convertLineHeightToFigma } from './figmaTransforms/lineHeight';
-import { convertBoxShadowTypeToFigma } from './figmaTransforms/boxShadow';
-import { convertTextCaseToFigma } from './figmaTransforms/textCase';
-import { convertTextDecorationToFigma } from './figmaTransforms/textDecoration';
-import { convertFontWeightToFigma } from './figmaTransforms/fontWeight';
-import { UserIdProperty, FileKeyProperty } from '@/figmaStorage';
-import { generateId } from '@/utils/generateId';
-import { Properties } from '@/constants/Properties';
-import { convertFontFamilyToFigma } from './figmaTransforms/convertFontFamilyToFigma';
- 
-export async function getUserId() {
-  let userId = generateId(24);
- 
-  try {
-    const id = await UserIdProperty.read();
-    if (id === null) {
-      await UserIdProperty.write(userId);
-    } else {
-      userId = id;
-    }
-  } catch (e) {
-    console.error('error retrieving userId', e);
-    await UserIdProperty.write(userId);
-  }
- 
-  return userId;
-}
- 
-export async function getFileKey() {
-  let fileKey = generateId(24);
- 
-  try {
-    const key = await FileKeyProperty.read(figma.root);
-    if (key === null) {
-      await FileKeyProperty.write(fileKey);
-    } else {
-      fileKey = key as `${string}-${string}-${string}-${string}-${string}`;
-    }
-  } catch (e) {
-    console.error('error retrieving fileKey', e);
-    await FileKeyProperty.write(fileKey);
-  }
- 
-  return fileKey;
-}
- 
-export function transformValue(value: string, type: 'fontWeights', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertFontWeightToFigma>;
-export function transformValue(value: string, type: 'letterSpacing', baseFontSize: string, shouldOutputForVariables?: boolean): LetterSpacing | null;
-export function transformValue(value: string, type: 'lineHeights', baseFontSize: string, shouldOutputForVariables?: boolean): LineHeight | null;
-export function transformValue(value: string, type: 'boxShadowType', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertBoxShadowTypeToFigma>;
-export function transformValue(value: string, type: 'textCase', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertTextCaseToFigma>;
-export function transformValue(value: string, type: 'textDecoration', baseFontSize: string, shouldOutputForVariables?: boolean): ReturnType<typeof convertTextDecorationToFigma>;
-export function transformValue(value: string, type: 'opacity', baseFontSize: string, shouldOutputForVariables?: boolean): number;
-export function transformValue(value: string, type: string, baseFontSize: string, shouldOutputForVariables?: boolean): number;
-export function transformValue(value: string, type: string, baseFontSize: string, shouldOutputForVariables = false) {
-  switch (type) {
-    case Properties.borderWidth:
-    case Properties.borderWidthTop:
-    case Properties.borderWidthRight:
-    case Properties.borderWidthBottom:
-    case Properties.borderWidthLeft:
-      return convertTypographyNumberToFigma(value, baseFontSize);
-    case 'width':
-    case 'height':
-    case 'sizing':
-      return fakeZeroForFigma(convertTypographyNumberToFigma(value, baseFontSize));
-    case 'backgroundBlur':
-    case 'borderRadius':
-    case 'borderRadiusTopLeft':
-    case 'borderRadiusTopRight':
-    case 'borderRadiusBottomRight':
-    case 'borderRadiusBottomLeft':
-    case 'spacing':
-    case 'horizontalPadding':
-    case 'verticalPadding':
-    case 'paddingTop':
-    case 'paddingRight':
-    case 'paddingBottom':
-    case 'paddingLeft':
-    case 'itemSpacing':
-    case 'paragraphSpacing':
-    case 'paragraphIndent':
-    case 'fontSizes':
-    case 'fontSize':
-    case 'dimension':
-    case 'number':
-      return convertTypographyNumberToFigma(value, baseFontSize);
-    case 'fontWeights':
-    case 'fontWeight':
-      return convertFontWeightToFigma(value, shouldOutputForVariables);
-    case 'letterSpacing':
-      return convertLetterSpacingToFigma(value, baseFontSize, shouldOutputForVariables);
-    case 'lineHeights':
-    case 'lineHeight':
-      return convertLineHeightToFigma(value, baseFontSize, shouldOutputForVariables);
-    case 'opacity':
-      return convertOpacityToFigma(value.toString(), shouldOutputForVariables);
-    case 'boxShadowType':
-      return convertBoxShadowTypeToFigma(value);
-    case 'textCase':
-      return convertTextCaseToFigma(value.toString());
-    case 'textDecoration':
-      return convertTextDecorationToFigma(value.toString());
-    case 'fontFamily':
-    case 'fontFamilies':
-      return convertFontFamilyToFigma(value, shouldOutputForVariables);
-    default:
-      return value;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html deleted file mode 100644 index e6bd9dfca..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/index.html +++ /dev/null @@ -1,1316 +0,0 @@ - - - - - - Code coverage report for src/plugin - - - - - - - - - -
-
-

All files src/plugin

-
- -
- 4.93% - Statements - 104/2108 -
- - -
- 4.17% - Branches - 81/1940 -
- - -
- 4.69% - Functions - 16/341 -
- - -
- 4.98% - Lines - 99/1987 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
CanceledError.ts -
-
0%0/1100%0/00%0/10%0/1
NodeManager.ts -
-
0%0/390%0/100%0/80%0/37
ProgressTracker.ts -
-
0%0/160%0/70%0/40%0/16
ResolvedTypographyObject.ts -
-
0%0/00%0/00%0/00%0/0
SharedDataHandler.ts -
-
0%0/200%0/100%0/60%0/20
TokenFormatStoreClass.ts -
-
0%0/140%0/60%0/30%0/13
TokenValueRetriever.ts -
-
0%0/570%0/520%0/90%0/46
Worker.ts -
-
0%0/400%0/60%0/90%0/40
applyAssetTokenValuesOnNode.ts -
-
0%0/20%0/50%0/10%0/2
applyBackgroundBlurValuesOnNode.ts -
-
0%0/20%0/50%0/10%0/2
applyBooleanTokenValuesOnNode.ts -
-
0%0/50%0/100%0/10%0/5
applyBorderRadiusValuesOnNode.ts -
-
0%0/390%0/600%0/10%0/39
applyBorderValuesOnNode.ts -
-
0%0/150%0/330%0/10%0/15
applyBorderWidthValuesOnNode.ts -
-
0%0/100%0/350%0/10%0/10
applyColorTokenOnNode.ts -
-
0%0/160%0/200%0/10%0/16
applyDimensionTokenValuesOnNode.ts -
-
0%0/100%0/170%0/10%0/10
applyNumberTokenValuesOnNode.ts -
-
0%0/100%0/170%0/10%0/10
applyOpacityValuesOnNode.ts -
-
0%0/20%0/70%0/10%0/2
applyPositionTokenOnNode.ts -
-
0%0/70%0/130%0/10%0/7
applyRotationValuesOnNode.ts -
-
0%0/30%0/70%0/10%0/3
applyShadowValuesOnNode.ts -
-
0%0/180%0/240%0/10%0/17
applySizingValuesOnNode.ts -
-
0%0/160%0/610%0/10%0/16
applySpacingValuesOnNode.ts -
-
0%0/580%0/890%0/10%0/58
applyTextCharacterValuesOnNode.ts -
-
0%0/220%0/360%0/10%0/22
applyTypographyTokenOnNode.ts -
-
0%0/260%0/730%0/40%0/24
compareStyleWithToken.ts -
-
0%0/120%0/120%0/10%0/12
controller.ts -
-
0%0/53100%0/00%0/40%0/52
createLocalVariablesInPlugin.ts -
-
0%0/320%0/210%0/30%0/30
createLocalVariablesWithoutModesInPlugin.ts -
-
0%0/380%0/200%0/50%0/36
createNecessaryVariableCollections.ts -
-
0%0/230%0/160%0/60%0/20
createVariableMode.ts -
-
0%0/100%0/60%0/10%0/10
findCollectionAndModeIdForTheme.ts -
-
0%0/80%0/20%0/30%0/6
generateTokensToCreate.ts -
-
0%0/60%0/70%0/40%0/6
getAppliedStylesFromNode.ts -
-
0%0/650%0/320%0/70%0/63
getAppliedVariablesFromNode.ts -
-
0%0/360%0/410%0/20%0/36
getFigmaDashPattern.ts -
-
0%0/70%0/60%0/10%0/7
getVariablesWithoutZombies.ts -
-
0%0/90%0/20%0/40%0/6
helpers.ts -
-
0%0/310%0/450%0/30%0/31
mergeVariableReferences.ts -
-
0%0/220%0/120%0/60%0/17
node.ts -
-
0%0/1080%0/1330%0/170%0/105
notifiers.ts -
-
15.38%2/130%0/416.66%2/1215.38%2/13
performCodeGen.ts -
-
0%0/60%0/40%0/30%0/6
pluginData.ts -
-
0%0/570%0/270%0/200%0/51
processTextStyleProperty.ts -
-
0%0/230%0/280%0/40%0/20
pullStyles.ts -
-
0%0/1530%0/500%0/440%0/135
pullVariables.ts -
-
84.29%102/12171.68%81/11393.33%14/1584.34%97/115
removePluginDataByMap.ts -
-
0%0/12100%0/00%0/30%0/12
removeStylesFromPlugin.ts -
-
0%0/170%0/20%0/80%0/15
removeValuesFromNode.ts -
-
0%0/1470%0/2060%0/50%0/144
renameStylesFromPlugin.ts -
-
0%0/280%0/40%0/150%0/23
renameVariablesFromPlugin.ts -
-
0%0/150%0/40%0/40%0/15
rotateNode.ts -
-
0%0/340%0/200%0/30%0/34
sendDocumentChange.ts -
-
0%0/80%0/90%0/30%0/6
sendSelectionChange.ts -
-
0%0/60%0/60%0/10%0/6
setBackgroundBlurOnTarget.ts -
-
0%0/110%0/40%0/20%0/10
setBooleanValuesOnVariable.ts -
-
0%0/80%0/80%0/10%0/7
setBorderColorValuesOnTarget.ts -
-
0%0/150%0/190%0/10%0/15
setBorderValuesOnTarget.ts -
-
0%0/230%0/430%0/10%0/23
setColorValuesOnTarget.ts -
-
0%0/650%0/840%0/50%0/60
setColorValuesOnVariable.ts -
-
0%0/160%0/290%0/40%0/14
setEffectValuesOnTarget.ts -
-
0%0/410%0/400%0/40%0/38
setFontStyleOnTarget.ts -
-
0%0/320%0/220%0/50%0/30
setImageValuesOnTarget.ts -
-
0%0/140%0/100%0/30%0/14
setNumberValuesOnVariable.ts -
-
0%0/100%0/100%0/10%0/9
setStringValuesOnVariable.ts -
-
0%0/70%0/80%0/10%0/6
setTextValuesOnTarget.ts -
-
0%0/130%0/110%0/10%0/10
setValuesOnNode.ts -
-
0%0/240%0/90%0/20%0/24
setValuesOnVariable.ts -
-
0%0/410%0/490%0/30%0/40
store.ts -
-
0%0/1100%0/0100%0/00%0/1
transformTypographyKeyToFigmaVariable.ts -
-
0%0/50%0/60%0/10%0/4
tryApplyTypographyCompositeVariable.ts -
-
0%0/390%0/400%0/30%0/33
unbindVariableFromTarget.ts -
-
0%0/60%0/40%0/10%0/6
updateColorStyles.ts -
-
0%0/200%0/100%0/20%0/20
updateEffectStyles.ts -
-
0%0/200%0/100%0/20%0/20
updateNodes.ts -
-
0%0/160%0/20%0/30%0/16
updatePluginDataAndNodes.ts -
-
0%0/250%0/50%0/40%0/25
updateStyles.ts -
-
0%0/260%0/300%0/110%0/19
updateTextStyles.ts -
-
0%0/200%0/100%0/20%0/20
updateVariables.ts -
-
0%0/150%0/40%0/50%0/15
updateVariablesFromPlugin.ts -
-
0%0/320%0/340%0/40%0/32
updateVariablesToReference.ts -
-
0%0/150%0/40%0/20%0/13
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html deleted file mode 100644 index d2c96f056..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/mergeVariableReferences.ts.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/plugin/mergeVariableReferences.ts - - - - - - - - - -
-
-

All files / src/plugin mergeVariableReferences.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObject } from '@/types';
-import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
- 
-// Gather references that we should use. Merge current theme references with the ones from all themes as well as local variables
-// Note that this is a bit naive. As the active theme does not have the themes set as active that it should use as a reference, it will not be able to find the correct reference.
-// This is why we also pass in allThemes and merge them together. This is naive because it might be that the reference required is not the "first to detect".
-// We need to refactor this probably. Themes should be able to strictly specify which other theme the references are coming from, like we do for token sets.
-export async function mergeVariableReferencesWithLocalVariables(themes: ThemeObject[] = [], allThemes: ThemeObject[] = []): Promise<Map<string, string>> {
-  const localVariables = await getVariablesWithoutZombies();
- 
-  const variables = new Map();
-  themes.forEach((theme) => {
-    if (!theme.$figmaVariableReferences) return;
-    Object.entries(theme.$figmaVariableReferences).forEach(([tokenName, variableId]) => {
-      // For each variable reference we add one to the global Map - ONLY if it is not already set.
-      // Meaning, users will run into problems if they have a token defined in multiple theme groups
-      if (variables.has(tokenName)) return;
-      variables.set(tokenName, variableId);
-    });
-  });
-  allThemes.forEach((theme) => {
-    if (!theme.$figmaVariableReferences) return;
-    Object.entries(theme.$figmaVariableReferences).forEach(([tokenName, variableId]) => {
-      // For each variable reference we add one to the global Map - ONLY if it is not already set.
-      // Meaning, users will run into problems if they have a token defined in multiple theme groups
-      if (variables.has(tokenName)) return;
-      variables.set(tokenName, variableId);
-    });
-  });
-  localVariables.forEach((variable) => {
-    const normalizedName = variable.name.split('/').join('.');
-    if (variables.has(normalizedName)) return;
-    variables.set(normalizedName, variable.key);
-  });
- 
-  return variables;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html deleted file mode 100644 index e41ff233c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/node.ts.html +++ /dev/null @@ -1,868 +0,0 @@ - - - - - - Code coverage report for src/plugin/node.ts - - - - - - - - - -
-
-

All files / src/plugin node.ts

-
- -
- 0% - Statements - 0/108 -
- - -
- 0% - Branches - 0/133 -
- - -
- 0% - Functions - 0/17 -
- - -
- 0% - Lines - 0/105 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import { CollapsedTokenSetsProperty } from '@/figmaStorage/CollapsedTokenSetsProperty';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { AnyTokenList, SingleToken, TokenStore } from '@/types/tokens';
-import { isSingleToken } from '@/utils/is';
-import { ThemeObjectsList } from '@/types';
-import { CompositionTokenProperty } from '@/types/CompositionTokenProperty';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageType } from '@/types/StorageType';
-import {
-  ActiveThemeProperty, StorageTypeProperty, ThemesProperty, UpdatedAtProperty, ValuesProperty, VersionProperty, OnboardingExplainerSetsProperty, OnboardingExplainerInspectProperty, OnboardingExplainerSyncProvidersProperty, TokenFormatProperty, OnboardingExplainerExportSetsProperty, IsCompressedProperty,
-  CheckForChangesProperty,
-} from '@/figmaStorage';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { Properties } from '@/constants/Properties';
-import { TokenFormatOptions } from './TokenFormatStoreClass';
-import { ClientStorageProperty } from '@/figmaStorage/ClientStorageProperty';
-import { getFileKey } from './helpers';
- 
-// @TODO fix typings
- 
-export function returnValueToLookFor(key: string) {
-  switch (key) {
-    case 'tokenName':
-      return 'name';
-    case 'description':
-      return 'description';
-    case 'tokenValue':
-      return 'rawValue';
-    case 'value':
-      return 'value';
-    default:
-      return 'value';
-  }
-}
- 
-const borderPropertyMap = new Map<Properties, string>([
-  [Properties.border, 'border'],
-  [Properties.borderTop, 'borderTop'],
-  [Properties.borderRight, 'borderRight'],
-  [Properties.borderBottom, 'borderBottom'],
-  [Properties.borderLeft, 'borderLeft'],
-]);
- 
-type MapValuesToTokensResult = Record<string, string | number | SingleToken['value'] | {
-  property: string
-  value?: SingleToken['value'];
-}[]>;
- 
-// TODO: It feels unecessary to do this like that. whats up with the modify? cant we do that upfront before we send tokens to the document?
-// Ideally, we would build this object upfront so we would not have to iterate over this at all, but could just .get a token and then get the property of it
-// Tokens: The full tokens map
-// Values: The values applied to the node
-export function mapValuesToTokens(tokens: Map<string, AnyTokenList[number]>, values: NodeTokenRefMap): MapValuesToTokensResult {
-  const mappedValues = Object.entries(values).reduce<MapValuesToTokensResult>((acc, [key, tokenOnNode]) => {
-    const resolvedToken = tokens.get(tokenOnNode);
- 
-    if (!resolvedToken) return acc;
-    if (isSingleToken(resolvedToken)) {
-      // We only do this for rawValue as its a documentation and we want to show this to the user
-      if (returnValueToLookFor(key) === 'rawValue' && resolvedToken.$extensions?.['studio.tokens']?.modify) {
-        const modifier = resolvedToken.$extensions?.['studio.tokens']?.modify;
-        if (modifier) {
-          acc[key] = modifier.type === ColorModifierTypes.MIX ? `${resolvedToken.rawValue} / mix(${modifier.color}, ${modifier.value}) / ${modifier.space}` : `${resolvedToken.rawValue} / ${modifier.type}(${modifier.value}) / ${modifier.space}`;
-        }
-      } else if (key === TokenTypes.COMPOSITION) {
-        Object.entries(resolvedToken.value).forEach(([property, value]) => {
-          // Assign the actual value of a composition token property to the applied values
-          acc[property as Properties] = value;
-          // If we're dealing with border tokens we want to extract the color part to be applied (we can only apply color on the whole border, not individual sides)
-          if (typeof value === 'object' && borderPropertyMap.get(property as Properties) && 'color' in value && typeof value.color === 'string') {
-            acc.borderColor = value.color;
-          }
-        });
-      } else if (returnValueToLookFor(key) === 'description') {
-        // Not all tokens have a description, so we need to treat it special
-        acc[key] = resolvedToken.description ? resolvedToken.description : 'No description';
-      } else if (
-        borderPropertyMap.get(key as Properties)
-        && resolvedToken.type === TokenTypes.BORDER
-        && typeof resolvedToken.value === 'object'
-        && 'color' in resolvedToken.value && resolvedToken.value.color
-        && !('borderColor' in acc)) {
-        // Same as above, if we're dealing with border tokens we want to extract the color part to be applied (we can only apply color on the whole border, not individual sides)
-        acc.borderColor = resolvedToken.value.color;
-        // We return the value because the token holds its values in the 'value' prop
-        acc[key] = resolvedToken.value;
-      } else {
-        // Otherwise, try to apply the key, if we dont have it, apply the value
-        acc[key] = resolvedToken[returnValueToLookFor(key)] || resolvedToken.value;
-      }
-    } else {
-      acc[key] = resolvedToken;
-    }
- 
-    return acc;
-  }, {});
-  return mappedValues;
-}
- 
-export async function getSavedStorageType(): Promise<StorageType> {
-  // the saved storage types will never contain credentials
-  // as they should not be shared across
-  const storageType = await StorageTypeProperty.read(figma.root);
- 
-  if (storageType) {
-    return storageType;
-  }
-  return { provider: StorageProviderType.LOCAL };
-}
- 
-export async function getTokenData(): Promise<{
-  values: TokenStore['values'];
-  themes: ThemeObjectsList
-  activeTheme: string | Record<string, string>
-  updatedAt: string;
-  version: string;
-  checkForChanges: boolean | null
-  collapsedTokenSets: string[] | null
-  tokenFormat: TokenFormatOptions | null
-} | null> {
-  try {
-    const isCompressed = await IsCompressedProperty.read(figma.root) ?? false;
-    const storageType = await getSavedStorageType();
-    let values = {};
-    let themes: ThemeObjectsList = [];
-    const fileKey = await getFileKey();
-    const prefix = `${fileKey}/tokens`;
- 
-    if (storageType.provider === StorageProviderType.LOCAL) {
-      values = await ValuesProperty.read(figma.root, isCompressed) ?? {};
-      themes = await ThemesProperty.read(figma.root, isCompressed) ?? [];
-    } else {
-      values = await ClientStorageProperty.read(`${prefix}/values`) ?? {};
-      themes = await ClientStorageProperty.read(`${prefix}/themes`) ?? [];
- 
-      // To account for the migration period, if client storage is empty, try reading from ValuesProperty and ThemesProperty to ensure local changes are not lost
-      if (Object.keys(values).length === 0) {
-        values = await ValuesProperty.read(figma.root, isCompressed) ?? {};
-      }
-      if (themes.length === 0) {
-        themes = await ThemesProperty.read(figma.root, isCompressed) ?? [];
-      }
-    }
- 
-    const activeTheme = await ActiveThemeProperty.read(figma.root) ?? {};
-    const version = await VersionProperty.read(figma.root);
-    const updatedAt = await UpdatedAtProperty.read(figma.root);
-    const checkForChanges = await ClientStorageProperty.read(`${prefix}/checkForChanges`) ?? await CheckForChangesProperty.read(figma.root) ?? false;
-    const collapsedTokenSets = await CollapsedTokenSetsProperty.read(figma.root);
-    const tokenFormat = await TokenFormatProperty.read(figma.root);
-    if (Object.keys(values).length > 0) {
-      const tokenObject = Object.entries(values).reduce<Record<string, AnyTokenList>>((acc, [key, groupValues]) => {
-        acc[key] = typeof groupValues === 'string' ? JSON.parse(groupValues) : groupValues;
-        return acc;
-      }, {});
-      return {
-        values: tokenObject as TokenStore['values'],
-        themes,
-        activeTheme,
-        updatedAt: updatedAt || '',
-        version: version || '',
-        checkForChanges,
-        collapsedTokenSets,
-        tokenFormat: tokenFormat as TokenFormatOptions,
-      };
-    }
-  } catch (e) {
-    console.log('Error reading tokens', e);
-  }
-  return null;
-}
- 
-// set storage type (i.e. local or some remote provider)
-export async function saveStorageType(context: StorageType) {
-  await StorageTypeProperty.write(context);
-}
- 
-export async function saveOnboardingExplainerSets(onboardingExplainerSets: boolean) {
-  await OnboardingExplainerSetsProperty.write(onboardingExplainerSets);
-}
- 
-export async function saveOnboardingExplainerExportSets(onboardingExplainerExportSets: boolean) {
-  await OnboardingExplainerExportSetsProperty.write(onboardingExplainerExportSets);
-}
- 
-export async function saveOnboardingExplainerSyncProviders(onboardingExplainerSyncProviders: boolean) {
-  await OnboardingExplainerSyncProvidersProperty.write(onboardingExplainerSyncProviders);
-}
- 
-export async function saveOnboardingExplainerInspect(onboardingExplainerInspect: boolean) {
-  await OnboardingExplainerInspectProperty.write(onboardingExplainerInspect);
-}
- 
-export function goToNode(id: string) {
-  const node = figma.getNodeById(id);
-  if (
-    node
-    && node.type !== 'PAGE'
-    && node.type !== 'DOCUMENT'
-  ) {
-    figma.currentPage.selection = [node];
-    figma.viewport.scrollAndZoomIntoView([node]);
-  }
-}
- 
-export function selectNodes(ids: string[]) {
-  const nodes = compact(ids.map(figma.getNodeById)).filter((node) => (
-    node.type !== 'PAGE' && node.type !== 'DOCUMENT'
-  )) as (Exclude<BaseNode, PageNode | DocumentNode>)[];
-  figma.currentPage.selection = nodes;
-}
-// Tokens: The full token object
-// Values: The values applied to the node
-export function destructureTokenForAlias(tokens: Map<string, AnyTokenList[number]>, values: NodeTokenRefMap): MapValuesToTokensResult {
-  if (values && values.composition) {
-    const resolvedToken = tokens.get(values.composition);
-    const tokensInCompositionToken: NodeTokenRefMap = {};
-    if (resolvedToken?.rawValue) {
-      Object.entries(resolvedToken?.rawValue).forEach(([property, value]) => {
-        let tokenName: string = resolvedToken.name;
-        if (String(value).startsWith('$')) tokenName = String(value).slice(1, String(value).length);
-        if (String(value).startsWith('{')) tokenName = String(value).slice(1, String(value).length - 1);
-        tokensInCompositionToken[property as CompositionTokenProperty] = tokenName;
-      });
-      const { composition, ...objExcludedCompositionToken } = values;
-      values = { ...tokensInCompositionToken, ...objExcludedCompositionToken };
-    }
-  }
-  if (values && values.border && !values.borderColor && !values.borderWidth) {
-    // if we have a border token we must convert the color variable out of it given how our resolution logic works
-    const resolvedToken = tokens.get(values.border as string);
-    if (resolvedToken && resolvedToken.resolvedValueWithReferences) {
-      if (typeof resolvedToken.resolvedValueWithReferences === 'object') {
-        if ('color' in resolvedToken.resolvedValueWithReferences) {
-          const borderColorTokenName = (resolvedToken.resolvedValueWithReferences.color as string).replace('{', '').replace('}', '');
-          values.borderColor = borderColorTokenName;
-        }
-        if ('width' in resolvedToken.resolvedValueWithReferences) {
-          const borderWidthTokenName = (resolvedToken.resolvedValueWithReferences.width as string).replace('{', '').replace('}', '');
-          values.borderWidth = borderWidthTokenName;
-        }
-      }
-    }
-    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.border }) };
-  }
-  if (values && values.borderTop) {
-    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderTop }) };
-  }
-  if (values && values.borderRight) {
-    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderRight }) };
-  }
-  if (values && values.borderLeft) {
-    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderLeft }) };
-  }
-  if (values && values.borderBottom) {
-    values = { ...values, ...(values.borderColor ? { } : { borderColor: values.borderBottom }) };
-  }
-  return values;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html deleted file mode 100644 index a378cdf5c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/notifiers.ts.html +++ /dev/null @@ -1,676 +0,0 @@ - - - - - - Code coverage report for src/plugin/notifiers.ts - - - - - - - - - -
-
-

All files / src/plugin notifiers.ts

-
- -
- 15.38% - Statements - 2/13 -
- - -
- 0% - Branches - 0/4 -
- - -
- 16.66% - Functions - 2/12 -
- - -
- 15.38% - Lines - 2/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -7x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -7x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  MessageFromPluginTypes,
-  PostToUIMessage,
-} from '@/types/messages';
-import { TokenStore } from '@/types/tokens';
-import { SelectionGroup } from '@/types/SelectionGroup';
-import { SelectionValue } from '@/types/SelectionValue';
-import { UpdateMode } from '@/constants/UpdateMode';
-import { AsyncMessageTypes, NotifyAsyncMessage } from '@/types/AsyncMessages';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { StorageTypeCredentials } from '@/types/StorageType';
-import { StyleToCreateToken, VariableToCreateToken } from '@/types/payloads';
-import { TokenFormatOptions } from './TokenFormatStoreClass';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import { ThemeObjectsList } from '@/types/ThemeObjectsList';
- 
-export function notifyUI(msg: string, opts?: NotificationOptions) {
-  figma.notify(msg, opts);
-}
- 
-export function notifyToUI(msg: string, opts: NotifyAsyncMessage['opts'] = {}) {
-  AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.NOTIFY,
-    msg,
-    opts,
-  });
-}
- 
-export function postToUI(props: PostToUIMessage) {
-  figma.ui.postMessage(props);
-}
- 
-export function notifyNoSelection() {
-  postToUI({
-    type: MessageFromPluginTypes.NO_SELECTION,
-  });
-}
- 
-export function notifySelection({
-  selectionValues,
-  mainNodeSelectionValues,
-  selectedNodes,
-}: {
-  selectionValues: SelectionGroup[];
-  mainNodeSelectionValues: SelectionValue[];
-  selectedNodes: number;
-}) {
-  postToUI({
-    type: MessageFromPluginTypes.SELECTION,
-    selectionValues,
-    mainNodeSelectionValues,
-    selectedNodes,
-  });
-}
- 
-export type SavedSettings = {
-  language: string,
-  sessionRecording: boolean;
-  width: number;
-  height: number;
-  showEmptyGroups: boolean
-  updateMode: UpdateMode;
-  updateRemote: boolean;
-  updateOnChange: boolean;
-  applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues;
-  shouldUpdateStyles: boolean;
-  variablesColor: boolean;
-  variablesNumber: boolean;
-  variablesString: boolean;
-  variablesBoolean: boolean;
-  stylesColor: boolean;
-  stylesTypography: boolean;
-  stylesEffect: boolean;
-  ignoreFirstPartForStyles: boolean;
-  createStylesWithVariableReferences: boolean;
-  prefixStylesWithThemeName: boolean;
-  renameExistingStylesAndVariables: boolean;
-  removeStylesAndVariablesWithoutConnection: boolean;
-  inspectDeep: boolean;
-  shouldSwapStyles: boolean;
-  baseFontSize: string;
-  aliasBaseFontSize: string;
-  storeTokenIdInJsonEditor: boolean;
-  tokenFormat: TokenFormatOptions;
-};
- 
-export function notifyUISettings(
-  {
-    language,
-    sessionRecording,
-    width,
-    height,
-    updateMode,
-    updateOnChange,
-    applyVariablesStylesOrRawValue,
-    shouldUpdateStyles,
-    showEmptyGroups,
-    variablesColor,
-    variablesNumber,
-    variablesString,
-    variablesBoolean,
-    stylesColor,
-    stylesTypography,
-    stylesEffect,
-    ignoreFirstPartForStyles,
-    createStylesWithVariableReferences,
-    prefixStylesWithThemeName,
-    updateRemote = true,
-    inspectDeep,
-    shouldSwapStyles,
-    baseFontSize,
-    aliasBaseFontSize,
-    storeTokenIdInJsonEditor,
-    tokenFormat,
-    renameExistingStylesAndVariables,
-    removeStylesAndVariablesWithoutConnection,
-  }: SavedSettings,
-) {
-  postToUI({
-    type: MessageFromPluginTypes.UI_SETTINGS,
-    settings: {
-      uiWindow: {
-        width,
-        height,
-        isMinimized: false,
-      },
-      language,
-      sessionRecording,
-      updateMode,
-      updateRemote,
-      updateOnChange,
-      applyVariablesStylesOrRawValue,
-      shouldUpdateStyles,
-      variablesColor,
-      variablesBoolean,
-      variablesNumber,
-      variablesString,
-      stylesColor,
-      stylesEffect,
-      stylesTypography,
-      ignoreFirstPartForStyles,
-      createStylesWithVariableReferences,
-      prefixStylesWithThemeName,
-      inspectDeep,
-      shouldSwapStyles,
-      baseFontSize,
-      aliasBaseFontSize,
-      storeTokenIdInJsonEditor,
-      tokenFormat,
-      renameExistingStylesAndVariables,
-      removeStylesAndVariablesWithoutConnection,
-    },
-  });
-  postToUI({
-    type: MessageFromPluginTypes.SHOW_EMPTY_GROUPS,
-    showEmptyGroups,
-  });
-}
- 
-export function notifyAPIProviders(providers: StorageTypeCredentials[]) {
-  postToUI({ type: MessageFromPluginTypes.API_PROVIDERS, providers });
-}
- 
-export function notifyStyleValues(values: Record<string, StyleToCreateToken[]>) {
-  postToUI({ type: MessageFromPluginTypes.STYLES, values });
-}
- 
-export function notifyVariableValues(
-  values: Record<string, VariableToCreateToken[]>,
-  themes?: ThemeObjectsList,
-) {
-  postToUI({
-    type: MessageFromPluginTypes.VARIABLES,
-    values,
-    themes,
-  });
-}
- 
-export function notifySetTokens(values: TokenStore) {
-  postToUI({ type: MessageFromPluginTypes.SET_TOKENS, values });
-}
- 
-export function notifyException(error: string, opts = {}) {
-  postToUI({
-    type: MessageFromPluginTypes.NOTIFY_EXCEPTION,
-    error,
-    opts,
-  });
-}
- 
-export function trackFromPlugin(title: string, opts = {}) {
-  postToUI({
-    type: MessageFromPluginTypes.TRACK_FROM_PLUGIN,
-    title,
-    opts,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html deleted file mode 100644 index 93efa72ad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/performCodeGen.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/plugin/performCodeGen.ts - - - - - - - - - -
-
-

All files / src/plugin performCodeGen.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export function performCodeGen(event: any): CodegenResult[] {
-  const tokenKeys = Object.keys(Properties);
- 
-  const code = tokenKeys
-    .map((key) => {
-      const value = event.node.getSharedPluginData('tokens', key);
- 
-      return value && `${key}: ${value};`;
-    })
-    .filter((x) => x)
-    .join('\n');
- 
-  return [
-    {
-      language: 'CSS',
-      code: code === '' ? '/* No tokens found */' : code,
-      title: 'Applied tokens (Tokens Studio)',
-    },
-  ];
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html deleted file mode 100644 index fe969defa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pluginData.ts.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - Code coverage report for src/plugin/pluginData.ts - - - - - - - - - -
-
-

All files / src/plugin pluginData.ts

-
- -
- 0% - Statements - 0/57 -
- - -
- 0% - Branches - 0/27 -
- - -
- 0% - Functions - 0/20 -
- - -
- 0% - Lines - 0/51 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import get from 'just-safe-get';
-import { isEqual } from '@/utils/isEqual';
-import { Properties } from '@/constants/Properties';
-import { notifySelection } from './notifiers';
-import removeValuesFromNode from './removeValuesFromNode';
-import { NodeManagerNode } from './NodeManager';
-import { tokensSharedDataHandler } from './SharedDataHandler';
-import { SelectionGroup, SelectionValue } from '@/types';
-import { TokenTypes } from '@/constants/TokenTypes';
-import getAppliedStylesFromNode from './getAppliedStylesFromNode';
-import getAppliedVariablesFromNode from './getAppliedVariablesFromNode';
- 
-// @TODO FIX TYPINGS! Missing or bad typings are very difficult for other developers to work in
- 
-export function transformPluginDataToSelectionValues(pluginData: NodeManagerNode[]): SelectionGroup[] {
-  const selectionValues = pluginData.reduce<SelectionGroup[]>((acc, curr) => {
-    const { tokens, id, node: { name, type } } = curr;
-    // First we add plugin tokens
-    Object.entries(tokens).forEach(([key, value]) => {
-      const existing = acc.find((item) => item.type === key && item.value === value);
-      if (existing) {
-        existing.nodes.push({ id, name, type });
-      } else {
-        const category = get(Properties, key) as Properties | TokenTypes;
- 
-        acc.push({
-          value, type: key, category, nodes: [{ id, name, type }], appliedType: 'token',
-        });
-      }
-    });
- 
-    // Second we add variables
-    const localVariables = getAppliedVariablesFromNode(curr.node);
-    localVariables.forEach((variable) => {
-      // Check if the token has been applied. If the token has been applied then we don't add variable.
-      const isTokenApplied = acc.find((item) => item.type === variable.type && item.nodes.find((node) => isEqual(node, { id, name, type })));
-      if (!isTokenApplied) {
-        const category = get(Properties, variable.type) as Properties | TokenTypes;
-        acc.push({
-          value: variable.name,
-          type: variable.type,
-          category,
-          nodes: [{ id, name, type }],
-          resolvedValue: variable.value,
-          appliedType: 'variable',
-        });
-      }
-    });
- 
-    // Third we add styles
-    const localStyles = getAppliedStylesFromNode(curr.node);
-    localStyles.forEach((style) => {
-      // Check if the token or variable has been applied. If the token has been applied then we don't add style.
-      const isTokenApplied = acc.find((item) => item.type === style.type && item.nodes.find((node) => isEqual(node, { id, name, type })));
-      if (!isTokenApplied) {
-        const category = get(Properties, style.type) as Properties | TokenTypes;
-        acc.push({
-          value: style.name,
-          type: style.type,
-          category,
-          nodes: [{ id, name, type }],
-          resolvedValue: style.value,
-          appliedType: 'style',
-        });
-      }
-    });
-    return acc;
-  }, []);
- 
-  return selectionValues;
-}
- 
-export function transformPluginDataToMainNodeSelectionValues(pluginData: NodeManagerNode[]): SelectionValue[] {
-  const mainNodeSelectionValues = pluginData.reduce<SelectionValue[]>((acc, curr) => {
-    // Fist we add styles. And then variables. This way, styles will be override by the variables
-    const localStyles = getAppliedStylesFromNode(curr.node);
-    localStyles.forEach((style) => {
-      acc.push({
-        [style.type]: style.name,
-      });
-    });
- 
-    // Second we add variables. And then tokens. This way, variables will be override by the tokens
-    const localVariables = getAppliedVariablesFromNode(curr.node);
-    localVariables.forEach((style) => {
-      acc.push({
-        [style.type]: style.name,
-      });
-    });
-    acc.push(curr.tokens);
-    return acc;
-  }, []);
-  return mainNodeSelectionValues;
-}
- 
-export type SelectionContent = {
-  selectionValues?: SelectionGroup[]
-  mainNodeSelectionValues: SelectionValue[]
-  selectedNodes: number
-};
- 
-export async function sendPluginValues({ nodes, shouldSendSelectionValues }: { nodes: readonly NodeManagerNode[], shouldSendSelectionValues: boolean }): Promise<SelectionContent> {
-  // Big O(n ^ 2 * m) (n = amount of nodes, m = amount of applied tokens in the node)
-  let mainNodeSelectionValues: SelectionValue[] = [];
-  let selectionValues;
-  // TODO: Handle all selected nodes share the same properties
-  // TODO: Handle many selected and mixed (for Tokens tab)
-  if (Array.isArray(nodes) && nodes?.length > 0) {
-    if (shouldSendSelectionValues) selectionValues = transformPluginDataToSelectionValues(nodes);
-    mainNodeSelectionValues = transformPluginDataToMainNodeSelectionValues(nodes);
-  }
-  const selectedNodes = figma.currentPage.selection.length;
-  notifySelection({ selectionValues: selectionValues ?? [], mainNodeSelectionValues, selectedNodes });
-  return { selectionValues, mainNodeSelectionValues, selectedNodes };
-}
- 
-export async function removePluginData({ nodes, key, shouldRemoveValues = true }: { nodes: readonly (BaseNode | SceneNode)[], key?: Properties, shouldRemoveValues?: boolean }) {
-  return Promise.all(nodes.map(async (node) => {
-    if (key) {
-      tokensSharedDataHandler.set(node, key, '');
-      if (shouldRemoveValues) {
-        removeValuesFromNode(node, key);
-      }
-    } else {
-      Object.values(Properties).forEach((prop) => {
-        tokensSharedDataHandler.set(node, prop, '');
-        if (shouldRemoveValues) {
-          removeValuesFromNode(node, prop);
-        }
-      });
-    }
-  }));
-}
- 
-export async function setNonePluginData({ nodes, key }: { nodes: readonly (BaseNode | SceneNode)[], key: Properties }) {
-  return Promise.all(nodes.map(async (node) => {
-    tokensSharedDataHandler.set(node, key, 'none');
-    removeValuesFromNode(node, key);
-  }));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html deleted file mode 100644 index b7fb9a3ac..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/processTextStyleProperty.ts.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - Code coverage report for src/plugin/processTextStyleProperty.ts - - - - - - - - - -
-
-

All files / src/plugin processTextStyleProperty.ts

-
- -
- 0% - Statements - 0/23 -
- - -
- 0% - Branches - 0/28 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { StyleToCreateToken } from '@/types/payloads';
-import { SingleToken } from '@/types/tokens';
- 
-export function processTextStyleProperty(
-  style: TextStyle,
-  propertyKey: string,
-  localVariables: Variable[],
-  tokens: any,
-  tokenType: TokenTypes,
-  defaultNamePrefix: string,
-  idx: number,
-  valueTransformer?: (value: any) => string,
-): StyleToCreateToken {
-  // Check if the style has a bound variable for this property
-  const boundVariables = style.boundVariables as Record<string, { id: string; } | undefined>;
-  if (boundVariables?.[propertyKey]?.id) {
-    const variable = localVariables.find((v) => v.id === boundVariables[propertyKey]?.id);
-    if (variable && tokens) {
-      const normalizedName = variable.name.replace(/\//g, '.');
- 
-      // Look for an existing token with this name
-      const existingToken = Object.entries(tokens.values).reduce<SingleToken | null>((found, [_, tokenSet]) => {
-        if (found) return found;
-        const foundToken = Array.isArray(tokenSet) ? tokenSet.find((token) => typeof token === 'object'
-          && token !== null
-          && 'name' in token
-          && token.name === normalizedName) : null;
-        return foundToken || null;
-      }, null);
- 
-      // If an existing token is found, use it
-      if (existingToken) {
-        return {
-          name: existingToken.name,
-          value: typeof existingToken.value === 'string' ? existingToken.value : String(existingToken.value),
-          type: tokenType,
-        };
-      }
-    }
-  }
- 
-  // If no variable or existing token is found, create a new token
-  const styleValue = style[propertyKey as keyof TextStyle];
-  const transformedValue = valueTransformer ? valueTransformer(styleValue) : String(styleValue);
- 
-  let tokenName = defaultNamePrefix;
-  if (idx !== undefined) {
-    if (tokenType === TokenTypes.FONT_WEIGHTS) {
-      tokenName = `${defaultNamePrefix}-${idx}`;
-    } else if (tokenType !== TokenTypes.FONT_FAMILIES) {
-      tokenName = `${defaultNamePrefix}.${idx}`;
-    }
-  }
- 
-  return {
-    name: tokenName,
-    value: transformedValue,
-    type: tokenType,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html deleted file mode 100644 index 44c557d1f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullStyles.ts.html +++ /dev/null @@ -1,1210 +0,0 @@ - - - - - - Code coverage report for src/plugin/pullStyles.ts - - - - - - - - - -
-
-

All files / src/plugin pullStyles.ts

-
- -
- 0% - Statements - 0/153 -
- - -
- 0% - Branches - 0/50 -
- - -
- 0% - Functions - 0/44 -
- - -
- 0% - Lines - 0/135 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable no-param-reassign */
-import compact from 'just-compact';
-import { figmaRGBToHex } from '@figma-plugin/helpers';
-import { SingleColorToken } from '@/types/tokens';
-import { convertBoxShadowTypeFromFigma } from './figmaTransforms/boxShadow';
-import { convertFigmaGradientToString } from './figmaTransforms/gradients';
-import { convertFigmaToLetterSpacing } from './figmaTransforms/letterSpacing';
-import { convertFigmaToLineHeight } from './figmaTransforms/lineHeight';
-import { convertFigmaToTextCase } from './figmaTransforms/textCase';
-import { convertFigmaToTextDecoration } from './figmaTransforms/textDecoration';
-import { notifyStyleValues } from './notifiers';
-import { PullStyleOptions } from '@/types';
-import { slugify } from '@/utils/string';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenBoxshadowValue } from '@/types/values';
-import { StyleToCreateToken } from '@/types/payloads';
-import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
-import { getTokenData } from './node';
-import { processTextStyleProperty } from './processTextStyleProperty';
-import { findBoundVariable } from '@/utils/findBoundVariable';
- 
-export default async function pullStyles(styleTypes: PullStyleOptions): Promise<void> {
-  const tokens = await getTokenData();
-  // @TODO should be specifically typed according to their type
-  let colors: StyleToCreateToken[] = [];
-  let typography: StyleToCreateToken[] = [];
-  let effects: StyleToCreateToken[] = [];
-  let fontFamilies: StyleToCreateToken[] = [];
-  let lineHeights: StyleToCreateToken[] = [];
-  let fontWeights: StyleToCreateToken[] = [];
-  let fontSizes: StyleToCreateToken[] = [];
-  let letterSpacing: StyleToCreateToken[] = [];
-  let paragraphSpacing: StyleToCreateToken[] = [];
-  let paragraphIndent: any[] = [];
-  let textCase: StyleToCreateToken[] = [];
-  let textDecoration: StyleToCreateToken[] = [];
-  if (styleTypes.colorStyles) {
-    colors = compact(
-      figma
-        .getLocalPaintStyles()
-        .filter((style) => style.paints.length === 1)
-        .map((style) => {
-          const paint = style.paints[0];
-          let styleObject: SingleColorToken | null = {} as SingleColorToken;
-          if (style.description) {
-            styleObject.description = style.description;
-          }
-          if (paint.type === 'SOLID') {
-            const { r, g, b } = paint.color;
-            const a = paint.opacity;
-            styleObject.value = figmaRGBToHex({
-              r,
-              g,
-              b,
-              a,
-            });
-          } else if (paint.type === 'GRADIENT_LINEAR') {
-            styleObject.value = convertFigmaGradientToString(paint);
-          } else {
-            styleObject = null;
-          }
-          const normalizedName = style.name
-            .split('/')
-            .map((section) => section.trim())
-            .join('.');
- 
-          return styleObject
-            ? {
-              ...styleObject,
-              name: normalizedName,
-              type: TokenTypes.COLOR,
-            }
-            : null;
-        }),
-    );
-  }
- 
-  if (styleTypes.textStyles) {
-    const rawFontSizes: number[] = [];
-    const fontCombinations: FontName[] = [];
-    const rawLineHeights: LineHeight[] = [];
-    const rawParagraphSpacing: number[] = [];
-    const rawParagraphIndent: number[] = [];
-    const rawLetterSpacing: LetterSpacing[] = [];
-    const rawTextCase: TextCase[] = [];
-    const rawTextDecoration: TextDecoration[] = [];
- 
-    const figmaTextStyles = figma.getLocalTextStyles();
-    const localVariables = await getVariablesWithoutZombies();
- 
-    figmaTextStyles.forEach((style) => {
-      if (!rawFontSizes.includes(style.fontSize)) rawFontSizes.push(style.fontSize);
-      fontCombinations.push(style.fontName);
-      rawLineHeights.push(style.lineHeight);
-      if (!rawParagraphSpacing.includes(style.paragraphSpacing)) rawParagraphSpacing.push(style.paragraphSpacing);
-      if (!rawParagraphIndent.includes(style.paragraphIndent)) rawParagraphIndent.push(style.paragraphIndent);
-      rawLetterSpacing.push(style.letterSpacing);
-      if (!rawTextCase.includes(style.textCase)) rawTextCase.push(style.textCase);
-      if (!rawTextDecoration.includes(style.textDecoration)) rawTextDecoration.push(style.textDecoration);
-    });
- 
-    fontSizes = figmaTextStyles.map((style, idx) => processTextStyleProperty(
-      style,
-      'fontSize',
-      localVariables,
-      tokens,
-      TokenTypes.FONT_SIZES,
-      'fontSize',
-      idx,
-      (value) => value.toString(),
-    ));
- 
-    const uniqueFontCombinations = fontCombinations.filter(
-      (v, i, a) => a.findIndex((t) => t.family === v.family && t.style === v.style) === i,
-    );
- 
-    lineHeights = figmaTextStyles.map((style, idx) => processTextStyleProperty(
-      style,
-      'lineHeight',
-      localVariables,
-      tokens,
-      TokenTypes.LINE_HEIGHTS,
-      'lineHeights',
-      idx,
-      (value) => convertFigmaToLineHeight(value).toString(),
-    ));
- 
-    fontWeights = uniqueFontCombinations.map((font, idx) => {
-      const matchingStyle = figmaTextStyles.find((style) => style.fontName.family === font.family
- && style.fontName.style === font.style);
- 
-      if (!matchingStyle) {
-        return {
-          name: `fontWeights.${slugify(font.family)}-${idx}`,
-          value: font.style,
-          type: TokenTypes.FONT_WEIGHTS,
-        };
-      }
- 
-      return processTextStyleProperty(
-        matchingStyle,
-        'fontStyle',
-        localVariables,
-        tokens,
-        TokenTypes.FONT_WEIGHTS,
-        `fontWeights.${slugify(font.family)}`,
-        idx,
-        () => font.style,
-      );
-    });
- 
-    fontFamilies = [...new Set(uniqueFontCombinations.map((font) => font.family))].map((fontFamily, idx) => {
-      const matchingStyle = figmaTextStyles.find((style) => style.fontName.family === fontFamily);
- 
-      if (!matchingStyle) {
-        return {
-          name: `fontFamilies.${slugify(fontFamily)}`,
-          value: fontFamily,
-          type: TokenTypes.FONT_FAMILIES,
-        };
-      }
- 
-      return processTextStyleProperty(
-        matchingStyle,
-        'fontFamily',
-        localVariables,
-        tokens,
-        TokenTypes.FONT_FAMILIES,
-        `fontFamilies.${slugify(fontFamily)}`,
-        idx,
-        () => fontFamily,
-      );
-    });
- 
-    paragraphSpacing = figmaTextStyles.map((style, idx) => processTextStyleProperty(
-      style,
-      'paragraphSpacing',
-      localVariables,
-      tokens,
-      TokenTypes.PARAGRAPH_SPACING,
-      'paragraphSpacing',
-      idx,
-      (value) => value.toString(),
-    ));
- 
-    paragraphIndent = rawParagraphIndent
-      .sort((a, b) => a - b)
-      .map((size, idx) => ({
-        name: `paragraphIndent.${idx}`,
-        value: `${size.toString()}px`,
-        type: TokenTypes.DIMENSION,
-      }));
- 
-    letterSpacing = figmaTextStyles.map((style, idx) => processTextStyleProperty(
-      style,
-      'letterSpacing',
-      localVariables,
-      tokens,
-      TokenTypes.LETTER_SPACING,
-      'letterSpacing',
-      idx,
-      (value) => convertFigmaToLetterSpacing(value).toString(),
-    ));
- 
-    textCase = rawTextCase.map((value) => ({
-      name: `textCase.${convertFigmaToTextCase(value)}`,
-      value: convertFigmaToTextCase(value),
-      type: TokenTypes.TEXT_CASE,
-    }));
- 
-    textDecoration = rawTextDecoration.map((value) => ({
-      name: `textDecoration.${convertFigmaToTextDecoration(value)}`,
-      value: convertFigmaToTextDecoration(value),
-      type: TokenTypes.TEXT_DECORATION,
-    }));
- 
-    typography = figmaTextStyles.map((style) => {
-      const foundFamily = fontFamilies.find(
-        findBoundVariable(
-          style,
-          'fontFamily',
-          localVariables,
-          (el) => el.value === style.fontName.family,
-        ),
-      );
- 
-      const foundFontWeight = fontWeights.find(
-        findBoundVariable(
-          style,
-          'fontStyle',
-          localVariables,
-          (el) => el.name.includes(slugify(style.fontName.family)) && el.value === style.fontName?.style,
-        ),
-      );
- 
-      const foundLineHeight = lineHeights.find(
-        findBoundVariable(
-          style,
-          'lineHeight',
-          localVariables,
-          (el) => el.value === convertFigmaToLineHeight(style.lineHeight).toString(),
-        ),
-      );
-      const foundFontSize = fontSizes.find(
-        findBoundVariable(
-          style,
-          'fontSize',
-          localVariables,
-          (el) => el.value === style.fontSize.toString(),
-        ),
-      );
-      const foundLetterSpacing = letterSpacing.find(
-        findBoundVariable(
-          style,
-          'letterSpacing',
-          localVariables,
-          (el) => el.value === convertFigmaToLetterSpacing(style.letterSpacing).toString(),
-        ),
-      );
-      const foundParagraphSpacing = paragraphSpacing.find((el: StyleToCreateToken) => {
-        if (style.boundVariables?.paragraphSpacing?.id) {
-          const paragraphSpacingVar = localVariables.find((v) => v.id === style.boundVariables?.paragraphSpacing?.id);
-          if (paragraphSpacingVar) {
-            const normalizedName = paragraphSpacingVar.name.replace(/\//g, '.');
-            return el.name === normalizedName;
-          }
-        }
-        return el.value === style.paragraphSpacing.toString();
-      });
-      const foundParagraphIndent = paragraphIndent.find(
-        (el: StyleToCreateToken) => el.value === `${style.paragraphIndent.toString()}px`,
-      );
-      const foundTextCase = textCase.find(
-        (el: StyleToCreateToken) => el.value === convertFigmaToTextCase(style.textCase.toString()),
-      );
-      const foundTextDecoration = textDecoration.find(
-        (el: StyleToCreateToken) => el.value === convertFigmaToTextDecoration(style.textDecoration.toString()),
-      );
- 
-      const obj = {
-        fontFamily: `{${foundFamily?.name}}`,
-        fontWeight: `{${foundFontWeight?.name}}`,
-        lineHeight: `{${foundLineHeight?.name}}`,
-        fontSize: `{${foundFontSize?.name}}`,
-        letterSpacing: `{${foundLetterSpacing?.name}}`,
-        paragraphSpacing: `{${foundParagraphSpacing?.name}}`,
-        paragraphIndent: `{${foundParagraphIndent?.name}}`,
-        textCase: `{${foundTextCase?.name}}`,
-        textDecoration: `{${foundTextDecoration?.name}}`,
-      };
- 
-      const normalizedName = style.name
-        .split('/')
-        .map((section) => section.trim())
-        .join('.');
- 
-      const styleObject: StyleToCreateToken = { name: normalizedName, value: obj, type: TokenTypes.TYPOGRAPHY };
- 
-      if (style.description) {
-        styleObject.description = style.description;
-      }
- 
-      return styleObject;
-    });
-  }
- 
-  if (styleTypes.effectStyles) {
-    effects = compact(
-      figma
-        .getLocalEffectStyles()
-        .filter((style) => style.effects.every((effect) => ['DROP_SHADOW', 'INNER_SHADOW'].includes(effect.type)))
-        .map((style) => {
-          const styleEffects = style.effects as DropShadowEffect[];
-          const reversedEffects = [...styleEffects].reverse();
-          // convert paint to object containg x, y, spread, color
-          const shadows: TokenBoxshadowValue[] = reversedEffects.map((effect) => {
-            const effectObject: TokenBoxshadowValue = {} as TokenBoxshadowValue;
- 
-            effectObject.color = figmaRGBToHex(effect.color);
-            effectObject.type = convertBoxShadowTypeFromFigma(effect.type);
-            effectObject.x = effect.offset.x;
-            effectObject.y = effect.offset.y;
-            effectObject.blur = effect.radius;
-            effectObject.spread = effect.spread || 0;
- 
-            return effectObject;
-          });
- 
-          if (!shadows) return null;
- 
-          const normalizedName = style.name
-            .split('/')
-            .map((section) => section.trim())
-            .join('.');
- 
-          const styleObject: StyleToCreateToken = {
-            value: shadows.length > 1 ? shadows : shadows[0],
-            type: TokenTypes.BOX_SHADOW,
-            name: normalizedName,
-          };
-          if (style.description) {
-            styleObject.description = style.description;
-          }
- 
-          return styleObject;
-        }),
-    );
-  }
- 
-  const stylesObject = {
-    colors,
-    effects,
-    fontFamilies,
-    lineHeights,
-    fontWeights,
-    fontSizes,
-    letterSpacing,
-    paragraphSpacing,
-    typography,
-    textCase,
-    textDecoration,
-    paragraphIndent,
-  };
- 
- type ResultObject = Record<string, StyleToCreateToken[]>;
- 
- const returnedObject = Object.entries(stylesObject).reduce<ResultObject>((acc, [key, value]) => {
-   if (value.length > 0) {
-     acc[key] = value;
-   }
-   return acc;
- }, {});
- 
- notifyStyleValues(returnedObject);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html deleted file mode 100644 index c00d467c0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/pullVariables.ts.html +++ /dev/null @@ -1,925 +0,0 @@ - - - - - - Code coverage report for src/plugin/pullVariables.ts - - - - - - - - - -
-
-

All files / src/plugin pullVariables.ts

-
- -
- 84.29% - Statements - 102/121 -
- - -
- 71.68% - Branches - 81/113 -
- - -
- 93.33% - Functions - 14/15 -
- - -
- 84.34% - Lines - 97/115 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281  -  -  -  -  -  -  -  -  -  -  -7x -7x -7x -7x -7x -  -7x -7x -2x -2x -2x -2x -  -  -  -2x -  -  -  -7x -  -7x -  -  -  -  -  -  -7x -  -  -  -  -  -7x -42x -42x -7x -7x -7x -  -  -28x -  -7x -  -  -  -  -42x -12x -12x -6x -  -  -  -36x -36x -  -  -36x -36x -36x -  -6x -  -24x -4x -4x -2x -  -  -  -  -  -22x -  -  -  -22x -  -  -53x -22x -22x -  -  -  -  -  -  -  -  -6x -  -6x -  -24x -4x -4x -2x -  -  -  -53x -  -22x -  -  -  -22x -  -  -22x -  -  -  -  -  -  -  -6x -  -6x -  -24x -4x -4x -2x -  -  -  -53x -  -22x -  -  -  -22x -  -  -22x -  -  -  -  -  -  -  -6x -  -18x -  -72x -12x -12x -6x -  -  -  -66x -66x -  -  -66x -66x -24x -42x -12x -  -30x -  -  -159x -  -66x -36x -  -  -  -  -  -  -  -30x -  -  -  -  -  -  -  -  -18x -  -  -  -  -  -  -  -  -7x -  -  -  -  -  -  -  -  -  -7x -  -7x -1x -  -1x -  -  -  -  -  -  -1x -  -4x -  -  -  -  -  -  -24x -  -4x -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -7x -7x -35x -24x -  -35x -  -7x -  -  -  -  -  - 
import { figmaRGBToHex } from '@figma-plugin/helpers';
-import { notifyVariableValues } from './notifiers';
-import { PullVariablesOptions, ThemeObjectsList } from '@/types';
-import { VariableToCreateToken } from '@/types/payloads';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { getVariablesWithoutZombies } from './getVariablesWithoutZombies';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { normalizeVariableName } from '@/utils/normalizeVariableName';
- 
-export default async function pullVariables(options: PullVariablesOptions, themes: ThemeObjectsList, proUser: boolean): Promise<void> {
-  // @TODO should be specifically typed according to their type
-  const colors: VariableToCreateToken[] = [];
-  const booleans: VariableToCreateToken[] = [];
-  const strings: VariableToCreateToken[] = [];
-  const numbers: VariableToCreateToken[] = [];
-  const dimensions: VariableToCreateToken[] = [];
- 
-  let baseRem = 16;
-  if (options.useRem) {
-    const uiSettings = await figma.clientStorage.getAsync('uiSettings');
-    const settings = JSON.parse(await uiSettings);
-    Eif (settings?.baseFontSize) {
-      const baseFontSizeValue = typeof settings.baseFontSize === 'number'
-        ? settings.baseFontSize
-        : parseFloat(settings.baseFontSize);
- 
-      baseRem = !isNaN(baseFontSizeValue) ? Number(baseFontSizeValue) : 16;
-    }
-  }
- 
-  const localVariables = await getVariablesWithoutZombies();
- 
-  const collections = new Map<string, {
-    id: string,
-    name: string,
-    modes: { name: string, modeId: string }[]
-  }>();
- 
-  // Cache for collection lookups
-  const collectionsCache = new Map<string, {
-    id: string,
-    name: string,
-    modes: { name: string, modeId: string }[]
-  }>();
- 
-  for (const variable of localVariables) {
-    let collection = collectionsCache.get(variable.variableCollectionId);
-    if (!collection) {
-      const collectionData = await figma.variables.getVariableCollectionByIdAsync(variable.variableCollectionId);
-      Eif (collectionData) {
-        collection = {
-          id: collectionData.id,
-          name: collectionData.name,
-          modes: collectionData.modes.map((mode) => ({ name: mode.name, modeId: mode.modeId })),
-        };
-        collectionsCache.set(variable.variableCollectionId, collection);
-      }
-    }
- 
-    // Filter collections and modes based on selectedCollections option
-    if (options.selectedCollections && collection) {
-      const selectedCollection = options.selectedCollections[collection.id];
-      if (!selectedCollection) {
-        continue; // Skip this collection if it's not selected
-      }
-    }
-    
-    Eif (collection) {
-      collections.set(collection.name, collection);
-    }
- 
-    const variableName = normalizeVariableName(variable.name);
-    try {
-      switch (variable.resolvedType) {
-        case 'COLOR':
-          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
-            // Filter modes based on selectedCollections option
-            if (options.selectedCollections && collection) {
-              const selectedCollection = options.selectedCollections[collection.id];
-              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
-                return; // Skip this mode if it's not selected
-              }
-            }
- 
-            let tokenValue;
- 
-            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
-              const alias = figma.variables.getVariableById(value.id);
-              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
-            } else {
-              tokenValue = figmaRGBToHex(value as RGBA);
-            }
- 
-            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
-            Eif (tokenValue) {
-              colors.push({
-                name: variableName,
-                value: tokenValue as string,
-                type: TokenTypes.COLOR,
-                parent: `${collection?.name}/${modeName}`,
-                ...(variable.description ? { description: variable.description } : {}),
-              });
-            }
-          });
-          break;
-        case 'BOOLEAN':
-          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
-            // Filter modes based on selectedCollections option
-            if (options.selectedCollections && collection) {
-              const selectedCollection = options.selectedCollections[collection.id];
-              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
-                return; // Skip this mode if it's not selected
-              }
-            }
- 
-            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
-            let tokenValue;
-            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
-              const alias = figma.variables.getVariableById(value.id);
-              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
-            } else {
-              tokenValue = JSON.stringify(value);
-            }
- 
-            booleans.push({
-              name: variableName,
-              value: tokenValue,
-              type: TokenTypes.BOOLEAN,
-              parent: `${collection?.name}/${modeName}`,
-              ...(variable.description ? { description: variable.description } : {}),
-            });
-          });
-          break;
-        case 'STRING':
-          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
-            // Filter modes based on selectedCollections option
-            if (options.selectedCollections && collection) {
-              const selectedCollection = options.selectedCollections[collection.id];
-              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
-                return; // Skip this mode if it's not selected
-              }
-            }
- 
-            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
-            let tokenValue;
-            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
-              const alias = figma.variables.getVariableById(value.id);
-              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
-            } else {
-              tokenValue = value;
-            }
- 
-            strings.push({
-              name: variableName,
-              value: tokenValue as string,
-              type: TokenTypes.TEXT,
-              parent: `${collection?.name}/${modeName}`,
-              ...(variable.description ? { description: variable.description } : {}),
-            });
-          });
-          break;
-        case 'FLOAT':
-          Object.entries(variable.valuesByMode).forEach(([mode, value]) => {
-            // Filter modes based on selectedCollections option
-            if (options.selectedCollections && collection) {
-              const selectedCollection = options.selectedCollections[collection.id];
-              if (selectedCollection && !selectedCollection.selectedModes.includes(mode)) {
-                return; // Skip this mode if it's not selected
-              }
-            }
- 
-            let tokenValue: string | number = value as number;
-            Iif (typeof value === 'object' && 'type' in value && value.type === 'VARIABLE_ALIAS') {
-              const alias = figma.variables.getVariableById(value.id);
-              tokenValue = `{${alias?.name.replace(/\//g, '.')}}`;
-            } else Eif (typeof value === 'number') {
-              if (options.useRem) {
-                tokenValue = `${Number((Number(tokenValue) / parseFloat(String(baseRem))).toFixed(3))}rem`;
-              } else if (options.useDimensions) {
-                tokenValue = `${Number(tokenValue.toFixed(3))}px`;
-              } else {
-                tokenValue = Number(tokenValue.toFixed(3));
-              }
-            }
-            const modeName = collection?.modes.find((m) => m.modeId === mode)?.name;
- 
-            if (options.useDimensions || options.useRem) {
-              dimensions.push({
-                name: variableName,
-                value: tokenValue as string,
-                type: TokenTypes.DIMENSION,
-                parent: `${collection?.name}/${modeName}`,
-                ...(variable.description ? { description: variable.description } : {}),
-              });
-            } else {
-              numbers.push({
-                name: variableName,
-                value: tokenValue as string,
-                type: TokenTypes.NUMBER,
-                parent: `${collection?.name}/${modeName}`,
-                ...(variable.description ? { description: variable.description } : {}),
-              });
-            }
-          });
-          break;
-        default:
-          break;
-      }
-    } catch (error) {
-      console.error('Error while processing variable:', variableName, error);
-    }
-  }
- 
-  const stylesObject = {
-    colors,
-    booleans,
-    strings,
-    numbers,
-    dimensions,
-  };
- 
-  type ResultObject = Record<string, VariableToCreateToken[]>;
- 
-  const themesToCreate: ThemeObjectsList = [];
-  // Process themes if pro user
-  if (proUser) {
-    await Promise.all(Array.from(collections.values()).map(async (collection) => {
-      // Filter collections based on selectedCollections option
-      Iif (options.selectedCollections) {
-        const selectedCollection = options.selectedCollections[collection.id];
-        if (!selectedCollection) {
-          return; // Skip this collection if it's not selected
-        }
-      }
- 
-      await Promise.all(collection.modes.map(async (mode) => {
-        // Filter modes based on selectedCollections option
-        Iif (options.selectedCollections) {
-          const selectedCollection = options.selectedCollections[collection.id];
-          if (selectedCollection && !selectedCollection.selectedModes.includes(mode.modeId)) {
-            return; // Skip this mode if it's not selected
-          }
-        }
- 
-        const collectionVariables = localVariables.filter((v) => v.variableCollectionId === collection.id);
- 
-        const variableReferences = collectionVariables.reduce((acc, variable) => ({
-          ...acc,
-          [normalizeVariableName(variable.name)]: variable.key,
-        }), {});
- 
-        themesToCreate.push({
-          id: `${collection.name.toLowerCase()}-${mode.name.toLowerCase()}`,
-          name: mode.name,
-          group: collection.name,
-          selectedTokenSets: {
-            [`${collection.name}/${mode.name}`]: TokenSetStatus.ENABLED,
-          },
-          $figmaStyleReferences: {},
-          $figmaVariableReferences: variableReferences,
-          $figmaModeId: mode.modeId,
-          $figmaCollectionId: collection.id,
-        });
-      }));
-    }));
-  }
- 
-  try {
-    const processedTokens = Object.entries(stylesObject).reduce<ResultObject>((acc, [key, value]) => {
-      if (value.length > 0) {
-        acc[key] = value;
-      }
-      return acc;
-    }, {});
-    notifyVariableValues(processedTokens, themesToCreate);
-  } catch (error) {
-    console.error('Error processing results:', error);
-    notifyVariableValues({});
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html deleted file mode 100644 index f930056b9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removePluginDataByMap.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/plugin/removePluginDataByMap.ts - - - - - - - - - -
-
-

All files / src/plugin removePluginDataByMap.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import { postToUI } from './notifiers';
-import removeValuesFromNode from './removeValuesFromNode';
-import { tokensSharedDataHandler } from './SharedDataHandler';
-import { defaultWorker } from './Worker';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { ProgressTracker } from './ProgressTracker';
- 
-export async function removePluginDataByMap({ nodeKeyMap }: { nodeKeyMap: readonly ({ node: BaseNode | SceneNode; key: Properties; })[]; }) {
-  postToUI({
-    type: MessageFromPluginTypes.START_JOB,
-    job: {
-      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-      timePerTask: 2,
-      completedTasks: 0,
-      totalTasks: nodeKeyMap.length,
-    },
-  });
- 
-  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
-  const promises: Set<Promise<void>> = new Set();
-  nodeKeyMap.forEach(async ({ node, key }) => {
-    promises.add(defaultWorker.schedule(async () => {
-      node.setPluginData(key, '');
-      tokensSharedDataHandler.set(node, key, '');
-      removeValuesFromNode(node, key);
- 
-      tracker.next();
-      tracker.reportIfNecessary();
-    }));
-  });
-  await Promise.all(promises);
-  postToUI({
-    type: MessageFromPluginTypes.COMPLETE_JOB,
-    name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html deleted file mode 100644 index 1f141dda9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeStylesFromPlugin.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/plugin/removeStylesFromPlugin.ts - - - - - - - - - -
-
-

All files / src/plugin removeStylesFromPlugin.ts

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { DeleteTokenPayload } from '@/types/payloads';
-import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
-import { isMatchingStyle } from '@/utils/is/isMatchingStyle';
- 
-export default async function removeStylesFromPlugin(token: DeleteTokenPayload) {
-  const effectStyles = figma.getLocalEffectStyles();
-  const paintStyles = figma.getLocalPaintStyles();
-  const textStyles = figma.getLocalTextStyles();
-  const allStyles = [...effectStyles, ...paintStyles, ...textStyles];
- 
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
-  const themesToContainToken = themeInfo.themes
-    .filter((theme) => Object.entries(theme.selectedTokenSets).some(
-      ([tokenSet, value]) => tokenSet === token.parent && value === TokenSetStatus.ENABLED,
-    ))
-    .map((filteredTheme) => filteredTheme.name);
-  const pathNames = themesToContainToken.map((theme) => convertTokenNameToPath(token.path, theme));
- 
-  const allStyleIds = allStyles
-    .filter((style) => pathNames.some((pathName) => isMatchingStyle(pathName, style)))
-    .map((filteredStyle) => {
-      filteredStyle.remove();
-      return filteredStyle.id;
-    });
-  return allStyleIds;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html deleted file mode 100644 index f5ac42747..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/removeValuesFromNode.ts.html +++ /dev/null @@ -1,832 +0,0 @@ - - - - - - Code coverage report for src/plugin/removeValuesFromNode.ts - - - - - - - - - -
-
-

All files / src/plugin removeValuesFromNode.ts

-
- -
- 0% - Statements - 0/147 -
- - -
- 0% - Branches - 0/206 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/144 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import { resetNodeRotation } from '@/plugin/rotateNode';
- 
-function removeStrokeIfEmptySides(node) {
-  const sides = {
-    left: node.strokeLeftWeight, right: node.strokeRightWeight, top: node.strokeTopWeight, bottom: node.strokeBottomWeight,
-  };
- 
-  if (!Object.values(sides).some((value) => value > 0)) {
-    node.strokes = [];
-  }
-}
- 
-export default function removeValuesFromNode(node: BaseNode, prop: Properties) {
-  // BORDER RADIUS
-  switch (prop) {
-    case 'width':
-      if ('resize' in node) {
-        const oldWidth = node.width;
-        const oldHeight = node.height;
-        node.resize(0.1, oldHeight);
-        node.resize(oldWidth, oldHeight);
-      }
-      break;
-    case 'height':
-      if ('resize' in node) {
-        const oldWidth = node.width;
-        const oldHeight = node.height;
-        node.resize(oldWidth, 0.1);
-        node.resize(oldWidth, oldHeight);
-      }
-      break;
-    case 'borderRadius':
-      if (
-        'cornerRadius' in node
-        && typeof node.cornerRadius !== 'undefined'
-        && node.type !== 'SHAPE_WITH_TEXT'
-        && node.type !== 'CONNECTOR'
-      ) {
-        node.cornerRadius = 0;
-      }
-      break;
-    case 'borderRadiusTopLeft':
-      if ('topLeftRadius' in node && typeof node.topLeftRadius !== 'undefined') {
-        node.topLeftRadius = 0;
-      }
-      break;
-    case 'borderRadiusTopRight':
-      if ('topRightRadius' in node && typeof node.topRightRadius !== 'undefined') {
-        node.topRightRadius = 0;
-      }
-      break;
-    case 'borderRadiusBottomRight':
-      if ('bottomRightRadius' in node && typeof node.bottomRightRadius !== 'undefined') {
-        node.bottomRightRadius = 0;
-      }
-      break;
-    case 'borderRadiusBottomLeft':
-      if ('bottomLeftRadius' in node && typeof node.bottomLeftRadius !== 'undefined') {
-        node.bottomLeftRadius = 0;
-      }
-      break;
-    case 'borderWidth':
-      if ('strokeWeight' in node && typeof node.strokeWeight !== 'undefined') {
-        node.strokeWeight = 0;
-      }
-      break;
-    case 'borderWidthTop':
-      if ('strokeTopWeight' in node && typeof node.strokeWeight !== 'undefined') {
-        node.strokeWeight = 0;
-      }
-      break;
-    case 'borderWidthRight':
-      if ('strokeRightWeight' in node && typeof node.strokeWeight !== 'undefined') {
-        node.strokeWeight = 0;
-      }
-      break;
-    case 'borderWidthBottom':
-      if ('strokeBottomWeight' in node && typeof node.strokeWeight !== 'undefined') {
-        node.strokeWeight = 0;
-      }
-      break;
-    case 'borderWidthLeft':
-      if ('strokeLeftWeight' in node && typeof node.strokeWeight !== 'undefined') {
-        node.strokeWeight = 0;
-      }
-      break;
-    case 'boxShadow':
-      if ('effects' in node && typeof node.effects !== 'undefined') {
-        node.effects = node.effects.filter((effect) => effect.type !== 'DROP_SHADOW');
-      }
-      break;
-    case 'backgroundBlur':
-      if ('effects' in node && typeof node.effects !== 'undefined') {
-        node.effects = node.effects.filter((effect) => effect.type !== 'BACKGROUND_BLUR');
-      }
-      break;
-    case 'rotation':
-      if ('relativeTransform' in node && typeof node.relativeTransform !== 'undefined') {
-        resetNodeRotation(node);
-      }
-      break;
-    case 'opacity':
-      if (
-        'opacity' in node
-        && typeof node.opacity !== 'undefined'
-        && node.type !== 'STICKY'
-        && node.type !== 'SHAPE_WITH_TEXT'
-        && node.type !== 'CODE_BLOCK'
-        && node.type !== 'CONNECTOR'
-      ) {
-        node.opacity = 1;
-      }
-      break;
-    case 'fill':
-      if ('fills' in node && typeof node.fills !== 'undefined') {
-        node.fills = [];
-      }
-      break;
-    case 'borderColor':
-      if ('strokes' in node && typeof node.strokes !== 'undefined') {
-        node.strokes = [];
-      }
-      break;
-    case 'spacing':
-      if ('paddingLeft' in node && typeof node.paddingLeft !== 'undefined') {
-        node.paddingLeft = 0;
-        node.paddingRight = 0;
-        node.paddingTop = 0;
-        node.paddingBottom = 0;
-        node.itemSpacing = 0;
-      }
-      break;
-    case 'paddingTop':
-      if ('paddingTop' in node && typeof node.paddingTop !== 'undefined') {
-        node.paddingTop = 0;
-      }
-      break;
-    case 'paddingRight':
-      if ('paddingRight' in node && typeof node.paddingRight !== 'undefined') {
-        node.paddingRight = 0;
-      }
-      break;
-    case 'paddingBottom':
-      if ('paddingBottom' in node && typeof node.paddingBottom !== 'undefined') {
-        node.paddingBottom = 0;
-      }
-      break;
-    case 'paddingLeft':
-      if ('paddingLeft' in node && typeof node.paddingLeft !== 'undefined') {
-        node.paddingLeft = 0;
-      }
-      break;
-    case 'horizontalPadding':
-      if ('paddingLeft' in node && typeof node.paddingLeft !== 'undefined') {
-        node.paddingLeft = 0;
-        node.paddingRight = 0;
-      }
-      break;
-    case 'verticalPadding':
-      if ('paddingTop' in node && typeof node.paddingTop !== 'undefined') {
-        node.paddingTop = 0;
-        node.paddingBottom = 0;
-      }
-      break;
-    case 'itemSpacing':
-      if ('itemSpacing' in node && typeof node.itemSpacing !== 'undefined') {
-        node.itemSpacing = 0;
-      }
-      break;
-    case 'asset':
-      if ('fills' in node && typeof node.fills !== 'undefined') {
-        node.fills = [];
-      }
-      break;
-    case 'border':
-      if ('strokes' in node && typeof node.strokes !== 'undefined') {
-        node.strokes = [];
-      }
-      if ('strokeWeight' in node && typeof node.strokeWeight !== 'undefined') {
-        node.strokeWeight = 0;
-      }
-      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
-        node.dashPattern = [0, 0];
-      }
-      break;
-    case 'borderTop':
-      if ('strokeTopWeight' in node && typeof node.strokeTopWeight !== 'undefined') {
-        node.strokeTopWeight = 0;
-        removeStrokeIfEmptySides(node);
-      }
-      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
-        node.dashPattern = [0, 0];
-      }
-      break;
-    case 'borderRight':
-      if ('strokeRightWeight' in node && typeof node.strokeRightWeight !== 'undefined') {
-        node.strokeRightWeight = 0;
-        removeStrokeIfEmptySides(node);
-      }
-      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
-        node.dashPattern = [0, 0];
-      }
-      break;
-    case 'borderBottom':
-      if ('strokeBottomWeight' in node && typeof node.strokeBottomWeight !== 'undefined') {
-        node.strokeBottomWeight = 0;
-        removeStrokeIfEmptySides(node);
-      }
-      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
-        node.dashPattern = [0, 0];
-      }
-      break;
-    case 'borderLeft':
-      if ('strokeLeftWeight' in node && typeof node.strokeLeftWeight !== 'undefined') {
-        node.strokeLeftWeight = 0;
-        removeStrokeIfEmptySides(node);
-      }
-      if ('dashPattern' in node && typeof node.dashPattern !== 'undefined') {
-        node.dashPattern = [0, 0];
-      }
-      break;
-    case 'visibility':
-      if ('visible' in node && typeof node.visible !== 'undefined') {
-        node.visible = true;
-      }
-      break;
-    case 'textDecoration':
-      if ('textDecoration' in node && typeof node.textDecoration !== 'undefined') {
-        node.textDecoration = 'NONE';
-      }
-      break;
-    case 'dimension':
-      if ('itemSpacing' in node) {
-        node.itemSpacing = 0;
-      }
-      if ('resize' in node) {
-        if ('resize' in node) {
-          const oldWidth = node.width;
-          const oldHeight = node.height;
-          node.resize(0.1, 0.1);
-          node.resize(oldWidth, oldHeight);
-        }
-      }
-      break;
-    default:
-      break;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html deleted file mode 100644 index 8f4111a86..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameStylesFromPlugin.ts.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - Code coverage report for src/plugin/renameStylesFromPlugin.ts - - - - - - - - - -
-
-

All files / src/plugin renameStylesFromPlugin.ts

-
- -
- 0% - Statements - 0/28 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { TokensToRenamePayload } from '@/app/store/useTokens';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
-import { isMatchingStyle } from '@/utils/is';
- 
-export default async function renameStylesFromPlugin(
-  tokensToRename: TokensToRenamePayload[],
-  parent: string,
-) {
-  const [effectStyles, paintStyles, textStyles] = await Promise.all([
-    figma.getLocalEffectStylesAsync(),
-    figma.getLocalPaintStylesAsync(),
-    figma.getLocalTextStylesAsync(),
-  ]);
-  const allStyles = [...effectStyles, ...paintStyles, ...textStyles];
- 
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
- 
-  const themesToContainToken = themeInfo.themes.filter((theme) => Object.entries(theme.selectedTokenSets).some(([tokenSet, value]) => tokenSet === parent && value === TokenSetStatus.ENABLED)).map((filteredTheme) => filteredTheme.name);
-  let oldPathNames: string[] = [];
-  let newPathNames: string[] = [];
- 
-  // TODO: This behavior feels so weird. We should refactor this to be more readable, also this can lead to unexpected side-effects.
-  tokensToRename.forEach((token) => {
-    oldPathNames = oldPathNames
-      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.oldName, theme)))
-      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.oldName, theme, 1)))
-      .concat(themesToContainToken.map(() => convertTokenNameToPath(token.oldName, null, 1)))
-      .concat(convertTokenNameToPath(token.oldName));
-    newPathNames = newPathNames
-      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.newName, theme)))
-      .concat(themesToContainToken.map((theme) => convertTokenNameToPath(token.newName, theme, 1)))
-      .concat(themesToContainToken.map(() => convertTokenNameToPath(token.newName, null, 1)))
-      .concat(convertTokenNameToPath(token.newName));
-  });
-  const allStyleIds = allStyles.filter((style) => oldPathNames.some((oldPathName) => {
-    if (isMatchingStyle(oldPathName, style)) {
-      const index = oldPathNames.findIndex((item) => item === oldPathName);
-      style.name = newPathNames[index];
-      return true;
-    }
-    return false;
-  })).map((filteredStyle) => filteredStyle.id);
- 
-  return allStyleIds;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html deleted file mode 100644 index c1f2aa378..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/renameVariablesFromPlugin.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/plugin/renameVariablesFromPlugin.ts - - - - - - - - - -
-
-

All files / src/plugin renameVariablesFromPlugin.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { TokenToRename } from '@/types/tokens';
-import { getVariablesMap } from '@/utils/getVariablesMap';
- 
-export default async function renameVariablesFromPlugin(tokens: TokenToRename[]) {
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
-  const variableMap = await getVariablesMap();
-  const renamedVariableToken = tokens.map((token) => {
-    const renamedVariableIds: string[] = [];
-    const originalVariableIdsToRename = themeInfo.themes.reduce<string[]>((acc, theme) => {
-      if (theme.$figmaVariableReferences?.[token.newName]) {
-        acc.push(theme.$figmaVariableReferences?.[token.newName]);
-      }
-      return acc;
-    }, []);
-    originalVariableIdsToRename.forEach((variableId) => {
-      const variable = variableMap[variableId];
-      if (variable) {
-        variable.name = token.newName.split('.').join('/');
-        renamedVariableIds.push(variable.key);
-      }
-    });
-    return {
-      ...token,
-      variableIds: renamedVariableIds,
-    };
-  });
- 
-  return renamedVariableToken;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html deleted file mode 100644 index 7b9a0422d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/rotateNode.ts.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - Code coverage report for src/plugin/rotateNode.ts - - - - - - - - - -
-
-

All files / src/plugin rotateNode.ts

-
- -
- 0% - Statements - 0/34 -
- - -
- 0% - Branches - 0/20 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/34 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export const getCenterOfNode = (node: SceneNode) => {
-  if (!node.absoluteBoundingBox) {
-    return undefined;
-  }
-  const {
-    x, y, width, height,
-  } = node.absoluteBoundingBox;
- 
-  // Get x,y of parent
-  let px = 0;
-  let py = 0;
- 
-  if (node.parent && 'absoluteBoundingBox' in node.parent && node.parent.absoluteBoundingBox !== null) {
-    px = node.parent.absoluteBoundingBox.x;
-    py = node.parent.absoluteBoundingBox.y;
-  }
-  // Get diff of parent and child
-  const dx = x - px;
-  const dy = y - py;
- 
-  const cx = dx + width / 2;
-  const cy = dy + height / 2;
- 
-  return { x: cx, y: cy };
-};
- 
-export const resetNodeRotation = (node: SceneNode) => {
-  const center = getCenterOfNode(node);
-  if (center && 'rotation' in node && node.absoluteBoundingBox) {
-    node.rotation = 0;
-    const { width, height } = node.absoluteBoundingBox;
-    node.x = center.x - width / 2;
-    node.y = center.y - height / 2;
-  }
-};
- 
-export const rotateNode = (node: SceneNode, angle: number) => {
-  if (typeof angle === 'string') {
-    angle = parseInt(angle, 10);
-  }
-  if ('rotation' in node && node.absoluteBoundingBox) {
-    const theta = angle * (Math.PI / 180);
-    resetNodeRotation(node);
-    const center = getCenterOfNode(node);
- 
-    node.rotation = angle;
- 
-    if (center) {
-      const newx = Math.cos(theta) * node.x + node.y * Math.sin(theta) - center.y * Math.sin(theta) - center.x * Math.cos(theta) + center.x;
- 
-      const newy = -Math.sin(theta) * node.x + center.x * Math.sin(theta) + node.y * Math.cos(theta) - center.y * Math.cos(theta) + center.y;
- 
-      node.x = newx;
-      node.y = newy;
-    }
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html deleted file mode 100644 index 696bcd389..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendDocumentChange.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/plugin/sendDocumentChange.ts - - - - - - - - - -
-
-

All files / src/plugin sendDocumentChange.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { sendSelectionChange } from './sendSelectionChange';
- 
-export async function sendDocumentChange(event: DocumentChangeEvent) {
-  if (event.documentChanges.length === 1 && event.documentChanges[0].type === 'PROPERTY_CHANGE' && event.documentChanges[0].id === '0:0') {
-    return;
-  }
-  const changeNodeIds = event.documentChanges.filter((change) => change.origin === 'REMOTE' && change.type === 'PROPERTY_CHANGE').map((change) => change.id);
-  if (!changeNodeIds.length) {
-    return;
-  }
-  await sendSelectionChange();
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html deleted file mode 100644 index 4d361437a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/sendSelectionChange.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/plugin/sendSelectionChange.ts - - - - - - - - - -
-
-

All files / src/plugin sendSelectionChange.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import store from './store';
-import { defaultNodeManager } from './NodeManager';
-import { SelectionContent, sendPluginValues } from './pluginData';
-import { notifyNoSelection } from './notifiers';
-import { UpdateMode } from '@/constants/UpdateMode';
- 
-export async function sendSelectionChange(): Promise<SelectionContent | null> {
-  // Big O (sendPluginValues)
-  const nodes = store.inspectDeep && store.shouldSendSelectionValues
-    ? (
-      await defaultNodeManager.findBaseNodesWithData({ updateMode: UpdateMode.SELECTION, nodesWithoutPluginData: true })
-    )
-    : await defaultNodeManager.findBaseNodesWithData({ nodes: figma.currentPage.selection, nodesWithoutPluginData: false });
-  const currentSelectionLength = figma.currentPage.selection.length;
- 
-  if (!currentSelectionLength) {
-    notifyNoSelection();
-    return null;
-  }
-  return sendPluginValues({ nodes, shouldSendSelectionValues: store.shouldSendSelectionValues });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html deleted file mode 100644 index 1365a84ae..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBackgroundBlurOnTarget.ts.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/plugin/setBackgroundBlurOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setBackgroundBlurOnTarget.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleDimensionToken } from '@/types/tokens';
-import { transformValue } from './helpers';
- 
-export default function setBackgroundBlurOnTarget(
-  target: BaseNode | EffectStyle,
-  token: Pick<SingleDimensionToken, 'value'>,
-  baseFontSize: string,
-) {
-  try {
-    if ('effects' in target) {
-      const existingEffectIndex = target.effects.findIndex((effect) => effect.type === 'BACKGROUND_BLUR');
-      let newEffects = [...target.effects];
-      const blurEffect: BlurEffect = {
-        type: 'BACKGROUND_BLUR',
-        visible: true,
-        radius: transformValue(String(token.value), 'backgroundBlur', baseFontSize),
-      };
- 
-      if (existingEffectIndex > -1) {
-        newEffects = Object.assign([], target.effects, { [existingEffectIndex]: blurEffect });
-      } else {
-        newEffects.push(blurEffect);
-      }
-      target.effects = newEffects;
-    }
-  } catch (e) {
-    console.error('Error setting color', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html deleted file mode 100644 index cb75e70a7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBooleanValuesOnVariable.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/plugin/setBooleanValuesOnVariable.ts - - - - - - - - - -
-
-

All files / src/plugin setBooleanValuesOnVariable.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
- 
-export default function setBooleanValuesOnVariable(variable: Variable, mode: string, value: string) {
-  try {
-    const existingVariableValue = variable.valuesByMode[mode];
-    if (existingVariableValue === undefined || !(typeof existingVariableValue === 'boolean' || isVariableWithAliasReference(existingVariableValue))) return;
- 
-    const newValue = value === 'true';
- 
-    if (existingVariableValue !== newValue) {
-      variable.setValueForMode(mode, newValue);
-    }
-  } catch (e) {
-    console.error('Error setting booleanVariable', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html deleted file mode 100644 index 24d0bdc76..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderColorValuesOnTarget.ts.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for src/plugin/setBorderColorValuesOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setBorderColorValuesOnTarget.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/19 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { trySetStyleId } from '@/utils/trySetStyleId';
-import { paintStyleMatchesColorToken } from './figmaUtils/styleMatchers';
-import { clearStyleIdBackup, getNonLocalStyle, setStyleIdBackup } from './figmaUtils/styleUtils';
-import setColorValuesOnTarget from './setColorValuesOnTarget';
-import { ColorPaintType, tryApplyColorVariableId } from '@/utils/tryApplyColorVariableId';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
- 
-type Props = {
-  data: string;
-  value: string;
-  node: BaseNode;
-};
- 
-export async function setBorderColorValuesOnTarget({
-  data, value, node,
-}: Props) {
-  if ('strokes' in node) {
-    if (!(await tryApplyColorVariableId(node, data, ColorPaintType.STROKES))) {
-      const resolvedToken = defaultTokenValueRetriever.get(data);
-      let matchingStyleId = resolvedToken?.styleId;
-      if (resolvedToken && !matchingStyleId) {
-        // Local style not found - look for matching non-local style:
-        const styleIdBackupKey = 'strokeStyleId_original';
-        const nonLocalStyle = getNonLocalStyle(node, styleIdBackupKey, 'strokes');
-        if (nonLocalStyle) {
-          if (paintStyleMatchesColorToken(nonLocalStyle, value)) {
-            // Non-local style matches - use this and clear style id backup:
-            matchingStyleId = nonLocalStyle.id;
-            clearStyleIdBackup(node, styleIdBackupKey);
-          } else if (resolvedToken?.adjustedTokenName === nonLocalStyle.name) {
-            // Non-local style does NOT match, but style name and token path does,
-            // so we assume selected token value is an override (e.g. dark theme)
-            // Now backup up style id before overwriting with raw token value, so we
-            // can re-link the non-local style, when the token value matches again:
-            setStyleIdBackup(node, styleIdBackupKey, nonLocalStyle.id);
-          }
-        }
-      }
- 
-      if (!matchingStyleId || (matchingStyleId && !(await trySetStyleId(node, 'stroke', matchingStyleId)))) {
-        setColorValuesOnTarget({
-          target: node, token: data, key: 'strokes', givenValue: value,
-        });
-      }
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html deleted file mode 100644 index 0738ffd57..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setBorderValuesOnTarget.ts.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - Code coverage report for src/plugin/setBorderValuesOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setBorderValuesOnTarget.ts

-
- -
- 0% - Statements - 0/23 -
- - -
- 0% - Branches - 0/43 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable no-param-reassign */
-import { SingleBorderToken } from '@/types/tokens';
-import { isPrimitiveValue } from '@/utils/is';
-import { transformValue } from './helpers';
-import getFigmaDashPattern from './getFigmaDashPattern';
-import { tryApplyVariableId } from '@/utils/tryApplyVariableId';
- 
-export default async function setBorderValuesOnTarget(
-  target: BaseNode,
-  token: Pick<SingleBorderToken, 'value'>,
-  baseFontSize: string,
-  side?: 'top' | 'right' | 'bottom' | 'left',
-) {
-  const { value } = token;
-  const { width, style } = value;
-  try {
-    if (
-      'strokeWeight' in target
-      && typeof width !== 'undefined'
-      && isPrimitiveValue(width)
-      && !side
-      && !(await tryApplyVariableId(target, 'strokeWeight', width))
-    ) {
-      target.strokeWeight = transformValue(String(width), 'borderWidth', baseFontSize);
-    }
-    if (
-      'strokeTopWeight' in target
-      && typeof width !== 'undefined'
-      && isPrimitiveValue(width)
-      && side === 'top'
-      && !(await tryApplyVariableId(target, 'strokeTopWeight', width))
-    ) {
-      target.strokeTopWeight = transformValue(String(width), 'borderWidth', baseFontSize);
-    }
-    if (
-      'strokeRightWeight' in target
-      && typeof width !== 'undefined'
-      && isPrimitiveValue(width)
-      && side === 'right'
-      && !(await tryApplyVariableId(target, 'strokeRightWeight', width))
-    ) {
-      target.strokeRightWeight = transformValue(String(width), 'borderWidth', baseFontSize);
-    }
-    if (
-      'strokeBottomWeight' in target
-      && typeof width !== 'undefined'
-      && isPrimitiveValue(width)
-      && side === 'bottom'
-      && !(await tryApplyVariableId(target, 'strokeBottomWeight', width))
-    ) {
-      target.strokeBottomWeight = transformValue(String(width), 'borderWidth', baseFontSize);
-    }
-    if (
-      'strokeLeftWeight' in target
-      && typeof width !== 'undefined'
-      && isPrimitiveValue(width)
-      && side === 'left'
-      && !(await tryApplyVariableId(target, 'strokeLeftWeight', width))
-    ) {
-      target.strokeLeftWeight = transformValue(String(width), 'borderWidth', baseFontSize);
-    }
- 
-    if (typeof style !== 'undefined' && typeof style === 'string' && 'dashPattern' in target) {
-      let newDashPattern = [0, 0];
-      switch (style) {
-        case 'solid':
-          newDashPattern = [0, 0];
-          break;
-        case 'dashed':
-          newDashPattern = getFigmaDashPattern(transformValue(String(width), 'borderWidth', baseFontSize));
-          break;
-        default:
-          break;
-      }
-      target.dashPattern = newDashPattern;
-    }
-  } catch (e) {
-    console.log('error setting border token', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html deleted file mode 100644 index cd5e0c42f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnTarget.ts.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - Code coverage report for src/plugin/setColorValuesOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setColorValuesOnTarget.ts

-
- -
- 0% - Statements - 0/65 -
- - -
- 0% - Branches - 0/84 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/60 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isPaintEqual } from '@/utils/isPaintEqual';
-import { convertToFigmaColor } from './figmaTransforms/colors';
-import { convertStringToFigmaGradient } from './figmaTransforms/gradients';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
-import { ColorPaintType, tryApplyColorVariableId } from '@/utils/tryApplyColorVariableId';
-import { unbindVariableFromTarget } from './unbindVariableFromTarget';
-import { getReferenceTokensFromGradient } from '@/utils/color';
-import { SingleToken } from '@/types/tokens';
- 
-function hasModifier(token: SingleToken) {
-  return token.$extensions?.['studio.tokens']?.modify;
-}
- 
-const applyPaintIfNotEqual = (key, existingPaint, newPaint, target) => {
-  if (!existingPaint || !isPaintEqual(newPaint, existingPaint)) {
-    if (key === 'paints' && 'paints' in target) target.paints = [newPaint];
-    if (key === 'fills' && 'fills' in target) target.fills = [newPaint];
-    if (key === 'strokes' && 'strokes' in target) target.strokes = [newPaint];
-  }
-};
- 
-const getLinearGradientPaint = async (fallbackValue, token) => {
-  const gradientString = typeof fallbackValue === 'object' && fallbackValue.fill
-    ? fallbackValue.fill
-    : fallbackValue;
-  const { gradientStops, gradientTransform } = convertStringToFigmaGradient(gradientString);
- 
-  const rawValue = defaultTokenValueRetriever.get(token)?.rawValue;
-  let gradientStopsWithReferences = gradientStops;
- 
-  const { createStylesWithVariableReferences } = defaultTokenValueRetriever;
-  if (createStylesWithVariableReferences) {
-    const referenceTokens = getReferenceTokensFromGradient(rawValue);
- 
-    if (gradientStops && referenceTokens.length > 0) {
-      gradientStopsWithReferences = await Promise.all(gradientStops.map(async (stop, index) => {
-        const referenceVariableExists = await defaultTokenValueRetriever.getVariableReference(referenceTokens[index]);
-        if (referenceVariableExists) {
-          return {
-            ...stop,
-            boundVariables: {
-              color: {
-                type: 'VARIABLE_ALIAS',
-                id: referenceVariableExists.id,
-              },
-            },
-          };
-        }
-        return stop;
-      }));
-    }
-  }
-  const newPaint: GradientPaint = {
-    type: 'GRADIENT_LINEAR',
-    gradientTransform,
-    gradientStops: gradientStopsWithReferences,
-  };
-  return newPaint;
-};
- 
-export default async function setColorValuesOnTarget({
-  target, token, key, givenValue,
-}: {
-  target: BaseNode | PaintStyle,
-  token: string,
-  key: 'paints' | 'fills' | 'strokes',
-  givenValue?: string
-}) {
-  // If we're creating styles we need to check the user's setting. If we're applying on a layer, always try to apply variables.
-  const shouldCreateStylesWithVariables = defaultTokenValueRetriever.createStylesWithVariableReferences || !('consumers' in target);
-  try {
-    const resolvedToken = defaultTokenValueRetriever.get(token);
-    if (typeof resolvedToken === 'undefined' && !givenValue) return;
-    const { description } = resolvedToken || {};
-    const resolvedValue = givenValue || defaultTokenValueRetriever.get(token)?.rawValue;
- 
-    if (typeof resolvedValue === 'undefined') return;
-    let existingPaint: Paint | null = null;
-    if (key === 'paints' && 'paints' in target) {
-      existingPaint = target.paints[0] ?? null;
-    } else if (key === 'fills' && 'fills' in target && target.fills !== figma.mixed) {
-      existingPaint = target.fills[0] ?? null;
-    } else if (key === 'strokes' && 'strokes' in target) {
-      existingPaint = target.strokes[0] ?? null;
-    }
- 
-    if (resolvedValue.startsWith?.('linear-gradient')) {
-      const fallbackValue = defaultTokenValueRetriever.get(token)?.value;
-      const newPaint = await getLinearGradientPaint(fallbackValue, token);
-      applyPaintIfNotEqual(key, existingPaint, newPaint, target);
-    } else {
-      // If the raw value is a pure reference to another token, we first should try to apply that reference as a variable if it exists.
-      let successfullyAppliedVariable = false;
- 
-      const containsReferenceVariable = resolvedValue.toString().startsWith('{') && resolvedValue.toString().endsWith('}');
-      const referenceVariableExists = await defaultTokenValueRetriever.getVariableReference(resolvedValue.slice(1, -1));
- 
-      if (containsReferenceVariable && referenceVariableExists && shouldCreateStylesWithVariables && !hasModifier(resolvedToken)) {
-        try {
-          successfullyAppliedVariable = await tryApplyColorVariableId(target, resolvedValue.slice(1, -1), ColorPaintType.PAINTS);
-        } catch (e) {
-          console.error('Error setting bound variable for paint', e);
-        }
-      }
- 
-      // If value contains references but we werent able to apply, likely that reference doesnt exist. It could be that this is a composite token like border
-      // Where we pass in the color value from a composite but technically that token doesnt exist in the current set of tokens (but a reference to a variable exists!)
-      // So we should see if there is a token that exists for the value we're trying to apply, if not, use the givenValue that we pass on in that case
-      const fallbackValue = defaultTokenValueRetriever.get(token)?.value; // Value on a token if we're given a token
-      const valueToApply = fallbackValue ?? givenValue;
- 
-      if (!successfullyAppliedVariable) {
-        let newPaint: SolidPaint | GradientPaint;
-        if (valueToApply.startsWith?.('linear-gradient')) {
-          newPaint = await getLinearGradientPaint(fallbackValue, token);
-        } else {
-          const { color, opacity } = convertToFigmaColor(typeof valueToApply === 'string' ? valueToApply : valueToApply?.color || givenValue || '');
-          newPaint = { color, opacity, type: 'SOLID' };
-        }
- 
-        await unbindVariableFromTarget(target, key, newPaint);
-        applyPaintIfNotEqual(key, existingPaint, newPaint, target);
-      }
-    }
-    if (description && 'description' in target) {
-      target.description = description;
-    }
-    Promise.resolve();
-  } catch (e) {
-    console.error('Error setting color', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html deleted file mode 100644 index f8976e05d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setColorValuesOnVariable.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for src/plugin/setColorValuesOnVariable.ts - - - - - - - - - -
-
-

All files / src/plugin setColorValuesOnVariable.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/29 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
-import { convertToFigmaColor } from './figmaTransforms/colors';
- 
-export function normalizeFigmaColor({
-  r, g, b, a,
-}: { r: number, g: number, b: number, a: number }): { r: number; g: number; b: number; a: number } {
-  const roundToSixDecimals = (num: number) => Math.round(num * 1000000) / 1000000;
- 
-  return {
-    r: roundToSixDecimals(r),
-    g: roundToSixDecimals(g),
-    b: roundToSixDecimals(b),
-    a: roundToSixDecimals(a),
-  };
-}
- 
-function isFigmaColorObject(obj: VariableValue): obj is RGBA {
-  return typeof obj === 'object' && 'r' in obj && 'g' in obj && 'b' in obj && 'a' in obj
-    && typeof obj.r === 'number' && typeof obj.g === 'number' && typeof obj.b === 'number' && typeof obj.a === 'number';
-}
- 
-export default function setColorValuesOnVariable(variable: Variable, mode: string, value: string) {
-  try {
-    const { color, opacity } = convertToFigmaColor(value);
-    const existingVariableValue = variable.valuesByMode[mode];
-    if (!existingVariableValue || !(isFigmaColorObject(existingVariableValue) || isVariableWithAliasReference(existingVariableValue))) return;
- 
-    const existingValue = isFigmaColorObject(existingVariableValue) ? normalizeFigmaColor(existingVariableValue) : existingVariableValue;
-    const newValue = isFigmaColorObject(color) ? normalizeFigmaColor({ ...color, a: opacity }) : { ...color, a: opacity };
- 
-    if (isFigmaColorObject(existingValue) && isFigmaColorObject(newValue)) {
-      if ((existingValue.r === newValue.r)
-        && (existingValue.g === newValue.g)
-        && (existingValue.b === newValue.b)
-        && (existingValue.a === newValue.a)) {
-      // return if values match
-        return;
-      }
-    }
- 
-    variable.setValueForMode(mode, newValue);
-  } catch (e) {
-    console.error('Error setting colorVariable', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html deleted file mode 100644 index b0991111f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setEffectValuesOnTarget.ts.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - - Code coverage report for src/plugin/setEffectValuesOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setEffectValuesOnTarget.ts

-
- -
- 0% - Statements - 0/41 -
- - -
- 0% - Branches - 0/40 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/38 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable no-param-reassign */
-import { convertBoxShadowTypeToFigma } from './figmaTransforms/boxShadow';
-import { convertToFigmaColor } from './figmaTransforms/colors';
-import { convertTypographyNumberToFigma } from './figmaTransforms/generic';
-import convertOffsetToFigma from './figmaTransforms/offset';
-import { getShadowBehindNodeFromEffect } from './figmaUtils/getShadowBehindNodeFromEffect';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
-import { TokenBoxshadowValue } from '@/types/values';
- 
-type ResolvedShadowObject = {
-  color: string;
-  type: string;
-  spread: string;
-  radius: string;
-  x: string;
-  y: string;
-};
- 
-function transformShadowKeyToFigmaVariable(key: string): VariableBindableEffectField {
-  switch (key) {
-    case 'x':
-      return 'offsetX' as VariableBindableEffectField;
-    case 'y':
-      return 'offsetY' as VariableBindableEffectField;
-    case 'blur':
-      return 'radius' as VariableBindableEffectField;
-    default:
-      return key as VariableBindableEffectField;
-  }
-}
- 
-async function tryApplyCompositeVariable({
-  target, value, baseFontSize, resolvedValue,
-}: {
-  target: BaseNode | EffectStyle;
-  value: TokenBoxshadowValue;
-  baseFontSize: string;
-  resolvedValue: ResolvedShadowObject;
-}) {
-  // If we're creating styles we need to check the user's setting. If we're applying on a layer, always try to apply variables.
-  // 'consumers' only exists in styles, so we can use that to determine if we're creating a style or applying to a layer
-  const shouldCreateStylesWithVariables = defaultTokenValueRetriever.createStylesWithVariableReferences || !('consumers' in target);
- 
-  const { color, opacity: a } = convertToFigmaColor(value.color);
-  const { r, g, b } = color;
- 
-  let effect: Effect = {
-    color: {
-      r,
-      g,
-      b,
-      a,
-    },
-    type: convertBoxShadowTypeToFigma(value.type),
-    spread: convertTypographyNumberToFigma(value.spread.toString(), baseFontSize),
-    radius: convertTypographyNumberToFigma(value.blur.toString(), baseFontSize),
-    offset: convertOffsetToFigma(convertTypographyNumberToFigma(value.x.toString(), baseFontSize), convertTypographyNumberToFigma(value.y.toString(), baseFontSize)),
-    blendMode: (value.blendMode || 'NORMAL') as BlendMode,
-    visible: true,
-    ...value.type === 'dropShadow' && 'effects' in target ? { showShadowBehindNode: getShadowBehindNodeFromEffect(target.effects[0]) } : {},
-  };
-  try {
-    for (const [key, val] of Object.entries(resolvedValue)) {
-      if (val.toString().startsWith('{') && val.toString().endsWith('}') && shouldCreateStylesWithVariables) {
-        const variableToApply = await defaultTokenValueRetriever.getVariableReference(val.slice(1, -1));
-        if (variableToApply) {
-          const updatedEffect = figma.variables.setBoundVariableForEffect(effect, transformShadowKeyToFigmaVariable(key), variableToApply);
-          effect = {
-            ...effect,
-            boundVariables: updatedEffect.boundVariables,
-          };
-        }
-      }
-    }
-  } catch (e) {
-    console.error(e);
-  }
-  return effect;
-}
- 
-export default async function setEffectValuesOnTarget(
-  target: BaseNode | EffectStyle,
-  token: string,
-  baseFontSize: string,
-  key: 'effects' = 'effects',
-) {
-  try {
-    const resolvedToken = defaultTokenValueRetriever.get(token);
-    if (typeof resolvedToken === 'undefined') return;
-    const { description, value } = resolvedToken;
-    const resolvedValue: ResolvedShadowObject = defaultTokenValueRetriever.get(token)?.resolvedValueWithReferences;
-    if (typeof resolvedValue === 'undefined') return;
- 
-    if (Array.isArray(value)) {
-      const effectsArray = await Promise.all(value.map(async (v, i) => {
-        const newEffect = await tryApplyCompositeVariable({
-          target, value: v, baseFontSize, resolvedValue: resolvedValue[i],
-        });
-        return newEffect;
-      }));
- 
-      if ('effects' in target && key === 'effects') target.effects = effectsArray.reverse();
-    } else if (typeof value !== 'string') {
-      if ('effects' in target && key === 'effects') {
-        const newEffect = await tryApplyCompositeVariable({
-          target, value, baseFontSize, resolvedValue,
-        });
-        target.effects = [
-          newEffect,
-        ];
-        Promise.resolve();
-      }
-    }
- 
-    if (description && 'description' in target) {
-      target.description = description;
-    }
-  } catch (e) {
-    console.error('Error setting shadow', e);
-    Promise.reject();
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html deleted file mode 100644 index edb41a1de..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setFontStyleOnTarget.ts.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - Code coverage report for src/plugin/setFontStyleOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setFontStyleOnTarget.ts

-
- -
- 0% - Statements - 0/32 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { transformValue } from './helpers';
-import { notifyUI } from './notifiers';
-import { ResolvedTypographyObject } from './ResolvedTypographyObject';
- 
-export async function setFontStyleOnTarget({ target, value, baseFontSize }: { target: BaseNode | TextStyle; value: Pick<ResolvedTypographyObject, 'fontFamily' | 'fontWeight'>; baseFontSize: string }) {
-  if (!('fontName' in target)) return;
-  const {
-    fontFamily, fontWeight,
-  } = value;
- 
-  const family = fontFamily?.toString() || (target.fontName !== figma.mixed ? target.fontName.family : '');
-  const style = fontWeight?.toString() || (target.fontName !== figma.mixed ? target.fontName.style : '');
- 
-  try {
-    await figma.loadFontAsync({ family, style });
-    if (fontFamily || fontWeight) {
-      target.fontName = {
-        family,
-        style,
-      };
-    }
-  } catch (e) {
-    const splitFontFamily = family.split(',');
-    const candidateStyles = transformValue(style, 'fontWeights', baseFontSize);
-    const candidateFonts: { family: string; style: string; }[] = [];
-    splitFontFamily?.forEach((candidateFontFamily) => {
-      const normalizedFontFamily = candidateFontFamily?.replace(/['"]/g, '').trim();
-      if (candidateStyles.length > 0) {
-        candidateStyles.forEach((candidateStyle) => {
-          candidateFonts.push({
-            family: normalizedFontFamily,
-            style: candidateStyle,
-          });
-        });
-      } else {
-        candidateFonts.push({
-          family: normalizedFontFamily,
-          style,
-        });
-      }
-    });
- 
-    let hasErrored = false;
- 
-    for (let i = 0; i < candidateFonts.length; i += 1) {
-      let isApplied = false; // if font is applied then skip other font families
-      await figma
-        .loadFontAsync({ family: candidateFonts[i].family, style: candidateFonts[i].style })
-        .then(() => {
-          if (candidateFonts[i]) {
-            target.fontName = {
-              family: candidateFonts[i].family,
-              style: candidateFonts[i].style,
-            };
-            isApplied = true;
-          }
-        })
-        // eslint-disable-next-line @typescript-eslint/no-loop-func
-        .catch(() => {
-          hasErrored = true;
-        });
-      if (isApplied) {
-        hasErrored = false;
-        break;
-      }
-    }
-    if (hasErrored) {
-      notifyUI(`Error setting font family/weight combination for ${family}/${style}`);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html deleted file mode 100644 index 07b575079..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setImageValuesOnTarget.ts.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - Code coverage report for src/plugin/setImageValuesOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setImageValuesOnTarget.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleAssetToken } from '@/types/tokens';
-import { notifyUI } from '@/plugin/notifiers';
- 
-export default async function setImageValuesOnTarget(
-  target: BaseNode | PaintStyle,
-  token: Pick<SingleAssetToken, 'value' | 'description'>,
-) {
-  try {
-    const { description, value } = token;
-    if ('fills' in target && target.fills !== figma.mixed) {
-      const imageArrayBuffer = await fetch(value)
-        .then((response) => response.arrayBuffer())
-        .catch(() => {
-          notifyUI('Failed to load image', { error: true });
-          return null;
-        });
-      if (imageArrayBuffer) {
-        const image = figma.createImage(new Uint8Array(imageArrayBuffer));
-        const newPaint = {
-          type: 'IMAGE',
-          scaleMode: 'FILL',
-          imageHash: image.hash,
-        } as Paint;
-        target.fills = [newPaint];
-      }
-    }
- 
-    if (description && 'description' in target) {
-      target.description = description;
-    }
-  } catch (e) {
-    console.error('Error setting image', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html deleted file mode 100644 index 13f7e91cb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setNumberValuesOnVariable.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/plugin/setNumberValuesOnVariable.ts - - - - - - - - - -
-
-

All files / src/plugin setNumberValuesOnVariable.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
- 
-export default function setNumberValuesOnVariable(variable: Variable, mode: string, value: number) {
-  try {
-    if (isNaN(value)) {
-      throw new Error(`Skipping due to invalid value: ${value}`);
-    }
-    const existingVariableValue = variable.valuesByMode[mode];
-    if (existingVariableValue === undefined || !(typeof existingVariableValue === 'number' || isVariableWithAliasReference(existingVariableValue))) return;
- 
-    const newValue = value;
- 
-    if (existingVariableValue !== newValue) {
-      variable.setValueForMode(mode, newValue);
-    }
-  } catch (e) {
-    console.error('Error setting numberVariable on variable', variable.name, e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html deleted file mode 100644 index 351e93b55..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setStringValuesOnVariable.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/plugin/setStringValuesOnVariable.ts - - - - - - - - - -
-
-

All files / src/plugin setStringValuesOnVariable.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isVariableWithAliasReference } from '@/utils/isAliasReference';
- 
-export default function setStringValuesOnVariable(variable: Variable, mode: string, value: string) {
-  try {
-    const existingVariableValue = variable.valuesByMode[mode];
-    if (!existingVariableValue || !(typeof existingVariableValue === 'string' || isVariableWithAliasReference(existingVariableValue))) return;
- 
-    if (existingVariableValue !== value) {
-      variable.setValueForMode(mode, value);
-    }
-  } catch (e) {
-    console.error('Error setting stringVariable', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html deleted file mode 100644 index 69e2e145a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setTextValuesOnTarget.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/plugin/setTextValuesOnTarget.ts - - - - - - - - - -
-
-

All files / src/plugin setTextValuesOnTarget.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ResolvedTypographyObject } from './ResolvedTypographyObject';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
-import { tryApplyTypographyCompositeVariable } from './tryApplyTypographyCompositeVariable';
- 
-export async function setTextValuesOnTarget(
-  target: TextNode | TextStyle,
-  token: string,
-  baseFontSize: string = '16',
-) {
-  try {
-    const resolvedToken = defaultTokenValueRetriever.get(token);
-    if (typeof resolvedToken === 'undefined') return;
-    const { value, description } = resolvedToken;
-    const resolvedValue: ResolvedTypographyObject = defaultTokenValueRetriever.get(token)?.resolvedValueWithReferences;
-    if (typeof resolvedValue === 'undefined') return;
- 
-    if (typeof resolvedValue !== 'string') {
-      await tryApplyTypographyCompositeVariable({
-        target, baseFontSize, value, resolvedValue, // maybe this needs to be value
-      });
-      if ('description' in target && description) target.description = description;
-    }
-  } catch (e) {
-    console.log('Error setting font on target', target, token, e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html deleted file mode 100644 index c0854c85e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnNode.ts.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - Code coverage report for src/plugin/setValuesOnNode.ts - - - - - - - - - -
-
-

All files / src/plugin setValuesOnNode.ts

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import { defaultBaseFontSize } from '@/constants/defaultBaseFontSize';
-import { MapValuesToTokensResult } from '@/types';
-import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { applyAssetTokenValuesOnNode } from './applyAssetTokenValuesOnNode';
-import { applyBackgroundBlurValuesOnNode } from './applyBackgroundBlurValuesOnNode';
-import { applyBooleanTokenValuesOnNode } from './applyBooleanTokenValuesOnNode';
-import { applyBorderRadiusValuesOnNode } from './applyBorderRadiusValuesOnNode';
-import { applyBorderValuesOnNode } from './applyBorderValuesOnNode';
-import { applyBorderWidthValuesOnNode } from './applyBorderWidthValuesOnNode';
-import { applyColorTokenOnNode } from './applyColorTokenOnNode';
-import { applyDimensionTokenValuesOnNode } from './applyDimensionTokenValuesOnNode';
-import { applyNumberTokenValuesOnNode } from './applyNumberTokenValuesOnNode';
-import { applyOpacityValuesOnNode } from './applyOpacityValuesOnNode';
-import { applyPositionTokenOnNode } from './applyPositionTokenOnNode';
-import { applyRotationValuesOnNode } from './applyRotationValuesOnNode';
-import { applySizingValuesOnNode } from './applySizingValuesOnNode';
-import { applySpacingValuesOnNode } from './applySpacingValuesOnNode';
-import { applyTextCharacterValuesOnNode } from './applyTextCharacterValuesOnNode';
-import { applyTypographyTokenOnNode } from './applyTypographyTokenOnNode';
-import { applyShadowValuesOnNode } from './applyShadowValuesOnNode';
-import removeValuesFromNode from './removeValuesFromNode';
- 
-// Various logic to apply token values to nodes
-export default async function setValuesOnNode({
-  node,
-  values,
-  data,
-  baseFontSize = defaultBaseFontSize,
-}: {
-  node: BaseNode; // The node to apply on
-  values: MapValuesToTokensResult; // The actual values we'd apply
-  data: NodeTokenRefMap; // Data on which token to apply, this is what's stored on the layer (just the token name)
-  baseFontSize?: string; // The base font size to use, note that we should find a better way to pass this through
-}) {
-  try {
-    if (
-      node.type !== 'CONNECTOR'
-      && node.type !== 'SHAPE_WITH_TEXT'
-      && node.type !== 'STICKY'
-      && node.type !== 'CODE_BLOCK'
-    ) {
-      Object.entries(values).forEach(([key, value]) => {
-        if (value === 'none') {
-          removeValuesFromNode(node, key as Properties);
-          delete values[key];
-        }
-      });
-      await applyBorderValuesOnNode(node, data, values, baseFontSize);
-      await applyBorderRadiusValuesOnNode(node, data, values, baseFontSize);
-      await applyShadowValuesOnNode(node, data, values, baseFontSize);
-      await applyBackgroundBlurValuesOnNode(node, data, values, baseFontSize);
-      await applyBorderWidthValuesOnNode(node, data, values, baseFontSize);
-      await applyOpacityValuesOnNode(node, data, values, baseFontSize);
-      await applySizingValuesOnNode(node, data, values, baseFontSize);
-      await applySpacingValuesOnNode(node, data, values, baseFontSize);
-      await applyRotationValuesOnNode(node, data, values, baseFontSize);
-      await applyColorTokenOnNode(node, data, values);
-      await applyPositionTokenOnNode(node, data, values, baseFontSize);
-      await applyTypographyTokenOnNode(node, data, values, baseFontSize);
-      await applyAssetTokenValuesOnNode(node, data, values);
-      await applyDimensionTokenValuesOnNode(node, data, values, baseFontSize);
-      await applyNumberTokenValuesOnNode(node, data, values, baseFontSize);
-      await applyBooleanTokenValuesOnNode(node, data, values);
-      await applyTextCharacterValuesOnNode(node, data, values);
-    }
-  } catch (e) {
-    console.log('Error setting data on node', e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html deleted file mode 100644 index f25cf5397..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/setValuesOnVariable.ts.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - Code coverage report for src/plugin/setValuesOnVariable.ts - - - - - - - - - -
-
-

All files / src/plugin setValuesOnVariable.ts

-
- -
- 0% - Statements - 0/41 -
- - -
- 0% - Branches - 0/49 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
-import setBooleanValuesOnVariable from './setBooleanValuesOnVariable';
-import setColorValuesOnVariable from './setColorValuesOnVariable';
-import setNumberValuesOnVariable from './setNumberValuesOnVariable';
-import setStringValuesOnVariable from './setStringValuesOnVariable';
-import { convertTokenTypeToVariableType } from '@/utils/convertTokenTypeToVariableType';
-import { checkCanReferenceVariable } from '@/utils/alias/checkCanReferenceVariable';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { transformValue } from './helpers';
- 
-export type ReferenceVariableType = {
-  variable: Variable;
-  modeId: string;
-  referenceVariable: string;
-};
- 
-export default async function setValuesOnVariable(
-  variablesInFigma: Variable[],
-  tokens: SingleToken<true, { path: string, variableId: string }>[],
-  collection: VariableCollection,
-  mode: string,
-  baseFontSize: string,
-  shouldRename = false,
-) {
-  const variableKeyMap: Record<string, string> = {};
-  const referenceVariableCandidates: ReferenceVariableType[] = [];
-  const renamedVariableKeys: string[] = [];
-  try {
-    await Promise.all(tokens.map(async (token) => {
-      const variableType = convertTokenTypeToVariableType(token.type, token.value);
-      // If id matches the variableId, or name patches the token path, we can use it to update the variable instead of re-creating.
-      // This has the nasty side-effect that if font weight changes from string to number, it will not update the variable given we cannot change type.
-      // In that case, we should delete the variable and re-create it.
-      const variable = variablesInFigma.find((v) => (v.key === token.variableId && !v.remote) || v.name === token.path) || figma.variables.createVariable(token.path, collection, variableType);
- 
-      if (variable) {
-        // First, rename all variables that should be renamed (if the user choose to do so)
-        if (variable.name !== token.path && shouldRename) {
-          renamedVariableKeys.push(variable.key);
-          variable.name = token.path;
-        }
-        if (variableType !== variable?.resolvedType) {
-          // TODO: There's an edge case where the user had created a variable based on a numerical weight leading to a float variable,
-          // if they later change it to a string, we cannot update the variable type. Theoretically we should remove and recreate, but that would lead to broken variables?
-          // If we decide to remove, the following would work.
-          // variable.remove();
-          // variable = figma.variables.createVariable(t.path, collection.id, variableType);
-        }
-        variable.description = token.description ?? '';
- 
-        switch (variableType) {
-          case 'BOOLEAN':
-            if (typeof token.value === 'string' && !token.value.includes('{')) {
-              setBooleanValuesOnVariable(variable, mode, token.value);
-            }
-            break;
-          case 'COLOR':
-            if (typeof token.value === 'string' && !token.value.includes('{')) {
-              setColorValuesOnVariable(variable, mode, token.value);
-            }
-            break;
-          case 'FLOAT': {
-            const value = String(token.value);
-            if (typeof value === 'string' && !value.includes('{')) {
-              const transformedValue = transformValue(value, token.type, baseFontSize, true);
-              setNumberValuesOnVariable(variable, mode, Number(transformedValue));
-            }
-            break;
-          }
-          case 'STRING':
-            if (typeof token.value === 'string' && !token.value.includes('{')) {
-              setStringValuesOnVariable(variable, mode, token.value);
-              // Given we cannot determine the combined family of a variable, we cannot use fallback weights from our estimates.
-              // This is not an issue because users can set numerical font weights with variables, so we opt-out of the guesswork and just apply the numerical weight.
-            } else if (token.type === TokenTypes.FONT_WEIGHTS && Array.isArray(token.value)) {
-              setStringValuesOnVariable(variable, mode, token.value[0]);
-            }
-            break;
-          default:
-            break;
-        }
-        let referenceTokenName: string = '';
-        if (token.rawValue && token.rawValue?.toString().startsWith('{')) {
-          referenceTokenName = token.rawValue?.toString().slice(1, token.rawValue.toString().length - 1);
-        } else {
-          referenceTokenName = token.rawValue!.toString().substring(1);
-        }
-        variableKeyMap[token.name] = variable.key;
-        if (token && checkCanReferenceVariable(token)) {
-          referenceVariableCandidates.push({
-            variable,
-            modeId: mode,
-            referenceVariable: referenceTokenName,
-          });
-        }
-      }
-    }));
-  } catch (e) {
-    console.error('Setting values on variable failed', e);
-  }
- 
-  return {
-    renamedVariableKeys,
-    variableKeyMap,
-    referenceVariableCandidates,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html deleted file mode 100644 index 7712a72ae..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/store.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/plugin/store.ts - - - - - - - - - -
-
-

All files / src/plugin store.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
type State = {
-  inspectDeep: boolean;
-  shouldSendSelectionValues: boolean;
-};
- 
-const store: State = {
-  inspectDeep: false,
-  shouldSendSelectionValues: false,
-};
- 
-export default store;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html deleted file mode 100644 index 8a3b206d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/transformTypographyKeyToFigmaVariable.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/plugin/transformTypographyKeyToFigmaVariable.ts - - - - - - - - - -
-
-

All files / src/plugin transformTypographyKeyToFigmaVariable.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
export function transformTypographyKeyToFigmaVariable(key: string, variableToApply?: Variable): VariableBindableTextField {
-  // Figma distinguishes between numerical and alphabetical weights, if numerical the key is fontWeight, if alphabetical it's fontStyle
-  if (key === 'fontWeight' && variableToApply) {
-    if (variableToApply.resolvedType === 'FLOAT') return 'fontWeight';
-    return 'fontStyle';
-  }
-  return key as VariableBindableTextField;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html deleted file mode 100644 index 6c981d754..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/tryApplyTypographyCompositeVariable.ts.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - Code coverage report for src/plugin/tryApplyTypographyCompositeVariable.ts - - - - - - - - - -
-
-

All files / src/plugin tryApplyTypographyCompositeVariable.ts

-
- -
- 0% - Statements - 0/39 -
- - -
- 0% - Branches - 0/40 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/33 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { transformValue } from './helpers';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
-import { setFontStyleOnTarget } from './setFontStyleOnTarget';
-import { ResolvedTypographyObject } from './ResolvedTypographyObject';
-import { transformTypographyKeyToFigmaVariable } from './transformTypographyKeyToFigmaVariable';
-import { SingleTypographyToken } from '@/types/tokens';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
- 
-export async function tryApplyTypographyCompositeVariable({
-  target, value, baseFontSize, resolvedValue,
-}: {
-  target: TextNode | TextStyle;
-  value: SingleTypographyToken['value'];
-  resolvedValue: ResolvedTypographyObject;
-  baseFontSize: string;
-}) {
-  // If we're creating styles we need to check the user's setting. If we're applying on a layer, always try to apply variables.
-  // 'consumers' only exists in styles, so we can use that to determine if we're creating a style or applying to a layer
-  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
-  const shouldApplyStylesAndVariables = applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.RAW_VALUES;
-  const isStyle = 'consumers' in target;
-  const shouldCreateStylesWithVariables = (isStyle && defaultTokenValueRetriever.createStylesWithVariableReferences) || (!isStyle && shouldApplyStylesAndVariables);
- 
-  if (typeof value === 'string') return;
- 
-  try {
-    // We iterate over all keys of the typography object and apply variables if available, otherwise we apply the value directly
-    for (const [originalKey, val] of Object.entries(value).filter(([_, keyValue]) => typeof keyValue !== 'undefined')) {
-      if (typeof val === 'undefined') return;
-      let successfullyAppliedVariable = false;
-      if (resolvedValue[originalKey]?.toString().startsWith('{') && resolvedValue[originalKey].toString().endsWith('}') && shouldCreateStylesWithVariables) {
-        const variableToApply = await defaultTokenValueRetriever.getVariableReference(resolvedValue[originalKey].toString().slice(1, -1));
-        const key = transformTypographyKeyToFigmaVariable(originalKey, variableToApply);
-        // If we're dealing with a variable, we fetch all available font weights for the current font and load them.
-        // This is needed because we have numerical weights, but we need to apply the string ones. We dont know them from Figma, so we need to load all.
-        // e.g. font weight = 600, we dont know that we need to load "Bold".
-        if (key === 'fontFamily' && variableToApply) {
-          const firstVariableValue = Object.values(variableToApply.valuesByMode)[0];
-          if (firstVariableValue) {
-            const fontsMatching = (await figma.listAvailableFontsAsync() || []).filter((font) => font.fontName.family === firstVariableValue);
-            for (const font of fontsMatching) {
-              await figma.loadFontAsync(font.fontName);
-            }
-          }
-        }
-        if (variableToApply) {
-          if (target.fontName !== figma.mixed) await figma.loadFontAsync(target.fontName);
-          try {
-            target.setBoundVariable(key, variableToApply);
-            successfullyAppliedVariable = true;
-          } catch (e) {
-            // eslint-disable-next-line no-console
-            console.error('unable to apply variable', key, variableToApply, e);
-          }
-        }
-      }
-      // If there's no variable we apply the value directly
-      if (!successfullyAppliedVariable) {
-        // First we set font family and weight without variables, we do this because to apply those values we need their combination
-        if (originalKey === 'fontFamily' || originalKey === 'fontWeight') {
-          if ('fontName' in target && ('fontWeight' in value || 'fontFamily' in value)) {
-            setFontStyleOnTarget({ target, value: { fontFamily: value.fontFamily, fontWeight: value.fontWeight }, baseFontSize });
-          }
-        } else {
-          if (target.fontName !== figma.mixed) await figma.loadFontAsync(target.fontName);
-          const transformedValue = transformValue(value[originalKey], originalKey, baseFontSize);
-          if (transformedValue !== null) {
-            target[originalKey] = transformedValue;
-          }
-        }
-      }
-    }
-  } catch (e) {
-    console.error(e);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html deleted file mode 100644 index e9f3316c3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/unbindVariableFromTarget.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/plugin/unbindVariableFromTarget.ts - - - - - - - - - -
-
-

All files / src/plugin unbindVariableFromTarget.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { clone } from '@figma-plugin/helpers';
- 
-export async function unbindVariableFromTarget(target: BaseNode | PaintStyle, key: 'paints' | 'fills' | 'strokes', newPaint: Paint) {
-  if (key in target) {
-    const fillsCopy = clone(target[key]);
-    fillsCopy[0] = figma.variables.setBoundVariableForPaint(fillsCopy[0] ?? newPaint, 'color', null);
-    target[key] = fillsCopy;
-    return target[key];
-  }
- 
-  return target[key];
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html deleted file mode 100644 index 5c9ca45ad..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateColorStyles.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateColorStyles.ts - - - - - - - - - -
-
-

All files / src/plugin updateColorStyles.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleColorToken } from '@/types/tokens';
-import setColorValuesOnTarget from './setColorValuesOnTarget';
-import { getPaintStylesIdMap } from '@/utils/getPaintStylesIdMap';
-import { getPaintStylesKeyMap } from '@/utils/getPaintStylesKeyMap';
- 
-// Iterate over colorTokens to create objects that match figma styles
-// @returns A map of token names and their respective style IDs (if created or found)
-export default async function updateColorStyles(colorTokens: SingleColorToken<true, { path: string, styleId: string }>[], shouldCreate = false, shouldRename = false) {
-  const paintToIdMap = getPaintStylesIdMap();
-  const paintToKeyMap = getPaintStylesKeyMap();
-  const tokenToStyleMap: Record<string, string> = {};
- 
-  await Promise.all(colorTokens.map(async (token) => {
-    if (paintToIdMap.has(token.styleId)) {
-      const paint = paintToIdMap.get(token.styleId)!;
-      if (shouldRename) {
-        paint.name = token.path;
-      }
-      tokenToStyleMap[token.name] = paint.id;
-      await setColorValuesOnTarget({ target: paint, token: token.name, key: 'paints' });
-    } else if (paintToKeyMap.has(token.path)) {
-      const paint = paintToKeyMap.get(token.path)!;
-      tokenToStyleMap[token.name] = paint.id;
-      await setColorValuesOnTarget({ target: paint, token: token.name, key: 'paints' });
-    } else if (shouldCreate) {
-      const style = figma.createPaintStyle();
-      style.name = token.path;
-      tokenToStyleMap[token.name] = style.id;
-      await setColorValuesOnTarget({ target: style, token: token.name, key: 'paints' });
-    }
-  }));
-  return tokenToStyleMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html deleted file mode 100644 index 63f82b02d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateEffectStyles.ts.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateEffectStyles.ts - - - - - - - - - -
-
-

All files / src/plugin updateEffectStyles.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleBoxShadowToken } from '@/types/tokens';
-import setEffectValuesOnTarget from './setEffectValuesOnTarget';
-import { getEffectStylesIdMap } from '@/utils/getEffectStylesIdMap';
-import { getEffectStylesKeyMap } from '@/utils/getEffectStylesKeyMap';
- 
-// Iterate over effectTokens to create objects that match figma styles
-// @returns A map of token names and their respective style IDs (if created or found)
-export default async function updateEffectStyles({
-  effectTokens,
-  baseFontSize,
-  shouldCreate = false,
-  shouldRename = false,
-}: {
-  effectTokens: SingleBoxShadowToken<true, { path: string; styleId: string }>[];
-  baseFontSize: string;
-  shouldCreate?: boolean;
-  shouldRename?: boolean;
-}) {
-  const effectStylesToIdMap = getEffectStylesIdMap();
-  const effectStylesToKeyMap = getEffectStylesKeyMap();
-  const tokenToStyleMap: Record<string, string> = {};
- 
-  await Promise.all(effectTokens.map(async (token) => {
-    if (effectStylesToIdMap.has(token.styleId)) {
-      const effectStyle = effectStylesToIdMap.get(token.styleId)!;
-      if (shouldRename) {
-        effectStyle.name = token.path;
-      }
-      tokenToStyleMap[token.name] = effectStyle.id;
-      await setEffectValuesOnTarget(effectStyle, token.name, baseFontSize);
-    } else if (effectStylesToKeyMap.has(token.path)) {
-      const effectStyle = effectStylesToKeyMap.get(token.path)!;
-      tokenToStyleMap[token.name] = effectStyle.id;
- 
-      await setEffectValuesOnTarget(effectStyle, token.name, baseFontSize);
-    } else if (shouldCreate) {
-      const style = figma.createEffectStyle();
-      style.name = token.path;
-      tokenToStyleMap[token.name] = style.id;
- 
-      await setEffectValuesOnTarget(style, token.name, baseFontSize);
-    }
-  }));
- 
-  return tokenToStyleMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html deleted file mode 100644 index afbafa343..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateNodes.ts.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateNodes.ts - - - - - - - - - -
-
-

All files / src/plugin updateNodes.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import setValuesOnNode from './setValuesOnNode';
-import { postToUI } from './notifiers';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { defaultWorker } from './Worker';
-import { ProgressTracker } from './ProgressTracker';
-import { SettingsState } from '@/app/store/models/settings';
-import { destructureTokenForAlias, mapValuesToTokens } from './node';
-import { NodeManagerNode } from './NodeManager';
-import { defaultTokenValueRetriever } from './TokenValueRetriever';
- 
-export async function updateNodes(
-  nodes: readonly NodeManagerNode[],
-  settings: SettingsState,
-) {
-  // Big O (n * m): (n = amount of nodes, m = amount of applied tokens to the node)
-  const { baseFontSize } = settings ?? {};
- 
-  postToUI({
-    type: MessageFromPluginTypes.START_JOB,
-    job: {
-      name: BackgroundJobs.PLUGIN_UPDATENODES,
-      timePerTask: 2,
-      completedTasks: 0,
-      totalTasks: nodes.length,
-    },
-  });
- 
-  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATENODES);
-  const promises: Set<Promise<void>> = new Set();
- 
-  const tokens = defaultTokenValueRetriever.getTokens();
- 
-  nodes.forEach(({ node, tokens: appliedTokens }) => {
-    promises.add(
-      defaultWorker.schedule(async () => {
-        try {
-          const rawTokenMap = destructureTokenForAlias(tokens, appliedTokens);
-          const tokenValues = mapValuesToTokens(tokens, appliedTokens);
-          setValuesOnNode(
-            {
-              node,
-              values: tokenValues,
-              data: rawTokenMap,
-              baseFontSize,
-            },
-          );
-        } catch (e) {
-          console.log('got error', e);
-        } finally {
-          tracker.next();
-          tracker.reportIfNecessary();
-        }
-      }),
-    );
-  });
-  await Promise.all(promises);
- 
-  postToUI({
-    type: MessageFromPluginTypes.COMPLETE_JOB,
-    name: BackgroundJobs.PLUGIN_UPDATENODES,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html deleted file mode 100644 index e03f632b5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updatePluginDataAndNodes.ts.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - Code coverage report for src/plugin/updatePluginDataAndNodes.ts - - - - - - - - - -
-
-

All files / src/plugin updatePluginDataAndNodes.ts

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
-import { SharedPluginDataNamespaces } from '@/constants/SharedPluginDataNamespaces';
-import { Properties } from '@/constants/Properties';
-import { MessageFromPluginTypes } from '@/types/messages';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { AnyTokenList } from '@/types/tokens';
-import { postToUI } from './notifiers';
-import { defaultWorker } from './Worker';
-import { ProgressTracker } from './ProgressTracker';
-import { removePluginData, setNonePluginData } from './pluginData';
-import { SettingsState } from '@/app/store/models/settings';
-import { destructureTokenForAlias, mapValuesToTokens } from './node';
-import setValuesOnNode from './setValuesOnNode';
- 
-export async function updatePluginDataAndNodes({
-  entries: nodes, values: tokenValues, tokensMap, settings,
-}: { entries: readonly BaseNode[]; values: NodeTokenRefMap; tokensMap: Map<string, AnyTokenList[number]>; settings?: SettingsState }) {
-  // Big O (n * m): (n = amount of nodes, m = amount of applied tokens to the node)
-  const { baseFontSize } = settings ?? {};
- 
-  const namespace = SharedPluginDataNamespaces.TOKENS;
-  postToUI({
-    type: MessageFromPluginTypes.START_JOB,
-    job: {
-      name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-      timePerTask: 2,
-      completedTasks: 0,
-      totalTasks: nodes.length,
-    },
-  });
- 
-  const tracker = new ProgressTracker(BackgroundJobs.PLUGIN_UPDATEPLUGINDATA);
-  const promises: Set<Promise<void>> = new Set();
- 
-  nodes.forEach((node) => {
-    promises.add(defaultWorker.schedule(async () => {
-      try {
-        await Promise.all(Object.entries(tokenValues).map(async ([key, value]) => {
-          const jsonValue = JSON.stringify(value);
-          switch (value) {
-            case 'delete':
-              await removePluginData({ nodes: [node], key: key as Properties, shouldRemoveValues: true });
-              break;
-            case 'none':
-              await setNonePluginData({ nodes: [node], key: key as Properties });
-              break;
-            default:
-              node.setSharedPluginData(namespace, key, jsonValue);
-              break;
-          }
-        }));
-        const rawTokenMap = destructureTokenForAlias(tokensMap, tokenValues);
-        const mappedValues = mapValuesToTokens(tokensMap, tokenValues);
- 
-        setValuesOnNode(
-          {
-            node,
-            values: mappedValues,
-            data: rawTokenMap,
-            baseFontSize,
-          },
-        );
-      } catch (e) {
-        console.log('got error', e);
-      } finally {
-        tracker.next();
-        tracker.reportIfNecessary();
-      }
-    }));
-  });
-  await Promise.all(promises);
- 
-  postToUI({
-    type: MessageFromPluginTypes.COMPLETE_JOB,
-    name: BackgroundJobs.PLUGIN_UPDATEPLUGINDATA,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html deleted file mode 100644 index 0ca88a143..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateStyles.ts.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateStyles.ts - - - - - - - - - -
-
-

All files / src/plugin updateStyles.ts

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SettingsState } from '@/app/store/models/settings';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { AnyTokenList, SingleToken } from '@/types/tokens';
-import { convertTokenNameToPath } from '@/utils/convertTokenNameToPath';
-import { transformValue } from './helpers';
-import updateColorStyles from './updateColorStyles';
-import updateEffectStyles from './updateEffectStyles';
-import updateTextStyles from './updateTextStyles';
-import { notifyUI } from './notifiers';
-import type { ThemeObject } from '@/types';
- 
-export default async function updateStyles(
-  tokens: AnyTokenList,
-  settings: SettingsState,
-  shouldCreate = false,
-  selectedTheme?: ThemeObject,
-): Promise<Record<string, string>> {
-  // Big O (n * m * l): (n = amount of tokens, m = amount of active themes, l = amount of tokenSets)
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
-  const activeThemes = themeInfo.themes
-    .filter((theme) => Object.values(themeInfo.activeTheme).some((v) => v === theme.id))
-    .reverse();
- 
-  const styleTokens = tokens.map((token) => {
-    // When multiple theme has the same active Token set then the last activeTheme wins
-    const activeTheme = selectedTheme || activeThemes.find((theme) => Object.entries(theme.selectedTokenSets).some(([tokenSet]) => tokenSet === token.internal__Parent));
- 
-    const prefix = settings.prefixStylesWithThemeName && activeTheme ? activeTheme.name : null;
-    const slice = settings?.ignoreFirstPartForStyles && token.name.split('.').length > 1 ? 1 : 0;
-    const path = convertTokenNameToPath(token.name, prefix, slice);
-    return {
-      ...token,
-      path,
-      value: typeof token.value === 'string' ? transformValue(token.value, token.type, settings.baseFontSize) : token.value,
-      styleId: activeTheme?.$figmaStyleReferences ? activeTheme?.$figmaStyleReferences[token.name] : '',
-    } as SingleToken<true, { path: string, styleId: string }>;
-  }).filter((token) => token.path);
- 
-  const colorTokens = styleTokens.filter((n) => [TokenTypes.COLOR].includes(n.type)) as Extract<
-    typeof styleTokens[number],
-  { type: TokenTypes.COLOR }
-  >[];
-  const textTokens = styleTokens.filter((n) => [TokenTypes.TYPOGRAPHY].includes(n.type)) as Extract<
-    typeof styleTokens[number],
-  { type: TokenTypes.TYPOGRAPHY }
-  >[];
-  const effectTokens = styleTokens.filter((n) => [TokenTypes.BOX_SHADOW].includes(n.type)) as Extract<
-    typeof styleTokens[number],
-  { type: TokenTypes.BOX_SHADOW }
-  >[];
- 
-  if (!colorTokens && !textTokens && !effectTokens) return {};
- 
-  const allStyleIds = await Promise.all([
-    ...(colorTokens.length > 0 ? [updateColorStyles(colorTokens, shouldCreate, settings.renameExistingStylesAndVariables)] : []),
-    ...(textTokens.length > 0 ? [updateTextStyles(textTokens, settings.baseFontSize, shouldCreate, settings.renameExistingStylesAndVariables)] : []),
-    ...(effectTokens.length > 0 ? [updateEffectStyles({
-      effectTokens, baseFontSize: settings.baseFontSize, shouldCreate, shouldRename: settings.renameExistingStylesAndVariables,
-    })] : []),
-  ]).then((results) => Object.assign({}, ...results));
-  if (styleTokens.length < tokens.length && shouldCreate) {
-    notifyUI('Some styles were ignored due to "Ignore first part of token name" export setting', { error: true });
-  }
- 
-  return allStyleIds;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html deleted file mode 100644 index 49c8816ec..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateTextStyles.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateTextStyles.ts - - - - - - - - - -
-
-

All files / src/plugin updateTextStyles.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleTypographyToken } from '@/types/tokens';
-import { setTextValuesOnTarget } from './setTextValuesOnTarget';
-import { getTextStylesIdMap } from '@/utils/getTextStylesIdMap';
-import { getTextStylesKeyMap } from '@/utils/getTextStylesKeyMap';
- 
-// Iterate over colorTokens to create objects that match figma styles
-// @returns A map of token names and their respective style IDs (if created or found)
-export default async function updateTextStyles(textTokens: SingleTypographyToken<true, { path: string, styleId: string }>[], baseFontSize: string, shouldCreate = false, shouldRename = false) {
-  // Iterate over textTokens to create objects that match figma styles
-  const textStylesToIdMap = getTextStylesIdMap();
-  const textStylesToKeyMap = getTextStylesKeyMap();
-  const tokenToStyleMap: Record<string, string> = {};
- 
-  await Promise.all(textTokens.map(async (token) => {
-    if (textStylesToIdMap.has(token.styleId)) {
-      const textStyle = textStylesToIdMap.get(token.styleId)!;
-      if (shouldRename) {
-        textStyle.name = token.path;
-      }
-      tokenToStyleMap[token.name] = textStyle.id;
-      await setTextValuesOnTarget(textStyle, token.name, baseFontSize);
-    } else if (textStylesToKeyMap.has(token.path)) {
-      const textStyle = textStylesToKeyMap.get(token.path)!;
-      tokenToStyleMap[token.name] = textStyle.id;
-      await setTextValuesOnTarget(textStyle, token.name, baseFontSize);
-    } else if (shouldCreate) {
-      const style = figma.createTextStyle();
-      style.name = token.path;
-      tokenToStyleMap[token.name] = style.id;
-      await setTextValuesOnTarget(style, token.name, baseFontSize);
-    }
-  }));
- 
-  return tokenToStyleMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html deleted file mode 100644 index c95588179..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariables.ts.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateVariables.ts - - - - - - - - - -
-
-

All files / src/plugin updateVariables.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AnyTokenList, SingleToken } from '@/types/tokens';
-import { generateTokensToCreate } from './generateTokensToCreate';
-import { ThemeObject, UsedTokenSetsMap } from '@/types';
-import { SettingsState } from '@/app/store/models/settings';
-import checkIfTokenCanCreateVariable from '@/utils/checkIfTokenCanCreateVariable';
-import setValuesOnVariable from './setValuesOnVariable';
-import { mapTokensToVariableInfo } from '@/utils/mapTokensToVariableInfo';
- 
-export type CreateVariableTypes = {
-  collection: VariableCollection;
-  mode: string;
-  theme: ThemeObject;
-  tokens: Record<string, AnyTokenList>;
-  settings: SettingsState;
-  filterByTokenSet?: string;
-  overallConfig: UsedTokenSetsMap;
-};
- 
-export type VariableToken = SingleToken<true, { path: string; variableId: string }>;
- 
-export default async function updateVariables({
-  collection,
-  mode,
-  theme,
-  tokens,
-  settings,
-  filterByTokenSet,
-  overallConfig,
-}: CreateVariableTypes) {
-  const tokensToCreate = generateTokensToCreate({
-    theme,
-    tokens,
-    filterByTokenSet,
-    overallConfig,
-  });
- 
-  // Do not use getVariablesWithoutZombies. It's not working.
-  // There seems to be a bug with getLocalVariablesAsync. It's not returning the variables in the collection - when they're being created.
-  // We could also get the current collection with figma.variables.getVariableCollectionByIdAsync(collection.id) and then fetch each variable,
-  // but that feels costly? We might need to double check this though.
-  // e.g. this wont work.
-  // const variablesInCollection = (await figma.variables.getLocalVariablesAsync()).filter((v) => v.variableCollectionId === collection.id);
-  const variablesInCollection = figma.variables
-    .getLocalVariables()
-    .filter((v) => v.variableCollectionId === collection.id);
- 
-  const variablesToCreate: VariableToken[] = [];
-  tokensToCreate.forEach((token) => {
-    if (checkIfTokenCanCreateVariable(token, settings)) {
-      variablesToCreate.push(mapTokensToVariableInfo(token, theme, settings));
-    }
-  });
- 
-  const variableObj = await setValuesOnVariable(
-    variablesInCollection,
-    variablesToCreate,
-    collection,
-    mode,
-    settings.baseFontSize,
-    settings.renameExistingStylesAndVariables,
-  );
-  const removedVariables: string[] = [];
- 
-  // Remove variables not handled in the current theme
-  if (settings.removeStylesAndVariablesWithoutConnection) {
-    variablesInCollection
-      .filter((variable) => !Object.values(variableObj.variableKeyMap).includes(variable.key))
-      .forEach((variable) => {
-        removedVariables.push(variable.key);
-        variable.remove();
-      });
-  }
- 
-  return {
-    variableIds: variableObj.variableKeyMap,
-    referenceVariableCandidate: variableObj.referenceVariableCandidates,
-    removedVariables,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html deleted file mode 100644 index 9c01908be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesFromPlugin.ts.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateVariablesFromPlugin.ts - - - - - - - - - -
-
-

All files / src/plugin updateVariablesFromPlugin.ts

-
- -
- 0% - Statements - 0/32 -
- - -
- 0% - Branches - 0/34 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/32 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { getVariablesMap } from '@/utils/getVariablesMap';
-import setColorValuesOnVariable from './setColorValuesOnVariable';
-import { TokenTypes } from '@/constants/TokenTypes';
-import setBooleanValuesOnVariable from './setBooleanValuesOnVariable';
-import setNumberValuesOnVariable from './setNumberValuesOnVariable';
-import setStringValuesOnVariable from './setStringValuesOnVariable';
-import { UpdateTokenVariablePayload } from '@/types/payloads/UpdateTokenVariablePayload';
-import { checkCanReferenceVariable } from '@/utils/alias/checkCanReferenceVariable';
- 
-export default async function updateVariablesFromPlugin(payload: UpdateTokenVariablePayload) {
-  const themeInfo = await AsyncMessageChannel.PluginInstance.message({
-    type: AsyncMessageTypes.GET_THEME_INFO,
-  });
-  const variableMap = await getVariablesMap();
-  const nameToVariableMap = (await figma.variables.getLocalVariablesAsync())?.reduce<Record<string, Variable>>((acc, curr) => {
-    acc[curr.name] = curr;
-    return acc;
-  }, {});
- 
-  themeInfo.themes.forEach((theme) => {
-    if (
-      Object.entries(theme.selectedTokenSets).some(
-        ([tokenSet, status]) => status === TokenSetStatus.ENABLED && tokenSet === payload.parent,
-      )
-    ) {
-      // Filter themes which contains this token
-      if (theme.$figmaVariableReferences?.[payload.name] && theme.$figmaModeId) {
-        const variable = variableMap[theme?.$figmaVariableReferences?.[payload.name]];
-        if (Object.values(themeInfo.activeTheme).includes(theme.id)) {
-          if (checkCanReferenceVariable(payload)) {
-            // If new token reference to another token, we update the variable to reference to another variable
-            let referenceTokenName: string = '';
-            if (payload.rawValue && payload.rawValue?.toString().startsWith('{')) {
-              referenceTokenName = payload.rawValue?.toString().slice(1, payload.rawValue.toString().length - 1);
-            } else {
-              referenceTokenName = payload.rawValue!.toString().substring(1);
-            }
-            const referenceVariable = nameToVariableMap[referenceTokenName.split('.').join('/')];
-            if (referenceVariable) {
-              variable.setValueForMode(theme.$figmaModeId, {
-                type: 'VARIABLE_ALIAS',
-                id: referenceVariable.id,
-              });
-            }
-          } else {
-            switch (payload.type) {
-              case TokenTypes.COLOR:
-                if (typeof payload.value === 'string') {
-                  setColorValuesOnVariable(variable, theme.$figmaModeId, payload.value);
-                }
-                break;
-              case TokenTypes.BOOLEAN:
-                if (typeof payload.value === 'string') {
-                  setBooleanValuesOnVariable(variable, theme.$figmaModeId, payload.value);
-                }
-                break;
-              case TokenTypes.TEXT:
-                if (typeof payload.value === 'string') {
-                  setStringValuesOnVariable(variable, theme.$figmaModeId, payload.value);
-                }
-                break;
-              case TokenTypes.SIZING:
-              case TokenTypes.DIMENSION:
-              case TokenTypes.BORDER_RADIUS:
-              case TokenTypes.BORDER_WIDTH:
-              case TokenTypes.SPACING:
-              case TokenTypes.NUMBER:
-                setNumberValuesOnVariable(variable, theme.$figmaModeId, Number(payload.value));
-                break;
-              default:
-                break;
-            }
-          }
-        }
-      }
-    }
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html deleted file mode 100644 index a052e5a26..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/plugin/updateVariablesToReference.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/plugin/updateVariablesToReference.ts - - - - - - - - - -
-
-

All files / src/plugin updateVariablesToReference.ts

-
- -
- 0% - Statements - 0/15 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ReferenceVariableType } from './setValuesOnVariable';
- 
-export default async function updateVariablesToReference(figmaVariables: Map<string, string>, referenceVariableCandidates: ReferenceVariableType[]): Promise<Variable[]> {
-  const updatedVariables: Variable[] = [];
-  await Promise.all(referenceVariableCandidates.map(async (aliasVariable) => {
-    const referenceVariable = figmaVariables.get(aliasVariable.referenceVariable);
-    if (!referenceVariable) return;
-    let variable;
-    try {
-      variable = await figma.variables.importVariableByKeyAsync(referenceVariable);
-    } catch (e) {
-      console.log('error importing variable', e);
-    }
-    if (!variable) return;
-    try {
-      await aliasVariable.variable.setValueForMode(aliasVariable.modeId, {
-        type: 'VARIABLE_ALIAS',
-        id: variable.id,
-      });
-      updatedVariables.push(aliasVariable.variable);
-    } catch (e) {
-      console.log('error setting value for mode', e, aliasVariable, variable);
-    }
-  }));
-  return updatedVariables;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html b/packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html deleted file mode 100644 index 46ac528eb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/profiling/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/profiling - - - - - - - - - -
-
-

All files src/profiling

-
- -
- 0% - Statements - 0/50 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/49 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
timing.ts -
-
0%0/10100%0/00%0/20%0/10
transaction.ts -
-
0%0/400%0/170%0/40%0/39
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html deleted file mode 100644 index 0ed9e4276..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/profiling/timing.ts.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - Code coverage report for src/profiling/timing.ts - - - - - - - - - -
-
-

All files / src/profiling timing.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export type Timing = {
-  start: number,
-  end: number,
-  time: number
-};
- 
-export type TimeWrapper<T> = {
-  result: T,
-  timing: Timing
-};
-export const time = <U>(fn: () => U): TimeWrapper<U> => {
-  const start = performance.now();
-  const result = fn();
-  const end = performance.now();
- 
-  return {
-    result,
-    timing: {
-      start,
-      end,
-      time: end - start,
-    },
- 
-  };
-};
- 
-export const timeAsync = async<U>(fn: () => U): Promise<TimeWrapper<U>> => {
-  const start = performance.now();
-  const result = await fn();
-  const end = performance.now();
-  return {
-    result,
-    timing: {
-      start,
-      end,
-      time: end - start,
-    },
-  };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html deleted file mode 100644 index bcc29d157..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/profiling/transaction.ts.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - Code coverage report for src/profiling/transaction.ts - - - - - - - - - -
-
-

All files / src/profiling transaction.ts

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/17 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/39 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { startTransaction, getCurrentHub, Transaction } from '@sentry/browser';
- 
-/**
- * The status of an Span. {@see Span.setStatus}
- */
-const OK = 'ok';
-const UNKNOWN_ERROR = 'unknown_error';
- 
-const shouldProfile = () => {
-  switch (process.env.ENVIRONMENT) {
-    case 'production':
-    case 'beta':
-      return !!process.env.SENTRY_DSN;
-    default:
-      return false;
-  }
-};
- 
-interface TransactionOptions<U> {
-  name: string;
-  /**
-   * Optional string that will be used as transaction's description.
-   */
-  description?: string;
-  /**
-   * An optional stat extractor that will be called with the result of the wrapped function.
-   * @example
-   * ```ts
-   * wrapTransaction({
-   *  name: 'my-transaction',
-   * statExtractor: (result,transaction) => {
-   *   transaction.setMeasurement("memoryUsed", result.mem, "byte");
-   *  },()=>{...})
-   * ```
-   */
-  statExtractor?: (val: U, transaction: Transaction) => void
-}
- 
-// eslint-disable-next-line @typescript-eslint/ban-types
-export const wrapTransaction = async<U>(opts: TransactionOptions<U>, fn: () => U): Promise<U> => {
-  // Do not run profiling if we are not in production
-  if (!shouldProfile()) {
-    return fn();
-  }
- 
-  const transaction = startTransaction({ name: opts.name });
- 
-  getCurrentHub().configureScope((scope) => scope.setSpan(transaction));
-  const span = transaction.startChild({ op: fn.name, description: opts.description }); // This function returns a Span
- 
-  let result: U;
- 
-  try {
-    result = await fn();
-    if (opts.statExtractor) {
-      opts.statExtractor(result, transaction);
-    }
-    span.setStatus(OK);
-  } catch (err) {
-    span.setStatus(UNKNOWN_ERROR);
-    throw err;
-  } finally {
-    span.finish(); // Remember that only finished spans will be sent with the
-  }
- 
-  transaction.finish();
-  return result;
-};
- 
-export const spanTransaction = async<U>(opts: TransactionOptions<U>, fn: () => U): Promise<U> => {
-  // Do not run profiling if we are not in production
-  if (!shouldProfile()) {
-    return fn();
-  }
- 
-  const transaction = getCurrentHub().getScope().getTransaction();
-  const existingSpan = getCurrentHub().getScope().getSpan();
- 
-  let result: U;
-  if (transaction || existingSpan) {
-    // We attempt to make a subspan before creating a span directly from the transaction
-    const span = (existingSpan || transaction)!.startChild({
-      op: opts.name,
-      description: opts.description,
-    });
- 
-    try {
-      result = await fn();
- 
-      if (opts.statExtractor) {
-        opts.statExtractor(result, transaction!);
-      }
-      // Do something
-      span.setStatus(OK);
-    } catch (err) {
-      span.setStatus(UNKNOWN_ERROR);
-      throw err;
-    } finally {
-      span.finish();
-    }
-  } else {
-    result = fn();
-  }
- 
-  return result;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html deleted file mode 100644 index 995f66c1f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeApiProviderSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/activeApiProviderSelector.ts - - - - - - - - - -
-
-

All files / src/selectors activeApiProviderSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const activeApiProviderSelector = createSelector(uiStateSelector, (state) => state.api?.provider);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html deleted file mode 100644 index 52679c973..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTabSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/activeTabSelector.ts - - - - - - - - - -
-
-

All files / src/selectors activeTabSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const activeTabSelector = createSelector(
-  uiStateSelector,
-  (state) => state.activeTab,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html deleted file mode 100644 index 0535e7a75..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeThemeSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/activeThemeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors activeThemeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const activeThemeSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.activeTheme,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html deleted file mode 100644 index 17c3b1964..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetReadOnlySelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/activeTokenSetReadOnlySelector.ts - - - - - - - - - -
-
-

All files / src/selectors activeTokenSetReadOnlySelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const activeTokenSetReadOnlySelector = createSelector(
-  tokenStateSelector,
-  ({ activeTokenSet, tokenSetMetadata }) => tokenSetMetadata[activeTokenSet]?.isDynamic,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html deleted file mode 100644 index 08472fc05..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokenSetSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/activeTokenSetSelector.ts - - - - - - - - - -
-
-

All files / src/selectors activeTokenSetSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const activeTokenSetSelector = createSelector(
-  tokenStateSelector,
-  (tokenState) => tokenState.activeTokenSet,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html deleted file mode 100644 index f4e821a38..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/activeTokensTabSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/activeTokensTabSelector.ts - - - - - - - - - -
-
-

All files / src/selectors activeTokensTabSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const activeTokensTabSelector = createSelector(
-  uiStateSelector,
-  (state) => state.activeTokensTab,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html deleted file mode 100644 index 9155cf490..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/aliasBaseFontSizeSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/aliasBaseFontSizeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors aliasBaseFontSizeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const aliasBaseFontSizeSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.aliasBaseFontSize,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html deleted file mode 100644 index 2b21bb82f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/allTokenSetsSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/allTokenSetsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors allTokenSetsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const allTokenSetsSelector = createSelector(
-  tokenStateSelector,
-  (tokenState) => Object.keys(tokenState.tokens),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html deleted file mode 100644 index 8309dd1aa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiProvidersSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/apiProvidersSelector.ts - - - - - - - - - -
-
-

All files / src/selectors apiProvidersSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const apiProvidersSelector = createSelector(
-  uiStateSelector,
-  (state) => state.apiProviders,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html deleted file mode 100644 index d63c43197..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/apiSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/apiSelector.ts - - - - - - - - - -
-
-

All files / src/selectors apiSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { shallowEqual } from 'react-redux';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const apiSelector = createSelector(
-  uiStateSelector,
-  (state) => state.api,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: shallowEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html deleted file mode 100644 index f4383d605..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/backgroundJobsSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/backgroundJobsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors backgroundJobsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const backgroundJobsSelector = createSelector(
-  uiStateSelector,
-  (state) => state.backgroundJobs,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html deleted file mode 100644 index b16cf90ed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/baseFontSizeSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/baseFontSizeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors baseFontSizeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const baseFontSizeSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.baseFontSize,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html deleted file mode 100644 index 9d04ce0b6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/branchSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/branchSelector.ts - - - - - - - - - -
-
-

All files / src/selectors branchSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const branchSelector = (state: RootState) => state.branchState;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html deleted file mode 100644 index 683642bc7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/changedStateSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/changedStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors changedStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { isEqual } from '@/utils/isEqual';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const changedStateSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.changedState,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: isEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html deleted file mode 100644 index 135cbb187..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/changelogSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/changelogSelector.ts - - - - - - - - - -
-
-

All files / src/selectors changelogSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const changelogSelector = createSelector(
-  uiStateSelector,
-  (state) => state.changelog,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html deleted file mode 100644 index db4c71853..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/collapsedSelector.ts - - - - - - - - - -
-
-

All files / src/selectors collapsedSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const collapsedSelector = createSelector(
-  uiStateSelector,
-  (state) => state.collapsed,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html deleted file mode 100644 index 55aaee98b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenSetsSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/collapsedTokenSetsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors collapsedTokenSetsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const collapsedTokenSetsSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.collapsedTokenSets,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html deleted file mode 100644 index c39ed688e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokenTypeObjSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/collapsedTokenTypeObjSelector.ts - - - - - - - - - -
-
-

All files / src/selectors collapsedTokenTypeObjSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const collapsedTokenTypeObjSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.collapsedTokenTypeObj,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html deleted file mode 100644 index f295b95b9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/collapsedTokensSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/collapsedTokensSelector.ts - - - - - - - - - -
-
-

All files / src/selectors collapsedTokensSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const collapsedTokensSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.collapsedTokens,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html deleted file mode 100644 index 0845185af..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/confirmStateSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/confirmStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors confirmStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { shallowEqual } from 'react-redux';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const confirmStateSelector = createSelector(
-  uiStateSelector,
-  (state) => state.confirmState,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: shallowEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html deleted file mode 100644 index 1f37df2a4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/createStylesWithVariableReferencesSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/createStylesWithVariableReferencesSelector.ts - - - - - - - - - -
-
-

All files / src/selectors createStylesWithVariableReferencesSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const createStylesWithVariableReferencesSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.createStylesWithVariableReferences,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html deleted file mode 100644 index 7d2035cfc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/displayTypeSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/displayTypeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors displayTypeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const displayTypeSelector = createSelector(
-  uiStateSelector,
-  (state) => state.displayType,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html deleted file mode 100644 index f9ff03062..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/editProhibitedSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/editProhibitedSelector.ts - - - - - - - - - -
-
-

All files / src/selectors editProhibitedSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const editProhibitedSelector = createSelector(tokenStateSelector, (state) => state.editProhibited);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html deleted file mode 100644 index 272b81619..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/editTokenSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/editTokenSelector.ts - - - - - - - - - -
-
-

All files / src/selectors editTokenSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { shallowEqual } from 'react-redux';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const editTokenSelector = createSelector(
-  uiStateSelector,
-  (state) => state.editToken,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: shallowEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html deleted file mode 100644 index 52e41afe3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/figmaFontsSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/figmaFontsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors figmaFontsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const figmaFontsSelector = createSelector(
-  uiStateSelector,
-  (state) => state.figmaFonts,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html deleted file mode 100644 index 9e4487626..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getClientEmail.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/getClientEmail.ts - - - - - - - - - -
-
-

All files / src/selectors getClientEmail.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const clientEmailSelector = createSelector(userStateSelector, (state) => state.licenseDetails.clientEmail);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html deleted file mode 100644 index 68648bede..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getEntitlements.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/getEntitlements.ts - - - - - - - - - -
-
-

All files / src/selectors getEntitlements.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const entitlementsSelector = createSelector(userStateSelector, (state) => state.licenseDetails.entitlements);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html deleted file mode 100644 index f6ccd2f6e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/getLastopened.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/getLastopened.ts - - - - - - - - - -
-
-

All files / src/selectors getLastopened.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const getLastopened = createSelector(
-  uiStateSelector,
-  (state) => state.lastOpened,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html deleted file mode 100644 index cd8e93a45..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/hasUnsavedChangesSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/hasUnsavedChangesSelector.ts - - - - - - - - - -
-
-

All files / src/selectors hasUnsavedChangesSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const hasUnsavedChangesSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.hasUnsavedChanges,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html deleted file mode 100644 index 3fa154645..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/ignoreFirstPartForStylesSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/ignoreFirstPartForStylesSelector.ts - - - - - - - - - -
-
-

All files / src/selectors ignoreFirstPartForStylesSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const ignoreFirstPartForStylesSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.ignoreFirstPartForStyles,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html deleted file mode 100644 index 2a9890bd0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedThemesSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/importedThemesSelector.ts - - - - - - - - - -
-
-

All files / src/selectors importedThemesSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { isEqual } from '@/utils/isEqual';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const importedThemesSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.importedThemes,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: isEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html deleted file mode 100644 index fe8a20577..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/importedTokensSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/importedTokensSelector.ts - - - - - - - - - -
-
-

All files / src/selectors importedTokensSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { isEqual } from '@/utils/isEqual';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const importedTokensSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.importedTokens,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: isEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html deleted file mode 100644 index 07d1aebe2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.html +++ /dev/null @@ -1,1541 +0,0 @@ - - - - - - Code coverage report for src/selectors - - - - - - - - - -
-
-

All files src/selectors

-
- -
- 0% - Statements - 0/204 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/104 -
- - -
- 0% - Lines - 0/178 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
activeApiProviderSelector.ts -
-
0%0/2100%0/00%0/10%0/1
activeTabSelector.ts -
-
0%0/2100%0/00%0/10%0/2
activeThemeSelector.ts -
-
0%0/2100%0/00%0/10%0/2
activeTokenSetReadOnlySelector.ts -
-
0%0/2100%0/00%0/10%0/2
activeTokenSetSelector.ts -
-
0%0/2100%0/00%0/10%0/2
activeTokensTabSelector.ts -
-
0%0/2100%0/00%0/10%0/2
aliasBaseFontSizeSelector.ts -
-
0%0/2100%0/00%0/10%0/2
allTokenSetsSelector.ts -
-
0%0/2100%0/00%0/10%0/2
apiProvidersSelector.ts -
-
0%0/2100%0/00%0/10%0/2
apiSelector.ts -
-
0%0/2100%0/00%0/10%0/2
backgroundJobsSelector.ts -
-
0%0/2100%0/00%0/10%0/2
baseFontSizeSelector.ts -
-
0%0/2100%0/00%0/10%0/2
branchSelector.ts -
-
0%0/2100%0/00%0/10%0/1
changedStateSelector.ts -
-
0%0/2100%0/00%0/10%0/2
changelogSelector.ts -
-
0%0/2100%0/00%0/10%0/2
collapsedSelector.ts -
-
0%0/2100%0/00%0/10%0/2
collapsedTokenSetsSelector.ts -
-
0%0/2100%0/00%0/10%0/2
collapsedTokenTypeObjSelector.ts -
-
0%0/2100%0/00%0/10%0/2
collapsedTokensSelector.ts -
-
0%0/2100%0/00%0/10%0/2
confirmStateSelector.ts -
-
0%0/2100%0/00%0/10%0/2
createStylesWithVariableReferencesSelector.ts -
-
0%0/2100%0/00%0/10%0/2
displayTypeSelector.ts -
-
0%0/2100%0/00%0/10%0/2
editProhibitedSelector.ts -
-
0%0/2100%0/00%0/10%0/1
editTokenSelector.ts -
-
0%0/2100%0/00%0/10%0/2
figmaFontsSelector.ts -
-
0%0/2100%0/00%0/10%0/2
getClientEmail.ts -
-
0%0/2100%0/00%0/10%0/1
getEntitlements.ts -
-
0%0/2100%0/00%0/10%0/1
getLastopened.ts -
-
0%0/2100%0/00%0/10%0/2
hasUnsavedChangesSelector.ts -
-
0%0/2100%0/00%0/10%0/2
ignoreFirstPartForStylesSelector.ts -
-
0%0/2100%0/00%0/10%0/2
importedThemesSelector.ts -
-
0%0/2100%0/00%0/10%0/2
importedTokensSelector.ts -
-
0%0/2100%0/00%0/10%0/2
index.ts -
-
0%0/00%0/00%0/00%0/0
inspectDeepSelector.ts -
-
0%0/2100%0/00%0/10%0/2
inspectStateSelector.ts -
-
0%0/2100%0/00%0/10%0/1
isWaitingForBackgroundJobSelector.ts -
-
0%0/60%0/80%0/30%0/4
languageSelector.ts -
-
0%0/2100%0/00%0/10%0/2
lastSyncedStateSelector.ts -
-
0%0/2100%0/00%0/10%0/2
licenseDetailsSelector.ts -
-
0%0/2100%0/00%0/10%0/1
licenseKeyErrorSelector.ts -
-
0%0/2100%0/00%0/10%0/1
licenseKeySelector.ts -
-
0%0/2100%0/00%0/10%0/1
licenseStatusSelector.ts -
-
0%0/2100%0/00%0/10%0/1
localApiStateBranchSelector.ts -
-
0%0/40%0/20%0/10%0/4
localApiStateSelector.ts -
-
0%0/2100%0/00%0/10%0/2
mainNodeSelectionValuesSelector.ts -
-
0%0/2100%0/00%0/10%0/2
manageThemesModalOpenSelector.ts -
-
0%0/2100%0/00%0/10%0/2
planSelector.ts -
-
0%0/2100%0/00%0/10%0/1
prefixStylesWithThemeNameSelector.ts -
-
0%0/2100%0/00%0/10%0/2
projectURLSelector.ts -
-
0%0/2100%0/00%0/10%0/2
remoteDataSelector.ts -
-
0%0/2100%0/00%0/10%0/2
removeStylesAndVariablesWithoutConnectionSelector.ts -
-
0%0/2100%0/00%0/10%0/2
renameExistingStylesAndVariablesSelector.ts -
-
0%0/2100%0/00%0/10%0/2
rootStateSelector.ts -
-
0%0/2100%0/00%0/10%0/1
scrollPositionSetSelector.ts -
-
0%0/2100%0/00%0/10%0/2
secondScreenSelector.ts -
-
0%0/2100%0/00%0/10%0/1
sessionRecordingSelector.ts -
-
0%0/2100%0/00%0/10%0/2
settingsStateSelector.ts -
-
0%0/2100%0/00%0/10%0/1
showAutoSuggestSelector.ts -
-
0%0/2100%0/00%0/10%0/2
showConvertTokenFormatModalSelector.ts -
-
0%0/2100%0/00%0/10%0/2
showEditFormSelector.ts -
-
0%0/2100%0/00%0/10%0/2
showEmptyGroupsSelector.ts -
-
0%0/2100%0/00%0/10%0/2
showPullDialogSelector.ts -
-
0%0/2100%0/00%0/10%0/2
showPushDialogSelector.ts -
-
0%0/2100%0/00%0/10%0/2
storageTypeSelector.ts -
-
0%0/2100%0/00%0/10%0/2
storeTokenIdInJsonEditorSelector.ts -
-
0%0/2100%0/00%0/10%0/2
stringTokensSelector.ts -
-
0%0/2100%0/00%0/10%0/2
stylesColorSelector.ts -
-
0%0/2100%0/00%0/10%0/2
stylesEffectSelector.ts -
-
0%0/2100%0/00%0/10%0/2
stylesTypographySelector.ts -
-
0%0/2100%0/00%0/10%0/2
themeByIdSelector.ts -
-
0%0/50%0/20%0/30%0/4
themeObjectsSelector.ts -
-
0%0/2100%0/00%0/10%0/2
themeOptionsSelector.ts -
-
0%0/3100%0/00%0/20%0/2
themesListSelector.ts -
-
0%0/2100%0/00%0/10%0/2
themesSizeSelector.ts -
-
0%0/3100%0/00%0/20%0/3
tokenFilterSelector.ts -
-
0%0/2100%0/00%0/10%0/2
tokenFormatSelector.ts -
-
0%0/2100%0/00%0/10%0/2
tokenSetMetadataSelector.ts -
-
0%0/2100%0/00%0/10%0/1
tokenSetStatusSelector.ts -
-
0%0/30%0/20%0/20%0/3
tokenStateSelector.ts -
-
0%0/2100%0/00%0/10%0/1
tokenTypeSelector.ts -
-
0%0/2100%0/00%0/10%0/2
tokensSelector.ts -
-
0%0/2100%0/00%0/10%0/2
tokensSizeSelector.ts -
-
0%0/3100%0/00%0/20%0/3
tokensStudioPATSelector.ts -
-
0%0/3100%0/00%0/20%0/3
uiDisabledSelector.ts -
-
0%0/2100%0/00%0/10%0/2
uiStateSelector.ts -
-
0%0/2100%0/00%0/10%0/1
updateModeSelector.ts -
-
0%0/20%0/20%0/10%0/2
usedEmailSelector.ts -
-
0%0/2100%0/00%0/10%0/1
usedTokenSetSelector.ts -
-
0%0/2100%0/00%0/10%0/2
userIdSelector.ts -
-
0%0/2100%0/00%0/10%0/1
userNameSelector.ts -
-
0%0/2100%0/00%0/10%0/1
userStateSelector.ts -
-
0%0/2100%0/00%0/10%0/1
variablesBooleanSelector.ts -
-
0%0/2100%0/00%0/10%0/2
variablesColorSelector.ts -
-
0%0/2100%0/00%0/10%0/2
variablesNumberSelector.ts -
-
0%0/2100%0/00%0/10%0/2
variablesStringSelector.ts -
-
0%0/2100%0/00%0/10%0/2
windowSizeSelector.ts -
-
0%0/2100%0/00%0/10%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html deleted file mode 100644 index 4b539d9d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/index.ts.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - Code coverage report for src/selectors/index.ts - - - - - - - - - -
-
-

All files / src/selectors index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './tokenStateSelector';
-export * from './uiStateSelector';
-export * from './settingsStateSelector';
-export * from './editProhibitedSelector';
-export * from './confirmStateSelector';
-export * from './tokensSelector';
-export * from './localApiStateSelector';
-export * from './usedTokenSetSelector';
-export * from './activeTokenSetSelector';
-export * from './activeTokenSetReadOnlySelector';
-export * from './apiSelector';
-export * from './showPushDialogSelector';
-export * from './showPullDialogSelector';
-export * from './mainNodeSelectionValuesSelector';
-export * from './storageTypeSelector';
-export * from './ignoreFirstPartForStylesSelector';
-export * from './apiProvidersSelector';
-export * from './activeApiProviderSelector';
-export * from './hasUnsavedChangesSelector';
-export * from './activeTabSelector';
-export * from './changelogSelector';
-export * from './projectURLSelector';
-export * from './lastSyncedStateSelector';
-export * from './editTokenSelector';
-export * from './importedTokensSelector';
-export * from './showEditFormSelector';
-export * from './tokenFilterSelector';
-export * from './tokenTypeSelector';
-export * from './inspectStateSelector';
-export * from './inspectDeepSelector';
-export * from './backgroundJobsSelector';
-export * from './showEmptyGroupsSelector';
-export * from './updateModeSelector';
-export * from './displayTypeSelector';
-export * from './collapsedSelector';
-export * from './uiDisabledSelector';
-export * from './themeOptionsSelector';
-export * from './activeThemeSelector';
-export * from './themesListSelector';
-export * from './manageThemesModalOpenSelector';
-export * from './branchSelector';
-export * from './rootStateSelector';
-export * from './windowSizeSelector';
-export * from './tokenSetStatusSelector';
-export * from './tokenSetMetadataSelector';
-export * from './allTokenSetsSelector';
-export * from './licenseStatusSelector';
-export * from './localApiStateBranchSelector';
-export * from './prefixStylesWithThemeNameSelector';
-export * from './renameExistingStylesAndVariablesSelector';
-export * from './removeStylesAndVariablesWithoutConnectionSelector';
-export * from './collapsedTokenSetsSelector';
-export * from './collapsedTokenTypeObjSelector';
-export * from './scrollPositionSetSelector';
-export * from './themeObjectsSelector';
-export * from './themeByIdSelector';
-export * from './isWaitingForBackgroundJobSelector';
-export * from './licenseDetailsSelector';
-export * from './getLastopened';
-export * from './baseFontSizeSelector';
-export * from './aliasBaseFontSizeSelector';
-export * from './figmaFontsSelector';
-export * from './changedStateSelector';
-export * from './remoteDataSelector';
-export * from './languageSelector';
-export * from './storeTokenIdInJsonEditorSelector';
-export * from './variablesColorSelector';
-export * from './variablesNumberSelector';
-export * from './variablesStringSelector';
-export * from './variablesBooleanSelector';
-export * from './stylesColorSelector';
-export * from './stylesTypographySelector';
-export * from './stylesEffectSelector';
-export * from './createStylesWithVariableReferencesSelector';
-export * from './importedThemesSelector';
-export * from './tokensSizeSelector';
-export * from './themesSizeSelector';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html deleted file mode 100644 index fbb71b8ab..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectDeepSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/inspectDeepSelector.ts - - - - - - - - - -
-
-

All files / src/selectors inspectDeepSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const inspectDeepSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.inspectDeep,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html deleted file mode 100644 index 4cb9263a1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/inspectStateSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/inspectStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors inspectStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const inspectStateSelector = (state: RootState) => state.inspectState;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html deleted file mode 100644 index f3d9acd9d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/isWaitingForBackgroundJobSelector.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/selectors/isWaitingForBackgroundJobSelector.ts - - - - - - - - - -
-
-

All files / src/selectors isWaitingForBackgroundJobSelector.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import type { RootState } from '@/app/store';
-import { BackgroundJobs } from '@/constants/BackgroundJobs';
-import { backgroundJobsSelector } from './backgroundJobsSelector';
- 
-const backgroundJobArgSelector = (state: RootState, job: BackgroundJobs) => job;
- 
-export const isWaitingForBackgroundJobSelector = createSelector(
-  backgroundJobsSelector,
-  backgroundJobArgSelector,
-  (jobs, name) => {
-    const jobInfo = jobs.find((job) => job.name === name);
-    return (
-      jobInfo?.isInfinite
-      || (jobInfo && (jobInfo.completedTasks ?? 0) >= (jobInfo.totalTasks ?? 0))
-    ) ?? false;
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html deleted file mode 100644 index 854236774..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/languageSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/languageSelector.ts - - - - - - - - - -
-
-

All files / src/selectors languageSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const languageSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.language,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html deleted file mode 100644 index ff8e4c83b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/lastSyncedStateSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/lastSyncedStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors lastSyncedStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const lastSyncedStateSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.lastSyncedState,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html deleted file mode 100644 index f42eaa607..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseDetailsSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/licenseDetailsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors licenseDetailsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const licenseDetailsSelector = createSelector(userStateSelector, (state) => state.licenseDetails);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html deleted file mode 100644 index 3247716c1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeyErrorSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/licenseKeyErrorSelector.ts - - - - - - - - - -
-
-

All files / src/selectors licenseKeyErrorSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const licenseKeyErrorSelector = createSelector(userStateSelector, (state) => state.licenseError);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html deleted file mode 100644 index 4e6a58397..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseKeySelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/licenseKeySelector.ts - - - - - - - - - -
-
-

All files / src/selectors licenseKeySelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const licenseKeySelector = createSelector(userStateSelector, (state) => state.licenseKey);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html deleted file mode 100644 index e1d6fd259..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/licenseStatusSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/licenseStatusSelector.ts - - - - - - - - - -
-
-

All files / src/selectors licenseStatusSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const licenseStatusSelector = createSelector(userStateSelector, (state) => state.licenseStatus);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html deleted file mode 100644 index ce68ab806..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateBranchSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/localApiStateBranchSelector.ts - - - - - - - - - -
-
-

All files / src/selectors localApiStateBranchSelector.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { localApiStateSelector } from './localApiStateSelector';
-import { isGitProvider } from '@/utils/is';
- 
-export const localApiStateBranchSelector = createSelector(
-  localApiStateSelector,
-  (api) => {
-    if (isGitProvider(api)) {
-      return api.branch;
-    }
-    return null;
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html deleted file mode 100644 index 01baa7a3f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/localApiStateSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/localApiStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors localApiStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const localApiStateSelector = createSelector(
-  uiStateSelector,
-  (state) => state.localApiState,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html deleted file mode 100644 index 6d5c6af52..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/mainNodeSelectionValuesSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/mainNodeSelectionValuesSelector.ts - - - - - - - - - -
-
-

All files / src/selectors mainNodeSelectionValuesSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { shallowEqual } from 'react-redux';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const mainNodeSelectionValuesSelector = createSelector(
-  uiStateSelector,
-  (state) => state.mainNodeSelectionValues,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: shallowEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html deleted file mode 100644 index 10f8fb140..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/manageThemesModalOpenSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/manageThemesModalOpenSelector.ts - - - - - - - - - -
-
-

All files / src/selectors manageThemesModalOpenSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const manageThemesModalOpenSelector = createSelector(
-  uiStateSelector,
-  (state) => state.manageThemesModalOpen,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html deleted file mode 100644 index 8327ecb4c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/planSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/planSelector.ts - - - - - - - - - -
-
-

All files / src/selectors planSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const planSelector = createSelector(userStateSelector, (state) => state.licenseDetails.plan);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html deleted file mode 100644 index 939983608..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/prefixStylesWithThemeNameSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/prefixStylesWithThemeNameSelector.ts - - - - - - - - - -
-
-

All files / src/selectors prefixStylesWithThemeNameSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const prefixStylesWithThemeNameSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.prefixStylesWithThemeName,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html deleted file mode 100644 index 47e99b643..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/projectURLSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/projectURLSelector.ts - - - - - - - - - -
-
-

All files / src/selectors projectURLSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const projectURLSelector = createSelector(
-  uiStateSelector,
-  (state) => state.projectURL,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html deleted file mode 100644 index c932b2de4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/remoteDataSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/remoteDataSelector.ts - - - - - - - - - -
-
-

All files / src/selectors remoteDataSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { shallowEqual } from 'react-redux';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const remoteDataSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.remoteData,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: shallowEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html deleted file mode 100644 index e060937e6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts - - - - - - - - - -
-
-

All files / src/selectors removeStylesAndVariablesWithoutConnectionSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const removeStylesAndVariablesWithoutConnectionSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.removeStylesAndVariablesWithoutConnection,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html deleted file mode 100644 index 4fb8eecf5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/renameExistingStylesAndVariablesSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/renameExistingStylesAndVariablesSelector.ts - - - - - - - - - -
-
-

All files / src/selectors renameExistingStylesAndVariablesSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const renameExistingStylesAndVariablesSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.renameExistingStylesAndVariables,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html deleted file mode 100644 index bd5a011f2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/rootStateSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/rootStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors rootStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const rootStateSelector = (state: RootState) => state;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html deleted file mode 100644 index b63abff7d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/scrollPositionSetSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/scrollPositionSetSelector.ts - - - - - - - - - -
-
-

All files / src/selectors scrollPositionSetSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const scrollPositionSetSelector = createSelector(
-  uiStateSelector,
-  (state) => state.scrollPositionSet,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html deleted file mode 100644 index 2e6471e47..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/secondScreenSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/secondScreenSelector.ts - - - - - - - - - -
-
-

All files / src/selectors secondScreenSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const secondScreenSelector = createSelector(uiStateSelector, (state) => state.secondScreenEnabled);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html deleted file mode 100644 index b5337bd03..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/sessionRecordingSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/sessionRecordingSelector.ts - - - - - - - - - -
-
-

All files / src/selectors sessionRecordingSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const sessionRecordingSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.sessionRecording,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html deleted file mode 100644 index 66c02069a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/settingsStateSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/settingsStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors settingsStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const settingsStateSelector = (state: RootState) => state.settings;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html deleted file mode 100644 index b5012a662..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showAutoSuggestSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/showAutoSuggestSelector.ts - - - - - - - - - -
-
-

All files / src/selectors showAutoSuggestSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const showAutoSuggestSelector = createSelector(
-  uiStateSelector,
-  (state) => state.showAutoSuggest,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html deleted file mode 100644 index 4cbe85104..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showConvertTokenFormatModalSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/showConvertTokenFormatModalSelector.ts - - - - - - - - - -
-
-

All files / src/selectors showConvertTokenFormatModalSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const showConvertTokenFormatModalSelector = createSelector(
-  uiStateSelector,
-  (state) => state.showConvertTokenFormatModal,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html deleted file mode 100644 index 33dc0d88e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEditFormSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/showEditFormSelector.ts - - - - - - - - - -
-
-

All files / src/selectors showEditFormSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const showEditFormSelector = createSelector(
-  uiStateSelector,
-  (state) => state.showEditForm,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html deleted file mode 100644 index da7a429cd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showEmptyGroupsSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/showEmptyGroupsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors showEmptyGroupsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const showEmptyGroupsSelector = createSelector(
-  uiStateSelector,
-  (state) => state.showEmptyGroups,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html deleted file mode 100644 index 7e7576eea..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPullDialogSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/showPullDialogSelector.ts - - - - - - - - - -
-
-

All files / src/selectors showPullDialogSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const showPullDialogSelector = createSelector(
-  uiStateSelector,
-  (state) => state.showPullDialog,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html deleted file mode 100644 index 54a255b7e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/showPushDialogSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/showPushDialogSelector.ts - - - - - - - - - -
-
-

All files / src/selectors showPushDialogSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const showPushDialogSelector = createSelector(
-  uiStateSelector,
-  (state) => state.showPushDialog,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html deleted file mode 100644 index 56af1bec8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/storageTypeSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/storageTypeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors storageTypeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const storageTypeSelector = createSelector(
-  uiStateSelector,
-  (state) => state.storageType,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html deleted file mode 100644 index 3f1c25bd5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/storeTokenIdInJsonEditorSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/storeTokenIdInJsonEditorSelector.ts - - - - - - - - - -
-
-

All files / src/selectors storeTokenIdInJsonEditorSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const storeTokenIdInJsonEditorSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.storeTokenIdInJsonEditor,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html deleted file mode 100644 index 49e8574ce..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stringTokensSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/stringTokensSelector.ts - - - - - - - - - -
-
-

All files / src/selectors stringTokensSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const stringTokensSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.stringTokens,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html deleted file mode 100644 index 721bc127a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesColorSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/stylesColorSelector.ts - - - - - - - - - -
-
-

All files / src/selectors stylesColorSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const stylesColorSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.stylesColor,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html deleted file mode 100644 index c5a0ed7fe..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesEffectSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/stylesEffectSelector.ts - - - - - - - - - -
-
-

All files / src/selectors stylesEffectSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const stylesEffectSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.stylesEffect,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html deleted file mode 100644 index 1ead52ebc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/stylesTypographySelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/stylesTypographySelector.ts - - - - - - - - - -
-
-

All files / src/selectors stylesTypographySelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const stylesTypographySelector = createSelector(
-  settingsStateSelector,
-  (state) => state.stylesTypography,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html deleted file mode 100644 index c83280d3b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeByIdSelector.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/selectors/themeByIdSelector.ts - - - - - - - - - -
-
-

All files / src/selectors themeByIdSelector.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { themesListSelector } from './themesListSelector';
-import type { RootState } from '@/app/store';
- 
-const idSelector = (state: RootState, id: string) => id;
-export const themeByIdSelector = createSelector(
-  idSelector,
-  themesListSelector,
-  (id, themes) => (
-    themes.find((theme) => (
-      theme.id === id
-    )) ?? null
-  ),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html deleted file mode 100644 index c2d6e32e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeObjectsSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/themeObjectsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors themeObjectsSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const themeObjectsSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.themes,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html deleted file mode 100644 index f41ba2f38..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themeOptionsSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/themeOptionsSelector.ts - - - - - - - - - -
-
-

All files / src/selectors themeOptionsSelector.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const themeOptionsSelector = createSelector(
-  tokenStateSelector,
-  (state) => (
-    Object.values(state.themes).map(({ id, name, group }) => ({
-      value: id,
-      label: name,
-      group,
-    }))
-  ),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html deleted file mode 100644 index fe7baaf72..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesListSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/themesListSelector.ts - - - - - - - - - -
-
-

All files / src/selectors themesListSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const themesListSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.themes,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html deleted file mode 100644 index 2edc59bdf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/themesSizeSelector.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/selectors/themesSizeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors themesSizeSelector.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const themesSizeSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.themesSize,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: (a, b) => a === b,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html deleted file mode 100644 index 4a85e306d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFilterSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokenFilterSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokenFilterSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const tokenFilterSelector = createSelector(
-  uiStateSelector,
-  (state) => state.tokenFilter,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html deleted file mode 100644 index a729a3b97..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenFormatSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokenFormatSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokenFormatSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const tokenFormatSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.tokenFormat,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html deleted file mode 100644 index 4018f86b5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetMetadataSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokenSetMetadataSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokenSetMetadataSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const tokenSetMetadataSelector = createSelector(tokenStateSelector, (state) => state.tokenSetMetadata);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html deleted file mode 100644 index 7a3a8ade7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenSetStatusSelector.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokenSetStatusSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokenSetStatusSelector.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { usedTokenSetSelector } from './usedTokenSetSelector';
-import type { RootState } from '@/app/store';
- 
-export const tokenSetStatusSelector = createSelector(
-  usedTokenSetSelector,
-  (state: RootState, tokenSet: string) => tokenSet,
-  (usedTokenSets, tokenSet) => (
-    usedTokenSets?.[tokenSet] ?? TokenSetStatus.DISABLED
-  ),
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html deleted file mode 100644 index 8e7f640d4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenStateSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokenStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokenStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const tokenStateSelector = (state: RootState) => state.tokenState;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html deleted file mode 100644 index e0c3790b0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokenTypeSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokenTypeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokenTypeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const tokenTypeSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.tokenType,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html deleted file mode 100644 index 0f95414a2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSelector.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokensSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokensSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { isEqual } from '@/utils/isEqual';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const tokensSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.tokens,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: isEqual,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html deleted file mode 100644 index 871f8060d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensSizeSelector.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokensSizeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokensSizeSelector.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const tokensSizeSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.tokensSize,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: (a, b) => a === b,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html deleted file mode 100644 index bacf35c9c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/tokensStudioPATSelector.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/selectors/tokensStudioPATSelector.ts - - - - - - - - - -
-
-

All files / src/selectors tokensStudioPATSelector.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const tokensStudioPATSelector = createSelector(
-  userStateSelector,
-  (userState) => userState.tokensStudioPAT,
-  {
-    memoizeOptions: {
-      resultEqualityCheck: (a, b) => a === b,
-    },
-  },
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html deleted file mode 100644 index 644cd5eeb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiDisabledSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/uiDisabledSelector.ts - - - - - - - - - -
-
-

All files / src/selectors uiDisabledSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { uiStateSelector } from './uiStateSelector';
- 
-export const uiDisabledSelector = createSelector(
-  uiStateSelector,
-  (state) => state.disabled,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html deleted file mode 100644 index e9aa05449..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/uiStateSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/uiStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors uiStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const uiStateSelector = (state: RootState) => state.uiState;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html deleted file mode 100644 index 2cb889296..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/updateModeSelector.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/selectors/updateModeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors updateModeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { UpdateMode } from '@/constants/UpdateMode';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const updateModeSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.updateMode ?? UpdateMode.PAGE,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html deleted file mode 100644 index ffd2604d5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedEmailSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/usedEmailSelector.ts - - - - - - - - - -
-
-

All files / src/selectors usedEmailSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const usedEmailSelector = createSelector(userStateSelector, (state) => state.usedEmail);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html deleted file mode 100644 index a723840e8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/usedTokenSetSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/usedTokenSetSelector.ts - - - - - - - - - -
-
-

All files / src/selectors usedTokenSetSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { tokenStateSelector } from './tokenStateSelector';
- 
-export const usedTokenSetSelector = createSelector(
-  tokenStateSelector,
-  (state) => state.usedTokenSet,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html deleted file mode 100644 index ae93eccb2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userIdSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/userIdSelector.ts - - - - - - - - - -
-
-

All files / src/selectors userIdSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const userIdSelector = createSelector(userStateSelector, (state) => state.userId);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html deleted file mode 100644 index a7c88a6bb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userNameSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/userNameSelector.ts - - - - - - - - - -
-
-

All files / src/selectors userNameSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { userStateSelector } from './userStateSelector';
- 
-export const userNameSelector = createSelector(userStateSelector, (state) => state.userName);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html deleted file mode 100644 index 0202a96be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/userStateSelector.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/selectors/userStateSelector.ts - - - - - - - - - -
-
-

All files / src/selectors userStateSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { RootState } from '@/app/store';
- 
-export const userStateSelector = (state: RootState) => state.userState;
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html deleted file mode 100644 index dfd59d37b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesBooleanSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/variablesBooleanSelector.ts - - - - - - - - - -
-
-

All files / src/selectors variablesBooleanSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const variablesBooleanSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.variablesBoolean,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html deleted file mode 100644 index 7db703833..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesColorSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/variablesColorSelector.ts - - - - - - - - - -
-
-

All files / src/selectors variablesColorSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const variablesColorSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.variablesColor,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html deleted file mode 100644 index 70643b265..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesNumberSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/variablesNumberSelector.ts - - - - - - - - - -
-
-

All files / src/selectors variablesNumberSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const variablesNumberSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.variablesNumber,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html deleted file mode 100644 index 23da90957..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/variablesStringSelector.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/selectors/variablesStringSelector.ts - - - - - - - - - -
-
-

All files / src/selectors variablesStringSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const variablesStringSelector = createSelector(
-  settingsStateSelector,
-  (state) => state.variablesString,
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html deleted file mode 100644 index a211a1a11..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/selectors/windowSizeSelector.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/selectors/windowSizeSelector.ts - - - - - - - - - -
-
-

All files / src/selectors windowSizeSelector.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { createSelector } from 'reselect';
-import { settingsStateSelector } from './settingsStateSelector';
- 
-export const windowSizeSelector = createSelector(settingsStateSelector, (state) => state.uiWindow);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html deleted file mode 100644 index c8f86e167..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/stitches.config.ts.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - Code coverage report for src/stitches.config.ts - - - - - - - - - -
-
-

All files / src stitches.config.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// stitches.config.ts
-import { createStitches } from '@stitches/react';
-import { lightFigmaTheme as lightTheme, darkFigmaTheme as darkTheme, core } from '@tokens-studio/tokens';
- 
-export const stitchesInstance = createStitches({
-  theme: {
-    colors: {
-      ...lightTheme.colors,
-      // TODO: We need to add these to the ui tokens.
-      proBg: '#e1d8ec',
-      proBorder: '#c2b2d8',
-      proFg: '#694993',
-    },
-    shadows: lightTheme.shadows,
-    ...core,
-    fontWeights: {
-      ...core.fontWeights,
-      // TODO: We should likely make everything 500 and get rid of 600
-      sansBold: 500,
-    },
-    fontSizes: {
-      ...core.fontSizes,
-      // TODO: We should remove this once we have a way to choose density / font size
-      xxsmall: '11px !important',
-      xsmall: '11px !important',
-      small: '12px !important',
-      base: '13px !important',
-      medium: '13px !important',
-      large: '14px !important',
-    },
-    radii: {
-      ...core.radii,
-      // TODO: Add to tokens
-      full: '999px',
-    },
-    sizes: {
-      ...core.sizes,
-      // TODO: Add to tokens
-      scrollbarWidth: '8px',
-    },
-  },
-});
- 
-const {
-  createTheme, styled, css, keyframes, theme, globalCss,
-} = stitchesInstance;
- 
-const lightThemeMode = createTheme('figma-light', {
-  colors: {
-    ...lightTheme.colors,
-    // TODO: We need to add these to the ui tokens.
-    proBg: '#e1d8ec',
-    proBorder: '#c2b2d8',
-    proFg: '#694993',
-  },
-  shadows: lightTheme.shadows,
-});
- 
-const darkThemeMode = createTheme('figma-dark', {
-  colors: {
-    ...darkTheme.colors,
-    // TODO: We need to add these to the ui tokens.
-    proBg: '#402d5a',
-    proBorder: '#694993',
-    proFg: '#c2b2d8',
-  },
-  shadows: darkTheme.shadows,
-});
- 
-export {
-  lightThemeMode, darkThemeMode, styled, css, keyframes, theme, globalCss,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html deleted file mode 100644 index afd41a49e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/ADOTokenStorage.ts.html +++ /dev/null @@ -1,1435 +0,0 @@ - - - - - - Code coverage report for src/storage/ADOTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage ADOTokenStorage.ts

-
- -
- 0% - Statements - 0/126 -
- - -
- 0% - Branches - 0/85 -
- - -
- 0% - Functions - 0/31 -
- - -
- 0% - Lines - 0/119 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as GitInterfaces from 'azure-devops-node-api/interfaces/GitInterfaces';
-import compact from 'just-compact';
-import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageTypeCredentials } from '@/types/StorageType';
-import { GitTokenStorage } from './GitTokenStorage';
-import {
-  RemoteTokenstorageErrorMessage,
-  RemoteTokenStorageFile, RemoteTokenStorageMetadataFile, RemoteTokenStorageSingleTokenSetFile, RemoteTokenStorageThemesFile,
-} from './RemoteTokenStorage';
-import { multiFileSchema, complexSingleFileSchema } from './schemas';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { AnyTokenSet } from '@/types/tokens';
- 
-const apiVersion = 'api-version=6.0';
- 
-enum ChangeType {
-  add = 'add',
-  edit = 'edit',
-  delete = 'delete',
-}
-enum ContentType {
-  rawtext = 'rawtext',
-}
- 
-interface FetchGit {
-  body?: string
-  gitResource: 'refs' | 'items' | 'pushes' | 'commits'
-  method?: 'GET' | 'POST'
-  orgUrl?: string
-  params?: Record<string, string | boolean>
-  projectId?: string
-  repositoryId: string
-  token: string
-}
- 
-type PostPushesArgs = {
-  branch: string
-  changes: Record<string, any>
-  commitMessage?: string
-  oldObjectId?: string
-};
- 
-type PostRefsArgs = {
-  name: string
-  oldObjectId: string
-  newObjectId: string
-};
- 
-export class ADOTokenStorage extends GitTokenStorage {
-  protected orgUrl: string;
- 
-  protected projectId?: string;
- 
-  protected source: string;
- 
-  protected previousSourceBranch?: string;
- 
-  constructor({
-    baseUrl: orgUrl = '',
-    secret,
-    id: repositoryId,
-    name: projectId,
-    branch,
-    previousSourceBranch = 'main',
-  }: Pick<
-  Extract<StorageTypeCredentials, { provider: StorageProviderType.ADO }>,
-  'baseUrl' | 'secret' | 'id' | 'name' | 'branch' | 'previousSourceBranch'
-  >) {
-    super(secret, '', repositoryId, orgUrl);
-    this.orgUrl = orgUrl;
-    this.projectId = projectId;
-    this.previousSourceBranch = previousSourceBranch;
-    this.source = branch;
-  }
- 
-  public setSource(source: string) {
-    this.source = source;
-  }
- 
-  public async fetchGit({
-    body,
-    gitResource,
-    orgUrl,
-    params,
-    projectId,
-    repositoryId,
-    token,
-    method = 'GET',
-  }: FetchGit): Promise<Response> {
-    const paramString = params
-      ? Object.entries(params).reduce<string>((acc, [key, value]) => `${acc}${key}=${value}&`, '') + apiVersion
-      : apiVersion;
-    const input = `${orgUrl}/${projectId ? `${projectId}/` : ''}_apis/git/repositories/${repositoryId}/${gitResource}?${paramString}`;
-    const res = await fetch(
-      input,
-      {
-        method,
-        headers: {
-          'Content-Type': 'application/json',
-          Authorization: `Basic ${btoa(`:${token}`)}`,
-        },
-        body,
-      },
-    );
-    return res;
-  }
- 
-  public async canWrite(): Promise<boolean> {
-    if (!this.path.endsWith('.json') && !this.flags.multiFileEnabled) return false;
- 
-    const { status } = await this.fetchGit({
-      gitResource: 'refs',
-      orgUrl: this.orgUrl,
-      params: {
-        filter: 'heads',
-      },
-      projectId: this.projectId,
-      repositoryId: this.repository,
-      token: this.secret,
-    });
-    return status === 200;
-  }
- 
-  private async getRefs(filter: string = 'heads'): Promise<{ count: number, value: GitInterfaces.GitRef[] }> {
-    try {
-      const response = await this.fetchGit({
-        gitResource: 'refs',
-        orgUrl: this.orgUrl,
-        params: { filter },
-        projectId: this.projectId,
-        repositoryId: this.repository,
-        token: this.secret,
-      });
-      return await response.json();
-    } catch (e) {
-      console.log(e);
-      return { count: 0, value: [] };
-    }
-  }
- 
-  private async postRefs(body: PostRefsArgs) {
-    try {
-      const response = await this.fetchGit({
-        method: 'POST',
-        gitResource: 'refs',
-        orgUrl: this.orgUrl,
-        body: JSON.stringify([body]),
-        projectId: this.projectId,
-        repositoryId: this.repository,
-        token: this.secret,
-      });
-      return await response.json();
-    } catch (e) {
-      console.log(e);
-      return { count: 0, value: [] };
-    }
-  }
- 
-  public async fetchBranches() {
-    const { value } = await this.getRefs();
-    const branches:string[] = [];
-    for (const val of value) {
-      if (val.name) {
-        branches.push(val.name.replace(/^refs\/heads\//, ''));
-      }
-    }
-    return branches;
-  }
- 
-  public async createBranch(branch: string, source: string = this.branch): Promise<boolean> {
-    const { value } = await this.getRefs(`heads/${source}`);
-    if (value[0]?.objectId) {
-      const response = await this.postRefs({
-        name: `refs/heads/${branch}`,
-        oldObjectId: '0000000000000000000000000000000000000000',
-        newObjectId: value[0].objectId,
-      });
-      return response?.value[0]?.success ?? false;
-    }
-    return false;
-  }
- 
-  private async getOldObjectId(branch: string, shouldCreateBranch: boolean) {
-    const { value } = await this.getRefs();
-    const branches = new Map<string, GitInterfaces.GitRef>();
-    for (const val of value) {
-      if (val.name) {
-        branches.set(val.name.replace(/^refs\/heads\//, ''), val);
-      }
-    }
-    const sourceBranch = this.previousSourceBranch || this.source;
-    return shouldCreateBranch ? branches.get(sourceBranch)?.objectId : branches.get(branch)?.objectId;
-  }
- 
-  private itemsDefault(): Omit<FetchGit, 'body' | 'params'> {
-    return {
-      gitResource: 'items',
-      orgUrl: this.orgUrl,
-      projectId: this.projectId,
-      repositoryId: this.repository,
-      token: this.secret,
-    };
-  }
- 
-  private async getItem(path: string = this.path): Promise<any> {
-    try {
-      // @README setting includeContent to true
-      // enables downloading the content instead
-      const response = await this.fetchGit({
-        ...this.itemsDefault(),
-        params: {
-          path,
-          'versionDescriptor.version': this.branch,
-          'versionDescriptor.versionType': 'branch',
-          includeContent: true,
-        },
-      });
-      return await response.json();
-    } catch (e) {
-      console.log(e);
-      return {};
-    }
-  }
- 
-  private async getItems(): Promise<{ count: number, value?: GitInterfaces.GitItem[] }> {
-    try {
-      const response = await this.fetchGit({
-        ...this.itemsDefault(),
-        params: {
-          scopePath: this.path.replace(/[^/]+\.json$/, ''),
-          recursionLevel: 'full',
-          ...(this.source && {
-            'versionDescriptor.version': this.source,
-            'versionDescriptor.versionType': 'branch',
-          }),
-        },
-      });
-      return await response.json();
-    } catch (e) {
-      console.log(e);
-      return { count: 0, value: [] };
-    }
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    try {
-      if (!this.path.endsWith('.json')) {
-        const { value } = await this.getItems();
-        const jsonFiles = value
-          ?.filter((file) => (file.path?.endsWith('.json')))
-          .sort((a, b) => (
-            (a.path && b.path) ? a.path.localeCompare(b.path) : 0
-          )) ?? [];
- 
-        if (!jsonFiles.length) return [];
- 
-        const jsonFileContents = await Promise.all(
-          jsonFiles.map(async ({ path }) => {
-            const res = await this.getItem(path);
-            const validationResult = await multiFileSchema.safeParseAsync(res);
-            if (validationResult.success) {
-              return validationResult.data;
-            }
-            return null;
-          }),
-        );
-        return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
-          const { path } = jsonFiles[index];
-          if (fileContent) {
-            const name = path?.replace(this.path, '')?.replace(/^\/+/, '')?.replace('.json', '');
-            if (name === SystemFilenames.THEMES && Array.isArray(fileContent)) {
-              return {
-                path,
-                type: 'themes',
-                data: fileContent,
-              } as RemoteTokenStorageThemesFile;
-            }
- 
-            if (!Array.isArray(fileContent)) {
-              if (name === SystemFilenames.METADATA) {
-                return {
-                  path,
-                  type: 'metadata',
-                  data: fileContent,
-                } as RemoteTokenStorageMetadataFile;
-              }
- 
-              return {
-                path,
-                name,
-                type: 'tokenSet',
-                data: fileContent,
-              } as RemoteTokenStorageSingleTokenSetFile;
-            }
-          }
- 
-          return null;
-        }));
-      }
- 
-      const singleItem = await this.getItem();
-      const singleItemValidationResult = await complexSingleFileSchema.safeParseAsync(singleItem);
- 
-      if (singleItemValidationResult.success) {
-        const { $themes = [], $metadata, ...data } = singleItemValidationResult.data;
- 
-        return [
-          {
-            type: 'themes',
-            path: this.path,
-            data: $themes,
-          },
-          ...($metadata ? [
-            {
-              type: 'metadata' as const,
-              path: this.path,
-              data: $metadata,
-            },
-          ] : []),
-          ...(Object.entries(data).filter(([key]) => (
-            !Object.values<string>(SystemFilenames).includes(key)
-          )) as [string, AnyTokenSet<false>][]).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-            name,
-            type: 'tokenSet',
-            path: this.path,
-            data: !Array.isArray(tokenSet) ? tokenSet : {},
-          })),
-        ];
-      }
-      if (singleItem.errorCode === 0) {
-        return [];
-      }
-      return {
-        errorMessage: ErrorMessages.VALIDATION_ERROR,
-      };
-    } catch (e) {
-      console.log(e);
-    }
-    return [];
-  }
- 
-  private async postPushes({
-    branch, changes, commitMessage = 'Commit from Figma', oldObjectId,
-  }: PostPushesArgs): Promise<GitInterfaces.GitPush> {
-    // We need to get the latest commit ID to push to the correct branch
-    const commitsResponse = await this.fetchGit({
-      gitResource: 'commits',
-      method: 'GET',
-      orgUrl: this.orgUrl,
-      projectId: this.projectId,
-      repositoryId: this.repository,
-      token: this.secret,
-      params: {
-        'searchCriteria.$top': '1',
-        'searchCriteria.itemVersion.version': branch,
-      },
-    }).then((res) => res.json());
- 
-    if (!commitsResponse.value) {
-      const errorMessage = commitsResponse.message || ErrorMessages.ADO_CREDENTIAL_ERROR;
-      throw new Error(errorMessage);
-    }
- 
-    const latestCommitId = commitsResponse.value[0]?.commitId;
- 
-    const pushesResponse = await this.fetchGit({
-      body: JSON.stringify({
-        refUpdates: [
-          {
-            name: `refs/heads/${branch}`,
-            oldObjectId: latestCommitId ?? oldObjectId,
-          },
-        ],
-        commits: [
-          {
-            comment: commitMessage,
-            changes,
-          },
-        ],
-      }),
-      gitResource: 'pushes',
-      method: 'POST',
-      orgUrl: this.orgUrl,
-      projectId: this.projectId,
-      repositoryId: this.repository,
-      token: this.secret,
-    });
-    return pushesResponse;
-  }
- 
-  public async writeChangeset(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch: boolean = false): Promise<boolean> {
-    const oldObjectId = await this.getOldObjectId(this.source, shouldCreateBranch);
-    const { value } = await this.getItems();
-    const tokensOnRemote = value?.map((val) => val.path) ?? [];
-    const changesForUpdateOrCreate = Object.entries(changeset)
-      .map(([path, content]) => {
-        const formattedPath = path.startsWith('/') ? path : `/${path}`;
-        return ({
-          changeType: tokensOnRemote.includes(formattedPath) ? ChangeType.edit : ChangeType.add,
-          item: {
-            path: formattedPath,
-          },
-          newContent: {
-            content,
-            contentType: ContentType.rawtext,
-          },
-        });
-      });
- 
-    // Create branch in remote if it does not already exist
-    const existingBranches = await this.fetchBranches();
-    if (!existingBranches.includes(branch)) {
-      await this.createBranch(branch, this.previousSourceBranch);
-    }
- 
-    if (!this.path.endsWith('.json')) {
-      const jsonFiles = value?.filter((file) => (file.path?.endsWith('.json')))?.map((val) => val.path) ?? [];
-      const filesToDelete = jsonFiles.filter((jsonFile) => !Object.keys(changeset).some((item) => jsonFile && jsonFile.endsWith(item)))
-        .map((fileToDelete) => (fileToDelete ?? ''));
-      const changesForDelete = filesToDelete.map((path) => {
-        const formattedPath = path.startsWith('/') ? path : `/${path}`;
-        return ({
-          changeType: ChangeType.delete,
-          item: {
-            path: formattedPath,
-          },
-        });
-      });
-      const changes = changesForDelete.concat(changesForUpdateOrCreate);
- 
-      const response = await this.postPushes({
-        branch,
-        changes,
-        commitMessage: message,
-        oldObjectId,
-      });
- 
-      return !!response;
-    }
- 
-    const response = await this.postPushes({
-      branch,
-      changes: changesForUpdateOrCreate,
-      commitMessage: message,
-      oldObjectId,
-    });
-    return !!response;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html deleted file mode 100644 index f4e67e962..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/BitbucketTokenStorage.ts.html +++ /dev/null @@ -1,1297 +0,0 @@ - - - - - - Code coverage report for src/storage/BitbucketTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage BitbucketTokenStorage.ts

-
- -
- 0% - Statements - 0/103 -
- - -
- 0% - Branches - 0/57 -
- - -
- 0% - Functions - 0/23 -
- - -
- 0% - Lines - 0/100 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Bitbucket, Schema } from 'bitbucket';
-import compact from 'just-compact';
-import {
-  RemoteTokenStorageFile,
-  RemoteTokenStorageMetadata,
-  RemoteTokenstorageErrorMessage,
-} from './RemoteTokenStorage';
-import { GitMultiFileObject, GitSingleFileObject, GitTokenStorage } from './GitTokenStorage';
-import { AnyTokenSet } from '@/types/tokens';
-import { ThemeObjectsList } from '@/types';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { ErrorMessages } from '@/constants/ErrorMessages';
- 
-type CreatedOrUpdatedFileType = {
-  owner: string;
-  repo: string;
-  branch: string;
-  createBranch?: boolean;
-  changes: {
-    message: string;
-    files: Record<string, string>;
-  }[];
-};
- 
-type FetchJsonResult = any[] | Record<string, any>;
- 
-export class BitbucketTokenStorage extends GitTokenStorage {
-  private bitbucketClient;
- 
-  constructor(secret: string, owner: string, repository: string, baseUrl?: string, username?: string) {
-    super(secret, owner, repository, baseUrl, username);
-    this.flags = {
-      multiFileEnabled: false,
-    };
- 
-    this.bitbucketClient = new Bitbucket({
-      auth: {
-        username: this.username || this.owner, // technically username is required, but we'll use owner as a fallback
-        password: this.secret,
-      },
-      baseUrl: this.baseUrl || undefined,
-    });
-  }
- 
-  // https://bitbucketjs.netlify.app/#api-repositories-repositories_listBranches OR
-  // https://developer.atlassian.com/cloud/bitbucket/rest/api-group-refs/#api-repositories-workspace-repo-slug-refs-get
-  public async fetchBranches(): Promise<string[]> {
-    const branches = await this.bitbucketClient.repositories.listBranches({
-      workspace: this.owner,
-      repo_slug: this.repository,
-    });
- 
-    if (!branches || !branches.data) {
-      return ['No data'];
-    }
-    // README we'll have to account for paginated branches somehow, this only returns
-    // the first 10 branches which is fine for now
-    return branches.data!.values!.map((branch) => branch.name) as string[];
-  }
- 
-  /**
-   * Creates a new branch in the repository.
-   *
-   * [Bibucket API reference](https://developer.atlassian.com/cloud/bitbucket/rest/api-group-refs/#api-repositories-workspace-repo-slug-refs-branches-post)
-   * [bitbucketjs API reference](https://bitbucketjs.netlify.app/#api-repositories-repositories_createBranch)
-   *
-   * @param branch - The name of the new branch to create.
-   * @param source - The name of the branch to create the new branch from. If not provided, the current branch is used.
-   *
-   * @returns A promise that resolves to a boolean indicating whether the branch was successfully created.
-   *
-   * @throws Will throw an error if the origin branch could not be retrieved.
-   */
-  public async createBranch(branch: string, source?: string) {
-    try {
-      const originBranch = await this.bitbucketClient.repositories.listRefs({
-        workspace: this.owner,
-        repo_slug: this.repository,
-      });
- 
-      const sourceBranchName = source || this.branch;
-      const sourceBranch = originBranch.data.values.find(
-        (branchValue: Schema.Branch) => branchValue.name === sourceBranchName,
-      );
- 
-      if (
-        !originBranch.data
-        || !originBranch.data.values
-        || !sourceBranch
-        || !sourceBranch.target
-        || !sourceBranch.target.hash
-      ) {
-        throw new Error('Could not retrieve origin branch');
-      }
- 
-      const newBranch = await this.bitbucketClient.refs.createBranch({
-        workspace: this.owner,
-        _body: {
-          name: branch, // branch name
-          target: {
-            hash: sourceBranch.target.hash, // hash of the commit the new branch should point to
-          },
-        },
-        repo_slug: this.repository,
-      });
- 
-      return newBranch.status === 201;
-    } catch (err) {
-      console.error(err);
-      return false;
-    }
-  }
- 
-  // https://bitbucketjs.netlify.app/#api-users-users_getAuthedUser OR
-  // https://developer.atlassian.com/cloud/bitbucket/rest/api-group-users/?utm_source=%2Fbitbucket%2Fapi%2F2%2Freference%2Fresource%2Fuser&utm_medium=302#api-user-get
-  // this would be best: https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/#api-repositories-workspace-repo-slug-permissions-config-users-selected-user-id-get
-  public async canWrite(): Promise<boolean> {
-    const currentUser = await this.bitbucketClient.users.getAuthedUser({});
-    if (!currentUser.data.account_id) return false;
-    try {
-      const { data } = await this.bitbucketClient.repositories.listPermissions({});
-      const permission = data.values?.[0]?.permission;
- 
-      const canWrite = !!(permission === 'admin' || 'write');
-      return !!canWrite;
-    } catch (e) {
-      return false;
-    }
-  }
- 
-  /**
-   * Reads the content of the files in a Bitbucket repository.
-   *
-   * Fetches the content of the files in a Bitbucket repository specified by the `owner`, `repository`, and `branch` properties.
-   * Filters out the JSON files and processes their content.
-   *
-   * Returns a promise that resolves to an array of `RemoteTokenStorageFile` objects, if successful.
-   * Each `RemoteTokenStorageFile` object represents a file in the repository and contains the file's path, name, type, and data.
-   *
-   * @returns A promise that resolves to an array of `RemoteTokenStorageFile` objects or a `RemoteTokenstorageErrorMessage` object.
-   * @throws Will throw an error if the operation fails.
-   */
- 
-  private async fetchJsonFilesFromDirectory(url: string): Promise<FetchJsonResult> {
-    let allJsonFiles: any[] = [];
-    let nextPageUrl: string | null = `${url}?pagelen=100`;
- 
-    while (nextPageUrl) {
-      const response = await fetch(nextPageUrl, {
-        headers: {
-          Authorization: `Basic ${btoa(`${this.username}:${this.secret}`)}`,
-        },
-        cache: 'no-cache',
-      });
- 
-      if (!response.ok) {
-        throw new Error(`Failed to read from Bitbucket: ${response.statusText}`);
-      }
- 
-      const data = await response.json();
-      if (data.values && Array.isArray(data.values)) {
-        const jsonFiles = data.values.filter((file: any) => file.path.endsWith('.json'));
-        allJsonFiles = allJsonFiles.concat(jsonFiles);
- 
-        // Fetch files from subdirectories recursively
-        const subDirectoryFiles = await Promise.all(
-          data.values
-            .filter((file: any) => file.type === 'commit_directory')
-            .map(async (directory: any) => await this.fetchJsonFilesFromDirectory(directory.links.self.href)),
-        );
- 
-        allJsonFiles = allJsonFiles.concat(...subDirectoryFiles);
-      }
- 
-      nextPageUrl = data.next || null;
-    }
- 
-    return allJsonFiles;
-  }
- 
-  private async fetchJsonFile(url: string): Promise<GitSingleFileObject> {
-    const response = await fetch(url, {
-      headers: {
-        Authorization: `Basic ${btoa(`${this.username}:${this.secret}`)}`,
-      },
-      cache: 'no-cache',
-    });
- 
-    if (!response.ok) {
-      throw new Error(`Failed to read from Bitbucket: ${response.statusText}`);
-    }
- 
-    const data = await response.json();
- 
-    return data;
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    const normalizedPath = compact(this.path.split('/')).join('/');
- 
-    try {
-      const url = `https://api.bitbucket.org/2.0/repositories/${this.owner}/${this.repository}/src/${this.branch}/${normalizedPath}`;
- 
-      // Single file
-      if (this.path.endsWith('.json')) {
-        const jsonFile = await this.fetchJsonFile(url);
- 
-        return [
-          {
-            type: 'themes',
-            path: `${SystemFilenames.THEMES}.json`,
-            data: jsonFile.$themes ?? [],
-          },
-          ...(jsonFile.$metadata
-            ? [
-              {
-                type: 'metadata' as const,
-                path: `${SystemFilenames.METADATA}.json`,
-                data: jsonFile.$metadata,
-              },
-            ]
-            : []),
-          ...(
-            Object.entries(jsonFile).filter(([key]) => !Object.values<string>(SystemFilenames).includes(key)) as [
-              string,
-              AnyTokenSet<false>,
-            ][]
-          ).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-            name,
-            type: 'tokenSet',
-            path: `${name}.json`,
-            data: tokenSet,
-          })),
-        ];
-      }
- 
-      // Multi file when it is enabled
-      if (this.flags.multiFileEnabled) {
-        const jsonFiles = await this.fetchJsonFilesFromDirectory(url);
- 
-        const jsonFileContents = await Promise.all(
-          jsonFiles.map((file: any) => fetch(file.links.self.href, {
-            headers: {
-              Authorization: `Basic ${btoa(`${this.username}:${this.secret}`)}`,
-            },
-            cache: 'no-cache',
-          }).then((rsp) => rsp.text())),
-        );
-        // Process the content of each JSON file
-        return jsonFileContents.map((fileContent, index) => {
-          const { path } = jsonFiles[index];
-          const filePath = path.startsWith(this.path) ? path : `${this.path}/${path}`;
-          let name = filePath.substring(this.path.length).replace(/^\/+/, '');
-          name = name.replace('.json', '');
-          const parsed = JSON.parse(fileContent) as GitMultiFileObject;
- 
-          if (name === SystemFilenames.THEMES) {
-            return {
-              path: filePath,
-              type: 'themes',
-              data: parsed as ThemeObjectsList,
-            };
-          }
- 
-          if (name === SystemFilenames.METADATA) {
-            return {
-              path: filePath,
-              type: 'metadata',
-              data: parsed as RemoteTokenStorageMetadata,
-            };
-          }
- 
-          return {
-            path: filePath,
-            name,
-            type: 'tokenSet',
-            data: parsed as AnyTokenSet<false>,
-          };
-        });
-      }
- 
-      return {
-        errorMessage: ErrorMessages.VALIDATION_ERROR,
-      };
-    } catch (e) {
-      console.error('Error', e);
-      return [];
-    }
-  }
- 
-  /**
-   * Create or update files in a Bitbucket repository.
-   *
-   * [Bitbucket API reference](https://developer.atlassian.com/cloud/bitbucket/rest/api-group-source/#api-repositories-workspace-repo-slug-src-post)
-   *
-   * @param {Object} params - The parameters for creating or updating files.
-   * @param {string} params.owner - The owner of the repository.
-   * @param {string} params.repo - The repository where the files will be created or updated.
-   * @param {string} params.branch - The branch where the files will be created or updated.
-   * @param {Array} params.changes - An array of changes to be made. Each change is an object that includes a message and files.
-   * @param {string} params.changes[].message - The commit message for the change.
-   * @param {Object} params.changes[].files - The files to be created or updated. This is a Record<string, string> where the key is the filename and the value is the new content.
-   *
-   * @returns {Promise} A promise that resolves to the response from the Bitbucket API.
-   *
-   * @example
-   * const params = {
-   *   owner: 'owner',
-   *   repo: 'repo',
-   *   branch: 'branch',
-   *   changes: [
-   *     {
-   *       message: 'Initial commit',
-   *       files: {
-   *         'data/tokens.json': JSON.stringify(data),
-   *       },
-   *     },
-   *   ],
-   * };
-   * const response = await createOrUpdateFiles(params);
-   */
-  public async createOrUpdateFiles({
-    owner, repo, branch, changes,
-  }: CreatedOrUpdatedFileType) {
-    const { message, files } = changes[0];
- 
-    const data = new FormData();
- 
-    const normalizedPath = compact(this.path.split('/')).join('/');
-    let deletedTokenSets: string[] = [];
- 
-    if (!normalizedPath.endsWith('.json') && this.flags.multiFileEnabled) {
-      try {
-        const url = `https://api.bitbucket.org/2.0/repositories/${owner}/${repo}/src/${branch}/${normalizedPath}`;
-        const existingFiles = await this.fetchJsonFilesFromDirectory(url);
- 
-        const existingTokenSets: Record<string, boolean> = {};
-        if (Array.isArray(existingFiles)) {
-          existingFiles.forEach((file) => {
-            if (file.path.endsWith('.json') && !file.path.startsWith('$')) {
-              const tokenSetName = file.path.replace('.json', '');
-              existingTokenSets[tokenSetName] = true;
-            }
-          });
-        }
- 
-        const localTokenSets = Object.keys(files);
- 
-        deletedTokenSets = Object.keys(existingTokenSets).filter(
-          (tokenSet) => !localTokenSets.includes(tokenSet) && !tokenSet.startsWith('$'),
-        );
-      } catch (e) {
-        // Do nothing as the folder is not yet created
-      }
-    }
- 
-    // @README the files object is Record<string, string> here
-    // with the key equal to the filename and the value equal to the new content
-    // this actually doesn't take into account deletions - but we can consider this later
-    // as per the Bitbucket API we basically need to add these key value pairs to the FormData object "as-is"
-    Object.entries(files).forEach(([file, content]) => {
-      data.append(file, content);
-      // we will also add all the "files" parameters so we can perform deletions later down the line
-      // as per the doc - any specified path in "files" whithout a content definition elsewhere in the FormData will be deleted
-      // @NOTE we can actually add the files parameter multiple times - this is fine and Bitbucket will pick this up correctly
-      data.append('files', file);
-    });
- 
-    deletedTokenSets.forEach((tokenSet) => {
-      data.append('files', `${tokenSet}.json`); // Mark for deletion
-    });
- 
-    const response = await this.bitbucketClient.repositories.createSrcFileCommit({
-      _body: data,
-      branch,
-      message,
-      repo_slug: repo,
-      workspace: owner,
-    });
- 
-    return response;
-  }
- 
-  public async writeChangeset(
-    changeset: Record<string, string>,
-    message: string,
-    branch: string,
-    shouldCreateBranch?: boolean,
-  ): Promise<boolean> {
-    const response = this.createOrUpdateFiles({
-      owner: this.owner,
-      repo: this.repository,
-      branch,
-      createBranch: shouldCreateBranch,
-      changes: [
-        {
-          message,
-          files: changeset,
-        },
-      ],
-    });
-    return !!response;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html deleted file mode 100644 index b5eb6ee7c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/FileTokenStorage.ts.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - Code coverage report for src/storage/FileTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage FileTokenStorage.ts

-
- -
- 0% - Statements - 0/52 -
- - -
- 0% - Branches - 0/39 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/50 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import {
-  RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata, RemoteTokenStorageSingleTokenSetFile, RemoteTokenStorageThemesFile,
-} from './RemoteTokenStorage';
-import IsJSONString from '@/utils/isJSONString';
-import { complexSingleFileSchema, multiFileSchema } from './schemas';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { SystemFilenames } from '@/constants/SystemFilenames';
- 
-type StorageFlags = {
-  multiFileEnabled: boolean
-};
- 
-export type SaveOption = {
-  storeTokenIdInJsonEditor: boolean
-};
-export class FileTokenStorage extends RemoteTokenStorage<unknown, SaveOption> {
-  private files: FileList;
- 
-  protected flags: StorageFlags = {
-    multiFileEnabled: false,
-  };
- 
-  constructor(files: FileList) {
-    super();
-    this.files = files;
-  }
- 
-  public enableMultiFile() {
-    this.flags.multiFileEnabled = true;
-    return this;
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    try {
-      if (this.flags.multiFileEnabled && this.files.length > 1) {
-        const jsonFiles = Array.from(this.files).filter((file) => file.webkitRelativePath.endsWith('.json'))
-          .sort((a, b) => (
-            (a.webkitRelativePath && b.webkitRelativePath) ? a.webkitRelativePath.localeCompare(b.webkitRelativePath) : 0
-          ));
-        // Return a promise per file
-        const filePromises = jsonFiles.map((file) => new Promise((resolve) => {
-          const reader = new FileReader();
-          reader.readAsText(file);
-          reader.onload = async () => {
-            const fileContent = reader.result as string;
-            if (fileContent && IsJSONString(fileContent)) {
-              const parsedJsonData = JSON.parse(fileContent);
-              const validationResult = await multiFileSchema.safeParseAsync(parsedJsonData);
-              if (validationResult.success) {
-                resolve(validationResult.data);
-              }
-            }
-            resolve(null);
-          };
-        }));
-        // Wait for all promises to be resolved
-        const jsonFileContents = await Promise.all(filePromises);
-        return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
-          const { webkitRelativePath } = jsonFiles[index];
-          if (fileContent) {
-            const name = webkitRelativePath?.substring(webkitRelativePath.indexOf('/') + 1)?.replace('.json', '');
-            if (name === SystemFilenames.THEMES && Array.isArray(fileContent)) {
-              return {
-                path: webkitRelativePath,
-                type: 'themes',
-                data: fileContent,
-              } as RemoteTokenStorageThemesFile;
-            }
- 
-            if (name === SystemFilenames.METADATA) {
-              return {
-                path: webkitRelativePath,
-                type: 'metadata',
-                data: fileContent as RemoteTokenStorageMetadata,
-              };
-            }
- 
-            if (!Array.isArray(fileContent)) {
-              return {
-                path: webkitRelativePath,
-                name,
-                type: 'tokenSet',
-                data: fileContent,
-              } as RemoteTokenStorageSingleTokenSetFile;
-            }
-          }
-          return null;
-        }));
-      }
-      if (this.files[0].name.endsWith('.json')) {
-        const reader = new FileReader();
-        reader.readAsText(this.files[0]);
-        return await new Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage>((resolve) => {
-          reader.onload = async () => {
-            const result = reader.result as string;
- 
-            if (result && IsJSONString(result)) {
-              const parsedJsonData = JSON.parse(result);
-              const validationResult = await complexSingleFileSchema.safeParseAsync(parsedJsonData);
-              if (validationResult.success) {
-                const { $themes = [], $metadata, ...data } = validationResult.data;
-                resolve([
-                  {
-                    type: 'themes',
-                    path: this.files[0].name,
-                    data: Array.isArray($themes) ? $themes : [],
-                  },
-                  ...($metadata ? [
-                    {
-                      type: 'metadata' as const,
-                      path: this.files[0].name,
-                      data: $metadata,
-                    },
-                  ] : []),
-                  ...Object.entries(data).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-                    name,
-                    type: 'tokenSet',
-                    path: this.files[0].name,
-                    data: !Array.isArray(tokenSet) ? tokenSet : {},
-                  })),
-                ]);
-              }
-              resolve({
-                errorMessage: ErrorMessages.VALIDATION_ERROR,
-              });
-            }
-            resolve([]);
-          };
-        });
-      }
-    } catch (e) {
-      console.log(e);
-    }
-    return [];
-  }
- 
-  public async write(): Promise<boolean> {
-    throw new Error('Not implemented');
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html deleted file mode 100644 index b4fcc021e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/GenericVersionedStorage.ts.html +++ /dev/null @@ -1,700 +0,0 @@ - - - - - - Code coverage report for src/storage/GenericVersionedStorage.ts - - - - - - - - - -
-
-

All files / src/storage GenericVersionedStorage.ts

-
- -
- 0% - Statements - 0/52 -
- - -
- 0% - Branches - 0/30 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/50 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
-import * as pjs from '../../package.json';
-import { DeepTokensMap, ThemeObjectsList } from '@/types';
-import { SingleToken } from '@/types/tokens';
-import { RemoteTokenStorage, RemoteTokenStorageFile } from './RemoteTokenStorage';
-import { singleFileSchema } from './schemas/singleFileSchema';
-import { GenericVersionedStorageFlow } from '@/types/StorageType';
-import { tokensMapSchema } from './schemas/tokensMapSchema';
-import { themeObjectSchema } from './schemas/themeObjectSchema';
-import { SaveOption } from './FileTokenStorage';
- 
-const genericVersionedSchema = singleFileSchema.extend({
-  values: z.record(tokensMapSchema),
-  version: z.string().optional(),
-  $themes: z.array(themeObjectSchema).optional(),
-  updatedAt: z.coerce.date().optional(),
-});
- 
-export type GenericVersionedMeta = {
-  version: string
-  updatedAt: string
-};
- 
-export type GenericVersionedData = GenericVersionedMeta & {
-  values: Record<string, Record<string, SingleToken<false> | DeepTokensMap<false>>>
-  $themes?: ThemeObjectsList
-};
- 
-export type GenericVersionedAdditionalHeaders = Array<{
-  name: string,
-  value: string
-}>;
- 
-const flattenHeaders = (headers: GenericVersionedAdditionalHeaders): Array<[key: string, val: string]> => headers.map((x) => [x.name, x.value]);
- 
-// Life cycle is
- 
-// POST - Create storage at endpoint. Storage may or may not already exist
-// Get - Retrieve tokens
-// PUT - Push tokens to endpoint
- 
-export class GenericVersionedStorage extends RemoteTokenStorage<GenericVersionedMeta, SaveOption> {
-  private url: string;
- 
-  private defaultHeaders: Headers;
- 
-  private flow: GenericVersionedStorageFlow;
- 
-  public static async create(url: string, updatedAt: string, flow: GenericVersionedStorageFlow, headers: GenericVersionedAdditionalHeaders = []): Promise<false | {
-    metadata: { id: string }
-  }> {
-    let body: string | undefined = JSON.stringify({
-      version: pjs.version,
-      updatedAt,
-      values: {
-        options: {},
-      },
-    }, null, 2);
-    let method: string;
-    switch (flow) {
-      case GenericVersionedStorageFlow.READ_ONLY:
-        method = 'GET';
-        body = undefined;
-        break;
-      case GenericVersionedStorageFlow.READ_WRITE:
-        method = 'PUT';
-        break;
-      case GenericVersionedStorageFlow.READ_WRITE_CREATE:
-        method = 'POST';
-        break;
-      default:
-        console.log('Unknown flow type');
-        return false;
-    }
- 
-    const response = await fetch(url, {
-      method,
-      mode: 'cors',
-      cache: 'no-cache',
-      credentials: 'same-origin',
-      body,
-      headers: new Headers([
-        ['Content-Type', 'application/json'],
-        ...flattenHeaders(headers),
-      ]),
-    });
- 
-    if (!response.ok) {
-      throw Error(response.statusText);
-    }
-    if (response.ok) {
-      return response.json();
-    }
-    return false;
-  }
- 
-  constructor(url: string, flow: GenericVersionedStorageFlow, headers: GenericVersionedAdditionalHeaders = []) {
-    super();
-    this.url = url;
-    this.flow = flow;
-    this.defaultHeaders = new Headers([
-      ['Content-Type', 'application/json'],
-      ...flattenHeaders(headers),
-    ]);
-  }
- 
-  private convertGenericVersionedDataToFiles(data: GenericVersionedData): RemoteTokenStorageFile<GenericVersionedMeta>[] {
-    return [
-      {
-        type: 'themes',
-        path: '$themes.json',
-        data: data.$themes ?? [],
-      },
-      {
-        type: 'metadata',
-        path: '$metadata.json',
-        data: {
-          version: data.version,
-          updatedAt: data.updatedAt,
-        },
-      },
-      ...Object.entries(data.values).map<RemoteTokenStorageFile<GenericVersionedMeta>>(([name, tokenSet]) => ({
-        name,
-        type: 'tokenSet',
-        path: `${name}.json`,
-        data: tokenSet,
-      })),
-    ];
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile<GenericVersionedMeta>[]> {
-    const response = await fetch(this.url, {
-      method: 'GET',
-      mode: 'cors',
-      cache: 'no-cache',
-      credentials: 'same-origin',
-      headers: new Headers([
-        ...this.defaultHeaders.entries(),
-      ]),
-    });
- 
-    if (!response.ok) {
-      throw Error(response.statusText);
-    }
-    if (response.ok) {
-      const parsedJsonData = await response.json();
-      const validationResult = await genericVersionedSchema.safeParseAsync(parsedJsonData);
-      if (validationResult.success) {
-        const GenericVersionedData = validationResult.data as unknown as GenericVersionedData;
-        GenericVersionedData.updatedAt = (GenericVersionedData.updatedAt as unknown as Date).toISOString();
-        return this.convertGenericVersionedDataToFiles(GenericVersionedData);
-      }
-    }
- 
-    // Required to satisfy typescript
-    return [];
-  }
- 
-  public async write(files: RemoteTokenStorageFile<GenericVersionedMeta>[]): Promise<boolean> {
-    if (this.flow === GenericVersionedStorageFlow.READ_ONLY) {
-      throw new Error('Attempting to write to endpoint of Versioned storage when in Read Only mode');
-    }
- 
-    const dataObject: GenericVersionedData = {
-      version: pjs.version,
-      updatedAt: (new Date()).toISOString(),
-      values: {},
-      $themes: [],
-    };
-    files.forEach((file) => {
-      if (file.type === 'themes') {
-        dataObject.$themes = [
-          ...(dataObject.$themes ?? []),
-          ...file.data,
-        ];
-      } else if (file.type === 'tokenSet') {
-        dataObject.values = {
-          ...dataObject.values,
-          [file.name]: file.data,
-        };
-      }
-    });
- 
-    const response = await fetch(this.url, {
-      method: 'PUT',
-      mode: 'cors',
-      cache: 'no-cache',
-      credentials: 'same-origin',
-      body: JSON.stringify(dataObject),
-      headers: new Headers([
-        ...this.defaultHeaders.entries(),
-      ]),
-    });
- 
-    if (!response.ok) {
-      throw Error(response.statusText);
-    }
- 
-    if (response.ok) {
-      return true;
-    }
-    // Required to make typescript happy
-    return false;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html deleted file mode 100644 index 7f3148012..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/GitTokenStorage.ts.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - Code coverage report for src/storage/GitTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage GitTokenStorage.ts

-
- -
- 0% - Statements - 0/42 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { DeepTokensMap, ThemeObjectsList } from '@/types';
-import { AnyTokenSet, SingleToken } from '@/types/tokens';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { joinPath } from '@/utils/string';
-import { RemoteTokenStorage, RemoteTokenStorageFile, RemoteTokenStorageMetadata } from './RemoteTokenStorage';
-import { ErrorMessages } from '@/constants/ErrorMessages';
- 
-type StorageFlags = {
-  multiFileEnabled: boolean
-};
- 
-export type GitStorageSaveOptions = {
-  commitMessage?: string,
-};
- 
-export type GitStorageSaveOption = {
-  commitMessage?: string,
-  storeTokenIdInJsonEditor: boolean
-};
- 
-export type GitSingleFileObject = Record<string, (
-  Record<string, SingleToken<false> | DeepTokensMap<false>>
-)> & {
-  $themes?: ThemeObjectsList
-  $metadata?: RemoteTokenStorageMetadata
-};
- 
-export type GitMultiFileObject = AnyTokenSet<false> | ThemeObjectsList | RemoteTokenStorageMetadata;
- 
-export abstract class GitTokenStorage extends RemoteTokenStorage<GitStorageSaveOptions, GitStorageSaveOption> {
-  protected secret: string;
- 
-  protected owner: string;
- 
-  protected repository: string;
- 
-  protected branch: string = 'main';
- 
-  protected path: string = '';
- 
-  protected baseUrl: string | undefined = undefined;
- 
-  protected flags: StorageFlags = {
-    multiFileEnabled: false,
-  };
- 
-  protected username: string | undefined = undefined;
- 
-  constructor(
-    secret: string,
-    owner: string,
-    repository: string,
-    baseUrl?: string,
-    username?: string,
-  ) {
-    super();
-    this.secret = secret;
-    this.owner = owner;
-    this.repository = repository;
-    this.baseUrl = baseUrl;
-    this.username = username;
-  }
- 
-  public selectBranch(branch: string) {
-    this.branch = branch;
-    return this;
-  }
- 
-  public changePath(path: string) {
-    this.path = joinPath(path);
-    return this;
-  }
- 
-  public enableMultiFile() {
-    this.flags.multiFileEnabled = true;
-    return this;
-  }
- 
-  public disableMultiFile() {
-    this.flags.multiFileEnabled = false;
-    return this;
-  }
- 
-  public abstract fetchBranches(): Promise<string[]>;
-  public abstract createBranch(branch: string, source?: string): Promise<boolean>;
-  public abstract canWrite(): Promise<boolean>;
-  public abstract writeChangeset(
-    changeset: Record<string, string>,
-    message: string,
-    branch: string,
-    shouldCreateBranch?: boolean
-  ): Promise<boolean>;
- 
-  public async write(files: RemoteTokenStorageFile[], saveOptions: GitStorageSaveOption): Promise<boolean> {
-    const branches = await this.fetchBranches();
-    if (!branches.length) return false;
- 
-    const filesChangeset: Record<string, string> = {};
-    if (this.path.endsWith('.json')) {
-      filesChangeset[this.path] = JSON.stringify({
-        ...files.reduce<GitSingleFileObject>((acc, file) => {
-          if (file.type === 'tokenSet') {
-            acc[file.name] = file.data;
-          } else if (file.type === 'themes') {
-            acc.$themes = [...acc.$themes ?? [], ...file.data];
-          } else if (file.type === 'metadata') {
-            acc.$metadata = { ...acc.$metadata ?? {}, ...file.data };
-          }
-          return acc;
-        }, {}),
-      }, null, 2);
-    } else if (this.flags.multiFileEnabled) {
-      files.forEach((file) => {
-        if (file.type === 'tokenSet') {
-          filesChangeset[joinPath(this.path, `${file.name}.json`)] = JSON.stringify(file.data, null, 2);
-        } else if (file.type === 'themes') {
-          filesChangeset[joinPath(this.path, `${SystemFilenames.THEMES}.json`)] = JSON.stringify(file.data, null, 2);
-        } else if (file.type === 'metadata') {
-          filesChangeset[joinPath(this.path, `${SystemFilenames.METADATA}.json`)] = JSON.stringify(file.data, null, 2);
-        }
-      });
-    } else {
-      // When path is a directory and multiFile is disabled return
-      throw new Error(ErrorMessages.GIT_MULTIFILE_PERMISSION_ERROR);
-    }
-    return this.writeChangeset(
-      filesChangeset,
-      saveOptions.commitMessage ?? 'Commit from Figma',
-      this.branch,
-      !branches.includes(this.branch),
-    );
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html deleted file mode 100644 index dd5075a2a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/GithubTokenStorage.ts.html +++ /dev/null @@ -1,1180 +0,0 @@ - - - - - - Code coverage report for src/storage/GithubTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage GithubTokenStorage.ts

-
- -
- 0% - Statements - 0/112 -
- - -
- 0% - Branches - 0/73 -
- - -
- 0% - Functions - 0/26 -
- - -
- 0% - Lines - 0/103 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import { Octokit } from '@octokit/rest';
-import { RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata } from './RemoteTokenStorage';
-import IsJSONString from '@/utils/isJSONString';
-import { AnyTokenSet } from '@/types/tokens';
-import { ThemeObjectsList } from '@/types';
-import {
-  GitMultiFileObject, GitSingleFileObject, GitTokenStorage,
-} from './GitTokenStorage';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { joinPath } from '@/utils/string';
- 
-type ExtendedOctokitClient = Omit<Octokit, 'repos'> & {
-  repos: Octokit['repos'] & {
-    createOrUpdateFiles: (params: {
-      owner: string
-      repo: string
-      branch: string
-      createBranch?: boolean
-      changes: {
-        message: string
-        files: Record<string, string>,
-        filesToDelete?: string[],
-        ignoreDeletionFailures?: boolean,
-      }[]
-    }) => ReturnType<Octokit['repos']['createOrUpdateFileContents']>
-  }
-};
- 
-export function getTreeMode(type: 'dir' | 'file' | string) {
-  switch (type) {
-    case 'dir':
-      return '040000';
-    default:
-      return '100644';
-  }
-}
- 
-// @README https://github.com/octokit/octokit.js/issues/890
-const octokitClientDefaultHeaders = {
-  'If-None-Match': '',
- 
-};
- 
-export class GithubTokenStorage extends GitTokenStorage {
-  private octokitClient: ExtendedOctokitClient;
- 
-  constructor(
-    secret: string,
-    owner: string,
-    repository: string,
-    baseUrl?: string,
-  ) {
-    super(secret, owner, repository, baseUrl);
-    this.flags = {
-      multiFileEnabled: false,
-    };
- 
-    // eslint-disable-next-line
-    const ExtendedOctokitConstructor = Octokit.plugin(require('octokit-commit-multiple-files'));
-    this.octokitClient = new ExtendedOctokitConstructor({
-      auth: this.secret,
-      baseUrl: this.baseUrl || undefined,
-    }) as ExtendedOctokitClient;
-  }
- 
-  public async listBranches() {
-    return this.octokitClient.paginate(this.octokitClient.repos.listBranches, {
-      owner: this.owner,
-      repo: this.repository,
-      headers: octokitClientDefaultHeaders,
-      per_page: 30, // Set to desired page size (max 100)
-    });
-  }
- 
-  public async getTreeShaForDirectory(path: string) {
-    // @README this is necessary because to figure out the tree SHA we need to fetch the parent directory contents
-    // however when pulling from the root directory we can  not do this, but we can take the SHA from the branch
-    if (path === '') {
-      const branches = await this.listBranches();
-      const branch = branches?.find((entry) => entry.name === this.branch);
-      if (!branch) throw new Error(`Branch not found, ${this.branch}`);
-      return branch.commit.sha;
-    }
- 
-    // get the parent directory content to find out the sha
-    const parent = path.includes('/') ? path.slice(0, path.lastIndexOf('/')) : '';
-    const parentDirectoryTreeResponse = await this.octokitClient.rest.repos.getContent({
-      owner: this.owner,
-      repo: this.repository,
-      path: parent,
-      ref: this.branch,
-      headers: octokitClientDefaultHeaders,
-    });
- 
-    if (Array.isArray(parentDirectoryTreeResponse.data)) {
-      const directory = parentDirectoryTreeResponse.data.find((item) => item.path === path);
-      if (!directory) throw new Error(`Unable to find directory, ${path}`);
-      return directory.sha;
-    }
- 
-    // @README if the parent directory only contains a single subdirectory
-    // it will not return an array with 1 item - but rather it will return the item itself
-    if (parentDirectoryTreeResponse.data.path === path) {
-      return parentDirectoryTreeResponse.data.sha;
-    }
- 
-    throw new Error('Could not find directory SHA');
-  }
- 
-  public async fetchBranches() {
-    const branches = await this.listBranches();
-    return branches?.map((branch) => branch.name);
-  }
- 
-  public async createBranch(branch: string, source?: string) {
-    try {
-      const originRef = `heads/${source || this.branch}`;
-      const newRef = `refs/heads/${branch}`;
-      const originBranch = await this.octokitClient.git.getRef({
-        owner: this.owner,
-        repo: this.repository,
-        ref: originRef,
-        headers: octokitClientDefaultHeaders,
-      });
-      const newBranch = await this.octokitClient.git.createRef({
-        owner: this.owner, repo: this.repository, ref: newRef, sha: originBranch.data.object.sha,
-      });
-      return !!newBranch.data.ref;
-    } catch (err) {
-      console.error(err);
-      return false;
-    }
-  }
- 
-  public async canWrite(): Promise<boolean> {
-    if (!this.path.endsWith('.json') && !this.flags.multiFileEnabled) return false;
-    const currentUser = await this.octokitClient.rest.users.getAuthenticated();
-    if (!currentUser.data.login) return false;
-    try {
-      const canWrite = await this.octokitClient.rest.repos.getCollaboratorPermissionLevel({
-        owner: this.owner,
-        repo: this.repository,
-        username: currentUser.data.login,
-        headers: octokitClientDefaultHeaders,
-      });
-      return !!canWrite;
-    } catch (e) {
-      return false;
-    }
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    try {
-      const normalizedPath = compact(this.path.split('/')).join('/');
-      const response = await this.octokitClient.rest.repos.getContent({
-        path: normalizedPath,
-        owner: this.owner,
-        repo: this.repository,
-        ref: this.branch,
-        headers: {
-          ...octokitClientDefaultHeaders,
-          // Setting this makes github return the raw file instead of a json object.
-          Accept: 'application/vnd.github.raw',
-        },
-      });
- 
-      // read entire directory
-      if (Array.isArray(response.data)) {
-        const directorySha = await this.getTreeShaForDirectory(normalizedPath);
-        const treeResponse = await this.octokitClient.rest.git.getTree({
-          owner: this.owner,
-          repo: this.repository,
-          tree_sha: directorySha,
-          recursive: 'true',
-          headers: octokitClientDefaultHeaders,
-        });
-        if (treeResponse && treeResponse.data.tree.length > 0) {
-          const jsonFiles = treeResponse.data.tree.filter((file) => (
-            file.path?.endsWith('.json')
-          )).sort((a, b) => (
-            (a.path && b.path) ? a.path.localeCompare(b.path) : 0
-          ));
-          const jsonFileContents = await Promise.all(jsonFiles.map((treeItem) => (
-            treeItem.path ? this.octokitClient.rest.repos.getContent({
-              owner: this.owner,
-              repo: this.repository,
-              path: treeItem.path.startsWith(normalizedPath) ? treeItem.path : `${normalizedPath}/${treeItem.path}`,
-              ref: this.branch,
-              headers: {
-                ...octokitClientDefaultHeaders,
-                // Setting this makes github return the raw file instead of a json object.
-                Accept: 'application/vnd.github.raw',
-              },
-            }) : Promise.resolve(null)
-          )));
-          return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
-            const { path } = jsonFiles[index];
-            if (
-              path
-              && fileContent?.data
-              && !Array.isArray(fileContent?.data)
-            ) {
-              const filePath = path.startsWith(normalizedPath) ? path : `${normalizedPath}/${path}`;
-              let name = filePath.substring(this.path.length).replace(/^\/+/, '');
-              name = name.replace('.json', '');
-              const parsed = JSON.parse(fileContent.data as unknown as string) as GitMultiFileObject;
-              // @README we will need to ensure these reserved names
- 
-              if (name === SystemFilenames.THEMES) {
-                return {
-                  path: filePath,
-                  type: 'themes',
-                  data: parsed as ThemeObjectsList,
-                };
-              }
- 
-              if (name === SystemFilenames.METADATA) {
-                return {
-                  path: filePath,
-                  type: 'metadata',
-                  data: parsed as RemoteTokenStorageMetadata,
-                };
-              }
- 
-              return {
-                path: filePath,
-                name,
-                type: 'tokenSet',
-                data: parsed as AnyTokenSet<false>,
-              };
-            }
-            return null;
-          }));
-        }
-      } else if (response.data) {
-        const data = response.data as unknown as string;
-        if (IsJSONString(data)) {
-          const parsed = JSON.parse(data) as GitSingleFileObject;
-          return [
-            {
-              type: 'themes',
-              path: `${this.path}/${SystemFilenames.THEMES}.json`,
-              data: parsed.$themes ?? [],
-            },
-            ...(parsed.$metadata ? [
-              {
-                type: 'metadata' as const,
-                path: this.path,
-                data: parsed.$metadata,
-              },
-            ] : []),
-            ...(Object.entries(parsed).filter(([key]) => (
-              !Object.values<string>(SystemFilenames).includes(key)
-            )) as [string, AnyTokenSet<false>][]).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-              name,
-              type: 'tokenSet',
-              path: `${this.path}/${name}.json`,
-              data: tokenSet,
-            })),
-          ];
-        }
-        return {
-          errorMessage: ErrorMessages.VALIDATION_ERROR,
-        };
-      }
- 
-      return [];
-    } catch (e) {
-      // Raise error (usually this is an auth error)
-      console.error('Error', e);
-      return [];
-    }
-  }
- 
-  public async createOrUpdate(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch?: boolean, filesToDelete?: string[], ignoreDeletionFailures?: boolean): Promise<boolean> {
-    const response = await this.octokitClient.repos.createOrUpdateFiles({
-      branch,
-      owner: this.owner,
-      repo: this.repository,
-      createBranch: shouldCreateBranch,
-      changes: [
-        {
-          message,
-          files: changeset,
-          filesToDelete,
-          ignoreDeletionFailures,
-        },
-      ],
-    });
-    return !!response;
-  }
- 
-  public async writeChangeset(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch?: boolean): Promise<boolean> {
-    try {
-      const response = await this.octokitClient.rest.repos.getContent({
-        owner: this.owner,
-        repo: this.repository,
-        path: this.path,
-        ref: this.branch,
-      });
- 
-      if (Array.isArray(response.data)) {
-        const directoryTreeResponse = await this.octokitClient.rest.git.createTree({
-          owner: this.owner,
-          repo: this.repository,
-          tree: response.data.map((item) => ({
-            path: item.path,
-            sha: item.sha,
-            mode: getTreeMode(item.type),
-          })),
-        });
- 
-        if (directoryTreeResponse.data.tree[0].sha) {
-          const treeResponse = await this.octokitClient.rest.git.getTree({
-            owner: this.owner,
-            repo: this.repository,
-            tree_sha: directoryTreeResponse.data.tree[0].sha,
-            recursive: 'true',
-          });
- 
-          if (treeResponse.data.tree.length > 0) {
-            const jsonFiles = treeResponse.data.tree.filter((file) => (
-              file.path?.endsWith('.json')
-            )).sort((a, b) => (
-              (a.path && b.path) ? a.path.localeCompare(b.path) : 0
-            ));
- 
-            const filesToDelete = jsonFiles.filter((jsonFile) => !Object.keys(changeset).some((item) => jsonFile.path && item === joinPath(this.path, jsonFile?.path)))
-              .map((fileToDelete) => (`${this.path.split('/')[0]}/${fileToDelete.path}` ?? ''));
-            return await this.createOrUpdate(changeset, message, branch, shouldCreateBranch, filesToDelete, true);
-          }
-        }
-      }
- 
-      return await this.createOrUpdate(changeset, message, branch, shouldCreateBranch);
-    } catch {
-      return await this.createOrUpdate(changeset, message, branch, shouldCreateBranch);
-    }
-  }
- 
-  public async getCommitSha(): Promise<string> {
-    try {
-      const normalizedPath = compact(this.path.split('/')).join('/');
-      const response = await this.octokitClient.rest.repos.getContent({
-        path: normalizedPath,
-        owner: this.owner,
-        repo: this.repository,
-        ref: this.branch,
-        headers: octokitClientDefaultHeaders,
-      });
-      // read entire directory
-      if (Array.isArray(response.data)) {
-        const directorySha = await this.getTreeShaForDirectory(normalizedPath);
-        return directorySha;
-      }
-      return response.data.sha;
-    } catch (e) {
-      // Raise error (usually this is an auth error)
-      console.error('Error', e);
-      return '';
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html deleted file mode 100644 index 70b3a8ffd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/GitlabTokenStorage.ts.html +++ /dev/null @@ -1,1138 +0,0 @@ - - - - - - Code coverage report for src/storage/GitlabTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage GitlabTokenStorage.ts

-
- -
- 0% - Statements - 0/144 -
- - -
- 0% - Branches - 0/100 -
- - -
- 0% - Functions - 0/29 -
- - -
- 0% - Lines - 0/129 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Gitlab } from '@gitbeaker/rest';
-import compact from 'just-compact';
-import type { CommitAction } from '@gitbeaker/rest';
-import IsJSONString from '@/utils/isJSONString';
-import {
-  GitMultiFileObject, GitSingleFileObject, GitTokenStorage,
-} from './GitTokenStorage';
-import { RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata } from './RemoteTokenStorage';
-import { AnyTokenSet } from '@/types/tokens';
-import { ThemeObjectsList } from '@/types';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { ErrorMessages } from '@/constants/ErrorMessages';
- 
-enum GitLabAccessLevel {
-  NoAccess = 0,
-  MinimalAccess = 5,
-  Guest = 10,
-  Reporter = 20,
-  Developer = 30,
-  Maintainer = 40,
-  Owner = 50,
-}
- 
-export class GitlabTokenStorage extends GitTokenStorage {
-  protected projectId: number | null = null;
- 
-  protected groupId: number | null = null;
- 
-  private gitlabClient: (typeof Gitlab)['prototype'];
- 
-  protected repoPathWithNamespace: string;
- 
-  protected source?: string;
- 
-  protected previousSourceBranch?: string;
- 
-  constructor(
-    secret: string,
-    repository: string,
-    repoPathWithNamespace: string,
-    baseUrl?: string,
-    branch = 'main',
-    previousSourceBranch = 'main',
-  ) {
-    super(secret, '', repository, baseUrl);
- 
-    this.repoPathWithNamespace = repoPathWithNamespace;
-    this.gitlabClient = new Gitlab({
-      token: this.secret,
-      host: this.baseUrl || undefined,
-    });
-    this.source = branch;
-    this.previousSourceBranch = previousSourceBranch;
-  }
- 
-  public async assignProjectId() {
-    const projects = await this.gitlabClient.Projects.all({
-      membership: true,
-      search: this.repository,
-      simple: true,
-    });
-    if (projects) {
-      const project = projects.filter((p) => p.path_with_namespace === this.repoPathWithNamespace)[0];
-      if (project) {
-        this.projectId = project.id;
-        this.groupId = project.namespace.id;
-      }
-    }
- 
-    if (!this.projectId) {
-      throw new Error('Project not accessible');
-    }
-    return this;
-  }
- 
-  public async fetchBranches() {
-    if (!this.projectId) throw new Error('Project ID not assigned');
-    const branches = await this.gitlabClient.Branches.all(this.projectId);
-    return branches.map((branch) => branch.name);
-  }
- 
-  public async createBranch(branch: string, source?: string) {
-    if (!this.projectId) throw new Error('Project ID not assigned');
-    try {
-      const response = await this.gitlabClient.Branches.create(
-        this.projectId,
-        branch,
-        `heads/${source || this.branch}`,
-      );
-      return !!response.name;
-    } catch (err) {
-      console.error(err);
-      return false;
-    }
-  }
- 
-  public async canWrite(): Promise<boolean> {
-    if (!this.path.endsWith('.json') && !this.flags.multiFileEnabled) return false;
-    if (!this.projectId) throw new Error('Project ID not assigned');
- 
-    const currentUser = await this.gitlabClient.Users.showCurrentUser();
-    try {
-      if (!currentUser || currentUser.state !== 'active') return false;
-      const projectPermission = await this.gitlabClient.ProjectMembers.show(this.projectId, currentUser.id, {
-        includeInherited: true,
-      });
-      return Number(projectPermission.access_level.toString()) >= GitLabAccessLevel.Developer;
-    } catch (e) {
-      console.error(e);
-    }
-    return false;
-  }
- 
-  private async cleanupGitkeepFiles(path: string, branch: string, message: string) {
-    const trees = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId!, {
-      path,
-      ref: branch,
-      recursive: true,
-    });
- 
-    const gitkeepDeletions: CommitAction[] = [];
-    const directories = trees.reduce((acc: Record<string, string[]>, file) => {
-      const dir = file.path.substring(0, file.path.lastIndexOf('/'));
-      if (!acc[dir]) acc[dir] = [];
-      acc[dir].push(file.path);
-      return acc;
-    }, {});
- 
-    for (const [dir, files] of Object.entries(directories)) {
-      const hasGitkeep = files.some((file) => file.endsWith('.gitkeep'));
-      const hasOtherFiles = files.some((file) => !file.endsWith('.gitkeep'));
- 
-      if (hasGitkeep && hasOtherFiles) {
-        const gitkeepPath = `${dir}/.gitkeep`;
-        gitkeepDeletions.push({ action: 'delete', filePath: gitkeepPath });
-      }
-    }
- 
-    if (gitkeepDeletions.length > 0) {
-      try {
-        await this.gitlabClient.Commits.create(
-          this.projectId!,
-          branch,
-          message,
-          gitkeepDeletions,
-        );
-      } catch (e) {
-        console.error('Failed to delete .gitkeep files:', e);
-      }
-    }
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    if (!this.projectId) throw new Error('Missing Project ID');
- 
-    try {
-      if (!this.path.endsWith('.json')) {
-        const trees = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId, {
-          path: this.path,
-          ref: this.branch,
-          recursive: true,
-        });
- 
-        const jsonFiles = trees.filter((file) => (
-          file.path.endsWith('.json')
-        )).sort((a, b) => (
-          (a.path && b.path) ? a.path.localeCompare(b.path) : 0
-        ));
- 
-        const jsonFileContents = await Promise.all(jsonFiles.map((treeItem) => (
-          this.gitlabClient.RepositoryFiles.showRaw(this.projectId!, treeItem.path, this.branch)
-        )));
- 
-        return compact(jsonFileContents.map<RemoteTokenStorageFile | null>((fileContent, index) => {
-          const { path } = jsonFiles[index];
-          if (typeof fileContent === 'string' && IsJSONString(fileContent)) {
-            const name = path.replace('.json', '').replace(this.path, '').replace(/^\//, '').replace(/\/$/, '');
-            const parsed = JSON.parse(fileContent) as GitMultiFileObject;
- 
-            if (name === SystemFilenames.THEMES) {
-              return {
-                path,
-                type: 'themes',
-                data: parsed as ThemeObjectsList,
-              };
-            }
- 
-            if (name === SystemFilenames.METADATA) {
-              return {
-                path,
-                type: 'metadata',
-                data: parsed as RemoteTokenStorageMetadata,
-              };
-            }
- 
-            return {
-              path,
-              name,
-              type: 'tokenSet',
-              data: parsed as AnyTokenSet<false>,
-            };
-          }
- 
-          return null;
-        }));
-      }
- 
-      const data = await this.gitlabClient.RepositoryFiles.showRaw(this.projectId, this.path, this.branch);
-      const stringData = typeof data === 'string' ? data : await data.text();
- 
-      if (IsJSONString(stringData)) {
-        const parsed = JSON.parse(stringData) as GitSingleFileObject;
-        return [
-          {
-            type: 'themes',
-            path: `${this.path}/${SystemFilenames.THEMES}.json`,
-            data: parsed.$themes ?? [],
-          },
-          ...(parsed.$metadata ? [
-            {
-              type: 'metadata' as const,
-              path: this.path,
-              data: parsed.$metadata,
-            },
-          ] : []),
-          ...(Object.entries(parsed).filter(([key]) => (
-            !Object.values<string>(SystemFilenames).includes(key)
-          )) as [string, AnyTokenSet<false>][]).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-            name,
-            type: 'tokenSet',
-            path: `${this.path}/${name}.json`,
-            data: tokenSet,
-          })),
-        ];
-      }
-      return {
-        errorMessage: ErrorMessages.VALIDATION_ERROR,
-      };
-    } catch (err) {
-      console.error(err);
-    }
-    return [];
-  }
- 
-  public async writeChangeset(changeset: Record<string, string>, message: string, branch: string, shouldCreateBranch?: boolean): Promise<boolean> {
-    if (!this.projectId) throw new Error('Missing Project ID');
- 
-    const branches = await this.fetchBranches();
-    const rootPath = this.path.endsWith('.json') ? this.path.split('/').slice(0, -1).join('/') : this.path;
-    const pathToCreate = this.path.endsWith('.json') ? this.path : `${this.path}/.gitkeep`;
- 
-    if (shouldCreateBranch && !branches.includes(branch)) {
-      const sourceBranch = this.previousSourceBranch || this.source;
-      await this.createBranch(branch, sourceBranch);
-    }
- 
-    const tree = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId, {
-      path: rootPath,
-      ref: branch,
-      recursive: true,
-    });
- 
-    try {
-      // Only create .gitkeep if the directory is completely empty/non-existent
-      if (tree.length === 0) {
-        await this.gitlabClient.RepositoryFiles.create(
-          this.projectId,
-          pathToCreate,
-          branch,
-          '{}',
-          message,
-        );
-      }
-    } catch (e) {
-      console.error('Error checking directory:', e);
-    }
- 
-    let gitlabActions: CommitAction[] = Object.entries(changeset).map(([filePath, content]) => {
-      const action = tree.some((file) => file.path === filePath) ? 'update' : 'create';
-      return { action, filePath, content };
-    });
- 
-    // Add delete actions for files that no longer exist in changeset
-    const jsonFiles = tree
-      .filter((file) => file.path.endsWith('.json'))
-      .map((file) => file.path);
- 
-    const filesToDelete = jsonFiles.filter(
-      (jsonFile) => !Object.keys(changeset).some((item) => item === jsonFile),
-    );
- 
-    if (filesToDelete.length > 0 && !this.path.endsWith('.json')) {
-      gitlabActions = gitlabActions.concat(
-        filesToDelete.map((filePath) => ({
-          action: 'delete',
-          filePath,
-        })),
-      );
-    }
- 
-    try {
-      await this.gitlabClient.Commits.create(
-        this.projectId,
-        branch,
-        message,
-        gitlabActions,
-      );
-    } catch (e: any) {
-      if (e.cause.description && String(e.cause.description).includes(ErrorMessages.GITLAB_PUSH_TO_PROTECTED_BRANCH_ERROR)) {
-        throw new Error(ErrorMessages.GITLAB_PUSH_TO_PROTECTED_BRANCH_ERROR);
-      }
-      throw new Error(e);
-    }
- 
-    if (!this.path.endsWith('.json')) {
-      await this.cleanupGitkeepFiles(rootPath, branch, message);
-    }
-    return true;
-  }
- 
-  public async getLatestCommitDate(): Promise<Date | null> {
-    if (!this.projectId) throw new Error('Missing Project ID');
- 
-    try {
-      if (!this.path.endsWith('.json')) {
-        const trees = await this.gitlabClient.Repositories.allRepositoryTrees(this.projectId, {
-          path: this.path,
-          ref: this.branch,
-          recursive: true,
-        });
-        const jsonFiles = trees.filter((file) => (
-          file.path.endsWith('.json')
-        )).sort((a, b) => (
-          (a.path && b.path) ? a.path.localeCompare(b.path) : 0
-        ));
- 
-        const file = await this.gitlabClient.RepositoryFiles.show(this.projectId!, jsonFiles[0].path, this.branch);
-        const commit = await this.gitlabClient.Commits.show(this.projectId, file.commit_id.toString());
-        const committedDate = new Date(commit.committed_date?.toString() ?? '');
-        return committedDate ?? null;
-      }
-      const file = await this.gitlabClient.RepositoryFiles.show(this.projectId, this.path, this.branch);
-      const commit = await this.gitlabClient.Commits.show(this.projectId, file.commit_id.toString());
-      const committedDate = new Date(commit.committed_date?.toString() ?? '');
-      return committedDate ?? null;
-    } catch (e) {
-      console.error('Error', e);
-      return null;
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html deleted file mode 100644 index 5e529cda8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/JSONBinTokenStorage.ts.html +++ /dev/null @@ -1,655 +0,0 @@ - - - - - - Code coverage report for src/storage/JSONBinTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage JSONBinTokenStorage.ts

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/34 -
- - -
- 0% - Functions - 0/7 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
-import * as pjs from '../../package.json';
-import { DeepTokensMap, ThemeObjectsList } from '@/types';
-import { SingleToken } from '@/types/tokens';
-import {
-  RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata,
-} from './RemoteTokenStorage';
-import { singleFileSchema } from './schemas/singleFileSchema';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { SaveOption } from './FileTokenStorage';
- 
-type JsonBinMetadata = Partial<{
-  version: string
-  updatedAt: string
-}>;
- 
-type JsonbinData = JsonBinMetadata & {
-  values: Record<string, Record<string, SingleToken<false> | DeepTokensMap<false>>>
-  $themes?: ThemeObjectsList
-  $metadata?: RemoteTokenStorageMetadata & JsonBinMetadata
-};
- 
-const jsonbinSchema = singleFileSchema.extend({
-  version: z.string().optional(),
-  updatedAt: z.string().optional(),
-});
- 
-export class JSONBinTokenStorage extends RemoteTokenStorage<JsonBinMetadata, SaveOption> {
-  private id: string;
- 
-  private secret: string;
- 
-  private defaultHeaders: Headers;
- 
-  public static async create(name: string, updatedAt: string, secret: string): Promise<false | {
-    metadata: { id: string }
-  }> {
-    const response = await fetch('https://api.jsonbin.io/v3/b', {
-      method: 'POST',
-      mode: 'cors',
-      cache: 'no-cache',
-      credentials: 'same-origin',
-      body: JSON.stringify({
-        values: { options: {} },
-        $metadata: {
-          version: pjs.version,
-          updatedAt,
-        },
-      }, null, 2),
-      headers: new Headers([
-        ['Content-Type', 'application/json'],
-        ['X-Master-Key', secret],
-        ['X-Bin-Name', name],
-        ['versioning', 'false'],
-      ]),
-    });
- 
-    if (!response.ok) {
-      throw Error(response.statusText);
-    }
- 
-    if (response.ok) {
-      return response.json();
-    }
- 
-    return false;
-  }
- 
-  constructor(id: string, secret: string) {
-    super();
-    this.id = id;
-    this.secret = secret;
- 
-    this.defaultHeaders = new Headers();
-    this.defaultHeaders.append('Content-Type', 'application/json');
-    this.defaultHeaders.append('X-Master-Key', this.secret);
-  }
- 
-  private convertJsonBinDataToFiles(data: JsonbinData): RemoteTokenStorageFile<JsonBinMetadata>[] {
-    // @README the version and updatedAt key have been moved to the $metadata object
-    // but we'll still support the old keys when reading
-    return [
-      {
-        type: 'themes',
-        path: `${SystemFilenames.THEMES}.json`,
-        data: data.$themes ?? [],
-      },
-      {
-        type: 'metadata',
-        path: `${SystemFilenames.METADATA}.json`,
-        data: {
-          version: data.$metadata?.version ?? data.version ?? pjs.version,
-          updatedAt: data.$metadata?.updatedAt ?? data.updatedAt ?? new Date().toISOString(),
-          ...(data.$metadata?.tokenSetOrder ? {
-            tokenSetOrder: data.$metadata.tokenSetOrder,
-          } : {}),
-        },
-      },
-      ...Object.entries(data.values).map<RemoteTokenStorageFile<JsonBinMetadata>>(([name, tokenSet]) => ({
-        name,
-        type: 'tokenSet',
-        path: `${name}.json`,
-        data: tokenSet,
-      })),
-    ];
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile<JsonBinMetadata>[] | RemoteTokenstorageErrorMessage> {
-    const response = await fetch(`https://api.jsonbin.io/v3/b/${this.id}/latest`, {
-      method: 'GET',
-      mode: 'cors',
-      cache: 'no-cache',
-      credentials: 'same-origin',
-      headers: new Headers([
-        ...this.defaultHeaders.entries(),
-        ['X-Bin-Meta', '0'],
-      ]),
-    });
- 
-    if (!response.ok) {
-      throw Error(response.statusText);
-    }
- 
-    if (response.ok) {
-      const parsedJsonData = await response.json();
-      const validationResult = await z.object({
-        record: jsonbinSchema,
-      }).safeParseAsync(parsedJsonData);
-      if (validationResult.success) {
-        const jsonbinData = validationResult.data.record as JsonbinData;
-        return this.convertJsonBinDataToFiles(jsonbinData);
-      }
-      return {
-        errorMessage: ErrorMessages.VALIDATION_ERROR,
-      };
-    }
-    return [];
-  }
- 
-  public async write(files: RemoteTokenStorageFile<JsonBinMetadata>[]): Promise<boolean> {
-    const dataObject: JsonbinData = {
-      values: {},
-      $metadata: {
-        version: pjs.version,
-        updatedAt: (new Date()).toISOString(),
-      },
-      $themes: [],
-    };
-    files.forEach((file) => {
-      if (file.type === 'themes') {
-        dataObject.$themes = [
-          ...(dataObject.$themes ?? []),
-          ...file.data,
-        ];
-      } else if (file.type === 'metadata') {
-        dataObject.$metadata = {
-          ...(dataObject.$metadata ?? []),
-          ...file.data,
-        };
-      } else if (file.type === 'tokenSet') {
-        dataObject.values = {
-          ...dataObject.values,
-          [file.name]: file.data,
-        };
-      }
-    });
- 
-    const response = await fetch(`https://api.jsonbin.io/v3/b/${this.id}`, {
-      method: 'PUT',
-      mode: 'cors',
-      cache: 'no-cache',
-      credentials: 'same-origin',
-      body: JSON.stringify(dataObject),
-      headers: new Headers([
-        ...this.defaultHeaders.entries(),
-      ]),
-    });
- 
-    if (!response.ok) {
-      throw Error(response.statusText);
-    }
- 
-    if (response.ok) {
-      return true;
-    }
- 
-    return false;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html deleted file mode 100644 index 3104dc167..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/RemoteTokenStorage.ts.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - Code coverage report for src/storage/RemoteTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage RemoteTokenStorage.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { DeepTokensMap, ThemeObjectsList } from '@/types';
-import { RemoteResponseData } from '@/types/RemoteResponseData';
-import type { AnyTokenList, SingleToken } from '@/types/tokens';
-import convertTokensToObject from '@/utils/convertTokensToObject';
-import parseTokenValues from '@/utils/parseTokenValues';
-import { SystemFilenames } from '@/constants/SystemFilenames';
- 
-export type RemoteTokenStorageMetadata = {
-  tokenSetOrder?: string[];
-  tokenSetsData?: Record<string, { isDynamic?: boolean }>;
-};
- 
-export type RemoteTokenStorageData<Metadata> = {
-  tokens: Record<string, AnyTokenList>;
-  themes: ThemeObjectsList;
-  metadata?: (RemoteTokenStorageMetadata & Metadata) | null;
-};
- 
-export interface RemoteTokenStorageSingleTokenSetFile {
-  type: 'tokenSet';
-  path: string;
-  name: string;
-  data: Record<string, SingleToken<false> | DeepTokensMap<false>>; // @README we save tokens without their name, but rather key them by their name
-}
- 
-export interface RemoteTokenStorageThemesFile {
-  type: 'themes';
-  path: string;
-  data: ThemeObjectsList;
-}
- 
-export interface RemoteTokenStorageMetadataFile<Metadata = unknown> {
-  type: 'metadata';
-  path: string;
-  data: RemoteTokenStorageMetadata & Metadata;
-}
- 
-export interface RemoteTokenstorageErrorMessage {
-  errorMessage: string;
-}
- 
-export type RemoteTokenStorageFile<Metadata = unknown> =
-  | RemoteTokenStorageSingleTokenSetFile
-  | RemoteTokenStorageThemesFile
-  | RemoteTokenStorageMetadataFile<Metadata>;
- 
-type RemoteStorageSaveOptions = {
-  storeTokenIdInJsonEditor: boolean;
-};
-export abstract class RemoteTokenStorage<
-  Metadata = unknown,
-  SaveOptions extends RemoteStorageSaveOptions = { storeTokenIdInJsonEditor: boolean },
-> {
-  public abstract write(files: RemoteTokenStorageFile<Metadata>[], saveOptions?: SaveOptions): Promise<boolean>;
-  public abstract read(): Promise<RemoteTokenStorageFile<Metadata>[] | RemoteTokenstorageErrorMessage>;
- 
-  public async save(data: RemoteTokenStorageData<Metadata>, saveOptions: SaveOptions): Promise<boolean> {
-    const files: RemoteTokenStorageFile<Metadata>[] = [];
-    // First we'll convert the incoming data into files
-    // in this generic implementation we will ignore whether multi file is enabled or not (ie for Github)
-    // how these "files" are written is up to the read and write implementation
-    const tokenSetObjects = convertTokensToObject({ ...data.tokens }, saveOptions.storeTokenIdInJsonEditor);
-    Object.entries(tokenSetObjects).forEach(([name, tokenSet]) => {
-      files.push({
-        type: 'tokenSet',
-        name,
-        path: `${name}.json`,
-        data: tokenSet,
-      });
-    });
- 
-    // we will also include a separate file for the themes called $themes
-    files.push({
-      type: 'themes',
-      path: `${SystemFilenames.THEMES}.json`,
-      data: data.themes,
-    });
- 
-    if ('metadata' in data && data.metadata) {
-      files.push({
-        type: 'metadata',
-        path: `${SystemFilenames.METADATA}.json`,
-        data: data.metadata,
-      });
-    }
- 
-    return this.write(files, saveOptions);
-  }
- 
-  public async retrieve(): Promise<RemoteResponseData<Metadata> | null> {
-    const data: RemoteTokenStorageData<Metadata> = {
-      themes: [],
-      tokens: {},
-    };
- 
-    // start by reading the files from the remote source
-    // it is up to the remote storage implementation to split it up into "File" objects
-    const files = await this.read();
-    // successfully fetch data
-    if (Array.isArray(files)) {
-      if (files.length === 0) {
-        return null;
-      }
-      files.forEach((file) => {
-        if (file.type === 'themes') {
-          data.themes = [...data.themes, ...file.data];
-        } else if (file.type === 'tokenSet') {
-          data.tokens = {
-            ...data.tokens,
-            ...parseTokenValues({ [file.name]: file.data }),
-          };
-        } else if (file.type === 'metadata') {
-          data.metadata = {
-            ...data.metadata,
-            ...file.data,
-          };
-        }
-      });
-      return {
-        status: 'success',
-        ...data,
-      };
-    }
-    return {
-      status: 'failure',
-      ...files,
-    };
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html deleted file mode 100644 index 889b84f0b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/SupernovaTokenStorage.ts.html +++ /dev/null @@ -1,592 +0,0 @@ - - - - - - Code coverage report for src/storage/SupernovaTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage SupernovaTokenStorage.ts

-
- -
- 0% - Statements - 0/53 -
- - -
- 0% - Branches - 0/44 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/53 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { DesignSystem, DesignSystemVersion, Supernova } from '@supernovaio/supernova-sdk';
-import * as Sentry from '@sentry/react';
-import { AnyTokenSet } from '@/types/tokens';
-import { RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile } from './RemoteTokenStorage';
-import { ErrorMessages } from '../constants/ErrorMessages';
-import { SystemFilenames } from '../constants/SystemFilenames';
-import { SaveOption } from './FileTokenStorage';
- 
-export type SupernovaStorageSaveOptions = {
-  commitMessage?: string;
-};
- 
-export class SupernovaTokenStorage extends RemoteTokenStorage<SupernovaStorageSaveOptions, SaveOption> {
-  private workspaceHandle: string;
- 
-  private designSystemId: string;
- 
-  private mapping: string;
- 
-  private secret: string;
- 
-  private sdkInstance: Supernova;
- 
-  constructor(url: string, mapping: string, secret: string) {
-    super();
-    // Deconstruct url to WS ID / DS ID
-    const parsedURL = new URL(url);
-    const fragments = parsedURL.pathname.split('/');
-    const isCloud = url.match(/\/\/(cloud|app).(dev\.|demo\.|staging\.|)supernova.io/)?.[1] === 'cloud';
-    if (fragments.length < 5 || (isCloud && (fragments[1] !== 'ws' || fragments[3] !== 'ds'))) {
-      throw new Error(
-        'Design system URL is not properly formatted. Please copy URL from the cloud without modifying it and try again.',
-      );
-    } else {
-      // eslint-disable-next-line prefer-destructuring
-      this.workspaceHandle = isCloud ? fragments[2] : fragments[1].split('-')[0];
-      // eslint-disable-next-line prefer-destructuring
-      this.designSystemId = isCloud ? fragments[4].split('-')[0] : fragments[2].split('-')[0];
-      this.secret = secret;
-      this.mapping = mapping;
-      this.sdkInstance = new Supernova(this.secret, this.networkInstanceFromURL(url), null);
-    }
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    try {
-      // Create Supernova instance, fetch design system and version, checking if this is possible
-      const accessor = await this.readWriteInstance();
-      let payload: any;
- 
-      try {
-        const data: any = await accessor.version.getTokenStudioData();
-        payload = data.payload; // Discard all the other data that we get from the API and only focus on payload
-      } catch (error) {
-        // There is nothing to read, design system didn't have any tokens pushed before.
-        return [];
-      }
-      return [
-        {
-          type: 'themes',
-          path: `${SystemFilenames.THEMES}.json`,
-          data: payload.$themes ?? [],
-        },
-        ...(payload.$metadata
-          ? [
-            {
-              type: 'metadata' as const,
-              path: `${SystemFilenames.METADATA}.json`,
-              data: payload.$metadata,
-            },
-          ]
-          : []),
-        ...(
-          Object.entries(payload).filter(([key]) => !Object.values<string>(SystemFilenames).includes(key)) as [
-            string,
-            AnyTokenSet<false>,
-          ][]
-        ).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-          name,
-          type: 'tokenSet',
-          path: `${name}.json`,
-          data: tokenSet,
-        })),
-      ];
-    } catch (error) {
-      console.error(error);
-      return {
-        errorMessage: ErrorMessages.SUPERNOVA_CREDENTIAL_ERROR,
-      };
-    }
-  }
- 
-  public async write(files: Array<RemoteTokenStorageFile<any>>): Promise<boolean> {
-    // Create Supernova instance, fetch design system and version
-    // Create writable Supernova instance
-    const accessor = await this.readWriteInstance();
-    const dataObject = {
-      $themes: [],
-    } as any;
-    files.forEach((file) => {
-      if (file.type === 'themes') {
-        dataObject.$themes = [...(dataObject.$themes ?? []), ...file.data];
-      } else if (file.type === 'tokenSet') {
-        dataObject[file.name] = file.data;
-      } else if (file.type === 'metadata') {
-        dataObject.$metadata = {
-          ...(dataObject.$metadata ?? []),
-          ...file.data,
-        };
-      }
-    });
- 
-    const mapObject = JSON.parse(this.mapping);
-    const object: any = {
-      connection: {
-        name: 'name',
-      },
-      settings: {
-        dryRun: false,
-        preciseCopy: true,
-        verbose: false,
-      },
-      mapping: mapObject,
-      payload: dataObject,
-    };
- 
-    const writer = accessor.version.writer();
-    await writer.writeTokenStudioData(object);
-    return true;
-  }
- 
-  private networkInstanceFromURL(url: string): string {
-    if (url.includes('cloud.supernova.io') || url.includes('app.supernova.io')) {
-      return 'https://api.supernova.io/api';
-    }
-    if (url.includes('cloud.dev.supernova.io') || url.includes('app.dev.supernova.io')) {
-      return 'https://api.dev.supernova.io/api';
-    }
-    if (url.includes('cloud.demo.supernova.io') || url.includes('app.demo.supernova.io')) {
-      return 'https://api.demo.supernova.io/api';
-    }
-    if (url.includes('cloud.staging.supernova.io') || url.includes('app.staging.supernova.io')) {
-      return 'https://api.staging.supernova.io/api';
-    }
-    throw new Error('Unsupported Supernova URL');
-  }
- 
-  private async readWriteInstance(): Promise<{
-    version: DesignSystemVersion;
-    ds: DesignSystem;
-  }> {
-    // Create Supernova instance, fetch design system and version
-    try {
-      const designSystem = await this.sdkInstance.designSystem(this.designSystemId);
-      const designSystemVersion = await designSystem!.activeVersion();
-      if (designSystem && designSystemVersion) {
-        return {
-          ds: designSystem,
-          version: designSystemVersion,
-        };
-      }
-    } catch (error) {
-      // Will throw always when something goes wrong
-      Sentry.captureException(error);
-      console.log(error);
-    }
-    throw new Error(ErrorMessages.SUPERNOVA_CREDENTIAL_ERROR);
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html deleted file mode 100644 index ee1cb47d2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/TokensStudioTokenStorage.ts.html +++ /dev/null @@ -1,1546 +0,0 @@ - - - - - - Code coverage report for src/storage/TokensStudioTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage TokensStudioTokenStorage.ts

-
- -
- 0% - Statements - 0/164 -
- - -
- 0% - Branches - 0/72 -
- - -
- 0% - Functions - 0/22 -
- - -
- 0% - Lines - 0/160 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  ThemeGroup, TokenSetType, TokensSet, create,
-} from '@tokens-studio/sdk';
-import * as Sentry from '@sentry/react';
-import { AnyTokenSet } from '@/types/tokens';
-import { notifyToUI } from '@/plugin/notifiers';
-import {
-  RemoteTokenStorage,
-  RemoteTokenstorageErrorMessage,
-  RemoteTokenStorageFile,
-  RemoteTokenStorageMetadata,
-} from './RemoteTokenStorage';
-import { ErrorMessages } from '../constants/ErrorMessages';
-import { SaveOption } from './FileTokenStorage';
-import {
-  GET_PROJECT_DATA_QUERY,
-  CREATE_TOKEN_SET_MUTATION,
-  DELETE_THEME_GROUP_MUTATION,
-  UPDATE_THEME_GROUP_MUTATION,
-  CREATE_THEME_GROUP_MUTATION,
-  UPDATE_TOKEN_SET_MUTATION,
-  DELETE_TOKEN_SET_MUTATION,
-  UPDATE_TOKEN_SET_ORDER_MUTATION,
-} from './tokensStudio/graphql';
-import { track } from '@/utils/analytics';
-import { ThemeObjectsList } from '@/types';
-import { TokensStudioAction } from '@/app/store/providers/tokens-studio';
- 
-const DEFAULT_BRANCH = 'main';
- 
-const makeClient = (secret: string) => create({
-  host: process.env.TOKENS_STUDIO_API_HOST || 'localhost:4200',
-  secure: process.env.NODE_ENV !== 'development',
-  auth: `Bearer ${secret}`,
-});
- 
-export type TokensStudioSaveOptions = {
-  commitMessage?: string;
-};
- 
-type ProjectData = {
-  tokens: AnyTokenSet | null | undefined;
-  themes: ThemeObjectsList;
-  tokenSets: {
-    [tokenSetName: string]: { isDynamic: boolean };
-  };
-  tokenSetOrder: string[];
-};
- 
-async function getProjectData(id: string, orgId: string, client: any): Promise<ProjectData | null> {
-  try {
-    const data = await client.query({
-      query: GET_PROJECT_DATA_QUERY,
-      variables: {
-        projectId: id,
-        organization: orgId,
-        name: DEFAULT_BRANCH,
-      },
-    });
- 
-    if (!data.data?.project?.branch) {
-      return null;
-    }
- 
-    const tokenSets = data.data.project.branch.tokenSets.data as TokensSet[];
-    const { totalPages } = data.data.project.branch.tokenSets;
- 
-    // TODO: This is a temporary solution until we implement pagination
-    if (totalPages > 1) {
-      notifyToUI('We are currently supporting up to 1000 sets, if you encounter this issue and need even more sets please reach out to us on slack or featurebase.', { error: true });
-    }
- 
-    const returnData = tokenSets.reduce(
-      (acc, tokenSet) => {
-        if (!tokenSet.name) return acc;
-        acc.tokens[tokenSet.name] = JSON.parse(JSON.stringify(tokenSet.raw));
-        acc.tokenSets[tokenSet.name] = { isDynamic: tokenSet.type === TokenSetType.Dynamic };
-        return acc;
-      },
-      { tokens: {}, tokenSets: {} },
-    );
- 
-    // sort by orderIndex
-    const tokenSetOrder = [...tokenSets]
-      .sort((a, b) => (+(a.orderIndex || 0) > +(b.orderIndex || 0) ? 1 : -1))
-      .map((tokenSet) => tokenSet.name);
- 
-    let themes = [] as ThemeObjectsList;
-    const themeGroups = data.data.project.branch.themeGroups.data as ThemeGroup[];
- 
-    if (themeGroups) {
-      themeGroups.forEach(({ name: group, options }) => {
-        if (!options) {
-          return;
-        }
- 
-        const figmaThemes: ThemeObjectsList = options
-          ?.filter((theme) => !!theme)
-          .map((theme) => {
-            const selectedTokenSets = theme?.selectedTokenSets;
- 
-            return {
-              id: `${group}-${theme?.name}` as string,
-              name: theme?.name as string,
-              group,
-              selectedTokenSets,
-              $figmaStyleReferences: theme?.figmaStyleReferences,
-              $figmaVariableReferences: theme?.figmaVariableReferences,
-              $figmaCollectionId: theme?.figmaCollectionId ?? undefined,
-              $figmaModeId: theme?.figmaModeId ?? undefined,
-            };
-          });
- 
-        themes = [...themes, ...figmaThemes];
-      });
-    }
- 
-    return { ...returnData, tokenSetOrder, themes };
-  } catch (e) {
-    Sentry.captureException(e);
-    console.error('Error fetching tokens', e);
-    return null;
-  }
-}
- 
-export class TokensStudioTokenStorage extends RemoteTokenStorage<TokensStudioSaveOptions, SaveOption> {
-  private id: string;
- 
-  private secret: string;
- 
-  private orgId: string;
- 
-  private client: any;
- 
-  public actionsQueue: any[];
- 
-  public processQueueTimeout: NodeJS.Timeout | null;
- 
-  constructor(id: string, orgId: string, secret: string) {
-    super();
-    this.id = id;
-    this.orgId = orgId;
-    this.secret = secret;
-    this.client = makeClient(secret);
-    this.actionsQueue = [];
-    this.processQueueTimeout = null;
-  }
- 
-  public setContext(id: string, orgId: string, secret: string) {
-    this.id = id;
-    this.orgId = orgId;
-    this.secret = secret;
-    this.client = makeClient(secret);
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    let tokens: AnyTokenSet | null | undefined = {};
-    let themes: ThemeObjectsList = [];
-    const metadata: RemoteTokenStorageMetadata = {};
- 
-    try {
-      const projectData = await getProjectData(this.id, this.orgId, this.client);
- 
-      tokens = projectData?.tokens;
-      themes = projectData?.themes || [];
- 
-      if (projectData?.tokenSets) {
-        metadata.tokenSetsData = projectData.tokenSets;
-      }
- 
-      if (projectData?.tokenSetOrder) {
-        metadata.tokenSetOrder = projectData.tokenSetOrder;
-      }
-    } catch (error) {
-      // We get errors in a slightly changed format from the backend
-      if (tokens?.errors) console.log('Error is', tokens.errors[0].message);
-      return {
-        errorMessage: tokens?.errors ? tokens.errors[0].message : ErrorMessages.TOKENSSTUDIO_CREDENTIAL_ERROR,
-      };
-    }
-    if (tokens) {
-      // @ts-ignore typescript is giving me a great friday morning
-      const returnPayload: RemoteTokenStorageFile[] = Object.entries(tokens).map(([filename, data]) => ({
-        name: filename,
-        type: 'tokenSet',
-        path: filename,
-        data,
-      }));
- 
-      if (themes) {
-        returnPayload.push({
-          type: 'themes',
-          path: 'themes',
-          data: themes,
-        });
-      }
- 
-      if (metadata) {
-        returnPayload.push({
-          type: 'metadata',
-          path: 'metadata',
-          data: metadata,
-        });
-      }
- 
-      return returnPayload;
-    }
-    return {
-      errorMessage: ErrorMessages.TOKENSSTUDIO_READ_ERROR,
-    };
-  }
- 
-  public async write(
-    // TODO: Add write support
-    // eslint-disable-next-line @typescript-eslint/no-unused-vars
-    files: RemoteTokenStorageFile<TokensStudioSaveOptions>[],
-    // eslint-disable-next-line @typescript-eslint/no-unused-vars
-    saveOptions?: SaveOption | undefined,
-  ): Promise<boolean> {
-    console.log('WRITE NOT IMPLEMENTED', files, saveOptions);
-    return undefined as any;
-  }
- 
-  public async push({
-    action,
-    data,
-    metadata,
-    successCallback,
-  }: {
-    action: TokensStudioAction;
-    data: any;
-    metadata?: RemoteTokenStorageMetadata['tokenSetsData'];
-    successCallback?: () => void;
-  }) {
-    this.actionsQueue.push({
-      action,
-      data,
-      metadata,
-      successCallback,
-    });
- 
-    if (this.processQueueTimeout) {
-      clearTimeout(this.processQueueTimeout);
-    }
- 
-    this.processQueueTimeout = setTimeout(this.processQueue.bind(this), 100);
-  }
- 
-  private async handleCreateTokenSet(data: any, successCallback: () => void) {
-    try {
-      if (!data.name) {
-        throw new Error('Invalid data');
-      }
-      // TODO: export the type for the mutation from sdk
-      const responseData = await this.client.mutate({
-        mutation: CREATE_TOKEN_SET_MUTATION,
-        variables: {
-          project: this.id,
-          organization: this.orgId,
-          input: {
-            path: data.name,
-            orderIndex: data.orderIndex,
-          },
-        },
-      });
- 
-      if (!responseData?.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Create token set in Tokens Studio');
-      notifyToUI('Token set added in Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      console.error('Error creating token set in Tokens Studio', e);
-    }
-  }
- 
-  private async handleUpdateTokenSet(data: any, successCallback: () => void) {
-    try {
-      const responseData = await this.client.mutate({
-        mutation: UPDATE_TOKEN_SET_MUTATION,
-        variables: {
-          project: this.id,
-          organization: this.orgId,
-          input: {
-            path: data.oldName || data.name,
-            newPath: data.newName,
-            raw: data.raw,
-          },
-        },
-      });
- 
-      if (!responseData.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Update token set in Tokens Studio');
-      notifyToUI('Token set updated in Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      notifyToUI(`Error updating following token set in Tokens Studio: ${data.oldName || data.name}`, {
-        error: true,
-      });
-      console.error('Error updating token set in Tokens Studio', e);
-    }
-  }
- 
-  private async handleDeleteTokenSet(data: any, successCallback: () => void) {
-    try {
-      if (!data.name) {
-        throw new Error('Invalid data');
-      }
- 
-      const responseData = await this.client.mutate({
-        mutation: DELETE_TOKEN_SET_MUTATION,
-        variables: {
-          branch: DEFAULT_BRANCH,
-          path: data.name,
-          project: this.id,
-          organization: this.orgId,
-        },
-      });
- 
-      if (!responseData.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Delete token set in Tokens Studio');
-      notifyToUI('Token set deleted from Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      console.error('Error deleting token set in Tokens Studio', e);
-    }
-  }
- 
-  private async handleUpdateTokenSetOrder(data: any, successCallback: () => void) {
-    try {
-      const responseData = await this.client.mutate({
-        mutation: UPDATE_TOKEN_SET_ORDER_MUTATION,
-        variables: {
-          updates: data,
-          project: this.id,
-          organization: this.orgId,
-        },
-      });
- 
-      if (!responseData.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Update token set order in Tokens Studio');
-      notifyToUI('Token set order updated in Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      console.error('Error updating token set order in Tokens Studio', e);
-    }
-  }
- 
-  private async handleCreateThemeGroup(data: any, successCallback: () => void) {
-    try {
-      const responseData = await this.client.mutate({
-        mutation: CREATE_THEME_GROUP_MUTATION,
-        variables: {
-          input: {
-            name: data.name,
-            options: data.options,
-          },
-          project: this.id,
-          organization: this.orgId,
-          branch: DEFAULT_BRANCH,
-        },
-      });
- 
-      if (!responseData.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Create theme group in Tokens Studio');
-      notifyToUI('Theme group created in Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      console.error('Error creating theme group in Tokens Studio', e);
-    }
-  }
- 
-  private async handleUpdateThemeGroup(data: any, successCallback: () => void) {
-    try {
-      const responseData = await this.client.mutate({
-        mutation: UPDATE_THEME_GROUP_MUTATION,
-        variables: {
-          input: {
-            name: data.name,
-            ...(data.newName && { newName: data.newName }),
-            options: data.options,
-          },
-          project: this.id,
-          organization: this.orgId,
-        },
-      });
- 
-      if (!responseData.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Update theme group in Tokens Studio');
-      notifyToUI('Theme group updated in Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      console.error('Error updating theme group in Tokens Studio', e);
-    }
-  }
- 
-  private async handleDeleteThemeGroup(data: any, successCallback: () => void) {
-    try {
-      const responseData = await this.client.mutate({
-        mutation: DELETE_THEME_GROUP_MUTATION,
-        variables: {
-          branch: DEFAULT_BRANCH,
-          themeGroupName: data.name,
-          project: this.id,
-          organization: this.orgId,
-        },
-      });
- 
-      if (!responseData.data) {
-        throw new Error('No response data');
-      }
- 
-      track('Delete theme group in Tokens Studio');
-      notifyToUI('Theme group deleted from Tokens Studio', { error: false });
- 
-      successCallback?.();
-    } catch (e) {
-      Sentry.captureException(e);
-      console.error('Error deleting theme group in Tokens Studio', e);
-    }
-  }
- 
-  private async processQueue() {
-    const actionsToProcess = [...this.actionsQueue];
-    this.actionsQueue = [];
-    this.processQueueTimeout = null;
- 
-    for (const actionToProcess of actionsToProcess) {
-      const { action, data, successCallback } = actionToProcess;
- 
-      switch (action) {
-        case 'CREATE_TOKEN_SET':
-          await this.handleCreateTokenSet(data, successCallback);
-          break;
-        case 'UPDATE_TOKEN_SET':
-          await this.handleUpdateTokenSet(data, successCallback);
-          break;
-        case 'DELETE_TOKEN_SET':
-          await this.handleDeleteTokenSet(data, successCallback);
-          break;
-        case 'UPDATE_TOKEN_SET_ORDER':
-          await this.handleUpdateTokenSetOrder(data, successCallback);
-          break;
-        case 'CREATE_THEME_GROUP':
-          await this.handleCreateThemeGroup(data, successCallback);
-          break;
-        case 'UPDATE_THEME_GROUP':
-          await this.handleUpdateThemeGroup(data, successCallback);
-          break;
-        case 'DELETE_THEME_GROUP':
-          await this.handleDeleteThemeGroup(data, successCallback);
-          break;
-        default:
-          throw new Error(`Unimplemented storage provider for ${action}`);
-      }
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html deleted file mode 100644 index c9eba5a9b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/UrlTokenStorage.ts.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - Code coverage report for src/storage/UrlTokenStorage.ts - - - - - - - - - -
-
-

All files / src/storage UrlTokenStorage.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/14 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObjectsList } from '@/types';
-import {
-  RemoteTokenStorage, RemoteTokenstorageErrorMessage, RemoteTokenStorageFile, RemoteTokenStorageMetadata, RemoteTokenStorageSingleTokenSetFile,
-} from './RemoteTokenStorage';
-import { singleFileSchema } from './schemas/singleFileSchema';
-import IsJSONString from '@/utils/isJSONString';
-import { SystemFilenames } from '@/constants/SystemFilenames';
-import { ErrorMessages } from '@/constants/ErrorMessages';
-import { complexSingleFileSchema } from './schemas';
-import { SaveOption } from './FileTokenStorage';
- 
-type UrlData = {
-  values: Record<string, RemoteTokenStorageSingleTokenSetFile['data']>
-  $themes?: ThemeObjectsList
-  $metadata?: RemoteTokenStorageMetadata
-};
- 
-export class UrlTokenStorage extends RemoteTokenStorage<unknown, SaveOption> {
-  private url: string;
- 
-  private secret: string;
- 
-  constructor(url: string, secret: string) {
-    super();
-    this.url = url;
-    this.secret = secret;
-  }
- 
-  private convertUrlDataToFiles(data: UrlData): RemoteTokenStorageFile[] {
-    return [
-      {
-        type: 'themes',
-        path: `${SystemFilenames.THEMES}.json`,
-        data: data.$themes ?? [],
-      },
-      {
-        type: 'metadata',
-        path: `${SystemFilenames.METADATA}.json`,
-        data: data.$metadata ?? {},
-      },
-      ...Object.entries(data.values).map<RemoteTokenStorageFile>(([name, tokenSet]) => ({
-        name,
-        type: 'tokenSet',
-        path: `${name}.json`,
-        data: tokenSet,
-      })),
-    ];
-  }
- 
-  public async read(): Promise<RemoteTokenStorageFile[] | RemoteTokenstorageErrorMessage> {
-    const customHeaders = IsJSONString(this.secret)
-      ? JSON.parse(this.secret) as Record<string, string>
-      : {};
- 
-    const headers = {
-      Accept: 'application/json',
-      ...customHeaders,
-    };
- 
-    const response = await fetch(this.url, {
-      method: 'GET',
-      headers,
-    });
- 
-    if (response.ok) {
-      const parsedJsonData = await response.json();
-      const validationResult = await singleFileSchema.safeParseAsync(parsedJsonData);
-      // @README if this validation passes we can assume it is in a newer format
-      if (validationResult.success) {
-        const urlstorageData = validationResult.data as UrlData;
-        return this.convertUrlDataToFiles(urlstorageData);
-      }
- 
-      // @README if not this is an older format where we just have tokens
-      const onlyTokensValidationResult = await complexSingleFileSchema.safeParseAsync(parsedJsonData);
-      if (onlyTokensValidationResult.success) {
-        const urlstorageData = onlyTokensValidationResult.data;
-        const { $themes = [], $metadata = {}, ...values } = urlstorageData;
-        return this.convertUrlDataToFiles({
-          values,
-          $themes,
-          $metadata,
-        });
-      }
-      return {
-        errorMessage: ErrorMessages.VALIDATION_ERROR,
-      };
-    }
- 
-    return [];
-  }
- 
-  public async write(): Promise<boolean> {
-    throw new Error('Not implemented');
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/index.html deleted file mode 100644 index a4ffa48ea..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/index.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - Code coverage report for src/storage - - - - - - - - - -
-
-

All files src/storage

-
- -
- 0% - Statements - 0/932 -
- - -
- 0% - Branches - 0/586 -
- - -
- 0% - Functions - 0/185 -
- - -
- 0% - Lines - 0/889 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ADOTokenStorage.ts -
-
0%0/1260%0/850%0/310%0/119
BitbucketTokenStorage.ts -
-
0%0/1030%0/570%0/230%0/100
FileTokenStorage.ts -
-
0%0/520%0/390%0/130%0/50
GenericVersionedStorage.ts -
-
0%0/520%0/300%0/90%0/50
GitTokenStorage.ts -
-
0%0/420%0/240%0/80%0/41
GithubTokenStorage.ts -
-
0%0/1120%0/730%0/260%0/103
GitlabTokenStorage.ts -
-
0%0/1440%0/1000%0/290%0/129
JSONBinTokenStorage.ts -
-
0%0/400%0/340%0/70%0/40
RemoteTokenStorage.ts -
-
0%0/220%0/140%0/40%0/22
SupernovaTokenStorage.ts -
-
0%0/530%0/440%0/80%0/53
TokensStudioTokenStorage.ts -
-
0%0/1640%0/720%0/220%0/160
UrlTokenStorage.ts -
-
0%0/220%0/140%0/50%0/22
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html deleted file mode 100644 index 795674c67..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/storage/index.ts - - - - - - - - - -
-
-

All files / src/storage index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './JSONBinTokenStorage';
-export * from './GenericVersionedStorage';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html deleted file mode 100644 index 55e0800b2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/complexSingleFileSchema.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/complexSingleFileSchema.ts - - - - - - - - - -
-
-

All files / src/storage/schemas complexSingleFileSchema.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
-import { themeObjectSchema } from './themeObjectSchema';
-import { tokensMapSchema } from './tokensMapSchema';
-import type { DeepTokensMap, ThemeObjectsList } from '@/types';
- 
-// @README this schema applies to Git type providers
- 
-type ReservedFields = {
-  $themes?: ThemeObjectsList
-  $metadata?: {
-    tokenSetOrder?: string[]
-  }
-};
- 
-type ComplexSingleFileFormat = ReservedFields & {
-  [K in Exclude<string, '$metadata' | '$themes'>]: DeepTokensMap<false>
-};
- 
-export const complexSingleFileSchema: z.ZodType<ComplexSingleFileFormat> = z.lazy(() => (
-  (z.record(tokensMapSchema.or(z.array(themeObjectSchema)).or(z.object({
-    tokenSetOrder: z.array(z.string()).optional(),
-  }))) as z.ZodType<ComplexSingleFileFormat>)
-));
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html deleted file mode 100644 index 9d628d4de..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas - - - - - - - - - -
-
-

All files src/storage/schemas

-
- -
- 0% - Statements - 0/10 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
complexSingleFileSchema.ts -
-
0%0/2100%0/00%0/10%0/2
index.ts -
-
0%0/00%0/00%0/00%0/0
multiFileSchema.ts -
-
0%0/1100%0/0100%0/00%0/1
singleFileSchema.ts -
-
0%0/1100%0/0100%0/00%0/1
singleTokenSchema.ts -
-
0%0/3100%0/0100%0/00%0/3
themeObjectSchema.ts -
-
0%0/1100%0/0100%0/00%0/1
tokensMapSchema.ts -
-
0%0/2100%0/00%0/10%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html deleted file mode 100644 index 4b59be972..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/index.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/index.ts - - - - - - - - - -
-
-

All files / src/storage/schemas index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export * from './themeObjectSchema';
-export * from './multiFileSchema';
-export * from './singleFileSchema';
-export * from './singleTokenSchema';
-export * from './complexSingleFileSchema';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html deleted file mode 100644 index 7b4536895..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/multiFileSchema.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/multiFileSchema.ts - - - - - - - - - -
-
-

All files / src/storage/schemas multiFileSchema.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import z from 'zod';
-import { tokensMapSchema } from './tokensMapSchema';
-import { themeObjectSchema } from './themeObjectSchema';
- 
-export const multiFileSchema = tokensMapSchema.or(z.array(themeObjectSchema)).or(z.object({
-  tokenSetOrder: z.array(z.string()).optional(),
-}));
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html deleted file mode 100644 index 8723413a7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleFileSchema.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/singleFileSchema.ts - - - - - - - - - -
-
-

All files / src/storage/schemas singleFileSchema.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
-import { tokensMapSchema } from './tokensMapSchema';
-import { themeObjectSchema } from './themeObjectSchema';
- 
-// @README this schema only applies to URL and JSONBIN
- 
-export const singleFileSchema = z.object({
-  values: z.record(tokensMapSchema),
-  $themes: z.array(themeObjectSchema).optional(),
-  $metadata: z.object({
-    tokenSetOrder: z.array(z.string()).optional(),
-    version: z.string().optional(),
-    updatedAt: z.string().optional(),
-  }).optional(),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html deleted file mode 100644 index 25641db81..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/singleTokenSchema.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/singleTokenSchema.ts - - - - - - - - - -
-
-

All files / src/storage/schemas singleTokenSchema.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
- 
-const baseSchema = z.object({
-  value: z.any(),
-  type: z.string(),
-  description: z.string().optional(),
-}).passthrough();
- 
-const dollarPrefixedSchema = z.object({
-  $value: z.any(),
-  $type: z.string(),
-  $description: z.string().optional(),
-}).passthrough();
- 
-export const singleTokenSchema = z.union([baseSchema, dollarPrefixedSchema]);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html deleted file mode 100644 index 64e051469..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/themeObjectSchema.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/themeObjectSchema.ts - - - - - - - - - -
-
-

All files / src/storage/schemas themeObjectSchema.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-export const themeObjectSchema = z.object({
-  id: z.string(),
-  name: z.string(),
-  group: z.string().optional(),
-  selectedTokenSets: z.record(z.enum([
-    TokenSetStatus.ENABLED,
-    TokenSetStatus.DISABLED,
-    TokenSetStatus.SOURCE,
-  ])),
-  $figmaStyleReferences: z.record(z.string()).optional(),
-  $figmaVariableReferences: z.record(z.string()).optional(),
-  $figmaCollectionId: z.string().optional(),
-  $figmaModeId: z.string().optional(),
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html deleted file mode 100644 index 0c9a0b14c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/schemas/tokensMapSchema.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/storage/schemas/tokensMapSchema.ts - - - - - - - - - -
-
-

All files / src/storage/schemas tokensMapSchema.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import z from 'zod';
-import { singleTokenSchema } from './singleTokenSchema';
-import { DeepTokensMap } from '@/types';
- 
-// @README need to "as" this type because of the string validation not mathcing to the TokenTypes enum
-// but I do not want to set a strict validation because there might be instances where the incoming data
-// has invalid types
-export const tokensMapSchema: z.ZodType<DeepTokensMap<false>> = z.lazy(() => (
-  z.record(singleTokenSchema.or(tokensMapSchema)) as z.ZodType<DeepTokensMap<false>>
-));
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html deleted file mode 100644 index fe06360c2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenInTokensStudio.ts.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/createTokenInTokensStudio.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio createTokenInTokensStudio.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RematchRootState } from '@rematch/core';
-import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import { UpdateTokenPayload } from '@/types/payloads';
-import { RootModel } from '@/types/RootModel';
-import { SingleToken } from '@/types/tokens';
-import { singleTokensToRawTokenSet } from '@/utils/convert';
- 
-interface CreateTokenInTokensStudioPayload {
-  rootState: RematchRootState<RootModel, Record<string, never>>;
-  payload: UpdateTokenPayload;
-}
- 
-export async function createTokenInTokensStudio({
-  payload,
-  rootState,
-}: CreateTokenInTokensStudioPayload) {
-  const tokenSet = rootState.tokenState.tokens[payload.parent];
- 
-  if (!tokenSet) {
-    throw new Error('Token set not found');
-  }
- 
-  const newToken = {
-    name: payload.name,
-    type: payload.type,
-    value: payload.value,
-    description: payload.description,
-    $extensions: payload.$extensions,
-  } as SingleToken;
- 
-  const newSet = [...tokenSet, newToken];
-  const dtcgSet = singleTokensToRawTokenSet(newSet, true);
- 
-  pushToTokensStudio({
-    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-    action: 'UPDATE_TOKEN_SET',
-    data: {
-      raw: dtcgSet,
-      name: payload.parent,
-    },
-    metadata: rootState.tokenState.tokenSetMetadata,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html deleted file mode 100644 index b301c93a4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/createTokenSetInTokensStudio.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/createTokenSetInTokensStudio.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio createTokenSetInTokensStudio.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RematchRootState } from '@rematch/core';
-import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import { RootModel } from '@/types/RootModel';
-import { TokenState } from '@/app/store/models/tokenState';
- 
-interface CreateTokenSetInTokensStudioPayload {
-  rootState: RematchRootState<RootModel, Record<string, never>>;
-  name: string;
-  onTokenSetCreated: (payload: TokenState['tokenSetMetadata']) => void;
-}
- 
-export async function createTokenSetInTokensStudio({
-  rootState,
-  name,
-  onTokenSetCreated,
-}: CreateTokenSetInTokensStudioPayload) {
-  const orderIndex = Object.keys(rootState.tokenState.tokens).length;
- 
-  pushToTokensStudio({
-    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-    action: 'CREATE_TOKEN_SET',
-    data: { name, orderIndex },
-    successCallback: () => {
-      onTokenSetCreated({
-        ...rootState.tokenState.tokenSetMetadata,
-        [name]: {
-          isDynamic: false,
-        },
-      });
-    },
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html deleted file mode 100644 index d6d516f9b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio deleteTokenSetFromTokensStudio.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RematchRootState } from '@rematch/core';
-import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import { RootModel } from '@/types/RootModel';
-import { TokenState } from '@/app/store/models/tokenState';
- 
-interface DeleteTokenSetFromTokensStudioPayload {
-  rootState: RematchRootState<RootModel, Record<string, never>>;
-  name: string;
-  onTokenSetDeleted: (payload: TokenState['tokenSetMetadata']) => void;
-}
- 
-export async function deleteTokenSetFromTokensStudio({
-  rootState,
-  name,
-  onTokenSetDeleted,
-}: DeleteTokenSetFromTokensStudioPayload) {
-  pushToTokensStudio({
-    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-    action: 'DELETE_TOKEN_SET',
-    data: { name },
-    metadata: rootState.tokenState.tokenSetMetadata,
-    successCallback: () => {
-      const tokenSetMetadata = { ...rootState.tokenState.tokenSetMetadata };
-      delete tokenSetMetadata[name];
-      onTokenSetDeleted(tokenSetMetadata);
-    },
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html deleted file mode 100644 index 481455b87..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/duplicateTokenInTokensStudio.ts.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/duplicateTokenInTokensStudio.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio duplicateTokenInTokensStudio.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RematchRootState } from '@rematch/core';
-import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import { DuplicateTokenPayload, UpdateTokenPayload } from '@/types/payloads';
-import { RootModel } from '@/types/RootModel';
-import { updateTokenPayloadToSingleToken } from '@/utils/updateTokenPayloadToSingleToken';
-import { singleTokensToRawTokenSet } from '@/utils/convert';
- 
-interface CreateTokenInTokensStudioPayload {
-  rootState: RematchRootState<RootModel, Record<string, never>>;
-  payload: DuplicateTokenPayload;
-}
- 
-export async function duplicateTokenInTokensStudio({
-  payload,
-  rootState,
-}: CreateTokenInTokensStudioPayload) {
-  const tokenData = updateTokenPayloadToSingleToken({
-    parent: payload.parent,
-    name: payload.newName,
-    type: payload.type,
-    value: payload.value,
-    description: payload.description,
-    oldName: payload.oldName,
-    $extensions: payload.$extensions,
-  } as UpdateTokenPayload);
- 
-  const tokenSets = rootState.tokenState.tokens;
- 
-  for (const tokenSet of payload.tokenSets) {
-    const tokenSetContent = tokenSets[tokenSet];
-    const newTokenSetContent = [...tokenSetContent, tokenData];
-    const newRawTokenSet = singleTokensToRawTokenSet(newTokenSetContent, true);
- 
-    pushToTokensStudio({
-      context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-      action: 'UPDATE_TOKEN_SET',
-      data: { raw: newRawTokenSet, name: tokenSet },
-    });
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html deleted file mode 100644 index 939cb16c9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createThemeGroupMutation.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/createThemeGroupMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql createThemeGroupMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const CREATE_THEME_GROUP_MUTATION = gql`
-  mutation CreateThemeGroup($project: String!, $organization: String!, $branch: String!, $input: ThemeGroupInput!) {
-    createThemeGroup(project: $project, organization: $organization, branch: $branch, input: $input) {
-      name
-      options {
-        name
-        figmaStyleReferences
-        figmaVariableReferences
-        selectedTokenSets
-        figmaCollectionId
-        figmaModeId
-      }
-    }
-  }
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html deleted file mode 100644 index 7db706a11..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenMutation.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/createTokenMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql createTokenMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { TOKEN_FRAGMENT } from './tokenFragment';
- 
-export const CREATE_TOKEN_MUTATION = `
-    mutation CreateToken($set: String!, $input: TokenInput!) {
-        createToken(set: $set, input: $input) {
-            ${TOKEN_FRAGMENT}
-        }
-    }
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html deleted file mode 100644 index 35dc55c0f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/createTokenSetMutation.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/createTokenSetMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql createTokenSetMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const CREATE_TOKEN_SET_MUTATION = gql`
-mutation CreateTokenSet($input: TokenSetInput!, $project: String!, $organization: String!) {
-  createTokenSet(input: $input, project: $project, organization: $organization) {
-    name
-  }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html deleted file mode 100644 index 76018ff43..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql deleteThemeGroupMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const DELETE_THEME_GROUP_MUTATION = gql`
-mutation DeleteThemeGroup($branch: String!, $themeGroupName: String!, $project: String!, $organization: String!) {
-  deleteThemeGroup(branch: $branch, themeGroupName: $themeGroupName, project: $project, organization: $organization) {
-      name
-  }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html deleted file mode 100644 index 63d4c4bd2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenMutation.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/deleteTokenMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql deleteTokenMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { TOKEN_FRAGMENT } from './tokenFragment';
- 
-export const DELETE_TOKEN_MUTATION = `
-mutation DeleteToken($urn: String!) {
-    deleteToken(urn: $urn) {
-        ${TOKEN_FRAGMENT}
-    }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html deleted file mode 100644 index b534aea1e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql deleteTokenSetMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const DELETE_TOKEN_SET_MUTATION = gql`
-mutation DeleteSet($branch: String!, $path: String!, $project: String!, $organization: String!) {
-  deleteSet(branch: $branch, path: $path, project: $project, organization: $organization) {
-      name    
-  }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html deleted file mode 100644 index 5caf0643c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getGeneratorQuery.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/getGeneratorQuery.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql getGeneratorQuery.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
export const GET_GENERATOR_QUERY = `
-query Generator($urn: String!) {
-    generator(urn: $urn) {
-        urn
-        name
-        description
-        createdAt
-        updatedAt
-        graph
-    }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html deleted file mode 100644 index 4019ed742..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getOrgsQuery.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/getOrgsQuery.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql getOrgsQuery.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const GET_ORGS_QUERY = gql`
-  query Organizations {
-    organizations {
-      data {
-        name
-        id
-        projects {
-          data {
-            name
-            id
-          }
-        }
-      }
-    }
-  }
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html deleted file mode 100644 index be4a12577..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getProjectDataQuery.ts.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/getProjectDataQuery.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql getProjectDataQuery.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const GET_PROJECT_DATA_QUERY = gql`
-  query Branch($projectId: String!, $organization: String!, $name: String) {
-    project(id: $projectId, organization: $organization) {
-      branch(name: $name) {
-        tokenSets(limit: 1000) {
-          data {
-            name
-            orderIndex
-            type
-            raw
-          }
-          totalPages
-        }
-        themeGroups {
-          data {
-            name
-            options {
-              name
-              figmaStyleReferences
-              figmaVariableReferences
-              selectedTokenSets
-              figmaCollectionId
-              figmaModeId
-            }
-          }
-        }
-      }
-    }
-  }
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html deleted file mode 100644 index c87d0aabb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/getTokenSetQuery.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/getTokenSetQuery.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql getTokenSetQuery.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TOKEN_FRAGMENT } from './tokenFragment';
- 
-export const GET_TOKEN_SET_QUERY = `
-query TokenSet($urn: String!) {
-    tokenSet(urn: $urn) {
-        urn
-        metadata {
-            createdAt
-        }
-        name
-        projectUrn
-        type
-        generatorUrn
-        orderIndex
-        createdAt
-        tokens {
-            ${TOKEN_FRAGMENT}
-        }
-    }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html deleted file mode 100644 index 0125e0f8b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql - - - - - - - - - -
-
-

All files src/storage/tokensStudio/graphql

-
- -
- 0% - Statements - 0/15 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
createThemeGroupMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
createTokenMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
createTokenSetMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
deleteThemeGroupMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
deleteTokenMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
deleteTokenSetMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
getGeneratorQuery.ts -
-
0%0/1100%0/0100%0/00%0/1
getOrgsQuery.ts -
-
0%0/1100%0/0100%0/00%0/1
getProjectDataQuery.ts -
-
0%0/1100%0/0100%0/00%0/1
getTokenSetQuery.ts -
-
0%0/1100%0/0100%0/00%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
tokenFragment.ts -
-
0%0/1100%0/0100%0/00%0/1
updateThemeGroupMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
updateTokenMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
updateTokenSetMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
updateTokenSetOrderMutation.ts -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html deleted file mode 100644 index 370185a10..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/index.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/index.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export { GET_PROJECT_DATA_QUERY } from './getProjectDataQuery';
-export { CREATE_TOKEN_MUTATION } from './createTokenMutation';
-export { UPDATE_TOKEN_MUTATION } from './updateTokenMutation';
-export { DELETE_TOKEN_MUTATION } from './deleteTokenMutation';
-export { CREATE_TOKEN_SET_MUTATION } from './createTokenSetMutation';
-export { UPDATE_TOKEN_SET_MUTATION } from './updateTokenSetMutation';
-export { DELETE_TOKEN_SET_MUTATION } from './deleteTokenSetMutation';
-export { UPDATE_TOKEN_SET_ORDER_MUTATION } from './updateTokenSetOrderMutation';
-export { CREATE_THEME_GROUP_MUTATION } from './createThemeGroupMutation';
-export { UPDATE_THEME_GROUP_MUTATION } from './updateThemeGroupMutation';
-export { DELETE_THEME_GROUP_MUTATION } from './deleteThemeGroupMutation';
-export { GET_GENERATOR_QUERY } from './getGeneratorQuery';
-export { GET_TOKEN_SET_QUERY } from './getTokenSetQuery';
-export { GET_ORGS_QUERY } from './getOrgsQuery';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html deleted file mode 100644 index 24a07c2b1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/tokenFragment.ts.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/tokenFragment.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql tokenFragment.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { compositionFields } from '../utils';
- 
-export const TOKEN_FRAGMENT = `
-    description
-    name
-    urn
-    extensions
-    setUrn
-    type
-    value {
-        ... on Raw_Token_scalar {
-            value
-        }
-        ... on Raw_Token_typography {
-            value
-            typography {
-                textDecoration
-                textCase
-                lineHeight
-                letterSpacing
-                fontSize
-                fontFamily
-                fontWeight
-                paragraphIndent
-                paragraphSpacing
-            }
-        }
-        ... on Raw_Token_border {
-            value
-            border {
-                width
-                style
-                color
-            }
-        }
-        ... on Raw_Token_boxShadow {
-            value
-            boxShadow {
-                x
-                y
-                blur
-                spread
-                color
-                type
-            }
-        }
-        ... on Raw_Token_composition {
-            value
-            composition {
-                ${compositionFields}
-            }
-        }
-    }
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html deleted file mode 100644 index 79b078a7b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql updateThemeGroupMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const UPDATE_THEME_GROUP_MUTATION = gql`
-  mutation UpdateThemeGroup($input: ThemeGroupUpdateInput!, $project: String!, $organization: String!) {
-    updateThemeGroup(input: $input, project: $project, organization: $organization) {
-      name
-      options {
-        name
-        selectedTokenSets
-        figmaStyleReferences
-        figmaVariableReferences
-        figmaCollectionId
-        figmaModeId
-      }
-    }
-  }
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html deleted file mode 100644 index ae969f52d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenMutation.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/updateTokenMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql updateTokenMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { TOKEN_FRAGMENT } from './tokenFragment';
- 
-export const UPDATE_TOKEN_MUTATION = `
-mutation UpdateToken($urn: String!, $input: TokenUpdateInput!) {
-    updateToken(urn: $urn, input: $input) {
-      ${TOKEN_FRAGMENT}
-    }
-}`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html deleted file mode 100644 index 30f472e43..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetMutation.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/updateTokenSetMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql updateTokenSetMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const UPDATE_TOKEN_SET_MUTATION = gql`
-mutation UpdateTokenSet($input: TokenSetUpdateInput!, $project: String!, $organization: String!) {
-  updateTokenSet(input: $input, project: $project, organization: $organization) {
-    name
-    tokens {
-      extensions
-      name
-      description
-      value
-    }
-  }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html deleted file mode 100644 index 09744f92b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/graphql updateTokenSetOrderMutation.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { gql } from '@tokens-studio/sdk';
- 
-export const UPDATE_TOKEN_SET_ORDER_MUTATION = gql`
-mutation UpdateTokenSetsOrder($updates: [TokenSetOrderInput!]!, $project: String!, $organization: String!) {
-  updateTokenSetsOrder(updates: $updates, project: $project, organization: $organization) {
-    name
-    orderIndex
-    type
-    tokens {
-      description
-      type
-      name
-      extensions
-    }
-  }
-}
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html deleted file mode 100644 index 147c6402a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio - - - - - - - - - -
-
-

All files src/storage/tokensStudio

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
createTokenInTokensStudio.ts -
-
0%0/70%0/20%0/10%0/7
createTokenSetInTokensStudio.ts -
-
0%0/3100%0/00%0/20%0/3
deleteTokenSetFromTokensStudio.ts -
-
0%0/4100%0/00%0/20%0/4
duplicateTokenInTokensStudio.ts -
-
0%0/7100%0/00%0/10%0/7
index.ts -
-
0%0/00%0/00%0/00%0/0
updateTokenSetInTokensStudio.ts -
-
0%0/4100%0/00%0/20%0/4
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html deleted file mode 100644 index 4bbb4bcf2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/index.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/index.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export { createTokenInTokensStudio } from './createTokenInTokensStudio';
-export { duplicateTokenInTokensStudio } from './duplicateTokenInTokensStudio';
-export { createTokenSetInTokensStudio } from './createTokenSetInTokensStudio';
-export { updateTokenSetInTokensStudio } from './updateTokenSetInTokensStudio';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html deleted file mode 100644 index 156213d6b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio deleteTheme.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObjectsList } from '@/types';
-import { getThemeGroupsToUpdate } from './getThemeGroupsToUpdate';
- 
-type Props = {
-  action: any;
-  themes: ThemeObjectsList;
-  prevThemes: ThemeObjectsList;
-};
- 
-export const deleteTheme = ({ action, themes, prevThemes }: Props) => {
-  const { payload: themeId } = action;
- 
-  let themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
-  let themeGroupsToDelete: string[] = [];
- 
-  const themeGroupName = prevThemes.find((theme) => theme.id === themeId)?.group;
- 
-  if (themeGroupName) {
-    const themesToUpdate = themes.filter(({ group }) => group === themeGroupName);
- 
-    if (themesToUpdate.length) {
-      themeGroupsToUpdate = getThemeGroupsToUpdate(themesToUpdate);
-    } else {
-      themeGroupsToDelete = [themeGroupName];
-    }
-  }
- 
-  return { themeGroupsToUpdate, themeGroupsToDelete };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html deleted file mode 100644 index 3755eb408..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio getThemeGroupsToUpdate.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObjectsList } from '@/types';
- 
-export const getThemeGroupsToUpdate = (themes: ThemeObjectsList) => {
-  const themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
- 
-  themes.forEach((theme) => {
-    if (theme.group) {
-      themeGroupsToUpdate[theme.group] = themeGroupsToUpdate[theme.group] || [];
-      themeGroupsToUpdate[theme.group].push(theme);
-    }
-  });
- 
-  return themeGroupsToUpdate;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html deleted file mode 100644 index 7d2b340f9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio - - - - - - - - - -
-
-

All files src/storage/tokensStudio/updateThemeGroupsInTokensStudio

-
- -
- 0% - Statements - 0/92 -
- - -
- 0% - Branches - 0/50 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/89 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
deleteTheme.ts -
-
0%0/130%0/40%0/30%0/11
getThemeGroupsToUpdate.ts -
-
0%0/70%0/40%0/20%0/7
index.ts -
-
0%0/300%0/160%0/20%0/30
saveTheme.ts -
-
0%0/350%0/220%0/40%0/34
updateThemeGroupName.ts -
-
0%0/70%0/40%0/30%0/7
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html deleted file mode 100644 index 4b930caec..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio index.ts

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RematchDispatch, RematchRootState } from '@rematch/core';
-import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import { RootModel } from '@/types/RootModel';
-import { ThemeObject, ThemeObjectsList } from '@/types';
-import { getThemeGroupsToUpdate } from './getThemeGroupsToUpdate';
-import { updateThemeGroupName } from './updateThemeGroupName';
-import { saveTheme } from './saveTheme';
-import { deleteTheme } from './deleteTheme';
- 
-interface UpdateThemeGroupsInTokensStudioPayload {
-  prevState: RematchRootState<RootModel, Record<string, never>>;
-  rootState: RematchRootState<RootModel, Record<string, never>>;
-  dispatch: RematchDispatch<RootModel>;
-  action: any;
-}
- 
-export async function updateThemeGroupsInTokensStudio({
-  prevState,
-  rootState,
-  action,
-}: UpdateThemeGroupsInTokensStudioPayload) {
-  const {
-    tokenState: { themes },
-  } = rootState;
-  const {
-    tokenState: { themes: prevThemes },
-  } = prevState;
- 
-  let themeToCreate: ThemeObject | null = null;
-  let themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
-  let themeGroupsToDelete: string[] = [];
- 
-  switch (action.type) {
-    case 'tokenState/updateThemeGroupName': {
-      updateThemeGroupName({ action, themes, themeGroupsToUpdate });
-      break;
-    }
-    case 'tokenState/saveTheme': {
-      const themeGroupsToAlter = saveTheme({
-        action,
-        themes,
-        prevThemes,
-      });
-      themeToCreate = themeGroupsToAlter.themeToCreate;
-      themeGroupsToDelete = themeGroupsToAlter.themeGroupsToDelete;
-      themeGroupsToUpdate = themeGroupsToAlter.themeGroupsToUpdate;
-      break;
-    }
-    case 'tokenState/deleteTheme': {
-      const themeGroupsToAlter = deleteTheme({
-        action,
-        themes,
-        prevThemes,
-      });
-      themeGroupsToDelete = themeGroupsToAlter.themeGroupsToDelete;
-      themeGroupsToUpdate = themeGroupsToAlter.themeGroupsToUpdate;
-      break;
-    }
-    case 'tokenState/assignVariableIdsToCurrentTheme':
-    case 'tokenState/assignVariableIdsToTheme':
-    case 'tokenState/assignStyleIdsToCurrentTheme':
-    case 'tokenState/assignStyleIdsToTheme':
-    case 'tokenState/disconnectVariableFromTheme':
-    case 'tokenState/disconnectStyleFromTheme':
-      themeGroupsToUpdate = getThemeGroupsToUpdate(themes);
-      break;
-    default:
-  }
- 
-  for (const [groupName, themesToUpdate] of Object.entries(themeGroupsToUpdate)) {
-    const data: any = {
-      name: groupName,
-      options: themesToUpdate.map((theme) => ({
-        name: theme.name,
-        selectedTokenSets: theme.selectedTokenSets,
-        figmaStyleReferences: theme.$figmaStyleReferences,
-        figmaVariableReferences: theme.$figmaVariableReferences,
-        figmaCollectionId: theme.$figmaCollectionId,
-        figmaModeId: theme.$figmaModeId,
-      })),
-    };
- 
-    // If the group name has changed, we need to send the old name in the newName field
-    if (groupName !== themesToUpdate[0].group) {
-      data.newName = themesToUpdate[0].group;
-    }
- 
-    pushToTokensStudio({
-      context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-      action: 'UPDATE_THEME_GROUP',
-      data,
-    });
-  }
- 
-  if (themeToCreate) {
-    pushToTokensStudio({
-      context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-      action: 'CREATE_THEME_GROUP',
-      data: {
-        name: themeToCreate.group,
-        options: [{
-          name: themeToCreate.name,
-          selectedTokenSets: themeToCreate.selectedTokenSets,
-          figmaStyleReferences: themeToCreate.$figmaStyleReferences,
-          figmaVariableReferences: themeToCreate.$figmaVariableReferences,
-          figmaCollectionId: themeToCreate.$figmaCollectionId,
-          figmaModeId: themeToCreate.$figmaModeId,
-        }],
-      },
-    });
-  }
- 
-  if (themeGroupsToDelete.length) {
-    for (const groupName of themeGroupsToDelete) {
-      pushToTokensStudio({
-        context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-        action: 'DELETE_THEME_GROUP',
-        data: {
-          name: groupName,
-        },
-      });
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html deleted file mode 100644 index c17052e9c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio saveTheme.ts

-
- -
- 0% - Statements - 0/35 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/34 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObject, ThemeObjectsList } from '@/types';
-import { getThemeGroupsToUpdate } from './getThemeGroupsToUpdate';
- 
-type Props = {
-  action: any;
-  themes: ThemeObjectsList;
-  prevThemes: ThemeObjectsList;
-};
- 
-export const saveTheme = ({ action, themes: newThemes, prevThemes }: Props) => {
-  const {
-    payload: {
-      name, group, meta, id,
-    },
-  } = action;
- 
-  const prevGroupsThemes = prevThemes.reduce((acc, theme) => {
-    if (theme.group) {
-      acc[theme.group] = [...(acc[theme.group] || []), theme];
-    }
-    return acc;
-  }, {});
-  const newGroupsThemes = newThemes.reduce((acc, theme) => {
-    if (theme.group) {
-      acc[theme.group] = [...(acc[theme.group] || []), theme];
-    }
-    return acc;
-  }, {});
- 
-  let themeToCreate: ThemeObject | null = null;
-  let themeGroupsToUpdate: Record<string, ThemeObjectsList> = {};
-  const themeGroupsToDelete: string[] = [];
- 
-  const themeObject = newThemes.find((newTheme) => newTheme.name === name);
- 
-  if (!themeObject) {
-    return { themeGroupsToUpdate, themeGroupsToDelete, themeToCreate: null };
-  }
- 
-  if (!id) {
-    // created theme
-    if (group && prevGroupsThemes[group]) {
-      // created in an existing group
-      themeGroupsToUpdate = getThemeGroupsToUpdate(newGroupsThemes[group]);
-    } else {
-      // created in a new group
-      themeToCreate = themeObject;
-    }
-  } else {
-    // updated theme
-    const themeGroupChanged = group !== meta?.oldGroup;
- 
-    if (themeGroupChanged) {
-      const groupExists = prevGroupsThemes[group];
-      const themesToUpdate: ThemeObject[] = [];
-      if (groupExists) {
-        // update theme group
-        themesToUpdate.push(...newGroupsThemes[group]);
-      } else {
-        // create new group
-        themeToCreate = themeObject;
-      }
- 
-      // update old group or remove it if there are no themes left
-      const remainingThemeInOldGroup = newGroupsThemes[meta.oldGroup];
-      if (remainingThemeInOldGroup?.length) {
-        themesToUpdate.push(...remainingThemeInOldGroup);
-      } else {
-        themeGroupsToDelete.push(meta.oldGroup);
-      }
- 
-      themeGroupsToUpdate = getThemeGroupsToUpdate(themesToUpdate);
-    } else {
-      // updated theme values
-      themeGroupsToUpdate = getThemeGroupsToUpdate(newGroupsThemes[group]);
-    }
-  }
- 
-  return { themeGroupsToUpdate, themeGroupsToDelete, themeToCreate };
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html deleted file mode 100644 index 266047674..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/updateThemeGroupsInTokensStudio updateThemeGroupName.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObjectsList } from '@/types';
- 
-type Props = {
-  action: any;
-  themes: ThemeObjectsList;
-  themeGroupsToUpdate: Record<string, ThemeObjectsList>;
-};
- 
-export const updateThemeGroupName = ({ action, themes, themeGroupsToUpdate }: Props) => {
-  const { meta: newName } = action;
- 
-  themes
-    .filter((theme) => theme.group === newName)
-    .forEach((theme) => {
-      if (theme.group) {
-        themeGroupsToUpdate[action.payload] = themeGroupsToUpdate[action.payload] || [];
-        themeGroupsToUpdate[action.payload].push({
-          ...theme,
-        });
-      }
-    });
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html deleted file mode 100644 index 421aa9940..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/updateTokenSetInTokensStudio.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/updateTokenSetInTokensStudio.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio updateTokenSetInTokensStudio.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RematchRootState } from '@rematch/core';
-import { pushToTokensStudio } from '@/app/store/providers/tokens-studio';
-import { StorageTypeCredential, TokensStudioStorageType } from '@/types/StorageType';
-import { RootModel } from '@/types/RootModel';
-import { TokenState } from '@/app/store/models/tokenState';
- 
-interface UpdateTokenSetInTokensStudioPayload {
-  rootState: RematchRootState<RootModel, Record<string, never>>;
-  data: { oldName: string; newName: string };
-  onTokenSetUpdated: (payload: TokenState['tokenSetMetadata']) => void;
-}
- 
-export async function updateTokenSetInTokensStudio({
-  rootState,
-  data,
-  onTokenSetUpdated,
-}: UpdateTokenSetInTokensStudioPayload) {
-  pushToTokensStudio({
-    context: rootState.uiState.api as StorageTypeCredential<TokensStudioStorageType>,
-    action: 'UPDATE_TOKEN_SET',
-    data,
-    metadata: rootState.tokenState.tokenSetMetadata,
-    successCallback: () => {
-      const tokenSetMetadata = { ...rootState.tokenState.tokenSetMetadata };
-      delete tokenSetMetadata[data.oldName];
- 
-      onTokenSetUpdated({
-        ...tokenSetMetadata,
-        [data.newName]: {
-          isDynamic: false,
-        },
-      });
-    },
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html deleted file mode 100644 index 3b2524979..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/compositionFields.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/utils/compositionFields.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/utils compositionFields.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@tokens-studio/types';
- 
-export const INVALID_COMPOSITION_PROPERTIES = [
-  Properties.composition,
-  Properties.description,
-  Properties.value,
-  Properties.tokenName,
-  Properties.tokenValue,
-];
- 
-// Function to generate the fields for the composition type
-export const generateCompositionFields = (properties: typeof Properties): string => {
-  const fields = Object.values(properties)
-    .filter((prop) => !INVALID_COMPOSITION_PROPERTIES.includes(prop as Properties))
-    .join('\n');
-  return fields;
-};
- 
-// Generate the composition fields
-export const compositionFields = generateCompositionFields(Properties);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html deleted file mode 100644 index bffffc170..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/utils - - - - - - - - - -
-
-

All files src/storage/tokensStudio/utils

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
compositionFields.ts -
-
0%0/6100%0/00%0/20%0/6
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html deleted file mode 100644 index 5e0392a7c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/storage/tokensStudio/utils/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/storage/tokensStudio/utils/index.ts - - - - - - - - - -
-
-

All files / src/storage/tokensStudio/utils index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './compositionFields';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/stories/index.html b/packages/tokens-studio-for-figma/lcov-report/src/stories/index.html deleted file mode 100644 index 7df029217..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/stories/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/stories - - - - - - - - - -
-
-

All files src/stories

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
tokensForStories.ts -
-
0%0/1100%0/0100%0/00%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html deleted file mode 100644 index 4e7227d07..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/stories/tokensForStories.ts.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - Code coverage report for src/stories/tokensForStories.ts - - - - - - - - - -
-
-

All files / src/stories tokensForStories.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
- 
-export const tokensForStories = {
-  spacing: {
-    scale: {
-      name: 'spacing.scale',
-      value: '2',
-      type: 'spacing',
-    },
-    xs: {
-      name: 'spacing.xs',
-      value: '4',
-      type: 'spacing',
-    },
-    sm: {
-      name: 'spacing.sm',
-      value: '{spacing.xs} * {spacing.scale}',
-      type: 'spacing',
-    },
-    md: {
-      name: 'spacing.md',
-      value: '{spacing.sm} * {spacing.scale}',
-      type: 'spacing',
-    },
-    lg: {
-      name: 'spacing.lg',
-      value: '{spacing.md} * {spacing.scale}',
-      type: 'spacing',
-    },
-    xl: {
-      name: 'spacing.xl',
-      value: '{spacing.lg} * {spacing.scale}',
-      type: 'spacing',
-    },
-  },
-  colors: {
-    theme: {
-      bg: {
-        default: {
-          name: 'theme.bg.default',
-          value: '{colors.red.500}',
-          description: 'My default token',
-          type: TokenTypes.COLOR,
-        },
-      },
-    },
-    color: {
-      black: {
-        name: 'color.black',
-        type: TokenTypes.COLOR,
-        value: '#ffffff',
-      },
-      white: {
-        name: 'color.white',
-        type: TokenTypes.COLOR,
-        value: '#000000',
-      },
-      gray: {
-        100: {
-          name: 'color.gray.100',
-          value: '#FAFBFC',
-          type: 'color',
-        },
-        200: {
-          name: 'color.gray.200',
-          value: '#EAEEF2',
-          type: 'color',
-        },
-        300: {
-          name: 'color.gray.300',
-          value: '#D4DAE0',
-          type: 'color',
-        },
-        400: {
-          name: 'color.gray.400',
-          value: '#B7BFC7',
-          type: 'color',
-        },
-        500: {
-          name: 'color.gray.500',
-          value: '#949DA7',
-          type: 'color',
-        },
-        600: {
-          name: 'color.gray.600',
-          value: '#707A84',
-          type: 'color',
-        },
-        700: {
-          name: 'color.gray.700',
-          value: '#57606A',
-          type: 'color',
-        },
-        800: {
-          name: 'color.gray.800',
-          value: '#424A53',
-          type: 'color',
-        },
-        900: {
-          name: 'color.gray.900',
-          value: '#1B1F24',
-          type: 'color',
-        },
-      },
-      theme: {
-        bg: {
-          default: {
-            name: 'theme.bg.default',
-            value: '{colors.gray.100}',
-            description: 'My default token',
-            type: TokenTypes.COLOR,
-          },
-        },
-        a: {
-          deep: {
-            nested: {
-              token: {
-                name: 'theme.bg.default',
-                value: '#ffffff',
-                description: 'My default token',
-                type: TokenTypes.COLOR,
-              },
-            },
-          },
-        },
-      },
-      broken: {
-        name: 'color.broken',
-        value: '{color.notfound}',
-        type: 'color',
-      },
-    },
-  },
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html deleted file mode 100644 index c374df968..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/supabase.ts.html +++ /dev/null @@ -1,724 +0,0 @@ - - - - - - Code coverage report for src/supabase.ts - - - - - - - - - -
-
-

All files / src supabase.ts

-
- -
- 0% - Statements - 0/81 -
- - -
- 0% - Branches - 0/31 -
- - -
- 0% - Functions - 0/15 -
- - -
- 0% - Lines - 0/81 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { PostgrestClient } from '@supabase/postgrest-js';
-import { StorageClient } from '@supabase/storage-js';
-import {
-  RealtimeChannel, RealtimeChannelOptions, RealtimeClient, RealtimeClientOptions,
-} from '@supabase/realtime-js';
-import { AuthData, AuthInfo } from './types/Auth';
-import { AsyncMessageChannel } from './AsyncMessageChannel';
-import { AsyncMessageTypes } from './types/AsyncMessages';
- 
-const authUri = '/auth/v1';
- 
-class SupabaseClient {
-  apiUrl: string;
- 
-  apikey: string;
- 
-  headers: { [key: string]: string };
- 
-  auth: any;
- 
-  postgrest: any;
- 
-  storage: any;
- 
-  realtime: any;
- 
-  realtimeUrl: string;
- 
-  refreshTokenInterval: any;
- 
-  intervalInSeconds = 5 * 60;
- 
-  /**
-   * @param apiUrl  supabase api url.
-   * @param apikey  supabase key.
-   */
-  constructor(apiUrl: string, apikey: string) {
-    this.apiUrl = apiUrl;
-    this.apikey = apikey;
-    this.headers = this.getAuthHeaders(null);
-    this.realtimeUrl = `${process.env.SUPABASE_URL}/realtime/v1`.replace(/^http/i, 'ws');
-  }
- 
-  private getAuthHeaders(auth: AuthData | null): { [key: string]: string } {
-    const headers: { [key: string]: string } = {};
-    const authBearer = auth?.access_token ?? process.env.SUPABASE_ANON_KEY;
-    headers.apikey = process.env.SUPABASE_ANON_KEY ?? '';
-    headers.Authorization = `Bearer ${authBearer}`;
-    headers['Content-Type'] = 'application/json';
-    return headers;
-  }
- 
-  private initRealtimeClient(options: RealtimeClientOptions) {
-    return new RealtimeClient(this.realtimeUrl, {
-      ...options,
-      params: { ...{ apikey: this.apikey }, ...options?.params, headers: this.headers },
-    });
-  }
- 
-  private initPostgrest() {
-    const REST_URL = `${process.env.SUPABASE_URL}/rest/v1`;
-    const postgrest = new PostgrestClient(REST_URL, {
-      schema: 'public',
-      headers: this.headers,
-    });
-    return postgrest;
-  }
- 
-  private initStorage() {
-    const STORAGE_URL = `${process.env.SUPABASE_URL}/storage/v1`;
-    const storageHeaders = { ...this.headers };
-    delete storageHeaders['Content-Type'];
-    const storage = new StorageClient(STORAGE_URL, storageHeaders);
-    return storage;
-  }
- 
-  private initializeAuth(auth: AuthData) {
-    this.auth = auth;
-    this.headers = this.getAuthHeaders(auth);
-    this.postgrest = this.initPostgrest();
-    this.storage = this.initStorage();
-    this.realtime = this.initRealtimeClient({});
-    this.realtime.setAuth(auth.access_token);
- 
-    // auto refresh token
-    clearInterval(this.refreshTokenInterval);
-    this.refreshTokenInterval = setInterval(async () => {
-      const tokenState = this.checkToken(auth);
-      if (tokenState === 'expired') {
-        const { data, error } = await this.signIn({
-          refresh_token: auth.refresh_token,
-        });
-        if (!error) {
-          this.initializeAuth(data);
-          AsyncMessageChannel.ReactInstance.message({
-            type: AsyncMessageTypes.SET_AUTH_DATA,
-            auth: data,
-          });
-        } else {
-          AsyncMessageChannel.ReactInstance.message({
-            type: AsyncMessageTypes.SET_AUTH_DATA,
-            auth: null,
-          });
-          clearInterval(this.refreshTokenInterval);
-        }
-      }
-    }, this.intervalInSeconds * 1000);
-  }
- 
-  private checkToken(auth: AuthData) {
-    const now = new Date().getTime() / 1000;
-    const diff = auth.expires_at - now;
-    if (diff > 0) {
-      // Almost expired
-      if (diff < 20) {
-        return 'near';
-      }
-      return 'safe';
-    }
-    // Expired
-    return 'expired';
-  }
- 
-  logout() {
-    this.auth = null;
-    clearInterval(this.refreshTokenInterval);
-  }
- 
-  async verifyAuth(auth: AuthData, callback: (data: AuthData | null) => void) {
-    const tokenState = this.checkToken(auth);
-    if (tokenState === 'near') {
-      // Refresh token automatically if token is almost expired
-      const { data, error } = await this.signIn({
-        refresh_token: auth.refresh_token,
-      });
- 
-      if (error) {
-        callback(null);
-      } else {
-        // Reset auth data
-        this.initializeAuth(data);
-        callback(data);
-      }
-    } else if (tokenState === 'expired') {
-      callback(null);
-    } else if (tokenState === 'safe') {
-      // Initialize auth data
-      this.initializeAuth(auth);
-      callback(auth);
-    }
-  }
- 
-  async signUp(data: AuthInfo) {
-    try {
-      const auth = await fetch(`${this.apiUrl + authUri}/signup`, {
-        method: 'POST',
-        headers: this.headers,
-        body: JSON.stringify(data),
-      }).then((res) => res.json());
- 
-      if (!auth.user) {
-        return { data: null, error: auth };
-      }
- 
-      const now = new Date().getTime() / 1000;
-      const authData = { ...auth, expires_at: Math.floor(now + auth.expires_in) };
- 
-      // Logged in, initialize auth data
-      this.initializeAuth(authData);
-      return { data: authData, error: null };
-    } catch (error) {
-      return { data: null, error };
-    }
-  }
- 
-  async signIn(data: AuthInfo) {
-    const url = `/token?grant_type=${data.email ? 'password' : 'refresh_token'}`;
-    try {
-      const auth = await fetch(this.apiUrl + authUri + url, {
-        method: 'POST',
-        headers: this.headers,
-        body: JSON.stringify(data),
-      }).then((res) => res.json());
- 
-      if (auth.error) {
-        return { data: null, error: auth };
-      }
-      const now = new Date().getTime() / 1000;
-      const authData = { ...auth, expires_at: Math.floor(now + auth.expires_in) };
- 
-      // Logged in, initialize auth data
-      this.initializeAuth(authData);
-      return { data: authData, error: null };
-    } catch (error) {
-      return { data: null, error };
-    }
-  }
- 
-  /**
-   * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.
-   *
-   * @param {string} name - The name of the Realtime channel.
-   * @param {Object} opts - The options to pass to the Realtime channel.
-   *
-   */
-  channel(name: string, opts: RealtimeChannelOptions = { config: {} }): RealtimeChannel {
-    return this.realtime.channel(name, opts);
-  }
-}
- 
-const supabase = new SupabaseClient(process.env.SUPABASE_URL ?? '', process.env.SUPABASE_ANON_KEY ?? '');
- 
-export default supabase;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html deleted file mode 100644 index 181965d01..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/tokens/core.ts.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/tokens/core.ts - - - - - - - - - -
-
-

All files / src/tokens core.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// DO NOT EDIT DIRECTLY. Autogenerated 2023-8-12 09:56:49
- 
-export const fonts = {
-  sans: 'Inter, sans-serif',
-  mono: 'JetBrains Mono, monospace',
-};
- 
-export const radii = {
-  small: '2px',
-  medium: '4px',
-  full: '999px',
-};
- 
-export const sizes = {
-  1: '2px',
-  2: '4px',
-  3: '8px',
-  4: '12px',
-  5: '16px',
-  6: '24px',
-  7: '32px',
-  8: '48px',
-  10: '28px',
-  controlMedium: '28px',
-  dropdownMaxHeight: '45vh',
-  scrollbarWidth: '8px',
-};
- 
-export const space = {
-  1: '2px',
-  2: '4px',
-  3: '8px',
-  4: '12px',
-  5: '16px',
-  6: '24px',
-  7: '32px',
-  8: '48px',
-  9: '64px',
-};
- 
-export const fontWeights = {
-  normal: '400',
-  bold: '500',
-};
- 
-export const fontSizes = {
-  xxsmall: '10px',
-  xsmall: '11px',
-  small: '12px',
-  medium: '13px',
-  large: '16px',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html deleted file mode 100644 index dd0e1890d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/tokens/dark.ts.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/tokens/dark.ts - - - - - - - - - -
-
-

All files / src/tokens dark.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// DO NOT EDIT DIRECTLY. Autogenerated 2023-8-12 11:09:11
- 
-export const colors = {
-  accentDefault: '#0c8ce9',
-  accentBg: '#064675',
-  accentFg: '#81c6f9',
-  accentEmphasis: '#0c8ce9',
-  accentMuted: '#57b3f6',
-  accentBorder: '#2da0f4',
-  dangerBg: '#701f0d',
-  dangerBgEmphasis: '#e03e1a',
-  dangerFg: '#f6beb1',
-  bgDefault: '#262626',
-  bgSubtle: '#3a3a3a',
-  successBg: '#004d28',
-  successFg: '#88ffc7',
-  borderAccent: '#085d9b',
-  borderDefault: '#4d4d4d',
-  borderMuted: '#3a3a3a',
-  fgDefault: '#ffffff',
-  fgDisabled: '#737373',
-  fgMuted: '#a2a2a2',
-  fgSubtle: '#8a8a8a',
-  fgOnEmphasis: '#ffffff',
-  btnPrimaryBg: '#0c8ce9',
-  btnPrimaryFg: '#ffffff',
-  btnSecondaryBg: '#3a3a3a',
-  btnSecondaryFg: '#ffffff',
-  proBg: '#402d5a',
-  proBorder: '#694993',
-  proFg: '#c2b2d8',
-  focus: '#0c8ce9',
-  contextMenuBg: '#131313',
-  contextMenuBgHover: '#4d4d4d',
-  contextMenuFg: '#ffffff',
-  contextMenuFgMuted: '#a2a2a2',
-  contextMenuFgDisabled: '#8a8a8a',
-  contextMenuSeparator: '#4d4d4d',
-  contextMenuBorder: '#4d4d4d',
-  inputBg: '#262626',
-  inputBorderRest: '#3a3a3a',
-  loadingScreenBg: '#141414',
-  loadingScreenFg: '#FFFFFF',
-  loadingScreenFgMuted: '#CECECE',
-  spinnerOnAccentActive: '#ffffff',
-  spinnerOnAccentMuted: 'rgba(255, 255, 255, 0.5)',
-  spinnerDefaultActive: '#ffffff',
-  spinnerDefaultMuted: '#3a3a3a',
-  tooltipFg: '#ffffff',
-  tooltipFgMuted: 'rgba(255, 255, 255, 0.7)',
-  tooltipBg: '#131313',
-  tooltipBgAccent: '#1F3D68',
-  tooltipBgSubtle: '#2B2A2A',
-  tooltipFgAccent: '#A0C0EF',
-  tooltipFgDanger: '#E05534',
-};
- 
-export const shadows = {
-  small: '0 2px 1px 0 rgba(0, 0, 0, 0.05)',
-  focus: '0 0 0 2px #0c8ce9',
-  focusDanger: '0 0 0 2px #701f0d',
-  focusMuted: '0 0 0 2px #90CDF4',
-  tokenFocus: '0 0 0 2px #3a3a3a',
-  contextMenu: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html deleted file mode 100644 index 6694bb275..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/tokens/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/tokens - - - - - - - - - -
-
-

All files src/tokens

-
- -
- 0% - Statements - 0/10 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
core.ts -
-
0%0/6100%0/0100%0/00%0/6
dark.ts -
-
0%0/2100%0/0100%0/00%0/2
light.ts -
-
0%0/2100%0/0100%0/00%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html deleted file mode 100644 index 65946bd50..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/tokens/light.ts.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/tokens/light.ts - - - - - - - - - -
-
-

All files / src/tokens light.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// DO NOT EDIT DIRECTLY. Autogenerated 2023-8-12 11:09:11
- 
-export const colors = {
-  accentDefault: '#2da0f4',
-  accentBg: '#e2f2fe',
-  accentFg: '#0c8ce9',
-  accentEmphasis: '#0c8ce9',
-  accentMuted: '#0a75c2',
-  accentBorder: '#0a75c2',
-  dangerBg: '#fbe8e4',
-  dangerBgEmphasis: '#e85c3d',
-  dangerFg: '#e03e1a',
-  bgDefault: '#ffffff',
-  bgSubtle: '#f0f0f0',
-  successBg: '#d6ffec',
-  successFg: '#009951',
-  borderAccent: '#e2f2fe',
-  borderDefault: '#d0d0d0',
-  borderMuted: '#f0f0f0',
-  fgDefault: '#131313',
-  fgDisabled: '#b9b9b9',
-  fgMuted: '#8a8a8a',
-  fgSubtle: '#b9b9b9',
-  fgOnEmphasis: '#ffffff',
-  btnPrimaryBg: '#2da0f4',
-  btnPrimaryFg: '#ffffff',
-  btnSecondaryBg: '#ffffff',
-  btnSecondaryFg: '#131313',
-  proBg: '#e1d8ec',
-  proBorder: '#c2b2d8',
-  proFg: '#694993',
-  focus: '#0c8ce9',
-  contextMenuBg: '#131313',
-  contextMenuBgHover: '#4d4d4d',
-  contextMenuFg: '#ffffff',
-  contextMenuFgMuted: '#a2a2a2',
-  contextMenuFgDisabled: '#8a8a8a',
-  contextMenuSeparator: '#4d4d4d',
-  contextMenuBorder: '#4d4d4d',
-  inputBg: '#ffffff',
-  inputBorderRest: '#f0f0f0',
-  loadingScreenBg: '#141414',
-  loadingScreenFg: '#FFFFFF',
-  loadingScreenFgMuted: '#CECECE',
-  spinnerOnAccentActive: '#ffffff',
-  spinnerOnAccentMuted: 'rgba(255, 255, 255, 0.5)',
-  spinnerDefaultActive: '#131313',
-  spinnerDefaultMuted: '#f0f0f0',
-  tooltipFg: '#ffffff',
-  tooltipFgMuted: 'rgba(255, 255, 255, 0.7)',
-  tooltipBg: '#131313',
-  tooltipBgAccent: '#1F3D68',
-  tooltipBgSubtle: '#2B2A2A',
-  tooltipFgAccent: '#A0C0EF',
-  tooltipFgDanger: '#E05534',
-};
- 
-export const shadows = {
-  small: '0 2px 1px 0 rgba(0, 0, 0, 0.05)',
-  focus: '0 0 0 2px #0c8ce9',
-  focusDanger: '0 0 0 2px #fbe8e4',
-  focusMuted: '0 0 0 2px #90CDF4',
-  tokenFocus: '0 0 0 2px #f0f0f0',
-  contextMenu: '0 10px 38px -10px rgba(22, 23, 24, 0.35), 0 10px 20px -15px rgba(22, 23, 24, 0.2)',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html deleted file mode 100644 index 53043816a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/AsyncMessages.ts.html +++ /dev/null @@ -1,1513 +0,0 @@ - - - - - - Code coverage report for src/types/AsyncMessages.ts - - - - - - - - - -
-
-

All files / src/types AsyncMessages.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { UpdateMode } from '@/constants/UpdateMode';
-import type { SettingsState } from '@/app/store/models/settings';
-import type { Properties } from '@/constants/Properties';
-import type { TokenTypes } from '@/constants/TokenTypes';
-import type { NodeInfo } from './NodeInfo';
-import type { NodeTokenRefMap } from './NodeTokenRefMap';
-import type { PullStyleOptions } from './PullStylesOptions';
-import type { PullVariablesOptions } from './PullVariablesOptions';
-import type { ThemeObjectsList } from './ThemeObjectsList';
-import type { AnyTokenList } from './tokens';
-import type { UsedTokenSetsMap } from './UsedTokenSetsMap';
-import type { StorageProviderType, StorageType, StorageTypeCredentials } from './StorageType';
-import type { Direction } from '@/constants/Direction';
-import type { SelectionValue } from './SelectionValue';
-import type { startup } from '@/utils/plugin';
-import type { ThemeObject } from './ThemeObject';
-import { DeleteTokenPayload } from './payloads';
-import { TokensToRenamePayload } from '@/app/store/useTokens';
-import { AuthData } from './Auth';
-import { LocalVariableInfo } from '@/plugin/createLocalVariablesInPlugin';
-import { ResolvedVariableInfo } from '@/plugin/asyncMessageHandlers';
-import { RenameVariableToken } from '@/app/store/models/reducers/tokenState';
-import { UpdateTokenVariablePayload } from './payloads/UpdateTokenVariablePayload';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { ExportTokenSet } from './ExportTokenSet';
-import type { VariableCollectionInfo } from './VariableCollectionSelection';
- 
-export enum AsyncMessageTypes {
-  // the below messages are going from UI to plugin
-  CREATE_STYLES = 'async/create-styles',
-  RENAME_STYLES = 'async/rename-styles',
-  REMOVE_STYLES = 'async/remove-styles',
-  CREDENTIALS = 'async/credentials',
-  CHANGED_TABS = 'async/changed-tabs',
-  SET_ONBOARDINGEXPLAINERSETS = 'async/set-onboardingExplainerSets',
-  SET_ONBOARDINGEXPLAINEREXPORTSETS = 'async/set-onboardingExplainerExportSets',
-  SET_ONBOARDINGEXPLAINERSYNCPROVIDERS = 'async/set-onboardingExplainerSyncProviders',
-  SET_ONBOARDINGEXPLAINERINSPECT = 'async/set-onboardingExplainerInspect',
-  REMOVE_SINGLE_CREDENTIAL = 'async/remove-single-credential',
-  SET_STORAGE_TYPE = 'async/set-storage-type',
-  SET_NODE_DATA = 'async/set-node-data',
-  REMOVE_TOKENS_BY_VALUE = 'async/remove-tokens-by-value',
-  REMAP_TOKENS = 'async/remap-tokens',
-  BULK_REMAP_TOKENS = 'async/bulk-remap-tokens',
-  GOTO_NODE = 'async/goto-node',
-  SELECT_NODES = 'async/select-nodes',
-  PULL_STYLES = 'async/pull-styles',
-  PULL_VARIABLES = 'async/pull-variables',
-  NOTIFY = 'async/notify',
-  CANCEL_OPERATION = 'async/cancel-operation',
-  RESIZE_WINDOW = 'async/resize-window',
-  SET_SHOW_EMPTY_GROUPS = 'async/set-show-empty-groups',
-  SET_UI = 'async/set-ui',
-  CREATE_ANNOTATION = 'async/create-annotation',
-  UPDATE = 'async/update',
-  UPDATE_CHECK_FOR_CHANGES = 'async/update-check-for-changes',
-  SET_LICENSE_KEY = 'async/set-license-key',
-  ATTACH_LOCAL_STYLES_TO_THEME = 'async/attach-local-styles-to-theme',
-  RESOLVE_STYLE_INFO = 'async/resolve-style-info',
-  SET_NONE_VALUES_ON_NODE = 'async/set-none-values-on-node',
-  SET_AUTH_DATA = 'async/set-auth-data',
-  SET_USED_EMAIL = 'async/set-used-email',
-  REMOVE_RELAUNCH_DATA = 'async/remove-relaunch-data',
-  // the below messages are going from plugin to UI
-  STARTUP = 'async/startup',
-  GET_THEME_INFO = 'async/get-theme-info',
-  GET_FIGMA_FONTS = 'async/get-figma-fonts',
-  REMOVE_STYLES_WITHOUT_CONNECTION = 'async/remove-styles-without-connection',
-  CREATE_LOCAL_VARIABLES = 'async/create-local-variables',
-  CREATE_LOCAL_VARIABLES_WITHOUT_MODES = 'async/create-local-variables-without-modes',
-  RESOLVE_VARIABLE_INFO = 'async/resolve-variable-info',
-  ATTACH_LOCAL_VARIABLES_TO_THEME = 'async/attach-local-variables-to-theme',
-  RENAME_VARIABLES = 'async/rename-variables',
-  UPDATE_VARIABLES = 'async/update-variables',
-  SET_INITIAL_LOAD = 'async/set-initial-load',
-  PREVIEW_REQUEST_STARTUP = 'async/preview-request-startup',
-  GET_AVAILABLE_VARIABLE_COLLECTIONS = 'async/get-available-variable-collections',
-}
- 
-export type AsyncMessage<T extends AsyncMessageTypes, P = unknown> = P & { type: T };
- 
-export type CredentialsAsyncMessage = AsyncMessage<AsyncMessageTypes.CREDENTIALS, {
-  credential: StorageTypeCredentials;
-}>;
-export type CredentialsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREDENTIALS>;
- 
-export type ChangedTabsAsyncMessage = AsyncMessage<AsyncMessageTypes.CHANGED_TABS, { requiresSelectionValues: boolean; }>;
-export type ChangedTabsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CHANGED_TABS>;
- 
-export type SetOnboardingExplainerSetsAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS, { onboardingExplainerSets: boolean; }>;
-export type SetOnboardingExplainerSetsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSETS>;
- 
-export type SetOnboardingExplainerExportSetsAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS, { onboardingExplainerExportSets: boolean; }>;
-export type SetOnboardingExplainerExportSetsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINEREXPORTSETS>;
- 
-export type SetOnboardingExplainerSyncProvidersAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS, { onboardingExplainerSyncProviders: boolean; }>;
-export type SetOnboardingExplainerSyncProvidersAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERSYNCPROVIDERS>;
- 
-export type SetOnboardingExplainerInspectAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT, { onboardingExplainerInspect: boolean; }>;
-export type SetOnboardingExplainerInspectAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_ONBOARDINGEXPLAINERINSPECT>;
- 
-export type RemoveSingleCredentialAsyncMessage = AsyncMessage<AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL, { context: StorageTypeCredentials; }>;
-export type RemoveSingleCredentialAsyncMessageResult = AsyncMessage<AsyncMessageTypes.REMOVE_SINGLE_CREDENTIAL>;
- 
-export type SetStorageTypeAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_STORAGE_TYPE, { storageType: StorageType; }>;
-export type SetStorageTypeAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_STORAGE_TYPE>;
- 
-export type SetNodeDataAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_NODE_DATA, { values: NodeTokenRefMap; tokens: AnyTokenList; settings: SettingsState; }>;
-export type SetNodeDataAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_NODE_DATA>;
- 
-export type RemoveTokensByValueAsyncMessage = AsyncMessage<AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE, {
-  tokensToRemove: { nodes: NodeInfo[]; property: Properties }[];
-}>;
-export type RemoveTokensByValueAsyncMessageResult = AsyncMessage<AsyncMessageTypes.REMOVE_TOKENS_BY_VALUE>;
- 
-export type SetNoneValuesOnNodeAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_NONE_VALUES_ON_NODE, {
-  tokensToSet: { nodes: NodeInfo[]; property: Properties }[];
-  tokens: AnyTokenList
-}>;
-export type SetNoneValuesOnNodeAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_NONE_VALUES_ON_NODE>;
- 
-export type RemapTokensAsyncMessage = AsyncMessage<AsyncMessageTypes.REMAP_TOKENS, {
-  oldName: string;
-  newName: string;
-  updateMode: UpdateMode;
-  category?: Properties | TokenTypes;
-  tokens?: AnyTokenList;
-  settings?: SettingsState;
-}>;
-export type RemapTokensMessageAsyncResult = AsyncMessage<AsyncMessageTypes.REMAP_TOKENS>;
- 
-export type BulkRemapTokensAsyncMessage = AsyncMessage<AsyncMessageTypes.BULK_REMAP_TOKENS, {
-  oldName: string;
-  newName: string;
-  updateMode: UpdateMode;
-}>;
-export type BulkRemapTokensMessageAsyncResult = AsyncMessage<AsyncMessageTypes.BULK_REMAP_TOKENS>;
- 
-export type GotoNodeAsyncMessage = AsyncMessage<AsyncMessageTypes.GOTO_NODE, {
-  id: string;
-}>;
-export type GotoNodeMessageAsyncResult = AsyncMessage<AsyncMessageTypes.GOTO_NODE>;
- 
-export type SelectNodesAsyncMessage = AsyncMessage<AsyncMessageTypes.SELECT_NODES, { ids: string[] }>;
-export type SelectNodesMessageAsyncResult = AsyncMessage<AsyncMessageTypes.SELECT_NODES>;
- 
-export type PullStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.PULL_STYLES, { styleTypes: PullStyleOptions; }>;
-export type PullStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.PULL_STYLES>;
- 
-export type PullVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.PULL_VARIABLES, {
-  options: PullVariablesOptions;
-  themes: ThemeObjectsList;
-  proUser: boolean;
-}>;
-export type PullVariablesMessageResult = AsyncMessage<AsyncMessageTypes.PULL_VARIABLES>;
- 
-export type NotifyAsyncMessage = AsyncMessage<AsyncMessageTypes.NOTIFY, {
-  msg: string;
-  opts: {
-    error?: boolean
-  };
-}>;
-export type NotifyAsyncMessageResult = AsyncMessage<AsyncMessageTypes.NOTIFY>;
- 
-export type ResizeWindowAsyncMessage = AsyncMessage<AsyncMessageTypes.RESIZE_WINDOW, {
-  width: number;
-  height: number;
-}>;
-export type ResizeWindowAsyncMessageResult = AsyncMessage<AsyncMessageTypes.RESIZE_WINDOW>;
- 
-export type CancelOperationAsyncMessage = AsyncMessage<AsyncMessageTypes.CANCEL_OPERATION>;
-export type CancelOperationAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CANCEL_OPERATION>;
- 
-export type SetShowEmptyGroupsAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS, { showEmptyGroups: boolean; }>;
-export type SetShowEmptyGroupsAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_SHOW_EMPTY_GROUPS>;
- 
-export type SetUiAsyncMessage = AsyncMessage<AsyncMessageTypes.SET_UI, SettingsState>;
-export type SetUiAsyncMessageResult = AsyncMessage<AsyncMessageTypes.SET_UI>;
- 
-export type CreateAnnotationAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_ANNOTATION, {
-  tokens: SelectionValue;
-  direction: Direction;
-}>;
-export type CreateAnnotationAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_ANNOTATION>;
- 
-export type CreateStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_STYLES, {
-  tokens: AnyTokenList;
-  sourceTokens: AnyTokenList;
-  settings: SettingsState;
-  selectedTheme?: ThemeObject;
-}>;
-export type CreateStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_STYLES, {
-  styleIds: Record<string, string>;
-}>;
- 
-export type RenameStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.RENAME_STYLES, {
-  tokensToRename: TokensToRenamePayload[];
-  parent: string;
-  settings: Partial<SettingsState>;
-}>;
-export type RenameStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.RENAME_STYLES, {
-  styleIds: string[];
-}>;
- 
-export type RemoveStylesAsyncMessage = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES, {
-  token: DeleteTokenPayload;
-  settings: Partial<SettingsState>;
-}>;
-export type RemoveStylesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES, {
-  styleIds: string[];
-}>;
- 
-export type UpdateAsyncMessage = AsyncMessage<AsyncMessageTypes.UPDATE, {
-  tokenValues: Record<string, AnyTokenList>;
-  tokens: AnyTokenList | null;
-  themes: ThemeObjectsList
-  compressedTokens: string;
-  compressedThemes: string;
-  updatedAt: string;
-  settings: SettingsState;
-  usedTokenSet: UsedTokenSetsMap;
-  activeTheme: Record<string, string>;
-  checkForChanges?: boolean
-  shouldSwapStyles?: boolean;
-  collapsedTokenSets: string[];
-  tokenFormat: TokenFormatOptions;
-  storageProvider: StorageProviderType;
-  storageSize: number;
-}>;
-export type UpdateAsyncMessageResult = AsyncMessage<AsyncMessageTypes.UPDATE, {
-  nodes: number
-}>;
- 
-export type UpdateCheckForChangesAsyncMessage = AsyncMessage<AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES, {
-  checkForChanges: boolean;
-}>;
-export type UpdateCheckForChangesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.UPDATE_CHECK_FOR_CHANGES>;
- 
-export type SetLicenseKeyMessage = AsyncMessage<AsyncMessageTypes.SET_LICENSE_KEY, {
-  licenseKey: string | null
-}>;
-export type SetLicenseKeyMessageResult = AsyncMessage<AsyncMessageTypes.SET_LICENSE_KEY>;
- 
-export type SetInitialLoadMessage = AsyncMessage<AsyncMessageTypes.SET_INITIAL_LOAD, {
-  initialLoad: boolean | null
-}>;
-export type SetInitialLoadMessageResult = AsyncMessage<AsyncMessageTypes.SET_INITIAL_LOAD>;
- 
-export type AttachLocalStylesToTheme = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME, {
-  theme: ThemeObject
-  tokens: Record<string, AnyTokenList>
-  category: 'typography' | 'colors' | 'effects' | 'all'
-  settings?: Partial<SettingsState>
-}>;
-export type AttachLocalStylesToThemeResult = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_STYLES_TO_THEME, ThemeObject>;
- 
-export type ResolveStyleInfo = AsyncMessage<AsyncMessageTypes.RESOLVE_STYLE_INFO, {
-  styleIds: string[]
-}>;
-export type ResolveStyleInfoResult = AsyncMessage<AsyncMessageTypes.RESOLVE_STYLE_INFO, {
-  resolvedValues: {
-    id: string
-    key?: string
-    name?: string
-  }[];
-}>;
- 
-export type GetThemeInfoMessage = AsyncMessage<AsyncMessageTypes.GET_THEME_INFO>;
-export type GetThemeInfoMessageResult = AsyncMessage<AsyncMessageTypes.GET_THEME_INFO, {
-  activeTheme: Record<string, string>
-  themes: ThemeObjectsList
-}>;
- 
-export type StartupMessage = AsyncMessage<AsyncMessageTypes.STARTUP, (
-  ReturnType<typeof startup> extends Promise<infer V> ? V : unknown
-)>;
-export type StartupMessageResult = AsyncMessage<AsyncMessageTypes.STARTUP>;
- 
-export type GetFigmaFontsMessage = AsyncMessage<AsyncMessageTypes.GET_FIGMA_FONTS>;
-export type GetFigmaFontsMessageResult = AsyncMessage<AsyncMessageTypes.GET_FIGMA_FONTS, {
-  fonts: Array<Font>
-}>;
- 
-export type GetAvailableVariableCollectionsMessage = AsyncMessage<AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS>;
-export type GetAvailableVariableCollectionsMessageResult = AsyncMessage<AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, {
-  collections: VariableCollectionInfo[]
-}>;
- 
-export type RemoveStylesWithoutConnectionMessage = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, {
-  usedStyleIds: string[]
-}>;
-export type RemoveStylesWithoutConnectionResult = AsyncMessage<AsyncMessageTypes.REMOVE_STYLES_WITHOUT_CONNECTION, {
-  countOfRemovedStyles: number
-}>;
-export type SetAuthDataMessage = AsyncMessage<AsyncMessageTypes.SET_AUTH_DATA, {
-  auth: AuthData | null
-}>;
-export type SetAuthDataMessageResult = AsyncMessage<AsyncMessageTypes.SET_AUTH_DATA>;
- 
-export type SetUsedEmailMessage = AsyncMessage<AsyncMessageTypes.SET_USED_EMAIL, {
-  email: string | undefined
-}>;
- 
-export type SetUsedEmailMessageResult = AsyncMessage<AsyncMessageTypes.SET_USED_EMAIL>;
- 
-export type CreateLocalVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES, {
-  tokens: Record<string, AnyTokenList>;
-  settings: SettingsState,
-  selectedThemes?: string[]
-}>;
-export type CreateLocalVariablesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES, {
-  variableIds: Record<string, LocalVariableInfo>
-  totalVariables: number
-}>;
- 
-export type CreateLocalVariablesWithoutModesAsyncMessage = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES, {
-  tokens: Record<string, AnyTokenList>;
-  settings: SettingsState,
-  selectedSets: ExportTokenSet[]
-}>;
-export type CreateLocalVariablesWithoutModesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.CREATE_LOCAL_VARIABLES_WITHOUT_MODES, {
-  variableIds: Record<string, LocalVariableInfo>
-  totalVariables: number
-}>;
- 
-export type ResolveVariableInfo = AsyncMessage<AsyncMessageTypes.RESOLVE_VARIABLE_INFO, {
-  variableIds: string[]
-}>;
-export type ResolveVariableInfoResult = AsyncMessage<AsyncMessageTypes.RESOLVE_VARIABLE_INFO, {
-  resolvedValues: Record<string, ResolvedVariableInfo>;
-}>;
- 
-export type AttachLocalVariablesToTheme = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME, {
-  theme: ThemeObject
-  tokens: Record<string, AnyTokenList>
-}>;
-export type AttachLocalVariablesToThemeResult = AsyncMessage<AsyncMessageTypes.ATTACH_LOCAL_VARIABLES_TO_THEME, {
-  variableInfo: LocalVariableInfo | null
-}>;
- 
-export type RenameVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.RENAME_VARIABLES, {
-  tokens: {
-    oldName: string;
-    newName: string;
-  }[]
-}>;
-export type RenameVariablesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.RENAME_VARIABLES, {
-  renameVariableToken: RenameVariableToken[];
-}>;
- 
-export type UpdateVariablesAsyncMessage = AsyncMessage<AsyncMessageTypes.UPDATE_VARIABLES, {
-  payload: UpdateTokenVariablePayload
-}>;
-export type UpdateVariablesAsyncMessageResult = AsyncMessage<AsyncMessageTypes.UPDATE_VARIABLES>;
- 
-export type RemoveRelaunchDataMessage = AsyncMessage<
-AsyncMessageTypes.REMOVE_RELAUNCH_DATA,
-{
-  area: UpdateMode;
-}
->;
- 
-export type RemoveRelaunchDataMessageResult = AsyncMessage<
-AsyncMessageTypes.REMOVE_RELAUNCH_DATA,
-{
-  totalNodes: number;
-}
->;
- 
-export type PreviewRequestStartupAsyncMessage = AsyncMessage<AsyncMessageTypes.PREVIEW_REQUEST_STARTUP>;
-export type PreviewRequestStartupAsyncMessageResult = AsyncMessage<AsyncMessageTypes.PREVIEW_REQUEST_STARTUP>;
- 
-export type AsyncMessages =
-  CreateStylesAsyncMessage
-  | RenameStylesAsyncMessage
-  | RemoveStylesAsyncMessage
-  | CredentialsAsyncMessage
-  | ChangedTabsAsyncMessage
-  | RemoveSingleCredentialAsyncMessage
-  | SetStorageTypeAsyncMessage
-  | SetOnboardingExplainerSetsAsyncMessage
-  | SetOnboardingExplainerExportSetsAsyncMessage
-  | SetOnboardingExplainerInspectAsyncMessage
-  | SetOnboardingExplainerSyncProvidersAsyncMessage
-  | SetNodeDataAsyncMessage
-  | RemoveTokensByValueAsyncMessage
-  | RemapTokensAsyncMessage
-  | BulkRemapTokensAsyncMessage
-  | GotoNodeAsyncMessage
-  | SelectNodesAsyncMessage
-  | PullStylesAsyncMessage
-  | PullVariablesAsyncMessage
-  | NotifyAsyncMessage
-  | ResizeWindowAsyncMessage
-  | CancelOperationAsyncMessage
-  | SetShowEmptyGroupsAsyncMessage
-  | SetUiAsyncMessage
-  | CreateAnnotationAsyncMessage
-  | UpdateAsyncMessage
-  | UpdateCheckForChangesAsyncMessage
-  | GetThemeInfoMessage
-  | SetLicenseKeyMessage
-  | SetInitialLoadMessage
-  | StartupMessage
-  | AttachLocalStylesToTheme
-  | ResolveStyleInfo
-  | SetNoneValuesOnNodeAsyncMessage
-  | GetFigmaFontsMessage
-  | GetAvailableVariableCollectionsMessage
-  | SetAuthDataMessage
-  | SetUsedEmailMessage
-  | CreateLocalVariablesAsyncMessage
-  | CreateLocalVariablesWithoutModesAsyncMessage
-  | ResolveVariableInfo
-  | AttachLocalVariablesToTheme
-  | RenameVariablesAsyncMessage
-  | UpdateVariablesAsyncMessage
-  | PreviewRequestStartupAsyncMessage
-  | RemoveRelaunchDataMessage
-  | RemoveStylesWithoutConnectionMessage;
- 
-export type AsyncMessageResults =
-  CreateStylesAsyncMessageResult
-  | RenameStylesAsyncMessageResult
-  | RemoveStylesAsyncMessageResult
-  | CredentialsAsyncMessageResult
-  | ChangedTabsAsyncMessageResult
-  | RemoveSingleCredentialAsyncMessageResult
-  | SetStorageTypeAsyncMessageResult
-  | SetOnboardingExplainerSetsAsyncMessageResult
-  | SetOnboardingExplainerExportSetsAsyncMessageResult
-  | SetOnboardingExplainerSyncProvidersAsyncMessageResult
-  | SetOnboardingExplainerInspectAsyncMessageResult
-  | SetNodeDataAsyncMessageResult
-  | RemoveTokensByValueAsyncMessageResult
-  | RemapTokensMessageAsyncResult
-  | BulkRemapTokensMessageAsyncResult
-  | GotoNodeMessageAsyncResult
-  | SelectNodesMessageAsyncResult
-  | PullStylesAsyncMessageResult
-  | PullVariablesMessageResult
-  | NotifyAsyncMessageResult
-  | ResizeWindowAsyncMessageResult
-  | CancelOperationAsyncMessage
-  | SetShowEmptyGroupsAsyncMessageResult
-  | SetUiAsyncMessageResult
-  | CreateAnnotationAsyncMessageResult
-  | UpdateAsyncMessageResult
-  | UpdateCheckForChangesAsyncMessageResult
-  | GetThemeInfoMessageResult
-  | SetLicenseKeyMessageResult
-  | SetInitialLoadMessageResult
-  | StartupMessageResult
-  | AttachLocalStylesToThemeResult
-  | ResolveStyleInfoResult
-  | SetNoneValuesOnNodeAsyncMessageResult
-  | GetFigmaFontsMessageResult
-  | GetAvailableVariableCollectionsMessageResult
-  | SetAuthDataMessageResult
-  | SetUsedEmailMessageResult
-  | CreateLocalVariablesAsyncMessageResult
-  | CreateLocalVariablesWithoutModesAsyncMessageResult
-  | ResolveVariableInfoResult
-  | AttachLocalVariablesToThemeResult
-  | RenameVariablesAsyncMessageResult
-  | UpdateVariablesAsyncMessageResult
-  | PreviewRequestStartupAsyncMessageResult
-  | RemoveRelaunchDataMessageResult
-  | RemoveStylesWithoutConnectionResult;
- 
-export type AsyncMessagesMap = {
-  [K in AsyncMessageTypes]: Extract<AsyncMessages, { type: K }>
-};
-export type AsyncMessageResultsMap = {
-  [K in AsyncMessageTypes]: Extract<AsyncMessageResults, { type: K }>
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html deleted file mode 100644 index 6e693077c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/Auth.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/types/Auth.ts - - - - - - - - - -
-
-

All files / src/types Auth.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SetStateAction } from 'react';
- 
-export interface UserData {
-  email: string;
-  id: string;
-}
- 
-export interface AuthData {
-  access_token: string;
-  expires_at: number;
-  expires_in: number;
-  refresh_token: string;
-  token_type: string;
-  user: UserData;
-}
- 
-export interface AuthInfo {
-  email?: string;
-  password?: string;
-  refresh_token?: string;
-}
- 
-export interface AuthContextType {
-  user: UserData | null;
-  logIn: (loginInfo: AuthInfo) => void;
-  signUp: (loginInfo: AuthInfo) => void;
-  handleLogout: () => void;
-  authInProgress: boolean;
-  authError: string;
-  setAuthError: React.Dispatch<SetStateAction<string>>;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html deleted file mode 100644 index fdb13bd7b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/ChangelogItem.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/types/ChangelogItem.ts - - - - - - - - - -
-
-

All files / src/types ChangelogItem.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
export type ChangelogItem = {
-  _uid: string;
-  image?: {
-    alt: string;
-    filename: string;
-  };
-  title: string;
-  excerpt: string;
-  read_more_link?: string;
-  read_more_text?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html deleted file mode 100644 index f497b125a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/CompositionTokenProperty.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/CompositionTokenProperty.ts - - - - - - - - - -
-
-

All files / src/types CompositionTokenProperty.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import type { TokenTypes } from '@/constants/TokenTypes';
-import { TokenBoxshadowValue, TokenTypographyValue, TokenBorderValue } from './values';
- 
-export type CompositionTokenProperty = keyof typeof Properties;
- 
-export type CompositionTokenValue = Partial<
-Record<TokenTypes, string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | Array<TokenBoxshadowValue>>
-& Record<Properties, string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | Array<TokenBoxshadowValue>>
->;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html deleted file mode 100644 index b3de0bb99..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/DeepTokensMap.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/DeepTokensMap.ts - - - - - - - - - -
-
-

All files / src/types DeepTokensMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { SingleToken } from './tokens';
- 
-export interface DeepTokensMap<Named extends boolean> {
-  [K: string]: SingleToken<Named> | DeepTokensMap<Named>
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html deleted file mode 100644 index 8db26834f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/ExportTokenSet.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/types/ExportTokenSet.ts - - - - - - - - - -
-
-

All files / src/types ExportTokenSet.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-export type ExportTokenSet = {
-  set: string;
-  status: TokenSetStatus
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html deleted file mode 100644 index 34a3752e9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/FigmaStyleMaps.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/FigmaStyleMaps.ts - - - - - - - - - -
-
-

All files / src/types FigmaStyleMaps.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type FigmaStyleMaps = {
-  effectStyles: Map<string, EffectStyle>;
-  paintStyles: Map<string, PaintStyle>;
-  textStyles: Map<string, TextStyle>;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html deleted file mode 100644 index 96948e82d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/MapValuesToTokensResult.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/types/MapValuesToTokensResult.ts - - - - - - - - - -
-
-

All files / src/types MapValuesToTokensResult.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import type { SingleToken } from './tokens';
- 
-export type MapValuesToTokensResult = Record<string, string | number | SingleToken['value'] | {
-  property: string
-  value?: SingleToken['value'];
-}[]>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html deleted file mode 100644 index 426ed1ba8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/Modifier.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/types/Modifier.ts - - - - - - - - - -
-
-

All files / src/types Modifier.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
- 
-interface Modifier <T extends string, V> {
-  type: T
-  value: V
-}
-interface ColorGenericModifier<T extends ColorModifierTypes, V> extends Modifier<T, V> {
-  space: ColorSpaceTypes
-}
- 
-export interface LightenModifier extends ColorGenericModifier<ColorModifierTypes.LIGHTEN, string> {}
-export interface DarkenModifier extends ColorGenericModifier<ColorModifierTypes.DARKEN, string> {}
-export interface MixModifier extends ColorGenericModifier<ColorModifierTypes.MIX, string> {
-  color: string;
-}
-export interface AlphaModifier extends ColorGenericModifier<ColorModifierTypes.ALPHA, string> {}
- 
-export type ColorModifier = LightenModifier | DarkenModifier | MixModifier | AlphaModifier;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html deleted file mode 100644 index c353bd4a1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeInfo.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/NodeInfo.ts - - - - - - - - - -
-
-

All files / src/types NodeInfo.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export interface NodeInfo {
-  id: string
-  name: string;
-  type: NodeType
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html deleted file mode 100644 index 6392d5262..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefMap.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/types/NodeTokenRefMap.ts - - - - - - - - - -
-
-

All files / src/types NodeTokenRefMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import type { Properties } from '@/constants/Properties';
-import type { TokenTypes } from '@/constants/TokenTypes';
-import { NodeTokenRefValue } from './NodeTokenRefValue';
- 
-export type NodeTokenRefMap = Partial<
-Record<TokenTypes, NodeTokenRefValue>
-& Record<Properties, NodeTokenRefValue>
->;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html deleted file mode 100644 index c17a687be..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/NodeTokenRefValue.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/types/NodeTokenRefValue.ts - - - - - - - - - -
-
-

All files / src/types NodeTokenRefValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export type NodeTokenRefValue = string;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html deleted file mode 100644 index b91690b33..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/OptionalPartial.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/OptionalPartial.ts - - - - - - - - - -
-
-

All files / src/types OptionalPartial.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type OptionalPartial<Incomplete extends boolean, T> = (
-  Incomplete extends true
-    ? Partial<T>
-    : T
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html deleted file mode 100644 index 5790b35cb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/PullStylesOptions.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/PullStylesOptions.ts - - - - - - - - - -
-
-

All files / src/types PullStylesOptions.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type PullStyleOptions = {
-  textStyles?: boolean;
-  colorStyles?: boolean;
-  effectStyles?: boolean;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html deleted file mode 100644 index d8b112a2f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/PullVariablesOptions.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/types/PullVariablesOptions.ts - - - - - - - - - -
-
-

All files / src/types PullVariablesOptions.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import type { SelectedCollections } from './VariableCollectionSelection';
- 
-export type PullVariablesOptions = {
-  useDimensions?: boolean;
-  useRem?: boolean;
-  selectedCollections?: SelectedCollections;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html deleted file mode 100644 index 8729a88f8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/RawVariableReferenceMap.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/types/RawVariableReferenceMap.ts - - - - - - - - - -
-
-

All files / src/types RawVariableReferenceMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export type RawVariableReferenceMap = Map<string, string>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html deleted file mode 100644 index a41b5dfd8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/RemoteResponseData.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/types/RemoteResponseData.ts - - - - - - - - - -
-
-

All files / src/types RemoteResponseData.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { RemoteTokenStorageMetadata } from '@/storage/RemoteTokenStorage';
-import { ThemeObjectsList } from './ThemeObjectsList';
-import { AnyTokenList } from './tokens';
- 
-type RemoteResponseSuccess<Metadata = unknown> = {
-  status: 'success',
-  tokens: Record<string, AnyTokenList>
-  themes: ThemeObjectsList
-  metadata?: RemoteTokenStorageMetadata & Metadata | null
-  commitSha?: string
-  commitDate?: Date
-};
- 
-type RemoteResponseFailure = {
-  status: 'failure',
-  errorMessage: string;
-};
- 
-export type RemoteResponseData<Metadata = unknown> = RemoteResponseSuccess<Metadata> | RemoteResponseFailure;
- 
-export type RemoteResponseStatus = {
-  status: 'success' | 'failure';
-  errorMessage?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html deleted file mode 100644 index 13c3dcc6e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/RootModel.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/types/RootModel.ts - - - - - - - - - -
-
-

All files / src/types RootModel.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { Models } from '@rematch/core';
-import type { settings } from '@/app/store/models/settings';
-import type { uiState } from '@/app/store/models/uiState';
-import type { tokenState } from '@/app/store/models/tokenState';
-import type { inspectState } from '@/app/store/models/inspectState';
-import type { userState } from '@/app/store/models/userState';
-import type { branchState } from '@/app/store/models/branchState';
- 
-export interface RootModel extends Models<RootModel> {
-  settings: typeof settings;
-  uiState: typeof uiState;
-  tokenState: typeof tokenState;
-  inspectState: typeof inspectState;
-  userState: typeof userState;
-  branchState: typeof branchState;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html deleted file mode 100644 index 2eb632881..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/SecondScreen.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/types/SecondScreen.ts - - - - - - - - - -
-
-

All files / src/types SecondScreen.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ThemeObject } from './ThemeObject';
-import { SingleToken } from './tokens';
-import { UsedTokenSetsMap } from './UsedTokenSetsMap';
- 
-export type TokenSets = Record<string, SingleToken[]>;
- 
-export enum Clients {
-  PLUGIN = 'plugin',
-  SECOND_SCREEN = 'second-screen',
-}
- 
-export interface TokenData {
-  id: string | number | null;
-  owner_email?: string;
-  created_at?: string;
-  synced_data: {
-    sets: TokenSets | null;
-    themes: ThemeObject[];
-    usedTokenSets: UsedTokenSetsMap;
-    activeTheme: Record<string, string>;
-  };
-  last_updated_by: Clients;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html deleted file mode 100644 index 8a6ae9473..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionGroup.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/types/SelectionGroup.ts - - - - - - - - - -
-
-

All files / src/types SelectionGroup.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { NodeInfo } from './NodeInfo';
-import { SingleToken } from './tokens';
- 
-export interface SelectionGroup {
-  category: TokenTypes | Properties;
-  type: string;
-  value: string;
-  nodes: NodeInfo[];
-  resolvedValue?: SingleToken['value'] // We save the value of the style
-  appliedType: 'token' | 'variable' | 'style'
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html deleted file mode 100644 index ef6a07ea6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/SelectionValue.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/types/SelectionValue.ts - - - - - - - - - -
-
-

All files / src/types SelectionValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export interface SelectionValue {
-  values?: string;
-  sizing?: string;
-  height?: string;
-  width?: string;
-  spacing?: string;
-  verticalPadding?: string;
-  horizontalPadding?: string;
-  paddingTop?: string;
-  paddingRight?: string;
-  paddingBottom?: string;
-  paddingLeft?: string;
-  itemSpacing?: string;
-  fill?: string;
-  border?: string;
-  borderRadius?: string;
-  borderRadiusTopLeft?: string;
-  borderRadiusTopRight?: string;
-  borderRadiusBottomRight?: string;
-  borderRadiusBottomLeft?: string;
-  borderWidth?: string;
-  boxShadow?: string;
-  opacity?: string;
-  fontFamilies?: string;
-  fontWeights?: string;
-  fontSizes?: string;
-  lineHeights?: string;
-  typography?: string;
-  letterSpacing?: string;
-  paragraphSpacing?: string;
-  tokenValue?: string;
-  value?: string;
-  tokenName?: string;
-  description?: string;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html deleted file mode 100644 index 806e1d25b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/ShowFormOptions.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/types/ShowFormOptions.ts - - - - - - - - - -
-
-

All files / src/types ShowFormOptions.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import { SingleToken } from './tokens';
- 
-export type ShowFormOptions = {
-  name: string;
-  status?: EditTokenFormStatus;
-  token: SingleToken | null;
-};
- 
-export type ShowNewFormOptions = {
-  name?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html deleted file mode 100644 index afd47875c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/StitchesCSS.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/StitchesCSS.ts - - - - - - - - - -
-
-

All files / src/types StitchesCSS.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import type { ConfigType, DefaultThemeMap } from '@stitches/react/types/config';
-import type { CSS } from '@stitches/react/types/css-util';
-import type { theme } from '@/stitches.config';
- 
-export type StitchesCSS = CSS<
-ConfigType.Media<Record<string, unknown>>,
-  typeof theme,
-ConfigType.ThemeMap<DefaultThemeMap>,
-ConfigType.Utils<Record<string, unknown>>
->;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html deleted file mode 100644 index f27d642f8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/StorageType.ts.html +++ /dev/null @@ -1,616 +0,0 @@ - - - - - - Code coverage report for src/types/StorageType.ts - - - - - - - - - -
-
-

All files / src/types StorageType.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageProviderType } from '@/constants/StorageProviderType';
-import { OptionalPartial } from './OptionalPartial';
-import { GenericVersionedAdditionalHeaders } from '../storage/GenericVersionedStorage';
- 
-/**
- * StorageTypes are meant to define the parameters of a storage provider
- * but this does not include their credentials
- */
- 
-export type GenericStorageType<T extends StorageProviderType = StorageProviderType, P = unknown> = P & {
-  provider: T;
-} & (T extends StorageProviderType.LOCAL
-  ? unknown
-  : {
-    internalId: string;
-  });
- 
-export type StorageTypeCredential<T extends GenericStorageType, Required extends boolean = true> = T &
-(Required extends true ? { secret: string } : { secret?: string });
- 
-export type LocalStorageType = GenericStorageType<StorageProviderType.LOCAL>;
- 
-export type URLStorageType = GenericStorageType<
-StorageProviderType.URL,
-{
-  name: string; // this is only for refrence
-  id: string; // this would be the URL
-}
->;
- 
-export type JSONBinStorageType = GenericStorageType<
-StorageProviderType.JSONBIN,
-{
-  name: string; // this is only for refrence
-  id: string; // this is the ID of the JSONBIN
-}
->;
- 
-export type GitHubStorageType = GenericStorageType<
-StorageProviderType.GITHUB,
-{
-  name: string; // this is only for refrence
-  id: string; // this should be the repository identifier; eg {username}/{repo}
-  branch: string; // this is the base branch
-  filePath: string; // this is the path to the token file or files (depends on multifile support)
-  baseUrl?: string; // this is the base API url. This is important for self hosted environments
-  commitSha?: string; // this is the commit sha of the current file or folder
-}
->;
- 
-export type GitLabStorageType = GenericStorageType<
-StorageProviderType.GITLAB,
-{
-  name: string; // this is only for refrence
-  id: string; // this should be the repository identifier; eg {username}/{repo}
-  branch: string; // this is the base branch
-  filePath: string; // this is the path to the token file or files (depends on multifile support)
-  baseUrl?: string; // this is the base API url. This is important for self hosted environments
-  commitDate?: Date; // this is the commit sha of the current file or folder
-  previousSourceBranch?: string; // optional: allows pushing changes to remote based on an existing branch
-}
->;
- 
-export type BitbucketStorageType = GenericStorageType<
-StorageProviderType.BITBUCKET,
-{
-  name: string; // this is only for reference
-  id: string; // this should be the repository identifier; eg {workspace}/{repo_slug}
-  username: string; // this is the bitbucket user, required for app password interaction
-  branch: string; // this is the base branch
-  filePath: string; // this is the path to the token file or files (depends on multifile support)
-  baseUrl?: string; // this is the base API url. This is important for self hosted environments
-}
->;
- 
-export type TokensStudioStorageType = GenericStorageType<
-StorageProviderType.TOKENS_STUDIO,
-{
-  name: string; // this is only for reference
-  orgId: string; // this is the organization id
-  id: string; // this is the project id
-}
->;
- 
-export type ADOStorageType = GenericStorageType<
-StorageProviderType.ADO,
-{
-  name?: string; // this is only for refrence
-  baseUrl: string; // this is the Azure base URL (eg: https://dev.azure.com/yourOrgName). This is required for Azure
-  id: string; // this is the repository identifier; eg {username}/{repo}
-  branch: string; // this is the base branch
-  filePath: string; // this is the path to the token file or files (depends on multifile support)
-  previousSourceBranch?: string; // optional: allows pushing changes to remote based on an existing branch
-}
->;
- 
-export type SupernovaStorageType = GenericStorageType<StorageProviderType.SUPERNOVA, {
-  id: string; // Not used for now, but makes it easier to handle rest of code for other providers
-  name: string; // this is only for refrence
-  designSystemUrl: string; // URL of the design system
-  mapping: string; // Mapping configuration
-}>;
- 
-export enum GenericVersionedStorageFlow {
-  READ_WRITE_CREATE = 'Read/Write/Create',
-  READ_WRITE = 'Read/Write',
-  READ_ONLY = 'ReadOnly ',
-}
-export type GenericVersionedStorageType = GenericStorageType<StorageProviderType.GENERIC_VERSIONED_STORAGE, {
-  name?: string; // this is only for refrence
-  id: string // this would be the URL
-  flow: GenericVersionedStorageFlow,
-  additionalHeaders: GenericVersionedAdditionalHeaders ;
-}>;
- 
-export type StorageType =
-  | LocalStorageType
-  | URLStorageType
-  | JSONBinStorageType
-  | GitHubStorageType
-  | GitLabStorageType
-  | GenericVersionedStorageType
-  | ADOStorageType
-  | BitbucketStorageType
-  | SupernovaStorageType
-  | TokensStudioStorageType;
- 
-export type StorageTypeCredentials =
-  | StorageTypeCredential<URLStorageType>
-  | StorageTypeCredential<JSONBinStorageType>
-  | StorageTypeCredential<GitHubStorageType>
-  | StorageTypeCredential<GitLabStorageType>
-  | StorageTypeCredential<GenericVersionedStorageType, false>
-  | StorageTypeCredential<BitbucketStorageType>
-  | StorageTypeCredential<ADOStorageType>
-  | StorageTypeCredential<SupernovaStorageType>
-  | StorageTypeCredential<TokensStudioStorageType>;
- 
-export type StorageTypeFormValues<Incomplete extends boolean = false> =
-  | ({ new?: boolean; provider: StorageProviderType.URL } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<URLStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; id?: string; provider: StorageProviderType.JSONBIN } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<JSONBinStorageType>, 'provider' | 'id'>
-  >)
-  | ({ new?: boolean; provider: StorageProviderType.GITHUB } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<GitHubStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; provider: StorageProviderType.GITLAB } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<GitLabStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; provider: StorageProviderType.BITBUCKET } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<BitbucketStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; provider: StorageProviderType.SUPERNOVA } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<SupernovaStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; provider: StorageProviderType.ADO } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<ADOStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; id?: string; provider: StorageProviderType.GENERIC_VERSIONED_STORAGE } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<GenericVersionedStorageType>, 'provider'>
-  >)
-  | ({ new?: boolean; provider: StorageProviderType.TOKENS_STUDIO } & OptionalPartial<
-  Incomplete,
-  Omit<StorageTypeCredential<TokensStudioStorageType>, 'provider'>
-  >)
-  | { new?: boolean; provider: StorageProviderType.LOCAL };
-export { StorageProviderType };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html deleted file mode 100644 index ae8505403..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/StoryblokStory.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/types/StoryblokStory.ts - - - - - - - - - -
-
-

All files / src/types StoryblokStory.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ChangelogItem } from './ChangelogItem';
- 
-// @README https://www.storyblok.com/docs/api/content-delivery#core-resources/stories/stories
-export type StoryblokStory<P = unknown> = {
-  id: number;
-  uuid: string;
-  name: string;
-  slug: string;
-  full_slug: string;
-  default_full_slug: string | null;
-  created_at: string;
-  published_at: string;
-  first_published_at: string;
-  content: ChangelogItem & {
-    component: string;
-  } & P;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html deleted file mode 100644 index 4ff433572..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/StyleIdMap.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/types/StyleIdMap.ts - - - - - - - - - -
-
-

All files / src/types StyleIdMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export type StyleThemeMap = Record<string, Record<string, string>>;
-export type StyleIdMap = Record<string, string>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html deleted file mode 100644 index 1c183f38c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObject.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/types/ThemeObject.ts - - - - - - - - - -
-
-

All files / src/types ThemeObject.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-export type ThemeObject = {
-  // @README let's decouple the name and ID
-  // otherwise we could run into remapping issues like we have with tokens
-  id: string;
-  name: string;
-  group?: string;
-  // @README these are the token sets inside the theme
-  selectedTokenSets: Record<string, TokenSetStatus>;
-  // @README these are the style IDs from Figma
-  // this is considered meta-data so it is prefixed with $
-  $figmaStyleReferences?: Record<string, string>;
-  // Local variables
-  $figmaCollectionId?: string;
-  $figmaModeId?: string;
-  $figmaVariableReferences?: Record<string, string>;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html deleted file mode 100644 index cb7df4a0b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/ThemeObjectsList.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/types/ThemeObjectsList.ts - - - - - - - - - -
-
-

All files / src/types ThemeObjectsList.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { ThemeObject } from './ThemeObject';
- 
-export type ThemeObjectsList = ThemeObject[];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html deleted file mode 100644 index 9f2c28e1c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/TokenMap.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/types/TokenMap.ts - - - - - - - - - -
-
-

All files / src/types TokenMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { SingleToken } from '@/types/tokens';
- 
-export type TokenMap = Map<string, SingleToken>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html deleted file mode 100644 index 05e7893f4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateNodesSettings.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/UpdateNodesSettings.ts - - - - - - - - - -
-
-

All files / src/types UpdateNodesSettings.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type UpdateNodesSettings = {
-  ignoreFirstPartForStyles?: boolean;
-  prefixStylesWithThemeName?: boolean;
-  baseFontSize: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html deleted file mode 100644 index 3f65dcbf8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/UpdateRemoteFunction.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/types/UpdateRemoteFunction.ts - - - - - - - - - -
-
-

All files / src/types UpdateRemoteFunction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Dispatch } from '@/app/store';
-import type { StorageTypeCredentials } from './StorageType';
-import { ThemeObjectsList } from './ThemeObjectsList';
-import type { SingleToken } from './tokens';
- 
-export type UpdateRemoteFunctionPayload = {
-  tokens: Record<string, SingleToken[]>
-  themes: ThemeObjectsList
-  context: Partial<StorageTypeCredentials>
-  updatedAt?: string
-  oldUpdatedAt?: string | null
-  storeTokenIdInJsonEditor: boolean
-  dispatch: Dispatch
-};
-export type UpdateRemoteFunction = (payload: UpdateRemoteFunctionPayload) => Promise<void>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html deleted file mode 100644 index b1c10f533..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/UsedTokenSetsMap.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/types/UsedTokenSetsMap.ts - - - - - - - - - -
-
-

All files / src/types UsedTokenSetsMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
- 
-export type UsedTokenSetsMap = Record<string, TokenSetStatus>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html deleted file mode 100644 index ccaffbc12..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/VariableCollectionSelection.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/types/VariableCollectionSelection.ts - - - - - - - - - -
-
-

All files / src/types VariableCollectionSelection.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export type VariableCollectionInfo = {
-  id: string;
-  name: string;
-  modes: {
-    modeId: string;
-    name: string;
-  }[];
-};
- 
-export type SelectedCollections = {
-  [collectionId: string]: {
-    name: string;
-    selectedModes: string[]; // array of modeIds
-  };
-};
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html deleted file mode 100644 index 986a2c798..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/VariableReferenceMap.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/types/VariableReferenceMap.ts - - - - - - - - - -
-
-

All files / src/types VariableReferenceMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export type VariableReferenceMap = Map<string, Variable>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/index.html deleted file mode 100644 index 10c96281c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/index.html +++ /dev/null @@ -1,671 +0,0 @@ - - - - - - Code coverage report for src/types - - - - - - - - - -
-
-

All files src/types

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AsyncMessages.ts -
-
0%0/00%0/00%0/00%0/0
Auth.ts -
-
0%0/00%0/00%0/00%0/0
ChangelogItem.ts -
-
0%0/00%0/00%0/00%0/0
CompositionTokenProperty.ts -
-
0%0/00%0/00%0/00%0/0
DeepTokensMap.ts -
-
0%0/00%0/00%0/00%0/0
ExportTokenSet.ts -
-
0%0/00%0/00%0/00%0/0
FigmaStyleMaps.ts -
-
0%0/00%0/00%0/00%0/0
MapValuesToTokensResult.ts -
-
0%0/00%0/00%0/00%0/0
Modifier.ts -
-
0%0/00%0/00%0/00%0/0
NodeInfo.ts -
-
0%0/00%0/00%0/00%0/0
NodeTokenRefMap.ts -
-
0%0/00%0/00%0/00%0/0
NodeTokenRefValue.ts -
-
0%0/00%0/00%0/00%0/0
OptionalPartial.ts -
-
0%0/00%0/00%0/00%0/0
PullStylesOptions.ts -
-
0%0/00%0/00%0/00%0/0
PullVariablesOptions.ts -
-
0%0/00%0/00%0/00%0/0
RawVariableReferenceMap.ts -
-
0%0/00%0/00%0/00%0/0
RemoteResponseData.ts -
-
0%0/00%0/00%0/00%0/0
RootModel.ts -
-
0%0/00%0/00%0/00%0/0
SecondScreen.ts -
-
0%0/00%0/00%0/00%0/0
SelectionGroup.ts -
-
0%0/00%0/00%0/00%0/0
SelectionValue.ts -
-
0%0/00%0/00%0/00%0/0
ShowFormOptions.ts -
-
0%0/00%0/00%0/00%0/0
StitchesCSS.ts -
-
0%0/00%0/00%0/00%0/0
StorageType.ts -
-
0%0/00%0/00%0/00%0/0
StoryblokStory.ts -
-
0%0/00%0/00%0/00%0/0
StyleIdMap.ts -
-
0%0/00%0/00%0/00%0/0
ThemeObject.ts -
-
0%0/00%0/00%0/00%0/0
ThemeObjectsList.ts -
-
0%0/00%0/00%0/00%0/0
TokenMap.ts -
-
0%0/00%0/00%0/00%0/0
UpdateNodesSettings.ts -
-
0%0/00%0/00%0/00%0/0
UpdateRemoteFunction.ts -
-
0%0/00%0/00%0/00%0/0
UsedTokenSetsMap.ts -
-
0%0/00%0/00%0/00%0/0
VariableCollectionSelection.ts -
-
0%0/00%0/00%0/00%0/0
VariableReferenceMap.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
messages.tsx -
-
0%0/00%0/00%0/00%0/0
userData.ts -
-
0%0/00%0/00%0/00%0/0
valueTypes.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html deleted file mode 100644 index 992d10517..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/index.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/types/index.ts - - - - - - - - - -
-
-

All files / src/types index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './OptionalPartial';
-export * from './SelectionGroup';
-export * from './SelectionValue';
-export * from './PullStylesOptions';
-export * from './PullVariablesOptions';
-export * from './StoryblokStory';
-export * from './ThemeObject';
-export * from './UsedTokenSetsMap';
-export * from './StitchesCSS';
-export * from './UpdateRemoteFunction';
-export * from './ThemeObjectsList';
-export * from './DeepTokensMap';
-export * from './MapValuesToTokensResult';
-export * from './ShowFormOptions';
-export * from './VariableCollectionSelection';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html deleted file mode 100644 index 7fc2f57fa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/messages.tsx.html +++ /dev/null @@ -1,529 +0,0 @@ - - - - - - Code coverage report for src/types/messages.tsx - - - - - - - - - -
-
-

All files / src/types messages.tsx

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { BackgroundJob } from '@/app/store/models/uiState';
-import type { SelectionGroup } from './SelectionGroup';
-import type { SelectionValue } from './SelectionValue';
-import type { TokenStore } from './tokens';
-import type { UpdateMode } from '@/constants/UpdateMode';
-import type { StorageTypeCredentials } from './StorageType';
-import { StyleToCreateToken, VariableToCreateToken } from './payloads';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import type { ThemeObjectsList } from './ThemeObjectsList';
- 
-export enum MessageFromPluginTypes {
-  SELECTION = 'selection',
-  NO_SELECTION = 'noselection',
-  STYLES = 'styles',
-  VARIABLES = 'variables',
-  API_PROVIDERS = 'apiProviders',
-  UI_SETTINGS = 'uiSettings',
-  SHOW_EMPTY_GROUPS = 'show_empty_groups',
-  START_JOB = 'start_job',
-  COMPLETE_JOB = 'complete_job',
-  CLEAR_JOBS = 'clear_jobs',
-  ADD_JOB_TASKS = 'add_job_tasks',
-  COMPLETE_JOB_TASKS = 'complete_job_tasks',
-  SET_TOKENS = 'set_tokens',
-  NOTIFY_EXCEPTION = 'notify_exception',
-  TRACK_FROM_PLUGIN = 'track_from_plugin',
-}
- 
-export type NoSelectionFromPluginMessage = { type: MessageFromPluginTypes.NO_SELECTION };
-export type SelectionFromPluginMessage = {
-  type: MessageFromPluginTypes.SELECTION;
-  selectionValues: SelectionGroup[];
-  mainNodeSelectionValues: SelectionValue[];
-  selectedNodes: number;
-};
-export type UiSettingsFromPluginMessage = {
-  type: MessageFromPluginTypes.UI_SETTINGS;
-  settings: {
-    uiWindow: {
-      width: number;
-      height: number;
-      isMinimized: boolean;
-    };
-    language: string,
-    sessionRecording:boolean;
-    updateMode: UpdateMode;
-    updateRemote: boolean;
-    updateOnChange: boolean;
-    applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues;
-    shouldUpdateStyles: boolean;
-    variablesColor: boolean;
-    variablesString: boolean;
-    variablesNumber: boolean;
-    variablesBoolean: boolean;
-    stylesColor: boolean;
-    stylesTypography: boolean;
-    stylesEffect: boolean;
-    ignoreFirstPartForStyles: boolean;
-    createStylesWithVariableReferences: boolean;
-    prefixStylesWithThemeName: boolean;
-    renameExistingStylesAndVariables: boolean;
-    removeStylesAndVariablesWithoutConnection: boolean;
-    inspectDeep: boolean;
-    shouldSwapStyles: boolean;
-    baseFontSize: string;
-    aliasBaseFontSize: string;
-    storeTokenIdInJsonEditor: boolean;
-    tokenFormat: TokenFormatOptions;
-  };
-};
- 
-export type ShowEmptyGroupsFromPluginMessage = {
-  type: MessageFromPluginTypes.SHOW_EMPTY_GROUPS;
-  showEmptyGroups: boolean;
-};
-export type ApiProvidersFromPluginMessage = {
-  type: MessageFromPluginTypes.API_PROVIDERS;
-  providers: StorageTypeCredentials[];
-};
-export type StylesFromPluginMessage = {
-  type: MessageFromPluginTypes.STYLES;
-  values?: Record<string, StyleToCreateToken[]>;
-};
- 
-export type VariablesFromPluginMessage = {
-  type: MessageFromPluginTypes.VARIABLES;
-  values?: Record<string, VariableToCreateToken[]>;
-  themes?: ThemeObjectsList;
-};
- 
-export type StartJobFromPluginMessage = {
-  type: MessageFromPluginTypes.START_JOB;
-  job: BackgroundJob;
-};
-export type CompleteJobFromPluginMessage = {
-  type: MessageFromPluginTypes.COMPLETE_JOB;
-  name: string;
-};
-export type ClearJobsFromPluginMessage = {
-  type: MessageFromPluginTypes.CLEAR_JOBS;
-};
-export type AddJobTasksFromPluginMessage = {
-  type: MessageFromPluginTypes.ADD_JOB_TASKS;
-  name: string;
-  count: number;
-  expectedTimePerTask?: number;
-};
-export type CompleteJobTasksFromPluginMessage = {
-  type: MessageFromPluginTypes.COMPLETE_JOB_TASKS;
-  name: string;
-  count: number;
-  timePerTask?: number;
-};
- 
-export type SetTokensFromPluginMessage = {
-  type: MessageFromPluginTypes.SET_TOKENS;
-  values: TokenStore;
-};
- 
-export type NotifyExceptionFromPluginMessage = {
-  type: MessageFromPluginTypes.NOTIFY_EXCEPTION;
-  error: string;
-  opts?: Record<string, unknown>;
-};
- 
-export type TrackFromPluginMessage = {
-  type: MessageFromPluginTypes.TRACK_FROM_PLUGIN;
-  title: string;
-  opts?: Record<string, unknown>;
-};
- 
-export type PostToUIMessage =
-  | NoSelectionFromPluginMessage
-  | SelectionFromPluginMessage
-  | UiSettingsFromPluginMessage
-  | ShowEmptyGroupsFromPluginMessage
-  | ApiProvidersFromPluginMessage
-  | StylesFromPluginMessage
-  | VariablesFromPluginMessage
-  | StartJobFromPluginMessage
-  | CompleteJobFromPluginMessage
-  | ClearJobsFromPluginMessage
-  | AddJobTasksFromPluginMessage
-  | CompleteJobTasksFromPluginMessage
-  | SetTokensFromPluginMessage
-  | NotifyExceptionFromPluginMessage
-  | TrackFromPluginMessage;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html deleted file mode 100644 index 65493e724..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenGroupPayload.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/DeleteTokenGroupPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads DeleteTokenGroupPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type DeleteTokenGroupPayload = {
-  parent: string;
-  path: string;
-  type: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html deleted file mode 100644 index f34c56016..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DeleteTokenPayload.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/DeleteTokenPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads DeleteTokenPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
- 
-export type DeleteTokenPayload = {
-  parent: string;
-  path: string;
-  type?: TokenTypes;
-  sourceId?: string;
-  index?: number;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html deleted file mode 100644 index 7d1d4d977..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenGroupPayload.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/DuplicateTokenGroupPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads DuplicateTokenGroupPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
export type DuplicateTokenGroupPayload = {
-  parent: string;
-  oldName: string;
-  newName: string;
-  tokenSets: string[];
-  type: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html deleted file mode 100644 index 42d30c01a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/DuplicateTokenPayload.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/DuplicateTokenPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads DuplicateTokenPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { ColorModifier } from '../Modifier';
-import { SingleToken } from '../tokens';
- 
-export type DuplicateTokenPayload = {
-  parent: string;
-  type: TokenTypes;
-  newName: string;
-  value: SingleToken['value'];
-  description?: string;
-  oldName?: string;
-  shouldUpdate?: boolean;
-  tokenSets: string[];
-  $extensions?: {
-    [key: string]: any;
-    'studio.tokens'?: {
-      [key: string]: any;
-      id?: string;
-      modify?: ColorModifier
-    }
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html deleted file mode 100644 index 327692812..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokenGroupPayload.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/RenameTokenGroupPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads RenameTokenGroupPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export type RenameTokenGroupPayload = {
-  parent: string;
-  oldName: string;
-  newName: string;
-  type: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html deleted file mode 100644 index 56b0b4ec6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/RenameTokensAcrossSets.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/RenameTokensAcrossSets.ts - - - - - - - - - -
-
-

All files / src/types/payloads RenameTokensAcrossSets.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export type RenameTokensAcrossSetsPayload = {
-  oldName: string;
-  newName: string;
-  type: string;
-  tokenSets: string[];
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html deleted file mode 100644 index 32022d3f6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokenDataPayload.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/SetTokenDataPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads SetTokenDataPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { ThemeObjectsList } from '../ThemeObjectsList';
-import { AnyTokenList, SingleToken } from '../tokens';
-import { UsedTokenSetsMap } from '../UsedTokenSetsMap';
- 
-type ShallowTokenMap = Record<string, SingleToken<false>>;
-type DeepTokenMap = Record<string, Record<string, SingleToken<false>>>;
-export type SetTokenDataPayload = {
-  values:
-  SingleToken[]
-  | Record<string, AnyTokenList>
-  | Record<string, Partial<Record<TokenTypes, ShallowTokenMap | DeepTokenMap>>>
-  themes?: ThemeObjectsList
-  activeTheme?: Record<string, string>
-  shouldUpdate?: boolean;
-  usedTokenSet?: UsedTokenSetsMap | null
-  hasChangedRemote?: boolean
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html deleted file mode 100644 index 8c08d0c84..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromStylesPayload.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/SetTokensFromStylesPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads SetTokensFromStylesPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '../tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-export type StyleToCreateToken = {
-  name: string
-  value: SingleToken['value']
-  oldValue?: SingleToken['value']
-  type: TokenTypes
-  description?: string
-  oldDescription?: string
-};
- 
-export type SetTokensFromStylesPayload = Record<string, StyleToCreateToken[]>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html deleted file mode 100644 index 0e5b60198..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/SetTokensFromVariablesPayload.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/SetTokensFromVariablesPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads SetTokensFromVariablesPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '../tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-export type VariableToCreateToken = {
-  name: string
-  value: SingleToken['value']
-  oldValue?: SingleToken['value']
-  type: TokenTypes
-  parent: string, // collection name - is there a type for this?
-  description?: string
-  oldDescription?: string
-};
- 
-export type SetTokensFromVariablesPayload = Record<string, VariableToCreateToken[]>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html deleted file mode 100644 index b2e9c6b4a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/ToggleManyTokenSetsPayload.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/ToggleManyTokenSetsPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads ToggleManyTokenSetsPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export type ToggleManyTokenSetsPayload = {
-  shouldCheck: boolean
-  sets: string[]
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html deleted file mode 100644 index 9c584c6ba..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateDocumentPayload.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/UpdateDocumentPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads UpdateDocumentPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type UpdateDocumentPayload = {
-  shouldUpdateNodes?: boolean
-  updateRemote?: boolean
-  checkForChanges?: boolean
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html deleted file mode 100644 index 16b085bcd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenPayload.ts.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/UpdateTokenPayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads UpdateTokenPayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { ColorModifier } from '../Modifier';
-import {
-  SingleColorToken,
-  SingleBorderRadiusToken,
-  SingleTextToken,
-  SingleTypographyToken,
-  SingleOpacityToken,
-  SingleBorderWidthToken,
-  SingleBoxShadowToken,
-  SingleFontFamiliesToken,
-  SingleFontWeightsToken,
-  SingleLineHeightsToken,
-  SingleLetterSpacingToken,
-  SingleFontSizesToken,
-  SingleParagraphSpacingToken,
-  SingleTextDecorationToken,
-  SingleTextCaseToken,
-  SingleSpacingToken,
-  SingleOtherToken,
-  SingleCompositionToken,
-  SingleSizingToken,
-  SingleDimensionToken,
-  SingleBorderToken,
-  SingleAssetToken,
-  SingleBooleanToken,
-  SingleNumberToken,
-} from '../tokens';
- 
-type GenericTokenInput<T extends TokenTypes, V = string> = {
-  parent: string; // the currently active tokenSet
-  name: string;
-  type: T;
-  value: V;
-  description?: string;
-  oldName?: string; // only passed when editing token
-  shouldUpdate?: boolean
-  shouldUpdateDocument?: boolean;
-  $extensions?: { 'studio.tokens'?: { modify?: ColorModifier, urn?: string; } }
-};
- 
-export type UpdateTokenPayload =
-  GenericTokenInput<TokenTypes.COLOR, SingleColorToken['value']>
-  | GenericTokenInput<TokenTypes.BORDER_RADIUS, SingleBorderRadiusToken['value']>
-  | GenericTokenInput<TokenTypes.TEXT, SingleTextToken['value']>
-  | GenericTokenInput<TokenTypes.TYPOGRAPHY, SingleTypographyToken['value']>
-  | GenericTokenInput<TokenTypes.OPACITY, SingleOpacityToken['value']>
-  | GenericTokenInput<TokenTypes.BORDER_WIDTH, SingleBorderWidthToken['value']>
-  | GenericTokenInput<TokenTypes.BOX_SHADOW, SingleBoxShadowToken['value']>
-  | GenericTokenInput<TokenTypes.FONT_FAMILIES, SingleFontFamiliesToken['value']>
-  | GenericTokenInput<TokenTypes.FONT_WEIGHTS, SingleFontWeightsToken['value']>
-  | GenericTokenInput<TokenTypes.LINE_HEIGHTS, SingleLineHeightsToken['value']>
-  | GenericTokenInput<TokenTypes.LETTER_SPACING, SingleLetterSpacingToken['value']>
-  | GenericTokenInput<TokenTypes.FONT_SIZES, SingleFontSizesToken['value']>
-  | GenericTokenInput<TokenTypes.PARAGRAPH_SPACING, SingleParagraphSpacingToken['value']>
-  | GenericTokenInput<TokenTypes.TEXT_DECORATION, SingleTextDecorationToken['value']>
-  | GenericTokenInput<TokenTypes.TEXT_CASE, SingleTextCaseToken['value']>
-  | GenericTokenInput<TokenTypes.SPACING, SingleSpacingToken['value']>
-  | GenericTokenInput<TokenTypes.SIZING, SingleSizingToken['value']>
-  | GenericTokenInput<TokenTypes.COMPOSITION, SingleCompositionToken['value']>
-  | GenericTokenInput<TokenTypes.DIMENSION, SingleDimensionToken['value']>
-  | GenericTokenInput<TokenTypes.BORDER, SingleBorderToken['value']>
-  | GenericTokenInput<TokenTypes.ASSET, SingleAssetToken['value']>
-  | GenericTokenInput<TokenTypes.OTHER, SingleOtherToken['value']>
-  | GenericTokenInput<TokenTypes.BOOLEAN, SingleBooleanToken['value']>
-  | GenericTokenInput<TokenTypes.NUMBER, SingleNumberToken['value']>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html deleted file mode 100644 index 215deeacb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/UpdateTokenVariablePayload.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/UpdateTokenVariablePayload.ts - - - - - - - - - -
-
-

All files / src/types/payloads UpdateTokenVariablePayload.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '../tokens';
-import { ColorModifier } from '../Modifier';
- 
-export type UpdateTokenVariablePayload = {
-  parent: string;
-  name: string;
-  type: TokenTypes;
-  value: SingleToken['value'] | number | null;
-  rawValue?: SingleToken['value'];
-  $extensions?: {
-    [key: string]: any;
-    'studio.tokens'?: {
-      [key: string]: any;
-      id?: string;
-      modify?: ColorModifier
-    }
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html deleted file mode 100644 index 5be66b47b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - Code coverage report for src/types/payloads - - - - - - - - - -
-
-

All files src/types/payloads

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
DeleteTokenGroupPayload.ts -
-
0%0/00%0/00%0/00%0/0
DeleteTokenPayload.ts -
-
0%0/00%0/00%0/00%0/0
DuplicateTokenGroupPayload.ts -
-
0%0/00%0/00%0/00%0/0
DuplicateTokenPayload.ts -
-
0%0/00%0/00%0/00%0/0
RenameTokenGroupPayload.ts -
-
0%0/00%0/00%0/00%0/0
RenameTokensAcrossSets.ts -
-
0%0/00%0/00%0/00%0/0
SetTokenDataPayload.ts -
-
0%0/00%0/00%0/00%0/0
SetTokensFromStylesPayload.ts -
-
0%0/00%0/00%0/00%0/0
SetTokensFromVariablesPayload.ts -
-
0%0/00%0/00%0/00%0/0
ToggleManyTokenSetsPayload.ts -
-
0%0/00%0/00%0/00%0/0
UpdateDocumentPayload.ts -
-
0%0/00%0/00%0/00%0/0
UpdateTokenPayload.ts -
-
0%0/00%0/00%0/00%0/0
UpdateTokenVariablePayload.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html deleted file mode 100644 index 5acdfe851..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/payloads/index.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/types/payloads/index.ts - - - - - - - - - -
-
-

All files / src/types/payloads index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
export * from './SetTokensFromStylesPayload';
-export * from './SetTokensFromVariablesPayload';
-export * from './UpdateTokenPayload';
-export * from './DeleteTokenPayload';
-export * from './SetTokenDataPayload';
-export * from './UpdateDocumentPayload';
-export * from './ToggleManyTokenSetsPayload';
-export * from './RenameTokenGroupPayload';
-export * from './DuplicateTokenGroupPayload';
-export * from './DuplicateTokenPayload';
-export * from './DeleteTokenGroupPayload';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html deleted file mode 100644 index d566ce887..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/PropertyObject.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/types/properties/PropertyObject.ts - - - - - - - - - -
-
-

All files / src/types/properties PropertyObject.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export type PropertyObject = {
-  name: Properties;
-  label?: string;
-  icon?: 'Gap' | 'Spacing';
-  clear?: Properties[];
-  forcedValue?: string; // @TODO check typing
-  disabled?: boolean;
-  invisible?: boolean;
-  childProperties?: PropertyObject[];
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html deleted file mode 100644 index 87188190f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/types/properties - - - - - - - - - -
-
-

All files src/types/properties

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
PropertyObject.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html deleted file mode 100644 index 1f710071d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/properties/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/types/properties/index.ts - - - - - - - - - -
-
-

All files / src/types/properties index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './PropertyObject';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html deleted file mode 100644 index f2fb3a50f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/ActionMeta.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/types/redux/ActionMeta.ts - - - - - - - - - -
-
-

All files / src/types/redux ActionMeta.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export type ActionMeta = {
-  silent?: boolean; // skip action history
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html deleted file mode 100644 index b08af7629..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyAction.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/types/redux/AnyAction.ts - - - - - - - - - -
-
-

All files / src/types/redux AnyAction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import type { Action } from 'redux';
-import { AnyInspectStateAction } from './AnyInspectStateAction';
-import { AnySettingsStateAction } from './AnySettingsStateAction';
-import { AnyTokenStateAction } from './AnyTokenStateAction';
-import { AnyUiStateAction } from './AnyUiStateAction';
- 
-export type AnyAction<GlobalScope = false> =
-Action<'RESET_APP'>
-| AnyInspectStateAction<GlobalScope>
-| AnySettingsStateAction<GlobalScope>
-| AnyTokenStateAction<GlobalScope>
-| AnyUiStateAction<GlobalScope>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html deleted file mode 100644 index c697b0535..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyInspectStateAction.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/redux/AnyInspectStateAction.ts - - - - - - - - - -
-
-

All files / src/types/redux AnyInspectStateAction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { RootModel } from '../RootModel';
-import { ActionMeta } from './ActionMeta';
- 
-export type AnyInspectStateAction<GlobalScope = false> = {
-  [K in keyof RootModel['inspectState']['reducers']]: {
-    type: GlobalScope extends true ? `inspectState/${K}` : K
-    payload: Parameters<RootModel['inspectState']['reducers'][K]>[1]
-    meta?: ActionMeta
-  }
-}[keyof RootModel['inspectState']['reducers']];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html deleted file mode 100644 index 1017b40ac..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnySettingsStateAction.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/redux/AnySettingsStateAction.ts - - - - - - - - - -
-
-

All files / src/types/redux AnySettingsStateAction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { RootModel } from '../RootModel';
-import { ActionMeta } from './ActionMeta';
- 
-export type AnySettingsStateAction<GlobalScope = false> = {
-  [K in keyof RootModel['settings']['reducers']]: {
-    type: GlobalScope extends true ? `settings/${K}` : K
-    payload: Parameters<RootModel['settings']['reducers'][K]>[1]
-    meta?: ActionMeta
-  }
-}[keyof RootModel['settings']['reducers']];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html deleted file mode 100644 index 0ff0c873d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyTokenStateAction.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/redux/AnyTokenStateAction.ts - - - - - - - - - -
-
-

All files / src/types/redux AnyTokenStateAction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { RootModel } from '../RootModel';
-import { ActionMeta } from './ActionMeta';
- 
-export type AnyTokenStateAction<GlobalScope = false> = {
-  [K in keyof RootModel['tokenState']['reducers']]: {
-    type: GlobalScope extends true ? `tokenState/${K}` : K
-    payload: Parameters<RootModel['tokenState']['reducers'][K]>[1]
-    meta?: ActionMeta
-  }
-}[keyof RootModel['tokenState']['reducers']];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html deleted file mode 100644 index a75e6cb5c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/AnyUiStateAction.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/redux/AnyUiStateAction.ts - - - - - - - - - -
-
-

All files / src/types/redux AnyUiStateAction.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { RootModel } from '../RootModel';
-import { ActionMeta } from './ActionMeta';
- 
-export type AnyUiStateAction<GlobalScope = false> = {
-  [K in keyof RootModel['uiState']['reducers']]: {
-    type: GlobalScope extends true ? `uiState/${K}` : K
-    payload: Parameters<RootModel['uiState']['reducers'][K]>[1]
-    meta?: ActionMeta
-  }
-}[keyof RootModel['uiState']['reducers']];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html deleted file mode 100644 index e7610a32f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for src/types/redux - - - - - - - - - -
-
-

All files src/types/redux

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ActionMeta.ts -
-
0%0/00%0/00%0/00%0/0
AnyAction.ts -
-
0%0/00%0/00%0/00%0/0
AnyInspectStateAction.ts -
-
0%0/00%0/00%0/00%0/0
AnySettingsStateAction.ts -
-
0%0/00%0/00%0/00%0/0
AnyTokenStateAction.ts -
-
0%0/00%0/00%0/00%0/0
AnyUiStateAction.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html deleted file mode 100644 index f64ac32ac..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/redux/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/types/redux/index.ts - - - - - - - - - -
-
-

All files / src/types/redux index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './AnyAction';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html deleted file mode 100644 index 71cae3e3c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenList.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/AnyTokenList.ts - - - - - - - - - -
-
-

All files / src/types/tokens AnyTokenList.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { SingleToken } from './SingleToken';
- 
-export type AnyTokenList = SingleToken[];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html deleted file mode 100644 index 5298628cf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/AnyTokenSet.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/AnyTokenSet.ts - - - - - - - - - -
-
-

All files / src/types/tokens AnyTokenSet.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import { SingleToken } from './SingleToken';
- 
-export type AnyTokenSet<Named extends boolean = true> = Record<string, SingleToken<Named>>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html deleted file mode 100644 index 726038daa..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/DeepKeyTokenMap.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/DeepKeyTokenMap.ts - - - - - - - - - -
-
-

All files / src/types/tokens DeepKeyTokenMap.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { SingleToken } from './SingleToken';
- 
-export interface DeepKeyTokenMap extends Record<string, DeepKeyTokenMap | SingleToken> {
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html deleted file mode 100644 index f6b95e9e4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/EditTokenObject.ts.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/EditTokenObject.ts - - - - - - - - - -
-
-

All files / src/types/tokens EditTokenObject.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { EditTokenFormStatus } from '@/constants/EditTokenFormStatus';
-import { SingleBorderRadiusToken } from './SingleBorderRadiusToken';
-import { SingleBorderToken } from './SingleBorderToken';
-import { SingleBorderWidthToken } from './SingleBorderWidthToken';
-import { SingleBoxShadowToken } from './SingleBoxShadowToken';
-import { SingleColorToken } from './SingleColorToken';
-import { SingleCompositionToken } from './SingleCompositionToken';
-import { SingleDimensionToken } from './SingleDimensionToken';
-import { SingleFontFamiliesToken } from './SingleFontFamiliesToken';
-import { SingleFontSizesToken } from './SingleFontSizesToken';
-import { SingleFontWeightsToken } from './SingleFontWeightsToken';
-import { SingleLetterSpacingToken } from './SingleLetterSpacingToken';
-import { SingleLineHeightsToken } from './SingleLineHeightsToken';
-import { SingleOpacityToken } from './SingleOpacityToken';
-import { SingleOtherToken } from './SingleOtherToken';
-import { SingleParagraphSpacingToken } from './SingleParagraphSpacingToken';
-import { SingleSpacingToken } from './SingleSpacingToken';
-import { SingleTextCaseToken } from './SingleTextCaseToken';
-import { SingleTextDecorationToken } from './SingleTextDecorationToken';
-import { SingleTextToken } from './SingleTextToken';
-import { SingleBooleanToken } from './SingleBooleanToken';
-import { SingleToken } from './SingleToken';
-import { SingleTypographyToken } from './SingleTypographyToken';
-import { SingleNumberToken } from './SingleNumberToken';
-import type { TokenTypeSchema } from './TokenTypeSchema';
- 
-type EditTokenObjectProperties = {
-  initialName: string;
-  status: EditTokenFormStatus;
-  schema: TokenTypeSchema;
-};
- 
-type PartialExceptTypeAndSchema<Named extends boolean, T extends SingleToken<Named>> = { type: T['type']; schema: EditTokenObjectProperties['schema'] } & Partial<Omit<T, 'type' | 'schema'>>;
- 
-export type EditTokenObject<Named extends boolean = true> =
-PartialExceptTypeAndSchema<Named, SingleColorToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleBorderRadiusToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleTextToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleTypographyToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleOpacityToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleBorderWidthToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleBoxShadowToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleFontFamiliesToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleFontWeightsToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleLineHeightsToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleLetterSpacingToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleFontSizesToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleParagraphSpacingToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleTextDecorationToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleTextCaseToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleSpacingToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleOtherToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleCompositionToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleDimensionToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleBorderToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleBooleanToken<Named, EditTokenObjectProperties>>
-| PartialExceptTypeAndSchema<Named, SingleNumberToken<Named, EditTokenObjectProperties>>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html deleted file mode 100644 index 86d3eb33a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/ImportToken.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/ImportToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens ImportToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { SingleToken } from './SingleToken';
- 
-export type ImportToken<Named extends boolean = true> = SingleToken<Named, {
-  importType?: 'NEW' | 'UPDATE' | 'REMOVE'
-  parent?: string
-}>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html deleted file mode 100644 index 74fbcec5f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleAssetToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleAssetToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleAssetToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleAssetToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.ASSET, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html deleted file mode 100644 index cc117eb6e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBooleanToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleBooleanToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleBooleanToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleBooleanToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BOOLEAN, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html deleted file mode 100644 index acec86409..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderRadiusToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleBorderRadiusToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleBorderRadiusToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleBorderRadiusToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BORDER_RADIUS, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html deleted file mode 100644 index 342491dd8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderToken.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleBorderToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleBorderToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenBorderValue } from '../values';
-import { SingleGenericToken } from './SingleGenericToken';
-import { TokenInJSON } from '@/utils/convertTokens';
- 
-export type SingleBorderToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BORDER, TokenBorderValue, Named, P>;
-export type SingleBorderTokenInJSON = TokenInJSON<TokenTypes.BORDER, TokenBorderValue | string>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html deleted file mode 100644 index e8e5dc17a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBorderWidthToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleBorderWidthToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleBorderWidthToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleBorderWidthToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BORDER_WIDTH, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html deleted file mode 100644 index 810834283..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleBoxShadowToken.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleBoxShadowToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleBoxShadowToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenBoxshadowValue } from '../values';
-import { SingleGenericToken } from './SingleGenericToken';
-import { TokenInJSON } from '@/utils/convertTokens';
- 
-export type SingleBoxShadowToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.BOX_SHADOW, (
-  TokenBoxshadowValue | TokenBoxshadowValue[] | string
-), Named, P>;
- 
-export type SingleBoxShadowTokenInJSON = TokenInJSON<TokenTypes.BOX_SHADOW, TokenBoxshadowValue | TokenBoxshadowValue[] | string>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html deleted file mode 100644 index 16aa94d6b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleColorToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleColorToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleColorToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleColorToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.COLOR, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html deleted file mode 100644 index 8133dcc24..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleCompositionToken.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleCompositionToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleCompositionToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { CompositionTokenValue } from '../CompositionTokenProperty';
-import { SingleGenericToken } from './SingleGenericToken';
-import { TokenInJSON } from '@/utils/convertTokens';
- 
-export type SingleCompositionToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.COMPOSITION, CompositionTokenValue, Named, P>;
-export type SingleCompositionTokenInJSON = TokenInJSON<TokenTypes.COMPOSITION, CompositionTokenValue | string>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html deleted file mode 100644 index d2016818f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleDimensionToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleDimensionToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleDimensionToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleDimensionToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.DIMENSION, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html deleted file mode 100644 index 54acb204c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontFamiliesToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleFontFamiliesToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleFontFamiliesToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleFontFamiliesToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.FONT_FAMILIES, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html deleted file mode 100644 index 1c4ae4057..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontSizesToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleFontSizesToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleFontSizesToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleFontSizesToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.FONT_SIZES, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html deleted file mode 100644 index 9f70b4894..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleFontWeightsToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleFontWeightsToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleFontWeightsToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleFontWeightsToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.FONT_WEIGHTS, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html deleted file mode 100644 index 9a367afc2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleGenericToken.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleGenericToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleGenericToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { ColorModifier } from '../Modifier';
- 
-export type SingleGenericToken<T extends TokenTypes, V = string, Named extends boolean = true, P = unknown> = {
-  type: T;
-  value: V;
-  rawValue?: V;
-  resolvedValueWithReferences?: V;
-  description?: string;
-  oldDescription?: string;
-  oldValue?: V;
-  internal__Parent?: string;
-  inheritTypeLevel?: number;
-  $extensions?: {
-    [key: string]: any;
-    'studio.tokens'?: {
-      [key: string]: any;
-      id?: string;
-      modify?: ColorModifier;
-      urn?: string;
-    },
-    id?: string;
-  }
-} & (Named extends true ? {
-  name: string;
-} : {
-  name?: string;
-}) & P;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html deleted file mode 100644 index e6258497d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLetterSpacingToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleLetterSpacingToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleLetterSpacingToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleLetterSpacingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.LETTER_SPACING, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html deleted file mode 100644 index ee619fa01..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleLineHeightsToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleLineHeightsToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleLineHeightsToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleLineHeightsToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.LINE_HEIGHTS, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html deleted file mode 100644 index 15449f506..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleNumberToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleNumberToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleNumberToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleNumberToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.NUMBER, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html deleted file mode 100644 index 193c971af..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOpacityToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleOpacityToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleOpacityToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleOpacityToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.OPACITY, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html deleted file mode 100644 index 2a8736324..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleOtherToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleOtherToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleOtherToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleOtherToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.OTHER, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html deleted file mode 100644 index e29224b5c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleParagraphSpacingToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleParagraphSpacingToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleParagraphSpacingToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleParagraphSpacingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.PARAGRAPH_SPACING, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html deleted file mode 100644 index 70df2a663..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSizingToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleSizingToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleSizingToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleSizingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.SIZING, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html deleted file mode 100644 index ca444e262..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleSpacingToken.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleSpacingToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleSpacingToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleSpacingToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.SPACING, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html deleted file mode 100644 index ea185ed3f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextCaseToken.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleTextCaseToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleTextCaseToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenTextCaseValue } from '../values';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleTextCaseToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.TEXT_CASE, TokenTextCaseValue, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html deleted file mode 100644 index 30e856042..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextDecorationToken.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleTextDecorationToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleTextDecorationToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenTextDecorationValue } from '../values';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-export type SingleTextDecorationToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.TEXT_DECORATION, TokenTextDecorationValue, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html deleted file mode 100644 index 7b16fd074..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTextToken.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleTextToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleTextToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleGenericToken } from './SingleGenericToken';
- 
-// @TODO remove text type token if not used anymore
-export type SingleTextToken<Named extends boolean = true, P = unknown> = SingleGenericToken<TokenTypes.TEXT, string, Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html deleted file mode 100644 index a412e113a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleToken.ts.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleBooleanToken } from './SingleBooleanToken';
-import { SingleColorToken } from './SingleColorToken';
-import { SingleBorderRadiusToken } from './SingleBorderRadiusToken';
-import { SingleTextToken } from './SingleTextToken';
-import { SingleSpacingToken } from './SingleSpacingToken';
-import { SingleTypographyToken } from './SingleTypographyToken';
-import { SingleOpacityToken } from './SingleOpacityToken';
-import { SingleBorderWidthToken } from './SingleBorderWidthToken';
-import { SingleBoxShadowToken } from './SingleBoxShadowToken';
-import { SingleFontFamiliesToken } from './SingleFontFamiliesToken';
-import { SingleFontWeightsToken } from './SingleFontWeightsToken';
-import { SingleLineHeightsToken } from './SingleLineHeightsToken';
-import { SingleLetterSpacingToken } from './SingleLetterSpacingToken';
-import { SingleFontSizesToken } from './SingleFontSizesToken';
-import { SingleParagraphSpacingToken } from './SingleParagraphSpacingToken';
-import { SingleTextDecorationToken } from './SingleTextDecorationToken';
-import { SingleTextCaseToken } from './SingleTextCaseToken';
-import { SingleOtherToken } from './SingleOtherToken';
-import { SingleCompositionToken } from './SingleCompositionToken';
-import { SingleDimensionToken } from './SingleDimensionToken';
-import { SingleBorderToken } from './SingleBorderToken';
-import { SingleAssetToken } from './SingleAssetToken';
-import { SingleSizingToken } from './SingleSizingToken';
-import { SingleNumberToken } from './SingleNumberToken';
- 
-export type SingleToken<Named extends boolean = true, P = unknown> =
-  SingleColorToken<Named, P>
-  | SingleBorderRadiusToken<Named, P>
-  | SingleTextToken<Named, P>
-  | SingleTypographyToken<Named, P>
-  | SingleOpacityToken<Named, P>
-  | SingleBorderWidthToken<Named, P>
-  | SingleBoxShadowToken<Named, P>
-  | SingleFontFamiliesToken<Named, P>
-  | SingleFontWeightsToken<Named, P>
-  | SingleLineHeightsToken<Named, P>
-  | SingleLetterSpacingToken<Named, P>
-  | SingleFontSizesToken<Named, P>
-  | SingleParagraphSpacingToken<Named, P>
-  | SingleTextDecorationToken<Named, P>
-  | SingleTextCaseToken<Named, P>
-  | SingleSpacingToken<Named, P>
-  | SingleSizingToken<Named, P>
-  | SingleOtherToken<Named, P>
-  | SingleBorderToken<Named, P>
-  | SingleCompositionToken<Named, P>
-  | SingleCompositionToken<Named, P>
-  | SingleDimensionToken<Named, P>
-  | SingleAssetToken<Named, P>
-  | SingleBooleanToken<Named, P>
-  | SingleNumberToken<Named, P>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html deleted file mode 100644 index 6776f1183..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/SingleTypographyToken.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/SingleTypographyToken.ts - - - - - - - - - -
-
-

All files / src/types/tokens SingleTypographyToken.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenTypographyValue } from '../values';
-import { SingleGenericToken } from './SingleGenericToken';
-import { TokenInJSON } from '@/utils/convertTokens';
- 
-export type SingleTypographyToken<Named extends boolean = true, P = unknown> = SingleGenericToken<
-TokenTypes.TYPOGRAPHY,
-TokenTypographyValue | string,
-Named,
-P
->;
- 
-export type SingleTypographyTokenInJSON = TokenInJSON<TokenTypes.TYPOGRAPHY, TokenTypographyValue | string>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html deleted file mode 100644 index 7f778cc08..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenToRename.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/TokenToRename.ts - - - - - - - - - -
-
-

All files / src/types/tokens TokenToRename.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export type TokenToRename = {
-  oldName: string;
-  newName: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html deleted file mode 100644 index e568b0ffe..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenTypeSchema.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/TokenTypeSchema.ts - - - - - - - - - -
-
-

All files / src/types/tokens TokenTypeSchema.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
- 
-interface StringSchemaType { type: 'string' }
-interface ObjectSchemaType {
-  type: 'object'
-  properties: Record<string, StringSchemaType | ObjectSchemaType>
-}
- 
-export type TokenTypeSchema = {
-  label: string;
-  property: string;
-  type: TokenTypes;
-  explainer?: string;
-  help?: string;
-  isPro?: boolean;
-  schemas: {
-    value: ObjectSchemaType;
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html deleted file mode 100644 index 22b4166d0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokenValues.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/TokenValues.ts - - - - - - - - - -
-
-

All files / src/types/tokens TokenValues.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { AnyTokenList } from './AnyTokenList';
- 
-export type TokenValues = {
-  // @README these could be different themes or sets of tokens
-  values: Record<string, AnyTokenList>
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html deleted file mode 100644 index 017be742e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStore.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/TokensStore.ts - - - - - - - - - -
-
-

All files / src/types/tokens TokensStore.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageType } from '../StorageType';
-import { ThemeObjectsList } from '../ThemeObjectsList';
-import { UsedTokenSetsMap } from '../UsedTokenSetsMap';
-import { AnyTokenList } from './AnyTokenList';
- 
-export type TokenStore = {
-  version: string;
-  updatedAt: string;
-  // @README these could be different themes or sets of tokens
-  values: Record<string, AnyTokenList>;
-  usedTokenSet?: UsedTokenSetsMap | null;
-  checkForChanges?: boolean | null;
-  activeTheme: Record<string, string>;
-  themes: ThemeObjectsList;
-  storageType?: StorageType;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html deleted file mode 100644 index 08b899ff4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/TokensStoreValuesSet.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/TokensStoreValuesSet.ts - - - - - - - - - -
-
-

All files / src/types/tokens TokensStoreValuesSet.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import { AnyTokenSet } from './AnyTokenSet';
-import { AnyTokenList } from './AnyTokenList';
- 
-// @TODO not sure what this should be / where this is to be used
-export type TokensStoreValuesSet = {
-  type: 'array'
-  values: AnyTokenList
-} | {
-  type: 'object'
-  values: AnyTokenSet
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html deleted file mode 100644 index f52f6ae36..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.html +++ /dev/null @@ -1,656 +0,0 @@ - - - - - - Code coverage report for src/types/tokens - - - - - - - - - -
-
-

All files src/types/tokens

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
AnyTokenList.ts -
-
0%0/00%0/00%0/00%0/0
AnyTokenSet.ts -
-
0%0/00%0/00%0/00%0/0
DeepKeyTokenMap.ts -
-
0%0/00%0/00%0/00%0/0
EditTokenObject.ts -
-
0%0/00%0/00%0/00%0/0
ImportToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleAssetToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleBooleanToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleBorderRadiusToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleBorderToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleBorderWidthToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleBoxShadowToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleColorToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleCompositionToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleDimensionToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleFontFamiliesToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleFontSizesToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleFontWeightsToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleGenericToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleLetterSpacingToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleLineHeightsToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleNumberToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleOpacityToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleOtherToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleParagraphSpacingToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleSizingToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleSpacingToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleTextCaseToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleTextDecorationToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleTextToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleToken.ts -
-
0%0/00%0/00%0/00%0/0
SingleTypographyToken.ts -
-
0%0/00%0/00%0/00%0/0
TokenToRename.ts -
-
0%0/00%0/00%0/00%0/0
TokenTypeSchema.ts -
-
0%0/00%0/00%0/00%0/0
TokenValues.ts -
-
0%0/00%0/00%0/00%0/0
TokensStore.ts -
-
0%0/00%0/00%0/00%0/0
TokensStoreValuesSet.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html deleted file mode 100644 index 6887159ec..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/tokens/index.ts.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/types/tokens/index.ts - - - - - - - - - -
-
-

All files / src/types/tokens index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './TokenTypeSchema';
-export * from './SingleGenericToken';
-export * from './SingleColorToken';
-export * from './SingleBorderRadiusToken';
-export * from './SingleTextToken';
-export * from './SingleTypographyToken';
-export * from './SingleOpacityToken';
-export * from './SingleSpacingToken';
-export * from './SingleBorderWidthToken';
-export * from './SingleBoxShadowToken';
-export * from './SingleFontFamiliesToken';
-export * from './SingleFontWeightsToken';
-export * from './SingleLineHeightsToken';
-export * from './SingleLetterSpacingToken';
-export * from './SingleFontSizesToken';
-export * from './SingleParagraphSpacingToken';
-export * from './SingleTextDecorationToken';
-export * from './SingleTextCaseToken';
-export * from './SingleSizingToken';
-export * from './SingleOtherToken';
-export * from './SingleToken';
-export * from './AnyTokenSet';
-export * from './AnyTokenList';
-export * from './TokensStoreValuesSet';
-export * from './TokensStore';
-export * from './TokenValues';
-export * from './DeepKeyTokenMap';
-export * from './SingleCompositionToken';
-export * from './ImportToken';
-export * from './EditTokenObject';
-export * from './SingleDimensionToken';
-export * from './SingleBorderToken';
-export * from './SingleAssetToken';
-export * from './SingleBooleanToken';
-export * from './SingleNumberToken';
-export * from './TokenToRename';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html deleted file mode 100644 index 2987ab24b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/userData.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/userData.ts - - - - - - - - - -
-
-

All files / src/types userData.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type UserData = {
-  userId?:string | null;
-  licenseKey?: string | null;
-  userName?: string | null;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html deleted file mode 100644 index bd1a4d6bb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/valueTypes.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/types/valueTypes.ts - - - - - - - - - -
-
-

All files / src/types valueTypes.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
export type ColorRgba = {
-  r: number;
-  g: number;
-  b: number;
-  a?: number;
-};
- 
-export type ColorHsla = {
-  h: number;
-  s: number;
-  l: number;
-  a?: number;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html deleted file mode 100644 index 41cd1236a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBorderValue.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/values/TokenBorderValue.ts - - - - - - - - - -
-
-

All files / src/types/values TokenBorderValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export type TokenBorderValue = {
-  color?: string;
-  width?: string;
-  style?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html deleted file mode 100644 index 6c6cf586d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenBoxShadowValue.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/types/values/TokenBoxShadowValue.ts - - - - - - - - - -
-
-

All files / src/types/values TokenBoxShadowValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
- 
-export type TokenBoxshadowValue = {
-  color: string;
-  type: BoxShadowTypes;
-  x: string | number;
-  y: string | number;
-  blur: string | number;
-  spread: string | number;
-  blendMode?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html deleted file mode 100644 index 7fcda523a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextCaseValue.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/types/values/TokenTextCaseValue.ts - - - - - - - - - -
-
-

All files / src/types/values TokenTextCaseValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
export type TokenTextCaseValue =
-  'uppercase'
-  | 'upper'
-  | 'lowercase'
-  | 'lower'
-  | 'capitalize'
-  | 'title'
-  | 'small-caps'
-  | 'small_caps'
-  | 'all-small-caps'
-  | 'small_caps_forced'
-  | 'none';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html deleted file mode 100644 index 986d6c65a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTextDecorationValue.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/types/values/TokenTextDecorationValue.ts - - - - - - - - - -
-
-

All files / src/types/values TokenTextDecorationValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export type TokenTextDecorationValue = 'none' | 'underline' | 'line-through' | 'strikethrough';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html deleted file mode 100644 index 1155ac3e2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/TokenTypographyValue.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/types/values/TokenTypographyValue.ts - - - - - - - - - -
-
-

All files / src/types/values TokenTypographyValue.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
export type TokenTypographyValue = {
-  fontFamily?: string;
-  fontWeight?: string;
-  fontSize?: string;
-  lineHeight?: string | number;
-  letterSpacing?: string;
-  paragraphSpacing?: string;
-  paragraphIndent?: string;
-  textCase?: string;
-  textDecoration?: string;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html deleted file mode 100644 index 9f991a208..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - Code coverage report for src/types/values - - - - - - - - - -
-
-

All files src/types/values

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
TokenBorderValue.ts -
-
0%0/00%0/00%0/00%0/0
TokenBoxShadowValue.ts -
-
0%0/00%0/00%0/00%0/0
TokenTextCaseValue.ts -
-
0%0/00%0/00%0/00%0/0
TokenTextDecorationValue.ts -
-
0%0/00%0/00%0/00%0/0
TokenTypographyValue.ts -
-
0%0/00%0/00%0/00%0/0
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html deleted file mode 100644 index f0e14b008..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/types/values/index.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/types/values/index.ts - - - - - - - - - -
-
-

All files / src/types/values index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
export * from './TokenTypographyValue';
-export * from './TokenBoxShadowValue';
-export * from './TokenTextDecorationValue';
-export * from './TokenTextCaseValue';
-export * from './TokenBorderValue';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html deleted file mode 100644 index 7cb1df3cb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/TokenResolver.ts.html +++ /dev/null @@ -1,1087 +0,0 @@ - - - - - - Code coverage report for src/utils/TokenResolver.ts - - - - - - - - - -
-
-

All files / src/utils TokenResolver.ts

-
- -
- 0% - Statements - 0/130 -
- - -
- 0% - Branches - 0/115 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/129 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { dump } from 'js-yaml';
-import { SingleToken } from '@/types/tokens';
-import { TokenMap } from '../types/TokenMap';
- 
-import { AliasRegex } from '@/constants/AliasRegex';
-import { checkAndEvaluateMath } from './math';
-import { convertToRgb } from './color';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { convertModifiedColorToHex } from './convertModifiedColorToHex';
-import { getPathName } from './getPathName';
-import { ResolveTokenValuesResult } from './tokenHelpers';
- 
-class TokenResolver {
-  public tokens: SingleToken[];
- 
-  public tokenMap: TokenMap;
- 
-  public memo: Map<string, ResolveTokenValuesResult>;
- 
-  constructor(tokens: SingleToken[]) {
-    this.tokens = tokens;
-    this.tokenMap = new Map();
-    this.memo = new Map();
- 
-    this.populateTokenMap();
-  }
- 
-  // Set tokens and populate token map
-  private populateTokenMap(): void {
-    for (const token of this.tokens) {
-      this.tokenMap.set(token.name, token);
-    }
-  }
- 
-  // When we get new tokens, we need to update the token map
-  public setTokens(tokens: SingleToken[]): ResolveTokenValuesResult[] {
-    this.tokens = tokens;
-    this.tokenMap = new Map();
-    this.memo = new Map();
-    this.populateTokenMap();
- 
-    return this.resolveTokenValues();
-  }
- 
-  // Initial function to iterate over all tokens and resolve references
-  public resolveTokenValues(): ResolveTokenValuesResult[] {
-    const resolvedTokens: ResolveTokenValuesResult[] = [];
- 
-    for (const token of this.tokens) {
-      const resolvedValue = this.resolveReferences(token);
-      if (typeof resolvedValue.value === 'string' && AliasRegex.test(resolvedValue.value)) {
-        resolvedValue.failedToResolve = true;
-      }
-      resolvedTokens.push({
-        ...resolvedValue,
-        rawValue: token.value,
-      } as ResolveTokenValuesResult);
-    }
- 
-    return resolvedTokens;
-  }
- 
-  private isExponentialAndZero(str: string): boolean {
-    const regex = /^[+-]?\d*\.?\d+([eE][+-]?\d+)?$/;
-    const numericRegex = /^[+-]?\d*\.?\d+$/;
- 
-    // Needs to be more than a single zero otherwise "0" will get evaluated incorrectly
-    const allZerosRegex = /^00+$/;
-    const leadingZerosRegex = /^0+[1-9]\d*$/;
- 
-    return (regex.test(str) && !numericRegex.test(str)) || (allZerosRegex.test(str) || leadingZerosRegex.test(str));
-  }
- 
-  // When we resolve references, we also need to calculate the value of the token, meaning color and math transformations
-  private calculateTokenValue(token: SingleToken, resolvedReferences: Set<string> = new Set()): SingleToken['value'] | undefined {
-    // Calculations only happen on strings.
-    if (typeof token.value === 'string') {
-      const couldBeNumberValue = !this.isExponentialAndZero(token.value) ? checkAndEvaluateMath(token.value) : token.value;
- 
-      // if it's a number, we don't need to do anything else and can return it
-      if (typeof couldBeNumberValue === 'number') {
-        return couldBeNumberValue as SingleToken['value'];
-      }
- 
-      // Transform non-conform colors such as rgba({color}, 0.5) to hex
-      const rgbColor = convertToRgb(couldBeNumberValue);
- 
-      // If we have a color modifier, we need to apply it. As we need chained resolution to happen, this needs to be done here.
-      if (typeof token === 'object' && token?.$extensions?.['studio.tokens']?.modify && rgbColor) {
-        if (token?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX) {
-          // As we support references in color modifiers, we need to resolve them.
-          return convertModifiedColorToHex(rgbColor, {
-            ...token.$extensions?.['studio.tokens']?.modify,
-            value: String(this.resolveReferences({ value: token?.$extensions?.['studio.tokens']?.modify?.value } as SingleToken, resolvedReferences)?.value),
-            color: String(this.resolveReferences({ value: token?.$extensions?.['studio.tokens']?.modify?.color } as SingleToken, resolvedReferences)?.value) ?? undefined,
-          });
-        }
- 
-        return convertModifiedColorToHex(rgbColor, {
-          ...token.$extensions?.['studio.tokens']?.modify,
-          value: String(this.resolveReferences({ value: token?.$extensions?.['studio.tokens']?.modify?.value } as SingleToken, resolvedReferences)?.value),
-        });
-      }
-      // If we don't have a color modifier, we can just return the color
-      return rgbColor;
-    }
- 
-    // If it's not a string we just return the value.
-    return token.value;
-  }
- 
-  public resolveReferences(token: SingleToken, resolvedReferences: Set<string> = new Set()): ResolveTokenValuesResult {
-    // We use the name as the memo key, if it exists
-    const memoKey = token.name || undefined;
- 
-    // If we have a cache hit, we can return it
-    if (memoKey && this.memo.has(memoKey)) {
-      const cacheResult = this.memo.get(memoKey);
-      if (cacheResult) {
-        return cacheResult;
-      }
-    }
- 
-    let foundToken;
- 
-    // For strings, we need to check if there are any references, as those can only occur in strings
-    if (typeof token.value === 'string') {
-      const references = token.value.toString().match(AliasRegex) || [];
- 
-      let finalValue: SingleToken['value'] = token.value;
-      let resolvedValueWithReferences: SingleToken['value'] | undefined;
- 
-      // Resolve every reference, there could be more than 1, as in "{color.primary} {color.secondary}"
-      for (const reference of references) {
-        const path = getPathName(reference);
- 
-        // We need to avoid circular references, so we check if we already resolved this reference
-        if (resolvedReferences.has(path)) {
-          return {
-            ...token,
-            rawValue: token.value,
-            failedToResolve: true,
-          } as ResolveTokenValuesResult;
-        }
- 
-        // Users can nest references, so we need to make sure to resolve any nested references first.
-        let resolvedPath = path;
-        let matches: boolean = true;
- 
-        // As long as we have matches, we need to resolve them. This is needed for multiple levels of nesting. Performance will suffer, but that's the user's choice.
-        while (matches !== false) {
-          const match = resolvedPath.match(AliasRegex);
-          matches = Boolean(match?.length);
-          if (!match?.length) break;
- 
-          const nestedTokenName = getPathName(match[0]);
-          const nestedToken = this.tokenMap.get(nestedTokenName);
- 
-          if (nestedToken && nestedToken.value) {
-            const resolvedNestedToken = this.resolveReferences({ ...nestedToken, name: nestedTokenName } as SingleToken, new Set(resolvedReferences));
- 
-            if (typeof resolvedNestedToken.value === 'string' || typeof resolvedNestedToken.value === 'number') {
-              resolvedPath = resolvedPath.replace(match[0], resolvedNestedToken.value);
-            }
-          } else {
-            break;
-          }
-        }
- 
-        // We have the special case of deep references where we can reference the .fontFamily property of a typography token.
-        // For that case, we need to split the path and get the last part, which might be the property name.
-        // However, it might not be. If we have a token called "color.primary" and we reference "color.primary.fontFamily", we need to check if "color.primary" exists. If it does, we prefer to return that one.
-        // If it doesn't it might be a composite token where we want to return the atomic property
-        const propertyPath = resolvedPath.split('.');
-        const propertyName = propertyPath.pop() as string;
-        const tokenNameWithoutLastPart = propertyPath.join('.');
-        foundToken = this.tokenMap.get(resolvedPath);
- 
-        if (foundToken) {
-          // For composite tokens that are being referenced, we need to store the value of the found token so that we have something between raw value of a string and the final resolved token
-          if (typeof token.value === 'string' && (typeof foundToken.value === 'object' || Array.isArray(foundToken.value))) {
-            resolvedValueWithReferences = foundToken.value;
-          }
-          // We add the already resolved references to the new set, so we can check for circular references
-          const newResolvedReferences = new Set(resolvedReferences);
-          newResolvedReferences.add(resolvedPath);
-          // We initiate a new resolveReferences call, as we need to resolve the references of the reference
-          const resolvedTokenValue = this.resolveReferences({ ...foundToken, name: resolvedPath } as SingleToken, newResolvedReferences);
-          if (resolvedTokenValue.resolvedValueWithReferences) {
-            resolvedValueWithReferences = resolvedTokenValue.resolvedValueWithReferences;
-          }
- 
-          // We weren't able to resolve the reference, so we return the token as is, but mark it as failed to resolve
-          if (resolvedTokenValue.value === undefined) {
-            return {
-              ...token, value: token.value, rawValue: token.value, failedToResolve: true,
-            } as ResolveTokenValuesResult;
-          }
- 
-          // We replace the reference with the resolved value if needed
-          if (typeof finalValue === 'string' && (typeof resolvedTokenValue.value === 'string' || typeof resolvedTokenValue.value === 'number')) {
-            finalValue = finalValue.replace(reference, resolvedTokenValue.value);
-          } else if (resolvedTokenValue.value !== undefined) {
-            finalValue = resolvedTokenValue.value;
-          }
-        } else {
-          // If we didn't find a value, we need to check if we have a composite token
-          const tokenValueWithoutProperty = this.tokenMap.get(tokenNameWithoutLastPart)?.value;
-          if (tokenValueWithoutProperty && tokenValueWithoutProperty.hasOwnProperty(propertyName)) {
-            const propertyTokenValue = (tokenValueWithoutProperty as Record<string, unknown>)[propertyName];
-            const parsedValue = this.calculateTokenValue({ value: propertyTokenValue } as SingleToken, resolvedReferences);
- 
-            if (parsedValue === undefined) {
-              finalValue = token.value;
-            } else {
-              finalValue = (typeof finalValue === 'string' && (typeof parsedValue === 'string' || typeof parsedValue === 'number')) ? finalValue.replace(reference, parsedValue) : parsedValue;
-            }
-          } else {
-            // Otherwise, we return the token as is, but mark it as failed to resolve
-            return {
-              ...token, value: token.value, rawValue: token.value, failedToResolve: true,
-            } as ResolveTokenValuesResult;
-          }
-        }
-      }
- 
-      let resolvedToken: ResolveTokenValuesResult;
-      // When we have a string or number, we need to check if it's a valid token value.
-      if ((typeof finalValue === 'string' || typeof finalValue === 'number') && !AliasRegex.test(finalValue)) {
-        // We need to calculate the value of the token, as it might be a color or math transformation
-        // eslint-disable-next-line @typescript-eslint/no-use-before-define
-        const calculated = this.calculateTokenValue({ ...token, value: finalValue } as SingleToken, resolvedReferences);
-        if (calculated === undefined) {
-          resolvedToken = token;
-        } else {
-          resolvedToken = { ...token, value: calculated } as ResolveTokenValuesResult;
-        }
-      } else {
-        // If it's not, we mark it as failed to resolve
-        const yamlString = dump(finalValue);
- 
-        const hasFailingReferences = AliasRegex.test(yamlString);
- 
-        // We combine the values, add the failing reference indicator.
-        // Also, if the originating reference is a string but the resolved value is a composite, we need to add the specific value of the composite token
-        // This is needed for cases like border tokens referencing other border tokens where we want to return the raw value of the border color so we can assign styles or variables.
-        resolvedToken = {
-          ...token, value: finalValue, rawValue: token.value, ...(hasFailingReferences ? { failedToResolve: true } : {}), ...(typeof resolvedValueWithReferences !== 'undefined' ? { resolvedValueWithReferences } : {}),
-        } as ResolveTokenValuesResult;
-      }
- 
-      // When we have a string, we store the result in cache
-      if (typeof memoKey === 'string') {
-        this.memo.set(memoKey, resolvedToken);
-      }
- 
-      // And then return it
-      return resolvedToken as ResolveTokenValuesResult;
-    }
- 
-    // Shadow tokens can be of type array, so we need to resolve those too
-    if (Array.isArray(token.value)) {
-      const resolvedArray: any[] = [];
- 
-      let failedToResolve = false;
-      for (const item of token.value) {
-        // We resolve each individual item, as it might be a reference
-        const resolvedItem = this.resolveReferences({ value: item } as SingleToken, resolvedReferences);
-        if (resolvedItem.failedToResolve) {
-          failedToResolve = true;
-        }
- 
-        resolvedArray.push(resolvedItem.value);
-      }
- 
-      // We bring back the resolved array into the token object, and set failedToResolve on the token if needed
-      const resolvedToken = {
-        ...token, value: resolvedArray, rawValue: token.value, ...(failedToResolve ? { failedToResolve } : {}),
-      } as ResolveTokenValuesResult;
-      // We save back to cache
-      if (typeof memoKey === 'string') {
-        this.memo.set(memoKey, resolvedToken);
-      }
- 
-      resolvedToken.resolvedValueWithReferences = token.value;
- 
-      return resolvedToken;
-    }
- 
-    // If we have an object (typography, border, shadow, compositions), we need to resolve each property
-    if (typeof token.value === 'object' && token.value !== null) {
-      const resolvedObject: { [key: string]: any } = {};
- 
-      let failedToResolve = false;
-      for (const key of Object.keys(token.value)) {
-        if (Object.prototype.hasOwnProperty.call(token.value, key)) {
-          const propertyTokenValue = (token.value as Record<string, unknown>)[key];
-          const resolvedValue = this.resolveReferences({ value: propertyTokenValue } as SingleToken, resolvedReferences);
- 
-          if (resolvedValue.failedToResolve) {
-            failedToResolve = true;
-          }
-          // Note: This is technically incorrect. We should not be expecting this, but we need to mark those tokens that are referencing an object even though they should be expecting a string as invalid, e only have failedToResolve today. See https://github.com/tokens-studio/figma-plugin/issues/2450
-          if (typeof resolvedValue.value === 'object' && key in resolvedValue.value) {
-            failedToResolve = true;
-          }
-          resolvedObject[key] = resolvedValue.value;
-        }
-      }
- 
-      const resolvedToken = { ...token, value: resolvedObject, ...(failedToResolve ? { failedToResolve } : {}) } as ResolveTokenValuesResult;
-      // If we have a value, we set it back to cache
-      if (typeof memoKey === 'string') {
-        this.memo.set(memoKey, resolvedToken);
-      }
- 
-      // For all composite tokens we add the resolved value with references to the token.
-      // technically for composites this is not needed, but then we can rely on this one property to contain the original value
-      resolvedToken.resolvedValueWithReferences = token.value;
- 
-      return resolvedToken;
-    }
- 
-    return token;
-  }
- 
-  public get(tokenName: string): SingleToken | undefined {
-    return this.tokenMap.get(tokenName);
-  }
-}
- 
-const defaultTokenResolver = new TokenResolver([]);
- 
-export { defaultTokenResolver };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html deleted file mode 100644 index 6427d82de..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/addIdPropertyToTokens.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/utils/addIdPropertyToTokens.ts - - - - - - - - - -
-
-

All files / src/utils addIdPropertyToTokens.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { v4 as uuidv4 } from 'uuid';
-import { AnyTokenList } from '@/types/tokens';
-import validateStudioTokensExtensions from './validateStudioTokensExtensions';
- 
-export default function addIdPropertyToTokens(tokens: Record<string, AnyTokenList>) {
-  const tokenObj = Object.entries(tokens).reduce<Record<string, AnyTokenList>>((acc, [key, val]) => {
-    const newTokenList = val.map((token) => {
-      if (typeof token.$extensions?.['studio.tokens']?.id === 'undefined') {
-        const studioTokensExtension = validateStudioTokensExtensions(token);
-        const extensionsObj = {
-          ...token.$extensions,
-          'studio.tokens': {
-            ...studioTokensExtension,
-            id: uuidv4(),
-          },
-        };
-        return {
-          ...token,
-          // Only when extensions obj is not empty do we set it again
-          ...(Object.entries(extensionsObj).length > 0 ? {
-            $extensions: {
-              ...token.$extensions,
-              'studio.tokens': {
-                ...studioTokensExtension,
-                id: uuidv4(),
-              },
-            },
-          } : {}),
-        };
-      }
-      return token;
-    });
-    acc[key] = newTokenList;
-    return acc;
-  }, {});
- 
-  return tokenObj;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html deleted file mode 100644 index 72a8ee384..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/addLicenseKey.ts.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - Code coverage report for src/utils/addLicenseKey.ts - - - - - - - - - -
-
-

All files / src/utils addLicenseKey.ts

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Dispatch } from '@/app/store';
-import { AddLicenseSource } from '@/app/store/models/userState';
-import { LicenseStatus } from '@/constants/LicenseStatus';
-import validateLicense from './validateLicense';
-import { notifyToUI } from '@/plugin/notifiers';
-import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export async function addLicenseKey(dispatch: Dispatch, payload: { key: string; source: AddLicenseSource }, user: {
-  userId: string | null;
-  userName?: string;
-}) {
-  dispatch.userState.setLicenseStatus(LicenseStatus.VERIFYING);
- 
-  const { userId, userName } = user;
-  const { key, source } = payload;
- 
-  const {
-    error, plan, email: clientEmail, entitlements,
-  } = await validateLicense(key, userId, userName);
- 
-  if (error) {
-    dispatch.userState.setLicenseStatus(LicenseStatus.ERROR);
-    dispatch.userState.setLicenseError(error);
-    if (source === AddLicenseSource.INITAL_LOAD) {
-      notifyToUI('License key invalid, please check your Settings', { error: true });
-    }
-  } else {
-    // clear errors when license validation is succesfull
-    dispatch.userState.setLicenseError(undefined);
-    dispatch.userState.setLicenseDetails({
-      plan,
-      clientEmail,
-      entitlements: [...new Set(entitlements)],
-    });
-    dispatch.userState.setLicenseStatus(LicenseStatus.VERIFIED);
- 
-    if (source === AddLicenseSource.UI) {
-      notifyToUI('License added succesfully!');
-      dispatch.userState.setLicenseKey(key);
-    }
- 
-    AsyncMessageChannel.ReactInstance.message({
-      type: AsyncMessageTypes.SET_LICENSE_KEY,
-      licenseKey: key,
-    });
-  }
-  dispatch.userState.setLicenseKey(key);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html deleted file mode 100644 index 8dc18abe9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkCanReferenceVariable.tsx.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/utils/alias/checkCanReferenceVariable.tsx - - - - - - - - - -
-
-

All files / src/utils/alias checkCanReferenceVariable.tsx

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { AliasRegex } from '@/constants/AliasRegex';
-import { UpdateTokenVariablePayload } from '@/types/payloads/UpdateTokenVariablePayload';
-import { SingleToken } from '@/types/tokens';
- 
-export function checkCanReferenceVariable(payload: UpdateTokenVariablePayload | SingleToken<true, { path: string, variableId: string }>) {
-  return payload.rawValue?.toString().match(AliasRegex)?.length === 1 && !payload?.$extensions?.['studio.tokens']?.modify;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html deleted file mode 100644 index e5724ce4d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfAlias.tsx.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - Code coverage report for src/utils/alias/checkIfAlias.tsx - - - - - - - - - -
-
-

All files / src/utils/alias checkIfAlias.tsx

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AliasRegex } from '@/constants/AliasRegex';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
-import { getAliasValue } from './getAliasValue';
- 
-// @TODO -- removed string type logic for now
-// Checks if token is an alias token and if it has a valid reference
-export function checkIfAlias(token: SingleToken | string, allTokens: SingleToken[] = []): boolean {
-  try {
-    let aliasToken = false;
-    if (typeof token === 'string') {
-      aliasToken = Boolean(token.match(AliasRegex));
-    } else if (
-      token.type === TokenTypes.TYPOGRAPHY
-      || token.type === TokenTypes.BOX_SHADOW
-      || token.type === TokenTypes.BORDER
-    ) {
-      if (typeof token.value === 'string') {
-        aliasToken = Boolean(String(token.value).match(AliasRegex));
-      } else {
-        const arrayValue = Array.isArray(token.value) ? token.value : [token.value];
-        aliasToken = arrayValue.some((value) => Object.values(value).some((singleValue) => Boolean(singleValue?.toString().match(AliasRegex))));
-      }
-    } else if (token.type === TokenTypes.COMPOSITION) {
-      return true;
-    } else {
-      aliasToken = Boolean(token.value.toString().match(AliasRegex));
-    }
- 
-    // Check if alias is found
-    if (aliasToken) {
-      const aliasValue = getAliasValue(token, allTokens);
-      return aliasValue != null;
-    }
-  } catch (e) {
-    console.log(`Error checking alias of token ${typeof token === 'object' ? token.name : token}`, token, allTokens, e);
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html deleted file mode 100644 index 85b6c23e3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/checkIfContainsAlias.tsx.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/utils/alias/checkIfContainsAlias.tsx - - - - - - - - - -
-
-

All files / src/utils/alias checkIfContainsAlias.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { checkAliasStartRegex } from '@/constants/AliasRegex';
-import { SingleToken } from '@/types/tokens';
- 
-export function checkIfContainsAlias(token?: SingleToken['value'] | number | null) {
-  if (!token) return false;
-  return Boolean(token.toString().match(checkAliasStartRegex));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html deleted file mode 100644 index 6d937c06c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/getAliasValue.ts.html +++ /dev/null @@ -1,631 +0,0 @@ - - - - - - Code coverage report for src/utils/alias/getAliasValue.ts - - - - - - - - - -
-
-

All files / src/utils/alias getAliasValue.ts

-
- -
- 0% - Statements - 0/66 -
- - -
- 0% - Branches - 0/88 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/65 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { getRootReferences, findReferences } from '../findReferences';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
-import { TokenBorderValue, TokenBoxshadowValue, TokenTypographyValue } from '@/types/values';
-import { convertToRgb } from '../color';
-import { convertModifiedColorToHex } from '../convertModifiedColorToHex';
- 
-import { isSingleTokenValueObject } from '../is';
-import { checkAndEvaluateMath } from '../math';
-import { checkIfAlias } from './checkIfAlias';
-import { isSingleInternalTokenValueObject } from '../is/isSingleInternalTokenValueObject';
- 
-type TokenNameNodeType = string | undefined;
- 
-function getReturnedValue(token: SingleToken | string | number) {
-  if (
-    typeof token === 'object'
-    && typeof token.value === 'object'
-    && (token?.type === TokenTypes.BOX_SHADOW
-      || token?.type === TokenTypes.TYPOGRAPHY
-      || token?.type === TokenTypes.BORDER)
-  ) {
-    return token.value;
-  }
-  if (isSingleInternalTokenValueObject(token)) {
-    return token.value.toString();
-  }
-  return token.toString();
-}
- 
-function replaceAliasWithResolvedReference(
-  token: string | TokenTypographyValue | TokenBoxshadowValue | TokenBoxshadowValue[] | TokenBorderValue | null,
-  reference: string,
-  resolvedReference: string | number | TokenBoxshadowValue | TokenBoxshadowValue[] | Record<string, unknown> | null,
-) {
-  if (typeof resolvedReference === 'object') {
-    return resolvedReference;
-  }
-  if (token && (typeof token === 'string' || typeof token === 'number')) {
-    const stringValue = String(resolvedReference);
-    const resolved = checkAndEvaluateMath(stringValue);
-    return token.replace(reference, String(resolved));
-  }
-  return token;
-}
- 
-export function getAliasValue(
-  token: SingleToken | string | number,
-  tokens: SingleToken[] = [],
-  isResolved: boolean = true,
-  previousCount: number = 0,
-): string | number | TokenTypographyValue | TokenBoxshadowValue | TokenBorderValue | Array<TokenBoxshadowValue> | null {
-  // Big O((n ^ 3) (n = amount of tokens)
-  let returnedValue: ReturnType<typeof getReturnedValue> | null = getReturnedValue(token);
-  try {
-    const tokenReferences: string[] | null = typeof returnedValue === 'string' ? getRootReferences(returnedValue) : null;
-    if (tokenReferences?.length) {
-      const resolvedReferences = Array.from(tokenReferences).map((ref) => {
-        if (ref.length > 1) {
-          let nameToLookFor: string;
-          if (ref.startsWith('{')) {
-            nameToLookFor = ref.slice(1, ref.length - 1);
-          } else {
-            nameToLookFor = ref.substring(1);
-          }
-          if ((typeof token === 'object' && nameToLookFor === token.name) || nameToLookFor === token) {
-            return isSingleTokenValueObject(token) ? token.value.toString() : token.toString();
-          }
-          const nameToLookForReferences = getRootReferences(nameToLookFor);
-          if (nameToLookForReferences?.length) {
-            nameToLookFor = String(getAliasValue(nameToLookFor, tokens, isResolved, previousCount));
-          }
- 
-          const tokenAliasSplitted = nameToLookFor.split('.');
-          const tokenAliasSplittedLast: TokenNameNodeType = tokenAliasSplitted.pop();
-          const tokenAliasLastExcluded = tokenAliasSplitted.join('.');
-          const tokenAliasSplittedLastPrevious: number = Number(tokenAliasSplitted.pop());
-          const tokenAliasLastPreviousExcluded = tokenAliasSplitted.join('.');
-          const foundToken = tokens.find(
-            (t) => t.name === nameToLookFor
-              || t.name === tokenAliasLastExcluded
-              || t.name === tokenAliasLastPreviousExcluded,
-          );
- 
-          if (foundToken?.name === nameToLookFor) {
-            return getAliasValue(foundToken, tokens, isResolved, previousCount);
-          }
- 
-          if (
-            !!tokenAliasSplittedLast
-            && foundToken?.name === tokenAliasLastExcluded
-            && foundToken.value?.hasOwnProperty(tokenAliasSplittedLast)
-          ) {
-            const { value } = foundToken;
-            if (typeof value === 'object' && !Array.isArray(value)) {
-              const resolvedValue = value[tokenAliasSplittedLast as keyof typeof value] as string | number;
-              return getAliasValue(resolvedValue, tokens, isResolved, previousCount);
-            }
-          }
- 
-          if (
-            tokenAliasSplittedLastPrevious !== undefined
-            && !!tokenAliasSplittedLast
-            && foundToken?.name === tokenAliasLastPreviousExcluded
-            && Array.isArray(foundToken?.rawValue)
-            && !!foundToken?.rawValue[tokenAliasSplittedLastPrevious]
-            && foundToken?.rawValue[tokenAliasSplittedLastPrevious].hasOwnProperty(tokenAliasSplittedLast)
-          ) {
-            const rawValueEntry = foundToken?.rawValue[tokenAliasSplittedLastPrevious];
-            return getAliasValue(
-              rawValueEntry[tokenAliasSplittedLast as keyof typeof rawValueEntry] || tokenAliasSplittedLastPrevious,
-              tokens,
-              isResolved,
-              previousCount,
-            );
-          }
-        }
-        return ref;
-      });
- 
-      tokenReferences.forEach((reference, index) => {
-        const resolvedReference = resolvedReferences[index];
-        returnedValue = replaceAliasWithResolvedReference(returnedValue, reference, resolvedReference);
-      });
- 
-      if (returnedValue === 'null') {
-        returnedValue = null;
-      }
-    }
-    if (returnedValue && typeof returnedValue === 'string') {
-      const remainingReferences = findReferences(returnedValue);
-      if (!remainingReferences) {
-        const couldBeNumberValue = checkAndEvaluateMath(returnedValue);
-        if (typeof couldBeNumberValue === 'number') return couldBeNumberValue;
-        const rgbColor = convertToRgb(couldBeNumberValue);
-        if (
-          typeof token !== 'string'
-          && typeof token !== 'number'
-          && token?.$extensions?.['studio.tokens']?.modify
-          && rgbColor
-          && !isResolved
-          && previousCount === 0
-        ) {
-          if (
-            token?.$extensions?.['studio.tokens']?.modify?.type === ColorModifierTypes.MIX
-            && checkIfAlias(token?.$extensions?.['studio.tokens']?.modify?.color)
-          ) {
-            return convertModifiedColorToHex(rgbColor, {
-              ...token.$extensions?.['studio.tokens']?.modify,
-              value: String(getAliasValue(token?.$extensions?.['studio.tokens']?.modify?.value, tokens)),
-              color:
-                String(
-                  getAliasValue(
-                    token?.$extensions?.['studio.tokens']?.modify?.color,
-                    tokens,
-                    isResolved,
-                    previousCount,
-                  ),
-                ) ?? '',
-            });
-          }
-          return convertModifiedColorToHex(rgbColor, {
-            ...token.$extensions?.['studio.tokens']?.modify,
-            value: String(
-              getAliasValue(token?.$extensions?.['studio.tokens']?.modify?.value, tokens, isResolved, previousCount),
-            ),
-          });
-        }
-        return rgbColor;
-      }
-    }
-  } catch (err) {
-    console.log(`Error getting alias value of ${JSON.stringify(token, null, 2)}`, tokens);
-    return null;
-  }
- 
-  if (returnedValue && typeof returnedValue === 'string') {
-    return checkAndEvaluateMath(returnedValue);
-  }
-  return returnedValue;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html deleted file mode 100644 index ed78b24f8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for src/utils/alias - - - - - - - - - -
-
-

All files src/utils/alias

-
- -
- 0% - Statements - 0/89 -
- - -
- 0% - Branches - 0/110 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/85 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
checkCanReferenceVariable.tsx -
-
0%0/10%0/20%0/10%0/1
checkIfAlias.tsx -
-
0%0/190%0/180%0/30%0/17
checkIfContainsAlias.tsx -
-
0%0/30%0/20%0/10%0/2
getAliasValue.ts -
-
0%0/660%0/880%0/60%0/65
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html deleted file mode 100644 index 7d6e8d6f2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/alias/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/alias/index.ts - - - - - - - - - -
-
-

All files / src/utils/alias index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export * from './getAliasValue';
-export * from './checkIfAlias';
-export * from './checkIfContainsAlias';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html deleted file mode 100644 index 668531916..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/analytics.tsx.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/utils/analytics.tsx - - - - - - - - - -
-
-

All files / src/utils analytics.tsx

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import mixpanel from './mixpanel';
-import * as pjs from '../../package.json';
- 
-export function track(name: string, opts = {}) {
-  if (process.env.MIXPANEL_ACCESS_TOKEN) {
-    mixpanel.track(name, opts);
-  }
-}
- 
-export function identify({ userId, figmaId, name }: { userId: string; figmaId?: string | null; name?: string }) {
-  if (process.env.MIXPANEL_ACCESS_TOKEN && figmaId) {
-    mixpanel.identify(figmaId);
- 
-    mixpanel.people.set({
-      USER_ID: userId,
-      FIGMA_USER_ID: figmaId,
-      NAME: name,
-      version: pjs.version,
-    });
-  }
-}
- 
-export function setUserData(data: { [key: string]: string }) {
-  if (process.env.MIXPANEL_ACCESS_TOKEN && 'people' in mixpanel) {
-    mixpanel.people.set(data);
-  }
-}
- 
-export function initializeAnalytics() {
-  if (process.env.MIXPANEL_ACCESS_TOKEN) {
-    mixpanel.init(process.env.MIXPANEL_ACCESS_TOKEN, {
-      disable_cookie: true,
-      disable_persistence: true,
-      api_host: 'https://api-eu.mixpanel.com',
-    });
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html deleted file mode 100644 index 49d29d268..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/annotations.tsx.html +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - Code coverage report for src/utils/annotations.tsx - - - - - - - - - -
-
-

All files / src/utils annotations.tsx

-
- -
- 0% - Statements - 0/129 -
- - -
- 0% - Branches - 0/33 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/127 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint "no-multi-assign": 0 */
-import { Direction } from '@/constants/Direction';
-import { StyleIdBackupKeys } from '@/constants/StyleIdBackupKeys';
-import { notifyUI } from '@/plugin/notifiers';
-import { SelectionValue } from '@/types';
- 
-const DIST = 80;
-const BASE_SIZE = 12;
-const FONT_CODE = { family: 'Roboto Mono', style: 'Regular' };
-const FONT_TITLE = { family: 'Roboto Mono', style: 'Bold' };
-const BG_COLOR = { r: 0.1, g: 0.1, b: 0.1 };
-const STROKE_COLOR = { r: 0.482, g: 0.38, b: 1 };
-const TITLE_COLOR = { r: 1, g: 1, b: 1 };
-const PROP_COLOR = { r: 0.9, g: 0.9, b: 0.9 };
-const VALUE_COLOR = { r: 1, g: 0.839, b: 0.078 };
- 
-function getParentSelection(sel: SceneNode, distance: number, direction: Direction, position = { x: 0, y: 0, width: 0 }): {
-  distance: number;
-  position: { x: number; y: number; width: number; }
-} {
-  if (position.width === 0) position.width = sel.width - DIST; // save original width
- 
-  if ('parent' in sel && sel.parent) {
-    if (sel.parent.type !== 'DOCUMENT') {
-      if (sel.parent.type !== 'PAGE') {
-        switch (direction) {
-          case Direction.TOP:
-          case Direction.BOTTOM:
-            distance += sel.y;
-            break;
-          case Direction.RIGHT:
-            distance = sel.parent.width - sel.x - position.x - position.width;
-            break;
-          default:
-            distance += sel.x;
-            break;
-        }
-      }
-      position.x += sel.x;
-      position.y += sel.y;
-      return sel.parent.type !== 'PAGE'
-        ? getParentSelection(sel.parent, distance, direction, position)
-        : { distance, position };
-    }
-  }
- 
-  return {
-    distance,
-    position,
-  };
-}
- 
-function calcPosition(selection: SceneNode, anno: FrameNode, direction: Direction) {
-  let x = 0;
-  let y = 0;
- 
-  // Loop through the parent nodes to get a correct X & Y position
-  const { distance, position } = getParentSelection(selection, DIST, direction);
- 
-  switch (direction) {
-    case Direction.TOP:
-      x = position.x + selection.width / 2 - anno.width / 2;
-      y = position.y - Math.abs(distance) - anno.height;
-      break;
-    case Direction.RIGHT:
-      x = position.x + selection.width + Math.abs(distance);
-      y = position.y + selection.height / 2 - anno.height / 2;
-      break;
-    case Direction.BOTTOM:
-      x = position.x + selection.width / 2 - anno.width / 2;
-      y = position.y + selection.height + Math.abs(distance);
-      break;
-    default:
-      // left
-      x = position.x - Math.abs(distance) - anno.width;
-      y = position.y + selection.height / 2 - anno.height / 2;
-      break;
-  }
- 
-  return { x, y, distance };
-}
- 
-function createProperties(
-  anno: FrameNode,
-  tokens: SelectionValue & { annoTitle: string },
-) {
-  Object.entries(tokens)
-    .filter(([key]) => !StyleIdBackupKeys.includes(key))
-    .forEach(([key, value]) => {
-      const prop = figma.createFrame();
-      prop.layoutMode = 'HORIZONTAL';
-      prop.counterAxisAlignItems = 'CENTER';
-      prop.itemSpacing = BASE_SIZE / 2;
-      prop.fills = [{ visible: false, type: 'SOLID', color: BG_COLOR }];
-      prop.primaryAxisSizingMode = 'AUTO';
-      prop.counterAxisSizingMode = 'AUTO';
- 
-      const propText = figma.createText();
-      const propValue = figma.createText();
-      propText.fontName = propValue.fontName = FONT_CODE;
-      propText.fontSize = propValue.fontSize = BASE_SIZE;
-      propValue.fills = [{ type: 'SOLID', color: VALUE_COLOR }];
- 
-      if (key === 'annoTitle') {
-        prop.name = 'annotation-title';
-        propText.fontName = FONT_TITLE;
-        propText.characters = value as string;
-        propText.fills = [{ type: 'SOLID', color: TITLE_COLOR }];
-        prop.appendChild(propText);
-      } else {
-        prop.name = 'annotation-prop';
-        propText.characters = `${key}:`;
-        propText.fills = [{ type: 'SOLID', color: PROP_COLOR }];
-        propValue.characters = value as string;
-        prop.appendChild(propText);
-        prop.appendChild(propValue);
-      }
- 
-      anno.appendChild(prop);
-    });
-}
- 
-function createAnno(tokens: SelectionValue, direction: Direction) {
-  const selection = figma.currentPage.selection[0];
- 
-  /* Create the alignment container */
-  const cont = figma.createFrame();
-  cont.layoutMode = ['top', 'bottom'].includes(direction) ? 'VERTICAL' : 'HORIZONTAL';
-  cont.fills = [];
-  cont.clipsContent = false;
-  cont.primaryAxisSizingMode = cont.counterAxisSizingMode = 'AUTO';
-  cont.primaryAxisAlignItems = cont.counterAxisAlignItems = 'CENTER';
- 
-  /* Create the annotation card */
-  const anno = figma.createFrame();
-  anno.layoutMode = 'VERTICAL';
-  anno.paddingTop = anno.paddingLeft = anno.paddingBottom = anno.paddingRight = BASE_SIZE;
-  anno.itemSpacing = BASE_SIZE / 2;
-  anno.fills = [{ type: 'SOLID', color: BG_COLOR }];
-  anno.strokes = [{ type: 'SOLID', color: STROKE_COLOR }];
-  anno.strokeWeight = 1;
-  anno.cornerRadius = BASE_SIZE / 2;
-  anno.primaryAxisSizingMode = anno.counterAxisSizingMode = 'AUTO';
-  anno.name = 'annotation-card';
- 
-  /* Add the tokens */
-  createProperties(anno, { annoTitle: selection.name, ...tokens });
- 
-  /* Position the container */
-  const position = calcPosition(selection, anno, direction);
-  cont.x = position.x;
-  cont.y = position.y;
- 
-  /* Rename the annotation based on selection */
-  cont.name = `__[annotation]_${selection.name}`;
- 
-  /* Add the arrow */
-  const arrowAnchor = figma.createFrame();
-  arrowAnchor.resize(0.01, 0.01);
-  arrowAnchor.fills = [];
-  arrowAnchor.clipsContent = false;
-  arrowAnchor.name = 'arrow-anchor';
- 
-  const arrow = figma.createVector();
-  arrow.vectorPaths = [
-    {
-      windingRule: 'NONE',
-      data: `M 0 0 L ${position.distance} 0`,
-    },
-  ];
-  arrow.strokes = [{ type: 'SOLID', color: STROKE_COLOR }];
-  arrow.strokeWeight = 2;
-  arrow.strokeCap = 'ARROW_EQUILATERAL';
-  switch (direction) {
-    case 'top':
-      arrow.rotation = -90;
-      break;
-    case 'right':
-      arrow.rotation = 180;
-      break;
-    case 'bottom':
-      arrow.rotation = 90;
-      break;
-    default:
-      break;
-  }
-  /* make a copy of the original node */
-  const arrowCopy = JSON.parse(JSON.stringify(arrow.vectorNetwork));
- 
-  /* if it has a strokeCap property, change */
-  if ('strokeCap' in arrowCopy.vertices[arrowCopy.vertices.length - 1]) {
-    arrowCopy.vertices[arrowCopy.vertices.length - 1].strokeCap = 'ARROW_EQUILATERAL';
-    arrowCopy.vertices[0].strokeCap = 'ROUND';
-  }
-  arrow.vectorNetwork = arrowCopy;
-  arrowAnchor.appendChild(arrow);
- 
-  // Add the child frames
-  if (['top', 'left'].includes(direction)) {
-    cont.appendChild(anno);
-    cont.appendChild(arrowAnchor);
-  } else {
-    cont.appendChild(arrowAnchor);
-    cont.appendChild(anno);
-  }
- 
-  /* Add it to the page */
-  figma.currentPage.appendChild(cont);
-}
- 
-export async function createAnnotation(tokens: SelectionValue, direction: Direction) {
-  const loadFonts = async () => {
-    await figma.loadFontAsync(FONT_CODE);
-    await figma.loadFontAsync(FONT_TITLE);
-  };
- 
-  try {
-    loadFonts().then(() => createAnno(tokens, direction));
-  } catch (err) {
-    console.log(err);
-    notifyUI('There was an issue creating the annotation. Please try again.');
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html deleted file mode 100644 index d0baec1c7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/attemptOrFallback.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/attemptOrFallback.ts - - - - - - - - - -
-
-

All files / src/utils attemptOrFallback.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
export function attemptOrFallback<R>(fn: () => R, fallback: R) {
-  try {
-    return fn();
-  } catch (err) {
-    console.error(err);
-    return fallback;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html deleted file mode 100644 index 1217010dc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/checkIfTokenCanCreateVariable.ts.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - Code coverage report for src/utils/checkIfTokenCanCreateVariable.ts - - - - - - - - - -
-
-

All files / src/utils checkIfTokenCanCreateVariable.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/37 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ExportNumberVariablesTokenTypes, TokenTypes } from '@/constants/TokenTypes';
-import { ResolveTokenValuesResult } from './tokenHelpers';
-import { numberMatchesPercentage } from '@/plugin/figmaTransforms/numberMatchesPercentage';
-import { SettingsState } from '@/app/store/models/settings';
- 
-export default function checkIfTokenCanCreateVariable(token: ResolveTokenValuesResult, settings: SettingsState): boolean {
-  if (
-    (token.type === TokenTypes.COLOR && settings.variablesColor)
-    || (ExportNumberVariablesTokenTypes.includes(token.type) && settings.variablesNumber)
-    || ([TokenTypes.TEXT, TokenTypes.FONT_FAMILIES].includes(token.type) && settings.variablesString)
-    || (token.type === TokenTypes.BOOLEAN && settings.variablesBoolean)
-    || (token.type === TokenTypes.FONT_WEIGHTS && Boolean(parseFloat(token.value)) && settings.variablesNumber)
-    || (token.type === TokenTypes.FONT_WEIGHTS && !parseFloat(token.value) && settings.variablesString)
-  ) {
-  // Ignore multi value spacing and multi value borderRadius tokens
-    if ((token.type === TokenTypes.BORDER_RADIUS || token.type === TokenTypes.SPACING) && typeof token.value === 'string') {
-      return token.value.split(' ').length === 1;
-    }
-    // Ignore gradient colors
-    if (token.type === TokenTypes.COLOR && typeof token.value === 'string' && token.value.startsWith('linear-gradient')) {
-      return false;
-    }
-    // Ignore AUTO values on lineHeight
-    if (token.type === TokenTypes.LINE_HEIGHTS && typeof token.value === 'string' && token.value === 'AUTO') {
-      return false;
-    }
-    // Ignore percentage values, except on text type tokens and opacity tokens
-    if (token.type !== TokenTypes.TEXT && token.type !== TokenTypes.OPACITY && typeof token.value === 'string' && numberMatchesPercentage(token.value)) {
-      return false;
-    }
-    return true;
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html deleted file mode 100644 index 65df777bd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/checkStorageSize.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/utils/checkStorageSize.ts - - - - - - - - - -
-
-

All files / src/utils checkStorageSize.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { compressToUTF16 } from 'lz-string';
-import { getUTF16StringSize } from './getUTF16StringSize';
- 
-export function checkStorageSize(tokens: any): number {
-  try {
-    const stringifiedData = JSON.stringify(tokens);
-    const compressedData = compressToUTF16(stringifiedData);
- 
-    // UTF-16 uses 2 bytes per character
-    const sizeInBytes = getUTF16StringSize(compressedData);
-    const sizeInKB = sizeInBytes / 1024;
- 
-    return Number(sizeInKB.toFixed(1));
-  } catch (e) {
-    console.warn('Failed to check storage size:', e);
-    return 0;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html deleted file mode 100644 index 6f62c6ec5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/convertToRgb.ts.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for src/utils/color/convertToRgb.ts - - - - - - - - - -
-
-

All files / src/utils/color convertToRgb.ts

-
- -
- 0% - Statements - 0/32 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/29 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { parseToRgba, toHex } from 'color2k';
-import convertOpacityToFigma from '@/plugin/figmaTransforms/opacity';
- 
-// Convert non-conform colors to RGB value that can be used throughout the plugin
-export function convertToRgb(color: string): string {
-  try {
-    if (typeof color !== 'string') {
-      return color;
-    }
-    const hexRegex = /#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/g;
-    const hslaRegex = /(hsla?\(.*?\))/g;
-    const rgbaRegex = /(rgba?\(.*?\))/g;
-    let returnedColor = color;
- 
-    try {
-      const matchesRgba = Array.from(returnedColor.matchAll(rgbaRegex), (m) => m[0]);
-      const matchesHsla = Array.from(returnedColor.matchAll(hslaRegex), (m) => m[0]);
-      if (matchesHsla.length > 0) {
-        matchesHsla.forEach((match) => {
-          returnedColor = returnedColor.replace(match, toHex(match));
-        });
-      }
-      if (matchesRgba.length > 0) {
-        matchesRgba.forEach((match) => {
-          const matchedString = match;
-          const matchedColor = match.replace(/rgba?\(/g, '').replace(')', '');
-          const matchesHexInsideRgba = matchedColor.match(hexRegex);
-          let r;
-          let g;
-          let b;
-          let alpha = '1';
-          if (matchesHexInsideRgba) {
-            [r, g, b] = parseToRgba(matchesHexInsideRgba[0]);
-            alpha = matchedColor.split(',').pop()?.trim() ?? '0';
-          } else {
-            [r, g, b, alpha = '1'] = matchedColor.split(',').map((n) => n.trim());
-          }
-          const a = convertOpacityToFigma(alpha);
-          returnedColor = returnedColor.split(matchedString).join(toHex(`rgba(${r}, ${g}, ${b}, ${a})`));
-        });
-      }
-    } catch (e) {
-      console.log('error', e, color);
-    }
-    return returnedColor;
-  } catch (e) {
-    console.error(e);
-  }
- 
-  return color;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html deleted file mode 100644 index 61305b8a1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/darken.ts.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for src/utils/color/darken.ts - - - - - - - - - -
-
-

All files / src/utils/color darken.ts

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/29 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Color from 'colorjs.io';
-import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
- 
-export function darken(color: Color, colorSpace: ColorSpaceTypes, amount: number) {
-  switch (colorSpace) {
-    case ColorSpaceTypes.LCH: {
-      const lightness = color.lch.l;
-      const difference = lightness;
-      const newChroma = Math.max(0, color.lch.c - amount * color.lch.c);
-      const newLightness = Math.max(0, lightness - difference * amount);
-      color.set('lch.l', newLightness);
-      color.set('lch.c', newChroma);
-      return color;
-    }
-    case ColorSpaceTypes.HSL: {
-      const lightness = color.hsl.l;
-      const difference = lightness;
-      const newLightness = Math.max(0, lightness - difference * amount);
-      color.set('hsl.l', newLightness);
-      return color;
-    }
-    case ColorSpaceTypes.P3: {
-      const colorInP3 = color.to('p3');
-      const newRed = Math.max(0, colorInP3.p3.r - amount * colorInP3.p3.r);
-      const newGreen = Math.max(0, colorInP3.p3.g - amount * colorInP3.p3.g);
-      const newBlue = Math.max(0, colorInP3.p3.b - amount * colorInP3.p3.b);
-      colorInP3.set('p3.r', newRed);
-      colorInP3.set('p3.g', newGreen);
-      colorInP3.set('p3.b', newBlue);
-      return colorInP3;
-    }
- 
-    case ColorSpaceTypes.SRGB: {
-      const newRed = Math.max(0, color.srgb.r - amount * color.srgb.r);
-      const newGreen = Math.max(0, color.srgb.g - amount * color.srgb.g);
-      const newBlue = Math.max(0, color.srgb.b - amount * color.srgb.b);
-      color.set('srgb.r', newRed);
-      color.set('srgb.g', newGreen);
-      color.set('srgb.b', newBlue);
-      return color;
-    }
- 
-    default: {
-      return color.darken(amount);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html deleted file mode 100644 index 16cd0d48e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getColorSwatchStyle.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/color/getColorSwatchStyle.ts - - - - - - - - - -
-
-

All files / src/utils/color getColorSwatchStyle.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export function getColorSwatchStyle(tokenValue: string) {
-  return tokenValue.includes(';') ? { background: tokenValue.replace(/;/g, '') } : { background: tokenValue };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html deleted file mode 100644 index 455cce297..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/getReferenceTokensFromGradient.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/utils/color/getReferenceTokensFromGradient.ts - - - - - - - - - -
-
-

All files / src/utils/color getReferenceTokensFromGradient.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export const getReferenceTokensFromGradient = (rawValue: string): string[] => {
-  const rawValueDetails = rawValue.replace('linear-gradient(', '').replace(')', '').split(',');
-  const referenceTokens: string[] = rawValueDetails.reduce((acc: string[], curr: string) => {
-    // Check is the current part contains color value or reference token
-    if (curr.includes('#') || curr.includes('{')) {
-      const matches = curr.match(/{(.*?)}/g);
-      // Return empty string in case of not reference token
-      acc.push(matches ? matches[0].replace(/[{}]/g, '') : '');
-    }
-    return acc;
-  }, []);
- 
-  return referenceTokens;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html deleted file mode 100644 index 64cb2cfb4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - Code coverage report for src/utils/color - - - - - - - - - -
-
-

All files src/utils/color

-
- -
- 0% - Statements - 0/108 -
- - -
- 0% - Branches - 0/33 -
- - -
- 0% - Functions - 0/14 -
- - -
- 0% - Lines - 0/105 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
convertToRgb.ts -
-
0%0/320%0/110%0/60%0/29
darken.ts -
-
0%0/290%0/50%0/10%0/29
getColorSwatchStyle.ts -
-
0%0/10%0/20%0/10%0/1
getReferenceTokensFromGradient.ts -
-
0%0/80%0/60%0/20%0/8
index.ts -
-
0%0/00%0/00%0/00%0/0
isLightOrDark.ts -
-
0%0/50%0/40%0/10%0/5
lighten.ts -
-
0%0/290%0/50%0/10%0/29
mix.ts -
-
0%0/2100%0/00%0/10%0/2
transparentize.ts -
-
0%0/2100%0/00%0/10%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html deleted file mode 100644 index 93d7488f1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/index.ts.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - Code coverage report for src/utils/color/index.ts - - - - - - - - - -
-
-

All files / src/utils/color index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5  -  -  -  - 
export * from './convertToRgb';
-export * from './isLightOrDark';
-export * from './getReferenceTokensFromGradient';
-export * from './getColorSwatchStyle';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html deleted file mode 100644 index cbaf22531..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/isLightOrDark.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/utils/color/isLightOrDark.ts - - - - - - - - - -
-
-

All files / src/utils/color isLightOrDark.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { readableColorIsBlack } from 'color2k';
- 
-// Light or dark check for Token Buttons: If color is very bright e.g. white we show a different style
-export function lightOrDark(color: string) {
-  if (typeof color !== 'string') {
-    return 'light';
-  }
-  try {
-    return readableColorIsBlack(color) ? 'light' : 'dark';
-  } catch (e) {
-    return 'light';
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html deleted file mode 100644 index 8b1b60498..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/lighten.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for src/utils/color/lighten.ts - - - - - - - - - -
-
-

All files / src/utils/color lighten.ts

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/29 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Color from 'colorjs.io';
-import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
- 
-export function lighten(color: Color, colorSpace: ColorSpaceTypes, amount: number) {
-  switch (colorSpace) {
-    case ColorSpaceTypes.LCH: {
-      const lightness = color.lch.l;
-      const difference = 100 - lightness;
-      const newChroma = Math.max(0, color.lch.c - amount * color.lch.c);
-      const newLightness = Math.min(100, lightness + difference * amount);
-      color.set('lch.l', newLightness);
-      color.set('lch.c', newChroma);
-      return color;
-    }
-    case ColorSpaceTypes.HSL: {
-      const lightness = color.hsl.l;
-      const difference = 100 - lightness;
-      const newLightness = Math.min(100, lightness + difference * amount);
-      color.set('hsl.l', newLightness);
-      return color;
-    }
-    case ColorSpaceTypes.P3: {
-      const colorInP3 = color.to('p3');
-      const newRed = Math.min(1, colorInP3.p3.r + amount * (1 - colorInP3.p3.r));
-      const newGreen = Math.min(1, colorInP3.p3.g + amount * (1 - colorInP3.p3.g));
-      const newBlue = Math.min(1, colorInP3.p3.b + amount * (1 - colorInP3.p3.b));
-      colorInP3.set('p3.r', newRed);
-      colorInP3.set('p3.g', newGreen);
-      colorInP3.set('p3.b', newBlue);
-      return colorInP3;
-    }
-    case ColorSpaceTypes.SRGB: {
-      const newRed = Math.min(1, color.srgb.r + amount * (1 - color.srgb.r));
-      const newGreen = Math.min(1, color.srgb.g + amount * (1 - color.srgb.g));
-      const newBlue = Math.min(1, color.srgb.b + amount * (1 - color.srgb.b));
-      color.set('srgb.r', newRed);
-      color.set('srgb.g', newGreen);
-      color.set('srgb.b', newBlue);
-      return color;
-    }
-    default: {
-      return color.lighten(amount);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html deleted file mode 100644 index b570625ae..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/mix.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/color/mix.ts - - - - - - - - - -
-
-

All files / src/utils/color mix.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import Color from 'colorjs.io';
-import { ColorSpaceTypes } from '@/constants/ColorSpaceTypes';
- 
-export function mix(color: Color, colorSpace: ColorSpaceTypes, amount: number, mixColor: Color) {
-  const mixValue = Math.max(0, Math.min(1, Number(amount)));
- 
-  return new Color(color.mix(mixColor, mixValue, { space: colorSpace }).toString());
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html deleted file mode 100644 index 43a717201..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/color/transparentize.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/color/transparentize.ts - - - - - - - - - -
-
-

All files / src/utils/color transparentize.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import Color from 'colorjs.io';
- 
-export function transparentize(color: Color, amount: number) {
-  color.alpha = Math.max(0, Math.min(1, Number(amount)));
-  return color;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html deleted file mode 100644 index 08dcadb31..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/compareLastSyncedState.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/utils/compareLastSyncedState.ts - - - - - - - - - -
-
-

All files / src/utils compareLastSyncedState.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import { isEqual } from './isEqual';
-import { tryParseJson } from './tryParseJson';
-import type { ThemeObjectsList } from '@/types';
-import type { AnyTokenList } from '@/types/tokens';
-import removeIdPropertyFromTokens from './removeIdPropertyFromTokens';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
- 
-export type LastSyncedState =
-  [Record<string, AnyTokenList>]
-  | [Record<string, AnyTokenList>, ThemeObjectsList];
- 
-export function compareLastSyncedState(
-  tokens: Record<string, AnyTokenList>,
-  themes: ThemeObjectsList,
-  lastSyncedState: string,
-  format: TokenFormatOptions,
-) {
-  const parsedState = tryParseJson<LastSyncedState>(lastSyncedState);
- 
-  if (!parsedState) {
-    return false;
-  }
- 
-  const formattedCurrentState = JSON.stringify(compact([removeIdPropertyFromTokens(tokens), themes, format]), null, 2);
- 
-  return isEqual(
-    lastSyncedState,
-    formattedCurrentState,
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html deleted file mode 100644 index 5fe7cac93..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convert.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/convert.ts - - - - - - - - - -
-
-

All files / src/utils convert.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import set from 'set-value';
-import { SingleToken } from '@/types/tokens';
- 
-export interface DTCGToken {
-  $name: string;
-  $type: NonNullable<SingleToken['type']>;
-  $description: string | undefined;
-  $value: NonNullable<SingleToken['value']>;
-  $extensions: Record<string, unknown> | undefined;
-}
- 
-export const singleTokenToDTCGToken = (token: SingleToken): DTCGToken => ({
-  $name: token.name,
-  $description: token.description,
-  // again, assuming these are present, without changing the function signature
-  $value: token.value as NonNullable<SingleToken['value']>,
-  $type: token.type as NonNullable<SingleToken['type']>,
-  $extensions: token.$extensions,
-});
- 
-/**
- *
- * @param tokens
- * @param convertToDTCG Set to true to convert to DTCG format
- * @returns
- */
-export const singleTokensToRawTokenSet = (tokens: SingleToken[], convertToDTCG: boolean = false) => tokens.reduce((acc, token) => {
-  set(acc, token.name?.split('.') || '', convertToDTCG ? singleTokenToDTCGToken(token) : token);
-  return acc;
-}, {});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html deleted file mode 100644 index d0d253de2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertModifiedColorToHex.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/utils/convertModifiedColorToHex.ts - - - - - - - - - -
-
-

All files / src/utils convertModifiedColorToHex.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Color from 'colorjs.io';
-import { ColorModifier } from '@/types/Modifier';
-import { modifyColor } from './modifyColor';
- 
-export function convertModifiedColorToHex(baseColor: string, modifier: ColorModifier) {
-  let returnedColor = baseColor;
-  try {
-    returnedColor = modifyColor(baseColor, modifier);
-    const returnedColorInSpace = new Color(returnedColor);
-    return returnedColorInSpace.to('srgb').toString({ format: 'hex' });
-  } catch (e) {
-    return baseColor;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html deleted file mode 100644 index 7a15d0159..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToDefaultProperty.ts.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/utils/convertToDefaultProperty.ts - - - - - - - - - -
-
-

All files / src/utils convertToDefaultProperty.ts

-
- -
- 0% - Statements - 0/23 -
- - -
- 0% - Branches - 0/26 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export function convertToDefaultProperty(property: string): string {
-  let type: string = '';
-  switch (property) {
-    case Properties.width:
-    case Properties.height:
-    case Properties.sizing:
-    case Properties.itemSpacing:
-    case Properties.verticalPadding:
-    case Properties.horizontalPadding:
-    case Properties.paddingTop:
-    case Properties.paddingLeft:
-    case Properties.paddingBottom:
-    case Properties.paddingRight:
-      type = Properties.dimension;
-      break;
-    case Properties.borderRadiusTopLeft:
-    case Properties.borderRadiusTopRight:
-    case Properties.borderRadiusBottomLeft:
-    case Properties.borderRadiusBottomRight:
-      type = Properties.borderRadius;
-      break;
-    case Properties.borderColor:
-      type = Properties.fill;
-      break;
-    case Properties.borderWidthTop:
-    case Properties.borderWidthLeft:
-    case Properties.borderWidthRight:
-    case Properties.borderWidthBottom:
-      type = Properties.borderWidth;
-      break;
-    case 'fontFamily':
-      type = Properties.fontFamilies;
-      break;
-    case 'fontSize':
-      type = Properties.fontSizes;
-      break;
-    case 'fontWeight':
-      type = Properties.fontWeights;
-      break;
-    case 'lineHeights':
-    case 'lineHeight':
-      type = Properties.lineHeights;
-      break;
-    case 'style':
-      type = 'strokeStyle';
-      break;
-    default:
-      type = property;
-      break;
-  }
-  return type;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html deleted file mode 100644 index e96e44cdb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertToOrderObj.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/convertToOrderObj.ts - - - - - - - - - -
-
-

All files / src/utils convertToOrderObj.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export function convertToOrderObj(value: Record<string, string>) {
-  return Object.keys(value).reduce<Record<string, number>>((acc, crr, index) => {
-    acc[crr] = index;
-    return acc;
-  }, {});
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html deleted file mode 100644 index cacd434ec..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenNameToPath.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokenNameToPath.ts - - - - - - - - - -
-
-

All files / src/utils convertTokenNameToPath.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function convertTokenNameToPath(name: string, prefix: string | null = null, skip = 0) {
-  const splitKey = name.split('.').slice(skip).map((part) => part.trim());
-  if (splitKey[splitKey.length - 1] === 'value') {
-    splitKey.pop();
-  }
-  const trimmedKey = splitKey.join('/');
- 
-  if (prefix) {
-    return `${prefix}/${trimmedKey}`;
-  }
- 
-  return trimmedKey;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html deleted file mode 100644 index ebf6f512e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenToFormat.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokenToFormat.ts - - - - - - - - - -
-
-

All files / src/utils convertTokenToFormat.ts

-
- -
- 0% - Statements - 0/13 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-export function convertTokenToFormat(token, isExpanded = false) {
-  if (token.inheritTypeLevel) delete token.type;
-  const {
-    type, value, description, ...remainingTokenValues
-  } = token;
-  if (isExpanded) {
-    const returnedToken = {};
-    Object.entries(token).forEach(([key, val]) => {
-      returnedToken[key] = convertTokenToFormat(val);
-    });
-    return returnedToken;
-  }
-  if ((typeof value === 'undefined')) return token;
-  const returnValue = {
-    ...remainingTokenValues,
-    ...(value ? { [TokenFormat.tokenValueKey]: value } : {}),
-    ...(type ? { [TokenFormat.tokenTypeKey]: type } : {}),
-    ...(description ? { [TokenFormat.tokenDescriptionKey]: description } : {}),
-  };
-  delete returnValue.inheritTypeLevel;
-  return returnValue;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html deleted file mode 100644 index 8dccba4fc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokenTypeToVariableType.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokenTypeToVariableType.ts - - - - - - - - - -
-
-

All files / src/utils convertTokenTypeToVariableType.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
- 
-export function convertTokenTypeToVariableType(type: TokenTypes, value: SingleToken['value']): VariableResolvedDataType {
-  // For numerical font weights we want to create a float variable
-  if (type === TokenTypes.FONT_WEIGHTS && parseFloat(String(value))) {
-    return 'FLOAT';
-  }
- 
-  switch (type) {
-    case TokenTypes.COLOR:
-      return 'COLOR';
-    case TokenTypes.BOOLEAN:
-      return 'BOOLEAN';
-    case TokenTypes.FONT_FAMILIES:
-    case TokenTypes.FONT_WEIGHTS:
-    case TokenTypes.TEXT:
-      return 'STRING';
-    default:
-      return 'FLOAT';
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html deleted file mode 100644 index a9e348297..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokens.tsx.html +++ /dev/null @@ -1,634 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokens.tsx - - - - - - - - - -
-
-

All files / src/utils convertTokens.tsx

-
- -
- 0% - Statements - 0/51 -
- - -
- 0% - Branches - 0/65 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
-import {
-  isSingleBorderToken,
-  isSingleBoxShadowToken,
-  isSingleCompositionToken,
-  isSingleTokenValueObject,
-  isSingleTypographyToken,
-} from './is';
-import { TokenGroupInJSON, isTokenGroupWithType } from './is/isTokenGroupWithType';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { isSingleTokenInJSON } from './is/isSingleTokenInJson';
- 
-// This is a token as it is incoming, so we can't be sure of the values or types
-export type TokenInJSON<T extends TokenTypes = any, V = any> = {
-  $extensions?: {
-    [key: string]: any;
-    'studio.tokens'?: {
-      [key: string]: any;
-      id?: string;
-      modify?: any;
-    };
-    id?: string;
-  };
-} & (
-  | {
-    type: T;
-    value: V;
-    description?: string;
-  }
-  | {
-    $type: T;
-    $value: V;
-    $description?: string;
-  }
-);
- 
-export type Tokens =
-  | Partial<Record<string, Partial<Record<TokenTypes, Record<string, TokenInJSON>>>>>
-  | TokenGroupInJSON;
- 
-  type OptionalDTCGKeys = {
-    $type?: TokenTypes;
-    $value?: SingleToken['value'];
-    $description?: string;
-  };
- 
-// @TODO fix typings
-function checkForTokens({
-  obj,
-  token,
-  root = null,
-  returnValuesOnly = false,
-  expandTypography = false,
-  expandShadow = false,
-  expandComposition = false,
-  expandBorder = false,
-  inheritType,
-  groupLevel = 0,
-  currentTypeLevel = 0,
-}: {
-  obj: SingleToken<true>[];
-  token: Tokens | TokenGroupInJSON;
-  root: string | null;
-  returnValuesOnly?: boolean;
-  expandTypography?: boolean;
-  expandShadow?: boolean;
-  expandComposition?: boolean;
-  expandBorder?: boolean;
-  inheritType?: string;
-  groupLevel?: number;
-  currentTypeLevel?: number;
-}): [(SingleToken & SingleToken & OptionalDTCGKeys)[], SingleToken & OptionalDTCGKeys | undefined] {
-  let returnValue:
-  | Pick<SingleToken<false>, 'name' | 'value' | 'type' | 'description' | 'inheritTypeLevel'>
-  | {
-    type: TokenTypes;
-    value: Record<string, SingleToken['value']>;
-    description?: string;
-    inheritTypeLevel?: number;
-  }
-  | undefined;
-  if (isSingleTokenInJSON(token)) {
-    returnValue = token as SingleToken<false>;
-    returnValue.value = token[TokenFormat.tokenValueKey];
- 
-    if (token[TokenFormat.tokenDescriptionKey] && typeof token[TokenFormat.tokenDescriptionKey] === 'string') {
-      returnValue.description = token[TokenFormat.tokenDescriptionKey] as string;
-    }
-    if (!token[TokenFormat.tokenTypeKey] && inheritType) {
-      returnValue.type = inheritType as TokenTypes;
-      returnValue.inheritTypeLevel = currentTypeLevel as number;
-    } else {
-      returnValue.type = token[TokenFormat.tokenTypeKey];
-      if (inheritType === token[TokenFormat.tokenTypeKey] && currentTypeLevel > 0) {
-        returnValue.inheritTypeLevel = currentTypeLevel as number;
-      }
-    }
-  } else if (
-    isSingleTypographyToken(token)
-    || isSingleBoxShadowToken(token)
-    || isSingleCompositionToken(token)
-    || isSingleBorderToken(token)
-  ) {
-    returnValue = token as SingleToken<false>;
-    returnValue.value = Object.entries(token).reduce<Record<string, SingleToken['value']>>((acc, [key, val]) => {
-      acc[key] = isSingleTokenValueObject(val) && returnValuesOnly ? val[TokenFormat.tokenValueKey] : val;
-      return acc;
-    }, {});
-    if (token[TokenFormat.tokenDescriptionKey] && typeof token[TokenFormat.tokenDescriptionKey] === 'string') {
-      returnValue.description = token[TokenFormat.tokenDescriptionKey] as string;
-    }
-    if (!token[TokenFormat.tokenTypeKey] && inheritType) {
-      returnValue.type = inheritType as TokenTypes;
-      returnValue.inheritTypeLevel = currentTypeLevel as number;
-    } else {
-      returnValue.type = token[TokenFormat.tokenTypeKey] as TokenTypes;
-    }
-  } else if (typeof token === 'object') {
-    // We dont have a single token value key yet, so it's likely a group which we need to iterate over
-    // This would be where we push a `group` entity to the array, once we do want to tackle group descriptions or group metadata
-    let tokenToCheck = token;
-    groupLevel += 1;
-    // When token groups are typed, we need to inherit the type to their children
-    if (isTokenGroupWithType(token)) {
-      const { [TokenFormat.tokenTypeKey]: groupType, ...tokenValues } = token;
-      inheritType = groupType as unknown as TokenTypes;
-      currentTypeLevel = groupLevel;
-      tokenToCheck = tokenValues as Tokens;
-    }
- 
-    if (typeof tokenToCheck !== 'undefined' || tokenToCheck !== null) {
-      Object.entries(tokenToCheck).forEach(([key, value]) => {
-        const [, result] = checkForTokens({
-          obj,
-          token: value as TokenGroupInJSON,
-          root: [root, key].filter((n) => n).join('.'),
-          returnValuesOnly,
-          expandTypography,
-          expandShadow,
-          expandComposition,
-          expandBorder,
-          inheritType,
-          groupLevel,
-          currentTypeLevel,
-        });
-        if (root && result) {
-          obj.push({ ...result, name: [root, key].join('.') });
-        } else if (result) {
-          obj.push({ ...result, name: key });
-        }
-      });
-    }
-  } else {
-    // If all else fails, we just return the token as the value, and type as other
-    returnValue = {
-      value: token,
-      type: TokenTypes.OTHER,
-    };
-  }
- 
-  if (typeof returnValue === 'object' && 'name' in returnValue && returnValue?.name) {
-    returnValue.name = returnValue.name.split('/').join('.');
-  }
- 
-  return [obj, returnValue as SingleToken | undefined];
-}
- 
-export default function convertToTokenArray({ tokens }: { tokens: Tokens }) {
-  const [result] = checkForTokens({
-    obj: [],
-    root: null,
-    token: tokens,
-  });
- 
-  // Internally we dont care about $value or value, we always use value, so remove it
-  return Object.values(result).map((token) => {
-    if ('$value' in token) delete token.$value;
-    if ('$description' in token) delete token.$description;
-    if ('$type' in token) delete token.$type;
-    return token;
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html deleted file mode 100644 index 9996b65ed..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensObjectToResolved.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokensObjectToResolved.ts - - - - - - - - - -
-
-

All files / src/utils convertTokensObjectToResolved.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { mergeTokenGroups } from '@/utils/tokenHelpers';
-import { TransformerOptions } from './types';
-import convertTokensToGroupedObject from './convertTokensToGroupedObject';
-import parseTokenValues from './parseTokenValues';
-import { SetTokenDataPayload } from '@/types/payloads';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { defaultTokenResolver } from './TokenResolver';
- 
-// Takes Figma Tokens input, resolves all aliases while respecting user's theme choice and outputs an object with resolved tokens, ready to be consumed by style dictionary.
-export default function convertTokensObjectToResolved(
-  tokens: SetTokenDataPayload['values'],
-  usedSets: string[] = [],
-  excludedSets: string[] = [],
-  options: TransformerOptions = {
-    expandTypography: false,
-    expandShadow: false,
-    expandComposition: false,
-    expandBorder: false,
-    preserveRawValue: false,
-    resolveReferences: true,
-  },
-) {
-  // Parse tokens into array structure
-  const parsed = parseTokenValues(tokens);
-  // Merge to one giant array
-  const merged = mergeTokenGroups(
-    parsed,
-    // @README this function is only used in the utils/transform file
-    // which in turn is only used for a local script -- in which case for now we do not
-    // need to fully support the SOURCE state
-    Object.fromEntries(usedSets.map((tokenSet) => ([tokenSet, TokenSetStatus.ENABLED]))),
-  );
-  // Resolve aliases
-  const resolved = defaultTokenResolver.setTokens(merged);
-  // Group back into one object
-  const object = convertTokensToGroupedObject(resolved, excludedSets, options);
-  return object;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html deleted file mode 100644 index 95f97ec7c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToGroupedObject.ts.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokensToGroupedObject.ts - - - - - - - - - -
-
-

All files / src/utils convertTokensToGroupedObject.ts

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import set from 'set-value';
-import { appendTypeToToken } from '@/app/components/createTokenObj';
-import { TransformerOptions } from './types';
-import { expand } from '@/utils/expand';
-import { getValueWithReferences } from '@/utils/getValueWithReferences';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { SingleToken } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-// @TODO fix tokenObj
-export default function convertTokensToGroupedObject(
-  tokens: ResolveTokenValuesResult[],
-  excludedSets: string[],
-  options: TransformerOptions,
-) {
-  let tokenObj = {};
-  tokenObj = tokens.reduce((acc, token) => {
-    if (options.throwErrorWhenNotResolved && token.failedToResolve) {
-      throw new Error(`ERROR: failed to resolve token "${token.name}"`);
-    }
-    if (token.internal__Parent && excludedSets.includes(token.internal__Parent)) {
-      return acc;
-    }
-    const obj = acc || {};
-    const tokenWithType = appendTypeToToken(token) as SingleToken<false>;
-    delete tokenWithType.name;
-    if (options.resolveReferences !== true) {
-      tokenWithType.value = getValueWithReferences(tokenWithType as SingleToken, options);
-    } else {
-      delete tokenWithType.$extensions;
-    }
- 
-    if (!options.preserveRawValue) {
-      delete tokenWithType.rawValue;
-    }
-    delete tokenWithType.internal__Parent;
-    delete tokenWithType.resolvedValueWithReferences;
-    if (
-      (!!options.expandTypography && tokenWithType.type === TokenTypes.TYPOGRAPHY)
-      || (!!options.expandShadow && tokenWithType.type === TokenTypes.BOX_SHADOW)
-      || (!!options.expandComposition && tokenWithType.type === TokenTypes.COMPOSITION)
-      || (!!options.expandBorder && tokenWithType.type === TokenTypes.BORDER)
-    ) {
-      const expanded = expand(tokenWithType.value);
-      set(obj, token.name, { ...expanded });
-    } else {
-      set(obj, token.name, tokenWithType);
-    }
-    return acc;
-  }, {});
- 
-  return tokenObj;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html deleted file mode 100644 index eb60f339d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertTokensToObject.ts.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - Code coverage report for src/utils/convertTokensToObject.ts - - - - - - - - - -
-
-

All files / src/utils convertTokensToObject.ts

-
- -
- 0% - Statements - 0/21 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import set from 'set-value';
-import { appendTypeToToken } from '@/app/components/createTokenObj';
-import { AnyTokenList, AnyTokenSet } from '@/types/tokens';
-import { getGroupTypeName } from './stringifyTokens';
-import removeTokenId from './removeTokenId';
-import { setTokenKey, FormatSensitiveTokenKeys } from './setTokenKey';
- 
-export default function convertTokensToObject(tokens: Record<string, AnyTokenList>, storeTokenIdInJsonEditor: boolean) {
-  const tokenObj = Object.entries(tokens).reduce<Record<string, AnyTokenSet<false>>>((acc, [key, val]) => {
-    const tokenGroupObj: AnyTokenSet<false> = {};
-    val.forEach((token) => {
-      const tokenWithType = appendTypeToToken(token);
-      const tokenWithoutId = removeTokenId(tokenWithType, !storeTokenIdInJsonEditor);
- 
-      // Remove the name key to not include it in the output
-      const { name, ...tokenWithoutName } = tokenWithoutId;
- 
-      // Directly work with tokenWithoutName to preserve order
-      if (tokenWithoutName.inheritTypeLevel) {
-        // Remove the type key and if inheritTypeLevel exists, handle it specifically
-        const { inheritTypeLevel, type, ...tokenWithoutTypeLevel } = tokenWithoutName;
- 
-        // Set type of group level without altering the order of tokenWithoutName
-        set(tokenGroupObj, getGroupTypeName(name, inheritTypeLevel), tokenWithoutName.type);
- 
-        // Add value and description keys directly to preserve order
-        setTokenKey(tokenWithoutTypeLevel, FormatSensitiveTokenKeys.VALUE);
-        // Only add the description key if it exists
-        if (tokenWithoutTypeLevel.description) {
-          setTokenKey(tokenWithoutTypeLevel, FormatSensitiveTokenKeys.DESCRIPTION);
-        }
-        set(tokenGroupObj, name, tokenWithoutTypeLevel, { merge: true });
-      } else {
-        // For tokens without inheritTypeLevel, directly add type, value, and description to preserve order
-        setTokenKey(tokenWithoutName, FormatSensitiveTokenKeys.TYPE);
-        setTokenKey(tokenWithoutName, FormatSensitiveTokenKeys.VALUE);
-        // Only add the description key if it exists
-        if (tokenWithoutName.description) {
-          setTokenKey(tokenWithoutName, FormatSensitiveTokenKeys.DESCRIPTION);
-        }
-        set(tokenGroupObj, name, tokenWithoutName, { merge: true });
-      }
-    });
-    acc[key] = tokenGroupObj;
-    return acc;
-  }, {});
- 
-  return tokenObj;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html deleted file mode 100644 index 2bd518639..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/convertVariableTypeToProperty.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/utils/convertVariableTypeToProperty.ts - - - - - - - - - -
-
-

All files / src/utils convertVariableTypeToProperty.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export default function convertVariableTypeToProperty(variableType: string): Properties {
-  switch (variableType) {
-    case 'visible':
-      return 'visibility' as Properties;
-    case 'topLeftRadius':
-      return 'borderRadiusTopLeft' as Properties;
-    case 'topRightRadius':
-      return 'borderRadiusTopRight' as Properties;
-    case 'bottomLeftRadius':
-      return 'borderRadiusBottomLeft' as Properties;
-    case 'bottomRightRadius':
-      return 'borderRadiusBottomRight' as Properties;
-    default:
-      return variableType as Properties;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html deleted file mode 100644 index 170c4a742..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/credentials.ts.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for src/utils/credentials.ts - - - - - - - - - -
-
-

All files / src/utils credentials.ts

-
- -
- 0% - Statements - 0/31 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import compact from 'just-compact';
-import { notifyAPIProviders, notifyUI } from '@/plugin/notifiers';
-import isSameCredentials from './isSameCredentials';
-import { ApiProvidersProperty } from '@/figmaStorage';
-import { StorageTypeCredentials } from '@/types/StorageType';
-import { generateId } from './generateId';
- 
-export async function updateCredentials(context: StorageTypeCredentials) {
-  try {
-    const data = await ApiProvidersProperty.read();
-    let existingProviders: NonNullable<typeof data> = [];
-    if (data) {
-      existingProviders = data;
- 
-      let matchingProvider = -1;
- 
-      if (context.internalId) {
-        matchingProvider = existingProviders.findIndex((i) => i.internalId === context.internalId);
-      } else {
-        matchingProvider = existingProviders.findIndex((i) => isSameCredentials(i, context));
-      }
-      // Handle case for old credentials where  we had no internalId. Check id and secret and provider then
-      if (matchingProvider !== -1) {
-        existingProviders.splice(matchingProvider, 1, context);
-      }
- 
-      if (!data || matchingProvider === -1) {
-        existingProviders.push({
-          ...context,
-          internalId: context.internalId || generateId(24),
-        });
-      }
-    } else {
-      existingProviders.push({
-        ...context,
-        internalId: context.internalId || generateId(24),
-      });
-    }
-    await ApiProvidersProperty.write(existingProviders);
-    const newProviders = await ApiProvidersProperty.read();
-    notifyAPIProviders(newProviders ?? []);
-  } catch (err) {
-    notifyUI('There was an issue saving your credentials. Please try again.');
-  }
-}
- 
-export async function removeSingleCredential(context: StorageTypeCredentials) {
-  try {
-    const data = await ApiProvidersProperty.read();
-    let existingProviders: NonNullable<typeof data> = [];
-    if (data) {
-      existingProviders = compact(
-        data.map((i) => (isSameCredentials(i, context) ? null : i)).filter((i) => i),
-      );
-    }
-    await ApiProvidersProperty.write(existingProviders);
-    const newProviders = await ApiProvidersProperty.read();
-    notifyAPIProviders(newProviders ?? []);
-  } catch (err) {
-    notifyUI('There was an issue saving your credentials. Please try again.');
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html deleted file mode 100644 index 59441be4b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/compareUpdatedAt.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/utils/date/compareUpdatedAt.ts - - - - - - - - - -
-
-

All files / src/utils/date compareUpdatedAt.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
export async function compareUpdatedAt(oldUpdatedAt: string | number | Date, newUpdatedAt: string | number | Date) {
-  const newDate = new Date(newUpdatedAt).getTime();
-  const oldDate = new Date(oldUpdatedAt).getTime();
-  if (newDate > oldDate) {
-    return 'remote_newer';
-  }
-  if (newDate === oldDate) {
-    return 'same';
-  }
-  return 'remote_older';
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html deleted file mode 100644 index 0a455bb67..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/utils/date - - - - - - - - - -
-
-

All files src/utils/date

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
compareUpdatedAt.ts -
-
0%0/70%0/40%0/10%0/7
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html deleted file mode 100644 index df345a95c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/date/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/utils/date/index.ts - - - - - - - - - -
-
-

All files / src/utils/date index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './compareUpdatedAt';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html deleted file mode 100644 index 86e568766..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/detectFormat.tsx.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/utils/detectFormat.tsx - - - - - - - - - -
-
-

All files / src/utils detectFormat.tsx

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { Tokens } from './convertTokens';
- 
-export function detectFormat(tokens: Tokens, shouldSet: boolean) {
-  const stringifiedTokens = JSON.stringify(tokens);
-  if (stringifiedTokens.includes('$value')) {
-    if (shouldSet) TokenFormat.setFormat(TokenFormatOptions.DTCG);
-    return TokenFormatOptions.DTCG;
-  }
-  if (shouldSet) TokenFormat.setFormat(TokenFormatOptions.Legacy);
-  return TokenFormatOptions.Legacy;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html deleted file mode 100644 index 2bfc0095d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/ensureFolderIsTogether.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/utils/dragDropOrder/ensureFolderIsTogether.ts - - - - - - - - - -
-
-

All files / src/utils/dragDropOrder ensureFolderIsTogether.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { ItemData } from '@/context';
-import type { TreeItem } from '../tokenset/tokenSetListToTree';
-import { moveItem } from '../motion';
- 
-export function ensureFolderIsTogether<T extends TreeItem>(value: T, order: ItemData<T>[], nextOrder: ItemData<T>[]) {
-  if (!value.isLeaf) {
-    // looks like we moved a folder
-    const originalIndex = order.findIndex((item) => item.value === value);
-    const nextIndex = nextOrder.findIndex((item) => item.value === value);
-    const delta = nextIndex - originalIndex;
-    const itemsToMove = nextOrder.filter((item) => item.value.parent === value.path);
-    itemsToMove.forEach((itemToMove) => {
-      if (delta !== 0) {
-        const itemToMoveIndex = nextOrder.findIndex((item) => item === itemToMove);
-        nextOrder = moveItem(nextOrder, itemToMoveIndex, itemToMoveIndex + delta);
-      }
-    });
-  }
- 
-  return nextOrder;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html deleted file mode 100644 index 7822b4c3b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx - - - - - - - - - -
-
-

All files / src/utils/dragDropOrder findOrderableTargetIndexesInThemeList.tsx

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ItemData } from '@/context';
-import { TreeItem } from '../themeListToTree';
- 
-export function findOrderableTargetIndexesInThemeList<T extends TreeItem>(velocity: number, value: T, order: ItemData<T>[]) {
-  if (value.isLeaf) {
-    return Array.from({ length: order.length - 1 }, (_, index) => index + 1);
-  }
-  const siblings = order.filter((item) => (
-    item.value !== value
-    && item.value.parent === value.parent
-  ));
- 
-  const availableIndexes = siblings.map((item) => {
-    if (velocity > 0) {
-      const childrenCount = order.reduce((count, v) => (
-        v.value.parent?.startsWith(item.value.path) ? count + 1 : count
-      ), 0);
-      return order.indexOf(item) + childrenCount;
-    }
-    return order.indexOf(item);
-  });
-  return availableIndexes;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html deleted file mode 100644 index 2770810c9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/utils/dragDropOrder - - - - - - - - - -
-
-

All files src/utils/dragDropOrder

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/11 -
- - -
- 0% - Lines - 0/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ensureFolderIsTogether.ts -
-
0%0/140%0/40%0/60%0/10
findOrderableTargetIndexesInThemeList.tsx -
-
0%0/120%0/80%0/50%0/11
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html deleted file mode 100644 index 27895cc2b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/dragDropOrder/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/utils/dragDropOrder/index.ts - - - - - - - - - -
-
-

All files / src/utils/dragDropOrder index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export { ensureFolderIsTogether } from './ensureFolderIsTogether';
-export { findOrderableTargetIndexesInThemeList } from './findOrderableTargetIndexesInThemeList';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html deleted file mode 100644 index 415438393..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/error/handleReactError.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/error/handleReactError.ts - - - - - - - - - -
-
-

All files / src/utils/error handleReactError.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import * as Sentry from '@sentry/react';
- 
-export function handleReactError(error: any) {
-  console.error(error);
-  Sentry.captureException(error);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html deleted file mode 100644 index 4907207f8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/error/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/utils/error - - - - - - - - - -
-
-

All files src/utils/error

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
handleReactError.ts -
-
0%0/2100%0/00%0/10%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html deleted file mode 100644 index 7db94013a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/expand.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/expand.ts - - - - - - - - - -
-
-

All files / src/utils expand.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
-import { convertToDefaultProperty } from './convertToDefaultProperty';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-interface BaseResult {
-  type: string;
-  value: string | number;
-}
- 
-interface Result {
-  [key: string]: BaseResult | Result;
-}
- 
-export function expand(token: SingleToken['value']) {
-  return Object.entries(token).reduce<Result>((acc, [key, val]) => {
-    if (typeof val === 'string' || typeof val === 'number') {
-      // Temporarily cast to 'any' to bypass TypeScript's static type checking. Our keys can either be value or $value (same for type)
-      const resultItem: any = {};
-      resultItem[TokenFormat.tokenValueKey] = val;
-      resultItem[TokenFormat.tokenTypeKey] = convertToDefaultProperty(key);
- 
-      // Now cast back to BaseResult
-      acc[key] = resultItem as BaseResult;
-    } else {
-      acc[key] = expand(val);
-    }
- 
-    return acc;
-  }, {});
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html deleted file mode 100644 index 5d2454b50..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/fetchFeatureFlags.ts.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - Code coverage report for src/utils/fetchFeatureFlags.ts - - - - - - - - - -
-
-

All files / src/utils fetchFeatureFlags.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as LDClient from 'launchdarkly-js-client-sdk';
-import Case from 'case';
-import { Entitlements } from '@/app/store/models/userState';
-import validateLicense from '@/utils/validateLicense';
-import { UserData } from '@/types/userData';
- 
-export default async function fetchFeatureFlags(userData: UserData) {
-  if (process.env.LAUNCHDARKLY_FLAGS) {
-    return Object.fromEntries(process.env.LAUNCHDARKLY_FLAGS!.split(',').map((flag) => (
-      [flag, true]
-    )));
-  }
- 
-  if (userData.licenseKey && userData.userId) {
-    const {
-      plan, email: clientEmail, entitlements,
-    } = await validateLicense(userData.licenseKey, userData.userId, userData.userName);
-    const userAttributes: Record<string, string | boolean> = {
-      plan: plan || '',
-      email: clientEmail || '',
-      os: !entitlements?.includes(Entitlements.PRO),
-    };
-    entitlements?.forEach((entitlement) => {
-      userAttributes[entitlement] = true;
-    });
-    const ldClientSideId = process.env.LAUNCHDARKLY_SDK_CLIENT || '';
-    const client = LDClient.initialize(ldClientSideId, {
-      key: userData.userId,
-      custom: userAttributes,
-    });
-    await client.waitUntilReady();
-    const rawFlags = client.allFlags();
-    const normalizedFlags = Object.fromEntries(
-      Object.entries(rawFlags).map(([key, value]) => [Case.camel(key), value]),
-    );
-    return normalizedFlags;
-  }
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html deleted file mode 100644 index a131ef784..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/goToNodeId.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/figma/goToNodeId.ts - - - - - - - - - -
-
-

All files / src/utils/figma goToNodeId.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function goToNodeId(id: string) {
-  AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.GOTO_NODE,
-    id,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html deleted file mode 100644 index aa8af537f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for src/utils/figma - - - - - - - - - -
-
-

All files src/utils/figma

-
- -
- 0% - Statements - 0/22 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/22 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
goToNodeId.ts -
-
0%0/1100%0/00%0/10%0/1
index.ts -
-
0%0/00%0/00%0/00%0/0
selectNodes.ts -
-
0%0/1100%0/00%0/10%0/1
updateLocalTokensData.ts -
-
0%0/200%0/100%0/10%0/20
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html deleted file mode 100644 index d63c4b9dc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/index.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/figma/index.ts - - - - - - - - - -
-
-

All files / src/utils/figma index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export * from './goToNodeId';
-export * from './selectNodes';
-export * from './updateLocalTokensData';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html deleted file mode 100644 index 509f2bd88..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/selectNodes.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/figma/selectNodes.ts - - - - - - - - - -
-
-

All files / src/utils/figma selectNodes.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
- 
-export function selectNodes(ids: string[]) {
-  AsyncMessageChannel.ReactInstance.message({
-    type: AsyncMessageTypes.SELECT_NODES,
-    ids,
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html deleted file mode 100644 index d09e5f8f0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figma/updateLocalTokensData.ts.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - Code coverage report for src/utils/figma/updateLocalTokensData.ts - - - - - - - - - -
-
-

All files / src/utils/figma updateLocalTokensData.ts

-
- -
- 0% - Statements - 0/20 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as pjs from '../../../package.json';
-import { ThemeObjectsList, UsedTokenSetsMap } from '@/types';
-import { AnyTokenList } from '@/types/tokens';
-import {
-  ActiveThemeProperty,
-  ThemesProperty, TokenFormatProperty, UpdatedAtProperty, UsedTokenSetProperty, ValuesProperty, VersionProperty, IsCompressedProperty,
-} from '@/figmaStorage';
-import { CollapsedTokenSetsProperty } from '@/figmaStorage/CollapsedTokenSetsProperty';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { StorageProviderType } from '@/types/StorageType';
-import { ClientStorageProperty } from '@/figmaStorage/ClientStorageProperty';
-import { getFileKey } from '../../plugin/helpers';
- 
-type Payload = {
-  tokens: Record<string, AnyTokenList>
-  themes: ThemeObjectsList
-  compressedTokens: string
-  compressedThemes: string
-  usedTokenSets: UsedTokenSetsMap
-  activeTheme: Record<string, string>
-  updatedAt: string
-  checkForChanges: boolean
-  collapsedTokenSets: string[]
-  tokenFormat: TokenFormatOptions
-  storageProvider: StorageProviderType
-  storageSize: number
-};
- 
-export async function updateLocalTokensData(payload: Payload) {
-  await VersionProperty.write(pjs.version);
-  // Check storage size and storage method
-  if (payload.storageProvider === StorageProviderType.LOCAL) {
-    await IsCompressedProperty.write(true);
- 
-    // Only write themes if they've changed
-    const currentThemes = await ThemesProperty.read(figma.root, true);
-    const themesChanged = !currentThemes || JSON.stringify(currentThemes) !== JSON.stringify(payload.themes);
-    if (themesChanged) {
-      await ThemesProperty.write(payload.themes);
-    }
- 
-    // Only write values if they've changed
-    const currentValues = await ValuesProperty.read(figma.root, true);
-    const valuesChanged = !currentValues || JSON.stringify(currentValues) !== JSON.stringify(payload.tokens);
-    if (valuesChanged) {
-      await ValuesProperty.write(payload.tokens);
-    }
-  } else {
-    const fileKey = await getFileKey();
- 
-    await ClientStorageProperty.write('themes', fileKey, payload.compressedThemes);
-    await ClientStorageProperty.write('values', fileKey, payload.compressedTokens);
-    await ClientStorageProperty.write('checkForChanges', fileKey, payload.checkForChanges as unknown as string);
-  }
-  await UsedTokenSetProperty.write(payload.usedTokenSets);
-  await UpdatedAtProperty.write(payload.updatedAt);
-  await ActiveThemeProperty.write(payload.activeTheme);
-  await CollapsedTokenSetsProperty.write(payload.collapsedTokenSets);
-  await TokenFormatProperty.write(payload.tokenFormat);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html deleted file mode 100644 index 571386c65..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/utils/figmaStorage - - - - - - - - - -
-
-

All files src/utils/figmaStorage

-
- -
- 0% - Statements - 0/81 -
- - -
- 0% - Branches - 0/45 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/76 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
readSharedPluginData.ts -
-
0%0/290%0/190%0/30%0/28
writeSharedPluginData.ts -
-
0%0/520%0/260%0/10%0/48
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html deleted file mode 100644 index 7874d89cf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/readSharedPluginData.ts.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - Code coverage report for src/utils/figmaStorage/readSharedPluginData.ts - - - - - - - - - -
-
-

All files / src/utils/figmaStorage readSharedPluginData.ts

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/19 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/28 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// Metadata suffix for storing information about chunked data
-const METADATA_SUFFIX = '_meta';
- 
-// Chunk suffix prefix for chunk keys
-const CHUNK_SUFFIX_PREFIX = '_chunk_';
- 
-/**
- * Metadata structure for chunked data
- */
-type ChunkedDataMetadata = {
-  type: 'single' | 'chunked';
-  count?: number;
-};
- 
-/**
- * Reads data from Figma's shared plugin data, automatically handling chunked data if present
- * @param namespace The namespace to read from
- * @param key The key to read from
- * @param node The node to read from (defaults to figma.root)
- * @returns The data as a string or null if no data is found
- */
-export async function readSharedPluginData(
-  namespace: string,
-  key: string,
-  node: BaseNode = figma.root,
-): Promise<string | null> {
-  // For any properties other than values and themes, use regular read, no chunking
-  if (!['values', 'themes'].includes(key)) {
-    const value = node?.getSharedPluginData(namespace, key);
-    return value || null;
-  }
- 
-  // First, check if there's metadata for chunked data
-  const metaKey = `${key}${METADATA_SUFFIX}`;
-  const metaValue = node?.getSharedPluginData(namespace, metaKey);
- 
-  if (metaValue) {
-    try {
-      // Parse the metadata
-      const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
- 
-      if (metadata.type === 'single') {
-        // If it's a single chunk, just read the data
-        const value = node?.getSharedPluginData(namespace, key);
-        return value || null;
-      }
- 
-      if (metadata.type === 'chunked' && metadata.count) {
-        // Create an array of promises to read all chunks
-        const chunkPromises = Array.from({ length: metadata.count }, (_, i) => {
-          const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
-          return node?.getSharedPluginData(namespace, chunkKey);
-        });
- 
-        // Wait for all chunks to be read
-        const chunks = await Promise.all(chunkPromises);
- 
-        // Check if any chunks are missing
-        if (chunks.some((chunk) => !chunk)) {
-          console.error('One or more chunks are missing');
-          return null;
-        }
- 
-        // Join chunks and return
-        return chunks.join('');
-      }
- 
-      console.error('Unknown metadata type or missing count:', metadata);
-      return null;
-    } catch (err) {
-      console.error('Error parsing metadata:', err);
-      return null;
-    }
-  }
- 
-  // If no metadata is found, try reading the data directly (for backward compatibility)
-  const value = node?.getSharedPluginData(namespace, key);
-  return value || null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html deleted file mode 100644 index cc7adea4d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/figmaStorage/writeSharedPluginData.ts.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - Code coverage report for src/utils/figmaStorage/writeSharedPluginData.ts - - - - - - - - - -
-
-

All files / src/utils/figmaStorage writeSharedPluginData.ts

-
- -
- 0% - Statements - 0/52 -
- - -
- 0% - Branches - 0/26 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/48 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { getUTF16StringSize } from '@/utils/getUTF16StringSize';
-import { splitIntoChunks } from '@/utils/splitIntoChunks';
- 
-// Maximum size for a single chunk in bytes (95KB to stay safely under Figma's 100KB limit)
-const MAX_CHUNK_SIZE = 95 * 1024; // 95KB
- 
-// Metadata suffix for storing information about chunked data
-const METADATA_SUFFIX = '_meta';
- 
-// Chunk suffix prefix for chunk keys
-const CHUNK_SUFFIX_PREFIX = '_chunk_';
- 
-/**
- * Metadata structure for chunked data
- */
-type ChunkedDataMetadata = {
-  type: 'single' | 'chunked';
-  count?: number;
-};
- 
-/**
- * Writes data to Figma's shared plugin data, automatically chunking if needed
- * @param namespace The namespace to write to
- * @param key The key to write to
- * @param value The value to write
- * @param node The node to write to (defaults to figma.root)
- * @returns Promise that resolves when the write is complete
- */
-export async function writeSharedPluginData(
-  namespace: string,
-  key: string,
-  value: string | null,
-  node: BaseNode = figma.root,
-): Promise<void> {
-  if (!value) {
-    // If value is null, clear the data
-    node?.setSharedPluginData(namespace, key, '');
- 
-    // Also clear metadata and any chunks
-    const metaKey = `${key}${METADATA_SUFFIX}`;
-    node?.setSharedPluginData(namespace, metaKey, '');
- 
-    // Try to read metadata to see if there were chunks
-    try {
-      const metaValue = node?.getSharedPluginData(namespace, metaKey);
-      if (metaValue) {
-        const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
-        if (metadata.type === 'chunked' && metadata.count) {
-          // Clear all chunks
-          for (let i = 0; i < metadata.count; i += 1) {
-            const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
-            node?.setSharedPluginData(namespace, chunkKey, '');
-          }
-        }
-      }
-    } catch (err) {
-      // Ignore errors when clearing
-    }
- 
-    return;
-  }
- 
-  if (!['values', 'themes'].includes(key)) {
-    node?.setSharedPluginData(namespace, key, value);
-    return;
-  }
- 
-  // Get the byte length
-  const byteLength = getUTF16StringSize(value);
-  // If the value is small enough, store it directly
-  if (byteLength <= MAX_CHUNK_SIZE) {
-    // Set metadata to indicate single storage
-    const metaKey = `${key}${METADATA_SUFFIX}`;
-    node?.setSharedPluginData(namespace, metaKey, JSON.stringify({ type: 'single' }));
- 
-    // Store the data
-    node?.setSharedPluginData(namespace, key, value);
- 
-    // Try to clean up any old chunks
-    try {
-      const metaValue = node?.getSharedPluginData(namespace, metaKey);
-      if (metaValue) {
-        const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
-        if (metadata.type === 'chunked' && metadata.count) {
-          // Clear all old chunks
-          for (let i = 0; i < metadata.count; i += 1) {
-            const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
-            node?.setSharedPluginData(namespace, chunkKey, '');
-          }
-        }
-      }
-    } catch (err) {
-      // Ignore errors when clearing
-    }
-  } else {
-    // Split the data into chunks
-    const chunks = splitIntoChunks(value, MAX_CHUNK_SIZE);
-    const numChunks = chunks.length;
- 
-    // Set metadata to indicate chunked storage
-    const metaKey = `${key}${METADATA_SUFFIX}`;
-    node?.setSharedPluginData(
-      namespace,
-      metaKey,
-      JSON.stringify({
-        type: 'chunked',
-        count: numChunks,
-      }),
-    );
- 
-    // Store each chunk
-    for (let i = 0; i < numChunks; i += 1) {
-      const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
-      node?.setSharedPluginData(namespace, chunkKey, chunks[i]);
-    }
- 
-    // Clear the main key to avoid confusion
-    node?.setSharedPluginData(namespace, key, '');
- 
-    // Clean up any obsolete chunks
-    try {
-      const metaValue = node?.getSharedPluginData(namespace, metaKey);
-      if (metaValue) {
-        const metadata = JSON.parse(metaValue) as ChunkedDataMetadata;
-        if (metadata.type === 'chunked' && metadata.count && metadata.count > numChunks) {
-          // Clear obsolete chunks
-          for (let i = numChunks; i < metadata.count; i += 1) {
-            const chunkKey = `${key}${CHUNK_SUFFIX_PREFIX}${i}`;
-            node?.setSharedPluginData(namespace, chunkKey, '');
-          }
-        }
-      }
-    } catch (err) {
-      // Ignore errors when clearing
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html deleted file mode 100644 index 676504b11..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/filterValidCompositionTokenTypes.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/filterValidCompositionTokenTypes.ts - - - - - - - - - -
-
-

All files / src/utils filterValidCompositionTokenTypes.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export function filterValidCompositionTokenTypes(tokenTypes: string[]): string[] {
-  return tokenTypes.filter((item) => !([Properties.composition, Properties.description, Properties.value, Properties.tokenName, Properties.tokenValue].includes(item as Properties)));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html deleted file mode 100644 index 9cf46989c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/findAll.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/utils/findAll.ts - - - - - - - - - -
-
-

All files / src/utils findAll.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ValidNodeTypes } from '@/constants/ValidNodeTypes';
- 
-export function findAll(nodes: readonly BaseNode[], includeSelf = false, nodesWithoutPluginData = false): BaseNode[] {
-  let allNodes = includeSelf ? [...nodes] : [];
-  const pluginDataOptions = nodesWithoutPluginData
-    ? {}
-    : {
-      sharedPluginData: {
-        namespace: 'tokens',
-      },
-    };
-  nodes.forEach((node) => {
-    if ('children' in node) {
-      allNodes = allNodes.concat(
-        node.findAllWithCriteria({
-          types: ValidNodeTypes,
-          ...pluginDataOptions,
-        }),
-      );
-    }
-  });
-  return allNodes;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html deleted file mode 100644 index 50698a54d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/findBoundVariable.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/utils/findBoundVariable.ts - - - - - - - - - -
-
-

All files / src/utils findBoundVariable.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StyleToCreateToken } from '@/types/payloads';
- 
-export function findBoundVariable(
-  style: TextStyle,
-  propertyKey: string,
-  localVariables: Variable[],
-  compareValue: (el: StyleToCreateToken) => boolean,
-): (el: StyleToCreateToken) => boolean {
-  return (el: StyleToCreateToken) => {
-    if (style.boundVariables?.[propertyKey]?.id) {
-      const boundVar = localVariables.find((v) => v.id === style.boundVariables?.[propertyKey]?.id);
-      if (boundVar) {
-        const normalizedName = boundVar.name.replace(/\//g, '.');
-        return el.name === normalizedName;
-      }
-    }
-    return compareValue(el);
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html deleted file mode 100644 index 8b48fe520..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/findDifferentState.ts.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for src/utils/findDifferentState.ts - - - - - - - - - -
-
-

All files / src/utils findDifferentState.ts

-
- -
- 0% - Statements - 0/45 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ImportToken } from '@/types/tokens';
-import { isEqual } from './isEqual';
-import { ThemeObject } from '@/types';
-import { RemoteTokenStorageMetadata } from '@/storage/RemoteTokenStorage';
- 
-export type CompareStateType<Metadata = null> = {
-  tokens: Record<string, ImportToken[]>
-  themes: ImportTheme[]
-  metadata?: RemoteTokenStorageMetadata | Metadata
-};
- 
-export type ImportTheme = ThemeObject & {
-  importType?: 'NEW' | 'UPDATE' | 'REMOVE'
-};
- 
-export function findDifferentState(baseState: CompareStateType, compareState: CompareStateType): CompareStateType {
-  const entries: [string, ImportToken[]][] = [];
-  Object.entries(compareState.tokens)?.forEach(([tokenSet, values]) => {
-    const newTokens: ImportToken[] = [];
-    const updatedTokens: ImportToken[] = [];
-    const removedTokens: ImportToken[] = [];
-    // Find different tokens and new tokens in compareState
-    values.forEach((token) => {
-      const oldValue = baseState.tokens[tokenSet]?.find((t) => t.name === token.name);
-      if (oldValue) {
-        if (!isEqual(oldValue.value, token.value)) {
-          const updatedToken: ImportToken = { ...token };
-          updatedToken.oldValue = oldValue.value;
-          updatedToken.importType = 'UPDATE';
-          updatedTokens.push(updatedToken);
-        }
-        if (!isEqual(oldValue.description, token.description)) {
-          updatedTokens.push({
-            ...token,
-            oldDescription: oldValue.description,
-            importType: 'UPDATE',
-          });
-        }
-      } else {
-        newTokens.push({ ...token, importType: 'NEW' });
-      }
-    });
-    // Find the new tokens in baseState
-    baseState.tokens[tokenSet]?.forEach((token) => {
-      const oldValue = compareState.tokens[tokenSet]?.find((t) => t.name === token.name);
-      if (!oldValue) {
-        removedTokens.push({ ...token, importType: 'REMOVE' });
-      }
-    });
-    const totalUpdatedTokens = [...newTokens, ...updatedTokens, ...removedTokens];
-    entries.push([tokenSet, totalUpdatedTokens]);
-  });
- 
-  // Find the new tokenSet in baseState
-  Object.entries(baseState.tokens).forEach(([tokenSet, values]) => {
-    const isTokenSetRemoved = typeof compareState.tokens[tokenSet] === 'undefined';
-    if (isTokenSetRemoved) {
-      entries.push([tokenSet, values.map((token) => ({ ...token, importType: 'REMOVE' }))]);
-    }
-  });
- 
-  const changedThemes: ImportTheme[] = [];
-  const newThemes: ImportTheme[] = [];
-  const removedThemes: ImportTheme[] = [];
-  compareState.themes.forEach((theme) => {
-    const oldTheme = baseState.themes.find((t) => t.id === theme.id);
-    if (oldTheme) {
-      if (!isEqual(theme, oldTheme)) {
-        changedThemes.push({ ...theme, importType: 'UPDATE' });
-      }
-    } else {
-      newThemes.push({ ...theme, importType: 'NEW' });
-    }
-  });
- 
-  baseState.themes.forEach((theme) => {
-    if (!compareState.themes.find((t) => t.id === theme.id)) {
-      removedThemes.push({ ...theme, importType: 'REMOVE' });
-    }
-  });
- 
-  return {
-    // eslint-disable-next-line @typescript-eslint/no-unused-vars
-    tokens: Object.fromEntries(entries.filter(([_, tokens]) => tokens.length > 0)),
-    themes: [...newThemes, ...changedThemes, ...removedThemes],
-    metadata: !isEqual(baseState.metadata, compareState.metadata) ? compareState.metadata : null,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html deleted file mode 100644 index c62fc3d8b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/findReferences.tsx.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - Code coverage report for src/utils/findReferences.tsx - - - - - - - - - -
-
-

All files / src/utils findReferences.tsx

-
- -
- 0% - Statements - 0/45 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/42 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AliasDollarRegex, AliasRegex } from '@/constants/AliasRegex';
- 
-const OPENING_BRACE = '{';
-const CLOSING_BRACE = '}';
- 
-export const findReferences = (tokenValue: string) => {
-  const matches = tokenValue?.toString().match(AliasRegex);
-  if (matches) {
-    return matches.map((item) => {
-      if (item.startsWith('{')) {
-        return item.slice(1, item.length - 1);
-      }
-      return item.substring(1);
-    });
-  }
-  return null;
-};
- 
-export const findDollarReferences = (tokenValue: string) => tokenValue?.toString().match(AliasDollarRegex);
- 
-export const findMatchingReferences = (tokenValue: string, valueToLookFor: string) => {
-  const references = findReferences(tokenValue);
- 
-  if (references) {
-    return references.filter((ref) => {
-      if (ref === valueToLookFor) return ref;
-      return false;
-    });
-  }
-  return [];
-};
- 
-export const replaceReferences = (tokenValue: string, oldName: string, newName: string) => {
-  try {
-    if (tokenValue.includes(oldName)) {
-      const references = findMatchingReferences(tokenValue, oldName);
-      let newValue = tokenValue;
-      references.forEach((reference) => {
-        newValue = newValue.replace(reference, newName);
-      });
-      return newValue;
-    }
-  } catch (e) {
-    console.log('Error replacing reference', tokenValue, oldName, newName, e);
-  }
- 
-  return tokenValue;
-};
- 
-export const getRootReferences = (tokenValue: string) => {
-  const array:string[] = [];
-  let depth = 0;
-  let startIndex = 0;
-  for (let i = 0; i < tokenValue.length; i += 1) {
-    if (tokenValue[i] === OPENING_BRACE) {
-      if (depth === 0) {
-        startIndex = i;
-      }
-      depth += 1;
-    }
-    if (tokenValue[i] === CLOSING_BRACE && depth > 0) {
-      depth -= 1;
-      if (depth === 0) {
-        array.push(tokenValue.substring(startIndex, i + 1));
-      }
-    }
-  }
- 
-  return array.concat(findDollarReferences(tokenValue) || []);
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html deleted file mode 100644 index 905685ddb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatCount.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/utils/formatCount.ts - - - - - - - - - -
-
-

All files / src/utils formatCount.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/**
- * Format count to show "1k" for 1000 and "1.3k" for numbers over 1100
- * @param count The number to format
- * @returns Formatted string representation of the count
- */
-export const formatCount = (count: number): string => {
-  if (count >= 1000) {
-    // For exact multiples of 1000, show without decimal
-    if (count % 1000 === 0) {
-      return `${count / 1000}k`;
-    }
-    // For numbers between 1000-1100, round down to 1k
-    if (count < 1100) {
-      return '1k';
-    }
-    // For other numbers, show with one decimal place
-    return `${(count / 1000).toFixed(1)}k`;
-  }
-  return count.toString();
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html deleted file mode 100644 index a4f5a612f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatNumber.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/formatNumber.ts - - - - - - - - - -
-
-

All files / src/utils formatNumber.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export function formatNumber(num: number): string {
-  if (num >= 1000) {
-    return `${(num / 1000).toFixed(1)}k`;
-  }
-  return num.toString();
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html deleted file mode 100644 index 772bae455..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/formatTokens.ts.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - Code coverage report for src/utils/formatTokens.ts - - - - - - - - - -
-
-

All files / src/utils formatTokens.ts

-
- -
- 0% - Statements - 0/25 -
- - -
- 0% - Branches - 0/39 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/24 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import set from 'set-value';
-import { expand } from '@/utils/expand';
-import { AnyTokenList } from '@/types/tokens';
-import { TokenTypes } from '@/constants/TokenTypes';
-import removeTokenId from './removeTokenId';
-import { convertTokenToFormat } from './convertTokenToFormat';
-import { getGroupTypeName } from './stringifyTokens';
- 
-type Options = {
-  tokens: Record<string, AnyTokenList>;
-  tokenSets: string[];
-  resolvedTokens: AnyTokenList;
-  includeAllTokens?: boolean;
-  includeParent?: boolean;
-  expandTypography?: boolean;
-  expandShadow?: boolean;
-  expandComposition?: boolean;
-  expandBorder?: boolean;
-  storeTokenIdInJsonEditor?: boolean
-};
- 
-export default function formatTokens({
-  tokens,
-  tokenSets,
-  resolvedTokens,
-  includeAllTokens = false,
-  includeParent = true,
-  expandTypography = false,
-  expandShadow = false,
-  expandComposition = false,
-  expandBorder = false,
-  storeTokenIdInJsonEditor = false,
-}: Options) {
-  const nestUnderParent = includeAllTokens ? true : includeParent;
-  const tokenObj = {};
-  tokenSets.forEach((tokenSet) => {
-    tokens[tokenSet]?.forEach((token) => {
-      const { name, ...tokenWithoutName } = removeTokenId(token, !storeTokenIdInJsonEditor);
- 
-      const convertedToFormat = convertTokenToFormat(tokenWithoutName);
-      // set type of group level
-      if (token.inheritTypeLevel) {
-        const nameToSet = getGroupTypeName(token.name, token.inheritTypeLevel);
-        set(tokenObj, nestUnderParent ? [tokenSet, nameToSet].join('.') : nameToSet, token.type, { merge: true });
-      }
-      if (
-        (token.type === TokenTypes.TYPOGRAPHY && expandTypography)
-        || (token.type === TokenTypes.BOX_SHADOW && expandShadow)
-        || (token.type === TokenTypes.COMPOSITION && expandComposition)
-        || (token.type === TokenTypes.BORDER && expandBorder)
-      ) {
-        if (typeof token.value === 'string') {
-          const resolvedToken = resolvedTokens.find((t) => t.name === name);
-          if (resolvedToken) {
-            if (typeof resolvedToken.value === 'string') {
-              set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, convertedToFormat);
-            } else {
-              const expanded = expand(resolvedToken?.value);
-              const expandedToFormat = convertTokenToFormat(expanded, true);
-              set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, { ...expandedToFormat });
-            }
-          } else {
-            set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, convertedToFormat);
-          }
-        } else {
-          const expanded = expand(tokenWithoutName.value);
-          const expandedToFormat = convertTokenToFormat(expanded, true);
- 
-          set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, { ...expandedToFormat });
-        }
-      } else {
-        set(tokenObj, nestUnderParent ? [tokenSet, token.name].join('.') : token.name, convertedToFormat);
-      }
-    });
-  });
- 
-  return JSON.stringify(tokenObj, null, 2);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html deleted file mode 100644 index fe65d03b1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/fuzzySearch.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/utils/fuzzySearch.ts - - - - - - - - - -
-
-

All files / src/utils fuzzySearch.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable no-plusplus */
-/* eslint-disable no-labels */
-/* eslint-disable no-continue */
-export default function fuzzySearch(needle: string, haystack: string) {
-  const hlen = haystack.length;
-  const nlen = needle.length;
-  if (nlen > hlen) {
-    return false;
-  }
-  if (nlen === hlen) {
-    return needle === haystack;
-  }
-  // eslint-disable-next-line no-restricted-syntax
-  outer: for (let i = 0, j = 0; i < nlen; i++) {
-    const nch = needle.charCodeAt(i);
-    while (j < hlen) {
-      if (haystack.charCodeAt(j++) === nch) {
-        continue outer;
-      }
-    }
-    return false;
-  }
-  return true;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html deleted file mode 100644 index 57eb8eee7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/generateId.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/generateId.ts - - - - - - - - - -
-
-

All files / src/utils generateId.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
export function generateId(len: number, charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {
-  let randomString = '';
-  for (let i = 0; i < len; i += 1) {
-    const randomPoz = Math.floor(Math.random() * charSet.length);
-    randomString += charSet.substring(randomPoz, randomPoz + 1);
-  }
-  return randomString;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html deleted file mode 100644 index c6cac0d80..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getActiveTheme.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/getActiveTheme.ts - - - - - - - - - -
-
-

All files / src/utils getActiveTheme.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { ActiveThemeProperty } from '@/figmaStorage';
- 
-export async function getActiveTheme(): Promise<string | Record<string, string>> {
-  const activeTheme = await ActiveThemeProperty.read();
-  if (activeTheme) {
-    return activeTheme;
-  }
-  return {};
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html deleted file mode 100644 index ae4e7c2bb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesIdMap.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/getEffectStylesIdMap.ts - - - - - - - - - -
-
-

All files / src/utils getEffectStylesIdMap.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export function getEffectStylesIdMap() {
-  const effectStyles = figma.getLocalEffectStyles();
-  const effectStylesToIdMap = new Map<string, EffectStyle>();
-  effectStyles.forEach((style) => effectStylesToIdMap.set(style.id, style));
-  return effectStylesToIdMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html deleted file mode 100644 index 3ecb6967c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getEffectStylesKeyMap.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/utils/getEffectStylesKeyMap.ts - - - - - - - - - -
-
-

All files / src/utils getEffectStylesKeyMap.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
export function getEffectStylesKeyMap() {
-  const effectStyles = figma.getLocalEffectStyles();
-  const effectStylesToKeyMap = new Map<string, EffectStyle>();
-  effectStyles.forEach((style) => {
-    const splitName = style.name.split('/').map((name) => name.trim());
-    const trimmedName = splitName.join('/');
-    return effectStylesToKeyMap.set(trimmedName, style);
-  });
-  return effectStylesToKeyMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html deleted file mode 100644 index 91da80248..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLabelForProperty.tsx.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - Code coverage report for src/utils/getLabelForProperty.tsx - - - - - - - - - -
-
-

All files / src/utils getLabelForProperty.tsx

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import {
-  IconFontSize, IconLetterSpacing, IconParagraphSpacing, IconLineHeight, IconTextCase, IconTextDecoration, IconParagraphIndent,
-} from '@/icons';
- 
-// write a function that maps a key to a react component and returns that component or the text label
-export function getLabelForProperty(key: string): React.ReactElement | string {
-  switch (key) {
-    case 'fontSize': {
-      return <IconFontSize />;
-    }
-    case 'letterSpacing': {
-      return <IconLetterSpacing />;
-    }
-    case 'lineHeight': {
-      return <IconLineHeight />;
-    }
-    case 'paragraphSpacing': {
-      return <IconParagraphSpacing />;
-    }
-    case 'paragraphIndent': {
-      return <IconParagraphIndent />;
-    }
-    case 'textDecoration': {
-      return <IconTextDecoration />;
-    }
-    case 'textCase': {
-      return <IconTextCase />;
-    }
-    case 'fontFamily': {
-      return 'Font';
-    }
-    case 'fontWeight': {
-      return 'Weight';
-    }
-    case 'width': {
-      return 'Width';
-    }
-    case 'style': {
-      return 'Style';
-    }
-    case 'lighten': {
-      return 'Amount (0-1)';
-    }
-    case 'darken': {
-      return 'Amount (0-1)';
-    }
-    case 'mix': {
-      return 'Ratio (0-1)';
-    }
-    case 'alpha': {
-      return 'Opacity (0-1)';
-    }
-    default: {
-      return key;
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html deleted file mode 100644 index af75bf597..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLastOpened.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/utils/getLastOpened.ts - - - - - - - - - -
-
-

All files / src/utils getLastOpened.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { LastOpenedProperty } from '@/figmaStorage';
- 
-export default async function getLastOpened(): Promise<number> {
-  let data: number;
-  try {
-    // Set specific date as lastOpened if none existed (when we started the changelog)
-    data = await LastOpenedProperty.read() || 0;
-    await LastOpenedProperty.write(Date.now());
-  } catch (e) {
-    console.error('error retrieving lastOpened', e);
-    await LastOpenedProperty.write(Date.now());
-    data = 0;
-  }
- 
-  return data;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html deleted file mode 100644 index b40d245d4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getLicenseKey.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/utils/getLicenseKey.ts - - - - - - - - - -
-
-

All files / src/utils getLicenseKey.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { handleReactError } from './error/handleReactError';
- 
-type GetLicenseKeyResponse =
-  { key: string; }
-  | { error: string; };
- 
-export default async function getLicenseKey(userId: string | null): Promise<GetLicenseKeyResponse> {
-  try {
-    const res = await fetch(`${process.env.LICENSE_API_URL}/get-license?userId=${userId}`);
-    if (res.status === 200) {
-      return await res.json();
-    }
- 
-    const { message } = await res.json();
-    return {
-      error: message,
-    };
-  } catch (e) {
-    handleReactError(e);
-    return {
-      error: 'Error fetching license',
-    };
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html deleted file mode 100644 index 47229274b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getOnboardingExplainer.ts.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/utils/getOnboardingExplainer.ts - - - - - - - - - -
-
-

All files / src/utils getOnboardingExplainer.ts

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  OnboardingExplainerSetsProperty, OnboardingExplainerSyncProvidersProperty, OnboardingExplainerInspectProperty, LastOpenedProperty, OnboardingExplainerExportSetsProperty,
-} from '@/figmaStorage';
- 
-const data = {
-  sets: true,
-  exportSets: true,
-  syncProviders: true,
-  inspect: true,
-};
-let lastopend: number = 0;
- 
-export default async function getOnboardingExplainer() {
-  try {
-    // Set onboarding explainer status as true if lastopend none existed
-    lastopend = await LastOpenedProperty.read() || 0;
-    if (lastopend) {
-      data.sets = await OnboardingExplainerSetsProperty.read() || false;
-      data.exportSets = await OnboardingExplainerExportSetsProperty.read() || false;
-      data.syncProviders = await OnboardingExplainerSyncProvidersProperty.read() || false;
-      data.inspect = await OnboardingExplainerInspectProperty.read() || false;
-    } else {
-      await OnboardingExplainerSetsProperty.write(true);
-      await OnboardingExplainerExportSetsProperty.write(true);
-      await OnboardingExplainerSyncProvidersProperty.write(true);
-      await OnboardingExplainerInspectProperty.write(true);
-    }
-  } catch (e) {
-    console.error('error retrieving onboardingExplainers', e);
-    await OnboardingExplainerSetsProperty.write(true);
-    await OnboardingExplainerExportSetsProperty.write(true);
-    await OnboardingExplainerSyncProvidersProperty.write(true);
-    await OnboardingExplainerInspectProperty.write(true);
-  }
- 
-  return data;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html deleted file mode 100644 index 65be668b8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesIdMap.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/getPaintStylesIdMap.ts - - - - - - - - - -
-
-

All files / src/utils getPaintStylesIdMap.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export function getPaintStylesIdMap() {
-  const paints = figma.getLocalPaintStyles();
-  const paintToIdMap = new Map<string, PaintStyle>();
-  paints.forEach((style) => paintToIdMap.set(style.id, style));
-  return paintToIdMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html deleted file mode 100644 index 60c1d4b78..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPaintStylesKeyMap.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/utils/getPaintStylesKeyMap.ts - - - - - - - - - -
-
-

All files / src/utils getPaintStylesKeyMap.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
export function getPaintStylesKeyMap() {
-  const paints = figma.getLocalPaintStyles();
-  const paintToKeyMap = new Map<string, PaintStyle>();
-  paints.forEach((style) => {
-    const splitName = style.name.split('/').map((name) => name.trim());
-    const trimmedName = splitName.join('/');
-    return paintToKeyMap.set(trimmedName, style);
-  });
-  return paintToKeyMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html deleted file mode 100644 index e9426d483..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getPathName.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/getPathName.ts - - - - - - - - - -
-
-

All files / src/utils getPathName.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export function getPathName(ref: string) {
-  if (ref.startsWith('{')) {
-    return ref.slice(1, ref.length - 1);
-  }
-  return ref.substring(1);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html deleted file mode 100644 index ae9c53f06..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getProviderIcon.tsx.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for src/utils/getProviderIcon.tsx - - - - - - - - - -
-
-

All files / src/utils getProviderIcon.tsx

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import { ArchiveIcon, GitHubLogoIcon, Link2Icon } from '@radix-ui/react-icons';
-import { IconFile } from '@/icons';
-import GitLabIcon from '@/icons/gitlab.svg';
-import ADOIcon from '@/icons/azure.svg';
-import JSONBinIcon from '@/icons/jsonbin.svg';
-import SupernovaIcon from '@/icons/supernova.svg';
-import TokensStudioIcon from '@/icons/tokensstudio.svg';
-import BitBucketIcon from '@/icons/bitbucket.svg';
-import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export function getProviderIcon(provider: StorageProviderType) {
-  switch (provider) {
-    case StorageProviderType.LOCAL:
-      return <IconFile />;
-    case StorageProviderType.URL:
-      return <Link2Icon />;
-    case StorageProviderType.GITHUB:
-      return <GitHubLogoIcon />;
-    case StorageProviderType.GITLAB:
-      return <GitLabIcon />;
-    case StorageProviderType.ADO:
-      return <ADOIcon />;
-    case StorageProviderType.BITBUCKET:
-      return <BitBucketIcon />;
-    case StorageProviderType.JSONBIN:
-      return <JSONBinIcon />;
-    case StorageProviderType.SUPERNOVA:
-      return <SupernovaIcon />;
-    case StorageProviderType.GENERIC_VERSIONED_STORAGE:
-      return <ArchiveIcon />;
-    case StorageProviderType.TOKENS_STUDIO:
-      return <TokensStudioIcon />;
-    default:
-      return null;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html deleted file mode 100644 index c872aa83c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getResolvedTextValue.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/getResolvedTextValue.ts - - - - - - - - - -
-
-

All files / src/utils getResolvedTextValue.ts

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
- 
-export default function getResolvedTextValue(token: SingleToken) {
-  let returnValue: string = '';
-  if (token.type === TokenTypes.TYPOGRAPHY || token.type === TokenTypes.BOX_SHADOW) {
-    if (Array.isArray(token.value)) {
-      const array = token.value.reduce<Array<string>>((totalAcc, item) => {
-        const singleReturnValue = Object.entries(item).reduce<Array<string>>((acc, [, propertyValue]) => (
-          acc.concat(`${propertyValue.toString()}`)
-        ), []);
-        return totalAcc.concat(`${singleReturnValue.join('/')}`);
-      }, []);
-      returnValue = array.join(',');
-    } else {
-      const array = Object.entries(token.value).reduce<Array<string>>((acc, [, propertyValue]) => (
-        acc.concat(`${propertyValue.toString()}`)
-      ), []);
-      returnValue = array.join('/');
-    }
-  } else if (token.type === TokenTypes.COMPOSITION) {
-    const array = Object.entries(token.value).reduce<Array<string>>((acc, [property, value]) => (
-      acc.concat(`${property}:${value}`)
-    ), []);
-    returnValue = array.join(',');
-  } else if (typeof token.value === 'string' || typeof token.value === 'number') {
-    returnValue = token.value;
-  }
-  return returnValue;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html deleted file mode 100644 index d28fb2f8e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesIdMap.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/getTextStylesIdMap.ts - - - - - - - - - -
-
-

All files / src/utils getTextStylesIdMap.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export function getTextStylesIdMap() {
-  const textStyles = figma.getLocalTextStyles();
-  const textStyleToIdMap = new Map<string, TextStyle>();
-  textStyles.forEach((style) => textStyleToIdMap.set(style.id, style));
-  return textStyleToIdMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html deleted file mode 100644 index 999f747fe..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTextStylesKeyMap.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/utils/getTextStylesKeyMap.ts - - - - - - - - - -
-
-

All files / src/utils getTextStylesKeyMap.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
export function getTextStylesKeyMap() {
-  const textStyles = figma.getLocalTextStyles();
-  const textStyleToKeyMap = new Map<string, TextStyle>();
-  textStyles.forEach((style) => {
-    const splitName = style.name.split('/').map((name) => name.trim());
-    const trimmedName = splitName.join('/');
-    return textStyleToKeyMap.set(trimmedName, style);
-  });
-  return textStyleToKeyMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html deleted file mode 100644 index 6f2292d0f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenSetsOrder.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/utils/getTokenSetsOrder.ts - - - - - - - - - -
-
-

All files / src/utils getTokenSetsOrder.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { UsedTokenSetsMap } from '@/types';
-import { SingleToken } from '@/types/tokens';
-import { sortSets } from './sortSets';
- 
-export function getTokenSetsOrder(
-  tokens: Record<string, SingleToken[]>,
-  usedSets: UsedTokenSetsMap,
-  overallConfig: UsedTokenSetsMap,
-  activeTokenSet?: string,
-): { tokenSetsOrder: string[]; usedSetsList: string[]; overallSets: string[]; } {
-  const originalTokenSetOrder = Object.keys(tokens);
-  const usedSetsList = originalTokenSetOrder.filter((key) => usedSets[key] === TokenSetStatus.ENABLED || usedSets[key] === TokenSetStatus.SOURCE);
-  const overallSets = originalTokenSetOrder
-    .filter((set) => !usedSetsList.includes(set))
-    .sort((a, b) => sortSets(a, b, overallConfig));
- 
-  if (activeTokenSet) {
-    usedSetsList.splice(usedSetsList.indexOf(activeTokenSet), 1);
-    usedSetsList.push(activeTokenSet);
-  }
- 
-  const tokenSetsOrder = [...overallSets, ...usedSetsList];
- 
-  return { tokenSetsOrder, usedSetsList, overallSets };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html deleted file mode 100644 index bb1c1f608..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenTypeKey.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/getTokenTypeKey.ts - - - - - - - - - -
-
-

All files / src/utils getTokenTypeKey.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-export function getTokenTypeKey(ignoreTokenFormat: boolean = false): string {
-  const key = TokenFormat.tokenTypeKey;
-  return ignoreTokenFormat && key.startsWith('$') ? key.slice(1) : key;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html deleted file mode 100644 index 74cd629b5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getTokenValueKey.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/getTokenValueKey.ts - - - - - - - - - -
-
-

All files / src/utils getTokenValueKey.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
- 
-export function getTokenValueKey(ignoreTokenFormat: boolean = false): string {
-  const key = TokenFormat.tokenValueKey;
-  return ignoreTokenFormat && key.startsWith('$') ? key.slice(1) : key;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html deleted file mode 100644 index 5eecb7441..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getUTF16StringSize.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/getUTF16StringSize.ts - - - - - - - - - -
-
-

All files / src/utils getUTF16StringSize.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export function getUTF16StringSize(str: string): number {
-  return str.length * 2; // UTF-16 uses 2 bytes per character
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html deleted file mode 100644 index 00264b306..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getUsedTokenSet.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/utils/getUsedTokenSet.ts - - - - - - - - - -
-
-

All files / src/utils getUsedTokenSet.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { UsedTokenSetProperty } from '@/figmaStorage';
-import { UsedTokenSetsMap } from '@/types';
-import { migrate } from './migrate';
- 
-export async function getUsedTokenSet(): Promise<UsedTokenSetsMap | null> {
-  const usedTokenSets = await UsedTokenSetProperty.read();
-  let migratedUsedTokenSet: UsedTokenSetsMap = {};
-  if (usedTokenSets) {
-    // @README in previous versions the used tokens were saved as string[]
-    // this means we will need to normalize it into the new format to support
-    // multi-state token sets (disabled,source,enabled)
-    migratedUsedTokenSet = migrate<typeof usedTokenSets, UsedTokenSetsMap>(
-      usedTokenSets,
-      (input): input is string[] => Array.isArray(input),
-      (input) => (
-        Object.fromEntries<TokenSetStatus>(
-          input.map((tokenSet) => (
-            [tokenSet, TokenSetStatus.ENABLED]
-          )),
-        )
-      ),
-    );
- 
-    return migratedUsedTokenSet;
-  }
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html deleted file mode 100644 index 725f57820..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getValueWithReferences.ts.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - Code coverage report for src/utils/getValueWithReferences.ts - - - - - - - - - -
-
-

All files / src/utils getValueWithReferences.ts

-
- -
- 0% - Statements - 0/26 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleToken } from '@/types/tokens';
-import { TokenBoxshadowValue, TokenTypographyValue } from '@/types/values';
-import { TransformerOptions } from './types';
- 
-function getSimpleValue(resolvedValue: SingleToken['value'], rawValue: SingleToken['value'], options: TransformerOptions) {
-  let value = resolvedValue;
-  /*
-   * ***************************************************************************
-   * TOKEN EXAMPLES WHEN USING --resolveReferences='math'
-   * ***************************************************************************
-   * {spacing.xs} * 2                 =>  MATH EXPRESSION       => RESOLVE
-   * {spacing.xs} * {spacing.scale}   =>  MATH EXPRESSION       => RESOLVE
-   *
-   * {spacing.xs}                     =>  SINGLE TOKEN          => DON'T RESOLVE
-   * {spacing.xs}rem                  =>  SINGLE TOKEN + UNIT   => DON'T RESOLVE
-   * {spacing.xs}{spacing.unit}       =>  MULTIPLE TOKENS       => DON'T RESOLVE
-   *
-   * rgba(255, 0, 0, {opacity.low})   =>  CSS FUNCTION          => DON'T RESOLVE
-   * calc({spacing.xl} * 2)           =>  CSS FUNCTION          => DON'T RESOLVE
-   * 20% {border-radius.smooth}       =>  CSS LIST VALUE        => DON'T RESOLVE
-   * ***************************************************************************
-   */
- 
-  if (typeof rawValue === 'string' && resolvedValue.toString() !== rawValue) {
-    if (options.resolveReferences === false) {
-      value = rawValue;
-    }
-    if (options.resolveReferences === 'math') {
-      const singleAliasRegEx = /^{[^}]*}$|^\$[^$]*$/;
-      const oneOrMoreAliasRegEx = /{[^}]*}|\$[\w.-]*/g;
-      const aliasRegEx = typeof resolvedValue === 'number' ? singleAliasRegEx : oneOrMoreAliasRegEx;
-      if (aliasRegEx.test(rawValue)) {
-        value = rawValue;
-      }
-    }
-  }
-  return value as string; // TODO: remove `as string` when SingleGenericToken supports value as `string|number`
-}
- 
-function getComplexValue<T extends SingleToken['value']>(
-  resolvedValue: T,
-  rawValue: T,
-  options: TransformerOptions,
-) {
-  type IndexedValueType = Record<string, string | number>;
-  if (typeof resolvedValue === 'object') {
-    return Object.entries(resolvedValue).reduce((acc, [key, val]) => {
-      const rawVal = (rawValue as IndexedValueType)[key];
-      // TODO: Remove as SingleToken["value"]
-      acc[key] = getSimpleValue(val as SingleToken['value'], rawVal as SingleToken['value'], options);
-      return acc;
-    }, {} as IndexedValueType) as T;
-  }
-  return getSimpleValue(resolvedValue as SingleToken['value'], rawValue as SingleToken['value'], options) as T;
-}
- 
-export function getValueWithReferences(token: SingleToken, options: TransformerOptions) {
-  if (token.rawValue === undefined) {
-    return token.value;
-  }
- 
-  if (token.type === TokenTypes.TYPOGRAPHY || token.type === TokenTypes.BOX_SHADOW || token.type === TokenTypes.COMPOSITION || token.type === TokenTypes.BORDER) {
-    if (Array.isArray(token.value)) {
-      const rawValue = token.rawValue as TokenBoxshadowValue[];
-      return token.value.map((shadow, index) => getComplexValue(shadow, rawValue[index], options));
-    }
-    return getComplexValue(token.value, token.rawValue as TokenTypographyValue | TokenBoxshadowValue, options);
-  }
- 
-  return getSimpleValue(token.value, token.rawValue, options);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html deleted file mode 100644 index a45020498..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/getVariablesMap.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/getVariablesMap.ts - - - - - - - - - -
-
-

All files / src/utils getVariablesMap.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
import { getVariablesWithoutZombies } from '@/plugin/getVariablesWithoutZombies';
- 
-export async function getVariablesMap() {
-  return (await getVariablesWithoutZombies()).reduce<Record<string, Variable>>((acc, curr) => {
-    acc[curr.key] = curr;
-    return acc;
-  }, {});
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html deleted file mode 100644 index 35d3c80e3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokenValues.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/hasTokenValues.ts - - - - - - - - - -
-
-

All files / src/utils hasTokenValues.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { AnyTokenList } from '@/types/tokens';
- 
-export function hasTokenValues(values: Record<string, AnyTokenList>) {
-  return Object.values(values ?? {}).some((value) => value.length > 0);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html deleted file mode 100644 index 8608a41a9..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/hasTokens.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/hasTokens.ts - - - - - - - - - -
-
-

All files / src/utils hasTokens.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { NodeTokenRefMap } from '@/types/NodeTokenRefMap';
- 
-export function hasTokens(map: NodeTokenRefMap) {
-  return Object.values(map).some((value) => !!value);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/index.html deleted file mode 100644 index f3814e4cb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/index.html +++ /dev/null @@ -1,1691 +0,0 @@ - - - - - - Code coverage report for src/utils - - - - - - - - - -
-
-

All files src/utils

-
- -
- 0.27% - Statements - 4/1441 -
- - -
- 0% - Branches - 0/1148 -
- - -
- 0.74% - Functions - 2/267 -
- - -
- 0.22% - Lines - 3/1363 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
TokenResolver.ts -
-
0%0/1300%0/1150%0/80%0/129
addIdPropertyToTokens.ts -
-
0%0/100%0/40%0/30%0/10
addLicenseKey.ts -
-
0%0/170%0/60%0/10%0/17
analytics.tsx -
-
0%0/90%0/130%0/40%0/9
annotations.tsx -
-
0%0/1290%0/330%0/90%0/127
attemptOrFallback.ts -
-
0%0/4100%0/00%0/10%0/4
checkIfTokenCanCreateVariable.ts -
-
0%0/110%0/370%0/10%0/11
checkStorageSize.ts -
-
0%0/8100%0/00%0/10%0/8
compareLastSyncedState.ts -
-
0%0/50%0/20%0/10%0/5
convert.ts -
-
0%0/60%0/50%0/30%0/4
convertModifiedColorToHex.ts -
-
0%0/6100%0/00%0/10%0/6
convertToDefaultProperty.ts -
-
0%0/230%0/260%0/10%0/23
convertToOrderObj.ts -
-
0%0/3100%0/00%0/20%0/3
convertTokenNameToPath.ts -
-
0%0/80%0/60%0/20%0/7
convertTokenToFormat.ts -
-
0%0/130%0/130%0/20%0/11
convertTokenTypeToVariableType.ts -
-
0%0/70%0/100%0/10%0/7
convertTokens.tsx -
-
0%0/510%0/650%0/60%0/48
convertTokensObjectToResolved.ts -
-
0%0/60%0/30%0/20%0/6
convertTokensToGroupedObject.ts -
-
0%0/220%0/240%0/20%0/22
convertTokensToObject.ts -
-
0%0/210%0/60%0/30%0/21
convertVariableTypeToProperty.ts -
-
0%0/70%0/60%0/10%0/7
credentials.ts -
-
0%0/310%0/220%0/60%0/28
detectFormat.tsx -
-
0%0/80%0/60%0/10%0/6
expand.ts -
-
0%0/80%0/40%0/20%0/8
fetchFeatureFlags.ts -
-
0%0/160%0/120%0/40%0/16
filterValidCompositionTokenTypes.ts -
-
0%0/2100%0/00%0/20%0/1
findAll.ts -
-
0%0/60%0/80%0/20%0/6
findBoundVariable.ts -
-
0%0/80%0/40%0/30%0/7
findDifferentState.ts -
-
0%0/450%0/180%0/130%0/40
findReferences.tsx -
-
0%0/450%0/220%0/80%0/42
formatCount.ts -
-
0%0/80%0/60%0/10%0/8
formatNumber.ts -
-
0%0/30%0/20%0/10%0/3
formatTokens.ts -
-
0%0/250%0/390%0/40%0/24
fuzzySearch.ts -
-
0%0/160%0/60%0/10%0/13
generateId.ts -
-
0%0/60%0/10%0/10%0/5
getActiveTheme.ts -
-
0%0/40%0/20%0/10%0/4
getEffectStylesIdMap.ts -
-
0%0/5100%0/00%0/20%0/4
getEffectStylesKeyMap.ts -
-
0%0/8100%0/00%0/30%0/7
getLabelForProperty.tsx -
-
0%0/170%0/160%0/10%0/17
getLastOpened.ts -
-
0%0/70%0/20%0/10%0/7
getLicenseKey.ts -
-
0%0/80%0/20%0/10%0/8
getOnboardingExplainer.ts -
-
0%0/190%0/120%0/10%0/19
getPaintStylesIdMap.ts -
-
0%0/5100%0/00%0/20%0/4
getPaintStylesKeyMap.ts -
-
0%0/8100%0/00%0/30%0/7
getPathName.ts -
-
0%0/30%0/20%0/10%0/3
getProviderIcon.tsx -
-
0%0/120%0/110%0/10%0/12
getResolvedTextValue.ts -
-
0%0/180%0/120%0/50%0/18
getTextStylesIdMap.ts -
-
0%0/5100%0/00%0/20%0/4
getTextStylesKeyMap.ts -
-
0%0/8100%0/00%0/30%0/7
getTokenSetsOrder.ts -
-
0%0/110%0/40%0/40%0/10
getTokenTypeKey.ts -
-
0%0/20%0/50%0/10%0/2
getTokenValueKey.ts -
-
0%0/20%0/50%0/10%0/2
getUTF16StringSize.ts -
-
0%0/1100%0/00%0/10%0/1
getUsedTokenSet.ts -
-
0%0/90%0/20%0/40%0/9
getValueWithReferences.ts -
-
0%0/260%0/240%0/50%0/25
getVariablesMap.ts -
-
0%0/3100%0/00%0/20%0/3
hasTokenValues.ts -
-
0%0/20%0/20%0/20%0/1
hasTokens.ts -
-
0%0/2100%0/00%0/20%0/1
isAliasReference.ts -
-
0%0/10%0/30%0/10%0/1
isAutoLayout.tsx -
-
0%0/20%0/20%0/10%0/1
isColorEqual.ts -
-
0%0/1100%0/00%0/10%0/1
isEffectEqual.ts -
-
0%0/70%0/240%0/10%0/7
isEqual.ts -
-
0%0/370%0/310%0/40%0/35
isJSONString.ts -
-
0%0/4100%0/00%0/10%0/4
isPaintEqual.ts -
-
0%0/110%0/220%0/40%0/11
isSameCredentials.ts -
-
0%0/80%0/270%0/10%0/8
lastIndexOf.ts -
-
0%0/50%0/20%0/10%0/4
ldUserFactory.ts -
-
0%0/40%0/20%0/20%0/4
mapThemeToVariableInfo.ts -
-
0%0/50%0/40%0/20%0/4
mapTokensToVariableInfo.ts -
-
0%0/10%0/60%0/10%0/1
matchStyleName.ts -
-
0%0/10%0/40%0/10%0/1
matchVariableName.ts -
-
0%0/1100%0/00%0/10%0/1
migrate.ts -
-
0%0/30%0/20%0/10%0/3
mixpanel.tsx -
-
0%0/00%0/00%0/00%0/0
modifyColor.ts -
-
0%0/170%0/50%0/10%0/17
normalizeVariableName.ts -
-
100%4/4100%0/0100%2/2100%3/3
parseJson.ts -
-
0%0/1100%0/00%0/10%0/1
parseTokenValues.ts -
-
0%0/140%0/60%0/20%0/14
removeIdPropertyFromTokens.ts -
-
0%0/6100%0/00%0/30%0/5
removeLicense.ts -
-
0%0/100%0/20%0/10%0/10
removeTokenId.ts -
-
0%0/90%0/180%0/10%0/9
reorderItemInSet.ts -
-
0%0/00%0/00%0/10%0/0
setTokenKey.ts -
-
0%0/100%0/80%0/10%0/10
sortSelectionValueByProperties.ts -
-
0%0/4100%0/00%0/30%0/3
sortSets.ts -
-
0%0/90%0/160%0/10%0/6
splitIntoChunks.ts -
-
0%0/160%0/40%0/10%0/15
storyblok.ts -
-
0%0/120%0/60%0/30%0/11
stringifyTokens.ts -
-
0%0/300%0/80%0/30%0/30
themeListToTree.ts -
-
0%0/110%0/280%0/40%0/11
tokenArrayGroupToMap.ts -
-
0%0/3100%0/00%0/20%0/2
tokenHelpers.ts -
-
0%0/300%0/260%0/120%0/26
transform.ts -
-
0%0/1100%0/00%0/10%0/1
transformProviderName.tsx -
-
0%0/110%0/90%0/10%0/11
trimValue.ts -
-
0%0/100%0/40%0/40%0/10
tryApplyColorVariableId.ts -
-
0%0/270%0/240%0/10%0/25
tryApplyEffectVariableId.ts -
-
0%0/80%0/20%0/10%0/7
tryApplyVariableId.ts -
-
0%0/180%0/130%0/10%0/17
tryParseJson.ts -
-
0%0/4100%0/00%0/10%0/4
trySetStyleId.ts -
-
0%0/290%0/360%0/40%0/27
types.d.ts -
-
0%0/00%0/00%0/00%0/0
uiSettings.ts -
-
0%0/420%0/1170%0/20%0/42
updateTokenPayloadToSingleToken.ts -
-
0%0/20%0/40%0/10%0/2
validateGroupName.ts -
-
0%0/800%0/420%0/260%0/67
validateLicense.ts -
-
0%0/90%0/40%0/10%0/9
validateStudioTokensExtensions.ts -
-
0%0/90%0/100%0/20%0/9
waitForMessage.ts -
-
0%0/60%0/20%0/30%0/6
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html deleted file mode 100644 index c9287482e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - Code coverage report for src/utils/is - - - - - - - - - -
-
-

All files src/utils/is

-
- -
- 0% - Statements - 0/56 -
- - -
- 0% - Branches - 0/138 -
- - -
- 0% - Functions - 0/28 -
- - -
- 0% - Lines - 0/46 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
isColorToken.ts -
-
0%0/30%0/20%0/10%0/2
isCompositeBorderValue.ts -
-
0%0/20%0/90%0/20%0/2
isDocumentationType.ts -
-
0%0/1100%0/00%0/10%0/1
isGitProvider.ts -
-
0%0/10%0/40%0/10%0/1
isMatchingStyle.ts -
-
0%0/4100%0/00%0/20%0/3
isPartOfInstance.ts -
-
0%0/1100%0/00%0/10%0/1
isPrimitiveValue.ts -
-
0%0/10%0/30%0/10%0/1
isPropertyType.ts -
-
0%0/1100%0/00%0/10%0/1
isSingleBorderToken.ts -
-
0%0/80%0/130%0/20%0/6
isSingleBoxShadowToken.ts -
-
0%0/80%0/150%0/20%0/6
isSingleBoxShadowValue.ts -
-
0%0/20%0/110%0/20%0/2
isSingleCompositionToken.ts -
-
0%0/80%0/130%0/20%0/6
isSingleInternalTokenValueObject.ts -
-
0%0/10%0/90%0/10%0/1
isSingleToken.ts -
-
0%0/10%0/40%0/10%0/1
isSingleTokenInJson.ts -
-
0%0/10%0/90%0/10%0/1
isSingleTokenValueObject.ts -
-
0%0/10%0/90%0/10%0/1
isSingleTypographyToken.ts -
-
0%0/80%0/130%0/20%0/6
isSingleTypographyValue.ts -
-
0%0/20%0/160%0/20%0/2
isTokenGroupWithType.ts -
-
0%0/10%0/80%0/10%0/1
isTokenType.ts -
-
0%0/1100%0/00%0/10%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html deleted file mode 100644 index c56888e71..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/index.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/utils/is/index.ts - - - - - - - - - -
-
-

All files / src/utils/is index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
export * from './isSingleTokenValueObject';
-export * from './isSingleTypographyToken';
-export * from './isSingleCompositionToken';
-export * from './isSingleToken';
-export * from './isPropertyType';
-export * from './isSingleBoxShadowToken';
-export * from './isTokenType';
-export * from './isGitProvider';
-export * from './isPrimitiveValue';
-export * from './isSingleBoxShadowValue';
-export * from './isSingleTypographyValue';
-export * from './isMatchingStyle';
-export * from './isSingleBorderToken';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html deleted file mode 100644 index 523acfbee..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isColorToken.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isColorToken.ts - - - - - - - - - -
-
-

All files / src/utils/is isColorToken.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SingleColorToken, SingleToken } from '@/types/tokens';
- 
-export function isColorToken(token: SingleToken | any): token is SingleColorToken {
-  if (typeof token !== 'object') return false;
-  return token.type === TokenTypes.COLOR;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html deleted file mode 100644 index bcb968326..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isCompositeBorderValue.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isCompositeBorderValue.ts - - - - - - - - - -
-
-

All files / src/utils/is isCompositeBorderValue.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { MapValuesToTokensResult } from '@/types';
-import type { SingleBorderToken } from '@/types/tokens';
-import type { TokenBorderValue } from '@/types/values';
- 
-export function isCompositeBorderValue(value: MapValuesToTokensResult[string]): value is SingleBorderToken['value'] {
-  return Boolean(
-    value
-    && (
-      ((Array.isArray(value) ? value : [value]) as (
-        (TokenBorderValue | Extract<MapValuesToTokensResult[string], { property: string }[]>[number])[]
-      )).every((v) => (
-        v && typeof v === 'object'
-        && (
-          'color' in v
-          || 'width' in v
-          || 'style' in v
-        )
-      ))
-    ),
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html deleted file mode 100644 index 0465cd4d4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isDocumentationType.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isDocumentationType.ts - - - - - - - - - -
-
-

All files / src/utils/is isDocumentationType.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export function isDocumentationType(type: Properties): boolean {
-  return [Properties.tokenValue, Properties.value, Properties.tokenName, Properties.description].includes(type);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html deleted file mode 100644 index a4469ac88..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isGitProvider.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isGitProvider.ts - - - - - - - - - -
-
-

All files / src/utils/is isGitProvider.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageType, StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
- 
-export function isGitProvider<
-  T extends StorageType | StorageTypeCredentials | StorageTypeFormValues<false> | StorageTypeFormValues<true>,
->(
-  provider: T,
-): provider is
-  | Extract<T, { provider: StorageProviderType.ADO }>
-  | Extract<T, { provider: StorageProviderType.GITHUB | StorageProviderType.GITLAB }>
-  | Extract<T, { provider: StorageProviderType.BITBUCKET }> {
-  return (
-    provider.provider === StorageProviderType.ADO
-    || provider.provider === StorageProviderType.GITHUB
-    || provider.provider === StorageProviderType.GITLAB
-    || provider.provider === StorageProviderType.BITBUCKET
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html deleted file mode 100644 index 3dc7a1a2d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isMatchingStyle.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isMatchingStyle.ts - - - - - - - - - -
-
-

All files / src/utils/is isMatchingStyle.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
export function isMatchingStyle(
-  tokenPath: string,
-  style: EffectStyle | PaintStyle | TextStyle,
-) {
-  const splitName = style.name.split('/').map((name) => name.trim());
-  const trimmedName = splitName.join('/');
- 
-  return trimmedName === tokenPath;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html deleted file mode 100644 index 94c39b071..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPartOfInstance.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isPartOfInstance.ts - - - - - - - - - -
-
-

All files / src/utils/is isPartOfInstance.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export function isPartOfInstance(nodeId: string) {
-  return nodeId.startsWith('I');
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html deleted file mode 100644 index a23a1e1e4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPrimitiveValue.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isPrimitiveValue.ts - - - - - - - - - -
-
-

All files / src/utils/is isPrimitiveValue.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
export function isPrimitiveValue<V>(value: V): value is Extract<V, boolean | number | string> {
-  return (
-    typeof value === 'string'
-    || typeof value === 'boolean'
-    || typeof value === 'number'
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html deleted file mode 100644 index 71ea907f7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isPropertyType.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isPropertyType.ts - - - - - - - - - -
-
-

All files / src/utils/is isPropertyType.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
- 
-export function isPropertyType(input: string | Properties): input is Properties {
-  return Object.values<string>(Properties).includes(input);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html deleted file mode 100644 index b2cdf2acf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBorderToken.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleBorderToken.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleBorderToken.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { SingleBorderToken, SingleBorderTokenInJSON, SingleToken } from '@/types/tokens';
-import { TokenInJSON, Tokens } from '../convertTokens';
-import { getTokenTypeKey } from '../getTokenTypeKey';
-import { getTokenValueKey } from '../getTokenValueKey';
- 
-export function isSingleBorderToken(
-  token: SingleToken | any,
-  ignoreTokenFormat: boolean = false,
-): token is SingleBorderToken {
-  if (typeof token !== 'object') return false;
-  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
-  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
-  return (
-    token[tokenTypeKey] === TokenTypes.BORDER
-    && (typeof token[tokenValueKey] === 'string'
-      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
-  );
-}
- 
-export function isSingleBorderTokenInJSON(token: TokenInJSON | Tokens): token is SingleBorderTokenInJSON {
-  if (typeof token !== 'object') return false;
-  return (
-    token[TokenFormat.tokenTypeKey] === TokenTypes.BORDER
-    && (typeof token[TokenFormat.tokenValueKey] === 'string'
-      || (typeof token[TokenFormat.tokenValueKey] === 'object'
-        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html deleted file mode 100644 index 8f822c6ff..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowToken.ts.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleBoxShadowToken.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleBoxShadowToken.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/15 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { SingleBoxShadowToken, SingleBoxShadowTokenInJSON, SingleToken } from '@/types/tokens';
-import { TokenInJSON, Tokens } from '../convertTokens';
-import { getTokenTypeKey } from '../getTokenTypeKey';
-import { getTokenValueKey } from '../getTokenValueKey';
- 
-export function isSingleBoxShadowToken(
-  token: SingleToken | any,
-  ignoreTokenFormat: boolean = false,
-): token is SingleBoxShadowToken {
-  if (typeof token !== 'object') return false;
-  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
-  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
-  return (
-    token[tokenTypeKey] === TokenTypes.BOX_SHADOW
-    && (typeof token[tokenValueKey] === 'string'
-      || Array.isArray(token[tokenValueKey])
-      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
-  );
-}
- 
-export function isSingleBoxShadowTokenInJSON(token: TokenInJSON | Tokens): token is SingleBoxShadowTokenInJSON {
-  if (typeof token !== 'object') return false;
-  return (
-    token[TokenFormat.tokenTypeKey] === TokenTypes.BOX_SHADOW
-    && (typeof token[TokenFormat.tokenValueKey] === 'string'
-      || Array.isArray(token[TokenFormat.tokenValueKey])
-      || (typeof token[TokenFormat.tokenValueKey] === 'object'
-        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html deleted file mode 100644 index 26d30e974..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleBoxShadowValue.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleBoxShadowValue.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleBoxShadowValue.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/11 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { BoxShadowTypes } from '@/constants/BoxShadowTypes';
-import type { MapValuesToTokensResult } from '@/types';
-import type { SingleBoxShadowToken } from '@/types/tokens';
-import type { TokenBoxshadowValue } from '@/types/values';
- 
-export function isSingleBoxShadowValue(value: MapValuesToTokensResult[string]): value is SingleBoxShadowToken['value'] {
-  return Boolean(
-    value
-    && (
-      typeof value === 'string'
-      || ((Array.isArray(value) ? value : [value]) as (
-        (TokenBoxshadowValue | Extract<MapValuesToTokensResult[string], { property: string }[]>[number])[]
-      )).every((v) => (
-        v && typeof v === 'object'
-        && ('type' in v && 'color' in v)
-        && (
-          v.type === BoxShadowTypes.DROP_SHADOW
-          || v.type === BoxShadowTypes.INNER_SHADOW
-        )
-      ))
-    ),
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html deleted file mode 100644 index 2eec5a7de..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleCompositionToken.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleCompositionToken.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleCompositionToken.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { SingleCompositionToken, SingleToken } from '@/types/tokens';
-import { TokenInJSON, Tokens } from '../convertTokens';
-import { getTokenTypeKey } from '../getTokenTypeKey';
-import { getTokenValueKey } from '../getTokenValueKey';
- 
-export function isSingleCompositionToken(
-  token: SingleToken | any,
-  ignoreTokenFormat: boolean = false,
-): token is SingleCompositionToken {
-  if (typeof token !== 'object') return false;
-  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
-  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
-  return (
-    token[tokenTypeKey] === TokenTypes.COMPOSITION
-    && (typeof token[tokenValueKey] === 'string'
-      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
-  );
-}
- 
-export function isSingleCompositionTokenInJSON(token: TokenInJSON | Tokens): token is SingleCompositionToken {
-  if (typeof token !== 'object') return false;
-  return (
-    token[TokenFormat.tokenTypeKey] === TokenTypes.COMPOSITION
-    && (typeof token[TokenFormat.tokenValueKey] === 'string'
-      || (typeof token[TokenFormat.tokenValueKey] === 'object'
-        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html deleted file mode 100644 index e12d82ee0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleInternalTokenValueObject.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleInternalTokenValueObject.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleInternalTokenValueObject.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleTokenValueObject } from './isSingleTokenValueObject';
- 
-export function isSingleInternalTokenValueObject(token: SingleTokenValueObject | any): token is SingleTokenValueObject {
-  return !!(
-    token
-    && typeof token === 'object'
-    && 'value' in token
-    && (
-      typeof token.value !== 'undefined'
-      && token.value !== null
-      && !(typeof token.value === 'object' && (token && 'value' in token.value))
-    )
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html deleted file mode 100644 index cd825238e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleToken.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleToken.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleToken.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
- 
-export function isSingleToken(token: SingleToken | any): token is SingleToken {
-  return !!(
-    token
-    && typeof token === 'object'
-    && 'value' in token
-    && 'name' in token
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html deleted file mode 100644 index f1593bfd7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenInJson.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleTokenInJson.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleTokenInJson.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { TokenInJSON, Tokens } from '../convertTokens';
- 
-export function isSingleTokenInJSON(token: TokenInJSON | Tokens): token is TokenInJSON {
-  return !!(
-    token
-    && typeof token === 'object'
-    && TokenFormat.tokenValueKey in token
-    && (
-      typeof token[TokenFormat.tokenValueKey] !== 'undefined'
-      && token[TokenFormat.tokenValueKey] !== null
-      && !(typeof token[TokenFormat.tokenValueKey] === 'object' && (token && TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey]))
-    )
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html deleted file mode 100644 index 69b9c7989..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTokenValueObject.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleTokenValueObject.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleTokenValueObject.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { SingleToken } from '@/types/tokens';
- 
-export type SingleTokenValueObject = Pick<SingleToken, 'value'>;
- 
-export function isSingleTokenValueObject(token: SingleTokenValueObject | any): token is SingleTokenValueObject {
-  return !!(
-    token
-    && typeof token === 'object'
-    && TokenFormat.tokenValueKey in token
-    && (
-      typeof token[TokenFormat.tokenValueKey] !== 'undefined'
-      && token[TokenFormat.tokenValueKey] !== null
-      && !(typeof token[TokenFormat.tokenValueKey] === 'object' && (token && TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey]))
-    )
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html deleted file mode 100644 index 0c6d2fddb..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyToken.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleTypographyToken.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleTypographyToken.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { SingleTypographyToken, SingleTypographyTokenInJSON, SingleToken } from '@/types/tokens';
-import { TokenInJSON, Tokens } from '../convertTokens';
-import { getTokenTypeKey } from '../getTokenTypeKey';
-import { getTokenValueKey } from '../getTokenValueKey';
- 
-export function isSingleTypographyToken(
-  token: SingleToken | any,
-  ignoreTokenFormat: boolean = false,
-): token is SingleTypographyToken {
-  if (typeof token !== 'object') return false;
-  const tokenTypeKey = getTokenTypeKey(ignoreTokenFormat);
-  const tokenValueKey = getTokenValueKey(ignoreTokenFormat);
-  return (
-    token[tokenTypeKey] === TokenTypes.TYPOGRAPHY
-    && (typeof token[tokenValueKey] === 'string'
-      || (typeof token[tokenValueKey] === 'object' && !(tokenValueKey in token[tokenValueKey])))
-  );
-}
- 
-export function isSingleTypographyTokenInJSON(token: TokenInJSON | Tokens): token is SingleTypographyTokenInJSON {
-  if (typeof token !== 'object') return false;
-  return (
-    token[TokenFormat.tokenTypeKey] === TokenTypes.TYPOGRAPHY
-    && (typeof token[TokenFormat.tokenValueKey] === 'string'
-      || (typeof token[TokenFormat.tokenValueKey] === 'object'
-        && !(TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey])))
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html deleted file mode 100644 index 3c8408753..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isSingleTypographyValue.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isSingleTypographyValue.ts - - - - - - - - - -
-
-

All files / src/utils/is isSingleTypographyValue.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { MapValuesToTokensResult } from '@/types';
-import type { SingleTypographyToken } from '@/types/tokens';
-import type { TokenTypographyValue } from '@/types/values';
- 
-export function isSingleTypographyValue(value: MapValuesToTokensResult[string]): value is SingleTypographyToken['value'] {
-  return Boolean(
-    value
-    && (
-      typeof value === 'string'
-      || ((Array.isArray(value) ? value : [value]) as (
-        (TokenTypographyValue | Extract<MapValuesToTokensResult[string], { property: string }[]>[number])[]
-      )).every((v) => (
-        v && typeof v === 'object'
-        && (
-          'fontFamily' in v
-          || 'fontWeight' in v
-          || 'fontSize' in v
-          || 'lineHeight' in v
-          || 'letterSpacing' in v
-          || 'paragraphSpacing' in v
-          || 'paragraphIndent' in v
-          || 'textCase' in v
-          || 'textDecoration' in v
-        )
-      ))
-    ),
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html deleted file mode 100644 index 11e166e05..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenGroupWithType.ts.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isTokenGroupWithType.ts - - - - - - - - - -
-
-

All files / src/utils/is isTokenGroupWithType.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenFormat } from '@/plugin/TokenFormatStoreClass';
-import { TokenInJSON, Tokens } from '../convertTokens';
-import { TokenTypes } from '@/constants/TokenTypes';
- 
-export type TokenGroupInJSON = {
-  [key: string]: TokenInJSON | TokenGroupInJSON;
-} & (
-  | {
-    type?: TokenTypes;
-  }
-  | {
-    $type?: TokenTypes;
-  }
-);
- 
-export function isTokenGroupWithType(token: Tokens): token is TokenGroupInJSON {
-  return !!(
-    token
-    && typeof token === 'object'
-    // There is no value key defined (which means it's a group) / or there is a value key defined and it's content is an object containing a value key (only relevant for the old format)
-    && (!(TokenFormat.tokenValueKey in token) || (TokenFormat.tokenValueKey in token && typeof token[TokenFormat.tokenValueKey] === 'object' && TokenFormat.tokenValueKey in token[TokenFormat.tokenValueKey]!))
-    && TokenFormat.tokenTypeKey in token
-    && typeof token[TokenFormat.tokenTypeKey] === 'string'
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html deleted file mode 100644 index a1fd120cd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/is/isTokenType.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/is/isTokenType.ts - - - - - - - - - -
-
-

All files / src/utils/is isTokenType.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
- 
-export function isTokenType(input: string | TokenTypes): input is TokenTypes {
-  return Object.values<string>(TokenTypes).includes(input);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html deleted file mode 100644 index 1a3347135..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isAliasReference.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/isAliasReference.ts - - - - - - - - - -
-
-

All files / src/utils isAliasReference.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export function isVariableWithAliasReference(obj: VariableValue): obj is VariableAlias {
-  return typeof obj === 'object' && 'id' in obj && typeof obj.id === 'string';
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html deleted file mode 100644 index d52a901bc..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isAutoLayout.tsx.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/utils/isAutoLayout.tsx - - - - - - - - - -
-
-

All files / src/utils isAutoLayout.tsx

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export const isAutoLayout = (node: SceneNode) => 'layoutMode' in node && typeof node.layoutMode !== 'undefined';
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html deleted file mode 100644 index aa69423a7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isColorEqual.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/utils/isColorEqual.ts - - - - - - - - - -
-
-

All files / src/utils isColorEqual.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { convertFigmaColorToHex } from '@/plugin/figmaTransforms/colors';
- 
-export function isColorEqual(color1: RGBA, color2: RGBA) {
-  // Comparison using rgba doesn't work as Figma has a rounding issue,
-  // that doesn't produce same RGB floats as the existing color
-  // See this issue: https://forum.figma.com/t/figmas-rgb-color-values-seems-to-have-a-rounding-error/23540
- 
-  // color1.r === color2.r
-  // && color1.g === color2.g
-  // && color1.b === color2.b
-  // && color1.a === color2.a
- 
-  // Compare using hex instead for now:
-  return convertFigmaColorToHex(color1) === convertFigmaColorToHex(color2);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html deleted file mode 100644 index 896b53179..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isEffectEqual.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/isEffectEqual.ts - - - - - - - - - -
-
-

All files / src/utils isEffectEqual.ts

-
- -
- 0% - Statements - 0/7 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { isColorEqual } from './isColorEqual';
- 
-export function isEffectEqual(effect1?: Effect, effect2?: Effect) {
-  if (effect1 && effect2) {
-    if (effect1.type === effect2.type) {
-      if (
-        (effect1.type === 'DROP_SHADOW' && effect2.type === 'DROP_SHADOW')
-        || (effect1.type === 'INNER_SHADOW' && effect2.type === 'INNER_SHADOW')
-      ) {
-        return (
-          isColorEqual(effect1.color, effect2.color)
-          && effect1.offset.x === effect2.offset.x
-          && effect1.offset.y === effect2.offset.y
-          && effect1.radius === effect2.radius
-          && effect1.spread === effect2.spread
-          && effect1.blendMode === effect2.blendMode
-          // Figma Tokens doesn't store this effect subvalue (yet?) so omit from comparison:
-          // && paint1.showShadowBehindNode === paint2.showShadowBehindNode
-        );
-      }
-      if (
-        (effect1.type === 'BACKGROUND_BLUR' && effect2.type === 'BACKGROUND_BLUR')
-        || (effect1.type === 'LAYER_BLUR' && effect2.type === 'LAYER_BLUR')
-      ) {
-        return effect1.radius === effect2.radius;
-      }
-    }
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html deleted file mode 100644 index 9cf85784b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isEqual.ts.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - Code coverage report for src/utils/isEqual.ts - - - - - - - - - -
-
-

All files / src/utils isEqual.ts

-
- -
- 0% - Statements - 0/37 -
- - -
- 0% - Branches - 0/31 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/35 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/* eslint-disable eqeqeq */
-/* eslint-disable no-self-compare */
-/* eslint-disable no-prototype-builtins */
-/* eslint-disable @typescript-eslint/no-use-before-define */
- 
-// @README adjusted from just-compare
-// https://github.com/angus-c/just/blob/master/LICENSE
- 
-export function isEqual(value1: any, value2: any): boolean {
-  if (value1 === value2) {
-    return true;
-  }
- 
-  // if both values are NaNs return true
-  if (value1 !== value1 && value2 !== value2) {
-    return true;
-  }
- 
-  if (
-    typeof value1 !== typeof value2 // primitive != primitive wrapper
-    || {}.toString.call(value1) != {}.toString.call(value2) // check for other (maybe nullish) objects
-  ) {
-    return false;
-  }
- 
-  if (value1 !== Object(value1)) {
-    // non equal primitives
-    return false;
-  }
- 
-  if (!value1) {
-    return false;
-  }
- 
-  if (Array.isArray(value1)) {
-    return compareArrays(value1, value2);
-  }
- 
-  if ({}.toString.call(value1) == '[object Set]') {
-    return compareArrays(Array.from(value1), Array.from(value2));
-  }
- 
-  if ({}.toString.call(value1) == '[object Object]') {
-    return compareObjects(value1, value2);
-  }
- 
-  return compareNativeSubtypes(value1, value2);
-}
- 
-function compareNativeSubtypes(value1: any, value2: any) {
-  // e.g. Function, RegExp, Date
-  return value1.toString() === value2.toString();
-}
- 
-function compareArrays(value1: any[], value2: any[]) {
-  const len = value1.length;
- 
-  if (len != value2.length) {
-    return false;
-  }
- 
-  for (let i = 0; i < len; i += 1) {
-    if (!isEqual(value1[i], value2[i])) {
-      return false;
-    }
-  }
- 
-  return true;
-}
- 
-// @README the only difference can be found here
-// the compareObjects function will also check the order of keys
-// this is important because the token sorting works based on the order of keys
-function compareObjects(value1: any, value2: any) {
-  const keys1 = Object.keys(value1);
-  const keys2 = Object.keys(value2);
-  const len = keys1.length;
- 
-  if (len != Object.keys(value2).length) {
-    return false;
-  }
- 
-  for (let i = 0; i < len; i += 1) {
-    const key1 = keys1[i];
- 
-    if (
-      !(
-        value2.hasOwnProperty(key1)
-        && key1 === keys2[i]
-        && isEqual(value1[key1], value2[key1])
-      )
-    ) {
-      return false;
-    }
-  }
- 
-  return true;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html deleted file mode 100644 index f47506c53..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isJSONString.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/isJSONString.ts - - - - - - - - - -
-
-

All files / src/utils isJSONString.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
export default function IsJSONString(str: string) {
-  try {
-    JSON.parse(str);
-  } catch (e) {
-    return false;
-  }
-  return true;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html deleted file mode 100644 index 82790ede4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isPaintEqual.ts.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for src/utils/isPaintEqual.ts - - - - - - - - - -
-
-

All files / src/utils isPaintEqual.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/22 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { convertFigmaPaintToHex, convertFigmaColorToHex } from '@/plugin/figmaTransforms/colors';
- 
-export function isPaintEqual(paint1?: Paint, paint2?: Paint) {
-  if (paint1 && paint2) {
-    if (paint1.type === paint2.type) {
-      if (paint1.type === 'SOLID' && paint2.type === 'SOLID') {
-        return (
-          paint1.opacity === paint2.opacity
-          // Comparison using rgb doesn't work as Figma has a rounding issue,
-          // that doesn't produce same RGB floats as the existing color
-          // See this issue: https://forum.figma.com/t/figmas-rgb-color-values-seems-to-have-a-rounding-error/23540
- 
-          // && paint1.color.r === paint2.color.r
-          // && paint1.color.g === paint2.color.g
-          // && paint1.color.b === paint2.color.b
- 
-          // Compare using hex instead for now:
-          && convertFigmaPaintToHex(paint1) === convertFigmaPaintToHex(paint2)
-        );
-      }
- 
-      if (paint1.type === 'GRADIENT_LINEAR' && paint2.type === 'GRADIENT_LINEAR') {
-        return (
-          paint1.gradientStops.length === paint2.gradientStops.length
-          && paint1.gradientStops.every((stop, index) => (
-            stop.position === paint2.gradientStops[index].position
-            // Comparison using rgba doesn't work as Figma has a rounding issue,
-            // that doesn't produce same RGB floats as the existing color
-            // See this issue: https://forum.figma.com/t/figmas-rgb-color-values-seems-to-have-a-rounding-error/23540
- 
-            // && stop.color.r === paint2.gradientStops[index].color.r
-            // && stop.color.g === paint2.gradientStops[index].color.g
-            // && stop.color.b === paint2.gradientStops[index].color.b
-            // && stop.color.a === paint2.gradientStops[index].color.a
- 
-              // Compare using hex instead for now:
-              && convertFigmaColorToHex(stop.color) === convertFigmaColorToHex(paint2.gradientStops[index].color)
-          ))
-          && paint1.gradientTransform[0].every((value, index) => (
-            value === paint2.gradientTransform[0][index]
-          ))
-          && paint1.gradientTransform[1].every((value, index) => (
-            value === paint2.gradientTransform[1][index]
-          ))
-        );
-      }
-    }
-    return false;
-  }
-  return paint1 === paint2;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html deleted file mode 100644 index 852cfb082..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/isSameCredentials.ts.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for src/utils/isSameCredentials.ts - - - - - - - - - -
-
-

All files / src/utils isSameCredentials.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/27 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageProviderType } from '@/constants/StorageProviderType';
-import { StorageType, StorageTypeCredentials, StorageTypeFormValues } from '@/types/StorageType';
- 
-function isSameCredentials(
-  credential: StorageTypeCredentials,
-  stored: StorageType | StorageTypeFormValues<false>,
-): boolean {
-  // If the internalId is present, we use it to check for equality
-  if (stored.provider !== StorageProviderType.LOCAL && credential.internalId && stored.internalId) {
-    return credential.internalId === stored.internalId;
-  }
- 
-  switch (stored.provider) {
-    case StorageProviderType.GITHUB:
-    case StorageProviderType.GITLAB:
-    case StorageProviderType.ADO:
-    case StorageProviderType.BITBUCKET: {
-      return (
-        credential.id === stored.id
-        && credential.provider === stored.provider
-        && credential.filePath === stored.filePath
-        && credential.branch === stored.branch
-      );
-    }
-    case StorageProviderType.GENERIC_VERSIONED_STORAGE:
-    case StorageProviderType.JSONBIN:
-    case StorageProviderType.URL: {
-      return credential.id === stored.id && credential.provider === stored.provider;
-    }
-    case StorageProviderType.SUPERNOVA:
-      return (
-        credential.id === stored.id
-        && credential.provider === stored.provider
-        && credential.designSystemUrl === stored.designSystemUrl
-        && JSON.stringify(credential.mapping) === JSON.stringify(stored.mapping)
-      );
-    case StorageProviderType.TOKENS_STUDIO:
-      return (
-        credential.id === stored.id
-        && credential.provider === stored.provider
-      );
-    default:
-      return false;
-  }
-}
- 
-export default isSameCredentials;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html deleted file mode 100644 index 5eec41f76..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/lastIndexOf.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/lastIndexOf.ts - - - - - - - - - -
-
-

All files / src/utils lastIndexOf.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
export function lastIndexOf<T>(items: T[], cb: (item: T, index: number, self: T[]) => boolean): number {
-  for (let idx = items.length - 1; idx > -1; idx -= 1) {
-    if (cb(items[idx], idx, items)) {
-      return idx;
-    }
-  }
-  return -1;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html deleted file mode 100644 index 77afc52ca..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/ldUserFactory.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/utils/ldUserFactory.ts - - - - - - - - - -
-
-

All files / src/utils ldUserFactory.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function ldUserFactory(userId: string, plan?: string, entitlements?: string[], email?: string) {
-  const userAttributes: Record<string, string | boolean> = {
-    plan: plan || '',
-  };
-  entitlements?.forEach((entitlement) => {
-    userAttributes[entitlement] = true;
-  });
- 
-  return {
-    key: userId,
-    custom: userAttributes,
-    email,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html deleted file mode 100644 index e46963ab2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/mapThemeToVariableInfo.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/utils/mapThemeToVariableInfo.ts - - - - - - - - - -
-
-

All files / src/utils mapThemeToVariableInfo.ts

-
- -
- 0% - Statements - 0/5 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { VariableInfo } from '@/app/components/ManageThemesModal/ThemeVariableManagementEntry';
-import { ThemeObject } from '@/types';
- 
-export default function mapThemeToVariableInfo(theme: ThemeObject | null) {
-  if (!theme) return {};
-  return Object.entries(theme?.$figmaVariableReferences ?? {}).reduce<Record<string, VariableInfo>>((acc, [tokenName, variableId]) => {
-    acc[tokenName] = {
-      id: variableId,
-      isResolved: false,
-    };
-    return acc;
-  }, {});
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html deleted file mode 100644 index 23fcf9ddf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/mapTokensToVariableInfo.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/utils/mapTokensToVariableInfo.ts - - - - - - - - - -
-
-

All files / src/utils mapTokensToVariableInfo.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SettingsState } from '../app/store/models/settings';
-import { transformValue } from '@/plugin/helpers';
-import { ResolveTokenValuesResult } from '@/utils/tokenHelpers';
-import { VariableToken } from '@/plugin/updateVariables';
-import { ThemeObject } from '@/types';
- 
-export function mapTokensToVariableInfo(token: ResolveTokenValuesResult, theme: ThemeObject, settings: SettingsState) {
-  return {
-    ...token,
-    value: (typeof token.value === 'string' || typeof token.value === 'number') ? transformValue(token.value, token.type, settings?.baseFontSize, true) : token.value,
-    path: token.name.split('.').join('/'),
-    variableId: theme.$figmaVariableReferences?.[token.name] ?? '',
-  } as VariableToken;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html deleted file mode 100644 index 0d2618a3e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/matchStyleName.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/utils/matchStyleName.ts - - - - - - - - - -
-
-

All files / src/utils matchStyleName.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export function matchStyleName<T extends EffectStyle | PaintStyle | TextStyle>(
-  tokenName: string,
-  tokenPath: string,
-  figmaStyleReferences: Record<string, string>,
-  stylesMap?: Map<string, T>,
-) {
-  return (
-    figmaStyleReferences[tokenName]
-    || stylesMap?.get(tokenName)?.id
-    || figmaStyleReferences[tokenPath]
-    || stylesMap?.get(tokenPath)?.id
-    // during the non-local styles beta we saved the figmaStyleReferences by their path
-    // which includes the theme name
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html deleted file mode 100644 index 570ad19bd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/matchVariableName.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/matchVariableName.ts - - - - - - - - - -
-
-

All files / src/utils matchVariableName.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
export function matchVariableName(
-  tokenName: string,
-  tokenPath: string,
-  figmaVariableReferences: Map<string, string>,
-) {
-  return (
-    figmaVariableReferences.get(tokenName)
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html deleted file mode 100644 index 73b1538a7..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/checkAndEvaluateMath.ts.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - Code coverage report for src/utils/math/checkAndEvaluateMath.ts - - - - - - - - - -
-
-

All files / src/utils/math checkAndEvaluateMath.ts

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Parser } from 'expr-eval';
-import calcAstParser from 'postcss-calc-ast-parser';
-import { Root } from 'postcss-calc-ast-parser/dist/types/ast';
- 
-const parser = new Parser();
- 
-/**
- * Clamps the value of x between min and max
- * @param x
- * @param min
- * @param max
- * @returns
- */
-parser.functions.clamped = (x: number, min: number, max: number): number => Math.max(Math.min(x, max), min);
- 
-/**
- * One dimensional linear interpolation
- * @param x Normalized value between 0 and 1
- * @param min
- * @param max
- * @returns
- */
-parser.functions.lerp = (x: number, start: number, end: number): number => start + (end - start) * x;
- 
-/**
- * Returns a normalized value between 0 - 1.
- * @param x
- * @param start
- * @param end
- * @returns
- */
-parser.functions.norm = (x: number, start: number, end: number): number => (x - start) / (end - start);
- 
-/**
- * Creates a one dimensional cubicBezier
- * @remarks We have to do a significant overhaul to the system to support multidimensional functions. Seems like expr-eval can support neither array or property accessors
- * @param x1
- * @param x2
- * @returns
- */
-parser.functions.cubicBezier1D = (x1: number, x2: number) => {
-  const xx = [0, x1, x2, 1];
- 
-  return (t: number) => {
-    const coeffs = [(1 - t) ** 3, 3 * (1 - t) ** 2 * t, 3 * (1 - t) * t ** 2, t ** 3];
-    const x = coeffs.reduce((acc, c, i) => acc + c * xx[i], 0);
-    return x;
-  };
-};
- 
-// eslint-disable-next-line
-parser.functions.sample = (func: Function, ...args: any[]) => {
-  return func(...args);
-};
- 
-export function checkAndEvaluateMath(expr: string) {
-  let calcParsed: Root;
- 
-  try {
-    calcParsed = calcAstParser.parse(expr);
-  } catch (ex) {
-    return expr;
-  }
- 
-  const calcReduced = calcAstParser.reduceExpression(calcParsed);
- 
-  let unitlessExpr = expr;
-  let unit;
- 
-  if (calcReduced && calcReduced.type !== 'Number') {
-    unitlessExpr = expr.replace(new RegExp(calcReduced.unit, 'ig'), '');
-    unit = calcReduced.unit;
-  }
- 
-  let evaluated: number;
- 
-  try {
-    evaluated = parser.evaluate(`${unitlessExpr}`);
-  } catch (ex) {
-    return expr;
-  }
-  try {
-    return unit ? `${evaluated}${unit}` : Number.parseFloat(evaluated.toFixed(3));
-  } catch (ex) {
-    return expr;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html deleted file mode 100644 index 79af23742..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/utils/math - - - - - - - - - -
-
-

All files src/utils/math

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/8 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
checkAndEvaluateMath.ts -
-
0%0/300%0/60%0/80%0/26
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html deleted file mode 100644 index 227222c57..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/math/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/utils/math/index.ts - - - - - - - - - -
-
-

All files / src/utils/math index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './checkAndEvaluateMath';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html deleted file mode 100644 index 3afe110e4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/migrate.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/utils/migrate.ts - - - - - - - - - -
-
-

All files / src/utils migrate.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
export function migrate<Input, Output>(
-  input: Input | Output,
-  check: (input: Input | Output) => input is Exclude<Input, Output>,
-  migration: (input: Exclude<Input, Output>) => Output,
-): Output {
-  if (check(input)) {
-    return migration(input);
-  }
-  return input as Output;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html deleted file mode 100644 index f623700e0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/mixpanel.tsx.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/mixpanel.tsx - - - - - - - - - -
-
-

All files / src/utils mixpanel.tsx

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
import * as mixpanel from 'mixpanel-figma';
- 
-export default mixpanel;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html deleted file mode 100644 index 79fc153cd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/modifyColor.ts.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - Code coverage report for src/utils/modifyColor.ts - - - - - - - - - -
-
-

All files / src/utils modifyColor.ts

-
- -
- 0% - Statements - 0/17 -
- - -
- 0% - Branches - 0/5 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import Color from 'colorjs.io';
-import { ColorModifierTypes } from '@/constants/ColorModifierTypes';
-import { ColorModifier } from '@/types/Modifier';
-import { transparentize } from './color/transparentize';
-import { mix } from './color/mix';
-import { darken } from './color/darken';
-import { lighten } from './color/lighten';
- 
-export function modifyColor(baseColor: string, modifier: ColorModifier) {
-  const color = new Color(baseColor);
-  let returnedColor = color;
-  try {
-    switch (modifier.type) {
-      case ColorModifierTypes.LIGHTEN:
-        returnedColor = lighten(color, modifier.space, Number(modifier.value)) as Color;
-        break;
-      case ColorModifierTypes.DARKEN:
-        returnedColor = darken(color, modifier.space, Number(modifier.value)) as Color;
-        break;
-      case ColorModifierTypes.MIX:
-        returnedColor = mix(color, modifier.space, Number(modifier.value), new Color(modifier.color));
-        break;
-      case ColorModifierTypes.ALPHA: {
-        returnedColor = transparentize(color, Number(modifier.value));
-        break;
-      }
-      default:
-        returnedColor = color;
-        break;
-    }
-    returnedColor = returnedColor.to(modifier.space);
-    return returnedColor.toString({ inGamut: true, precision: 3 });
-  } catch (e) {
-    return baseColor;
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html deleted file mode 100644 index 3d1261a4c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/checkReorder.ts.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - Code coverage report for src/utils/motion/checkReorder.ts - - - - - - - - - -
-
-

All files / src/utils/motion checkReorder.ts

-
- -
- 0% - Statements - 0/24 -
- - -
- 0% - Branches - 0/23 -
- - -
- 0% - Functions - 0/5 -
- - -
- 0% - Lines - 0/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { mix } from 'popmotion';
-import type { ItemData } from '@/context';
-import { moveItem } from './moveItem';
- 
-export function checkReorder<T>(
-  order: ItemData<T>[],
-  value: T,
-  offset: number,
-  velocity: number,
-  allowedTargetIndexes: number[] = order.map((v, index) => index), // @README assume sorted array
-): ItemData<T>[] {
-  if (!velocity) return order;
- 
-  const index = order.findIndex((item) => item.value === value);
- 
-  if (index === -1) return order;
- 
-  const nextOffset = velocity > 0 ? 1 : -1;
-  let nextIndex = index + nextOffset;
- 
-  if (!allowedTargetIndexes.includes(nextIndex)) {
-    // find next closest index available
-    if (velocity > 0) {
-      nextIndex = allowedTargetIndexes.find((availableIndex) => availableIndex >= nextIndex) ?? -1;
-    } else {
-      nextIndex = [...allowedTargetIndexes].reverse().find((availableIndex) => availableIndex <= nextIndex) ?? -1;
-    }
-  }
-  const nextItem = order[nextIndex];
- 
-  if (
-    !nextItem
-  ) return order;
- 
-  const item = order[index];
-  const originalNextLayout = nextItem.layout;
-  const nextItemCenter = mix(originalNextLayout.min, originalNextLayout.max, 0.5);
-  if (
-    (nextOffset === 1 && item.layout.max + offset > nextItemCenter)
-          || (nextOffset === -1 && item.layout.min + offset < nextItemCenter)
-  ) {
-    return moveItem(order, index, nextIndex);
-  }
- 
-  return order;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html deleted file mode 100644 index 577dcd5c2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/utils/motion - - - - - - - - - -
-
-

All files src/utils/motion

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/31 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
checkReorder.ts -
-
0%0/240%0/230%0/50%0/19
index.ts -
-
0%0/00%0/00%0/00%0/0
moveItem.ts -
-
0%0/60%0/80%0/10%0/6
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html deleted file mode 100644 index 1cef331b5..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/utils/motion/index.ts - - - - - - - - - -
-
-

All files / src/utils/motion index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './moveItem';
-export * from './checkReorder';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html deleted file mode 100644 index e52ab70b4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/motion/moveItem.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/utils/motion/moveItem.ts - - - - - - - - - -
-
-

All files / src/utils/motion moveItem.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
// Adapted from array-move / framer-motion
-export function moveItem<T>([...arr]: T[], fromIndex: number, toIndex: number) {
-  const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;
- 
-  if (startIndex >= 0 && startIndex < arr.length) {
-    const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;
- 
-    const [item] = arr.splice(fromIndex, 1);
-    arr.splice(endIndex, 0, item);
-  }
- 
-  return arr;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html deleted file mode 100644 index 773ee9488..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/normalizeVariableName.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/normalizeVariableName.ts - - - - - - - - - -
-
-

All files / src/utils normalizeVariableName.ts

-
- -
- 100% - Statements - 4/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 3/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -36x -36x -36x -  - 
export function normalizeVariableName(name: string) {
-  const splitKey = name.split('/').map((part) => part.trim());
-  const normalizedVariableName = splitKey.join('.');
-  return normalizedVariableName;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html deleted file mode 100644 index 4f45020bd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/parseJson.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/utils/parseJson.ts - - - - - - - - - -
-
-

All files / src/utils parseJson.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6  -  -  -  -  - 
import JSON5 from 'json5';
- 
-export default function parseJson(payload: string) {
-  return JSON.parse(JSON.stringify(JSON5.parse(payload), null, ' '));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html deleted file mode 100644 index 8ff4669d2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/parseTokenValues.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/utils/parseTokenValues.ts - - - - - - - - - -
-
-

All files / src/utils parseTokenValues.ts

-
- -
- 0% - Statements - 0/14 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/14 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenTypes } from '@/constants/TokenTypes';
-import { SetTokenDataPayload } from '@/types/payloads';
-import { AnyTokenList, SingleToken, TokenStore } from '@/types/tokens';
-import convertToTokenArray from './convertTokens';
-import { detectFormat } from './detectFormat';
- 
-export default function parseTokenValues(tokens: SetTokenDataPayload['values']): TokenStore['values'] {
-  // If we receive an array of tokens, move them all to the global set
-  if (Array.isArray(tokens)) {
-    return {
-      global: tokens,
-    };
-  }
- 
-  // For a regular token-schema go through each and convert their values to a token array
-  // reducing them down to a entries list which can be picked up using Object.fromEntries
-  type TokenEntry = [string, AnyTokenList | Record<string, Partial<Record<TokenTypes, Record<string, SingleToken<false>>>>>];
-  const reducedTokens = Object.entries(tokens).reduce<[string, AnyTokenList][]>((prev, group: TokenEntry) => {
-    const parsedGroup = group[1];
- 
-    if (Array.isArray(parsedGroup)) {
-      prev.push([group[0], parsedGroup]);
-      return prev;
-    }
- 
-    if (typeof parsedGroup === 'object') {
-      detectFormat(parsedGroup, true);
- 
-      const convertedToArray = convertToTokenArray({ tokens: parsedGroup });
-      prev.push([group[0], convertedToArray]);
-      return prev;
-    }
- 
-    return prev;
-  }, []);
- 
-  return Object.fromEntries(reducedTokens);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html deleted file mode 100644 index b7cb01bd2..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/utils/plugin - - - - - - - - - -
-
-

All files src/utils/plugin

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
init.ts -
-
0%0/60%0/60%0/30%0/6
startup.ts -
-
0%0/20%0/60%0/10%0/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html deleted file mode 100644 index d4cb03636..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/utils/plugin/index.ts - - - - - - - - - -
-
-

All files / src/utils/plugin index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './startup';
-export * from './init';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html deleted file mode 100644 index 61b6a3950..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/init.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/utils/plugin/init.ts - - - - - - - - - -
-
-

All files / src/utils/plugin init.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AsyncMessageChannel } from '@/AsyncMessageChannel';
-import { DefaultWindowSize } from '@/constants/DefaultWindowSize';
-import { notifyNoSelection } from '@/plugin/notifiers';
-import { AsyncMessageTypes } from '@/types/AsyncMessages';
-import { startup } from './startup';
- 
-export async function init() {
-  return startup().then(async (params) => {
-    figma.showUI(__html__, {
-      themeColors: true,
-      width: params.settings.width ?? DefaultWindowSize.width,
-      height: params.settings.height ?? DefaultWindowSize.height,
-    });
- 
-    await AsyncMessageChannel.PluginInstance.message({
-      type: AsyncMessageTypes.STARTUP,
-      ...params,
-    });
- 
-    if (!figma.currentPage.selection.length) {
-      notifyNoSelection();
-    }
-  }).catch((err) => {
-    throw err;
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html deleted file mode 100644 index 6d155384b..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/plugin/startup.ts.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - Code coverage report for src/utils/plugin/startup.ts - - - - - - - - - -
-
-

All files / src/utils/plugin startup.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  ApiProvidersProperty, AuthDataProperty, LicenseKeyProperty, InitialLoadProperty,
-} from '@/figmaStorage';
-import { getActiveTheme } from '@/utils/getActiveTheme';
-import getLastOpened from '@/utils/getLastOpened';
-import getOnboardingExplainer from '@/utils/getOnboardingExplainer';
-import { getUsedTokenSet } from '@/utils/getUsedTokenSet';
-import { getUISettings } from '@/utils/uiSettings';
-import { getUserId } from '../../plugin/helpers';
-import { getSavedStorageType, getTokenData } from '../../plugin/node';
-import { UsedEmailProperty } from '@/figmaStorage/UsedEmailProperty';
- 
-export async function startup() {
-  // on startup we need to fetch all the locally available data so we can bootstrap our UI
-  const [
-    settings,
-    usedTokenSet,
-    activeTheme,
-    userId, // the user ID is used for license key binding
-    lastOpened,
-    onboardingExplainer,
-    storageType,
-    localApiProviders,
-    licenseKey,
-    initialLoad,
-    localTokenData,
-    authData,
-    usedEmail,
-  ] = await Promise.all([
-    getUISettings(false),
-    getUsedTokenSet(),
-    getActiveTheme(),
-    getUserId(),
-    getLastOpened(),
-    getOnboardingExplainer(),
-    getSavedStorageType(),
-    ApiProvidersProperty.read(),
-    LicenseKeyProperty.read(),
-    InitialLoadProperty.read(),
-    getTokenData(),
-    AuthDataProperty.read(),
-    UsedEmailProperty.read(),
-  ]);
- 
-  return {
-    settings,
-    activeTheme,
-    lastOpened,
-    onboardingExplainer,
-    storageType,
-    localApiProviders,
-    licenseKey,
-    initialLoad: initialLoad ?? false,
-    localTokenData: localTokenData ? {
-      ...localTokenData,
-      usedTokenSet,
-    } : null,
-    user: figma.currentUser ? {
-      userId,
-      figmaId: figma.currentUser.id,
-      name: figma.currentUser.name,
-    } : null,
-    authData,
-    usedEmail,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html deleted file mode 100644 index bcb91bd39..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeIdPropertyFromTokens.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/utils/removeIdPropertyFromTokens.ts - - - - - - - - - -
-
-

All files / src/utils removeIdPropertyFromTokens.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AnyTokenList } from '@/types/tokens';
-import removeTokenId from './removeTokenId';
-import { SetTokenDataPayload } from '@/types/payloads';
- 
-export default function removeIdPropertyFromTokens(tokens: SetTokenDataPayload['values']) {
-  const tokenObj = Object.entries(tokens).reduce<Record<string, AnyTokenList>>((acc, [key, val]) => {
-    const newTokenList = val.map((token) => removeTokenId(token, true));
-    acc[key] = newTokenList;
-    return acc;
-  }, {});
- 
-  return tokenObj;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html deleted file mode 100644 index ae62298a6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeLicense.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/utils/removeLicense.ts - - - - - - - - - -
-
-

All files / src/utils removeLicense.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export default async function removeLicense(
-  licenseKey: string,
-  userId: string | null,
-): Promise<{ key?: string; error?: string }> {
-  try {
-    const requestOptions = {
-      method: 'PUT',
-      headers: { 'Content-Type': 'application/json' },
-      body: JSON.stringify({ licenseKey, userId }),
-    };
-    const res = await fetch(`${process.env.LICENSE_API_URL}/detach-license`, requestOptions);
-    if (res.status === 200) {
-      const key = await res.json();
-      return { key };
-    }
- 
-    const { message } = await res.json();
-    return {
-      error: message,
-    };
-  } catch (e) {
-    console.log(e);
-    return {
-      error: 'Error removing license',
-    };
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html deleted file mode 100644 index cd0167f11..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/removeTokenId.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/utils/removeTokenId.ts - - - - - - - - - -
-
-

All files / src/utils removeTokenId.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/18 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
- 
-export default function removeTokenId(token: SingleToken, shouldRemove: boolean): SingleToken {
-  if (token.$extensions && shouldRemove && token.$extensions['studio.tokens']) {
-    delete token.$extensions?.['studio.tokens']?.id;
-    if (Object.keys(token.$extensions?.['studio.tokens'] || {}).length === 0) {
-      delete token.$extensions?.['studio.tokens'];
-    }
-  }
- 
-  if (token.$extensions && shouldRemove && token.$extensions.id) {
-    delete token.$extensions?.id;
-  }
- 
-  if (Object.keys(token.$extensions || {}).length === 0) {
-    delete token.$extensions;
-  }
-  return token;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html deleted file mode 100644 index 0152f75e1..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/reorderItemInSet.ts.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Code coverage report for src/utils/reorderItemInSet.ts - - - - - - - - - -
-
-

All files / src/utils reorderItemInSet.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4  -  -  - 
export function reorderItemInSet() {
- 
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html deleted file mode 100644 index 6fdee9ae4..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/setTokenKey.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/utils/setTokenKey.ts - - - - - - - - - -
-
-

All files / src/utils setTokenKey.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
-import { TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
- 
-export type SingleTokenWithoutName = Omit<SingleToken, 'name'>;
-export type SingleTokenWithoutNameOrType = Omit<SingleToken, 'name' | 'type'>;
- 
-export enum FormatSensitiveTokenKeys {
-  TYPE = 'type',
-  VALUE = 'value',
-  DESCRIPTION = 'description',
-}
- 
-export function setTokenKey(token: SingleTokenWithoutName | SingleTokenWithoutNameOrType, keyName: FormatSensitiveTokenKeys): SingleTokenWithoutName | SingleTokenWithoutNameOrType {
-  const isDTCG = TokenFormat.format === TokenFormatOptions.DTCG;
- 
-  if (isDTCG) {
-    token[`$${keyName}`] = token[keyName];
-    if (token.hasOwnProperty(keyName)) {
-      delete token[keyName];
-    }
-  } else {
-    const tempValue = token[`$${keyName}`] || token[keyName];
-    token[keyName] = tempValue;
-    if (token.hasOwnProperty(`$${keyName}`)) {
-      delete token[`$${keyName}`];
-    }
-  }
- 
-  return token;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html deleted file mode 100644 index 3036a756c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSelectionValueByProperties.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/sortSelectionValueByProperties.ts - - - - - - - - - -
-
-

All files / src/utils sortSelectionValueByProperties.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
import { Properties } from '@/constants/Properties';
-import { SelectionValue } from '@/types';
-import { convertToOrderObj } from './convertToOrderObj';
- 
-export function sortSelectionValueByProperties(value: SelectionValue) {
-  const orderObj = convertToOrderObj(Properties);
-  return Object.assign({}, ...Object.keys(value).sort((a, b) => orderObj[a as keyof typeof value] - orderObj[b as keyof typeof value])
-    .map((x) => ({ [x]: value[x as keyof typeof value] })));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html deleted file mode 100644 index 1cb9e2dba..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/sortSets.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/utils/sortSets.ts - - - - - - - - - -
-
-

All files / src/utils sortSets.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/16 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { UsedTokenSetsMap } from '@/types';
- 
-// Helper function to sort token sets based on their status in the configuration. Basically, ENABLED and SOURCE sets are treated equally and come before DISABLED.
-export function sortSets(a: string, b: string, config: UsedTokenSetsMap) {
-  // Get the status of each set, defaulting to DISABLED if not found in config
-  const statusA = config[a] || TokenSetStatus.DISABLED;
-  const statusB = config[b] || TokenSetStatus.DISABLED;
- 
-  // If both sets have the same status, maintain their original order
-  if (statusA === statusB) return 0;
- 
-  // DISABLED sets should come before ENABLED and SOURCE, which are treated equally
-  if (statusA === TokenSetStatus.DISABLED && (statusB === TokenSetStatus.ENABLED || statusB === TokenSetStatus.SOURCE)) return -1;
-  if ((statusA === TokenSetStatus.ENABLED || statusA === TokenSetStatus.SOURCE) && statusB === TokenSetStatus.DISABLED) return 1;
- 
-  // If we reach here, it means both are ENABLED or SOURCE, or both are DISABLED
-  return 0;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html deleted file mode 100644 index c35df9912..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/splitIntoChunks.ts.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - Code coverage report for src/utils/splitIntoChunks.ts - - - - - - - - - -
-
-

All files / src/utils splitIntoChunks.ts

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/**
- * Splits a string into chunks of specified maximum byte size
- * @param str String to split
- * @param maxBytes Maximum bytes per chunk
- * @returns Array of string chunks
- */
-export function splitIntoChunks(str: string, maxBytes: number): string[] {
-  const chunks: string[] = [];
-  let currentChunk = '';
-  let currentLength = 0;
-  const maxChars = Math.floor(maxBytes / 2); // Convert bytes to character count for UTF-16
- 
-  // Process the string character by character
-  for (let i = 0; i < str.length; i += 1) {
-    const char = str[i];
- 
-    // If adding this character would exceed the limit, start a new chunk
-    if (currentLength + 1 > maxChars) {
-      chunks.push(currentChunk);
-      currentChunk = char;
-      currentLength = 1;
-    } else {
-      currentChunk += char;
-      currentLength += 1;
-    }
-  }
- 
-  // Add the last chunk if it's not empty
-  if (currentChunk) {
-    chunks.push(currentChunk);
-  }
- 
-  return chunks;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html deleted file mode 100644 index 174640bff..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/storyblok.ts.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - Code coverage report for src/utils/storyblok.ts - - - - - - - - - -
-
-

All files / src/utils storyblok.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StoryblokStory } from '@/types';
- 
-export function formatDate(date?: number | Date) {
-  const formatter = new Intl.DateTimeFormat('en', {
-    year: 'numeric',
-    month: '2-digit',
-    day: '2-digit',
-    hour: '2-digit',
-    minute: '2-digit',
-    hour12: false,
-    timeZone: 'UTC',
-  });
-  const [month, , day, , year, , hour, , minute] = formatter.formatToParts(date);
-  return `${year.value}-${month.value}-${day.value} ${hour.value}:${minute.value}`;
-}
- 
-export default async function fetchChangelog(lastOnline: Date, setChangelog: (stories: StoryblokStory['content'][]) => void): Promise<void> {
-  if (process.env.STORYBLOK_ACCESS_TOKEN && lastOnline.toString() !== '0') {
-    const token = process.env.STORYBLOK_ACCESS_TOKEN;
-    const formattedDate = formatDate(new Date(lastOnline));
-    const response = await fetch(
-      `https://api.storyblok.com/v1/cdn/stories?version=published&token=${token}&first_published_at_gt=${formattedDate}&startsWith=changelog/&sort_by=first_published_at`,
-      {
-        method: 'GET',
-        mode: 'cors',
-        cache: 'no-cache',
-        credentials: 'same-origin',
-        headers: {
-          'Content-Type': 'application/json',
-        },
-      },
-    );
- 
-    const res = await response.json() as {
-      stories: StoryblokStory[];
-    };
-    if (res.stories) {
-      const stories = res.stories.map((story) => ({ ...story.content }));
-      setChangelog(stories);
-    }
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html deleted file mode 100644 index 1b0d515b0..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for src/utils/string - - - - - - - - - -
-
-

All files src/utils/string

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
joinPath.ts -
-
0%0/2100%0/00%0/20%0/2
slugify.ts -
-
0%0/1100%0/00%0/10%0/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html deleted file mode 100644 index 797c13aa6..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/index.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/utils/string/index.ts - - - - - - - - - -
-
-

All files / src/utils/string index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3  -  - 
export * from './slugify';
-export * from './joinPath';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html deleted file mode 100644 index 5105b5f44..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/joinPath.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/utils/string/joinPath.ts - - - - - - - - - -
-
-

All files / src/utils/string joinPath.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8  -  -  -  -  -  -  - 
import compact from 'just-compact';
- 
-export function joinPath(...paths: string[]) {
-  return compact(paths).map((path) => (
-    path.replace(/^\/+/, '').replace(/\/+$/, '')
-  )).join('/');
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html deleted file mode 100644 index 7a0613d7c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/slugify.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/utils/string/slugify.ts - - - - - - - - - -
-
-

All files / src/utils/string slugify.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
// Converts string to slug
-export function slugify(text: string) {
-  return text
-    .toString() // Cast to string
-    .toLowerCase() // Convert the string to lowercase letters
-    .normalize('NFD') // The normalize() method returns the Unicode Normalization Form of a given string.
-    .trim() // Remove whitespace from both sides of a string
-    .replace(/\s+/g, '-') // Replace spaces with -
-    .replace(/[^\w-]+/g, '') // Remove all non-word chars
-    .replace(/--+/g, '-'); // Replace multiple - with single -
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html deleted file mode 100644 index fdee3c80f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/decodeBase64.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/utils/string/ui/decodeBase64.ts - - - - - - - - - -
-
-

All files / src/utils/string/ui decodeBase64.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11  -  -  -  -  -  -  -  -  -  - 
export function decodeBase64(base64: string) {
-  const text = atob(base64);
-  const { length } = text;
-  const bytes = new Uint8Array(length);
-  for (let i = 0; i < length; i += 1) {
-    bytes[i] = text.charCodeAt(i);
-  }
-  const decoder = new TextDecoder();
-  return decoder.decode(bytes);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html deleted file mode 100644 index d18cec871..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for src/utils/string/ui - - - - - - - - - -
-
-

All files src/utils/string/ui

-
- -
- 0% - Statements - 0/8 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
decodeBase64.ts -
-
0%0/8100%0/00%0/10%0/7
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html deleted file mode 100644 index f24ace7bf..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/string/ui/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for src/utils/string/ui/index.ts - - - - - - - - - -
-
-

All files / src/utils/string/ui index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export * from './decodeBase64';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html deleted file mode 100644 index 7c63b6a40..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/stringifyTokens.ts.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/utils/stringifyTokens.ts - - - - - - - - - -
-
-

All files / src/utils stringifyTokens.ts

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/30 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import set from 'set-value';
-import { appendTypeToToken } from '@/app/components/createTokenObj';
-import { AnyTokenList } from '@/types/tokens';
-import removeTokenId from './removeTokenId';
-import { TokenFormat, TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { TokenInJSON } from './convertTokens';
- 
-export function getGroupTypeName(tokenName: string, groupLevel: number): string {
-  if (tokenName.includes('.')) {
-    const lastDotPosition = tokenName.split('.', groupLevel - 1).join('.').length;
-    return `${tokenName.slice(0, lastDotPosition)}.${TokenFormat.tokenTypeKey}`;
-  }
-  return TokenFormat.tokenTypeKey;
-}
- 
-export default function stringifyTokens(
-  tokens: Record<string, AnyTokenList>,
-  activeTokenSet: string,
-  storeTokenIdInJsonEditor?: boolean,
-): string {
-  const tokenObj = {};
-  tokens[activeTokenSet]?.forEach((token) => {
-    const tokenWithType = appendTypeToToken(token);
-    const { name, ...tokenWithoutName } = removeTokenId(tokenWithType, !storeTokenIdInJsonEditor);
-    if (tokenWithoutName.inheritTypeLevel) {
-      const { inheritTypeLevel, ...tokenWithoutInheritTypeLevel } = tokenWithoutName;
-      const tokenInJSON: TokenInJSON = tokenWithoutInheritTypeLevel;
-      // set type of group level
-      set(tokenObj, getGroupTypeName(token.name, inheritTypeLevel), tokenInJSON.type);
-      tokenInJSON[TokenFormat.tokenValueKey] = tokenWithoutName.value;
-      tokenInJSON[TokenFormat.tokenDescriptionKey] = tokenWithoutName.description;
-      if (TokenFormat.format === TokenFormatOptions.DTCG) {
-        delete tokenInJSON.type;
-        delete tokenInJSON.value;
-        delete tokenInJSON.description;
-      }
-      delete tokenInJSON.type;
-      set(tokenObj, token.name, tokenInJSON, { merge: true });
-    } else {
-      const tokenInJSON: TokenInJSON = tokenWithoutName;
-      tokenInJSON[TokenFormat.tokenTypeKey] = tokenInJSON.type;
-      tokenInJSON[TokenFormat.tokenValueKey] = tokenInJSON.value;
-      tokenInJSON[TokenFormat.tokenDescriptionKey] = tokenInJSON.description;
-      if (TokenFormat.format === TokenFormatOptions.DTCG) {
-        delete tokenInJSON.type;
-        delete tokenInJSON.value;
-        delete tokenInJSON.description;
-      }
-      set(tokenObj, token.name, tokenInJSON, { merge: true });
-    }
-  });
- 
-  return JSON.stringify(tokenObj, null, 2);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html deleted file mode 100644 index 6fb4d4b06..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/themeListToTree.ts.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for src/utils/themeListToTree.ts - - - - - - - - - -
-
-

All files / src/utils themeListToTree.ts

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/28 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { v4 as uuidv4 } from 'uuid';
-import { INTERNAL_THEMES_NO_GROUP } from '@/constants/InternalTokenGroup';
-import { ThemeObject, ThemeObjectsList } from '@/types';
- 
-export type TreeItem = {
-  key: string;
-  path: string;
-  parent: string | null;
-  level: number;
-  label: string;
-  isLeaf: boolean;
-  value: string | ThemeObject;
-  id: string;
-};
- 
-export function themeListToTree(items: ThemeObjectsList) {
-  const tree = items.reduce<TreeItem[]>((acc, curr) => {
-    const parentIndex = acc.findIndex(
-      (item) => !item.isLeaf
-        && ((typeof curr?.group !== 'undefined' && item.key === curr.group)
-          || (typeof curr?.group === 'undefined' && item.key === INTERNAL_THEMES_NO_GROUP)),
-    );
- 
-    if (parentIndex < 0) {
-      acc.push({
-        isLeaf: false,
-        value: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
-        key: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
-        parent: null,
-        path: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
-        level: 0,
-        label: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
-        id: uuidv4(),
-      });
-      acc.push({
-        isLeaf: true,
-        value: curr,
-        key: curr.id,
-        parent: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
-        path: `${curr?.group ?? INTERNAL_THEMES_NO_GROUP}/${curr.id}`,
-        level: 1,
-        label: curr.id,
-        id: uuidv4(),
-      });
-    } else {
-      const childrenLength = acc.filter(
-        (item) => item.isLeaf === true
-          && ((typeof curr?.group !== 'undefined' && item.parent === curr.group)
-            || (typeof curr?.group === 'undefined' && item.parent === INTERNAL_THEMES_NO_GROUP)),
-      ).length;
-      acc.splice(parentIndex + childrenLength + 1, 0, {
-        isLeaf: true,
-        value: curr,
-        key: curr.id,
-        parent: curr?.group ?? INTERNAL_THEMES_NO_GROUP,
-        path: `${curr?.group ?? INTERNAL_THEMES_NO_GROUP}/${curr.name}`,
-        level: 1,
-        label: curr.id,
-        id: uuidv4(),
-      });
-    }
-    return acc;
-  }, []);
-  return tree;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html deleted file mode 100644 index 313c95b21..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenArrayGroupToMap.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenArrayGroupToMap.ts - - - - - - - - - -
-
-

All files / src/utils tokenArrayGroupToMap.ts

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
import { AnyTokenList } from '@/types/tokens';
- 
-export function tokenArrayGroupToMap(tokens: AnyTokenList) {
-  const tokensByNameMap = new Map<string, AnyTokenList[number]>(tokens.map((token) => ([token.name, token])));
-  return tokensByNameMap;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html deleted file mode 100644 index 237120701..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenHelpers.ts.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenHelpers.ts - - - - - - - - - -
-
-

All files / src/utils tokenHelpers.ts

-
- -
- 0% - Statements - 0/30 -
- - -
- 0% - Branches - 0/26 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { appendTypeToToken } from '@/app/components/createTokenObj';
-import { SingleToken } from '@/types/tokens';
-import { ThemeObject, UsedTokenSetsMap } from '@/types';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { getTokenSetsOrder } from './getTokenSetsOrder';
- 
-export type ResolveTokenValuesResult = SingleToken<
-true,
-{
-  failedToResolve?: boolean;
-}
->;
- 
-export function getOverallConfig(themes: ThemeObject[], selectedThemes: string[]) {
-  return selectedThemes.reduce((acc, themeId) => {
-    const currentTheme = themes.find((theme) => theme.id === themeId);
-    if (!currentTheme) return acc;
- 
-    Object.entries(currentTheme.selectedTokenSets).forEach(([tokenSet, status]) => {
-      // If the set is enabled, set it. Meaning, it should always win.
-      if (status === TokenSetStatus.ENABLED) {
-        acc[tokenSet] = status;
-        // If the set is source, only set it to source if it wasnt set to enabled.
-      } else if (status === TokenSetStatus.SOURCE && acc[tokenSet] !== TokenSetStatus.ENABLED) {
-        acc[tokenSet] = status;
-      }
-    });
-    return acc;
-  }, {} as Record<string, TokenSetStatus>);
-}
- 
-export function getEnabledTokenSets(usedSets: UsedTokenSetsMap = {}) {
-  return Object.keys(usedSets)
-    .filter((key) => usedSets[key] === TokenSetStatus.ENABLED)
-    .map((tokenSet) => tokenSet);
-}
- 
-export function mergeTokenGroups(
-  tokens: Record<string, SingleToken[]>,
-  usedSets: UsedTokenSetsMap = {},
-  overallConfig: UsedTokenSetsMap = {},
-  activeTokenSet?: string,
-): SingleToken[] {
-  const { tokenSetsOrder, usedSetsList, overallSets } = getTokenSetsOrder(
-    tokens,
-    usedSets,
-    overallConfig,
-    activeTokenSet,
-  );
- 
-  // Helper to determine if a token should be merged. We only merge object tokens if the current set is enabled (to avoid accidental merges)
-  const shouldMerge = (currentSet: string, existingToken: SingleToken) => usedSetsList.includes(currentSet)
-    && existingToken.internal__Parent
-    && !overallSets.includes(existingToken.internal__Parent);
- 
-  return tokenSetsOrder.reduce((mergedTokens, setName) => {
-    const setTokens = tokens[setName] || [];
-    setTokens.forEach((token) => {
-      const existingIndex = mergedTokens.findIndex((t) => t.name === token.name);
-      const existingToken = mergedTokens[existingIndex];
-      const newToken = {
-        ...appendTypeToToken(token),
-        internal__Parent: setName,
-      } as SingleToken;
- 
-      if (existingIndex === -1) {
-        // If the token does not exist yet, add it.
-        mergedTokens.push(newToken);
-      } else if (
-        shouldMerge(setName, existingToken)
-        && existingIndex > -1
-        && typeof existingToken.value === 'object'
-        && typeof newToken.value === 'object'
-        && !Array.isArray(existingToken.value)
-        && !Array.isArray(newToken.value)
-      ) {
-        // If the token should be merged, and is an object - and not an array, merge them (e.g. composition, typography)
-        mergedTokens.splice(existingIndex, 1, {
-          ...newToken,
-          value: {
-            ...existingToken.value,
-            ...newToken.value,
-          },
-        } as SingleToken);
-      } else {
-        // In all other cases, just replace.
-        mergedTokens[existingIndex] = newToken;
-      }
-    });
-    return mergedTokens;
-  }, [] as SingleToken[]);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html deleted file mode 100644 index 6898fbd03..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/applyTokenSetOrder.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/applyTokenSetOrder.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset applyTokenSetOrder.ts

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/26 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { AnyTokenList } from '@/types/tokens';
- 
-export function applyTokenSetOrder(tokenSets: Record<string, AnyTokenList> = {}, order: (string[] | Record<string, unknown> | null | undefined) = null) {
-  if (typeof order === 'object' && !Array.isArray(order)) {
-    return tokenSets;
-  }
- 
-  return Object.fromEntries(
-    Object.entries(tokenSets).sort((a, b) => {
-      const indexOfA = order?.indexOf(a[0]) ?? -1;
-      const indexOfB = order?.indexOf(b[0]) ?? -1;
-      if (indexOfA === -1 && indexOfB > -1) return 1;
-      if (indexOfA > -1 && indexOfB === -1) return -1;
-      if (indexOfA === -1 && indexOfB === -1) return a[0] < b[0] ? -1 : 1;
-      return indexOfA < indexOfB ? -1 : 1;
-    }),
-  );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html deleted file mode 100644 index 2b0b429b8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx - - - - - - - - - -
-
-

All files / src/utils/tokenset findOrderableTargetIndexesInTokenSetTreeList.tsx

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ItemData } from '@/context';
-import { TreeItem } from './tokenSetListToTree';
- 
-export function findOrderableTargetIndexesInTokenSetTreeList<T extends TreeItem>(velocity: number, value: T, order: ItemData<T>[]) {
-  const siblings = order.filter((item) => (
-    item.value !== value
-    && item.value.parent === value.parent
-  ));
-  const availableIndexes = siblings.map((item) => {
-    if (velocity > 0) {
-      const childrenCount = order.reduce((count, v) => (
-        v.value.parent?.startsWith(item.value.path) ? count + 1 : count
-      ), 0);
-      return order.indexOf(item) + childrenCount;
-    }
-    return order.indexOf(item);
-  });
-  return availableIndexes;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html deleted file mode 100644 index a31b60759..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/findParentIndexToInsertSet.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/findParentIndexToInsertSet.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset findParentIndexToInsertSet.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { AnyTokenList } from '@/types/tokens';
- 
-export function findParentIndexToInsertSet(currentSets: [string, AnyTokenList][], setToInsert: string) {
-  const matchedLocationToInsertSet = Object.values(currentSets).reduce((acc, val, index) => {
-    const parentSetPath = val[0].split('/');
-    const newSetPath = setToInsert.split('/');
-    const intersectionOfSets = parentSetPath.filter((value) => newSetPath.includes(value));
-    if (intersectionOfSets.length > 0) {
-      if (intersectionOfSets.length >= acc.matchLength) {
-        acc = {
-          insertAt: index,
-          matchLength: intersectionOfSets.length,
-        };
-      }
-    }
-    return acc;
-  }, { insertAt: currentSets.length, matchLength: 0 });
- 
-  return matchedLocationToInsertSet.insertAt;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html deleted file mode 100644 index b887c4b46..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset - - - - - - - - - -
-
-

All files src/utils/tokenset

-
- -
- 0% - Statements - 0/117 -
- - -
- 0% - Branches - 0/76 -
- - -
- 0% - Functions - 0/33 -
- - -
- 0% - Lines - 0/104 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
applyTokenSetOrder.ts -
-
0%0/120%0/260%0/20%0/9
findOrderableTargetIndexesInTokenSetTreeList.tsx -
-
0%0/90%0/60%0/40%0/9
findParentIndexToInsertSet.ts -
-
0%0/100%0/40%0/30%0/9
index.ts -
-
0%0/00%0/00%0/00%0/0
mapTokensToStyleInfo.ts -
-
0%0/90%0/20%0/30%0/9
tokenSetListToList.ts -
-
0%0/2100%0/00%0/20%0/1
tokenSetListToTree.ts -
-
0%0/190%0/120%0/60%0/16
updateTokenSetsInState.ts -
-
0%0/560%0/260%0/130%0/51
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html deleted file mode 100644 index 038794a0e..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/index.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/index.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export { tokenSetListToTree } from './tokenSetListToTree';
-export { tokenSetListToList } from './tokenSetListToList';
-export { mapTokensToStyleInfo } from './mapTokensToStyleInfo';
-export { applyTokenSetOrder } from './applyTokenSetOrder';
-export { findOrderableTargetIndexesInTokenSetTreeList } from './findOrderableTargetIndexesInTokenSetTreeList';
-export type { TreeItem } from './tokenSetListToTree';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html deleted file mode 100644 index 918eb8f80..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/mapTokensToStyleInfo.ts.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/mapTokensToStyleInfo.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset mapTokensToStyleInfo.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import type { AnyTokenList, SingleToken } from '@/types/tokens';
-import { matchStyleName } from '../matchStyleName';
- 
-export function mapTokensToStyleInfo(
-  values: Record<string, AnyTokenList>,
-  figmaStyleReferences: Record<string, string>,
-  convertTokenNameToPath: (name: string) => string, // @README this is here for the beta users - only because we used to store the pathname in the figmaStyleRefs of a theme
-) {
-  const map: Record<string, {
-    styleId: string,
-    token: SingleToken
-  }> = {};
- 
-  const entries = Object.entries(values);
-  entries.forEach(([,tokens]) => {
-    tokens.forEach((token) => {
-      const tokenpath = convertTokenNameToPath(token.name);
-      const matchedStyleId = matchStyleName(token.name, tokenpath, figmaStyleReferences);
-      if (matchedStyleId) {
-        map[token.name] = {
-          styleId: matchedStyleId,
-          token,
-        };
-      }
-    });
-  });
- 
-  return map;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html deleted file mode 100644 index b923aa28f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToList.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/tokenSetListToList.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset tokenSetListToList.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { v4 as uuidv4 } from 'uuid';
-import { TreeItem } from './tokenSetListToTree';
- 
-export function tokenSetListToList(items: string[]): TreeItem[] {
-  return items.map((item) => ({
-    isLeaf: true,
-    path: item,
-    key: `${item}-set`,
-    parent: null,
-    level: 0,
-    label: item,
-    id: uuidv4(),
-  }));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html deleted file mode 100644 index 6cb23e134..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/tokenSetListToTree.ts.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/tokenSetListToTree.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset tokenSetListToTree.ts

-
- -
- 0% - Statements - 0/19 -
- - -
- 0% - Branches - 0/12 -
- - -
- 0% - Functions - 0/6 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { v4 as uuidv4 } from 'uuid';
- 
-export type TreeItem = {
-  key: string;
-  path: string;
-  parent: string | null;
-  level: number;
-  label: string;
-  isLeaf: boolean;
-  id: string;
-};
- 
-export function tokenSetListToTree(items: string[]) {
-  const tree = items.reduce<TreeItem[]>((acc, curr) => {
-    const path = curr.split('/');
-    const parentName = path.length > 1 ? path.slice(0, -1).join('/') : '';
-    const parentIndex = acc.findIndex((item) => item.path === parentName);
- 
-    if (parentName !== '' && parentIndex < 0) {
-      const parentNameSplit = parentName.split('/');
-      parentNameSplit.forEach((directory, index) => {
-        const label = directory;
-        if (!acc.find((item) => item.path === parentNameSplit.slice(0, index + 1).join('/') && !item.isLeaf)) {
-          acc.push({
-            isLeaf: false,
-            path: parentNameSplit.slice(0, index + 1).join('/'),
-            key: parentNameSplit.slice(0, index + 1).join('/'),
-            parent: path.slice(0, index).join('/'),
-            level: index,
-            label,
-            id: uuidv4(),
-          });
-        }
-      });
-    }
- 
-    if (parentIndex >= 0) {
-      const childrenLength = acc.filter((item) => item.path.startsWith(`${parentName}/`)).length;
-      acc.splice(parentIndex + childrenLength + 1, 0, {
-        isLeaf: true,
-        path: curr,
-        key: path.join('/'),
-        parent: parentName,
-        level: path.length - 1,
-        label: path[path.length - 1],
-        id: uuidv4(),
-      });
-    } else {
-      acc.push({
-        isLeaf: true,
-        path: curr,
-        key: path.join('/'),
-        parent: parentName,
-        level: path.length - 1,
-        label: path[path.length - 1],
-        id: uuidv4(),
-      });
-    }
-    return acc;
-  }, []);
-  // @README sorting used to happen here
-  // this logic has moved to where the tokensets are being pulled
-  return tree;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html deleted file mode 100644 index 5f50dad2f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tokenset/updateTokenSetsInState.ts.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - Code coverage report for src/utils/tokenset/updateTokenSetsInState.ts - - - - - - - - - -
-
-

All files / src/utils/tokenset updateTokenSetsInState.ts

-
- -
- 0% - Statements - 0/56 -
- - -
- 0% - Branches - 0/26 -
- - -
- 0% - Functions - 0/13 -
- - -
- 0% - Lines - 0/51 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import omit from 'just-omit';
-import type { TokenState } from '@/app/store/models/tokenState';
-import type { AnyTokenList } from '@/types/tokens';
-import { TokenSetStatus } from '@/constants/TokenSetStatus';
-import { tokenSetListToTree } from './tokenSetListToTree';
-import { findParentIndexToInsertSet } from './findParentIndexToInsertSet';
- 
-export function updateTokenSetsInState(
-  state: TokenState,
-  mutate: ((name: string, tokenList: AnyTokenList) => null | [string, AnyTokenList]) | null,
-  ...newTokenSets: ([string] | [string, AnyTokenList] | [string, AnyTokenList, number])[]
-): TokenState {
-  const deletedTokenSets = new Set<string>();
-  const renamedTokenSets = new Map<string, string>();
-  const entries = Object.entries(state.tokens).reduce<[string, AnyTokenList][]>((acc, [name, tokenList]) => {
-    if (mutate) {
-      const mutated = mutate(name, tokenList);
-      if (mutated !== null) {
-        if (mutated[0] !== name) {
-          renamedTokenSets.set(name, mutated[0]);
-        }
-        acc.push(mutated);
-      } else {
-        deletedTokenSets.add(name);
-      }
-    } else {
-      acc.push([name, tokenList]);
-    }
-    return acc;
-  }, []);
- 
-  newTokenSets.forEach((newSet) => {
-    const insertAt = newSet.length === 3 ? newSet[2] : findParentIndexToInsertSet(entries, newSet[0]);
-    entries.splice(insertAt, 0, [newSet[0], newSet?.[1] ?? []]);
-  });
- 
-  let nextActiveTokenSet = state.activeTokenSet;
-  if (deletedTokenSets.has(state.activeTokenSet)) {
-    if (entries.length) {
-      const [firstTokenSetName] = entries[0];
-      nextActiveTokenSet = firstTokenSetName;
-    } else {
-      nextActiveTokenSet = '';
-    }
-  } else if (renamedTokenSets.has(state.activeTokenSet)) {
-    nextActiveTokenSet = renamedTokenSets.get(state.activeTokenSet)!;
-  }
- 
-  let nextUsedTokenSet = { ...state.usedTokenSet };
-  let nextThemes = [...state.themes];
-  if (deletedTokenSets.size > 0) {
-    const deletedTokenSetsList = Array.from(deletedTokenSets);
-    nextUsedTokenSet = omit(nextUsedTokenSet, deletedTokenSetsList[0], ...deletedTokenSetsList.slice(1));
-    nextThemes = nextThemes.map((theme) => ({
-      ...theme,
-      selectedTokenSets: omit(
-        theme.selectedTokenSets,
-        deletedTokenSetsList[0],
-        ...deletedTokenSetsList.slice(1),
-      ),
-    }));
-  }
- 
-  if (renamedTokenSets.size > 0) {
-    renamedTokenSets.forEach((newName, originalName) => {
-      const tokenSetStatus = nextUsedTokenSet[originalName] ?? TokenSetStatus.DISABLED;
-      nextUsedTokenSet = omit(nextUsedTokenSet, originalName);
-      nextUsedTokenSet[newName] = tokenSetStatus;
-    });
-    nextThemes = nextThemes.map((theme) => {
-      let nextSelectedTokenSets = { ...theme.selectedTokenSets };
-      renamedTokenSets.forEach((newName, originalName) => {
-        const tokenSetStatus = nextSelectedTokenSets[originalName] ?? TokenSetStatus.DISABLED;
-        nextSelectedTokenSets = omit(nextSelectedTokenSets, originalName);
-        nextSelectedTokenSets[newName] = tokenSetStatus;
-      });
-      return {
-        ...theme,
-        selectedTokenSets: nextSelectedTokenSets,
-      };
-    });
-  }
- 
-  if (newTokenSets.length) {
-    newTokenSets.forEach(([name]) => {
-      nextUsedTokenSet[name] = TokenSetStatus.DISABLED;
-      nextThemes = nextThemes.map((theme) => ({
-        ...theme,
-        selectedTokenSets: {
-          ...theme.selectedTokenSets,
-          [name]: TokenSetStatus.DISABLED,
-        },
-      }));
-    });
-  }
- 
-  const updatedTokens = Object.fromEntries(entries);
-  const tokenSetItems = tokenSetListToTree(entries.map(([tokenSet]) => tokenSet));
-  const newTokens = {};
-  tokenSetItems.filter(({ isLeaf }) => isLeaf).map(({ path }) => path).forEach((set) => {
-    Object.assign(newTokens, { [set]: updatedTokens[set] });
-  });
- 
-  return {
-    ...state,
-    tokens: newTokens,
-    activeTokenSet: nextActiveTokenSet,
-    usedTokenSet: nextUsedTokenSet,
-    themes: nextThemes,
-  };
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html deleted file mode 100644 index cc70541ac..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/transform.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/utils/transform.ts - - - - - - - - - -
-
-

All files / src/utils transform.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import { SetTokenDataPayload } from '@/types/payloads';
-import convertTokensObjectToResolved from './convertTokensObjectToResolved';
-import { TransformerOptions } from './types';
- 
-type Input = SetTokenDataPayload['values'];
- 
-function transform(input: Input, sets: string[], excludes: string[], options: TransformerOptions) {
-  return convertTokensObjectToResolved(input, sets, excludes, options);
-}
- 
-export default transform;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html deleted file mode 100644 index 0812f1a0a..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/transformProviderName.tsx.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/utils/transformProviderName.tsx - - - - - - - - - -
-
-

All files / src/utils transformProviderName.tsx

-
- -
- 0% - Statements - 0/11 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StorageProviderType } from '@/constants/StorageProviderType';
- 
-export const transformProviderName = (provider: StorageProviderType) => {
-  switch (provider) {
-    case StorageProviderType.JSONBIN:
-      return 'JSONBin.io';
-    case StorageProviderType.GITHUB:
-      return 'GitHub';
-    case StorageProviderType.GITLAB:
-      return 'GitLab';
-    case StorageProviderType.BITBUCKET:
-      return 'Bitbucket (Beta)';
-    case StorageProviderType.ADO:
-      return 'ADO';
-    case StorageProviderType.URL:
-      return 'URL';
-    case StorageProviderType.SUPERNOVA:
-      return 'Supernova';
-    case StorageProviderType.TOKENS_STUDIO:
-      return 'Tokens Studio (Beta)';
-    default:
-      return provider;
-  }
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html deleted file mode 100644 index e1b9acff8..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/trimValue.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/utils/trimValue.ts - - - - - - - - - -
-
-

All files / src/utils trimValue.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
- 
-export default function trimValue(value: SingleToken['value']): SingleToken['value'] {
-  if (Array.isArray(value)) {
-    return value.map((item) => (
-      Object.entries(item).reduce<Record<string, string>>((acc, [key, value]) => {
-        acc[key] = value.toString().trim();
-        return acc;
-      }, {})
-    )) as SingleToken['value'];
-  } if (typeof value === 'object') {
-    return Object.entries(value).reduce<Record<string, string>>((acc, [key, value]) => {
-      acc[key] = value.toString().trim();
-      return acc;
-    }, {});
-  }
-  return value.toString().trim();
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html deleted file mode 100644 index ced7e6139..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyColorVariableId.ts.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - Code coverage report for src/utils/tryApplyColorVariableId.ts - - - - - - - - - -
-
-

All files / src/utils tryApplyColorVariableId.ts

-
- -
- 0% - Statements - 0/27 -
- - -
- 0% - Branches - 0/24 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/25 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { clone } from '@figma-plugin/helpers';
-import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
-import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
- 
-export enum ColorPaintType {
-  FILLS = 'fills',
-  STROKES = 'strokes',
-  PAINTS = 'paints',
-}
- 
-export async function tryApplyColorVariableId(target: BaseNode | PaintStyle, token: string, type: ColorPaintType) {
-  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
-  const shouldApplyVariable = applyVariablesStylesOrRawValue === ApplyVariablesStylesOrRawValues.VARIABLES_STYLES;
-  const isNode = !('consumers' in target);
-  // First check if this is about a node or a style. If it is a node we'd need to check if we should apply variables
-  if (isNode && !shouldApplyVariable) return false;
- 
-  const variable = await defaultTokenValueRetriever.getVariableReference(token);
-  if (!variable) return false;
- 
-  try {
-    const defaultPaint: SolidPaint = { type: 'SOLID', color: { r: 0, g: 0, b: 0 } };
-    if (type === 'fills' && 'fills' in target) {
-      const fillsCopy = clone(target.fills);
-      fillsCopy[0] = figma.variables.setBoundVariableForPaint(fillsCopy[0] ?? defaultPaint, 'color', variable);
-      target.fills = fillsCopy;
-      return target.boundVariables?.fills?.[0]?.id === variable.id;
-    }
-    if (type === 'strokes' && 'strokes' in target) {
-      const stokesCopy = clone(target.strokes);
-      stokesCopy[0] = figma.variables.setBoundVariableForPaint(stokesCopy[0] ?? defaultPaint, 'color', variable);
-      target.strokes = stokesCopy;
-      return target.boundVariables?.strokes?.[0]?.id === variable.id;
-    }
-    // For styles we're looking for paints
-    if (type === 'paints' && 'paints' in target) {
-      const fillsCopy = clone(target.paints);
-      fillsCopy[0] = figma.variables.setBoundVariableForPaint(fillsCopy[0] ?? defaultPaint, 'color', variable);
-      target.paints = fillsCopy;
-      return target.boundVariables?.paints?.[0]?.id === variable.id;
-    }
-  } catch (e) {
-    console.log('error', e);
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html deleted file mode 100644 index e787c3978..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyEffectVariableId.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/utils/tryApplyEffectVariableId.ts - - - - - - - - - -
-
-

All files / src/utils tryApplyEffectVariableId.ts

-
- -
- 0% - Statements - 0/8 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
- 
-export async function tryApplyEffectVariableId(effect: Effect, token: string) {
-  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
-  if (applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.VARIABLES_STYLES) return false;
- 
-  const variable = defaultTokenValueRetriever.get(token)?.variableId;
- 
-  try {
-    return figma.variables.setBoundVariableForEffect(effect, 'color', variable);
-  } catch (e) {
-    console.log('error', e);
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html deleted file mode 100644 index 6a9260f3d..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryApplyVariableId.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/utils/tryApplyVariableId.ts - - - - - - - - - -
-
-

All files / src/utils tryApplyVariableId.ts

-
- -
- 0% - Statements - 0/18 -
- - -
- 0% - Branches - 0/13 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/17 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
- 
-export async function tryApplyVariableId(node: SceneNode, type: VariableBindableNodeField, token: string) {
-  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
-  if (applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.VARIABLES_STYLES) return false;
- 
-  const variable = await defaultTokenValueRetriever.getVariableReference(token);
- 
-  if (variable && type in node) {
-    try {
-      node.setBoundVariable(type, variable);
-      if (node.boundVariables?.[type] !== undefined) {
-        const valueOnVariable = variable.resolveForConsumer(node).value;
-        const valueOnNode = node[type as keyof typeof node];
-        if (typeof valueOnNode === 'number' && typeof valueOnVariable === 'number' && type === 'opacity') {
-          // We need to account for floating point precision errors when comparing numbers
-          const epsilon = 0.0001;
-          const variableValue = valueOnVariable / 100; // normalize value to 0-1, Figma's variable needs those to be 1-100, but applied they return 0-1
-          const isEqual = Math.abs(variableValue - valueOnNode) < epsilon;
- 
-          return isEqual;
-        }
- 
-        // Equality check. If the value on the variable is the same as the value on the node, we consider it a success, otherwise we'd return false and we'd apply the raw value.
-        return valueOnVariable === valueOnNode;
-      }
-    } catch (e) {
-      console.log('error', e);
-    }
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html deleted file mode 100644 index 0ffdb83dd..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/tryParseJson.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/utils/tryParseJson.ts - - - - - - - - - -
-
-

All files / src/utils tryParseJson.ts

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9  -  -  -  -  -  -  -  - 
export function tryParseJson<V = any>(value: string): V | null {
-  try {
-    return JSON.parse(value);
-  } catch (err) {
-    console.error(err);
-  }
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html deleted file mode 100644 index 951fc96b3..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/trySetStyleId.ts.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - Code coverage report for src/utils/trySetStyleId.ts - - - - - - - - - -
-
-

All files / src/utils trySetStyleId.ts

-
- -
- 0% - Statements - 0/29 -
- - -
- 0% - Branches - 0/36 -
- - -
- 0% - Functions - 0/4 -
- - -
- 0% - Lines - 0/27 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import { defaultTokenValueRetriever } from '@/plugin/TokenValueRetriever';
- 
-type StyleType = 'fill' | 'text' | 'stroke' | 'effect';
- 
-export async function trySetStyleId(node: BaseNode, type: StyleType, styleId: string) {
-  const { applyVariablesStylesOrRawValue } = defaultTokenValueRetriever;
-  if (applyVariablesStylesOrRawValue !== ApplyVariablesStylesOrRawValues.VARIABLES_STYLES) return false;
-  try {
-    // @README we need to try and import the style just in case it's a library provided one
-    const styleKeyMatch = styleId.match(/^S:([a-zA-Z0-9_-]+),/);
-    const actualStyleId = await new Promise<string>((resolve, reject) => {
-      const localStyle = figma.getStyleById(styleId);
-      if (localStyle) {
-        resolve(localStyle.id);
-      } else if (styleKeyMatch) {
-        figma.importStyleByKeyAsync(styleKeyMatch[1])
-          .then((remoteStyle) => resolve(remoteStyle.id))
-          .catch(() => {
-            reject(styleId);
-          });
-      }
-    });
-    if (!actualStyleId) return false;
-    if (type === 'fill' && 'fillStyleId' in node) {
-      node.fillStyleId = actualStyleId;
-      return (
-        node.fillStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.fillStyleId)
-        // @README the secondary check here is only relevant when both the local and remote styles are available
-        // what can happen is that figma applies the local style when we are expecting the remote style to be applied
-        // since it exists. Of course applying the local style in this case is completely valid so we should allow a local
-        // style to be applied instead
-      );
-    }
- 
-    if (type === 'stroke' && 'strokeStyleId' in node) {
-      node.strokeStyleId = actualStyleId;
-      return node.strokeStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.strokeStyleId);
-    }
- 
-    if (type === 'text' && 'textStyleId' in node) {
-      node.textStyleId = actualStyleId;
-      return node.textStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.textStyleId);
-    }
- 
-    if (type === 'effect' && 'effectStyleId' in node) {
-      node.effectStyleId = actualStyleId;
-      return node.effectStyleId === actualStyleId || (styleKeyMatch && styleKeyMatch[0] === node.effectStyleId);
-    }
-  } catch (e) {
-    console.log('Unable to apply style for id', e);
-  }
-  return false;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html deleted file mode 100644 index 7a08fca34..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/types.d.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/utils/types.d.ts - - - - - - - - - -
-
-

All files / src/utils types.d.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10  -  -  -  -  -  -  -  -  - 
export interface TransformerOptions {
-  expandTypography: boolean;
-  expandShadow: boolean;
-  expandComposition: boolean;
-  expandBorder: boolean;
-  preserveRawValue: boolean;
-  throwErrorWhenNotResolved?: boolean;
-  resolveReferences: boolean | 'math';
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html deleted file mode 100644 index ba1723f70..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/uiSettings.ts.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - Code coverage report for src/utils/uiSettings.ts - - - - - - - - - -
-
-

All files / src/utils uiSettings.ts

-
- -
- 0% - Statements - 0/42 -
- - -
- 0% - Branches - 0/117 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/42 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { ApplyVariablesStylesOrRawValues } from '@/constants/ApplyVariablesStyleOrder';
-import { defaultBaseFontSize } from '../constants/defaultBaseFontSize';
-import { UpdateMode } from '@/constants/UpdateMode';
-import { UiSettingsProperty } from '@/figmaStorage';
-import { TokenFormatOptions } from '@/plugin/TokenFormatStoreClass';
-import { notifyUISettings, notifyUI, SavedSettings } from '@/plugin/notifiers';
- 
-// update credentials
-export async function updateUISettings(uiSettings: Partial<SavedSettings>) {
-  try {
-    const data = await UiSettingsProperty.read();
-    await UiSettingsProperty.write({
-      sessionRecording: uiSettings.sessionRecording ?? data?.sessionRecording,
-      width: uiSettings.width ?? data?.width,
-      language: uiSettings.language ?? data?.language,
-      height: uiSettings.height ?? data?.height,
-      showEmptyGroups: uiSettings.showEmptyGroups ?? data?.showEmptyGroups,
-      updateMode: uiSettings.updateMode ?? data?.updateMode,
-      updateRemote: uiSettings.updateRemote ?? data?.updateRemote,
-      updateOnChange: uiSettings.updateOnChange ?? data?.updateOnChange,
-      applyVariablesStylesOrRawValue: uiSettings.applyVariablesStylesOrRawValue ?? data?.applyVariablesStylesOrRawValue,
-      shouldUpdateStyles: uiSettings.shouldUpdateStyles ?? data?.shouldUpdateStyles,
-      ignoreFirstPartForStyles: uiSettings.ignoreFirstPartForStyles ?? data?.ignoreFirstPartForStyles,
-      createStylesWithVariableReferences: uiSettings.createStylesWithVariableReferences ?? data?.createStylesWithVariableReferences,
-      prefixStylesWithThemeName: uiSettings.prefixStylesWithThemeName ?? data?.prefixStylesWithThemeName,
-      renameExistingStylesAndVariables: uiSettings.renameExistingStylesAndVariables ?? data?.renameExistingStylesAndVariables,
-      removeStylesAndVariablesWithoutConnection: uiSettings.removeStylesAndVariablesWithoutConnection ?? data?.removeStylesAndVariablesWithoutConnection,
-      variablesBoolean: uiSettings.variablesBoolean ?? data?.variablesBoolean,
-      variablesColor: uiSettings.variablesColor ?? data?.variablesColor,
-      variablesNumber: uiSettings.variablesNumber ?? data?.variablesNumber,
-      variablesString: uiSettings.variablesString ?? data?.variablesString,
-      stylesColor: uiSettings.stylesColor ?? data?.stylesColor,
-      stylesEffect: uiSettings.stylesEffect ?? data?.stylesEffect,
-      stylesTypography: uiSettings.stylesTypography ?? data?.stylesTypography,
-      inspectDeep: uiSettings.inspectDeep ?? data?.inspectDeep,
-      shouldSwapStyles: uiSettings.shouldSwapStyles ?? data?.shouldSwapStyles,
-      baseFontSize: uiSettings.baseFontSize ?? data?.baseFontSize,
-      aliasBaseFontSize: uiSettings.aliasBaseFontSize ?? data?.aliasBaseFontSize,
-      storeTokenIdInJsonEditor: uiSettings.storeTokenIdInJsonEditor ?? data?.storeTokenIdInJsonEditor,
-      tokenFormat: uiSettings.tokenFormat ?? data?.tokenFormat,
-    });
-  } catch (err) {
-    notifyUI('There was an issue saving your credentials. Please try again.');
-  }
-}
- 
-export async function getUISettings(notify = true): Promise<SavedSettings> {
-  let settings: SavedSettings = {} as SavedSettings;
-  try {
-    const data = await UiSettingsProperty.read();
- 
-    let width: number;
-    let height: number;
-    let showEmptyGroups: boolean;
-    let updateMode: UpdateMode;
-    let updateRemote: boolean;
-    let updateOnChange: boolean;
-    let applyVariablesStylesOrRawValue: ApplyVariablesStylesOrRawValues;
-    let shouldUpdateStyles: boolean;
-    let variablesColor: boolean;
-    let variablesBoolean: boolean;
-    let variablesNumber: boolean;
-    let variablesString: boolean;
-    let stylesColor: boolean;
-    let stylesEffect: boolean;
-    let stylesTypography: boolean;
-    let ignoreFirstPartForStyles: boolean;
-    let createStylesWithVariableReferences: boolean;
-    let prefixStylesWithThemeName: boolean;
-    let renameExistingStylesAndVariables: boolean;
-    let removeStylesAndVariablesWithoutConnection: boolean;
-    let inspectDeep: boolean;
-    let shouldSwapStyles: boolean;
-    let baseFontSize: string;
-    let aliasBaseFontSize: string;
-    let language: string;
-    let sessionRecording: boolean;
-    let storeTokenIdInJsonEditor: boolean;
-    let tokenFormat: TokenFormatOptions;
- 
-    if (data) {
-      width = data.width || 400;
-      height = data.height || 600;
-      language = data.language || 'en';
-      showEmptyGroups = typeof data.showEmptyGroups === 'undefined' ? true : data.showEmptyGroups;
-      updateMode = data.updateMode || UpdateMode.PAGE;
-      updateRemote = typeof data.updateRemote === 'undefined' ? true : data.updateRemote;
-      updateOnChange = typeof data.updateOnChange === 'undefined' ? true : data.updateOnChange;
-      applyVariablesStylesOrRawValue = typeof data.applyVariablesStylesOrRawValue === 'undefined' ? ApplyVariablesStylesOrRawValues.VARIABLES_STYLES : data.applyVariablesStylesOrRawValue;
-      shouldUpdateStyles = typeof data.shouldUpdateStyles === 'undefined' ? false : data.shouldUpdateStyles;
-      variablesColor = typeof data.variablesColor === 'undefined' ? true : data.variablesColor;
-      variablesBoolean = typeof data.variablesBoolean === 'undefined' ? true : data.variablesBoolean;
-      variablesNumber = typeof data.variablesNumber === 'undefined' ? true : data.variablesNumber;
-      variablesString = typeof data.variablesString === 'undefined' ? true : data.variablesString;
-      stylesColor = typeof data.stylesColor === 'undefined' ? false : data.stylesColor;
-      stylesTypography = typeof data.stylesTypography === 'undefined' ? true : data.stylesTypography;
-      stylesEffect = typeof data.stylesEffect === 'undefined' ? true : data.stylesEffect;
-      ignoreFirstPartForStyles = typeof data.ignoreFirstPartForStyles === 'undefined' ? false : data.ignoreFirstPartForStyles;
-      createStylesWithVariableReferences = typeof data.createStylesWithVariableReferences === 'undefined' ? true : data.createStylesWithVariableReferences;
-      prefixStylesWithThemeName = typeof data.prefixStylesWithThemeName === 'undefined' ? false : data.prefixStylesWithThemeName;
-      renameExistingStylesAndVariables = typeof data.renameExistingStylesAndVariables === 'undefined' ? false : data.renameExistingStylesAndVariables;
-      removeStylesAndVariablesWithoutConnection = typeof data.removeStylesAndVariablesWithoutConnection === 'undefined' ? false : data.removeStylesAndVariablesWithoutConnection;
-      baseFontSize = typeof data.baseFontSize === 'undefined' ? defaultBaseFontSize : data.baseFontSize;
-      aliasBaseFontSize = typeof data.aliasBaseFontSize === 'undefined' ? defaultBaseFontSize : data.aliasBaseFontSize;
-      inspectDeep = typeof data.inspectDeep === 'undefined' ? false : data.inspectDeep;
-      shouldSwapStyles = typeof data.shouldSwapStyles === 'undefined' ? false : data.shouldSwapStyles;
-      sessionRecording = typeof data.sessionRecording === 'undefined' ? false : data.sessionRecording;
-      storeTokenIdInJsonEditor = typeof data.storeTokenIdInJsonEditor === 'undefined' ? false : data.storeTokenIdInJsonEditor;
-      tokenFormat = data.tokenFormat || TokenFormatOptions.Legacy;
-      settings = {
-        language,
-        width: Math.max(300, width),
-        height: Math.max(200, height),
-        sessionRecording,
-        showEmptyGroups,
-        updateMode,
-        updateOnChange,
-        applyVariablesStylesOrRawValue,
-        updateRemote,
-        shouldUpdateStyles,
-        variablesBoolean,
-        variablesColor,
-        variablesNumber,
-        variablesString,
-        stylesColor,
-        stylesEffect,
-        stylesTypography,
-        ignoreFirstPartForStyles,
-        createStylesWithVariableReferences,
-        prefixStylesWithThemeName,
-        renameExistingStylesAndVariables,
-        removeStylesAndVariablesWithoutConnection,
-        inspectDeep,
-        shouldSwapStyles,
-        baseFontSize,
-        aliasBaseFontSize,
-        storeTokenIdInJsonEditor,
-        tokenFormat,
-      };
- 
-      if (notify) {
-        notifyUISettings(settings);
-      }
-    }
-  } catch (err) {
-    console.error(err);
-    notifyUI('There was an issue saving your credentials. Please try again.');
-  }
-  return settings;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html deleted file mode 100644 index 35bc04253..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/updateTokenPayloadToSingleToken.ts.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Code coverage report for src/utils/updateTokenPayloadToSingleToken.ts - - - - - - - - - -
-
-

All files / src/utils updateTokenPayloadToSingleToken.ts

-
- -
- 0% - Statements - 0/2 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { UpdateTokenPayload } from '@/types/payloads';
-import { SingleToken } from '@/types/tokens';
-import validateStudioTokensExtensions from './validateStudioTokensExtensions';
- 
-export function updateTokenPayloadToSingleToken(
-  payload: UpdateTokenPayload,
-  id?: string,
-): SingleToken {
-  const studioTokensExtension = validateStudioTokensExtensions(payload);
- 
-  return {
-    name: payload.name,
-    value: payload.value,
-    type: payload.type,
-    $extensions: {
-      ...payload.$extensions,
-      'studio.tokens': {
-        ...(id ? { id } : {}),
-        ...studioTokensExtension,
-      },
-    },
-    ...(payload.description ? {
-      description: payload.description,
-    } : {}),
-  } as SingleToken;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html deleted file mode 100644 index 23a77d290..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateGroupName.ts.html +++ /dev/null @@ -1,526 +0,0 @@ - - - - - - Code coverage report for src/utils/validateGroupName.ts - - - - - - - - - -
-
-

All files / src/utils validateGroupName.ts

-
- -
- 0% - Statements - 0/80 -
- - -
- 0% - Branches - 0/42 -
- - -
- 0% - Functions - 0/26 -
- - -
- 0% - Lines - 0/67 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { AnyTokenList, SingleToken } from '@/types/tokens';
- 
-export enum ErrorType {
-  UniqueToken = 'uniqueToken',
-  EmptyGroupName = 'emptyGroupName',
-  NoSetSelected = 'noSetSelected',
-  ExistingGroup = 'existingGroup',
-  OverlappingToken = 'overlappingToken',
-  OverlappingGroup = 'overlappingGroup',
-}
- 
-const getGroupName = (name) => {
-  const nameParts = name.split('.');
-  return nameParts.slice(0, -1).join('.');
-};
- 
-const getRenamedChildGroups = (newPrefix, oldPrefix, tokens) => {
-  const oldPrefixWithDot = `${oldPrefix}.`;
-  const newPrefixWithDot = `${newPrefix}.`;
- 
-  // Create a set to store unique child groups
-  const childGroups = new Set();
- 
-  tokens.forEach((token) => {
-    if (token.name.startsWith(oldPrefixWithDot)) {
-      const childGroup = getGroupName(token.name.replace(oldPrefixWithDot, newPrefixWithDot));
-      childGroups.add(childGroup);
-    }
-  });
- 
-  return Array.from(childGroups);
-};
- 
-export function validateRenameGroupName(tokensInParent, type, oldName, newName) {
-  if (!newName) {
-    return { type: ErrorType.EmptyGroupName };
-  }
-  const tokensToRename = tokensInParent
-    .filter((token) => token.name.startsWith(oldName) && token.type === type)
-    .map((filteredToken) => ({
-      oldName: filteredToken.name,
-      newName: filteredToken.name.replace(oldName, newName),
-    }));
- 
-  const existingTokensAfterRename = tokensInParent.filter((token) => (
-    !tokensToRename.some((t) => t.oldName === token.name)
-  ));
- 
-  const renamedChildGroupNames = getRenamedChildGroups(newName, oldName, tokensInParent);
-  const newTokensAfterRename = tokensInParent.map((token) => {
-    // Find the renamed token, if it exists
-    const renamedToken = tokensToRename.find((t) => t.oldName === token.name);
-    if (renamedToken) {
-      return { ...token, name: renamedToken.newName };
-    }
-    return token;
-  });
- 
-  let possibleDuplicates = newTokensAfterRename.filter((a) => (newTokensAfterRename.filter((b) => a.name === b.name).length > 1) && existingTokensAfterRename.some((t) => t.name === a.name && t.type === a.type && t.value === a.value));
-  possibleDuplicates = [...new Map(possibleDuplicates.map((item) => [item.name, item])).values()];
- 
-  const foundOverlappingTokens = (newName !== oldName) && tokensInParent.filter((token) => [newName, ...renamedChildGroupNames].includes(token.name));
- 
-  if (Object.keys(possibleDuplicates).length > 0) {
-    return {
-      possibleDuplicates,
-      type: ErrorType.OverlappingGroup,
-    };
-  }
-  if (foundOverlappingTokens?.length > 0) {
-    return {
-      type: ErrorType.OverlappingToken,
-      foundOverlappingTokens,
-    };
-  }
-  return null;
-}
- 
-export function validateDuplicateGroupName(tokens, selectedTokenSets, activeTokenSet, type, oldName, newName): {
-  type: ErrorType,
-  possibleDuplicates?: { [key: string]: SingleToken[] },
-  foundOverlappingTokens?: { [key: string]: SingleToken[] },
-} | null {
-  if (!newName) {
-    return { type: ErrorType.EmptyGroupName };
-  }
-  if (!tokens[activeTokenSet]) {
-    return null;
-  }
-  const selectedTokenGroup = tokens[activeTokenSet].filter((token) => (token.name.startsWith(`${oldName}.`) && token.type === type));
-  const newTokenGroup = selectedTokenGroup.map((token) => {
-    const { name, ...rest } = token;
-    const duplicatedTokenGroupName = token.name.replace(oldName, newName);
-    return {
-      name: duplicatedTokenGroupName,
-      ...rest,
-    };
-  });
- 
-  const newTokens = Object.keys(tokens).reduce<Record<string, AnyTokenList>>((acc, key) => {
-    if (selectedTokenSets.includes(key)) {
-      acc[key] = [...tokens[key], ...newTokenGroup];
-    } else {
-      acc[key] = tokens[key];
-    }
-    return acc;
-  }, {});
- 
-  const possibleDuplicates = Object.keys(newTokens).reduce((acc, setKey) => {
-    if (selectedTokenSets.includes(setKey)) {
-      const newTokensAfterDuplicate = newTokens[setKey];
-      const existingTokensAfterRename = tokens[setKey];
- 
-      let overlappingTokens = newTokensAfterDuplicate.filter((a) => (newTokensAfterDuplicate.filter((b) => a.name === b.name).length > 1) && existingTokensAfterRename.some((t) => t.name === a.name && t.type === a.type && t.value === a.value));
-      overlappingTokens = [...new Map(overlappingTokens?.map((item) => [item.name, item])).values()];
-      if (overlappingTokens?.length > 0) {
-        acc[setKey] = overlappingTokens;
-      }
-    }
- 
-    return acc;
-  }, {});
- 
-  const foundOverlappingTokens: { [key: string]: SingleToken[] } = selectedTokenSets.reduce((acc, selectedTokenSet) => {
-    const renamedChildGroupNames = getRenamedChildGroups(newName, oldName, tokens[selectedTokenSet]);
-    const overlappingTokens = tokens[selectedTokenSet]?.filter((token) => [newName, ...renamedChildGroupNames].includes(token.name));
-    if (overlappingTokens?.length > 0) {
-      acc[selectedTokenSet] = overlappingTokens;
-    }
- 
-    return acc;
-  }, {});
- 
-  if (Object.keys(possibleDuplicates).length > 0) {
-    return {
-      possibleDuplicates,
-      type: ErrorType.OverlappingGroup,
-    };
-  }
-  if (Object.keys(foundOverlappingTokens).length > 0) {
-    return {
-      type: ErrorType.OverlappingToken,
-      foundOverlappingTokens,
-    };
-  }
-  return null;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html deleted file mode 100644 index 1bef1a244..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateLicense.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/utils/validateLicense.ts - - - - - - - - - -
-
-

All files / src/utils validateLicense.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
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  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as Sentry from '@sentry/react';
-import { Entitlements } from '@/app/store/models/userState';
- 
-export default async function validateLicense(
-  licenseKey: string,
-  userId: string | null,
-  userName?: string | null,
-): Promise<{ plan?: string; entitlements?: Entitlements[]; email?: string; error?: string }> {
-  try {
-    const res = await fetch(
-      `${process.env.LICENSE_API_URL}/validate-license?licenseKey=${licenseKey}&userId=${userId}${
-        userName ? `&userName=${userName}` : ''
-      }`,
-    );
- 
-    if (res.status === 200) {
-      return await res.json();
-    }
- 
-    const { message } = await res.json();
-    return {
-      error: message,
-    };
-  } catch (e) {
-    console.log(e);
-    Sentry.captureException(e);
-    return {
-      error: 'Error validating license',
-    };
-  }
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html deleted file mode 100644 index e8ad2a59f..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/validateStudioTokensExtensions.ts.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for src/utils/validateStudioTokensExtensions.ts - - - - - - - - - -
-
-

All files / src/utils validateStudioTokensExtensions.ts

-
- -
- 0% - Statements - 0/9 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { SingleToken } from '@/types/tokens';
- 
-type StudioTokensExtension = NonNullable<SingleToken['$extensions']>['studio.tokens'];
- 
-export default function validateStudioTokensExtensions(payload: SingleToken): StudioTokensExtension {
-  if (typeof payload?.$extensions?.['studio.tokens'] !== 'undefined') {
-    const studioTokensExtension = Object.keys(payload?.$extensions?.['studio.tokens']).reduce((accExt, k) => {
-      const extension = (payload?.$extensions?.['studio.tokens'] || {})[k];
-      if (extension && Object.values(extension).length > 0) {
-        accExt[k] = extension;
-      }
- 
-      return accExt;
-    }, {});
-    if (Object.keys(studioTokensExtension).length > 0) {
-      return studioTokensExtension;
-    }
-  }
- 
-  return undefined;
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html deleted file mode 100644 index 662af2527..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/utils/waitForMessage.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/utils/waitForMessage.ts - - - - - - - - - -
-
-

All files / src/utils waitForMessage.ts

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { MessageFromPluginTypes, PostToUIMessage } from '@/types/messages';
- 
-export function waitForMessage<M extends MessageFromPluginTypes>(message: M): Promise<PostToUIMessage & { type: M }> {
-  return new Promise<PostToUIMessage & { type: M }>((res) => {
-    type Event = {
-      data: {
-        pluginMessage: PostToUIMessage
-      }
-    };
- 
-    const handler = (event: Event) => {
-      if (event.data.pluginMessage.type === message) {
-        window.removeEventListener('message', handler);
-        res(event.data.pluginMessage as PostToUIMessage & { type: M });
-      }
-    };
- 
-    window.addEventListener('message', handler);
-  });
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html b/packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html deleted file mode 100644 index 469d9bd4c..000000000 --- a/packages/tokens-studio-for-figma/lcov-report/src/wdyr.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/wdyr.ts - - - - - - - - - -
-
-

All files / src wdyr.ts

-
- -
- 0% - Statements - 0/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 0% - Lines - 0/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import * as ReactRedux from 'react-redux';
-import whyDidYouRender from '@welldone-software/why-did-you-render';
- 
-whyDidYouRender(React, {
-  trackAllPureComponents: true,
-  trackHooks: true,
-  trackExtraHooks: [
-    [ReactRedux, 'useSelector'],
-  ],
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/packages/tokens-studio-for-figma/lcov.info b/packages/tokens-studio-for-figma/lcov.info deleted file mode 100644 index b9f7ea7a3..000000000 --- a/packages/tokens-studio-for-figma/lcov.info +++ /dev/null @@ -1,37871 +0,0 @@ -TN: -SF:src/AsyncMessageChannel.ts -FN:40,(anonymous_0) -FN:44,(anonymous_1) -FN:46,(anonymous_2) -FN:53,(anonymous_3) -FN:56,(anonymous_4) -FN:63,(anonymous_5) -FN:66,(anonymous_6) -FN:67,(anonymous_7) -FN:111,(anonymous_8) -FN:118,(anonymous_9) -FN:123,(anonymous_10) -FN:124,(anonymous_11) -FNF:12 -FNH:1 -FNDA:2,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -DA:32,1 -DA:34,1 -DA:36,2 -DA:38,2 -DA:41,2 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:63,0 -DA:67,0 -DA:69,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:79,0 -DA:80,0 -DA:84,0 -DA:85,0 -DA:90,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:102,0 -DA:115,0 -DA:119,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:129,0 -DA:131,0 -DA:133,0 -DA:136,0 -DA:137,0 -DA:139,0 -DA:144,0 -DA:148,1 -LF:48 -LH:6 -BRDA:45,0,0,0 -BRDA:45,0,1,0 -BRDA:48,1,0,0 -BRDA:48,1,1,0 -BRDA:48,2,0,0 -BRDA:48,2,1,0 -BRDA:48,2,2,0 -BRDA:58,3,0,0 -BRDA:58,3,1,0 -BRDA:58,4,0,0 -BRDA:58,4,1,0 -BRDA:58,4,2,0 -BRDA:69,5,0,0 -BRDA:69,5,1,0 -BRDA:69,6,0,0 -BRDA:69,6,1,0 -BRDA:69,6,2,0 -BRDA:69,6,3,0 -BRDA:75,7,0,0 -BRDA:75,7,1,0 -BRDA:80,8,0,0 -BRDA:80,8,1,0 -BRDA:84,9,0,0 -BRDA:84,9,1,0 -BRDA:96,10,0,0 -BRDA:96,10,1,0 -BRDA:125,11,0,0 -BRDA:125,11,1,0 -BRDA:126,12,0,0 -BRDA:126,12,1,0 -BRDA:136,13,0,0 -BRDA:136,13,1,0 -BRDA:148,14,0,1 -BRDA:148,14,1,0 -BRF:34 -BRH:1 -end_of_record -TN: -SF:src/AsyncMessageChannelPreview.ts -FN:35,(anonymous_0) -FN:40,(anonymous_1) -FN:46,(anonymous_2) -FN:50,(anonymous_3) -FN:54,(anonymous_4) -FN:102,(anonymous_5) -FN:117,(anonymous_6) -FN:121,(anonymous_7) -FN:125,(anonymous_8) -FN:129,(anonymous_9) -FN:129,(anonymous_10) -FN:130,(anonymous_11) -FN:140,(anonymous_12) -FN:145,(anonymous_13) -FN:155,(anonymous_14) -FN:161,(anonymous_15) -FN:174,(anonymous_16) -FN:178,(anonymous_17) -FN:181,(anonymous_18) -FN:183,(anonymous_19) -FN:190,(anonymous_20) -FN:197,(anonymous_21) -FN:251,(anonymous_22) -FN:259,(anonymous_23) -FN:263,(anonymous_24) -FN:268,(anonymous_25) -FN:270,(anonymous_26) -FNF:27 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:2,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -DA:33,1 -DA:35,1 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:46,1 -DA:47,0 -DA:50,1 -DA:51,0 -DA:54,1 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:63,0 -DA:65,0 -DA:86,1 -DA:88,1 -DA:90,2 -DA:92,2 -DA:94,2 -DA:96,2 -DA:98,2 -DA:100,2 -DA:103,2 -DA:104,2 -DA:105,1 -DA:106,1 -DA:107,0 -DA:109,1 -DA:112,2 -DA:113,0 -DA:117,2 -DA:118,0 -DA:121,2 -DA:122,0 -DA:126,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:137,0 -DA:141,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:149,0 -DA:152,0 -DA:155,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:169,0 -DA:175,0 -DA:176,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:181,0 -DA:182,0 -DA:183,0 -DA:184,0 -DA:185,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:197,2 -DA:199,0 -DA:201,0 -DA:202,0 -DA:203,0 -DA:205,0 -DA:207,0 -DA:209,0 -DA:211,0 -DA:212,0 -DA:213,0 -DA:214,0 -DA:216,0 -DA:218,0 -DA:220,0 -DA:221,0 -DA:224,0 -DA:225,0 -DA:227,0 -DA:228,0 -DA:232,0 -DA:233,0 -DA:235,0 -DA:238,0 -DA:239,0 -DA:240,0 -DA:245,0 -DA:252,0 -DA:253,0 -DA:256,0 -DA:260,0 -DA:264,0 -DA:268,0 -DA:269,0 -DA:271,0 -DA:272,0 -DA:273,0 -DA:275,0 -DA:277,0 -DA:279,0 -DA:283,0 -DA:285,0 -DA:286,0 -DA:289,0 -DA:290,0 -DA:292,0 -DA:294,0 -DA:297,0 -DA:298,0 -DA:301,0 -DA:304,0 -LF:126 -LH:22 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRDA:57,2,0,0 -BRDA:57,2,1,0 -BRDA:104,3,0,1 -BRDA:104,3,1,1 -BRDA:106,4,0,0 -BRDA:106,4,1,1 -BRDA:112,5,0,0 -BRDA:112,5,1,2 -BRDA:129,6,0,0 -BRDA:132,7,0,0 -BRDA:132,7,1,0 -BRDA:132,8,0,0 -BRDA:132,8,1,0 -BRDA:132,8,2,0 -BRDA:141,9,0,0 -BRDA:141,9,1,0 -BRDA:141,9,2,0 -BRDA:141,9,3,0 -BRDA:149,10,0,0 -BRDA:149,10,1,0 -BRDA:158,11,0,0 -BRDA:158,11,1,0 -BRDA:163,12,0,0 -BRDA:163,12,1,0 -BRDA:175,13,0,0 -BRDA:175,13,1,0 -BRDA:191,14,0,0 -BRDA:191,14,1,0 -BRDA:199,15,0,0 -BRDA:199,15,1,0 -BRDA:199,16,0,0 -BRDA:199,16,1,0 -BRDA:199,16,2,0 -BRDA:199,16,3,0 -BRDA:201,17,0,0 -BRDA:201,17,1,0 -BRDA:201,18,0,0 -BRDA:201,18,1,0 -BRDA:202,19,0,0 -BRDA:202,19,1,0 -BRDA:212,20,0,0 -BRDA:212,20,1,0 -BRDA:212,21,0,0 -BRDA:212,21,1,0 -BRDA:213,22,0,0 -BRDA:213,22,1,0 -BRDA:220,23,0,0 -BRDA:220,23,1,0 -BRDA:225,24,0,0 -BRDA:225,24,1,0 -BRDA:227,25,0,0 -BRDA:227,25,1,0 -BRDA:232,26,0,0 -BRDA:232,26,1,0 -BRDA:239,27,0,0 -BRDA:239,27,1,0 -BRDA:252,28,0,0 -BRDA:252,28,1,0 -BRDA:252,29,0,0 -BRDA:252,29,1,0 -BRDA:271,30,0,0 -BRDA:271,30,1,0 -BRDA:272,31,0,0 -BRDA:272,31,1,0 -BRDA:283,32,0,0 -BRDA:283,32,1,0 -BRDA:283,32,2,0 -BRDA:283,32,3,0 -BRDA:289,33,0,0 -BRDA:289,33,1,0 -BRF:74 -BRH:4 -end_of_record -TN: -SF:src/stitches.config.ts -FNF:0 -FNH:0 -DA:5,0 -DA:46,0 -DA:48,0 -DA:59,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/supabase.ts -FN:37,(anonymous_0) -FN:44,(anonymous_1) -FN:53,(anonymous_2) -FN:60,(anonymous_3) -FN:69,(anonymous_4) -FN:77,(anonymous_5) -FN:87,(anonymous_6) -FN:110,(anonymous_7) -FN:124,(anonymous_8) -FN:129,(anonymous_9) -FN:153,(anonymous_10) -FN:159,(anonymous_11) -FN:176,(anonymous_12) -FN:183,(anonymous_13) -FN:206,(anonymous_14) -FNF:15 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -DA:10,0 -DA:31,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:54,0 -DA:61,0 -DA:62,0 -DA:66,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:100,0 -DA:104,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:115,0 -DA:116,0 -DA:118,0 -DA:121,0 -DA:125,0 -DA:126,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:137,0 -DA:138,0 -DA:141,0 -DA:142,0 -DA:144,0 -DA:145,0 -DA:146,0 -DA:148,0 -DA:149,0 -DA:154,0 -DA:155,0 -DA:159,0 -DA:161,0 -DA:162,0 -DA:165,0 -DA:166,0 -DA:169,0 -DA:170,0 -DA:172,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:183,0 -DA:185,0 -DA:186,0 -DA:188,0 -DA:189,0 -DA:192,0 -DA:193,0 -DA:195,0 -DA:207,0 -DA:211,0 -LF:81 -LH:0 -BRDA:46,0,0,0 -BRDA:46,0,1,0 -BRDA:47,1,0,0 -BRDA:47,1,1,0 -BRDA:89,2,0,0 -BRDA:89,2,1,0 -BRDA:93,3,0,0 -BRDA:93,3,1,0 -BRDA:113,4,0,0 -BRDA:113,4,1,0 -BRDA:115,5,0,0 -BRDA:115,5,1,0 -BRDA:131,6,0,0 -BRDA:131,6,1,0 -BRDA:137,7,0,0 -BRDA:137,7,1,0 -BRDA:144,8,0,0 -BRDA:144,8,1,0 -BRDA:146,9,0,0 -BRDA:146,9,1,0 -BRDA:161,10,0,0 -BRDA:161,10,1,0 -BRDA:177,11,0,0 -BRDA:177,11,1,0 -BRDA:185,12,0,0 -BRDA:185,12,1,0 -BRDA:206,13,0,0 -BRDA:211,14,0,0 -BRDA:211,14,1,0 -BRDA:211,15,0,0 -BRDA:211,15,1,0 -BRF:31 -BRH:0 -end_of_record -TN: -SF:src/wdyr.ts -FNF:0 -FNH:0 -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/index.tsx -FNF:0 -FNH:0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:18,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/sentry.ts -FN:18,(anonymous_0) -FN:19,(anonymous_1) -FN:35,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:5,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:30,0 -DA:35,0 -DA:36,0 -DA:40,0 -DA:52,0 -DA:53,0 -DA:55,0 -LF:19 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:10,2,0,0 -BRDA:10,2,1,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:24,4,0,0 -BRDA:24,4,1,0 -BRDA:36,5,0,0 -BRDA:36,5,1,0 -BRDA:36,5,2,0 -BRDA:36,5,3,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/store.ts -FN:20,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:14,0 -DA:20,0 -DA:26,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/assets/hints/images.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/asyncMessageHandlers/getThemeInfo.ts -FN:12,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:17,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/asyncMessageHandlers/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/asyncMessageHandlers/startup.tsx -FN:19,(anonymous_0) -FN:25,(anonymous_1) -FN:29,(anonymous_2) -FN:30,(anonymous_3) -FN:34,(anonymous_4) -FN:35,(anonymous_5) -FN:56,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:34,0 -DA:35,0 -DA:40,0 -DA:49,0 -DA:56,0 -DA:57,0 -DA:61,0 -DA:62,0 -LF:19 -LH:0 -BRDA:26,0,0,0 -BRDA:26,0,1,0 -BRDA:26,0,2,0 -BRDA:40,1,0,0 -BRDA:40,1,1,0 -BRDA:49,2,0,0 -BRDA:49,2,1,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/app/components/AnnotationBuilder.tsx -FN:13,AnnotationBuilder -FN:17,(anonymous_1) -FN:21,(anonymous_2) -FN:25,(anonymous_3) -FN:29,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,AnnotationBuilder -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:33,0 -LF:11 -LH:0 -BRDA:33,0,0,0 -BRDA:33,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/App.tsx -FN:18,App -FNF:1 -FNH:0 -FNDA:0,App -DA:19,0 -DA:21,0 -LF:2 -LH:0 -BRDA:31,0,0,0 -BRDA:31,0,1,0 -BRDA:50,1,0,0 -BRDA:50,1,1,0 -BRDA:51,2,0,0 -BRDA:51,2,1,0 -BRDA:51,2,2,0 -BRDA:52,3,0,0 -BRDA:52,3,1,0 -BRDA:54,4,0,0 -BRDA:54,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRDA:56,6,0,0 -BRDA:56,6,1,0 -BRDA:58,7,0,0 -BRDA:58,7,1,0 -BRDA:58,7,2,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/ApplySelector.tsx -FN:16,ApplySelector -FN:24,(anonymous_1) -FN:28,(anonymous_2) -FN:32,(anonymous_3) -FN:36,(anonymous_4) -FN:40,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,ApplySelector -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:17,0 -DA:18,0 -DA:20,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:44,0 -LF:15 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/BorderTokenDownShiftInput.tsx -FN:9,BorderTokenDownShiftInput -FN:30,(anonymous_1) -FN:40,(anonymous_2) -FN:43,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,BorderTokenDownShiftInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:52,0 -LF:12 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRDA:31,1,0,0 -BRDA:31,1,1,0 -BRDA:31,2,0,0 -BRDA:31,2,1,0 -BRDA:31,2,2,0 -BRDA:33,3,0,0 -BRDA:33,3,1,0 -BRDA:35,4,0,0 -BRDA:35,4,1,0 -BRDA:64,5,0,0 -BRDA:64,5,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/app/components/BorderTokenForm.tsx -FN:24,BorderTokenForm -FN:50,(anonymous_1) -FN:53,(anonymous_2) -FN:59,(anonymous_3) -FN:61,(anonymous_4) -FN:67,(anonymous_5) -FN:97,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,BorderTokenForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:18,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:98,0 -LF:23 -LH:0 -BRDA:44,0,0,0 -BRDA:44,0,1,0 -BRDA:45,1,0,0 -BRDA:45,1,1,0 -BRDA:52,2,0,0 -BRDA:52,2,1,0 -BRDA:52,3,0,0 -BRDA:52,3,1,0 -BRDA:54,4,0,0 -BRDA:54,4,1,0 -BRDA:68,5,0,0 -BRDA:68,5,1,0 -BRDA:68,6,0,0 -BRDA:68,6,1,0 -BRDA:69,7,0,0 -BRDA:69,7,1,0 -BRDA:71,8,0,0 -BRDA:71,8,1,0 -BRDA:79,9,0,0 -BRDA:79,9,1,0 -BRDA:95,10,0,0 -BRDA:95,10,1,0 -BRDA:95,11,0,0 -BRDA:95,11,1,0 -BRDA:97,12,0,0 -BRDA:97,12,1,0 -BRDA:102,13,0,0 -BRDA:102,13,1,0 -BRDA:110,14,0,0 -BRDA:110,14,1,0 -BRDA:110,14,2,0 -BRDA:112,15,0,0 -BRDA:112,15,1,0 -BRDA:122,16,0,0 -BRDA:122,16,1,0 -BRDA:135,17,0,0 -BRDA:135,17,1,0 -BRDA:135,17,2,0 -BRDA:135,17,3,0 -BRF:39 -BRH:0 -end_of_record -TN: -SF:src/app/components/Box.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/BoxShadowInput.tsx -FN:22,BoxShadowInput -FN:42,(anonymous_1) -FN:48,(anonymous_2) -FN:51,(anonymous_3) -FN:57,(anonymous_4) -FN:63,(anonymous_5) -FN:73,(anonymous_6) -FN:75,(anonymous_7) -FN:120,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,BoxShadowInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:79,0 -DA:121,0 -LF:30 -LH:0 -BRDA:38,0,0,0 -BRDA:38,0,1,0 -BRDA:39,1,0,0 -BRDA:39,1,1,0 -BRDA:43,2,0,0 -BRDA:43,2,1,0 -BRDA:49,3,0,0 -BRDA:49,3,1,0 -BRDA:50,4,0,0 -BRDA:50,4,1,0 -BRDA:50,5,0,0 -BRDA:50,5,1,0 -BRDA:52,6,0,0 -BRDA:52,6,1,0 -BRDA:58,7,0,0 -BRDA:58,7,1,0 -BRDA:58,8,0,0 -BRDA:58,8,1,0 -BRDA:59,9,0,0 -BRDA:59,9,1,0 -BRDA:64,10,0,0 -BRDA:64,10,1,0 -BRDA:66,11,0,0 -BRDA:66,11,1,0 -BRDA:66,12,0,0 -BRDA:66,12,1,0 -BRDA:68,13,0,0 -BRDA:68,13,1,0 -BRDA:74,14,0,0 -BRDA:74,14,1,0 -BRDA:74,15,0,0 -BRDA:74,15,1,0 -BRDA:84,16,0,0 -BRDA:84,16,1,0 -BRDA:117,17,0,0 -BRDA:117,17,1,0 -BRDA:119,18,0,0 -BRDA:119,18,1,0 -BRDA:152,19,0,0 -BRDA:152,19,1,0 -BRDA:164,20,0,0 -BRDA:164,20,1,0 -BRDA:164,20,2,0 -BRDA:164,20,3,0 -BRDA:164,20,4,0 -BRF:45 -BRH:0 -end_of_record -TN: -SF:src/app/components/BranchSelector.tsx -FN:38,(anonymous_0) -FN:39,(anonymous_1) -FN:52,BranchSelector -FN:73,(anonymous_3) -FN:77,(anonymous_4) -FN:90,(anonymous_5) -FN:98,(anonymous_6) -FN:112,(anonymous_7) -FN:131,(anonymous_8) -FN:150,(anonymous_9) -FN:162,(anonymous_10) -FN:197,(anonymous_11) -FN:218,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,BranchSelector -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -DA:38,0 -DA:39,0 -DA:41,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:73,0 -DA:74,0 -DA:77,0 -DA:78,0 -DA:84,0 -DA:85,0 -DA:87,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:97,0 -DA:99,0 -DA:101,0 -DA:102,0 -DA:105,0 -DA:106,0 -DA:111,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:120,0 -DA:124,0 -DA:130,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:138,0 -DA:149,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:162,0 -DA:163,0 -DA:166,0 -DA:198,0 -DA:219,0 -LF:65 -LH:0 -BRDA:84,0,0,0 -BRDA:84,0,1,0 -BRDA:93,1,0,0 -BRDA:93,1,1,0 -BRDA:101,2,0,0 -BRDA:101,2,1,0 -BRDA:101,3,0,0 -BRDA:101,3,1,0 -BRDA:113,4,0,0 -BRDA:113,4,1,0 -BRDA:113,5,0,0 -BRDA:113,5,1,0 -BRDA:133,6,0,0 -BRDA:133,6,1,0 -BRDA:134,7,0,0 -BRDA:134,7,1,0 -BRDA:153,8,0,0 -BRDA:153,8,1,0 -BRDA:153,9,0,0 -BRDA:153,9,1,0 -BRDA:154,10,0,0 -BRDA:154,10,1,0 -BRDA:166,11,0,0 -BRDA:166,11,1,0 -BRDA:188,12,0,0 -BRDA:188,12,1,0 -BRDA:196,13,0,0 -BRDA:196,13,1,0 -BRDA:207,14,0,0 -BRDA:207,14,1,0 -BRDA:217,15,0,0 -BRDA:217,15,1,0 -BRDA:230,16,0,0 -BRDA:230,16,1,0 -BRDA:230,16,2,0 -BRF:35 -BRH:0 -end_of_record -TN: -SF:src/app/components/BranchSwitchMenuRadioElement.tsx -FN:11,(anonymous_0) -FN:16,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:11,0 -DA:16,0 -DA:18,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/BrokenReferenceIndicator.tsx -FN:10,BrokenReferenceIndicator -FN:13,(anonymous_1) -FN:14,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,BrokenReferenceIndicator -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:11,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:22,0 -LF:6 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/Callout.tsx -FN:17,Callout -FNF:1 -FNH:0 -FNDA:0,Callout -DA:20,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ChangeStateListingHeading.tsx -FN:39,ChangeStateListingHeading -FN:46,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,ChangeStateListingHeading -FNDA:0,(anonymous_1) -DA:19,0 -DA:46,0 -DA:47,0 -DA:50,0 -LF:4 -LH:0 -BRDA:58,0,0,0 -BRDA:58,0,1,0 -BRDA:60,1,0,0 -BRDA:60,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/ChangedStateList.tsx -FN:9,ChangedStateList -FN:17,(anonymous_1) -FN:28,(anonymous_2) -FN:36,(anonymous_3) -FN:40,(anonymous_4) -FN:51,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,ChangedStateList -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:34,0 -DA:37,0 -DA:41,0 -DA:52,0 -LF:20 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRDA:20,2,0,0 -BRDA:20,2,1,0 -BRDA:27,3,0,0 -BRDA:27,3,1,0 -BRDA:36,4,0,0 -BRDA:36,4,1,0 -BRDA:39,5,0,0 -BRDA:39,5,1,0 -BRDA:39,5,2,0 -BRDA:47,6,0,0 -BRDA:47,6,1,0 -BRDA:50,7,0,0 -BRDA:50,7,1,0 -BRDA:62,8,0,0 -BRDA:62,8,1,0 -BRDA:69,9,0,0 -BRDA:69,9,1,0 -BRDA:69,9,2,0 -BRDA:71,10,0,0 -BRDA:71,10,1,0 -BRDA:82,11,0,0 -BRDA:82,11,1,0 -BRDA:82,11,2,0 -BRDA:85,12,0,0 -BRDA:85,12,1,0 -BRF:29 -BRH:0 -end_of_record -TN: -SF:src/app/components/ChangedTokenItem.tsx -FN:8,ChangedTokenItem -FNF:1 -FNH:0 -FNDA:0,ChangedTokenItem -DA:13,0 -DA:15,0 -LF:2 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:20,1,0,0 -BRDA:20,1,1,0 -BRDA:20,1,2,0 -BRDA:20,1,3,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:30,4,0,0 -BRDA:30,4,1,0 -BRDA:36,5,0,0 -BRDA:36,5,1,0 -BRDA:36,5,2,0 -BRDA:36,5,3,0 -BRDA:36,5,4,0 -BRDA:40,6,0,0 -BRDA:40,6,1,0 -BRDA:52,7,0,0 -BRDA:52,7,1,0 -BRF:21 -BRH:0 -end_of_record -TN: -SF:src/app/components/Changelog.tsx -FN:21,Changelog -FN:28,(anonymous_1) -FN:32,(anonymous_2) -FN:36,(anonymous_3) -FN:44,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,Changelog -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:11,0 -DA:16,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:45,0 -LF:14 -LH:0 -BRDA:41,0,0,0 -BRDA:41,0,1,0 -BRDA:51,1,0,0 -BRDA:51,1,1,0 -BRDA:53,2,0,0 -BRDA:53,2,1,0 -BRDA:56,3,0,0 -BRDA:56,3,1,0 -BRDA:62,4,0,0 -BRDA:62,4,1,0 -BRDA:73,5,0,0 -BRDA:73,5,1,0 -BRDA:78,6,0,0 -BRDA:78,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/components/ColorPickerTrigger.tsx -FN:18,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:18,0 -DA:21,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ColorTokenForm.tsx -FN:28,ColorTokenForm -FN:54,(anonymous_1) -FN:60,(anonymous_2) -FN:69,(anonymous_3) -FN:73,(anonymous_4) -FN:95,(anonymous_5) -FN:112,(anonymous_6) -FN:116,(anonymous_7) -FN:120,(anonymous_8) -FN:124,(anonymous_9) -FN:128,(anonymous_10) -FN:136,(anonymous_11) -FN:141,(anonymous_12) -FN:150,(anonymous_13) -FN:159,(anonymous_14) -FN:168,(anonymous_15) -FN:177,(anonymous_16) -FN:186,(anonymous_17) -FN:195,(anonymous_18) -FN:260,(anonymous_19) -FN:266,(anonymous_20) -FNF:21 -FNH:0 -FNDA:0,ColorTokenForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -DA:26,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:66,0 -DA:69,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:86,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:102,0 -DA:103,0 -DA:105,0 -DA:107,0 -DA:109,0 -DA:112,0 -DA:113,0 -DA:116,0 -DA:117,0 -DA:120,0 -DA:121,0 -DA:124,0 -DA:125,0 -DA:128,0 -DA:129,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:159,0 -DA:160,0 -DA:161,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:186,0 -DA:187,0 -DA:188,0 -DA:195,0 -DA:197,0 -DA:260,0 -DA:266,0 -LF:75 -LH:0 -BRDA:55,0,0,0 -BRDA:55,0,1,0 -BRDA:61,1,0,0 -BRDA:61,1,1,0 -BRDA:61,2,0,0 -BRDA:61,2,1,0 -BRDA:62,3,0,0 -BRDA:62,3,1,0 -BRDA:69,4,0,0 -BRDA:69,4,1,0 -BRDA:75,5,0,0 -BRDA:75,5,1,0 -BRDA:76,6,0,0 -BRDA:76,6,1,0 -BRDA:78,7,0,0 -BRDA:78,7,1,0 -BRDA:78,8,0,0 -BRDA:78,8,1,0 -BRDA:78,8,2,0 -BRDA:81,9,0,0 -BRDA:81,9,1,0 -BRDA:81,10,0,0 -BRDA:81,10,1,0 -BRDA:96,11,0,0 -BRDA:96,11,1,0 -BRDA:97,12,0,0 -BRDA:97,12,1,0 -BRDA:99,13,0,0 -BRDA:99,13,1,0 -BRDA:99,14,0,0 -BRDA:99,14,1,0 -BRDA:99,14,2,0 -BRDA:102,15,0,0 -BRDA:102,15,1,0 -BRDA:102,16,0,0 -BRDA:102,16,1,0 -BRDA:142,17,0,0 -BRDA:142,17,1,0 -BRDA:151,18,0,0 -BRDA:151,18,1,0 -BRDA:160,19,0,0 -BRDA:160,19,1,0 -BRDA:169,20,0,0 -BRDA:169,20,1,0 -BRDA:178,21,0,0 -BRDA:178,21,1,0 -BRDA:187,22,0,0 -BRDA:187,22,1,0 -BRDA:195,23,0,0 -BRDA:195,23,1,0 -BRDA:214,24,0,0 -BRDA:214,24,1,0 -BRDA:223,25,0,0 -BRDA:223,25,1,0 -BRDA:245,26,0,0 -BRDA:245,26,1,0 -BRDA:245,26,2,0 -BRDA:257,27,0,0 -BRDA:257,27,1,0 -BRDA:258,28,0,0 -BRDA:258,28,1,0 -BRDA:263,29,0,0 -BRDA:263,29,1,0 -BRDA:264,30,0,0 -BRDA:264,30,1,0 -BRDA:271,31,0,0 -BRDA:271,31,1,0 -BRDA:286,32,0,0 -BRDA:286,32,1,0 -BRDA:307,33,0,0 -BRDA:307,33,1,0 -BRDA:307,33,2,0 -BRDA:312,34,0,0 -BRDA:312,34,1,0 -BRF:74 -BRH:0 -end_of_record -TN: -SF:src/app/components/CompositionTokenForm.tsx -FN:19,CompositionTokenForm -FN:35,(anonymous_1) -FN:36,(anonymous_2) -FN:41,(anonymous_3) -FN:43,(anonymous_4) -FN:50,(anonymous_5) -FN:52,(anonymous_6) -FN:53,(anonymous_7) -FN:56,(anonymous_8) -FN:65,(anonymous_9) -FN:71,(anonymous_10) -FN:75,(anonymous_11) -FN:78,(anonymous_12) -FN:81,(anonymous_13) -FN:82,(anonymous_14) -FN:124,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,CompositionTokenForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:87,0 -DA:125,0 -LF:39 -LH:0 -BRDA:43,0,0,0 -BRDA:43,0,1,0 -BRDA:51,1,0,0 -BRDA:51,1,1,0 -BRDA:57,2,0,0 -BRDA:57,2,1,0 -BRDA:58,3,0,0 -BRDA:58,3,1,0 -BRDA:58,4,0,0 -BRDA:58,4,1,0 -BRDA:66,5,0,0 -BRDA:66,5,1,0 -BRDA:77,6,0,0 -BRDA:77,6,1,0 -BRDA:92,7,0,0 -BRDA:92,7,1,0 -BRDA:103,8,0,0 -BRDA:103,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/ConfirmDialog.tsx -FN:12,(anonymous_0) -FN:17,(anonymous_1) -FN:31,ConfirmDialog -FN:40,(anonymous_3) -FN:45,(anonymous_4) -FN:51,(anonymous_5) -FN:57,(anonymous_6) -FN:60,(anonymous_7) -FN:65,(anonymous_8) -FN:69,(anonymous_9) -FN:78,(anonymous_10) -FN:79,(anonymous_11) -FN:79,(anonymous_12) -FN:109,(anonymous_13) -FNF:14 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,ConfirmDialog -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -DA:12,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:60,0 -DA:65,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:87,0 -DA:89,0 -DA:110,0 -LF:38 -LH:0 -BRDA:46,0,0,0 -BRDA:46,0,1,0 -BRDA:48,1,0,0 -BRDA:48,1,1,0 -BRDA:54,2,0,0 -BRDA:54,2,1,0 -BRDA:71,3,0,0 -BRDA:71,3,1,0 -BRDA:79,4,0,0 -BRDA:79,4,1,0 -BRDA:80,5,0,0 -BRDA:80,5,1,0 -BRDA:82,6,0,0 -BRDA:82,6,1,0 -BRDA:89,7,0,0 -BRDA:89,7,1,0 -BRDA:90,8,0,0 -BRDA:90,8,1,0 -BRDA:94,9,0,0 -BRDA:94,9,1,0 -BRDA:97,10,0,0 -BRDA:97,10,1,0 -BRDA:107,11,0,0 -BRDA:107,11,1,0 -BRDA:127,12,0,0 -BRDA:127,12,1,0 -BRDA:131,13,0,0 -BRDA:131,13,1,0 -BRF:28 -BRH:0 -end_of_record -TN: -SF:src/app/components/ConvertToDTCGModal.tsx -FN:20,ConvertToDTCGModal -FN:31,(anonymous_1) -FN:35,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,ConvertToDTCGModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:50,0 -DA:52,0 -LF:17 -LH:0 -BRDA:36,0,0,0 -BRDA:36,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRDA:40,2,0,0 -BRDA:40,2,1,0 -BRDA:50,3,0,0 -BRDA:50,3,1,0 -BRDA:53,4,0,0 -BRDA:53,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRDA:57,6,0,0 -BRDA:57,6,1,0 -BRDA:61,7,0,0 -BRDA:61,7,1,0 -BRDA:65,8,0,0 -BRDA:65,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/Count.tsx -FN:4,Count -FNF:1 -FNH:0 -FNDA:0,Count -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/DirtyStateBadgeWrapper.tsx -FN:5,DirtyStateBadgeWrapper -FNF:1 -FNH:0 -FNDA:0,DirtyStateBadgeWrapper -DA:6,0 -LF:1 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/Divider.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/EditTokenForm.tsx -FN:57,EditTokenForm -FN:75,(anonymous_1) -FN:81,(anonymous_2) -FN:88,(anonymous_3) -FN:105,(anonymous_4) -FN:107,(anonymous_5) -FN:108,(anonymous_6) -FN:118,(anonymous_7) -FN:119,(anonymous_8) -FN:120,(anonymous_9) -FN:121,(anonymous_10) -FN:125,(anonymous_11) -FN:132,(anonymous_12) -FN:139,(anonymous_13) -FN:140,(anonymous_14) -FN:143,(anonymous_15) -FN:148,(anonymous_16) -FN:155,(anonymous_17) -FN:159,(anonymous_18) -FN:168,(anonymous_19) -FN:193,(anonymous_20) -FN:203,(anonymous_21) -FN:212,(anonymous_22) -FN:219,(anonymous_23) -FN:222,(anonymous_24) -FN:229,(anonymous_25) -FN:231,(anonymous_26) -FN:238,(anonymous_27) -FN:260,(anonymous_28) -FN:272,(anonymous_29) -FN:284,(anonymous_30) -FN:299,(anonymous_31) -FN:311,(anonymous_32) -FN:322,(anonymous_33) -FN:335,(anonymous_34) -FN:351,(anonymous_35) -FN:361,(anonymous_36) -FN:372,(anonymous_37) -FN:382,(anonymous_38) -FN:393,(anonymous_39) -FN:465,(anonymous_40) -FN:466,(anonymous_41) -FN:483,(anonymous_42) -FN:518,(anonymous_43) -FN:529,(anonymous_44) -FN:535,(anonymous_45) -FN:545,(anonymous_46) -FN:549,(anonymous_47) -FN:554,(anonymous_48) -FNF:49 -FNH:0 -FNDA:0,EditTokenForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -FNDA:0,(anonymous_34) -FNDA:0,(anonymous_35) -FNDA:0,(anonymous_36) -FNDA:0,(anonymous_37) -FNDA:0,(anonymous_38) -FNDA:0,(anonymous_39) -FNDA:0,(anonymous_40) -FNDA:0,(anonymous_41) -FNDA:0,(anonymous_42) -FNDA:0,(anonymous_43) -FNDA:0,(anonymous_44) -FNDA:0,(anonymous_45) -FNDA:0,(anonymous_46) -FNDA:0,(anonymous_47) -FNDA:0,(anonymous_48) -DA:47,0 -DA:48,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:85,0 -DA:88,0 -DA:89,0 -DA:94,0 -DA:96,0 -DA:97,0 -DA:99,0 -DA:100,0 -DA:102,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:110,0 -DA:111,0 -DA:114,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:129,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:136,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:143,0 -DA:145,0 -DA:147,0 -DA:148,0 -DA:151,0 -DA:154,0 -DA:155,0 -DA:159,0 -DA:160,0 -DA:161,0 -DA:165,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:172,0 -DA:176,0 -DA:178,0 -DA:179,0 -DA:181,0 -DA:182,0 -DA:184,0 -DA:185,0 -DA:187,0 -DA:188,0 -DA:192,0 -DA:194,0 -DA:195,0 -DA:196,0 -DA:202,0 -DA:204,0 -DA:205,0 -DA:206,0 -DA:212,0 -DA:213,0 -DA:214,0 -DA:218,0 -DA:220,0 -DA:221,0 -DA:222,0 -DA:228,0 -DA:230,0 -DA:231,0 -DA:237,0 -DA:239,0 -DA:240,0 -DA:241,0 -DA:248,0 -DA:249,0 -DA:250,0 -DA:259,0 -DA:261,0 -DA:262,0 -DA:271,0 -DA:273,0 -DA:274,0 -DA:283,0 -DA:285,0 -DA:286,0 -DA:298,0 -DA:300,0 -DA:301,0 -DA:310,0 -DA:312,0 -DA:313,0 -DA:322,0 -DA:323,0 -DA:324,0 -DA:325,0 -DA:334,0 -DA:336,0 -DA:350,0 -DA:352,0 -DA:360,0 -DA:362,0 -DA:363,0 -DA:372,0 -DA:373,0 -DA:374,0 -DA:378,0 -DA:382,0 -DA:385,0 -DA:387,0 -DA:388,0 -DA:390,0 -DA:391,0 -DA:393,0 -DA:395,0 -DA:396,0 -DA:397,0 -DA:405,0 -DA:406,0 -DA:415,0 -DA:416,0 -DA:426,0 -DA:427,0 -DA:428,0 -DA:448,0 -DA:449,0 -DA:454,0 -DA:458,0 -DA:464,0 -DA:465,0 -DA:466,0 -DA:467,0 -DA:470,0 -DA:471,0 -DA:476,0 -DA:481,0 -DA:482,0 -DA:483,0 -DA:485,0 -DA:486,0 -DA:488,0 -DA:489,0 -DA:491,0 -DA:492,0 -DA:493,0 -DA:495,0 -DA:496,0 -DA:500,0 -DA:502,0 -DA:503,0 -DA:504,0 -DA:518,0 -DA:519,0 -DA:520,0 -DA:521,0 -DA:523,0 -DA:524,0 -DA:525,0 -DA:529,0 -DA:530,0 -DA:531,0 -DA:534,0 -DA:536,0 -DA:537,0 -DA:543,0 -DA:545,0 -DA:546,0 -DA:549,0 -DA:550,0 -DA:551,0 -DA:554,0 -DA:555,0 -DA:557,0 -DA:559,0 -DA:571,0 -DA:585,0 -DA:595,0 -DA:609,0 -DA:623,0 -DA:663,0 -LF:203 -LH:0 -BRDA:75,0,0,0 -BRDA:75,0,1,0 -BRDA:75,0,2,0 -BRDA:75,0,3,0 -BRDA:82,1,0,0 -BRDA:82,1,1,0 -BRDA:89,2,0,0 -BRDA:89,2,1,0 -BRDA:90,3,0,0 -BRDA:90,3,1,0 -BRDA:90,3,2,0 -BRDA:90,3,3,0 -BRDA:96,4,0,0 -BRDA:96,4,1,0 -BRDA:99,5,0,0 -BRDA:99,5,1,0 -BRDA:102,6,0,0 -BRDA:102,6,1,0 -BRDA:102,6,2,0 -BRDA:107,7,0,0 -BRDA:107,7,1,0 -BRDA:110,8,0,0 -BRDA:110,8,1,0 -BRDA:126,9,0,0 -BRDA:126,9,1,0 -BRDA:127,10,0,0 -BRDA:127,10,1,0 -BRDA:133,11,0,0 -BRDA:133,11,1,0 -BRDA:141,12,0,0 -BRDA:141,12,1,0 -BRDA:141,13,0,0 -BRDA:141,13,1,0 -BRDA:145,14,0,0 -BRDA:145,14,1,0 -BRDA:148,15,0,0 -BRDA:148,15,1,0 -BRDA:160,16,0,0 -BRDA:160,16,1,0 -BRDA:161,17,0,0 -BRDA:161,17,1,0 -BRDA:161,17,2,0 -BRDA:169,18,0,0 -BRDA:169,18,1,0 -BRDA:169,19,0,0 -BRDA:169,19,1,0 -BRDA:169,19,2,0 -BRDA:172,20,0,0 -BRDA:172,20,1,0 -BRDA:173,21,0,0 -BRDA:173,21,1,0 -BRDA:173,21,2,0 -BRDA:178,22,0,0 -BRDA:178,22,1,0 -BRDA:178,23,0,0 -BRDA:178,23,1,0 -BRDA:178,23,2,0 -BRDA:181,24,0,0 -BRDA:181,24,1,0 -BRDA:181,25,0,0 -BRDA:181,25,1,0 -BRDA:181,25,2,0 -BRDA:184,26,0,0 -BRDA:184,26,1,0 -BRDA:184,27,0,0 -BRDA:184,27,1,0 -BRDA:184,27,2,0 -BRDA:187,28,0,0 -BRDA:187,28,1,0 -BRDA:187,29,0,0 -BRDA:187,29,1,0 -BRDA:187,29,2,0 -BRDA:195,30,0,0 -BRDA:195,30,1,0 -BRDA:205,31,0,0 -BRDA:205,31,1,0 -BRDA:213,32,0,0 -BRDA:213,32,1,0 -BRDA:213,33,0,0 -BRDA:213,33,1,0 -BRDA:221,34,0,0 -BRDA:221,34,1,0 -BRDA:230,35,0,0 -BRDA:230,35,1,0 -BRDA:239,36,0,0 -BRDA:239,36,1,0 -BRDA:239,37,0,0 -BRDA:239,37,1,0 -BRDA:240,38,0,0 -BRDA:240,38,1,0 -BRDA:248,39,0,0 -BRDA:248,39,1,0 -BRDA:261,40,0,0 -BRDA:261,40,1,0 -BRDA:261,41,0,0 -BRDA:261,41,1,0 -BRDA:273,42,0,0 -BRDA:273,42,1,0 -BRDA:273,43,0,0 -BRDA:273,43,1,0 -BRDA:285,44,0,0 -BRDA:285,44,1,0 -BRDA:285,45,0,0 -BRDA:285,45,1,0 -BRDA:300,46,0,0 -BRDA:300,46,1,0 -BRDA:300,47,0,0 -BRDA:300,47,1,0 -BRDA:312,48,0,0 -BRDA:312,48,1,0 -BRDA:312,49,0,0 -BRDA:312,49,1,0 -BRDA:329,50,0,0 -BRDA:329,50,1,0 -BRDA:362,51,0,0 -BRDA:362,51,1,0 -BRDA:373,52,0,0 -BRDA:373,52,1,0 -BRDA:374,53,0,0 -BRDA:374,53,1,0 -BRDA:385,54,0,0 -BRDA:385,54,1,0 -BRDA:385,55,0,0 -BRDA:385,55,1,0 -BRDA:385,55,2,0 -BRDA:387,56,0,0 -BRDA:387,56,1,0 -BRDA:387,57,0,0 -BRDA:387,57,1,0 -BRDA:395,58,0,0 -BRDA:395,58,1,0 -BRDA:398,59,0,0 -BRDA:398,59,1,0 -BRDA:403,60,0,0 -BRDA:403,60,1,0 -BRDA:405,61,0,0 -BRDA:405,61,1,0 -BRDA:407,62,0,0 -BRDA:407,62,1,0 -BRDA:413,63,0,0 -BRDA:413,63,1,0 -BRDA:415,64,0,0 -BRDA:415,64,1,0 -BRDA:415,65,0,0 -BRDA:415,65,1,0 -BRDA:418,66,0,0 -BRDA:418,66,1,0 -BRDA:422,67,0,0 -BRDA:422,67,1,0 -BRDA:426,68,0,0 -BRDA:426,68,1,0 -BRDA:426,69,0,0 -BRDA:426,69,1,0 -BRDA:448,70,0,0 -BRDA:448,70,1,0 -BRDA:448,71,0,0 -BRDA:448,71,1,0 -BRDA:454,72,0,0 -BRDA:454,72,1,0 -BRDA:455,73,0,0 -BRDA:455,73,1,0 -BRDA:466,74,0,0 -BRDA:466,74,1,0 -BRDA:470,75,0,0 -BRDA:470,75,1,0 -BRDA:481,76,0,0 -BRDA:481,76,1,0 -BRDA:481,77,0,0 -BRDA:481,77,1,0 -BRDA:482,78,0,0 -BRDA:482,78,1,0 -BRDA:488,79,0,0 -BRDA:488,79,1,0 -BRDA:491,80,0,0 -BRDA:491,80,1,0 -BRDA:495,81,0,0 -BRDA:495,81,1,0 -BRDA:502,82,0,0 -BRDA:502,82,1,0 -BRDA:505,83,0,0 -BRDA:505,83,1,0 -BRDA:512,84,0,0 -BRDA:512,84,1,0 -BRDA:519,85,0,0 -BRDA:519,85,1,0 -BRDA:519,86,0,0 -BRDA:519,86,1,0 -BRDA:523,87,0,0 -BRDA:523,87,1,0 -BRDA:523,88,0,0 -BRDA:523,88,1,0 -BRDA:536,89,0,0 -BRDA:536,89,1,0 -BRDA:536,90,0,0 -BRDA:536,90,1,0 -BRDA:551,91,0,0 -BRDA:551,91,1,0 -BRDA:555,92,0,0 -BRDA:555,92,1,0 -BRDA:557,93,0,0 -BRDA:557,93,1,0 -BRDA:557,93,2,0 -BRDA:557,93,3,0 -BRDA:557,93,4,0 -BRDA:557,93,5,0 -BRDA:639,94,0,0 -BRDA:639,94,1,0 -BRDA:680,95,0,0 -BRDA:680,95,1,0 -BRDA:689,96,0,0 -BRDA:689,96,1,0 -BRDA:696,97,0,0 -BRDA:696,97,1,0 -BRDA:710,98,0,0 -BRDA:710,98,1,0 -BRDA:711,99,0,0 -BRDA:711,99,1,0 -BRDA:712,100,0,0 -BRDA:712,100,1,0 -BRDA:713,101,0,0 -BRDA:713,101,1,0 -BRDA:713,101,2,0 -BRF:222 -BRH:0 -end_of_record -TN: -SF:src/app/components/EditTokenFormModal.tsx -FN:16,(anonymous_0) -FN:23,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:29,0 -DA:30,0 -DA:33,0 -LF:11 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:29,1,0,0 -BRDA:29,1,1,0 -BRDA:41,2,0,0 -BRDA:41,2,1,0 -BRDA:42,3,0,0 -BRDA:42,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/ErrorMessage.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ErrorValidation.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ExplainerModal.tsx -FN:6,ExplainerModal -FN:8,(anonymous_1) -FN:9,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,ExplainerModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/FigmaLoading.tsx -FN:39,FigmaLoading -FNF:1 -FNH:0 -FNDA:0,FigmaLoading -DA:9,0 -DA:15,0 -DA:20,0 -DA:25,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:52,0 -LF:8 -LH:0 -BRDA:44,0,0,0 -BRDA:44,0,1,0 -BRDA:67,1,0,0 -BRDA:67,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/Footer.tsx -FN:39,Footer -FN:54,(anonymous_1) -FN:55,(anonymous_2) -FN:58,(anonymous_3) -FN:61,(anonymous_4) -FN:62,(anonymous_5) -FN:63,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,Footer -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:69,0 -LF:23 -LH:0 -BRDA:81,0,0,0 -BRDA:81,0,1,0 -BRDA:81,0,2,0 -BRDA:81,0,3,0 -BRDA:88,1,0,0 -BRDA:88,1,1,0 -BRDA:91,2,0,0 -BRDA:91,2,1,0 -BRDA:91,2,2,0 -BRDA:91,2,3,0 -BRDA:118,3,0,0 -BRDA:118,3,1,0 -BRDA:128,4,0,0 -BRDA:128,4,1,0 -BRDA:128,5,0,0 -BRDA:128,5,1,0 -BRDA:128,5,2,0 -BRDA:128,5,3,0 -BRDA:128,5,4,0 -BRDA:128,5,5,0 -BRDA:136,6,0,0 -BRDA:136,6,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/app/components/IconToggleableDisclosure.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ImportVariablesDialog.tsx -FN:15,ImportVariablesDialog -FN:22,(anonymous_1) -FN:25,(anonymous_2) -FN:28,(anonymous_3) -FN:35,(anonymous_4) -FN:36,(anonymous_5) -FN:49,(anonymous_6) -FN:56,(anonymous_7) -FN:57,(anonymous_8) -FN:63,(anonymous_9) -FN:83,(anonymous_10) -FN:116,(anonymous_11) -FN:123,(anonymous_12) -FN:133,(anonymous_13) -FN:143,(anonymous_14) -FN:151,(anonymous_15) -FN:155,(anonymous_16) -FNF:17 -FNH:0 -FNDA:0,ImportVariablesDialog -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:28,0 -DA:31,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:45,0 -DA:49,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:73,0 -DA:83,0 -DA:84,0 -DA:87,0 -DA:89,0 -DA:116,0 -DA:123,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:138,0 -DA:143,0 -DA:152,0 -DA:155,0 -LF:45 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRDA:59,2,0,0 -BRDA:59,2,1,0 -BRDA:62,3,0,0 -BRDA:62,3,1,0 -BRDA:67,4,0,0 -BRDA:67,4,1,0 -BRDA:135,5,0,0 -BRDA:135,5,1,0 -BRDA:136,6,0,0 -BRDA:136,6,1,0 -BRDA:149,7,0,0 -BRDA:149,7,1,0 -BRDA:169,8,0,0 -BRDA:169,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/ImportedTokensDialog.tsx -FN:21,NewOrExistingToken -FN:35,(anonymous_1) -FN:39,(anonymous_2) -FN:45,(anonymous_3) -FN:45,(anonymous_4) -FN:99,ImportedTokensDialog -FN:113,(anonymous_6) -FN:114,(anonymous_7) -FN:118,(anonymous_8) -FN:119,(anonymous_9) -FN:122,(anonymous_10) -FN:123,(anonymous_11) -FN:137,(anonymous_12) -FN:138,(anonymous_13) -FN:152,(anonymous_14) -FN:153,(anonymous_15) -FN:162,(anonymous_16) -FN:173,(anonymous_17) -FN:173,(anonymous_18) -FN:184,(anonymous_19) -FN:195,(anonymous_20) -FN:196,(anonymous_21) -FN:197,(anonymous_22) -FN:198,(anonymous_23) -FN:199,(anonymous_24) -FN:209,(anonymous_25) -FN:220,(anonymous_26) -FN:223,(anonymous_27) -FN:235,(anonymous_28) -FN:238,(anonymous_29) -FN:243,(anonymous_30) -FN:248,(anonymous_31) -FN:290,(anonymous_32) -FN:335,(anonymous_33) -FNF:34 -FNH:0 -FNDA:0,NewOrExistingToken -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,ImportedTokensDialog -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -DA:34,0 -DA:35,0 -DA:36,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:111,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:118,0 -DA:119,0 -DA:122,0 -DA:123,0 -DA:133,0 -DA:134,0 -DA:137,0 -DA:138,0 -DA:148,0 -DA:149,0 -DA:152,0 -DA:153,0 -DA:162,0 -DA:171,0 -DA:172,0 -DA:173,0 -DA:180,0 -DA:182,0 -DA:184,0 -DA:185,0 -DA:186,0 -DA:188,0 -DA:191,0 -DA:195,0 -DA:196,0 -DA:197,0 -DA:198,0 -DA:199,0 -DA:203,0 -DA:204,0 -DA:205,0 -DA:206,0 -DA:209,0 -DA:211,0 -DA:219,0 -DA:220,0 -DA:223,0 -DA:225,0 -DA:233,0 -DA:235,0 -DA:238,0 -DA:239,0 -DA:243,0 -DA:244,0 -DA:245,0 -DA:248,0 -DA:249,0 -DA:250,0 -DA:253,0 -DA:255,0 -DA:291,0 -DA:336,0 -LF:75 -LH:0 -BRDA:52,0,0,0 -BRDA:52,0,1,0 -BRDA:66,1,0,0 -BRDA:66,1,1,0 -BRDA:68,2,0,0 -BRDA:68,2,1,0 -BRDA:79,3,0,0 -BRDA:79,3,1,0 -BRDA:83,4,0,0 -BRDA:83,4,1,0 -BRDA:83,4,2,0 -BRDA:87,5,0,0 -BRDA:87,5,1,0 -BRDA:124,6,0,0 -BRDA:124,6,1,0 -BRDA:139,7,0,0 -BRDA:139,7,1,0 -BRDA:154,8,0,0 -BRDA:154,8,1,0 -BRDA:163,9,0,0 -BRDA:163,9,1,0 -BRDA:171,10,0,0 -BRDA:171,10,1,0 -BRDA:171,11,0,0 -BRDA:171,11,1,0 -BRDA:185,12,0,0 -BRDA:185,12,1,0 -BRDA:185,13,0,0 -BRDA:185,13,1,0 -BRDA:260,14,0,0 -BRDA:260,14,1,0 -BRDA:275,15,0,0 -BRDA:275,15,1,0 -BRDA:302,16,0,0 -BRDA:302,16,1,0 -BRDA:320,17,0,0 -BRDA:320,17,1,0 -BRDA:346,18,0,0 -BRDA:346,18,1,0 -BRF:39 -BRH:0 -end_of_record -TN: -SF:src/app/components/Initiator.tsx -FN:20,(anonymous_0) -FN:34,Initiator -FN:39,(anonymous_2) -FN:40,(anonymous_3) -FN:53,(anonymous_4) -FN:70,(anonymous_5) -FN:171,(anonymous_6) -FN:176,(anonymous_7) -FN:181,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,Initiator -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:64,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:73,0 -DA:75,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:92,0 -DA:95,0 -DA:96,0 -DA:99,0 -DA:100,0 -DA:103,0 -DA:104,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:118,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:127,0 -DA:128,0 -DA:130,0 -DA:134,0 -DA:135,0 -DA:138,0 -DA:139,0 -DA:142,0 -DA:143,0 -DA:146,0 -DA:147,0 -DA:150,0 -DA:155,0 -DA:158,0 -DA:163,0 -DA:166,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:173,0 -DA:175,0 -DA:176,0 -DA:177,0 -DA:180,0 -DA:181,0 -DA:184,0 -LF:92 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:45,1,0,0 -BRDA:45,1,1,0 -BRDA:47,2,0,0 -BRDA:47,2,1,0 -BRDA:47,2,2,0 -BRDA:47,2,3,0 -BRDA:47,2,4,0 -BRDA:47,2,5,0 -BRDA:47,2,6,0 -BRDA:47,2,7,0 -BRDA:47,2,8,0 -BRDA:47,2,9,0 -BRDA:47,2,10,0 -BRDA:47,2,11,0 -BRDA:47,2,12,0 -BRDA:47,2,13,0 -BRDA:47,2,14,0 -BRDA:47,2,15,0 -BRDA:52,3,0,0 -BRDA:52,3,1,0 -BRDA:58,4,0,0 -BRDA:58,4,1,0 -BRDA:68,5,0,0 -BRDA:68,5,1,0 -BRDA:86,6,0,0 -BRDA:86,6,1,0 -BRDA:88,7,0,0 -BRDA:88,7,1,0 -BRDA:89,8,0,0 -BRDA:89,8,1,0 -BRDA:113,9,0,0 -BRDA:113,9,1,0 -BRDA:123,10,0,0 -BRDA:123,10,1,0 -BRDA:127,11,0,0 -BRDA:127,11,1,0 -BRDA:170,12,0,0 -BRDA:170,12,1,0 -BRF:40 -BRH:0 -end_of_record -TN: -SF:src/app/components/Input.tsx -FN:155,(anonymous_0) -FN:183,(anonymous_1) -FN:191,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:35,0 -DA:46,0 -DA:85,0 -DA:114,0 -DA:149,0 -DA:155,0 -DA:179,0 -DA:180,0 -DA:181,0 -DA:183,0 -DA:184,0 -DA:185,0 -DA:186,0 -DA:187,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:197,0 -LF:18 -LH:0 -BRDA:159,0,0,0 -BRDA:160,1,0,0 -BRDA:161,2,0,0 -BRDA:162,3,0,0 -BRDA:171,4,0,0 -BRDA:173,5,0,0 -BRDA:174,6,0,0 -BRDA:175,7,0,0 -BRDA:181,8,0,0 -BRDA:181,8,1,0 -BRDA:186,9,0,0 -BRDA:186,9,1,0 -BRDA:187,10,0,0 -BRDA:187,10,1,0 -BRDA:192,11,0,0 -BRDA:192,11,1,0 -BRDA:192,12,0,0 -BRDA:192,12,1,0 -BRDA:192,12,2,0 -BRDA:198,13,0,0 -BRDA:198,13,1,0 -BRDA:199,14,0,0 -BRDA:199,14,1,0 -BRDA:199,14,2,0 -BRDA:201,15,0,0 -BRDA:201,15,1,0 -BRDA:202,16,0,0 -BRDA:202,16,1,0 -BRDA:207,17,0,0 -BRDA:207,17,1,0 -BRDA:208,18,0,0 -BRDA:208,18,1,0 -BRDA:211,19,0,0 -BRDA:211,19,1,0 -BRDA:211,19,2,0 -BRDA:213,20,0,0 -BRDA:213,20,1,0 -BRDA:230,21,0,0 -BRDA:230,21,1,0 -BRDA:231,22,0,0 -BRDA:231,22,1,0 -BRDA:233,23,0,0 -BRDA:233,23,1,0 -BRF:43 -BRH:0 -end_of_record -TN: -SF:src/app/components/InspectSearchOptionDropdown.tsx -FN:11,InspectSearchOptionDropdown -FN:15,(anonymous_1) -FN:19,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,InspectSearchOptionDropdown -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:25,0 -LF:8 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Inspector.tsx -FN:26,Inspector -FN:35,(anonymous_1) -FN:39,(anonymous_2) -FN:46,renderInspectView -FN:54,(anonymous_4) -FN:58,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,Inspector -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,renderInspectView -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:60,0 -LF:21 -LH:0 -BRDA:40,0,0,0 -BRDA:40,0,1,0 -BRDA:47,1,0,0 -BRDA:47,1,1,0 -BRDA:47,1,2,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/app/components/InspectorDebugView.tsx -FN:24,InspectorDebugView -FN:28,(anonymous_1) -FN:31,(anonymous_2) -FN:43,renderBlankslate -FN:62,(anonymous_4) -FN:63,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,InspectorDebugView -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,renderBlankslate -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:17,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:40,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:62,0 -DA:64,0 -LF:16 -LH:0 -BRDA:30,0,0,0 -BRDA:30,0,1,0 -BRDA:31,1,0,0 -BRDA:31,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRDA:45,4,0,0 -BRDA:45,4,1,0 -BRDA:45,5,0,0 -BRDA:45,5,1,0 -BRDA:58,6,0,0 -BRDA:58,6,1,0 -BRDA:58,7,0,0 -BRDA:58,7,1,0 -BRDA:62,8,0,0 -BRDA:62,8,1,0 -BRDA:70,9,0,0 -BRDA:70,9,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/app/components/InspectorMultiView.tsx -FN:21,InspectorMultiView -FN:36,(anonymous_1) -FN:40,(anonymous_2) -FN:43,(anonymous_3) -FN:43,(anonymous_4) -FN:46,(anonymous_5) -FN:46,(anonymous_6) -FN:48,(anonymous_7) -FN:51,(anonymous_8) -FN:55,(anonymous_9) -FN:58,(anonymous_10) -FN:73,(anonymous_11) -FN:75,(anonymous_12) -FN:76,(anonymous_13) -FN:84,(anonymous_14) -FN:88,(anonymous_15) -FN:92,(anonymous_16) -FN:96,(anonymous_17) -FN:100,(anonymous_18) -FN:104,(anonymous_19) -FN:152,(anonymous_20) -FNF:21 -FNH:0 -FNDA:0,InspectorMultiView -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -DA:22,0 -DA:24,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:63,0 -DA:66,0 -DA:69,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:81,0 -DA:84,0 -DA:85,0 -DA:88,0 -DA:92,0 -DA:93,0 -DA:96,0 -DA:97,0 -DA:100,0 -DA:101,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:152,0 -LF:44 -LH:0 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:43,1,0,0 -BRDA:43,1,1,0 -BRDA:45,2,0,0 -BRDA:45,2,1,0 -BRDA:46,3,0,0 -BRDA:46,3,1,0 -BRDA:48,4,0,0 -BRDA:48,4,1,0 -BRDA:56,5,0,0 -BRDA:56,5,1,0 -BRDA:57,6,0,0 -BRDA:57,6,1,0 -BRDA:60,7,0,0 -BRDA:60,7,1,0 -BRDA:86,8,0,0 -BRDA:86,8,1,0 -BRDA:110,9,0,0 -BRDA:110,9,1,0 -BRDA:150,10,0,0 -BRDA:150,10,1,0 -BRDA:156,11,0,0 -BRDA:156,11,1,0 -BRDA:156,12,0,0 -BRDA:156,12,1,0 -BRDA:158,13,0,0 -BRDA:158,13,1,0 -BRDA:164,14,0,0 -BRDA:164,14,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/app/components/InspectorResolvedToken.tsx -FN:21,InspectorResolvedToken -FNF:1 -FNH:0 -FNDA:0,InspectorResolvedToken -DA:22,0 -DA:24,0 -DA:25,0 -DA:44,0 -DA:46,0 -DA:61,0 -DA:77,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:101,0 -DA:119,0 -DA:135,0 -DA:151,0 -LF:14 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:44,1,0,0 -BRDA:44,1,1,0 -BRDA:44,1,2,0 -BRDA:44,1,3,0 -BRDA:44,1,4,0 -BRDA:44,1,5,0 -BRDA:44,1,6,0 -BRDA:93,2,0,0 -BRDA:93,2,1,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/app/components/InspectorTokenGroup.tsx -FN:9,InspectorTokenGroup -FN:23,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,InspectorTokenGroup -FNDA:0,(anonymous_1) -DA:10,0 -DA:12,0 -DA:23,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/InspectorTokenSingle.tsx -FN:25,InspectorTokenSingle -FN:45,(anonymous_1) -FN:62,(anonymous_2) -FN:64,(anonymous_3) -FN:67,(anonymous_4) -FN:71,(anonymous_5) -FN:75,(anonymous_6) -FN:79,(anonymous_7) -FN:84,(anonymous_8) -FN:88,(anonymous_9) -FN:92,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,InspectorTokenSingle -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:57,0 -DA:59,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:68,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:76,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:84,0 -DA:85,0 -DA:88,0 -DA:89,0 -DA:92,0 -DA:93,0 -DA:96,0 -LF:38 -LH:0 -BRDA:46,0,0,0 -BRDA:46,0,1,0 -BRDA:50,1,0,0 -BRDA:50,1,1,0 -BRDA:51,2,0,0 -BRDA:51,2,1,0 -BRDA:64,3,0,0 -BRDA:64,3,1,0 -BRDA:64,4,0,0 -BRDA:64,4,1,0 -BRDA:123,5,0,0 -BRDA:123,5,1,0 -BRDA:123,5,2,0 -BRDA:126,6,0,0 -BRDA:126,6,1,0 -BRDA:126,6,2,0 -BRDA:128,7,0,0 -BRDA:128,7,1,0 -BRDA:128,7,2,0 -BRDA:128,7,3,0 -BRDA:139,8,0,0 -BRDA:139,8,1,0 -BRDA:140,9,0,0 -BRDA:140,9,1,0 -BRDA:143,10,0,0 -BRDA:143,10,1,0 -BRDA:156,11,0,0 -BRDA:156,11,1,0 -BRDA:157,12,0,0 -BRDA:157,12,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/app/components/JSONEditor.tsx -FN:16,JSONEditor -FN:37,(anonymous_1) -FN:41,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,JSONEditor -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:47,0 -DA:49,0 -LF:15 -LH:0 -BRDA:38,0,0,0 -BRDA:38,0,1,0 -BRDA:42,1,0,0 -BRDA:42,1,1,0 -BRDA:42,2,0,0 -BRDA:42,2,1,0 -BRDA:63,3,0,0 -BRDA:63,3,1,0 -BRDA:72,4,0,0 -BRDA:72,4,1,0 -BRDA:72,4,2,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/app/components/Label.tsx -FN:5,Label -FNF:1 -FNH:0 -FNDA:0,Label -DA:16,0 -DA:32,0 -LF:2 -LH:0 -BRDA:8,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/app/components/Link.tsx -FN:17,Link -FNF:1 -FNH:0 -FNDA:0,Link -DA:4,0 -DA:18,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/LoadingBar.tsx -FN:31,LoadingBar -FN:35,(anonymous_1) -FN:35,(anonymous_2) -FN:36,(anonymous_3) -FN:36,(anonymous_4) -FN:41,(anonymous_5) -FN:50,(anonymous_6) -FN:50,(anonymous_7) -FN:53,(anonymous_8) -FN:53,(anonymous_9) -FN:57,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,LoadingBar -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:14,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:57,0 -DA:58,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:69,0 -LF:19 -LH:0 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRDA:46,3,0,0 -BRDA:46,3,1,0 -BRDA:46,3,2,0 -BRDA:51,4,0,0 -BRDA:51,4,1,0 -BRDA:54,5,0,0 -BRDA:54,5,1,0 -BRDA:63,6,0,0 -BRDA:63,6,1,0 -BRDA:67,7,0,0 -BRDA:67,7,1,0 -BRDA:76,8,0,0 -BRDA:76,8,1,0 -BRDA:80,9,0,0 -BRDA:80,9,1,0 -BRDA:83,10,0,0 -BRDA:83,10,1,0 -BRDA:84,11,0,0 -BRDA:84,11,1,0 -BRDA:84,11,2,0 -BRDA:90,12,0,0 -BRDA:90,12,1,0 -BRF:28 -BRH:0 -end_of_record -TN: -SF:src/app/components/LocalStorageItem.tsx -FN:17,(anonymous_0) -FN:24,(anonymous_1) -FN:34,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:31,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:47,0 -DA:49,0 -LF:18 -LH:0 -BRDA:35,0,0,0 -BRDA:35,0,1,0 -BRDA:40,1,0,0 -BRDA:40,1,1,0 -BRDA:77,2,0,0 -BRDA:77,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/MultiSelectCheckboxItem.tsx -FN:12,(anonymous_0) -FN:17,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:12,0 -DA:17,0 -DA:18,0 -DA:21,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/MultiSelectDropdown.tsx -FN:13,(anonymous_0) -FN:19,(anonymous_1) -FN:21,(anonymous_2) -FN:23,(anonymous_3) -FN:41,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:13,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:31,0 -DA:41,0 -LF:11 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/Navbar.tsx -FN:23,(anonymous_0) -FN:34,(anonymous_1) -FN:40,(anonymous_2) -FN:46,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:35,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:47,0 -DA:50,0 -LF:18 -LH:0 -BRDA:41,0,0,0 -BRDA:41,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:42,2,0,0 -BRDA:42,2,1,0 -BRDA:42,3,0,0 -BRDA:42,3,1,0 -BRDA:73,4,0,0 -BRDA:73,4,1,0 -BRDA:73,4,2,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/app/components/OnboardingExplainer.tsx -FN:28,OnboardingExplainer -FNF:1 -FNH:0 -FNDA:0,OnboardingExplainer -DA:9,0 -DA:13,0 -DA:29,0 -DA:30,0 -LF:4 -LH:0 -BRDA:31,0,0,0 -BRDA:31,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/OnboardingFlow.tsx -FN:23,fetchOnboardingImage -FN:40,OnboardingFlow -FN:74,(anonymous_2) -FN:78,(anonymous_3) -FN:82,(anonymous_4) -FN:89,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,fetchOnboardingImage -FNDA:0,OnboardingFlow -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:12,0 -DA:18,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:36,0 -DA:41,0 -DA:42,0 -DA:69,0 -DA:70,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:78,0 -DA:79,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:90,0 -LF:22 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:24,0,2,0 -BRDA:24,0,3,0 -BRDA:24,0,4,0 -BRDA:24,0,5,0 -BRDA:87,1,0,0 -BRDA:87,1,1,0 -BRDA:96,2,0,0 -BRDA:96,2,1,0 -BRDA:101,3,0,0 -BRDA:101,3,1,0 -BRDA:112,4,0,0 -BRDA:112,4,1,0 -BRDA:113,5,0,0 -BRDA:113,5,1,0 -BRDA:118,6,0,0 -BRDA:118,6,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/PluginResizer.tsx -FN:11,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:11,0 -DA:12,0 -DA:14,0 -LF:3 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/ProBadge.tsx -FN:30,ProBadge -FNF:1 -FNH:0 -FNDA:0,ProBadge -DA:6,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:36,0 -LF:5 -LH:0 -BRDA:38,0,0,0 -BRDA:38,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/PullDialog.tsx -FN:14,PullDialog -FN:20,(anonymous_1) -FN:24,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,PullDialog -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:15,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:30,0 -DA:58,0 -DA:68,0 -LF:11 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRDA:28,0,2,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/app/components/PushDialog.tsx -FN:29,PushDialog -FN:38,(anonymous_1) -FN:42,(anonymous_2) -FN:82,(anonymous_3) -FN:89,(anonymous_4) -FN:95,(anonymous_5) -FN:102,(anonymous_6) -FN:109,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,PushDialog -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:52,0 -DA:54,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:71,0 -DA:73,0 -DA:75,0 -DA:76,0 -DA:78,0 -DA:81,0 -DA:83,0 -DA:88,0 -DA:90,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:108,0 -DA:110,0 -DA:111,0 -DA:117,0 -DA:119,0 -DA:122,0 -DA:190,0 -DA:207,0 -DA:236,0 -LF:45 -LH:0 -BRDA:35,0,0,0 -BRDA:35,0,1,0 -BRDA:35,1,0,0 -BRDA:35,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRDA:44,4,0,0 -BRDA:44,4,1,0 -BRDA:44,4,2,0 -BRDA:45,5,0,0 -BRDA:45,5,1,0 -BRDA:45,5,2,0 -BRDA:45,5,3,0 -BRDA:45,5,4,0 -BRDA:75,6,0,0 -BRDA:75,6,1,0 -BRDA:96,7,0,0 -BRDA:96,7,1,0 -BRDA:96,8,0,0 -BRDA:96,8,1,0 -BRDA:97,9,0,0 -BRDA:97,9,1,0 -BRDA:98,10,0,0 -BRDA:98,10,1,0 -BRDA:98,10,2,0 -BRDA:103,11,0,0 -BRDA:103,11,1,0 -BRDA:103,12,0,0 -BRDA:103,12,1,0 -BRDA:103,12,2,0 -BRDA:110,13,0,0 -BRDA:110,13,1,0 -BRDA:110,14,0,0 -BRDA:110,14,1,0 -BRDA:110,14,2,0 -BRDA:119,15,0,0 -BRDA:119,15,1,0 -BRDA:119,15,2,0 -BRDA:119,15,3,0 -BRDA:119,15,4,0 -BRDA:138,16,0,0 -BRDA:138,16,1,0 -BRDA:138,16,2,0 -BRDA:158,17,0,0 -BRDA:158,17,1,0 -BRDA:158,17,2,0 -BRDA:175,18,0,0 -BRDA:175,18,1,0 -BRDA:183,19,0,0 -BRDA:183,19,1,0 -BRDA:184,20,0,0 -BRDA:184,20,1,0 -BRDA:196,21,0,0 -BRDA:196,21,1,0 -BRDA:197,22,0,0 -BRDA:197,22,1,0 -BRDA:198,23,0,0 -BRDA:198,23,1,0 -BRDA:199,24,0,0 -BRDA:199,24,1,0 -BRDA:200,25,0,0 -BRDA:200,25,1,0 -BRDA:216,26,0,0 -BRDA:216,26,1,0 -BRDA:217,27,0,0 -BRDA:217,27,1,0 -BRDA:218,28,0,0 -BRDA:218,28,1,0 -BRDA:219,29,0,0 -BRDA:219,29,1,0 -BRDA:220,30,0,0 -BRDA:220,30,1,0 -BRDA:225,31,0,0 -BRDA:225,31,1,0 -BRF:76 -BRH:0 -end_of_record -TN: -SF:src/app/components/PushDialogSupernovaConfirm.tsx -FN:12,PushDialogSupernovaConfirm -FNF:1 -FNH:0 -FNDA:0,PushDialogSupernovaConfirm -DA:13,0 -DA:15,0 -LF:2 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/PushJSON.tsx -FN:15,PushJSON -FN:22,(anonymous_1) -FN:33,(anonymous_2) -FN:45,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,PushJSON -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:9,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:39,0 -DA:46,0 -LF:19 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:25,1,0,0 -BRDA:25,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:45,3,0,0 -BRDA:45,3,1,0 -BRDA:46,4,0,0 -BRDA:46,4,1,0 -BRDA:49,5,0,0 -BRDA:49,5,1,0 -BRDA:49,5,2,0 -BRDA:58,6,0,0 -BRDA:58,6,1,0 -BRDA:61,7,0,0 -BRDA:61,7,1,0 -BRDA:71,8,0,0 -BRDA:71,8,1,0 -BRDA:74,9,0,0 -BRDA:74,9,1,0 -BRF:21 -BRH:0 -end_of_record -TN: -SF:src/app/components/PushSettingForm.tsx -FN:19,PushSettingForm -FN:24,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,PushSettingForm -FNDA:0,(anonymous_1) -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:30,0 -LF:5 -LH:0 -BRDA:30,0,0,0 -BRDA:30,0,1,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/RemConfiguration.tsx -FN:22,(anonymous_0) -FN:32,(anonymous_1) -FN:32,(anonymous_2) -FN:35,(anonymous_3) -FN:41,(anonymous_4) -FN:61,(anonymous_5) -FN:72,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:57,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:71,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:82,0 -LF:35 -LH:0 -BRDA:44,0,0,0 -BRDA:44,0,1,0 -BRDA:44,1,0,0 -BRDA:44,1,1,0 -BRDA:45,2,0,0 -BRDA:45,2,1,0 -BRDA:48,3,0,0 -BRDA:48,3,1,0 -BRDA:64,4,0,0 -BRDA:64,4,1,0 -BRDA:64,5,0,0 -BRDA:64,5,1,0 -BRDA:75,6,0,0 -BRDA:75,6,1,0 -BRDA:75,7,0,0 -BRDA:75,7,1,0 -BRDA:93,8,0,0 -BRDA:93,8,1,0 -BRDA:99,9,0,0 -BRDA:99,9,1,0 -BRDA:103,10,0,0 -BRDA:103,10,1,0 -BRDA:106,11,0,0 -BRDA:106,11,1,0 -BRDA:119,12,0,0 -BRDA:119,12,1,0 -BRF:26 -BRH:0 -end_of_record -TN: -SF:src/app/components/ResolvedBorderValueDisplay.tsx -FN:21,(anonymous_0) -FN:36,(anonymous_1) -FN:42,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:12,0 -DA:17,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:30,0 -DA:37,0 -DA:43,0 -LF:9 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ResolvedShadowValueDisplay.tsx -FN:20,(anonymous_0) -FN:29,(anonymous_1) -FN:35,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:11,0 -DA:16,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:30,0 -DA:36,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ResolvedTokenDisplay.tsx -FN:11,ResolvedTokenDisplay -FN:18,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,ResolvedTokenDisplay -FNDA:0,(anonymous_1) -DA:18,0 -DA:19,0 -DA:22,0 -DA:23,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:43,0 -DA:44,0 -DA:47,0 -LF:12 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:30,3,0,0 -BRDA:30,3,1,0 -BRDA:30,4,0,0 -BRDA:30,4,1,0 -BRDA:31,5,0,0 -BRDA:31,5,1,0 -BRDA:35,6,0,0 -BRDA:35,6,1,0 -BRDA:35,7,0,0 -BRDA:35,7,1,0 -BRDA:43,8,0,0 -BRDA:43,8,1,0 -BRDA:43,9,0,0 -BRDA:43,9,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/app/components/ResolvedTypographyValueDisplay.tsx -FN:21,(anonymous_0) -FN:44,(anonymous_1) -FN:50,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:12,0 -DA:17,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:38,0 -DA:45,0 -DA:51,0 -LF:9 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Select.tsx -FN:25,Select -FNF:1 -FNH:0 -FNDA:0,Select -DA:5,0 -DA:28,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/SettingsDropdown.tsx -FN:12,SettingsDropdown -FN:24,(anonymous_1) -FN:28,(anonymous_2) -FN:32,(anonymous_3) -FN:36,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,SettingsDropdown -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:13,0 -DA:14,0 -DA:18,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:40,0 -LF:13 -LH:0 -BRDA:61,0,0,0 -BRDA:61,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/SingleBoxShadowDownShiftInput.tsx -FN:8,SingleBoxShadowDownShiftInput -FN:30,(anonymous_1) -FN:40,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,SingleBoxShadowDownShiftInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:39,0 -DA:40,0 -DA:43,0 -LF:10 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRDA:31,1,0,0 -BRDA:31,1,1,0 -BRDA:31,2,0,0 -BRDA:31,2,1,0 -BRDA:31,2,2,0 -BRDA:33,3,0,0 -BRDA:33,3,1,0 -BRDA:35,4,0,0 -BRDA:35,4,1,0 -BRDA:53,5,0,0 -BRDA:53,5,1,0 -BRDA:55,6,0,0 -BRDA:55,6,1,0 -BRDA:55,6,2,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/app/components/SingleBoxShadowInput.tsx -FN:42,SingleBoxShadowInput -FN:66,(anonymous_1) -FN:68,(anonymous_2) -FN:82,(anonymous_3) -FN:97,(anonymous_4) -FN:111,(anonymous_5) -FN:115,(anonymous_6) -FN:129,(anonymous_7) -FN:141,(anonymous_8) -FN:153,(anonymous_9) -FN:156,(anonymous_10) -FN:196,(anonymous_11) -FN:244,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,SingleBoxShadowInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -DA:30,0 -DA:38,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:89,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:103,0 -DA:111,0 -DA:112,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:121,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:136,0 -DA:139,0 -DA:141,0 -DA:142,0 -DA:145,0 -DA:151,0 -DA:153,0 -DA:157,0 -DA:158,0 -DA:160,0 -DA:161,0 -DA:163,0 -DA:164,0 -DA:167,0 -DA:169,0 -DA:171,0 -DA:173,0 -DA:175,0 -DA:176,0 -DA:179,0 -DA:180,0 -DA:183,0 -DA:184,0 -DA:189,0 -DA:196,0 -DA:201,0 -DA:205,0 -DA:245,0 -LF:67 -LH:0 -BRDA:44,0,0,0 -BRDA:69,1,0,0 -BRDA:69,1,1,0 -BRDA:83,2,0,0 -BRDA:83,2,1,0 -BRDA:83,3,0,0 -BRDA:83,3,1,0 -BRDA:84,4,0,0 -BRDA:84,4,1,0 -BRDA:98,5,0,0 -BRDA:98,5,1,0 -BRDA:116,6,0,0 -BRDA:116,6,1,0 -BRDA:131,7,0,0 -BRDA:131,7,1,0 -BRDA:136,8,0,0 -BRDA:136,8,1,0 -BRDA:154,9,0,0 -BRDA:154,9,1,0 -BRDA:157,10,0,0 -BRDA:157,10,1,0 -BRDA:163,11,0,0 -BRDA:163,11,1,0 -BRDA:175,12,0,0 -BRDA:175,12,1,0 -BRDA:175,13,0,0 -BRDA:175,13,1,0 -BRDA:179,14,0,0 -BRDA:179,14,1,0 -BRDA:179,15,0,0 -BRDA:179,15,1,0 -BRDA:207,16,0,0 -BRDA:207,16,1,0 -BRDA:212,17,0,0 -BRDA:212,17,1,0 -BRDA:224,18,0,0 -BRDA:224,18,1,0 -BRDA:229,19,0,0 -BRDA:229,19,1,0 -BRDA:240,20,0,0 -BRDA:240,20,1,0 -BRDA:250,21,0,0 -BRDA:250,21,1,0 -BRDA:260,22,0,0 -BRDA:260,22,1,0 -BRDA:260,22,2,0 -BRDA:261,23,0,0 -BRDA:261,23,1,0 -BRF:48 -BRH:0 -end_of_record -TN: -SF:src/app/components/SingleCompositionTokenContent.tsx -FN:28,SingleCompositionTokenContent -FN:46,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,SingleCompositionTokenContent -FNDA:0,(anonymous_1) -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:50,0 -LF:7 -LH:0 -BRDA:59,0,0,0 -BRDA:59,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/SingleCompositionTokenForm.tsx -FN:15,SingleCompositionTokenForm -FN:44,(anonymous_1) -FN:49,(anonymous_2) -FN:62,(anonymous_3) -FN:69,(anonymous_4) -FN:74,(anonymous_5) -FN:78,(anonymous_6) -FN:100,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,SingleCompositionTokenForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:40,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:74,0 -DA:75,0 -DA:78,0 -DA:79,0 -DA:100,0 -DA:105,0 -LF:26 -LH:0 -BRDA:79,0,0,0 -BRDA:79,0,1,0 -BRDA:81,1,0,0 -BRDA:81,1,1,0 -BRDA:92,2,0,0 -BRDA:92,2,1,0 -BRDA:99,3,0,0 -BRDA:99,3,1,0 -BRDA:128,4,0,0 -BRDA:128,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/components/SingleTypographyDownShiftInput.tsx -FN:7,SingleTypographyDownShiftInput -FN:26,(anonymous_1) -FN:30,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,SingleTypographyDownShiftInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:26,0 -DA:27,0 -DA:30,0 -DA:32,0 -DA:34,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Stack.tsx -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StartScreen.tsx -FN:39,StartScreen -FN:46,(anonymous_1) -FN:52,(anonymous_2) -FN:58,(anonymous_3) -FN:62,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,StartScreen -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:22,0 -DA:27,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:74,0 -LF:23 -LH:0 -BRDA:59,0,0,0 -BRDA:59,0,1,0 -BRDA:63,1,0,0 -BRDA:63,1,1,0 -BRDA:119,2,0,0 -BRDA:119,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItem.tsx -FN:25,(anonymous_0) -FN:38,(anonymous_1) -FN:45,(anonymous_2) -FN:47,(anonymous_3) -FN:59,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:69,0 -LF:28 -LH:0 -BRDA:30,0,0,0 -BRDA:30,0,1,0 -BRDA:48,1,0,0 -BRDA:48,1,1,0 -BRDA:61,2,0,0 -BRDA:61,2,1,0 -BRDA:113,3,0,0 -BRDA:113,3,1,0 -BRDA:117,4,0,0 -BRDA:117,4,1,0 -BRDA:117,4,2,0 -BRDA:134,5,0,0 -BRDA:134,5,1,0 -BRDA:136,6,0,0 -BRDA:136,6,1,0 -BRF:15 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm.tsx -FN:26,StorageItemForm -FNF:1 -FNH:0 -FNDA:0,StorageItemForm -DA:29,0 -DA:32,0 -DA:44,0 -DA:56,0 -DA:68,0 -DA:80,0 -DA:92,0 -DA:105,0 -DA:117,0 -DA:129,0 -LF:10 -LH:0 -BRDA:27,0,0,0 -BRDA:29,1,0,0 -BRDA:29,1,1,0 -BRDA:29,1,2,0 -BRDA:29,1,3,0 -BRDA:29,1,4,0 -BRDA:29,1,5,0 -BRDA:29,1,6,0 -BRDA:29,1,7,0 -BRDA:29,1,8,0 -BRDA:29,1,9,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledBrokenReferenceIndicator.tsx -FN:19,StyledBrokenReferenceIndicator -FNF:1 -FNH:0 -FNDA:0,StyledBrokenReferenceIndicator -DA:5,0 -DA:20,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDiff.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDirtyStateBadge.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledInputSuffix.tsx -FNF:0 -FNH:0 -DA:4,0 -DA:10,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledInspectBadge.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledStorageItem.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StylesDropdown.tsx -FN:13,StylesDropdown -FN:33,(anonymous_1) -FN:37,(anonymous_2) -FN:41,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,StylesDropdown -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:45,0 -LF:16 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:57,1,0,0 -BRDA:57,1,1,0 -BRDA:62,2,0,0 -BRDA:62,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/SyncSettings.tsx -FN:21,(anonymous_0) -FN:26,(anonymous_1) -FN:79,(anonymous_2) -FN:89,(anonymous_3) -FN:89,(anonymous_4) -FN:98,(anonymous_5) -FN:104,(anonymous_6) -FN:104,(anonymous_7) -FN:112,(anonymous_8) -FN:116,(anonymous_9) -FN:155,(anonymous_10) -FN:186,(anonymous_11) -FNF:12 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:78,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:112,0 -DA:113,0 -DA:116,0 -DA:117,0 -DA:120,0 -DA:156,0 -DA:187,0 -LF:36 -LH:0 -BRDA:81,0,0,0 -BRDA:81,0,1,0 -BRDA:122,1,0,0 -BRDA:122,1,1,0 -BRDA:130,2,0,0 -BRDA:130,2,1,0 -BRDA:164,3,0,0 -BRDA:164,3,1,0 -BRDA:186,4,0,0 -BRDA:186,4,1,0 -BRDA:188,5,0,0 -BRDA:188,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/app/components/Text.tsx -FN:4,WrappedText -FNF:1 -FNH:0 -FNDA:0,WrappedText -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRDA:5,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/app/components/ToggleEmptyButton.tsx -FN:9,ToggleEmptyButton -FN:15,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,ToggleEmptyButton -FNDA:0,(anonymous_1) -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:19,0 -LF:6 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenFilter.tsx -FN:32,(anonymous_0) -FN:38,(anonymous_1) -FN:42,(anonymous_2) -FN:48,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:12,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:53,0 -LF:16 -LH:0 -BRDA:73,0,0,0 -BRDA:73,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenFormatBadge.tsx -FN:14,TokenFormatBadge -FN:21,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,TokenFormatBadge -FNDA:0,(anonymous_1) -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:29,0 -LF:9 -LH:0 -BRDA:14,0,0,0 -BRDA:25,1,0,0 -BRDA:25,1,1,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRDA:29,3,0,0 -BRDA:29,3,1,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenInput.tsx -FN:53,TokenInput -FNF:1 -FNH:0 -FNDA:0,TokenInput -DA:6,0 -DA:24,0 -DA:37,0 -DA:56,0 -LF:4 -LH:0 -BRDA:54,0,0,0 -BRDA:54,1,0,0 -BRDA:54,2,0,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenListing.tsx -FN:23,(anonymous_0) -FN:32,(anonymous_1) -FN:49,(anonymous_2) -FN:55,(anonymous_3) -FN:59,(anonymous_4) -FN:63,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:23,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:48,0 -DA:50,0 -DA:55,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:69,0 -DA:78,0 -DA:80,0 -LF:23 -LH:0 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRDA:42,1,0,0 -BRDA:42,1,1,0 -BRDA:42,2,0,0 -BRDA:42,2,1,0 -BRDA:49,3,0,0 -BRDA:61,4,0,0 -BRDA:61,4,1,0 -BRDA:78,5,0,0 -BRDA:78,5,1,0 -BRDA:78,6,0,0 -BRDA:78,6,1,0 -BRDA:91,7,0,0 -BRDA:91,7,1,0 -BRDA:97,8,0,0 -BRDA:97,8,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenListingHeading.tsx -FN:28,TokenListingHeading -FN:44,(anonymous_1) -FN:46,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,TokenListingHeading -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:52,0 -LF:10 -LH:0 -BRDA:47,0,0,0 -BRDA:47,0,1,0 -BRDA:61,1,0,0 -BRDA:61,1,1,0 -BRDA:64,2,0,0 -BRDA:64,2,1,0 -BRDA:74,3,0,0 -BRDA:74,3,1,0 -BRDA:76,4,0,0 -BRDA:76,4,1,0 -BRDA:77,5,0,0 -BRDA:77,5,1,0 -BRDA:87,6,0,0 -BRDA:87,6,1,0 -BRDA:87,6,2,0 -BRDA:87,6,3,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetListItemContent.tsx -FN:29,TokenSetListItemContent -FN:41,(anonymous_1) -FN:56,(anonymous_2) -FN:60,(anonymous_3) -FN:64,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,TokenSetListItemContent -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:56,0 -DA:57,0 -DA:60,0 -DA:61,0 -DA:64,0 -DA:65,0 -DA:68,0 -LF:25 -LH:0 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:43,1,0,0 -BRDA:43,1,1,0 -BRDA:45,2,0,0 -BRDA:45,2,1,0 -BRDA:73,3,0,0 -BRDA:73,3,1,0 -BRDA:74,4,0,0 -BRDA:74,4,1,0 -BRDA:81,5,0,0 -BRDA:81,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetSelector.tsx -FN:20,TokenSetSelector -FN:41,(anonymous_1) -FN:43,(anonymous_2) -FN:44,(anonymous_3) -FN:51,(anonymous_4) -FN:55,(anonymous_5) -FN:63,(anonymous_6) -FN:75,(anonymous_7) -FN:83,(anonymous_8) -FN:91,(anonymous_9) -FN:106,(anonymous_10) -FN:110,(anonymous_11) -FN:114,(anonymous_12) -FN:118,(anonymous_13) -FN:123,(anonymous_14) -FN:127,(anonymous_15) -FN:131,(anonymous_16) -FN:135,(anonymous_17) -FNF:18 -FNH:0 -FNDA:0,TokenSetSelector -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -DA:21,0 -DA:23,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:70,0 -DA:71,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:99,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:106,0 -DA:107,0 -DA:110,0 -DA:111,0 -DA:114,0 -DA:115,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:123,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:131,0 -DA:132,0 -DA:135,0 -DA:136,0 -DA:139,0 -LF:73 -LH:0 -BRDA:68,0,0,0 -BRDA:68,0,1,0 -BRDA:70,1,0,0 -BRDA:70,1,1,0 -BRDA:93,2,0,0 -BRDA:93,2,1,0 -BRDA:96,3,0,0 -BRDA:96,3,1,0 -BRDA:170,4,0,0 -BRDA:170,4,1,0 -BRDA:194,5,0,0 -BRDA:194,5,1,0 -BRDA:246,6,0,0 -BRDA:246,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetTree.tsx -FN:50,TokenSetTree -FN:58,(anonymous_1) -FN:62,(anonymous_2) -FN:64,(anonymous_3) -FN:68,(anonymous_4) -FN:69,(anonymous_5) -FN:90,(anonymous_6) -FN:91,(anonymous_7) -FN:97,(anonymous_8) -FN:99,(anonymous_9) -FN:99,(anonymous_10) -FN:100,(anonymous_11) -FN:100,(anonymous_12) -FN:106,(anonymous_13) -FN:114,(anonymous_14) -FN:114,(anonymous_15) -FN:116,(anonymous_16) -FN:117,(anonymous_17) -FN:119,(anonymous_18) -FN:126,(anonymous_19) -FN:137,(anonymous_20) -FN:138,(anonymous_21) -FN:162,(anonymous_22) -FN:163,(anonymous_23) -FN:164,(anonymous_24) -FN:171,(anonymous_25) -FN:182,(anonymous_26) -FN:183,(anonymous_27) -FN:186,(anonymous_28) -FNF:29 -FNH:0 -FNDA:0,TokenSetTree -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:73,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:80,0 -DA:81,0 -DA:84,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:97,0 -DA:99,0 -DA:100,0 -DA:103,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:111,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:119,0 -DA:120,0 -DA:123,0 -DA:126,0 -DA:127,0 -DA:131,0 -DA:134,0 -DA:137,0 -DA:138,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:167,0 -DA:168,0 -DA:169,0 -DA:171,0 -DA:172,0 -DA:176,0 -DA:179,0 -DA:181,0 -DA:182,0 -DA:183,0 -DA:186,0 -DA:192,0 -DA:197,0 -DA:199,0 -DA:200,0 -DA:202,0 -DA:205,0 -LF:68 -LH:0 -BRDA:73,0,0,0 -BRDA:73,0,1,0 -BRDA:73,1,0,0 -BRDA:73,1,1,0 -BRDA:80,2,0,0 -BRDA:80,2,1,0 -BRDA:93,3,0,0 -BRDA:93,3,1,0 -BRDA:93,4,0,0 -BRDA:93,4,1,0 -BRDA:99,5,0,0 -BRDA:99,5,1,0 -BRDA:107,6,0,0 -BRDA:107,6,1,0 -BRDA:108,7,0,0 -BRDA:108,7,1,0 -BRDA:114,8,0,0 -BRDA:114,8,1,0 -BRDA:119,9,0,0 -BRDA:119,9,1,0 -BRDA:126,10,0,0 -BRDA:126,10,1,0 -BRDA:127,11,0,0 -BRDA:127,11,1,0 -BRDA:146,12,0,0 -BRDA:146,12,1,0 -BRDA:147,13,0,0 -BRDA:147,13,1,0 -BRDA:165,14,0,0 -BRDA:165,14,1,0 -BRDA:169,15,0,0 -BRDA:169,15,1,0 -BRDA:169,16,0,0 -BRDA:169,16,1,0 -BRDA:172,17,0,0 -BRDA:172,17,1,0 -BRDA:199,18,0,0 -BRDA:199,18,1,0 -BRF:38 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetTreeItemContent.tsx -FN:32,TokenSetTreeItemContent -FN:44,(anonymous_1) -FN:51,(anonymous_2) -FN:55,(anonymous_3) -FN:55,(anonymous_4) -FN:60,(anonymous_5) -FN:64,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,TokenSetTreeItemContent -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:60,0 -DA:61,0 -DA:64,0 -DA:65,0 -DA:68,0 -LF:21 -LH:0 -BRDA:45,0,0,0 -BRDA:45,0,1,0 -BRDA:52,1,0,0 -BRDA:52,1,1,0 -BRDA:55,2,0,0 -BRDA:55,2,1,0 -BRDA:77,3,0,0 -BRDA:77,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/Tokens.tsx -FN:34,(anonymous_0) -FN:36,(anonymous_1) -FN:84,Tokens -FN:101,(anonymous_3) -FN:103,(anonymous_4) -FN:107,(anonymous_5) -FN:114,(anonymous_6) -FN:122,(anonymous_7) -FN:127,(anonymous_8) -FN:129,(anonymous_9) -FN:138,(anonymous_10) -FN:148,(anonymous_11) -FN:154,(anonymous_12) -FN:161,(anonymous_13) -FN:165,(anonymous_14) -FN:172,(anonymous_15) -FN:182,(anonymous_16) -FN:187,(anonymous_17) -FN:283,(anonymous_18) -FNF:19 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,Tokens -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:113,0 -DA:114,0 -DA:118,0 -DA:120,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:134,0 -DA:136,0 -DA:138,0 -DA:145,0 -DA:148,0 -DA:149,0 -DA:152,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:161,0 -DA:165,0 -DA:168,0 -DA:169,0 -DA:172,0 -DA:175,0 -DA:176,0 -DA:178,0 -DA:182,0 -DA:183,0 -DA:184,0 -DA:187,0 -DA:188,0 -DA:189,0 -DA:193,0 -DA:195,0 -DA:286,0 -LF:67 -LH:0 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:102,1,0,0 -BRDA:102,1,1,0 -BRDA:108,2,0,0 -BRDA:108,2,1,0 -BRDA:108,3,0,0 -BRDA:108,3,1,0 -BRDA:108,3,2,0 -BRDA:128,4,0,0 -BRDA:128,4,1,0 -BRDA:130,5,0,0 -BRDA:130,5,1,0 -BRDA:133,6,0,0 -BRDA:133,6,1,0 -BRDA:155,7,0,0 -BRDA:155,7,1,0 -BRDA:155,8,0,0 -BRDA:155,8,1,0 -BRDA:175,9,0,0 -BRDA:175,9,1,0 -BRDA:188,10,0,0 -BRDA:188,10,1,0 -BRDA:193,11,0,0 -BRDA:193,11,1,0 -BRDA:223,12,0,0 -BRDA:223,12,1,0 -BRDA:261,13,0,0 -BRDA:261,13,1,0 -BRDA:273,14,0,0 -BRDA:273,14,1,0 -BRDA:289,15,0,0 -BRDA:289,15,1,0 -BRDA:297,16,0,0 -BRDA:297,16,1,0 -BRDA:301,17,0,0 -BRDA:301,17,1,0 -BRF:37 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokensBottomBar.tsx -FN:30,TokensBottomBar -FN:36,(anonymous_1) -FN:40,(anonymous_2) -FN:47,(anonymous_3) -FN:47,(anonymous_4) -FN:51,(anonymous_5) -FN:62,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,TokensBottomBar -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:73,0 -DA:75,0 -LF:27 -LH:0 -BRDA:52,0,0,0 -BRDA:52,0,1,0 -BRDA:80,1,0,0 -BRDA:80,1,1,0 -BRDA:114,2,0,0 -BRDA:114,2,1,0 -BRDA:129,3,0,0 -BRDA:129,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/ToolsDropdown.tsx -FN:11,ToolsDropdown -FN:19,(anonymous_1) -FN:23,(anonymous_2) -FN:27,(anonymous_3) -FN:30,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,ToolsDropdown -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:12,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:34,0 -LF:13 -LH:0 -BRDA:48,0,0,0 -BRDA:48,0,1,0 -BRDA:49,1,0,0 -BRDA:49,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/Tooltip.tsx -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TypographyInput.tsx -FN:29,TypographyInput -FN:53,(anonymous_1) -FN:61,(anonymous_2) -FN:64,(anonymous_3) -FN:70,(anonymous_4) -FN:102,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,TypographyInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:17,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:78,0 -DA:103,0 -LF:24 -LH:0 -BRDA:50,0,0,0 -BRDA:50,0,1,0 -BRDA:51,1,0,0 -BRDA:51,1,1,0 -BRDA:54,2,0,0 -BRDA:54,2,1,0 -BRDA:55,3,0,0 -BRDA:55,3,1,0 -BRDA:63,4,0,0 -BRDA:63,4,1,0 -BRDA:63,5,0,0 -BRDA:63,5,1,0 -BRDA:65,6,0,0 -BRDA:65,6,1,0 -BRDA:71,7,0,0 -BRDA:71,7,1,0 -BRDA:71,8,0,0 -BRDA:71,8,1,0 -BRDA:72,9,0,0 -BRDA:72,9,1,0 -BRDA:74,10,0,0 -BRDA:74,10,1,0 -BRDA:83,11,0,0 -BRDA:83,11,1,0 -BRDA:100,12,0,0 -BRDA:100,12,1,0 -BRDA:100,13,0,0 -BRDA:100,13,1,0 -BRDA:102,14,0,0 -BRDA:102,14,1,0 -BRDA:106,15,0,0 -BRDA:106,15,1,0 -BRDA:119,16,0,0 -BRDA:119,16,1,0 -BRDA:132,17,0,0 -BRDA:132,17,1,0 -BRDA:132,17,2,0 -BRDA:132,17,3,0 -BRF:38 -BRH:0 -end_of_record -TN: -SF:src/app/components/WindowResizer.tsx -FN:9,WindowResizer -FN:15,(anonymous_1) -FN:20,(anonymous_2) -FN:31,(anonymous_3) -FN:38,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,WindowResizer -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -DA:20,0 -DA:21,0 -DA:25,0 -DA:28,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:47,0 -LF:18 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRDA:39,1,0,0 -BRDA:39,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/createAnnotation.tsx -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:7,0 -DA:8,0 -DA:10,0 -LF:3 -LH:0 -BRDA:7,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/app/components/createTokenObj.tsx -FN:11,transformName -FN:55,appendTypeToToken -FN:64,createTokensObject -FN:66,(anonymous_3) -FN:93,mappedTokens -FN:100,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,transformName -FNDA:0,appendTypeToToken -FNDA:0,createTokensObject -FNDA:0,(anonymous_3) -FNDA:0,mappedTokens -FNDA:0,(anonymous_5) -DA:12,0 -DA:15,0 -DA:18,0 -DA:21,0 -DA:23,0 -DA:25,0 -DA:27,0 -DA:29,0 -DA:31,0 -DA:33,0 -DA:35,0 -DA:37,0 -DA:39,0 -DA:41,0 -DA:43,0 -DA:45,0 -DA:47,0 -DA:49,0 -DA:51,0 -DA:56,0 -DA:57,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:73,0 -DA:74,0 -DA:76,0 -DA:77,0 -DA:82,0 -DA:84,0 -DA:86,0 -DA:88,0 -DA:94,0 -DA:98,0 -DA:100,0 -DA:101,0 -DA:107,0 -LF:40 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:12,0,2,0 -BRDA:12,0,3,0 -BRDA:12,0,4,0 -BRDA:12,0,5,0 -BRDA:12,0,6,0 -BRDA:12,0,7,0 -BRDA:12,0,8,0 -BRDA:12,0,9,0 -BRDA:12,0,10,0 -BRDA:12,0,11,0 -BRDA:12,0,12,0 -BRDA:12,0,13,0 -BRDA:12,0,14,0 -BRDA:12,0,15,0 -BRDA:12,0,16,0 -BRDA:12,0,17,0 -BRDA:12,0,18,0 -BRDA:12,0,19,0 -BRDA:12,0,20,0 -BRDA:56,1,0,0 -BRDA:56,1,1,0 -BRDA:64,2,0,0 -BRDA:65,3,0,0 -BRDA:65,3,1,0 -BRDA:73,4,0,0 -BRDA:73,4,1,0 -BRDA:73,5,0,0 -BRDA:73,5,1,0 -BRDA:74,6,0,0 -BRDA:74,6,1,0 -BRDA:76,7,0,0 -BRDA:76,7,1,0 -BRDA:102,8,0,0 -BRDA:102,8,1,0 -BRF:36 -BRH:0 -end_of_record -TN: -SF:src/app/components/custom.d.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/globalStyles.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/use-raised-shadow.ts -FN:6,useRaisedShadow -FN:9,(anonymous_1) -FN:11,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,useRaisedShadow -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:7,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:27,0 -LF:14 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:20,2,0,0 -BRDA:20,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/useMinimizeWindow.tsx -FN:7,(anonymous_0) -FN:12,(anonymous_1) -FN:22,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:22,0 -DA:23,0 -DA:26,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:23,1,0,0 -BRDA:23,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/Accordion/Accordion.tsx -FN:20,Accordion -FN:26,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,Accordion -FNDA:0,(anonymous_1) -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:30,0 -LF:5 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:60,2,0,0 -BRDA:60,2,1,0 -BRDA:69,3,0,0 -BRDA:69,3,1,0 -BRDA:76,4,0,0 -BRDA:76,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/components/Accordion/StyledContainer.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Accordion/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/AddLicenseKey/AddLicenseKey.tsx -FN:25,AddLicenseKey -FN:37,(anonymous_1) -FN:38,(anonymous_2) -FN:41,(anonymous_3) -FN:53,(anonymous_4) -FN:61,(anonymous_5) -FN:82,(anonymous_6) -FN:86,(anonymous_7) -FN:94,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,AddLicenseKey -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:65,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:77,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:94,0 -DA:95,0 -DA:98,0 -DA:104,0 -DA:106,0 -LF:36 -LH:0 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:54,1,0,0 -BRDA:54,1,1,0 -BRDA:62,2,0,0 -BRDA:62,2,1,0 -BRDA:70,3,0,0 -BRDA:70,3,1,0 -BRDA:87,4,0,0 -BRDA:87,4,1,0 -BRDA:87,5,0,0 -BRDA:87,5,1,0 -BRDA:87,5,2,0 -BRDA:98,6,0,0 -BRDA:98,6,1,0 -BRDA:104,7,0,0 -BRDA:104,7,1,0 -BRDA:112,8,0,0 -BRDA:112,8,1,0 -BRDA:112,8,2,0 -BRDA:130,9,0,0 -BRDA:130,9,1,0 -BRDA:136,10,0,0 -BRDA:136,10,1,0 -BRDA:141,11,0,0 -BRDA:141,11,1,0 -BRDA:143,12,0,0 -BRDA:143,12,1,0 -BRDA:145,13,0,0 -BRDA:145,13,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/app/components/AddLicenseKey/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/AppContainer.tsx -FN:42,(anonymous_0) -FN:49,(anonymous_1) -FN:59,(anonymous_2) -FN:75,(anonymous_3) -FN:79,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:34,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:75,0 -DA:76,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:83,0 -DA:87,0 -DA:90,0 -DA:113,0 -LF:28 -LH:0 -BRDA:60,0,0,0 -BRDA:60,0,1,0 -BRDA:61,1,0,0 -BRDA:61,1,1,0 -BRDA:61,1,2,0 -BRDA:65,2,0,0 -BRDA:65,2,1,0 -BRDA:67,3,0,0 -BRDA:67,3,1,0 -BRDA:70,4,0,0 -BRDA:70,4,1,0 -BRDA:80,5,0,0 -BRDA:80,5,1,0 -BRDA:93,6,0,0 -BRDA:93,6,1,0 -BRDA:103,7,0,0 -BRDA:103,7,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/ApplicationInitSteps.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/useStartupProcess.ts -FN:21,(anonymous_0) -FN:25,useStartupProcess -FN:34,(anonymous_2) -FN:59,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,useStartupProcess -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:21,0 -DA:22,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:65,0 -LF:14 -LH:0 -BRDA:60,0,0,0 -BRDA:60,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/startupProcessSteps/addLicenseFactory.ts -FN:8,addLicenseFactory -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,addLicenseFactory -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:21,0 -DA:22,0 -DA:30,0 -LF:11 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRDA:14,1,3,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRDA:21,4,0,0 -BRDA:21,4,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/startupProcessSteps/getLdFlagsFactory.ts -FN:13,getLdFlagsFactory -FN:14,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getLdFlagsFactory -FNDA:0,(anonymous_1) -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:37,0 -LF:15 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRDA:23,2,0,0 -BRDA:23,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/startupProcessSteps/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/startupProcessSteps/pullTokensFactory.ts -FN:19,pullTokensFactory -FN:29,(anonymous_1) -FN:37,(anonymous_2) -FN:42,(anonymous_3) -FN:119,(anonymous_4) -FN:135,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,pullTokensFactory -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:27,0 -DA:29,0 -DA:30,0 -DA:34,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:55,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:80,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:94,0 -DA:97,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:108,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:134,0 -DA:135,0 -DA:138,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:144,0 -DA:152,0 -DA:154,0 -DA:156,0 -DA:158,0 -DA:160,0 -DA:163,0 -DA:168,0 -LF:64 -LH:0 -BRDA:27,0,0,0 -BRDA:27,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:46,2,0,0 -BRDA:46,2,1,0 -BRDA:49,3,0,0 -BRDA:49,3,1,0 -BRDA:49,3,2,0 -BRDA:51,4,0,0 -BRDA:51,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRDA:56,6,0,0 -BRDA:56,6,1,0 -BRDA:56,6,2,0 -BRDA:56,6,3,0 -BRDA:62,7,0,0 -BRDA:62,7,1,0 -BRDA:68,8,0,0 -BRDA:68,8,1,0 -BRDA:69,9,0,0 -BRDA:69,9,1,0 -BRDA:80,10,0,0 -BRDA:80,10,1,0 -BRDA:82,11,0,0 -BRDA:82,11,1,0 -BRDA:88,12,0,0 -BRDA:88,12,1,0 -BRDA:110,13,0,0 -BRDA:110,13,1,0 -BRDA:111,14,0,0 -BRDA:111,14,1,0 -BRDA:114,15,0,0 -BRDA:114,15,1,0 -BRDA:134,16,0,0 -BRDA:134,16,1,0 -BRDA:135,17,0,0 -BRDA:135,17,1,0 -BRDA:138,18,0,0 -BRDA:138,18,1,0 -BRDA:138,19,0,0 -BRDA:138,19,1,0 -BRDA:141,20,0,0 -BRDA:141,20,1,0 -BRDA:142,21,0,0 -BRDA:142,21,1,0 -BRDA:144,22,0,0 -BRDA:144,22,1,0 -BRDA:145,23,0,0 -BRDA:145,23,1,0 -BRDA:145,23,2,0 -BRDA:145,23,3,0 -BRDA:154,24,0,0 -BRDA:154,24,1,0 -BRDA:158,25,0,0 -BRDA:158,25,1,0 -BRF:57 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/startupProcessSteps/savePluginDataFactory.ts -FN:6,savePluginDataFactory -FN:7,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,savePluginDataFactory -FNDA:0,(anonymous_1) -DA:7,0 -DA:8,0 -DA:9,0 -DA:11,0 -DA:12,0 -DA:18,0 -DA:21,0 -DA:22,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -LF:18 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:31,2,0,0 -BRDA:31,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/AppContainer/startupProcessSteps/saveStorageInformationFactory.ts -FN:5,saveStorageInformationFactory -FN:10,(anonymous_1) -FN:16,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,saveStorageInformationFactory -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:18,0 -LF:8 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/AuthModal/index.tsx -FN:18,AuthModal -FN:33,(anonymous_1) -FN:43,(anonymous_2) -FN:49,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,AuthModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:57,0 -LF:18 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRDA:44,1,0,0 -BRDA:44,1,1,0 -BRDA:50,2,0,0 -BRDA:50,2,1,0 -BRDA:59,3,0,0 -BRDA:59,3,1,0 -BRDA:62,4,0,0 -BRDA:62,4,1,0 -BRDA:74,5,0,0 -BRDA:74,5,1,0 -BRDA:76,6,0,0 -BRDA:76,6,1,0 -BRDA:90,7,0,0 -BRDA:90,7,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/app/components/ColorPicker/ColorPicker.tsx -FN:43,(anonymous_0) -FN:48,(anonymous_1) -FN:63,(anonymous_2) -FN:78,(anonymous_3) -FN:85,(anonymous_4) -FN:101,(anonymous_5) -FN:130,(anonymous_6) -FN:135,(anonymous_7) -FN:140,(anonymous_8) -FN:145,(anonymous_9) -FN:150,(anonymous_10) -FN:155,(anonymous_11) -FN:160,(anonymous_12) -FN:164,(anonymous_13) -FN:168,(anonymous_14) -FNF:15 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -DA:32,0 -DA:35,0 -DA:38,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:58,0 -DA:59,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:73,0 -DA:74,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:86,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:100,0 -DA:102,0 -DA:103,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:129,0 -DA:130,0 -DA:134,0 -DA:135,0 -DA:139,0 -DA:140,0 -DA:144,0 -DA:145,0 -DA:149,0 -DA:150,0 -DA:154,0 -DA:155,0 -DA:159,0 -DA:160,0 -DA:164,0 -DA:165,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:176,0 -LF:64 -LH:0 -BRDA:50,0,0,0 -BRDA:50,0,1,0 -BRDA:55,1,0,0 -BRDA:55,1,1,0 -BRDA:65,2,0,0 -BRDA:65,2,1,0 -BRDA:70,3,0,0 -BRDA:70,3,1,0 -BRDA:78,4,0,0 -BRDA:102,5,0,0 -BRDA:102,5,1,0 -BRDA:102,6,0,0 -BRDA:102,6,1,0 -BRDA:102,6,2,0 -BRDA:102,6,3,0 -BRDA:102,6,4,0 -BRDA:104,7,0,0 -BRDA:104,7,1,0 -BRDA:105,8,0,0 -BRDA:105,8,1,0 -BRDA:106,9,0,0 -BRDA:106,9,1,0 -BRDA:107,10,0,0 -BRDA:107,10,1,0 -BRDA:113,11,0,0 -BRDA:113,11,1,0 -BRDA:113,12,0,0 -BRDA:113,12,1,0 -BRDA:113,12,2,0 -BRDA:113,12,3,0 -BRDA:113,12,4,0 -BRDA:115,13,0,0 -BRDA:115,13,1,0 -BRDA:116,14,0,0 -BRDA:116,14,1,0 -BRDA:117,15,0,0 -BRDA:117,15,1,0 -BRDA:118,16,0,0 -BRDA:118,16,1,0 -BRDA:165,17,0,0 -BRDA:165,17,1,0 -BRDA:169,18,0,0 -BRDA:169,18,1,0 -BRDA:182,19,0,0 -BRDA:182,19,1,0 -BRDA:198,20,0,0 -BRDA:198,20,1,0 -BRDA:215,21,0,0 -BRDA:215,21,1,0 -BRF:49 -BRH:0 -end_of_record -TN: -SF:src/app/components/ColorPicker/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/DownshiftInput/DownshiftInput.tsx -FN:52,(anonymous_0) -FN:81,(anonymous_1) -FN:87,(anonymous_2) -FN:93,(anonymous_3) -FN:99,(anonymous_4) -FN:107,(anonymous_5) -FN:111,(anonymous_6) -FN:111,(anonymous_7) -FN:116,(anonymous_8) -FN:116,(anonymous_9) -FN:121,(anonymous_10) -FN:128,(anonymous_11) -FN:131,(anonymous_12) -FN:134,(anonymous_13) -FN:134,(anonymous_14) -FN:137,(anonymous_15) -FN:142,(anonymous_16) -FN:148,(anonymous_17) -FN:162,(anonymous_18) -FN:174,(anonymous_19) -FN:178,(anonymous_20) -FN:183,(anonymous_21) -FN:191,(anonymous_22) -FN:273,(anonymous_23) -FN:296,(anonymous_24) -FN:319,(anonymous_25) -FN:339,(anonymous_26) -FNF:27 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -DA:52,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:103,0 -DA:106,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:120,0 -DA:121,0 -DA:123,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:134,0 -DA:136,0 -DA:137,0 -DA:139,0 -DA:142,0 -DA:144,0 -DA:145,0 -DA:149,0 -DA:150,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:168,0 -DA:171,0 -DA:174,0 -DA:175,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:183,0 -DA:184,0 -DA:187,0 -DA:189,0 -DA:194,0 -DA:274,0 -DA:275,0 -DA:296,0 -DA:320,0 -DA:321,0 -DA:339,0 -LF:74 -LH:0 -BRDA:56,0,0,0 -BRDA:82,1,0,0 -BRDA:82,1,1,0 -BRDA:83,2,0,0 -BRDA:83,2,1,0 -BRDA:88,3,0,0 -BRDA:88,3,1,0 -BRDA:94,4,0,0 -BRDA:94,4,1,0 -BRDA:100,5,0,0 -BRDA:100,5,1,0 -BRDA:109,6,0,0 -BRDA:109,6,1,0 -BRDA:116,7,0,0 -BRDA:116,7,1,0 -BRDA:120,8,0,0 -BRDA:120,8,1,0 -BRDA:130,9,0,0 -BRDA:130,9,1,0 -BRDA:133,10,0,0 -BRDA:133,10,1,0 -BRDA:133,11,0,0 -BRDA:133,11,1,0 -BRDA:136,12,0,0 -BRDA:136,12,1,0 -BRDA:163,13,0,0 -BRDA:163,13,1,0 -BRDA:164,14,0,0 -BRDA:164,14,1,0 -BRDA:165,15,0,0 -BRDA:165,15,1,0 -BRDA:179,16,0,0 -BRDA:179,16,1,0 -BRDA:179,17,0,0 -BRDA:179,17,1,0 -BRDA:187,18,0,0 -BRDA:187,18,1,0 -BRDA:196,19,0,0 -BRDA:196,19,1,0 -BRDA:196,20,0,0 -BRDA:196,20,1,0 -BRDA:197,21,0,0 -BRDA:197,21,1,0 -BRDA:200,22,0,0 -BRDA:200,22,1,0 -BRDA:200,22,2,0 -BRDA:203,23,0,0 -BRDA:203,23,1,0 -BRDA:217,24,0,0 -BRDA:217,24,1,0 -BRDA:251,25,0,0 -BRDA:251,25,1,0 -BRDA:271,26,0,0 -BRDA:271,26,1,0 -BRDA:271,26,2,0 -BRDA:281,27,0,0 -BRDA:281,27,1,0 -BRDA:298,28,0,0 -BRDA:298,28,1,0 -BRDA:304,29,0,0 -BRDA:304,29,1,0 -BRDA:317,30,0,0 -BRDA:317,30,1,0 -BRDA:317,30,2,0 -BRDA:327,31,0,0 -BRDA:327,31,1,0 -BRDA:342,32,0,0 -BRDA:342,32,1,0 -BRDA:352,33,0,0 -BRDA:352,33,1,0 -BRDA:352,33,2,0 -BRDA:352,33,3,0 -BRDA:352,33,4,0 -BRF:73 -BRH:0 -end_of_record -TN: -SF:src/app/components/DownshiftInput/MentionInput.tsx -FN:48,MentionsInput -FN:64,(anonymous_1) -FN:67,(anonymous_2) -FN:67,(anonymous_3) -FN:69,(anonymous_4) -FN:75,(anonymous_5) -FN:75,(anonymous_6) -FN:77,(anonymous_7) -FN:83,(anonymous_8) -FN:87,(anonymous_9) -FN:93,(anonymous_10) -FN:99,(anonymous_11) -FN:110,(anonymous_12) -FN:113,(anonymous_13) -FN:147,(anonymous_14) -FN:168,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,MentionsInput -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:46,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:83,0 -DA:84,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:93,0 -DA:96,0 -DA:97,0 -DA:101,0 -DA:110,0 -DA:113,0 -DA:114,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:152,0 -DA:169,0 -LF:29 -LH:0 -BRDA:49,0,0,0 -BRDA:50,1,0,0 -BRDA:60,2,0,0 -BRDA:65,3,0,0 -BRDA:65,3,1,0 -BRDA:75,4,0,0 -BRDA:75,4,1,0 -BRDA:88,5,0,0 -BRDA:88,5,1,0 -BRDA:113,6,0,0 -BRDA:113,6,1,0 -BRDA:116,7,0,0 -BRDA:116,7,1,0 -BRDA:125,8,0,0 -BRDA:125,8,1,0 -BRDA:125,9,0,0 -BRDA:125,9,1,0 -BRDA:127,10,0,0 -BRDA:127,10,1,0 -BRDA:138,11,0,0 -BRDA:138,11,1,0 -BRDA:138,12,0,0 -BRDA:138,12,1,0 -BRDA:139,13,0,0 -BRDA:139,13,1,0 -BRDA:139,14,0,0 -BRDA:139,14,1,0 -BRDA:140,15,0,0 -BRDA:140,15,1,0 -BRDA:166,16,0,0 -BRDA:166,16,1,0 -BRF:31 -BRH:0 -end_of_record -TN: -SF:src/app/components/DownshiftInput/StyledDownshiftInput.tsx -FN:131,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:20,0 -DA:34,0 -DA:43,0 -DA:61,0 -DA:77,0 -DA:82,0 -DA:89,0 -DA:108,0 -DA:118,0 -DA:131,0 -DA:142,0 -DA:152,0 -LF:12 -LH:0 -BRDA:145,0,0,0 -BRDA:145,0,1,0 -BRDA:146,1,0,0 -BRDA:146,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/DownshiftInput/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/DuplicateResolver/ResolveDuplicateTokenGroup.tsx -FN:16,ResolveDuplicateTokenSingle -FN:31,(anonymous_1) -FN:52,ResolveDuplicateTokenGroup -FN:83,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,ResolveDuplicateTokenSingle -FNDA:0,(anonymous_1) -FNDA:0,ResolveDuplicateTokenGroup -FNDA:0,(anonymous_3) -DA:17,0 -DA:18,0 -DA:32,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:85,0 -LF:7 -LH:0 -BRDA:26,0,0,0 -BRDA:26,0,1,0 -BRDA:26,1,0,0 -BRDA:26,1,1,0 -BRDA:29,2,0,0 -BRDA:29,2,1,0 -BRDA:29,3,0,0 -BRDA:29,3,1,0 -BRDA:34,4,0,0 -BRDA:34,4,1,0 -BRDA:42,5,0,0 -BRDA:42,5,1,0 -BRDA:58,6,0,0 -BRDA:58,6,1,0 -BRDA:86,7,0,0 -BRDA:86,7,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/app/components/ErrorFallback/ErrorFallback.tsx -FN:6,ErrorFallback -FNF:1 -FNH:0 -FNDA:0,ErrorFallback -DA:7,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ErrorFallback/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ExportProvider/MultiFilesExport.tsx -FN:20,MultiFilesExport -FN:26,(anonymous_1) -FN:28,(anonymous_2) -FN:39,(anonymous_3) -FN:41,(anonymous_4) -FN:45,(anonymous_5) -FN:69,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,MultiFilesExport -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:46,0 -DA:48,0 -DA:50,0 -DA:53,0 -DA:70,0 -LF:22 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ExportProvider/SingleFileExport.tsx -FN:21,SingleFileExport -FN:32,(anonymous_1) -FN:36,(anonymous_2) -FN:40,(anonymous_3) -FN:44,(anonymous_4) -FN:48,(anonymous_5) -FN:52,(anonymous_6) -FN:56,(anonymous_7) -FN:63,(anonymous_8) -FN:67,(anonymous_9) -FNF:10 -FNH:0 -FNDA:0,SingleFileExport -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:60,0 -DA:63,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:75,0 -DA:78,0 -LF:32 -LH:0 -BRDA:69,0,0,0 -BRDA:69,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/Flex/Flex.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Flex/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/LanguageSelector/index.tsx -FN:11,(anonymous_0) -FN:16,(anonymous_1) -FN:16,(anonymous_2) -FN:19,(anonymous_3) -FN:32,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:11,0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:26,0 -DA:33,0 -LF:10 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/LaunchDarkly/LDProvider.tsx -FN:13,(anonymous_0) -FN:29,withLDProviderWrapper -FN:30,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,withLDProviderWrapper -FNDA:0,(anonymous_2) -DA:11,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:30,0 -DA:31,0 -LF:7 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/LaunchDarkly/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/LaunchDarkly/useFlags.ts -FN:4,(anonymous_0) -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:3,0 -DA:5,0 -DA:6,0 -LF:3 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/ExportSetsTab.tsx -FN:27,ExportSetsTab -FN:29,(anonymous_1) -FN:32,(anonymous_2) -FN:38,(anonymous_3) -FN:57,(anonymous_4) -FN:59,(anonymous_5) -FN:64,(anonymous_6) -FN:68,(anonymous_7) -FN:73,(anonymous_8) -FN:79,(anonymous_9) -FN:89,(anonymous_10) -FN:89,(anonymous_11) -FN:91,(anonymous_12) -FN:94,(anonymous_13) -FNF:14 -FNH:0 -FNDA:0,ExportSetsTab -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:44,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:55,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:64,0 -DA:65,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:73,0 -DA:74,0 -DA:80,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:100,0 -DA:102,0 -DA:104,0 -DA:108,0 -LF:36 -LH:0 -BRDA:92,0,0,0 -BRDA:92,0,1,0 -BRDA:95,1,0,0 -BRDA:95,1,1,0 -BRDA:113,2,0,0 -BRDA:113,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/ExportThemesTab.tsx -FN:15,ExportThemesTab -FN:20,(anonymous_1) -FN:21,(anonymous_2) -FN:30,(anonymous_3) -FN:30,(anonymous_4) -FN:35,(anonymous_5) -FN:37,(anonymous_6) -FN:43,(anonymous_7) -FN:47,(anonymous_8) -FN:51,createThemeRow -FN:58,(anonymous_10) -FN:112,(anonymous_11) -FN:115,(anonymous_12) -FN:115,(anonymous_13) -FN:121,(anonymous_14) -FNF:15 -FNH:0 -FNDA:0,ExportThemesTab -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,createThemeRow -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:27,0 -DA:30,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:52,0 -DA:58,0 -DA:66,0 -DA:113,0 -DA:115,0 -DA:121,0 -LF:24 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRDA:36,2,0,0 -BRDA:36,2,1,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRDA:68,4,0,0 -BRDA:68,4,1,0 -BRDA:71,5,0,0 -BRDA:71,5,1,0 -BRDA:118,6,0,0 -BRDA:118,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/LabelledCheckbox.tsx -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/ManageStylesAndVariables.tsx -FN:22,ManageStylesAndVariables -FN:33,(anonymous_1) -FN:35,(anonymous_2) -FN:47,(anonymous_3) -FN:51,(anonymous_4) -FN:56,(anonymous_5) -FN:68,(anonymous_6) -FN:72,(anonymous_7) -FN:80,(anonymous_8) -FN:113,(anonymous_9) -FN:118,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,ManageStylesAndVariables -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:23,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:40,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:76,0 -DA:80,0 -DA:81,0 -DA:84,0 -DA:113,0 -DA:118,0 -LF:35 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRDA:58,1,0,0 -BRDA:58,1,1,0 -BRDA:61,2,0,0 -BRDA:61,2,1,0 -BRDA:66,3,0,0 -BRDA:66,3,1,0 -BRDA:73,4,0,0 -BRDA:73,4,1,0 -BRDA:115,5,0,0 -BRDA:115,5,1,0 -BRDA:124,6,0,0 -BRDA:124,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/OptionsModal.tsx -FN:39,OptionsModal -FN:58,(anonymous_1) -FN:65,(anonymous_2) -FN:72,(anonymous_3) -FN:79,(anonymous_4) -FN:86,(anonymous_5) -FN:93,(anonymous_6) -FN:102,(anonymous_7) -FN:108,(anonymous_8) -FN:114,(anonymous_9) -FN:120,(anonymous_10) -FN:128,(anonymous_11) -FN:134,(anonymous_12) -FN:140,(anonymous_13) -FN:144,(anonymous_14) -FN:158,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,OptionsModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:32,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:57,0 -DA:59,0 -DA:64,0 -DA:66,0 -DA:71,0 -DA:73,0 -DA:78,0 -DA:80,0 -DA:85,0 -DA:87,0 -DA:92,0 -DA:94,0 -DA:96,0 -DA:101,0 -DA:103,0 -DA:107,0 -DA:109,0 -DA:113,0 -DA:115,0 -DA:119,0 -DA:121,0 -DA:123,0 -DA:127,0 -DA:129,0 -DA:133,0 -DA:135,0 -DA:140,0 -DA:141,0 -DA:144,0 -DA:145,0 -DA:148,0 -DA:150,0 -DA:158,0 -LF:47 -LH:0 -BRDA:96,0,0,0 -BRDA:96,0,1,0 -BRDA:123,1,0,0 -BRDA:123,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/StyledCard.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/ThemeDetails.tsx -FN:15,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:15,0 -DA:16,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageStylesAndVariables/docsLinks.tsx -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/CreateOrEditThemeForm.tsx -FN:44,(anonymous_0) -FN:51,(anonymous_1) -FN:56,(anonymous_2) -FN:56,(anonymous_3) -FN:56,(anonymous_4) -FN:59,(anonymous_5) -FN:74,(anonymous_6) -FN:82,(anonymous_7) -FN:88,(anonymous_8) -FN:98,(anonymous_9) -FN:149,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:44,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:67,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:82,0 -DA:83,0 -DA:89,0 -DA:98,0 -DA:102,0 -DA:150,0 -LF:25 -LH:0 -BRDA:60,0,0,0 -BRDA:60,0,1,0 -BRDA:75,1,0,0 -BRDA:75,1,1,0 -BRDA:129,2,0,0 -BRDA:129,2,1,0 -BRDA:144,3,0,0 -BRDA:144,3,1,0 -BRDA:187,4,0,0 -BRDA:187,4,1,0 -BRDA:195,5,0,0 -BRDA:195,5,1,0 -BRDA:204,6,0,0 -BRDA:204,6,1,0 -BRDA:204,6,2,0 -BRF:15 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ManageThemesModal.tsx -FN:43,(anonymous_0) -FN:54,(anonymous_1) -FN:55,(anonymous_2) -FN:66,(anonymous_3) -FN:70,(anonymous_4) -FN:84,(anonymous_5) -FN:88,(anonymous_6) -FN:99,(anonymous_7) -FN:103,(anonymous_8) -FN:123,(anonymous_9) -FN:125,(anonymous_10) -FN:138,(anonymous_11) -FN:140,(anonymous_12) -FN:147,(anonymous_13) -FN:166,(anonymous_14) -FN:172,(anonymous_15) -FN:178,(anonymous_16) -FN:256,(anonymous_17) -FNF:18 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -DA:32,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:78,0 -DA:80,0 -DA:84,0 -DA:85,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:99,0 -DA:100,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:108,0 -DA:110,0 -DA:120,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:129,0 -DA:130,0 -DA:135,0 -DA:137,0 -DA:138,0 -DA:140,0 -DA:141,0 -DA:144,0 -DA:147,0 -DA:153,0 -DA:158,0 -DA:160,0 -DA:161,0 -DA:163,0 -DA:166,0 -DA:167,0 -DA:168,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:178,0 -DA:180,0 -DA:257,0 -LF:72 -LH:0 -BRDA:56,0,0,0 -BRDA:56,0,1,0 -BRDA:60,1,0,0 -BRDA:60,1,1,0 -BRDA:71,2,0,0 -BRDA:71,2,1,0 -BRDA:71,3,0,0 -BRDA:71,3,1,0 -BRDA:72,4,0,0 -BRDA:72,4,1,0 -BRDA:73,5,0,0 -BRDA:73,5,1,0 -BRDA:74,6,0,0 -BRDA:74,6,1,0 -BRDA:89,7,0,0 -BRDA:89,7,1,0 -BRDA:91,8,0,0 -BRDA:91,8,1,0 -BRDA:104,9,0,0 -BRDA:104,9,1,0 -BRDA:105,10,0,0 -BRDA:105,10,1,0 -BRDA:114,11,0,0 -BRDA:114,11,1,0 -BRDA:126,12,0,0 -BRDA:126,12,1,0 -BRDA:126,13,0,0 -BRDA:126,13,1,0 -BRDA:129,14,0,0 -BRDA:129,14,1,0 -BRDA:129,15,0,0 -BRDA:129,15,1,0 -BRDA:132,16,0,0 -BRDA:132,16,1,0 -BRDA:140,17,0,0 -BRDA:140,17,1,0 -BRDA:140,18,0,0 -BRDA:140,18,1,0 -BRDA:160,19,0,0 -BRDA:160,19,1,0 -BRDA:167,20,0,0 -BRDA:167,20,1,0 -BRDA:173,21,0,0 -BRDA:173,21,1,0 -BRDA:189,22,0,0 -BRDA:189,22,1,0 -BRDA:199,23,0,0 -BRDA:199,23,1,0 -BRDA:202,24,0,0 -BRDA:202,24,1,0 -BRDA:237,25,0,0 -BRDA:237,25,1,0 -BRDA:237,25,2,0 -BRDA:244,26,0,0 -BRDA:244,26,1,0 -BRDA:244,26,2,0 -BRDA:259,27,0,0 -BRDA:259,27,1,0 -BRDA:259,28,0,0 -BRDA:259,28,1,0 -BRDA:263,29,0,0 -BRDA:263,29,1,0 -BRDA:274,30,0,0 -BRDA:274,30,1,0 -BRDA:276,31,0,0 -BRDA:276,31,1,0 -BRF:66 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/SingleThemeEntry.tsx -FN:42,(anonymous_0) -FN:48,(anonymous_1) -FN:50,(anonymous_2) -FN:54,(anonymous_3) -FN:58,(anonymous_4) -FN:62,(anonymous_5) -FN:66,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:20,0 -DA:42,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:73,0 -DA:76,0 -LF:20 -LH:0 -BRDA:55,0,0,0 -BRDA:55,0,1,0 -BRDA:59,1,0,0 -BRDA:59,1,1,0 -BRDA:68,2,0,0 -BRDA:68,2,1,0 -BRDA:97,3,0,0 -BRDA:97,3,1,0 -BRDA:101,4,0,0 -BRDA:101,4,1,0 -BRDA:104,5,0,0 -BRDA:104,5,1,0 -BRDA:108,6,0,0 -BRDA:108,6,1,0 -BRDA:111,7,0,0 -BRDA:111,7,1,0 -BRDA:115,8,0,0 -BRDA:115,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormHeaderFlex.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/StyledCreateOrEditThemeFormTabsFlex.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/StyledForm.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/StyledNameInputBox.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/StyledThemeLabel.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/StyledThemeMetaLabel.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeGroupDropDownMenu.tsx -FN:15,(anonymous_0) -FN:19,(anonymous_1) -FN:23,(anonymous_2) -FN:23,(anonymous_3) -FN:24,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:15,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:42,0 -LF:8 -LH:0 -BRDA:46,0,0,0 -BRDA:46,0,1,0 -BRDA:72,1,0,0 -BRDA:72,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeListGroupHeader.tsx -FN:23,ThemeListGroupHeader -FN:31,(anonymous_1) -FN:36,(anonymous_2) -FN:39,(anonymous_3) -FN:44,(anonymous_4) -FN:49,(anonymous_5) -FN:58,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,ThemeListGroupHeader -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:58,0 -DA:59,0 -DA:62,0 -LF:24 -LH:0 -BRDA:30,0,0,0 -BRDA:30,0,1,0 -BRDA:50,1,0,0 -BRDA:50,1,1,0 -BRDA:52,2,0,0 -BRDA:52,2,1,0 -BRDA:91,3,0,0 -BRDA:91,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeListItemContent.tsx -FN:24,ThemeListItemContent -FN:33,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,ThemeListItemContent -FNDA:0,(anonymous_1) -DA:20,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:37,0 -LF:6 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeStyleManagementCategory.tsx -FN:24,(anonymous_0) -FN:32,(anonymous_1) -FN:38,(anonymous_2) -FN:40,(anonymous_3) -FN:44,(anonymous_4) -FN:48,(anonymous_5) -FN:52,(anonymous_6) -FN:55,(anonymous_7) -FN:119,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:24,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:60,0 -DA:120,0 -LF:16 -LH:0 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:54,1,0,0 -BRDA:54,1,1,0 -BRDA:69,2,0,0 -BRDA:69,2,1,0 -BRDA:84,3,0,0 -BRDA:84,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeStyleManagementCategoryStyleEntry.tsx -FN:26,(anonymous_0) -FN:34,(anonymous_1) -FN:38,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:26,0 -DA:34,0 -DA:35,0 -DA:38,0 -DA:39,0 -DA:42,0 -LF:6 -LH:0 -BRDA:57,0,0,0 -BRDA:57,0,1,0 -BRDA:88,1,0,0 -BRDA:88,1,1,0 -BRDA:88,1,2,0 -BRDA:91,2,0,0 -BRDA:91,2,1,0 -BRDA:91,2,2,0 -BRDA:97,3,0,0 -BRDA:97,3,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeStyleManagementForm.tsx -FN:26,(anonymous_0) -FN:30,(anonymous_1) -FN:36,(anonymous_2) -FN:45,(anonymous_3) -FN:52,(anonymous_4) -FN:58,(anonymous_5) -FN:74,(anonymous_6) -FN:101,(anonymous_7) -FN:111,(anonymous_8) -FN:121,(anonymous_9) -FN:125,(anonymous_10) -FN:129,(anonymous_11) -FN:133,(anonymous_12) -FN:134,(anonymous_13) -FN:135,(anonymous_14) -FN:141,(anonymous_15) -FN:142,(anonymous_16) -FN:143,(anonymous_17) -FN:144,(anonymous_18) -FN:153,(anonymous_19) -FN:160,(anonymous_20) -FN:162,(anonymous_21) -FN:165,(anonymous_22) -FNF:23 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:45,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:68,0 -DA:71,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:80,0 -DA:87,0 -DA:88,0 -DA:92,0 -DA:97,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:121,0 -DA:122,0 -DA:125,0 -DA:126,0 -DA:129,0 -DA:130,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:137,0 -DA:138,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:152,0 -DA:154,0 -DA:155,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:165,0 -DA:166,0 -DA:170,0 -DA:173,0 -DA:175,0 -DA:176,0 -DA:180,0 -DA:181,0 -DA:184,0 -LF:77 -LH:0 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRDA:53,4,0,0 -BRDA:53,4,1,0 -BRDA:59,5,0,0 -BRDA:59,5,1,0 -BRDA:61,6,0,0 -BRDA:61,6,1,0 -BRDA:63,7,0,0 -BRDA:63,7,1,0 -BRDA:75,8,0,0 -BRDA:75,8,1,0 -BRDA:87,9,0,0 -BRDA:87,9,1,0 -BRDA:102,10,0,0 -BRDA:102,10,1,0 -BRDA:112,11,0,0 -BRDA:112,11,1,0 -BRDA:137,12,0,0 -BRDA:137,12,1,0 -BRDA:161,13,0,0 -BRDA:161,13,1,0 -BRDA:163,14,0,0 -BRDA:163,14,1,0 -BRDA:180,15,0,0 -BRDA:180,15,1,0 -BRDA:188,16,0,0 -BRDA:188,16,1,0 -BRDA:195,17,0,0 -BRDA:195,17,1,0 -BRDA:202,18,0,0 -BRDA:202,18,1,0 -BRF:38 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeVariableManagement.tsx -FN:26,(anonymous_0) -FN:27,(anonymous_1) -FN:31,(anonymous_2) -FN:37,(anonymous_3) -FN:39,(anonymous_4) -FN:40,(anonymous_5) -FN:45,(anonymous_6) -FN:46,(anonymous_7) -FN:52,(anonymous_8) -FN:61,(anonymous_9) -FN:65,(anonymous_10) -FN:69,(anonymous_11) -FN:79,(anonymous_12) -FN:82,(anonymous_13) -FN:87,(anonymous_14) -FN:97,(anonymous_15) -FN:103,(anonymous_16) -FN:174,(anonymous_17) -FNF:18 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:46,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:57,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:79,0 -DA:80,0 -DA:82,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:103,0 -DA:108,0 -DA:109,0 -DA:112,0 -DA:116,0 -DA:120,0 -DA:175,0 -LF:43 -LH:0 -BRDA:40,0,0,0 -BRDA:40,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:46,2,0,0 -BRDA:46,2,1,0 -BRDA:63,3,0,0 -BRDA:63,3,1,0 -BRDA:70,4,0,0 -BRDA:70,4,1,0 -BRDA:81,5,0,0 -BRDA:81,5,1,0 -BRDA:88,6,0,0 -BRDA:88,6,1,0 -BRDA:98,7,0,0 -BRDA:98,7,1,0 -BRDA:108,8,0,0 -BRDA:108,8,1,0 -BRDA:129,9,0,0 -BRDA:129,9,1,0 -BRDA:144,10,0,0 -BRDA:144,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/ThemeVariableManagementEntry.tsx -FN:25,(anonymous_0) -FN:32,(anonymous_1) -FN:36,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:25,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:40,0 -LF:6 -LH:0 -BRDA:85,0,0,0 -BRDA:85,0,1,0 -BRDA:85,0,2,0 -BRDA:88,1,0,0 -BRDA:88,1,1,0 -BRDA:88,1,2,0 -BRDA:94,2,0,0 -BRDA:94,2,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/TokenSetThemeItem.tsx -FN:24,(anonymous_0) -FN:27,(anonymous_1) -FN:32,(anonymous_2) -FN:41,(anonymous_3) -FN:56,(anonymous_4) -FN:88,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:17,0 -DA:18,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:51,0 -DA:57,0 -DA:90,0 -LF:18 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRDA:33,1,0,0 -BRDA:33,1,1,0 -BRDA:42,2,0,0 -BRDA:42,2,1,0 -BRDA:45,3,0,0 -BRDA:45,3,1,0 -BRDA:54,4,0,0 -BRDA:54,4,1,0 -BRDA:70,5,0,0 -BRDA:70,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/app/components/ManageThemesModal/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Modal/Modal.tsx -FN:79,Modal -FN:97,(anonymous_1) -FN:104,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,Modal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:29,0 -DA:46,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:103,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:114,0 -LF:10 -LH:0 -BRDA:88,0,0,0 -BRDA:89,1,0,0 -BRDA:90,2,0,0 -BRDA:91,3,0,0 -BRDA:92,4,0,0 -BRDA:98,5,0,0 -BRDA:98,5,1,0 -BRDA:105,6,0,0 -BRDA:105,6,1,0 -BRDA:106,7,0,0 -BRDA:106,7,1,0 -BRDA:133,8,0,0 -BRDA:133,8,1,0 -BRDA:133,8,2,0 -BRDA:133,8,3,0 -BRDA:133,8,4,0 -BRDA:136,9,0,0 -BRDA:136,9,1,0 -BRDA:151,10,0,0 -BRDA:151,10,1,0 -BRDA:167,11,0,0 -BRDA:167,11,1,0 -BRDA:168,12,0,0 -BRDA:168,12,1,0 -BRDA:176,13,0,0 -BRDA:176,13,1,0 -BRDA:178,14,0,0 -BRDA:178,14,1,0 -BRDA:193,15,0,0 -BRDA:193,15,1,0 -BRDA:194,16,0,0 -BRDA:194,16,1,0 -BRDA:194,17,0,0 -BRDA:194,17,1,0 -BRDA:200,18,0,0 -BRDA:200,18,1,0 -BRF:36 -BRH:0 -end_of_record -TN: -SF:src/app/components/Modal/ModalFooter.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Modal/ModalHeader.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/Modal/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/MoreButton/MoreButton.tsx -FN:46,(anonymous_0) -FN:62,(anonymous_1) -FN:69,(anonymous_2) -FN:69,(anonymous_3) -FN:71,(anonymous_4) -FN:75,(anonymous_5) -FN:79,(anonymous_6) -FN:88,(anonymous_7) -FN:94,(anonymous_8) -FN:102,(anonymous_9) -FN:104,(anonymous_10) -FN:115,(anonymous_11) -FN:121,(anonymous_12) -FN:130,(anonymous_13) -FN:148,(anonymous_14) -FN:158,(anonymous_15) -FN:187,(anonymous_16) -FN:205,(anonymous_17) -FNF:18 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -DA:30,0 -DA:46,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:66,0 -DA:69,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:76,0 -DA:79,0 -DA:80,0 -DA:88,0 -DA:89,0 -DA:93,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:109,0 -DA:112,0 -DA:114,0 -DA:116,0 -DA:117,0 -DA:120,0 -DA:121,0 -DA:124,0 -DA:129,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:135,0 -DA:141,0 -DA:148,0 -DA:159,0 -DA:188,0 -DA:205,0 -LF:49 -LH:0 -BRDA:59,0,0,0 -BRDA:59,0,1,0 -BRDA:105,1,0,0 -BRDA:105,1,1,0 -BRDA:115,2,0,0 -BRDA:118,3,0,0 -BRDA:118,3,1,0 -BRDA:120,4,0,0 -BRDA:120,4,1,0 -BRDA:132,5,0,0 -BRDA:132,5,1,0 -BRDA:132,6,0,0 -BRDA:132,6,1,0 -BRDA:132,6,2,0 -BRDA:132,6,3,0 -BRDA:132,6,4,0 -BRDA:148,7,0,0 -BRDA:148,7,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/MoreButton/MoreButtonProperty.tsx -FN:17,(anonymous_0) -FN:21,(anonymous_1) -FN:24,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:17,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:29,0 -LF:8 -LH:0 -BRDA:18,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/app/components/MoreButton/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/NavbarUndoButton/NavbarUndoButton.tsx -FN:26,(anonymous_0) -FN:30,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:10,0 -DA:15,0 -DA:20,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:34,0 -DA:35,0 -DA:44,0 -LF:11 -LH:0 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRDA:34,1,0,0 -BRDA:34,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/NavbarUndoButton/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/PresetProvider/DefaultPreset.tsx -FN:13,DefaultPreset -FN:15,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,DefaultPreset -FNDA:0,(anonymous_1) -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:21,0 -LF:6 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/PresetProvider/FilePreset.tsx -FN:33,FilePreset -FN:40,(anonymous_1) -FN:45,(anonymous_2) -FN:50,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,FilePreset -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:57,0 -LF:16 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ResolvingLoader/ResolvingLoader.tsx -FN:20,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:6,0 -DA:12,0 -DA:20,0 -DA:21,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ResolvingLoader/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/SecondScreen/index.tsx -FN:43,SecondScreen -FN:49,(anonymous_1) -FN:53,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,SecondScreen -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:17,0 -DA:32,0 -DA:38,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:65,0 -DA:68,0 -LF:18 -LH:0 -BRDA:60,0,0,0 -BRDA:60,0,1,0 -BRDA:62,1,0,0 -BRDA:62,1,1,0 -BRDA:62,2,0,0 -BRDA:62,2,1,0 -BRDA:84,3,0,0 -BRDA:84,3,1,0 -BRDA:110,4,0,0 -BRDA:110,4,1,0 -BRDA:110,5,0,0 -BRDA:110,5,1,0 -BRDA:111,6,0,0 -BRDA:111,6,1,0 -BRDA:111,7,0,0 -BRDA:111,7,1,0 -BRDA:114,8,0,0 -BRDA:114,8,1,0 -BRDA:114,9,0,0 -BRDA:114,9,1,0 -BRDA:119,10,0,0 -BRDA:119,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/app/components/SecondScreenSync/index.tsx -FN:14,SecondScreenSync -FN:24,(anonymous_1) -FN:38,(anonymous_2) -FN:44,(anonymous_3) -FN:51,(anonymous_4) -FN:59,(anonymous_5) -FN:60,updateRemoteData -FN:83,(anonymous_7) -FN:94,(anonymous_8) -FN:111,(anonymous_9) -FN:113,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,SecondScreenSync -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,updateRemoteData -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:39,0 -DA:40,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:59,0 -DA:61,0 -DA:70,0 -DA:71,0 -DA:78,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:108,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:118,0 -LF:41 -LH:0 -BRDA:27,0,0,0 -BRDA:27,0,1,0 -BRDA:27,1,0,0 -BRDA:27,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:39,3,0,0 -BRDA:39,3,1,0 -BRDA:45,4,0,0 -BRDA:45,4,1,0 -BRDA:52,5,0,0 -BRDA:52,5,1,0 -BRDA:53,6,0,0 -BRDA:53,6,1,0 -BRDA:70,7,0,0 -BRDA:70,7,1,0 -BRDA:70,8,0,0 -BRDA:70,8,1,0 -BRDA:85,9,0,0 -BRDA:85,9,1,0 -BRDA:85,10,0,0 -BRDA:85,10,1,0 -BRDA:95,11,0,0 -BRDA:95,11,1,0 -BRDA:95,12,0,0 -BRDA:95,12,1,0 -BRDA:99,13,0,0 -BRDA:99,13,1,0 -BRDA:114,14,0,0 -BRDA:114,14,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/app/components/Settings/Settings.tsx -FN:28,Settings -FN:44,(anonymous_1) -FN:73,(anonymous_2) -FN:74,getSessionId -FN:86,(anonymous_4) -FN:93,(anonymous_5) -FN:97,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,Settings -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,getSessionId -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:29,0 -DA:31,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:61,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:73,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:82,0 -DA:85,0 -DA:87,0 -DA:88,0 -DA:93,0 -DA:94,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:105,0 -LF:40 -LH:0 -BRDA:45,0,0,0 -BRDA:45,0,1,0 -BRDA:45,1,0,0 -BRDA:45,1,1,0 -BRDA:50,2,0,0 -BRDA:50,2,1,0 -BRDA:54,3,0,0 -BRDA:54,3,1,0 -BRDA:59,4,0,0 -BRDA:59,4,1,0 -BRDA:77,5,0,0 -BRDA:77,5,1,0 -BRDA:110,6,0,0 -BRDA:110,6,1,0 -BRDA:141,7,0,0 -BRDA:141,7,1,0 -BRDA:200,8,0,0 -BRDA:200,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/Settings/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/ADOForm.tsx -FN:24,ADOForm -FN:30,(anonymous_1) -FN:31,(anonymous_2) -FN:35,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,ADOForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:34,0 -DA:36,0 -DA:38,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:54,0 -DA:60,0 -LF:12 -LH:0 -BRDA:49,0,0,0 -BRDA:49,0,1,0 -BRDA:52,1,0,0 -BRDA:52,1,1,0 -BRDA:74,2,0,0 -BRDA:74,2,1,0 -BRDA:85,3,0,0 -BRDA:85,3,1,0 -BRDA:90,4,0,0 -BRDA:90,4,1,0 -BRDA:92,5,0,0 -BRDA:92,5,1,0 -BRDA:98,6,0,0 -BRDA:98,6,1,0 -BRDA:108,7,0,0 -BRDA:108,7,1,0 -BRDA:112,8,0,0 -BRDA:112,8,1,0 -BRDA:117,9,0,0 -BRDA:117,9,1,0 -BRDA:132,10,0,0 -BRDA:132,10,1,0 -BRDA:136,11,0,0 -BRDA:136,11,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/BitbucketForm.tsx -FN:24,BitbucketForm -FN:30,(anonymous_1) -FN:31,(anonymous_2) -FN:35,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,BitbucketForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:34,0 -DA:36,0 -DA:38,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:55,0 -DA:61,0 -LF:12 -LH:0 -BRDA:50,0,0,0 -BRDA:50,0,1,0 -BRDA:53,1,0,0 -BRDA:53,1,1,0 -BRDA:76,2,0,0 -BRDA:76,2,1,0 -BRDA:82,3,0,0 -BRDA:82,3,1,0 -BRDA:93,4,0,0 -BRDA:93,4,1,0 -BRDA:98,5,0,0 -BRDA:98,5,1,0 -BRDA:104,6,0,0 -BRDA:104,6,1,0 -BRDA:111,7,0,0 -BRDA:111,7,1,0 -BRDA:115,8,0,0 -BRDA:115,8,1,0 -BRDA:120,9,0,0 -BRDA:120,9,1,0 -BRDA:136,10,0,0 -BRDA:136,10,1,0 -BRDA:140,11,0,0 -BRDA:140,11,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/GenericVersioned.tsx -FN:52,GenericVersionedForm -FN:63,(anonymous_1) -FN:64,(anonymous_2) -FN:68,(anonymous_3) -FN:87,(anonymous_4) -FN:96,(anonymous_5) -FN:108,(anonymous_6) -FN:113,(anonymous_7) -FN:124,(anonymous_8) -FN:142,(anonymous_9) -FN:149,(anonymous_10) -FN:154,(anonymous_11) -FN:194,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,GenericVersionedForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -DA:38,0 -DA:60,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:77,0 -DA:80,0 -DA:86,0 -DA:87,0 -DA:96,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:103,0 -DA:107,0 -DA:108,0 -DA:112,0 -DA:114,0 -DA:123,0 -DA:126,0 -DA:127,0 -DA:129,0 -DA:132,0 -DA:135,0 -DA:140,0 -DA:142,0 -DA:143,0 -DA:148,0 -DA:150,0 -DA:152,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:160,0 -DA:195,0 -LF:41 -LH:0 -BRDA:71,0,0,0 -BRDA:71,0,1,0 -BRDA:75,1,0,0 -BRDA:75,1,1,0 -BRDA:98,2,0,0 -BRDA:98,2,1,0 -BRDA:108,3,0,0 -BRDA:108,3,1,0 -BRDA:171,4,0,0 -BRDA:171,4,1,0 -BRDA:175,5,0,0 -BRDA:175,5,1,0 -BRDA:206,6,0,0 -BRDA:206,6,1,0 -BRDA:212,7,0,0 -BRDA:212,7,1,0 -BRDA:232,8,0,0 -BRDA:232,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/GitForm.tsx -FN:28,GitForm -FN:33,(anonymous_1) -FN:34,(anonymous_2) -FN:40,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,GitForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:31,0 -DA:33,0 -DA:34,0 -DA:37,0 -DA:39,0 -DA:41,0 -DA:43,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:60,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:70,0 -LF:15 -LH:0 -BRDA:55,0,0,0 -BRDA:55,0,1,0 -BRDA:58,1,0,0 -BRDA:58,1,1,0 -BRDA:67,2,0,0 -BRDA:67,2,1,0 -BRDA:68,3,0,0 -BRDA:68,3,1,0 -BRDA:89,4,0,0 -BRDA:89,4,1,0 -BRDA:101,5,0,0 -BRDA:101,5,1,0 -BRDA:103,6,0,0 -BRDA:103,6,1,0 -BRDA:109,7,0,0 -BRDA:109,7,1,0 -BRDA:117,8,0,0 -BRDA:117,8,1,0 -BRDA:121,9,0,0 -BRDA:121,9,1,0 -BRDA:129,10,0,0 -BRDA:129,10,1,0 -BRDA:142,11,0,0 -BRDA:142,11,1,0 -BRDA:154,12,0,0 -BRDA:154,12,1,0 -BRDA:158,13,0,0 -BRDA:158,13,1,0 -BRF:28 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/JSONBinForm.tsx -FN:25,JSONBinForm -FN:37,(anonymous_1) -FN:38,(anonymous_2) -FN:42,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,JSONBinForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:43,0 -DA:45,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:59,0 -DA:65,0 -LF:12 -LH:0 -BRDA:26,0,0,0 -BRDA:53,1,0,0 -BRDA:53,1,1,0 -BRDA:57,2,0,0 -BRDA:57,2,1,0 -BRDA:80,3,0,0 -BRDA:80,3,1,0 -BRDA:91,4,0,0 -BRDA:91,4,1,0 -BRDA:93,5,0,0 -BRDA:93,5,1,0 -BRDA:99,6,0,0 -BRDA:99,6,1,0 -BRDA:106,7,0,0 -BRDA:106,7,1,0 -BRDA:107,8,0,0 -BRDA:107,8,1,0 -BRDA:115,9,0,0 -BRDA:115,9,1,0 -BRDA:119,10,0,0 -BRDA:119,10,1,0 -BRF:21 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/SupernovaForm.tsx -FN:23,SupernovaForm -FN:29,(anonymous_1) -FN:30,(anonymous_2) -FN:36,(anonymous_3) -FN:60,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,SupernovaForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:33,0 -DA:35,0 -DA:37,0 -DA:39,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:53,0 -DA:59,0 -DA:62,0 -DA:67,0 -LF:15 -LH:0 -BRDA:48,0,0,0 -BRDA:48,0,1,0 -BRDA:51,1,0,0 -BRDA:51,1,1,0 -BRDA:78,2,0,0 -BRDA:78,2,1,0 -BRDA:86,3,0,0 -BRDA:86,3,1,0 -BRDA:90,4,0,0 -BRDA:90,4,1,0 -BRDA:96,5,0,0 -BRDA:96,5,1,0 -BRDA:106,6,0,0 -BRDA:106,6,1,0 -BRDA:114,7,0,0 -BRDA:114,7,1,0 -BRDA:123,8,0,0 -BRDA:123,8,1,0 -BRDA:123,8,2,0 -BRDA:123,8,3,0 -BRDA:128,9,0,0 -BRDA:128,9,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/TokensStudioForm.tsx -FN:45,TokensStudioForm -FN:55,(anonymous_1) -FN:56,(anonymous_2) -FN:60,(anonymous_3) -FN:83,(anonymous_4) -FN:89,(anonymous_5) -FN:93,(anonymous_6) -FN:112,(anonymous_7) -FN:119,(anonymous_8) -FN:119,(anonymous_9) -FN:127,(anonymous_10) -FN:133,(anonymous_11) -FN:135,(anonymous_12) -FN:137,(anonymous_13) -FN:143,(anonymous_14) -FN:145,(anonymous_15) -FN:148,(anonymous_16) -FN:227,(anonymous_17) -FN:245,(anonymous_18) -FNF:19 -FNH:0 -FNDA:0,TokensStudioForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -DA:30,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:59,0 -DA:61,0 -DA:63,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:77,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:89,0 -DA:90,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:100,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:118,0 -DA:119,0 -DA:126,0 -DA:128,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:143,0 -DA:145,0 -DA:147,0 -DA:149,0 -DA:154,0 -DA:228,0 -DA:246,0 -LF:48 -LH:0 -BRDA:72,0,0,0 -BRDA:72,0,1,0 -BRDA:75,1,0,0 -BRDA:75,1,1,0 -BRDA:84,2,0,0 -BRDA:84,2,1,0 -BRDA:96,3,0,0 -BRDA:96,3,1,0 -BRDA:103,4,0,0 -BRDA:103,4,1,0 -BRDA:103,5,0,0 -BRDA:103,5,1,0 -BRDA:113,6,0,0 -BRDA:113,6,1,0 -BRDA:134,7,0,0 -BRDA:134,7,1,0 -BRDA:136,8,0,0 -BRDA:136,8,1,0 -BRDA:154,9,0,0 -BRDA:154,9,1,0 -BRDA:196,10,0,0 -BRDA:196,10,1,0 -BRDA:202,11,0,0 -BRDA:202,11,1,0 -BRDA:208,12,0,0 -BRDA:208,12,1,0 -BRDA:214,13,0,0 -BRDA:214,13,1,0 -BRDA:218,14,0,0 -BRDA:218,14,1,0 -BRDA:220,15,0,0 -BRDA:220,15,1,0 -BRDA:224,16,0,0 -BRDA:224,16,1,0 -BRDA:225,17,0,0 -BRDA:225,17,1,0 -BRDA:238,18,0,0 -BRDA:238,18,1,0 -BRDA:242,19,0,0 -BRDA:242,19,1,0 -BRDA:243,20,0,0 -BRDA:243,20,1,0 -BRDA:259,21,0,0 -BRDA:259,21,1,0 -BRDA:263,22,0,0 -BRDA:263,22,1,0 -BRF:46 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/URLForm.tsx -FN:24,URLForm -FN:31,(anonymous_1) -FN:32,(anonymous_2) -FN:36,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,URLForm -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:27,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:37,0 -DA:39,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:53,0 -DA:59,0 -LF:12 -LH:0 -BRDA:47,0,0,0 -BRDA:47,0,1,0 -BRDA:51,1,0,0 -BRDA:51,1,1,0 -BRDA:74,2,0,0 -BRDA:74,2,1,0 -BRDA:83,3,0,0 -BRDA:83,3,1,0 -BRDA:90,4,0,0 -BRDA:90,4,1,0 -BRDA:92,5,0,0 -BRDA:92,5,1,0 -BRDA:98,6,0,0 -BRDA:98,6,1,0 -BRDA:108,7,0,0 -BRDA:108,7,1,0 -BRDA:112,8,0,0 -BRDA:112,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/components/StorageItemForm/types.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDragger/DragGrabber.tsx -FN:12,DragGrabber -FN:14,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,DragGrabber -FNDA:0,(anonymous_1) -DA:13,0 -DA:15,0 -DA:20,0 -LF:3 -LH:0 -BRDA:12,0,0,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDragger/DragItem.tsx -FN:15,DragItem -FN:20,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,DragItem -FNDA:0,(anonymous_1) -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -LF:6 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDragger/StyledBeforeFlex.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDragger/StyledCheckbox.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDragger/StyledDragButton.tsx -FNF:0 -FNH:0 -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/StyledDragger/StyledGrabber.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TabButton/TabButton.tsx -FN:59,TabButton -FN:62,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,TabButton -FNDA:0,(anonymous_1) -DA:21,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:67,0 -LF:5 -LH:0 -BRDA:78,0,0,0 -BRDA:78,0,1,0 -BRDA:80,1,0,0 -BRDA:80,1,1,0 -BRDA:81,2,0,0 -BRDA:81,2,1,0 -BRDA:91,3,0,0 -BRDA:91,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/components/TabButton/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/ThemeSelector/ThemeSelector.tsx -FN:21,(anonymous_0) -FN:27,(anonymous_1) -FN:27,(anonymous_2) -FN:29,(anonymous_3) -FN:33,(anonymous_4) -FN:34,(anonymous_5) -FN:49,(anonymous_6) -FN:53,(anonymous_7) -FN:57,(anonymous_8) -FN:65,(anonymous_9) -FN:65,(anonymous_10) -FN:66,(anonymous_11) -FN:84,(anonymous_12) -FN:87,(anonymous_13) -FN:88,(anonymous_14) -FN:88,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:84,0 -DA:85,0 -DA:88,0 -DA:89,0 -DA:104,0 -LF:37 -LH:0 -BRDA:27,0,0,0 -BRDA:27,0,1,0 -BRDA:34,1,0,0 -BRDA:34,1,1,0 -BRDA:36,2,0,0 -BRDA:36,2,1,0 -BRDA:36,3,0,0 -BRDA:36,3,1,0 -BRDA:41,4,0,0 -BRDA:41,4,1,0 -BRDA:54,5,0,0 -BRDA:54,5,1,0 -BRDA:55,6,0,0 -BRDA:55,6,1,0 -BRDA:56,7,0,0 -BRDA:56,7,1,0 -BRDA:58,8,0,0 -BRDA:58,8,1,0 -BRDA:88,9,0,0 -BRDA:88,9,1,0 -BRDA:90,10,0,0 -BRDA:90,10,1,0 -BRDA:91,11,0,0 -BRDA:91,11,1,0 -BRDA:92,12,0,0 -BRDA:92,12,1,0 -BRDA:135,13,0,0 -BRDA:135,13,1,0 -BRDA:141,14,0,0 -BRDA:141,14,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/app/components/ThemeSelector/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenButton/DragOverItem.tsx -FN:14,(anonymous_0) -FN:21,(anonymous_1) -FN:25,(anonymous_2) -FN:29,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:14,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:47,0 -DA:50,0 -LF:16 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRDA:26,1,0,0 -BRDA:26,1,1,0 -BRDA:30,2,0,0 -BRDA:30,2,1,0 -BRDA:31,3,0,0 -BRDA:31,3,1,0 -BRDA:31,3,2,0 -BRDA:31,3,3,0 -BRDA:31,3,4,0 -BRDA:42,4,0,0 -BRDA:42,4,1,0 -BRDA:53,5,0,0 -BRDA:53,5,1,0 -BRDA:53,5,2,0 -BRDA:54,6,0,0 -BRDA:54,6,1,0 -BRDA:54,6,2,0 -BRF:19 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenButton/DraggableWrapper.tsx -FN:15,(anonymous_0) -FN:22,(anonymous_1) -FN:26,(anonymous_2) -FN:27,(anonymous_3) -FN:28,(anonymous_4) -FN:30,(anonymous_5) -FN:35,(anonymous_6) -FN:40,(anonymous_7) -FN:46,(anonymous_8) -FN:55,(anonymous_9) -FN:72,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:15,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:67,0 -DA:72,0 -DA:92,0 -LF:36 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:54,1,0,0 -BRDA:54,1,1,0 -BRDA:54,2,0,0 -BRDA:54,2,1,0 -BRDA:54,2,2,0 -BRDA:56,3,0,0 -BRDA:56,3,1,0 -BRDA:57,4,0,0 -BRDA:57,4,1,0 -BRDA:59,5,0,0 -BRDA:59,5,1,0 -BRDA:59,6,0,0 -BRDA:59,6,1,0 -BRDA:60,7,0,0 -BRDA:60,7,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenButton/StyledTokenButton.tsx -FNF:0 -FNH:0 -DA:4,0 -DA:16,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenButton/TokenButton.tsx -FN:22,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:22,0 -DA:31,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenButton/TokenButtonContent.tsx -FN:19,TokenButtonContent -FN:27,(anonymous_1) -FN:31,(anonymous_2) -FN:43,(anonymous_3) -FN:48,(anonymous_4) -FN:53,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,TokenButtonContent -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:39,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:62,0 -DA:67,0 -DA:72,0 -LF:25 -LH:0 -BRDA:33,0,0,0 -BRDA:33,0,1,0 -BRDA:35,1,0,0 -BRDA:35,1,1,0 -BRDA:45,2,0,0 -BRDA:45,2,1,0 -BRDA:54,3,0,0 -BRDA:54,3,1,0 -BRDA:54,3,2,0 -BRDA:74,4,0,0 -BRDA:74,4,1,0 -BRDA:76,5,0,0 -BRDA:76,5,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenButton/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenFlowButton/index.tsx -FN:17,TokenFlowButton -FN:28,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,TokenFlowButton -FNDA:0,(anonymous_1) -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:53,0 -DA:56,0 -LF:20 -LH:0 -BRDA:46,0,0,0 -BRDA:46,0,1,0 -BRDA:57,1,0,0 -BRDA:57,1,1,0 -BRDA:57,2,0,0 -BRDA:57,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenGroup/StyledTokenGroup.tsx -FNF:0 -FNH:0 -DA:3,0 -DA:20,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenGroup/StyledTokenGroupHeading.tsx -FNF:0 -FNH:0 -DA:4,0 -DA:11,0 -DA:22,0 -DA:49,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenGroup/TokenGroup.tsx -FN:22,(anonymous_0) -FN:28,(anonymous_1) -FN:29,(anonymous_2) -FN:30,(anonymous_3) -FN:44,(anonymous_4) -FN:45,(anonymous_5) -FN:47,(anonymous_6) -FN:49,(anonymous_7) -FN:63,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:22,0 -DA:25,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:49,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:64,0 -LF:19 -LH:0 -BRDA:23,0,0,0 -BRDA:32,1,0,0 -BRDA:32,1,1,0 -BRDA:47,2,0,0 -BRDA:47,2,1,0 -BRDA:47,2,2,0 -BRDA:57,3,0,0 -BRDA:57,3,1,0 -BRDA:62,4,0,0 -BRDA:62,4,1,0 -BRDA:65,5,0,0 -BRDA:65,5,1,0 -BRDA:65,6,0,0 -BRDA:65,6,1,0 -BRDA:69,7,0,0 -BRDA:69,7,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenGroup/TokenGroupHeading.tsx -FN:29,TokenGroupHeading -FN:47,(anonymous_1) -FN:51,(anonymous_2) -FN:56,(anonymous_3) -FN:65,(anonymous_4) -FN:69,(anonymous_5) -FN:73,(anonymous_6) -FN:77,(anonymous_7) -FN:82,(anonymous_8) -FN:83,(anonymous_9) -FN:86,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,TokenGroupHeading -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:73,0 -DA:74,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:88,0 -LF:36 -LH:0 -BRDA:45,0,0,0 -BRDA:45,0,1,0 -BRDA:45,0,2,0 -BRDA:83,1,0,0 -BRDA:83,1,1,0 -BRDA:98,2,0,0 -BRDA:98,2,1,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenGroup/index.tsx -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetItem/StyledWrapper.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetItem/TokenSetItem.tsx -FN:39,TokenSetItem -FN:56,(anonymous_1) -FN:60,(anonymous_2) -FN:64,(anonymous_3) -FN:68,(anonymous_4) -FN:72,(anonymous_5) -FN:76,(anonymous_6) -FN:80,(anonymous_7) -FN:85,(anonymous_8) -FN:91,(anonymous_9) -FN:102,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,TokenSetItem -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:64,0 -DA:65,0 -DA:68,0 -DA:69,0 -DA:72,0 -DA:73,0 -DA:76,0 -DA:77,0 -DA:80,0 -DA:81,0 -DA:84,0 -DA:86,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:95,0 -DA:96,0 -DA:98,0 -DA:101,0 -DA:103,0 -DA:104,0 -DA:106,0 -DA:111,0 -LF:28 -LH:0 -BRDA:42,0,0,0 -BRDA:46,1,0,0 -BRDA:48,2,0,0 -BRDA:86,3,0,0 -BRDA:86,3,1,0 -BRDA:92,4,0,0 -BRDA:92,4,1,0 -BRDA:95,5,0,0 -BRDA:95,5,1,0 -BRDA:103,6,0,0 -BRDA:103,6,1,0 -BRDA:114,7,0,0 -BRDA:114,7,1,0 -BRDA:162,8,0,0 -BRDA:162,8,1,0 -BRDA:162,8,2,0 -BRDA:174,9,0,0 -BRDA:174,9,1,0 -BRDA:176,10,0,0 -BRDA:176,10,1,0 -BRDA:177,11,0,0 -BRDA:177,11,1,0 -BRDA:196,12,0,0 -BRDA:196,12,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetItem/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetTree/StyledFolderButton.tsx -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetTree/StyledFolderButtonChevronBox.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetTree/StyledItem.tsx -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenSetTree/TokenSetTreeContent.tsx -FN:33,TokenSetTreeContent -FN:35,(anonymous_1) -FN:42,(anonymous_2) -FN:43,(anonymous_3) -FN:46,(anonymous_4) -FN:47,(anonymous_5) -FN:49,(anonymous_6) -FN:51,(anonymous_7) -FN:53,(anonymous_8) -FN:59,(anonymous_9) -FNF:10 -FNH:0 -FNDA:0,TokenSetTreeContent -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -DA:35,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:51,0 -DA:53,0 -DA:57,0 -DA:60,0 -LF:12 -LH:0 -BRDA:35,0,0,0 -BRDA:37,1,0,0 -BRDA:43,2,0,0 -BRDA:43,2,1,0 -BRDA:49,3,0,0 -BRDA:49,3,1,0 -BRDA:49,3,2,0 -BRDA:63,4,0,0 -BRDA:63,4,1,0 -BRDA:67,5,0,0 -BRDA:67,5,1,0 -BRDA:69,6,0,0 -BRDA:69,6,1,0 -BRDA:77,7,0,0 -BRDA:77,7,1,0 -BRF:15 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/AliasBadge.tsx -FN:17,AliasBadge -FNF:1 -FNH:0 -FNDA:0,AliasBadge -DA:4,0 -DA:18,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/NotFoundBadge.tsx -FN:9,NotFoundBadge -FNF:1 -FNH:0 -FNDA:0,NotFoundBadge -DA:5,0 -DA:10,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/SingleBorderValueDisplay.tsx -FN:11,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:11,0 -DA:12,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/SingleColorValueDisplay.tsx -FN:14,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:14,0 -DA:15,0 -LF:2 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/SingleCompositionValueDisplay.tsx -FN:12,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:12,0 -DA:13,0 -DA:14,0 -LF:3 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:13,1,2,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRDA:18,4,0,0 -BRDA:18,4,1,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/SingleShadowValueDisplay.tsx -FN:12,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:12,0 -DA:13,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/SingleTypographyValueDisplay.tsx -FN:11,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:11,0 -DA:12,0 -LF:2 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/TokenTooltip.tsx -FN:12,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:12,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:23,0 -LF:5 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/TokenTooltipContent.tsx -FN:13,(anonymous_0) -FN:16,(anonymous_1) -FN:17,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:13,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:20,0 -LF:5 -LH:0 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRDA:40,1,0,0 -BRDA:40,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/TokenTooltipContentValue.tsx -FN:27,(anonymous_0) -FN:31,(anonymous_1) -FN:55,(anonymous_2) -FN:77,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:38,0 -DA:39,0 -DA:47,0 -DA:53,0 -DA:56,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:78,0 -DA:88,0 -DA:104,0 -DA:105,0 -DA:113,0 -DA:114,0 -DA:123,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:131,0 -LF:24 -LH:0 -BRDA:31,0,0,0 -BRDA:31,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRDA:47,2,0,0 -BRDA:47,2,1,0 -BRDA:48,3,0,0 -BRDA:48,3,1,0 -BRDA:48,3,2,0 -BRDA:48,3,3,0 -BRDA:48,3,4,0 -BRDA:61,4,0,0 -BRDA:61,4,1,0 -BRDA:68,5,0,0 -BRDA:68,5,1,0 -BRDA:69,6,0,0 -BRDA:69,6,1,0 -BRDA:72,7,0,0 -BRDA:72,7,1,0 -BRDA:80,8,0,0 -BRDA:80,8,1,0 -BRDA:90,9,0,0 -BRDA:90,9,1,0 -BRDA:104,10,0,0 -BRDA:104,10,1,0 -BRDA:113,11,0,0 -BRDA:113,11,1,0 -BRDA:123,12,0,0 -BRDA:123,12,1,0 -BRDA:123,13,0,0 -BRDA:123,13,1,0 -BRDA:127,14,0,0 -BRDA:127,14,1,0 -BRDA:127,15,0,0 -BRDA:127,15,1,0 -BRDA:127,15,2,0 -BRF:36 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/TooltipProperty.tsx -FN:13,TooltipProperty -FNF:1 -FNH:0 -FNDA:0,TooltipProperty -DA:14,0 -LF:1 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:25,2,0,0 -BRDA:25,2,1,0 -BRDA:25,2,2,0 -BRDA:28,3,0,0 -BRDA:28,3,1,0 -BRDA:35,4,0,0 -BRDA:35,4,1,0 -BRDA:35,5,0,0 -BRDA:35,5,1,0 -BRDA:35,5,2,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/components/TokenTooltip/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/inspector/NodeIcon.tsx -FN:20,NodeIcon -FNF:1 -FNH:0 -FNDA:0,NodeIcon -DA:22,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:50,0 -DA:51,0 -LF:20 -LH:0 -BRDA:20,0,0,0 -BRDA:20,1,0,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:22,2,2,0 -BRDA:22,2,3,0 -BRDA:22,2,4,0 -BRDA:22,2,5,0 -BRDA:22,2,6,0 -BRDA:22,2,7,0 -BRDA:22,2,8,0 -BRDA:50,3,0,0 -BRDA:50,3,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/app/components/inspector/TokenNode.tsx -FN:8,TokenNode -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,TokenNode -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:13,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/components/inspector/TokenNodes.tsx -FN:16,TokenNodes -FN:17,(anonymous_1) -FN:18,(anonymous_2) -FN:36,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,TokenNodes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:23,0 -DA:37,0 -DA:42,0 -LF:9 -LH:0 -BRDA:33,0,0,0 -BRDA:33,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/BulkRemapModal.tsx -FN:16,BulkRemapModal -FN:22,(anonymous_1) -FN:26,(anonymous_2) -FN:32,(anonymous_3) -FN:36,(anonymous_4) -FN:40,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,BulkRemapModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:44,0 -LF:17 -LH:0 -BRDA:27,0,0,0 -BRDA:27,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/CreateBranchModal.tsx -FN:26,CreateBranchModal -FN:45,(anonymous_1) -FN:46,(anonymous_2) -FN:51,(anonymous_3) -FN:53,(anonymous_4) -FN:57,(anonymous_5) -FN:101,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,CreateBranchModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:31,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:79,0 -DA:82,0 -DA:83,0 -DA:101,0 -DA:103,0 -LF:30 -LH:0 -BRDA:64,0,0,0 -BRDA:64,0,1,0 -BRDA:65,1,0,0 -BRDA:65,1,1,0 -BRDA:69,2,0,0 -BRDA:69,2,1,0 -BRDA:71,3,0,0 -BRDA:71,3,1,0 -BRDA:72,4,0,0 -BRDA:72,4,1,0 -BRDA:73,5,0,0 -BRDA:73,5,1,0 -BRDA:82,6,0,0 -BRDA:82,6,1,0 -BRDA:104,7,0,0 -BRDA:104,7,1,0 -BRDA:120,8,0,0 -BRDA:120,8,1,0 -BRDA:130,9,0,0 -BRDA:130,9,1,0 -BRDA:134,10,0,0 -BRDA:134,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/CreateStorageItemModal.tsx -FN:17,CreateStorageItemModal -FN:24,(anonymous_1) -FN:44,(anonymous_2) -FN:52,(anonymous_3) -FN:66,(anonymous_4) -FN:73,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,CreateStorageItemModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:37,0 -DA:40,0 -DA:42,0 -DA:44,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:65,0 -DA:67,0 -DA:72,0 -DA:74,0 -DA:79,0 -LF:22 -LH:0 -BRDA:26,0,0,0 -BRDA:26,0,1,0 -BRDA:55,1,0,0 -BRDA:55,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/DuplicateTokenGroupModal.tsx -FN:25,DuplicateTokenGroupModal -FN:34,(anonymous_1) -FN:38,(anonymous_2) -FN:48,(anonymous_3) -FN:106,(anonymous_4) -FN:108,(anonymous_5) -FN:116,(anonymous_6) -FN:129,(anonymous_7) -FN:131,(anonymous_8) -FN:139,(anonymous_9) -FNF:10 -FNH:0 -FNDA:0,DuplicateTokenGroupModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:53,0 -DA:57,0 -DA:58,0 -DA:62,0 -DA:65,0 -DA:67,0 -DA:106,0 -DA:109,0 -DA:117,0 -DA:129,0 -DA:132,0 -DA:140,0 -LF:28 -LH:0 -BRDA:43,0,0,0 -BRDA:43,0,1,0 -BRDA:49,1,0,0 -BRDA:49,1,1,0 -BRDA:52,2,0,0 -BRDA:52,2,1,0 -BRDA:52,3,0,0 -BRDA:52,3,1,0 -BRDA:57,4,0,0 -BRDA:57,4,1,0 -BRDA:97,5,0,0 -BRDA:97,5,1,0 -BRDA:97,5,2,0 -BRDA:103,6,0,0 -BRDA:103,6,1,0 -BRDA:129,7,0,0 -BRDA:129,7,1,0 -BRDA:131,8,0,0 -BRDA:131,8,1,0 -BRF:19 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/EditStorageItemModal.tsx -FN:17,EditStorageItemModal -FN:26,(anonymous_1) -FN:30,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,EditStorageItemModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:40,0 -LF:14 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/ExportModal.tsx -FN:12,ExportModal -FN:15,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,ExportModal -FNDA:0,(anonymous_1) -DA:13,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:21,0 -LF:5 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:31,1,0,0 -BRDA:31,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/PresetModal.tsx -FN:12,PresetModal -FN:15,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,PresetModal -FNDA:0,(anonymous_1) -DA:13,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:21,0 -LF:5 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:32,1,0,0 -BRDA:32,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/RenameTokenGroupModal.tsx -FN:24,RenameTokenGroupModal -FN:31,(anonymous_1) -FN:77,(anonymous_2) -FN:96,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,RenameTokenGroupModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:27,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:39,0 -DA:41,0 -DA:78,0 -DA:97,0 -LF:11 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRDA:32,1,0,0 -BRDA:32,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:68,3,0,0 -BRDA:68,3,1,0 -BRDA:68,3,2,0 -BRDA:72,4,0,0 -BRDA:72,4,1,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/app/components/modals/ResolveDuplicateTokensModal.tsx -FN:19,ResolveDuplicateTokensModal -FN:25,(anonymous_1) -FN:33,(anonymous_2) -FN:34,(anonymous_3) -FN:36,(anonymous_4) -FN:37,(anonymous_5) -FN:39,(anonymous_6) -FN:52,(anonymous_7) -FN:55,(anonymous_8) -FN:56,(anonymous_9) -FN:66,(anonymous_10) -FN:77,(anonymous_11) -FN:80,(anonymous_12) -FN:81,(anonymous_13) -FN:117,(anonymous_14) -FN:120,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,ResolveDuplicateTokensModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:30,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:60,0 -DA:61,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:91,0 -DA:93,0 -DA:117,0 -DA:121,0 -LF:41 -LH:0 -BRDA:38,0,0,0 -BRDA:38,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:117,2,0,0 -BRDA:117,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/enhancers/undoableEnhancer/UndoableEnhancerState.ts -FN:27,(anonymous_0) -FN:36,(anonymous_1) -FN:48,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:23,0 -DA:28,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:37,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -LF:16 -LH:0 -BRDA:41,0,0,0 -BRDA:41,0,1,0 -BRDA:50,1,0,0 -BRDA:50,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/enhancers/undoableEnhancer/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/enhancers/undoableEnhancer/undoableActionDefinitions.ts -FN:19,(anonymous_0) -FN:20,(anonymous_1) -FN:24,(anonymous_2) -FN:31,(anonymous_3) -FN:52,(anonymous_4) -FN:53,(anonymous_5) -FN:60,(anonymous_6) -FN:72,(anonymous_7) -FN:73,(anonymous_8) -FN:80,(anonymous_9) -FNF:10 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -DA:16,0 -DA:20,0 -DA:21,0 -DA:25,0 -DA:32,0 -DA:33,0 -DA:52,0 -DA:54,0 -DA:61,0 -DA:72,0 -DA:74,0 -DA:81,0 -LF:12 -LH:0 -BRDA:20,0,0,0 -BRDA:20,0,1,0 -BRDA:32,1,0,0 -BRDA:32,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/enhancers/undoableEnhancer/undoableEnhancer.ts -FN:13,(anonymous_0) -FN:13,(anonymous_1) -FN:14,(anonymous_2) -FN:15,(anonymous_3) -FN:26,(anonymous_4) -FN:33,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:43,0 -LF:20 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:28,3,0,0 -BRDA:28,3,1,0 -BRDA:32,4,0,0 -BRDA:32,4,1,0 -BRDA:36,5,0,0 -BRDA:36,5,1,0 -BRDA:37,6,0,0 -BRDA:37,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useActionsHistory.ts -FN:4,useActionsHistory -FN:7,(anonymous_1) -FN:11,(anonymous_2) -FN:16,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useActionsHistory -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:5,0 -DA:7,0 -DA:11,0 -DA:12,0 -DA:16,0 -DA:17,0 -DA:20,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useCanUndo.ts -FN:4,useCanUndo -FN:7,(anonymous_1) -FN:11,(anonymous_2) -FN:20,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useCanUndo -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:5,0 -DA:7,0 -DA:11,0 -DA:13,0 -DA:16,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:25,0 -LF:9 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useConfirm.tsx -FN:14,(anonymous_0) -FN:16,useConfirm -FN:20,(anonymous_2) -FN:43,(anonymous_3) -FN:48,(anonymous_4) -FN:52,(anonymous_5) -FN:57,(anonymous_6) -FN:62,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,useConfirm -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:14,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:30,0 -DA:32,0 -DA:43,0 -DA:44,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:62,0 -LF:17 -LH:0 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useImportVariables.tsx -FN:7,useImportVariables -FN:12,(anonymous_1) -FN:30,(anonymous_2) -FN:35,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useImportVariables -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:41,0 -DA:42,0 -DA:52,0 -DA:54,0 -DA:58,0 -LF:21 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useIsGitMultiFileEnabled.ts -FN:6,useIsGitMultiFileEnabled -FN:10,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useIsGitMultiFileEnabled -FNDA:0,(anonymous_1) -DA:7,0 -DA:9,0 -DA:10,0 -LF:3 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:10,0,2,0 -BRDA:10,0,3,0 -BRDA:10,0,4,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useIsProUser.ts -FN:7,useIsProUser -FN:12,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useIsProUser -FNDA:0,(anonymous_1) -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:13,0 -LF:5 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/usePropertiesForType.ts -FN:8,(anonymous_0) -FN:66,usePropertiesForTokenType -FN:71,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,usePropertiesForTokenType -FNDA:0,(anonymous_2) -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:50,0 -DA:51,0 -DA:54,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:75,0 -DA:91,0 -DA:93,0 -DA:109,0 -DA:111,0 -DA:127,0 -DA:129,0 -DA:130,0 -DA:132,0 -DA:133,0 -DA:135,0 -DA:145,0 -DA:148,0 -DA:149,0 -DA:154,0 -DA:159,0 -DA:222,0 -DA:223,0 -DA:228,0 -DA:230,0 -DA:233,0 -DA:235,0 -DA:236,0 -DA:241,0 -DA:243,0 -LF:38 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:68,2,0,0 -BRDA:68,2,1,0 -BRDA:68,3,0,0 -BRDA:68,3,1,0 -BRDA:68,3,2,0 -BRDA:73,4,0,0 -BRDA:73,4,1,0 -BRDA:73,4,2,0 -BRDA:73,4,3,0 -BRDA:73,4,4,0 -BRDA:73,4,5,0 -BRDA:73,4,6,0 -BRDA:73,4,7,0 -BRDA:73,4,8,0 -BRDA:73,4,9,0 -BRDA:148,5,0,0 -BRDA:148,5,1,0 -BRDA:222,6,0,0 -BRDA:222,6,1,0 -BRDA:235,7,0,0 -BRDA:235,7,1,0 -BRF:25 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/usePullDialog.tsx -FN:16,(anonymous_0) -FN:17,usePullDialog -FN:21,(anonymous_2) -FN:27,(anonymous_3) -FN:32,(anonymous_4) -FN:36,(anonymous_5) -FN:41,(anonymous_6) -FN:46,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,usePullDialog -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -LF:18 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/usePushDialog.tsx -FN:22,(anonymous_0) -FN:23,usePushDialog -FN:27,(anonymous_2) -FN:33,(anonymous_3) -FN:38,(anonymous_4) -FN:42,(anonymous_5) -FN:47,(anonymous_6) -FN:52,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,usePushDialog -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:22,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:52,0 -LF:18 -LH:0 -BRDA:28,0,0,0 -BRDA:28,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useReferenceTokenType.ts -FN:4,useReferenceTokenType -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useReferenceTokenType -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:22,0 -DA:24,0 -DA:26,0 -LF:12 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:6,0,2,0 -BRDA:6,0,3,0 -BRDA:6,0,4,0 -BRDA:6,0,5,0 -BRDA:6,0,6,0 -BRDA:6,0,7,0 -BRDA:6,0,8,0 -BRDA:6,0,9,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useStorageSizeWarning.tsx -FN:8,useStorageSizeWarning -FN:13,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useStorageSizeWarning -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -DA:27,0 -DA:32,0 -DA:33,0 -LF:8 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/hooks/useTypeForProperty.ts -FN:5,useTypeForProperty -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useTypeForProperty -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -DA:10,0 -DA:18,0 -DA:23,0 -DA:26,0 -DA:31,0 -DA:33,0 -LF:8 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:7,0,2,0 -BRDA:7,0,3,0 -BRDA:7,0,4,0 -BRDA:7,0,5,0 -BRDA:7,0,6,0 -BRDA:7,0,7,0 -BRDA:7,0,8,0 -BRDA:7,0,9,0 -BRDA:7,0,10,0 -BRDA:7,0,11,0 -BRDA:7,0,12,0 -BRDA:7,0,13,0 -BRDA:7,0,14,0 -BRDA:7,0,15,0 -BRDA:7,0,16,0 -BRDA:7,0,17,0 -BRDA:7,0,18,0 -BRDA:7,0,19,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/app/preview/preview.tsx -FN:96,(anonymous_0) -FN:106,(anonymous_1) -FN:112,(anonymous_2) -FN:127,(anonymous_3) -FN:188,(anonymous_4) -FN:201,(anonymous_5) -FN:204,(anonymous_6) -FN:209,(anonymous_7) -FN:287,PreviewApp -FN:299,(anonymous_9) -FN:315,(anonymous_10) -FN:323,(anonymous_11) -FN:323,(anonymous_12) -FN:327,(anonymous_13) -FN:327,(anonymous_14) -FN:343,(anonymous_15) -FN:382,(anonymous_16) -FN:407,(anonymous_17) -FNF:18 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,PreviewApp -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -DA:35,0 -DA:37,0 -DA:44,0 -DA:58,0 -DA:90,0 -DA:96,0 -DA:97,0 -DA:102,0 -DA:103,0 -DA:106,0 -DA:107,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:118,0 -DA:120,0 -DA:123,0 -DA:125,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:132,0 -DA:135,0 -DA:188,0 -DA:189,0 -DA:201,0 -DA:204,0 -DA:205,0 -DA:209,0 -DA:210,0 -DA:212,0 -DA:214,0 -DA:281,0 -DA:288,0 -DA:289,0 -DA:290,0 -DA:291,0 -DA:292,0 -DA:297,0 -DA:299,0 -DA:300,0 -DA:301,0 -DA:302,0 -DA:303,0 -DA:304,0 -DA:307,0 -DA:308,0 -DA:310,0 -DA:311,0 -DA:315,0 -DA:316,0 -DA:317,0 -DA:323,0 -DA:324,0 -DA:326,0 -DA:327,0 -DA:328,0 -DA:329,0 -DA:331,0 -DA:332,0 -DA:333,0 -DA:334,0 -DA:343,0 -DA:344,0 -DA:351,0 -DA:383,0 -DA:408,0 -DA:441,0 -LF:72 -LH:0 -BRDA:107,0,0,0 -BRDA:107,0,1,0 -BRDA:110,1,0,0 -BRDA:110,1,1,0 -BRDA:115,2,0,0 -BRDA:115,2,1,0 -BRDA:159,3,0,0 -BRDA:159,3,1,0 -BRDA:173,4,0,0 -BRDA:173,4,1,0 -BRDA:173,5,0,0 -BRDA:173,5,1,0 -BRDA:179,6,0,0 -BRDA:179,6,1,0 -BRDA:202,7,0,0 -BRDA:202,8,0,0 -BRDA:202,9,0,0 -BRDA:239,10,0,0 -BRDA:239,10,1,0 -BRDA:245,11,0,0 -BRDA:245,11,1,0 -BRDA:259,12,0,0 -BRDA:259,12,1,0 -BRDA:300,13,0,0 -BRDA:300,13,1,0 -BRDA:301,14,0,0 -BRDA:301,14,1,0 -BRDA:303,15,0,0 -BRDA:303,15,1,0 -BRDA:307,16,0,0 -BRDA:307,16,1,0 -BRDA:310,17,0,0 -BRDA:310,17,1,0 -BRDA:316,18,0,0 -BRDA:316,18,1,0 -BRDA:316,19,0,0 -BRDA:316,19,1,0 -BRDA:328,20,0,0 -BRDA:328,20,1,0 -BRDA:331,21,0,0 -BRDA:331,21,1,0 -BRDA:332,22,0,0 -BRDA:332,22,1,0 -BRDA:335,23,0,0 -BRDA:335,23,1,0 -BRDA:366,24,0,0 -BRDA:366,24,1,0 -BRDA:429,25,0,0 -BRDA:429,25,1,0 -BRDA:430,26,0,0 -BRDA:430,26,1,0 -BRDA:434,27,0,0 -BRDA:434,27,1,0 -BRDA:435,28,0,0 -BRDA:435,28,1,0 -BRDA:446,29,0,0 -BRDA:446,29,1,0 -BRDA:450,30,0,0 -BRDA:450,30,1,0 -BRDA:451,31,0,0 -BRDA:451,31,1,0 -BRDA:452,32,0,0 -BRDA:452,32,1,0 -BRF:63 -BRH:0 -end_of_record -TN: -SF:src/app/preview/previewUtils.ts -FN:1,(anonymous_0) -FN:10,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:1,0 -DA:2,0 -DA:3,0 -DA:4,0 -DA:7,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:39,0 -DA:42,0 -DA:43,0 -LF:24 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:3,1,0,0 -BRDA:3,1,1,0 -BRDA:11,2,0,0 -BRDA:11,2,1,0 -BRDA:14,3,0,0 -BRDA:14,3,1,0 -BRDA:14,3,2,0 -BRDA:14,3,3,0 -BRDA:16,4,0,0 -BRDA:16,4,1,0 -BRDA:23,5,0,0 -BRDA:23,5,1,0 -BRDA:31,6,0,0 -BRDA:31,6,1,0 -BRDA:31,7,0,0 -BRDA:31,7,1,0 -BRDA:33,8,0,0 -BRDA:33,8,1,0 -BRDA:33,9,0,0 -BRDA:33,9,1,0 -BRDA:42,10,0,0 -BRDA:42,10,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/preview/usePreviewState.tsx -FN:5,(anonymous_0) -FN:29,usePreviewState -FN:32,(anonymous_2) -FN:33,(anonymous_3) -FN:35,(anonymous_4) -FN:43,(anonymous_5) -FN:49,(anonymous_6) -FN:51,(anonymous_7) -FN:53,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,usePreviewState -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:47,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:60,0 -DA:63,0 -LF:28 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:9,2,0,0 -BRDA:9,2,1,0 -BRDA:36,3,0,0 -BRDA:36,3,1,0 -BRDA:42,4,0,0 -BRDA:42,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRDA:56,6,0,0 -BRDA:56,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/app/store/remoteTokens.tsx -FN:49,useRemoteTokens -FN:107,(anonymous_1) -FN:227,(anonymous_2) -FN:228,(anonymous_3) -FN:256,(anonymous_4) -FN:298,(anonymous_5) -FN:364,(anonymous_6) -FN:398,(anonymous_7) -FN:433,(anonymous_8) -FN:536,(anonymous_9) -FN:564,(anonymous_10) -FN:581,(anonymous_11) -FN:589,(anonymous_12) -FN:628,(anonymous_13) -FN:670,(anonymous_14) -FNF:15 -FNH:0 -FNDA:0,useRemoteTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:68,0 -DA:77,0 -DA:85,0 -DA:88,0 -DA:94,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:106,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:119,0 -DA:120,0 -DA:123,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:131,0 -DA:132,0 -DA:135,0 -DA:136,0 -DA:139,0 -DA:140,0 -DA:143,0 -DA:144,0 -DA:147,0 -DA:148,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:156,0 -DA:158,0 -DA:159,0 -DA:164,0 -DA:165,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:184,0 -DA:186,0 -DA:187,0 -DA:189,0 -DA:192,0 -DA:195,0 -DA:199,0 -DA:202,0 -DA:205,0 -DA:209,0 -DA:212,0 -DA:215,0 -DA:218,0 -DA:219,0 -DA:222,0 -DA:224,0 -DA:226,0 -DA:228,0 -DA:229,0 -DA:231,0 -DA:235,0 -DA:236,0 -DA:244,0 -DA:246,0 -DA:253,0 -DA:254,0 -DA:255,0 -DA:256,0 -DA:257,0 -DA:258,0 -DA:259,0 -DA:267,0 -DA:270,0 -DA:273,0 -DA:274,0 -DA:275,0 -DA:297,0 -DA:299,0 -DA:300,0 -DA:301,0 -DA:302,0 -DA:303,0 -DA:304,0 -DA:305,0 -DA:307,0 -DA:308,0 -DA:311,0 -DA:312,0 -DA:315,0 -DA:316,0 -DA:319,0 -DA:320,0 -DA:323,0 -DA:324,0 -DA:327,0 -DA:328,0 -DA:329,0 -DA:332,0 -DA:334,0 -DA:335,0 -DA:340,0 -DA:341,0 -DA:345,0 -DA:363,0 -DA:365,0 -DA:367,0 -DA:369,0 -DA:370,0 -DA:373,0 -DA:374,0 -DA:377,0 -DA:378,0 -DA:381,0 -DA:382,0 -DA:385,0 -DA:386,0 -DA:389,0 -DA:390,0 -DA:393,0 -DA:395,0 -DA:396,0 -DA:397,0 -DA:398,0 -DA:399,0 -DA:400,0 -DA:401,0 -DA:410,0 -DA:413,0 -DA:415,0 -DA:416,0 -DA:432,0 -DA:434,0 -DA:435,0 -DA:437,0 -DA:438,0 -DA:440,0 -DA:441,0 -DA:442,0 -DA:443,0 -DA:447,0 -DA:452,0 -DA:455,0 -DA:456,0 -DA:458,0 -DA:459,0 -DA:460,0 -DA:461,0 -DA:466,0 -DA:469,0 -DA:470,0 -DA:473,0 -DA:474,0 -DA:477,0 -DA:478,0 -DA:481,0 -DA:482,0 -DA:485,0 -DA:486,0 -DA:489,0 -DA:490,0 -DA:493,0 -DA:494,0 -DA:497,0 -DA:499,0 -DA:500,0 -DA:505,0 -DA:506,0 -DA:507,0 -DA:508,0 -DA:509,0 -DA:513,0 -DA:535,0 -DA:537,0 -DA:538,0 -DA:540,0 -DA:541,0 -DA:544,0 -DA:545,0 -DA:548,0 -DA:549,0 -DA:552,0 -DA:553,0 -DA:556,0 -DA:558,0 -DA:563,0 -DA:565,0 -DA:567,0 -DA:569,0 -DA:571,0 -DA:573,0 -DA:575,0 -DA:581,0 -DA:582,0 -DA:588,0 -DA:598,0 -DA:599,0 -DA:601,0 -DA:602,0 -DA:603,0 -DA:604,0 -DA:608,0 -DA:614,0 -DA:619,0 -DA:620,0 -DA:622,0 -DA:627,0 -DA:629,0 -DA:630,0 -DA:632,0 -DA:633,0 -DA:636,0 -DA:637,0 -DA:640,0 -DA:641,0 -DA:644,0 -DA:645,0 -DA:648,0 -DA:649,0 -DA:652,0 -DA:653,0 -DA:656,0 -DA:657,0 -DA:660,0 -DA:661,0 -DA:663,0 -DA:664,0 -DA:669,0 -DA:670,0 -LF:242 -LH:0 -BRDA:108,0,0,0 -BRDA:113,1,0,0 -BRDA:117,2,0,0 -BRDA:117,2,1,0 -BRDA:117,2,2,0 -BRDA:117,2,3,0 -BRDA:117,2,4,0 -BRDA:117,2,5,0 -BRDA:117,2,6,0 -BRDA:117,2,7,0 -BRDA:117,2,8,0 -BRDA:117,2,9,0 -BRDA:158,3,0,0 -BRDA:158,3,1,0 -BRDA:171,4,0,0 -BRDA:171,4,1,0 -BRDA:172,5,0,0 -BRDA:172,5,1,0 -BRDA:177,6,0,0 -BRDA:177,6,1,0 -BRDA:177,7,0,0 -BRDA:177,7,1,0 -BRDA:177,7,2,0 -BRDA:179,8,0,0 -BRDA:179,8,1,0 -BRDA:186,9,0,0 -BRDA:186,9,1,0 -BRDA:186,10,0,0 -BRDA:186,10,1,0 -BRDA:187,11,0,0 -BRDA:187,11,1,0 -BRDA:187,11,2,0 -BRDA:187,11,3,0 -BRDA:187,11,4,0 -BRDA:187,11,5,0 -BRDA:187,11,6,0 -BRDA:187,11,7,0 -BRDA:187,11,8,0 -BRDA:197,12,0,0 -BRDA:197,12,1,0 -BRDA:207,13,0,0 -BRDA:207,13,1,0 -BRDA:218,14,0,0 -BRDA:218,14,1,0 -BRDA:224,15,0,0 -BRDA:224,15,1,0 -BRDA:226,16,0,0 -BRDA:226,16,1,0 -BRDA:228,17,0,0 -BRDA:228,17,1,0 -BRDA:235,18,0,0 -BRDA:235,18,1,0 -BRDA:235,19,0,0 -BRDA:235,19,1,0 -BRDA:240,20,0,0 -BRDA:240,20,1,0 -BRDA:244,21,0,0 -BRDA:244,21,1,0 -BRDA:254,22,0,0 -BRDA:254,22,1,0 -BRDA:305,23,0,0 -BRDA:305,23,1,0 -BRDA:305,23,2,0 -BRDA:305,23,3,0 -BRDA:305,23,4,0 -BRDA:305,23,5,0 -BRDA:305,23,6,0 -BRDA:334,24,0,0 -BRDA:334,24,1,0 -BRDA:340,25,0,0 -BRDA:340,25,1,0 -BRDA:364,26,0,0 -BRDA:364,27,0,0 -BRDA:365,28,0,0 -BRDA:365,28,1,0 -BRDA:367,29,0,0 -BRDA:367,29,1,0 -BRDA:367,29,2,0 -BRDA:367,29,3,0 -BRDA:367,29,4,0 -BRDA:367,29,5,0 -BRDA:367,29,6,0 -BRDA:396,30,0,0 -BRDA:396,30,1,0 -BRDA:415,31,0,0 -BRDA:415,31,1,0 -BRDA:415,32,0,0 -BRDA:415,32,1,0 -BRDA:435,33,0,0 -BRDA:435,33,1,0 -BRDA:435,33,2,0 -BRDA:435,33,3,0 -BRDA:435,33,4,0 -BRDA:435,33,5,0 -BRDA:435,33,6,0 -BRDA:435,33,7,0 -BRDA:435,33,8,0 -BRDA:435,33,9,0 -BRDA:437,34,0,0 -BRDA:437,34,1,0 -BRDA:441,35,0,0 -BRDA:441,35,1,0 -BRDA:455,36,0,0 -BRDA:455,36,1,0 -BRDA:459,37,0,0 -BRDA:459,37,1,0 -BRDA:499,38,0,0 -BRDA:499,38,1,0 -BRDA:505,39,0,0 -BRDA:505,39,1,0 -BRDA:538,40,0,0 -BRDA:538,40,1,0 -BRDA:538,40,2,0 -BRDA:538,40,3,0 -BRDA:538,40,4,0 -BRDA:565,41,0,0 -BRDA:565,41,1,0 -BRDA:565,41,2,0 -BRDA:565,41,3,0 -BRDA:565,41,4,0 -BRDA:601,42,0,0 -BRDA:601,42,1,0 -BRDA:603,43,0,0 -BRDA:603,43,1,0 -BRDA:606,44,0,0 -BRDA:606,44,1,0 -BRDA:611,45,0,0 -BRDA:611,45,1,0 -BRDA:612,46,0,0 -BRDA:612,46,1,0 -BRDA:628,47,0,0 -BRDA:630,48,0,0 -BRDA:630,48,1,0 -BRDA:630,48,2,0 -BRDA:630,48,3,0 -BRDA:630,48,4,0 -BRDA:630,48,5,0 -BRDA:630,48,6,0 -BRDA:630,48,7,0 -BRF:139 -BRH:0 -end_of_record -TN: -SF:src/app/store/updateSources.tsx -FN:55,updateRemoteTokens -FN:67,(anonymous_1) -FN:129,updateTokensOnSources -FN:212,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,updateRemoteTokens -FNDA:0,(anonymous_1) -FNDA:0,updateTokensOnSources -FNDA:0,(anonymous_3) -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:82,0 -DA:86,0 -DA:89,0 -DA:90,0 -DA:100,0 -DA:104,0 -DA:107,0 -DA:110,0 -DA:113,0 -DA:116,0 -DA:119,0 -DA:122,0 -DA:125,0 -DA:152,0 -DA:153,0 -DA:165,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:175,0 -DA:177,0 -DA:182,0 -DA:187,0 -DA:191,0 -DA:195,0 -DA:213,0 -DA:214,0 -DA:215,0 -LF:36 -LH:0 -BRDA:65,0,0,0 -BRDA:65,0,1,0 -BRDA:70,1,0,0 -BRDA:70,1,1,0 -BRDA:70,1,2,0 -BRDA:70,1,3,0 -BRDA:70,1,4,0 -BRDA:70,1,5,0 -BRDA:70,1,6,0 -BRDA:70,1,7,0 -BRDA:70,1,8,0 -BRDA:137,2,0,0 -BRDA:152,3,0,0 -BRDA:152,3,1,0 -BRDA:152,4,0,0 -BRDA:152,4,1,0 -BRDA:152,4,2,0 -BRDA:152,4,3,0 -BRDA:165,5,0,0 -BRDA:165,5,1,0 -BRDA:172,6,0,0 -BRDA:172,6,1,0 -BRDA:213,7,0,0 -BRDA:213,7,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/store/useManageTokens.tsx -FN:55,useManageTokens -FN:64,(anonymous_1) -FN:94,(anonymous_2) -FN:124,(anonymous_3) -FN:133,(anonymous_4) -FN:163,(anonymous_5) -FN:181,(anonymous_6) -FN:194,(anonymous_7) -FN:202,(anonymous_8) -FN:210,(anonymous_9) -FN:211,(anonymous_10) -FN:220,(anonymous_11) -FN:230,(anonymous_12) -FN:236,(anonymous_13) -FN:237,(anonymous_14) -FN:255,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,useManageTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:64,0 -DA:67,0 -DA:68,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:91,0 -DA:94,0 -DA:97,0 -DA:98,0 -DA:103,0 -DA:106,0 -DA:107,0 -DA:110,0 -DA:111,0 -DA:121,0 -DA:124,0 -DA:125,0 -DA:129,0 -DA:130,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:141,0 -DA:148,0 -DA:149,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:163,0 -DA:164,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:176,0 -DA:177,0 -DA:181,0 -DA:182,0 -DA:189,0 -DA:190,0 -DA:194,0 -DA:195,0 -DA:196,0 -DA:198,0 -DA:202,0 -DA:203,0 -DA:204,0 -DA:205,0 -DA:208,0 -DA:209,0 -DA:210,0 -DA:211,0 -DA:215,0 -DA:216,0 -DA:217,0 -DA:220,0 -DA:221,0 -DA:223,0 -DA:224,0 -DA:227,0 -DA:230,0 -DA:231,0 -DA:236,0 -DA:237,0 -DA:238,0 -DA:240,0 -DA:241,0 -DA:243,0 -DA:244,0 -DA:247,0 -DA:248,0 -DA:251,0 -DA:255,0 -LF:85 -LH:0 -BRDA:66,0,0,0 -BRDA:75,1,0,0 -BRDA:75,1,1,0 -BRDA:86,2,0,0 -BRDA:86,2,1,0 -BRDA:96,3,0,0 -BRDA:106,4,0,0 -BRDA:106,4,1,0 -BRDA:110,5,0,0 -BRDA:110,5,1,0 -BRDA:135,6,0,0 -BRDA:135,6,1,0 -BRDA:135,7,0,0 -BRDA:135,7,1,0 -BRDA:135,7,2,0 -BRDA:148,8,0,0 -BRDA:148,8,1,0 -BRDA:154,9,0,0 -BRDA:154,9,1,0 -BRDA:154,10,0,0 -BRDA:154,10,1,0 -BRDA:170,11,0,0 -BRDA:170,11,1,0 -BRDA:189,12,0,0 -BRDA:189,12,1,0 -BRDA:208,13,0,0 -BRDA:208,13,1,0 -BRDA:210,14,0,0 -BRDA:210,14,1,0 -BRDA:240,15,0,0 -BRDA:240,15,1,0 -BRDA:241,16,0,0 -BRDA:241,16,1,0 -BRDA:243,17,0,0 -BRDA:243,17,1,0 -BRDA:247,18,0,0 -BRDA:247,18,1,0 -BRF:37 -BRH:0 -end_of_record -TN: -SF:src/app/store/useStorage.tsx -FN:13,useStorage -FN:16,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useStorage -FNDA:0,(anonymous_1) -DA:14,0 -DA:16,0 -DA:20,0 -DA:21,0 -DA:26,0 -DA:29,0 -LF:6 -LH:0 -BRDA:18,0,0,0 -BRDA:20,1,0,0 -BRDA:20,1,1,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/app/store/useTokens.tsx -FN:60,useTokens -FN:71,(anonymous_1) -FN:84,(anonymous_2) -FN:84,(anonymous_3) -FN:90,(anonymous_4) -FN:96,(anonymous_5) -FN:126,(anonymous_6) -FN:134,(anonymous_7) -FN:142,(anonymous_8) -FN:149,(anonymous_9) -FN:162,(anonymous_10) -FN:192,(anonymous_11) -FN:197,(anonymous_12) -FN:207,(anonymous_13) -FN:210,(anonymous_14) -FN:224,(anonymous_15) -FN:227,(anonymous_16) -FN:239,(anonymous_17) -FN:242,(anonymous_18) -FN:253,(anonymous_19) -FN:300,(anonymous_20) -FN:303,(anonymous_21) -FN:311,(anonymous_22) -FN:332,(anonymous_23) -FN:333,(anonymous_24) -FN:353,(anonymous_25) -FN:363,(anonymous_26) -FN:364,(anonymous_27) -FN:371,(anonymous_28) -FN:380,(anonymous_29) -FN:383,(anonymous_30) -FN:388,(anonymous_31) -FN:395,(anonymous_32) -FN:422,(anonymous_33) -FN:437,(anonymous_34) -FN:439,(anonymous_35) -FN:449,(anonymous_36) -FN:460,(anonymous_37) -FN:463,(anonymous_38) -FN:468,(anonymous_39) -FN:469,(anonymous_40) -FN:478,(anonymous_41) -FN:529,(anonymous_42) -FN:544,(anonymous_43) -FN:558,(anonymous_44) -FN:562,(anonymous_45) -FN:563,(anonymous_46) -FN:579,(anonymous_47) -FN:580,(anonymous_48) -FN:581,(anonymous_49) -FN:605,(anonymous_50) -FN:614,(anonymous_51) -FN:621,(anonymous_52) -FN:632,(anonymous_53) -FN:647,(anonymous_54) -FN:665,(anonymous_55) -FN:679,(anonymous_56) -FN:694,(anonymous_57) -FN:712,(anonymous_58) -FN:727,(anonymous_59) -FN:730,(anonymous_60) -FN:745,(anonymous_61) -FN:748,(anonymous_62) -FN:755,(anonymous_63) -FNF:64 -FNH:0 -FNDA:0,useTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -FNDA:0,(anonymous_34) -FNDA:0,(anonymous_35) -FNDA:0,(anonymous_36) -FNDA:0,(anonymous_37) -FNDA:0,(anonymous_38) -FNDA:0,(anonymous_39) -FNDA:0,(anonymous_40) -FNDA:0,(anonymous_41) -FNDA:0,(anonymous_42) -FNDA:0,(anonymous_43) -FNDA:0,(anonymous_44) -FNDA:0,(anonymous_45) -FNDA:0,(anonymous_46) -FNDA:0,(anonymous_47) -FNDA:0,(anonymous_48) -FNDA:0,(anonymous_49) -FNDA:0,(anonymous_50) -FNDA:0,(anonymous_51) -FNDA:0,(anonymous_52) -FNDA:0,(anonymous_53) -FNDA:0,(anonymous_54) -FNDA:0,(anonymous_55) -FNDA:0,(anonymous_56) -FNDA:0,(anonymous_57) -FNDA:0,(anonymous_58) -FNDA:0,(anonymous_59) -FNDA:0,(anonymous_60) -FNDA:0,(anonymous_61) -FNDA:0,(anonymous_62) -FNDA:0,(anonymous_63) -DA:53,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:80,0 -DA:83,0 -DA:84,0 -DA:89,0 -DA:90,0 -DA:95,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:125,0 -DA:126,0 -DA:133,0 -DA:135,0 -DA:136,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:150,0 -DA:152,0 -DA:157,0 -DA:162,0 -DA:163,0 -DA:174,0 -DA:175,0 -DA:181,0 -DA:192,0 -DA:197,0 -DA:198,0 -DA:200,0 -DA:206,0 -DA:208,0 -DA:210,0 -DA:223,0 -DA:225,0 -DA:227,0 -DA:238,0 -DA:240,0 -DA:242,0 -DA:252,0 -DA:265,0 -DA:297,0 -DA:298,0 -DA:300,0 -DA:302,0 -DA:303,0 -DA:305,0 -DA:307,0 -DA:308,0 -DA:309,0 -DA:310,0 -DA:311,0 -DA:312,0 -DA:313,0 -DA:318,0 -DA:321,0 -DA:325,0 -DA:328,0 -DA:329,0 -DA:330,0 -DA:331,0 -DA:332,0 -DA:333,0 -DA:338,0 -DA:344,0 -DA:352,0 -DA:354,0 -DA:355,0 -DA:357,0 -DA:362,0 -DA:363,0 -DA:364,0 -DA:366,0 -DA:367,0 -DA:368,0 -DA:371,0 -DA:372,0 -DA:373,0 -DA:376,0 -DA:378,0 -DA:379,0 -DA:380,0 -DA:383,0 -DA:384,0 -DA:388,0 -DA:389,0 -DA:390,0 -DA:392,0 -DA:395,0 -DA:402,0 -DA:416,0 -DA:421,0 -DA:423,0 -DA:424,0 -DA:426,0 -DA:431,0 -DA:433,0 -DA:435,0 -DA:437,0 -DA:438,0 -DA:439,0 -DA:440,0 -DA:441,0 -DA:445,0 -DA:448,0 -DA:449,0 -DA:451,0 -DA:452,0 -DA:453,0 -DA:455,0 -DA:456,0 -DA:457,0 -DA:459,0 -DA:460,0 -DA:463,0 -DA:464,0 -DA:468,0 -DA:469,0 -DA:470,0 -DA:473,0 -DA:476,0 -DA:478,0 -DA:486,0 -DA:488,0 -DA:490,0 -DA:495,0 -DA:509,0 -DA:510,0 -DA:514,0 -DA:518,0 -DA:519,0 -DA:523,0 -DA:528,0 -DA:530,0 -DA:532,0 -DA:538,0 -DA:543,0 -DA:545,0 -DA:547,0 -DA:552,0 -DA:557,0 -DA:559,0 -DA:560,0 -DA:561,0 -DA:562,0 -DA:563,0 -DA:568,0 -DA:570,0 -DA:579,0 -DA:580,0 -DA:581,0 -DA:582,0 -DA:585,0 -DA:587,0 -DA:588,0 -DA:590,0 -DA:591,0 -DA:592,0 -DA:595,0 -DA:596,0 -DA:598,0 -DA:599,0 -DA:602,0 -DA:605,0 -DA:606,0 -DA:610,0 -DA:611,0 -DA:615,0 -DA:616,0 -DA:617,0 -DA:621,0 -DA:627,0 -DA:628,0 -DA:631,0 -DA:633,0 -DA:638,0 -DA:640,0 -DA:644,0 -DA:648,0 -DA:649,0 -DA:650,0 -DA:661,0 -DA:665,0 -DA:672,0 -DA:673,0 -DA:678,0 -DA:680,0 -DA:685,0 -DA:687,0 -DA:691,0 -DA:695,0 -DA:696,0 -DA:697,0 -DA:708,0 -DA:712,0 -DA:719,0 -DA:720,0 -DA:721,0 -DA:726,0 -DA:728,0 -DA:730,0 -DA:740,0 -DA:745,0 -DA:746,0 -DA:748,0 -DA:754,0 -DA:755,0 -LF:221 -LH:0 -BRDA:98,0,0,0 -BRDA:99,1,0,0 -BRDA:100,2,0,0 -BRDA:101,3,0,0 -BRDA:102,4,0,0 -BRDA:103,5,0,0 -BRDA:105,6,0,0 -BRDA:105,6,1,0 -BRDA:144,7,0,0 -BRDA:144,7,1,0 -BRDA:150,8,0,0 -BRDA:150,8,1,0 -BRDA:150,9,0,0 -BRDA:150,9,1,0 -BRDA:174,10,0,0 -BRDA:174,10,1,0 -BRDA:174,11,0,0 -BRDA:174,11,1,0 -BRDA:174,11,2,0 -BRDA:224,12,0,0 -BRDA:246,13,0,0 -BRDA:246,13,1,0 -BRDA:297,14,0,0 -BRDA:297,14,1,0 -BRDA:297,15,0,0 -BRDA:297,15,1,0 -BRDA:298,16,0,0 -BRDA:298,16,1,0 -BRDA:299,17,0,0 -BRDA:299,17,1,0 -BRDA:307,18,0,0 -BRDA:307,18,1,0 -BRDA:309,19,0,0 -BRDA:309,19,1,0 -BRDA:312,20,0,0 -BRDA:312,20,1,0 -BRDA:312,21,0,0 -BRDA:312,21,1,0 -BRDA:328,22,0,0 -BRDA:328,22,1,0 -BRDA:330,23,0,0 -BRDA:330,23,1,0 -BRDA:332,24,0,0 -BRDA:332,24,1,0 -BRDA:354,25,0,0 -BRDA:354,25,1,0 -BRDA:354,25,2,0 -BRDA:354,25,3,0 -BRDA:355,26,0,0 -BRDA:355,26,1,0 -BRDA:366,27,0,0 -BRDA:366,27,1,0 -BRDA:380,28,0,0 -BRDA:380,28,1,0 -BRDA:385,29,0,0 -BRDA:385,29,1,0 -BRDA:386,30,0,0 -BRDA:386,30,1,0 -BRDA:387,31,0,0 -BRDA:387,31,1,0 -BRDA:389,32,0,0 -BRDA:389,32,1,0 -BRDA:423,33,0,0 -BRDA:423,33,1,0 -BRDA:423,33,2,0 -BRDA:423,33,3,0 -BRDA:424,34,0,0 -BRDA:424,34,1,0 -BRDA:438,35,0,0 -BRDA:438,35,1,0 -BRDA:440,36,0,0 -BRDA:440,36,1,0 -BRDA:440,37,0,0 -BRDA:440,37,1,0 -BRDA:451,38,0,0 -BRDA:451,38,1,0 -BRDA:455,39,0,0 -BRDA:455,39,1,0 -BRDA:460,40,0,0 -BRDA:460,40,1,0 -BRDA:465,41,0,0 -BRDA:465,41,1,0 -BRDA:466,42,0,0 -BRDA:466,42,1,0 -BRDA:467,43,0,0 -BRDA:467,43,1,0 -BRDA:469,44,0,0 -BRDA:469,44,1,0 -BRDA:469,45,0,0 -BRDA:469,45,1,0 -BRDA:509,46,0,0 -BRDA:509,46,1,0 -BRDA:518,47,0,0 -BRDA:518,47,1,0 -BRDA:582,48,0,0 -BRDA:582,48,1,0 -BRDA:585,49,0,0 -BRDA:585,49,1,0 -BRDA:585,50,0,0 -BRDA:585,50,1,0 -BRDA:585,51,0,0 -BRDA:585,51,1,0 -BRDA:590,52,0,0 -BRDA:590,52,1,0 -BRDA:590,53,0,0 -BRDA:590,53,1,0 -BRDA:591,54,0,0 -BRDA:591,54,1,0 -BRDA:616,55,0,0 -BRDA:616,55,1,0 -BRDA:633,56,0,0 -BRDA:633,56,1,0 -BRDA:633,56,2,0 -BRDA:633,56,3,0 -BRDA:633,56,4,0 -BRDA:638,57,0,0 -BRDA:638,57,1,0 -BRDA:649,58,0,0 -BRDA:649,58,1,0 -BRDA:680,59,0,0 -BRDA:680,59,1,0 -BRDA:680,59,2,0 -BRDA:680,59,3,0 -BRDA:680,59,4,0 -BRDA:685,60,0,0 -BRDA:685,60,1,0 -BRDA:696,61,0,0 -BRDA:696,61,1,0 -BRF:128 -BRH:0 -end_of_record -TN: -SF:src/app/store/middlewares/index.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/middlewares/tokenState.ts -FN:16,(anonymous_0) -FN:16,(anonymous_1) -FN:16,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:25,0 -LF:7 -LH:0 -BRDA:21,0,0,0 -BRDA:21,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/branchState.tsx -FN:13,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:8,0 -DA:13,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/index.tsx -FNF:0 -FNH:0 -DA:9,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/inspectState.tsx -FN:17,(anonymous_0) -FN:21,(anonymous_1) -FN:24,(anonymous_2) -FN:27,(anonymous_3) -FN:31,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:10,0 -DA:17,0 -DA:21,0 -DA:24,0 -DA:27,0 -DA:31,0 -LF:6 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/settings.tsx -FN:58,(anonymous_0) -FN:100,(anonymous_1) -FN:111,(anonymous_2) -FN:117,(anonymous_3) -FN:123,(anonymous_4) -FN:133,(anonymous_5) -FN:144,(anonymous_6) -FN:158,(anonymous_7) -FN:164,(anonymous_8) -FN:170,(anonymous_9) -FN:174,(anonymous_10) -FN:180,(anonymous_11) -FN:186,(anonymous_12) -FN:192,(anonymous_13) -FN:198,(anonymous_14) -FN:204,(anonymous_15) -FN:210,(anonymous_16) -FN:216,(anonymous_17) -FN:223,(anonymous_18) -FN:224,(anonymous_19) -FN:228,(anonymous_20) -FN:235,(anonymous_21) -FN:242,(anonymous_22) -FN:245,(anonymous_23) -FN:248,(anonymous_24) -FN:251,(anonymous_25) -FN:254,(anonymous_26) -FN:257,(anonymous_27) -FN:260,(anonymous_28) -FN:263,(anonymous_29) -FN:266,(anonymous_30) -FN:269,(anonymous_31) -FN:272,(anonymous_32) -FN:275,(anonymous_33) -FN:279,(anonymous_34) -FNF:35 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -FNDA:0,(anonymous_34) -DA:58,0 -DA:59,0 -DA:65,0 -DA:101,0 -DA:103,0 -DA:106,0 -DA:112,0 -DA:118,0 -DA:124,0 -DA:134,0 -DA:135,0 -DA:146,0 -DA:148,0 -DA:150,0 -DA:153,0 -DA:159,0 -DA:165,0 -DA:171,0 -DA:172,0 -DA:175,0 -DA:181,0 -DA:187,0 -DA:193,0 -DA:199,0 -DA:205,0 -DA:211,0 -DA:217,0 -DA:223,0 -DA:225,0 -DA:226,0 -DA:229,0 -DA:236,0 -DA:243,0 -DA:246,0 -DA:249,0 -DA:252,0 -DA:255,0 -DA:258,0 -DA:261,0 -DA:264,0 -DA:267,0 -DA:270,0 -DA:273,0 -DA:276,0 -DA:280,0 -LF:45 -LH:0 -BRDA:101,0,0,0 -BRDA:101,0,1,0 -BRDA:127,1,0,0 -BRDA:127,1,1,0 -BRDA:148,2,0,0 -BRDA:148,2,1,0 -BRDA:238,3,0,0 -BRDA:238,3,1,0 -BRDA:239,4,0,0 -BRDA:239,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/tokenState.tsx -FN:112,(anonymous_0) -FN:136,(anonymous_1) -FN:140,(anonymous_2) -FN:144,(anonymous_3) -FN:148,(anonymous_4) -FN:154,(anonymous_5) -FN:162,(anonymous_6) -FN:166,(anonymous_7) -FN:170,(anonymous_8) -FN:174,(anonymous_9) -FN:181,(anonymous_10) -FN:189,(anonymous_11) -FN:197,(anonymous_12) -FN:201,(anonymous_13) -FN:201,(anonymous_14) -FN:202,(anonymous_15) -FN:206,(anonymous_16) -FN:208,(anonymous_17) -FN:216,(anonymous_18) -FN:220,(anonymous_19) -FN:227,(anonymous_20) -FN:239,(anonymous_21) -FN:245,(anonymous_22) -FN:249,(anonymous_23) -FN:252,(anonymous_24) -FN:267,(anonymous_25) -FN:270,(anonymous_26) -FN:274,(anonymous_27) -FN:285,(anonymous_28) -FN:288,(anonymous_29) -FN:289,(anonymous_30) -FN:304,(anonymous_31) -FN:306,(anonymous_32) -FN:308,(anonymous_33) -FN:329,(anonymous_34) -FN:356,(anonymous_35) -FN:363,(anonymous_36) -FN:364,(anonymous_37) -FN:372,(anonymous_38) -FN:373,(anonymous_39) -FN:408,(anonymous_40) -FN:414,(anonymous_41) -FN:415,(anonymous_42) -FN:418,(anonymous_43) -FN:449,(anonymous_44) -FN:451,(anonymous_45) -FN:465,(anonymous_46) -FN:470,(anonymous_47) -FN:476,(anonymous_48) -FN:484,(anonymous_49) -FN:495,(anonymous_50) -FN:501,(anonymous_51) -FN:507,(anonymous_52) -FN:515,(anonymous_53) -FN:520,(anonymous_54) -FN:542,(anonymous_55) -FN:547,(anonymous_56) -FN:549,(anonymous_57) -FN:558,(anonymous_58) -FN:572,(anonymous_59) -FN:576,(anonymous_60) -FN:580,(anonymous_61) -FN:584,(anonymous_62) -FN:588,(anonymous_63) -FN:592,(anonymous_64) -FN:605,(anonymous_65) -FN:613,(anonymous_66) -FN:617,(anonymous_67) -FN:621,(anonymous_68) -FN:626,(anonymous_69) -FN:628,(anonymous_70) -FN:648,(anonymous_71) -FN:652,(anonymous_72) -FN:653,(anonymous_73) -FN:678,(anonymous_74) -FN:685,(anonymous_75) -FN:686,(anonymous_76) -FN:698,(anonymous_77) -FN:724,(anonymous_78) -FN:730,(anonymous_79) -FN:744,(anonymous_80) -FN:747,(anonymous_81) -FN:750,(anonymous_82) -FN:761,(anonymous_83) -FN:764,(anonymous_84) -FN:767,(anonymous_85) -FN:778,(anonymous_86) -FN:789,(anonymous_87) -FN:796,(anonymous_88) -FN:803,(anonymous_89) -FN:811,(anonymous_90) -FN:814,(anonymous_91) -FN:817,(anonymous_92) -FN:820,(anonymous_93) -FN:830,(anonymous_94) -FN:840,(anonymous_95) -FN:843,(anonymous_96) -FN:850,(anonymous_97) -FN:851,(anonymous_98) -FN:858,(anonymous_99) -FN:863,(anonymous_100) -FN:868,(anonymous_101) -FN:889,(anonymous_102) -FN:892,(anonymous_103) -FN:904,(anonymous_104) -FN:946,(anonymous_105) -FN:964,(anonymous_106) -FNF:107 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -FNDA:0,(anonymous_34) -FNDA:0,(anonymous_35) -FNDA:0,(anonymous_36) -FNDA:0,(anonymous_37) -FNDA:0,(anonymous_38) -FNDA:0,(anonymous_39) -FNDA:0,(anonymous_40) -FNDA:0,(anonymous_41) -FNDA:0,(anonymous_42) -FNDA:0,(anonymous_43) -FNDA:0,(anonymous_44) -FNDA:0,(anonymous_45) -FNDA:0,(anonymous_46) -FNDA:0,(anonymous_47) -FNDA:0,(anonymous_48) -FNDA:0,(anonymous_49) -FNDA:0,(anonymous_50) -FNDA:0,(anonymous_51) -FNDA:0,(anonymous_52) -FNDA:0,(anonymous_53) -FNDA:0,(anonymous_54) -FNDA:0,(anonymous_55) -FNDA:0,(anonymous_56) -FNDA:0,(anonymous_57) -FNDA:0,(anonymous_58) -FNDA:0,(anonymous_59) -FNDA:0,(anonymous_60) -FNDA:0,(anonymous_61) -FNDA:0,(anonymous_62) -FNDA:0,(anonymous_63) -FNDA:0,(anonymous_64) -FNDA:0,(anonymous_65) -FNDA:0,(anonymous_66) -FNDA:0,(anonymous_67) -FNDA:0,(anonymous_68) -FNDA:0,(anonymous_69) -FNDA:0,(anonymous_70) -FNDA:0,(anonymous_71) -FNDA:0,(anonymous_72) -FNDA:0,(anonymous_73) -FNDA:0,(anonymous_74) -FNDA:0,(anonymous_75) -FNDA:0,(anonymous_76) -FNDA:0,(anonymous_77) -FNDA:0,(anonymous_78) -FNDA:0,(anonymous_79) -FNDA:0,(anonymous_80) -FNDA:0,(anonymous_81) -FNDA:0,(anonymous_82) -FNDA:0,(anonymous_83) -FNDA:0,(anonymous_84) -FNDA:0,(anonymous_85) -FNDA:0,(anonymous_86) -FNDA:0,(anonymous_87) -FNDA:0,(anonymous_88) -FNDA:0,(anonymous_89) -FNDA:0,(anonymous_90) -FNDA:0,(anonymous_91) -FNDA:0,(anonymous_92) -FNDA:0,(anonymous_93) -FNDA:0,(anonymous_94) -FNDA:0,(anonymous_95) -FNDA:0,(anonymous_96) -FNDA:0,(anonymous_97) -FNDA:0,(anonymous_98) -FNDA:0,(anonymous_99) -FNDA:0,(anonymous_100) -FNDA:0,(anonymous_101) -FNDA:0,(anonymous_102) -FNDA:0,(anonymous_103) -FNDA:0,(anonymous_104) -FNDA:0,(anonymous_105) -FNDA:0,(anonymous_106) -DA:92,0 -DA:113,0 -DA:114,0 -DA:136,0 -DA:140,0 -DA:144,0 -DA:149,0 -DA:154,0 -DA:162,0 -DA:166,0 -DA:170,0 -DA:174,0 -DA:182,0 -DA:183,0 -DA:184,0 -DA:187,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:194,0 -DA:195,0 -DA:197,0 -DA:201,0 -DA:202,0 -DA:207,0 -DA:208,0 -DA:209,0 -DA:211,0 -DA:216,0 -DA:220,0 -DA:228,0 -DA:229,0 -DA:230,0 -DA:231,0 -DA:240,0 -DA:245,0 -DA:250,0 -DA:252,0 -DA:253,0 -DA:254,0 -DA:259,0 -DA:269,0 -DA:270,0 -DA:271,0 -DA:272,0 -DA:274,0 -DA:275,0 -DA:276,0 -DA:280,0 -DA:287,0 -DA:288,0 -DA:289,0 -DA:290,0 -DA:291,0 -DA:299,0 -DA:305,0 -DA:306,0 -DA:307,0 -DA:308,0 -DA:309,0 -DA:310,0 -DA:311,0 -DA:326,0 -DA:328,0 -DA:329,0 -DA:330,0 -DA:331,0 -DA:341,0 -DA:346,0 -DA:357,0 -DA:358,0 -DA:359,0 -DA:362,0 -DA:363,0 -DA:364,0 -DA:365,0 -DA:366,0 -DA:372,0 -DA:373,0 -DA:374,0 -DA:375,0 -DA:376,0 -DA:377,0 -DA:378,0 -DA:379,0 -DA:380,0 -DA:382,0 -DA:388,0 -DA:389,0 -DA:390,0 -DA:394,0 -DA:399,0 -DA:409,0 -DA:410,0 -DA:411,0 -DA:414,0 -DA:415,0 -DA:417,0 -DA:418,0 -DA:420,0 -DA:421,0 -DA:422,0 -DA:423,0 -DA:427,0 -DA:429,0 -DA:430,0 -DA:431,0 -DA:434,0 -DA:437,0 -DA:441,0 -DA:450,0 -DA:451,0 -DA:452,0 -DA:453,0 -DA:457,0 -DA:466,0 -DA:470,0 -DA:474,0 -DA:477,0 -DA:478,0 -DA:485,0 -DA:486,0 -DA:487,0 -DA:488,0 -DA:490,0 -DA:491,0 -DA:493,0 -DA:495,0 -DA:499,0 -DA:502,0 -DA:507,0 -DA:512,0 -DA:518,0 -DA:519,0 -DA:520,0 -DA:521,0 -DA:522,0 -DA:523,0 -DA:524,0 -DA:529,0 -DA:532,0 -DA:539,0 -DA:545,0 -DA:546,0 -DA:547,0 -DA:549,0 -DA:550,0 -DA:551,0 -DA:552,0 -DA:558,0 -DA:559,0 -DA:560,0 -DA:562,0 -DA:564,0 -DA:567,0 -DA:572,0 -DA:576,0 -DA:580,0 -DA:584,0 -DA:588,0 -DA:596,0 -DA:600,0 -DA:605,0 -DA:613,0 -DA:617,0 -DA:624,0 -DA:625,0 -DA:626,0 -DA:627,0 -DA:628,0 -DA:629,0 -DA:630,0 -DA:631,0 -DA:635,0 -DA:640,0 -DA:649,0 -DA:650,0 -DA:652,0 -DA:653,0 -DA:655,0 -DA:656,0 -DA:657,0 -DA:666,0 -DA:670,0 -DA:678,0 -DA:685,0 -DA:687,0 -DA:688,0 -DA:691,0 -DA:692,0 -DA:695,0 -DA:696,0 -DA:697,0 -DA:698,0 -DA:699,0 -DA:700,0 -DA:708,0 -DA:711,0 -DA:713,0 -DA:725,0 -DA:727,0 -DA:728,0 -DA:729,0 -DA:730,0 -DA:731,0 -DA:733,0 -DA:745,0 -DA:748,0 -DA:751,0 -DA:753,0 -DA:754,0 -DA:762,0 -DA:765,0 -DA:768,0 -DA:770,0 -DA:771,0 -DA:779,0 -DA:781,0 -DA:782,0 -DA:790,0 -DA:792,0 -DA:793,0 -DA:796,0 -DA:805,0 -DA:807,0 -DA:808,0 -DA:812,0 -DA:815,0 -DA:818,0 -DA:821,0 -DA:823,0 -DA:824,0 -DA:831,0 -DA:833,0 -DA:834,0 -DA:841,0 -DA:846,0 -DA:848,0 -DA:849,0 -DA:850,0 -DA:852,0 -DA:859,0 -DA:860,0 -DA:864,0 -DA:866,0 -DA:869,0 -DA:870,0 -DA:871,0 -DA:872,0 -DA:873,0 -DA:874,0 -DA:877,0 -DA:878,0 -DA:882,0 -DA:883,0 -DA:886,0 -DA:890,0 -DA:893,0 -DA:894,0 -DA:898,0 -DA:899,0 -DA:900,0 -DA:901,0 -DA:906,0 -DA:907,0 -DA:910,0 -DA:915,0 -DA:943,0 -DA:947,0 -DA:949,0 -DA:951,0 -DA:952,0 -DA:953,0 -DA:954,0 -DA:956,0 -DA:964,0 -LF:276 -LH:0 -BRDA:159,0,0,0 -BRDA:159,0,1,0 -BRDA:176,1,0,0 -BRDA:176,1,1,0 -BRDA:177,2,0,0 -BRDA:177,2,1,0 -BRDA:178,3,0,0 -BRDA:178,3,1,0 -BRDA:179,4,0,0 -BRDA:179,4,1,0 -BRDA:179,5,0,0 -BRDA:179,5,1,0 -BRDA:182,6,0,0 -BRDA:182,6,1,0 -BRDA:190,7,0,0 -BRDA:190,7,1,0 -BRDA:201,8,0,0 -BRDA:201,8,1,0 -BRDA:253,9,0,0 -BRDA:253,9,1,0 -BRDA:271,10,0,0 -BRDA:271,10,1,0 -BRDA:275,11,0,0 -BRDA:275,11,1,0 -BRDA:290,12,0,0 -BRDA:290,12,1,0 -BRDA:307,13,0,0 -BRDA:307,13,1,0 -BRDA:309,14,0,0 -BRDA:309,14,1,0 -BRDA:328,15,0,0 -BRDA:328,15,1,0 -BRDA:330,16,0,0 -BRDA:330,16,1,0 -BRDA:365,17,0,0 -BRDA:365,17,1,0 -BRDA:375,18,0,0 -BRDA:375,18,1,0 -BRDA:376,19,0,0 -BRDA:376,19,1,0 -BRDA:377,20,0,0 -BRDA:377,20,1,0 -BRDA:378,21,0,0 -BRDA:378,21,1,0 -BRDA:379,22,0,0 -BRDA:379,22,1,0 -BRDA:417,23,0,0 -BRDA:417,23,1,0 -BRDA:420,24,0,0 -BRDA:420,24,1,0 -BRDA:421,25,0,0 -BRDA:421,25,1,0 -BRDA:422,26,0,0 -BRDA:422,26,1,0 -BRDA:423,27,0,0 -BRDA:423,27,1,0 -BRDA:424,28,0,0 -BRDA:424,28,1,0 -BRDA:450,29,0,0 -BRDA:450,29,1,0 -BRDA:483,30,0,0 -BRDA:483,30,1,0 -BRDA:485,31,0,0 -BRDA:485,31,1,0 -BRDA:486,32,0,0 -BRDA:486,32,1,0 -BRDA:507,33,0,0 -BRDA:507,33,1,0 -BRDA:519,34,0,0 -BRDA:519,34,1,0 -BRDA:521,35,0,0 -BRDA:521,35,1,0 -BRDA:521,36,0,0 -BRDA:521,36,1,0 -BRDA:547,37,0,0 -BRDA:547,37,1,0 -BRDA:559,38,0,0 -BRDA:559,38,1,0 -BRDA:627,39,0,0 -BRDA:627,39,1,0 -BRDA:628,40,0,0 -BRDA:628,40,1,0 -BRDA:629,41,0,0 -BRDA:629,41,1,0 -BRDA:653,42,0,0 -BRDA:653,42,1,0 -BRDA:655,43,0,0 -BRDA:655,43,1,0 -BRDA:656,44,0,0 -BRDA:656,44,1,0 -BRDA:687,45,0,0 -BRDA:687,45,1,0 -BRDA:687,46,0,0 -BRDA:687,46,1,0 -BRDA:691,47,0,0 -BRDA:691,47,1,0 -BRDA:691,48,0,0 -BRDA:691,48,1,0 -BRDA:695,49,0,0 -BRDA:695,49,1,0 -BRDA:695,50,0,0 -BRDA:695,50,1,0 -BRDA:697,51,0,0 -BRDA:697,51,1,0 -BRDA:699,52,0,0 -BRDA:699,52,1,0 -BRDA:727,53,0,0 -BRDA:727,53,1,0 -BRDA:729,54,0,0 -BRDA:729,54,1,0 -BRDA:753,55,0,0 -BRDA:753,55,1,0 -BRDA:770,56,0,0 -BRDA:770,56,1,0 -BRDA:781,57,0,0 -BRDA:781,57,1,0 -BRDA:792,58,0,0 -BRDA:792,58,1,0 -BRDA:807,59,0,0 -BRDA:807,59,1,0 -BRDA:823,60,0,0 -BRDA:823,60,1,0 -BRDA:833,61,0,0 -BRDA:833,61,1,0 -BRDA:848,62,0,0 -BRDA:848,62,1,0 -BRDA:850,63,0,0 -BRDA:850,63,1,0 -BRDA:859,64,0,0 -BRDA:859,64,1,0 -BRDA:871,65,0,0 -BRDA:871,65,1,0 -BRDA:877,66,0,0 -BRDA:877,66,1,0 -BRDA:882,67,0,0 -BRDA:882,67,1,0 -BRDA:916,68,0,0 -BRDA:916,68,1,0 -BRDA:925,69,0,0 -BRDA:925,69,1,0 -BRDA:930,70,0,0 -BRDA:930,70,1,0 -BRDA:951,71,0,0 -BRDA:951,71,1,0 -BRF:144 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/uiState.tsx -FN:156,(anonymous_0) -FN:160,(anonymous_1) -FN:164,(anonymous_2) -FN:168,(anonymous_3) -FN:172,(anonymous_4) -FN:201,(anonymous_5) -FN:205,(anonymous_6) -FN:209,(anonymous_7) -FN:213,(anonymous_8) -FN:217,(anonymous_9) -FN:221,(anonymous_10) -FN:229,(anonymous_11) -FN:233,(anonymous_12) -FN:237,(anonymous_13) -FN:241,(anonymous_14) -FN:247,(anonymous_15) -FN:250,(anonymous_16) -FN:255,(anonymous_17) -FN:261,(anonymous_18) -FN:267,(anonymous_19) -FN:273,(anonymous_20) -FN:279,(anonymous_21) -FN:285,(anonymous_22) -FN:291,(anonymous_23) -FN:297,(anonymous_24) -FN:303,(anonymous_25) -FN:309,(anonymous_26) -FN:315,(anonymous_27) -FN:321,(anonymous_28) -FN:327,(anonymous_29) -FN:333,(anonymous_30) -FN:339,(anonymous_31) -FN:345,(anonymous_32) -FN:351,(anonymous_33) -FN:357,(anonymous_34) -FN:360,(anonymous_35) -FN:375,(anonymous_36) -FN:378,(anonymous_37) -FN:392,(anonymous_38) -FN:398,(anonymous_39) -FN:404,(anonymous_40) -FN:410,(anonymous_41) -FN:416,(anonymous_42) -FN:420,(anonymous_43) -FN:425,(anonymous_44) -FN:426,(anonymous_45) -FN:427,(anonymous_46) -FN:431,(anonymous_47) -FN:437,(anonymous_48) -FN:443,(anonymous_49) -FN:449,(anonymous_50) -FN:455,(anonymous_51) -FN:463,(anonymous_52) -FNF:53 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -FNDA:0,(anonymous_34) -FNDA:0,(anonymous_35) -FNDA:0,(anonymous_36) -FNDA:0,(anonymous_37) -FNDA:0,(anonymous_38) -FNDA:0,(anonymous_39) -FNDA:0,(anonymous_40) -FNDA:0,(anonymous_41) -FNDA:0,(anonymous_42) -FNDA:0,(anonymous_43) -FNDA:0,(anonymous_44) -FNDA:0,(anonymous_45) -FNDA:0,(anonymous_46) -FNDA:0,(anonymous_47) -FNDA:0,(anonymous_48) -FNDA:0,(anonymous_49) -FNDA:0,(anonymous_50) -FNDA:0,(anonymous_51) -FNDA:0,(anonymous_52) -DA:96,0 -DA:106,0 -DA:156,0 -DA:160,0 -DA:164,0 -DA:168,0 -DA:187,0 -DA:201,0 -DA:205,0 -DA:209,0 -DA:213,0 -DA:217,0 -DA:222,0 -DA:224,0 -DA:229,0 -DA:233,0 -DA:237,0 -DA:242,0 -DA:248,0 -DA:251,0 -DA:256,0 -DA:262,0 -DA:268,0 -DA:274,0 -DA:280,0 -DA:286,0 -DA:292,0 -DA:298,0 -DA:304,0 -DA:310,0 -DA:316,0 -DA:322,0 -DA:328,0 -DA:334,0 -DA:340,0 -DA:346,0 -DA:352,0 -DA:358,0 -DA:361,0 -DA:362,0 -DA:371,0 -DA:376,0 -DA:379,0 -DA:380,0 -DA:381,0 -DA:388,0 -DA:393,0 -DA:399,0 -DA:405,0 -DA:411,0 -DA:416,0 -DA:420,0 -DA:425,0 -DA:427,0 -DA:428,0 -DA:432,0 -DA:438,0 -DA:444,0 -DA:450,0 -DA:456,0 -DA:458,0 -DA:464,0 -LF:62 -LH:0 -BRDA:194,0,0,0 -BRDA:194,0,1,0 -BRDA:195,1,0,0 -BRDA:195,1,1,0 -BRDA:348,2,0,0 -BRDA:348,2,1,0 -BRDA:361,3,0,0 -BRDA:361,3,1,0 -BRDA:364,4,0,0 -BRDA:364,4,1,0 -BRDA:367,5,0,0 -BRDA:367,5,1,0 -BRDA:368,6,0,0 -BRDA:368,6,1,0 -BRDA:379,7,0,0 -BRDA:379,7,1,0 -BRDA:380,8,0,0 -BRDA:380,8,1,0 -BRDA:383,9,0,0 -BRDA:383,9,1,0 -BRDA:385,10,0,0 -BRDA:385,10,1,0 -BRDA:466,11,0,0 -BRDA:466,11,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/userState.ts -FN:54,(anonymous_0) -FN:60,(anonymous_1) -FN:66,(anonymous_2) -FN:72,(anonymous_3) -FN:78,(anonymous_4) -FN:84,(anonymous_5) -FN:90,(anonymous_6) -FN:96,(anonymous_7) -FN:104,(anonymous_8) -FN:105,(anonymous_9) -FNF:10 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -DA:37,0 -DA:55,0 -DA:61,0 -DA:67,0 -DA:73,0 -DA:79,0 -DA:85,0 -DA:91,0 -DA:97,0 -DA:104,0 -DA:106,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:115,0 -DA:120,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -LF:21 -LH:0 -BRDA:108,0,0,0 -BRDA:108,0,1,0 -BRDA:108,1,0,0 -BRDA:108,1,1,0 -BRDA:110,2,0,0 -BRDA:110,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/updateCheckForChangesAtomic.ts -FN:4,updateCheckForChangesAtomic -FNF:1 -FNH:0 -FNDA:0,updateCheckForChangesAtomic -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setCreateStylesWithVariableReferences.ts -FN:5,setCreateStylesWithVariableReferences -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setCreateStylesWithVariableReferences -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setIgnoreFirstPartForStyles.ts -FN:5,setIgnoreFirstPartForStyles -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setIgnoreFirstPartForStyles -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setPrefixStylesWithThemeName.ts -FN:5,setPrefixStylesWithThemeName -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setPrefixStylesWithThemeName -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts -FN:5,setRemoveStylesAndVariablesWithoutConnection -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setRemoveStylesAndVariablesWithoutConnection -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setRenameExistingStylesAndVariables.ts -FN:5,setRenameExistingStylesAndVariables -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setRenameExistingStylesAndVariables -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setStyleTypography.ts -FN:5,setStylesTypography -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setStylesTypography -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setStylesColor.ts -FN:5,setStylesColor -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setStylesColor -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setStylesEffect.ts -FN:5,setStylesEffect -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setStylesEffect -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setVariablesBoolean.ts -FN:5,setVariablesBoolean -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setVariablesBoolean -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setVariablesColor.ts -FN:5,setVariablesColor -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setVariablesColor -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setVariablesNumber.ts -FN:5,setVariablesNumber -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setVariablesNumber -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/settingsState/setVariablesString.ts -FN:5,setVariablesString -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setVariablesString -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/assignStyleIdsToCurrentTheme.ts -FN:4,assignStyleIdsToCurrentTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,assignStyleIdsToCurrentTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/assignStyleIdsToTheme.ts -FN:4,assignStyleIdsToTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,assignStyleIdsToTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/assignVariableIdsToTheme.ts -FN:4,assignVariableIdsToTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,assignVariableIdsToTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/deleteTheme.ts -FN:4,deleteTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,deleteTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/removeStyleIdsFromThemes.ts -FN:4,removeStyleIdsFromThemes -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,removeStyleIdsFromThemes -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/removeStyleNamesFromThemes.ts -FN:4,removeStyleNamesFromThemes -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,removeStyleNamesFromThemes -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/removeVariableNamesFromThemes.ts -FN:4,removeVariableNamesFromThemes -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,removeVariableNamesFromThemes -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/renameStyleIdsToCurrentTheme.ts -FN:4,renameStyleIdsToCurrentTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,renameStyleIdsToCurrentTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/renameStyleNamesToCurrentTheme.ts -FN:4,renameStyleNamesToCurrentTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,renameStyleNamesToCurrentTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/renameVariableIdsToTheme.ts -FN:4,renameVariableIdsToTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,renameVariableIdsToTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/renameVariableNamesToThemes.ts -FN:4,renameVariableNamesToThemes -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,renameVariableNamesToThemes -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/saveTheme.ts -FN:4,saveTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,saveTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/setActiveTheme.ts -FN:4,setActiveTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setActiveTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/setDefaultTokens.ts -FN:8,setDefaultTokens -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setDefaultTokens -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/setEmptyTokens.ts -FN:4,setEmptyTokens -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setEmptyTokens -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/effects/tokenState/updateThemeGroupName.ts -FN:4,updateThemeGroupName -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateThemeGroupName -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setCreateStylesWithVariableReferences.ts -FN:3,setCreateStylesWithVariableReferences -FNF:1 -FNH:0 -FNDA:0,setCreateStylesWithVariableReferences -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setIgnoreFirstPartForStyles.ts -FN:3,setIgnoreFirstPartForStyles -FNF:1 -FNH:0 -FNDA:0,setIgnoreFirstPartForStyles -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setPrefixStylesWithThemeName.ts -FN:3,setPrefixStylesWithThemeName -FNF:1 -FNH:0 -FNDA:0,setPrefixStylesWithThemeName -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setRemoveStylesAndVariablesWithoutConnection.ts -FN:3,setRemoveStylesAndVariablesWithoutConnection -FNF:1 -FNH:0 -FNDA:0,setRemoveStylesAndVariablesWithoutConnection -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setRenameExistingStylesAndVariables.ts -FN:3,setRenameExistingStylesAndVariables -FNF:1 -FNH:0 -FNDA:0,setRenameExistingStylesAndVariables -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setShouldSwapStyles.tsx -FN:3,setShouldSwapStyles -FNF:1 -FNH:0 -FNDA:0,setShouldSwapStyles -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setStylesColor.ts -FN:3,setStylesColor -FNF:1 -FNH:0 -FNDA:0,setStylesColor -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setStylesEffect.ts -FN:3,setStylesEffect -FNF:1 -FNH:0 -FNDA:0,setStylesEffect -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setStylesTypography.ts -FN:3,setStylesTypography -FNF:1 -FNH:0 -FNDA:0,setStylesTypography -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setVariablesBoolean.ts -FN:3,setVariablesBoolean -FNF:1 -FNH:0 -FNDA:0,setVariablesBoolean -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setVariablesColor.ts -FN:3,setVariablesColor -FNF:1 -FNH:0 -FNDA:0,setVariablesColor -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setVariablesNumber.ts -FN:3,setVariablesNumber -FNF:1 -FNH:0 -FNDA:0,setVariablesNumber -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/settingsState/setVariablesString.ts -FN:3,setVariablesString -FNF:1 -FNH:0 -FNDA:0,setVariablesString -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/assignStyleIdsToCurrentTheme.ts -FN:5,assignStyleIdsToCurrentTheme -FN:10,(anonymous_1) -FN:10,(anonymous_2) -FN:11,(anonymous_3) -FN:13,(anonymous_4) -FN:13,(anonymous_5) -FN:14,(anonymous_6) -FN:15,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,assignStyleIdsToCurrentTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:7,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:24,0 -LF:10 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/assignStyleIdsToTheme.ts -FN:9,assignStyleIdsToTheme -FN:11,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,assignStyleIdsToTheme -FNDA:0,(anonymous_1) -DA:11,0 -DA:12,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:23,0 -LF:6 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/assignVariableIdsToTheme.ts -FN:4,assignVariableIdsToTheme -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,assignVariableIdsToTheme -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -DA:15,0 -LF:3 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/deleteTheme.ts -FN:3,deleteTheme -FN:5,(anonymous_1) -FN:13,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,deleteTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -DA:13,0 -LF:6 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/disconnectStyleFromTheme.ts -FN:8,disconnectStyleFromTheme -FN:10,(anonymous_1) -FN:15,(anonymous_2) -FN:24,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,disconnectStyleFromTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:10,0 -DA:11,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:33,0 -LF:13 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:12,1,2,0 -BRDA:12,1,3,0 -BRDA:12,1,4,0 -BRDA:12,1,5,0 -BRDA:21,2,0,0 -BRDA:21,2,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/disconnectVariableFromTheme.ts -FN:8,disconnectVariableFromTheme -FN:9,(anonymous_1) -FN:20,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,disconnectVariableFromTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:29,0 -LF:11 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/removeStyleIdsFromThemes.ts -FN:3,removeStyleIdsFromThemes -FN:5,(anonymous_1) -FN:8,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,removeStyleIdsFromThemes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:12,0 -DA:18,0 -LF:8 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/removeStyleNamesFromThemes.ts -FN:4,removeStyleNamesFromThemes -FN:6,(anonymous_1) -FN:9,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,removeStyleNamesFromThemes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:13,0 -DA:18,0 -LF:8 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:10,2,0,0 -BRDA:10,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/removeVariableNamesFromThemes.ts -FN:4,removeVariableNamesFromThemes -FN:5,(anonymous_1) -FN:8,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,removeVariableNamesFromThemes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:12,0 -DA:17,0 -LF:7 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:7,1,0,0 -BRDA:7,1,1,0 -BRDA:9,2,0,0 -BRDA:9,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/renameStyleIdsToCurrentTheme.ts -FN:4,renameStyleIdsToCurrentTheme -FN:6,(anonymous_1) -FN:10,(anonymous_2) -FN:13,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,renameStyleIdsToCurrentTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:20,0 -DA:26,0 -LF:13 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/renameStyleNamesToCurrentTheme.ts -FN:4,renameStyleNamesToCurrentTheme -FN:6,(anonymous_1) -FN:10,(anonymous_2) -FN:13,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,renameStyleNamesToCurrentTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:20,0 -DA:25,0 -LF:13 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/renameTokenSet.ts -FN:10,renameTokenSet -FN:21,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,renameTokenSet -FNDA:0,(anonymous_1) -DA:11,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:22,0 -LF:5 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/renameTokenSetFolder.ts -FN:10,renameTokenSetFolder -FN:21,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,renameTokenSetFolder -FNDA:0,(anonymous_1) -DA:11,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:22,0 -LF:5 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:22,3,0,0 -BRDA:22,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/renameVariableIdsToTheme.ts -FN:8,renameVariableIdsToTheme -FN:11,(anonymous_1) -FN:12,(anonymous_2) -FN:15,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,renameVariableIdsToTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:23,0 -DA:29,0 -LF:13 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:17,1,0,0 -BRDA:17,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/renameVariableNamesToThemes.ts -FN:4,renameVariableNamesToThemes -FN:5,(anonymous_1) -FN:9,(anonymous_2) -FN:12,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,renameVariableNamesToThemes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:5,0 -DA:6,0 -DA:7,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:19,0 -DA:24,0 -LF:12 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/saveTheme.ts -FN:18,saveTheme -FN:24,(anonymous_1) -FN:26,(anonymous_2) -FN:41,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,saveTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:47,0 -DA:49,0 -DA:54,0 -DA:58,0 -DA:61,0 -LF:19 -LH:0 -BRDA:20,0,0,0 -BRDA:20,0,1,0 -BRDA:27,1,0,0 -BRDA:27,1,1,0 -BRDA:34,2,0,0 -BRDA:34,2,1,0 -BRDA:36,3,0,0 -BRDA:36,3,1,0 -BRDA:40,4,0,0 -BRDA:40,4,1,0 -BRDA:42,5,0,0 -BRDA:42,5,1,0 -BRDA:47,6,0,0 -BRDA:47,6,1,0 -BRDA:54,7,0,0 -BRDA:54,7,1,0 -BRDA:54,8,0,0 -BRDA:54,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/setActiveTheme.ts -FN:6,setActiveTheme -FN:8,(anonymous_1) -FN:8,(anonymous_2) -FN:11,(anonymous_3) -FN:12,(anonymous_4) -FN:20,(anonymous_5) -FN:25,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,setActiveTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:18,0 -DA:21,0 -DA:26,0 -DA:29,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:21,2,0,0 -BRDA:21,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/setDefaultTokens.ts -FN:3,setDefaultTokens -FNF:1 -FNH:0 -FNDA:0,setDefaultTokens -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/setEmptyTokens.ts -FN:3,setEmptyTokens -FNF:1 -FNH:0 -FNDA:0,setEmptyTokens -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/setTokenData.ts -FN:11,setTokenData -FN:27,(anonymous_1) -FN:30,(anonymous_2) -FN:31,(anonymous_3) -FN:47,(anonymous_4) -FN:51,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,setTokenData -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:12,0 -DA:13,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:36,0 -DA:39,0 -DA:43,0 -DA:47,0 -DA:51,0 -LF:19 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:27,4,0,0 -BRDA:27,4,1,0 -BRDA:30,5,0,0 -BRDA:30,5,1,0 -BRDA:31,6,0,0 -BRDA:31,6,1,0 -BRDA:31,7,0,0 -BRDA:31,7,1,0 -BRDA:36,8,0,0 -BRDA:36,8,1,0 -BRDA:39,9,0,0 -BRDA:39,9,1,0 -BRDA:47,10,0,0 -BRDA:47,10,1,0 -BRDA:51,11,0,0 -BRDA:51,11,1,0 -BRDA:55,12,0,0 -BRDA:55,12,1,0 -BRDA:56,13,0,0 -BRDA:56,13,1,0 -BRDA:59,14,0,0 -BRDA:59,14,1,0 -BRDA:61,15,0,0 -BRDA:61,15,1,0 -BRF:32 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/toggleManyTokenSets.ts -FN:5,toggleManyTokenSets -FN:8,(anonymous_1) -FN:17,(anonymous_2) -FN:27,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,toggleManyTokenSets -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:6,0 -DA:8,0 -DA:11,0 -DA:12,0 -DA:17,0 -DA:22,0 -DA:27,0 -LF:7 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/toggleUsedTokenSet.ts -FN:4,toggleUsedTokenSet -FNF:1 -FNH:0 -FNDA:0,toggleUsedTokenSet -DA:5,0 -LF:1 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/tokenState/updateThemeGroupName.ts -FN:5,updateThemeGroupName -FN:7,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateThemeGroupName -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:39,0 -LF:16 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:11,2,0,0 -BRDA:11,2,1,0 -BRDA:13,3,0,0 -BRDA:13,3,1,0 -BRDA:13,4,0,0 -BRDA:13,4,1,0 -BRDA:14,5,0,0 -BRDA:14,5,1,0 -BRDA:29,6,0,0 -BRDA:29,6,1,0 -BRDA:30,7,0,0 -BRDA:30,7,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/userState/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/models/reducers/userState/setLicenseStatus.ts -FN:4,setLicenseStatus -FNF:1 -FNH:0 -FNDA:0,setLicenseStatus -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/file.tsx -FN:7,useFile -FN:10,(anonymous_1) -FN:17,(anonymous_2) -FN:36,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useFile -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:8,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:31,0 -DA:36,0 -LF:15 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/getRepositoryInformation.ts -FN:1,getRepositoryInformation -FNF:1 -FNH:0 -FNDA:0,getRepositoryInformation -DA:2,0 -DA:3,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:11,0 -LF:7 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/jsonbin.tsx -FN:23,updateJSONBinTokens -FN:75,useJSONbin -FN:84,(anonymous_2) -FN:124,(anonymous_3) -FN:176,(anonymous_4) -FN:235,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,updateJSONBinTokens -FNDA:0,useJSONbin -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:68,0 -DA:69,0 -DA:72,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:102,0 -DA:112,0 -DA:114,0 -DA:117,0 -DA:118,0 -DA:120,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:139,0 -DA:149,0 -DA:150,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:164,0 -DA:165,0 -DA:167,0 -DA:168,0 -DA:169,0 -DA:176,0 -DA:179,0 -DA:180,0 -DA:181,0 -DA:187,0 -DA:194,0 -DA:195,0 -DA:200,0 -DA:201,0 -DA:204,0 -DA:210,0 -DA:217,0 -DA:222,0 -DA:223,0 -DA:224,0 -DA:226,0 -DA:235,0 -LF:77 -LH:0 -BRDA:24,0,0,0 -BRDA:28,1,0,0 -BRDA:28,1,1,0 -BRDA:28,2,0,0 -BRDA:28,2,1,0 -BRDA:37,3,0,0 -BRDA:37,3,1,0 -BRDA:42,4,0,0 -BRDA:42,4,1,0 -BRDA:44,5,0,0 -BRDA:44,5,1,0 -BRDA:53,6,0,0 -BRDA:53,6,1,0 -BRDA:54,7,0,0 -BRDA:54,7,1,0 -BRDA:55,8,0,0 -BRDA:55,8,1,0 -BRDA:64,9,0,0 -BRDA:64,9,1,0 -BRDA:90,10,0,0 -BRDA:90,10,1,0 -BRDA:128,11,0,0 -BRDA:128,11,1,0 -BRDA:128,12,0,0 -BRDA:128,12,1,0 -BRDA:149,13,0,0 -BRDA:149,13,1,0 -BRDA:155,14,0,0 -BRDA:155,14,1,0 -BRDA:155,15,0,0 -BRDA:155,15,1,0 -BRDA:180,16,0,0 -BRDA:180,16,1,0 -BRDA:180,17,0,0 -BRDA:180,17,1,0 -BRDA:194,18,0,0 -BRDA:194,18,1,0 -BRDA:200,19,0,0 -BRDA:200,19,1,0 -BRF:39 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/url.tsx -FN:19,useURL -FN:24,(anonymous_1) -FN:29,(anonymous_2) -FN:97,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useURL -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:50,0 -DA:51,0 -DA:62,0 -DA:63,0 -DA:69,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:79,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:89,0 -DA:97,0 -LF:30 -LH:0 -BRDA:33,0,0,0 -BRDA:33,0,1,0 -BRDA:33,1,0,0 -BRDA:33,1,1,0 -BRDA:44,2,0,0 -BRDA:44,2,1,0 -BRDA:50,3,0,0 -BRDA:50,3,1,0 -BRDA:62,4,0,0 -BRDA:62,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/ado/ado.tsx -FN:28,(anonymous_0) -FN:40,(anonymous_1) -FN:48,(anonymous_2) -FN:56,(anonymous_3) -FN:133,(anonymous_4) -FN:140,(anonymous_5) -FN:178,(anonymous_6) -FN:248,(anonymous_7) -FN:290,(anonymous_8) -FN:296,(anonymous_9) -FN:301,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:49,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:69,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:87,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:98,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:112,0 -DA:119,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:145,0 -DA:147,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:157,0 -DA:159,0 -DA:160,0 -DA:166,0 -DA:167,0 -DA:172,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:181,0 -DA:182,0 -DA:183,0 -DA:184,0 -DA:190,0 -DA:192,0 -DA:193,0 -DA:194,0 -DA:199,0 -DA:200,0 -DA:205,0 -DA:206,0 -DA:207,0 -DA:208,0 -DA:215,0 -DA:220,0 -DA:221,0 -DA:222,0 -DA:223,0 -DA:226,0 -DA:228,0 -DA:230,0 -DA:231,0 -DA:232,0 -DA:247,0 -DA:249,0 -DA:250,0 -DA:252,0 -DA:253,0 -DA:255,0 -DA:257,0 -DA:258,0 -DA:262,0 -DA:263,0 -DA:267,0 -DA:268,0 -DA:273,0 -DA:290,0 -DA:291,0 -DA:292,0 -DA:293,0 -DA:296,0 -DA:297,0 -DA:298,0 -DA:301,0 -LF:115 -LH:0 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:43,1,0,0 -BRDA:43,1,1,0 -BRDA:44,2,0,0 -BRDA:44,2,1,0 -BRDA:62,3,0,0 -BRDA:62,3,1,0 -BRDA:65,4,0,0 -BRDA:65,4,1,0 -BRDA:106,5,0,0 -BRDA:106,5,1,0 -BRDA:106,6,0,0 -BRDA:106,6,1,0 -BRDA:135,7,0,0 -BRDA:135,7,1,0 -BRDA:142,8,0,0 -BRDA:142,8,1,0 -BRDA:145,9,0,0 -BRDA:145,9,1,0 -BRDA:151,10,0,0 -BRDA:151,10,1,0 -BRDA:157,11,0,0 -BRDA:157,11,1,0 -BRDA:159,12,0,0 -BRDA:159,12,1,0 -BRDA:183,13,0,0 -BRDA:183,13,1,0 -BRDA:193,14,0,0 -BRDA:193,14,1,0 -BRDA:199,15,0,0 -BRDA:199,15,1,0 -BRDA:200,16,0,0 -BRDA:200,16,1,0 -BRDA:201,17,0,0 -BRDA:201,17,1,0 -BRDA:201,17,2,0 -BRDA:203,18,0,0 -BRDA:203,18,1,0 -BRDA:206,19,0,0 -BRDA:206,19,1,0 -BRDA:252,20,0,0 -BRDA:252,20,1,0 -BRDA:257,21,0,0 -BRDA:257,21,1,0 -BRDA:262,22,0,0 -BRDA:262,22,1,0 -BRDA:275,23,0,0 -BRDA:275,23,1,0 -BRDA:276,24,0,0 -BRDA:276,24,1,0 -BRF:51 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/ado/getADOCreatePullRequestUrl.ts -FN:10,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:10,0 -DA:15,0 -LF:2 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/ado/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/bitbucket/bitbucket.tsx -FN:28,useBitbucket -FN:42,(anonymous_1) -FN:59,(anonymous_2) -FN:67,(anonymous_3) -FN:143,(anonymous_4) -FN:155,(anonymous_5) -FN:190,(anonymous_6) -FN:264,(anonymous_7) -FN:295,(anonymous_8) -FN:303,(anonymous_9) -FN:311,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,useBitbucket -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:59,0 -DA:60,0 -DA:64,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:80,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:94,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:116,0 -DA:123,0 -DA:142,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:154,0 -DA:156,0 -DA:157,0 -DA:159,0 -DA:161,0 -DA:165,0 -DA:166,0 -DA:167,0 -DA:168,0 -DA:173,0 -DA:174,0 -DA:177,0 -DA:178,0 -DA:183,0 -DA:189,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:194,0 -DA:195,0 -DA:196,0 -DA:202,0 -DA:203,0 -DA:205,0 -DA:206,0 -DA:207,0 -DA:212,0 -DA:213,0 -DA:218,0 -DA:219,0 -DA:220,0 -DA:221,0 -DA:227,0 -DA:232,0 -DA:233,0 -DA:234,0 -DA:235,0 -DA:238,0 -DA:240,0 -DA:242,0 -DA:243,0 -DA:244,0 -DA:263,0 -DA:265,0 -DA:266,0 -DA:267,0 -DA:271,0 -DA:272,0 -DA:275,0 -DA:280,0 -DA:294,0 -DA:296,0 -DA:297,0 -DA:302,0 -DA:304,0 -DA:305,0 -DA:310,0 -DA:311,0 -LF:107 -LH:0 -BRDA:46,0,0,0 -BRDA:46,0,1,0 -BRDA:47,1,0,0 -BRDA:47,1,1,0 -BRDA:48,2,0,0 -BRDA:48,2,1,0 -BRDA:51,3,0,0 -BRDA:51,3,1,0 -BRDA:52,4,0,0 -BRDA:52,4,1,0 -BRDA:53,5,0,0 -BRDA:53,5,1,0 -BRDA:73,6,0,0 -BRDA:73,6,1,0 -BRDA:76,7,0,0 -BRDA:76,7,1,0 -BRDA:110,8,0,0 -BRDA:110,8,1,0 -BRDA:110,9,0,0 -BRDA:110,9,1,0 -BRDA:147,10,0,0 -BRDA:147,10,1,0 -BRDA:157,11,0,0 -BRDA:157,11,1,0 -BRDA:167,12,0,0 -BRDA:167,12,1,0 -BRDA:173,13,0,0 -BRDA:173,13,1,0 -BRDA:195,14,0,0 -BRDA:195,14,1,0 -BRDA:195,15,0,0 -BRDA:195,15,1,0 -BRDA:206,16,0,0 -BRDA:206,16,1,0 -BRDA:212,17,0,0 -BRDA:212,17,1,0 -BRDA:213,18,0,0 -BRDA:213,18,1,0 -BRDA:214,19,0,0 -BRDA:214,19,1,0 -BRDA:214,19,2,0 -BRDA:216,20,0,0 -BRDA:216,20,1,0 -BRDA:219,21,0,0 -BRDA:219,21,1,0 -BRDA:266,22,0,0 -BRDA:266,22,1,0 -BRDA:271,23,0,0 -BRDA:271,23,1,0 -BRDA:282,24,0,0 -BRDA:282,24,1,0 -BRDA:283,25,0,0 -BRDA:283,25,1,0 -BRF:53 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/bitbucket/getBitbucketCreatePullRequestUrl.ts -FN:2,getBitbucketCreatePullRequestUrl -FNF:1 -FNH:0 -FNDA:0,getBitbucketCreatePullRequestUrl -DA:11,0 -DA:13,0 -LF:2 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/bitbucket/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/generic/versionedStorage.ts -FN:31,updateGenericVersionedTokens -FN:113,useGenericVersionedStorage -FN:123,(anonymous_2) -FN:167,(anonymous_3) -FN:221,(anonymous_4) -FN:297,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,updateGenericVersionedTokens -FNDA:0,useGenericVersionedStorage -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:39,0 -DA:41,0 -DA:42,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:73,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:122,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:144,0 -DA:155,0 -DA:157,0 -DA:159,0 -DA:160,0 -DA:166,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:175,0 -DA:176,0 -DA:177,0 -DA:179,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:198,0 -DA:199,0 -DA:200,0 -DA:209,0 -DA:210,0 -DA:212,0 -DA:213,0 -DA:214,0 -DA:220,0 -DA:226,0 -DA:227,0 -DA:230,0 -DA:231,0 -DA:233,0 -DA:234,0 -DA:240,0 -DA:242,0 -DA:243,0 -DA:248,0 -DA:249,0 -DA:257,0 -DA:268,0 -DA:275,0 -DA:282,0 -DA:287,0 -DA:288,0 -DA:291,0 -DA:296,0 -DA:297,0 -LF:86 -LH:0 -BRDA:36,0,0,0 -BRDA:42,1,0,0 -BRDA:42,1,1,0 -BRDA:45,2,0,0 -BRDA:45,2,1,0 -BRDA:54,3,0,0 -BRDA:54,3,1,0 -BRDA:59,4,0,0 -BRDA:59,4,1,0 -BRDA:62,5,0,0 -BRDA:62,5,1,0 -BRDA:64,6,0,0 -BRDA:64,6,1,0 -BRDA:73,7,0,0 -BRDA:73,7,1,0 -BRDA:75,8,0,0 -BRDA:75,8,1,0 -BRDA:88,9,0,0 -BRDA:88,9,1,0 -BRDA:131,10,0,0 -BRDA:131,10,1,0 -BRDA:173,11,0,0 -BRDA:173,11,1,0 -BRDA:190,12,0,0 -BRDA:190,12,1,0 -BRDA:198,13,0,0 -BRDA:198,13,1,0 -BRDA:198,14,0,0 -BRDA:198,14,1,0 -BRDA:227,15,0,0 -BRDA:227,15,1,0 -BRDA:233,16,0,0 -BRDA:233,16,1,0 -BRDA:242,17,0,0 -BRDA:242,17,1,0 -BRDA:248,18,0,0 -BRDA:248,18,1,0 -BRF:37 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/github/getGithubCreatePullRequestUrl.ts -FN:2,getGithubCreatePullRequestUrl -FNF:1 -FNH:0 -FNDA:0,getGithubCreatePullRequestUrl -DA:9,0 -DA:11,0 -DA:13,0 -LF:3 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/github/github.tsx -FN:29,useGitHub -FN:41,(anonymous_1) -FN:51,(anonymous_2) -FN:59,(anonymous_3) -FN:136,(anonymous_4) -FN:145,(anonymous_5) -FN:186,(anonymous_6) -FN:260,(anonymous_7) -FN:288,(anonymous_8) -FN:293,(anonymous_9) -FN:298,(anonymous_10) -FN:311,(anonymous_11) -FNF:12 -FNH:0 -FNDA:0,useGitHub -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:70,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:88,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:110,0 -DA:117,0 -DA:136,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:149,0 -DA:151,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:158,0 -DA:163,0 -DA:165,0 -DA:166,0 -DA:167,0 -DA:174,0 -DA:179,0 -DA:186,0 -DA:187,0 -DA:188,0 -DA:189,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:198,0 -DA:199,0 -DA:201,0 -DA:202,0 -DA:203,0 -DA:208,0 -DA:209,0 -DA:214,0 -DA:215,0 -DA:216,0 -DA:217,0 -DA:218,0 -DA:225,0 -DA:230,0 -DA:231,0 -DA:232,0 -DA:233,0 -DA:234,0 -DA:237,0 -DA:239,0 -DA:241,0 -DA:242,0 -DA:243,0 -DA:260,0 -DA:261,0 -DA:262,0 -DA:263,0 -DA:267,0 -DA:268,0 -DA:271,0 -DA:276,0 -DA:288,0 -DA:289,0 -DA:290,0 -DA:293,0 -DA:294,0 -DA:295,0 -DA:298,0 -DA:299,0 -DA:300,0 -DA:301,0 -DA:302,0 -DA:303,0 -DA:305,0 -DA:307,0 -DA:311,0 -LF:118 -LH:0 -BRDA:43,0,0,0 -BRDA:43,0,1,0 -BRDA:43,1,0,0 -BRDA:43,1,1,0 -BRDA:43,2,0,0 -BRDA:43,2,1,0 -BRDA:45,3,0,0 -BRDA:45,3,1,0 -BRDA:46,4,0,0 -BRDA:46,4,1,0 -BRDA:47,5,0,0 -BRDA:47,5,1,0 -BRDA:63,6,0,0 -BRDA:63,6,1,0 -BRDA:66,7,0,0 -BRDA:66,7,1,0 -BRDA:80,8,0,0 -BRDA:80,8,1,0 -BRDA:104,9,0,0 -BRDA:104,9,1,0 -BRDA:104,10,0,0 -BRDA:104,10,1,0 -BRDA:140,11,0,0 -BRDA:140,11,1,0 -BRDA:147,12,0,0 -BRDA:147,12,1,0 -BRDA:157,13,0,0 -BRDA:157,13,1,0 -BRDA:163,14,0,0 -BRDA:163,14,1,0 -BRDA:165,15,0,0 -BRDA:165,15,1,0 -BRDA:191,16,0,0 -BRDA:191,16,1,0 -BRDA:191,17,0,0 -BRDA:191,17,1,0 -BRDA:202,18,0,0 -BRDA:202,18,1,0 -BRDA:208,19,0,0 -BRDA:208,19,1,0 -BRDA:209,20,0,0 -BRDA:209,20,1,0 -BRDA:210,21,0,0 -BRDA:210,21,1,0 -BRDA:210,21,2,0 -BRDA:212,22,0,0 -BRDA:212,22,1,0 -BRDA:215,23,0,0 -BRDA:215,23,1,0 -BRDA:233,24,0,0 -BRDA:233,24,1,0 -BRDA:262,25,0,0 -BRDA:262,25,1,0 -BRDA:267,26,0,0 -BRDA:267,26,1,0 -BRDA:278,27,0,0 -BRDA:278,27,1,0 -BRDA:279,28,0,0 -BRDA:279,28,1,0 -BRDA:302,29,0,0 -BRDA:302,29,1,0 -BRDA:302,30,0,0 -BRDA:302,30,1,0 -BRDA:302,30,2,0 -BRF:64 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/github/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/gitlab/getGitlabCreatePullRequestUrl.ts -FN:2,getGitlabCreatePullRequestUrl -FNF:1 -FNH:0 -FNDA:0,getGitlabCreatePullRequestUrl -DA:6,0 -DA:8,0 -LF:2 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/gitlab/gitlab.tsx -FN:31,(anonymous_0) -FN:44,useGitLab -FN:59,(anonymous_2) -FN:67,(anonymous_3) -FN:147,(anonymous_4) -FN:156,(anonymous_5) -FN:192,(anonymous_6) -FN:269,(anonymous_7) -FN:305,(anonymous_8) -FN:310,(anonymous_9) -FN:315,(anonymous_10) -FN:328,(anonymous_11) -FNF:12 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,useGitLab -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -DA:31,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:64,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:80,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:98,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:123,0 -DA:129,0 -DA:147,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:156,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:172,0 -DA:174,0 -DA:175,0 -DA:176,0 -DA:183,0 -DA:184,0 -DA:189,0 -DA:192,0 -DA:193,0 -DA:194,0 -DA:195,0 -DA:196,0 -DA:198,0 -DA:199,0 -DA:205,0 -DA:207,0 -DA:208,0 -DA:209,0 -DA:214,0 -DA:215,0 -DA:220,0 -DA:221,0 -DA:222,0 -DA:223,0 -DA:224,0 -DA:231,0 -DA:236,0 -DA:237,0 -DA:238,0 -DA:239,0 -DA:240,0 -DA:243,0 -DA:245,0 -DA:247,0 -DA:248,0 -DA:249,0 -DA:269,0 -DA:270,0 -DA:271,0 -DA:272,0 -DA:273,0 -DA:275,0 -DA:277,0 -DA:278,0 -DA:282,0 -DA:283,0 -DA:287,0 -DA:288,0 -DA:293,0 -DA:305,0 -DA:306,0 -DA:307,0 -DA:310,0 -DA:311,0 -DA:312,0 -DA:315,0 -DA:316,0 -DA:317,0 -DA:318,0 -DA:319,0 -DA:320,0 -DA:322,0 -DA:324,0 -DA:328,0 -LF:126 -LH:0 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:40,3,0,0 -BRDA:40,3,1,0 -BRDA:73,4,0,0 -BRDA:73,4,1,0 -BRDA:76,5,0,0 -BRDA:76,5,1,0 -BRDA:90,6,0,0 -BRDA:90,6,1,0 -BRDA:117,7,0,0 -BRDA:117,7,1,0 -BRDA:151,8,0,0 -BRDA:151,8,1,0 -BRDA:158,9,0,0 -BRDA:158,9,1,0 -BRDA:165,10,0,0 -BRDA:165,10,1,0 -BRDA:172,11,0,0 -BRDA:172,11,1,0 -BRDA:174,12,0,0 -BRDA:174,12,1,0 -BRDA:179,13,0,0 -BRDA:179,13,1,0 -BRDA:198,14,0,0 -BRDA:198,14,1,0 -BRDA:198,15,0,0 -BRDA:198,15,1,0 -BRDA:208,16,0,0 -BRDA:208,16,1,0 -BRDA:214,17,0,0 -BRDA:214,17,1,0 -BRDA:215,18,0,0 -BRDA:215,18,1,0 -BRDA:216,19,0,0 -BRDA:216,19,1,0 -BRDA:216,19,2,0 -BRDA:218,20,0,0 -BRDA:218,20,1,0 -BRDA:221,21,0,0 -BRDA:221,21,1,0 -BRDA:239,22,0,0 -BRDA:239,22,1,0 -BRDA:272,23,0,0 -BRDA:272,23,1,0 -BRDA:277,24,0,0 -BRDA:277,24,1,0 -BRDA:282,25,0,0 -BRDA:282,25,1,0 -BRDA:295,26,0,0 -BRDA:295,26,1,0 -BRDA:296,27,0,0 -BRDA:296,27,1,0 -BRDA:319,28,0,0 -BRDA:319,28,1,0 -BRDA:319,29,0,0 -BRDA:319,29,1,0 -BRDA:319,29,2,0 -BRF:62 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/gitlab/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/supernova/getSupernovaOpenCloud.ts -FN:2,getSupernovaOpenCloud -FNF:1 -FNH:0 -FNDA:0,getSupernovaOpenCloud -DA:3,0 -LF:1 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/supernova/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/supernova/supernova.tsx -FN:29,useSupernova -FN:39,(anonymous_1) -FN:45,(anonymous_2) -FN:119,(anonymous_3) -FN:152,(anonymous_4) -FN:167,(anonymous_5) -FN:200,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,useSupernova -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:55,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:74,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:100,0 -DA:102,0 -DA:108,0 -DA:119,0 -DA:120,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:130,0 -DA:132,0 -DA:134,0 -DA:140,0 -DA:145,0 -DA:151,0 -DA:153,0 -DA:154,0 -DA:156,0 -DA:157,0 -DA:166,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:175,0 -DA:176,0 -DA:180,0 -DA:181,0 -DA:184,0 -DA:189,0 -DA:199,0 -DA:200,0 -LF:63 -LH:0 -BRDA:50,0,0,0 -BRDA:50,0,1,0 -BRDA:93,1,0,0 -BRDA:93,1,1,0 -BRDA:124,2,0,0 -BRDA:124,2,1,0 -BRDA:130,3,0,0 -BRDA:130,3,1,0 -BRDA:132,4,0,0 -BRDA:132,4,1,0 -BRDA:169,5,0,0 -BRDA:169,5,1,0 -BRDA:175,6,0,0 -BRDA:175,6,1,0 -BRDA:180,7,0,0 -BRDA:180,7,1,0 -BRDA:191,8,0,0 -BRDA:191,8,1,0 -BRDA:192,9,0,0 -BRDA:192,9,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/tokens-studio/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/app/store/providers/tokens-studio/tokensStudio.tsx -FN:52,(anonymous_0) -FN:62,(anonymous_1) -FN:75,useTokensStudio -FN:85,(anonymous_3) -FN:91,(anonymous_4) -FN:165,(anonymous_5) -FN:198,(anonymous_6) -FN:232,(anonymous_7) -FN:256,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,useTokensStudio -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:65,0 -DA:67,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:90,0 -DA:92,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:101,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:120,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:135,0 -DA:136,0 -DA:142,0 -DA:164,0 -DA:166,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:171,0 -DA:176,0 -DA:177,0 -DA:181,0 -DA:187,0 -DA:192,0 -DA:197,0 -DA:199,0 -DA:200,0 -DA:201,0 -DA:203,0 -DA:204,0 -DA:206,0 -DA:212,0 -DA:213,0 -DA:220,0 -DA:221,0 -DA:222,0 -DA:231,0 -DA:233,0 -DA:234,0 -DA:235,0 -DA:241,0 -DA:245,0 -DA:255,0 -DA:256,0 -LF:70 -LH:0 -BRDA:53,0,0,0 -BRDA:53,0,1,0 -BRDA:96,1,0,0 -BRDA:96,1,1,0 -BRDA:170,2,0,0 -BRDA:170,2,1,0 -BRDA:176,3,0,0 -BRDA:176,3,1,0 -BRDA:179,4,0,0 -BRDA:179,4,1,0 -BRDA:203,5,0,0 -BRDA:203,5,1,0 -BRDA:203,6,0,0 -BRDA:203,6,1,0 -BRDA:217,7,0,0 -BRDA:217,7,1,0 -BRDA:234,8,0,0 -BRDA:234,8,1,0 -BRDA:234,9,0,0 -BRDA:234,9,1,0 -BRDA:247,10,0,0 -BRDA:247,10,1,0 -BRDA:248,11,0,0 -BRDA:248,11,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/app/store/utils/updateAliasesInState.ts -FN:6,updateAliasesInState -FN:9,(anonymous_1) -FN:10,(anonymous_2) -FN:21,(anonymous_3) -FN:21,(anonymous_4) -FN:38,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,updateAliasesInState -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:27,0 -DA:30,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:47,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:59,0 -DA:64,0 -DA:65,0 -DA:69,0 -DA:70,0 -DA:74,0 -LF:30 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:20,2,0,0 -BRDA:20,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:27,4,0,0 -BRDA:27,4,1,0 -BRDA:37,5,0,0 -BRDA:37,5,1,0 -BRDA:43,6,0,0 -BRDA:43,6,1,0 -BRDA:44,7,0,0 -BRDA:44,7,1,0 -BRDA:54,8,0,0 -BRDA:54,8,1,0 -BRDA:55,9,0,0 -BRDA:55,9,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/app/store/utils/updateModify.ts -FN:4,updateModify -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateModify -FNDA:0,(anonymous_1) -DA:5,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:14,0 -DA:18,0 -LF:7 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRDA:8,2,0,0 -BRDA:8,2,1,0 -BRDA:8,3,0,0 -BRDA:8,3,1,0 -BRDA:8,3,2,0 -BRDA:24,4,0,0 -BRDA:24,4,1,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/config/properties.js -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/config/tokenType.defs.json.d.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/config/tokenTypes.js -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/AliasRegex.ts -FNF:0 -FNH:0 -DA:2,0 -DA:5,0 -DA:7,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ApplyVariablesStyleOrder.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/BackgroundJobs.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/BoxShadowTypes.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ColorModifierTypes.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ColorSpaceTypes.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/DefaultWindowSize.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/Direction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/DocumentationProperties.ts -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/EditTokenFormStatus.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ErrorMessages.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ExportProviderType.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/InternalTokenGroup.ts -FNF:0 -FNH:0 -DA:1,0 -DA:2,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/LicenseStatus.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/LoadProviderType.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ModalOptions.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/Properties.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/SharedPluginDataKeys.ts -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/SharedPluginDataNamespaces.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/StorageProviderType.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/StyleIdBackupKeys.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/StyleOptions.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/SystemFilenames.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/Tabs.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/TokenSetStatus.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/TokenTypes.ts -FNF:0 -FNH:0 -DA:29,1 -LF:1 -LH:1 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/UpdateMode.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/ValidNodeTypes.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/VariableTypes.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/defaultBaseFontSize.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/docUrls.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/constants/numberRegex.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/context/AuthContext.tsx -FN:13,(anonymous_0) -FN:14,(anonymous_1) -FN:15,(anonymous_2) -FN:18,(anonymous_3) -FN:23,(anonymous_4) -FN:34,handleLogin -FN:43,handleLogout -FN:54,(anonymous_7) -FN:71,(anonymous_8) -FN:88,(anonymous_9) -FN:89,checkAuthData -FN:90,(anonymous_11) -FN:105,(anonymous_12) -FN:120,(anonymous_13) -FNF:14 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,handleLogin -FNDA:0,handleLogout -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,checkAuthData -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -DA:11,0 -DA:21,0 -DA:23,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:37,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:68,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:85,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:94,0 -DA:99,0 -DA:100,0 -DA:104,0 -DA:105,0 -DA:117,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:125,0 -LF:45 -LH:0 -BRDA:57,0,0,0 -BRDA:57,0,1,0 -BRDA:58,1,0,0 -BRDA:58,1,1,0 -BRDA:74,2,0,0 -BRDA:74,2,1,0 -BRDA:75,3,0,0 -BRDA:75,3,1,0 -BRDA:91,4,0,0 -BRDA:91,4,1,0 -BRDA:99,5,0,0 -BRDA:99,5,1,0 -BRDA:106,6,0,0 -BRDA:106,6,1,0 -BRDA:122,7,0,0 -BRDA:122,7,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/context/DragControlsContext.tsx -FNF:0 -FNH:0 -DA:8,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/context/ReorderContext.ts -FNF:0 -FNH:0 -DA:16,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/context/TokensContext.ts -FNF:0 -FNH:0 -DA:8,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/context/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/ActiveThemeProperty.ts -FN:9,(anonymous_0) -FN:10,(anonymous_1) -FN:10,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:9,0 -DA:10,0 -DA:11,0 -LF:4 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/ApiProvidersProperty.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FN:13,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:5,0 -DA:8,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -LF:6 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/AuthDataProperty.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:5,0 -DA:8,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/CheckForChangesProperty.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:5,0 -DA:8,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/ClientStorageCleanup.ts -FN:1,cleanupOldTokenPrefixes -FN:4,(anonymous_1) -FN:6,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,cleanupOldTokenPrefixes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:2,0 -DA:4,0 -DA:6,0 -DA:8,0 -DA:9,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/ClientStorageProperty.ts -FN:9,(anonymous_0) -FN:26,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:51,0 -LF:28 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:20,2,0,0 -BRDA:20,2,1,0 -BRDA:29,3,0,0 -BRDA:29,3,1,0 -BRDA:32,4,0,0 -BRDA:32,4,1,0 -BRDA:37,5,0,0 -BRDA:37,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/CollapsedTokenSetsProperty.ts -FN:9,(anonymous_0) -FN:10,(anonymous_1) -FN:10,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -LF:5 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/FigmaStorageProperty.ts -FN:14,(anonymous_0) -FN:16,(anonymous_1) -FN:18,(anonymous_2) -FN:36,(anonymous_3) -FN:60,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:10,0 -DA:14,0 -DA:16,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:72,0 -LF:26 -LH:0 -BRDA:26,0,0,0 -BRDA:26,0,1,0 -BRDA:27,1,0,0 -BRDA:27,1,1,0 -BRDA:36,2,0,0 -BRDA:36,3,0,0 -BRDA:37,4,0,0 -BRDA:37,4,1,0 -BRDA:39,5,0,0 -BRDA:39,5,1,0 -BRDA:42,6,0,0 -BRDA:42,6,1,0 -BRDA:48,7,0,0 -BRDA:48,7,1,0 -BRDA:60,8,0,0 -BRDA:60,9,0,0 -BRDA:61,10,0,0 -BRDA:61,10,1,0 -BRDA:62,11,0,0 -BRDA:62,11,1,0 -BRDA:66,12,0,0 -BRDA:66,12,1,0 -BRDA:71,13,0,0 -BRDA:71,13,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/FileKeyProperty.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:5,0 -DA:8,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/InitialLoadProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/IsCompressedProperty.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:5,0 -DA:8,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/LastOpenedProperty.ts -FN:6,(anonymous_0) -FN:7,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:3,0 -DA:6,0 -DA:7,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/LicenseKeyProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/OnboardingExplainerExportSetsProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/OnboardingExplainerInspectProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/OnboardingExplainerSetsProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/OnboardingExplainerSyncProvidersProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/StorageSizeManager.ts -FN:5,getStorageSize -FN:8,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getStorageSize -FNDA:0,(anonymous_1) -DA:3,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -LF:9 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/StorageTypeProperty.ts -FN:11,(anonymous_0) -FN:12,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:8,0 -DA:11,0 -DA:12,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/ThemesProperty.ts -FN:11,(anonymous_0) -FN:12,(anonymous_1) -FN:12,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:8,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -LF:9 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/TokenFormatProperty.ts -FNF:0 -FNH:0 -DA:6,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/UiSettingsProperty.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:5,0 -DA:8,0 -DA:9,0 -LF:3 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/UpdatedAtProperty.ts -FNF:0 -FNH:0 -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/UsedEmailProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/UsedTokenSetProperty.ts -FN:10,(anonymous_0) -FN:11,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:7,0 -DA:10,0 -DA:11,0 -LF:3 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/UserIdProperty.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/ValuesProperty.ts -FN:11,(anonymous_0) -FN:12,(anonymous_1) -FN:12,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:8,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -LF:7 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/VersionProperty.ts -FNF:0 -FNH:0 -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/figmaStorage/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/useChangedState.ts -FN:15,useChangedState -FN:24,(anonymous_1) -FN:33,(anonymous_2) -FN:45,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useChangedState -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:50,0 -DA:53,0 -LF:18 -LH:0 -BRDA:29,0,0,0 -BRDA:29,0,1,0 -BRDA:39,1,0,0 -BRDA:39,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/hooks/useDelayedFlag.ts -FN:3,useDelayedFlag -FN:6,(anonymous_1) -FN:10,(anonymous_2) -FN:11,(anonymous_3) -FN:16,(anonymous_4) -FN:17,(anonymous_5) -FN:22,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,useDelayedFlag -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:4,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:22,0 -DA:25,0 -LF:15 -LH:0 -BRDA:3,0,0,0 -BRDA:3,1,0,0 -BRDA:3,2,0,0 -BRDA:3,3,0,0 -BRDA:7,4,0,0 -BRDA:7,4,1,0 -BRDA:8,5,0,0 -BRDA:8,5,1,0 -BRDA:9,6,0,0 -BRDA:9,6,1,0 -BRDA:14,7,0,0 -BRDA:14,7,1,0 -BRDA:15,8,0,0 -BRDA:15,8,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/hooks/useFigmaFonts.tsx -FN:7,useFigmaFonts -FN:11,(anonymous_1) -FN:18,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,useFigmaFonts -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:8,0 -DA:11,0 -DA:12,0 -DA:15,0 -DA:18,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/useFigmaTheme.ts -FN:3,useFigmaTheme -FN:6,(anonymous_1) -FN:11,(anonymous_2) -FN:21,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,useFigmaTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:4,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -DA:21,0 -DA:24,0 -LF:11 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/hooks/useGetActiveState.ts -FN:8,useGetActiveState -FN:9,(anonymous_1) -FN:19,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,useGetActiveState -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:11,0 -DA:15,0 -DA:17,0 -DA:21,0 -LF:6 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:18,2,0,0 -BRDA:18,2,1,0 -BRDA:21,3,0,0 -BRDA:21,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/hooks/useSetNodeData.ts -FN:10,useSetNodeData -FN:13,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,useSetNodeData -FNDA:0,(anonymous_1) -DA:11,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:23,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/useShortcut.ts -FN:6,useShortcut -FN:11,(anonymous_1) -FN:19,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,useShortcut -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:7,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/hooks/useProcess/CanceledError.ts -FN:2,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/useProcess/ProcessCancelToken.ts -FN:10,(anonymous_0) -FN:11,(anonymous_1) -FN:14,(anonymous_2) -FN:16,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:4,0 -DA:6,0 -DA:11,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -LF:8 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/hooks/useProcess/ProcessStepStatus.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/useProcess/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/hooks/useProcess/useProcess.ts -FN:13,useProcess -FN:16,(anonymous_1) -FN:18,(anonymous_2) -FN:24,(anonymous_3) -FN:29,(anonymous_4) -FN:33,(anonymous_5) -FN:34,(anonymous_6) -FN:37,(anonymous_7) -FN:52,(anonymous_8) -FN:56,(anonymous_9) -FN:65,(anonymous_10) -FN:66,(anonymous_11) -FN:75,(anonymous_12) -FN:80,(anonymous_13) -FNF:14 -FNH:0 -FNDA:0,useProcess -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:80,0 -LF:39 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:19,0,2,0 -BRDA:30,1,0,0 -BRDA:30,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRDA:38,3,0,0 -BRDA:38,3,1,0 -BRDA:57,4,0,0 -BRDA:57,4,1,0 -BRDA:67,5,0,0 -BRDA:67,5,1,0 -BRDA:67,6,0,0 -BRDA:67,6,1,0 -BRF:15 -BRH:0 -end_of_record -TN: -SF:src/i18n/i18next.d.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/i18n/index.ts -FN:61,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:11,0 -DA:13,0 -DA:15,0 -DA:27,0 -DA:52,0 -DA:61,0 -LF:6 -LH:0 -BRDA:61,0,0,0 -BRDA:61,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/i18n/lang/en/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/i18n/lang/es/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/i18n/lang/fr/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/i18n/lang/hi/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/i18n/lang/nl/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/i18n/lang/zh/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/icons/index.tsx -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/mocks/browser.ts -FNF:0 -FNH:0 -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/mocks/handlers.ts -FN:14,(anonymous_0) -FN:24,(anonymous_1) -FN:40,(anonymous_2) -FN:63,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:53,0 -DA:56,0 -DA:63,0 -LF:26 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:27,1,0,0 -BRDA:27,1,1,0 -BRDA:42,2,0,0 -BRDA:42,2,1,0 -BRDA:45,3,0,0 -BRDA:45,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/mocks/server.ts -FNF:0 -FNH:0 -DA:6,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/motion/ReorderGroup.tsx -FN:20,getValue -FN:24,compareMin -FN:28,ReorderGroup -FN:42,(anonymous_3) -FN:44,(anonymous_4) -FN:47,(anonymous_5) -FN:53,(anonymous_6) -FN:63,(anonymous_7) -FN:69,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,getValue -FNDA:0,compareMin -FNDA:0,ReorderGroup -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:21,0 -DA:25,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:45,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:54,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:69,0 -DA:70,0 -DA:73,0 -LF:19 -LH:0 -BRDA:45,0,0,0 -BRDA:45,0,1,0 -BRDA:46,1,0,0 -BRDA:46,1,1,0 -BRDA:54,2,0,0 -BRDA:54,2,1,0 -BRDA:56,3,0,0 -BRDA:56,3,1,0 -BRDA:58,4,0,0 -BRDA:58,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/motion/ReorderItem.tsx -FN:17,useDefaultMotionValue -FN:23,ReorderItem -FN:43,(anonymous_2) -FN:47,(anonymous_3) -FN:55,(anonymous_4) -FN:59,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,useDefaultMotionValue -FNDA:0,ReorderItem -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:20,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:43,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:55,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:63,0 -LF:17 -LH:0 -BRDA:17,0,0,0 -BRDA:20,1,0,0 -BRDA:20,1,1,0 -BRDA:29,2,0,0 -BRDA:43,3,0,0 -BRDA:43,3,1,0 -BRDA:43,4,0,0 -BRDA:43,4,1,0 -BRDA:49,5,0,0 -BRDA:49,5,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/CanceledError.ts -FN:2,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/NodeManager.ts -FN:20,(anonymous_0) -FN:21,(anonymous_1) -FN:24,(anonymous_2) -FN:25,(anonymous_3) -FN:32,(anonymous_4) -FN:43,(anonymous_5) -FN:77,(anonymous_6) -FN:79,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:18,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:64,0 -DA:67,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:82,0 -DA:87,0 -DA:88,0 -DA:91,0 -DA:93,0 -DA:95,0 -DA:100,0 -DA:104,0 -LF:37 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRDA:35,1,0,0 -BRDA:35,1,1,0 -BRDA:57,2,0,0 -BRDA:57,2,1,0 -BRDA:59,3,0,0 -BRDA:59,3,1,0 -BRDA:61,4,0,0 -BRDA:61,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/ProgressTracker.ts -FN:16,(anonymous_0) -FN:23,(anonymous_1) -FN:30,(anonymous_2) -FN:34,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:8,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:31,0 -DA:35,0 -DA:36,0 -DA:42,0 -DA:43,0 -LF:16 -LH:0 -BRDA:16,0,0,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:35,2,0,0 -BRDA:35,2,1,0 -BRDA:40,3,0,0 -BRDA:40,3,1,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/plugin/ResolvedTypographyObject.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/SharedDataHandler.ts -FN:7,(anonymous_0) -FN:11,(anonymous_1) -FN:15,(anonymous_2) -FN:23,(anonymous_3) -FN:26,(anonymous_4) -FN:45,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:8,0 -DA:12,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:40,0 -DA:42,0 -DA:46,0 -DA:50,0 -LF:20 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:27,2,0,0 -BRDA:27,2,1,0 -BRDA:29,3,0,0 -BRDA:29,3,1,0 -BRDA:33,4,0,0 -BRDA:33,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/TokenFormatStoreClass.ts -FN:20,(anonymous_0) -FN:27,(anonymous_1) -FN:34,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:34,0 -DA:37,0 -DA:38,0 -LF:13 -LH:0 -BRDA:29,0,0,0 -BRDA:29,0,1,0 -BRDA:30,1,0,0 -BRDA:30,1,1,0 -BRDA:31,2,0,0 -BRDA:31,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/TokenValueRetriever.ts -FN:22,(anonymous_0) -FN:27,(anonymous_1) -FN:28,(anonymous_2) -FN:33,(anonymous_3) -FN:58,(anonymous_4) -FN:75,(anonymous_5) -FN:79,(anonymous_6) -FN:108,(anonymous_7) -FN:112,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:23,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:76,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:99,0 -DA:100,0 -DA:104,0 -DA:105,0 -DA:109,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:123,0 -LF:46 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:23,1,0,0 -BRDA:23,1,1,0 -BRDA:38,2,0,0 -BRDA:39,3,0,0 -BRDA:40,4,0,0 -BRDA:50,5,0,0 -BRDA:50,5,1,0 -BRDA:53,6,0,0 -BRDA:53,6,1,0 -BRDA:54,7,0,0 -BRDA:54,7,1,0 -BRDA:63,8,0,0 -BRDA:63,8,1,0 -BRDA:63,8,2,0 -BRDA:64,9,0,0 -BRDA:64,9,1,0 -BRDA:70,10,0,0 -BRDA:70,10,1,0 -BRDA:82,11,0,0 -BRDA:82,11,1,0 -BRDA:84,12,0,0 -BRDA:84,12,1,0 -BRDA:88,13,0,0 -BRDA:88,13,1,0 -BRDA:88,14,0,0 -BRDA:88,14,1,0 -BRDA:89,15,0,0 -BRDA:89,15,1,0 -BRDA:90,16,0,0 -BRDA:90,16,1,0 -BRDA:90,17,0,0 -BRDA:90,17,1,0 -BRDA:93,18,0,0 -BRDA:93,18,1,0 -BRDA:104,19,0,0 -BRDA:104,19,1,0 -BRDA:113,20,0,0 -BRDA:113,20,1,0 -BRDA:114,21,0,0 -BRDA:114,21,1,0 -BRDA:115,22,0,0 -BRDA:115,22,1,0 -BRDA:116,23,0,0 -BRDA:116,23,1,0 -BRDA:117,24,0,0 -BRDA:117,24,1,0 -BRDA:118,25,0,0 -BRDA:118,25,1,0 -BRDA:119,26,0,0 -BRDA:119,26,1,0 -BRF:52 -BRH:0 -end_of_record -TN: -SF:src/plugin/Worker.ts -FN:18,(anonymous_0) -FN:26,(anonymous_1) -FN:27,(anonymous_2) -FN:46,(anonymous_3) -FN:49,(anonymous_4) -FN:50,(anonymous_5) -FN:59,(anonymous_6) -FN:65,(anonymous_7) -FN:69,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:77,0 -DA:78,0 -LF:40 -LH:0 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRDA:39,1,0,0 -BRDA:39,1,1,0 -BRDA:70,2,0,0 -BRDA:70,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyAssetTokenValuesOnNode.ts -FN:5,applyAssetTokenValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyAssetTokenValuesOnNode -DA:10,0 -DA:11,0 -LF:2 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:10,1,2,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyBackgroundBlurValuesOnNode.ts -FN:6,applyBackgroundBlurValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyBackgroundBlurValuesOnNode -DA:12,0 -DA:13,0 -LF:2 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:12,1,2,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyBooleanTokenValuesOnNode.ts -FN:5,applyBooleanTokenValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyBooleanTokenValuesOnNode -DA:10,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -LF:5 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:11,1,2,0 -BRDA:11,1,3,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:18,3,0,0 -BRDA:18,3,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyBorderRadiusValuesOnNode.ts -FN:7,applyBorderRadiusValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyBorderRadiusValuesOnNode -DA:13,0 -DA:17,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:34,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:61,0 -DA:63,0 -DA:66,0 -DA:72,0 -DA:73,0 -DA:76,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:92,0 -DA:93,0 -DA:96,0 -DA:102,0 -DA:103,0 -LF:39 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRDA:18,3,0,0 -BRDA:18,3,1,0 -BRDA:18,3,2,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:23,4,2,0 -BRDA:23,4,3,0 -BRDA:23,4,4,0 -BRDA:25,5,0,0 -BRDA:25,5,1,0 -BRDA:26,6,0,0 -BRDA:26,6,1,0 -BRDA:28,7,0,0 -BRDA:28,7,1,0 -BRDA:28,7,2,0 -BRDA:28,7,3,0 -BRDA:39,8,0,0 -BRDA:39,8,1,0 -BRDA:47,9,0,0 -BRDA:47,9,1,0 -BRDA:55,10,0,0 -BRDA:55,10,1,0 -BRDA:66,11,0,0 -BRDA:66,11,1,0 -BRDA:67,12,0,0 -BRDA:67,12,1,0 -BRDA:67,12,2,0 -BRDA:67,12,3,0 -BRDA:72,13,0,0 -BRDA:72,13,1,0 -BRDA:76,14,0,0 -BRDA:76,14,1,0 -BRDA:77,15,0,0 -BRDA:77,15,1,0 -BRDA:77,15,2,0 -BRDA:77,15,3,0 -BRDA:82,16,0,0 -BRDA:82,16,1,0 -BRDA:86,17,0,0 -BRDA:86,17,1,0 -BRDA:87,18,0,0 -BRDA:87,18,1,0 -BRDA:87,18,2,0 -BRDA:87,18,3,0 -BRDA:92,19,0,0 -BRDA:92,19,1,0 -BRDA:96,20,0,0 -BRDA:96,20,1,0 -BRDA:97,21,0,0 -BRDA:97,21,1,0 -BRDA:97,21,2,0 -BRDA:97,21,3,0 -BRDA:102,22,0,0 -BRDA:102,22,1,0 -BRF:60 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyBorderValuesOnNode.ts -FN:7,applyBorderValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyBorderValuesOnNode -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:31,0 -DA:32,0 -DA:40,0 -DA:41,0 -DA:42,0 -LF:15 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRDA:20,4,0,0 -BRDA:20,4,1,0 -BRDA:20,5,0,0 -BRDA:20,5,1,0 -BRDA:23,6,0,0 -BRDA:23,6,1,0 -BRDA:23,7,0,0 -BRDA:23,7,1,0 -BRDA:26,8,0,0 -BRDA:26,8,1,0 -BRDA:26,9,0,0 -BRDA:26,9,1,0 -BRDA:31,10,0,0 -BRDA:31,10,1,0 -BRDA:31,11,0,0 -BRDA:31,11,1,0 -BRDA:31,11,2,0 -BRDA:40,12,0,0 -BRDA:40,12,1,0 -BRDA:40,13,0,0 -BRDA:40,13,1,0 -BRDA:41,14,0,0 -BRDA:41,14,1,0 -BRDA:41,15,0,0 -BRDA:41,15,1,0 -BRF:33 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyBorderWidthValuesOnNode.ts -FN:7,applyBorderWidthValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyBorderWidthValuesOnNode -DA:14,0 -DA:27,0 -DA:30,0 -DA:36,0 -DA:39,0 -DA:45,0 -DA:48,0 -DA:54,0 -DA:57,0 -DA:63,0 -LF:10 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:15,1,2,0 -BRDA:15,1,3,0 -BRDA:15,1,4,0 -BRDA:21,2,0,0 -BRDA:21,2,1,0 -BRDA:21,2,2,0 -BRDA:21,2,3,0 -BRDA:30,3,0,0 -BRDA:30,3,1,0 -BRDA:31,4,0,0 -BRDA:31,4,1,0 -BRDA:31,4,2,0 -BRDA:31,4,3,0 -BRDA:39,5,0,0 -BRDA:39,5,1,0 -BRDA:40,6,0,0 -BRDA:40,6,1,0 -BRDA:40,6,2,0 -BRDA:40,6,3,0 -BRDA:48,7,0,0 -BRDA:48,7,1,0 -BRDA:49,8,0,0 -BRDA:49,8,1,0 -BRDA:49,8,2,0 -BRDA:49,8,3,0 -BRDA:57,9,0,0 -BRDA:57,9,1,0 -BRDA:58,10,0,0 -BRDA:58,10,1,0 -BRDA:58,10,2,0 -BRDA:58,10,3,0 -BRF:35 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyColorTokenOnNode.ts -FN:10,applyColorTokenOnNode -FNF:1 -FNH:0 -FNDA:0,applyColorTokenOnNode -DA:11,0 -DA:12,0 -DA:13,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:37,0 -DA:42,0 -DA:43,0 -LF:16 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRDA:14,1,3,0 -BRDA:14,1,4,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:27,3,0,0 -BRDA:27,3,1,0 -BRDA:28,4,0,0 -BRDA:28,4,1,0 -BRDA:32,5,0,0 -BRDA:32,5,1,0 -BRDA:42,6,0,0 -BRDA:42,6,1,0 -BRDA:42,7,0,0 -BRDA:42,7,1,0 -BRDA:42,7,2,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyDimensionTokenValuesOnNode.ts -FN:7,applyDimensionTokenValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyDimensionTokenValuesOnNode -DA:13,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:33,0 -DA:34,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRDA:18,2,0,0 -BRDA:18,2,1,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRDA:27,6,0,0 -BRDA:27,6,1,0 -BRDA:29,7,0,0 -BRDA:29,7,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyNumberTokenValuesOnNode.ts -FN:7,applyNumberTokenValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyNumberTokenValuesOnNode -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:29,0 -DA:30,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:13,1,2,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRDA:15,3,0,0 -BRDA:15,3,1,0 -BRDA:19,4,0,0 -BRDA:19,4,1,0 -BRDA:22,5,0,0 -BRDA:22,5,1,0 -BRDA:23,6,0,0 -BRDA:23,6,1,0 -BRDA:25,7,0,0 -BRDA:25,7,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyOpacityValuesOnNode.ts -FN:7,applyOpacityValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyOpacityValuesOnNode -DA:14,0 -DA:21,0 -LF:2 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:15,1,2,0 -BRDA:15,1,3,0 -BRDA:15,1,4,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyPositionTokenOnNode.ts -FN:7,applyPositionTokenOnNode -FNF:1 -FNH:0 -FNDA:0,applyPositionTokenOnNode -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -LF:7 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:15,3,0,0 -BRDA:15,3,1,0 -BRDA:19,4,0,0 -BRDA:19,4,1,0 -BRDA:19,5,0,0 -BRDA:19,5,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyRotationValuesOnNode.ts -FN:8,applyRotationValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyRotationValuesOnNode -DA:15,0 -DA:22,0 -DA:23,0 -LF:3 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:16,1,2,0 -BRDA:16,1,3,0 -BRDA:16,1,4,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyShadowValuesOnNode.ts -FN:10,applyShadowValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyShadowValuesOnNode -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:36,0 -DA:42,0 -DA:43,0 -DA:44,0 -LF:17 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:16,1,2,0 -BRDA:18,2,0,0 -BRDA:18,2,1,0 -BRDA:22,3,0,0 -BRDA:22,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRDA:27,6,0,0 -BRDA:27,6,1,0 -BRDA:31,7,0,0 -BRDA:31,7,1,0 -BRDA:42,8,0,0 -BRDA:42,8,1,0 -BRDA:42,9,0,0 -BRDA:42,9,1,0 -BRDA:42,9,2,0 -BRDA:43,10,0,0 -BRDA:43,10,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/plugin/applySizingValuesOnNode.ts -FN:9,applySizingValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applySizingValuesOnNode -DA:17,0 -DA:27,0 -DA:28,0 -DA:32,0 -DA:39,0 -DA:43,0 -DA:50,0 -DA:54,0 -DA:62,0 -DA:69,0 -DA:73,0 -DA:80,0 -DA:84,0 -DA:91,0 -DA:95,0 -DA:102,0 -LF:16 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:18,1,2,0 -BRDA:18,1,3,0 -BRDA:18,1,4,0 -BRDA:23,2,0,0 -BRDA:23,2,1,0 -BRDA:32,3,0,0 -BRDA:32,3,1,0 -BRDA:33,4,0,0 -BRDA:33,4,1,0 -BRDA:33,4,2,0 -BRDA:33,4,3,0 -BRDA:33,4,4,0 -BRDA:43,5,0,0 -BRDA:43,5,1,0 -BRDA:44,6,0,0 -BRDA:44,6,1,0 -BRDA:44,6,2,0 -BRDA:44,6,3,0 -BRDA:44,6,4,0 -BRDA:54,7,0,0 -BRDA:54,7,1,0 -BRDA:55,8,0,0 -BRDA:55,8,1,0 -BRDA:55,8,2,0 -BRDA:55,8,3,0 -BRDA:55,8,4,0 -BRDA:55,8,5,0 -BRDA:55,8,6,0 -BRDA:55,8,7,0 -BRDA:62,9,0,0 -BRDA:62,9,1,0 -BRDA:63,10,0,0 -BRDA:63,10,1,0 -BRDA:63,10,2,0 -BRDA:63,10,3,0 -BRDA:63,10,4,0 -BRDA:73,11,0,0 -BRDA:73,11,1,0 -BRDA:74,12,0,0 -BRDA:74,12,1,0 -BRDA:74,12,2,0 -BRDA:74,12,3,0 -BRDA:74,12,4,0 -BRDA:84,13,0,0 -BRDA:84,13,1,0 -BRDA:85,14,0,0 -BRDA:85,14,1,0 -BRDA:85,14,2,0 -BRDA:85,14,3,0 -BRDA:85,14,4,0 -BRDA:95,15,0,0 -BRDA:95,15,1,0 -BRDA:96,16,0,0 -BRDA:96,16,1,0 -BRDA:96,16,2,0 -BRDA:96,16,3,0 -BRDA:96,16,4,0 -BRF:61 -BRH:0 -end_of_record -TN: -SF:src/plugin/applySpacingValuesOnNode.ts -FN:7,applySpacingValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applySpacingValuesOnNode -DA:14,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:60,0 -DA:66,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:77,0 -DA:83,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:95,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:106,0 -DA:107,0 -DA:111,0 -DA:117,0 -DA:118,0 -DA:122,0 -DA:128,0 -DA:129,0 -DA:132,0 -DA:138,0 -DA:139,0 -DA:143,0 -DA:149,0 -DA:150,0 -DA:154,0 -DA:160,0 -DA:161,0 -LF:58 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:15,1,2,0 -BRDA:15,1,3,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:22,2,2,0 -BRDA:22,2,3,0 -BRDA:22,2,4,0 -BRDA:24,3,0,0 -BRDA:24,3,1,0 -BRDA:26,4,0,0 -BRDA:26,4,1,0 -BRDA:26,4,2,0 -BRDA:26,4,3,0 -BRDA:60,5,0,0 -BRDA:60,5,1,0 -BRDA:61,6,0,0 -BRDA:61,6,1,0 -BRDA:61,6,2,0 -BRDA:61,6,3,0 -BRDA:66,7,0,0 -BRDA:66,7,1,0 -BRDA:68,8,0,0 -BRDA:68,8,1,0 -BRDA:77,9,0,0 -BRDA:77,9,1,0 -BRDA:78,10,0,0 -BRDA:78,10,1,0 -BRDA:78,10,2,0 -BRDA:78,10,3,0 -BRDA:83,11,0,0 -BRDA:83,11,1,0 -BRDA:85,12,0,0 -BRDA:85,12,1,0 -BRDA:95,13,0,0 -BRDA:95,13,1,0 -BRDA:96,14,0,0 -BRDA:96,14,1,0 -BRDA:96,14,2,0 -BRDA:96,14,3,0 -BRDA:101,15,0,0 -BRDA:101,15,1,0 -BRDA:103,16,0,0 -BRDA:103,16,1,0 -BRDA:106,17,0,0 -BRDA:106,17,1,0 -BRDA:111,18,0,0 -BRDA:111,18,1,0 -BRDA:112,19,0,0 -BRDA:112,19,1,0 -BRDA:112,19,2,0 -BRDA:112,19,3,0 -BRDA:117,20,0,0 -BRDA:117,20,1,0 -BRDA:122,21,0,0 -BRDA:122,21,1,0 -BRDA:123,22,0,0 -BRDA:123,22,1,0 -BRDA:123,22,2,0 -BRDA:123,22,3,0 -BRDA:128,23,0,0 -BRDA:128,23,1,0 -BRDA:132,24,0,0 -BRDA:132,24,1,0 -BRDA:133,25,0,0 -BRDA:133,25,1,0 -BRDA:133,25,2,0 -BRDA:133,25,3,0 -BRDA:138,26,0,0 -BRDA:138,26,1,0 -BRDA:143,27,0,0 -BRDA:143,27,1,0 -BRDA:144,28,0,0 -BRDA:144,28,1,0 -BRDA:144,28,2,0 -BRDA:144,28,3,0 -BRDA:149,29,0,0 -BRDA:149,29,1,0 -BRDA:154,30,0,0 -BRDA:154,30,1,0 -BRDA:155,31,0,0 -BRDA:155,31,1,0 -BRDA:155,31,2,0 -BRDA:155,31,3,0 -BRDA:160,32,0,0 -BRDA:160,32,1,0 -BRF:89 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyTextCharacterValuesOnNode.ts -FN:6,applyTextCharacterValuesOnNode -FNF:1 -FNH:0 -FNDA:0,applyTextCharacterValuesOnNode -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:23,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:40,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -LF:22 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:24,5,0,0 -BRDA:24,5,1,0 -BRDA:24,5,2,0 -BRDA:24,5,3,0 -BRDA:29,6,0,0 -BRDA:29,6,1,0 -BRDA:35,7,0,0 -BRDA:35,7,1,0 -BRDA:36,8,0,0 -BRDA:36,8,1,0 -BRDA:36,9,0,0 -BRDA:36,9,1,0 -BRDA:39,10,0,0 -BRDA:39,10,1,0 -BRDA:45,11,0,0 -BRDA:45,11,1,0 -BRDA:46,12,0,0 -BRDA:46,12,1,0 -BRDA:46,13,0,0 -BRDA:46,13,1,0 -BRDA:53,14,0,0 -BRDA:53,14,1,0 -BRDA:54,15,0,0 -BRDA:54,15,1,0 -BRDA:54,16,0,0 -BRDA:54,16,1,0 -BRF:36 -BRH:0 -end_of_record -TN: -SF:src/plugin/applyTypographyTokenOnNode.ts -FN:11,formatValue -FN:18,buildResolvedValueObject -FN:46,buildValueObject -FN:66,applyTypographyTokenOnNode -FNF:4 -FNH:0 -FNDA:0,formatValue -FNDA:0,buildResolvedValueObject -FNDA:0,buildValueObject -FNDA:0,applyTypographyTokenOnNode -DA:12,0 -DA:13,0 -DA:15,0 -DA:19,0 -DA:47,0 -DA:49,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:90,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:98,0 -DA:99,0 -DA:102,0 -LF:24 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:21,2,0,0 -BRDA:21,2,1,0 -BRDA:21,2,2,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:26,3,2,0 -BRDA:31,4,0,0 -BRDA:31,4,1,0 -BRDA:31,4,2,0 -BRDA:36,5,0,0 -BRDA:36,5,1,0 -BRDA:36,5,2,0 -BRDA:38,6,0,0 -BRDA:38,6,1,0 -BRDA:39,7,0,0 -BRDA:39,7,1,0 -BRDA:40,8,0,0 -BRDA:40,8,1,0 -BRDA:41,9,0,0 -BRDA:41,9,1,0 -BRDA:42,10,0,0 -BRDA:42,10,1,0 -BRDA:47,11,0,0 -BRDA:47,11,1,0 -BRDA:50,12,0,0 -BRDA:50,12,1,0 -BRDA:51,13,0,0 -BRDA:51,13,1,0 -BRDA:52,14,0,0 -BRDA:52,14,1,0 -BRDA:53,15,0,0 -BRDA:53,15,1,0 -BRDA:54,16,0,0 -BRDA:54,16,1,0 -BRDA:55,17,0,0 -BRDA:55,17,1,0 -BRDA:58,18,0,0 -BRDA:58,18,1,0 -BRDA:61,19,0,0 -BRDA:61,19,1,0 -BRDA:62,20,0,0 -BRDA:62,20,1,0 -BRDA:72,21,0,0 -BRDA:72,21,1,0 -BRDA:74,22,0,0 -BRDA:74,22,1,0 -BRDA:78,23,0,0 -BRDA:78,23,1,0 -BRDA:78,24,0,0 -BRDA:78,24,1,0 -BRDA:78,24,2,0 -BRDA:81,25,0,0 -BRDA:81,25,1,0 -BRDA:81,26,0,0 -BRDA:81,26,1,0 -BRDA:84,27,0,0 -BRDA:84,27,1,0 -BRDA:84,28,0,0 -BRDA:84,28,1,0 -BRDA:90,29,0,0 -BRDA:90,29,1,0 -BRDA:90,30,0,0 -BRDA:90,30,1,0 -BRDA:92,31,0,0 -BRDA:92,31,1,0 -BRDA:92,32,0,0 -BRDA:92,32,1,0 -BRDA:92,32,2,0 -BRDA:92,32,3,0 -BRF:73 -BRH:0 -end_of_record -TN: -SF:src/plugin/compareStyleWithToken.ts -FN:9,compareStyleValueWithTokenValue -FNF:1 -FNH:0 -FNDA:0,compareStyleValueWithTokenValue -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:30,0 -LF:12 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:19,2,0,0 -BRDA:19,2,1,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:23,5,0,0 -BRDA:23,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/plugin/controller.ts -FN:78,(anonymous_0) -FN:82,(anonymous_1) -FN:86,(anonymous_2) -FN:90,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:18,0 -DA:19,0 -DA:23,0 -DA:28,0 -DA:32,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:78,0 -DA:79,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:87,0 -DA:90,0 -DA:92,0 -LF:52 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/createLocalVariablesInPlugin.ts -FN:28,createLocalVariablesInPlugin -FN:33,(anonymous_1) -FN:48,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,createLocalVariablesInPlugin -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:30,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:63,0 -DA:65,0 -DA:68,0 -DA:71,0 -DA:74,0 -DA:75,0 -DA:77,0 -DA:78,0 -DA:80,0 -DA:82,0 -LF:30 -LH:0 -BRDA:43,0,0,0 -BRDA:43,0,1,0 -BRDA:43,0,2,0 -BRDA:43,0,3,0 -BRDA:44,1,0,0 -BRDA:44,1,1,0 -BRDA:44,2,0,0 -BRDA:44,2,1,0 -BRDA:44,2,2,0 -BRDA:49,3,0,0 -BRDA:49,3,1,0 -BRDA:51,4,0,0 -BRDA:51,4,1,0 -BRDA:51,5,0,0 -BRDA:51,5,1,0 -BRDA:57,6,0,0 -BRDA:57,6,1,0 -BRDA:74,7,0,0 -BRDA:74,7,1,0 -BRDA:77,8,0,0 -BRDA:77,8,1,0 -BRF:21 -BRH:0 -end_of_record -TN: -SF:src/plugin/createLocalVariablesWithoutModesInPlugin.ts -FN:25,createLocalVariablesWithoutModesInPlugin -FN:38,(anonymous_1) -FN:51,(anonymous_2) -FN:53,(anonymous_3) -FN:60,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,createLocalVariablesWithoutModesInPlugin -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:48,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:64,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:76,0 -DA:78,0 -DA:81,0 -DA:82,0 -DA:85,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:93,0 -LF:36 -LH:0 -BRDA:36,0,0,0 -BRDA:36,0,1,0 -BRDA:36,0,2,0 -BRDA:36,0,3,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:61,3,0,0 -BRDA:61,3,1,0 -BRDA:64,4,0,0 -BRDA:64,4,1,0 -BRDA:64,5,0,0 -BRDA:64,5,1,0 -BRDA:70,6,0,0 -BRDA:70,6,1,0 -BRDA:85,7,0,0 -BRDA:85,7,1,0 -BRDA:88,8,0,0 -BRDA:88,8,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/plugin/createNecessaryVariableCollections.ts -FN:5,createNecessaryVariableCollections -FN:7,(anonymous_1) -FN:9,(anonymous_2) -FN:11,(anonymous_3) -FN:12,(anonymous_4) -FN:22,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,createNecessaryVariableCollections -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:6,0 -DA:7,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:15,0 -DA:18,0 -DA:19,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:39,0 -LF:20 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:12,2,0,0 -BRDA:12,2,1,0 -BRDA:15,3,0,0 -BRDA:15,3,1,0 -BRDA:18,4,0,0 -BRDA:18,4,1,0 -BRDA:22,5,0,0 -BRDA:22,5,1,0 -BRDA:24,6,0,0 -BRDA:24,6,1,0 -BRDA:25,7,0,0 -BRDA:25,7,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/plugin/createVariableMode.ts -FN:3,createVariableMode -FNF:1 -FNH:0 -FNDA:0,createVariableMode -DA:4,0 -DA:5,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:16,0 -DA:19,0 -LF:10 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:11,2,0,0 -BRDA:11,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/findCollectionAndModeIdForTheme.ts -FN:2,findCollectionAndModeIdForTheme -FN:3,(anonymous_1) -FN:9,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,findCollectionAndModeIdForTheme -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:3,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:13,0 -LF:6 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/generateTokensToCreate.ts -FN:8,generateTokensToCreate -FN:21,(anonymous_1) -FN:22,(anonymous_2) -FN:25,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,generateTokensToCreate -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -LF:6 -LH:0 -BRDA:12,0,0,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRDA:21,1,2,0 -BRDA:25,2,0,0 -BRDA:25,2,1,0 -BRDA:25,2,2,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/plugin/getAppliedStylesFromNode.ts -FN:19,getStyleFromNode -FN:37,(anonymous_1) -FN:47,getAppliedStylesFromNode -FN:52,(anonymous_3) -FN:55,(anonymous_4) -FN:72,(anonymous_5) -FN:125,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,getStyleFromNode -FNDA:0,(anonymous_1) -FNDA:0,getAppliedStylesFromNode -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:20,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:44,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:72,0 -DA:75,0 -DA:81,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:111,0 -DA:123,0 -DA:125,0 -DA:128,0 -DA:129,0 -DA:133,0 -LF:63 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:26,1,0,0 -BRDA:26,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:38,3,0,0 -BRDA:38,3,1,0 -BRDA:39,4,0,0 -BRDA:39,4,1,0 -BRDA:49,5,0,0 -BRDA:49,5,1,0 -BRDA:52,6,0,0 -BRDA:52,6,1,0 -BRDA:52,7,0,0 -BRDA:52,7,1,0 -BRDA:52,8,0,0 -BRDA:52,8,1,0 -BRDA:64,9,0,0 -BRDA:64,9,1,0 -BRDA:69,10,0,0 -BRDA:69,10,1,0 -BRDA:76,11,0,0 -BRDA:76,11,1,0 -BRDA:86,12,0,0 -BRDA:86,12,1,0 -BRDA:91,13,0,0 -BRDA:91,13,1,0 -BRDA:96,14,0,0 -BRDA:96,14,1,0 -BRDA:100,15,0,0 -BRDA:100,15,1,0 -BRF:32 -BRH:0 -end_of_record -TN: -SF:src/plugin/getAppliedVariablesFromNode.ts -FN:12,getAppliedVariablesFromNode -FN:15,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getAppliedVariablesFromNode -FNDA:0,(anonymous_1) -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:33,0 -DA:35,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:61,0 -DA:63,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:88,0 -LF:36 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRDA:16,3,2,0 -BRDA:18,4,0,0 -BRDA:18,4,1,0 -BRDA:20,5,0,0 -BRDA:20,5,1,0 -BRDA:23,6,0,0 -BRDA:23,6,1,0 -BRDA:43,7,0,0 -BRDA:43,7,1,0 -BRDA:43,8,0,0 -BRDA:43,8,1,0 -BRDA:46,9,0,0 -BRDA:46,9,1,0 -BRDA:48,10,0,0 -BRDA:48,10,1,0 -BRDA:48,11,0,0 -BRDA:48,11,1,0 -BRDA:48,11,2,0 -BRDA:51,12,0,0 -BRDA:51,12,1,0 -BRDA:71,13,0,0 -BRDA:71,13,1,0 -BRDA:71,14,0,0 -BRDA:71,14,1,0 -BRDA:73,15,0,0 -BRDA:73,15,1,0 -BRDA:73,16,0,0 -BRDA:73,16,1,0 -BRDA:75,17,0,0 -BRDA:75,17,1,0 -BRDA:80,18,0,0 -BRDA:80,18,1,0 -BRF:41 -BRH:0 -end_of_record -TN: -SF:src/plugin/getFigmaDashPattern.ts -FN:1,getFigmaDashPattern -FNF:1 -FNH:0 -FNDA:0,getFigmaDashPattern -DA:2,0 -DA:4,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:14,0 -LF:7 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:2,0,2,0 -BRDA:2,0,3,0 -BRDA:2,0,4,0 -BRDA:2,0,5,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/getVariablesWithoutZombies.ts -FN:6,getVariablesWithoutZombies -FN:9,(anonymous_1) -FN:9,(anonymous_2) -FN:10,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,getVariablesWithoutZombies -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:13,0 -LF:6 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/helpers.ts -FN:14,getUserId -FN:32,getFileKey -FN:58,transformValue -FNF:3 -FNH:0 -FNDA:0,getUserId -FNDA:0,getFileKey -FNDA:0,transformValue -DA:15,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:47,0 -DA:59,0 -DA:65,0 -DA:69,0 -DA:90,0 -DA:93,0 -DA:95,0 -DA:98,0 -DA:100,0 -DA:102,0 -DA:104,0 -DA:106,0 -DA:109,0 -DA:111,0 -LF:31 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRDA:58,2,0,0 -BRDA:59,3,0,0 -BRDA:59,3,1,0 -BRDA:59,3,2,0 -BRDA:59,3,3,0 -BRDA:59,3,4,0 -BRDA:59,3,5,0 -BRDA:59,3,6,0 -BRDA:59,3,7,0 -BRDA:59,3,8,0 -BRDA:59,3,9,0 -BRDA:59,3,10,0 -BRDA:59,3,11,0 -BRDA:59,3,12,0 -BRDA:59,3,13,0 -BRDA:59,3,14,0 -BRDA:59,3,15,0 -BRDA:59,3,16,0 -BRDA:59,3,17,0 -BRDA:59,3,18,0 -BRDA:59,3,19,0 -BRDA:59,3,20,0 -BRDA:59,3,21,0 -BRDA:59,3,22,0 -BRDA:59,3,23,0 -BRDA:59,3,24,0 -BRDA:59,3,25,0 -BRDA:59,3,26,0 -BRDA:59,3,27,0 -BRDA:59,3,28,0 -BRDA:59,3,29,0 -BRDA:59,3,30,0 -BRDA:59,3,31,0 -BRDA:59,3,32,0 -BRDA:59,3,33,0 -BRDA:59,3,34,0 -BRDA:59,3,35,0 -BRDA:59,3,36,0 -BRDA:59,3,37,0 -BRDA:59,3,38,0 -BRDA:59,3,39,0 -BRF:45 -BRH:0 -end_of_record -TN: -SF:src/plugin/mergeVariableReferences.ts -FN:8,mergeVariableReferencesWithLocalVariables -FN:12,(anonymous_1) -FN:14,(anonymous_2) -FN:21,(anonymous_3) -FN:23,(anonymous_4) -FN:30,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,mergeVariableReferencesWithLocalVariables -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:9,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:27,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:36,0 -LF:17 -LH:0 -BRDA:8,0,0,0 -BRDA:8,1,0,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRDA:22,4,0,0 -BRDA:22,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRDA:32,6,0,0 -BRDA:32,6,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/plugin/node.ts -FN:23,returnValueToLookFor -FN:55,mapValuesToTokens -FN:56,(anonymous_2) -FN:68,(anonymous_3) -FN:102,getSavedStorageType -FN:113,getTokenData -FN:154,(anonymous_6) -FN:176,saveStorageType -FN:180,saveOnboardingExplainerSets -FN:184,saveOnboardingExplainerExportSets -FN:188,saveOnboardingExplainerSyncProviders -FN:192,saveOnboardingExplainerInspect -FN:196,goToNode -FN:208,selectNodes -FN:209,(anonymous_14) -FN:216,destructureTokenForAlias -FN:221,(anonymous_16) -FNF:17 -FNH:0 -FNDA:0,returnValueToLookFor -FNDA:0,mapValuesToTokens -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,getSavedStorageType -FNDA:0,getTokenData -FNDA:0,(anonymous_6) -FNDA:0,saveStorageType -FNDA:0,saveOnboardingExplainerSets -FNDA:0,saveOnboardingExplainerExportSets -FNDA:0,saveOnboardingExplainerSyncProviders -FNDA:0,saveOnboardingExplainerInspect -FNDA:0,goToNode -FNDA:0,selectNodes -FNDA:0,(anonymous_14) -FNDA:0,destructureTokenForAlias -FNDA:0,(anonymous_16) -DA:24,0 -DA:26,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:38,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:76,0 -DA:78,0 -DA:79,0 -DA:86,0 -DA:88,0 -DA:91,0 -DA:94,0 -DA:97,0 -DA:99,0 -DA:105,0 -DA:107,0 -DA:108,0 -DA:110,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:135,0 -DA:136,0 -DA:139,0 -DA:140,0 -DA:142,0 -DA:143,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:158,0 -DA:170,0 -DA:172,0 -DA:177,0 -DA:181,0 -DA:185,0 -DA:189,0 -DA:193,0 -DA:197,0 -DA:198,0 -DA:203,0 -DA:204,0 -DA:209,0 -DA:210,0 -DA:212,0 -DA:217,0 -DA:218,0 -DA:219,0 -DA:220,0 -DA:221,0 -DA:222,0 -DA:223,0 -DA:224,0 -DA:225,0 -DA:227,0 -DA:228,0 -DA:231,0 -DA:233,0 -DA:234,0 -DA:235,0 -DA:236,0 -DA:237,0 -DA:238,0 -DA:240,0 -DA:241,0 -DA:242,0 -DA:246,0 -DA:248,0 -DA:249,0 -DA:251,0 -DA:252,0 -DA:254,0 -DA:255,0 -DA:257,0 -DA:258,0 -DA:260,0 -LF:105 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:24,0,2,0 -BRDA:24,0,3,0 -BRDA:24,0,4,0 -BRDA:59,1,0,0 -BRDA:59,1,1,0 -BRDA:60,2,0,0 -BRDA:60,2,1,0 -BRDA:62,3,0,0 -BRDA:62,3,1,0 -BRDA:62,4,0,0 -BRDA:62,4,1,0 -BRDA:64,5,0,0 -BRDA:64,5,1,0 -BRDA:65,6,0,0 -BRDA:65,6,1,0 -BRDA:67,7,0,0 -BRDA:67,7,1,0 -BRDA:72,8,0,0 -BRDA:72,8,1,0 -BRDA:72,9,0,0 -BRDA:72,9,1,0 -BRDA:72,9,2,0 -BRDA:72,9,3,0 -BRDA:76,10,0,0 -BRDA:76,10,1,0 -BRDA:78,11,0,0 -BRDA:78,11,1,0 -BRDA:79,12,0,0 -BRDA:79,12,1,0 -BRDA:80,13,0,0 -BRDA:80,13,1,0 -BRDA:80,13,2,0 -BRDA:80,13,3,0 -BRDA:80,13,4,0 -BRDA:80,13,5,0 -BRDA:91,14,0,0 -BRDA:91,14,1,0 -BRDA:107,15,0,0 -BRDA:107,15,1,0 -BRDA:124,16,0,0 -BRDA:124,16,1,0 -BRDA:131,17,0,0 -BRDA:131,17,1,0 -BRDA:132,18,0,0 -BRDA:132,18,1,0 -BRDA:133,19,0,0 -BRDA:133,19,1,0 -BRDA:135,20,0,0 -BRDA:135,20,1,0 -BRDA:136,21,0,0 -BRDA:136,21,1,0 -BRDA:139,22,0,0 -BRDA:139,22,1,0 -BRDA:140,23,0,0 -BRDA:140,23,1,0 -BRDA:142,24,0,0 -BRDA:142,24,1,0 -BRDA:143,25,0,0 -BRDA:143,25,1,0 -BRDA:147,26,0,0 -BRDA:147,26,1,0 -BRDA:150,27,0,0 -BRDA:150,27,1,0 -BRDA:150,27,2,0 -BRDA:153,28,0,0 -BRDA:153,28,1,0 -BRDA:155,29,0,0 -BRDA:155,29,1,0 -BRDA:162,30,0,0 -BRDA:162,30,1,0 -BRDA:163,31,0,0 -BRDA:163,31,1,0 -BRDA:198,32,0,0 -BRDA:198,32,1,0 -BRDA:199,33,0,0 -BRDA:199,33,1,0 -BRDA:199,33,2,0 -BRDA:210,34,0,0 -BRDA:210,34,1,0 -BRDA:217,35,0,0 -BRDA:217,35,1,0 -BRDA:217,36,0,0 -BRDA:217,36,1,0 -BRDA:220,37,0,0 -BRDA:220,37,1,0 -BRDA:223,38,0,0 -BRDA:223,38,1,0 -BRDA:224,39,0,0 -BRDA:224,39,1,0 -BRDA:231,40,0,0 -BRDA:231,40,1,0 -BRDA:231,41,0,0 -BRDA:231,41,1,0 -BRDA:231,41,2,0 -BRDA:231,41,3,0 -BRDA:234,42,0,0 -BRDA:234,42,1,0 -BRDA:234,43,0,0 -BRDA:234,43,1,0 -BRDA:235,44,0,0 -BRDA:235,44,1,0 -BRDA:236,45,0,0 -BRDA:236,45,1,0 -BRDA:240,46,0,0 -BRDA:240,46,1,0 -BRDA:246,47,0,0 -BRDA:246,47,1,0 -BRDA:248,48,0,0 -BRDA:248,48,1,0 -BRDA:248,49,0,0 -BRDA:248,49,1,0 -BRDA:249,50,0,0 -BRDA:249,50,1,0 -BRDA:251,51,0,0 -BRDA:251,51,1,0 -BRDA:251,52,0,0 -BRDA:251,52,1,0 -BRDA:252,53,0,0 -BRDA:252,53,1,0 -BRDA:254,54,0,0 -BRDA:254,54,1,0 -BRDA:254,55,0,0 -BRDA:254,55,1,0 -BRDA:255,56,0,0 -BRDA:255,56,1,0 -BRDA:257,57,0,0 -BRDA:257,57,1,0 -BRDA:257,58,0,0 -BRDA:257,58,1,0 -BRDA:258,59,0,0 -BRDA:258,59,1,0 -BRF:133 -BRH:0 -end_of_record -TN: -SF:src/plugin/notifiers.ts -FN:17,notifyUI -FN:21,notifyToUI -FN:29,postToUI -FN:33,notifyNoSelection -FN:39,notifySelection -FN:87,notifyUISettings -FN:160,notifyAPIProviders -FN:164,notifyStyleValues -FN:168,notifyVariableValues -FN:179,notifySetTokens -FN:183,notifyException -FN:191,trackFromPlugin -FNF:12 -FNH:2 -FNDA:0,notifyUI -FNDA:0,notifyToUI -FNDA:7,postToUI -FNDA:0,notifyNoSelection -FNDA:0,notifySelection -FNDA:0,notifyUISettings -FNDA:0,notifyAPIProviders -FNDA:0,notifyStyleValues -FNDA:7,notifyVariableValues -FNDA:0,notifySetTokens -FNDA:0,notifyException -FNDA:0,trackFromPlugin -DA:18,0 -DA:22,0 -DA:30,7 -DA:34,0 -DA:48,0 -DA:119,0 -DA:154,0 -DA:161,0 -DA:165,0 -DA:172,7 -DA:180,0 -DA:184,0 -DA:192,0 -LF:13 -LH:2 -BRDA:21,0,0,0 -BRDA:108,1,0,0 -BRDA:183,2,0,0 -BRDA:191,3,0,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/performCodeGen.ts -FN:3,performCodeGen -FN:7,(anonymous_1) -FN:12,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,performCodeGen -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:15,0 -LF:6 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/pluginData.ts -FN:15,transformPluginDataToSelectionValues -FN:16,(anonymous_1) -FN:19,(anonymous_2) -FN:20,(anonymous_3) -FN:34,(anonymous_4) -FN:36,(anonymous_5) -FN:36,(anonymous_6) -FN:52,(anonymous_7) -FN:54,(anonymous_8) -FN:54,(anonymous_9) -FN:73,transformPluginDataToMainNodeSelectionValues -FN:74,(anonymous_11) -FN:77,(anonymous_12) -FN:85,(anonymous_13) -FN:102,sendPluginValues -FN:117,removePluginData -FN:118,(anonymous_16) -FN:125,(anonymous_17) -FN:135,setNonePluginData -FN:136,(anonymous_19) -FNF:20 -FNH:0 -FNDA:0,transformPluginDataToSelectionValues -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,transformPluginDataToMainNodeSelectionValues -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,sendPluginValues -FNDA:0,removePluginData -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,setNonePluginData -FNDA:0,(anonymous_19) -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:67,0 -DA:70,0 -DA:74,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:90,0 -DA:91,0 -DA:93,0 -DA:104,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:136,0 -DA:137,0 -DA:138,0 -LF:51 -LH:0 -BRDA:20,0,0,0 -BRDA:20,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRDA:36,2,0,0 -BRDA:36,2,1,0 -BRDA:37,3,0,0 -BRDA:37,3,1,0 -BRDA:54,4,0,0 -BRDA:54,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRDA:108,6,0,0 -BRDA:108,6,1,0 -BRDA:108,7,0,0 -BRDA:108,7,1,0 -BRDA:109,8,0,0 -BRDA:109,8,1,0 -BRDA:113,9,0,0 -BRDA:113,9,1,0 -BRDA:117,10,0,0 -BRDA:119,11,0,0 -BRDA:119,11,1,0 -BRDA:121,12,0,0 -BRDA:121,12,1,0 -BRDA:127,13,0,0 -BRDA:127,13,1,0 -BRF:27 -BRH:0 -end_of_record -TN: -SF:src/plugin/processTextStyleProperty.ts -FN:5,processTextStyleProperty -FN:18,(anonymous_1) -FN:23,(anonymous_2) -FN:25,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,processTextStyleProperty -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:29,0 -DA:33,0 -DA:34,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:56,0 -LF:20 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRDA:19,2,0,0 -BRDA:19,2,1,0 -BRDA:24,3,0,0 -BRDA:24,3,1,0 -BRDA:25,4,0,0 -BRDA:25,4,1,0 -BRDA:25,5,0,0 -BRDA:25,5,1,0 -BRDA:25,5,2,0 -BRDA:25,5,3,0 -BRDA:29,6,0,0 -BRDA:29,6,1,0 -BRDA:33,7,0,0 -BRDA:33,7,1,0 -BRDA:36,8,0,0 -BRDA:36,8,1,0 -BRDA:45,9,0,0 -BRDA:45,9,1,0 -BRDA:48,10,0,0 -BRDA:48,10,1,0 -BRDA:49,11,0,0 -BRDA:49,11,1,0 -BRDA:51,12,0,0 -BRDA:51,12,1,0 -BRF:28 -BRH:0 -end_of_record -TN: -SF:src/plugin/pullStyles.ts -FN:22,pullStyles -FN:41,(anonymous_1) -FN:42,(anonymous_2) -FN:64,(anonymous_3) -FN:91,(anonymous_4) -FN:102,(anonymous_5) -FN:110,(anonymous_6) -FN:114,(anonymous_7) -FN:114,(anonymous_8) -FN:117,(anonymous_9) -FN:125,(anonymous_10) -FN:128,(anonymous_11) -FN:129,(anonymous_12) -FN:148,(anonymous_13) -FN:152,(anonymous_14) -FN:152,(anonymous_15) -FN:153,(anonymous_16) -FN:171,(anonymous_17) -FN:175,(anonymous_18) -FN:183,(anonymous_19) -FN:187,(anonymous_20) -FN:188,(anonymous_21) -FN:194,(anonymous_22) -FN:202,(anonymous_23) -FN:205,(anonymous_24) -FN:211,(anonymous_25) -FN:217,(anonymous_26) -FN:223,(anonymous_27) -FN:232,(anonymous_28) -FN:241,(anonymous_29) -FN:249,(anonymous_30) -FN:257,(anonymous_31) -FN:260,(anonymous_32) -FN:262,(anonymous_33) -FN:271,(anonymous_34) -FN:274,(anonymous_35) -FN:277,(anonymous_36) -FN:294,(anonymous_37) -FN:311,(anonymous_38) -FN:311,(anonymous_39) -FN:312,(anonymous_40) -FN:316,(anonymous_41) -FN:333,(anonymous_42) -FN:367,(anonymous_43) -FNF:44 -FNH:0 -FNDA:0,pullStyles -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -FNDA:0,(anonymous_31) -FNDA:0,(anonymous_32) -FNDA:0,(anonymous_33) -FNDA:0,(anonymous_34) -FNDA:0,(anonymous_35) -FNDA:0,(anonymous_36) -FNDA:0,(anonymous_37) -FNDA:0,(anonymous_38) -FNDA:0,(anonymous_39) -FNDA:0,(anonymous_40) -FNDA:0,(anonymous_41) -FNDA:0,(anonymous_42) -FNDA:0,(anonymous_43) -DA:23,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:67,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:102,0 -DA:110,0 -DA:113,0 -DA:114,0 -DA:117,0 -DA:125,0 -DA:128,0 -DA:129,0 -DA:132,0 -DA:133,0 -DA:140,0 -DA:148,0 -DA:152,0 -DA:153,0 -DA:155,0 -DA:156,0 -DA:163,0 -DA:171,0 -DA:175,0 -DA:183,0 -DA:186,0 -DA:187,0 -DA:188,0 -DA:194,0 -DA:202,0 -DA:205,0 -DA:211,0 -DA:217,0 -DA:218,0 -DA:223,0 -DA:227,0 -DA:232,0 -DA:236,0 -DA:241,0 -DA:244,0 -DA:249,0 -DA:252,0 -DA:257,0 -DA:260,0 -DA:261,0 -DA:262,0 -DA:263,0 -DA:264,0 -DA:265,0 -DA:268,0 -DA:270,0 -DA:271,0 -DA:273,0 -DA:274,0 -DA:276,0 -DA:277,0 -DA:280,0 -DA:292,0 -DA:294,0 -DA:297,0 -DA:299,0 -DA:300,0 -DA:303,0 -DA:307,0 -DA:308,0 -DA:311,0 -DA:313,0 -DA:314,0 -DA:316,0 -DA:317,0 -DA:319,0 -DA:320,0 -DA:321,0 -DA:322,0 -DA:323,0 -DA:324,0 -DA:326,0 -DA:329,0 -DA:331,0 -DA:333,0 -DA:336,0 -DA:341,0 -DA:342,0 -DA:345,0 -DA:350,0 -DA:367,0 -DA:368,0 -DA:369,0 -DA:371,0 -DA:374,0 -LF:135 -LH:0 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:45,1,0,0 -BRDA:45,1,1,0 -BRDA:48,2,0,0 -BRDA:48,2,1,0 -BRDA:57,3,0,0 -BRDA:57,3,1,0 -BRDA:67,4,0,0 -BRDA:67,4,1,0 -BRDA:78,5,0,0 -BRDA:78,5,1,0 -BRDA:92,6,0,0 -BRDA:92,6,1,0 -BRDA:95,7,0,0 -BRDA:95,7,1,0 -BRDA:96,8,0,0 -BRDA:96,8,1,0 -BRDA:98,9,0,0 -BRDA:98,9,1,0 -BRDA:99,10,0,0 -BRDA:99,10,1,0 -BRDA:114,11,0,0 -BRDA:114,11,1,0 -BRDA:129,12,0,0 -BRDA:129,12,1,0 -BRDA:132,13,0,0 -BRDA:132,13,1,0 -BRDA:155,14,0,0 -BRDA:155,14,1,0 -BRDA:232,15,0,0 -BRDA:232,15,1,0 -BRDA:261,16,0,0 -BRDA:261,16,1,0 -BRDA:263,17,0,0 -BRDA:263,17,1,0 -BRDA:299,18,0,0 -BRDA:299,18,1,0 -BRDA:307,19,0,0 -BRDA:307,19,1,0 -BRDA:324,20,0,0 -BRDA:324,20,1,0 -BRDA:329,21,0,0 -BRDA:329,21,1,0 -BRDA:337,22,0,0 -BRDA:337,22,1,0 -BRDA:341,23,0,0 -BRDA:341,23,1,0 -BRDA:368,24,0,0 -BRDA:368,24,1,0 -BRF:50 -BRH:0 -end_of_record -TN: -SF:src/plugin/pullVariables.ts -FN:10,pullVariables -FN:54,(anonymous_1) -FN:76,(anonymous_2) -FN:94,(anonymous_3) -FN:107,(anonymous_4) -FN:116,(anonymous_5) -FN:135,(anonymous_6) -FN:144,(anonymous_7) -FN:163,(anonymous_8) -FN:185,(anonymous_9) -FN:227,(anonymous_10) -FN:236,(anonymous_11) -FN:245,(anonymous_12) -FN:247,(anonymous_13) -FN:269,(anonymous_14) -FNF:15 -FNH:14 -FNDA:7,pullVariables -FNDA:28,(anonymous_1) -FNDA:24,(anonymous_2) -FNDA:53,(anonymous_3) -FNDA:24,(anonymous_4) -FNDA:53,(anonymous_5) -FNDA:24,(anonymous_6) -FNDA:53,(anonymous_7) -FNDA:72,(anonymous_8) -FNDA:159,(anonymous_9) -FNDA:1,(anonymous_10) -FNDA:4,(anonymous_11) -FNDA:24,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:35,(anonymous_14) -DA:12,7 -DA:13,7 -DA:14,7 -DA:15,7 -DA:16,7 -DA:18,7 -DA:19,7 -DA:20,2 -DA:21,2 -DA:22,2 -DA:23,2 -DA:27,2 -DA:31,7 -DA:33,7 -DA:40,7 -DA:46,7 -DA:47,42 -DA:48,42 -DA:49,7 -DA:50,7 -DA:51,7 -DA:54,28 -DA:56,7 -DA:61,42 -DA:62,12 -DA:63,12 -DA:64,6 -DA:68,36 -DA:69,36 -DA:72,36 -DA:73,36 -DA:74,36 -DA:76,6 -DA:78,24 -DA:79,4 -DA:80,4 -DA:81,2 -DA:87,22 -DA:88,0 -DA:89,0 -DA:91,22 -DA:94,53 -DA:95,22 -DA:96,22 -DA:105,6 -DA:107,6 -DA:109,24 -DA:110,4 -DA:111,4 -DA:112,2 -DA:116,53 -DA:118,22 -DA:119,0 -DA:120,0 -DA:122,22 -DA:125,22 -DA:133,6 -DA:135,6 -DA:137,24 -DA:138,4 -DA:139,4 -DA:140,2 -DA:144,53 -DA:146,22 -DA:147,0 -DA:148,0 -DA:150,22 -DA:153,22 -DA:161,6 -DA:163,18 -DA:165,72 -DA:166,12 -DA:167,12 -DA:168,6 -DA:172,66 -DA:173,66 -DA:174,0 -DA:175,0 -DA:176,66 -DA:177,66 -DA:178,24 -DA:179,42 -DA:180,12 -DA:182,30 -DA:185,159 -DA:187,66 -DA:188,36 -DA:196,30 -DA:205,18 -DA:207,0 -DA:210,0 -DA:214,7 -DA:224,7 -DA:226,7 -DA:227,1 -DA:229,1 -DA:230,0 -DA:231,0 -DA:232,0 -DA:236,1 -DA:238,4 -DA:239,0 -DA:240,0 -DA:241,0 -DA:245,24 -DA:247,4 -DA:252,4 -DA:268,7 -DA:269,7 -DA:270,35 -DA:271,24 -DA:273,35 -DA:275,7 -DA:277,0 -DA:278,0 -LF:115 -LH:97 -BRDA:19,0,0,2 -BRDA:19,0,1,5 -BRDA:22,1,0,2 -BRDA:22,1,1,0 -BRDA:23,2,0,2 -BRDA:23,2,1,0 -BRDA:27,3,0,2 -BRDA:27,3,1,0 -BRDA:48,4,0,7 -BRDA:48,4,1,35 -BRDA:50,5,0,7 -BRDA:50,5,1,0 -BRDA:61,6,0,12 -BRDA:61,6,1,30 -BRDA:61,7,0,42 -BRDA:61,7,1,12 -BRDA:63,8,0,6 -BRDA:63,8,1,6 -BRDA:68,9,0,36 -BRDA:68,9,1,0 -BRDA:74,10,0,6 -BRDA:74,10,1,6 -BRDA:74,10,2,6 -BRDA:74,10,3,18 -BRDA:74,10,4,0 -BRDA:78,11,0,4 -BRDA:78,11,1,20 -BRDA:78,12,0,24 -BRDA:78,12,1,4 -BRDA:80,13,0,2 -BRDA:80,13,1,2 -BRDA:80,14,0,4 -BRDA:80,14,1,4 -BRDA:87,15,0,0 -BRDA:87,15,1,22 -BRDA:87,16,0,22 -BRDA:87,16,1,22 -BRDA:87,16,2,0 -BRDA:95,17,0,22 -BRDA:95,17,1,0 -BRDA:101,18,0,0 -BRDA:101,18,1,22 -BRDA:109,19,0,4 -BRDA:109,19,1,20 -BRDA:109,20,0,24 -BRDA:109,20,1,4 -BRDA:111,21,0,2 -BRDA:111,21,1,2 -BRDA:111,22,0,4 -BRDA:111,22,1,4 -BRDA:118,23,0,0 -BRDA:118,23,1,22 -BRDA:118,24,0,22 -BRDA:118,24,1,0 -BRDA:118,24,2,0 -BRDA:130,25,0,0 -BRDA:130,25,1,22 -BRDA:137,26,0,4 -BRDA:137,26,1,20 -BRDA:137,27,0,24 -BRDA:137,27,1,4 -BRDA:139,28,0,2 -BRDA:139,28,1,2 -BRDA:139,29,0,4 -BRDA:139,29,1,4 -BRDA:146,30,0,0 -BRDA:146,30,1,22 -BRDA:146,31,0,22 -BRDA:146,31,1,0 -BRDA:146,31,2,0 -BRDA:158,32,0,0 -BRDA:158,32,1,22 -BRDA:165,33,0,12 -BRDA:165,33,1,60 -BRDA:165,34,0,72 -BRDA:165,34,1,12 -BRDA:167,35,0,6 -BRDA:167,35,1,6 -BRDA:167,36,0,12 -BRDA:167,36,1,12 -BRDA:173,37,0,0 -BRDA:173,37,1,66 -BRDA:173,38,0,66 -BRDA:173,38,1,0 -BRDA:173,38,2,0 -BRDA:176,39,0,66 -BRDA:176,39,1,0 -BRDA:177,40,0,24 -BRDA:177,40,1,42 -BRDA:179,41,0,12 -BRDA:179,41,1,30 -BRDA:187,42,0,36 -BRDA:187,42,1,30 -BRDA:187,43,0,66 -BRDA:187,43,1,42 -BRDA:193,44,0,0 -BRDA:193,44,1,36 -BRDA:201,45,0,0 -BRDA:201,45,1,30 -BRDA:226,46,0,1 -BRDA:226,46,1,6 -BRDA:229,47,0,0 -BRDA:229,47,1,1 -BRDA:231,48,0,0 -BRDA:231,48,1,0 -BRDA:238,49,0,0 -BRDA:238,49,1,4 -BRDA:240,50,0,0 -BRDA:240,50,1,0 -BRDA:240,51,0,0 -BRDA:240,51,1,0 -BRDA:270,52,0,24 -BRDA:270,52,1,11 -BRF:113 -BRH:81 -end_of_record -TN: -SF:src/plugin/removePluginDataByMap.ts -FN:10,removePluginDataByMap -FN:23,(anonymous_1) -FN:24,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,removePluginDataByMap -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:11,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:33,0 -DA:34,0 -LF:12 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/removeStylesFromPlugin.ts -FN:8,removeStylesFromPlugin -FN:18,(anonymous_1) -FN:19,(anonymous_2) -FN:21,(anonymous_3) -FN:22,(anonymous_4) -FN:25,(anonymous_5) -FN:25,(anonymous_6) -FN:26,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,removeStylesFromPlugin -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:30,0 -LF:15 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/removeValuesFromNode.ts -FN:4,removeStrokeIfEmptySides -FN:9,(anonymous_1) -FN:14,removeValuesFromNode -FN:90,(anonymous_3) -FN:95,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,removeStrokeIfEmptySides -FNDA:0,(anonymous_1) -FNDA:0,removeValuesFromNode -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:5,0 -DA:9,0 -DA:10,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:40,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:69,0 -DA:70,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:77,0 -DA:79,0 -DA:80,0 -DA:82,0 -DA:84,0 -DA:85,0 -DA:87,0 -DA:89,0 -DA:90,0 -DA:92,0 -DA:94,0 -DA:95,0 -DA:97,0 -DA:99,0 -DA:100,0 -DA:102,0 -DA:104,0 -DA:112,0 -DA:114,0 -DA:116,0 -DA:117,0 -DA:119,0 -DA:121,0 -DA:122,0 -DA:124,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:135,0 -DA:136,0 -DA:138,0 -DA:140,0 -DA:141,0 -DA:143,0 -DA:145,0 -DA:146,0 -DA:148,0 -DA:150,0 -DA:151,0 -DA:153,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:159,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:165,0 -DA:167,0 -DA:168,0 -DA:170,0 -DA:172,0 -DA:173,0 -DA:175,0 -DA:177,0 -DA:178,0 -DA:180,0 -DA:181,0 -DA:183,0 -DA:184,0 -DA:186,0 -DA:188,0 -DA:189,0 -DA:190,0 -DA:192,0 -DA:193,0 -DA:195,0 -DA:197,0 -DA:198,0 -DA:199,0 -DA:201,0 -DA:202,0 -DA:204,0 -DA:206,0 -DA:207,0 -DA:208,0 -DA:210,0 -DA:211,0 -DA:213,0 -DA:215,0 -DA:216,0 -DA:217,0 -DA:219,0 -DA:220,0 -DA:222,0 -DA:224,0 -DA:225,0 -DA:227,0 -DA:229,0 -DA:230,0 -DA:232,0 -DA:234,0 -DA:235,0 -DA:237,0 -DA:238,0 -DA:239,0 -DA:240,0 -DA:241,0 -DA:242,0 -DA:245,0 -DA:247,0 -LF:144 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:16,1,2,0 -BRDA:16,1,3,0 -BRDA:16,1,4,0 -BRDA:16,1,5,0 -BRDA:16,1,6,0 -BRDA:16,1,7,0 -BRDA:16,1,8,0 -BRDA:16,1,9,0 -BRDA:16,1,10,0 -BRDA:16,1,11,0 -BRDA:16,1,12,0 -BRDA:16,1,13,0 -BRDA:16,1,14,0 -BRDA:16,1,15,0 -BRDA:16,1,16,0 -BRDA:16,1,17,0 -BRDA:16,1,18,0 -BRDA:16,1,19,0 -BRDA:16,1,20,0 -BRDA:16,1,21,0 -BRDA:16,1,22,0 -BRDA:16,1,23,0 -BRDA:16,1,24,0 -BRDA:16,1,25,0 -BRDA:16,1,26,0 -BRDA:16,1,27,0 -BRDA:16,1,28,0 -BRDA:16,1,29,0 -BRDA:16,1,30,0 -BRDA:16,1,31,0 -BRDA:16,1,32,0 -BRDA:16,1,33,0 -BRDA:16,1,34,0 -BRDA:16,1,35,0 -BRDA:18,2,0,0 -BRDA:18,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:34,4,0,0 -BRDA:34,4,1,0 -BRDA:35,5,0,0 -BRDA:35,5,1,0 -BRDA:35,5,2,0 -BRDA:35,5,3,0 -BRDA:44,6,0,0 -BRDA:44,6,1,0 -BRDA:44,7,0,0 -BRDA:44,7,1,0 -BRDA:49,8,0,0 -BRDA:49,8,1,0 -BRDA:49,9,0,0 -BRDA:49,9,1,0 -BRDA:54,10,0,0 -BRDA:54,10,1,0 -BRDA:54,11,0,0 -BRDA:54,11,1,0 -BRDA:59,12,0,0 -BRDA:59,12,1,0 -BRDA:59,13,0,0 -BRDA:59,13,1,0 -BRDA:64,14,0,0 -BRDA:64,14,1,0 -BRDA:64,15,0,0 -BRDA:64,15,1,0 -BRDA:69,16,0,0 -BRDA:69,16,1,0 -BRDA:69,17,0,0 -BRDA:69,17,1,0 -BRDA:74,18,0,0 -BRDA:74,18,1,0 -BRDA:74,19,0,0 -BRDA:74,19,1,0 -BRDA:79,20,0,0 -BRDA:79,20,1,0 -BRDA:79,21,0,0 -BRDA:79,21,1,0 -BRDA:84,22,0,0 -BRDA:84,22,1,0 -BRDA:84,23,0,0 -BRDA:84,23,1,0 -BRDA:89,24,0,0 -BRDA:89,24,1,0 -BRDA:89,25,0,0 -BRDA:89,25,1,0 -BRDA:94,26,0,0 -BRDA:94,26,1,0 -BRDA:94,27,0,0 -BRDA:94,27,1,0 -BRDA:99,28,0,0 -BRDA:99,28,1,0 -BRDA:99,29,0,0 -BRDA:99,29,1,0 -BRDA:104,30,0,0 -BRDA:104,30,1,0 -BRDA:105,31,0,0 -BRDA:105,31,1,0 -BRDA:105,31,2,0 -BRDA:105,31,3,0 -BRDA:105,31,4,0 -BRDA:105,31,5,0 -BRDA:116,32,0,0 -BRDA:116,32,1,0 -BRDA:116,33,0,0 -BRDA:116,33,1,0 -BRDA:121,34,0,0 -BRDA:121,34,1,0 -BRDA:121,35,0,0 -BRDA:121,35,1,0 -BRDA:126,36,0,0 -BRDA:126,36,1,0 -BRDA:126,37,0,0 -BRDA:126,37,1,0 -BRDA:135,38,0,0 -BRDA:135,38,1,0 -BRDA:135,39,0,0 -BRDA:135,39,1,0 -BRDA:140,40,0,0 -BRDA:140,40,1,0 -BRDA:140,41,0,0 -BRDA:140,41,1,0 -BRDA:145,42,0,0 -BRDA:145,42,1,0 -BRDA:145,43,0,0 -BRDA:145,43,1,0 -BRDA:150,44,0,0 -BRDA:150,44,1,0 -BRDA:150,45,0,0 -BRDA:150,45,1,0 -BRDA:155,46,0,0 -BRDA:155,46,1,0 -BRDA:155,47,0,0 -BRDA:155,47,1,0 -BRDA:161,48,0,0 -BRDA:161,48,1,0 -BRDA:161,49,0,0 -BRDA:161,49,1,0 -BRDA:167,50,0,0 -BRDA:167,50,1,0 -BRDA:167,51,0,0 -BRDA:167,51,1,0 -BRDA:172,52,0,0 -BRDA:172,52,1,0 -BRDA:172,53,0,0 -BRDA:172,53,1,0 -BRDA:177,54,0,0 -BRDA:177,54,1,0 -BRDA:177,55,0,0 -BRDA:177,55,1,0 -BRDA:180,56,0,0 -BRDA:180,56,1,0 -BRDA:180,57,0,0 -BRDA:180,57,1,0 -BRDA:183,58,0,0 -BRDA:183,58,1,0 -BRDA:183,59,0,0 -BRDA:183,59,1,0 -BRDA:188,60,0,0 -BRDA:188,60,1,0 -BRDA:188,61,0,0 -BRDA:188,61,1,0 -BRDA:192,62,0,0 -BRDA:192,62,1,0 -BRDA:192,63,0,0 -BRDA:192,63,1,0 -BRDA:197,64,0,0 -BRDA:197,64,1,0 -BRDA:197,65,0,0 -BRDA:197,65,1,0 -BRDA:201,66,0,0 -BRDA:201,66,1,0 -BRDA:201,67,0,0 -BRDA:201,67,1,0 -BRDA:206,68,0,0 -BRDA:206,68,1,0 -BRDA:206,69,0,0 -BRDA:206,69,1,0 -BRDA:210,70,0,0 -BRDA:210,70,1,0 -BRDA:210,71,0,0 -BRDA:210,71,1,0 -BRDA:215,72,0,0 -BRDA:215,72,1,0 -BRDA:215,73,0,0 -BRDA:215,73,1,0 -BRDA:219,74,0,0 -BRDA:219,74,1,0 -BRDA:219,75,0,0 -BRDA:219,75,1,0 -BRDA:224,76,0,0 -BRDA:224,76,1,0 -BRDA:224,77,0,0 -BRDA:224,77,1,0 -BRDA:229,78,0,0 -BRDA:229,78,1,0 -BRDA:229,79,0,0 -BRDA:229,79,1,0 -BRDA:234,80,0,0 -BRDA:234,80,1,0 -BRDA:237,81,0,0 -BRDA:237,81,1,0 -BRDA:238,82,0,0 -BRDA:238,82,1,0 -BRF:206 -BRH:0 -end_of_record -TN: -SF:src/plugin/renameStylesFromPlugin.ts -FN:8,renameStylesFromPlugin -FN:23,(anonymous_1) -FN:23,(anonymous_2) -FN:23,(anonymous_3) -FN:28,(anonymous_4) -FN:30,(anonymous_5) -FN:31,(anonymous_6) -FN:32,(anonymous_7) -FN:35,(anonymous_8) -FN:36,(anonymous_9) -FN:37,(anonymous_10) -FN:40,(anonymous_11) -FN:40,(anonymous_12) -FN:42,(anonymous_13) -FN:47,(anonymous_14) -FNF:15 -FNH:0 -FNDA:0,renameStylesFromPlugin -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -DA:12,0 -DA:17,0 -DA:19,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:49,0 -LF:23 -LH:0 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/renameVariablesFromPlugin.ts -FN:6,renameVariablesFromPlugin -FN:11,(anonymous_1) -FN:13,(anonymous_2) -FN:19,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,renameVariablesFromPlugin -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:7,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:32,0 -LF:15 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/rotateNode.ts -FN:1,(anonymous_0) -FN:27,(anonymous_1) -FN:37,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:1,0 -DA:2,0 -DA:3,0 -DA:7,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:53,0 -DA:54,0 -LF:34 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:13,2,2,0 -BRDA:29,3,0,0 -BRDA:29,3,1,0 -BRDA:29,4,0,0 -BRDA:29,4,1,0 -BRDA:29,4,2,0 -BRDA:38,5,0,0 -BRDA:38,5,1,0 -BRDA:41,6,0,0 -BRDA:41,6,1,0 -BRDA:41,7,0,0 -BRDA:41,7,1,0 -BRDA:48,8,0,0 -BRDA:48,8,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/plugin/sendDocumentChange.ts -FN:3,sendDocumentChange -FN:7,(anonymous_1) -FN:7,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,sendDocumentChange -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:5,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:11,0 -LF:6 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:4,1,0,0 -BRDA:4,1,1,0 -BRDA:4,1,2,0 -BRDA:7,2,0,0 -BRDA:7,2,1,0 -BRDA:8,3,0,0 -BRDA:8,3,1,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/plugin/sendSelectionChange.ts -FN:7,sendSelectionChange -FNF:1 -FNH:0 -FNDA:0,sendSelectionChange -DA:9,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -LF:6 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/setBackgroundBlurOnTarget.ts -FN:4,setBackgroundBlurOnTarget -FN:11,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setBackgroundBlurOnTarget -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:24,0 -DA:27,0 -LF:10 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/setBooleanValuesOnVariable.ts -FN:3,setBooleanValuesOnVariable -FNF:1 -FNH:0 -FNDA:0,setBooleanValuesOnVariable -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:14,0 -LF:7 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:6,1,0,0 -BRDA:6,1,1,0 -BRDA:6,2,0,0 -BRDA:6,2,1,0 -BRDA:10,3,0,0 -BRDA:10,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/plugin/setBorderColorValuesOnTarget.ts -FN:14,setBorderColorValuesOnTarget -FNF:1 -FNH:0 -FNDA:0,setBorderColorValuesOnTarget -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:35,0 -DA:40,0 -DA:41,0 -LF:15 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:21,2,0,0 -BRDA:21,2,1,0 -BRDA:21,3,0,0 -BRDA:21,3,1,0 -BRDA:25,4,0,0 -BRDA:25,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRDA:30,6,0,0 -BRDA:30,6,1,0 -BRDA:40,7,0,0 -BRDA:40,7,1,0 -BRDA:40,8,0,0 -BRDA:40,8,1,0 -BRDA:40,8,2,0 -BRF:19 -BRH:0 -end_of_record -TN: -SF:src/plugin/setBorderValuesOnTarget.ts -FN:8,setBorderValuesOnTarget -FNF:1 -FNH:0 -FNDA:0,setBorderValuesOnTarget -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:24,0 -DA:26,0 -DA:33,0 -DA:35,0 -DA:42,0 -DA:44,0 -DA:51,0 -DA:53,0 -DA:60,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:73,0 -DA:75,0 -DA:78,0 -LF:23 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:18,1,2,0 -BRDA:18,1,3,0 -BRDA:18,1,4,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRDA:27,3,0,0 -BRDA:27,3,1,0 -BRDA:27,3,2,0 -BRDA:27,3,3,0 -BRDA:27,3,4,0 -BRDA:35,4,0,0 -BRDA:35,4,1,0 -BRDA:36,5,0,0 -BRDA:36,5,1,0 -BRDA:36,5,2,0 -BRDA:36,5,3,0 -BRDA:36,5,4,0 -BRDA:44,6,0,0 -BRDA:44,6,1,0 -BRDA:45,7,0,0 -BRDA:45,7,1,0 -BRDA:45,7,2,0 -BRDA:45,7,3,0 -BRDA:45,7,4,0 -BRDA:53,8,0,0 -BRDA:53,8,1,0 -BRDA:54,9,0,0 -BRDA:54,9,1,0 -BRDA:54,9,2,0 -BRDA:54,9,3,0 -BRDA:54,9,4,0 -BRDA:63,10,0,0 -BRDA:63,10,1,0 -BRDA:63,11,0,0 -BRDA:63,11,1,0 -BRDA:63,11,2,0 -BRDA:65,12,0,0 -BRDA:65,12,1,0 -BRDA:65,12,2,0 -BRF:43 -BRH:0 -end_of_record -TN: -SF:src/plugin/setColorValuesOnTarget.ts -FN:10,hasModifier -FN:14,(anonymous_1) -FN:22,(anonymous_2) -FN:36,(anonymous_3) -FN:61,setColorValuesOnTarget -FNF:5 -FNH:0 -FNDA:0,hasModifier -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,setColorValuesOnTarget -DA:11,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:49,0 -DA:53,0 -DA:58,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:93,0 -DA:95,0 -DA:96,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:102,0 -DA:109,0 -DA:110,0 -DA:112,0 -DA:114,0 -DA:115,0 -DA:117,0 -DA:118,0 -DA:121,0 -DA:122,0 -DA:125,0 -DA:126,0 -DA:128,0 -DA:130,0 -LF:60 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRDA:17,4,0,0 -BRDA:17,4,1,0 -BRDA:17,5,0,0 -BRDA:17,5,1,0 -BRDA:18,6,0,0 -BRDA:18,6,1,0 -BRDA:18,7,0,0 -BRDA:18,7,1,0 -BRDA:23,8,0,0 -BRDA:23,8,1,0 -BRDA:23,9,0,0 -BRDA:23,9,1,0 -BRDA:32,10,0,0 -BRDA:32,10,1,0 -BRDA:35,11,0,0 -BRDA:35,11,1,0 -BRDA:35,12,0,0 -BRDA:35,12,1,0 -BRDA:38,13,0,0 -BRDA:38,13,1,0 -BRDA:70,14,0,0 -BRDA:70,14,1,0 -BRDA:73,15,0,0 -BRDA:73,15,1,0 -BRDA:73,16,0,0 -BRDA:73,16,1,0 -BRDA:74,17,0,0 -BRDA:74,17,1,0 -BRDA:75,18,0,0 -BRDA:75,18,1,0 -BRDA:77,19,0,0 -BRDA:77,19,1,0 -BRDA:79,20,0,0 -BRDA:79,20,1,0 -BRDA:79,21,0,0 -BRDA:79,21,1,0 -BRDA:80,22,0,0 -BRDA:80,22,1,0 -BRDA:81,23,0,0 -BRDA:81,23,1,0 -BRDA:81,24,0,0 -BRDA:81,24,1,0 -BRDA:81,24,2,0 -BRDA:82,25,0,0 -BRDA:82,25,1,0 -BRDA:83,26,0,0 -BRDA:83,26,1,0 -BRDA:83,27,0,0 -BRDA:83,27,1,0 -BRDA:84,28,0,0 -BRDA:84,28,1,0 -BRDA:87,29,0,0 -BRDA:87,29,1,0 -BRDA:95,30,0,0 -BRDA:95,30,1,0 -BRDA:98,31,0,0 -BRDA:98,31,1,0 -BRDA:98,32,0,0 -BRDA:98,32,1,0 -BRDA:98,32,2,0 -BRDA:98,32,3,0 -BRDA:110,33,0,0 -BRDA:110,33,1,0 -BRDA:112,34,0,0 -BRDA:112,34,1,0 -BRDA:114,35,0,0 -BRDA:114,35,1,0 -BRDA:117,36,0,0 -BRDA:117,36,1,0 -BRDA:117,37,0,0 -BRDA:117,37,1,0 -BRDA:117,37,2,0 -BRDA:125,38,0,0 -BRDA:125,38,1,0 -BRDA:125,39,0,0 -BRDA:125,39,1,0 -BRF:84 -BRH:0 -end_of_record -TN: -SF:src/plugin/setColorValuesOnVariable.ts -FN:4,normalizeFigmaColor -FN:7,(anonymous_1) -FN:17,isFigmaColorObject -FN:22,setColorValuesOnVariable -FNF:4 -FNH:0 -FNDA:0,normalizeFigmaColor -FNDA:0,(anonymous_1) -FNDA:0,isFigmaColorObject -FNDA:0,setColorValuesOnVariable -DA:7,0 -DA:9,0 -DA:18,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:37,0 -DA:41,0 -DA:43,0 -LF:14 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:18,0,2,0 -BRDA:18,0,3,0 -BRDA:18,0,4,0 -BRDA:18,0,5,0 -BRDA:18,0,6,0 -BRDA:18,0,7,0 -BRDA:18,0,8,0 -BRDA:26,1,0,0 -BRDA:26,1,1,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:28,4,0,0 -BRDA:28,4,1,0 -BRDA:29,5,0,0 -BRDA:29,5,1,0 -BRDA:31,6,0,0 -BRDA:31,6,1,0 -BRDA:31,7,0,0 -BRDA:31,7,1,0 -BRDA:32,8,0,0 -BRDA:32,8,1,0 -BRDA:32,9,0,0 -BRDA:32,9,1,0 -BRDA:32,9,2,0 -BRDA:32,9,3,0 -BRF:29 -BRH:0 -end_of_record -TN: -SF:src/plugin/setEffectValuesOnTarget.ts -FN:19,transformShadowKeyToFigmaVariable -FN:32,tryApplyCompositeVariable -FN:81,setEffectValuesOnTarget -FN:95,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,transformShadowKeyToFigmaVariable -FNDA:0,tryApplyCompositeVariable -FNDA:0,setEffectValuesOnTarget -FNDA:0,(anonymous_3) -DA:20,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:76,0 -DA:78,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:99,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:111,0 -DA:115,0 -DA:116,0 -DA:119,0 -DA:120,0 -LF:38 -LH:0 -BRDA:20,0,0,0 -BRDA:20,0,1,0 -BRDA:20,0,2,0 -BRDA:20,0,3,0 -BRDA:42,1,0,0 -BRDA:42,1,1,0 -BRDA:58,2,0,0 -BRDA:58,2,1,0 -BRDA:60,3,0,0 -BRDA:60,3,1,0 -BRDA:60,4,0,0 -BRDA:60,4,1,0 -BRDA:64,5,0,0 -BRDA:64,5,1,0 -BRDA:64,6,0,0 -BRDA:64,6,1,0 -BRDA:64,6,2,0 -BRDA:66,7,0,0 -BRDA:66,7,1,0 -BRDA:85,8,0,0 -BRDA:89,9,0,0 -BRDA:89,9,1,0 -BRDA:92,10,0,0 -BRDA:92,10,1,0 -BRDA:94,11,0,0 -BRDA:94,11,1,0 -BRDA:102,12,0,0 -BRDA:102,12,1,0 -BRDA:102,13,0,0 -BRDA:102,13,1,0 -BRDA:103,14,0,0 -BRDA:103,14,1,0 -BRDA:104,15,0,0 -BRDA:104,15,1,0 -BRDA:104,16,0,0 -BRDA:104,16,1,0 -BRDA:115,17,0,0 -BRDA:115,17,1,0 -BRDA:115,18,0,0 -BRDA:115,18,1,0 -BRF:40 -BRH:0 -end_of_record -TN: -SF:src/plugin/setFontStyleOnTarget.ts -FN:5,setFontStyleOnTarget -FN:26,(anonymous_1) -FN:29,(anonymous_2) -FN:49,(anonymous_3) -FN:59,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,setFontStyleOnTarget -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:6,0 -DA:9,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:36,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:55,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:68,0 -LF:30 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:11,2,0,0 -BRDA:11,2,1,0 -BRDA:12,3,0,0 -BRDA:12,3,1,0 -BRDA:12,4,0,0 -BRDA:12,4,1,0 -BRDA:16,5,0,0 -BRDA:16,5,1,0 -BRDA:16,6,0,0 -BRDA:16,6,1,0 -BRDA:28,7,0,0 -BRDA:28,7,1,0 -BRDA:50,8,0,0 -BRDA:50,8,1,0 -BRDA:62,9,0,0 -BRDA:62,9,1,0 -BRDA:67,10,0,0 -BRDA:67,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/plugin/setImageValuesOnTarget.ts -FN:4,setImageValuesOnTarget -FN:12,(anonymous_1) -FN:13,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,setImageValuesOnTarget -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:24,0 -DA:28,0 -DA:29,0 -DA:32,0 -LF:14 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRDA:28,3,0,0 -BRDA:28,3,1,0 -BRDA:28,4,0,0 -BRDA:28,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/setNumberValuesOnVariable.ts -FN:3,setNumberValuesOnVariable -FNF:1 -FNH:0 -FNDA:0,setNumberValuesOnVariable -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:17,0 -LF:9 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:9,2,0,0 -BRDA:9,2,1,0 -BRDA:9,3,0,0 -BRDA:9,3,1,0 -BRDA:13,4,0,0 -BRDA:13,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/setStringValuesOnVariable.ts -FN:3,setStringValuesOnVariable -FNF:1 -FNH:0 -FNDA:0,setStringValuesOnVariable -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:12,0 -LF:6 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:6,1,0,0 -BRDA:6,1,1,0 -BRDA:6,2,0,0 -BRDA:6,2,1,0 -BRDA:8,3,0,0 -BRDA:8,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/plugin/setTextValuesOnTarget.ts -FN:5,setTextValuesOnTarget -FNF:1 -FNH:0 -FNDA:0,setTextValuesOnTarget -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:24,0 -LF:10 -LH:0 -BRDA:8,0,0,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRDA:21,4,0,0 -BRDA:21,4,1,0 -BRDA:21,5,0,0 -BRDA:21,5,1,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/plugin/setValuesOnNode.ts -FN:25,setValuesOnNode -FN:43,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,setValuesOnNode -FNDA:0,(anonymous_1) -DA:36,0 -DA:37,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:68,0 -LF:24 -LH:0 -BRDA:29,0,0,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRDA:38,2,2,0 -BRDA:38,2,3,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/plugin/setValuesOnVariable.ts -FN:17,setValuesOnVariable -FN:29,(anonymous_1) -FN:34,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,setValuesOnVariable -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:34,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:49,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:76,0 -DA:78,0 -DA:80,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:99,0 -DA:102,0 -LF:40 -LH:0 -BRDA:23,0,0,0 -BRDA:34,1,0,0 -BRDA:34,1,1,0 -BRDA:34,2,0,0 -BRDA:34,2,1,0 -BRDA:34,2,2,0 -BRDA:36,3,0,0 -BRDA:36,3,1,0 -BRDA:38,4,0,0 -BRDA:38,4,1,0 -BRDA:38,5,0,0 -BRDA:38,5,1,0 -BRDA:42,6,0,0 -BRDA:42,6,1,0 -BRDA:49,7,0,0 -BRDA:49,7,1,0 -BRDA:51,8,0,0 -BRDA:51,8,1,0 -BRDA:51,8,2,0 -BRDA:51,8,3,0 -BRDA:51,8,4,0 -BRDA:53,9,0,0 -BRDA:53,9,1,0 -BRDA:53,10,0,0 -BRDA:53,10,1,0 -BRDA:58,11,0,0 -BRDA:58,11,1,0 -BRDA:58,12,0,0 -BRDA:58,12,1,0 -BRDA:64,13,0,0 -BRDA:64,13,1,0 -BRDA:64,14,0,0 -BRDA:64,14,1,0 -BRDA:71,15,0,0 -BRDA:71,15,1,0 -BRDA:71,16,0,0 -BRDA:71,16,1,0 -BRDA:75,17,0,0 -BRDA:75,17,1,0 -BRDA:75,18,0,0 -BRDA:75,18,1,0 -BRDA:83,19,0,0 -BRDA:83,19,1,0 -BRDA:83,20,0,0 -BRDA:83,20,1,0 -BRDA:89,21,0,0 -BRDA:89,21,1,0 -BRDA:89,22,0,0 -BRDA:89,22,1,0 -BRF:49 -BRH:0 -end_of_record -TN: -SF:src/plugin/store.ts -FNF:0 -FNH:0 -DA:6,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/transformTypographyKeyToFigmaVariable.ts -FN:1,transformTypographyKeyToFigmaVariable -FNF:1 -FNH:0 -FNDA:0,transformTypographyKeyToFigmaVariable -DA:3,0 -DA:4,0 -DA:5,0 -DA:7,0 -LF:4 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRDA:3,1,0,0 -BRDA:3,1,1,0 -BRDA:4,2,0,0 -BRDA:4,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/tryApplyTypographyCompositeVariable.ts -FN:9,tryApplyTypographyCompositeVariable -FN:28,(anonymous_1) -FN:40,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,tryApplyTypographyCompositeVariable -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:53,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:74,0 -LF:33 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRDA:22,0,2,0 -BRDA:22,0,3,0 -BRDA:24,1,0,0 -BRDA:24,1,1,0 -BRDA:29,2,0,0 -BRDA:29,2,1,0 -BRDA:31,3,0,0 -BRDA:31,3,1,0 -BRDA:31,4,0,0 -BRDA:31,4,1,0 -BRDA:31,4,2,0 -BRDA:37,5,0,0 -BRDA:37,5,1,0 -BRDA:37,6,0,0 -BRDA:37,6,1,0 -BRDA:39,7,0,0 -BRDA:39,7,1,0 -BRDA:40,8,0,0 -BRDA:40,8,1,0 -BRDA:46,9,0,0 -BRDA:46,9,1,0 -BRDA:47,10,0,0 -BRDA:47,10,1,0 -BRDA:58,11,0,0 -BRDA:58,11,1,0 -BRDA:60,12,0,0 -BRDA:60,12,1,0 -BRDA:60,13,0,0 -BRDA:60,13,1,0 -BRDA:61,14,0,0 -BRDA:61,14,1,0 -BRDA:61,15,0,0 -BRDA:61,15,1,0 -BRDA:61,15,2,0 -BRDA:65,16,0,0 -BRDA:65,16,1,0 -BRDA:67,17,0,0 -BRDA:67,17,1,0 -BRF:40 -BRH:0 -end_of_record -TN: -SF:src/plugin/unbindVariableFromTarget.ts -FN:3,unbindVariableFromTarget -FNF:1 -FNH:0 -FNDA:0,unbindVariableFromTarget -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:11,0 -LF:6 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:6,1,0,0 -BRDA:6,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateColorStyles.ts -FN:8,updateColorStyles -FN:13,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateColorStyles -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:32,0 -LF:20 -LH:0 -BRDA:8,0,0,0 -BRDA:8,1,0,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRDA:21,4,0,0 -BRDA:21,4,1,0 -BRDA:25,5,0,0 -BRDA:25,5,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateEffectStyles.ts -FN:8,updateEffectStyles -FN:23,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateEffectStyles -FNDA:0,(anonymous_1) -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:45,0 -LF:20 -LH:0 -BRDA:11,0,0,0 -BRDA:12,1,0,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:31,4,0,0 -BRDA:31,4,1,0 -BRDA:36,5,0,0 -BRDA:36,5,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateNodes.ts -FN:12,updateNodes -FN:34,(anonymous_1) -FN:36,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,updateNodes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:17,0 -DA:19,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:57,0 -DA:59,0 -LF:16 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/updatePluginDataAndNodes.ts -FN:15,updatePluginDataAndNodes -FN:35,(anonymous_1) -FN:36,(anonymous_2) -FN:38,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,updatePluginDataAndNodes -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:19,0 -DA:21,0 -DA:22,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:64,0 -DA:66,0 -DA:67,0 -DA:71,0 -DA:73,0 -LF:25 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:40,1,0,0 -BRDA:40,1,1,0 -BRDA:40,1,2,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateStyles.ts -FN:14,updateStyles -FN:25,(anonymous_1) -FN:25,(anonymous_2) -FN:28,(anonymous_3) -FN:30,(anonymous_4) -FN:30,(anonymous_5) -FN:41,(anonymous_6) -FN:43,(anonymous_7) -FN:47,(anonymous_8) -FN:51,(anonymous_9) -FN:64,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,updateStyles -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:21,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:41,0 -DA:43,0 -DA:47,0 -DA:51,0 -DA:56,0 -DA:58,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:69,0 -LF:19 -LH:0 -BRDA:17,0,0,0 -BRDA:30,1,0,0 -BRDA:30,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:32,3,0,0 -BRDA:32,3,1,0 -BRDA:33,4,0,0 -BRDA:33,4,1,0 -BRDA:33,5,0,0 -BRDA:33,5,1,0 -BRDA:38,6,0,0 -BRDA:38,6,1,0 -BRDA:39,7,0,0 -BRDA:39,7,1,0 -BRDA:56,8,0,0 -BRDA:56,8,1,0 -BRDA:56,9,0,0 -BRDA:56,9,1,0 -BRDA:56,9,2,0 -BRDA:59,10,0,0 -BRDA:59,10,1,0 -BRDA:60,11,0,0 -BRDA:60,11,1,0 -BRDA:61,12,0,0 -BRDA:61,12,1,0 -BRDA:65,13,0,0 -BRDA:65,13,1,0 -BRDA:65,14,0,0 -BRDA:65,14,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateTextStyles.ts -FN:8,updateTextStyles -FN:14,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateTextStyles -FNDA:0,(anonymous_1) -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:34,0 -LF:20 -LH:0 -BRDA:8,0,0,0 -BRDA:8,1,0,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:17,3,0,0 -BRDA:17,3,1,0 -BRDA:22,4,0,0 -BRDA:22,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateVariables.ts -FN:21,updateVariables -FN:45,(anonymous_1) -FN:48,(anonymous_2) -FN:67,(anonymous_3) -FN:68,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,updateVariables -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:30,0 -DA:43,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:54,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:70,0 -DA:74,0 -LF:15 -LH:0 -BRDA:49,0,0,0 -BRDA:49,0,1,0 -BRDA:65,1,0,0 -BRDA:65,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateVariablesFromPlugin.ts -FN:13,updateVariablesFromPlugin -FN:18,(anonymous_1) -FN:23,(anonymous_2) -FN:26,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,updateVariablesFromPlugin -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:14,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:64,0 -DA:71,0 -DA:72,0 -DA:74,0 -LF:32 -LH:0 -BRDA:24,0,0,0 -BRDA:24,0,1,0 -BRDA:26,1,0,0 -BRDA:26,1,1,0 -BRDA:30,2,0,0 -BRDA:30,2,1,0 -BRDA:30,3,0,0 -BRDA:30,3,1,0 -BRDA:32,4,0,0 -BRDA:32,4,1,0 -BRDA:33,5,0,0 -BRDA:33,5,1,0 -BRDA:36,6,0,0 -BRDA:36,6,1,0 -BRDA:36,7,0,0 -BRDA:36,7,1,0 -BRDA:42,8,0,0 -BRDA:42,8,1,0 -BRDA:49,9,0,0 -BRDA:49,9,1,0 -BRDA:49,9,2,0 -BRDA:49,9,3,0 -BRDA:49,9,4,0 -BRDA:49,9,5,0 -BRDA:49,9,6,0 -BRDA:49,9,7,0 -BRDA:49,9,8,0 -BRDA:49,9,9,0 -BRDA:51,10,0,0 -BRDA:51,10,1,0 -BRDA:56,11,0,0 -BRDA:56,11,1,0 -BRDA:61,12,0,0 -BRDA:61,12,1,0 -BRF:34 -BRH:0 -end_of_record -TN: -SF:src/plugin/updateVariablesToReference.ts -FN:3,updateVariablesToReference -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateVariablesToReference -FNDA:0,(anonymous_1) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:20,0 -DA:22,0 -DA:25,0 -LF:13 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/applySiblingStyle.ts -FN:5,applySiblingStyleId -FN:28,(anonymous_1) -FN:43,(anonymous_2) -FN:81,(anonymous_3) -FN:87,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,applySiblingStyleId -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:6,0 -DA:7,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:52,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:77,0 -DA:78,0 -DA:80,0 -DA:81,0 -DA:84,0 -DA:87,0 -DA:88,0 -DA:91,0 -DA:94,0 -LF:41 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:7,0,2,0 -BRDA:7,0,3,0 -BRDA:7,0,4,0 -BRDA:7,0,5,0 -BRDA:7,0,6,0 -BRDA:7,0,7,0 -BRDA:7,0,8,0 -BRDA:7,0,9,0 -BRDA:7,0,10,0 -BRDA:7,0,11,0 -BRDA:7,0,12,0 -BRDA:7,0,13,0 -BRDA:7,0,14,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRDA:22,3,0,0 -BRDA:22,3,1,0 -BRDA:24,4,0,0 -BRDA:24,4,1,0 -BRDA:31,5,0,0 -BRDA:31,5,1,0 -BRDA:37,6,0,0 -BRDA:37,6,1,0 -BRDA:39,7,0,0 -BRDA:39,7,1,0 -BRDA:46,8,0,0 -BRDA:46,8,1,0 -BRDA:68,9,0,0 -BRDA:68,9,1,0 -BRDA:69,10,0,0 -BRDA:69,10,1,0 -BRDA:70,11,0,0 -BRDA:70,11,1,0 -BRDA:71,12,0,0 -BRDA:71,12,1,0 -BRDA:74,13,0,0 -BRDA:74,13,1,0 -BRDA:77,14,0,0 -BRDA:77,14,1,0 -BRDA:80,15,0,0 -BRDA:80,15,1,0 -BRDA:80,16,0,0 -BRDA:80,16,1,0 -BRF:47 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/attachLocalStylesToTheme.ts -FN:12,(anonymous_0) -FN:26,(anonymous_1) -FN:40,(anonymous_2) -FN:47,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:12,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:33,0 -DA:40,0 -DA:41,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:67,0 -LF:32 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:27,1,0,0 -BRDA:27,1,1,0 -BRDA:28,2,0,0 -BRDA:28,2,1,0 -BRDA:33,3,0,0 -BRDA:33,3,1,0 -BRDA:36,4,0,0 -BRDA:36,4,1,0 -BRDA:37,5,0,0 -BRDA:37,5,1,0 -BRDA:38,6,0,0 -BRDA:38,6,1,0 -BRDA:45,7,0,0 -BRDA:45,7,1,0 -BRDA:46,8,0,0 -BRDA:46,8,1,0 -BRDA:49,9,0,0 -BRDA:49,9,1,0 -BRDA:51,10,0,0 -BRDA:51,10,1,0 -BRDA:54,11,0,0 -BRDA:54,11,1,0 -BRDA:56,12,0,0 -BRDA:56,12,1,0 -BRDA:59,13,0,0 -BRDA:59,13,1,0 -BRDA:61,14,0,0 -BRDA:61,14,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/attachLocalVariablesToTheme.ts -FN:5,(anonymous_0) -FN:8,(anonymous_1) -FN:9,(anonymous_2) -FN:13,(anonymous_3) -FN:14,(anonymous_4) -FN:19,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:33,0 -LF:17 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:21,3,0,0 -BRDA:21,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/bulkRemapTokens.ts -FN:12,(anonymous_0) -FN:32,(anonymous_1) -FN:33,(anonymous_2) -FN:34,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:49,0 -DA:51,0 -DA:55,0 -DA:57,0 -LF:24 -LH:0 -BRDA:37,0,0,0 -BRDA:37,0,1,0 -BRDA:38,1,0,0 -BRDA:38,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/cancelOperation.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:7,0 -DA:8,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/changedTabs.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/createAnnotation.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/createLocalVariables.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:6,0 -DA:7,0 -DA:8,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/createLocalVariablesWithoutModes.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:6,0 -DA:7,0 -DA:8,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/createStyles.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:7,0 -DA:8,0 -DA:11,0 -DA:12,0 -DA:21,0 -DA:23,0 -DA:27,0 -DA:30,0 -LF:8 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/credentials.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -DA:7,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts -FN:5,(anonymous_0) -FN:11,(anonymous_1) -FN:14,(anonymous_2) -FNF:3 -FNH:3 -FNDA:2,(anonymous_0) -FNDA:2,(anonymous_1) -FNDA:3,(anonymous_2) -DA:5,1 -DA:8,2 -DA:9,2 -DA:11,2 -DA:14,3 -DA:20,1 -DA:22,1 -DA:23,1 -LF:8 -LH:8 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/getFigmaFonts.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:5,0 -DA:6,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/getSiblingStyleId.ts -FN:6,getNewStyleId -FN:22,(anonymous_1) -FN:42,(anonymous_2) -FN:44,(anonymous_3) -FN:45,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,getNewStyleId -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:3,0 -DA:7,0 -DA:8,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:51,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:59,0 -DA:61,0 -LF:30 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:23,2,0,0 -BRDA:23,2,1,0 -BRDA:27,3,0,0 -BRDA:27,3,1,0 -BRDA:35,4,0,0 -BRDA:35,4,1,0 -BRDA:41,5,0,0 -BRDA:41,5,1,0 -BRDA:54,6,0,0 -BRDA:54,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/getThemeReferences.ts -FN:9,getThemeReferences -FN:19,(anonymous_1) -FN:19,(anonymous_2) -FN:23,(anonymous_3) -FN:24,(anonymous_4) -FN:29,(anonymous_5) -FN:37,(anonymous_6) -FN:38,(anonymous_7) -FN:39,(anonymous_8) -FN:39,(anonymous_9) -FN:42,(anonymous_10) -FN:43,(anonymous_11) -FN:45,(anonymous_12) -FN:46,(anonymous_13) -FN:56,(anonymous_14) -FN:69,(anonymous_15) -FNF:16 -FNH:0 -FNDA:0,getThemeReferences -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -DA:10,0 -DA:12,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:54,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:76,0 -LF:36 -LH:0 -BRDA:21,0,0,0 -BRDA:21,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:25,3,0,0 -BRDA:25,3,1,0 -BRDA:29,4,0,0 -BRDA:29,4,1,0 -BRDA:30,5,0,0 -BRDA:30,5,1,0 -BRDA:46,6,0,0 -BRDA:46,6,1,0 -BRDA:47,7,0,0 -BRDA:47,7,1,0 -BRDA:58,8,0,0 -BRDA:58,8,1,0 -BRDA:70,9,0,0 -BRDA:70,9,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/gotoNode.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/notify.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/preview.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -DA:8,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/pullStyles.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/pullVariables.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/remapTokens.ts -FN:12,(anonymous_0) -FN:32,(anonymous_1) -FN:33,(anonymous_2) -FN:34,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:12,0 -DA:13,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:48,0 -DA:50,0 -DA:54,0 -DA:56,0 -LF:22 -LH:0 -BRDA:35,0,0,0 -BRDA:35,0,1,0 -BRDA:35,1,0,0 -BRDA:35,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/removeSingleCredential.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -DA:7,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/removeStyles.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -DA:14,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/removeStylesWithoutConnection.ts -FN:4,(anonymous_0) -FN:11,(anonymous_1) -FN:12,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:18,0 -DA:20,0 -LF:11 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/removeTokensByValue.ts -FN:7,(anonymous_0) -FN:10,(anonymous_1) -FN:11,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:17,0 -DA:19,0 -LF:8 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:17,1,0,0 -BRDA:17,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/renameStyles.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -DA:14,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/renameVariables.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/resizeWindow.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/resolveStyleInfo.ts -FN:4,(anonymous_0) -FN:12,(anonymous_1) -FN:27,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:5,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:23,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:36,0 -DA:40,0 -LF:14 -LH:0 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:28,1,0,0 -BRDA:28,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/resolveVariableInfo.ts -FN:9,(anonymous_0) -FN:12,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:28,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:20,1,0,0 -BRDA:20,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/selectNodes.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:7,0 -DA:8,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setAuthData.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setInitialLoad.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setLicenseKey.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setNodeData.ts -FN:9,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -DA:18,0 -DA:27,0 -DA:30,0 -DA:33,0 -LF:10 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setNoneValuesOnNode.ts -FN:12,(anonymous_0) -FN:15,(anonymous_1) -FN:16,(anonymous_2) -FN:33,(anonymous_3) -FN:34,(anonymous_4) -FN:35,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:20,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:46,0 -DA:48,0 -DA:52,0 -LF:19 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerExportSets.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerInspect.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerSets.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setOnboardingExplainerSyncProviders.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setShowEmptyGroups.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setStorageType.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setUi.ts -FN:8,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -LF:8 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:40,2,0,0 -BRDA:40,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/setUsedEmail.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/swapStyles.ts -FN:6,getRootNode -FN:16,(anonymous_1) -FN:26,swapStyles -FN:27,(anonymous_3) -FN:27,(anonymous_4) -FN:27,(anonymous_5) -FN:29,(anonymous_6) -FN:31,(anonymous_7) -FN:39,(anonymous_8) -FN:40,(anonymous_9) -FN:49,(anonymous_10) -FNF:11 -FNH:0 -FNDA:0,getRootNode -FNDA:0,(anonymous_1) -FNDA:0,swapStyles -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -LF:25 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,0,2,0 -BRDA:8,0,3,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:30,3,0,0 -BRDA:30,3,1,0 -BRDA:45,4,0,0 -BRDA:45,4,1,0 -BRDA:45,5,0,0 -BRDA:45,5,1,0 -BRDA:45,5,2,0 -BRF:15 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/update.ts -FN:13,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:31,0 -DA:34,0 -DA:35,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:61,0 -LF:15 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:31,4,0,0 -BRDA:31,4,1,0 -BRDA:46,5,0,0 -BRDA:46,5,1,0 -BRDA:56,6,0,0 -BRDA:56,6,1,0 -BRDA:56,7,0,0 -BRDA:56,7,1,0 -BRDA:56,7,2,0 -BRDA:56,7,3,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/updateCheckForChanges.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:6,0 -DA:7,0 -DA:8,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/asyncMessageHandlers/updateVariables.ts -FN:5,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/boxShadow.ts -FN:3,convertBoxShadowTypeToFigma -FN:12,convertBoxShadowTypeFromFigma -FNF:2 -FNH:0 -FNDA:0,convertBoxShadowTypeToFigma -FNDA:0,convertBoxShadowTypeFromFigma -DA:4,0 -DA:6,0 -DA:8,0 -DA:13,0 -DA:15,0 -DA:17,0 -LF:6 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/colors.ts -FN:12,RGBAToHexA -FN:28,(anonymous_1) -FN:37,hslaToRgba -FN:86,roundToTwo -FN:90,convertToFigmaColor -FN:129,convertFigmaColorToHex -FN:136,convertFigmaPaintToHex -FNF:7 -FNH:0 -FNDA:0,RGBAToHexA -FNDA:0,(anonymous_1) -FNDA:0,hslaToRgba -FNDA:0,roundToTwo -FNDA:0,convertToFigmaColor -FNDA:0,convertFigmaColorToHex -FNDA:0,convertFigmaPaintToHex -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:34,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:83,0 -DA:87,0 -DA:93,0 -DA:94,0 -DA:98,0 -DA:99,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:109,0 -DA:112,0 -DA:116,0 -DA:117,0 -DA:120,0 -DA:123,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:137,0 -LF:69 -LH:0 -BRDA:29,0,0,0 -BRDA:29,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:54,2,0,0 -BRDA:54,2,1,0 -BRDA:54,3,0,0 -BRDA:54,3,1,0 -BRDA:58,4,0,0 -BRDA:58,4,1,0 -BRDA:58,5,0,0 -BRDA:58,5,1,0 -BRDA:62,6,0,0 -BRDA:62,6,1,0 -BRDA:62,7,0,0 -BRDA:62,7,1,0 -BRDA:66,8,0,0 -BRDA:66,8,1,0 -BRDA:66,9,0,0 -BRDA:66,9,1,0 -BRDA:70,10,0,0 -BRDA:70,10,1,0 -BRDA:70,11,0,0 -BRDA:70,11,1,0 -BRDA:74,12,0,0 -BRDA:74,12,1,0 -BRDA:74,13,0,0 -BRDA:74,13,1,0 -BRDA:93,14,0,0 -BRDA:93,14,1,0 -BRDA:97,15,0,0 -BRDA:103,16,0,0 -BRDA:103,16,1,0 -BRDA:107,17,0,0 -BRDA:115,18,0,0 -BRDA:130,19,0,0 -BRDA:130,19,1,0 -BRF:37 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/convertFontFamilyToFigma.ts -FN:1,convertFontFamilyToFigma -FNF:1 -FNH:0 -FNDA:0,convertFontFamilyToFigma -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:11,0 -LF:8 -LH:0 -BRDA:1,0,0,0 -BRDA:4,1,0,0 -BRDA:4,1,1,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/fontWeight.ts -FN:1,convertFontWeightToFigma -FNF:1 -FNH:0 -FNDA:0,convertFontWeightToFigma -DA:2,0 -DA:3,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:22,0 -DA:24,0 -DA:26,0 -LF:13 -LH:0 -BRDA:1,0,0,0 -BRDA:2,1,0,0 -BRDA:2,1,1,0 -BRDA:6,2,0,0 -BRDA:6,2,1,0 -BRDA:6,2,2,0 -BRDA:6,2,3,0 -BRDA:6,2,4,0 -BRDA:6,2,5,0 -BRDA:6,2,6,0 -BRDA:6,2,7,0 -BRDA:6,2,8,0 -BRDA:6,2,9,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/generic.ts -FN:3,convertNumberToFigma -FN:7,fakeZeroForFigma -FN:11,convertTypographyNumberToFigma -FNF:3 -FNH:0 -FNDA:0,convertNumberToFigma -FNDA:0,fakeZeroForFigma -FNDA:0,convertTypographyNumberToFigma -DA:4,0 -DA:8,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:18,0 -LF:7 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:12,2,0,0 -BRDA:12,2,1,0 -BRDA:12,2,2,0 -BRDA:13,3,0,0 -BRDA:13,3,1,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/gradients.ts -FN:5,convertDegreeToNumber -FN:9,convertFigmaGradientToString -FN:12,(anonymous_2) -FN:20,(anonymous_3) -FN:26,convertStringToFigmaGradient -FN:27,(anonymous_5) -FN:108,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,convertDegreeToNumber -FNDA:0,convertFigmaGradientToString -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,convertStringToFigmaGradient -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:6,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:27,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:70,0 -DA:71,0 -DA:73,0 -DA:74,0 -DA:76,0 -DA:79,0 -DA:80,0 -DA:82,0 -DA:84,0 -DA:85,0 -DA:92,0 -DA:93,0 -DA:97,0 -DA:98,0 -DA:100,0 -DA:106,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:119,0 -LF:63 -LH:0 -BRDA:20,0,0,0 -BRDA:31,1,0,0 -BRDA:31,1,1,0 -BRDA:34,2,0,0 -BRDA:34,2,1,0 -BRDA:37,3,0,0 -BRDA:37,3,1,0 -BRDA:40,4,0,0 -BRDA:40,4,1,0 -BRDA:40,4,2,0 -BRDA:40,4,3,0 -BRDA:40,4,4,0 -BRDA:40,4,5,0 -BRDA:40,4,6,0 -BRDA:40,4,7,0 -BRDA:40,4,8,0 -BRDA:74,5,0,0 -BRDA:74,5,1,0 -BRDA:115,6,0,0 -BRDA:115,6,1,0 -BRF:20 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/letterSpacing.ts -FN:5,convertLetterSpacingToFigma -FN:25,convertFigmaToLetterSpacing -FNF:2 -FNH:0 -FNDA:0,convertLetterSpacingToFigma -FNDA:0,convertFigmaToLetterSpacing -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:22,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -LF:13 -LH:0 -BRDA:5,0,0,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:13,3,0,0 -BRDA:13,3,1,0 -BRDA:13,3,2,0 -BRDA:13,3,3,0 -BRDA:14,4,0,0 -BRDA:14,4,1,0 -BRDA:27,5,0,0 -BRDA:27,5,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/lineHeight.ts -FN:3,convertLineHeightToFigma -FN:28,convertFigmaToLineHeight -FNF:2 -FNH:0 -FNDA:0,convertLineHeightToFigma -FNDA:0,convertFigmaToLineHeight -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:11,0 -DA:15,0 -DA:16,0 -DA:21,0 -DA:25,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -LF:16 -LH:0 -BRDA:3,0,0,0 -BRDA:7,1,0,0 -BRDA:7,1,1,0 -BRDA:7,2,0,0 -BRDA:7,2,1,0 -BRDA:7,2,2,0 -BRDA:7,2,3,0 -BRDA:8,3,0,0 -BRDA:8,3,1,0 -BRDA:15,4,0,0 -BRDA:15,4,1,0 -BRDA:15,5,0,0 -BRDA:15,5,1,0 -BRDA:29,6,0,0 -BRDA:29,6,1,0 -BRDA:31,7,0,0 -BRDA:31,7,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/numberMatchesPercentage.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/offset.ts -FN:1,convertOffsetToFigma -FNF:1 -FNH:0 -FNDA:0,convertOffsetToFigma -DA:2,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/opacity.ts -FN:1,convertOpacityToFigma -FNF:1 -FNH:0 -FNDA:0,convertOpacityToFigma -DA:3,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -LF:10 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:7,1,0,0 -BRDA:7,1,1,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:15,3,0,0 -BRDA:15,3,1,0 -BRDA:15,3,2,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/textCase.ts -FN:1,convertTextCaseToFigma -FN:23,convertFigmaToTextCase -FNF:2 -FNH:0 -FNDA:0,convertTextCaseToFigma -FNDA:0,convertFigmaToTextCase -DA:2,0 -DA:5,0 -DA:8,0 -DA:11,0 -DA:14,0 -DA:17,0 -DA:19,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:34,0 -DA:36,0 -LF:14 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:2,0,2,0 -BRDA:2,0,3,0 -BRDA:2,0,4,0 -BRDA:2,0,5,0 -BRDA:2,0,6,0 -BRDA:2,0,7,0 -BRDA:2,0,8,0 -BRDA:2,0,9,0 -BRDA:2,0,10,0 -BRDA:24,1,0,0 -BRDA:24,1,1,0 -BRDA:24,1,2,0 -BRDA:24,1,3,0 -BRDA:24,1,4,0 -BRDA:24,1,5,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaTransforms/textDecoration.ts -FN:1,convertTextDecorationToFigma -FN:13,convertFigmaToTextDecoration -FNF:2 -FNH:0 -FNDA:0,convertTextDecorationToFigma -FNDA:0,convertFigmaToTextDecoration -DA:2,0 -DA:4,0 -DA:7,0 -DA:9,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:20,0 -LF:8 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:2,0,2,0 -BRDA:2,0,3,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRF:7 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaUtils/getShadowBehindNodeFromEffect.ts -FN:1,getShadowBehindNodeFromEffect -FNF:1 -FNH:0 -FNDA:0,getShadowBehindNodeFromEffect -DA:2,0 -DA:3,0 -DA:4,0 -DA:6,0 -LF:4 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:3,1,0,0 -BRDA:3,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaUtils/styleUtils.ts -FN:10,getStyleId -FN:26,getStyleIdFromBackup -FN:27,(anonymous_2) -FN:40,getNonLocalStyle -FN:56,getLocalStyle -FN:65,setStyleIdBackup -FN:70,clearStyleIdBackup -FNF:7 -FNH:0 -FNDA:0,getStyleId -FNDA:0,getStyleIdFromBackup -FNDA:0,(anonymous_2) -FNDA:0,getNonLocalStyle -FNDA:0,getLocalStyle -FNDA:0,setStyleIdBackup -FNDA:0,clearStyleIdBackup -DA:11,0 -DA:12,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:36,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:53,0 -DA:61,0 -DA:62,0 -DA:67,0 -DA:72,0 -LF:26 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:11,1,2,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRDA:14,3,0,0 -BRDA:14,3,1,0 -BRDA:14,3,2,0 -BRDA:17,4,0,0 -BRDA:17,4,1,0 -BRDA:17,5,0,0 -BRDA:17,5,1,0 -BRDA:17,5,2,0 -BRDA:20,6,0,0 -BRDA:20,6,1,0 -BRDA:20,7,0,0 -BRDA:20,7,1,0 -BRDA:20,7,2,0 -BRDA:28,8,0,0 -BRDA:28,8,1,0 -BRDA:46,9,0,0 -BRDA:46,9,1,0 -BRDA:47,10,0,0 -BRDA:47,10,1,0 -BRDA:49,11,0,0 -BRDA:49,11,1,0 -BRDA:61,12,0,0 -BRDA:61,12,1,0 -BRDA:67,13,0,0 -BRDA:67,13,1,0 -BRF:32 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaUtils/styleMatchers/effectStyleMatchesBoxShadowToken.ts -FN:9,convertBoxShadowToFigmaEffect -FN:31,effectStyleMatchesBoxShadowToken -FN:40,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,convertBoxShadowToFigmaEffect -FNDA:0,effectStyleMatchesBoxShadowToken -FNDA:0,(anonymous_2) -DA:10,0 -DA:11,0 -DA:12,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:46,0 -LF:11 -LH:0 -BRDA:26,0,0,0 -BRDA:26,0,1,0 -BRDA:36,1,0,0 -BRDA:36,1,1,0 -BRDA:36,2,0,0 -BRDA:36,2,1,0 -BRDA:37,3,0,0 -BRDA:37,3,1,0 -BRDA:39,4,0,0 -BRDA:39,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaUtils/styleMatchers/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaUtils/styleMatchers/paintStyleMatchesColorToken.ts -FN:5,paintStyleMatchesColorToken -FNF:1 -FNH:0 -FNDA:0,paintStyleMatchesColorToken -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:19,0 -DA:21,0 -LF:10 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:7,1,0,0 -BRDA:7,1,1,0 -BRDA:12,2,0,0 -BRDA:12,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/plugin/figmaUtils/styleMatchers/textStyleMatchesTypographyToken.ts -FN:4,textStyleMatchesTypographyToken -FNF:1 -FNH:0 -FNDA:0,textStyleMatchesTypographyToken -DA:9,0 -DA:10,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:50,0 -DA:51,0 -DA:55,0 -DA:56,0 -DA:59,0 -DA:63,0 -DA:65,0 -DA:69,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:81,0 -LF:34 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:25,2,0,0 -BRDA:25,2,1,0 -BRDA:28,3,0,0 -BRDA:28,3,1,0 -BRDA:31,4,0,0 -BRDA:31,4,1,0 -BRDA:31,5,0,0 -BRDA:31,5,1,0 -BRDA:36,6,0,0 -BRDA:36,6,1,0 -BRDA:38,7,0,0 -BRDA:38,7,1,0 -BRDA:38,8,0,0 -BRDA:38,8,1,0 -BRDA:38,8,2,0 -BRDA:39,9,0,0 -BRDA:39,9,1,0 -BRDA:41,10,0,0 -BRDA:41,10,1,0 -BRDA:44,11,0,0 -BRDA:44,11,1,0 -BRDA:44,12,0,0 -BRDA:44,12,1,0 -BRDA:45,13,0,0 -BRDA:45,13,1,0 -BRDA:45,14,0,0 -BRDA:45,14,1,0 -BRDA:51,15,0,0 -BRDA:51,15,1,0 -BRDA:52,16,0,0 -BRDA:52,16,1,0 -BRDA:55,17,0,0 -BRDA:55,17,1,0 -BRDA:55,18,0,0 -BRDA:55,18,1,0 -BRDA:55,18,2,0 -BRDA:59,19,0,0 -BRDA:59,19,1,0 -BRDA:60,20,0,0 -BRDA:60,20,1,0 -BRDA:65,21,0,0 -BRDA:65,21,1,0 -BRDA:66,22,0,0 -BRDA:66,22,1,0 -BRDA:73,23,0,0 -BRDA:73,23,1,0 -BRDA:78,24,0,0 -BRDA:78,24,1,0 -BRF:52 -BRH:0 -end_of_record -TN: -SF:src/profiling/timing.ts -FN:11,(anonymous_0) -FN:27,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -LF:10 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/profiling/transaction.ts -FN:9,(anonymous_0) -FN:40,(anonymous_1) -FN:48,(anonymous_2) -FN:70,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:6,0 -DA:7,0 -DA:9,0 -DA:10,0 -DA:13,0 -DA:15,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:76,0 -DA:77,0 -DA:80,0 -DA:82,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:94,0 -DA:96,0 -DA:97,0 -DA:99,0 -DA:102,0 -DA:105,0 -LF:39 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:10,0,2,0 -BRDA:42,1,0,0 -BRDA:42,1,1,0 -BRDA:55,2,0,0 -BRDA:55,2,1,0 -BRDA:72,3,0,0 -BRDA:72,3,1,0 -BRDA:80,4,0,0 -BRDA:80,4,1,0 -BRDA:80,5,0,0 -BRDA:80,5,1,0 -BRDA:82,6,0,0 -BRDA:82,6,1,0 -BRDA:90,7,0,0 -BRDA:90,7,1,0 -BRF:17 -BRH:0 -end_of_record -TN: -SF:src/selectors/activeApiProviderSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/activeTabSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/activeThemeSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/activeTokenSetReadOnlySelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/activeTokenSetSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/activeTokensTabSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/aliasBaseFontSizeSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/allTokenSetsSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/apiProvidersSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/apiSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/backgroundJobsSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/baseFontSizeSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/branchSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/changedStateSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/changelogSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/collapsedSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/collapsedTokenSetsSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/collapsedTokenTypeObjSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/collapsedTokensSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/confirmStateSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/createStylesWithVariableReferencesSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/displayTypeSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/editProhibitedSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/editTokenSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/figmaFontsSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/getClientEmail.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/getEntitlements.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/getLastopened.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/hasUnsavedChangesSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/ignoreFirstPartForStylesSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/importedThemesSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/importedTokensSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/inspectDeepSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/inspectStateSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/isWaitingForBackgroundJobSelector.ts -FN:6,(anonymous_0) -FN:11,(anonymous_1) -FN:12,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:8,0 -DA:12,0 -DA:13,0 -LF:4 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,0,2,0 -BRDA:13,0,3,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/selectors/languageSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/lastSyncedStateSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/licenseDetailsSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/licenseKeyErrorSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/licenseKeySelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/licenseStatusSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/localApiStateBranchSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:8,0 -DA:9,0 -DA:11,0 -LF:4 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/selectors/localApiStateSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/mainNodeSelectionValuesSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/manageThemesModalOpenSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/planSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/prefixStylesWithThemeNameSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/projectURLSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/remoteDataSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/removeStylesAndVariablesWithoutConnectionSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/renameExistingStylesAndVariablesSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/rootStateSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/scrollPositionSetSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/secondScreenSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/sessionRecordingSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/settingsStateSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/showAutoSuggestSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/showConvertTokenFormatModalSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/showEditFormSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/showEmptyGroupsSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/showPullDialogSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/showPushDialogSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/storageTypeSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/storeTokenIdInJsonEditorSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/stringTokensSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/stylesColorSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/stylesEffectSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/stylesTypographySelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/themeByIdSelector.ts -FN:5,(anonymous_0) -FN:9,(anonymous_1) -FN:10,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:5,0 -DA:6,0 -DA:10,0 -DA:11,0 -LF:4 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/selectors/themeObjectsSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/themeOptionsSelector.ts -FN:6,(anonymous_0) -FN:7,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:4,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/themesListSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/themesSizeSelector.ts -FN:6,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:4,0 -DA:6,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokenFilterSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokenFormatSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokenSetMetadataSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokenSetStatusSelector.ts -FN:8,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:6,0 -DA:8,0 -DA:10,0 -LF:3 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokenStateSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokenTypeSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokensSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokensSizeSelector.ts -FN:6,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:4,0 -DA:6,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/tokensStudioPATSelector.ts -FN:6,(anonymous_0) -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:4,0 -DA:6,0 -DA:9,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/uiDisabledSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/uiStateSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/updateModeSelector.ts -FN:7,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/selectors/usedEmailSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/usedTokenSetSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/userIdSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/userNameSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/userStateSelector.ts -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/variablesBooleanSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/variablesColorSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/variablesNumberSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/variablesStringSelector.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -DA:6,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/selectors/windowSizeSelector.ts -FN:4,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/ADOTokenStorage.ts -FN:59,(anonymous_0) -FN:77,(anonymous_1) -FN:81,(anonymous_2) -FN:92,(anonymous_3) -FN:109,(anonymous_4) -FN:125,(anonymous_5) -FN:142,(anonymous_6) -FN:160,(anonymous_7) -FN:171,(anonymous_8) -FN:184,(anonymous_9) -FN:196,(anonymous_10) -FN:206,(anonymous_11) -FN:226,(anonymous_12) -FN:246,(anonymous_13) -FN:251,(anonymous_14) -FN:252,(anonymous_15) -FN:259,(anonymous_16) -FN:268,(anonymous_17) -FN:321,(anonymous_18) -FN:323,(anonymous_19) -FN:343,(anonymous_20) -FN:358,(anonymous_21) -FN:392,(anonymous_22) -FN:395,(anonymous_23) -FN:397,(anonymous_24) -FN:418,(anonymous_25) -FN:418,(anonymous_26) -FN:419,(anonymous_27) -FN:419,(anonymous_28) -FN:420,(anonymous_29) -FN:421,(anonymous_30) -FNF:31 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -FNDA:0,(anonymous_29) -FNDA:0,(anonymous_30) -DA:15,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:78,0 -DA:91,0 -DA:92,0 -DA:94,0 -DA:95,0 -DA:106,0 -DA:110,0 -DA:112,0 -DA:122,0 -DA:126,0 -DA:127,0 -DA:135,0 -DA:137,0 -DA:138,0 -DA:143,0 -DA:144,0 -DA:153,0 -DA:155,0 -DA:156,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:168,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:179,0 -DA:181,0 -DA:185,0 -DA:186,0 -DA:187,0 -DA:188,0 -DA:189,0 -DA:192,0 -DA:193,0 -DA:197,0 -DA:207,0 -DA:210,0 -DA:219,0 -DA:221,0 -DA:222,0 -DA:227,0 -DA:228,0 -DA:239,0 -DA:241,0 -DA:242,0 -DA:247,0 -DA:248,0 -DA:249,0 -DA:250,0 -DA:251,0 -DA:253,0 -DA:256,0 -DA:258,0 -DA:260,0 -DA:261,0 -DA:262,0 -DA:263,0 -DA:265,0 -DA:268,0 -DA:269,0 -DA:270,0 -DA:271,0 -DA:272,0 -DA:273,0 -DA:280,0 -DA:281,0 -DA:282,0 -DA:289,0 -DA:298,0 -DA:302,0 -DA:303,0 -DA:305,0 -DA:306,0 -DA:308,0 -DA:322,0 -DA:323,0 -DA:331,0 -DA:332,0 -DA:334,0 -DA:338,0 -DA:340,0 -DA:347,0 -DA:358,0 -DA:360,0 -DA:361,0 -DA:362,0 -DA:365,0 -DA:367,0 -DA:389,0 -DA:393,0 -DA:394,0 -DA:395,0 -DA:396,0 -DA:398,0 -DA:399,0 -DA:412,0 -DA:413,0 -DA:414,0 -DA:417,0 -DA:418,0 -DA:419,0 -DA:420,0 -DA:421,0 -DA:422,0 -DA:423,0 -DA:430,0 -DA:432,0 -DA:439,0 -DA:442,0 -DA:448,0 -LF:119 -LH:0 -BRDA:60,0,0,0 -BRDA:65,1,0,0 -BRDA:89,2,0,0 -BRDA:91,3,0,0 -BRDA:91,3,1,0 -BRDA:94,4,0,0 -BRDA:94,4,1,0 -BRDA:110,5,0,0 -BRDA:110,5,1,0 -BRDA:110,6,0,0 -BRDA:110,6,1,0 -BRDA:125,7,0,0 -BRDA:164,8,0,0 -BRDA:164,8,1,0 -BRDA:171,9,0,0 -BRDA:173,10,0,0 -BRDA:173,10,1,0 -BRDA:179,11,0,0 -BRDA:179,11,1,0 -BRDA:188,12,0,0 -BRDA:188,12,1,0 -BRDA:192,13,0,0 -BRDA:192,13,1,0 -BRDA:193,14,0,0 -BRDA:193,14,1,0 -BRDA:206,15,0,0 -BRDA:233,16,0,0 -BRDA:233,16,1,0 -BRDA:248,17,0,0 -BRDA:248,17,1,0 -BRDA:250,18,0,0 -BRDA:250,18,1,0 -BRDA:253,19,0,0 -BRDA:253,19,1,0 -BRDA:253,20,0,0 -BRDA:253,20,1,0 -BRDA:256,21,0,0 -BRDA:256,21,1,0 -BRDA:262,22,0,0 -BRDA:262,22,1,0 -BRDA:270,23,0,0 -BRDA:270,23,1,0 -BRDA:272,24,0,0 -BRDA:272,24,1,0 -BRDA:272,25,0,0 -BRDA:272,25,1,0 -BRDA:280,26,0,0 -BRDA:280,26,1,0 -BRDA:281,27,0,0 -BRDA:281,27,1,0 -BRDA:305,28,0,0 -BRDA:305,28,1,0 -BRDA:306,29,0,0 -BRDA:314,30,0,0 -BRDA:314,30,1,0 -BRDA:327,31,0,0 -BRDA:327,31,1,0 -BRDA:331,32,0,0 -BRDA:331,32,1,0 -BRDA:344,33,0,0 -BRDA:360,34,0,0 -BRDA:360,34,1,0 -BRDA:361,35,0,0 -BRDA:361,35,1,0 -BRDA:372,36,0,0 -BRDA:372,36,1,0 -BRDA:392,37,0,0 -BRDA:395,38,0,0 -BRDA:395,38,1,0 -BRDA:398,39,0,0 -BRDA:398,39,1,0 -BRDA:400,40,0,0 -BRDA:400,40,1,0 -BRDA:413,41,0,0 -BRDA:413,41,1,0 -BRDA:417,42,0,0 -BRDA:417,42,1,0 -BRDA:418,43,0,0 -BRDA:418,43,1,0 -BRDA:419,44,0,0 -BRDA:419,44,1,0 -BRDA:420,45,0,0 -BRDA:420,45,1,0 -BRDA:422,46,0,0 -BRDA:422,46,1,0 -BRF:85 -BRH:0 -end_of_record -TN: -SF:src/storage/BitbucketTokenStorage.ts -FN:30,(anonymous_0) -FN:47,(anonymous_1) -FN:58,(anonymous_2) -FN:74,(anonymous_3) -FN:83,(anonymous_4) -FN:117,(anonymous_5) -FN:144,(anonymous_6) -FN:162,(anonymous_7) -FN:168,(anonymous_8) -FN:169,(anonymous_9) -FN:181,(anonymous_10) -FN:198,(anonymous_11) -FN:224,(anonymous_12) -FN:228,(anonymous_13) -FN:242,(anonymous_14) -FN:247,(anonymous_15) -FN:250,(anonymous_16) -FN:322,(anonymous_17) -FN:339,(anonymous_18) -FN:350,(anonymous_19) -FN:361,(anonymous_20) -FN:369,(anonymous_21) -FN:384,(anonymous_22) -FNF:23 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -DA:31,0 -DA:32,0 -DA:36,0 -DA:48,0 -DA:53,0 -DA:54,0 -DA:58,0 -DA:75,0 -DA:76,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:86,0 -DA:93,0 -DA:96,0 -DA:107,0 -DA:109,0 -DA:110,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:124,0 -DA:125,0 -DA:127,0 -DA:145,0 -DA:146,0 -DA:148,0 -DA:149,0 -DA:156,0 -DA:157,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:166,0 -DA:168,0 -DA:169,0 -DA:172,0 -DA:175,0 -DA:178,0 -DA:182,0 -DA:189,0 -DA:190,0 -DA:193,0 -DA:195,0 -DA:199,0 -DA:201,0 -DA:202,0 -DA:205,0 -DA:206,0 -DA:208,0 -DA:224,0 -DA:228,0 -DA:238,0 -DA:239,0 -DA:241,0 -DA:242,0 -DA:247,0 -DA:250,0 -DA:251,0 -DA:252,0 -DA:253,0 -DA:254,0 -DA:255,0 -DA:257,0 -DA:258,0 -DA:265,0 -DA:266,0 -DA:273,0 -DA:282,0 -DA:286,0 -DA:287,0 -DA:325,0 -DA:327,0 -DA:329,0 -DA:330,0 -DA:332,0 -DA:333,0 -DA:334,0 -DA:335,0 -DA:337,0 -DA:338,0 -DA:339,0 -DA:340,0 -DA:341,0 -DA:342,0 -DA:347,0 -DA:349,0 -DA:350,0 -DA:361,0 -DA:362,0 -DA:366,0 -DA:369,0 -DA:370,0 -DA:373,0 -DA:381,0 -DA:390,0 -DA:402,0 -LF:100 -LH:0 -BRDA:38,0,0,0 -BRDA:38,0,1,0 -BRDA:41,1,0,0 -BRDA:41,1,1,0 -BRDA:53,2,0,0 -BRDA:53,2,1,0 -BRDA:53,3,0,0 -BRDA:53,3,1,0 -BRDA:81,4,0,0 -BRDA:81,4,1,0 -BRDA:86,5,0,0 -BRDA:86,5,1,0 -BRDA:87,6,0,0 -BRDA:87,6,1,0 -BRDA:87,6,2,0 -BRDA:87,6,3,0 -BRDA:87,6,4,0 -BRDA:119,7,0,0 -BRDA:119,7,1,0 -BRDA:124,8,0,0 -BRDA:124,8,1,0 -BRDA:156,9,0,0 -BRDA:156,9,1,0 -BRDA:161,10,0,0 -BRDA:161,10,1,0 -BRDA:161,11,0,0 -BRDA:161,11,1,0 -BRDA:175,12,0,0 -BRDA:175,12,1,0 -BRDA:189,13,0,0 -BRDA:189,13,1,0 -BRDA:205,14,0,0 -BRDA:205,14,1,0 -BRDA:212,15,0,0 -BRDA:212,15,1,0 -BRDA:214,16,0,0 -BRDA:214,16,1,0 -BRDA:238,17,0,0 -BRDA:238,17,1,0 -BRDA:252,18,0,0 -BRDA:252,18,1,0 -BRDA:257,19,0,0 -BRDA:257,19,1,0 -BRDA:265,20,0,0 -BRDA:265,20,1,0 -BRDA:332,21,0,0 -BRDA:332,21,1,0 -BRDA:332,22,0,0 -BRDA:332,22,1,0 -BRDA:338,23,0,0 -BRDA:338,23,1,0 -BRDA:340,24,0,0 -BRDA:340,24,1,0 -BRDA:340,25,0,0 -BRDA:340,25,1,0 -BRDA:350,26,0,0 -BRDA:350,26,1,0 -BRF:57 -BRH:0 -end_of_record -TN: -SF:src/storage/FileTokenStorage.ts -FN:24,(anonymous_0) -FN:29,(anonymous_1) -FN:34,(anonymous_2) -FN:37,(anonymous_3) -FN:38,(anonymous_4) -FN:42,(anonymous_5) -FN:42,(anonymous_6) -FN:45,(anonymous_7) -FN:59,(anonymous_8) -FN:94,(anonymous_9) -FN:95,(anonymous_10) -FN:116,(anonymous_11) -FN:138,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -DA:20,0 -DA:25,0 -DA:26,0 -DA:30,0 -DA:31,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:54,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:71,0 -DA:72,0 -DA:79,0 -DA:80,0 -DA:88,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:116,0 -DA:124,0 -DA:128,0 -DA:133,0 -DA:135,0 -DA:139,0 -LF:50 -LH:0 -BRDA:36,0,0,0 -BRDA:36,0,1,0 -BRDA:36,1,0,0 -BRDA:36,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:39,3,0,0 -BRDA:39,3,1,0 -BRDA:47,4,0,0 -BRDA:47,4,1,0 -BRDA:47,5,0,0 -BRDA:47,5,1,0 -BRDA:50,6,0,0 -BRDA:50,6,1,0 -BRDA:61,7,0,0 -BRDA:61,7,1,0 -BRDA:63,8,0,0 -BRDA:63,8,1,0 -BRDA:63,9,0,0 -BRDA:63,9,1,0 -BRDA:71,10,0,0 -BRDA:71,10,1,0 -BRDA:79,11,0,0 -BRDA:79,11,1,0 -BRDA:91,12,0,0 -BRDA:91,12,1,0 -BRDA:98,13,0,0 -BRDA:98,13,1,0 -BRDA:98,14,0,0 -BRDA:98,14,1,0 -BRDA:101,15,0,0 -BRDA:101,15,1,0 -BRDA:102,16,0,0 -BRDA:107,17,0,0 -BRDA:107,17,1,0 -BRDA:109,18,0,0 -BRDA:109,18,1,0 -BRDA:120,19,0,0 -BRDA:120,19,1,0 -BRF:39 -BRH:0 -end_of_record -TN: -SF:src/storage/GenericVersionedStorage.ts -FN:34,(anonymous_0) -FN:34,(anonymous_1) -FN:49,(anonymous_2) -FN:97,(anonymous_3) -FN:107,(anonymous_4) -FN:122,(anonymous_5) -FN:131,(anonymous_6) -FN:159,(anonymous_7) -FN:170,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:12,0 -DA:34,0 -DA:52,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:70,0 -DA:72,0 -DA:73,0 -DA:76,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:94,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:108,0 -DA:122,0 -DA:132,0 -DA:142,0 -DA:143,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:156,0 -DA:160,0 -DA:161,0 -DA:164,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:176,0 -DA:177,0 -DA:184,0 -DA:195,0 -DA:196,0 -DA:199,0 -DA:200,0 -DA:203,0 -LF:50 -LH:0 -BRDA:49,0,0,0 -BRDA:60,1,0,0 -BRDA:60,1,1,0 -BRDA:60,1,2,0 -BRDA:60,1,3,0 -BRDA:88,2,0,0 -BRDA:88,2,1,0 -BRDA:91,3,0,0 -BRDA:91,3,1,0 -BRDA:97,4,0,0 -BRDA:112,5,0,0 -BRDA:112,5,1,0 -BRDA:142,6,0,0 -BRDA:142,6,1,0 -BRDA:145,7,0,0 -BRDA:145,7,1,0 -BRDA:148,8,0,0 -BRDA:148,8,1,0 -BRDA:160,9,0,0 -BRDA:160,9,1,0 -BRDA:171,10,0,0 -BRDA:171,10,1,0 -BRDA:173,11,0,0 -BRDA:173,11,1,0 -BRDA:176,12,0,0 -BRDA:176,12,1,0 -BRDA:195,13,0,0 -BRDA:195,13,1,0 -BRDA:199,14,0,0 -BRDA:199,14,1,0 -BRF:30 -BRH:0 -end_of_record -TN: -SF:src/storage/GitTokenStorage.ts -FN:49,(anonymous_0) -FN:64,(anonymous_1) -FN:69,(anonymous_2) -FN:74,(anonymous_3) -FN:79,(anonymous_4) -FN:94,(anonymous_5) -FN:101,(anonymous_6) -FN:113,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:37,0 -DA:39,0 -DA:41,0 -DA:43,0 -DA:47,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:65,0 -DA:66,0 -DA:70,0 -DA:71,0 -DA:75,0 -DA:76,0 -DA:80,0 -DA:81,0 -DA:95,0 -DA:96,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:109,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:124,0 -DA:126,0 -LF:41 -LH:0 -BRDA:96,0,0,0 -BRDA:96,0,1,0 -BRDA:99,1,0,0 -BRDA:99,1,1,0 -BRDA:102,2,0,0 -BRDA:102,2,1,0 -BRDA:104,3,0,0 -BRDA:104,3,1,0 -BRDA:105,4,0,0 -BRDA:105,4,1,0 -BRDA:106,5,0,0 -BRDA:106,5,1,0 -BRDA:107,6,0,0 -BRDA:107,6,1,0 -BRDA:112,7,0,0 -BRDA:112,7,1,0 -BRDA:114,8,0,0 -BRDA:114,8,1,0 -BRDA:116,9,0,0 -BRDA:116,9,1,0 -BRDA:118,10,0,0 -BRDA:118,10,1,0 -BRDA:128,11,0,0 -BRDA:128,11,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/storage/GithubTokenStorage.ts -FN:31,getTreeMode -FN:49,(anonymous_1) -FN:68,(anonymous_2) -FN:77,(anonymous_3) -FN:82,(anonymous_4) -FN:98,(anonymous_5) -FN:112,(anonymous_6) -FN:114,(anonymous_7) -FN:117,(anonymous_8) -FN:137,(anonymous_9) -FN:154,(anonymous_10) -FN:180,(anonymous_11) -FN:182,(anonymous_12) -FN:185,(anonymous_13) -FN:198,(anonymous_14) -FN:254,(anonymous_15) -FN:256,(anonymous_16) -FN:277,(anonymous_17) -FN:295,(anonymous_18) -FN:308,(anonymous_19) -FN:324,(anonymous_20) -FN:326,(anonymous_21) -FN:330,(anonymous_22) -FN:330,(anonymous_23) -FN:331,(anonymous_24) -FN:343,(anonymous_25) -FNF:26 -FNH:0 -FNDA:0,getTreeMode -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -DA:32,0 -DA:34,0 -DA:36,0 -DA:41,0 -DA:55,0 -DA:56,0 -DA:61,0 -DA:62,0 -DA:69,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:88,0 -DA:89,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:105,0 -DA:106,0 -DA:109,0 -DA:113,0 -DA:114,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:127,0 -DA:130,0 -DA:132,0 -DA:133,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:148,0 -DA:150,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:179,0 -DA:180,0 -DA:181,0 -DA:183,0 -DA:185,0 -DA:186,0 -DA:198,0 -DA:199,0 -DA:200,0 -DA:205,0 -DA:206,0 -DA:207,0 -DA:208,0 -DA:211,0 -DA:212,0 -DA:219,0 -DA:220,0 -DA:227,0 -DA:234,0 -DA:237,0 -DA:238,0 -DA:239,0 -DA:240,0 -DA:241,0 -DA:255,0 -DA:256,0 -DA:264,0 -DA:269,0 -DA:272,0 -DA:273,0 -DA:278,0 -DA:292,0 -DA:296,0 -DA:297,0 -DA:304,0 -DA:305,0 -DA:308,0 -DA:315,0 -DA:316,0 -DA:323,0 -DA:324,0 -DA:325,0 -DA:327,0 -DA:330,0 -DA:331,0 -DA:332,0 -DA:337,0 -DA:339,0 -DA:344,0 -DA:345,0 -DA:346,0 -DA:354,0 -DA:355,0 -DA:356,0 -DA:358,0 -DA:361,0 -DA:362,0 -LF:103 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRDA:64,1,0,0 -BRDA:64,1,1,0 -BRDA:80,2,0,0 -BRDA:80,2,1,0 -BRDA:83,3,0,0 -BRDA:83,3,1,0 -BRDA:88,4,0,0 -BRDA:88,4,1,0 -BRDA:97,5,0,0 -BRDA:97,5,1,0 -BRDA:99,6,0,0 -BRDA:99,6,1,0 -BRDA:105,7,0,0 -BRDA:105,7,1,0 -BRDA:119,8,0,0 -BRDA:119,8,1,0 -BRDA:138,9,0,0 -BRDA:138,9,1,0 -BRDA:138,10,0,0 -BRDA:138,10,1,0 -BRDA:140,11,0,0 -BRDA:140,11,1,0 -BRDA:170,12,0,0 -BRDA:170,12,1,0 -BRDA:179,13,0,0 -BRDA:179,13,1,0 -BRDA:179,14,0,0 -BRDA:179,14,1,0 -BRDA:183,15,0,0 -BRDA:183,15,1,0 -BRDA:183,16,0,0 -BRDA:183,16,1,0 -BRDA:186,17,0,0 -BRDA:186,17,1,0 -BRDA:189,18,0,0 -BRDA:189,18,1,0 -BRDA:200,19,0,0 -BRDA:200,19,1,0 -BRDA:201,20,0,0 -BRDA:201,20,1,0 -BRDA:201,20,2,0 -BRDA:205,21,0,0 -BRDA:205,21,1,0 -BRDA:211,22,0,0 -BRDA:211,22,1,0 -BRDA:219,23,0,0 -BRDA:219,23,1,0 -BRDA:237,24,0,0 -BRDA:237,24,1,0 -BRDA:239,25,0,0 -BRDA:239,25,1,0 -BRDA:245,26,0,0 -BRDA:245,26,1,0 -BRDA:247,27,0,0 -BRDA:247,27,1,0 -BRDA:304,28,0,0 -BRDA:304,28,1,0 -BRDA:315,29,0,0 -BRDA:315,29,1,0 -BRDA:323,30,0,0 -BRDA:323,30,1,0 -BRDA:327,31,0,0 -BRDA:327,31,1,0 -BRDA:327,32,0,0 -BRDA:327,32,1,0 -BRDA:330,33,0,0 -BRDA:330,33,1,0 -BRDA:331,34,0,0 -BRDA:331,34,1,0 -BRDA:354,35,0,0 -BRDA:354,35,1,0 -BRF:73 -BRH:0 -end_of_record -TN: -SF:src/storage/GitlabTokenStorage.ts -FN:37,(anonymous_0) -FN:56,(anonymous_1) -FN:63,(anonymous_2) -FN:76,(anonymous_3) -FN:79,(anonymous_4) -FN:82,(anonymous_5) -FN:97,(anonymous_6) -FN:114,(anonymous_7) -FN:122,(anonymous_8) -FN:130,(anonymous_9) -FN:131,(anonymous_10) -FN:153,(anonymous_11) -FN:164,(anonymous_12) -FN:166,(anonymous_13) -FN:170,(anonymous_14) -FN:174,(anonymous_15) -FN:226,(anonymous_16) -FN:228,(anonymous_17) -FN:245,(anonymous_18) -FN:278,(anonymous_19) -FN:279,(anonymous_20) -FN:285,(anonymous_21) -FN:286,(anonymous_22) -FN:289,(anonymous_23) -FN:289,(anonymous_24) -FN:294,(anonymous_25) -FN:321,(anonymous_26) -FN:331,(anonymous_27) -FN:333,(anonymous_28) -FNF:29 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:0,(anonymous_27) -FNDA:0,(anonymous_28) -DA:25,0 -DA:27,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:52,0 -DA:53,0 -DA:57,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:70,0 -DA:71,0 -DA:73,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:90,0 -DA:92,0 -DA:93,0 -DA:98,0 -DA:99,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:107,0 -DA:109,0 -DA:111,0 -DA:115,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:148,0 -DA:154,0 -DA:156,0 -DA:157,0 -DA:158,0 -DA:164,0 -DA:165,0 -DA:167,0 -DA:170,0 -DA:171,0 -DA:174,0 -DA:175,0 -DA:176,0 -DA:177,0 -DA:178,0 -DA:180,0 -DA:181,0 -DA:188,0 -DA:189,0 -DA:196,0 -DA:204,0 -DA:208,0 -DA:209,0 -DA:211,0 -DA:212,0 -DA:213,0 -DA:227,0 -DA:228,0 -DA:236,0 -DA:240,0 -DA:242,0 -DA:246,0 -DA:248,0 -DA:249,0 -DA:250,0 -DA:252,0 -DA:253,0 -DA:254,0 -DA:257,0 -DA:263,0 -DA:265,0 -DA:266,0 -DA:275,0 -DA:278,0 -DA:279,0 -DA:280,0 -DA:284,0 -DA:285,0 -DA:286,0 -DA:288,0 -DA:289,0 -DA:292,0 -DA:293,0 -DA:294,0 -DA:301,0 -DA:302,0 -DA:309,0 -DA:310,0 -DA:312,0 -DA:315,0 -DA:316,0 -DA:318,0 -DA:322,0 -DA:324,0 -DA:325,0 -DA:326,0 -DA:331,0 -DA:332,0 -DA:334,0 -DA:337,0 -DA:338,0 -DA:339,0 -DA:340,0 -DA:342,0 -DA:343,0 -DA:344,0 -DA:345,0 -DA:347,0 -DA:348,0 -LF:129 -LH:0 -BRDA:42,0,0,0 -BRDA:43,1,0,0 -BRDA:50,2,0,0 -BRDA:50,2,1,0 -BRDA:62,3,0,0 -BRDA:62,3,1,0 -BRDA:64,4,0,0 -BRDA:64,4,1,0 -BRDA:70,5,0,0 -BRDA:70,5,1,0 -BRDA:77,6,0,0 -BRDA:77,6,1,0 -BRDA:83,7,0,0 -BRDA:83,7,1,0 -BRDA:88,8,0,0 -BRDA:88,8,1,0 -BRDA:98,9,0,0 -BRDA:98,9,1,0 -BRDA:98,10,0,0 -BRDA:98,10,1,0 -BRDA:99,11,0,0 -BRDA:99,11,1,0 -BRDA:103,12,0,0 -BRDA:103,12,1,0 -BRDA:103,13,0,0 -BRDA:103,13,1,0 -BRDA:124,14,0,0 -BRDA:124,14,1,0 -BRDA:133,15,0,0 -BRDA:133,15,1,0 -BRDA:133,16,0,0 -BRDA:133,16,1,0 -BRDA:139,17,0,0 -BRDA:139,17,1,0 -BRDA:154,18,0,0 -BRDA:154,18,1,0 -BRDA:157,19,0,0 -BRDA:157,19,1,0 -BRDA:167,20,0,0 -BRDA:167,20,1,0 -BRDA:167,21,0,0 -BRDA:167,21,1,0 -BRDA:176,22,0,0 -BRDA:176,22,1,0 -BRDA:176,23,0,0 -BRDA:176,23,1,0 -BRDA:180,24,0,0 -BRDA:180,24,1,0 -BRDA:188,25,0,0 -BRDA:188,25,1,0 -BRDA:209,26,0,0 -BRDA:209,26,1,0 -BRDA:211,27,0,0 -BRDA:211,27,1,0 -BRDA:217,28,0,0 -BRDA:217,28,1,0 -BRDA:219,29,0,0 -BRDA:219,29,1,0 -BRDA:246,30,0,0 -BRDA:246,30,1,0 -BRDA:249,31,0,0 -BRDA:249,31,1,0 -BRDA:250,32,0,0 -BRDA:250,32,1,0 -BRDA:252,33,0,0 -BRDA:252,33,1,0 -BRDA:252,34,0,0 -BRDA:252,34,1,0 -BRDA:253,35,0,0 -BRDA:253,35,1,0 -BRDA:265,36,0,0 -BRDA:265,36,1,0 -BRDA:279,37,0,0 -BRDA:279,37,1,0 -BRDA:292,38,0,0 -BRDA:292,38,1,0 -BRDA:292,39,0,0 -BRDA:292,39,1,0 -BRDA:309,40,0,0 -BRDA:309,40,1,0 -BRDA:309,41,0,0 -BRDA:309,41,1,0 -BRDA:315,42,0,0 -BRDA:315,42,1,0 -BRDA:322,43,0,0 -BRDA:322,43,1,0 -BRDA:325,44,0,0 -BRDA:325,44,1,0 -BRDA:334,45,0,0 -BRDA:334,45,1,0 -BRDA:334,46,0,0 -BRDA:334,46,1,0 -BRDA:339,47,0,0 -BRDA:339,47,1,0 -BRDA:340,48,0,0 -BRDA:340,48,1,0 -BRDA:344,49,0,0 -BRDA:344,49,1,0 -BRDA:345,50,0,0 -BRDA:345,50,1,0 -BRF:100 -BRH:0 -end_of_record -TN: -SF:src/storage/JSONBinTokenStorage.ts -FN:36,(anonymous_0) -FN:70,(anonymous_1) -FN:80,(anonymous_2) -FN:100,(anonymous_3) -FN:109,(anonymous_4) -FN:141,(anonymous_5) -FN:150,(anonymous_6) -FNF:7 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:24,0 -DA:39,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:83,0 -DA:100,0 -DA:110,0 -DA:121,0 -DA:122,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:134,0 -DA:138,0 -DA:142,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:156,0 -DA:157,0 -DA:161,0 -DA:162,0 -DA:169,0 -DA:180,0 -DA:181,0 -DA:184,0 -DA:185,0 -DA:188,0 -LF:40 -LH:0 -BRDA:59,0,0,0 -BRDA:59,0,1,0 -BRDA:63,1,0,0 -BRDA:63,1,1,0 -BRDA:87,2,0,0 -BRDA:87,2,1,0 -BRDA:93,3,0,0 -BRDA:93,3,1,0 -BRDA:93,3,2,0 -BRDA:94,4,0,0 -BRDA:94,4,1,0 -BRDA:94,4,2,0 -BRDA:95,5,0,0 -BRDA:95,5,1,0 -BRDA:121,6,0,0 -BRDA:121,6,1,0 -BRDA:125,7,0,0 -BRDA:125,7,1,0 -BRDA:130,8,0,0 -BRDA:130,8,1,0 -BRDA:151,9,0,0 -BRDA:151,9,1,0 -BRDA:153,10,0,0 -BRDA:153,10,1,0 -BRDA:156,11,0,0 -BRDA:156,11,1,0 -BRDA:158,12,0,0 -BRDA:158,12,1,0 -BRDA:161,13,0,0 -BRDA:161,13,1,0 -BRDA:180,14,0,0 -BRDA:180,14,1,0 -BRDA:184,15,0,0 -BRDA:184,15,1,0 -BRF:34 -BRH:0 -end_of_record -TN: -SF:src/storage/RemoteTokenStorage.ts -FN:57,(anonymous_0) -FN:63,(anonymous_1) -FN:90,(anonymous_2) -FN:104,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:58,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:73,0 -DA:79,0 -DA:80,0 -DA:87,0 -DA:91,0 -DA:98,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:112,0 -DA:113,0 -DA:119,0 -DA:124,0 -LF:22 -LH:0 -BRDA:79,0,0,0 -BRDA:79,0,1,0 -BRDA:79,1,0,0 -BRDA:79,1,1,0 -BRDA:100,2,0,0 -BRDA:100,2,1,0 -BRDA:101,3,0,0 -BRDA:101,3,1,0 -BRDA:105,4,0,0 -BRDA:105,4,1,0 -BRDA:107,5,0,0 -BRDA:107,5,1,0 -BRDA:112,6,0,0 -BRDA:112,6,1,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/storage/SupernovaTokenStorage.ts -FN:24,(anonymous_0) -FN:45,(anonymous_1) -FN:74,(anonymous_2) -FN:78,(anonymous_3) -FN:93,(anonymous_4) -FN:100,(anonymous_5) -FN:132,(anonymous_6) -FN:148,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:25,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:46,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:56,0 -DA:58,0 -DA:74,0 -DA:78,0 -DA:86,0 -DA:87,0 -DA:96,0 -DA:97,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:113,0 -DA:114,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:133,0 -DA:134,0 -DA:136,0 -DA:137,0 -DA:139,0 -DA:140,0 -DA:142,0 -DA:143,0 -DA:145,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:164,0 -DA:165,0 -DA:167,0 -LF:53 -LH:0 -BRDA:30,0,0,0 -BRDA:30,0,1,0 -BRDA:30,1,0,0 -BRDA:30,1,1,0 -BRDA:30,1,2,0 -BRDA:30,1,3,0 -BRDA:36,2,0,0 -BRDA:36,2,1,0 -BRDA:38,3,0,0 -BRDA:38,3,1,0 -BRDA:62,4,0,0 -BRDA:62,4,1,0 -BRDA:64,5,0,0 -BRDA:64,5,1,0 -BRDA:101,6,0,0 -BRDA:101,6,1,0 -BRDA:102,7,0,0 -BRDA:102,7,1,0 -BRDA:103,8,0,0 -BRDA:103,8,1,0 -BRDA:105,9,0,0 -BRDA:105,9,1,0 -BRDA:107,10,0,0 -BRDA:107,10,1,0 -BRDA:133,11,0,0 -BRDA:133,11,1,0 -BRDA:133,12,0,0 -BRDA:133,12,1,0 -BRDA:136,13,0,0 -BRDA:136,13,1,0 -BRDA:136,14,0,0 -BRDA:136,14,1,0 -BRDA:139,15,0,0 -BRDA:139,15,1,0 -BRDA:139,16,0,0 -BRDA:139,16,1,0 -BRDA:142,17,0,0 -BRDA:142,17,1,0 -BRDA:142,18,0,0 -BRDA:142,18,1,0 -BRDA:156,19,0,0 -BRDA:156,19,1,0 -BRDA:156,20,0,0 -BRDA:156,20,1,0 -BRF:44 -BRH:0 -end_of_record -TN: -SF:src/storage/TokensStudioTokenStorage.ts -FN:31,(anonymous_0) -FN:50,getProjectData -FN:74,(anonymous_2) -FN:85,(anonymous_3) -FN:86,(anonymous_4) -FN:92,(anonymous_5) -FN:98,(anonymous_6) -FN:99,(anonymous_7) -FN:139,(anonymous_8) -FN:149,(anonymous_9) -FN:156,(anonymous_10) -FN:183,(anonymous_11) -FN:213,(anonymous_12) -FN:224,(anonymous_13) -FN:249,(anonymous_14) -FN:281,(anonymous_15) -FN:313,(anonymous_16) -FN:343,(anonymous_17) -FN:368,(anonymous_18) -FN:397,(anonymous_19) -FN:426,(anonymous_20) -FN:452,(anonymous_21) -FNF:22 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,getProjectData -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -DA:29,0 -DA:31,0 -DA:51,0 -DA:52,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:69,0 -DA:70,0 -DA:73,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:97,0 -DA:98,0 -DA:100,0 -DA:102,0 -DA:114,0 -DA:118,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:146,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:161,0 -DA:162,0 -DA:164,0 -DA:165,0 -DA:167,0 -DA:168,0 -DA:171,0 -DA:172,0 -DA:176,0 -DA:177,0 -DA:181,0 -DA:183,0 -DA:190,0 -DA:191,0 -DA:198,0 -DA:199,0 -DA:206,0 -DA:208,0 -DA:220,0 -DA:221,0 -DA:235,0 -DA:242,0 -DA:243,0 -DA:246,0 -DA:250,0 -DA:251,0 -DA:252,0 -DA:255,0 -DA:267,0 -DA:268,0 -DA:271,0 -DA:272,0 -DA:274,0 -DA:276,0 -DA:277,0 -DA:282,0 -DA:283,0 -DA:296,0 -DA:297,0 -DA:300,0 -DA:301,0 -DA:303,0 -DA:305,0 -DA:306,0 -DA:309,0 -DA:314,0 -DA:315,0 -DA:316,0 -DA:319,0 -DA:329,0 -DA:330,0 -DA:333,0 -DA:334,0 -DA:336,0 -DA:338,0 -DA:339,0 -DA:344,0 -DA:345,0 -DA:354,0 -DA:355,0 -DA:358,0 -DA:359,0 -DA:361,0 -DA:363,0 -DA:364,0 -DA:369,0 -DA:370,0 -DA:383,0 -DA:384,0 -DA:387,0 -DA:388,0 -DA:390,0 -DA:392,0 -DA:393,0 -DA:398,0 -DA:399,0 -DA:412,0 -DA:413,0 -DA:416,0 -DA:417,0 -DA:419,0 -DA:421,0 -DA:422,0 -DA:427,0 -DA:428,0 -DA:438,0 -DA:439,0 -DA:442,0 -DA:443,0 -DA:445,0 -DA:447,0 -DA:448,0 -DA:453,0 -DA:454,0 -DA:455,0 -DA:457,0 -DA:458,0 -DA:460,0 -DA:462,0 -DA:463,0 -DA:465,0 -DA:466,0 -DA:468,0 -DA:469,0 -DA:471,0 -DA:472,0 -DA:474,0 -DA:475,0 -DA:477,0 -DA:478,0 -DA:480,0 -DA:481,0 -DA:483,0 -LF:160 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRDA:61,1,0,0 -BRDA:61,1,1,0 -BRDA:69,2,0,0 -BRDA:69,2,1,0 -BRDA:75,3,0,0 -BRDA:75,3,1,0 -BRDA:85,4,0,0 -BRDA:85,4,1,0 -BRDA:85,5,0,0 -BRDA:85,5,1,0 -BRDA:85,6,0,0 -BRDA:85,6,1,0 -BRDA:91,7,0,0 -BRDA:91,7,1,0 -BRDA:93,8,0,0 -BRDA:93,8,1,0 -BRDA:109,9,0,0 -BRDA:109,9,1,0 -BRDA:110,10,0,0 -BRDA:110,10,1,0 -BRDA:165,11,0,0 -BRDA:165,11,1,0 -BRDA:167,12,0,0 -BRDA:167,12,1,0 -BRDA:171,13,0,0 -BRDA:171,13,1,0 -BRDA:176,14,0,0 -BRDA:176,14,1,0 -BRDA:178,15,0,0 -BRDA:178,15,1,0 -BRDA:181,16,0,0 -BRDA:181,16,1,0 -BRDA:190,17,0,0 -BRDA:190,17,1,0 -BRDA:198,18,0,0 -BRDA:198,18,1,0 -BRDA:242,19,0,0 -BRDA:242,19,1,0 -BRDA:251,20,0,0 -BRDA:251,20,1,0 -BRDA:267,21,0,0 -BRDA:267,21,1,0 -BRDA:289,22,0,0 -BRDA:289,22,1,0 -BRDA:296,23,0,0 -BRDA:296,23,1,0 -BRDA:306,24,0,0 -BRDA:306,24,1,0 -BRDA:315,25,0,0 -BRDA:315,25,1,0 -BRDA:329,26,0,0 -BRDA:329,26,1,0 -BRDA:354,27,0,0 -BRDA:354,27,1,0 -BRDA:383,28,0,0 -BRDA:383,28,1,0 -BRDA:404,29,0,0 -BRDA:404,29,1,0 -BRDA:412,30,0,0 -BRDA:412,30,1,0 -BRDA:438,31,0,0 -BRDA:438,31,1,0 -BRDA:460,32,0,0 -BRDA:460,32,1,0 -BRDA:460,32,2,0 -BRDA:460,32,3,0 -BRDA:460,32,4,0 -BRDA:460,32,5,0 -BRDA:460,32,6,0 -BRDA:460,32,7,0 -BRF:72 -BRH:0 -end_of_record -TN: -SF:src/storage/UrlTokenStorage.ts -FN:23,(anonymous_0) -FN:29,(anonymous_1) -FN:41,(anonymous_2) -FN:50,(anonymous_3) -FN:93,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:24,0 -DA:25,0 -DA:26,0 -DA:30,0 -DA:41,0 -DA:51,0 -DA:55,0 -DA:60,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:85,0 -DA:90,0 -DA:94,0 -LF:22 -LH:0 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRDA:39,1,0,0 -BRDA:39,1,1,0 -BRDA:51,2,0,0 -BRDA:51,2,1,0 -BRDA:65,3,0,0 -BRDA:65,3,1,0 -BRDA:69,4,0,0 -BRDA:69,4,1,0 -BRDA:76,5,0,0 -BRDA:76,5,1,0 -BRDA:78,6,0,0 -BRDA:78,7,0,0 -BRF:14 -BRH:0 -end_of_record -TN: -SF:src/storage/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/complexSingleFileSchema.ts -FN:19,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:19,0 -DA:20,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/multiFileSchema.ts -FNF:0 -FNH:0 -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/singleFileSchema.ts -FNF:0 -FNH:0 -DA:7,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/singleTokenSchema.ts -FNF:0 -FNH:0 -DA:3,0 -DA:9,0 -DA:15,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/themeObjectSchema.ts -FNF:0 -FNH:0 -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/schemas/tokensMapSchema.ts -FN:8,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:8,0 -DA:9,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/createTokenInTokensStudio.ts -FN:14,createTokenInTokensStudio -FNF:1 -FNH:0 -FNDA:0,createTokenInTokensStudio -DA:18,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:32,0 -DA:33,0 -DA:35,0 -LF:7 -LH:0 -BRDA:20,0,0,0 -BRDA:20,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/createTokenSetInTokensStudio.ts -FN:13,createTokenSetInTokensStudio -FN:24,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,createTokenSetInTokensStudio -FNDA:0,(anonymous_1) -DA:18,0 -DA:20,0 -DA:25,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/deleteTokenSetFromTokensStudio.ts -FN:13,deleteTokenSetFromTokensStudio -FN:23,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,deleteTokenSetFromTokensStudio -FNDA:0,(anonymous_1) -DA:18,0 -DA:24,0 -DA:25,0 -DA:26,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/duplicateTokenInTokensStudio.ts -FN:14,duplicateTokenInTokensStudio -FNF:1 -FNH:0 -FNDA:0,duplicateTokenInTokensStudio -DA:18,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:35,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/updateTokenSetInTokensStudio.ts -FN:13,updateTokenSetInTokensStudio -FN:23,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateTokenSetInTokensStudio -FNDA:0,(anonymous_1) -DA:18,0 -DA:24,0 -DA:25,0 -DA:27,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/createThemeGroupMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/createTokenMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/createTokenSetMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/deleteThemeGroupMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/deleteTokenMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/deleteTokenSetMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/getGeneratorQuery.ts -FNF:0 -FNH:0 -DA:1,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/getOrgsQuery.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/getProjectDataQuery.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/getTokenSetQuery.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/tokenFragment.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/updateThemeGroupMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/updateTokenMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/updateTokenSetMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/graphql/updateTokenSetOrderMutation.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/deleteTheme.ts -FN:10,(anonymous_0) -FN:16,(anonymous_1) -FN:19,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:10,0 -DA:11,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:28,0 -LF:11 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/getThemeGroupsToUpdate.ts -FN:3,(anonymous_0) -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:3,0 -DA:4,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:13,0 -LF:7 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/index.ts -FN:18,updateThemeGroupsInTokensStudio -FN:74,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,updateThemeGroupsInTokensStudio -FNDA:0,(anonymous_1) -DA:25,0 -DA:28,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:66,0 -DA:67,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:85,0 -DA:86,0 -DA:89,0 -DA:96,0 -DA:97,0 -DA:114,0 -DA:115,0 -DA:116,0 -LF:30 -LH:0 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRDA:34,0,2,0 -BRDA:34,0,3,0 -BRDA:34,0,4,0 -BRDA:34,0,5,0 -BRDA:34,0,6,0 -BRDA:34,0,7,0 -BRDA:34,0,8,0 -BRDA:34,0,9,0 -BRDA:85,1,0,0 -BRDA:85,1,1,0 -BRDA:96,2,0,0 -BRDA:96,2,1,0 -BRDA:114,3,0,0 -BRDA:114,3,1,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/saveTheme.ts -FN:10,(anonymous_0) -FN:17,(anonymous_1) -FN:23,(anonymous_2) -FN:34,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:10,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:40,0 -DA:42,0 -DA:44,0 -DA:47,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:61,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:72,0 -DA:75,0 -DA:79,0 -LF:34 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:25,3,0,0 -BRDA:25,3,1,0 -BRDA:36,4,0,0 -BRDA:36,4,1,0 -BRDA:40,5,0,0 -BRDA:40,5,1,0 -BRDA:42,6,0,0 -BRDA:42,6,1,0 -BRDA:42,7,0,0 -BRDA:42,7,1,0 -BRDA:53,8,0,0 -BRDA:53,8,1,0 -BRDA:56,9,0,0 -BRDA:56,9,1,0 -BRDA:66,10,0,0 -BRDA:66,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/updateThemeGroupsInTokensStudio/updateThemeGroupName.ts -FN:9,(anonymous_0) -FN:13,(anonymous_1) -FN:14,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:17,0 -LF:7 -LH:0 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/utils/compositionFields.ts -FN:12,(anonymous_0) -FN:14,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:3,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:20,0 -LF:6 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/storage/tokensStudio/utils/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/stories/tokensForStories.ts -FNF:0 -FNH:0 -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/tokens/core.ts -FNF:0 -FNH:0 -DA:3,0 -DA:8,0 -DA:14,0 -DA:29,0 -DA:41,0 -DA:46,0 -LF:6 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/tokens/dark.ts -FNF:0 -FNH:0 -DA:3,0 -DA:58,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/tokens/light.ts -FNF:0 -FNH:0 -DA:3,0 -DA:58,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/AsyncMessages.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/Auth.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/ChangelogItem.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/CompositionTokenProperty.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/DeepTokensMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/ExportTokenSet.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/FigmaStyleMaps.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/MapValuesToTokensResult.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/Modifier.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/NodeInfo.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/NodeTokenRefMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/NodeTokenRefValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/OptionalPartial.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/PullStylesOptions.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/PullVariablesOptions.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/RawVariableReferenceMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/RemoteResponseData.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/RootModel.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/SecondScreen.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/SelectionGroup.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/SelectionValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/ShowFormOptions.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/StitchesCSS.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/StorageType.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/StoryblokStory.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/StyleIdMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/ThemeObject.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/ThemeObjectsList.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/TokenMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/UpdateNodesSettings.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/UpdateRemoteFunction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/UsedTokenSetsMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/VariableCollectionSelection.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/VariableReferenceMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/messages.tsx -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/userData.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/valueTypes.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/DeleteTokenGroupPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/DeleteTokenPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/DuplicateTokenGroupPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/DuplicateTokenPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/RenameTokenGroupPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/RenameTokensAcrossSets.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/SetTokenDataPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/SetTokensFromStylesPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/SetTokensFromVariablesPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/ToggleManyTokenSetsPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/UpdateDocumentPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/UpdateTokenPayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/UpdateTokenVariablePayload.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/payloads/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/properties/PropertyObject.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/properties/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/ActionMeta.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/AnyAction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/AnyInspectStateAction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/AnySettingsStateAction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/AnyTokenStateAction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/AnyUiStateAction.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/redux/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/AnyTokenList.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/AnyTokenSet.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/DeepKeyTokenMap.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/EditTokenObject.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/ImportToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleAssetToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleBooleanToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleBorderRadiusToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleBorderToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleBorderWidthToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleBoxShadowToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleColorToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleCompositionToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleDimensionToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleFontFamiliesToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleFontSizesToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleFontWeightsToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleGenericToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleLetterSpacingToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleLineHeightsToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleNumberToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleOpacityToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleOtherToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleParagraphSpacingToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleSizingToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleSpacingToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleTextCaseToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleTextDecorationToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleTextToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/SingleTypographyToken.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/TokenToRename.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/TokenTypeSchema.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/TokenValues.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/TokensStore.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/TokensStoreValuesSet.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/tokens/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/values/TokenBorderValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/values/TokenBoxShadowValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/values/TokenTextCaseValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/values/TokenTextDecorationValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/values/TokenTypographyValue.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/types/values/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/TokenResolver.ts -FN:20,(anonymous_0) -FN:29,(anonymous_1) -FN:36,(anonymous_2) -FN:46,(anonymous_3) -FN:63,(anonymous_4) -FN:75,(anonymous_5) -FN:112,(anonymous_6) -FN:327,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:30,0 -DA:31,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:42,0 -DA:47,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:60,0 -DA:64,0 -DA:65,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:77,0 -DA:78,0 -DA:81,0 -DA:82,0 -DA:86,0 -DA:89,0 -DA:90,0 -DA:92,0 -DA:99,0 -DA:105,0 -DA:109,0 -DA:114,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:127,0 -DA:128,0 -DA:130,0 -DA:134,0 -DA:135,0 -DA:138,0 -DA:139,0 -DA:147,0 -DA:148,0 -DA:151,0 -DA:152,0 -DA:153,0 -DA:154,0 -DA:156,0 -DA:157,0 -DA:159,0 -DA:160,0 -DA:162,0 -DA:163,0 -DA:166,0 -DA:174,0 -DA:175,0 -DA:176,0 -DA:177,0 -DA:179,0 -DA:181,0 -DA:182,0 -DA:185,0 -DA:186,0 -DA:188,0 -DA:189,0 -DA:190,0 -DA:194,0 -DA:195,0 -DA:201,0 -DA:202,0 -DA:203,0 -DA:204,0 -DA:208,0 -DA:209,0 -DA:210,0 -DA:211,0 -DA:213,0 -DA:214,0 -DA:216,0 -DA:220,0 -DA:229,0 -DA:232,0 -DA:233,0 -DA:234,0 -DA:236,0 -DA:240,0 -DA:242,0 -DA:247,0 -DA:253,0 -DA:254,0 -DA:258,0 -DA:262,0 -DA:263,0 -DA:265,0 -DA:266,0 -DA:268,0 -DA:269,0 -DA:270,0 -DA:273,0 -DA:277,0 -DA:281,0 -DA:282,0 -DA:285,0 -DA:287,0 -DA:291,0 -DA:292,0 -DA:294,0 -DA:295,0 -DA:296,0 -DA:297,0 -DA:298,0 -DA:300,0 -DA:301,0 -DA:304,0 -DA:305,0 -DA:307,0 -DA:311,0 -DA:313,0 -DA:314,0 -DA:319,0 -DA:321,0 -DA:324,0 -DA:328,0 -DA:332,0 -LF:129 -LH:0 -BRDA:51,0,0,0 -BRDA:51,0,1,0 -BRDA:51,1,0,0 -BRDA:51,1,1,0 -BRDA:71,2,0,0 -BRDA:71,2,1,0 -BRDA:71,2,2,0 -BRDA:71,2,3,0 -BRDA:75,3,0,0 -BRDA:77,4,0,0 -BRDA:77,4,1,0 -BRDA:78,5,0,0 -BRDA:78,5,1,0 -BRDA:81,6,0,0 -BRDA:81,6,1,0 -BRDA:89,7,0,0 -BRDA:89,7,1,0 -BRDA:89,8,0,0 -BRDA:89,8,1,0 -BRDA:89,8,2,0 -BRDA:90,9,0,0 -BRDA:90,9,1,0 -BRDA:95,10,0,0 -BRDA:95,10,1,0 -BRDA:112,11,0,0 -BRDA:114,12,0,0 -BRDA:114,12,1,0 -BRDA:117,13,0,0 -BRDA:117,13,1,0 -BRDA:117,14,0,0 -BRDA:117,14,1,0 -BRDA:119,15,0,0 -BRDA:119,15,1,0 -BRDA:127,16,0,0 -BRDA:127,16,1,0 -BRDA:128,17,0,0 -BRDA:128,17,1,0 -BRDA:138,18,0,0 -BRDA:138,18,1,0 -BRDA:154,19,0,0 -BRDA:154,19,1,0 -BRDA:159,20,0,0 -BRDA:159,20,1,0 -BRDA:159,21,0,0 -BRDA:159,21,1,0 -BRDA:162,22,0,0 -BRDA:162,22,1,0 -BRDA:162,23,0,0 -BRDA:162,23,1,0 -BRDA:179,24,0,0 -BRDA:179,24,1,0 -BRDA:181,25,0,0 -BRDA:181,25,1,0 -BRDA:181,26,0,0 -BRDA:181,26,1,0 -BRDA:181,26,2,0 -BRDA:189,27,0,0 -BRDA:189,27,1,0 -BRDA:194,28,0,0 -BRDA:194,28,1,0 -BRDA:201,29,0,0 -BRDA:201,29,1,0 -BRDA:201,30,0,0 -BRDA:201,30,1,0 -BRDA:201,30,2,0 -BRDA:203,31,0,0 -BRDA:203,31,1,0 -BRDA:209,32,0,0 -BRDA:209,32,1,0 -BRDA:209,33,0,0 -BRDA:209,33,1,0 -BRDA:213,34,0,0 -BRDA:213,34,1,0 -BRDA:216,35,0,0 -BRDA:216,35,1,0 -BRDA:216,36,0,0 -BRDA:216,36,1,0 -BRDA:216,36,2,0 -BRDA:229,37,0,0 -BRDA:229,37,1,0 -BRDA:229,38,0,0 -BRDA:229,38,1,0 -BRDA:229,38,2,0 -BRDA:233,39,0,0 -BRDA:233,39,1,0 -BRDA:248,40,0,0 -BRDA:248,40,1,0 -BRDA:248,41,0,0 -BRDA:248,41,1,0 -BRDA:253,42,0,0 -BRDA:253,42,1,0 -BRDA:262,43,0,0 -BRDA:262,43,1,0 -BRDA:269,44,0,0 -BRDA:269,44,1,0 -BRDA:278,45,0,0 -BRDA:278,45,1,0 -BRDA:281,46,0,0 -BRDA:281,46,1,0 -BRDA:291,47,0,0 -BRDA:291,47,1,0 -BRDA:291,48,0,0 -BRDA:291,48,1,0 -BRDA:296,49,0,0 -BRDA:296,49,1,0 -BRDA:300,50,0,0 -BRDA:300,50,1,0 -BRDA:304,51,0,0 -BRDA:304,51,1,0 -BRDA:304,52,0,0 -BRDA:304,52,1,0 -BRDA:311,53,0,0 -BRDA:311,53,1,0 -BRDA:313,54,0,0 -BRDA:313,54,1,0 -BRF:115 -BRH:0 -end_of_record -TN: -SF:src/utils/addIdPropertyToTokens.ts -FN:5,addIdPropertyToTokens -FN:6,(anonymous_1) -FN:7,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,addIdPropertyToTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:17,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:37,0 -LF:10 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:20,1,0,0 -BRDA:20,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/addLicenseKey.ts -FN:9,addLicenseKey -FNF:1 -FNH:0 -FNDA:0,addLicenseKey -DA:13,0 -DA:15,0 -DA:16,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:30,0 -DA:31,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:48,0 -LF:17 -LH:0 -BRDA:22,0,0,0 -BRDA:22,0,1,0 -BRDA:25,1,0,0 -BRDA:25,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/analytics.tsx -FN:4,track -FN:10,identify -FN:23,setUserData -FN:29,initializeAnalytics -FNF:4 -FNH:0 -FNDA:0,track -FNDA:0,identify -FNDA:0,setUserData -FNDA:0,initializeAnalytics -DA:5,0 -DA:6,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:24,0 -DA:25,0 -DA:30,0 -DA:31,0 -LF:9 -LH:0 -BRDA:4,0,0,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRDA:11,2,0,0 -BRDA:11,2,1,0 -BRDA:11,3,0,0 -BRDA:11,3,1,0 -BRDA:24,4,0,0 -BRDA:24,4,1,0 -BRDA:24,5,0,0 -BRDA:24,5,1,0 -BRDA:30,6,0,0 -BRDA:30,6,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/utils/annotations.tsx -FN:17,getParentSelection -FN:53,calcPosition -FN:83,createProperties -FN:88,(anonymous_3) -FN:89,(anonymous_4) -FN:123,createAnno -FN:211,createAnnotation -FN:212,(anonymous_7) -FN:218,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,getParentSelection -FNDA:0,calcPosition -FNDA:0,createProperties -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,createAnno -FNDA:0,createAnnotation -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:47,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:80,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:119,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:147,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:155,0 -DA:158,0 -DA:159,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:164,0 -DA:165,0 -DA:171,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:176,0 -DA:177,0 -DA:179,0 -DA:180,0 -DA:182,0 -DA:183,0 -DA:185,0 -DA:188,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:195,0 -DA:196,0 -DA:199,0 -DA:200,0 -DA:201,0 -DA:203,0 -DA:204,0 -DA:208,0 -DA:212,0 -DA:213,0 -DA:214,0 -DA:217,0 -DA:218,0 -DA:220,0 -DA:221,0 -LF:127 -LH:0 -BRDA:17,0,0,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRDA:23,2,0,0 -BRDA:23,2,1,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:24,4,0,0 -BRDA:24,4,1,0 -BRDA:25,5,0,0 -BRDA:25,5,1,0 -BRDA:26,6,0,0 -BRDA:26,6,1,0 -BRDA:26,6,2,0 -BRDA:26,6,3,0 -BRDA:41,7,0,0 -BRDA:41,7,1,0 -BRDA:60,8,0,0 -BRDA:60,8,1,0 -BRDA:60,8,2,0 -BRDA:60,8,3,0 -BRDA:104,9,0,0 -BRDA:104,9,1,0 -BRDA:128,10,0,0 -BRDA:128,10,1,0 -BRDA:174,11,0,0 -BRDA:174,11,1,0 -BRDA:174,11,2,0 -BRDA:174,11,3,0 -BRDA:191,12,0,0 -BRDA:191,12,1,0 -BRDA:199,13,0,0 -BRDA:199,13,1,0 -BRF:33 -BRH:0 -end_of_record -TN: -SF:src/utils/attemptOrFallback.ts -FN:1,attemptOrFallback -FNF:1 -FNH:0 -FNDA:0,attemptOrFallback -DA:2,0 -DA:3,0 -DA:5,0 -DA:6,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/checkIfTokenCanCreateVariable.ts -FN:6,checkIfTokenCanCreateVariable -FNF:1 -FNH:0 -FNDA:0,checkIfTokenCanCreateVariable -DA:7,0 -DA:16,0 -DA:17,0 -DA:20,0 -DA:21,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:33,0 -LF:11 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:8,1,2,0 -BRDA:8,1,3,0 -BRDA:8,1,4,0 -BRDA:8,1,5,0 -BRDA:8,1,6,0 -BRDA:8,1,7,0 -BRDA:8,1,8,0 -BRDA:8,1,9,0 -BRDA:8,1,10,0 -BRDA:8,1,11,0 -BRDA:8,1,12,0 -BRDA:8,1,13,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRDA:16,3,2,0 -BRDA:20,4,0,0 -BRDA:20,4,1,0 -BRDA:20,5,0,0 -BRDA:20,5,1,0 -BRDA:20,5,2,0 -BRDA:24,6,0,0 -BRDA:24,6,1,0 -BRDA:24,7,0,0 -BRDA:24,7,1,0 -BRDA:24,7,2,0 -BRDA:28,8,0,0 -BRDA:28,8,1,0 -BRDA:28,9,0,0 -BRDA:28,9,1,0 -BRDA:28,9,2,0 -BRDA:28,9,3,0 -BRF:37 -BRH:0 -end_of_record -TN: -SF:src/utils/checkStorageSize.ts -FN:4,checkStorageSize -FNF:1 -FNH:0 -FNDA:0,checkStorageSize -DA:5,0 -DA:6,0 -DA:7,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -DA:16,0 -LF:8 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/compareLastSyncedState.ts -FN:13,compareLastSyncedState -FNF:1 -FNH:0 -FNDA:0,compareLastSyncedState -DA:19,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:27,0 -LF:5 -LH:0 -BRDA:21,0,0,0 -BRDA:21,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/convert.ts -FN:12,(anonymous_0) -FN:27,(anonymous_1) -FN:27,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:12,0 -DA:27,0 -DA:28,0 -DA:29,0 -LF:4 -LH:0 -BRDA:27,0,0,0 -BRDA:28,1,0,0 -BRDA:28,1,1,0 -BRDA:28,2,0,0 -BRDA:28,2,1,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/utils/convertModifiedColorToHex.ts -FN:5,convertModifiedColorToHex -FNF:1 -FNH:0 -FNDA:0,convertModifiedColorToHex -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -LF:6 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/convertToDefaultProperty.ts -FN:3,convertToDefaultProperty -FNF:1 -FNH:0 -FNDA:0,convertToDefaultProperty -DA:4,0 -DA:5,0 -DA:16,0 -DA:17,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:31,0 -DA:32,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:48,0 -DA:50,0 -DA:51,0 -DA:53,0 -LF:23 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,0,2,0 -BRDA:5,0,3,0 -BRDA:5,0,4,0 -BRDA:5,0,5,0 -BRDA:5,0,6,0 -BRDA:5,0,7,0 -BRDA:5,0,8,0 -BRDA:5,0,9,0 -BRDA:5,0,10,0 -BRDA:5,0,11,0 -BRDA:5,0,12,0 -BRDA:5,0,13,0 -BRDA:5,0,14,0 -BRDA:5,0,15,0 -BRDA:5,0,16,0 -BRDA:5,0,17,0 -BRDA:5,0,18,0 -BRDA:5,0,19,0 -BRDA:5,0,20,0 -BRDA:5,0,21,0 -BRDA:5,0,22,0 -BRDA:5,0,23,0 -BRDA:5,0,24,0 -BRDA:5,0,25,0 -BRF:26 -BRH:0 -end_of_record -TN: -SF:src/utils/convertToOrderObj.ts -FN:1,convertToOrderObj -FN:2,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,convertToOrderObj -FNDA:0,(anonymous_1) -DA:2,0 -DA:3,0 -DA:4,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokenNameToPath.ts -FN:1,convertTokenNameToPath -FN:2,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,convertTokenNameToPath -FNDA:0,(anonymous_1) -DA:2,0 -DA:3,0 -DA:4,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:12,0 -LF:7 -LH:0 -BRDA:1,0,0,0 -BRDA:1,1,0,0 -BRDA:3,2,0,0 -BRDA:3,2,1,0 -BRDA:8,3,0,0 -BRDA:8,3,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokenToFormat.ts -FN:3,convertTokenToFormat -FN:10,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,convertTokenToFormat -FNDA:0,(anonymous_1) -DA:4,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:22,0 -DA:23,0 -LF:11 -LH:0 -BRDA:3,0,0,0 -BRDA:4,1,0,0 -BRDA:4,1,1,0 -BRDA:8,2,0,0 -BRDA:8,2,1,0 -BRDA:15,3,0,0 -BRDA:15,3,1,0 -BRDA:18,4,0,0 -BRDA:18,4,1,0 -BRDA:19,5,0,0 -BRDA:19,5,1,0 -BRDA:20,6,0,0 -BRDA:20,6,1,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokenTypeToVariableType.ts -FN:4,convertTokenTypeToVariableType -FNF:1 -FNH:0 -FNDA:0,convertTokenTypeToVariableType -DA:6,0 -DA:7,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:18,0 -DA:20,0 -LF:7 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:6,1,0,0 -BRDA:6,1,1,0 -BRDA:10,2,0,0 -BRDA:10,2,1,0 -BRDA:10,2,2,0 -BRDA:10,2,3,0 -BRDA:10,2,4,0 -BRDA:10,2,5,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokens.tsx -FN:49,checkForTokens -FN:106,(anonymous_1) -FN:133,(anonymous_2) -FN:137,(anonymous_3) -FN:169,convertToTokenArray -FN:177,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,checkForTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,convertToTokenArray -FNDA:0,(anonymous_5) -DA:83,0 -DA:84,0 -DA:85,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:99,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:110,0 -DA:111,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:117,0 -DA:119,0 -DA:122,0 -DA:123,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:137,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:156,0 -DA:162,0 -DA:163,0 -DA:166,0 -DA:170,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:181,0 -LF:48 -LH:0 -BRDA:52,0,0,0 -BRDA:53,1,0,0 -BRDA:54,2,0,0 -BRDA:55,3,0,0 -BRDA:56,4,0,0 -BRDA:57,5,0,0 -BRDA:59,6,0,0 -BRDA:60,7,0,0 -BRDA:83,8,0,0 -BRDA:83,8,1,0 -BRDA:87,9,0,0 -BRDA:87,9,1,0 -BRDA:87,10,0,0 -BRDA:87,10,1,0 -BRDA:90,11,0,0 -BRDA:90,11,1,0 -BRDA:90,12,0,0 -BRDA:90,12,1,0 -BRDA:95,13,0,0 -BRDA:95,13,1,0 -BRDA:95,14,0,0 -BRDA:95,14,1,0 -BRDA:99,15,0,0 -BRDA:99,15,1,0 -BRDA:100,16,0,0 -BRDA:100,16,1,0 -BRDA:100,16,2,0 -BRDA:100,16,3,0 -BRDA:107,17,0,0 -BRDA:107,17,1,0 -BRDA:107,18,0,0 -BRDA:107,18,1,0 -BRDA:110,19,0,0 -BRDA:110,19,1,0 -BRDA:110,20,0,0 -BRDA:110,20,1,0 -BRDA:113,21,0,0 -BRDA:113,21,1,0 -BRDA:113,22,0,0 -BRDA:113,22,1,0 -BRDA:119,23,0,0 -BRDA:119,23,1,0 -BRDA:125,24,0,0 -BRDA:125,24,1,0 -BRDA:132,25,0,0 -BRDA:132,25,1,0 -BRDA:132,26,0,0 -BRDA:132,26,1,0 -BRDA:147,27,0,0 -BRDA:147,27,1,0 -BRDA:147,28,0,0 -BRDA:147,28,1,0 -BRDA:149,29,0,0 -BRDA:149,29,1,0 -BRDA:162,30,0,0 -BRDA:162,30,1,0 -BRDA:162,31,0,0 -BRDA:162,31,1,0 -BRDA:162,31,2,0 -BRDA:178,32,0,0 -BRDA:178,32,1,0 -BRDA:179,33,0,0 -BRDA:179,33,1,0 -BRDA:180,34,0,0 -BRDA:180,34,1,0 -BRF:65 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokensObjectToResolved.ts -FN:10,convertTokensObjectToResolved -FN:31,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,convertTokensObjectToResolved -FNDA:0,(anonymous_1) -DA:24,0 -DA:26,0 -DA:31,0 -DA:34,0 -DA:36,0 -DA:37,0 -LF:6 -LH:0 -BRDA:12,0,0,0 -BRDA:13,1,0,0 -BRDA:14,2,0,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokensToGroupedObject.ts -FN:11,convertTokensToGroupedObject -FN:17,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,convertTokensToGroupedObject -FNDA:0,(anonymous_1) -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:49,0 -DA:52,0 -LF:22 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:21,2,0,0 -BRDA:21,2,1,0 -BRDA:21,3,0,0 -BRDA:21,3,1,0 -BRDA:24,4,0,0 -BRDA:24,4,1,0 -BRDA:27,5,0,0 -BRDA:27,5,1,0 -BRDA:33,6,0,0 -BRDA:33,6,1,0 -BRDA:38,7,0,0 -BRDA:38,7,1,0 -BRDA:39,8,0,0 -BRDA:39,8,1,0 -BRDA:39,8,2,0 -BRDA:39,8,3,0 -BRDA:39,8,4,0 -BRDA:39,8,5,0 -BRDA:39,8,6,0 -BRDA:39,8,7,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/utils/convertTokensToObject.ts -FN:8,convertTokensToObject -FN:9,(anonymous_1) -FN:11,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,convertTokensToObject -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -DA:19,0 -DA:21,0 -DA:24,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:48,0 -LF:21 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:29,1,0,0 -BRDA:29,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/convertVariableTypeToProperty.ts -FN:3,convertVariableTypeToProperty -FNF:1 -FNH:0 -FNDA:0,convertVariableTypeToProperty -DA:4,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -LF:7 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:4,0,2,0 -BRDA:4,0,3,0 -BRDA:4,0,4,0 -BRDA:4,0,5,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/credentials.ts -FN:8,updateCredentials -FN:18,(anonymous_1) -FN:20,(anonymous_2) -FN:47,removeSingleCredential -FN:53,(anonymous_4) -FN:53,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,updateCredentials -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,removeSingleCredential -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:28,0 -DA:34,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -LF:28 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:17,1,0,0 -BRDA:17,1,1,0 -BRDA:23,2,0,0 -BRDA:23,2,1,0 -BRDA:27,3,0,0 -BRDA:27,3,1,0 -BRDA:27,4,0,0 -BRDA:27,4,1,0 -BRDA:30,5,0,0 -BRDA:30,5,1,0 -BRDA:36,6,0,0 -BRDA:36,6,1,0 -BRDA:41,7,0,0 -BRDA:41,7,1,0 -BRDA:51,8,0,0 -BRDA:51,8,1,0 -BRDA:53,9,0,0 -BRDA:53,9,1,0 -BRDA:58,10,0,0 -BRDA:58,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/utils/detectFormat.tsx -FN:4,detectFormat -FNF:1 -FNH:0 -FNDA:0,detectFormat -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -LF:6 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:7,1,0,0 -BRDA:7,1,1,0 -BRDA:10,2,0,0 -BRDA:10,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/expand.ts -FN:14,expand -FN:15,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,expand -FNDA:0,(anonymous_1) -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:25,0 -DA:28,0 -LF:8 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/fetchFeatureFlags.ts -FN:7,fetchFeatureFlags -FN:9,(anonymous_1) -FN:23,(anonymous_2) -FN:34,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,fetchFeatureFlags -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:8,0 -DA:9,0 -DA:10,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:38,0 -LF:16 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:20,4,0,0 -BRDA:20,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/utils/filterValidCompositionTokenTypes.ts -FN:3,filterValidCompositionTokenTypes -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,filterValidCompositionTokenTypes -FNDA:0,(anonymous_1) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/findAll.ts -FN:3,findAll -FN:12,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,findAll -FNDA:0,(anonymous_1) -DA:4,0 -DA:5,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:22,0 -LF:6 -LH:0 -BRDA:3,0,0,0 -BRDA:3,1,0,0 -BRDA:4,2,0,0 -BRDA:4,2,1,0 -BRDA:5,3,0,0 -BRDA:5,3,1,0 -BRDA:13,4,0,0 -BRDA:13,4,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/utils/findBoundVariable.ts -FN:3,findBoundVariable -FN:9,(anonymous_1) -FN:11,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,findBoundVariable -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -LF:7 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/findDifferentState.ts -FN:16,findDifferentState -FN:18,(anonymous_1) -FN:23,(anonymous_2) -FN:24,(anonymous_3) -FN:44,(anonymous_4) -FN:45,(anonymous_5) -FN:55,(anonymous_6) -FN:58,(anonymous_7) -FN:65,(anonymous_8) -FN:66,(anonymous_9) -FN:76,(anonymous_10) -FN:77,(anonymous_11) -FN:84,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,findDifferentState -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:40,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:72,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:82,0 -DA:84,0 -LF:40 -LH:0 -BRDA:25,0,0,0 -BRDA:25,0,1,0 -BRDA:26,1,0,0 -BRDA:26,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:46,3,0,0 -BRDA:46,3,1,0 -BRDA:57,4,0,0 -BRDA:57,4,1,0 -BRDA:67,5,0,0 -BRDA:67,5,1,0 -BRDA:68,6,0,0 -BRDA:68,6,1,0 -BRDA:77,7,0,0 -BRDA:77,7,1,0 -BRDA:86,8,0,0 -BRDA:86,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/utils/findReferences.tsx -FN:6,(anonymous_0) -FN:9,(anonymous_1) -FN:19,(anonymous_2) -FN:21,(anonymous_3) -FN:25,(anonymous_4) -FN:33,(anonymous_5) -FN:38,(anonymous_6) -FN:50,(anonymous_7) -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -DA:3,0 -DA:4,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:16,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:41,0 -DA:44,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:69,0 -LF:42 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:26,3,0,0 -BRDA:26,3,1,0 -BRDA:35,4,0,0 -BRDA:35,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRDA:56,6,0,0 -BRDA:56,6,1,0 -BRDA:61,7,0,0 -BRDA:61,7,1,0 -BRDA:61,8,0,0 -BRDA:61,8,1,0 -BRDA:63,9,0,0 -BRDA:63,9,1,0 -BRDA:69,10,0,0 -BRDA:69,10,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/utils/formatCount.ts -FN:6,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:6,0 -DA:7,0 -DA:9,0 -DA:10,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:19,0 -LF:8 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/formatNumber.ts -FN:1,formatNumber -FNF:1 -FNH:0 -FNDA:0,formatNumber -DA:2,0 -DA:3,0 -DA:5,0 -LF:3 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/formatTokens.ts -FN:22,formatTokens -FN:36,(anonymous_1) -FN:37,(anonymous_2) -FN:53,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,formatTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:46,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:72,0 -DA:77,0 -LF:24 -LH:0 -BRDA:26,0,0,0 -BRDA:27,1,0,0 -BRDA:28,2,0,0 -BRDA:29,3,0,0 -BRDA:30,4,0,0 -BRDA:31,5,0,0 -BRDA:32,6,0,0 -BRDA:34,7,0,0 -BRDA:34,7,1,0 -BRDA:42,8,0,0 -BRDA:42,8,1,0 -BRDA:44,9,0,0 -BRDA:44,9,1,0 -BRDA:46,10,0,0 -BRDA:46,10,1,0 -BRDA:47,11,0,0 -BRDA:47,11,1,0 -BRDA:47,11,2,0 -BRDA:47,11,3,0 -BRDA:47,11,4,0 -BRDA:47,11,5,0 -BRDA:47,11,6,0 -BRDA:47,11,7,0 -BRDA:52,12,0,0 -BRDA:52,12,1,0 -BRDA:54,13,0,0 -BRDA:54,13,1,0 -BRDA:55,14,0,0 -BRDA:55,14,1,0 -BRDA:56,15,0,0 -BRDA:56,15,1,0 -BRDA:60,16,0,0 -BRDA:60,16,1,0 -BRDA:63,17,0,0 -BRDA:63,17,1,0 -BRDA:69,18,0,0 -BRDA:69,18,1,0 -BRDA:72,19,0,0 -BRDA:72,19,1,0 -BRF:39 -BRH:0 -end_of_record -TN: -SF:src/utils/fuzzySearch.ts -FN:4,fuzzySearch -FNF:1 -FNH:0 -FNDA:0,fuzzySearch -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:23,0 -LF:13 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:17,2,0,0 -BRDA:17,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/generateId.ts -FN:1,generateId -FNF:1 -FNH:0 -FNDA:0,generateId -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:7,0 -LF:5 -LH:0 -BRDA:1,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/utils/getActiveTheme.ts -FN:3,getActiveTheme -FNF:1 -FNH:0 -FNDA:0,getActiveTheme -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -LF:4 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/getEffectStylesIdMap.ts -FN:1,getEffectStylesIdMap -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getEffectStylesIdMap -FNDA:0,(anonymous_1) -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getEffectStylesKeyMap.ts -FN:1,getEffectStylesKeyMap -FN:4,(anonymous_1) -FN:5,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,getEffectStylesKeyMap -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:9,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getLabelForProperty.tsx -FN:7,getLabelForProperty -FNF:1 -FNH:0 -FNDA:0,getLabelForProperty -DA:8,0 -DA:10,0 -DA:13,0 -DA:16,0 -DA:19,0 -DA:22,0 -DA:25,0 -DA:28,0 -DA:31,0 -DA:34,0 -DA:37,0 -DA:40,0 -DA:43,0 -DA:46,0 -DA:49,0 -DA:52,0 -DA:55,0 -LF:17 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,0,2,0 -BRDA:8,0,3,0 -BRDA:8,0,4,0 -BRDA:8,0,5,0 -BRDA:8,0,6,0 -BRDA:8,0,7,0 -BRDA:8,0,8,0 -BRDA:8,0,9,0 -BRDA:8,0,10,0 -BRDA:8,0,11,0 -BRDA:8,0,12,0 -BRDA:8,0,13,0 -BRDA:8,0,14,0 -BRDA:8,0,15,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/utils/getLastOpened.ts -FN:3,getLastOpened -FNF:1 -FNH:0 -FNDA:0,getLastOpened -DA:5,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:15,0 -LF:7 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/getLicenseKey.ts -FN:7,getLicenseKey -FNF:1 -FNH:0 -FNDA:0,getLicenseKey -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:14,0 -DA:15,0 -DA:19,0 -DA:20,0 -LF:8 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/getOnboardingExplainer.ts -FN:13,getOnboardingExplainer -FNF:1 -FNH:0 -FNDA:0,getOnboardingExplainer -DA:5,0 -DA:11,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:36,0 -LF:19 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:17,1,0,0 -BRDA:17,1,1,0 -BRDA:18,2,0,0 -BRDA:18,2,1,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:20,4,0,0 -BRDA:20,4,1,0 -BRDA:21,5,0,0 -BRDA:21,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/utils/getPaintStylesIdMap.ts -FN:1,getPaintStylesIdMap -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getPaintStylesIdMap -FNDA:0,(anonymous_1) -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getPaintStylesKeyMap.ts -FN:1,getPaintStylesKeyMap -FN:4,(anonymous_1) -FN:5,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,getPaintStylesKeyMap -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:9,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getPathName.ts -FN:1,getPathName -FNF:1 -FNH:0 -FNDA:0,getPathName -DA:2,0 -DA:3,0 -DA:5,0 -LF:3 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/getProviderIcon.tsx -FN:12,getProviderIcon -FNF:1 -FNH:0 -FNDA:0,getProviderIcon -DA:13,0 -DA:15,0 -DA:17,0 -DA:19,0 -DA:21,0 -DA:23,0 -DA:25,0 -DA:27,0 -DA:29,0 -DA:31,0 -DA:33,0 -DA:35,0 -LF:12 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,0,2,0 -BRDA:13,0,3,0 -BRDA:13,0,4,0 -BRDA:13,0,5,0 -BRDA:13,0,6,0 -BRDA:13,0,7,0 -BRDA:13,0,8,0 -BRDA:13,0,9,0 -BRDA:13,0,10,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/utils/getResolvedTextValue.ts -FN:4,getResolvedTextValue -FN:8,(anonymous_1) -FN:9,(anonymous_2) -FN:16,(anonymous_3) -FN:22,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,getResolvedTextValue -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -LF:18 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:6,1,0,0 -BRDA:6,1,1,0 -BRDA:7,2,0,0 -BRDA:7,2,1,0 -BRDA:21,3,0,0 -BRDA:21,3,1,0 -BRDA:26,4,0,0 -BRDA:26,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/utils/getTextStylesIdMap.ts -FN:1,getTextStylesIdMap -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getTextStylesIdMap -FNDA:0,(anonymous_1) -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getTextStylesKeyMap.ts -FN:1,getTextStylesKeyMap -FN:4,(anonymous_1) -FN:5,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,getTextStylesKeyMap -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:9,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getTokenSetsOrder.ts -FN:6,getTokenSetsOrder -FN:13,(anonymous_1) -FN:15,(anonymous_2) -FN:16,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,getTokenSetsOrder -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:25,0 -LF:10 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/getTokenTypeKey.ts -FN:3,getTokenTypeKey -FNF:1 -FNH:0 -FNDA:0,getTokenTypeKey -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRDA:3,0,0,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRDA:5,2,0,0 -BRDA:5,2,1,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/utils/getTokenValueKey.ts -FN:3,getTokenValueKey -FNF:1 -FNH:0 -FNDA:0,getTokenValueKey -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRDA:3,0,0,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRDA:5,2,0,0 -BRDA:5,2,1,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/utils/getUTF16StringSize.ts -FN:1,getUTF16StringSize -FNF:1 -FNH:0 -FNDA:0,getUTF16StringSize -DA:2,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getUsedTokenSet.ts -FN:6,getUsedTokenSet -FN:15,(anonymous_1) -FN:16,(anonymous_2) -FN:18,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,getUsedTokenSet -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:7,0 -DA:8,0 -DA:9,0 -DA:13,0 -DA:15,0 -DA:17,0 -DA:19,0 -DA:25,0 -DA:27,0 -LF:9 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/getValueWithReferences.ts -FN:6,getSimpleValue -FN:41,getComplexValue -FN:48,(anonymous_2) -FN:58,getValueWithReferences -FN:66,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,getSimpleValue -FNDA:0,getComplexValue -FNDA:0,(anonymous_2) -FNDA:0,getValueWithReferences -FNDA:0,(anonymous_4) -DA:7,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:38,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:55,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:71,0 -LF:25 -LH:0 -BRDA:25,0,0,0 -BRDA:25,0,1,0 -BRDA:25,1,0,0 -BRDA:25,1,1,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRDA:29,3,0,0 -BRDA:29,3,1,0 -BRDA:32,4,0,0 -BRDA:32,4,1,0 -BRDA:33,5,0,0 -BRDA:33,5,1,0 -BRDA:47,6,0,0 -BRDA:47,6,1,0 -BRDA:59,7,0,0 -BRDA:59,7,1,0 -BRDA:63,8,0,0 -BRDA:63,8,1,0 -BRDA:63,9,0,0 -BRDA:63,9,1,0 -BRDA:63,9,2,0 -BRDA:63,9,3,0 -BRDA:64,10,0,0 -BRDA:64,10,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/utils/getVariablesMap.ts -FN:3,getVariablesMap -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,getVariablesMap -FNDA:0,(anonymous_1) -DA:4,0 -DA:5,0 -DA:6,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/hasTokenValues.ts -FN:3,hasTokenValues -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,hasTokenValues -FNDA:0,(anonymous_1) -DA:4,0 -LF:1 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/hasTokens.ts -FN:3,hasTokens -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,hasTokens -FNDA:0,(anonymous_1) -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/isAliasReference.ts -FN:1,isVariableWithAliasReference -FNF:1 -FNH:0 -FNDA:0,isVariableWithAliasReference -DA:2,0 -LF:1 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRDA:2,0,2,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/utils/isAutoLayout.tsx -FN:1,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:1,0 -LF:1 -LH:0 -BRDA:1,0,0,0 -BRDA:1,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/isColorEqual.ts -FN:3,isColorEqual -FNF:1 -FNH:0 -FNDA:0,isColorEqual -DA:14,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/isEffectEqual.ts -FN:3,isEffectEqual -FNF:1 -FNH:0 -FNDA:0,isEffectEqual -DA:4,0 -DA:5,0 -DA:6,0 -DA:10,0 -DA:21,0 -DA:25,0 -DA:29,0 -LF:7 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:4,1,0,0 -BRDA:4,1,1,0 -BRDA:5,2,0,0 -BRDA:5,2,1,0 -BRDA:6,3,0,0 -BRDA:6,3,1,0 -BRDA:7,4,0,0 -BRDA:7,4,1,0 -BRDA:7,4,2,0 -BRDA:7,4,3,0 -BRDA:11,5,0,0 -BRDA:11,5,1,0 -BRDA:11,5,2,0 -BRDA:11,5,3,0 -BRDA:11,5,4,0 -BRDA:11,5,5,0 -BRDA:21,6,0,0 -BRDA:21,6,1,0 -BRDA:22,7,0,0 -BRDA:22,7,1,0 -BRDA:22,7,2,0 -BRDA:22,7,3,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/utils/isEqual.ts -FN:9,isEqual -FN:50,compareNativeSubtypes -FN:55,compareArrays -FN:74,compareObjects -FNF:4 -FNH:0 -FNDA:0,isEqual -FNDA:0,compareNativeSubtypes -FNDA:0,compareArrays -FNDA:0,compareObjects -DA:10,0 -DA:11,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:23,0 -DA:26,0 -DA:28,0 -DA:31,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:47,0 -DA:52,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:68,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:79,0 -DA:80,0 -DA:83,0 -DA:84,0 -DA:86,0 -DA:93,0 -DA:97,0 -LF:35 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:20,4,0,0 -BRDA:20,4,1,0 -BRDA:26,5,0,0 -BRDA:26,5,1,0 -BRDA:31,6,0,0 -BRDA:31,6,1,0 -BRDA:35,7,0,0 -BRDA:35,7,1,0 -BRDA:39,8,0,0 -BRDA:39,8,1,0 -BRDA:43,9,0,0 -BRDA:43,9,1,0 -BRDA:58,10,0,0 -BRDA:58,10,1,0 -BRDA:63,11,0,0 -BRDA:63,11,1,0 -BRDA:79,12,0,0 -BRDA:79,12,1,0 -BRDA:86,13,0,0 -BRDA:86,13,1,0 -BRDA:88,14,0,0 -BRDA:88,14,1,0 -BRDA:88,14,2,0 -BRF:31 -BRH:0 -end_of_record -TN: -SF:src/utils/isJSONString.ts -FN:1,IsJSONString -FNF:1 -FNH:0 -FNDA:0,IsJSONString -DA:2,0 -DA:3,0 -DA:5,0 -DA:7,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/isPaintEqual.ts -FN:3,isPaintEqual -FN:25,(anonymous_1) -FN:39,(anonymous_2) -FN:42,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,isPaintEqual -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:40,0 -DA:43,0 -DA:48,0 -DA:50,0 -LF:11 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:4,1,0,0 -BRDA:4,1,1,0 -BRDA:5,2,0,0 -BRDA:5,2,1,0 -BRDA:6,3,0,0 -BRDA:6,3,1,0 -BRDA:6,4,0,0 -BRDA:6,4,1,0 -BRDA:8,5,0,0 -BRDA:8,5,1,0 -BRDA:22,6,0,0 -BRDA:22,6,1,0 -BRDA:22,7,0,0 -BRDA:22,7,1,0 -BRDA:24,8,0,0 -BRDA:24,8,1,0 -BRDA:24,8,2,0 -BRDA:24,8,3,0 -BRDA:26,9,0,0 -BRDA:26,9,1,0 -BRF:22 -BRH:0 -end_of_record -TN: -SF:src/utils/isSameCredentials.ts -FN:4,isSameCredentials -FNF:1 -FNH:0 -FNDA:0,isSameCredentials -DA:9,0 -DA:10,0 -DA:13,0 -DA:18,0 -DA:28,0 -DA:31,0 -DA:38,0 -DA:43,0 -LF:8 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:9,1,2,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:13,2,2,0 -BRDA:13,2,3,0 -BRDA:13,2,4,0 -BRDA:13,2,5,0 -BRDA:13,2,6,0 -BRDA:13,2,7,0 -BRDA:13,2,8,0 -BRDA:13,2,9,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:19,3,2,0 -BRDA:19,3,3,0 -BRDA:28,4,0,0 -BRDA:28,4,1,0 -BRDA:32,5,0,0 -BRDA:32,5,1,0 -BRDA:32,5,2,0 -BRDA:32,5,3,0 -BRDA:39,6,0,0 -BRDA:39,6,1,0 -BRF:27 -BRH:0 -end_of_record -TN: -SF:src/utils/lastIndexOf.ts -FN:1,lastIndexOf -FNF:1 -FNH:0 -FNDA:0,lastIndexOf -DA:2,0 -DA:3,0 -DA:4,0 -DA:7,0 -LF:4 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/ldUserFactory.ts -FN:1,ldUserFactory -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,ldUserFactory -FNDA:0,(anonymous_1) -DA:2,0 -DA:5,0 -DA:6,0 -DA:9,0 -LF:4 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/mapThemeToVariableInfo.ts -FN:4,mapThemeToVariableInfo -FN:6,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,mapThemeToVariableInfo -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -LF:4 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:6,1,0,0 -BRDA:6,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/mapTokensToVariableInfo.ts -FN:7,mapTokensToVariableInfo -FNF:1 -FNH:0 -FNDA:0,mapTokensToVariableInfo -DA:8,0 -LF:1 -LH:0 -BRDA:10,0,0,0 -BRDA:10,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:12,2,0,0 -BRDA:12,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/matchStyleName.ts -FN:1,matchStyleName -FNF:1 -FNH:0 -FNDA:0,matchStyleName -DA:7,0 -LF:1 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,0,2,0 -BRDA:8,0,3,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/matchVariableName.ts -FN:1,matchVariableName -FNF:1 -FNH:0 -FNDA:0,matchVariableName -DA:6,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/migrate.ts -FN:1,migrate -FNF:1 -FNH:0 -FNDA:0,migrate -DA:6,0 -DA:7,0 -DA:9,0 -LF:3 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/mixpanel.tsx -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/modifyColor.ts -FN:9,modifyColor -FNF:1 -FNH:0 -FNDA:0,modifyColor -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:34,0 -LF:17 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,0,2,0 -BRDA:13,0,3,0 -BRDA:13,0,4,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/utils/normalizeVariableName.ts -FN:1,normalizeVariableName -FN:2,(anonymous_1) -FNF:2 -FNH:2 -FNDA:36,normalizeVariableName -FNDA:36,(anonymous_1) -DA:2,36 -DA:3,36 -DA:4,36 -LF:3 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/parseJson.ts -FN:3,parseJson -FNF:1 -FNH:0 -FNDA:0,parseJson -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/parseTokenValues.ts -FN:7,parseTokenValues -FN:18,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,parseTokenValues -FNDA:0,(anonymous_1) -DA:9,0 -DA:10,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:34,0 -DA:37,0 -LF:14 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/removeIdPropertyFromTokens.ts -FN:5,removeIdPropertyFromTokens -FN:6,(anonymous_1) -FN:7,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,removeIdPropertyFromTokens -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:12,0 -LF:5 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/removeLicense.ts -FN:1,removeLicense -FNF:1 -FNH:0 -FNDA:0,removeLicense -DA:5,0 -DA:6,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:22,0 -DA:23,0 -LF:10 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/removeTokenId.ts -FN:3,removeTokenId -FNF:1 -FNH:0 -FNDA:0,removeTokenId -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -DA:12,0 -DA:15,0 -DA:16,0 -DA:18,0 -LF:9 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:4,1,0,0 -BRDA:4,1,1,0 -BRDA:4,1,2,0 -BRDA:6,2,0,0 -BRDA:6,2,1,0 -BRDA:6,3,0,0 -BRDA:6,3,1,0 -BRDA:11,4,0,0 -BRDA:11,4,1,0 -BRDA:11,5,0,0 -BRDA:11,5,1,0 -BRDA:11,5,2,0 -BRDA:15,6,0,0 -BRDA:15,6,1,0 -BRDA:15,7,0,0 -BRDA:15,7,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/utils/reorderItemInSet.ts -FN:1,reorderItemInSet -FNF:1 -FNH:0 -FNDA:0,reorderItemInSet -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/setTokenKey.ts -FN:13,setTokenKey -FNF:1 -FNH:0 -FNDA:0,setTokenKey -DA:14,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:29,0 -LF:10 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:24,3,0,0 -BRDA:24,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/utils/sortSelectionValueByProperties.ts -FN:5,sortSelectionValueByProperties -FN:7,(anonymous_1) -FN:8,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,sortSelectionValueByProperties -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:6,0 -DA:7,0 -DA:8,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/sortSets.ts -FN:5,sortSets -FNF:1 -FNH:0 -FNDA:0,sortSets -DA:7,0 -DA:8,0 -DA:11,0 -DA:14,0 -DA:15,0 -DA:18,0 -LF:6 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:11,2,0,0 -BRDA:11,2,1,0 -BRDA:14,3,0,0 -BRDA:14,3,1,0 -BRDA:14,4,0,0 -BRDA:14,4,1,0 -BRDA:14,4,2,0 -BRDA:15,5,0,0 -BRDA:15,5,1,0 -BRDA:15,6,0,0 -BRDA:15,6,1,0 -BRDA:15,6,2,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/utils/splitIntoChunks.ts -FN:7,splitIntoChunks -FNF:1 -FNH:0 -FNDA:0,splitIntoChunks -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:14,0 -DA:15,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:29,0 -DA:30,0 -DA:33,0 -LF:15 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:29,1,0,0 -BRDA:29,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/storyblok.ts -FN:3,formatDate -FN:17,fetchChangelog -FN:38,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,formatDate -FNDA:0,fetchChangelog -FNDA:0,(anonymous_2) -DA:4,0 -DA:13,0 -DA:14,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:34,0 -DA:37,0 -DA:38,0 -DA:39,0 -LF:11 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:37,2,0,0 -BRDA:37,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/stringifyTokens.ts -FN:8,getGroupTypeName -FN:16,stringifyTokens -FN:22,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,getGroupTypeName -FNDA:0,stringifyTokens -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:53,0 -LF:30 -LH:0 -BRDA:9,0,0,0 -BRDA:9,0,1,0 -BRDA:25,1,0,0 -BRDA:25,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/utils/themeListToTree.ts -FN:16,themeListToTree -FN:17,(anonymous_1) -FN:19,(anonymous_2) -FN:47,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,themeListToTree -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:17,0 -DA:18,0 -DA:19,0 -DA:24,0 -DA:25,0 -DA:35,0 -DA:46,0 -DA:47,0 -DA:51,0 -DA:62,0 -DA:64,0 -LF:11 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRDA:19,0,2,0 -BRDA:19,0,3,0 -BRDA:19,0,4,0 -BRDA:24,1,0,0 -BRDA:24,1,1,0 -BRDA:27,2,0,0 -BRDA:27,2,1,0 -BRDA:28,3,0,0 -BRDA:28,3,1,0 -BRDA:30,4,0,0 -BRDA:30,4,1,0 -BRDA:32,5,0,0 -BRDA:32,5,1,0 -BRDA:39,6,0,0 -BRDA:39,6,1,0 -BRDA:40,7,0,0 -BRDA:40,7,1,0 -BRDA:47,8,0,0 -BRDA:47,8,1,0 -BRDA:47,8,2,0 -BRDA:47,8,3,0 -BRDA:47,8,4,0 -BRDA:55,9,0,0 -BRDA:55,9,1,0 -BRDA:56,10,0,0 -BRDA:56,10,1,0 -BRF:28 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenArrayGroupToMap.ts -FN:3,tokenArrayGroupToMap -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,tokenArrayGroupToMap -FNDA:0,(anonymous_1) -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenHelpers.ts -FN:14,getOverallConfig -FN:15,(anonymous_1) -FN:16,(anonymous_2) -FN:19,(anonymous_3) -FN:32,getEnabledTokenSets -FN:34,(anonymous_5) -FN:35,(anonymous_6) -FN:38,mergeTokenGroups -FN:52,(anonymous_8) -FN:56,(anonymous_9) -FN:58,(anonymous_10) -FN:59,(anonymous_11) -FNF:12 -FNH:0 -FNDA:0,getOverallConfig -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,getEnabledTokenSets -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,mergeTokenGroups -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:44,0 -DA:52,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:78,0 -DA:87,0 -DA:90,0 -LF:26 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:21,1,0,0 -BRDA:21,1,1,0 -BRDA:24,2,0,0 -BRDA:24,2,1,0 -BRDA:24,3,0,0 -BRDA:24,3,1,0 -BRDA:32,4,0,0 -BRDA:40,5,0,0 -BRDA:41,6,0,0 -BRDA:52,7,0,0 -BRDA:52,7,1,0 -BRDA:52,7,2,0 -BRDA:57,8,0,0 -BRDA:57,8,1,0 -BRDA:66,9,0,0 -BRDA:66,9,1,0 -BRDA:69,10,0,0 -BRDA:69,10,1,0 -BRDA:70,11,0,0 -BRDA:70,11,1,0 -BRDA:70,11,2,0 -BRDA:70,11,3,0 -BRDA:70,11,4,0 -BRDA:70,11,5,0 -BRF:26 -BRH:0 -end_of_record -TN: -SF:src/utils/transform.ts -FN:7,transform -FNF:1 -FNH:0 -FNDA:0,transform -DA:8,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/transformProviderName.tsx -FN:3,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:3,0 -DA:4,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:22,0 -LF:11 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:4,0,2,0 -BRDA:4,0,3,0 -BRDA:4,0,4,0 -BRDA:4,0,5,0 -BRDA:4,0,6,0 -BRDA:4,0,7,0 -BRDA:4,0,8,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/utils/trimValue.ts -FN:3,trimValue -FN:5,(anonymous_1) -FN:6,(anonymous_2) -FN:12,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,trimValue -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -LF:10 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/tryApplyColorVariableId.ts -FN:11,tryApplyColorVariableId -FNF:1 -FNH:0 -FNDA:0,tryApplyColorVariableId -DA:12,0 -DA:13,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:45,0 -LF:25 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRDA:19,2,0,0 -BRDA:19,2,1,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:25,5,0,0 -BRDA:25,5,1,0 -BRDA:29,6,0,0 -BRDA:29,6,1,0 -BRDA:29,7,0,0 -BRDA:29,7,1,0 -BRDA:31,8,0,0 -BRDA:31,8,1,0 -BRDA:36,9,0,0 -BRDA:36,9,1,0 -BRDA:36,10,0,0 -BRDA:36,10,1,0 -BRDA:38,11,0,0 -BRDA:38,11,1,0 -BRF:24 -BRH:0 -end_of_record -TN: -SF:src/utils/tryApplyEffectVariableId.ts -FN:4,tryApplyEffectVariableId -FNF:1 -FNH:0 -FNDA:0,tryApplyEffectVariableId -DA:5,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:15,0 -LF:7 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/tryApplyVariableId.ts -FN:4,tryApplyVariableId -FNF:1 -FNH:0 -FNDA:0,tryApplyVariableId -DA:5,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:26,0 -DA:29,0 -DA:32,0 -LF:17 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:10,2,0,0 -BRDA:10,2,1,0 -BRDA:13,3,0,0 -BRDA:13,3,1,0 -BRDA:16,4,0,0 -BRDA:16,4,1,0 -BRDA:16,5,0,0 -BRDA:16,5,1,0 -BRDA:16,5,2,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/utils/tryParseJson.ts -FN:1,tryParseJson -FNF:1 -FNH:0 -FNDA:0,tryParseJson -DA:2,0 -DA:3,0 -DA:5,0 -DA:7,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/trySetStyleId.ts -FN:6,trySetStyleId -FN:12,(anonymous_1) -FN:18,(anonymous_2) -FN:19,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,trySetStyleId -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:7,0 -DA:8,0 -DA:9,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:20,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:53,0 -LF:27 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:24,3,0,0 -BRDA:24,3,1,0 -BRDA:25,4,0,0 -BRDA:25,4,1,0 -BRDA:25,5,0,0 -BRDA:25,5,1,0 -BRDA:28,6,0,0 -BRDA:28,6,1,0 -BRDA:28,6,2,0 -BRDA:36,7,0,0 -BRDA:36,7,1,0 -BRDA:36,8,0,0 -BRDA:36,8,1,0 -BRDA:38,9,0,0 -BRDA:38,9,1,0 -BRDA:38,9,2,0 -BRDA:41,10,0,0 -BRDA:41,10,1,0 -BRDA:41,11,0,0 -BRDA:41,11,1,0 -BRDA:43,12,0,0 -BRDA:43,12,1,0 -BRDA:43,12,2,0 -BRDA:46,13,0,0 -BRDA:46,13,1,0 -BRDA:46,14,0,0 -BRDA:46,14,1,0 -BRDA:48,15,0,0 -BRDA:48,15,1,0 -BRDA:48,15,2,0 -BRF:36 -BRH:0 -end_of_record -TN: -SF:src/utils/types.d.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/uiSettings.ts -FN:9,updateUISettings -FN:47,getUISettings -FNF:2 -FNH:0 -FNDA:0,updateUISettings -FNDA:0,getUISettings -DA:10,0 -DA:11,0 -DA:12,0 -DA:43,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:141,0 -DA:142,0 -DA:146,0 -DA:147,0 -DA:149,0 -LF:42 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:15,2,0,0 -BRDA:15,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRDA:17,4,0,0 -BRDA:17,4,1,0 -BRDA:18,5,0,0 -BRDA:18,5,1,0 -BRDA:19,6,0,0 -BRDA:19,6,1,0 -BRDA:20,7,0,0 -BRDA:20,7,1,0 -BRDA:21,8,0,0 -BRDA:21,8,1,0 -BRDA:22,9,0,0 -BRDA:22,9,1,0 -BRDA:23,10,0,0 -BRDA:23,10,1,0 -BRDA:24,11,0,0 -BRDA:24,11,1,0 -BRDA:25,12,0,0 -BRDA:25,12,1,0 -BRDA:26,13,0,0 -BRDA:26,13,1,0 -BRDA:27,14,0,0 -BRDA:27,14,1,0 -BRDA:28,15,0,0 -BRDA:28,15,1,0 -BRDA:29,16,0,0 -BRDA:29,16,1,0 -BRDA:30,17,0,0 -BRDA:30,17,1,0 -BRDA:31,18,0,0 -BRDA:31,18,1,0 -BRDA:32,19,0,0 -BRDA:32,19,1,0 -BRDA:33,20,0,0 -BRDA:33,20,1,0 -BRDA:34,21,0,0 -BRDA:34,21,1,0 -BRDA:35,22,0,0 -BRDA:35,22,1,0 -BRDA:36,23,0,0 -BRDA:36,23,1,0 -BRDA:37,24,0,0 -BRDA:37,24,1,0 -BRDA:38,25,0,0 -BRDA:38,25,1,0 -BRDA:39,26,0,0 -BRDA:39,26,1,0 -BRDA:40,27,0,0 -BRDA:40,27,1,0 -BRDA:47,28,0,0 -BRDA:81,29,0,0 -BRDA:81,29,1,0 -BRDA:82,30,0,0 -BRDA:82,30,1,0 -BRDA:83,31,0,0 -BRDA:83,31,1,0 -BRDA:84,32,0,0 -BRDA:84,32,1,0 -BRDA:85,33,0,0 -BRDA:85,33,1,0 -BRDA:86,34,0,0 -BRDA:86,34,1,0 -BRDA:87,35,0,0 -BRDA:87,35,1,0 -BRDA:88,36,0,0 -BRDA:88,36,1,0 -BRDA:89,37,0,0 -BRDA:89,37,1,0 -BRDA:90,38,0,0 -BRDA:90,38,1,0 -BRDA:91,39,0,0 -BRDA:91,39,1,0 -BRDA:92,40,0,0 -BRDA:92,40,1,0 -BRDA:93,41,0,0 -BRDA:93,41,1,0 -BRDA:94,42,0,0 -BRDA:94,42,1,0 -BRDA:95,43,0,0 -BRDA:95,43,1,0 -BRDA:96,44,0,0 -BRDA:96,44,1,0 -BRDA:97,45,0,0 -BRDA:97,45,1,0 -BRDA:98,46,0,0 -BRDA:98,46,1,0 -BRDA:99,47,0,0 -BRDA:99,47,1,0 -BRDA:100,48,0,0 -BRDA:100,48,1,0 -BRDA:101,49,0,0 -BRDA:101,49,1,0 -BRDA:102,50,0,0 -BRDA:102,50,1,0 -BRDA:103,51,0,0 -BRDA:103,51,1,0 -BRDA:104,52,0,0 -BRDA:104,52,1,0 -BRDA:105,53,0,0 -BRDA:105,53,1,0 -BRDA:106,54,0,0 -BRDA:106,54,1,0 -BRDA:107,55,0,0 -BRDA:107,55,1,0 -BRDA:108,56,0,0 -BRDA:108,56,1,0 -BRDA:109,57,0,0 -BRDA:109,57,1,0 -BRDA:141,58,0,0 -BRDA:141,58,1,0 -BRF:117 -BRH:0 -end_of_record -TN: -SF:src/utils/updateTokenPayloadToSingleToken.ts -FN:5,updateTokenPayloadToSingleToken -FNF:1 -FNH:0 -FNDA:0,updateTokenPayloadToSingleToken -DA:9,0 -DA:11,0 -LF:2 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/validateGroupName.ts -FN:12,(anonymous_0) -FN:17,(anonymous_1) -FN:24,(anonymous_2) -FN:34,validateRenameGroupName -FN:39,(anonymous_4) -FN:40,(anonymous_5) -FN:45,(anonymous_6) -FN:46,(anonymous_7) -FN:50,(anonymous_8) -FN:52,(anonymous_9) -FN:59,(anonymous_10) -FN:59,(anonymous_11) -FN:59,(anonymous_12) -FN:60,(anonymous_13) -FN:62,(anonymous_14) -FN:79,validateDuplicateGroupName -FN:90,(anonymous_16) -FN:91,(anonymous_17) -FN:100,(anonymous_18) -FN:109,(anonymous_19) -FN:114,(anonymous_20) -FN:114,(anonymous_21) -FN:114,(anonymous_22) -FN:115,(anonymous_23) -FN:124,(anonymous_24) -FN:126,(anonymous_25) -FNF:26 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,validateRenameGroupName -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -FNDA:0,(anonymous_13) -FNDA:0,(anonymous_14) -FNDA:0,validateDuplicateGroupName -FNDA:0,(anonymous_16) -FNDA:0,(anonymous_17) -FNDA:0,(anonymous_18) -FNDA:0,(anonymous_19) -FNDA:0,(anonymous_20) -FNDA:0,(anonymous_21) -FNDA:0,(anonymous_22) -FNDA:0,(anonymous_23) -FNDA:0,(anonymous_24) -FNDA:0,(anonymous_25) -DA:12,0 -DA:13,0 -DA:14,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:31,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:70,0 -DA:71,0 -DA:76,0 -DA:84,0 -DA:85,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:104,0 -DA:106,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:121,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:131,0 -DA:134,0 -DA:135,0 -DA:140,0 -DA:141,0 -DA:146,0 -LF:67 -LH:0 -BRDA:25,0,0,0 -BRDA:25,0,1,0 -BRDA:35,1,0,0 -BRDA:35,1,1,0 -BRDA:39,2,0,0 -BRDA:39,2,1,0 -BRDA:53,3,0,0 -BRDA:53,3,1,0 -BRDA:59,4,0,0 -BRDA:59,4,1,0 -BRDA:59,5,0,0 -BRDA:59,5,1,0 -BRDA:59,5,2,0 -BRDA:62,6,0,0 -BRDA:62,6,1,0 -BRDA:64,7,0,0 -BRDA:64,7,1,0 -BRDA:70,8,0,0 -BRDA:70,8,1,0 -BRDA:84,9,0,0 -BRDA:84,9,1,0 -BRDA:87,10,0,0 -BRDA:87,10,1,0 -BRDA:90,11,0,0 -BRDA:90,11,1,0 -BRDA:101,12,0,0 -BRDA:101,12,1,0 -BRDA:110,13,0,0 -BRDA:110,13,1,0 -BRDA:114,14,0,0 -BRDA:114,14,1,0 -BRDA:114,15,0,0 -BRDA:114,15,1,0 -BRDA:114,15,2,0 -BRDA:116,16,0,0 -BRDA:116,16,1,0 -BRDA:127,17,0,0 -BRDA:127,17,1,0 -BRDA:134,18,0,0 -BRDA:134,18,1,0 -BRDA:140,19,0,0 -BRDA:140,19,1,0 -BRF:42 -BRH:0 -end_of_record -TN: -SF:src/utils/validateLicense.ts -FN:4,validateLicense -FNF:1 -FNH:0 -FNDA:0,validateLicense -DA:9,0 -DA:10,0 -DA:16,0 -DA:17,0 -DA:20,0 -DA:21,0 -DA:25,0 -DA:26,0 -DA:27,0 -LF:9 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRDA:16,1,0,0 -BRDA:16,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/validateStudioTokensExtensions.ts -FN:5,validateStudioTokensExtensions -FN:7,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,validateStudioTokensExtensions -FNDA:0,(anonymous_1) -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:20,0 -LF:9 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRDA:9,2,0,0 -BRDA:9,2,1,0 -BRDA:9,3,0,0 -BRDA:9,3,1,0 -BRDA:15,4,0,0 -BRDA:15,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/utils/waitForMessage.ts -FN:3,waitForMessage -FN:4,(anonymous_1) -FN:11,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,waitForMessage -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:18,0 -LF:6 -LH:0 -BRDA:12,0,0,0 -BRDA:12,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/alias/checkCanReferenceVariable.tsx -FN:5,checkCanReferenceVariable -FNF:1 -FNH:0 -FNDA:0,checkCanReferenceVariable -DA:6,0 -LF:1 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/alias/checkIfAlias.tsx -FN:8,checkIfAlias -FN:22,(anonymous_1) -FN:22,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,checkIfAlias -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:38,0 -LF:17 -LH:0 -BRDA:8,0,0,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:14,3,0,0 -BRDA:14,3,1,0 -BRDA:14,3,2,0 -BRDA:18,4,0,0 -BRDA:18,4,1,0 -BRDA:21,5,0,0 -BRDA:21,5,1,0 -BRDA:24,6,0,0 -BRDA:24,6,1,0 -BRDA:31,7,0,0 -BRDA:31,7,1,0 -BRDA:36,8,0,0 -BRDA:36,8,1,0 -BRF:18 -BRH:0 -end_of_record -TN: -SF:src/utils/alias/checkIfContainsAlias.tsx -FN:4,checkIfContainsAlias -FNF:1 -FNH:0 -FNDA:0,checkIfContainsAlias -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/alias/getAliasValue.ts -FN:16,getReturnedValue -FN:32,replaceAliasWithResolvedReference -FN:48,getAliasValue -FN:59,(anonymous_3) -FN:81,(anonymous_4) -FN:122,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,getReturnedValue -FNDA:0,replaceAliasWithResolvedReference -FNDA:0,getAliasValue -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:17,0 -DA:24,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:65,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:86,0 -DA:87,0 -DA:90,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:102,0 -DA:110,0 -DA:111,0 -DA:119,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:127,0 -DA:128,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:145,0 -DA:149,0 -DA:163,0 -DA:170,0 -DA:174,0 -DA:175,0 -DA:178,0 -DA:179,0 -DA:181,0 -LF:65 -LH:0 -BRDA:17,0,0,0 -BRDA:17,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:18,1,2,0 -BRDA:18,1,3,0 -BRDA:18,1,4,0 -BRDA:26,2,0,0 -BRDA:26,2,1,0 -BRDA:37,3,0,0 -BRDA:37,3,1,0 -BRDA:40,4,0,0 -BRDA:40,4,1,0 -BRDA:40,5,0,0 -BRDA:40,5,1,0 -BRDA:40,5,2,0 -BRDA:50,6,0,0 -BRDA:51,7,0,0 -BRDA:52,8,0,0 -BRDA:57,9,0,0 -BRDA:57,9,1,0 -BRDA:58,10,0,0 -BRDA:58,10,1,0 -BRDA:60,11,0,0 -BRDA:60,11,1,0 -BRDA:62,12,0,0 -BRDA:62,12,1,0 -BRDA:67,13,0,0 -BRDA:67,13,1,0 -BRDA:67,14,0,0 -BRDA:67,14,1,0 -BRDA:67,14,2,0 -BRDA:68,15,0,0 -BRDA:68,15,1,0 -BRDA:71,16,0,0 -BRDA:71,16,1,0 -BRDA:81,17,0,0 -BRDA:81,17,1,0 -BRDA:81,17,2,0 -BRDA:86,18,0,0 -BRDA:86,18,1,0 -BRDA:90,19,0,0 -BRDA:90,19,1,0 -BRDA:91,20,0,0 -BRDA:91,20,1,0 -BRDA:91,20,2,0 -BRDA:96,21,0,0 -BRDA:96,21,1,0 -BRDA:96,22,0,0 -BRDA:96,22,1,0 -BRDA:102,23,0,0 -BRDA:102,23,1,0 -BRDA:103,24,0,0 -BRDA:103,24,1,0 -BRDA:103,24,2,0 -BRDA:103,24,3,0 -BRDA:103,24,4,0 -BRDA:103,24,5,0 -BRDA:112,25,0,0 -BRDA:112,25,1,0 -BRDA:127,26,0,0 -BRDA:127,26,1,0 -BRDA:131,27,0,0 -BRDA:131,27,1,0 -BRDA:131,28,0,0 -BRDA:131,28,1,0 -BRDA:133,29,0,0 -BRDA:133,29,1,0 -BRDA:135,30,0,0 -BRDA:135,30,1,0 -BRDA:137,31,0,0 -BRDA:137,31,1,0 -BRDA:138,32,0,0 -BRDA:138,32,1,0 -BRDA:138,32,2,0 -BRDA:138,32,3,0 -BRDA:138,32,4,0 -BRDA:138,32,5,0 -BRDA:145,33,0,0 -BRDA:145,33,1,0 -BRDA:146,34,0,0 -BRDA:146,34,1,0 -BRDA:153,35,0,0 -BRDA:153,35,1,0 -BRDA:178,36,0,0 -BRDA:178,36,1,0 -BRDA:178,37,0,0 -BRDA:178,37,1,0 -BRF:88 -BRH:0 -end_of_record -TN: -SF:src/utils/alias/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/color/convertToRgb.ts -FN:5,convertToRgb -FN:16,(anonymous_1) -FN:17,(anonymous_2) -FN:19,(anonymous_3) -FN:24,(anonymous_4) -FN:36,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,convertToRgb -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:6,0 -DA:7,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:43,0 -DA:45,0 -DA:47,0 -DA:50,0 -LF:29 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:23,2,0,0 -BRDA:23,2,1,0 -BRDA:32,3,0,0 -BRDA:32,3,1,0 -BRDA:34,4,0,0 -BRDA:34,4,1,0 -BRDA:36,5,0,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/utils/color/darken.ts -FN:4,darken -FNF:1 -FNH:0 -FNDA:0,darken -DA:5,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:44,0 -LF:29 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,0,2,0 -BRDA:5,0,3,0 -BRDA:5,0,4,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/utils/color/getColorSwatchStyle.ts -FN:1,getColorSwatchStyle -FNF:1 -FNH:0 -FNDA:0,getColorSwatchStyle -DA:2,0 -LF:1 -LH:0 -BRDA:2,0,0,0 -BRDA:2,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/color/getReferenceTokensFromGradient.ts -FN:1,(anonymous_0) -FN:3,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:1,0 -DA:2,0 -DA:3,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:10,0 -DA:13,0 -LF:8 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRDA:8,2,0,0 -BRDA:8,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/color/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/color/isLightOrDark.ts -FN:4,lightOrDark -FNF:1 -FNH:0 -FNDA:0,lightOrDark -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:11,0 -LF:5 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/color/lighten.ts -FN:4,lighten -FNF:1 -FNH:0 -FNDA:0,lighten -DA:5,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:42,0 -LF:29 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,0,2,0 -BRDA:5,0,3,0 -BRDA:5,0,4,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:src/utils/color/mix.ts -FN:4,mix -FNF:1 -FNH:0 -FNDA:0,mix -DA:5,0 -DA:7,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/color/transparentize.ts -FN:3,transparentize -FNF:1 -FNH:0 -FNDA:0,transparentize -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/date/compareUpdatedAt.ts -FN:1,compareUpdatedAt -FNF:1 -FNH:0 -FNDA:0,compareUpdatedAt -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:7,0 -DA:8,0 -DA:10,0 -LF:7 -LH:0 -BRDA:4,0,0,0 -BRDA:4,0,1,0 -BRDA:7,1,0,0 -BRDA:7,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/date/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/dragDropOrder/ensureFolderIsTogether.ts -FN:5,ensureFolderIsTogether -FN:8,(anonymous_1) -FN:9,(anonymous_2) -FN:11,(anonymous_3) -FN:12,(anonymous_4) -FN:14,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,ensureFolderIsTogether -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:6,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:20,0 -LF:10 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:13,1,0,0 -BRDA:13,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/dragDropOrder/findOrderableTargetIndexesInThemeList.tsx -FN:4,findOrderableTargetIndexesInThemeList -FN:6,(anonymous_1) -FN:8,(anonymous_2) -FN:13,(anonymous_3) -FN:15,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,findOrderableTargetIndexesInThemeList -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:18,0 -DA:20,0 -DA:22,0 -LF:11 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRDA:16,3,0,0 -BRDA:16,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/utils/dragDropOrder/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/error/handleReactError.ts -FN:3,handleReactError -FNF:1 -FNH:0 -FNDA:0,handleReactError -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/figma/goToNodeId.ts -FN:4,goToNodeId -FNF:1 -FNH:0 -FNDA:0,goToNodeId -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/figma/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/figma/selectNodes.ts -FN:4,selectNodes -FNF:1 -FNH:0 -FNDA:0,selectNodes -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/figma/updateLocalTokensData.ts -FN:29,updateLocalTokensData -FNF:1 -FNH:0 -FNDA:0,updateLocalTokensData -DA:30,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -LF:20 -LH:0 -BRDA:32,0,0,0 -BRDA:32,0,1,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRDA:38,2,0,0 -BRDA:38,2,1,0 -BRDA:44,3,0,0 -BRDA:44,3,1,0 -BRDA:45,4,0,0 -BRDA:45,4,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/utils/figmaStorage/readSharedPluginData.ts -FN:22,readSharedPluginData -FN:50,(anonymous_1) -FN:59,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,readSharedPluginData -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:2,0 -DA:5,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:34,0 -DA:35,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:48,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:56,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:65,0 -DA:68,0 -DA:69,0 -DA:71,0 -DA:72,0 -DA:77,0 -DA:78,0 -LF:28 -LH:0 -BRDA:25,0,0,0 -BRDA:28,1,0,0 -BRDA:28,1,1,0 -BRDA:30,2,0,0 -BRDA:30,2,1,0 -BRDA:37,3,0,0 -BRDA:37,3,1,0 -BRDA:42,4,0,0 -BRDA:42,4,1,0 -BRDA:45,5,0,0 -BRDA:45,5,1,0 -BRDA:48,6,0,0 -BRDA:48,6,1,0 -BRDA:48,7,0,0 -BRDA:48,7,1,0 -BRDA:59,8,0,0 -BRDA:59,8,1,0 -BRDA:78,9,0,0 -BRDA:78,9,1,0 -BRF:19 -BRH:0 -end_of_record -TN: -SF:src/utils/figmaStorage/writeSharedPluginData.ts -FN:29,writeSharedPluginData -FNF:1 -FNH:0 -FNDA:0,writeSharedPluginData -DA:5,0 -DA:8,0 -DA:11,0 -DA:35,0 -DA:37,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:60,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:69,0 -DA:71,0 -DA:73,0 -DA:74,0 -DA:77,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:97,0 -DA:98,0 -DA:101,0 -DA:102,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:118,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:127,0 -DA:128,0 -DA:129,0 -LF:48 -LH:0 -BRDA:33,0,0,0 -BRDA:35,1,0,0 -BRDA:35,1,1,0 -BRDA:46,2,0,0 -BRDA:46,2,1,0 -BRDA:48,3,0,0 -BRDA:48,3,1,0 -BRDA:48,4,0,0 -BRDA:48,4,1,0 -BRDA:63,5,0,0 -BRDA:63,5,1,0 -BRDA:71,6,0,0 -BRDA:71,6,1,0 -BRDA:82,7,0,0 -BRDA:82,7,1,0 -BRDA:84,8,0,0 -BRDA:84,8,1,0 -BRDA:84,9,0,0 -BRDA:84,9,1,0 -BRDA:123,10,0,0 -BRDA:123,10,1,0 -BRDA:125,11,0,0 -BRDA:125,11,1,0 -BRDA:125,12,0,0 -BRDA:125,12,1,0 -BRDA:125,12,2,0 -BRF:26 -BRH:0 -end_of_record -TN: -SF:src/utils/is/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isColorToken.ts -FN:4,isColorToken -FNF:1 -FNH:0 -FNDA:0,isColorToken -DA:5,0 -DA:6,0 -LF:2 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isCompositeBorderValue.ts -FN:5,isCompositeBorderValue -FN:11,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,isCompositeBorderValue -FNDA:0,(anonymous_1) -DA:6,0 -DA:12,0 -LF:2 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRDA:12,2,0,0 -BRDA:12,2,1,0 -BRDA:12,2,2,0 -BRDA:12,2,3,0 -BRDA:12,2,4,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isDocumentationType.ts -FN:3,isDocumentationType -FNF:1 -FNH:0 -FNDA:0,isDocumentationType -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isGitProvider.ts -FN:4,isGitProvider -FNF:1 -FNH:0 -FNDA:0,isGitProvider -DA:12,0 -LF:1 -LH:0 -BRDA:13,0,0,0 -BRDA:13,0,1,0 -BRDA:13,0,2,0 -BRDA:13,0,3,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isMatchingStyle.ts -FN:1,isMatchingStyle -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,isMatchingStyle -FNDA:0,(anonymous_1) -DA:5,0 -DA:6,0 -DA:8,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isPartOfInstance.ts -FN:1,isPartOfInstance -FNF:1 -FNH:0 -FNDA:0,isPartOfInstance -DA:2,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isPrimitiveValue.ts -FN:1,isPrimitiveValue -FNF:1 -FNH:0 -FNDA:0,isPrimitiveValue -DA:2,0 -LF:1 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRDA:3,0,2,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isPropertyType.ts -FN:3,isPropertyType -FNF:1 -FNH:0 -FNDA:0,isPropertyType -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleBorderToken.ts -FN:8,isSingleBorderToken -FN:22,isSingleBorderTokenInJSON -FNF:2 -FNH:0 -FNDA:0,isSingleBorderToken -FNDA:0,isSingleBorderTokenInJSON -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:23,0 -DA:24,0 -LF:6 -LH:0 -BRDA:10,0,0,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,2,2,0 -BRDA:16,2,3,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:25,4,0,0 -BRDA:25,4,1,0 -BRDA:25,4,2,0 -BRDA:25,4,3,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleBoxShadowToken.ts -FN:8,isSingleBoxShadowToken -FN:23,isSingleBoxShadowTokenInJSON -FNF:2 -FNH:0 -FNDA:0,isSingleBoxShadowToken -FNDA:0,isSingleBoxShadowTokenInJSON -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:24,0 -DA:25,0 -LF:6 -LH:0 -BRDA:10,0,0,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,2,2,0 -BRDA:16,2,3,0 -BRDA:16,2,4,0 -BRDA:24,3,0,0 -BRDA:24,3,1,0 -BRDA:26,4,0,0 -BRDA:26,4,1,0 -BRDA:26,4,2,0 -BRDA:26,4,3,0 -BRDA:26,4,4,0 -BRF:15 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleBoxShadowValue.ts -FN:6,isSingleBoxShadowValue -FN:13,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,isSingleBoxShadowValue -FNDA:0,(anonymous_1) -DA:7,0 -DA:14,0 -LF:2 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,0,2,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:14,2,0,0 -BRDA:14,2,1,0 -BRDA:14,2,2,0 -BRDA:14,2,3,0 -BRDA:14,2,4,0 -BRDA:14,2,5,0 -BRF:11 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleCompositionToken.ts -FN:8,isSingleCompositionToken -FN:22,isSingleCompositionTokenInJSON -FNF:2 -FNH:0 -FNDA:0,isSingleCompositionToken -FNDA:0,isSingleCompositionTokenInJSON -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:23,0 -DA:24,0 -LF:6 -LH:0 -BRDA:10,0,0,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,2,2,0 -BRDA:16,2,3,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:25,4,0,0 -BRDA:25,4,1,0 -BRDA:25,4,2,0 -BRDA:25,4,3,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleInternalTokenValueObject.ts -FN:3,isSingleInternalTokenValueObject -FNF:1 -FNH:0 -FNDA:0,isSingleInternalTokenValueObject -DA:4,0 -LF:1 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,0,2,0 -BRDA:5,0,3,0 -BRDA:5,0,4,0 -BRDA:5,0,5,0 -BRDA:11,1,0,0 -BRDA:11,1,1,0 -BRDA:11,1,2,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleToken.ts -FN:3,isSingleToken -FNF:1 -FNH:0 -FNDA:0,isSingleToken -DA:4,0 -LF:1 -LH:0 -BRDA:5,0,0,0 -BRDA:5,0,1,0 -BRDA:5,0,2,0 -BRDA:5,0,3,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleTokenInJson.ts -FN:4,isSingleTokenInJSON -FNF:1 -FNH:0 -FNDA:0,isSingleTokenInJSON -DA:5,0 -LF:1 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:6,0,2,0 -BRDA:6,0,3,0 -BRDA:6,0,4,0 -BRDA:6,0,5,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:12,1,2,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleTokenValueObject.ts -FN:6,isSingleTokenValueObject -FNF:1 -FNH:0 -FNDA:0,isSingleTokenValueObject -DA:7,0 -LF:1 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:8,0,2,0 -BRDA:8,0,3,0 -BRDA:8,0,4,0 -BRDA:8,0,5,0 -BRDA:14,1,0,0 -BRDA:14,1,1,0 -BRDA:14,1,2,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleTypographyToken.ts -FN:8,isSingleTypographyToken -FN:22,isSingleTypographyTokenInJSON -FNF:2 -FNH:0 -FNDA:0,isSingleTypographyToken -FNDA:0,isSingleTypographyTokenInJSON -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:23,0 -DA:24,0 -LF:6 -LH:0 -BRDA:10,0,0,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:16,2,2,0 -BRDA:16,2,3,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:25,4,0,0 -BRDA:25,4,1,0 -BRDA:25,4,2,0 -BRDA:25,4,3,0 -BRF:13 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isSingleTypographyValue.ts -FN:5,isSingleTypographyValue -FN:12,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,isSingleTypographyValue -FNDA:0,(anonymous_1) -DA:6,0 -DA:13,0 -LF:2 -LH:0 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRDA:7,0,2,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:13,2,0,0 -BRDA:13,2,1,0 -BRDA:13,2,2,0 -BRDA:13,2,3,0 -BRDA:13,2,4,0 -BRDA:13,2,5,0 -BRDA:13,2,6,0 -BRDA:13,2,7,0 -BRDA:13,2,8,0 -BRDA:13,2,9,0 -BRDA:13,2,10,0 -BRF:16 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isTokenGroupWithType.ts -FN:16,isTokenGroupWithType -FNF:1 -FNH:0 -FNDA:0,isTokenGroupWithType -DA:17,0 -LF:1 -LH:0 -BRDA:18,0,0,0 -BRDA:18,0,1,0 -BRDA:18,0,2,0 -BRDA:18,0,3,0 -BRDA:18,0,4,0 -BRDA:18,0,5,0 -BRDA:18,0,6,0 -BRDA:18,0,7,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/utils/is/isTokenType.ts -FN:3,isTokenType -FNF:1 -FNH:0 -FNDA:0,isTokenType -DA:4,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/math/checkAndEvaluateMath.ts -FN:14,(anonymous_0) -FN:23,(anonymous_1) -FN:32,(anonymous_2) -FN:41,(anonymous_3) -FN:44,(anonymous_4) -FN:46,(anonymous_5) -FN:52,(anonymous_6) -FN:56,checkAndEvaluateMath -FNF:8 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,checkAndEvaluateMath -DA:5,0 -DA:14,0 -DA:23,0 -DA:32,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:52,0 -DA:53,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:65,0 -DA:67,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:77,0 -DA:78,0 -DA:80,0 -DA:82,0 -DA:83,0 -DA:85,0 -LF:26 -LH:0 -BRDA:70,0,0,0 -BRDA:70,0,1,0 -BRDA:70,1,0,0 -BRDA:70,1,1,0 -BRDA:83,2,0,0 -BRDA:83,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/math/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/motion/checkReorder.ts -FN:5,checkReorder -FN:10,(anonymous_1) -FN:14,(anonymous_2) -FN:24,(anonymous_3) -FN:26,(anonymous_4) -FNF:5 -FNH:0 -FNDA:0,checkReorder -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -DA:10,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:29,0 -DA:31,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:42,0 -DA:45,0 -LF:19 -LH:0 -BRDA:10,0,0,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRDA:18,3,0,0 -BRDA:18,3,1,0 -BRDA:21,4,0,0 -BRDA:21,4,1,0 -BRDA:23,5,0,0 -BRDA:23,5,1,0 -BRDA:24,6,0,0 -BRDA:24,6,1,0 -BRDA:26,7,0,0 -BRDA:26,7,1,0 -BRDA:31,8,0,0 -BRDA:31,8,1,0 -BRDA:38,9,0,0 -BRDA:38,9,1,0 -BRDA:39,10,0,0 -BRDA:39,10,1,0 -BRDA:39,10,2,0 -BRDA:39,10,3,0 -BRF:23 -BRH:0 -end_of_record -TN: -SF:src/utils/motion/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/motion/moveItem.ts -FN:2,moveItem -FNF:1 -FNH:0 -FNDA:0,moveItem -DA:3,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -DA:12,0 -LF:6 -LH:0 -BRDA:3,0,0,0 -BRDA:3,0,1,0 -BRDA:5,1,0,0 -BRDA:5,1,1,0 -BRDA:5,2,0,0 -BRDA:5,2,1,0 -BRDA:6,3,0,0 -BRDA:6,3,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/utils/plugin/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/plugin/init.ts -FN:7,init -FN:8,(anonymous_1) -FN:23,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,init -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:8,0 -DA:9,0 -DA:15,0 -DA:20,0 -DA:21,0 -DA:24,0 -LF:6 -LH:0 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:12,1,0,0 -BRDA:12,1,1,0 -BRDA:20,2,0,0 -BRDA:20,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/plugin/startup.ts -FN:13,startup -FNF:1 -FNH:0 -FNDA:0,startup -DA:29,0 -DA:45,0 -LF:2 -LH:0 -BRDA:53,0,0,0 -BRDA:53,0,1,0 -BRDA:54,1,0,0 -BRDA:54,1,1,0 -BRDA:58,2,0,0 -BRDA:58,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/string/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/string/joinPath.ts -FN:3,joinPath -FN:4,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,joinPath -FNDA:0,(anonymous_1) -DA:4,0 -DA:5,0 -LF:2 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/string/slugify.ts -FN:2,slugify -FNF:1 -FNH:0 -FNDA:0,slugify -DA:3,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/string/ui/decodeBase64.ts -FN:1,decodeBase64 -FNF:1 -FNH:0 -FNDA:0,decodeBase64 -DA:2,0 -DA:3,0 -DA:4,0 -DA:5,0 -DA:6,0 -DA:8,0 -DA:9,0 -LF:7 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/string/ui/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/applyTokenSetOrder.ts -FN:3,applyTokenSetOrder -FN:9,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,applyTokenSetOrder -FNDA:0,(anonymous_1) -DA:4,0 -DA:5,0 -DA:8,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -LF:9 -LH:0 -BRDA:3,0,0,0 -BRDA:3,1,0,0 -BRDA:4,2,0,0 -BRDA:4,2,1,0 -BRDA:4,3,0,0 -BRDA:4,3,1,0 -BRDA:10,4,0,0 -BRDA:10,4,1,0 -BRDA:11,5,0,0 -BRDA:11,5,1,0 -BRDA:12,6,0,0 -BRDA:12,6,1,0 -BRDA:12,7,0,0 -BRDA:12,7,1,0 -BRDA:13,8,0,0 -BRDA:13,8,1,0 -BRDA:13,9,0,0 -BRDA:13,9,1,0 -BRDA:14,10,0,0 -BRDA:14,10,1,0 -BRDA:14,11,0,0 -BRDA:14,11,1,0 -BRDA:14,12,0,0 -BRDA:14,12,1,0 -BRDA:15,13,0,0 -BRDA:15,13,1,0 -BRF:26 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/findOrderableTargetIndexesInTokenSetTreeList.tsx -FN:4,findOrderableTargetIndexesInTokenSetTreeList -FN:5,(anonymous_1) -FN:9,(anonymous_2) -FN:11,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,findOrderableTargetIndexesInTokenSetTreeList -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:5,0 -DA:6,0 -DA:9,0 -DA:10,0 -DA:11,0 -DA:12,0 -DA:14,0 -DA:16,0 -DA:18,0 -LF:9 -LH:0 -BRDA:6,0,0,0 -BRDA:6,0,1,0 -BRDA:10,1,0,0 -BRDA:10,1,1,0 -BRDA:12,2,0,0 -BRDA:12,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/findParentIndexToInsertSet.ts -FN:3,findParentIndexToInsertSet -FN:4,(anonymous_1) -FN:7,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,findParentIndexToInsertSet -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:4,0 -DA:5,0 -DA:6,0 -DA:7,0 -DA:8,0 -DA:9,0 -DA:10,0 -DA:16,0 -DA:19,0 -LF:9 -LH:0 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRDA:9,1,0,0 -BRDA:9,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/mapTokensToStyleInfo.ts -FN:4,mapTokensToStyleInfo -FN:15,(anonymous_1) -FN:16,(anonymous_2) -FNF:3 -FNH:0 -FNDA:0,mapTokensToStyleInfo -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -DA:12,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:28,0 -LF:9 -LH:0 -BRDA:19,0,0,0 -BRDA:19,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/tokenSetListToList.ts -FN:4,tokenSetListToList -FN:5,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,tokenSetListToList -FNDA:0,(anonymous_1) -DA:5,0 -LF:1 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/tokenSetListToTree.ts -FN:13,tokenSetListToTree -FN:14,(anonymous_1) -FN:17,(anonymous_2) -FN:21,(anonymous_3) -FN:23,(anonymous_4) -FN:38,(anonymous_5) -FNF:6 -FNH:0 -FNDA:0,tokenSetListToTree -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:49,0 -DA:59,0 -DA:63,0 -LF:16 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:19,1,0,0 -BRDA:19,1,1,0 -BRDA:19,2,0,0 -BRDA:19,2,1,0 -BRDA:23,3,0,0 -BRDA:23,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRDA:37,5,0,0 -BRDA:37,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:src/utils/tokenset/updateTokenSetsInState.ts -FN:8,updateTokenSetsInState -FN:15,(anonymous_1) -FN:32,(anonymous_2) -FN:54,(anonymous_3) -FN:65,(anonymous_4) -FN:70,(anonymous_5) -FN:72,(anonymous_6) -FN:85,(anonymous_7) -FN:87,(anonymous_8) -FN:98,(anonymous_9) -FN:100,(anonymous_10) -FN:100,(anonymous_11) -FN:100,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,updateTokenSetsInState -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:0,(anonymous_11) -FNDA:0,(anonymous_12) -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:22,0 -DA:24,0 -DA:27,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:43,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:77,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:104,0 -LF:51 -LH:0 -BRDA:16,0,0,0 -BRDA:16,0,1,0 -BRDA:18,1,0,0 -BRDA:18,1,1,0 -BRDA:19,2,0,0 -BRDA:19,2,1,0 -BRDA:33,3,0,0 -BRDA:33,3,1,0 -BRDA:34,4,0,0 -BRDA:34,4,1,0 -BRDA:38,5,0,0 -BRDA:38,5,1,0 -BRDA:39,6,0,0 -BRDA:39,6,1,0 -BRDA:45,7,0,0 -BRDA:45,7,1,0 -BRDA:51,8,0,0 -BRDA:51,8,1,0 -BRDA:64,9,0,0 -BRDA:64,9,1,0 -BRDA:66,10,0,0 -BRDA:66,10,1,0 -BRDA:73,11,0,0 -BRDA:73,11,1,0 -BRDA:84,12,0,0 -BRDA:84,12,1,0 -BRF:26 -BRH:0 -end_of_record From c29fad18871c98379ab39f24a7f0460a159a0774 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 May 2025 07:09:48 +0000 Subject: [PATCH 6/8] Fix variable collection and mode names not displaying in import dialog Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- .../app/components/ImportVariablesDialog.tsx | 12 ++++++++-- .../src/app/hooks/useImportVariables.tsx | 1 + .../getAvailableVariableCollections.ts | 23 ++++++++++++------- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx index 3026a7b76..3d0424a43 100644 --- a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx +++ b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx @@ -18,6 +18,9 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll const [useDimensions, setUseDimensions] = useState(false); const [useRem, setUseRem] = useState(false); + // Log collections data for debugging + console.log('Collections passed to dialog:', collections); + // Initialize all collections as selected with all modes selected by default useEffect(() => { if (collections.length > 0) { @@ -29,6 +32,7 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll }; }); setSelectedCollections(initialSelection); + console.log('Initial selection set:', initialSelection); } }, [collections]); @@ -143,7 +147,9 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll onCheckedChange={() => handleCollectionToggle(collection.id, collection.name, collection.modes)} id={`collection-${collection.id}`} > - {collection.name} + + {collection.name || `Collection ${collection.id.slice(0, 8)}`} + {isCollectionSelected && ( @@ -155,7 +161,9 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll onCheckedChange={() => handleModeToggle(collection.id, mode.modeId)} id={`mode-${collection.id}-${mode.modeId}`} > - {mode.name} + + {mode.name || `Mode ${mode.modeId.slice(0, 8)}`} + ))} diff --git a/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx b/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx index 87a556ac7..cd2c7423b 100644 --- a/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx +++ b/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx @@ -17,6 +17,7 @@ export function useImportVariables() { type: AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, }); + console.log('Received collections in hook:', response.collections); setCollections(response.collections); setIsDialogOpen(true); } catch (error) { diff --git a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts index d742963cc..a3c870c9e 100644 --- a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts +++ b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts @@ -7,16 +7,23 @@ export const getAvailableVariableCollections: AsyncMessageChannelHandlers[AsyncM }> => { try { const allCollections = await figma.variables.getLocalVariableCollectionsAsync(); + console.log('All collections from Figma API:', JSON.stringify(allCollections, null, 2)); - const collections: VariableCollectionInfo[] = allCollections.map((collection) => ({ - id: collection.id, - name: collection.name, - modes: collection.modes.map((mode) => ({ - modeId: mode.modeId, - name: mode.name, - })), - })); + const collections: VariableCollectionInfo[] = allCollections.map((collection) => { + console.log(`Processing collection: ${collection.id}, name: "${collection.name}"`); + console.log(`Modes for collection ${collection.name}:`, JSON.stringify(collection.modes, null, 2)); + + return { + id: collection.id, + name: collection.name || `Collection ${collection.id.slice(0, 8)}`, + modes: collection.modes.map((mode) => ({ + modeId: mode.modeId, + name: mode.name || `Mode ${mode.modeId.slice(0, 8)}`, + })), + }; + }); + console.log('Returning collections:', JSON.stringify(collections, null, 2)); return { collections }; } catch (error) { console.error('Error getting variable collections:', error); From 618ada63ec62ecea76506fac9c914c641757e109 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 29 May 2025 09:17:18 +0000 Subject: [PATCH 7/8] Fix ImportVariablesDialog: remove unused pullVariables function, add empty state handling, and fix checkbox implementation Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- .../app/components/ImportVariablesDialog.tsx | 81 +++++++++++-------- .../src/app/store/useTokens.test.tsx | 8 -- .../src/app/store/useTokens.tsx | 7 +- 3 files changed, 48 insertions(+), 48 deletions(-) diff --git a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx index 3d0424a43..c5df63b51 100644 --- a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx +++ b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx @@ -1,6 +1,6 @@ import React, { useState, useCallback, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; -import { Button, Checkbox, Stack, Heading } from '@tokens-studio/ui'; +import { Button, Checkbox, Label, Stack, Heading } from '@tokens-studio/ui'; import Modal from './Modal'; import Box from './Box'; import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection'; @@ -115,26 +115,37 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll {/* Options */} Options - setUseDimensions(checked === true)} - id="useDimensions" - > - Convert numbers to dimensions - - setUseRem(checked === true)} - id="useRem" - > - Use rem for dimension values - + + setUseDimensions(checked === true)} + id="useDimensions" + /> + + + + setUseRem(checked === true)} + id="useRem" + /> + + {/* Collections */} Variable Collections - {collections.map((collection) => { + {collections.length === 0 ? ( + + There are no collections present in this file + + ) : ( + collections.map((collection) => { const isCollectionSelected = !!selectedCollections[collection.id]; const selectedModes = selectedCollections[collection.id]?.selectedModes || []; const allModesSelected = isCollectionSelected && selectedModes.length === collection.modes.length; @@ -142,36 +153,38 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll return ( - handleCollectionToggle(collection.id, collection.name, collection.modes)} - id={`collection-${collection.id}`} - > - + + handleCollectionToggle(collection.id, collection.name, collection.modes)} + id={`collection-${collection.id}`} + /> + - + + {isCollectionSelected && ( {collection.modes.map((mode) => ( - handleModeToggle(collection.id, mode.modeId)} - id={`mode-${collection.id}-${mode.modeId}`} - > - + + handleModeToggle(collection.id, mode.modeId)} + id={`mode-${collection.id}-${mode.modeId}`} + /> + - + + ))} )} ); - })} + }) + )} {!hasSelections && ( diff --git a/packages/tokens-studio-for-figma/src/app/store/useTokens.test.tsx b/packages/tokens-studio-for-figma/src/app/store/useTokens.test.tsx index 8ca4b815c..6f71dd071 100644 --- a/packages/tokens-studio-for-figma/src/app/store/useTokens.test.tsx +++ b/packages/tokens-studio-for-figma/src/app/store/useTokens.test.tsx @@ -304,14 +304,6 @@ describe('useToken test', () => { await expect(result.current.pullStyles()).resolves.not.toThrow(); }); - it('pullVariables test', async () => { - mockConfirm.mockImplementation(() => Promise.resolve()); - await act(async () => { - await result.current.pullVariables(); - }); - await expect(result.current.pullVariables()).resolves.not.toThrow(); - }); - it('should send message to pull styles from figma', async () => { const messageSpy = jest.spyOn(AsyncMessageChannel.ReactInstance, 'message'); mockConfirm.mockImplementation(() => Promise.resolve({ diff --git a/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx b/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx index 0aa58e6a9..f837cfd0b 100644 --- a/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx +++ b/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx @@ -189,10 +189,7 @@ export default function useTokens() { } }, [confirm]); - const pullVariables = useCallback(async () => { - // This will be handled by the ImportVariablesDialog component - // The dialog will be opened by the component using the useImportVariables hook - }, []); + const removeTokensByValue = useCallback((data: RemoveTokensByValueData) => { track('removeTokensByValue', { count: data.length }); @@ -760,7 +757,6 @@ export default function useTokens() { createStylesFromSelectedTokenSets, createStylesFromSelectedThemes, pullStyles, - pullVariables, remapToken, remapTokensInGroup, removeTokensByValue, @@ -786,7 +782,6 @@ export default function useTokens() { createStylesFromSelectedTokenSets, createStylesFromSelectedThemes, pullStyles, - pullVariables, remapToken, remapTokensInGroup, removeTokensByValue, From 50a2e4b53a48439e74598739d974f68c6b3170cb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 29 May 2025 10:11:28 +0000 Subject: [PATCH 8/8] Remove debugging logs and add analytics tracking for variable imports Co-authored-by: six7 <4548309+six7@users.noreply.github.com> --- .../app/components/ImportVariablesDialog.tsx | 91 ++++++++++--------- .../src/app/hooks/useImportVariables.tsx | 25 ++++- .../src/app/store/useTokens.tsx | 2 - .../getAvailableVariableCollections.test.ts | 4 +- .../getAvailableVariableCollections.ts | 6 +- .../src/plugin/pullVariables.test.ts | 22 ++--- .../src/plugin/pullVariables.ts | 2 +- .../src/types/VariableCollectionSelection.ts | 2 +- 8 files changed, 85 insertions(+), 69 deletions(-) diff --git a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx index c5df63b51..e578a5072 100644 --- a/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx +++ b/packages/tokens-studio-for-figma/src/app/components/ImportVariablesDialog.tsx @@ -1,6 +1,7 @@ import React, { useState, useCallback, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { Button, Checkbox, Label, Stack, Heading } from '@tokens-studio/ui'; +import { + Button, Checkbox, Label, Stack, Heading, +} from '@tokens-studio/ui'; import Modal from './Modal'; import Box from './Box'; import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection'; @@ -12,15 +13,13 @@ type Props = { collections: VariableCollectionInfo[]; }; -export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, collections }: Props) { - const { t } = useTranslation(); +export default function ImportVariablesDialog({ + isOpen, onClose, onConfirm, collections, +}: Props) { const [selectedCollections, setSelectedCollections] = useState({}); const [useDimensions, setUseDimensions] = useState(false); const [useRem, setUseRem] = useState(false); - // Log collections data for debugging - console.log('Collections passed to dialog:', collections); - // Initialize all collections as selected with all modes selected by default useEffect(() => { if (collections.length > 0) { @@ -32,7 +31,6 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll }; }); setSelectedCollections(initialSelection); - console.log('Initial selection set:', initialSelection); } }, [collections]); @@ -44,16 +42,15 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll const newSelection = { ...prev }; delete newSelection[collectionId]; return newSelection; - } else { - // Add collection with all modes selected - return { - ...prev, - [collectionId]: { - name: collectionName, - selectedModes: modes.map((mode) => mode.modeId), - }, - }; } + // Add collection with all modes selected + return { + ...prev, + [collectionId]: { + name: collectionName, + selectedModes: modes.map((mode) => mode.modeId), + }, + }; }); }, []); @@ -141,30 +138,33 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll Variable Collections {collections.length === 0 ? ( - + There are no collections present in this file ) : ( collections.map((collection) => { - const isCollectionSelected = !!selectedCollections[collection.id]; - const selectedModes = selectedCollections[collection.id]?.selectedModes || []; - const allModesSelected = isCollectionSelected && selectedModes.length === collection.modes.length; - - return ( - - - - handleCollectionToggle(collection.id, collection.name, collection.modes)} - id={`collection-${collection.id}`} - /> - - - - {isCollectionSelected && ( + const isCollectionSelected = !!selectedCollections[collection.id]; + const selectedModes = selectedCollections[collection.id]?.selectedModes || []; + const allModesSelected = isCollectionSelected && selectedModes.length === collection.modes.length; + + return ( + + + + handleCollectionToggle(collection.id, collection.name, collection.modes)} + id={`collection-${collection.id}`} + /> + + + + {isCollectionSelected && ( {collection.modes.map((mode) => ( @@ -179,20 +179,23 @@ export default function ImportVariablesDialog({ isOpen, onClose, onConfirm, coll ))} - )} - - - ); - }) + )} + + + ); + }) )} {!hasSelections && ( - + Please select at least one collection and mode to import. )} ); -} \ No newline at end of file +} diff --git a/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx b/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx index cd2c7423b..a79dc2b6b 100644 --- a/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx +++ b/packages/tokens-studio-for-figma/src/app/hooks/useImportVariables.tsx @@ -3,6 +3,7 @@ import { AsyncMessageChannel } from '@/AsyncMessageChannel'; import { AsyncMessageTypes } from '@/types/AsyncMessages'; import { VariableCollectionInfo, SelectedCollections } from '@/types/VariableCollectionSelection'; import { ThemeObjectsList } from '@/types/ThemeObjectsList'; +import { track } from '@/utils/analytics'; export function useImportVariables() { const [isDialogOpen, setIsDialogOpen] = useState(false); @@ -16,8 +17,7 @@ export function useImportVariables() { const response = await AsyncMessageChannel.ReactInstance.message({ type: AsyncMessageTypes.GET_AVAILABLE_VARIABLE_COLLECTIONS, }); - - console.log('Received collections in hook:', response.collections); + setCollections(response.collections); setIsDialogOpen(true); } catch (error) { @@ -37,9 +37,24 @@ export function useImportVariables() { selectedCollections: SelectedCollections, options: { useDimensions: boolean; useRem: boolean }, themes: ThemeObjectsList, - proUser: boolean + proUser: boolean, ) => { try { + // Calculate analytics data + const selectedCollectionIds = Object.keys(selectedCollections); + const totalSelectedModes = selectedCollectionIds.reduce((count, collectionId) => count + selectedCollections[collectionId].selectedModes.length, 0); + const totalAvailableModes = collections.reduce((count, collection) => count + collection.modes.length, 0); + + // Track analytics + track('Import Variables', { + useDimensions: options.useDimensions, + useRem: options.useRem, + selectedCollections: selectedCollectionIds.length, + totalCollections: collections.length, + selectedModes: totalSelectedModes, + totalModes: totalAvailableModes, + }); + await AsyncMessageChannel.ReactInstance.message({ type: AsyncMessageTypes.PULL_VARIABLES, options: { @@ -54,7 +69,7 @@ export function useImportVariables() { } catch (error) { console.error('Error importing variables:', error); } - }, [closeDialog]); + }, [closeDialog, collections]); return { isDialogOpen, @@ -64,4 +79,4 @@ export function useImportVariables() { closeDialog, importVariables, }; -} \ No newline at end of file +} diff --git a/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx b/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx index f837cfd0b..e83102bc3 100644 --- a/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx +++ b/packages/tokens-studio-for-figma/src/app/store/useTokens.tsx @@ -189,8 +189,6 @@ export default function useTokens() { } }, [confirm]); - - const removeTokensByValue = useCallback((data: RemoveTokensByValueData) => { track('removeTokensByValue', { count: data.length }); diff --git a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts index 4e8e5a5b7..74f2ed3e3 100644 --- a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts +++ b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/__tests__/getAvailableVariableCollections.test.ts @@ -12,7 +12,7 @@ describe('getAvailableVariableCollections', () => { ], }, { - id: 'collection2', + id: 'collection2', name: 'Collection 2', modes: [ { modeId: 'mode3', name: 'Default' }, @@ -51,4 +51,4 @@ describe('getAvailableVariableCollections', () => { consoleSpy.mockRestore(); }); -}); \ No newline at end of file +}); diff --git a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts index a3c870c9e..c1b4ffc82 100644 --- a/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts +++ b/packages/tokens-studio-for-figma/src/plugin/asyncMessageHandlers/getAvailableVariableCollections.ts @@ -8,11 +8,11 @@ export const getAvailableVariableCollections: AsyncMessageChannelHandlers[AsyncM try { const allCollections = await figma.variables.getLocalVariableCollectionsAsync(); console.log('All collections from Figma API:', JSON.stringify(allCollections, null, 2)); - + const collections: VariableCollectionInfo[] = allCollections.map((collection) => { console.log(`Processing collection: ${collection.id}, name: "${collection.name}"`); console.log(`Modes for collection ${collection.name}:`, JSON.stringify(collection.modes, null, 2)); - + return { id: collection.id, name: collection.name || `Collection ${collection.id.slice(0, 8)}`, @@ -29,4 +29,4 @@ export const getAvailableVariableCollections: AsyncMessageChannelHandlers[AsyncM console.error('Error getting variable collections:', error); return { collections: [] }; } -}; \ No newline at end of file +}; diff --git a/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts b/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts index db404f7c3..d6b2de344 100644 --- a/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts +++ b/packages/tokens-studio-for-figma/src/plugin/pullVariables.test.ts @@ -785,10 +785,10 @@ describe('pullStyles', () => { }, }; - await pullVariables({ - useDimensions: false, - useRem: false, - selectedCollections + await pullVariables({ + useDimensions: false, + useRem: false, + selectedCollections, }, [], false); const expectedCall = expect.objectContaining({ @@ -822,9 +822,9 @@ describe('pullStyles', () => { // Should NOT include Light or Custom modes const actualCall = notifyStyleValuesSpy.mock.calls[0][0]; - const lightModeColors = actualCall.colors?.filter(c => c.parent?.includes('/Light')); - const customModeColors = actualCall.colors?.filter(c => c.parent?.includes('/Custom')); - + const lightModeColors = actualCall.colors?.filter((c) => c.parent?.includes('/Light')); + const customModeColors = actualCall.colors?.filter((c) => c.parent?.includes('/Custom')); + expect(lightModeColors).toHaveLength(0); expect(customModeColors).toHaveLength(0); }); @@ -838,10 +838,10 @@ describe('pullStyles', () => { }, }; - await pullVariables({ - useDimensions: false, - useRem: false, - selectedCollections + await pullVariables({ + useDimensions: false, + useRem: false, + selectedCollections, }, [], false); expect(notifyStyleValuesSpy).toHaveBeenCalledWith({}, []); diff --git a/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts b/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts index a0cf4f9fa..bfb705c24 100644 --- a/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts +++ b/packages/tokens-studio-for-figma/src/plugin/pullVariables.ts @@ -64,7 +64,7 @@ export default async function pullVariables(options: PullVariablesOptions, theme continue; // Skip this collection if it's not selected } } - + if (collection) { collections.set(collection.name, collection); } diff --git a/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts b/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts index 6d9f5a03e..8cd97a861 100644 --- a/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts +++ b/packages/tokens-studio-for-figma/src/types/VariableCollectionSelection.ts @@ -12,4 +12,4 @@ export type SelectedCollections = { name: string; selectedModes: string[]; // array of modeIds }; -}; \ No newline at end of file +};